PageSourceSearch

https://cutwise.com/1789029942447/npm.cutwise.27e91cd9220060f589a5.bundle.js

js cutwise.com collected 2026-10-06 02:31:36 UTC 3,514,281 bytes, 2 lines download raw bytes

1(self.webpackChunkcutwise_frontend=self.webpackChunkcutwise_frontend||[]).push([[6332],{52388:function(e,t,l){"use strict";var n,V;l.d(t,{L:function(){return s}}),(V=n||(n={}))[V.Pending=1]="Pending",V[V.Loaded=2]="Loaded",V[V.Failed=3]="Failed";var i=class e{static statuses={};static promises={};static createStyleElement(e,t={}){let l=document.createElement("link");return l=Object.assign(l,t),l.href=e,l.type="text/css",l.rel="stylesheet",document.body.appendChild(l),l}static createScriptElement(e,t={}){let l=document.createElement("script");return l=Object.assign(l,t),l.async=!0,l.src=e,document.body.appendChild(l),l}static load(t,l,V=null,i){if(e.isLoaded(t))return Promise.resolve(t);if(!e.statuses[t]){let a=new Promise(((a,r)=>{let s=null;s="text/css"===l?e.createStyleElement(t,i):e.createScriptElement(t,i),s.onload=()=>{V?.(),a(t)},s.onerror=l=>{e.statuses[t]=n.Failed,r(l)}}));return e.statuses[t]=n.Pending,e.promises[t]=a,a}return e.promises[t]}static isLoaded(t){return e.statuses[t]===n.Loaded}};function a(e,t,l){let n=e,V=l;return n?.endsWith("/")&&(n=n.slice(0,n.length-1)),V?.startsWith("/")&&(V=V.slice(1,V.length)),`${n}/${t}/${V}`}var r=class{base;version;carbonViewer;constructor(e,t,l){this.base=e,this.version=t,this.carbonViewer=l}async createApi(){return await this.carbonViewer.getAPI([{key:"carbonRendererApi.wasm",path:this.getWASMUrl()}])}async create(e){let t=await this.createApi();return new this.carbonViewer({carbonApi:t,...e})}getWASMUrl(){return a(this.base,this.version,"/carbonRendererApi.wasm")}},s=class{base;constructor(e){this.base=e}async loadVersion(e){let t=await this.getCarbonViewerByVersion(e);return new r(this.base,e,t)}async getCarbonViewerByVersion(e){(function(e){return!(!e||"object"!=typeof e||Array.isArray(e))})(window.CARBON_VIEWER_STASH)||(window.CARBON_VIEWER_STASH={});let t=null;return window.CARBON_VIEWER_STASH[e]||(delete window.CarbonViewer,await this.load(e),window.CARBON_VIEWER_STASH[e]=window.CarbonViewer),t=window.CARBON_VIEWER_STASH[e],t}load(e){if(!e)throw new Error(`CarbonViewer version is not defined: ${e}`);return Promise.all([i.load(this.getJSUrl(e),"text/javascript",null,{crossOrigin:"anonymous"}),i.load(this.getCSSUrl(e),"text/css",null,{crossOrigin:"anonymous"})])}getJSUrl(e){return a(this.base,e,"/carbon-viewer.iife.js")}getCSSUrl(e){return a(this.base,e,"/styles.css")}}},83434:function(e,t,l){"use strict";l.d(t,{Gh:function(){return sM},Jr:function(){return uW},Q_:function(){return JW},ch:function(){return EW},nE:function(){return FW},o9:function(){return MW},pp:function(){return bW}});var n=Object.create,V=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,r=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,o=(l(3025),(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports)),h=(e,t,l)=>(l=null!=e?n(r(e)):{},((e,t,l,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))!s.call(e,r)&&r!==l&&V(e,r,{get:()=>t[r],enumerable:!(n=i(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?l:V(l,"default",{value:e,enumerable:!0}),e)),d=o(((e,t)=>{t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],ol
vendor: 4,306 bytes, line 1
1ive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}})),R=o(((e,t)=>{t.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}})),U=o(((e,t)=>{var l=R(),n=Array.prototype.concat,V=Array.prototype.slice,i=t.exports=function(e){for(var t=[],i=0,a=e.length;i<a;i++){var r=e[i];l(r)?t=n.call(t,V.call(r)):t.push(r)}return t};i.wrap=function(e){return function(){return e(i(arguments))}}})),c=o(((e,t)=>{var l=d(),n=U(),V=Object.hasOwnProperty,i=Object.create(null);for(a in l)V.call(l,a)&&(i[l[a]]=a);var a,r=t.exports={to:{},get:{}};function s(e,t,l){return Math.min(Math.max(t,e),l)}function o(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}r.get=function(e){var t,l;switch(e.substring(0,3).toLowerCase()){case"hsl":t=r.get.hsl(e),l="hsl";break;case"hwb":t=r.get.hwb(e),l="hwb";break;default:t=r.get.rgb(e),l="rgb"}return t?{model:l,value:t}:null},r.get.rgb=function(e){if(!e)return null;var t,n,i,a=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(i=t[2],t=t[1],n=0;n<3;n++){var r=2*n;a[n]=parseInt(t.slice(r,r+2),16)}i&&(a[3]=parseInt(i,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(i=(t=t[1])[3],n=0;n<3;n++)a[n]=parseInt(t[n]+t[n],16);i&&(a[3]=parseInt(i+i,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(n=0;n<3;n++)a[n]=parseInt(t[n+1],0);t[4]&&(t[5]?a[3]=.01*parseFloat(t[4]):a[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:V.call(l,t[1])?((a=l[t[1]])[3]=1,a):null:null;for(n=0;n<3;n++)a[n]=Math.round(2.55*parseFloat(t[n+1]));t[4]&&(t[5]?a[3]=.01*parseFloat(t[4]):a[3]=parseFloat(t[4]))}for(n=0;n<3;n++)a[n]=s(a[n],0,255);return a[3]=s(a[3],0,1),a},r.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var l=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,s(parseFloat(t[2]),0,100),s(parseFloat(t[3]),0,100),s(isNaN(l)?1:l,0,1)]}return null},r.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var l=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,s(parseFloat(t[2]),0,100),s(parseFloat(t[3]),0,100),s(isNaN(l)?1:l,0,1)]}return null},r.to.hex=function(){var e=n(arguments);return"#"+o(e[0])+o(e[1])+o(e[2])+(e[3]<1?o(Math.round(255*e[3])):"")},r.to.rgb=function(){var e=n(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},r.to.rgb.percent=function(){var e=n(arguments),t=Math.round(e[0]/255*100),l=Math.round(e[1]/255*100),V=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+l+"%, "+V+"%)":"rgba("+t+"%, "+l+"%, "+V+"%, "+e[3]+")"}
1,r.to.hsl=function(){var e=n(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},r.to.hwb=function(){var e=n(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},r.to.keyword=function(e){return i[e.slice(0,3)]}})),p=o(((e,t)=>{var l=d(),n={};for(let e of Object.keys(l))n[l[e]]=e;var V={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};t.exports=V;for(let e of Object.keys(V)){if(!("channels"in V[e]))throw new Error("missing channels property: "+e);if(!("labels"in V[e]))throw new Error("missing channel labels property: "+e);if(V[e].labels.length!==V[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:l}=V[e];delete V[e].channels,delete V[e].labels,Object.defineProperty(V[e],"channels",{value:t}),Object.defineProperty(V[e],"labels",{value:l})}function i(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}V.rgb.hsl=function(e){let t,l,n=e[0]/255,V=e[1]/255,i=e[2]/255,a=Math.min(n,V,i),r=Math.max(n,V,i),s=r-a;r===a?t=0:n===r?t=(V-i)/s:V===r?t=2+(i-n)/s:i===r&&(t=4+(n-V)/s),t=Math.min(60*t,360),t<0&&(t+=360);let o=(a+r)/2;return l=r===a?0:o<=.5?s/(r+a):s/(2-r-a),[t,100*l,100*o]},V.rgb.hsv=function(e){let t,l,n,V,i,a=e[0]/255,r=e[1]/255,s=e[2]/255,o=Math.max(a,r,s),h=o-Math.min(a,r,s),d=function(e){return(o-e)/6/h+.5};return 0===h?(V=0,i=0):(i=h/o,t=d(a),l=d(r),n=d(s),a===o?V=n-l:r===o?V=1/3+t-n:s===o&&(V=2/3+l-t),V<0?V+=1:V>1&&(V-=1)),[360*V,100*i,100*o]},V.rgb.hwb=function(e){let t=e[0],l=e[1],n=e[2],i=V.rgb.hsl(e)[0],a=1/255*Math.min(t,Math.min(l,n));return n=1-1/255*Math.max(t,Math.max(l,n)),[i,100*a,100*n]},V.rgb.cmyk=function(e){let t=e[0]/255,l=e[1]/255,n=e[2]/255,V=Math.min(1-t,1-l,1-n);return[100*((1-t-V)/(1-V)||0),100*((1-l-V)/(1-V)||0),100*((1-n-V)/(1-V)||0),100*V]},V.rgb.keyword=function(e){let t=n[e];if(t)return t;let V,a=1/0;for(let t of Object.keys(l)){let n=i(e,l[t]);n<a&&(a=n,V=t)}return V},V.keyword.rgb=function(e){return l[e]},V.rgb.xyz=function(e){let t=e[0]/255,l=e[1]/255,n=e[2]/255;return t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,l=l>.04045?((l+.055)/1.055)**2.4:l/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,[100*(.4124*t+.3576*l+.1805*n),100*(.2126*t+.7152*l+.0722*n),100*(.0193*t+.1192*l+.9505*n)]},V.rgb.lab=function(e){let t=V.rgb.xyz(e),l=t[0],n=t[1],i=t[2];return l/=95.047,n/=100,i/=108.883,l=l>.008856?l**(1/3):7.787*l+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,[116*n-16,500*(l-n),200*(n-i)]},V.hsl.rgb=function(e){let t,l,n,V=e[0]/360,i=e[1]/100,a=e[2]/100;if(0===i)return n=255*a,[n,n,n];t=a<.5?a*(1+i):a+i-a*i;let r=2*a-t,s=[0,0,0];for(let e=0;e<3;e++)l=V+1/3*-(e-1),l<0&&l++,l>1&&l--,n=6*l<1?r+6*(t-r)*l:2*l<1?t:3*l<2?r+(t-r)*(2/3-l)*6:r,s[e]=255*n;return s},V.hsl.hsv=function(e){let t=e[0],l=e[1]/100,n=e[2]/100,V=l,i=Math.max(n,.01);return n*=2,l*=n<=1?n:2-n,V*=i<=1?i:2-i,[t,100*(0===n?2*V/(i+V):2*l/(n+l)),100*((n+l)/2)]},V.hsv.rgb=function(e){let t=e[0]/60,l=e[1]/100,n=e[2]/100,V=Math.floor(t)%6,i=t-Math.floor(t),a=255*n*(1-l),r=255*n*(1-l*i),s=255*n*(1-l*(1-i));switch(n*=255,V){case 0:return[n,s,a];case 1:return[r,n,a];case 2:return[a,n,s];case 3:return[a,r,n];case 4:return[s,a,n];case 5:return[n,a,r]}},V.hsv.hsl=function(e){let t,l,n=e[0],V=e[1]/100,i=e[2]/100,a=Math.max(i,.01);l=(2-V)*i;let r=(2-V)*a;return t=V*a,t/=r<=1?r:2-r,t=t||0,l/=2,[n,100*t,100*l]},V.hwb.rgb=function(e){let t,l=e[0]/360,n=e[1]/100,V=e[2]/100,i=n+V;i>1&&(n/=i,V/=i);let a=Math.floor(6*l),r=1-V;t=6*l-a,1&a&&(t=1-t);let s,o,h,d=n+t*(r-n);switch(a){default:case 6:case 0:s=r,o=d,h=n;break;case 1:s=d,o=r,h=n;break;case 2:s=n,o=r,h=d;break;case 3:s=n,o=d,h=r;break;case 4:s=d,o=n,h=r;break;case 5:s=r,o=n,h=d}return[255*s,255*o,255*h]},V.cmyk.rgb=function(e){let t=e[0]/100,l=e[1]/100,n=e[2]/100,V=e[3]/100;return[255*(1-Math.min(1,t*(1-V)+V)),255*(1-Math.min(1,l*(1-V)+V)),255*(1-Math.min(1,n*(1-V)+V))]},V.xyz.rgb=function(e){let t,l,n,V=e[0]/100,i=e[1]/100,a=e[2]/100;return t=3.2406*V+-1.5372*i+-.4986*a,l=-.9689*V+1.8758*i+.0415*a,n=.0557*V+-.204*i+1.057*a,t=t>.0031308?1.055*t**(1/2.4)-.055:12.92*t,l=l>.0031308?1.055*l**(1/2.4)-.055:12.92*l,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,t=Math.min(Math.max(0,t),1),l=Math.min(Math.max(0,l),1),n=Math.min(Math.max(0,n),1),[255*t,255*l,255*n]},V.xyz.lab=function(e){let t=e[0],l=e[1],n=e[2];return t/=95.047,l/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,l=l>.008856?l**(1/3):7.787*l+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,[116*l-16,500*(t-l),200*(l-n)]},V.lab.xyz=function(e){let t,l,n;l=(e[0]+16)/116,t=e[1]/500+l,n=l-e[2]/200;let V=l**3,i=t**3,a=n**3;return l=V>.008856?V:(l-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,n=a>.008856?a:(n-16/116)/7.787,t*=95.047,l*=100,n*=108.883,[t,l,n]},V.lab.lch=function(e){let t,l=e[0],n=e[1],V=e[2];return t=360*Math.atan2(V,n)/2/Math.PI,t<0&&(t+=360),[l,Math.sqrt(n*n+V*V),t]},V.lch.lab=function(e){let t=e[0],l=e[1],n=e[2]/360*2*Math.PI;return[t,l*Math.cos(n),l*Math.sin(n)]},V.rgb.ansi16=function(e,t=null){let[l,n,i]=e,a=null===t?V.rgb.hsv(e)[2]:t;if(a=Math.round(a/50),0===a)return 30;let r=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(l/255));return 2===a&&(r+=60),r},V.hsv.ansi16=function(e){return V.rgb.ansi16(V.hsv.rgb(e),e[2])},V.rgb.ansi256=function(e){let t=e[0],l=e[1],n=e[2];return t===l&&l===n?t<8?16:t>
1248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(l/255*5)+Math.round(n/255*5)},V.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let l=.5*(1+~~(e>50));return[(1&t)*l*255,(t>>1&1)*l*255,(t>>2&1)*l*255]},V.ansi256.rgb=function(e){if(e>=232){let t=10*(e-232)+8;return[t,t,t]}let t;return e-=16,[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},V.rgb.hex=function(e){let t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},V.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let l=t[0];3===t[0].length&&(l=l.split("").map((e=>e+e)).join(""));let n=parseInt(l,16);return[n>>16&255,n>>8&255,255&n]},V.rgb.hcg=function(e){let t,l,n=e[0]/255,V=e[1]/255,i=e[2]/255,a=Math.max(Math.max(n,V),i),r=Math.min(Math.min(n,V),i),s=a-r;return t=s<1?r/(1-s):0,l=s<=0?0:a===n?(V-i)/s%6:a===V?2+(i-n)/s:4+(n-V)/s,l/=6,l%=1,[360*l,100*s,100*t]},V.hsl.hcg=function(e){let t=e[1]/100,l=e[2]/100,n=l<.5?2*t*l:2*t*(1-l),V=0;return n<1&&(V=(l-.5*n)/(1-n)),[e[0],100*n,100*V]},V.hsv.hcg=function(e){let t=e[1]/100,l=e[2]/100,n=t*l,V=0;return n<1&&(V=(l-n)/(1-n)),[e[0],100*n,100*V]},V.hcg.rgb=function(e){let t=e[0]/360,l=e[1]/100,n=e[2]/100;if(0===l)return[255*n,255*n,255*n];let V=[0,0,0],i=t%1*6,a=i%1,r=1-a,s=0;switch(Math.floor(i)){case 0:V[0]=1,V[1]=a,V[2]=0;break;case 1:V[0]=r,V[1]=1,V[2]=0;break;case 2:V[0]=0,V[1]=1,V[2]=a;break;case 3:V[0]=0,V[1]=r,V[2]=1;break;case 4:V[0]=a,V[1]=0,V[2]=1;break;default:V[0]=1,V[1]=0,V[2]=r}return s=(1-l)*n,[255*(l*V[0]+s),255*(l*V[1]+s),255*(l*V[2]+s)]},V.hcg.hsv=function(e){let t=e[1]/100,l=t+e[2]/100*(1-t),n=0;return l>0&&(n=t/l),[e[0],100*n,100*l]},V.hcg.hsl=function(e){let t=e[1]/100,l=e[2]/100*(1-t)+.5*t,n=0;return l>0&&l<.5?n=t/(2*l):l>=.5&&l<1&&(n=t/(2*(1-l))),[e[0],100*n,100*l]},V.hcg.hwb=function(e){let t=e[1]/100,l=t+e[2]/100*(1-t);return[e[0],100*(l-t),100*(1-l)]},V.hwb.hcg=function(e){let t=e[1]/100,l=1-e[2]/100,n=l-t,V=0;return n<1&&(V=(l-n)/(1-n)),[e[0],100*n,100*V]},V.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},V.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},V.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},V.gray.hsl=function(e){return[0,0,e[0]]},V.gray.hsv=V.gray.hsl,V.gray.hwb=function(e){return[0,100,e[0]]},V.gray.cmyk=function(e){return[0,0,0,e[0]]},V.gray.lab=function(e){return[e[0],0,0]},V.gray.hex=function(e){let t=255&Math.round(e[0]/100*255),l=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(l.length)+l},V.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}})),Z=o(((e,t)=>{var l=p();function n(e){let t=function(){let e={},t=Object.keys(l);for(let l=t.length,n=0;n<l;n++)e[t[n]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;){let e=n.pop(),V=Object.keys(l[e]);for(let l=V.length,i=0;i<l;i++){let l=V[i],a=t[l];-1===a.distance&&(a.distance=t[e].distance+1,a.parent=e,n.unshift(l))}}return t}function V(e,t){return function(l){return t(e(l))}}function i(e,t){let n=[t[e].parent,e],i=l[t[e].parent][e],a=t[e].parent;for(;t[a].parent;)n.unshift(t[a].parent),i=V(l[t[a].parent][a],i),a=t[a].parent;return i.conversion=n,i}t.exports=function(e){let t=n(e),l={},V=Object.keys(t);for(let e=V.length,n=0;n<e;n++){let e=V[n];null!==t[e].parent&&(l[e]=i(e,t))}return l}})),W=o(((e,t)=>{var l=p(),n=Z(),V={};Object.keys(l).forEach((e=>{V[e]={},Object.defineProperty(V[e],"channels",{value:l[e].channels}),Object.defineProperty(V[e],"labels",{value:l[e].labels});let t=n(e);Object.keys(t).forEach((l=>{let n=t[l];V[e][l]=function(e){let t=function(...t){let l=t[0];if(null==l)return l;l.length>1&&(t=l);let n=e(t);if("object"==typeof n)for(let e=n.length,t=0;t<e;t++)n[t]=Math.round(n[t]);return n};return"conversion"in e&&(t.conversion=e.conversion),t}(n),V[e][l].raw=function(e){let t=function(...t){let l=t[0];return null==l?l:(l.length>1&&(t=l),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(n)}))})),t.exports=V})),m=o(((e,t)=>{var l=c(),n=W(),V=["keyword","gray","hex"],i={};for(let e of Object.keys(n))i[[...n[e].labels].sort().join("")]=e;var a={};function r(e,t){if(!(this instanceof r))return new r(e,t);if(t&&t in V&&(t=null),t&&!(t in n))throw new Error("Unknown model: "+t);let s,o;
1if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof r)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if("string"==typeof e){let t=l.get(e);if(null===t)throw new Error("Unable to parse color from string: "+e);this.model=t.model,o=n[this.model].channels,this.color=t.value.slice(0,o),this.valpha="number"==typeof t.value[o]?t.value[o]:1}else if(e.length>0){this.model=t||"rgb",o=n[this.model].channels;let l=Array.prototype.slice.call(e,0,o);this.color=R(l,o),this.valpha="number"==typeof e[o]?e[o]:1}else if("number"==typeof e)this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;let t=Object.keys(e);"alpha"in e&&(t.splice(t.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);let l=t.sort().join("");if(!(l in i))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=i[l];let{labels:V}=n[this.model],a=[];for(s=0;s<V.length;s++)a.push(e[V[s]]);this.color=R(a)}if(a[this.model])for(o=n[this.model].channels,s=0;s<o;s++){let e=a[this.model][s];e&&(this.color[s]=e(this.color[s]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}r.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in l.to?this:this.rgb();t=t.round("number"==typeof e?e:1);let n=1===t.valpha?t.color:[...t.color,this.valpha];return l.to[t.model](n)},percentString(e){let t=this.rgb().round("number"==typeof e?e:1),n=1===t.valpha?t.color:[...t.color,this.valpha];return l.to.rgb.percent(n)},array(){return 1===this.valpha?[...this.color]:[...this.color,this.valpha]},object(){let e={},{channels:t}=n[this.model],{labels:l}=n[this.model];for(let n=0;n<t;n++)e[l[n]]=this.color[n];return 1!==this.valpha&&(e.alpha=this.valpha),e},unitArray(){let e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,1!==this.valpha&&e.push(this.valpha),e},unitObject(){let e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,1!==this.valpha&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new r([...this.color.map(s(e)),this.valpha],this.model)},alpha(e){return void 0!==e?new r([...this.color,Math.max(0,Math.min(1,e))],this.model):this.valpha},red:o("rgb",0,h(255)),green:o("rgb",1,h(255)),blue:o("rgb",2,h(255)),hue:o(["hsl","hsv","hsl","hwb","hcg"],0,(e=>(e%360+360)%360)),saturationl:o("hsl",1,h(100)),lightness:o("hsl",2,h(100)),saturationv:o("hsv",1,h(100)),value:o("hsv",2,h(100)),chroma:o("hcg",1,h(100)),gray:o("hcg",2,h(100)),white:o("hwb",1,h(100)),wblack:o("hwb",2,h(100)),cyan:o("cmyk",0,h(100)),magenta:o("cmyk",1,h(100)),yellow:o("cmyk",2,h(100)),black:o("cmyk",3,h(100)),x:o("xyz",0,h(95.047)),y:o("xyz",1,h(100)),z:o("xyz",2,h(108.833)),l:o("lab",0,h(100)),a:o("lab",1),b:o("lab",2),keyword(e){return void 0!==e?new r(e):n[this.model].keyword(this.color)},hex(e){return void 0!==e?new r(e):l.to.hex(this.rgb().round().color)},hexa(e){if(void 0!==e)return new r(e);let t=this.rgb().round().color,n=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===n.length&&(n="0"+n),l.to.hex(t)+n},rgbNumber(){let e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity(){let e=this.rgb().color,t=[];for(let[l,n]of e.entries()){let e=n/255;t[l]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){let t=this.luminosity(),l=e.luminosity();return t>l?(t+.05)/(l+.05):(l+.05)/(t+.05)},level(e){let t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){let e=this.rgb().color;return(2126*e[0]+7152*e[1]+722*e[2])/1e4<128},isLight(){return!this.isDark()},negate(){let e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){let t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){let t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){let t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){let t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){let t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){let t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){let e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return r.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){let t=this.hsl(),l=t.color[0];return l=(l+e)%360,l=l<0?360+l:l,t.color[0]=l,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);let l=e.rgb(),n=this.rgb(),V=void 0===t?.5:t,i=2*V-1,a=l.alpha()-n.alpha(),s=((i*a==-1?i:(i+a)/(1+i*a))+1)/2,o=1-s;return r.rgb(s*l.red()+o*n.red(),s*l.green()+o*n.green(),s*l.blue()+o*n.blue(),l.alpha()*V+n.alpha()*(1-V))}};for(let e of Object.keys(n)){if(V.includes(e))continue;let{channels:t}=n[e];r.prototype[e]=function(...t){return this.model===e?new r(this):t.length>0?new r(t,e):new r([...d(n[this.model][e].raw(this.color)),this.valpha],e)},r[e]=function(...l){let n=l[0];return"number"==typeof n&&(n=R(l,t)),new r(n,e)}}function s(e){return function(t){return function(e,t){return Number(e.toFixed(t))}(t,e)}}function o(e,t,l){e=Array.isArray(e)?e:[e];for(let n of e)(a[n]||(a[n]=[]))[t]=l;return e=e[0],function(n){let V;return void 0!==n?(l&&(n=l(n)),V=this[e](),V.color[t]=n,V):(V=this[e]().color[t],l&&(V=l(V)),V)}}function h(e){return function(t){return Math.max(0,Math.min(e,t))}}function d(e){return Array.isArray(e)?e:[e]}function R(e,t){for(let l=0;l<t;l++)"number"!=typeof e[l]&&(e[l]=0);return e}t.exports=r})),F=o(((e,t)=>{var n,V;n=e,V=function(){var e=function(){function t(e){return V.appendChild(e.dom),e}function l(e){for(var t=0;t<V.children.length;t++)V.children[t].style.display=t===e?"block":"none";n=e}var n=0,V=document.createElement("div");V.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",V.addEventListener("click",(function(e){e.preventDefault(),l(++n%V.children.length)}),!1);var i=(performance||Date).now(),a=i,r=0,s=t(new e.Panel("FPS","#0ff","#002")),o=t(new e.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var h=t(new e.Panel("MB","#f08","#201"));return l(0),{REVISION:16,dom:V,addPanel:t,showPanel:l,begin:function(){i=(performance||Date).now()},end:function(){r++;var e=(performance||Date).now();if(o.update(e-i,200),e>a+1e3&&(s.update(1e3*r/(e-a),100),a=e,r=0,h)){var t=performance.memory;h.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){i=this.end()},domElement:V,setMode:l}}
1;return e.Panel=function(e,t,l){var n=1/0,V=0,i=Math.round,a=i(window.devicePixelRatio||1),r=80*a,s=48*a,o=3*a,h=2*a,d=3*a,R=15*a,U=74*a,c=30*a,p=document.createElement("canvas");p.width=r,p.height=s,p.style.cssText="width:80px;height:48px";var Z=p.getContext("2d");return Z.font="bold "+9*a+"px Helvetica,Arial,sans-serif",Z.textBaseline="top",Z.fillStyle=l,Z.fillRect(0,0,r,s),Z.fillStyle=t,Z.fillText(e,o,h),Z.fillRect(d,R,U,c),Z.fillStyle=l,Z.globalAlpha=.9,Z.fillRect(d,R,U,c),{dom:p,update:function(s,W){n=Math.min(n,s),V=Math.max(V,s),Z.fillStyle=l,Z.globalAlpha=1,Z.fillRect(0,0,r,R),Z.fillStyle=t,Z.fillText(i(s)+" "+e+" ("+i(n)+"-"+i(V)+")",o,h),Z.drawImage(p,d+a,R,U-a,c,d,R,U-a,c),Z.fillRect(d+U-a,R,a,c),Z.fillStyle=l,Z.globalAlpha=.9,Z.fillRect(d+U-a,R,a,i((1-s/W)*c))}}},e},"object"==typeof e&&typeof t<"u"?t.exports=V():"function"==typeof define&&l.amdO?define(V):n.Stats=V()})),N=o(((e,t)=>{var n,V;n=e,V=function(e){class t{constructor(e){this.controller_=e}get element(){return this.controller_.view.element}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(e){this.controller_.viewProps.set("disabled",e)}get hidden(){return this.controller_.viewProps.get("hidden")}set hidden(e){this.controller_.viewProps.set("hidden",e)}dispose(){this.controller_.viewProps.set("disposed",!0)}}class l{constructor(e){this.target=e}}class n extends l{constructor(e,t,l,n){super(e),this.value=t,this.presetKey=l,this.last=n??!0}}class V extends l{constructor(e,t,l){super(e),this.value=t,this.presetKey=l}}class i extends l{constructor(e,t){super(e),this.expanded=t}}class a extends l{constructor(e,t){super(e),this.index=t}}function r(e){return null==e}function s(e,t){if(e.length!==t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function o(e,t){let l=e;do{let e=Object.getOwnPropertyDescriptor(l,t);if(e&&(void 0!==e.set||!0===e.writable))return!0;l=Object.getPrototypeOf(l)}while(null!==l);return!1}let h={alreadydisposed:()=>"View has been already disposed",invalidparams:e=>`Invalid parameters for '${e.name}'`,nomatchingcontroller:e=>`No matching controller for '${e.key}'`,nomatchingview:e=>`No matching view for '${JSON.stringify(e.params)}'`,notbindable:()=>"Value is not bindable",propertynotfound:e=>`Property '${e.name}' not found`,shouldneverhappen:()=>"This error should never happen"};class d{static alreadyDisposed(){return new d({type:"alreadydisposed"})}static notBindable(){return new d({type:"notbindable"})}static propertyNotFound(e){return new d({type:"propertynotfound",context:{name:e}})}static shouldNeverHappen(){return new d({type:"shouldneverhappen"})}constructor(e){var t;this.message=null!==(t=h[e.type](e.context))&&void 0!==t?t:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=e.type}}class R{constructor(e,t,l){this.obj_=e,this.key_=t,this.presetKey_=l??t}static isBindable(e){return!(null===e||"object"!=typeof e&&"function"!=typeof e)}get key(){return this.key_}get presetKey(){return this.presetKey_}read(){return this.obj_[this.key_]}write(e){this.obj_[this.key_]=e}writeProperty(e,t){let l=this.read();if(!R.isBindable(l))throw d.notBindable();if(!(e in l))throw d.propertyNotFound(e);l[e]=t}}class U extends t{get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}get title(){var e;return null!==(e=this.controller_.valueController.props.get("title"))&&void 0!==e?e:""}set title(e){this.controller_.valueController.props.set("title",e)}on(e,t){let n=t.bind(this);return this.controller_.valueController.emitter.on(e,(()=>{n(new l(this))})),this}}class c{constructor(){this.observers_={}}on(e,t){let l=this.observers_[e];return l||(l=this.observers_[e]=[]),l.push({handler:t}),this}off(e,t){let l=this.observers_[e];return l&&(this.observers_[e]=l.filter((e=>e.handler!==t))),this}emit(e,t){let l=this.observers_[e];l&&l.forEach((e=>{e.handler(t)}))}}let p="tp";function Z(e){return(t,l)=>[p,"-",e,"v",t?`_${t}`:"",l?`-${l}`:""].join("")}function W(e){return e.rawValue}function m(e,t){e.emitter.on("change",function(e,t){return l=>t(e(l))}(W,t)),t(e.rawValue)}function F(e,t,l){m(e.value(t),l)}function N(e,t){return l=>{!function(e,t,l){l?e.classList.add(t):e.classList.remove(t)}(e,t,l)}}function u(e,t){m(e,(e=>{t.textContent=e??""}))}let E=Z("btn");class b{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(E()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("button");l.classList.add(E("b")),t.viewProps.bindDisabled(l),this.element.appendChild(l),this.buttonElement=l;let n=e.createElement("div");n.classList.add(E("t")),u(t.props.value("title"),n),this.buttonElement.appendChild(n)}}class S{constructor(e,t){this.emitter=new c,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new b(e,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class J{constructor(e,t){var l;this.constraint_=t?.constraint,this.equals_=null!==(l=t?.equals)&&void 0!==l?l:(e,t)=>
1e===t,this.emitter=new c,this.rawValue_=e}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){let l=t??{forceEmit:!1,last:!0},n=this.constraint_?this.constraint_.constrain(e):e,V=this.rawValue_;this.equals_(V,n)&&!l.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=n,this.emitter.emit("change",{options:l,previousRawValue:V,rawValue:n,sender:this}))}}class T{constructor(e){this.emitter=new c,this.value_=e}get rawValue(){return this.value_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){let l=t??{forceEmit:!1,last:!0},n=this.value_;n===e&&!l.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=e,this.emitter.emit("change",{options:l,previousRawValue:n,rawValue:this.value_,sender:this}))}}function G(e,t){let l=t?.constraint,n=t?.equals;return l||n?new J(e,t):new T(e)}class M{constructor(e){this.emitter=new c,this.valMap_=e;for(let e in this.valMap_)this.valMap_[e].emitter.on("change",(()=>{this.emitter.emit("change",{key:e,sender:this})}))}static createCore(e){return Object.keys(e).reduce(((t,l)=>Object.assign(t,{[l]:G(e[l])})),{})}static fromObject(e){let t=this.createCore(e);return new M(t)}get(e){return this.valMap_[e].rawValue}set(e,t){this.valMap_[e].rawValue=t}value(e){return this.valMap_[e]}}function k(e){return t=>l=>{if(!t&&void 0===l)return{succeeded:!1,value:void 0};if(t&&void 0===l)return{succeeded:!0,value:void 0};let n=e(l);return void 0!==n?{succeeded:!0,value:n}:{succeeded:!1,value:void 0}}}function Y(e){return{custom:t=>k(t)(e),boolean:k((e=>"boolean"==typeof e?e:void 0))(e),number:k((e=>"number"==typeof e?e:void 0))(e),string:k((e=>"string"==typeof e?e:void 0))(e),function:k((e=>"function"==typeof e?e:void 0))(e),constant:t=>k((e=>e===t?t:void 0))(e),raw:k((e=>e))(e),object:t=>k((e=>{if(function(e){return null!==e&&"object"==typeof e}(e))return function(e,t){return Object.keys(t).reduce(((l,n)=>{if(void 0===l)return;let V=(0,t[n])(e[n]);return V.succeeded?Object.assign(Object.assign({},l),{[n]:V.value}):void 0}),{})}(e,t)}))(e),array:t=>k((e=>{if(Array.isArray(e))return function(e,t){return e.reduce(((e,l)=>{if(void 0===e)return;let n=t(l);return n.succeeded&&void 0!==n.value?[...e,n.value]:void 0}),[])}(e,t)}))(e)}}let x={optional:Y(!0),required:Y(!1)};function Q(e,t){let l=x.required.object(t)(e);return l.succeeded?l.value:void 0}function X(e){console.warn([`Missing '${e.key}' of ${e.target} in ${e.place}.`,"Please rebuild plugins with the latest core package."].join(" "))}class w{constructor(e){this.value_=e}static create(e){return[new w(e),(t,l)=>{e.setRawValue(t,l)}]}get emitter(){return this.value_.emitter}get rawValue(){return this.value_.rawValue}}let f=Z("");function z(e,t){return N(e,f(void 0,t))}class y extends M{constructor(e){var t;super(e),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=w.create(G(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(e){var t,l,n;let V=e??{};return new y(M.createCore({disabled:null!==(t=V.disabled)&&void 0!==t&&t,disposed:!1,hidden:null!==(l=V.hidden)&&void 0!==l&&l,parent:null!==(n=V.parent)&&void 0!==n?n:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(e){m(this.globalDisabled_,z(e,"disabled")),F(this,"hidden",z(e,"hidden"))}bindDisabled(e){m(this.globalDisabled_,(t=>{e.disabled=t}))}bindTabIndex(e){m(this.globalDisabled_,(t=>{e.tabIndex=t?-1:0}))}handleDispose(e){this.value("disposed").emitter.on("change",(t=>{t&&e()}))}getGlobalDisabled_(){let e=this.get("parent");return!!e&&e.globalDisabled.rawValue||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(e){var t;let l=e.previousRawValue;l?.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}let C=Z(""),j={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};class g{constructor(e){this.parent_=null,this.blade=e.blade,this.view=e.view,this.viewProps=e.viewProps;let t=this.view.element;this.blade.value("positions").emitter.on("change",(()=>{["veryfirst","first","last","verylast"].forEach((e=>{t.classList.remove(C(void 0,j[e]))})),this.blade.get("positions").forEach((e=>{t.classList.add(C(void 0,j[e]))}))})),this.viewProps.handleDispose((()=>{var e;(e=t)&&e.parentElement&&e.parentElement.removeChild(e)}))}get parent(){return this.parent_}set parent(e){this.parent_=e,"parent"in this.viewProps.valMap_?this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null):X({key:"parent",target:y.name,place:"BladeController.parent"})}}let B="http://www.w3.org/2000/svg";function H(e){e.offsetHeight}function v(e){return void 0!==e.ontouchstart}function I(){return globalThis.document}let D={check:'<path d="M2 8l4 4l8 -8"/>',dropdown:'<path d="M5 7h6l-3 3 z"/>',p2dpad:'<path d="M8 4v8"/><path d="M4 8h8"/><circle cx="12" cy="12" r="1.2"/>'};function O(e,t){let l=e.createElementNS(B,"svg");return l.innerHTML=D[t],l}function _(e,t,l){e.insertBefore(t,e.children[l])}function L(e){e.parentElement&&e.parentElement.removeChild(e)}function K(e){for(;e.children.length>0;)e.removeChild(e.children[0])}function P(e){return e.relatedTarget?e.relatedTarget:"explicitOriginalTarget"
1in e?e.explicitOriginalTarget:null}let A=Z("lbl");class q{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(A()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(A("l")),F(t.props,"label",(t=>{r(t)?this.element.classList.add(A(void 0,"nol")):(this.element.classList.remove(A(void 0,"nol")),function(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])}(l),l.appendChild(function(e,t){let l=e.createDocumentFragment();return t.split("\n").map((t=>e.createTextNode(t))).forEach(((t,n)=>{n>0&&l.appendChild(e.createElement("br")),l.appendChild(t)})),l}(e,t)))})),this.element.appendChild(l),this.labelElement=l;let n=e.createElement("div");n.classList.add(A("v")),this.element.appendChild(n),this.valueElement=n}}class $ extends g{constructor(e,t){let l=t.valueController.viewProps;super(Object.assign(Object.assign({},t),{view:new q(e,{props:t.props,viewProps:l}),viewProps:l})),this.props=t.props,this.valueController=t.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}}let ee={id:"button",type:"blade",accept(e){let t=x,l=Q(e,{title:t.required.string,view:t.required.constant("button"),label:t.optional.string});return l?{params:l}:null},controller(e){return new $(e.document,{blade:e.blade,props:M.fromObject({label:e.params.label}),valueController:new S(e.document,{props:M.fromObject({title:e.params.title}),viewProps:e.viewProps})})},api(e){return e.controller instanceof $&&e.controller.valueController instanceof S?new U(e.controller):null}};class te extends g{constructor(e){super(e),this.value=e.value}}function le(){return new M({positions:G([],{equals:s})})}class ne extends M{constructor(e){super(e)}static create(e){let t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},l=M.createCore(t);return new ne(l)}get styleExpanded(){var e;return null!==(e=this.get("temporaryExpanded"))&&void 0!==e?e:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";let e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!r(e)?`${e}px`:"auto"}bindExpandedClass(e,t){let l=()=>{this.styleExpanded?e.classList.add(t):e.classList.remove(t)};F(this,"expanded",l),F(this,"temporaryExpanded",l)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}function Ve(e,t){t.style.height=e.styleHeight}function ie(e,t){e.value("expanded").emitter.on("beforechange",(()=>{if(e.set("completed",!1),r(e.get("expandedHeight"))){let l=function(e,t){let l=0;return function(e,t){let l=e.style.transition;e.style.transition="none",t(),e.style.transition=l}(t,(()=>{e.set("expandedHeight",null),e.set("temporaryExpanded",!0),H(t),l=t.clientHeight,e.set("temporaryExpanded",null),H(t)})),l}(e,t);l>0&&e.set("expandedHeight",l)}e.set("shouldFixHeight",!0),H(t)})),e.emitter.on("change",(()=>{Ve(e,t)})),Ve(e,t),t.addEventListener("transitionend",(t=>{"height"===t.propertyName&&e.cleanUpTransition()}))}class ae extends t{constructor(e,t){super(e),this.rackApi_=t}}class re{constructor(e){this.emitter=new c,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=e}get items(){return this.items_}allItems(){return Array.from(this.cache_)}find(e){for(let t of this.allItems())if(e(t))return t;return null}includes(e){return this.cache_.has(e)}add(e,t){if(this.includes(e))throw d.shouldNeverHappen();let l=void 0!==t?t:this.items_.length;this.items_.splice(l,0,e),this.cache_.add(e);let n=this.extract_(e);n&&(n.emitter.on("add",this.onSubListAdd_),n.emitter.on("remove",this.onSubListRemove_),n.allItems().forEac
1h((e=>{this.cache_.add(e)}))),this.emitter.emit("add",{index:l,item:e,root:this,target:this})}remove(e){let t=this.items_.indexOf(e);if(t<0)return;this.items_.splice(t,1),this.cache_.delete(e);let l=this.extract_(e);l&&(l.emitter.off("add",this.onSubListAdd_),l.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:t,item:e,root:this,target:this})}onSubListAdd_(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})}onSubListRemove_(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})}}class se extends t{constructor(e){super(e),this.onBindingChange_=this.onBindingChange_.bind(this),this.emitter_=new c,this.controller_.binding.emitter.on("change",this.onBindingChange_)}get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}refresh(){this.controller_.binding.read()}onBindingChange_(e){let t=e.sender.target.read();this.emitter_.emit("change",{event:new n(this,t,this.controller_.binding.target.presetKey,e.options.last)})}}class oe extends ${constructor(e,t){super(e,t),this.binding=t.binding}}class he extends t{constructor(e){super(e),this.onBindingUpdate_=this.onBindingUpdate_.bind(this),this.emitter_=new c,this.controller_.binding.emitter.on("update",this.onBindingUpdate_)}get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}refresh(){this.controller_.binding.read()}onBindingUpdate_(e){let t=e.sender.target.read();this.emitter_.emit("update",{event:new V(this,t,this.controller_.binding.target.presetKey)})}}class de extends ${constructor(e,t){super(e,t),this.binding=t.binding,this.viewProps.bindDisabled(this.binding.ticker),this.viewProps.handleDispose((()=>{this.binding.dispose()}))}}function Re(e){return e instanceof pe?e.apiSet_:e instanceof ae?e.rackApi_.apiSet_:null}function Ue(e,t){let l=e.find((e=>e.controller_===t));if(!l)throw d.shouldNeverHappen();return l}function ce(e,t,l){if(!R.isBindable(e))throw d.notBindable();return new R(e,t,l)}class pe extends t{constructor(e,t){super(e),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this),this.onRackInputChange_=this.onRackInputChange_.bind(this),this.onRackMonitorUpdate_=this.onRackMonitorUpdate_.bind(this),this.emitter_=new c,this.apiSet_=new re(Re),this.pool_=t;let l=this.controller_.rack;l.emitter.on("add",this.onRackAdd_),l.emitter.on("remove",this.onRackRemove_),l.emitter.on("inputchange",this.onRackInputChange_),l.emitter.on("monitorupdate",this.onRackMonitorUpdate_),l.children.forEach((e=>{this.setUpApi_(e)}))}get children(){return this.controller_.rack.children.map((e=>Ue(this.apiSet_,e)))}addInput(e,t,l){let n=l??{},V=this.controller_.view.element.ownerDocument,i=this.pool_.createInput(V,ce(e,t,n.presetKey),n),a=new se(i);return this.add(a,n.index)}addMonitor(e,t,l){let n=l??{},V=this.controller_.view.element.ownerDocument,i=this.pool_.createMonitor(V,ce(e,t),n),a=new he(i);return this.add(a,n.index)}addFolder(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"folder"}))}(this,e)}addButton(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"button"}))}(this,e)}addSeparator(e){return function(e,t){let l=t??{};return e.addBlade(Object.assign(Object.assign({},l),{view:"separator"}))}(this,e)}addTab(e){return function(e,t){return e.addBlade(Object.assign(Object.assign({},t),{view:"tab"}))}(this,e)}add(e,t){this.controller_.rack.add(e.controller_,t);let l=this.apiSet_.find((t=>t.controller_===e.controller_));return l&&this.apiSet_.remove(l),this.apiSet_.add(e),e}remove(e){this.controller_.rack.remove(e.controller_)}addBlade(e){let t=this.controller_.view.element.ownerDocument,l=this.pool_.createBlade(t,e),n=this.pool_.createBladeApi(l);return this.add(n,e.index)}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}setUpApi_(e){this.apiSet_.find((t=>t.controller_===e))||this.apiSet_.add(this.pool_.createBladeApi(e))}onRackAdd_(e){this.setUpApi_(e.bladeController)}onRackRemove_(e){if(e.isRoot){let t=Ue(this.apiSet_,e.bladeController);this.apiSet_.remove(t)}}onRackInputChange_(e){let t=e.bladeController;if(t instanceof oe){let l=Ue(this.apiSet_,t),V=t.binding;this.emitter_.emit("change",{event:new n(l,V.target.read(),V.target.presetKey,e.options.last)})}else if(t instanceof te){let l=Ue(this.apiSet_,t);this.emitter_.emit("change",{event:new n(l,t.value.rawValue,void 0,e.o
1ptions.last)})}}onRackMonitorUpdate_(e){if(!(e.bladeController instanceof de))throw d.shouldNeverHappen();let t=Ue(this.apiSet_,e.bladeController),l=e.bladeController.binding;this.emitter_.emit("update",{event:new V(t,l.target.read(),l.target.presetKey)})}}class Ze extends ae{constructor(e,t){super(e,new pe(e.rackController,t)),this.emitter_=new c,this.controller_.foldable.value("expanded").emitter.on("change",(e=>{this.emitter_.emit("fold",{event:new i(this,e.sender.rawValue)})})),this.rackApi_.on("change",(e=>{this.emitter_.emit("change",{event:e})})),this.rackApi_.on("update",(e=>{this.emitter_.emit("update",{event:e})}))}get expanded(){return this.controller_.foldable.get("expanded")}set expanded(e){this.controller_.foldable.set("expanded",e)}get title(){return this.controller_.props.get("title")}set title(e){this.controller_.props.set("title",e)}get children(){return this.rackApi_.children}addInput(e,t,l){return this.rackApi_.addInput(e,t,l)}addMonitor(e,t,l){return this.rackApi_.addMonitor(e,t,l)}addFolder(e){return this.rackApi_.addFolder(e)}addButton(e){return this.rackApi_.addButton(e)}addSeparator(e){return this.rackApi_.addSeparator(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){return this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}addBlade(e){return this.rackApi_.addBlade(e)}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}}class We extends g{constructor(e){super({blade:e.blade,view:e.view,viewProps:e.rackController.viewProps}),this.rackController=e.rackController}}class me{constructor(e,t){let l=Z(t.viewName);this.element=e.createElement("div"),this.element.classList.add(l()),t.viewProps.bindClassModifiers(this.element)}}function Fe(e){return e instanceof Ee?e.rack:e instanceof We?e.rackController.rack:null}function Ne(e){let t=Fe(e);return t?t.bcSet_:null}class ue{constructor(e){var t,l;this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildInputChange_=this.onChildInputChange_.bind(this),this.onChildMonitorUpdate_=this.onChildMonitorUpdate_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onDescendantLayout_=this.onDescendantLayout_.bind(this),this.onDescendantInputChange_=this.onDescendantInputChange_.bind(this),this.onDescendantMonitorUpdate_=this.onDescendantMonitorUpdate_.bind(this),this.emitter=new c,this.blade_=null!==(t=e.blade)&&void 0!==t?t:null,null===(l=this.blade_)||void 0===l||l.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=e.viewProps,this.bcSet_=ne
1w re(Ne),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}get children(){return this.bcSet_.items}add(e,t){var l;null===(l=e.parent)||void 0===l||l.remove(e),o(e,"parent")?e.parent=this:(e.parent_=this,X({key:"parent",target:"BladeController",place:"BladeRack.add"})),this.bcSet_.add(e,t)}remove(e){o(e,"parent")?e.parent=null:(e.parent_=null,X({key:"parent",target:"BladeController",place:"BladeRack.remove"})),this.bcSet_.remove(e)}find(e){return this.bcSet_.allItems().filter((t=>t instanceof e))}onSetAdd_(e){this.updatePositions_();let t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,isRoot:t,sender:this}),!t)return;let l=e.item;if(l.viewProps.emitter.on("change",this.onChildViewPropsChange_),l.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),l.viewProps.handleDispose(this.onChildDispose_),l instanceof oe)l.binding.emitter.on("change",this.onChildInputChange_);else if(l instanceof de)l.binding.emitter.on("update",this.onChildMonitorUpdate_);else if(l instanceof te)l.value.emitter.on("change",this.onChildValueChange_);else{let e=Fe(l);if(e){let t=e.emitter;t.on("layout",this.onDescendantLayout_),t.on("inputchange",this.onDescendantInputChange_),t.on("monitorupdate",this.onDescendantMonitorUpdate_)}}}onSetRemove_(e){this.updatePositions_();let t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,isRoot:t,sender:this}),!t)return;let l=e.item;if(l instanceof oe)l.binding.emitter.off("change",this.onChildInputChange_);else if(l instanceof de)l.binding.emitter.off("update",this.onChildMonitorUpdate_);else if(l instanceof te)l.value.emitter.off("change",this.onChildValueChange_);else{let e=Fe(l);if(e){let t=e.emitter;t.off("layout",this.onDescendantLayout_),t.off("inputchange",this.onDescendantInputChange_),t.off("monitorupdate",this.onDescendantMonitorUpdate_)}}}updatePositions_(){let e=this.bcSet_.items.filter((e=>!e.viewProps.get("hidden"))),t=e[0],l=e[e.length-1];this.bcSet_.items.forEach((e=>{let n=[];e===t&&(n.push("first"),(!this.blade_||this.blade_.get("positions").includes("veryfirst"))&&n.push("veryfirst")),e===l&&(n.push("last"),(!this.blade_||this.blade_.get("positions").includes("verylast"))&&n.push("verylast")),e.blade.set("positions",n)}))}onChildPositionsChange_(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildViewPropsChange_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onChildDispose_(){this.bcSet_.items.filter((e=>e.viewProps.get("disposed"))).forEach((e=>{this.bcSet_.remove(e)}))}onChildInputChange_(e){let t=function(e,t){for(let l=0;l<e.length;l++){let n=e[l];if(n instanceof oe&&n.binding===t)return n}return null}(this.find(oe),e.sender);if(!t)throw d.alreadyDisposed();this.emitter.emit("inputchange",{bladeController:t,options:e.options,sender:this})}onChildMonitorUpdate_(e){let t=function(e,t){for(let l=0;l<e.length;l++){let n=e[l];if(n instanceof de&&n.binding===t)return n}return null}(this.find(de),e.sender);if(!t)throw d.alreadyDisposed();this.emitter.emit("monitorupdate",{bladeController:t,sender:this})}onChildValueChange_(e){let t=function(e,t){for(let l=0;l<e.length;l++){let n=e[l];if(n instanceof te&&n.value===t)return n}return null}(this.find(te),e.sender);if(!t)throw d.alreadyDisposed();this.emitter.emit("inputchange",{bladeController:t,options:e.options,sender:this})}onDescendantLayout_(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})}onDescendantInputChange_(e){this.emitter.emit("inputchange",{bladeController:e.bladeController,options:e.options,sender:this})}onDescendantMonitorUpdate_(e){this.emitter.emit("monitorupdate",{bladeController:e.bladeController,sender:this})}onBladePositionsChange_(){this.updatePositions_()}}class Ee extends g{constructor(e,t){super(Object.assign(Object.assign({},t),{view:new me(e,{viewName:"brk",viewProps:t.viewProps})})),this.onRackAdd_=this.onRackAdd_.bind(this),this.onRackRemove_=this.onRackRemove_.bind(this);let l=new ue({blade:t.root?void 0:t.blade,viewProps:t.viewProps});l.emitter.on("add",this.onRackAdd_),l.emitter.on("remove",this.onRackRemove_),this.rack=l,this.viewProps.handleDispose((()=>{for(let e=this.rack.children.length-1;e>=0;e--)this.rack.children[e].viewProps.set("disposed",!0)}))}onRackAdd_(e){e.isRoot&&_(this.view.element,e.bladeController.view.element,e.index)}onRackRemove_(e){e.isRoot&&L(e.bladeController.view.element)}}let be=Z("cnt");class Se{constructor(e,t){var l;this.className_=Z(null!==(l=t.viewName)&&void 0!==l?l:"fld"),this.element=e.createElement("div"),this.element.classList.add(this.className_(),be()),t.viewProps.bindClassModifiers(this.element),this.foldable_=t.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),F(this.foldable_,"completed",N(this.element,this.className_(void 0,"cpl")));let n=e.createElement("button");n.classList.add(this.className_("b")),F(t.props,"title",(e=>{r(e)?this.element.classList.add(this.className_(void 0,"not")):this.element.classList.remove(this.className_(void 0,"not"))})),t.viewProps.bindDisabled(n),this.element.appendChild(n),this.buttonElement=n;let V=e.createElement("div");V.classList.add(this.className_("i")),this.element.appendChild(V);let i=e.createElement("div");i.classList.add(this.className_("t")),u(t.props.value("title"),i),this.buttonElement.appendChild(i),this.titleElement=i;let a=e.createElement("div");a.classList.add(this.className_("m")),this.buttonElement.appendChild(a);let s=t.containerElement;s.classList.add(this.className_("c")),this.element.appendChild(s),this.containerElement=s}}class Je extends We{constructor(e,t){var l;let n=ne.create(null===(l=t.expanded)||void 0===l||l),V=new Ee(e,{blade:t.blade,root:t.root,viewProps:t.viewProps});super(Object.assign(Object.assign({},t),{rackController:V,view:new Se(e,{containerElement:V.view.element,foldable:n,props:t.props,viewName:t.root?"rot":void 0,viewProps:t.viewProps})})),this.onTitleClick_=this.onTitleClick_.bind(this),this.props=t.props,this.foldable=n,ie(this.foldable,this.view.containerElement),this.rackController.rack.emitter.on("add",(()=>{this.foldable.cleanUpTransition()})),this.rackController.rack.emitter.on("remove",(()=>{this.foldable.cleanUpTransition()})),this.view.buttonElement.addEventListener("click",this.onTitleClick_)}get document(){return this.view.element.ownerDocument}onTitleClick_(){this.foldable.set("expanded",!this.foldable.get("expanded"))}}let Te={id:"folder",type:"blade",accept(e){let t=x,l=Q(e,{title:t.required.string,view:t.required.constant("folder"),exp
1anded:t.optional.boolean});return l?{params:l}:null},controller(e){return new Je(e.document,{blade:e.blade,expanded:e.params.expanded,props:M.fromObject({title:e.params.title}),viewProps:e.viewProps})},api(e){return e.controller instanceof Je?new Ze(e.controller,e.pool):null}};class Ge extends te{constructor(e,t){let l=t.valueController.viewProps;super(Object.assign(Object.assign({},t),{value:t.valueController.value,view:new q(e,{props:t.props,viewProps:l}),viewProps:l})),this.props=t.props,this.valueController=t.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}}class Me extends t{}let ke=Z("spr");class Ye{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(ke()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("hr");l.classList.add(ke("r")),this.element.appendChild(l)}}class xe extends g{constructor(e,t){super(Object.assign(Object.assign({},t),{view:new Ye(e,{viewProps:t.viewProps})}))}}let Qe={id:"separator",type:"blade",accept(e){let t=Q(e,{view:x.required.constant("separator")});return t?{params:t}:null},controller(e){return new xe(e.document,{blade:e.blade,viewProps:e.viewProps})},api(e){return e.controller instanceof xe?new Me(e.controller):null}},Xe=Z("tbi");class we{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Xe()),t.viewProps.bindClassModifiers(this.element),F(t.props,"selected",(e=>{e?this.element.classList.add(Xe(void 0,"sel")):this.element.classList.remove(Xe(void 0,"sel"))}));let l=e.createElement("button");l.classList.add(Xe("b")),t.viewProps.bindDisabled(l),this.element.appendChild(l),this.buttonElement=l;let n=e.createElement("div");n.classList.add(Xe("t")),u(t.props.value("title"),n),this.buttonElement.appendChild(n),this.titleElement=n}}class fe{constructor(e,t){this.emitter=new c,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new we(e,{props:t.props,viewProps:t.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class ze{constructor(e,t){this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new fe(e,{props:t.itemProps,viewProps:y.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.cc_=new Ee(e,{blade:le(),viewProps:y.create()}),this.props=t.props,F(this.props,"selected",(e=>{this.itemController.props.set("selected",e),this.contentController.viewProps.set("hidden",!e)}))}get itemController(){return this.ic_}get contentController(){return this.cc_}onItemClick_(){this.props.set("selected",!0)}}class ye{constructor(e,t){this.controller_=e,this.rackApi_=t}get title(){var e;return null!==(e=this.controller_.itemController.props.get("title"))&&void 0!==e?e:""}set title(e){this.controller_.itemController.props.set("title",e)}get selected(){return this.controller_.props.get("selected")}set selected(e){this.controller_.props.set("selected",e)}get children(){return this.rackApi_.children}addButton(e){return this.rackApi_.addButton(e)}addFolder(e){return this.rackApi_.addFolder(e)}addSeparator(e){return this.rackApi_.addSeparator(e)}addTab(e){return this.rackApi_.addTab(e)}add(e,t){this.rackApi_.add(e,t)}remove(e){this.rackApi_.remove(e)}addInput(e,t,l){return this.rackApi_.addInput(e,t,l)}addMonitor(e,t,l){return this.rackApi_.addMonitor(e,t,l)}addBlade(e){return this.rackApi_.addBlade(e)}}class Ce extends ae{constructor(e,t){super(e,new pe(e.rackController,t)),this.onPageAdd_=this.onPageAdd_.bind(this),this.onPageRemove_=this.onPageRemove_.bind(this),this.onSelect_=this.onSelect_.bind(this),this.emitter_=new c,this.pageApiMap_=new Map,this.rackApi_.on("change",(e=>{this.emitter_.emit("change",{event:e})})),this.rackApi_.on("update",(e=>{this.emitter_.emit("update",{event:e})})),this.controller_.tab.selectedIndex.emitter.on("change",this.onSelect_),this.controller_.pageSet.emitter.on("add",this.onPageAdd_),this.controller_.pageSet.emitter.on("remove",this.onPageRemove_),this.controller_.pageSet.items.forEach((e=>{this.setUpPageApi_(e)}))}get pages(){return this.controller_.pageSet.items.map((e=>{let t=this.pageApiMap_.get(e);if(!t)throw d.shouldNeverHappen();return t}))}addPage(e){let t=this.controller_.view.element.ownerDocument,l=new ze(t,{itemProps:M.fromObject({selected:!1,title:e.title}),props:M.fromObject({selected:!1})});this.controller_.add(l,e.index);let n=this.pageApiMap_.get(l);if(!n)throw d.shouldNeverHappen();return n}removePage(e){this.controller_.remove(e)}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}setUpPageApi_(e){let t=this.rackApi_.apiSet_.find((t=>t.controller_===e.contentController));if(!t)throw d.shouldNeverHappen();let l=new ye(e,t);this.pageApiMap_.set(e,l)}onPageAdd_(e){this.setUpPageApi_(e.item)}onPageRemove_(e){if(!this.pageApiMap_.get(e.item))throw d.shouldNeverHappen();this.pageApiMap_.delete(e.item)}onSelect_(e){this.emitter_.emit("select",{event:new a(this,e.rawValue)})}}class je{constructor(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=G(!0),this.selectedIndex=G(-1),this.items_=[]}add(e,t){let l=t??this.items_.length;this.items_.splice(l,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()}remove(e){let t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())}keepSelection_(){if(0===this.items_.length)return this.selectedIndex.rawValue=-1,void(this.empty.rawValue=!0);let e=this.items_.findIndex((e=>e.rawValue));e<0?(this.items_.forEach(((e,t)=>{e.rawValue=0===t})),this.selectedIndex.rawValue=0):(this.items_.forEach(((t,l)=>{t.rawValue=l===e})),this.selectedIndex.rawValue=e),this.empty.rawValue=!1}onItemSelectedChange_(e){if(e.rawValue){let t=this.items_.findIndex((t=>t===e.sender));this.items_.forEach(((e,l)=>{e.rawValue=l===t})),this.selectedIndex.rawValue=t}else this.keepSelection_()}}let ge=Z("tab");class Be{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(ge(),be()),t.viewProps.bindClassModifiers(this.element),m(t.empty,N(this.element,ge(void 0,"nop")));let l=e.createElement("div");l.classList.add(ge("t")),this.element.appendChild(l),this.itemsElement=l;let n=e.createElement("div");n.classList.add(ge("i")),this.element.appendChild(n);let V=t.contentsElement;V.classList.add(ge("c")),this.element.appendChild(V),this.contentsElement=V}}class He extends We{constructor(e,t){let l=new Ee(e,{blade:t.blade,viewProps:t.viewProps}),n=new je;super({blade:t.blade,rackController:l,view:new Be(e,{contentsElement:l.view.element,empty:n.empty,viewProps:t.viewProps})}),this.onPageAdd_=this.onPageAdd_.bind(this),this.onPageRemove_=this.onPageRemove_.bind(this),this.pageSet_=new re((()=>null)),this.pageSet_.emitter.on("add",this.onPageAdd_),this.pageSet_.emitter.on("remove",this.onPageRemove_),this.tab=n}get pageSet(){return this.pageSet_}add(e,t){this.pageSet_.add(e,t)}remove(e){this.pageSet_.remove(this.pageSet_.items[e])}onPageAdd_(e){let t=e.item;_(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.rackController.rack.add(t.contentController,e.index),this.tab.add(t.props.value("selected"))}onPageRemove_(e){let t=e.item;L(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.rackController.rack.remove(t.contentController),this.tab.remove(t.props.value("selected"))}}let ve={id:"tab",type:"blade",accept(e){let t=x,l=Q(e,{pages:t.required.array(t.required.object({title:t.required.string})),view:t.required.constant("tab")});return l&&0!==l.pages.length?{params:l}:null},controller(e){let t=new He(e.document,{blade:e.blade,viewProps:e.viewProps});
1return e.params.pages.forEach((l=>{let n=new ze(e.document,{itemProps:M.fromObject({selected:!1,title:l.title}),props:M.fromObject({selected:!1})});t.add(n)})),t},api(e){return e.controller instanceof He?new Ce(e.controller,e.pool):null}};class Ie{constructor(){this.disabled=!1,this.emitter=new c}dispose(){}tick(){this.disabled||this.emitter.emit("tick",{sender:this})}}class De{constructor(e,t){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=e,this.emitter=new c,this.interval_=t,this.setTimer_()}get disabled(){return this.disabled_}set disabled(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()}dispose(){this.clearTimer_()}clearTimer_(){if(null===this.timerId_)return;let e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}setTimer_(){if(this.clearTimer_(),this.interval_<=0)return;let e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}onTick_(){this.disabled_||this.emitter.emit("tick",{sender:this})}}class Oe{constructor(e){this.onValueChange_=this.onValueChange_.bind(this),this.reader=e.reader,this.writer=e.writer,this.emitter=new c,this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.target=e.target,this.read()}read(){let e=this.target.read();void 0!==e&&(this.value.rawValue=this.reader(e))}write_(e){this.writer(this.target,e)}onValueChange_(e){this.write_(e.rawValue),this.emitter.emit("change",{options:e.options,rawValue:e.rawValue,sender:this})}}function _e(e,t){for(;e.length<t;)e.push(void 0)}function Le(e){let t=[];return _e(t,e),G(t)}function Ke(e){let t=e.indexOf(void 0);return t<0?e:e.slice(0,t)}class Pe{constructor(e){this.onTick_=this.onTick_.bind(this),this.reader_=e.reader,this.target=e.target,this.emitter=new c,this.value=e.value,this.ticker=e.ticker,this.ticker.emitter.on("tick",this.onTick_),this.read()}dispose(){this.ticker.dispose()}read(){let e=this.target.read();if(void 0===e)return;let t=this.value.rawValue,l=this.reader_(e);this.value.rawValue=function(e,t){let l=[...Ke(e),t];return l.length>e.length?l.splice(0,l.length-e.length):_e(l,e.length),l}(t,l),this.emitter.emit("update",{rawValue:l,sender:this})}onTick_(e){this.read()}}class Ae{constructor(e){this.constraints=e}constrain(e){return this.constraints.reduce(((e,t)=>t.constrain(e)),e)}}function qe(e,t){if(e instanceof t)return e;if(e instanceof Ae){let l=e.constraints.reduce(((e,l)=>e||(l instanceof t?l:null)),null);if(l)return l}return null}class $e{constructor(e){this.values=M.fromObject({max:e.max,min:e.min})}constrain(e){let t=this.values.get("max"),l=this.values.get("min");return Math.min(Math.max(e,l),t)}}class et{constructor(e){this.values=M.fromObject({options:e})}get options(){return this.values.get("options")}constrain(e){let t=this.values.get("options");return 0===t.length||t.filter((t=>t.value===e)).length>0?e:t[0].value}}class tt{constructor(e){this.values=M.fromObject({max:e.max,min:e.min})}get maxValue(){return this.values.get("max")}get minValue(){return this.values.get("min")}constrain(e){let t=this.values.get("max"),l=this.values.get("min"),n=e;return r(l)||(n=Math.max(n,l)),r(t)||(n=Math.min(n,t)),n}}class lt{constructor(e,t=0){this.step=e,this.origin=t}constrain(e){let t=this.origin%this.step;return t+Math.round((e-t)/this.step)*this.step}}let nt=Z("lst");class Vt{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.props_=t.props,this.element=e.createElement("div"),this.element.classList.add(nt()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("select");l.classList.add(nt("s")),t.viewProps.bindDisabled(l),this.element.appendChild(l),this.selectElement=l;let n=e.createElement("div");n.classList.add(nt("m")),n.appendChild(O(e,"dropdown")),this.element.appendChild(n),t.value.emitter.on("change",this.onValueChange_),this.value_=t.value,F(this.props_,"options",(t=>{K(this.selectElement),t.forEach((t=>{let l=e.createElement("option");l.textContent=t.text,this.selectElement.appendChild(l)})),this.update_()}))}update_(){let e=this.props_.get("options").map((e=>e.value));this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)}onValueChange_(){this.update_()}}class it{constructor(e,t){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new Vt(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}onSelectChange_(e){let t=e.currentTarget;this.value.rawValue=this.props.get("options")[t.selectedIndex].value}}let at=Z("pop");class rt{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(at()),t.viewProps.bindClassModifiers(this.element),m(t.shows,N(this.element,at(void 0,"v")))}}class st{constructor(e,t){this.shows=G(!1),this.viewProps=t.viewProps,this.view=new rt(e,{shows:this.shows,viewProps:this.viewProps})}}let ot=Z("txt");class ht{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(ot()),t.viewProps.bindClassModifiers(this.element),this.props_=t.props,this.props_.emitter.on("change",this.onChange_);let l=e.createElement("input");l.classList.add(ot("i")),l.type="text",t.viewProps.bindDisabled(l),this.element.appendChild(l),this.inputElement=l,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){let e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}onChange_(){this.refresh()}}class dt{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=t.parser,this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new ht(e,{props:t.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(e){let t=e.currentTarget.value,l=this.parser_(t);r(l)||(this.value.rawValue=l),this.view.refresh()}}function Rt(e){return"false"!==e&&!!e}function Ut(e){return function(e){return String(e)}(e)}class ct{constructor(e){this.text=e}evaluate(){return Number(this.text)}toString(){return this.text}}let pt={"**":(e,t)=>
1Math.pow(e,t),"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t,"&":(e,t)=>e&t,"^":(e,t)=>e^t,"|":(e,t)=>e|t};class Zt{constructor(e,t,l){this.left=t,this.operator=e,this.right=l}evaluate(){let e=pt[this.operator];if(!e)throw new Error(`unexpected binary operator: '${this.operator}`);return e(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}let Wt={"+":e=>e,"-":e=>-e,"~":e=>~e};class mt{constructor(e,t){this.operator=e,this.expression=t}evaluate(){let e=Wt[this.operator];if(!e)throw new Error(`unexpected unary operator: '${this.operator}`);return e(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}function Ft(e){return(t,l)=>{for(let n=0;n<e.length;n++){let V=e[n](t,l);if(""!==V)return V}return""}}function Nt(e,t){var l;let n=e.substr(t).match(/^\s+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}function ut(e,t){var l;let n=e.substr(t).match(/^[0-9]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}function Et(e,t){let l=e.substr(t,1);if(t+=1,"e"!==l.toLowerCase())return"";let n=function(e,t){let l=ut(e,t);if(""!==l)return l;let n=e.substr(t,1);if("-"!==n&&"+"!==n)return"";let V=ut(e,t+=1);return""===V?"":n+V}(e,t);return""===n?"":l+n}function bt(e,t){let l=e.substr(t,1);if("0"===l)return l;let n=function(e,t){let l=e.substr(t,1);return l.match(/^[1-9]$/)?l:""}(e,t);return t+=n.length,""===n?"":n+ut(e,t)}let St=Ft([function(e,t){let l=bt(e,t);if(t+=l.length,""===l)return"";let n=e.substr(t,1);if(t+=n.length,"."!==n)return"";let V=ut(e,t);return l+n+V+Et(e,t+=V.length)},function(e,t){let l=e.substr(t,1);if(t+=l.length,"."!==l)return"";let n=ut(e,t);return t+=n.length,""===n?"":l+n+Et(e,t)},function(e,t){let l=bt(e,t);return t+=l.length,""===l?"":l+Et(e,t)}]),Jt=Ft([function(e,t){let l=e.substr(t,2);if(t+=l.length,"0b"!==l.toLowerCase())return"";let n=function(e,t){var l;let n=e.substr(t).match(/^[01]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n},function(e,t){let l=e.substr(t,2);if(t+=l.length,"0o"!==l.toLowerCase())return"";let n=function(e,t){var l;let n=e.substr(t).match(/^[0-7]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n},function(e,t){let l=e.substr(t,2);if(t+=l.length,"0x"!==l.toLowerCase())return"";let n=function(e,t){var l;let n=e.substr(t).match(/^[0-9a-f]+/i);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n}]),Tt=Ft([Jt,St]);function Gt(e,t){var l;return null!==(l=function(e,t){let l=Tt(e,t);return t+=l.length,""===l?null:{evaluable:new ct(l),cursor:t}}(e,t))&&void 0!==l?l:function(e,t){let l=e.substr(t,1);if(t+=l.length,"("!==l)return null;let n=Yt(e,t);if(!n)return null;t=n.cursor,t+=Nt(e,t).length;let V=e.substr(t,1);return t+=V.length,")"!==V?null:{evaluable:n.evaluable,cursor:t}}(e,t)}function Mt(e,t,l){l+=Nt(t,l).length;let n=e.filter((e=>t.startsWith(e,l)))[0];return n?(l+=n.length,{cursor:l+=Nt(t,l).length,operator:n}):null}let kt=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce(((e,t)=>function(e,t){return(l,n)=>{let V=e(l,n);if(!V)return null;n=V.cursor;let i=V.evaluable;for(;;){let V=Mt(t,l,n);if(!V)break;n=V.cursor;let a=e(l,n);if(!a)return null;n=a.cursor,i=new Zt(V.operator,i,a.evaluable)}return i?{cursor:n,evaluable:i}:null}}(e,t)),(function e(t,l){let n=Gt(t,l);if(n)return n;let V=t.substr(l,1);if(l+=V.length,"+"!==V&&"-"!==V&&"~"!==V)return null;let i=e(t,l);return i?{cursor:l=i.cursor,evaluable:new mt(V,i.evaluable)}:null}));function Yt(e,t){return t+=Nt(e,t).length,kt(e,t)}function xt(e){var t;let l=function(e){let t=Yt(e,0);return t&&t.cursor+Nt(e,t.cursor).length===e.length?t.evaluable:null}(e);return null!==(t=l?.evaluate())&&void 0!==t?t:null}function Qt(e){if("number"==typeof e)return e;if("string"==typeof e){let t=xt(e);if(!r(t))return t}return 0}function Xt(e){return String(e)}function wt(e){return t=>t.toFixed(Math.max(Math.min(e,20),0))}let ft=wt(0);function zt(e){return ft(e)+"%"}function yt(e){return String(e)}function Ct(e){return e}function jt({primary:e,secondary:t,forward:l,backward:n}){let V=!1;function i(e){V||(V=!0,e(),V=!1)}e.emitter.on("change",(n=>{i((()=>{t.setRawValue(l(e,t),n.options)}))})),t.emitter.on("change",(V=>{i((()=>{e.setRawValue(n(e,t),V.options)})),i((()=>{t.setRawValue(l(e,t),V.options)}))})),i((()=>{t.setRawValue(l(e,t),{forceEmit:!1,last:!0})}
1))}function gt(e,t){let l=e*(t.altKey?.1:1)*(t.shiftKey?10:1);return t.upKey?+l:t.downKey?-l:0}function Bt(e){return{altKey:e.altKey,downKey:"ArrowDown"===e.key,shiftKey:e.shiftKey,upKey:"ArrowUp"===e.key}}function Ht(e){return{altKey:e.altKey,downKey:"ArrowLeft"===e.key,shiftKey:e.shiftKey,upKey:"ArrowRight"===e.key}}function vt(e){return function(e){return"ArrowUp"===e||"ArrowDown"===e}(e)||"ArrowLeft"===e||"ArrowRight"===e}function It(e,t){var l,n;let V=t.ownerDocument.defaultView,i=t.getBoundingClientRect();return{x:e.pageX-((null!==(l=V&&V.scrollX)&&void 0!==l?l:0)+i.left),y:e.pageY-((null!==(n=V&&V.scrollY)&&void 0!==n?n:0)+i.top)}}class Dt{constructor(e){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=e,this.emitter=new c,e.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),e.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),e.addEventListener("touchend",this.onTouchEnd_),e.addEventListener("mousedown",this.onMouseDown_)}computePosition_(e){let t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}onMouseDown_(e){var t;e.preventDefault(),null===(t=e.currentTarget)||void 0===t||t.focus();let l=this.elem_.ownerDocument;l.addEventListener("mousemove",this.onDocumentMouseMove_),l.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(It(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseMove_(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(It(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseUp_(e){let t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(It(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onTouchStart_(e){e.preventDefault();let t=e.targetTouches.item(0),l=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-l.left,y:t.clientY-l.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchMove_(e){let t=e.targetTouches.item(0),l=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-l.left,y:t.clientY-l.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchEnd_(e){var t;let l=null!==(t=e.targetTouches.item(0))&&void 0!==t?t:this.lastTouch_,n=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(l?{x:l.clientX-n.left,y:l.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey})}}function Ot(e,t,l,n,V){return n+(e-t)/(l-t)*(V-n)}function _t(e){return String(e.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function Lt(e,t,l){return Math.min(Math.max(e,t),l)}function Kt(e,t){return(e%t+t)%t}let Pt=Z("txt");class At{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(Pt(),Pt(void 0,"num")),t.arrayPosition&&this.element.classList.add(Pt(void 0,t.arrayPosition)),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("input");l.classList.add(Pt("i")),l.type="text",t.viewProps.bindDisabled(l),this.element.appendChild(l),this.inputElement=l,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=t.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Pt()),this.inputElement.classList.add(Pt("i"));let n=e.createElement("div");n.classList.add(Pt("k")),this.element.appendChild(n),this.knobElement=n;let V=e.createElementNS(B,"svg");V.classList.add(Pt("g")),this.knobElement.appendChild(V);let i=e.createElementNS(B,"path");
1i.classList.add(Pt("gb")),V.appendChild(i),this.guideBodyElem_=i;let a=e.createElementNS(B,"path");a.classList.add(Pt("gh")),V.appendChild(a),this.guideHeadElem_=a;let r=e.createElement("div");r.classList.add(Z("tt")()),this.knobElement.appendChild(r),this.tooltipElem_=r,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.refresh()}onDraggingChange_(e){if(null===e.rawValue)return void this.element.classList.remove(Pt(void 0,"drg"));this.element.classList.add(Pt(void 0,"drg"));let t=e.rawValue/this.props_.get("draggingScale"),l=t+(t>0?-1:t<0?1:0),n=Lt(-l,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${l+n},0 L${l},4 L${l+n},8`,`M ${t},-1 L${t},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${t},4`);let V=this.props_.get("formatter");this.tooltipElem_.textContent=V(this.value.rawValue),this.tooltipElem_.style.left=`${t}px`}refresh(){let e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}onChange_(){this.refresh()}}class qt{constructor(e,t){var l;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.baseStep_=t.baseStep,this.parser_=t.parser,this.props=t.props,this.sliderProps_=null!==(l=t.sliderProps)&&void 0!==l?l:null,this.value=t.value,this.viewProps=t.viewProps,this.dragging_=G(null),this.view=new At(e,{arrayPosition:t.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);let n=new Dt(this.view.knobElement);n.emitter.on("down",this.onPointerDown_),n.emitter.on("move",this.onPointerMove_),n.emitter.on("up",this.onPointerUp_)}constrainValue_(e){var t,l;let n=null===(t=this.sliderProps_)||void 0===t?void 0:t.get("minValue"),V=null===(l=this.sliderProps_)||void 0===l?void 0:l.get("maxValue"),i=e;return void 0!==n&&(i=Math.max(i,n)),void 0!==V&&(i=Math.min(i,V)),i}onInputChange_(e){let t=e.currentTarget.value,l=this.parser_(t);r(l)||(this.value.rawValue=this.constrainValue_(l)),this.view.refresh()}onInputKeyDown_(e){let t=gt(this.baseStep_,Bt(e));0!==t&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}onInputKeyUp_(e){0!==gt(this.baseStep_,Bt(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(e){if(!e.point)return null;let t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("draggingScale"))}onPointerMove_(e){let t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(e){let t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}let $t=Z("sld");class el{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add($t()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add($t("t")),t.viewProps.bindTabIndex(l),this.element.appendChild(l),this.trackElement=l;let n=e.createElement("div");n.classList.add($t("k")),this.trackElement.appendChild(n),this.knobElement=n,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.update_()}update_(){let e=Lt(Ot(this.value.rawValue,this.props_.get("minValue"),this.props_.get("maxValue"),0,100),0,100);this.knobElement.style.width=`${e}%`}onChange_(){this.update_()}}class tl{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.baseStep_=t.baseStep,this.value=t.value,this.viewProps=t.viewProps,this.props=t.props,this.view=new el(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Dt(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){e.point&&this.value.setRawValue(Ot(Lt(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("minValue"),this.props.get("maxValue")),t)}onPointerDownOrMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){let t=gt(this.baseStep_,Ht(e));0!==t&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})}onKeyUp_(e){0!==gt(this.baseStep_,Ht(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}let ll=Z("sldtxt");class nl{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(ll());let l=e.createElement("div");l.classList.add(ll("s")),this.sliderView_=t.sliderView,l.appendChild(this.sliderView_.element),this.element.appendChild(l);let n=e.createElement("div");n.classList.add(ll("t")),this.textView_=t.textView,n.appendChild(this.textView_.element),this.element.appendChild(n)}}class Vl{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sliderC_=new tl(e,{baseStep:t.baseStep,props:t.sliderProps,value:t.value,viewProps:this.viewProps}),this.textC_=new qt(e,{baseStep:t.baseStep,parser:t.parser,props:t.textProps,sliderProps:t.sliderProps,value:t.value,viewProps:t.viewProps}),this.view=new nl(e,{sliderView:this.sliderC_.view,textView:this.textC_.view})}get sliderController(){return this.sliderC_}get textController(){return this.textC_}}function il(e,t){e.write(t)}function al(e){let t=x;return Array.isArray(e)?t.required.array(t.required.object({text:t.required.string,value:t.required.raw}))(e).value:"object"==typeof e?t.required.raw(e).value:void 0}function rl(e){if("inline"===e||"popup"===e)return e}function sl(e){let t=x;return t.required.object({max:t.optional.number,min:t.optional.number,step:t.optional.number})(e).value}function ol(e){if(Array.isArray(e))return e;let t=[];return Object.keys(e).forEach((l=>{t.push({text:l,value:e[l]}
1)})),t}function hl(e){return r(e)?null:new et(ol(e))}function dl(e,t){let l=e&&qe(e,lt);return l?_t(l.step):Math.max(_t(t),2)}function Rl(e){let t=function(e){let t=e?qe(e,lt):null;return t?t.step:null}(e);return t??1}function Ul(e,t){var l;let n=e&&qe(e,lt),V=Math.abs(null!==(l=n?.step)&&void 0!==l?l:t);return 0===V?.1:Math.pow(10,Math.floor(Math.log10(V))-1)}let cl=Z("ckb");class pl{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(cl()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("label");l.classList.add(cl("l")),this.element.appendChild(l);let n=e.createElement("input");n.classList.add(cl("i")),n.type="checkbox",l.appendChild(n),this.inputElement=n,t.viewProps.bindDisabled(this.inputElement);let V=e.createElement("div");V.classList.add(cl("w")),l.appendChild(V);let i=O(e,"check");V.appendChild(i),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}update_(){this.inputElement.checked=this.value.rawValue}onValueChange_(){this.update_()}}class Zl{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new pl(e,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(e){let t=e.currentTarget;this.value.rawValue=t.checked}}let Wl={id:"input-bool",type:"input",accept:(e,t)=>{if("boolean"!=typeof e)return null;let l=Q(t,{options:x.optional.custom(al)});return l?{initialValue:e,params:l}:null},binding:{reader:e=>Rt,constraint:e=>function(e){let t=[],l=hl(e.options);return l&&t.push(l),new Ae(t)}(e.params),writer:e=>il},controller:e=>{let t=e.document,l=e.value,n=e.constraint,V=n&&qe(n,et);return V?new it(t,{props:new M({options:V.values.value("options")}),value:l,viewProps:e.viewProps}):new Zl(t,{value:l,viewProps:e.viewProps})}},ml=Z("col");class Fl{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(ml()),t.foldable.bindExpandedClass(this.element,ml(void 0,"expanded")),F(t.foldable,"completed",N(this.element,ml(void 0,"cpl")));let l=e.createElement("div");l.classList.add(ml("h")),this.element.appendChild(l);let n=e.createElement("div");n.classList.add(ml("s")),l.appendChild(n),this.swatchElement=n;let V=e.createElement("div");if(V.classList.add(ml("t")),l.appendChild(V),this.textElement=V,"inline"===t.pickerLayout){let t=e.createElement("div");t.classList.add(ml("p")),this.element.appendChild(t),this.pickerElement=t}else this.pickerElement=null}}function Nl(e,t,l){let n,V,i,a=Kt(e,360),r=Lt(t/100,0,1),s=Lt(l/100,0,1),o=s*r,h=o*(1-Math.abs(a/60%2-1)),d=s-o;return[n,V,i]=a>=0&&a<60?[o,h,0]:a>=60&&a<120?[h,o,0]:a>=120&&a<180?[0,o,h]:a>=180&&a<240?[0,h,o]:a>=240&&a<300?[h,0,o]:[o,0,h],[255*(n+d),255*(V+d),255*(i+d)]}function ul(e){return[e[0],e[1],e[2]]}function El(e,t){return[e[0],e[1],e[2],t]}let bl={hsl:{hsl:(e,t,l)=>[e,t,l],hsv:function(e,t,l){let n=l+t*(100-Math.abs(2*l-100))/200;return[e,0!==n?t*(100-Math.abs(2*l-100))/n:0,l+t*(100-Math.abs(2*l-100))/200]},rgb:function(e,t,l){let n,V,i,a=(e%360+360)%360,r=Lt(t/100,0,1),s=Lt(l/100,0,1),o=(1-Math.abs(2*s-1))*r,h=o*(1-Math.abs(a/60%2-1)),d=s-o/2;return[n,V,i]=a>=0&&a<60?[o,h,0]:a>=60&&a<120?[h,o,0]:a>=120&&a<180?[0,o,h]:a>=180&&a<240?[0,h,o]:a>=240&&a<300?[h,0,o]:[o,0,h],[255*(n+d),255*(V+d),255*(i+d)]}},hsv:{hsl:function(e,t,l){let n=100-Math.abs(l*(200-t)/100-100);return[e,0!==n?t*l/n:0,l*(200-t)/200]},hsv:(e,t,l)=>[e,t,l],rgb:Nl},rgb:{hsl:function(e,t,l){let n=Lt(e/255,0,1),V=Lt(t/255,0,1),i=Lt(l/255,0,1),a=Math.max(n,V,i),r=Math.min(n,V,i),s=a-r,o=0,h=0,d=(r+a)/2;return 0!==s&&(h=s/(1-Math.abs(a+r-1)),o=n===a?(V-i)/s:V===a?2+(i-n)/s:4+(n-V)/s,o=o/6+(o<0?1:0)),[360*o,100*h,100*d]},hsv:function(e,t,l){let n,V=Lt(e/255,0,1),i=Lt(t/255,0,1),a=Lt(l/255,0,1),r=Math.max(V,i,a),s=r-Math.min(V,i,a);return n=0===s?0:r===V?((i-a)/s%6+6)%6*60:r===i?60*((a-V)/s+2):60*((V-i)/s+4),[n,100*(0===r?0:s/r),100*r]},rgb:(e,t,l)=>[e,t,l]}};function Sl(e,t){return["float"===t?1:"rgb"===e?255:360,"float"===t?1:"rgb"===e?255:100,"float"===t?1:"rgb"===e?255:100]}function Jl(e,t){return e===t?t:Kt(e,t)}function Tl(e,t,l,n){let V=Sl(t,l),i=Sl(t,n);return e.map(((e,t)=>e/V[t]*i[t]))}function Gl(e,t){return"object"==typeof e&&!r(e)&&t in e&&"number"==typeof e[t]}class Ml{static black(e="int"){return new Ml([0,0,0],"rgb",e)}static fromObject(e,t="int"){let l="a"in e?[e.r,e.g,e.b,e.a]:[e.r,e.g,e.b];return new Ml(l,"rgb",t)}static toRgbaObject(e,t="int"){return e.toRgbaObject(t)}
1static isRgbColorObject(e){return Gl(e,"r")&&Gl(e,"g")&&Gl(e,"b")}static isRgbaColorObject(e){return this.isRgbColorObject(e)&&Gl(e,"a")}static isColorObject(e){return this.isRgbColorObject(e)}static equals(e,t){if(e.mode!==t.mode)return!1;let l=e.comps_,n=t.comps_;for(let e=0;e<l.length;e++)if(l[e]!==n[e])return!1;return!0}constructor(e,t,l="int"){this.mode=t,this.type=l,this.comps_=function(e,t,l){var n;let V=Sl(t,l);return["rgb"===t?Lt(e[0],0,V[0]):Jl(e[0],V[0]),Lt(e[1],0,V[1]),Lt(e[2],0,V[2]),Lt(null!==(n=e[3])&&void 0!==n?n:1,0,1)]}(e,t,l)}getComponents(e,t="int"){return El(function(e,t,l){let n=Tl(e,t.mode,t.type,"int");return Tl(bl[t.mode][l.mode](...n),l.mode,"int",l.type)}(ul(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:t}),this.comps_[3])}toRgbaObject(e="int"){let t=this.getComponents("rgb",e);return{r:t[0],g:t[1],b:t[2],a:t[3]}}}let kl=Z("colp");class Yl{constructor(e,t){this.alphaViews_=null,this.element=e.createElement("div"),this.element.classList.add(kl()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(kl("hsv"));let n=e.createElement("div");n.classList.add(kl("sv")),this.svPaletteView_=t.svPaletteView,n.appendChild(this.svPaletteView_.element),l.appendChild(n);let V=e.createElement("div");V.classList.add(kl("h")),this.hPaletteView_=t.hPaletteView,V.appendChild(this.hPaletteView_.element),l.appendChild(V),this.element.appendChild(l);let i=e.createElement("div");if(i.classList.add(kl("rgb")),this.textView_=t.textView,i.appendChild(this.textView_.element),this.element.appendChild(i),t.alphaViews){this.alphaViews_={palette:t.alphaViews.palette,text:t.alphaViews.text};let l=e.createElement("div");l.classList.add(kl("a"));let n=e.createElement("div");n.classList.add(kl("ap")),n.appendChild(this.alphaViews_.palette.element),l.appendChild(n);let V=e.createElement("div");V.classList.add(kl("at")),V.appendChild(this.alphaViews_.text.element),l.appendChild(V),this.element.appendChild(l)}}get allFocusableElements(){let e=[this.svPaletteView_.element,this.hPaletteView_.element,this.textView_.modeSelectElement,...this.textView_.textViews.map((e=>e.inputElement))];return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}}function xl(e){return"int"===e?"int":"float"===e?"float":void 0}function Ql(e){let t=x;return Q(e,{alpha:t.optional.boolean,color:t.optional.object({alpha:t.optional.boolean,type:t.optional.custom(xl)}),expanded:t.optional.boolean,picker:t.optional.custom(rl)})}function Xl(e){return e?.1:1}function wl(e){var t;return null===(t=e.color)||void 0===t?void 0:t.type}function fl(e,t){let l=e.match(/^(.+)%$/);return Math.min(l?.01*parseFloat(l[1])*t:parseFloat(e),t)}let zl={deg:e=>e,grad:e=>360*e/400,rad:e=>360*e/(2*Math.PI),turn:e=>360*e};function yl(e){let t=e.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!t)return parseFloat(e);let l=parseFloat(t[1]),n=t[2];return zl[n](l)}function Cl(e){let t=e.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;let l=[fl(t[1],255),fl(t[2],255),fl(t[3],255)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])?null:l}function jl(e){return t=>{let l=Cl(t);return l?new Ml(l,"rgb",e):null}}function gl(e){let t=e.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;let l=[fl(t[1],255),fl(t[2],255),fl(t[3],255),fl(t[4],1)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])||isNaN(l[3])?null:l}function Bl(e){return t=>{let l=gl(t);return l?new Ml(l,"rgb",e):null}}function Hl(e){let t=e.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;let l=[yl(t[1]),fl(t[2],100),fl(t[3],100)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])?null:l}function vl(e){return t=>{let l=Hl(t);return l?new Ml(l,"hsl",e):null}}function Il(e){let t=e.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;let l=[yl(t[1]),fl(t[2],100),fl(t[3],100),fl(t[4],1)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])||isNaN(l[3])?null:l}function Dl(e){return t=>{let l=Il(t);return l?new Ml(l,"hsl",e):null}}function Ol(e){let t=e.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let l=e.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return l?[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16)]:null}function _l(e){let t=e.match(/^#?([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),Ot(parseInt(t[4]+t[4],16),0,255,0,1)];let l=e.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return l?[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16),Ot(parseInt(l[4],16),0,255,0,1)]:null}function Ll(e){let t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;let l=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3])];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])?null:l}function Kl(e){return t=>{let l=Ll(t);return l?new Ml(l,"rgb",e):null}}function Pl(e){let t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;let l=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]),parseFloat(t[4])];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])||isNaN(l[3])?null:l}function Al(e){return t=>{let l=Pl(t);return l?new Ml(l,"rgb",e):null}}let ql=[{parser:Ol,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:_l,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:Cl,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:gl,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:Hl,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:Il,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:Ll,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:Pl,result:{alpha:!0,mode:"rgb",notation:"object"}}];function $l(e,t="int"){let l=function(e){return ql.reduce(((t,{parser:l,result:n})=>t||(l(e)?n:null)),null)}(e);return l?"hex"===l.notation&&"float"!==t?Object.assign(Object.assign({},l),{type:"int"}):"func"===l.notation?Object.assign(Object.assign({},l),{type:t}):null:null}let en={int:[function(e){let t=Ol(e);return t?new Ml(t,"rgb","int"):null},function(e){let t=_l(e);return t?new Ml(t,"rgb","int"):null},jl("int"),Bl("int"),vl("int"),Dl("int"),Kl("int"),Al("int")],float:[jl("float"),Bl("float"),vl("float"),Dl("float"),Kl("float"),Al("float")]};function tn(e){let t=en[e];return e=>t.reduce(((t,l)=>t||l(e)),null)}function ln(e){let t=Lt(Math.floor(e),0,255).toString(16);return 1===t.length?`0${t}`:t}function nn(e,t="#"){return`${t}${ul(e.getComponents("rgb")).map(ln).join("")}`}function Vn(e,t="#"){let l=e.getComponents("rgb");return`${t}${[l[0],l[1],l[2],255*l[3]].map(ln).join("")}`}function an(e,t){let l=wt("float"===t?2:0);return`rgb(${ul(e.getComponents("rgb",t)).map((e=>l(e))).join(", ")})`}function rn(e){return t=>an(t,e)}function sn(e,t){let l=wt(2),n=wt("float"===t?2:0);return`rgba(${e.getComponents("rgb",t).map(((e,t)=>(3===t?l:n)(e))).join(", ")})`}function on(e){return t=>sn(t,e)}function hn(e,t){let l=wt("float"===t?2:0),n=["r","g","b"];return`{${ul(e.getComponents("rgb",t)).map(((e,t)=>`${n[t]}: ${l(e)}`)).join(", ")}}`}function dn(e){return t=>hn(t,e)}function Rn(e,t){let l=wt(2),n=wt("float"===t?2:0),V=["r","g","b","a"];return`{${e.getComponents("rgb",t).map(((e,t)=>`${V[t]}: ${(3===t?l:n)(e)}`)).join(", ")}}`}function Un(e){return t=>Rn(t,e)}let cn=[{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:nn},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:Vn},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:function(e){let t=[wt(0),zt,zt];return`hsl(${ul(e.getComponents("hsl")).map(((e,l)=>t[l](e))).join(", ")})`}}
1,{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:function(e){let t=[wt(0),zt,zt,wt(2)];return`hsla(${e.getComponents("hsl").map(((e,l)=>t[l](e))).join(", ")})`}},...["int","float"].reduce(((e,t)=>[...e,{format:{alpha:!1,mode:"rgb",notation:"func",type:t},stringifier:rn(t)},{format:{alpha:!0,mode:"rgb",notation:"func",type:t},stringifier:on(t)},{format:{alpha:!1,mode:"rgb",notation:"object",type:t},stringifier:dn(t)},{format:{alpha:!0,mode:"rgb",notation:"object",type:t},stringifier:Un(t)}]),[])];function pn(e){return cn.reduce(((t,l)=>t||(function(e,t){return e.alpha===t.alpha&&e.mode===t.mode&&e.notation===t.notation&&e.type===t.type}(l.format,e)?l.stringifier:null)),null)}let Zn=Z("apl");class Wn{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Zn()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);let l=e.createElement("div");l.classList.add(Zn("b")),this.element.appendChild(l);let n=e.createElement("div");n.classList.add(Zn("c")),l.appendChild(n),this.colorElem_=n;let V=e.createElement("div");V.classList.add(Zn("m")),this.element.appendChild(V),this.markerElem_=V;let i=e.createElement("div");i.classList.add(Zn("p")),this.markerElem_.appendChild(i),this.previewElem_=i,this.update_()}update_(){let e=this.value.rawValue,t=e.getComponents("rgb"),l=new Ml([t[0],t[1],t[2],0],"rgb"),n=new Ml([t[0],t[1],t[2],255],"rgb"),V=["to right",sn(l),sn(n)];this.colorElem_.style.background=`linear-gradient(${V.join(",")})`,this.previewElem_.style.backgroundColor=sn(e);let i=Ot(t[3],0,1,0,100);this.markerElem_.style.left=`${i}%`}onValueChange_(){this.update_()}}class mn{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new Wn(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Dt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;let l=e.point.x/e.bounds.width,n=this.value.rawValue,[V,i,a]=n.getComponents("hsv");this.value.setRawValue(new Ml([V,i,a,l],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){let t=gt(Xl(!0),Ht(e));if(0===t)return;let l=this.value.rawValue,[n,V,i,a]=l.getComponents("hsv");this.value.setRawValue(new Ml([n,V,i,a+t],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){0!==gt(Xl(!0),Ht(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}let Fn=Z("coltxt");class Nn{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Fn()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(Fn("m")),this.modeElem_=function(e){let t=e.createElement("select");return t.appendChild([{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"}].reduce(((t,l)=>{let n=e.createElement("option");return n.textContent=l.text,n.value=l.value,t.appendChild(n),t}),e.createDocumentFragment())),t}(e),this.modeElem_.classList.add(Fn("ms")),l.appendChild(this.modeSelectElement),t.viewProps.bindDisabled(this.modeElem_);let n=e.createElement("div");n.classList.add(Fn("mm")),n.appendChild(O(e,"dropdown")),l.appendChild(n),this.element.appendChild(l);let V=e.createElement("div");V.classList.add(Fn("w")),this.element.appendChild(V),this.textsElem_=V,this.textViews_=t.textViews,this.applyTextViews_(),m(t.colorMode,(e=>{this.modeElem_.value=e}))}get modeSelectElement(){return this.modeElem_}get textViews(){return this.textViews_}set textViews(e){this.textViews_=e,this.applyTextViews_()}applyTextViews_(){K(this.textsElem_);let e=this.element.ownerDocument;this.textViews_.forEach((t=>{let l=e.createElement("div");l.classList.add(Fn("c")),l.appendChild(t.element),this.textsElem_.appendChild(l)}))}}function un(e){return wt("float"===e?2:0)}function En(e,t,l){let n=Sl(e,t)[l];return new $e({min:0,max:n})}function bn(e,t,l){return new qt(e,{arrayPosition:0===l?"fst":2===l?"lst":"mid",baseStep:Xl(!1),parser:t.parser,props:M.fromObject({draggingScale:"float"===t.colorType?.01:1,formatter:un(t.colorType)}),value:G(0,{constraint:En(t.colorMode,t.colorType,l)}),viewProps:t.viewProps})}class Sn{constructor(e,t){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=t.colorType,this.parser_=t.parser,this.value=t.value,this.viewProps=t.viewProps,this.colorMode=G(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(e),this.view=new Nn(e,{colorMode:this.colorMode,textViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}createComponentControllers_(e){let t={colorMode:this.colorMode.rawValue,colorType:this.colorType_,parser:this.parser_,viewProps:this.viewProps},l=[bn(e,t,0),bn(e,t,1),bn(e,t,2)];return l.forEach(((e,t)=>{jt({primary:this.value,secondary:e.value,forward:e=>e.rawValue.getComponents(this.colorMode.rawValue,this.colorType_)[t],backward:(e,l)=>{let n=this.colorMode.rawValue,V=e.rawValue.getComponents(n,this.colorType_);return V[t]=l.rawValue,new Ml(El(ul(V),V[3]),n,this.colorType_)}})})),l}onModeSelectChange_(e){let t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.textViews=[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view]}}let Jn=Z("hpl");class Tn{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Jn()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);let l=e.createElement("div");l.classList.add(Jn("c")),this.element.appendChild(l);let n=e.createElement("div");n.classList.add(Jn("m")),this.element.appendChild(n),this.markerElem_=n,this.update_()}update_(){let e=this.value.rawValue,[t]=e.getComponents("hsv");this.markerElem_.style.backgroundColor=an(new Ml([t,100,100],"hsv"));let l=Ot(t,0,360,0,100);this.markerElem_.style.left=`${l}%`}onValueChange_(){this.update_()}}class Gn{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new Tn(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Dt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;let l=Ot(Lt(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),n=this.value.rawValue,[,V,i,a]=n.getComponents("hsv");this.value.setRawValue(new Ml([l,V,i,a],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){let t=gt(Xl(!1),Ht(e));if(0===t)return;let l=this.value.rawValue,[n,V,i,a]=l.getComponents("hsv");this.value.setRawValue(new Ml([n+t,V,i,a],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){0!==gt(Xl(!1),Ht(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}let Mn=Z("svp");class kn{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(Mn()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);let l=e.createElement("canvas");l.height=64,l.width=64,l.classList.add(Mn("c")),this.element.appendChild(l),this.canvasElement=l;let n=e.createElement("div");n.classList.add(Mn("m")),this.element.appendChild(n),this.markerElem_=n,this.update_()}update_(){let e=function(e){let t=e.ownerDocument.defaultView;return t&&"document"in t?e.getContext("2d",{willReadFrequently:!0}):null}(this.canvasElement);if(!e)return;let t=this.value.rawValue.getComponents("hsv"),l=this.canvasElement.width,n=this.canvasElement.height,V=e.getImageData(0,0,l,n),i=V.data;for(let e=0;e<n;e++)for(let V=0;V<l;V++){let a=Ot(V,0,l,0,100),r=Ot(e,0,n,100,0),s=Nl(t[0],a,r),o=4*(e*l+V);i[o]=s[0],i[o+1]=s[1],i[o+2]=s[2],i[o+3]=255}e.putImageData(V,0,0);let a=Ot(t[1],0,100,0,100);this.markerElem_.style.left=`${a}%`;
1let r=Ot(t[2],0,100,100,0);this.markerElem_.style.top=`${r}%`}onValueChange_(){this.update_()}}class Yn{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new kn(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Dt(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;let l=Ot(e.point.x,0,e.bounds.width,0,100),n=Ot(e.point.y,0,e.bounds.height,100,0),[V,,,i]=this.value.rawValue.getComponents("hsv");this.value.setRawValue(new Ml([V,l,n,i],"hsv"),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onKeyDown_(e){vt(e.key)&&e.preventDefault();let[t,l,n,V]=this.value.rawValue.getComponents("hsv"),i=Xl(!1),a=gt(i,Ht(e)),r=gt(i,Bt(e));0===a&&0===r||this.value.setRawValue(new Ml([t,l+a,n+r,V],"hsv"),{forceEmit:!1,last:!1})}onKeyUp_(e){let t=Xl(!1),l=gt(t,Ht(e)),n=gt(t,Bt(e));0===l&&0===n||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class xn{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.hPaletteC_=new Gn(e,{value:this.value,viewProps:this.viewProps}),this.svPaletteC_=new Yn(e,{value:this.value,viewProps:this.viewProps}),this.alphaIcs_=t.supportsAlpha?{palette:new mn(e,{value:this.value,viewProps:this.viewProps}),text:new qt(e,{parser:xt,baseStep:.1,props:M.fromObject({draggingScale:.01,formatter:wt(2)}),value:G(0,{constraint:new $e({min:0,max:1})}),viewProps:this.viewProps})}:null,this.alphaIcs_&&jt({primary:this.value,secondary:this.alphaIcs_.text.value,forward:e=>e.rawValue.getComponents()[3],backward:(e,t)=>{let l=e.rawValue.getComponents();return l[3]=t.rawValue,new Ml(l,e.rawValue.mode)}}),this.textC_=new Sn(e,{colorType:t.colorType,parser:xt,value:this.value,viewProps:this.viewProps}),this.view=new Yl(e,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:t.supportsAlpha,svPaletteView:this.svPaletteC_.view,textView:this.textC_.view,viewProps:this.viewProps})}get textController(){return this.textC_}}let Qn=Z("colsw");class Xn{constructor(e,t){this.onValueChange_=this.onValueChange_.bind(this),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.element=e.createElement("div"),this.element.classList.add(Qn()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(Qn("sw")),this.element.appendChild(l),this.swatchElem_=l;let n=e.createElement("button");n.classList.add(Qn("b")),t.viewProps.bindDisabled(n),this.element.appendChild(n),this.buttonElement=n,this.update_()}update_(){let e=this.value.rawValue;this.swatchElem_.style.backgroundColor=Vn(e)}onValueChange_(){this.update_()}}class wn{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new Xn(e,{value:this.value,viewProps:this.viewProps})}}class fn{constructor(e,t){this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=ne.create(t.expanded),this.swatchC_=new wn(e,{value:this.value,viewProps:this.viewProps});let l=this.swatchC_.view.buttonElement;l.addEventListener("blur",this.onButtonBlur_),l.addEventListener("click",this.onButtonClick_),this.textC_=new dt(e,{parser:t.parser,props:M.fromObject({formatter:t.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new Fl(e,{foldable:this.foldable_,pickerLayout:t.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_="popup"===t.pickerLayout?new st(e,{viewProps:this.viewProps}):null;let n=new xn(e,{colorType:t.colorType,supportsAlpha:t.supportsAlpha,value:this.value,viewProps:this.viewProps});
1n.view.allFocusableElements.forEach((e=>{e.addEventListener("blur",this.onPopupChildBlur_),e.addEventListener("keydown",this.onPopupChildKeydown_)})),this.pickerC_=n,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(n.view.element),jt({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:e=>e.rawValue,backward:(e,t)=>t.rawValue})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),ie(this.foldable_,this.view.pickerElement))}get textController(){return this.textC_}onButtonBlur_(e){if(!this.popC_)return;let t=this.view.element,l=e.relatedTarget;(!l||!t.contains(l))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;let t=this.popC_.view.element,l=P(e);l&&t.contains(l)||l&&l===this.swatchC_.view.buttonElement&&!v(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?"Escape"===e.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===e.key&&this.swatchC_.view.buttonElement.focus()}}function zn(e){return ul(e.getComponents("rgb")).reduce(((e,t)=>e<<8|255&Math.floor(t)),0)}function yn(e){return e.getComponents("rgb").reduce(((e,t,l)=>e<<8|255&Math.floor(3===l?255*t:t)),0)>>>0}function Cn(e){return"number"!=typeof e?Ml.black():function(e){return new Ml([e>>16&255,e>>8&255,255&e],"rgb")}(e)}function jn(e){return"number"!=typeof e?Ml.black():function(e){return new Ml([e>>24&255,e>>16&255,e>>8&255,Ot(255&e,0,255,0,1)],"rgb")}(e)}function gn(e){var t;return!!(e?.alpha||null!==(t=e?.color)&&void 0!==t&&t.alpha)}function Bn(e){return e?e=>Vn(e,"0x"):e=>nn(e,"0x")}let Hn={id:"input-color-number",type:"input",accept:(e,t)=>{if("number"!=typeof e||!function(e){return"color"in e||"view"in e&&"color"===e.view}(t))return null;let l=Ql(t);return l?{initialValue:e,params:l}:null},binding:{reader:e=>gn(e.params)?jn:Cn,equals:Ml.equals,writer:e=>function(e){let t=e?yn:zn;return(e,l)=>{il(e,t(l))}}(gn(e.params))},controller:e=>{let t=gn(e.params),l="expanded"in e.params?e.params.expanded:void 0,n="picker"in e.params?e.params.picker:void 0;return new fn(e.document,{colorType:"int",expanded:l??!1,formatter:Bn(t),parser:tn("int"),pickerLayout:n??"popup",supportsAlpha:t,value:e.value,viewProps:e.viewProps})}};function vn(e){return t=>function(e,t){return Ml.isColorObject(e)?Ml.fromObject(e,t):Ml.black(t)}(t,e)}function In(e,t){return l=>e?Rn(l,t):hn(l,t)}let Dn={id:"input-color-object",type:"input",accept:(e,t)=>{if(!Ml.isColorObject(e))return null;let l=Ql(t);return l?{initialValue:e,params:l}:null},binding:{reader:e=>vn(wl(e.params)),equals:Ml.equals,writer:e=>function(e,t){return(l,n)=>{e?function(e,t,l){let n=t.toRgbaObject(l);e.writeProperty("r",n.r),e.writeProperty("g",n.g),e.writeProperty("b",n.b),e.writeProperty("a",n.a)}(l,n,t):function(e,t,l){let n=t.toRgbaObject(l);e.writeProperty("r",n.r),e.writeProperty("g",n.g),e.writeProperty("b",n.b)}(l,n,t)}}(function(e){return Ml.isRgbaColorObject(e)}(e.initialValue),wl(e.params))},controller:e=>{var t;let l=Ml.isRgbaColorObject(e.initialValue),n="expanded"in e.params?e.params.expanded:void 0,V="picker"in e.params?e.params.picker:void 0,i=null!==(t=wl(e.params))&&void 0!==t?t:"int";return new fn(e.document,{colorType:i,expanded:n??!1,formatter:In(l,i),parser:tn(i),pickerLayout:V??"popup",supportsAlpha:l,value:e.value,viewProps:e.viewProps})}},On={id:"input-color-string",type:"input",accept:(e,t)=>{if("string"!=typeof e||"view"in t&&"text"===t.view)return null;let l=$l(e,wl(t));if(!l||!pn(l))return null;let n=Ql(t);return n?{initialValue:e,params:n}:null},binding:{reader:e=>{var t;return function(e){let t=en[e];return l=>"string"!=typeof l?Ml.black(e):t.reduce(((e,t)=>e||t(l)),null)??Ml.black(e)}(null!==(t=wl(e.params))&&void 0!==t?t:"int")},equals:Ml.equals,writer:e=>{let t=$l(e.initialValue,wl(e.params));if(!t)throw d.shouldNeverHappen();let l=function(e){let t=pn(e);return t?(e,l)=>{il(e,t(l))}:null}(t);if(!l)throw d.notBindable();return l}},controller:e=>{let t=$l(e.initialValue,wl(e.params));if(!t)throw d.shouldNeverHappen();let l=pn(t);if(!l)throw d.shouldNeverHappen();let n="expanded"in e.params?e.params.expanded:void 0,V="picker"in e.params?e.params.picker:void 0;return new fn(e.document,{colorType:t.type,expanded:n??!1,formatter:l,parser:tn(t.type),pickerLayout:V??"popup",supportsAlpha:t.alpha,value:e.value,viewProps:e.viewProps})}};class _n{constructor(e){this.components=e.components,this.asm_=e.assembly}constrain(e){let t=this.asm_.toComponents(e).map(((e,t)=>{var l,n;return null!==(n=null===(l=this.components[t])||void 0===l?void 0:l.constrain(e))&&void 0!==n?n:e}));return this.asm_.fromComponents(t)}}let Ln=Z("pndtxt");class Kn{constructor(e,t){this.textViews=t.textViews,this.element=e.createElement("div"),this.element.classList.add(Ln()),this.textViews.forEach((t=>{let l=e.createElement("div");l.classList.add(Ln("a")),l.appendChild(t.element),this.element.appendChild(l)}))}}class Pn{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.acs_=t.axes.map(((l,n)=>function(e,t,l){return new qt(e,{arrayPosition:0===l?"fst":l===t.axes.length-1?"lst":"mid",baseStep:t.axes[l].baseStep,parser:t.parser,props:t.axes[l].textProps,value:G(0,{constraint:t.axes[l].constraint}),viewProps:t.viewProps})}
1(e,t,n))),this.acs_.forEach(((e,l)=>{jt({primary:this.value,secondary:e.value,forward:e=>t.assembly.toComponents(e.rawValue)[l],backward:(e,n)=>{let V=t.assembly.toComponents(e.rawValue);return V[l]=n.rawValue,t.assembly.fromComponents(V)}})})),this.view=new Kn(e,{textViews:this.acs_.map((e=>e.view))})}}function An(e,t){return"step"in e&&!r(e.step)?new lt(e.step,t):null}function qn(e){return r(e.max)||r(e.min)?r(e.max)&&r(e.min)?null:new tt({max:e.max,min:e.min}):new $e({max:e.max,min:e.min})}let $n={id:"input-number",type:"input",accept:(e,t)=>{if("number"!=typeof e)return null;let l=x,n=Q(t,{format:l.optional.function,max:l.optional.number,min:l.optional.number,options:l.optional.custom(al),step:l.optional.number});return n?{initialValue:e,params:n}:null},binding:{reader:e=>Qt,constraint:e=>function(e,t){let l=[],n=An(e,t);n&&l.push(n);let V=qn(e);V&&l.push(V);let i=hl(e.options);return i&&l.push(i),new Ae(l)}(e.params,e.initialValue),writer:e=>il},controller:e=>{var t;let l=e.value,n=e.constraint,V=n&&qe(n,et);if(V)return new it(e.document,{props:new M({options:V.values.value("options")}),value:l,viewProps:e.viewProps});let i=null!==(t="format"in e.params?e.params.format:void 0)&&void 0!==t?t:wt(dl(n,l.rawValue)),a=n&&qe(n,$e);return a?new Vl(e.document,{baseStep:Rl(n),parser:xt,sliderProps:new M({maxValue:a.values.value("max"),minValue:a.values.value("min")}),textProps:M.fromObject({draggingScale:Ul(n,l.rawValue),formatter:i}),value:l,viewProps:e.viewProps}):new qt(e.document,{baseStep:Rl(n),parser:xt,props:M.fromObject({draggingScale:Ul(n,l.rawValue),formatter:i}),value:l,viewProps:e.viewProps})}};class eV{constructor(e=0,t=0){this.x=e,this.y=t}getComponents(){return[this.x,this.y]}static isObject(e){if(r(e))return!1;let t=e.x,l=e.y;return!("number"!=typeof t||"number"!=typeof l)}static equals(e,t){return e.x===t.x&&e.y===t.y}toObject(){return{x:this.x,y:this.y}}}let tV={toComponents:e=>e.getComponents(),fromComponents:e=>new eV(...e)},lV=Z("p2d");class nV{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(lV()),t.viewProps.bindClassModifiers(this.element),m(t.expanded,N(this.element,lV(void 0,"expanded")));let l=e.createElement("div");l.classList.add(lV("h")),this.element.appendChild(l);let n=e.createElement("button");n.classList.add(lV("b")),n.appendChild(O(e,"p2dpad")),t.viewProps.bindDisabled(n),l.appendChild(n),this.buttonElement=n;let V=e.createElement("div");if(V.classList.add(lV("t")),l.appendChild(V),this.textElement=V,"inline"===t.pickerLayout){let t=e.createElement("div");t.classList.add(lV("p")),this.element.appendChild(t),this.pickerElement=t}else this.pickerElement=null}}let VV=Z("p2dp");class iV{constructor(e,t){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.invertsY_=t.invertsY,this.maxValue_=t.maxValue,this.element=e.createElement("div"),this.element.classList.add(VV()),"popup"===t.layout&&this.element.classList.add(VV(void 0,"p")),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(VV("p")),t.viewProps.bindTabIndex(l),this.element.appendChild(l),this.padElement=l;let n=e.createElementNS(B,"svg");n.classList.add(VV("g")),this.padElement.appendChild(n),this.svgElem_=n;let V=e.createElementNS(B,"line");V.classList.add(VV("ax")),V.setAttributeNS(null,"x1","0"),V.setAttributeNS(null,"y1","50%"),V.setAttributeNS(null,"x2","100%"),V.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(V);let i=e.createElementNS(B,"line");i.classList.add(VV("ax")),i.setAttributeNS(null,"x1","50%"),i.setAttributeNS(null,"y1","0"),i.setAttributeNS(null,"x2","50%"),i.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(i);let a=e.createElementNS(B,"line");a.classList.add(VV("l")),a.setAttributeNS(null,"x1","50%"),a.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(a),this.lineElem_=a;let r=e.createElement("div");r.classList.add(VV("m")),this.padElement.appendChild(r),this.markerElem_=r,t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.update_()}get allFocusableElements(){return[this.padElement]}update_(){let[e,t]=this.value.rawValue.getComponents(),l=this.maxValue_,n=Ot(e,-l,+l,0,100),V=Ot(t,-l,+l,0,100),i=this.invertsY_?100-V:V;this.lineElem_.setAttributeNS(null,"x2",`${n}%`),this.lineElem_.setAttributeNS(null,"y2",`${i}%`),this.markerElem_.style.left=`${n}%`,this.markerElem_.style.top=`${i}%`}onValueChange_(){this.update_()}onFoldableChange_(){this.update_()}}function aV(e,t,l){return[gt(t[0],Ht(e)),gt(t[1],Bt(e))*(l?1:-1)]}class rV{constructor(e,t){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.baseSteps_=t.baseSteps,this.maxValue_=t.maxValue,this.invertsY_=t.invertsY,this.view=new iV(e,{invertsY:this.invertsY_,layout:t.layout,maxValue:this.maxValue_,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new Dt(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}handlePointerEvent_(e,t){if(!e.point)return;let l=this.maxValue_,n=Ot(e.point.x,0,e.bounds.width,-l,+l),V=Ot(this.invertsY_?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-l,+l);this.value.setRawValue(new eV(n,V),t)}onPointerDown_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerMove_(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})}onPadKeyDown_(e){vt(e.key)&&e.preventDefault();let[t,l]=aV(e,this.baseSteps_,this.invertsY_);0===t&&0===l||this.value.setRawValue(new eV(this.value.rawValue.x+t,this.value.rawValue.y+l),{forceEmit:!1,last:!1})}onPadKeyUp_(e){let[t,l]=aV(e,this.baseSteps_,this.invertsY_);0===t&&0===l||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class sV{constructor(e,t){var l,n;this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=ne.create(t.expanded),this.popC_="popup"===t.pickerLayout?new st(e,{viewProps:this.viewProps}):null;let V=new rV(e,{baseSteps:[t.axes[0].baseStep,t.axes[1].baseStep],invertsY:t.invertsY,layout:t.pickerLayout,maxValue:t.maxValue,value:this.value,viewProps:this.viewProps});
1V.view.allFocusableElements.forEach((e=>{e.addEventListener("blur",this.onPopupChildBlur_),e.addEventListener("keydown",this.onPopupChildKeydown_)})),this.pickerC_=V,this.textC_=new Pn(e,{assembly:tV,axes:t.axes,parser:t.parser,value:this.value,viewProps:this.viewProps}),this.view=new nV(e,{expanded:this.foldable_.value("expanded"),pickerLayout:t.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),null===(l=this.view.buttonElement)||void 0===l||l.addEventListener("blur",this.onPadButtonBlur_),null===(n=this.view.buttonElement)||void 0===n||n.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),jt({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:e=>e.rawValue,backward:(e,t)=>t.rawValue})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),ie(this.foldable_,this.view.pickerElement))}onPadButtonBlur_(e){if(!this.popC_)return;let t=this.view.element,l=e.relatedTarget;(!l||!t.contains(l))&&(this.popC_.shows.rawValue=!1)}onPadButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;let t=this.popC_.view.element,l=P(e);l&&t.contains(l)||l&&l===this.view.buttonElement&&!v(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_?"Escape"===e.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===e.key&&this.view.buttonElement.focus()}}class oV{constructor(e=0,t=0,l=0){this.x=e,this.y=t,this.z=l}getComponents(){return[this.x,this.y,this.z]}static isObject(e){if(r(e))return!1;let t=e.x,l=e.y,n=e.z;return!("number"!=typeof t||"number"!=typeof l||"number"!=typeof n)}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z}toObject(){return{x:this.x,y:this.y,z:this.z}}}let hV={toComponents:e=>e.getComponents(),fromComponents:e=>new oV(...e)};function dV(e){return oV.isObject(e)?new oV(e.x,e.y,e.z):new oV}function RV(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z)}function UV(e,t){return{baseStep:Rl(t),constraint:t,textProps:M.fromObject({draggingScale:Ul(t,e),formatter:wt(dl(t,e))})}}let cV={id:"input-point3d",type:"input",accept:(e,t)=>{if(!oV.isObject(e))return null;let l=x,n=Q(t,{x:l.optional.custom(sl),y:l.optional.custom(sl),z:l.optional.custom(sl)});return n?{initialValue:e,params:n}:null},binding:{reader:e=>dV,constraint:e=>function(e,t){return new _n({assembly:hV,components:[gV("x"in e?e.x:void 0,t.x),gV("y"in e?e.y:void 0,t.y),gV("z"in e?e.z:void 0,t.z)]})}(e.params,e.initialValue),equals:oV.equals,writer:e=>RV},controller:e=>{let t=e.value,l=e.constraint;if(!(l instanceof _n))throw d.shouldNeverHappen();return new Pn(e.document,{assembly:hV,axes:[UV(t.rawValue.x,l.components[0]),UV(t.rawValue.y,l.components[1]),UV(t.rawValue.z,l.components[2])],parser:xt,value:t,viewProps:e.viewProps})}};class pV{constructor(e=0,t=0,l=0,n=0){this.x=e,this.y=t,this.z=l,this.w=n}getComponents(){return[this.x,this.y,this.z,this.w]}static isObject(e){if(r(e))return!1;let t=e.x,l=e.y,n=e.z,V=e.w;return!("number"!=typeof t||"number"!=typeof l||"number"!=typeof n||"number"!=typeof V)}static equals(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}toObject(){return{x:this.x,y:this.y,z:this.z,w:this.w}}}let ZV={toComponents:e=>e.getComponents(),fromComponents:e=>new pV(...e)};function WV(e){return pV.isObject(e)?new pV(e.x,e.y,e.z,e.w):new pV}function mV(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z),e.writeProperty("w",t.w)}let FV={id:"input-point4d",type:"input",accept:(e,t)=>{if(!pV.isObject(e))return null;let l=x,n=Q(t,{x:l.optional.custom(sl),y:l.optional.custom(sl),z:l.optional.custom(sl),w:l.optional.custom(sl)});return n?{initialValue:e,params:n}:null},binding:{reader:e=>WV,constraint:e=>function(e,t){return new _n({assembly:ZV,components:[gV("x"in e?e.x:void 0,t.x),gV("y"in e?e.y:void 0,t.y),gV("z"in e?e.z:void 0,t.z),gV("w"in e?e.w:void 0,t.w)]})}
1(e.params,e.initialValue),equals:pV.equals,writer:e=>mV},controller:e=>{let t=e.value,l=e.constraint;if(!(l instanceof _n))throw d.shouldNeverHappen();return new Pn(e.document,{assembly:ZV,axes:t.rawValue.getComponents().map(((e,t)=>function(e,t){return{baseStep:Rl(t),constraint:t,textProps:M.fromObject({draggingScale:Ul(t,e),formatter:wt(dl(t,e))})}}(e,l.components[t]))),parser:xt,value:t,viewProps:e.viewProps})}},NV={id:"input-string",type:"input",accept:(e,t)=>{if("string"!=typeof e)return null;let l=Q(t,{options:x.optional.custom(al)});return l?{initialValue:e,params:l}:null},binding:{reader:e=>yt,constraint:e=>function(e){let t=[],l=hl(e.options);return l&&t.push(l),new Ae(t)}(e.params),writer:e=>il},controller:e=>{let t=e.document,l=e.value,n=e.constraint,V=n&&qe(n,et);return V?new it(t,{props:new M({options:V.values.value("options")}),value:l,viewProps:e.viewProps}):new dt(t,{parser:e=>e,props:M.fromObject({formatter:Ct}),value:l,viewProps:e.viewProps})}},uV={monitor:{defaultInterval:200,defaultLineCount:3}},EV=Z("mll");class bV{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(EV()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("textarea");l.classList.add(EV("i")),l.style.height=`calc(var(--bld-us) * ${t.lineCount})`,l.readOnly=!0,t.viewProps.bindDisabled(l),this.element.appendChild(l),this.textareaElem_=l,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){let e=this.textareaElem_,t=e.scrollTop===e.scrollHeight-e.clientHeight,l=[];this.value.rawValue.forEach((e=>{void 0!==e&&l.push(this.formatter_(e))})),e.textContent=l.join("\n"),t&&(e.scrollTop=e.scrollHeight)}onValueUpdate_(){this.update_()}}class SV{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new bV(e,{formatter:t.formatter,lineCount:t.lineCount,value:this.value,viewProps:this.viewProps})}}let JV=Z("sgl");class TV{constructor(e,t){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=t.formatter,this.element=e.createElement("div"),this.element.classList.add(JV()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("input");l.classList.add(JV("i")),l.readOnly=!0,l.type="text",t.viewProps.bindDisabled(l),this.element.appendChild(l),this.inputElement=l,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}update_(){let e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=void 0!==t?this.formatter_(t):""}onValueUpdate_(){this.update_()}}class GV{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new TV(e,{formatter:t.formatter,value:this.value,viewProps:this.viewProps})}}let MV={id:"monitor-bool",type:"monitor",accept:(e,t)=>{if("boolean"!=typeof e)return null;let l=Q(t,{lineCount:x.optional.number});return l?{initialValue:e,params:l}:null},binding:{reader:e=>Rt},controller:e=>{var t;return 1===e.value.rawValue.length?new GV(e.document,{formatter:Ut,value:e.value,viewProps:e.viewProps}):new SV(e.document,{formatter:Ut,lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:uV.monitor.defaultLineCount,value:e.value,viewProps:e.viewProps})}},kV=Z("grl");class YV{constructor(e,t){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=e.createElement("div"),this.element.classList.add(kV()),t.viewProps.bindClassModifiers(this.element),this.formatter_=t.formatter,this.props_=t.props,this.cursor_=t.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);let l=e.createElementNS(B,"svg");l.classList.add(kV("g")),l.style.height=`calc(var(--bld-us) * ${t.lineCount})`,this.element.appendChild(l),this.svgElem_=l;let n=e.createElementNS(B,"polyline");this.svgElem_.appendChild(n),this.lineElem_=n;let V=e.createElement("div");V.classList.add(kV("t"),Z("tt")()),this.element.appendChild(V),this.tooltipElem_=V,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}get graphElement(){return this.svgElem_}update_(){let e=this.svgElem_.getBoundingClientRect(),t=this.value.rawValue.length-1,l=this.props_.get("minValue"),n=this.props_.get("maxValue"),V=[];this.value.rawValue.forEach(((i,a)=>
1{if(void 0===i)return;let r=Ot(a,0,t,0,e.width),s=Ot(i,l,n,e.height,0);V.push([r,s].join(","))})),this.lineElem_.setAttributeNS(null,"points",V.join(" "));let i=this.tooltipElem_,a=this.value.rawValue[this.cursor_.rawValue];if(void 0===a)return void i.classList.remove(kV("t","a"));let r=Ot(this.cursor_.rawValue,0,t,0,e.width),s=Ot(a,l,n,e.height,0);i.style.left=`${r}px`,i.style.top=`${s}px`,i.textContent=`${this.formatter_(a)}`,i.classList.contains(kV("t","a"))||(i.classList.add(kV("t","a"),kV("t","in")),H(i),i.classList.remove(kV("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}}class xV{constructor(e,t){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props_=t.props,this.value=t.value,this.viewProps=t.viewProps,this.cursor_=G(-1),this.view=new YV(e,{cursor:this.cursor_,formatter:t.formatter,lineCount:t.lineCount,props:this.props_,value:this.value,viewProps:this.viewProps}),v(e)){let e=new Dt(this.view.element);e.emitter.on("down",this.onGraphPointerDown_),e.emitter.on("move",this.onGraphPointerMove_),e.emitter.on("up",this.onGraphPointerUp_)}else this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_)}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(e){let t=this.view.element.getBoundingClientRect();this.cursor_.rawValue=Math.floor(Ot(e.offsetX,0,t.width,0,this.value.rawValue.length))}onGraphPointerDown_(e){this.onGraphPointerMove_(e)}onGraphPointerMove_(e){e.data.point?this.cursor_.rawValue=Math.floor(Ot(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length)):this.cursor_.rawValue=-1}onGraphPointerUp_(){this.cursor_.rawValue=-1}}function QV(e){return"format"in e&&!r(e.format)?e.format:wt(2)}function XV(e){return"view"in e&&"graph"===e.view}let wV={id:"monitor-number",type:"monitor",accept:(e,t)=>{if("number"!=typeof e)return null;let l=x,n=Q(t,{format:l.optional.function,lineCount:l.optional.number,max:l.optional.number,min:l.optional.number,view:l.optional.string});return n?{initialValue:e,params:n}:null},binding:{defaultBufferSize:e=>XV(e)?64:1,reader:e=>Qt},controller:e=>XV(e.params)?function(e){var t,l,n;return new xV(e.document,{formatter:QV(e.params),lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:uV.monitor.defaultLineCount,props:M.fromObject({maxValue:null!==(l="max"in e.params?e.params.max:null)&&void 0!==l?l:100,minValue:null!==(n="min"in e.params?e.params.min:null)&&void 0!==n?n:0}),value:e.value,viewProps:e.viewProps})}(e):function(e){var t;return 1===e.value.rawValue.length?new GV(e.document,{formatter:QV(e.params),value:e.value,viewProps:e.viewProps}):new SV(e.document,{formatter:QV(e.params),lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:uV.monitor.defaultLineCount,value:e.value,viewProps:e.viewProps})}(e)},fV={id:"monitor-string",type:"monitor",accept:(e,t)=>{if("string"!=typeof e)return null;let l=x,n=Q(t,{lineCount:l.optional.number,multiline:l.optional.boolean});return n?{initialValue:e,params:n}:null},binding:{reader:e=>yt},controller:e=>{var t;let l=e.value;return l.rawValue.length>1||"multiline"in e.params&&e.params.multiline?new SV(e.document,{formatter:Ct,lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:uV.monitor.defaultLineCount,value:l,viewProps:e.viewProps}):new GV(e.document,{formatter:Ct,value:l,viewProps:e.viewProps})}};function zV(e,t){return 0===t?new Ie:new De(e,t??uV.monitor.defaultInterval)}class yV{constructor(){this.pluginsMap_={blades:[],inputs:[],monitors:[]}}getAll(){return[...this.pluginsMap_.blades,...this.pluginsMap_.inputs,...this.pluginsMap_.monitors]}register(e){"blade"===e.type?this.pluginsMap_.blades.unshift(e):"input"===e.type?this.pluginsMap_.inputs.unshift(e):"monitor"===e.type&&this.pluginsMap_.monitors.unshift(e)}createInput(e,t,l){if(r(t.read()))throw new d({context:{key:t.key},type:"nomatchingcontroller"});
1let n=this.pluginsMap_.inputs.reduce(((n,V)=>n??function(e,t){var l;let n=e.accept(t.target.read(),t.params);if(r(n))return null;let V=x,i={target:t.target,initialValue:n.initialValue,params:n.params},a=e.binding.reader(i),s=e.binding.constraint?e.binding.constraint(i):void 0,o=G(a(n.initialValue),{constraint:s,equals:e.binding.equals}),h=new Oe({reader:a,target:t.target,value:o,writer:e.binding.writer(i)}),d=V.optional.boolean(t.params.disabled).value,R=V.optional.boolean(t.params.hidden).value,U=e.controller({constraint:s,document:t.document,initialValue:n.initialValue,params:n.params,value:h.value,viewProps:y.create({disabled:d,hidden:R})});return new oe(t.document,{binding:h,blade:le(),props:M.fromObject({label:"label"in t.params?null!==(l=V.optional.string(t.params.label).value)&&void 0!==l?l:null:t.target.key}),valueController:U})}(V,{document:e,target:t,params:l})),null);if(n)return n;throw new d({context:{key:t.key},type:"nomatchingcontroller"})}createMonitor(e,t,l){let n=this.pluginsMap_.monitors.reduce(((n,V)=>n??function(e,t){var l,n,V;let i=x,a=e.accept(t.target.read(),t.params);if(r(a))return null;let s={target:t.target,initialValue:a.initialValue,params:a.params},o=e.binding.reader(s),h=null!==(n=null!==(l=i.optional.number(t.params.bufferSize).value)&&void 0!==l?l:e.binding.defaultBufferSize&&e.binding.defaultBufferSize(a.params))&&void 0!==n?n:1,d=i.optional.number(t.params.interval).value,R=new Pe({reader:o,target:t.target,ticker:zV(t.document,d),value:Le(h)}),U=i.optional.boolean(t.params.disabled).value,c=i.optional.boolean(t.params.hidden).value,p=e.controller({document:t.document,params:a.params,value:R.value,viewProps:y.create({disabled:U,hidden:c})});return new de(t.document,{binding:R,blade:le(),props:M.fromObject({label:"label"in t.params?null!==(V=i.optional.string(t.params.label).value)&&void 0!==V?V:null:t.target.key}),valueController:p})}(V,{document:e,params:l,target:t})),null);if(n)return n;throw new d({context:{key:t.key},type:"nomatchingcontroller"})}createBlade(e,t){let l=this.pluginsMap_.blades.reduce(((l,n)=>l??function(e,t){let l=e.accept(t.params);if(!l)return null;let n=x.optional.boolean(t.params.disabled).value,V=x.optional.boolean(t.params.hidden).value;return e.controller({blade:le(),document:t.document,params:Object.assign(Object.assign({},l.params),{disabled:n,hidden:V}),viewProps:y.create({disabled:n,hidden:V})})}(n,{document:e,params:t})),null);if(!l)throw new d({type:"nomatchingview",context:{params:t}});return l}createBladeApi(e){if(e instanceof oe)return new se(e);if(e instanceof de)return new he(e);if(e instanceof Ee)return new pe(e,this);let t=this.pluginsMap_.blades.reduce(((t,l)=>t??l.api({controller:e,pool:this})),null);if(!t)throw d.shouldNeverHappen();return t}}function CV(e){return eV.isObject(e)?new eV(e.x,e.y):new eV}function jV(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y)}function gV(e,t){if(!e)return;let l=[],n=An(e,t);n&&l.push(n);let V=qn(e);return V&&l.push(V),new Ae(l)}function BV(e,t){let[l,n]=e?function(e){let t=qe(e,$e);if(t)return[t.values.get("min"),t.values.get("max")];let l=qe(e,tt);return l?[l.minValue,l.maxValue]:[void 0,void 0]}(e):[];if(!r(l)||!r(n))return Math.max(Math.abs(l??0),Math.abs(n??0));let V=Rl(e);return Math.max(10*Math.abs(V),10*Math.abs(t))}function HV(e,t){let l=t instanceof _n?t.components[0]:void 0,n=t instanceof _n?t.components[1]:void 0,V=BV(l,e.x),i=BV(n,e.y);return Math.max(V,i)}function vV(e,t){return{baseStep:Rl(t),constraint:t,textProps:M.fromObject({draggingScale:Ul(t,e),formatter:wt(dl(t,e))})}}function IV(e){if(!("y"in e))return!1;let t=e.y;return!(!t||!("inverted"in t)||!t.inverted)}let DV={id:"input-point2d",type:"input",accept:(e,t)=>{if(!eV.isObject(e))return null;let l=x,n=Q(t,{expanded:l.optional.boolean,picker:l.optional.custom(rl),x:l.optional.custom(sl),y:l.optional.object({inverted:l.optional.boolean,max:l.optional.number,min:l.optional.number,step:l.optional.number})});return n?{initialValue:e,params:n}:null},binding:{reader:e=>CV,constraint:e=>function(e,t){return new _n({assembly:tV,components:[gV("x"in e?e.x:void 0,t.x),gV("y"in e?e.y:void 0,t.y)]})}
1(e.params,e.initialValue),equals:eV.equals,writer:e=>jV},controller:e=>{let t=e.document,l=e.value,n=e.constraint;if(!(n instanceof _n))throw d.shouldNeverHappen();let V="expanded"in e.params?e.params.expanded:void 0,i="picker"in e.params?e.params.picker:void 0;return new sV(t,{axes:[vV(l.rawValue.x,n.components[0]),vV(l.rawValue.y,n.components[1])],expanded:V??!1,invertsY:IV(e.params),maxValue:HV(l.rawValue,n),parser:xt,pickerLayout:i??"popup",value:l,viewProps:e.viewProps})}};class OV extends t{constructor(e){super(e),this.emitter_=new c,this.controller_.valueController.value.emitter.on("change",(e=>{this.emitter_.emit("change",{event:new n(this,e.rawValue)})}))}get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}get options(){return this.controller_.valueController.props.get("options")}set options(e){this.controller_.valueController.props.set("options",e)}get value(){return this.controller_.valueController.value.rawValue}set value(e){this.controller_.valueController.value.rawValue=e}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}}class _V extends t{constructor(e){super(e),this.emitter_=new c,this.controller_.valueController.value.emitter.on("change",(e=>{this.emitter_.emit("change",{event:new n(this,e.rawValue)})}))}get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}get maxValue(){return this.controller_.valueController.sliderController.props.get("maxValue")}set maxValue(e){this.controller_.valueController.sliderController.props.set("maxValue",e)}get minValue(){return this.controller_.valueController.sliderController.props.get("minValue")}set minValue(e){this.controller_.valueController.sliderController.props.set("minValue",e)}get value(){return this.controller_.valueController.value.rawValue}set value(e){this.controller_.valueController.value.rawValue=e}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}}class LV extends t{constructor(e){super(e),this.emitter_=new c,this.controller_.valueController.value.emitter.on("change",(e=>{this.emitter_.emit("change",{event:new n(this,e.rawValue)})}))}get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}get formatter(){return this.controller_.valueController.props.get("formatter")}set formatter(e){this.controller_.valueController.props.set("formatter",e)}get value(){return this.controller_.valueController.value.rawValue}set value(e){this.controller_.valueController.value.rawValue=e}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}}let KV={id:"list",type:"blade",accept(e){let t=x,l=Q(e,{options:t.required.custom(al),value:t.required.raw,view:t.required.constant("list"),label:t.optional.string});return l?{params:l}:null},controller(e){let t=new et(ol(e.params.options)),l=G(e.params.value,{constraint:t}),n=new it(e.document,{props:new M({options:t.values.value("options")}),value:l,viewProps:e.viewProps});return new Ge(e.document,{blade:e.blade,props:M.fromObject({label:e.params.label}),valueController:n})},api(e){return e.controller instanceof Ge&&e.controller.valueController instanceof it?new OV(e.controller):null}};class PV extends Ze{constructor(e,t){super(e,t)}get element(){return this.controller_.view.element}importPreset(e){(function(e,t){e.forEach((e=>{let l=t[e.target.presetKey];void 0!==l&&e.writer(e.target,e.reader(l))}))})(this.controller_.rackController.rack.find(oe).map((e=>e.binding)),e),this.refresh()}exportPreset(){let e=this.controller_.rackController.rack.find(oe).map((e=>e.binding.target));return e.reduce(((e,t)=>Object.assign(e,{[t.presetKey]:t.read()})),{})}refresh(){this.controller_.rackController.rack.find(oe).forEach((e=>{e.binding.read()})),this.controller_.rackController.rack.find(de).forEach((e=>{e.binding.read()}))}}class AV extends Je{constructor(e,t){super(e,{expanded:t.expanded,blade:t.blade,props:t.props,root:!0,viewProps:t.viewProps})}}let qV={id:"slider",type:"blade",accept(e){let t=x,l=Q(e,{max:t.required.number,min:t.required.number,view:t.required.constant("slider"),format:t.optional.function,label:t.optional.string,value:t.optional.number});return l?{params:l}:null},controller(e){var t,l;let n=null!==(t=e.params.value)&&void 0!==t?t:0,V=new $e({max:e.params.max,min:e.params.min}),i=new Vl(e.document,{baseStep:1,parser:xt,sliderProps:new M({maxValue:V.values.value("max"),minValue:V.values.value("min")}),textProps:M.fromObject({draggingScale:Ul(void 0,n),formatter:null!==(l=e.params.format)&&void 0!==l?l:Xt}),value:G(n,{constraint:V}),viewProps:e.viewProps});return new Ge(e.document,{blade:e.blade,props:M.fromObject({label:e.params.label}),valueController:i})},api(e){return e.controller instanceof Ge&&e.controller.valueController instanceof Vl?new _V(e.controller):null}},$V={id:"text",type:"blade",accept(e){let t=x,l=Q(e,{parse:t.required.function,value:t.required.raw,view:t.required.constant("text"),format:t.optional.function,label:t.optional.string});return l?{params:l}:null},controller(e){var t;let l=new dt(e.document,{parser:e.params.parse,props:M.fromObject({formatter:null!==(t=e.params.format)&&void 0!==t?t:e=>String(e)}),value:G(e.params.value),viewProps:e.viewProps});return new Ge(e.document,{blade:e.blade,props:M.fromObject({label:e.params.label}),valueController:l})},api(e){return e.controller instanceof Ge&&e.controller.valueController instanceof dt?new LV(e.controller):null}};function ei(e,t,l){if(e.querySelector(`style[data-tp-style=${t}]`))return;let n=e.createElement("style");n.dataset.tpStyle=t,n.textContent=l,e.head.appendChild(n)}let ti=new class{constructor(e){let[t,l]=e.split("-"),n=t.split(".");this.major=parseInt(n[0],10),this.minor=parseInt(n[1],10),this.patch=parseInt(n[2],10),this.prerelease=l??null}toString(){let e=[this.major,this.minor,this.patch].join(".");return null!==this.prerelease?[e,this.prerelease].join("-"):e}}("3.1.10");e.BladeApi=t,e.ButtonApi=U,e.FolderApi=Ze,e.InputBindingApi=se,e.ListApi=OV,e.MonitorBindingApi=he,e.Pane
1=class extends PV{constructor(e){var t,l;let n=e??{},V=null!==(t=n.document)&&void 0!==t?t:I(),i=function(){let e=new yV;return[DV,cV,FV,NV,$n,On,Dn,Hn,Wl,MV,fV,wV,ee,Te,Qe,ve].forEach((t=>{e.register(t)})),e}();super(new AV(V,{expanded:n.expanded,blade:le(),props:M.fromObject({title:n.title}),viewProps:y.create()}),i),this.pool_=i,this.containerElem_=null!==(l=n.container)&&void 0!==l?l:function(e){let t=e.createElement("div");return t.classList.add(Z("dfw")()),e.body&&e.body.appendChild(t),t}(V),this.containerElem_.appendChild(this.element),this.doc_=V,this.usesDefaultWrapper_=!n.container,this.setUpDefaultPlugins_()}get document(){if(!this.doc_)throw d.alreadyDisposed();return this.doc_}dispose(){let e=this.containerElem_;if(!e)throw d.alreadyDisposed();if(this.usesDefaultWrapper_){let t=e.parentElement;t&&t.removeChild(e)}this.containerElem_=null,this.doc_=null,super.dispose()}registerPlugin(e){("plugin"in e?[e.plugin]:"plugins"in e?e.plugins:[]).forEach((e=>{this.pool_.register(e),this.embedPluginStyle_(e)}))}embedPluginStyle_(e){e.css&&ei(this.document,`plugin-${e.id}`,e.css)}setUpDefaultPlugins_(){ei(this.document,"default",'.tp-tbiv_b,.tp-coltxtv_ms,.tp-ckbv_i,.tp-rotv_b,.tp-fldv_b,.tp-mllv_i,.tp-sglv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{background-color:var(--btn-bg);border-radius:var(--elm-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--bld-us);line-height:var(--bld-us);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-p2dv_b:hover,.tp-btnv_b:hover,.tp-lstv_s:hover{background-color:var(--btn-bg-h)}.tp-p2dv_b:focus,.tp-btnv_b:focus,.tp-lstv_s:focus{background-color:var(--btn-bg-f)}.tp-p2dv_b:active,.tp-btnv_b:active,.tp-lstv_s:active{background-color:var(--btn-bg-a)}.tp-p2dv_b:disabled,.tp-btnv_b:disabled,.tp-lstv_s:disabled{opacity:.5}.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-txtv_i:hover,.tp-p2dpv_p:hover,.tp-colswv_sw:hover{background-color:var(--in-bg-h)}.tp-txtv_i:focus,.tp-p2dpv_p:focus,.tp-colswv_sw:focus{background-color:var(--in-bg-f)}.tp-txtv_i:active,.tp-p2dpv_p:active,.tp-colswv_sw:active{background-color:var(--in-bg-a)}.tp-txtv_i:disabled,.tp-p2dpv_p:disabled,.tp-colswv_sw:disabled{opacity:.5}.tp-mllv_i,.tp-sglv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--mo-fg);height:var(--bld-us);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-mllv_i::-webkit-scrollbar,.tp-sglv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-mllv_i::-webkit-scrollbar-corner,.tp-sglv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-mllv_i::-webkit-scrollbar-thumb,.tp-sglv_i::-webkit-scrollbar-thumb,.tp-grlv_g::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:currentColor;border:rgba(0,0,0,0) solid 2px;border-radius:4px}.tp-rotv{--font-family: var(--tp-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-br: var(--tp-base-border-radius, 6px);--cnt-h-p: var(--tp-container-horizontal-padding, 4px);--cnt-v-p: var(--tp-container-vertical-padding, 4px);--elm-br: var(--tp-element-border-radius, 2px);--bld-s: var(--tp-blade-spacing, 4px);--bld-us: var(--tp-blade-unit-size, 20px);--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--btn-bg: var(--tp-button-background-color, hsl(230, 7%, 70%));--btn-bg-a: var(--tp-button-background-color-active, #d6d7db);--btn-bg-f: var(--tp-button-background-color-focus, #c8cad0);--btn-bg-h: var(--tp-button-background-color-hover, #bbbcc4);--btn-fg: var(--tp-button-foreground-color, hsl(230, 7%, 17%));--cnt-bg: var(--tp-container-background-color, rgba(187, 188, 196, 0.1));--cnt-bg-a: var(--tp-container-background-color-active, rgba(187, 188, 196, 0.25));--cnt-bg-f: var(--tp-container-background-color-focus, rgba(187, 188, 196, 0.2));--cnt-bg-h: var(--tp-container-background-color-hover, rgba(187, 188, 196, 0.15));--cnt-fg: var(--tp-container-foreground-color, hsl(230, 7%, 75%));--in-bg: var(--tp-input-background-color, rgba(187, 188, 196, 0.1));--in-bg-a: var(--tp-input-background-color-active, rgba(187, 188, 196, 0.25));--in-bg-f: var(--tp-input-background-color-focus, rgba(187, 188, 196, 0.2));--in-bg-h: var(--tp-input-background-color-hover, rgba(187, 188, 196, 0.15));--in-fg: var(--tp-input-foreground-color, hsl(230, 7%, 75%));--lbl-fg: var(--tp-label-foreground-color, rgba(187, 188, 196, 0.7));--mo-bg: var(--tp-monitor-background-color, rgba(0, 0, 0, 0.2));--mo-fg: var(--tp-monitor-foreground-color, rgba(187, 188, 196, 0.7));--grv-fg: var(--tp-groove-foreground-color, rgba(187, 188, 196, 0.1))}.tp-rotv_c>.tp-cntv.tp-v-lst,.tp-tabv_c .tp-brkv>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-v-p))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tabv_c .tp-brkv>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_c{border-bottom-left-radius:0}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-tabv_c .tp-brkv>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_b{border-bottom-left-radius:0}.tp-rotv_c>*:not(.tp-v-fst),.tp-tabv_c .tp-brkv>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--bld-s)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tabv_c .tp-brkv>.tp-sprv:not(.tp-v-fst),.tp-fldv_c>.tp-sprv:not(.tp-v-fst),.tp-rotv_c>.tp-cntv:not(.tp-v-fst),.tp-tabv_c .tp-brkv>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-v-p)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tabv_c .tp-brkv>.tp-sprv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-tabv_c .tp-brkv>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-v-p)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tabv_c .tp-brkv>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-fldv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-rotv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-tabv_c .tp-brkv>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tabv_c .tp-brkv>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tabv_c .tp-brkv>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--elm-br);border-bottom-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv>.tp-fldv.tp-fldv-expanded>.tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b{border-bottom-left-radius:0}.tp-tabv_c .tp-brkv .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tabv_c .tp-brkv>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tabv_c .tp-brkv>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--elm-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--bld-us) + 4px);line-height:calc(var(--bld-us) + 4px);overflow:hidden;padding-left:var(--cnt-h-p);padding-right:calc(4px + var(--bld-us) + var(--cnt-h-p));position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:border-radius .2s ease-in-out .2s}
1.tp-rotv_b:hover,.tp-fldv_b:hover{background-color:var(--cnt-bg-h)}.tp-rotv_b:focus,.tp-fldv_b:focus{background-color:var(--cnt-bg-f)}.tp-rotv_b:active,.tp-fldv_b:active{background-color:var(--cnt-bg-a)}.tp-rotv_b:disabled,.tp-fldv_b:disabled{opacity:.5}.tp-rotv_m,.tp-fldv_m{background:linear-gradient(to left, var(--cnt-fg), var(--cnt-fg) 2px, transparent 2px, transparent 4px, var(--cnt-fg) 4px);border-radius:2px;bottom:0;content:"";display:block;height:6px;right:calc(var(--cnt-h-p) + (var(--bld-us) + 4px - 6px)/2 - 2px);margin:auto;opacity:.5;position:absolute;top:0;transform:rotate(90deg);transition:transform .2s ease-in-out;width:6px}.tp-rotv.tp-rotv-expanded .tp-rotv_m,.tp-fldv.tp-fldv-expanded>.tp-fldv_b>.tp-fldv_m{transform:none}.tp-rotv_c,.tp-fldv_c{box-sizing:border-box;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;position:relative;transition:height .2s ease-in-out,opacity .2s linear,padding .2s ease-in-out}.tp-rotv.tp-rotv-cpl:not(.tp-rotv-expanded) .tp-rotv_c,.tp-fldv.tp-fldv-cpl:not(.tp-fldv-expanded)>.tp-fldv_c{display:none}.tp-rotv.tp-rotv-expanded .tp-rotv_c,.tp-fldv.tp-fldv-expanded>.tp-fldv_c{opacity:1;padding-bottom:var(--cnt-v-p);padding-top:var(--cnt-v-p);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.tp-lstv,.tp-coltxtv_m{position:relative}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m,.tp-coltxtv_mm{bottom:0;margin:auto;pointer-events:none;position:absolute;right:2px;top:0}.tp-lstv_m svg,.tp-coltxtv_mm svg{bottom:0;height:16px;margin:auto;position:absolute;right:0;top:0;width:16px}.tp-lstv_m svg path,.tp-coltxtv_mm svg path{fill:currentColor}.tp-pndtxtv,.tp-coltxtv_w{display:flex}.tp-pndtxtv_a,.tp-coltxtv_c{width:100%}.tp-pndtxtv_a+.tp-pndtxtv_a,.tp-coltxtv_c+.tp-pndtxtv_a,.tp-pndtxtv_a+.tp-coltxtv_c,.tp-coltxtv_c+.tp-coltxtv_c{margin-left:2px}.tp-btnv_b{width:100%}.tp-btnv_t{text-align:center}.tp-ckbv_l{display:block;position:relative}.tp-ckbv_i{left:0;opacity:0;position:absolute;top:0}.tp-ckbv_w{background-color:var(--in-bg);border-radius:var(--elm-br);cursor:pointer;display:block;height:var(--bld-us);position:relative;width:var(--bld-us)}.tp-ckbv_w svg{bottom:0;display:block;height:16px;left:0;margin:auto;opacity:0;position:absolute;right:0;top:0;width:16px}.tp-ckbv_w svg path{fill:none;stroke:var(--in-fg);stroke-width:2}.tp-ckbv_i:hover+.tp-ckbv_w{background-color:var(--in-bg-h)}.tp-ckbv_i:focus+.tp-ckbv_w{background-color:var(--in-bg-f)}.tp-ckbv_i:active+.tp-ckbv_w{background-color:var(--in-bg-a)}.tp-ckbv_i:checked+.tp-ckbv_w svg{opacity:1}.tp-ckbv.tp-v-disabled .tp-ckbv_w{opacity:.5}.tp-colv{position:relative}.tp-colv_h{display:flex}.tp-colv_s{flex-grow:0;flex-shrink:0;width:var(--bld-us)}.tp-colv_t{flex:1;margin-left:4px}.tp-colv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-colv.tp-colv-expanded.tp-colv-cpl .tp-colv_p{overflow:visible}.tp-colv.tp-colv-expanded .tp-colv_p{margin-top:var(--bld-s);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-h-p));right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--bld-s)}.tp-colpv_rgb{display:flex;margin-top:var(--bld-s);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-v-p);padding-top:calc(var(--cnt-v-p) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:"";height:2px;left:calc(-1*var(--cnt-h-p));position:absolute;right:calc(-1*var(--cnt-h-p));top:0}.tp-colpv.tp-v-disabled .tp-colpv_a::before{opacity:.5}.tp-colpv_ap{align-items:center;display:flex;flex:3}.tp-colpv_at{flex:1;margin-left:4px}.tp-svpv{border-radius:var(--elm-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--bld-us)*4);width:100%}.tp-svpv_m{border-radius:100%;border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));height:12px;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;width:12px}.tp-svpv:focus .tp-svpv_m{border-color:#fff}.tp-hplv{cursor:pointer;height:var(--bld-us);outline:none;position:relative}.tp-hplv.tp-v-disabled{opacity:.5}.tp-hplv_c{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAABCAYAAABubagXAAAAQ0lEQVQoU2P8z8Dwn0GCgQEDi2OK/RBgYHjBgIpfovFh8j8YBIgzFGQxuqEgPhaDOT5gOhPkdCxOZeBg+IDFZZiGAgCaSSMYtcRHLgAAAABJRU5ErkJggg==);background-position:left top;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;position:absolute;top:50%;width:100%}.tp-hplv_m{border-radius:var(--elm-br);border:rgba(255,255,255,.75) solid 2px;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;height:12px;left:50%;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--bld-us);outline:none;position:relative;width:100%}.tp-aplv.tp-v-disabled{opacity:.5}.tp-aplv_b{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:4px 4px;background-position:0 0,2px 2px;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;overflow:hidden;position:absolute;top:50%;width:100%}.tp-aplv_c{bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv_m{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:12px 12px;background-position:0 0,6px 6px;border-radius:var(--elm-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;pointer-events:none;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--elm-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv:focus .tp-aplv_p{border-color:#fff}.tp-colswv{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:10px 10px;background-position:0 0,5px 5px;border-radius:var(--elm-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;cursor:pointer;display:block;height:var(--bld-us);left:0;margin:0;outline:none;padding:0;position:absolute;top:0;width:var(--bld-us)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--elm-br);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--elm-br);color:var(--lbl-fg);cursor:pointer;height:var(--bld-us);line-height:var(--bld-us);padding:0 18px 0 4px}.tp-coltxtv_ms:hover{background-color:var(--in-bg-h)}.tp-coltxtv_ms:focus{background-color:var(--in-bg-f)}.tp-coltxtv_ms:active{background-color:var(--in-bg-a)}.tp-coltxtv_mm{color:var(--lbl-fg)}.tp-coltxtv.tp-v-disabled .tp-coltxtv_mm{opacity:.5}.tp-coltxtv_w{flex:1}.tp-dfwv{position:absolute;top:8px;right:8px;width:256px}.tp-fldv{position:relative}.tp-fldv.tp-fldv-not .tp-fldv_b{display:none}.tp-fldv_t{padding-left:4px}.tp-fldv_b:disabled .tp-fldv_m{display:none}.tp-fldv_c{padding-left:4px}.tp-fldv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--bld-us) + 4px);width:var(--bs-br)}.tp-fldv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}
1.tp-fldv_b:hover+.tp-fldv_i{color:var(--cnt-bg-h)}.tp-fldv_b:focus+.tp-fldv_i{color:var(--cnt-bg-f)}.tp-fldv_b:active+.tp-fldv_i{color:var(--cnt-bg-a)}.tp-fldv.tp-v-disabled>.tp-fldv_i{opacity:.5}.tp-grlv{position:relative}.tp-grlv_g{display:block;height:calc(var(--bld-us)*3)}.tp-grlv_g polyline{fill:none;stroke:var(--mo-fg);stroke-linejoin:round}.tp-grlv_t{margin-top:-4px;transition:left .05s,top .05s;visibility:hidden}.tp-grlv_t.tp-grlv_t-a{visibility:visible}.tp-grlv_t.tp-grlv_t-in{transition:none}.tp-grlv.tp-v-disabled .tp-grlv_g{opacity:.5}.tp-grlv .tp-ttv{background-color:var(--mo-fg)}.tp-grlv .tp-ttv::before{border-top-color:var(--mo-fg)}.tp-lblv{align-items:center;display:flex;line-height:1.3;padding-left:var(--cnt-h-p);padding-right:var(--cnt-h-p)}.tp-lblv.tp-lblv-nol{display:block}.tp-lblv_l{color:var(--lbl-fg);flex:1;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;padding-left:4px;padding-right:16px}.tp-lblv.tp-v-disabled .tp-lblv_l{opacity:.5}.tp-lblv.tp-lblv-nol .tp-lblv_l{display:none}.tp-lblv_v{align-self:flex-start;flex-grow:0;flex-shrink:0;width:160px}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding:0 4px}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--bld-us)*3);line-height:var(--bld-us);padding:0 4px;resize:none;white-space:pre}.tp-mllv.tp-v-disabled .tp-mllv_i{opacity:.5}.tp-p2dv{position:relative}.tp-p2dv_h{display:flex}.tp-p2dv_b{height:var(--bld-us);margin-right:4px;position:relative;width:var(--bld-us)}.tp-p2dv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-p2dv_b svg path{stroke:currentColor;stroke-width:2}.tp-p2dv_b svg circle{fill:currentColor}.tp-p2dv_t{flex:1}.tp-p2dv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-p2dv.tp-p2dv-expanded .tp-p2dv_p{margin-top:var(--bld-s);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-h-p));right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-p2dpv{padding-left:calc(var(--bld-us) + 4px)}.tp-p2dpv_p{cursor:crosshair;height:0;overflow:hidden;padding-bottom:100%;position:relative}.tp-p2dpv.tp-v-disabled .tp-p2dpv_p{opacity:.5}.tp-p2dpv_g{display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.tp-p2dpv_ax{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_l{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_m{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;position:absolute;width:4px}.tp-p2dpv_p:focus .tp-p2dpv_m{background-color:var(--in-fg);border-width:0}.tp-popv{background-color:var(--bs-bg);border-radius:6px;box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:168px;padding:var(--cnt-v-p) var(--cnt-h-p);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.tp-sprv_r{background-color:var(--grv-fg);border-width:0;display:block;height:2px;margin:0;width:100%}.tp-sprv.tp-v-disabled .tp-sprv_r{opacity:.5}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--bld-us);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";display:block;height:2px;left:0;margin-bottom:auto;margin-top:auto;position:absolute;right:0;top:0}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--elm-br);bottom:0;content:"";display:block;height:12px;margin-bottom:auto;margin-top:auto;position:absolute;right:-6px;top:0;width:12px}.tp-sldv_t:hover .tp-sldv_k::after{background-color:var(--btn-bg-h)}.tp-sldv_t:focus .tp-sldv_k::after{background-color:var(--btn-bg-f)}.tp-sldv_t:active .tp-sldv_k::after{background-color:var(--btn-bg-a)}.tp-sldtxtv{display:flex}.tp-sldtxtv_s{flex:2}.tp-sldtxtv_t{flex:1;margin-left:4px}.tp-tabv{position:relative}.tp-tabv_t{align-items:flex-end;color:var(--cnt-bg);display:flex;overflow:hidden;position:relative}
1.tp-tabv_t:hover{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus){color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active){color:var(--cnt-bg-a)}.tp-tabv_t::before{background-color:currentColor;bottom:0;content:"";height:2px;left:0;pointer-events:none;position:absolute;right:0}.tp-tabv.tp-v-disabled .tp-tabv_t::before{opacity:.5}.tp-tabv.tp-tabv-nop .tp-tabv_t{height:calc(var(--bld-us) + 4px);position:relative}.tp-tabv.tp-tabv-nop .tp-tabv_t::before{background-color:var(--cnt-bg);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tp-tabv_c{padding-bottom:var(--cnt-v-p);padding-left:4px;padding-top:var(--cnt-v-p)}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--bld-us) + 4px);width:var(--bs-br)}.tp-tabv_i::before{background-color:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.tp-tabv_t:hover+.tp-tabv_i{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus)+.tp-tabv_i{color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active)+.tp-tabv_i{color:var(--cnt-bg-a)}.tp-tabv.tp-v-disabled>.tp-tabv_i{opacity:.5}.tp-tbiv{flex:1;min-width:0;position:relative}.tp-tbiv+.tp-tbiv{margin-left:2px}.tp-tbiv+.tp-tbiv.tp-v-disabled::before{opacity:.5}.tp-tbiv_b{display:block;padding-left:calc(var(--cnt-h-p) + 4px);padding-right:calc(var(--cnt-h-p) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);bottom:2px;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.tp-tbiv_b:hover::before{background-color:var(--cnt-bg-h)}.tp-tbiv_b:focus::before{background-color:var(--cnt-bg-f)}.tp-tbiv_b:active::before{background-color:var(--cnt-bg-a)}.tp-tbiv_t{color:var(--cnt-fg);height:calc(var(--bld-us) + 4px);line-height:calc(var(--bld-us) + 4px);opacity:.5;overflow:hidden;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-txtv{position:relative}.tp-txtv_i{padding:0 4px}.tp-txtv.tp-txtv-fst .tp-txtv_i{border-bottom-right-radius:0;border-top-right-radius:0}.tp-txtv.tp-txtv-mid .tp-txtv_i{border-radius:0}.tp-txtv.tp-txtv-lst .tp-txtv_i{border-bottom-left-radius:0;border-top-left-radius:0}.tp-txtv.tp-txtv-num .tp-txtv_i{text-align:right}.tp-txtv.tp-txtv-drg .tp-txtv_i{opacity:.3}.tp-txtv_k{cursor:pointer;height:100%;left:-3px;position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:"";height:calc(var(--bld-us) - 4px);left:50%;margin-bottom:auto;margin-left:-1px;margin-top:auto;opacity:.1;position:absolute;top:0;transition:border-radius .1s,height .1s,transform .1s,width .1s;width:2px}.tp-txtv_k:hover::before,.tp-txtv.tp-txtv-drg .tp-txtv_k::before{opacity:1}.tp-txtv.tp-txtv-drg .tp-txtv_k::before{border-radius:50%;height:4px;transform:translateX(-1px);width:4px}.tp-txtv_g{bottom:0;display:block;height:8px;left:50%;margin:auto;overflow:visible;pointer-events:none;position:absolute;top:0;visibility:hidden;width:100%}.tp-txtv.tp-txtv-drg .tp-txtv_g{visibility:visible}.tp-txtv_gb{fill:none;stroke:var(--in-fg);stroke-dasharray:1}.tp-txtv_gh{fill:none;stroke:var(--in-fg)}.tp-txtv .tp-ttv{margin-left:6px;visibility:hidden}.tp-txtv.tp-txtv-drg .tp-ttv{visibility:visible}.tp-ttv{background-color:var(--in-fg);border-radius:var(--elm-br);color:var(--bs-bg);padding:2px 4px;pointer-events:none;position:absolute;transform:translate(-50%, -100%)}.tp-ttv::before{border-color:var(--in-fg) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:2px;box-sizing:border-box;content:"";font-size:.9em;height:4px;left:50%;margin-left:-2px;position:absolute;top:100%;width:4px}.tp-rotv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);font-family:var(--font-family);font-size:11px;font-weight:500;line-height:1;text-align:left}.tp-rotv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br);border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br);padding-left:calc(4px + var(--bld-us) + var(--cnt-h-p));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0}.tp-rotv.tp-rotv-not .tp-rotv_b{display:none}.tp-rotv_b:disabled .tp-rotv_m{display:none}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c .tp-fldv.tp-v-vlst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-right-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst{margin-top:calc(-1*var(--cnt-v-p))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst>.tp-fldv_b{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst{margin-top:calc(-1*var(--cnt-v-p))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst>.tp-tabv_t{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv.tp-v-disabled,.tp-rotv .tp-v-disabled{pointer-events:none}.tp-rotv.tp-v-hidden,.tp-rotv .tp-v-hidden{display:none}
vendor: 10,665 bytes, line 1
1'),this.pool_.getAll().forEach((e=>{this.embedPluginStyle_(e)})),this.registerPlugin({plugins:[qV,KV,ve,$V]})}},e.SeparatorApi=Me,e.SliderApi=_V,e.TabApi=Ce,e.TabPageApi=ye,e.TextApi=LV,e.TpChangeEvent=n,e.VERSION=ti,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?V(e):"function"==typeof define&&l.amdO?define(["exports"],V):V((n=typeof globalThis<"u"?globalThis:n||self).Tweakpane={})})),u=o(((e,t)=>{t.exports=TypeError})),E=o((()=>{})),b=o(((e,t)=>{var l="function"==typeof Map&&Map.prototype,n=Object.getOwnPropertyDescriptor&&l?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,V=l&&n&&"function"==typeof n.get?n.get:null,i=l&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,r=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,s=a&&r&&"function"==typeof r.get?r.get:null,o=a&&Set.prototype.forEach,h="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,R="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,U=Boolean.prototype.valueOf,c=Object.prototype.toString,p=Function.prototype.toString,Z=String.prototype.match,W=String.prototype.slice,m=String.prototype.replace,F=String.prototype.toUpperCase,N=String.prototype.toLowerCase,u=RegExp.prototype.test,b=Array.prototype.concat,S=Array.prototype.join,J=Array.prototype.slice,T=Math.floor,G="function"==typeof BigInt?BigInt.prototype.valueOf:null,M=Object.getOwnPropertySymbols,k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,Y="function"==typeof Symbol&&"object"==typeof Symbol.iterator,x="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,Q=Object.prototype.propertyIsEnumerable,X=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function w(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||u.call(/e/,t))return t;var l=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var n=e<0?-T(-e):T(e);if(n!==e){var V=String(n),i=W.call(t,V.length+1);return m.call(V,l,"$&_")+"."+m.call(m.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return m.call(t,l,"$&_")}var f=E(),z=f.custom,y=D(z)?z:null,C={__proto__:null,double:'"',single:"'"},j={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};function g(e,t,l){var n=l.quoteStyle||t,V=C[n];return V+e+V}function B(e){return m.call(String(e),/"/g,"&quot;")}function H(e){return!x||!("object"==typeof e&&(x in e||typeof e[x]<"u"))}function v(e){return"[object Array]"===L(e)&&H(e)}function I(e){return"[object RegExp]"===L(e)&&H(e)}function D(e){if(Y)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!k)return!1;try{return k.call(e),!0}catch{}return!1}t.exports=function e(t,l,n,a){var r=l||{};if(_(r,"quoteStyle")&&!_(C,r.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(_(r,"maxStringLength")&&("number"==typeof r.maxStringLength?r.maxStringLength<0&&r.maxStringLength!==1/0:null!==r.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var c=!_(r,"customInspect")||r.customInspect;if("boolean"!=typeof c&&"symbol"!==c)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(_(r,"indent")&&null!==r.indent&&"\t"!==r.indent&&!(parseInt(r.indent,10)===r.indent&&r.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(_(r,"numericSeparator")&&"boolean"!=typeof r.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var F=r.numericSeparator;if(typeof t>"u")return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return P(t,r);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var u=String(t);return F?w(t,u):u}if("bigint"==typeof t){var E=String(t)+"n";return F?w(t,E):E}var T=typeof r.depth>"u"?5:r.depth;if(typeof n>"u"&&(n=0),n>=T&&T>0&&"object"==typeof t)return v(t)?"[Array]":"[Object]";var M=function(e,t){var l;if("\t"===e.indent)l="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;l=S.call(Array(e.indent+1)," ")}return{base:l,prev:S.call(Array(t+1),l)}}(r,n);if(typeof a>"u")a=[];else if(K(a,t)>=0)return"[Circular]";function z(t,l,V){if(l&&(a=J.call(a)).push(l),V){var i={depth:r.depth};return _(r,"quoteStyle")&&(i.quoteStyle=r.quoteStyle),e(t,i,n+1,a)}return e(t,r,n+1,a)}if("function"==typeof t&&!I(t)){var j=function(e){if(e.name)return e.name;var t=Z.call(p.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),O=le(t,z);return"[Function"+(j?": "+j:" (anonymous)")+"]"+(O.length>0?" { "+S.call(O,", ")+" }":"")}if(D(t)){var A=Y?m.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):k.call(t);return"object"!=typeof t||Y?A:q(A)}if(function(e){return!(!e||"object"!=typeof e)&&(typeof HTMLElement<"u"&&e instanceof HTMLElement||"string"==typeof e.nodeName&&"function"==typeof e.getAttribute)}(t)){for(var ne="<"+N.call(String(t.nodeName)),Ve=t.attributes||[],ie=0;ie<Ve.length;ie++)ne+=" "+Ve[ie].name+"="+g(B(Ve[ie].value),"double",r);return ne+=">",t.childNodes&&t.childNodes.length&&(ne+="..."),ne+="</"+N.call(String(t.nodeName))+">"}if(v(t)){if(0===t.length)return"[]";var ae=le(t,z);return M&&!function(e){for(var t=0;t<e.length;t++)if(K(e[t],"\n")>=0)return!1;return!0}(ae)?"["+te(ae,M)+"]":"[ "+S.call(ae,", ")+" ]"}if(function(e){return"[object Error]"===L(e)&&H(e)}(t)){var re=le(t,z);return"cause"in Error.prototype||!("cause"in t)||Q.call(t,"cause")?0===re.length?"["+String(t)+"]":"{ ["+String(t)+"] "+S.call(re,", ")+" }":"{ ["+String(t)+"] "+S.call(b.call("[cause]: "+z(t.cause),re),", ")+" }"}if("object"==typeof t&&c){if(y&&"function"==typeof t[y]&&f)return f(t,{depth:T-n});if("symbol"!==c&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!V||!e||"object"!=typeof e)return!1;try{V.call(e);try{s.call(e)}catch{return!0}return e instanceof Map}catch{}return!1}(t)){var se=[];return i&&i.call(t,(function(e,l){se.push(z(l,t,!0)+" => "+z(e,t))})),ee("Map",V.call(t),se,M)}if(function(e){if(!s||!e||"object"!=typeof e)return!1;try{s.call(e);try{V.call(e)}catch{return!0}return e instanceof Set}catch{}return!1}(t)){var oe=[];return o&&o.call(t,(function(e){oe.push(z(e,t))})),ee("Set",s.call(t),oe,M)}if(function(e){if(!h||!e||"object"!=typeof e)return!1;try{h.call(e,h);try{d.call(e,d)}catch{return!0}return e instanceof WeakMap}catch{}return!1}(t))return $("WeakMap");if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{d.call(e,d);try{h.call(e,h)}catch{return!0}return e instanceof WeakSet}catch{}return!1}(t))return $("WeakSet");if(function(e){if(!R||!e||"object"!=typeof e)return!1;try{return R.call(e),!0}catch{}return!1}(t))return $("WeakRef");if(function(e){return"[object Number]"===L(e)&&H(e)}(t))return q(z(Number(t)));if(function(e){if(!e||"object"!=typeof e||!G)return!1;try{return G.call(e),!0}catch{}return!1}(t))return q(z(G.call(t)));if(function(e){return"[object Boolean]"===L(e)&&H(e)}(t))return q(U.call(t));if(function(e){return"[object String]"===L(e)&&H(e)}(t))return q(z(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof global<"u"&&t===global)return"{ [object globalThis] }";if(!function(e){return"[object Date]"===L(e)&&H(e)}(t)&&!I(t)){var he=le(t,z),de=X?X(t)===Object.prototype:t instanceof Object||t.constructor===Object,Re=t instanceof Object?"":"null prototype",Ue=!de&&x&&Object(t)===t&&x in t?W.call(L(t),8,-1):Re?"Object":"",ce=(de||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(Ue||Re?"["+S.call(b.call([],Ue||[],Re||[]),": ")+"] ":"");return 0===he.length?ce+"{}":M?ce+"{"+te(he,M)+"}":ce+"{ "+S.call(he,", ")+" }"}return String(t)};var O=Object.prototype.hasOwnProperty||function(e){return e in this};function _(e,t){return O.call(e,t)}function L(e){return c.call(e)}function K(e,t){if(e.indexOf)return e.indexOf(t);for(var l=0,n=e.length;l<n;l++)if(e[l]===t)return l;return-1}function P(e,t){if(e.length>t.maxStringLength){var l=e.length-t.maxStringLength,n="... "+l+" more character"+(l>1?"s":"");return P(W.call(e,0,t.maxStringLength),t)+n}var V=j[t.quoteStyle||"single"];return V.lastIndex=0,g(m.call(m.call(e,V,"\\$1"),/[\x00-\x1f]/g,A),"single",t)}function A(e){var t=e.charCodeAt(0),l={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return l?"\\"+l:"\\x"+(t<16?"0":"")+F.call(t.toString(16))}function q(e){return"Object("+e+")"}function $(e){return e+" { ? }"}function ee(e,t,l,n){return e+" ("+t+") {"+(n?te(l,n):S.call(l,", "))+"}"}function te(e,t){if(0===e.length)return"";var l="\n"+t.prev+t.base;return l+S.call(e,","+l)+"\n"+t.prev}function le(e,t){var l=v(e),n=[];if(l){n.length=e.length;for(var V=0;V<e.length;V++)n[V]=_(e,V)?t(e[V],e):""}var i,a="function"==typeof M?M(e):[];if(Y){i={};for(var r=0;r<a.length;r++)i["$"+a[r]]=a[r]}for(var s in e)_(e,s)&&(l&&String(Number(s))===s&&s<e.length||Y&&i["$"+s]instanceof Symbol||(u.call(/[^\w$]/,s)?n.push(t(s,e)+": "+t(e[s],e)):n.push(s+": "+t(e[s],e))));if("function"==typeof M)for(var o=0;o<a.length;o++)Q.call(e,a[o])&&n.push("["+t(a[o])+"]: "+t(e[a[o]],e));return n}})),S=o(((e,t)=>{var l=b(),n=u(),V=function(e,t,l){for(var n,V=e;null!=(n=V.next);V=n)if(n.key===t)return V.next=n.next,l||(n.next=e.next,e.next=n),n};t.exports=function(){var e,t={assert:function(e){if(!t.has(e))throw new n("Side channel does not contain "+l(e))},delete:function(t){var l=function(e,t){if(e)return V(e,t,!0)}(e,t);return l&&e&&!e.next&&(e=void 0),!!l},get:function(t){return function(e,t){if(e){var l=V(e,t);return l&&l.value}}(e,t)},has:function(t){return function(e,t){return!!e&&!!V(e,t)}(e,t)},set:function(t,l){e||(e={next:void 0}),function(e,t,l){var n=V(e,t);n?n.value=l:e.next={key:t,next:e.next,value:l}}(e,t,l)}};return t}})),J=o(((e,t)=>{t.exports=Object})),T=o(((e,t)=>{t.exports=Error})),G=o(((e,t)=>{t.exports=EvalError})),M=o(((e,t)=>{t.exports=RangeError})),k=o(((e,t)=>{t.exports=ReferenceError})),Y=o(((e,t)=>{t.exports=SyntaxError})),x=o(((e,t)=>{t.exports=URIError})),Q=o(((e,t)=>{t.exports=Math.abs})),X=o(((e,t)=>{t.exports=Math.floor})),w=o(((e,t)=>{t.exports=Math.max})),f=o(((e,t)=>{t.exports=Math.min})),z=o(((e,t)=>{t.exports=Math.pow})),y=o(((e,t)=>{t.exports=Math.round})),C=o(((e,t)=>{t.exports=Number.isNaN||function(e){return e!=e}})),j=o(((e,t)=>{var l=C();t.exports=function(e){return l(e)||0===e?e:e<0?-1:1}}
1)),g=o(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),B=o(((e,t)=>{var l=g();if(l)try{l([],"length")}catch{l=null}t.exports=l})),H=o(((e,t)=>{var l=Object.defineProperty||!1;if(l)try{l({},"a",{value:1})}catch{l=!1}t.exports=l})),v=o(((e,t)=>{t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),l=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(l))return!1;for(var n in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var V=Object.getOwnPropertySymbols(e);if(1!==V.length||V[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}})),I=o(((e,t)=>{var l=typeof Symbol<"u"&&Symbol,n=v();t.exports=function(){return"function"==typeof l&&"function"==typeof Symbol&&"symbol"==typeof l("foo")&&"symbol"==typeof Symbol("bar")&&n()}})),D=o(((e,t)=>{t.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null})),O=o(((e,t)=>{var l=J();t.exports=l.getPrototypeOf||null})),_=o(((e,t)=>{var l=Object.prototype.toString,n=Math.max,V=function(e,t){for(var l=[],n=0;n<e.length;n+=1)l[n]=e[n];for(var V=0;V<t.length;V+=1)l[V+e.length]=t[V];return l};t.exports=function(e){var t=this;if("function"!=typeof t||"[object Function]"!==l.apply(t))throw new TypeError("Function.prototype.bind called on incompatible "+t);for(var i,a=function(e,t){for(var l=[],n=t||0,V=0;n<e.length;n+=1,V+=1)l[V]=e[n];return l}(arguments,1),r=n(0,t.length-a.length),s=[],o=0;o<r;o++)s[o]="$"+o;if(i=Function("binder","return function ("+function(e,t){for(var l="",n=0;n<e.length;n+=1)l+=e[n],n+1<e.length&&(l+=t);return l}(s,",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof i){var l=t.apply(this,V(a,arguments));return Object(l)===l?l:this}return t.apply(e,V(a,arguments))})),t.prototype){var h=function(){};h.prototype=t.prototype,i.prototype=new h,h.prototype=null}return i}})),L=o(((e,t)=>{var l=_();t.exports=Function.prototype.bind||l})),K=o(((e,t)=>{t.exports=Function.prototype.call})),P=o(((e,t)=>{t.exports=Function.prototype.apply})),A=o(((e,t)=>{t.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply})),q=o(((e,t)=>{var l=L(),n=P(),V=K(),i=A();t.exports=i||l.call(V,n)})),$=o(((e,t)=>{var l=L(),n=u(),V=K(),i=q();t.exports=function(e){if(e.length<1||"function"!=typeof e[0])throw new n("a function is required");return i(l,V,e)}})),ee=o(((e,t)=>{var l,n=$(),V=B();try{l=[].__proto__===Array.prototype}catch(e){if(!e||"object"!=typeof e||!("code"in e)||"ERR_PROTO_ACCESS"!==e.code)throw e}var i=!!l&&V&&V(Object.prototype,"__proto__"),a=Object,r=a.getPrototypeOf;t.exports=i&&"function"==typeof i.get?n([i.get]):"function"==typeof r&&function(e){return r(null==e?e:a(e))}})),te=o(((e,t)=>{var l=D(),n=O(),V=ee();t.exports=l?function(e){return l(e)}:n?function(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new TypeError("getProto: not an object");return n(e)}:V?function(e){return V(e)}:null})),le=o(((e,t)=>{var l=Function.prototype.call,n=Object.prototype.hasOwnProperty,V=L();t.exports=V.call(l,n)})),ne=o(((e,t)=>{var l,n=J(),V=T(),i=G(),a=M(),r=k(),s=Y(),o=u(),h=x(),d=Q(),R=X(),U=w(),c=f(),p=z(),Z=y(),W=j(),m=Function,F=function(e){try{return m('"use strict"; return ('+e+").constructor;")()}catch{}},N=B(),E=H(),b=function(){throw new o},S=N?function(){try{return b}catch{try{return N(arguments,"callee").get}catch{return b}}}():b,C=I()(),g=te(),v=O(),_=D(),A=P(),q=K(),$={},ee=typeof Uint8Array>"u"||!g?l:g(Uint8Array),ne={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?l:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?l:ArrayBuffer,"%ArrayIteratorPrototype%":C&&g?g([][Symbol.iterator]()):l,"%AsyncFromSyncIteratorPrototype%":l,"%AsyncFunction%":$,"%AsyncGenerator%":$,"%AsyncGeneratorFunction%":$,"%AsyncIteratorPrototype%":$,"%Atomics%":typeof Atomics>"u"?l:Atomics,"%BigInt%":typeof BigInt>"u"?l:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?l:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?l:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?l:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":V,"%eval%":eval,"%EvalError%":i,"%Float16Array%":typeof Float16Array>"u"?l:Float16Array,"%Float32Array%":typeof Float32Array>"u"?l:Float32Array,"%Float64Array%":typeof Float64Array>"u"?l:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?l:FinalizationRegistry,"%Function%":m,"%GeneratorFunction%":$,"%Int8Array%":typeof Int8Array>"u"?l:Int8Array,"%Int16Array%":typeof Int16Array>"u"?l:Int16Array,"%Int32Array%":typeof Int32Array>
1"u"?l:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":C&&g?g(g([][Symbol.iterator]())):l,"%JSON%":"object"==typeof JSON?JSON:l,"%Map%":typeof Map>"u"?l:Map,"%MapIteratorPrototype%":typeof Map>"u"||!C||!g?l:g((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":n,"%Object.getOwnPropertyDescriptor%":N,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?l:Promise,"%Proxy%":typeof Proxy>"u"?l:Proxy,"%RangeError%":a,"%ReferenceError%":r,"%Reflect%":typeof Reflect>"u"?l:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?l:Set,"%SetIteratorPrototype%":typeof Set>"u"||!C||!g?l:g((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?l:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":C&&g?g(""[Symbol.iterator]()):l,"%Symbol%":C?Symbol:l,"%SyntaxError%":s,"%ThrowTypeError%":S,"%TypedArray%":ee,"%TypeError%":o,"%Uint8Array%":typeof Uint8Array>"u"?l:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?l:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?l:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?l:Uint32Array,"%URIError%":h,"%WeakMap%":typeof WeakMap>"u"?l:WeakMap,"%WeakRef%":typeof WeakRef>"u"?l:WeakRef,"%WeakSet%":typeof WeakSet>"u"?l:WeakSet,"%Function.prototype.call%":q,"%Function.prototype.apply%":A,"%Object.defineProperty%":E,"%Object.getPrototypeOf%":v,"%Math.abs%":d,"%Math.floor%":R,"%Math.max%":U,"%Math.min%":c,"%Math.pow%":p,"%Math.round%":Z,"%Math.sign%":W,"%Reflect.getPrototypeOf%":_};if(g)try{null.error}catch(e){Ve=g(g(e)),ne["%Error.prototype%"]=Ve}var Ve,ie=function e(t){var l;if("%AsyncFunction%"===t)l=F("async function () {}");else if("%GeneratorFunction%"===t)l=F("function* () {}");else if("%AsyncGeneratorFunction%"===t)l=F("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(l=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var V=e("%AsyncGenerator%");V&&g&&(l=g(V.prototype))}return ne[t]=l,l},ae={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},re=L(),se=le(),oe=re.call(q,Array.prototype.concat),he=re.call(A,Array.prototype.splice),de=re.call(q,String.prototype.replace),Re=re.call(q,String.prototype.slice),Ue=re.call(q,RegExp.prototype.exec),ce=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,pe=/\\(\\)?/g,Ze=function(e,t){var l,n=e;if(se(ae,n)&&(n="%"+(l=ae[n])[0]+"%"),se(ne,n)){var V=ne[n];if(V===$&&(V=ie(n)),typeof V>"u"&&!t)throw new o("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:l,name:n,value:V}}throw new s("intrinsic "+e+" does not exist!")};t.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new o('"allowMissing" argument must be a boolean');if(null===Ue(/^%?[^%]*%?$/,e))throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var l=function(e){var t=Re(e,0,1),l=Re(e,-1);if("%"===t&&"%"!==l)throw new s("invalid intrinsic syntax, expected closing `%`");if("%"===l&&"%"!==t)throw new s("invalid intrinsic syntax, expected opening `%`");var n=[];return de(e,ce,(function(e,t,l,V){n[n.length]=l?de(V,pe,"$1"):t||e})),n}(e),n=l.length>0?l[0]:"",V=Ze("%"+n+"%",t),i=V.name,a=V.value,r=!1,h=V.alias;h&&(n=h[0],he(l,oe([0,1],h)));for(var d=1,R=!0;d<l.length;d+=1){var U=l[d],c=Re(U,0,1),p=Re(U,-1);
1if(('"'===c||"'"===c||"`"===c||'"'===p||"'"===p||"`"===p)&&c!==p)throw new s("property names with quotes must have matching quotes");if(("constructor"===U||!R)&&(r=!0),se(ne,i="%"+(n+="."+U)+"%"))a=ne[i];else if(null!=a){if(!(U in a)){if(!t)throw new o("base intrinsic for "+e+" exists, but the property is not available.");return}if(N&&d+1>=l.length){var Z=N(a,U);a=(R=!!Z)&&"get"in Z&&!("originalValue"in Z.get)?Z.get:a[U]}else R=se(a,U),a=a[U];R&&!r&&(ne[i]=a)}}return a}})),Ve=o(((e,t)=>{var l=ne(),n=$(),V=n([l("%String.prototype.indexOf%")]);t.exports=function(e,t){var i=l(e,!!t);return"function"==typeof i&&V(e,".prototype.")>-1?n([i]):i}})),ie=o(((e,t)=>{var l=ne(),n=Ve(),V=b(),i=u(),a=l("%Map%",!0),r=n("Map.prototype.get",!0),s=n("Map.prototype.set",!0),o=n("Map.prototype.has",!0),h=n("Map.prototype.delete",!0),d=n("Map.prototype.size",!0);t.exports=!!a&&function(){var e,t={assert:function(e){if(!t.has(e))throw new i("Side channel does not contain "+V(e))},delete:function(t){if(e){var l=h(e,t);return 0===d(e)&&(e=void 0),l}return!1},get:function(t){if(e)return r(e,t)},has:function(t){return!!e&&o(e,t)},set:function(t,l){e||(e=new a),s(e,t,l)}};return t}})),ae=o(((e,t)=>{var l=ne(),n=Ve(),V=b(),i=ie(),a=u(),r=l("%WeakMap%",!0),s=n("WeakMap.prototype.get",!0),o=n("WeakMap.prototype.set",!0),h=n("WeakMap.prototype.has",!0),d=n("WeakMap.prototype.delete",!0);t.exports=r?function(){var e,t,l={assert:function(e){if(!l.has(e))throw new a("Side channel does not contain "+V(e))},delete:function(l){if(r&&l&&("object"==typeof l||"function"==typeof l)){if(e)return d(e,l)}else if(i&&t)return t.delete(l);return!1},get:function(l){return r&&l&&("object"==typeof l||"function"==typeof l)&&e?s(e,l):t&&t.get(l)},has:function(l){return r&&l&&("object"==typeof l||"function"==typeof l)&&e?h(e,l):!!t&&t.has(l)},set:function(l,n){r&&l&&("object"==typeof l||"function"==typeof l)?(e||(e=new r),o(e,l,n)):i&&(t||(t=i()),t.set(l,n))}};return l}:i})),re=o(((e,t)=>{var l=u(),n=b(),V=S(),i=ie(),a=ae()||i||V;t.exports=function(){var e,t={assert:function(e){if(!t.has(e)){var V=e&&Object(e)===e?"the given object key":n(e);throw new l("Side channel does not contain "+V)}},delete:function(t){return!!e&&e.delete(t)},get:function(t){return e&&e.get(t)},has:function(t){return!!e&&e.has(t)},set:function(t,l){e||(e=a()),e.set(t,l)}};return t}})),se=o(((e,t)=>{var l=String.prototype.replace,n=/%20/g,V="RFC1738",i="RFC3986";t.exports={default:i,formatters:{RFC1738:function(e){return l.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:V,RFC3986:i}})),oe=o(((e,t)=>{var l=se(),n=re(),V=H(),i=Object.prototype.hasOwnProperty,a=Array.isArray,r=n(),s=function(e,t){return r.set(e,t),e},o=function(e){return r.has(e)},h=function(e){return r.get(e)},d=function(e,t){r.set(e,t)},R=function(){for(var e=[],t=0;t<256;++t)e[e.length]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return e}(),U=function(e,t){for(var l=t&&t.plainObjects?{__proto__:null}:{},n=0;n<e.length;++n)typeof e[n]<"u"&&(l[n]=e[n]);return l},c=function(e,t,l){"__proto__"===t&&V?V(e,t,{configurable:!0,enumerable:!0,value:l,writable:!0}):e[t]=l},p=1024;t.exports={arrayToObject:U,assign:function(e,t){return Object.keys(t).reduce((function(e,l){return c(e,l,t[l]),e}),e)},combine:function(e,t,l,n,V){if(o(e)){if(V)throw new RangeError("Array limit exceeded. Only "+l+" element"+(1===l?"":"s")+" allowed in an array.");var i=h(e)+1;return e[i]=t,d(e,i),e}var a=[].concat(e,t);if(a.length>l){if(V)throw new RangeError("Array limit exceeded. Only "+l+" element"+(1===l?"":"s")+" allowed in an array.");return s(U(a,{plainObjects:n}),a.length-1)}return a},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],l=n(),V=0;V<t.length;++V)for(var i=t[V],r=i.obj[i.prop],s=Object.keys(r),o=0;o<s.length;++o){var h=s[o],d=r[h];"object"==typeof d&&null!==d&&!l.has(d)&&(t[t.length]={obj:r,prop:h},l.set(d,!0))}return function(e){for(;e.length>1;){var t=e.pop(),l=t.obj[t.prop];if(a(l)){for(var n=[],V=0;V<l.length;++V)typeof l[V]<"u"&&(n[n.length]=l[V]);t.obj[t.prop]=n}}}(t),e},decode:function(e,t,l){var n=e.replace(/\+/g," ");
1if("iso-8859-1"===l)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch{return n}},encode:function(e,t,n,V,i){if(0===e.length)return e;var a=e;if("symbol"==typeof e?a=Symbol.prototype.toString.call(e):"string"!=typeof e&&(a=String(e)),"iso-8859-1"===n)return escape(a).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var r="",s=0;s<a.length;s+=p){var o=a.length>=p?a.slice(s,s+p):a;if(s+p<a.length){var h=o.charCodeAt(o.length-1);h>=55296&&h<=56319&&(o=o.slice(0,-1),s-=1)}for(var d=[],U=0;U<o.length;++U){var c=o.charCodeAt(U);45===c||46===c||95===c||126===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||i===l.RFC1738&&(40===c||41===c)?d[d.length]=o.charAt(U):c<128?d[d.length]=R[c]:c<2048?d[d.length]=R[192|c>>6]+R[128|63&c]:c<55296||c>=57344?d[d.length]=R[224|c>>12]+R[128|c>>6&63]+R[128|63&c]:(U+=1,c=65536+((1023&c)<<10|1023&o.charCodeAt(U)),d[d.length]=R[240|c>>18]+R[128|c>>12&63]+R[128|c>>6&63]+R[128|63&c])}r+=d.join("")}return r},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isOverflow:o,isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},markOverflow:s,maybeMap:function(e,t){if(a(e)){for(var l=[],n=0;n<e.length;n+=1)l[l.length]=t(e[n]);return l}return t(e)},merge:function e(t,l,n){if(!l)return t;if("object"!=typeof l&&"function"!=typeof l){if(a(t)){var V=t.length;if(n&&"number"==typeof n.arrayLimit&&V>=n.arrayLimit){if(n.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+n.arrayLimit+" element"+(1===n.arrayLimit?"":"s")+" allowed in an array.");return s(U(t.concat(l),n),V)}t[V]=l}else{if(!t||"object"!=typeof t)return[t,l];if(o(t)){var r=h(t)+1;t[r]=l,d(t,r)}else{if(n&&n.strictMerge)return[t,l];(n&&(n.plainObjects||n.allowPrototypes)||!i.call(Object.prototype,l))&&(t[l]=!0)}}return t}if(!t||"object"!=typeof t){if(o(l)){for(var R=Object.keys(l),p=n&&n.plainObjects?{__proto__:null,0:t}:{0:t},Z=0;Z<R.length;Z++){p[parseInt(R[Z],10)+1]=l[R[Z]]}return s(p,h(l)+1)}var W=[t].concat(l);if(n&&"number"==typeof n.arrayLimit&&W.length>n.arrayLimit){if(n.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+n.arrayLimit+" element"+(1===n.arrayLimit?"":"s")+" allowed in an array.");return s(U(W,n),W.length-1)}return W}var m=t;if(a(t)&&!a(l)&&(m=U(t,n)),a(t)&&a(l)){if(l.forEach((function(l,V){if(i.call(t,V)){var a=t[V];a&&"object"==typeof a&&l&&"object"==typeof l?t[V]=e(a,l,n):t[t.length]=l}else t[V]=l})),n&&"number"==typeof n.arrayLimit&&t.length>n.arrayLimit){if(n.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+n.arrayLimit+" element"+(1===n.arrayLimit?"":"s")+" allowed in an array.");return s(U(t,n),t.length-1)}return t}return Object.keys(l).reduce((function(t,V){var a=l[V];if(i.call(t,V)?c(t,V,e(t[V],a,n)):c(t,V,a),o(l)&&!o(t)&&s(t,h(l)),o(t)){var r=parseInt(V,10);String(r)===V&&r>=0&&r>h(t)&&d(t,r)}return t}),m)}}})),he=o(((e,t)=>{var l=re(),n=oe(),V=se(),i=Object.prototype.hasOwnProperty,a={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},r=Array.isArray,s=Array.prototype.push,o=function(e,t){s.apply(e,r(t)?t:[t])},h=Date.prototype.toISOString,d=V.default,R={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:n.encode,encodeValuesOnly:!1,filter:void 0,format:d,formatter:V.formatters[d],indices:!1,serializeDate:function(e){return h.call(e)},skipNulls:!1,strictNullHandling:!1},U={},c=function e(t,V,i,a,s,h,d,c,p,Z,W,m,F,N,u,E,b,S){for(var J=t,T=S,G=0,M=!1;void 0!==(T=T.get(U))&&!M;){var k=T.get(t);if(G+=1,typeof k<"u"){if(k===G)throw new RangeError("Cyclic object value");M=!0}typeof T.get(U)>"u"&&(G=0)}if("function"==typeof Z?J=Z(V,J):J instanceof Date?J=F(J):"comma"===i&&r(J)&&(J=n.maybeMap(J,(function(e){return e instanceof Date?F(e):e}))),null===J){if(h)return u(p&&!E?p(V,R.encoder,b,"key",N):V);J=""}if(function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||"symbol"==typeof e||"bigint"==typeof e}(J)||n.isBuffer(J))return p?[u(E?V:p(V,R.encoder,b,"key",N))+"="+u(p(J,R.encoder,b,"value",N))]:[u(V)+"="+u(String(J))];var Y,x=[];if(typeof J>"u")return x;if("comma"===i&&r(J))E&&p&&(J=n.maybeMap(J,(function(e){return null==e?e:p(e)}))),Y=[{value:J.length>0?J.join(",")||null:void 0}];else if(r(Z))Y=Z;else{var Q=Object.keys(J);Y=W?Q.sort(W):Q}var X=c?String(V).replace(/\./g,"%2E"):String(V),w=a&&r(J)&&1===J.length?X+"[]":X;
vendor: 6,322 bytes, line 1
1if(s&&r(J)&&0===J.length)return w+"[]";for(var f=0;f<Y.length;++f){var z=Y[f],y="object"==typeof z&&z&&typeof z.value<"u"?z.value:J[z];if(!d||null!==y){var C=m&&c?String(z).replace(/\./g,"%2E"):String(z),j=r(J)?"function"==typeof i?i(w,C):w:w+(m?"."+C:"["+C+"]");S.set(t,G);var g=l();g.set(U,S),o(x,e(y,j,i,a,s,h,d,c,"comma"===i&&E&&r(J)?null:p,Z,W,m,F,N,u,E,b,g))}}return x};t.exports=function(e,t){var n,s=e,h=function(e){if(!e)return R;if(typeof e.allowEmptyArrays<"u"&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&"boolean"!=typeof e.encodeDotInKeys)throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.encoder&&typeof e.encoder<"u"&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||R.charset;if(typeof e.charset<"u"&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var l=V.default;if(typeof e.format<"u"){if(!i.call(V.formatters,e.format))throw new TypeError("Unknown format option provided.");l=e.format}var n,s=V.formatters[l],o=R.filter;if(("function"==typeof e.filter||r(e.filter))&&(o=e.filter),n=e.arrayFormat in a?e.arrayFormat:"indices"in e?e.indices?"indices":"repeat":R.arrayFormat,"commaRoundTrip"in e&&"boolean"!=typeof e.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var h=typeof e.allowDots>"u"?!0===e.encodeDotInKeys||R.allowDots:!!e.allowDots;return{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:R.addQueryPrefix,allowDots:h,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:R.allowEmptyArrays,arrayFormat:n,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:R.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?R.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:R.encode,encodeDotInKeys:"boolean"==typeof e.encodeDotInKeys?e.encodeDotInKeys:R.encodeDotInKeys,encoder:"function"==typeof e.encoder?e.encoder:R.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:R.encodeValuesOnly,filter:o,format:l,formatter:s,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:R.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:R.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:R.strictNullHandling}}(t);"function"==typeof h.filter?s=(0,h.filter)("",s):r(h.filter)&&(n=h.filter);var d=[];if("object"!=typeof s||null===s)return"";var U=a[h.arrayFormat],p="comma"===U&&h.commaRoundTrip;n||(n=Object.keys(s)),h.sort&&n.sort(h.sort);for(var Z=l(),W=0;W<n.length;++W){var m=n[W];if(!(typeof m>"u"||null===m)){var F=s[m];h.skipNulls&&null===F||o(d,c(F,m,U,p,h.allowEmptyArrays,h.strictNullHandling,h.skipNulls,h.encodeDotInKeys,h.encode?h.encoder:null,h.filter,h.sort,h.allowDots,h.serializeDate,h.format,h.formatter,h.encodeValuesOnly,h.charset,Z))}}var N=d.join(h.delimiter),u=!0===h.addQueryPrefix?"?":"";return h.charsetSentinel&&("iso-8859-1"===h.charset?u+="utf8=%26%2310003%3B"+h.delimiter:u+="utf8=%E2%9C%93"+h.delimiter),N.length>0?u+N:""}})),de=o(((e,t)=>{var l=oe(),n=Object.prototype.hasOwnProperty,V=Array.isArray,i={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:l.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictMerge:!0,strictNullHandling:!1,throwOnLimitExceeded:!1},a=function(e,t,l,n){if(e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1){if(n&&t.throwOnLimitExceeded)for(var V=0,i=e.indexOf(",");i>-1;){if((V+=1)>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(1===t.arrayLimit?"":"s")+" allowed in an array.");i=e.indexOf(",",i+1)}return e.split(",")}if(t.throwOnLimitExceeded&&l>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(1===t.arrayLimit?"":"s")+" allowed in an array.");return e},r=function(e,t,V,i){if(e){var r=function(e,t){var l=t.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e;if(t.depth<=0)return t.plainObjects||!n.call(Object.prototype,l)||t.allowPrototypes?[l]:void 0;var V=[],i=l.indexOf("["),a=i>=0?l.slice(0,i):l;if(a){if(!t.plainObjects&&n.call(Object.prototype,a)&&!t.allowPrototypes)return;V[V.length]=a}for(var r=l.length,s=i,o=0;s>=0&&o<t.depth;){for(var h=1,d=s+1,R=-1;d<r&&R<0;){var U=l.charCodeAt(d);91===U?h+=1:93===U&&0==(h-=1)&&(R=d),d+=1}if(R<0)return V[V.length]="["+l.slice(s)+"]",V;var c=l.slice(s,R+1),p=c.slice(1,-1);if(!t.plainObjects&&n.call(Object.prototype,p)&&!t.allowPrototypes)return;V[V.length]=c,o+=1,s=l.indexOf("[",R+1)}if(s>=0){if(!0===t.strictDepth)throw new RangeError("Input depth exceeded depth option of "+t.depth+" and strictDepth is true");V[V.length]="["+l.slice(s)+"]"}return V}(e,V);if(r)return function(e,t,n,V){var i=0;if(e.length>0&&"[]"===e[e.length-1]){var r=e.slice(0,-1).join("");i=Array.isArray(t)&&t[r]?t[r].length:0}for(var s=V?t:a(t,n,i),o=e.length-1;o>=0;--o){var h,d=e[o];if("[]"===d&&n.parseArrays)h=l.isOverflow(s)?s:n.allowEmptyArrays&&(""===s||n.strictNullHandling&&null===s)?[]:l.combine([],s,n.arrayLimit,n.plainObjects,n.throwOnLimitExceeded);else{h=n.plainObjects?{__proto__:null}:{};var R="["===d.charAt(0)&&"]"===d.charAt(d.length-1)?d.slice(1,-1):d,U=n.decodeDotInKeys?R.replace(/%2E/g,"."):R,c=parseInt(U,10),p=!isNaN(c)&&d!==U&&String(c)===U&&c>=0&&n.parseArrays;if(n.parseArrays||""!==U)if(p&&c<n.arrayLimit)(h=[])[c]=s;else{if(p&&n.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+n.arrayLimit+" element"+(1===n.arrayLimit?"":"s")+" allowed in an array.");p?(h[c]=s,l.markOverflow(h,c)):"__proto__"!==U&&(h[U]=s)}else h={0:s}}s=h}return s}(r,t,V,i)}};t.exports=function(e,t){var s=function(e){if(!e)return i;if(typeof e.allowEmptyArrays<"u"&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
1if(typeof e.decodeDotInKeys<"u"&&"boolean"!=typeof e.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.decoder&&typeof e.decoder<"u"&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(typeof e.charset<"u"&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(typeof e.throwOnLimitExceeded<"u"&&"boolean"!=typeof e.throwOnLimitExceeded)throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var t=typeof e.charset>"u"?i.charset:e.charset,n=typeof e.duplicates>"u"?i.duplicates:e.duplicates;if("combine"!==n&&"first"!==n&&"last"!==n)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:typeof e.allowDots>"u"?!0===e.decodeDotInKeys||i.allowDots:!!e.allowDots,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:i.allowEmptyArrays,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:i.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:i.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:i.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:i.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:i.comma,decodeDotInKeys:"boolean"==typeof e.decodeDotInKeys?e.decodeDotInKeys:i.decodeDotInKeys,decoder:"function"==typeof e.decoder?e.decoder:i.decoder,delimiter:"string"==typeof e.delimiter||l.isRegExp(e.delimiter)?e.delimiter:i.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:i.depth,duplicates:n,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:i.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:i.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:i.plainObjects,strictDepth:"boolean"==typeof e.strictDepth?!!e.strictDepth:i.strictDepth,strictMerge:"boolean"==typeof e.strictMerge?!!e.strictMerge:i.strictMerge,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:i.strictNullHandling,throwOnLimitExceeded:"boolean"==typeof e.throwOnLimitExceeded&&e.throwOnLimitExceeded}}(t);if(""===e||null===e||typeof e>"u")return s.plainObjects?{__proto__:null}:{};for(var o="string"==typeof e?function(e,t){var r={__proto__:null},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e;s=s.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var o=t.parameterLimit===1/0?void 0:t.parameterLimit,h=s.split(t.delimiter,t.throwOnLimitExceeded&&typeof o<"u"?o+1:o);if(t.throwOnLimitExceeded&&typeof o<"u"&&h.length>o)throw new RangeError("Parameter limit exceeded. Only "+o+" parameter"+(1===o?"":"s")+" allowed.");var d,R=-1,U=t.charset;if(t.charsetSentinel)for(d=0;d<h.length;++d)0===h[d].indexOf("utf8=")&&("utf8=%E2%9C%93"===h[d]?U="utf-8":"utf8=%26%2310003%3B"===h[d]&&(U="iso-8859-1"),R=d,d=h.length);for(d=0;d<h.length;++d)if(d!==R){var c,p,Z=h[d],W=Z.indexOf("]="),m=-1===W?Z.indexOf("="):W+1;if(-1===m?(c=t.decoder(Z,i.decoder,U,"key"),p=t.strictNullHandling?null:""):null!==(c=t.decoder(Z.slice(0,m),i.decoder,U,"key"))&&(p=l.maybeMap(a(Z.slice(m+1),t,V(r[c])?r[c].length:0,-1===Z.indexOf("[]=")),(function(e){return t.decoder(e,i.decoder,U,"value")}))),p&&t.interpretNumericEntities&&"iso-8859-1"===U&&(p=String(p).replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))),Z.indexOf("[]=")>-1&&(p=V(p)?[p]:p),t.comma&&V(p)&&p.length>t.arrayLimit&&(p=l.combine([],p,t.arrayLimit,t.plainObjects,t.throwOnLimitExceeded)),null!==c){var F=n.call(r,c);F&&("combine"===t.duplicates||Z.indexOf("[]=")>-1)?r[c]=l.combine(r[c],p,t.arrayLimit,t.plainObjects,t.throwOnLimitExceeded):(!F||"last"===t.duplicates)&&(r[c]=p)}}return r}(e,s):e,h=s.plainObjects?{__proto__:null}:{},d=Object.keys(o),R=0;R<d.length;++R){var U=d[R],c=r(U,o[U],s,"string"==typeof e);h=l.merge(h,c,s)}return!0===s.allowSparse?h:l.compact(h)}})),Re=o(((e,t)=>{var l=he(),n=de(),V=se();t.exports={formats:V,parse:n,stringify:l}})),Ue=o(((e,t)=>{var n,V;n=e,V=function(e){let t="tp";function l(e){return t=>l=>{if(!t&&void 0===l)return{succeeded:!1,value:void 0};if(t&&void 0===l)return{succeeded:!0,value:void 0};let n=e(l);return void 0!==n?{succeeded:!0,value:n}:{succeeded:!1,value:void 0}}}function n(e){return{custom:t=>l(t)(e),boolean:l((e=>"boolean"==typeof e?e:void 0))(e),number:l((e=>"number"==typeof e?e:void 0))(e),string:l((e=>"string"==typeof e?e:void 0))(e),function:l((e=>"function"==typeof e?e:void 0))(e),constant:t=>l((e=>e===t?t:void 0))(e),raw:l((e=>e))(e),object:t=>l((e=>{if(function(e){return null!==e&&"object"==typeof e}(e))return function(e,t){return Object.keys(t).reduce(((l,n)=>{if(void 0===l)return;let V=(0,t[n])(e[n]);return V.succeeded?Object.assign(Object.assign({},l),{[n]:V.value}):void 0}),{})}(e,t)}))(e),array:t=>l((e=>{if(Array.isArray(e))return function(e,t){return e.reduce(((e,l)=>{if(void 0===e)return;let n=t(l);return n.succeeded&&void 0!==n.value?[...e,n.value]:void 0}),[])}(e,t)}))(e)}}let V={optional:n(!0),required:n(!1)},i=(a="txtr",(e,l)=>[t,"-",a,"v",e?`_${e}`:"",l?`-${l}`:""].join(""));var a;
1class r{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(i()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("textarea");l.rows=t.lineCount,l.cols=22,l.placeholder=t.placeholder,l.classList.add(i("i")),t.viewProps.bindDisabled(l),this.element.appendChild(l),this.inputElement=l,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){this.inputElement.value=this.value_.rawValue}onChange_(){this.refresh()}}class s{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.lineCount=t.lineCount,this.placeholder=t.placeholder,this.view=new r(e,{value:this.value,viewProps:this.viewProps,lineCount:this.lineCount,placeholder:this.placeholder}),this.view.inputElement.addEventListener("keyup",this.onInputChange_)}onInputChange_(e){let t=e.currentTarget.value;this.value.rawValue=t,this.view.refresh()}}let o=[{id:"input-template",type:"input",css:".tp-txtrv{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-txtrv{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-txtrv:hover{background-color:var(--in-bg-h)}.tp-txtrv:focus{background-color:var(--in-bg-f)}.tp-txtrv:active{background-color:var(--in-bg-a)}.tp-txtrv:disabled{opacity:.5}.tp-txtrv{display:block;height:auto;padding-bottom:0;overflow:hidden;position:relative}.tp-txtrv.tp-v-disabled{opacity:.5}.tp-txtrv .tp-txtrv_i{font-family:var(--font-family);background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-size:11px;padding:4px;line-height:16px;min-width:0;width:100%;border:none;height:100%;resize:none;margin-bottom:-8px}.tp-txtrv .tp-txtrv_i:focus{outline:none}",accept(e,t){if("string"!=typeof e)return null;let l=V,n=function(e,t){let l=V.required.object(t)(e);return l.succeeded?l.value:void 0}(t,{view:l.required.constant("textarea"),lineCount:l.optional.number,placeholder:l.optional.string});return n?{initialValue:e,params:n}:null},binding:{reader(e){return e=>"string"==typeof e?e:""},writer(e){return(e,t)=>{e.write(t)}}},controller(e){var t,l;return new s(e.document,{value:e.value,lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:3,placeholder:null!==(l=e.params.placeholder)&&void 0!==l?l:"Enter text here",viewProps:e.viewProps})}}];e.plugins=o,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?V(e):"function"==typeof define&&l.amdO?define(["exports"],V):V((n=typeof globalThis<"u"?globalThis:n||self).TweakpaneTextareaPlugin={})})),ce=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BladeApi=void 0;var t=function(){function e(e){this.controller_=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this.controller_.view.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.controller_.viewProps.get("disabled")},set:function(e){this.controller_.viewProps.set("disabled",e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hidden",{get:function(){return this.controller_.viewProps.get("hidden")},set:function(e){this.controller_.viewProps.set("hidden",e)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this.controller_.viewProps.set("disposed",!0)},e}();e.BladeApi=t})),pe=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),Ze=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),We=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});
1Object.defineProperty(e,"__esModule",{value:!0}),e.TpTabSelectEvent=e.TpFoldEvent=e.TpUpdateEvent=e.TpChangeEvent=e.TpEvent=void 0;var n=function(e){this.target=e};e.TpEvent=n;var V=function(e){function t(t,l,n,V){var i=e.call(this,t)||this;return i.value=l,i.presetKey=n,i.last=V??!0,i}return l(t,e),t}(n);e.TpChangeEvent=V;var i=function(e){function t(t,l,n){var V=e.call(this,t)||this;return V.value=l,V.presetKey=n,V}return l(t,e),t}(n);e.TpUpdateEvent=i;var a=function(e){function t(t,l){var n=e.call(this,t)||this;return n.expanded=l,n}return l(t,e),t}(n);e.TpFoldEvent=a;var r=function(e){function t(t,l){var n=e.call(this,t)||this;return n.index=l,n}return l(t,e),t}(n);e.TpTabSelectEvent=r})),me=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isPropertyWritable=e.deepEqualsArray=e.isEmpty=e.forceCast=void 0,e.forceCast=function(e){return e},e.isEmpty=function(e){return null==e},e.deepEqualsArray=function(e,t){if(e.length!==t.length)return!1;for(var l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0},e.isPropertyWritable=function(e,t){var l=e;do{var n=Object.getOwnPropertyDescriptor(l,t);if(n&&(void 0!==n.set||!0===n.writable))return!0;l=Object.getPrototypeOf(l)}while(null!==l);return!1}})),Fe=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TpError=void 0;var t=me(),l={alreadydisposed:function(){return"View has been already disposed"},invalidparams:function(e){return"Invalid parameters for '".concat(e.name,"'")},nomatchingcontroller:function(e){return"No matching controller for '".concat(e.key,"'")},nomatchingview:function(e){return"No matching view for '".concat(JSON.stringify(e.params),"'")},notbindable:function(){return"Value is not bindable"},propertynotfound:function(e){return"Property '".concat(e.name,"' not found")},shouldneverhappen:function(){return"This error should never happen"}},n=function(){function e(e){var n;this.message=null!==(n=l[e.type]((0,t.forceCast)(e.context)))&&void 0!==n?n:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=e.type}return e.alreadyDisposed=function(){return new e({type:"alreadydisposed"})},e.notBindable=function(){return new e({type:"notbindable"})},e.propertyNotFound=function(t){return new e({type:"propertynotfound",context:{name:t}})},e.shouldNeverHappen=function(){return new e({type:"shouldneverhappen"})},e}();e.TpError=n})),Ne=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BindingTarget=void 0;var t=Fe(),l=function(){function e(e,t,l){this.obj_=e,this.key_=t,this.presetKey_=l??t}return e.isBindable=function(e){return!(null===e||"object"!=typeof e&&"function"!=typeof e)},Object.defineProperty(e.prototype,"key",{get:function(){return this.key_},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"presetKey",{get:function(){return this.presetKey_},enumerable:!1,configurable:!0}),e.prototype.read=function(){return this.obj_[this.key_]},e.prototype.write=function(e){this.obj_[this.key_]=e},e.prototype.writeProperty=function(l,n){var V=this.read();if(!e.isBindable(V))throw t.TpError.notBindable();if(!(l in V))throw t.TpError.propertyNotFound(l);V[l]=n},e}();e.BindingTarget=l})),ue=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.ButtonApi=void 0;var n=ce(),V=We(),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),Object.defineProperty(t.prototype,"label",{get:function(){return this.controller_.props.get("label")},set:function(e){this.controller_.props.set("label",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"title",{get:function(){var e;return null!==(e=this.controller_.valueController.props.get("title"))&&void 0!==e?e:""},set:function(e){this.controller_.valueController.props.set("title",e)}
1,enumerable:!1,configurable:!0}),t.prototype.on=function(e,t){var l=this,n=t.bind(this);return this.controller_.valueController.emitter.on(e,(function(){n(new V.TpEvent(l))})),this},t}(n.BladeApi);e.ButtonApi=i})),Ee=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=void 0;var t=function(){function e(){this.observers_={}}return e.prototype.on=function(e,t){var l=this.observers_[e];return l||(l=this.observers_[e]=[]),l.push({handler:t}),this},e.prototype.off=function(e,t){var l=this.observers_[e];return l&&(this.observers_[e]=l.filter((function(e){return e.handler!==t}))),this},e.prototype.emit=function(e,t){var l=this.observers_[e];l&&l.forEach((function(e){e.handler(t)}))},e}();e.Emitter=t})),be=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ClassName=void 0;var t="tp";e.ClassName=function(e){return function(l,n){return[t,"-",e,"v",l?"_".concat(l):"",n?"-".concat(n):""].join("")}}})),Se=o((e=>{function t(e){return e.rawValue}function l(e,l){e.emitter.on("change",function(e,t){return function(l){return t(e(l))}}(t,l)),l(e.rawValue)}Object.defineProperty(e,"__esModule",{value:!0}),e.bindValueMap=e.bindValue=void 0,e.bindValue=l,e.bindValueMap=function(e,t,n){l(e.value(t),n)}})),Je=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bindValueToTextContent=e.valueToClassName=void 0;var t=Se();e.valueToClassName=function(e,t){return function(l){!function(e,t,l){l?e.classList.add(t):e.classList.remove(t)}(e,t,l)}},e.bindValueToTextContent=function(e,l){(0,t.bindValue)(e,(function(e){l.textContent=e??""}))}})),Te=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ButtonView=void 0;var t=be(),l=Je(),n=(0,t.ClassName)("btn"),V=function(e,t){this.element=e.createElement("div"),this.element.classList.add(n()),t.viewProps.bindClassModifiers(this.element);var V=e.createElement("button");V.classList.add(n("b")),t.viewProps.bindDisabled(V),this.element.appendChild(V),this.buttonElement=V;var i=e.createElement("div");i.classList.add(n("t")),(0,l.bindValueToTextContent)(t.props.value("title"),i),this.buttonElement.appendChild(i)};e.ButtonView=V})),Ge=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ButtonController=void 0;var t=Ee(),l=Te(),n=function(){function e(e,n){this.emitter=new t.Emitter,this.onClick_=this.onClick_.bind(this),this.props=n.props,this.viewProps=n.viewProps,this.view=new l.ButtonView(e,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}return e.prototype.onClick_=function(){this.emitter.emit("click",{sender:this})},e}();e.ButtonController=n})),Me=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BoundValue=void 0;var t=Ee(),l=function(){function e(e,l){var n;this.constraint_=l?.constraint,this.equals_=null!==(n=l?.equals)&&void 0!==n?n:function(e,t){return e===t},this.emitter=new t.Emitter,this.rawValue_=e}return Object.defineProperty(e.prototype,"constraint",{get:function(){return this.constraint_},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rawValue",{get:function(){return this.rawValue_},set:function(e){this.setRawValue(e,{forceEmit:!1,last:!0})},enumerable:!1,configurable:!0}),e.prototype.setRawValue=function(e,t){var l=t??{forceEmit:!1,last:!0},n=this.constraint_?this.constraint_.constrain(e):e,V=this.rawValue_;!!this.equals_(V,n)&&!l.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=n,this.emitter.emit("change",{options:l,previousRawValue:V,rawValue:n,sender:this}))},e}();e.BoundValue=l})),ke=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PrimitiveValue=void 0;var t=Ee(),l=function(){function e(e){this.emitter=new t.Emitter,this.value_=e}return Object.defineProperty(e.prototype,"rawValue",{get:function(){return this.value_},set:function(e){this.setRawValue(e,{forceEmit:!1,last:!0})},enumerable:!1,configurable:!0}),e.prototype.setRawValue=function(e,t){var l=t??{forceEmit:!1,last:!0},n=this.value_;n===e&&!l.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=e,this.emitter.emit("change",{options:l,previousRawValue:n,rawValue:this.value_,sender:this}))},e}();e.PrimitiveValue=l})),Ye=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.createValue=void 0;var t=Me(),l=ke();e.createValue=function(e,n){var V=n?.constraint,i=n?.equals;return V||i?new t.BoundValue(e,n):new l.PrimitiveValue(e)}})),xe=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ValueMap=void 0;var t=Ee(),l=Ye(),n=function(){function e(e){var l=this;this.emitter=new t.Emitter,this.valMap_=e;var n=function(e){V.valMap_[e].emitter.on("change",(function(){l.emitter.emit("change",{key:e,sender:l})}))},V=this;for(var i in this.valMap_)n(i)}return e.createCore=function(e){return Object.keys(e).reduce((function(t,n){var V;return Object.assign(t,((V={})[n]=(0,l.createValue)(e[n]),V))}),{})},e.fromObject=function(t){return new e(this.createCore(t))},e.prototype.get=function(e){return this.valMap_[e].rawValue},e.prototype.set=function(e,t){this.valMap_[e].rawValue=t},e.prototype.value=function(e){return this.valMap_[e]},e}();e.ValueMap=n})),Qe=o((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},t.apply(this,arguments)},l=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.parseParams=e.ParamsParsers=void 0;var n=me();function V(e){return function(t){return function(l){if(!t&&void 0===l)return{succeeded:!1,value:void 0};if(t&&void 0===l)return{succeeded:!0,value:void 0};var n=e(l);return void 0!==n?{succeeded:!0,value:n}:{succeeded:!1,value:void 0}}}}function i(e){return{custom:function(t){return V(t)(e)},boolean:V((function(e){return"boolean"==typeof e?e:void 0}))(e),number:V((function(e){return"number"==typeof e?e:void 0}))(e),string:V((function(e){return"string"==typeof e?e:void 0}))(e),function:V((function(e){return"function"==typeof e?e:void 0}))(e),constant:function(t){return V((function(e){return e===t?t:void 0}))(e)},raw:V((function(e){return e}))(e),object:function(l){return V((function(e){if(function(e){return null!==e&&"object"==typeof e}(e))return function(e,l){var V=Object.keys(l).reduce((function(n,V){var i;if(void 0!==n){var a=(0,l[V])(e[V]);return a.succeeded?t(t({},n),((i={})[V]=a.value,i)):void 0}}),{});return(0,n.forceCast)(V)}(e,l)}))(e)},array:function(t){return V((function(e){if(Array.isArray(e))return function(e,t){return e.reduce((function(e,n){if(void 0!==e){var V=t(n);if(V.succeeded&&void 0!==V.value)return l(l([],e,!0),[V.value],!1)}}),[])}(e,t)}))(e)}}}e.ParamsParsers={optional:i(!0),required:i(!1)},e.parseParams=function(t,l){var n=e.ParamsParsers.required.object(l)(t);return n.succeeded?n.value:void 0}})),Xe=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.warnMissing=e.warnDeprecation=void 0,e.warnDeprecation=function(e){var t;console.warn(["".concat(e.name," is deprecated."),e.alternative?"use ".concat(e.alternative," instead."):"",null!==(t=e.postscript)&&void 0!==t?t:""].join(" "))},e.warnMissing=function(e){console.warn(["Missing '".concat(e.key,"' of ").concat(e.target," in ").concat(e.place,"."),"Please rebuild plugins with the latest core package."].join(" "))}})),we=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.disposeElement=void 0,e.disposeElement=function(e){return e&&e.parentElement&&e.parentElement.removeChild(e),null}})),fe=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ReadonlyValue=void 0;var t=function(){function e(e){this.value_=e}return e.create=function(t){return[new e(t),function(e,l){t.setRawValue(e,l)}]},Object.defineProperty(e.prototype,"emitter",{get:function(){return this.value_.emitter},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rawValue",{get:function(){return this.value_.rawValue},enumerable:!1,configurable:!0}),e}();e.ReadonlyValue=t})),ze=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});
1Object.defineProperty(e,"__esModule",{value:!0}),e.ViewProps=void 0;var n=be(),V=Je(),i=Se(),a=fe(),r=xe(),s=Ye(),o=(0,n.ClassName)("");function h(e,t){return(0,V.valueToClassName)(e,o(void 0,t))}var d=function(e){function t(t){var l,n,V=this;return(V=e.call(this,t)||this).onDisabledChange_=V.onDisabledChange_.bind(V),V.onParentChange_=V.onParentChange_.bind(V),V.onParentGlobalDisabledChange_=V.onParentGlobalDisabledChange_.bind(V),l=a.ReadonlyValue.create((0,s.createValue)(V.getGlobalDisabled_())),V.globalDisabled_=l[0],V.setGlobalDisabled_=l[1],V.value("disabled").emitter.on("change",V.onDisabledChange_),V.value("parent").emitter.on("change",V.onParentChange_),null===(n=V.get("parent"))||void 0===n||n.globalDisabled.emitter.on("change",V.onParentGlobalDisabledChange_),V}return l(t,e),t.create=function(e){var l,n,V,i=e??{};return new t(r.ValueMap.createCore({disabled:null!==(l=i.disabled)&&void 0!==l&&l,disposed:!1,hidden:null!==(n=i.hidden)&&void 0!==n&&n,parent:null!==(V=i.parent)&&void 0!==V?V:null}))},Object.defineProperty(t.prototype,"globalDisabled",{get:function(){return this.globalDisabled_},enumerable:!1,configurable:!0}),t.prototype.bindClassModifiers=function(e){(0,i.bindValue)(this.globalDisabled_,h(e,"disabled")),(0,i.bindValueMap)(this,"hidden",h(e,"hidden"))},t.prototype.bindDisabled=function(e){(0,i.bindValue)(this.globalDisabled_,(function(t){e.disabled=t}))},t.prototype.bindTabIndex=function(e){(0,i.bindValue)(this.globalDisabled_,(function(t){e.tabIndex=t?-1:0}))},t.prototype.handleDispose=function(e){this.value("disposed").emitter.on("change",(function(t){t&&e()}))},t.prototype.getGlobalDisabled_=function(){var e=this.get("parent");return!!e&&e.globalDisabled.rawValue||this.get("disabled")},t.prototype.updateGlobalDisabled_=function(){this.setGlobalDisabled_(this.getGlobalDisabled_())},t.prototype.onDisabledChange_=function(){this.updateGlobalDisabled_()},t.prototype.onParentGlobalDisabledChange_=function(){this.updateGlobalDisabled_()},t.prototype.onParentChange_=function(e){var t,l=e.previousRawValue;l?.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()},t}(r.ValueMap);e.ViewProps=d})),ye=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getAllBladePositions=void 0,e.getAllBladePositions=function(){return["veryfirst","first","last","verylast"]}})),Ce=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BladeController=void 0;var t=Xe(),l=we(),n=ze(),V=be(),i=ye(),a=(0,V.ClassName)(""),r={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"},s=function(){function e(e){var t=this;this.parent_=null,this.blade=e.blade,this.view=e.view,this.viewProps=e.viewProps;var n=this.view.element;this.blade.value("positions").emitter.on("change",(function(){(0,i.getAllBladePositions)().forEac
1h((function(e){n.classList.remove(a(void 0,r[e]))})),t.blade.get("positions").forEach((function(e){n.classList.add(a(void 0,r[e]))}))})),this.viewProps.handleDispose((function(){(0,l.disposeElement)(n)}))}return Object.defineProperty(e.prototype,"parent",{get:function(){return this.parent_},set:function(e){this.parent_=e,"parent"in this.viewProps.valMap_?this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null):(0,t.warnMissing)({key:"parent",target:n.ViewProps.name,place:"BladeController.parent"})},enumerable:!1,configurable:!0}),e}();e.BladeController=s})),je=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.findNextTarget=e.indexOfChildElement=e.removeChildNodes=e.removeChildElements=e.removeElement=e.insertElementAt=e.createSvgIconElement=e.getCanvasContext=e.getWindowDocument=e.supportsTouch=e.disableTransitionTemporarily=e.forceReflow=e.SVG_NS=void 0;var t=me();e.SVG_NS="http://www.w3.org/2000/svg",e.forceReflow=function(e){e.offsetHeight},e.disableTransitionTemporarily=function(e,t){var l=e.style.transition;e.style.transition="none",t(),e.style.transition=l},e.supportsTouch=function(e){return void 0!==e.ontouchstart},e.getWindowDocument=function(){return(0,t.forceCast)(globalThis).document},e.getCanvasContext=function(e){var t=e.ownerDocument.defaultView;return t&&"document"in t?e.getContext("2d",{willReadFrequently:!0}):null};var l={check:'<path d="M2 8l4 4l8 -8"/>',dropdown:'<path d="M5 7h6l-3 3 z"/>',p2dpad:'<path d="M8 4v8"/><path d="M4 8h8"/><circle cx="12" cy="12" r="1.2"/>'};e.createSvgIconElement=function(t,n){var V=t.createElementNS(e.SVG_NS,"svg");return V.innerHTML=l[n],V},e.insertElementAt=function(e,t,l){e.insertBefore(t,e.children[l])},e.removeElement=function(e){e.parentElement&&e.parentElement.removeChild(e)},e.removeChildElements=function(e){for(;e.children.length>0;)e.removeChild(e.children[0])},e.removeChildNodes=function(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])},e.indexOfChildElement=function(e){var t=e.parentElement;return t?Array.prototype.slice.call(t.children).indexOf(e):-1},e.findNextTarget=function(e){return e.relatedTarget?(0,t.forceCast)(e.relatedTarget):"explicitOriginalTarget"in e?e.explicitOriginalTarget:null}})),ge=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LabelView=void 0;var t=je(),l=Se(),n=be(),V=me(),i=(0,n.ClassName)("lbl");var a=function(e,n){var a=this;this.element=e.createElement("div"),this.element.classList.add(i()),n.viewProps.bindClassModifiers(this.element);var r=e.createElement("div");r.classList.add(i("l")),(0,l.bindValueMap)(n.props,"label",(function(l){(0,V.isEmpty)(l)?a.element.classList.add(i(void 0,"nol")):(a.element.classList.remove(i(void 0,"nol")),(0,t.removeChildNodes)(r),r.appendChild(function(e,t){var l=e.createDocumentFragment();return t.split("\n").map((function(t){return e.createTextNode(t)})).forEach((function(t,n){n>0&&l.appendChild(e.createElement("br")),l.appendChild(t)})),l}(e,l)))})),this.element.appendChild(r),this.labelElement=r;var s=e.createElement("div");s.classList.add(i("v")),this.element.appendChild(s),this.valueElement=s};e.LabelView=a})),Be=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)}),n=e&&e.__assign||function(){return n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},n.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.LabelController=void 0;var V=Ce(),i=ge(),a=function(e){function t(t,l){var V=this,a=l.valueController.viewProps;return(V=e.call(this,n(n({},l),{view:new i.LabelView(t,{props:l.props,viewProps:a}),viewProps:a}))||this).props=l.props,V.valueController=l.valueController,V.view.valueElement.appendChild(V.valueController.view.element),V}return l(t,e),t}(V.BladeController);e.LabelController=a})),He=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.ButtonBladePlugin=void 0;var t=xe(),l=Qe(),n=Be(),V=ue(),i=Ge();e.ButtonBladePlugin={id:"button",type:"blade",accept:function(e){var t=l.ParamsParsers,n=(0,l.parseParams)(e,{title:t.required.string,view:t.required.constant("button"),label:t.optional.string});return n?{params:n}:null},controller:function(e){return new n.LabelController(e.document,{blade:e.blade,props:t.ValueMap.fromObject({label:e.params.label}),valueController:new i.ButtonController(e.document,{props:t.ValueMap.fromObject({title:e.params.title}),viewProps:e.viewProps})})},api:function(e){return e.controller instanceof n.LabelController&&e.controller.valueController instanceof i.ButtonController?new V.ButtonApi(e.controller):null}}})),ve=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.ValueBladeController=void 0;var n=function(e){function t(t){var l=e.call(this,t)||this;return l.value=t.value,l}return l(t,e),t}(Ce().BladeController);e.ValueBladeController=n})),Ie=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createBlade=void 0;var t=xe(),l=Ye(),n=me();e.createBlade=function(){return new t.ValueMap({positions:(0,l.createValue)([],{equals:n.deepEqualsArray})})}})),De=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.bindFoldable=e.getFoldableStyleHeight=e.getFoldableStyleExpanded=e.createFoldable=e.Foldable=void 0;var n=je(),V=Se(),i=xe(),a=me(),r=function(e){function t(t){return e.call(this,t)||this}return l(t,e),t.create=function(e){var l={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null};return new t(i.ValueMap.createCore(l))},Object.defineProperty(t.prototype,"styleExpanded",{get:function(){var e;return null!==(e=this.get("temporaryExpanded"))&&void 0!==e?e:this.get("expanded")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"styleHeight",{get:function(){if(!this.styleExpanded)return"0";var e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!(0,a.isEmpty)(e)?"".concat(e,"px"):"auto"},enumerable:!1,configurable:!0}),t.prototype.bindExpandedClass=function(e,t){var l=this,n=function(){l.styleExpanded?e.classList.add(t):e.classList.remove(t)};(0,V.bindValueMap)(this,"expanded",n),(0,V.bindValueMap)(this,"temporaryExpanded",n)},t.prototype.cleanUpTransition=function(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)},t}(i.ValueMap);function s(e,t){t.style.height=e.styleHeight}e.Foldable=r,e.createFoldable=function(e){return r.create(e)},e.getFoldableStyleExpanded=function(e){return e.styleExpanded},e.getFoldableStyleHeight=function(e){return e.styleHeight},e.bindFoldable=function(e,t){e.value("expanded").emitter.on("beforechange",(function(){if(e.set("completed",!1),(0,a.isEmpty)(e.get("expandedHeight"))){var l=function(e,t){var l=0;return(0,n.disableTransitionTemporarily)(t,(function(){e.set("expandedHeight",null),e.set("temporaryExpanded",!0),(0,n.forceReflow)(t),l=t.clientHeight,e.set("temporaryExpanded",null),(0,n.forceReflow)(t)})),l}(e,t);l>0&&e.set("expandedHeight",l)}e.set("shouldFixHeight",!0),(0,n.forceReflow)(t)})),e.emitter.on("change",(function(){s(e,t)})),s(e,t),t.addEventListener("transitionend",(function(t){"height"===t.propertyName&&e.cleanUpTransition()}))}})),Oe=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});
1Object.defineProperty(e,"__esModule",{value:!0}),e.RackLikeApi=void 0;var n=function(e){function t(t,l){var n=e.call(this,t)||this;return n.rackApi_=l,n}return l(t,e),t}(ce().BladeApi);e.RackLikeApi=n})),_e=o((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},t.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.addTabAsBlade=e.addSeparatorAsBlade=e.addFolderAsBlade=e.addButtonAsBlade=void 0,e.addButtonAsBlade=function(e,l){return e.addBlade(t(t({},l),{view:"button"}))},e.addFolderAsBlade=function(e,l){return e.addBlade(t(t({},l),{view:"folder"}))},e.addSeparatorAsBlade=function(e,l){var n=l??{};return e.addBlade(t(t({},n),{view:"separator"}))},e.addTabAsBlade=function(e,l){return e.addBlade(t(t({},l),{view:"tab"}))}})),Le=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NestedOrderedSet=void 0;var t=Ee(),l=Fe(),n=function(){function e(e){this.emitter=new t.Emitter,this.items_=[],this.cache_=new Set,this.onSubListAdd_=this.onSubListAdd_.bind(this),this.onSubListRemove_=this.onSubListRemove_.bind(this),this.extract_=e}return Object.defineProperty(e.prototype,"items",{get:function(){return this.items_},enumerable:!1,configurable:!0}),e.prototype.allItems=function(){return Array.from(this.cache_)},e.prototype.find=function(e){for(var t=0,l=this.allItems();t<l.length;t++){var n=l[t];if(e(n))return n}return null},e.prototype.includes=function(e){return this.cache_.has(e)},e.prototype.add=function(e,t){var n=this;if(this.includes(e))throw l.TpError.shouldNeverHappen();var V=void 0!==t?t:this.items_.length;this.items_.splice(V,0,e),this.cache_.add(e);var i=this.extract_(e);i&&(i.emitter.on("add",this.onSubListAdd_),i.emitter.on("remove",this.onSubListRemove_),i.allItems().forEac
1h((function(e){n.cache_.add(e)}))),this.emitter.emit("add",{index:V,item:e,root:this,target:this})},e.prototype.remove=function(e){var t=this.items_.indexOf(e);if(!(t<0)){this.items_.splice(t,1),this.cache_.delete(e);var l=this.extract_(e);l&&(l.emitter.off("add",this.onSubListAdd_),l.emitter.off("remove",this.onSubListRemove_)),this.emitter.emit("remove",{index:t,item:e,root:this,target:this})}},e.prototype.onSubListAdd_=function(e){this.cache_.add(e.item),this.emitter.emit("add",{index:e.index,item:e.item,root:this,target:e.target})},e.prototype.onSubListRemove_=function(e){this.cache_.delete(e.item),this.emitter.emit("remove",{index:e.index,item:e.item,root:this,target:e.target})},e}();e.NestedOrderedSet=n})),Ke=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.InputBindingApi=void 0;var n=Ee(),V=me(),i=ce(),a=We(),r=function(e){function t(t){var l=e.call(this,t)||this;return l.onBindingChange_=l.onBindingChange_.bind(l),l.emitter_=new n.Emitter,l.controller_.binding.emitter.on("change",l.onBindingChange_),l}return l(t,e),Object.defineProperty(t.prototype,"label",{get:function(){return this.controller_.props.get("label")},set:function(e){this.controller_.props.set("label",e)},enumerable:!1,configurable:!0}),t.prototype.on=function(e,t){var l=t.bind(this);return this.emitter_.on(e,(function(e){l(e.event)})),this},t.prototype.refresh=function(){this.controller_.binding.read()},t.prototype.onBindingChange_=function(e){var t=e.sender.target.read();this.emitter_.emit("change",{event:new a.TpChangeEvent(this,(0,V.forceCast)(t),this.controller_.binding.target.presetKey,e.options.last)})},t}(i.BladeApi);e.InputBindingApi=r})),Pe=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.InputBindingController=void 0;var n=function(e){function t(t,l){var n=e.call(this,t,l)||this;return n.binding=l.binding,n}return l(t,e),t}(Be().LabelController);e.InputBindingController=n})),Ae=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.MonitorBindingApi=void 0;var n=Ee(),V=me(),i=ce(),a=We(),r=function(e){function t(t){var l=e.call(this,t)||this;return l.onBindingUpdate_=l.onBindingUpdate_.bind(l),l.emitter_=new n.Emitter,l.controller_.binding.emitter.on("update",l.onBindingUpdate_),l}return l(t,e),Object.defineProperty(t.prototype,"label",{get:function(){return this.controller_.props.get("label")},set:function(e){this.controller_.props.set("label",e)},enumerable:!1,configurable:!0}),t.prototype.on=function(e,t){var l=t.bind(this);return this.emitter_.on(e,(function(e){l(e.event)})),this},t.prototype.refresh=function(){this.controller_.binding.read()},t.prototype.onBindingUpdate_=function(e){var t=e.sender.target.read();this.emitter_.emit("update",{event:new a.TpUpdateEvent(this,(0,V.forceCast)(t),this.controller_.binding.target.presetKey)})},t}(i.BladeApi);e.MonitorBindingApi=r})),qe=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});
1Object.defineProperty(e,"__esModule",{value:!0}),e.MonitorBindingController=void 0;var n=function(e){function t(t,l){var n=e.call(this,t,l)||this;return n.binding=l.binding,n.viewProps.bindDisabled(n.binding.ticker),n.viewProps.handleDispose((function(){n.binding.dispose()})),n}return l(t,e),t}(Be().LabelController);e.MonitorBindingController=n})),$e=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.RackApi=e.findSubBladeApiSet=void 0;var n=Ne(),V=Ee(),i=Fe(),a=me(),r=ce(),s=_e(),o=Oe(),h=We(),d=ve(),R=Le(),U=Ke(),c=Pe(),p=Ae(),Z=qe();function W(e){return e instanceof N?e.apiSet_:e instanceof o.RackLikeApi?e.rackApi_.apiSet_:null}function m(e,t){var l=e.find((function(e){return e.controller_===t}));if(!l)throw i.TpError.shouldNeverHappen();return l}function F(e,t,l){if(!n.BindingTarget.isBindable(e))throw i.TpError.notBindable();return new n.BindingTarget(e,t,l)}e.findSubBladeApiSet=W;var N=function(e){function t(t,l){var n=e.call(this,t)||this;n.onRackAdd_=n.onRackAdd_.bind(n),n.onRackRemove_=n.onRackRemove_.bind(n),n.onRackInputChange_=n.onRackInputChange_.bind(n),n.onRackMonitorUpdate_=n.onRackMonitorUpdate_.bind(n),n.emitter_=new V.Emitter,n.apiSet_=new R.NestedOrderedSet(W),n.pool_=l;var i=n.controller_.rack;return i.emitter.on("add",n.onRackAdd_),i.emitter.on("remove",n.onRackRemove_),i.emitter.on("inputchange",n.onRackInputChange_),i.emitter.on("monitorupdate",n.onRackMonitorUpdate_),i.children.forEach((function(e){n.setUpApi_(e)})),n}return l(t,e),Object.defineProperty(t.prototype,"children",{get:function(){var e=this;return this.controller_.rack.children.map((function(t){return m(e.apiSet_,t)}))},enumerable:!1,configurable:!0}),t.prototype.addInput=function(e,t,l){var n=l??{},V=this.controller_.view.element.ownerDocument,i=this.pool_.createInput(V,F(e,t,n.presetKey),n),a=new U.InputBindingApi(i);return this.add(a,n.index)},t.prototype.addMonitor=function(e,t,l){var n=l??{},V=this.controller_.view.element.ownerDocument,i=this.pool_.createMonitor(V,F(e,t),n),r=new p.MonitorBindingApi(i);return(0,a.forceCast)(this.add(r,n.index))},t.prototype.addFolder=function(e){return(0,s.addFolderAsBlade)(this,e)},t.prototype.addButton=function(e){return(0,s.addButtonAsBlade)(this,e)},t.prototype.addSeparator=function(e){return(0,s.addSeparatorAsBlade)(this,e)},t.prototype.addTab=function(e){return(0,s.addTabAsBlade)(this,e)},t.prototype.add=function(e,t){this.controller_.rack.add(e.controller_,t);var l=this.apiSet_.find((function(t){return t.controller_===e.controller_}));return l&&this.apiSet_.remove(l),this.apiSet_.add(e),e},t.prototype.remove=function(e){this.controller_.rack.remove(e.controller_)},t.prototype.addBlade=function(e){var t=this.controller_.view.element.ownerDocument,l=this.pool_.createBlade(t,e),n=this.pool_.createBladeApi(l);return this.add(n,e.index)},t.prototype.on=function(e,t){var l=t.bind(this);return this.emitter_.on(e,(function(e){l(e.event)})),this},t.prototype.setUpApi_=function(e){this.apiSet_.find((function(t){return t.controller_===e}))||this.apiSet_.add(this.pool_.createBladeApi(e))},t.prototype.onRackAdd_=function(e){this.setUpApi_(e.bladeController)},t.prototype.onRackRemove_=function(e){if(e.isRoot){var t=m(this.apiSet_,e.bladeController);this.apiSet_.remove(t)}},t.prototype.onRackInputChange_=function(e){var t=e.bladeController;if(t instanceof c.InputBindingController){var l=m(this.apiSet_,t),n=t.binding;this.emitter_.emit("change",{event:new h.TpChangeEvent(l,(0,a.forceCast)(n.target.read()),n.target.presetKey,e.options.last)})}else if(t instanceof d.ValueBladeController){l=m(this.apiSet_,t);this.emitter_.emit("change",{event:new h.TpChangeEvent(l,t.value.rawValue,void 0,e.o
1ptions.last)})}},t.prototype.onRackMonitorUpdate_=function(e){if(!(e.bladeController instanceof Z.MonitorBindingController))throw i.TpError.shouldNeverHappen();var t=m(this.apiSet_,e.bladeController),l=e.bladeController.binding;this.emitter_.emit("update",{event:new h.TpUpdateEvent(t,(0,a.forceCast)(l.target.read()),l.target.presetKey)})},t}(r.BladeApi);e.RackApi=N})),et=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.FolderApi=void 0;var n=Ee(),V=Oe(),i=We(),a=$e(),r=function(e){function t(t,l){var V=e.call(this,t,new a.RackApi(t.rackController,l))||this;return V.emitter_=new n.Emitter,V.controller_.foldable.value("expanded").emitter.on("change",(function(e){V.emitter_.emit("fold",{event:new i.TpFoldEvent(V,e.sender.rawValue)})})),V.rackApi_.on("change",(function(e){V.emitter_.emit("change",{event:e})})),V.rackApi_.on("update",(function(e){V.emitter_.emit("update",{event:e})})),V}return l(t,e),Object.defineProperty(t.prototype,"expanded",{get:function(){return this.controller_.foldable.get("expanded")},set:function(e){this.controller_.foldable.set("expanded",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"title",{get:function(){return this.controller_.props.get("title")},set:function(e){this.controller_.props.set("title",e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this.rackApi_.children},enumerable:!1,configurable:!0}),t.prototype.addInput=function(e,t,l){return this.rackApi_.addInput(e,t,l)},t.prototype.addMonitor=function(e,t,l){return this.rackApi_.addMonitor(e,t,l)},t.prototype.addFolder=function(e){return this.rackApi_.addFolder(e)},t.prototype.addButton=function(e){return this.rackApi_.addButton(e)},t.prototype.addSeparator=function(e){return this.rackApi_.addSeparator(e)},t.prototype.addTab=function(e){return this.rackApi_.addTab(e)},t.prototype.add=function(e,t){return this.rackApi_.add(e,t)},t.prototype.remove=function(e){this.rackApi_.remove(e)},t.prototype.addBlade=function(e){return this.rackApi_.addBlade(e)},t.prototype.on=function(e,t){var l=t.bind(this);return this.emitter_.on(e,(function(e){l(e.event)})),this},t}(V.RackLikeApi);e.FolderApi=r})),tt=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.RackLikeController=void 0;var n=function(e){function t(t){var l=e.call(this,{blade:t.blade,view:t.view,viewProps:t.rackController.viewProps})||this;return l.rackController=t.rackController,l}return l(t,e),t}(Ce().BladeController);e.RackLikeController=n})),lt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PlainView=void 0;var t=be(),l=function(e,l){var n=(0,t.ClassName)(l.viewName);this.element=e.createElement("div"),this.element.classList.add(n()),l.viewProps.bindClassModifiers(this.element)};e.PlainView=l})),nt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BladeRack=void 0;var t=Xe(),l=Ee(),n=Fe(),V=me(),i=Pe(),a=qe(),r=Vt(),s=tt(),o=ve(),h=Le();function d(e){return e instanceof r.RackController?e.rack:e instanceof s.RackLikeController?e.rackController.rack:null}function R(e){var t=d(e);return t?t.bcSet_:null}var U=function(){function e(e){var t,n;this.onBladePositionsChange_=this.onBladePositionsChange_.bind(this),this.onSetAdd_=this.onSetAdd_.bind(this),this.onSetRemove_=this.onSetRemove_.bind(this),this.onChildDispose_=this.onChildDispose_.bind(this),this.onChildPositionsChange_=this.onChildPositionsChange_.bind(this),this.onChildInputChange_=this.onChildInputChange_.bind(this),this.onChildMonitorUpdate_=this.onChildMonitorUpdate_.bind(this),this.onChildValueChange_=this.onChildValueChange_.bind(this),this.onChildViewPropsChange_=this.onChildViewPropsChange_.bind(this),this.onDescendantLayout_=this.onDescendantLayout_.bind(this),this.onDescendantInputChange_=this.onDescendantInputChange_.bind(this),this.onDescendantMonitorUpdate_=this.onDescendantMonitorUpdate_.bind(this),this.emitter=new l.Emitter,this.blade_=null!==(t=e.blade)&&void 0!==t?t:null,null===(n=this.blade_)||void 0===n||n.value("positions").emitter.on("change",this.onBladePositionsChange_),this.viewProps=e.viewProps,this.bcSet_=ne
1w h.NestedOrderedSet(R),this.bcSet_.emitter.on("add",this.onSetAdd_),this.bcSet_.emitter.on("remove",this.onSetRemove_)}return Object.defineProperty(e.prototype,"children",{get:function(){return this.bcSet_.items},enumerable:!1,configurable:!0}),e.prototype.add=function(e,l){var n;null===(n=e.parent)||void 0===n||n.remove(e),(0,V.isPropertyWritable)(e,"parent")?e.parent=this:(e.parent_=this,(0,t.warnMissing)({key:"parent",target:"BladeController",place:"BladeRack.add"})),this.bcSet_.add(e,l)},e.prototype.remove=function(e){(0,V.isPropertyWritable)(e,"parent")?e.parent=null:(e.parent_=null,(0,t.warnMissing)({key:"parent",target:"BladeController",place:"BladeRack.remove"})),this.bcSet_.remove(e)},e.prototype.find=function(e){return(0,V.forceCast)(this.bcSet_.allItems().filter((function(t){return t instanceof e})))},e.prototype.onSetAdd_=function(e){this.updatePositions_();var t=e.target===e.root;if(this.emitter.emit("add",{bladeController:e.item,index:e.index,isRoot:t,sender:this}),t){var l=e.item;if(l.viewProps.emitter.on("change",this.onChildViewPropsChange_),l.blade.value("positions").emitter.on("change",this.onChildPositionsChange_),l.viewProps.handleDispose(this.onChildDispose_),l instanceof i.InputBindingController)l.binding.emitter.on("change",this.onChildInputChange_);else if(l instanceof a.MonitorBindingController)l.binding.emitter.on("update",this.onChildMonitorUpdate_);else if(l instanceof o.ValueBladeController)l.value.emitter.on("change",this.onChildValueChange_);else{var n=d(l);if(n){var V=n.emitter;V.on("layout",this.onDescendantLayout_),V.on("inputchange",this.onDescendantInputChange_),V.on("monitorupdate",this.onDescendantMonitorUpdate_)}}}},e.prototype.onSetRemove_=function(e){this.updatePositions_();var t=e.target===e.root;if(this.emitter.emit("remove",{bladeController:e.item,isRoot:t,sender:this}),t){var l=e.item;if(l instanceof i.InputBindingController)l.binding.emitter.off("change",this.onChildInputChange_);else if(l instanceof a.MonitorBindingController)l.binding.emitter.off("update",this.onChildMonitorUpdate_);else if(l instanceof o.ValueBladeController)l.value.emitter.off("change",this.onChildValueChange_);else{var n=d(l);if(n){var V=n.emitter;V.off("layout",this.onDescendantLayout_),V.off("inputchange",this.onDescendantInputChange_),V.off("monitorupdate",this.onDescendantMonitorUpdate_)}}}},e.prototype.updatePositions_=function(){var e=this,t=this.bcSet_.items.filter((function(e){return!e.viewProps.get("hidden")})),l=t[0],n=t[t.length-1];this.bcSet_.items.forEach((function(t){var V=[];t===l&&(V.push("first"),(!e.blade_||e.blade_.get("positions").includes("veryfirst"))&&V.push("veryfirst")),t===n&&(V.push("last"),(!e.blade_||e.blade_.get("positions").includes("verylast"))&&V.push("verylast")),t.blade.set("positions",V)}))},e.prototype.onChildPositionsChange_=function(){this.updatePositions_(),this.emitter.emit("layout",{sender:this})},e.prototype.onChildViewPropsChange_=function(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})},e.prototype.onChildDispose_=function(){var e=this;this.bcSet_.items.filter((function(e){return e.viewProps.get("disposed")})).forEach((function(t){e.bcSet_.remove(t)}))},e.prototype.onChildInputChange_=function(e){var t=function(e,t){for(var l=0;l<e.length;l++){var n=e[l];if(n instanceof i.InputBindingController&&n.binding===t)return n}return null}(this.find(i.InputBindingController),e.sender);if(!t)throw n.TpError.alreadyDisposed();this.emitter.emit("inputchange",{bladeController:t,options:e.options,sender:this})},e.prototype.onChildMonitorUpdate_=function(e){var t=function(e,t){for(var l=0;l<e.length;l++){var n=e[l];if(n instanceof a.MonitorBindingController&&n.binding===t)return n}return null}(this.find(a.MonitorBindingController),e.sender);if(!t)throw n.TpError.alreadyDisposed();this.emitter.emit("monitorupdate",{bladeController:t,sender:this})},e.prototype.onChildValueChange_=function(e){var t=function(e,t){for(var l=0;l<e.length;l++){var n=e[l];if(n instanceof o.ValueBladeController&&n.value===t)return n}return null}(this.find(o.ValueBladeController),e.sender);if(!t)throw n.TpError.alreadyDisposed();this.emitter.emit("inputchange",{bladeController:t,options:e.options,sender:this})},e.prototype.onDescendantLayout_=function(e){this.updatePositions_(),this.emitter.emit("layout",{sender:this})},e.prototype.onDescendantInputChange_=function(e){this.emitter.emit("inputchange",{bladeController:e.bladeController,options:e.options,sender:this})},e.prototype.onDescendantMonitorUpdate_=function(e){this.emitter.emit("monitorupdate",{bladeController:e.bladeController,sender:this})},e.prototype.onBladePositionsChange_=function(){this.updatePositions_()},e}();e.BladeRack=U})),Vt=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)}),n=e&&e.__assign||function(){return n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},n.apply(this,arguments)};
1Object.defineProperty(e,"__esModule",{value:!0}),e.RackController=void 0;var V=je(),i=lt(),a=Ce(),r=nt(),s=function(e){function t(t,l){var V=e.call(this,n(n({},l),{view:new i.PlainView(t,{viewName:"brk",viewProps:l.viewProps})}))||this;V.onRackAdd_=V.onRackAdd_.bind(V),V.onRackRemove_=V.onRackRemove_.bind(V);var a=new r.BladeRack({blade:l.root?void 0:l.blade,viewProps:l.viewProps});return a.emitter.on("add",V.onRackAdd_),a.emitter.on("remove",V.onRackRemove_),V.rack=a,V.viewProps.handleDispose((function(){for(var e=V.rack.children.length-1;e>=0;e--){V.rack.children[e].viewProps.set("disposed",!0)}})),V}return l(t,e),t.prototype.onRackAdd_=function(e){e.isRoot&&(0,V.insertElementAt)(this.view.element,e.bladeController.view.element,e.index)},t.prototype.onRackRemove_=function(e){e.isRoot&&(0,V.removeElement)(e.bladeController.view.element)},t}(a.BladeController);e.RackController=s})),it=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bladeContainerClassName=void 0;var t=be();e.bladeContainerClassName=(0,t.ClassName)("cnt")})),at=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FolderView=void 0;var t=Se(),l=be(),n=Je(),V=me(),i=it(),a=function(e,a){var r,s=this;this.className_=(0,l.ClassName)(null!==(r=a.viewName)&&void 0!==r?r:"fld"),this.element=e.createElement("div"),this.element.classList.add(this.className_(),(0,i.bladeContainerClassName)()),a.viewProps.bindClassModifiers(this.element),this.foldable_=a.foldable,this.foldable_.bindExpandedClass(this.element,this.className_(void 0,"expanded")),(0,t.bindValueMap)(this.foldable_,"completed",(0,n.valueToClassName)(this.element,this.className_(void 0,"cpl")));var o=e.createElement("button");o.classList.add(this.className_("b")),(0,t.bindValueMap)(a.props,"title",(function(e){(0,V.isEmpty)(e)?s.element.classList.add(s.className_(void 0,"not")):s.element.classList.remove(s.className_(void 0,"not"))})),a.viewProps.bindDisabled(o),this.element.appendChild(o),this.buttonElement=o;var h=e.createElement("div");h.classList.add(this.className_("i")),this.element.appendChild(h);var d=e.createElement("div");d.classList.add(this.className_("t")),(0,n.bindValueToTextContent)(a.props.value("title"),d),this.buttonElement.appendChild(d),this.titleElement=d;var R=e.createElement("div");R.classList.add(this.className_("m")),this.buttonElement.appendChild(R);var U=a.containerElement;U.classList.add(this.className_("c")),this.element.appendChild(U),this.containerElement=U};e.FolderView=a})),rt=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)}),n=e&&e.__assign||function(){return n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},n.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.FolderController=void 0;var V=tt(),i=De(),a=Vt(),r=at(),s=function(e){function t(t,l){var V,s=this,o=i.Foldable.create(null===(V=l.expanded)||void 0===V||V),h=new a.RackController(t,{blade:l.blade,root:l.root,viewProps:l.viewProps});return(s=e.call(this,n(n({},l),{rackController:h,view:new r.FolderView(t,{containerElement:h.view.element,foldable:o,props:l.props,viewName:l.root?"rot":void 0,viewProps:l.viewProps})}))||this).onTitleClick_=s.onTitleClick_.bind(s),s.props=l.props,s.foldable=o,(0,i.bindFoldable)(s.foldable,s.view.containerElement),s.rackController.rack.emitter.on("add",(function(){s.foldable.cleanUpTransition()})),s.rackController.rack.emitter.on("remove",(function(){s.foldable.cleanUpTransition()})),s.view.buttonElement.addEventListener("click",s.onTitleClick_),s}return l(t,e),Object.defineProperty(t.prototype,"document",{get:function(){return this.view.element.ownerDocument}
1,enumerable:!1,configurable:!0}),t.prototype.onTitleClick_=function(){this.foldable.set("expanded",!this.foldable.get("expanded"))},t}(V.RackLikeController);e.FolderController=s})),st=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FolderBladePlugin=void 0;var t=xe(),l=Qe(),n=et(),V=rt();e.FolderBladePlugin={id:"folder",type:"blade",accept:function(e){var t=l.ParamsParsers,n=(0,l.parseParams)(e,{title:t.required.string,view:t.required.constant("folder"),expanded:t.optional.boolean});return n?{params:n}:null},controller:function(e){return new V.FolderController(e.document,{blade:e.blade,expanded:e.params.expanded,props:t.ValueMap.fromObject({title:e.params.title}),viewProps:e.viewProps})},api:function(e){return e.controller instanceof V.FolderController?new n.FolderApi(e.controller,e.pool):null}}})),ot=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)}),n=e&&e.__assign||function(){return n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},n.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.LabeledValueController=void 0;var V=ve(),i=ge(),a=function(e){function t(t,l){var V=this,a=l.valueController.viewProps;return(V=e.call(this,n(n({},l),{value:l.valueController.value,view:new i.LabelView(t,{props:l.props,viewProps:a}),viewProps:a}))||this).props=l.props,V.valueController=l.valueController,V.view.valueElement.appendChild(V.valueController.view.element),V}return l(t,e),t}(V.ValueBladeController);e.LabeledValueController=a})),ht=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.SeparatorApi=void 0;var n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t}(ce().BladeApi);e.SeparatorApi=n})),dt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SeparatorView=void 0;var t=(0,be().ClassName)("spr"),l=function(e,l){this.element=e.createElement("div"),this.element.classList.add(t()),l.viewProps.bindClassModifiers(this.element);var n=e.createElement("hr");n.classList.add(t("r")),this.element.appendChild(n)};e.SeparatorView=l})),Rt=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)}),n=e&&e.__assign||function(){return n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},n.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.SeparatorController=void 0;var V=Ce(),i=dt(),a=function(e){function t(t,l){return e.call(this,n(n({},l),{view:new i.SeparatorView(t,{viewProps:l.viewProps})}))||this}return l(t,e),t}(V.BladeController);e.SeparatorController=a})),Ut=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SeparatorBladePlugin=void 0;var t=Qe(),l=ht(),n=Rt();e.SeparatorBladePlugin={id:"separator",type:"blade",accept:function(e){var l=t.ParamsParsers,n=(0,t.parseParams)(e,{view:l.required.constant("separator")});return n?{params:n}:null},controller:function(e){return new n.SeparatorController(e.document,{blade:e.blade,viewProps:e.viewProps})},api:function(e){return e.controller instanceof n.SeparatorController?new l.SeparatorApi(e.controller):null}}})),ct=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.TabItemView=void 0;var t=Se(),l=be(),n=Je(),V=(0,l.ClassName)("tbi"),i=function(e,l){var i=this;this.element=e.createElement("div"),this.element.classList.add(V()),l.viewProps.bindClassModifiers(this.element),(0,t.bindValueMap)(l.props,"selected",(function(e){e?i.element.classList.add(V(void 0,"sel")):i.element.classList.remove(V(void 0,"sel"))}));var a=e.createElement("button");a.classList.add(V("b")),l.viewProps.bindDisabled(a),this.element.appendChild(a),this.buttonElement=a;var r=e.createElement("div");r.classList.add(V("t")),(0,n.bindValueToTextContent)(l.props.value("title"),r),this.buttonElement.appendChild(r),this.titleElement=r};e.TabItemView=i})),pt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TabItemController=void 0;var t=Ee(),l=ct(),n=function(){function e(e,n){this.emitter=new t.Emitter,this.onClick_=this.onClick_.bind(this),this.props=n.props,this.viewProps=n.viewProps,this.view=new l.TabItemView(e,{props:n.props,viewProps:n.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}return e.prototype.onClick_=function(){this.emitter.emit("click",{sender:this})},e}();e.TabItemController=n})),Zt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TabPageController=void 0;var t=Se(),l=ze(),n=Ie(),V=Vt(),i=pt(),a=function(){function e(e,a){var r=this;this.onItemClick_=this.onItemClick_.bind(this),this.ic_=new i.TabItemController(e,{props:a.itemProps,viewProps:l.ViewProps.create()}),this.ic_.emitter.on("click",this.onItemClick_),this.cc_=new V.RackController(e,{blade:(0,n.createBlade)(),viewProps:l.ViewProps.create()}),this.props=a.props,(0,t.bindValueMap)(this.props,"selected",(function(e){r.itemController.props.set("selected",e),r.contentController.viewProps.set("hidden",!e)}))}return Object.defineProperty(e.prototype,"itemController",{get:function(){return this.ic_},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentController",{get:function(){return this.cc_},enumerable:!1,configurable:!0}),e.prototype.onItemClick_=function(){this.props.set("selected",!0)},e}();e.TabPageController=a})),Wt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TabPageApi=void 0;var t=function(){function e(e,t){this.controller_=e,this.rackApi_=t}return Object.defineProperty(e.prototype,"title",{get:function(){var e;return null!==(e=this.controller_.itemController.props.get("title"))&&void 0!==e?e:""},set:function(e){this.controller_.itemController.props.set("title",e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.controller_.props.get("selected")},set:function(e){this.controller_.props.set("selected",e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this.rackApi_.children},enumerable:!1,configurable:!0}),e.prototype.addButton=function(e){return this.rackApi_.addButton(e)},e.prototype.addFolder=function(e){return this.rackApi_.addFolder(e)},e.prototype.addSeparator=function(e){return this.rackApi_.addSeparator(e)},e.prototype.addTab=function(e){return this.rackApi_.addTab(e)},e.prototype.add=function(e,t){this.rackApi_.add(e,t)},e.prototype.remove=function(e){this.rackApi_.remove(e)},e.prototype.addInput=function(e,t,l){return this.rackApi_.addInput(e,t,l)},e.prototype.addMonitor=function(e,t,l){return this.rackApi_.addMonitor(e,t,l)},e.prototype.addBlade=function(e){return this.rackApi_.addBlade(e)},e}();e.TabPageApi=t})),mt=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.TabApi=void 0;var n=Ee(),V=xe(),i=Fe(),a=Oe(),r=We(),s=$e(),o=Zt(),h=Wt(),d=function(e){function t(t,l){var V=e.call(this,t,new s.RackApi(t.rackController,l))||this;return V.onPageAdd_=V.onPageAdd_.bind(V),V.onPageRemove_=V.onPageRemove_.bind(V),V.onSelect_=V.onSelect_.bind(V),V.emitter_=new n.Emitter,V.pageApiMap_=new Map,V.rackApi_.on("change",(function(e){V.emitter_.emit("change",{event:e})})),V.rackApi_.on("update",(function(e){V.emitter_.emit("update",{event:e})})),V.controller_.tab.selectedIndex.emitter.on("change",V.onSelect_),V.controller_.pageSet.emitter.on("add",V.onPageAdd_),V.controller_.pageSet.emitter.on("remove",V.onPageRemove_),V.controller_.pageSet.items.forEac
1h((function(e){V.setUpPageApi_(e)})),V}return l(t,e),Object.defineProperty(t.prototype,"pages",{get:function(){var e=this;return this.controller_.pageSet.items.map((function(t){var l=e.pageApiMap_.get(t);if(!l)throw i.TpError.shouldNeverHappen();return l}))},enumerable:!1,configurable:!0}),t.prototype.addPage=function(e){var t=this.controller_.view.element.ownerDocument,l=new o.TabPageController(t,{itemProps:V.ValueMap.fromObject({selected:!1,title:e.title}),props:V.ValueMap.fromObject({selected:!1})});this.controller_.add(l,e.index);var n=this.pageApiMap_.get(l);if(!n)throw i.TpError.shouldNeverHappen();return n},t.prototype.removePage=function(e){this.controller_.remove(e)},t.prototype.on=function(e,t){var l=t.bind(this);return this.emitter_.on(e,(function(e){l(e.event)})),this},t.prototype.setUpPageApi_=function(e){var t=this.rackApi_.apiSet_.find((function(t){return t.controller_===e.contentController}));if(!t)throw i.TpError.shouldNeverHappen();var l=new h.TabPageApi(e,t);this.pageApiMap_.set(e,l)},t.prototype.onPageAdd_=function(e){this.setUpPageApi_(e.item)},t.prototype.onPageRemove_=function(e){if(!this.pageApiMap_.get(e.item))throw i.TpError.shouldNeverHappen();this.pageApiMap_.delete(e.item)},t.prototype.onSelect_=function(e){this.emitter_.emit("select",{event:new r.TpTabSelectEvent(this,e.rawValue)})},t}(a.RackLikeApi);e.TabApi=d})),Ft=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Tab=void 0;var t=Ye(),l=function(){function e(){this.onItemSelectedChange_=this.onItemSelectedChange_.bind(this),this.empty=(0,t.createValue)(!0),this.selectedIndex=(0,t.createValue)(-1),this.items_=[]}return e.prototype.add=function(e,t){var l=t??this.items_.length;this.items_.splice(l,0,e),e.emitter.on("change",this.onItemSelectedChange_),this.keepSelection_()},e.prototype.remove=function(e){var t=this.items_.indexOf(e);t<0||(this.items_.splice(t,1),e.emitter.off("change",this.onItemSelectedChange_),this.keepSelection_())},e.prototype.keepSelection_=function(){if(0===this.items_.length)return this.selectedIndex.rawValue=-1,void(this.empty.rawValue=!0);var e=this.items_.findIndex((function(e){return e.rawValue}));e<0?(this.items_.forEach((function(e,t){e.rawValue=0===t})),this.selectedIndex.rawValue=0):(this.items_.forEach((function(t,l){t.rawValue=l===e})),this.selectedIndex.rawValue=e),this.empty.rawValue=!1},e.prototype.onItemSelectedChange_=function(e){if(e.rawValue){var t=this.items_.findIndex((function(t){return t===e.sender}));this.items_.forEach((function(e,l){e.rawValue=l===t})),this.selectedIndex.rawValue=t}else this.keepSelection_()},e}();e.Tab=l})),Nt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TabView=void 0;var t=Se(),l=be(),n=Je(),V=it(),i=(0,l.ClassName)("tab"),a=function(e,l){this.element=e.createElement("div"),this.element.classList.add(i(),(0,V.bladeContainerClassName)()),l.viewProps.bindClassModifiers(this.element),(0,t.bindValue)(l.empty,(0,n.valueToClassName)(this.element,i(void 0,"nop")));var a=e.createElement("div");a.classList.add(i("t")),this.element.appendChild(a),this.itemsElement=a;var r=e.createElement("div");r.classList.add(i("i")),this.element.appendChild(r);var s=l.contentsElement;s.classList.add(i("c")),this.element.appendChild(s),this.contentsElement=s};e.TabView=a})),ut=o((e=>{var t,l=e&&e.__extends||(t=function(e,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])})(e,l)},function(e,l){if("function"!=typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");function n(){this.constructor=e}t(e,l),e.prototype=null===l?Object.create(l):(n.prototype=l.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.TabController=void 0;var n=je(),V=tt(),i=Le(),a=Vt(),r=Ft(),s=Nt(),o=function(e){function t(t,l){var n=this,V=new a.RackController(t,{blade:l.blade,viewProps:l.viewProps}),o=new r.Tab;return(n=e.call(this,{blade:l.blade,rackController:V,view:new s.TabView(t,{contentsElement:V.view.element,empty:o.empty,viewProps:l.viewProps})})||this).onPageAdd_=n.onPageAdd_.bind(n),n.onPageRemove_=n.onPageRemove_.bind(n),n.pageSet_=new i.NestedOrderedSet((function(){return null})),n.pageSet_.emitter.on("add",n.onPageAdd_),n.pageSet_.emitter.on("remove",n.onPageRemove_),n.tab=o,n}return l(t,e),Object.defineProperty(t.prototype,"pageSet",{get:function(){return this.pageSet_}
1,enumerable:!1,configurable:!0}),t.prototype.add=function(e,t){this.pageSet_.add(e,t)},t.prototype.remove=function(e){this.pageSet_.remove(this.pageSet_.items[e])},t.prototype.onPageAdd_=function(e){var t=e.item;(0,n.insertElementAt)(this.view.itemsElement,t.itemController.view.element,e.index),t.itemController.viewProps.set("parent",this.viewProps),this.rackController.rack.add(t.contentController,e.index),this.tab.add(t.props.value("selected"))},t.prototype.onPageRemove_=function(e){var t=e.item;(0,n.removeElement)(t.itemController.view.element),t.itemController.viewProps.set("parent",null),this.rackController.rack.remove(t.contentController),this.tab.remove(t.props.value("selected"))},t}(V.RackLikeController);e.TabController=o})),Et=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TabBladePlugin=void 0;var t=xe(),l=Qe(),n=mt(),V=ut(),i=Zt();e.TabBladePlugin={id:"tab",type:"blade",accept:function(e){var t=l.ParamsParsers,n=(0,l.parseParams)(e,{pages:t.required.array(t.required.object({title:t.required.string})),view:t.required.constant("tab")});return n&&0!==n.pages.length?{params:n}:null},controller:function(e){var l=new V.TabController(e.document,{blade:e.blade,viewProps:e.viewProps});return e.params.pages.forEach((function(n){var V=new i.TabPageController(e.document,{itemProps:t.ValueMap.fromObject({selected:!1,title:n.title}),props:t.ValueMap.fromObject({selected:!1})});l.add(V)})),l},api:function(e){return e.controller instanceof V.TabController?new n.TabApi(e.controller,e.pool):null}}})),bt=o((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},t.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.createBladeController=void 0;var l=ze(),n=Qe(),V=me(),i=Ie();e.createBladeController=function(e,a){var r=e.accept(a.params);if(!r)return null;var s=n.ParamsParsers.optional.boolean(a.params.disabled).value,o=n.ParamsParsers.optional.boolean(a.params.hidden).value;return e.controller({blade:(0,i.createBlade)(),document:a.document,params:(0,V.forceCast)(t(t({},r.params),{disabled:s,hidden:o})),viewProps:l.ViewProps.create({disabled:s,hidden:o})})}})),St=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ManualTicker=void 0;var t=Ee(),l=function(){function e(){this.disabled=!1,this.emitter=new t.Emitter}return e.prototype.dispose=function(){},e.prototype.tick=function(){this.disabled||this.emitter.emit("tick",{sender:this})},e}();e.ManualTicker=l})),Jt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IntervalTicker=void 0;var t=Ee(),l=function(){function e(e,l){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=e,this.emitter=new t.Emitter,this.interval_=l,this.setTimer_()}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this.disabled_},set:function(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this.clearTimer_()},e.prototype.clearTimer_=function(){if(null!==this.timerId_){var e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}},e.prototype.setTimer_=function(){if(this.clearTimer_(),!(this.interval_<=0)){var e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}},e.prototype.onTick_=function(){this.disabled_||this.emitter.emit("tick",{sender:this})},e}();e.IntervalTicker=l})),Tt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),Gt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.InputBinding=void 0;var t=Ee(),l=function(){function e(e){this.onValueChange_=this.onValueChange_.bind(this),this.reader=e.reader,this.writer=e.writer,this.emitter=new t.Emitter,this.value=e.value,this.value.emitter.on("change",this.onValueChange_),this.target=e.target,this.read()}return e.prototype.read=function(){var e=this.target.read();void 0!==e&&(this.value.rawValue=this.reader(e))},e.prototype.write_=function(e){this.writer(this.target,e)},e.prototype.onValueChange_=function(e){this.write_(e.rawValue),this.emitter.emit("change",{options:e.options,rawValue:e.rawValue,sender:this})},e}();e.InputBinding=l})),Mt=o((e=>{var t=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};
1Object.defineProperty(e,"__esModule",{value:!0}),e.createPushedBuffer=e.initializeBuffer=void 0;var l=me(),n=Ye();function V(e,t){for(;e.length<t;)e.push(void 0)}e.initializeBuffer=function(e){var t=[];return V(t,e),(0,n.createValue)(t)},e.createPushedBuffer=function(e,n){var i=t(t([],function(e){var t=e.indexOf(void 0);return(0,l.forceCast)(t<0?e:e.slice(0,t))}(e),!0),[n],!1);return i.length>e.length?i.splice(0,i.length-e.length):V(i,e.length),i}})),kt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MonitorBinding=void 0;var t=Mt(),l=Ee(),n=function(){function e(e){this.onTick_=this.onTick_.bind(this),this.reader_=e.reader,this.target=e.target,this.emitter=new l.Emitter,this.value=e.value,this.ticker=e.ticker,this.ticker.emitter.on("tick",this.onTick_),this.read()}return e.prototype.dispose=function(){this.ticker.dispose()},e.prototype.read=function(){var e=this.target.read();if(void 0!==e){var l=this.value.rawValue,n=this.reader_(e);this.value.rawValue=(0,t.createPushedBuffer)(l,n),this.emitter.emit("update",{rawValue:n,sender:this})}},e.prototype.onTick_=function(e){this.read()},e}();e.MonitorBinding=n})),Yt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.findConstraint=e.CompositeConstraint=void 0;var t=function(){function e(e){this.constraints=e}return e.prototype.constrain=function(e){return this.constraints.reduce((function(e,t){return t.constrain(e)}),e)},e}();e.CompositeConstraint=t,e.findConstraint=function(e,l){if(e instanceof l)return e;if(e instanceof t){var n=e.constraints.reduce((function(e,t){return e||(t instanceof l?t:null)}),null);if(n)return n}return null}})),xt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),Qt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DefiniteRangeConstraint=void 0;var t=xe(),l=function(){function e(e){this.values=t.ValueMap.fromObject({max:e.max,min:e.min})}return e.prototype.constrain=function(e){var t=this.values.get("max"),l=this.values.get("min");return Math.min(Math.max(e,l),t)},e}();e.DefiniteRangeConstraint=l})),Xt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListConstraint=void 0;var t=xe(),l=function(){function e(e){this.values=t.ValueMap.fromObject({options:e})}return Object.defineProperty(e.prototype,"options",{get:function(){return this.values.get("options")},enumerable:!1,configurable:!0}),e.prototype.constrain=function(e){var t=this.values.get("options");return 0===t.length||t.filter((function(t){return t.value===e})).length>0?e:t[0].value},e}();e.ListConstraint=l})),wt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RangeConstraint=void 0;var t=me(),l=xe(),n=function(){function e(e){this.values=l.ValueMap.fromObject({max:e.max,min:e.min})}return Object.defineProperty(e.prototype,"maxValue",{get:function(){return this.values.get("max")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minValue",{get:function(){return this.values.get("min")},enumerable:!1,configurable:!0}),e.prototype.constrain=function(e){var l=this.values.get("max"),n=this.values.get("min"),V=e;return(0,t.isEmpty)(n)||(V=Math.max(V,n)),(0,t.isEmpty)(l)||(V=Math.min(V,l)),V},e}();e.RangeConstraint=n})),ft=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StepConstraint=void 0;var t=function(){function e(e,t){void 0===t&&(t=0),this.step=e,this.origin=t}return e.prototype.constrain=function(e){var t=this.origin%this.step;return t+Math.round((e-t)/this.step)*this.step},e}();e.StepConstraint=t})),zt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),yt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListView=void 0;var t=je(),l=Se(),n=(0,be().ClassName)("lst"),V=function(){function e(e,V){var i=this;this.onValueChange_=this.onValueChange_.bind(this),this.props_=V.props,this.element=e.createElement("div"),this.element.classList.add(n()),V.viewProps.bindClassModifiers(this.element);var a=e.createElement("select");a.classList.add(n("s")),V.viewProps.bindDisabled(a),this.element.appendChild(a),this.selectElement=a;var r=e.createElement("div");r.classList.add(n("m")),r.appendChild((0,t.createSvgIconElement)(e,"dropdown")),this.element.appendChild(r),V.value.emitter.on("change",this.onValueChange_),this.value_=V.value,(0,l.bindValueMap)(this.props_,"options",(function(l){(0,t.removeChildElements)(i.selectElement),l.forEach((function(t){var l=e.createElement("option");l.textContent=t.text,i.selectElement.appendChild(l)})),i.update_()}))}return e.prototype.update_=function(){var e=this.props_.get("options").map((function(e){return e.value}));this.selectElement.selectedIndex=e.indexOf(this.value_.rawValue)},e.prototype.onValueChange_=function(){this.update_()},e}();e.ListView=V})),Ct=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.ListController=void 0;var t=me(),l=yt(),n=function(){function e(e,t){this.onSelectChange_=this.onSelectChange_.bind(this),this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new l.ListView(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.view.selectElement.addEventListener("change",this.onSelectChange_)}return e.prototype.onSelectChange_=function(e){var l=(0,t.forceCast)(e.currentTarget);this.value.rawValue=this.props.get("options")[l.selectedIndex].value},e}();e.ListController=n})),jt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PopupView=void 0;var t=Se(),l=be(),n=Je(),V=(0,l.ClassName)("pop"),i=function(e,l){this.element=e.createElement("div"),this.element.classList.add(V()),l.viewProps.bindClassModifiers(this.element),(0,t.bindValue)(l.shows,(0,n.valueToClassName)(this.element,V(void 0,"v")))};e.PopupView=i})),gt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PopupController=void 0;var t=Ye(),l=jt(),n=function(e,n){this.shows=(0,t.createValue)(!1),this.viewProps=n.viewProps,this.view=new l.PopupView(e,{shows:this.shows,viewProps:this.viewProps})};e.PopupController=n})),Bt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TextView=void 0;var t=(0,be().ClassName)("txt"),l=function(){function e(e,l){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(t()),l.viewProps.bindClassModifiers(this.element),this.props_=l.props,this.props_.emitter.on("change",this.onChange_);var n=e.createElement("input");n.classList.add(t("i")),n.type="text",l.viewProps.bindDisabled(n),this.element.appendChild(n),this.inputElement=n,l.value.emitter.on("change",this.onChange_),this.value_=l.value,this.refresh()}return e.prototype.refresh=function(){var e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)},e.prototype.onChange_=function(){this.refresh()},e}();e.TextView=l})),Ht=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TextController=void 0;var t=me(),l=Bt(),n=function(){function e(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=t.parser,this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new l.TextView(e,{props:t.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}return e.prototype.onInputChange_=function(e){var l=(0,t.forceCast)(e.currentTarget).value,n=this.parser_(l);(0,t.isEmpty)(n)||(this.value.rawValue=n),this.view.refresh()},e}();e.TextController=n})),vt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),It=o((e=>{function t(e){return String(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.BooleanFormatter=e.boolFromUnknown=e.boolToString=void 0,e.boolToString=t,e.boolFromUnknown=function(e){return"false"!==e&&!!e},e.BooleanFormatter=function(e){return t(e)}})),Dt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),Ot=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.UnaryOperationNode=e.BinaryOperationNode=e.NumberLiteralNode=void 0;var t=function(){function e(e){this.text=e}return e.prototype.evaluate=function(){return Number(this.text)},e.prototype.toString=function(){return this.text},e}();e.NumberLiteralNode=t;var l={"**":function(e,t){return Math.pow(e,t)},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<<":function(e,t){return e<<t},">>":function(e,t){return e>>t},">>>":function(e,t){return e>>>t},"&":function(e,t){return e&t},"^":function(e,t){return e^t},"|":function(e,t){return e|t}},n=function(){function e(e,t,l){this.left=t,this.operator=e,this.right=l}return e.prototype.evaluate=function(){var e=l[this.operator];if(!e)throw new Error("unexpected binary operator: '".concat(this.operator));return e(this.left.evaluate(),this.right.evaluate())},e.prototype.toString=function(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")},e}();e.BinaryOperationNode=n;var V={"+":function(e){return e},"-":function(e){return-e},"~":function(e){return~e}},i=function(){function e(e,t){this.operator=e,this.expression=t}return e.prototype.evaluate=function(){var e=V[this.operator];if(!e)throw new Error("unexpected unary operator: '".concat(this.operator));return e(this.expression.evaluate())},e.prototype.toString=function(){return["u(",this.operator,this.expression.toString(),")"].join(" ")},e}();e.UnaryOperationNode=i})),_t=o((e=>{function t(e){return function(t,l){for(var n=0;n<e.length;n++){var V=e[n](t,l);if(""!==V)return V}return""}}function l(e,t){var l,n=e.substr(t).match(/^[0-9]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}function n(e,t){var n=e.substr(t,1);if(t+=1,"e"!==n.toLowerCase())return"";[].push(n);var V=function(e,t){var n=l(e,t);if(""!==n)return n;var V=e.substr(t,1);if("-"!==V&&"+"!==V)return"";var i=l(e,t+=1);return""===i?"":V+i}(e,t);return""===V?"":n+V}function V(e,t){var n=e.substr(t,1);if("0"===n)return n;var V=function(e,t){var l=e.substr(t,1);return l.match(/^[1-9]$/)?l:""}(e,t);return t+=V.length,""===V?"":V+l(e,t)}
1Object.defineProperty(e,"__esModule",{value:!0}),e.readNumericLiteral=e.readWhitespace=void 0,e.readWhitespace=function(e,t){var l,n=e.substr(t).match(/^\s+/);return null!==(l=n&&n[0])&&void 0!==l?l:""};var i=t([function(e,t){var i=V(e,t);if(t+=i.length,""===i)return"";var a=e.substr(t,1);if(t+=a.length,"."!==a)return"";var r=l(e,t);return i+a+r+n(e,t+=r.length)},function(e,t){var V=e.substr(t,1);if(t+=V.length,"."!==V)return"";var i=l(e,t);return t+=i.length,""===i?"":V+i+n(e,t)},function(e,t){var l=V(e,t);return t+=l.length,""===l?"":l+n(e,t)}]);var a=t([function(e,t){var l=e.substr(t,2);if(t+=l.length,"0b"!==l.toLowerCase())return"";var n=function(e,t){var l,n=e.substr(t).match(/^[01]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n},function(e,t){var l=e.substr(t,2);if(t+=l.length,"0o"!==l.toLowerCase())return"";var n=function(e,t){var l,n=e.substr(t).match(/^[0-7]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n},function(e,t){var l=e.substr(t,2);if(t+=l.length,"0x"!==l.toLowerCase())return"";var n=function(e,t){var l,n=e.substr(t).match(/^[0-9a-f]+/i);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n}]);e.readNumericLiteral=t([a,i])})),Lt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseEcmaNumberExpression=void 0;var t=Ot(),l=_t();function n(e,n){var V;return null!==(V=function(e,n){var V=(0,l.readNumericLiteral)(e,n);return n+=V.length,""===V?null:{evaluable:new t.NumberLiteralNode(V),cursor:n}}(e,n))&&void 0!==V?V:function(e,t){var n=e.substr(t,1);if(t+=n.length,"("!==n)return null;var V=a(e,t);if(!V)return null;t=V.cursor,t+=(0,l.readWhitespace)(e,t).length;var i=e.substr(t,1);return t+=i.length,")"!==i?null:{evaluable:V.evaluable,cursor:t}}(e,n)}function V(e,t,n){n+=(0,l.readWhitespace)(t,n).length;var V=e.filter((function(e){return t.startsWith(e,n)}))[0];return V?(n+=V.length,{cursor:n+=(0,l.readWhitespace)(t,n).length,operator:V}):null}var i=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce((function(e,l){return function(e,l){return function(n,i){var a=e(n,i);if(!a)return null;i=a.cursor;for(var r=a.evaluable;;){var s=V(l,n,i);if(!s)break;i=s.cursor;var o=e(n,i);if(!o)return null;i=o.cursor,r=new t.BinaryOperationNode(s.operator,r,o.evaluable)}return r?{cursor:i,evaluable:r}:null}}(e,l)}),(function e(l,V){var i=n(l,V);if(i)return i;var a=l.substr(V,1);if(V+=a.length,"+"!==a&&"-"!==a&&"~"!==a)return null;var r=e(l,V);return r?{cursor:V=r.cursor,evaluable:new t.UnaryOperationNode(a,r.evaluable)}:null}));function a(e,t){return t+=(0,l.readWhitespace)(e,t).length,i(e,t)}e.parseEcmaNumberExpression=function(e){var t=a(e,0);return t?t.cursor+(0,l.readWhitespace)(e,t.cursor).length!==e.length?null:t.evaluable:null}})),Kt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createNumberFormatter=e.numberToString=e.numberFromUnknown=e.parseNumber=void 0;var t=me(),l=Lt();function n(e){var t,n=(0,l.parseEcmaNumberExpression)(e);return null!==(t=n?.evaluate())&&void 0!==t?t:null}e.parseNumber=n,e.numberFromUnknown=function(e){if("number"==typeof e)return e;if("string"==typeof e){var l=n(e);if(!(0,t.isEmpty)(l))return l}return 0},e.numberToString=function(e){return String(e)},e.createNumberFormatter=function(e){return function(t){return t.toFixed(Math.max(Math.min(e,20),0))}}})),Pt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),At=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatPercentage=void 0;var t=(0,Kt().createNumberFormatter)(0);e.formatPercentage=function(e){return t(e)+"%"}})),qt=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatString=e.stringFromUnknown=void 0,e.stringFromUnknown=function(e){return String(e)},e.formatString=function(e){return e}})),$t=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),el=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.connectValues=void 0,e.connectValues=function(e){var t=e.primary,l=e.secondary,n=e.forward,V=e.backward,i=!1;function a(e){i||(i=!0,e(),i=!1)}t.emitter.on("change",(function(e){a((function(){l.setRawValue(n(t,l),e.options)}))})),l.emitter.on("change",(function(e){a((function(){t.setRawValue(V(t,l),e.options)}
1)),a((function(){l.setRawValue(n(t,l),e.options)}))})),a((function(){l.setRawValue(n(t,l),{forceEmit:!1,last:!0})}))}})),tl=o((e=>{function t(e){return"ArrowUp"===e||"ArrowDown"===e}Object.defineProperty(e,"__esModule",{value:!0}),e.isArrowKey=e.isVerticalArrowKey=e.getHorizontalStepKeys=e.getVerticalStepKeys=e.getStepForKey=void 0,e.getStepForKey=function(e,t){var l=e*(t.altKey?.1:1)*(t.shiftKey?10:1);return t.upKey?+l:t.downKey?-l:0},e.getVerticalStepKeys=function(e){return{altKey:e.altKey,downKey:"ArrowDown"===e.key,shiftKey:e.shiftKey,upKey:"ArrowUp"===e.key}},e.getHorizontalStepKeys=function(e){return{altKey:e.altKey,downKey:"ArrowLeft"===e.key,shiftKey:e.shiftKey,upKey:"ArrowRight"===e.key}},e.isVerticalArrowKey=t,e.isArrowKey=function(e){return t(e)||"ArrowLeft"===e||"ArrowRight"===e}})),ll=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PointerHandler=void 0;var t=Ee();function l(e,t){var l,n,V=t.ownerDocument.defaultView,i=t.getBoundingClientRect();return{x:e.pageX-((null!==(l=V&&V.scrollX)&&void 0!==l?l:0)+i.left),y:e.pageY-((null!==(n=V&&V.scrollY)&&void 0!==n?n:0)+i.top)}}var n=function(){function e(e){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=e,this.emitter=new t.Emitter,e.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),e.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),e.addEventListener("touchend",this.onTouchEnd_),e.addEventListener("mousedown",this.onMouseDown_)}return e.prototype.computePosition_=function(e){var t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}},e.prototype.onMouseDown_=function(e){var t;e.preventDefault(),null===(t=e.currentTarget)||void 0===t||t.focus();var n=this.elem_.ownerDocument;n.addEventListener("mousemove",this.onDocumentMouseMove_),n.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(l(e,this.elem_)),sender:this,shiftKey:e.shiftKey})},e.prototype.onDocumentMouseMove_=function(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(l(e,this.elem_)),sender:this,shiftKey:e.shiftKey})},e.prototype.onDocumentMouseUp_=function(e){var t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(l(e,this.elem_)),sender:this,shiftKey:e.shiftKey})},e.prototype.onTouchStart_=function(e){e.preventDefault();var t=e.targetTouches.item(0),l=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-l.left,y:t.clientY-l.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t},e.prototype.onTouchMove_=function(e){var t=e.targetTouches.item(0),l=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-l.left,y:t.clientY-l.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t},e.prototype.onTouchEnd_=function(e){var t,l=null!==(t=e.targetTouches.item(0))&&void 0!==t?t:this.lastTouch_,n=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(l?{x:l.clientX-n.left,y:l.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey})},e}();e.PointerHandler=n})),nl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.loopRange=e.constrainRange=e.getDecimalDigits=e.mapRange=void 0,e.mapRange=function(e,t,l,n,V){return n+(e-t)/(l-t)*(V-n)},e.getDecimalDigits=function(e){return String(e.toFixed(10)).split(".")[1].replace(/0+$/,"").length},e.constrainRange=function(e,t,l){return Math.min(Math.max(e,t),l)},e.loopRange=function(e,t){return(e%t+t)%t}})),Vl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NumberTextView=void 0;var t=je(),l=nl(),n=be(),V=(0,n.ClassName)("txt"),i=function(){function e(e,l){this.onChange_=this.onChange_.bind(this),this.props_=l.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(V(),V(void 0,"num")),l.arrayPosition&&this.element.classList.add(V(void 0,l.arrayPosition)),l.viewProps.bindClassModifiers(this.element);var i=e.createElement("input");i.classList.add(V("i")),i.type="text",l.viewProps.bindDisabled(i),this.element.appendChild(i),this.inputElement=i,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=l.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(V()),this.inputElement.classList.add(V("i"));var a=e.createElement("div");a.classList.add(V("k")),this.element.appendChild(a),this.knobElement=a;var r=e.createElementNS(t.SVG_NS,"svg");r.classList.add(V("g")),this.knobElement.appendChild(r);var s=e.createElementNS(t.SVG_NS,"path");s.classList.add(V("gb")),r.appendChild(s),this.guideBodyElem_=s;var o=e.createElementNS(t.SVG_NS,"path");o.classList.add(V("gh")),r.appendChild(o),this.guideHeadElem_=o;var h=e.createElement("div");h.classList.add((0,n.ClassName)("tt")()),this.knobElement.appendChild(h),this.tooltipElem_=h,l.value.emitter.on("change",this.onChange_),this.value=l.value,this.refresh()}return e.prototype.onDraggingChange_=function(e){if(null!==e.rawValue){this.element.classList.add(V(void 0,"drg"));var t=e.rawValue/this.props_.get("draggingScale"),n=t+(t>0?-1:t<0?1:0),i=(0,l.constrainRange)(-n,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",["M ".concat(n+i,",0 L").concat(n,",4 L").concat(n+i,",8"),"M ".concat(t,",-1 
1L").concat(t,",9")].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d","M 0,4 L".concat(t,",4"));var a=this.props_.get("formatter");this.tooltipElem_.textContent=a(this.value.rawValue),this.tooltipElem_.style.left="".concat(t,"px")}else this.element.classList.remove(V(void 0,"drg"))},e.prototype.refresh=function(){var e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)},e.prototype.onChange_=function(){this.refresh()},e}();e.NumberTextView=i})),il=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NumberTextController=void 0;var t=me(),l=Ye(),n=tl(),V=ll(),i=Vl(),a=function(){function e(e,t){var n;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.baseStep_=t.baseStep,this.parser_=t.parser,this.props=t.props,this.sliderProps_=null!==(n=t.sliderProps)&&void 0!==n?n:null,this.value=t.value,this.viewProps=t.viewProps,this.dragging_=(0,l.createValue)(null),this.view=new i.NumberTextView(e,{arrayPosition:t.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);var a=new V.PointerHandler(this.view.knobElement);a.emitter.on("down",this.onPointerDown_),a.emitter.on("move",this.onPointerMove_),a.emitter.on("up",this.onPointerUp_)}return e.prototype.constrainValue_=function(e){var t,l,n=null===(t=this.sliderProps_)||void 0===t?void 0:t.get("minValue"),V=null===(l=this.sliderProps_)||void 0===l?void 0:l.get("maxValue"),i=e;return void 0!==n&&(i=Math.max(i,n)),void 0!==V&&(i=Math.min(i,V)),i},e.prototype.onInputChange_=function(e){var l=(0,t.forceCast)(e.currentTarget).value,n=this.parser_(l);(0,t.isEmpty)(n)||(this.value.rawValue=this.constrainValue_(n)),this.view.refresh()},e.prototype.onInputKeyDown_=function(e){var t=(0,n.getStepForKey)(this.baseStep_,(0,n.getVerticalStepKeys)(e));0!==t&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})},e.prototype.onInputKeyUp_=function(e){0!==(0,n.getStepForKey)(this.baseStep_,(0,n.getVerticalStepKeys)(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})},e.prototype.onPointerDown_=function(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0},e.prototype.computeDraggingValue_=function(e){if(!e.point)return null;var t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("draggingScale"))},e.prototype.onPointerMove_=function(e){var t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)},e.prototype.onPointerUp_=function(e){var t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)},e}();e.NumberTextController=a})),al=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SliderView=void 0;var t=nl(),l=(0,be().ClassName)("sld"),n=function(){function e(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(l()),t.viewProps.bindClassModifiers(this.element);var n=e.createElement("div");n.classList.add(l("t")),t.viewProps.bindTabIndex(n),this.element.appendChild(n),this.trackElement=n;var V=e.createElement("div");V.classList.add(l("k")),this.trackElement.appendChild(V),this.knobElement=V,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.update_()}return e.prototype.update_=function(){var e=(0,t.constrainRange)((0,t.mapRange)(this.value.rawValue,this.props_.get("minValue"),this.props_.get("maxValue"),0,100),0,100);this.knobElement.style.width="".concat(e,"%")},e.prototype.onChange_=function(){this.update_()},e}();e.SliderView=n})),rl=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.SliderController=void 0;var t=nl(),l=tl(),n=ll(),V=al(),i=function(){function e(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDownOrMove_=this.onPointerDownOrMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.baseStep_=t.baseStep,this.value=t.value,this.viewProps=t.viewProps,this.props=t.props,this.view=new V.SliderView(e,{props:this.props,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new n.PointerHandler(this.view.trackElement),this.ptHandler_.emitter.on("down",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("move",this.onPointerDownOrMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.trackElement.addEventListener("keydown",this.onKeyDown_),this.view.trackElement.addEventListener("keyup",this.onKeyUp_)}return e.prototype.handlePointerEvent_=function(e,l){e.point&&this.value.setRawValue((0,t.mapRange)((0,t.constrainRange)(e.point.x,0,e.bounds.width),0,e.bounds.width,this.props.get("minValue"),this.props.get("maxValue")),l)},e.prototype.onPointerDownOrMove_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerUp_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})},e.prototype.onKeyDown_=function(e){var t=(0,l.getStepForKey)(this.baseStep_,(0,l.getHorizontalStepKeys)(e));0!==t&&this.value.setRawValue(this.value.rawValue+t,{forceEmit:!1,last:!1})},e.prototype.onKeyUp_=function(e){0!==(0,l.getStepForKey)(this.baseStep_,(0,l.getHorizontalStepKeys)(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})},e}();e.SliderController=i})),sl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SliderTextView=void 0;var t=(0,be().ClassName)("sldtxt"),l=function(e,l){this.element=e.createElement("div"),this.element.classList.add(t());var n=e.createElement("div");n.classList.add(t("s")),this.sliderView_=l.sliderView,n.appendChild(this.sliderView_.element),this.element.appendChild(n);var V=e.createElement("div");V.classList.add(t("t")),this.textView_=l.textView,V.appendChild(this.textView_.element),this.element.appendChild(V)};e.SliderTextView=l})),ol=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SliderTextController=void 0;var t=sl(),l=il(),n=rl(),V=function(){function e(e,V){this.value=V.value,this.viewProps=V.viewProps,this.sliderC_=new n.SliderController(e,{baseStep:V.baseStep,props:V.sliderProps,value:V.value,viewProps:this.viewProps}),this.textC_=new l.NumberTextController(e,{baseStep:V.baseStep,parser:V.parser,props:V.textProps,sliderProps:V.sliderProps,value:V.value,viewProps:V.viewProps}),this.view=new t.SliderTextView(e,{sliderView:this.sliderC_.view,textView:this.textC_.view})}return Object.defineProperty(e.prototype,"sliderController",{get:function(){return this.sliderC_},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textController",{get:function(){return this.textC_},enumerable:!1,configurable:!0}),e}();e.SliderTextController=V})),hl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),dl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),Rl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.writePrimitive=void 0,e.writePrimitive=function(e,t){e.write(t)}})),Ul=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getSuitableDraggingScale=e.getBaseStep=e.getSuitableDecimalDigits=e.createListConstraint=e.normalizeListOptions=e.parsePointDimensionParams=e.parsePickerLayout=e.parseListOptions=void 0;var t=me(),l=Yt(),n=Xt(),V=ft(),i=nl(),a=Qe();function r(e){if(Array.isArray(e))return e;var t=[];return Object.keys(e).forEach((function(l){t.push({text:l,value:e[l]})})),t}e.parseListOptions=function(e){var t=a.ParamsParsers;return Array.isArray(e)?t.required.array(t.required.object({text:t.required.string,value:t.required.raw}))(e).value:"object"==typeof e?t.required.raw(e).value:void 0},e.parsePickerLayout=function(e){if("inline"===e||"popup"===e)return e},e.parsePointDimensionParams=function(e){var t=a.ParamsParsers;return t.required.object({max:t.optional.number,min:t.optional.number,step:t.optional.number})(e).value},e.normalizeListOptions=r,e.createListConstraint=function(e){return(0,t.isEmpty)(e)?null:new n.ListConstraint(r((0,t.forceCast)(e)))},e.getSuitableDecimalDigits=function(e,t){var n=e&&(0,l.findConstraint)(e,V.StepConstraint);return n?(0,i.getDecimalDigits)(n.step):Math.max((0,i.getDecimalDigits)(t),2)},e.getBaseStep=function(e){return function(e){var t=e?(0,l.findConstraint)(e,V.StepConstraint):null;return t?t.step:null}(e)??1},e.getSuitableDraggingScale=function(e,t){var n,i=e&&(0,l.findConstraint)(e,V.StepConstraint),a=Math.abs(null!==(n=i?.step)&&void 0!==n?n:t);return 0===a?.1:Math.pow(10,Math.floor(Math.log10(a))-1)}})),cl=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.CheckboxView=void 0;var t=je(),l=(0,be().ClassName)("ckb"),n=function(){function e(e,n){this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(l()),n.viewProps.bindClassModifiers(this.element);var V=e.createElement("label");V.classList.add(l("l")),this.element.appendChild(V);var i=e.createElement("input");i.classList.add(l("i")),i.type="checkbox",V.appendChild(i),this.inputElement=i,n.viewProps.bindDisabled(this.inputElement);var a=e.createElement("div");a.classList.add(l("w")),V.appendChild(a);var r=(0,t.createSvgIconElement)(e,"check");a.appendChild(r),n.value.emitter.on("change",this.onValueChange_),this.value=n.value,this.update_()}return e.prototype.update_=function(){this.inputElement.checked=this.value.rawValue},e.prototype.onValueChange_=function(){this.update_()},e}();e.CheckboxView=n})),pl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CheckboxController=void 0;var t=me(),l=cl(),n=function(){function e(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new l.CheckboxView(e,{value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}return e.prototype.onInputChange_=function(e){var l=(0,t.forceCast)(e.currentTarget);this.value.rawValue=l.checked},e}();e.CheckboxController=n}
1)),Zl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BooleanInputPlugin=void 0;var t=Yt(),l=Xt(),n=Ct(),V=It(),i=xe(),a=Qe(),r=Rl(),s=Ul(),o=pl();e.BooleanInputPlugin={id:"input-bool",type:"input",accept:function(e,t){if("boolean"!=typeof e)return null;var l=a.ParamsParsers,n=(0,a.parseParams)(t,{options:l.optional.custom(s.parseListOptions)});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return V.boolFromUnknown},constraint:function(e){return function(e){var l=[],n=(0,s.createListConstraint)(e.options);return n&&l.push(n),new t.CompositeConstraint(l)}(e.params)},writer:function(e){return r.writePrimitive}},controller:function(e){var V=e.document,a=e.value,r=e.constraint,s=r&&(0,t.findConstraint)(r,l.ListConstraint);return s?new n.ListController(V,{props:new i.ValueMap({options:s.values.value("options")}),value:a,viewProps:e.viewProps}):new o.CheckboxController(V,{value:a,viewProps:e.viewProps})}}})),Wl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorView=void 0;var t=Se(),l=be(),n=Je(),V=(0,l.ClassName)("col"),i=function(e,l){this.element=e.createElement("div"),this.element.classList.add(V()),l.foldable.bindExpandedClass(this.element,V(void 0,"expanded")),(0,t.bindValueMap)(l.foldable,"completed",(0,n.valueToClassName)(this.element,V(void 0,"cpl")));var i=e.createElement("div");i.classList.add(V("h")),this.element.appendChild(i);var a=e.createElement("div");a.classList.add(V("s")),i.appendChild(a),this.swatchElement=a;var r=e.createElement("div");if(r.classList.add(V("t")),i.appendChild(r),this.textElement=r,"inline"===l.pickerLayout){var s=e.createElement("div");s.classList.add(V("p")),this.element.appendChild(s),this.pickerElement=s}else this.pickerElement=null};e.ColorView=i})),ml=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.convertColor=e.constrainColorComponents=e.getColorMaxComponents=e.appendAlphaComponent=e.removeAlphaComponent=e.hsvToHslInt=e.hslToHsvInt=e.hsvToRgbInt=void 0;var t=nl();function l(e,l,n){var V,i,a,r,s,o,h,d,R,U=(0,t.loopRange)(e,360),c=(0,t.constrainRange)(l/100,0,1),p=(0,t.constrainRange)(n/100,0,1),Z=p*c,W=Z*(1-Math.abs(U/60%2-1)),m=p-Z;return U>=0&&U<60?(h=(V=[Z,W,0])[0],d=V[1],R=V[2]):U>=60&&U<120?(h=(i=[W,Z,0])[0],d=i[1],R=i[2]):U>=120&&U<180?(h=(a=[0,Z,W])[0],d=a[1],R=a[2]):U>=180&&U<240?(h=(r=[0,W,Z])[0],d=r[1],R=r[2]):U>=240&&U<300?(h=(s=[W,0,Z])[0],d=s[1],R=s[2]):(h=(o=[Z,0,W])[0],d=o[1],R=o[2]),[255*(h+m),255*(d+m),255*(R+m)]}function n(e,t,l){var n=l+t*(100-Math.abs(2*l-100))/200;return[e,0!==n?t*(100-Math.abs(2*l-100))/n:0,l+t*(100-Math.abs(2*l-100))/200]}function V(e,t,l){var n=100-Math.abs(l*(200-t)/100-100);return[e,0!==n?t*l/n:0,l*(200-t)/200]}e.hsvToRgbInt=l,e.hslToHsvInt=n,e.hsvToHslInt=V,e.removeAlphaComponent=function(e){return[e[0],e[1],e[2]]},e.appendAlphaComponent=function(e,t){return[e[0],e[1],e[2],t]};var i={hsl:{hsl:function(e,t,l){return[e,t,l]},hsv:n,rgb:function(e,l,n){var V,i,a,r,s,o,h,d,R,U=(e%360+360)%360,c=(0,t.constrainRange)(l/100,0,1),p=(0,t.constrainRange)(n/100,0,1),Z=(1-Math.abs(2*p-1))*c,W=Z*(1-Math.abs(U/60%2-1)),m=p-Z/2;return U>=0&&U<60?(h=(V=[Z,W,0])[0],d=V[1],R=V[2]):U>=60&&U<120?(h=(i=[W,Z,0])[0],d=i[1],R=i[2]):U>=120&&U<180?(h=(a=[0,Z,W])[0],d=a[1],R=a[2]):U>=180&&U<240?(h=(r=[0,W,Z])[0],d=r[1],R=r[2]):U>=240&&U<300?(h=(s=[W,0,Z])[0],d=s[1],R=s[2]):(h=(o=[Z,0,W])[0],d=o[1],R=o[2]),[255*(h+m),255*(d+m),255*(R+m)]}},hsv:{hsl:V,hsv:function(e,t,l){return[e,t,l]},rgb:l}
1,rgb:{hsl:function(e,l,n){var V=(0,t.constrainRange)(e/255,0,1),i=(0,t.constrainRange)(l/255,0,1),a=(0,t.constrainRange)(n/255,0,1),r=Math.max(V,i,a),s=Math.min(V,i,a),o=r-s,h=0,d=0,R=(s+r)/2;return 0!==o&&(d=o/(1-Math.abs(r+s-1)),h=(h=V===r?(i-a)/o:i===r?2+(a-V)/o:4+(V-i)/o)/6+(h<0?1:0)),[360*h,100*d,100*R]},hsv:function(e,l,n){var V=(0,t.constrainRange)(e/255,0,1),i=(0,t.constrainRange)(l/255,0,1),a=(0,t.constrainRange)(n/255,0,1),r=Math.max(V,i,a),s=r-Math.min(V,i,a);return[0===s?0:r===V?((i-a)/s%6+6)%6*60:r===i?60*((a-V)/s+2):60*((V-i)/s+4),100*(0===r?0:s/r),100*r]},rgb:function(e,t,l){return[e,t,l]}}};function a(e,t){return["float"===t?1:"rgb"===e?255:360,"float"===t?1:"rgb"===e?255:100,"float"===t?1:"rgb"===e?255:100]}function r(e,l){return e===l?l:(0,t.loopRange)(e,l)}function s(e,t,l,n){var V=a(t,l),i=a(t,n);return e.map((function(e,t){return e/V[t]*i[t]}))}e.getColorMaxComponents=a,e.constrainColorComponents=function(e,l,n){var V,i=a(l,n);return["rgb"===l?(0,t.constrainRange)(e[0],0,i[0]):r(e[0],i[0]),(0,t.constrainRange)(e[1],0,i[1]),(0,t.constrainRange)(e[2],0,i[2]),(0,t.constrainRange)(null!==(V=e[3])&&void 0!==V?V:1,0,1)]},e.convertColor=function(e,t,l){var n,V=s(e,t.mode,t.type,"int");return s((n=i[t.mode])[l.mode].apply(n,V),l.mode,"int",l.type)}})),Fl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Color=void 0;var t=me(),l=ml();function n(e,l){return"object"==typeof e&&!(0,t.isEmpty)(e)&&(l in e&&"number"==typeof e[l])}var V=function(){function e(e,t,n){void 0===n&&(n="int"),this.mode=t,this.type=n,this.comps_=(0,l.constrainColorComponents)(e,t,n)}return e.black=function(t){return void 0===t&&(t="int"),new e([0,0,0],"rgb",t)},e.fromObject=function(t,l){return void 0===l&&(l="int"),new e("a"in t?[t.r,t.g,t.b,t.a]:[t.r,t.g,t.b],"rgb",l)},e.toRgbaObject=function(e,t){return void 0===t&&(t="int"),e.toRgbaObject(t)},e.isRgbColorObject=function(e){return n(e,"r")&&n(e,"g")&&n(e,"b")},e.isRgbaColorObject=function(e){return this.isRgbColorObject(e)&&n(e,"a")},e.isColorObject=function(e){return this.isRgbColorObject(e)},e.equals=function(e,t){if(e.mode!==t.mode)return!1;for(var l=e.comps_,n=t.comps_,V=0;V<l.length;V++)if(l[V]!==n[V])return!1;return!0},e.prototype.getComponents=function(e,t){return void 0===t&&(t="int"),(0,l.appendAlphaComponent)((0,l.convertColor)((0,l.removeAlphaComponent)(this.comps_),{mode:this.mode,type:this.type},{mode:e??this.mode,type:t}),this.comps_[3])},e.prototype.toRgbaObject=function(e){void 0===e&&(e="int");var t=this.getComponents("rgb",e);return{r:t[0],g:t[1],b:t[2],a:t[3]}},e}();e.Color=V})),Nl=o((e=>{var t=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerView=void 0;var l=(0,be().ClassName)("colp"),n=function(){function e(e,t){this.alphaViews_=null,this.element=e.createElement("div"),this.element.classList.add(l()),t.viewProps.bindClassModifiers(this.element);var n=e.createElement("div");n.classList.add(l("hsv"));var V=e.createElement("div");V.classList.add(l("sv")),this.svPaletteView_=t.svPaletteView,V.appendChild(this.svPaletteView_.element),n.appendChild(V);var i=e.createElement("div");i.classList.add(l("h")),this.hPaletteView_=t.hPaletteView,i.appendChild(this.hPaletteView_.element),n.appendChild(i),this.element.appendChild(n);var a=e.createElement("div");if(a.classList.add(l("rgb")),this.textView_=t.textView,a.appendChild(this.textView_.element),this.element.appendChild(a),t.alphaViews){this.alphaViews_={palette:t.alphaViews.palette,text:t.alphaViews.text};var r=e.createElement("div");r.classList.add(l("a"));var s=e.createElement("div");s.classList.add(l("ap")),s.appendChild(this.alphaViews_.palette.element),r.appendChild(s);var o=e.createElement("div");o.classList.add(l("at")),o.appendChild(this.alphaViews_.text.element),r.appendChild(o),this.element.appendChild(r)}}return Object.defineProperty(e.prototype,"allFocusableElements",{get:function(){var e=t([this.svPaletteView_.element,this.hPaletteView_.element,this.textView_.modeSelectElement],this.textView_.textViews.map((function(e){return e.inputElement})),!0);return this.alphaViews_&&e.push(this.alphaViews_.palette.element,this.alphaViews_.text.inputElement),e}
1,enumerable:!1,configurable:!0}),e}();e.ColorPickerView=n})),ul=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.extractColorType=e.getBaseStepForColor=e.parseColorInputParams=void 0;var t=Qe(),l=Ul();function n(e){return"int"===e?"int":"float"===e?"float":void 0}e.parseColorInputParams=function(e){var V=t.ParamsParsers;return(0,t.parseParams)(e,{alpha:V.optional.boolean,color:V.optional.object({alpha:V.optional.boolean,type:V.optional.custom(n)}),expanded:V.optional.boolean,picker:V.optional.custom(l.parsePickerLayout)})},e.getBaseStepForColor=function(e){return e?.1:1},e.extractColorType=function(e){var t;return null===(t=e.color)||void 0===t?void 0:t.type}})),El=o((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var V in t=arguments[l])Object.prototype.hasOwnProperty.call(t,V)&&(e[V]=t[V]);return e},t.apply(this,arguments)},l=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.findColorStringifier=e.getColorStringifier=e.colorToObjectRgbaString=e.colorToObjectRgbString=e.colorToFunctionalHslaString=e.colorToFunctionalHslString=e.colorToFunctionalRgbaString=e.colorToFunctionalRgbString=e.colorToHexRgbaString=e.colorToHexRgbString=e.colorFromString=e.hasAlphaComponent=e.createColorStringParser=e.createColorStringBindingReader=e.CompositeColorParser=e.detectStringColorFormat=e.getColorNotation=void 0;var n=Kt(),V=At(),i=nl(),a=Fl(),r=ml();function s(e,t){var l=e.match(/^(.+)%$/);return Math.min(l?.01*parseFloat(l[1])*t:parseFloat(e),t)}var o={deg:function(e){return e},grad:function(e){return 360*e/400},rad:function(e){return 360*e/(2*Math.PI)},turn:function(e){return 360*e}};function h(e){var t=e.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);if(!t)return parseFloat(e);var l=parseFloat(t[1]),n=t[2];return o[n](l)}function d(e){var t=e.match(/^rgb\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var l=[s(t[1],255),s(t[2],255),s(t[3],255)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])?null:l}function R(e){return function(t){var l=d(t);return l?new a.Color(l,"rgb",e):null}}function U(e){var t=e.match(/^rgba\(\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var l=[s(t[1],255),s(t[2],255),s(t[3],255),s(t[4],1)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])||isNaN(l[3])?null:l}function c(e){return function(t){var l=U(t);return l?new a.Color(l,"rgb",e):null}}function p(e){var t=e.match(/^hsl\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var l=[h(t[1]),s(t[2],100),s(t[3],100)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])?null:l}function Z(e){return function(t){var l=p(t);return l?new a.Color(l,"hsl",e):null}}function W(e){var t=e.match(/^hsla\(\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*,\s*([0-9A-Fa-f.]+%?)\s*\)$/);if(!t)return null;var l=[h(t[1]),s(t[2],100),s(t[3],100),s(t[4],1)];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])||isNaN(l[3])?null:l}function m(e){return function(t){var l=W(t);return l?new a.Color(l,"hsl",e):null}}function F(e){var t=e.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];var l=e.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return l?[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16)]:null}function N(e){var t=F(e);return t?new a.Color(t,"rgb","int"):null}function u(e){var t=e.match(/^#?([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);if(t)return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),(0,i.mapRange)(parseInt(t[4]+t[4],16),0,255,0,1)];var l=e.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);return l?[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16),(0,i.mapRange)(parseInt(l[4],16),0,255,0,1)]:null}function E(e){var t=u(e);return t?new a.Color(t,"rgb","int"):null}function b(e){var t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;var l=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3])];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])?null:l}function S(e){return function(t){var l=b(t);return l?new a.Color(l,"rgb",e):null}}function J(e){var t=e.match(/^\{\s*r\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*g\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*b\s*:\s*([0-9A-Fa-f.]+%?)\s*,\s*a\s*:\s*([0-9A-Fa-f.]+%?)\s*\}$/);if(!t)return null;var l=[parseFloat(t[1]),parseFloat(t[2]),parseFloat(t[3]),parseFloat(t[4])];return isNaN(l[0])||isNaN(l[1])||isNaN(l[2])||isNaN(l[3])?null:l}function T(e){return function(t){var l=J(t);return l?new a.Color(l,"rgb",e):null}}var G={"func.rgb":R("int"),"func.rgba":c("int"),"func.hsl":Z("int"),"func.hsla":m("int"),"hex.rgb":N,"hex.rgba":E};function M(e){return Object.keys(G).reduce((function(t,l){return t||((0,G[l])(e)?l:null)}),null)}e.getColorNotation=M;var k=[{parser:F,result:{alpha:!1,mode:"rgb",notation:"hex"}},{parser:u,result:{alpha:!0,mode:"rgb",notation:"hex"}},{parser:d,result:{alpha:!1,mode:"rgb",notation:"func"}},{parser:U,result:{alpha:!0,mode:"rgb",notation:"func"}},{parser:p,result:{alpha:!1,mode:"hsl",notation:"func"}},{parser:W,result:{alpha:!0,mode:"hsl",notation:"func"}},{parser:b,result:{alpha:!1,mode:"rgb",notation:"object"}},{parser:J,result:{alpha:!0,mode:"rgb",notation:"object"}}];e.detectStringColorFormat=function(e,l){void 0===l&&(l="int");var n=function(e){return k.reduce((function(t,l){var n=l.parser,V=l.result;return t||(n(e)?V:null)}),null)}(e);return n?"hex"===n.notation&&"float"!==l?t(t({},n),{type:"int"}):"func"===n.notation?t(t({},n),{type:l}):null:null};e.CompositeColorParser=function(e){var t=M(e);return t?G[t](e):null};var Y={int:[N,E,R("int"),c("int"),Z("int"),m("int"),S("int"),T("int")],float:[R("float"),c("float"),Z("float"),m("float"),S("float"),T("float")]};function x(e){var t=(0,i.constrainRange)(Math.floor(e),0,255).toString(16);return 1===t.length?"0".concat(t):t}function Q(e,t){void 0===t&&(t="#");var l=(0,r.removeAlphaComponent)(e.getComponents("rgb")).map(x).join("");return"".concat(t).concat(l)}function X(e,t){void 0===t&&(t="#");var l=e.getComponents("rgb"),n=[l[0],l[1],l[2],255*l[3]].map(x).join("");return"".concat(t).concat(n)}function w(e,t){var l=(0,n.createNumberFormatter)("float"===t?2:0),V=(0,r.removeAlphaComponent)(e.getComponents("rgb",t)).map((function(e){return l(e)}));return"rgb(".concat(V.join(", "),")")}function f(e){return function(t){return w(t,e)}}function z(e,t){var l=(0,n.createNumberFormatter)(2),V=(0,n.createNumberFormatter)("float"===t?2:0),i=e.getComponents("rgb",t).map((function(e,t){return(3===t?l:V)(e)}));return"rgba(".concat(i.join(", "),")")}function y(e){return function(t){return z(t,e)}}function C(e){var t=[(0,n.createNumberFormatter)(0),V.formatPercentage,V.formatPercentage],l=(0,r.removeAlphaComponent)(e.getComponents("hsl")).map((function(e,l){return t[l](e)}));return"hsl(".concat(l.join(", "),")")}function j(e){var t=[(0,n.createNumberFormatter)(0),V.formatPercentage,V.formatPercentage,(0,n.createNumberFormatter)(2)],l=e.getComponents("hsl").map((function(e,l){return t[l](e)}));return"hsla(".concat(l.join(", "),")")}function g(e,t){var l=(0,n.createNumberFormatter)("float"===t?2:0),V=["r","g","b"],i=(0,r.removeAlphaComponent)(e.getComponents("rgb",t)).map((function(e,t){return"".concat(V[t],": ").concat(l(e))}));return"{".concat(i.join(", "),"}")}function B(e){return function(t){return g(t,e)}}function H(e,t){var l=(0,n.createNumberFormatter)(2),V=(0,n.createNumberFormatter)("float"===t?2:0),i=["r","g","b","a"],a=e.getComponents("rgb",t).map((function(e,t){var n=3===t?l:V;return"".concat(i[t],": ").concat(n(e))}));return"{".concat(a.join(", "),"}")}function v(e){return function(t){return H(t,e)}}e.createColorStringBindingReader=function(e){var t=Y[e];return function(l){return"string"!=typeof l?a.Color.black(e):t.reduce((function(e,t){return e||t(l)}),null)??a.Color.black(e)}},e.createColorStringParser=function(e){var t=Y[e];return function(e){return t.reduce((function(t,l){return t||l(e)}),null)}},e.hasAlphaComponent=function(e){return"func.hsla"===e||"func.rgba"===e||"hex.rgba"===e},e.colorFromString=function(t){if("string"==typeof t){var l=(0,e.CompositeColorParser)(t);if(l)return l}return a.Color.black()},e.colorToHexRgbString=Q,e.colorToHexRgbaString=X,e.colorToFunctionalRgbString=w,e.colorToFunctionalRgbaString=z,e.colorToFunctionalHslString=C,e.colorToFunctionalHslaString=j,e.colorToObjectRgbString=g,e.colorToObjectRgbaString=H;var I={"func.hsl":C,"func.hsla":j,"func.rgb":w,"func.rgba":z,"hex.rgb":Q,"hex.rgba":X};e.getColorStringifier=function(e){return I[e]};var D=l([{format:{alpha:!1,mode:"rgb",notation:"hex",type:"int"},stringifier:Q},{format:{alpha:!0,mode:"rgb",notation:"hex",type:"int"},stringifier:X},{format:{alpha:!1,mode:"hsl",notation:"func",type:"int"},stringifier:C},{format:{alpha:!0,mode:"hsl",notation:"func",type:"int"},stringifier:j}],["int","float"].reduce((function(e,t){return l(l([],e,!0),[{format:{alpha:!1,mode:"rgb",notation:"func",type:t},stringifier:f(t)},{format:{alpha:!0,mode:"rgb",notation:"func",type:t},stringifier:y(t)},{format:{alpha:!1,mode:"rgb",notation:"object",type:t},stringifier:B(t)},{format:{alpha:!0,mode:"rgb",notation:"object",type:t},stringifier:v(t)}],!1)}),[]),!0);e.findColorStringifier=function(e){return D.reduce((function(t,l){return t||(function(e,t){return e.alpha===t.alpha&&e.mode===t.mode&&e.notation===t.notation&&e.type===t.type}(l.format,e)?l.stringifier:null)}),null)}})),bl=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.APaletteView=void 0;var t=nl(),l=be(),n=El(),V=Fl(),i=(0,l.ClassName)("apl"),a=function(){function e(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(i()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);var l=e.createElement("div");l.classList.add(i("b")),this.element.appendChild(l);var n=e.createElement("div");n.classList.add(i("c")),l.appendChild(n),this.colorElem_=n;var V=e.createElement("div");V.classList.add(i("m")),this.element.appendChild(V),this.markerElem_=V;var a=e.createElement("div");a.classList.add(i("p")),this.markerElem_.appendChild(a),this.previewElem_=a,this.update_()}return e.prototype.update_=function(){var e=this.value.rawValue,l=e.getComponents("rgb"),i=new V.Color([l[0],l[1],l[2],0],"rgb"),a=new V.Color([l[0],l[1],l[2],255],"rgb"),r=["to right",(0,n.colorToFunctionalRgbaString)(i),(0,n.colorToFunctionalRgbaString)(a)];this.colorElem_.style.background="linear-gradient(".concat(r.join(","),")"),this.previewElem_.style.backgroundColor=(0,n.colorToFunctionalRgbaString)(e);var s=(0,t.mapRange)(l[3],0,1,0,100);this.markerElem_.style.left="".concat(s,"%")},e.prototype.onValueChange_=function(){this.update_()},e}();e.APaletteView=a})),Sl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.APaletteController=void 0;var t=tl(),l=ll(),n=Fl(),V=ul(),i=bl(),a=function(){function e(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new i.APaletteView(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new l.PointerHandler(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return e.prototype.handlePointerEvent_=function(e,t){if(e.point){var l=e.point.x/e.bounds.width,V=this.value.rawValue.getComponents("hsv"),i=V[0],a=V[1],r=V[2];this.value.setRawValue(new n.Color([i,a,r,l],"hsv"),t)}},e.prototype.onPointerDown_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerMove_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerUp_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})},e.prototype.onKeyDown_=function(e){var l=(0,t.getStepForKey)((0,V.getBaseStepForColor)(!0),(0,t.getHorizontalStepKeys)(e));if(0!==l){var i=this.value.rawValue.getComponents("hsv"),a=i[0],r=i[1],s=i[2],o=i[3];this.value.setRawValue(new n.Color([a,r,s,o+l],"hsv"),{forceEmit:!1,last:!1})}},e.prototype.onKeyUp_=function(e){0!==(0,t.getStepForKey)((0,V.getBaseStepForColor)(!0),(0,t.getHorizontalStepKeys)(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})},e}();e.APaletteController=a})),Jl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorTextView=void 0;var t=je(),l=Se(),n=(0,be().ClassName)("coltxt");var V=function(){function e(e,V){var i=this;this.element=e.createElement("div"),this.element.classList.add(n()),V.viewProps.bindClassModifiers(this.element);var a=e.createElement("div");a.classList.add(n("m")),this.modeElem_=function(e){var t=e.createElement("select");return t.appendChild([{text:"RGB",value:"rgb"},{text:"HSL",value:"hsl"},{text:"HSV",value:"hsv"}].reduce((function(t,l){var n=e.createElement("option");return n.textContent=l.text,n.value=l.value,t.appendChild(n),t}),e.createDocumentFragment())),t}(e),this.modeElem_.classList.add(n("ms")),a.appendChild(this.modeSelectElement),V.viewProps.bindDisabled(this.modeElem_);var r=e.createElement("div");r.classList.add(n("mm")),r.appendChild((0,t.createSvgIconElement)(e,"dropdown")),a.appendChild(r),this.element.appendChild(a);var s=e.createElement("div");s.classList.add(n("w")),this.element.appendChild(s),this.textsElem_=s,this.textViews_=V.textViews,this.applyTextViews_(),(0,l.bindValue)(V.colorMode,(function(e){i.modeElem_.value=e}))}return Object.defineProperty(e.prototype,"modeSelectElement",{get:function(){return this.modeElem_}
1,enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textViews",{get:function(){return this.textViews_},set:function(e){this.textViews_=e,this.applyTextViews_()},enumerable:!1,configurable:!0}),e.prototype.applyTextViews_=function(){var e=this;(0,t.removeChildElements)(this.textsElem_);var l=this.element.ownerDocument;this.textViews_.forEach((function(t){var V=l.createElement("div");V.classList.add(n("c")),V.appendChild(t.element),e.textsElem_.appendChild(V)}))},e}();e.ColorTextView=V})),Tl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorTextController=void 0;var t=Qt(),l=Kt(),n=xe(),V=el(),i=Ye(),a=il(),r=Fl(),s=ml(),o=ul(),h=Jl();function d(e){return(0,l.createNumberFormatter)("float"===e?2:0)}function R(e,l,n){var V=(0,s.getColorMaxComponents)(e,l)[n];return new t.DefiniteRangeConstraint({min:0,max:V})}function U(e,t,l){return new a.NumberTextController(e,{arrayPosition:0===l?"fst":2===l?"lst":"mid",baseStep:(0,o.getBaseStepForColor)(!1),parser:t.parser,props:n.ValueMap.fromObject({draggingScale:"float"===t.colorType?.01:1,formatter:d(t.colorType)}),value:(0,i.createValue)(0,{constraint:R(t.colorMode,t.colorType,l)}),viewProps:t.viewProps})}var c=function(){function e(e,t){this.onModeSelectChange_=this.onModeSelectChange_.bind(this),this.colorType_=t.colorType,this.parser_=t.parser,this.value=t.value,this.viewProps=t.viewProps,this.colorMode=(0,i.createValue)(this.value.rawValue.mode),this.ccs_=this.createComponentControllers_(e),this.view=new h.ColorTextView(e,{colorMode:this.colorMode,textViews:[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view],viewProps:this.viewProps}),this.view.modeSelectElement.addEventListener("change",this.onModeSelectChange_)}return e.prototype.createComponentControllers_=function(e){var t=this,l={colorMode:this.colorMode.rawValue,colorType:this.colorType_,parser:this.parser_,viewProps:this.viewProps},n=[U(e,l,0),U(e,l,1),U(e,l,2)];return n.forEach((function(e,l){(0,V.connectValues)({primary:t.value,secondary:e.value,forward:function(e){return e.rawValue.getComponents(t.colorMode.rawValue,t.colorType_)[l]},backward:function(e,n){var V=t.colorMode.rawValue,i=e.rawValue.getComponents(V,t.colorType_);return i[l]=n.rawValue,new r.Color((0,s.appendAlphaComponent)((0,s.removeAlphaComponent)(i),i[3]),V,t.colorType_)}})})),n},e.prototype.onModeSelectChange_=function(e){var t=e.currentTarget;this.colorMode.rawValue=t.value,this.ccs_=this.createComponentControllers_(this.view.element.ownerDocument),this.view.textViews=[this.ccs_[0].view,this.ccs_[1].view,this.ccs_[2].view]},e}();e.ColorTextController=c})),Gl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HPaletteView=void 0;var t=nl(),l=be(),n=El(),V=Fl(),i=(0,l.ClassName)("hpl"),a=function(){function e(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(i()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);var l=e.createElement("div");l.classList.add(i("c")),this.element.appendChild(l);var n=e.createElement("div");n.classList.add(i("m")),this.element.appendChild(n),this.markerElem_=n,this.update_()}return e.prototype.update_=function(){var e=this.value.rawValue.getComponents("hsv")[0];this.markerElem_.style.backgroundColor=(0,n.colorToFunctionalRgbString)(new V.Color([e,100,100],"hsv"));var l=(0,t.mapRange)(e,0,360,0,100);this.markerElem_.style.left="".concat(l,"%")},e.prototype.onValueChange_=function(){this.update_()},e}();e.HPaletteView=a})),Ml=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HPaletteController=void 0;var t=nl(),l=tl(),n=ll(),V=Fl(),i=ul(),a=Gl(),r=function(){function e(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new a.HPaletteView(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new n.PointerHandler(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return e.prototype.handlePointerEvent_=function(e,l){if(e.point){var n=(0,t.mapRange)((0,t.constrainRange)(e.point.x,0,e.bounds.width),0,e.bounds.width,0,360),i=this.value.rawValue.getComponents("hsv"),a=i[1],r=i[2],s=i[3];this.value.setRawValue(new V.Color([n,a,r,s],"hsv"),l)}},e.prototype.onPointerDown_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerMove_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerUp_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})},e.prototype.onKeyDown_=function(e){var t=(0,l.getStepForKey)((0,i.getBaseStepForColor)(!1),(0,l.getHorizontalStepKeys)(e));if(0!==t){var n=this.value.rawValue.getComponents("hsv"),a=n[0],r=n[1],s=n[2],o=n[3];this.value.setRawValue(new V.Color([a+t,r,s,o],"hsv"),{forceEmit:!1,last:!1})}},e.prototype.onKeyUp_=function(e){0!==(0,l.getStepForKey)((0,i.getBaseStepForColor)(!1),(0,l.getHorizontalStepKeys)(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})},e}();e.HPaletteController=r})),kl=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.SvPaletteView=void 0;var t=je(),l=nl(),n=be(),V=ml(),i=(0,n.ClassName)("svp"),a=function(){function e(e,t){this.onValueChange_=this.onValueChange_.bind(this),this.value=t.value,this.value.emitter.on("change",this.onValueChange_),this.element=e.createElement("div"),this.element.classList.add(i()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);var l=e.createElement("canvas");l.height=64,l.width=64,l.classList.add(i("c")),this.element.appendChild(l),this.canvasElement=l;var n=e.createElement("div");n.classList.add(i("m")),this.element.appendChild(n),this.markerElem_=n,this.update_()}return e.prototype.update_=function(){var e=(0,t.getCanvasContext)(this.canvasElement);if(e){for(var n=this.value.rawValue.getComponents("hsv"),i=this.canvasElement.width,a=this.canvasElement.height,r=e.getImageData(0,0,i,a),s=r.data,o=0;o<a;o++)for(var h=0;h<i;h++){var d=(0,l.mapRange)(h,0,i,0,100),R=(0,l.mapRange)(o,0,a,100,0),U=(0,V.hsvToRgbInt)(n[0],d,R),c=4*(o*i+h);s[c]=U[0],s[c+1]=U[1],s[c+2]=U[2],s[c+3]=255}e.putImageData(r,0,0);var p=(0,l.mapRange)(n[1],0,100,0,100);this.markerElem_.style.left="".concat(p,"%");var Z=(0,l.mapRange)(n[2],0,100,100,0);this.markerElem_.style.top="".concat(Z,"%")}},e.prototype.onValueChange_=function(){this.update_()},e}();e.SvPaletteView=a})),Yl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SvPaletteController=void 0;var t=nl(),l=tl(),n=ll(),V=Fl(),i=ul(),a=kl(),r=function(){function e(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.view=new a.SvPaletteView(e,{value:this.value,viewProps:this.viewProps}),this.ptHandler_=new n.PointerHandler(this.view.element),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_)}return e.prototype.handlePointerEvent_=function(e,l){if(e.point){var n=(0,t.mapRange)(e.point.x,0,e.bounds.width,0,100),i=(0,t.mapRange)(e.point.y,0,e.bounds.height,100,0),a=this.value.rawValue.getComponents("hsv"),r=a[0],s=a[3];this.value.setRawValue(new V.Color([r,n,i,s],"hsv"),l)}},e.prototype.onPointerDown_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerMove_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerUp_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})},e.prototype.onKeyDown_=function(e){(0,l.isArrowKey)(e.key)&&e.preventDefault();var t=this.value.rawValue.getComponents("hsv"),n=t[0],a=t[1],r=t[2],s=t[3],o=(0,i.getBaseStepForColor)(!1),h=(0,l.getStepForKey)(o,(0,l.getHorizontalStepKeys)(e)),d=(0,l.getStepForKey)(o,(0,l.getVerticalStepKeys)(e));0===h&&0===d||this.value.setRawValue(new V.Color([n,a+h,r+d,s],"hsv"),{forceEmit:!1,last:!1})},e.prototype.onKeyUp_=function(e){var t=(0,i.getBaseStepForColor)(!1),n=(0,l.getStepForKey)(t,(0,l.getHorizontalStepKeys)(e)),V=(0,l.getStepForKey)(t,(0,l.getVerticalStepKeys)(e));0===n&&0===V||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})},e}();e.SvPaletteController=r})),xl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPickerController=void 0;var t=Qt(),l=Kt(),n=xe(),V=el(),i=Ye(),a=il(),r=Fl(),s=Nl(),o=Sl(),h=Tl(),d=Ml(),R=Yl(),U=function(){function e(e,U){this.value=U.value,this.viewProps=U.viewProps,this.hPaletteC_=new d.HPaletteController(e,{value:this.value,viewProps:this.viewProps}),this.svPaletteC_=new R.SvPaletteController(e,{value:this.value,viewProps:this.viewProps}),this.alphaIcs_=U.supportsAlpha?{palette:new o.APaletteController(e,{value:this.value,viewProps:this.viewProps}),text:new a.NumberTextController(e,{parser:l.parseNumber,baseStep:.1,props:n.ValueMap.fromObject({draggingScale:.01,formatter:(0,l.createNumberFormatter)(2)}),value:(0,i.createValue)(0,{constraint:new t.DefiniteRangeConstraint({min:0,max:1})}),viewProps:this.viewProps})}:null,this.alphaIcs_&&(0,V.connectValues)({primary:this.value,secondary:this.alphaIcs_.text.value,forward:function(e){return e.rawValue.getComponents()[3]},backward:function(e,t){var l=e.rawValue.getComponents();return l[3]=t.rawValue,new r.Color(l,e.rawValue.mode)}}),this.textC_=new h.ColorTextController(e,{colorType:U.colorType,parser:l.parseNumber,value:this.value,viewProps:this.viewProps}),this.view=new s.ColorPickerView(e,{alphaViews:this.alphaIcs_?{palette:this.alphaIcs_.palette.view,text:this.alphaIcs_.text.view}:null,hPaletteView:this.hPaletteC_.view,supportsAlpha:U.supportsAlpha,svPaletteView:this.svPaletteC_.view,textView:this.textC_.view,viewProps:this.viewProps})}return Object.defineProperty(e.prototype,"textController",{get:function(){return this.textC_}
1,enumerable:!1,configurable:!0}),e}();e.ColorPickerController=U})),Ql=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorSwatchView=void 0;var t=be(),l=El(),n=(0,t.ClassName)("colsw"),V=function(){function e(e,t){this.onValueChange_=this.onValueChange_.bind(this),t.value.emitter.on("change",this.onValueChange_),this.value=t.value,this.element=e.createElement("div"),this.element.classList.add(n()),t.viewProps.bindClassModifiers(this.element);var l=e.createElement("div");l.classList.add(n("sw")),this.element.appendChild(l),this.swatchElem_=l;var V=e.createElement("button");V.classList.add(n("b")),t.viewProps.bindDisabled(V),this.element.appendChild(V),this.buttonElement=V,this.update_()}return e.prototype.update_=function(){var e=this.value.rawValue;this.swatchElem_.style.backgroundColor=(0,l.colorToHexRgbaString)(e)},e.prototype.onValueChange_=function(){this.update_()},e}();e.ColorSwatchView=V})),Xl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorSwatchController=void 0;var t=Ql(),l=function(e,l){this.value=l.value,this.viewProps=l.viewProps,this.view=new t.ColorSwatchView(e,{value:this.value,viewProps:this.viewProps})};e.ColorSwatchController=l})),wl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorController=void 0;var t=De(),l=gt(),n=Ht(),V=je(),i=xe(),a=el(),r=me(),s=Wl(),o=xl(),h=Xl(),d=function(){function e(e,V){var r=this;this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=V.value,this.viewProps=V.viewProps,this.foldable_=t.Foldable.create(V.expanded),this.swatchC_=new h.ColorSwatchController(e,{value:this.value,viewProps:this.viewProps});var d=this.swatchC_.view.buttonElement;d.addEventListener("blur",this.onButtonBlur_),d.addEventListener("click",this.onButtonClick_),this.textC_=new n.TextController(e,{parser:V.parser,props:i.ValueMap.fromObject({formatter:V.formatter}),value:this.value,viewProps:this.viewProps}),this.view=new s.ColorView(e,{foldable:this.foldable_,pickerLayout:V.pickerLayout}),this.view.swatchElement.appendChild(this.swatchC_.view.element),this.view.textElement.appendChild(this.textC_.view.element),this.popC_="popup"===V.pickerLayout?new l.PopupController(e,{viewProps:this.viewProps}):null;var R=new o.ColorPickerController(e,{colorType:V.colorType,supportsAlpha:V.supportsAlpha,value:this.value,viewProps:this.viewProps});R.view.allFocusableElements.forEach((function(e){e.addEventListener("blur",r.onPopupChildBlur_),e.addEventListener("keydown",r.onPopupChildKeydown_)})),this.pickerC_=R,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(R.view.element),(0,a.connectValues)({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:function(e){return e.rawValue},backward:function(e,t){return t.rawValue}})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),(0,t.bindFoldable)(this.foldable_,this.view.pickerElement))}return Object.defineProperty(e.prototype,"textController",{get:function(){return this.textC_},enumerable:!1,configurable:!0}),e.prototype.onButtonBlur_=function(e){if(this.popC_){var t=this.view.element,l=(0,r.forceCast)(e.relatedTarget);(!l||!t.contains(l))&&(this.popC_.shows.rawValue=!1)}},e.prototype.onButtonClick_=function(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()},e.prototype.onPopupChildBlur_=function(e){if(this.popC_){var t=this.popC_.view.element,l=(0,V.findNextTarget)(e);l&&t.contains(l)||l&&l===this.swatchC_.view.buttonElement&&!(0,V.supportsTouch)(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}},e.prototype.onPopupChildKeydown_=function(e){this.popC_?"Escape"===e.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===e.key&&this.swatchC_.view.buttonElement.focus()},e}();e.ColorController=d})),fl=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.colorFromRgbaNumber=e.colorFromRgbNumber=e.numberToRgbaColor=e.numberToRgbColor=e.colorToRgbaNumber=e.colorToRgbNumber=e.colorFromObject=void 0;var t=nl(),l=Fl(),n=ml();function V(e){return new l.Color([e>>16&255,e>>8&255,255&e],"rgb")}function i(e){return new l.Color([e>>24&255,e>>16&255,e>>8&255,(0,t.mapRange)(255&e,0,255,0,1)],"rgb")}e.colorFromObject=function(e,t){return l.Color.isColorObject(e)?l.Color.fromObject(e,t):l.Color.black(t)},e.colorToRgbNumber=function(e){return(0,n.removeAlphaComponent)(e.getComponents("rgb")).reduce((function(e,t){return e<<8|255&Math.floor(t)}),0)},e.colorToRgbaNumber=function(e){return e.getComponents("rgb").reduce((function(e,t,l){return e<<8|255&Math.floor(3===l?255*t:t)}),0)>>>0},e.numberToRgbColor=V,e.numberToRgbaColor=i,e.colorFromRgbNumber=function(e){return"number"!=typeof e?l.Color.black():V(e)},e.colorFromRgbaNumber=function(e){return"number"!=typeof e?l.Color.black():i(e)}})),zl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createColorObjectWriter=e.writeRgbColorObject=e.writeRgbaColorObject=e.createColorNumberWriter=e.createColorStringWriter=void 0;var t=Rl(),l=fl(),n=El();function V(e,t,l){var n=t.toRgbaObject(l);e.writeProperty("r",n.r),e.writeProperty("g",n.g),e.writeProperty("b",n.b),e.writeProperty("a",n.a)}function i(e,t,l){var n=t.toRgbaObject(l);e.writeProperty("r",n.r),e.writeProperty("g",n.g),e.writeProperty("b",n.b)}e.createColorStringWriter=function(e){var l=(0,n.findColorStringifier)(e);return l?function(e,n){(0,t.writePrimitive)(e,l(n))}:null},e.createColorNumberWriter=function(e){var n=e?l.colorToRgbaNumber:l.colorToRgbNumber;return function(e,l){(0,t.writePrimitive)(e,n(l))}},e.writeRgbaColorObject=V,e.writeRgbColorObject=i,e.createColorObjectWriter=function(e,t){return function(l,n){e?V(l,n,t):i(l,n,t)}}})),yl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NumberColorInputPlugin=void 0;var t=wl(),l=fl(),n=El(),V=zl(),i=Fl(),a=ul();function r(e){var t;return!!(e?.alpha||null!==(t=e?.color)&&void 0!==t&&t.alpha)}function s(e){return e?function(e){return(0,n.colorToHexRgbaString)(e,"0x")}:function(e){return(0,n.colorToHexRgbString)(e,"0x")}}e.NumberColorInputPlugin={id:"input-color-number",type:"input",accept:function(e,t){if("number"!=typeof e||!function(e){return"color"in e||"view"in e&&"color"===e.view}(t))return null;var l=(0,a.parseColorInputParams)(t);return l?{initialValue:e,params:l}:null},binding:{reader:function(e){return r(e.params)?l.colorFromRgbaNumber:l.colorFromRgbNumber},equals:i.Color.equals,writer:function(e){return(0,V.createColorNumberWriter)(r(e.params))}},controller:function(e){var l=r(e.params),V="expanded"in e.params?e.params.expanded:void 0,i="picker"in e.params?e.params.picker:void 0;return new t.ColorController(e.document,{colorType:"int",expanded:V??!1,formatter:s(l),parser:(0,n.createColorStringParser)("int"),pickerLayout:i??"popup",supportsAlpha:l,value:e.value,viewProps:e.viewProps})}}})),Cl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectColorInputPlugin=void 0;var t=wl(),l=fl(),n=El(),V=zl(),i=Fl(),a=ul();function r(e,t){return function(l){return e?(0,n.colorToObjectRgbaString)(l,t):(0,n.colorToObjectRgbString)(l,t)}}e.ObjectColorInputPlugin={id:"input-color-object",type:"input",accept:function(e,t){if(!i.Color.isColorObject(e))return null;var l=(0,a.parseColorInputParams)(t);return l?{initialValue:e,params:l}:null},binding:{reader:function(e){return function(e){return function(t){return(0,l.colorFromObject)(t,e)}}((0,a.extractColorType)(e.params))},equals:i.Color.equals,writer:function(e){return(0,V.createColorObjectWriter)(function(e){return i.Color.isRgbaColorObject(e)}(e.initialValue),(0,a.extractColorType)(e.params))}},controller:function(e){var l,V=i.Color.isRgbaColorObject(e.initialValue),s="expanded"in e.params?e.params.expanded:void 0,o="picker"in e.params?e.params.picker:void 0,h=null!==(l=(0,a.extractColorType)(e.params))&&void 0!==l?l:"int";return new t.ColorController(e.document,{colorType:h,expanded:s??!1,formatter:r(V,h),parser:(0,n.createColorStringParser)(h),pickerLayout:o??"popup",supportsAlpha:V,value:e.value,viewProps:e.viewProps})}}})),jl=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.StringColorInputPlugin=void 0;var t=Fe(),l=wl(),n=El(),V=zl(),i=Fl(),a=ul();e.StringColorInputPlugin={id:"input-color-string",type:"input",accept:function(e,t){if("string"!=typeof e||"view"in t&&"text"===t.view)return null;var l=(0,n.detectStringColorFormat)(e,(0,a.extractColorType)(t));if(!l)return null;if(!(0,n.findColorStringifier)(l))return null;var V=(0,a.parseColorInputParams)(t);return V?{initialValue:e,params:V}:null},binding:{reader:function(e){var t;return(0,n.createColorStringBindingReader)(null!==(t=(0,a.extractColorType)(e.params))&&void 0!==t?t:"int")},equals:i.Color.equals,writer:function(e){var l=(0,n.detectStringColorFormat)(e.initialValue,(0,a.extractColorType)(e.params));if(!l)throw t.TpError.shouldNeverHappen();var i=(0,V.createColorStringWriter)(l);if(!i)throw t.TpError.notBindable();return i}},controller:function(e){var V=(0,n.detectStringColorFormat)(e.initialValue,(0,a.extractColorType)(e.params));if(!V)throw t.TpError.shouldNeverHappen();var i=(0,n.findColorStringifier)(V);if(!i)throw t.TpError.shouldNeverHappen();var r="expanded"in e.params?e.params.expanded:void 0,s="picker"in e.params?e.params.picker:void 0;return new l.ColorController(e.document,{colorType:V.type,expanded:r??!1,formatter:i,parser:(0,n.createColorStringParser)(V.type),pickerLayout:s??"popup",supportsAlpha:V.alpha,value:e.value,viewProps:e.viewProps})}}})),gl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PointNdConstraint=void 0;var t=function(){function e(e){this.components=e.components,this.asm_=e.assembly}return e.prototype.constrain=function(e){var t=this,l=this.asm_.toComponents(e).map((function(e,l){var n,V;return null!==(V=null===(n=t.components[l])||void 0===n?void 0:n.constrain(e))&&void 0!==V?V:e}));return this.asm_.fromComponents(l)},e}();e.PointNdConstraint=t})),Bl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PointNdTextView=void 0;var t=(0,be().ClassName)("pndtxt"),l=function(e,l){var n=this;this.textViews=l.textViews,this.element=e.createElement("div"),this.element.classList.add(t()),this.textViews.forEach((function(l){var V=e.createElement("div");V.classList.add(t("a")),V.appendChild(l.element),n.element.appendChild(V)}))};e.PointNdTextView=l})),Hl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PointNdTextController=void 0;var t=el(),l=Ye(),n=il(),V=Bl();var i=function(e,i){var a=this;this.value=i.value,this.viewProps=i.viewProps,this.acs_=i.axes.map((function(t,V){return function(e,t,V){return new n.NumberTextController(e,{arrayPosition:0===V?"fst":V===t.axes.length-1?"lst":"mid",baseStep:t.axes[V].baseStep,parser:t.parser,props:t.axes[V].textProps,value:(0,l.createValue)(0,{constraint:t.axes[V].constraint}),viewProps:t.viewProps})}(e,i,V)}
1)),this.acs_.forEach((function(e,l){(0,t.connectValues)({primary:a.value,secondary:e.value,forward:function(e){return i.assembly.toComponents(e.rawValue)[l]},backward:function(e,t){var n=i.assembly.toComponents(e.rawValue);return n[l]=t.rawValue,i.assembly.fromComponents(n)}})})),this.view=new V.PointNdTextView(e,{textViews:this.acs_.map((function(e){return e.view}))})};e.PointNdTextController=i})),vl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NumberInputPlugin=e.findNumberRange=e.createRangeConstraint=e.createStepConstraint=void 0;var t=Yt(),l=Qt(),n=Xt(),V=wt(),i=ft(),a=Ct(),r=Kt(),s=xe(),o=il(),h=ol(),d=Qe(),R=Rl(),U=Ul(),c=me();function p(e,t){return"step"in e&&!(0,c.isEmpty)(e.step)?new i.StepConstraint(e.step,t):null}function Z(e){return(0,c.isEmpty)(e.max)||(0,c.isEmpty)(e.min)?(0,c.isEmpty)(e.max)&&(0,c.isEmpty)(e.min)?null:new V.RangeConstraint({max:e.max,min:e.min}):new l.DefiniteRangeConstraint({max:e.max,min:e.min})}e.createStepConstraint=p,e.createRangeConstraint=Z,e.findNumberRange=function(e){var n=(0,t.findConstraint)(e,l.DefiniteRangeConstraint);if(n)return[n.values.get("min"),n.values.get("max")];var i=(0,t.findConstraint)(e,V.RangeConstraint);return i?[i.minValue,i.maxValue]:[void 0,void 0]},e.NumberInputPlugin={id:"input-number",type:"input",accept:function(e,t){if("number"!=typeof e)return null;var l=d.ParamsParsers,n=(0,d.parseParams)(t,{format:l.optional.function,max:l.optional.number,min:l.optional.number,options:l.optional.custom(U.parseListOptions),step:l.optional.number});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return r.numberFromUnknown},constraint:function(e){return function(e,l){var n=[],V=p(e,l);V&&n.push(V);var i=Z(e);i&&n.push(i);var a=(0,U.createListConstraint)(e.options);return a&&n.push(a),new t.CompositeConstraint(n)}(e.params,e.initialValue)},writer:function(e){return R.writePrimitive}},controller:function(e){var V,i=e.value,d=e.constraint,R=d&&(0,t.findConstraint)(d,n.ListConstraint);if(R)return new a.ListController(e.document,{props:new s.ValueMap({options:R.values.value("options")}),value:i,viewProps:e.viewProps});var c=null!==(V="format"in e.params?e.params.format:void 0)&&void 0!==V?V:(0,r.createNumberFormatter)((0,U.getSuitableDecimalDigits)(d,i.rawValue)),p=d&&(0,t.findConstraint)(d,l.DefiniteRangeConstraint);return p?new h.SliderTextController(e.document,{baseStep:(0,U.getBaseStep)(d),parser:r.parseNumber,sliderProps:new s.ValueMap({maxValue:p.values.value("max"),minValue:p.values.value("min")}),textProps:s.ValueMap.fromObject({draggingScale:(0,U.getSuitableDraggingScale)(d,i.rawValue),formatter:c}),value:i,viewProps:e.viewProps}):new o.NumberTextController(e.document,{baseStep:(0,U.getBaseStep)(d),parser:r.parseNumber,props:s.ValueMap.fromObject({draggingScale:(0,U.getSuitableDraggingScale)(d,i.rawValue),formatter:c}),value:i,viewProps:e.viewProps})}}})),Il=o((e=>{var t=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.Point2dAssembly=e.Point2d=void 0;var l=me(),n=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=0),this.x=e,this.y=t}return e.prototype.getComponents=function(){return[this.x,this.y]},e.isObject=function(e){if((0,l.isEmpty)(e))return!1;var t=e.x,n=e.y;return!("number"!=typeof t||"number"!=typeof n)},e.equals=function(e,t){return e.x===t.x&&e.y===t.y},e.prototype.toObject=function(){return{x:this.x,y:this.y}},e}();e.Point2d=n,e.Point2dAssembly={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return new(n.bind.apply(n,t([void 0],e,!1)))}}})),Dl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Point2dView=void 0;var t=je(),l=Se(),n=be(),V=Je(),i=(0,n.ClassName)("p2d"),a=function(e,n){this.element=e.createElement("div"),this.element.classList.add(i()),n.viewProps.bindClassModifiers(this.element),(0,l.bindValue)(n.expanded,(0,V.valueToClassName)(this.element,i(void 0,"expanded")));var a=e.createElement("div");a.classList.add(i("h")),this.element.appendChild(a);var r=e.createElement("button");r.classList.add(i("b")),r.appendChild((0,t.createSvgIconElement)(e,"p2dpad")),n.viewProps.bindDisabled(r),a.appendChild(r),this.buttonElement=r;var s=e.createElement("div");if(s.classList.add(i("t")),a.appendChild(s),this.textElement=s,"inline"===n.pickerLayout){var o=e.createElement("div");o.classList.add(i("p")),this.element.appendChild(o),this.pickerElement=o}else this.pickerElement=null};e.Point2dView=a})),Ol=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.Point2dPickerView=void 0;var t=je(),l=nl(),n=(0,be().ClassName)("p2dp"),V=function(){function e(e,l){this.onFoldableChange_=this.onFoldableChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.invertsY_=l.invertsY,this.maxValue_=l.maxValue,this.element=e.createElement("div"),this.element.classList.add(n()),"popup"===l.layout&&this.element.classList.add(n(void 0,"p")),l.viewProps.bindClassModifiers(this.element);var V=e.createElement("div");V.classList.add(n("p")),l.viewProps.bindTabIndex(V),this.element.appendChild(V),this.padElement=V;var i=e.createElementNS(t.SVG_NS,"svg");i.classList.add(n("g")),this.padElement.appendChild(i),this.svgElem_=i;var a=e.createElementNS(t.SVG_NS,"line");a.classList.add(n("ax")),a.setAttributeNS(null,"x1","0"),a.setAttributeNS(null,"y1","50%"),a.setAttributeNS(null,"x2","100%"),a.setAttributeNS(null,"y2","50%"),this.svgElem_.appendChild(a);var r=e.createElementNS(t.SVG_NS,"line");r.classList.add(n("ax")),r.setAttributeNS(null,"x1","50%"),r.setAttributeNS(null,"y1","0"),r.setAttributeNS(null,"x2","50%"),r.setAttributeNS(null,"y2","100%"),this.svgElem_.appendChild(r);var s=e.createElementNS(t.SVG_NS,"line");s.classList.add(n("l")),s.setAttributeNS(null,"x1","50%"),s.setAttributeNS(null,"y1","50%"),this.svgElem_.appendChild(s),this.lineElem_=s;var o=e.createElement("div");o.classList.add(n("m")),this.padElement.appendChild(o),this.markerElem_=o,l.value.emitter.on("change",this.onValueChange_),this.value=l.value,this.update_()}return Object.defineProperty(e.prototype,"allFocusableElements",{get:function(){return[this.padElement]},enumerable:!1,configurable:!0}),e.prototype.update_=function(){var e=this.value.rawValue.getComponents(),t=e[0],n=e[1],V=this.maxValue_,i=(0,l.mapRange)(t,-V,+V,0,100),a=(0,l.mapRange)(n,-V,+V,0,100),r=this.invertsY_?100-a:a;this.lineElem_.setAttributeNS(null,"x2","".concat(i,"%")),this.lineElem_.setAttributeNS(null,"y2","".concat(r,"%")),this.markerElem_.style.left="".concat(i,"%"),this.markerElem_.style.top="".concat(r,"%")},e.prototype.onValueChange_=function(){this.update_()},e.prototype.onFoldableChange_=function(){this.update_()},e}();e.Point2dPickerView=V})),_l=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Point2dPickerController=void 0;var t=nl(),l=tl(),n=ll(),V=Il(),i=Ol();function a(e,t,n){return[(0,l.getStepForKey)(t[0],(0,l.getHorizontalStepKeys)(e)),(0,l.getStepForKey)(t[1],(0,l.getVerticalStepKeys)(e))*(n?1:-1)]}var r=function(){function e(e,t){this.onPadKeyDown_=this.onPadKeyDown_.bind(this),this.onPadKeyUp_=this.onPadKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.baseSteps_=t.baseSteps,this.maxValue_=t.maxValue,this.invertsY_=t.invertsY,this.view=new i.Point2dPickerView(e,{invertsY:this.invertsY_,layout:t.layout,maxValue:this.maxValue_,value:this.value,viewProps:this.viewProps}),this.ptHandler_=new n.PointerHandler(this.view.padElement),this.ptHandler_.emitter.on("down",this.onPointerDown_),this.ptHandler_.emitter.on("move",this.onPointerMove_),this.ptHandler_.emitter.on("up",this.onPointerUp_),this.view.padElement.addEventListener("keydown",this.onPadKeyDown_),this.view.padElement.addEventListener("keyup",this.onPadKeyUp_)}return e.prototype.handlePointerEvent_=function(e,l){if(e.point){var n=this.maxValue_,i=(0,t.mapRange)(e.point.x,0,e.bounds.width,-n,+n),a=(0,t.mapRange)(this.invertsY_?e.bounds.height-e.point.y:e.point.y,0,e.bounds.height,-n,+n);this.value.setRawValue(new V.Point2d(i,a),l)}},e.prototype.onPointerDown_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerMove_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!1,last:!1})},e.prototype.onPointerUp_=function(e){this.handlePointerEvent_(e.data,{forceEmit:!0,last:!0})},e.prototype.onPadKeyDown_=function(e){(0,l.isArrowKey)(e.key)&&e.preventDefault();var t=a(e,this.baseSteps_,this.invertsY_),n=t[0],i=t[1];0===n&&0===i||this.value.setRawValue(new V.Point2d(this.value.rawValue.x+n,this.value.rawValue.y+i),{forceEmit:!1,last:!1})},e.prototype.onPadKeyUp_=function(e){var t=a(e,this.baseSteps_,this.invertsY_),l=t[0],n=t[1];0===l&&0===n||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})},e}();e.Point2dPickerController=r})),Ll=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.Point2dController=void 0;var t=De(),l=gt(),n=je(),V=el(),i=me(),a=Hl(),r=Il(),s=Dl(),o=_l(),h=function(){function e(e,n){var i,h,d=this;this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.onPadButtonBlur_=this.onPadButtonBlur_.bind(this),this.onPadButtonClick_=this.onPadButtonClick_.bind(this),this.value=n.value,this.viewProps=n.viewProps,this.foldable_=t.Foldable.create(n.expanded),this.popC_="popup"===n.pickerLayout?new l.PopupController(e,{viewProps:this.viewProps}):null;var R=new o.Point2dPickerController(e,{baseSteps:[n.axes[0].baseStep,n.axes[1].baseStep],invertsY:n.invertsY,layout:n.pickerLayout,maxValue:n.maxValue,value:this.value,viewProps:this.viewProps});R.view.allFocusableElements.forEach((function(e){e.addEventListener("blur",d.onPopupChildBlur_),e.addEventListener("keydown",d.onPopupChildKeydown_)})),this.pickerC_=R,this.textC_=new a.PointNdTextController(e,{assembly:r.Point2dAssembly,axes:n.axes,parser:n.parser,value:this.value,viewProps:this.viewProps}),this.view=new s.Point2dView(e,{expanded:this.foldable_.value("expanded"),pickerLayout:n.pickerLayout,viewProps:this.viewProps}),this.view.textElement.appendChild(this.textC_.view.element),null===(i=this.view.buttonElement)||void 0===i||i.addEventListener("blur",this.onPadButtonBlur_),null===(h=this.view.buttonElement)||void 0===h||h.addEventListener("click",this.onPadButtonClick_),this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),(0,V.connectValues)({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:function(e){return e.rawValue},backward:function(e,t){return t.rawValue}})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),(0,t.bindFoldable)(this.foldable_,this.view.pickerElement))}return e.prototype.onPadButtonBlur_=function(e){if(this.popC_){var t=this.view.element,l=(0,i.forceCast)(e.relatedTarget);(!l||!t.contains(l))&&(this.popC_.shows.rawValue=!1)}},e.prototype.onPadButtonClick_=function(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.view.allFocusableElements[0].focus()},e.prototype.onPopupChildBlur_=function(e){if(this.popC_){var t=this.popC_.view.element,l=(0,n.findNextTarget)(e);l&&t.contains(l)||l&&l===this.view.buttonElement&&!(0,n.supportsTouch)(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}},e.prototype.onPopupChildKeydown_=function(e){this.popC_?"Escape"===e.key&&(this.popC_.shows.rawValue=!1):this.view.pickerElement&&"Escape"===e.key&&this.view.buttonElement.focus()},e}();e.Point2dController=h})),Kl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.writePoint2d=e.point2dFromUnknown=void 0;var t=Il();e.point2dFromUnknown=function(e){return t.Point2d.isObject(e)?new t.Point2d(e.x,e.y):new t.Point2d},e.writePoint2d=function(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y)}})),Pl=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Point2dInputPlugin=e.getSuitableMaxValue=e.createDimensionConstraint=void 0;var t=Yt(),l=Kt(),n=xe(),V=Qe(),i=Fe(),a=Ul(),r=Nn(),s=gl(),o=vl(),h=Ll(),d=Kl(),R=Il();function U(e,l){if(e){var n=[],V=(0,o.createStepConstraint)(e,l);V&&n.push(V);var i=(0,o.createRangeConstraint)(e);return i&&n.push(i),new t.CompositeConstraint(n)}}function c(e,t){var l=e?(0,o.findNumberRange)(e):[],n=l[0],V=l[1];if(!(0,r.isEmpty)(n)||!(0,r.isEmpty)(V))return Math.max(Math.abs(n??0),Math.abs(V??0));var i=(0,a.getBaseStep)(e);return Math.max(10*Math.abs(i),10*Math.abs(t))}function p(e,t){var l=t instanceof s.PointNdConstraint?t.components[0]:void 0,n=t instanceof s.PointNdConstraint?t.components[1]:void 0,V=c(l,e.x),i=c(n,e.y);return Math.max(V,i)}function Z(e,t){return{baseStep:(0,a.getBaseStep)(t),constraint:t,textProps:n.ValueMap.fromObject({draggingScale:(0,a.getSuitableDraggingScale)(t,e),formatter:(0,l.createNumberFormatter)((0,a.getSuitableDecimalDigits)(t,e))})}}function W(e){if(!("y"in e))return!1;var t=e.y;return!(!t||!("inverted"in t))&&!!t.inverted}e.createDimensionConstraint=U,e.getSuitableMaxValue=p,e.Point2dInputPlugin={id:"input-point2d",type:"input",accept:function(e,t){if(!R.Point2d.isObject(e))return null;var l=V.ParamsParsers,n=(0,V.parseParams)(t,{expanded:l.optional.boolean,picker:l.optional.custom(a.parsePickerLayout),x:l.optional.custom(a.parsePointDimensionParams),y:l.optional.object({inverted:l.optional.boolean,max:l.optional.number,min:l.optional.number,step:l.optional.number})});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return d.point2dFromUnknown}
1,constraint:function(e){return function(e,t){return new s.PointNdConstraint({assembly:R.Point2dAssembly,components:[U("x"in e?e.x:void 0,t.x),U("y"in e?e.y:void 0,t.y)]})}(e.params,e.initialValue)},equals:R.Point2d.equals,writer:function(e){return d.writePoint2d}},controller:function(e){var t=e.document,n=e.value,V=e.constraint;if(!(V instanceof s.PointNdConstraint))throw i.TpError.shouldNeverHappen();var a="expanded"in e.params?e.params.expanded:void 0,r="picker"in e.params?e.params.picker:void 0;return new h.Point2dController(t,{axes:[Z(n.rawValue.x,V.components[0]),Z(n.rawValue.y,V.components[1])],expanded:a??!1,invertsY:W(e.params),maxValue:p(n.rawValue,V),parser:l.parseNumber,pickerLayout:r??"popup",value:n,viewProps:e.viewProps})}}})),Al=o((e=>{var t=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.Point3dAssembly=e.Point3d=void 0;var l=me(),n=function(){function e(e,t,l){void 0===e&&(e=0),void 0===t&&(t=0),void 0===l&&(l=0),this.x=e,this.y=t,this.z=l}return e.prototype.getComponents=function(){return[this.x,this.y,this.z]},e.isObject=function(e){if((0,l.isEmpty)(e))return!1;var t=e.x,n=e.y,V=e.z;return!("number"!=typeof t||"number"!=typeof n||"number"!=typeof V)},e.equals=function(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z},e.prototype.toObject=function(){return{x:this.x,y:this.y,z:this.z}},e}();e.Point3d=n,e.Point3dAssembly={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return new(n.bind.apply(n,t([void 0],e,!1)))}}})),ql=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.writePoint3d=e.point3dFromUnknown=void 0;var t=Al();e.point3dFromUnknown=function(e){return t.Point3d.isObject(e)?new t.Point3d(e.x,e.y,e.z):new t.Point3d},e.writePoint3d=function(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z)}})),$l=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Point3dInputPlugin=void 0;var t=Kt(),l=xe(),n=Qe(),V=Fe(),i=Ul(),a=gl(),r=Hl(),s=Pl(),o=ql(),h=Al();function d(e,n){return{baseStep:(0,i.getBaseStep)(n),constraint:n,textProps:l.ValueMap.fromObject({draggingScale:(0,i.getSuitableDraggingScale)(n,e),formatter:(0,t.createNumberFormatter)((0,i.getSuitableDecimalDigits)(n,e))})}}e.Point3dInputPlugin={id:"input-point3d",type:"input",accept:function(e,t){if(!h.Point3d.isObject(e))return null;var l=n.ParamsParsers,V=(0,n.parseParams)(t,{x:l.optional.custom(i.parsePointDimensionParams),y:l.optional.custom(i.parsePointDimensionParams),z:l.optional.custom(i.parsePointDimensionParams)});return V?{initialValue:e,params:V}:null},binding:{reader:function(e){return o.point3dFromUnknown},constraint:function(e){return function(e,t){return new a.PointNdConstraint({assembly:h.Point3dAssembly,components:[(0,s.createDimensionConstraint)("x"in e?e.x:void 0,t.x),(0,s.createDimensionConstraint)("y"in e?e.y:void 0,t.y),(0,s.createDimensionConstraint)("z"in e?e.z:void 0,t.z)]})}(e.params,e.initialValue)},equals:h.Point3d.equals,writer:function(e){return o.writePoint3d}},controller:function(e){var l=e.value,n=e.constraint;if(!(n instanceof a.PointNdConstraint))throw V.TpError.shouldNeverHappen();return new r.PointNdTextController(e.document,{assembly:h.Point3dAssembly,axes:[d(l.rawValue.x,n.components[0]),d(l.rawValue.y,n.components[1]),d(l.rawValue.z,n.components[2])],parser:t.parseNumber,value:l,viewProps:e.viewProps})}}})),en=o((e=>{var t=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.Point4dAssembly=e.Point4d=void 0;var l=me(),n=function(){function e(e,t,l,n){void 0===e&&(e=0),void 0===t&&(t=0),void 0===l&&(l=0),void 0===n&&(n=0),this.x=e,this.y=t,this.z=l,this.w=n}return e.prototype.getComponents=function(){return[this.x,this.y,this.z,this.w]},e.isObject=function(e){if((0,l.isEmpty)(e))return!1;var t=e.x,n=e.y,V=e.z,i=e.w;return!("number"!=typeof t||"number"!=typeof n||"number"!=typeof V||"number"!=typeof i)},e.equals=function(e,t){return e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},e.prototype.toObject=function(){return{x:this.x,y:this.y,z:this.z,w:this.w}},e}();e.Point4d=n,e.Point4dAssembly={toComponents:function(e){return e.getComponents()},fromComponents:function(e){return new(n.bind.apply(n,t([void 0],e,!1)))}}})),tn=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.writePoint4d=e.point4dFromUnknown=void 0;var t=en();e.point4dFromUnknown=function(e){return t.Point4d.isObject(e)?new t.Point4d(e.x,e.y,e.z,e.w):new t.Point4d},e.writePoint4d=function(e,t){e.writeProperty("x",t.x),e.writeProperty("y",t.y),e.writeProperty("z",t.z),e.writeProperty("w",t.w)}})),ln=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Point4dInputPlugin=void 0;var t=Kt(),l=xe(),n=Qe(),V=Fe(),i=Ul(),a=gl(),r=Hl(),s=Pl(),o=tn(),h=en();e.Point4dInputPlugin={id:"input-point4d",type:"input",accept:function(e,t){if(!h.Point4d.isObject(e))return null;var l=n.ParamsParsers,V=(0,n.parseParams)(t,{x:l.optional.custom(i.parsePointDimensionParams),y:l.optional.custom(i.parsePointDimensionParams),z:l.optional.custom(i.parsePointDimensionParams),w:l.optional.custom(i.parsePointDimensionParams)});return V?{initialValue:e,params:V}:null},binding:{reader:function(e){return o.point4dFromUnknown},constraint:function(e){return function(e,t){return new a.PointNdConstraint({assembly:h.Point4dAssembly,components:[(0,s.createDimensionConstraint)("x"in e?e.x:void 0,t.x),(0,s.createDimensionConstraint)("y"in e?e.y:void 0,t.y),(0,s.createDimensionConstraint)("z"in e?e.z:void 0,t.z),(0,s.createDimensionConstraint)("w"in e?e.w:void 0,t.w)]})}(e.params,e.initialValue)},equals:h.Point4d.equals,writer:function(e){return o.writePoint4d}},controller:function(e){var n=e.value,s=e.constraint;if(!(s instanceof a.PointNdConstraint))throw V.TpError.shouldNeverHappen();return new r.PointNdTextController(e.document,{assembly:h.Point4dAssembly,axes:n.rawValue.getComponents().map((function(e,n){return function(e,n){return{baseStep:(0,i.getBaseStep)(n),constraint:n,textProps:l.ValueMap.fromObject({draggingScale:(0,i.getSuitableDraggingScale)(n,e),formatter:(0,t.createNumberFormatter)((0,i.getSuitableDecimalDigits)(n,e))})}}(e,s.components[n])})),parser:t.parseNumber,value:n,viewProps:e.viewProps})}}})),nn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StringInputPlugin=void 0;var t=Yt(),l=Xt(),n=Ct(),V=Ht(),i=qt(),a=xe(),r=Qe(),s=Rl(),o=Ul();e.StringInputPlugin={id:"input-string",type:"input",accept:function(e,t){if("string"!=typeof e)return null;var l=r.ParamsParsers,n=(0,r.parseParams)(t,{options:l.optional.custom(o.parseListOptions)});return n?{initialValue:e,params:n}:null},binding:{reader:function(e){return i.stringFromUnknown},constraint:function(e){return function(e){var l=[],n=(0,o.createListConstraint)(e.options);return n&&l.push(n),new t.CompositeConstraint(l)}(e.params)},writer:function(e){return s.writePrimitive}},controller:function(e){var r=e.document,s=e.value,o=e.constraint,h=o&&(0,t.findConstraint)(o,l.ListConstraint);return h?new n.ListController(r,{props:new a.ValueMap({options:h.values.value("options")}),value:s,viewProps:e.viewProps}):new V.TextController(r,{parser:function(e){return e},props:a.ValueMap.fromObject({formatter:i.formatString}),value:s,viewProps:e.viewProps})}}})),Vn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Constants=void 0,e.Constants={monitor:{defaultInterval:200,defaultLineCount:3}}})),an=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MultiLogView=void 0;var t=(0,be().ClassName)("mll"),l=function(){function e(e,l){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=l.formatter,this.element=e.createElement("div"),this.element.classList.add(t()),l.viewProps.bindClassModifiers(this.element);var n=e.createElement("textarea");n.classList.add(t("i")),n.style.height="calc(var(--bld-us) * ".concat(l.lineCount,")"),n.readOnly=!0,l.viewProps.bindDisabled(n),this.element.appendChild(n),this.textareaElem_=n,l.value.emitter.on("change",this.onValueUpdate_),this.value=l.value,this.update_()}return e.prototype.update_=function(){var e=this,t=this.textareaElem_,l=t.scrollTop===t.scrollHeight-t.clientHeight,n=[];this.value.rawValue.forEach((function(t){void 0!==t&&n.push(e.formatter_(t))})),t.textContent=n.join("\n"),l&&(t.scrollTop=t.scrollHeight)},e.prototype.onValueUpdate_=function(){this.update_()},e}();e.MultiLogView=l})),rn=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.MultiLogController=void 0;var t=an(),l=function(e,l){this.value=l.value,this.viewProps=l.viewProps,this.view=new t.MultiLogView(e,{formatter:l.formatter,lineCount:l.lineCount,value:this.value,viewProps:this.viewProps})};e.MultiLogController=l})),sn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SingleLogView=void 0;var t=(0,be().ClassName)("sgl"),l=function(){function e(e,l){this.onValueUpdate_=this.onValueUpdate_.bind(this),this.formatter_=l.formatter,this.element=e.createElement("div"),this.element.classList.add(t()),l.viewProps.bindClassModifiers(this.element);var n=e.createElement("input");n.classList.add(t("i")),n.readOnly=!0,n.type="text",l.viewProps.bindDisabled(n),this.element.appendChild(n),this.inputElement=n,l.value.emitter.on("change",this.onValueUpdate_),this.value=l.value,this.update_()}return e.prototype.update_=function(){var e=this.value.rawValue,t=e[e.length-1];this.inputElement.value=void 0!==t?this.formatter_(t):""},e.prototype.onValueUpdate_=function(){this.update_()},e}();e.SingleLogView=l})),on=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SingleLogController=void 0;var t=sn(),l=function(e,l){this.value=l.value,this.viewProps=l.viewProps,this.view=new t.SingleLogView(e,{formatter:l.formatter,value:this.value,viewProps:this.viewProps})};e.SingleLogController=l})),hn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BooleanMonitorPlugin=void 0;var t=It(),l=Qe(),n=Vn(),V=rn(),i=on();e.BooleanMonitorPlugin={id:"monitor-bool",type:"monitor",accept:function(e,t){if("boolean"!=typeof e)return null;var n=l.ParamsParsers,V=(0,l.parseParams)(t,{lineCount:n.optional.number});return V?{initialValue:e,params:V}:null},binding:{reader:function(e){return t.boolFromUnknown}},controller:function(e){var l;return 1===e.value.rawValue.length?new i.SingleLogController(e.document,{formatter:t.BooleanFormatter,value:e.value,viewProps:e.viewProps}):new V.MultiLogController(e.document,{formatter:t.BooleanFormatter,lineCount:null!==(l=e.params.lineCount)&&void 0!==l?l:n.Constants.monitor.defaultLineCount,value:e.value,viewProps:e.viewProps})}}})),dn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GraphLogView=void 0;var t=je(),l=nl(),n=be(),V=(0,n.ClassName)("grl"),i=function(){function e(e,l){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=e.createElement("div"),this.element.classList.add(V()),l.viewProps.bindClassModifiers(this.element),this.formatter_=l.formatter,this.props_=l.props,this.cursor_=l.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);var i=e.createElementNS(t.SVG_NS,"svg");i.classList.add(V("g")),i.style.height="calc(var(--bld-us) * ".concat(l.lineCount,")"),this.element.appendChild(i),this.svgElem_=i;var a=e.createElementNS(t.SVG_NS,"polyline");this.svgElem_.appendChild(a),this.lineElem_=a;var r=e.createElement("div");r.classList.add(V("t"),(0,n.ClassName)("tt")()),this.element.appendChild(r),this.tooltipElem_=r,l.value.emitter.on("change",this.onValueUpdate_),this.value=l.value,this.update_()}return Object.defineProperty(e.prototype,"graphElement",{get:function(){return this.svgElem_},enumerable:!1,configurable:!0}),e.prototype.update_=function(){var e=this.svgElem_.getBoundingClientRect(),n=this.value.rawValue.length-1,i=this.props_.get("minValue"),a=this.props_.get("maxValue"),r=[];this.value.rawValue.forEach((function(t,V){if(void 0!==t){var s=(0,l.mapRange)(V,0,n,0,e.width),o=(0,l.mapRange)(t,i,a,e.height,0);r.push([s,o].join(","))}})),this.lineElem_.setAttributeNS(null,"points",r.join(" "));var s=this.tooltipElem_,o=this.value.rawValue[this.cursor_.rawValue];if(void 0!==o){var h=(0,l.mapRange)(this.cursor_.rawValue,0,n,0,e.width),d=(0,l.mapRange)(o,i,a,e.height,0);s.style.left="".concat(h,"px"),s.style.top="".concat(d,"px"),s.textContent="".concat(this.formatter_(o)),s.classList.contains(V("t","a"))||(s.classList.add(V("t","a"),V("t","in")),(0,t.forceReflow)(s),s.classList.remove(V("t","in")))}else s.classList.remove(V("t","a"))},e.prototype.onValueUpdate_=function(){this.update_()},e.prototype.onCursorChange_=function(){this.update_()},e}();e.GraphLogView=i})),Rn=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.GraphLogController=void 0;var t=je(),l=Ye(),n=nl(),V=ll(),i=dn(),a=function(){function e(e,n){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props_=n.props,this.value=n.value,this.viewProps=n.viewProps,this.cursor_=(0,l.createValue)(-1),this.view=new i.GraphLogView(e,{cursor:this.cursor_,formatter:n.formatter,lineCount:n.lineCount,props:this.props_,value:this.value,viewProps:this.viewProps}),(0,t.supportsTouch)(e)){var a=new V.PointerHandler(this.view.element);a.emitter.on("down",this.onGraphPointerDown_),a.emitter.on("move",this.onGraphPointerMove_),a.emitter.on("up",this.onGraphPointerUp_)}else this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_)}return e.prototype.onGraphMouseLeave_=function(){this.cursor_.rawValue=-1},e.prototype.onGraphMouseMove_=function(e){var t=this.view.element.getBoundingClientRect();this.cursor_.rawValue=Math.floor((0,n.mapRange)(e.offsetX,0,t.width,0,this.value.rawValue.length))},e.prototype.onGraphPointerDown_=function(e){this.onGraphPointerMove_(e)},e.prototype.onGraphPointerMove_=function(e){e.data.point?this.cursor_.rawValue=Math.floor((0,n.mapRange)(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length)):this.cursor_.rawValue=-1},e.prototype.onGraphPointerUp_=function(){this.cursor_.rawValue=-1},e}();e.GraphLogController=a})),Un=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NumberMonitorPlugin=void 0;var t=Kt(),l=xe(),n=Qe(),V=Vn(),i=me(),a=rn(),r=on(),s=Rn();function o(e){return"format"in e&&!(0,i.isEmpty)(e.format)?e.format:(0,t.createNumberFormatter)(2)}function h(e){return"view"in e&&"graph"===e.view}e.NumberMonitorPlugin={id:"monitor-number",type:"monitor",accept:function(e,t){if("number"!=typeof e)return null;var l=n.ParamsParsers,V=(0,n.parseParams)(t,{format:l.optional.function,lineCount:l.optional.number,max:l.optional.number,min:l.optional.number,view:l.optional.string});return V?{initialValue:e,params:V}:null},binding:{defaultBufferSize:function(e){return h(e)?64:1},reader:function(e){return t.numberFromUnknown}},controller:function(e){return h(e.params)?function(e){var t,n,i;return new s.GraphLogController(e.document,{formatter:o(e.params),lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:V.Constants.monitor.defaultLineCount,props:l.ValueMap.fromObject({maxValue:null!==(n="max"in e.params?e.params.max:null)&&void 0!==n?n:100,minValue:null!==(i="min"in e.params?e.params.min:null)&&void 0!==i?i:0}),value:e.value,viewProps:e.viewProps})}(e):function(e){var t;return 1===e.value.rawValue.length?new r.SingleLogController(e.document,{formatter:o(e.params),value:e.value,viewProps:e.viewProps}):new a.MultiLogController(e.document,{formatter:o(e.params),lineCount:null!==(t=e.params.lineCount)&&void 0!==t?t:V.Constants.monitor.defaultLineCount,value:e.value,viewProps:e.viewProps})}(e)}}})),cn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StringMonitorPlugin=void 0;var t=qt(),l=Qe(),n=Vn(),V=rn(),i=on();e.StringMonitorPlugin={id:"monitor-string",type:"monitor",accept:function(e,t){if("string"!=typeof e)return null;var n=l.ParamsParsers,V=(0,l.parseParams)(t,{lineCount:n.optional.number,multiline:n.optional.boolean});return V?{initialValue:e,params:V}:null},binding:{reader:function(e){return t.stringFromUnknown}},controller:function(e){var l,a=e.value;return a.rawValue.length>1||"multiline"in e.params&&e.params.multiline?new V.MultiLogController(e.document,{formatter:t.formatString,lineCount:null!==(l=e.params.lineCount)&&void 0!==l?l:n.Constants.monitor.defaultLineCount,value:a,viewProps:e.viewProps}):new i.SingleLogController(e.document,{formatter:t.formatString,value:a,viewProps:e.viewProps})}}})),pn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0})}
1)),Zn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createInputBindingController=void 0;var t=Ie(),l=Pe(),n=Gt(),V=xe(),i=Ye(),a=ze(),r=Qe(),s=me();e.createInputBindingController=function(e,o){var h,d=e.accept(o.target.read(),o.params);if((0,s.isEmpty)(d))return null;var R=r.ParamsParsers,U={target:o.target,initialValue:d.initialValue,params:d.params},c=e.binding.reader(U),p=e.binding.constraint?e.binding.constraint(U):void 0,Z=(0,i.createValue)(c(d.initialValue),{constraint:p,equals:e.binding.equals}),W=new n.InputBinding({reader:c,target:o.target,value:Z,writer:e.binding.writer(U)}),m=R.optional.boolean(o.params.disabled).value,F=R.optional.boolean(o.params.hidden).value,N=e.controller({constraint:p,document:o.document,initialValue:d.initialValue,params:d.params,value:W.value,viewProps:a.ViewProps.create({disabled:m,hidden:F})});return new l.InputBindingController(o.document,{binding:W,blade:(0,t.createBlade)(),props:V.ValueMap.fromObject({label:"label"in o.params?null!==(h=R.optional.string(o.params.label).value)&&void 0!==h?h:null:o.target.key}),valueController:N})}})),Wn=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createMonitorBindingController=void 0;var t=Ie(),l=qe(),n=kt(),V=Jt(),i=St(),a=Mt(),r=xe(),s=ze(),o=Qe(),h=Vn(),d=me();function R(e,t){return 0===t?new i.ManualTicker:new V.IntervalTicker(e,t??h.Constants.monitor.defaultInterval)}e.createMonitorBindingController=function(e,V){var i,h,U,c=o.ParamsParsers,p=e.accept(V.target.read(),V.params);if((0,d.isEmpty)(p))return null;var Z={target:V.target,initialValue:p.initialValue,params:p.params},W=e.binding.reader(Z),m=null!==(h=null!==(i=c.optional.number(V.params.bufferSize).value)&&void 0!==i?i:e.binding.defaultBufferSize&&e.binding.defaultBufferSize(p.params))&&void 0!==h?h:1,F=c.optional.number(V.params.interval).value,N=new n.MonitorBinding({reader:W,target:V.target,ticker:R(V.document,F),value:(0,a.initializeBuffer)(m)}),u=c.optional.boolean(V.params.disabled).value,E=c.optional.boolean(V.params.hidden).value,b=e.controller({document:V.document,params:p.params,value:N.value,viewProps:s.ViewProps.create({disabled:u,hidden:E})});return new l.MonitorBindingController(V.document,{binding:N,blade:(0,t.createBlade)(),props:r.ValueMap.fromObject({label:"label"in V.params?null!==(U=c.optional.string(V.params.label).value)&&void 0!==U?U:null:V.target.key}),valueController:b})}})),mn=o((e=>{var t=e&&e.__spreadArray||function(e,t,l){if(l||2===arguments.length)for(var n,V=0,i=t.length;V<i;V++)(n||!(V in t))&&(n||(n=Array.prototype.slice.call(t,0,V)),n[V]=t[V]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.PluginPool=void 0;var l=Ke(),n=Pe(),V=Ae(),i=qe(),a=bt(),r=$e(),s=Vt(),o=Fe(),h=Zn(),d=me(),R=Wn(),U=function(){function e(){this.pluginsMap_={blades:[],inputs:[],monitors:[]}}return e.prototype.getAll=function(){return t(t(t([],this.pluginsMap_.blades,!0),this.pluginsMap_.inputs,!0),this.pluginsMap_.monitors,!0)},e.prototype.register=function(e){"blade"===e.type?this.pluginsMap_.blades.unshift(e):"input"===e.type?this.pluginsMap_.inputs.unshift(e):"monitor"===e.type&&this.pluginsMap_.monitors.unshift(e)},e.prototype.createInput=function(e,t,l){var n=t.read();if((0,d.isEmpty)(n))throw new o.TpError({context:{key:t.key},type:"nomatchingcontroller"});var V=this.pluginsMap_.inputs.reduce((function(n,V){return n??(0,h.createInputBindingController)(V,{document:e,target:t,params:l})}),null);if(V)return V;throw new o.TpError({context:{key:t.key},type:"nomatchingcontroller"})},e.prototype.createMonitor=function(e,t,l){var n=this.pluginsMap_.monitors.reduce((function(n,V){return n??(0,R.createMonitorBindingController)(V,{document:e,params:l,target:t})}),null);if(n)return n;throw new o.TpError({context:{key:t.key},type:"nomatchingcontroller"})},e.prototype.createBlade=function(e,t){var l=this.pluginsMap_.blades.reduce((function(l,n){return l??(0,a.createBladeController)(n,{document:e,params:t})}),null);if(!l)throw new o.TpError({type:"nomatchingview",context:{params:t}});return l},e.prototype.createBladeApi=function(e){var t=this;if(e instanceof n.InputBindingController)return new l.InputBindingApi(e);if(e instanceof i.MonitorBindingController)return new V.MonitorBindingApi(e);if(e instanceof s.RackController)return new r.RackApi(e,this);var a=this.pluginsMap_.blades.reduce((function(l,n){return l??n.api({controller:e,pool:t})}),null);if(!a)throw o.TpError.shouldNeverHappen();return a},e}();e.PluginPool=U})),Fn=o((e=>
1{Object.defineProperty(e,"__esModule",{value:!0}),e.createDefaultPluginPool=void 0;var t=He(),l=st(),n=Ut(),V=Et(),i=Zl(),a=yl(),r=Cl(),s=jl(),o=vl(),h=Pl(),d=$l(),R=ln(),U=nn(),c=hn(),p=Un(),Z=cn(),W=mn();e.createDefaultPluginPool=function(){var e=new W.PluginPool;return[h.Point2dInputPlugin,d.Point3dInputPlugin,R.Point4dInputPlugin,U.StringInputPlugin,o.NumberInputPlugin,s.StringColorInputPlugin,r.ObjectColorInputPlugin,a.NumberColorInputPlugin,i.BooleanInputPlugin,c.BooleanMonitorPlugin,Z.StringMonitorPlugin,p.NumberMonitorPlugin,t.ButtonBladePlugin,l.FolderBladePlugin,n.SeparatorBladePlugin,V.TabBladePlugin].forEach((function(t){e.register(t)})),e}})),Nn=o((e=>{var t=e&&e.__createBinding||(Object.create?function(e,t,l,n){void 0===n&&(n=l);var V=Object.getOwnPropertyDescriptor(t,l);(!V||("get"in V?!t.__esModule:V.writable||V.configurable))&&(V={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,n,V)}:function(e,t,l,n){void 0===n&&(n=l),e[n]=t[l]}),l=e&&e.__exportStar||function(e,l){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(l,n)&&t(l,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createBladeController=void 0,l(ce(),e),l(pe(),e),l(Ze(),e),l(We(),e),l(Ne(),e),l(ue(),e),l(Ge(),e),l(Te(),e),l(He(),e),l(Ce(),e),l(ve(),e),l(ye(),e),l(Ie(),e),l(De(),e),l(et(),e),l(rt(),e),l(at(),e),l(st(),e),l(Ke(),e),l(Pe(),e),l(Be(),e),l(ot(),e),l(ge(),e),l(Ae(),e),l(qe(),e),l(ht(),e),l(Rt(),e),l(Ut(),e),l(mt(),e),l(Wt(),e),l(ut(),e),l(Zt(),e),l(Et(),e);var n=bt();Object.defineProperty(e,"createBladeController",{enumerable:!0,get:function(){return n.createBladeController}}),l(St(),e),l(Jt(),e),l(Tt(),e),l(Gt(),e),l(kt(),e),l(Yt(),e),l(xt(),e),l(Qt(),e),l(Xt(),e),l(wt(),e),l(ft(),e),l(zt(),e),l(Ct(),e),l(gt(),e),l(Ht(),e),l(vt(),e),l(It(),e),l(Dt(),e),l(Kt(),e),l(Pt(),e),l(At(),e),l(qt(),e),l(Mt(),e),l(Ee(),e),l(Se(),e),l($t(),e),l(xe(),e),l(el(),e),l(Ye(),e),l(ze(),e),l(il(),e),l(rl(),e),l(ol(),e),l(Vl(),e),l(al(),e),l(sl(),e),l(be(),e),l(yt(),e),l(lt(),e),l(ll(),e),l(jt(),e),l(Je(),e),l(Bt(),e),l(hl(),e),l(Xe(),e),l(je(),e),l(nl(),e),l(Qe(),e),l(dl(),e),l(Rl(),e),l(Fe(),e),l(tl(),e),l(Ul(),e),l(pl(),e),l(Zl(),e),l(wl(),e),l(fl(),e),l(El(),e),l(Fl(),e),l(yl(),e),l(Cl(),e),l(jl(),e),l(gl(),e),l(Hl(),e),l(vl(),e),l(Ll(),e),l(Pl(),e),l($l(),e),l(ln(),e),l(nn(),e),l(Vn(),e),l(me(),e),l(hn(),e),l(rn(),e),l(on(),e),l(Rn(),e),l(Un(),e),l(cn(),e),l(pn(),e),l(Fn(),e),l(mn(),e)})),un=o(((e,t)=>{var n,V;n=e,V=function(e){class t{constructor(e){this.controller_=e}get element(){return this.controller_.view.element}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(e){this.controller_.viewProps.set("disabled",e)}get hidden(){return this.controller_.viewProps.get("hidden")}set hidden(e){this.controller_.viewProps.set("hidden",e)}dispose(){this.controller_.viewProps.set("disposed",!0)}}class l{constructor(e){this.target=e}}class n extends l{constructor(e,t,l,n){super(e),this.value=t,this.presetKey=l,this.last=n??!0}}function V(e){return null==e}let i={alreadydisposed:()=>"View has been already disposed",invalidparams:e=>`Invalid parameters for '${e.name}'`,nomatchingcontroller:e=>`No matching controller for '${e.key}'`,nomatchingview:e=>`No matching view for '${JSON.stringify(e.params)}'`,notbindable:()=>"Value is not bindable",propertynotfound:e=>`Property '${e.name}' not found`,shouldneverhappen:()=>"This error should never happen"};class a{constructor(e){var t;this.message=null!==(t=i[e.type](e.context))&&void 0!==t?t:"Unexpected error",this.name=this.constructor.name,this.stack=new Error(this.message).stack,this.type=e.type}static alreadyDisposed(){return new a({type:"alreadydisposed"})}static notBindable(){return new a({type:"notbindable"})}static propertyNotFound(e){return new a({type:"propertynotfound",context:{name:e}})}static shouldNeverHappen(){return new a({type:"shouldneverhappen"})}}
1class r{constructor(){this.observers_={}}on(e,t){let l=this.observers_[e];return l||(l=this.observers_[e]=[]),l.push({handler:t}),this}off(e,t){let l=this.observers_[e];return l&&(this.observers_[e]=l.filter((e=>e.handler!==t))),this}emit(e,t){let l=this.observers_[e];l&&l.forEach((e=>{e.handler(t)}))}}let s="tp";function o(e){return(t,l)=>[s,"-",e,"v",t?`_${t}`:"",l?`-${l}`:""].join("")}function h(e){return e.rawValue}function d(e,t){e.emitter.on("change",function(e,t){return l=>t(e(l))}(h,t)),t(e.rawValue)}function R(e,t,l){d(e.value(t),l)}function U(e,t){return l=>{!function(e,t,l){l?e.classList.add(t):e.classList.remove(t)}(e,t,l)}}let c=o("btn");class p{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(c()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("button");l.classList.add(c("b")),t.viewProps.bindDisabled(l),this.element.appendChild(l),this.buttonElement=l;let n=e.createElement("div");n.classList.add(c("t")),function(e,t){d(e,(e=>{t.textContent=e??""}))}(t.props.value("title"),n),this.buttonElement.appendChild(n)}}class Z{constructor(e,t){this.emitter=new r,this.onClick_=this.onClick_.bind(this),this.props=t.props,this.viewProps=t.viewProps,this.view=new p(e,{props:this.props,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("click",this.onClick_)}onClick_(){this.emitter.emit("click",{sender:this})}}class W{constructor(e,t){var l;this.constraint_=t?.constraint,this.equals_=null!==(l=t?.equals)&&void 0!==l?l:(e,t)=>e===t,this.emitter=new r,this.rawValue_=e}get constraint(){return this.constraint_}get rawValue(){return this.rawValue_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){let l=t??{forceEmit:!1,last:!0},n=this.constraint_?this.constraint_.constrain(e):e,V=this.rawValue_;this.equals_(V,n)&&!l.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.rawValue_=n,this.emitter.emit("change",{options:l,previousRawValue:V,rawValue:n,sender:this}))}}class m{constructor(e){this.emitter=new r,this.value_=e}get rawValue(){return this.value_}set rawValue(e){this.setRawValue(e,{forceEmit:!1,last:!0})}setRawValue(e,t){let l=t??{forceEmit:!1,last:!0},n=this.value_;n===e&&!l.forceEmit||(this.emitter.emit("beforechange",{sender:this}),this.value_=e,this.emitter.emit("change",{options:l,previousRawValue:n,rawValue:this.value_,sender:this}))}}function F(e,t){let l=t?.constraint,n=t?.equals;return l||n?new W(e,t):new m(e)}class N{constructor(e){this.emitter=new r,this.valMap_=e;for(let e in this.valMap_)this.valMap_[e].emitter.on("change",(()=>{this.emitter.emit("change",{key:e,sender:this})}))}static createCore(e){return Object.keys(e).reduce(((t,l)=>Object.assign(t,{[l]:F(e[l])})),{})}static fromObject(e){let t=this.createCore(e);return new N(t)}get(e){return this.valMap_[e].rawValue}set(e,t){this.valMap_[e].rawValue=t}value(e){return this.valMap_[e]}}function u(e){return t=>l=>{if(!t&&void 0===l)return{succeeded:!1,value:void 0};if(t&&void 0===l)return{succeeded:!0,value:void 0};let n=e(l);return void 0!==n?{succeeded:!0,value:n}:{succeeded:!1,value:void 0}}}function E(e){return{custom:t=>u(t)(e),boolean:u((e=>"boolean"==typeof e?e:void 0))(e),number:u((e=>"number"==typeof e?e:void 0))(e),string:u((e=>"string"==typeof e?e:void 0))(e),function:u((e=>"function"==typeof e?e:void 0))(e),constant:t=>u((e=>e===t?t:void 0))(e),raw:u((e=>e))(e),object:t=>u((e=>{if(function(e){return null!==e&&"object"==typeof e}(e))return function(e,t){return Object.keys(t).reduce(((l,n)=>{if(void 0===l)return;let V=(0,t[n])(e[n]);return V.succeeded?Object.assign(Object.assign({},l),{[n]:V.value}):void 0}),{})}(e,t)}))(e),array:t=>u((e=>{if(Array.isArray(e))return function(e,t){return e.reduce(((e,l)=>{if(void 0===e)return;let n=t(l);return n.succeeded&&void 0!==n.value?[...e,n.value]:void 0}),[])}(e,t)}))(e)}}let b={optional:E(!0),required:E(!1)};function S(e,t){let l=b.required.object(t)(e);return l.succeeded?l.value:void 0}class J{constructor(e){this.value_=e}static create(e){return[new J(e),(t,l)=>{e.setRawValue(t,l)}]}get emitter(){return this.value_.emitter}get rawValue(){return this.value_.rawValue}}let T=o("");function G(e,t){return U(e,T(void 0,t))}class M extends N{constructor(e){var t;super(e),this.onDisabledChange_=this.onDisabledChange_.bind(this),this.onParentChange_=this.onParentChange_.bind(this),this.onParentGlobalDisabledChange_=this.onParentGlobalDisabledChange_.bind(this),[this.globalDisabled_,this.setGlobalDisabled_]=J.create(F(this.getGlobalDisabled_())),this.value("disabled").emitter.on("change",this.onDisabledChange_),this.value("parent").emitter.on("change",this.onParentChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_)}static create(e){var t,l,n;let V=e??{};return new M(N.createCore({disabled:null!==(t=V.disabled)&&void 0!==t&&t,disposed:!1,hidden:null!==(l=V.hidden)&&void 0!==l&&l,parent:null!==(n=V.parent)&&void 0!==n?n:null}))}get globalDisabled(){return this.globalDisabled_}bindClassModifiers(e){d(this.globalDisabled_,G(e,"disabled")),R(this,"hidden",G(e,"hidden"))}bindDisabled(e){d(this.globalDisabled_,(t=>{e.disabled=t}))}bindTabIndex(e){d(this.globalDisabled_,(t=>{e.tabIndex=t?-1:0}))}handleDispose(e){this.value("disposed").emitter.on("change",(t=>{t&&e()}))}getGlobalDisabled_(){let e=this.get("parent");return!!e&&e.globalDisabled.rawValue||this.get("disabled")}updateGlobalDisabled_(){this.setGlobalDisabled_(this.getGlobalDisabled_())}onDisabledChange_(){this.updateGlobalDisabled_()}onParentGlobalDisabledChange_(){this.updateGlobalDisabled_()}onParentChange_(e){var t;let l=e.previousRawValue;l?.globalDisabled.emitter.off("change",this.onParentGlobalDisabledChange_),null===(t=this.get("parent"))||void 0===t||t.globalDisabled.emitter.on("change",this.onParentGlobalDisabledChange_),this.updateGlobalDisabled_()}}let k=o(""),Y={veryfirst:"vfst",first:"fst",last:"lst",verylast:"vlst"};class x{constructor(e){this.parent_=null,this.blade=e.blade,this.view=e.view,this.viewProps=e.viewProps;let t=this.view.element;this.blade.value("positions").emitter.on("change",(()=>{["veryfirst","first","last","verylast"].forEach((e=>{t.classList.remove(k(void 0,Y[e]))})),this.blade.get("positions").forEach((e=>{t.classList.add(k(void 0,Y[e]))}))})),this.viewProps.handleDispose((()=>{var e;(e=t)&&e.parentElement&&e.parentElement.removeChild(e)}))}get parent(){return this.parent_}set parent(e){if(this.parent_=e,!("parent"in this.viewProps.valMap_))return t={key:"parent",target:M.name,place:"BladeController.parent"},void console.warn([`Missing '${t.key}' of ${t.target} in ${t.place}.`,"Please rebuild plugins with the latest core package."].join(" "));var t;this.viewProps.set("parent",this.parent_?this.parent_.viewProps:null)}}let Q="http://www.w3.org/2000/svg";function X(e){e.offsetHeight}function w(e){return void 0!==e.ontouchstart}let f=o("lbl");class z{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(f()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(f("l")),R(t.props,"label",(t=>{V(t)?this.element.classList.add(f(void 0,"nol")):(this.element.classList.remove(f(void 0,"nol")),function(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])}(l),l.appendChild(function(e,t){let l=e.createDocumentFragment();return t.split("\n").map((t=>
1e.createTextNode(t))).forEach(((t,n)=>{n>0&&l.appendChild(e.createElement("br")),l.appendChild(t)})),l}(e,t)))})),this.element.appendChild(l),this.labelElement=l;let n=e.createElement("div");n.classList.add(f("v")),this.element.appendChild(n),this.valueElement=n}}class y extends x{constructor(e,t){let l=t.valueController.viewProps;super(Object.assign(Object.assign({},t),{view:new z(e,{props:t.props,viewProps:l}),viewProps:l})),this.props=t.props,this.valueController=t.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}}class C extends x{constructor(e){super(e),this.value=e.value}}class j extends N{constructor(e){super(e)}static create(e){let t={completed:!0,expanded:e,expandedHeight:null,shouldFixHeight:!1,temporaryExpanded:null},l=N.createCore(t);return new j(l)}get styleExpanded(){var e;return null!==(e=this.get("temporaryExpanded"))&&void 0!==e?e:this.get("expanded")}get styleHeight(){if(!this.styleExpanded)return"0";let e=this.get("expandedHeight");return this.get("shouldFixHeight")&&!V(e)?`${e}px`:"auto"}bindExpandedClass(e,t){let l=()=>{this.styleExpanded?e.classList.add(t):e.classList.remove(t)};R(this,"expanded",l),R(this,"temporaryExpanded",l)}cleanUpTransition(){this.set("shouldFixHeight",!1),this.set("expandedHeight",null),this.set("completed",!0)}}function g(e,t){t.style.height=e.styleHeight}function B(e,t){e.value("expanded").emitter.on("beforechange",(()=>{e.set("completed",!1),V(e.get("expandedHeight"))&&e.set("expandedHeight",function(e,t){let l=0;return function(e,t){let l=e.style.transition;e.style.transition="none",t(),e.style.transition=l}(t,(()=>{e.set("expandedHeight",null),e.set("temporaryExpanded",!0),X(t),l=t.clientHeight,e.set("temporaryExpanded",null),X(t)})),l}(e,t)),e.set("shouldFixHeight",!0),X(t)})),e.emitter.on("change",(()=>{g(e,t)})),g(e,t),t.addEventListener("transitionend",(t=>{"height"===t.propertyName&&e.cleanUpTransition()}))}class H{constructor(e,t){let l=o(t.viewName);this.element=e.createElement("div"),this.element.classList.add(l()),t.viewProps.bindClassModifiers(this.element)}}class v extends C{constructor(e,t){let l=t.valueController.viewProps;super(Object.assign(Object.assign({},t),{value:t.valueController.value,view:new z(e,{props:t.props,viewProps:l}),viewProps:l})),this.props=t.props,this.valueController=t.valueController,this.view.valueElement.appendChild(this.valueController.view.element)}}class I{constructor(){this.disabled=!1,this.emitter=new r}dispose(){}tick(){this.disabled||this.emitter.emit("tick",{sender:this})}}class D{constructor(e,t){this.disabled_=!1,this.timerId_=null,this.onTick_=this.onTick_.bind(this),this.doc_=e,this.emitter=new r,this.interval_=t,this.setTimer_()}get disabled(){return this.disabled_}set disabled(e){this.disabled_=e,this.disabled_?this.clearTimer_():this.setTimer_()}dispose(){this.clearTimer_()}clearTimer_(){if(null===this.timerId_)return;let e=this.doc_.defaultView;e&&e.clearInterval(this.timerId_),this.timerId_=null}setTimer_(){if(this.clearTimer_(),this.interval_<=0)return;let e=this.doc_.defaultView;e&&(this.timerId_=e.setInterval(this.onTick_,this.interval_))}onTick_(){this.disabled_||this.emitter.emit("tick",{sender:this})}}class O{constructor(e){this.constraints=e}constrain(e){return this.constraints.reduce(((e,t)=>t.constrain(e)),e)}}function _(e,t){if(e instanceof t)return e;if(e instanceof O){let l=e.constraints.reduce(((e,l)=>e||(l instanceof t?l:null)),null);if(l)return l}return null}class L{constructor(e){this.values=N.fromObject({max:e.max,min:e.min})}constrain(e){let t=this.values.get("max"),l=this.values.get("min");return Math.min(Math.max(e,l),t)}}class K{constructor(e){this.values=N.fromObject({max:e.max,min:e.min})}get maxValue(){return this.values.get("max")}get minValue(){return this.values.get("min")}constrain(e){let t=this.values.get("max"),l=this.values.get("min"),n=e;return V(l)||(n=Math.max(n,l)),V(t)||(n=Math.min(n,t)),n}}class P{constructor(e,t=0){this.step=e,this.origin=t}constrain(e){let t=this.origin%this.step;return t+Math.round((e-t)/this.step)*this.step}}let A=o("pop");class q{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(A()),t.viewProps.bindClassModifiers(this.element),d(t.shows,U(this.element,A(void 0,"v")))}}class ${constructor(e,t){this.shows=F(!1),this.viewProps=t.viewProps,this.view=new q(e,{shows:this.shows,viewProps:this.viewProps})}}let ee=o("txt");class te{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(ee()),t.viewProps.bindClassModifiers(this.element),this.props_=t.props,this.props_.emitter.on("change",this.onChange_);let l=e.createElement("input");l.classList.add(ee("i")),l.type="text",t.viewProps.bindDisabled(l),this.element.appendChild(l),this.inputElement=l,t.value.emitter.on("change",this.onChange_),this.value_=t.value,this.refresh()}refresh(){let e=this.props_.get("formatter");this.inputElement.value=e(this.value_.rawValue)}onChange_(){this.refresh()}}class le{constructor(e,t){this.onInputChange_=this.onInputChange_.bind(this),this.parser_=t.parser,this.props=t.props,this.value=t.value,this.viewProps=t.viewProps,this.view=new te(e,{props:t.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_)}onInputChange_(e){let t=e.currentTarget.value,l=this.parser_(t);V(l)||(this.value.rawValue=l),this.view.refresh()}}function ne(e){return"false"!==e&&!!e}class Ve{constructor(e){this.text=e}evaluate(){return Number(this.text)}toString(){return this.text}}let ie={"**":(e,t)=>
1Math.pow(e,t),"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t,"&":(e,t)=>e&t,"^":(e,t)=>e^t,"|":(e,t)=>e|t};class ae{constructor(e,t,l){this.left=t,this.operator=e,this.right=l}evaluate(){let e=ie[this.operator];if(!e)throw new Error(`unexpected binary operator: '${this.operator}`);return e(this.left.evaluate(),this.right.evaluate())}toString(){return["b(",this.left.toString(),this.operator,this.right.toString(),")"].join(" ")}}let re={"+":e=>e,"-":e=>-e,"~":e=>~e};class se{constructor(e,t){this.operator=e,this.expression=t}evaluate(){let e=re[this.operator];if(!e)throw new Error(`unexpected unary operator: '${this.operator}`);return e(this.expression.evaluate())}toString(){return["u(",this.operator,this.expression.toString(),")"].join(" ")}}function oe(e){return(t,l)=>{for(let n=0;n<e.length;n++){let V=e[n](t,l);if(""!==V)return V}return""}}function he(e,t){var l;let n=e.substr(t).match(/^\s+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}function de(e,t){var l;let n=e.substr(t).match(/^[0-9]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}function Re(e,t){let l=e.substr(t,1);if(t+=1,"e"!==l.toLowerCase())return"";let n=function(e,t){let l=de(e,t);if(""!==l)return l;let n=e.substr(t,1);if("-"!==n&&"+"!==n)return"";let V=de(e,t+=1);return""===V?"":n+V}(e,t);return""===n?"":l+n}function Ue(e,t){let l=e.substr(t,1);if("0"===l)return l;let n=function(e,t){let l=e.substr(t,1);return l.match(/^[1-9]$/)?l:""}(e,t);return t+=n.length,""===n?"":n+de(e,t)}let ce=oe([function(e,t){let l=Ue(e,t);if(t+=l.length,""===l)return"";let n=e.substr(t,1);if(t+=n.length,"."!==n)return"";let V=de(e,t);return l+n+V+Re(e,t+=V.length)},function(e,t){let l=e.substr(t,1);if(t+=l.length,"."!==l)return"";let n=de(e,t);return t+=n.length,""===n?"":l+n+Re(e,t)},function(e,t){let l=Ue(e,t);return t+=l.length,""===l?"":l+Re(e,t)}]),pe=oe([function(e,t){let l=e.substr(t,2);if(t+=l.length,"0b"!==l.toLowerCase())return"";let n=function(e,t){var l;let n=e.substr(t).match(/^[01]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n},function(e,t){let l=e.substr(t,2);if(t+=l.length,"0o"!==l.toLowerCase())return"";let n=function(e,t){var l;let n=e.substr(t).match(/^[0-7]+/);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n},function(e,t){let l=e.substr(t,2);if(t+=l.length,"0x"!==l.toLowerCase())return"";let n=function(e,t){var l;let n=e.substr(t).match(/^[0-9a-f]+/i);return null!==(l=n&&n[0])&&void 0!==l?l:""}(e,t);return""===n?"":l+n}]),Ze=oe([pe,ce]);function We(e,t){var l;return null!==(l=function(e,t){let l=Ze(e,t);return t+=l.length,""===l?null:{evaluable:new Ve(l),cursor:t}}(e,t))&&void 0!==l?l:function(e,t){let l=e.substr(t,1);if(t+=l.length,"("!==l)return null;let n=Ne(e,t);if(!n)return null;t=n.cursor,t+=he(e,t).length;let V=e.substr(t,1);return t+=V.length,")"!==V?null:{evaluable:n.evaluable,cursor:t}}(e,t)}function me(e,t,l){l+=he(t,l).length;let n=e.filter((e=>t.startsWith(e,l)))[0];return n?(l+=n.length,{cursor:l+=he(t,l).length,operator:n}):null}let Fe=[["**"],["*","/","%"],["+","-"],["<<",">>>",">>"],["&"],["^"],["|"]].reduce(((e,t)=>function(e,t){return(l,n)=>{let V=e(l,n);if(!V)return null;n=V.cursor;let i=V.evaluable;for(;;){let V=me(t,l,n);if(!V)break;n=V.cursor;let a=e(l,n);if(!a)return null;n=a.cursor,i=new ae(V.operator,i,a.evaluable)}return i?{cursor:n,evaluable:i}:null}}(e,t)),(function e(t,l){let n=We(t,l);if(n)return n;let V=t.substr(l,1);if(l+=V.length,"+"!==V&&"-"!==V&&"~"!==V)return null;let i=e(t,l);return i?{cursor:l=i.cursor,evaluable:new se(V,i.evaluable)}:null}));function Ne(e,t){return t+=he(e,t).length,Fe(e,t)}function ue(e){var t;let l=function(e){let t=Ne(e,0);return t&&t.cursor+he(e,t.cursor).length===e.length?t.evaluable:null}(e);return null!==(t=l?.evaluate())&&void 0!==t?t:null}function Ee(e){if("number"==typeof e)return e;if("string"==typeof e){let t=ue(e);if(!V(t))return t}return 0}function be(e){return t=>t.toFixed(Math.max(Math.min(e,20),0))}function Se(e){return String(e)}function Je(e,t){for(;e.length<t;)e.push(void 0)}function Te(e){let t=[];return Je(t,e),F(t)}function Ge(e){let t=e.indexOf(void 0);return t<0?e:e.slice(0,t)}function Me({primary:e,secondary:t,forward:l,backward:n}){let V=!1;function i(e){V||(V=!0,e(),V=!1)}e.emitter.on("change",(n=>{i((()=>{t.setRawValue(l(e,t),n.options)}))})),t.emitter.on("change",(V=>{i((()=>{e.setRawValue(n(e,t),V.options)})),i((()=>{t.setRawValue(l(e,t),V.options)}))})),i((()=>{t.setRawValue(l(e,t),{forceEmit:!1,last:!0})}
1))}function ke(e,t){let l=e*(t.altKey?.1:1)*(t.shiftKey?10:1);return t.upKey?+l:t.downKey?-l:0}function Ye(e){return{altKey:e.altKey,downKey:"ArrowDown"===e.key,shiftKey:e.shiftKey,upKey:"ArrowUp"===e.key}}function xe(e){return{altKey:e.altKey,downKey:"ArrowLeft"===e.key,shiftKey:e.shiftKey,upKey:"ArrowRight"===e.key}}function Qe(e){return function(e){return"ArrowUp"===e||"ArrowDown"===e}(e)||"ArrowLeft"===e||"ArrowRight"===e}function Xe(e,t){var l,n;let V=t.ownerDocument.defaultView,i=t.getBoundingClientRect();return{x:e.pageX-((null!==(l=V&&V.scrollX)&&void 0!==l?l:0)+i.left),y:e.pageY-((null!==(n=V&&V.scrollY)&&void 0!==n?n:0)+i.top)}}be(0);class we{constructor(e){this.lastTouch_=null,this.onDocumentMouseMove_=this.onDocumentMouseMove_.bind(this),this.onDocumentMouseUp_=this.onDocumentMouseUp_.bind(this),this.onMouseDown_=this.onMouseDown_.bind(this),this.onTouchEnd_=this.onTouchEnd_.bind(this),this.onTouchMove_=this.onTouchMove_.bind(this),this.onTouchStart_=this.onTouchStart_.bind(this),this.elem_=e,this.emitter=new r,e.addEventListener("touchstart",this.onTouchStart_,{passive:!1}),e.addEventListener("touchmove",this.onTouchMove_,{passive:!0}),e.addEventListener("touchend",this.onTouchEnd_),e.addEventListener("mousedown",this.onMouseDown_)}computePosition_(e){let t=this.elem_.getBoundingClientRect();return{bounds:{width:t.width,height:t.height},point:e?{x:e.x,y:e.y}:null}}onMouseDown_(e){var t;e.preventDefault(),null===(t=e.currentTarget)||void 0===t||t.focus();let l=this.elem_.ownerDocument;l.addEventListener("mousemove",this.onDocumentMouseMove_),l.addEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(Xe(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseMove_(e){this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(Xe(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onDocumentMouseUp_(e){let t=this.elem_.ownerDocument;t.removeEventListener("mousemove",this.onDocumentMouseMove_),t.removeEventListener("mouseup",this.onDocumentMouseUp_),this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(Xe(e,this.elem_)),sender:this,shiftKey:e.shiftKey})}onTouchStart_(e){e.preventDefault();let t=e.targetTouches.item(0),l=this.elem_.getBoundingClientRect();this.emitter.emit("down",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-l.left,y:t.clientY-l.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchMove_(e){let t=e.targetTouches.item(0),l=this.elem_.getBoundingClientRect();this.emitter.emit("move",{altKey:e.altKey,data:this.computePosition_(t?{x:t.clientX-l.left,y:t.clientY-l.top}:void 0),sender:this,shiftKey:e.shiftKey}),this.lastTouch_=t}onTouchEnd_(e){var t;let l=null!==(t=e.targetTouches.item(0))&&void 0!==t?t:this.lastTouch_,n=this.elem_.getBoundingClientRect();this.emitter.emit("up",{altKey:e.altKey,data:this.computePosition_(l?{x:l.clientX-n.left,y:l.clientY-n.top}:void 0),sender:this,shiftKey:e.shiftKey})}}function fe(e,t,l,n,V){return n+(e-t)/(l-t)*(V-n)}function ze(e){return String(e.toFixed(10)).split(".")[1].replace(/0+$/,"").length}function ye(e,t,l){return Math.min(Math.max(e,t),l)}let Ce=o("txt");class je{constructor(e,t){this.onChange_=this.onChange_.bind(this),this.props_=t.props,this.props_.emitter.on("change",this.onChange_),this.element=e.createElement("div"),this.element.classList.add(Ce(),Ce(void 0,"num")),t.arrayPosition&&this.element.classList.add(Ce(void 0,t.arrayPosition)),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("input");l.classList.add(Ce("i")),l.type="text",t.viewProps.bindDisabled(l),this.element.appendChild(l),this.inputElement=l,this.onDraggingChange_=this.onDraggingChange_.bind(this),this.dragging_=t.dragging,this.dragging_.emitter.on("change",this.onDraggingChange_),this.element.classList.add(Ce()),this.inputElement.classList.add(Ce("i"));let n=e.createElement("div");n.classList.add(Ce("k")),this.element.appendChild(n),this.knobElement=n;let V=e.createElementNS(Q,"svg");V.classList.add(Ce("g")),this.knobElement.appendChild(V);let i=e.createElementNS(Q,"path");
1i.classList.add(Ce("gb")),V.appendChild(i),this.guideBodyElem_=i;let a=e.createElementNS(Q,"path");a.classList.add(Ce("gh")),V.appendChild(a),this.guideHeadElem_=a;let r=e.createElement("div");r.classList.add(o("tt")()),this.knobElement.appendChild(r),this.tooltipElem_=r,t.value.emitter.on("change",this.onChange_),this.value=t.value,this.refresh()}onDraggingChange_(e){if(null===e.rawValue)return void this.element.classList.remove(Ce(void 0,"drg"));this.element.classList.add(Ce(void 0,"drg"));let t=e.rawValue/this.props_.get("draggingScale"),l=t+(t>0?-1:t<0?1:0),n=ye(-l,-4,4);this.guideHeadElem_.setAttributeNS(null,"d",[`M ${l+n},0 L${l},4 L${l+n},8`,`M ${t},-1 L${t},9`].join(" ")),this.guideBodyElem_.setAttributeNS(null,"d",`M 0,4 L${t},4`);let V=this.props_.get("formatter");this.tooltipElem_.textContent=V(this.value.rawValue),this.tooltipElem_.style.left=`${t}px`}refresh(){let e=this.props_.get("formatter");this.inputElement.value=e(this.value.rawValue)}onChange_(){this.refresh()}}class ge{constructor(e,t){var l;this.originRawValue_=0,this.onInputChange_=this.onInputChange_.bind(this),this.onInputKeyDown_=this.onInputKeyDown_.bind(this),this.onInputKeyUp_=this.onInputKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.baseStep_=t.baseStep,this.parser_=t.parser,this.props=t.props,this.sliderProps_=null!==(l=t.sliderProps)&&void 0!==l?l:null,this.value=t.value,this.viewProps=t.viewProps,this.dragging_=F(null),this.view=new je(e,{arrayPosition:t.arrayPosition,dragging:this.dragging_,props:this.props,value:this.value,viewProps:this.viewProps}),this.view.inputElement.addEventListener("change",this.onInputChange_),this.view.inputElement.addEventListener("keydown",this.onInputKeyDown_),this.view.inputElement.addEventListener("keyup",this.onInputKeyUp_);let n=new we(this.view.knobElement);n.emitter.on("down",this.onPointerDown_),n.emitter.on("move",this.onPointerMove_),n.emitter.on("up",this.onPointerUp_)}constrainValue_(e){var t,l;let n=null===(t=this.sliderProps_)||void 0===t?void 0:t.get("minValue"),V=null===(l=this.sliderProps_)||void 0===l?void 0:l.get("maxValue"),i=e;return void 0!==n&&(i=Math.max(i,n)),void 0!==V&&(i=Math.min(i,V)),i}onInputChange_(e){let t=e.currentTarget.value,l=this.parser_(t);V(l)||(this.value.rawValue=this.constrainValue_(l)),this.view.refresh()}onInputKeyDown_(e){let t=ke(this.baseStep_,Ye(e));0!==t&&this.value.setRawValue(this.constrainValue_(this.value.rawValue+t),{forceEmit:!1,last:!1})}onInputKeyUp_(e){0!==ke(this.baseStep_,Ye(e))&&this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}onPointerDown_(){this.originRawValue_=this.value.rawValue,this.dragging_.rawValue=0}computeDraggingValue_(e){if(!e.point)return null;let t=e.point.x-e.bounds.width/2;return this.constrainValue_(this.originRawValue_+t*this.props.get("draggingScale"))}onPointerMove_(e){let t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!1,last:!1}),this.dragging_.rawValue=this.value.rawValue-this.originRawValue_)}onPointerUp_(e){let t=this.computeDraggingValue_(e.data);null!==t&&(this.value.setRawValue(t,{forceEmit:!0,last:!0}),this.dragging_.rawValue=null)}}function Be(e,t){e.write(t)}function He(e){let t=function(e){let t=e?_(e,P):null;return t?t.step:null}(e);return t??1}function ve(e,t){var l;let n=e&&_(e,P),V=Math.abs(null!==(l=n?.step)&&void 0!==l?l:t);return 0===V?.1:Math.pow(10,Math.floor(Math.log10(V))-1)}function Ie(e){return[e[0],e[1],e[2]]}function De(e){return t=>function(e,t){let l=be("float"===t?2:0);return`rgb(${Ie(e.getComponents("rgb",t)).map((e=>l(e))).join(", ")})`}(t,e)}function Oe(e){return t=>function(e,t){let l=be(2),n=be("float"===t?2:0);return`rgba(${e.getComponents("rgb",t).map(((e,t)=>(3===t?l:n)(e))).join(", ")})`}(t,e)}function _e(e){return t=>function(e,t){let l=be("float"===t?2:0),n=["r","g","b"];return`{${Ie(e.getComponents("rgb",t)).map(((e,t)=>`${n[t]}: ${l(e)}`)).join(", ")}}`}(t,e)}function Le(e){return t=>function(e,t){let l=be(2),n=be("float"===t?2:0),V=["r","g","b","a"];return`{${e.getComponents("rgb",t).map(((e,t)=>`${V[t]}: ${(3===t?l:n)(e)}`)).join(", ")}}`}(t,e)}["int","float"].reduce(((e,t)=>[...e,{format:{alpha:!1,mode:"rgb",notation:"func",type:t},stringifier:De(t)},{format:{alpha:!0,mode:"rgb",notation:"func",type:t},stringifier:Oe(t)},{format:{alpha:!1,mode:"rgb",notation:"object",type:t},stringifier:_e(t)},{format:{alpha:!0,mode:"rgb",notation:"object",type:t},stringifier:Le(t)}]),[]);class Ke{constructor(e){this.components=e.components,this.asm_=e.assembly}constrain(e){let t=this.asm_.toComponents(e).map(((e,t)=>{var l,n;return null!==(n=null===(l=this.components[t])||void 0===l?void 0:l.constrain(e))&&void 0!==n?n:e}));return this.asm_.fromComponents(t)}}let Pe=o("pndtxt");class Ae{constructor(e,t){this.textViews=t.textViews,this.element=e.createElement("div"),this.element.classList.add(Pe()),this.textViews.forEach((t=>{let l=e.createElement("div");l.classList.add(Pe("a")),l.appendChild(t.element),this.element.appendChild(l)}))}}class qe{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.acs_=t.axes.map(((l,n)=>function(e,t,l){return new ge(e,{arrayPosition:0===l?"fst":l===t.axes.length-1?"lst":"mid",baseStep:t.axes[l].baseStep,parser:t.parser,props:t.axes[l].textProps,value:F(0,{constraint:t.axes[l].constraint}),viewProps:t.viewProps})}
1(e,t,n))),this.acs_.forEach(((e,l)=>{Me({primary:this.value,secondary:e.value,forward:e=>t.assembly.toComponents(e.rawValue)[l],backward:(e,n)=>{let V=t.assembly.toComponents(e.rawValue);return V[l]=n.rawValue,t.assembly.fromComponents(V)}})})),this.view=new Ae(e,{textViews:this.acs_.map((e=>e.view))})}}let $e={defaultInterval:200,defaultLineCount:3},et=o("grl");class tt{constructor(e,t){this.onCursorChange_=this.onCursorChange_.bind(this),this.onValueUpdate_=this.onValueUpdate_.bind(this),this.element=e.createElement("div"),this.element.classList.add(et()),t.viewProps.bindClassModifiers(this.element),this.formatter_=t.formatter,this.props_=t.props,this.cursor_=t.cursor,this.cursor_.emitter.on("change",this.onCursorChange_);let l=e.createElementNS(Q,"svg");l.classList.add(et("g")),l.style.height=`calc(var(--bld-us) * ${t.lineCount})`,this.element.appendChild(l),this.svgElem_=l;let n=e.createElementNS(Q,"polyline");this.svgElem_.appendChild(n),this.lineElem_=n;let V=e.createElement("div");V.classList.add(et("t"),o("tt")()),this.element.appendChild(V),this.tooltipElem_=V,t.value.emitter.on("change",this.onValueUpdate_),this.value=t.value,this.update_()}get graphElement(){return this.svgElem_}update_(){let e=this.svgElem_.getBoundingClientRect(),t=this.value.rawValue.length-1,l=this.props_.get("minValue"),n=this.props_.get("maxValue"),V=[];this.value.rawValue.forEach(((i,a)=>
1{if(void 0===i)return;let r=fe(a,0,t,0,e.width),s=fe(i,l,n,e.height,0);V.push([r,s].join(","))})),this.lineElem_.setAttributeNS(null,"points",V.join(" "));let i=this.tooltipElem_,a=this.value.rawValue[this.cursor_.rawValue];if(void 0===a)return void i.classList.remove(et("t","a"));let r=fe(this.cursor_.rawValue,0,t,0,e.width),s=fe(a,l,n,e.height,0);i.style.left=`${r}px`,i.style.top=`${s}px`,i.textContent=`${this.formatter_(a)}`,i.classList.contains(et("t","a"))||(i.classList.add(et("t","a"),et("t","in")),X(i),i.classList.remove(et("t","in")))}onValueUpdate_(){this.update_()}onCursorChange_(){this.update_()}}class lt{constructor(e,t){if(this.onGraphMouseMove_=this.onGraphMouseMove_.bind(this),this.onGraphMouseLeave_=this.onGraphMouseLeave_.bind(this),this.onGraphPointerDown_=this.onGraphPointerDown_.bind(this),this.onGraphPointerMove_=this.onGraphPointerMove_.bind(this),this.onGraphPointerUp_=this.onGraphPointerUp_.bind(this),this.props_=t.props,this.value=t.value,this.viewProps=t.viewProps,this.cursor_=F(-1),this.view=new tt(e,{cursor:this.cursor_,formatter:t.formatter,lineCount:t.lineCount,props:this.props_,value:this.value,viewProps:this.viewProps}),w(e)){let e=new we(this.view.element);e.emitter.on("down",this.onGraphPointerDown_),e.emitter.on("move",this.onGraphPointerMove_),e.emitter.on("up",this.onGraphPointerUp_)}else this.view.element.addEventListener("mousemove",this.onGraphMouseMove_),this.view.element.addEventListener("mouseleave",this.onGraphMouseLeave_)}onGraphMouseLeave_(){this.cursor_.rawValue=-1}onGraphMouseMove_(e){let t=this.view.element.getBoundingClientRect();this.cursor_.rawValue=Math.floor(fe(e.offsetX,0,t.width,0,this.value.rawValue.length))}onGraphPointerDown_(e){this.onGraphPointerMove_(e)}onGraphPointerMove_(e){e.data.point?this.cursor_.rawValue=Math.floor(fe(e.data.point.x,0,e.data.bounds.width,0,this.value.rawValue.length)):this.cursor_.rawValue=-1}onGraphPointerUp_(){this.cursor_.rawValue=-1}}class nt{constructor(e){this.controller_=e}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(e){this.controller_.viewProps.set("disabled",e)}get title(){var e;return null!==(e=this.controller_.props.get("title"))&&void 0!==e?e:""}set title(e){this.controller_.props.set("title",e)}on(e,t){let n=t.bind(this);return this.controller_.emitter.on(e,(()=>{n(new l(this))})),this}}class Vt extends l{constructor(e,t,l){super(e),this.cell=t,this.index=l}}class it extends t{constructor(e){super(e),this.cellToApiMap_=new Map,this.emitter_=new r;let t=this.controller_.valueController;t.cellControllers.forEach(((e,l)=>{let n=new nt(e);this.cellToApiMap_.set(e,n),e.emitter.on("click",(()=>{let e=l%t.size[0],V=Math.floor(l/t.size[0]);this.emitter_.emit("click",{event:new Vt(this,n,[e,V])})}))}))}cell(e,t){let l=this.controller_.valueController,n=l.cellControllers[t*l.size[0]+e];return this.cellToApiMap_.get(n)}on(e,t){let l=t.bind(this);return this.emitter_.on(e,(e=>{l(e.event)})),this}}class at{constructor(e,t){this.size=t.size;let[l,n]=this.size,V=[];for(let i=0;i<n;i++)for(let n=0;n<l;n++){let l=new Z(e,{props:N.fromObject(Object.assign({},t.cellConfig(n,i))),viewProps:M.create()});V.push(l)}this.cellCs_=V,this.viewProps=M.create(),this.viewProps.handleDispose((()=>{this.cellCs_.forEach((e=>{e.viewProps.set("disposed",!0)}))})),this.view=new H(e,{viewProps:this.viewProps,viewName:"btngrid"}),this.view.element.style.gridTemplateColumns=`repeat(${l}, 1fr)`,this.cellCs_.forEach((e=>{this.view.element.appendChild(e.view.element)}))}get cellControllers(){return this.cellCs_}}let rt={id:"buttongrid",type:"blade",css:'.tp-cbzgv,.tp-radv_b,.tp-rslv_k,.tp-cbzv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-radv_b,.tp-rslv_k,.tp-cbzv_b{background-color:var(--btn-bg);border-radius:var(--elm-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--bld-us);line-height:var(--bld-us);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-radv_b:hover,.tp-rslv_k:hover,.tp-cbzv_b:hover{background-color:var(--btn-bg-h)}.tp-radv_b:focus,.tp-rslv_k:focus,.tp-cbzv_b:focus{background-color:var(--btn-bg-f)}
1.tp-radv_b:active,.tp-rslv_k:active,.tp-cbzv_b:active{background-color:var(--btn-bg-a)}.tp-radv_b:disabled,.tp-rslv_k:disabled,.tp-cbzv_b:disabled{opacity:.5}.tp-cbzgv{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-cbzgv:hover{background-color:var(--in-bg-h)}.tp-cbzgv:focus{background-color:var(--in-bg-f)}.tp-cbzgv:active{background-color:var(--in-bg-a)}.tp-cbzgv:disabled{opacity:.5}.tp-btngridv{border-radius:var(--elm-br);display:grid;overflow:hidden;gap:2px}.tp-btngridv.tp-v-disabled{opacity:.5}.tp-btngridv .tp-btnv_b:disabled{opacity:1}.tp-btngridv .tp-btnv_b:disabled .tp-btnv_t{opacity:.5}.tp-btngridv .tp-btnv_b{border-radius:0}.tp-cbzv{position:relative}.tp-cbzv_h{display:flex}.tp-cbzv_b{margin-right:4px;position:relative;width:var(--bld-us)}.tp-cbzv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-cbzv_b svg path{stroke:var(--bs-bg);stroke-width:2}.tp-cbzv_t{flex:1}.tp-cbzv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-cbzv.tp-cbzv-expanded .tp-cbzv_p{margin-top:var(--bld-s);opacity:1}.tp-cbzv.tp-cbzv-cpl .tp-cbzv_p{overflow:visible}.tp-cbzv .tp-popv{left:calc(-1*var(--cnt-h-p));position:absolute;right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-cbzpv_t{margin-top:var(--bld-s)}.tp-cbzgv{height:auto;overflow:hidden;position:relative}.tp-cbzgv.tp-v-disabled{opacity:.5}.tp-cbzgv_p{left:16px;position:absolute;right:16px;top:0}.tp-cbzgv_g{cursor:pointer;display:block;height:calc(var(--bld-us)*5);width:100%}.tp-cbzgv_u{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-cbzgv_l{fill:rgba(0,0,0,0);stroke:var(--in-fg)}.tp-cbzgv_v{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-cbzgv_h{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;pointer-events:none;position:absolute;width:4px}.tp-cbzgv:focus .tp-cbzgv_h-sel{background-color:var(--in-fg);border-width:0}.tp-cbzprvv{cursor:pointer;height:4px;padding:4px 0;position:relative}.tp-cbzprvv_g{display:block;height:100%;overflow:visible;width:100%}.tp-cbzprvv_t{opacity:.5;stroke:var(--mo-fg)}.tp-cbzprvv_m{background-color:var(--mo-fg);border-radius:50%;height:4px;margin-left:-2px;margin-top:-2px;opacity:0;position:absolute;top:50%;transition:opacity .2s ease-out;width:4px}.tp-cbzprvv_m.tp-cbzprvv_m-a{opacity:1}.tp-fpsv{position:relative}.tp-fpsv_l{bottom:4px;color:var(--mo-fg);line-height:1;right:4px;pointer-events:none;position:absolute}.tp-fpsv_u{margin-left:.2em;opacity:.7}.tp-rslv{cursor:pointer;padding-left:8px;padding-right:8px}.tp-rslv.tp-v-disabled{opacity:.5}.tp-rslv_t{height:calc(var(--bld-us));position:relative}.tp-rslv_t::before{background-color:var(--in-bg);border-radius:1px;content:"";height:2px;margin-top:-1px;position:absolute;top:50%;left:-4px;right:-4px}.tp-rslv_b{bottom:0;top:0;position:absolute}.tp-rslv_b::before{background-color:var(--in-fg);content:"";height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.tp-rslv_k{height:calc(var(--bld-us) - 8px);margin-top:calc((var(--bld-us) - 8px)/-2);position:absolute;top:50%;width:8px}.tp-rslv_k.tp-rslv_k-min{margin-left:-8px}.tp-rslv_k.tp-rslv_k-max{margin-left:0}.tp-rslv.tp-rslv-zero .tp-rslv_k.tp-rslv_k-min{border-bottom-right-radius:0;border-top-right-radius:0}.tp-rslv.tp-rslv-zero .tp-rslv_k.tp-rslv_k-max{border-bottom-left-radius:0;border-top-left-radius:0}.tp-rsltxtv{display:flex}.tp-rsltxtv_s{flex:1}.tp-rsltxtv_t{flex:1;margin-left:4px}.tp-radv_l{display:block;position:relative}.tp-radv_i{left:0;opacity:0;position:absolute;top:0}.tp-radv_b{opacity:.5}.tp-radv_i:hover+.tp-radv_b{background-color:var(--btn-bg-h)}.tp-radv_i:focus+.tp-radv_b{background-color:var(--btn-bg-f)}.tp-radv_i:active+.tp-radv_b{background-color:var(--btn-bg-a)}.tp-radv_i:checked+.tp-radv_b{opacity:1}.tp-radv_t{bottom:0;color:inherit;left:0;overflow:hidden;position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:0}.tp-radv_i:disabled+.tp-radv_b>.tp-radv_t{opacity:.5}.tp-radgridv{border-radius:var(--elm-br);display:grid;overflow:hidden;gap:2px}.tp-radgridv.tp-v-disabled{opacity:.5}.tp-radgridv .tp-radv_b{border-radius:0}',accept(e){let t=b,l=S(e,{cells:t.required.function,size:t.required.array(t.required.number),view:t.required.constant("buttongrid"),label:t.optional.string});return l?{params:l}:null},controller(e){return new y(e.document,{blade:e.blade,props:N.fromObject({label:e.params.label}),valueController:new at(e.document,{cellConfig:e.params.cells,size:e.params.size})})},api(e){return e.controller instanceof y&&e.controller.valueController instanceof at?new it(e.controller):null}};class st extends t{get label(){return this.controller_.props.get("label")}set label(e){this.controller_.props.set("label",e)}get value(){return this.controller_.valueController.value.rawValue}set value(e){this.controller_.valueController.value.rawValue=e}on(e,t){let l=t.bind(this);return this.controller_.valueController.value.emitter.on(e,(e=>
1{l(new n(this,e.rawValue,void 0,e.options.last))})),this}}function ot(e,t,l){return e*(1-l)+t*l}function ht(e,t){let l=.25,n=.5,V=-1;for(let i=0;i<20;i++){let[i,a]=e.curve(n);if(n+=l*(i<t?1:-1),V=a,l*=.5,Math.abs(t-i)<.001)break}return V}class dt{constructor(e=0,t=0,l=1,n=1){this.cache_=[],this.comps_=[e,t,l,n]}get x1(){return this.comps_[0]}get y1(){return this.comps_[1]}get x2(){return this.comps_[2]}get y2(){return this.comps_[3]}static isObject(e){return!(V(e)||!Array.isArray(e))&&"number"==typeof e[0]&&"number"==typeof e[1]&&"number"==typeof e[2]&&"number"==typeof e[3]}static equals(e,t){return e.x1===t.x1&&e.y1===t.y1&&e.x2===t.x2&&e.y2===t.y2}curve(e){let t=ot(0,this.x1,e),l=ot(0,this.y1,e),n=ot(this.x1,this.x2,e),V=ot(this.y1,this.y2,e),i=ot(this.x2,1,e),a=ot(this.y2,1,e),r=ot(t,n,e),s=ot(l,V,e),o=ot(n,i,e),h=ot(V,a,e);return[ot(r,o,e),ot(s,h,e)]}y(e){if(0===this.cache_.length){let e=[];for(let t=0;t<100;t++)e.push(ht(this,fe(t,0,99,0,1)));this.cache_=e}return this.cache_[Math.round(fe(ye(e,0,1),0,1,0,99))]}toObject(){return[this.comps_[0],this.comps_[1],this.comps_[2],this.comps_[3]]}}let Rt={toComponents:e=>e.toObject(),fromComponents:e=>new dt(...e)};function Ut(e){let t=be(2);return`cubic-bezier(${e.toObject().map((e=>t(e))).join(", ")})`}let ct=[0,.5,.5,1];function pt(e){let t=e.match(/^cubic-bezier\s*\(\s*([0-9.]+)\s*,\s*([0-9.]+)\s*,\s*([0-9.]+)\s*,\s*([0-9.]+)\s*\)$/);if(!t)return new dt(...ct);let l=[t[1],t[2],t[3],t[4]].reduce(((e,t)=>{if(!e)return null;let l=Number(t);return isNaN(l)?null:[...e,l]}),[]);return new dt(...l??ct)}let Zt=o("cbz");class Wt{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Zt()),t.viewProps.bindClassModifiers(this.element),t.foldable.bindExpandedClass(this.element,Zt(void 0,"expanded")),R(t.foldable,"completed",U(this.element,Zt(void 0,"cpl")));let l=e.createElement("div");l.classList.add(Zt("h")),this.element.appendChild(l);let n=e.createElement("button");n.classList.add(Zt("b")),t.viewProps.bindDisabled(n);let V=e.createElementNS(Q,"svg");V.innerHTML='<path d="M2 13C8 13 8 3 14 3"/>',n.appendChild(V),l.appendChild(n),this.buttonElement=n;let i=e.createElement("div");if(i.classList.add(Zt("t")),l.appendChild(i),this.textElement=i,"inline"===t.pickerLayout){let t=e.createElement("div");t.classList.add(Zt("p")),this.element.appendChild(t),this.pickerElement=t}else this.pickerElement=null}}let mt=o("cbzp");class Ft{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(mt()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("div");l.classList.add(mt("g")),this.element.appendChild(l),this.graphElement=l;let n=e.createElement("div");n.classList.add(mt("t")),this.element.appendChild(n),this.textElement=n}}function Nt(e,t){let l=new MutationObserver((e=>{for(let n of e)"childList"===n.type&&n.addedNodes.forEach((e=>{e.contains(e)&&(t(),l.disconnect())}))})),n=e.ownerDocument;l.observe(n.body,{attributes:!0,childList:!0,subtree:!0})}let ut=o("cbzg");class Et{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(ut()),t.viewProps.bindClassModifiers(this.element),t.viewProps.bindTabIndex(this.element);let l=e.createElement("div");l.classList.add(ut("p")),this.element.appendChild(l),this.previewElement=l;let n=e.createElementNS(Q,"svg");n.classList.add(ut("g")),this.element.appendChild(n),this.svgElem_=n;let V=e.createElementNS(Q,"path");V.classList.add(ut("u")),this.svgElem_.appendChild(V),this.guideElem_=V;let i=e.createElementNS(Q,"polyline");i.classList.add(ut("l")),this.svgElem_.appendChild(i),this.lineElem_=i,this.handleElems_=[e.createElement("div"),e.createElement("div")],this.handleElems_.forEach((e=>{e.classList.add(ut("h")),this.element.appendChild(e)})),this.vectorElems_=[e.createElementNS(Q,"line"),e.createElementNS(Q,"line")],this.vectorElems_.forEach((e=>{e.classList.add(ut("v")),this.svgElem_.appendChild(e)})),this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_.bind(this)),this.sel_=t.selection,this.handleElems_.forEach(((e,t)=>{d(this.sel_,function(e,t){return l=>t(e(l))}((e=>
1e===t),U(e,ut("h","sel"))))})),Nt(this.element,(()=>{this.refresh()}))}getVertMargin_(e){return.25*e}valueToPosition(e,t){let l=this.element.getBoundingClientRect(),n=l.width,V=l.height,i=this.getVertMargin_(V);return{x:fe(e,0,1,0,n),y:fe(t,0,1,V-i,i)}}positionToValue(e,t){let l=this.element.getBoundingClientRect(),n=l.width,V=l.height,i=this.getVertMargin_(V);return{x:ye(fe(e,0,n,0,1),0,1),y:fe(t,V-i,i,0,1)}}refresh(){this.guideElem_.setAttributeNS(null,"d",[0,1].map((e=>{let t=this.valueToPosition(0,e),l=this.valueToPosition(1,e);return[`M ${t.x},${t.y}`,`L ${l.x},${l.y}`].join(" ")})).join(" "));let e=this.value_.rawValue,t=[],l=0;for(;;){let n=this.valueToPosition(...e.curve(l));if(t.push([n.x,n.y].join(",")),l>=1)break;l=Math.min(l+.05,1)}this.lineElem_.setAttributeNS(null,"points",t.join(" "));let n=e.toObject();[0,1].forEach((e=>{let t=this.valueToPosition(e,e),l=this.valueToPosition(n[2*e],n[2*e+1]),V=this.vectorElems_[e];V.setAttributeNS(null,"x1",String(t.x)),V.setAttributeNS(null,"y1",String(t.y)),V.setAttributeNS(null,"x2",String(l.x)),V.setAttributeNS(null,"y2",String(l.y));let i=this.handleElems_[e];i.style.left=`${l.x}px`,i.style.top=`${l.y}px`}))}onValueChange_(){this.refresh()}}let bt=o("cbzprv");class St{constructor(e,t){this.stopped_=!0,this.startTime_=-1,this.onDispose_=this.onDispose_.bind(this),this.onTimer_=this.onTimer_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.element=e.createElement("div"),this.element.classList.add(bt()),t.viewProps.bindClassModifiers(this.element);let l=e.createElementNS(Q,"svg");l.classList.add(bt("g")),this.element.appendChild(l),this.svgElem_=l;let n=e.createElementNS(Q,"path");n.classList.add(bt("t")),this.svgElem_.appendChild(n),this.ticksElem_=n;let V=e.createElement("div");V.classList.add(bt("m")),this.element.appendChild(V),this.markerElem_=V,this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_),t.viewProps.handleDispose(this.onDispose_),Nt(this.element,(()=>{this.refresh()}))}play(){this.stop(),this.updateMarker_(0),this.markerElem_.classList.add(bt("m","a")),this.startTime_=(new Date).getTime()+400,this.stopped_=!1,requestAnimationFrame(this.onTimer_)}stop(){this.stopped_=!0,this.markerElem_.classList.remove(bt("m","a"))}onDispose_(){this.stop()}updateMarker_(e){let t=this.value_.rawValue.y(ye(e,0,1));this.markerElem_.style.left=100*t+"%"}refresh(){let e=this.svgElem_.getBoundingClientRect(),t=e.width,l=e.height,n=[],V=this.value_.rawValue;for(let e=0;e<24;e++){let i=fe(e,0,23,0,1),a=fe(V.y(i),0,1,0,t);n.push(`M ${a},0 v${l}`)}this.ticksElem_.setAttributeNS(null,"d",n.join(" "))}onTimer_(){if(null===this.startTime_)return;let e=(new Date).getTime()-this.startTime_,t=e/1e3;this.updateMarker_(t),e>1400&&this.stop(),this.stopped_||requestAnimationFrame(this.onTimer_)}onValueChange_(){this.refresh(),this.play()}}function Jt(e,t,l,n){let V=l-e,i=n-t;return Math.sqrt(V*V+i*i)}class Tt{constructor(e,t){this.onKeyDown_=this.onKeyDown_.bind(this),this.onKeyUp_=this.onKeyUp_.bind(this),this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.baseStep_=t.baseStep,this.value=t.value,this.sel_=F(0),this.viewProps=t.viewProps,this.view=new Et(e,{selection:this.sel_,value:this.value,viewProps:this.viewProps}),this.view.element.addEventListener("keydown",this.onKeyDown_),this.view.element.addEventListener("keyup",this.onKeyUp_),this.prevView_=new St(e,{value:this.value,viewProps:this.viewProps}),this.prevView_.element.addEventListener("mousedown",(e=>{e.stopImmediatePropagation(),e.preventDefault(),this.prevView_.play()})),this.view.previewElement.appendChild(this.prevView_.element);let l=new we(this.view.element);l.emitter.on("down",this.onPointerDown_),l.emitter.on("move",this.onPointerMove_),l.emitter.on("up",this.onPointerUp_)}refresh(){this.view.refresh(),this.prevView_.refresh(),this.prevView_.play()}updateValue_(e,t,l){let n=this.sel_.rawValue,V=this.value.rawValue.toObject(),i=this.view.positionToValue(e.x,e.y),a=t?function(e,t,l,n){let V=Jt(e,t,l,n),i=Math.atan2(n-t,l-e),a=Math.round(i/(Math.PI/4))*M
1ath.PI/4;return{x:e+Math.cos(a)*V,y:t+Math.sin(a)*V}}(n,n,i.x,i.y):i;V[2*n]=a.x,V[2*n+1]=a.y,this.value.setRawValue(new dt(...V),l)}onPointerDown_(e){let t=e.data;if(!t.point)return;let l=this.value.rawValue,n=this.view.valueToPosition(l.x1,l.y1),V=Jt(t.point.x,t.point.y,n.x,n.y),i=this.view.valueToPosition(l.x2,l.y2),a=Jt(t.point.x,t.point.y,i.x,i.y);this.sel_.rawValue=V<=a?0:1,this.updateValue_(t.point,e.shiftKey,{forceEmit:!1,last:!1})}onPointerMove_(e){let t=e.data;t.point&&this.updateValue_(t.point,e.shiftKey,{forceEmit:!1,last:!1})}onPointerUp_(e){let t=e.data;t.point&&this.updateValue_(t.point,e.shiftKey,{forceEmit:!0,last:!0})}onKeyDown_(e){Qe(e.key)&&e.preventDefault();let t=this.sel_.rawValue,l=this.value.rawValue.toObject();l[2*t]+=ke(this.baseStep_,xe(e)),l[2*t+1]+=ke(this.baseStep_,Ye(e)),this.value.setRawValue(new dt(...l),{forceEmit:!1,last:!1})}onKeyUp_(e){Qe(e.key)&&e.preventDefault();let t=ke(this.baseStep_,xe(e)),l=ke(this.baseStep_,Ye(e));0===t&&0===l||this.value.setRawValue(this.value.rawValue,{forceEmit:!0,last:!0})}}class Gt{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.view=new Ft(e,{viewProps:this.viewProps}),this.gc_=new Tt(e,{baseStep:t.axis.baseStep,value:this.value,viewProps:this.viewProps}),this.view.graphElement.appendChild(this.gc_.view.element);let l=Object.assign(Object.assign({},t.axis),{constraint:new K({max:1,min:0})}),n=Object.assign(Object.assign({},t.axis),{constraint:void 0});this.tc_=new qe(e,{assembly:Rt,axes:[l,n,l,n],parser:ue,value:this.value,viewProps:this.viewProps}),this.view.textElement.appendChild(this.tc_.view.element)}get allFocusableElements(){return[this.gc_.view.element,...this.tc_.view.textViews.map((e=>e.inputElement))]}refresh(){this.gc_.refresh()}}class Mt{constructor(e,t){var l;this.onButtonBlur_=this.onButtonBlur_.bind(this),this.onButtonClick_=this.onButtonClick_.bind(this),this.onPopupChildBlur_=this.onPopupChildBlur_.bind(this),this.onPopupChildKeydown_=this.onPopupChildKeydown_.bind(this),this.value=t.value,this.viewProps=t.viewProps,this.foldable_=(l=t.expanded,j.create(l)),this.view=new Wt(e,{foldable:this.foldable_,pickerLayout:t.pickerLayout,viewProps:this.viewProps}),this.view.buttonElement.addEventListener("blur",this.onButtonBlur_),this.view.buttonElement.addEventListener("click",this.onButtonClick_),this.tc_=new le(e,{parser:pt,props:N.fromObject({formatter:Ut}),value:this.value,viewProps:this.viewProps}),this.view.textElement.appendChild(this.tc_.view.element),this.popC_="popup"===t.pickerLayout?new $(e,{viewProps:this.viewProps}):null;let n=new Gt(e,{axis:t.axis,value:this.value,viewProps:this.viewProps});n.allFocusableElements.forEach((e=>{e.addEventListener("blur",this.onPopupChildBlur_),e.addEventListener("keydown",this.onPopupChildKeydown_)})),this.pickerC_=n,this.popC_?(this.view.element.appendChild(this.popC_.view.element),this.popC_.view.element.appendChild(this.pickerC_.view.element),d(this.popC_.shows,(e=>{e&&n.refresh()})),Me({primary:this.foldable_.value("expanded"),secondary:this.popC_.shows,forward:e=>e.rawValue,backward:(e,t)=>t.rawValue})):this.view.pickerElement&&(this.view.pickerElement.appendChild(this.pickerC_.view.element),B(this.foldable_,this.view.pickerElement))}onButtonBlur_(e){if(!this.popC_)return;let t=e.relatedTarget;(!t||!this.popC_.view.element.contains(t))&&(this.popC_.shows.rawValue=!1)}onButtonClick_(){this.foldable_.set("expanded",!this.foldable_.get("expanded")),this.foldable_.get("expanded")&&this.pickerC_.allFocusableElements[0].focus()}onPopupChildBlur_(e){if(!this.popC_)return;let t=this.popC_.view.element,l=(n=e).relatedTarget?n.relatedTarget:"explicitOriginalTarget"in n?n.explicitOriginalTarget:null;var n;l&&t.contains(l)||l&&l===this.view.buttonElement&&!w(t.ownerDocument)||(this.popC_.shows.rawValue=!1)}onPopupChildKeydown_(e){this.popC_&&"Escape"===e.key&&(this.popC_.shows.rawValue=!1)}}let kt={id:"cubic-bezier",type:"blade",css:'.tp-cbzgv,.tp-radv_b,.tp-rslv_k,.tp-cbzv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-radv_b,.tp-rslv_k,.tp-cbzv_b{background-color:var(--btn-bg);border-radius:var(--elm-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--bld-us);line-height:var(--bld-us);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-radv_b:hover,.tp-rslv_k:hover,.tp-cbzv_b:hover{background-color:var(--btn-bg-h)}.tp-radv_b:focus,.tp-rslv_k:focus,.tp-cbzv_b:focus{background-color:var(--btn-bg-f)}
1.tp-radv_b:active,.tp-rslv_k:active,.tp-cbzv_b:active{background-color:var(--btn-bg-a)}.tp-radv_b:disabled,.tp-rslv_k:disabled,.tp-cbzv_b:disabled{opacity:.5}.tp-cbzgv{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-cbzgv:hover{background-color:var(--in-bg-h)}.tp-cbzgv:focus{background-color:var(--in-bg-f)}.tp-cbzgv:active{background-color:var(--in-bg-a)}.tp-cbzgv:disabled{opacity:.5}.tp-btngridv{border-radius:var(--elm-br);display:grid;overflow:hidden;gap:2px}.tp-btngridv.tp-v-disabled{opacity:.5}.tp-btngridv .tp-btnv_b:disabled{opacity:1}.tp-btngridv .tp-btnv_b:disabled .tp-btnv_t{opacity:.5}.tp-btngridv .tp-btnv_b{border-radius:0}.tp-cbzv{position:relative}.tp-cbzv_h{display:flex}.tp-cbzv_b{margin-right:4px;position:relative;width:var(--bld-us)}.tp-cbzv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-cbzv_b svg path{stroke:var(--bs-bg);stroke-width:2}.tp-cbzv_t{flex:1}.tp-cbzv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-cbzv.tp-cbzv-expanded .tp-cbzv_p{margin-top:var(--bld-s);opacity:1}.tp-cbzv.tp-cbzv-cpl .tp-cbzv_p{overflow:visible}.tp-cbzv .tp-popv{left:calc(-1*var(--cnt-h-p));position:absolute;right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-cbzpv_t{margin-top:var(--bld-s)}.tp-cbzgv{height:auto;overflow:hidden;position:relative}.tp-cbzgv.tp-v-disabled{opacity:.5}.tp-cbzgv_p{left:16px;position:absolute;right:16px;top:0}.tp-cbzgv_g{cursor:pointer;display:block;height:calc(var(--bld-us)*5);width:100%}.tp-cbzgv_u{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-cbzgv_l{fill:rgba(0,0,0,0);stroke:var(--in-fg)}.tp-cbzgv_v{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-cbzgv_h{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;pointer-events:none;position:absolute;width:4px}.tp-cbzgv:focus .tp-cbzgv_h-sel{background-color:var(--in-fg);border-width:0}.tp-cbzprvv{cursor:pointer;height:4px;padding:4px 0;position:relative}.tp-cbzprvv_g{display:block;height:100%;overflow:visible;width:100%}.tp-cbzprvv_t{opacity:.5;stroke:var(--mo-fg)}.tp-cbzprvv_m{background-color:var(--mo-fg);border-radius:50%;height:4px;margin-left:-2px;margin-top:-2px;opacity:0;position:absolute;top:50%;transition:opacity .2s ease-out;width:4px}.tp-cbzprvv_m.tp-cbzprvv_m-a{opacity:1}.tp-fpsv{position:relative}.tp-fpsv_l{bottom:4px;color:var(--mo-fg);line-height:1;right:4px;pointer-events:none;position:absolute}.tp-fpsv_u{margin-left:.2em;opacity:.7}.tp-rslv{cursor:pointer;padding-left:8px;padding-right:8px}.tp-rslv.tp-v-disabled{opacity:.5}.tp-rslv_t{height:calc(var(--bld-us));position:relative}.tp-rslv_t::before{background-color:var(--in-bg);border-radius:1px;content:"";height:2px;margin-top:-1px;position:absolute;top:50%;left:-4px;right:-4px}.tp-rslv_b{bottom:0;top:0;position:absolute}.tp-rslv_b::before{background-color:var(--in-fg);content:"";height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.tp-rslv_k{height:calc(var(--bld-us) - 8px);margin-top:calc((var(--bld-us) - 8px)/-2);position:absolute;top:50%;width:8px}.tp-rslv_k.tp-rslv_k-min{margin-left:-8px}.tp-rslv_k.tp-rslv_k-max{margin-left:0}.tp-rslv.tp-rslv-zero .tp-rslv_k.tp-rslv_k-min{border-bottom-right-radius:0;border-top-right-radius:0}.tp-rslv.tp-rslv-zero .tp-rslv_k.tp-rslv_k-max{border-bottom-left-radius:0;border-top-left-radius:0}.tp-rsltxtv{display:flex}.tp-rsltxtv_s{flex:1}.tp-rsltxtv_t{flex:1;margin-left:4px}.tp-radv_l{display:block;position:relative}.tp-radv_i{left:0;opacity:0;position:absolute;top:0}.tp-radv_b{opacity:.5}.tp-radv_i:hover+.tp-radv_b{background-color:var(--btn-bg-h)}.tp-radv_i:focus+.tp-radv_b{background-color:var(--btn-bg-f)}.tp-radv_i:active+.tp-radv_b{background-color:var(--btn-bg-a)}.tp-radv_i:checked+.tp-radv_b{opacity:1}.tp-radv_t{bottom:0;color:inherit;left:0;overflow:hidden;position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:0}.tp-radv_i:disabled+.tp-radv_b>.tp-radv_t{opacity:.5}.tp-radgridv{border-radius:var(--elm-br);display:grid;overflow:hidden;gap:2px}.tp-radgridv.tp-v-disabled{opacity:.5}.tp-radgridv .tp-radv_b{border-radius:0}',accept(e){let t=b,l=S(e,{value:t.required.array(t.required.number),view:t.required.constant("cub
1icbezier"),expanded:t.optional.boolean,label:t.optional.string,picker:t.optional.custom((e=>"inline"===e||"popup"===e?e:void 0))});return l?{params:l}:null},controller(e){var t,l;let n=F(new dt(...e.params.value),{constraint:new Ke({assembly:Rt,components:[0,1,2,3].map((e=>e%2==0?new K({min:0,max:1}):void 0))}),equals:dt.equals}),V=new Mt(e.document,{axis:{baseStep:.1,textProps:N.fromObject({draggingScale:.01,formatter:be(2)})},expanded:null!==(t=e.params.expanded)&&void 0!==t&&t,pickerLayout:null!==(l=e.params.picker)&&void 0!==l?l:"popup",value:n,viewProps:e.viewProps});return new v(e.document,{blade:e.blade,props:N.fromObject({label:e.params.label}),valueController:V})},api(e){return e.controller instanceof v&&e.controller.valueController instanceof Mt?new st(e.controller):null}};class Yt extends t{begin(){this.controller_.valueController.begin()}end(){this.controller_.valueController.end()}}class xt{constructor(){this.start_=null,this.duration_=0,this.fps_=null,this.frameCount_=0,this.timestamps_=[]}get duration(){return this.duration_}get fps(){return this.fps_}begin(e){this.start_=e.getTime()}calculateFps_(e){if(0===this.timestamps_.length)return null;let t=this.timestamps_[0];return 1e3*(this.frameCount_-t.frameCount)/(e-t.time)}compactTimestamps_(){if(this.timestamps_.length<=20)return;let e=this.timestamps_.length-20;this.timestamps_.splice(0,e);let t=this.timestamps_[0].frameCount;this.timestamps_.forEach((e=>{e.frameCount-=t})),this.frameCount_-=t}end(e){if(null===this.start_)return;let t=e.getTime();this.duration_=t-this.start_,this.start_=null,this.fps_=this.calculateFps_(t),this.timestamps_.push({frameCount:this.frameCount_,time:t}),++this.frameCount_,this.compactTimestamps_()}}let Qt=o("fps");class Xt{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add(Qt()),t.viewProps.bindClassModifiers(this.element),this.graphElement=e.createElement("div"),this.graphElement.classList.add(Qt("g")),this.element.appendChild(this.graphElement);let l=e.createElement("div");l.classList.add(Qt("l")),this.element.appendChild(l);let n=e.createElement("span");n.classList.add(Qt("v")),n.textContent="--",l.appendChild(n),this.valueElement=n;let V=e.createElement("span");V.classList.add(Qt("u")),V.textContent="FPS",l.appendChild(V)}}class wt{constructor(e,t){this.stopwatch_=new xt,this.onTick_=this.onTick_.bind(this),this.ticker_=t.ticker,this.ticker_.emitter.on("tick",this.onTick_),this.value_=t.value,this.viewProps=t.viewProps,this.view=new Xt(e,{viewProps:this.viewProps}),this.graphC_=new lt(e,{formatter:be(0),lineCount:t.lineCount,props:N.fromObject({maxValue:t.maxValue,minValue:t.minValue}),value:this.value_,viewProps:this.viewProps}),this.view.graphElement.appendChild(this.graphC_.view.element),this.viewProps.handleDispose((()=>{this.graphC_.viewProps.set("disposed",!0),this.ticker_.dispose()}))}begin(){this.stopwatch_.begin(new Date)}end(){this.stopwatch_.end(new Date)}onTick_(){let e=this.stopwatch_.fps;if(null!==e){let t=this.value_.rawValue;this.value_.rawValue=function(e,t){let l=[...Ge(e),t];return l.length>e.length?l.splice(0,l.length-e.length):Je(l,e.length),l}(t,e),this.view.valueElement.textContent=e.toFixed(0)}}}function ft(e,t){return 0===t?new I:new D(e,t??$e.defaultInterval)}let zt={id:"fpsgraph",type:"blade",accept(e){let t=b,l=S(e,{view:t.required.constant("fpsgraph"),interval:t.optional.number,label:t.optional.string,lineCount:t.optional.number,max:t.optional.number,min:t.optional.number});return l?{params:l}:null},controller(e){var t,l,n,V;let i=null!==(t=e.params.interval)&&void 0!==t?t:500;return new y(e.document,{blade:e.blade,props:N.fromObject({label:e.params.label}),valueController:new wt(e.document,{lineCount:null!==(l=e.params.lineCount)&&void 0!==l?l:2,maxValue:null!==(n=e.params.max)&&void 0!==n?n:90,minValue:null!==(V=e.params.min)&&void 0!==V?V:0,ticker:ft(e.document,i),value:Te(80),viewProps:e.viewProps})})},api(e){return e.controller instanceof y&&e.controller.valueController instanceof wt?new Yt(e.controller):null}};class yt{constructor(e,t){this.min=e,this.max=t}static isObject(e){if("object"!=typeof e||null===e)return!1;let t=e.min,l=e.max;return!("number"!=typeof t||"number"!=typeof l)}static equals(e,t){return e.min===t.min&&e.max===t.max}get length(){return this.max-this.min}toObject(){return{min:this.min,max:this.max}}}let Ct={fromComponents:e=>new yt(e[0],e[1]),toComponents:e=>[e.min,e.max]};
1class jt{constructor(e){this.edge=e}constrain(e){var t,l,n,V,i,a,r,s;if(e.min<=e.max)return new yt(null!==(l=null===(t=this.edge)||void 0===t?void 0:t.constrain(e.min))&&void 0!==l?l:e.min,null!==(V=null===(n=this.edge)||void 0===n?void 0:n.constrain(e.max))&&void 0!==V?V:e.max);let o=(e.min+e.max)/2;return new yt(null!==(a=null===(i=this.edge)||void 0===i?void 0:i.constrain(o))&&void 0!==a?a:o,null!==(s=null===(r=this.edge)||void 0===r?void 0:r.constrain(o))&&void 0!==s?s:o)}}let gt=o("rsltxt");class Bt{constructor(e,t){this.sliderView_=t.sliderView,this.textView_=t.textView,this.element=e.createElement("div"),this.element.classList.add(gt());let l=e.createElement("div");l.classList.add(gt("s")),l.appendChild(this.sliderView_.element),this.element.appendChild(l);let n=e.createElement("div");n.classList.add(gt("t")),n.appendChild(this.textView_.element),this.element.appendChild(n)}}let Ht=o("rsl");class vt{constructor(e,t){this.onSliderPropsChange_=this.onSliderPropsChange_.bind(this),this.onValueChange_=this.onValueChange_.bind(this),this.sliderProps_=t.sliderProps,this.sliderProps_.emitter.on("change",this.onSliderPropsChange_),this.element=e.createElement("div"),this.element.classList.add(Ht()),t.viewProps.bindClassModifiers(this.element),this.value_=t.value,this.value_.emitter.on("change",this.onValueChange_);let l=e.createElement("div");l.classList.add(Ht("t")),this.element.appendChild(l),this.trackElement=l;let n=e.createElement("div");n.classList.add(Ht("b")),l.appendChild(n),this.barElement=n;let V=["min","max"].map((t=>{let n=e.createElement("div");return n.classList.add(Ht("k"),Ht("k",t)),l.appendChild(n),n}));this.knobElements=[V[0],V[1]],this.update_()}valueToX_(e){return 100*ye(fe(e,this.sliderProps_.get("minValue"),this.sliderProps_.get("maxValue"),0,1),0,1)}update_(){let e=this.value_.rawValue;0===e.length?this.element.classList.add(Ht(void 0,"zero")):this.element.classList.remove(Ht(void 0,"zero"));let t=[this.valueToX_(e.min),this.valueToX_(e.max)];this.barElement.style.left=`${t[0]}%`,this.barElement.style.right=100-t[1]+"%",this.knobElements.forEach(((e,l)=>{e.style.left=`${t[l]}%`}))}onSliderPropsChange_(){this.update_()}onValueChange_(){this.update_()}}class It{constructor(e,t){this.grabbing_=null,this.grabOffset_=0,this.onPointerDown_=this.onPointerDown_.bind(this),this.onPointerMove_=this.onPointerMove_.bind(this),this.onPointerUp_=this.onPointerUp_.bind(this),this.sliderProps=t.sliderProps,this.viewProps=t.viewProps,this.value=t.value,this.view=new vt(e,{sliderProps:this.sliderProps,value:this.value,viewProps:t.viewProps});let l=new we(this.view.trackElement);l.emitter.on("down",this.onPointerDown_),l.emitter.on("move",this.onPointerMove_),l.emitter.on("up",this.onPointerUp_)}ofs_(){return"min"===this.grabbing_?this.view.knobElements[0].getBoundingClientRect().width/2:"max"===this.grabbing_?-this.view.knobElements[1].getBoundingClientRect().width/2:0}valueFromData_(e){return e.point?fe((e.point.x+this.ofs_())/e.bounds.width,0,1,this.sliderProps.get("minValue"),this.sliderProps.get("maxValue")):null}onPointerDown_(e){if(!e.data.point)return;let t=e.data.point.x/e.data.bounds.width,l=this.value.rawValue,n=this.sliderProps.get("minValue"),V=this.sliderProps.get("maxValue"),i=fe(l.min,n,V,0,1),a=fe(l.max,n,V,0,1);Math.abs(a-t)<=.025?this.grabbing_="max":Math.abs(i-t)<=.025?this.grabbing_="min":t>=i&&t<=a?(this.grabbing_="length",this.grabOffset_=fe(t-i,0,1,0,V-n)):t<i?(this.grabbing_="min",this.onPointerMove_(e)):t>a&&(this.grabbing_="max",this.onPointerMove_(e))}applyPointToValue_(e,t){let l=this.valueFromData_(e);if(null===l)return;let n=this.sliderProps.get("minValue"),V=this.sliderProps.get("maxValue");if("min"===this.grabbing_)this.value.setRawValue(new yt(l,this.value.rawValue.max),t);else if("max"===this.grabbing_)this.value.setRawValue(new yt(this.value.rawValue.min,l),t);else if("length"===this.grabbing_){let e=this.value.rawValue.length,i=l-this.grabOffset_,a=i+e;i<n?(i=n,a=n+e):a>V&&(i=V-e,a=V),this.value.setRawValue(new yt(i,a),t)}}onPointerMove_(e){this.applyPointToValue_(e.data,{forceEmit:!1,last:!1})}onPointerUp_(e){this.applyPointToValue_(e.data,{forceEmit:!0,last:!0}),this.grabbing_=null}}class Dt{constructor(e,t){this.value=t.value,this.viewProps=t.viewProps,this.sc_=new It(e,t);let l={baseStep:t.baseStep,constraint:t.constraint,textProps:N.fromObject({draggingScale:t.draggingScale,formatter:t.formatter})};this.tc_=new qe(e,{assembly:Ct,axes:[l,l],parser:t.parser,value:this.value,viewProps:t.viewProps}),this.view=new Bt(e,{sliderView:this.sc_.view,textView:this.tc_.view})}get textController(){return this.tc_}}function Ot(e){return yt.isObject(e)?new yt(e.min,e.max):new yt(0,0)}function _t(e,t){e.writeProperty("max",t.max),e.writeProperty("min",t.min)}function Lt(e){let t=[],l=function(e){return V(e.max)||V(e.min)?V(e.max)&&
1V(e.min)?null:new K({max:e.max,min:e.min}):new L({max:e.max,min:e.min})}(e);l&&t.push(l);let n=function(e,t){return"step"in e&&!V(e.step)?new P(e.step,t):null}(e);return n&&t.push(n),new jt(new O(t))}let Kt={id:"input-interval",type:"input",css:'.tp-cbzgv,.tp-radv_b,.tp-rslv_k,.tp-cbzv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-radv_b,.tp-rslv_k,.tp-cbzv_b{background-color:var(--btn-bg);border-radius:var(--elm-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--bld-us);line-height:var(--bld-us);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-radv_b:hover,.tp-rslv_k:hover,.tp-cbzv_b:hover{background-color:var(--btn-bg-h)}.tp-radv_b:focus,.tp-rslv_k:focus,.tp-cbzv_b:focus{background-color:var(--btn-bg-f)}.tp-radv_b:active,.tp-rslv_k:active,.tp-cbzv_b:active{background-color:var(--btn-bg-a)}.tp-radv_b:disabled,.tp-rslv_k:disabled,.tp-cbzv_b:disabled{opacity:.5}.tp-cbzgv{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-cbzgv:hover{background-color:var(--in-bg-h)}.tp-cbzgv:focus{background-color:var(--in-bg-f)}.tp-cbzgv:active{background-color:var(--in-bg-a)}.tp-cbzgv:disabled{opacity:.5}.tp-btngridv{border-radius:var(--elm-br);display:grid;overflow:hidden;gap:2px}.tp-btngridv.tp-v-disabled{opacity:.5}.tp-btngridv .tp-btnv_b:disabled{opacity:1}.tp-btngridv .tp-btnv_b:disabled .tp-btnv_t{opacity:.5}.tp-btngridv .tp-btnv_b{border-radius:0}.tp-cbzv{position:relative}.tp-cbzv_h{display:flex}.tp-cbzv_b{margin-right:4px;position:relative;width:var(--bld-us)}.tp-cbzv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-cbzv_b svg path{stroke:var(--bs-bg);stroke-width:2}.tp-cbzv_t{flex:1}.tp-cbzv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-cbzv.tp-cbzv-expanded .tp-cbzv_p{margin-top:var(--bld-s);opacity:1}.tp-cbzv.tp-cbzv-cpl .tp-cbzv_p{overflow:visible}.tp-cbzv .tp-popv{left:calc(-1*var(--cnt-h-p));position:absolute;right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-cbzpv_t{margin-top:var(--bld-s)}.tp-cbzgv{height:auto;overflow:hidden;position:relative}.tp-cbzgv.tp-v-disabled{opacity:.5}.tp-cbzgv_p{left:16px;position:absolute;right:16px;top:0}.tp-cbzgv_g{cursor:pointer;display:block;height:calc(var(--bld-us)*5);width:100%}.tp-cbzgv_u{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-cbzgv_l{fill:rgba(0,0,0,0);stroke:var(--in-fg)}.tp-cbzgv_v{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-cbzgv_h{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;pointer-events:none;position:absolute;width:4px}.tp-cbzgv:focus .tp-cbzgv_h-sel{background-color:var(--in-fg);border-width:0}.tp-cbzprvv{cursor:pointer;height:4px;padding:4px 0;position:relative}.tp-cbzprvv_g{display:block;height:100%;overflow:visible;width:100%}.tp-cbzprvv_t{opacity:.5;stroke:var(--mo-fg)}.tp-cbzprvv_m{background-color:var(--mo-fg);border-radius:50%;height:4px;margin-left:-2px;margin-top:-2px;opacity:0;position:absolute;top:50%;transition:opacity .2s ease-out;width:4px}.tp-cbzprvv_m.tp-cbzprvv_m-a{opacity:1}.tp-fpsv{position:relative}.tp-fpsv_l{bottom:4px;color:var(--mo-fg);line-height:1;right:4px;pointer-events:none;position:absolute}.tp-fpsv_u{margin-left:.2em;opacity:.7}.tp-rslv{cursor:pointer;padding-left:8px;padding-right:8px}.tp-rslv.tp-v-disabled{opacity:.5}.tp-rslv_t{height:calc(var(--bld-us));position:relative}.tp-rslv_t::before{background-color:var(--in-bg);border-radius:1px;content:"";height:2px;margin-top:-1px;position:absolute;top:50%;left:-4px;right:-4px}.tp-rslv_b{bottom:0;top:0;position:absolute}.tp-rslv_b::before{background-color:var(--in-fg);content:"";height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.tp-rslv_k{height:calc(var(--bld-us) - 8px);margin-top:calc((var(--bld-us) - 8px)/-2);position:absolute;top:50%;width:8px}.tp-rslv_k.tp-rslv_k-min{margin-left:-8px}.tp-rslv_k.tp-rslv_k-max{margin-left:0}.tp-rslv.tp-rslv-zero .tp-rslv_k.tp-rslv_k-min{border-bottom-right-radius:0;border-top-right-radius:0}.tp-rslv.tp-rslv-zero .tp-rslv_k.tp-rslv_k-max{border-bottom-left-radius:0;border-top-left-radius:0}.tp-rsltxtv{display:flex}.tp-rsltxtv_s{flex:1}.tp-rsltxtv_t{flex:1;margin-left:4px}.tp-radv_l{display:block;position:relative}.tp-radv_i{left:0;opacity:0;position:absolute;top:0}.tp-radv_b{opacity:.5}.tp-radv_i:hover+.tp-radv_b{background-color:var(--btn-bg-h)}.tp-radv_i:focus+.tp-radv_b{background-color:var(--btn-bg-f)}.tp-radv_i:active+.tp-radv_b{background-color:var(--btn-bg-a)}.tp-radv_i:checked+.tp-radv_b{opacity:1}.tp-radv_t{bottom:0;color:inherit;
1left:0;overflow:hidden;position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:0}.tp-radv_i:disabled+.tp-radv_b>.tp-radv_t{opacity:.5}.tp-radgridv{border-radius:var(--elm-br);display:grid;overflow:hidden;gap:2px}.tp-radgridv.tp-v-disabled{opacity:.5}.tp-radgridv .tp-radv_b{border-radius:0}',accept:(e,t)=>{if(!yt.isObject(e))return null;let l=b,n=S(t,{format:l.optional.function,max:l.optional.number,min:l.optional.number,step:l.optional.number});return n?{initialValue:new yt(e.min,e.max),params:n}:null},binding:{reader:e=>Ot,constraint:e=>Lt(e.params),equals:yt.equals,writer:e=>_t},controller(e){var t;let l=e.value,n=e.constraint;if(!(n instanceof jt))throw a.shouldNeverHappen();let V=(l.rawValue.min+l.rawValue.max)/2,i=null!==(t=e.params.format)&&void 0!==t?t:be(function(e,t){let l=e&&_(e,P);return l?ze(l.step):Math.max(ze(t),2)}(n.edge,V)),r=n.edge&&_(n.edge,L);if(r)return new Dt(e.document,{baseStep:He(n.edge),constraint:n.edge,draggingScale:ve(n.edge,V),formatter:i,parser:ue,sliderProps:new N({maxValue:r.values.value("max"),minValue:r.values.value("min")}),value:l,viewProps:e.viewProps});let s={baseStep:He(n.edge),constraint:n.edge,textProps:N.fromObject({draggingScale:V,formatter:i})};return new qe(e.document,{assembly:Ct,axes:[s,s],parser:ue,value:l,viewProps:e.viewProps})}};class Pt{constructor(e){this.controller_=e}get disabled(){return this.controller_.viewProps.get("disabled")}set disabled(e){this.controller_.viewProps.set("disabled",e)}get title(){var e;return null!==(e=this.controller_.props.get("title"))&&void 0!==e?e:""}set title(e){this.controller_.props.set("title",e)}}class At extends n{constructor(e,t,l,n,V){super(e,n,V),this.cell=t,this.index=l}}class qt extends t{constructor(e){super(e),this.cellToApiMap_=new Map,this.controller_.valueController.cellControllers.forEach((e=>{let t=new Pt(e);this.cellToApiMap_.set(e,t)}))}get value(){return this.controller_.value}cell(e,t){let l=this.controller_.valueController,n=l.cellControllers[t*l.size[0]+e];return this.cellToApiMap_.get(n)}on(e,t){let l=t.bind(this);this.controller_.value.emitter.on(e,(e=>{let t=this.controller_.valueController,n=t.findCellByValue(e.rawValue);if(!n)return;let V=this.cellToApiMap_.get(n);if(!V)return;let i=t.cellControllers.indexOf(n);l(new At(this,V,[i%t.size[0],Math.floor(i/t.size[0])],e.rawValue,void 0))}))}}let $t=o("rad");class el{constructor(e,t){this.element=e.createElement("div"),this.element.classList.add($t()),t.viewProps.bindClassModifiers(this.element);let l=e.createElement("label");l.classList.add($t("l")),this.element.appendChild(l);let n=e.createElement("input");n.classList.add($t("i")),n.name=t.name,n.type="radio",t.viewProps.bindDisabled(n),l.appendChild(n),this.inputElement=n;let V=e.createElement("div");V.classList.add($t("b")),l.appendChild(V);let i=e.createElement("div");i.classList.add($t("t")),V.appendChild(i),R(t.props,"title",(e=>{i.textContent=e}))}}class tl{constructor(e,t){this.props=t.props,this.viewProps=t.viewProps,this.view=new el(e,{name:t.name,props:this.props,viewProps:this.viewProps})}}class ll{constructor(e,t){this.cellCs_=[],this.cellValues_=[],this.onCellInputChange_=this.onCellInputChange_.bind(this),this.size=t.size;let[l,n]=this.size;for(let V=0;V<n;V++)for(let n=0;n<l;n++){let l=new tl(e,{name:t.groupName,props:N.fromObject(Object.assign({},t.cellConfig(n,V))),viewProps:M.create()});this.cellCs_.push(l),this.cellValues_.push(t.cellConfig(n,V).value)}this.value=t.value,d(this.value,(e=>{let t=this.findCellByValue(e);t&&(t.view.inputElement.checked=!0)})),this.viewProps=M.create(),this.view=new H(e,{viewProps:this.viewProps,viewName:"radgrid"}),this.view.element.style.gridTemplateColumns=`repeat(${l}, 1fr)`,this.cellCs_.forEach((e=>{e.view.inputElement.addEventListener("change",this.onCellInputChange_),this.view.element.appendChild(e.view.element)}))}get cellControllers(){return this.cellCs_}findCellByValue(e){let t=this.cellValues_.findIndex((t=>t===e));return t<0?null:this.cellCs_[t]}onCellInputChange_(e){let t=e.currentTarget,l=this.cellCs_.findIndex((e=>e.view.inputElement===t));l<0||(this.value.rawValue=this.cellValues_[l])}}let nl={id:"radiogrid",type:"blade",accept(e){let t=b,l=S(e,{cells:t.required.function,groupName:t.required.string,
1size:t.required.array(t.required.number),value:t.required.raw,view:t.required.constant("radiogrid"),label:t.optional.string});return l?{params:l}:null},controller(e){return new v(e.document,{blade:e.blade,props:N.fromObject({label:e.params.label}),valueController:new ll(e.document,{groupName:e.params.groupName,cellConfig:e.params.cells,size:e.params.size,value:F(e.params.value)})})},api(e){return e.controller instanceof v&&e.controller.valueController instanceof ll?new qt(e.controller):null}};function Vl(e){return{id:"input-radiogrid",type:"input",accept(t,l){if(!e.isType(t))return null;let n=b,V=S(l,{cells:n.required.function,groupName:n.required.string,size:n.required.array(n.required.number),view:n.required.constant("radiogrid")});return V?{initialValue:t,params:V}:null},binding:e.binding,controller:e=>new ll(e.document,{cellConfig:e.params.cells,groupName:e.params.groupName,size:e.params.size,value:e.value})}}let il=Vl({isType:e=>"number"==typeof e,binding:{reader:e=>Ee,writer:e=>Be}}),al=Vl({isType:e=>"string"==typeof e,binding:{reader:e=>Se,writer:e=>Be}}),rl=[rt,kt,zt,Kt,nl,Vl({isType:e=>"boolean"==typeof e,binding:{reader:e=>ne,writer:e=>Be}}),il,al];e.ButtonCellApi=nt,e.ButtonGridApi=it,e.ButtonGridController=at,e.CubicBezier=dt,e.CubicBezierApi=st,e.CubicBezierAssembly=Rt,e.CubicBezierController=Mt,e.CubicBezierGraphController=Tt,e.CubicBezierGraphView=Et,e.CubicBezierPickerController=Gt,e.CubicBezierPickerView=Ft,e.CubicBezierPreviewView=St,e.CubicBezierView=Wt,e.FpsGraphBladeApi=Yt,e.FpsGraphController=wt,e.FpsView=Xt,e.Fpswatch=xt,e.Interval=yt,e.IntervalAssembly=Ct,e.IntervalConstraint=jt,e.RadioCellApi=Pt,e.RadioController=tl,e.RadioGridApi=qt,e.RadioGridController=ll,e.RadioView=el,e.RangeSliderController=It,e.RangeSliderTextController=Dt,e.RangeSliderTextView=Bt,e.RangeSliderView=vt,e.TpRadioGridChangeEvent=At,e.plugins=rl,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?V(e):"function"==typeof define&&l.amdO?define(["exports"],V):V((n=typeof globalThis<"u"?globalThis:n||self).TweakpaneEssentialsPlugin={})})),En=o(((e,t)=>{var n,V=(n=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,l,V=e;V.ready=new Promise(((e,n)=>{t=e,l=n})),["_main","_stm_js_perfnow","_resetUnpackParams","___indirect_function_table","_fflush","__embind_initialize_bindings","___start_em_js","___stop_em_js","onRuntimeInitialized"].forEach((e=>{Object.getOwnPropertyDescriptor(V.ready,e)||Object.defineProperty(V.ready,e,{get:()=>O("You are getting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>O("You are setting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})})),V.arrayToHeap=function(e){let t=e.length*e.BYTES_PER_ELEMENT,l=V._malloc(t),n=V.HEAP8.subarray(l,l+t),i=new Uint8Array(e.buffer,e.byteOffset,t);return n.set(i),l},V.strToHeap=function(e){let t=(new TextEncoder).encode(e),l=t.length+1,n=V._malloc(l),i=V.HEAP8.subarray(n,n+l);return i.set(t),i[t.length]=0,n},V.CreteBuffer=function(e){console.assert(e.buffer instanceof ArrayBuffer),console.assert(e.byteLength>0),V.HEAPU32.buffer==e.buffer&&(e=new Uint8Array(e));let t=e,l=new V.internal$BufferDescriptor(t.byteLength),n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return l.getBytes().set(n),l},V.GetWasmHeapSize=function(){return V.HEAP8.byteLength},V.GetTextureById=function(e){return tl.textures[e]},typeof window<"u"&&window===self&&(window.debugThreads=()=>{let e=()=>{if(V.PThread){V.PThread.DEBUG=!0;let e=V.PThread.unusedWorkers.length+V.PThread.runningWorkers.length,t=V.PThread.runningWorkers.length;console.log(`Thread pool: ${t}/${e} busy`)}else console.log("PThread not initialized yet");setTimeout(e,1e3)};return e(),V.PThread});var i=Object.assign({},V),a=(e,t)=>{throw t},r=!0,s=!1;if(V.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var o,h,d,R="";if(!r&&!s)throw new Error("environment detection error");
1if(s?R=self.location.href:typeof document<"u"&&document.currentScript&&(R=document.currentScript.src),n&&(R=n),R=0!==R.indexOf("blob:")?R.substr(0,R.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},s&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),h=(e,t,l)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):l()},n.onerror=l,n.send(null)};var U,c=console.log.bind(console),p=console.error.bind(console);Object.assign(V,i),i=null,ne("ENVIRONMENT"),ne("GL_MAX_TEXTURE_IMAGE_UNITS"),ne("SDL_canPlayWithWebAudio"),ne("SDL_numSimultaneouslyQueuedBuffers"),ne("INITIAL_MEMORY"),ne("arguments"),ne("canvas"),ne("doNotCaptureKeyboard"),ne("dynamicLibraries"),ne("elementPointerLock"),ne("extraStackTrace"),ne("forcedAspectRatio"),ne("keyboardListeningElement"),ne("freePreloadedMediaOnUse"),ne("loadSplitModule"),ne("logReadFiles"),ne("mem"),ne("monitorRunDependencies"),ne("noExitRuntime"),ne("noInitialRun"),ne("onAbort"),ne("onCustomMessage"),ne("onExit"),ne("onFree"),ne("onFullScreen"),ne("onMalloc"),ne("onRealloc"),ne("onRuntimeInitialized"),ne("postMainLoop"),ne("postRun"),ne("preInit"),ne("preMainLoop"),ne("preRun"),ne("preinitializedWebGLContext"),ne("memoryInitializerRequest"),ne("preloadPlugins"),ne("print"),ne("printErr"),ne("quit"),ne("setStatus"),ne("statusMessage"),ne("stderr"),ne("stdin"),ne("stdout"),ne("thisProgram"),ne("wasm"),ne("wasmBinary"),ne("websocket"),ne("fetchSettings"),le("arguments","arguments_"),le("thisProgram","thisProgram"),le("quit","quit_"),M(typeof V.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),M(typeof V.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),M(typeof V.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),M(typeof V.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),M(typeof V.read>"u","Module.read option was removed (modify read_ in JS)"),M(typeof V.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),M(typeof V.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),M(typeof V.setWindowTitle>"u","Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),M(typeof V.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),le("asm","wasmExports"),le("read","read_"),le("readAsync","readAsync"),le("readBinary","readBinary"),le("setWindowTitle","setWindowTitle"),M(!s,"worker environment detected but not enabled at build time.  Add 'worker' to `-sENVIRONMENT` to enable."),M(!0,"node environment detected but not enabled at build time.  Add 'node' to `-sENVIRONMENT` to enable."),M(!0,"shell environment detected but not enabled at build time.  Add 'shell' to `-sENVIRONMENT` to enable."),le("wasmBinary","wasmBinary"),le("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&O("no native wasm support detected");var Z,W,m,F,N,u,E,b,S,J,T,G=!1;function M(e,t){e||O("Assertion failed"+(t?": "+t:""))}function k(){var e=Z.buffer;V.HEAP8=F=new Int8Array(e),V.HEAP16=u=new Int16Array(e),V.HEAP32=b=new Int32Array(e),V.HEAPU8=N=new Uint8Array(e),V.HEAPU16=E=new Uint16Array(e),V.HEAPU32=S=new Uint32Array(e),V.HEAPF32=J=new Float32Array(e),V.HEAPF64=T=new Float64Array(e)}M(!V.STACK_SIZE,"STACK_SIZE can no longer be set at runtime.  Use -sSTACK_SIZE at link time"),M(typeof Int32Array<"u"&&typeof Float64Array<"u"&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array supp
1ort");var Y,x=134217728;function Q(){if(!G){var e=tn();0==e&&(e+=4);var t=S[e>>2],l=S[e+4>>2];(34821223!=t||2310721022!=l)&&O(`Stack overflow! Stack cookie has been overwritten at ${se(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${se(l)} ${se(t)}`),1668509029!=S[0]&&O("Runtime error: The application has corrupted its heap memory area (address zero)!")}}le("INITIAL_MEMORY","INITIAL_MEMORY"),M(x>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+x+"! (STACK_SIZE=65536)"),Z=V.wasmMemory?V.wasmMemory:new WebAssembly.Memory({initial:x/65536,maximum:32768}),k(),M((x=Z.buffer.byteLength)%65536==0),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var X=[],w=[],f=[],z=[],y=[],C=!1;M(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var j=0,g=null,B=null,H={};function v(e){for(var t=e;;){if(!H[e])return e;e=t+Math.random()}}function I(e){j++,e?(M(!H[e]),H[e]=1,null===g&&typeof setInterval<"u"&&(g=setInterval((()=>{if(G)return clearInterval(g),void(g=null);var e=!1;for(var t in H)e||(e=!0,p("still waiting on run dependencies:")),p("dependency: "+t);e&&p("(end of list)")}),1e4))):p("warning: run dependency added without ID")}function D(e){if(j--,e?(M(H[e]),delete H[e]):p("warning: run dependency removed without ID"),0==j&&(null!==g&&(clearInterval(g),g=null),B)){var t=B;B=null,t()}}function O(e){p(e="Aborted("+e+")"),G=!0,m=1;var t=new WebAssembly.RuntimeError(e);throw l(t),t}var _,L,K,P,A="data:application/octet-stream;base64,";function q(e){return e.startsWith(A)}function $(e){return function(){M(C,`native function \`${e}\` called before runtime initialization`);var t=W[e];return M(t,`exported native function \`${e}\` not found`),t.apply(null,arguments)}}function ee(e){if(e==_&&U)return new Uint8Array(U);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function te(e,t,l){return function(e){return U||!r&&!s||"function"!=typeof fetch?Promise.resolve().then((()=>ee(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>ee(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(l,(e=>{p("failed to asynchronously prepare wasm: "+e),function(e){return e.startsWith("file://")}(_)&&p("warning: Loading from a file URI ("+_+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),O(e)}))}function le(e,t,l=!0){Object.getOwnPropertyDescriptor(V,e)||Object.defineProperty(V,e,{configurable:!0,get(){O(`\`Module.${e}\` has been replaced by \`${t}\``+(l?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":""))}})}function ne(e){Object.getOwnPropertyDescriptor(V,e)&&O(`\`Module.${e}\` was supplied but \`${e}\` not included in INCOMING_MODULE_JS_API`)}function Ve(e){return"FS_createPath"===e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function ie(e){Object.getOwnPropertyDescriptor(V,e)||Object.defineProperty(V,e,{configurable:!0,get(){var t="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";Ve(e)&&(t+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),O(t)}})}function ae(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}q(_="carbonRendererApi.wasm")||(L=_,_=V.locateFile?V.locateFile(L,R):R+L),function(e,t){typeof globalThis<"u"&&Object.defineProperty(globalThis,e,{configurable:!0,get(){oe("`"+e+"` is not longer defined by emscripten. "+t)}})}("buffer","Please use HEAP8.buffer or wasmMemory.buffer");var re=e=>{for(;e.length>0;)e.shift()(V)},se=e=>(M("number"==typeof e),"0x"+(e>>>=0).toString(16).padStart(8,"0")),oe=e=>{oe.shown||(oe.shown={}),oe.shown[e]||(oe.shown[e]=1,p(e))};function he(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){
1S[this.ptr+4>>2]=e},this.get_type=function(){return S[this.ptr+4>>2]},this.set_destructor=function(e){S[this.ptr+8>>2]=e},this.get_destructor=function(){return S[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,F[this.ptr+12|0]=e},this.get_caught=function(){return 0!=F[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,F[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=F[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){S[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return S[this.ptr+16>>2]},this.get_exception_ptr=function(){if(nn(this.get_type()))return S[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var de={};function Re(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Ue(e){return this.fromWireType(b[e>>2])}var ce={},pe={},Ze={},We=void 0;function me(e){throw new We(e)}function Fe(e,t,l){function n(t){var n=l(t);n.length!==e.length&&me("Mismatched type converter count");for(var V=0;V<e.length;++V)Te(e[V],n[V])}e.forEach((function(e){Ze[e]=t}));var V=new Array(t.length),i=[],a=0;t.forEach(((e,t)=>{pe.hasOwnProperty(e)?V[t]=pe[e]:(i.push(e),ce.hasOwnProperty(e)||(ce[e]=[]),ce[e].push((()=>{V[t]=pe[e],++a===i.length&&n(V)})))})),0===i.length&&n(V)}var Ne={};function ue(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${e}`)}}var Ee=void 0;function be(e){for(var t="",l=e;N[l];)t+=Ee[N[l++]];return t}var Se=void 0;function Je(e){throw new Se(e)}function Te(e,t,l={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,l={}){var n=t.name;if(e||Je(`type "${n}" must have a positive integer typeid pointer`),pe.hasOwnProperty(e)){if(l.ignoreDuplicateRegistrations)return;Je(`Cannot register type '${n}' twice`)}if(pe[e]=t,delete Ze[e],ce.hasOwnProperty(e)){var V=ce[e];delete ce[e],V.forEach((e=>e()))}}(e,t,l)}function Ge(e){if(!(this instanceof Pe&&e instanceof Pe))return!1;for(var t=this.$$.ptrType.registeredClass,l=this.$$.ptr,n=e.$$.ptrType.registeredClass,V=e.$$.ptr;t.baseClass;)l=t.upcast(l),t=t.baseClass;for(;n.baseClass;)V=n.upcast(V),n=n.baseClass;return t===n&&l===V}function Me(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function ke(e){Je(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Ye=!1;function xe(e){}function Qe(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function Xe(e,t,l){if(t===l)return e;if(void 0===l.baseClass)return null;var n=Xe(e,t,l.baseClass);return null===n?null:l.downcast(n)}var we={};function fe(){return Object.keys(Be).length}function ze(){var e=[];for(var t in Be)Be.hasOwnProperty(t)&&e.push(Be[t]);return e}var ye=[];function Ce(){for(;ye.length;){var e=ye.pop();e.$$.deleteScheduled=!1,e.delete()}}var je=void 0;function ge(e){je=e,ye.length&&je&&je(Ce)}var Be={};function He(e,t){return t=function(e,t){for(void 0===t&&Je("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),Be[t]}function ve(e,t){return(!t.ptrType||!t.ptr)&&me("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&me("Both smartPtrType and smartPtr must be specified"),t.count={value:1},De(Object.create(e,{$$:{value:t}}))}function Ie(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var l=He(this.registeredClass,t);if(void 0!==l){if(0===l.$$.count.value)return l.$$.ptr=t,l.$$.smartPtr=e,l.clone();var n=l.clone();return this.destructor(e),n}function V(){return this.isSmartPointer?ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),r=we[a];if(!r)return V.call(this);i=this.isConst?r.constPointerType:r.pointerType;var s=Xe(t,this.registeredClass,i.registeredClass);return null===s?V.call(this):this.isSmartPointer?ve(i.registeredClass.instancePrototype,{ptrType:i,ptr:s,smartPtrType:this,smartPtr:e}):ve(i.registeredClass.instancePrototype,{ptrType:i,ptr:s})}var De=function(e){return typeof FinalizationRegistry>"u"?(De=e=>e,e):(Ye=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),Qe(e.$$)})),xe=e=>Ye.unregister(e),(De=e=>{var t=e.$$;if(t.smartPtr){var l={$$:t},n=t.ptrType.registeredClass;l.leakWarning=new Error(`Embind found a leaked C++ instance ${n.name} <${se(t.ptr)}>.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated`),"captureStackTrace"in Error&&Error.captureStackTrace(l.leakWarning,Ie),Ye.register(e,l,e)}return e})(e))};function Oe(){if(this.$$.ptr||ke(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=De(Object.create(Object.getPrototypeOf(this),{$$:{value:Me(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function _e(){this.$$.ptr||ke(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Je("Object already scheduled for deleti
1on"),xe(this),Qe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Le(){return!this.$$.ptr}function Ke(){return this.$$.ptr||ke(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Je("Object already scheduled for deletion"),ye.push(this),1===ye.length&&je&&je(Ce),this.$$.deleteScheduled=!0,this}function Pe(){}var Ae=48,qe=57;function $e(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=Ae&&t<=qe?`_${e}`:e}function et(e,t){return e=$e(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function tt(e,t,l){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Je(`Function '${l}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function lt(e,t,l){V.hasOwnProperty(e)?((void 0===l||void 0!==V[e].overloadTable&&void 0!==V[e].overloadTable[l])&&Je(`Cannot register public name '${e}' twice`),tt(V,e,e),V.hasOwnProperty(l)&&Je(`Cannot register multiple overloads of a function with the same number of arguments (${l})!`),V[e].overloadTable[l]=t):(V[e]=t,void 0!==l&&(V[e].numArguments=l))}function nt(e,t,l,n,V,i,a,r){this.name=e,this.constructor=t,this.instancePrototype=l,this.rawDestructor=n,this.baseClass=V,this.getActualType=i,this.upcast=a,this.downcast=r,this.pureVirtualFunctions=[]}function Vt(e,t,l){for(;t!==l;)t.upcast||Je(`Expected null or instance of ${l.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e}function it(e,t){if(null===t)return this.isReference&&Je(`null is not a valid ${this.name}`),0;t.$$||Je(`Cannot pass "${xt(t)}" as a ${this.name}`),t.$$.ptr||Je(`Cannot pass deleted object as a pointer of type ${this.name}`);var l=t.$$.ptrType.registeredClass;return Vt(t.$$.ptr,l,this.registeredClass)}function at(e,t){var l;if(null===t)return this.isReference&&Je(`null is not a valid ${this.name}`),this.isSmartPointer?(l=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,l),l):0;t.$$||Je(`Cannot pass "${xt(t)}" as a ${this.name}`),t.$$.ptr||Je(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(l=Vt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Je("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?l=t.$$.smartPtr:Je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:l=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)l=t.$$.smartPtr;else{var V=t.clone();l=this.rawShare(l,Mt.toHandle((function(){V.delete()}))),null!==e&&e.push(this.rawDestructor,l)}break;default:Je("Unsupporting sharing policy")}return l}function rt(e,t){if(null===t)return this.isReference&&Je(`null is not a valid ${this.name}`),0;t.$$||Je(`Cannot pass "${xt(t)}" as a ${this.name}`),t.$$.ptr||Je(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Je(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var l=t.$$.ptrType.registeredClass;return Vt(t.$$.ptr,l,this.registeredClass)}function st(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function ot(e){this.rawDestructor&&this.rawDestructor(e)}function ht(e){null!==e&&e.delete()}function dt(e,t,l,n,V,i,a,r,s,o,h){this.name=e,this.registeredClass=t,this.isReference=l,this.isConst=n,this.isSmartPointer=V,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=r,this.rawConstructor=s,this.rawShare=o,this.rawDestructor=h,V||void 0!==t.baseClass?this.toWireType=at:n?(this.toWireType=it,this.destructorFunction=null):(this.toWireType=rt,this.destructorFunction=null)}function Rt(e,t,l){V.hasOwnProperty(e)||me("Replacing nonexistant public symbol"),void 0!==V[e].overloadTable&&void 0!==l?V[e].overloadTable[l]=t:(V[e]=t,V[e].argCount=l)}var Ut=[],ct=e=>{var t=Ut[e];return t||(e>=Ut.length&&(Ut.length=e+1),Ut[e]=t=Y.get(e)),M(Y.get(e)==t,"JavaScript-side Wasm function table mirror is out of date!"),t},pt=(e,t,l)=>e.includes("j")?((e,t,l)=>{M("dynCall_"+e in V,`bad function pointer type - dynCall function not found for sig '${e}'`),l&&l.length?M(l.length===e.substring(1).replace(/j/g,"--").length):M(1==e.length);var n=V["dynCall_"+e];return l&&l.length?n.apply(null,[t].concat(l)):n.call(null,t)})(e,t,l):(M(ct(t),`missing table entry in dynCall: ${t}`),ct(t).apply(null,l)),Zt=(e,t)=>
1{M(e.includes("j")||e.includes("p"),"getDynCaller should only be called with i64 sigs");var l=[];return function(){return l.length=0,Object.assign(l,arguments),pt(e,t,l)}};function Wt(e,t){var l=(e=be(e)).includes("j")?Zt(e,t):ct(t);return"function"!=typeof l&&Je(`unknown function pointer with signature ${e}: ${t}`),l}var mt=void 0;function Ft(e){var t=ql(e),l=be(t);return Kl(t),l}function Nt(e,t){var l=[],n={};throw t.forEach((function e(t){if(!n[t]&&!pe[t]){if(Ze[t])return void Ze[t].forEach(e);l.push(t),n[t]=!0}})),new mt(`${e}: `+l.map(Ft).join([", "]))}function ut(e,t){for(var l=[],n=0;n<e;n++)l.push(S[t+4*n>>2]);return l}function Et(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var l=et(e.name||"unknownFunctionName",(function(){}));l.prototype=e.prototype;var n=new l,V=e.apply(n,t);return V instanceof Object?V:n}function bt(e,t,l,n,V,i){var a=t.length;a<2&&Je("argTypes array size mismatch! Must at least get return value and 'this' types!"),M(!i,"Async bindings are only supported with JSPI.");for(var r=null!==t[1]&&null!==l,s=!1,o=1;o<t.length;++o)if(null!==t[o]&&void 0===t[o].destructorFunction){s=!0;break}var h="void"!==t[0].name,d="",R="";for(o=0;o<a-2;++o)d+=(0!==o?", ":"")+"arg"+o,R+=(0!==o?", ":"")+"arg"+o+"Wired";var U=`\n        return function ${$e(e)}(${d}) {\n        if (arguments.length !== ${a-2}) {\n          throwBindingError('function ${e} called with ${arguments.length} arguments, expected ${a-2} args!');\n        }`;s&&(U+="var destructors = [];\n");var c=s?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],Z=[Je,n,V,Re,t[0],t[1]];for(r&&(U+="var thisWired = classParam.toWireType("+c+", this);\n"),o=0;o<a-2;++o)U+="var arg"+o+"Wired = argType"+o+".toWireType("+c+", arg"+o+"); // "+t[o+2].name+"\n",p.push("argType"+o),Z.push(t[o+2]);if(r&&(R="thisWired"+(R.length>0?", ":"")+R),U+=(h||i?"var rv = ":"")+"invoker(fn"+(R.length>0?", ":"")+R+");\n",s)U+="runDestructors(destructors);\n";else for(o=r?1:2;o<t.length;++o){var W=1===o?"thisWired":"arg"+(o-2)+"Wired";null!==t[o].destructorFunction&&(U+=W+"_dtor("+W+"); // "+t[o].name+"\n",p.push(W+"_dtor"),Z.push(t[o].destructorFunction))}return h&&(U+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),U+="}\n",p.push(U),Et(Function,p).apply(null,Z)}function St(){this.allocated=[void 0],this.freelist=[]}var Jt=new St;function Tt(e){e>=Jt.reserved&&0==--Jt.get(e).refcount&&Jt.free(e)}function Gt(){for(var e=0,t=Jt.reserved;t<Jt.allocated.length;++t)void 0!==Jt.allocated[t]&&++e;return e}var Mt={toValue:e=>(e||Je("Cannot use deleted val. handle = "+e),Jt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Jt.allocate({refcount:1,value:e})}}};function kt(e,t,l){switch(t){case 0:return function(e){var t=l?F:N;return this.fromWireType(t[e])};case 1:return function(e){var t=l?u:E;return this.fromWireType(t[e>>1])};case 2:return function(e){var t=l?b:S;return this.fromWireType(t[e>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function Yt(e,t){var l=pe[e];return void 0===l&&Je(t+" has unknown type "+Ft(e)),l}function xt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Qt(e,t){switch(t){case 2:return function(e){return this.fromWireType(J[e>>2])};case 3:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Xt(e,t,l){switch(t){case 0:return l?function(e){return F[e]}:function(e){return N[e]};case 1:return l?function(e){return u[e>>1]}:function(e){return E[e>>1]};case 2:return l?function(e){return b[e>>2]}:function(e){return S[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var wt=(e,t,l,n)=>{if(M("string"==typeof e),!(n>0))return 0;for(var V=l,i=l+n-1,a=0;a<e.length;++a){var r=e.charCodeAt(a);if(r>=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++a)),r<=127){if(l>=i)break;t[l++]=r}
1else if(r<=2047){if(l+1>=i)break;t[l++]=192|r>>6,t[l++]=128|63&r}else if(r<=65535){if(l+2>=i)break;t[l++]=224|r>>12,t[l++]=128|r>>6&63,t[l++]=128|63&r}else{if(l+3>=i)break;r>1114111&&oe("Invalid Unicode code point "+se(r)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),t[l++]=240|r>>18,t[l++]=128|r>>12&63,t[l++]=128|r>>6&63,t[l++]=128|63&r}}return t[l]=0,l-V},ft=(e,t,l)=>(M("number"==typeof l,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),wt(e,N,t,l)),zt=e=>{for(var t=0,l=0;l<e.length;++l){var n=e.charCodeAt(l);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++l):t+=3}return t},yt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Ct=(e,t,l)=>{for(var n=t+l,V=t;e[V]&&!(V>=n);)++V;if(V-t>16&&e.buffer&&yt)return yt.decode(e.subarray(t,V));for(var i="";t<V;){var a=e[t++];if(128&a){var r=63&e[t++];if(192!=(224&a)){var s=63&e[t++];if(224==(240&a)?a=(15&a)<<12|r<<6|s:(240!=(248&a)&&oe("Invalid UTF-8 leading byte "+se(a)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),a=(7&a)<<18|r<<12|s<<6|63&e[t++]),a<65536)i+=String.fromCharCode(a);else{var o=a-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}}else i+=String.fromCharCode((31&a)<<6|r)}else i+=String.fromCharCode(a)}return i},jt=(e,t)=>(M("number"==typeof e),e?Ct(N,e,t):""),gt=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,Bt=(e,t)=>
1{M(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var l=e,n=l>>1,V=n+t/2;!(n>=V)&&E[n];)++n;if((l=n<<1)-e>32&&gt)return gt.decode(N.subarray(e,l));for(var i="",a=0;!(a>=t/2);++a){var r=u[e+2*a>>1];if(0==r)break;i+=String.fromCharCode(r)}return i},Ht=(e,t,l)=>{if(M(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),M("number"==typeof l,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===l&&(l=2147483647),l<2)return 0;for(var n=t,V=(l-=2)<2*e.length?l/2:e.length,i=0;i<V;++i){var a=e.charCodeAt(i);u[t>>1]=a,t+=2}return u[t>>1]=0,t-n},vt=e=>2*e.length,It=(e,t)=>{M(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var l=0,n="";!(l>=t/4);){var V=b[e+4*l>>2];if(0==V)break;if(++l,V>=65536){var i=V-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(V)}return n},Dt=(e,t,l)=>{if(M(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),M("number"==typeof l,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===l&&(l=2147483647),l<4)return 0;for(var n=t,V=n+l-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),b[t>>2]=a,(t+=4)+4>V)break}return b[t>>2]=0,t-n},Ot=e=>{for(var t=0,l=0;l<e.length;++l){var n=e.charCodeAt(l);n>=55296&&n<=57343&&++l,t+=4}return t},_t={};function Lt(e){var t=_t[e];return void 0===t?be(e):t}var Kt=[];function Pt(){return"object"==typeof globalThis?globalThis:Function("return this")()}var At,qt=[],$t={};At=()=>performance.now();var el=e=>{var t=Z.buffer,l=e-t.byteLength+65535>>>16;try{return Z.grow(l),k(),1}catch(l){p(`growMemory: Attempted to grow heap from ${t.byteLength} bytes to ${e} bytes, but got error: ${l}`)}},tl={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){tl.lastError||(tl.lastError=e)},getNewId:function(e){for(var t=tl.counter++,l=e.length;l<t;l++)e[l]=null;return t},getSource:function(e,t,l,n){for(var V="",i=0;i<t;++i){var a=n?b[n+4*i>>2]:-1;V+=jt(b[l+4*i>>2],a<0?void 0:a)}return V},createContext:function(e,t){if(!e.getContextSafariWebGL2Fixed){let t=function(t,l){var n=e.getContextSafariWebGL2Fixed(t,l);return"webgl"==t==n instanceof WebGLRenderingContext?n:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var l=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return l?tl.registerContext(l,t):0},registerContext:function(e,t){var l=tl.getNewId(tl.contexts),n={handle:l,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),tl.contexts[l]=n,(typeof t.enableExtensionsByDefault>"u"||t.enableExtensionsByDefault)&&tl.initExtensions(n),l},makeContextCurrent:function(e){return tl.currentContext=tl.contexts[e],V.ctx=gl=tl.currentContext&&tl.currentContext.GLctx,!(e&&!gl)},getContext:function(e){return tl.contexts[e]},deleteContext:function(e){tl.currentContext===tl.contexts[e]&&(tl.currentContext=null),"object"==typeof ll&&ll.removeAllHandlersOnTarget(tl.contexts[e].GLctx.canvas),tl.contexts[e]&&tl.contexts[e].GLctx.canvas&&(tl.contexts[e].GLctx.canvas.GLctxObject=void 0),tl.contexts[e]=null},initExtensions:function(e){if(e||(e=tl.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;(function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,l){t.vertexAttribDivisorANGLE(e,l)},e.drawArraysInstanced=function(e,l,n,V){t.drawArraysInstancedANGLE(e,l,n,V)},e.drawElementsInstanced=function(e,l,n,V,i){t.drawElementsInstancedANGLE(e,l,n,V,i)})})(t),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(t),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,l){t.drawBuffersWEBGL(e,l)})}(t),function(e){e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")}(t),function(e){e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),function(e){e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")}
1(t),(t.getSupportedExtensions()||[]).forEach((function(e){!e.includes("lose_context")&&!e.includes("debug")&&t.getExtension(e)}))}}},ll={inEventHandler:0,removeAllEventListeners:function(){for(var e=ll.eventHandlers.length-1;e>=0;--e)ll._removeHandler(e);ll.eventHandlers=[],ll.deferredCalls=[]},registerRemoveEventListeners:function(){ll.removeEventListenersRegistered||(z.push(ll.removeAllEventListeners),ll.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,l){function n(e,t){if(e.length!=t.length)return!1;for(var l in e)if(e[l]!=t[l])return!1;return!0}for(var V in ll.deferredCalls){var i=ll.deferredCalls[V];if(i.targetFunction==e&&n(i.argsList,l))return}ll.deferredCalls.push({targetFunction:e,precedence:t,argsList:l}),ll.deferredCalls.sort((function(e,t){return e.precedence<t.precedence}))},removeDeferredCalls:function(e){for(var t=0;t<ll.deferredCalls.length;++t)ll.deferredCalls[t].targetFunction==e&&(ll.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return navigator.userActivation?navigator.userActivation.isActive:ll.inEventHandler&&ll.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(ll.canPerformEventHandlerRequests())for(var e=0;e<ll.deferredCalls.length;++e){var t=ll.deferredCalls[e];ll.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var l=0;l<ll.eventHandlers.length;++l)ll.eventHandlers[l].target==e&&(!t||t==ll.eventHandlers[l].eventTypeString)&&ll._removeHandler(l--)},_removeHandler:function(e){var t=ll.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),ll.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){if(!e.target)return p("registerOrRemoveHandler: the target element for event handler registration does not exist, when processing the following event handler registration:"),console.dir(e),-4;var t=function(t){++ll.inEventHandler,ll.currentEventHandler=e,ll.runDeferredCalls(),e.handlerFunc(t),ll.runDeferredCalls(),--ll.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),ll.eventHandlers.push(e),ll.registerRemoveEventListeners();else for(var l=0;l<ll.eventHandlers.length;++l)ll.eventHandlers[l].target==e.target&&ll.eventHandlers[l].eventTypeString==e.eventTypeString&&ll._removeHandler(l--);return 0},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},nl=["default","low-power","high-performance"],Vl=[0,document,window];function il(e){return e=function(e){return e>2?jt(e):e}(e),Vl[e]||document.querySelector(e)}var al=function(e,t){M(t);var l=t>>2,n=b[l+6],V={alpha:!!b[l+0],depth:!!b[l+1],stencil:!!b[l+2],antialias:!!b[l+3],premultipliedAlpha:!!b[l+4],preserveDrawingBuffer:!!b[l+5],powerPreference:nl[n],failIfMajorPerformanceCaveat:!!b[l+7],majorVersion:b[l+8],minorVersion:b[l+9],enableExtensionsByDefault:b[l+10],explicitSwapControl:b[l+11],proxyContextToMainThread:b[l+12],renderViaOffscreenBackBuffer:b[l+13]},i=function(e){return il(e)}(e);return!i||V.explicitSwapControl?0:tl.createContext(i,V)},rl={},sl=()=>{if(!sl.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"};for(var t in rl)void 0===rl[t]?delete e[t]:e[t]=rl[t];var l=[];for(var t in e)l.push(`${t}=${e[t]}`);sl.strings=l}return sl.strings}
1,ol={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var l=0,n=e.length-1;n>=0;n--){var V=e[n];"."===V?e.splice(n,1):".."===V?(e.splice(n,1),l++):l&&(e.splice(n,1),l--)}if(t)for(;l;l--)e.unshift("..");return e},normalize:e=>{var t=ol.isAbs(e),l="/"===e.substr(-1);return!(e=ol.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))&&!t&&(e="."),e&&l&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ol.splitPath(e),l=t[0],n=t[1];return l||n?(n&&(n=n.substr(0,n.length-1)),l+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ol.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ol.normalize(e.join("/"))},join2:(e,t)=>ol.normalize(e+"/"+t)},hl=e=>(hl=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);O("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")})())(e),dl={resolve:function(){for(var e="",t=!1,l=arguments.length-1;l>=-1&&!t;l--){var n=l>=0?arguments[l]:El.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ol.isAbs(n)}return(t?"/":"")+(e=ol.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function l(e){for(var t=0;t<e.length&&""===e[t];t++);for(var l=e.length-1;l>=0&&""===e[l];l--);return t>l?[]:e.slice(t,l-t+1)}e=dl.resolve(e).substr(1),t=dl.resolve(t).substr(1);for(var n=l(e.split("/")),V=l(t.split("/")),i=Math.min(n.length,V.length),a=i,r=0;r<i;r++)if(n[r]!==V[r]){a=r;break}var s=[];for(r=a;r<n.length;r++)s.push("..");return(s=s.concat(V.slice(a))).join("/")}},Rl=[];function Ul(e,t,l){var n=l>0?l:zt(e)+1,V=new Array(n),i=wt(e,V,0,V.length);return t&&(V.length=i),V}var cl={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){cl.ttys[e]={input:[],output:[],ops:t},El.registerDevice(e,cl.stream_ops)},stream_ops:{open:function(e){var t=cl.ttys[e.node.rdev];if(!t)throw new El.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,l,n,V){if(!e.tty||!e.tty.ops.get_char)throw new El.ErrnoError(60);for(var i=0,a=0;a<n;a++){var r;try{r=e.tty.ops.get_char(e.tty)}catch{throw new El.ErrnoError(29)}if(void 0===r&&0===i)throw new El.ErrnoError(6);if(null==r)break;i++,t[l+a]=r}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,l,n,V){if(!e.tty||!e.tty.ops.put_char)throw new El.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[l+i])}catch{throw new El.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){return(()=>{if(!Rl.length){var e=null;if(typeof window<"u"&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;Rl=Ul(e,!0)}return Rl.shift()})()},put_char:function(e,t){null===t||10===t?(c(Ct(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(c(Ct(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,l){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(Ct(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(p(Ct(e.output,0)),e.output=[])}}},pl=e=>{e=((e,t)=>(M(t,"alignment argument is required"),Math.ceil(e/t)*t))(e,65536);var t=$l(65536,e);return t?((e,t)=>(N.fill(0,e,e+t),e))(t,e):0},Zl={ops_table:null,mount(e){return Zl.createNode(null,"/",16895,0)},createNode(e,t,l,n){if(El.isBlkdev(l)||El.isFIFO(l))throw new El.ErrnoError(63);Zl.ops_table||(Zl.ops_table={dir:{node:{getattr:Zl.node_ops.getattr,setattr:Zl.node_ops.setattr,lookup:Zl.node_ops.lookup,mknod:Zl.node_ops.mknod,rename:Zl.node_ops.rename,unlink:Zl.node_ops.unlink,rmdir:Zl.node_ops.rmdir,readdir:Zl.node_ops.readdir,symlink:Zl.node_ops.symlink},stream:{llseek:Zl.stream_ops.llseek}},file:{node:{getattr:Zl.node_ops.getattr,setattr:Zl.node_ops.setattr},stream:{llseek:Zl.stream_ops.llseek,read:Zl.stream_ops.read,write:Zl.stream_ops.write,allocate:Zl.stream_ops.allocate,mmap:Zl.stream_ops.mmap,msync:Zl.stream_ops.msync}},link:{node:{getattr:Zl.node_ops.getattr,setattr:Zl.node_ops.setattr,readlink:Zl.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Zl.node_ops.getattr,setattr:Zl.node_ops.setattr},stream:El.chrdev_stream_ops}});var V=El.createNode(e,t,l,n);return El.isDir(V.mode)?(V.node_ops=Zl.ops_table.dir.node,V.stream_ops=Zl.ops_table.dir.stream,V.contents={}
1):El.isFile(V.mode)?(V.node_ops=Zl.ops_table.file.node,V.stream_ops=Zl.ops_table.file.stream,V.usedBytes=0,V.contents=null):El.isLink(V.mode)?(V.node_ops=Zl.ops_table.link.node,V.stream_ops=Zl.ops_table.link.stream):El.isChrdev(V.mode)&&(V.node_ops=Zl.ops_table.chrdev.node,V.stream_ops=Zl.ops_table.chrdev.stream),V.timestamp=Date.now(),e&&(e.contents[t]=V,e.timestamp=V.timestamp),V},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,t){var l=e.contents?e.contents.length:0;if(!(l>=t)){t=Math.max(t,l*(l<1048576?2:1.125)>>>0),0!=l&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var l=e.contents;e.contents=new Uint8Array(t),l&&e.contents.set(l.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=El.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,El.isDir(e.mode)?t.size=4096:El.isFile(e.mode)?t.size=e.usedBytes:El.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Zl.resizeFileStorage(e,t.size)},lookup(e,t){throw El.genericErrors[44]},mknod(e,t,l,n){return Zl.createNode(e,t,l,n)},rename(e,t,l){if(El.isDir(e.mode)){var n;try{n=El.lookupNode(t,l)}catch{}if(n)for(var V in n.contents)throw new El.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=l,t.contents[l]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var l=El.lookupNode(e,t);for(var n in l.contents)throw new El.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var l in e.contents)e.contents.hasOwnProperty(l)&&t.push(l);return t},symlink(e,t,l){var n=Zl.createNode(e,t,41471,0);return n.link=l,n},readlink(e){if(!El.isLink(e.mode))throw new El.ErrnoError(28);return e.link}},stream_ops:{read(e,t,l,n,V){var i=e.node.contents;if(V>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-V,n);if(M(a>=0),a>8&&i.subarray)t.set(i.subarray(V,V+a),l);else for(var r=0;r<a;r++)t[l+r]=i[V+r];return a},write(e,t,l,n,V,i){if(M(!(t instanceof ArrayBuffer)),t.buffer===F.buffer&&(i=!1),!n)return 0;
1var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return M(0===V,"canOwn must imply no weird position inside the file"),a.contents=t.subarray(l,l+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===V)return a.contents=t.slice(l,l+n),a.usedBytes=n,n;if(V+n<=a.usedBytes)return a.contents.set(t.subarray(l,l+n),V),n}if(Zl.expandFileStorage(a,V+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(l,l+n),V);else for(var r=0;r<n;r++)a.contents[V+r]=t[l+r];return a.usedBytes=Math.max(a.usedBytes,V+n),n},llseek(e,t,l){var n=t;if(1===l?n+=e.position:2===l&&El.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new El.ErrnoError(28);return n},allocate(e,t,l){Zl.expandFileStorage(e.node,t+l),e.node.usedBytes=Math.max(e.node.usedBytes,t+l)},mmap(e,t,l,n,V){if(!El.isFile(e.node.mode))throw new El.ErrnoError(43);var i,a,r=e.node.contents;if(2&V||r.buffer!==F.buffer){if((l>0||l+t<r.length)&&(r=r.subarray?r.subarray(l,l+t):Array.prototype.slice.call(r,l,l+t)),a=!0,!(i=pl(t)))throw new El.ErrnoError(48);F.set(r,i)}else a=!1,i=r.byteOffset;return{ptr:i,allocated:a}},msync(e,t,l,n,V){return Zl.stream_ops.write(e,t,0,n,l,!1),0}}},Wl=[];function ml(e,t){var l=0;return e&&(l|=365),t&&(l|=146),l}var Fl={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"
1Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can   access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},Nl={};function ul(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t=function(e){return oe("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),e}(e);return e===t?e:t+" ["+e+"]"}))}var El={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=dl.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new El.ErrnoError(32);for(var l=e.split("/").filter((e=>!!e)),n=El.root,V="/",i=0;i<l.length;i++){var a=i===l.length-1;if(a&&t.parent)break;if(n=El.lookupNode(n,l[i]),V=ol.join2(V,l[i]),El.isMountpoint(n)&&(!a||a&&t.follow_mount)&&(n=n.mounted.root),!a||t.follow)for(var r=0;El.isLink(n.mode);){var s=El.readlink(V);if(V=dl.resolve(ol.dirname(V),s),n=El.lookupPath(V,{recurse_count:t.recurse_count+1}).node,r++>40)throw new El.ErrnoError(32)}}return{path:V,node:n}},getPath:e=>{for(var t;;){if(El.isRoot(e)){var l=e.mount.mountpoint;return t?"/"!==l[l.length-1]?`${l}/${t}`:l+t:l}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName:(e,t)=>{for(var l=0,n=0;n<t.length;n++)l=(l<<5)-l+t.charCodeAt(n)|0;return(e+l>>>0)%El.nameTable.length},hashAddNode:e=>{var t=El.hashName(e.parent.id,e.name);e.name_next=El.nameTable[t],El.nameTable[t]=e},hashRemoveNode:e=>{var t=El.hashName(e.parent.id,e.name);if(El.nameTable[t]===e)El.nameTable[t]=e.name_next;else for(var l=El.nameTable[t];l;){if(l.name_next===e){l.name_next=e.name_next;break}l=l.name_next}},lookupNode:(e,t)=>{var l=El.mayLookup(e);if(l)throw new El.ErrnoError(l,e);
1for(var n=El.hashName(e.id,t),V=El.nameTable[n];V;V=V.name_next){var i=V.name;if(V.parent.id===e.id&&i===t)return V}return El.lookup(e,t)},createNode:(e,t,l,n)=>{M("object"==typeof e);var V=new El.FSNode(e,t,l,n);return El.hashAddNode(V),V},destroyNode:e=>{El.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>El.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>El.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return El.lookupNode(e,t),20}catch{}return El.nodePermissions(e,"wx")},mayDelete:(e,t,l)=>{var n;try{n=El.lookupNode(e,t)}catch(e){return e.errno}var V=El.nodePermissions(e,"wx");if(V)return V;if(l){if(!El.isDir(n.mode))return 54;if(El.isRoot(n)||El.getPath(n)===El.cwd())return 10}else if(El.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?El.isLink(e.mode)?32:El.isDir(e.mode)&&("r"!==El.flagsToPermissionString(t)||512&t)?31:El.nodePermissions(e,El.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=El.MAX_OPEN_FDS;e++)if(!El.streams[e])return e;throw new El.ErrnoError(33)},getStreamChecked:e=>{var t=El.getStream(e);if(!t)throw new El.ErrnoError(8);return t},getStream:e=>El.streams[e],createStream:(e,t=-1)=>(El.FSStream||(El.FSStream=function(){this.shared={}},El.FSStream.prototype={},Object.defineProperties(El.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new El.FSStream,e),-1==t&&(t=El.nextfd()),e.fd=t,El.streams[t]=e,e),closeStream:e=>{El.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=El.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new El.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{El.devices[e]={stream_ops:t}},getDevice:e=>El.devices[e],getMounts:e=>{for(var t=[],l=[e];l.length;){var n=l.pop();t.push(n),l.push.apply(l,n.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),El.syncFSRequests++,El.syncFSRequests>1&&p(`warning: ${El.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var l=El.getMounts(El.root.mount),n=0;function V(e){return M(El.syncFSRequests>0),El.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,V(e));++n>=l.length&&V(null)}l.forEach((t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:(e,t,l)=>{if("string"==typeof e)throw e;var n,V="/"===l,i=!l;if(V&&El.root)throw new El.ErrnoError(10);if(!V&&!i){var a=El.lookupPath(l,{follow_mount:!1});if(l=a.path,n=a.node,El.isMountpoint(n))throw new El.ErrnoError(10);if(!El.isDir(n.mode))throw new El.ErrnoError(54)}var r={type:e,opts:t,mountpoint:l,mounts:[]},s=e.mount(r);return s.mount=r,r.root=s,V?El.root=s:n&&(n.mounted=r,n.mount&&n.mount.mounts.push(r)),s},unmount:e=>{var t=El.lookupPath(e,{follow_mount:!1});if(!El.isMountpoint(t.node))throw new El.ErrnoError(28);var l=t.node,n=l.mounted,V=El.getMounts(n);Object.keys(El.nameTable).forEach((e=>{for(var t=El.nameTable[e];t;){var l=t.name_next;V.includes(t.mount)&&El.destroyNode(t),t=l}})),l.mounted=null;var i=l.mount.mounts.indexOf(n);M(-1!==i),l.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,l)=>{var n=El.lookupPath(e,{parent:!0}).node,V=ol.basename(e);if(!V||"."===V||".."===V)throw new El.ErrnoError(28);var i=El.mayCreate(n,V);if(i)throw new El.ErrnoError(i);if(!n.node_ops.mknod)throw new El.ErrnoError(63);return n.node_ops.mknod(n,V,t,l)},create:(e,t)=>
vendor: 3,476 bytes, line 1
1(t=void 0!==t?t:438,t&=4095,t|=32768,El.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,El.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var l=e.split("/"),n="",V=0;V<l.length;++V)if(l[V]){n+="/"+l[V];try{El.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,l)=>(typeof l>"u"&&(l=t,t=438),t|=8192,El.mknod(e,t,l)),symlink:(e,t)=>{if(!dl.resolve(e))throw new El.ErrnoError(44);var l=El.lookupPath(t,{parent:!0}).node;if(!l)throw new El.ErrnoError(44);var n=ol.basename(t),V=El.mayCreate(l,n);if(V)throw new El.ErrnoError(V);if(!l.node_ops.symlink)throw new El.ErrnoError(63);return l.node_ops.symlink(l,n,e)},rename:(e,t)=>{var l,n,V=ol.dirname(e),i=ol.dirname(t),a=ol.basename(e),r=ol.basename(t);if(l=El.lookupPath(e,{parent:!0}).node,n=El.lookupPath(t,{parent:!0}).node,!l||!n)throw new El.ErrnoError(44);if(l.mount!==n.mount)throw new El.ErrnoError(75);var s,o=El.lookupNode(l,a),h=dl.relative(e,i);if("."!==h.charAt(0))throw new El.ErrnoError(28);if("."!==(h=dl.relative(t,V)).charAt(0))throw new El.ErrnoError(55);try{s=El.lookupNode(n,r)}catch{}if(o!==s){var d=El.isDir(o.mode),R=El.mayDelete(l,a,d);if(R)throw new El.ErrnoError(R);if(R=s?El.mayDelete(n,r,d):El.mayCreate(n,r))throw new El.ErrnoError(R);if(!l.node_ops.rename)throw new El.ErrnoError(63);if(El.isMountpoint(o)||s&&El.isMountpoint(s))throw new El.ErrnoError(10);if(n!==l&&(R=El.nodePermissions(l,"w")))throw new El.ErrnoError(R);El.hashRemoveNode(o);try{l.node_ops.rename(o,n,r)}catch(e){throw e}finally{El.hashAddNode(o)}}},rmdir:e=>{var t=El.lookupPath(e,{parent:!0}).node,l=ol.basename(e),n=El.lookupNode(t,l),V=El.mayDelete(t,l,!0);if(V)throw new El.ErrnoError(V);if(!t.node_ops.rmdir)throw new El.ErrnoError(63);if(El.isMountpoint(n))throw new El.ErrnoError(10);t.node_ops.rmdir(t,l),El.destroyNode(n)},readdir:e=>{var t=El.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new El.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=El.lookupPath(e,{parent:!0}).node;if(!t)throw new El.ErrnoError(44);var l=ol.basename(e),n=El.lookupNode(t,l),V=El.mayDelete(t,l,!1);if(V)throw new El.ErrnoError(V);if(!t.node_ops.unlink)throw new El.ErrnoError(63);if(El.isMountpoint(n))throw new El.ErrnoError(10);t.node_ops.unlink(t,l),El.destroyNode(n)},readlink:e=>{var t=El.lookupPath(e).node;if(!t)throw new El.ErrnoError(44);if(!t.node_ops.readlink)throw new El.ErrnoError(28);return dl.resolve(El.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var l=El.lookupPath(e,{follow:!t}).node;if(!l)throw new El.ErrnoError(44);if(!l.node_ops.getattr)throw new El.ErrnoError(63);return l.node_ops.getattr(l)},lstat:e=>El.stat(e,!0),chmod:(e,t,l)=>{var n;if(!(n="string"==typeof e?El.lookupPath(e,{follow:!l}).node:e).node_ops.setattr)throw new El.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,t)=>{El.chmod(e,t,!0)},fchmod:(e,t)=>{var l=El.getStreamChecked(e);El.chmod(l.node,t)},chown:(e,t,l,n)=>{var V;if(!(V="string"==typeof e?El.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new El.ErrnoError(63);V.node_ops.setattr(V,{timestamp:Date.now()})},lchown:(e,t,l)=>{El.chown(e,t,l,!0)},fchown:(e,t,l)=>{var n=El.getStreamChecked(e);El.chown(n.node,t,l)},truncate:(e,t)=>{if(t<0)throw new El.ErrnoError(28);var l;if(!(l="string"==typeof e?El.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new El.ErrnoError(63);if(El.isDir(l.mode))throw new El.ErrnoError(31);if(!El.isFile(l.mode))throw new El.ErrnoError(28);
1var n=El.nodePermissions(l,"w");if(n)throw new El.ErrnoError(n);l.node_ops.setattr(l,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var l=El.getStreamChecked(e);if(!(2097155&l.flags))throw new El.ErrnoError(28);El.truncate(l.node,t)},utime:(e,t,l)=>{var n=El.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,l)})},open:(e,t,l)=>{if(""===e)throw new El.ErrnoError(44);var n;if(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(typeof t>"u")throw new Error(`Unknown file open mode: ${e}`);return t}(t):t,l=typeof l>"u"?438:l,l=64&t?4095&l|32768:0,"object"==typeof e)n=e;else{e=ol.normalize(e);try{n=El.lookupPath(e,{follow:!(131072&t)}).node}catch{}}var i=!1;if(64&t)if(n){if(128&t)throw new El.ErrnoError(20)}else n=El.mknod(e,l,0),i=!0;if(!n)throw new El.ErrnoError(44);if(El.isChrdev(n.mode)&&(t&=-513),65536&t&&!El.isDir(n.mode))throw new El.ErrnoError(54);if(!i){var a=El.mayOpen(n,t);if(a)throw new El.ErrnoError(a)}512&t&&!i&&El.truncate(n,0),t&=-131713;var r=El.createStream({node:n,path:El.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return r.stream_ops.open&&r.stream_ops.open(r),V.logReadFiles&&!(1&t)&&(El.readFiles||(El.readFiles={}),e in El.readFiles||(El.readFiles[e]=1)),r},close:e=>{if(El.isClosed(e))throw new El.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{El.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,l)=>{if(El.isClosed(e))throw new El.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new El.ErrnoError(70);if(0!=l&&1!=l&&2!=l)throw new El.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,l),e.ungotten=[],e.position},read:(e,t,l,n,V)=>{if(M(l>=0),n<0||V<0)throw new El.ErrnoError(28);if(El.isClosed(e))throw new El.ErrnoError(8);if(1==(2097155&e.flags))throw new El.ErrnoError(8);if(El.isDir(e.node.mode))throw new El.ErrnoError(31);if(!e.stream_ops.read)throw new El.ErrnoError(28);var i=typeof V<"u";if(i){if(!e.seekable)throw new El.ErrnoError(70)}else V=e.position;var a=e.stream_ops.read(e,t,l,n,V);return i||(e.position+=a),a},write:(e,t,l,n,V,i)=>{if(M(l>=0),n<0||V<0)throw new El.ErrnoError(28);if(El.isClosed(e))throw new El.ErrnoError(8);if(!(2097155&e.flags))throw new El.ErrnoError(8);if(El.isDir(e.node.mode))throw new El.ErrnoError(31);if(!e.stream_ops.write)throw new El.ErrnoError(28);e.seekable&&1024&e.flags&&El.llseek(e,0,2);var a=typeof V<"u";if(a){if(!e.seekable)throw new El.ErrnoError(70)}else V=e.position;var r=e.stream_ops.write(e,t,l,n,V,i);return a||(e.position+=r),r},allocate:(e,t,l)=>{if(El.isClosed(e))throw new El.ErrnoError(8);if(t<0||l<=0)throw new El.ErrnoError(28);if(!(2097155&e.flags))throw new El.ErrnoError(8);if(!El.isFile(e.node.mode)&&!El.isDir(e.node.mode))throw new El.ErrnoError(43);if(!e.stream_ops.allocate)throw new El.ErrnoError(138);e.stream_ops.allocate(e,t,l)},mmap:(e,t,l,n,V)=>{if(2&n&&!(2&V)&&2!=(2097155&e.flags))throw new El.ErrnoError(2);if(1==(2097155&e.flags))throw new El.ErrnoError(2);if(!e.stream_ops.mmap)throw new El.ErrnoError(43);return e.stream_ops.mmap(e,t,l,n,V)},msync:(e,t,l,n,V)=>(M(l>=0),e.stream_ops.msync?e.stream_ops.msync(e,t,l,n,V):0),munmap:e=>0,ioctl:(e,t,l)=>{if(!e.stream_ops.ioctl)throw new El.ErrnoError(59);return e.stream_ops.ioctl(e,t,l)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var l,n=El.open(e,t.flags),V=El.stat(e).size,i=new Uint8Array(V);return El.read(n,i,0,V,0),"utf8"===t.encoding?l=Ct(i,0):"binary"===t.encoding&&(l=i),El.close(n),l},writeFile:(e,t,l={})=>{l.flags=l.flags||577;var n=El.open(e,l.flags,l.mode);if("string"==typeof t){var V=new Uint8Array(zt(t)+1),i=wt(t,V,0,V.length);El.write(n,V,0,i,void 0,l.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");El.write(n,t,0,t.byteLength,void 0,l.canOwn)}El.close(n)},cwd:()=>El.currentPath,chdir:e=>{var t=El.lookupPath(e,{follow:!0});if(null===t.node)throw new El.ErrnoError(44);if(!El.isDir(t.node.mode))throw new El.ErrnoError(54);var l=El.nodePermissions(t.node,"x");if(l)throw new El.ErrnoError(l);El.currentPath=t.path},createDefaultDirectories:()=>{El.mkdir("/tmp"),El.mkdir("/home"),El.mkdir("/home/web_user")},createDefaultDevices:()=>{El.mkdir("/dev"),El.registerDevice(El.makedev(1,3),{read:()=>0,write:(e,t,l,n,V)=>n}),El.mkdev("/dev/null",El.makedev(1,3)),cl.register(El.makedev(5,0),cl.default_tty_ops),cl.register(El.makedev(6,0),cl.default_tty1_ops),El.mkdev("/dev/tty",El.makedev(5,0)),El.mkdev("/dev/tty1",El.makedev(6,0));var e=new Uint8Array(1024),t=0,l=()=>(0===t&&(t=hl(e).byteLength),e[--t]);El.createDevice("/dev","random",l),El.createDevice("/dev","urandom",l),El.mkdir("/dev/shm"),El.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{El.mkdir("/proc");var e=El.mkdir("/proc/self");El.mkdir("/proc/self/fd"),El.mount({mount:()=>{var t=El.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var l=+t,n=El.getStreamChecked(l),V={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return V.parent=V,V}},t}},{},"/proc/self/fd")}
1,createStandardStreams:()=>{V.stdin?El.createDevice("/dev","stdin",V.stdin):El.symlink("/dev/tty","/dev/stdin"),V.stdout?El.createDevice("/dev","stdout",null,V.stdout):El.symlink("/dev/tty","/dev/stdout"),V.stderr?El.createDevice("/dev","stderr",null,V.stderr):El.symlink("/dev/tty1","/dev/stderr");var e=El.open("/dev/stdin",0),t=El.open("/dev/stdout",1),l=El.open("/dev/stderr",1);M(0===e.fd,`invalid handle for stdin (${e.fd})`),M(1===t.fd,`invalid handle for stdout (${t.fd})`),M(2===l.fd,`invalid handle for stderr (${l.fd})`)},ensureErrnoError:()=>{El.ErrnoError||(El.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){for(var t in this.errno=e,Nl)if(Nl[t]===e){this.code=t;break}},this.setErrno(e),this.message=Fl[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=ul(this.stack))},El.ErrnoError.prototype=new Error,El.ErrnoError.prototype.constructor=El.ErrnoError,[44].forEach((e=>{El.genericErrors[e]=new El.ErrnoError(e),El.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{El.ensureErrnoError(),El.nameTable=new Array(4096),El.mount(Zl,{},"/"),El.createDefaultDirectories(),El.createDefaultDevices(),El.createSpecialDirectories(),El.filesystems={MEMFS:Zl}},init:(e,t,l)=>{M(!El.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),El.init.initialized=!0,El.ensureErrnoError(),V.stdin=e||V.stdin,V.stdout=t||V.stdout,V.stderr=l||V.stderr,El.createStandardStreams()},quit:()=>{El.init.initialized=!1,Al(0);for(var e=0;e<El.streams.length;e++){var t=El.streams[e];t&&El.close(t)}},findObject:(e,t)=>{var l=El.analyzePath(e,t);return l.exists?l.object:null},analyzePath:(e,t)=>{try{e=(n=El.lookupPath(e,{follow:!t})).path}catch{}var l={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=El.lookupPath(e,{parent:!0});l.parentExists=!0,l.parentPath=n.path,l.parentObject=n.node,l.name=ol.basename(e),n=El.lookupPath(e,{follow:!t}),l.exists=!0,l.path=n.path,l.object=n.node,l.name=n.node.name,l.isRoot="/"===n.path}catch(e){l.error=e.errno}return l},createPath:(e,t,l,n)=>{e="string"==typeof e?e:El.getPath(e);for(var V=t.split("/").reverse();V.length;){var i=V.pop();if(i){var a=ol.join2(e,i);try{El.mkdir(a)}catch{}e=a}}return a},createFile:(e,t,l,n,V)=>{var i=ol.join2("string"==typeof e?e:El.getPath(e),t),a=ml(n,V);return El.create(i,a)},createDataFile:(e,t,l,n,V,i)=>{var a=t;e&&(e="string"==typeof e?e:El.getPath(e),a=t?ol.join2(e,t):e);var r=ml(n,V),s=El.create(a,r);if(l){if("string"==typeof l){for(var o=new Array(l.length),h=0,d=l.length;h<d;++h)o[h]=l.charCodeAt(h);l=o}El.chmod(s,146|r);var R=El.open(s,577);El.write(R,l,0,l.length,0,i),El.close(R),El.chmod(s,r)}return s},createDevice:(e,t,l,n)=>{var V=ol.join2("string"==typeof e?e:El.getPath(e),t),i=ml(!!l,!!n);El.createDevice.major||(El.createDevice.major=64);var a=El.makedev(El.createDevice.major++,0);return El.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,t,n,V,i)=>{for(var a=0,r=0;r<V;r++){var s;try{s=l()}catch{throw new El.ErrnoError(29)}if(void 0===s&&0===a)throw new El.ErrnoError(6);if(null==s)break;a++,t[n+r]=s}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,l,V,i)=>{for(var a=0;a<V;a++)try{n(t[l+a])}catch{throw new El.ErrnoError(29)}return V&&(e.node.timestamp=Date.now()),a}}),El.mkdev(V,i,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=Ul(o(e.url),!0),e.usedBytes=e.contents.length}catch{throw new El.ErrnoError(29)}},createLazyFile:(e,t,l,n,V)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,l=e/this.chunkSize|0;return this.getter(l)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",l,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+l+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),V=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;V||(a=n);var r=this;r.setDataGetter((e=>{var t=e*a,V=(e+1)*a-1;if(V=Math.min(V,n-1),typeof r.chunks[e]>"u"&&(r.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var V=new XMLHttpRequest;if(V.open("GET",l,!1),n!==a&&V.setRequestHeader("Range","bytes="+e+"-"+t),V.responseType="arraybuffer",V.overrideMimeType&&V.overrideMimeType("text/plain;
1 charset=x-user-defined"),V.send(null),!(V.status>=200&&V.status<300||304===V.status))throw new Error("Couldn't load "+l+". Status: "+V.status);return void 0!==V.response?new Uint8Array(V.response||[]):Ul(V.responseText||"",!0)})(t,V)),typeof r.chunks[e]>"u")throw new Error("doXHR failed!");return r.chunks[e]})),(i||!n)&&(a=n=1,n=this.getter(0).length,a=n,c("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!s)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var r={isDevice:!1,contents:a}}else r={isDevice:!1,url:l};var o=El.createFile(e,t,r,n,V);r.contents?o.contents=r.contents:r.url&&(o.contents=null,o.url=r.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var h={};function d(e,t,l,n,V){var i=e.node.contents;if(V>=i.length)return 0;var a=Math.min(i.length-V,n);if(M(a>=0),i.slice)for(var r=0;r<a;r++)t[l+r]=i[V+r];else for(r=0;r<a;r++)t[l+r]=i.get(V+r);return a}return Object.keys(o.stream_ops).forEach((e=>{var t=o.stream_ops[e];h[e]=function(){return El.forceLoadFile(o),t.apply(null,arguments)}})),h.read=(e,t,l,n,V)=>(El.forceLoadFile(o),d(e,t,l,n,V)),h.mmap=(e,t,l,n,V)=>{El.forceLoadFile(o);var i=pl(t);if(!i)throw new El.ErrnoError(48);return d(e,F,i,t,l),{ptr:i,allocated:!0}},o.stream_ops=h,o},absolutePath:()=>{O("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{O("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{O("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{O("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{O("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{O("FS.standardizePath has been removed; use PATH.normalize instead")}},bl={DEFAULT_POLLMASK:5,calculateAt:function(e,t,l){if(ol.isAbs(t))return t;var n;if(n=-100===e?El.cwd():bl.getStreamFromFD(e).path,0==t.length){if(!l)throw new El.ErrnoError(44);return n}return ol.join2(n,t)},doStat:function(e,t,l){try{var n=e(t)}catch(e){if(e&&e.node&&ol.normalize(t)!==ol.normalize(El.getPath(e.node)))return-54;throw e}b[l>>2]=n.dev,b[l+4>>2]=n.mode,S[l+8>>2]=n.nlink,b[l+12>>2]=n.uid,b[l+16>>2]=n.gid,b[l+20>>2]=n.rdev,P=[n.size>>>0,(K=n.size,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],b[l+24>>2]=P[0],b[l+28>>2]=P[1],b[l+32>>2]=4096,b[l+36>>2]=n.blocks;var V=n.atime.getTime(),i=n.mtime.getTime(),a=n.ctime.getTime();return P=[Math.floor(V/1e3)>>>0,(K=Math.floor(V/1e3),+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],b[l+40>>2]=P[0],b[l+44>>2]=P[1],S[l+48>>2]=V%1e3*1e3,P=[Math.floor(i/1e3)>>>0,(K=Math.floor(i/1e3),+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],b[l+56>>2]=P[0],b[l+60>>2]=P[1],S[l+64>>2]=i%1e3*1e3,P=[Math.floor(a/1e3)>>>0,(K=Math.floor(a/1e3),+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],b[l+72>>2]=P[0],b[l+76>>2]=P[1],S[l+80>>2]=a%1e3*1e3,P=[n.ino>>>0,(K=n.ino,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],b[l+88>>2]=P[0],b[l+92>>2]=P[1],0},doMsync:function(e,t,l,n,V){if(!El.isFile(t.node.mode))throw new El.ErrnoError(43);if(2&n)return 0;var i=N.slice(e,e+l);El.msync(t,i,V,l,n)},varargs:void 0,get(){return M(null!=bl.varargs),bl.varargs+=4,b[bl.varargs-4>>2]},getStr(e){return jt(e)},getStreamFromFD:function(e){return El.getStreamChecked(e)}},Sl=[];function Jl(e,t,l,n){for(var V=0;V<e;V++){var i=gl[l](),a=i&&tl.getNewId(n);i?(i.name=a,n[a]=i):tl.recordError(1282),b[t+4*V>>2]=a}}function Tl(e,t){S[e>>2]=t,S[e+4>>2]=(t-S[e>>2])/4294967296;var l=t>=0?function(e){return S[e>>2]+4294967296*S[e+4>>
12]}(e):function(e){return S[e>>2]+4294967296*b[e+4>>2]}(e);l!=t&&oe("writeI53ToI64() out of range: serialized JS Number "+t+" to Wasm heap as bytes lo="+se(S[e>>2])+", hi="+se(S[e+4>>2])+", which deserializes back to "+l+" instead!")}var Gl=e=>{var t=zt(e)+1,l=Ll(t);return l&&ft(e,l,t),l};function Ml(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function kl(e){return 0==(e-=5120)?F:1==e?N:2==e?u:4==e?b:6==e?J:5==e||28922==e||28520==e||30779==e||30782==e?S:E}function Yl(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function xl(e,t,l,n,V,i){var a=kl(e),r=Yl(a),s=1<<r,o=function(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}(t)*s,h=function(e,t,l,n){var V;return t*(e*l+(V=n)-1&-V)}(l,n,o,tl.unpackAlignment);return a.subarray(V>>r,V+h>>r)}function Ql(e){var t=gl.currentProgram;if(t){var l=t.uniformLocsById[e];return"number"==typeof l&&(t.uniformLocsById[e]=l=gl.getUniformLocation(t,t.uniformArrayNamesById[e]+(l>0?"["+l+"]":""))),l}tl.recordError(1282)}var Xl=[],wl=e=>e%4==0&&(e%100!=0||e%400==0),fl=[31,29,31,30,31,30,31,31,30,31,30,31],zl=[31,28,31,30,31,30,31,31,30,31,30,31],yl=(e,t,l,n)=>{var V=b[n+40>>2],i={tm_sec:b[n>>2],tm_min:b[n+4>>2],tm_hour:b[n+8>>2],tm_mday:b[n+12>>2],tm_mon:b[n+16>>2],tm_year:b[n+20>>2],tm_wday:b[n+24>>2],tm_yday:b[n+28>>2],tm_isdst:b[n+32>>2],tm_gmtoff:b[n+36>>2],tm_zone:V?jt(V):""},a=jt(l),r={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var s in r)a=a.replace(new RegExp(s,"g"),r[s]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],h=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,l){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=l[0]+n;return n}function R(e,t){return d(e,t,"0")}function U(e,t){function l(e){return e<0?-1:e>0?1:0}var n;return 0===(n=l(e.getFullYear()-t.getFullYear()))&&0===(n=l(e.getMonth()-t.getMonth()))&&(n=l(e.getDate()-t.getDate())),n}function c(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var t=((e,t)=>{for(var l=new Date(e.getTime());t>0;){var n=wl(l.getFullYear()),V=l.getMonth(),i=(n?fl:zl)[V];if(!(t>i-l.getDate()))return l.setDate(l.getDate()+t),l;t-=i-l.getDate()+1,l.setDate(1),V<11?l.setMonth(V+1):(l.setMonth(0),l.setFullYear(l.getFullYear()+1))}return l})(new Date(e.tm_year+1900,0,1),e.tm_yday),l=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),V=c(l),i=c(n);return U(V,t)<=0?U(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var Z={"%a":e=>o[e.tm_wday].substring(0,3),"%A":e=>o[e.tm_wday],"%b":e=>h[e.tm_mon].substring(0,3),"%B":e=>h[e.tm_mon],"%C":e=>R((e.tm_year+1900)/100|0,2),"%d":e=>R(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>R(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),R(t,2)},"%j":e=>R(e.tm_mday+((e,t)=>{for(var l=0,n=0;n<=t;l+=e[n++]);return l})(wl(e.tm_year+1900)?fl:zl,e.tm_mon-1),3),"%m":e=>R(e.tm_mon+1,2),"%M":e=>R(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>R(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return R(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var l=(e.tm_wday+371-e.tm_yday)%7;4!=l&&(3!=l||!wl(e.tm_year))&&(t=1)}}else{t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&wl(e.tm_year%400-1))&&t++}return R(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return R(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff;return(t>=0?"+":"-")+("0000"+(t=(t=Math.abs(t)/60)/60*100+t%60)).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var s in a=a.replace(/%%/g,"\0\0"),Z)a.includes(s)&&(a=a.replace(new RegExp(s,"g"),Z[s](i)));var W=Ul(a=a.replace(/\0\0/g,"%"),!1);return W.length>t?0:(((e,t)=>{M(e.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),F.set(e,t)})(W,e),W.length-1)},Cl=(e,t)=>{if(m=e,function(){var e=c,t=p,l=!1;c=p=e=>{l=!0};try{Al(0),["stdout","stderr"].forEach((function(e){var t=El.analyzePath("/dev/"+e);
1if(t){var n=t.object.rdev,V=cl.ttys[n];V&&V.output&&V.output.length&&(l=!0)}}))}catch{}c=e,p=t,l&&oe("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}(),!t){var n=`program exited (with status: ${e}), but keepRuntimeAlive() is set (counter=0) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;l(n),p(n)}(e=>{m=e,a(e,new ae(e))})(e)},jl=e=>{if(e instanceof ae||"unwind"==e)return m;Q(),e instanceof WebAssembly.RuntimeError&&ln()<=0&&p("Stack overflow detected.  You can try increasing -sSTACK_SIZE (currently set to 65536)"),a(1,e)};We=V.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ee=e}(),Se=V.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Pe.prototype.isAliasOf=Ge,Pe.prototype.clone=Oe,Pe.prototype.delete=_e,Pe.prototype.isDeleted=Le,Pe.prototype.deleteLater=Ke,V.getInheritedInstanceCount=fe,V.getLiveInheritedInstances=ze,V.flushPendingDeletes=Ce,V.setDelayFunction=ge,dt.prototype.getPointee=st,dt.prototype.destructor=ot,dt.prototype.argPackAdvance=8,dt.prototype.readValueFromPointer=Ue,dt.prototype.deleteObject=ht,dt.prototype.fromWireType=Ie,mt=V.UnboundTypeError=function(e,t){var l=et(t,(function(e){this.name=t,this.message=e;var l=new Error(e).stack;void 0!==l&&(this.stack=this.toString()+"\n"+l.replace(/^Error(:[^\n]*)?\n/,""))}));return l.prototype=Object.create(e.prototype),l.prototype.constructor=l,l.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},l}(Error,"UnboundTypeError"),Object.assign(St.prototype,{get(e){return M(void 0!==this.allocated[e],`invalid handle: ${e}`),this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){M(void 0!==this.allocated[e]),this.allocated[e]=void 0,this.freelist.push(e)}}),Jt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Jt.reserved=Jt.allocated.length,V.count_emval_handles=Gt;var gl,Bl=function(e,t,l,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=El.nextInode++,this.name=t,this.mode=l,this.node_ops={},this.stream_ops={},this.rdev=n},Hl=365,vl=146;Object.defineProperties(Bl.prototype,{read:{get:function(){return(this.mode&Hl)===Hl},set:function(e){e?this.mode|=Hl:this.mode&=~Hl}},write:{get:function(){return(this.mode&vl)===vl},set:function(e){e?this.mode|=vl:this.mode&=~vl}},isFolder:{get:function(){return El.isDir(this.mode)}},isDevice:{get:function(){return El.isChrdev(this.mode)}}}),El.FSNode=Bl,El.createPreloadedFile=function(e,t,l,n,V,i,a,r,s,o){var d=t?dl.resolve(ol.join2(e,t)):e,R=v(`cp ${d}`);function U(l){function h(l){o&&o(),r||El.createDataFile(e,t,l,n,V,s),i&&i(),D(R)}(function(e,t,l,n){typeof Browser<"u"&&Browser.init();var V=!1;return Wl.forEach((function(i){V||i.canHandle(t)&&(i.handle(e,t,l,n),V=!0)})),V})(l,d,h,(()=>{a&&a(),D(R)}))||h(l)}I(R),"string"==typeof l?((e,t,l,n)=>{var V=n?"":v(`al ${e}`);h(e,(l=>{M(l,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(l)),V&&D(V)}),(t=>{if(!l)throw`Loading data file "${e}" failed.`;l()})),V&&I(V)})(l,(e=>U(e)),a):U(l)},El.staticInit(),Nl={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};for(var Il=0;Il<32;++Il)Sl.push(new Array(Il));var Dl=new Float32Array(288);for(Il=0;Il<288;++Il)Xl[Il]=Dl.subarray(0,Il+1);var Ol,_l={__cxa_throw:function(e,t,l){new he(e).init(t,l),M(!1,"Exception thrown, but exception catching is not enabled. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch.")},_embind_finalize_value_array:function(e){var t=de[e];delete de[e];var l=t.elements,n=l.length,V=l.map((function(e){return e.getterReturnType})).concat(l.map((function(e){return e.setterArgumentType}))),i=t.rawConstructor,a=t.rawDestructor;Fe([e],V,(function(e){return l.forEach(((t,l)=>{var V=e[l],i=t.getter,a=t.getterContext,r=e[l+n],s=t.setter,o=t.setterContext;t.read=e=>V.fromWireType(i(a,e)),t.write=(e,t)=>
1{var l=[];s(o,e,r.toWireType(l,t)),Re(l)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(n),V=0;V<n;++V)t[V]=l[V].read(e);return a(e),t},toWireType:function(e,V){if(n!==V.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${n}, actual=${V.length}`);for(var r=i(),s=0;s<n;++s)l[s].write(r,V[s]);return null!==e&&e.push(a,r),r},argPackAdvance:8,readValueFromPointer:Ue,destructorFunction:a}]}))},_embind_finalize_value_object:function(e){var t=Ne[e];delete Ne[e];var l=t.rawConstructor,n=t.rawDestructor,V=t.fields;Fe([e],V.map((e=>e.getterReturnType)).concat(V.map((e=>e.setterArgumentType))),(e=>{var i={};return V.forEach(((t,l)=>{var n=t.fieldName,a=e[l],r=t.getter,s=t.getterContext,o=e[l+V.length],h=t.setter,d=t.setterContext;i[n]={read:e=>a.fromWireType(r(s,e)),write:(e,t)=>{var l=[];h(d,e,o.toWireType(l,t)),Re(l)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var l in i)t[l]=i[l].read(e);return n(e),t},toWireType:function(e,t){for(var V in i)if(!(V in t))throw new TypeError(`Missing field: "${V}"`);var a=l();for(V in i)i[V].write(a,t[V]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:Ue,destructorFunction:n}]}))},_embind_register_bigint:function(e,t,l,n,V){},_embind_register_bool:function(e,t,l,n,V){var i=ue(l);Te(e,{name:t=be(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:V},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===l)n=F;else if(2===l)n=u;else{if(4!==l)throw new TypeError("Unknown boolean type size: "+t);n=b}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,l,n,V,i,a,r,s,o,h,d,R){h=be(h),i=Wt(V,i),r&&(r=Wt(a,r)),o&&(o=Wt(s,o)),R=Wt(d,R);var U=$e(h);lt(U,(function(){Nt(`Cannot construct ${h} due to unbound types`,[n])})),Fe([e,t,l],n?[n]:[],(function(t){var l,V;t=t[0],V=n?(l=t.registeredClass).instancePrototype:Pe.prototype;var a=et(U,(function(){if(Object.getPrototypeOf(this)!==s)throw new Se("Use 'new' to construct "+h);if(void 0===d.constructor_body)throw new Se(h+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Se(`Tried to invoke ctor of ${h} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),s=Object.create(V,{constructor:{value:a}});a.prototype=s;var d=new nt(h,a,s,R,l,i,r,o);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var c=new dt(h,d,!0,!1,!1),p=new dt(h+"*",d,!1,!1,!1),Z=new dt(h+" const*",d,!1,!0,!1);return we[e]={pointerType:p,constPointerType:Z},Rt(U,a),[c,p,Z]}))},_embind_register_class_constructor:function(e,t,l,n,V,i){M(t>0);var a=ut(t,l);V=Wt(n,V),Fe([],[e],(function(e){var l=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Se(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Nt(`Cannot construct ${e.name} due to unbound types`,a)},Fe([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=bt(l,n,null,V,i),[]})),[]}))},_embind_register_class_function:function(e,t,l,n,V,i,a,r,s){var o=ut(l,n);t=be(t),i=Wt(V,i),Fe([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function V(){Nt(`Cannot call ${n} due to unbound types`,o)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),r&&e.registeredClass.pureVirtualFunctions.push(t);var h=e.registeredClass.instancePrototype,d=h[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===l-2?(V.argCount=l-2,V.className=e.name,h[t]=V):(tt(h,t,n),h[t].overloadTable[l-2]=V),Fe([],o,(function(V){var r=bt(n,V,e,i,a,s);return void 0===h[t].overloadTable?(r.argCount=l-2,h[t]=r):h[t].overloadTable[l-2]=r,[]})),[]}))},_embind_register_constant:function(e,t,l){e=be(e),Fe([],[t],(function(t){return t=t[0],V[e]=t.fromWireType(l),[]}))},_embind_register_emval:function(e,t){Te(e,{name:t=be(t),fromWireType:function(e){var t=Mt.toValue(e);return Tt(e),t},toWireType:function(e,t){return Mt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Ue,destructorFunction:null})},_embind_register_enum:function(e,t,l,n){var V=ue(l);function i(){}t=be(t),i.values={},Te(e,{name:t,constructor:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:kt(t,V,n),destructorFunction:null}),lt(t,i)},_embind_register_enum_value:function(e,t,l){var n=Yt(e,"enum");t=be(t);var V=n.constructor,i=Object.create(n.constructor.prototype,{value:{value:l},constructor:{value:et(`${n.name}_${t}`,(function(){}))}});V.values[l]=i,V[t]=i},_embind_register_float:function(e,t,l){var n=ue(l);Te(e,{name:t=be(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError(`Cannot convert ${xt(t)} to ${this.name}`);return t}
1,argPackAdvance:8,readValueFromPointer:Qt(t,n),destructorFunction:null})},_embind_register_function:function(e,t,l,n,V,i,a){var r=ut(t,l);e=be(e),V=Wt(n,V),lt(e,(function(){Nt(`Cannot call ${e} due to unbound types`,r)}),t-1),Fe([],r,(function(l){var n=[l[0],null].concat(l.slice(1));return Rt(e,bt(e,n,null,V,i,a),t-1),[]}))},_embind_register_integer:function(e,t,l,n,V){t=be(t),-1===V&&(V=4294967295);var i=ue(l),a=e=>e;if(0===n){var r=32-8*l;a=e=>e<<r>>>r}var s=t.includes("unsigned"),o=(e,l)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError(`Cannot convert "${xt(e)}" to ${l}`);if(e<n||e>V)throw new TypeError(`Passing a number "${xt(e)}" from JS side to C/C++ side to an argument of type "${t}", which is outside the valid range [${n}, ${V}]!`)};Te(e,{name:t,fromWireType:a,toWireType:s?function(e,t){return o(t,this.name),t>>>0}:function(e,t){return o(t,this.name),t},argPackAdvance:8,readValueFromPointer:Xt(t,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,l){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function V(e){var t=S,l=t[e>>=2],V=t[e+1];return new n(t.buffer,V,l)}Te(e,{name:l=be(l),fromWireType:V,argPackAdvance:8,readValueFromPointer:V},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var l="std::string"===(t=be(t));Te(e,{name:t,fromWireType:function(e){var t,n=S[e>>2],V=e+4;if(l)for(var i=V,a=0;a<=n;++a){var r=V+a;if(a==n||0==N[r]){var s=jt(i,r-i);void 0===t?t=s:(t+="\0",t+=s),i=r+1}}else{var o=new Array(n);for(a=0;a<n;++a)o[a]=String.fromCharCode(N[V+a]);t=o.join("")}return Kl(e),t},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n,V="string"==typeof t;V||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Je("Cannot pass non-string to std::string"),n=l&&V?zt(t):t.length;var i=Ll(4+n+1),a=i+4;if(S[i>>2]=n,l&&V)ft(t,a,n+1);else if(V)for(var r=0;r<n;++r){var s=t.charCodeAt(r);s>255&&(Kl(a),Je("String has UTF-16 code units that do not fit in 8 bits")),N[a+r]=s}else for(r=0;r<n;++r)N[a+r]=t[r];return null!==e&&e.push(Kl,i),i},argPackAdvance:8,readValueFromPointer:Ue,destructorFunction:function(e){Kl(e)}})},_embind_register_std_wstring:function(e,t,l){var n,V,i,a,r;l=be(l),2===t?(n=Bt,V=Ht,a=vt,i=()=>E,r=1):4===t&&(n=It,V=Dt,a=Ot,i=()=>S,r=2),Te(e,{name:l,fromWireType:function(e){for(var l,V=S[e>>2],a=i(),s=e+4,o=0;o<=V;++o){var h=e+4+o*t;if(o==V||0==a[h>>r]){var d=n(s,h-s);void 0===l?l=d:(l+="\0",l+=d),s=h+t}}return Kl(e),l},toWireType:function(e,n){"string"!=typeof n&&Je(`Cannot pass non-string to C++ string type ${l}`);var i=a(n),s=Ll(4+i+t);return S[s>>2]=i>>r,V(n,s+4,i+t),null!==e&&e.push(Kl,s),s},argPackAdvance:8,readValueFromPointer:Ue,destructorFunction:function(e){Kl(e)}})},_embind_register_value_array:function(e,t,l,n,V,i){de[e]={name:be(t),rawConstructor:Wt(l,n),rawDestructor:Wt(V,i),elements:[]}},_embind_register_value_array_element:function(e,t,l,n,V,i,a,r,s){de[e].elements.push({getterReturnType:t,getter:Wt(l,n),getterContext:V,setterArgumentType:i,setter:Wt(a,r),setterContext:s})},_embind_register_value_object:function(e,t,l,n,V,i){Ne[e]={name:be(t),rawConstructor:Wt(l,n),rawDestructor:Wt(V,i),fields:[]}},_embind_register_value_object_field:function(e,t,l,n,V,i,a,r,s,o){Ne[e].fields.push({fieldName:be(t),getterReturnType:l,getter:Wt(n,V),getterContext:i,setterArgumentType:a,setter:Wt(r,s),setterContext:o})},_embind_register_void:function(e,t){Te(e,{isVoid:!0,name:t=be(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emscripten_get_now_is_monotonic:()=>!0,_emval_as:function(e,t,l){e=Mt.toValue(e),t=Yt(t,"emval::as");var n=[],V=Mt.toHandle(n);return S[l>>2]=V,t.toWireType(n,e)},_emval_call_method:function(e,t,l,n,V){return(e=Kt[e])(t=Mt.toValue(t),l=Lt(l),function(e){var t=[];return S[e>>2]=Mt.toHandle(t),t}(n),V)},_emval_call_void_method:function(e,t,l,n){(e=Kt[e])(t=Mt.toValue(t),l=Lt(l),null,n)},_emval_decref:Tt,_emval_get_global:function(e){return 0===e?Mt.toHandle(Pt()):(e=Lt(e),Mt.toHandle(Pt()[e]))},_emval_get_method_caller:function(e,t){var l=function(e,t){for(var l=new Array(e),n=0;n<e;++n)l[n]=Yt(S[t+4*n>>2],"parameter "+n);return l}(e,t),n=l[0],V=n.name+"_$"+l.slice(1).map((function(e){return e.name})).join("_")+"$",i=qt[V];if(void 0!==i)return i;for(var a=["retType"],r=[n],s="",o=0;o<e-1;++o)s+=(0!==o?", ":"")+"arg"+o,a.push("argType"+o),r.push(l[1+o]);var h="return function "+$e("methodCaller_"+V)+"(handle, name, destructors, args) {\n",d=0;for(o=0;o<e-1;++o)h+="    var arg"+o+" = argType"+o+".readValueFromPointer(args"+(d?"+"+d:"")+");\n",d+=l[o+1].argPackAdvance;for(h+="    var rv = handle[name]("+s+");\n",o=0;o<e-1;++o)l[o+1].deleteObject&&(h+="    argType"+o+".deleteObject(arg"+o+");\n");return n.isVoid||(h+="    return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),i=function(e){var t=Kt.length;return Kt.push(e),t}(Et(Function,a).apply(null,r)),qt[V]=i,i},_emval_get_property:function(e,t){return e=Mt.toValue(e),t=Mt.toValue(t),Mt.toHandle(e[t])},_emval_incref:function(e){e>4&&(Jt.get(e).refcount+=1)},_emval_new:function(e,t,l,n){e=Mt.toValue(e);var i=$t[t];
1return i||(i=function(e){for(var t="",l=0;l<e;++l)t+=(0!==l?", ":"")+"arg"+l;var n="return function emval_allocator_"+e+"(constructor, argTypes, args) {\n  var HEAPU32 = getMemory();\n";for(l=0;l<e;++l)n+="var argType"+l+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+l+"');\nvar arg"+l+" = argType"+l+".readValueFromPointer(args);\nargs += argType"+l+"['argPackAdvance'];\nargTypes += 4;\n";return n+="var obj = new constructor("+t+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",n)(Yt,V,Mt.toHandle,(()=>S))}(t),$t[t]=i),i(e,l,n)},_emval_new_cstring:function(e){return Mt.toHandle(Lt(e))},_emval_run_destructors:function(e){Re(Mt.toValue(e)),Tt(e)},_emval_set_property:function(e,t,l){e=Mt.toValue(e),t=Mt.toValue(t),l=Mt.toValue(l),e[t]=l},_emval_take_value:function(e,t){var l=(e=Yt(e,"_emval_take_value")).readValueFromPointer(t);return Mt.toHandle(l)},_emval_typeof:function(e){return e=Mt.toValue(e),Mt.toHandle(typeof e)},abort:()=>{O("native code called abort()")},emscripten_date_now:function(){return Date.now()},emscripten_get_now:At,emscripten_memcpy_big:(e,t,l)=>N.copyWithin(e,t,t+l),emscripten_resize_heap:e=>{var t=N.length;M((e>>>=0)>t);var l,n,V=2147483648;if(e>V)return p(`Cannot enlarge memory, asked to go up to ${e} bytes, but the limit is ${V} bytes!`),!1;for(var i=1;i<=4;i*=2){var a=t*(1+.2/i);a=Math.min(a,e+100663296);var r=Math.min(V,(l=Math.max(e,a))+((n=65536)-l%n)%n);if(el(r))return!0}return p(`Failed to grow the heap from ${t} bytes to ${r} bytes, not enough memory!`),!1},emscripten_webgl_create_context:al,emscripten_webgl_init_context_attributes:function(e){M(e);for(var t=e>>2,l=0;l<14;++l)b[t+l]=0;
1b[t+0]=b[t+1]=b[t+3]=b[t+4]=b[t+8]=b[t+10]=1},emscripten_webgl_make_context_current:function(e){return tl.makeContextCurrent(e)?0:-5},environ_get:(e,t)=>{var l=0;return sl().forEach((function(n,V){var i=t+l;S[e+4*V>>2]=i,((e,t)=>{for(var l=0;l<e.length;++l)M(e.charCodeAt(l)===(255&e.charCodeAt(l))),F[0|t++]=e.charCodeAt(l);F[0|t]=0})(n,i),l+=n.length+1})),0},environ_sizes_get:(e,t)=>{var l=sl();S[e>>2]=l.length;var n=0;return l.forEach((function(e){n+=e.length+1})),S[t>>2]=n,0},fd_close:function(e){try{var t=bl.getStreamFromFD(e);return El.close(t),0}catch(e){if(typeof El>"u"||"ErrnoError"!==e.name)throw e;return e.errno}},fd_read:function(e,t,l,n){try{var V=((e,t,l,n)=>{for(var V=0,i=0;i<l;i++){var a=S[t>>2],r=S[t+4>>2];t+=8;var s=El.read(e,F,a,r,n);if(s<0)return-1;if(V+=s,s<r)break;typeof n<"u"&&(n+=s)}return V})(bl.getStreamFromFD(e),t,l);return S[n>>2]=V,0}catch(e){if(typeof El>"u"||"ErrnoError"!==e.name)throw e;return e.errno}},fd_seek:function(e,t,l,n,V){var i=function(e,t){return M(e==e>>>0||e==(0|e)),M(t===(0|t)),t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}(t,l);try{if(isNaN(i))return 61;var a=bl.getStreamFromFD(e);return El.llseek(a,i,n),P=[a.position>>>0,(K=a.position,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],b[V>>2]=P[0],b[V+4>>2]=P[1],a.getdents&&0===i&&0===n&&(a.getdents=null),0}catch(e){if(typeof El>"u"||"ErrnoError"!==e.name)throw e;return e.errno}},fd_write:function(e,t,l,n){try{var V=((e,t,l,n)=>{for(var V=0,i=0;i<l;i++){var a=S[t>>2],r=S[t+4>>2];t+=8;var s=El.write(e,F,a,r,n);if(s<0)return-1;V+=s,typeof n<"u"&&(n+=s)}return V})(bl.getStreamFromFD(e),t,l);return S[n>>2]=V,0}catch(e){if(typeof El>"u"||"ErrnoError"!==e.name)throw e;return e.errno}},glActiveTexture:function(e){gl.activeTexture(e)},glAttachShader:function(e,t){gl.attachShader(tl.programs[e],tl.shaders[t])},glBindBuffer:function(e,t){35051==e?gl.currentPixelPackBufferBinding=t:35052==e&&(gl.currentPixelUnpackBufferBinding=t),gl.bindBuffer(e,tl.buffers[t])},glBindFramebuffer:function(e,t){gl.bindFramebuffer(e,tl.framebuffers[t])},glBindRenderbuffer:function(e,t){gl.bindRenderbuffer(e,tl.renderbuffers[t])},glBindTexture:function(e,t){gl.bindTexture(e,tl.textures[t])},glBindVertexArray:function(e){gl.bindVertexArray(tl.vaos[e])},glBlendColor:function(e,t,l,n){gl.blendColor(e,t,l,n)},glBlendEquationSeparate:function(e,t){gl.blendEquationSeparate(e,t)},glBlendFuncSeparate:function(e,t,l,n){gl.blendFuncSeparate(e,t,l,n)},glBlitFramebuffer:function(e,t,l,n,V,i,a,r,s,o){gl.blitFramebuffer(e,t,l,n,V,i,a,r,s,o)},glBufferData:function(e,t,l,n){tl.currentContext.version>=2?l&&t?gl.bufferData(e,N,n,l,t):gl.bufferData(e,t,n):gl.bufferData(e,l?N.subarray(l,l+t):t,n)},glBufferSubData:function(e,t,l,n){tl.currentContext.version>=2?l&&gl.bufferSubData(e,t,N,n,l):gl.bufferSubData(e,t,N.subarray(n,n+l))},glClear:function(e){gl.clear(e)},glClearBufferfi:function(e,t,l,n){gl.clearBufferfi(e,t,l,n)},glClearBufferfv:function(e,t,l){gl.clearBufferfv(e,t,J,l>>2)},glClearBufferiv:function(e,t,l){gl.clearBufferiv(e,t,b,l>>2)},glClearColor:function(e,t,l,n){gl.clearColor(e,t,l,n)},glClearDepthf:function(e){gl.clearDepth(e)},glClearStencil:function(e){gl.clearStencil(e)},glColorMask:function(e,t,l,n){gl.colorMask(!!e,!!t,!!l,!!n)},glCompileShader:function(e){gl.compileShader(tl.shaders[e])},glCompressedTexImage2D:function(e,t,l,n,V,i,a,r){tl.currentContext.version>=2?gl.currentPixelUnpackBufferBinding||!a?gl.compressedTexImage2D(e,t,l,n,V,i,a,r):gl.compressedTexImage2D(e,t,l,n,V,i,N,r,a):gl.compressedTexImage2D(e,t,l,n,V,i,r?N.subarray(r,r+a):null)},glCompressedTexImage3D:function(e,t,l,n,V,i,a,r,s){gl.currentPixelUnpackBufferBinding?gl.compressedTexImage3D(e,t,l,n,V,i,a,r,s):gl.compressedTexImage3D(e,t,l,n,V,i,a,N,s,r)},glCreateProgram:function(){var e=tl.getNewId(tl.programs),t=gl.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,tl.programs[e]=t,e},glCreateShader:function(e){var t=tl.getNewId(tl.shaders);return tl.shaders[t]=gl.createShader(e),t},glCullFace:function(e){gl.cullFace(e)},glDeleteBuffers:function(e,t){for(var l=0;l<e;l++){var n=b[t+4*l>>2],V=tl.buffers[n];V&&(gl.deleteBuffer(V),V.name=0,tl.buffers[n]=null,n==gl.currentPixelPackBufferBinding&&(gl.currentPixelPackBufferBinding=0),n==gl.currentPixelUnpackBufferBinding&&(gl.currentPixelUnpackBufferBinding=0))}},glDeleteFramebuffers:function(e,t){for(var l=0;l<e;++l){var n=b[t+4*l>>2],V=tl.framebuffers[n];V&&(gl.deleteFramebuffer(V),V.name=0,tl.framebuffers[n]=null)}},glDeleteProgram:function(e){if(e){var t=tl.programs[e];if(!t)return void tl.recordError(1281);gl.deleteProgram(t),t.name=0,tl.programs[e]=null}},glDeleteRenderbuffers:function(e,t){for(var l=0;l<e;l++){var n=b[t+4*l>>2],V=tl.renderbuffers[n];V&&(gl.deleteRenderbuffer(V),V.name=0,tl.renderbuffers[n]=null)}},glDeleteShader:function(e){if(e){var t=tl.shaders[e];if(!t)return void tl.recordError(1281);gl.deleteShader(t),tl.shaders[e]=null}},glDeleteTextures:function(e,t){for(var l=0;l<e;l++){var n=b[t+4*l>>2],V=tl.textures[n];V&&(gl.deleteTexture(V),V.name=0,tl.textures[n]=null)}},glDeleteVertexArrays:function(e,t){for(var l=0;l<e;l++){var n=b[t+4*l>>2];gl.deleteVertexArray(tl.vaos[n]),tl.vaos[n]=null}},glDepthFunc:function(e){gl.depthFunc(e)},glDepthMask:function(e){gl.depthMask(!!e)},glDisable:function(e){gl.disable(e)},glDisableVertexAttribArray:function(e){gl.disableVertexAttribArray(e)},glDrawArrays:function(e,t,l){gl.drawArrays(e,t,l)},glDrawArraysInstanced:function(e,t,l,n){gl.drawArraysInstanced(e,t,l,n)},glDrawBuffers:function(e,t){for(var l=Sl[e],n=0;n<e;n++)l[n]=b[t+4*n>>2];gl.drawBuffers(l)},glDrawElements:function(e,t,l,n){gl.drawElements(e,t,l,n)},glDrawElementsInstanced:function(e,t,l,n,V){gl.drawElementsInstanced(e,t,l,n,V)},glEnable:function(e){gl.enable(e)},glEnableVertexAttribArray:function(e){gl.enableVertexAttribArray(e)},glFramebufferRenderbuffer:function(e,t,l,n){gl.framebufferRenderbuffer(e,t,l,tl.renderbuffers[n])},glFramebufferTexture2D:function(e,t,l,n,V){gl.framebufferTexture2D(e,t,l,tl.textures[n],V)},glFramebufferTextureLayer:function(e,t,l,n,V){gl.framebufferTextureLayer(e,t,tl.textures[l],n,V)},glFrontFace:function(e){gl.frontFace(e)},glGenBuffers:function(e,t){Jl(e,t,"createBuffer",tl.buffers)},glGenFramebuffers:function(e,t){Jl(e,t,"createFramebuffer",tl.framebuffers)},glGenRenderbuffers:function(e,t){Jl(e,t,"createRenderbuffer",tl.renderbuffers)},glGenTextures:function(e,t){Jl(e,t,"createTexture",tl.textures)},glGenVertexArrays:function(e,t){Jl(e,t,"createVertexArray",tl.vaos)},glGetAttribLocation:function(e,t){return gl.getAttribLocation(tl.programs[e],jt(t))},glGetError:function(){var e=gl.getError()||tl.lastError;return tl.lastError=0,e},glGetIntegerv:function(e,t){!function(e,t,l){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=l&&1!=l&&tl.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var V=gl.getParameter(34467);n=V?V.length:0;break;case 33309:if(tl.currentContext.version<2)return void tl.recordError(1282);
1n=2*(gl.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(tl.currentContext.version<2)return void tl.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=gl.getParameter(e);switch(typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void tl.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void tl.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(l){case 0:b[t+4*a>>2]=i[a];break;case 2:J[t+4*a>>2]=i[a];break;case 4:F[t+a|0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return tl.recordError(1280),void p("GL_INVALID_ENUM in glGet"+l+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+t+")")}}break;default:return tl.recordError(1280),void p("GL_INVALID_ENUM in glGet"+l+"v: Native code calling glGet"+l+"v("+e+") and it returns "+i+" of type "+typeof i+"!")}}switch(l){case 1:Tl(t,n);break;case 0:b[t>>2]=n;break;case 2:J[t>>2]=n;break;case 4:F[0|t]=n?1:0}}else tl.recordError(1281)}(e,t,0)},glGetProgramInfoLog:function(e,t,l,n){var V=gl.getProgramInfoLog(tl.programs[e]);null===V&&(V="(unknown error)");var i=t>0&&n?ft(V,n,t):0;l&&(b[l>>2]=i)},glGetProgramiv:function(e,t,l){if(l)if(e>=tl.counter)tl.recordError(1281);else if(e=tl.programs[e],35716==t){var n=gl.getProgramInfoLog(e);null===n&&(n="(unknown error)"),b[l>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var V=0;V<gl.getProgramParameter(e,35718);++V)e.maxUniformLength=Math.max(e.maxUniformLength,gl.getActiveUniform(e,V).name.length+1);b[l>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength)for(V=0;V<gl.getProgramParameter(e,35721);++V)e.maxAttributeLength=Math.max(e.maxAttributeLength,gl.getActiveAttrib(e,V).name.length+1);b[l>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength)for(V=0;V<gl.getProgramParameter(e,35382);++V)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,gl.getActiveUniformBlockName(e,V).length+1);b[l>>2]=e.maxUniformBlockNameLength}else b[l>>2]=gl.getProgramParameter(e,t);else tl.recordError(1281)},glGetShaderInfoLog:function(e,t,l,n){var V=gl.getShaderInfoLog(tl.shaders[e]);null===V&&(V="(unknown error)");var i=t>0&&n?ft(V,n,t):0;l&&(b[l>>2]=i)},glGetShaderiv:function(e,t,l){if(l)if(35716==t){var n=gl.getShaderInfoLog(tl.shaders[e]);null===n&&(n="(unknown error)");var V=n?n.length+1:0;b[l>>2]=V}else if(35720==t){var i=gl.getShaderSource(tl.shaders[e]),a=i?i.length+1:0;b[l>>2]=a}else b[l>>2]=gl.getShaderParameter(tl.shaders[e],t);else tl.recordError(1281)},glGetString:function(e){var t=tl.stringCache[e];if(!t){switch(e){case 7939:var l=gl.getSupportedExtensions()||[];l=l.concat(l.map((function(e){return"GL_"+e}))),t=Gl(l.join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=gl.getParameter(e);n||tl.recordError(1280),t=n&&Gl(n);break;case 7938:var V=gl.getParameter(7938);V=tl.currentContext.version>=2?"OpenGL ES 3.0 ("+V+")":"OpenGL ES 2.0 ("+V+")",t=Gl(V);break;case 35724:var i=gl.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i="OpenGL ES GLSL ES "+a[1]+" ("+i+")"),t=Gl(i);break;default:tl.recordError(1280)}tl.stringCache[e]=t}return t},glGetStringi:function(e,t){if(tl.currentContext.version<2)return tl.recordError(1282),0;var l=tl.stringiCache[e];if(l)return t<0||t>=l.length?(tl.recordError(1281),0):l[t];if(7939===e){var n=gl.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(e){return"GL_"+e})))).map((function(e){return Gl(e)})),l=tl.stringiCache[e]=n,t<0||t>=l.length?(tl.recordError(1281),0):l[t]}return tl.recordError(1280),0},glGetUniformLocation:function(e,t){if(t=jt(t),e=tl.programs[e]){!function(e){var t,l,n=e.uniformLocsById,V=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;
1t<gl.getProgramParameter(e,35718);++t){var i=gl.getActiveUniform(e,t),a=i.name,r=i.size,s=Ml(a),o=s>0?a.slice(0,s):a,h=e.uniformIdCounter;for(e.uniformIdCounter+=r,V[o]=[r,h],l=0;l<r;++l)n[h]=l,e.uniformArrayNamesById[h++]=o}}(e);var l=e.uniformLocsById,n=0,V=t,i=Ml(t);i>0&&(n=(e=>parseInt(e))(t.slice(i+1))>>>0,V=t.slice(0,i));var a=e.uniformSizeAndIdsByName[V];if(a&&n<a[0]&&(l[n+=a[1]]=l[n]||gl.getUniformLocation(e,t)))return n}else tl.recordError(1281);return-1},glLinkProgram:function(e){e=tl.programs[e],gl.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},glPixelStorei:function(e,t){3317==e&&(tl.unpackAlignment=t),gl.pixelStorei(e,t)},glPolygonOffset:function(e,t){gl.polygonOffset(e,t)},glReadBuffer:function(e){gl.readBuffer(e)},glReadPixels:function(e,t,l,n,V,i,a){if(tl.currentContext.version>=2)if(gl.currentPixelPackBufferBinding)gl.readPixels(e,t,l,n,V,i,a);else{var r=kl(i);gl.readPixels(e,t,l,n,V,i,r,a>>Yl(r))}else{var s=xl(i,V,l,n,a);s?gl.readPixels(e,t,l,n,V,i,s):tl.recordError(1280)}},glRenderbufferStorage:function(e,t,l,n){gl.renderbufferStorage(e,t,l,n)},glRenderbufferStorageMultisample:function(e,t,l,n,V){gl.renderbufferStorageMultisample(e,t,l,n,V)},glScissor:function(e,t,l,n){gl.scissor(e,t,l,n)},glShaderSource:function(e,t,l,n){var V=tl.getSource(e,t,l,n);gl.shaderSource(tl.shaders[e],V)},glStencilFunc:function(e,t,l){gl.stencilFunc(e,t,l)},glStencilFuncSeparate:function(e,t,l,n){gl.stencilFuncSeparate(e,t,l,n)},glStencilMask:function(e){gl.stencilMask(e)},glStencilOp:function(e,t,l){gl.stencilOp(e,t,l)},glStencilOpSeparate:function(e,t,l,n){gl.stencilOpSeparate(e,t,l,n)},glTexImage2D:function(e,t,l,n,V,i,a,r,s){if(tl.currentContext.version>=2)if(gl.currentPixelUnpackBufferBinding)gl.texImage2D(e,t,l,n,V,i,a,r,s);else if(s){var o=kl(r);gl.texImage2D(e,t,l,n,V,i,a,r,o,s>>Yl(o))}else gl.texImage2D(e,t,l,n,V,i,a,r,null);else gl.texImage2D(e,t,l,n,V,i,a,r,s?xl(r,a,n,V,s):null)},glTexImage3D:function(e,t,l,n,V,i,a,r,s,o){if(gl.currentPixelUnpackBufferBinding)gl.texImage3D(e,t,l,n,V,i,a,r,s,o);else if(o){var h=kl(s);gl.texImage3D(e,t,l,n,V,i,a,r,s,h,o>>Yl(h))}else gl.texImage3D(e,t,l,n,V,i,a,r,s,null)},glTexParameterf:function(e,t,l){gl.texParameterf(e,t,l)},glTexParameteri:function(e,t,l){gl.texParameteri(e,t,l)},glUniform1fv:function(e,t,l){if(tl.currentContext.version>=2)t&&gl.uniform1fv(Ql(e),J,l>>2,t);else{if(t<=288)for(var n=Xl[t-1],V=0;V<t;++V)n[V]=J[l+4*V>>2];else n=J.subarray(l>>2,l+4*t>>2);gl.uniform1fv(Ql(e),n)}},glUniform1i:function(e,t){gl.uniform1i(Ql(e),t)},glUniform2fv:function(e,t,l){if(tl.currentContext.version>=2)t&&gl.uniform2fv(Ql(e),J,l>>2,2*t);else{if(t<=144)for(var n=Xl[2*t-1],V=0;V<2*t;V+=2)n[V]=J[l+4*V>>2],n[V+1]=J[l+(4*V+4)>>2];else n=J.subarray(l>>2,l+8*t>>2);gl.uniform2fv(Ql(e),n)}},glUniform3fv:function(e,t,l){if(tl.currentContext.version>=2)t&&gl.uniform3fv(Ql(e),J,l>>2,3*t);else{if(t<=96)for(var n=Xl[3*t-1],V=0;V<3*t;V+=3)n[V]=J[l+4*V>>2],n[V+1]=J[l+(4*V+4)>>2],n[V+2]=J[l+(4*V+8)>>2];else n=J.subarray(l>>2,l+12*t>>2);gl.uniform3fv(Ql(e),n)}},glUniform4fv:function(e,t,l){if(tl.currentContext.version>=2)t&&gl.uniform4fv(Ql(e),J,l>>2,4*t);else{if(t<=72){var n=Xl[4*t-1],V=J;l>>=2;for(var i=0;i<4*t;i+=4){var a=l+i;n[i]=V[a],n[i+1]=V[a+1],n[i+2]=V[a+2],n[i+3]=V[a+3]}}else n=J.subarray(l>>2,l+16*t>>2);gl.uniform4fv(Ql(e),n)}},glUniformMatrix4fv:function(e,t,l,n){if(tl.currentContext.version>=2)t&&gl.uniformMatrix4fv(Ql(e),!!l,J,n>>2,16*t);else{if(t<=18){var V=Xl[16*t-1],i=J;n>>=2;for(var a=0;a<16*t;a+=16){var r=n+a;V[a]=i[r],V[a+1]=i[r+1],V[a+2]=i[r+2],V[a+3]=i[r+3],V[a+4]=i[r+4],V[a+5]=i[r+5],V[a+6]=i[r+6],V[a+7]=i[r+7],V[a+8]=i[r+8],V[a+9]=i[r+9],V[a+10]=i[r+10],V[a+11]=i[r+11],V[a+12]=i[r+12],V[a+13]=i[r+13],V[a+14]=i[r+14],V[a+15]=i[r+15]}}else V=J.subarray(n>>2,n+64*t>>2);gl.uniformMatrix4fv(Ql(e),!!l,V)}},glUseProgram:function(e){e=tl.programs[e],gl.useProgram(e),gl.currentProgram=e},glVertexAttribDivisor:function(e,t){gl.vertexAttribDivisor(e,t)},glVertexAttribPointer:function(e,t,l,n,V,i){gl.vertexAttribPointer(e,t,l,!!n,V,i)},glViewport:function(e,t,l,n){gl.viewport(e,t,l,n)},memory:Z,resetUnpackParams:function(e){let t=jt(e),l=document.querySelector(t).getContext("webgl2");l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,0),l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0)},stm_js_perfnow:function(){return performance.now()},strftime_l:(e,t,l,n,V)=>yl(e,t,l,n)},Ll=(function(){var e={env:_l,wasi_snapshot_preview1:_l};
1function t(e,t){var l=e.exports;return M(Y=(W=l).__indirect_function_table,"table not found in wasm exports"),function(e){w.unshift(e)}(W.__wasm_call_ctors),D("wasm-instantiate"),l}I("wasm-instantiate");var n=V;if(V.instantiateWasm)try{return V.instantiateWasm(e,t)}catch(e){p("Module.instantiateWasm callback failed with error: "+e),l(e)}(function(e,t,l,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||q(t)||"function"!=typeof fetch?te(t,l,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,l).then(n,(function(e){return p("wasm streaming compile failed: "+e),p("falling back to ArrayBuffer instantiation"),te(t,l,n)}))))})(U,_,e,(function(e){M(V===n,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),n=null,t(e.instance)})).catch(l)}(),$("__wasm_call_ctors"),$("malloc")),Kl=$("free"),Pl=V._main=$("main"),Al=($("__errno_location"),V._fflush=$("fflush")),ql=$("__getTypeName"),$l=(V.__embind_initialize_bindings=$("_embind_initialize_bindings"),$("emscripten_builtin_memalign")),en=($("setTempRet0"),()=>(en=W.emscripten_stack_init)()),tn=()=>(tn=W.emscripten_stack_get_end)(),ln=($("stackSave"),$("stackRestore"),$("stackAlloc"),()=>(ln=W.emscripten_stack_get_current)()),nn=$("__cxa_is_pointer_type");function Vn(){en(),function(){var e=tn();M(!(3&e)),0==e&&(e+=4),S[e>>2]=34821223,S[e+4>>2]=2310721022,S[0]=1668509029}()}function an(){j>0||(Vn(),re(X),j>0)||(Ol||(Ol=!0,V.calledRun=!0,!G&&(M(!C),C=!0,Q(),!V.noFSInit&&!El.init.initialized&&El.init(),El.ignorePermissions=!1,cl.init(),re(w),Q(),re(f),t(V),rn&&function(){M(0==j,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'),M(0==X.length,"cannot call main when preRun functions remain to be called");var e=Pl;try{var t=e(0,0);return Cl(t,!0),t}catch(e){return jl(e)}}(),Q(),re(y))),Q())}V.dynCall_viijii=$("dynCall_viijii"),V.dynCall_jiji=$("dynCall_jiji"),V.dynCall_iiiiij=$("dynCall_iiiiij"),V.dynCall_iiiiijj=$("dynCall_iiiiijj"),V.dynCall_iiiiiijj=$("dynCall_iiiiiijj"),V.___start_em_js=297572,V.___stop_em_js=297902,V.UTF8ToString=jt,["writeI53ToI64Clamped","writeI53ToI64Signaling","
1writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertU32PairToI53","ydayFromDate","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","getCallstack","emscriptenLog","convertPCtoSourceLocation","readEmAsmArgs","jstoi_s","listenOnce","autoResumeAudioContext","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","stringToUTF8OnStack","registerKeyEventCallback","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","stackTrace","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","findMatchingCatch","setMainLoop","getSocketFromFD","getSocketAddress","_setNetworkCallback","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","emscriptenWebGLGetIndexed","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","registerInheritedInstance","unregisterInheritedInstance","validateThis"].forEach((function(e){typeof globalThis<"u"&&!Object.getOwnPropertyDescriptor(globalThis,e)&&Object.defineProperty(globalThis,e,{configurable:!0,get(){var t="`"+e+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line",l=e;l.startsWith("_")||(l="$"+e),t+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='"+l+"')",Ve(e)&&(t+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),oe(t)}}),ie(e)})),["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","wasmTable","wasmExports","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","convertI32PairToI53Checked","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","arraySum","addDays","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","jstoi_q","getExecutableName","dynCallLegacy","getDynCaller","dynCall","handleException","asyncLoad","alignMemory","mmapAlloc","handleAllocatorInit","HandleAllocator","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","writeArrayToMemory","JSEvents","specialHTMLTargets","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","demangle","demangleAll","ExitStatus","getEnvStrings","doReadv","doWritev","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","Browser","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","GL","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","__glGenObject","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscripten_webgl_power_preferences","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","GLFW","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCo
1des","readLatin1String","getTypeName","heap32VectorToArray","requireRegisteredType","UnboundTypeError","PureVirtualError","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","getShiftFromSize","integerReadValueFromPointer","enumReadValueFromPointer","floatReadValueFromPointer","simpleReadValueFromPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_getPointee","RegisteredPointer_destructor","RegisteredPointer_deleteObject","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","ClassHandle_isAliasOf","throwInstanceAlreadyDeleted","ClassHandle_clone","ClassHandle_delete","deletionQueue","ClassHandle_isDeleted","ClassHandle_deleteLater","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","char_0","char_9","makeLegalFunctionName","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_newers","craftEmvalAllocator","emval_get_global","emval_lookupTypes","emval_allocateDestructors","emval_methodCallers","emval_addMethodCaller","emval_registeredMethods"].forEach(ie),B=function e(){Ol||an(),Ol||(B=e)};var rn=!1;return an(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=V:"function"==typeof define&&l.amdO&&define([],(()=>V))})),bn=h(m());function Sn(e){for(var t=arguments.length,l=new Array(t>1?t-1:0),n=1;n<t;n++)l[n-1]=arguments[n];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(l.length?" "+l.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}var Jn={};function Tn(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:Jn}var Gn=Object.assign,Mn=Object.getOwnPropertyDescriptor,kn=Object.defineProperty,Yn=Object.prototype,xn=[];Object.freeze(xn);var Qn={};Object.freeze(Qn);var Xn=typeof Proxy<"u",wn=Object.toString();function fn(){Xn||Sn("Proxy not available")}function zn(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var yn=function(){};function Cn(e){return"function"==typeof e}function jn(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function gn(e){return null!==e&&"object"==typeof e}function Bn(e){if(!gn(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var l=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof l&&l.toString()===wn}function Hn(e){var t=e?.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function vn(e,t,l){kn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:l})}function In(e,t,l){kn(e,t,{enumerable:!1,writable:!1,configurable:!0,value:l})}function Dn(e,t){var l="isMobX"+e;return t.prototype[l]=!0,function(e){return gn(e)&&!0===e[l]}}function On(e){return e instanceof Map}function _n(e){return e instanceof Set}var Ln=typeof Object.getOwnPropertySymbols<"u";var Kn=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Ln?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function Pn(e){return null===e?null:"object"==typeof e?""+e:e}function An(e,t){return Yn.hasOwnProperty.call(e,t)}var qn=Object.getOwnPropertyDescriptors||function(e){var t={};return Kn(e).forEach((function(l){t[l]=Mn(e,l)})),t};function $n(e,t){for(var l=0;l<t.length;l++){var n=t[l];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,rV(n.key),n)}}function eV(e,t,l){return t&&$n(e.prototype,t),l&&$n(e,l),Object.defineProperty(e,"prototype",{writable:!1}),e}function tV(){return tV=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},tV.apply(this,arguments)}function lV(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,nV(e,t)}
1function nV(e,t){return(nV=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function VV(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function iV(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}function aV(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=function(e,t){if(e){if("string"==typeof e)return iV(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if("Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l)return Array.from(e);if("Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return iV(e,t)}}(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function rV(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var sV=Symbol("mobx-stored-annotations");function oV(e){return Object.assign((function(t,l){hV(t,l,e)}),e)}function hV(e,t,l){An(e,sV)||vn(e,sV,tV({},e[sV])),function(e){return e.annotationType_===mV}(l)||(e[sV][t]=l)}var dV=Symbol("mobx administration"),RV=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.isPendingUnobservation_=!1,this.isBeingObserved_=!1,this.observers_=new Set,this.diffValue_=0,this.lastAccessedBy_=0,this.lowestObserverState_=Ui.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;
1return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return yi(this)},t.reportChanged=function(){fi(),Ci(this),xi.stateVersion=xi.stateVersion<Number.MAX_SAFE_INTEGER?xi.stateVersion+1:Number.MIN_SAFE_INTEGER,zi()},t.toString=function(){return this.name_},e}(),UV=Dn("Atom",RV);function cV(e,t,l){void 0===t&&(t=yn),void 0===l&&(l=yn);var n=new RV(e);return t!==yn&&function(e,t,l){oa(aa,e,t,l)}(n,t),l!==yn&&sa(n,l),n}var pV={identity:function(e,t){return e===t},structural:function(e,t){return Fr(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Fr(e,t,1)}};function ZV(e,t,l){return Wa(e)?e:Array.isArray(e)?LV.array(e,{name:l}):Bn(e)?LV.object(e,void 0,{name:l}):On(e)?LV.map(e,{name:l}):_n(e)?LV.set(e,{name:l}):"function"!=typeof e||la(e)||Za(e)?e:Hn(e)?ca(e):ea(l,e)}function WV(e){return e}var mV="override";function FV(e,t){return{annotationType_:e,options_:t,make_:NV,extend_:uV}}function NV(e,t,l,n){var V;if(null!=(V=this.options_)&&V.bound)return null===this.extend_(e,t,l,!1)?0:1;if(n===e.target_)return null===this.extend_(e,t,l,!1)?0:2;if(la(l.value))return 1;var i=EV(e,this,t,l,!1);return kn(n,t,i),2}function uV(e,t,l,n){var V=EV(e,this,t,l);return e.defineProperty_(t,V,n)}function EV(e,t,l,n,V){var i,a,r,s,o,h,d;void 0===V&&(V=xi.safeDescriptors),function(e,t,l,n){t.annotationType_,n.value}(0,t,0,n);var R,U=n.value;null!=(i=t.options_)&&i.bound&&(U=U.bind(null!=(R=e.proxy_)?R:e.target_));return{value:ai(null!=(a=null==(r=t.options_)?void 0:r.name)?a:l.toString(),U,null!=(s=null==(o=t.options_)?void 0:o.autoAction)&&s,null!=(h=t.options_)&&h.bound?null!=(d=e.proxy_)?d:e.target_:void 0),configurable:!V||e.isPlainObject_,enumerable:!1,writable:!V}}function bV(e,t){return{annotationType_:e,options_:t,make_:SV,extend_:JV}}function SV(e,t,l,n){var V;if(n===e.target_)return null===this.extend_(e,t,l,!1)?0:2;if(null!=(V=this.options_)&&V.bound&&(!An(e.target_,t)||!Za(e.target_[t]))&&null===this.extend_(e,t,l,!1))return 0;if(Za(l.value))return 1;var i=TV(e,this,t,l,!1,!1);return kn(n,t,i),2}function JV(e,t,l,n){var V,i=TV(e,this,t,l,null==(V=this.options_)?void 0:V.bound);return e.defineProperty_(t,i,n)}function TV(e,t,l,n,V,i){void 0===i&&(i=xi.safeDescriptors),function(e,t,l,n){t.annotationType_,n.value}(0,t,0,n);var a,r=n.value;(Za(r)||(r=ca(r)),V)&&((r=r.bind(null!=(a=e.proxy_)?a:e.target_)).isMobXFlow=!0);return{value:r,configurable:!i||e.isPlainObject_,enumerable:!1,writable:!i}}function GV(e,t){return{annotationType_:e,options_:t,make_:MV,extend_:kV}}function MV(e,t,l){return null===this.extend_(e,t,l,!1)?0:1}function kV(e,t,l,n){return function(e,t,l,n){t.annotationType_,n.get}(0,this,0,l),e.defineComputedProperty_(t,tV({},this.options_,{get:l.get,set:l.set}),n)}function YV(e,t){return{annotationType_:e,options_:t,make_:xV,extend_:QV}}function xV(e,t,l){return null===this.extend_(e,t,l,!1)?0:1}function QV(e,t,l,n){var V,i;return function(e,t){t.annotationType_}(0,this),e.defineObservableProperty_(t,l.value,null!=(V=null==(i=this.options_)?void 0:i.enhancer)?V:ZV,n)}var XV="true",wV=fV();function fV(e){return{annotationType_:XV,options_:e,make_:zV,extend_:yV}}function zV(e,t,l,n){var V,i,a,r;if(l.get)return qV.make_(e,t,l,n);if(l.set){var s=ai(t.toString(),l.set);return n===e.target_?null===e.defineProperty_(t,{configurable:!xi.safeDescriptors||e.isPlainObject_,set:s})?0:2:(kn(n,t,{configurable:!0,set:s}),2)}if(n!==e.target_&&"function"==typeof l.value)return Hn(l.value)?(null!=(r=this.options_)&&r.autoBind?ca.bound:ca).make_(e,t,l,n):(null!=(a=this.options_)&&a.autoBind?ea.bound:ea).make_(e,t,l,n);var o,h=!1===(null==(V=this.options_)?void 0:V.deep)?LV.ref:LV;"function"==typeof l.value&&null!=(i=this.options_)&&i.autoBind&&(l.value=l.value.bind(null!=(o=e.proxy_)?o:e.target_));return h.make_(e,t,l,n)}function yV(e,t,l,n){var V,i,a;if(l.get)return qV.extend_(e,t,l,n);if(l.set)return e.defineProperty_(t,{configurable:!xi.safeDescriptors||e.isPlainObject_,set:ai(t.toString(),l.set)},n);"function"==typeof l.value&&null!=(V=this.options_)&&V.autoBind&&(l.value=l.value.bind(null!=(a=e.proxy_)?a:e.target_));return(!1===(null==(i=this.options_)?void 0:i.deep)?LV.ref:LV).extend_(e,t,l,n)}var CV={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function jV(e){return e||CV}Object.freeze(CV);var gV=YV("observable"),BV=YV("observable.ref",{enhancer:WV}),HV=YV("observable.shallow",{enhancer:function(e,t,l){return null==e||Vr(e)||ja(e)||Oa(e)||Aa(e)?e:Array.isArray(e)?LV.array(e,{name:l,deep:!1}):Bn(e)?LV.object(e,void 0,{name:l,deep:!1}):On(e)?LV.map(e,{name:l,deep:!1}):_n(e)?LV.set(e,{name:l,deep:!1}):void 0}}),vV=YV("observable.struct",{enhancer:function(e,t){return Fr(e,t)?t:e}}
1),IV=oV(gV);function DV(e){return!0===e.deep?ZV:!1===e.deep?WV:function(e){var t,l;return e&&null!=(t=null==(l=e.options_)?void 0:l.enhancer)?t:ZV}(e.defaultDecorator)}function OV(e,t,l){if(!jn(t))return Wa(e)?e:Bn(e)?LV.object(e,t,l):Array.isArray(e)?LV.array(e,t):On(e)?LV.map(e,t):_n(e)?LV.set(e,t):"object"==typeof e&&null!==e?e:LV.box(e,t);hV(e,t,gV)}Gn(OV,IV);var _V={box:function(e,t){var l=jV(t);return new Ri(e,DV(l),l.name,!0,l.equals)},array:function(e,t){var l=jV(t);return(!1===xi.useProxies||!1===l.proxy?cr:Qa)(e,DV(l),l.name)},map:function(e,t){var l=jV(t);return new Da(e,DV(l),l.name)},set:function(e,t){var l=jV(t);return new Pa(e,DV(l),l.name)},object:function(e,t,l){return function(e,t,l,n){var V=qn(t),i=tr(e,n)[dV];fi();try{Kn(V).forEach((function(e){i.extend_(e,V[e],!l||!(e in l)||l[e])}))}finally{zi()}return e}(!1===xi.useProxies||!1===l?.proxy?tr({},l):function(e,t){var l,n;return fn(),e=tr(e,t),null!=(n=(l=e[dV]).proxy_)?n:l.proxy_=new Proxy(e,Na)}({},l),e,t)},ref:oV(BV),shallow:oV(HV),deep:IV,struct:oV(vV)},LV=Gn(OV,_V),KV="computed",PV=GV(KV),AV=GV("computed.struct",{equals:pV.structural}),qV=function(e,t){if(jn(t))return hV(e,t,PV);if(Bn(e))return oV(GV(KV,e));var l=Bn(t)?t:{};return l.get=e,l.name||(l.name=e.name||""),new Zi(l)};Object.assign(qV,PV),qV.struct=oV(AV);var $V,ei,ti,li=0,ni=1,Vi=null!=($V=null==(ei=Mn((function(){}),"name"))?void 0:ei.configurable)&&$V,ii={value:"action",configurable:!0,writable:!1,enumerable:!1};function ai(e,t,l,n){function V(){return ri(e,l,t,n||this,arguments)}return void 0===l&&(l=!1),V.isMobxAction=!0,Vi&&(ii.value=e,kn(V,"name",ii)),V}function ri(e,t,l,n,V){var i=function(e,t){var l=!1,n=0;0;var V=xi.trackingDerivation,i=!t||!V;fi();var a=xi.allowStateChanges;i&&(Si(),a=oi(!0));var r=Ti(!0),s={runAsAction_:i,prevDerivation_:V,prevAllowStateChanges_:a,prevAllowStateReads_:r,notifySpy_:l,startTime_:n,actionId_:ni++,parentActionId_:li};return li=s.actionId_,s}(0,t);try{return l.apply(n,V)}catch(e){throw i.error_=e,e}finally{!function(e){li!==e.actionId_&&Sn(30),li=e.parentActionId_,void 0!==e.error_&&(xi.suppressReactionErrors=!0),hi(e.prevAllowStateChanges_),Gi(e.prevAllowStateReads_),zi(),e.runAsAction_&&Ji(e.prevDerivation_),xi.suppressReactionErrors=!1}(i)}}function si(e,t){var l=oi(e);try{return t()}finally{hi(l)}}function oi(e){var t=xi.allowStateChanges;return xi.allowStateChanges=e,t}function hi(e){xi.allowStateChanges=e}ti=Symbol.toPrimitive;var di,Ri=function(e){function t(t,l,n,V,i){var a;return void 0===n&&(n="ObservableValue"),void 0===V&&(V=!0),void 0===i&&(i=pV.default),(a=e.call(this,n)||this).enhancer=void 0,a.name_=void 0,a.equals=void 0,a.hasUnreportedChange_=!1,a.interceptors_=void 0,a.changeListeners_=void 0,a.value_=void 0,a.dehancer=void 0,a.enhancer=l,a.name_=n,a.equals=i,a.value_=l(t,void 0,n),a}lV(t,e);var l=t.prototype;return l.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},l.set=function(e){this.value_;if((e=this.prepareNewValue_(e))!==xi.UNCHANGED){this.setNewValue_(e)}},l.prepareNewValue_=function(e){if(ua(this)){var t=ba(this,{object:this,type:ka,newValue:e});if(!t)return xi.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?xi.UNCHANGED:e},l.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),Sa(this)&&Ta(this,{type:ka,object:this,newValue:e,oldValue:t})},l.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},l.intercept_=function(e){return Ea(this,e)},l.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:ka,newValue:this.value_,oldValue:void 0}),Ja(this,e)},l.raw=function(){return this.value_},l.toJSON=function(){return this.get()},l.toString=function(){return this.name_+"["+this.value_+"]"},l.valueOf=function(){return Pn(this.get())},l[ti]=function(){return this.valueOf()},t}(RV);di=Symbol.toPrimitive;var Ui,ci,pi,Zi=function(){function e(e){this.dependenciesState_=Ui.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.isBeingObserved_=!1,this.isPendingUnobservation_=!1,this.observers_=new Set,this.diffValue_=0,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=Ui.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new mi(null),this.name_=void 0,this.triggeredBy_=void 0,this.isComputing_=!1,this.isRunningSetter_=!1,this.derivation=void 0,this.setter_=void 0,this.isTracing_=pi.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||Sn(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=ai("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?pV.structural
1:pV.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){!function(e){e.lowestObserverState_===Ui.UP_TO_DATE_&&(e.lowestObserverState_=Ui.POSSIBLY_STALE_,e.observers_.forEach((function(e){e.dependenciesState_===Ui.UP_TO_DATE_&&(e.dependenciesState_=Ui.POSSIBLY_STALE_,e.onBecomeStale_())})))}(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.get=function(){if(this.isComputing_&&Sn(32,this.name_,this.derivation),0!==xi.inBatch||0!==this.observers_.size||this.keepAlive_){if(yi(this),Ni(this)){var e=xi.trackingContext;this.keepAlive_&&!e&&(xi.trackingContext=this),this.trackAndCompute()&&function(e){e.lowestObserverState_!==Ui.STALE_&&(e.lowestObserverState_=Ui.STALE_,e.observers_.forEach((function(t){t.dependenciesState_===Ui.POSSIBLY_STALE_?t.dependenciesState_=Ui.STALE_:t.dependenciesState_===Ui.UP_TO_DATE_&&(e.lowestObserverState_=Ui.UP_TO_DATE_)})))}(this),xi.trackingContext=e}}else Ni(this)&&(this.warnAboutUntrackedRead_(),fi(),this.value_=this.computeValue_(!1),zi());var t=this.value_;if(Fi(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter_&&Sn(33,this.name_),this.isRunningSetter_=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter_=!1}}else Sn(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===Ui.NOT_TRACKING_,l=this.computeValue_(!0),n=t||Fi(e)||Fi(l)||!this.equals_(e,l);return n&&(this.value_=l),n},t.computeValue_=function(e){this.isComputing_=!0;var t,l=oi(!1);if(e)t=ui(this,this.derivation,this.scope_);else if(!0===xi.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new mi(e)}return hi(l),this.isComputing_=!1,t},t.suspend_=function(){this.keepAlive_||(Ei(this),this.value_=void 0)},t.observe_=function(e,t){var l=this,n=!0,V=void 0;return function(e,t){var l,n,V,i,a;void 0===t&&(t=Qn);var r,s=null!=(l=null==(n=t)?void 0:n.name)?l:"Autorun",o=!t.scheduler&&!t.delay;if(o)r=new ji(s,(function(){this.track(R)}),t.onError,t.requiresObservable);else{var h=Va(t),d=!1;r=new ji(s,(function(){d||(d=!0,h((function(){d=!1,r.isDisposed_||r.track(R)})))}),t.onError,t.requiresObservable)}function R(){e(r)}return null!=(V=t)&&null!=(i=V.signal)&&i.aborted||r.schedule_(),r.getDisposer_(null==(a=t)?void 0:a.signal)}((function(){var i=l.get();if(!n||t){var a=Si();e({observableKind:"computed",debugObjectName:l.name_,type:ka,object:l,newValue:i,oldValue:V}),Ji(a)}n=!1,V=i}))},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return Pn(this.get())},t[di]=function(){return this.valueOf()},e}(),Wi=Dn("ComputedValue",Zi);(ci=Ui||(Ui={}))[ci.NOT_TRACKING_=-1]="NOT_TRACKING_",ci[ci.UP_TO_DATE_=0]="UP_TO_DATE_",ci[ci.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",ci[ci.STALE_=2]="STALE_",function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(pi||(pi={}));var mi=function(e){this.cause=void 0,this.cause=e};function Fi(e){return e instanceof mi}function Ni(e){switch(e.dependenciesState_){case Ui.UP_TO_DATE_:return!1;case Ui.NOT_TRACKING_:case Ui.STALE_:return!0;case Ui.POSSIBLY_STALE_:for(var t=Ti(!0),l=Si(),n=e.observing_,V=n.length,i=0;i<V;i++){var a=n[i];if(Wi(a)){if(xi.disableErrorBoundaries)a.get();else try{a.get()}catch{return Ji(l),Gi(t),!0}if(e.dependenciesState_===Ui.STALE_)return Ji(l),Gi(t),!0}}return Mi(e),Ji(l),Gi(t),!1}}function ui(e,t,l){var n=Ti(!0);Mi(e),e.newObserving_=new Array(e.observing_.length+100),e.unboundDepsCount_=0,e.runId_=++xi.runId;var V,i=xi.trackingDerivation;if(xi.trackingDerivation=e,xi.inBatch++,!0===xi.disableErrorBoundaries)V=t.call(l);else try{V=t.call(l)}catch(e){V=new mi(e)}return xi.inBatch--,xi.trackingDerivation=i,function(e){for(var t=e.observing_,l=e.observing_=e.newObserving_,n=Ui.UP_TO_DATE_,V=0,i=e.unboundDepsCount_,a=0;a<i;a++){var r=l[a];0===r.diffValue_&&(r.diffValue_=1,V!==a&&(l[V]=r),V++),r.dependenciesState_>n&&(n=r.dependenciesState_)}for(l.length=V,e.newObserving_=null,i=t.length;i--;){var s=t[i];0===s.diffValue_&&Xi(s,e),s.diffValue_=0}for(;V--;){var o=l[V];1===o.diffValue_&&(o.diffValue_=0,Qi(o,e))}
vendor: 4,321 bytes, line 1
1n!==Ui.UP_TO_DATE_&&(e.dependenciesState_=n,e.onBecomeStale_())}(e),Gi(n),V}function Ei(e){var t=e.observing_;e.observing_=[];for(var l=t.length;l--;)Xi(t[l],e);e.dependenciesState_=Ui.NOT_TRACKING_}function bi(e){var t=Si();try{return e()}finally{Ji(t)}}function Si(){var e=xi.trackingDerivation;return xi.trackingDerivation=null,e}function Ji(e){xi.trackingDerivation=e}function Ti(e){var t=xi.allowStateReads;return xi.allowStateReads=e,t}function Gi(e){xi.allowStateReads=e}function Mi(e){if(e.dependenciesState_!==Ui.UP_TO_DATE_){e.dependenciesState_=Ui.UP_TO_DATE_;for(var t=e.observing_,l=t.length;l--;)t[l].lowestObserverState_=Ui.UP_TO_DATE_}}var ki=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0,this.stateVersion=Number.MIN_SAFE_INTEGER},Yi=!0,xi=function(){var e=Tn();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Yi=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new ki).version&&(Yi=!1),Yi?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new ki):(setTimeout((function(){Sn(35)}),1),new ki)}();function Qi(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Xi(e,t){e.observers_.delete(t),0===e.observers_.size&&wi(e)}function wi(e){!1===e.isPendingUnobservation_&&(e.isPendingUnobservation_=!0,xi.pendingUnobservations.push(e))}function fi(){xi.inBatch++}function zi(){if(0==--xi.inBatch){Hi();for(var e=xi.pendingUnobservations,t=0;t<e.length;t++){var l=e[t];l.isPendingUnobservation_=!1,0===l.observers_.size&&(l.isBeingObserved_&&(l.isBeingObserved_=!1,l.onBUO()),l instanceof Zi&&l.suspend_())}xi.pendingUnobservations=[]}}function yi(e){var t=xi.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved_&&xi.trackingContext&&(e.isBeingObserved_=!0,e.onBO())),e.isBeingObserved_):(0===e.observers_.size&&xi.inBatch>0&&wi(e),!1)}function Ci(e){e.lowestObserverState_!==Ui.STALE_&&(e.lowestObserverState_=Ui.STALE_,e.observers_.forEach((function(e){e.dependenciesState_===Ui.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=Ui.STALE_})))}var ji=function(){function e(e,t,l,n){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=Ui.NOT_TRACKING_,this.diffValue_=0,this.runId_=0,this.unboundDepsCount_=0,this.isDisposed_=!1,this.isScheduled_=!1,this.isTrackPending_=!1,this.isRunning_=!1,this.isTracing_=pi.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=l,this.requiresObservable_=n}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled_||(this.isScheduled_=!0,xi.pendingReactions.push(this),Hi())},t.isScheduled=function(){return this.isScheduled_},t.runReaction_=function(){if(!this.isDisposed_){fi(),this.isScheduled_=!1;var e=xi.trackingContext;if(xi.trackingContext=this,Ni(this)){this.isTrackPending_=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}xi.trackingContext=e,zi()}},t.track=function(e){if(!this.isDisposed_){fi();this.isRunning_=!0;var t=xi.trackingContext;xi.trackingContext=this;var l=ui(this,e,void 0);xi.trackingContext=t,this.isRunning_=!1,this.isTrackPending_=!1,this.isDisposed_&&Ei(this),Fi(l)&&this.reportExceptionInDerivation_(l.cause),zi()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if(xi.disableErrorBoundaries)throw e;var l="[mobx] uncaught error in '"+this+"'";xi.suppressReactionErrors||console.error(l,e),xi.globalReactionErrorHandlers.forEac
1h((function(l){return l(e,t)}))}},t.dispose=function(){this.isDisposed_||(this.isDisposed_=!0,this.isRunning_||(fi(),Ei(this),zi()))},t.getDisposer_=function(e){var t=this,l=function l(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",l)};return null==e||null==e.addEventListener||e.addEventListener("abort",l),l[dV]=this,l},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},e}(),gi=100,Bi=function(e){return e()};function Hi(){xi.inBatch>0||xi.isRunningReactions||Bi(vi)}function vi(){xi.isRunningReactions=!0;for(var e=xi.pendingReactions,t=0;e.length>0;){++t===gi&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var l=e.splice(0),n=0,V=l.length;n<V;n++)l[n].runReaction_()}xi.isRunningReactions=!1}var Ii=Dn("Reaction",ji);var Di="action",Oi="autoAction",_i="<unnamed action>",Li=FV(Di),Ki=FV("action.bound",{bound:!0}),Pi=FV(Oi,{autoAction:!0}),Ai=FV("autoAction.bound",{autoAction:!0,bound:!0});function qi(e){return function(t,l){return Cn(t)?ai(t.name||_i,t,e):Cn(l)?ai(t,l,e):jn(l)?hV(t,l,e?Pi:Li):jn(t)?oV(FV(e?Oi:Di,{name:t,autoAction:e})):void 0}}var $i=qi(!1);Object.assign($i,Li);var ea=qi(!0);function ta(e){return ri(e.name,!1,e,this,void 0)}function la(e){return Cn(e)&&!0===e.isMobxAction}Object.assign(ea,Pi),$i.bound=oV(Ki),ea.bound=oV(Ai);var na=function(e){return e()};function Va(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:na}function ia(e,t,l){var n,V,i,a;void 0===l&&(l=Qn);var r,s,o=null!=(n=l.name)?n:"Reaction",h=$i(o,l.onError?function(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}(l.onError,t):t),d=!l.scheduler&&!l.delay,R=Va(l),U=!0,c=!1,p=l.compareStructural?pV.structural:l.equals||pV.default,Z=new ji(o,(function(){U||d?W():c||(c=!0,R(W))}),l.onError,l.requiresObservable);function W(){if(c=!1,!Z.isDisposed_){var t=!1;Z.track((function(){var l=si(!1,(function(){return e(Z)}));t=U||!p(r,l),s=r,r=l})),(U&&l.fireImmediately||!U&&t)&&h(r,s,Z),U=!1}}return null!=(V=l)&&null!=(i=V.signal)&&i.aborted||Z.schedule_(),Z.getDisposer_(null==(a=l)?void 0:a.signal)}var aa="onBO",ra="onBUO";function sa(e,t,l){return oa(ra,e,t,l)}function oa(e,t,l,n){var V="function"==typeof n?pr(t,l):pr(t),i=Cn(n)?n:l,a=e+"L";return V[a]?V[a].add(i):V[a]=new Set([i]),function(){var e=V[a];e&&(e.delete(i),0===e.size&&delete V[a])}}var ha=0;function da(){this.message="FLOW_CANCELLED"}da.prototype=Object.create(Error.prototype);var Ra=bV("flow"),Ua=bV("flow.bound",{bound:!0}),ca=Object.assign((function(e,t){if(jn(t))return hV(e,t,Ra);var l=e,n=l.name||"<unnamed flow>",V=function(){var e,t=arguments,V=++ha,i=$i(n+" - runid: "+V+" - init",l).apply(this,t),a=void 0,r=new Promise((function(t,l){var r=0;function s(e){var t;a=void 0;try{t=$i(n+" - runid: "+V+" - yield "+r++,i.next).call(i,e)}catch(e){return l(e)}h(t)}function o(e){var t;a=void 0;try{t=$i(n+" - runid: "+V+" - yield "+r++,i.throw).call(i,e)}catch(e){return l(e)}h(t)}function h(e){if(!Cn(e?.then))return e.done?t(e.value):(a=Promise.resolve(e.value)).then(s,o);e.then(h,l)}e=l,s(void 0)}));return r.cancel=$i(n+" - runid: "+V+" - cancel",(function(){try{a&&pa(a);var t=i.return(void 0),l=Promise.resolve(t.value);l.then(yn,yn),pa(l),e(new da)}catch(t){e(t)}})),r};return V.isMobXFlow=!0,V}),Ra);function pa(e){Cn(e.cancel)&&e.cancel()}function Za(e){return!0===e?.isMobXFlow}function Wa(e){return function(e,t){return!!e&&(void 0!==t?!!Vr(e)&&e[dV].values_.has(t):Vr(e)||!!e[dV]||UV(e)||Ii(e)||Wi(e))}(e)}function ma(e,t){void 0===t&&(t=void 0),fi();try{return e.apply(t)}finally{zi()}}function Fa(e){return e[dV]}ca.bound=oV(Ua);var Na={has:function(e,t){return Fa(e).has_(t)},get:function(e,t){return Fa(e).get_(t)},set:function(e,t,l){var n;return!!jn(t)&&(null==(n=Fa(e).set_(t,l,!0))||n)},deleteProperty:function(e,t){var l;return!!jn(t)&&(null==(l=Fa(e).delete_(t,!0))||l)},defineProperty:function(e,t,l){var n;return null==(n=Fa(e).defineProperty_(t,l))||n},ownKeys:function(e){return Fa(e).ownKeys_()}
1,preventExtensions:function(e){Sn(13)}};function ua(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function Ea(e,t){var l=e.interceptors_||(e.interceptors_=[]);return l.push(t),zn((function(){var e=l.indexOf(t);-1!==e&&l.splice(e,1)}))}function ba(e,t){var l=Si();try{for(var n=[].concat(e.interceptors_||[]),V=0,i=n.length;V<i&&((t=n[V](t))&&!t.type&&Sn(14),t);V++);return t}finally{Ji(l)}}function Sa(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function Ja(e,t){var l=e.changeListeners_||(e.changeListeners_=[]);return l.push(t),zn((function(){var e=l.indexOf(t);-1!==e&&l.splice(e,1)}))}function Ta(e,t){var l=Si(),n=e.changeListeners_;if(n){for(var V=0,i=(n=n.slice()).length;V<i;V++)n[V](t);Ji(l)}}function Ga(e,t,l){var n=tr(e,l)[dV];fi();try{null!=t||(t=function(e){return An(e,sV)||vn(e,sV,tV({},e[sV])),e[sV]}(e)),Kn(t).forEach((function(e){return n.make_(e,t[e])}))}finally{zi()}return e}var Ma="splice",ka="update",Ya={get:function(e,t){var l=e[dV];return t===dV?l:"length"===t?l.getArrayLength_():"string"!=typeof t||isNaN(t)?An(Xa,t)?Xa[t]:e[t]:l.get_(parseInt(t))},set:function(e,t,l){var n=e[dV];return"length"===t&&n.setArrayLength_(l),"symbol"==typeof t||isNaN(t)?e[t]=l:n.set_(parseInt(t),l),!0},preventExtensions:function(){Sn(15)}},xa=function(){function e(e,t,l,n){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=l,this.legacyMode_=n,this.atom_=new RV(e),this.enhancer_=function(e,l){return t(e,l,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return Ea(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Ja(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&Sn("Out of range: "+e);var t=this.values_.length;if(e!==t)if(e>t){for(var l=new Array(e-t),n=0;n<e-t;n++)l[n]=void 0;this.spliceWithArray_(t,0,l)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&Sn(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&Ur(e+t+1)},t.spliceWithArray_=function(e,t,l){var n=this;this.atom_;var V=this.values_.length;if(void 0===e?e=0:e>V?e=V:e<0&&(e=Math.max(0,V+e)),t=1===arguments.length?V-e:null==t?0:Math.max(0,Math.min(t,V-e)),void 0===l&&(l=xn),ua(this)){var i=ba(this,{object:this.proxy_,type:Ma,index:e,removedCount:t,added:l});if(!i)return xn;t=i.removedCount,l=i.added}if(l=0===l.length?l:l.map((function(e){return n.enhancer_(e,void 0)})),this.legacyMode_){var a=l.length-t;this.updateArrayLength_(V,a)}var r=this.spliceItemsIntoValues_(e,t,l);return(0!==t||0!==l.length)&&this.notifyArraySplice_(e,l,r),this.dehanceValues_(r)},t.spliceItemsIntoValues_=function(e,t,l){var n;if(l.length<1e4)return(n=this.values_).splice.apply(n,[e,t].concat(l));var V=this.values_.slice(e,e+t),i=this.values_.slice(e+t);this.values_.length+=l.length-t;for(var a=0;a<l.length;a++)this.values_[e+a]=l[a];for(var r=0;r<i.length;r++)this.values_[e+l.length+r]=i[r];return V},t.notifyArrayChildUpdate_=function(e,t,l){var n=!this.owned_&&!1,V=Sa(this),i=V||n?{observableKind:"array",object:this.proxy_,type:ka,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:l}:null;this.atom_.reportChanged(),V&&Ta(this,i)},t.notifyArraySplice_=function(e,t,l){var n=!this.owned_&&!1,V=Sa(this),i=V||n?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:Ma,index:e,removed:l,added:t,removedCount:l.length,addedCount:t.length}:null;this.atom_.reportChanged(),V&&Ta(this,i)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn("[mobx] Out of bounds read: "+e)},t.set_=function(e,t){var l=this.values_;if(this.legacyMode_&&e>l.length&&Sn(17,e,l.length),e<l.length){this.atom_;var n=l[e];
1if(ua(this)){var V=ba(this,{type:ka,object:this.proxy_,index:e,newValue:t});if(!V)return;t=V.newValue}(t=this.enhancer_(t,n))!==n&&(l[e]=t,this.notifyArrayChildUpdate_(e,t,n))}else{for(var i=new Array(e+1-l.length),a=0;a<i.length-1;a++)i[a]=void 0;i[i.length-1]=t,this.spliceWithArray_(l.length,0,i)}},e}();function Qa(e,t,l,n){void 0===l&&(l="ObservableArray"),void 0===n&&(n=!1),fn();var V=new xa(l,t,n,!1);In(V.values_,dV,V);var i=new Proxy(V.values_,Ya);if(V.proxy_=i,e&&e.length){var a=oi(!0);V.spliceWithArray_(0,0,e),hi(a)}return i}var Xa={clear:function(){return this.splice(0)},replace:function(e){var t=this[dV];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var l=arguments.length,n=new Array(l>2?l-2:0),V=2;V<l;V++)n[V-2]=arguments[V];var i=this[dV];switch(arguments.length){case 0:return[];case 1:return i.spliceWithArray_(e);case 2:return i.spliceWithArray_(e,t)}return i.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,l){return this[dV].spliceWithArray_(e,t,l)},push:function(){for(var e=this[dV],t=arguments.length,l=new Array(t),n=0;n<t;n++)l[n]=arguments[n];return e.spliceWithArray_(e.values_.length,0,l),e.values_.length},pop:function(){return this.splice(Math.max(this[dV].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[dV],t=arguments.length,l=new Array(t),n=0;n<t;n++)l[n]=arguments[n];return e.spliceWithArray_(0,0,l),e.values_.length},reverse:function(){return xi.trackingDerivation&&Sn(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){xi.trackingDerivation&&Sn(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[dV],l=t.dehanceValues_(t.values_).indexOf(e);return l>-1&&(this.splice(l,1),!0)}};function wa(e,t){"function"==typeof Array.prototype[e]&&(Xa[e]=t(e))}function fa(e){return function(){var t=this[dV];t.atom_.reportObserved();var l=t.dehanceValues_(t.values_);return l[e].apply(l,arguments)}}function za(e){return function(t,l){var n=this,V=this[dV];return V.atom_.reportObserved(),V.dehanceValues_(V.values_)[e]((function(e,V){return t.call(l,e,V,n)}))}}function ya(e){return function(){var t=this,l=this[dV];l.atom_.reportObserved();var n=l.dehanceValues_(l.values_),V=arguments[0];return arguments[0]=function(e,l,n){return V(e,l,n,t)},n[e].apply(n,arguments)}}wa("concat",fa),wa("flat",fa),wa("includes",fa),wa("indexOf",fa),wa("join",fa),wa("lastIndexOf",fa),wa("slice",fa),wa("toString",fa),wa("toLocaleString",fa),wa("every",za),wa("filter",za),wa("find",za),wa("findIndex",za),wa("flatMap",za),wa("forEach",za),wa("map",za),wa("some",za),wa("reduce",ya),wa("reduceRight",ya);var Ca=Dn("ObservableArrayAdministration",xa);function ja(e){return gn(e)&&Ca(e[dV])}var ga,Ba,Ha={},va="add",Ia="delete";ga=Symbol.iterator,Ba=Symbol.toStringTag;var Da=function(){function e(e,t,l){var n=this;void 0===t&&(t=ZV),void 0===l&&(l="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[dV]=Ha,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=l,Cn(Map)||Sn(18),this.keysAtom_=cV("ObservableMap.keys()"),this.data_=new Map,this.hasMap_=new Map,si(!0,(function(){n.merge(e)}))}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!xi.trackingDerivation)return this.has_(e);var l=this.hasMap_.get(e);if(!l){var n=l=new Ri(this.has_(e),WV,"ObservableMap.key?",!1);this.hasMap_.set(e,n),sa(n,(function(){return t.hasMap_.delete(e)}))}return l.get()},t.set=function(e,t){var l=this.has_(e);if(ua(this)){var n=ba(this,{type:l?ka:va,object:this,newValue:t,name:e});if(!n)return this;t=n.newValue}return l?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if((this.keysAtom_,ua(this))&&!ba(this,{type:Ia,object:this,name:e}))return!1;if(this.has_(e)){var l=Sa(this),n=l?{observableKind:"map",debugObjectName:this.name_,type:Ia,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return ma((function(){var l;t.keysAtom_.reportChanged(),null==(l=t.hasMap_.get(e))||l.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)})),l&&Ta(this,n),!0}return!1},t.updateValue_=function(e,t){var l=this.data_.get(e);if((t=l.prepareNewValue_(t))!==xi.UNCHANGED){var n=Sa(this),V=n?{observableKind:"map",debugObjectName:this.name_,type:ka,object:this,oldValue:l.value_,name:e,newValue:t}:null;l.setNewValue_(t),n&&Ta(this,V)}},t.addValue_=function(e,t){var l=this;this.keysAtom_,ma((function(){var n,V=new Ri(t,l.enhancer_,"ObservableMap.key",!1);l.data_.set(e,V),t=V.value_,null==(n=l.hasMap_.get(e))||n.setNewValue_(!0),l.keysAtom_.reportChanged()}));var n=Sa(this),V=n?{observableKind:"map",debugObjectName:this.name_,type:va,object:this,name:e,newValue:t}:null;n&&Ta(this,V)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Er({next:function(){var l=t.next(),n=l.done,V=l.value;return{done:n,value:n?void 0:e.get(V)}}})},t.entries=function(){var e=this,t=this.keys();return Er({next:function(){var l=t.next(),n=l.done,V=l.value;return{done:n,value:n?void 0:[V,e.get(V)]}}})},t[ga]=function(){return this.entries()},t.forEach=function(e,t){for(var l,n=aV(this);!(l=n()).done;){var V=l.value,i=V[0],a=V[1];e.call(t,a,i,this)}},t.merge=function(e){var t=this;return Oa(e)&&(e=new Map(e)),ma((function(){Bn(e)?function(e){var t=Object.keys(e);if(!Ln)return t;var l=Object.getOwnPropertySymbols(e);return l.length?[].concat(t,l.filter((function(t){return Yn.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(l){return t.set(l,e[l])})):Array.isArray(e)?e.forEach((function(e){var l=e[0],n=e[1];return t.set(l,n)})):On(e)?(e.constructor!==Map&&Sn(19,e),e.forEach((function(e,l){return t.set(l,e)}))):null!=e&&Sn(20,e)})),this},t.clear=function(){var e=this;ma((function(){bi((function(){for(var t,l=aV(e.keys());!(t=l()).done;){var n=t.value;e.delete(n)}}))}))},t.replace=function(e){var t=this;return ma((function(){for(var l,n=function(e){if(On(e)||Oa(e))return e;if(Array.isArray(e))return new Map(e);if(Bn(e)){var t=new Map;for(var l in e)t.set(l,e[l]);return t}return Sn(21,e)}(e),V=new Map,i=!1,a=aV(t.data_.keys());!(l=a()).done;){var r=l.value;if(!n.has(r))if(t.delete(r))i=!0;else{var s=t.data_.get(r);V.set(r,s)}}for(var o,h=aV(n.entries());!(o=h()).done;){var d=o.value,R=d[0],U=d[1],c=t.data_.has(R);if(t.set(R,U),t.data_.has(R)){var p=t.data_.get(R);V.set(R,p),c||(i=!0)}}if(!i)if(t.data_.size!==V.size)t.keysAtom_.reportChanged();else for(var Z=t.data_.keys(),W=V.keys(),m=Z.next(),F=W.next();!m.done;){if(m.value!==F.value){t.keysAtom_.reportChanged();break}m=Z.next(),F=W.next()}t.data_=V})),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return Ja(this,e)},t.intercept_=function(e){return Ea(this,e)},eV(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Ba,get:function(){return"Map"}}]),e}(),Oa=Dn("ObservableMap",Da);var _a,La,Ka={};_a=Symbol.iterator,La=Symbol.toStringTag;var Pa=function(){function e(e,t,l){void 0===t&&(t=ZV),void 0===l&&(l="ObservableSet"),this.name_=void 0,this[dV]=Ka,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=l,Cn(Set)||Sn(22),this.atom_=cV(this.name_),this.enhancer_=function(e,n){return t(e,n,l)},e&&this.replace(e)}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;ma((function(){bi((function(){for(var t,l=aV(e.data_.values());!(t=l()).done;){var n=t.value;e.delete(n)}}))}))},t.forEach=function(e,t){for(var l,n=aV(this);!(l=n()).done;){var V=l.value;e.call(t,V,V,this)}},t.add=function(e){var t=this;if((this.atom_,ua(this))&&!ba(this,{type:va,object:this,newValue:e}))return this;if(!this.has(e)){ma((function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()}));var l=Sa(this),n=l?{observableKind:"set",debugObjectName:this.name_,type:va,object:this,newValue:e}:null;l&&Ta(this,n)}return this},t.delete=function(e){var t=this;if(ua(this)&&!ba(this,{type:Ia,object:this,oldValue:e}))return!1;if(this.has(e)){var l=Sa(this),n=l?{observableKind:"set",debugObjectName:this.name_,type:Ia,object:this,oldValue:e}:null;return ma((function(){t.atom_.reportChanged(),t.data_.delete(e)})),l&&Ta(this,n),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=0,t=Array.from(this.keys()),l=Array.from(this.values());return Er({next:function(){var n=e;return e+=1,n<l.length?{value:[t[n],l[n]],done:!1}:{done:!0}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=0,l=Array.from(this.data_.values());return Er({next:function(){return t<l.length?{value:e.dehanceValue_(l[t++]),done:!1}:{done:!0}}})},t.replace=function(e){var t=this;return Aa(e)&&(e=new Set(e)),ma((function(){Array.isArray(e)||_n(e)?(t.clear(),e.forEach((function(e){return t.add(e)}))):null!=e&&Sn("Cannot initialize set from "+e)})),this},t.observe_=function(e,t){return Ja(this,e)},t.intercept_=function(e){return Ea(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[_a]=function(){return this.values()},eV(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:La,get:function(){return"Set"}}]),e}(),Aa=Dn("ObservableSet",Pa),qa=Object.create(null),$a="remove",er=function(){function e(e,t,l,n){void 0===t&&(t=new Map),void 0===n&&(n=wV),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=l,this.defaultAnnotation_=n,this.keysAtom_=ne
vendor: 4,950 bytes, line 1
1w RV("ObservableObject.keys"),this.isPlainObject_=Bn(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var l=this.values_.get(e);if(l instanceof Zi)return l.set(t),!0;if(ua(this)){var n=ba(this,{type:ka,object:this.proxy_||this.target_,name:e,newValue:t});if(!n)return null;t=n.newValue}if((t=l.prepareNewValue_(t))!==xi.UNCHANGED){var V=Sa(this),i=V?{type:ka,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:l.value_,name:e,newValue:t}:null;l.setNewValue_(t),V&&Ta(this,i)}return!0},t.get_=function(e){return xi.trackingDerivation&&!An(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,l){return void 0===l&&(l=!1),An(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):l?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,l)},t.has_=function(e){if(!xi.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new Ri(e in this.target_,WV,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(ar(this,t,e),!(e in this.target_)){var l;if(null!=(l=this.target_[sV])&&l[e])return;Sn(1,t.annotationType_,this.name_+"."+e.toString())}for(var n=this.target_;n&&n!==Yn;){var V=Mn(n,e);if(V){var i=t.make_(this,e,V,n);if(0===i)return;if(1===i)break}n=Object.getPrototypeOf(n)}ir(this,t,e)}},t.extend_=function(e,t,l,n){if(void 0===n&&(n=!1),!0===l&&(l=this.defaultAnnotation_),!1===l)return this.defineProperty_(e,t,n);ar(this,l,e);var V=l.extend_(this,e,t,n);return V&&ir(this,l,e),V},t.defineProperty_=function(e,t,l){void 0===l&&(l=!1);try{fi();var n=this.delete_(e);if(!n)return n;if(ua(this)){var V=ba(this,{object:this.proxy_||this.target_,name:e,type:va,newValue:t.value});if(!V)return null;var i=V.newValue;t.value!==i&&(t=tV({},t,{value:i}))}if(l){if(!Reflect.defineProperty(this.target_,e,t))return!1}else kn(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{zi()}return!0},t.defineObservableProperty_=function(e,t,l,n){void 0===n&&(n=!1);try{fi();var V=this.delete_(e);if(!V)return V;if(ua(this)){var i=ba(this,{object:this.proxy_||this.target_,name:e,type:va,newValue:t});if(!i)return null;t=i.newValue}var a=nr(e),r={configurable:!xi.safeDescriptors||this.isPlainObject_,enumerable:!0,get:a.get,set:a.set};if(n){if(!Reflect.defineProperty(this.target_,e,r))return!1}else kn(this.target_,e,r);var s=new Ri(t,l,"ObservableObject.key",!1);this.values_.set(e,s),this.notifyPropertyAddition_(e,s.value_)}finally{zi()}return!0},t.defineComputedProperty_=function(e,t,l){void 0===l&&(l=!1);try{fi();var n=this.delete_(e);if(!n)return n;if(ua(this))if(!ba(this,{object:this.proxy_||this.target_,name:e,type:va,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var V=nr(e),i={configurable:!xi.safeDescriptors||this.isPlainObject_,enumerable:!1,get:V.get,set:V.set};if(l){if(!Reflect.defineProperty(this.target_,e,i))return!1}else kn(this.target_,e,i);this.values_.set(e,new Zi(t)),this.notifyPropertyAddition_(e,void 0)}finally{zi()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),!An(this.target_,e))return!0;if(ua(this)&&!ba(this,{object:this.proxy_||this.target_,name:e,type:$a}))return null;try{var l,n;fi();var V,i=Sa(this),a=this.values_.get(e),r=void 0;if(!a&&i)r=null==(V=Mn(this.target_,e))?void 0:V.value;if(t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(a&&(this.values_.delete(e),a instanceof Ri&&(r=a.value_),Ci(a)),this.keysAtom_.reportChanged(),null==(l=this.pendingKeys_)||null==(n=l.get(e))||n.set(e in this.target_),i){var s={type:$a,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:r,name:e};i&&Ta(this,s)}}finally{zi()}return!0},t.observe_=function(e,t){return Ja(this,e)},t.intercept_=function(e){return Ea(this,e)},t.notifyPropertyAddition_=function(e,t){var l,n,V=Sa(this);if(V){var i=V?{type:va,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;V&&Ta(this,i)}null==(l=this.pendingKeys_)||null==(n=l.get(e))||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),Kn(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function tr(e,t){var l;if(An(e,dV))return e;var n=null!=(l=t?.name)?l:"ObservableObject",V=new er(e,new Map,String(n),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:fV(e):void 0}(t));return vn(e,dV,V),e}var lr=Dn("ObservableObjectAdministration",er);function nr(e){return qa[e]||(qa[e]={get:function(){return this[dV].getObservablePropValue_(e)}
1,set:function(t){return this[dV].setObservablePropValue_(e,t)}})}function Vr(e){return!!gn(e)&&lr(e[dV])}function ir(e,t,l){var n;null==(n=e.target_[sV])||delete n[l]}function ar(e,t,l){}var rr=dr(0),sr=0,or=function(){};!function(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):void 0!==e.prototype.__proto__?e.prototype.__proto__=t:e.prototype=t}(or,Array.prototype);var hr=function(e,t,l){function n(t,l,n,V){var i;void 0===n&&(n="ObservableArray"),void 0===V&&(V=!1),i=e.call(this)||this;var a=new xa(n,l,V,!0);if(a.proxy_=VV(i),In(VV(i),dV,a),t&&t.length){var r=oi(!0);i.spliceWithArray(0,0,t),hi(r)}return Object.defineProperty(VV(i),"0",rr),i}lV(n,e);var V=n.prototype;return V.concat=function(){this[dV].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),l=0;l<e;l++)t[l]=arguments[l];return Array.prototype.concat.apply(this.slice(),t.map((function(e){return ja(e)?e.slice():e})))},V[l]=function(){var e=this,t=0;return Er({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},eV(n,[{key:"length",get:function(){return this[dV].getArrayLength_()},set:function(e){this[dV].setArrayLength_(e)}},{key:t,get:function(){return"Array"}}]),n}(or,Symbol.toStringTag,Symbol.iterator);function dr(e){return{enumerable:!1,configurable:!0,get:function(){return this[dV].get_(e)},set:function(t){this[dV].set_(e,t)}}}function Rr(e){kn(hr.prototype,""+e,dr(e))}function Ur(e){if(e>sr){for(var t=sr;t<e+100;t++)Rr(t);sr=e}}function cr(e,t,l){return new hr(e,t,l)}function pr(e,t){if("object"==typeof e&&null!==e){if(ja(e))return void 0!==t&&Sn(23),e[dV].atom_;if(Aa(e))return e.atom_;if(Oa(e)){if(void 0===t)return e.keysAtom_;var l=e.data_.get(t)||e.hasMap_.get(t);return l||Sn(25,t,Wr(e)),l}if(Vr(e)){if(!t)return Sn(26);var n=e[dV].values_.get(t);return n||Sn(27,t,Wr(e)),n}if(UV(e)||Wi(e)||Ii(e))return e}else if(Cn(e)&&Ii(e[dV]))return e[dV];Sn(28)}function Zr(e,t){return e||Sn(29),void 0!==t?Zr(pr(e,t)):UV(e)||Wi(e)||Ii(e)||Oa(e)||Aa(e)?e:e[dV]?e[dV]:void Sn(24,e)}function Wr(e,t){var l;if(void 0!==t)l=pr(e,t);else{if(la(e))return e.name;l=Vr(e)||Oa(e)||Aa(e)?Zr(e):pr(e)}return l.name_}Object.entries(Xa).forEach((function(e){var t=e[0],l=e[1];"concat"!==t&&vn(hr.prototype,t,l)})),Ur(1e3);var mr=Yn.toString;function Fr(e,t,l){return void 0===l&&(l=-1),Nr(e,t,l)}function Nr(e,t,l,n,V){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var i=typeof e;if("function"!==i&&"object"!==i&&"object"!=typeof t)return!1;var a=mr.call(e);if(a!==mr.call(t))return!1;switch(a){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0==+e?1/+e==1/t:+e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object Symbol]":return typeof Symbol<"u"&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":l>=0&&l++}e=ur(e),t=ur(t);var r="[object Array]"===a;if(!r){if("object"!=typeof e||"object"!=typeof t)return!1;var s=e.constructor,o=t.constructor;if(s!==o&&!(Cn(s)&&s instanceof s&&Cn(o)&&o instanceof o)&&"constructor"in e&&"constructor"in t)return!1}if(0===l)return!1;l<0&&(l=-1),V=V||[];for(var h=(n=n||[]).length;h--;)if(n[h]===e)return V[h]===t;if(n.push(e),V.push(t),r){if((h=e.length)!==t.length)return!1;for(;h--;)if(!Nr(e[h],t[h],l-1,n,V))return!1}else{var d,R=Object.keys(e);if(h=R.length,Object.keys(t).length!==h)return!1;for(;h--;)if(!An(t,d=R[h])||!Nr(e[d],t[d],l-1,n,V))return!1}return n.pop(),V.pop(),!0}function ur(e){return ja(e)?e.slice():On(e)||Oa(e)||_n(e)||Aa(e)?Array.from(e.entries()):e}function Er(e){return e[Symbol.iterator]=br,e}function br(){return this}["Symbol","Map","Set"].forEach((function(e){typeof Tn()[e]>"u"&&Sn("MobX requires global '"+e+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:Wr},$mobx:dV});var Sr=h(F()),Jr=0,Tr=2,Gr=1,Mr=2,kr=3,Yr=0,xr=1,Qr=2,Xr=100,wr=101,fr=102,zr=200,yr=201,Cr=202,jr=203,gr=204,Br=205,Hr=206,vr=207,Ir=208,Dr=209,Or=210,_r=0,Lr=1,Kr=2,Pr=0,Ar=1,qr=2,$r=3,es=4,ts=5,ls=301,ns=302,Vs=306,is=1e3,as=1001,rs=1002,ss=1003,os=1004,hs=1005,ds=1006,Rs=1007,Us=1008,cs=1009,ps=1012,Zs=1013,Ws=1014,ms=1015,Fs=1016,Ns=1020,us=1023,Es=1026,bs=1027,Ss=33776,Js=33777,Ts=33778,Gs=33779,Ms=36492,ks=2300,Ys=2301,xs=2302,Qs=3001,Xs="",ws="srgb",fs="srgb-linear",zs="display-p3",ys=7680,Cs=512,js=513,gs=514,Bs=515,Hs=516,vs=517,Is=518,Ds=519,Os=35044,_s="300 es",Ls=1035,Ks=2e3,Ps=2001,As=class{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let l=this._listeners;void 0===l[e]&&(l[e]=[]),-1===l[e].indexOf(t)&&l[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let l=this._listeners;return void 0!==l[e]&&-1!==l[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let l=this._listeners[e];if(void 0!==l){let e=l.indexOf(t);-1!==e&&l.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let l=t.slice(0);for(let t=0,n=l.length;t<n;t++)l[t].call(this,e);e.target=null}}},qs=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","5
15","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],$s=1234567,eo=Math.PI/180,to=180/Math.PI;function lo(){let e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,l=4294967295*Math.random()|0,n=4294967295*Math.random()|0;return(qs[255&e]+qs[e>>8&255]+qs[e>>16&255]+qs[e>>24&255]+"-"+qs[255&t]+qs[t>>8&255]+"-"+qs[t>>16&15|64]+qs[t>>24&255]+"-"+qs[63&l|128]+qs[l>>8&255]+"-"+qs[l>>16&255]+qs[l>>24&255]+qs[255&n]+qs[n>>8&255]+qs[n>>16&255]+qs[n>>24&255]).toLowerCase()}function no(e,t,l){return Math.max(t,Math.min(l,e))}function Vo(e,t){return(e%t+t)%t}function io(e,t,l){return(1-l)*e+l*t}function ao(e){return!(e&e-1)&&0!==e}function ro(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function so(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error("Invalid component type.")}}function oo(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(4294967295*e);case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int32Array:return Math.round(2147483647*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error("Invalid component type.")}}var ho={DEG2RAD:eo,RAD2DEG:to,generateUUID:lo,clamp:no,euclideanModulo:Vo,mapLinear:function(e,t,l,n,V){return n+(e-t)*(V-n)/(l-t)},inverseLerp:function(e,t,l){return e!==t?(l-e)/(t-e):0},lerp:io,damp:function(e,t,l,n){return io(e,t,1-Math.exp(-l*n))},pingpong:function(e,t=1){return t-Math.abs(Vo(e,2*t)-t)},smoothstep:function(e,t,l){return e<=t?0:e>=l?1:(e=(e-t)/(l-t))*e*(3-2*e)},smootherstep:function(e,t,l){return e<=t?0:e>=l?1:(e=(e-t)/(l-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){void 0!==e&&($s=e);let t=$s+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(e){return e*eo},radToDeg:function(e){return e*to},isPowerOfTwo:ao,ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:ro,setQuaternionFromProperEuler:function(e,t,l,n,V){let i=Math.cos,a=Math.sin,r=i(l/2),s=a(l/2),o=i((t+n)/2),h=a((t+n)/2),d=i((t-n)/2),R=a((t-n)/2),U=i((n-t)/2),c=a((n-t)/2);switch(V){case"XYX":e.set(r*h,s*d,s*R,r*o);break;case"YZY":e.set(s*R,r*h,s*d,r*o);break;case"ZXZ":e.set(s*d,s*R,r*h,r*o);break;case"XZX":e.set(r*h,s*c,s*U,r*o);break;case"YXY":e.set(s*U,r*h,s*c,r*o);break;case"ZYZ":e.set(s*c,s*U,r*h,r*o);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+V)}},normalize:oo,denormalize:so},Ro=class e{constructor(t=0,l=0){e.prototype.isVector2=!0,this.x=t,this.y=l}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}
vendor: 5,996 bytes, line 1
1sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,l=this.y,n=e.elements;return this.x=n[0]*t+n[3]*l+n[6],this.y=n[1]*t+n[4]*l+n[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let l=this.length();return this.divideScalar(l||1).multiplyScalar(Math.max(e,Math.min(t,l)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;let l=this.dot(e)/t;return Math.acos(no(l,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,l=this.y-e.y;return t*t+l*l}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,l){return this.x=e.x+(t.x-e.x)*l,this.y=e.y+(t.y-e.y)*l,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let l=Math.cos(t),n=Math.sin(t),V=this.x-e.x,i=this.y-e.y;return this.x=V*l-i*n+e.x,this.y=V*n+i*l+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},Uo=class e{constructor(t,l,n,V,i,a,r,s,o){e.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==t&&this.set(t,l,n,V,i,a,r,s,o)}set(e,t,l,n,V,i,a,r,s){let o=this.elements;return o[0]=e,o[1]=n,o[2]=a,o[3]=t,o[4]=V,o[5]=r,o[6]=l,o[7]=i,o[8]=s,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,l=e.elements;return t[0]=l[0],t[1]=l[1],t[2]=l[2],t[3]=l[3],t[4]=l[4],t[5]=l[5],t[6]=l[6],t[7]=l[7],t[8]=l[8],this}extractBasis(e,t,l){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),l.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let l=e.elements,n=t.elements,V=this.elements,i=l[0],a=l[3],r=l[6],s=l[1],o=l[4],h=l[7],d=l[2],R=l[5],U=l[8],c=n[0],p=n[3],Z=n[6],W=n[1],m=n[4],F=n[7],N=n[2],u=n[5],E=n[8];return V[0]=i*c+a*W+r*N,V[3]=i*p+a*m+r*u,V[6]=i*Z+a*F+r*E,V[1]=s*c+o*W+h*N,V[4]=s*p+o*m+h*u,V[7]=s*Z+o*F+h*E,V[2]=d*c+R*W+U*N,V[5]=d*p+R*m+U*u,V[8]=d*Z+R*F+U*E,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],l=e[1],n=e[2],V=e[3],i=e[4],a=e[5],r=e[6],s=e[7],o=e[8];return t*i*o-t*a*s-l*V*o+l*a*r+n*V*s-n*i*r}invert(){let e=this.elements,t=e[0],l=e[1],n=e[2],V=e[3],i=e[4],a=e[5],r=e[6],s=e[7],o=e[8],h=o*i-a*s,d=a*r-o*V,R=s*V-i*r,U=t*h+l*d+n*R;if(0===U)return this.set(0,0,0,0,0,0,0,0,0);let c=1/U;return e[0]=h*c,e[1]=(n*s-o*l)*c,e[2]=(a*l-n*i)*c,e[3]=d*c,e[4]=(o*t-n*r)*c,e[5]=(n*V-a*t)*c,e[6]=R*c,e[7]=(l*r-s*t)*c,e[8]=(i*t-l*V)*c,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,l,n,V,i,a){let r=Math.cos(V),s=Math.sin(V);return this.set(l*r,l*s,-l*(r*i+s*a)+i+e,-n*s,n*r,-n*(-s*i+r*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(co.makeScale(e,t)),this}rotate(e){return this.premultiply(co.makeRotation(-e)),this}translate(e,t){return this.premultiply(co.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){let t=Math.cos(e),l=Math.sin(e);return this.set(t,-l,0,l,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,l=e.elements;for(let e=0;e<9;e++)if(t[e]!==l[e])return!1;return!0}fromArray(e,t=0){for(let l=0;l<9;l++)this.elements[l]=e[l+t];return this}toArray(e=[],t=0){let l=this.elements;return e[t]=l[0],e[t+1]=l[1],e[t+2]=l[2],e[t+3]=l[3],e[t+4]=l[4],e[t+5]=l[5],e[t+6]=l[6],e[t+7]=l[7],e[t+8]=l[8],e}clone(){return(new this.constructor).fromArray(this.elements)}},co=new Uo;function po(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function Zo(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}var Wo={};function mo(e){e in Wo||(Wo[e]=!0,console.warn(e))}function Fo(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}
1function No(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}var uo=(new Uo).fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),Eo=(new Uo).fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]);var bo,So={[fs]:e=>e,[ws]:e=>e.convertSRGBToLinear(),[zs]:function(e){return e.convertSRGBToLinear().applyMatrix3(Eo)}},Jo={[fs]:e=>e,[ws]:e=>e.convertLinearToSRGB(),[zs]:function(e){return e.applyMatrix3(uo).convertLinearToSRGB()}},To={enabled:!0,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(e){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!e},get workingColorSpace(){return fs},set workingColorSpace(e){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(e,t,l){if(!1===this.enabled||t===l||!t||!l)return e;let n=So[t],V=Jo[l];if(void 0===n||void 0===V)throw new Error(`Unsupported color space conversion, "${t}" to "${l}".`);return V(n(e))},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}},Go=class{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===bo&&(bo=Zo("canvas")),bo.width=e.width,bo.height=e.height;let l=bo.getContext("2d");e instanceof ImageData?l.putImageData(e,0,0):l.drawImage(e,0,0,e.width,e.height),t=bo}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let t=Zo("canvas");t.width=e.width,t.height=e.height;let l=t.getContext("2d");l.drawImage(e,0,0,e.width,e.height);let n=l.getImageData(0,0,e.width,e.height),V=n.data;for(let e=0;e<V.length;e++)V[e]=255*Fo(V[e]/255);return l.putImageData(n,0,0),t}if(e.data){let t=e.data.slice(0);for(let e=0;e<t.length;e++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[e]=Math.floor(255*Fo(t[e]/255)):t[e]=Fo(t[e]);return{data:t,width:e.width,height:e.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}},Mo=0,ko=class{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:Mo++}),this.uuid=lo(),this.data=e,this.version=0}set needsUpdate(e){!0===e&&this.version++}toJSON(e){let t=void 0===e||"string"==typeof e;if(!t&&void 0!==e.images[this.uuid])return e.images[this.uuid];let l={uuid:this.uuid,url:""},n=this.data;if(null!==n){let e;if(Array.isArray(n)){e=[];for(let t=0,l=n.length;t<l;t++)n[t].isDataTexture?e.push(Yo(n[t].image)):e.push(Yo(n[t]))}else e=Yo(n);l.url=e}return t||(e.images[this.uuid]=l),l}};function Yo(e){return typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap?Go.getDataURL(e):e.data?{data:Array.from(e.data),width:e.width,height:e.height,type:e.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var xo=0,Qo=class e extends As{constructor(t=e.DEFAULT_IMAGE,l=e.DEFAULT_MAPPING,n=as,V=as,i=ds,a=Us,r=us,s=cs,o=e.DEFAULT_ANISOTROPY,h=""){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:xo++}),this.uuid=lo(),this.name="",this.source=new ko(t),this.mipmaps=[],this.mapping=l,this.channel=0,this.wrapS=n,this.wrapT=V,this.magFilter=i,this.minFilter=a,this.anisotropy=o,this.format=r,this.internalFormat=null,this.type=s,this.offset=new Ro(0,0),this.repeat=new Ro(1,1),this.center=new Ro(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Uo,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,"string"==typeof h?this.colorSpace
1=h:(mo("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=h===Qs?ws:Xs),this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){let t=void 0===e||"string"==typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];let l={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(l.userData=this.userData),t||(e.textures[this.uuid]=l),l}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case is:e.x=e.x-Math.floor(e.x);break;case as:e.x=e.x<0?0:1;break;case rs:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case is:e.y=e.y-Math.floor(e.y);break;case as:e.y=e.y<0?0:1;break;case rs:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){!0===e&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return mo("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===ws?Qs:3e3}set encoding(e){mo("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Qs?ws:Xs}};Qo.DEFAULT_IMAGE=null,Qo.DEFAULT_MAPPING=300,Qo.DEFAULT_ANISOTROPY=1;var Xo=class e{constructor(t=0,l=0,n=0,V=1){e.prototype.isVector4=!0,this.x=t,this.y=l,this.z=n,this.w=V}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,l,n){return this.x=e,this.y=t,this.z=l,this.w=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}
vendor: 4,230 bytes, line 1
1sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,l=this.y,n=this.z,V=this.w,i=e.elements;return this.x=i[0]*t+i[4]*l+i[8]*n+i[12]*V,this.y=i[1]*t+i[5]*l+i[9]*n+i[13]*V,this.z=i[2]*t+i[6]*l+i[10]*n+i[14]*V,this.w=i[3]*t+i[7]*l+i[11]*n+i[15]*V,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,l,n,V,i=e.elements,a=i[0],r=i[4],s=i[8],o=i[1],h=i[5],d=i[9],R=i[2],U=i[6],c=i[10];if(Math.abs(r-o)<.01&&Math.abs(s-R)<.01&&Math.abs(d-U)<.01){if(Math.abs(r+o)<.1&&Math.abs(s+R)<.1&&Math.abs(d+U)<.1&&Math.abs(a+h+c-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;let e=(a+1)/2,i=(h+1)/2,p=(c+1)/2,Z=(r+o)/4,W=(s+R)/4,m=(d+U)/4;return e>i&&e>p?e<.01?(l=0,n=.707106781,V=.707106781):(l=Math.sqrt(e),n=Z/l,V=W/l):i>p?i<.01?(l=.707106781,n=0,V=.707106781):(n=Math.sqrt(i),l=Z/n,V=m/n):p<.01?(l=.707106781,n=.707106781,V=0):(V=Math.sqrt(p),l=W/V,n=m/V),this.set(l,n,V,t),this}let p=Math.sqrt((U-d)*(U-d)+(s-R)*(s-R)+(o-r)*(o-r));return Math.abs(p)<.001&&(p=1),this.x=(U-d)/p,this.y=(s-R)/p,this.z=(o-r)/p,this.w=Math.acos((a+h+c-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){let l=this.length();return this.divideScalar(l||1).multiplyScalar(Math.max(e,Math.min(t,l)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,l){return this.x=e.x+(t.x-e.x)*l,this.y=e.y+(t.y-e.y)*l,this.z=e.z+(t.z-e.z)*l,this.w=e.w+(t.w-e.w)*l,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}},wo=class extends As{constructor(e=1,t=1,l={}
1){super(),this.isWebGLRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Xo(0,0,e,t),this.scissorTest=!1,this.viewport=new Xo(0,0,e,t);let n={width:e,height:t,depth:1};void 0!==l.encoding&&(mo("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),l.colorSpace=l.encoding===Qs?ws:Xs),this.texture=new Qo(n,l.mapping,l.wrapS,l.wrapT,l.magFilter,l.minFilter,l.format,l.type,l.anisotropy,l.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==l.generateMipmaps&&l.generateMipmaps,this.texture.internalFormat=void 0!==l.internalFormat?l.internalFormat:null,this.texture.minFilter=void 0!==l.minFilter?l.minFilter:ds,this.depthBuffer=void 0===l.depthBuffer||l.depthBuffer,this.stencilBuffer=void 0!==l.stencilBuffer&&l.stencilBuffer,this.depthTexture=void 0!==l.depthTexture?l.depthTexture:null,this.samples=void 0!==l.samples?l.samples:0}setSize(e,t,l=1){(this.width!==e||this.height!==t||this.depth!==l)&&(this.width=e,this.height=t,this.depth=l,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=l,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return(new this.constructor).copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;let t=Object.assign({},e.texture.image);return this.texture.source=new ko(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,null!==e.depthTexture&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}},fo=class extends Qo{constructor(e=null,t=1,l=1,n=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:l,depth:n},this.magFilter=ss,this.minFilter=ss,this.wrapR=as,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},zo=class{constructor(e=0,t=0,l=0,n=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=l,this._w=n}static slerpFlat(e,t,l,n,V,i,a){let r=l[n+0],s=l[n+1],o=l[n+2],h=l[n+3],d=V[i+0],R=V[i+1],U=V[i+2],c=V[i+3];if(0===a)return e[t+0]=r,e[t+1]=s,e[t+2]=o,void(e[t+3]=h);if(1===a)return e[t+0]=d,e[t+1]=R,e[t+2]=U,void(e[t+3]=c);if(h!==c||r!==d||s!==R||o!==U){let e=1-a,t=r*d+s*R+o*U+h*c,l=t>=0?1:-1,n=1-t*t;if(n>Number.EPSILON){let V=Math.sqrt(n),i=Math.atan2(V,t*l);e=Math.sin(e*i)/V,a=Math.sin(a*i)/V}let V=a*l;if(r=r*e+d*V,s=s*e+R*V,o=o*e+U*V,h=h*e+c*V,e===1-a){let e=1/Math.sqrt(r*r+s*s+o*o+h*h);r*=e,s*=e,o*=e,h*=e}}e[t]=r,e[t+1]=s,e[t+2]=o,e[t+3]=h}static multiplyQuaternionsFlat(e,t,l,n,V,i){let a=l[n],r=l[n+1],s=l[n+2],o=l[n+3],h=V[i],d=V[i+1],R=V[i+2],U=V[i+3];return e[t]=a*U+o*h+r*R-s*d,e[t+1]=r*U+o*d+s*h-a*R,e[t+2]=s*U+o*R+a*d-r*h,e[t+3]=o*U-a*h-r*d-s*R,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,l,n){return this._x=e,this._y=t,this._z=l,this._w=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){let l=e._x,n=e._y,V=e._z,i=e._order,a=Math.cos,r=Math.sin,s=a(l/2),o=a(n/2),h=a(V/2),d=r(l/2),R=r(n/2),U=r(V/2);switch(i){case"XYZ":this._x=d*o*h+s*R*U,this._y=s*R*h-d*o*U,this._z=s*o*U+d*R*h,this._w=s*o*h-d*R*U;break;case"YXZ":this._x=d*o*h+s*R*U,this._y=s*R*h-d*o*U,this._z=s*o*U-d*R*h,this._w=s*o*h+d*R*U;break;case"ZXY":this._x=d*o*h-s*R*U,this._y=s*R*h+d*o*U,this._z=s*o*U+d*R*h,this._w=s*o*h-d*R*U;break;case"ZYX":this._x=d*o*h-s*R*U,this._y=s*R*h+d*o*U,this._z=s*o*U-d*R*h,this._w=s*o*h+d*R*U;break;case"YZX":this._x=d*o*h+s*R*U,this._y=s*R*h+d*o*U,this._z=s*o*U-d*R*h,this._w=s*o*h-d*R*U;break;case"XZY":this._x=d*o*h-s*R*U,this._y=s*R*h-d*o*U,this._z=s*o*U+d*R*h,this._w=s*o*h+d*R*U;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+i)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let l=t/2,n=Math.sin(l);return this._x=e.x*n,this._y=e.y*n,this._z=e.z*n,this._w=Math.cos(l),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,l=t[0],n=t[4],V=t[8],i=t[1],a=t[5],r=t[9],s=t[2],o=t[6],h=t[10],d=l+a+h;if(d>0){let e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(o-r)*e,this._y=(V-s)*e,this._z=(i-n)*e}else if(l>a&&l>h){let e=2*Math.sqrt(1+l-a-h);this._w=(o-r)/e,this._x=.25*e,this._y=(n+i)/e,this._z=(V+s)/e}else if(a>h){let e=2*Math.sqrt(1+a-l-h);this._w=(V-s)/e,this._x=(n+i)/e,this._y=.25*e,this._z=(r+o)/e}else{let e=2*Math.sqrt(1+h-l-a);this._w=(i-n)/e,this._x=(V+s)/e,this._y=(r+o)/e,this._z=.25*e}return this._onChangeCallback(),this}
vendor: 12,150 bytes, line 1
1setFromUnitVectors(e,t){let l=e.dot(t)+1;return l<Number.EPSILON?(l=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=l):(this._x=0,this._y=-e.z,this._z=e.y,this._w=l)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=l),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(no(this.dot(e),-1,1)))}rotateTowards(e,t){let l=this.angleTo(e);if(0===l)return this;let n=Math.min(1,t/l);return this.slerp(e,n),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let l=e._x,n=e._y,V=e._z,i=e._w,a=t._x,r=t._y,s=t._z,o=t._w;return this._x=l*o+i*a+n*s-V*r,this._y=n*o+i*r+V*a-l*s,this._z=V*o+i*s+l*r-n*a,this._w=i*o-l*a-n*r-V*s,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);let l=this._x,n=this._y,V=this._z,i=this._w,a=i*e._w+l*e._x+n*e._y+V*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=i,this._x=l,this._y=n,this._z=V,this;let r=1-a*a;if(r<=Number.EPSILON){let e=1-t;return this._w=e*i+t*this._w,this._x=e*l+t*this._x,this._y=e*n+t*this._y,this._z=e*V+t*this._z,this.normalize(),this._onChangeCallback(),this}let s=Math.sqrt(r),o=Math.atan2(s,a),h=Math.sin((1-t)*o)/s,d=Math.sin(t*o)/s;return this._w=i*h+this._w*d,this._x=l*h+this._x*d,this._y=n*h+this._y*d,this._z=V*h+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,l){return this.copy(e).slerp(t,l)}random(){let e=Math.random(),t=Math.sqrt(1-e),l=Math.sqrt(e),n=2*Math.PI*Math.random(),V=2*Math.PI*Math.random();return this.set(t*Math.cos(n),l*Math.sin(V),l*Math.cos(V),t*Math.sin(n))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},yo=class e{constructor(t=0,l=0,n=0){e.prototype.isVector3=!0,this.x=t,this.y=l,this.z=n}set(e,t,l){return void 0===l&&(l=this.z),this.x=e,this.y=t,this.z=l,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(jo.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(jo.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,l=this.y,n=this.z,V=e.elements;return this.x=V[0]*t+V[3]*l+V[6]*n,this.y=V[1]*t+V[4]*l+V[7]*n,this.z=V[2]*t+V[5]*l+V[8]*n,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,l=this.y,n=this.z,V=e.elements,i=1/(V[3]*t+V[7]*l+V[11]*n+V[15]);return this.x=(V[0]*t+V[4]*l+V[8]*n+V[12])*i,this.y=(V[1]*t+V[5]*l+V[9]*n+V[13])*i,this.z=(V[2]*t+V[6]*l+V[10]*n+V[14])*i,this}applyQuaternion(e){let t=this.x,l=this.y,n=this.z,V=e.x,i=e.y,a=e.z,r=e.w,s=r*t+i*n-a*l,o=r*l+a*t-V*n,h=r*n+V*l-i*t,d=-V*t-i*l-a*n;return this.x=s*r+d*-V+o*-a-h*-i,this.y=o*r+d*-i+h*-V-s*-a,this.z=h*r+d*-a+s*-i-o*-V,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,l=this.y,n=this.z,V=e.elements;return this.x=V[0]*t+V[4]*l+V[8]*n,this.y=V[1]*t+V[5]*l+V[9]*n,this.z=V[2]*t+V[6]*l+V[10]*n,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let l=this.length();return this.divideScalar(l||1).multiplyScalar(Math.max(e,Math.min(t,l)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,l){return this.x=e.x+(t.x-e.x)*l,this.y=e.y+(t.y-e.y)*l,this.z=e.z+(t.z-e.z)*l,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let l=e.x,n=e.y,V=e.z,i=t.x,a=t.y,r=t.z;return this.x=n*r-V*a,this.y=V*i-l*r,this.z=l*a-n*i,this}projectOnVector(e){let t=e.lengthSq();if(0===t)return this.set(0,0,0);let l=e.dot(this)/t;return this.copy(e).multiplyScalar(l)}projectOnPlane(e){return Co.copy(this).projectOnVector(e),this.sub(Co)}reflect(e){return this.sub(Co.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;let l=this.dot(e)/t;return Math.acos(no(l,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,l=this.y-e.y,n=this.z-e.z;return t*t+l*l+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,l){let n=Math.sin(t)*e;return this.x=n*Math.sin(l),this.y=Math.cos(t)*e,this.z=n*Math.cos(l),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,l){return this.x=e*Math.sin(t),this.y=l,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),l=this.setFromMatrixColumn(e,1).length(),n=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=l,this.z=n,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,l=Math.sqrt(1-e**2);return this.x=l*Math.cos(t),this.y=l*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},Co=new yo,jo=new zo,go=class{constructor(e=new yo(1/0,1/0,1/0),t=new yo(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,l=e.length;t<l;t+=3)this.expandByPoint(Ho.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,l=e.count;t<l;t++)this.expandByPoint(Ho.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,l=e.length;t<l;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let l=Ho.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(l),this.max.copy(e).add(l),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return(new this.constructor).copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){if(e.updateWorldMatrix(!1,!1),void 0!==e.boundingBox)null===e.boundingBox&&e.computeBoundingBox(),vo.copy(e.boundingBox),vo.applyMatrix4(e.matrixWorld),this.union(vo);else{let l=e.geometry;if(void 0!==l)if(t&&void 0!==l.attributes&&void 0!==l.attributes.position){let t=l.attributes.position;for(let l=0,n=t.count;l<n;l++)Ho.fromBufferAttribute(t,l).applyMatrix4(e.matrixWorld),this.expandByPoint(Ho)}else null===l.boundingBox&&l.computeBoundingBox(),vo.copy(l.boundingBox),vo.applyMatrix4(e.matrixWorld),this.union(vo)}let l=e.children;for(let e=0,n=l.length;e<n;e++)this.expandByObject(l[e],t);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Ho),Ho.distanceToSquared(e.center)<=e.radius*e.radiu
vendor: 4,249 bytes, line 1
1s}intersectsPlane(e){let t,l;return e.normal.x>0?(t=e.normal.x*this.min.x,l=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,l=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,l+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,l+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,l+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,l+=e.normal.z*this.min.z),t<=-e.constant&&l>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Po),Ao.subVectors(this.max,Po),Io.subVectors(e.a,Po),Do.subVectors(e.b,Po),Oo.subVectors(e.c,Po),_o.subVectors(Do,Io),Lo.subVectors(Oo,Do),Ko.subVectors(Io,Oo);let t=[0,-_o.z,_o.y,0,-Lo.z,Lo.y,0,-Ko.z,Ko.y,_o.z,0,-_o.x,Lo.z,0,-Lo.x,Ko.z,0,-Ko.x,-_o.y,_o.x,0,-Lo.y,Lo.x,0,-Ko.y,Ko.x,0];return!(!eh(t,Io,Do,Oo,Ao)||(t=[1,0,0,0,1,0,0,0,1],!eh(t,Io,Do,Oo,Ao)))&&(qo.crossVectors(_o,Lo),t=[qo.x,qo.y,qo.z],eh(t,Io,Do,Oo,Ao))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Ho).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=.5*this.getSize(Ho).length()),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()||(Bo[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Bo[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Bo[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Bo[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Bo[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Bo[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Bo[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Bo[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Bo)),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},Bo=[new yo,new yo,new yo,new yo,new yo,new yo,new yo,new yo],Ho=new yo,vo=new go,Io=new yo,Do=new yo,Oo=new yo,_o=new yo,Lo=new yo,Ko=new yo,Po=new yo,Ao=new yo,qo=new yo,$o=new yo;function eh(e,t,l,n,V){for(let i=0,a=e.length-3;i<=a;i+=3){$o.fromArray(e,i);let a=V.x*Math.abs($o.x)+V.y*Math.abs($o.y)+V.z*Math.abs($o.z),r=t.dot($o),s=l.dot($o),o=n.dot($o);if(Math.max(-Math.max(r,s,o),Math.min(r,s,o))>a)return!1}return!0}var th=new go,lh=new yo,nh=new yo,Vh=class{constructor(e=new yo,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let l=this.center;void 0!==t?l.copy(t):th.setFromPoints(e).getCenter(l);let n=0;for(let t=0,V=e.length;t<V;t++)n=Math.max(n,l.distanceToSquared(e[t]));return this.radius=Math.sqrt(n),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){let t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){let l=this.center.distanceToSquared(e);return t.copy(e),l>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;lh.subVectors(e,this.center);let t=lh.lengthSq();if(t>this.radius*this.radius){let e=Math.sqrt(t),l=.5*(e-this.radius);this.center.addScaledVector(lh,l/e),this.radius+=l}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(nh.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(lh.copy(e.center).add(n
vendor: 6,137 bytes, line 1
1h)),this.expandByPoint(lh.copy(e.center).sub(nh))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}},ih=new yo,ah=new yo,rh=new yo,sh=new yo,oh=new yo,hh=new yo,dh=new yo,Rh=class{constructor(e=new yo,t=new yo(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,ih)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let l=t.dot(this.direction);return l<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,l)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=ih.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(ih.copy(this.origin).addScaledVector(this.direction,t),ih.distanceToSquared(e))}distanceSqToSegment(e,t,l,n){ah.copy(e).add(t).multiplyScalar(.5),rh.copy(t).sub(e).normalize(),sh.copy(this.origin).sub(ah);let V,i,a,r,s=.5*e.distanceTo(t),o=-this.direction.dot(rh),h=sh.dot(this.direction),d=-sh.dot(rh),R=sh.lengthSq(),U=Math.abs(1-o*o);if(U>0)if(V=o*d-h,i=o*h-d,r=s*U,V>=0)if(i>=-r)if(i<=r){let e=1/U;V*=e,i*=e,a=V*(V+o*i+2*h)+i*(o*V+i+2*d)+R}else i=s,V=Math.max(0,-(o*i+h)),a=-V*V+i*(i+2*d)+R;else i=-s,V=Math.max(0,-(o*i+h)),a=-V*V+i*(i+2*d)+R;else i<=-r?(V=Math.max(0,-(-o*s+h)),i=V>0?-s:Math.min(Math.max(-s,-d),s),a=-V*V+i*(i+2*d)+R):i<=r?(V=0,i=Math.min(Math.max(-s,-d),s),a=i*(i+2*d)+R):(V=Math.max(0,-(o*s+h)),i=V>0?s:Math.min(Math.max(-s,-d),s),a=-V*V+i*(i+2*d)+R);else i=o>0?-s:s,V=Math.max(0,-(o*i+h)),a=-V*V+i*(i+2*d)+R;return l&&l.copy(this.origin).addScaledVector(this.direction,V),n&&n.copy(ah).addScaledVector(rh,i),a}intersectSphere(e,t){ih.subVectors(e.center,this.origin);let l=ih.dot(this.direction),n=ih.dot(ih)-l*l,V=e.radius*e.radius;if(n>V)return null;let i=Math.sqrt(V-n),a=l-i,r=l+i;return r<0?null:a<0?this.at(r,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;let l=-(this.origin.dot(e.normal)+e.constant)/t;return l>=0?l:null}intersectPlane(e,t){let l=this.distanceToPlane(e);return null===l?null:this.at(l,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let l,n,V,i,a,r,s=1/this.direction.x,o=1/this.direction.y,h=1/this.direction.z,d=this.origin;return s>=0?(l=(e.min.x-d.x)*s,n=(e.max.x-d.x)*s):(l=(e.max.x-d.x)*s,n=(e.min.x-d.x)*s),o>=0?(V=(e.min.y-d.y)*o,i=(e.max.y-d.y)*o):(V=(e.max.y-d.y)*o,i=(e.min.y-d.y)*o),l>i||V>n||((V>l||isNaN(l))&&(l=V),(i<n||isNaN(n))&&(n=i),h>=0?(a=(e.min.z-d.z)*h,r=(e.max.z-d.z)*h):(a=(e.max.z-d.z)*h,r=(e.min.z-d.z)*h),l>r||a>n)||((a>l||l!=l)&&(l=a),(r<n||n!=n)&&(n=r),n<0)?null:this.at(l>=0?l:n,t)}intersectsBox(e){return null!==this.intersectBox(e,ih)}intersectTriangle(e,t,l,n,V){oh.subVectors(t,e),hh.subVectors(l,e),dh.crossVectors(oh,hh);let i,a=this.direction.dot(dh);if(a>0){if(n)return null;i=1}else{if(!(a<0))return null;i=-1,a=-a}sh.subVectors(this.origin,e);let r=i*this.direction.dot(hh.crossVectors(sh,hh));if(r<0)return null;let s=i*this.direction.dot(oh.cross(sh));if(s<0||r+s>a)return null;let o=-i*sh.dot(dh);return o<0?null:this.at(o/a,V)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}},Uh=class e{constructor(t,l,n,V,i,a,r,s,o,h,d,R,U,c,p,Z){e.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==t&&this.set(t,l,n,V,i,a,r,s,o,h,d,R,U,c,p,Z)}set(e,t,l,n,V,i,a,r,s,o,h,d,R,U,c,p){let Z=this.elements;return Z[0]=e,Z[4]=t,Z[8]=l,Z[12]=n,Z[1]=V,Z[5]=i,Z[9]=a,Z[13]=r,Z[2]=s,Z[6]=o,Z[10]=h,Z[14]=d,Z[3]=R,Z[7]=U,Z[11]=c,Z[15]=p,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new e).fromArray(this.elements)}copy(e){let t=this.elements,l=e.elements;return t[0]=l[0],t[1]=l[1],t[2]=l[2],t[3]=l[3],t[4]=l[4],t[5]=l[5],t[6]=l[6],t[7]=l[7],t[8]=l[8],t[9]=l[9],t[10]=l[10],t[11]=l[11],t[12]=l[12],t[13]=l[13],t[14]=l[14],t[15]=l[15],this}copyPosition(e){let t=this.elements,l=e.elements;return t[12]=l[12],t[13]=l[13],t[14]=l[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,l){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),l.setFromMatrixColumn(this,2),this}makeBasis(e,t,l){return this.set(e.x,t.x,l.x,0,e.y,t.y,l.y,0,e.z,t.z,l.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,l=e.elements,n=1/ch.setFromMatrixColumn(e,0).length(),V=1/ch.setFromMatrixColumn(e,1).length(),i=1/ch.setFromMatrixColumn(e,2).length();return t[0]=l[0]*n,t[1]=l[1]*n,t[2]=l[2]*n,t[3]=0,t[4]=l[4]*V,t[5]=l[5]*V,t[6]=l[6]*V,t[7]=0,t[8]=l[8]*i,t[9]=l[9]*i,t[10]=l[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){let t=this.elements,l=e.x,n=e.y,V=e.z,i=Math.cos(l),a=Math.sin(l),r=Math.cos(n),s=Math.sin(n),o=Math.cos(V),h=Math.sin(V);if("XYZ"===e.order){let e=i*o,l=i*h,n=a*o,V=a*h;t[0]=r*o,t[4]=-r*h,t[8]=s,t[1]=l+n*s,t[5]=e-V*s,t[9]=-a*r,t[2]=V-e*s,t[6]=n+l*s,t[10]=i*r}else if("YXZ"===e.order){let e=r*o,l=r*h,n=s*o,V=s*h;t[0]=e+V*a,t[4]=n*a-l,t[8]=i*s,t[1]=i*h,t[5]=i*o,t[9]=-a,t[2]=l*a-n,t[6]=V+e*a,t[10]=i*r}else if("ZXY"===e.order){let e=r*o,l=r*h,n=s*o,V=s*h;t[0]=e-V*a,t[4]=-i*h,t[8]=n+l*a,t[1]=l+n*a,t[5]=i*o,t[9]=V-e*a,t[2]=-i*s,t[6]=a,t[10]=i*r}else if("ZYX"===e.order){let e=i*o,l=i*h,n=a*o,V=a*h;t[0]=r*o,t[4]=n*s-l,t[8]=e*s+V,t[1]=r*h,t[5]=V*s+e,t[9]=l*s-n,t[2]=-s,t[6]=a*r,t[10]=i*r}else if("YZX"===e.order){let e=i*r,l=i*s,n=a*r,V=a*s;t[0]=r*o,t[4]=V-e*h,t[8]=n*h+l,t[1]=h,t[5]=i*o,t[9]=-a*o,t[2]=-s*o,t[6]=l*h+n,t[10]=e-V*h}
vendor: 5,189 bytes, line 1
1else if("XZY"===e.order){let e=i*r,l=i*s,n=a*r,V=a*s;t[0]=r*o,t[4]=-h,t[8]=s*o,t[1]=e*h+V,t[5]=i*o,t[9]=l*h-n,t[2]=n*h-l,t[6]=a*o,t[10]=V*h+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Zh,e,Wh)}lookAt(e,t,l){let n=this.elements;return Nh.subVectors(e,t),0===Nh.lengthSq()&&(Nh.z=1),Nh.normalize(),mh.crossVectors(l,Nh),0===mh.lengthSq()&&(1===Math.abs(l.z)?Nh.x+=1e-4:Nh.z+=1e-4,Nh.normalize(),mh.crossVectors(l,Nh)),mh.normalize(),Fh.crossVectors(Nh,mh),n[0]=mh.x,n[4]=Fh.x,n[8]=Nh.x,n[1]=mh.y,n[5]=Fh.y,n[9]=Nh.y,n[2]=mh.z,n[6]=Fh.z,n[10]=Nh.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let l=e.elements,n=t.elements,V=this.elements,i=l[0],a=l[4],r=l[8],s=l[12],o=l[1],h=l[5],d=l[9],R=l[13],U=l[2],c=l[6],p=l[10],Z=l[14],W=l[3],m=l[7],F=l[11],N=l[15],u=n[0],E=n[4],b=n[8],S=n[12],J=n[1],T=n[5],G=n[9],M=n[13],k=n[2],Y=n[6],x=n[10],Q=n[14],X=n[3],w=n[7],f=n[11],z=n[15];return V[0]=i*u+a*J+r*k+s*X,V[4]=i*E+a*T+r*Y+s*w,V[8]=i*b+a*G+r*x+s*f,V[12]=i*S+a*M+r*Q+s*z,V[1]=o*u+h*J+d*k+R*X,V[5]=o*E+h*T+d*Y+R*w,V[9]=o*b+h*G+d*x+R*f,V[13]=o*S+h*M+d*Q+R*z,V[2]=U*u+c*J+p*k+Z*X,V[6]=U*E+c*T+p*Y+Z*w,V[10]=U*b+c*G+p*x+Z*f,V[14]=U*S+c*M+p*Q+Z*z,V[3]=W*u+m*J+F*k+N*X,V[7]=W*E+m*T+F*Y+N*w,V[11]=W*b+m*G+F*x+N*f,V[15]=W*S+m*M+F*Q+N*z,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],l=e[4],n=e[8],V=e[12],i=e[1],a=e[5],r=e[9],s=e[13],o=e[2],h=e[6],d=e[10],R=e[14];return e[3]*(+V*r*h-n*s*h-V*a*d+l*s*d+n*a*R-l*r*R)+e[7]*(+t*r*R-t*s*d+V*i*d-n*i*R+n*s*o-V*r*o)+e[11]*(+t*s*h-t*a*R-V*i*h+l*i*R+V*a*o-l*s*o)+e[15]*(-n*a*o-t*r*h+t*a*d+n*i*h-l*i*d+l*r*o)}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(e,t,l){let n=this.elements;return e.isVector3?(n[12]=e.x,n[13]=e.y,n[14]=e.z):(n[12]=e,n[13]=t,n[14]=l),this}invert(){let e=this.elements,t=e[0],l=e[1],n=e[2],V=e[3],i=e[4],a=e[5],r=e[6],s=e[7],o=e[8],h=e[9],d=e[10],R=e[11],U=e[12],c=e[13],p=e[14],Z=e[15],W=h*p*s-c*d*s+c*r*R-a*p*R-h*r*Z+a*d*Z,m=U*d*s-o*p*s-U*r*R+i*p*R+o*r*Z-i*d*Z,F=o*c*s-U*h*s+U*a*R-i*c*R-o*a*Z+i*h*Z,N=U*h*r-o*c*r-U*a*d+i*c*d+o*a*p-i*h*p,u=t*W+l*m+n*F+V*N;if(0===u)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let E=1/u;return e[0]=W*E,e[1]=(c*d*V-h*p*V-c*n*R+l*p*R+h*n*Z-l*d*Z)*E,e[2]=(a*p*V-c*r*V+c*n*s-l*p*s-a*n*Z+l*r*Z)*E,e[3]=(h*r*V-a*d*V-h*n*s+l*d*s+a*n*R-l*r*R)*E,e[4]=m*E,e[5]=(o*p*V-U*d*V+U*n*R-t*p*R-o*n*Z+t*d*Z)*E,e[6]=(U*r*V-i*p*V-U*n*s+t*p*s+i*n*Z-t*r*Z)*E,e[7]=(i*d*V-o*r*V+o*n*s-t*d*s-i*n*R+t*r*R)*E,e[8]=F*E,e[9]=(U*h*V-o*c*V-U*l*R+t*c*R+o*l*Z-t*h*Z)*E,e[10]=(i*c*V-U*a*V+U*l*s-t*c*s-i*l*Z+t*a*Z)*E,e[11]=(o*a*V-i*h*V-o*l*s+t*h*s+i*l*R-t*a*R)*E,e[12]=N*E,e[13]=(o*c*n-U*h*n+U*l*d-t*c*d-o*l*p+t*h*p)*E,e[14]=(U*a*n-i*c*n-U*l*r+t*c*r+i*l*p-t*a*p)*E,e[15]=(i*h*n-o*a*n+o*l*r-t*h*r-i*l*d+t*a*d)*E,this}scale(e){let t=this.elements,l=e.x,n=e.y,V=e.z;return t[0]*=l,t[4]*=n,t[8]*=V,t[1]*=l,t[5]*=n,t[9]*=V,t[2]*=l,t[6]*=n,t[10]*=V,t[3]*=l,t[7]*=n,t[11]*=V,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],l=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],n=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,l,n))}makeTranslation(e,t,l){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,l,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),l=Math.sin(e);return this.set(1,0,0,0,0,t,-l,0,0,l,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),l=Math.sin(e);return this.set(t,0,l,0,0,1,0,0,-l,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),l=Math.sin(e);return this.set(t,-l,0,0,l,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let l=Math.cos(t),n=Math.sin(t),V=1-l,i=e.x,a=e.y,r=e.z,s=V*i,o=V*a;return this.set(s*i+l,s*a-n*r,s*r+n*a,0,s*a+n*r,o*a+l,o*r-n*i,0,s*r-n*a,o*r+n*i,V*r*r+l,0,0,0,0,1),this}makeScale(e,t,l){return this.set(e,0,0,0,0,t,0,0,0,0,l,0,0,0,0,1),this}makeShear(e,t,l,n,V,i){return this.set(1,l,V,0,e,1,i,0,t,n,1,0,0,0,0,1),this}compose(e,t,l){let n=this.elements,V=t._x,i=t._y,a=t._z,r=t._w,s=V+V,o=i+i,h=a+a,d=V*s,R=V*o,U=V*h,c=i*o,p=i*h,Z=a*h,W=r*s,m=r*o,F=r*h,N=l.x,u=l.y,E=l.z;return n[0]=(1-(c+Z))*N,n[1]=(R+F)*N,n[2]=(U-m)*N,n[3]=0,n[4]=(R-F)*u,n[5]=(1-(d+Z))*u,n[6]=(p+W)*u,n[7]=0,n[8]=(U+m)*E,n[9]=(p-W)*E,n[10]=(1-(d+c))*E,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,this}decompose(e,t,l){let n=this.elements,V=ch.set(n[0],n[1],n[2]).length(),i=ch.set(n[4],n[5],n[6]).length(),a=ch.set(n[8],n[9],n[10]).length();this.determinant()<0&&(V=-V),e.x=n[12],e.y=n[13],e.z=n[14],ph.copy(this);let r=1/V,s=1/i,o=1/a;return ph.elements[0]*=r,ph.elements[1]*=r,ph.elements[2]*=r,ph.elements[4]*=s,ph.elements[5]*=s,ph.elements[6]*=s,ph.elements[8]*=o,ph.elements[9]*=o,ph.elements[10]*=o,t.setFromRotationMatrix(ph),l.x=V,l.y=i,l.z=a,this}makePerspective(e,t,l,n,V,i,a=Ks){let r,s,o=this.elements,h=2*V/(t-e),d=2*V/(l-n),R=(t
1+e)/(t-e),U=(l+n)/(l-n);if(a===Ks)r=-(i+V)/(i-V),s=-2*i*V/(i-V);else{if(a!==Ps)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);r=-i/(i-V),s=-i*V/(i-V)}return o[0]=h,o[4]=0,o[8]=R,o[12]=0,o[1]=0,o[5]=d,o[9]=U,o[13]=0,o[2]=0,o[6]=0,o[10]=r,o[14]=s,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(e,t,l,n,V,i,a=Ks){let r,s,o=this.elements,h=1/(t-e),d=1/(l-n),R=1/(i-V),U=(t+e)*h,c=(l+n)*d;if(a===Ks)r=(i+V)*R,s=-2*R;else{if(a!==Ps)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);r=V*R,s=-1*R}return o[0]=2*h,o[4]=0,o[8]=0,o[12]=-U,o[1]=0,o[5]=2*d,o[9]=0,o[13]=-c,o[2]=0,o[6]=0,o[10]=s,o[14]=-r,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(e){let t=this.elements,l=e.elements;for(let e=0;e<16;e++)if(t[e]!==l[e])return!1;return!0}fromArray(e,t=0){for(let l=0;l<16;l++)this.elements[l]=e[l+t];return this}toArray(e=[],t=0){let l=this.elements;return e[t]=l[0],e[t+1]=l[1],e[t+2]=l[2],e[t+3]=l[3],e[t+4]=l[4],e[t+5]=l[5],e[t+6]=l[6],e[t+7]=l[7],e[t+8]=l[8],e[t+9]=l[9],e[t+10]=l[10],e[t+11]=l[11],e[t+12]=l[12],e[t+13]=l[13],e[t+14]=l[14],e[t+15]=l[15],e}},ch=new yo,ph=new Uh,Zh=new yo(0,0,0),Wh=new yo(1,1,1),mh=new yo,Fh=new yo,Nh=new yo,uh=new Uh,Eh=new zo,bh=class e{constructor(t=0,l=0,n=0,V=e.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=l,this._z=n,this._order=V}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,l,n=this._order){return this._x=e,this._y=t,this._z=l,this._order=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,l=!0){let n=e.elements,V=n[0],i=n[4],a=n[8],r=n[1],s=n[5],o=n[9],h=n[2],d=n[6],R=n[10];switch(t){case"XYZ":this._y=Math.asin(no(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-o,R),this._z=Math.atan2(-i,V)):(this._x=Math.atan2(d,s),this._z=0);break;case"YXZ":this._x=Math.asin(-no(o,-1,1)),Math.abs(o)<.9999999?(this._y=Math.atan2(a,R),this._z=Math.atan2(r,s)):(this._y=Math.atan2(-h,V),this._z=0);break;case"ZXY":this._x=Math.asin(no(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,R),this._z=Math.atan2(-i,s)):(this._y=0,this._z=Math.atan2(r,V));break;case"ZYX":this._y=Math.asin(-no(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,R),this._z=Math.atan2(r,V)):(this._x=0,this._z=Math.atan2(-i,s));break;case"YZX":this._z=Math.asin(no(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(-o,s),this._y=Math.atan2(-h,V)):(this._x=0,this._y=Math.atan2(a,R));break;case"XZY":this._z=Math.asin(-no(i,-1,1)),Math.abs(i)<.9999999?(this._x=Math.atan2(d,s),this._y=Math.atan2(a,V)):(this._x=Math.atan2(-o,R),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===l&&this._onChangeCallback(),this}setFromQuaternion(e,t,l){return uh.makeRotationFromQuaternion(e),this.setFromRotationMatrix(uh,t,l)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Eh.setFromEuler(this),this.setFromQuaternion(Eh,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};bh.DEFAULT_ORDER="XYZ";var Sh=class{constructor(){this.mask=1}set(e){this.mask=1<<e>>>0}enable(e){this.mask|=1<<e}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e}disable(e){this.mask&=~(1<<e)}disableAll(){this.mask=0}test(e){return!!(this.mask&e.mask)}isEnabled(e){return!!(this.mask&1<<e)}},Jh=0,Th=new yo,Gh=new zo,Mh=new Uh,kh=new yo,Yh=new yo,xh=new yo,Qh=new zo,Xh=new yo(1,0,0),wh=new yo(0,
11,0),fh=new yo(0,0,1),zh={type:"added"},yh={type:"removed"},Ch=class e extends As{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:Jh++}),this.uuid=lo(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=e.DEFAULT_UP.clone();let t=new yo,l=new bh,n=new zo,V=new yo(1,1,1);l._onChange((function(){n.setFromEuler(l,!1)})),n._onChange((function(){l.setFromQuaternion(n,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:l},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:V},modelViewMatrix:{value:new Uh},normalMatrix:{value:new Uo}}),this.matrix=new Uh,this.matrixWorld=new Uh,this.matrixAutoUpdate=e.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=e.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new Sh,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return Gh.setFromAxisAngle(e,t),this.quaternion.multiply(Gh),this}rotateOnWorldAxis(e,t){return Gh.setFromAxisAngle(e,t),this.quaternion.premultiply(Gh),this}rotateX(e){return this.rotateOnAxis(Xh,e)}rotateY(e){return this.rotateOnAxis(wh,e)}rotateZ(e){return this.rotateOnAxis(fh,e)}translateOnAxis(e,t){return Th.copy(e).applyQuaternion(this.quaternion),this.position.add(Th.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(Xh,e)}translateY(e){return this.translateOnAxis(wh,e)}translateZ(e){return this.translateOnAxis(fh,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(Mh.copy(this.matrixWorld).invert())}lookAt(e,t,l){e.isVector3?kh.copy(e):kh.set(e,t,l);let n=this.parent;this.updateWorldMatrix(!0,!1),Yh.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Mh.lookAt(Yh,kh,this.up):Mh.lookAt(kh,Yh,this.up),this.quaternion.setFromRotationMatrix(Mh),n&&(Mh.extractRotation(n.matrixWorld),Gh.setFromRotationMatrix(Mh),this.quaternion.premultiply(Gh.invert()))}add(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(null!==e.parent&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(zh)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}let t=this.children.indexOf(e);return-1!==t&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(yh)),this}removeFromParent(){let e=this.parent;return null!==e&&e.remove(this),this}clear(){for(let e=0;e<this.children.length;e++){let t=this.children[e];t.parent=null,t.dispatchEvent(yh)}return this.children.length=0,this}attach(e){return this.updateWorldMatrix(!0,!1),Mh.copy(this.matrixWorld).invert(),null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),Mh.multiply(e.parent.matrixWorld)),e.applyMatrix4(Mh),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let l=0,n=this.children.length;l<n;l++){let n=this.children[l].getObjectByProperty(e,t);if(void 0!==n)return n}}getObjectsByProperty(e,t){let l=[];this[e]===t&&l.push(this);for(let n=0,V=this.children.length;n<V;n++){let V=this.children[n].getObjectsByProperty(e,t);V.length>0&&(l=l.concat(V))}return l}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Yh,e,xh),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Yh,Qh,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);let t=this.children;for(let l=0,n=t.length;l<n;l++)t[l].traverse(e)}traverseVisible(e){if(!1===this.visible)return;e(this);let t=this.children;for(let l=0,n=t.length;l<n;l++)t[l].traverseVisible(e)}traverseAncestors(e){let t=this.parent;null!==t&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.copy(this.matrix
vendor: 4,132 bytes, line 1
1):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);let t=this.children;for(let l=0,n=t.length;l<n;l++){let n=t[l];(!0===n.matrixWorldAutoUpdate||!0===e)&&n.updateMatrixWorld(e)}}updateWorldMatrix(e,t){let l=this.parent;if(!0===e&&null!==l&&!0===l.matrixWorldAutoUpdate&&l.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===t){let e=this.children;for(let t=0,l=e.length;t<l;t++){let l=e[t];!0===l.matrixWorldAutoUpdate&&l.updateWorldMatrix(!1,!0)}}}toJSON(e){let t=void 0===e||"string"==typeof e,l={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},l.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});let n={};function V(t,l){return void 0===t[l.uuid]&&(t[l.uuid]=l.toJSON(e)),l.uuid}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),!0===this.castShadow&&(n.castShadow=!0),!0===this.receiveShadow&&(n.receiveShadow=!0),!1===this.visible&&(n.visible=!1),!1===this.frustumCulled&&(n.frustumCulled=!1),0!==this.renderOrder&&(n.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),n.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(n.matrixAutoUpdate=!1),this.isInstancedMesh&&(n.type="InstancedMesh",n.count=this.count,n.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(n.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?n.background=this.background.toJSON():this.background.isTexture&&(n.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(n.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){n.geometry=V(e.geometries,this.geometry);let t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){let l=t.shapes;if(Array.isArray(l))for(let t=0,n=l.length;t<n;t++){let n=l[t];V(e.shapes,n)}else V(e.shapes,l)}}if(this.isSkinnedMesh&&(n.bindMode=this.bindMode,n.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(V(e.skeletons,this.skeleton),n.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){let t=[];for(let l=0,n=this.material.length;l<n;l++)t.push(V(e.materials,this.material[l]));n.material=t}else n.material=V(e.materials,this.material);if(this.children.length>0){n.children=[];for(let t=0;t<this.children.length;t++)n.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){n.animations=[];for(let t=0;t<this.animations.length;t++){let l=this.animations[t];n.animations.push(V(e.animations,l))}}if(t){let t=i(e.geometries),n=i(e.materials),V=i(e.textures),a=i(e.images),r=i(e.shapes),s=i(e.skeletons),o=i(e.animations),h=i(e.nodes);t.length>0&&(l.geometries=t),n.length>0&&(l.materials=n),V.length>0&&(l.textures=V),a.length>0&&(l.images=a),r.length>0&&(l.shapes=r),s.length>0&&(l.skeletons=s),o.length>0&&(l.animations=o),h.length>0&&(l.nodes=h)}return l.object=n,l;function i(e){let t=[];for(let l in e){let n=e[l];delete n.metadata,t.push(n)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(let t=0;t<e.children.length;t++){let l=e.children[t];this.add(l.clone())}return this}};
1Ch.DEFAULT_UP=new yo(0,1,0),Ch.DEFAULT_MATRIX_AUTO_UPDATE=!0,Ch.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var jh=new yo,gh=new yo,Bh=new yo,Hh=new yo,vh=new yo,Ih=new yo,Dh=new yo,Oh=new yo,_h=new yo,Lh=new yo,Kh=!1,Ph=class e{constructor(e=new yo,t=new yo,l=new yo){this.a=e,this.b=t,this.c=l}static getNormal(e,t,l,n){n.subVectors(l,t),jh.subVectors(e,t),n.cross(jh);let V=n.lengthSq();return V>0?n.multiplyScalar(1/Math.sqrt(V)):n.set(0,0,0)}static getBarycoord(e,t,l,n,V){jh.subVectors(n,t),gh.subVectors(l,t),Bh.subVectors(e,t);let i=jh.dot(jh),a=jh.dot(gh),r=jh.dot(Bh),s=gh.dot(gh),o=gh.dot(Bh),h=i*s-a*a;if(0===h)return V.set(-2,-1,-1);let d=1/h,R=(s*r-a*o)*d,U=(i*o-a*r)*d;return V.set(1-R-U,U,R)}static containsPoint(e,t,l,n){return this.getBarycoord(e,t,l,n,Hh),Hh.x>=0&&Hh.y>=0&&Hh.x+Hh.y<=1}static getUV(e,t,l,n,V,i,a,r){return!1===Kh&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Kh=!0),this.getInterpolation(e,t,l,n,V,i,a,r)}static getInterpolation(e,t,l,n,V,i,a,r){return this.getBarycoord(e,t,l,n,Hh),r.setScalar(0),r.addScaledVector(V,Hh.x),r.addScaledVector(i,Hh.y),r.addScaledVector(a,Hh.z),r}static isFrontFacing(e,t,l,n){return jh.subVectors(l,t),gh.subVectors(e,t),jh.cross(gh).dot(n)<0}set(e,t,l){return this.a.copy(e),this.b.copy(t),this.c.copy(l),this}setFromPointsAndIndices(e,t,l,n){return this.a.copy(e[t]),this.b.copy(e[l]),this.c.copy(e[n]),this}setFromAttributeAndIndices(e,t,l,n){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,l),this.c.fromBufferAttribute(e,n),this}clone(){return(new this.constructor).copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return jh.subVectors(this.c,this.b),gh.subVectors(this.a,this.b),.5*jh.cross(gh).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return e.getNormal(this.a,this.b,this.c,t)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,l){return e.getBarycoord(t,this.a,this.b,this.c,l)}getUV(t,l,n,V,i){return!1===Kh&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Kh=!0),e.getInterpolation(t,this.a,this.b,this.c,l,n,V,i)}getInterpolation(t,l,n,V,i){return e.getInterpolation(t,this.a,this.b,this.c,l,n,V,i)}containsPoint(t){return e.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return e.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let l,n,V=this.a,i=this.b,a=this.c;vh.subVectors(i,V),Ih.subVectors(a,V),Oh.subVectors(e,V);let r=vh.dot(Oh),s=Ih.dot(Oh);if(r<=0&&s<=0)return t.copy(V);_h.subVectors(e,i);let o=vh.dot(_h),h=Ih.dot(_h);if(o>=0&&h<=o)return t.copy(i);let d=r*h-o*s;if(d<=0&&r>=0&&o<=0)return l=r/(r-o),t.copy(V).addScaledVector(vh,l);Lh.subVectors(e,a);let R=vh.dot(Lh),U=Ih.dot(Lh);if(U>=0&&R<=U)return t.copy(a);let c=R*s-r*U;if(c<=0&&s>=0&&U<=0)return n=s/(s-U),t.copy(V).addScaledVector(Ih,n);let p=o*U-R*h;if(p<=0&&h-o>=0&&R-U>=0)return Dh.subVectors(a,i),n=(h-o)/(h-o+(R-U)),t.copy(i).addScaledVector(Dh,n);let Z=1/(p+c+d);return l=c*Z,n=d*Z,t.copy(V).addScaledVector(vh,l).addScaledVector(Ih,n)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},Ah=0,qh=class extends As{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:Ah++}),this.uuid=lo(),this.name="",this.type="Material",this.blending=1,this.side=Yr,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=Xr,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=ys,this.stencilZFail=ys,this.stencilZPass=ys,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(let t in e){let l=e[t];if(void 0===l){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}let n=this[t];
vendor: 14,616 bytes, line 1
1void 0!==n?n&&n.isColor?n.set(l):n&&n.isVector3&&l&&l.isVector3?n.copy(l):this[t]=l:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(e){let t=void 0===e||"string"==typeof e;t&&(e={textures:{},images:{}});let l={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function n(e){let t=[];for(let l in e){let n=e[l];delete n.metadata,t.push(n)}return t}if(l.uuid=this.uuid,l.type=this.type,""!==this.name&&(l.name=this.name),this.color&&this.color.isColor&&(l.color=this.color.getHex()),void 0!==this.roughness&&(l.roughness=this.roughness),void 0!==this.metalness&&(l.metalness=this.metalness),void 0!==this.sheen&&(l.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(l.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(l.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(l.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(l.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(l.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(l.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(l.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(l.shininess=this.shininess),void 0!==this.clearcoat&&(l.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(l.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(l.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(l.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(l.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,l.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(l.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(l.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(l.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(l.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(l.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),void 0!==this.anisotropy&&(l.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(l.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(l.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(l.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(l.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(l.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(l.lightMap=this.lightMap.toJSON(e).uuid,l.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(l.aoMap=this.aoMap.toJSON(e).uuid,l.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(l.bumpMap=this.bumpMap.toJSON(e).uuid,l.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(l.normalMap=this.normalMap.toJSON(e).uuid,l.normalMapType=this.normalMapType,l.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(l.displacementMap=this.displacementMap.toJSON(e).uuid,l.displacementScale=this.displacementScale,l.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(l.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(l.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(l.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(l.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(l.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(l.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(l.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(l.combine=this.combine)),void 0!==this.envMapIntensity&&(l.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(l.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(l.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(l.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(l.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(l.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(l.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(l.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(l.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(l.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(l.size=this.size),null!==this.shadowSide&&(l.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(l.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(l.blending=this.blending),this.side!==Yr&&(l.side=this.side),this.vertexColors&&(l.vertexColors=!0),this.opacity<1&&(l.opacity=this.opacity),!0===this.transparent&&(l.transparent=this.transparent),l.depthFunc=this.depthFunc,l.depthTest=this.depthTest,l.depthWrite=this.depthWrite,l.colorWrite=this.colorWrite,l.stencilWrite=this.stencilWrite,l.stencilWriteMask=this.stencilWriteMask,l.stencilFunc=this.stencilFunc,l.stencilRef=this.stencilRef,l.stencilFuncMask=this.stencilFuncMask,l.stencilFail=this.stencilFail,l.stencilZFail=this.stencilZFail,l.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(l.rotation=this.rotation),!0===this.polygonOffset&&(l.polygonOffset=!0),0!==this.polygonOffsetFactor&&(l.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(l.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(l.linewidth=this.linewidth),void 0!==this.dashSize&&(l.dashSize=this.dashSize),void 0!==this.gapSize&&(l.gapSize=this.gapSize),void 0!==this.scale&&(l.scale=this.scale),!0===this.dithering&&(l.dithering=!0),this.alphaTest>0&&(l.alphaTest=this.alphaTest),!0===this.alphaHash&&(l.alphaHash=this.alphaHash),!0===this.alphaToCoverage&&(l.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(l.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(l.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(l.wireframe=this.wireframe),this.wireframeLinewidth>1&&(l.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(l.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(l.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(l.flatShading=this.flatShading),!1===this.visible&&(l.visible=!1),!1===this.toneMapped&&(l.toneMapped=!1),!1===this.fog&&(l.fog=!1),Object.keys(this.userData).length>0&&(l.userData=this.userData),t){let t=n(e.textures),V=n(e.images);t.length>0&&(l.textures=t),V.length>0&&(l.images=V)}return l}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,l=null;if(null!==t){let e=t.length;l=new Array(e);for(let n=0;n!==e;++n)l[n]=t[n].clone()}return this.clippingPlanes=l,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){!0===e&&this.version++}},$h={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ed={h:0,s:0,l:0},td={h:0,s:0,l:0};function ld(e,t,l){return l<0&&(l+=1),l>1&&(l-=1),l<1/6?e+6*(t-e)*l:l<.5?t:l<2/3?e+6*(t-e)*(2/3-l):e}var nd=class{constructor(e,t,l){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,l)}set(e,t,l){if(void 0===t&&void 0===l){let t=e;t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t)}else this.setRGB(e,t,l);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=ws){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,To.toWorkingColorSpace(this,t),this}setRGB(e,t,l,n=To.workingColorSpace){return this.r=e,this.g=t,this.b=l,To.toWorkingColorSpace(this,n),this}setHSL(e,t,l,n=To.workingColorSpace){if(e=Vo(e,1),t=no(t,0,1),l=no(l,0,1),0===t)this.r=this.g=this.b=l;else{let n=l<=.5?l*(1+t):l+t-l*t,V=2*l-n;this.r=ld(V,n,e+1/3),this.g=ld(V,n,e),this.b=ld(V,n,e-1/3)}return To.toWorkingColorSpace(this,n),this}setStyle(e,t=ws){function l(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let n;if(n=/^(\w+)\(([^\)]*)\)/.exec(e)){let V,i=n[1],a=n[2];switch(i){case"rgb":case"rgba":if(V=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return l(V[4]),this.setRGB(Math.min(255,parseInt(V[1],10))/255,Math.min(255,parseInt(V[2],10))/255,Math.min(255,parseInt(V[3],10))/255,t);if(V=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return l(V[4]),this.setRGB(Math.min(100,parseInt(V[1],10))/100,Math.min(100,parseInt(V[2],10))/100,Math.min(100,parseInt(V[3],10))/100,t);break;case"hsl":case"hsla":if(V=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return l(V[4]),this.setHSL(parseFloat(V[1])/360,parseFloat(V[2])/100,parseFloat(V[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(e)){let l=n[1],V=l.length;if(3===V)return this.setRGB(parseInt(l.charAt(0),16)/15,parseInt(l.charAt(1),16)/15,parseInt(l.charAt(2),16)/15,t);if(6===V)return this.setHex(parseInt(l,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=ws){let l=$h[e.toLowerCase()];return void 0!==l?this.setHex(l,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Fo(e.r),this.g=Fo(e.g),this.b=Fo(e.b),this}copyLinearToSRGB(e){return this.r=No(e.r),this.g=No(e.g),this.b=No(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=ws){return To.fromWorkingColorSpace(Vd.copy(this),e),65536*Math.round(no(255*Vd.r,0,255))+256*Math.round(no(255*Vd.g,0,255))+Math.round(no(255*Vd.b,0,255))}getHexString(e=ws){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=To.workingColorSpace){To.fromWorkingColorSpace(Vd.copy(this),t);
vendor: 5,908 bytes, line 1
1let l,n,V=Vd.r,i=Vd.g,a=Vd.b,r=Math.max(V,i,a),s=Math.min(V,i,a),o=(s+r)/2;if(s===r)l=0,n=0;else{let e=r-s;switch(n=o<=.5?e/(r+s):e/(2-r-s),r){case V:l=(i-a)/e+(i<a?6:0);break;case i:l=(a-V)/e+2;break;case a:l=(V-i)/e+4}l/=6}return e.h=l,e.s=n,e.l=o,e}getRGB(e,t=To.workingColorSpace){return To.fromWorkingColorSpace(Vd.copy(this),t),e.r=Vd.r,e.g=Vd.g,e.b=Vd.b,e}getStyle(e=ws){To.fromWorkingColorSpace(Vd.copy(this),e);let t=Vd.r,l=Vd.g,n=Vd.b;return e!==ws?`color(${e} ${t.toFixed(3)} ${l.toFixed(3)} ${n.toFixed(3)})`:`rgb(${Math.round(255*t)},${Math.round(255*l)},${Math.round(255*n)})`}offsetHSL(e,t,l){return this.getHSL(ed),ed.h+=e,ed.s+=t,ed.l+=l,this.setHSL(ed.h,ed.s,ed.l),this}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,l){return this.r=e.r+(t.r-e.r)*l,this.g=e.g+(t.g-e.g)*l,this.b=e.b+(t.b-e.b)*l,this}lerpHSL(e,t){this.getHSL(ed),e.getHSL(td);let l=io(ed.h,td.h,t),n=io(ed.s,td.s,t),V=io(ed.l,td.l,t);return this.setHSL(l,n,V),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){let t=this.r,l=this.g,n=this.b,V=e.elements;return this.r=V[0]*t+V[3]*l+V[6]*n,this.g=V[1]*t+V[4]*l+V[7]*n,this.b=V[2]*t+V[5]*l+V[8]*n,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}},Vd=new nd;nd.NAMES=$h;var id=class extends qh{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new nd(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=_r,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},ad=new yo,rd=new Ro,sd=class{constructor(e,t,l=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=l,this.usage=Os,this.updateRange={offset:0,count:-1},this.gpuType=ms,this.version=0}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,l){e*=this.itemSize,l*=t.itemSize;for(let n=0,V=this.itemSize;n<V;n++)this.array[e+n]=t.array[l+n];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,l=this.count;t<l;t++)rd.fromBufferAttribute(this,t),rd.applyMatrix3(e),this.setXY(t,rd.x,rd.y);else if(3===this.itemSize)for(let t=0,l=this.count;t<l;t++)ad.fromBufferAttribute(this,t),ad.applyMatrix3(e),this.setXYZ(t,ad.x,ad.y,ad.z);return this}applyMatrix4(e){for(let t=0,l=this.count;t<l;t++)ad.fromBufferAttribute(this,t),ad.applyMatrix4(e),this.setXYZ(t,ad.x,ad.y,ad.z);return this}applyNormalMatrix(e){for(let t=0,l=this.count;t<l;t++)ad.fromBufferAttribute(this,t),ad.applyNormalMatrix(e),this.setXYZ(t,ad.x,ad.y,ad.z);return this}transformDirection(e){for(let t=0,l=this.count;t<l;t++)ad.fromBufferAttribute(this,t),ad.transformDirection(e),this.setXYZ(t,ad.x,ad.y,ad.z);return this}set(e,t=0){return this.array.set(e,t),this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=so(t,this.array)),t}setX(e,t){return this.normalized&&(t=oo(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=so(t,this.array)),t}setY(e,t){return this.normalized&&(t=oo(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=so(t,this.array)),t}setZ(e,t){return this.normalized&&(t=oo(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=so(t,this.array)),t}setW(e,t){return this.normalized&&(t=oo(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,l){return e*=this.itemSize,this.normalized&&(t=oo(t,this.array),l=oo(l,this.array)),this.array[e+0]=t,this.array[e+1]=l,this}setXYZ(e,t,l,n){return e*=this.itemSize,this.normalized&&(t=oo(t,this.array),l=oo(l,this.array),n=oo(n,this.array)),this.array[e+0]=t,this.array[e+1]=l,this.array[e+2]=n,this}setXYZW(e,t,l,n,V){return e*=this.itemSize,this.normalized&&(t=oo(t,this.array),l=oo(l,this.array),n=oo(n,this.array),V=oo(V,this.array)),this.array[e+0]=t,this.array[e+1]=l,this.array[e+2]=n,this.array[e+3]=V,this}
1onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){let e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return""!==this.name&&(e.name=this.name),this.usage!==Os&&(e.usage=this.usage),(0!==this.updateRange.offset||-1!==this.updateRange.count)&&(e.updateRange=this.updateRange),e}},od=class extends sd{constructor(e,t,l){super(new Uint16Array(e),t,l)}},hd=class extends sd{constructor(e,t,l){super(new Uint32Array(e),t,l)}},dd=class extends sd{constructor(e,t,l){super(new Float32Array(e),t,l)}},Rd=0,Ud=new Uh,cd=new Ch,pd=new yo,Zd=new go,Wd=new go,md=new yo,Fd=class e extends As{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:Rd++}),this.uuid=lo(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(po(e)?hd:od)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return void 0!==this.attributes[e]}addGroup(e,t,l=0){this.groups.push({start:e,count:t,materialIndex:l})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;void 0!==t&&(t.applyMatrix4(e),t.needsUpdate=!0);let l=this.attributes.normal;if(void 0!==l){let t=(new Uo).getNormalMatrix(e);l.applyNormalMatrix(t),l.needsUpdate=!0}let n=this.attributes.tangent;return void 0!==n&&(n.transformDirection(e),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(e){return Ud.makeRotationFromQuaternion(e),this.applyMatrix4(Ud),this}rotateX(e){return Ud.makeRotationX(e),this.applyMatrix4(Ud),this}rotateY(e){return Ud.makeRotationY(e),this.applyMatrix4(Ud),this}rotateZ(e){return Ud.makeRotationZ(e),this.applyMatrix4(Ud),this}translate(e,t,l){return Ud.makeTranslation(e,t,l),this.applyMatrix4(Ud),this}scale(e,t,l){return Ud.makeScale(e,t,l),this.applyMatrix4(Ud),this}lookAt(e){return cd.lookAt(e),cd.updateMatrix(),this.applyMatrix4(cd.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(pd).negate(),this.translate(pd.x,pd.y,pd.z),this}setFromPoints(e){let t=[];for(let l=0,n=e.length;l<n;l++){let n=e[l];t.push(n.x,n.y,n.z||0)}return this.setAttribute("position",new dd(t,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new go);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "fal
1se".',this),void this.boundingBox.set(new yo(-1/0,-1/0,-1/0),new yo(1/0,1/0,1/0));if(void 0!==e){if(this.boundingBox.setFromBufferAttribute(e),t)for(let e=0,l=t.length;e<l;e++){let l=t[e];Zd.setFromBufferAttribute(l),this.morphTargetsRelative?(md.addVectors(this.boundingBox.min,Zd.min),this.boundingBox.expandByPoint(md),md.addVectors(this.boundingBox.max,Zd.max),this.boundingBox.expandByPoint(md)):(this.boundingBox.expandByPoint(Zd.min),this.boundingBox.expandByPoint(Zd.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new Vh);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "fal
1se".',this),void this.boundingSphere.set(new yo,1/0);if(e){let l=this.boundingSphere.center;if(Zd.setFromBufferAttribute(e),t)for(let e=0,l=t.length;e<l;e++){let l=t[e];Wd.setFromBufferAttribute(l),this.morphTargetsRelative?(md.addVectors(Zd.min,Wd.min),Zd.expandByPoint(md),md.addVectors(Zd.max,Wd.max),Zd.expandByPoint(md)):(Zd.expandByPoint(Wd.min),Zd.expandByPoint(Wd.max))}Zd.getCenter(l);let n=0;for(let t=0,V=e.count;t<V;t++)md.fromBufferAttribute(e,t),n=Math.max(n,l.distanceToSquared(md));if(t)for(let V=0,i=t.length;V<i;V++){let i=t[V],a=this.morphTargetsRelative;for(let t=0,V=i.count;t<V;t++)md.fromBufferAttribute(i,t),a&&(pd.fromBufferAttribute(e,t),md.add(pd)),n=Math.max(n,l.distanceToSquared(md))}this.boundingSphere.radius=Math.sqrt(n),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){let e=this.index,t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");let l=e.array,n=t.position.array,V=t.normal.array,i=t.uv.array,a=n.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new sd(new Float32Array(4*a),4));let r=this.getAttribute("tangent").array,s=[],o=[];for(let e=0;e<a;e++)s[e]=new yo,o[e]=new yo;let h=new yo,d=new yo,R=new yo,U=new Ro,c=new Ro,p=new Ro,Z=new yo,W=new yo;function m(e,t,l){h.fromArray(n,3*e),d.fromArray(n,3*t),R.fromArray(n,3*l),U.fromArray(i,2*e),c.fromArray(i,2*t),p.fromArray(i,2*l),d.sub(h),R.sub(h),c.sub(U),p.sub(U);let V=1/(c.x*p.y-p.x*c.y);isFinite(V)&&(Z.copy(d).multiplyScalar(p.y).addScaledVector(R,-c.y).multiplyScalar(V),W.copy(R).multiplyScalar(c.x).addScaledVector(d,-p.x).multiplyScalar(V),s[e].add(Z),s[t].add(Z),s[l].add(Z),o[e].add(W),o[t].add(W),o[l].add(W))}let F=this.groups;0===F.length&&(F=[{start:0,count:l.length}]);for(let e=0,t=F.length;e<t;++e){let t=F[e],n=t.start;for(let e=n,V=n+t.count;e<V;e+=3)m(l[e+0],l[e+1],l[e+2])}let N=new yo,u=new yo,E=new yo,b=new yo;function S(e){E.fromArray(V,3*e),b.copy(E);let t=s[e];N.copy(t),N.sub(E.multiplyScalar(E.dot(t))).normalize(),u.crossVectors(b,t);let l=u.dot(o[e])<0?-1:1;r[4*e]=N.x,r[4*e+1]=N.y,r[4*e+2]=N.z,r[4*e+3]=l}for(let e=0,t=F.length;e<t;++e){let t=F[e],n=t.start;for(let e=n,V=n+t.count;e<V;e+=3)S(l[e+0]),S(l[e+1]),S(l[e+2])}}computeVertexNormals(){let e=this.index,t=this.getAttribute("position");if(void 0!==t){let l=this.getAttribute("normal");if(void 0===l)l=new sd(new Float32Array(3*t.count),3),this.setAttribute("normal",l);else for(let e=0,t=l.count;e<t;e++)l.setXYZ(e,0,0,0);let n=new yo,V=new yo,i=new yo,a=new yo,r=new yo,s=new yo,o=new yo,h=new yo;if(e)for(let d=0,R=e.count;d<R;d+=3){let R=e.getX(d+0),U=e.getX(d+1),c=e.getX(d+2);n.fromBufferAttribute(t,R),V.fromBufferAttribute(t,U),i.fromBufferAttribute(t,c),o.subVectors(i,V),h.subVectors(n,V),o.cross(h),a.fromBufferAttribute(l,R),r.fromBufferAttribute(l,U),s.fromBufferAttribute(l,c),a.add(o),r.add(o),s.add(o),l.setXYZ(R,a.x,a.y,a.z),l.setXYZ(U,r.x,r.y,r.z),l.setXYZ(c,s.x,s.y,s.z)}else for(let e=0,a=t.count;e<a;e+=3)n.fromBufferAttribute(t,e+0),V.fromBufferAttribute(t,e+1),i.fromBufferAttribute(t,e+2),o.subVectors(i,V),h.subVectors(n,V),o.cross(h),l.setXYZ(e+0,o.x,o.y,o.z),l.setXYZ(e+1,o.x,o.y,o.z),l.setXYZ(e+2,o.x,o.y,o.z);this.normalizeNormals(),l.needsUpdate=!0}}normalizeNormals(){let e=this.attributes.normal;for(let t=0,l=e.count;t<l;t++)md.fromBufferAttribute(e,t),md.normalize(),e.setXYZ(t,md.x,md.y,md.z)}toNonIndexed(){function t(e,t){let l=e.array,n=e.itemSize,V=e.normalized,i=new l.constructor(t.length*n),a=0,r=0;for(let V=0,s=t.length;V<s;V++){a=e.isInterleavedBufferAttribute?t[V]*e.data.stride+e.offset:t[V]*n;for(let e=0;e<n;e++)i[r++]=l[a++]}return new sd(i,n,V)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;let l=new e,n=this.index.array,V=this.attributes;for(let e in V){let i=t(V[e],n);l.setAttribute(e,i)}let i=this.morphAttributes;for(let e in i){let V=[],a=i[e];for(let e=0,l=a.length;e<l;e++){let l=t(a[e],n);V.push(l)}l.morphAttributes[e]=V}l.morphTargetsRelative=this.morphTargetsRelative;let a=this.groups;for(let e=0,t=a.length;e<t;e++){let t=a[e];l.addGroup(t.start,t.count,t.materialIndex)}return l}toJSON(){let e={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};
vendor: 4,287 bytes, line 1
1if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),void 0!==this.parameters){let t=this.parameters;for(let l in t)void 0!==t[l]&&(e[l]=t[l]);return e}e.data={attributes:{}};let t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let l=this.attributes;for(let t in l){let n=l[t];e.data.attributes[t]=n.toJSON(e.data)}let n={},V=!1;for(let t in this.morphAttributes){let l=this.morphAttributes[t],i=[];for(let t=0,n=l.length;t<n;t++){let n=l[t];i.push(n.toJSON(e.data))}i.length>0&&(n[t]=i,V=!0)}V&&(e.data.morphAttributes=n,e.data.morphTargetsRelative=this.morphTargetsRelative);let i=this.groups;i.length>0&&(e.data.groups=JSON.parse(JSON.stringify(i)));let a=this.boundingSphere;return null!==a&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return(new this.constructor).copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let l=e.index;null!==l&&this.setIndex(l.clone(t));let n=e.attributes;for(let e in n){let l=n[e];this.setAttribute(e,l.clone(t))}let V=e.morphAttributes;for(let e in V){let l=[],n=V[e];for(let e=0,V=n.length;e<V;e++)l.push(n[e].clone(t));this.morphAttributes[e]=l}this.morphTargetsRelative=e.morphTargetsRelative;let i=e.groups;for(let e=0,t=i.length;e<t;e++){let t=i[e];this.addGroup(t.start,t.count,t.materialIndex)}let a=e.boundingBox;null!==a&&(this.boundingBox=a.clone());let r=e.boundingSphere;return null!==r&&(this.boundingSphere=r.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}},Nd=new Uh,ud=new Rh,Ed=new Vh,bd=new yo,Sd=new yo,Jd=new yo,Td=new yo,Gd=new yo,Md=new yo,kd=new Ro,Yd=new Ro,xd=new Ro,Qd=new yo,Xd=new yo,wd=new yo,fd=new yo,zd=new yo,yd=class extends Ch{constructor(e=new Fd,t=new id){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let l=e[t[0]];if(void 0!==l){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=l.length;e<t;e++){let t=l[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}getVertexPosition(e,t){let l=this.geometry,n=l.attributes.position,V=l.morphAttributes.position,i=l.morphTargetsRelative;t.fromBufferAttribute(n,e);let a=this.morphTargetInfluences;if(V&&a){Md.set(0,0,0);for(let l=0,n=V.length;l<n;l++){let n=a[l],r=V[l];0!==n&&(Gd.fromBufferAttribute(r,e),i?Md.addScaledVector(Gd,n):Md.addScaledVector(Gd.sub(t),n))}t.add(Md)}return t}raycast(e,t){let l=this.geometry,n=this.material,V=this.matrixWorld;void 0!==n&&(null===l.boundingSphere&&l.computeBoundingSphere(),Ed.copy(l.boundingSphere),Ed.applyMatrix4(V),ud.copy(e.ray).recast(e.near),(!1!==Ed.containsPoint(ud.origin)||!(null===ud.intersectSphere(Ed,bd)||ud.origin.distanceToSquared(bd)>(e.far-e.near)**2))&&(Nd.copy(V).invert(),ud.copy(e.ray).applyMatrix4(Nd),(null===l.boundingBox||!1!==ud.intersectsBox(l.boundingBox))&&this._computeIntersections(e,t,ud)))}_computeIntersections(e,t,l){let n,V=this.geometry,i=this.material,a=V.index,r=V.attributes.position,s=V.attributes.uv,o=V.attributes.uv1,h=V.attributes.normal,d=V.groups,R=V.drawRange;if(null!==a)if(Array.isArray(i))for(let V=0,r=d.length;V<r;V++){let r=d[V],U=i[r.materialIndex];for(let V=Math.max(r.start,R.start),i=Math.min(a.count,Math.min(r.start+r.count,R.start+R.count));V<i;V+=3){n=Cd(this,U,e,l,s,o,h,a.getX(V),a.getX(V+1),a.getX(V+2)),n&&(n.faceIndex=Math.floor(V/3),n.face.materialIndex=r.materialIndex,t.push(n))}}else{for(let V=Math.max(0,R.start),r=Math.min(a.count,R.start+R.count);V<r;V+=3){n=Cd(this,i,e,l,s,o,h,a.getX(V),a.getX(V+1),a.getX(V+2)),n&&(n.faceIndex=Math.floor(V/3),t.pu
1sh(n))}}else if(void 0!==r)if(Array.isArray(i))for(let V=0,a=d.length;V<a;V++){let a=d[V],U=i[a.materialIndex];for(let V=Math.max(a.start,R.start),i=Math.min(r.count,Math.min(a.start+a.count,R.start+R.count));V<i;V+=3){n=Cd(this,U,e,l,s,o,h,V,V+1,V+2),n&&(n.faceIndex=Math.floor(V/3),n.face.materialIndex=a.materialIndex,t.push(n))}}else{for(let V=Math.max(0,R.start),a=Math.min(r.count,R.start+R.count);V<a;V+=3){n=Cd(this,i,e,l,s,o,h,V,V+1,V+2),n&&(n.faceIndex=Math.floor(V/3),t.push(n))}}}};function Cd(e,t,l,n,V,i,a,r,s,o){e.getVertexPosition(r,Sd),e.getVertexPosition(s,Jd),e.getVertexPosition(o,Td);let h=function(e,t,l,n,V,i,a,r){let s;if(s=t.side===xr?n.intersectTriangle(a,i,V,!0,r):n.intersectTriangle(V,i,a,t.side===Yr,r),null===s)return null;zd.copy(r),zd.applyMatrix4(e.matrixWorld);let o=l.ray.origin.distanceTo(zd);return o<l.near||o>l.far?null:{distance:o,point:zd.clone(),object:e}}(e,t,l,n,Sd,Jd,Td,fd);if(h){V&&(kd.fromBufferAttribute(V,r),Yd.fromBufferAttribute(V,s),xd.fromBufferAttribute(V,o),h.uv=Ph.getInterpolation(fd,Sd,Jd,Td,kd,Yd,xd,new Ro)),i&&(kd.fromBufferAttribute(i,r),Yd.fromBufferAttribute(i,s),xd.fromBufferAttribute(i,o),h.uv1=Ph.getInterpolation(fd,Sd,Jd,Td,kd,Yd,xd,new Ro),h.uv2=h.uv1),a&&(Qd.fromBufferAttribute(a,r),Xd.fromBufferAttribute(a,s),wd.fromBufferAttribute(a,o),h.normal=Ph.getInterpolation(fd,Sd,Jd,Td,Qd,Xd,wd,new yo),h.normal.dot(n.direction)>0&&h.normal.multiplyScalar(-1));let e={a:r,b:s,c:o,normal:new yo,materialIndex:0};Ph.getNormal(Sd,Jd,Td,e.normal),h.face=e}return h}var jd=class e extends Fd{constructor(e=1,t=1,l=1,n=1,V=1,i=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:l,widthSegments:n,heightSegments:V,depthSegments:i};let a=this;n=Math.floor(n),V=Math.floor(V),i=Math.floor(i);let r=[],s=[],o=[],h=[],d=0,R=0;function U(e,t,l,n,V,i,U,c,p,Z,W){let m=i/p,F=U/Z,N=i/2,u=U/2,E=c/2,b=p+1,S=Z+1,J=0,T=0,G=new yo;for(let i=0;i<S;i++){let a=i*F-u;for(let r=0;r<b;r++){let d=r*m-N;G[e]=d*n,G[t]=a*V,G[l]=E,s.push(G.x,G.y,G.z),G[e]=0,G[t]=0,G[l]=c>0?1:-1,o.push(G.x,G.y,G.z),h.push(r/p),h.push(1-i/Z),J+=1}}for(let e=0;e<Z;e++)for(let t=0;t<p;t++){let l=d+t+b*e,n=d+t+b*(e+1),V=d+(t+1)+b*(e+1),i=d+(t+1)+b*e;r.push(l,n,i),r.push(n,V,i),T+=6}a.addGroup(R,T,W),R+=T,d+=J}U("z","y","x",-1,-1,l,t,e,i,V,0),U("z","y","x",1,-1,l,t,-e,i,V,1),U("x","z","y",1,1,e,l,t,n,i,2),U("x","z","y",1,-1,e,l,-t,n,i,3),U("x","y","z",1,-1,e,t,l,n,V,4),U("x","y","z",-1,-1,e,t,-l,n,V,5),this.setIndex(r),this.setAttribute("position",new dd(s,3)),this.setAttribute("normal",new dd(o,3)),this.setAttribute("uv",new dd(h,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}};function gd(e){let t={};for(let l in e){t[l]={};for(let n in e[l]){let V=e[l][n];V&&(V.isColor||V.isMatrix3||V.isMatrix4||V.isVector2||V.isVector3||V.isVector4||V.isTexture||V.isQuaternion)?V.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),t[l][n]=null):t[l][n]=V.clone():Array.isArray(V)?t[l][n]=V.slice():t[l][n]=V}}return t}function Bd(e){let t={};for(let l=0;l<e.length;l++){let n=gd(e[l]);for(let e in n)t[e]=n[e]}return t}function Hd(e){return null===e.getRenderTarget()?e.outputColorSpace:fs}var vd={clone:gd,merge:Bd},Id=class extends qh{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==e&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=gd(e.uniforms),this.uniformsGroups=function(e){let t=[];for(let l=0;l<e.length;l++)t.push(e[l].clone());return t}(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let l in this.uniforms){let n=this.uniforms[l].value;n&&n.isTexture?t.uniforms[l]={type:"t",value:n.toJSON(e).uuid}:n&&n.isColor?t.uniforms[l]={type:"c",value:n.getHex()}:n&&n.isVector2?t.uniforms[l]={type:"v2",value:n.toArray()}:n&&n.isVector3?t.uniforms[l]={type:"v3",value:n.toArray()}:n&&n.isVector4?t.uniforms[l]={type:"v4",value:n.toArray()}:n&&n.isMatrix3?t.uniforms[l]={type:"m3",value:n.toArray()}:n&&n.isMatrix4?t.uniforms[l]={type:"m4",value:n.toArray()}:t.uniforms[l]={value:n}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;let l={};for(let e in this.extensions)!0===this.extensions[e]&&(l[e]=!0);return Object.keys(l).length>0&&(t.extensions=l),t}},Dd=class extends Ch{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Uh,this.projectionMatrix=new Uh,this.projectionMatrixInverse=new Uh,this.coordinateSystem=Ks}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}},Od=class extends Dd{constructor(e=50,t=1,l=.1,n=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=l,this.far=n,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=2*to*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(.5*eo*this.fov);return.5*this.getFilmHeight()/e}
1getEffectiveFOV(){return 2*to*Math.atan(Math.tan(.5*eo*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,l,n,V,i){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=l,this.view.offsetY=n,this.view.width=V,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(.5*eo*this.fov)/this.zoom,l=2*t,n=this.aspect*l,V=-.5*n,i=this.view;if(null!==this.view&&this.view.enabled){let e=i.fullWidth,a=i.fullHeight;V+=i.offsetX*n/e,t-=i.offsetY*l/a,n*=i.width/e,l*=i.height/a}let a=this.filmOffset;0!==a&&(V+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(V,V+n,t,t-l,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}},_d=-90,Ld=class extends Ch{constructor(e,t,l){super(),this.type="CubeCamera",this.renderTarget=l,this.coordinateSystem=null;let n=new Od(_d,1,e,t);n.layers=this.layers,this.add(n);let V=new Od(_d,1,e,t);V.layers=this.layers,this.add(V);let i=new Od(_d,1,e,t);i.layers=this.layers,this.add(i);let a=new Od(_d,1,e,t);a.layers=this.layers,this.add(a);let r=new Od(_d,1,e,t);r.layers=this.layers,this.add(r);let s=new Od(_d,1,e,t);s.layers=this.layers,this.add(s)}updateCoordinateSystem(){let e=this.coordinateSystem,t=this.children.concat(),[l,n,V,i,a,r]=t;for(let e of t)this.remove(e);if(e===Ks)l.up.set(0,1,0),l.lookAt(1,0,0),n.up.set(0,1,0),n.lookAt(-1,0,0),V.up.set(0,0,-1),V.lookAt(0,1,0),i.up.set(0,0,1),i.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),r.up.set(0,1,0),r.lookAt(0,0,-1);else{if(e!==Ps)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);l.up.set(0,-1,0),l.lookAt(-1,0,0),n.up.set(0,-1,0),n.lookAt(1,0,0),V.up.set(0,0,1),V.lookAt(0,1,0),i.up.set(0,0,-1),i.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),r.up.set(0,-1,0),r.lookAt(0,0,-1)}for(let e of t)this.add(e),e.updateMatrixWorld()}update(e,t){null===this.parent&&this.updateMatrixWorld();let l=this.renderTarget;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());let[n,V,i,a,r,s]=this.children,o=e.getRenderTarget(),h=e.toneMapping,d=e.xr.enabled;e.toneMapping=Pr,e.xr.enabled=!1;let R=l.texture.generateMipmaps;l.texture.generateMipmaps=!1,e.setRenderTarget(l,0),e.render(t,n),e.setRenderTarget(l,1),e.render(t,V),e.setRenderTarget(l,2),e.render(t,i),e.setRenderTarget(l,3),e.render(t,a),e.setRenderTarget(l,4),e.render(t,r),l.texture.generateMipmaps=R,e.setRenderTarget(l,5),e.render(t,s),e.setRenderTarget(o),e.toneMapping=h,e.xr.enabled=d,l.texture.needsPMREMUpdate=!0}},Kd=class extends Qo{constructor(e,t,l,n,V,i,a,r,s,o){super(e=void 0!==e?e:[],t=void 0!==t?t:ls,l,n,V,i,a,r,s,o),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}},Pd=class extends wo{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;let l={width:e,height:e,depth:1},n=[l,l,l,l,l,l];void 0!==t.encoding&&(mo("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Qs?ws:Xs),this.texture=new Kd(n,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:ds}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace
vendor: 5,719 bytes, line 1
1=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let l={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},n=new jd(5,5,5),V=new Id({name:"CubemapFromEquirect",uniforms:gd(l.uniforms),vertexShader:l.vertexShader,fragmentShader:l.fragmentShader,side:xr,blending:0});V.uniforms.tEquirect.value=t;let i=new yd(n,V),a=t.minFilter;return t.minFilter===Us&&(t.minFilter=ds),new Ld(1,10,this).update(e,i),t.minFilter=a,i.geometry.dispose(),i.material.dispose(),this}clear(e,t,l,n){let V=e.getRenderTarget();for(let V=0;V<6;V++)e.setRenderTarget(this,V),e.clear(t,l,n);e.setRenderTarget(V)}},Ad=new yo,qd=new yo,$d=new Uo,eR=class{constructor(e=new yo(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,l,n){return this.normal.set(e,t,l),this.constant=n,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,l){let n=Ad.subVectors(l,t).cross(qd.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(n,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){let l=e.delta(Ad),n=this.normal.dot(l);if(0===n)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;let V=-(e.start.dot(this.normal)+this.constant)/n;return V<0||V>1?null:t.copy(e.start).addScaledVector(l,V)}intersectsLine(e){let t=this.distanceToPoint(e.start),l=this.distanceToPoint(e.end);return t<0&&l>0||l<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let l=t||$d.getNormalMatrix(e),n=this.coplanarPoint(Ad).applyMatrix4(e),V=this.normal.applyMatrix3(l).normalize();return this.constant=-n.dot(V),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return(new this.constructor).copy(this)}},tR=new Vh,lR=new yo,nR=class{constructor(e=new eR,t=new eR,l=new eR,n=new eR,V=new eR,i=new eR){this.planes=[e,t,l,n,V,i]}set(e,t,l,n,V,i){let a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(l),a[3].copy(n),a[4].copy(V),a[5].copy(i),this}copy(e){let t=this.planes;for(let l=0;l<6;l++)t[l].copy(e.planes[l]);return this}setFromProjectionMatrix(e,t=Ks){let l=this.planes,n=e.elements,V=n[0],i=n[1],a=n[2],r=n[3],s=n[4],o=n[5],h=n[6],d=n[7],R=n[8],U=n[9],c=n[10],p=n[11],Z=n[12],W=n[13],m=n[14],F=n[15];if(l[0].setComponents(r-V,d-s,p-R,F-Z).normalize(),l[1].setComponents(r+V,d+s,p+R,F+Z).normalize(),l[2].setComponents(r+i,d+o,p+U,F+W).normalize(),l[3].setComponents(r-i,d-o,p-U,F-W).normalize(),l[4].setComponents(r-a,d-h,p-c,F-m).normalize(),t===Ks)l[5].setComponents(r+a,d+h,p+c,F+m).normalize();else{if(t!==Ps)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);l[5].setComponents(a,h,c,m).normalize()}return this}intersectsObject(e){if(void 0!==e.boundingSphere)null===e.boundingSphere&&e.computeBoundingSphere(),tR.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{let t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),tR.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(tR)}intersectsSprite(e){return tR.center.set(0,0,0),tR.radius=.7071067811865476,tR.applyMatrix4(e.matrixWorld),this.intersectsSphere(tR)}intersectsSphere(e){let t=this.planes,l=e.center,n=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(l)<n)return!1;return!0}intersectsBox(e){let t=this.planes;for(let l=0;l<6;l++){let n=t[l];if(lR.x=n.normal.x>0?e.max.x:e.min.x,lR.y=n.normal.y>0?e.max.y:e.min.y,lR.z=n.normal.z>0?e.max.z:e.min.z,n.distanceToPoint(lR)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let l=0;l<6;l++)if(t[l].distanceToPoint(e)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}};function VR(){let e=null,t=!1,l=null,n=null;function V(t,i){l(t,i),n=e.requestAnimationFrame(V)}return{start:function(){!0!==t&&null!==l&&(n=e.requestAnimationFrame(V),t=!0)},stop:function(){e.cancelAnimationFrame(n),t=!1},setAnimationLoop:function(e){l=e},setContext:function(t){e=t}}}function iR(e,t){let l=t.isWebGL2,n=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),n.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);let l=n.get(t);l&&(e.deleteBuffer(l.buffer),n.delete(t))},update:function(t,V){if(t.isGLBufferAttribute){let e=n.get(t);
1return void((!e||e.version<t.version)&&n.set(t,{buffer:t.buffer,type:t.type,bytesPerElement:t.elementSize,version:t.version}))}t.isInterleavedBufferAttribute&&(t=t.data);let i=n.get(t);void 0===i?n.set(t,function(t,n){let V,i=t.array,a=t.usage,r=e.createBuffer();if(e.bindBuffer(n,r),e.bufferData(n,i,a),t.onUploadCallback(),i instanceof Float32Array)V=e.FLOAT;else if(i instanceof Uint16Array)if(t.isFloat16BufferAttribute){if(!l)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");V=e.HALF_FLOAT}else V=e.UNSIGNED_SHORT;else if(i instanceof Int16Array)V=e.SHORT;else if(i instanceof Uint32Array)V=e.UNSIGNED_INT;else if(i instanceof Int32Array)V=e.INT;else if(i instanceof Int8Array)V=e.BYTE;else if(i instanceof Uint8Array)V=e.UNSIGNED_BYTE;else{if(!(i instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+i);V=e.UNSIGNED_BYTE}return{buffer:r,type:V,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}(t,V)):i.version<t.version&&(function(t,n,V){let i=n.array,a=n.updateRange;e.bindBuffer(V,t),-1===a.count?e.bufferSubData(V,0,i):(l?e.bufferSubData(V,a.offset*i.BYTES_PER_ELEMENT,i,a.offset,a.count):e.bufferSubData(V,a.offset*i.BYTES_PER_ELEMENT,i.subarray(a.offset,a.offset+a.count)),a.count=-1),n.onUploadCallback()}(i.buffer,t,V),i.version=t.version)}}}var aR=class e extends Fd{constructor(e=1,t=1,l=1,n=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:l,heightSegments:n};let V=e/2,i=t/2,a=Math.floor(l),r=Math.floor(n),s=a+1,o=r+1,h=e/a,d=t/r,R=[],U=[],c=[],p=[];for(let e=0;e<o;e++){let t=e*d-i;for(let l=0;l<s;l++){let n=l*h-V;U.push(n,-t,0),c.push(0,0,1),p.push(l/a),p.push(1-e/r)}}for(let e=0;e<r;e++)for(let t=0;t<a;t++){let l=t+s*e,n=t+s*(e+1),V=t+1+s*(e+1),i=t+1+s*e;R.push(l,n,i),R.push(n,V,i)}this.setIndex(R),this.setAttribute("position",new dd(U,3)),this.setAttribute("normal",new dd(c,3)),this.setAttribute("uv",new dd(p,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.width,t.height,t.widthSegments,t.heightSegments)}},rR={alphahash_fragment:"#ifdef USE_ALPHAHASH\n\tif ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;\n#endif",alphahash_pars_fragment:"#ifdef USE_ALPHAHASH\n\tconst float ALPHA_HASH_SCALE = 0.05;\n\tfloat hash2D( vec2 value ) {\n\t\treturn fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );\n\t}\n\tfloat hash3D( vec3 value ) {\n\t\treturn hash2D( vec2( hash2D( value.xy ), value.z ) );\n\t}\n\tfloat getAlphaHashThreshold( vec3 position ) {\n\t\tfloat maxDeriv = max(\n\t\t\tlength( dFdx( position.xyz ) ),\n\t\t\tlength( dFdy( position.xyz ) )\n\t\t);\n\t\tfloat pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );\n\t\tvec2 pixScales = vec2(\n\t\t\texp2( floor( log2( pixScale ) ) ),\n\t\t\texp2( ceil( log2( pixScale ) ) )\n\t\t);\n\t\tvec2 alpha = vec2(\n\t\t\thash3D( floor( pixScales.x * position.xyz ) ),\n\t\t\thash3D( floor( pixScales.y * position.xyz ) )\n\t\t);\n\t\tfloat lerpFactor = fract( log2( pixScale ) );\n\t\tfloat x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;\n\t\tfloat a = min( lerpFactor, 1.0 - lerpFactor );\n\t\tvec3 cases = vec3(\n\t\t\tx * x / ( 2.0 * a * ( 1.0 - a ) ),\n\t\t\t( x - 0.5 * a ) / ( 1.0 - a ),\n\t\t\t1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )\n\t\t);\n\t\tfloat threshold = ( x < ( 1.0 - a ) )\n\t\t\t? ( ( x < a ) ? cases.x : cases.y )\n\t\t\t: cases.z;\n\t\treturn clamp( threshold , 1.0e-6, 1.0 );\n\t}\n#endif",alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot
1( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );\n#ifdef USE_ALPHAHASH\n\tvPosition = vec3( position );\n#endif",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"float G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n} // validated",iridescence_fragment:"#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660,  0.0556434,\n\t\t-1.5371385,  1.8760108, -0.2040259,\n\t\t-0.4985314,  0.0415560,  1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );
1\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vBumpMapUv );\n\t\tvec2 dSTdy = dFdy( vBumpMapUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + dis
1placementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t}
1 else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}
1\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;
1\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tanisotropyV /= material.anisotropy;\n\tmaterial.anisotropy = saturate( material.anisotropy );\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x - tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x + tbn[ 0 ] * anisotropyV.y;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 
vendor: 9,223 bytes, line 1
10.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n    float x2 = x * x;\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in 
1GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat c
1omputeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometry.viewDir, geometry.normal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, vMapUv );\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );
1\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );
vendor: 14,803 bytes, line 1
1\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\t
1uniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );
vendor: 7,618 bytes, line 1
1\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_
1INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;
1\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;
1\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;
1\n\t#endif\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <logdepthbuf_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n}"},sR={common:{diffuse:{value:new nd(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Uo}
1,alphaMap:{value:null},alphaMapTransform:{value:new Uo},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Uo}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Uo}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Uo}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Uo},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Uo},normalScale:{value:new Ro(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Uo},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Uo}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Uo}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Uo}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new nd(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new nd(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Uo},alphaTest:{value:0},uvTransform:{value:new Uo}},sprite:{diffuse:{value:new nd(16777215)},opacity:{value:1},center:{value:new Ro(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Uo},alphaMap:{value:null},alphaMapTransform:{value:new Uo},alphaTest:{value:0}}},oR={basic:{uniforms:Bd([sR.common,sR.specularmap,sR.envmap,sR.aomap,sR.lightmap,sR.fog]),vertexShader:rR.meshbasic_vert,fragmentShader:rR.meshbasic_frag},lambert:{uniforms:Bd([sR.common,sR.specularmap,sR.envmap,sR.aomap,sR.lightmap,sR.emissivemap,sR.bumpmap,sR.normalmap,sR.displacementmap,sR.fog,sR.lights,{emissive:{value:new nd(0)}}]),vertexShader:rR.meshlambert_vert,fragmentShader:rR.meshlambert_frag},phong:{uniforms:Bd([sR.common,sR.specularmap,sR.envmap,sR.aomap,sR.lightmap,sR.emissivemap,sR.bumpmap,sR.normalmap,sR.displacementmap,sR.fog,sR.lights,{emissive:{value:new nd(0)},specular:{value:new nd(1118481)},shininess:{value:30}}]),vertexShader:rR.meshphong_vert,fragmentShader:rR.meshphong_frag},standard:{uniforms:Bd([sR.common,sR.envmap,sR.aomap,sR.lightmap,sR.emissivemap,sR.bumpmap,sR.normalmap,sR.displacementmap,sR.roughnessmap,sR.metalnessmap,sR.fog,sR.lights,{emissive:{value:new nd(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:rR.meshphysical_vert,fragmentShader:rR.meshphysical_frag},toon:{uniforms:Bd([sR.common,sR.aomap,sR.lightmap,sR.emissivemap,sR.bumpmap,sR.normalmap,sR.displacementmap,sR.gradientmap,sR.fog,sR.lights,{emissive:{value:new nd(0)}}]),vertexShader:rR.meshtoon_vert,fragmentShader:rR.meshtoon_frag},matcap:{uniforms:Bd([sR.common,sR.bumpmap,sR.normalmap,sR.displacementmap,sR.fog,{matcap:{value:null}}]),vertexShader:rR.meshmatcap_vert,fragmentShader:rR.meshmatcap_frag},points:{uniforms:Bd([sR.points,sR.fog]),vertexShader:rR.points_vert,fragmentShader:rR.points_frag},dashed:{uniforms:Bd([sR.common,sR.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:rR.linedashed_vert,fragmentShader:rR.linedashed_frag},depth:{uniforms:Bd([sR.common,sR.displacementmap]),vertexShader:rR.depth_vert,fragmentShader:rR.depth_frag},normal:{uniforms:Bd([sR.common,sR.bumpmap,sR.normalmap,sR.displacementmap,{opacity:{value:1}}]),vertexShader:rR.meshnormal_vert,fragmentShader:rR.meshnormal_frag},sprite:{uniforms:Bd([sR.sprite,sR.fog]),vertexShader:rR.sprite_vert,fragmentShader:rR.sprite_frag},background:{uniforms:{uvTransform:{value:new Uo},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:rR.background_vert,fragmentShader:rR.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:rR.backgroundCube_vert,fragmentShader:rR.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:rR.cube_vert,fragmentShader:rR.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:rR.equirect_vert,fragmentShader:rR.equirect_frag},distanceRGBA:{uniforms:Bd([sR.common,sR.displacementmap,{referencePosition:{value:new yo},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:rR.distanceRGBA_vert,fragmentShader:rR.distanceRGBA_frag},shadow:{uniforms:Bd([sR.lights,sR.fog,{color:{value:new nd(0)},opacity:{value:1}}]),vertexShader:rR.shadow_vert,fragmentShader:rR.shadow_frag}};oR.physical={uniforms:Bd([oR.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Uo},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Uo},clearcoatNormalScale:{value:new Ro(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Uo},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Uo},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Uo},sheen:{value:0},sheenColor:{value:new nd(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Uo},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Uo},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Uo},transmissionSamplerSize:{value:new Ro},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Uo},attenuationDistance:{value:0},attenuationColor:{value:new nd(0)},specularColor:{value:new nd(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Uo},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Uo},anisotropyVector:{value:new Ro},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Uo}}]),vertexShader:rR.meshphysical_vert,fragmentShader:rR.meshphysical_frag};var hR={r:0,b:0,g:0};function dR(e,t,l,n,V,i,a){let r,s,o=new nd(0),h=!0===i?0:1,d=null,R=0,U=null;function c(t,l){t.getRGB(hR,Hd(e)),n.buffers.color.setClear(hR.r,hR.g,hR.b,l,a)}return{getClearColor:function(){return o},setClearColor:function(e,t=1){o.set(e),h=t,c(o,h)},getClearAlpha:function(){return h},setClearAlpha:function(e){h=e,c(o,h)},render:function(i,p){let Z=!1,W=!0===p.isScene?p.background:null;switch(W&&W.isTexture&&(W=(p.backgroundBlurriness>0?l:t).get(W)),null===W?c(o,h):W&&W.isColor&&(c(W,1),Z=!0),e.xr.getEnvironmentBlendMode()){case"opaque":Z=!0;break;case"additive":n.buffers.color.setClear(0,0,0,1,a),Z=!0;break;case"alpha-blend":n.buffers.color.setClear(0,0,0,0,a),Z=!0}(e.autoClear||Z)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),W&&(W.isCubeTexture||W.mapping===Vs)?(void 0===s&&(s=new yd(new jd(1,1,1),new Id({name:"Backgroun
1dCubeMaterial",uniforms:gd(oR.backgroundCube.uniforms),vertexShader:oR.backgroundCube.vertexShader,fragmentShader:oR.backgroundCube.fragmentShader,side:xr,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute("normal"),s.geometry.deleteAttribute("uv"),s.onBeforeRender=function(e,t,l){this.matrixWorld.copyPosition(l.matrixWorld)},Object.defineProperty(s.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),V.update(s)),s.material.uniforms.envMap.value=W,s.material.uniforms.flipEnvMap.value=W.isCubeTexture&&!1===W.isRenderTargetTexture?-1:1,s.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,s.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,s.material.toneMapped=W.colorSpace!==ws,(d!==W||R!==W.version||U!==e.toneMapping)&&(s.material.needsUpdate=!0,d=W,R=W.version,U=e.toneMapping),s.layers.enableAll(),i.unshift(s,s.geometry,s.material,0,0,null)):W&&W.isTexture&&(void 0===r&&(r=new yd(new aR(2,2),new Id({name:"BackgroundMaterial",uniforms:gd(oR.background.uniforms),vertexShader:oR.background.vertexShader,fragmentShader:oR.background.fragmentShader,side:Yr,depthTest:!1,depthWrite:!1,fog:!1})),r.geometry.deleteAttribute("normal"),Object.defineProperty(r.material,"map",{get:function(){return this.uniforms.t2D.value}}),V.update(r)),r.material.uniforms.t2D.value=W,r.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,r.material.toneMapped=W.colorSpace!==ws,!0===W.matrixAutoUpdate&&W.updateMatrix(),r.material.uniforms.uvTransform.value.copy(W.matrix),(d!==W||R!==W.version||U!==e.toneMapping)&&(r.material.needsUpdate=!0,d=W,R=W.version,U=e.toneMapping),r.layers.enableAll(),i.unshift(r,r.geometry,r.material,0,0,null))}}}function RR(e,t,l,n){let V=e.getParameter(e.MAX_VERTEX_ATTRIBS),i=n.isWebGL2?null:t.get("OES_vertex_array_object"),a=n.isWebGL2||null!==i,r={},s=U(null),o=s,h=!1;function d(t){return n.isWebGL2?e.bindVertexArray(t):i.bindVertexArrayOES(t)}function R(t){return n.isWebGL2?e.deleteVertexArray(t):i.deleteVertexArrayOES(t)}function U(e){let t=[],l=[],n=[];for(let e=0;e<V;e++)t[e]=0,l[e]=0,n[e]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:t,enabledAttributes:l,attributeDivisors:n,object:e,attributes:{},index:null}}function c(){let e=o.newAttributes;for(let t=0,l=e.length;t<l;t++)e[t]=0}function p(e){Z(e,0)}function Z(l,V){let i=o.newAttributes,a=o.enabledAttributes,r=o.attributeDivisors;i[l]=1,0===a[l]&&(e.enableVertexAttribArray(l),a[l]=1),r[l]!==V&&((n.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](l,V),r[l]=V)}function W(){let t=o.newAttributes,l=o.enabledAttributes;for(let n=0,V=l.length;n<V;n++)l[n]!==t[n]&&(e.disableVertexAttribArray(n),l[n]=0)}function m(t,l,n,V,i,a,r){!0===r?e.vertexAttribIPointer(t,l,n,i,a):e.vertexAttribPointer(t,l,n,V,i,a)}function F(){N(),h=!0,o!==s&&(o=s,d(o.object))}function N(){s.geometry=null,s.program=null,s.wireframe=!1}return{setup:function(V,s,R,F,N){let u=!1;if(a){let t=function(t,l,V){let a=!0===V.wireframe,s=r[t.id];void 0===s&&(s={},r[t.id]=s);let o=s[l.id];void 0===o&&(o={},s[l.id]=o);let h=o[a];return void 0===h&&(h=U(n.isWebGL2?e.createVertexArray():i.createVertexArrayOES()),o[a]=h),h}(F,R,s);o!==t&&(o=t,d(o.object)),u=function(e,t,l,n){let V=o.attributes,i=t.attributes,a=0,r=l.getAttributes();for(let t in r)if(r[t].location>=0){let l=V[t],n=i[t];if(void 0===n&&("instanceMatrix"===t&&e.instanceMatrix&&(n=e.instanceMatrix),"instanceColor"===t&&e.instanceColor&&(n=e.instanceColor)),void 0===l||l.attribute!==n||n&&l.data!==n.data)return!0;a++}return o.attributesNum!==a||o.index!==n}(V,F,R,N),u&&function(e,t,l,n){let V={},i=t.attributes,a=0,r=l.getAttributes();for(let t in r)if(r[t].location>=0){let l=i[t];void 0===l&&("instanceMatrix"===t&&e.instanceMatrix&&(l=e.instanceMatrix),"instanceColor"===t&&e.instanceColor&&(l=e.instanceColor));let n={};n.attribute=l,l&&l.data&&(n.data=l.data),V[t]=n,a++}o.attributes=V,o.attributesNum=a,o.index=n}(V,F,R,N)}else{let e=!0===s.wireframe;(o.geometry!==F.id||o.program!==R.id||o.wireframe!==e)&&(o.geometry=F.id,o.program=R.id,o.wireframe=e,u=!0)}null!==N&&l.update(N,e.ELEMENT_ARRAY_BUFFER),(u||h)&&(h=!1,function(V,i,a,r){if(!1===n.isWebG
1L2&&(V.isInstancedMesh||r.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;c();let s=r.attributes,o=a.getAttributes(),h=i.defaultAttributeValues;for(let t in o){let i=o[t];if(i.location>=0){let a=s[t];if(void 0===a&&("instanceMatrix"===t&&V.instanceMatrix&&(a=V.instanceMatrix),"instanceColor"===t&&V.instanceColor&&(a=V.instanceColor)),void 0!==a){let t=a.normalized,s=a.itemSize,o=l.get(a);if(void 0===o)continue;let h=o.buffer,d=o.type,R=o.bytesPerElement,U=!0===n.isWebGL2&&(d===e.INT||d===e.UNSIGNED_INT||a.gpuType===Zs);if(a.isInterleavedBufferAttribute){let l=a.data,n=l.stride,o=a.offset;if(l.isInstancedInterleavedBuffer){for(let e=0;e<i.locationSize;e++)Z(i.location+e,l.meshPerAttribute);!0!==V.isInstancedMesh&&void 0===r._maxInstanceCount&&(r._maxInstanceCount=l.meshPerAttribute*l.count)}else for(let e=0;e<i.locationSize;e++)p(i.location+e);e.bindBuffer(e.ARRAY_BUFFER,h);for(let e=0;e<i.locationSize;e++)m(i.location+e,s/i.locationSize,d,t,n*R,(o+s/i.locationSize*e)*R,U)}else{if(a.isInstancedBufferAttribute){for(let e=0;e<i.locationSize;e++)Z(i.location+e,a.meshPerAttribute);!0!==V.isInstancedMesh&&void 0===r._maxInstanceCount&&(r._maxInstanceCount=a.meshPerAttribute*a.count)}else for(let e=0;e<i.locationSize;e++)p(i.location+e);e.bindBuffer(e.ARRAY_BUFFER,h);for(let e=0;e<i.locationSize;e++)m(i.location+e,s/i.locationSize,d,t,s*R,s/i.locationSize*e*R,U)}}else if(void 0!==h){let l=h[t];if(void 0!==l)switch(l.length){case 2:e.vertexAttrib2fv(i.location,l);break;case 3:e.vertexAttrib3fv(i.location,l);break;case 4:e.vertexAttrib4fv(i.location,l);break;default:e.vertexAttrib1fv(i.location,l)}}}}W()}(V,s,R,F),null!==N&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,l.get(N).buffer))},reset:F,resetDefaultState:N,dispose:function(){F();for(let e in r){let t=r[e];for(let e in t){let l=t[e];for(let e in l)R(l[e].object),delete l[e];delete t[e]}delete r[e]}},releaseStatesOfGeometry:function(e){if(void 0===r[e.id])return;let t=r[e.id];for(let e in t){let l=t[e];for(let e in l)R(l[e].object),delete l[e];delete t[e]}delete r[e.id]},releaseStatesOfProgram:function(e){for(let t in r){let l=r[t];if(void 0===l[e.id])continue;let n=l[e.id];for(let e in n)R(n[e].object),delete n[e];delete l[e.id]}},initAttributes:c,enableAttribute:p,disableUnusedAttributes:W}}function UR(e,t,l,n){let V,i=n.isWebGL2;this.setMode=function(e){V=e},this.render=function(t,n){e.drawArrays(V,t,n),l.update(n,V,1)},this.renderInstances=function(n,a,r){if(0===r)return;let s,o;if(i)s=e,o="drawArraysInstanced";else if(s=t.get("ANGLE_instanced_arrays"),o="drawArraysInstancedANGLE",null===s)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");s[o](V,n,a,r),l.update(a,V,r)}}function cR(e,t,l){let n;function V(t){if("highp"===t){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let i=typeof WebGL2RenderingContext<"u"&&"WebGL2RenderingContext"===e.constructor.name,a=void 0!==l.precision?l.precision:"highp",r=V(a);r!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",r,"instead."),a=r);let s=i||t.has("WEBGL_draw_buffers"),o=!0===l.logarithmicDepthBuffer,h=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),d=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),R=e.getParameter(e.MAX_TEXTURE_SIZE),U=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),c=e.getParameter(e.MAX_VERTEX_ATTRIBS),p=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),Z=e.getParameter(e.MAX_VARYING_VECTORS),W=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),m=d>0,F=i||t.has("OES_texture_float");return{isWebGL2:i,drawBuffers:s,getMaxAnisotropy:function(){if(void 0!==n)return n;if(!0===t.has("EXT_texture_filter_anisotropic")){let l=t.get("EXT_texture_filter_anisotropic");n=e.getParameter(l.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else n=0;return n},getMaxPrecision:V,precision:a,logarithmicDepthBuffer:o,maxTextures:h,maxVertexTextures:d,maxTextureSize:R,maxCubemapSize:U,maxAttributes:c,maxVertexUniforms:p,maxVaryings:Z,maxFragmentUniforms:W,vertexTextures:m,floatFragmentTextures:F,floatVertexTextures:m&&F,maxSamples:i?e.getParameter(e.MAX_SAMPLES):0}}function pR(e){let t=this,l=null,n=0,V=!1,i=!1,a=new eR,r=new Uo,s={value:null,needsUpdate:!1};function o(e,l,n,V){let i=null!==e?e.length:0,o=null;if(0!==i){if(o=s.value,!0!==V||null===o){let t=n+4*i,V=l.matrixWorldInverse;r.getNormalMatrix(V),(null===o||o.length<t)&&(o=new Float32Array(t));for(let t=0,l=n;t!==i;
1++t,l+=4)a.copy(e[t]).applyMatrix4(V,r),a.normal.toArray(o,l),o[l+3]=a.constant}s.value=o,s.needsUpdate=!0}return t.numPlanes=i,t.numIntersection=0,o}this.uniform=s,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){let l=0!==e.length||t||0!==n||V;return V=t,n=e.length,l},this.beginShadows=function(){i=!0,o(null)},this.endShadows=function(){i=!1},this.setGlobalState=function(e,t){l=o(e,t,0)},this.setState=function(a,r,h){let d=a.clippingPlanes,R=a.clipIntersection,U=a.clipShadows,c=e.get(a);if(!V||null===d||0===d.length||i&&!U)i?o(null):(s.value!==l&&(s.value=l,s.needsUpdate=n>0),t.numPlanes=n,t.numIntersection=0);else{let e=i?0:n,t=4*e,V=c.clippingState||null;s.value=V,V=o(d,r,t,h);for(let e=0;e!==t;++e)V[e]=l[e];c.clippingState=V,this.numIntersection=R?this.numPlanes:0,this.numPlanes+=e}}}function ZR(e){let t=new WeakMap;function l(e,t){return 303===t?e.mapping=ls:304===t&&(e.mapping=ns),e}function n(e){let l=e.target;l.removeEventListener("dispose",n);let V=t.get(l);void 0!==V&&(t.delete(l),V.dispose())}return{get:function(V){if(V&&V.isTexture&&!1===V.isRenderTargetTexture){let i=V.mapping;if(303===i||304===i){if(t.has(V)){return l(t.get(V).texture,V.mapping)}{let i=V.image;if(i&&i.height>0){let a=new Pd(i.height/2);return a.fromEquirectangularTexture(e,V),t.set(V,a),V.addEventListener("dispose",n),l(a.texture,V.mapping)}return null}}}return V},dispose:function(){t=new WeakMap}}}var WR=class extends Dd{constructor(e=-1,t=1,l=1,n=-1,V=.1,i=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=l,this.bottom=n,this.near=V,this.far=i,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,l,n,V,i){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=l,this.view.offsetY=n,this.view.width=V,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),l=(this.right+this.left)/2,n=(this.top+this.bottom)/2,V=l-e,i=l+e,a=n+t,r=n-t;if(null!==this.view&&this.view.enabled){let e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;V+=e*this.view.offsetX,i=V+e*this.view.width,a-=t*this.view.offsetY,r=a-t*this.view.height}this.projectionMatrix.makeOrthographic(V,i,a,r,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}},mR=[.125,.215,.35,.446,.526,.582],FR=20,NR=new WR,uR=new nd,ER=null,bR=(1+Math.sqrt(5))/2,SR=1/bR,JR=[new yo(1,1,1),new yo(-1,1,1),new yo(1,1,-1),new yo(-1,1,-1),new yo(0,bR,SR),new yo(0,bR,-SR),new yo(SR,0,bR),new yo(-SR,0,bR),new yo(bR,SR,0),new yo(-bR,SR,0)],TR=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,l=.1,n=100){ER=this._renderer.getRenderTarget(),this._setSize(256);let V=this._allocateTargets();return V.depthBuffer=!0,this._sceneToCubeUV(e,l,n,V),t>0&&this._blur(V,0,0,t),this._applyPMREM(V),this._cleanup(V),V}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=YR(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=kR(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(ER),e.scissorTest=!1,MR(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===ls||e.mapping===ns?this._setSize(0===e.image.length?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),ER=this._renderer.getRenderTarget();let l=t||this._allocateTargets();return this._textureToCubeUV(e,l),this._applyPMREM(l),this._cleanup(l),l}_allocateTargets(){let e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,l={magFilter:ds,minFilter:ds,generateMipmaps:!1,type:Fs,format:us,colorSpace:fs,depthBuffer:!1},n=GR(e,t,l);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=GR(e,t,l);let{_lodMax:n}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(e){let t=[],l=[],n=[],V=e,i=e-4+1+mR.length;for(let a=0;a<i;a++){let i=Math.pow(2,V);l.push(i);let r=1/i;a>
1e-4?r=mR[a-e+4-1]:0===a&&(r=0),n.push(r);let s=1/(i-2),o=-s,h=1+s,d=[o,o,h,o,h,h,o,o,h,h,o,h],R=6,U=6,c=3,p=2,Z=1,W=new Float32Array(c*U*R),m=new Float32Array(p*U*R),F=new Float32Array(Z*U*R);for(let e=0;e<R;e++){let t=e%3*2/3-1,l=e>2?0:-1,n=[t,l,0,t+2/3,l,0,t+2/3,l+1,0,t,l,0,t+2/3,l+1,0,t,l+1,0];W.set(n,c*U*e),m.set(d,p*U*e);let V=[e,e,e,e,e,e];F.set(V,Z*U*e)}let N=new Fd;N.setAttribute("position",new sd(W,c)),N.setAttribute("uv",new sd(m,p)),N.setAttribute("faceIndex",new sd(F,Z)),t.push(N),V>4&&V--}return{lodPlanes:t,sizeLods:l,sigmas:n}}(n)),this._blurMaterial=function(e,t,l){let n=new Float32Array(FR),V=new yo(0,1,0);return new Id({name:"SphericalGaussianBlur",defines:{n:FR,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/l,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:V}},vertexShader:xR(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}(n,e,t)}return n}_compileMaterial(e){let t=new yd(this._lodPlanes[0],e);this._renderer.compile(t,NR)}_sceneToCubeUV(e,t,l,n){let V=new Od(90,1,t,l),i=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],r=this._renderer,s=r.autoClear,o=r.toneMapping;r.getClearColor(uR),r.toneMapping=Pr,r.autoClear=!1;
1let h=new id({name:"PMREM.Background",side:xr,depthWrite:!1,depthTest:!1}),d=new yd(new jd,h),R=!1,U=e.background;U?U.isColor&&(h.color.copy(U),e.background=null,R=!0):(h.color.copy(uR),R=!0);for(let t=0;t<6;t++){let l=t%3;0===l?(V.up.set(0,i[t],0),V.lookAt(a[t],0,0)):1===l?(V.up.set(0,0,i[t]),V.lookAt(0,a[t],0)):(V.up.set(0,i[t],0),V.lookAt(0,0,a[t]));let s=this._cubeSize;MR(n,l*s,t>2?s:0,s,s),r.setRenderTarget(n),R&&r.render(d,V),r.render(e,V)}d.geometry.dispose(),d.material.dispose(),r.toneMapping=o,r.autoClear=s,e.background=U}_textureToCubeUV(e,t){let l=this._renderer,n=e.mapping===ls||e.mapping===ns;n?(null===this._cubemapMaterial&&(this._cubemapMaterial=YR()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=kR());let V=n?this._cubemapMaterial:this._equirectMaterial,i=new yd(this._lodPlanes[0],V);V.uniforms.envMap.value=e;let a=this._cubeSize;MR(t,0,0,3*a,2*a),l.setRenderTarget(t),l.render(i,NR)}_applyPMREM(e){let t=this._renderer,l=t.autoClear;t.autoClear=!1;for(let t=1;t<this._lodPlanes.length;t++){let l=Math.sqrt(this._sigmas[t]*this._sigmas[t]-this._sigmas[t-1]*this._sigmas[t-1]),n=JR[(t-1)%JR.length];this._blur(e,t-1,t,l,n)}t.autoClear=l}_blur(e,t,l,n,V){let i=this._pingPongRenderTarget;this._halfBlur(e,i,t,l,n,"latitudinal",V),this._halfBlur(i,e,l,l,n,"longitudinal",V)}_halfBlur(e,t,l,n,V,i,a){let r=this._renderer,s=this._blurMaterial;"latitudinal"!==i&&"longitudinal"!==i&&console.error("blur direction must be either latitudinal or longitudinal!");let o=new yd(this._lodPlanes[n],s),h=s.uniforms,d=this._sizeLods[l]-1,R=isFinite(V)?Math.PI/(2*d):2*Math.PI/39,U=V/R,c=isFinite(V)?1+Math.floor(3*U):FR;c>FR&&console.warn(`sigmaRadians, ${V}, is too large and will clip, as it requested ${c} samples when the maximum is set to 20`);let p=[],Z=0;for(let e=0;e<FR;++e){let t=e/U,l=Math.exp(-t*t/2);p.push(l),0===e?Z+=l:e<c&&(Z+=2*l)}for(let e=0;e<p.length;e++)p[e]=p[e]/Z;h.envMap.value=e.texture,h.samples.value=c,h.weights.value=p,h.latitudinal.value="latitudinal"===i,a&&(h.poleAxis.value=a);let{_lodMax:W}=this;h.dTheta.value=R,h.mipInt.value=W-l;let m=this._sizeLods[n];MR(t,3*m*(n>W-4?n-W+4:0),4*(this._cubeSize-m),3*m,2*m),r.setRenderTarget(t),r.render(o,NR)}};function GR(e,t,l){let n=new wo(e,t,l);return n.texture.mapping=Vs,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function MR(e,t,l,n,V){e.viewport.set(t,l,n,V),e.scissor.set(t,l,n,V)}function kR(){return new Id({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:xR(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function YR(){return new Id({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:xR(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function xR(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function QR(e){let t=new WeakMap,l=null;function n(e){let l=e.target;l.removeEventListener("dispose",n);let V=t.get(l);void 0!==V&&(t.delete(l),V.dispose())}return{get:function(V){if(V&&V.isTexture){let i=V.mapping,a=303===i||304===i,r=i===ls||i===ns;if(a||r){if(V.isRenderTargetTexture&&!0===V.needsPMREMUpdate){V.needsPMREMUpdate=!1;let n=t.get(V);return null===l&&(l=new TR(e)),n=a?l.fromEquirectangular(V,n):l.fromCubemap(V,n),t.set(V,n),n.texture}if(t.has(V))return t.get(V).texture;{let i=V.image;if(a&&i&&i.height>0||r&&i&&function(e){let t=0,l=6;for(let n=0;n<l;n++)void 0!==e[n]&&t++;return t===l}(i)){null===l&&(l=new TR(e));let i=a?l.fromEquirectangular(V):l.fromCubemap(V);return t.set(V,i),V.addEventListener("dispose",n),i.texture}return null}}}return V}
1,dispose:function(){t=new WeakMap,null!==l&&(l.dispose(),l=null)}}}function XR(e){let t={};function l(l){if(void 0!==t[l])return t[l];let n;switch(l){case"WEBGL_depth_texture":n=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=e.getExtension(l)}return t[l]=n,n}return{has:function(e){return null!==l(e)},init:function(e){e.isWebGL2?l("EXT_color_buffer_float"):(l("WEBGL_depth_texture"),l("OES_texture_float"),l("OES_texture_half_float"),l("OES_texture_half_float_linear"),l("OES_standard_derivatives"),l("OES_element_index_uint"),l("OES_vertex_array_object"),l("ANGLE_instanced_arrays")),l("OES_texture_float_linear"),l("EXT_color_buffer_half_float"),l("WEBGL_multisampled_render_to_texture")},get:function(e){let t=l(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function wR(e,t,l,n){let V={},i=new WeakMap;function a(e){let r=e.target;null!==r.index&&t.remove(r.index);for(let e in r.attributes)t.remove(r.attributes[e]);for(let e in r.morphAttributes){let l=r.morphAttributes[e];for(let e=0,n=l.length;e<n;e++)t.remove(l[e])}r.removeEventListener("dispose",a),delete V[r.id];let s=i.get(r);s&&(t.remove(s),i.delete(r)),n.releaseStatesOfGeometry(r),!0===r.isInstancedBufferGeometry&&delete r._maxInstanceCount,l.memory.geometries--}function r(e){let l=[],n=e.index,V=e.attributes.position,a=0;if(null!==n){let e=n.array;a=n.version;for(let t=0,n=e.length;t<n;t+=3){let n=e[t+0],V=e[t+1],i=e[t+2];l.push(n,V,V,i,i,n)}}else{let e=V.array;a=V.version;for(let t=0,n=e.length/3-1;t<n;t+=3){let e=t+0,n=t+1,V=t+2;l.push(e,n,n,V,V,e)}}let r=new(po(l)?hd:od)(l,1);r.version=a;let s=i.get(e);s&&t.remove(s),i.set(e,r)}return{get:function(e,t){return!0===V[t.id]||(t.addEventListener("dispose",a),V[t.id]=!0,l.memory.geometries++),t},update:function(l){let n=l.attributes;for(let l in n)t.update(n[l],e.ARRAY_BUFFER);let V=l.morphAttributes;for(let l in V){let n=V[l];for(let l=0,V=n.length;l<V;l++)t.update(n[l],e.ARRAY_BUFFER)}},getWireframeAttribute:function(e){let t=i.get(e);if(t){let l=e.index;null!==l&&t.version<l.version&&r(e)}else r(e);return i.get(e)}}}function fR(e,t,l,n){let V,i,a,r=n.isWebGL2;this.setMode=function(e){V=e},this.setIndex=function(e){i=e.type,a=e.bytesPerElement},this.render=function(t,n){e.drawElements(V,n,i,t*a),l.update(n,V,1)},this.renderInstances=function(n,s,o){if(0===o)return;let h,d;if(r)h=e,d="drawElementsInstanced";else if(h=t.get("ANGLE_instanced_arrays"),d="drawElementsInstancedANGLE",null===h)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[d](V,s,i,n*a,o),l.update(s,V,o)}}function zR(e){let t={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:t,programs:null,autoReset:!0,reset:function(){t.calls=0,t.triangles=0,t.points=0,t.lines=0},update:function(l,n,V){switch(t.calls++,n){case e.TRIANGLES:t.triangles+=V*(l/3);break;case e.LINES:t.lines+=V*(l/2);break;case e.LINE_STRIP:t.lines+=V*(l-1);break;case e.LINE_LOOP:t.lines+=V*l;break;case e.POINTS:t.points+=V*l;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}function yR(e,t){return e[0]-t[0]}function CR(e,t){return Math.abs(t[1])-Math.abs(e[1])}function jR(e,t,l){let n={},V=new Float32Array(8),i=new WeakMap,a=new Xo,r=[];for(let e=0;e<8;e++)r[e]=[e,0];return{update:function(s,o,h){let d=s.morphTargetInfluences;if(!0===t.isWebGL2){let n=o.morphAttributes.position||o.morphAttributes.normal||o.morphAttributes.color,V=void 0!==n?n.length:0,r=i.get(o);if(void 0===r||r.count!==V){let e=function(){W.dispose(),i.delete(o),o.removeEventListener("dispose",e)};void 0!==r&&r.texture.dispose();let l=void 0!==o.morphAttributes.position,n=void 0!==o.morphAttributes.normal,s=void 0!==o.morphAttributes.color,h=o.morphAttributes.position||[],d=o.morphAttributes.normal||[],R=o.morphAttributes.color||[],U=0;!0===l&&(U=1),!0===n&&(U=2),!0===s&&(U=3);let c=o.attributes.position.count*U,p=1;c>t.maxTextureSize&&(p=Math.ceil(c/t.maxTextureSize),c=t.maxTextureSize);let Z=new Float32Array(c*p*4*V),W=new fo(Z,c,p,V);W.type=ms,W.needsUpdate=!0;let m=4*U;for(let e=0;e<V;e++){let t=h[e],V=d[e],i=R[e],r=c*p*4*e;for(let e=0;e<t.count;e++){let o=e*m;!0===l&&(a.fromBufferAttribute(t,e),Z[r+o+0]=a.x,Z[r+o+1]=a.y,Z[r+o+2]=a.z,Z[r+o+3]=0),!0===n&&(a.fromBufferAttribute(V,e),Z[r+o+4]=a.x,Z[r+o+5]=a.y,Z[r+o+6]=a.z,Z[r+o+7]=0),!0===s&&(a.fromBufferAttribute(i,e),Z[r+o+8]=a.x,Z[r+o+9]=a.y,Z[r+o+10]=a.z,Z[r+o+11]=4===i.itemSize?a.w:1)}}r={count:V,texture:W,size:new Ro(c,p)},i.set(o,r),o.addEventListener("dispose",e)}let s=0;for(let e=0;e<d.length;e++)s+=d[e];let R=o.morphTargetsRelative?1:1-s;h.getUniforms().setValue(e,"morphTargetBaseInfluence",R),h.getUniforms().setValue(e,"morphTargetInfluences",d),h.getUniforms().setValue(e,"morphTargetsTexture",r.texture,l),h.getUniforms().setValue(e,"morphTargetsTextureSize",r.size)}else{let t=void 0===d?0:d.length,l=n[o.id];if(void 0===l||l.length!==t){l=[];for(let e=0;e<t;e++)l[e]=[e,0];n[o.id]=l}for(let e=0;e<t;e++){let t=l[e];t[0]=e,t[1]=d[e]}l.sort(CR);for(let e=0;e<8;e++)e<t&&l[e][1]?(r[e][0]=l[e][0],r[e][1]=l[e][1]):(r[e][0]=Number.MAX_SAFE_INTEGER,r[e][1]=0);r.sort(yR);let i=o.morphAttributes.position,a=o.morphAttributes.normal,s=0;for(let e=0;e<8;e++){let t=r[e],l=t[0],n=t[1];l!==Number.MAX_SAFE_INTEGER&&n?(i&&o.getAttribute("morphTarget"+e)!==i[l]&&o.setAttribute("morphTarget"+e,i[l]),a&&o.getAttribute("morphNormal"+e)!==a[l]&&o.setAttribute("morphNormal"+e,a[l]),V[e]=n,s+=n):(i&&!0===o.hasAttribute("morphTarget"+e)&&o.deleteAttribute("morphTarget"+e),a&&!0===o.hasAttribute("morphNormal"+e)&&o.deleteAttribute("morphNormal"+e),V[e]=0)}let R=o.morphTargetsRelative?1:1-s;h.getUniforms().setValue(e,"morphTargetBaseInfluence",R),h.getUniforms().setValue(e,"morphTargetInfluences",V)}}}}function gR(e,t,l,n){let V=new WeakMap;function i(e){let t=e.target;t.removeEventListener("dispose",i),l.remove(t.instanceMatrix),null!==t.instanceColor&&l.remove(t.instanceColor)}return{update:function(a){let r=n.render.frame,s=a.geometry,o=t.get(a,s);if(V.get(o)!==r&&(t.update(o),V.set(o,r)),a.isInstancedMesh&&(!1===a.hasEventListener("dispose",i)&&a.addEventListener("dispose",i),V.get(a)!==r&&(l.update(a.instanceMatrix,e.ARRAY_BUFFER),null!==a.instanceColor&&l.update(a.instanceColor,e.ARRAY_BUFFER),V.set(a,r))),a.isSkinnedMesh){let e=a.skeleton;
vendor: 8,074 bytes, line 1
1V.get(e)!==r&&(e.update(),V.set(e,r))}return o},dispose:function(){V=new WeakMap}}}var BR=new Qo,HR=new fo,vR=new class extends Qo{constructor(e=null,t=1,l=1,n=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:l,depth:n},this.magFilter=ss,this.minFilter=ss,this.wrapR=as,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},IR=new Kd,DR=[],OR=[],_R=new Float32Array(16),LR=new Float32Array(9),KR=new Float32Array(4);function PR(e,t,l){let n=e[0];if(n<=0||n>0)return e;let V=t*l,i=DR[V];if(void 0===i&&(i=new Float32Array(V),DR[V]=i),0!==t){n.toArray(i,0);for(let n=1,V=0;n!==t;++n)V+=l,e[n].toArray(i,V)}return i}function AR(e,t){if(e.length!==t.length)return!1;for(let l=0,n=e.length;l<n;l++)if(e[l]!==t[l])return!1;return!0}function qR(e,t){for(let l=0,n=t.length;l<n;l++)e[l]=t[l]}function $R(e,t){let l=OR[t];void 0===l&&(l=new Int32Array(t),OR[t]=l);for(let n=0;n!==t;++n)l[n]=e.allocateTextureUnit();return l}function eU(e,t){let l=this.cache;l[0]!==t&&(e.uniform1f(this.addr,t),l[0]=t)}function tU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y)&&(e.uniform2f(this.addr,t.x,t.y),l[0]=t.x,l[1]=t.y);else{if(AR(l,t))return;e.uniform2fv(this.addr,t),qR(l,t)}}function lU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y||l[2]!==t.z)&&(e.uniform3f(this.addr,t.x,t.y,t.z),l[0]=t.x,l[1]=t.y,l[2]=t.z);else if(void 0!==t.r)(l[0]!==t.r||l[1]!==t.g||l[2]!==t.b)&&(e.uniform3f(this.addr,t.r,t.g,t.b),l[0]=t.r,l[1]=t.g,l[2]=t.b);else{if(AR(l,t))return;e.uniform3fv(this.addr,t),qR(l,t)}}function nU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y||l[2]!==t.z||l[3]!==t.w)&&(e.uniform4f(this.addr,t.x,t.y,t.z,t.w),l[0]=t.x,l[1]=t.y,l[2]=t.z,l[3]=t.w);else{if(AR(l,t))return;e.uniform4fv(this.addr,t),qR(l,t)}}function VU(e,t){let l=this.cache,n=t.elements;if(void 0===n){if(AR(l,t))return;e.uniformMatrix2fv(this.addr,!1,t),qR(l,t)}else{if(AR(l,n))return;KR.set(n),e.uniformMatrix2fv(this.addr,!1,KR),qR(l,n)}}function iU(e,t){let l=this.cache,n=t.elements;if(void 0===n){if(AR(l,t))return;e.uniformMatrix3fv(this.addr,!1,t),qR(l,t)}else{if(AR(l,n))return;LR.set(n),e.uniformMatrix3fv(this.addr,!1,LR),qR(l,n)}}function aU(e,t){let l=this.cache,n=t.elements;if(void 0===n){if(AR(l,t))return;e.uniformMatrix4fv(this.addr,!1,t),qR(l,t)}else{if(AR(l,n))return;_R.set(n),e.uniformMatrix4fv(this.addr,!1,_R),qR(l,n)}}function rU(e,t){let l=this.cache;l[0]!==t&&(e.uniform1i(this.addr,t),l[0]=t)}function sU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y)&&(e.uniform2i(this.addr,t.x,t.y),l[0]=t.x,l[1]=t.y);else{if(AR(l,t))return;e.uniform2iv(this.addr,t),qR(l,t)}}function oU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y||l[2]!==t.z)&&(e.uniform3i(this.addr,t.x,t.y,t.z),l[0]=t.x,l[1]=t.y,l[2]=t.z);else{if(AR(l,t))return;e.uniform3iv(this.addr,t),qR(l,t)}}function hU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y||l[2]!==t.z||l[3]!==t.w)&&(e.uniform4i(this.addr,t.x,t.y,t.z,t.w),l[0]=t.x,l[1]=t.y,l[2]=t.z,l[3]=t.w);else{if(AR(l,t))return;e.uniform4iv(this.addr,t),qR(l,t)}}function dU(e,t){let l=this.cache;l[0]!==t&&(e.uniform1ui(this.addr,t),l[0]=t)}function RU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y)&&(e.uniform2ui(this.addr,t.x,t.y),l[0]=t.x,l[1]=t.y);else{if(AR(l,t))return;e.uniform2uiv(this.addr,t),qR(l,t)}}function UU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y||l[2]!==t.z)&&(e.uniform3ui(this.addr,t.x,t.y,t.z),l[0]=t.x,l[1]=t.y,l[2]=t.z);else{if(AR(l,t))return;e.uniform3uiv(this.addr,t),qR(l,t)}}function cU(e,t){let l=this.cache;if(void 0!==t.x)(l[0]!==t.x||l[1]!==t.y||l[2]!==t.z||l[3]!==t.w)&&(e.uniform4ui(this.addr,t.x,t.y,t.z,t.w),l[0]=t.x,l[1]=t.y,l[2]=t.z,l[3]=t.w);else{if(AR(l,t))return;e.uniform4uiv(this.addr,t),qR(l,t)}}function pU(e,t,l){let n=this.cache,V=l.allocateTextureUnit();n[0]!==V&&(e.uniform1i(this.addr,V),n[0]=V),l.setTexture2D(t||BR,V)}function ZU(e,t,l){let n=this.cache,V=l.allocateTextureUnit();n[0]!==V&&(e.uniform1i(this.addr,V),n[0]=V),l.setTexture3D(t||vR,V)}function WU(e,t,l){let n=this.cache,V=l.allocateTextureUnit();n[0]!==V&&(e.uniform1i(this.addr,V),n[0]=V),l.setTextureCube(t||IR,V)}function mU(e,t,l){let n=this.cache,V=l.allocateTextureUnit();n[0]!==V&&(e.uniform1i(this.addr,V),n[0]=V),l.setTexture2DArray(t||HR,V)}function FU(e,t){e.uniform1fv(this.addr,t)}function NU(e,t){let l=PR(t,this.size,2);e.uniform2fv(this.addr,l)}function uU(e,t){let l=PR(t,this.size,3);e.uniform3fv(this.addr,l)}function EU(e,t){let l=PR(t,this.size,4);e.uniform4fv(this.addr,l)}function bU(e,t){let l=PR(t,this.size,4);e.uniformMatrix2fv(this.addr,!1,l)}function SU(e,t){let l=PR(t,this.size,9);e.uniformMatrix3fv(this.addr,!1,l)}function JU(e,t){let l=PR(t,this.size,16);e.uniformMatrix4fv(this.addr,!1,l)}function TU(e,t){e.uniform1iv(this.addr,t)}function GU(e,t){e.uniform2iv(this.addr,t)}function MU(e,t){e.uniform3iv(this.addr,t)}function kU(e,t){e.uniform4iv(this.addr,t)}function YU(e,t){e.uniform1uiv(this.addr,t)}function xU(e,t){e.uniform2uiv(this.addr,t)}function QU(e,t){e.uniform3uiv(this.addr,t)}function XU(e,t){e.uniform4uiv(this.addr,t)}function wU(e,t,l){let n=this.cache,V=t.length,i=$R(l,V);AR(n,i)||(e.uniform1iv(this.addr,i),qR(n,i));for(let e=0;e!==V;++e)l.setTexture2D(t[e]||BR,i[e])}function fU(e,t,l){let n=this.cache,V=t.length,i=$R(l,V);AR(n,i)||(e.uniform1iv(this.addr,i),qR(n,i));for(let e=0;e!==V;++e)l.setTexture3D(t[e]||vR,i[e])}function zU(e,t,l){let n=this.cache,V=t.length,i=$R(l,V);AR(n,i)||(e.uniform1iv(this.addr,i),qR(n,i));for(let e=0;e!==V;++e)l.setTextureCube(t[e]||IR,i[e])}function yU(e,t,l){let n=this.cache,V=t.length,i=$R(l,V);AR(n,i)||(e.uniform1iv(this.addr,i),qR(n,i));for(let e=0;e!==V;++e)l.setTexture2DArray(t[e]||HR,i[e])}var CU=class{constructor(e,t,l){this.id=e,this.addr=l,this.cache=[],this.setValue=function(e){switch(e){case 5126:return eU;case 35664:return tU;case 35665:return lU;case 35666:return nU;case 35674:return VU;case 35675:return iU;case 35676:return aU;case 5124:case 35670:return rU;case 35667:case 35671:return sU;case 35668:case 35672:return oU;case 35669:case 35673:return hU;case 5125:return dU;case 36294:return RU;case 36295:return UU;case 36296:return cU;case 35678:case 36198:case 36298:case 36306:case 35682:return pU;case 35679:case 36299:case 36307:return ZU;case 35680:case 36300:case 36308:case 36293:return WU;case 36289:case 36303:case 36311:case 36292:return mU}}(t.type)}},jU=class{constructor(e,t,l){this.id=e,this.addr=l,this.cache=[],this.size=t.size,this.setValue=function(e){switch(e){case 5126:return FU;case 35664:return NU;case 35665:return uU;case 35666:return EU;case 35674:return bU;case 35675:return SU;case 35676:return JU;case 5124:case 35670:return TU;case 35667:case 35671:return GU;case 35668:case 35672:return MU;case 35669:case 35673:return kU;case 5125:return YU;case 36294:return xU;case 36295:return QU;case 36296:return XU;case 35678:case 36198:case 36298:case 36306:case 35682:return wU;case 35679:case 36299:case 36307:return fU;case 35680:case 36300:case 36308:case 36293:return zU;case 36289:case 36303:case 36311:case 36292:return yU}}(t.type)}},gU=class{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,l){let n=this.seq;for(let V=0,i=n.length;V!==i;++V){let i=n[V];i.setValue(e,t[i.id],l)}}},BU=/(\w+)(\])?(\[|\.)?/g;function HU(e,t){e.seq.push(t),e.map[t.id]=t}function vU(e,t,l){let n=e.name,V=n.length;for(BU.lastIndex=0;;){let i=BU.exec(n),a=BU.lastIndex,r=i[1],s="]"===i[2],o=i[3];if(s&&(r|=0),void 0===o||"["===o&&a+2===V){HU(l,void 0===o?new CU(r,e,t):new jU(r,e,t));break}{let e=l.map[r];void 0===e&&(e=new gU(r),HU(l,e)),l=e}}}var IU=class{constructor(e,t){this.seq=[],this.map={};let l=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let n=0;n<l;++n){let l=e.getActiveUniform(t,n);vU(l,e.getUniformLocation(t,l.name),this)}}setValue(e,t,l,n){let V=this.map[t];void 0!==V&&V.setValue(e,l,n)}setOptional(e,t,l){let n=t[l];void 0!==n&&this.setValue(e,l,n)}static upload(e,t,l,n){for(let V=0,i=t.length;V!==i;++V){let i=t[V],a=l[i.id];
1!1!==a.needsUpdate&&i.setValue(e,a.value,n)}}static seqWithValue(e,t){let l=[];for(let n=0,V=e.length;n!==V;++n){let V=e[n];V.id in t&&l.push(V)}return l}};function DU(e,t,l){let n=e.createShader(t);return e.shaderSource(n,l),e.compileShader(n),n}var OU=0;function _U(e,t,l){let n=e.getShaderParameter(t,e.COMPILE_STATUS),V=e.getShaderInfoLog(t).trim();if(n&&""===V)return"";let i=/ERROR: 0:(\d+)/.exec(V);if(i){let n=parseInt(i[1]);return l.toUpperCase()+"\n\n"+V+"\n\n"+function(e,t){let l=e.split("\n"),n=[],V=Math.max(t-6,0),i=Math.min(t+6,l.length);for(let e=V;e<i;e++){let V=e+1;n.push(`${V===t?">":" "} ${V}: ${l[e]}`)}return n.join("\n")}(e.getShaderSource(t),n)}return V}function LU(e,t){let l=function(e){switch(e){case fs:return["Linear","( value )"];case ws:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",e),["Linear","( value )"]}}(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+l[0]+l[1]+"; }"}function KU(e,t){let l;switch(t){case Ar:l="Linear";break;case qr:l="Reinhard";break;case $r:l="OptimizedCineon";break;case es:l="ACESFilmic";break;case ts:l="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),l="Linear"}return"vec3 "+e+"( vec3 color ) { return "+l+"ToneMapping( color ); }"}function PU(e){return""!==e}function AU(e,t){let l=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,l).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function qU(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}var $U=/^[ \t]*#include +<([\w\d./]+)>/gm;function ec(e){return e.replace($U,lc)}var tc=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function lc(e,t){let l=rR[t];if(void 0===l){let e=tc.get(t);if(void 0===e)throw new Error("Can not resolve #include <"+t+">");l=rR[e],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,e)}return ec(l)}var nc=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Vc(e){return e.replace(nc,ic)}function ic(e,t,l,n){let V="";for(let e=parseInt(t);e<parseInt(l);e++)V+=n.replace(/\[\s*i\s*\]/g,"[ "+e+" ]").replace(/UNROLLED_LOOP_INDEX/g,e);return V}function ac(e){let t="precision "+e.precision+" float;\nprecision "+e.precision+" int;";return"highp"===e.precision?t+="\n#define HIGH_PRECISION":"mediump"===e.precision?t+="\n#define MEDIUM_PRECISION":"lowp"===e.precision&&(t+="\n#define LOW_PRECISION"),t}function rc(e,t,l,n){let V,i,a=e.getContext(),r=l.defines,s=l.vertexShader,o=l.fragmentShader,h=function(e){let t="SHADOWMAP_TYPE_BASIC";return e.shadowMapType===Gr?t="SHADOWMAP_TYPE_PCF":e.shadowMapType===Mr?t="SHADOWMAP_TYPE_PCF_SOFT":e.shadowMapType===kr&&(t="SHADOWMAP_TYPE_VSM"),t}(l),d=function(e){let t="ENVMAP_TYPE_CUBE";if(e.envMap)switch(e.envMapMode){case ls:case ns:t="ENVMAP_TYPE_CUBE";break;case Vs:t="ENVMAP_TYPE_CUBE_UV"}return t}(l),R=function(e){let t="ENVMAP_MODE_REFLECTION";return e.envMap&&e.envMapMode===ns&&(t="ENVMAP_MODE_REFRACTION"),t}(l),U=function(e){let t="ENVMAP_BLENDING_NONE";if(e.envMap)switch(e.combine){case _r:t="ENVMAP_BLENDING_MULTIPLY";break;case Lr:t="ENVMAP_BLENDING_MIX";break;case Kr:t="ENVMAP_BLENDING_ADD"}return t}(l),c=function(e){let t=e.envMapCubeUVHeight;if(null===t)return null;let l=Math.log2(t)-2,n=1/t;return{texelWidth:1/(3*Math.max(Math.pow(2,l),112)),texelHeight:n,maxMip:l}}(l),p=l.isWebGL2?"":function(e){return[e.extensionDerivatives||e.envMapCubeUVHeight||e.bumpMap||e.normalMapTangentSpace||e.clearcoatNormalMap||e.flatShading||"physical"===e.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(e.extensionShaderTextureLOD||e.envMap||e.transmission)&&e.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(PU).join("\n")}(l),Z=function(e){let t=[];for(let l in e){let n=e[l];!1!==n&&t.push("#define "+l+" "+n)}return t.join("\n")}(r),W=a.createProgram(),m=l.glslVersion?"#version "+l.glslVersion+"\n":"";l.isRawShaderMaterial?(V=["#define SHADER_TYPE "+l.shaderType,"#define SHADER_NAME "+l.shaderName,Z].filter(PU).join("\n"),V.length>0&&(V+="\n"),i=[p,"#define SHADER_TYPE "+l.shaderType,"#define SHADER_NAME "+l.shaderName,Z].filter(PU).join("\n"),i.length>0&&(i+="\n")):(V=[ac(l),"#define SHADER_TYPE "+l.shaderType,"#define SHADER_NAME "+l.shaderName,Z,l.instancing?"#define USE_INSTANCING":"",l.instancingColor?"#define USE_INSTANCING_COLOR":"",l.useFog&&l.fog?"#define USE_FOG":"",l.useFog&&l.fogExp2?"#define FOG_EXP2":"",l.map?"#define USE_MAP":"",l.envMap?"#define USE_ENVMAP":"",l.envMap?"#define "+R:"",l.lightMap?"#define USE_LIGHTMAP":"",l.aoMap?"#define USE_AOMAP":"",l.bumpMap?"#define USE_BUMPMAP":"",l.normalMap?"#define USE_NORMALMAP":"",l.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",l.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",l.displacementMap?"#define USE_DISPLACEMENTMAP":"",l.emissiveMap?"#define USE_EMISSIVEMAP":"",l.anisotropyMap?"#define USE_ANISOTROPYMAP":"",l.clearcoatMap?"#define USE_CLEARCOATMAP":"",l.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",l.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",l.iridescenceMap?"#define USE_IR
1IDESCENCEMAP":"",l.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",l.specularMap?"#define USE_SPECULARMAP":"",l.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",l.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",l.roughnessMap?"#define USE_ROUGHNESSMAP":"",l.metalnessMap?"#define USE_METALNESSMAP":"",l.alphaMap?"#define USE_ALPHAMAP":"",l.alphaHash?"#define USE_ALPHAHASH":"",l.transmission?"#define USE_TRANSMISSION":"",l.transmissionMap?"#define USE_TRANSMISSIONMAP":"",l.thicknessMap?"#define USE_THICKNESSMAP":"",l.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",l.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",l.mapUv?"#define MAP_UV "+l.mapUv:"",l.alphaMapUv?"#define ALPHAMAP_UV "+l.alphaMapUv:"",l.lightMapUv?"#define LIGHTMAP_UV "+l.lightMapUv:"",l.aoMapUv?"#define AOMAP_UV "+l.aoMapUv:"",l.emissiveMapUv?"#define EMISSIVEMAP_UV "+l.emissiveMapUv:"",l.bumpMapUv?"#define BUMPMAP_UV "+l.bumpMapUv:"",l.normalMapUv?"#define NORMALMAP_UV "+l.normalMapUv:"",l.displacementMapUv?"#define DISPLACEMENTMAP_UV "+l.displacementMapUv:"",l.metalnessMapUv?"#define METALNESSMAP_UV "+l.metalnessMapUv:"",l.roughnessMapUv?"#define ROUGHNESSMAP_UV "+l.roughnessMapUv:"",l.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+l.anisotropyMapUv:"",l.clearcoatMapUv?"#define CLEARCOATMAP_UV "+l.clearcoatMapUv:"",l.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+l.clearcoatNormalMapUv:"",l.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+l.clearcoatRoughnessMapUv:"",l.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+l.iridescenceMapUv:"",l.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+l.iridescenceThicknessMapUv:"",l.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+l.sheenColorMapUv:"",l.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+l.sheenRoughnessMapUv:"",l.specularMapUv?"#define SPECULARMAP_UV "+l.specularMapUv:"",l.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+l.specularColorMapUv:"",l.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+l.specularIntensityMapUv:"",l.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+l.transmissionMapUv:"",l.thicknessMapUv?"#define THICKNESSMAP_UV "+l.thicknessMapUv:"",l.vertexTangents&&!1===l.flatShading?"#define USE_TANGENT":"",l.vertexColors?"#define USE_COLOR":"",l.vertexAlphas?"#define USE_COLOR_ALPHA":"",l.vertexUv1s?"#define USE_UV1":"",l.vertexUv2s?"#define USE_UV2":"",l.vertexUv3s?"#define USE_UV3":"",l.pointsUvs?"#define USE_POINTS_UV":"",l.flatShading?"#define FLAT_SHADED":"",l.skinning?"#define USE_SKINNING":"",l.morphTargets?"#define USE_MORPHTARGETS":"",l.morphNormals&&!1===l.flatShading?"#define USE_MORPHNORMALS":"",l.morphColors&&l.isWebGL2?"#define USE_MORPHCOLORS":"",l.morphTargetsCount>0&&l.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",l.morphTargetsCount>0&&l.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+l.morphTextureStride:"",l.morphTargetsCount>0&&l.isWebGL2?"#define MORPHTARGETS_COUNT "+l.morphTargetsCount:"",l.doubleSided?"#define DOUBLE_SIDED":"",l.flipSided?"#define FLIP_SIDED":"",l.shadowMapEnabled?"#define USE_SHADOWMAP":"",l.shadowMapEnabled?"#define "+h:"",l.sizeAttenuation?"#define USE_SIZEATTENUATION":"",l.useLegacyLights?"#define LEGACY_LIGHTS":"",l.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",l.logarithmicDepthBuffer&&l.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(PU).join("\n"),i=[p,ac(l),"#define SHADER_TYPE "+l.shaderType,"#define SHADER_NAME "+l.shaderName,Z,l.useFog&&l.fog?"#define USE_FOG":"",l.useFog&&l.fogExp2?"#define FOG_EXP2":"",l.map?"#define USE_MAP":"",l.matcap?"#define USE_MATCAP":"",l.envMap?"#define USE_ENVMAP":"",l.envMap?"#define "+d:"",l.envMap?"#define "+R:"",l.envMap?"#define "+U:"",c?"#define CUBEUV_TEXEL_WIDTH "+c.texelWidth:"",c?"#define CUBEUV_TEXEL_HEIGHT "+c.texelHeight:"",c?"#define CUBEUV_MAX_MIP "+c.maxMip+".0":"",l.lightMap?"#define USE_LIGHTMAP":"",l.aoMap?"#define USE_AOMAP":"",l.bumpMap?"#define USE_BUMPMAP":"",l.normalMap?"#define USE_NORMALMAP":"",l.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",l.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",l.emissiveMap?"#define USE_EMISSIVEMAP":"",l.anisotropy?"#define USE_ANISOTROPY":"",l.anisotropyMap?"#define USE_ANISOTROPYMAP":"",l.clearcoat?"#define USE_CLEARCOAT":"",l.clearcoatMap?"#define USE_CLEARCOATMAP":"",l.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",l.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",l.iridescence?"#define USE_IR
1IDESCENCE":"",l.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",l.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",l.specularMap?"#define USE_SPECULARMAP":"",l.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",l.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",l.roughnessMap?"#define USE_ROUGHNESSMAP":"",l.metalnessMap?"#define USE_METALNESSMAP":"",l.alphaMap?"#define USE_ALPHAMAP":"",l.alphaTest?"#define USE_ALPHATEST":"",l.alphaHash?"#define USE_ALPHAHASH":"",l.sheen?"#define USE_SHEEN":"",l.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",l.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",l.transmission?"#define USE_TRANSMISSION":"",l.transmissionMap?"#define USE_TRANSMISSIONMAP":"",l.thicknessMap?"#define USE_THICKNESSMAP":"",l.vertexTangents&&!1===l.flatShading?"#define USE_TANGENT":"",l.vertexColors||l.instancingColor?"#define USE_COLOR":"",l.vertexAlphas?"#define USE_COLOR_ALPHA":"",l.vertexUv1s?"#define USE_UV1":"",l.vertexUv2s?"#define USE_UV2":"",l.vertexUv3s?"#define USE_UV3":"",l.pointsUvs?"#define USE_POINTS_UV":"",l.gradientMap?"#define USE_GRADIENTMAP":"",l.flatShading?"#define FLAT_SHADED":"",l.doubleSided?"#define DOUBLE_SIDED":"",l.flipSided?"#define FLIP_SIDED":"",l.shadowMapEnabled?"#define USE_SHADOWMAP":"",l.shadowMapEnabled?"#define "+h:"",l.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",l.useLegacyLights?"#define LEGACY_LIGHTS":"",l.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",l.logarithmicDepthBuffer&&l.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",l.toneMapping!==Pr?"#define TONE_MAPPING":"",l.toneMapping!==Pr?rR.tonemapping_pars_fragment:"",l.toneMapping!==Pr?KU("toneMapping",l.toneMapping):"",l.dithering?"#define DITHERING":"",l.opaque?"#define OPAQUE":"",rR.colorspace_pars_fragment,LU("linearToOutputTexel",l.outputColorSpace),l.useDepthPacking?"#define DEPTH_PACKING "+l.depthPacking:"","\n"].filter(PU).join("\n")),s=ec(s),s=AU(s,l),s=qU(s,l),o=ec(o),o=AU(o,l),o=qU(o,l),s=Vc(s),o=Vc(o),l.isWebGL2&&!0!==l.isRawShaderMaterial&&(m="#version 300 es\n",V=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+V,i=["#define varying in",l.glslVersion===_s?"":"layout(location = 0) out highp vec4 pc_fragColor;",l.glslVersion===_s?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+i);let F,N,u=m+V+s,E=m+i+o,b=DU(a,a.VERTEX_SHADER,u),S=DU(a,a.FRAGMENT_SHADER,E);if(a.attachShader(W,b),a.attachShader(W,S),void 0!==l.index0AttributeName?a.bindAttribLocation(W,0,l.index0AttributeName):!0===l.morphTargets&&a.bindAttribLocation(W,0,"position"),a.linkProgram(W),e.debug.checkShaderErrors){let t=a.getProgramInfoLog(W).trim(),l=a.getShaderInfoLog(b).trim(),n=a.getShaderInfoLog(S).trim(),r=!0,s=!0;if(!1===a.getProgramParameter(W,a.LINK_STATUS))if(r=!1,"function"==typeof e.debug.onShaderError)e.debug.onShaderError(a,W,b,S);else{let e=_U(a,b,"vertex"),l=_U(a,S,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(W,a.VALIDATE_STATUS)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+l)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):(""===l||""===n)&&(s=!1);s&&(this.diagnostics={runnable:r,programLog:t,vertexShader:{log:l,prefix:V},fragmentShader:{log:n,prefix:i}})}return a.deleteShader(b),a.deleteShader(S),this.getUniforms=function(){return void 0===F&&(F=new IU(a,W)),F},this.getAttributes=function(){return void 0===N&&(N=function(e,t){let l={},n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let V=0;V<n;V++){let n=e.getActiveAttrib(t,V),i=n.name,a=1;n.type===e.FLOAT_MAT2&&(a=2),n.type===e.FLOAT_MAT3&&(a=3),n.type===e.FLOAT_MAT4&&(a=4),l[i]={type:n.type,location:e.getAttribLocation(t,i),locationSize:a}}return l}(a,W)),N},this.destroy=function(){n.releaseStatesOfProgram(this),a.deleteProgram(W),this.program=void 0},this.type=l.shaderType,this.name=l.shaderName,this.id=OU++,this.cacheKey=t,this.usedTimes=1,this.program=W,this.vertexShader=b,this.fragmentShader=S,this}var sc=0,oc=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,l=e.fragmentShader,n=this._getShaderStage(t),V=this._getShaderStage(l),i=this._getShaderCacheForMaterial(e);return!1===i.has(n)&&(i.add(n),n.usedTimes++),!1===i.has(V)&&(i.add(V),V.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let e of t)e.usedTimes--,0===e.usedTimes&&this.shaderCache.delete(e.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,l=t.get(e);return void 0===l&&(l=new Set,t.set(e,l)),l}_getShaderStage(e){let t=this.shaderCache,l=t.get(e);return void 0===l&&(l=new hc(e),t.set(e,l)),l}},hc=class{constructor(e){this.id=sc++,this.code=e,this.usedTimes=0}};function dc(e,t,l,n,V,i,a){let r=new Sh,s=new oc,o=[],h=V.isWebG
1L2,d=V.logarithmicDepthBuffer,R=V.vertexTextures,U=V.precision,c={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function p(e){return 0===e?"uv":`uv${e}`}return{getParameters:function(i,r,o,Z,W){let m=Z.fog,F=W.geometry,N=i.isMeshStandardMaterial?Z.environment:null,u=(i.isMeshStandardMaterial?l:t).get(i.envMap||N),E=u&&u.mapping===Vs?u.image.height:null,b=c[i.type];null!==i.precision&&(U=V.getMaxPrecision(i.precision),U!==i.precision&&console.warn("THREE.WebGLProgram.getParameters:",i.precision,"not supported, using",U,"instead."));let S,J,T,G,M=F.morphAttributes.position||F.morphAttributes.normal||F.morphAttributes.color,k=void 0!==M?M.length:0,Y=0;if(void 0!==F.morphAttributes.position&&(Y=1),void 0!==F.morphAttributes.normal&&(Y=2),void 0!==F.morphAttributes.color&&(Y=3),b){let e=oR[b];S=e.vertexShader,J=e.fragmentShader}else S=i.vertexShader,J=i.fragmentShader,s.update(i),T=s.getVertexShaderID(i),G=s.getFragmentShaderID(i);let x=e.getRenderTarget(),Q=!0===W.isInstancedMesh,X=!!i.map,w=!!i.matcap,f=!!u,z=!!i.aoMap,y=!!i.lightMap,C=!!i.bumpMap,j=!!i.normalMap,g=!!i.displacementMap,B=!!i.emissiveMap,H=!!i.metalnessMap,v=!!i.roughnessMap,I=i.anisotropy>0,D=i.clearcoat>0,O=i.iridescence>0,_=i.sheen>0,L=i.transmission>0,K=I&&!!i.anisotropyMap,P=D&&!!i.clearcoatMap,A=D&&!!i.clearcoatNormalMap,q=D&&!!i.clearcoatRoughnessMap,$=O&&!!i.iridescenceMap,ee=O&&!!i.iridescenceThicknessMap,te=_&&!!i.sheenColorMap,le=_&&!!i.sheenRoughnessMap,ne=!!i.specularMap,Ve=!!i.specularColorMap,ie=!!i.specularIntensityMap,ae=L&&!!i.transmissionMap,re=L&&!!i.thicknessMap,se=!!i.gradientMap,oe=!!i.alphaMap,he=i.alphaTest>0,de=!!i.alphaHash,Re=!!i.extensions,Ue=!!F.attributes.uv1,ce=!!F.attributes.uv2,pe=!!F.attributes.uv3;return{isWebGL2:h,shaderID:b,shaderType:i.type,shaderName:i.name,vertexShader:S,fragmentShader:J,defines:i.defines,customVertexShaderID:T,customFragmentShaderID:G,isRawShaderMaterial:!0===i.isRawShaderMaterial,glslVersion:i.glslVersion,precision:U,instancing:Q,instancingColor:Q&&null!==W.instanceColor,supportsVertexTextures:R,outputColorSpace:null===x?e.outputColorSpace:!0===x.isXRRenderTarget?x.texture.colorSpace:fs,map:X,matcap:w,envMap:f,envMapMode:f&&u.mapping,envMapCubeUVHeight:E,aoMap:z,lightMap:y,bumpMap:C,normalMap:j,displacementMap:R&&g,emissiveMap:B,normalMapObjectSpace:j&&
11===i.normalMapType,normalMapTangentSpace:j&&0===i.normalMapType,metalnessMap:H,roughnessMap:v,anisotropy:I,anisotropyMap:K,clearcoat:D,clearcoatMap:P,clearcoatNormalMap:A,clearcoatRoughnessMap:q,iridescence:O,iridescenceMap:$,iridescenceThicknessMap:ee,sheen:_,sheenColorMap:te,sheenRoughnessMap:le,specularMap:ne,specularColorMap:Ve,specularIntensityMap:ie,transmission:L,transmissionMap:ae,thicknessMap:re,gradientMap:se,opaque:!1===i.transparent&&1===i.blending,alphaMap:oe,alphaTest:he,alphaHash:de,combine:i.combine,mapUv:X&&p(i.map.channel),aoMapUv:z&&p(i.aoMap.channel),lightMapUv:y&&p(i.lightMap.channel),bumpMapUv:C&&p(i.bumpMap.channel),normalMapUv:j&&p(i.normalMap.channel),displacementMapUv:g&&p(i.displacementMap.channel),emissiveMapUv:B&&p(i.emissiveMap.channel),metalnessMapUv:H&&p(i.metalnessMap.channel),roughnessMapUv:v&&p(i.roughnessMap.channel),anisotropyMapUv:K&&p(i.anisotropyMap.channel),clearcoatMapUv:P&&p(i.clearcoatMap.channel),clearcoatNormalMapUv:A&&p(i.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:q&&p(i.clearcoatRoughnessMap.channel),iridescenceMapUv:$&&p(i.iridescenceMap.channel),iridescenceThicknessMapUv:ee&&p(i.iridescenceThicknessMap.channel),sheenColorMapUv:te&&p(i.sheenColorMap.channel),sheenRoughnessMapUv:le&&p(i.sheenRoughnessMap.channel),specularMapUv:ne&&p(i.specularMap.channel),specularColorMapUv:Ve&&p(i.specularColorMap.channel),specularIntensityMapUv:ie&&p(i.specularIntensityMap.channel),transmissionMapUv:ae&&p(i.transmissionMap.channel),thicknessMapUv:re&&p(i.thicknessMap.channel),alphaMapUv:oe&&p(i.alphaMap.channel),vertexTangents:!!F.attributes.tangent&&(j||I),vertexColors:i.vertexColors,vertexAlphas:!0===i.vertexColors&&!!F.attributes.color&&4===F.attributes.color.itemSize,vertexUv1s:Ue,vertexUv2s:ce,vertexUv3s:pe,pointsUvs:!0===W.isPoints&&!!F.attributes.uv&&(X||oe),fog:!!m,useFog:!0===i.fog,fogExp2:m&&m.isFogExp2,flatShading:!0===i.flatShading,sizeAttenuation:!0===i.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===W.isSkinnedMesh,morphTargets:void 0!==F.morphAttributes.position,morphNormals:void 0!==F.morphAttributes.normal,morphColors:void 0!==F.morphAttributes.color,morphTargetsCount:k,morphTextureStride:Y,numDirLights:r.directional.length,numPointLights:r.point.length,numSpotLights:r.spot.length,numSpotLightMaps:r.spotLightMap.length,numRectAreaLights:r.rectArea.length,numHemiLights:r.hemi.length,numDirLightShadows:r.directionalShadowMap.length,numPointLightShadows:r.pointShadowMap.length,numSpotLightShadows:r.spotShadowMap.length,numSpotLightShadowsWithMaps:r.numSpotLightShadowsWithMaps,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:i.dithering,shadowMapEnabled:e.shadowMap.enabled&&o.length>0,shadowMapType:e.shadowMap.type,toneMapping:i.toneMapped?e.toneMapping:Pr,useLegacyLights:e.useLegacyLights,premultipliedAlpha:i.premultipliedAlpha,doubleSided:2===i.side,flipSided:i.side===xr,useDepthPacking:i.depthPacking>=0,depthPacking:i.depthPacking||0,index0AttributeName:i.index0AttributeName,extensionDerivatives:Re&&!0===i.extensions.derivatives,extensionFragDepth:Re&&!0===i.extensions.fragDepth,extensionDrawBuffers:Re&&!0===i.extensions.drawBuffers,extensionShaderTextureLOD:Re&&!0===i.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||n.has("EXT_shader_texture_lod"),customProgramCacheKey:i.customProgramCacheKey()}},getProgramCacheKey:function(t){let l=[];if(t.shaderID?l.push(t.shaderID):(l.push(t.customVertexShaderID),l.push(t.customFragmentShaderID)),void 0!==t.defines)for(let e in t.defines)l.push(e),l.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(function(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(l,t),function(e,t){r.disableAll(),t.isWebGL2&&r.enable(0),t.supportsVertexTextures&&r.enable(1),t.instancing&&r.enable(2),t.instancingColor&&r.enable(3),t.matcap&&r.enable(4),t.envMap&&r.enable(5),t.normalMapObjectSpace&&r.enable(6),t.normalMapTangentSpace&&r.enable(7),t.clearcoat&&r.enable(8),t.iridescence&&r.enable(9),t.alphaTest&&r.enable(10),t.vertexColors&&r.enable(11),t.vertexAlphas&&r.enable(12),t.vertexUv1s&&r.enable(13),t.vertexUv2s&&r.enable(14),t.vertexUv3s&&r.enable(15),t.vertexTangents&&r.enable(16),t.anisotropy&&r.enable(17),e.push(r.mask),r.disableAll(),t.fog&&r.enable(0),t.useFog&&r.enable(1),t.flatShading&&r.enable(2),t.logarithmicDepthBuffer&&r.enable(3),t.skinning&&r.enable(4),t.morphTargets&&r.enable(5),t.morphNormals&&r.enable(6),t.morphColors&&r.enable(7),t.premultipliedAlpha&&r.enable(8),t.shadowMapEnabled&&r.enable(9),t.useLegacyLights&&r.enable(10),t.doubleSided&&r.enable(11),t.flipSided&&r.enable(12),t.useDepthPacking&&r.enable(13),t.dithering&&r.enable(14),t.transmission&&r.enable(15),t.sheen&&r.enable(16),t.opaque&&r.enable(17),t.pointsUvs&&r.enable(18),e.push(r.mask)}(l,t),l.push(e.outputColorSpace)),l.push(t.customProgramCacheKey),l.join()},getUniforms:function(e){let t,l=c[e.type];if(l){let e=oR[l];t=vd.clone(e.uniforms)}else t=e.uniforms;return t},acquireProgram:function(t,l){let n;for(let e=0,t=o.length;e<t;
1e++){let t=o[e];if(t.cacheKey===l){n=t,++n.usedTimes;break}}return void 0===n&&(n=new rc(e,l,t,i),o.push(n)),n},releaseProgram:function(e){if(0==--e.usedTimes){let t=o.indexOf(e);o[t]=o[o.length-1],o.pop(),e.destroy()}},releaseShaderCache:function(e){s.remove(e)},programs:o,dispose:function(){s.dispose()}}}function Rc(){let e=new WeakMap;return{get:function(t){let l=e.get(t);return void 0===l&&(l={},e.set(t,l)),l},remove:function(t){e.delete(t)},update:function(t,l,n){e.get(t)[l]=n},dispose:function(){e=new WeakMap}}}function Uc(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function cc(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function pc(){let e=[],t=0,l=[],n=[],V=[];function i(l,n,V,i,a,r){let s=e[t];return void 0===s?(s={id:l.id,object:l,geometry:n,material:V,groupOrder:i,renderOrder:l.renderOrder,z:a,group:r},e[t]=s):(s.id=l.id,s.object=l,s.geometry=n,s.material=V,s.groupOrder=i,s.renderOrder=l.renderOrder,s.z=a,s.group=r),t++,s}return{opaque:l,transmissive:n,transparent:V,init:function(){t=0,l.length=0,n.length=0,V.length=0},push:function(e,t,a,r,s,o){let h=i(e,t,a,r,s,o);a.transmission>0?n.push(h):!0===a.transparent?V.push(h):l.push(h)},unshift:function(e,t,a,r,s,o){let h=i(e,t,a,r,s,o);a.transmission>0?n.unshift(h):!0===a.transparent?V.unshift(h):l.unshift(h)},finish:function(){for(let l=t,n=e.length;l<n;l++){let t=e[l];if(null===t.id)break;t.id=null,t.object=null,t.geometry=null,t.material=null,t.group=null}},sort:function(e,t){l.length>1&&l.sort(e||Uc),n.length>1&&n.sort(t||cc),V.length>1&&V.sort(t||cc)}}}function Zc(){let e=new WeakMap;return{get:function(t,l){let n,V=e.get(t);return void 0===V?(n=new pc,e.set(t,[n])):l>=V.length?(n=new pc,V.push(n)):n=V[l],n},dispose:function(){e=new WeakMap}}}function Wc(){let e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let l;switch(t.type){case"DirectionalLight":l={direction:new yo,color:new nd};break;case"SpotLight":l={position:new yo,direction:new yo,color:new nd,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":l={position:new yo,color:new nd,distance:0,decay:0};break;case"HemisphereLight":l={direction:new yo,skyColor:new nd,groundColor:new nd};break;case"RectAreaLight":l={color:new nd,position:new yo,halfWidth:new yo,halfHeight:new yo}}return e[t.id]=l,l}}}var mc=0;function Fc(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function Nc(e,t){let l=new Wc,n=function(){let e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let l;switch(t.type){case"DirectionalLight":case"SpotLight":l={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ro};break;case"PointLight":l={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ro,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=l,l}}}(),V={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let e=0;e<9;e++)V.probe.push(new yo);let i=new yo,a=new Uh,r=new Uh;return{setup:function(i,a){let r=0,s=0,o=0;for(let e=0;e<9;e++)V.probe[e].set(0,0,0);let h=0,d=0,R=0,U=0,c=0,p=0,Z=0,W=0,m=0,F=0;i.sort(Fc);let N=!0===a?Math.PI:1;for(let e=0,t=i.length;e<t;e++){let t=i[e],a=t.color,u=t.intensity,E=t.distance,b=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight)r+=a.r*u*N,s+=a.g*u*N,o+=a.b*u*N;else if(t.isLightProbe)for(let e=0;e<9;e++)V.probe[e].addScaledVector(t.sh.coefficients[e],u);else if(t.isDirectionalLight){let e=l.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity*N),t.castShadow){let e=t.shadow,l=n.get(t);
1l.shadowBias=e.bias,l.shadowNormalBias=e.normalBias,l.shadowRadius=e.radius,l.shadowMapSize=e.mapSize,V.directionalShadow[h]=l,V.directionalShadowMap[h]=b,V.directionalShadowMatrix[h]=t.shadow.matrix,p++}V.directional[h]=e,h++}else if(t.isSpotLight){let e=l.get(t);e.position.setFromMatrixPosition(t.matrixWorld),e.color.copy(a).multiplyScalar(u*N),e.distance=E,e.coneCos=Math.cos(t.angle),e.penumbraCos=Math.cos(t.angle*(1-t.penumbra)),e.decay=t.decay,V.spot[R]=e;let i=t.shadow;if(t.map&&(V.spotLightMap[m]=t.map,m++,i.updateMatrices(t),t.castShadow&&F++),V.spotLightMatrix[R]=i.matrix,t.castShadow){let e=n.get(t);e.shadowBias=i.bias,e.shadowNormalBias=i.normalBias,e.shadowRadius=i.radius,e.shadowMapSize=i.mapSize,V.spotShadow[R]=e,V.spotShadowMap[R]=b,W++}R++}else if(t.isRectAreaLight){let e=l.get(t);e.color.copy(a).multiplyScalar(u),e.halfWidth.set(.5*t.width,0,0),e.halfHeight.set(0,.5*t.height,0),V.rectArea[U]=e,U++}else if(t.isPointLight){let e=l.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity*N),e.distance=t.distance,e.decay=t.decay,t.castShadow){let e=t.shadow,l=n.get(t);l.shadowBias=e.bias,l.shadowNormalBias=e.normalBias,l.shadowRadius=e.radius,l.shadowMapSize=e.mapSize,l.shadowCameraNear=e.camera.near,l.shadowCameraFar=e.camera.far,V.pointShadow[d]=l,V.pointShadowMap[d]=b,V.pointShadowMatrix[d]=t.shadow.matrix,Z++}V.point[d]=e,d++}else if(t.isHemisphereLight){let e=l.get(t);e.skyColor.copy(t.color).multiplyScalar(u*N),e.groundColor.copy(t.groundColor).multiplyScalar(u*N),V.hemi[c]=e,c++}}U>0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(V.rectAreaLTC1=sR.LTC_FLOAT_1,V.rectAreaLTC2=sR.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(V.rectAreaLTC1=sR.LTC_HALF_1,V.rectAreaLTC2=sR.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),V.ambient[0]=r,V.ambient[1]=s,V.ambient[2]=o;let u=V.hash;(u.directionalLength!==h||u.pointLength!==d||u.spotLength!==R||u.rectAreaLength!==U||u.hemiLength!==c||u.numDirectionalShadows!==p||u.numPointShadows!==Z||u.numSpotShadows!==W||u.numSpotMaps!==m)&&(V.directional.length=h,V.spot.length=R,V.rectArea.length=U,V.point.length=d,V.hemi.length=c,V.directionalShadow.length=p,V.directionalShadowMap.length=p,V.pointShadow.length=Z,V.pointShadowMap.length=Z,V.spotShadow.length=W,V.spotShadowMap.length=W,V.directionalShadowMatrix.length=p,V.pointShadowMatrix.length=Z,V.spotLightMatrix.length=W+m-F,V.spotLightMap.length=m,V.numSpotLightShadowsWithMaps=F,u.directionalLength=h,u.pointLength=d,u.spotLength=R,u.rectAreaLength=U,u.hemiLength=c,u.numDirectionalShadows=p,u.numPointShadows=Z,u.numSpotShadows=W,u.numSpotMaps=m,V.version=mc++)},setupView:function(e,t){let l=0,n=0,s=0,o=0,h=0,d=t.matrixWorldInverse;for(let t=0,R=e.length;t<R;t++){let R=e[t];if(R.isDirectionalLight){let e=V.directional[l];e.direction.setFromMatrixPosition(R.matrixWorld),i.setFromMatrixPosition(R.target.matrixWorld),e.direction.sub(i),e.direction.transformDirection(d),l++}else if(R.isSpotLight){let e=V.spot[s];e.position.setFromMatrixPosition(R.matrixWorld),e.position.applyMatrix4(d),e.direction.setFromMatrixPosition(R.matrixWorld),i.setFromMatrixPosition(R.target.matrixWorld),e.direction.sub(i),e.direction.transformDirection(d),s++}else if(R.isRectAreaLight){let e=V.rectArea[o];e.position.setFromMatrixPosition(R.matrixWorld),e.position.applyMatrix4(d),r.identity(),a.copy(R.matrixWorld),a.premultiply(d),r.extractRotation(a),e.halfWidth.set(.5*R.width,0,0),e.halfHeight.set(0,.5*R.height,0),e.halfWidth.applyMatrix4(r),e.halfHeight.applyMatrix4(r),o++}else if(R.isPointLight){let e=V.point[n];e.position.setFromMatrixPosition(R.matrixWorld),e.position.applyMatrix4(d),n++}else if(R.isHemisphereLight){let e=V.hemi[h];e.direction.setFromMatrixPosition(R.matrixWorld),e.direction.transformDirection(d),h++}}},state:V}}function uc(e,t){let l=new Nc(e,t),n=[],V=[];return{init:function(){n.length=0,V.length=0},state:{lightsArray:n,shadowsArray:V,lights:l},setupLights:function(e){l.setup(n,e)},setupLightsView:function(e){l.setupView(n,e)},pushLight:function(e){n.push(e)},pushShadow:function(e){V.push(e)}}}function Ec(e,t){let l=new WeakMap;return{get:function(n,V=0){let i,a=l.get(n);return void 0===a?(i=new uc(e,t),l.set(n,[i])):V>=a.length?(i=new uc(e,t),a.push(i)):i=a[V],i}
1,dispose:function(){l=new WeakMap}}}var bc=class extends qh{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}},Sc=class extends qh{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};function Jc(e,t,l){let n=new nR,V=new Ro,i=new Ro,a=new Xo,r=new bc({depthPacking:3201}),s=new Sc,o={},h=l.maxTextureSize,d={[Yr]:xr,[xr]:Yr,[Qr]:2},R=new Id({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Ro},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),U=R.clone();U.defines.HORIZONTAL_PASS=1;let c=new Fd;c.setAttribute("position",new sd(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let p=new yd(c,R),Z=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Gr;let W=this.type;function m(l,n){let i=t.update(p);R.defines.VSM_SAMPLES!==l.blurSamples&&(R.defines.VSM_SAMPLES=l.blurSamples,U.defines.VSM_SAMPLES=l.blurSamples,R.needsUpdate=!0,U.needsUpdate=!0),null===l.mapPass&&(l.mapPass=new wo(V.x,V.y)),R.uniforms.shadow_pass.value=l.map.texture,R.uniforms.resolution.value=l.mapSize,R.uniforms.radius.value=l.radius,e.setRenderTarget(l.mapPass),e.clear(),e.renderBufferDirect(n,null,i,R,p,null),U.uniforms.shadow_pass.value=l.mapPass.texture,U.uniforms.resolution.value=l.mapSize,U.uniforms.radius.value=l.radius,e.setRenderTarget(l.map),e.clear(),e.renderBufferDirect(n,null,i,U,p,null)}function F(t,l,n,V){let i=null,a=!0===n.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==a)i=a;else if(i=!0===n.isPointLight?s:r,e.localClippingEnabled&&!0===l.clipShadows&&Array.isArray(l.clippingPlanes)&&0!==l.clippingPlanes.length||l.displacementMap&&0!==l.displacementScale||l.alphaMap&&l.alphaTest>0||l.map&&l.alphaTest>0){let e=i.uuid,t=l.uuid,n=o[e];void 0===n&&(n={},o[e]=n);let V=n[t];void 0===V&&(V=i.clone(),n[t]=V),i=V}if(i.visible=l.visible,i.wireframe=l.wireframe,i.side=V===kr?null!==l.shadowSide?l.shadowSide:l.side:null!==l.shadowSide?l.shadowSide:d[l.side],i.alphaMap=l.alphaMap,i.alphaTest=l.alphaTest,i.map=l.map,i.clipShadows=l.clipShadows,i.clippingPlanes=l.clippingPlanes,i.clipIntersection=l.clipIntersection,i.displacementMap=l.displacementMap,i.displacementScale=l.displacementScale,i.displacementBias=l.displacementBias,i.wireframeLinewidth=l.wireframeLinewidth,i.linewidth=l.linewidth,!0===n.isPointLight&&!0===i.isMeshDistanceMaterial){e.properties.get(i).light=n}return i}function N(l,V,i,a,r){if(!1===l.visible)return;if(l.layers.test(V.layers)&&(l.isMesh||l.isLine||l.isPoints)&&(l.castShadow||l.receiveShadow&&r===kr)&&(!l.frustumCulled||n.intersectsObject(l))){l.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,l.matrixWorld);let n=t.update(l),V=l.material;if(Array.isArray(V)){let t=n.groups;for(let s=0,o=t.length;s<o;s++){let o=t[s],h=V[o.materialIndex];if(h&&h.visible){let t=F(l,h,a,r);
1e.renderBufferDirect(i,null,n,t,l,o)}}}else if(V.visible){let t=F(l,V,a,r);e.renderBufferDirect(i,null,n,t,l,null)}}let s=l.children;for(let e=0,t=s.length;e<t;e++)N(s[e],V,i,a,r)}this.render=function(t,l,r){if(!1===Z.enabled||!1===Z.autoUpdate&&!1===Z.needsUpdate||0===t.length)return;let s=e.getRenderTarget(),o=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),R=e.state;R.setBlending(0),R.buffers.color.setClear(1,1,1,1),R.buffers.depth.setTest(!0),R.setScissorTest(!1);let U=W!==kr&&this.type===kr,c=W===kr&&this.type!==kr;for(let s=0,o=t.length;s<o;s++){let o=t[s],d=o.shadow;if(void 0===d){console.warn("THREE.WebGLShadowMap:",o,"has no shadow.");continue}if(!1===d.autoUpdate&&!1===d.needsUpdate)continue;V.copy(d.mapSize);let p=d.getFrameExtents();if(V.multiply(p),i.copy(d.mapSize),(V.x>h||V.y>h)&&(V.x>h&&(i.x=Math.floor(h/p.x),V.x=i.x*p.x,d.mapSize.x=i.x),V.y>h&&(i.y=Math.floor(h/p.y),V.y=i.y*p.y,d.mapSize.y=i.y)),null===d.map||!0===U||!0===c){let e=this.type!==kr?{minFilter:ss,magFilter:ss}:{};null!==d.map&&d.map.dispose(),d.map=new wo(V.x,V.y,e),d.map.texture.name=o.name+".shadowMap",d.camera.updateProjectionMatrix()}e.setRenderTarget(d.map),e.clear();let Z=d.getViewportCount();for(let e=0;e<Z;e++){let t=d.getViewport(e);a.set(i.x*t.x,i.y*t.y,i.x*t.z,i.y*t.w),R.viewport(a),d.updateMatrices(o,e),n=d.getFrustum(),N(l,r,d.camera,o,this.type)}!0!==d.isPointLightShadow&&this.type===kr&&m(d,r),d.needsUpdate=!1}W=this.type,Z.needsUpdate=!1,e.setRenderTarget(s,o,d)}}function Tc(e,t,l){let n=l.isWebGL2;let V=new function(){let t=!1,l=new Xo,n=null,V=new Xo(0,0,0,0);return{setMask:function(l){n!==l&&!t&&(e.colorMask(l,l,l,l),n=l)},setLocked:function(e){t=e},setClear:function(t,n,i,a,r){!0===r&&(t*=a,n*=a,i*=a),l.set(t,n,i,a),!1===V.equals(l)&&(e.clearColor(t,n,i,a),V.copy(l))},reset:function(){t=!1,n=null,V.set(-1,0,0,0)}}},i=new function(){let t=!1,l=null,n=null,V=null;return{setTest:function(t){t?g(e.DEPTH_TEST):B(e.DEPTH_TEST)},setMask:function(n){l!==n&&!t&&(e.depthMask(n),l=n)},setFunc:function(t){if(n!==t){switch(t){case 0:e.depthFunc(e.NEVER);break;case 1:e.depthFunc(e.ALWAYS);break;case 2:e.depthFunc(e.LESS);break;case 3:default:e.depthFunc(e.LEQUAL);break;case 4:e.depthFunc(e.EQUAL);break;case 5:e.depthFunc(e.GEQUAL);break;case 6:e.depthFunc(e.GREATER);break;case 7:e.depthFunc(e.NOTEQUAL)}n=t}},setLocked:function(e){t=e},setClear:function(t){V!==t&&(e.clearDepth(t),V=t)},reset:function(){t=!1,l=null,n=null,V=null}}},a=new function(){let t=!1,l=null,n=null,V=null,i=null,a=null,r=null,s=null,o=null;return{setTest:function(l){t||(l?g(e.STENCIL_TEST):B(e.STENCIL_TEST))},setMask:function(n){l!==n&&!t&&(e.stencilMask(n),l=n)},setFunc:function(t,l,a){(n!==t||V!==l||i!==a)&&(e.stencilFunc(t,l,a),n=t,V=l,i=a)},setOp:function(t,l,n){(a!==t||r!==l||s!==n)&&(e.stencilOp(t,l,n),a=t,r=l,s=n)},setLocked:function(e){t=e},setClear:function(t){o!==t&&(e.clearStencil(t),o=t)},reset:function(){t=!1,l=null,n=null,V=null,i=null,a=null,r=null,s=null,o=null}}},r=new WeakMap,s=new WeakMap,o={},h={},d=new WeakMap,R=[],U=null,c=!1,p=null,Z=null,W=null,m=null,F=null,N=null,u=null,E=!1,b=null,S=null,J=null,T=null,G=null,M=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),k=!1,Y=0,x=e.getParameter(e.VERSION);-1!==x.indexOf("WebGL")?(Y=parseFloat(/^WebGL (\d)/.exec(x)[1]),k=Y>=1):-1!==x.indexOf("OpenGL ES")&&(Y=parseFloat(/^OpenGL ES (\d)/.exec(x)[1]),k=Y>=2);let Q=null,X={},w=e.getParameter(e.SCISSOR_BOX),f=e.getParameter(e.VIEWPORT),z=(new Xo).fromArray(w),y=(new Xo).fromArray(f);function C(t,l,V,i){let a=new Uint8Array(4),r=e.createTexture();e.bindTexture(t,r),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let r=0;r<V;r++)!n||t!==e.TEXTURE_3D&&t!==e.TEXTURE_2D_ARRAY?e.texImage2D(l+r,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,a):e.texImage3D(l,0,e.RGBA,1,1,i,0,e.RGBA,e.UNSIGNED_BYTE,a);return r}let j={};function g(t){!0!==o[t]&&(e.enable(t),o[t]=!0)}function B(t){!1!==o[t]&&(e.disable(t),o[t]=!1)}j[e.TEXTURE_2D]=C(e.TEXTURE_2D,e.TEXTURE_2D,1),j[e.TEXTURE_CUBE_MAP]=C(e.TEXTURE_CUBE_MAP,e.TEXTURE_CUBE_MAP_POSITIVE_X,6),n&&(j[e.TEXTURE_2D_ARRAY]=C(e.TEXTURE_2D_ARRAY,e.TEXTURE_2D_ARRAY,1,1),j[e.TEXTURE_3D]=C(e.TEXTURE_3D,e.TEXTURE_3D,1,1)),V.setClear(0,0,0,1),i.setClear(1),a.setClear(0),g(e.DEPTH_TEST),i.setFunc(3),D(!1),O(1),g(e.CULL_FACE),I(0);let H={[Xr]:e.FUNC_ADD,[wr]:e.FUNC_SUBTRACT,[fr]:e.FUNC_REVERSE_SUBTRACT};if(n)H[103]=e.MIN,H[104]=e.MAX;else{let e=t.get("EXT_blend_minmax");
1null!==e&&(H[103]=e.MIN_EXT,H[104]=e.MAX_EXT)}let v={[zr]:e.ZERO,[yr]:e.ONE,[Cr]:e.SRC_COLOR,[gr]:e.SRC_ALPHA,[Or]:e.SRC_ALPHA_SATURATE,[Ir]:e.DST_COLOR,[Hr]:e.DST_ALPHA,[jr]:e.ONE_MINUS_SRC_COLOR,[Br]:e.ONE_MINUS_SRC_ALPHA,[Dr]:e.ONE_MINUS_DST_COLOR,[vr]:e.ONE_MINUS_DST_ALPHA};function I(t,l,n,V,i,a,r,s){if(0!==t){if(!1===c&&(g(e.BLEND),c=!0),5===t)i=i||l,a=a||n,r=r||V,(l!==Z||i!==F)&&(e.blendEquationSeparate(H[l],H[i]),Z=l,F=i),(n!==W||V!==m||a!==N||r!==u)&&(e.blendFuncSeparate(v[n],v[V],v[a],v[r]),W=n,m=V,N=a,u=r),p=t,E=!1;else if(t!==p||s!==E){if((Z!==Xr||F!==Xr)&&(e.blendEquation(e.FUNC_ADD),Z=Xr,F=Xr),s)switch(t){case 1:e.blendFuncSeparate(e.ONE,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA);break;case 2:e.blendFunc(e.ONE,e.ONE);break;case 3:e.blendFuncSeparate(e.ZERO,e.ONE_MINUS_SRC_COLOR,e.ZERO,e.ONE);break;case 4:e.blendFuncSeparate(e.ZERO,e.SRC_COLOR,e.ZERO,e.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}else switch(t){case 1:e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA);break;case 2:e.blendFunc(e.SRC_ALPHA,e.ONE);break;case 3:e.blendFuncSeparate(e.ZERO,e.ONE_MINUS_SRC_COLOR,e.ZERO,e.ONE);break;case 4:e.blendFunc(e.ZERO,e.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}W=null,m=null,N=null,u=null,p=t,E=s}}else!0===c&&(B(e.BLEND),c=!1)}function D(t){b!==t&&(t?e.frontFace(e.CW):e.frontFace(e.CCW),b=t)}function O(t){0!==t?(g(e.CULL_FACE),t!==S&&(1===t?e.cullFace(e.BACK):2===t?e.cullFace(e.FRONT):e.cullFace(e.FRONT_AND_BACK))):B(e.CULL_FACE),S=t}function _(t,l,n){t?(g(e.POLYGON_OFFSET_FILL),(T!==l||G!==n)&&(e.polygonOffset(l,n),T=l,G=n)):B(e.POLYGON_OFFSET_FILL)}return{buffers:{color:V,depth:i,stencil:a},enable:g,disable:B,bindFramebuffer:function(t,l){return h[t]!==l&&(e.bindFramebuffer(t,l),h[t]=l,n&&(t===e.DRAW_FRAMEBUFFER&&(h[e.FRAMEBUFFER]=l),t===e.FRAMEBUFFER&&(h[e.DRAW_FRAMEBUFFER]=l)),!0)},drawBuffers:function(n,V){let i=R,a=!1;if(n)if(i=d.get(V),void 0===i&&(i=[],d.set(V,i)),n.isWebGLMultipleRenderTargets){let t=n.texture;if(i.length!==t.length||i[0]!==e.COLOR_ATTACHMENT0){for(let l=0,n=t.length;l<n;l++)i[l]=e.COLOR_ATTACHMENT0+l;i.length=t.length,a=!0}}else i[0]!==e.COLOR_ATTACHMENT0&&(i[0]=e.COLOR_ATTACHMENT0,a=!0);else i[0]!==e.BACK&&(i[0]=e.BACK,a=!0);a&&(l.isWebGL2?e.drawBuffers(i):t.get("WEBGL_draw_buffers").drawBuffersWEBGL(i))},useProgram:function(t){return U!==t&&(e.useProgram(t),U=t,!0)},setBlending:I,setMaterial:function(t,l){2===t.side?B(e.CULL_FACE):g(e.CULL_FACE);let n=t.side===xr;l&&(n=!n),D(n),1===t.blending&&!1===t.transparent?I(0):I(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),i.setFunc(t.depthFunc),i.setTest(t.depthTest),i.setMask(t.depthWrite),V.setMask(t.colorWrite);let r=t.stencilWrite;a.setTest(r),r&&(a.setMask(t.stencilWriteMask),a.setFunc(t.stencilFunc,t.stencilRef,t.stencilFuncMask),a.setOp(t.stencilFail,t.stencilZFail,t.stencilZPass)),_(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits),!0===t.alphaToCoverage?g(e.SAMPLE_ALPHA_TO_COVERAGE):B(e.SAMPLE_ALPHA_TO_COVERAGE)},setFlipSided:D,setCullFace:O,setLineWidth:function(t){t!==J&&(k&&e.lineWidth(t),J=t)},setPolygonOffset:_,setScissorTest:function(t){t?g(e.SCISSOR_TEST):B(e.SCISSOR_TEST)},activeTexture:function(t){void 0===t&&(t=e.TEXTURE0+M-1),Q!==t&&(e.activeTexture(t),Q=t)},bindTexture:function(t,l,n){void 0===n&&(n=null===Q?e.TEXTURE0+M-1:Q);let V=X[n];void 0===V&&(V={type:void 0,texture:void 0},X[n]=V),(V.type!==t||V.texture!==l)&&(Q!==n&&(e.activeTexture(n),Q=n),e.bindTexture(t,l||j[t]),V.type=t,V.texture=l)},unbindTexture:function(){let t=X[Q];void 0!==t&&void 0!==t.type&&(e.bindTexture(t.type,null),t.type=void 0,t.texture=void 0)},compressedTexImage2D:function(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},compressedTexImage3D:function(){try{e.compressedTexImage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage2D:function(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage3D:function(){try{e.texImage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},updateUBOMapping:function(t,l){let n=s.get(l);void 0===n&&(n=new WeakMap,s.set(l,n));let V=n.get(t);void 0===V&&(V=e.getUniformBlockIndex(l,t.name),n.set(t,V))},uniformBlockBinding:function(t,l){let n=s.get(l).get(t);r.get(l)!==n&&(e.uniformBlockBinding(l,n,t.__bindingPointIndex),r.set(l,n))},texStorage2D:function(){try{e.texStorage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texStorage3D:function(){try{e.texStorage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texSubImage2D:function(){try{e.texSubImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texSubImage3D:function(){try{e.texSubImage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},compressedTexSubImage2D:function(){try{e.compressedTexSubImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},compressedTexSubImage3D:function(){try{e.compressedTexSubImage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},scissor:function(t){!1===z.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),z.copy(t))},viewport:function(t){!1===y.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),y.copy(t))},reset:function(){e.disable(e.BLEND),e.disable(e.CULL_FACE),e.disable(e.DEPTH_TEST),e.disable(e.POLYGON_OFFSET_FILL),e.disable(e.SCISSOR_TEST),e.disable(e.STENCIL_TEST),e.disable(e.SAMPLE_ALPHA_TO_COVERAGE),e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ONE,e.ZERO),e.blendFuncSeparate(e.ONE,e.ZERO,e.ONE,e.ZERO),e.colorMask(!0,!0,
1!0,!0),e.clearColor(0,0,0,0),e.depthMask(!0),e.depthFunc(e.LESS),e.clearDepth(1),e.stencilMask(4294967295),e.stencilFunc(e.ALWAYS,0,4294967295),e.stencilOp(e.KEEP,e.KEEP,e.KEEP),e.clearStencil(0),e.cullFace(e.BACK),e.frontFace(e.CCW),e.polygonOffset(0,0),e.activeTexture(e.TEXTURE0),e.bindFramebuffer(e.FRAMEBUFFER,null),!0===n&&(e.bindFramebuffer(e.DRAW_FRAMEBUFFER,null),e.bindFramebuffer(e.READ_FRAMEBUFFER,null)),e.useProgram(null),e.lineWidth(1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.viewport(0,0,e.canvas.width,e.canvas.height),o={},Q=null,X={},h={},d=new WeakMap,R=[],U=null,c=!1,p=null,Z=null,W=null,m=null,F=null,N=null,u=null,E=!1,b=null,S=null,J=null,T=null,G=null,z.set(0,0,e.canvas.width,e.canvas.height),y.set(0,0,e.canvas.width,e.canvas.height),V.reset(),i.reset(),a.reset()}}}function Gc(e,t,l,n,V,i,a){let r,s=V.isWebGL2,o=V.maxTextures,h=V.maxCubemapSize,d=V.maxTextureSize,R=V.maxSamples,U=t.has("WEBGL_multisampled_render_to_texture")?t.get("WEBGL_multisampled_render_to_texture"):null,c=!(typeof navigator>"u")&&/OculusBrowser/g.test(navigator.userAgent),p=new WeakMap,Z=new WeakMap,W=!1;try{W=typeof OffscreenCanvas<"u"&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch{}function m(e,t){return W?new OffscreenCanvas(e,t):Zo("canvas")}function F(e,t,l,n){let V=1;if((e.width>n||e.height>n)&&(V=n/Math.max(e.width,e.height)),V<1||!0===t){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let n=t?ro:Math.floor,i=n(V*e.width),a=n(V*e.height);void 0===r&&(r=m(i,a));let s=l?m(i,a):r;return s.width=i,s.height=a,s.getContext("2d").drawImage(e,0,0,i,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+i+"x"+a+")."),s}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function N(e){return ao(e.width)&&ao(e.height)}function u(e,t){return e.generateMipmaps&&t&&e.minFilter!==ss&&e.minFilter!==ds}function E(t){e.generateMipmap(t)}function b(l,n,V,i,a=!1){if(!1===s)return n;if(null!==l){if(void 0!==e[l])return e[l];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+l+"'")}let r=n;return n===e.RED&&(V===e.FLOAT&&(r=e.R32F),V===e.HALF_FLOAT&&(r=e.R16F),V===e.UNSIGNED_BYTE&&(r=e.R8)),n===e.RG&&(V===e.FLOAT&&(r=e.RG32F),V===e.HALF_FLOAT&&(r=e.RG16F),V===e.UNSIGNED_BYTE&&(r=e.RG8)),n===e.RGBA&&(V===e.FLOAT&&(r=e.RGBA32F),V===e.HALF_FLOAT&&(r=e.RGBA16F),V===e.UNSIGNED_BYTE&&(r=i===ws&&!1===a?e.SRGB8_ALPHA8:e.RGBA8),V===e.UNSIGNED_SHORT_4_4_4_4&&(r=e.RGBA4),V===e.UNSIGNED_SHORT_5_5_5_1&&(r=e.RGB5_A1)),(r===e.R16F||r===e.R32F||r===e.RG16F||r===e.RG32F||r===e.RGBA16F||r===e.RGBA32F)&&t.get("EXT_color_buffer_float"),r}function S(e,t,l){return!0===u(e,l)||e.isFramebufferTexture&&e.minFilter!==ss&&e.minFilter!==ds?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function J(t){return t===ss||1004===t||t===hs?e.NEAREST:e.LINEAR}function T(e){let t=e.target;t.removeEventListener("dispose",T),function(e){let t=n.get(e);if(void 0===t.__webglInit)return;let l=e.source,V=Z.get(l);if(V){let n=V[t.__cacheKey];n.usedTimes--,0===n.usedTimes&&M(e),0===Object.keys(V).length&&Z.delete(l)}n.remove(e)}(t),t.isVideoTexture&&p.delete(t)}function G(t){let l=t.target;l.removeEventListener("dispose",G),function(t){let l=t.texture,V=n.get(t),i=n.get(l);if(void 0!==i.__webglTexture&&(e.deleteTexture(i.__webglTexture),a.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++)e.deleteFramebuffer(V.__webglFramebuffer[t]),V.__webglDepthbuffer&&e.deleteRenderbuffer(V.__webglDepthbuffer[t]);else{if(e.deleteFramebuffer(V.__webglFramebuffer),V.__webglDepthbuffer&&e.deleteRenderbuffer(V.__webglDepthbuffer),V.__webglMultisampledFramebuffer&&e.deleteFramebuffer(V.__webglMultisampledFramebuffer),V.__webglColorRenderbuffer)for(let t=0;
1t<V.__webglColorRenderbuffer.length;t++)V.__webglColorRenderbuffer[t]&&e.deleteRenderbuffer(V.__webglColorRenderbuffer[t]);V.__webglDepthRenderbuffer&&e.deleteRenderbuffer(V.__webglDepthRenderbuffer)}if(t.isWebGLMultipleRenderTargets)for(let t=0,V=l.length;t<V;t++){let V=n.get(l[t]);V.__webglTexture&&(e.deleteTexture(V.__webglTexture),a.memory.textures--),n.remove(l[t])}n.remove(l),n.remove(t)}(l)}function M(t){let l=n.get(t);e.deleteTexture(l.__webglTexture);let V=t.source;delete Z.get(V)[l.__cacheKey],a.memory.textures--}let k=0;function Y(t,V){let i=n.get(t);if(t.isVideoTexture&&function(e){let t=a.render.frame;p.get(e)!==t&&(p.set(e,t),e.update())}(t),!1===t.isRenderTargetTexture&&t.version>0&&i.__version!==t.version){let e=t.image;if(null===e)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==e.complete)return void z(i,t,V);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}l.bindTexture(e.TEXTURE_2D,i.__webglTexture,e.TEXTURE0+V)}let x={[is]:e.REPEAT,[as]:e.CLAMP_TO_EDGE,[rs]:e.MIRRORED_REPEAT},Q={[ss]:e.NEAREST,[os]:e.NEAREST_MIPMAP_NEAREST,[hs]:e.NEAREST_MIPMAP_LINEAR,[ds]:e.LINEAR,[Rs]:e.LINEAR_MIPMAP_NEAREST,[Us]:e.LINEAR_MIPMAP_LINEAR},X={[Cs]:e.NEVER,[Ds]:e.ALWAYS,[js]:e.LESS,[Bs]:e.LEQUAL,[gs]:e.EQUAL,[Is]:e.GEQUAL,[Hs]:e.GREATER,[vs]:e.NOTEQUAL};function w(l,i,a){if(a?(e.texParameteri(l,e.TEXTURE_WRAP_S,x[i.wrapS]),e.texParameteri(l,e.TEXTURE_WRAP_T,x[i.wrapT]),(l===e.TEXTURE_3D||l===e.TEXTURE_2D_ARRAY)&&e.texParameteri(l,e.TEXTURE_WRAP_R,x[i.wrapR]),e.texParameteri(l,e.TEXTURE_MAG_FILTER,Q[i.magFilter]),e.texParameteri(l,e.TEXTURE_MIN_FILTER,Q[i.minFilter])):(e.texParameteri(l,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(l,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),(l===e.TEXTURE_3D||l===e.TEXTURE_2D_ARRAY)&&e.texParameteri(l,e.TEXTURE_WRAP_R,e.CLAMP_TO_EDGE),(i.wrapS!==as||i.wrapT!==as)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(l,e.TEXTURE_MAG_FILTER,J(i.magFilter)),e.texParameteri(l,e.TEXTURE_MIN_FILTER,J(i.minFilter)),i.minFilter!==ss&&i.minFilter!==ds&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),i.compareFunction&&(e.texParameteri(l,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(l,e.TEXTURE_COMPARE_FUNC,X[i.compareFunction])),!0===t.has("EXT_texture_filter_anisotropic")){let a=t.get("EXT_texture_filter_anisotropic");if(i.magFilter===ss||i.minFilter!==hs&&i.minFilter!==Us||i.type===ms&&!1===t.has("OES_texture_float_linear")||!1===s&&i.type===Fs&&!1===t.has("OES_texture_half_float_linear"))return;(i.anisotropy>1||n.get(i).__currentAnisotropy)&&(e.texParameterf(l,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(i.anisotropy,V.getMaxAnisotropy())),n.get(i).__currentAnisotropy=i.anisotropy)}}function f(t,l){let n=!1;void 0===t.__webglInit&&(t.__webglInit=!0,l.addEventListener("dispose",T));let V=l.source,i=Z.get(V);void 0===i&&(i={},Z.set(V,i));let r=function(e){let t=[];
1return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}(l);if(r!==t.__cacheKey){void 0===i[r]&&(i[r]={texture:e.createTexture(),usedTimes:0},a.memory.textures++,n=!0),i[r].usedTimes++;let V=i[t.__cacheKey];void 0!==V&&(i[t.__cacheKey].usedTimes--,0===V.usedTimes&&M(l)),t.__cacheKey=r,t.__webglTexture=i[r].texture}return n}function z(t,V,a){let r=e.TEXTURE_2D;(V.isDataArrayTexture||V.isCompressedArrayTexture)&&(r=e.TEXTURE_2D_ARRAY),V.isData3DTexture&&(r=e.TEXTURE_3D);let o=f(t,V),h=V.source;l.bindTexture(r,t.__webglTexture,e.TEXTURE0+a);let R=n.get(h);if(h.version!==R.__version||!0===o){l.activeTexture(e.TEXTURE0+a),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,V.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,V.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,V.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);let t=function(e){return!s&&(e.wrapS!==as||e.wrapT!==as||e.minFilter!==ss&&e.minFilter!==ds)}(V)&&!1===N(V.image),n=F(V.image,t,!1,d);n=H(V,n);let U=N(n)||s,c=i.convert(V.format,V.colorSpace),p=i.convert(V.type),Z=b(V.internalFormat,c,p,V.colorSpace);w(r,V,U);let W,m=V.mipmaps,J=s&&!0!==V.isVideoTexture,T=void 0===R.__version||!0===o,G=S(V,n,U);if(V.isDepthTexture)Z=e.DEPTH_COMPONENT,s?Z=V.type===ms?e.DEPTH_COMPONENT32F:V.type===Ws?e.DEPTH_COMPONENT24:V.type===Ns?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT16:V.type===ms&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),V.format===Es&&Z===e.DEPTH_COMPONENT&&V.type!==ps&&V.type!==Ws&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),V.type=Ws,p=i.convert(V.type)),V.format===bs&&Z===e.DEPTH_COMPONENT&&(Z=e.DEPTH_STENCIL,V.type!==Ns&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),V.type=Ns,p=i.convert(V.type))),T&&(J?l.texStorage2D(e.TEXTURE_2D,1,Z,n.width,n.height):l.texImage2D(e.TEXTURE_2D,0,Z,n.width,n.height,0,c,p,null));else if(V.isDataTexture)if(m.length>0&&U){J&&T&&l.texStorage2D(e.TEXTURE_2D,G,Z,m[0].width,m[0].height);for(let t=0,n=m.length;t<n;t++)W=m[t],J?l.texSubImage2D(e.TEXTURE_2D,t,0,0,W.width,W.height,c,p,W.data):l.texImage2D(e.TEXTURE_2D,t,Z,W.width,W.height,0,c,p,W.data);V.generateMipmaps=!1}else J?(T&&l.texStorage2D(e.TEXTURE_2D,G,Z,n.width,n.height),l.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,c,p,n.data)):l.texImage2D(e.TEXTURE_2D,0,Z,n.width,n.height,0,c,p,n.data);else if(V.isCompressedTexture)if(V.isCompressedArrayTexture){J&&T&&l.texStorage3D(e.TEXTURE_2D_ARRAY,G,Z,m[0].width,m[0].height,n.depth);for(let t=0,i=m.length;t<i;t++)W=m[t],V.format!==us?null!==c?J?l.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,W.width,W.height,n.depth,c,W.data,0,0):l.compressedTexImage3D(e.TEXTURE_2D_ARRAY,t,Z,W.width,W.height,n.depth,0,W.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):J?l.texSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,W.width,W.height,n.depth,c,p,W.data):l.texImage3D(e.TEXTURE_2D_ARRAY,t,Z,W.width,W.height,n.depth,0,c,p,W.data)}else{J&&T&&l.texStorage2D(e.TEXTURE_2D,G,Z,m[0].width,m[0].height);for(let t=0,n=m.length;t<n;t++)W=m[t],V.format!==us?null!==c?J?l.compressedTexSubImage2D(e.TEXTURE_2D,t,0,0,W.width,W.height,c,W.data):l.compressedTexImage2D(e.TEXTURE_2D,t,Z,W.width,W.height,0,W.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):J?l.texSubImage2D(e.TEXTURE_2D,t,0,0,W.width,W.height,c,p,W.data):l.texImage2D(e.TEXTURE_2D,t,Z,W.width,W.height,0,c,p,W.data)}else if(V.isDataArrayTexture)J?(T&&l.texStorage3D(e.TEXTURE_2D_ARRAY,G,Z,n.width,n.height,n.depth),l.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,n.width,n.height,n.depth,c,p,n.data)):l.texImage3D(e.TEXTURE_2D_ARRAY,0,Z,n.width,n.height,n.depth,0,c,p,n.data);
1else if(V.isData3DTexture)J?(T&&l.texStorage3D(e.TEXTURE_3D,G,Z,n.width,n.height,n.depth),l.texSubImage3D(e.TEXTURE_3D,0,0,0,0,n.width,n.height,n.depth,c,p,n.data)):l.texImage3D(e.TEXTURE_3D,0,Z,n.width,n.height,n.depth,0,c,p,n.data);else if(V.isFramebufferTexture){if(T)if(J)l.texStorage2D(e.TEXTURE_2D,G,Z,n.width,n.height);else{let t=n.width,V=n.height;for(let n=0;n<G;n++)l.texImage2D(e.TEXTURE_2D,n,Z,t,V,0,c,p,null),t>>=1,V>>=1}}else if(m.length>0&&U){J&&T&&l.texStorage2D(e.TEXTURE_2D,G,Z,m[0].width,m[0].height);for(let t=0,n=m.length;t<n;t++)W=m[t],J?l.texSubImage2D(e.TEXTURE_2D,t,0,0,c,p,W):l.texImage2D(e.TEXTURE_2D,t,Z,c,p,W);V.generateMipmaps=!1}else J?(T&&l.texStorage2D(e.TEXTURE_2D,G,Z,n.width,n.height),l.texSubImage2D(e.TEXTURE_2D,0,0,0,c,p,n)):l.texImage2D(e.TEXTURE_2D,0,Z,c,p,n);u(V,U)&&E(r),R.__version=h.version,V.onUpdate&&V.onUpdate(V)}t.__version=V.version}function y(t,V,a,r,s){let o=i.convert(a.format,a.colorSpace),h=i.convert(a.type),d=b(a.internalFormat,o,h,a.colorSpace);n.get(V).__hasExternalTextures||(s===e.TEXTURE_3D||s===e.TEXTURE_2D_ARRAY?l.texImage3D(s,0,d,V.width,V.height,V.depth,0,o,h,null):l.texImage2D(s,0,d,V.width,V.height,0,o,h,null)),l.bindFramebuffer(e.FRAMEBUFFER,t),B(V)?U.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,r,s,n.get(a).__webglTexture,0,g(V)):(s===e.TEXTURE_2D||s>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&s<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,r,s,n.get(a).__webglTexture,0),l.bindFramebuffer(e.FRAMEBUFFER,null)}function C(t,l,n){if(e.bindRenderbuffer(e.RENDERBUFFER,t),l.depthBuffer&&!l.stencilBuffer){let V=e.DEPTH_COMPONENT16;if(n||B(l)){let t=l.depthTexture;t&&t.isDepthTexture&&(t.type===ms?V=e.DEPTH_COMPONENT32F:t.type===Ws&&(V=e.DEPTH_COMPONENT24));let n=g(l);B(l)?U.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,n,V,l.width,l.height):e.renderbufferStorageMultisample(e.RENDERBUFFER,n,V,l.width,l.height)}else e.renderbufferStorage(e.RENDERBUFFER,V,l.width,l.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)}else if(l.depthBuffer&&l.stencilBuffer){let V=g(l);n&&!1===B(l)?e.renderbufferStorageMultisample(e.RENDERBUFFER,V,e.DEPTH24_STENCIL8,l.width,l.height):B(l)?U.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,V,e.DEPTH24_STENCIL8,l.width,l.height):e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,l.width,l.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)}else{let t=!0===l.isWebGLMultipleRenderTargets?l.texture:[l.texture];for(let V=0;V<t.length;V++){let a=t[V],r=i.convert(a.format,a.colorSpace),s=i.convert(a.type),o=b(a.internalFormat,r,s,a.colorSpace),h=g(l);n&&!1===B(l)?e.renderbufferStorageMultisample(e.RENDERBUFFER,h,o,l.width,l.height):B(l)?U.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,h,o,l.width,l.height):e.renderbufferStorage(e.RENDERBUFFER,o,l.width,l.height)}}e.bindRenderbuffer(e.RENDERBUFFER,null)}function j(t){let V=n.get(t),i=!0===t.isWebGLCubeRenderTarget;if(t.depthTexture&&!V.__autoAllocateDepthBuffer){if(i)throw new Error("target.depthTexture not supported in Cube render targets");!function(t,V){if(V&&V.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(l.bindFramebuffer(e.FRAMEBUFFER,t),!V.depthTexture||!V.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!n.get(V.depthTexture).__webglTexture||V.depthTexture.image.width!==V.width||V.depthTexture.image.height!==V.height)&&(V.depthTexture.image.width=V.width,V.depthTexture.image.height=V.height,V.depthTexture.needsUpdate=!0),Y(V.depthTexture,0);let i=n.get(V.depthTexture).__webglTexture,a=g(V);if(V.depthTexture.format===Es)B(V)?U.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,i,0,a):e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,i,0);else{if(V.depthTexture.format!==bs)throw new Error("Unknown depthTexture format");B(V)?U.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.TEXTURE_2D,i,0,a):e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.TEXTURE_2D,i,0)}}(V.__webglFramebuffer,t)}else if(i){V.__webglDepthbuffer=[];for(let n=0;n<6;n++)l.bindFramebuffer(e.FRAMEBUFFER,V.__webglFramebuffer[n]),V.__webglDepthbuffer[n]=e.createRenderbuffer(),C(V.__webglDepthbuffer[n],t,!1)}else l.bindFramebuffer(e.FRAMEBUFFER,V.__webglFramebuffer),V.__webglDepthbuffer=e.createRenderbuffer(),C(V.__webglDepthbuffer,t,!1);l.bindFramebuffer(e.FRAMEBUFFER,null)}function g(e){return Math.min(R,e.samples)}function B(e){let l=n.get(e);return s&&e.samples>0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==l.__useRenderToTexture}function H(e,l){let n=e.colorSpace,V=e.format,i=e.type;return!0===e.isCompressedTexture||e.format===Ls||n!==fs&&n!==Xs&&(n===ws?!1===s?!0===t.has("EXT_sRGB")&&V===us?(e.format=Ls,e.minFilter=ds,e.generateMipmaps=!1):l=Go.sRGBToLinear(l):(V!==us||i!==cs)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",n)),l}this.allocateTextureUnit=function(){let e=k;return e>=o&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+o),k+=1,e},this.resetTextureUnits=function(){k=0},this.setTexture2D=Y,this.setTexture2DArray=function(t,V){let i=n.get(t);t.version>0&&i.__version!==t.version?z(i,t,V):l.bindTexture(e.TEXTURE_2D_ARRAY,i.__webglTexture,e.TEXTURE0+V)},this.setTexture3D=function(t,V){let i=n.get(t);t.version>0&&i.__version!==t.version?z(i,t,V):l.bindTexture(e.TEXTURE_3D,i.__webglTexture,e.TEXTURE0+V)},this.setTextureCube=function(t,V){let a=n.get(t);t.version>0&&a.__version!==t.version?function(t,V,a){if(6!==V.image.length)return;let r=f(t,V),o=V.source;l.bindTexture(e.TEXTURE_CUBE_MAP,t.__webglTexture,e.TEXTURE0+a);let d=n.get(o);if(o.version!==d.__version||!0===r){l.activeTexture(e.TEXTURE0+a),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,V.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,V.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,V.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);let t=V.isCompressedTexture||V.image[0].isCompressedTexture,n=V.image[0]&&V.image[0].isDataTexture,R=[];for(let e=0;e<6;e++)R[e]=t||n?n?V.image[e].image:V.image[e]:F(V.image[e],!1,!0,h),R[e]=H(V,R[e]);let U,c=R[0],p=N(c)||s,Z=i.convert(V.format,V.colorSpace),W=i.convert(V.type),m=b(V.internalFormat,Z,W,V.colorSpace),J=s&&!0!==V.isVideoTexture,T=void 0===d.__version||!0===r,G=S(V,c,p);if(w(e.TEXTURE_CUBE_MAP,V,p),t){J&&T&&l.texStorage2D(e.TEXTURE_CUBE_MAP,G,m,c.width,c.height);for(let t=0;t<6;t++){U=R[t].mipmaps;for(let n=0;n<U.length;n++){let i=U[n];V.format!==us?null!==Z?J?l.compressedTexSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n,0,0,i.width,i.height,Z,i.data):l.compressedTexImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n,m,i.width,i.height,0,i.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):J?l.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n,0,0,i.width,i.height,Z,W,i.data):l.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n,m,i.width,i.height,0,Z,W,i.data)}}}else{U=V.mipmaps,J&&T&&(U.length>0&&G++,l.texStorage2D(e.TEXTURE_CUBE_MAP,G,m,R[0].width,R[0].height));for(let t=0;t<6;t++)if(n){J?l.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,R[t].width,R[t].height,Z,W,R[t].data):l.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,m,R[t].width,R[t].height,0,Z,W,R[t].data);for(let n=0;n<U.length;n++){let V=U[n].image[t].image;J?l.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n+1,0,0,V.width,V.height,Z,W,V.data):l.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n+1,m,V.width,V.height,0,Z,W,V.data)}}else{J?l.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,Z,W,R[t]):l.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,m,Z,W,R[t]);for(let n=0;n<U.length;n++){let V=U[n];J?l.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n+1,0,0,Z,W,V.image[t]):l.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,n+1,m,Z,W,V.image[t])}}}u(V,p)&&E(e.TEXTURE_CUBE_MAP),d.__version=o.version,V.onUpdate&&V.onUpdate(V)}t.__version=V.version}(a,t,V):l.bindTexture(e.TEXTURE_CUBE_MAP,a.__webglTexture,e.TEXTURE0+V)},this.rebindTextures=function(t,l,V){let i=n.get(t);void 0!==l&&y(i.__webglFramebuffer,t,t.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D),void 0!==V&&j(t)},this.setupRenderTarget=function(t){let r=t.texture,o=n.get(t),h=n.get(r);t.addEventListener("dispose",G),!0!==t.isWebGLMultipleRenderTargets&&(void 0===h.__webglTexture&&(h.__webglTexture=e.createTexture()),h.__version=r.version,a.memory.textures++);
1let d=!0===t.isWebGLCubeRenderTarget,R=!0===t.isWebGLMultipleRenderTargets,U=N(t)||s;if(d){o.__webglFramebuffer=[];for(let t=0;t<6;t++)o.__webglFramebuffer[t]=e.createFramebuffer()}else{if(o.__webglFramebuffer=e.createFramebuffer(),R)if(V.drawBuffers){let l=t.texture;for(let t=0,V=l.length;t<V;t++){let V=n.get(l[t]);void 0===V.__webglTexture&&(V.__webglTexture=e.createTexture(),a.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(s&&t.samples>0&&!1===B(t)){let n=R?r:[r];o.__webglMultisampledFramebuffer=e.createFramebuffer(),o.__webglColorRenderbuffer=[],l.bindFramebuffer(e.FRAMEBUFFER,o.__webglMultisampledFramebuffer);for(let l=0;l<n.length;l++){let V=n[l];o.__webglColorRenderbuffer[l]=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,o.__webglColorRenderbuffer[l]);let a=i.convert(V.format,V.colorSpace),r=i.convert(V.type),s=b(V.internalFormat,a,r,V.colorSpace,!0===t.isXRRenderTarget),h=g(t);e.renderbufferStorageMultisample(e.RENDERBUFFER,h,s,t.width,t.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+l,e.RENDERBUFFER,o.__webglColorRenderbuffer[l])}e.bindRenderbuffer(e.RENDERBUFFER,null),t.depthBuffer&&(o.__webglDepthRenderbuffer=e.createRenderbuffer(),C(o.__webglDepthRenderbuffer,t,!0)),l.bindFramebuffer(e.FRAMEBUFFER,null)}}if(d){l.bindTexture(e.TEXTURE_CUBE_MAP,h.__webglTexture),w(e.TEXTURE_CUBE_MAP,r,U);for(let l=0;l<6;l++)y(o.__webglFramebuffer[l],t,r,e.COLOR_ATTACHMENT0,e.TEXTURE_CUBE_MAP_POSITIVE_X+l);u(r,U)&&E(e.TEXTURE_CUBE_MAP),l.unbindTexture()}else if(R){let V=t.texture;for(let i=0,a=V.length;i<a;i++){let a=V[i],r=n.get(a);l.bindTexture(e.TEXTURE_2D,r.__webglTexture),w(e.TEXTURE_2D,a,U),y(o.__webglFramebuffer,t,a,e.COLOR_ATTACHMENT0+i,e.TEXTURE_2D),u(a,U)&&E(e.TEXTURE_2D)}l.unbindTexture()}else{let n=e.TEXTURE_2D;(t.isWebGL3DRenderTarget||t.isWebGLArrayRenderTarget)&&(s?n=t.isWebGL3DRenderTarget?e.TEXTURE_3D:e.TEXTURE_2D_ARRAY:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),l.bindTexture(n,h.__webglTexture),w(n,r,U),y(o.__webglFramebuffer,t,r,e.COLOR_ATTACHMENT0,n),u(r,U)&&E(n),l.unbindTexture()}t.depthBuffer&&j(t)},this.updateRenderTargetMipmap=function(t){let V=N(t)||s,i=!0===t.isWebGLMultipleRenderTargets?t.texture:[t.texture];for(let a=0,r=i.length;a<r;a++){let r=i[a];if(u(r,V)){let V=t.isWebGLCubeRenderTarget?e.TEXTURE_CUBE_MAP:e.TEXTURE_2D,i=n.get(r).__webglTexture;l.bindTexture(V,i),E(V),l.unbindTexture()}}},this.updateMultisampleRenderTarget=function(t){if(s&&t.samples>0&&!1===B(t)){let V=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],i=t.width,a=t.height,r=e.COLOR_BUFFER_BIT,s=[],o=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,h=n.get(t),d=!0===t.isWebGLMultipleRenderTargets;if(d)for(let t=0;t<V.length;t++)l.bindFramebuffer(e.FRAMEBUFFER,h.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+t,e.RENDERBUFFER,null),l.bindFramebuffer(e.FRAMEBUFFER,h.__webglFramebuffer),e.framebufferTexture2D(e.DRAW_FRAMEBUFFER,e.COLOR_ATTACHMENT0+t,e.TEXTURE_2D,null,0);l.bindFramebuffer(e.READ_FRAMEBUFFER,h.__webglMultisampledFramebuffer),l.bindFramebuffer(e.DRAW_FRAMEBUFFER,h.__webglFramebuffer);for(let l=0;l<V.length;l++){s.push(e.COLOR_ATTACHMENT0+l),t.depthBuffer&&s.push(o);let R=void 0!==h.__ignoreDepthValues&&h.__ignoreDepthValues;if(!1===R&&(t.depthBuffer&&(r|=e.DEPTH_BUFFER_BIT),t.stencilBuffer&&(r|=e.STENCIL_BUFFER_BIT)),d&&e.framebufferRenderbuffer(e.READ_FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.RENDERBUFFER,h.__webglColorRenderbuffer[l]),!0===R&&(e.invalidateFramebuffer(e.READ_FRAMEBUFFER,[o]),e.invalidateFramebuffer(e.DRAW_FRAMEBUFFER,[o])),d){let t=n.get(V[l]).__webglTexture;e.framebufferTexture2D(e.DRAW_FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0)}e.blitFramebuffer(0,0,i,a,0,0,i,a,r,e.NEAREST),c&&e.invalidateFramebuffer(e.READ_FRAMEBUFFER,s)}if(l.bindFramebuffer(e.READ_FRAMEBUFFER,null),l.bindFramebuffer(e.DRAW_FRAMEBUFFER,null),d)for(let t=0;t<V.length;t++){l.bindFramebuffer(e.FRAMEBUFFER,h.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+t,e.RENDERBUFFER,h.__webglColorRen
vendor: 4,368 bytes, line 1
1derbuffer[t]);let i=n.get(V[t]).__webglTexture;l.bindFramebuffer(e.FRAMEBUFFER,h.__webglFramebuffer),e.framebufferTexture2D(e.DRAW_FRAMEBUFFER,e.COLOR_ATTACHMENT0+t,e.TEXTURE_2D,i,0)}l.bindFramebuffer(e.DRAW_FRAMEBUFFER,h.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=j,this.setupFrameBufferTexture=y,this.useMultisampledRTT=B}function Mc(e,t,l){let n=l.isWebGL2;return{convert:function(l,V=""){let i;if(l===cs)return e.UNSIGNED_BYTE;if(1017===l)return e.UNSIGNED_SHORT_4_4_4_4;if(1018===l)return e.UNSIGNED_SHORT_5_5_5_1;if(1010===l)return e.BYTE;if(1011===l)return e.SHORT;if(l===ps)return e.UNSIGNED_SHORT;if(l===Zs)return e.INT;if(l===Ws)return e.UNSIGNED_INT;if(l===ms)return e.FLOAT;if(l===Fs)return n?e.HALF_FLOAT:(i=t.get("OES_texture_half_float"),null!==i?i.HALF_FLOAT_OES:null);if(1021===l)return e.ALPHA;if(l===us)return e.RGBA;if(1024===l)return e.LUMINANCE;if(1025===l)return e.LUMINANCE_ALPHA;if(l===Es)return e.DEPTH_COMPONENT;if(l===bs)return e.DEPTH_STENCIL;if(l===Ls)return i=t.get("EXT_sRGB"),null!==i?i.SRGB_ALPHA_EXT:null;if(1028===l)return e.RED;if(1029===l)return e.RED_INTEGER;if(1030===l)return e.RG;if(1031===l)return e.RG_INTEGER;if(1033===l)return e.RGBA_INTEGER;if(l===Ss||l===Js||l===Ts||l===Gs)if(V===ws){if(i=t.get("WEBGL_compressed_texture_s3tc_srgb"),null===i)return null;if(l===Ss)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(l===Js)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(l===Ts)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(l===Gs)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(i=t.get("WEBGL_compressed_texture_s3tc"),null===i)return null;if(l===Ss)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(l===Js)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(l===Ts)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(l===Gs)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===l||35841===l||35842===l||35843===l){if(i=t.get("WEBGL_compressed_texture_pvrtc"),null===i)return null;if(35840===l)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===l)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===l)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===l)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===l)return i=t.get("WEBGL_compressed_texture_etc1"),null!==i?i.COMPRESSED_RGB_ETC1_WEBGL:null;if(37492===l||37496===l){if(i=t.get("WEBGL_compressed_texture_etc"),null===i)return null;if(37492===l)return V===ws?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(37496===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC}if(37808===l||37809===l||37810===l||37811===l||37812===l||37813===l||37814===l||37815===l||37816===l||37817===l||37818===l||37819===l||37820===l||37821===l){if(i=t.get("WEBGL_compressed_texture_astc"),null===i)return null;if(37808===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(37809===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(37810===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(37811===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(37812===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(37813===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(37814===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(37815===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(37816===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(37817===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(37818===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(37819===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(37820===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(37821===l)return V===ws?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}if(l===Ms){if(i=t.get("EXT_texture_compression_bptc"),null===i)return null;if(l===Ms)return V===ws?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT}if(36283===l||36284===l||36285===l||36286===l){if(i=t.get("EXT_texture_compression_rgtc"),null===i)return null;
1if(l===Ms)return i.COMPRESSED_RED_RGTC1_EXT;if(36284===l)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(36285===l)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(36286===l)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return l===Ns?n?e.UNSIGNED_INT_24_8:(i=t.get("WEBGL_depth_texture"),null!==i?i.UNSIGNED_INT_24_8_WEBGL:null):void 0!==e[l]?e[l]:null}}}var kc=class extends Od{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}},Yc=class extends Ch{constructor(){super(),this.isGroup=!0,this.type="Group"}},xc={type:"move"},Qc=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new Yc,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new Yc,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new yo,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new yo),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new Yc,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new yo,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new yo),this._grip}dispatchEvent(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){let t=this._hand;if(t)for(let l of e.hand.values())this._getHandJoint(t,l)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(e,t,l){let n=null,V=null,i=null,a=this._targetRay,r=this._grip,s=this._hand;if(e&&"visible-blurred"!==t.session.visibilityState){if(s&&e.hand){i=!0;for(let n of e.hand.values()){let e=t.getJointPose(n,l),V=this._getHandJoint(s,n);null!==e&&(V.matrix.fromArray(e.transform.matrix),V.matrix.decompose(V.position,V.rotation,V.scale),V.matrixWorldNeedsUpdate=!0,V.jointRadius=e.radius),V.visible=null!==e}let n=s.joints["index-finger-tip"],V=s.joints["thumb-tip"],a=n.position.distanceTo(V.position),r=.02,o=.005;s.inputState.pinching&&a>r+o?(s.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!s.inputState.pinching&&a<=r-o&&(s.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==r&&e.gripSpace&&(V=t.getPose(e.gripSpace,l),null!==V&&(r.matrix.fromArray(V.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.matrixWorldNeedsUpdate=!0,V.linearVelocity?(r.hasLinearVelocity=!0,r.linearVelocity.copy(V.linearVelocity)):r.hasLinearVelocity=!1,V.angularVelocity?(r.hasAngularVelocity=!0,r.angularVelocity.copy(V.angularVelocity)):r.hasAngularVelocity=!1));null!==a&&(n=t.getPose(e.targetRaySpace,l),null===n&&null!==V&&(n=V),null!==n&&(a.matrix.fromArray(n.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,n.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(n.linearVelocity)):a.hasLinearVelocity=!1,n.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(n.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(xc)))}return null!==a&&(a.visible=null!==n),null!==r&&(r.visible=null!==V),null!==s&&(s.visible=null!==i),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){let l=new Yc;l.matrixAutoUpdate=!1,l.visible=!1,e.joints[t.jointName]=l,e.add(l)}return e.joints[t.jointName]}},Xc=class extends Qo{constructor(e,t,l,n,V,i,a,r,s,o){if((o=void 0!==o?o:Es)!==Es&&o!==bs)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===l&&o===Es&&(l=Ws),void 0===l&&o===bs&&(l=Ns),super(null,n,V,i,a,r,o,l,s),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==a?a:ss,this.minFilter=void 0!==r?r:ss,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return null!==this.compareFunction&&(t.compareFunction=this.compareFunction),t}},wc=class extends As{constructor(e,t){super();let l=this,n=null,V=1,i=null,a="local-floor",r=1,s=null,o=null,h=null,d=null,R=null,U=null,c=t.getContextAttributes(),p=null,Z=null,W=[],m=[],F=new Od;F.layers.enable(1),F.viewport=new Xo;let N=new Od;N.layers.enable(2),N.viewport=new Xo;let u=[F,N],E=new kc;E.layers.enable(1),E.layers.enable(2);let b=null,S=null;function J(e){let t=m.indexOf(e.inputSource);if(-1===t)return;let l=W[t];void 0!==l&&(l.update(e.inputSource,e.frame,s||i),l.dispatchEvent({type:e.type,data:e.inputSource}))}function T(){n.removeEventListener("select",J),n.removeEventListener("selectstart",J),n.removeEventListener("selectend",J),n.removeEventListener("squeeze",J),n.removeEventListener("squeezestart",J),n.removeEventListener("squeezeend",J),n.removeEventListener("end",T),n.removeEventListener("inputsourceschange",G);for(let e=0;e<W.length;e++){let t=m[e];null!==t&&(m[e]=null,W[e].disconnect(t))}b=null,S=null,e.setRenderTarget(p),R=null,d=null,h=null,n=null,Z=null,Q.stop(),l.isPresenting=!1,l.dispatchEvent({type:"sessionend"})}function G(e){for(let t=0;t<e.removed.length;t++){let l=e.removed[t],n=m.indexOf(l);n>=0&&(m[n]=null,W[n].disconnect(l))}for(let t=0;t<e.added.length;t++){let l=e.added[t],n=m.indexOf(l);if(-1===n){for(let e=0;e<W.length;e++){if(e>=m.length){m.push(l),n=e;break}if(null===m[e]){m[e]=l,n=e;break}}if(-1===n)break}let V=W[n];V&&V.connect(l)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=W[e];return void 0===t&&(t=new Qc,W[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=W[e];return void 0===t&&(t=new Qc,W[e]=t),t.getGripSpace()},this.getHand=function(e){let t=W[e];return void 0===t&&(t=new Qc,W[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){V=e,!0===l.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){a=e,!0===l.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return s||i},this.setReferenceSpace=function(e){s=e},this.getBaseLayer=function(){return null!==d?d:R},this.getBinding=function(){return h},this.getFrame=function(){return U}
1,this.getSession=function(){return n},this.setSession=async function(o){if(n=o,null!==n){if(p=e.getRenderTarget(),n.addEventListener("select",J),n.addEventListener("selectstart",J),n.addEventListener("selectend",J),n.addEventListener("squeeze",J),n.addEventListener("squeezestart",J),n.addEventListener("squeezeend",J),n.addEventListener("end",T),n.addEventListener("inputsourceschange",G),!0!==c.xrCompatible&&await t.makeXRCompatible(),void 0===n.renderState.layers||!1===e.capabilities.isWebGL2){let l={antialias:void 0!==n.renderState.layers||c.antialias,alpha:!0,depth:c.depth,stencil:c.stencil,framebufferScaleFactor:V};R=new XRWebGLLayer(n,t,l),n.updateRenderState({baseLayer:R}),Z=new wo(R.framebufferWidth,R.framebufferHeight,{format:us,type:cs,colorSpace:e.outputColorSpace,stencilBuffer:c.stencil})}else{let l=null,i=null,a=null;c.depth&&(a=c.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,l=c.stencil?bs:Es,i=c.stencil?Ns:Ws);let r={colorFormat:t.RGBA8,depthFormat:a,scaleFactor:V};h=new XRWebGLBinding(n,t),d=h.createProjectionLayer(r),n.updateRenderState({layers:[d]}),Z=new wo(d.textureWidth,d.textureHeight,{format:us,type:cs,depthTexture:new Xc(d.textureWidth,d.textureHeight,i,void 0,void 0,void 0,void 0,void 0,void 0,l),stencilBuffer:c.stencil,colorSpace:e.outputColorSpace,samples:c.antialias?4:0}),e.properties.get(Z).__ignoreDepthValues=d.ignoreDepthValues}Z.isXRRenderTarget=!0,this.setFoveation(r),s=null,i=await n.requestReferenceSpace(a),Q.setContext(n),Q.start(),l.isPresenting=!0,l.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==n)return n.environmentBlendMode};let M=new yo,k=new yo;function Y(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===n)return;E.near=N.near=F.near=e.near,E.far=N.far=F.far=e.far,(b!==E.near||S!==E.far)&&(n.updateRenderState({depthNear:E.near,depthFar:E.far}),b=E.near,S=E.far);let t=e.parent,l=E.cameras;Y(E,t);for(let e=0;e<l.length;e++)Y(l[e],t);2===l.length?function(e,t,l){M.setFromMatrixPosition(t.matrixWorld),k.setFromMatrixPosition(l.matrixWorld);let n=M.distanceTo(k),V=t.projectionMatrix.elements,i=l.projectionMatrix.elements,a=V[14]/(V[10]-1),r=V[14]/(V[10]+1),s=(V[9]+1)/V[5],o=(V[9]-1)/V[5],h=(V[8]-1)/V[0],d=(i[8]+1)/i[0],R=a*h,U=a*d,c=n/(-h+d),p=c*-h;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(p),e.translateZ(c),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert();let Z=a+c,W=r+c,m=R-p,F=U+(n-p),N=s*r/W*Z,u=o*r/W*Z;e.projectionMatrix.makePerspective(m,F,N,u,Z,W),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}(E,F,N):E.projectionMatrix.copy(F.projectionMatrix),function(e,t,l){null===l?e.matrix.copy(t.matrixWorld):(e.matrix.copy(l.matrixWorld),e.matrix.invert(),e.matrix.multiply(t.matrixWorld)),e.matrix.decompose(e.position,e.quaternion,e.scale),e.updateMatrixWorld(!0);let n=e.children;for(let e=0,t=n.length;e<t;e++)n[e].updateMatrixWorld(!0);e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse),e.isPerspectiveCamera&&(e.fov=2*to*Math.atan(1/e.projectionMatrix.elements[5]),e.zoom=1)}(e,E,t)},this.getCamera=function(){return E},this.getFoveation=function(){if(null!==d||null!==R)return r},this.setFoveation=function(e){r=e,null!==d&&(d.fixedFoveation=e),null!==R&&void 0!==R.fixedFoveation&&(R.fixedFoveation=e)};let x=null;let Q=new VR;Q.setAnimationLoop((function(t,n){if(o=n.getViewerPose(s||i),U=n,null!==o){let t=o.views;null!==R&&(e.setRenderTargetFramebuffer(Z,R.framebuffer),e.setRenderTarget(Z));let l=!1;t.length!==E.cameras.length&&(E.cameras.length=0,l=!0);for(let n=0;n<t.length;n++){let V=t[n],i=null;if(null!==R)i=R.getViewport(V);else{let t=h.getViewSubImage(d,V);i=t.viewport,0===n&&(e.setRenderTargetTextures(Z,t.colorTexture,d.ignoreDepthValues?void 0:t.depthStencilTexture),e.setRenderTarget(Z))}let a=u[n];void 0===a&&(a=new Od,a.layers.enable(n),a.viewport=new Xo,u[n]=a),a.matrix.fromArray(V.transform.matrix),a.matrix.decompose(a.position,a.quaternion,a.scale),a.projectionMatrix.fromArray(V.projectionMatrix),a.projectionMatrixInverse.copy(a.projectionMatrix).invert(),a.viewport.set(i.x,i.y,i.width,i.height),0===n&&(E.matrix.copy(a.matrix),E.matrix.decompose(E.position,E.quaternion,E.scale)),!0===l&&E.cameras.push(a)}}for(let e=0;e<W.length;e++){let t=m[e],l=W[e];null!==t&&void 0!==l&&l.update(t,n,s||i)}x&&x(t,n),n.detectedPlanes&&l.dispatchEvent({type:"planesdetected",data:n}),U=null})),this.setAnimationLoop=function(e){x=e},this.dispose=function(){}}};function fc(e,t){function l(e,t){!0===e.matrixAutoUpdate&&e.updateMatrix(),t.value.copy(e.matrix)}function n(n,V){n.opacity.value=V.opacity,V.color&&n.diffuse.value.copy(V.color),V.emissive&&n.emissive.value.copy(V.emissive).multiplyScalar(V.emissiveIntensity),V.map&&(n.map.value=V.map,l(V.map,n.mapTransform)),V.alph
1aMap&&(n.alphaMap.value=V.alphaMap,l(V.alphaMap,n.alphaMapTransform)),V.bumpMap&&(n.bumpMap.value=V.bumpMap,l(V.bumpMap,n.bumpMapTransform),n.bumpScale.value=V.bumpScale,V.side===xr&&(n.bumpScale.value*=-1)),V.normalMap&&(n.normalMap.value=V.normalMap,l(V.normalMap,n.normalMapTransform),n.normalScale.value.copy(V.normalScale),V.side===xr&&n.normalScale.value.negate()),V.displacementMap&&(n.displacementMap.value=V.displacementMap,l(V.displacementMap,n.displacementMapTransform),n.displacementScale.value=V.displacementScale,n.displacementBias.value=V.displacementBias),V.emissiveMap&&(n.emissiveMap.value=V.emissiveMap,l(V.emissiveMap,n.emissiveMapTransform)),V.specularMap&&(n.specularMap.value=V.specularMap,l(V.specularMap,n.specularMapTransform)),V.alphaTest>0&&(n.alphaTest.value=V.alphaTest);let i=t.get(V).envMap;if(i&&(n.envMap.value=i,n.flipEnvMap.value=i.isCubeTexture&&!1===i.isRenderTargetTexture?-1:1,n.reflectivity.value=V.reflectivity,n.ior.value=V.ior,n.refractionRatio.value=V.refractionRatio),V.lightMap){n.lightMap.value=V.lightMap;let t=!0===e.useLegacyLights?Math.PI:1;n.lightMapIntensity.value=V.lightMapIntensity*t,l(V.lightMap,n.lightMapTransform)}V.aoMap&&(n.aoMap.value=V.aoMap,n.aoMapIntensity.value=V.aoMapIntensity,l(V.aoMap,n.aoMapTransform))}return{refreshFogUniforms:function(t,l){l.color.getRGB(t.fogColor.value,Hd(e)),l.isFog?(t.fogNear.value=l.near,t.fogFar.value=l.far):l.isFogExp2&&(t.fogDensity.value=l.density)},refreshMaterialUniforms:function(e,V,i,a,r){V.isMeshBasicMaterial||V.isMeshLambertMaterial?n(e,V):V.isMeshToonMaterial?(n(e,V),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,V)):V.isMeshPhongMaterial?(n(e,V),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,V)):V.isMeshStandardMaterial?(n(e,V),function(e,n){e.metalness.value=n.metalness,n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap,l(n.metalnessMap,e.metalnessMapTransform)),e.roughness.value=n.roughness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap,l(n.roughnessMap,e.roughnessMapTransform)),t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}(e,V),V.isMeshPhysicalMaterial&&function(e,t,n){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,l(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,l(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,l(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,l(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,l(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===xr&&e.clearcoatNormalScale.value.negate())),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,l(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,l(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=n.texture,e.transmissionSamplerSize.value.set(n.width,n.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,l(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,l(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,l(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,l(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,l(t.specularIntensityMap,e.specularIntensityMapTransform))}
1(e,V,r)):V.isMeshMatcapMaterial?(n(e,V),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,V)):V.isMeshDepthMaterial?n(e,V):V.isMeshDistanceMaterial?(n(e,V),function(e,l){let n=t.get(l).light;e.referencePosition.value.setFromMatrixPosition(n.matrixWorld),e.nearDistance.value=n.shadow.camera.near,e.farDistance.value=n.shadow.camera.far}(e,V)):V.isMeshNormalMaterial?n(e,V):V.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,l(t.map,e.mapTransform))}(e,V),V.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,V)):V.isPointsMaterial?function(e,t,n,V){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*n,e.scale.value=.5*V,t.map&&(e.map.value=t.map,l(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,l(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,V,i,a):V.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,l(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,l(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,V):V.isShadowMaterial?(e.color.value.copy(V.color),e.opacity.value=V.opacity):V.isShaderMaterial&&(V.uniformsNeedUpdate=!1)}}}function zc(e,t,l,n){let V={},i={},a=[],r=l.isWebGL2?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0;function s(e,t,l){let n=e.value;if(void 0===l[t]){if("number"==typeof n)l[t]=n;else{let e=Array.isArray(n)?n:[n],V=[];for(let t=0;t<e.length;t++)V.push(e[t].clone());l[t]=V}return!0}if("number"==typeof n){if(l[t]!==n)return l[t]=n,!0}else{let e=Array.isArray(l[t])?l[t]:[l[t]],V=Array.isArray(n)?n:[n];for(let t=0;t<e.length;t++){let l=e[t];if(!1===l.equals(V[t]))return l.copy(V[t]),!0}}return!1}function o(e){let t={boundary:0,storage:0};return"number"==typeof e?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",e),t}function h(t){let l=t.target;l.removeEventListener("dispose",h);let n=a.indexOf(l.__bindingPointIndex);a.splice(n,1),e.deleteBuffer(V[l.id]),delete V[l.id],delete i[l.id]}return{bind:function(e,t){let l=t.program;n.uniformBlockBinding(e,l)},update:function(l,d){let R=V[l.id];void 0===R&&(function(e){let t=e.uniforms,l=0,n=16,V=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a={boundary:0,storage:0},r=Array.isArray(i.value)?i.value:[i.value];for(let e=0,t=r.length;e<t;e++){let t=o(r[e]);a.boundary+=t.boundary,a.storage+=t.storage}if(i.__data=new Float32Array(a.storage/Float32Array.BYTES_PER_ELEMENT),i.__offset=l,e>0){V=l%n,0!==V&&n-V-a.boundary<0&&(l+=n-V,i.__offset=l)}l+=a.storage}V=l%n,V>0&&(l+=n-V),e.__size=l,e.__cache={}}(l),R=function(t){let l=function(){for(let e=0;e<r;e++)if(-1===a.indexOf(e))return a.push(e),e;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}();t.__bindingPointIndex=l;let n=e.createBuffer(),V=t.__size,i=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,n),e.bufferData(e.UNIFORM_BUFFER,V,i),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,l,n),n}(l),V[l.id]=R,l.addEventListener("dispose",h));let U=d.program;n.updateUBOMapping(l,U);let c=t.render.frame;i[l.id]!==c&&(function(t){let l=V[t.id],n=t.uniforms,i=t.__cache;e.bindBuffer(e.UNIFORM_BUFFER,l);for(let t=0,l=n.length;t<l;t++){let l=n[t];if(!0===s(l,t,i)){let t=l.__offset,n=Array.isArray(l.value)?l.value:[l.value],V=0;for(let i=0;i<n.length;i++){let a=n[i],r=o(a);"number"==typeof a?(l.__data[0]=a,e.bufferSubData(e.UNIFORM_BUFFER,t+V,l.__data)):a.isMatrix3?(l.__data[0]=a.elements[0],l.__data[1]=a.elements[1],l.__data[2]=a.elements[2],l.__data[3]=a.elements[0],l.__data[4]=a.elements[3],l.__data[5]=a.elements[4],l.__data[6]=a.elements[5],l.__data[7]=a.elements[0],l.__data[8]=a.elements[6],l.__data[9]=a.elements[7],l.__data[10]=a.elements[8],l.__data[11]=a.elements[0]):(a.toArray(l.__data,V),V+=r.storage/Float32Array.BYTES_PER_ELEMENT)}e.bufferSubData(e.UNIFORM_BUFFER,t,l.__data)}}e.bindBuffer(e.UNIFORM_BUFFER,null)}(l),i[l.id]=c)},dispose:function(){for(let t in V)e.deleteBuffer(V[t]);a=[],V={},i={}}}}function yc(){let e=Zo("canvas");return e.style.display="block",e}var Cc=class{constructor(e={}){let t,{canvas:l=yc(),context:n=null,depth:V=!0,stencil:i=!0,alpha:a=!1,antialias:r=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:o=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;
1this.isWebGLRenderer=!0,t=null!==n?n.getContextAttributes().alpha:a;let R=new Uint32Array(4),U=new Int32Array(4),c=null,p=null,Z=[],W=[];this.domElement=l,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputColorSpace=ws,this.useLegacyLights=!0,this.toneMapping=Pr,this.toneMappingExposure=1;let m=this,F=!1,N=0,u=0,E=null,b=-1,S=null,J=new Xo,T=new Xo,G=null,M=new nd(0),k=0,Y=l.width,x=l.height,Q=1,X=null,w=null,f=new Xo(0,0,Y,x),z=new Xo(0,0,Y,x),y=!1,C=new nR,j=!1,g=!1,B=null,H=new Uh,v=new Ro,I=new yo,D={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function O(){return null===E?Q:1}let _,L,K,P,A,q,$,ee,te,le,ne,Ve,ie,ae,re,se,oe,he,de,Re,Ue,ce,pe,Ze,We=n;function me(e,t){for(let n=0;n<e.length;n++){let V=e[n],i=l.getContext(V,t);if(null!==i)return i}return null}try{let e={alpha:!0,depth:V,stencil:i,antialias:r,premultipliedAlpha:s,preserveDrawingBuffer:o,powerPreference:h,failIfMajorPerformanceCaveat:d};if("setAttribute"in l&&l.setAttribute("data-engine","three.js r154"),l.addEventListener("webglcontextlost",ue,!1),l.addEventListener("webglcontextrestored",Ee,!1),l.addEventListener("webglcontextcreationerror",be,!1),null===We){let t=["webgl2","webgl","experimental-webgl"];if(!0===m.isWebGL1Renderer&&t.shift(),We=me(t,e),null===We)throw me(t)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext<"u"&&We instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),void 0===We.getShaderPrecisionFormat&&(We.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){throw console.error("THREE.WebGLRenderer: "+e.message),e}function Fe(){_=new XR(We),L=new cR(We,_,e),_.init(L),ce=new Mc(We,_,L),K=new Tc(We,_,L),P=new zR(We),A=new Rc,q=new Gc(We,_,K,A,L,ce,P),$=new ZR(m),ee=new QR(m),te=new iR(We,L),pe=new RR(We,_,te,L),le=new wR(We,te,P,pe),ne=new gR(We,le,te,P),de=new jR(We,L,q),se=new pR(A),Ve=new dc(m,$,ee,_,L,pe,se),ie=new fc(m,A),ae=new Zc,re=new Ec(_,L),he=new dR(m,$,ee,K,ne,t,s),oe=new Jc(m,ne,L),Ze=new zc(We,P,L,K),Re=new UR(We,_,P,L),Ue=new fR(We,_,P,L),P.programs=Ve.programs,m.capabilities=L,m.extensions=_,m.properties=A,m.renderLists=ae,m.shadowMap=oe,m.state=K,m.info=P}Fe();let Ne=new wc(m,We);function ue(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),F=!0}function Ee(){console.log("THREE.WebGLRenderer: Context Restored."),F=!1;let e=P.autoReset,t=oe.enabled,l=oe.autoUpdate,n=oe.needsUpdate,V=oe.type;Fe(),P.autoReset=e,oe.enabled=t,oe.autoUpdate=l,oe.needsUpdate=n,oe.type=V}function be(e){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",e.statusMessage)}function Se(e){let t=e.target;t.removeEventListener("dispose",Se),function(e){(function(e){let t=A.get(e).programs;void 0!==t&&(t.forEach((function(e){Ve.releaseProgram(e)})),e.isShaderMaterial&&Ve.releaseShaderCache(e))})(e),A.remove(e)}(t)}this.xr=Ne,this.getContext=function(){return We},this.getContextAttributes=function(){return We.getContextAttributes()},this.forceContextLoss=function(){let e=_.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){let e=_.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return Q},this.setPixelRatio=function(e){void 0!==e&&(Q=e,this.setSize(Y,x,!1))},this.getSize=function(e){return e.set(Y,x)},this.setSize=function(e,t,n=!0){Ne.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(Y=e,x=t,l.width=Math.floor(e*Q),l.height=Math.floor(t*Q),!0===n&&(l.style.width=e+"px",l.style.height=t+"px"),this.setViewport(0,0,e,t))},this.getDrawingBufferSize=function(e){return e.set(Y*Q,x*Q).floor()},this.setDrawingBufferSize=function(e,t,n){Y=e,x=t,Q=n,l.width=Math.floor(e*n),l.height=Math.floor(t*n),this.setViewport(0,0,e,t)},this.getCurrentViewport=function(e){return e.copy(J)},this.getViewport=function(e){return e.copy(f)},this.setViewport=function(e,t,l,n){e.isVector4?f.set(e.x,e.y,e.z,e.w):f.set(e,t,l,n),K.viewport(J.copy(f).multiplyScalar(Q).floor())}
1,this.getScissor=function(e){return e.copy(z)},this.setScissor=function(e,t,l,n){e.isVector4?z.set(e.x,e.y,e.z,e.w):z.set(e,t,l,n),K.scissor(T.copy(z).multiplyScalar(Q).floor())},this.getScissorTest=function(){return y},this.setScissorTest=function(e){K.setScissorTest(y=e)},this.setOpaqueSort=function(e){X=e},this.setTransparentSort=function(e){w=e},this.getClearColor=function(e){return e.copy(he.getClearColor())},this.setClearColor=function(){he.setClearColor.apply(he,arguments)},this.getClearAlpha=function(){return he.getClearAlpha()},this.setClearAlpha=function(){he.setClearAlpha.apply(he,arguments)},this.clear=function(e=!0,t=!0,l=!0){let n=0;if(e){let e=!1;if(null!==E){let t=E.texture.format;e=1033===t||1031===t||1029===t}if(e){let e=E.texture.type,t=e===cs||e===Ws||e===ps||e===Ns||1017===e||1018===e,l=he.getClearColor(),n=he.getClearAlpha(),V=l.r,i=l.g,a=l.b;t?(R[0]=V,R[1]=i,R[2]=a,R[3]=n,We.clearBufferuiv(We.COLOR,0,R)):(U[0]=V,U[1]=i,U[2]=a,U[3]=n,We.clearBufferiv(We.COLOR,0,U))}else n|=We.COLOR_BUFFER_BIT}t&&(n|=We.DEPTH_BUFFER_BIT),l&&(n|=We.STENCIL_BUFFER_BIT),We.clear(n)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){l.removeEventListener("webglcontextlost",ue,!1),l.removeEventListener("webglcontextrestored",Ee,!1),l.removeEventListener("webglcontextcreationerror",be,!1),ae.dispose(),re.dispose(),A.dispose(),$.dispose(),ee.dispose(),ne.dispose(),pe.dispose(),Ze.dispose(),Ve.dispose(),Ne.dispose(),Ne.removeEventListener("sessionstart",Te),Ne.removeEventListener("sessionend",Ge),B&&(B.dispose(),B=null),Me.stop()},this.renderBufferDirect=function(e,t,l,n,V,i){null===t&&(t=D);let a=V.isMesh&&V.matrixWorld.determinant()<0,r=function(e,t,l,n,V){!0!==t.isScene&&(t=D),q.resetTextureUnits();let i=t.fog,a=n.isMeshStandardMaterial?t.environment:null,r=null===E?m.outputColorSpace:!0===E.isXRRenderTarget?E.texture.colorSpace:fs,s=(n.isMeshStandardMaterial?ee:$).get(n.envMap||a),o=!0===n.vertexColors&&!!l.attributes.color&&4===l.attributes.color.itemSize,h=!!l.attributes.tangent&&(!!n.normalMap||n.anisotropy>0),d=!!l.morphAttributes.position,R=!!l.morphAttributes.normal,U=!!l.morphAttributes.color,c=n.toneMapped?m.toneMapping:Pr,Z=l.morphAttributes.position||l.morphAttributes.normal||l.morphAttributes.color,W=void 0!==Z?Z.length:0,F=A.get(n),N=p.state.lights;if(!0===j&&(!0===g||e!==S)){let t=e===S&&n.id===b;se.setState(n,e,t)}let u=!1;n.version===F.__version?(F.needsLights&&F.lightsStateVersion!==N.state.version||F.outputColorSpace!==r||V.isInstancedMesh&&!1===F.instancing||!V.isInstancedMesh&&!0===F.instancing||V.isSkinnedMesh&&
1!1===F.skinning||!V.isSkinnedMesh&&!0===F.skinning||F.envMap!==s||!0===n.fog&&F.fog!==i||void 0!==F.numClippingPlanes&&(F.numClippingPlanes!==se.numPlanes||F.numIntersection!==se.numIntersection)||F.vertexAlphas!==o||F.vertexTangents!==h||F.morphTargets!==d||F.morphNormals!==R||F.morphColors!==U||F.toneMapping!==c||!0===L.isWebGL2&&F.morphTargetsCount!==W)&&(u=!0):(u=!0,F.__version=n.version);let J=F.currentProgram;!0===u&&(J=Xe(n,t,V));let T=!1,G=!1,M=!1,k=J.getUniforms(),Y=F.uniforms;if(K.useProgram(J.program)&&(T=!0,G=!0,M=!0),n.id!==b&&(b=n.id,G=!0),T||S!==e){if(k.setValue(We,"projectionMatrix",e.projectionMatrix),L.logarithmicDepthBuffer&&k.setValue(We,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),S!==e&&(S=e,G=!0,M=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshStandardMaterial||n.envMap){let t=k.map.cameraPosition;void 0!==t&&t.setValue(We,I.setFromMatrixPosition(e.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial)&&k.setValue(We,"isOrthographic",!0===e.isOrthographicCamera),(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.isShadowMaterial||V.isSkinnedMesh)&&k.setValue(We,"viewMatrix",e.matrixWorldInverse)}if(V.isSkinnedMesh){k.setOptional(We,V,"bindMatrix"),k.setOptional(We,V,"bindMatrixInverse");let e=V.skeleton;e&&(L.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),k.setValue(We,"boneTexture",e.boneTexture,q),k.setValue(We,"boneTextureSize",e.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}let X=l.morphAttributes;if((void 0!==X.position||void 0!==X.normal||void 0!==X.color&&!0===L.isWebGL2)&&de.update(V,l,J),(G||F.receiveShadow!==V.receiveShadow)&&(F.receiveShadow=V.receiveShadow,k.setValue(We,"receiveShadow",V.receiveShadow)),n.isMeshGouraudMaterial&&null!==n.envMap&&(Y.envMap.value=s,Y.flipEnvMap.value=s.isCubeTexture&&!1===s.isRenderTargetTexture?-1:1),G&&(k.setValue(We,"toneMappingExposure",m.toneMappingExposure),F.needsLights&&function(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}(Y,M),i&&!0===n.fog&&ie.refreshFogUniforms(Y,i),ie.refreshMaterialUniforms(Y,n,Q,x,B),IU.upload(We,F.uniformsList,Y,q)),n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&(IU.upload(We,F.uniformsList,Y,q),n.uniformsNeedUpdate=!1),n.isSpriteMaterial&&k.setValue(We,"center",V.center),k.setValue(We,"modelViewMatrix",V.modelViewMatrix),k.setValue(We,"normalMatrix",V.normalMatrix),k.setValue(We,"modelMatrix",V.matrixWorld),n.isShaderMaterial||n.isRawShaderMaterial){let e=n.uniformsGroups;for(let t=0,l=e.length;t<l;
1t++)if(L.isWebGL2){let l=e[t];Ze.update(l,J),Ze.bind(l,J)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return J}(e,t,l,n,V);K.setMaterial(n,a);let s=l.index,o=1;!0===n.wireframe&&(s=le.getWireframeAttribute(l),o=2);let h=l.drawRange,d=l.attributes.position,R=h.start*o,U=(h.start+h.count)*o;null!==i&&(R=Math.max(R,i.start*o),U=Math.min(U,(i.start+i.count)*o)),null!==s?(R=Math.max(R,0),U=Math.min(U,s.count)):null!=d&&(R=Math.max(R,0),U=Math.min(U,d.count));let c=U-R;if(c<0||c===1/0)return;pe.setup(V,n,r,l,s);let Z,W=Re;if(null!==s&&(Z=te.get(s),W=Ue,W.setIndex(Z)),V.isMesh)!0===n.wireframe?(K.setLineWidth(n.wireframeLinewidth*O()),W.setMode(We.LINES)):W.setMode(We.TRIANGLES);else if(V.isLine){let e=n.linewidth;void 0===e&&(e=1),K.setLineWidth(e*O()),V.isLineSegments?W.setMode(We.LINES):V.isLineLoop?W.setMode(We.LINE_LOOP):W.setMode(We.LINE_STRIP)}else V.isPoints?W.setMode(We.POINTS):V.isSprite&&W.setMode(We.TRIANGLES);if(V.isInstancedMesh)W.renderInstances(R,c,V.count);else if(l.isInstancedBufferGeometry){let e=void 0!==l._maxInstanceCount?l._maxInstanceCount:1/0,t=Math.min(l.instanceCount,e);W.renderInstances(R,c,t)}else W.render(R,c)},this.compile=function(e,t){function l(e,t,l){!0===e.transparent&&2===e.side&&!1===e.forceSinglePass?(e.side=xr,e.needsUpdate=!0,Xe(e,t,l),e.side=Yr,e.needsUpdate=!0,Xe(e,t,l),e.side=2):Xe(e,t,l)}p=re.get(e),p.init(),W.push(p),e.traverseVisible((function(e){e.isLight&&e.layers.test(t.layers)&&(p.pushLight(e),e.castShadow&&p.pushShadow(e))})),p.setupLights(m.useLegacyLights),e.traverse((function(t){let n=t.material;if(n)if(Array.isArray(n))for(let V=0;V<n.length;V++){l(n[V],e,t)}else l(n,e,t)})),W.pop(),p=null};let Je=null;function Te(){Me.stop()}function Ge(){Me.start()}let Me=new VR;function ke(e,t,l,n){if(!1===e.visible)return;if(e.layers.test(t.layers))if(e.isGroup)l=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)p.pushLight(e),e.castShadow&&p.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||C.intersectsSprite(e)){n&&I.setFromMatrixPosition(e.matrixWorld).applyMatrix4(H);let t=ne.update(e),V=e.material;V.visible&&c.push(e,t,V,l,I.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||C.intersectsObject(e))){let t=ne.update(e),V=e.material;if(n&&(void 0!==e.boundingSphere?(null===e.boundingSphere&&e.computeBoundingSphere(),I.copy(e.boundingSphere.center)):(null===t.boundingSphere&&t.computeBoundingSphere(),I.copy(t.boundingSphere.center)),I.applyMatrix4(e.matrixWorld).applyMatrix4(H)),Array.isArray(V)){let n=t.groups;for(let i=0,a=n.length;i<a;i++){let a=n[i],r=V[a.materialIndex];r&&r.visible&&c.push(e,t,r,l,I.z,a)}}else V.visible&&c.push(e,t,V,l,I.z,null)}let V=e.children;for(let e=0,i=V.length;e<i;e++)ke(V[e],t,l,n)}function Ye(e,t,l,n){let V=e.opaque,i=e.transmissive,a=e.transparent;p.setupLightsView(l),!0===j&&se.setGlobalState(m.clippingPlanes,l),i.length>0&&function(e,t,l,n){let V=L.isWebGL2;null===B&&(B=new wo(1,1,{generateMipmaps:!0,type:_.has("EXT_color_buffer_half_float")?Fs:cs,minFilter:Us,samples:V?4:0})),m.getDrawingBufferSize(v),V?B.setSize(v.x,v.y):B.setSize(ro(v.x),ro(v.y));let i=m.getRenderTarget();m.setRenderTarget(B),m.getClearColor(M),k=m.getClearAlpha(),k<1&&m.setClearColor(16777215,.5),m.clear();let a=m.toneMapping;m.toneMapping=Pr,xe(e,l,n),q.updateMultisampleRenderTarget(B),q.updateRenderTargetMipmap(B);let r=!1;for(let e=0,V=t.length;e<V;e++){let V=t[e],i=V.object,a=V.geometry,s=V.material,o=V.group;if(2===s.side&&i.layers.test(n.layers)){let e=s.side;s.side=xr,s.needsUpdate=!0,Qe(i,l,n,a,s,o),s.side=e,s.needsUpdate=!0,r=!0}}!0===r&&(q.updateMultisampleRenderTarget(B),q.updateRenderTargetMipmap(B)),m.setRenderTarget(i),m.setClearColor(M,k),m.toneMapping=a}(V,i,t,l),n&&K.viewport(J.copy(n)),V.length>0&&xe(V,t,l),i.length>0&&xe(i,t,l),a.length>0&&xe(a,t,l),K.buffers.depth.setTest(!0),K.buffers.depth.setMask(!0),K.buffers.color.setMask(!0),K.setPolygonOffset(!1)}function xe(e,t,l){let n=!0===t.isScene?t.overrideMaterial:null;for(let V=0,i=e.length;V<i;V++){let i=e[V],a=i.object,r=i.geometry,s=null===n?i.material:n,o=i.group;
1a.layers.test(l.layers)&&Qe(a,t,l,r,s,o)}}function Qe(e,t,l,n,V,i){e.onBeforeRender(m,t,l,n,V,i),e.modelViewMatrix.multiplyMatrices(l.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),V.onBeforeRender(m,t,l,n,e,i),!0===V.transparent&&2===V.side&&!1===V.forceSinglePass?(V.side=xr,V.needsUpdate=!0,m.renderBufferDirect(l,t,n,V,e,i),V.side=Yr,V.needsUpdate=!0,m.renderBufferDirect(l,t,n,V,e,i),V.side=2):m.renderBufferDirect(l,t,n,V,e,i),e.onAfterRender(m,t,l,n,V,i)}function Xe(e,t,l){!0!==t.isScene&&(t=D);let n=A.get(e),V=p.state.lights,i=p.state.shadowsArray,a=V.state.version,r=Ve.getParameters(e,V.state,i,t,l),s=Ve.getProgramCacheKey(r),o=n.programs;n.environment=e.isMeshStandardMaterial?t.environment:null,n.fog=t.fog,n.envMap=(e.isMeshStandardMaterial?ee:$).get(e.envMap||n.environment),void 0===o&&(e.addEventListener("dispose",Se),o=new Map,n.programs=o);let h=o.get(s);if(void 0!==h){if(n.currentProgram===h&&n.lightsStateVersion===a)return we(e,r),h}else r.uniforms=Ve.getUniforms(e),e.onBuild(l,r,m),e.onBeforeCompile(r,m),h=Ve.acquireProgram(r,s),o.set(s,h),n.uniforms=r.uniforms;let d=n.uniforms;(!e.isShaderMaterial&&!e.isRawShaderMaterial||!0===e.clipping)&&(d.clippingPlanes=se.uniform),we(e,r),n.needsLights=function(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&!0===e.lights}(e),n.lightsStateVersion=a,n.needsLights&&(d.ambientLightColor.value=V.state.ambient,d.lightProbe.value=V.state.probe,d.directionalLights.value=V.state.directional,d.directionalLightShadows.value=V.state.directionalShadow,d.spotLights.value=V.state.spot,d.spotLightShadows.value=V.state.spotShadow,d.rectAreaLights.value=V.state.rectArea,d.ltc_1.value=V.state.rectAreaLTC1,d.ltc_2.value=V.state.rectAreaLTC2,d.pointLights.value=V.state.point,d.pointLightShadows.value=V.state.pointShadow,d.hemisphereLights.value=V.state.hemi,d.directionalShadowMap.value=V.state.directionalShadowMap,d.directionalShadowMatrix.value=V.state.directionalShadowMatrix,d.spotShadowMap.value=V.state.spotShadowMap,d.spotLightMatrix.value=V.state.spotLightMatrix,d.spotLightMap.value=V.state.spotLightMap,d.pointShadowMap.value=V.state.pointShadowMap,d.pointShadowMatrix.value=V.state.pointShadowMatrix);let R=h.getUniforms(),U=IU.seqWithValue(R.seq,d);return n.currentProgram=h,n.uniformsList=U,h}function we(e,t){let l=A.get(e);l.outputColorSpace=t.outputColorSpace,l.instancing=t.instancing,l.skinning=t.skinning,l.morphTargets=t.morphTargets,l.morphNormals=t.morphNormals,l.morphColors=t.morphColors,l.morphTargetsCount=t.morphTargetsCount,l.numClippingPlanes=t.numClippingPlanes,l.numIntersection=t.numClipIntersection,l.vertexAlphas=t.vertexAlphas,l.vertexTangents=t.vertexTangents,l.toneMapping=t.toneMapping}Me.setAnimationLoop((function(e){Je&&Je(e)})),typeof self<"u"&&Me.setContext(self),this.setAnimationLoop=function(e){Je=e,Ne.setAnimationLoop(e),null===e?Me.stop():Me.start()},Ne.addEventListener("sessionstart",Te),Ne.addEventListener("sessionend",Ge),this.render=function(e,t){if(void 0!==t&&!0!==t.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===F)return;!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),null===t.parent&&!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),!0===Ne.enabled&&!0===Ne.isPresenting&&(!0===Ne.cameraAutoUpdate&&Ne.updateCamera(t),t=Ne.getCamera()),!0===e.isScene&&e.onBeforeRender(m,e,t,E),p=re.get(e,W.length),p.init(),W.push(p),H.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),C.setFromProjectionMatrix(H),g=this.localClippingEnabled,j=se.init(this.clippingPlanes,g),c=ae.get(e,Z.length),c.init(),Z.push(c),ke(e,t,0,m.sortObjects),c.finish(),!0===m.sortObjects&&c.sort(X,w),this.info.render.frame++,!0===j&&se.beginShadows();let l=p.state.shadowsArray;if(oe.render(l,e,t),!0===j&&se.endShadows(),!0===this.info.autoReset&&this.info.reset(),he.render(c,e),p.setupLights(m.useLegacyLights),t.isArrayCamera){let l=t.cameras;for(let t=0,n=l.length;t<n;t++){let n=l[t];Ye(c,e,n,n.viewport)}}else Ye(c,e,t);null!==E&&(q.updateMultisampleRenderTarget(E),q.updateRenderTargetMipmap(E)),!0===e.isScene&&e.onAfterRender(m,e,t),pe.resetDefaultState(),b=-1,S=null,W.pop(),p=W.length>0?W[W.length-1]:null,Z.pop(),c=Z.length>0?Z[Z.length-1]:null},this.getActiveCubeFace=function(){return N},this.getActiveMipmapLevel=function(){return u},this.getRenderTarget=function(){return E},this.setRenderTargetTextures=function(e,t,l){A.get(e.texture).__webglTexture=t,A.get(e.depthTexture).__webglTexture=l;let n=A.get(e);n.__hasExternalTextures=!0,n.__hasExternalTextures&&(n.__autoAllocateDepthBuffer=void 0===l,n.__autoAllocateDepthBuffer||!0===_.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),n.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){let l=A.get(e);l.__webglFramebuffer=t,l.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e,t=0,l=0){E=e,N=t,u=l;let n=!0,V=null,i=!1,a=!1;if(e){let l=A.get(e);void 0!==l.__useDefaultFramebuffer?(K.bindFramebuffer(We.FRAMEBUFFER,null),n=!1):void 0===l.__webglFramebuffer?q.setupRenderTarget(e):l.__hasExternalTextures&&q.rebindTextures(e,A.get(e.texture).__webglTexture,A.get(e.depthTexture).__webglTexture);let r=e.texture;(r.isData3DTexture||r.isDataArrayTexture||r.isCompressedArrayTexture)&&(a=!0);let s=A.get(e).__webglFramebuffer;
1e.isWebGLCubeRenderTarget?(V=s[t],i=!0):V=L.isWebGL2&&e.samples>0&&!1===q.useMultisampledRTT(e)?A.get(e).__webglMultisampledFramebuffer:s,J.copy(e.viewport),T.copy(e.scissor),G=e.scissorTest}else J.copy(f).multiplyScalar(Q).floor(),T.copy(z).multiplyScalar(Q).floor(),G=y;if(K.bindFramebuffer(We.FRAMEBUFFER,V)&&L.drawBuffers&&n&&K.drawBuffers(e,V),K.viewport(J),K.scissor(T),K.setScissorTest(G),i){let n=A.get(e.texture);We.framebufferTexture2D(We.FRAMEBUFFER,We.COLOR_ATTACHMENT0,We.TEXTURE_CUBE_MAP_POSITIVE_X+t,n.__webglTexture,l)}else if(a){let n=A.get(e.texture),V=t||0;We.framebufferTextureLayer(We.FRAMEBUFFER,We.COLOR_ATTACHMENT0,n.__webglTexture,l||0,V)}b=-1},this.readRenderTargetPixels=function(e,t,l,n,V,i,a){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let r=A.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==a&&(r=r[a]),r){K.bindFramebuffer(We.FRAMEBUFFER,r);try{let a=e.texture,r=a.format,s=a.type;if(r!==us&&ce.convert(r)!==We.getParameter(We.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");let o=s===Fs&&(_.has("EXT_color_buffer_half_float")||L.isWebGL2&&_.has("EXT_color_buffer_float"));if(!(s===cs||ce.convert(s)===We.getParameter(We.IMPLEMENTATION_COLOR_READ_TYPE)||s===ms&&(L.isWebGL2||_.has("OES_texture_float")||_.has("WEBGL_color_buffer_float"))||o))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=e.width-n&&l>=0&&l<=e.height-V&&We.readPixels(t,l,n,V,ce.convert(r),ce.convert(s),i)}finally{let e=null!==E?A.get(E).__webglFramebuffer:null;K.bindFramebuffer(We.FRAMEBUFFER,e)}}},this.copyFramebufferToTexture=function(e,t,l=0){let n=Math.pow(2,-l),V=Math.floor(t.image.width*n),i=Math.floor(t.image.height*n);q.setTexture2D(t,0),We.copyTexSubImage2D(We.TEXTURE_2D,l,0,0,e.x,e.y,V,i),K.unbindTexture()},this.copyTextureToTexture=function(e,t,l,n=0){let V=t.image.width,i=t.image.height,a=ce.convert(l.format),r=ce.convert(l.type);q.setTexture2D(l,0),We.pixelStorei(We.UNPACK_FLIP_Y_WEBGL,l.flipY),We.pixelStorei(We.UNPACK_PREMULTIPLY_ALPHA_WEBGL,l.premultiplyAlpha),We.pixelStorei(We.UNPACK_ALIGNMENT,l.unpackAlignment),t.isDataTexture?We.texSubImage2D(We.TEXTURE_2D,n,e.x,e.y,V,i,a,r,t.image.data):t.isCompressedTexture?We.compressedTexSubImage2D(We.TEXTURE_2D,n,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):We.texSubImage2D(We.TEXTURE_2D,n,e.x,e.y,a,r,t.image),0===n&&l.generateMipmaps&&We.generateMipmap(We.TEXTURE_2D),K.unbindTexture()},this.copyTextureToTexture3D=function(e,t,l,n,V=0){if(m.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");let i,a=e.max.x-e.min.x+1,r=e.max.y-e.min.y+1,s=e.max.z-e.min.z+1,o=ce.convert(n.format),h=ce.convert(n.type);if(n.isData3DTexture)q.setTexture3D(n,0),i=We.TEXTURE_3D;else{if(!n.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");q.setTexture2DArray(n,0),i=We.TEXTURE_2D_ARRAY}We.pixelStorei(We.UNPACK_FLIP_Y_WEBGL,n.flipY),We.pixelStorei(We.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),We.pixelStorei(We.UNPACK_ALIGNMENT,n.unpackAlignment);let d=We.getParameter(We.UNPACK_ROW_LENGTH),R=We.getParameter(We.UNPACK_IMAGE_HEIGHT),U=We.getParameter(We.UNPACK_SKIP_PIXELS),c=We.getParameter(We.UNPACK_SKIP_ROWS),p=We.getParameter(We.UNPACK_SKIP_IMAGES),Z=l.isCompressedTexture?l.mipmaps[0]:l.image;We.pixelStorei(We.UNPACK_ROW_LENGTH,Z.width),We.pixelStorei(We.UNPACK_IMAGE_HEIGHT,Z.height),We.pixelStorei(We.UNPACK_SKIP_PIXELS,e.min.x),We.pixelStorei(We.UNPACK_SKIP_ROWS,e.min.y),We.pixelStorei(We.UNPACK_SKIP_IMAGES,e.min.z),l.isDataTexture||l.isData3DTexture?We.texSubImage3D(i,V,t.x,t.y,t.z,a,r,s,o,h,Z.data):l.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),We.compressedTexSubImage3D(i,V,t.x,t.y,t.z,a,r,s,o,Z.data)):We.texSubImage3D(i,V,t.x,t.y,t.z,a,r,s,o,h,Z),We.pixelStorei(We.UNPACK_ROW_LENGTH,d),We.pixelStorei(We.UNPACK_IMAGE_HEIGHT,R),We.pixelStorei(We.UNPACK_SKIP_PIXELS,U),We.pixelStorei(We.UNPACK_SKIP_ROWS,c),We.pixelStorei(We.UNPACK_SKIP_IMAGES,p),0===V&&n.generateMipmaps&&We.generateMipmap(i),K.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?q.setTextureCube(e,0):e.isData3DTexture?q.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?q.setTexture2DArray(e,0):q.setTexture2D(e,0),K.unbindTexture()},this.resetState=function(){N=0,u=0,E=null,K.reset(),pe.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ks}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace
vendor: 7,261 bytes, line 1
1===ws?Qs:3e3}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Qs?ws:fs}};(class extends Cc{}).prototype.isWebGL1Renderer=!0;var jc,gc=class extends Ch{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}},Bc=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.usage=Os,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=lo()}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,l){e*=this.stride,l*=t.stride;for(let n=0,V=this.stride;n<V;n++)this.array[e+n]=t.array[l+n];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=lo()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),l=new this.constructor(t,this.stride);return l.setUsage(this.usage),l}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=lo()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},Hc=new yo,vc=class e{constructor(e,t,l,n=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=l,this.normalized=n}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,l=this.data.count;t<l;t++)Hc.fromBufferAttribute(this,t),Hc.applyMatrix4(e),this.setXYZ(t,Hc.x,Hc.y,Hc.z);return this}applyNormalMatrix(e){for(let t=0,l=this.count;t<l;t++)Hc.fromBufferAttribute(this,t),Hc.applyNormalMatrix(e),this.setXYZ(t,Hc.x,Hc.y,Hc.z);return this}transformDirection(e){for(let t=0,l=this.count;t<l;t++)Hc.fromBufferAttribute(this,t),Hc.transformDirection(e),this.setXYZ(t,Hc.x,Hc.y,Hc.z);return this}setX(e,t){return this.normalized&&(t=oo(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=oo(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=oo(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=oo(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=so(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=so(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=so(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=so(t,this.array)),t}setXY(e,t,l){return e=e*this.data.stride+this.offset,this.normalized&&(t=oo(t,this.array),l=oo(l,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=l,this}setXYZ(e,t,l,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=oo(t,this.array),l=oo(l,this.array),n=oo(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=l,this.data.array[e+2]=n,this}setXYZW(e,t,l,n,V){return e=e*this.data.stride+this.offset,this.normalized&&(t=oo(t,this.array),l=oo(l,this.array),n=oo(n,this.array),V=oo(V,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=l,this.data.array[e+2]=n,this.data.array[e+3]=V,this}clone(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let t=0;t<this.count;t++){let l=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[l+t])}return new sd(new this.array.constructor(e),this.itemSize,this.normalized)}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new e(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let t=0;t<this.count;t++){let l=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[l+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},Ic=class extends qh{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new nd(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}},Dc=new yo,Oc=new yo,_c=new yo,Lc=new Ro,Kc=new Ro,Pc=new Uh,Ac=new yo,qc=new yo,$c=new yo,ep=new Ro,tp=new Ro,lp=new Ro,np=class extends Ch{constructor(e){if(super(),this.isSprite=!0,this.type="Sprite",void 0===jc){jc=new Fd;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),t=new Bc(e,5);jc.setIndex([0,1,2,0,2,3]),jc.setAttribute("position",new vc(t,3,0,!1)),jc.setAttribute("uv",new vc(t,2,3,!1))}this.geometry=jc,this.material=void 0!==e?e:new Ic,this.center=new Ro(.5,.5)}raycast(e,t){null===e.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),Oc.setFromMatrixScale(this.matrixWorld),Pc.c
1opy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),_c.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&Oc.multiplyScalar(-_c.z);let l,n,V=this.material.rotation;0!==V&&(n=Math.cos(V),l=Math.sin(V));let i=this.center;Vp(Ac.set(-.5,-.5,0),_c,i,Oc,l,n),Vp(qc.set(.5,-.5,0),_c,i,Oc,l,n),Vp($c.set(.5,.5,0),_c,i,Oc,l,n),ep.set(0,0),tp.set(1,0),lp.set(1,1);let a=e.ray.intersectTriangle(Ac,qc,$c,!1,Dc);if(null===a&&(Vp(qc.set(-.5,.5,0),_c,i,Oc,l,n),tp.set(0,1),a=e.ray.intersectTriangle(Ac,$c,qc,!1,Dc),null===a))return;let r=e.ray.origin.distanceTo(Dc);r<e.near||r>e.far||t.push({distance:r,point:Dc.clone(),uv:Ph.getInterpolation(Dc,Ac,qc,$c,ep,tp,lp,new Ro),face:null,object:this})}copy(e,t){return super.copy(e,t),void 0!==e.center&&this.center.copy(e.center),this.material=e.material,this}};function Vp(e,t,l,n,V,i){Lc.subVectors(e,l).addScalar(.5).multiply(n),void 0!==V?(Kc.x=i*Lc.x-V*Lc.y,Kc.y=V*Lc.x+i*Lc.y):Kc.copy(Lc),e.copy(t),e.x+=Kc.x,e.y+=Kc.y,e.applyMatrix4(Pc)}var ip=class extends qh{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new nd(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},ap=new yo,rp=new yo,sp=new Uh,op=new Rh,hp=new Vh,dp=class extends Ch{constructor(e=new Fd,t=new ip){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(null===e.index){let t=e.attributes.position,l=[0];for(let e=1,n=t.count;e<n;e++)ap.fromBufferAttribute(t,e-1),rp.fromBufferAttribute(t,e),l[e]=l[e-1],l[e]+=ap.distanceTo(rp);e.setAttribute("lineDistance",new dd(l,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){let l=this.geometry,n=this.matrixWorld,V=e.params.Line.threshold,i=l.drawRange;if(null===l.boundingSphere&&l.computeBoundingSphere(),hp.copy(l.boundingSphere),hp.applyMatrix4(n),hp.radius+=V,!1===e.ray.intersectsSphere(hp))return;sp.copy(n).invert(),op.copy(e.ray).applyMatrix4(sp);let a=V/((this.scale.x+this.scale.y+this.scale.z)/3),r=a*a,s=new yo,o=new yo,h=new yo,d=new yo,R=this.isLineSegments?2:1,U=l.index,c=l.attributes.position;if(null!==U){for(let l=Math.max(0,i.start),n=Math.min(U.count,i.start+i.count)-1;l<n;l+=R){let n=U.getX(l),V=U.getX(l+1);if(s.fromBufferAttribute(c,n),o.fromBufferAttribute(c,V),op.distanceSqToSegment(s,o,d,h)>r)continue;d.applyMatrix4(this.matrixWorld);let i=e.ray.origin.distanceTo(d);i<e.near||i>e.far||t.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:l,face:null,faceIndex:null,object:this})}}else{for(let l=Math.max(0,i.start),n=Math.min(c.count,i.start+i.count)-1;l<n;l+=R){if(s.fromBufferAttribute(c,l),o.fromBufferAttribute(c,l+1),op.distanceSqToSegment(s,o,d,h)>r)continue;d.applyMatrix4(this.matrixWorld);let n=e.ray.origin.distanceTo(d);n<e.near||n>e.far||t.push({distance:n,point:h.clone().applyMatrix4(this.matrixWorld),index:l,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let l=e[t[0]];if(void 0!==l){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=l.length;e<t;e++){let t=l[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}},Rp=new yo,Up=new yo,cp=class extends dp{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){let e=this.geometry;if(null===e.index){let t=e.attributes.position,l=[];for(let e=0,n=t.count;e<n;e+=2)Rp.fromBufferAttribute(t,e),Up.fromBufferAttribute(t,e+1),l[e]=0===e?0:l[e-1],l[e+1]=l[e]+Rp.distanceTo(Up);e.setAttribute("lineDistance",new dd(l,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}},pp=class extends Qo{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=ss,this.minFilter=ss,this.generateMipmaps=!1,this.needsUpdate=!0}},Zp=class extends Qo{constructor(e,t,l,n,V,i,a,r,s){super(e,t,l,n,V,i,a,r,s),this.isCanvasTexture=!0,this.needsUpdate=!0}},Wp=class e extends Fd{constructor(e=1,t=32,l=0,n=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radiu
vendor: 3,928 bytes, line 1
1s:e,segments:t,thetaStart:l,thetaLength:n},t=Math.max(3,t);let V=[],i=[],a=[],r=[],s=new yo,o=new Ro;i.push(0,0,0),a.push(0,0,1),r.push(.5,.5);for(let V=0,h=3;V<=t;V++,h+=3){let d=l+V/t*n;s.x=e*Math.cos(d),s.y=e*Math.sin(d),i.push(s.x,s.y,s.z),a.push(0,0,1),o.x=(i[h]/e+1)/2,o.y=(i[h+1]/e+1)/2,r.push(o.x,o.y)}for(let e=1;e<=t;e++)V.push(e,e+1,0);this.setIndex(V),this.setAttribute("position",new dd(i,3)),this.setAttribute("normal",new dd(a,3)),this.setAttribute("uv",new dd(r,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.segments,t.thetaStart,t.thetaLength)}},mp=class e extends Fd{constructor(e=1,t=1,l=1,n=32,V=1,i=!1,a=0,r=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:l,radialSegments:n,heightSegments:V,openEnded:i,thetaStart:a,thetaLength:r};let s=this;n=Math.floor(n),V=Math.floor(V);let o=[],h=[],d=[],R=[],U=0,c=[],p=l/2,Z=0;function W(l){let V=U,i=new Ro,c=new yo,W=0,m=!0===l?e:t,F=!0===l?1:-1;for(let e=1;e<=n;e++)h.push(0,p*F,0),d.push(0,F,0),R.push(.5,.5),U++;let N=U;for(let e=0;e<=n;e++){let t=e/n*r+a,l=Math.cos(t),V=Math.sin(t);c.x=m*V,c.y=p*F,c.z=m*l,h.push(c.x,c.y,c.z),d.push(0,F,0),i.x=.5*l+.5,i.y=.5*V*F+.5,R.push(i.x,i.y),U++}for(let e=0;e<n;e++){let t=V+e,n=N+e;!0===l?o.push(n,n+1,t):o.push(n+1,n,t),W+=3}s.addGroup(Z,W,!0===l?1:2),Z+=W}(function(){let i=new yo,W=new yo,m=0,F=(t-e)/l;for(let s=0;s<=V;s++){let o=[],Z=s/V,m=Z*(t-e)+e;for(let e=0;e<=n;e++){let t=e/n,V=t*r+a,s=Math.sin(V),c=Math.cos(V);W.x=m*s,W.y=-Z*l+p,W.z=m*c,h.push(W.x,W.y,W.z),i.set(s,F,c).normalize(),d.push(i.x,i.y,i.z),R.push(t,1-Z),o.push(U++)}c.push(o)}for(let e=0;e<n;e++)for(let t=0;t<V;t++){let l=c[t][e],n=c[t+1][e],V=c[t+1][e+1],i=c[t][e+1];o.push(l,n,i),o.push(n,V,i),m+=6}s.addGroup(Z,m,0),Z+=m})(),!1===i&&(e>0&&W(!0),t>0&&W(!1)),this.setIndex(o),this.setAttribute("position",new dd(h,3)),this.setAttribute("normal",new dd(d,3)),this.setAttribute("uv",new dd(R,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},Fp=class e extends Fd{constructor(e=[],t=[],l=1,n=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:l,detail:n};let V=[],i=[];function a(e,t,l,n){let V=n+1,i=[];for(let n=0;n<=V;n++){i[n]=[];let a=e.clone().lerp(l,n/V),r=t.clone().lerp(l,n/V),s=V-n;for(let e=0;e<=s;e++)i[n][e]=0===e&&n===V?a:a.clone().lerp(r,e/s)}for(let e=0;e<V;e++)for(let t=0;t<2*(V-e)-1;t++){let l=Math.floor(t/2);t%2==0?(r(i[e][l+1]),r(i[e+1][l]),r(i[e][l])):(r(i[e][l+1]),r(i[e+1][l+1]),r(i[e+1][l]))}}function r(e){V.push(e.x,e.y,e.z)}function s(t,l){let n=3*t;l.x=e[n+0],l.y=e[n+1],l.z=e[n+2]}function o(e,t,l,n){n<0&&1===e.x&&(i[t]=e.x-1),0===l.x&&0===l.z&&(i[t]=n/2/Math.PI+.5)}function h(e){return Math.atan2(e.z,-e.x)}function d(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}(function(e){let l=new yo,n=new yo,V=new yo;for(let i=0;i<t.length;i+=3)s(t[i+0],l),s(t[i+1],n),s(t[i+2],V),a(l,n,V,e)})(n),function(e){let t=new yo;for(let l=0;l<V.length;l+=3)t.x=V[l+0],t.y=V[l+1],t.z=V[l+2],t.normalize().multiplyScalar(e),V[l+0]=t.x,V[l+1]=t.y,V[l+2]=t.z}(l),function(){let e=new yo;for(let t=0;t<V.length;t+=3){e.x=V[t+0],e.y=V[t+1],e.z=V[t+2];let l=h(e)/2/Math.PI+.5,n=d(e)/Math.PI+.5;i.push(l,1-n)}(function(){let e=new yo,t=new yo,l=new yo,n=new yo,a=new Ro,r=new Ro,s=new Ro;for(let d=0,R=0;d<V.length;d+=9,R+=6){e.set(V[d+0],V[d+1],V[d+2]),t.set(V[d+3],V[d+4],V[d+5]),l.set(V[d+6],V[d+7],V[d+8]),a.set(i[R+0],i[R+1]),r.set(i[R+2],i[R+3]),s.set(i[R+4],i[R+5]),n.copy(e).add(t).add(l).divideScalar(3);let U=h(n);o(a,R+0,e,U),o(r,R+2,t,U),o(s,R+4,l,U)}})(),function(){for(let e=0;e<i.length;e+=6){let t=i[e+0],l=i[e+2],n=i[e+4],V=Math.max(t,l,n),a=Math.min(t,l,n);V>
1.9&&a<.1&&(t<.2&&(i[e+0]+=1),l<.2&&(i[e+2]+=1),n<.2&&(i[e+4]+=1))}}()}(),this.setAttribute("position",new dd(V,3)),this.setAttribute("normal",new dd(V.slice(),3)),this.setAttribute("uv",new dd(i,2)),0===n?this.computeVertexNormals():this.normalizeNormals()}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.vertices,t.indices,t.radius,t.details)}},Np=class e extends Fp{constructor(e=1,t=0){super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(t){return new e(t.radius,t.detail)}},up=class e extends Fd{constructor(e=.5,t=1,l=32,n=1,V=0,i=2*Math.PI){super(),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:l,phiSegments:n,thetaStart:V,thetaLength:i},l=Math.max(3,l);let a=[],r=[],s=[],o=[],h=e,d=(t-e)/(n=Math.max(1,n)),R=new yo,U=new Ro;for(let e=0;e<=n;e++){for(let e=0;e<=l;e++){let n=V+e/l*i;R.x=h*Math.cos(n),R.y=h*Math.sin(n),r.push(R.x,R.y,R.z),s.push(0,0,1),U.x=(R.x/t+1)/2,U.y=(R.y/t+1)/2,o.push(U.x,U.y)}h+=d}for(let e=0;e<n;e++){let t=e*(l+1);for(let e=0;e<l;e++){let n=e+t,V=n,i=n+l+1,r=n+l+2,s=n+1;a.push(V,i,s),a.push(i,r,s)}}this.setIndex(a),this.setAttribute("position",new dd(r,3)),this.setAttribute("normal",new dd(s,3)),this.setAttribute("uv",new dd(o,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}},Ep=class e extends Fd{constructor(e=1,t=32,l=16,n=0,V=2*Math.PI,i=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:l,phiStart:n,phiLength:V,thetaStart:i,thetaLength:a},t=Math.max(3,Math.floor(t)),l=Math.max(2,Math.floor(l));let r=Math.min(i+a,Math.PI),s=0,o=[],h=new yo,d=new yo,R=[],U=[],c=[],p=[];for(let R=0;R<=l;R++){let Z=[],W=R/l,m=0;0===R&&0===i?m=.5/t:R===l&&r===Math.PI&&(m=-.5/t);for(let l=0;l<=t;l++){let r=l/t;h.x=-e*Math.cos(n+r*V)*Math.sin(i+W*a),h.y=e*Math.cos(i+W*a),h.z=e*Math.sin(n+r*V)*Math.sin(i+W*a),U.push(h.x,h.y,h.z),d.copy(h).normalize(),c.push(d.x,d.y,d.z),p.push(r+m,1-W),Z.push(s++)}o.push(Z)}for(let e=0;e<l;e++)for(let n=0;n<t;n++){let t=o[e][n+1],V=o[e][n],a=o[e+1][n],s=o[e+1][n+1];(0!==e||i>0)&&R.push(t,V,s),(e!==l-1||r<Math.PI)&&R.push(V,a,s)}this.setIndex(R),this.setAttribute("position",new dd(U,3)),this.setAttribute("normal",new dd(c,3)),this.setAttribute("uv",new dd(p,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}},bp=class e extends Fd{constructor(e=1,t=.4,l=12,n=48,V=2*Math.PI){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:l,tubularSegments:n,arc:V},l=Math.floor(l),n=Math.floor(n);let i=[],a=[],r=[],s=[],o=new yo,h=new yo,d=new yo;for(let i=0;i<=l;i++)for(let R=0;R<=n;R++){let U=R/n*V,c=i/l*Math.PI*2;h.x=(e+t*Math.cos(c))*Math.cos(U),h.y=(e+t*Math.cos(c))*Math.sin(U),h.z=t*Math.sin(c),a.push(h.x,h.y,h.z),o.x=e*Math.cos(U),o.y=e*Math.sin(U),d.subVectors(h,o).normalize(),r.push(d.x,d.y,d.z),s.push(R/n),s.push(i/l)}for(let e=1;e<=l;e++)for(let t=1;t<=n;t++){let l=(n+1)*e+t-1,V=(n+1)*(e-1)+t-1,a=(n+1)*(e-1)+t,r=(n+1)*e+t;i.push(l,V,r),i.push(V,a,r)}this.setIndex(i),this.setAttribute("position",new dd(a,3)),this.setAttribute("normal",new dd(r,3)),this.setAttribute("uv",new dd(s,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(t){return new e(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}},Sp=class extends Fd{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},null!==e){let t=[],l=new Set,n=new yo,V=new yo;if(null!==e.index){let i=e.attributes.position,a=e.index,r=e.groups;0===r.length&&(r=[{start:0,count:a.count,materialIndex:0}]);for(let e=0,s=r.length;e<s;++e){let s=r[e],o=s.start;for(let e=o,r=o+s.count;e<r;e+=3)for(let r=0;r<3;r++){let s=a.getX(e+r),o=a.getX(e+(r+1)%3);n.fromBufferAttribute(i,s),V.fromBufferAttribute(i,o),!0===Jp(n,V,l)&&(t.push(n.x,n.y,n.z),t.pu
1sh(V.x,V.y,V.z))}}}else{let i=e.attributes.position;for(let e=0,a=i.count/3;e<a;e++)for(let a=0;a<3;a++){let r=3*e+a,s=3*e+(a+1)%3;n.fromBufferAttribute(i,r),V.fromBufferAttribute(i,s),!0===Jp(n,V,l)&&(t.push(n.x,n.y,n.z),t.push(V.x,V.y,V.z))}}this.setAttribute("position",new dd(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}};function Jp(e,t,l){let n=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`,V=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`;return!0!==l.has(n)&&!0!==l.has(V)&&(l.add(n),l.add(V),!0)}var Tp=class extends ip{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}};function Gp(e,t,l){return kp(e)?new e.constructor(e.subarray(t,void 0!==l?l:e.length)):e.slice(t,l)}function Mp(e,t,l){return!e||!l&&e.constructor===t?e:"number"==typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)}function kp(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Yp=class{constructor(e,t,l,n){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==n?n:new t.constructor(l),this.sampleValues=t,this.valueSize=l,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,l=this._cachedIndex,n=t[l],V=t[l-1];e:{t:{let i;l:{n:if(!(e<n)){for(let i=l+2;;){if(void 0===n){if(e<V)break n;return l=t.length,this._cachedIndex=l,this.copySampleValue_(l-1)}if(l===i)break;if(V=n,n=t[++l],e<n)break t}i=t.length;break l}if(e>=V)break e;{let a=t[1];e<a&&(l=2,V=a);for(let i=l-2;;){if(void 0===V)return this._cachedIndex=0,this.copySampleValue_(0);if(l===i)break;if(n=V,V=t[--l-1],e>=V)break t}i=l,l=0}}for(;l<i;){let n=l+i>>>1;e<t[n]?i=n:l=n+1}if(n=t[l],V=t[l-1],void 0===V)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===n)return l=t.length,this._cachedIndex=l,this.copySampleValue_(l-1)}this._cachedIndex=l,this.intervalChanged_(l,V,n)}return this.interpolate_(l,V,e,n)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){let t=this.resultBuffer,l=this.sampleValues,n=this.valueSize,V=e*n;for(let e=0;e!==n;++e)t[e]=l[V+e];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},xp=class extends Yp{constructor(e,t,l,n){super(e,t,l,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:2400,endingEnd:2400}}intervalChanged_(e,t,l){let n=this.parameterPositions,V=e-2,i=e+1,a=n[V],r=n[i];if(void 0===a)switch(this.getSettings_().endingStart){case 2401:V=e,a=2*t-l;break;case 2402:V=n.length-2,a=t+n[V]-n[V+1];break;default:V=e,a=l}if(void 0===r)switch(this.getSettings_().endingEnd){case 2401:i=e,r=2*l-t;break;case 2402:i=1,r=l+n[1]-n[0];break;default:i=e-1,r=t}let s=.5*(l-t),o=this.valueSize;this._weightPrev=s/(t-a),this._weightNext=s/(r-l),this._offsetPrev=V*o,this._offsetNext=i*o}interpolate_(e,t,l,n){let V=this.resultBuffer,i=this.sampleValues,a=this.valueSize,r=e*a,s=r-a,o=this._offsetPrev,h=this._offsetNext,d=this._weightPrev,R=this._weightNext,U=(l-t)/(n-t),c=U*U,p=c*U,Z=-d*p+2*d*c-d*U,W=(1+d)*p+(-1.5-2*d)*c+(-.5+d)*U+1,m=(-1-R)*p+(1.5+R)*c+.5*U,F=R*p-R*c;for(let e=0;e!==a;++e)V[e]=Z*i[o+e]+W*i[s+e]+m*i[r+e]+F*i[h+e];return V}},Qp=class extends Yp{constructor(e,t,l,n){super(e,t,l,n)}interpolate_(e,t,l,n){let V=this.resultBuffer,i=this.sampleValues,a=this.valueSize,r=e*a,s=r-a,o=(l-t)/(n-t),h=1-o;for(let e=0;e!==a;++e)V[e]=i[s+e]*h+i[r+e]*o;return V}},Xp=class extends Yp{constructor(e,t,l,n){super(e,t,l,n)}interpolate_(e){return this.copySampleValue_(e-1)}},wp=class{constructor(e,t,l,n){if(void 0===e)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===t||0===t.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=Mp(t,this.TimeBufferType),this.values=Mp(l,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}static toJSON(e){let t,l=e.constructor;if(l.toJSON!==this.toJSON)t=l.toJSON(e);else{t={name:e.name,times:Mp(e.times,Array),values:Mp(e.values,Array)};let l=e.getInterpolation();l!==e.DefaultInterpolation&&(t.interpolation=l)}return t.type=e.ValueTypeName,t}InterpolantFactoryMethodDiscrete(e){return new Xp(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new Qp(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new xp(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case ks:t=this.InterpolantFactoryMethodDiscrete;break;case Ys:t=this.InterpolantFactoryMethodLinear;break;case xs:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){let t="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",t),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ks;case this.InterpolantFactoryMethodLinear:return Ys;case this.InterpolantFactoryMethodSmooth:return xs}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){let t=this.times;for(let l=0,n=t.length;l!==n;++l)t[l]+=e}return this}scale(e){if(1!==e){let t=this.times;for(let l=0,n=t.length;l!==n;++l)t[l]*=e}return this}trim(e,t){let l=this.times,n=l.length,V=0,i=n-1;for(;V!==n&&l[V]<e;)++V;for(;-1!==i&&l[i]>t;)--i;if(++i,0!==V||i!==n){V>=i&&(i=Math.max(i,1),V=i-1);let e=this.getValueSize();this.times=Gp(l,V,i),this.values=Gp(this.values,V*e,i*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);let l=this.times,n=this.values,V=l.length;0===V&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let i=null;for(let t=0;t!==V;t++){let n=l[t];if("number"==typeof n&&isNaN(n)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,n),e=!1;break}if(null!==i&&i>n){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,n,i),e=!1;break}i=n}if(void 0!==n&&kp(n))for(let t=0,l=n.length;t!==l;++t){let l=n[t];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,l),e=!1;break}}return e}optimize(){let e=Gp(this.times),t=Gp(this.values),l=this.getValueSize(),n=this.getInterpolation()===xs,V=e.length-1,i=1;for(let a=1;a<V;++a){let V=!1,r=e[a];if(r!==e[a+1]&&(1!==a||r!==e[0]))if(n)V=!0;else{let e=a*l,n=e-l,i=e+l;for(let a=0;a!==l;++a){let l=t[e+a];if(l!==t[n+a]||l!==t[i+a]){V=!0;break}}}if(V){if(a!==i){e[i]=e[a];let n=a*l,V=i*l;for(let e=0;e!==l;++e)t[V+e]=t[n+e]}++i}}if(V>0){e[i]=e[V];for(let e=V*l,n=i*l,a=0;a!==l;++a)t[n+a]=t[e+a];++i}return i!==e.length?(this.times=Gp(e,0,i),this.values=Gp(t,0,i*l)):(this.times=e,this.values=t),this}clone(){let e=Gp(this.times,0),t=Gp(this.values,0),l=new(0,this.constructor)(this.name,e,t);return l.createInterpolant=this.createInterpolant,l}};wp.prototype.TimeBufferType=Float32Array,wp.prototype.ValueBufferType=Float32Array,wp.prototype.DefaultInterpolation=Ys;var fp=class extends wp{};fp.prototype.ValueTypeName="bool",fp.prototype.ValueBufferType=Array,fp.prototype.DefaultInterpolation=ks,fp.prototype.InterpolantFactoryMethodLinear=void 0,fp.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends wp{}).prototype.ValueTypeName="color";(class extends wp{}).prototype.ValueTypeName="number";var zp=class extends Yp{constructor(e,t,l,n){super(e,t,l,n)}interpolate_(e,t,l,n){let V=this.resultBuffer,i=this.sampleValues,a=this.valueSize,r=(l-t)/(n-t),s=e*a;for(let e=s+a;s!==e;s+=4)zo.slerpFlat(V,0,i,s-a,i,s,r);return V}},yp=class extends wp{InterpolantFactoryMethodLinear(e){return new zp(this.times,this.values,this.getValueSize(),e)}};yp.prototype.ValueTypeName="quaternion",yp.prototype.DefaultInterpolation=Ys,yp.prototype.InterpolantFactoryMethodSmooth=void 0;var Cp=class extends wp{};Cp.prototype.ValueTypeName="string",Cp.prototype.ValueBufferType=Array,Cp.prototype.DefaultInterpolation=ks,Cp.prototype.InterpolantFactoryMethodLinear=void 0,Cp.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends wp{}).prototype.ValueTypeName="vector";new class{constructor(e,t,l){let n,V=this,i=!1,a=0,r=0,s=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=l,this.itemStart=function(e){r++,!1===i&&void 0!==V.onStart&&V.onStart(e,a,r),i=!0},this.itemEnd=function(e){a++,void 0!==V.onProgress&&V.onProgress(e,a,r),a===r&&(i=!1,void 0!==V.onLoad&&V.onLoad())},this.itemError=function(e){void 0!==V.onError&&V.onError(e)},this.resolveURL=function(e){return n?n(e):e},this.setURLModifier=function(e){return n=e,this},this.addHandler=function(e,t){return s.push(e,t),this},this.removeHandler=function(e){let t=s.indexOf(e);return-1!==t&&s.splice(t,2),this},this.getHandler=function(e){for(let t=0,l=s.length;t<l;t+=2){let l=s[t],n=s[t+1];if(l.global&&(l.lastIndex=0),l.test(e))return n}return null}}};var jp=class extends Fd{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){let e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}},gp=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Bp(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let t=Bp();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}};function Bp(){return(typeof performance>"u"?Date:performance).now()}var Hp="\\[\\]\\.:\\/",vp=new RegExp("["+Hp+"]","g"),Ip="[^"+Hp+"]",Dp="[^"+Hp.replace("\\.","")+"]",Op=/((?:WC+[\/:])*)/.source.replace("WC",Ip),_p=/(WCOD+)?/.source.replace("WCOD",Dp),Lp=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Ip),Kp=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Ip),Pp=new RegExp("^"+Op+_p+Lp+Kp+"$"),Ap=["material","materials","bones","map"],qp=class e{constructor(t,l,n){this.path=l,this.parsedPath=n||e.parseTrackName(l),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,l,n){return t&&t.isAnimationObjectGroup?new e.Composite(t,l,n):new e(t,l,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(vp,"")}static parseTrackName(e){let t=Pp.exec(e);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);let l={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},n=l.nodeName&&l.nodeName.lastIndexOf(".");if(void 0!==n&&-1!==n){let e=l.nodeName.substring(n+1);-1!==Ap.indexOf(e)&&(l.nodeName=l.nodeName.substring(0,n),l.objectName=e)}if(null===l.propertyName||0===l.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return l}static findNode(e,t){if(void 0===t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){let l=e.skeleton.getBoneByName(t);if(void 0!==l)return l}if(e.children){let l=function(e){for(let n=0;n<e.length;n++){let V=e[n];if(V.name===t||V.uuid===t)return V;let i=l(V.children);if(i)return i}return null},n=l(e.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){let l=this.resolvedProperty;for(let n=0,V=l.length;n!==V;++n)e[t++]=l[n]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){let l=this.resolvedProperty;for(let n=0,V=l.length;n!==V;++n)l[n]=e[t++]}_setValue_array_setNeedsUpdate(e,t){let l=this.resolvedProperty;for(let n=0,V=l.length;n!==V;++n)l[n]=e[t++];this.targetObject.needsUpdate=!0}
vendor: 4,977 bytes, line 1
1_setValue_array_setMatrixWorldNeedsUpdate(e,t){let l=this.resolvedProperty;for(let n=0,V=l.length;n!==V;++n)l[n]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let t=this.node,l=this.parsedPath,n=l.objectName,V=l.propertyName,i=l.propertyIndex;if(t||(t=e.findNode(this.rootNode,l.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){let e=l.objectIndex;switch(n){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(let l=0;l<t.length;l++)if(t[l].name===e){e=l;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.map)return void console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);t=t.material.map;break;default:if(void 0===t[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[n]}if(void 0!==e){if(void 0===t[e])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[e]}}let a=t[V];if(void 0===a){let e=l.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+e+"."+V+" but it wasn't found.",t)}let r=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?r=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(r=this.Versioning.MatrixWorldNeedsUpdate);let s=this.BindingType.Direct;if(void 0!==i){if("morphTargetInfluences"===V){if(!t.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==t.morphTargetDictionary[i]&&(i=t.morphTargetDictionary[i])}s=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=i}else void 0!==a.fromArray&&void 0!==a.toArray?(s=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(s=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=V;this.getValue=this.GetterByBindingType[s],this.setValue=this.SetterByBindingTypeAndVersioning[s][r]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};qp.Composite=class{constructor(e,t,l){let n=l||qp.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,n)}getValue(e,t){this.bind();let l=this._targetGroup.nCachedObjects_,n=this._bindings[l];void 0!==n&&n.getValue(e,t)}setValue(e,t){let l=this._bindings;for(let n=this._targetGroup.nCachedObjects_,V=l.length;n!==V;++n)l[n].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,l=e.length;t!==l;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,l=e.length;t!==l;++t)e[t].unbind()}},qp.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},qp.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},qp.prototype.GetterByBindingType=[qp.prototype._getValue_direct,qp.prototype._getValue_array,qp.prototype._getValue_arrayElement,qp.prototype._getValue_toArray],qp.prototype.SetterByBindingTypeAndVersioning=[[qp.prototype._setValue_direct,qp.prototype._setValue_direct_setNeedsUpdate,qp.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[qp.prototype._setValue_array,qp.prototype._setValue_array_setNeedsUpdate,qp.prototype._setValue_array_setMatr
1ixWorldNeedsUpdate],[qp.prototype._setValue_arrayElement,qp.prototype._setValue_arrayElement_setNeedsUpdate,qp.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[qp.prototype._setValue_fromArray,qp.prototype._setValue_fromArray_setNeedsUpdate,qp.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];new Float32Array(1);var $p=class extends Bc{constructor(e,t,l=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=l}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){let t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){let t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}},eZ=class{constructor(e,t,l=0,n=1/0){this.ray=new Rh(e,t),this.near=l,this.far=n,this.camera=null,this.layers=new Sh,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}intersectObject(e,t=!0,l=[]){return lZ(e,this,l,t),l.sort(tZ),l}intersectObjects(e,t=!0,l=[]){for(let n=0,V=e.length;n<V;n++)lZ(e[n],this,l,t);return l.sort(tZ),l}};function tZ(e,t){return e.distance-t.distance}function lZ(e,t,l,n){if(e.layers.test(t.layers)&&e.raycast(t,l),!0===n){let n=e.children;for(let e=0,V=n.length;e<V;e++)lZ(n[e],t,l,!0)}}var nZ=new Ro,VZ=class{constructor(e=new Ro(1/0,1/0),t=new Ro(-1/0,-1/0)){this.isBox2=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,l=e.length;t<l;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let l=nZ.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(l),this.max.copy(e).add(l),this}clone(){return(new this.constructor).copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,nZ).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},iZ=new yo,aZ=new yo;typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"154"}})),typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="154");var rZ=h(N()),sZ=[];for(let e=0;e<256;++e)sZ.push((e+256).toString(16).slice(1));var oZ=new Uint8Array(16);var hZ=function(e,t,l){return t||e||!crypto.randomUUID?function(e,t,l){e=e||{};let n=e.random??e.rng?.()??crypto.getRandomValues(oZ);if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){if((l=l||0)<0||l+16>t.length)throw new RangeError(`UUID byte range ${l}:${l+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[l+e]=n[e];return t}return function(e,t=0){return(sZ[e[t+0]]+sZ[e[t+1]]+sZ[e[t+2]]+sZ[e[t+3]]+"-"+sZ[e[t+4]]+sZ[e[t+5]]+"-"+sZ[e[t+6]]+sZ[e[t+7]]+"-"+sZ[e[t+8]]+sZ[e[t+9]]+"-"+sZ[e[t+10]]+sZ[e[t+11]]+sZ[e[t+12]]+sZ[e[t+13]]+sZ[e[t+14]]+sZ[e[t+15]]).toLowerCase()}(n)}(e,t,l):crypto.randomUUID()},dZ=new eZ,RZ=new yo,UZ=new yo,cZ=new zo,pZ={X:new yo(1,0,0),Y:new yo(0,
11,0),Z:new yo(0,0,1)},ZZ={type:"change"},WZ={type:"mouseDown"},mZ={type:"mouseUp",mode:null},FZ={type:"objectChange"},NZ=class extends Ch{constructor(e,t){super(),void 0===t&&(console.warn('THREE.TransformControls: The second parameter "domElement" is now mandatory.'),t=document),this.isTransformControls=!0,this.visible=!1,this.domElement=t,this.domElement.style.touchAction="none";let l=new BZ;this._gizmo=l,this.add(l);let n=new HZ;this._plane=n,this.add(n);let V=this;function i(e,t){let i=t;Object.defineProperty(V,e,{get:function(){return void 0!==i?i:t},set:function(t){i!==t&&(i=t,n[e]=t,l[e]=t,V.dispatchEvent({type:e+"-changed",value:t}),V.dispatchEvent(ZZ))}}),V[e]=t,n[e]=t,l[e]=t}i("camera",e),i("object",void 0),i("enabled",!0),i("axis",null),i("mode","translate"),i("translationSnap",null),i("rotationSnap",null),i("scaleSnap",null),i("space","world"),i("size",1),i("dragging",!1),i("showX",!0),i("showY",!0),i("showZ",!0);let a=new yo,r=new yo,s=new zo,o=new zo,h=new yo,d=new zo,R=new yo,U=new yo,c=new yo,p=new yo;i("worldPosition",a),i("worldPositionStart",r),i("worldQuaternion",s),i("worldQuaternionStart",o),i("cameraPosition",h),i("cameraQuaternion",d),i("pointStart",R),i("pointEnd",U),i("rotationAxis",c),i("rotationAngle",0),i("eye",p),this._offset=new yo,this._startNorm=new yo,this._endNorm=new yo,this._cameraScale=new yo,this._parentPosition=new yo,this._parentQuaternion=new zo,this._parentQuaternionInv=new zo,this._parentScale=new yo,this._worldScaleStart=new yo,this._worldQuaternionInv=new zo,this._worldScale=new yo,this._positionStart=new yo,this._quaternionStart=new zo,this._scaleStart=new yo,this._getPointer=uZ.bind(this),this._onPointerDown=bZ.bind(this),this._onPointerHover=EZ.bind(this),this._onPointerMove=SZ.bind(this),this._onPointerUp=JZ.bind(this),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointermove",this._onPointerHover),this.domElement.addEventListener("pointerup",this._onPointerUp)}updateMatrixWorld(){void 0!==this.object&&(this.object.updateMatrixWorld(),null===this.object.parent?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):this.object.parent.matrixWorld.decompose(this._parentPosition,this._parentQuaternion,this._parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this._worldScale),this._parentQuaternionInv.copy(this._parentQuaternion).invert(),this._worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this._cameraScale),this.camera.isOrthographicCamera?this.camera.getWorldDirection(this.eye).negate():this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld(this)}pointerHover(e){if(void 0===this.object||!0===this.dragging)return;dZ.setFromCamera(e,this.camera);let t=TZ(this._gizmo.picker[this.mode],dZ);this.axis=t?t.object.name:null}pointerDown(e){if(void 0!==this.object&&!0!==this.dragging&&0===e.button&&null!==this.axis){dZ.setFromCamera(e,this.camera);let t=TZ(this._plane,dZ,!0);t&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(t.point).sub(this.worldPositionStart)),this.dragging=!0,WZ.mode=this.mode,this.dispatchEvent(WZ)}}pointerMove(e){let t=this.axis,l=this.mode,n=this.object,V=this.space;if("scale"===l?V="local":("E"===t||"XYZE"===t||"XYZ"===t)&&(V="world"),void 0===n||null===t||!1===this.dragging||-1!==e.button)return;dZ.setFromCamera(e,this.camera);let i=TZ(this._plane,dZ,!0);if(i){if(this.pointEnd.copy(i.point).sub(this.worldPositionStart),"translate"===l)this._offset.copy(this.pointEnd).sub(this.pointStart),"local"===V&&"XYZ"!==t&&this._offset.applyQuaternion(this._worldQuaternionInv),-1===t.indexOf("X")&&(this._offset.x=0),-1===t.indexOf("Y")&&(this._offset.y=0),-1===t.indexOf("Z")&&(this._offset.z=0),"local"===V&&"XYZ"!==t?this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale):this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale),n.position.copy(this._offset).add(this._positionStart),this.translationSnap&&("local"===V&&(n.position.applyQuaternion(cZ.copy(this._quaternionStart).invert()),-1!==t.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==t.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==t.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.position.applyQuaternion(this._quaternionStart)),"world"===V&&(n.parent&&n.position.add(RZ.setFromMatrixPosition(n.parent.matrixWorld)),-1!==t.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==t.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==t.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.parent&&n.position.sub(RZ.setFromMatrixPosition(n.parent.matrixWorld))));else if("scale"===l){if(-1!==t.search("XYZ")){let e=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(e*=-1),UZ.set(e,e,e)}else RZ.copy(this.pointStart),UZ.copy(this.pointEnd),RZ.applyQuaternion(this._worldQuaternionInv),UZ.applyQuaternion(this._worldQuaternionInv),UZ.divide(RZ),-1===t.search("X")&&(UZ.x=1),-1===t.search("Y")&&(UZ.y=1),-1===t.search("Z")&&(UZ.z=1);n.scale.copy(this._scaleStart).multiply(UZ),this.scaleSnap&&(-1!==t.search("X")&&(n.scale.x=Math.round(n.scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==t.search("Y")&&(n.scale.y=Math.round(n.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==t.search("Z")&&(n.scale.z=Math.round(n.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if("rotate"===l){this._offset.copy(this.pointEnd).sub(this.pointStart);let e=20/this.worldPosition.distanceTo(RZ.setFromMatrixPosition(this.camera.matrixWorld));"E"===t?(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this._startNorm.copy(this.pointStart).normalize(),this._endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this._endNorm.cross(this._startNorm).dot(this.eye)<0?1:-1):"XYZE"===t?(this.rotationAxis.copy(this._offset).cross(this.eye).normalize(),this.rotationAngle=this._offset.dot(RZ.copy(this.rotationAxis).cross(this.eye))*e):("X"===t||"Y"===t||"Z"===t)&&(this.rotationAxis.copy(pZ[t]),RZ.copy(pZ[t]),"local"===V&&RZ.applyQuaternion(this.worldQuaternion),this.rotationAngle=this._offset.dot(RZ.cross(this.eye).normalize())*e),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),"local"===V&&"E"!==t&&"XYZE"!==t?(n.quaternion.copy(this._quaternionStart),n.quaternion.multiply(cZ.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this._parentQuaternionInv),n.quaternion.copy(cZ.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),n.quaternion.multiply(this._quaternionStart).normalize())}this.dispatchEvent(ZZ),this.dispatchEvent(FZ)}}pointerUp(e){0===e.button&&(this.dragging&&null!==this.axis&&(mZ.mode=this.mode,this.dispatchEvent(mZ)),this.dragging=!1,this.axis=null)}dispose(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerHover),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.traverse((function(e){e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()}))}attach(e){return this.object=e,this.visible=!0,this}detach(){return this.object=void 0,this.visible=!1,this.axis=null,this}reset(){this.enabled&&this.dragging&&(this.object.position.copy(this._positionStart),this.object.quaternion.copy(this._quaternionStart),this.object.scale.copy(this._scaleStart),this.dispatchEvent(ZZ),this.dispatchEvent(FZ),this.pointStart.copy(this.pointEnd))}getRaycaster(){return dZ}getMode(){return this.mode}setMode(e){this.mode=e}setTranslationSnap(e){this.translationSnap=e}setRotationSnap(e){this.rotationSnap=e}setScaleSnap(e){this.scaleSnap=e}setSize(e){this.size=e}setSpace(e){this.space=e}};function uZ(e){if(this.domElement.ownerDocument.pointerLockElement)return{x:0,y:0,button:e.button};{let t=this.domElement.getBoundingClientRect();return{x:(e.clientX-t.left)/t.width*2-1,y:-(e.clientY-t.top)/t.height*2+1,button:e.button}}}function EZ(e){if(this.enabled)switch(e.pointerType){case"mouse":case"pen":this.pointerHover(this._getPointer(e))}}function bZ(e){this.enabled&&(document.pointerLockElement||this.domElement.setPointerCapture(e.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.pointerHover(this._getPointer(e)),this.pointerDown(this._getPointer(e)))}function SZ(e){this.enabled&&this.pointerMove(this._getPointer(e))}function JZ(e){this.enabled&&(this.domElement.releasePointerCapture(e.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.pointerUp(this._getPointer(e)))}function TZ(e,t,l){let n=t.intersectObject(e,!0);for(let e=0;e<n.length;e++)if(n[e].object.visible||l)return n[e];return!1}
1var GZ=new bh,MZ=new yo(0,1,0),kZ=new yo(0,0,0),YZ=new Uh,xZ=new zo,QZ=new zo,XZ=new yo,wZ=new Uh,fZ=new yo(1,0,0),zZ=new yo(0,1,0),yZ=new yo(0,0,1),CZ=new yo,jZ=new yo,gZ=new yo,BZ=class extends Ch{constructor(){super(),this.isTransformControlsGizmo=!0,this.type="TransformControlsGizmo";let e=new id({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),t=new ip({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),l=e.clone();l.opacity=.15;let n=t.clone();n.opacity=.5;let V=e.clone();V.color.setHex(16711680);let i=e.clone();i.color.setHex(65280);let a=e.clone();a.color.setHex(255);let r=e.clone();r.color.setHex(16711680),r.opacity=.5;let s=e.clone();s.color.setHex(65280),s.opacity=.5;let o=e.clone();o.color.setHex(255),o.opacity=.5;let h=e.clone();h.opacity=.25;let d=e.clone();d.color.setHex(16776960),d.opacity=.25,e.clone().color.setHex(16776960);let R=e.clone();R.color.setHex(7895160);let U=new mp(0,.04,.1,12);U.translate(0,.05,0);let c=new jd(.08,.08,.08);c.translate(0,.04,0);let p=new Fd;p.setAttribute("position",new dd([0,0,0,1,0,0],3));let Z=new mp(.0075,.0075,.5,3);function W(e,t){let l=new bp(e,.0075,3,64,t*Math.PI*2);return l.rotateY(Math.PI/2),l.rotateX(Math.PI/2),l}Z.translate(0,.25,0);let m={X:[[new yd(U,V),[.5,0,0],[0,0,-Math.PI/2]],[new yd(U,V),[-.5,0,0],[0,0,Math.PI/2]],[new yd(Z,V),[0,0,0],[0,0,-Math.PI/2]]],Y:[[new yd(U,i),[0,.5,0]],[new yd(U,i),[0,-.5,0],[Math.PI,0,0]],[new yd(Z,i)]],Z:[[new yd(U,a),[0,0,.5],[Math.PI/2,0,0]],[new yd(U,a),[0,0,-.5],[-Math.PI/2,0,0]],[new yd(Z,a),null,[Math.PI/2,0,0]]],XYZ:[[new yd(new Np(.1,0),h.clone()),[0,0,0]]],XY:[[new yd(new jd(.15,.15,.01),o.clone()),[.15,.15,0]]],YZ:[[new yd(new jd(.15,.15,.01),r.clone()),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new yd(new jd(.15,.15,.01),s.clone()),[.15,0,.15],[-Math.PI/2,0,0]]]},F={X:[[new yd(new mp(.2,0,.6,4),l),[.3,0,0],[0,0,-Math.PI/2]],[new yd(new mp(.2,0,.6,4),l),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new yd(new mp(.2,0,.6,4),l),[0,.3,0]],[new yd(new mp(.2,0,.6,4),l),[0,-.3,0],[0,0,Math.PI]]],Z:[[new yd(new mp(.2,0,.6,4),l),[0,0,.3],[Math.PI/2,0,0]],[new yd(new mp(.2,0,.6,4),l),[0,0,-.3],[-Math.PI/2,0,0]]],XYZ:[[new yd(new Np(.2,0),l)]],XY:[[new yd(new jd(.2,.2,.01),l),[.15,.15,0]]],YZ:[[new yd(new jd(.2,.2,.01),l),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new yd(new jd(.2,.2,.01),l),[.15,0,.15],[-Math.PI/2,0,0]]]},N={START:[[new yd(new Np(.01,2),n),null,null,null,"helper"]],END:[[new yd(new Np(.01,2),n),null,null,null,"helper"]],DELTA:[[new dp(function(){let e=new Fd;return e.setAttribute("position",new dd([0,0,0,1,1,1],3)),e}(),n),null,null,null,"helper"]],X:[[new dp(p,n.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new dp(p,n.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new dp(p,n.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},u={XYZE:[[new yd(W(.5,1),R),null,[0,Math.PI/2,0]]],X:[[new yd(W(.5,.5),V)]],Y:[[new yd(W(.5,.5),i),null,[0,0,-Math.PI/2]]],Z:[[new yd(W(.5,.5),a),null,[0,Math.PI/2,0]]],E:[[new yd(W(.75,1),d),null,[0,Math.PI/2,0]]]},E={AXIS:[[new dp(p,n.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},b={XYZE:[[new yd(new Ep(.25,10,8),l)]],X:[[new yd(new bp(.5,.1,4,24),l),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new yd(new bp(.5,.1,4,24),l),[0,0,0],[Math.PI/2,0,0]]],Z:[[new yd(new bp(.5,.1,4,24),l),[0,0,0],[0,0,-Math.PI/2]]],E:[[new yd(new bp(.75,.1,2,24),l)]]},S={X:[[new yd(c,V),[.5,0,0],[0,0,-Math.PI/2]],[new yd(Z,V),[0,0,0],[0,0,-Math.PI/2]],[new yd(c,V),[-.5,0,0],[0,0,Math.PI/2]]],Y:[[new yd(c,i),[0,.5,0]],[new yd(Z,i)],[new yd(c,i),[0,-.5,0],[0,0,Math.PI]]],Z:[[new yd(c,a),[0,0,.5],[Math.PI/2,0,0]],[new yd(Z,a),[0,0,0],[Math.PI/2,0,0]],[new yd(c,a),[0,0,-.5],[-Math.PI/2,0,0]]],XY:[[new yd(new jd(.15,.15,.01),o),[.15,.15,0]]],YZ:[[new yd(new jd(.15,.15,.01),r),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new yd(new jd(.15,.15,.01),s),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new yd(new jd(.1,.1,.1),h.clone())]]},J={X:[[new yd(new mp(.2,0,.6,4),l),[.3,0,0],[0,0,-Math.PI/2]],[new yd(new mp(.2,0,.6,4),l),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new yd(new mp(.2,0,.6,4),l),[0,.3,0]],[new yd(new mp(.2,0,.6,4),l),[0,-.3,0],[0,0,Math.PI]]],Z:[[new yd(new mp(.2,0,.6,4),l),[0,0,.3],[Math.PI/2,0,0]],[new yd(new mp(.2,0,.6,4),l),[0,0,-.3],[-Math.PI/2,0,0]]],XY:[[new yd(new jd(.2,.2,.01),l),[.15,.15,0]]],YZ:[[new yd(new jd(.2,.2,.01),l),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new yd(new jd(.2,.2,.01),l),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new yd(new jd(.2,.2,.2),l),[0,0,0]]]},T={X:[[new dp(p,n.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new dp(p,n.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new dp(p,n.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]};function G(e){let t=new Ch;for(let l in e)for(let n=e[l].length;n--;){let V=e[l][n][0].clone(),i=e[l][n][1],a=e[l][n][2],r=e[l][n][3],s=e[l][n][4];V.name=l,V.tag=s,i&&V.position.set(i[0],i[1],i[2]),a&&V.rotation.set(a[0],a[1],a[2]),r&&V.scale.set(r[0],r[1],r[2]),V.updateMatrix();let o=V.geometry.clone();
1o.applyMatrix4(V.matrix),V.geometry=o,V.renderOrder=1/0,V.position.set(0,0,0),V.rotation.set(0,0,0),V.scale.set(1,1,1),t.add(V)}return t}this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=G(m)),this.add(this.gizmo.rotate=G(u)),this.add(this.gizmo.scale=G(S)),this.add(this.picker.translate=G(F)),this.add(this.picker.rotate=G(b)),this.add(this.picker.scale=G(J)),this.add(this.helper.translate=G(N)),this.add(this.helper.rotate=G(E)),this.add(this.helper.scale=G(T)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}updateMatrixWorld(e){let t="local"===("scale"===this.mode?"local":this.space)?this.worldQuaternion:QZ;this.gizmo.translate.visible="translate"===this.mode,this.gizmo.rotate.visible="rotate"===this.mode,this.gizmo.scale.visible="scale"===this.mode,this.helper.translate.visible="translate"===this.mode,this.helper.rotate.visible="rotate"===this.mode,this.helper.scale.visible="scale"===this.mode;let l=[];l=l.concat(this.picker[this.mode].children),l=l.concat(this.gizmo[this.mode].children),l=l.concat(this.helper[this.mode].children);for(let e=0;e<l.length;e++){let n,V=l[e];V.visible=!0,V.rotation.set(0,0,0),V.position.copy(this.worldPosition),(n=this.camera.isOrthographicCamera?(this.camera.top-this.camera.bottom)/this.camera.zoom:this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),V.scale.set(1,1,1).multiplyScalar(n*this.size/4),"helper"!==V.tag)?(V.quaternion.copy(t),"translate"===this.mode||"scale"===this.mode?("X"===V.name&&Math.abs(MZ.copy(fZ).applyQuaternion(t).dot(this.eye))>
1.99&&(V.scale.set(1e-10,1e-10,1e-10),V.visible=!1),"Y"===V.name&&Math.abs(MZ.copy(zZ).applyQuaternion(t).dot(this.eye))>.99&&(V.scale.set(1e-10,1e-10,1e-10),V.visible=!1),"Z"===V.name&&Math.abs(MZ.copy(yZ).applyQuaternion(t).dot(this.eye))>.99&&(V.scale.set(1e-10,1e-10,1e-10),V.visible=!1),"XY"===V.name&&Math.abs(MZ.copy(yZ).applyQuaternion(t).dot(this.eye))<.2&&(V.scale.set(1e-10,1e-10,1e-10),V.visible=!1),"YZ"===V.name&&Math.abs(MZ.copy(fZ).applyQuaternion(t).dot(this.eye))<.2&&(V.scale.set(1e-10,1e-10,1e-10),V.visible=!1),"XZ"===V.name&&Math.abs(MZ.copy(zZ).applyQuaternion(t).dot(this.eye))<.2&&(V.scale.set(1e-10,1e-10,1e-10),V.visible=!1)):"rotate"===this.mode&&(xZ.copy(t),MZ.copy(this.eye).applyQuaternion(cZ.copy(t).invert()),-1!==V.name.search("E")&&V.quaternion.setFromRotationMatrix(YZ.lookAt(this.eye,kZ,zZ)),"X"===V.name&&(cZ.setFromAxisAngle(fZ,Math.atan2(-MZ.y,MZ.z)),cZ.multiplyQuaternions(xZ,cZ),V.quaternion.copy(cZ)),"Y"===V.name&&(cZ.setFromAxisAngle(zZ,Math.atan2(MZ.x,MZ.z)),cZ.multiplyQuaternions(xZ,cZ),V.quaternion.copy(cZ)),"Z"===V.name&&(cZ.setFromAxisAngle(yZ,Math.atan2(MZ.y,MZ.x)),cZ.multiplyQuaternions(xZ,cZ),V.quaternion.copy(cZ))),V.visible=V.visible&&(-1===V.name.indexOf("X")||this.showX),V.visible=V.visible&&(-1===V.name.indexOf("Y")||this.showY),V.visible=V.visible&&(-1===V.name.indexOf("Z")||this.showZ),V.visible=V.visible&&(-1===V.name.indexOf("E")||this.showX&&this.showY&&this.showZ),V.material._color=V.material._color||V.material.color.clone(),V.material._opacity=V.material._opacity||V.material.opacity,V.material.color.copy(V.material._color),V.material.opacity=V.material._opacity,this.enabled&&this.axis&&(V.name===this.axis||this.axis.split("").some((function(e){return V.name===e})))&&(V.material.color.setHex(16776960),V.material.opacity=1)):(V.visible=!1,"AXIS"===V.name?(V.visible=!!this.axis,"X"===this.axis&&(cZ.setFromEuler(GZ.set(0,0,0)),V.quaternion.copy(t).multiply(cZ),Math.abs(MZ.copy(fZ).applyQuaternion(t).dot(this.eye))>.9&&(V.visible=!1)),"Y"===this.axis&&(cZ.setFromEuler(GZ.set(0,0,Math.PI/2)),V.quaternion.copy(t).multiply(cZ),Math.abs(MZ.copy(zZ).applyQuaternion(t).dot(this.eye))>.9&&(V.visible=!1)),"Z"===this.axis&&(cZ.setFromEuler(GZ.set(0,Math.PI/2,0)),V.quaternion.copy(t).multiply(cZ),Math.abs(MZ.copy(yZ).applyQuaternion(t).dot(this.eye))>.9&&(V.visible=!1)),"XYZE"===this.axis&&(cZ.setFromEuler(GZ.set(0,Math.PI/2,0)),MZ.copy(this.rotationAxis),V.quaternion.setFromRotationMatrix(YZ.lookAt(kZ,MZ,zZ)),V.quaternion.multiply(cZ),V.visible=this.dragging),"E"===this.axis&&(V.visible=!1)):"START"===V.name?(V.position.copy(this.worldPositionStart),V.visible=this.dragging):"END"===V.name?(V.position.copy(this.worldPosition),V.visible=this.dragging):"DELTA"===V.name?(V.position.copy(this.worldPositionStart),V.quaternion.copy(this.worldQuaternionStart),RZ.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),RZ.applyQuaternion(this.worldQuaternionStart.clone().invert()),V.scale.copy(RZ),V.visible=this.dragging):(V.quaternion.copy(t),this.dragging?V.position.copy(this.worldPositionStart):V.position.copy(this.worldPosition),this.axis&&(V.visible=-1!==this.axis.search(V.name))))}super.updateMatrixWorld(e)}},HZ=class extends yd{constructor(){super(new aR(1e5,1e5,2,2),new id({visible:!1,wireframe:!0,side:2,transparent:!0,opacity:.1,toneMapped:!1})),this.isTransformControlsPlane=!0,this.type="TransformControlsPlane"}updateMatrixWorld(e){let t=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(t="local"),CZ.copy(fZ).applyQuaternion("local"===t?this.worldQuaternion:QZ),jZ.copy(zZ).applyQuaternion("local"===t?this.worldQuaternion:QZ),gZ.copy(yZ).applyQuaternion("local"===t?this.worldQuaternion:QZ),MZ.copy(jZ),this.mode){case"translate":case"scale":switch(this.axis){case"X":MZ.copy(this.eye).cross(CZ),XZ.copy(CZ).cross(MZ);break;case"Y":MZ.copy(this.eye).cross(jZ),XZ.copy(jZ).cross(MZ);break;case"Z":MZ.copy(this.eye).cross(gZ),XZ.copy(gZ).cross(MZ);break;case"XY":XZ.copy(gZ);break;case"YZ":XZ.copy(CZ);break;case"XZ":MZ.copy(gZ),XZ.copy(jZ);break;case"XYZ":case"E":XZ.set(0,0,0)}break;default:XZ.set(0,0,0)}0===XZ.length()?this.quaternion.copy(this.cameraQuaternion):(wZ.lookAt(RZ.set(0,0,0),XZ,MZ),this.quaternion.setFromRotationMatrix(wZ)),super.updateMatrixWorld(e)}},vZ=["Bytes","KB","MB","GB","TB"];function IZ(e){let t=[{threshold:60,divisor:1e3,unit:"Sec"},{threshold:60,divisor:6e4,unit:"Min"},{threshold:24,divisor:36e5,unit:"Hrs"},{threshold:1/0,divisor:864e5,unit:"Days"}],l=t.find((({threshold:t,divisor:l})=>+(e/l).toFixed(2)<t));l||(l=t[t.length-1]);let n=+e/l.divisor,V=""+ +n.toFixed(2);return"Sec"===l.unit&&n<1&&(V=`${n.toFixed(2)}`),`${V} ${l.unit}`}function DZ(e){if(null===e||typeof e>"u")return!1;let t=e.length;return"function"!=typeof e&&"string"!=typeof e&&("number"==typeof t&&t>-1&&t%1==0)}function OZ(e){return!(!e||"object"!=typeof e||Array.isArray(e))}function _Z(e){return!(null===e||typeof e>"u")&&("string"==typeof e||OZ(e)&&"[object String]"===Object.prototype.toString.call(e))}function LZ(e){return _Z(e)||DZ(e)?0===e.length:function(e){return!(null===e||typeof e>"u")&&OZ(e)&&"[object Map]"===Object.prototype.toString.call(e)}(e)||function(e){return OZ(e)&&"[object Set]"===Object.prototype.toString.call(e)}(e)?0===e.size:OZ(e)?0===Object.keys(e).length:!e}var KZ=new class{prefix="";constructor(e){"string"==typeof e?.prefix&&(this.prefix=e.prefix)}log=(e,t,l)=>{let n=[];this.prefix&&n.push(`[${this.prefix}]`),n.push(t),DZ(l)&&!LZ(l)&&l.forEach((e=>{n.push("\n\n"),n.push(e)})),console[e]?.(...n)};info=(e,...t)=>{this.log("info",e,t)};warn=(e,...t)=>{this.log("warn",e,t)};table=e=>{console.table(e)};error=(e,...t)=>{e instanceof Error||e.message?this.log("error",e.message,[e,...t]):this.log("error",e,t)};setPrefix(e){this.prefix=e}configure(e){"string"==typeof e?.prefix&&KZ.setPrefix(e.prefix)}},PZ=class{shouldLogEvents=!1;logs=[];start(e){try{performance.mark(`${e}-start`)}catch(e){KZ.error(e)}}stop(e,t){try{if(performance.getEntriesByName(`${e}-start`).length>0){let l=performance.measure(`${e}-diff`,`${e}-start`);this.addEvent(e,l.duration,t),performance.clearMarks(`${e}-start`),performance.clearMeasures(`${e}-diff`)}}catch(e){KZ.error(e)}}print(){console.table(this.logs.map((e=>({Event:e.event,Date:e.date,Duration:e.duration,Resource:e.resource}))))}clear(){this.logs=[]}addEvent(e,t,l){try{let n={event:e,date:(l?.date?new Date(l.date):new Date).toISOString(),duration:IZ(t)};l?.resource&&(n.resource=function(e){if(0===e)return"n/a";let t=parseInt(`${Math.floor(Math.log(e)/Math.log(1024))}`,10);return 0===t?`${e} ${vZ[t]})`:`${(e/1024**t).toFixed(2)} ${vZ[t]}`}(Number(l.resource))),this.logs.push(n),this.shouldLogEvents&&KZ.info("[PERFORMANCE]",n)}catch(e){KZ.error(e)}}};function AZ(e){return!(null===e||typeof e>"u")&&("number"==typeof e&&!isNaN(+e)||OZ(e)&&"[object Number]"===Object.prototype.toString.call(e))}function qZ(e,t,l={}){let n,V,i=null,a=null,{leading:r=!1,trailing:s=!0}=l;function o(){return V=e.apply(n,a),a=null,n=null,V}
1function h(){i=null,s&&a&&o()}function d(...e){return a=e,n=this,null===i?(r&&o(),i=setTimeout(h,t)):(clearTimeout(i),i=setTimeout(h,t)),V}return d.reset=()=>{null!==i&&clearTimeout(i),i=null,a=null,n=null},d}function $Z(e,t){let l=Object.assign({},e);return OZ(e)&&OZ(t)&&Object.keys(t).forEach((n=>{OZ(t[n])?n in e?l[n]=$Z(e[n],t[n]):Object.assign(l,{[n]:t[n]}):Object.assign(l,{[n]:t[n]})})),LZ(e)&&!LZ(t)?Object.assign({},t):l}var eW=h(Re()),tW={encode:!1,encoder:(e,t,l,n)=>"value"===n?t(e,t,l):e,skipNulls:!0,allowDots:!1,indices:!1,arrayFormat:"brackets",addQueryPrefix:!0};function lW(e,t={}){if(LZ(e))return"";let l=$Z(tW,t);return _Z(e)?`${l.addQueryPrefix?"?":""}${e}`:eW.default.stringify(e,l)}function nW(e){if(null===e||typeof e>"u"||function(e){return"symbol"==typeof e||e&&e.constructor===Symbol||OZ(e)&&"[object Symbol]"===Object.prototype.toString.call(e)}(e))return!1;let t=e,l=_Z(t)&&t.length>0&&AZ(+t),n=AZ(t)&&isFinite(t),V=!isNaN(+t);return(l||n)&&V}var VW=h(Re()),iW={ignoreQueryPrefix:!0,decoder:(e,t,l,n)=>"value"===n?t(e,t,l):e};function aW(e,t=0,l){let n,V;return new Promise(((i,a)=>{(function(e){return"function"==typeof e&&["[object Function]","[object AsyncFunction]","[object GeneratorFunction]"].includes(Object.prototype.toString.call(e))})(e)&&nW(t)?(clearInterval(n),n=setInterval((()=>{e()&&(clearTimeout(V),clearInterval(n),i())}),t),nW(l)&&(V=setTimeout((()=>{clearTimeout(V),clearInterval(n),a()}),l))):a("Incorrect arguments")}))}var rW,sW;new class{get params(){return function(e,t={}){let{arrayLimit:l=1e3,...n}=t,V=$Z(iW,{arrayLimit:l,...n});return _Z(e)?VW.default.parse(decodeURIComponent(e),V):{}}(location.search)}get hash(){return location.hash?.substring(1)||""}get query(){return this.generateQuery(this.params)}getKey(e){return this.params?.[e]}setKey(e,t){this.set({...this.params,[e]:t})}delete(e){this.set({...this.params,[e]:null})}set(e){if(!e)return;let t={};Object.keys(e).forEach((l=>{null!==e[l]&&(typeof e[l]>"u"||"string"==typeof e[l]&&!e[l]||(t[l]=`${e[l]}`))})),Object.keys(t).length>0&&this.replace(t)}has(e){return typeof this.params?.[e]<"u"}replace(e){history.replaceState({},"",`${window.location.origin}${window.location.pathname}${this.generateQuery(e)}`)}replacePath(e){history.replaceState({},"",`${window.location.origin}${e}`)}generateQuery(e={}){return lW(e)}},new class{storedValues={};get values(){return this.storedValues}set(e,t,l="local"){return this.writeValue(l,e,t)}get(e,t="local"){return this.getValue(t,e)}remove(e,t="local"){return this.removeValue(t,e)}has(e,t="local"){return"variable"===t?!!this.storedValues[e]:!!this.storage(t).getItem(e)}writeValue(e,t,l){if("variable"===e)return void(this.storedValues[t]=l);let n=l;return"string"!=typeof n&&(n=JSON.stringify(n)),this.storage(e).setItem(t,n)}getValue(e,t){let l="variable"===e?this.storedValues[t]:this.storage(e).getItem(t);if(!l)return null;try{return JSON.parse(l)}catch{return l}}removeValue(e,t){if("variable"!==e)return this.storage(e).removeItem(t);this.storedValues[t]&&delete this.storedValues[t]}storage(e){return"session"===e?sessionStorage:localStorage}clear(){this.storedValues={}}};!function(e){e[e.Forbidden=403]="Forbidden"}(rW||(rW={})),function(e){e[e.Pending=1]="Pending",e[e.Loaded=2]="Loaded",e[e.Failed=3]="Failed"}(sW||(sW={}));var oW,hW,dW,RW,UW=h(Ue()),cW=h(Nn()),pW=h(un()),ZW={version:"03.12.2023",tonemapping_lut:"https://dc7qh7wkice7o.cloudfront.net/cv-render-config/03.12.2023/tonemapping_lut.bin",presets:[{preset:{Name:"Arrows-01_HI_DiBox22_21.11.2023",ID:"Arrows-01_HI_DiBox22_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!1,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFittingMode":1,"ui-batch--comboboxpanorama":"Arrows_2021.11.30W_DiBox15_Symm.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":2,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.315,"ui-colorProps--doubleSpinBoxWhiteY":.3368,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-A.txt","ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Arrows_2021.11.30W_DiBox15_Symm.exr",name:"Arrows",spds:"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.
10\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.0\t161.516000\r\n650.0\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000"},{preset:{Name:"ASET Black Body-03_ST_10.02.2025",ID:"ASET Black Body-03_ST_10.02.2025","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_280323_st","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxalign":!1,"ui-batch--checkboxexposurefusion":!1,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFittingMode":1,"ui-batch--comboboxpanorama":"ASET_2021.11.30_DiBox15_Symm.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":0,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideotype":0,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":25,"ui-batch--sensorzspinbox":500,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":5.26,"ui-batch--spinboxstereodistance":30,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.315,"ui-colorProps--doubleSpinBoxWhiteY":.3368,"ui-renderer--Accuracy":6,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneprops--dspinroll":3.141592,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinyaw":3.141592,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/ASET_2021.11.30_DiBox15_Symm.exr",name:"ASET Black Body",spds:"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.0\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.
10\t161.516000\r\n650.0\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000"},{preset:{Name:"ASET Black-01_HI_DiBox22_21.11.2023",ID:"ASET Black-01_HI_DiBox22_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!1,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFittingMode":1,"ui-batch--comboboxpanorama":"ASET_2021.11.30_DiBox15_Symm.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":2,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.315,"ui-colorProps--doubleSpinBoxWhiteY":.3368,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-A.txt","ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/ASET_2021.11.30_DiBox15_Symm.exr",name:"ASET Black",spds:"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.0\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.
10\t161.516000\r\n650.0\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000"},{preset:{Name:"ASET White-01_HI_DiBox22_21.11.2023",ID:"ASET White-01_HI_DiBox22_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!1,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFittingMode":1,"ui-batch--comboboxpanorama":"ASET-White_2021.11.30_DiBox15_Symm.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":2,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.315,"ui-colorProps--doubleSpinBoxWhiteY":.3368,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-A.txt","ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/ASET-White_2021.11.30_DiBox15_Symm.exr",name:"ASET White",spds:"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.0\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.
10\t161.516000\r\n650.0\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000"},{preset:{Name:"Darkfield-01_HI_DiBox10_21.11.2023",ID:"Darkfield-01_HI_DiBox10_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":[!0,!0],"ui-batch--spinboxHDRSourceBackgroundColor":[0,0],"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":1,"ui-batch--comboboxpanorama":"Darkfield_2022.09.09.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":5,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.001,"ui-renderer--spinminimalcontribution2":.03,"ui-renderer--spinminimalcontribution3":.1,"ui-renderer--spinraydepth":5,"ui-renderer--spinraydepth2":10,"ui-renderer--spinraydepth3":28,"ui-batch-checkBoxRussianRoulette":!1,"ui-batch-checkBoxInclusionSmoothNormals":!1,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":20,"ui-sceneprops--spinpanoramascale":32},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Darkfield_2022.09.09.exr",name:"Darkfield",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.0\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.3
167000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Fire (Fancy Color) Web-01_HI_01.12.2023",ID:"Fire (Fancy Color) Web-01_HI_01.12.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_280323_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkBoxAutoContrast":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkBoxDump16bit":!1,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--checkBoxNoOverexposureBackground":!0,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":3,"ui-batch--comboboxpanorama":"Fire-Web_2023.12.01.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinMaxContrastIncrease":1.1,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":28,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Fire-Web_2023.12.01.exr",name:"Fire (Fancy Color) Web",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Fire-01_HI_21.11.2023",ID:"Fire-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHdrResultBackground":!0,"ui-batch--spinboxHdrResultBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":1,"ui-batch--comboboxpanorama":"Fire_2023.03.28.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":50,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/cv-render-config/23.04.2024/panoramas/Fire_2023.06.08.exr",name:"Fire",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Fire_with_Body_2025.12.10",ID:"Fire_with_Body_2025.12.10","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHdrResultBackground":!0,"ui-batch--spinboxHdrResultBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":1,"ui-batch--comboboxpanorama":"Fire_2023.03.28.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":500,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":350,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":50,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Fire_with_Body_2025.12.10.exr",name:"Fire with Body",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Hearts-01_HI_DiBox22_21.11.2023",ID:"Hearts-01_HI_DiBox22_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!1,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxCameraOrientation":2,"ui-batch--comboBoxFusionMode":0,"ui-batch--comboboxpanorama":"Arrows_2021.11.30W_DiBox15_Symm.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--lineEditOrientationName":"TableDown","ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":2,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.315,"ui-colorProps--doubleSpinBoxWhiteY":.3368,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-A.txt","ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1.23},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Arrows_2021.11.30W_DiBox15_Symm.exr",name:"Hearts",spds:"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.
10\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.0\t161.516000\r\n650.0\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000"},{preset:{Name:"Mask-01_HI_21.11.2023",ID:"Mask-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!1,"ui-batch--checkboxexportmask":!0,"ui-batch--checkboxexposurefusion":!1,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboboxpanorama":"ASET_2021.11.30_DiBox10_Symm.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":2,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.315,"ui-colorProps--doubleSpinBoxWhiteY":.3368,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-A.txt","ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":50,"ui-sceneprops--spinpanoramascale":.9},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/ASET_2021.11.30_DiBox10_Symm.hdr",name:"Mask",spds:"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.
10\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.0\t161.516000\r\n650.0\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000"},{preset:{Name:"Office (Fancy Color) Web-01_HI_01.12.2023",ID:"Office (Fancy Color) Web-01_HI_01.12.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_280323_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkBoxAutoContrast":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkBoxDump16bit":!1,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--checkBoxNoOverexposureBackground":!0,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":3,"ui-batch--comboboxpanorama":"Office-Fancy-Color-Web-2023.12.01.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinMaxContrastIncrease":1.1,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":28,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Office-Fancy-Color-Web-2023.12.01.exr",name:"Office (Fancy Color) Web",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Office (Fancy Color)-01_HI_21.11.2023",ID:"Office (Fancy Color)-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkBoxAutoContrast":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkBoxDump16bit":!1,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--checkBoxNoOverexposureBackground":!0,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":3,"ui-batch--comboboxpanorama":"Office-Fancy-Color-2020.12.30.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinMaxContrastIncrease":1.1,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":28,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/cv-render-config/23.04.2024/panoramas/Office-Fancy-Color-2023.06.08.exr",name:"Office (Fancy Color)",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Office (Fancy Color)-Rough360-01_HI_21.11.2023",ID:"Office (Fancy Color)-Rough360-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkBoxAutoContrast":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkBoxDump16bit":!1,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--checkBoxNoOverexposureBackground":!0,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":3,"ui-batch--comboboxpanorama":"Office-Fancy-Color-2020.12.30.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":0,"ui-batch--doublespinboxangley":360,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":.004,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinMaxContrastIncrease":1.1,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":28,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":16,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/cv-render-config/23.04.2024/panoramas/Office-Fancy-Color-2023.06.08.exr",name:"Office (Fancy Color)-Rough360",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Office-01_HI_21.11.2023",ID:"Office-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHdrResultBackground":!0,"ui-batch--spinboxHdrResultBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":1,"ui-batch--comboboxpanorama":"Office_2023.03.28.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":50,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Office_2023.06.08.exr",name:"Office",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Office_with_Body-02_HI_12.06.2025",ID:"Office_with_Body-02_HI_12.06.2025","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_280323_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxFillHdrResultBackground":!0,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":1,"ui-batch--comboboxpanorama":"Office_with_Body_2025.06.12.exr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":0,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":1,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!1,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":500,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxHdrResultBackgroundColor":0,"ui-batch--spinboxlengthframes":200,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":5.26,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/Office_with_Body_2025.07.23.exr",name:"Office with Body",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Pavilion Color UV Free-01_HI_21.11.2023",ID:"Pavilion Color UV Free-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkBoxAutoContrast":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkBoxDump16bit":!1,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--checkBoxNoOverexposureBackground":!0,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":1,"ui-batch--comboBoxCameraOrientation":2,"ui-batch--comboBoxFusionMode":2,"ui-batch--comboboxpanorama":"White-dome_2020.12.30.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":0,"ui-batch--doublespinboxangley":25,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--lineEditOrientationName":"DZ","ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinMaxContrastIncrease":1.1,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":11,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/White-dome_2020.12.30.exr",name:"Pavilion Color UV Free",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Scintillation-02_HI_21.11.2023",ID:"Scintillation-02_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHdrResultBackground":!0,"ui-batch--spinboxHdrResultBackgroundColor":0,"ui-batch--checkboxalign":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":1,"ui-batch--comboboxpanorama":"Fire_2023.03.28.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":1,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":200,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":28,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.02,"ui-renderer--spinraydepth":48,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":350,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/cv-render-config/23.04.2024/panoramas/Fire_2023.06.08.exr",name:"Scintillation",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"},{preset:{Name:"Table Color UV Free-01_HI_21.11.2023",ID:"Table Color UV Free-01_HI_21.11.2023","ui-batch--adjustPixelSizeCheckBox":!0,"ui-batch--CameraSerial":"virtual_211123_hi","ui-batch--checkboxadaptivesampling":!1,"ui-batch--checkboxFillHDRSourceBackground":!0,"ui-batch--spinboxHDRSourceBackgroundColor":235,"ui-batch--checkboxalign":!1,"ui-batch--checkBoxAutoContrast":!1,"ui-batch--checkboxblockreflection":!1,"ui-batch--checkboxcoherent":!1,"ui-batch--checkBoxDenoise":!0,"ui-batch--checkBoxDump16bit":!1,"ui-batch--checkboxexportmask":!1,"ui-batch--checkboxexposurefusion":!0,"ui-batch--checkboxmips":!1,"ui-batch--checkBoxNoOverexposureBackground":!0,"ui-batch--comboboxantialiasing":2,"ui-batch--comboBoxAutoFocus":0,"ui-batch--comboBoxCameraOrientation":1,"ui-batch--comboBoxFusionMode":2,"ui-batch--comboboxpanorama":"White-dome_2020.12.30.hdr","ui-batch--comboboxstartposition":0,"ui-batch--comboboxstereomode":1,"ui-batch--comboBoxSuperSampling":3,"ui-batch--comboboxtrajectorytype":0,"ui-batch--comboboxvideoquality":1,"ui-batch--comboboxvideotype":0,"ui-batch--doublespinboxanglex":5,"ui-batch--doublespinboxangley":3,"ui-batch--FitResolutionGrid":!0,"ui-batch--lenscenterdistancespinbox":150,"ui-batch--modelsizespinbox":10,"ui-batch--PixelSize":12.5,"ui-batch--sensorzspinbox":400,"ui-batch--sizeautofitcheckbox":!0,"ui-batch--spinboxexposurecount":2,"ui-batch--spinboxexposuremult":4,"ui-batch--spinboxfps":30,"ui-batch--spinboxlengthframes":1,"ui-batch--spinboxlossratio":1,"ui-batch--spinboxresolutionx":480,"ui-batch--spinboxresolutiony":480,"ui-batch--spinboxroughness":0,"ui-batch--spinboxsamples":1,"ui-batch--spinboxstereoangle":6,"ui-batch--spinboxstereodistance":30,"ui-batch--spinMaxContrastIncrease":1.1,"ui-batch--spinpanoramaradius":500,"ui-batch--spinpanoramascale":2,"ui-colorProps--doubleSpinBoxBlueX":.15,"ui-colorProps--doubleSpinBoxBlueY":.06,"ui-colorProps--doubleSpinBoxGreenX":.3,"ui-colorProps--doubleSpinBoxGreenY":.6,"ui-colorProps--doubleSpinBoxRedX":.64,"ui-colorProps--doubleSpinBoxRedY":.33,"ui-colorProps--doubleSpinBoxWhiteX":.3149,"ui-colorProps--doubleSpinBoxWhiteY":.3357,"ui-renderer--Accuracy":6,"ui-renderer--cboxaccuracy":1,"ui-renderer--cboxgammamode":0,"ui-renderer--cboxtonemapping":2,"ui-renderer--chbautofocus":!0,"ui-renderer--checkboxfinedispersion":!1,"ui-renderer--dspinaperture":3.75,"ui-renderer--dspinFNumber":28,"ui-renderer--dspinfocaldistance":250,"ui-renderer--dspinFocalLength":82.4,"ui-renderer--dspingamma":1,"ui-renderer--dspinprojectiondistance":0,"ui-renderer--rendermode":1,"ui-renderer--spinminimalcontribution":.05,"ui-renderer--spinraydepth":28,"ui-sceneProps--comboBoxSpectrum":"CIE-D65.txt","ui-sceneProps--comboBoxType":1,"ui-sceneprops--dspinpitch":0,"ui-sceneprops--dspinroll":0,"ui-sceneprops--dspinyaw":0,"ui-sceneprops--spinpanoramaradius":150,"ui-sceneprops--spinpanoramascale":1},panorama:"https://render.cutwise.app/virtual-dibox2-panoramas/White-dome_2020.12.30.exr",name:"Table Color UV Free",spds:"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800"}],spds:{"CIE-A.txt":"300.0\t0.930483\r\n305.0\t1.128210\r\n310.0\t1.357690\r\n315.0\t1.622190\r\n320.0\t1.925080\r\n325.0\t2.269800\r\n330.0\t2.659810\r\n335.0\t3.098610\r\n340.0\t3.589680\r\n345.0\t4.136480\r\n350.0\t4.742380\r\n355.0\t5.410700\r\n360.0\t6.144620\r\n365.0\t6.947200\r\n370.0\t7.821350\r\n375.0\t8.769800\r\n380.0\t9.795100\r\n385.0\t10.899600\r\n390.0\t12.085300\r\n395.0\t13.354300\r\n400.0\t14.708000\r\n405.0\t16.148000\r\n410.0\t17.675300\r\n415.0\t19.290700\r\n420.0\t20.995000\r\n425.0\t22.788300\r\n430.0\t24.670900\r\n435.0\t26.642500\r\n440.0\t28.702700\r\n445.0\t30.850800\r\n450.0\t33.085900\r\n455.0\t35.406800\r\n460.0\t37.812100\r\n465.0\t40.300200\r\n470.0\t42.869300\r\n475.0\t45.517400\r\n480.0\t48.242300\r\n485.0\t51.041800\r\n490.0\t53.913200\r\n495.0\t56.853900\r\n500.0\t59.861100\r\n505.0\t62.932000\r\n510.0\t66.063500\r\n515.0\t69.252500\r\n520.0\t72.495900\r\n525.0\t75.790300\r\n530.0\t79.132600\r\n535.0\t82.519300\r\n540.0\t85.947000\r\n545.0\t89.412400\r\n550.0\t92.912000\r\n555.0\t96.442300\r\n560.0\t100.000000\r\n565.0\t103.582000\r\n570.0\t107.184000\r\n575.0\t110.803000\r\n580.0\t114.436000\r\n585.0\t118.080000\r\n590.0\t121.731000\r\n595.0\t125.386000\r\n600.0\t129.043000\r\n605.0\t132.697000\r\n610.0\t136.346000\r\n615.0\t139.988000\r\n620.0\t143.618000\r\n625.0\t147.235000\r\n630.0\t150.836000\r\n635.0\t154.418000\r\n640.0\t157.979000\r\n645.0\t161.516000\r\n650.
10\t165.028000\r\n655.0\t168.510000\r\n660.0\t171.963000\r\n665.0\t175.383000\r\n670.0\t178.769000\r\n675.0\t182.118000\r\n680.0\t185.429000\r\n685.0\t188.701000\r\n690.0\t191.931000\r\n695.0\t195.118000\r\n700.0\t198.261000\r\n705.0\t201.359000\r\n710.0\t204.409000\r\n715.0\t207.411000\r\n720.0\t210.365000\r\n725.0\t213.268000\r\n730.0\t216.120000\r\n735.0\t218.920000\r\n740.0\t221.667000\r\n745.0\t224.361000\r\n750.0\t227.000000\r\n755.0\t229.585000\r\n760.0\t232.115000\r\n765.0\t234.589000\r\n770.0\t237.008000\r\n775.0\t239.370000\r\n780.0\t241.675000","CIE-D50.txt":"300.0\t0.019\r\n305.0\t1.035\r\n310.0\t2.051\r\n315.0\t4.914\r\n320.0\t7.778\r\n325.0\t11.263\r\n330.0\t14.748\r\n335.0\t16.348\r\n340.0\t17.948\r\n345.0\t19.479\r\n350.0\t21.010\r\n355.0\t22.476\r\n360.0\t23.942\r\n365.0\t25.451\r\n370.0\t26.961\r\n375.0\t25.724\r\n380.0\t24.488\r\n385.0\t27.179\r\n390.0\t29.871\r\n395.0\t39.589\r\n400.0\t49.308\r\n405.0\t52.910\r\n410.0\t56.513\r\n415.0\t58.273\r\n420.0\t60.034\r\n425.0\t58.926\r\n430.0\t57.818\r\n435.0\t66.321\r\n440.0\t74.825\r\n445.0\t81.036\r\n450.0\t87.247\r\n455.0\t88.930\r\n460.0\t90.612\r\n465.0\t90.990\r\n470.0\t91.368\r\n475.0\t93.238\r\n480.0\t95.109\r\n485.0\t93.536\r\n490.0\t91.963\r\n495.0\t93.843\r\n500.0\t95.724\r\n505.0\t96.169\r\n510.0\t96.613\r\n515.0\t96.871\r\n520.0\t97.129\r\n525.0\t99.614\r\n530.0\t102.099\r\n535.0\t101.427\r\n540.0\t100.755\r\n545.0\t101.536\r\n550.0\t102.317\r\n555.0\t101.159\r\n560.0\t100.000\r\n565.0\t98.868\r\n570.0\t97.735\r\n575.0\t98.327\r\n580.0\t98.918\r\n585.0\t96.208\r\n590.0\t93.499\r\n595.0\t95.593\r\n600.0\t97.688\r\n605.0\t98.478\r\n610.0\t99.269\r\n615.0\t99.155\r\n620.0\t99.042\r\n625.0\t97.382\r\n630.0\t95.722\r\n635.0\t97.290\r\n640.0\t98.857\r\n645.0\t97.262\r\n650.0\t95.667\r\n655.0\t96.929\r\n660.0\t98.190\r\n665.0\t100.597\r\n670.0\t103.003\r\n675.0\t101.068\r\n680.0\t99.133\r\n685.0\t93.257\r\n690.0\t87.381\r\n695.0\t89.492\r\n700.0\t91.604\r\n705.0\t92.246\r\n710.0\t92.889\r\n715.0\t84.872\r\n720.0\t76.854\r\n725.0\t81.683\r\n730.0\t86.511\r\n735.0\t89.546\r\n740.0\t92.580\r\n745.0\t85.405\r\n750.0\t78.230\r\n755.0\t67.961\r\n760.0\t57.692\r\n765.0\t70.307\r\n770.0\t82.923\r\n775.0\t80.599\r\n780.0\t78.274","CIE-D55.txt":"300.0\t0.024\r\n305.0\t1.048\r\n310.0\t2.072\r\n315.0\t6.648\r\n320.0\t11.224\r\n325.0\t15.936\r\n330.0\t20.647\r\n335.0\t22.266\r\n340.0\t23.885\r\n345.0\t25.851\r\n350.0\t27.817\r\n355.0\t29.219\r\n360.0\t30.621\r\n365.0\t32.464\r\n370.0\t34.308\r\n375.0\t33.446\r\n380.0\t32.584\r\n385.0\t35.335\r\n390.0\t38.087\r\n395.0\t49.518\r\n400.0\t60.949\r\n405.0\t64.751\r\n410.0\t68.554\r\n415.0\t70.065\r\n420.0\t71.577\r\n425.0\t69.746\r\n430.0\t67.914\r\n435.0\t76.760\r\n440.0\t85.605\r\n445.0\t91.799\r\n450.0\t97.993\r\n455.0\t99.228\r\n460.0\t100.463\r\n465.0\t100.188\r\n470.0\t99.913\r\n475.0\t101.326\r\n480.0\t102.739\r\n485.0\t100.409\r\n490.0\t98.078\r\n495.0\t99.379\r\n500.0\t100.680\r\n505.0\t100.688\r\n510.0\t100.695\r\n515.0\t100.341\r\n520.0\t99.987\r\n525.0\t102.098\r\n530.0\t104.210\r\n535.0\t103.156\r\n540.0\t102.102\r\n545.0\t102.535\r\n550.0\t102.968\r\n555.0\t101.484\r\n560.0\t100.000\r\n565.0\t98.608\r\n570.0\t97.216\r\n575.0\t97.482\r\n580.0\t97.749\r\n585.0\t94.590\r\n590.0\t91.432\r\n595.0\t92.926\r\n600.0\t94.419\r\n605.0\t94.780\r\n610.0\t95.140\r\n615.0\t94.680\r\n620.0\t94.220\r\n625.0\t92.334\r\n630.0\t90.448\r\n635.0\t91.389\r\n640.0\t92.330\r\n645.0\t90.592\r\n650.0\t88.854\r\n655.0\t89.586\r\n660.0\t90.317\r\n665.0\t92.133\r\n670.0\t93.950\r\n675.0\t91.953\r\n680.0\t89.956\r\n685.0\t84.817\r\n690.0\t79.677\r\n695.0\t81.258\r\n700.0\t82.840\r\n705.0\t83.842\r\n710.0\t84.844\r\n715.0\t77.539\r\n720.0\t70.235\r\n725.0\t74.768\r\n730.0\t79.301\r\n735.0\t82.147\r\n740.0\t84.993\r\n745.0\t78.437\r\n750.0\t71.880\r\n755.0\t62.337\r\n760.0\t52.793\r\n765.0\t64.360\r\n770.0\t75.927\r\n775.0\t73.872\r\n780.0\t71.818","CIE-D65.txt":"300.0\t0.034100\r\n305.0\t1.664300\r\n310.0\t3.294500\r\n315.0\t11.765200\r\n320.0\t20.236000\r\n325.0\t28.644700\r\n330.0\t37.053500\r\n335.0\t38.501100\r\n340.0\t39.948800\r\n345.0\t42.430200\r\n350.0\t44.911700\r\n355.0\t45.775000\r\n360.0\t46.638300\r\n365.0\t49.363700\r\n370.0\t52.089100\r\n375.0\t51.032300\r\n380.0\t49.975500\r\n385.0\t52.311800\r\n390.0\t54.648200\r\n395.0\t68.701500\r\n400.0\t82.754900\r\n405.0\t87.120400\r\n410.
10\t91.486000\r\n415.0\t92.458900\r\n420.0\t93.431800\r\n425.0\t90.057000\r\n430.0\t86.682300\r\n435.0\t95.773600\r\n440.0\t104.865000\r\n445.0\t110.936000\r\n450.0\t117.008000\r\n455.0\t117.410000\r\n460.0\t117.812000\r\n465.0\t116.336000\r\n470.0\t114.861000\r\n475.0\t115.392000\r\n480.0\t115.923000\r\n485.0\t112.367000\r\n490.0\t108.811000\r\n495.0\t109.082000\r\n500.0\t109.354000\r\n505.0\t108.578000\r\n510.0\t107.802000\r\n515.0\t106.296000\r\n520.0\t104.790000\r\n525.0\t106.239000\r\n530.0\t107.689000\r\n535.0\t106.047000\r\n540.0\t104.405000\r\n545.0\t104.225000\r\n550.0\t104.046000\r\n555.0\t102.023000\r\n560.0\t100.000000\r\n565.0\t98.167100\r\n570.0\t96.334200\r\n575.0\t96.061100\r\n580.0\t95.788000\r\n585.0\t92.236800\r\n590.0\t88.685600\r\n595.0\t89.345900\r\n600.0\t90.006200\r\n605.0\t89.802600\r\n610.0\t89.599100\r\n615.0\t88.648900\r\n620.0\t87.698700\r\n625.0\t85.493600\r\n630.0\t83.288600\r\n635.0\t83.493900\r\n640.0\t83.699200\r\n645.0\t81.863000\r\n650.0\t80.026800\r\n655.0\t80.120700\r\n660.0\t80.214600\r\n665.0\t81.246200\r\n670.0\t82.277800\r\n675.0\t80.281000\r\n680.0\t78.284200\r\n685.0\t74.002700\r\n690.0\t69.721300\r\n695.0\t70.665200\r\n700.0\t71.609100\r\n705.0\t72.979000\r\n710.0\t74.349000\r\n715.0\t67.976500\r\n720.0\t61.604000\r\n725.0\t65.744800\r\n730.0\t69.885600\r\n735.0\t72.486300\r\n740.0\t75.087000\r\n745.0\t69.339800\r\n750.0\t63.592700\r\n755.0\t55.005400\r\n760.0\t46.418200\r\n765.0\t56.611800\r\n770.0\t66.805400\r\n775.0\t65.094100\r\n780.0\t63.382800","Fluorescent.txt":"300.665\t0\r\n301.456\t0\r\n302.246\t0\r\n303.037\t0\r\n303.828\t0\r\n304.619\t0\r\n305.409\t0\r\n306.2\t0\r\n306.99\t0\r\n307.78\t0\r\n308.571\t0\r\n309.361\t0\r\n310.151\t0\r\n310.941\t0\r\n311.731\t3.41625\r\n312.521\t3.41625\r\n313.311\t3.41625\r\n314.1\t3.41625\r\n314.89\t3.41625\r\n315.68\t3.41625\r\n316.469\t0\r\n317.259\t0\r\n318.048\t0\r\n318.837\t0\r\n319.626\t0\r\n320.416\t0\r\n321.205\t0\r\n321.994\t0\r\n322.782\t0\r\n323.571\t0\r\n324.36\t0\r\n325.149\t0\r\n325.937\t0\r\n326.726\t0\r\n327.514\t0\r\n328.303\t0\r\n329.091\t0\r\n329.879\t0\r\n330.667\t0\r\n331.455\t0\r\n332.243\t0\r\n333.031\t3.41625\r\n333.819\t3.41625\r\n334.607\t3.41625\r\n335.395\t3.41625\r\n336.182\t3.41625\r\n336.97\t3.41625\r\n337.757\t0\r\n338.545\t0\r\n339.332\t0\r\n340.119\t3.41625\r\n340.906\t3.41625\r\n341.694\t3.41625\r\n342.481\t3.41625\r\n343.267\t3.41625\r\n344.054\t3.41625\r\n344.841\t3.41625\r\n345.628\t3.41625\r\n346.414\t3.41625\r\n347.201\t3.41625\r\n347.988\t3.41625\r\n348.774\t3.41625\r\n349.56\t3.41625\r\n350.347\t3.41625\r\n351.133\t3.41625\r\n351.919\t3.41625\r\n352.705\t3.41625\r\n353.491\t3.41625\r\n354.277\t3.41625\r\n355.062\t3.41625\r\n355.848\t3.41625\r\n356.634\t3.41625\r\n357.419\t3.41625\r\n358.205\t3.41625\r\n358.99\t6.8325\r\n359.776\t6.8325\r\n360.561\t6.8325\r\n361.346\t6.8325\r\n362.131\t6.8325\r\n362.916\t13.665\r\n363.701\t27.33\r\n364.486\t58.0762\r\n365.271\t85.4062\r\n366.056\t92.2387\r\n366.84\t81.99\r\n367.625\t54.66\r\n368.41\t23.9137\r\n369.194\t13.665\r\n369.978\t10.2487\r\n370.763\t10.2487\r\n371.547\t10.2487\r\n372.331\t10.2487\r\n373.115\t10.2487\r\n373.899\t10.2487\r\n374.683\t10.2487\r\n375.467\t10.2487\r\n376.251\t10.2487\r\n377.034\t13.665\r\n377.818\t13.665\r\n378.601\t13.665\r\n379.385\t13.665\r\n380.168\t13.665\r\n380.952\t13.665\r\n381.735\t17.0812\r\n382.518\t17.0812\r\n383.301\t17.0812\r\n384.084\t17.0812\r\n384.867\t17.0812\r\n385.65\t17.0812\r\n386.433\t20.4975\r\n387.215\t20.4975\r\n387.998\t20.4975\r\n388.78\t20.4975\r\n389.563\t20.4975\r\n390.345\t23.9137\r\n391.128\t23.9137\r\n391.91\t23.9137\r\n392.692\t23.9137\r\n393.474\t23.9137\r\n394.256\t27.33\r\n395.038\t27.33\r\n395.82\t27.33\r\n396.602\t27.33\r\n397.383\t30.7462\r\n398.165\t30.7462\r\n398.947\t30.7462\r\n399.728\t30.7462\r\n400.509\t34.1625\r\n401.291\t34.1625\r\n402.072\t37.5787\r\n402.853\t61.4925\r\n403.634\t112.736\r\n404.415\t184.477\r\n405.196\t211.807\r\n405.977\t201.559\r\n406.758\t157.147\r\n407.539\t92.2387\r\n408.319\t58.0762\r\n409.1\t51.2437\r\n409.88\t51.2437\r\n410.661\t44.4112\r\n411.441\t44.4112\r\n412.221\t44.4112\r\n413.002\t44.4112\r\n413.782\t44.4112\r\n414.562\t47.8275\r\n415.342\t47.8275\r\n416.122\t47.8275\r\n416.901\t51.2437\r\n417.681\t51.2437\r\n418.461\t51.2437\r\n419.24\t54.66\r\n420.02\t54.66\r\n420.799\t54.66\r\n421.579\t54.66\r\n422.358\t58.0762\r\n423.137\t58.0762\r\n423.916\t58.0762\r\n424.695\t61.4925\r\n425.474\t61.4925\r\n426.253\t61.4925\r\n427.032\t61.4925\r\n427.811\t64.9087\r\n428.589\t64.9087\r\n429.368\t64.9087\r\n430.147\t68.325\r\n430.925\t68.325\r\n431.703\t71.7412\r\n432.482\t71.7412\r\n433.26\t81.99\r\n434.038\t136.65\r\n434.816\t286.965\r\n435.594\t488.524\r\n436.372\t560.265\r\n437.15\t526.102\r\n437.928\t392.869\r\n438.705\t194.726\r\n439.483\t92.2387\r\n440.26\t78.5737\r\n441.038\t78.5737\r\n441.815\t78.5737\r\n442.592\t78.5737\r\n443.37\t78.5737\r\n444.147\t81.99\r\n444.924\t81.99\r\n445.701\t81.99\r\n446.478\t81.99\r\n447.255\t85.4062\r\n448.031\t85.4062\r\n448.808\t85.4062\r\n449.585\t85.4062\r\n450.361\t85.4062\r\n451.138\t88.8225\r\n451.914\t88.8225\r\n452.69\t88.8225\r\n453.467\t88.8225\r\n454.243\t88.8225\r\n455.019\t88.8225\r\n455.795\t92.2387\r\n456.571\t92.2387\r\n457.347\t92.2387\r\n458.122\t92.2387\r\n458.898\t92.2387\r\n459.674\t92.2387\r\n460.449\t95.655\r\n461.225\t95.655\r\n462\t95.655\r\n462.775\t95.655\r\n463.551\t95.655\r\n464.326\t95.655\r\n465.101\t95.655\r\n465.876\t95.655\r\n466.651\t99.0712\r\n467.426\t99.0712\r\n468.2\t99.0712\r\n468.975\t99.0712\r\n469.75\t99.0712\r\n470.524\t99.0712\r\n471.299\t99.0712\r\n472.073\t99.0712\r\n472.848\t99.0712\r\n473.622\t99.0712\r\n474.396\t99.0712\r\n475.17\t99.0712\r\n475.944\t99.0712\r\n476.718\t99.0712\r\n47
17.492\t99.0712\r\n478.266\t99.0712\r\n479.039\t99.0712\r\n479.813\t99.0712\r\n480.587\t99.0712\r\n481.36\t99.0712\r\n482.133\t99.0712\r\n482.907\t99.0712\r\n483.68\t99.0712\r\n484.453\t99.0712\r\n485.226\t99.0712\r\n485.999\t99.0712\r\n486.772\t99.0712\r\n487.545\t99.0712\r\n488.318\t99.0712\r\n489.091\t99.0712\r\n489.863\t99.0712\r\n490.636\t99.0712\r\n491.408\t99.0712\r\n492.181\t99.0712\r\n492.953\t99.0712\r\n493.725\t99.0712\r\n494.497\t99.0712\r\n495.27\t95.655\r\n496.042\t95.655\r\n496.814\t95.655\r\n497.585\t95.655\r\n498.357\t95.655\r\n499.129\t95.655\r\n499.901\t95.655\r\n500.672\t95.655\r\n501.444\t95.655\r\n502.215\t92.2387\r\n502.986\t92.2387\r\n503.758\t92.2387\r\n504.529\t92.2387\r\n505.3\t92.2387\r\n506.071\t92.2387\r\n506.842\t92.2387\r\n507.613\t92.2387\r\n508.384\t88.8225\r\n509.154\t88.8225\r\n509.925\t88.8225\r\n510.696\t88.8225\r\n511.466\t88.8225\r\n512.236\t88.8225\r\n513.007\t88.8225\r\n513.777\t88.8225\r\n514.547\t88.8225\r\n515.317\t85.4062\r\n516.087\t85.4062\r\n516.857\t85.4062\r\n517.627\t85.4062\r\n518.397\t85.4062\r\n519.167\t85.4062\r\n519.936\t85.4062\r\n520.706\t85.4062\r\n521.476\t85.4062\r\n522.245\t85.4062\r\n523.014\t85.4062\r\n523.784\t85.4062\r\n524.553\t85.4062\r\n525.322\t85.4062\r\n526.091\t81.99\r\n526.86\t81.99\r\n527.629\t81.99\r\n528.398\t81.99\r\n529.166\t81.99\r\n529.935\t81.99\r\n530.704\t81.99\r\n531.472\t81.99\r\n532.24\t85.4062\r\n533.009\t85.4062\r\n533.777\t85.4062\r\n534.545\t85.4062\r\n535.313\t85.4062\r\n536.081\t85.4062\r\n536.849\t85.4062\r\n537.617\t85.4062\r\n538.385\t85.4062\r\n539.153\t85.4062\r\n539.92\t88.8225\r\n540.688\t88.8225\r\n541.456\t88.8225\r\n542.223\t88.8225\r\n542.99\t92.2387\r\n543.758\t95.655\r\n544.525\t122.985\r\n545.292\t218.64\r\n546.059\t304.046\r\n546.826\t321.127\r\n547.593\t300.63\r\n548.36\t222.056\r\n549.126\t129.817\r\n549.893\t99.0712\r\n550.66\t95.655\r\n551.426\t95.655\r\n552.192\t95.655\r\n552.959\t99.0712\r\n553.725\t99.0712\r\n554.491\t99.0712\r\n555.257\t99.0712\r\n556.023\t99.0712\r\n556.789\t99.0712\r\n557.555\t102.487\r\n558.321\t102.487\r\n559.087\t102.487\r\n559.853\t102.487\r\n560.618\t102.487\r\n561.384\t105.904\r\n562.149\t105.904\r\n562.914\t105.904\r\n563.68\t105.904\r\n564.445\t105.904\r\n565.21\t105.904\r\n565.975\t109.32\r\n566.74\t109.32\r\n567.505\t109.32\r\n568.27\t109.32\r\n569.034\t109.32\r\n569.799\t109.32\r\n570.564\t109.32\r\n571.328\t109.32\r\n572.093\t109.32\r\n572.857\t109.32\r\n573.621\t109.32\r\n574.385\t112.736\r\n575.149\t112.736\r\n575.914\t126.401\r\n576.677\t140.066\r\n577.441\t150.315\r\n578.205\t160.564\r\n578.969\t167.396\r\n579.733\t153.731\r\n580.496\t143.482\r\n581.26\t129.817\r\n582.023\t116.152\r\n582.786\t109.32\r\n583.55\t109.32\r\n584.313\t109.32\r\n585.076\t105.904\r\n585.839\t105.904\r\n586.602\t105.904\r\n587.365\t105.904\r\n588.128\t105.904\r\n588.89\t105.904\r\n589.653\t102.487\r\n590.416\t102.487\r\n591.178\t102.487\r\n591.941\t102.487\r\n592.703\t99.0712\r\n593.465\t99.0712\r\n594.227\t99.0712\r\n594.989\t99.0712\r\n595.752\t95.655\r\n596.513\t95.655\r\n597.275\t95.655\r\n598.037\t92.2387\r\n598.799\t92.2387\r\n599.561\t92.2387\r\n600.322\t88.8225\r\n601.084\t88.8225\r\n601.845\t88.8225\r\n602.606\t85.4062\r\n603.368\t85.4062\r\n604.129\t85.4062\r\n604.89\t81.99\r\n605.651\t81.99\r\n606.412\t81.99\r\n607.173\t78.5737\r\n607.934\t78.5737\r\n608.694\t78.5737\r\n609.455\t75.1575\r\n610.216\t75.1575\r\n610.976\t75.1575\r\n611.736\t75.1575\r\n612.497\t75.1575\r\n613.257\t71.7412\r\n614.017\t71.7412\r\n614.777\t68.325\r\n615.537\t68.325\r\n616.297\t68.325\r\n617.057\t64.9087\r\n617.817\t64.9087\r\n618.577\t61.4925\r\n619.336\t61.4925\r\n620.096\t61.4925\r\n620.855\t61.4925\r\n621.615\t58.0762\r\n622.374\t58.0762\r\n623.133\t58.0762\r\n623.893\t54.66\r\n624.652\t54.66\r\n625.411\t54.66\r\n626.17\t51.2437\r\n626.929\t51.2437\r\n627.687\t51.2437\r\n628.446\t51.2437\r\n629.205\t47.8275\r\n629.963\t47.8275\r\n630.722\t47.8275\r\n631.48\t47.8275\r\n632.238\t44.4112\r\n632.997\t44.4112\r\n633.755\t44.4112\r\n634.513\t40.995\r\n635.271\t40.995\r\n636.029\t40.995\r\n636.787\t40.995\r\n637.545\t40.995\r\n638.302\t37.5787\r\n639.06\t37.5787\r\n639.817\t37.5787\r\n640.575\t37.5787\r\n641.332\t34.1625\r\n642.09\t34.1625\r\n642.847\t34.1625\r\n643.604\t34.1625\r\n644.361\t34.1625\r\n645.118\t30.7462\r\n645.875\t30.7462\r\n646.632\t30.7462\r\n647.389\t30.7462\r\n648.145\t30.7462\r\n648.902\t30.7462\r\n649.659\t27.33\r\n650.415\t27.33\r\n651.171\t27.33\r\n651.928\t27.33\r\n652.684\t27.33\r\n653.44\t27.33\r\n654.196\t23.9137\r\n654.952\t23.9137\r\n655.708\t23.9137\r\n656.464\t23.9137\r\n657.22\t23.9137\r\n657.976\t23.9137\r\n658.731\t23.9137\r\n659.487\t20.4975\r\n660.242\t20.4975\r\n660.998\t20.4975\r\n661.753\t20.4975\r\n662.508\t20.4975\r\n663.263\t20.4975\r\n664.018\t20.4975\r\n664.773\t20.4975\r\n665.528\t20.4975\r\n666.283\t17.0812\r\n667.038\t17.0812\r\n667.792\t17.0812\r\n668.547\t17.0812\r\n669.302\t17.0812\r\n670.056\t17.0812\r\n670.81\t17.0812\r\n671.565\t17.0812\r\n672.319\t17.0812\r\n673.073\t17.0812\r\n673.827\t17.0812\r\n674.581\t13.665\r\n675.335\t13.665\r\n676.
1089\t13.665\r\n676.843\t13.665\r\n677.596\t13.665\r\n678.35\t13.665\r\n679.103\t13.665\r\n679.857\t13.665\r\n680.61\t13.665\r\n681.364\t13.665\r\n682.117\t13.665\r\n682.87\t13.665\r\n683.623\t13.665\r\n684.376\t13.665\r\n685.129\t10.2487\r\n685.882\t10.2487\r\n686.634\t10.2487\r\n687.387\t10.2487\r\n688.14\t10.2487\r\n688.892\t10.2487\r\n689.645\t10.2487\r\n690.397\t10.2487\r\n691.149\t10.2487\r\n691.901\t10.2487\r\n692.654\t10.2487\r\n693.406\t10.2487\r\n694.158\t10.2487\r\n694.909\t10.2487\r\n695.661\t10.2487\r\n696.413\t10.2487\r\n697.165\t10.2487\r\n697.916\t10.2487\r\n698.668\t10.2487\r\n699.419\t10.2487\r\n700.17\t10.2487\r\n700.922\t10.2487\r\n701.673\t6.8325\r\n702.424\t6.8325\r\n703.175\t6.8325\r\n703.926\t6.8325\r\n704.677\t6.8325\r\n705.428\t6.8325\r\n706.178\t6.8325\r\n706.929\t6.8325\r\n707.68\t6.8325\r\n708.43\t6.8325\r\n709.181\t6.8325\r\n709.931\t6.8325\r\n710.681\t6.8325\r\n711.431\t6.8325\r\n712.181\t6.8325\r\n712.931\t6.8325\r\n713.681\t6.8325\r\n714.431\t6.8325\r\n715.181\t6.8325\r\n715.931\t6.8325\r\n716.68\t6.8325\r\n717.43\t6.8325\r\n718.179\t6.8325\r\n718.929\t6.8325\r\n719.678\t6.8325\r\n720.427\t6.8325\r\n721.177\t6.8325\r\n721.926\t6.8325\r\n722.675\t6.8325\r\n723.424\t6.8325\r\n724.172\t6.8325\r\n724.921\t6.8325\r\n725.67\t6.8325\r\n726.419\t6.8325\r\n727.167\t6.8325\r\n727.916\t6.8325\r\n728.664\t6.8325\r\n729.412\t6.8325\r\n730.16\t6.8325\r\n730.909\t6.8325\r\n731.657\t6.8325\r\n732.405\t6.8325\r\n733.153\t6.8325\r\n733.9\t3.41625\r\n734.648\t3.41625\r\n735.396\t3.41625\r\n736.143\t3.41625\r\n736.891\t3.41625\r\n737.638\t6.8325\r\n738.386\t6.8325\r\n739.133\t6.8325\r\n739.88\t6.8325\r\n740.627\t3.41625\r\n741.375\t3.41625\r\n742.121\t3.41625\r\n742.868\t3.41625\r\n743.615\t3.41625\r\n744.362\t3.41625\r\n745.109\t3.41625\r\n745.855\t3.41625\r\n746.602\t3.41625\r\n747.348\t3.41625\r\n748.095\t3.41625\r\n748.841\t3.41625\r\n749.587\t3.41625\r\n750.333\t3.41625\r\n751.079\t6.8325\r\n751.825\t6.8325\r\n752.571\t3.41625\r\n753.317\t3.41625\r\n754.063\t3.41625\r\n754.808\t3.41625\r\n755.554\t3.41625\r\n756.299\t3.41625\r\n757.045\t3.41625\r\n757.79\t3.41625\r\n758.535\t3.41625\r\n759.281\t3.41625\r\n760.026\t3.41625\r\n760.771\t3.41625\r\n761.516\t3.41625\r\n762.26\t3.41625\r\n763.005\t6.8325\r\n763.75\t6.8325\r\n764.495\t6.8325\r\n765.239\t6.8325\r\n765.984\t3.41625\r\n766.728\t3.41625\r\n767.472\t3.41625\r\n768.217\t3.41625\r\n768.961\t3.41625\r\n769.705\t3.41625\r\n770.449\t3.41625\r\n771.193\t3.41625\r\n771.937\t3.41625\r\n772.68\t3.41625\r\n773.424\t3.41625\r\n774.168\t3.41625\r\n774.911\t3.41625\r\n775.655\t3.41625\r\n776.398\t3.41625\r\n777.141\t3.41625\r\n777.885\t3.41625\r\n778.628\t3.41625\r\n779.371\t3.41625\r\n780.114\t3.41625\r\n780.857\t3.41625\r\n781.6\t3.41625\r\n782.342\t3.41625\r\n783.085\t3.41625\r\n783.828\t3.41625\r\n784.57\t3.41625\r\n785.313\t3.41625\r\n786.055\t3.41625\r\n786.797\t3.41625\r\n787.54\t3.41625\r\n788.282\t3.41625\r\n789.024\t3.41625\r\n789.766\t3.41625\r\n790.508\t3.41625\r\n791.249\t3.41625\r\n791.991\t3.41625\r\n792.733\t3.41625\r\n793.474\t3.41625\r\n794.216\t3.41625\r\n794.957\t3.41625\r\n795.699\t3.41625\r\n796.44\t3.41625\r\n797.181\t3.41625\r\n797.922\t3.41625\r\n798.663\t3.41625\r\n799.404\t3.41625\r\n","LED.txt":"300.665\t0\r\n301.456\t0\r\n302.246\t0\r\n303.037\t0\r\n303.828\t0\r\n304.619\t0\r\n305.409\t0\r\n306.2\t0\r\n306.99\t0\r\n307.78\t0\r\n308.571\t0\r\n309.361\t0\r\n310.151\t0\r\n310.941\t0\r\n311.731\t0\r\n312.521\t0\r\n313.311\t0\r\n314.1\t0\r\n314.89\t0\r\n315.68\t0\r\n316.469\t0\r\n317.259\t0\r\n318.048\t0\r\n318.837\t0\r\n319.626\t0\r\n320.416\t0\r\n321.205\t0\r\n321.994\t0\r\n322.782\t0\r\n323.571\t0\r\n324.36\t0\r\n325.149\t0\r\n325.937\t0\r\n326.726\t0\r\n327.514\t0\r\n328.303\t0\r\n329.091\t0\r\n329.879\t0\r\n330.667\t0\r\n331.455\t0\r\n332.243\t0\r\n333.031\t0\r\n333.819\t0\r\n334.607\t0\r\n335.395\t0\r\n336.182\t0\r\n336.97\t0\r\n337.757\t0\r\n338.545\t0\r\n339.332\t0\r\n340.119\t0\r\n340.906\t0\r\n341.694\t0\r\n342.481\t0\r\n343.267\t0\r\n344.054\t0\r\n344.841\t0\r\n345.628\t0\r\n346.414\t0\r\n347.201\t0\r\n347.988\t0\r\n348.774\t0\r\n349.56\t0\r\n350.347\t0\r\n351.133\t0\r\n351.919\t0\r\n352.705\t0\r\n353.491\t0\r\n354.277\t0\r\n355.062\t0\r\n355.848\t0\r\n356.634\t0\r\n357.419\t0\r\n358.205\t0\r\n358.99\t0\r\n359.776\t0\r\n360.561\t0\r\n361.346\t0\r\n362.131\t0\r\n362.916\t0\r\n363.701\t0\r\n364.486\t0\r\n365.271\t0\r\n366.056\t0\r\n366.84\t0\r\n367.625\t0\r\n368.41\t0\r\n369.194\t0\r\n369.978\t0\r\n370.763\t0\r\n371.547\t0\r\n372.331\t0\r\n373.115\t0\r\n373.899\t0\r\n374.683\t0\r\n375.467\t0\r\n376.251\t0\r\n377.034\t0\r\n377.818\t0\r\n378.601\t0\r\n379.385\t0\r\n380.168\t0\r\n380.952\t0\r\n381.735\t0\r\n382.518\t0\r\n383.301\t0\r\n384.084\t0\r\n384.867\t0\r\n385.65\t0\r\n386.433\t0\r\n387.215\t0\r\n387.998\t0\r\n388.78\t0\r\n389.563\t0\r\n390.345\t0\r\n391.128\t0\r\n391.91\t0\r\n392.692\t0\r\n393.474\t0\r\n394.256\t0\r\n395.038\t0\r\n395.82\t0\r\n396.602\t0\r\n397.383\t0\r\n398.165\t0\r\n398.947\t0\r\n399.728\t0\r\n400.509\t0\r\n401.291\t0\r\n402.072\t0\r\n402.853\t0\r\n403.634\t0\r\n404.415\t0\r\n405.196\t0\r\n405.977\t0\r\n406.758\t0\r\n407.539\t3.29915\r\n408.319\t3.29915\r\n409.1\t3.29915\r\n409.88\t3.29915\r\n410.661\t3.29915\r\n411.441\t3.29915\r\n412.221\t3.29915\r\n413.002\t3.29915\r\n413.782\t3.29915\r\n414.562\t3.29915\r\n415.342\t3.29915\r\n416.122\t6.59829\r\n416.901\t6.59829\r\n417.681\t6.59829\r\n418.461\t6.59829\r\n419.24\t6.59829\r\n420.02\t9.89744\r\n420.799\t9.89744\r\n421.579\t9.89744\r\n422.358\t13.1966\r\n423.137\t13.1966\r\n423.916\t13.1966\r\n424.695\t16.4957\r\n425.474\t19.7949\r\n426.253\t19.7949\r\n427.032\t23.094\r\n427.811\t23.094\r\n428.589\t26.3932\r\n429.368\t29.6923\r\n430.147\t32.9915\r\n430.925\t36.2906\r\n431.703\t39.5898\r\n432.482\t42.8889\r\n433.26\t46.1881\r\n434.038\t52.7863\r\n434.816\t56.0855\r\n435.594\t62.6838\r\n436.372\t65.9829\r\n437.15\t72.5812\r\n437.928\t79.1795\r\n438.705\t85.7778\r\n439.483\t92.3761\r\n440.26\t98.9744\r\n441.038\t105.573\r\n441.815\t115.47\r\n442.592\t125.368\r\n443.37\t135.265\r\n444.147\t148.462\r\n444.924\t158.359\r\n445.701\t171.556\r\n446.478\t184.752\r\n447.255\t197.949\r\n448.031\t211.145\r\n448.808\t227.641\r\n449.585\t240.838\r\n450.361\t250.735\r\n451.138\t260.633\r\n451.914\t270.53\r\n452.69\t277.128\r\n453.467\t280.427\r\n454.243\t283.727\r\n455.019\t280.427\r\n455.795\t277.128\r\n456.571\t270.53\r\n457.347\t260.633\r\n458.122\t250.735\r\n458.898\t240.838\r\n459.674\t227.641\r\n460.449\t217.744\r\n461.225\t204.547\r\n462\t194.65\r\n462.775\t184.752\r\n463.551\t178.154\r\n464.326\t168.256\r\n465.101\t161.658\r\n465.876\t158.359\r\n466.651\t151.761\r\n467.426\t145.162\r\n468.2\t141.863\r\n468.975\t135.265\r\n469.75\t131.966\r\n470.524\t128.667\r\n471.299\t122.068\r\n472.073\t118.769\r\n472.848\t112.171\r\n473.622\t108.872\r\n474.396\t105.573\r\n475.17\t98.9744\r\n475.944\t95.6753\r\n476.718\t92.3761\r\n477.492\t89.077\r\n478.266\t85.7778\r\n479.039\t82.4787\r\n479.813\t82.4787\r\n480.587\t79.1795\r\n481.36\t79.1795\r\n482.133\t75.8804\r\n482.907\t75.8804\r\n483.68\t75.8804\r\n484.453\t75.8804\r\n485.226\t75.8804\r\n485.999\t75.8804\r\n486.772\t75.8804\r\n487.545\t75.8804\r\n488.318\t75.8804\r\n489.091\t75.8804\r\n489.863\t75.8804\r\n490.636\t75.8804\r\n491.408\t75.8804\r\n492.181\t75.8804\r\n492.953\t75.8804\r\n493.725\t75.8804\r\n494.497\t75.8804\r\n495.27\t79.1795\r\n496.042\t79.1795\r\n496.814\t79.1795\r\n497.585\t79.1795\r\n498.357\t79.1795\r\n499.129\t82.4787\r\n499.901\t82.4787\r\n500.672\t82.4787\r\n501.444\t82.4787\r\n502.215\t85.7778\r\n502.986\t85.7778\r\n503.7
158\t85.7778\r\n504.529\t85.7778\r\n505.3\t89.077\r\n506.071\t89.077\r\n506.842\t89.077\r\n507.613\t89.077\r\n508.384\t92.3761\r\n509.154\t92.3761\r\n509.925\t92.3761\r\n510.696\t92.3761\r\n511.466\t92.3761\r\n512.236\t95.6753\r\n513.007\t95.6753\r\n513.777\t95.6753\r\n514.547\t95.6753\r\n515.317\t95.6753\r\n516.087\t95.6753\r\n516.857\t98.9744\r\n517.627\t98.9744\r\n518.397\t98.9744\r\n519.167\t98.9744\r\n519.936\t98.9744\r\n520.706\t102.274\r\n521.476\t102.274\r\n522.245\t102.274\r\n523.014\t102.274\r\n523.784\t102.274\r\n524.553\t102.274\r\n525.322\t102.274\r\n526.091\t102.274\r\n526.86\t102.274\r\n527.629\t105.573\r\n528.398\t105.573\r\n529.166\t105.573\r\n529.935\t105.573\r\n530.704\t105.573\r\n531.472\t105.573\r\n532.24\t105.573\r\n533.009\t105.573\r\n533.777\t108.872\r\n534.545\t108.872\r\n535.313\t108.872\r\n536.081\t108.872\r\n536.849\t108.872\r\n537.617\t108.872\r\n538.385\t108.872\r\n539.153\t108.872\r\n539.92\t108.872\r\n540.688\t108.872\r\n541.456\t108.872\r\n542.223\t112.171\r\n542.99\t112.171\r\n543.758\t112.171\r\n544.525\t112.171\r\n545.292\t112.171\r\n546.059\t112.171\r\n546.826\t112.171\r\n547.593\t112.171\r\n548.36\t112.171\r\n549.126\t112.171\r\n549.893\t112.171\r\n550.66\t112.171\r\n551.426\t112.171\r\n552.192\t112.171\r\n552.959\t112.171\r\n553.725\t112.171\r\n554.491\t112.171\r\n555.257\t112.171\r\n556.023\t112.171\r\n556.789\t112.171\r\n557.555\t112.171\r\n558.321\t112.171\r\n559.087\t112.171\r\n559.853\t112.171\r\n560.618\t112.171\r\n561.384\t112.171\r\n562.149\t112.171\r\n562.914\t108.872\r\n563.68\t108.872\r\n564.445\t108.872\r\n565.21\t108.872\r\n565.975\t108.872\r\n566.74\t108.872\r\n567.505\t108.872\r\n568.27\t108.872\r\n569.034\t108.872\r\n569.799\t108.872\r\n570.564\t108.872\r\n571.328\t108.872\r\n572.093\t105.573\r\n572.857\t105.573\r\n573.621\t105.573\r\n574.385\t105.573\r\n575.149\t105.573\r\n575.914\t105.573\r\n576.677\t105.573\r\n577.441\t105.573\r\n578.205\t105.573\r\n578.969\t102.274\r\n579.733\t102.274\r\n580.496\t102.274\r\n581.26\t102.274\r\n582.023\t102.274\r\n582.786\t102.274\r\n583.55\t102.274\r\n584.313\t102.274\r\n585.076\t98.9744\r\n585.839\t98.9744\r\n586.602\t98.9744\r\n587.365\t98.9744\r\n588.128\t98.9744\r\n588.89\t98.9744\r\n589.653\t98.9744\r\n590.416\t95.6753\r\n591.178\t95.6753\r\n591.941\t95.6753\r\n592.703\t95.6753\r\n593.465\t95.6753\r\n594.227\t95.6753\r\n594.989\t95.6753\r\n595.752\t92.3761\r\n596.513\t92.3761\r\n597.275\t92.3761\r\n598.037\t92.3761\r\n598.799\t92.3761\r\n599.561\t92.3761\r\n600.322\t89.077\r\n601.084\t89.077\r\n601.845\t89.077\r\n602.606\t89.077\r\n603.368\t89.077\r\n604.129\t89.077\r\n604.89\t89.077\r\n605.651\t85.7778\r\n606.412\t85.7778\r\n607.173\t85.7778\r\n607.934\t85.7778\r\n608.694\t85.7778\r\n609.455\t82.4787\r\n610.216\t82.4787\r\n610.976\t82.4787\r\n611.736\t82.4787\r\n612.497\t82.4787\r\n613.257\t82.4787\r\n614.017\t79.1795\r\n614.777\t79.1795\r\n615.537\t79.1795\r\n616.297\t79.1795\r\n617.057\t79.1795\r\n617.817\t75.8804\r\n618.577\t75.8804\r\n619.336\t75.8804\r\n620.096\t75.8804\r\n620.855\t75.8804\r\n621.615\t75.8804\r\n622.374\t72.5812\r\n623.133\t72.5812\r\n623.893\t72.5812\r\n624.652\t72.5812\r\n625.411\t72.5812\r\n626.17\t69.2821\r\n626.929\t69.2821\r\n627.687\t69.2821\r\n628.446\t69.2821\r\n629.205\t65.9829\r\n629.963\t65.9829\r\n630.722\t65.9829\r\n631.48\t65.9829\r\n632.238\t65.9829\r\n632.997\t62.6838\r\n633.755\t62.6838\r\n634.513\t62.6838\r\n635.271\t62.6838\r\n636.029\t62.6838\r\n636.787\t59.3846\r\n637.545\t59.3846\r\n638.302\t59.3846\r\n639.06\t59.3846\r\n639.817\t59.3846\r\n640.575\t56.0855\r\n641.332\t56.0855\r\n642.09\t56.0855\r\n642.847\t56.0855\r\n643.604\t52.7863\r\n644.361\t52.7863\r\n645.118\t52.7863\r\n645.875\t52.7863\r\n646.632\t52.7863\r\n647.389\t49.4872\r\n648.145\t49.4872\r\n648.902\t49.4872\r\n649.659\t49.4872\r\n650.415\t49.4872\r\n651.171\t46.1881\r\n651.928\t46.1881\r\n652.684\t46.1881\r\n653.44\t46.1881\r\n654.196\t46.1881\r\n654.952\t42.8889\r\n655.708\t42.8889\r\n656.464\t42.8889\r\n657.22\t42.8889\r\n657.976\t42.8889\r\n658.731\t39.5898\r\n659.487\t39.5898\r\n660.242\t39.5898\r\n660.998\t39.5898\r\n661.753\t39.5898\r\n662.508\t36.2906\r\n663.263\t36.2906\r\n664.018\t36.2906\r\n664.773\t36.2906\r\n665.528\t36.2906\r\n666.283\t36.2906\r\n667.038\t32.9915\r\n667.792\t32.9915\r\n668.547\t32.9915\r\n669.302\t32.9915\r\n670.056\t32.9915\r\n670.81\t32.9915\r\n671.565\t29.6923\r\n672.319\t29.6923\r\n673.073\t29.6923\r\n673.827\t29.6923\r\n674.581\t29.6923\r\n675.335\t29.6923\r\n676.089\t26.3932\r\n676.843\t26.3932\r\n677.596\t26.3932\r\n678.35\t26.3932\r\n679.103\t26.3932\r\n679.857\t26.3932\r\n680.61\t26.3932\r\n681.364\t23.094\r\n682.117\t23.094\r\n682.87\t23.094\r\n683.623\t23.094\r\n684.376\t23.094\r\n685.129\t23.094\r\n685.882\t23.094\r\n686.634\t19.7949\r\n687.387\t19.7949\r\n688.14\t19.7949\r\n688.892\t19.7949\r\n689.645\t19.7949\r\n690.397\t19.7949\r\n691.149\t19.7949\r\n691.901\t19.7949\r\n692.654\t19.7949\r\n693.406\t16.4957\r\n694.158\t16.4957\r\n694.909\t16.4957\r\n695.661\t16.4957\r\n696.413\t16.4957\r\n697.165\t16.4957\r\n697.916\t16.4957\r\n698.668\t16.4957\r\n699.419\t16.4957\r\n700.17\t16.4957\r\n700.922\t13.1966\r\n701.673\t13.1966\r\n702.424\t13.1966\r\n703.175\t13.1966\r\n703.926\t13.1966\r\n704.677\t13.1966\r\n705.428\t13.1966\r\n706.178\t13.1966\r\n706.929\t13.1966\r\n707.68\t13.1966\r\n708.43\t13.1966\r\n709.181\t13.1966\r\n709.931\t9.89744\r\n710.681\t9.89744\r\n711.431\t9.89744\r\n712.181\t9.89744\r\n712.931\t9.89744\r\n713.681\t9.89744\r\n714.431\t9.89744\r\n715.181\t9.89744\r\n715.931\t9.89744\r\n716.68\t9.89744\r\n717.43\t9.89744\r\n718.179\t9.89744\r\n718.929\t9.89744\r\n719.678\t9.89744\r\n720.427\t9.89744\r\n721.177\t9.89744\r\n721.926\t6.59829\r\n722.675\t6.59829\r\n723.424\t6.59829\r\n724.172\t6.59829\r\n724.921\t6.59829\r\n725.67\t6.59829\r\n726.419\t6.59829\r\n727.167\t6.59829\r\n727.916\t6.59829\r\n728.664\t6.59829\r\n729.412\t6.59829\r\n730.16\t6.59829\r\n730.909\t6.59829\r\n731.657\t6.59829\r\n732.405\t6.59829\r\n733.153\t6.59829\r\n733.9\t6.59829\r\n734.648\t6.59829\r\n735.396\t6.59829\r\n736.143\t6.59829\r\n736.891\t6.59829\r\n737.638\t6.59829\r\n738.386\t6.59829\r\n739.133\t6.59829\r\n739.88\t3.29915\r\n740.627\t3.29915\r\n741.375\t3.29915\r\n742.121\t3.29915\r\n742.868\t3.29915\r\n743.615\t3.29915\r\n744.362\t3.29915\r\n745.109\t3.29915\r\n745.855\t3.29915\r\n746.602\t3.29915\r\n747.348\t3.29915\r\n748.095\t3.29915\r\n748.841\t3.29915\r\n749.587\t3.29915\r\n750.333\t3.29915\r\n751.079\t3.29915\r\n751.825\t3.29915\r\n752.571\t3.29915\r\n753.317\t3.29915\r\n754.063\t3.29915\r\n754.808\t3.29915\r\n755.554\t3.29915\r\n756.299\t3.29915\r\n757.045\t3.29915\r\n757.79\t3.29915\r\n758.535\t3.29915\r\n759.281\t3.29915\r\n760.026\t3.29915\r\n760.771\t3.29915\r\n761.516\t3.29915\r\n762.26\t3.29915\r\n763.005\t3.29915\r\n763.7
15\t3.29915\r\n764.495\t3.29915\r\n765.239\t3.29915\r\n765.984\t3.29915\r\n766.728\t3.29915\r\n767.472\t3.29915\r\n768.217\t3.29915\r\n768.961\t3.29915\r\n769.705\t3.29915\r\n770.449\t3.29915\r\n771.193\t3.29915\r\n771.937\t3.29915\r\n772.68\t3.29915\r\n773.424\t3.29915\r\n774.168\t3.29915\r\n774.911\t3.29915\r\n775.655\t3.29915\r\n776.398\t3.29915\r\n777.141\t3.29915\r\n777.885\t0\r\n778.628\t0\r\n779.371\t0\r\n780.114\t0\r\n780.857\t0\r\n781.6\t0\r\n782.342\t0\r\n783.085\t0\r\n783.828\t0\r\n784.57\t0\r\n785.313\t0\r\n786.055\t0\r\n786.797\t0\r\n787.54\t0\r\n788.282\t0\r\n789.024\t0\r\n789.766\t0\r\n790.508\t0\r\n791.249\t0\r\n791.991\t0\r\n792.733\t0\r\n793.474\t0\r\n794.216\t0\r\n794.957\t0\r\n795.699\t0\r\n796.44\t0\r\n797.181\t0\r\n797.922\t0\r\n798.663\t0\r\n799.404\t0\r\n"}},WW={Overview:"VIEW_MODE_ALL",OverviewWithCavern:"VIEW_MODE_ALL_CAVERN",OverviewInclusionsInside:"VIEW_MODE_ALL_INCLUSIONS_INSIDE",OverviewCutInclusions:"VIEW_MODE_ALL_CUT_INCLUSIONS",InclusionsInsideOld:"VIEW_MODE_INCLUSIONS_INSIDE_OLD",InclusionsInside:"VIEW_MODE_INCLUSIONS_INSI
1DE",CutInclusions:"VIEW_MODE_TOUCH_INCLUSIONS",DistanceToInclusion:"VIEW_MODE_DISTANCE_TO_INCLUSIONS",DistanceToRough:"VIEW_MODE_DISTANCE_TO_ROUGH",DistanceToDiamond:"VIEW_MODE_DISTANCE_TO_DIAMONDS",Rough:"VIEW_MODE_ROUGH",RoughInclusions:"VIEW_MODE_ROUGH_INCLUSIONS"},mW={Office:"VIEW_MODE_PHOTOREAL_OFFICE",Fire:"VIEW_MODE_PHOTOREAL_FIRE",FireWeb:"VIEW_MODE_PHOTOREAL_FIRE_WEB",FireWithBody:"VIEW_MODE_PHOTOREAL_FIRE_WITH_BODY",ASETBlack:"VIEW_MODE_PHOTOREAL_ASET_BLACK",ASETBlackBody:"VIEW_MODE_PHOTOREAL_ASET_BLACK_BODY",ASETWhite:"VIEW_MODE_PHOTOREAL_ASET_WHITE",Darkfield:"VIEW_MODE_PHOTOREAL_DARKFIELD",TableColorUVFree:"VIEW_MODE_PHOTOREAL_TABLE_COLOR_UV_FREE",PavilionColorUVFree:"VIEW_MODE_PHOTOREAL_PAVILLION_COLOR_UV_FREE",Scintillation:"VIEW_MODE_PHOTOREAL_SCINTILLATION",OfficeFancyColor:"VIEW_MODE_PHOTOREAL_OFFICE_FANCY_COLOR",OfficeFancyColorWeb:"VIEW_MODE_PHOTOREAL_OFFICE_FANCY_COLOR_WEB",OfficeFancyColorRough360:"VIEW_MODE_PHOTOREAL_OFFICE_FANCY_COLOR_ROUGH_360",OfficeWithBody:"VIEW_MODE_PHOTOREAL_OFFICE_WITH_BODY",Mask:"VIEW_MODE_PHOTOREAL_MASK",Hearts:"VIEW_MODE_PHOTOREAL_HEARTS",Arrows:"VIEW_MODE_PHOTOREAL_ARROWS",Reprojection:"VIEW_MODE_PHOTOREAL_REPROJECTION"},FW={...WW,...mW},NW={[FW.ASETBlack]:"ASET Black",[FW.ASETBlackBody]:"ASET Black Body",[FW.ASETWhite]:"ASET White",[FW.Darkfield]:"Darkfield",[FW.Office]:"Office",[FW.OfficeWithBody]:"Office with Body",[FW.TableColorUVFree]:"Table Color UV Free",[FW.PavilionColorUVFree]:"Pavilion Color UV Free",[FW.Scintillation]:"Scintillation",[FW.OfficeFancyColor]:"Office (Fancy Color)",[FW.OfficeFancyColorWeb]:"Office (Fancy Color) Web",[FW.OfficeFancyColorRough360]:"Office (Fancy Color)-Rough360",[FW.Mask]:"Mask",[FW.Hearts]:"Hearts",[FW.Fire]:"Fire",[FW.FireWeb]:"Fire (Fancy Color) Web",[FW.FireWithBody]:"Fire with Body",[FW.Arrows]:"Arrows"},uW=((hW=uW||{}).Started="state.started",hW.APIInicialized="state.carbon-api-initialized",hW.Ready="state.ready",hW.GenericReady="state.generic-ready",hW.PhotorealReady="state.photoreal-ready",hW.SamplesCollected="state.samples-collected",hW.Error="state.error",hW),EW=((oW=EW||{}).PointerMoved="pointer.moved",oW.CameraUpdated="camera.updated",oW.Updated="state.updated",oW),bW={Crystal:0,Point:1,Feather:3},SW={High:0,Moderate:1,Low:2,Invincible:3},JW={SplitScreen_L_R:0,SplitScreen_L_Combined_R:1,Combined:2,StereoMonitor:3},TW={Average:0,Max:1},GW={[bW.Crystal]:{[SW.High]:"rgb(253,102,145)",[SW.Moderate]:"rgb(254, 153, 182)",[SW.Low]:"rgb(253, 204, 218)",[SW.Invincible]:"rgb(253, 224, 228)",line:"rgb(226, 77, 122)"},[bW.Point]:{[SW.High]:"rgb(253,102,145)",[SW.Moderate]:"rgb(254, 153, 182)",[SW.Low]:"rgb(253, 204, 218)",[SW.Invincible]:"rgb(253, 224, 228)",line:"rgb(226, 77, 122)"},[bW.Feather]:{[SW.High]:"rgb(255, 210, 195)",[SW.Moderate]:"rgb(255, 224, 207)",[SW.Low]:"rgb(255, 245, 230)",[SW.Invincible]:"rgb(255, 245, 239)",line:"rgb(224,122,89)"}},MW=((RW=MW||{})[RW.Simple=0]="Simple",RW[RW.ExposureFusion=1]="ExposureFusion",RW[RW.HDRFancy=2]="HDRFancy",RW[RW.FancyLight=3]="FancyLight",RW[RW.Aces=4]="Aces",RW[RW.FancyNew=5]="FancyNew",RW),kW={1:0,0:.08919,"-1":.2176,"-2":.4098,"-3":.66958,"-5":.77,"-7":.965947},YW="cv-scale",xW="cv-toolbar",QW="rgb(29, 28, 28)",XW=(e=>(e[e.Normal=0]="Normal",e[e.External=1]="External",e[e.Internal=2]="Internal",e))(XW||{}),wW=.8,fW="rgb(191, 191, 191)",zW="rgb(255, 255, 255)",yW="rgb(128, 128, 128)",CW="rgb(0, 0, 0)",jW=!0,gW="carbon-viewer.jpg",BW=24,HW=480,vW=480,IW="rgb(64, 81, 95)",DW={productTransparency:.55,productAmbientFactor:.5,roughTransparency:wW,roughAmbientFactor:0,roughShadingMode:0,roughColor:fW,sawingsAmbientFactor:.5,sawingsTransparency:.2,showSawings:jW,inclusionsHighlight:0,background:IW,wireframeFrontColor:yW,wireframeBackColor:CW},OW="rgb(45, 45, 45)",_W="rgb(171, 171, 171)",LW={[FW.Overview]:{productTransparency:.2,productAmbientFactor:.3,roughColor:zW,roughTransparency:0,roughAmbientFactor:1,roughShadingMode:1,inclusionsHighlight:1,showSawings:!0,sawingsAmbientFactor:.3,sawingsTransparency:.2,background:QW,wireframeFrontColor:OW,wireframeBackColor:_W},[FW.OverviewWithCavern]:{showSawings:!0,sawingsAmbientFactor:.5,roughColor:zW,wireframeFrontColor:OW,wireframeBackColor:_W},[FW.OverviewCutInclusions]:{productTransparency:.21,roughColor:zW,roughTransparency:0,roughAmbientFactor:1,roughShadingMode:1,inclusionsHighlight:.6,showSawings:!0,sawingsAmbientFactor:.5,background:QW,wireframeFrontColor:OW,wireframeBackColor:_W},[FW.OverviewInclusionsInside]:{productAmbientFactor:.5,roughColor:zW,roughTransparency:0,roughAmbientFactor:1,roughShadingMode:1,productTransparency:.85,inclusionsHighlight:.6,showSawings:!1,background:QW,wireframeFrontColor:OW,wireframeBackColor:_W},[FW.InclusionsInsideOld]:{productTransparency:.58,roughTransparency:.9,inclusionsHighlight:.6,showSawings:!1,background:QW},[FW.InclusionsInside]:{productTransparency:.58,roughTransparency:.9,inclusionsHighlight:.6,showSawings:!1,background:QW},[FW.CutInclusions]:{productTransparency:0,roughTransparency:.8,inclusionsHighlight:.6,showSawings:!1,background:QW},[FW.DistanceToInclusion]:{productTransparency:.5,roughTransparency:.63,roughAmbientFactor:.46,roughShadingMode:0,roughColor:"rgb(242, 228, 228)",sawingsTransparency:.25,sawingsAmbient:"rgb(140,140,191)",sawingsAmbientFactor:.5,sawingsColor:"rgb(140,140,191)",inclusionsHighlight:.6,background:"rgb(15, 16, 16)"},[FW.DistanceToRough]:{productTransparency:.5,roughTransparency:.5},[FW.DistanceToDiamond]:{productTransparency:.5,roughTransparency:.55},[FW.Rough]:{showSawings:!1,productTransparency:.5,roughTransparency:0},[FW.RoughInclusions]:{roughTransparency:.75}},KW=[-1e3,-1e3,-1e3],PW={FancyVividYellowOrange:"https://files-cdn.cutwise.com/demo/cvspectrum/spectrum_vivid_yo.txt",FancyVividYellow:"https://files-cdn.cutwise.com/demo/cvspectrum/spectrum_vivid_y.txt",FancyYellow:"https://files-cdn.cutwise.com/demo/cvspectrum/spectrum_fancy_y.txt",FancyBrownYellow:"https://files-cdn.cutwise.com/demo/cvspectrum/spectrum_fancy_by.txt",Colorless:"https://files-cdn.cutwise.com/demo/cvspectrum/1_E-color.txt","Near Colorless":"https://files-cdn.cutwise.com/demo/cvspectrum/2_H-color.txt","Faint Yellow":"https://files-cdn.cutwise.com/demo/cvspectrum/3_L-M-color.txt",Yellow:"https://files-cdn.cutwise.com/demo/cvspectrum/4_FIY.txt","Saturated Yellow":"https://files-cdn.cutwise.com/demo/cvspectrum/5_FVY.txt",Orange:"https://files-cdn.cutwise.com/demo/cvspectrum/6_Orange.txt",Pink:"https://files-cdn.cutwise.com/demo/cvspectrum/7_Pink.txt",Purple:"https://files-cdn.cutwise.com/demo/cvspectrum/8_Purple.txt",Green:"https://files-cdn.cutwise.com/demo/cvspectrum/9_Green.txt",Brown:"https://files-cdn.cutwise.com/demo/cvspectrum/10_Brown.txt"},AW=Object.keys(ZW.spds).map((e=>e.split(".txt")?.[0]??e)),qW=[2.451215,2.444875,2.439458,2.434042,2.428785,2.425125,2.421875,2.418625,2.415375,2.412125,2.408875,2.405625],$W=qW.map((()=>2.423)),em=qW.map((e=>1/e)),tm=$W.map((e=>1/e)),lm=[1.1,0,0,0,0,0,0,0,0,0,0,0],nm=[0,0,0,0,0,0,0,0,0,0,0,0],Vm={NoToneMapping:0,ACEStm:1,DiboxCurve:2},im=((dW=im||{})[dW.Simple=0]="Simple",dW[dW.Quality=1]="Quality",dW),am=[{text:"None",value:"none"},{text:"Length",value:"LengthMeasurement"},{text:"Difference",value:"DifferenceMeasurement"},{text:"Text",value:"Annotation"},{text:"Plane",value:"plane"}];function rm(e){return e.match(/[-]{0,1}[\d]*[.]{0,1}[\d]+/g)?.map(Number)??[0,0,0]}function sm(e){return function(e){return e.map(((e,t,l)=>4===l.length&&t===l.length-1?e:e/255))}(rm(e))}function om(e){let[t,l,n]=e;return`rgb(${Math.round(100*t*255/100)}, ${Math.round(100*l*255/100)}, ${Math.round(100*n*255/100)})`}function hm(e){let t=1*e;return t>15&&(t=15),t<-15&&(t=-15),ho.degToRad(t)}var dm=class{carbonApi;renderer;view;viewAux;async initCarbonApi(e,t){this.carbonApi=t,this.renderer=new this.carbonApi.Renderer(`${e} canvas`,!1),this.view=this.renderer.createView(),this.viewAux=this.renderer.createView()}get context(){return this.renderer.getContextHandle()}get engine(){return this.carbonApi.GetRenderEngine(this.context).value}get currentScene(){return this.carbonApi.GetSceneObjectByName(this.context,"current")}get sceneObjectCount(){return this.carbonApi.GetSceneObjectCount(this.context)}
1get sceneObjects(){let e={id:0},t=[],l=[],n=[],V=i=>{for(let a=0,r=this.getNestedObjectsCount(i);a<r;a++){let r=this.getNestedObject(i,a),s=this.getObjectName(r),o=this.getObjectProperty(r,"RType");V(r),s.includes("Scan")?e=r:s.startsWith("D-")&&this.getObjectProperty(r,"DiamondGUID")?l.push(r):s.includes("inclusions")||0!==o.length?t.push(r):s.includes("Sawing")&&n.push(r)}};if(V(this.currentScene),0===e.id)for(let t=0;t<this.sceneObjectCount;t++){let l=this.getObjectByIndex(t);if(this.getObjectName(l).includes("Scan")){e=l;break}}return{rough:e,inclusions:t,products:l,visibleProducts:l.filter((e=>this.isObjectVisible(e))),sawings:n}}get sceneBounds(){let e=new go,t=new yo,l=new yo,n=new go;for(let V=0;V<this.sceneObjectCount;V++){let i=this.carbonApi.GetObjectWorldBounds(this.context,this.getObjectByIndex(V));t.set(i.center[0],i.center[1],i.center[2]),l.set(i.size[0],i.size[1],i.size[2]),n.setFromCenterAndSize(t,l),e.union(n)}return e}get roughBounds(){let e=new go,t=new yo,l=new yo,n=new go;for(let V=0;V<this.sceneObjectCount;V++){let i=this.getObjectByIndex(V);if(!this.carbonApi.GetObjectName(this.context,i).includes("Scan"))continue;let a=this.carbonApi.GetObjectWorldBounds(this.context,this.getObjectByIndex(V));t.set(a.center[0],a.center[1],a.center[2]),l.set(a.size[0],a.size[1],a.size[2]),n.setFromCenterAndSize(t,l),e.union(n)}return e}get sceneSolutions(){let e=[];for(let t=0;t<this.sceneObjectCount;t++){let l=this.getObjectByIndex(t),n=this.getNestedObjectsCount(l),V=[];for(let e=0;e<n;e++){let t=this.getNestedObject(l,e);V.push({name:this.getObjectName(t),DiamondGUID:this.getDiamondGuid(t),visible:this.isObjectVisible(t)})}let i=this.getObjectName(l);"current"!==i&&e.push({id:this.getSolutionIdByIndex(t),name:i,isScan:i.includes("Scan"),isDiamond:i.includes("Diam"),nestedCount:n,guid:this.getSolutionGuid(l),nestedObjects:V,visible:this.isObjectVisible(l)})}return e.sort(((e,t)=>e.id&&t.id?e.id<t.id?-1:1:0)),e}get sceneProducts(){let e=[],{products:t}=this.sceneObjects;return t.forEach((t=>{this.getObjectName(t).startsWith("D-")&&e.push(t)})),e}hasInclusions(e){return this.getNestedObjectsCount(e)>0}showSolutionByIndex(e,t){0!==this.currentScene.id&&this.carbonApi.DeleteObject(this.context,this.currentScene),this.makeObjectNested(this.carbonApi.MakeGroup(this.context,"current"),{id:0});let l=this.getObjectByIndex(e);for(let e=0;e<this.getNestedObjectsCount(l);e++){let t=this.getNestedObject(l,e);if(!this.getObjectName(t).includes("Scan"))continue;let n=this.cloneObject(t);this.makeObjectNested(n),this.setObjectTransparency(n,.9)}for(let e=0;e<this.getNestedObjectsCount(l);e++){let t=this.getNestedObject(l,e);this.getObjectName(t).includes("Scan")||this.makeObjectNested(this.cloneObject(t))}this.showProductsById(t);let{inclusions:n,products:V,sawings:i}=this.sceneObjects;n.forEach((e=>{let t=this.getObjectProperty(e,"TC1"),l=this.carbonApi.GetObjectMaterialFactor(this.context,e,{value:13});(0!==t.length||l>0)&&(this.carbonApi.ClearVertexPaletteIndices(this.context,e),this.setObjectShadingMode(e,4))})),V.forEach((e=>this.setObjectColor(e,4,[.5,.5,.5]))),i.forEach((e=>{this.setObjectFactor(e,13,0);for(let t=0;t<this.carbonApi.GetObjectClipplaneCount(this.context,e);++t){let l=this.carbonApi.GetObjectClipplane(this.context,e,t);l[3]-=.001,this.carbonApi.SetObjectClipplane(this.context,e,t,l)}}))}showProductsById(e){let{products:t,sawings:l}=this.sceneObjects;t.forEach((t=>{e?this.setObjectVisible(t,e===this.getDiamondGuid(t)):this.setObjectVisible(t,!0)})),l.forEach((t=>this.setObjectVisible(t,!e)))}showDistanceBetweenObjects(e,t,l=!0){this.carbonApi.SetDistanceTargetObject(this.context,e,t,l)}showDistanceBetweenInclusions(e,t=!0){this.sceneObjects.inclusions.forEach((l=>{this.showDistanceBetweenObjects(l,e,t)}))}setInclusionDistanceTargets(e){this.setInclusionDistanceTargetsFor(this.sceneObjects.inclusions,e)}setInclusionDistanceTargetsFor(e,t){let l=t.filter((e=>0!==e.id));e.forEach((e=>{0!==l.length?l.forEach(((t,l)=>{this.showDistanceBetweenObjects(e,t,0!==l)})):this.showDistanceBetweenObjects(e,{id:0},!1)}))}combineTransientObjects(e,t){let l=e.filter((e=>0!==e.id));if(0===l.length)return{id:0};let n=this.carbonApi.MakeGroup(this.context,`${t}_combined`);
1if(0===n.id)return n;try{this.makeObjectNested(n),l.forEach((e=>this.makeObjectNested(e,n)));let e=this.carbonApi.CompactNestedObjects(this.context,n);return 0===e.id||(this.makeObjectNested(e,{id:0}),this.setObjectName(e,t)),e}finally{this.carbonApi.DeleteObject(this.context,n)}}extractInclusionsByDistance(e,t=this.sceneObjects.inclusions){let l=t.map((t=>this.carbonApi.ExtractByDistance(this.context,t,e)));return this.combineTransientObjects(l,"inclusions")}extractInclusionsWithinRange(e,t,l,n,V=this.sceneObjects.inclusions){let i=V.map((V=>this.extractWithinRange(V,e,t,l,n)));return this.combineTransientObjects(i,"inclusions")}hideAllObjects(){for(let e=0;e<this.sceneObjectCount;e++){let t=this.getObjectByIndex(e);this.setObjectVisible(t,!1);for(let e=0,l=this.getNestedObjectsCount(t);e<l;e++)this.setObjectVisible(this.getNestedObject(t,e),!1)}}cloneObject(e){return this.carbonApi.CloneObjectDeep(this.context,e)}cleanScene(){for(let e=this.sceneObjectCount-1;e>=0;e--)this.carbonApi.DeleteObject(this.context,this.getObjectByIndex(e))}isObjectVisible(e){return this.carbonApi.GetObjectVisible(this.context,e)}hasOutline(e){return this.carbonApi.HasOutline(this.context,e)}enableOutline(e,t){return this.carbonApi.EnableOutline(this.context,e,t)}getSolutionIdByIndex(e){let t=this.getObjectByIndex(e),l=this.getObjectName(t),n=/^#([0-9]+):/.exec(l);return n&&n.length>0?Number(n[1]):null}getSolutionIndexById(e){let t=0;for(;t<this.sceneObjectCount;){let l=this.getSolutionIdByIndex(t);if(e===this.getSolutionGuid(this.getObjectByIndex(t))||l===e)return t;t++}return t}getSolutionById(e){return this.sceneSolutions.find((({id:t,guid:l})=>t===e||l===e))}getProductObjectById(e){let{products:t}=this.sceneObjects;return e?t.find((t=>e===this.getDiamondGuid(t)))??t[0]:t[0]}getSolutionGuid(e){return this.getObjectProperty(e,"SolutionGUID").slice(1,-1)}getDiamondGuid(e){return this.getObjectProperty(e,"DiamondGUID").slice(1,-1)}getNestedObjectsCount(e){return this.carbonApi.GetNestedObjectCount(this.context,e)}getNestedObjects(e){let t=[],l=this.getNestedObjectsCount(e);if(l>0)for(let n=0;n<l;n++)t.push(this.getNestedObject(e,n));return t}getObjectByIndex(e){return this.carbonApi.GetSceneObject(this.context,e)}getObjectProperty(e,t){return this.carbonApi.GetObjectProperty(this.context,e,t)}getMaterialFactor(e,t){return this.carbonApi.GetObjectMaterialFactor(this.context,e,{value:t})}getObjectColor(e,t){return this.carbonApi.GetObjectMaterialColor(this.context,e,{value:t})}getNestedObject(e,t){return this.carbonApi.GetNestedObject(this.context,e,t)}getObjectName(e){return this.carbonApi.GetObjectName(this.context,e)}getParam(e){return this.carbonApi.GetParam(this.context,e)}getObjectTriangleCount(e){return this.carbonApi.GetObjectTriangleCount(this.context,e)}getRGBFromCarbonColors(e){let t=this.carbonApi.GetDistanceColorPaletteValuesRaw(this.context,e).getBytes(),l=this.carbonApi.GetDistanceColorPaletteColorsRaw(this.context,e).getBytes(),n=new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT),V=new Float32Array(l.buffer,l.byteOffset,l.length/Float32Array.BYTES_PER_ELEMENT),i=[];for(let e=0;e<n.length-1;e++){if(n[e]===n[e+1])continue;let t=4*e,l=V[t],a=V[t+1],r=V[t+2];i.push(om([l,a,r]))}return i}setRoughTransparency(e){let{rough:t}=this.sceneObjects;this.setObjectTransparency(t,e)}setRoughHighlight(e){let{rough:t}=this.sceneObjects;this.setObjectHighlight(t,e)}setRoughAmbientFactor(e){let{rough:t}=this.sceneObjects;this.setObjectAmbientFactor(t,e)}setRoughColor(e,t){let{rough:l}=this.sceneObjects;this.setObjectColor(l,e,t)}setRoughShadingMode(e){let{rough:t}=this.sceneObjects;this.setObjectShadingMode(t,Math.ceil(e))}setObjectRenderMode(e,t){this.carbonApi.SetObjectRenderMode(this.context,e,{value:t})}setSawingsTransparency(e){let{sawings:t}=this.sceneObjects;t.forEach((t=>this.setObjectTransparency(t,e)))}setSawingsHighlight(e){let{sawings:t}=this.sceneObjects;t.forEach((t=>this.setObjectHighlight(t,e)))}setSawingsColor(e,t){let{sawings:l}=this.sceneObjects;l.forEach((l=>this.setObjectColor(l,e,t)))}setSawingsFactor(e,t){let{sawings:l}=this.sceneObjects;l.forEach((l=>this.setObjectFactor(l,e,t)))}setSawingsVisibility(e){let{sawings:t}=this.sceneObjects;t.forEach((t=>this.setObjectVisible(t,e)))}
1setColorForObject(e,t,l){this.setObjectFactor(e,8,l),this.setObjectFactor(e,10,1-l),this.setObjectFactor(e,11,.1*(1-l));let n="string"==typeof t?sm(t):t;this.setObjectColor(e,0,n),this.setObjectColor(e,1,n)}setProductsTransparency(e){this.sceneProducts.forEach((t=>this.setObjectTransparency(t,e)))}setProductsWireframeColor(e,t){this.sceneObjects.products.forEach((l=>this.setObjectColor(l,e,t)))}setInclusionsHighlight(e){this.sceneObjects.inclusions.forEach((t=>{this.setObjectFactor(t,9,e),this.setObjectFactor(t,8,.1*(1-e)),this.setObjectFactor(t,10,1*(1-e)),this.setObjectFactor(t,11,.1*(1-e))}))}setObjectTransparency(e,t){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:13},t)}setLowAccuracyMode(e){this.carbonApi.SetLowAccuracyMode(this.context,e)}setObjectHighlight(e,t){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:9},t)}setObjectAmbientFactor(e,t){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:8},t)}setObjectShadingMode(e,t){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:17},t)}setVisibilityByName(e,t){let l=this.getNestedObjectsCount(this.currentScene);for(let n=0;n<l;n++){let l=this.getNestedObject(this.currentScene,n);this.getObjectName(l).includes(e)&&this.setObjectVisible(l,t)}}setObjectVisible(e,t){this.carbonApi.SetObjectVisible(this.context,e,t)}setObjectColor(e,t,l){let n="string"==typeof l?sm(l):l;this.carbonApi.SetObjectMaterialColor(this.context,e,{value:t},n)}setColorWorkingSpace(e,t,l,n){this.carbonApi.SetColorWorkingSpace(this.context,e,t,l,n)}setObjectFactor(e,t,l){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:t},l)}setObjectType(e,t){this.carbonApi.SetObjectMaterialType(this.context,e,{value:t})}setObjectSpectrum(e,t,l){this.carbonApi.SetObjectMaterialSpectrum(this.context,e,{value:t},l)}setObjectName(e,t){this.carbonApi.SetObjectName(this.context,e,t)}setParam(e,t){this.carbonApi.SetParam(this.context,e,t)}setObjectProperty(e,t,l){this.carbonApi.SetObjectProperty(this.context,e,t,l)}setDebugParam(e,t){this.carbonApi.SetDebugVec4(this.context,e,t)}setPaletteDistance(e,t){this.carbonApi.SetDistanceColorMapParams(this.context,e,-t,t,0),this.carbonApi.SetOuterPalette(e)}setBackground(e){this.carbonApi.SetClearColor(this.context,sm(e))}setRenderEngine(e){this.carbonApi.SetRenderEngine(this.context,{value:e})}setOutlineWidth(e,t){this.carbonApi.SetOutlineWidth(this.context,e,t)}setOutlineColor(e,t){this.carbonApi.SetOutlineColor(this.context,e,t)}generateObjectDistanceColors(e){let t,l,n=this.carbonApi.GetDistanceColorPaletteColors(this.context,e),V=this.carbonApi.GetDistanceColorPaletteValues(this.context,e);try{let e=n.getBytes(),i=V.getBytes();t=new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT).slice(),l=new Float32Array(i.buffer,i.byteOffset,i.length/Float32Array.BYTES_PER_ELEMENT).slice()}finally{n.free(),V.free()}let i=l[0]??-.3,a=l[l.length-1]??.025,r=[...new Set(l)],s=[],o=[],h=[];for(let e=0;e<l.length-1;e++){if(l[e]===l[e+1])continue;let n=(l[e]-i)/(a-i),V=(l[e+1]-i)/(a-i);s.push(n),s.push(V);let r=4*e,d=t[r+0],R=t[r+1],U=t[r+2],c=t[r+3];o.push(d,R,U,1),o.push(d,R,U,1),h.push([n,V,255*d,255*R,255*U,c])}return{minDist:i,maxDist:a,buffer:l,uniqueValues:r,distances:s,distancesColors:o,colors:h}}setDistanceColorClipMode(e,t){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:18},t)}setSurfaceRoughness(e,t){this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:20},t)}makeObjectNested(e,t=this.currentScene){this.carbonApi.MakeObjectNested(this.context,e,t)}captureAutoExposureParams(){this.carbonApi.CaptureAutoExposureParams(this.context)}clearVertexPaletteIndices(e){this.carbonApi.ClearVertexPaletteIndices(this.context,e)}computeClosestPoints(e){this.carbonApi.ComputeClosestPoints(this.context,e)}extractWithinRange(e,t,l,n,V){return this.carbonApi.ExtractWithinRange(this.context,e,t,l,n,V)}setReprojFillColor(e,t,l,n){let[V,i,a]=rm(l);this.renderer.setReprojFillColor(e,t,V/255,i/255,a/255,n)}setReprojLineColor(e,t,l){let[n,V,i]=rm(t);this.renderer.setReprojLineColor(e,n/255,V/255,i/255,l)}setBakedMode(e,t){this.carbonApi.SetBakedGeometryMode(this.context,e,t,!0)}setLocalTransform(e,t){this.carbonApi.SetLocalTransform(this.context,e,(new Uh).makeScale(t,t,t).elements)}setInteractiveCutThreshold(e){let{inclusions:t}=this.sceneObjects;t.forEach((t=>{this.carbonApi.SetDistanceColorMapParams(this.context,t,-e/1e3,e/1e3,0)}))}},Rm=h(En());function Um(e){if(null!==e){for(var t=0;t<e.children.length;t++)Um(e.children[t]);if(e.geometry&&(e.geometry.dispose(),e.geometry=void 0),e.material){if(e.material.map&&(e.material.map.dispose(),e.material.map=void 0),e.material.materials)for(t=0;t<e.material.materials.length;t++)e.material.materials[t].dispose(),e.material.materials[t].map&&(e.material.materials[t].map.dispose(),e.material.materials[t].map=void 0);else e.material.dispose();e.material=void 0}}e=void 0}var cm=class{camera;renderer;canvas;scene;constructor(e,t){this.scene=new gc,this.camera=new WR(-t.width/2,t.width/2,t.height/2,-t.height/2,-100,100),this.camera.position.z=1,this.camera.rotation.set(0,0,0),this.renderer=e,this.canvas=t,this.renderer.sortObjects=!1}update(){this.renderer.clearDepth(),this.renderer.render(this.scene,this.camera)}resize(e,t){this.camera.left=-e/2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=-t/2,this.camera.updateProjectionMatrix()}getScene(){return this.scene}},pm=class{ctx;sizes;baseSize;font;controlChars="{}\n\t";spaceSize=0;tabSize=8;constructor(e){this.ctx=e,this.sizes=new Array(256)}tabs(){let e=[];for(let t=0;t<100;t+=8)e.push(t);return e}getNextTab(e){let t=0;for(;t<this.tabs.length;){if(e<this.tabs[t]*this.tabSize*this.spaceSize)return this.tabs[t]*this.tabSize*this.spaceSize;t++}return this.tabs[t-1]*this.tabSize*this.spaceSize}getFontSize(e){if(null===e)return 1;let t=/[0-9]+/.exec(e)[0];if(null===t)return 1;if(isNaN(+t))throw Error("TextStyler Cant find font size");return Number(t)}setFont(e=this.ctx.font){this.font=this.ctx.font=e,this.baseSize=this.getFontSize(e);for(let e=32;e<256;e++)this.sizes[e-32]=this.ctx.measureText(String.fromCharCode(e),0,0).width/this.baseSize;this.spaceSize=this.sizes[0]}drawText(e,t,l,n){let V,i,a,r,s,o,h,d=[];if(void 0===e)return;function R(e){h.save(),h.fillStyle=U,h.translate(t,l),h.scale(s,s),h.fillText(e,0,0),h.restore(
1)}o=t,h=this.ctx;var U=h.fillStyle;h.font=this.font,i=e.length,a="",r=0,V=0,s=n/this.baseSize;for(;V<i;){let i=e[V],h=e.charCodeAt(V);if(this.controlChars.indexOf(i)>-1){if(""!==a&&(s=n/this.baseSize,R(a),t+=r,r=0,a=""),"\n"===i)t=o,l+=1.25*n;else if("\t"===i)t=this.getNextTab(t-o)+o;else if("{"===i){d.push({size:n,colour:U,x:t,y:l}),V+=1;let i=e[V];"+"===i?n*=1/(3/4):"-"===i?n*=3/4:"s"===i?(l+=n*(1/3),n*=2/3):"S"===i?(l-=n*(1/3),n*=2/3):"#"===i&&(U=e.substr(V,7),V+=6)}else if("}"===i){let e=d.pop();l=e.y,n=e.size,U=e.colour,s=n/this.baseSize}}else a+=i,r+=this.sizes[h-32]*n;V+=1}""!==a&&R(a)}},Zm=class extends Ch{splitRes;linesWidth;selectedElement={row:-1,col:-1};outlineThickness;textAlignment;material;sprite;bcknColor;bkndOpacity=.8;bckndMaterial;bckgCRect;bckgLRect;bckgRRect;bckgURect;bckgDRect;bckgLUCircle;bckgLDCircle;bckgRUCircle;bckgRDCircle;spriteBckgnd;fontface="sans-serif";fontsize=18;style="";textColor;selectionColor;text;textWidth;maxTextSize;fixedSize;width;height;totalWidth;totalHeight;canvas;noTitle;titleText;spriteTitleBckgnd;bckgTitleCRect;bckgTitleRUCircle;bckgTitleLRect;bckgTitleRRect;bckgTitleURect;bckgTitleLUCircle;titleTextSprite;bckndTitleMaterial;titleBcknColor;spriteScale;scaleMultiplier;constructor(e,t,l,n,V=!1){super(),this.noTitle=0===e.length,this.titleText=e,this.splitRes=1,this.selectedElement={row:-1,col:-1},this.outlineThickness=void 0!==n.outlineThickness?n.outlineThickness:0,this.textAlignment=void 0!==n.textAlignment?n.textAlignment:"left";let i=new Qo;i.minFilter=ds,i.magFilter=ds,this.canvas=l;let a=new Ic({map:i,depthWrite:!1,transparent:!0,side:2});this.material=a,this.sprite=new np(a),this.titleTextSprite=new np(a.clone()),this.bcknColor=16777215,this.bkndOpacity=.8,this.scaleMultiplier=1,this.titleBcknColor=16711680,n&&(this.titleBcknColor&&(this.titleBcknColor=n.titleColor),this.scaleMultiplier&&(this.scaleMultiplier=n.scaleMultiplier)),this.spriteScale=window.devicePixelRatio*this.scaleMultiplier,this.bckndMaterial=new id({color:this.bcknColor,transparent:!0,opacity:this.bkndOpacity,side:2}),this.bckgCRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgLRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgRRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgURect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgDRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgLUCircle=new yd(new Wp(1,32,Math.PI/2,Math.PI/2),this.bckndMaterial),this.bckgLDCircle=new yd(new Wp(1,32,Math.PI,Math.PI/2),this.bckndMaterial),this.bckgRUCircle=new yd(new Wp(1,32,0,Math.PI/2),this.bckndMaterial),this.bckgRDCircle=new yd(new Wp(1,32,Math.PI/2*3,Math.PI/2),this.bckndMaterial),this.spriteBckgnd=new Yc,this.spriteBckgnd.add(this.bckgCRect),this.spriteBckgnd.add(this.bckgLRect),this.spriteBckgnd.add(this.bckgRRect),this.spriteBckgnd.add(this.bckgURect),this.spriteBckgnd.add(this.bckgDRect),this.spriteBckgnd.add(this.bckgLUCircle),this.spriteBckgnd.add(this.bckgLDCircle),this.spriteBckgnd.add(this.bckgRUCircle),this.spriteBckgnd.add(this.bckgRDCircle),this.spriteBckgnd.visible=void 0===n.enableBackground||n.enableBackground,this.noTitle&&(this.bckndTitleMaterial=new id({color:this.titleBcknColor,transparent:!0,opacity:1,side:2}),this.bckgTitleCRect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleLRect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleRRect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleURect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleLUCircle=new yd(new Wp(1,32,Math.PI/2,Math.PI/2),this.bckndTitleMaterial),this.bckgTitleRUCircle=new yd(new Wp(1,32,0,Math.PI/2),this.bckndTitleMaterial),this.spriteTitleBckgnd=new Yc,this.spriteTitleBckgnd.add(this.bckgTitleCRect),this.spriteTitleBckgnd.add(this.bckgTitleLRect),this.spriteTitleBckgnd.add(this.bckgTitleRRect),this.spriteTitleBckgnd.add(this.bckgTitleURect),this.spriteTitleBckgnd.add(this.bckgTitleLUCircle),this.spriteTitleBckgnd.add(this.bckgTitleRUCircle),this.spriteTitleBckgnd.visible=void 0===n.enableBackground||n.enableBackground),this.fontface="sans-serif",this.fontsize=void 0!==n.fontsize?n.fontsize*this.spriteScale:18*this.spriteScale,this.style="",this.textColor=this.hexToRGB(void 0!==n.color?n.color:0),this.selectionColor=this.hexToRGB(0),this.text=(" "+t).slice(1),null!=this.text&&0!=this.text.length&&(this.add(this.spriteBckgnd),this.noTitle||this.add(this.spriteTitleBckgnd)),this.add(this.sprite),this.noTitle||this.add(this.titleTextSprite),this.textWidth=0,this.maxTextSize=0,this.fixedSize=V,this.update()}hexToRGB(e){let t={r:255,g:255,b:255,a:void 0!==this.textColor?this.textColor.a:1};return e>>>=0,t.b=255&e,t.g=(65280&e)>>>8,t.r=(16711680&e)>>>16,t}setTextColor(e){let t=this.hexToRGB(e);(this.textColor.r!==t.r||this.textColor.g!==t.g||this.textColor.b!==t.b)&&(this.textColor=t,this.update())}setText(e){this.text!==e&&(null!=this.text&&0!=this.text.length?(this.remove(this.sprite),this.add(this.spriteBckgnd),this.add(this.sprite)):this.remove(this.spriteBckgnd),this.text=e,this.update())}setTextOpacity(e){this.textColor.a!==e&&(this.textColor.a=e,this.update())}setBkndOpacity(e){this.bckndMaterial.opacity!==e&&(this.bckndMaterial.opacity=e)}setBkndColor(e){this.bckndMaterial.color.setHex(e)}setOpacity(e=1,t=.8){this.setTextOpacity(e),this.setBkndOpacity(t)}drawText(e,t,l){let n=document.createElement("canvas"),V=n.getContext("2d");if(null===V)return void console.warn("can't create canvas");V.font=this.style+" "+this.fontsize+"px "+this.fontface,this.maxTextSize=0;let i=t.split("\n"),a=Math.min(i.length,2),r=[];for(let e=0;e<a;++e)r.push(i[e].split("\t")),i[e].length>this.maxTextSize&&(this.maxTextSize=i[e].length);let s=0;for(let e=0;e<r.length;++e){let t=0,l=[];for(let n=0;n<r[e].length;++n){let i=V.measureText(r[e][n]);t+=i.width,l.push(i.width)}this.linesWidth.push({width:t,elements:l}),t>s&&(s=t)}let o=5*this.spriteScale,h=Math.round(2*o+s+2*this.outlineThickness),d=Math.round(1.25*this.fontsize*r.length);V.canvas.width=h,V.canvas.height=d,V.font=this.style+" "+this.fontsize+"px "+this.fontface,V.lineWidth=this.outlineThickness;for(let e=0;e<r.length;++e){this.linesWidth[e].offset=[];let t="left"===l?this.outlineThickness+o:"center"===l?(2*o+s+2*this.outlineThickness-this.linesWidth[e].width)/2:"right"===l?2*o+s+2*this.outlineThickness-this.linesWidth[e].width:this.outlineThickness+o;for(let l=0;l<r[e].length;++l){l>0&&(t+=this.linesWidth[e].elements[l-1]),this.linesWidth[e].offset.push(t),this.outlineThickness>0&&(V.strokeStyle="rgba(0, 0, 0, 1.0)",V.strokeText(r[e][l],t,(this.fontsize+this.outlineThickness)*(1+1.25*e)));let n=this.textColor;V.fillStyle="rgba("+n.r+","+n.g+","+n.b+","+n.a+")",V.fillText(r[e][l],t,(this.fontsize+this.outlineThickness)*(1+1.25*e))}}let R=new Qo(n);R.minFilter=ds,R.magFilter=ds,R.needsUpdate=!0,e.material.map&&e.material.map.dispose(),e.material.map=R,e.scale.set(e.material.map.image.width,e.material.map.image.height,1)}update(){let e=document.createElement("canvas").getContext("2d");if(!e)return;e.font=this.style+" "+this.fontsize+"px "+this.fontface,this.maxTextSize=0;let t=(" "+this.text).slice(1).split("\n"),l=t.length;this.splitRes=[];for(let e=0;e<l;++e)this.splitRes.push(t[e].split("\t")),t[e].length>this.maxTextSize&&(this.maxTextSize=t[e].length);this.textWidth=0,this.linesWidth=[];for(let t=0;t<this.splitRes.length;++t){let l=0,n=[];for(let V=0;V<this.splitRes[t].length;++V){for(;-1!=this.splitRes[t][V].indexOf("{#");){let e=this.splitRes[t][V].indexOf("{#");this.splitRes[t][V]=this.splitRes[t][V].substr(0,e)+this.splitRes[t][V].substr(e+8),this.splitRes[t][V]=this.splitRes[t][V].replace("}","")}let i=e.measureText(this.splitRes[t][V]);l+=i.width,n.push(i.width)}this.linesWidth.push({width:l,elements:n}),l>this.textWidth&&(this.textWidth=l)}let n=5*this.spriteScale,V=Math.round(2*n+this.textWidth+2*this.outlineThickness),i=Math.round(1.25*this.fontsize*this.splitRes.length);e.canvas.width=V,e.canvas.height=i;let a=new pm(e);a.setFont(),e.fillStyle="rgba("+this.textColor.r+","+this.textColor.g+","+this.textColor.b+","+this.textColor.a+")",a.drawText(this.text,5*this.spriteScale,18*this.spriteScale,18*this.spriteScale);let r=new Qo(e.canvas);r.minFilter=ds,r.magFilter=ds,r.needsUpdate=!0,this.sprite.material.map&&this.sprite.material.map.dispose(),this.sprite.material.map=r,this.width=V,this.height=i,this.sprite.scale.set(this.sprite.material.map.image.width,this.sprite.material.map.image.height,1),this.noTitle||(this.drawText(this.titleTextSprite,this.titleText,"center"),this.titleTextSprite.position.set(0,(this.height/2+5)*this.spriteScale,0)),this.totalWidth=(this.width+15)*this.spriteScale,this.totalHeight=(this.height+36)*this.spriteScale,this.noTitle?(this.sprite.position.set(0,0,0),this.totalWidth=this.width+4*this.spriteScale,this.totalHeight=this.height+4*this.spriteScale):(this.sprite.position.set(0,-15*this.spriteScale,0),this.totalWidth=this.width+15*this.spriteScale,this.totalHeight=this.height+36*this.spriteScale),this.generateBckgnd(this.totalWidth,this.totalHeight,6*this.spriteScale)}generateBckgnd(e,t,l){if(this.bckgCRect.scale.set(e-2*l,t-2*l,1),this.bckgLRect.scale.set(l,t-2*l,1),this.bckgLRect.position.set((-e+l)/2,0,0),this.bckgRRect.scale.set(l,t-2*l,1),this.bckgRRect.position.set((e-l)/2,0,0),this.bckgURect.
1scale.set(e-2*l,l,1),this.bckgURect.position.set(0,(t-l)/2,0),this.bckgDRect.scale.set(e-2*l,l,1),this.bckgDRect.position.set(0,(-t+l)/2,0),this.bckgLUCircle.scale.set(l,l,1),this.bckgLUCircle.position.set(-e/2+l,t/2-l,0),this.bckgLDCircle.scale.set(l,l,1),this.bckgLDCircle.position.set(-e/2+l,-t/2+l,0),this.bckgRUCircle.scale.set(l,l,1),this.bckgRUCircle.position.set(e/2-l,t/2-l,0),this.bckgRDCircle.scale.set(l,l,1),this.bckgRDCircle.position.set(e/2-l,-t/2+l,0),!this.noTitle){let n=t/2-17;this.bckgTitleCRect.scale.set(e-2*l,23*this.spriteScale,1),this.bckgTitleCRect.position.set(0,n,0),this.bckgTitleLRect.scale.set(l,23*this.spriteScale,1),this.bckgTitleLRect.position.set((-e+l)/2,n,0),this.bckgTitleRRect.scale.set(l,23*this.spriteScale,1),this.bckgTitleRRect.position.set((e-l)/2,n,0),this.bckgTitleURect.scale.set(e-2*l,l,1),this.bckgTitleURect.position.set(0,(t-l)/2,0),this.bckgTitleLUCircle.scale.set(l,l,1),this.bckgTitleLUCircle.position.set(-e/2+l,t/2-l,0),this.bckgTitleRUCircle.scale.set(l,l,1),this.bckgTitleRUCircle.position.set(e/2-l,t/2-l,0)}}setDepthTest(e){this.sprite.material.depthTest=e,this.bckgCRect.material.depthTest=e,this.bckgLRect.material.depthTest=e,this.bckgRRect.material.depthTest=e,this.bckgURect.material.depthTest=e,this.bckgDRect.material.depthTest=e,this.bckgLUCircle.material.depthTest=e,this.bckgLDCircle.material.depthTest=e,this.bckgRUCircle.material.depthTest=e,this.bckgRDCircle.material.depthTest=e}setBackgroundColor(e){this.sprite.material.color.setHex(e),this.bckgCRect.material.color.setHex(e),this.bckgLRect.material.color.setHex(e),this.bckgRRect.material.color.setHex(e),this.bckgURect.material.color.setHex(e),this.bckgDRect.material.color.setHex(e),this.bckgLUCircle.material.color.setHex(e),this.bckgLDCircle.material.color.setHex(e),this.bckgRUCircle.material.color.setHex(e),this.bckgRDCircle.material.color.setHex(e)}updatePosition(e,t,l=!0,n=null){this.position.copy(e).project(t),this.position.x=Math.floor(this.position.x*this.canvas.width/2),this.position.y=Math.floor(this.position.y*this.canvas.height/2),null!=n&&(this.position.x+=n.x,this.position.y+=n.y);let V=new yo;e.clone().sub(t.position).dot(t.getWorldDirection(V))>0&&l?this.position.z=.5:this.position.z=1.5}updateCenterPosition(e,t,l,n=!0,V=null){let i=e.clone(),a=t.clone();i.project(l),a.project(l),this.position.x=Math.floor((i.x+a.x)/2*this.canvas.width/2),this.position.y=Math.floor((i.y+a.y)/2*this.canvas.height/2),null!=V&&(this.position.x+=V.x,this.position.y+=V.y);let r=e.clone().add(t).divideScalar(2),s=new yo;r.clone().sub(l.position).dot(l.getWorldDirection(s))>0&&n?this.position.z=.5:this.position.z=1.5}numLines(){return this.splitRes.length}dispose(){Um(this)}},Wm=class extends Ch{positionValue;differenceValue;valueText;splitRes=1;selectedElement={row:-1,col:-1};outlineThickness;textAlignment="left";showPntCoord=!1;material;titleText;difText;difVal;pos_x_Text;pos_x_Val;pos_y_Text;pos_y_Val;pos_z_Text;pos_z_Val;bcknColor=16777215;bkndOpacity=.8;titleBcknColor=16711680;bckndMaterial;bckgCRect;bckgLRect;bckgRRect;bckgURect;bckgDRect;bckgLUCircle;bckgLDCircle;bckgRUCircle;bckgRDCircle;spriteBckgnd;bckndTitleMaterial;bckgTitleCRect;bckgTitleLRect;bckgTitleRRect;bckgTitleURect;bckgTitleLUCircle;bckgTitleRUCircle;spriteTitleBckgnd;fontface;fontsize;style="";titleColor;textColor;titleTextColor;selectionColor;text;textWidth=0;maxTextSize=0;useMicrons;diffPresicion;linesWidth;totalWidth;totalHeight;canvas;scaleMultiplier;spriteScale;constructor(e,t,l,n,V){super(),this.positionValue=t,this.differenceValue=n,this.splitRes=1,this.selectedElement={row:-1,col:-1},this.outlineThickness=void 0!==V.outlineThickness?V.outlineThickness:0,this.textAlignment=void 0!==V.textAlignment?V.textAlignment:"left";let i=new Qo;i.minFilter=ds,i.magFilter=ds,this.canvas=l;let a=new Ic({map:i,depthWrite:!1,transparent:!0,side:2});V&&(this.showPntCoord=void 0!==V.showPntCoord&&V.showPntCoord,V.scaleMultiplier&&(this.scaleMultiplier=V.scaleMultiplier)),this.material=a,this.spriteScale=.8*window.devicePixelRatio*this.scaleMultiplier,this.titleText=new np(a),this.titleText.position.set(0,55*this.spriteScale,0);let r=-40*this.spriteScale,s=45*this.spriteScale,o=20*this.spriteScale,h=25*this.spriteScale;this.difText=new np(a.clone()),this.difText.position.set(r,o,0),this.difVal=new np(a.clone()),this.difVal.position.set(s,o,0),this.pos_x_Text=new np(a.clone()),this.pos_x_Text.position.set(r,o-1*h,0),this.pos_x_Val=new np(a.clone()),this.pos_x_Val.position.set(s,o-1*h,0),this.pos_y_Text=new np(a.clone()),this.pos_y_Text.position.set(r,o-2*h,0),this.pos_y_Val=new np(a.clone()),this.pos_y_Val.position.set(s,o-2*h,0),this.pos_z_Text=new np(a.clone()),this.pos_z_Text.position.set(r,o-3*h,0),this.pos_z_Val=new np(a.clone()),this.pos_z_Val.position.set(s,o-3*h,0),this.bcknColor=16777215,this.bkndOpacity=.8,this.titleBcknColor=16711680,V&&(this.titleBcknColor=V.titleColor),this.bckndMaterial=new id({color:this.bcknColor,transparent:!0,opacity:this.bkndOpacity,side:2}
1),this.bckgCRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgLRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgRRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgURect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgDRect=new yd(new aR(1,1,1,1),this.bckndMaterial),this.bckgLUCircle=new yd(new Wp(1,32,Math.PI/2,Math.PI/2),this.bckndMaterial),this.bckgLDCircle=new yd(new Wp(1,32,Math.PI,Math.PI/2),this.bckndMaterial),this.bckgRUCircle=new yd(new Wp(1,32,0,Math.PI/2),this.bckndMaterial),this.bckgRDCircle=new yd(new Wp(1,32,Math.PI/2*3,Math.PI/2),this.bckndMaterial),this.spriteBckgnd=new Yc,this.spriteBckgnd.add(this.bckgCRect),this.spriteBckgnd.add(this.bckgLRect),this.spriteBckgnd.add(this.bckgRRect),this.spriteBckgnd.add(this.bckgURect),this.spriteBckgnd.add(this.bckgDRect),this.spriteBckgnd.add(this.bckgLUCircle),this.spriteBckgnd.add(this.bckgLDCircle),this.spriteBckgnd.add(this.bckgRUCircle),this.spriteBckgnd.add(this.bckgRDCircle),this.spriteBckgnd.visible=void 0===V.enableBackground||V.enableBackground,this.bckndTitleMaterial=new id({color:this.titleBcknColor,transparent:!0,opacity:1,side:2}),this.bckgTitleCRect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleLRect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleRRect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleURect=new yd(new aR(1,1,1,1),this.bckndTitleMaterial),this.bckgTitleLUCircle=new yd(new Wp(1,32,Math.PI/2,Math.PI/2),this.bckndTitleMaterial),this.bckgTitleRUCircle=new yd(new Wp(1,32,0,Math.PI/2),this.bckndTitleMaterial),this.spriteTitleBckgnd=new Yc,this.spriteTitleBckgnd.add(this.bckgTitleCRect),this.spriteTitleBckgnd.add(this.bckgTitleLRect),this.spriteTitleBckgnd.add(this.bckgTitleRRect),this.spriteTitleBckgnd.add(this.bckgTitleURect),this.spriteTitleBckgnd.add(this.bckgTitleLUCircle),this.spriteTitleBckgnd.add(this.bckgTitleRUCircle),this.spriteTitleBckgnd.visible=void 0===V.enableBackground||V.enableBackground,this.fontface="sans-serif",this.fontsize=void 0!==V.fontsize?V.fontsize:18*this.spriteScale,this.style="",this.titleColor=this.hexToRGB(void 0!==V.titleColor?V.titleColor:0),this.textColor=this.hexToRGB(void 0!==V.color?V.color:0),this.titleTextColor=this.hexToRGB(void 0!==V.titleTextColor?V.color:0),this.selectionColor=this.hexToRGB(0),this.text=(" "+e).slice(1),this.add(this.spriteBckgnd),this.add(this.spriteTitleBckgnd),this.add(this.titleText),this.add(this.difText),this.add(this.difVal),this.add(this.pos_x_Text),this.add(this.pos_x_Val),this.add(this.pos_y_Text),this.add(this.pos_y_Val),this.add(this.pos_z_Text),this.add(this.pos_z_Val),this.textWidth=0,this.maxTextSize=0,this.showPntCoord||(this.pos_x_Text.visible=!1,this.pos_x_Val.visible=!1,this.pos_y_Text.visible=!1,this.pos_y_Val.visible=!1,this.pos_z_Text.visible=!1,this.pos_z_Val.visible=!1),this.useMicrons=void 0===V.useMicrons||V.useMicrons,this.diffPresicion=void 0!==V.precision?V.precision:3,this.linesWidth=new Array,this.update()}hexToRGB(e){let t={r:255,g:255,b:255,a:void 0!==this.textColor?this.textColor.a:1};return e>>>=0,t.b=255&e,t.g=(65280&e)>>>8,t.r=(16711680&e)>>>16,t}setTextColor(e){let t=this.hexToRGB(e);(this.textColor.r!==t.r||this.textColor.g!==t.g||this.textColor.b!==t.b)&&(this.textColor=t,this.update())}setTitleTextColor(e){let t=this.hexToRGB(e);(this.titleTextColor.r!==t.r||this.titleTextColor.g!==t.g||this.titleTextColor.b!==t.b)&&(this.titleTextColor=t,this.update())}setTextOpacity(e){this.textColor.a!==e&&(this.textColor.a=e,this.update())}setBkndOpacity(e){this.bckndMaterial.opacity!==e&&(this.bckndMaterial.opacity=e)}setBkndColor(e){this.bckndMaterial.color.setHex(e)}setTitleColor(e){this.bckndTitleMaterial.color.setHex(e)}setOpacity(e=1,t=.8){this.setTextOpacity(e),this.setBkndOpacity(t)}showPointCoord(e){this.showPntCoord=e,this.pos_x_Text.visible=e,this.pos_x_Val.visible=e,this.pos_y_Text.visible=e,this.pos_y_Val.visible=e,this.pos_z_Text.visible=e,this.pos_z_Val.visible=e,this.update()}useDiffMicrons(e){this.useMicrons=e,this.update()}setDiffPrecision(e){this.diffPresicion=e,this.update()}drawText(e,t,l,n=null){let V=document.createElement("canvas"),i=V.getContext("2d");if(null===i)return;i.font=this.style+" "+this.fontsize+"px "+this.fontface,this.maxTextSize=0;let a=t.split("\n"),r=Math.min(a.length,2),s=[];for(let e=0;e<r;++e)a[e].length>25&&(a[e]=a[e].substring(0,22),a[e]+="..."),s.push(a[e].split("\t")),a[e].length>this.maxTextSize&&(this.maxTextSize=a[e].length);let o=0;for(let e=0;e<s.length;++e){let t=0,l=[];for(let n=0;n<s[e].length;++n){let V=i.measureText(s[e][n]);t+=V.width,l.push(V.width)}this.linesWidth.push({width:t,elements:l}),t>o&&(o=t)}let h=5*this.spriteScale,d=Math.round(2*h+o+2*this.outlineThickness),R=Math.round(1.25*this.fontsize*s.length);i.canvas.width=d,i.canvas.height=R,i.font=this.style+" "+this.fontsize+"px "+this.fontface,i.lineWidth=this.outlineThickness;for(let e=0;e<s.length;++e){this.linesWidth[e].offset=[];let t="left"===l?this.outlineThickness+h:"center"===l?(2*h+o+2*this.outlineThickness-this.linesWidth[e].width)/2:"right"===l?2*h+o+2*this.outlineThickness-this.linesWidth[e].width:this.outlineThickness+h;for(let l=0;l<s[e].length;++l)l>0&&(t+=this.linesWidth[e].elements[l-1]),this.linesWidth[e].offset.push(t),this.outlineThickness>0&&(i.strokeStyle="rgba(0, 0, 0, 1.0)",i.strokeText(s[e][l],t,(this.fontsize+this.outlineThickness)*(1+1.25*e))),null===n&&(n={x:0,y:0,z:0}),i.fillStyle="rgba("+n.r+","+n.g+","+n.b+","+n.a+")",i.fillText(s[e][l],t,(this.fontsize+this.outlineThickness)*(1+1.25*e))}let U=new Qo(V);U.minFilter=ds,U.magFilter=ds,U.needsUpdate=!0,e.material.map&&e.material.map.dispose(),e.material.map=U,e.scale.set(e.material.map.image.width,e.material.map.image.height,1)}update(){if(this.drawText(this.titleText,this.text,"center",this.titleTextColor),this.useMicrons){let e="Diff [µm]:",t=`${(-1e3*this.differenceValue).toFixed(this.diffPresicion)}`;this.valueText=`${e} ${t}`,this.drawText(this.difText,e,"left",this.textColor),this.drawText(this.difVal,t,"left",this.textColor)}else{let e="Diff [mm]:",t=`${(-1*this.differenceValue).toFixed(this.diffPresicion)}`;this.valueText=`${e} ${t}`,this.drawText(this.difText,e,"left",this.textColor),this.drawText(this.difVal,t,"left",this.textColor)}let e=-53.5*this.spriteScale;this.useMicrons||(e=-51*this.spriteScale),this.showPntCoord?(this.drawText(this.pos_x_Text,"Pos X [mm]:","left",this.textColor),this.drawText(this.pos_x_Val,this.positionValue.x.toFixed(5).toString(),"left",this.textColor),this.drawText(this.pos_y_Text,"Pos Y [mm]:","left",this.textColor),this.drawText(this.pos_y_Val,this.positionValue.y.toFixed(5).toString(),"left",this.textColor),this.drawText(this.pos_z_Text,"Pos Z [mm]:","left",this.textColor),this.drawText(this.pos_z_Val,this.positionValue.z.toFixed(5).toString(),"left",this.textColor),this.totalWidth=188*this.spriteScale,this.totalHeight=140*this.spriteScale,this.titleText.position.set(0,55*this.spriteScale,0),this.difText.position.set(e,20*this.spriteScale,0),this.difVal.position.set(e+85*this.spriteScale,20*this.spriteScale,0)):(this.totalWidth=188*this.spriteScale,this.totalHeight=60*this.spriteScale,this.titleText.position.set(0,18*this.spriteScale,0),this.difText.position.set(e,-12*this.spriteScale,0),this.difVal.position.set(e+85*this.spriteScale,-12*this.spriteScale,0));let t=6*this.spriteScale;this.generateBckgnd(this.totalWidth,this.totalHeight,t)}generateBckgnd(e,t,l){this.bckgCRect.scale.set(e-2*l,t-2*l,1),this.bckgLRect.scale.set(l,t-2*l,1),this.bckgLRect.position.set((-e+l)/2,0,0),this.bckgRRect.scale.set(l,t-2*l,1),this.bckgRRect.position.set((e-l)/2,0,0),this.bckgURect.
1scale.set(e-2*l,l,1),this.bckgURect.position.set(0,(t-l)/2,0),this.bckgDRect.scale.set(e-2*l,l,1),this.bckgDRect.position.set(0,(-t+l)/2,0),this.bckgLUCircle.scale.set(l,l,1),this.bckgLUCircle.position.set(-e/2+l,t/2-l,0),this.bckgLDCircle.scale.set(l,l,1),this.bckgLDCircle.position.set(-e/2+l,-t/2+l,0),this.bckgRUCircle.scale.set(l,l,1),this.bckgRUCircle.position.set(e/2-l,t/2-l,0),this.bckgRDCircle.scale.set(l,l,1),this.bckgRDCircle.position.set(e/2-l,-t/2+l,0),this.showPntCoord?(this.bckgTitleCRect.scale.set(e-2*l,.2*(t-2*l),1),this.bckgTitleCRect.position.set(0,52*this.spriteScale,0),this.bckgTitleLRect.scale.set(l,.2*(t-2*l),1),this.bckgTitleLRect.position.set((-e+l)/2,52*this.spriteScale,0),this.bckgTitleRRect.scale.set(l,.2*(t-2*l),1),this.bckgTitleRRect.position.set((e-l)/2,52*this.spriteScale,0),this.bckgTitleURect.scale.set(e-2*l,l,1),this.bckgTitleURect.position.set(0,(t-l)/2,0),this.bckgTitleLUCircle.scale.set(l,l,1),this.bckgTitleLUCircle.position.set(-e/2+l,t/2-l,0),this.bckgTitleRUCircle.scale.set(l,l,1),this.bckgTitleRUCircle.position.set(e/2-l,t/2-l,0)):(this.bckgTitleCRect.scale.set(e-2*l,.38*(t-2*l),1),this.bckgTitleCRect.position.set(0,15*this.spriteScale,0),this.bckgTitleLRect.scale.set(l,.38*(t-2*l),1),this.bckgTitleLRect.position.set((-e+l)/2,15*this.spriteScale,0),this.bckgTitleRRect.scale.set(l,.38*(t-2*l),1),this.bckgTitleRRect.position.set((e-l)/2,15*this.spriteScale,0),this.bckgTitleURect.scale.set(e-2*l,l,1),this.bckgTitleURect.position.set(0,(t-l)/2,0),this.bckgTitleLUCircle.scale.set(l,l,1),this.bckgTitleLUCircle.position.set(-e/2+l,t/2-l,0),this.bckgTitleRUCircle.scale.set(l,l,1),this.bckgTitleRUCircle.position.set(e/2-l,t/2-l,0))}setDepthTest(e){this.titleText.material.depthTest=e,this.bckgCRect.material.depthTest=e,this.bckgLRect.material.depthTest=e,this.bckgRRect.material.depthTest=e,this.bckgURect.material.depthTest=e,this.bckgDRect.material.depthTest=e,this.bckgLUCircle.material.depthTest=e,this.bckgLDCircle.material.depthTest=e,this.bckgRUCircle.material.depthTest=e,this.bckgRDCircle.material.depthTest=e}setBackgroundColor(e){this.titleText.material.color.setHex(e),this.bckgCRect.material.color.setHex(e),this.bckgLRect.material.color.setHex(e),this.bckgRRect.material.color.setHex(e),this.bckgURect.material.color.setHex(e),this.bckgDRect.material.color.setHex(e),this.bckgLUCircle.material.color.setHex(e),this.bckgLDCircle.material.color.setHex(e),this.bckgRUCircle.material.color.setHex(e),this.bckgRDCircle.material.color.setHex(e)}updatePosition(e,t,l=!0,n=null){this.position.copy(e).project(t),this.position.x=Math.floor(this.position.x*this.canvas.width/2),this.position.y=Math.floor(this.position.y*this.canvas.height/2),null!=n&&(this.position.x+=n.x,this.position.y+=n.y);let V=new yo;e.clone().sub(t.position).dot(t.getWorldDirection(V))>0&&l?this.position.z=.5:this.position.z=1.5}dispose(){Um(this)}},mm=class extends Ch{selectionColor;fixedSize;sprite;innerColor;outerColor;spriteScale;innerMaterial;outerMaterial;circle;innerCircle;circleGroup;pos3D;textColor;width;height;totalWidth;totalHeight;canvas;scaleMultiplier;constructor(e,t,l,n=!0){super(),this.selectionColor=this.hexToRGB(0),this.fixedSize=n,this.sprite=null,this.innerColor=28845,this.scaleMultiplier=1,l&&(l.innerColor&&(this.innerColor=l.color),this.scaleMultiplier&&(this.scaleMultiplier=l.scaleMultiplier)),this.outerColor=16777215,this.spriteScale=window.devicePixelRatio*this.scaleMultiplier,this.innerMaterial=new id({color:this.innerColor,transparent:!0,side:2}),this.outerMaterial=new id({color:this.outerColor,transparent:!0,side:2}),this.circle=new yd(new up(.6,1,24),this.outerMaterial),this.innerCircle=new yd(new Wp(.75,24),this.innerMaterial),this.circleGroup=new Yc,this.circleGroup.add(this.circle),this.circleGroup.add(this.innerCircle),this.add(this.circleGroup),this.pos3D=e,this.canvas=t,this.update()}hexToRGB(e){let t={r:255,g:255,b:255,a:void 0!==this.textColor?this.textColor.a:1};return e>>>=0,t.b=255&e,t.g=(65280&e)>>>8,t.r=(16711680&e)>>>16,t}setOpacity(e){this.circle.material.opacity=e,this.innerCircle.material.opacity=e}setBackside(e){e?(this.circle.material.opacity=.2,this.innerCircle.material.opacity=0):(this.circle.material.opacity=1,this.innerCircle.material.opacity=1)}update(){this.width=10*this.spriteScale,this.height=10*this.spriteScale,this.width=Math.max(this.width,this.height),this.height=this.width,this.circleGroup.scale.set(.9*this.width,.9*this.height,1),this.circleGroup.position.set(0,0,0),this.totalWidth=17*this.spriteScale,this.totalHeight=17*this.spriteScale}setColor(e){this.circle.material.color.setHex(e)}updatePosition(e,t,l=null,n=!0){this.pos3D=e,this.position.copy(e).project(t),this.position.x=Math.floor(this.position.x*this.canvas.width/2),this.position.y=Math.floor(this.position.y*this.canvas.height/2);let V=new yo;null!=l&&(this.position.x+=l.x,this.position.y+=l.y),e.clone().sub(t.position).dot(t.getWorldDirection(V))>0&&n?this.position.z=.5:this.position.z=1.5}dispose(){Um(this)}},Fm=class{text;titleText;scene;dotPos;textSprite;dotSprite;textSpriteShift;lastCameraChangedState;interactionBox;isSelected;blockMovement;dotVisible;visibilityCheck;id;noText;api;view;canvas;backgroundColor;camera;renderer;isLod3d;is2D;textManager;scaleMultiplier;typeName;dragObj;selectionColor;hoveredColor;constructor(e,t,l,n,V,i,a,r,s,o,h,d,R,U,c=!1){this.text=l,this.titleText=t;let p=[];p.push(e.clone()),p.push(e.clone()),this.scene=V,this.dotPos=e,this.renderer=i,this.canvas=a,this.api=r,this.view=s,this.isLod3d=R,this.is2D=U,this.camera=o,this.textManager=h,this.scaleMultiplier=d,this.textSprite=new Zm("",this.text,this.canvas,{color:0,titleColor:0,scaleMultiplier:.8*this.scaleMultiplier}),this.textManager.getScene().add(this.textSprite),this.dotSprite=new mm(e,a,{color:n,scaleMultiplier:.6*this.scaleMultiplier},!0),this.textManager.getScene().add(this.dotSprite),this.dotSprite.updatePosition(this.dotPos,this.camera),this.textSpriteShift={x:0,y:0},this.lastCameraChangedState=!1;let Z=new id({side:2,visible:!1});this.interactionBox=new yd(new aR(1,1,1,1),Z),this.scene.add(this.interactionBox),this.isSelected=!1,this.blockMovement=!1,this.isSelected=!1,this.textSprite.visible=!0,this.dotVisible=!0,this.visibilityCheck=!0,this.id=this.uuidv4(),this.backgroundColor=16777215,this.selectionColor=16777079,this.hoveredColor=16777113,this.noText=c,this.hidden=!1,this.typeName="Annotation"}uuidv4(){return crypto.randomUUID?crypto.randomUUID():1e6*Math.random()}update(e){let t=this.lastCameraChangedState&&!e.wasChanged&&!this.hidden;if(this.lastCameraChangedState=e.wasChanged,t&&this.visibilityCheck&&!this.isLod3d){let t=this.dotPos.clone().sub(e.position),l=this.renderer.getContextHandle(),n=this.api.GetObjectsAlongRay(l,e.position.x,e.position.y,e.position.z,t.x,t.y,t.z),V=new yo,i=-1,a=new yo;for(let e=0;e<n.size();e++){let t=n.get(e),r=this.api.GetObjectWorldBounds(l,t.object);if(a.set(r.size[0],r.size[1],r.size[2]),!1!==this.api.GetObjectVisible(l,t.object)){V.set(t.point[0],t.point[1],t.point[2]),i=V.distanceTo(this.dotPos);break}}i<a.length()/300?(this.dotSprite.setOpacity(1),this.dotVisible=!0):(this.dotSprite.setOpacity(.2),this.dotVisible=!1)}if(this.dotSprite.updatePosition(this.dotPos,e),this.textSpriteShift={x:0,y:-this.textSprite.totalHeight/2-20},this.textSprite.position.x=this.dotSprite.position.x+this.textSpriteShift.x,this.textSprite.position.y=this.dotSprite.position.y+this.textSpriteShift.y,this.textSprite.position.z=this.dotSprite.position.z+.5,e.isPerspectiveCamera){e.rightDir=new yo(1,0,0),e.up=new yo(0,
11,0),e.up.set(0,1,0),e.up.applyEuler(e.rotation),e.rightDir.set(1,0,0),e.rightDir.applyEuler(e.rotation);let t=this.dotSprite.totalWidth/window.devicePixelRatio/this.canvas.clientWidth*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.rightDir).project(e)).length(),l=this.dotSprite.totalHeight/window.devicePixelRatio/this.canvas.clientHeight*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.up).project(e)).length(),n=1;this.interactionBox.scale.set(t*n,l*n,1),this.interactionBox.position.copy(this.dotPos),this.interactionBox.quaternion.copy(e.quaternion)}else if(e.isOrthographicCamera){let t=.125*e.top/8.78/e.zoom*140/window.devicePixelRatio/this.canvas.clientHeight,l=this.dotSprite.totalWidth,n=this.dotSprite.totalHeight;this.interactionBox.scale.set(l*t,n*t,1);let V=new zo;e.getWorldQuaternion(V);let i=new yo(0,1,0);i.applyQuaternion(V),i.normalize();let a=new yo(1,0,0);a.applyQuaternion(V),a.normalize(),i.multiplyScalar(this.textSpriteShift.y*t),a.multiplyScalar(this.textSpriteShift.x*t);let r=this.dotPos.clone();this.interactionBox.position.set(r.x,r.y,r.z),this.interactionBox.quaternion.copy(e.quaternion),l=this.dotSprite.totalWidth,n=this.dotSprite.totalHeight}}setBackgroundColor(e,t=.8){this.backgroundColor=e,this.textSprite.setBkndColor(this.backgroundColor),this.textSprite.setBkndOpacity(t)}setTextColor(e){this.textSprite.setTextColor(e)}setDotColor(e,t){this.dotSprite.innerMaterial.color.setHex(t),this.dotSprite.outerMaterial.color.setHex(e)}setText(e){this.text=e,this.textSprite.setText(e)}getInteractionObjects(){if(!this.dotVisible)return[];let e=[];return this.interactionBox.mainObj=this,e.push(this.interactionBox),e}startDrag(e,t,l,n=null){this.dragObj=n,this.startDragMouse=e}convertCoordsToCanvas(e,t){return{x:(e+1)/2*this.canvas.width,y:this.canvas.height-(t+1)/2*this.canvas.height}}updateDrag=function(e,t){if(this.dragObj===this.interactionBox){let t=this.convertCoordsToCanvas(e.x,e.y),l=this.renderer.getContextHandle(),n=this.api.GetObjectsAlongRay(l,this.view,t.x,t.y),V=Number.MAX_VALUE,i=null,a=null;for(let e=0;e<n.size();e++){let t=n.get(e);if(!1===this.api.GetObjectVisible(l,t.object))continue;let r=new yo;r.set(t.point[0],t.point[1],t.point[2]);let s=this.camera.position.clone().sub(r).length();s<V&&(V=s,i=r,a=t.object)}if(i){this.dotPos=i;let e=[];for(let t=0;t<this.api.GetSceneObjectCount(l);t++){let n=this.api.GetSceneObject(l,t);for(let t=0;t<this.api.GetNestedObjectCount(l,n);t++)e.push(this.api.GetNestedObject(l,n,t))}let t=0,n=null;for(let V=0;V<e.length;V++){let r=[i.x,i.y,i.z];if(a?.id===e[V].id)continue;let s=this.api.GetDistanceToObject(l,r,e[V]);(s<t||null===n)&&(n=this.api.GetObjectName(l,e[V]),t=s)}this.textManager.getScene().remove(this.textSprite),Um(this.textSprite),this.textSprite=new Zm("",this.text,this.canvas,{color:0,titleColor:0,scaleMultiplier:.8*this.scaleMultiplier}),this.textManager.getScene().add(this.textSprite)}}};endDrag(){this.startDragMouse=null}setHovered=function(e,t){t===this.interactionBox?this.dotSprite.setColor(this.hoveredColor):this.dotSprite.setColor(this.backgroundColor)};setSelected(e){this.isSelected=e,e&&this.dotVisible&&(this.textSprite.visible=!this.textSprite.visible),this.dotVisible||(this.textSprite.visible=!1),this.noText&&(this.textSprite.visible=!1)}getDotPos2D(){return new Ro(this.dotSprite.position.x,this.dotSprite.position.y)}getDotBBox(){let e=this.dotSprite.position.clone();return new VZ(new Ro(e.x-5,e.y-5),new Ro(e.x+5,e.y+5))}getTextBBox(){let e=this.textSprite.position.clone();return new VZ(new Ro(e.x-this.textSprite.totalWidth/2,e.y-this.textSprite.totalHeight/2),new Ro(e.x+this.textSprite.totalWidth/2,e.y+this.textSprite.totalHeight/2))}isVisible(){return this.dotVisible}SetHidden(e){this.hidden=e,this.dotSprite.setOpacity(e?0:1),this.textSprite.visible=!e}changeText(e){this.textSprite.text=e,this.textSprite.update()}removeFromScene(){this.scene.remove(this),this.scene.remove(this.interactionBox),this.textManager.getScene().remove(this.textSprite),this.textManager.getScene().remove(this.dotSprite)}dispose(){Um(this.textSprite),Um(this.dotSprite),Um(this.interactionBox)}},Nm=new go,um=new yo,Em=class extends jp{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";this.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),this.setAttribute("position",new dd([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),this.setAttribute("uv",new dd([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2))}applyMatrix4(e){let t=this.attributes.instanceStart,l=this.attributes.instanceEnd;return void 0!==t&&(t.applyMatrix4(e),l.applyMatrix4(e),t.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}setPositions(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));let l=new $p(t,6,1);
1return this.setAttribute("instanceStart",new vc(l,3,0)),this.setAttribute("instanceEnd",new vc(l,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));let l=new $p(t,6,1);return this.setAttribute("instanceColorStart",new vc(l,3,0)),this.setAttribute("instanceColorEnd",new vc(l,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new Sp(e.geometry)),this}fromLineSegments(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new go);let e=this.attributes.instanceStart,t=this.attributes.instanceEnd;void 0!==e&&void 0!==t&&(this.boundingBox.setFromBufferAttribute(e),Nm.setFromBufferAttribute(t),this.boundingBox.union(Nm))}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new Vh),null===this.boundingBox&&this.computeBoundingBox();let e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){let l=this.boundingSphere.center;this.boundingBox.getCenter(l);let n=0;for(let V=0,i=e.count;V<i;V++)um.fromBufferAttribute(e,V),n=Math.max(n,l.distanceToSquared(um)),um.fromBufferAttribute(t,V),n=Math.max(n,l.distanceToSquared(um));this.boundingSphere.radius=Math.sqrt(n),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}applyMatrix(e){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(e)}};sR.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new Ro(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}}
1,oR.line={uniforms:vd.merge([sR.common,sR.fog,sR.line]),vertexShader:"\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\tworldStart = start.xyz;\n\t\t\t\tworldEnd = end.xyz;\n\n\t\t\t#else\n\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec3 ndcStart = clipStart.xyz / clipStart.w;\n\t\t\tvec3 ndcEnd = clipEnd.xyz / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd.xy - ndcStart.xy;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// get the offset direction as perpendicular to the view vector\n\t\t\t\tvec3 worldDir = normalize( end.xyz - start.xyz );\n\t\t\t\tvec3 offset;\n\t\t\t\tif ( position.y < 0.5 ) {\n\n\t\t\t\t\toffset = normalize( cross( start.xyz, worldDir ) );\n\n\t\t\t\t} else {\n\n\t\t\t\t\toffset = normalize( cross( end.xyz, worldDir ) );\n\n\t\t\t\t}\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\tfloat forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) );\n\n\t\t\t\t// don't extend the line if we're rendering dashes because we\n\t\t\t\t// won't be rendering the endcaps\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t// extend the line bounds to encompass  endcaps\n\t\t\t\t\tstart.xyz += - worldDir * linewidth * 0.5;\n\t\t\t\t\tend.xyz += worldDir * linewidth * 0.5;\n\n\t\t\t\t\t// shift the position of the quad so it hugs the forward edge of the line\n\t\t\t\t\toffset.xy -= dir * forwardOffset;\n\t\t\t\t\toffset.z += 0.5;\n\n\t\t\t\t#endif\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y > 1.0 || position.y < 0.0 ) {\n\n\t\t\t\t\toffset.xy += dir * 2.0 * forwardOffset;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth * 0.5;\n\n\t\t\t\t// set the world position\n\t\t\t\tworldPos = ( position.y < 0.5 ) ? start : end;\n\t\t\t\tworldPos.xyz += offset;\n\n\t\t\t\t// project the worldpos\n\t\t\t\tvec4 clip = projectionMatrix * worldPos;\n\n\t\t\t\t// shift the depth of the projected points so the line\n\t\t\t\t// segments overlap neatly\n\t\t\t\tvec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;\n\t\t\t\tclip.z = clipPose.z * clip.w;\n\n\t\t\t#else\n\n\t\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\t\t\t\t// undo aspect ratio adjustment\n\t\t\t\tdir.x /= aspect;\n\t\t\t\toffset.x /= aspect;\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\t\toffset += - dir;\n\n\t\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\t\toffset += dir;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth;\n\n\t\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\t\toffset /= resolution.y;\n\n\t\t\t\t// select end\n\t\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t\t// back to clip space\n\t\t\t\toffset *= clip.w;\n\n\t\t\t\tclip.xy += offset;\n\n\t\t\t#endif\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\t\tuniform float linewidth;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashOffset;\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {\n\n\t\t\tfloat mua;\n\t\t\tfloat mub;\n\n\t\t\tvec3 p13 = p1 - p3;\n\t\t\tvec3 p43 = p4 - p3;\n\n\t\t\tvec3 p21 = p2 - p1;\n\n\t\t\tfloat d1343 = dot( p13, p43 );
1\n\t\t\tfloat d4321 = dot( p43, p21 );\n\t\t\tfloat d1321 = dot( p13, p21 );\n\t\t\tfloat d4343 = dot( p43, p43 );\n\t\t\tfloat d2121 = dot( p21, p21 );\n\n\t\t\tfloat denom = d2121 * d4343 - d4321 * d4321;\n\n\t\t\tfloat numer = d1343 * d4321 - d1321 * d4343;\n\n\t\t\tmua = numer / denom;\n\t\t\tmua = clamp( mua, 0.0, 1.0 );\n\t\t\tmub = ( d1343 + d4321 * ( mua ) ) / d4343;\n\t\t\tmub = clamp( mub, 0.0, 1.0 );\n\n\t\t\treturn vec2( mua, mub );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tfloat alpha = opacity;\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// Find the closest points on the view ray and the line segment\n\t\t\t\tvec3 rayEnd = normalize( worldPos.xyz ) * 1e5;\n\t\t\t\tvec3 lineDir = worldEnd - worldStart;\n\t\t\t\tvec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );\n\n\t\t\t\tvec3 p1 = worldStart + lineDir * params.x;\n\t\t\t\tvec3 p2 = rayEnd * params.y;\n\t\t\t\tvec3 delta = p1 - p2;\n\t\t\t\tfloat len = length( delta );\n\t\t\t\tfloat norm = len / linewidth;\n\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t\tfloat dnorm = fwidth( norm );\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );\n\n\t\t\t\t\t#else\n\n\t\t\t\t\t\tif ( norm > 0.5 ) {\n\n\t\t\t\t\t\t\tdiscard;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t#endif\n\n\t\t\t\t#endif\n\n\t\t\t#else\n\n\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t// artifacts appear on some hardware if a derivative is taken within a conditional\n\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\tfloat len2 = a * a + b * b;\n\t\t\t\t\tfloat dlen = fwidth( len2 );\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t#else\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t#endif\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, alpha );\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, alpha );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <colorspace_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t"};var bm,Sm,Jm=class extends Id{constructor(e){super({type:"LineMaterial",uniforms:vd.clone(oR.line.uniforms),vertexShader:oR.line.vertexShader,fragmentShader:oR.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(e){!0===e?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(e){!!e!="USE_DASH"in this.defines&&(this.needsUpdate=!0),!0===e?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(e){this.uniforms.dashOffset.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}
1,alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(e){!!e!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),!0===e?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}},Tm=new yo,Gm=new yo,Mm=new Xo,km=new Xo,Ym=new Xo,xm=new yo,Qm=new Uh,Xm=new class{constructor(e=new yo,t=new yo){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){iZ.subVectors(e,this.start),aZ.subVectors(this.end,this.start);let l=aZ.dot(aZ),n=aZ.dot(iZ)/l;return t&&(n=no(n,0,1)),n}closestPointToPoint(e,t,l){let n=this.closestPointToPointParameter(e,t);return this.delta(l).multiplyScalar(n).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}},wm=new yo,fm=new go,zm=new Vh,ym=new Xo;function Cm(e,t,l){return ym.set(0,0,-t,1).applyMatrix4(e.projectionMatrix),ym.multiplyScalar(1/ym.w),ym.x=Sm/l.width,ym.y=Sm/l.height,ym.applyM
1atrix4(e.projectionMatrixInverse),ym.multiplyScalar(1/ym.w),Math.abs(Math.max(ym.x,ym.y))}var jm=class extends yd{constructor(e=new Em,t=new Jm({color:16777215*Math.random()})){super(e,t),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){let e=this.geometry,t=e.attributes.instanceStart,l=e.attributes.instanceEnd,n=new Float32Array(2*t.count);for(let e=0,V=0,i=t.count;e<i;e++,V+=2)Tm.fromBufferAttribute(t,e),Gm.fromBufferAttribute(l,e),n[V]=0===V?0:n[V-1],n[V+1]=n[V]+Tm.distanceTo(Gm);let V=new $p(n,2,1);return e.setAttribute("instanceDistanceStart",new vc(V,1,0)),e.setAttribute("instanceDistanceEnd",new vc(V,1,1)),this}raycast(e,t){let l=this.material.worldUnits,n=e.camera;null===n&&!l&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');let V=void 0!==e.params.Line2&&e.params.Line2.threshold||0;bm=e.ray;let i,a,r=this.matrixWorld,s=this.geometry,o=this.material;if(Sm=o.linewidth+V,null===s.boundingSphere&&s.computeBoundingSphere(),zm.copy(s.boundingSphere).applyMatrix4(r),l)i=.5*Sm;else{i=Cm(n,Math.max(n.near,zm.distanceToPoint(bm.origin)),o.resolution)}if(zm.radius+=i,!1!==bm.intersectsSphere(zm)){if(null===s.boundingBox&&s.computeBoundingBox(),fm.copy(s.boundingBox).applyMatrix4(r),l)a=.5*Sm;else{a=Cm(n,Math.max(n.near,fm.distanceToPoint(bm.origin)),o.resolution)}fm.expandByScalar(a),!1!==bm.intersectsBox(fm)&&(l?function(e,t){let l=e.matrixWorld,n=e.geometry,V=n.attributes.instanceStart,i=n.attributes.instanceEnd;for(let a=0,r=Math.min(n.instanceCount,V.count);a<r;a++){Xm.start.fromBufferAttribute(V,a),Xm.end.fromBufferAttribute(i,a),Xm.applyM
1atrix4(l);let n=new yo,r=new yo;bm.distanceSqToSegment(Xm.start,Xm.end,r,n),r.distanceTo(n)<.5*Sm&&t.push({point:r,pointOnLine:n,distance:bm.origin.distanceTo(r),object:e,face:null,faceIndex:a,uv:null,uv1:null})}}(this,t):function(e,t,l){let n=t.projectionMatrix,V=e.material.resolution,i=e.matrixWorld,a=e.geometry,r=a.attributes.instanceStart,s=a.attributes.instanceEnd,o=Math.min(a.instanceCount,r.count),h=-t.near;bm.at(1,Ym),Ym.w=1,Ym.applyMatrix4(t.matrixWorldInverse),Ym.applyMatrix4(n),Ym.multiplyScalar(1/Ym.w),Ym.x*=V.x/2,Ym.y*=V.y/2,Ym.z=0,xm.copy(Ym),Qm.multiplyMatrices(t.matrixWorldInverse,i);for(let t=0,a=o;t<a;t++){if(Mm.fromBufferAttribute(r,t),km.fromBufferAttribute(s,t),Mm.w=1,km.w=1,Mm.applyMatrix4(Qm),km.applyMatrix4(Qm),Mm.z>h&&km.z>h)continue;if(Mm.z>h){let e=Mm.z-km.z,t=(Mm.z-h)/e;Mm.lerp(km,t)}else if(km.z>h){let e=km.z-Mm.z,t=(km.z-h)/e;km.lerp(Mm,t)}Mm.applyMatrix4(n),km.applyMatrix4(n),Mm.multiplyScalar(1/Mm.w),km.multiplyScalar(1/km.w),Mm.x*=V.x/2,Mm.y*=V.y/2,km.x*=V.x/2,km.y*=V.y/2,Xm.start.copy(Mm),Xm.start.z=0,Xm.end.copy(km),Xm.end.z=0;let a=Xm.closestPointToPointParameter(xm,!0);Xm.at(a,wm);let o=ho.lerp(Mm.z,km.z,a),d=o>=-1&&o<=1,R=xm.distanceTo(wm)<.5*Sm;if(d&&R){Xm.start.fromBufferAttribute(r,t),Xm.end.fromBufferAttribute(s,t),Xm.start.applyMatrix4(i),Xm.end.applyMatrix4(i);let n=new yo,V=new yo;bm.distanceSqToSegment(Xm.start,Xm.end,V,n),l.push({point:V,pointOnLine:n,distance:bm.origin.distanceTo(V),object:e,face:null,faceIndex:t,uv:null,uv1:null})}}}(this,n,t))}}},gm=class extends Em{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(e){let t=e.length-3,l=new Float32Array(2*t);for(let n=0;n<t;n+=3)l[2*n]=e[n],l[2*n+1]=e[n+1],l[2*n+2]=e[n+2],l[2*n+3]=e[n+3],l[2*n+4]=e[n+4],l[2*n+5]=e[n+5];return super.setPositions(l),this}setColors(e){let t=e.length-3,l=new Float32Array(2*t);for(let n=0;n<t;n+=3)l[2*n]=e[n],l[2*n+1]=e[n+1],l[2*n+2]=e[n+2],l[2*n+3]=e[n+3],l[2*n+4]=e[n+4],l[2*n+5]=e[n+5];return super.setColors(l),this}fromLine(e){let t=e.geometry;return this.setPositions(t.attributes.position.array),this}},Bm=class extends jm{constructor(e=new gm,t=new Jm({color:16777215*Math.random()})){super(e,t),this.isLine2=!0,this.type="Line2"}},Hm=class{text;titleText;radius;scene;dotPos;circleColor;lineMaterial;canvas;circleGeometry;textSprite;interactionBox;isSelected;blockMovement=!1;dotSprite;circle;dotVisible;visibilityCheck;camera;sceneBoundsRadius;api;renderer;lastCameraChangedState;textSpriteShift;backgroundColor;textManager;constructor(e,t,l,n,V,i,a,r,s,o,h){this.text=n,this.titleText=l,this.radius=t,this.scene=i,this.dotPos=e,this.canvas=s,this.renderer=a,this.api=r,this.camera=o,this.textManager=h,this.circleColor=16777215;this.lineMaterial=new Jm({color:16777215,linewidth:3,vertexColors:!1,dashed:!1}),this.lineMaterial.resolution.set(this.canvas.clientWidth,this.canvas.clientHeight);let d=[];for(let e=0;e<=48;e++){let t=e/48*Math.PI*2;d.push(Math.cos(t)*this.radius,Math.sin(t)*this.radius,0);let l=e/12;(new nd).setHSL(l,1,.5)}this.circleGeometry=new gm,this.circleGeometry.setPositions(d),this.circle=new Bm(this.circleGeometry,this.lineMaterial),this.circle.computeLineDistances(),this.circle.scale.set(1,1,1),this.scene.add(this.circle),this.circle.visible=!1;let R=[];R.push(e.clone()),R.push(e.clone()),this.textSprite=new Zm("",this.text,this.canvas,{color:0,titleColor:0}),this.textManager.getScene().add(this.textSprite),this.dotSprite=new mm(e,this.canvas,{color:V}),this.textManager.getScene().add(this.dotSprite),this.dotSprite.visible=!1,this.dotSprite.updatePosition(this.dotPos,this.camera),this.textSpriteShift={x:0,y:0},this.lastCameraChangedState=!1;let U=new id({side:2,visible:!1});this.interactionBox=new yd(new aR(1,1,1,1),U),this.scene.add(this.interactionBox),this.isSelected=!1,this.blockMovement=!1,this.isSelected=!1,this.textSprite.visible=!1,this.dotVisible=!0,this.visibilityCheck=!0}update(e,t){this.sceneBoundsRadius=t;let l=this.lastCameraChangedState&&!e.wasChanged;if(this.lastCameraChangedState=e.wasChanged,l&&this.visibilityCheck){let t=this.dotPos.clone().sub(e.position),l=this.renderer.getContextHandle(),n=this.api.GetObjectsAlongRay(l,e.position.x,e.position.y,e.position.z,t.x,t.y,t.z),V=new yo,i=-1;if(n.size()>0)for(let e=0;e<n.size();e+=1){let t=n.get(e);if(!this.api.GetObjectName(l,n.get(e).object).includes("Scan")){V.set(t.point[0],t.point[1],t.point[2]),i=V.distanceTo(this.dotPos);break}}let a=this.sceneBoundsRadius/300;i<a?(this.dotSprite.setOpacity(1),this.dotVisible=!0):(this.dotSprite.setOpacity(.2),this.dotVisible=!1),i<a&&this.isSelected?this.textSprite.visible=!0:this.textSprite.visible=!1}this.dotSprite.updatePosition(this.dotPos,e),this.textSpriteShift={x:0,y:-this.textSprite.totalHeight/2-20},this.textSprite.position.x=this.dotSprite.position.x+this.textSpriteShift.x,this.textSprite.position.y=this.dotSprite.position.y+this.textSpriteShift.y,this.textSprite.position.z=this.dotSprite.position.z+.5;let n=.125*e.top/8.78/e.zoom*140/window.devicePixelRatio/this.canvas.clientHeight,V=this.dotSprite.totalWidth,i=this.dotSprite.totalHeight;this.interactionBox.scale.set(V*n,i*n,1);let a=new zo;e.getWorldQuaternion(a);
1let r=new yo(0,1,0);r.applyQuaternion(a),r.normalize();let s=new yo(1,0,0);s.applyQuaternion(a),s.normalize(),r.multiplyScalar(this.textSpriteShift.y*n),s.multiplyScalar(this.textSpriteShift.x*n);let o=this.dotPos.clone();this.interactionBox.position.set(o.x,o.y,o.z),this.interactionBox.quaternion.copy(e.quaternion),this.circle.position.set(o.x,o.y,o.z),this.circle.quaternion.copy(e.quaternion),this.circle.visible=!0,this.lineMaterial.resolution.set(this.canvas.clientWidth,this.canvas.clientHeight)}setBackgroundColor(e,t=.8){this.backgroundColor=e,this.textSprite.setBkndColor(this.backgroundColor),this.textSprite.setBkndOpacity(t)}setTextColor(e){this.textSprite.setTextColor(e)}setDotColor(e,t){this.dotSprite.innerMaterial.color.setHex(t),this.dotSprite.outerMaterial.color.setHex(e)}setText(e){this.text=e,this.textSprite.setText(e)}getInteractionObjects(){if(!this.dotVisible)return[];let e=[];return this.interactionBox.mainObj=this,e.push(this.interactionBox),e}startDrag(e,t,l,n=null){}updateDrag=function(e,t){};endDrag(){}setHovered=function(e,t){};setSelected(e){this.isSelected=e,this.textSprite.visible=e&&this.dotVisible}getDotPos2D(){return new Ro(this.dotSprite.position.x,this.dotSprite.position.y)}getDotBBox(){let e=this.dotSprite.position.clone();return new VZ(new Ro(e.x-5,e.y-5),new Ro(e.x+5,e.y+5))}getTextBBox(){let e=this.textSprite.position.clone();return new VZ(new Ro(e.x-this.textSprite.totalWidth/2,e.y-this.textSprite.totalHeight/2),new Ro(e.x+this.textSprite.totalWidth/2,e.y+this.textSprite.totalHeight/2))}isVisible(){return this.dotVisible}changeText(e){this.textSprite.text=e,this.textSprite.update()}removeFromScene(){this.scene.remove(this),this.scene.remove(this.interactionBox),this.textManager.getScene().remove(this.textSprite),this.textManager.getScene().remove(this.dotSprite),this.textManager.getScene().remove(this.circle)}dispose(){Um(this.textSprite),Um(this.dotSprite),Um(this.interactionBox),Um(this.circle)}},vm=class{titleText;scene;difference;titleColor;showPntCoord;diffPrecision;diffMicrons;line;dotPos;dotPosOrig;textSprite;dotSprite;textSpriteShift;lastCameraChangedState;interactionBox;isSelected;blockMovement;backgroundColor;selectionColor;hoveredColor;visibilityCheck;id;canvas;api;camera;view;startDragMouse;startDragShift;dragObj;renderer;isLod3d=!1;textManager;typeName;scaleMultiplier;originalX;originalY;carbonObject;isMaxDist=!1;constructor(e,t,l,n,V,i,a,r,s,o,h,d,R,U,c,p,Z,W,m){this.originalX=W,this.originalY=m,this.titleText=r,this.carbonObject=null;let F=[];F.push(e.clone()),F.push(e.clone()),this.scene=s,this.difference=l,this.titleColor=n,this.showPntCoord=V,this.diffPrecision=a,this.diffMicrons=i,this.camera=o,this.canvas=d,this.api=R,this.view=U,this.renderer=h,this.textManager=c,this.typeName="DifferenceMeasurement",this.scaleMultiplier=p;let N=new Tp({color:16777215,dashSize:10,gapSize:5}),u=(new Fd).setFromPoints(F);this.line=new dp(u,N),this.line.computeLineDistances(),this.textManager.getScene().add(this.line),this.dotPos=e,this.dotPosOrig=e.clone(),this.textSprite=new Wm(r,e,this.canvas,l,{color:0,titleColor:n,showPntCoord:V,useMicrons:i,precision:a,scaleMultiplier:.8*this.scaleMultiplier}),this.textManager.getScene().add(this.textSprite),this.dotSprite=new mm(e,this.canvas,{color:n,scaleMultiplier:.6*this.scaleMultiplier},!1),this.textManager.getScene().add(this.dotSprite),this.dotSprite.updatePosition(this.dotPos,this.camera),this.textSpriteShift=t,this.lastCameraChangedState=!1;let E=new id({side:2,visible:!1});this.interactionBox=new yd(new aR(1,1,1,1),E),this.scene.add(this.interactionBox),this.dotInteractionBox=new yd(new aR(1,1,1,1),E),this.scene.add(this.dotInteractionBox),this.isSelected=!1,this.blockMovement=!1,this.isSelected=!1,this.backgroundColor=16777215,this.selectionColor=16777079,this.hoveredColor=16777113,this.visibilityCheck=!0,this.isLod3d=Z,this.hidden=!1,this.id=this.uuidv4()}get text(){return this.textSprite.valueText}uuidv4(){return crypto.randomUUID?crypto.randomUUID():1e6*Math.random()}update(e){let t=this.lastCameraChangedState&&!e.wasChanged&&!this.hidden;if(this.lastCameraChangedState=e.wasChanged,t&&this.visibilityCheck&&!this.isLod3d){let t=this.renderer.getContextHandle(),l=this.dotPos.clone().sub(e.position),n=this.api.GetObjectsAlongRay(t,e.position.x,e.position.y,e.position.z,l.x,l.y,l.z),V=new yo,i=0,a=new yo;for(let e=0;e<n.size();e++){let l=n.get(e),r=this.api.GetObjectWorldBounds(t,l.object);if(a.set(r.size[0],r.size[1],r.size[2]),!1!==this.api.GetObjectVisible(t,l.object)){V.set(l.point[0],l.point[1],l.point[2]),i=V.distanceTo(this.dotPos);break}}let r=new VZ(new Ro(-this.canvas.width/2,-this.canvas.height/2),new Ro(this.canvas.width/2,this.canvas.height/2)),s=this.dotSprite.position.clone(),o=s.x>=r.min.x&&s.y>=r.min.y&&s.x<=r.max.x&&s.y<=r.max.y,h=a.length()/300;this.carbonObject?i<h&&o?(this.dotSprite.setBackside(!1),this.textSprite.visible=!0,this.line.visible=!0):(this.dotSprite.setBackside(!0),this.textSprite.visible=!0,this.line.visible=!0):i<h&&o?(this.dotSprite.setBackside(!1),this.textSprite.visible=!0,this.line.visible=!0):(this.dotSprite.setBackside(!0),this.textSprite.visible=!1,this.line.visible=!1)}if(this.carbonObject&&!this.isLod3d){let e=this.renderer.getContextHandle();!1===this.api.GetObjectVisible(e,this.carbonObject)&&(this.dotSprite.setOpacity(0),this.textSprite.visible=!1,this.line.visible=!1)}this.dotSprite.updatePosition(this.dotPos,e),this.textSprite.position.x=this.dotSprite.position.x+this.textSpriteShift.x,this.textSprite.position.y=this.dotSprite.position.y+this.textSpriteShift.y,this.textSprite.position.z=this.dotSprite.position.z;let l=this.dotSprite.position.clone(),n=this.textSprite.position.clone(),V=[];V.push(new yo(n.x+this.textSprite.totalWidth/2,n.y+this.textSprite.totalHeight/2,n.z)),V.push(new yo(n.x+this.textSprite.totalWidth/2,n.y-this.textSprite.totalHeight/2,n.z)),V.push(new yo(n.x-this.textSprite.totalWidth/2,n.y-this.textSprite.totalHeight/2,n.z)),V.push(new yo(n.x-this.textSprite.totalWidth/2,n.y+this.textSprite.totalHeight/2,n.z));let i=-1,a=new yo;for(let e=0;e<V.length;e++)(V[e].distanceTo(l)<i||i<0)&&(i=V[e].distanceTo(l),a=V[e]);let r=this.dotPos.clone();if(r.project(e),r.x=Math.floor(r.x*this.canvas.width/2),r.y=Math.floor(r.y*this.canvas.height/2),r.z=.5,a.z=.5,r.add(a.clone().sub(r).normalize().multiplyScalar(13)),this.line.geometry.attributes.position.array[0]=r.x,this.line.geometry.attributes.position.array[1]=r.y,this.line.geometry.attributes.position.array[2]=r.z,this.line.geometry.attributes.position.array[3]=a.x,this.line.geometry.attributes.position.array[4]=a.y,this.line.geometry.attributes.position.array[5]=a.z,this.line.computeLineDistances(),this.line.geometry.attributes.position.needsUpdate=!0,e.isPerspectiveCamera){e.rightDir=new yo(1,0,0),e.up=new yo(0,
11,0),e.up.set(0,1,0),e.up.applyEuler(e.rotation),e.rightDir.set(1,0,0),e.rightDir.applyEuler(e.rotation);let t=this.textSprite.totalWidth/this.canvas.clientWidth*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.rightDir).project(e)).length(),l=this.textSprite.totalHeight/this.canvas.clientHeight*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.up).project(e)).length(),n=1;this.interactionBox.scale.set(t*n,l*n,1);let V=this.textSpriteShift.x/this.canvas.clientWidth*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.rightDir).project(e)).length(),i=this.textSpriteShift.y/this.canvas.clientHeight*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.up).project(e)).length(),a=this.dotPos.clone();a.add(e.rightDir.clone().multiplyScalar(V)),a.add(e.up.clone().multiplyScalar(i)),this.interactionBox.position.copy(a),this.interactionBox.quaternion.copy(e.quaternion),t=this.dotSprite.totalWidth/window.devicePixelRatio/this.canvas.clientWidth*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.rightDir).project(e)).length(),l=this.dotSprite.totalHeight/window.devicePixelRatio/this.canvas.clientHeight*2/this.dotPos.clone().project(e).sub(this.dotPos.clone().add(e.up).project(e)).length(),this.dotInteractionBox.scale.set(t*n,l*n,1),this.dotInteractionBox.position.copy(this.dotPos),this.dotInteractionBox.quaternion.copy(e.quaternion)}else if(e.isOrthographicCamera){let t=.125*e.top/8.78/e.zoom*140/window.devicePixelRatio/this.canvas.clientHeight,l=this.textSprite.totalWidth,n=this.textSprite.totalHeight;this.interactionBox.scale.set(l*t,n*t,1);let V=new zo;e.getWorldQuaternion(V);let i=new yo(0,1,0);i.applyQuaternion(V),i.normalize();let a=new yo(1,0,0);a.applyQuaternion(V),a.normalize(),i.multiplyScalar(this.textSpriteShift.y*t),a.multiplyScalar(this.textSpriteShift.x*t);let r=this.dotPos.clone();r.add(i),r.add(a),this.interactionBox.position.set(r.x,r.y,r.z),this.interactionBox.quaternion.copy(e.quaternion);let s=this.dotSprite.totalWidth,o=this.dotSprite.totalHeight;this.dotInteractionBox.scale.set(s*t,o*t,1),this.dotInteractionBox.position.set(this.dotPos.x,this.dotPos.y,this.dotPos.z),this.dotInteractionBox.quaternion.copy(e.quaternion)}}setBackgroundColor(e,t=.8){this.backgroundColor=e,this.textSprite.setBkndOpacity(t),this.setSelected(this.isSelected)}setTitleColor(e){this.textSprite.setTitleColor(e)}setTextColor(e){this.textSprite.setTextColor(e)}setTitleTextColor(e){this.textSprite.setTitleTextColor(e)}setDotColor(e,t){this.dotSprite.innerMaterial.color.setHex(t),this.dotSprite.outerMaterial.color.setHex(e)}showPointCoord(e){this.showPntCoord=e,this.textSprite.showPointCoord(e)}useDiffMicrons(e){this.diffMicrons=e,this.textSprite.useDiffMicrons(e)}setDiffPrecision(e){this.diffPrecision=e,this.textSprite.setDiffPrecision(e)}getInteractionObjects(){if(!this.textSprite.visible)return[];let e=[];return this.interactionBox.mainObj=this,e.push(this.interactionBox),this.dotInteractionBox.mainObj=this,e.push(this.dotInteractionBox),e}startDrag(e,t,l,n=null){this.dragObj=n,this.startDragMouse=e,this.startDragShift={x:this.textSpriteShift.x,y:this.textSpriteShift.y}}convertCoordsToCanvas(e,t){return{x:(e+1)/2*this.canvas.width,y:this.canvas.height-(t+1)/2*this.canvas.height}}updateDrag(e,t){if(this.dragObj===this.interactionBox){let t=new Ro(this.startDragMouse.x,this.startDragMouse.y);t.sub(new Ro(e.x,e.y)),this.textSpriteShift.x=this.startDragShift.x-t.x*this.canvas.width/2,this.textSpriteShift.y=this.startDragShift.y-t.y*this.canvas.height/2}else if(this.dragObj===this.dotInteractionBox){let t=this.convertCoordsToCanvas(e.x,e.y),l=Number.MAX_VALUE,n=null,V=null;if(this.isLod3d){let e=this.renderer.getNearestPoint(this.view,t.x,t.y),l=new yo;l.set(e.point[0],e.point[1],e.point[2]),n=l}else{let e=this.renderer.getContextHandle(),i=this.api.GetObjectsAlongRay(e,this.view,t.x,t.y);for(let t=0;t<i.size();t++){let a=i.get(t);if(!1!==this.api.GetObjectVisible(e,a.object)&&a.object.id===this.carbonObject.id){let e=new yo;e.set(a.point[0],a.point[1],a.point[2]);let t=this.camera.position.clone().sub(e).length();t<l&&(l=t,n=e,V=a.object)}}}let i=0;if(n){if(this.dotPos=n,this.isLod3d){let e=new eR,t=this.renderer.getReferencePlane(),l=t[3],n=new yo(t[0],t[1],t[2]),V=new yo;0!=t[0]?(V.x=-l/t[0],V.y=0,V.z=0):0!=t[1]?(V.x=0,V.y=-l/t[1],V.z=0):(V.x=0,V.y=0,V.z=-l/t[2]),e.setFromNormalAndCoplanarPoint(n,V),i=- -e.distanceToPoint(this.dotPos)}else{let e=this.renderer.getContextHandle(),t=[];for(let l=0;l<this.api.GetSceneObjectCount(e);l++){let n=this.api.GetSceneObject(e,l);for(let l=0;l<this.api.GetNestedObjectCount(e,n);l++)t.push(this.api.GetNestedObject(e,n,l))}let l=null;for(let n=0;n<t.length;n++){let a=[this.dotPos.x,this.dotPos.y,this.dotPos.z];if(V?.id===t[n].id)continue;let r=this.api.GetDistanceToObject(e,a,t[n]);(r<i||null===l)&&(l=this.api.GetObjectName(e,t[n]),i=r)}}let e,t,l=14342874;if(this.isLod3d)e=this.renderer.getDistanceColorPaletteValues().getBytes(),t=this.renderer.getDistanceColorPaletteColors().getBytes();else{let l=this.renderer.getContextHandle();e=this.api.GetDistanceColorPaletteValuesRaw(l,V).getBytes(),t=this.api.GetDistanceColorPaletteColorsRaw(l,V).getBytes()}let a=[],r=[];for(let t=0;t<e.length;
1t+=4){let l=[e[t+3],e[t+2],e[t+1],e[t]],n=new ArrayBuffer(4),V=new DataView(n);l.forEach(((e,t)=>{V.setUint8(t,e)}));let i=V.getFloat32(0);a.push(i)}for(let e=0;e<t.length;e+=4){let l=[t[e+3],t[e+2],t[e+1],t[e]],n=new ArrayBuffer(4),V=new DataView(n);l.forEach(((e,t)=>{V.setUint8(t,e)}));let i=V.getFloat32(0);r.push(i)}let s=[];for(let e=0;e<r.length;e+=4){let t=new yo(r[e],r[e+1],r[e+2]);s.push(t)}if(i=-i,i<a[0])l=new nd(s[0].x,s[0].y,s[0].z).getHex();else if(i>a[a.length-1])l=new nd(s[a.length-1].x,s[a.length-1].y,s[a.length-1].z).getHex();else for(let e=0;e<a.length-1;e++)if(i>=a[e]&&i<a[e+1]){let t=new nd(s[e].x,s[e].y,s[e].z),n=new nd(s[e+1].x,s[e+1].y,s[e+1].z),V=Math.abs(i-a[e]),r=Math.abs(i-a[e+1]);t.lerp(n,V/(V+r)),l=t.getHex();break}this.textManager.getScene().remove(this.textSprite),Um(this.textSprite),this.textSprite=new Wm(this.titleText,this.dotPos,this.canvas,i,{color:0,titleColor:l,showPntCoord:this.showPntCoord,useMicrons:this.diffMicrons,precision:this.diffPrecision,scaleMultiplier:.8*this.scaleMultiplier}),this.textManager.getScene().add(this.textSprite)}}}endDrag(){this.startDragMouse=null}setHovered(e,t){t===this.interactionBox?e?this.textSprite.setBkndColor(this.hoveredColor):this.textSprite.setBkndColor(this.backgroundColor):t===this.dotInteractionBox?this.dotSprite.setColor(this.hoveredColor):(this.textSprite.setBkndColor(this.backgroundColor),this.dotSprite.setColor(this.backgroundColor)),this.isSelected&&this.textSprite.setBkndColor(this.selectionColor)}setSelected(e){this.isSelected=e,!0===e?this.textSprite.setBkndColor(this.selectionColor):this.textSprite.setBkndColor(this.backgroundColor)}getDotPos2D(){return new Ro(this.dotSprite.position.x,this.dotSprite.position.y)}getDotBBox(){let e=this.dotSprite.position.clone();return new VZ(new Ro(e.x-5,e.y-5),new Ro(e.x+5,e.y+5))}getTextBBox(){let e=this.textSprite.position.clone();return new VZ(new Ro(e.x-this.textSprite.totalWidth/2,e.y-this.textSprite.totalHeight/2),new Ro(e.x+this.textSprite.totalWidth/2,e.y+this.textSprite.totalHeight/2))}getCornerPoints(e,t,l){let n=[],V=.125*l.top/8.78/l.zoom*140/window.devicePixelRatio/this.canvas.clientHeight,i=this.textSprite.totalWidth,a=this.textSprite.totalHeight;this.interactionBox.scale.set(i*V,a*V,1);let r=new zo;l.getWorldQuaternion(r);let s=new yo(0,1,0);s.applyQuaternion(r),s.normalize();let o=new yo(1,0,0);o.applyQuaternion(r),o.normalize(),s.multiplyScalar(t*V),o.multiplyScalar(e*V);let h=this.dotPos.clone();h.add(s),h.add(o);let d=new yo(0,1,0);d.applyQuaternion(r),d.normalize(),d.multiplyScalar(a*V*.5);let R=new yo(1,0,0);return R.applyQuaternion(r),R.normalize(),R.multiplyScalar(i*V*.5),n.push(new yo(h.x+d.x+R.x,h.y+d.y+R.y,h.z+d.z+R.z)),n.push(new yo(h.x-d.x-R.x,h.y-d.y-R.y,h.z-d.z-R.z)),n.push(new yo(h.x+d.x-R.x,h.y+d.y-R.y,h.z+d.z-R.z)),n.push(new yo(h.x-d.x+R.x,h.y-d.y+R.y,h.z-d.z+R.z)),n}isVisible(){return this.textSprite.visible}SetHidden(e){this.hidden=e,this.dotSprite.setOpacity(e?0:1),this.textSprite.visible=!e,this.line.visible=!e}removeFromScene(){this.scene.remove(this),this.scene.remove(this.interactionBox),this.scene.remove(this.dotInteractionBox),this.textManager.getScene().remove(this.textSprite),this.textManager.getScene().remove(this.dotSprite),this.textManager.getScene().remove(this.line)}dispose(){Um(this.textSprite),Um(this.dotSprite),Um(this.line),Um(this.interactionBox),Um(this.dotInteractionBox)}},Im=class{p1;p2;dotColor;line;dotSprite1;dotSprite2;scene;useMM;precision;length;text;isSelected;blockMovement;textSprite;dotVisible;textSpriteShift;lastCameraChangedState;interactionBox;dotInteractionBox1;dotInteractionBox2;visibilityCheck;backgroundColor;selectionColor;hoveredColor;canvas;camera;renderer;id;isLod3d;is2D;api;textManager;scaleMultiplier;typeName;startDragMouse;dragObj;view;constructor(e,t,l,n,V,i,a,r,s,o,h,d,R=!1){this.isLod3d=d,this.is2D=R,this.canvas=i,this.camera=s,this.renderer=V,this.p1=e,this.p2=t,this.api=a,this.view=r,this.dotColor=l,this.textManager=o,this.scaleMultiplier=h;let U=[];U.push(e.clone()),U.push(t.clone());let c=new Tp({color:16777215,dashSize:10,gapSize:5}),p=(new Fd).setFromPoints(U);this.line=new dp(p,c),this.line.computeLineDistances(),this.textManager.getScene().add(this.line),this.scene=n,this.dotSprite1=new mm(e,i,{color:l,scaleMultiplier:.6*this.scaleMultiplier},!0),this.textManager.getScene().add(this.dotSprite1),this.dotSprite2=new mm(t,i,{color:l,scaleMultiplier:.6*this.scaleMultiplier},!0),this.textManager.getScene().add(this.dotSprite2),this.dotSprite1.updatePosition(this.p1,this.camera),this.dotSprite2.updatePosition(this.p2,this.camera),this.useMM=!0,this.precision=3,this.length=e.distanceTo(t),this.text=this.length.toFixed(this.precision)+" mm",this.textSprite=new Zm("",this.text,i,{color:0,titleColor:0,scaleMultiplier:.8*this.scaleMultiplier}),this.textManager.getScene().add(this.textSprite),this.textSpriteShift={x:0,y:0},this.lastCameraChangedState=!1;let Z=new id({side:2,visible:!1});this.interactionBox=new yd(new aR(1,1,1,1),Z),this.scene.add(this.interactionBox),this.dotInteractionBox1=new yd(new aR(1,1,1,1),Z),this.scene.add(this.dotInteractionBox1),this.dotInteractionBox2=new y
1d(new aR(1,1,1,1),Z),this.scene.add(this.dotInteractionBox2),this.isSelected=!1,this.blockMovement=!1,this.isSelected=!1,this.textSprite.visible=!0,this.dotVisible=!0,this.visibilityCheck=!0,this.backgroundColor=16777215,this.selectionColor=16777079,this.hoveredColor=16777113,this.id=this.uuidv4(),this.hidden=!1,this.typeName="LengthMeasurement"}uuidv4(){return crypto.randomUUID?crypto.randomUUID():1e6*Math.random()}update(e){let t=this.lastCameraChangedState&&!e.wasChanged&&!this.hidden;if(this.lastCameraChangedState=e.wasChanged,t&&this.visibilityCheck&&!this.isLod3d){let t=0,l=0,n=-1,V=-1,i=new yo;{let t=this.p1.clone().sub(e.position),l=this.renderer.getContextHandle(),V=this.api.GetObjectsAlongRay(l,e.position.x,e.position.y,e.position.z,t.x,t.y,t.z),a=new yo;for(let e=0;e<V.size();e++){let t=V.get(e),r=this.api.GetObjectWorldBounds(l,t.object);if(i.set(r.size[0],r.size[1],r.size[2]),!1!==this.api.GetObjectVisible(l,t.object)){a.set(t.point[0],t.point[1],t.point[2]),n=a.distanceTo(this.p1);break}}}t=i.length()/300,n<t?this.dotSprite1.setOpacity(1):this.dotSprite1.setOpacity(.2);{let t=this.p2.clone().sub(e.position),l=this.renderer.getContextHandle(),n=this.api.GetObjectsAlongRay(l,e.position.x,e.position.y,e.position.z,t.x,t.y,t.z),a=new yo;for(let e=0;e<n.size();e++){let t=n.get(e),r=this.api.GetObjectWorldBounds(l,t.object);if(i.set(r.size[0],r.size[1],r.size[2]),!1!==this.api.GetObjectVisible(l,t.object)){a.set(t.point[0],t.point[1],t.point[2]),V=a.distanceTo(this.p2);break}}}l=i.length()/300,V<l?this.dotSprite2.setOpacity(1):this.dotSprite2.setOpacity(.2),n<t||V<l?(this.textSprite.visible=!0,this.dotVisible=!0):(this.textSprite.visible=!1,this.dotVisible=!1)}this.dotSprite1.updatePosition(this.p1,e),this.dotSprite2.updatePosition(this.p2,e);let l=this.p1.clone().project(e).add(this.p2.clone().project(e)).divideScalar(2);if(l.unproject(e),this.textSprite.updateCenterPosition(this.p1,this.p2,e),e.isPerspectiveCamera){e.rightDir=new yo(1,0,0),e.up=new yo(0,1,0),e.up.set(0,1,0),e.up.applyEuler(e.rotation),e.rightDir.set(1,0,0),e.rightDir.applyEuler(e.rotation);let t=this.textSprite.totalWidth/window.devicePixelRatio/this.canvas.clientWidth*2/l.clone().project(e).sub(l.clone().add(e.rightDir).project(e)).length(),n=this.textSprite.totalHeight/window.devicePixelRatio/this.canvas.clientHeight*2/l.clone().project(e).sub(l.clone().add(e.up).project(e)).length(),V=1;this.interactionBox.scale.set(t*V*this.scaleMultiplier*2,n*V*this.scaleMultiplier*2,1);let i=this.textSpriteShift.x/window.devicePixelRatio/this.canvas.clientWidth*2/l.clone().project(e).sub(l.clone().add(e.rightDir).project(e)).length(),a=this.textSpriteShift.y/window.devicePixelRatio/this.canvas.clientHeight*2/l.clone().project(e).sub(l.clone().add(e.up).project(e)).length();l.add(e.rightDir.clone().multiplyScalar(i)),l.add(e.up.clone().multiplyScalar(a)),this.interactionBox.position.copy(l),this.interactionBox.quaternion.copy(e.quaternion),t=this.dotSprite1.totalWidth/window.devicePixelRatio/this.canvas.clientWidth*2/this.p1.clone().project(e).sub(this.p1.clone().add(e.rightDir).project(e)).length(),n=this.dotSprite1.totalHeight/window.devicePixelRatio/this.canvas.clientHeight*2/this.p1.clone().project(e).sub(this.p1.clone().add(e.up).project(e)).length(),this.dotInteractionBox1.scale.set(t*V,n*V,1),this.dotInteractionBox1.position.copy(this.p1),this.dotInteractionBox1.quaternion.copy(e.quaternion),this.dotInteractionBox2.scale.set(t*V,n*V,1),this.dotInteractionBox2.position.copy(this.p2),this.dotInteractionBox2.quaternion.copy(e.quaternion)}else if(e.isOrthographicCamera){let t=.125*e.top/8.78/e.zoom*140/window.devicePixelRatio/this.canvas.clientHeight,n=this.textSprite.totalWidth,V=this.textSprite.totalHeight;this.interactionBox.scale.set(n*t*this.scaleMultiplier,V*t*this.scaleMultiplier,1);let i=new zo;e.getWorldQuaternion(i);let a=new yo(0,1,0);a.applyQuaternion(i),a.normalize();let r=new yo(1,0,0);r.applyQuaternion(i),r.normalize(),a.multiplyScalar(this.textSpriteShift.y*t),r.multiplyScalar(this.textSpriteShift.x*t);let s=l.clone();s.add(a),s.add(r),this.interactionBox.position.set(s.x,s.y,s.z),this.interactionBox.quaternion.copy(e.quaternion);let o=this.dotSprite1.totalWidth,h=this.dotSprite1.totalHeight;this.dotInteractionBox1.scale.set(o*t,h*t,1),this.dotInteractionBox1.position.set(this.p1.x,this.p1.y,this.p1.z),this.dotInteractionBox1.quaternion.copy(e.quaternion),this.dotInteractionBox2.scale.set(o*t,h*t,1),this.dotInteractionBox2.position.set(this.p2.x,this.p2.y,this.p2.z),this.dotInteractionBox2.quaternion.copy(e.quaternion)}let n=this.p1.clone(),V=this.p2.clone();n.project(e),n.x=Math.floor(n.x*this.canvas.width/2),n.y=Math.floor(n.y*this.canvas.height/2),n.z=.5,V.project(e),V.x=Math.floor(V.x*this.canvas.width/2),V.y=Math.floor(V.y*this.canvas.height/2),V.z=.5,this.line.geometry.attributes.position.array[0]=n.x,this.line.geometry.attributes.position.array[1]=n.y,this.line.geometry.attributes.position.array[2]=n.z,this.line.geometry.attributes.position.array[3]=V.x,this.line.geometry.attributes.position.array[4]=V.y,this.line.geometry.attributes.position.array[5]=V.z,this.line.computeLineDistances(),this.line.geometry.attributes.position.needsUpdate=!0}
1setBackgroundColor(e,t=.8){this.backgroundColor=e,this.textSprite.setBkndColor(this.backgroundColor),this.textSprite.setBkndOpacity(t)}setTextColor(e){this.textSprite.setTextColor(e)}setDotColor(e,t){this.dotSprite1.innerMaterial.color.setHex(t),this.dotSprite1.outerMaterial.color.setHex(e),this.dotSprite2.innerMaterial.color.setHex(t),this.dotSprite2.outerMaterial.color.setHex(e)}setText(e){this.text=e,this.textSprite.setText(e)}getInteractionObjects(){if(!this.dotVisible)return[];let e=[];return this.interactionBox.mainObj=this,e.push(this.interactionBox),this.dotInteractionBox1.mainObj=this,e.push(this.dotInteractionBox1),this.dotInteractionBox2.mainObj=this,e.push(this.dotInteractionBox2),e}startDrag(e,t,l,n=null){this.dragObj=n,this.startDragMouse=e}convertCoordsToCanvas(e,t){return{x:(e+1)/2*this.canvas.width,y:this.canvas.height-(t+1)/2*this.canvas.height}}updateDrag(e,t){if(this.dragObj!==this.interactionBox&&(this.dragObj===this.dotInteractionBox1||this.dragObj===this.dotInteractionBox2)){let t=null,l=null,n=this.convertCoordsToCanvas(e.x,e.y);if(this.isLod3d){let e=this.renderer.getNearestPoint(this.view,n.x,n.y),l=new yo;l.set(e.point[0],e.point[1],e.point[2]),t=l}else{let e=this.renderer.getContextHandle(),V=this.api.GetObjectsAlongRay(e,this.view,n.x,n.y),i=Number.MAX_VALUE;for(let n=0;n<V.size();n++){let a=V.get(n);if(!1===this.api.GetObjectVisible(e,a.object))continue;let r=new yo;r.set(a.point[0],a.point[1],a.point[2]);let s=this.camera.position.clone().sub(r).length();s<i&&(i=s,t=r,l=a.object)}}if(t){let e=0;if(this.isLod3d)this.dragObj===this.dotInteractionBox1?this.p1=t:this.dragObj===this.dotInteractionBox2&&(this.p2=t);else{let n=this.renderer.getContextHandle();this.dragObj===this.dotInteractionBox1?this.p1=t:this.dragObj===this.dotInteractionBox2&&(this.p2=t);let V=[];for(let e=0;e<this.api.GetSceneObjectCount(n);e++){let t=this.api.GetSceneObject(n,e);for(let e=0;e<this.api.GetNestedObjectCount(n,t);e++)V.push(this.api.GetNestedObject(n,t,e))}let i=null;for(let a=0;a<V.length;a++){let r=[t.x,t.y,t.z];if(l?.id===V[a].id)continue;let s=this.api.GetDistanceToObject(n,r,V[a]);(s<e||null===i)&&(i=this.api.GetObjectName(n,V[a]),e=s)}}this.textManager.getScene().remove(this.textSprite),Um(this.textSprite),this.length=this.p1.distanceTo(this.p2),this.text=this.length.toFixed(this.precision)+" mm",this.textSprite=new Zm("",this.text,this.canvas,{color:0,titleColor:0,scaleMultiplier:.8*this.scaleMultiplier}),this.textManager.getScene().add(this.textSprite)}}}endDrag(){this.startDragMouse=null}setHovered(e,t){t===this.interactionBox?e?this.textSprite.setBkndColor(this.hoveredColor):this.textSprite.setBkndColor(this.backgroundColor):t===this.dotInteractionBox1?this.dotSprite1.setColor(this.hoveredColor):t===this.dotInteractionBox2?this.dotSprite2.setColor(this.hoveredColor):(this.textSprite.setBkndColor(this.backgroundColor),this.dotSprite1.setColor(this.backgroundColor),this.dotSprite2.setColor(this.backgroundColor))}setSelected(e){this.isSelected=e,!0===e?this.textSprite.setBkndColor(this.selectionColor):this.textSprite.setBkndColor(this.backgroundColor)}getDotPos2D(){return new Ro(this.dotSprite1.position.x,this.dotSprite1.position.y)}getDotBBox(){let e=this.dotSprite1.position.clone(),t=new VZ(new Ro(e.x-5,e.y-5),new Ro(e.x+5,e.y+5)),l=this.dotSprite2.position.clone();return[t,new VZ(new Ro(l.x-5,l.y-5),new Ro(l.x+5,l.y+5))]}getTextBBox(){let e=this.textSprite.position.clone();return new VZ(new Ro(e.x-this.textSprite.totalWidth/2,e.y-this.textSprite.totalHeight/2),new Ro(e.x+this.textSprite.totalWidth/2,e.y+this.textSprite.totalHeight/2))}isVisible(){return this.dotVisible}SetHidden(e){this.hidden=e,this.dotSprite1.setOpacity(e?0:1),this.dotSprite2.setOpacity(e?0:1),this.line.visible=!e,this.textSprite.visible=!e}changeText(e){this.textSprite.text=e,this.textSprite.update()}removeFromScene(){this.scene.remove(this),this.scene.remove(this.interactionBox),this.scene.remove(this.dotInteractionBox1),this.scene.remove(this.dotInteractionBox2),this.textManager.getScene().remove(this.textSprite),this.textManager.getScene().remove(this.dotSprite1),this.textManager.getScene().remove(this.dotSprite2),this.textManager.getScene().remove(this.line)}dispose(){Um(this.textSprite),Um(this.dotSprite1),Um(this.dotSprite2),Um(this.line),Um(this.interactionBox),Um(this.dotInteractionBox1),Um(this.dotInteractionBox2)}}
1,Dm=class extends As{camera;remarks;tempRemarks;lastCameraChangedState;lastRemarksLength;interactive;pmiDragObj;pmiDragSubObj;startDragPnt;raycaster;ObjectSelection;selectionType;selectionCallback;visibilityCheck;is2D;isLod3d;checkRelatedNodes;threeScene;dragging;canvas;renderer;carbonRenderer;api;textManger;scaleMultiplier;updateCallback;onRemoveCallback;carbonObjects=[];remarkRemovedCallback=null;constructor(e,t,l,n,V,i,a,r,s,o=!1,h=!1,d=!1,R=null){super(),this.textManger=e,this.threeScene=t,this.camera=l,this.renderer=n,this.carbonRenderer=V,this.canvas=i,this.api=a,this.view=r,this.remarks=new Array,this.tempRemarks=new Array,this.lastCameraChangedState=!1,this.lastRemarksLength=0,this.interactive=!0,this.pmiDragObj=null,this.pmiDragSubObj=null,this.startDragPnt=null,this.raycaster=new eZ,this.raycaster.params.Line.threshold=1.5,this.ObjectSelection={none:"none",single:"single",multiple:"multiple"},this.selectionType=this.ObjectSelection.single,this.selectionCallback=null,this.visibilityCheck=!o,this.is2D=h,this.isLod3d=d,this.dragging=!1,this.remarkRemovedCallback=R,this.scaleMultiplier=s,this.enableObjectOverlapTest=!0,this.addEventListener("mousedown",(e=>{let t=e.mouse;this.setActivePmiByMouse(t),null!==this.pmiDragObj&&this.interactive&&!0!==this.pmiDragObj.blockMovement&&this.startDragPnt&&(this.dragging=!0,this.pmiDragObj.startDrag(this.convMouse(e.mouse),this.camera,this.startDragPnt,this.pmiDragSubObj))})),this.addEventListener("mousemove",(e=>{null!==this.pmiDragObj&&(this.checkRelatedNodes&&(null===this.pmiDragObj.relatedNodes||0===this.pmiDragObj.relatedNodes.length)||!0!==this.pmiDragObj.blockMovement&&(this.pmiDragObj.updateDrag(this.convMouse(e.mouse),this.camera,this.threeScene),this.dispatchEvent({type:"measureMoved",object:this.pmiDragObj})))})),this.addEventListener("mouseup",(e=>{null!==this.pmiDragObj&&(this.checkRelatedNodes&&(null===this.pmiDragObj.relatedNodes||0===this.pmiDragObj.relatedNodes.length)||!0!==this.pmiDragObj.blockMovement&&(this.dragging=!1,this.endDrag(),this.updateCallback?.()))})),this.addEventListener("click",(e=>{if(2!==e.button)0===e.button&&(this.doClick(e),this.dragging=!1,this.pmiDragObj=null,this.pmiDragSubObj=null,this.startDragPnt=null,this.updateCallback?.());else{this.doClick(e),this.dragging=!1,this.pmiDragObj=null,this.pmiDragSubObj=null,this.startDragPnt=null;for(let e=0;e<this.remarks.length;e++)if(this.remarks[e].isSelected&&!this.remarks[e].isMaxDist){let t=this.remarks[e].id;this.remarkRemovedCallback&&this.remarkRemovedCallback(t),this.removeRemark(this.remarks[e]);break}this.onRemoveCallback?.()}})),this.addEventListener("dblclick",(e=>{this.dragging=!1,this.pmiDragObj=null,this.pmiDragSubObj=null,this.startDragPnt=null;for(let e=0;e<this.remarks.length;e++)if(this.remarks[e].isSelected&&!this.remarks[e].isMaxDist){let t=this.remarks[e].id;this.remarkRemovedCallback&&this.remarkRemovedCallback(t),this.removeRemark(this.remarks[e]);break}this.updateCallback?.()})),this.addEventListener("tap",(e=>{this.doClick(e),this.updateCallback?.()})),this.addEventListener("dbltap",(e=>{for(let e=0;e<this.remarks.length;e++)if(this.remarks[e].isSelected&&!this.remarks[e].isMaxDist){let t=this.remarks[e].id;this.remarkRemovedCallback&&this.remarkRemovedCallback(t),this.removeRemark(this.remarks[e]);break}this.updateCallback?.()})),this.addEventListener("touchstart",(e=>{let t={x:0,y:0};t.x=e.touches[0].pageX-e.offset.x,t.y=e.touches[0].pageY-e.offset.y,this.setActivePmiByMouse(t),1===e.touches.length?null!==this.pmiDragObj&&!0!==this.pmiDragObj.blockMovement&&(this.pmiDragObj.startDrag(this.convMouse({x:e.touches[0].pageX-e.offset.x,y:e.touches[0].pageY-e.offset.y}),this.camera,this.startDragPnt,this.pmiDragSubObj),this.updateCallback?.()):null!==this.pmiDragObj&&this.endDrag()})),this.addEventListener("touchmove",(e=>{1!==e.touches.length||null===this.pmiDragObj||!0!==this.pmiDragObj.blockMovement&&(this.pmiDragObj.updateDrag(this.convMouse({x:e.touches[0].pageX-e.offset.x,y:e.touches[0].pageY-e.offset.y}),this.camera,this.threeScene),this.updateCallback?.())})),this.addEventListener("touchend",(e=>{null!==this.pmiDragObj&&!0!==this.pmiDragObj.blockMovement&&(this.endDrag(
1),this.updateCallback?.())}))}postMessage(e,t){}isDistanceDependentClickDispatch(){return!1}alwaysSendWheelEvent(){return!0}ignoreBroadcastMouseMoveEvents(){return!1}setSelectionCallback(e){this.selectionCallback=e}makeImage(e){let t=document.createElement("canvas"),l=t.getContext("2d");return t.width=130,t.height=40,l.fillStyle="rgba(255, 255, 255, 0.5)",l.fillRect(0,0,t.width,t.height),l.fillStyle="rgb(0, 0, 0)",l.textAlign="center",l.textBaseline="middle",l.font="32px sans-serif",l.fillText(e,t.width/2,t.height/2),t}addDistanceRemark(e,t,l){let n=e.clone().sub(t).length(),V=e.clone().add(t).multiplyScalar(.5),i=[];i.push(e),i.push(t);{let e=new ip({color:16777215}),t=(new Fd).setFromPoints(i),n=new dp(t,e);l.add(n)}{let t=new Ep(.1,16,16),n=new id({color:16776960}),V=new yd(t,n);V.position.copy(e),l.add(V)}{let e=new Ep(.1,16,16),n=new id({color:16776960}),V=new yd(e,n);V.position.copy(t),l.add(V)}let a=this.makeImage(n.toFixed(2)+"mm"),r=a.height/a.width,s=new Zp(a),o=new Ic({map:s,alphaTest:0,transparent:!0,depthTest:!1,depthWrite:!1}),h=new np(o);h.scale.set(.5/r,.5,1),h.position.copy(V),l.add(h)}addDifferenceRemark(e,t,l,n,V,i,a,r,s=null,o="Difference",h=!1,d,R){let U=new vm(e,t,l,n,V,i,a,o,r,this.camera,this.carbonRenderer,this.canvas,this.api,this.view,this.textManger,this.scaleMultiplier,h,d,R,this.updateCallback);return this.remarks.push(U),s&&(U.id=s),U}updateDifferenceRemarkLod3d(e,t,l){let n=[];for(let e=0;e<this.remarks.length;e++){let t=this.remarks[e];"DifferenceMeasurement"==t.typeName&&n.push(t)}for(let V=0;V<n.length;V++){this.removeRemark(n[V]);let i=n[V];if(l){let l=this.carbonRenderer.getDistanceColorPaletteValues().getBytes(),n=this.carbonRenderer.getDistanceColorPaletteColors().getBytes(),V=[],a=[];for(let e=0;e<l.length;e+=4){let t=[l[e+3],l[e+2],l[e+1],l[e]],n=new ArrayBuffer(4),i=new DataView(n);t.forEach((function(e,t){i.setUint8(t,e)}));let a=i.getFloat32(0);V.push(a)}for(let e=0;e<n.length;e+=4){let t=[n[e+3],n[e+2],n[e+1],n[e]],l=new ArrayBuffer(4),V=new DataView(l);t.forEach((function(e,t){V.setUint8(t,e)}));let i=V.getFloat32(0);a.push(i)}let r=[];for(let e=0;e<a.length;e+=4){let t=new yo(a[e],a[e+1],a[e+2]);r.push(t)}let s=new eR;s.setFromNormalAndCoplanarPoint(t,e);let o=s.distanceToPoint(i.dotPos),h=0;if(o<V[0])h=new nd(r[0].x,r[0].y,r[0].z).getHex();else if(o>V[V.length-1])h=new nd(r[V.length-1].x,r[V.length-1].y,r[V.length-1].z).getHex();else for(let e=0;e<V.length-1;e++)if(o>=V[e]&&o<V[e+1]){let t=new nd(r[e].x,r[e].y,r[e].z),l=new nd(r[e+1].x,r[e+1].y,r[e+1].z),n=Math.abs(o-V[e]),i=Math.abs(o-V[e+1]);t.lerp(l,n/(n+i)),h=t.getHex();break}this.addDifferenceRemark(i.dotPos,i.textSpriteShift,o,h,i.showPntCoord,i.diffMicrons,i.diffPrecision,i.scene,i.id,i.titleText,this.isLod3d)}}for(let e=0;e<n.length;e++)this.removeRemark(n[e])}updateDifferenceRemarkIndustrial(e,t=null,l=null){let n=[];for(let e=0;e<this.remarks.length;e++){let t=this.remarks[e];"DifferenceMeasurement"==t.typeName&&n.push(t)}let V=[];for(let t=0;t<this.api.GetSceneObjectCount(e);t++){let l=this.api.GetSceneObject(e,t);for(let t=0;t<this.api.GetNestedObjectCount(e,l);t++){let n=this.api.GetNestedObject(e,l,t);V.push(n)}}for(let i=0;i<n.length;i++){this.removeRemark(n[i]);let a=n[i],r=a.difference;if(t&&l&&a.carbonObject&&t.id===a.carbonObject.id){let t=new Uh,n=[];n=this.api.GetLocalTransform(e,a.carbonObject),t.elements=n;let V=new Uh;V.elements=l,V=V.clone(),V.invert(),a.dotPos=a.dotPosOrig.clone().applyMatrix4(V),a.dotPos.applyMatrix4(t)}if(!this.isLod3d){let t=new yo(a.dotPos.x,a.dotPos.y,a.dotPos.z);r=0;if(a.isMaxDist)r=a.difference;else{for(let l=0;l<V.length;l++){let n=[t.x,t.y,t.z];V[l].id!==a.carbonObject?.id&&(r=this.api.GetDistanceToObject(e,n,V[l]))}r=-r}}let s=this.api.GetDistanceColorPaletteValuesRaw(e,a.carbonObject).getBytes(),o=this.api.GetDistanceColorPaletteColorsRaw(e,a.carbonObject).getBytes();if(!a.carbonObject)return void console.warn("no object assigned to remark");let h=[],d=[];for(let e=0;e<s.length;e+=4){let t=[s[e+3],s[e+2],s[e+1],s[e]],l=new ArrayBuffer(4),n=new DataView(l);t.forEach((function(e,t){n.setUint8(t,e)}));let V=n.getFloat32(0);h.push(V)}for(let e=0;e<o.length;e+=4){let t=[o[e+3],o[e+2],o[e+1],o[e]],l=new ArrayBuffer(4),n=new DataView(l);t.forEach((function(e,t){n.setUint8(t,e)}));let V=n.getFloat32(0);d.push(V)}let R=[];for(let e=0;e<d.length;e+=4){let t=new yo(d[e],d[e+1],d[e+2]);R.push(t)}let U=0;if(r<=h[0])U=new nd(R[0].x,R[0].y,R[0].z).getHex();else if(r>=h[h.length-1])U=new nd(R[h.length-1].x,R[h.length-1].y,R[h.length-1].z).getHex();else for(let e=0;e<h.length-1;e++)if(r>=h[e]&&r<h[e+1]){let t=new nd(R[e].x,R[e].y,R[e].z),l=new nd(R[e+1].x,R[e+1].y,R[e+1].z),n=Math.abs(r-h[e]),V=Math.abs(r-h[e+1]);t.lerp(l,n/(n+V)),U=t.getHex();break}let c=a.hidden,p=this.addDifferenceRemark(a.dotPos,a.textSpriteShift,r,U,a.showPntCoord,a.diffMicrons,a.diffPrecision,a.scene,a.id,a.titleText,this.isLod3d);p.carbonObject=a.carbonObject,p.isMaxDist=a.isMaxDist,p.dotPosOrig=a.dotPos.clone(),p.SetHidden(c)}}
1addTextRemark(e,t,l,n=null){let V=new Fm(e,"title",t,28845,l,this.carbonRenderer,this.canvas,this.api,this.view,this.camera,this.textManger,this.scaleMultiplier,this.isLod3d,this.is2D,!1);return this.remarks.push(V),n&&(V.id=n),V}addLineRemark(e,t,l,n,V=null){}addPlanePoint(e,t,l=null){let n=new Fm(e,"","",0,t,this.carbonRenderer,this.canvas,this.api,this.view,this.camera,this.textManger,this.scaleMultiplier,this.isLod3d,this.is2D,!0);return this.tempRemarks.push(n),l&&(n.id=l),n}addLengthRemark(e,t,l,n,V=null){let i=new Im(e,t,l,n,this.carbonRenderer,this.canvas,this.api,this.view,this.camera,this.textManger,this.scaleMultiplier,this.isLod3d,this.is2D);return this.remarks.push(i),V&&(i.id=V),i}addCircleTextRemark(e,t,l,n){let V=new Hm(e,t,"",l,0,n,this.carbonRenderer,this.canvas,this.api,this.camera,this.textManger);return this.remarks.push(V),V}removeRemark(e){let t=this.remarks.indexOf(e);if(t>-1){let e=this.remarks[t];e.dispose(),e.removeFromScene(),this.remarks.splice(t,1)}}removeRemarkById(e){let t=this.remarks.findIndex((t=>t.id===e));if(t>-1){let e=this.remarks[t];e.dispose(),e.removeFromScene(),this.remarks.splice(t,1)}}removeTempRemarks(){for(let e=0;e<this.tempRemarks.length;e++){let t=this.tempRemarks[e];t.dispose(),t.removeFromScene()}this.tempRemarks=[]}removeRemarkByIndex(e){if(e<0||e>=this.remarks.length)return;let t=this.remarks[e];t.dispose(),t.removeFromScene(),this.remarks.splice(e,1)}getRemarkIndex(e){return this.remarks.indexOf(e)}clearAllRemarks(){for(let e=0;e<this.remarks.length;e++){let t=this.remarks[e];t.dispose(),t.removeFromScene()}this.remarks=[],this.onRemoveCallback?.()}clearMaxDistRemarks(){for(let e=this.remarks.length-1;e>=0;e--){let t=this.remarks[e];t.isMaxDist&&(t.dispose(),t.removeFromScene(),this.remarks.splice(e,1))}}setAllRemarksVisibility(e){for(let t=0;t<this.remarks.length;t++){let l=this.remarks[t];l.isMaxDist||l.SetHidden(!e)}}removeSelected(){for(let e=this.remarks.length-1;e>=0;e--){let t=this.remarks[e];t.isSelected&&(t.dispose(),t.removeFromScene(),this.remarks.splice(e,1))}}changeRemarkTypeToDifference(e,t,l,n,V,i){if(e<0||e>=this.remarks.length)return;let a=this.remarks[e],r=a.isLod3d;a.dispose(),a.removeFromScene(),this.remarks[e]=new vm(t,l,n,V,!1,!0,3,"",i,this.camera,this.carbonRenderer,this.canvas,this.api,this.view,this.textManger,this.scaleMultiplier,r)}changeRemarkTypeToText(e,t,l,n){if(e<0||e>=this.remarks.length)return;let V=this.remarks[e];V.dispose(),V.removeFromScene(),this.remarks[e]=new Fm(t,"","",l,null,n,this.carbonRenderer,this.canvas,this.api,this.view,this.textManger,this.scaleMultiplier,this.isLod3d,this.is2D,!1)}getSerializedStr(e=null){return JSON.stringify(this.getSerialized(e))}getSerialized(e=null){let t=[];for(let l=0;l<this.remarks.length;l++){let n=this.remarks[l];if(!n.isMaxDist)if(n instanceof Fm)t.push(this.getFlatRemark(this.remarks[l]));else if(n instanceof vm){let V="";this.carbonObjects=[],n.carbonObject&&e&&(V=this.api.GetObjectName(e,n.carbonObject),this.carbonObjects.push(n.carbonObject)),t.push({...this.getFlatRemark(this.remarks[l]),carbonObjName:V})}else n instanceof Im&&t.push(this.getFlatRemark(this.remarks[l]))}return t}openSerializedState(e,t=!1,l=null,n=null){t||this.clearAllRemarks();for(let t=0;t<e.length;t++){let V=e[t];if("Annotation"===V.type)this.addTextRemark(new yo(V.dotPos.x,V.dotPos.y,V.dotPos.z),V.text,this.threeScene,V.id);else if("DifferenceMeasurement"===V.type){let e=this.addDifferenceRemark(new yo(V.dotPos.x,V.dotPos.y,V.dotPos.z),new yo(V.textShift.x,V.textShift.y,V.textShift.z),V.difference,V.titleColor,V.showPntCoord,V.diffMicrons,V.diffPrecision,this.threeScene,V.id,V.titleText,this.isLod3d);if(l){let t=this.api.GetNestedObjectCount(l,n);for(let i=0;i<t;i++){let t=this.api.GetNestedObject(l,n,i);if(V.carbonObjName===this.api.GetObjectName(l,t)){e.carbonObject=t;break}}}e.visibilityCheck=V.visibilityCheck}else"LengthMeasurement"===V.type&&this.addLengthRemark(new yo(V.p1.x,V.p1.y,V.p1.z),new yo(V.p2.x,V.p2.y,V.p2.z),V.dotColor,this.threeScene,V.id)}this.camera.wasChanged=!0,this.updateRemarks(this.camera)}openSerializedStateStr(e){let t=JSON.parse(e);this.openSerializedState(t)}getRemarks(){return this.remarks}getFlatRemark(e){return e instanceof Fm?{type:"Annotation",dotPos:e.dotPos,text:e.text,id:e.id}:e instanceof vm?{type:"DifferenceMeasurement",text:e.text,titleText:e.titleText,dotPos:e.dotPos,textShift:e.textSpriteShift,difference:e.difference,titleColor:e.titleColor,showPntCoord:e.showPntCoord,diffPrecision:e.diffPre
1cision,diffMicrons:e.diffMicrons,id:e.id,visibilityCheck:e.visibilityCheck}:e instanceof Im?{type:"LengthMeasurement",p1:e.p1,p2:e.p2,dotColor:e.dotColor,id:e.id,text:e.text}:null}remarkObjectsOverlap(e,t,l){let n=!1;if(this.isLod3d||this.camera.isPerspectiveCamera||!this.enableObjectOverlapTest)return!1;0===e&&0===t&&(e=l.textSpriteShift.x,t=l.textSpriteShift.y);let V=[];V=l.getCornerPoints(e,t,this.camera);let i=this.carbonRenderer.getContextHandle();for(let e=0;e<V.length;e++){let t=V[e].clone().sub(this.camera.position),l=this.api.GetObjectsAlongRay(i,this.camera.position.x,this.camera.position.y,this.camera.position.z,t.x,t.y,t.z);for(let e=0;e<l.size();e++){let t=l.get(e);if(!1!==this.api.GetObjectVisible(i,t.object)){n=!0;break}}}return n}findPlaceForText(e,t,l,n,V){if("DifferenceMeasurement"!=t[e].typeName)return;let i=.8*Math.sqrt(this.canvas.width*this.canvas.width+this.canvas.height*this.canvas.height);for(let a=250;a<i;a+=30){let i=new Ro(t[e].textSpriteShift.x,t[e].textSpriteShift.y);i.normalize();let r=t[e].getDotPos2D();for(let s=0;s<2*Math.PI;s+=.15708){let o=i.clone();o.rotateAround(new Ro(0,0),s),o.multiplyScalar(a),o.add(r);let h=t[e].textSprite.totalWidth,d=t[e].textSprite.totalHeight,R=new VZ(new Ro(o.x-h/2,o.y-d/2),new Ro(o.x+h/2,o.y+d/2));if(n.containsBox(R)){let n=!1;for(let V=0;V<t.length;++V){if(V===e||!t[V].isVisible())continue;let i=l[2*V+0],a=l[2*V+1];if(Array.isArray(i)){for(let e=0;e<i.length;e++)if(R.intersectsBox(i[e])){n=!0;break}if(n)break;if(R.intersectsBox(a)){n=!0;break}}else if(R.intersectsBox(i)||R.intersectsBox(a)){n=!0;break}}let i=o.x-r.x,a=o.y-r.y;if(n||(n=this.remarkObjectsOverlap(i,a,t[e])),!n)return t[e].textSpriteShift.x=i,t[e].textSpriteShift.y=a,t[e].update(V),l[2*e+0]=t[e].getDotBBox(),void(l[2*e+1]=t[e].getTextBBox())}}}}convMouse(e){return{x:e.x/this.canvas.clientWidth*2-1,y:-e.y/this.canvas.clientHeight*2+1}}setHovered(e){if(!1===e)for(let e=0;e<this.remarks.length;e++)this.remarks[e].setHovered(!1);else if(null!==e&&void 0!==e.x&&void 0!==e.y){this.raycaster.setFromCamera(this.convMouse(e),this.camera);let t=null;for(let e=0;e<this.remarks.length;e++){let l=this.remarks[e].getInteractionObjects(),n=null;for(let e=0;e<l.length;e++){let t=this.raycaster.intersectObject(l[e]);if(t.length>0){n=t[0];break}}null!==n&&(null===t||n.distance<t.distance)&&(t=n)}for(let e=0;e<this.remarks.length;e++)null!==t&&this.remarks[e]==t.object.mainObj?this.remarks[e].setHovered(!0,t.object):this.remarks[e].setHovered(!1)}else if(null!==e)for(let t=0;t<this.remarks.length;t++)this.remarks[t]===e.object?this.remarks[t].setHovered(!0,e.subObject):this.remarks[t].setHovered(!1);else if(null===e){for(let e=0;e<this.remarks.length;e++)this.remarks[e].setHovered(!1);return this.pmiDragObj=null,this.pmiDragSubObj=null,void(this.startDragPnt=null)}}isHovered(e){this.raycaster.setFromCamera(this.convMouse(e),this.camera);let t=null;for(let e=0;e<this.remarks.length;e++){let l=this.remarks[e].getInteractionObjects(),n=null;for(let e=0;e<l.length;e++){let V=this.raycaster.intersectObject(l[e]);V.length>0&&(n=V[0],null!==n&&(null===t||n.distance<t.distance)&&(t=n))}}return null!==t&&t.distance}setActivePmiByMouse(e){this.raycaster.setFromCamera(this.convMouse(e),this.camera);let t=null;for(let e=0;e<this.remarks.length;e++){let l=this.remarks[e].getInteractionObjects(),n=null;for(let e=0;e<l.length;e++){let t=this.raycaster.intersectObject(l[e]);if(t.length>0){n=t[0];break}}null!==n&&(null===t||n.distance<t.distance)&&(t=n)}if(null!==t){this.pmiDragObj=t.object.mainObj,this.pmiDragSubObj=t.object,this.startDragPnt=this.raycaster.ray.origin.clone();let e=this.raycaster.ray.direction.clone();e.multiplyScalar(t.distance),this.startDragPnt.add(e)}else this.pmiDragObj=null,this.pmiDragSubObj=null,this.startDragPnt=null}endDrag(){null!==this.pmiDragObj&&(this.pmiDragObj.endDrag(),this.pmiDragObj=null,this.pmiDragSubObj=null,this.startDragPnt=null)}doClick(e){if(this.selectionType==this.ObjectSelection.single||this.selectionType==this.ObjectSelection.none)for(let e=0;e<this.remarks.length;e++)this.remarks[e].setSelected(!1),this.selectionCallback&&this.selectionCallback(this.remarks[e],!1);null!==this.pmiDragObj&&(this.pmiDragObj.setSelected(!this.pmiDragObj.isSelected),this.selectionCallback&&this.selectionCallback(this.pmiDragObj,!0))}wasMouseMoveHovered(){return!1}isMouseMoveHovered(e){return this.isHovered(e)}updateRemarks(e){let t=this.lastRemarksLength!=this.remarks.length;this.lastRemarksLength=this.remarks.length,t&&(e.wasChanged=!0);let l=this.lastCameraChangedState&&!e.wasChanged;if(this.lastCameraChangedState=e.wasChanged,l){let t=[];for(let e=0;e<this.remarks.length;e++)("DifferenceMeasurement"===this.remarks[e].typeName||"Annotation"===this.remarks[e].typeName||"LengthMeasurement"===this.remarks[e].typeName)&&t.push(this.remarks[e]);let l=new VZ(new Ro(-this.canvas.width/2,-this.canvas.height/2),new Ro(this.canvas.width/2,this.canvas.height/2)),n=[];for(let e=0;e<t.length;e++)n.push(t[e].getDotBBox()),n.push(t[e].getTextBBox());let V=-1;if(t.length>1)for(let i=0;i<t.length;i++){if(!t[i].isVisible()||"DifferenceMeasurement"!=t[i].typeName)continue;let a=n[2*i+1],r=this.remarkObjectsOverlap(0,0,t[i]);if(r)V=i;else for(let e=0;e<t.length;e++){if(e===i||!t[e].isVisible())continue;let r=n[2*e+0],s=n[2*e+1];if(Array.isArray(r)){let e=!1;for(let t=0;t<r.length;t++)if(a.intersectsBox(r[t])){e=!0,V=i;break}if(e)break;if(a.intersectsBox(s)||!l.containsBox(a)){V=i;break}}else if(a.intersectsBox(r)||a.intersectsBox(s)||!l.containsBox(a)){V=i;break}}(V>-1||r)&&(this.findPlaceForText(V,t,n,l,e),V=-1)}else if(1===t.length){let i=n[1];"DifferenceMeasurement"===t[0].typeName&&(!l.containsBox(i)||this.remarkObjectsOverlap(0,0,t[0]))&&(V=0,this.findPlaceForText(V,t,n,l,e))}}for(let t=0;t<this.remarks.length;t++)this.remarks[t].update(e);for(let t=0;t<this.tempRemarks.length;t++)this.tempRemarks[t].update(e)}findById(e){let t=null;for(let l=0;l<this.remarks.length;l++)if(this.remarks[l].id===e){t=this.remarks[l];break}return t}setScaleMultiplier(e){this.scaleMultiplier=e}setUpdateCallback(e){this.updateCallback=e}},Om=32,_m=.01,Lm=class extends As{camera;target=new yo;behavior="none";isRotating=!1;isPanChanged=!1;isZoomChanged=!1;rotateSpeed;objectRotation=new zo;onStateChange;#e=!1;#t;#l;#n;#V;#i;#a=!0;#r=!1;#s;#o;#h;#d=new yo;#R=0;#U={left:0,top:0,width:0,height:0};#c;#p;#Z=new Ro;#W=new Ro;
1#m=new Ro;#F=new Ro;#N=0;#u=0;#E=!1;#b=!1;#S=0;#J;#T;constructor(e={}){super(),Ga(this,{isRotating:LV,isZoomChanged:LV,isPanChanged:LV});let{mode:t="orthographic",rotateSpeed:l=2.5,zoomSpeed:n=1.2,panSpeed:V=8,minZoom:i=_m,maxZoom:a=Om,dynamicDumpingFactor:r=1,noRotate:s=!1,noPan:o=!1,noZoom:h=!1,rotateObjectMode:d=!1}=e;this.rotateSpeed=l,this.#t=n,this.#l=V,this.#n=i,this.#V=a,this.#i=r,this.#s=s,this.#o=o,this.#h=h,this.#r=d,"orthographic"===t&&(this.camera=new WR(-10,10,-10,10,-500,500)),"industrial_ortho"===t&&(this.camera=new WR(-10,10,-10,10,0,1e3)),"perspective"===t&&(this.camera=new Od(40,window.innerWidth/window.innerHeight,.1,1e3)),this.#T=e.mode,this.addEventListener("mousedown",this.onMouseDown),this.addEventListener("mousemove",this.onMouseMove),this.addEventListener("mouseup",this.onMouseUp),this.addEventListener("mouseleave",this.onMouseUp),this.addEventListener("mousewheel",this.onMouseWheel),this.addEventListener("touchstart",this.onTouchStart),this.addEventListener("touchend",this.onTouchEnd),this.addEventListener("touchmove",this.onTouchMove)}get stateRaw(){let e={pos:this.camera.position.clone(),up:this.camera.up.clone(),zoom:this.camera.zoom,zoomDelta:this.#R};return e.target=this.target.clone(),e.rotation={x:this.camera.rotation.x,y:this.camera.rotation.y,z:this.camera.rotation.z},e.objectRotation={x:this.objectRotation.x,y:this.objectRotation.y,z:this.objectRotation.z,w:this.objectRotation.w},e}get state(){return JSON.stringify(this.stateRaw)}get sequence(){let e=[];
1if(this.camera instanceof WR&&this.stateRaw.target){let t=[this.stateRaw.target.x,this.stateRaw.target.y,this.stateRaw.target.z];e.push(...t)}else if(this.camera instanceof Od&&this.stateRaw.rotation){let t=[this.stateRaw.rotation.x,this.stateRaw.rotation.y,this.stateRaw.rotation.z];e.push(...t)}let t=[this.stateRaw.pos.x,this.stateRaw.pos.y,this.stateRaw.pos.z],l=[this.stateRaw.up.x,this.stateRaw.up.y,this.stateRaw.up.z];return[...e,...t,...l,this.stateRaw.zoom,this.stateRaw.zoomDelta].map((e=>+e.toFixed(6)))}get isCameraChanged(){return this.isZoomChanged||this.isRotating||this.isPanChanged}getMousePositionRelatedToCamera(e,t){let{width:l,height:n,x:V,y:i}=t.getBoundingClientRect(),a=e.clientX-V,r=e.clientY-i;return new yo(a/l*2-1,-r/n*2+1,.5).unproject(this.camera).toArray()}setTouchRotateDelay(e=0){this.#S=e}setTouchRotateHorizontalStart(e=!1){this.#E=e}onMouseDown(e){if(this.#a&&(e.button===Jr?(this.behavior="rotate",this.#s&&(this.behavior="none")):e.button===Tr&&!this.#o&&(this.behavior="pan"),"none"!==this.behavior))switch(this.behavior){case"rotate":let t=this.#G(e.mouse.x,e.mouse.y);JSON.stringify(this.#Z)!==JSON.stringify(t)&&(this.#Z.copy(t),this.#W.copy(this.#Z),this.#M());break;case"pan":let l=this.#k(e.mouse.x,e.mouse.y);JSON.stringify(this.#m)!==JSON.stringify(l)&&(this.#m.copy(l),this.#F.copy(this.#m),this.#M());break;default:this.behavior="none"}}onMouseMove(e){if(this.#a&&"none"!==this.behavior){switch(this.behavior){case"rotate":this.#Z.copy(this.#G(e.mouse.x,e.mouse.y));break;case"pan":this.#F.copy(this.#k(e.mouse.x,e.mouse.y))}this.#M()}}onMouseUp(){this.#a&&(this.behavior="none",this.#M())}onTouchStart(e){if(this.#a){if(1===e.touches.length){if(this.behavior="touch-rotate",this.#s){if(!this.#o){let t=this.#k(e.touches[0].pageX,e.touches[0].pageY);JSON.stringify(this.#m)!==JSON.stringify(t)&&(this.#m.copy(this.#k(e.touches[0].pageX,e.touches[0].pageY)),this.#F.copy(this.#m),this.#M())}}else{let t=this.#G(e.touches[0].pageX,e.touches[0].pageY);JSON.stringify(this.#Z)!==JSON.stringify(t)&&(this.#Z.copy(t),this.#W.copy(this.#Z),this.#M())}clearTimeout(this.#J),this.#J=setTimeout((()=>{this.#e=!0;try{window.navigator.vibrate(100)}catch{}clearTimeout(this.#J)}),this.#S)}else{this.behavior="touch-zoom-pan";let t=e.touches[0].pageX-e.touches[1].pageX,l=e.touches[0].pageY-e.touches[1].pageY;if(this.#N=Math.sqrt(t*t+l*l),this.#u=this.#N,!this.#o){let t=(e.touches[0].pageX+e.touches[1].pageX)/2,l=(e.touches[0].pageY+e.touches[1].pageY)/2,n=this.#k(t,l);JSON.stringify(this.#m)!==JSON.stringify(n)&&(this.#m.copy(n),this.#F.copy(this.#m),this.#M())}}this.#c=e.touches[0].pageX,this.#p=e.touches[0].pageY}}onTouchMove(e){if(clearTimeout(this.#J),this.#a){if(!this.#e&&this.#E&&!this.#b){if(!this.#c||!this.#p)return;this.#e=!1;let t=this.#c-e.touches[0].pageX,l=this.#p-e.touches[0].pageY;Math.abs(t)>Math.abs(l)&&(this.#e=!0,this.#b=!0)}if(this.#e){if(1===(e.cancelable&&e.preventDefault(),e.touches.length))this.#s?this.#o||this.#F.copy(this.#k(e.touches[0].pageX,e.touches[0].pageY)):(this.#W.copy(this.#Z),this.#Z.copy(this.#G(e.touches[0].pageX,e.touches[0].pageY)));else if(!this.#h){let t=e.touches[0].pageX-e.touches[1].pageX,l=e.touches[0].pageY-e.touches[1].pageY;this.#u=Math.sqrt(t*t+l*l);let n=(e.touches[0].pageX+e.touches[1].pageX)/2,V=(e.touches[0].pageY+e.touches[1].pageY)/2;this.#F.copy(this.#k(n,V))}this.#M()}}}onTouchEnd(e){if(clearTimeout(this.#J),this.#a){switch(e.cancelable&&e.preventDefault(),e.touches.length){case 0:this.behavior="none";break;case 1:this.behavior="touch-rotate",this.#Z.copy(this.#G(e.touches[0].pageX,e.touches[0].pageY)),this.#W.copy(this.#Z)}this.#e=!1,this.#b=!1}}onMouseWheel(e){if(this.#Y(e)||!this.#a||this.#h)return;let t=0;void 0!==e.delta&&(t=e.delta),this.#R=.02*Math.sign(t),this.#M()}resize(e){let{width:t,height:l,left:n,top:V}=e.getBoundingClientRect();if(this.camera instanceof Od)this.camera.aspect=t/l;else if(this.camera instanceof WR){let e=t/l*1;this.camera.left=e/-2,this.camera.right=e/2,this.camera.top=.5,this.camera.bottom=-.5}this.camera.updateProjectionMatrix(),this.#U.left=n+window.scrollX,this.#U.top=V+window.scrollY,this.#U.width=t,this.#U.height=l,ta((()=>{this.isPanChanged=!0})),this.#M()}setState(e,t={}){let{silent:l=!1}=t,n=!1;if(typeof e.target<"u"&&"number"==typeof e.target.x&&"number"==typeof e.target.y&&"number"==typeof e.target.z&&(this.target.copy(new yo(e.target.x,e.target.y,e.target.z)),n=!0),typeof e.pos<"u"&&"number"==typeof e.pos.x&&"number"==typeof e.pos.y&&"number"==typeof e.pos.z&&(this.camera.position.copy(new yo(e.pos.x,e.pos.y,e.pos.z)),n=!0),n&&this.#d.subVectors(this.camera.position,this.target),typeof e.up<"u"&&this.camera.up.copy(new yo(e.up.x,e.up.y,e.up.z)),typeof e.rotation<"u"&&this.camera.rotation.copy(new bh(e.rotation.x,e.rotation.y,e.rotation.z)),"number"==typeof e.zoom){let t=e.zoom;e.zoom<this.#n?t=this.#n:e.zoom>this.#V&&(t=this.#V),this.camera.zoom=t}"number"==typeof e.zoomDelta&&(this.#R=e.zoomDelta),typeof e.objectRotation<"u"&&this.objectRotation.set(e.objectRotation.x,e.objectRotation.y,e.objectRotation.z,e.objectRotation.w),this.camera.updateProjectionMatrix(),this.camera.updateMatrix(),ta((()=>{this.isPanChanged=!0})),l||this.#M()}setSequence(e,t={}){if(!DZ(e)||11!==e.length||!e.every((e=>AZ(e))))return;let[l,n,V,i,a,r,s,o,h,d,R]=e,{silent:U=!1}=t;this.camera instanceof WR?this.target.copy(new yo(l,n,V)):this.camera instanceof Od&&this.camera.rotation.copy(new bh(l,n,V)),this.camera.position.copy(new yo(i,a,r)),this.#d.subVectors(this.camera.position,this.target),this.camera.up.copy(new yo(s,o,h));let c=d;d<this.#n?c=this.#n:d>this.#V&&(c=this.#V),this.camera.zoom=c,this.#R=R,this.camera.updateProjectionMatrix(),this.camera.updateMatrix(),ta((()=>{this.isPanChanged=!0})),U||this.#M()}enableCamera(){this.#a=!0}disableCamera(){this.#a=!1}updateCamera(){this.#d.subVectors(this.camera.position,this.target),this.#x(),this.#Q(),this.#X(),this.camera.position.addVectors(this.target,this.#d),this.camera.lookAt(this.target),this.camera.updateMatrix()}enablePan(){this.#o=!1}
1disablePan(){this.#o=!0}enableZoom(){this.#h=!1}getObjectRotationMode(){return this.#r}setObjectRotationMode(e){this.#r=e}disableZoom(){this.#h=!0}rotateCameraAngle(e,t){this.#d.copy(this.camera.position).sub(this.target);let l=(new zo).setFromAxisAngle(e.normalize(),t);this.objectRotation.multiply(l),this.#r||(this.#d.applyQuaternion(l),this.camera.up.applyQuaternion(l),this.camera.position.addVectors(this.target,this.#d)),this.#M()}rotateCamera(e){this.objectRotation.multiply(e),this.#r||(this.#d.copy(this.camera.position).sub(this.target),this.#d.applyQuaternion(e),this.camera.up.applyQuaternion(e),this.camera.position.addVectors(this.target,this.#d)),this.#M()}setCameraRotation(e){if(this.objectRotation.copy(e),!this.#r){this.#d.copy(this.camera.position).sub(this.target);let t=this.#d.length();0==t&&(t=1),this.#d.set(0,0,t),this.#d.applyQuaternion(e),this.camera.up.set(0,1,0),this.camera.up.applyQuaternion(e),this.camera.position.addVectors(this.target,this.#d),this.camera.lookAt(this.target),this.camera.updateMatrixWorld(!0)}setTimeout((()=>this.#M()),100)}fitCameraToSphere(e,t,l,n=!1){this.#d.copy(this.camera.position).sub(this.target);let V=this.#d.length();if((0==V||n)&&(V=1,this.camera.getWorldDirection(this.#d),this.#d.negate()),this.target.copy(e),"industrial_ortho"===this.#T?this.camera.position.addVectors(this.target,this.#d.clone().multiplyScalar(t+1e3)):this.camera.position.addVectors(this.target,this.#d),this.camera.zoom=1/(2*t),l<1&&(this.camera.zoom*=l),this.camera instanceof Od){let e=this.camera.fov*Math.PI/180;this.camera.zoom*=2*V*Math.tan(e/2)}this.camera.updateProjectionMatrix(),ta((()=>{this.isZoomChanged=!0,this.isPanChanged=!0})),this.#M()}fitCameraLod3D(e,t){this.camera.getWorldDirection(this.#d),this.target=e,this.camera.zoom=1,this.#d=new yo(0,0,-1),this.camera.up=new yo(0,1,0),this.camera.position.addVectors(this.target,this.#d.multiplyScalar(-t/Math.tan(40*Math.PI/360))),this.#M()}isDistanceDependentClickDispatch(){return!1}alwaysSendWheelEvent(){return!0}ignoreBroadcastMouseMoveEvents(){return!1}dispose(){this.removeEventListener("mousedown",this.onMouseDown),this.removeEventListener("mousemove",this.onMouseMove),this.removeEventListener("mouseup",this.onMouseUp),this.removeEventListener("mouseleave",this.onMouseUp),this.removeEventListener("mousewheel",this.onMouseWheel),this.removeEventListener("touchstart",this.onTouchStart),this.removeEventListener("touchend",this.onTouchEnd),this.removeEventListener("touchmove",this.onTouchMove)}#Q(){if("touch-zoom-pan"===this.behavior){let e=this.#N/this.#u;this.#N=this.#u,ta((()=>{this.isZoomChanged=isFinite(e)&&e>0})),this.isZoomChanged&&(this.camera.zoom/=e,this.camera.updateProjectionMatrix())}else{let e=1+(0-this.#R)*this.#t;if(ta((()=>{this.isZoomChanged=e>0&&1!==e})),this.isZoomChanged){let t=e<1&&this.camera.zoom<this.#V,l=e>1&&this.camera.zoom>this.#n;(t||l)&&(this.camera.zoom/=e,this.camera.updateProjectionMatrix()),this.#R+=(0-this.#R)*this.#i}}}#X(){let e=(new Ro).copy(this.#F).sub(this.#m);if(ta((()=>{this.isPanChanged=!!e.lengthSq()})),this.isPanChanged){this.camera instanceof Od?e.multiplyScalar(this.#d.length()*this.#l*.01):this.camera instanceof WR&&(e.x*=(this.camera.right-this.camera.left)/this.camera.zoom,e.y*=(this.camera.top-this.camera.bottom)/this.camera.zoom);let t=(new yo).copy(this.#d).cross(this.camera.up).setLength(e.x).add((new yo).copy(this.camera.up).setLength(e.y));this.camera.position.add(t),t.length()>1e-4&&this.target.add(t),this.#m.add(e.subVectors(this.#F,this.#m).multiplyScalar(this.#i)),this.#F.copy(this.#m)}}#M(){this.onStateChange?.(this.state)}#Y(e){if(!e)return!1;let t=e.wheelDeltaY;return t?t===-3*e.deltaY:0===e.deltaMode}#k(e,t){return new Ro((e-this.#U.left)/this.#U.width,(t-this.#U.top)/this.#U.height)}#G(e,t){return new Ro((e-.5*this.#U.width-this.#U.left)/(.5*this.#U.width),(this.#U.height+2*(this.#U.top-t))/this.#U.width)}#x(){let e=(new yo).set(this.#Z.x-this.#W.x,this.#Z.y-this.#W.y,0),t=e.length();if("touch-rotate"===this.behavior&&(t*=2),ta((()=>{this.isRotating=!!t})),this.isRotating){this.#d.copy(this.camera.position).sub(this.target);let l=(new yo).copy(this.camera.up).normalize(),n=(new yo).crossVectors(l,(new yo).copy(this.#d).normalize()).normalize();l.setLength(this.#Z.y-this.#W.y),n.setLength(this.#Z.x-this.#W.x),e.copy(l.add(n));let V=(new zo).setFromAxisAngle((new yo).crossVectors(e,this.#d).normalize(),t*this.rotateSpeed);this.#r?this.objectRotation.multiply(V):(this.#d.applyQuaternion(V),this.camera.up.applyQuaternion(V)),this.#W.copy(this.#Z)}}},Km=Object.defineProperty,Pm=(e,t)=>
1{let l={};for(var n in e)Km(l,n,{get:e[n],enumerable:!0});return t||Km(l,Symbol.toStringTag,{value:"Module"}),l};function Am(e){return(Am="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qm(e,t,l){return(t=function(e){var t=function(e){if("object"!=Am(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var l=t.call(e,"string");if("object"!=Am(l))return l;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Am(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}var $m,eF=class{constructor(){qm(this,"browserShadowBlurConstant",1),qm(this,"DPI",96),qm(this,"devicePixelRatio",typeof window<"u"?window.devicePixelRatio:1),qm(this,"perfLimitSizeTotal",2097152),qm(this,"maxCacheSideLimit",4096),qm(this,"minCacheSideLimit",256),qm(this,"disableStyleCopyPaste",!1),qm(this,"enableGLFiltering",!0),qm(this,"textureSize",4096),qm(this,"forceGLPutImageData",!1),qm(this,"cachesBoundsOfCurve",!1),qm(this,"fontPaths",{}),qm(this,"NUM_FRACTION_DIGITS",4)}},tF=new class extends eF{constructor(e){super(),this.configure(e)}configure(e={}){Object.assign(this,e)}addFonts(e={}){this.fontPaths={...this.fontPaths,...e}}removeFonts(e=[]){e.forEach((e=>{delete this.fontPaths[e]}))}clearFonts(){this.fontPaths={}}restoreDefaults(e){let t=new eF,l=e?.reduce(((e,l)=>(e[l]=t[l],e)),{})||t;this.configure(l)}},lF=(e,...t)=>console[e]("fabric",...t),nF=class extends Error{constructor(e,t){super(`fabric: ${e}`,t)}},VF=class extends nF{constructor(e){super(`${e} 'options.signal' is in 'aborted' state`)}},iF=class{},aF=class extends iF{testPrecision(e,t){let l=`precision ${t} float;\nvoid main(){}`,n=e.createShader(e.FRAGMENT_SHADER);return!!n&&(e.shaderSource(n,l),e.compileShader(n),!!e.getShaderParameter(n,e.COMPILE_STATUS))}queryWebGL(e){let t=e.getContext("webgl");t&&(this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this.GLPrecision=["highp","mediump","lowp"].find((e=>this.testPrecision(t,e))),t.getExtension("WEBGL_lose_context").loseContext(),lF("log",`WebGL: max texture size ${this.maxTextureSize}`))}isSupported(e){return!!this.maxTextureSize&&this.maxTextureSize>=e}},rF={},sF=()=>$m||($m={document:document,window:window,isTouchSupported:"ontouchstart"in window||"ontouchstart"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new aF,dispose(){},copyPasteData:rF}),oF=()=>sF().document,hF=()=>sF().window,dF=()=>{var e;return Math.max(null==(e=tF.devicePixelRatio)?hF().devicePixelRatio:e,1)},RF=new class{constructor(){qm(this,"boundsOfCurveCache",{}),this.charWidthsCache=new Map}getFontCache({fontFamily:e,fontStyle:t,fontWeight:l}){e=e.toLowerCase();let n=this.charWidthsCache;n.has(e)||n.set(e,new Map);let V=n.get(e),i=`${t.toLowerCase()}_${(l+"").toLowerCase()}`;return V.has(i)||V.set(i,new Map),V.get(i)}clearFontCache(e){e?this.charWidthsCache.delete((e||"").toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(e){let{perfLimitSizeTotal:t}=tF,l=Math.sqrt(t*e);return[Math.floor(l),Math.floor(t/l)]}},UF="7.4.0";function cF(){}var pF=Math.PI/2,ZF=Math.PI/4,WF=2*Math.PI,mF=Math.PI/180,FF=Object.freeze([1,0,0,1,0,0]),NF="center",uF="left",EF="bottom",bF="right",SF="none",JF=/\r?\n/,TF="moving",GF="scaling",MF="rotating",kF="rotate",YF="skewing",xF="resizing",QF="modifyPoly",XF="changed",wF="scale",fF="scaleX",zF="scaleY",yF="skewX",CF="skewY",jF="fill",gF="stroke",BF="modified",HF="normal",vF="json",IF=new class{constructor(){this[vF]=new Map,this.svg=new Map}has(e){return this[vF].has(e)}getClass(e){let t=this[vF].get(e);if(!t)throw new nF(`No class registered for ${e}`);return t}setClass(e,t){t?this[vF].set(t,e):(this[vF].set(e.type,e),this[vF].set(e.type.toLowerCase(),e))}getSVGClass(e){return this.svg.get(e)}setSVGClass(e,t){this.svg.set(t??e.type.toLowerCase(),e)}},DF=new class extends Array{remove(e){let t=this.indexOf(e);t>-1&&this.splice(t,1)}cancelAll(){let e=this.splice(0);return e.forEach((e=>e.abort())),e}cancelByCanvas(e){if(!e)return[];let t=this.filter((t=>{var l;return t.target===e||"object"==typeof t.target&&(null==(l=t.target)?void 0:l.canvas)===e}));return t.forEach((e=>e.abort())),t}cancelByTarget(e){if(!e)return[];let t=this.filter((t=>t.target===e));return t.forEach((e=>e.abort())),t}},OF=class{constructor(){qm(this,"__eventListeners",{})}on(e,t){if(this.__eventListeners||(this.__eventListeners={}),"object"==typeof e)return Object.entries(e).forEach((([e,t])=>{this.on(e,t)})),()=>this.off(e);if(t){let l=e;return this.__eventListeners[l]||(this.__eventListeners[l]=[]),this.__eventListeners[l].push(t),()=>this.off(l,t)}return()=>!1}once(e,t){if("object"==typeof e){let t=[];return Object.entries(e).forEach((([e,l])=>{t.push(this.once(e,l))})),()=>t.forEach((e=>e()))}if(t){let l=this.on(e,(function(...e){t.call(this,...e),l()}));return l}return()=>!1}_removeEventListener(e,t){if(this.__eventListeners[e])if(t){let l=this.__eventListeners[e],n=l.indexOf(t);n>-1&&l.splice(n,1)}else this.__eventListeners[e]=[]}off(e,t){if(this.__eventListeners)if(void 0===e)for(let e in this.__eventListeners)this._removeEventListener(e);else"object"==typeof e?Object.entries(e).forEach((([e,t])=>{this._removeEventListener(e,t)})):this._removeEventListener(e,t)}fire(e,t){var l;if(!this.__eventListeners)return;let n=null==(l=this.__eventListeners[e])?void 0:l.concat();if(n)for(let e=0;e<n.length;e++)n[e].call(this,t||{})}},_F=(e,t)=>{let l=e.indexOf(t);return-1!==l&&e.splice(l,1),e},LF=e=>{if(0===e)return 1;switch(Math.abs(e)/pF){case 1:case 3:return 0;case 2:return-1}return Math.cos(e)},KF=e=>{if(0===e)return 0;let t=e/pF,l=Math.sign(e);switch(t){case 1:return l;case 2:return 0;case 3:return-l}return Math.sin(e)},PF=class e{constructor(e=0,t=0){"object"==typeof e?(this.x=e.x,this.y=e.y):(this.x=e,this.y=t)}add(t){return new e(this.x+t.x,this.y+t.y)}addEquals(e){return this.x+=e.x,this.y+=e.y,this}scalarAdd(t){return new e(this.x+t,this.y+t)}scalarAddEquals(e){return this.x+=e,this.y+=e,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}
1subtractEquals(e){return this.x-=e.x,this.y-=e.y,this}scalarSubtract(t){return new e(this.x-t,this.y-t)}scalarSubtractEquals(e){return this.x-=e,this.y-=e,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new e(this.x*t,this.y*t)}scalarMultiplyEquals(e){return this.x*=e,this.y*=e,this}divide(t){return new e(this.x/t.x,this.y/t.y)}scalarDivide(t){return new e(this.x/t,this.y/t)}scalarDivideEquals(e){return this.x/=e,this.y/=e,this}eq(e){return this.x===e.x&&this.y===e.y}lt(e){return this.x<e.x&&this.y<e.y}lte(e){return this.x<=e.x&&this.y<=e.y}gt(e){return this.x>e.x&&this.y>e.y}gte(e){return this.x>=e.x&&this.y>=e.y}lerp(t,l=.5){return l=Math.max(Math.min(1,l),0),new e(this.x+(t.x-this.x)*l,this.y+(t.y-this.y)*l)}distanceFrom(e){let t=this.x-e.x,l=this.y-e.y;return Math.sqrt(t*t+l*l)}midPointFrom(e){return this.lerp(e)}min(t){return new e(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new e(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return`${this.x},${this.y}`}setXY(e,t){return this.x=e,this.y=t,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setFromPoint(e){return this.x=e.x,this.y=e.y,this}swap(e){let t=this.x,l=this.y;this.x=e.x,this.y=e.y,e.x=t,e.y=l}clone(){return new e(this.x,this.y)}rotate(t,l=AF){let n=KF(t),V=LF(t),i=this.subtract(l);return new e(i.x*V-i.y*n,i.x*n+i.y*V).add(l)}transform(t,l=!1){return new e(t[0]*this.x+t[2]*this.y+(l?0:t[4]),t[1]*this.x+t[3]*this.y+(l?0:t[5]))}},AF=new PF(0,0),qF=e=>!!e&&Array.isArray(e._objects);function $F(e){class t extends e{constructor(...e){super(...e),qm(this,"_objects",[])}_onObjectAdded(e){}_onObjectRemoved(e){}_onStackOrderChanged(e){}add(...e){let t=this._objects.push(...e);return e.forEach((e=>this._onObjectAdded(e))),t}insertAt(e,...t){return this._objects.splice(e,0,...t),t.forEach((e=>this._onObjectAdded(e))),this._objects.length}remove(...e){let t=this._objects,l=[];return e.forEach((e=>{let n=t.indexOf(e);-1!==n&&(t.splice(n,1),l.push(e),this._onObjectRemoved(e))})),l}forEachObject(e){this.getObjects().forEach(((t,l,n)=>e(t,l,n)))}getObjects(...e){return 0===e.length?[...this._objects]:this._objects.filter((t=>t.isType(...e)))}item(e){return this._objects[e]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(e,l){return!!this._objects.includes(e)||!!l&&this._objects.some((l=>l instanceof t&&l.contains(e,!0)))}complexity(){return this._objects.reduce(((e,t)=>e+(t.complexity?t.complexity():0)),0)}sendObjectToBack(e){return!(!e||e===this._objects[0]||(_F(this._objects,e),this._objects.unshift(e),this._onStackOrderChanged(e),0))}bringObjectToFront(e){return!(!e||e===this._objects[this._objects.length-1]||(_F(this._objects,e),this._objects.push(e),this._onStackOrderChanged(e),0))}sendObjectBackwards(e,t){if(!e)return!1;let l=this._objects.indexOf(e);if(0!==l){let n=this.findNewLowerIndex(e,l,t);return _F(this._objects,e),this._objects.splice(n,0,e),this._onStackOrderChanged(e),!0}return!1}bringObjectForward(e,t){if(!e)return!1;let l=this._objects.indexOf(e);if(l!==this._objects.length-1){let n=this.findNewUpperIndex(e,l,t);return _F(this._objects,e),this._objects.splice(n,0,e),this._onStackOrderChanged(e),!0}return!1}moveObjectTo(e,t){return e!==this._objects[t]&&(_F(this._objects,e),this._objects.splice(t,0,e),this._onStackOrderChanged(e),!0)}findNewLowerIndex(e,t,l){let n;if(l){n=t;for(let l=t-1;l>=0;--l)if(e.isOverlapping(this._objects[l])){n=l;break}}else n=t-1;return n}findNewUpperIndex(e,t,l){let n;if(l){n=t;for(let l=t+1;l<this._objects.length;++l)if(e.isOverlapping(this._objects[l])){n=l;break}}else n=t+1;return n}collectObjects({left:e,top:t,width:l,height:n},{includeIntersecting:V=!0}={}){let i=[],a=new PF(e,t),r=a.add(new PF(l,n));for(let e=this._objects.length-1;e>=0;e--){let t=this._objects[e];t.selectable&&t.visible&&(V&&t.intersectsWithRect(a,r)||t.isContainedWithinRect(a,r)||V&&t.containsPoint(a)||V&&t.containsPoint(r))&&i.push(t)}return i}}return t}var eN=class extends OF{_setOptions(e={}){for(let t in e)this.set(t,e[t])}_setObject(e){for(let t in e)this._set(t,e[t])}set(e,t){return"object"==typeof e?this._setObject(e):this._set(e,t),this}_set(e,t){this[e]=t}toggle(e){let t=this.get(e);return"boolean"==typeof t&&this.set(e,!t),this}get(e){return this[e]}};function tN(e){return hF().requestAnimationFrame(e)}function lN(e){return hF().cancelAnimationFrame(e)}var nN=0,VN=()=>nN++,iN=()=>{let e=oF().createElement("canvas");if(!e||void 0===e.getContext)throw new nF("Failed to create `canvas` element");return e},aN=()=>oF().createElement("img"),rN=e=>{var t;let l=sN(e);return null==(t=l.getContext("2d"))||t.drawImage(e,0,0),l},sN=e=>{let t=iN();return t.width=e.width,t.height=e.height,t},oN=(e,t,l)=>e.toDataURL(`image/${t}`,l),hN=(e,t,l)=>
1new Promise(((n,V)=>{e.toBlob(n,`image/${t}`,l)})),dN=e=>e*mF,RN=e=>e/mF,UN=e=>e.every(((e,t)=>e===FF[t])),cN=(e,t,l)=>new PF(e).transform(t,l),pN=e=>{let t=1/(e[0]*e[3]-e[1]*e[2]),l=[t*e[3],-t*e[1],-t*e[2],t*e[0],0,0],{x:n,y:V}=new PF(e[4],e[5]).transform(l,!0);return l[4]=-n,l[5]=-V,l},ZN=(e,t,l)=>[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],l?0:e[0]*t[4]+e[2]*t[5]+e[4],l?0:e[1]*t[4]+e[3]*t[5]+e[5]],WN=(e,t)=>e.reduceRight(((e,l)=>l&&e?ZN(l,e,t):l||e),void 0)||FF.concat(),mN=([e,t])=>Math.atan2(t,e),FN=([e,t])=>Math.sqrt(e*e+t*t),NN=([,,e,t])=>Math.sqrt(e*e+t*t),uN=e=>{let t=mN(e),l=e[0]**2+e[1]**2,n=Math.sqrt(l),V=(e[0]*e[3]-e[2]*e[1])/n,i=Math.atan2(e[0]*e[2]+e[1]*e[3],l);return{angle:RN(t),scaleX:n,scaleY:V,skewX:RN(i),skewY:0,translateX:e[4]||0,translateY:e[5]||0}},EN=(e,t=0)=>[1,0,0,1,e,t];function bN({angle:e=0}={},{x:t=0,y:l=0}={}){let n=dN(e),V=LF(n),i=KF(n);return[V,i,-i,V,t?t-(V*t-i*l):0,l?l-(i*t+V*l):0]}var SN=(e,t=e)=>[e,0,0,t,0,0],JN=e=>Math.tan(dN(e)),TN=e=>[1,0,JN(e),1,0,0],GN=e=>[1,JN(e),0,1,0,0],MN=({scaleX:e=1,scaleY:t=1,flipX:l=!1,flipY:n=!1,skewX:V=0,skewY:i=0})=>{let a=SN(l?-e:e,n?-t:t);return V&&(a=ZN(a,TN(V),!0)),i&&(a=ZN(a,GN(i),!0)),a},kN=e=>{let{translateX:t=0,translateY:l=0,angle:n=0}=e,V=EN(t,l);n&&(V=ZN(V,bN({angle:n})));let i=MN(e);return UN(i)||(V=ZN(V,i)),V},YN=(e,{signal:t,crossOrigin:l=null}={})=>new Promise((function(n,V){if(t&&t.aborted)return V(new VF("loadImage"));let i,a=aN();t&&(i=function(e){a.src="",V(e)},t.addEventListener("abort",i,{once:!0}));let r=function(){a.onload=a.onerror=null,i&&t?.removeEventListener("abort",i),n(a)};e?(a.onload=r,a.onerror=function(){i&&t?.removeEventListener("abort",i),V(new nF(`Error loading ${a.src}`))},l&&(a.crossOrigin=l),a.src=e):r()})),xN=(e,{signal:t,reviver:l=cF}={})=>
1new Promise(((n,V)=>{let i=[];t&&t.addEventListener("abort",V,{once:!0}),Promise.allSettled(e.map((e=>IF.getClass(e.type).fromObject(e,{signal:t})))).then((async t=>{for(let[n,V]of t.entries())if("fulfilled"===V.status&&(await l(e[n],V.value),i.push(V.value)),"rejected"===V.status){let t=await l(e[n],void 0,V.reason);t&&i.push(t)}n(i)})).catch((e=>{i.forEach((e=>{e.dispose&&e.dispose()})),V(e)})).finally((()=>{t&&t.removeEventListener("abort",V)}))})),QN=(e,{signal:t}={})=>new Promise(((l,n)=>{let V=[];t&&t.addEventListener("abort",n,{once:!0});let i=Object.values(e).map((e=>e&&e.type&&IF.has(e.type)?xN([e],{signal:t}).then((([e])=>(V.push(e),e))):e)),a=Object.keys(e);Promise.all(i).then((e=>e.reduce(((e,t,l)=>(e[a[l]]=t,e)),{}))).then(l).catch((e=>{V.forEach((e=>{e.dispose&&e.dispose()})),n(e)})).finally((()=>{t&&t.removeEventListener("abort",n)}))})),XN=(e,t=[])=>t.reduce(((t,l)=>(l in e&&(t[l]=e[l]),t)),{}),wN=(e,t)=>Object.keys(e).reduce(((l,n)=>(t(e[n],n,e)&&(l[n]=e[n]),l)),{}),fN=(e,t)=>parseFloat(Number(e).toFixed(t)),zN=e=>"matrix("+e.map((e=>fN(e,tF.NUM_FRACTION_DIGITS))).join(" ")+")",yN=e=>!!e&&void 0!==e.toLive,CN=e=>!!e&&"function"==typeof e.toObject,jN=e=>!!e&&void 0!==e.offsetX&&"source"in e,gN=e=>!!e&&"multiSelectionStacking"in e;function BN(e){let t=e&&HN(e),l=0,n=0;if(!e||!t)return{left:l,top:n};let V=e,i=t.documentElement,a=t.body||{scrollLeft:0,scrollTop:0};for(;V&&(V.parentNode||V.host)&&(V=V.parentNode||V.host,V===t?(l=a.scrollLeft||i.scrollLeft||0,n=a.scrollTop||i.scrollTop||0):(l+=V.scrollLeft||0,n+=V.scrollTop||0),1!==V.nodeType||"fixed"!==V.style.position););return{left:l,top:n}}var HN=e=>e.ownerDocument||null,vN=e=>{var t;return(null==(t=e.ownerDocument)?void 0:t.defaultView)||null},IN=(e,t,{width:l,height:n},V=1)=>{e.width=l,e.height=n,V>1&&(e.setAttribute("width",(l*V).toString()),e.setAttribute("height",(n*V).toString()),t.scale(V,V))},DN=(e,{width:t,height:l})=>{t&&(e.style.width="number"==typeof t?`${t}px`:t),l&&(e.style.height="number"==typeof l?`${l}px`:l)};function ON(e){return void 0!==e.onselectstart&&(e.onselectstart=()=>!1),e.style.userSelect=SF,e}var _N,LN=class{constructor(e){qm(this,"_originalCanvasStyle",void 0),qm(this,"lower",void 0);let t=this.createLowerCanvas(e);this.lower={el:t,ctx:t.getContext("2d")}}createLowerCanvas(e){let t=(l=e)&&void 0!==l.getContext?e:e&&oF().getElementById(e)||iN();var l;if(t.hasAttribute("data-fabric"))throw new nF("Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?");return this._originalCanvasStyle=t.style.cssText,t.setAttribute("data-fabric","main"),t.classList.add("lower-canvas"),t}cleanupDOM({width:e,height:t}){let{el:l}=this.lower;l.classList.remove("lower-canvas"),l.removeAttribute("data-fabric"),l.setAttribute("width",`${e}`),l.setAttribute("height",`${t}`),l.style.cssText=this._originalCanvasStyle||"",this._originalCanvasStyle=void 0}setDimensions(e,t){let{el:l,ctx:n}=this.lower;IN(l,n,e,t)}setCSSDimensions(e){DN(this.lower.el,e)}calcOffset(){return function(e){var t;let l=e&&HN(e),n={left:0,top:0};if(!l)return n;let V=(null==(t=vN(e))?void 0:t.getComputedStyle(e,null))||{};n.left+=parseInt(V.borderLeftWidth,10)||0,n.top+=parseInt(V.borderTopWidth,10)||0,n.left+=parseInt(V.paddingLeft,10)||0,n.top+=parseInt(V.paddingTop,10)||0;let i={left:0,top:0},a=l.documentElement;void 0!==e.getBoundingClientRect&&(i=e.getBoundingClientRect());let r=BN(e);return{left:i.left+r.left-(a.clientLeft||0)+n.left,top:i.top+r.top-(a.clientTop||0)+n.top}}(this.lower.el)}dispose(){sF().dispose(this.lower.el),delete this.lower}},KN={backgroundVpt:!0,backgroundColor:"",overlayVpt:!0,overlayColor:"",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...FF],patternQuality:"best"},PN=Pm({capitalize:()=>AN,escapeXml:()=>qN,graphemeSplit:()=>$N}),AN=(e,t=!1)=>`${e.charAt(0).toUpperCase()}${t?e.slice(1):e.slice(1).toLowerCase()}`,qN=e=>e.toString().replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),$N=e=>{if(_N||_N||(_N="Intl"in hF()&&"Segmenter"in Intl&&new Intl.Segmenter(void 0,{granularity:"grapheme"})),_N){let t=_N.segment(e);return Array.from(t).map((({segment:e})=>e))}return eu(e)},eu=e=>{let t=[];for(let l,n=0;n<e.length;
vendor: 9,800 bytes, line 1
1n++)!1!==(l=tu(e,n))&&t.push(l);return t},tu=(e,t)=>{let l=e.charCodeAt(t);if(isNaN(l))return"";if(l<55296||l>57343)return e.charAt(t);if(55296<=l&&l<=56319){if(e.length<=t+1)throw"High surrogate without following low surrogate";let l=e.charCodeAt(t+1);if(56320>l||l>57343)throw"High surrogate without following low surrogate";return e.charAt(t)+e.charAt(t+1)}if(0===t)throw"Low surrogate without preceding high surrogate";let n=e.charCodeAt(t-1);if(55296>n||n>56319)throw"Low surrogate without preceding high surrogate";return!1},lu=class e extends($F(eN)){get lowerCanvasEl(){var e;return null==(e=this.elements.lower)?void 0:e.el}get contextContainer(){var e;return null==(e=this.elements.lower)?void 0:e.ctx}static getDefaults(){return e.ownDefaults}constructor(e,t={}){super(),Object.assign(this,this.constructor.getDefaults()),this.set(t),this.initElements(e),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(e){this.elements=new LN(e)}add(...e){let t=super.add(...e);return e.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(e,...t){let l=super.insertAt(e,...t);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),l}remove(...e){let t=super.remove(...e);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(e){e.canvas&&e.canvas!==this&&(lF("warn","Canvas is trying to add an object that belongs to a different canvas.\nResulting to default behavior: removing object from previous canvas and adding to new canvas"),e.canvas.remove(e)),e._set("canvas",this),e.setCoords(),this.fire("object:added",{target:e}),e.fire("added",{target:this})}_onObjectRemoved(e){e._set("canvas",void 0),this.fire("object:removed",{target:e}),e.fire("removed",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?dF():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}_setDimensionsImpl(e,{cssOnly:t=!1,backstoreOnly:l=!1}={}){if(!t){let t={width:this.width,height:this.height,...e};this.elements.setDimensions(t,this.getRetinaScaling()),this.hasLostContext=!0,this.width=t.width,this.height=t.height}l||this.elements.setCSSDimensions(e),this.calcOffset()}setDimensions(e,t){this._setDimensionsImpl(e,t),t&&t.cssOnly||this.requestRenderAll()}getZoom(){return FN(this.viewportTransform)}setViewportTransform(e){this.viewportTransform=e,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(e,t){let l=e,n=[...this.viewportTransform],V=cN(e,pN(n));n[0]=t,n[3]=t;let i=cN(V,n);n[4]+=l.x-i.x,n[5]+=l.y-i.y,this.setViewportTransform(n)}setZoom(e){this.zoomToPoint(new PF(0,0),e)}absolutePan(e){let t=[...this.viewportTransform];return t[4]=-e.x,t[5]=-e.y,this.setViewportTransform(t)}relativePan(e){return this.absolutePan(new PF(-e.x-this.viewportTransform[4],-e.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(e){e.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor="",this.overlayColor="",this.clearContext(this.getContext()),this.fire("canvas:cleared"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=tN((()=>this.renderAndReset())))}calcViewportBoundaries(){let e=this.width,t=this.height,l=pN(this.viewportTransform),n=cN({x:0,y:0},l),V=cN({x:e,y:t},l),i=n.min(V),a=n.max(V);return this.vptCoords={tl:i,tr:new PF(a.x,i.y),bl:new PF(i.x,a.y),br:a}}cancelRequestedRender(){this.nextRenderHandle&&(lN(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(e){}renderCanvas(e,t){if(this.destroyed)return;let l=this.viewportTransform,n=this.clipPath;this.calcViewportBoundaries(),this.clearContext(e),e.imageSmoothingEnabled=this.imageSmoothingEnabled,e.patternQuality=this.patternQuality,this.fire("before:render",{ctx:e}),this._renderBackground(e),e.save(),e.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._renderObjects(e,t),e.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(e),n&&(n._set("canvas",this),n.shouldCache(),n._transformDone=!0,n.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(e,n)),this._renderOverlay(e),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(e),this.fire("after:render",{ctx:e}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(e,t){let l=this.viewportTransform;e.save(),e.transform(...l),e.globalCompositeOperation="destination-in",t.transform(e),e.scale(1/t.zoomX,1/t.zoomY),e.drawImage(t._cacheCanvas,-t.cacheTranslationX,-t.cacheTranslationY),e.restore()}_renderObjects(e,t){for(let l=0,n=t.length;l<n;++l)t[l]&&t[l].render(e)}_renderBackgroundOrOverlay(e,t){let l=this[`${t}Color`],n=this[`${t}Image`],V=this.viewportTransform,i=this[`${t}Vpt`];if(!l&&!n)return;let a=yN(l);if(l){if(e.save(),e.beginPath(),e.moveTo(0,0),e.lineTo(this.width,0),e.lineTo(this.width,this.height),e.lineTo(0,this.height),e.closePath(),e.fillStyle=a?l.toLive(e):l,i&&e.transform(...V),a){e.transform(1,0,0,1,l.offsetX||0,l.offsetY||0);let t=l.gradientTransform||l.patternTransform;t&&e.transform(...t)}e.fill(),e.restore()}if(n){e.save();let{skipOffscreen:t}=this;this.skipOffscreen=i,i&&e.transform(...V),n.render(e),this.skipOffscreen=t,e.restore()}}_renderBackground(e){this._renderBackgroundOrOverlay(e,"background")}_renderOverlay(e){this._renderBackgroundOrOverlay(e,"overlay")}getCenterPoint(){return new PF(this.width/2,this.height/2)}centerObjectH(e){return this._centerObject(e,new PF(this.getCenterPoint().x,e.getCenterPoint().y))}centerObjectV(e){return this._centerObject(e,new PF(e.getCenterPoint().x,this.getCenterPoint().y))}centerObject(e){return this._centerObject(e,this.getCenterPoint())}viewportCenterObject(e){return this._centerObject(e,this.getVpCenter())}viewportCenterObjectH(e){return this._centerObject(e,new PF(this.getVpCenter().x,e.getCenterPoint().y))}viewportCenterObjectV(e){return this._centerObject(e,new PF(e.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return cN(this.getCenterPoint(),pN(this.viewportTransform))}_centerObject(e,t){e.setXY(t,NF,NF),e.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(e){return this.toDatalessObject(e)}toObject(e){return this._toObjectMethod("toObject",e)}toJSON(){return this.toObject()}toDatalessObject(e){return this._toObjectMethod("toDatalessObject",e)}_toObjectMethod(e,t){let l=this.clipPath,n=l&&!l.excludeFromExport?this._toObject(l,e,t):null;return{version:UF,...XN(this,t),objects:this._objects.filter((e=>!e.excludeFromExport)).map((l=>this._toObject(l,e,t))),...this.__serializeBgOverlay(e,t),...n?{clipPath:n}:null}}_toObject(e,t,l){let n;this.includeDefaultValues||(n=e.includeDefaultValues,e.includeDefaultValues=!1);let V=e[t](l);return this.includeDefaultValues||(e.includeDefaultValues=!!n),V}__serializeBgOverlay(e,t){let l={},n=this.backgroundImage,V=this.overlayImage,i=this.backgroundColor,a=this.overlayColor;return yN(i)?i.excludeFromExport||(l.background=i.toObject(t)):i&&(l.background=i),yN(a)?a.excludeFromExport||(l.overlay=a.toObject(t)):a&&(l.overlay=a),n&&!n.excludeFromExport&&(l.backgroundImage=this._toObject(n,e,t)),V&&!V.excludeFromExport&&(l.overlayImage=this._toObject(V,e,t)),l}toSVG(e={},t){e.reviver=t;let l=[];var n;return this._setSVGPreamble(l,e),this._setSVGHeader(l,e),this.clipPath&&l.push(`<g clip-path="url(#${qN(null==(n=this.clipPath.clipPathId)?"":n)})" >\n`),this._setSVGBgOverlayColor(l,"background"),this._setSVGBgOverlayImage(l,"backgroundImage",t),this._setSVGObjects(l,t),this.clipPath&&l.push("</g>\n"),this._setSVGBgOverlayColor(l,"overlay"),this._setSVGBgOverlayImage(l,"overlayImage",t),l.push("</svg>"),l.join("")}_setSVGPreamble(e,t){t.suppressPreamble||e.push('<?xml version="1.0" encoding="',t.encoding||"UTF-8",'" standalone="no" ?>\n','<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" ','"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')}_setSVGHeader(e,t){let l,n=t.width||`${this.width}`,V=t.height||`${this.height}`,i=tF.NUM_FRACTION_DIGITS,a=t.viewBox;if(a)l=`viewBox="${a.x} ${a.y} ${a.width} ${a.height}" `;else if(this.svgViewportTransformation){let e=this.viewportTransform;l=`viewBox="${fN(-e[4]/e[0],i)} ${fN(-e[5]/e[3],i)} ${fN(this.width/e[0],i)} ${fN(this.height/e[3],i)}" `}else l=`viewBox="0 0 ${this.width} ${this.height}" `;e.push("<svg ",'xmlns="http://www.w3.org/2000/svg" ','xmlns:xlink="http://www.w3.org/1999/xlink" ','version="1.1" ','width="',n,'" ','height="',V,'" ',l,'xml:space="preserve">\n',"<desc>Created with Fabric.js ",UF,"</desc>\n","<defs>\n",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(t),"</defs>\n")}createSVGClipPathMarkup(e){let t=this.clipPath;return t?(t.clipPathId=`CLIPPATH_${VN()}`,`<clipPath id="${t.clipPathId}" >\n${t.toClipPathSVG(e.reviver)}</clipPath>\n`):""}createSVGRefElementsMarkup(){return["background","overlay"].map((e=>{let t=this[`${e}Color`];if(yN(t)){let l=this[`${e}Vpt`],n=this.viewportTransform,V={isType:()=>!1,width:this.width/(l?n[0]:1),height:this.height/(l?n[3]:1)};return t.toSVG(V,{additionalTransform:l?zN(n):""})}})).join("")}createSVGFontFacesMarkup(){let e=[],t={},l=tF.fontPaths;
1this._objects.forEach((function t(l){e.push(l),qF(l)&&l._objects.forEach(t)})),e.forEach((e=>{if(!(n=e)||"function"!=typeof n._renderText)return;var n;let{styles:V,fontFamily:i}=e;!t[i]&&l[i]&&(t[i]=!0,V&&Object.values(V).forEach((e=>{Object.values(e).forEach((({fontFamily:e=""})=>{!t[e]&&l[e]&&(t[e]=!0)}))})))}));let n=Object.keys(t).map((e=>`\t\t@font-face {\n\t\t\tfont-family: '${e}';\n\t\t\tsrc: url('${l[e]}');\n\t\t}\n`)).join("");return n?`\t<style type="text/css"><![CDATA[\n${n}]]></style>\n`:""}_setSVGObjects(e,t){this.forEachObject((l=>{l.excludeFromExport||this._setSVGObject(e,l,t)}))}_setSVGObject(e,t,l){e.push(t.toSVG(l))}_setSVGBgOverlayImage(e,t,l){let n=this[t];n&&!n.excludeFromExport&&n.toSVG&&e.push(n.toSVG(l))}_setSVGBgOverlayColor(e,t){let l=this[`${t}Color`];if(l)if(yN(l)){let n=l.repeat||"",V=this.width,i=this.height,a=this[`${t}Vpt`]?zN(pN(this.viewportTransform)):"";e.push(`<rect transform="${a} translate(${V/2},${i/2})" x="${l.offsetX-V/2}" y="${l.offsetY-i/2}" width="${"repeat-y"!==n&&"no-repeat"!==n||!jN(l)?V:l.source.width}" height="${"repeat-x"!==n&&"no-repeat"!==n||!jN(l)?i:l.source.height}" fill="url(#SVGID_${l.id})"></rect>\n`)}else e.push('<rect x="0" y="0" width="100%" height="100%" ','fill="',l,'"',"></rect>\n")}loadFromJSON(e,t,{signal:l}={}){if(!e)return Promise.reject(new nF("`json` is undefined"));let{objects:n=[],...V}="string"==typeof e?JSON.parse(e):e,{backgroundImage:i,background:a,overlayImage:r,overlay:s,clipPath:o}=V,h=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([xN(n,{reviver:t,signal:l}),QN({backgroundImage:i,backgroundColor:a,overlayImage:r,overlayColor:s,clipPath:o},{signal:l})]).then((([e,t])=>(this.clear(),this.add(...e),this.set(V),this.set(t),this.renderOnAddRemove=h,this)))}clone(e){let t=this.toObject(e);return this.cloneWithoutData().loadFromJSON(t)}cloneWithoutData(){let e=sN(this);return new this.constructor(e)}toDataURL(e={}){let{format:t="png",quality:l=1,multiplier:n=1,enableRetinaScaling:V=!1}=e,i=n*(V?this.getRetinaScaling():1);return oN(this.toCanvasElement(i,e),t,l)}toBlob(e={}){let{format:t="png",quality:l=1,multiplier:n=1,enableRetinaScaling:V=!1}=e,i=n*(V?this.getRetinaScaling():1);return hN(this.toCanvasElement(i,e),t,l)}toCanvasElement(e=1,{width:t,height:l,left:n,top:V,filter:i}={}){let a=(t||this.width)*e,r=(l||this.height)*e,s=this.getZoom(),o=this.width,h=this.height,d=this.skipControlsDrawing,R=s*e,U=this.viewportTransform,c=[R,0,0,R,(U[4]-(n||0))*e,(U[5]-(V||0))*e],p=this.enableRetinaScaling,Z=sN({width:a,height:r}),W=i?this._objects.filter((e=>i(e))):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=c,this.width=a,this.height=r,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(Z.getContext("2d"),W),this.viewportTransform=U,this.width=o,this.height=h,this.calcViewportBoundaries(),this.enableRetinaScaling=p,this.skipControlsDrawing=d,Z}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),DF.cancelByCanvas(this),this.disposed=!0,new Promise(((e,t)=>{let l=()=>{this.destroy(),e(!0)};l.kill=t,this.__cleanupTask&&this.__cleanupTask.kill("aborted"),this.destroyed?e(!1):this.nextRenderHandle?this.__cleanupTask=l:l()}))}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject((e=>e.dispose())),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return`#<Canvas (${this.complexity()}): { objects: ${this._objects.length} }>`}};qm(lu,"ownDefaults",KN);var nu=["touchstart","touchmove","touchend"],Vu=e=>{let t=BN(e.target),l=function(e){let t=e.changedTouches;return t&&t[0]?t[0]:e}(e);return new PF(l.clientX+t.left,l.clientY+t.top)},iu=e=>nu.includes(e.type)||"touch"===e.pointerType,au=e=>{e.preventDefault(),e.stopPropagation()},ru=e=>{let t=0,l=0,n=0,V=0;for(let i=0,a=e.length;i<a;i++){let{x:a,y:r}=e[i];(a>n||!i)&&(n=a),(a<t||!i)&&(t=a),(r>V||!i)&&(V=r),(r<l||!i)&&(l=r)}return{left:t,top:l,width:n-t,height:V-l}},su=(e,t)=>{hu(e,ZN(pN(t),e.calcOwnMatrix()))}
1,ou=(e,t)=>hu(e,ZN(t,e.calcOwnMatrix())),hu=(e,t)=>{let{translateX:l,translateY:n,scaleX:V,scaleY:i,...a}=uN(t),r=new PF(l,n);e.flipX=!1,e.flipY=!1,Object.assign(e,a),e.set({scaleX:V,scaleY:i}),e.setPositionByOrigin(r,NF,NF)},du=e=>{e.scaleX=1,e.scaleY=1,e.skewX=0,e.skewY=0,e.flipX=!1,e.flipY=!1,e.rotate(0)},Ru=e=>({scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,angle:e.angle,left:e.left,flipX:e.flipX,flipY:e.flipY,top:e.top}),Uu=(e,t,l)=>{let n=e/2,V=t/2,i=ru([new PF(-n,-V),new PF(n,-V),new PF(-n,V),new PF(n,V)].map((e=>e.transform(l))));return new PF(i.width,i.height)},cu=(e=FF,t=FF)=>ZN(pN(t),e),pu=(e,t=FF,l=FF)=>e.transform(cu(t,l)),Zu=(e,t=FF,l=FF)=>e.transform(cu(t,l),!0),Wu=(e,t,l)=>{let n=cu(t,l);return hu(e,ZN(n,e.calcOwnMatrix())),n},mu={left:-.5,top:-.5,center:0,bottom:.5,right:.5},Fu=e=>"string"==typeof e?mu[e]:e-.5,Nu=new PF(1,0),uu=new PF,Eu=(e,t)=>e.rotate(t),bu=(e,t)=>new PF(t).subtract(e),Su=e=>e.distanceFrom(uu),Ju=(e,t)=>Math.atan2(ku(e,t),Yu(e,t)),Tu=e=>Ju(Nu,e),Gu=e=>e.eq(uu)?e:e.scalarDivide(Su(e)),Mu=(e,t=!0)=>Gu(new PF(-e.y,e.x).scalarMultiply(t?1:-1)),ku=(e,t)=>e.x*t.y-e.y*t.x,Yu=(e,t)=>e.x*t.x+e.y*t.y,xu=(e,t,l)=>{if(e.eq(t)||e.eq(l))return!0;let n=ku(t,l),V=ku(t,e),i=ku(l,e);return n>=0?V>=0&&i<=0:!(V<=0&&i>=0)},Qu="not-allowed";function Xu(e){return Fu(e.originX)===Fu("center")&&Fu(e.originY)===Fu("center")}function wu(e){return.5-Fu(e)}var fu=(e,t)=>e[t],zu=(e,t,l,n)=>({e:e,transform:t,pointer:new PF(l,n)});function yu(e,t,l){let n=l,V=Tu(bu(pu(e.getCenterPoint(),e.canvas.viewportTransform,void 0),n))+WF;return Math.round(V%WF/ZF)}function Cu({target:e,corner:t},l,n,V,i){var a;let r=e.controls[t],s=(null==(a=e.canvas)?void 0:a.getZoom())||1,o=e.padding/s,h=function(e,t,l,n){let V=e.getRelativeCenterPoint(),i=void 0!==l&&void 0!==n?e.translateToGivenOrigin(V,NF,NF,l,n):new PF(e.left,e.top);return(e.angle?t.rotate(-dN(e.angle),V):t).subtract(i)}(e,new PF(V,i),l,n);return h.x>=o&&(h.x-=o),h.x<=-o&&(h.x+=o),h.y>=o&&(h.y-=o),h.y<=o&&(h.y+=o),h.x-=r.offsetX,h.y-=r.offsetY,h}var ju=new RegExp(String.raw`[\0-\x1F\x7F;<>\\]|\/\*|\*\/|url\s*\(|expression\s*\(|(?:java|vb)script\s*:|data\s*:|@import\b`,"iu"),gu=e=>"string"==typeof e&&e.trim().length>0&&!ju.test(e),Bu=(e,t="")=>{let l=Number(e);return Number.isFinite(l)?`${l}`:t},Hu=(e,t="")=>"string"==typeof e&&gu(e)?e:t,vu=e=>e.replace(/\s+/g," "),Iu={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#0FF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000",blanchedalmond:"#FFEBCD",blue:"#00F",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#0FF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#F0F",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#789",lightslategrey:"#789",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#0F0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#F0F",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA5
15D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#639",red:"#F00",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFF",whitesmoke:"#F5F5F5",yellow:"#FF0",yellowgreen:"#9ACD32"},Du=(e,t,l)=>(l<0&&(l+=1),l>1&&--l,l<1/6?e+6*(t-e)*l:l<.5?t:l<2/3?e+(t-e)*(2/3-l)*6:e),Ou=(e,t,l,n)=>{e/=255,t/=255,l/=255;let V,i,a=Math.max(e,t,l),r=Math.min(e,t,l),s=(a+r)/2;if(a===r)V=i=0;else{let n=a-r;switch(i=s>.5?n/(2-a-r):n/(a+r),a){case e:V=(t-l)/n+(t<l?6:0);break;case t:V=(l-e)/n+2;break;case l:V=(e-t)/n+4}V/=6}return[Math.round(360*V),Math.round(100*i),Math.round(100*s),n]},_u=(e="1")=>parseFloat(e)/(e.endsWith("%")?100:1),Lu=e=>Math.min(Math.round(e),255).toString(16).toUpperCase().padStart(2,"0"),Ku=([e,t,l,n=1])=>{let V=Math.round(.3*e+.59*t+.11*l);return[V,V,V,n]},Pu=class e{constructor(t){if(qm(this,"isUnrecognised",!1),t)if(t instanceof e)this.setSource([...t._source]);else if(Array.isArray(t)){let[e,l,n,V=1]=t;this.setSource([e,l,n,V])}else this.setSource(this._tryParsingColor(t));else this.setSource([0,0,0,1])}_tryParsingColor(t){return(t=t.toLowerCase())in Iu&&(t=Iu[t]),"transparent"===t?[255,255,255,0]:e.sourceFromHex(t)||e.sourceFromRgb(t)||e.sourceFromHsl(t)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(e){this._source=e}toRgb(){let[e,t,l]=this.getSource();return`rgb(${e},${t},${l})`}toRgba(){return`rgba(${this.getSource().join(",")})`}toHsl(){let[e,t,l]=Ou(...this.getSource());return`hsl(${e},${t}%,${l}%)`}toHsla(){let[e,t,l,n]=Ou(...this.getSource());return`hsla(${e},${t}%,${l}%,${n})`}toHex(){return this.toHexa().slice(0,6)}toHexa(){let[e,t,l,n]=this.getSource();return`${Lu(e)}${Lu(t)}${Lu(l)}${Lu(Math.round(255*n))}`}getAlpha(){return this.getSource()[3]}setAlpha(e){return this._source[3]=e,this}toGrayscale(){return this.setSource(Ku(this.getSource())),this}toBlackWhite(e){let[t,,,l]=Ku(this.getSource()),n=t<(e||127)?0:255;return this.setSource([n,n,n,l]),this}overlayWith(t){t instanceof e||(t=new e(t));let l=this.getSource(),n=t.getSource(),[V,i,a]=l.map(((e,t)=>Math.round(.5*e+.5*n[t])));return this.setSource([V,i,a,l[3]]),this}static fromRgb(t){return e.fromRgba(t)}static fromRgba(t){return new e(e.sourceFromRgb(t))}static sourceFromRgb(e){let t=vu(e).match(/^rgba?\(\s?(\d{0,3}(?:\.\d+)?%?)\s?[\s|,]\s?(\d{0,3}(?:\.\d+)?%?)\s?[\s|,]\s?(\d{0,3}(?:\.\d+)?%?)\s?(?:\s?[,/]\s?(\d{0,3}(?:\.\d+)?%?)\s?)?\)$/i);if(t){let[e,l,n]=t.slice(1,4).map((e=>{let t=parseFloat(e);return e.endsWith("%")?Math.round(2.55*t):t}));return[e,l,n,_u(t[4])]}}static fromHsl(t){return e.fromHsla(t)}static fromHsla(t){return new e(e.sourceFromHsl(t))}static sourceFromHsl(t){let l=vu(t).match(/^hsla?\(\s?([+-]?\d{0,3}(?:\.\d+)?(?:deg|turn|rad)?)\s?[\s|,]\s?(\d{0,3}(?:\.\d+)?%?)\s?[\s|,]\s?(\d{0,3}(?:\.\d+)?%?)\s?(?:\s?[,/]\s?(\d*(?:\.\d+)?%?)\s?)?\)$/i);if(!l)return;let n,V,i,a=(e.parseAngletoDegrees(l[1])%360+360)%360/360,r=parseFloat(l[2])/100,s=parseFloat(l[3])/100;if(0===r)n=V=i=s;else{let e=s<=.5?s*(r+1):s+r-s*r,t=2*s-e;n=Du(t,e,a+1/3),V=Du(t,e,a),i=Du(t,e,a-1/3)}return[Math.round(255*n),Math.round(255*V),Math.round(255*i),_u(l[4])]}static fromHex(t){return new e(e.sourceFromHex(t))}static sourceFromHex(e){if(e.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){let t,l=e.slice(e.indexOf("#")+1);t=l.length<=4?l.split("").map((e=>e+e)):l.match(/.{2}/g);let[n,V,i,a=255]=t.map((e=>parseInt(e,16)));return[n,V,i,a/255]}}static parseAngletoDegrees(e){let t=e.toLowerCase(),l=parseFloat(t);return t.includes("rad")?RN(l):t.includes("turn")?360*l:l}},Au=e=>{let t=["instantiated_by_use","style","id","class"];switch(e){case"linearGradient":return t.concat(["x1","y1","x2","y2","gradientUnits","gradientTransform"]);case"radialGradient":return t.concat(["gradientUnits","gradientTransform","cx","cy","r","fx","fy","fr"]);case"stop":return t.concat(["offset","stop-color","stop-opacity"])}return t},qu=(e,t=16)=>{let l=/\D{0,2}$/.exec(e),n=parseFloat(e),V=tF.DPI;switch(l?.[0]){case"mm":return n*V/25.4;case"cm":return n*V/2.54;case"in":return n*V;case"pt":return n*V/72;case"pc":return n*V/72*12;case"em":return n*t;default:return n}},$u=e=>{let[t,l]=e.trim().split(" "),[n,V]=(i=t)&&"none"!==i?[i.slice(1,4),i.slice(5,8)]:"none"===i?[i,i]:["Mid","Mid"];var i;return{meetOrSlice:l||"meet",alignX:n,alignY:V}},eE=(e,t,l=!0)=>{let n,V;if(t)if(t.toLive)n=`url(#SVGID_${qN(t.id)})`;else{let e=String(t);if(gu(e)){let t=new Pu(e),l=t.getAlpha();n=t.toRgb(),1!==l&&(V=l.toString())}else n=new Pu("black").toRgb()}else n="none";return l?`${e}: ${n}; ${V?`${e}-opacity: ${V}; `:""}`:`${e}="${n}" ${V?`${e}-opacity="${V}" `:""}`},tE=class{getSvgStyles(e){let t=null==this.fillRule?"nonzero":Hu(this.fillRule),l=null==this.strokeWidth?"0":Bu(this.strokeWidth),n=null==this.strokeDashArray?SF:this.strokeDashArray.every((e=>Number.isFinite(Number(e))))?this.strokeDashArray.join(" "):"",V=null==this.strokeDashOffset?"0":Bu(this.strokeDashOffset),i=null==this.strokeLineCap?"butt":Hu(this.strokeLineCap),a=null==this.strokeLineJoin?"miter":Hu(this.strokeLineJoin),r=null==this.strokeMiterLimit?"4":Bu(this.strokeMiterLimit),s=null==this.opacity?"1":Bu(this.opacity),o=this.visible?"":" visibility: hidden;",h=e?"":this.getSvgFilter(),d=eE(jF,this.fill);return[eE(gF,this.stroke),l?`stroke-width: ${l}; `:"",n?`stroke-dasharray: ${n}; `:"",i?`stroke-linecap: ${i}; `:"",V?`stroke-dashoffset: ${V}; `:"",a?`stroke-linejoin: ${a}; `:"",r?`stroke-miterlimit: ${r}; `:"",d,t?`fill-rule: ${t}; `:"",s?`opacity: ${s};`:"",h,o].map((e=>qN(e))).join("")}getSvgFilter(){return this.shadow?`filter: url(#SVGID_${qN(this.shadow.id)});`:""}
1getSvgCommons(){return[this.id?`id="${qN(String(this.id))}" `:"",this.clipPath?`clip-path="url(#${qN(this.clipPath.clipPathId)})" `:""].join("")}getSvgTransform(e,t=""){return`transform="${zN(e?this.calcTransformMatrix():this.calcOwnMatrix())}${t}" `}_toSVG(e){return[""]}toSVG(e){return this._createBaseSVGMarkup(this._toSVG(e),{reviver:e})}toClipPathSVG(e){return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(e),{reviver:e})}_createBaseClipPathSVGMarkup(e,{reviver:t,additionalTransform:l=""}={}){let n=[this.getSvgTransform(!0,l),this.getSvgCommons()].join(""),V=e.indexOf("COMMON_PARTS");return e[V]=n,t?t(e.join("")):e.join("")}_createBaseSVGMarkup(e,{noStyle:t,reviver:l,withShadow:n,additionalTransform:V}={}){let i,a=t?"":`style="${this.getSvgStyles()}" `,r=n?`style="${this.getSvgFilter()}" `:"",s=this.clipPath,o=this.strokeUniform?'vector-effect="non-scaling-stroke" ':"",h=s&&s.absolutePositioned,d=this.stroke,R=this.fill,U=this.shadow,c=[],p=e.indexOf("COMMON_PARTS");return s&&(s.clipPathId=`CLIPPATH_${VN()}`,i=`<clipPath id="${s.clipPathId}" >\n${s.toClipPathSVG(l)}</clipPath>\n`),h&&c.push("<g ",r,this.getSvgCommons()," >\n"),c.push("<g ",this.getSvgTransform(!1),h?"":r+this.getSvgCommons()," >\n"),e[p]=[a,o,t?"":this.addPaintOrder()," ",V?`transform="${V}" `:""].join(""),yN(R)&&c.push(R.toSVG(this)),yN(d)&&c.push(d.toSVG(this)),U&&c.push(U.toSVG(this)),s&&c.push(i),c.push(e.join("")),c.push("</g>\n"),h&&c.push("</g>\n"),l?l(c.join("")):c.join("")}addPaintOrder(){return"fill"===this.paintFirst?"":` paint-order="${qN(this.paintFirst)}" `}};function lE(e){return RegExp("^("+e.join("|")+")\\b","i")}var nE="textDecorationThickness",VE="textDecorationColor",iE=["fontSize","fontWeight","fontFamily","fontStyle"],aE=["underline","overline","linethrough"],rE=[...iE,"lineHeight","text","charSpacing","textAlign","styles","path","pathStartOffset","pathSide","pathAlign"],sE=[...rE,...aE,"textBackgroundColor","direction",nE,VE],oE=[...iE,...aE,gF,"strokeWidth",jF,"deltaY","textBackgroundColor",nE,VE],hE={_reNewline:JF,_reSpacesAndTabs:/[ \t\r]/g,_reSpaceAndTab:/[ \t\r]/,_reWords:/\S+/g,fontSize:40,fontWeight:HF,fontFamily:"Times New Roman",underline:!1,overline:!1,linethrough:!1,textAlign:uF,fontStyle:HF,lineHeight:1.16,textBackgroundColor:"",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:uF,pathAlign:"baseline",charSpacing:0,deltaY:0,direction:"ltr",CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.28167,overline:-.81333},_fontSizeMult:1.13,[nE]:66.667},dE="justify",RE=String.raw`[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?`,UE=String.raw`(?:\s*,?\s+|\s*,\s*)`,cE=RegExp("(normal|italic)?\\s*(normal|small-caps)?\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\s*("+RE+"(?:px|cm|mm|em|pt|pc|in)*)(?:\\/(normal|"+RE+"))?\\s+(.*)"),pE={cx:uF,x:uF,r:"radius",cy:"top",y:"top",display:"visible",visibility:"visible",transform:"transformMatrix","fill-opacity":"fillOpacity","fill-rule":"fillRule","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","letter-spacing":"charSpacing","paint-order":"paintFirst","stroke-dasharray":"strokeDashArray","stroke-dashoffset":"strokeDashOffset","stroke-linecap":"strokeLineCap","stroke-linejoin":"strokeLineJoin","stroke-miterlimit":"strokeMiterLimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-decoration":"textDecoration","text-anchor":"textAnchor",opacity:"opacity","clip-path":"clipPath","clip-rule":"clipRule","vector-effect":"strokeUniform","image-rendering":"imageSmoothing","text-decoration-thickness":nE,"text-decoration-color":VE},ZE="font-size",WE="clip-path",mE=(lE(["path","circle","polygon","polyline","ellipse","rect","line","image","text"]),lE(["symbol","image","marker","pattern","view","svg"]),lE(["symbol","g","a","svg","clipPath","defs"])),FE=(new RegExp(String.raw`^\s*(${RE})${UE}(${RE})${UE}(${RE})${UE}(${RE})\s*$`),"(-?\\d+(?:\\.\\d*)?(?:px)?(?:\\s?|$))?"),NE=RegExp("(?:\\s|^)"+FE+FE+"("+RE+"?(?:px)?)?(?:\\s?|$)(?:$|\\s)"),uE=class e{constructor(t={}){let l="string"==typeof t?e.parseShadow(t):t;Object.assign(this,e.ownDefaults,l),this.id=VN()}static parseShadow(e){let t=e.trim(),[,l=0,n=0,V=0]=(NE.exec(t)||[]).map((e=>parseFloat(e)||0));return{color:(t.replace(NE,"")||"rgb(0,0,0)").trim(),offsetX:l,offsetY:n,blur:V}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")}toSVG(e){let t=Eu(new PF(this.offsetX,this.offsetY),dN(-e.angle)),l=tF.NUM_FRACTION_DIGITS,n=new Pu(this.color),V=40,i=40;return e.width&&e.height&&(V=100*fN((Math.abs(t.x)+this.blur)/e.width,l)+20,i=100*fN((Math.abs(t.y)+this.blur)/e.height,l)+20),e.flipX&&(t.x*=-1),e.flipY&&(t.y*=-1),`<filter id="SVGID_${qN(this.id)}" y="-${i}%" height="${100+2*i}%" x="-${V}%" width="${100+2*V}%" >\n\t<feGaussianBlur in="SourceAlpha" stdDeviation="${fN(this.blur?this.blur/2:0,l)}"></feGaussianBlur>\n\t<feOffset dx="${fN(t.x,l)}" dy="${fN(t.y,l)}" result="oBlur" ></feOffset>\n\t<feFlood flood-color="${n.toRgb()}" flood-opacity="${n.getAlpha()}"/>
1\n\t<feComposite in2="oBlur" operator="in" />\n\t<feMerge>\n\t\t<feMergeNode></feMergeNode>\n\t\t<feMergeNode in="SourceGraphic"></feMergeNode>\n\t</feMerge>\n</filter>\n`}toObject(){let t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},l=e.ownDefaults;return this.includeDefaultValues?t:wN(t,((e,t)=>e!==l[t]))}static async fromObject(e){return new this(e)}};qm(uE,"ownDefaults",{color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),qm(uE,"type","shadow"),IF.setClass(uE,"shadow");var EE=(e,t,l)=>Math.max(e,Math.min(t,l)),bE=["top",uF,fF,zF,"flipX","flipY","originX","originY","angle","opacity","globalCompositeOperation","shadow","visible",yF,CF],SE=[jF,gF,"strokeWidth","strokeDashArray","width","height","paintFirst","strokeUniform","strokeLineCap","strokeDashOffset","strokeLineJoin","strokeMiterLimit","backgroundColor","clipPath"],JE={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:NF,originY:NF,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:jF,fill:"rgb(0,0,0)",fillRule:"nonzero",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,globalCompositeOperation:"source-over",backgroundColor:"",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},TE=Pm({defaultEasing:()=>kE,easeInBack:()=>AE,easeInBounce:()=>tb,easeInCirc:()=>DE,easeInCubic:()=>YE,easeInElastic:()=>LE,easeInExpo:()=>HE,easeInOutBack:()=>$E,easeInOutBounce:()=>lb,easeInOutCirc:()=>_E,easeInOutCubic:()=>QE,easeInOutElastic:()=>PE,easeInOutExpo:()=>IE,easeInOutQuad:()=>ib,easeInOutQuart:()=>fE,easeInOutQuint:()=>CE,easeInOutSine:()=>BE,easeInQuad:()=>nb,easeInQuart:()=>XE,easeInQuint:()=>zE,easeInSine:()=>jE,easeOutBack:()=>qE,easeOutBounce:()=>eb,easeOutCirc:()=>OE,easeOutCubic:()=>xE,easeOutElastic:()=>KE,easeOutExpo:()=>vE,easeOutQuad:()=>Vb,easeOutQuart:()=>wE,easeOutQuint:()=>yE,easeOutSine:()=>gE}),GE=(e,t,l,n)=>(e<Math.abs(t)?(e=t,n=l/4):n=0===t&&0===e?l/WF*Math.asin(1):l/WF*Math.asin(t/e),{a:e,c:t,p:l,s:n}),ME=(e,t,l,n,V)=>e*2**(10*--n)*Math.sin((n*V-t)*WF/l),kE=(e,t,l,n)=>-l*Math.cos(e/n*pF)+l+t,YE=(e,t,l,n)=>l*(e/n)**3+t,xE=(e,t,l,n)=>l*((e/n-1)**3+1)+t,QE=(e,t,l,n)=>(e/=n/2)<1?l/2*e**3+t:l/2*((e-2)**3+2)+t,XE=(e,t,l,n)=>l*(e/=n)*e**3+t,wE=(e,t,l,n)=>-l*((e=e/n-1)*e**3-1)+t,fE=(e,t,l,n)=>(e/=n/2)<1?l/2*e**4+t:-l/2*((e-=2)*e**3-2)+t,zE=(e,t,l,n)=>l*(e/n)**5+t,yE=(e,t,l,n)=>l*((e/n-1)**5+1)+t,CE=(e,t,l,n)=>(e/=n/2)<1?l/2*e**5+t:l/2*((e-2)**5+2)+t,jE=(e,t,l,n)=>-l*Math.cos(e/n*pF)+l+t,gE=(e,t,l,n)=>l*Math.sin(e/n*pF)+t,BE=(e,t,l,n)=>-l/2*(Math.cos(Math.PI*e/n)-1)+t,HE=(e,t,l,n)=>0===e?t:l*2**(10*(e/n-1))+t,vE=(e,t,l,n)=>e===n?t+l:l*-(2**(-10*e/n)+1)+t,IE=(e,t,l,n)=>0===e?t:e===n?t+l:(e/=n/2)<1?l/2*2**(10*(e-1))+t:l/2*-(2**(-10*(e-1))+2)+t,DE=(e,t,l,n)=>-l*(Math.sqrt(1-(e/=n)*e)-1)+t,OE=(e,t,l,n)=>l*Math.sqrt(1-(e=e/n-1)*e)+t,_E=(e,t,l,n)=>(e/=n/2)<1?-l/2*(Math.sqrt(1-e**2)-1)+t:l/2*(Math.sqrt(1-(e-=2)*e)+1)+t,LE=(e,t,l,n)=>{let V=l,i=0;if(0===e)return t;if(1==(e/=n))return t+l;i||(i=.3*n);let{a:a,s:r,p:s}=GE(V,l,i,1.70158);return-ME(a,r,s,e,n)+t},KE=(e,t,l,n)=>{let V=l,i=0;if(0===e)return t;if(1==(e/=n))return t+l;i||(i=.3*n);let{a:a,s:r,p:s,c:o}=GE(V,l,i,1.70158);return a*2**(-10*e)*Math.sin((e*n-r)*WF/s)+o+t},PE=(e,t,l,n)=>{let V=l,i=0;if(0===e)return t;if(2==(e/=n/2))return t+l;i||(i=.3*1.5*n);let{a:a,s:r,p:s,c:o}=GE(V,l,i,1.70158);return e<1?-.5*ME(a,r,s,e,n)+t:a*2**(-10*--e)*Math.sin((e*n-r)*WF/s)*.5+o+t},AE=(e,t,l,n,V=1.70158)=>l*(e/=n)*e*((V+1)*e-V)+t,qE=(e,t,l,n,V=1.70158)=>l*((e=e/n-1)*e*((V+1)*e+V)+1)+t,$E=(e,t,l,n,V=1.70158)=>(e/=n/2)<1?l/2*(e*e*((1+(V*=1.525))*e-V))+t:l/2*((e-=2)*e*((1+(V*=1.525))*e+V)+2)+t,eb=(e,t,l,n)=>(e/=n)<1/2.75?l*(7.5625*e*e)+t:e<2/2.75?l*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?l*(7.5625*(e-=2.25/2.75)*e+.9375)+t:l*(7.5625*(e-=2.625/2.75)*e+.984375)+t,tb=(e,t,l,n)=>l-eb(n-e,0,l,n)+t,lb=(e,t,l,n)=>e<n/2?.5*tb(2*e,0,l,n)+t:.5*eb(2*e-n,0,l,n)+.5*l+t,nb=(e,t,l,n)=>l*(e/=n)*e+t,Vb=(e,t,l,n)=>-l*(e/=n)*(e-2)+t,ib=(e,t,l,n)=>(e/=n/2)<1?l/2*e**2+t:-l/2*(--e*(e-2)-1)+t,ab=()=>!1,rb=class{constructor({startValue:e,byValue:t,duration:l=500,delay:n=0,easing:V=kE,onStart:i=cF,onChange:a=cF,onComplete:r=cF,abort:s=ab,target:o}){qm(this,"_state","pending"),qm(this,"durationProgress",0),qm(this,"valueProgress",0),this.tick=this.tick.bind(this),this.duration=l,this.delay=n,this.easing=V,this._onStart=i,this._onChange=a,this._onComplete=r,this._abort=s,this.target=o,this.startValue=e,this.byValue=t,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return"aborted"===this._state||"completed"===this._state}start(){let e=e=>
1{"pending"===this._state&&(this.startTime=e||+new Date,this._state="running",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?this.timeout=hF().setTimeout((()=>tN(e)),this.delay):tN(e)}tick(e){let t=(e||+new Date)-this.startTime,l=Math.min(t,this.duration);this.durationProgress=l/this.duration;let{value:n,valueProgress:V}=this.calculate(l);this.value=Object.freeze(n),this.valueProgress=V,"aborted"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state="aborted",this.unregister()):t>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state="completed",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister(),this.timeout=null):(this._onChange(this.value,this.valueProgress,this.durationProgress),tN(this.tick)))}register(){DF.push(this)}unregister(){DF.remove(this)}abort(){this._state="aborted",this.unregister(),this.timeout&&hF().clearTimeout(this.timeout)}},sb=class extends rb{constructor({startValue:e=0,endValue:t=100,...l}){super({...l,startValue:e,byValue:t-e})}calculate(e){let t=this.easing(e,this.startValue,this.byValue,this.duration);return{value:t,valueProgress:Math.abs((t-this.startValue)/this.byValue)}}},ob=class extends rb{constructor({startValue:e=[0],endValue:t=[100],...l}){super({...l,startValue:e,byValue:t.map(((t,l)=>t-e[l]))})}calculate(e){let t=this.startValue.map(((t,l)=>this.easing(e,t,this.byValue[l],this.duration,l)));return{value:t,valueProgress:Math.abs((t[0]-this.startValue[0])/this.byValue[0])}}},hb=(e,t,l,n)=>t+l*(1-Math.cos(e/n*pF)),db=e=>e&&((t,l,n)=>e(new Pu(t).toRgba(),l,n)),Rb=class extends rb{constructor({startValue:e,endValue:t,easing:l=hb,onChange:n,onComplete:V,abort:i,...a}){let r=new Pu(e).getSource(),s=new Pu(t).getSource();super({...a,startValue:r,byValue:s.map(((e,t)=>e-r[t])),easing:l,onChange:db(n),onComplete:db(V),abort:db(i)})}calculate(e){let[t,l,n,V]=this.startValue.map(((t,l)=>this.easing(e,t,this.byValue[l],this.duration,l))),i=[...[t,l,n].map(Math.round),EE(0,V,1)];return{value:i,valueProgress:i.map(((e,t)=>0===this.byValue[t]?0:Math.abs((e-this.startValue[t])/this.byValue[t]))).find((e=>0!==e))||0}}};function Ub(e){let t=(e=>Array.isArray(e.startValue)||Array.isArray(e.endValue))(e)?new ob(e):new sb(e);return t.start(),t}function cb(e){let t=new Rb(e);return t.start(),t}var pb=class e{constructor(e){this.status=e,this.points=[]}includes(e){return this.points.some((t=>t.eq(e)))}append(...e){return this.points=this.points.concat(e.filter((e=>!this.includes(e)))),this}static isPointContained(e,t,l,n=!1){if(t.eq(l))return e.eq(t);if(t.x===l.x)return e.x===t.x&&(n||e.y>=Math.min(t.y,l.y)&&e.y<=Math.max(t.y,l.y));if(t.y===l.y)return e.y===t.y&&(n||e.x>=Math.min(t.x,l.x)&&e.x<=Math.max(t.x,l.x));{let V=bu(t,l),i=bu(t,e).divide(V);return n?Math.abs(i.x)===Math.abs(i.y):i.x===i.y&&i.x>=0&&i.x<=1}}static isPointInPolygon(e,t){let l=new PF(e).setX(Math.min(e.x-1,...t.map((e=>e.x)))),n=0;for(let V=0;V<t.length;V++){let i=this.intersectSegmentSegment(t[V],t[(V+1)%t.length],e,l);if(i.includes(e))return!0;n+=+("Intersection"===i.status)}return n%2==1}static intersectLineLine(t,l,n,V,i=!0,a=!0){let r=l.x-t.x,s=l.y-t.y,o=V.x-n.x,h=V.y-n.y,d=t.x-n.x,R=t.y-n.y,U=o*R-h*d,c=r*R-s*d,p=h*r-o*s;if(0!==p){let l=U/p,n=c/p;return(i||0<=l&&l<=1)&&(a||0<=n&&n<=1)?new e("Intersection").append(new PF(t.x+l*r,t.y+l*s)):new e}return new e(0===U||0===c?i||a||e.isPointContained(t,n,V)||e.isPointContained(l,n,V)||e.isPointContained(n,t,l)||e.isPointContained(V,t,l)?"Coincident":void 0:"Parallel")}static intersectSegmentLine(t,l,n,V){return e.intersectLineLine(t,l,n,V,!1,!0)}static intersectSegmentSegment(t,l,n,V){return e.intersectLineLine(t,l,n,V,!1,!1)}static intersectLinePolygon(t,l,n,V=!0){let i=new e,a=n.length;for(let r,s,o,h=0;h<a;h++){if(r=n[h],s=n[(h+1)%a],o=e.intersectLineLine(t,l,r,s,V,!1),"Coincident"===o.status)return o;i.append(...o.points)}return i.points.length>0&&(i.status="Intersection"),i}static intersectSegmentPolygon(t,l,n){return e.intersectLinePolygon(t,l,n,!1)}static intersectPolygonPolygon(t,l){let n=new e,V=t.length,i=[];for(let a=0;a<V;a++){let r=t[a],s=t[(a+1)%V],o=e.intersectSegmentPolygon(r,s,l);"Coincident"===o.status?(i.push(o),n.append(r,s)):n.append(...o.points)}return i.length>0&&i.length===t.length?new e("Coincident"):(n.points.length>0&&(n.status="Intersection"),n)}static intersectPolygonRectangle(t,l,n){let V=l.min(n),i=l.max(n),a=new PF(i.x,V.y),r=new PF(V.x,i.y);return e.intersectPolygonPolygon(t,[V,a,i,r])}},Zb=class extends eN{getX(){return this.getXY().x}setX(e){this.setXY(this.getXY().setX(e))}getY(){return this.getXY().y}setY(e){this.setXY(this.getXY().setY(e))}getRelativeX(){return this.left}setRelativeX(e){this.left=e}getRelativeY(){return this.top}setRelativeY(e){this.top=e}getXY(){let e=this.getRelativeXY();return this.group?cN(e,this.group.calcTransformMatrix()):e}setXY(e,t,l){this.group&&(e=cN(e,pN(this.group.calcTransformMatrix()))),this.setRelativeXY(e,t,l)}getRelativeXY(){return new PF(this.left,this.top)}setRelativeXY(e,t=this.originX,l=this.originY){this.setPositionByOrigin(e,t,l)}isStrokeAccountedForInDimensions(){return!1}getCoords(){let{tl:e,tr:t,br:l,bl:n}=this.aCoords||(this.aCoords=this.calcACoords()),V=[e,t,l,n];if(this.group){let e=this.group.calcTransformMatrix();return V.map((t=>cN(t,e)))}return V}intersectsWithRect(e,t){return"Intersection"===pb.intersectPolygonRectangle(this.getCoords(),e,t).status}intersectsWithObject(e){let t=pb.intersectPolygonPolygon(this.getCoords(),e.getCoords());return"Intersection"===t.status||"Coincident"===t.status||e.isContainedWithinObject(this)||this.isContainedWithinObject(e)}isContainedWithinObject(e){return this.getCoords().every((t=>e.containsPoint(t)))}isContainedWithinRect(e,t){let{left:l,top:n,width:V,height:i}
1=this.getBoundingRect();return l>=e.x&&l+V<=t.x&&n>=e.y&&n+i<=t.y}isOverlapping(e){return this.intersectsWithObject(e)||this.isContainedWithinObject(e)||e.isContainedWithinObject(this)}containsPoint(e){return pb.isPointInPolygon(e,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;let{tl:e,br:t}=this.canvas.vptCoords;return!!this.getCoords().some((l=>l.x<=t.x&&l.x>=e.x&&l.y<=t.y&&l.y>=e.y))||!!this.intersectsWithRect(e,t)||this.containsPoint(e.midPointFrom(t))}isPartiallyOnScreen(){if(!this.canvas)return!1;let{tl:e,br:t}=this.canvas.vptCoords;return!!this.intersectsWithRect(e,t)||this.getCoords().every((l=>(l.x>=t.x||l.x<=e.x)&&(l.y>=t.y||l.y<=e.y)))&&this.containsPoint(e.midPointFrom(t))}getBoundingRect(){return ru(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(e){this._set(fF,e),this._set(zF,e),this.setCoords()}scaleToWidth(e){let t=this.getBoundingRect().width/this.getScaledWidth();return this.scale(e/this.width/t)}scaleToHeight(e){let t=this.getBoundingRect().height/this.getScaledHeight();return this.scale(e/this.height/t)}getCanvasRetinaScaling(){var e;return(null==(e=this.canvas)?void 0:e.getRetinaScaling())||1}getTotalAngle(){return this.group?RN(mN(this.calcTransformMatrix())):this.angle}getViewportTransform(){var e;return(null==(e=this.canvas)?void 0:e.viewportTransform)||FF.concat()}calcACoords(){let e=bN({angle:this.angle}),{x:t,y:l}=this.getRelativeCenterPoint(),n=ZN(EN(t,l),e),V=this._getTransformedDimensions(),i=V.x/2,a=V.y/2;return{tl:cN({x:-i,y:-a},n),tr:cN({x:i,y:-a},n),bl:cN({x:-i,y:a},n),br:cN({x:i,y:a},n)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(e=!1){let t=[];return!e&&this.group&&(t=this.group.transformMatrixKey(e)),t.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,Fu(this.originX),Fu(this.originY)),t}calcTransformMatrix(e=!1){let t=this.calcOwnMatrix();if(e||!this.group)return t;let l=this.transformMatrixKey(e),n=this.matrixCache;return n&&n.key.every(((e,t)=>e===l[t]))?n.value:(this.group&&(t=ZN(this.group.calcTransformMatrix(!1),t)),this.matrixCache={key:l,value:t},t)}calcOwnMatrix(){let e=this.transformMatrixKey(!0),t=this.ownMatrixCache;if(t&&t.key.every(((t,l)=>t===e[l])))return t.value;let l=this.getRelativeCenterPoint(),n=kN({angle:this.angle,translateX:l.x,translateY:l.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY});return this.ownMatrixCache={key:e,value:n},n}_getNonTransformedDimensions(){return new PF(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(e){var t;let l=null==(t=this.canvas)?void 0:t.viewportTransform,n=this._getTransformedDimensions(e);return l?n.multiply(new PF(FN(l),NN(l))).scalarAdd(2*this.padding):n.scalarAdd(2*this.padding)}_getTransformedDimensions(e={}){let t={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth,...e},l=t.strokeWidth,n=l,V=0;this.strokeUniform&&(n=0,V=l);let i,a=t.width+n,r=t.height+n;return i=0===t.skewX&&0===t.skewY?new PF(a*t.scaleX,r*t.scaleY):Uu(a,r,MN(t)),i.scalarAdd(V)}translateToGivenOrigin(e,t,l,n,V){let i=e.x,a=e.y,r=Fu(n)-Fu(t),s=Fu(V)-Fu(l);if(r||s){let e=this._getTransformedDimensions();i+=r*e.x,a+=s*e.y}return new PF(i,a)}translateToCenterPoint(e,t,l){if("center"===t&&"center"===l)return e;let n=this.translateToGivenOrigin(e,t,l,NF,NF);return this.angle?n.rotate(dN(this.angle),e):n}translateToOriginPoint(e,t,l){let n=this.translateToGivenOrigin(e,NF,NF,t,l);return this.angle?n.rotate(dN(this.angle),e):n}getCenterPoint(){let e=this.getRelativeCenterPoint();return this.group?cN(e,this.group.calcTransformMatrix()):e}getRelativeCenterPoint(){return this.translateToCenterPoint(new PF(this.left,this.top),this.originX,this.originY)}getPointByOrigin(e,t){return this.getPositionByOrigin(e,t)}getPositionByOrigin(e,t){return this.translateToOriginPoint(this.getRelativeCenterPoint(),e,t)}setPositionByOrigin(e,t,l){let n=this.translateToCenterPoint(e,t,l),V=this.translateToOriginPoint(n,this.originX,this.originY);this.set({left:V.x,top:V.y})}_getLeftTopCoords(){return this.getPositionByOrigin(uF,"top")}positionByLeftTop(e){return this.setPositionByOrigin(e,uF,"top")}},Wb=class e extends Zb{static getDefaults(){return e.ownDefaults}get type(){let e=this.constructor.type;return"FabricObject"===e?"object":e.toLowerCase()}set type(e){lF("warn","Setting type has no effect",e)}
1constructor(t){super(),qm(this,"_cacheContext",null),Object.assign(this,e.ownDefaults),this.setOptions(t)}_createCacheCanvas(){this._cacheCanvas=iN(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(e){let t=e.width,l=e.height,n=tF.maxCacheSideLimit,V=tF.minCacheSideLimit;if(t<=n&&l<=n&&t*l<=tF.perfLimitSizeTotal)return t<V&&(e.width=V),l<V&&(e.height=V),e;let i=t/l,[a,r]=RF.limitDimsByArea(i),s=EE(V,a,n),o=EE(V,r,n);return t>s&&(e.zoomX/=t/s,e.width=s,e.capped=!0),l>o&&(e.zoomY/=l/o,e.height=o,e.capped=!0),e}_getCacheCanvasDimensions(){let e=this.getTotalObjectScaling(),t=this._getTransformedDimensions({skewX:0,skewY:0}),l=t.x*e.x/this.scaleX,n=t.y*e.y/this.scaleY;return{width:Math.ceil(l+2),height:Math.ceil(n+2),zoomX:e.x,zoomY:e.y,x:l,y:n}}_updateCacheCanvas(){let e=this._cacheCanvas,t=this._cacheContext,{width:l,height:n,zoomX:V,zoomY:i,x:a,y:r}=this._limitCacheSize(this._getCacheCanvasDimensions()),s=l!==e.width||n!==e.height,o=this.zoomX!==V||this.zoomY!==i;if(!e||!t)return!1;if(s||o){l!==e.width||n!==e.height?(e.width=l,e.height=n):(t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,e.width,e.height));let s=a/2,o=r/2;return this.cacheTranslationX=Math.round(e.width/2-s)+s,this.cacheTranslationY=Math.round(e.height/2-o)+o,t.translate(this.cacheTranslationX,this.cacheTranslationY),t.scale(V,i),this.zoomX=V,this.zoomY=i,!0}return!1}setOptions(e={}){this._setOptions(e)}transform(e){let t=this.group&&!this.group._transformDone||this.group&&this.canvas&&e===this.canvas.contextTop,l=this.calcTransformMatrix(!t);e.transform(l[0],l[1],l[2],l[3],l[4],l[5])}getObjectScaling(){if(!this.group)return new PF(Math.abs(this.scaleX),Math.abs(this.scaleY));let e=uN(this.calcTransformMatrix());return new PF(Math.abs(e.scaleX),Math.abs(e.scaleY))}getTotalObjectScaling(){let e=this.getObjectScaling();if(this.canvas){let t=this.canvas.getZoom(),l=this.getCanvasRetinaScaling();return e.scalarMultiply(t*l)}return e}getObjectOpacity(){let e=this.opacity;return this.group&&(e*=this.group.getObjectOpacity()),e}_constrainScale(e){return Math.abs(e)<this.minScaleLimit?e<0?-this.minScaleLimit:this.minScaleLimit:0===e?1e-4:e}_set(e,t){"scaleX"!==e&&"scaleY"!==e||(t=this._constrainScale(t)),"scaleX"===e&&t<0?(this.flipX=!this.flipX,t*=-1):"scaleY"===e&&t<0?(this.flipY=!this.flipY,t*=-1):"shadow"!==e||!t||t instanceof uE||(t=new uE(t));let l=this[e]!==t;return this[e]=t,l&&this.constructor.cacheProperties.includes(e)&&(this.dirty=!0),this.parent&&(this.dirty||l&&this.constructor.stateProperties.includes(e))&&this.parent._set("dirty",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(e){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(e.save(),this._setupCompositeOperation(e),this.drawSelectionBackground(e),this.transform(e),this._setOpacity(e),this._setShadow(e),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(e)):(this._removeCacheCanvas(),this.drawObject(e,!1,{}),this.dirty=!1),e.restore())}drawSelectionBackground(e){}renderCache(e){if(e=e||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){let{zoomX:t,zoomY:l,cacheTranslationX:n,cacheTranslationY:V}=this,{width:i,height:a}=this._cacheCanvas;this.drawObject(this._cacheContext,e.forClipping,{zoomX:t,zoomY:l,cacheTranslationX:n,cacheTranslationY:V,width:i,height:a,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return!!this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth}hasFill(){return!!this.fill&&"transparent"!==this.fill}needsItsOwnCache(){return!!("stroke"===this.paintFirst&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(e,t,l){e.save(),t.inverted?e.globalCompositeOperation="destination-out":e.globalCompositeOperation="destination-in",e.setTransform(1,0,0,1,0,0),e.drawImage(l,0,0),e.restore(
vendor: 4,851 bytes, line 1
1)}drawObject(e,t,l){let n=this.fill,V=this.stroke;t?(this.fill="black",this.stroke="",this._setClippingProperties(e)):this._renderBackground(e),this.fire("before:render",{ctx:e}),this._render(e),this._drawClipPath(e,this.clipPath,l),this.fill=n,this.stroke=V}createClipPathLayer(e,t){let l=sN(t),n=l.getContext("2d");if(n.translate(t.cacheTranslationX,t.cacheTranslationY),n.scale(t.zoomX,t.zoomY),e._cacheCanvas=l,t.parentClipPaths.forEach((e=>{e.transform(n)})),t.parentClipPaths.push(e),e.absolutePositioned){let e=pN(this.calcTransformMatrix());n.transform(e[0],e[1],e[2],e[3],e[4],e[5])}return e.transform(n),e.drawObject(n,!0,t),l}_drawClipPath(e,t,l){if(!t)return;t._transformDone=!0;let n=this.createClipPathLayer(t,l);this.drawClipPathOnCache(e,t,n)}drawCacheOnCanvas(e){e.scale(1/this.zoomX,1/this.zoomY),e.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(e=!1){if(this.isNotVisible())return!1;let t=this._cacheCanvas,l=this._cacheContext;return!(!t||!l||e||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(t&&l&&!e&&(l.save(),l.setTransform(1,0,0,1,0,0),l.clearRect(0,0,t.width,t.height),l.restore()),!0)}_renderBackground(e){if(!this.backgroundColor)return;let t=this._getNonTransformedDimensions();e.fillStyle=this.backgroundColor,e.fillRect(-t.x/2,-t.y/2,t.x,t.y),this._removeShadow(e)}_setOpacity(e){this.group&&!this.group._transformDone?e.globalAlpha=this.getObjectOpacity():e.globalAlpha*=this.opacity}_setStrokeStyles(e,t){let l=t.stroke;l&&(e.lineWidth=t.strokeWidth,e.lineCap=t.strokeLineCap,e.lineDashOffset=t.strokeDashOffset,e.lineJoin=t.strokeLineJoin,e.miterLimit=t.strokeMiterLimit,yN(l)?"percentage"===l.gradientUnits||l.gradientTransform||l.patternTransform?this._applyPatternForTransformedGradient(e,l):(e.strokeStyle=l.toLive(e),this._applyPatternGradientTransform(e,l)):e.strokeStyle=t.stroke)}_setFillStyles(e,{fill:t}){t&&(yN(t)?(e.fillStyle=t.toLive(e),this._applyPatternGradientTransform(e,t)):e.fillStyle=t)}_setClippingProperties(e){e.globalAlpha=1,e.strokeStyle="transparent",e.fillStyle="#000000"}_setLineDash(e,t){t&&0!==t.length&&e.setLineDash(t)}_setShadow(e){if(!this.shadow)return;let t=this.shadow,l=this.canvas,n=this.getCanvasRetinaScaling(),[V,,,i]=l?.viewportTransform||FF,a=V*n,r=i*n,s=t.nonScaling?new PF(1,1):this.getObjectScaling();e.shadowColor=t.color,e.shadowBlur=t.blur*tF.browserShadowBlurConstant*(a+r)*(s.x+s.y)/4,e.shadowOffsetX=t.offsetX*a*s.x,e.shadowOffsetY=t.offsetY*r*s.y}_removeShadow(e){this.shadow&&(e.shadowColor="",e.shadowBlur=e.shadowOffsetX=e.shadowOffsetY=0)}_applyPatternGradientTransform(e,t){if(!yN(t))return{offsetX:0,offsetY:0};let l=t.gradientTransform||t.patternTransform,n=-this.width/2+t.offsetX||0,V=-this.height/2+t.offsetY||0;return"percentage"===t.gradientUnits?e.transform(this.width,0,0,this.height,n,V):e.transform(1,0,0,1,n,V),l&&e.transform(l[0],l[1],l[2],l[3],l[4],l[5]),{offsetX:n,offsetY:V}}_renderPaintInOrder(e){"stroke"===this.paintFirst?(this._renderStroke(e),this._renderFill(e)):(this._renderFill(e),this._renderStroke(e))}_render(e){}_renderFill(e){this.fill&&(e.save(),this._setFillStyles(e,this),"evenodd"===this.fillRule?e.fill("evenodd"):e.fill(),e.restore())}_renderStroke(e){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(e),e.save(),this.strokeUniform){let t=this.getObjectScaling();e.scale(1/t.x,1/t.y)}this._setLineDash(e,this.strokeDashArray),this._setStrokeStyles(e,this),e.stroke(),e.restore()}}_applyPatternForTransformedGradient(e,t){var l;let n=this._limitCacheSize(this._getCacheCanvasDimensions()),V=this.getCanvasRetinaScaling(),i=n.x/this.scaleX/V,a=n.y/this.scaleY/V,r=sN({width:Math.ceil(i),height:Math.ceil(a)}),s=r.getContext("2d");s&&(s.beginPath(),s.moveTo(0,0),s.lineTo(i,0),s.lineTo(i,a),s.lineTo(0,a),s.closePath(),s.translate(i/2,a/2),s.scale(n.zoomX/this.scaleX/V,n.zoomY/this.scaleY/V),this._applyPatternGradientTransform(s,t),s.fillStyle=t.toLive(e),s.fill(),e.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),e.scale(V*this.scaleX/n.zoomX,V*this.scaleY/n.zoomY),e.strokeStyle=null==(l=s.createPattern(r,"no-repeat"))?"":l)}_findCenterFromElement(){return new PF(this.left+this.width/2,this.top+this.height/2)}clone(e){let t=this.toObject(e);return this.constructor.fromObject(t)}cloneAsImage(e){let t=this.toCanvasElement(e);return new(IF.getClass("image"))(t)}toCanvasElement(e={}){let t=Ru(this),l=this.group,n=this.shadow,V=Math.abs,i=e.enableRetinaScaling?dF():1,a=(e.multiplier||1)*i,r=e.canvasProvider||(e=>new lu(e,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,e.withoutTransform&&du(this),e.withoutShadow&&(this.shadow=null),e.viewportTransform&&Wu(this,this.getViewportTransform()),this.setCoords();
1let s=iN(),o=this.getBoundingRect(),h=this.shadow,d=new PF;if(h){let e=h.blur,t=h.nonScaling?new PF(1,1):this.getObjectScaling();d.x=2*Math.round(V(h.offsetX)+e)*V(t.x),d.y=2*Math.round(V(h.offsetY)+e)*V(t.y)}let R=o.width+d.x,U=o.height+d.y;s.width=Math.ceil(R),s.height=Math.ceil(U);let c=r(s);"jpeg"===e.format&&(c.backgroundColor="#fff"),this.setPositionByOrigin(new PF(c.width/2,c.height/2),NF,NF);let p=this.canvas;c._objects=[this],this.set("canvas",c),this.setCoords();let Z=c.toCanvasElement(a||1,e);return this.set("canvas",p),this.shadow=n,l&&(this.group=l),this.set(t),this.setCoords(),c._objects=[],c.destroy(),Z}toDataURL(e={}){return oN(this.toCanvasElement(e),e.format||"png",e.quality||1)}toBlob(e={}){return hN(this.toCanvasElement(e),e.format||"png",e.quality||1)}isType(...e){return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(e){let{centeredRotation:t,originX:l,originY:n}=this;if(t){let{x:e,y:t}=this.getRelativeCenterPoint();this.originX=NF,this.originY=NF,this.left=e,this.top=t}if(this.set("angle",e),t){let{x:e,y:t}=this.getPositionByOrigin(l,n);this.left=e,this.top=t,this.originX=l,this.originY=n}}setOnGroup(){}_setupCompositeOperation(e){this.globalCompositeOperation&&(e.globalCompositeOperation=this.globalCompositeOperation)}dispose(){DF.cancelByTarget(this),this.off(),this._set("canvas",void 0),this._cacheCanvas&&sF().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(e,t){return Object.entries(e).reduce(((e,[l,n])=>(e[l]=this._animate(l,n,t),e)),{})}_animate(e,t,l={}){let n=e.split("."),V=this.constructor.colorProperties.includes(n[n.length-1]),{abort:i,startValue:a,onChange:r,onComplete:s}=l,o={...l,target:this,startValue:a??n.reduce(((e,t)=>e[t]),this),endValue:t,abort:i?.bind(this),onChange:(e,t,l)=>{n.reduce(((t,l,V)=>(V===n.length-1&&(t[l]=e),t[l])),this),r&&r(e,t,l)},onComplete:(e,t,l)=>{this.setCoords(),s&&s(e,t,l)}};return V?cb(o):Ub(o)}isDescendantOf(e){let{parent:t,group:l}=this;return t===e||l===e||!!t&&t.isDescendantOf(e)||!!l&&l!==t&&l.isDescendantOf(e)}getAncestors(){let e=[],t=this;do{t=t.parent,t&&e.push(t)}while(t);return e}findCommonAncestors(e){if(this===e)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};let t=this.getAncestors(),l=e.getAncestors();if(0===t.length&&l.length>0&&this===l[l.length-1])return{fork:[],otherFork:[e,...l.slice(0,l.length-1)],common:[this]};for(let n,V=0;V<t.length;V++){if(n=t[V],n===e)return{fork:[this,...t.slice(0,V)],otherFork:[],common:t.slice(V)};for(let i=0;i<l.length;i++){if(this===l[i])return{fork:[],otherFork:[e,...l.slice(0,i)],common:[this,...t]};if(n===l[i])return{fork:[this,...t.slice(0,V)],otherFork:[e,...l.slice(0,i)],common:t.slice(V)}}}return{fork:[this,...t],otherFork:[e,...l],common:[]}}hasCommonAncestors(e){let t=this.findCommonAncestors(e);return t&&!!t.common.length}isInFrontOf(e){if(this===e)return;let t=this.findCommonAncestors(e);if(t.fork.includes(e))return!0;if(t.otherFork.includes(this))return!1;let l=t.common[0]||this.canvas;if(!l)return;let n=t.fork.pop(),V=t.otherFork.pop(),i=l._objects.indexOf(n),a=l._objects.indexOf(V);return i>-1&&i>a}toObject(t=[]){let l,n=t.concat(e.customProperties,this.constructor.customProperties||[]),V=tF.NUM_FRACTION_DIGITS,{clipPath:i,fill:a,stroke:r,shadow:s,strokeDashArray:o,left:h,top:d,originX:R,originY:U,width:c,height:p,strokeWidth:Z,strokeLineCap:W,strokeDashOffset:m,strokeLineJoin:F,strokeUniform:N,strokeMiterLimit:u,scaleX:E,scaleY:b,angle:S,flipX:J,flipY:T,opacity:G,visible:M,backgroundColor:k,fillRule:Y,paintFirst:x,globalCompositeOperation:Q,skewX:X,skewY:w}=this;i&&!i.excludeFromExport&&(l=i.toObject(n.concat("inverted","absolutePositioned")));let f=e=>fN(e,V),z={...XN(this,n),type:this.constructor.type,version:UF,originX:R,originY:U,left:f(h),top:f(d),width:f(c),height:f(p),fill:CN(a)?a.toObject():a,stroke:CN(r)?r.toObject():r,strokeWidth:f(Z),strokeDashArray:o&&o.concat(),strokeLineCap:W,strokeDashOffset:m,strokeLineJoin:F,strokeUniform:N,strokeMiterLimit:f(u),scaleX:f(E),scaleY:f(b),angle:f(S),flipX:J,flipY:T,opacity:f(G),shadow:s&&s.toObject(),visible:M,backgroundColor:k,fillRule:Y,paintFirst:x,globalCompositeOperation:Q,skewX:f(X),skewY:f(w),...l?{clipPath:l}:null};return this.includeDefaultValues?z:this._removeDefaultValues(z)}toDatalessObject(e){return this.toObject(e)}_removeDefaultValues(e){let t=this.constructor.getDefaults(),l=Object.keys(t).length>0?t:Object.getPrototypeOf(this);return wN(e,((e,t)=>
1{if("left"===t||"top"===t||"type"===t)return!0;let n=l[t];return e!==n&&!(Array.isArray(e)&&Array.isArray(n)&&0===e.length&&0===n.length)}))}toString(){return`#<${this.constructor.type}>`}static _fromObject({type:e,...t},{extraParam:l,...n}={}){return QN(t,n).then((e=>l?(delete e[l],new this(t[l],e)):new this(e)))}static fromObject(e,t){return this._fromObject(e,t)}};qm(Wb,"stateProperties",bE),qm(Wb,"cacheProperties",SE),qm(Wb,"ownDefaults",JE),qm(Wb,"type","FabricObject"),qm(Wb,"colorProperties",[jF,gF,"backgroundColor"]),qm(Wb,"customProperties",[]),IF.setClass(Wb),IF.setClass(Wb,"object");var mb=(e,t)=>{var l;let{transform:{target:n}}=t;null==(l=n.canvas)||l.fire(`object:${e}`,{...t,target:n}),n.fire(e,t)},Fb=(e,t,l)=>(n,V,i,a)=>{let r=t(n,V,i,a);return r&&mb(e,{...zu(n,V,i,a),...l}),r};function Nb(e){return(t,l,n,V)=>{let{target:i,originX:a,originY:r}=l,s=i.getPositionByOrigin(a,r),o=e(t,l,n,V);return i.setPositionByOrigin(s,l.originX,l.originY),o}}var ub=(e,t,l,n)=>(V,i,a,r)=>{let s=Cu(i,i.originX,i.originY,a,r)[l],o=Fu(i[t]);if(0===o||o>0&&s<0||o<0&&s>0){let{target:t}=i,l=t.strokeWidth/(t.strokeUniform?t[n]:1),V=Xu(i)?2:1,a=t[e],r=Math.abs(s*V/t[n])-l;return t.set(e,Math.max(r,1)),a!==t[e]}return!1},Eb=ub("width","originX","x","scaleX"),bb=ub("height","originY","y","scaleY"),Sb=Fb(xF,Nb(Eb)),Jb=Fb(xF,Nb(bb));function Tb(e,t,l,n,V){e.save();let{stroke:i,xSize:a,ySize:r,opName:s}=this.commonRenderProps(e,t,l,V,n),o=a;a>r?e.scale(1,r/a):r>a&&(o=r,e.scale(a/r,1)),e.beginPath(),e.arc(0,0,o/2,0,WF,!1),e[s](),i&&e.stroke(),e.restore()}function Gb(e,t,l,n,V){e.save();let{stroke:i,xSize:a,ySize:r,opName:s}=this.commonRenderProps(e,t,l,V,n),o=a/2,h=r/2;e[`${s}Rect`](-o,-h,a,r),i&&e.strokeRect(-o,-h,a,r),e.restore()}var Mb=class{constructor(e){qm(this,"visible",!0),qm(this,"actionName",wF),qm(this,"angle",0),qm(this,"x",0),qm(this,"y",0),qm(this,"offsetX",0),qm(this,"offsetY",0),qm(this,"sizeX",0),qm(this,"sizeY",0),qm(this,"touchSizeX",0),qm(this,"touchSizeY",0),qm(this,"cursorStyle","crosshair"),qm(this,"withConnection",!1),Object.assign(this,e)}getTransformAnchorPoint(){var e;return null==(e=this.transformAnchorPoint)?new PF(.5-this.x,.5-this.y):e}shouldActivate(e,t,l,{tl:n,tr:V,br:i,bl:a}){var r;return(null==(r=t.canvas)?void 0:r.getActiveObject())===t&&t.isControlVisible(e)&&pb.isPointInPolygon(l,[n,V,i,a])}getActionHandler(e,t,l){return this.actionHandler}getMouseDownHandler(e,t,l){return this.mouseDownHandler}getMouseUpHandler(e,t,l){return this.mouseUpHandler}cursorStyleHandler(e,t,l,n){return t.cursorStyle}getActionName(e,t,l){return t.actionName}getVisibility(e,t){var l,n;return null==(l=null==(n=e._controlsVisibility)?void 0:n[t])?this.visible:l}setVisibility(e,t,l){this.visible=e}positionHandler(e,t,l,n){return new PF(this.x*e.x+this.offsetX,this.y*e.y+this.offsetY).transform(t)}calcCornerCoords(e,t,l,n,V,i){let a=WN([EN(l,n),bN({angle:e}),SN((V?this.touchSizeX:this.sizeX)||t,(V?this.touchSizeY:this.sizeY)||t)]);return{tl:new PF(-.5,-.5).transform(a),tr:new PF(.5,-.5).transform(a),br:new PF(.5,.5).transform(a),bl:new PF(-.5,.5).transform(a)}}commonRenderProps(e,t,l,n,V={}){let{cornerSize:i,cornerColor:a,transparentCorners:r,cornerStrokeColor:s}=V,o=i||n.cornerSize,h=this.sizeX||o,d=this.sizeY||o,R=void 0===r?n.transparentCorners:r,U=R?gF:jF,c=s||n.cornerStrokeColor,p=!R&&!!c;return e.fillStyle=a||n.cornerColor||"",e.strokeStyle=c||"",e.translate(t,l),e.rotate(dN(n.getTotalAngle())),{stroke:p,xSize:h,ySize:d,transparentCorners:R,opName:U}}render(e,t,l,n,V){"circle"===((n=n||{}).cornerStyle||V.cornerStyle)?Tb.call(this,e,t,l,n,V):Gb.call(this,e,t,l,n,V)}},kb=(e,t,l)=>l.lockRotation?Qu:t.cursorStyle,Yb=Fb(MF,Nb(((e,{target:t,ex:l,ey:n,theta:V,originX:i,originY:a},r,s)=>{let o=t.getPositionByOrigin(i,a);if(fu(t,"lockRotation"))return!1;let h=Math.atan2(n-o.y,l-o.x),d=RN(Math.atan2(s-o.y,r-o.x)-h+V);if(t.snapAngle&&t.snapAngle>0){let e=t.snapAngle,l=t.snapThreshold||e,n=Math.ceil(d/e)*e,V=Math.floor(d/e)*e;Math.abs(d-V)<l?d=V:Math.abs(d-n)<l&&(d=n)}
1d<0&&(d=360+d),d%=360;let R=t.angle!==d;return t.angle=d,R})));function xb(e,t){let l=t.canvas,n=e[l.uniScaleKey];return l.uniformScaling&&!n||!l.uniformScaling&&n}function Qb(e,t,l){let n=fu(e,"lockScalingX"),V=fu(e,"lockScalingY");if(n&&V||!t&&(n||V)&&l||n&&"x"===t||V&&"y"===t)return!0;let{width:i,height:a,strokeWidth:r}=e;return 0===i&&0===r&&"y"!==t||0===a&&0===r&&"x"!==t}var Xb=["e","se","s","sw","w","nw","n","ne","e"],wb=(e,t,l,n)=>{let V=xb(e,l);return Qb(l,0!==t.x&&0===t.y?"x":0===t.x&&0!==t.y?"y":"",V)?Qu:`${Xb[yu(l,0,n)]}-resize`};function fb(e,t,l,n,V={}){let i,a,r,s,o,h,d=t.target,R=V.by,U=xb(e,d);if(Qb(d,R,U))return!1;if(t.gestureScale)a=t.scaleX*t.gestureScale,r=t.scaleY*t.gestureScale;else{if(i=Cu(t,t.originX,t.originY,l,n),o="y"===R?1:Math.sign(i.x||t.signX||1),h="x"===R?1:Math.sign(i.y||t.signY||1),t.signX||(t.signX=o),t.signY||(t.signY=h),fu(d,"lockScalingFlip")&&(t.signX!==o||t.signY!==h))return!1;if(s=d._getTransformedDimensions(),U&&!R){let e=Math.abs(i.x)+Math.abs(i.y),{original:l}=t,n=e/(Math.abs(s.x*l.scaleX/d.scaleX)+Math.abs(s.y*l.scaleY/d.scaleY));a=l.scaleX*n,r=l.scaleY*n}else a=Math.abs(i.x*d.scaleX/s.x),r=Math.abs(i.y*d.scaleY/s.y);Xu(t)&&(a*=2,r*=2),t.signX!==o&&"y"!==R&&(t.originX=wu(t.originX),a*=-1,t.signX=o),t.signY!==h&&"x"!==R&&(t.originY=wu(t.originY),r*=-1,t.signY=h)}let c=d.scaleX,p=d.scaleY;return R?("x"===R&&d.set("scaleX",a),"y"===R&&d.set("scaleY",r)):(!fu(d,"lockScalingX")&&d.set("scaleX",a),!fu(d,"lockScalingY")&&d.set("scaleY",r)),c!==d.scaleX||p!==d.scaleY}var zb=Fb(GF,Nb(((e,t,l,n)=>fb(e,t,l,n)))),yb=Fb(GF,Nb(((e,t,l,n)=>fb(e,t,l,n,{by:"x"})))),Cb=Fb(GF,Nb(((e,t,l,n)=>fb(e,t,l,n,{by:"y"})))),jb={x:{counterAxis:"y",scale:fF,skew:yF,lockSkewing:"lockSkewingX",origin:"originX",flip:"flipX"},y:{counterAxis:"x",scale:zF,skew:CF,lockSkewing:"lockSkewingY",origin:"originY",flip:"flipY"}},gb=["ns","nesw","ew","nwse"],Bb=(e,t,l,n)=>0!==t.x&&fu(l,"lockSkewingY")||0!==t.y&&fu(l,"lockSkewingX")?Qu:`${gb[yu(l,0,n)%4]}-resize`;function Hb(e,t,l,n,V){let{target:i}=l,{counterAxis:a,origin:r,lockSkewing:s,skew:o,flip:h}=jb[e];if(fu(i,s))return!1;let{origin:d,flip:R}=jb[a],U=Fu(l[d])*(i[R]?-1:1),c=-Math.sign(U)*(i[h]?-1:1),p=-(0===i[o]&&Cu(l,"center","center",n,V)[e]>0||i[o]>0?1:-1)*c*.5+.5;return Fb(YF,Nb(((t,l,n,V)=>function(e,{target:t,ex:l,ey:n,skewingSide:V,...i},a){let{skew:r}=jb[e],s=a.subtract(new PF(l,n)).divide(new PF(t.scaleX,t.scaleY))[e],o=t[r],h=i[r],d=Math.tan(dN(h)),R="y"===e?t._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:t._getTransformedDimensions({scaleX:1,scaleY:1}).y,U=2*s*V/Math.max(R,1)+d,c=RN(Math.atan(U));t.set(r,c);let p=o!==t[r];if(p&&"y"===e){let{skewX:e,scaleX:l}=t,n=t._getTransformedDimensions({skewY:o}),V=t._getTransformedDimensions(),i=0===e?1:n.x/V.x;1!==i&&t.set("scaleX",i*l)}return p}(e,l,new PF(n,V)))))(t,{...l,[r]:p,skewingSide:c},n,V)}var vb=(e,t,l,n)=>Hb("x",e,t,l,n),Ib=(e,t,l,n)=>Hb("y",e,t,l,n);function Db(e,t){return e[t.canvas.altActionKey]}var Ob=(e,t,l)=>{let n=Db(e,l);return 0===t.x?n?yF:zF:0===t.y?n?CF:fF:""},_b=(e,t,l,n)=>Db(e,l)?Bb(0,t,l,n):wb(e,t,l,n),Lb=(e,t,l,n)=>Db(e,t.target)?Ib(e,t,l,n):yb(e,t,l,n),Kb=(e,t,l,n)=>Db(e,t.target)?vb(e,t,l,n):Cb(e,t,l,n),Pb=()=>({ml:new Mb({x:-.5,y:0,cursorStyleHandler:_b,actionHandler:Lb,getActionName:Ob}),mr:new Mb({x:.5,y:0,cursorStyleHandler:_b,actionHandler:Lb,getActionName:Ob}),mb:new Mb({x:0,y:.5,cursorStyleHandler:_b,actionHandler:Kb,getActionName:Ob}),mt:new Mb({x:0,y:-.5,cursorStyleHandler:_b,actionHandler:Kb,getActionName:Ob}),tl:new Mb({x:-.5,y:-.5,cursorStyleHandler:wb,actionHandler:zb}),tr:new Mb({x:.5,y:-.5,cursorStyleHandler:wb,actionHandler:zb}),bl:new Mb({x:-.5,y:.5,cursorStyleHandler:wb,actionHandler:zb}),br:new Mb({x:.5,y:.5,cursorStyleHandler:wb,actionHandler:zb}),mtr:new Mb({x:0,y:-.5,actionHandler:Yb,cursorStyleHandler:kb,offsetY:-40,withConnection:!0,actionName:kF})}),Ab=()=>({mr:new Mb({x:.5,y:0,actionHandler:Sb,cursorStyleHandler:_b,actionName:xF}),ml:new Mb({x:-.5,y:0,actionHandler:Sb,cursorStyleHandler:_b,actionName:xF})}),qb=()=>({...Pb(),...Ab()}),$b=class e extends Wb{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t){super(),Object.assign(this,this.constructor.createControls(),e.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Pb()}}_updateCacheCanvas(){let e=this.canvas;if(this.noScaleCache&&e&&e._currentTransform){let t=e._currentTransform,l=t.target,n=t.action;if(this===l&&n&&n.startsWith("scale"))return!1}return super._updateCacheCanvas()}getActiveControl(){let e=this.__corner;return e?{key:e,control:this.controls[e],coord:this.oCoords[e]}:void 0}findControl(e,t=!1){if(!this.hasControls||!this.canvas)return;this.__corner=void 0;let l=Object.entries(this.oCoords);for(let n=l.length-1;n>=0;n--){let[V,i]=l[n],a=this.controls[V];if(a.shouldActivate(V,this,e,t?i.touchCorner:i.corner))return this.__corner=V,{key:V,control:a,coord:this.oCoords[V]}}}calcOCoords(){let e=this.getViewportTransform(),t=FN(e),l=NN(e),n=this.getCenterPoint(),V=ZN(ZN(e,ZN(EN(n.x,n.y),bN({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}))),[1/t,0,0,1/l,0,0]),i=this.group?uN(this.calcTransformMatrix()):void 0;i&&(i.scaleX=Math.abs(i.scaleX),i.scaleY=Math.abs(i.scaleY));let a=this._calculateCurrentDimensions(i),r={};return this.forEachControl(((e,t)=>{let l=e.positionHandler(a,V,this,e);r[t]=Object.assign(l,this._calcCornerCoords(e,l))})),r}_calcCornerCoords(e,t){let l=this.getTotalAngle();return{corner:e.calcCornerCoords(l,this.cornerSize,t.x,t.y,!1,this),touchCorner:e.calcCornerCoords(l,this.touchCornerSize,t.x,t.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(e){for(let t in this.controls)e(this.controls[t],t,this)}
1drawSelectionBackground(e){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;e.save();let t=this.getRelativeCenterPoint(),l=this._calculateCurrentDimensions(),n=this.getViewportTransform();e.translate(t.x,t.y),e.scale(1/n[0],1/n[3]),e.rotate(dN(this.angle)),e.fillStyle=this.selectionBackgroundColor,e.fillRect(-l.x/2,-l.y/2,l.x,l.y),e.restore()}strokeBorders(e,t){e.strokeRect(-t.x/2,-t.y/2,t.x,t.y)}_drawBorders(e,t,l={}){let n={hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray,...l};e.save(),e.strokeStyle=n.borderColor,this._setLineDash(e,n.borderDashArray),this.strokeBorders(e,t),n.hasControls&&this.drawControlsConnectingLines(e,t),e.restore()}_renderControls(e,t={}){let{hasBorders:l,hasControls:n}=this,V={hasBorders:l,hasControls:n,...t},i=this.getViewportTransform(),a=V.hasBorders,r=V.hasControls,s=uN(ZN(i,this.calcTransformMatrix()));e.save(),e.translate(s.translateX,s.translateY),e.lineWidth=this.borderScaleFactor,this.group===this.parent&&(e.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(s.angle-=180);let o=mN(i);e.rotate(this.group?dN(s.angle):dN(this.angle)+o),a&&this.drawBorders(e,s,t),r&&this.drawControls(e,t),e.restore()}drawBorders(e,t,l){let n;if(l&&l.forActiveSelection||this.group){let e=Uu(this.width,this.height,MN(t)),l=this.isStrokeAccountedForInDimensions()?AF:(this.strokeUniform?(new PF).scalarAdd(this.canvas?this.canvas.getZoom():1):new PF(t.scaleX,t.scaleY)).scalarMultiply(this.strokeWidth);n=e.add(l).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else n=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(e,n,l)}drawControlsConnectingLines(e,t){let l=!1;e.beginPath(),this.forEachControl(((n,V)=>{n.withConnection&&n.getVisibility(this,V)&&(l=!0,e.moveTo(n.x*t.x,n.y*t.y),e.lineTo(n.x*t.x+n.offsetX,n.y*t.y+n.offsetY))})),l&&e.stroke()}drawControls(e,t={}){e.save();let l=this.getCanvasRetinaScaling(),{cornerStrokeColor:n,cornerDashArray:V,cornerColor:i}=this,a={cornerStrokeColor:n,cornerDashArray:V,cornerColor:i,...t};e.setTransform(l,0,0,l,0,0),e.strokeStyle=e.fillStyle=a.cornerColor,this.transparentCorners||(e.strokeStyle=a.cornerStrokeColor),this._setLineDash(e,a.cornerDashArray),this.forEachControl(((t,l)=>{if(t.getVisibility(this,l)){let n=this.oCoords[l];t.render(e,n.x,n.y,a,this)}})),e.restore()}isControlVisible(e){return this.controls[e]&&this.controls[e].getVisibility(this,e)}setControlVisible(e,t){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[e]=t}setControlsVisibility(e={}){Object.entries(e).forEach((([e,t])=>this.setControlVisible(e,t)))}clearContextTop(e){if(!this.canvas)return;let t=this.canvas.contextTop;if(!t)return;let l=this.canvas.viewportTransform;t.save(),t.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this.transform(t);let n=this.width+4,V=this.height+4;return t.clearRect(-n/2,-V/2,n,V),e||t.restore(),t}onDeselect(e){return!1}onSelect(e){return!1}shouldStartDragging(e){return!1}onDragStart(e){return!1}canDrop(e){return!1}renderDragSourceEffect(e){}renderDropTargetEffect(e){}};function eS(e,t){return t.forEach((t=>{Object.getOwnPropertyNames(t.prototype).forEach((l=>{"constructor"!==l&&Object.defineProperty(e.prototype,l,Object.getOwnPropertyDescriptor(t.prototype,l)||Object.create(null))}))})),e}qm($b,"ownDefaults",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:"rgb(178,204,255)",cornerStrokeColor:"",cornerStyle:"rect",cornerDashArray:null,hasControls:!0,borderColor:"rgb(178,204,255)",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:"",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:"down",hoverCursor:null,moveCursor:null});var tS=class extends $b{};eS(tS,[tE]),IF.setClass(tS),IF.setClass(tS,"object");var lS=(e,t,l,n)=>{let V=2*(n=Math.round(n))+1,{data:i}=e.getImageData(t-n,l-n,V,V);for(let e=3;e<i.length;e+=4)if(i[e]>0)return!1;return!0},nS=class{constructor(e){this.options=e,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new PF(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new PF(1/this.options.scaleX,1/this.options.scaleY):new PF(1,1)}createSideVector(e,t){let l=bu(e,t);return this.options.strokeUniform?l.multiply(this.scale):l}projectOrthogonally(e,t,l){return this.applySkew(e.add(this.calcOrthogonalProjection(e,t,l)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(e){let t=new PF(e);return t.y+=t.x*Math.tan(dN(this.options.skewY)),t.x+=t.y*Math.tan(dN(this.options.skewX)),t}scaleUnitVector(e,t){return e.multiply(this.strokeUniformScalar).scalarMultiply(t)}},VS=new PF,iS=class e extends nS{static getOrthogonalRotationFactor(e,t){let l=t?Ju(e,t):Tu(e);return Math.abs(l)<pF?-1:1}constructor(e,t,l,n){super(n),qm(this,"AB",void 0),qm(this,"AC",void 0),qm(this,"alpha",void 0),qm(this,"bisector",void 0),this.A=new PF(e),this.B=new PF(t),this.C=new PF(l),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=Ju(this.AB,this.AC),this.bisector=Gu(Eu(this.AB.eq(VS)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,l,n=this.strokeProjectionMagnitude){let V=Mu(this.createSideVector(t,l)),i=e.getOrthogonalRotationFactor(V,this.bisector);return this.scaleUnitVector(V,n*i)}projectBevel(){let e=[];
1return(this.alpha%WF==0?[this.B]:[this.B,this.C]).forEach((t=>{e.push(this.projectOrthogonally(this.A,t)),e.push(this.projectOrthogonally(this.A,t,-this.strokeProjectionMagnitude))})),e}projectMiter(){let e=[],t=Math.abs(this.alpha),l=1/Math.sin(t/2),n=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*l),V=this.options.strokeUniform?Su(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return Su(n)/this.strokeProjectionMagnitude<=V&&e.push(this.applySkew(this.A.add(n))),e.push(...this.projectBevel()),e}projectRoundNoSkew(t,l){let n=[],V=new PF(e.getOrthogonalRotationFactor(this.bisector),e.getOrthogonalRotationFactor(new PF(this.bisector.y,this.bisector.x)));return[new PF(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(V),new PF(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(V)].forEach((e=>{xu(e,t,l)&&n.push(this.A.add(e))})),n}projectRoundWithSkew(e,t){let l=[],{skewX:n,skewY:V,scaleX:i,scaleY:a,strokeUniform:r}=this.options,s=new PF(Math.tan(dN(n)),Math.tan(dN(V))),o=this.strokeProjectionMagnitude,h=r?o/a/Math.sqrt(1/a**2+1/i**2*s.y**2):o/Math.sqrt(1+s.y**2),d=new PF(Math.sqrt(Math.max(o**2-h**2,0)),h),R=r?o/Math.sqrt(1+s.x**2*(1/a)**2/(1/i+1/i*s.x*s.y)**2):o/Math.sqrt(1+s.x**2/(1+s.x*s.y)**2),U=new PF(R,Math.sqrt(Math.max(o**2-R**2,0)));return[U,U.scalarMultiply(-1),d,d.scalarMultiply(-1)].map((e=>this.applySkew(r?e.multiply(this.strokeUniformScalar):e))).forEach((n=>{xu(n,e,t)&&l.push(this.applySkew(this.A).add(n))})),l}projectRound(){let e=[];e.push(...this.projectBevel());let t=this.alpha%WF==0,l=this.applySkew(this.A),n=e[t?0:2].subtract(l),V=e[+!!t].subtract(l),i=ku(n,t?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)))>0,a=i?n:V,r=i?V:n;return this.isSkewed()?e.push(...this.projectRoundWithSkew(a,r)):e.push(...this.projectRoundNoSkew(a,r)),e}projectPoints(){switch(this.options.strokeLineJoin){case"miter":return this.projectMiter();case"round":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map((e=>({originPoint:this.A,projectedPoint:e,angle:this.alpha,bisector:this.bisector})))}},aS=class extends nS{constructor(e,t,l){super(l),this.A=new PF(e),this.T=new PF(t)}calcOrthogonalProjection(e,t,l=this.strokeProjectionMagnitude){let n=this.createSideVector(e,t);return this.scaleUnitVector(Mu(n),l)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){let e=[];
1if(!this.isSkewed()&&this.A.eq(this.T)){let t=new PF(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);e.push(this.applySkew(this.A.add(t)),this.applySkew(this.A.subtract(t)))}else e.push(...new iS(this.A,this.T,this.T,this.options).projectRound());return e}projectSquare(){let e=[];if(this.A.eq(this.T)){let t=new PF(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);e.push(this.A.add(t),this.A.subtract(t))}else{let t=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),l=this.scaleUnitVector(Gu(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),n=this.A.add(l);e.push(n.add(t),n.subtract(t))}return e.map((e=>this.applySkew(e)))}projectPoints(){switch(this.options.strokeLineCap){case"round":return this.projectRound();case"square":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map((e=>({originPoint:this.A,projectedPoint:e})))}},rS=(e,t,l=!1)=>{let n=[];if(0===e.length)return n;let V=e.reduce(((e,t)=>(e[e.length-1].eq(t)||e.push(new PF(t)),e)),[new PF(e[0])]);if(1===V.length)l=!0;else if(!l){let e=V[0],t=((e,t)=>{for(let l=e.length-1;l>=0;l--)if(t(e[l]))return l;return-1})(V,(t=>!t.eq(e)));V.splice(t+1)}return V.forEach(((e,V,i)=>{let a,r;0===V?(r=i[1],a=l?e:i[i.length-1]):V===i.length-1?(a=i[V-1],r=l?e:i[0]):(a=i[V-1],r=i[V+1]),l&&1===i.length?n.push(...new aS(e,e,t).project()):!l||0!==V&&V!==i.length-1?n.push(...new iS(e,a,r,t).project()):n.push(...new aS(e,0===V?r:a,t).project())})),n},sS=e=>{let t={};return Object.keys(e).forEach((l=>{t[l]={}
1,Object.keys(e[l]).forEach((n=>{t[l][n]={...e[l][n]}}))})),t},oS=(e,t,l=!1)=>e.fill!==t.fill||e.stroke!==t.stroke||e.strokeWidth!==t.strokeWidth||e.fontSize!==t.fontSize||e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight||e.fontStyle!==t.fontStyle||e.textDecorationThickness!==t.textDecorationThickness||e.textDecorationColor!==t.textDecorationColor||e.textBackgroundColor!==t.textBackgroundColor||e.deltaY!==t.deltaY||l&&(e.overline!==t.overline||e.underline!==t.underline||e.linethrough!==t.linethrough),hS=(e,t)=>{let l=t.split("\n"),n=[],V=-1,i={};e=sS(e);for(let t=0;t<l.length;t++){let a=$N(l[t]);if(e[t])for(let l=0;l<a.length;l++){V++;let a=e[t][l];a&&Object.keys(a).length>0&&(oS(i,a,!0)?n.push({start:V,end:V+1,style:a}):n[n.length-1].end++),i=a||{}}else V+=a.length,i={}}return n},dS=(e,t)=>{if(!Array.isArray(e))return sS(e);let l=t.split(JF),n={},V=-1,i=0;for(let t=0;t<l.length;t++){let a=$N(l[t]);for(let l=0;l<a.length;l++)V++,e[i]&&e[i].start<=V&&V<e[i].end&&(n[t]=n[t]||{},n[t][l]={...e[i].style},V===e[i].end-1&&i++)}return n},RS=["display","transform",jF,"fill-opacity","fill-rule","opacity",gF,"stroke-dasharray","stroke-linecap","stroke-dashoffset","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id","paint-order","vector-effect","instantiated_by_use","clip-path"];function US(e,t){let l,n=e.nodeName,V=e.getAttribute("class"),i=e.getAttribute("id"),a="(?![a-zA-Z\\-]+)";if(l=RegExp("^"+n,"i"),t=t.replace(l,""),i&&t.length&&(l=RegExp("#"+i+a,"i"),t=t.replace(l,"")),V&&t.length){let e=V.split(" ");for(let n=e.length;n--;)l=RegExp("\\."+e[n]+a,"i"),t=t.replace(l,"")}return 0===t.length}function cS(e,t){let l=!0,n=US(e,t.pop());return n&&t.length&&(l=function(e,t){let l,n=!0;for(;e.parentElement&&1===e.parentElement.nodeType&&t.length;)n&&(l=t.pop()),n=US(e=e.parentElement,l);return 0===t.length}(e,t)),n&&l&&0===t.length}function pS(e,t={}){let l={};for(let n in t)cS(e,n.split(" "))&&(l={...l,...t[n]});return l}var ZS=e=>{var t;return null==(t=pE[e])?e:t},WS=RegExp(`(${RE})`,"gi"),mS=`(${RE})`,FS=String.raw`(skewX)\(${mS}\)`,NS=String.raw`(skewY)\(${mS}\)`,uS=String.raw`(rotate)\(${mS}(?: ${mS} ${mS})?\)`,ES=String.raw`(scale)\(${mS}(?: ${mS})?\)`,bS=String.raw`(translate)\(${mS}(?: ${mS})?\)`,SS=`(?:${String.raw`(matrix)\(${mS} ${mS} ${mS} ${mS} ${mS} ${mS}\)`}|${bS}|${uS}|${ES}|${FS}|${NS})`,JS=`(?:${SS}*)`,TS=String.raw`^\s*(?:${JS}?)\s*$`,GS=new RegExp(TS),MS=new RegExp(SS),kS=new RegExp(SS,"g");function YS(e){let t=[];if(!(e=(e=>vu(e.replace(WS," $1 ").replace(/,/gi," ")))(e).replace(/\s*([()])\s*/gi,"$1"))||e&&!GS.test(e))return[...FF];for(let l of e.matchAll(kS)){let e=MS.exec(l[0]);if(!e)continue;let n=FF,[,V,...i]=e.filter((e=>!!e)),[a,r,s,o,h,d]=i.map((e=>parseFloat(e)));switch(V){case"translate":n=EN(a,r);break;case kF:n=bN({angle:a},{x:r,y:s});break;case wF:n=SN(a,r);break;case yF:n=TN(a);break;case CF:n=GN(a);break;case"matrix":n=[a,r,s,o,h,d]}t.push(n)}return WN(t)}function xS(e,t,l,n){let V,i=Array.isArray(t),a=t;if("fill"!==e&&"stroke"!==e||"none"!==t){if("strokeUniform"===e)return"non-scaling-stroke"===t;if("strokeDashArray"===e)a="none"===t?null:t.replace(/,/g," ").split(/\s+/).map(parseFloat);else if("transformMatrix"===e)a=l&&l.transformMatrix?ZN(l.transformMatrix,YS(t)):YS(t);else if("visible"===e)a="none"!==t&&"hidden"!==t,l&&!1===l.visible&&(a=!1);else if("opacity"===e)a=parseFloat(t),l&&void 0!==l.opacity&&(a*=l.opacity);else if("textAnchor"===e)a="start"===t?uF:"end"===t?bF:NF;else if("charSpacing"===e||"textDecorationThickness"===e)V=qu(t,n)/n*1e3;else if("paintFirst"===e){let e=t.indexOf(jF),l=t.indexOf(gF);a=jF,(e>-1&&l>-1&&l<e||-1===e&&l>-1)&&(a=gF)}else{if("href"===e||"xlink:href"===e||"font"===e||"id"===e)return t;if("imageSmoothing"===e)return"optimizeQuality"===t;V=i?t.map(qu):qu(t,n)}}else a="";return!i&&isNaN(V)?a:V}function QS(e){let t={},l=e.getAttribute("style");return l&&("string"==typeof l?function(e,t){e.replace(/;\s*$/,"").split(";").forEach((e=>{if(!e)return;let[l,n]=e.split(":");t[l.trim().toLowerCase()]=n.trim()}))}(l,t):function(e,t){Object.entries(e).forEach((([e,l])=>{void 0!==l&&(t[e.toLowerCase()]=l)}))}(l,t)),t}var XS={stroke:"strokeOpacity",fill:"fillOpacity"};function wS(e,t,l){if(!e)return{};let n,V={},i=16;e.parentNode&&mE.test(e.parentNode.nodeName)&&(V=wS(e.parentElement,t,l),V.fontSize&&(n=i=qu(V.fontSize)));let a={...t.reduce(((t,l)=>{let n=e.getAttribute(l);return n&&(t[l]=n),t}),{}),...pS(e,l),...QS(e)};
1a["clip-path"]&&e.setAttribute(WE,a[WE]),a["font-size"]&&(n=qu(a[ZE],i),a[ZE]=`${n}`);let r={};for(let e in a){let t=ZS(e);r[t]=xS(t,a[e],V,n)}r&&r.font&&function(e,t){let l=e.match(cE);if(!l)return;let n=l[1],V=l[3],i=l[4],a=l[5],r=l[6];n&&(t.fontStyle=n),V&&(t.fontWeight=isNaN(parseFloat(V))?V:parseFloat(V)),i&&(t.fontSize=qu(i)),r&&(t.fontFamily=r),a&&(t.lineHeight="normal"===a?1:a)}(r.font,r);let s={...V,...r};return mE.test(e.nodeName)?s:function(e){let t=tS.getDefaults();return Object.entries(XS).forEach((([l,n])=>{if(void 0===e[n]||""===e[l])return;if(void 0===e[l]){if(!t[l])return;e[l]=t[l]}if(0===e[l].indexOf("url("))return;let V=new Pu(e[l]);e[l]=V.setAlpha(fN(V.getAlpha()*e[n],2)).toRgba()})),e}(s)}var fS=["rx","ry"],zS=class e extends tS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t){super(),Object.assign(this,e.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){let{rx:e,ry:t}=this;e&&!t?this.ry=e:t&&!e&&(this.rx=t)}_render(e){let{width:t,height:l}=this,n=-t/2,V=-l/2,i=this.rx?Math.min(this.rx,t/2):0,a=this.ry?Math.min(this.ry,l/2):0,r=0!==i||0!==a;e.beginPath(),e.moveTo(n+i,V),e.lineTo(n+t-i,V),r&&e.bezierCurveTo(n+t-.4477152502*i,V,n+t,V+.4477152502*a,n+t,V+a),e.lineTo(n+t,V+l-a),r&&e.bezierCurveTo(n+t,V+l-.4477152502*a,n+t-.4477152502*i,V+l,n+t-i,V+l),e.lineTo(n+i,V+l),r&&e.bezierCurveTo(n+.4477152502*i,V+l,n,V+l-.4477152502*a,n,V+l-a),e.lineTo(n,V+a),r&&e.bezierCurveTo(n,V+.4477152502*a,n+.4477152502*i,V,n+i,V),e.closePath(),this._renderPaintInOrder(e)}toObject(e=[]){return super.toObject([...fS,...e])}_toSVG(){let{width:e,height:t,rx:l,ry:n}=this;return["<rect ","COMMON_PARTS",`x="${-e/2}" y="${-t/2}" rx="${qN(l)}" ry="${qN(n)}" width="${qN(e)}" height="${qN(t)}" />\n`]}static async fromElement(e,t,l){let{left:n=0,top:V=0,width:i=0,height:a=0,visible:r=!0,...s}=wS(e,this.ATTRIBUTE_NAMES,l);return new this({...t,...s,left:n,top:V,width:i,height:a,visible:!!(r&&i&&a)})}};qm(zS,"type","Rect"),qm(zS,"cacheProperties",[...SE,...fS]),qm(zS,"ownDefaults",{rx:0,ry:0}),qm(zS,"ATTRIBUTE_NAMES",[...RS,"x","y","rx","ry","width","height"]),IF.setClass(zS),IF.setSVGClass(zS);var yS="initialization",CS="added",jS=(e,t)=>{let{strokeUniform:l,strokeWidth:n,width:V,height:i,group:a}=t,r=a&&a!==e?cu(a.calcTransformMatrix(),e.calcTransformMatrix()):null,s=r?t.getRelativeCenterPoint().transform(r):t.getRelativeCenterPoint(),o=!t.isStrokeAccountedForInDimensions(),h=l&&o?Zu(new PF(n,n),void 0,e.calcTransformMatrix()):AF,d=!l&&o?n:0,R=Uu(V+d,i+d,WN([r,t.calcOwnMatrix()],!0)).add(h).scalarDivide(2);return[s.subtract(R),s.add(R)]},gS=class{calcLayoutResult(e,t){if(this.shouldPerformLayout(e))return this.calcBoundingBox(t,e)}shouldPerformLayout({type:e,prevStrategy:t,strategy:l}){return"initialization"===e||"imperative"===e||!!t&&l!==t}shouldLayoutClipPath({type:e,target:{clipPath:t}}){return"initialization"!==e&&t&&!t.absolutePositioned}getInitialSize(e,t){return t.size}calcBoundingBox(e,t){let{type:l,target:n}=t;if("imperative"===l&&t.overrides)return t.overrides;if(0===e.length)return;let{left:V,top:i,width:a,height:r}=ru(e.map((e=>jS(n,e))).reduce(((e,t)=>e.concat(t)),[])),s=new PF(a,r),o=new PF(V,i).add(s.scalarDivide(2));if("initialization"===l){let e=this.getInitialSize(t,{size:s,center:o});return{center:o,relativeCorrection:new PF(0,0),size:e}}return{center:o.transform(n.calcOwnMatrix()),size:s}}};qm(gS,"type","strategy");var BS=class extends gS{shouldPerformLayout(e){return!0}};qm(BS,"type","fit-content"),IF.setClass(BS);var HS="layoutManager",vS=class{constructor(e=new BS){qm(this,"strategy",void 0),this.strategy=e,this._subscriptions=new Map}performLayout(e){let t={bubbles:!0,strategy:this.strategy,...e,prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}};this.onBeforeLayout(t);let l=this.getLayoutResult(t);l&&this.commitLayout(t,l),this.onAfterLayout(t,l),this._prevLayoutStrategy=t.strategy}attachHandlers(e,t){let{target:l}=t;return[BF,TF,xF,MF,GF,YF,XF,QF,"modifyPath"].map((t=>e.on(t,(e=>this.performLayout("modified"===t?{type:"object_modified",trigger:t,e:e,target:l}:{type:"object_modifying",trigger:t,e:e,target:l})))))}subscribe(e,t){this.unsubscribe(e,t);let l=this.attachHandlers(e,t);this._subscriptions.set(e,l)}
1unsubscribe(e,t){(this._subscriptions.get(e)||[]).forEach((e=>e())),this._subscriptions.delete(e)}unsubscribeTargets(e){e.targets.forEach((t=>this.unsubscribe(t,e)))}subscribeTargets(e){e.targets.forEach((t=>this.subscribe(t,e)))}onBeforeLayout(e){let{target:t,type:l}=e,{canvas:n}=t;if("initialization"===l||"added"===l?this.subscribeTargets(e):"removed"===l&&this.unsubscribeTargets(e),t.fire("layout:before",{context:e}),n&&n.fire("object:layout:before",{target:t,context:e}),"imperative"===l&&e.deep){let{strategy:l,...n}=e;t.forEachObject((e=>e.layoutManager&&e.layoutManager.performLayout({...n,bubbles:!1,target:e})))}}getLayoutResult(e){let{target:t,strategy:l,type:n}=e,V=l.calcLayoutResult(e,t.getObjects());if(!V)return;let i="initialization"===n?new PF:t.getRelativeCenterPoint(),{center:a,correction:r=new PF,relativeCorrection:s=new PF}=V;return{result:V,prevCenter:i,nextCenter:a,offset:i.subtract(a).add(r).transform("initialization"===n?FF:pN(t.calcOwnMatrix()),!0).add(s)}}commitLayout(e,t){let{target:l}=e,{result:{size:n},nextCenter:V}=t;var i,a;l.set({width:n.x,height:n.y}),this.layoutObjects(e,t),"initialization"===e.type?l.set({left:null==(i=e.x)?V.x+n.x*Fu(l.originX):i,top:null==(a=e.y)?V.y+n.y*Fu(l.originY):a}):(l.setPositionByOrigin(V,NF,NF),l.setCoords(),l.set("dirty",!0))}layoutObjects(e,t){let{target:l}=e;l.forEachObject((n=>{n.group===l&&this.layoutObject(e,t,n)})),e.strategy.shouldLayoutClipPath(e)&&this.layoutObject(e,t,l.clipPath)}layoutObject(e,{offset:t},l){l.set({left:l.left+t.x,top:l.top+t.y})}onAfterLayout(e,t){let{target:l,strategy:n,bubbles:V,prevStrategy:i,...a}=e,{canvas:r}=l;l.fire("layout:after",{context:e,result:t}),r&&r.fire("object:layout:after",{context:e,result:t,target:l});let s=l.parent;V&&null!=s&&s.layoutManager&&((a.path||(a.path=[])).push(l),s.layoutManager.performLayout({...a,target:s})),l.set("dirty",!0)}dispose(){let{_subscriptions:e}=this;e.forEach((e=>e.forEach((e=>e())))),e.clear()}toObject(){return{type:HS,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}};IF.setClass(vS,HS);var IS=class extends vS{performLayout(){}},DS=class e extends($F(tS)){static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t=[],l={}){super(),qm(this,"_activeObjects",[]),qm(this,"__objectSelectionTracker",void 0),qm(this,"__objectSelectionDisposer",void 0),Object.assign(this,e.ownDefaults),this.setOptions(l),this.groupInit(t,l)}groupInit(e,t){var l;this._objects=[...e],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject((e=>{this.enterGroup(e,!1)})),this.layoutManager=null==(l=t.layoutManager)?new vS:l,this.layoutManager.performLayout({type:yS,target:this,targets:[...e],x:t.left,y:t.top})}canEnterGroup(e){return e===this||this.isDescendantOf(e)?(lF("error","Group: circular object trees are not supported, this call has no effect"),!1):-1===this._objects.indexOf(e)||(lF("error","Group: duplicate objects are not supported inside group, this call has no effect"),!1)}_filterObjectsBeforeEnteringGroup(e){return e.filter(((e,t,l)=>this.canEnterGroup(e)&&l.indexOf(e)===t))}add(...e){let t=this._filterObjectsBeforeEnteringGroup(e),l=super.add(...t);return this._onAfterObjectsChange(CS,t),l}insertAt(e,...t){let l=this._filterObjectsBeforeEnteringGroup(t),n=super.insertAt(e,...l);return this._onAfterObjectsChange(CS,l),n}remove(...e){let t=super.remove(...e);return this._onAfterObjectsChange("removed",t),t}_onObjectAdded(e){this.enterGroup(e,!0),this.fire("object:added",{target:e}),e.fire("added",{target:this})}_onObjectRemoved(e,t){this.exitGroup(e,t),this.fire("object:removed",{target:e}),e.fire("removed",{target:this})}_onAfterObjectsChange(e,t){this.layoutManager.performLayout({type:e,targets:t,target:this})}_onStackOrderChanged(){this._set("dirty",!0)}_set(e,t){let l=this[e];return super._set(e,t),"canvas"===e&&l!==t&&(this._objects||[]).forEach((l=>{l._set(e,t)})),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(e,{target:t}){let l=this._activeObjects;if(e)l.push(t),this._set("dirty",!0);else if(l.length>0){let e=l.indexOf(t);e>-1&&(l.splice(e,1),this._set("dirty",!0))}}_watchObject(e,t){e&&this._watchObject(!1,t),e?(t.on("selected",this.__objectSelectionTracker),t.on("deselected",this.__objectSelectionDisposer)):(t.off("selected",this.__objectSelectionTracker),t.off("deselected",this.__objectSelectionDisposer))}enterGroup(e,t){e.group&&e.group.remove(e),e._set("parent",this),this._enterGroup(e,t)}_enterGroup(e,t){t&&hu(e,ZN(pN(this.calcTransformMatrix()),e.calcTransformMatrix())),this._shouldSetNestedCoords()&&e.setCoords(),e._set("group",this),e._set("canvas",this.canvas),this._watchObject(!0,e);let l=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();l&&(l===e||e.isDescendantOf(l))&&this._activeObjects.push(e)}exitGroup(e,t){this._exitGroup(e,t),e._set("parent",void 0),e._set("canvas",void 0)}_exitGroup(e,t){e._set("group",void 0),t||(hu(e,ZN(this.calcTransformMatrix(),e.calcTransformMatrix())),e.setCoords()),this._watchObject(!1,e);let l=this._activeObjects.length>0?this._activeObjects.indexOf(e):-1;l>-1&&this._activeObjects.splice(l,1)}shouldCache(){let e=tS.prototype.shouldCache.call(this);if(e)for(let e=0;e<this._objects.length;e++)if(this._objects[e].willDrawShadow())return this.ownCaching=!1,!1;return e}willDrawShadow(){if(super.willDrawShadow())return!0;for(let e=0;e<this._objects.length;e++)if(this._objects[e].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}
1drawObject(e,t,l){this._renderBackground(e);for(let t=0;t<this._objects.length;t++){var n;let l=this._objects[t];null!=(n=this.canvas)&&n.preserveObjectStacking&&l.group!==this?(e.save(),e.transform(...pN(this.calcTransformMatrix())),l.render(e),e.restore()):l.group===this&&l.render(e)}this._drawClipPath(e,this.clipPath,l)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject((e=>e.setCoords()))}triggerLayout(e={}){this.layoutManager.performLayout({target:this,type:"imperative",...e})}render(e){this._transformDone=!0,super.render(e),this._transformDone=!1}__serializeObjects(e,t){let l=this.includeDefaultValues;return this._objects.filter((function(e){return!e.excludeFromExport})).map((function(n){let V=n.includeDefaultValues;n.includeDefaultValues=l;let i=n[e||"toObject"](t);return n.includeDefaultValues=V,i}))}toObject(e=[]){let t=this.layoutManager.toObject();return{...super.toObject(["subTargetCheck","interactive",...e]),..."fit-content"!==t.strategy||this.includeDefaultValues?{layoutManager:t}:{},objects:this.__serializeObjects("toObject",e)}}toString(){return`#<Group: (${this.complexity()})>`}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject((e=>{this._watchObject(!1,e),e.dispose()})),super.dispose()}_createSVGBgRect(e){if(!this.backgroundColor)return"";let t=zS.prototype._toSVG.call(this),l=t.indexOf("COMMON_PARTS");t[l]='for="group" ';let n=t.join("");return e?e(n):n}_toSVG(e){let t=["<g ","COMMON_PARTS"," >\n"],l=this._createSVGBgRect(e);l&&t.push("\t\t",l);for(let l=0;l<this._objects.length;l++)t.push("\t\t",this._objects[l].toSVG(e));return t.push("</g>\n"),t}getSvgStyles(){let e=void 0!==this.opacity&&1!==this.opacity?`opacity: ${qN(this.opacity)};`:"",t=this.visible?"":" visibility: hidden;";return[e,this.getSvgFilter(),t].join("")}toClipPathSVG(e){let t=[],l=this._createSVGBgRect(e);l&&t.push("\t",l);for(let l=0;l<this._objects.length;l++)t.push("\t",this._objects[l].toClipPathSVG(e));return this._createBaseClipPathSVGMarkup(t,{reviver:e})}static fromObject({type:e,objects:t=[],layoutManager:l,...n},V){return Promise.all([xN(t,V),QN(n,V)]).then((([e,t])=>{let V=new this(e,{...n,...t,layoutManager:new IS});return V.layoutManager=l?new(IF.getClass(l.type))(new(IF.getClass(l.strategy))):new vS,V.layoutManager.subscribeTargets({type:yS,target:V,targets:V.getObjects()}),V.setCoords(),V}))}};qm(DS,"type","Group"),qm(DS,"ownDefaults",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),IF.setClass(DS);var OS=(e,t)=>e&&1===e.length?e[0]:new DS(e,t),_S=(e,t)=>Math.min(t.width/e.width,t.height/e.height),LS=(e,t)=>Math.max(t.width/e.width,t.height/e.height),KS="\\s*,?\\s*",PS=`${KS}(${RE})`,AS=`${PS}${PS}${PS}${KS}([01])${KS}([01])${PS}${PS}`,qS={m:"l",M:"L"},$S=(e,t,l,n,V,i,a,r,s,o,h)=>{let d=LF(e),R=KF(e),U=LF(t),c=KF(t),p=l*V*U-n*i*c+a,Z=n*V*U+l*i*c+r;return["C",o+s*(-l*V*R-n*i*d),h+s*(-n*V*R+l*i*d),p+s*(l*V*c+n*i*U),Z+s*(n*V*c-l*i*U),p,Z]},eJ=(e,t,l,n)=>{let V=Math.atan2(t,e),i=Math.atan2(n,l);return i>=V?i-V:2*Math.PI-(V-i)};function tJ(e,t,l,n,V,i,a,r){let s;if(tF.cachesBoundsOfCurve&&(s=[...arguments].join(),RF.boundsOfCurveCache[s]))return RF.boundsOfCurveCache[s];let o=Math.sqrt,h=Math.abs,d=[],R=[[0,0],[0,0]],U=6*e-12*l+6*V,c=-3*e+9*l-9*V+3*a,p=3*l-3*e;for(let e=0;e<2;++e){if(e>0&&(U=6*t-12*n+6*i,c=-3*t+9*n-9*i+3*r,p=3*n-3*t),h(c)<1e-12){if(h(U)<1e-12)continue;let e=-p/U;0<e&&e<1&&d.push(e);continue}let l=U*U-4*p*c;if(l<0)continue;let V=o(l),a=(-U+V)/(2*c);0<a&&a<1&&d.push(a);let s=(-U-V)/(2*c);0<s&&s<1&&d.push(s)}let Z=d.length,W=Z,m=iJ(e,t,l,n,V,i,a,r);for(;Z--;){let{x:e,y:t}=m(d[Z]);R[0][Z]=e,R[1][Z]=t}R[0][W]=e,R[1][W]=t,R[0][W+1]=a,R[1][W+1]=r;let F=[new PF(Math.min(...R[0]),Math.min(...R[1])),new PF(Math.max(...R[0]),Math.max(...R[1]))];return tF.cachesBoundsOfCurve&&(RF.boundsOfCurveCache[s]=F),F}var lJ=(e,t,[l,n,V,i,a,r,s,o])=>{let h=((e,t,l,n,V,i,a)=>{if(0===l||0===n)return[];let r=0,s=0,o=0,h=Math.PI,d=a*mF,R=KF(d),U=LF(d),c=.5*(-U*e-R*t),p=.5*(-U*t+R*e),Z=l**2,W=n**2,m=p**2,F=c**2,N=Z*W-Z*m-W*F,u=Math.abs(l),E=Math.abs(n);if(N<0){let e=Math.sqrt(1-N/(Z*W));u*=e,E*=e}else o=(V===i?-1:1)*Math.sqrt(N/(Z*m+W*F));let b=o*u*p/E,S=-o*E*c/u,J=U*b-R*S+.5*e,T=R*b+U*S+.5*t,G=eJ(1,0,(c-b)/u,(p-S)/E),M=eJ((c-b)/u,(p-S)/E,(-c-b)/u,(-p-S)/E);0===i&&M>0?M-=2*h:1===i&&M<0&&(M+=2*h);let k=Math.ceil(Math.abs(M/h*2)),Y=[],x=M/k,Q=8/3*Math.sin(x/4)*Math.sin(x/4)/Math.sin(x/2),X=G+x;for(let e=0;e<k;e++)Y[e]=$S(G,X,U,R,u,E,J,T,Q,r,s),r=Y[e][5],s=Y[e][6],G=X,X+=x;return Y})(s-e,o-t,n,V,a,r,i);for(let l=0,n=h.length;l<n;l++)h[l][1]+=e,h[l][2]+=t,h[l][3]+=e,h[l][4]+=t,h[l][5]+=e,h[l][6]+=t;return h},nJ=e=>{let t,l=0,n=0,V=0,i=0,a=[],r=0,s=0;for(let o of e){let e,h=[...o];switch(h[0]){case"l":h[1]+=l,h[2]+=n;case"L":l=h[1],n=h[2],e=["L",l,n];break;case"h":h[1]+=l;case"H":l=h[1],e=["L",l,n];break;case"v":h[1]+=n;case"V":n=h[1],e=["L",l,n];break;case"m":h[1]+=l,h[2]+=n;case"M":l=h[1],n=h[2],V=h[1],i=h[2],e=["M",l,n];break;case"c":h[1]+=l,h[2]+=n,h[3]+=l,h[4]+=n,h[5]+=l,h[6]+=n;case"C":r=h[3],s=h[4],l=h[5],n=h[6],e=["C",h[1],h[2],r,s,l,n];break;case"s":h[1]+=l,h[2]+=n,h[3]+=l,h[4]+=n;case"S":"C"===t?(r=2*l-r,s=2*n-s):(r=l,s=n),l=h[3],n=h[4],e=["C",r,s,h[1],h[2],l,n],r=e[3],s=e[4];break;case"q":h[1]+=l,h[2]+=n,h[3]+=l,h[4]+=n;case"Q":r=h[1],s=h[2],l=h[3],n=h[4],e=["Q",r,s,l,n];break;case"t":h[1]+=l,h[2]+=n;case"T":"Q"===t?(r=2*l-r,s=2*n-s):(r=l,s=n),l=h[1],n=h[2],e=["Q",r,s,l,n];break;case"a":h[6]+=l,h[7]+=n;
1case"A":lJ(l,n,h).forEach((e=>a.push(e))),l=h[6],n=h[7];break;case"z":case"Z":l=V,n=i,e=["Z"]}e?(a.push(e),t=e[0]):t=""}return a},VJ=(e,t,l,n)=>Math.sqrt((l-e)**2+(n-t)**2),iJ=(e,t,l,n,V,i,a,r)=>s=>{let o=s**3,h=3*(U=s)**2*(1-U),d=(e=>3*e*(1-e)**2)(s),R=(e=>(1-e)**3)(s);var U;return new PF(a*o+V*h+l*d+e*R,r*o+i*h+n*d+t*R)},aJ=e=>e**2,rJ=e=>2*e*(1-e),sJ=e=>(1-e)**2,oJ=(e,t,l,n,V,i,a,r)=>s=>{let o=aJ(s),h=rJ(s),d=sJ(s),R=3*(d*(l-e)+h*(V-l)+o*(a-V)),U=3*(d*(n-t)+h*(i-n)+o*(r-i));return Math.atan2(U,R)},hJ=(e,t,l,n,V,i)=>a=>{let r=aJ(a),s=rJ(a),o=sJ(a);return new PF(V*r+l*s+e*o,i*r+n*s+t*o)},dJ=(e,t,l,n,V,i)=>a=>{let r=1-a,s=2*(r*(l-e)+a*(V-l)),o=2*(r*(n-t)+a*(i-n));return Math.atan2(o,s)},RJ=(e,t,l)=>{let n=new PF(t,l),V=0;for(let t=1;t<=100;t+=1){let l=e(t/100);V+=VJ(n.x,n.y,l.x,l.y),n=l}return V},UJ=e=>{let t,l,n=0,V=0,i=0,a=0,r=0,s=[];for(let o of e){let e={x:V,y:i,command:o[0],length:0};switch(o[0]){case"M":l=e,l.x=a=V=o[1],l.y=r=i=o[2];break;case"L":l=e,l.length=VJ(V,i,o[1],o[2]),V=o[1],i=o[2];break;case"C":t=iJ(V,i,o[1],o[2],o[3],o[4],o[5],o[6]),l=e,l.iterator=t,l.angleFinder=oJ(V,i,o[1],o[2],o[3],o[4],o[5],o[6]),l.length=RJ(t,V,i),V=o[5],i=o[6];break;case"Q":t=hJ(V,i,o[1],o[2],o[3],o[4]),l=e,l.iterator=t,l.angleFinder=dJ(V,i,o[1],o[2],o[3],o[4]),l.length=RJ(t,V,i),V=o[3],i=o[4];break;case"Z":l=e,l.destX=a,l.destY=r,l.length=VJ(V,i,a,r),V=a,i=r}n+=l.length,s.push(l)}return s.push({length:n,x:V,y:i}),s},cJ=(e,t,l=UJ(e))=>{let n=0;for(;t-l[n].length>0&&n<l.length-2;)t-=l[n].length,n++;let V=l[n],i=t/V.length,a=e[n];switch(V.command){case"M":return{x:V.x,y:V.y,angle:0};case"Z":return{...new PF(V.x,V.y).lerp(new PF(V.destX,V.destY),i),angle:Math.atan2(V.destY-V.y,V.destX-V.x)};case"L":return{...new PF(V.x,V.y).lerp(new PF(a[1],a[2]),i),angle:Math.atan2(a[2]-V.y,a[1]-V.x)};case"C":case"Q":return((e,t)=>{let l,n=0,V=0,i={x:e.x,y:e.y},a={...i},r=.01,s=0,o=e.iterator,h=e.angleFinder;for(;V<t&&r>1e-4;)a=o(n),s=n,l=VJ(i.x,i.y,a.x,a.y),l+V>t?(n-=r,r/=2):(i=a,n+=r,V+=l);return{...a,angle:h(s)}})(V,t)}},pJ=RegExp("[mzlhvcsqta][^mzlhvcsqta]*","gi"),ZJ=new RegExp(AS,"g"),WJ=new RegExp(RE,"gi"),mJ={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},FJ=e=>{var t;let l=[],n=null==(t=e.match(pJ))?[]:t;for(let e of n){let t=e[0];if("z"===t||"Z"===t){l.push([t]);continue}let n=mJ[t.toLowerCase()],V=[];if("a"===t||"A"===t){let t;for(ZJ.lastIndex=0;t=ZJ.exec(e);)V.push(...t.slice(1))}else V=e.match(WJ)||[];for(let e=0;e<V.length;e+=n){let i=Array(n),a=qS[t];i[0]=e>0&&a?a:t;for(let t=0;t<n;t++)i[t+1]=parseFloat(V[e+t]);l.push(i)}}return l},NJ=(e,t=0)=>{let l,n=new PF(e[0]),V=new PF(e[1]),i=1,a=0,r=[],s=e.length,o=s>2;for(o&&(i=e[2].x<V.x?-1:e[2].x===V.x?0:1,a=e[2].y<V.y?-1:e[2].y===V.y?0:1),r.push(["M",n.x-i*t,n.y-a*t]),l=1;l<s;l++){if(!n.eq(V)){let e=n.midPointFrom(V);r.push(["Q",n.x,n.y,e.x,e.y])}n=e[l],l+1<e.length&&(V=e[l+1])}return o&&(i=n.x>e[l-2].x?1:n.x===e[l-2].x?0:-1,a=n.y>e[l-2].y?1:n.y===e[l-2].y?0:-1),r.push(["L",n.x+i*t,n.y+a*t]),r},uJ=(e,t,l)=>(l&&(t=ZN(t,[1,0,0,1,-l.x,-l.y])),e.map((e=>{let l=[...e];for(let n=1;n<e.length-1;n+=2){let{x:V,y:i}=cN({x:e[n],y:e[n+1]},t);l[n]=V,l[n+1]=i}return l}))),EJ=(e,t)=>{let l=2*Math.PI/e,n=-pF;e%2==0&&(n+=l/2);let V=Array(e+1);for(let i=0;i<e;i++){let e=i*l+n,{x:a,y:r}=new PF(LF(e),KF(e)).scalarMultiply(t);V[i]=[0===i?"M":"L",a,r]}return V[e]=["Z"],V},bJ=(e,t)=>e.map((e=>e.map(((e,l)=>0===l||void 0===t?e:fN(e,t))).join(" "))).join(" "),SJ=(e,t)=>{var l;let n=e,V=t;n.inverted&&!V.inverted&&(n=t,V=e),Wu(V,null==(l=V.group)?void 0:l.calcTransformMatrix(),n.calcTransformMatrix());let i=n.inverted&&V.inverted;return i&&(n.inverted=V.inverted=!1),new DS([n],{clipPath:V,inverted:i})},JJ=(e,t)=>Math.floor(Math.random()*(t-e+1))+e,TJ=(e,t)=>{let l=e._findCenterFromElement();e.transformMatrix&&((e=>{if(e.transformMatrix){let{scaleX:t,scaleY:l,angle:n,skewX:V}=uN(e.transformMatrix);e.flipX=!1,e.flipY=!1,e.set(fF,t),e.set(zF,l),e.angle=n,e.skewX=V,e.skewY=0}})(e),l=l.transform(e.transformMatrix)),delete e.transformMatrix,t&&(e.scaleX*=t.scaleX,e.scaleY*=t.scaleY,e.cropX=t.cropX,e.cropY=t.cropY,l.x+=t.offsetLeft,l.y+=t.offsetTop,e.width=t.width,e.height=t.height),e.setPositionByOrigin(l,NF,NF)};Pm({addTransformToObject:()=>ou,animate:()=>Ub,animateColor:()=>cb,applyTransformToObject:()=>hu,calcAngleBetweenVectors:()=>Ju,calcDimensionsMatrix:()=>MN,calcPlaneChangeMatrix:()=>cu,calcVectorRotation:()=>Tu,cancelAnimFrame:()=>lN,capValue:()=>EE,composeMatrix:()=>kN,copyCanvasElement:()=>rN,cos:()=>LF,createCanvasElement:()=>iN,createImage:()=>aN,createRotateMatrix:()=>bN,createScaleMatrix:()=>SN,createSkewXMatrix:()=>TN,createSkewYMatrix:()=>GN,createTranslateMatrix:()=>EN,createVector:()=>bu,crossProduct:()=>ku,degreesToRadians:()=>dN,dotProduct:()=>Yu,ease:()=>TE,enlivenObjectEnlivables:()=>QN,enlivenObjects:()=>xN,findScaleToCover:()=>LS,findScaleToFit:()=>_S,getBoundsOfCurve:()=>tJ,getOrthonormalVector:()=>Mu,getPathSegmentsInfo:()=>UJ,getPointOnPath:()=>cJ,getPointer:()=>Vu,getRandomInt:()=>JJ,getRegularPolygonPath:()=>EJ,getSmoothPathFromPoints:()=>NJ,getSvgAttributes:()=>Au,getUnitVector:()=>Gu,groupSVGElements:()=>OS,hasStyleChanged:()=>oS,invertTransform:()=>pN,isBetweenVectors:()=>xu,isIdentityMatrix:()=>UN,isTouchEvent:()=>iu,isTransparent:()=>lS,joinPath:()=>bJ,loadImage:()=>YN,magnitude:()=>Su,makeBoundingBoxFromPoints:()=>ru,makePathSimpler:()=>nJ,matrixToSVG:()=>zN,mergeClipPaths:()=>SJ,multiplyTransformMatrices:()=>ZN,multiplyTransformMatrixArray:()=>WN,parsePath:()=>FJ,parsePreserveAspectRatioAttribute:()=>$u,parseUnit:()=>qu,pick:()=>XN,projectStrokeOnPoints:()=>rS,qrDecompose:()=>uN,radiansToDegrees:()=>RN,removeFromArray:()=>_F,removeTransformFromObject:()=>su,removeTransformMatrixForSvgParsing:()=>TJ,requestAnimFrame:()=>tN,resetObjectTransform:()=>du,rotateVector:()=>Eu,saveObjectTransform:()=>Ru,sendObjectToPlane:()=>Wu,sendPointToPlane:()=>pu,sendVectorToPlane:()=>Zu,sin:()=>KF,sizeAfterTransform:()=>Uu,string:()=>PN,stylesFromArray:()=>dS,stylesToArray:()=>hS,toBlob:()=>hN,toDataURL:()=>oN,toFixed:()=>fN,transformPath:()=>uJ,transformPoint:()=>cN});function GJ(e,t){let l=e.style;l&&Object.entries(t).forEach((([e,t])=>l.setProperty(e,t)))}var MJ=class extends LN{constructor(e,{allowTouchScrolling:t=!1,containerClass:l=""}={}){super(e),qm(this,"upper",void 0),qm(this,"container",void 0);let{el:n}=this.lower,V=this.createUpperCanvas();
vendor: 4,193 bytes, line 1
1this.upper={el:V,ctx:V.getContext("2d")},this.applyCanvasStyle(n,{allowTouchScrolling:t}),this.applyCanvasStyle(V,{allowTouchScrolling:t,styles:{position:"absolute",left:"0",top:"0"}});let i=this.createContainerElement();i.classList.add(l),n.parentNode&&n.parentNode.replaceChild(i,n),i.append(n,V),this.container=i}createUpperCanvas(){let{el:e}=this.lower,t=iN();return t.className=e.className,t.classList.remove("lower-canvas"),t.classList.add("upper-canvas"),t.setAttribute("data-fabric","top"),t.style.cssText=e.style.cssText,t.setAttribute("draggable","true"),t}createContainerElement(){let e=oF().createElement("div");return e.setAttribute("data-fabric","wrapper"),GJ(e,{position:"relative"}),ON(e),e}applyCanvasStyle(e,t){let{styles:l,allowTouchScrolling:n}=t;GJ(e,{...l,"touch-action":n?"manipulation":SF}),ON(e)}setDimensions(e,t){super.setDimensions(e,t);let{el:l,ctx:n}=this.upper;IN(l,n,e,t)}setCSSDimensions(e){super.setCSSDimensions(e),DN(this.upper.el,e),DN(this.container,e)}cleanupDOM(e){let t=this.container,{el:l}=this.lower,{el:n}=this.upper;super.cleanupDOM(e),t.removeChild(n),t.removeChild(l),t.parentNode&&t.parentNode.replaceChild(l,t)}dispose(){super.dispose(),sF().dispose(this.upper.el),delete this.upper,delete this.container}},kJ=(e,t,l,n)=>{let{target:V,offsetX:i,offsetY:a}=t,r=l-i,s=n-a,o=!fu(V,"lockMovementX")&&V.left!==r,h=!fu(V,"lockMovementY")&&V.top!==s;return o&&V.set("left",r),h&&V.set("top",s),(o||h)&&mb(TF,zu(e,t,l,n)),o||h},YJ=QF,xJ=e=>function(t,l,n){let{points:V,pathOffset:i}=n;return new PF(V[e]).subtract(i).transform(ZN(n.getViewportTransform(),n.calcTransformMatrix()))},QJ=(e,t,l,n)=>{let{target:V,pointIndex:i}=t,a=V,r=pu(new PF(l,n),void 0,a.calcOwnMatrix());return a.points[i]=r.add(a.pathOffset),a.setDimensions(),a.set("dirty",!0),!0},XJ=(e,t)=>function(l,n,V,i){let a=n.target,r=new PF(a.points[(e>0?e:a.points.length)-1]),s=r.subtract(a.pathOffset).transform(a.calcOwnMatrix()),o=t(l,{...n,pointIndex:e},V,i),h=r.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(s);return a.left-=h.x,a.top-=h.y,o},wJ=e=>Fb(YJ,XJ(e,QJ));function fJ(e,t={}){let l={};for(let n=0;n<("number"==typeof e?e:e.points.length);n++)l[`p${n}`]=new Mb({actionName:YJ,positionHandler:xJ(n),actionHandler:wJ(n),...t});return l}var zJ=(e,t,l)=>{let{path:n,pathOffset:V}=e,i=n[t];return new PF(i[l]-V.x,i[l+1]-V.y).transform(ZN(e.getViewportTransform(),e.calcTransformMatrix()))};function yJ(e,t,l){let{commandIndex:n,pointIndex:V}=this;return zJ(l,n,V)}function CJ(e,t,l,n){let{target:V}=t,{commandIndex:i,pointIndex:a}=this,r=((e,t,l,n,V)=>{let{path:i,pathOffset:a}=e,r=i[(n>0?n:i.length)-1],s=new PF(r[V],r[V+1]),o=s.subtract(a).transform(e.calcOwnMatrix()),h=pu(new PF(t,l),void 0,e.calcOwnMatrix());i[n][V]=h.x+a.x,i[n][V+1]=h.y+a.y,e.setDimensions();let d=s.subtract(e.pathOffset).transform(e.calcOwnMatrix()).subtract(o);return e.left-=d.x,e.top-=d.y,e.set("dirty",!0),!0})(V,l,n,i,a);return r&&mb(this.actionName,{...zu(e,t,l,n),commandIndex:i,pointIndex:a}),r}var jJ=class extends Mb{constructor(e){super(e)}render(e,t,l,n,V){let i={...n,cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill};super.render(e,t,l,i,V)}},gJ=class extends jJ{constructor(e){super(e)}render(e,t,l,n,V){let{path:i}=V,{commandIndex:a,pointIndex:r,connectToCommandIndex:s,connectToPointIndex:o}=this;e.save(),e.strokeStyle=this.controlStroke,this.connectionDashArray&&e.setLineDash(this.connectionDashArray);let[h]=i[a],d=zJ(V,s,o);if("Q"===h){let n=zJ(V,a,r+2);e.moveTo(n.x,n.y),e.lineTo(t,l)}else e.moveTo(t,l);e.lineTo(d.x,d.y),e.stroke(),e.restore(),super.render(e,t,l,n,V)}},BJ=(e,t,l,n,V,i)=>new(l?gJ:jJ)({commandIndex:e,pointIndex:t,actionName:"modifyPath",positionHandler:yJ,actionHandler:CJ,connectToCommandIndex:V,connectToPointIndex:i,...n,...l?n.controlPointStyle:n.pointStyle});function HJ(e,t={}){let l={},n="M";return e.path.forEach(((e,V)=>{let i=e[0];switch("Z"!==i&&(l[`c_${V}_${i}`]=BJ(V,e.length-2,!1,t)),i){case"C":l[`c_${V}_C_CP_1`]=BJ(V,1,!0,t,V-1,(e=>"C"===e?5:"Q"===e?3:1)(n)),l[`c_${V}_C_CP_2`]=BJ(V,3,!0,t,V,5);break;case"Q":l[`c_${V}_Q_CP_1`]=BJ(V,1,!0,t,V,3)}n=i})),l}Pm({changeHeight:()=>
1Jb,changeObjectHeight:()=>bb,changeObjectWidth:()=>Eb,changeWidth:()=>Sb,createObjectDefaultControls:()=>Pb,createPathControls:()=>HJ,createPolyActionHandler:()=>wJ,createPolyControls:()=>fJ,createPolyPositionHandler:()=>xJ,createResizeControls:()=>Ab,createTextboxDefaultControls:()=>qb,dragHandler:()=>kJ,factoryPolyActionHandler:()=>XJ,getLocalPoint:()=>Cu,polyActionHandler:()=>QJ,renderCircleControl:()=>Tb,renderSquareControl:()=>Gb,rotationStyleHandler:()=>kb,rotationWithSnapping:()=>Yb,scaleCursorStyleHandler:()=>wb,scaleOrSkewActionName:()=>Ob,scaleSkewCursorStyleHandler:()=>_b,scalingEqually:()=>zb,scalingX:()=>yb,scalingXOrSkewingY:()=>Lb,scalingY:()=>Cb,scalingYOrSkewingX:()=>Kb,skewCursorStyleHandler:()=>Bb,skewHandlerX:()=>vb,skewHandlerY:()=>Ib,wrapWithFireEvent:()=>Fb,wrapWithFixedAnchor:()=>Nb});var vJ=class e extends lu{constructor(...e){super(...e),qm(this,"_hoveredTargets",[]),qm(this,"_currentTransform",null),qm(this,"_groupSelector",null),qm(this,"contextTopDirty",!1)}static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}get upperCanvasEl(){var e;return null==(e=this.elements.upper)?void 0:e.el}get contextTop(){var e;return null==(e=this.elements.upper)?void 0:e.ctx}get wrapperEl(){return this.elements.container}initElements(e){this.elements=new MJ(e,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(e){this._objectsToRender=void 0,super._onObjectAdded(e)}_onObjectRemoved(e){this._objectsToRender=void 0,e===this._activeObject&&(this.fire("before:selection:cleared",{deselected:[e]}),this._discardActiveObject(),this.fire("selection:cleared",{deselected:[e]}),e.fire("deselected",{target:e})),e===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(e)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){let e=this._activeObject;return!this.preserveObjectStacking&&e?this._objects.filter((t=>!t.group&&t!==e)).concat(e):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(e){e.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(e),this.contextTopDirty=!0),e.restore()}renderTop(){let e=this.contextTop;this.clearContext(e),this.renderTopLayer(e),this.fire("after:render",{ctx:e})}setTargetFindTolerance(e){e=Math.round(e),this.targetFindTolerance=e;let t=this.getRetinaScaling(),l=Math.ceil((2*e+1)*t);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=l,this.pixelFindContext.scale(t,t)}
1isTargetTransparent(e,t,l){let n=this.targetFindTolerance,V=this.pixelFindContext;this.clearContext(V),V.save(),V.translate(-t+n,-l+n),V.transform(...this.viewportTransform);let i=e.selectionBackgroundColor;e.selectionBackgroundColor="",e.render(V),e.selectionBackgroundColor=i,V.restore();let a=Math.round(n*this.getRetinaScaling());return lS(V,a,a,a)}_isSelectionKeyPressed(e){let t=this.selectionKey;return!!t&&(Array.isArray(t)?!!t.find((t=>!!t&&!0===e[t])):e[t])}_shouldClearSelection(e,t){let l=this.getActiveObjects(),n=this._activeObject;return!!(!t||t&&n&&l.length>1&&-1===l.indexOf(t)&&n!==t&&!this._isSelectionKeyPressed(e)||t&&!t.evented||t&&!t.selectable&&n&&n!==t)}_shouldCenterTransform(e,t,l){if(!e)return;let n;return"scale"===t||"scaleX"===t||"scaleY"===t||"resizing"===t?n=this.centeredScaling||e.centeredScaling:"rotate"===t&&(n=this.centeredRotation||e.centeredRotation),n?!l:l}_getOriginFromCorner(e,t){let l=t?e.controls[t].getTransformAnchorPoint():{x:e.originX,y:e.originY};return t&&(["ml","tl","bl"].includes(t)?l.x=bF:["mr","tr","br"].includes(t)&&(l.x=uF),["tl","mt","tr"].includes(t)?l.y=EF:["bl","mb","br"].includes(t)&&(l.y="top")),l}_setupCurrentTransform(e,t,l){var n;let V=t.group?pu(this.getScenePoint(e),void 0,t.group.calcTransformMatrix()):this.getScenePoint(e),{key:i="",control:a}=t.getActiveControl()||{},r=l&&a?null==(n=a.getActionHandler(e,t,a))?void 0:n.bind(a):kJ,s=((e,t,l,n)=>{if(!t||!e)return"drag";let V=n.controls[t];return V.getActionName(l,V,n)})(l,i,e,t),o=e[this.centeredKey],h=this._shouldCenterTransform(t,s,o)?{x:NF,y:NF}:this._getOriginFromCorner(t,i),{scaleX:d,scaleY:R,skewX:U,skewY:c,left:p,top:Z,angle:W,width:m,height:F,cropX:N,cropY:u}=t,E={target:t,action:s,actionHandler:r,actionPerformed:!1,corner:i,scaleX:d,scaleY:R,skewX:U,skewY:c,offsetX:V.x-p,offsetY:V.y-Z,originX:h.x,originY:h.y,ex:V.x,ey:V.y,lastX:V.x,lastY:V.y,theta:dN(W),width:m,height:F,shiftKey:e.shiftKey,altKey:o,original:{...Ru(t),originX:h.x,originY:h.y,cropX:N,cropY:u}};this._currentTransform=E,this.fire("before:transform",{e:e,transform:E})}setCursor(e){this.upperCanvasEl.style.cursor=e}_drawSelection(e){let{x:t,y:l,deltaX:n,deltaY:V}=this._groupSelector,i=new PF(t,l).transform(this.viewportTransform),a=new PF(t+n,l+V).transform(this.viewportTransform),r=this.selectionLineWidth/2,s=Math.min(i.x,a.x),o=Math.min(i.y,a.y),h=Math.max(i.x,a.x),d=Math.max(i.y,a.y);this.selectionColor&&(e.fillStyle=this.selectionColor,e.fillRect(s,o,h-s,d-o)),this.selectionLineWidth&&this.selectionBorderColor&&(e.lineWidth=this.selectionLineWidth,e.strokeStyle=this.selectionBorderColor,s+=r,o+=r,h-=r,d-=r,tS.prototype._setLineDash.call(this,e,this.selectionDashArray),e.strokeRect(s,o,h-s,d-o))}findTarget(e){if(this._targetInfo)return this._targetInfo;if(this.skipTargetFind)return{subTargets:[],currentSubTargets:[]};let t=this.getScenePoint(e),l=this._activeObject,n=this.getActiveObjects(),V=this.searchPossibleTargets(this._objects,t),{subTargets:i,container:a,target:r}=V,s={...V,currentSubTargets:i,currentContainer:a,currentTarget:r};if(!l)return s;let o={...this.searchPossibleTargets([l],t),currentSubTargets:i,currentContainer:a,currentTarget:r};return l.findControl(this.getViewportPoint(e),iu(e))?{...o,target:l}:o.target&&(n.length>1||!this.preserveObjectStacking||this.preserveObjectStacking&&e[this.altSelectionKey])?o:s}_pointIsInObjectSelectionArea(e,t){let l=e.getCoords(),n=this.getZoom(),V=e.padding/n;if(V){let[e,t,n,i]=l,a=Math.atan2(t.y-e.y,t.x-e.x),r=LF(a)*V,s=KF(a)*V,o=r+s,h=r-s;l=[new PF(e.x-h,e.y-o),new PF(t.x+o,t.y-h),new PF(n.x+h,n.y+o),new PF(i.x-o,i.y+h)]}return pb.isPointInPolygon(t,l)}_checkTarget(e,t){if(e&&e.visible&&e.evented&&this._pointIsInObjectSelectionArea(e,t)){if(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing)return!0;{let l=t.transform(this.viewportTransform);
1if(!this.isTargetTransparent(e,l.x,l.y))return!0}}return!1}_searchPossibleTargets(e,t,l){let n=e.length;for(;n--;){let V=e[n];if(this._checkTarget(V,t)){if(qF(V)&&V.subTargetCheck){let{target:e}=this._searchPossibleTargets(V._objects,t,l);e&&l.push(e)}return{target:V,subTargets:l}}}return{subTargets:[]}}searchPossibleTargets(e,t){let l=this._searchPossibleTargets(e,t,[]);l.container=l.target;let{container:n,subTargets:V}=l;if(n&&qF(n)&&n.interactive&&V[0]){for(let e=V.length-1;e>0;e--){let t=V[e];if(!qF(t)||!t.interactive)return l.target=t,l}return l.target=V[0],l}return l}getViewportPoint(e){return this._viewportPoint?this._viewportPoint:this._getPointerImpl(e,!0)}getScenePoint(e){return this._scenePoint?this._scenePoint:this._getPointerImpl(e)}_getPointerImpl(e,t=!1){let l=this.upperCanvasEl,n=l.getBoundingClientRect(),V=Vu(e),i=n.width||0,a=n.height||0;i&&a||("top"in n&&"bottom"in n&&(a=Math.abs(n.top-n.bottom)),"right"in n&&"left"in n&&(i=Math.abs(n.right-n.left))),this.calcOffset(),V.x-=this._offset.left,V.y-=this._offset.top,t||(V=pu(V,void 0,this.viewportTransform));let r=this.getRetinaScaling();1!==r&&(V.x/=r,V.y/=r);let s=0===i||0===a?new PF(1,1):new PF(l.width/i,l.height/a);return V.multiply(s)}_setDimensionsImpl(e,t){this._resetTransformEventData(),super._setDimensionsImpl(e,t),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=iN(),this.pixelFindContext=this.pixelFindCanvasEl.getContext("2d",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){let e=this._activeObject;return gN(e)?e.getObjects():e?[e]:[]}_fireSelectionEvents(e,t){let l=!1,n=!1,V=this.getActiveObjects(),i=[],a=[];e.forEach((e=>{V.includes(e)||(l=!0,e.fire("deselected",{e:t,target:e}),a.push(e))})),V.forEach((n=>{e.includes(n)||(l=!0,n.fire("selected",{e:t,target:n}),i.push(n))})),e.length>0&&V.length>0?(n=!0,l&&this.fire("selection:updated",{e:t,selected:i,deselected:a})):V.length>0?(n=!0,this.fire("selection:created",{e:t,selected:i})):e.length>0&&(n=!0,this.fire("selection:cleared",{e:t,deselected:a})),n&&(this._objectsToRender=void 0)}setActiveObject(e,t){let l=this.getActiveObjects(),n=this._setActiveObject(e,t);return this._fireSelectionEvents(l,t),n}_setActiveObject(e,t){let l=this._activeObject;return!(l===e||!this._discardActiveObject(t,e)&&this._activeObject||e.onSelect({e:t})||(this._activeObject=e,gN(e)&&l!==e&&e.set("canvas",this),e.setCoords(),0))}_discardActiveObject(e,t){let l=this._activeObject;return!!l&&!l.onDeselect({e:e,object:t})&&(this._currentTransform&&this._currentTransform.target===l&&this.endCurrentTransform(e),gN(l)&&l===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(e){let t=this.getActiveObjects(),l=this.getActiveObject();t.length&&this.fire("before:selection:cleared",{e:e,deselected:[l]});let n=this._discardActiveObject(e);return this._fireSelectionEvents(t,e),n}endCurrentTransform(e){let t=this._currentTransform;this._finalizeCurrentTransform(e),t&&t.target&&(t.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(e){let t=this._currentTransform,l=t.target,n={e:e,target:l,transform:t,action:t.action};l._scaling&&(l._scaling=!1),l.setCoords(),t.actionPerformed&&(this.fire("object:modified",n),l.fire(BF,n))}setViewportTransform(e){super.setViewportTransform(e);let t=this._activeObject;t&&t.setCoords()}destroy(){let e=this._activeObject;gN(e)&&(e.removeAll(),e.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(e){let t=this._activeObject;t&&t._renderControls(e)}_toObject(e,t,l){let n=this._realizeGroupTransformOnObject(e),V=super._toObject(e,t,l);return e.set(n),V}_realizeGroupTransformOnObject(e){let{group:t}=e;if(t&&gN(t)&&this._activeObject===t){let l=XN(e,["angle","flipX","flipY",uF,fF,zF,yF,CF,"top"]);return ou(e,t.calcOwnMatrix()),l}return{}}_setSVGObject(e,t,l){let n=this._realizeGroupTransformOnObject(t);super._setSVGObject(e,t,l),t.set(n)}};qm(vJ,"ownDefaults",{uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCurs
1or:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!0,fireRightClick:!0,fireMiddleClick:!0,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!0});var IJ=class{constructor(e){qm(this,"targets",[]),qm(this,"__disposer",void 0);let t=()=>{let{hiddenTextarea:t}=e.getActiveObject()||{};t&&t.focus()},l=e.upperCanvasEl;l.addEventListener("click",t),this.__disposer=()=>l.removeEventListener("click",t)}exitTextEditing(){this.target=void 0,this.targets.forEach((e=>{e.isEditing&&e.exitEditing()}))}add(e){this.targets.push(e)}remove(e){this.unregister(e),_F(this.targets,e)}register(e){this.target=e}unregister(e){e===this.target&&(this.target=void 0)}onMouseMove(e){var t;null!=(t=this.target)&&t.isEditing&&this.target.updateSelectionOnMouseMove(e)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}},DJ={passive:!1},OJ=(e,t)=>({viewportPoint:e.getViewportPoint(t),scenePoint:e.getScenePoint(t)}),_J=(e,...t)=>e.addEventListener(...t),LJ=(e,...t)=>e.removeEventListener(...t),KJ={mouse:{in:"over",out:"out",targetIn:"mouseover",targetOut:"mouseout",canvasIn:"mouse:over",canvasOut:"mouse:out"},drag:{in:"enter",out:"leave",targetIn:"dragenter",targetOut:"dragleave",canvasIn:"drag:enter",canvasOut:"drag:leave"}},PJ=class extends vJ{constructor(e,t={}){super(e,t),qm(this,"_isClick",void 0),qm(this,"textEditingManager",new IJ(this)),["_onMouseDown","_onTouchStart","_onMouseMove","_onMouseUp","_onTouchEnd","_onResize","_onMouseWheel","_onMouseOut","_onMouseEnter","_onContextMenu","_onClick","_onDragStart","_onDragEnd","_onDragProgress","_onDragOver","_onDragEnter","_onDragLeave","_onDrop"].forEach((e=>{this[e]=this[e].bind(this)})),this.addOrRemove(_J)}_getEventPrefix(){return this.enablePointerEvents?"pointer":"mouse"}addOrRemove(e,t=!1){let l=this.upperCanvasEl,n=this._getEventPrefix();e(vN(l),"resize",this._onResize),e(l,n+"down",this._onMouseDown),e(l,`${n}move`,this._onMouseMove,DJ),e(l,`${n}out`,this._onMouseOut),e(l,`${n}enter`,this._onMouseEnter),e(l,"wheel",this._onMouseWheel,{passive:!1}),e(l,"contextmenu",this._onContextMenu),t||(e(l,"click",this._onClick),e(l,"dblclick",this._onClick)),e(l,"dragstart",this._onDragStart),e(l,"dragend",this._onDragEnd),e(l,"dragover",this._onDragOver),e(l,"dragenter",this._onDragEnter),e(l,"dragleave",this._onDragLeave),e(l,"drop",this._onDrop),this.enablePointerEvents||e(l,"touchstart",this._onTouchStart,DJ)}removeListeners(){this.addOrRemove(LJ);let e=this._getEventPrefix(),t=HN(this.upperCanvasEl);LJ(t,`${e}up`,this._onMouseUp),LJ(t,"touchend",this._onTouchEnd,DJ),LJ(t,`${e}move`,this._onMouseMove,DJ),LJ(t,"touchmove",this._onMouseMove,DJ),clearTimeout(this._willAddMouseDown)}_onMouseWheel(e){this._cacheTransformEventData(e),this._handleEvent(e,"wheel"),this._resetTransformEventData()}_onMouseOut(e){let t=this._hoveredTarget,l={e:e,...OJ(this,e)};this.fire("mouse:out",{...l,target:t}),this._hoveredTarget=void 0,t&&t.fire("mouseout",{...l}),this._hoveredTargets.forEach((e=>{this.fire("mouse:out",{...l,target:e}),e&&e.fire("mouseout",{...l})})),this._hoveredTargets=[]}_onMouseEnter(e){let{target:t}=this.findTarget(e);this._currentTransform||t||(this.fire("mouse:over",{e:e,...OJ(this,e)}),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(e){this._isClick=!1;let t=this.getActiveObject();if(t&&t.onDragStart(e)){this._dragSource=t;let l={e:e,target:t};return this.fire("dragstart",l),t.fire("dragstart",l),void _J(this.upperCanvasEl,"drag",this._onDragProgress)}au(e)}_renderDragEffects(e,t,l){let n=!1,V=this._dropTarget;V&&V!==t&&V!==l&&(V.clearContextTop(),n=!0),t?.clearContextTop(),l!==t&&l?.clearContextTop();let i=this.contextTop;i.save(),i.transform(...this.viewportTransform),t&&(i.save(),t.transform(i),t.renderDragSourceEffect(e),i.restore(),n=!0),l&&(i.save(),l.transform(i),l.renderDropTargetEffect(e),i.restore(),n=!0),i.restore(),n&&(this.contextTopDirty=!0)}_onDragEnd(e){let{currentSubTargets:t}
1=this.findTarget(e),l=!!e.dataTransfer&&"none"!==e.dataTransfer.dropEffect,n=l?this._activeObject:void 0,V={e:e,target:this._dragSource,subTargets:t,dragSource:this._dragSource,didDrop:l,dropTarget:n};LJ(this.upperCanvasEl,"drag",this._onDragProgress),this.fire("dragend",V),this._dragSource&&this._dragSource.fire("dragend",V),delete this._dragSource,this._onMouseUp(e)}_onDragProgress(e){let t={e:e,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire("drag",t),this._dragSource&&this._dragSource.fire("drag",t)}_onDragOver(e){let t,l="dragover",{currentContainer:n,currentSubTargets:V}=this.findTarget(e),i=this._dragSource,a={e:e,target:n,subTargets:V,dragSource:i,canDrop:!1,dropTarget:void 0};this.fire(l,a),this._fireEnterLeaveEvents(e,n,a),n&&(n.canDrop(e)&&(t=n),n.fire(l,a));for(let n=0;n<V.length;n++){let i=V[n];i.canDrop(e)&&(t=i),i.fire(l,a)}this._renderDragEffects(e,i,t),this._dropTarget=t}_onDragEnter(e){let{currentContainer:t,currentSubTargets:l}=this.findTarget(e),n={e:e,target:t,subTargets:l,dragSource:this._dragSource};this.fire("dragenter",n),this._fireEnterLeaveEvents(e,t,n)}_onDragLeave(e){let{currentSubTargets:t}=this.findTarget(e),l={e:e,target:this._draggedoverTarget,subTargets:t,dragSource:this._dragSource};this.fire("dragleave",l),this._fireEnterLeaveEvents(e,void 0,l),this._renderDragEffects(e,this._dragSource),this._dropTarget=void 0,this._hoveredTargets=[]}_onDrop(e){let{currentContainer:t,currentSubTargets:l}=this.findTarget(e),n=this._basicEventHandler("drop:before",{e:e,target:t,subTargets:l,dragSource:this._dragSource,...OJ(this,e)});n.didDrop=!1,n.dropTarget=void 0,this._basicEventHandler("drop",n),this.fire("drop:after",n)}_onContextMenu(e){let{target:t,subTargets:l}=this.findTarget(e),n=this._basicEventHandler("contextmenu:before",{e:e,target:t,subTargets:l});return this.stopContextMenu&&au(e),this._basicEventHandler("contextmenu",n),!1}_onClick(e){let t=e.detail;t>3||t<2||(this._cacheTransformEventData(e),2==t&&"dblclick"===e.type&&this._handleEvent(e,"dblclick"),3==t&&this._handleEvent(e,"tripleclick"),this._resetTransformEventData())}fireEventFromPointerEvent(e,t,l,n={}){this._cacheTransformEventData(e);let{target:V,subTargets:i}=this.findTarget(e),a={e:e,target:V,subTargets:i,...OJ(this,e),transform:this._currentTransform,...n};this.fire(t,a),V&&V.fire(l,a);for(let e=0;e<i.length;e++)i[e]!==V&&i[e].fire(l,a);this._resetTransformEventData()}getPointerId(e){let t=e.changedTouches;return t?t[0]&&t[0].identifier:this.enablePointerEvents?e.pointerId:-1}_isMainEvent(e){return!0===e.isPrimary||!1!==e.isPrimary&&("touchend"===e.type&&0===e.touches.length||!e.changedTouches||e.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(e){this._cacheTransformEventData(e);let t=!this.allowTouchScrolling,l=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(e)),this.__onMouseDown(e);let{target:n}=this.findTarget(e);(this.isDrawingMode||l&&n===l)&&(t=!0),t&&e.preventDefault();let V=this.upperCanvasEl,i=this._getEventPrefix(),a=HN(V);_J(a,"touchend",this._onTouchEnd,DJ),t&&_J(a,"touchmove",this._onMouseMove,DJ),LJ(V,`${i}down`,this._onMouseDown),this._resetTransformEventData()}_onMouseDown(e){this._cacheTransformEventData(e),this.__onMouseDown(e);let t=this.upperCanvasEl,l=this._getEventPrefix();LJ(t,`${l}move`,this._onMouseMove,DJ);let n=HN(t);_J(n,`${l}up`,this._onMouseUp),_J(n,`${l}move`,this._onMouseMove,DJ),this._resetTransformEventData()}_onTouchEnd(e){if(e.touches.length>0)return;this._cacheTransformEventData(e),this.__onMouseUp(e),this._resetTransformEventData(),delete this.mainTouchId;let t=this._getEventPrefix(),l=HN(this.upperCanvasEl);LJ(l,"touchend",this._onTouchEnd,DJ),LJ(l,"touchmove",this._onMouseMove,DJ),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout((()=>{_J(this.upperCanvasEl,`${t}down`,this._onMouseDown),this._willAddMouseDown=0}),400)}_onMouseUp(e){this._cacheTransformEventData(e),this.__onMouseUp(e);let t=this.upperCanvasEl,l=this._getEventPrefix();if(this._isMainEvent(e)){let e=HN(this.upperCanvasEl);
vendor: 9,106 bytes, line 1
1LJ(e,`${l}up`,this._onMouseUp),LJ(e,`${l}move`,this._onMouseMove,DJ),_J(t,`${l}move`,this._onMouseMove,DJ)}this._resetTransformEventData()}_onMouseMove(e){this._cacheTransformEventData(e);let t=this.getActiveObject();!this.allowTouchScrolling&&(!t||!t.shouldStartDragging(e))&&e.preventDefault&&e.preventDefault(),this.__onMouseMove(e),this._resetTransformEventData()}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(e){let t=this.getActiveObject();return!!t!=!!e||t&&e&&t!==e}__onMouseUp(e){var t;this._handleEvent(e,"up:before");let l=this._currentTransform,n=this._isClick,{target:V}=this.findTarget(e),{button:i}=e;if(i)return void((this.fireMiddleClick&&1===i||this.fireRightClick&&2===i)&&this._handleEvent(e,"up"));if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(e);if(!this._isMainEvent(e))return;let a,r,s=!1;if(l&&(this._finalizeCurrentTransform(e),s=l.actionPerformed),!n){let t=V===this._activeObject;this.handleSelection(e),s||(s=this._shouldRender(V)||!t&&V===this._activeObject)}if(V){let{key:t,control:n}=V.findControl(this.getViewportPoint(e),iu(e))||{};if(r=t,V.selectable&&V!==this._activeObject&&"up"===V.activeOn)this.setActiveObject(V,e),s=!0;else if(n){let t=n.getMouseUpHandler(e,V,n);t&&(a=this.getScenePoint(e),t.call(n,e,l,a.x,a.y))}V.isMoving=!1}if(l&&(l.target!==V||l.corner!==r)){let t=l.target&&l.target.controls[l.corner],n=t&&t.getMouseUpHandler(e,l.target,t);a=a||this.getScenePoint(e),n&&n.call(t,e,l,a.x,a.y)}this._setCursorFromEvent(e,V),this._handleEvent(e,"up"),this._groupSelector=null,this._currentTransform=null,V&&(V.__corner=void 0),s?this.requestRenderAll():n||null!=(t=this._activeObject)&&t.isEditing||this.renderTop()}_basicEventHandler(e,t){let{target:l,subTargets:n=[]}=t;this.fire(e,t),l&&l.fire(e,t);for(let V=0;V<n.length;V++)n[V]!==l&&n[V].fire(e,t);return t}_handleEvent(e,t,l){let{target:n,subTargets:V}=this.findTarget(e),i={e:e,target:n,subTargets:V,...OJ(this,e),transform:this._currentTransform,..."down:before"===t||"down"===t?l:{}};"up:before"!==t&&"up"!==t||(i.isClick=this._isClick),this.fire(`mouse:${t}`,i),n&&n.fire(`mouse${t}`,i);for(let e=0;e<V.length;e++)V[e]!==n&&V[e].fire(`mouse${t}`,i)}_onMouseDownInDrawingMode(e){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(e),this.requestRenderAll());let t=this.getScenePoint(e);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(t,{e:e,pointer:t}),this._handleEvent(e,"down",{alreadySelected:!1})}_onMouseMoveInDrawingMode(e){if(this._isCurrentlyDrawing){let t=this.getScenePoint(e);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(t,{e:e,pointer:t})}this.setCursor(this.freeDrawingCursor),this._handleEvent(e,"move")}_onMouseUpInDrawingMode(e){let t=this.getScenePoint(e);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:e,pointer:t}):this._isCurrentlyDrawing=!1,this._handleEvent(e,"up")}__onMouseDown(e){this._isClick=!0,this._handleEvent(e,"down:before");let{target:t}=this.findTarget(e),l=!!t&&t===this._activeObject,{button:n}=e;if(n)return void((this.fireMiddleClick&&1===n||this.fireRightClick&&2===n)&&this._handleEvent(e,"down",{alreadySelected:l}));if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(e);if(!this._isMainEvent(e)||this._currentTransform)return;let V=this._shouldRender(t),i=!1;if(this.handleMultiSelection(e,t)?(t=this._activeObject,i=!0,V=!0):this._shouldClearSelection(e,t)&&this.discardActiveObject(e),this.selection&&(!t||!t.selectable&&!t.isEditing&&t!==this._activeObject)){let t=this.getScenePoint(e);this._groupSelector={x:t.x,y:t.y,deltaY:0,deltaX:0}}if(l=!!t&&t===this._activeObject,t){t.selectable&&"down"===t.activeOn&&this.setActiveObject(t,e);let n=t.findControl(this.getViewportPoint(e),iu(e));if(t===this._activeObject&&(n||!i)){this._setupCurrentTransform(e,t,l);let V=n?n.control:void 0,i=this.getScenePoint(e),a=V&&V.getMouseDownHandler(e,t,V);a&&a.call(V,e,this._currentTransform,i.x,i.y)}}V&&(this._objectsToRender=void 0),this._handleEvent(e,"down",{alreadySelected:l}),V&&this.requestRenderAll()}_resetTransformEventData(){this._targetInfo=this._viewportPoint=this._scenePoint=void 0}_cacheTransformEventData(e){this._resetTransformEventData(),this._viewportPoint=this.getViewportPoint(e),this._scenePoint=pu(this._viewportPoint,void 0,this.viewportTransform),this._targetInfo=this.findTarget(e),this._currentTransform&&(this._targetInfo.target=this._currentTransform.target)}__onMouseMove(e){if(this._isClick=!1,this._handleEvent(e,"move:before"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(e);if(!this._isMainEvent(e))return;let t=this._groupSelector;if(t){let l=this.getScenePoint(e);t.deltaX=l.x-t.x,t.deltaY=l.y-t.y,this.renderTop()}else if(this._currentTransform)this._transformObject(e);else{let{target:t}=this.findTarget(e);this._setCursorFromEvent(e,t),this._fireOverOutEvents(e,t)}this.textEditingManager.onMouseMove(e),this._handleEvent(e,"move")}_fireOverOutEvents(e,t){let{_hoveredTarget:l,_hoveredTargets:n}=this,{subTargets:V,currentTarget:i}=this.findTarget(e),a=Math.max(n.length,V.length);this.fireSyntheticInOutEvents("mouse",{e:e,target:t,oldTarget:l,actualTarget:i,oldActualTarget:this._hoveredActualTarget,fireCanvas:!0});for(let i=0;i<a;i++)V[i]===t||n[i]&&n[i]===l||this.fireSyntheticInOutEvents("mouse",{e:e,target:V[i],oldTarget:n[i]});this._hoveredActualTarget=i,this._hoveredTarget=t,this._hoveredTargets=V}_fireEnterLeaveEvents(e,t,l){let n=this._draggedoverTarget,V=this._hoveredTargets,{subTargets:i}=this.findTarget(e),a=Math.max(V.length,i.length);this.fireSyntheticInOutEvents("drag",{...l,target:t,oldTarget:n,fireCanvas:!0});for(let e=0;e<a;e++)this.fireSyntheticInOutEvents("drag",{...l,target:i[e],oldTarget:V[e]});this._draggedoverTarget=t}fireSyntheticInOutEvents(e,{target:t,oldTarget:l,actualTarget:n,oldActualTarget:V,fireCanvas:i,e:a,...r}){let{targetIn:s,targetOut:o,canvasIn:h,canvasOut:d}=KJ[e],R=l!==t,U=V!==n,c=t&&R,p=n&&U,Z=l&&R,W=V&&U,m={...r,e:a,...OJ(this,a)},F={...m,target:l,nextTarget:t,actualTarget:V,nextActualTarget:n};(Z||W)&&i&&this.fire(d,F),Z&&l.fire(o,F),W&&l!==V&&V.fire(o,F);let N={...m,target:t,previousTarget:l,actualTarget:n,previousActualTarget:V};(c||p)&&i&&this.fire(h,N),c&&t.fire(s,N),p&&n!==t&&n.fire(s,N)}_transformObject(e){let t=this.getScenePoint(e),l=this._currentTransform,n=l.target,V=n.group?pu(t,void 0,n.group.calcTransformMatrix()):t;l.shiftKey=e.shiftKey,l.altKey=!!this.centeredKey&&e[this.centeredKey],this._performTransformAction(e,l,V),l.actionPerformed&&this.requestRenderAll()}_performTransformAction(e,t,l){let{action:n,actionHandler:V,target:i}=t,a=!!V&&V(e,t,l.x,l.y);a&&i.setCoords(),"drag"===n&&a&&(t.target.isMoving=!0,this.setCursor(t.target.moveCursor||this.moveCursor)),t.actionPerformed=t.actionPerformed||a}_setCursorFromEvent(e,t){if(!t)return void this.setCursor(this.defaultCursor);let l=t.hoverCursor||this.hoverCursor,n=gN(this._activeObject)?this._activeObject:null,V=(!n||t.group!==n)&&t.findControl(this.getViewportPoint(e));if(V){let{control:l,coord:n}=V;this.setCursor(l.cursorStyleHandler(e,l,t,n))}else{if(t.subTargetCheck){let{subTargets:t}=this.findTarget(e);t.concat().reverse().forEach((e=>{l=e.hoverCursor||l}))}this.setCursor(l)}}handleMultiSelection(e,t){let l=this._activeObject,n=gN(l);if(l&&this._isSelectionKeyPressed(e)&&this.selection&&t&&t.selectable&&(l!==t||n)&&(n||!t.isDescendantOf(l)&&!l.isDescendantOf(t))&&!t.onSelect({e:e})&&!l.getActiveControl()){if(n){let n=l.getObjects(),V=[];if(t===l){let l=this.getScenePoint(e),i=this.searchPossibleTargets(n,l);if(i.target?(t=i.target,V=i.subTargets):(i=this.searchPossibleTargets(this._objects,l),t=i.target,V=i.subTargets),!t||!t.selectable)return!1}t.group===l?(l.remove(t),this._hoveredTarget=t,this._hoveredTargets=V,1===l.size()&&this._setActiveObject(l.item(0),e)):(l.multiSelectAdd(t),this._hoveredTarget=l,this._hoveredTargets=V),this._fireSelectionEvents(n,e)}else{l.isEditing&&l.exitEditing();let n=new(IF.getClass("ActiveSelection"))([],{canvas:this});n.multiSelectAdd(l,t),this._hoveredTarget=n,this._setActiveObject(n,e),this._fireSelectionEvents([l],e)}return!0}return!1}handleSelection(e){if(!this.selection||!this._groupSelector)return!1;let{x:t,y:l,deltaX:n,deltaY:V}=this._groupSelector,i=new PF(t,l),a=i.add(new PF(n,V)),r=i.min(a),s=i.max(a).subtract(r),o=this.collectObjects({left:r.x,top:r.y,width:s.x,height:s.y},{includeIntersecting:!this.selectionFullyContained}),h=i.eq(a)?o[0]?[o[0]]:[]:o.length>1?o.filter((t=>!t.onSelect({e:e}))).reverse():o;if(1===h.length)this.setActiveObject(h[0],e);else if(h.length>1){let t=IF.getClass("ActiveSelection");this.setActiveObject(new t(h,{canvas:this}),e)}return this._groupSelector=null,!0}toCanvasElement(e=1,t){let{upper:l}=this.elements;l.ctx=void 0;let n=super.toCanvasElement(e,t);return l.ctx=l.el.getContext("2d"),n}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}},AJ={x1:0,y1:0,x2:0,y2:0},qJ={...AJ,r1:0,r2:0},$J=(e,t)=>
1isNaN(e)&&"number"==typeof t?t:e;function eT(e){return e&&/%$/.test(e)&&Number.isFinite(parseFloat(e))}function tT(e,t){return EE(0,$J("number"==typeof e?e:"string"==typeof e?parseFloat(e)/(eT(e)?100:1):NaN,t),1)}var lT=/\s*;\s*/,nT=/\s*:\s*/;function VT(e,t){let l,n,V=e.getAttribute("style");if(V){let e=V.split(lT);""===e[e.length-1]&&e.pop();for(let t=e.length;t--;){let[V,i]=e[t].split(nT).map((e=>e.trim()));"stop-color"===V?l=i:"stop-opacity"===V&&(n=i)}}l=l||e.getAttribute("stop-color")||"rgb(0,0,0)",n=$J(parseFloat(n||e.getAttribute("stop-opacity")||""),1);let i=new Pu(l);return i.setAlpha(i.getAlpha()*n*t),{offset:tT(e.getAttribute("offset"),0),color:i.toRgba()}}function iT(e,t){let l=[],n=e.getElementsByTagName("stop"),V=tT(t,1);for(let e=n.length;e--;)l.push(VT(n[e],V));return l}function aT(e){return"linearGradient"===e.nodeName||"LINEARGRADIENT"===e.nodeName?"linear":"radial"}function rT(e){return"userSpaceOnUse"===e.getAttribute("gradientUnits")?"pixels":"percentage"}function sT(e,t){return e.getAttribute(t)}function oT(e,t){return function(e,{width:t,height:l,gradientUnits:n}){let V;return Object.entries(e).reduce(((e,[i,a])=>{if("Infinity"===a)V=1;else if("-Infinity"===a)V=0;else{let e="string"==typeof a;V=e?parseFloat(a):a,e&&eT(a)&&(V*=.01,"pixels"===n&&("x1"!==i&&"x2"!==i&&"r2"!==i||(V*=t),"y1"!==i&&"y2"!==i||(V*=l)))}return e[i]=V,e}),{})}("linear"===aT(e)?function(e){return{x1:sT(e,"x1")||0,y1:sT(e,"y1")||0,x2:sT(e,"x2")||"100%",y2:sT(e,"y2")||0}}(e):function(e){return{x1:sT(e,"fx")||sT(e,"cx")||"50%",y1:sT(e,"fy")||sT(e,"cy")||"50%",r1:0,x2:sT(e,"cx")||"50%",y2:sT(e,"cy")||"50%",r2:sT(e,"r")||"50%"}}(e),{...t,gradientUnits:rT(e)})}var hT=class{constructor(e){let{type:t="linear",gradientUnits:l="pixels",coords:n={},colorStops:V=[],offsetX:i=0,offsetY:a=0,gradientTransform:r,id:s}=e||{};Object.assign(this,{type:t,gradientUnits:l,coords:{..."radial"===t?qJ:AJ,...n},colorStops:V,offsetX:i,offsetY:a,gradientTransform:r,id:s?`${s}_${VN()}`:VN()})}addColorStop(e){for(let t in e)this.colorStops.push({offset:parseFloat(t),color:e[t]});return this}
1toObject(e){return{...XN(this,e),type:this.type,coords:{...this.coords},colorStops:this.colorStops.map((e=>({...e}))),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0}}toSVG(e,{additionalTransform:t}={}){let l=[],n=this.gradientTransform?this.gradientTransform.concat():FF.concat(),V="pixels"===this.gradientUnits?"userSpaceOnUse":"objectBoundingBox",i=this.colorStops.map((e=>({...e}))).sort(((e,t)=>e.offset-t.offset)),a=-this.offsetX,r=-this.offsetY;var s;"objectBoundingBox"===V?(a/=e.width,r/=e.height):(a+=e.width/2,r+=e.height/2),(s=e)&&"function"==typeof s._renderPathCommands&&"percentage"!==this.gradientUnits&&(a-=e.pathOffset.x,r-=e.pathOffset.y),n[4]-=a,n[5]-=r;let o=[`id="SVGID_${qN(String(this.id))}"`,`gradientUnits="${V}"`,`gradientTransform="${t?t+" ":""}${zN(n)}"`,""].join(" "),h=e=>parseFloat(String(e));if("linear"===this.type){let{x1:e,y1:t,x2:n,y2:V}=this.coords,i=h(e),a=h(t),r=h(n),s=h(V);l.push("<linearGradient ",o,' x1="',i,'" y1="',a,'" x2="',r,'" y2="',s,'">\n')}else if("radial"===this.type){let{x1:e,y1:t,x2:n,y2:V,r1:a,r2:r}=this.coords,s=h(e),d=h(t),R=h(n),U=h(V),c=h(a),p=h(r),Z=c>p;l.push("<radialGradient ",o,' cx="',Z?s:R,'" cy="',Z?d:U,'" r="',Z?c:p,'" fx="',Z?R:s,'" fy="',Z?U:d,'">
1\n'),Z&&(i.reverse(),i.forEach((e=>{e.offset=1-e.offset})));let W=Math.min(c,p);if(W>0){let e=W/Math.max(c,p);i.forEach((t=>{t.offset+=e*(1-t.offset)}))}}return i.forEach((({color:e,offset:t})=>{let n=String(e),V=gu(n)?n:new Pu(n).toRgba();l.push(`<stop offset="${100*t}%" style="stop-color:${qN(V)};"/>\n`)})),l.push("linear"===this.type?"</linearGradient>":"</radialGradient>","\n"),l.join("")}toLive(e){let{x1:t,y1:l,x2:n,y2:V,r1:i,r2:a}=this.coords,r="linear"===this.type?e.createLinearGradient(t,l,n,V):e.createRadialGradient(t,l,i,n,V,a);return this.colorStops.forEach((({color:e,offset:t})=>{r.addColorStop(t,e)})),r}static async fromObject(e){let{colorStops:t,gradientTransform:l}=e;return new this({...e,colorStops:t?t.map((e=>({...e}))):void 0,gradientTransform:l?[...l]:void 0})}static fromElement(e,t,l){let n=rT(e),V=t._findCenterFromElement();return new this({id:e.getAttribute("id")||void 0,type:aT(e),coords:oT(e,{width:l.viewBoxWidth||l.width,height:l.viewBoxHeight||l.height}),colorStops:iT(e,l.opacity),gradientUnits:n,gradientTransform:YS(e.getAttribute("gradientTransform")||""),..."pixels"===n?{offsetX:t.width/2-V.x,offsetY:t.height/2-V.y}:{offsetX:0,offsetY:0}})}};qm(hT,"type","Gradient"),IF.setClass(hT,"gradient"),IF.setClass(hT,"linear"),IF.setClass(hT,"radial");var dT=class{get type(){return"pattern"}set type(e){lF("warn","Setting type has no effect",e)}constructor(e){qm(this,"repeat","repeat"),qm(this,"offsetX",0),qm(this,"offsetY",0),qm(this,"crossOrigin",""),this.id=VN(),Object.assign(this,e)}isImageSource(){return!!this.source&&"string"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():""}toLive(e){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?e.createPattern(this.source,this.repeat):null}toObject(e=[]){let{repeat:t,crossOrigin:l}=this;return{...XN(this,e),type:"pattern",source:this.sourceToString(),repeat:t,crossOrigin:l,offsetX:fN(this.offsetX,tF.NUM_FRACTION_DIGITS),offsetY:fN(this.offsetY,tF.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null}}toSVG({width:e,height:t}){let{source:l,repeat:n,id:V}=this,i=$J(this.offsetX/e,0),a=$J(this.offsetY/t,0),r="repeat-y"===n||"no-repeat"===n?1+Math.abs(i||0):$J(l.width/e,0),s="repeat-x"===n||"no-repeat"===n?1+Math.abs(a||0):$J(l.height/t,0);return[`<pattern id="SVGID_${qN(V)}" x="${i}" y="${a}" width="${r}" height="${s}">`,`<image x="0" y="0" width="${l.width}" height="${l.height}" xlink:href="${qN(this.sourceToString())}"></image>`,"</pattern>",""].join("\n")}static async fromObject({type:e,source:t,patternTransform:l,...n},V){let i=await YN(t,{...V,crossOrigin:n.crossOrigin});return new this({...n,patternTransform:l&&l.slice(0),source:i})}};qm(dT,"type","Pattern"),IF.setClass(dT),IF.setClass(dT,"pattern");var RT=class{constructor(e){qm(this,"color","rgb(0, 0, 0)"),qm(this,"width",1),qm(this,"shadow",null),qm(this,"strokeLineCap","round"),qm(this,"strokeLineJoin","round"),qm(this,"strokeMiterLimit",10),qm(this,"strokeDashArray",null),qm(this,"limitedToCanvasSize",!1),this.canvas=e}_setBrushStyles(e){e.strokeStyle=this.color,e.lineWidth=this.width,e.lineCap=this.strokeLineCap,e.miterLimit=this.strokeMiterLimit,e.lineJoin=this.strokeLineJoin,e.setLineDash(this.strokeDashArray||[])}_saveAndTransform(e){let t=this.canvas.viewportTransform;e.save(),e.transform(t[0],t[1],t[2],t[3],t[4],t[5])}needsFullRender(){return new Pu(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;let e=this.canvas,t=this.shadow,l=e.contextTop,n=e.getZoom()*e.getRetinaScaling();l.shadowColor=t.color,l.shadowBlur=t.blur*n,l.shadowOffsetX=t.offsetX*n,l.shadowOffsetY=t.offsetY*n}_resetShadow(){let e=this.canvas.contextTop;e.shadowColor="",e.shadowBlur=e.shadowOffsetX=e.shadowOffsetY=0}_isOutSideCanvas(e){return e.x<0||e.x>this.canvas.getWidth()||e.y<0||e.y>this.canvas.getHeight()}},UT=class e extends tS{constructor(t,{path:l,left:n,top:V,...i}={}){super(),Object.assign(this,e.ownDefaults),this.setOptions(i),this._setPath(t||[],!0),"number"==typeof n&&this.set("left",n),"number"==typeof V&&this.set("top",V)}_setPath(e,t){this.path=nJ(Array.isArray(e)?e:FJ(e)),this.setBoundingBox(t)}_findCenterFromElement(){let e=this._calcBoundsFromPath();return new PF(e.left+e.width/2,e.top+e.height/2)}_renderPathCommands(e){let t=-this.pathOffset.x,l=-this.pathOffset.
vendor: 4,138 bytes, line 1
1y;e.beginPath();for(let n of this.path)switch(n[0]){case"L":e.lineTo(n[1]+t,n[2]+l);break;case"M":e.moveTo(n[1]+t,n[2]+l);break;case"C":e.bezierCurveTo(n[1]+t,n[2]+l,n[3]+t,n[4]+l,n[5]+t,n[6]+l);break;case"Q":e.quadraticCurveTo(n[1]+t,n[2]+l,n[3]+t,n[4]+l);break;case"Z":e.closePath()}}_render(e){this._renderPathCommands(e),this._renderPaintInOrder(e)}toString(){return`#<Path (${this.complexity()}): { "top": ${this.top}, "left": ${this.left} }>`}toObject(e=[]){return{...super.toObject(e),path:this.path.map((e=>e.slice()))}}toDatalessObject(e=[]){let t=this.toObject(e);return this.sourcePath&&(delete t.path,t.sourcePath=this.sourcePath),t}_toSVG(){return["<path ","COMMON_PARTS",`d="${bJ(this.path,tF.NUM_FRACTION_DIGITS)}" stroke-linecap="round" />\n`]}_getOffsetTransform(){let e=tF.NUM_FRACTION_DIGITS;return` translate(${fN(-this.pathOffset.x,e)}, ${fN(-this.pathOffset.y,e)})`}toClipPathSVG(e){let t=this._getOffsetTransform();return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:e,additionalTransform:t})}toSVG(e){let t=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:e,additionalTransform:t})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(e){let{width:t,height:l,pathOffset:n}=this._calcDimensions();this.set({width:t,height:l,pathOffset:n}),e&&this.setPositionByOrigin(n,"center","center")}_calcBoundsFromPath(){let e=[],t=0,l=0,n=0,V=0;for(let i of this.path)switch(i[0]){case"L":n=i[1],V=i[2],e.push({x:t,y:l},{x:n,y:V});break;case"M":n=i[1],V=i[2],t=n,l=V;break;case"C":e.push(...tJ(n,V,i[1],i[2],i[3],i[4],i[5],i[6])),n=i[5],V=i[6];break;case"Q":e.push(...tJ(n,V,i[1],i[2],i[1],i[2],i[3],i[4])),n=i[3],V=i[4];break;case"Z":n=t,V=l}return ru(e)}_calcDimensions(){let e=this._calcBoundsFromPath();return{...e,pathOffset:new PF(e.left+e.width/2,e.top+e.height/2)}}static fromObject(e){return this._fromObject(e,{extraParam:"path"})}static async fromElement(e,t,l){let{d:n,...V}=wS(e,this.ATTRIBUTE_NAMES,l);return new this(n,{...V,...t,left:void 0,top:void 0})}};qm(UT,"type","Path"),qm(UT,"cacheProperties",[...SE,"path","fillRule"]),qm(UT,"ATTRIBUTE_NAMES",[...RS,"d"]),IF.setClass(UT),IF.setSVGClass(UT);var cT=class e extends RT{constructor(e){super(e),qm(this,"decimate",.4),qm(this,"drawStraightLine",!1),qm(this,"straightLineKey","shiftKey"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(e,t,l){let n=t.midPointFrom(l);return e.quadraticCurveTo(t.x,t.y,n.x,n.y),n}onMouseDown(e,{e:t}){this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],this._prepareForDrawing(e),this._addPoint(e),this._render())}onMouseMove(t,{e:l}){if(this.canvas._isMainEvent(l)&&(this.drawStraightLine=!!this.straightLineKey&&l[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._addPoint(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{let t=this._points,l=t.length,n=this.canvas.contextTop;this._saveAndTransform(n),this.oldEnd&&(n.beginPath(),n.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=e.drawSegment(n,t[l-2],t[l-1]),n.stroke(),n.restore()}}onMouseUp({e:e}){return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(e){this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)}_addPoint(e){return!(this._points.length>1&&e.eq(this._points[this._points.length-1])||(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(e),0))}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(t=this.canvas.contextTop){let l=this._points[0],n=this._points[1];if(this._saveAndTransform(t),t.beginPath(),2===this._points.length&&l.x===n.x&&l.y===n.y){let e=this.width/1e3;l.x-=e,n.x+=e}t.moveTo(l.x,l.y);for(let V=1;V<this._points.length;V++)e.drawSegment(t,l,n),l=this._points[V],n=this._points[V+1];
1t.lineTo(l.x,l.y),t.stroke(),t.restore()}convertPointsToSVGPath(e){return NJ(e,this.width/1e3)}createPath(e){let t=new UT(e,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,t.shadow=new uE(this.shadow)),t}decimatePoints(e,t){if(e.length<=2)return e;let l,n=e[0],V=(t/this.canvas.getZoom())**2,i=e.length-1,a=[n];for(let t=1;t<i-1;t++)l=(n.x-e[t].x)**2+(n.y-e[t].y)**2,l>=V&&(n=e[t],a.push(n));return a.push(e[i]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));let e=this.convertPointsToSVGPath(this._points);if(function(e){return"M 0 0 Q 0 0 0 0 L 0 0"===bJ(e)}(e))return void this.canvas.requestRenderAll();let t=this.createPath(e);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:t}),this.canvas.add(t),this.canvas.requestRenderAll(),t.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:t})}},pT=["radius","startAngle","endAngle","counterClockwise"],ZT=class e extends tS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t){super(),Object.assign(this,e.ownDefaults),this.setOptions(t)}_set(e,t){return super._set(e,t),"radius"===e&&this.setRadius(t),this}_render(e){e.beginPath(),e.arc(0,0,this.radius,dN(this.startAngle),dN(this.endAngle),this.counterClockwise),this._renderPaintInOrder(e)}getRadiusX(){return this.get("radius")*this.get(fF)}getRadiusY(){return this.get("radius")*this.get(zF)}setRadius(e){this.radius=e,this.set({width:2*e,height:2*e})}toObject(e=[]){return super.toObject([...pT,...e])}_toSVG(){let{radius:e,startAngle:t,endAngle:l}=this,n=(l-t)%360;if(0===n)return["<circle ","COMMON_PARTS",'cx="0" cy="0" ','r="',`${qN(e)}`,'" />\n'];{let V=dN(t),i=dN(l),a=LF(V)*e,r=KF(V)*e,s=LF(i)*e,o=KF(i)*e;return[`<path d="M ${a} ${r} A ${e} ${e} 0 ${+(n>180)} ${+!this.counterClockwise} ${s} ${o}" `,"COMMON_PARTS"," />\n"]}}static async fromElement(e,t,l){let{left:n=0,top:V=0,radius:i=0,...a}=wS(e,this.ATTRIBUTE_NAMES,l);return new this({...a,radius:i,left:n-i,top:V-i})}static fromObject(e){return super._fromObject(e)}};qm(ZT,"type","Circle"),qm(ZT,"cacheProperties",[...SE,...pT]),qm(ZT,"ownDefaults",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),qm(ZT,"ATTRIBUTE_NAMES",["cx","cy","r",...RS]),IF.setClass(ZT),IF.setSVGClass(ZT);var WT=["x1","x2","y1","y2"],mT=class e extends tS{constructor([t,l,n,V]=[0,0,0,0],i={}){super(),Object.assign(this,e.ownDefaults),this.setOptions(i),this.x1=t,this.x2=n,this.y1=l,this.y2=V,this._setWidthHeight();let{left:a,top:r}=i;"number"==typeof a&&this.set("left",a),"number"==typeof r&&this.set("top",r)}_setWidthHeight(){let{x1:e,y1:t,x2:l,y2:n}=this;this.width=Math.abs(l-e),this.height=Math.abs(n-t);let{left:V,top:i,width:a,height:r}=ru([{x:e,y:t},{x:l,y:n}]),s=new PF(V+a/2,i+r/2);this.setPositionByOrigin(s,NF,NF)}_set(e,t){return super._set(e,t),WT.includes(e)&&this._setWidthHeight(),this}_render(e){e.beginPath();let t=this.calcLinePoints();e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.lineWidth=this.strokeWidth;let l=e.strokeStyle;var n;yN(this.stroke)?e.strokeStyle=this.stroke.toLive(e):e.strokeStyle=null==(n=this.stroke)?e.fillStyle:n,this.stroke&&this._renderStroke(e),e.strokeStyle=l}_findCenterFromElement(){return new PF((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(e=[]){return{...super.toObject(e),...this.calcLinePoints()}}_getNonTransformedDimensions(){let e=super._getNonTransformedDimensions();return"butt"===this.strokeLineCap&&(0===this.width&&(e.y-=this.strokeWidth),0===this.height&&(e.x-=this.strokeWidth)),e}calcLinePoints(){let{x1:e,x2:t,y1:l,y2:n,width:V,height:i}=this,a=e<=t?-.5:.5,r=l<=n?-.5:.5;return{x1:a*V,x2:a*-V,y1:r*i,y2:r*-i}}_toSVG(){let{x1:e,x2:t,y1:l,y2:n}=this.calcLinePoints();return["<line ","COMMON_PARTS",`x1="${e}" y1="${l}" x2="${t}" y2="${n}" />\n`]}static async fromElement(e,t,l){let{x1:n=0,y1:V=0,x2:i=0,y2:a=0,...r}=wS(e,this.ATTRIBUTE_NAMES,l);return new this([n,V,i,a],r)}static fromObject({x1:e,y1:t,x2:l,y2:n,...V}){return this._fromObject({...V,points:[e,t,l,n]},{extraParam:"points"})}};qm(mT,"type","Line"),qm(mT,"cacheProperties",[...SE,...WT]),qm(mT,"ATTRIBUTE_NAMES",RS.concat(WT)),IF.setClass(mT),IF.setSVGClass(mT);var FT=class e extends tS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t){super(),Object.assign(this,e.ownDefaults),this.setOptions(t)}_render(e){let t=this.width/2,l=this.height/2;e.beginPath(),e.moveTo(-t,l),e.lineTo(0,-l),e.lineTo(t,l),e.closePath(),this._renderPaintInOrder(e)}_toSVG(){let e=this.width/2,t=this.height/2;return["<polygon ","COMMON_PARTS",'points="',`${-e} ${t},0 ${-t},${e} ${t}`,'" />']}};qm(FT,"type","Triangle"),qm(FT,"ownDefaults",{width:100,height:100}),IF.setClass(FT),IF.setSVGClass(FT);var NT=["rx","ry"],uT=class e extends tS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t){super(),Object.assign(this,e.ownDefaults),this.setOptions(t)}_set(e,t){switch(super._set(e,t),e){case"rx":this.rx=t,this.set("width",2*t);break;case"ry":this.ry=t,this.set("height",2*t)}return this}getRx(){return this.get("rx")*this.get(fF)}getRy(){return this.get("ry")*this.get(zF)}
1toObject(e=[]){return super.toObject([...NT,...e])}_toSVG(){return["<ellipse ","COMMON_PARTS",`cx="0" cy="0" rx="${qN(this.rx)}" ry="${qN(this.ry)}" />\n`]}_render(e){e.beginPath(),e.save(),e.transform(1,0,0,this.ry/this.rx,0,0),e.arc(0,0,this.rx,0,WF,!1),e.restore(),this._renderPaintInOrder(e)}static async fromElement(e,t,l){let n=wS(e,this.ATTRIBUTE_NAMES,l);return n.left=(n.left||0)-n.rx,n.top=(n.top||0)-n.ry,new this(n)}};qm(uT,"type","Ellipse"),qm(uT,"cacheProperties",[...SE,...NT]),qm(uT,"ownDefaults",{rx:0,ry:0}),qm(uT,"ATTRIBUTE_NAMES",[...RS,"cx","cy","rx","ry"]),IF.setClass(uT),IF.setSVGClass(uT);var ET={exactBoundingBox:!1},bT=class e extends tS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t=[],l={}){super(),qm(this,"strokeDiff",void 0),Object.assign(this,e.ownDefaults),this.setOptions(l),this.points=t;let{left:n,top:V}=l;this.initialized=!0,this.setBoundingBox(!0),"number"==typeof n&&this.set("left",n),"number"==typeof V&&this.set("top",V)}isOpen(){return!0}_projectStrokeOnPoints(e){return rS(this.points,e,this.isOpen())}_calcDimensions(e){e={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth,...e||{}};let t=this.exactBoundingBox?this._projectStrokeOnPoints(e).map((e=>e.projectedPoint)):this.points;if(0===t.length)return{left:0,top:0,width:0,height:0,pathOffset:new PF,strokeOffset:new PF,strokeDiff:new PF};let l=ru(t),n=MN({...e,scaleX:1,scaleY:1}),V=ru(this.points.map((e=>cN(e,n,!0)))),i=new PF(this.scaleX,this.scaleY),a=l.left+l.width/2,r=l.top+l.height/2;return this.exactBoundingBox&&(a-=r*Math.tan(dN(this.skewX)),r-=a*Math.tan(dN(this.skewY))),{...l,pathOffset:new PF(a,r),strokeOffset:new PF(V.left,V.top).subtract(new PF(l.left,l.top)).multiply(i),strokeDiff:new PF(l.width,l.height).subtract(new PF(V.width,V.height)).multiply(i)}}_findCenterFromElement(){let e=ru(this.points);return new PF(e.left+e.width/2,e.top+e.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(e){let{left:t,top:l,width:n,height:V,pathOffset:i,strokeOffset:a,strokeDiff:r}=this._calcDimensions();this.set({width:n,height:V,pathOffset:i,strokeOffset:a,strokeDiff:r}),e&&this.setPositionByOrigin(new PF(t+n/2,l+V/2),"center","center")}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new PF(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(e={}){if(this.exactBoundingBox){let i;if(Object.keys(e).some((e=>this.strokeUniform||this.constructor.layoutProperties.includes(e)))){var t,l;let{width:n,height:V}=this._calcDimensions(e);i=new PF(null==(t=e.width)?n:t,null==(l=e.height)?V:l)}else{var n,V;i=new PF(null==(n=e.width)?this.width:n,null==(V=e.height)?this.height:V)}return i.multiply(new PF(e.scaleX||this.scaleX,e.scaleY||this.scaleY))}return super._getTransformedDimensions(e)}_set(e,t){let l=this.initialized&&this[e]!==t,n=super._set(e,t);return this.exactBoundingBox&&l&&(("scaleX"===e||"scaleY"===e)&&this.strokeUniform&&this.constructor.layoutProperties.includes("strokeUniform")||this.constructor.layoutProperties.includes(e))&&this.setDimensions(),n}toObject(e=[]){return{...super.toObject(e),points:this.points.map((({x:e,y:t})=>({x:e,y:t})))}}_toSVG(){let e=this.pathOffset.x,t=this.pathOffset.y,l=tF.NUM_FRACTION_DIGITS,n=this.points.map((({x:n,y:V})=>`${fN(n-e,l)},${fN(V-t,l)}`)).join(" ");return[`<${qN(this.constructor.type).toLowerCase()} `,"COMMON_PARTS",`points="${n}" />\n`]}_render(e){let t=this.points.length,l=this.pathOffset.x,n=this.pathOffset.y;if(t&&!isNaN(this.points[t-1].y)){e.beginPath(),e.moveTo(this.points[0].x-l,this.points[0].y-n);for(let V=0;V<t;V++){let t=this.points[V];e.lineTo(t.x-l,t.y-n)}!this.isOpen()&&e.closePath(),this._renderPaintInOrder(e)}}complexity(){return this.points.length}static async fromElement(e,t,l){let n=function(e){if(!e)return[];let t=e.replace(/,/g," ").trim().split(/\s+/),l=[];for(let e=0;e<t.length;e+=2)l.push({x:parseFloat(t[e]),y:parseFloat(t[e+1])});return l}(e.getAttribute("points")),{left:V,top:i,...a}=wS(e,this.ATTRIBUTE_NAMES,l);return new this(n,{...a,...t})}static fromObject(e){return this._fromObject(e,{extraParam:"points"})}};qm(bT,"ownDefaults",ET),qm(bT,"type","Polyline"),qm(bT,"layoutProperties",[yF,CF,"strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeWidth","strokeUniform","points"]),qm(bT,"cacheProperties",[...SE,"points"]),qm(bT,"ATTRIBUTE_NAMES",[...RS]),IF.setClass(bT),IF.setSVGClass(bT);var ST=class extends bT{isOpen(){return!1}};qm(ST,"ownDefaults",ET),qm(ST,"type","Polygon"),IF.setClass(ST),IF.setSVGClass(ST);var JT=class extends tS{isEmptyStyles(e){if(!this.styles||void 0!==e&&!this.styles[e])return!0;let t=void 0===e?this.styles:{line:this.styles[e]};for(let e in t)for(let l in t[e])for(let n in t[e][l])return!1;return!0}styleHas(e,t){if(!this.styles||void 0!==t&&!this.styles[t])return!1;let l=void 0===t?this.styles:{0:this.styles[t]};for(let t in l)for(let n in l[t])if(void 0!==l[t][n][e])return!0;return!1}cleanStyle(e){if(!this.styles)return!1;let t,l,n=this.styles,V=0,i=!0,a=0;for(let a in n){t=0;for(let r in n[a]){let s=n[a][r]||{};V++,void 0===s[e]?i=!1:(l?s[e]!==l&&(i=!1):l=s[e],s[e]===this[e]&&delete s[e]),0===Object.keys(s).length?delete n[a][r]:t++}0===t&&delete n[a]}for(let e=0;e<this._textLines.length;e++)a+=this._textLines[e].length;i&&V===a&&(this[e]=l,this.removeStyle(e))}removeStyle(e){if(!this.styles)return;let t,l,n,V=this.styles;for(l in V){for(n in t=V[l],t)delete t[n][e],0===Object.keys(t[n]).length&&delete t[n];0===Object.keys(t).length&&delete V[l]}}_extendStyles(e,t){let{lineIndex:l,charIndex:n}=this.get2DCursorLocation(e);this._getLineStyle(l)||this._setLineStyle(l);let V=wN({...this._getStyleDeclaration(l,n),...t},(e=>void 0!==e));this._setStyleDeclaration(l,n,V)}getSelectionStyles(e,t,l){let n=[];for(let V=e;V<(t||e);V++)n.push(this.getStyleAtPosition(V,l));return n}getStyleAtPosition(e,t){let{lineIndex:l,charIndex:n}=this.get2DCursorLocation(e);return t?this.getCompleteStyleDeclaration(l,n):this._getStyleDeclaration(l,n)}setSelectionStyles(e,t,l){for(let n=t;n<(l||t);n++)this._extendStyles(n,e);this._forceClearCache=!0}_getStyleDeclaration(e,t){var l;let n=this.styles&&this.styles[e];return n&&null!=(l=n[t])?l:{}}getCompleteStyleDeclaration(e,t){return{...XN(this,this.constructor._styleProperties),...this._getStyleDeclaration(e,t)}}_setStyleDeclaration(e,t,l){this.styles[e][t]=l}_deleteStyleDeclaration(e,t){delete this.styles[e][t]}_getLineStyle(e){return!!this.styles[e]}_setLineStyle(e){this.styles[e]={}}_deleteLineStyle(e){delete this.styles[e]}};qm(JT,"_styleProperties",oE);var TT=/  +/g,GT=/"/g;function MT(e,t,l,n,V){return`\t\t${((e,{left:t,top:l,width:n,height:V},i=tF.NUM_FRACTION_DIGITS)=>{let a=eE(jF,e,!1),[r,s,o,h]=[t,l,n,V].map((e=>fN(e,i)));return`<rect ${a} x="${r}" y="${s}" width="${o}" height="${h}"></rect>`})(e,{left:t,top:l,width:n,height:V})}\n`}var kT,YT=class e extends JT{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t,l){super(),qm(this,"__charBounds",[]),Object.assign(this,e.ownDefaults),this.setOptions(l),this.styles||(this.styles={}),this.text=t,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){let e=this.path;e&&(e.segmentsInfo=UJ(e.path))}_splitText(){let e=this._splitTextIntoLines(this.text);return this.textLines=e.lines,this._textLines=e.graphemeLines,this._unwrappedTextLines=e._unwrappedLines,this._text=e.graphemeText,e}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes("justify")&&this.enlargeSpace
1s()}enlargeSpaces(){let e,t,l,n,V,i,a;for(let r=0,s=this._textLines.length;r<s;r++)if(("justify"===this.textAlign||r!==s-1&&!this.isEndOfWrapping(r))&&(n=0,V=this._textLines[r],t=this.getLineWidth(r),t<this.width&&(a=this.textLines[r].match(this._reSpacesAndTabs)))){l=a.length,e=(this.width-t)/l;for(let t=0;t<=V.length;t++)i=this.__charBounds[r][t],this._reSpaceAndTab.test(V[t])?(i.width+=e,i.kernedWidth+=e,i.left+=n,n+=e):i.left+=n}}isEndOfWrapping(e){return e===this._textLines.length-1}missingNewlineOffset(e){return 1}get2DCursorLocation(e,t){let l,n=t?this._unwrappedTextLines:this._textLines;for(l=0;l<n.length;l++){if(e<=n[l].length)return{lineIndex:l,charIndex:e};e-=n[l].length+this.missingNewlineOffset(l,t)}return{lineIndex:l-1,charIndex:n[l-1].length<e?n[l-1].length:e}}toString(){return`#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`}_getCacheCanvasDimensions(){let e=super._getCacheCanvasDimensions(),t=this.fontSize;return e.width+=t*e.zoomX,e.height+=t*e.zoomY,e}_render(e){let t=this.path;t&&!t.isNotVisible()&&t._render(e),this._setTextStyles(e),this._renderTextLinesBackground(e),this._renderTextDecoration(e,"underline"),this._renderText(e),this._renderTextDecoration(e,"overline"),this._renderTextDecoration(e,"linethrough")}_renderText(e){"stroke"===this.paintFirst?(this._renderTextStroke(e),this._renderTextFill(e)):(this._renderTextFill(e),this._renderTextStroke(e))}_setTextStyles(e,t,l){if(e.textBaseline="alphabetic",this.path)switch(this.pathAlign){case NF:e.textBaseline="middle";break;case"ascender":e.textBaseline="top";break;case"descender":e.textBaseline=EF}e.font=this._getFontDeclaration(t,l)}calcTextWidth(){let e=this.getLineWidth(0);for(let t=1,l=this._textLines.length;t<l;t++){let l=this.getLineWidth(t);l>e&&(e=l)}return e}_renderTextLine(e,t,l,n,V,i){this._renderChars(e,t,l,n,V,i)}_renderTextLinesBackground(e){if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor"))return;let t=e.fillStyle,l=this._getLeftOffset(),n=this._getTopOffset();for(let t=0,V=this._textLines.length;t<V;t++){let V=this.getHeightOfLine(t);if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor",t)){n+=V;continue}let i,a,r=this._textLines[t].length,s=this._getLineLeftOffset(t),o=0,h=0,d=this.getValueOfPropertyAt(t,0,"textBackgroundColor"),R=this.getHeightOfLineImpl(t);for(let V=0;V<r;V++){let r=this.__charBounds[t][V];a=this.getValueOfPropertyAt(t,V,"textBackgroundColor"),this.path?(e.save(),e.translate(r.renderLeft,r.renderTop),e.rotate(r.angle),e.fillStyle=a,a&&e.fillRect(-r.width/2,-R*(1-this._fontSizeFraction),r.width,R),e.restore()):a===d?o+=r.kernedWidth:(i=l+s+h,"rtl"===this.direction&&(i=this.width-i-o),e.fillStyle=d,d&&e.fillRect(i,n,o,R),h=r.left,o=r.width,d=a)}a&&!this.path&&(i=l+s+h,"rtl"===this.direction&&(i=this.width-i-o),e.fillStyle=a,e.fillRect(i,n,o,R)),n+=V}e.fillStyle=t,this._removeShadow(e)}_measureChar(e,t,l,n){let V,i,a,r,s=RF.getFontCache(t),o=this._getFontDeclaration(t),h=l?l+e:e,d=l&&o===this._getFontDeclaration(n),R=t.fontSize/this.CACHE_FONT_SIZE;if(l&&s.has(l)&&(a=s.get(l)),s.has(e)&&(r=V=s.get(e)),d&&s.has(h)&&(i=s.get(h),r=i-a),void 0===V||void 0===a||void 0===i){let n=(kT||(kT=sN({width:0,height:0}).getContext("2d")),kT);this._setTextStyles(n,t,!0),void 0===V&&(r=V=n.measureText(e).width,s.set(e,V)),void 0===a&&d&&l&&(a=n.measureText(l).width,s.set(l,a)),d&&void 0===i&&(i=n.measureText(h).width,s.set(h,i),r=i-a)}return{width:V*R,kernedWidth:r*R}}getHeightOfChar(e,t){return this.getValueOfPropertyAt(e,t,"fontSize")}measureLine(e){let t=this._measureLine(e);return 0!==this.charSpacing&&(t.width-=this._getWidthOfCharSpacing()),t.width<0&&(t.width=0),t}_measureLine(e){let t,l,n=0,V=this.pathSide===bF,i=this.path,a=this._textLines[e],r=a.length,s=Array(r);this.__charBounds[e]=s;for(let V=0;V<r;V++){let i=a[V];l=this._getGraphemeBox(i,e,V,t),s[V]=l,n+=l.kernedWidth,t=i}if(s[r]={left:l?l.left+l.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},i&&i.segmentsInfo){let e=0,t=i.segmentsInfo[i.segmentsInfo.length-1].length;switch(this.textAlign){case uF:e=V?t-n:0;break;case NF:e=(t-n)/2;break;case bF:e=V?0:t-n}e+=this.pathStartOffset*(V?-1:1);for(let n=V?r-1:0;V?n>=0:n<r;V?n--:n++)l=s[n],e>t?e%=t:e<0&&(e+=t),this._setGraphemeOnPath(e,l),e+=l.kernedWidth}return{width:n,numOfSpaces:0}}_setGraphemeOnPath(e,t){let l=e+t.kernedWidth/2,n=this.path,V=cJ(n.path,l,n.segmentsInfo);
1t.renderLeft=V.x-n.pathOffset.x,t.renderTop=V.y-n.pathOffset.y,t.angle=V.angle+("right"===this.pathSide?Math.PI:0)}_getGraphemeBox(e,t,l,n,V){let i,a=this.getCompleteStyleDeclaration(t,l),r=n?this.getCompleteStyleDeclaration(t,l-1):{},s=this._measureChar(e,a,n,r),o=s.kernedWidth,h=s.width;0!==this.charSpacing&&(i=this._getWidthOfCharSpacing(),h+=i,o+=i);let d={width:h,left:0,height:a.fontSize,kernedWidth:o,deltaY:a.deltaY};if(l>0&&!V){let e=this.__charBounds[t][l-1];d.left=e.left+e.width+s.kernedWidth-s.width}return d}getHeightOfLineImpl(e){let t=this.__lineHeights;if(t[e])return t[e];let l=this.getHeightOfChar(e,0);for(let t=1,n=this._textLines[e].length;t<n;t++)l=Math.max(this.getHeightOfChar(e,t),l);return t[e]=l*this._fontSizeMult}getHeightOfLine(e){return this.getHeightOfLineImpl(e)*this.lineHeight}calcTextHeight(){let e=0;for(let t=0,l=this._textLines.length;t<l;t++)e+=t===l-1?this.getHeightOfLineImpl(t):this.getHeightOfLine(t);return e}_getLeftOffset(){return"ltr"===this.direction?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(e,t){e.save();let l=0,n=this._getLeftOffset(),V=this._getTopOffset();for(let i=0,a=this._textLines.length;i<a;i++)this._renderTextLine(t,e,this._textLines[i],n+this._getLineLeftOffset(i),V+l+this.getHeightOfLineImpl(i),i),l+=this.getHeightOfLine(i);e.restore()}_renderTextFill(e){(this.fill||this.styleHas("fill"))&&this._renderTextCommon(e,"fillText")}_renderTextStroke(e){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(e),e.save(),this._setLineDash(e,this.strokeDashArray),e.beginPath(),this._renderTextCommon(e,"strokeText"),e.closePath(),e.restore())}_renderChars(e,t,l,n,V,i){let a,r,s,o,h,d=this.textAlign.includes(dE),R=this.path,U=!d&&0===this.charSpacing&&this.isEmptyStyles(i)&&!R,c="ltr"===this.direction,p="ltr"===this.direction?1:-1,Z=t.direction,W="",m=0;if(t.save(),Z!==this.direction&&(t.canvas.setAttribute("dir",c?"ltr":"rtl"),t.direction=c?"ltr":"rtl",t.textAlign=c?uF:bF),V-=this.getHeightOfLineImpl(i)*this._fontSizeFraction,U)return this._renderChar(e,t,i,0,l.join(""),n,V),void t.restore();for(let U=0,c=l.length-1;U<=c;U++)o=U===c||this.charSpacing||R,W+=l[U],s=this.__charBounds[i][U],0===m?(n+=p*(s.kernedWidth-s.width),m+=s.width):m+=s.kernedWidth,d&&!o&&this._reSpaceAndTab.test(l[U])&&(o=!0),o||(a=a||this.getCompleteStyleDeclaration(i,U),r=this.getCompleteStyleDeclaration(i,U+1),o=oS(a,r,!1)),o&&(R?(t.save(),t.translate(s.renderLeft,s.renderTop),t.rotate(s.angle),this._renderChar(e,t,i,U,W,-m/2,0),t.restore()):(h=n,this._renderChar(e,t,i,U,W,h,V)),W="",a=r,n+=p*m,m=0);t.restore()}_applyPatternGradientTransformText(e){let t=this.width+this.strokeWidth,l=this.height+this.strokeWidth,n=sN({width:t,height:l}),V=n.getContext("2d");return n.width=t,n.height=l,V.beginPath(),V.moveTo(0,0),V.lineTo(t,0),V.lineTo(t,l),V.lineTo(0,l),V.closePath(),V.translate(t/2,l/2),V.fillStyle=e.toLive(V),this._applyPatternGradientTransform(V,e),V.fill(),V.createPattern(n,"no-repeat")}handleFiller(e,t,l){let n,V;return yN(l)?"percentage"===l.gradientUnits||l.gradientTransform||l.patternTransform?(n=-this.width/2,V=-this.height/2,e.translate(n,V),e[t]=this._applyPatternGradientTransformText(l),{offsetX:n,offsetY:V}):(e[t]=l.toLive(e),this._applyPatternGradientTransform(e,l)):(e[t]=l,{offsetX:0,offsetY:0})}_setStrokeStyles(e,{stroke:t,strokeWidth:l}){return e.lineWidth=l,e.lineCap=this.strokeLineCap,e.lineDashOffset=this.strokeDashOffset,e.lineJoin=this.strokeLineJoin,e.miterLimit=this.strokeMiterLimit,this.handleFiller(e,"strokeStyle",t)}_setFillStyles(e,{fill:t}){return this.handleFiller(e,"fillStyle",t)}_renderChar(e,t,l,n,V,i,a){let r=this._getStyleDeclaration(l,n),s=this.getCompleteStyleDeclaration(l,n),o="fillText"===e&&s.fill,h="strokeText"===e&&s.stroke&&s.strokeWidth;if(h||o){if(t.save(),t.font=this._getFontDeclaration(s),r.textBackgroundColor&&this._removeShadow(t),r.deltaY&&(a+=r.deltaY),o){let e=this._setFillStyles(t,s);t.fillText(V,i-e.offsetX,a-e.offsetY)}if(h){let e=this._setStrokeStyles(t,s);t.strokeText(V,i-e.offsetX,a-e.offsetY)}
1t.restore()}}setSuperscript(e,t){this._setScript(e,t,this.superscript)}setSubscript(e,t){this._setScript(e,t,this.subscript)}_setScript(e,t,l){let n=this.get2DCursorLocation(e,!0),V=this.getValueOfPropertyAt(n.lineIndex,n.charIndex,"fontSize"),i=this.getValueOfPropertyAt(n.lineIndex,n.charIndex,"deltaY"),a={fontSize:V*l.size,deltaY:i+V*l.baseline};this.setSelectionStyles(a,e,t)}_getLineLeftOffset(e){let t=this.getLineWidth(e),l=this.width-t,n=this.textAlign,V=this.direction,i=this.isEndOfWrapping(e),a=0;return"justify"===n||"justify-center"===n&&!i||"justify-right"===n&&!i||"justify-left"===n&&!i?0:("center"===n&&(a=l/2),"right"===n&&(a=l),"justify-center"===n&&(a=l/2),"justify-right"===n&&(a=l),"rtl"===V&&("right"===n||"justify-right"===n?a=0:"left"===n||"justify-left"===n?a=-l:"center"!==n&&"justify-center"!==n||(a=-l/2)),a)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(e){if(void 0!==this.__lineWidths[e])return this.__lineWidths[e];let{width:t}=this.measureLine(e);return this.__lineWidths[e]=t,t}_getWidthOfCharSpacing(){return 0===this.charSpacing?0:this.fontSize*this.charSpacing/1e3}getValueOfPropertyAt(e,t,l){var n;return null==(n=this._getStyleDeclaration(e,t)[l])?this[l]:n}_renderTextDecoration(e,t){if(!this[t]&&!this.styleHas(t))return;let l=this._getTopOffset(),n=this._getLeftOffset(),V=this.path,i=this._getWidthOfCharSpacing(),a="linethrough"===t?.5:+("overline"===t),r=this.offsets[t];for(let s=0,o=this._textLines.length;s<o;s++){let o=this.getHeightOfLine(s);if(!this[t]&&!this.styleHas(t,s)){l+=o;continue}let h,d=this._textLines[s],R=o/this.lineHeight,U=this._getLineLeftOffset(s),c=0,p=0,Z=this.getValueOfPropertyAt(s,0,t),W=this.getValueOfPropertyAt(s,0,jF),m=this.getValueOfPropertyAt(s,0,"textDecorationColor")||W,F=this.getValueOfPropertyAt(s,0,nE),N=Z,u=m,E=F,b=l+R*(1-this._fontSizeFraction),S=this.getHeightOfChar(s,0),J=this.getValueOfPropertyAt(s,0,"deltaY");for(let l=0,i=d.length;l<i;l++){let i=this.__charBounds[s][l];N=this.getValueOfPropertyAt(s,l,t),h=this.getValueOfPropertyAt(s,l,jF),u=this.getValueOfPropertyAt(s,l,"textDecorationColor")||h,E=this.getValueOfPropertyAt(s,l,nE);let o=this.getHeightOfChar(s,l),d=this.getValueOfPropertyAt(s,l,"deltaY");if(V&&N&&h){let t=this.fontSize*E/1e3;e.save(),e.fillStyle=u,e.translate(i.renderLeft,i.renderTop),e.rotate(i.angle),e.fillRect(-i.kernedWidth/2,r*o+d-a*t,i.kernedWidth,t),e.restore()}else if((N!==Z||h!==W||u!==m||o!==S||E!==F||d!==J)&&p>0){let t=this.fontSize*F/1e3,l=n+U+c;"rtl"===this.direction&&(l=this.width-l-p),Z&&m&&F&&(e.fillStyle=m,e.fillRect(l,b+r*S+J-a*t,p,t)),c=i.left,p=i.width,Z=N,m=u,F=E,W=h,S=o,J=d}else p+=i.kernedWidth}let T=n+U+c;"rtl"===this.direction&&(T=this.width-T-p),e.fillStyle=u;let G=this.fontSize*E/1e3;N&&u&&E&&e.fillRect(T,b+r*S+J-a*G,p-i,G),l+=o}this._removeShadow(e)}_getFontDeclaration({fontFamily:t=this.fontFamily,fontStyle:l=this.fontStyle,fontWeight:n=this.fontWeight,fontSize:V=this.fontSize}={},i){let a=t.includes("'")||t.includes('"')||t.includes(",")||e.genericFonts.includes(t.toLowerCase())?t:`"${t}"`;return[l,n,`${i?this.CACHE_FONT_SIZE:V}px`,a].join(" ")}render(e){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(e)))}graphemeSplit(e){return $N(e)}_splitTextIntoLines(e){let t=e.split(this._reNewline),l=Array(t.length),n=["\n"],V=[];for(let e=0;e<t.length;e++)l[e]=this.graphemeSplit(t[e]),V=V.concat(l[e],n);return V.pop(),{_unwrappedLines:l,lines:t,graphemeText:V,graphemeLines:l}}toObject(e=[]){return{...super.toObject([...sE,...e]),styles:hS(this.styles,this.text),...this.path?{path:this.path.toObject()}:{}}}set(e,t){let{textLayoutProperties:l}=this.constructor;super.set(e,t);let n=!1,V=!1;if("object"==typeof e)for(let t in e)"path"===t&&this.setPathInfo(),n=n||l.includes(t),V=V||"path"===t;else n=l.includes(e),V="path"===e;return V&&this.setPathInfo(),n&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(t,l,n){let V=wS(t,e.ATTRIBUTE_NAMES,n),{textAnchor:i=uF,textDecoration:a="",dx:r=0,dy:s=0,top:o=0,left:h=0,fontSize:d=16,strokeWidth:R=1,...U}={...l,...V},c=new this(vu(t.textContent||"").trim(),{left:h+r,top:o+s,underline:a.includes("underline"),overline:a.includes("overline"),linethrough:a.includes("line-through"),strokeWidth:0,fontSize:d,...U}),p=c.getScaledHeight()/c.height,Z=((c.height+c.strokeWidth)*c.lineHeight-c.height)*p,W=c.getScaledHeight()+Z,m=0;return"center"===i&&(m=c.getScaledWidth()/2),"right"===i&&(m=c.getScaledWidth()),c.set({left:c.left-m,top:c.top-(W-c.fontSize*(.07+c._fontSizeFraction))/c.lineHeight,strokeWidth:R}),c}static fromObject(e){return this._fromObject({...e,styles:dS(e.styles||{},e.text)},{extraParam:"text"})}};qm(YT,"textLayoutProperties",rE),qm(YT,"cacheProperties",[...SE,...sE]),qm(YT,"ownDefaults",hE),qm(YT,"type","Text"),qm(YT,"genericFonts",["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]),qm(YT,"ATTRIBUTE_NAMES",RS.concat("x","y","dx","dy","font-family","font-style","font-weight","font-size","letter-spacing","text-decoration","text-decoration-thickness","text-decoration-color","text-anchor")),eS(YT,[class extends tE{_toSVG(){let e=this._getSVGLeftTopOffsets(),t=this._getSVGTextAndBg(e.textTop,e.textLeft);return this._wrapSVGTextAndBg(t)}toSVG(e){let t=this._createBaseSVGMarkup(this._toSVG(),{reviver:e,noStyle:!0,withShadow:!0}
1),l=this.path;return l?t+l._createBaseSVGMarkup(l._toSVG(),{reviver:e,withShadow:!0,additionalTransform:zN(this.calcOwnMatrix())}):t}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg({textBgRects:e,textSpans:t}){let l=this.getSvgTextDecoration(this);return[e.join(""),'\t\t<text xml:space="preserve" ',`font-family="${qN(this.fontFamily.replace(GT,"'"))}" `,`font-size="${qN(this.fontSize)}" `,this.fontStyle?`font-style="${qN(this.fontStyle)}" `:"",this.fontWeight?`font-weight="${qN(this.fontWeight)}" `:"",l?`text-decoration="${l}" `:"","rtl"===this.direction?'direction="rtl" ':"",'style="',this.getSvgStyles(!0),'"',this.addPaintOrder()," >",t.join(""),"</text>\n"]}_getSVGTextAndBg(e,t){let l,n=[],V=[],i=e;this.backgroundColor&&V.push(MT(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let e=0,a=this._textLines.length;e<a;e++)l=this._getLineLeftOffset(e),"rtl"===this.direction&&(l+=this.width),(this.textBackgroundColor||this.styleHas("textBackgroundColor",e))&&this._setSVGTextLineBg(V,e,t+l,i),this._setSVGTextLineText(n,e,t+l,i),i+=this.getHeightOfLine(e);return{textSpans:n,textBgRects:V}}_createTextCharSpan(e,t,l,n,V){let i=tF.NUM_FRACTION_DIGITS,a=this.getSvgSpanStyles(t,e!==e.trim()||!!e.match(TT)),r=a?`style="${a}"`:"",s=t.deltaY,o=s?` dy="${fN(s,i)}" `:"",{angle:h,renderLeft:d,renderTop:R,width:U}=V,c="";if(void 0!==d){let e=U/2;h&&(c=` rotate="${fN(RN(h),i)}"`);let t=bN({angle:RN(h)});t[4]=d,t[5]=R;let V=new PF(-e,0).transform(t);l=V.x,n=V.y}return`<tspan x="${fN(l,i)}" y="${fN(n,i)}" ${o}${c}${r}>${qN(e)}</tspan>`}_setSVGTextLineText(e,t,l,n){let V,i,a,r,s,o=this.getHeightOfLine(t),h=this.textAlign.includes(dE),d=this._textLines[t],R="",U=0;n+=o*(1-this._fontSizeFraction)/this.lineHeight;for(let o=0,c=d.length-1;o<=c;o++)s=o===c||this.charSpacing||this.path,R+=d[o],a=this.__charBounds[t][o],0===U?(l+=a.kernedWidth-a.width,U+=a.width):U+=a.kernedWidth,h&&!s&&this._reSpaceAndTab.test(d[o])&&(s=!0),s||(V=V||this.getCompleteStyleDeclaration(t,o),i=this.getCompleteStyleDeclaration(t,o+1),s=oS(V,i,!0)),s&&(r=this._getStyleDeclaration(t,o),e.push(this._createTextCharSpan(R,r,l,n,a)),R="",V=i,"rtl"===this.direction?l-=U:l+=U,U=0)}_setSVGTextLineBg(e,t,l,n){let V,i=this._textLines[t],a=this.getHeightOfLine(t)/this.lineHeight,r=0,s=0,o=this.getValueOfPropertyAt(t,0,"textBackgroundColor");for(let h=0;h<i.length;h++){let{left:i,width:d,kernedWidth:R}=this.__charBounds[t][h];V=this.getValueOfPropertyAt(t,h,"textBackgroundColor"),V===o?r+=R:(o&&e.push(MT(o,l+s,n,r,a)),s=i,r=d,o=V)}V&&e.push(MT(o,l+s,n,r,a))}getSvgStyles(e){let t=gu(this.textDecorationColor)?` text-decoration-color: ${qN(this[VE])};`:"";return`${super.getSvgStyles(e)} text-decoration-thickness: ${fN(this.textDecorationThickness*this.getObjectScaling().y/10,tF.NUM_FRACTION_DIGITS)}%;${t} white-space: pre;`}getSvgSpanStyles(e,t){let{fontFamily:l,strokeWidth:n,stroke:V,fill:i,fontSize:a,fontStyle:r,fontWeight:s,textDecorationThickness:o,textDecorationColor:h,linethrough:d,overline:R,underline:U}=e,c=this.getSvgTextDecoration({underline:U??this.underline,overline:R??this.overline,linethrough:d??this.linethrough}),p=o||this.textDecorationThickness,Z=h||this.textDecorationColor,W=Bu(n),m=Hu(l),F=Bu(a),N=Hu(r),u=Bu(s)||Hu(s),E=Hu(Z);return[V?eE(gF,V):"",W?`stroke-width: ${qN(W)}; `:"",m?`font-family: ${m.includes("'")||m.includes('"')?qN(m):`'${qN(m)}'`}; `:"",F?`font-size: ${qN(F)}px; `:"",N?`font-style: ${qN(N)}; `:"",u?`font-weight: ${qN(u)}; `:"",c?`text-decoration: ${c}; text-decoration-thickness: ${fN(p*this.getObjectScaling().y/10,tF.NUM_FRACTION_DIGITS)}%;${E?` text-decoration-color: ${qN(E)};`:""} `:"",i?eE(jF,i):"",t?"white-space: pre; ":""].join("")}getSvgTextDecoration(e){return["overline","underline","line-through"].filter((t=>e[t.replace("-","")])).join(" ")}}]),IF.setClass(YT),IF.setSVGClass(YT);var xT=class{constructor(e){qm(this,"target",void 0),qm(this,"__mouseDownInPlace",!1),qm(this,"__dragStartFired",!1),qm(this,"__isDraggingOver",!1),qm(this,"__dragStartSelection",void 0),qm(this,"__dragImageDisposer",void 0),qm(this,"_dispose",void 0),this.target=e;let t=[this.target.on("dragenter",this.dragEnterHandler.bind(this)),this.target.on("dragover",this.dragOverHandler.bind(this)),this.target.on("dragleave",this.dragLeaveHandler.bind(this)),this.target.on("dragend",this.dragEndHandler.bind(this)),this.target.on("drop",this.dropHandler.bind(this))];this._dispose=()=>{t.forEach((e=>e())),this._dispose=void 0}}isPointerOverSelection(e){let t=this.target,l=t.getSelectionStartFromPointer(e);return t.isEditing&&l>=t.selectionStart&&l<=t.selectionEnd&&t.selectionStart<t.selectionEnd}start(e){return this.__mouseDownInPlace=this.isPointerOverSelection(e)}isActive(){return this.__mouseDownInPlace}end(e){let t=this.isActive();return t&&!this.__dragStartFired&&(this.target.setCursorByClick(e),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,t}getDragStartSelection(){return this.__dragStartSelection}setDragImage(e,{selectionStart:t,selectionEnd:l}){var n;let V=this.target,i=V.canvas,a=new PF(V.flipX?-1:1,V.flipY?-1:1),r=V._getCursorBoundaries(t),s=new PF(r.left+r.leftOffset,r.top+r.topOffset).multiply(a).transform(V.calcTransformMatrix()),o=i.getScenePoint(e).subtract(s),h=V.getCanvasRetinaScaling(),d=V.getBoundingRect
1(),R=s.subtract(new PF(d.left,d.top)),U=i.viewportTransform,c=R.add(o).transform(U,!0),p=V.backgroundColor,Z=sS(V.styles);V.backgroundColor="";let W={stroke:"transparent",fill:"transparent",textBackgroundColor:"transparent"};V.setSelectionStyles(W,0,t),V.setSelectionStyles(W,l,V.text.length),V.dirty=!0;let m=V.toCanvasElement({enableRetinaScaling:i.enableRetinaScaling,viewportTransform:!0});V.backgroundColor=p,V.styles=Z,V.dirty=!0,GJ(m,{position:"fixed",left:-m.width+"px",border:SF,width:m.width/h+"px",height:m.height/h+"px"}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{m.remove()},HN(e.target||this.target.hiddenTextarea).body.appendChild(m),null==(n=e.dataTransfer)||n.setDragImage(m,c.x,c.y)}onDragStart(e){this.__dragStartFired=!0;let t=this.target,l=this.isActive();if(l&&e.dataTransfer){let l=this.__dragStartSelection={selectionStart:t.selectionStart,selectionEnd:t.selectionEnd},n=t._text.slice(l.selectionStart,l.selectionEnd).join(""),V={text:t.text,value:n,...l};e.dataTransfer.setData("text/plain",n),e.dataTransfer.setData("application/fabric",JSON.stringify({value:n,styles:t.getSelectionStyles(l.selectionStart,l.selectionEnd,!0)})),e.dataTransfer.effectAllowed="copyMove",this.setDragImage(e,V)}return t.abortCursorAnimation(),l}canDrop(e){if(this.target.editable&&!this.target.getActiveControl()&&!e.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){let t=this.target.getSelectionStartFromPointer(e),l=this.__dragStartSelection;return t<l.selectionStart||t>l.selectionEnd}return!0}return!1}targetCanDrop(e){return this.target.canDrop(e)}dragEnterHandler({e:e}){let t=this.targetCanDrop(e);!this.__isDraggingOver&&t&&(this.__isDraggingOver=!0)}dragOverHandler(e){let{e:t}=e,l=this.targetCanDrop(t);!this.__isDraggingOver&&l?this.__isDraggingOver=!0:this.__isDraggingOver&&!l&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(t.preventDefault(),e.canDrop=!0,e.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(e){var t;let{e:l}=e,n=l.defaultPrevented;this.__isDraggingOver=!1,l.preventDefault();let V=null==(t=l.dataTransfer)?void 0:t.getData("text/plain");if(V&&!n){let t=this.target,n=t.canvas,i=t.getSelectionStartFromPointer(l),{styles:a}=l.dataTransfer.types.includes("application/fabric")?JSON.parse(l.dataTransfer.getData("application/fabric")):{},r=V[Math.max(0,V.length-1)];if(this.__dragStartSelection){let e=this.__dragStartSelection.selectionStart,l=this.__dragStartSelection.selectionEnd;i>e&&i<=l?i=e:i>l&&(i-=l-e),t.removeChars(e,l),delete this.__dragStartSelection}t._reNewline.test(r)&&(t._reNewline.test(t._text[i])||i===t._text.length)&&(V=V.trimEnd()),e.didDrop=!0,e.dropTarget=t,t.insertChars(V,a,i),n.setActiveObject(t),t.enterEditing(l),t.selectionStart=Math.min(i+0,t._text.length),t.selectionEnd=Math.min(t.selectionStart+V.length,t._text.length),t.hiddenTextarea.value=t.text,t._updateTextarea(),t.hiddenTextarea.focus(),t.fire(XF,{index:i+0,action:"drop"}),n.fire("text:changed",{target:t}),n.contextTopDirty=!0,n.requestRenderAll()}}dragEndHandler({e:e}){if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var t;let l=this.target,n=this.target.canvas,{selectionStart:V,selectionEnd:i}=this.__dragStartSelection,a=(null==(t=e.dataTransfer)?void 0:t.dropEffect)||"none";"none"===a?(l.selectionStart=V,l.selectionEnd=i,l._updateTextarea(),l.hiddenTextarea.focus()):(l.clearContextTop(),"move"===a&&(l.removeChars(V,i),l.selectionStart=l.selectionEnd=V,l.hiddenTextarea&&(l.hiddenTextarea.value=l.text),l._updateTextarea(),l.fire(XF,{index:V,action:"dragend"}),n.fire("text:changed",{target:l}),n.requestRenderAll()),l.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}},QT=/[ \n\.,;!\?\-]/,XT=class extends YT{constructor(...e){super(...e),qm(this,"_currentCursorOpacity",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(e){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(e)}_animateCursor({toValue:e,duration:t,delay:l,onComplete:n}){return Ub({startValue:this._currentCursorOpacity,endValue:e,duration:t,delay:l,onComplete:n,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:e=>{this._currentCursorOpacity=e,this.renderCursorOrSelection()}})}_tick(e){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(e||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var e;null==(e=this._currentTickCompleteState)||e.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(e){this.abortCursorAnimation(),this._tick(e?0:this.cursorDelay)}abortCursorAnimation(){let e=!1;[this._currentTickState,this._currentTickCompleteState].forEach((t=>{t&&!t.isDone()&&(e=!0,t.abort())})),this._currentCursorOpacity=1,e&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some((e=>!e||e.isDone()))&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}cmdAll(){this.selectAll(),this.renderCursorOrSelection()}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")}findWordBoundaryLeft(e){let t=0,l=e-1;if(this._reSpace.test(this._text[l]))for(;this._reSpace.test(this._text[l]);)t++,l--;for(;/\S/.test(this._text[l])&&l>-1;)t++,l--;return e-t}findWordBoundaryRight(e){let t=0,l=e;if(this._reSpace.test(this._text[l]))for(;this._reSpace.test(this._text[l]);)t++,l++;for(;/\S/.test(this._text[l])&&l<this._text.length;)t++,l++;return e+t}findLineBoundaryLeft(e){let t=0,l=e-1;for(;!/\n/.test(this._text[l])&&l>-1;)t++,l--;return e-t}findLineBoundaryRight(e){let t=0,l=e;for(;!/\n/.test(this._text[l])&&l<this._text.length;)t++,l++;return e+t}searchWordBoundary(e,t){let l=this._text,n=e>0&&this._reSpace.test(l[e])&&(-1===t||!JF.test(l[e-1]))?e-1:e,V=l[n];for(;n>0&&n<l.length&&!QT.test(V);)n+=t,V=l[n];return-1===t&&QT.test(V)&&n++,n}selectWord(e){var t;e=null==(t=e)?this.selectionStart:t;let l=this.searchWordBoundary(e,-1),n=Math.max(l,this.searchWordBoundary(e,1));this.selectionStart=l,this.selectionEnd=n,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(e){var t;e=null==(t=e)?this.selectionStart:t;let l=this.findLineBoundaryLeft(e),n=this.findLineBoundaryRight(e);this.selectionStart=l,this.selectionEnd=n,this._fireSelectionChanged(),this._updateTextarea()}enterEditing(e){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire("editing:entered",e?{e:e}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire("text:editing:entered",{target:this,e:e}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(e){if(this.getActiveControl())return;let t=this.hiddenTextarea;HN(t).activeElement!==t&&t.focus();let l=this.getSelectionStartFromPointer(e),n=this.selectionStart,V=this.selectionEnd;(l===this.__selectionStartOnMouseDown&&n!==V||n!==l&&V!==l)&&(l>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=l):(this.selectionStart=l,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===n&&this.selectionEnd===V||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}
vendor: 12,752 bytes, line 1
1_setEditingProps(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(e,t,l){let n=l.slice(0,e),V=this.graphemeSplit(n).length;if(e===t)return{selectionStart:V,selectionEnd:V};let i=l.slice(e,t);return{selectionStart:V,selectionEnd:V+this.graphemeSplit(i).length}}fromGraphemeToStringSelection(e,t,l){let n=l.slice(0,e).join("").length;return e===t?{selectionStart:n,selectionEnd:n}:{selectionStart:n,selectionEnd:n+l.slice(e,t).join("").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){let e=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=e.selectionStart,this.hiddenTextarea.selectionEnd=e.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){let{hiddenTextarea:e,direction:t,textAlign:l,inCompositionMode:n}=this;if(!e)return;let V="justify"===l?"ltr"===t?uF:bF:l.replace("justify-",""),i=this.getPositionByOrigin(V,"top");this.cursorOffsetCache={},this.text=e.value,this.set("dirty",!0),this.initDimensions(),this.setPositionByOrigin(i,V,"top"),this.setCoords();let a=this.fromStringToGraphemeSelection(e.selectionStart,e.selectionEnd,e.value);this.selectionEnd=this.selectionStart=a.selectionEnd,n||(this.selectionStart=a.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){let e=this._calcTextareaPosition();this.hiddenTextarea.style.left=e.left,this.hiddenTextarea.style.top=e.top}}_calcTextareaPosition(){if(!this.canvas)return{left:"1px",top:"1px"};let e=this.inCompositionMode?this.compositionStart:this.selectionStart,t=this._getCursorBoundaries(e),l=this.get2DCursorLocation(e),n=l.lineIndex,V=l.charIndex,i=this.getValueOfPropertyAt(n,V,"fontSize")*this.lineHeight,a=t.leftOffset,r=this.getCanvasRetinaScaling(),s=this.canvas.upperCanvasEl,o=s.width/r,h=s.height/r,d=o-i,R=h-i,U=new PF(t.left+a,t.top+t.topOffset+i).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new PF(s.clientWidth/o,s.clientHeight/h));return U.x<0&&(U.x=0),U.x>d&&(U.x=d),U.y<0&&(U.y=0),U.y>R&&(U.y=R),U.x+=this.canvas._offset.left,U.y+=this.canvas._offset.top,{left:`${U.x}px`,top:`${U.y}px`,fontSize:`${i}px`,charHeight:i}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}exitEditingImpl(){let e=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,e&&(e.blur&&e.blur(),e.parentNode&&e.parentNode.removeChild(e)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){let e=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire("editing:exited"),e&&this.fire("modified"),this.canvas&&(this.canvas.fire("text:editing:exited",{target:this}),e&&this.canvas.fire("object:modified",{target:this})),this}_removeExtraneousStyles(){for(let e in this.styles)this._textLines[e]||delete this.styles[e]}removeStyleFromTo(e,t){let{lineIndex:l,charIndex:n}=this.get2DCursorLocation(e,!0),{lineIndex:V,charIndex:i}=this.get2DCursorLocation(t,!0);if(l!==V){if(this.styles[l])for(let e=n;e<this._unwrappedTextLines[l].length;e++)delete this.styles[l][e];if(this.styles[V])for(let e=i;e<this._unwrappedTextLines[V].length;e++){let t=this.styles[V][e];t&&(this.styles[l]||(this.styles[l]={}),this.styles[l][n+e-i]=t)}for(let e=l+1;e<=V;e++)delete this.styles[e];this.shiftLineStyles(V,l-V)}else if(this.styles[l]){let e=this.styles[l],t=i-n;for(let t=n;t<i;t++)delete e[t];for(let n in this.styles[l]){let l=parseInt(n,10);l>=i&&(e[l-t]=e[n],delete e[n])}}}shiftLineStyles(e,t){let l=Object.assign({},this.styles);for(let n in this.styles){let V=parseInt(n,10);V>e&&(this.styles[V+t]=l[V],l[V-t]||delete this.styles[V])}}insertNewlineStyleObject(e,t,l,n){let V={},i=this._unwrappedTextLines[e].length,a=i===t,r=!1;l||(l=1),this.shiftLineStyles(e,l);let s=this.styles[e]?this.styles[e][0===t?t:t-1]:void 0;for(let l in this.styles[e]){let n=parseInt(l,10);n>=t&&(r=!0,V[n-t]=this.styles[e][l],a&&0===t||delete this.styles[e][l])}let o=!1;for(r&&!a&&(this.styles[e+l]=V,o=!0),(o||i>t)&&l--;l>0;)n&&n[l-1]?this.styles[e+l]={0:{...n[l-1]}}:s?this.styles[e+l]={0:{...s}}:delete this.styles[e+l],l--;this._forceClearCache=!0}insertCharStyleObject(e,t,l,n){this.styles||(this.styles={});let V=this.styles[e],i=V?{...V}:{};l||(l=1);for(let e in i){let n=parseInt(e,10);n>=t&&(V[n+l]=i[n],i[n-l]||delete V[n])}if(this._forceClearCache=!0,n){for(;l--;)Object.keys(n[l]).length&&(this.styles[e]||(this.styles[e]={}),this.styles[e][t+l]={...n[l]});return}if(!V)return;let a=V[t?t-1:1];for(;a&&l--;)this.styles[e][t+l]={...a}}insertNewStyleBlock(e,t,l){let n,V=this.get2DCursorLocation(t,!0),i=[0],a=0;for(let t=0;t<e.length;t++)"\n"===e[t]?(a++,i[a]=0):i[a]++;for(i[0]>0&&(this.insertCharStyleObject(V.lineIndex,V.charIndex,i[0],l),l=l&&l.slice(i[0]+1)),a&&this.insertNewlineStyleObject(V.lineIndex,V.charIndex+i[0],a),n=1;n<a;n++)i[n]>0?this.insertCharStyleObject(V.lineIndex+n,0,i[n],l):l&&this.styles[V.lineIndex+n]&&l[0]&&(this.styles[V.lineIndex+n][0]=l[0]),l=l&&l.slice(i[n]+1);i[n]>0&&this.insertCharStyleObject(V.lineIndex+n,0,i[n],l)}removeChars(e,t=e+1){this.removeStyleFromTo(e,t),this._text.splice(e,t-e),this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(e,t,l,n=l){n>l&&this.removeStyleFromTo(l,n);let V=this.graphemeSplit(e);this.insertNewStyleBlock(V,l,t),this._text=[...this._text.slice(0,l),...V,...this._text.slice(n)],this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(e,t,l){l<=e?(t===e?this._selectionDirection=uF:"right"===this._selectionDirection&&(this._selectionDirection=uF,this.selectionEnd=e),this.selectionStart=l):l>e&&l<t?"right"===this._selectionDirection?this.selectionEnd=l:this.selectionStart=l:(t===e?this._selectionDirection=bF:"left"===this._selectionDirection&&(this._selectionDirection=bF,this.selectionStart=t),this.selectionEnd=l)}},wT=class extends XT{initHiddenTextarea(){let e=this.canvas&&HN(this.canvas.getElement())||oF(),t=e.createElement("textarea");Object.entries({autocapitalize:"off",autocorrect:"off",autocomplete:"off",spellcheck:"false","data-fabric":"textarea",wrap:"off",name:"fabricTextarea"}).map((([e,l])=>t.setAttribute(e,l)));let{top:l,left:n,fontSize:V}=this._calcTextareaPosition();t.style.cssText=`position: absolute; top: ${l}; left: ${n}; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: ${V};`,(this.hiddenTextareaContainer||e.body).appendChild(t),Object.entries({blur:"blur",keydown:"onKeyDown",keyup:"onKeyUp",input:"onInput",copy:"copy",cut:"copy",paste:"paste",compositionstart:"onCompositionStart",compositionupdate:"onCompositionUpdate",compositionend:"onCompositionEnd"}).map((([e,l])=>t.addEventListener(e,this[l].bind(this)))),this.hiddenTextarea=t}blur(){this.abortCursorAnimation()}onKeyDown(e){if(!this.isEditing)return;let t="rtl"===this.direction?this.keysMapRtl:this.keysMap;if(e.keyCode in t)this[t[e.keyCode]](e);else{if(!(e.keyCode in this.ctrlKeysMapDown)||!e.ctrlKey&&!e.metaKey)return;this[this.ctrlKeysMapDown[e.keyCode]](e)}e.stopImmediatePropagation(),e.preventDefault(),e.keyCode>=33&&e.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(e){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:e.keyCode in this.ctrlKeysMapUp&&(e.ctrlKey||e.metaKey)&&(this[this.ctrlKeysMapUp[e.keyCode]](e),e.stopImmediatePropagation(),e.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(e){let t=this.fromPaste,{value:l,selectionStart:n,selectionEnd:V}=this.hiddenTextarea;if(this.fromPaste=!1,e&&e.stopPropagation(),!this.isEditing)return;let i=()=>{this.updateFromTextArea(),this.fire(XF),this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll())};if(""===this.hiddenTextarea.value)return this.styles={},void i();let a,r,s,o,h=this._splitTextIntoLines(l).graphemeText,d=this._text.length,R=h.length,U=this.selectionStart,c=this.selectionEnd,p=U!==c,Z=R-d,W=this.fromStringToGraphemeSelection(n,V,l),m=U>W.selectionStart;p?(r=this._text.slice(U,c),Z+=c-U):R<d&&(r=m?this._text.slice(c+Z,c):this._text.slice(U,U-Z));let F=h.slice(W.selectionEnd-Z,W.selectionEnd);if(r&&r.length&&(F.length&&(a=this.getSelectionStyles(U,U+1,!1),a=F.map((()=>a[0]))),p?(s=U,o=c):m?(s=c-r.length,o=c):(s=c,o=c+r.length),this.removeStyleFromTo(s,o)),F.length){let{copyPasteData:e}=sF();t&&F.join("")===e.copiedText&&!tF.disableStyleCopyPaste&&(a=e.copiedTextStyle),this.insertNewStyleBlock(F,U,a)}i()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate({target:e}){let{selectionStart:t,selectionEnd:l}=e;this.compositionStart=t,this.compositionEnd=l,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;let{copyPasteData:e}=sF();e.copiedText=this.getSelectedText(),tF.disableStyleCopyPaste?e.copiedTextStyle=void 0:e.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(e,t){let l,n=this._getLineLeftOffset(e);return t>0&&(l=this.__charBounds[e][t-1],n+=l.left+l.width),n}getDownCursorOffset(e,t){let l=this._getSelectionForOffset(e,t),n=this.get2DCursorLocation(l),V=n.lineIndex;if(V===this._textLines.length-1||e.metaKey||34===e.keyCode)return this._text.length-l;let i=n.charIndex,a=this._getWidthBeforeCursor(V,i),r=this._getIndexOnLine(V+1,a);return this._textLines[V].slice(i).length+r+1+this.missingNewlineOffset(V)}_getSelectionForOffset(e,t){return e.shiftKey&&this.selectionStart!==this.selectionEnd&&t?this.selectionEnd:this.selectionStart}getUpCursorOffset(e,t){let l=this._getSelectionForOffset(e,t),n=this.get2DCursorLocation(l),V=n.lineIndex;if(0===V||e.metaKey||33===e.keyCode)return-l;let i=n.charIndex,a=this._getWidthBeforeCursor(V,i),r=this._getIndexOnLine(V-1,a),s=this._textLines[V].slice(0,i),o=this.missingNewlineOffset(V-1);return-this._textLines[V-1].length+r-s.length+(1-o)}_getIndexOnLine(e,t){let l,n,V=this._textLines[e],i=this._getLineLeftOffset(e),a=0;for(let r=0,s=V.length;r<s;r++)if(l=this.__charBounds[e][r].width,i+=l,i>t){n=!0;let e=i-l,V=i,s=Math.abs(e-t);a=Math.abs(V-t)<s?r:r-1;break}return n||(a=V.length-1),a}moveCursorDown(e){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",e)}moveCursorUp(e){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",e)}_moveCursorUpOrDown(e,t){let l=this[`get${e}CursorOffset`](t,this._selectionDirection===bF);if(t.shiftKey?this.moveCursorWithShift(l):this.moveCursorWithoutShift(l),0!==l){let e=this.text.length;this.selectionStart=EE(0,this.selectionStart,e),this.selectionEnd=EE(0,this.selectionEnd,e),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(e){let t="left"===this._selectionDirection?this.selectionStart+e:this.selectionEnd+e;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,t),0!==e}moveCursorWithoutShift(e){return e<0?(this.selectionStart+=e,this.selectionEnd=this.selectionStart):(this.selectionEnd+=e,this.selectionStart=this.selectionEnd),0!==e}moveCursorLeft(e){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",e)}_move(e,t,l){let n;if(e.altKey)n=this[`findWordBoundary${l}`](this[t]);
1else{if(!e.metaKey&&35!==e.keyCode&&36!==e.keyCode)return this[t]+="Left"===l?-1:1,!0;n=this[`findLineBoundary${l}`](this[t])}return void 0!==n&&this[t]!==n&&(this[t]=n,!0)}_moveLeft(e,t){return this._move(e,t,"Left")}_moveRight(e,t){return this._move(e,t,"Right")}moveCursorLeftWithoutShift(e){let t=!0;return this._selectionDirection=uF,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(t=this._moveLeft(e,"selectionStart")),this.selectionEnd=this.selectionStart,t}moveCursorLeftWithShift(e){return"right"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveLeft(e,"selectionEnd"):0===this.selectionStart?void 0:(this._selectionDirection=uF,this._moveLeft(e,"selectionStart"))}moveCursorRight(e){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",e)}_moveCursorLeftOrRight(e,t){let l=`moveCursor${e}${t.shiftKey?"WithShift":"WithoutShift"}`;this._currentCursorOpacity=1,this[l](t)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(e){return"left"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveRight(e,"selectionStart"):this.selectionEnd===this._text.length?void 0:(this._selectionDirection=bF,this._moveRight(e,"selectionEnd"))}moveCursorRightWithoutShift(e){let t=!0;return this._selectionDirection=bF,this.selectionStart===this.selectionEnd?(t=this._moveRight(e,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,t}},fT=e=>!!e.button,zT=class extends wT{constructor(...e){super(...e),qm(this,"draggableTextDelegate",void 0)}initBehavior(){this.on("mousedown",this._mouseDownHandler),this.on("mouseup",this.mouseUpHandler),this.on("mousedblclick",this.doubleClickHandler),this.on("mousetripleclick",this.tripleClickHandler),this.draggableTextDelegate=new xT(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(e){return this.draggableTextDelegate.onDragStart(e)}canDrop(e){return this.draggableTextDelegate.canDrop(e)}doubleClickHandler(e){this.isEditing&&(this.selectWord(this.getSelectionStartFromPointer(e.e)),this.renderCursorOrSelection())}tripleClickHandler(e){this.isEditing&&(this.selectLine(this.getSelectionStartFromPointer(e.e)),this.renderCursorOrSelection())}_mouseDownHandler({e:e,alreadySelected:t}){this.canvas&&this.editable&&!fT(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),t&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()),this.selected||(this.selected=t||this.isEditing)))}mouseUpHandler({e:e,transform:t}){let l=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);let e=this.canvas._activeObject;if(e&&e!==this)return}!this.editable||this.group&&!this.group.interactive||t&&t.actionPerformed||fT(e)||l||this.selected&&!this.getActiveControl()&&(this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection())}setCursorByClick(e){let t=this.getSelectionStartFromPointer(e),l=this.selectionStart,n=this.selectionEnd;e.shiftKey?this.setSelectionStartEndWithShift(l,n,t):(this.selectionStart=t,this.selectionEnd=t),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(e){let t=this.canvas.getScenePoint(e).transform(pN(this.calcTransformMatrix())).add(new PF(-this._getLeftOffset(),-this._getTopOffset())),l=0,n=0,V=0;for(let e=0;e<this._textLines.length&&l<=t.y;e++)l+=this.getHeightOfLine(e),V=e,e>0&&(n+=this._textLines[e-1].length+this.missingNewlineOffset(e-1));let i=Math.abs(this._getLineLeftOffset(V)),a=this._textLines[V].length,r=this.__charBounds[V];for(let e=0;e<a;e++){let l=i+r[e].kernedWidth;if(t.x<=l){Math.abs(t.x-l)<=Math.abs(t.x-i)&&n++;break}i=l,n++}return Math.min(this.flipX?a-n:n,this._text.length)}},yT="moveCursorUp",CT="moveCursorDown",jT="moveCursorLeft",gT="moveCursorRight",BT="exitEditing",HT=(e,t)=>{let l=t.getRetinaScaling();e.setTransform(l,0,0,l,0,0);let n=t.viewportTransform;e.transform(n[0],n[1],n[2],n[3],n[4],n[5])},vT={selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"",curs
1orDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:BT,27:BT,33:yT,34:CT,35:gT,36:jT,37:jT,38:yT,39:gT,40:CT},keysMapRtl:{9:BT,27:BT,33:yT,34:CT,35:jT,36:gT,37:gT,38:yT,39:jT,40:CT},ctrlKeysMapDown:{65:"cmdAll"},ctrlKeysMapUp:{67:"copy",88:"cut"},_selectionDirection:null,_reSpace:/\s|\r?\n/,inCompositionMode:!1},IT=class e extends zT{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}get type(){let e=super.type;return"itext"===e?"i-text":e}constructor(t,l){super(t,{...e.ownDefaults,...l}),this.initBehavior()}_set(e,t){return this.isEditing&&this._savedProps&&e in this._savedProps?(this._savedProps[e]=t,this):("canvas"===e&&(this.canvas instanceof PJ&&this.canvas.textEditingManager.remove(this),t instanceof PJ&&t.textEditingManager.add(this)),super._set(e,t))}setSelectionStart(e){e=Math.max(e,0),this._updateAndFire("selectionStart",e)}setSelectionEnd(e){e=Math.min(e,this.text.length),this._updateAndFire("selectionEnd",e)}_updateAndFire(e,t){this[e]!==t&&(this._fireSelectionChanged(),this[e]=t),this._updateTextarea()}_fireSelectionChanged(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(e=this.selectionStart||0,t=this.selectionEnd,l){return super.getSelectionStyles(e,t,l)}setSelectionStyles(e,t=this.selectionStart||0,l=this.selectionEnd){return super.setSelectionStyles(e,t,l)}get2DCursorLocation(e=this.selectionStart,t){return super.get2DCursorLocation(e,t)}render(e){super.render(e),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(e){let t=this.isEditing;this.isEditing=!1;let l=super.toCanvasElement(e);return this.isEditing=t,l}renderCursorOrSelection(){if(!this.isEditing||!this.canvas)return;let e=this.clearContextTop(!0);if(!e)return;let t,l=this._getCursorBoundaries(),n=this.findAncestorsWithClipPath(),V=n.length>0,i=e;if(V){t=sN(e.canvas),i=t.getContext("2d"),HT(i,this.canvas);let l=this.calcTransformMatrix();i.transform(l[0],l[1],l[2],l[3],l[4],l[5])}if(this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(i,l):this.renderCursor(i,l),V)for(let t of n){let l=t.clipPath,n=sN(e.canvas),V=n.getContext("2d");if(HT(V,this.canvas),!l.absolutePositioned){let e=t.calcTransformMatrix();V.transform(e[0],e[1],e[2],e[3],e[4],e[5])}l.transform(V),l.drawObject(V,!0,{}),this.drawClipPathOnCache(i,l,n)}V&&(e.setTransform(1,0,0,1,0,0),e.drawImage(t,0,0)),this.canvas.contextTopDirty=!0,e.restore()}findAncestorsWithClipPath(){let e=[],t=this;for(;t;)t.clipPath&&e.push(t),t=t.parent;return e}_getCursorBoundaries(e=this.selectionStart,t){let l=this._getLeftOffset(),n=this._getTopOffset(),V=this._getCursorBoundariesOffsets(e,t);return{left:l,top:n,leftOffset:V.left,topOffset:V.top}}_getCursorBoundariesOffsets(e,t){return t?this.__getCursorBoundariesOffsets(e):this.cursorOffsetCache&&"top"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(e)}__getCursorBoundariesOffsets(e){let t=0,l=0,{charIndex:n,lineIndex:V}=this.get2DCursorLocation(e),{textAlign:i,direction:a}=this;for(let e=0;e<V;e++)t+=this.getHeightOfLine(e);let r=this._getLineLeftOffset(V),s=this.__charBounds[V][n];s&&(l=s.left),0!==this.charSpacing&&n===this._textLines[V].length&&(l-=this._getWidthOfCharSpacing());let o=r+(l>0?l:0);return"rtl"===a&&("right"===i||"justify"===i||"justify-right"===i?o*=-1:"left"===i||"justify-left"===i?o=r-(l>0?l:0):"center"!==i&&"justify-center"!==i||(o=r-(l>0?l:0))),{top:t,left:o}}renderCursorAt(e){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(e,!0),e)}renderCursor(e,t){this._renderCursor(e,t,this.selectionStart)}getCursorRenderingData(e=this.selectionStart,t=this._getCursorBoundaries(e)){let l=this.get2DCursorLocation(e),n=l.lineIndex,V=l.charIndex>0?l.charIndex-1:0,i=this.getValueOfPropertyAt(n,V,"fontSize"),a=this.getObjectScaling().x*this.canvas.getZoom(),r=this.cursorWidth/a,s=this.getValueOfPropertyAt(n,V,"deltaY"),o=t.to
vendor: 7,516 bytes, line 1
1pOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(n)/this.lineHeight-i*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(n,V,"fill"),opacity:this._currentCursorOpacity,left:t.left+t.leftOffset-r/2,top:o+t.top+s,width:r,height:i}}_renderCursor(e,t,l){let{color:n,opacity:V,left:i,top:a,width:r,height:s}=this.getCursorRenderingData(l,t);e.fillStyle=n,e.globalAlpha=V,e.fillRect(i,a,r,s)}renderSelection(e,t){let l={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(e,l,t)}renderDragSourceEffect(){let e=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,e,this._getCursorBoundaries(e.selectionStart,!0))}renderDropTargetEffect(e){let t=this.getSelectionStartFromPointer(e);this.renderCursorAt(t)}_renderSelection(e,t,l){let{textAlign:n,direction:V}=this,i=t.selectionStart,a=t.selectionEnd,r=n.includes(dE),s=this.get2DCursorLocation(i),o=this.get2DCursorLocation(a),h=s.lineIndex,d=o.lineIndex,R=s.charIndex<0?0:s.charIndex,U=o.charIndex<0?0:o.charIndex;for(let t=h;t<=d;t++){let i=this._getLineLeftOffset(t)||0,a=this.getHeightOfLine(t),s=0,o=0;if(t===h&&(s=this.__charBounds[h][R].left),t>=h&&t<d)o=r&&!this.isEndOfWrapping(t)?this.width:this.getLineWidth(t)||5;else if(t===d)if(0===U)o=this.__charBounds[d][U].left;else{let e=this._getWidthOfCharSpacing();o=this.__charBounds[d][U-1].left+this.__charBounds[d][U-1].width-e}let c=a;(this.lineHeight<1||t===d&&this.lineHeight>1)&&(a/=this.lineHeight);let p=l.left+i+s,Z=a,W=0,m=o-s;this.inCompositionMode?(e.fillStyle=this.compositionColor||"black",Z=1,W=a):e.fillStyle=this.selectionColor,"rtl"===V&&("right"===n||"justify"===n||"justify-right"===n?p=this.width-p-m:"left"===n||"justify-left"===n?p=l.left+i-o:"center"!==n&&"justify-center"!==n||(p=l.left+i-o)),e.fillRect(p,l.top+l.topOffset+W,m,Z),l.topOffset+=c}}getCurrentCharFontSize(){let e=this._getCurrentCharIndex();return this.getValueOfPropertyAt(e.l,e.c,"fontSize")}getCurrentCharColor(){let e=this._getCurrentCharIndex();return this.getValueOfPropertyAt(e.l,e.c,jF)}_getCurrentCharIndex(){let e=this.get2DCursorLocation(this.selectionStart,!0),t=e.charIndex>0?e.charIndex-1:0;return{l:e.lineIndex,c:t}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}};qm(IT,"ownDefaults",vT),qm(IT,"type","IText"),IF.setClass(IT),IF.setClass(IT,"i-text");var DT=class e extends IT{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t,l){super(t,{...e.ownDefaults,...l})}static createControls(){return{controls:qb()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set("width",this.dynamicMinWidth),this.textAlign.includes("justify")&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(e){let t=0,l=0,n=0,V={};for(let i=0;i<e.graphemeLines.length;i++)"\n"===e.graphemeText[n]&&i>0?(l=0,n++,t++):!this.splitByGrapheme&&this._reSpaceAndTab.test(e.graphemeText[n])&&i>0&&(l++,n++),V[i]={line:t,offset:l},n+=e.graphemeLines[i].length,l+=e.graphemeLines[i].length;return V}styleHas(e,t){if(this._styleMap&&!this.isWrapping){let e=this._styleMap[t];e&&(t=e.line)}return super.styleHas(e,t)}isEmptyStyles(e){if(!this.styles)return!0;let t,l,n=0,V=!1,i=this._styleMap[e],a=this._styleMap[e+1];i&&(e=i.line,n=i.offset),a&&(t=a.line,V=t===e,l=a.offset);let r=void 0===e?this.styles:{line:this.styles[e]};for(let e in r)for(let t in r[e]){let i=parseInt(t,10);if(i>=n&&(!V||i<l))for(let l in r[e][t])return!1}return!0}_getStyleDeclaration(e,t){if(this._styleMap&&!this.isWrapping){let l=this._styleMap[e];if(!l)return{};e=l.line,t=l.offset+t}return super._getStyleDeclaration(e,t)}_setStyleDeclaration(e,t,l){let n=this._styleMap[e];super._setStyleDeclaration(n.line,n.offset+t,l)}_deleteStyleDeclaration(e,t){let l=this._styleMap[e];super._deleteStyleDeclaration(l.line,l.offset+t)}_getLineStyle(e){let t=this._styleMap[e];return!!this.styles[t.line]}_setLineStyle(e){let t=this._styleMap[e];super._setLineStyle(t.line)}_wrapText(e,t){this.isWrapping=!0;let l=this.getGraphemeDataForRender(e),n=[];for(let e=0;e<l.wordsData.length;e++)n.push(...this._wrapLine(e,t,l));return this.isWrapping=!1,n}getGraphemeDataForRender(e){let t=this.splitByGrapheme,l=t?"":" ",n=0;return{wordsData:e.map(((e,V)=>{let i=0,a=t?this.graphemeSplit(e):this.wordSplit(e);return 0===a.length?[{word:[],width:0}]:a.map((e=>{let a=t?[e]:this.graphemeSplit(e),r=this._measureWord(a,V,i);return n=Math.max(r,n),i+=a.length+l.length,{word:a,width:r}}))})),largestWordWidth:n}}_measureWord(e,t,l=0){let n,V=0;for(let i=0,a=e.length;i<a;i++)V+=this._getGraphemeBox(e[i],t,i+l,n,!0).kernedWidth,n=e[i];return V}wordSplit(e){return e.split(this._wordJoiners)}_wrapLine(e,t,{largestWordWidth:l,wordsData:n},V=0){let i=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,r=[],s=a?"":" ",o=0,h=[],d=0,R=0,U=!0;t-=V;let c,p=Math.max(t,l,this.dynamicMinWidth),Z=n[e];for(c=0;c<Z.length;c++){let{word:t,width:l}=Z[c];d+=t.length,o+=R+l-i,o>p&&!U?(r.push(h),h=[],o=l,U=!0):o+=i,U||a||h.push(s),h=h.concat(t),R=a?0:this._measureWord([s],e,d),d++,U=!1}return c&&r.push(h),l+V>this.dynamicMinWidth&&(this.dynamicMinWidth=l-i+V),r}isEndOfWrapping(e){return!this._styleMap[e+1]||this._styleMap[e+1].line!==this._styleMap[e].line}missingNewlineOffset(e,t){return this.splitByGrapheme&&!t?+!!this.isEndOfWrapping(e):1}_splitTextIntoLines(e){let t=super._splitTextIntoLines(e),l=this._wrapText(t.lines,this.width),n=Array(l.length);for(let e=0;e<l.length;e++)n[e]=l[e].join("");return t.lines=n,t.graphemeLines=l,t}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){let e=new Map;for(let t in this._styleMap){let l=parseInt(t,10);if(this._textLines[l]){let l=this._styleMap[t].line;e.set(`${l}`,!0)}}for(let t in this.styles)e.has(t)||delete this.styles[t]}toObject(e=[]){return super.toObject(["minWidth","splitByGrapheme",...e])}};qm(DT,"type","Textbox"),qm(DT,"textLayoutProperties",[...IT.textLayoutProperties,"width"]),qm(DT,"ownDefaults",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \t\r]/,splitByGrapheme:!1}),IF.setClass(DT);var OT=class extends gS{shouldPerformLayout(e){return!!e.target.clipPath&&super.shouldPerformLayout(e)}shouldLayoutClipPath(){return!1}calcLayoutResult(e,t){let{target:l}=e,{clipPath:n,group:V}=l;if(!n||!this.shouldPerformLayout(e))return;let{width:i,height:a}=ru(jS(l,n)),r=new PF(i,a);if(n.absolutePositioned)return{center:pu(n.getRelativeCenterPoint(),void 0,V?V.calcTransformMatrix():void 0),size:r};{let V=n.getRelativeCenterPoint().transform(l.calcOwnMatrix(),!0);if(this.shouldPerformLayout(e)){let{center:l=new PF,correction:n=new PF}=this.calcBoundingBox(t,e)||{};return{center:l.add(V),correction:n.subtract(V),size:r}}return{center:l.getRelativeCenterPoint().add(V),size:r}}}};qm(OT,"type","clip-path"),IF.setClass(OT);var _T=class extends gS{getInitialSize({target:e},{size:t}){return new PF(e.width||t.x,e.height||t.y)}};qm(_T,"type","fixed"),IF.setClass(_T);var LT=class extends vS{subscribeTargets(e){let t=e.target;e.targets.reduce(((e,t)=>(t.parent&&e.add(t.parent),e)),new Set).forEach((e=>{e.layoutManager.subscribeTargets({target:e,targets:[t]})}
1))}unsubscribeTargets(e){let t=e.target,l=t.getObjects();e.targets.reduce(((e,t)=>(t.parent&&e.add(t.parent),e)),new Set).forEach((e=>{!l.some((t=>t.parent===e))&&e.layoutManager.unsubscribeTargets({target:e,targets:[t]})}))}},KT=class e extends DS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t=[],l={}){super(),Object.assign(this,e.ownDefaults),this.setOptions(l);let{left:n,top:V,layoutManager:i}=l;this.groupInit(t,{left:n,top:V,layoutManager:i??new LT})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(...e){"selection-order"===this.multiSelectionStacking?this.add(...e):e.forEach((e=>{let t=this._objects.findIndex((t=>t.isInFrontOf(e))),l=-1===t?this.size():t;this.insertAt(l,e)}))}canEnterGroup(e){return this.getObjects().some((t=>t.isDescendantOf(e)||e.isDescendantOf(t)))?(lF("error","ActiveSelection: circular object trees are not supported, this call has no effect"),!1):super.canEnterGroup(e)}enterGroup(e,t){e.parent&&e.parent===e.group?e.parent._exitGroup(e):e.group&&e.parent!==e.group&&e.group.remove(e),this._enterGroup(e,t)}exitGroup(e,t){this._exitGroup(e,t),e.parent&&e.parent._enterGroup(e,!0)}_onAfterObjectsChange(e,t){super._onAfterObjectsChange(e,t);let l=new Set;t.forEach((e=>{let{parent:t}=e;t&&l.add(t)})),"removed"===e?l.forEach((e=>{e._onAfterObjectsChange(CS,t)})):l.forEach((e=>{e._set("dirty",!0)}))}onDeselect(){return this.removeAll(),!1}toString(){return`#<ActiveSelection: (${this.complexity()})>`}shouldCache(){return!1}isOnACache(){return!1}_renderControls(e,t,l){e.save(),e.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;let n={hasControls:!1,...l,forActiveSelection:!0}
1;for(let t=0;t<this._objects.length;t++)this._objects[t]._renderControls(e,n);super._renderControls(e,t),e.restore()}};qm(KT,"type","ActiveSelection"),qm(KT,"ownDefaults",{multiSelectionStacking:"canvas-stacking"}),IF.setClass(KT),IF.setClass(KT,"activeSelection");var PT,AT=class{constructor(){qm(this,"resources",{})}applyFilters(e,t,l,n,V){let i=V.getContext("2d",{willReadFrequently:!0,desynchronized:!0});if(!i)return;i.drawImage(t,0,0,l,n);let a={sourceWidth:l,sourceHeight:n,imageData:i.getImageData(0,0,l,n),originalEl:t,originalImageData:i.getImageData(0,0,l,n),canvasEl:V,ctx:i,filterBackend:this};e.forEach((e=>{e.applyTo(a)}));let{imageData:r}=a;return r.width===l&&r.height===n||(V.width=r.width,V.height=r.height),i.putImageData(r,0,0),a}},qT=class{constructor({tileSize:e=tF.textureSize}={}){qm(this,"aPosition",new Float32Array([0,0,0,1,1,0,1,1])),qm(this,"resources",{}),this.tileSize=e,this.setupGLContext(e,e),this.captureGPUInfo()}setupGLContext(e,t){this.dispose(),this.createWebGLCanvas(e,t)}createWebGLCanvas(e,t){let l=sN({width:e,height:t}),n=l.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});n&&(n.clearColor(0,0,0,0),this.canvas=l,this.gl=n)}applyFilters(e,t,l,n,V,i){let a,r=this.gl,s=V.getContext("2d");if(!r||!s)return;i&&(a=this.getCachedTexture(i,t));let o={originalWidth:t.width||t.naturalWidth||0,originalHeight:t.height||t.naturalHeight||0,sourceWidth:l,sourceHeight:n,destinationWidth:l,destinationHeight:n,context:r,sourceTexture:this.createTexture(r,l,n,a?void 0:t),targetTexture:this.createTexture(r,l,n),originalTexture:a||this.createTexture(r,l,n,a?void 0:t),passes:e.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:V},h=r.createFramebuffer();return r.bindFramebuffer(r.FRAMEBUFFER,h),e.forEach((e=>{e&&e.applyTo(o)})),function(e){let t=e.targetCanvas,l=t.width,n=t.height,V=e.destinationWidth,i=e.destinationHeight;l===V&&n===i||(t.width=V,t.height=i)}(o),this.copyGLTo2D(r,o),r.bindTexture(r.TEXTURE_2D,null),r.deleteTexture(o.sourceTexture),r.deleteTexture(o.targetTexture),r.deleteFramebuffer(h),s.setTransform(1,0,0,1,0,0),o}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(e,t,l,n,V){let{NEAREST:i,TEXTURE_2D:a,RGBA:r,UNSIGNED_BYTE:s,CLAMP_TO_EDGE:o,TEXTURE_MAG_FILTER:h,TEXTURE_MIN_FILTER:d,TEXTURE_WRAP_S:R,TEXTURE_WRAP_T:U}=e,c=e.createTexture();return e.bindTexture(a,c),e.texParameteri(a,h,V||i),e.texParameteri(a,d,V||i),e.texParameteri(a,R,o),e.texParameteri(a,U,o),n?e.texImage2D(a,0,r,r,s,n):e.texImage2D(a,0,r,t,l,0,r,s,null),c}getCachedTexture(e,t,l){let{textureCache:n}=this;if(n[e])return n[e];{let V=this.createTexture(this.gl,t.width,t.height,t,l);return V&&(n[e]=V),V}}evictCachesForKey(e){this.textureCache[e]&&(this.gl.deleteTexture(this.textureCache[e]),delete this.textureCache[e])}copyGLTo2D(e,t){let l=e.canvas,n=t.targetCanvas,V=n.getContext("2d");if(!V)return;V.translate(0,n.height),V.scale(1,-1);let i=l.height-n.height;V.drawImage(l,0,i,n.width,n.height,0,0,n.width,n.height)}copyGLTo2DPutImageData(e,t){let l=t.targetCanvas.getContext("2d"),n=t.destinationWidth,V=t.destinationHeight,i=n*V*4;if(!l)return;let a=new Uint8Array(this.imageBuffer,0,i),r=new Uint8ClampedArray(this.imageBuffer,0,i);e.readPixels(0,0,n,V,e.RGBA,e.UNSIGNED_BYTE,a);let s=new ImageData(r,n,V);l.putImageData(s,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;let e=this.gl,t={renderer:"",vendor:""};if(!e)return t;let l=e.getExtension("WEBGL_debug_renderer_info");if(l){let n=e.getParameter(l.UNMASKED_RENDERER_WEBGL),V=e.getParameter(l.UNMASKED_VENDOR_WEBGL);n&&(t.renderer=n.toLowerCase()),V&&(t.vendor=V.toLowerCase())}return this.gpuInfo=t,t}};function $T(e=!0){return!PT&&e&&(PT=function(){let{WebGLProbe:e}=sF();return e.queryWebGL(iN()),tF.enableGLFiltering&&e.isSupported(tF.textureSize)?new qT({tileSize:tF.textureSize}):new AT}()),PT}var eG=["cropX","cropY"],tG=class e extends tS{static getDefaults(){return{...super.getDefaults(),...e.ownDefaults}}constructor(t,l){super(),qm(this,"_lastScaleX",1),qm(this,"_lastScaleY",1),qm(this,"_filterScalingX",1),qm(this,"_filterScalingY",1),this.filters=[],Object.assign(this,e.ownDefaults),this.setOptions(l),this.cacheKey=`texture${VN()}`,this.setElement("string"==typeof t?(this.canvas&&HN(this.canvas.getElement())||oF()).getElementById(t):t,l)}getElement(){return this._element}
1setElement(e,t={}){this.removeTexture(this.cacheKey),this.removeTexture(`${this.cacheKey}_filtered`),this._element=e,this._originalElement=e,this._setWidthHeight(t),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(e){let t=$T(!1);t instanceof qT&&t.evictCachesForKey(e)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture(`${this.cacheKey}_filtered`),this._cacheContext=null,["_originalElement","_element","_filteredEl","_cacheCanvas"].forEach((e=>{let t=this[e];t&&sF().dispose(t),this[e]=void 0}))}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){let e=this.getElement();return e?{width:e.naturalWidth||e.width,height:e.naturalHeight||e.height}:{width:0,height:0}}_stroke(e){if(!this.stroke||0===this.strokeWidth)return;let t=this.width/2,l=this.height/2;e.beginPath(),e.moveTo(-t,-l),e.lineTo(t,-l),e.lineTo(t,l),e.lineTo(-t,l),e.lineTo(-t,-l),e.closePath()}toObject(e=[]){let t=[];return this.filters.forEach((e=>{e&&t.push(e.toObject())})),{...super.toObject([...eG,...e]),src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:t,...this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{}}}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){let e=[],t=this._element,l=-this.width/2,n=-this.height/2,V=[],i=[],a="",r="";if(!t)return[];if(this.hasCrop()){let e=VN();V.push('<clipPath id="imageCrop_'+e+'">\n','\t<rect x="'+l+'" y="'+n+'" width="'+qN(this.width)+'" height="'+qN(this.height)+'" />\n',"</clipPath>\n"),a=' clip-path="url(#imageCrop_'+e+')" '}if(this.imageSmoothing||(r=' image-rendering="optimizeSpeed"'),e.push("\t<image ","COMMON_PARTS",`xlink:href="${qN(this.getSrc(!0))}" x="${l-this.cropX}" y="${n-this.cropY}" width="${t.width||t.naturalWidth}" height="${t.height||t.naturalHeight}"${r}${a}></image>\n`),this.stroke||this.strokeDashArray){let e=this.fill;this.fill=null,i=[`\t<rect x="${l}" y="${n}" width="${qN(this.width)}" height="${qN(this.height)}" style="${this.getSvgStyles()}" />\n`],this.fill=e}return V="fill"===this.paintFirst?V.concat(e,i):V.concat(i,e),V}getSrc(e){let t=e?this._element:this._originalElement;return t?t.toDataURL?t.toDataURL():this.srcFromAttribute?t.getAttribute("src")||"":t.src:this.src||""}getSvgSrc(e){return this.getSrc(e)}setSrc(e,{crossOrigin:t,signal:l}={}){return YN(e,{crossOrigin:t,signal:l}).then((e=>{void 0!==t&&this.set({crossOrigin:t}),this.setElement(e)}))}toString(){return`#<Image: { src: "${this.getSrc()}" }>`}applyResizeFilters(){let e=this.resizeFilter,t=this.minimumScaleTrigger,l=this.getTotalObjectScaling(),n=l.x,V=l.y,i=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!e||n>t&&V>t)return this._element=i,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=n,void(this._lastScaleY=V);let a=sN(i),{width:r,height:s}=i;this._element=a,this._lastScaleX=e.scaleX=n,this._lastScaleY=e.scaleY=V,$T().applyFilters([e],i,r,s,this._element),this._filterScalingX=a.width/this._originalElement.width,this._filterScalingY=a.height/this._originalElement.height}applyFilters(e=this.filters||[]){if(e=e.filter((e=>e&&!e.isNeutralState())),this.set("dirty",!0),this.removeTexture(`${this.cacheKey}_filtered`),0===e.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);let t=this._originalElement,l=t.naturalWidth||t.width,n=t.naturalHeight||t.height;if(this._element===this._originalElement){let e=sN({width:l,height:n});this._element=e,this._filteredEl=e}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,l,n),this._lastScaleX=1,this._lastScaleY=1);$T().applyFilters(e,this._originalElement,l,n,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(e){e.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(e),this._renderPaintInOrder(e)}drawCacheOnCanvas(e){e.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(e)}shouldCache(){return this.needsItsOwnCache()}_renderFill(e){let t=this._element;if(!t)return;let l=this._filterScalingX,n=this._filterScalingY,V=this.width,i=this.height,a=Math.max(this.cropX,0),r=Math.max(this.cropY,0),s=t.naturalWi
1dth||t.width,o=t.naturalHeight||t.height,h=a*l,d=r*n,R=Math.min(V*l,s-h),U=Math.min(i*n,o-d),c=-V/2,p=-i/2,Z=Math.min(V,s/l-a),W=Math.min(i,o/n-r);t&&e.drawImage(t,h,d,R,U,c,p,Z,W)}_needsResize(){let e=this.getTotalObjectScaling();return e.x!==this._lastScaleX||e.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight({width:e,height:t}={}){let l=this.getOriginalSize();this.width=e||l.width,this.height=t||l.height}parsePreserveAspectRatioAttribute(){let e,t=$u(this.preserveAspectRatio||""),l=this.width,n=this.height,V={width:l,height:n},i=this._element.width,a=this._element.height,r=1,s=1,o=0,h=0,d=0,R=0;return!t||"none"===t.alignX&&"none"===t.alignY?(r=l/i,s=n/a):("meet"===t.meetOrSlice&&(r=s=_S(this._element,V),e=(l-i*r)/2,"Min"===t.alignX&&(o=-e),"Max"===t.alignX&&(o=e),e=(n-a*s)/2,"Min"===t.alignY&&(h=-e),"Max"===t.alignY&&(h=e)),"slice"===t.meetOrSlice&&(r=s=LS(this._element,V),e=i-l/r,"Mid"===t.alignX&&(d=e/2),"Max"===t.alignX&&(d=e),e=a-n/s,"Mid"===t.alignY&&(R=e/2),"Max"===t.alignY&&(R=e),i=l/r,a=n/s)),{width:i,height:a,scaleX:r,scaleY:s,offsetLeft:o,offsetTop:h,cropX:d,cropY:R}}static fromObject({filters:e,resizeFilter:t,src:l,crossOrigin:n,type:V,...i},a){return Promise.all([YN(l,{...a,crossOrigin:n}),e&&xN(e,a),t?xN([t],a):[],QN(i,a)]).then((([e,t=[],[n],V={}])=>new this(e,{...i,src:l,filters:t,resizeFilter:n,...V})))}static fromURL(e,{crossOrigin:t=null,signal:l}={},n){return YN(e,{crossOrigin:t,signal:l}).then((e=>new this(e,n)))}static async fromElement(e,t={},l){let n=wS(e,this.ATTRIBUTE_NAMES,l);return this.fromURL(n["xlink:href"]||n.href,t,n).catch((e=>(lF("log","Unable to parse Image",e),null)))}};qm(tG,"type","Image"),qm(tG,"cacheProperties",[...SE,...eG]),qm(tG,"ownDefaults",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),qm(tG,"ATTRIBUTE_NAMES",[...RS,"x","y","width","height","preserveAspectRatio","xlink:href","href","crossOrigin","image-rendering"]),IF.setClass(tG),IF.setSVGClass(tG);lE(["pattern","defs","symbol","metadata","clipPath","mask","desc"]);var lG=e=>void 0!==e.webgl,nG="precision highp float",VG=`\n    ${nG};\n    varying vec2 vTexCoord;\n    uniform sampler2D uTexture;\n    void main() {\n      gl_FragColor = texture2D(uTexture, vTexCoord);\n    }`,iG=new RegExp(nG,"g"),aG=class{get type(){return this.constructor.type}constructor({type:e,...t}={}){Object.assign(this,this.constructor.defaults,t)}getFragmentSource(){return VG}getVertexSource(){return"\n    attribute vec2 aPosition;\n    varying vec2 vTexCoord;\n    void main() {\n      vTexCoord = aPosition;\n      gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n    }"}createProgram(e,t=this.getFragmentSource(),l=this.getVertexSource()){let{WebGLProbe:{GLPrecision:n="highp"}}=sF();"highp"!==n&&(t=t.replace(iG,nG.replace("highp",n)));let V=e.createShader(e.VERTEX_SHADER),i=e.createShader(e.FRAGMENT_SHADER),a=e.createProgram();if(!V||!i||!a)throw new nF("Vertex, fragment shader or program creation error");if(e.shaderSource(V,l),e.compileShader(V),!e.getShaderParameter(V,e.COMPILE_STATUS))throw new nF(`Vertex shader compile error for ${this.type}: ${e.getShaderInfoLog(V)}`);if(e.shaderSource(i,t),e.compileShader(i),!e.getShaderParameter(i,e.COMPILE_STATUS))throw new nF(`Fragment shader compile error for ${this.type}: ${e.getShaderInfoLog(i)}`);if(e.attachShader(a,V),e.attachShader(a,i),e.linkProgram(a),!e.getProgramParameter(a,e.LINK_STATUS))throw new nF(`Shader link error for "${this.type}" ${e.getProgramInfoLog(a)}`);let r=this.getUniformLocations(e,a)||{};return r.uStepW=e.getUniformLocation(a,"uStepW"),r.uStepH=e.getUniformLocation(a,"uStepH"),{program:a,attributeLocations:this.getAttributeLocations(e,a),uniformLocations:r}}getAttributeLocations(e,t){return{aPosition:e.getAttribLocation(t,"aPosition")}}getUniformLocations(e,t){let l=this.constructor.uniformLocations,n={};for(let V=0;V<l.length;V++)n[l[V]]=e.getUniformLocation(t,l[V]);return n}sendAttributeData(e,t,l){let n=t.aPosition,V=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,V),e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),e.bufferData(e.ARRAY_BUFFER,l,e.STATIC_DRAW)}_setupFrameBuffer(e){let t=e.context;if(e.passes>1){let l=e.destinationWidth,n=e.destinationHeight;
vendor: 5,661 bytes, line 1
1e.sourceWidth===l&&e.sourceHeight===n||(t.deleteTexture(e.targetTexture),e.targetTexture=e.filterBackend.createTexture(t,l,n)),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e.targetTexture,0)}else t.bindFramebuffer(t.FRAMEBUFFER,null),t.finish()}_swapTextures(e){e.passes--,e.pass++;let t=e.targetTexture;e.targetTexture=e.sourceTexture,e.sourceTexture=t}isNeutralState(e){return!1}applyTo(e){lG(e)?(this._setupFrameBuffer(e),this.applyToWebGL(e),this._swapTextures(e)):this.applyTo2d(e)}applyTo2d(e){}getCacheKey(){return this.type}retrieveShader(e){let t=this.getCacheKey();return e.programCache[t]||(e.programCache[t]=this.createProgram(e.context)),e.programCache[t]}applyToWebGL(e){let t=e.context,l=this.retrieveShader(e);0===e.pass&&e.originalTexture?t.bindTexture(t.TEXTURE_2D,e.originalTexture):t.bindTexture(t.TEXTURE_2D,e.sourceTexture),t.useProgram(l.program),this.sendAttributeData(t,l.attributeLocations,e.aPosition),t.uniform1f(l.uniformLocations.uStepW,1/e.sourceWidth),t.uniform1f(l.uniformLocations.uStepH,1/e.sourceHeight),this.sendUniformData(t,l.uniformLocations),t.viewport(0,0,e.destinationWidth,e.destinationHeight),t.drawArrays(t.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(e,t,l){e.activeTexture(l),e.bindTexture(e.TEXTURE_2D,t),e.activeTexture(e.TEXTURE0)}unbindAdditionalTexture(e,t){e.activeTexture(t),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE0)}sendUniformData(e,t){}createHelpLayer(e){if(!e.helpLayer){let{sourceWidth:t,sourceHeight:l}=e;e.helpLayer=sN({width:t,height:l})}}toObject(){let e=Object.keys(this.constructor.defaults||{});return{type:this.type,...e.reduce(((e,t)=>(e[t]=this[t],e)),{})}}toJSON(){return this.toObject()}static async fromObject({type:e,...t},l){return new this(t)}};qm(aG,"type","BaseFilter"),qm(aG,"uniformLocations",[]);var rG={multiply:"gl_FragColor.rgb *= uColor.rgb;\n",screen:"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\n",add:"gl_FragColor.rgb += uColor.rgb;\n",difference:"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\n",subtract:"gl_FragColor.rgb -= uColor.rgb;\n",lighten:"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\n",darken:"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\n",exclusion:"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\n",overlay:"\n    if (uColor.r < 0.5) {\n      gl_FragColor.r *= 2.0 * uColor.r;\n    } else {\n      gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\n    }\n    if (uColor.g < 0.5) {\n      gl_FragColor.g *= 2.0 * uColor.g;\n    } else {\n      gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\n    }\n    if (uColor.b < 0.5) {\n      gl_FragColor.b *= 2.0 * uColor.b;\n    } else {\n      gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\n    }\n    ",tint:"\n    gl_FragColor.rgb *= (1.0 - uColor.a);\n    gl_FragColor.rgb += uColor.rgb;\n    "},sG=class extends aG{getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return`\n      precision highp float;\n      uniform sampler2D uTexture;\n      uniform vec4 uColor;\n      varying vec2 vTexCoord;\n      void main() {\n        vec4 color = texture2D(uTexture, vTexCoord);\n        gl_FragColor = color;\n        if (color.a > 0.0) {\n          ${rG[this.mode]}\n        }\n      }\n      `}applyTo2d({imageData:{data:e}}){let t=new Pu(this.color).getSource(),l=this.alpha,n=t[0]*l,V=t[1]*l,i=t[2]*l,a=1-l;for(let t=0;t<e.length;t+=4){let l,r,s,o=e[t],h=e[t+1],d=e[t+2];switch(this.mode){case"multiply":l=o*n/255,r=h*V/255,s=d*i/255;break;case"screen":l=255-(255-o)*(255-n)/255,r=255-(255-h)*(255-V)/255,s=255-(255-d)*(255-i)/255;break;case"add":l=o+n,r=h+V,s=d+i;break;case"difference":l=Math.abs(o-n),r=Math.abs(h-V),s=Math.abs(d-i);break;case"subtract":l=o-n,r=h-V,s=d-i;break;case"darken":l=Math.min(o,n),r=Math.min(h,V),s=Math.min(d,i);break;case"lighten":l=Math.max(o,n),r=Math.max(h,V),s=Math.max(d,i);break;case"overlay":l=n<128?2*o*n/255:255-2*(255-o)*(255-n)/255,r=V<128?2*h*V/255:255-2*(255-h)*(255-V)/255,s=i<128?2*d*i/255:255-2*(255-d)*(255-i)/255;break;case"exclusion":l=n+o-2*n*o/255,r=V+h-2*V*h/255,s=i+d-2*i*d/255;break;case"tint":l=n+o*a,r=V+h*a,s=i+d*a}e[t]=l,e[t+1]=r,e[t+2]=s}}sendUniformData(e,t){let l=new Pu(this.color).getSource();l[0]=this.alpha*l[0]/255,l[1]=this.alpha*l[1]/255,l[2]=this.alpha*l[2]/255,l[3]=this.alpha,e.uniform4fv(t.uColor,l)}};qm(sG,"defaults",{color:"#F95C63",mode:"multiply",alpha:1}),qm(sG,"type","BlendColor"),qm(sG,"uniformLocations",["uColor"]),IF.setClass(sG);var oG={multiply:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform sampler2D uImage;\n    uniform vec4 uColor;\n    varying vec2 vTexCoord;\n    varying vec2 vTexCoord2;\n    void main() {\n      vec4 color = texture2D(uTexture, vTexCoord);\n      vec4 color2 = texture2D(uImage, vTexCoord2);\n      color.rgba *= color2.rgba;\n      gl_FragColor = color;\n    }\n    ",mask:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform sampler2D uImage;\n    uniform vec4 uColor;\n    varying vec2 vTexCoord;\n    varying vec2 vTexCoord2;\n    void main() {\n      vec4 color = texture2D(uTexture, vTexCoord);\n      vec4 color2 = texture2D(uImage, vTexCoord2);\n      color.a = color2.a;\n      gl_FragColor = color;\n    }\n    "},hG=class extends aG{getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return oG[this.mode]}getVertexSource(){return"\n    attribute vec2 aPosition;\n    varying vec2 vTexCoord;\n    varying vec2 vTexCoord2;\n    uniform mat3 uTransformMatrix;\n    void main() {\n      vTexCoord = aPosition;
1\n      vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\n      gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n    }\n    "}applyToWebGL(e){let t=e.context,l=this.createTexture(e.filterBackend,this.image);this.bindAdditionalTexture(t,l,t.TEXTURE1),super.applyToWebGL(e),this.unbindAdditionalTexture(t,t.TEXTURE1)}createTexture(e,t){return e.getCachedTexture(t.cacheKey,t.getElement())}calculateMatrix(){let e=this.image,{width:t,height:l}=e.getElement();return[1/e.scaleX,0,0,0,1/e.scaleY,0,-e.left/t,-e.top/l,1]}applyTo2d({imageData:{data:e,width:t,height:l},filterBackend:{resources:n}}){let V=this.image;n.blendImage||(n.blendImage=iN());let i=n.blendImage,a=i.getContext("2d");i.width!==t||i.height!==l?(i.width=t,i.height=l):a.clearRect(0,0,t,l),a.setTransform(V.scaleX,0,0,V.scaleY,V.left,V.top),a.drawImage(V.getElement(),0,0,t,l);let r=a.getImageData(0,0,t,l).data;for(let t=0;t<e.length;t+=4){let l=e[t],n=e[t+1],V=e[t+2],i=e[t+3],a=r[t],s=r[t+1],o=r[t+2],h=r[t+3];switch(this.mode){case"multiply":e[t]=l*a/255,e[t+1]=n*s/255,e[t+2]=V*o/255,e[t+3]=i*h/255;break;case"mask":e[t+3]=h}}}sendUniformData(e,t){let l=this.calculateMatrix();e.uniform1i(t.uImage,1),e.uniformMatrix3fv(t.uTransformMatrix,!1,l)}toObject(){return{...super.toObject(),image:this.image&&this.image.toObject()}}static async fromObject({type:e,image:t,...l},n){return tG.fromObject(t,n).then((e=>new this({...l,image:e})))}};qm(hG,"type","BlendImage"),qm(hG,"defaults",{mode:"multiply",alpha:1}),qm(hG,"uniformLocations",["uTransformMatrix","uImage"]),IF.setClass(hG);var dG=class extends aG{getFragmentSource(){return"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform vec2 uDelta;\n    varying vec2 vTexCoord;\n    const float nSamples = 15.0;\n    vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\n    float random(vec3 scale) {\n      /* use the fragment position for a different seed per-pixel */\n      return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\n    }\n    void main() {\n      vec4 color = vec4(0.0);\n      float totalC = 0.0;\n      float totalA = 0.0;\n      float offset = random(v3offset);\n      for (float t = -nSamples; t <= nSamples; t++) {\n        float percent = (t + offset - 0.5) / nSamples;\n        vec4 sample = texture2D(uTexture, vTexCoord + uDelta * percent);\n        float weight = 1.0 - abs(percent);\n        float alpha = weight * sample.a;\n        color.rgb += sample.rgb * alpha;\n        color.a += alpha;\n        totalA += weight;\n        totalC += alpha;\n      }\n      gl_FragColor.rgb = color.rgb / totalC;\n      gl_FragColor.a = color.a / totalA;\n    }\n  "}applyTo(e){lG(e)?(this.aspectRatio=e.sourceWidth/e.sourceHeight,e.passes++,this._setupFrameBuffer(e),this.horizontal=!0,this.applyToWebGL(e),this._swapTextures(e),this._setupFrameBuffer(e),this.horizontal=!1,this.applyToWebGL(e),this._swapTextures(e)):this.applyTo2d(e)}applyTo2d({imageData:{data:e,width:t,height:l}}){this.aspectRatio=t/l,this.horizontal=!0;let n=this.getBlurValue()*t,V=new Uint8ClampedArray(e),i=4*t;for(let t=0;t<e.length;t+=4){let l=0,a=0,r=0,s=0,o=0,h=t-t%i,d=h+i;for(let V=-14;V<15;V++){let i=V/15,R=4*Math.floor(n*i),U=1-Math.abs(i),c=t+R;c<h?c=h:c>d&&(c=d);let p=e[c+3]*U;l+=e[c]*p,a+=e[c+1]*p,r+=e[c+2]*p,s+=p,o+=U}V[t]=l/s,V[t+1]=a/s,V[t+2]=r/s,V[t+3]=s/o}this.horizontal=!1,n=this.getBlurValue()*l;for(let t=0;t<V.length;t+=4){let l=0,a=0,r=0,s=0,o=0,h=t%i,d=V.length-i+h;for(let e=-14;e<15;e++){let R=e/15,U=Math.floor(n*R)*i,c=1-Math.abs(R),p=t+U;p<h?p=h:p>d&&(p=d);let Z=V[p+3]*c;l+=V[p]*Z,a+=V[p+1]*Z,r+=V[p+2]*Z,s+=Z,o+=c}e[t]=l/s,e[t+1]=a/s,e[t+2]=r/s,e[t+3]=s/o}}sendUniformData(e,t){let l=this.chooseRightDelta();e.uniform2fv(t.uDelta,l)}isNeutralState(){return 0===this.blur}getBlurValue(){let e=1,{horizontal:t,aspectRatio:l}=this;return t?l>1&&(e=1/l):l<1&&(e=l),e*this.blur*.12}chooseRightDelta(){let e=this.getBlurValue();return this.horizontal?[e,0]:[0,e]}};qm(dG,"type","Blur"),qm(dG,"defaults",{blur:0}),qm(dG,"uniformLocations",["uDelta"]),IF.setClass(dG);var RG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform float uBrightness;\n  varying vec2 vTexCoord;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    color.rgb += uBrightness;\n    gl_FragColor = color;\n  }\n"}applyTo2d({imageData:{data:e}}){let t=Math.round(255*this.brightness);for(let l=0;l<e.length;l+=4)e[l]+=t,e[l+1]+=t,e[l+2]+=t}isNeutralState(){return 0===this.brightness}sendUniformData(e,t){e.uniform1f(t.uBrightness,this.brightness)}};qm(RG,"type","Brightness"),qm(RG,"defaults",{brightness:0}),qm(RG,"uniformLocations",["uBrightness"]),IF.setClass(RG);var UG={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0},cG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  varying vec2 vTexCoord;\n  uniform mat4 uColorMatrix;\n  uniform vec4 uConstants;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    color *= uColorMatrix;\n    color += uConstants;\n    gl_FragColor = color;\n  }"}applyTo2d(e){let t=e.imageData.data,l=this.matrix,n=this.colorsOnly;for(let e=0;e<t.length;e+=4){let V=t[e],i=t[e+1],a=t[e+2];if(t[e]=V*l[0]+i*l[1]+a*l[2]+255*l[4],t[e+1]=V*l[5]+i*l[6]+a*l[7]+255*l[9],t[e+2]=V*l[10]+i*l[11]+a*l[12]+255*l[14],!n){let n=t[e+3];t[e]+=n*l[3],t[e+1]+=n*l[8],t[e+2]+=n*l[13],t[e+3]=V*l[15]+i*l[16]+a*l[17]+n*l[18]+255*l[19]}}}sendUniformData(e,t){let l=this.matrix,n=[l[0],l[1],l[2],l[3],l[5],l[6],l[7],l[8],l[10],l[11],l[12],l[13],l[15],l[16],l[17],l[18]],V=[l[4],l[9],l[14],l[19]];e.uniformMatrix4fv(t.uColorMatrix,!1,n),e.uniform4fv(t.uConstants,V)}toObject(){return{...super.toObject(),matrix:[...this.matrix]}}};function pG(e,t){var l;
1let n=(qm(l=class extends cG{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},"type",e),qm(l,"defaults",{colorsOnly:!1,matrix:t}),l);return IF.setClass(n,e),n}qm(cG,"type","ColorMatrix"),qm(cG,"defaults",UG),qm(cG,"uniformLocations",["uColorMatrix","uConstants"]),IF.setClass(cG);var ZG=pG("Brownie",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),WG=pG("Vintage",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),mG=pG("Kodachrome",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),FG=pG("Technicolor",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),NG=pG("Polaroid",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),uG=pG("Sepia",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),EG=pG("BlackWhite",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]),bG=class extends aG{constructor(e={}){super(e),this.subFilters=e.subFilters||[]}applyTo(e){lG(e)&&(e.passes+=this.subFilters.length-1),this.subFilters.forEach((t=>{t.applyTo(e)}))}toObject(){return{type:this.type,subFilters:this.subFilters.map((e=>e.toObject()))}}isNeutralState(){return!this.subFilters.some((e=>!e.isNeutralState()))}static fromObject(e,t){return Promise.all((e.subFilters||[]).map((e=>IF.getClass(e.type).fromObject(e,t)))).then((e=>new this({subFilters:e})))}};qm(bG,"type","Composed"),IF.setClass(bG);var SG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform float uContrast;\n  varying vec2 vTexCoord;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\n    color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\n    gl_FragColor = color;\n  }"}isNeutralState(){return 0===this.contrast}applyTo2d({imageData:{data:e}}){let t=Math.floor(255*this.contrast),l=259*(t+255)/(255*(259-t));for(let t=0;t<e.length;t+=4)e[t]=l*(e[t]-128)+128,e[t+1]=l*(e[t+1]-128)+128,e[t+2]=l*(e[t+2]-128)+128}sendUniformData(e,t){e.uniform1f(t.uContrast,this.contrast)}};qm(SG,"type","Contrast"),qm(SG,"defaults",{contrast:0}),qm(SG,"uniformLocations",["uContrast"]),IF.setClass(SG);var JG={Convolute_3_1:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[9];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 0);\n      for (float h = 0.0; h < 3.0; h+=1.0) {\n        for (float w = 0.0; w < 3.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\n          color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\n        }\n      }\n      gl_FragColor = color;\n    }\n    ",Convolute_3_0:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[9];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 1);\n      for (float h = 0.0; h < 3.0; h+=1.0) {\n        for (float w = 0.0; w < 3.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\n          color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\n        }\n      }\n      float alpha = texture2D(uTexture, vTexCoord).a;\n      gl_FragColor = color;\n      gl_FragColor.a = alpha;\n    }\n    ",Convolute_5_1:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[25];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 0);\n      for (float h = 0.0; h < 5.0; h+=1.0) {\n        for (float w = 0.0; w < 5.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\n          color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\n        }\n      }\n      gl_FragColor = color;\n    }\n    ",Convolute_5_0:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[25];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 1);\n      for (float h = 0.0; h < 5.0; h+=1.0) {\n        for (float w = 0.0; w < 5.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\n          color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\n        }\n      }\n      float alpha = texture2D(uTexture, vTexCoord).a;\n      gl_FragColor = color;\n      gl_FragColor.a = alpha;\n    }\n    ",Convolute_7_1:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[49];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 0);\n      for (float h = 0.0; h < 7.0; h+=1.0) {\n        for (float w = 0.0; w < 7.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\n          color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\n        }\n      }\n      gl_FragColor = color;\n    }\n    ",Convolute_7_0:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[49];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 1);\n      for (float h = 0.0; h < 7.0; h+=1.0) {\n        for (float w = 0.0; w < 7.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\n          color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\n        }\n      }\n      float alpha = texture2D(uTexture, vTexCoord).a;\n      gl_FragColor = color;\n      gl_FragColor.a = alpha;\n    }\n    ",Convolute_9_1:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[81];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 0);\n      for (float h = 0.0; h < 9.0; h+=1.0) {\n        for (float w = 0.0; w < 9.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\n          color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\n        }\n      }\n      gl_FragColor = color;\n    }\n    ",Convolute_9_0:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform float uMatrix[81];\n    uniform float uStepW;\n    uniform float uStepH;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = vec4(0, 0, 0, 1);\n      for (float h = 0.0; h < 9.0; h+=1.0) {\n        for (float w = 0.0; w < 9.0; w+=1.0) {\n          vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\n          color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\n        }\n      }\n      float alpha = texture2D(uTexture, vTexCoord).a;\n      gl_FragColor = color;\n      gl_FragColor.a = alpha;\n    }\n    "},TG=class extends aG{getCacheKey(){return`${this.type}_${Math.sqrt(this.matrix.length)}_${+!!this.opaque}`}getFragmentSource(){return JG[this.getCacheKey()]}applyTo2d(e){let t,l,n,V,i,a,r,s,o,h,d,R,U,c=e.imageData,p=c.data,Z=this.matrix,W=Math.round(Math.sqrt(Z.length)),m=Math.floor(W/2),F=c.width,N=c.height,u=e.ctx.createImageData(
vendor: 16,039 bytes, line 1
1F,N),E=u.data,b=+!!this.opaque;for(d=0;d<N;d++)for(h=0;h<F;h++){for(i=4*(d*F+h),t=0,l=0,n=0,V=0,U=0;U<W;U++)for(R=0;R<W;R++)r=d+U-m,a=h+R-m,r<0||r>=N||a<0||a>=F||(s=4*(r*F+a),o=Z[U*W+R],t+=p[s]*o,l+=p[s+1]*o,n+=p[s+2]*o,b||(V+=p[s+3]*o));E[i]=t,E[i+1]=l,E[i+2]=n,E[i+3]=b?p[i+3]:V}e.imageData=u}sendUniformData(e,t){e.uniform1fv(t.uMatrix,this.matrix)}toObject(){return{...super.toObject(),opaque:this.opaque,matrix:[...this.matrix]}}};qm(TG,"type","Convolute"),qm(TG,"defaults",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),qm(TG,"uniformLocations",["uMatrix","uOpaque","uHalfSize","uSize"]),IF.setClass(TG);var GG="Gamma",MG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform vec3 uGamma;\n  varying vec2 vTexCoord;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    vec3 correction = (1.0 / uGamma);\n    color.r = pow(color.r, correction.r);\n    color.g = pow(color.g, correction.g);\n    color.b = pow(color.b, correction.b);\n    gl_FragColor = color;\n    gl_FragColor.rgb *= color.a;\n  }\n"}constructor(e={}){super(e),this.gamma=e.gamma||this.constructor.defaults.gamma.concat()}applyTo2d({imageData:{data:e}}){let t=this.gamma,l=1/t[0],n=1/t[1],V=1/t[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});let i=this.rgbValues;for(let e=0;e<256;e++)i.r[e]=255*(e/255)**l,i.g[e]=255*(e/255)**n,i.b[e]=255*(e/255)**V;for(let t=0;t<e.length;t+=4)e[t]=i.r[e[t]],e[t+1]=i.g[e[t+1]],e[t+2]=i.b[e[t+2]]}sendUniformData(e,t){e.uniform3fv(t.uGamma,this.gamma)}isNeutralState(){let{gamma:e}=this;return 1===e[0]&&1===e[1]&&1===e[2]}toObject(){return{type:GG,gamma:this.gamma.concat()}}};qm(MG,"type",GG),qm(MG,"defaults",{gamma:[1,1,1]}),qm(MG,"uniformLocations",["uGamma"]),IF.setClass(MG);var kG={average:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 color = texture2D(uTexture, vTexCoord);\n      float average = (color.r + color.b + color.g) / 3.0;\n      gl_FragColor = vec4(average, average, average, color.a);\n    }\n    ",lightness:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform int uMode;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 col = texture2D(uTexture, vTexCoord);\n      float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\n      gl_FragColor = vec4(average, average, average, col.a);\n    }\n    ",luminosity:"\n    precision highp float;\n    uniform sampler2D uTexture;\n    uniform int uMode;\n    varying vec2 vTexCoord;\n    void main() {\n      vec4 col = texture2D(uTexture, vTexCoord);\n      float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\n      gl_FragColor = vec4(average, average, average, col.a);\n    }\n    "},YG=class extends aG{applyTo2d({imageData:{data:e}}){for(let t,l=0;l<e.length;l+=4){let n=e[l],V=e[l+1],i=e[l+2];switch(this.mode){case"average":t=(n+V+i)/3;break;case"lightness":t=(Math.min(n,V,i)+Math.max(n,V,i))/2;break;case"luminosity":t=.21*n+.72*V+.07*i}e[l+2]=e[l+1]=e[l]=t}}getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return kG[this.mode]}sendUniformData(e,t){e.uniform1i(t.uMode,1)}isNeutralState(){return!1}};qm(YG,"type","Grayscale"),qm(YG,"defaults",{mode:"average"}),qm(YG,"uniformLocations",["uMode"]),IF.setClass(YG);var xG={...UG,rotation:0},QG=class extends cG{calculateMatrix(){let e=this.rotation*Math.PI,t=LF(e),l=KF(e),n=1/3,V=Math.sqrt(n)*l,i=1-t;this.matrix=[t+i/3,n*i-V,n*i+V,0,0,n*i+V,t+n*i,n*i-V,0,0,n*i-V,n*i+V,t+n*i,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(e){this.calculateMatrix(),super.applyTo(e)}toObject(){return{type:this.type,rotation:this.rotation}}};qm(QG,"type","HueRotation"),qm(QG,"defaults",xG),IF.setClass(QG);var XG=class extends aG{applyTo2d({imageData:{data:e}}){for(let t=0;t<e.length;t+=4)e[t]=255-e[t],e[t+1]=255-e[t+1],e[t+2]=255-e[t+2],this.alpha&&(e[t+3]=255-e[t+3])}getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform int uInvert;\n  uniform int uAlpha;\n  varying vec2 vTexCoord;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    if (uInvert == 1) {\n      if (uAlpha == 1) {\n        gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\n      } else {\n        gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\n      }\n    } else {\n      gl_FragColor = color;\n    }\n  }\n"}isNeutralState(){return!this.invert}sendUniformData(e,t){e.uniform1i(t.uInvert,Number(this.invert)),e.uniform1i(t.uAlpha,Number(this.alpha))}};qm(XG,"type","Invert"),qm(XG,"defaults",{alpha:!1,invert:!0}),qm(XG,"uniformLocations",["uInvert","uAlpha"]),IF.setClass(XG);var wG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform float uStepH;\n  uniform float uNoise;\n  uniform float uSeed;\n  varying vec2 vTexCoord;\n  float rand(vec2 co, float seed, float vScale) {\n    return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\n  }\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\n    gl_FragColor = color;\n  }\n"}applyTo2d({imageData:{data:e}}){let t=this.noise;for(let l=0;l<e.length;l+=4){let n=(.5-Math.random())*t;e[l]+=n,e[l+1]+=n,e[l+2]+=n}}sendUniformData(e,t){e.uniform1f(t.uNoise,this.noise/255),e.uniform1f(t.uSeed,Math.random())}isNeutralState(){return 0===this.noise}};qm(wG,"type","Noise"),qm(wG,"defaults",{noise:0}),qm(wG,"uniformLocations",["uNoise","uSeed"]),IF.setClass(wG);var fG=class extends aG{applyTo2d({imageData:{data:e,width:t,height:l}}){for(let n=0;n<l;n+=this.blocksize)for(let V=0;V<t;V+=this.blocksize){let i=4*n*t+4*V,a=e[i],r=e[i+1],s=e[i+2],o=e[i+3];for(let i=n;i<Math.min(n+this.blocksize,l);i++)for(let l=V;l<Math.min(V+this.blocksize,t);l++){let n=4*i*t+4*l;e[n]=a,e[n+1]=r,e[n+2]=s,e[n+3]=o}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform float uBlocksize;\n  uniform float uStepW;\n  uniform float uStepH;\n  varying vec2 vTexCoord;\n  void main() {\n    float blockW = uBlocksize * uStepW;\n    float blockH = uBlocksize * uStepH;\n    int posX = int(vTexCoord.x / blockW);\n    int posY = int(vTexCoord.y / blockH);\n    float fposX = float(posX);\n    float fposY = float(posY);\n    vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\n    vec4 color = texture2D(uTexture, squareCoords);\n    gl_FragColor = color;\n  }\n"}sendUniformData(e,t){e.uniform1f(t.uBlocksize,this.blocksize)}};qm(fG,"type","Pixelate"),qm(fG,"defaults",{blocksize:4}),qm(fG,"uniformLocations",["uBlocksize"]),IF.setClass(fG);var zG=class extends aG{getFragmentSource(){return"\nprecision highp float;\nuniform sampler2D uTexture;\nuniform vec4 uLow;\nuniform vec4 uHigh;\nvarying vec2 vTexCoord;\nvoid main() {\n  gl_FragColor = texture2D(uTexture, vTexCoord);\n  if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\n    gl_FragColor.a = 0.0;\n  }\n}\n"}applyTo2d({imageData:{data:e}}){let t=255*this.distance,l=new Pu(this.color).getSource(),n=[l[0]-t,l[1]-t,l[2]-t],V=[l[0]+t,l[1]+t,l[2]+t];for(let t=0;t<e.length;t+=4){let l=e[t],i=e[t+1],a=e[t+2];l>n[0]&&i>n[1]&&a>n[2]&&l<V[0]&&i<V[1]&&a<V[2]&&(e[t+3]=0)}}sendUniformData(e,t){let l=new Pu(this.color).getSource(),n=this.distance,V=[0+l[0]/255-n,0+l[1]/255-n,0+l[2]/255-n,1],i=[l[0]/255+n,l[1]/255+n,l[2]/255+n,1];e.uniform4fv(t.uLow,V),e.uniform4fv(t.uHigh,i)}};qm(zG,"type","RemoveColor"),qm(zG,"defaults",{color:"#FFFFFF",distance:.02,useAlpha:!1}),qm(zG,"uniformLocations",["uLow","uHigh"]),IF.setClass(zG);var yG=class extends aG{sendUniformData(e,t){e.uniform2fv(t.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),e.uniform1fv(t.uTaps,this.taps)}getFilterWindow(){let e=this.tempScale;return Math.ceil(this.lanczosLobes/e)}getCacheKey(){let e=this.getFilterWindow();return`${this.type}_${e}`}getFragmentSource(){let e=this.getFilterWindow();return this.generateShader(e)}getTaps(){let e=this.lanczosCreate(this.lanczosLobes),t=this.tempScale,l=this.getFilterWindow(),n=Array(l);for(let V=1;V<=l;V++)n[V-1]=e(V*t);return n}generateShader(e){let t=Array(e);for(let l=1;l<=e;l++)t[l-1]=`${l}.0 * uDelta`;return`\n      precision highp float;\n      uniform sampler2D uTexture;\n      uniform vec2 uDelta;\n      varying vec2 vTexCoord;\n      uniform float uTaps[${e}];\n      void main() {\n        vec4 color = texture2D(uTexture, vTexCoord);\n        float sum = 1.0;\n        ${t.map(((e,t)=>`\n              color += texture2D(uTexture, vTexCoord + ${e}) * uTaps[${t}] + texture2D(uTexture, vTexCoord - ${e}) * uTaps[${t}];\n              sum += 2.0 * uTaps[${t}];\n            `)).join("\n")}\n        gl_FragColor = color / sum;\n      }\n    `}applyToForWebgl(e){e.passes++,this.width=e.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=e.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),e.destinationWidth=this.dW,super.applyTo(e),e.sourceWidth=e.destinationWidth,this.height=e.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),e.destinationHeight=this.dH,super.applyTo(e),e.sourceHeight=e.destinationHeight}applyTo(e){lG(e)?this.applyToForWebgl(e):this.applyTo2d(e)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(e){return t=>{if(t>=e||t<=-e)return 0;if(t<1.1920929e-7&&t>-1.1920929e-7)return 1;let l=(t*=Math.PI)/e;return Math.sin(t)/t*Math.sin(l)/l}}applyTo2d(e){let t=e.imageData,l=this.scaleX,n=this.scaleY;this.rcpScaleX=1/l,this.rcpScaleY=1/n;let V,i=t.width,a=t.height,r=Math.round(i*l),s=Math.round(a*n);V="sliceHack"===this.resizeType?this.sliceByTwo(e,i,a,r,s):"hermite"===this.resizeType?this.hermiteFastResize(e,i,a,r,s):"bilinear"===this.resizeType?this.bilinearFiltering(e,i,a,r,s):"lanczos"===this.resizeType?this.lanczosResize(e,i,a,r,s):new ImageData(r,s),e.imageData=V}sliceByTwo(e,t,l,n,V){let i=e.imageData,a=.5,r=!1,s=!1,o=t*a,h=l*a,d=e.filterBackend.resources,R=0,U=0,c=t,p=0;d.sliceByTwo||(d.sliceByTwo=iN());let Z=d.sliceByTwo;(Z.width<1.5*t||Z.height<l)&&(Z.width=1.5*t,Z.height=l);let W=Z.getContext("2d");for(W.clearRect(0,0,1.5*t,l),W.putImageData(i,0,0),n=Math.floor(n),V=Math.floor(V);!r||!s;)t=o,l=h,n<Math.floor(o*a)?o=Math.floor(o*a):(o=n,r=!0),V<Math.floor(h*a)?h=Math.floor(h*a):(h=V,s=!0),W.drawImage(Z,R,U,t,l,c,p,o,h),R=c,U=p,p+=h;return W.getImageData(R,U,n,V)}lanczosResize(e,t,l,n,V){let i=e.imageData.data,a=e.ctx.createImageData(n,V),r=a.data,s=this.lanczosCreate(this.lanczosLobes),o=this.rcpScaleX,h=this.rcpScaleY,d=2/this.rcpScaleX,R=2/this.rcpScaleY,U=Math.ceil(o*this.lanczosLobes/2),c=Math.ceil(h*this.lanczosLobes/2),p={},Z={x:0,y:0},W={x:0,y:0};return function e(m){let F,N,u,E,b,S,J,T,G,M,k;for(Z.x=(m+.5)*o,W.x=Math.floor(Z.x),F=0;F<V;F++){for(Z.y=(F+.5)*h,W.y=Math.floor(Z.y),b=0,S=0,J=0,T=0,G=0,N=W.x-U;N<=W.x+U;N++)if(!(N<0||N>=t)){M=Math.floor(1e3*Math.abs(N-Z.x)),p[M]||(p[M]={});for(let e=W.y-c;e<=W.y+c;e++)e<0||e>=l||(k=Math.floor(1e3*Math.abs(e-Z.y)),p[M][k]||(p[M][k]=s(Math.sqrt((M*d)**2+(k*R)**2)/1e3)),u=p[M][k],u>0&&(E=4*(e*t+N),b+=u,S+=u*i[E],J+=u*i[E+1],T+=u*i[E+2],G+=u*i[E+3]))}E=4*(F*n+m),r[E]=S/b,r[E+1]=J/b,r[E+2]=T/b,r[E+3]=G/b}return++m<n?e(m):a}(0)}bilinearFiltering(e,t,l,n,V){let i,a,r,s,o,h,d,R,U,c,p,Z,W,m=0,F=this.rcpScaleX,N=this.rcpScaleY,u=4*(t-1),E=e.imageData.data,b=e.ctx.createImageData(n,V),S=b.data;for(d=0;d<V;d++)for(R=0;R<n;R++)for(o=Math.floor(F*R),h=Math.floor(N*d),U=F*R-o,c=N*d-h,W=4*(h*t+o),p=0;p<4;p++)i=E[W+p],a=E[W+4+p],r=E[W+u+p],s=E[W+u+4+p],Z=i*(1-U)*(1-c)+a*U*(1-c)+r*c*(1-U)+s*U*c,S[m++]=Z;return b}hermiteFastResize(e,t,l,n,V){let i=this.rcpScaleX,a=this.rcpScaleY,r=Math.ceil(i/2),s=Math.ceil(a/2),o=e.imageData.data,h=e.ctx.createImageData(n,V),d=h.data;for(let e=0;e<V;e++)for(let l=0;l<n;l++){let V,h=4*(l+e*n),R=0,U=0,c=0,p=0,Z=0,W=0,m=(e+.5)*a;for(let n=Math.floor(e*a);n<(e+1)*a;n++){let e=Math.abs(m-(n+.5))/s,a=(l+.5)*i,h=e*e;for(let e=Math.floor(l*i);e<(l+1)*i;e++){let l=Math.abs(a-(e+.5))/r,i=Math.sqrt(h+l*l);i>1&&i<-1||(V=2*i*i*i-3*i*i+1,V>0&&(l=4*(e+n*t),W+=V*o[l+3],U+=V,o[l+3]<255&&(V=V*o[l+3]/250),c+=V*o[l],p+=V*o[l+1],Z+=V*o[l+2],R+=V))}}d[h]=c/R,d[h+1]=p/R,d[h+2]=Z/R,d[h+3]=W/U}return h}};qm(yG,"type","Resize"),qm(yG,"defaults",{resizeType:"hermite",scaleX:1,scaleY:1,lanczosLobes:3}),qm(yG,"uniformLocations",["uDelta","uTaps"]),IF.setClass(yG);var CG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform float uSaturation;\n  varying vec2 vTexCoord;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    float rgMax = max(color.r, color.g);\n    float rgbMax = max(rgMax, color.b);\n    color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\n    color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\n    color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\n    gl_FragColor = color;\n  }\n"}applyTo2d({imageData:{data:e}}){let t=-this.saturation;for(let l=0;l<e.length;l+=4){let n=e[l],V=e[l+1],i=e[l+2],a=Math.max(n,V,i);e[l]+=a===n?0:(a-n)*t,e[l+1]+=a===V?0:(a-V)*t,e[l+2]+=a===i?0:(a-i)*t}}sendUniformData(e,t){e.uniform1f(t.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}};qm(CG,"type","Saturation"),qm(CG,"defaults",{saturation:0}),qm(CG,"uniformLocations",["uSaturation"]),IF.setClass(CG);var jG=class extends aG{getFragmentSource(){return"\n  precision highp float;\n  uniform sampler2D uTexture;\n  uniform float uVibrance;\n  varying vec2 vTexCoord;\n  void main() {\n    vec4 color = texture2D(uTexture, vTexCoord);\n    float max = max(color.r, max(color.g, color.b));\n    float avg = (color.r + color.g + color.b) / 3.0;\n    float amt = (abs(max - avg) * 2.0) * uVibrance;\n    color.r += max != color.r ? (max - color.r) * amt : 0.00;\n    color.g += max != color.g ? (max - color.g) * amt : 0.00;\n    color.b += max != color.b ? (max - color.b) * amt : 0.00;\n    gl_FragColor = color;\n  }\n"}applyTo2d({imageData:{data:e}}){let t=-this.vibrance;for(let l=0;l<e.length;l+=4){let n=e[l],V=e[l+1],i=e[l+2],a=Math.max(n,V,i),r=(n+V+i)/3,s=2*Math.abs(a-r)/255*t;e[l]+=a===n?0:(a-n)*s,e[l+1]+=a===V?0:(a-V)*s,e[l+2]+=a===i?0:(a-i)*s}}sendUniformData(e,t){e.uniform1f(t.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}};qm(jG,"type","Vibrance"),qm(jG,"defaults",{vibrance:0}),qm(jG,"uniformLocations",["uVibrance"]),IF.setClass(jG);Pm({BaseFilter:()=>aG,BlackWhite:()=>EG,BlendColor:()=>sG,BlendImage:()=>hG,Blur:()=>dG,Brightness:()=>RG,Brownie:()=>ZG,ColorMatrix:()=>cG,Composed:()=>bG,Contrast:()=>SG,Convolute:()=>TG,Gamma:()=>MG,Grayscale:()=>YG,HueRotation:()=>QG,Invert:()=>XG,Kodachrome:()=>mG,Noise:()=>wG,Pixelate:()=>fG,Polaroid:()=>NG,RemoveColor:()=>zG,Resize:()=>yG,Saturation:()=>CG,Sepia:()=>uG,Technicolor:()=>FG,Vibrance:()=>jG,Vintage:()=>WG});var gG,BG=((gG=BG||{}).Select="select",gG.Pencil="pencil",gG.Line="line",gG.Arrow="arrow",gG.Rect="rect",gG.Ellipse="ellipse",gG.Text="text",gG.Eraser="eraser",gG),HG={select:"Select",pencil:"Pencil",line:"Line",arrow:"Arrow",rect:"Rectangle",ellipse:"Ellipse",text:"Text",eraser:"Eraser"},vG="ui-sans-serif, system-ui, -apple-system, sans-serif",IG={background:"#ffffff",border:"1px solid #e4e4e7",borderRadius:"8px",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",boxSizing:"border-box",color:"#09090b",display:"flex",flexDirection:"column",fontFamily:vG,fontSize:"12px",gap:"4px",left:"5px",padding:"8px",position:"absolute",top:"50%",transform:"translateY(-50%)",width:"128px",zIndex:"150"},DG={background:"#ffffff",border:"1px solid #e4e4e7",borderRadius:"6px",color:"#09090b",curs
1or:"pointer",font:"inherit",padding:"4px 8px",textAlign:"left"},OG={background:"#18181b",borderColor:"#18181b",color:"#ffffff"},_G={background:"#ffffff",borderColor:"#e4e4e7",color:"#09090b"},LG={color:"#71717a",fontSize:"11px",fontWeight:"500",marginTop:"4px"},KG={cursor:"pointer",margin:"0",padding:"0",width:"100%"},PG=class{#e=null;#t=null;#l="pencil";#n="#ff2d55";#V=4;#i=null;#a=null;#r=!1;#s=new Map;get isInitialized(){return null!==this.#e}get isEmpty(){return!this.#e||0===this.#e.getObjects().length}get#o(){return{evented:!1,selectable:!1,stroke:this.#n,strokeWidth:this.#V}}get#h(){return{...this.#o,fill:"transparent"}}init(e,t){if(this.#e)return;let{width:l,height:n}=e.getBoundingClientRect(),V=document.createElement("canvas");t.appendChild(V),this.#e=new PJ(V,{width:l,height:n}),Object.assign(this.#e.wrapperEl.style,{position:"absolute",left:"0",top:"0",zIndex:"100"}),this.#e.on("mouse:down",(({e:e})=>this.#c(e))),this.#e.on("mouse:move",(({e:e})=>this.#p(e))),this.#e.on("mouse:up",(()=>this.#Z())),this.#E(t),this.#R("pencil"),document.addEventListener("keydown",this.#u)}destroy(){this.#e&&(document.removeEventListener("keydown",this.#u),this.#t?.remove(),this.#t=null,this.#s.clear(),this.#e.dispose().then((()=>this.#e?.getElement()?.remove())),this.#e=null,this.#i=null,this.#a=null,this.#r=!1)}resize(e,t){this.#e&&(this.#e.setDimensions({width:e,height:t}),this.#e.requestRenderAll())}getContentBounds(e){if(!this.#e||this.isEmpty)return null;let t=e/this.#e.getWidth(),l=1/0,n=1/0,V=-1/0,i=-1/0;return this.#e.getObjects().forEach((e=>{let t=e.getBoundingRect();l=Math.min(l,t.left),n=Math.min(n,t.top),V=Math.max(V,t.left+t.width),i=Math.max(i,t.top+t.height)})),{left:l*t,top:n*t,width:(V-l)*t,height:(i-n)*t}}drawToolsOnCanvas(e,t,l){!this.#e||this.isEmpty||(this.#e.discardActiveObject(),this.#e.renderAll(),e.drawImage(this.#e.toCanvasElement(t/this.#e.getWidth()),0,0,t,l))}#d(){!this.#e||this.isEmpty||(this.#e.discardActiveObject(),this.#e.remove(...this.#e.getObjects()),this.#e.requestRenderAll())}#R(e){if(this.#e){if(this.#l=e,this.#e.isDrawingMode="pencil"===e,this.#e.selection="select"===e,this.#e.skipTargetFind="select"!==e&&"eraser"!==e,this.#e.defaultCursor="select"===e?"default":"crosshair","pencil"===e){let e=new cT(this.#e);e.color=this.#n,e.width=this.#V,this.#e.freeDrawingBrush=e}this.#e.discardActiveObject(),this.#e.requestRenderAll(),this.#T()}}#U(){let e=this.#e?.freeDrawingBrush;e&&(e.color=this.#n,e.width=this.#V)}#c(e){if(!this.#e||e instanceof MouseEvent&&0!==e.button)return;let t=this.#e.getScenePoint(e);switch(this.#l){case"eraser":this.#r=!0,this.#N(e);break;case"text":this.#F(t);break;case"line":case"arrow":this.#W(t,new mT([t.x,t.y,t.x,t.y],this.#o));break;case"rect":this.#W(t,new zS({left:t.x,top:t.y,width:0,height:0,...this.#h}));break;case"ellipse":this.#W(t,new uT({left:t.x,top:t.y,rx:0,ry:0,...this.#h}))}}#p(e){if(!this.#e)return;if("eraser"===this.#l&&this.#r)return void this.#N(e);if(!this.#i||!this.#a)return;let t=this.#e.getScenePoint(e),l=this.#a;this.#i instanceof mT?this.#i.set({x2:t.x,y2:t.y}):this.#i instanceof uT?this.#i.set({left:(l.x+t.x)/2,top:(l.y+t.y)/2,rx:Math.abs(t.x-l.x)/2,ry:Math.abs(t.y-l.y)/2}):this.#i.set({left:(l.x+t.x)/2,top:(l.y+t.y)/2,width:Math.abs(t.x-l.x),height:Math.abs(t.y-l.y)}),this.#e.requestRenderAll()}#Z(){if(!this.#e)return;if("eraser"===this.#l&&this.#r)return void(this.#r=!1);if(!this.#i||!this.#a)return;let e=this.#i,t=this.#a;if(this.#i=null,this.#a=null,e.width<2&&e.height<2)this.#e.remove(e);else{if("arrow"===this.#l){let l=new PF(e.x2??t.x,e.y2??t.y);return this.#e.remove(e),void this.#e.add(this.#m(t,l))}e.set({evented:!0,selectable:!0}),e.setCoords()}}#W(e,t){this.#a=e,this.#i=t,this.#e?.add(t)}#m(e,t){let l=Math.atan2(t.y-e.y,t.x-e.x),n=3*this.#V+6,V=new mT([e.x,e.y,t.x,t.y],{stroke:this.#n,strokeWidth:this.#V}),i=new FT({angle:180*l/Math.PI+90,fill:this.#n,height:n,left:t.x,top:t.y,width:n});return new DS([V,i])}#F(e){if(!this.#e)return;let t=new IT("Text",{fill:this.#n,fontFamily:vG,fontSize:20});t.setPositionByOrigin(e,"left","top"),this.#e.add(t),this.#R("select"),this.#e.setActiveObject(t),t.enterEditing(),t.selectAll()}#N(e){if(!this.#e)return;let{target:t}=this.#e.findTarget(e);t&&this.#e.remove(t)}#u=e=>{if(!this.#e||"Delete"!==e.key&&"Backspace"!==e.key)return;let t=this.#e.getActiveObject();!t||t.isEditing||(this.#e.remove(...this.#e.getActiveObjects()),this.#e.discardActiveObject(),this.#e.requestRenderAll())};#E(e){let t=document.createElement("div");
1t.className="cv-drawing-panel",Object.assign(t.style,IG),Object.values(BG).forEach((e=>{let l=this.#b(HG[e],(()=>this.#R(e)));this.#s.set(e,l),t.appendChild(l)})),t.appendChild(this.#S("Color")),t.appendChild(this.#J("color",this.#n,(e=>{this.#n=e,this.#U()}))),t.appendChild(this.#S("Width"));let l=this.#J("range",`${this.#V}`,(e=>{this.#V=Number(e),this.#U()}));l.min="1",l.max="20",t.appendChild(l),t.appendChild(this.#S("Actions")),t.appendChild(this.#b("Clear",(()=>this.#d()))),e.appendChild(t),this.#t=t}#b(e,t){let l=document.createElement("button");return l.type="button",l.textContent=e,Object.assign(l.style,DG),l.addEventListener("click",t),l}#S(e){let t=document.createElement("div");return t.textContent=e,Object.assign(t.style,LG),t}#J(e,t,l){let n=document.createElement("input");return n.type=e,n.value=t,Object.assign(n.style,KG),n.addEventListener("input",(()=>l(n.value))),n}#T(){this.#s.forEach(((e,t)=>{Object.assign(e.style,t===this.#l?OG:_G)}))}},AG=class extends Error{message;code;response;constructor(e,t){super(e),this.message=e||`${t.status} ${t.statusText}`,this.code=t.status,this.response=t}},qG=class{url;options;controller;constructor(e,t){this.url=e,this.options=t,this.controller=t?.abortController??new AbortController}get group(){return this.options?.group}make(){return new Promise(((e,t)=>{let l,n,{repeatRequestTimeout:V=18e4,repeatRequestRetryTimeout:i=1e3}=this.options??{};function a(e){clearTimeout(l),clearTimeout(n),t(e)}let r=()=>{this.fetchWrapper().then(e).catch((e=>{if(20!==e.code){if(e.code>=400&&e.code<500||!V)return a(e);n=setTimeout(r,i),l||(l=setTimeout((()=>a(e)),V))}}))};r()}))}abort(e){this.controller.abort(e)}fetchWrapper(){let{base:e="",query:t={},headers:l,body:n,responseType:V,...i}=this.options??{},a=`${e}${this.url}${lW(t)}`;return fetch(a,{method:this.options.method,headers:this.prepareHeaders(l),body:this.prepareBody(n),signal:this.controller.signal,credentials:"same-origin",...i}).then((e=>{if(!e.ok)return this.prepareError(e).then((e=>{throw e}));let t;switch(V){case"text":t=e.text();break;case"blob":t=e.blob();break;case"arrayBuffer":t=e.arrayBuffer();break;default:t=e.json()}return t.then((t=>({response:e,data:t})))}))}prepareHeaders(e={}){return{...e}}prepareBody(e){if(e)return e instanceof FormData?e:JSON.stringify(e)}prepareError(e){if(e?.text)return e.text().then((t=>new AG(t,e)));let t=new AG(`Failed to fetch: ${e.status} ${e.statusText}`,e);return e?.json?e.json().then((()=>t)):new Promise((e=>e(t)))}},$G=new class{requests=[];get requestsUrls(){return this.requests.map((({url:e})=>e))}get(e,t){return this.makeRequest(e,"GET",t)}post(e,t){return this.makeRequest(e,"POST",t)}put(e,t){return this.makeRequest(e,"PUT",t)}remove(e,t){return this.makeRequest(e,"DELETE",t)}patch(e,t){return this.makeRequest(e,"PATCH",t)}requestsByGroup(e){return this.requests.filter((t=>t.group===e))}makeRequest(e,t,l){let n=new qG(e,{method:t,...l});return this.requests.push(n),n.make().finally((()=>{let e=this.requests.findIndex((e=>e===n));-1!==e&&this.requests.splice(e,1)}))}};function eM(e){let t=document.createElement("div");t.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 36 36"><g id="Cursors Pointer"><g id="cursor"><path id="shadow_outline" fill="#000" d="m0 0 27.648 16.337-13.622 3.715-7.701 12.836L0 0Z"/><path id="otuline_white" fill="#fff" fill-rule="evenodd" d="m1.4 1.99 23.703 14.005-11.728 3.198-6.562 10.938L1.4 1.99Z" clip-rule="evenodd"/><path id="colored" d="M7.58 25.798 3.603 5.116l17.5 10.34-8.75 2.387-4.773 7.955Z"/></g></g></svg>'.trim();let l=t.firstChild;return e&&(l.style.fill=e),l.outerHTML}var tM=class extends As{renderer;remarksManager;threeScene;view;canvas;camera;api;is2D;isLod3d;activeRemarkType="none";text="";planePts=[];lengthPts=[];firstMousePos=new Ro;planeNormal;planePoint;planeObject;mouseEvent="right";updateCallback;constructor(e,t,l,n,V,i,a,r=!1,s=!1,o="right"){super(),this.renderer=e,this.remarksManager=t,this.threeScene=l,this.view=n,this.canvas=V,this.camera=i,this.api=a,this.is2D=r,this.isLod3d=s,this.mouseEvent=o,this.onClick=this.onClick.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.addEventListener("mousedown",this.onMouseDown),this.addEventListener("click",this.onClick),this.canvas.addEventListener("touchstart",this.onTouchStart),this.canvas.addEventListener("touchend",this.onTouchEnd)}getFlatRemarks(){return this.remarksManager.getSerialized(this.renderer?.getContextHandle?.())}clearRemarks(){this.remarksManager.clearAllRemarks()}setActiveMeasurementType(e){this.activeRemarkType=e}setAnnotationText(e){this.text=e}setUpdateCallback(e){this.updateCallback=e}setPlaneObject(e){this.planeObject=e}setPlane(e,t){this.planeNormal=e,this.planePoint=t}putRemarks(e,t=null){if(0===e.length)return void this.getFlatRemarks().forEac
1h((e=>this.remarksManager.removeRemarkById(e.id)));this.getFlatRemarks().forEach((t=>{e.some((e=>e.id===t.id))||this.remarksManager.removeRemarkById(t.id)}));let l=this.getFlatRemarks(),n=e.filter((e=>!l.some((t=>t.id===e.id))));return 0!==n.length?this.remarksManager.openSerializedState(n,!0,this.isLod3d?null:this.renderer.getContextHandle(),t):void 0}putLength(e,t){let l=this.activeRemarkType;this.activeRemarkType="LengthMeasurement";let n,V=this.getClickCoordRelatedToCanvas(e.x,e.y);this.isLod3d?this.drawLength(this.renderer.getNearestPoint(this.view,V.x,V.y)):n=this.drawRest(V.x,V.y);let i=this.getClickCoordRelatedToCanvas(t.x,t.y);return n=this.isLod3d?this.drawLength(this.renderer.getNearestPoint(this.view,i.x,i.y)):this.drawRest(i.x,i.y),this.activeRemarkType=l,this.remarksManager.getFlatRemark(n)}putDiff(e){let t=this.activeRemarkType;this.activeRemarkType="DifferenceMeasurement";let l,n=this.getClickCoordRelatedToCanvas(e.x,e.y);return l=this.isLod3d?this.drawDiff(this.renderer.getNearestPoint(this.view,n.x,n.y),n.x,n.y):this.drawRest(n.x,n.y),this.activeRemarkType=t,this.remarksManager.getFlatRemark(l)}putText(e,t){let l=this.activeRemarkType;this.activeRemarkType="Annotation",this.text=t;let n,V=this.getClickCoordRelatedToCanvas(e.x,e.y);if(this.isLod3d){let e=this.renderer.getNearestPoint(this.view,V.x,V.y);n=this.drawTextRemark(e.point[0],e.point[1],e.point[2])}else n=this.drawRest(V.x,V.y);return this.activeRemarkType=l,this.text="",this.remarksManager.getFlatRemark(n)}putPlane(e,t,l){let n=this.activeRemarkType;this.activeRemarkType="plane",this.onClick({event:{clientX:e.x,clientY:e.y},button:this.emulatedButtonCode,type:"click"}),this.onClick({event:{clientX:t.x,clientY:t.y},button:this.emulatedButtonCode,type:"click"}),this.onClick({event:{clientX:l.x,clientY:l.y},button:this.emulatedButtonCode,type:"click"}),this.activeRemarkType=n}isDistanceDependentClickDispatch(){return!1}alwaysSendWheelEvent(){return!0}ignoreBroadcastMouseMoveEvents(){return!1}dispose(){this.removeEventListener("mousedown",this.onMouseDown),this.removeEventListener("click",this.onClick),this.canvas.removeEventListener("touchstart",this.onTouchStart),this.canvas.removeEventListener("touchend",this.onTouchEnd)}get emulatedButtonCode(){return"left"===this.mouseEvent?0:"right"===this.mouseEvent?2:0}onClick(e){"left"===this.mouseEvent&&0!==e.button||"right"===this.mouseEvent&&2!==e.button||this.firstMousePos.x!==e.event.clientX&&this.firstMousePos.y!==e.event.clientY||this.processClick(this.getClickCoordRelatedToCanvas(e.event.clientX,e.event.clientY))}onMouseDown(e){this.firstMousePos.x=e.event.clientX,this.firstMousePos.y=e.event.clientY}onTouchStart(e){1===e.touches.length&&(this.firstMousePos.x=e.touches[0].clientX,this.firstMousePos.y=e.touches[0].clientY)}onTouchEnd(e){if(0===e.changedTouches.length)return;let t=e.changedTouches[0];this.firstMousePos.x===t.clientX&&this.firstMousePos.y===t.clientY&&this.processClick(this.getClickCoordRelatedToCanvas(t.clientX,t.clientY))}processClick(e){if(this.is2D){e.x=e.x/this.canvas.width,e.y=e.y/this.canvas.height;let{left:t,right:l,bottom:n,top:V}=this.camera;e.x=this.camera.position.x+(t+e.x*l*2)/this.camera.zoom,e.y=this.camera.position.y-(n+e.y*V*2)/this.camera.zoom;let i=new yo(e.x,e.y,1),a=this.renderer.getBounds(),r=new Ro(a.center[0]-a.size[0]/2,-(a.center[1]+a.size[1]/2)),s=new Ro(a.center[0]+a.size[0]/2,-(a.center[1]-a.size[1]/2));switch(this.activeRemarkType){case"Annotation":this.remarksManager.addTextRemark(i,this.text,this.threeScene),this.updateCallback?.();break;case"LengthMeasurement":if(e.x>r.x&&e.x<s.x&&e.y>r.y&&e.y<s.y){let e=i.clone();this.remarksManager.addPlanePoint(e,this.threeScene,null),this.lengthPts.push(e),2===this.lengthPts.length&&(this.remarksManager.removeTempRemarks(),this.lengthPts=[],this.updateCallback?.())}}}else if(this.isLod3d){let t=this.renderer.getNearestPoint(this.view,e.x,e.y);if(0===t.triangleIndex&&0===t.point[0]&&0===t.point[1]&&0===t.point[2]&&0===t.normal[0]&&0===t.normal[1]&&0===t.normal[2])return;switch(this.activeRemarkType){case"plane":this.drawPlane(t);break;case"DifferenceMeasurement":this.drawDiff(t,e.x,e.y);break;case"Annotation":this.drawTextRemark(t.point[0],t.point[1],t.point[2]);break;case"LengthMeasurement":this.drawLength(t)}this.updateCallback?.()}else this.drawRest(e.x,e.y)&&this.updateCallback?.()}drawPlane(e){let t=new yo(e.point[0],e.point[1],e.point[2]);if(this.remarksManager.addPlanePoint(t,this.threeScene,null),this.planePts.push(t),3===this.planePts.length){let e=new eR;e.setFromCoplanarPoints(this.planePts[0],this.planePts[1],this.planePts[2]);let t=this.planePts[1].clone().sub(this.planePts[0]);t.normalize();let l=e.normal.clone();l.cross(t),l.normalize();let n=new Uh;
1n.makeBasis(t,l,e.normal),this.planeObject.setRotationFromMatrix(n),this.planeObject.position.set(this.planePts[0].x,this.planePts[1].y,this.planePts[2].z);let V=this.renderer.getBounds(),i=new yo(V.center[0],V.center[1],V.center[2]),a=new Xo(i.x,i.y,0,1),r=new Xo(0,0,-1,0);this.planeObject.updateMatrix();let s=this.planeObject.matrixWorld;a.applyMatrix4(s),r.applyMatrix4(s),r.normalize();let o=a.dot(r),h=this.renderer.getReferencePlane();h[0]=r.x,h[1]=r.y,h[2]=r.z,h[3]=o,this.setPlane(new yo(r.x,r.y,r.z),new yo(a.x,a.y,a.z)),this.renderer.setReferencePlane(h),this.planeObject.visible=!0,this.planePts=[],this.remarksManager.removeTempRemarks()}}drawDiff(e,t,l,n=null){let V=new yo(e.point[0],e.point[1],e.point[2]),i=14342874,a=new Ro(t/window.devicePixelRatio,l/window.devicePixelRatio);a.y=this.canvas.clientHeight-a.y;let r=Math.min(this.canvas.width,this.canvas.height),s=a.x>this.canvas.clientWidth/2?-1:1,o=a.y>this.canvas.clientHeight/2?-1:1,h=new yo(.15*r*s,.15*r*o,0),d=new eR;d.setFromNormalAndCoplanarPoint(this.planeNormal,this.planePoint);let R=-d.distanceToPoint(V),U=this.renderer.getDistanceColorPaletteValues().getBytes(),c=this.renderer.getDistanceColorPaletteColors().getBytes(),p=[],Z=[];for(let e=0;e<U.length;e+=4){let t=[U[e+3],U[e+2],U[e+1],U[e]],l=new ArrayBuffer(4),n=new DataView(l);t.forEach(((e,t)=>{n.setUint8(t,e)}));let V=n.getFloat32(0);p.push(V)}for(let e=0;e<c.length;e+=4){let t=[c[e+3],c[e+2],c[e+1],c[e]],l=new ArrayBuffer(4),n=new DataView(l);t.forEach(((e,t)=>{n.setUint8(t,e)}));let V=n.getFloat32(0);Z.push(V)}let W=[];for(let e=0;e<Z.length;e+=4){let t=new yo(Z[e],Z[e+1],Z[e+2]);W.push(t)}if(R<p[0])i=new nd(W[0].x,W[0].y,W[0].z).getHex();else if(R>p[p.length-1])i=new nd(W[p.length-1].x,W[p.length-1].y,W[p.length-1].z).getHex();else for(let e=0;e<p.length-1;e++)if(R>=p[e]&&R<p[e+1]){let t=new nd(W[e].x,W[e].y,W[e].z),l=new nd(W[e+1].x,W[e+1].y,W[e+1].z),n=Math.abs(R-p[e]),V=Math.abs(R-p[e+1]);t.lerp(l,n/(n+V)),i=t.getHex();break}return this.remarksManager.addDifferenceRemark(V,h,R,i,!1,!0,3,this.threeScene,n,"Distance",!0,t,l)}drawTextRemark(e,t,l,n=null){let V=new yo(e,t,l);return this.remarksManager.addTextRemark(V,this.text,this.threeScene,n)}drawLength(e,t=null){let l,n=new yo(e.point[0],e.point[1],e.point[2]);return this.remarksManager.addPlanePoint(n,this.threeScene,null),this.lengthPts.push(n),2===this.lengthPts.length&&(this.remarksManager.removeTempRemarks(),l=this.remarksManager.addLengthRemark(this.lengthPts[0],this.lengthPts[1],28845,this.threeScene,t),this.lengthPts=[]),l}drawRest(e,t,l=null){let n,V=this.renderer.getContextHandle(),i=null,a=this.api.GetObjectsAlongRay(V,this.view,e,t);if(a.size()>0)for(let e=0;e<a.size();e+=1){n=a.get(e),i=a.get(e).object;break}if(!n?.object||0==n?.object.id)return;let r=[];for(let e=0;e<this.api.GetSceneObjectCount(V);e++){let t=this.api.GetSceneObject(V,e);for(let e=0;e<this.api.GetNestedObjectCount(V,t);e++)r.push(this.api.GetNestedObject(V,t,e))}let s=new yo(n.point[0],n.point[1],n.point[2]),o=0,h=null;for(let e=0;e<r.length;e++){let t=[s.x,s.y,s.z];if(i?.id===r[e].id)continue;let l=this.api.GetDistanceToObject(V,t,r[e]);(l<o||null===h)&&(h=this.api.GetObjectName(V,r[e]),o=l)}let d=new Ro(e/window.devicePixelRatio,t/window.devicePixelRatio);d.y=this.canvas.clientHeight-d.y;let R=Math.min(this.canvas.width,this.canvas.height),U=d.x>this.canvas.clientWidth/2?-1:1,c=d.y>this.canvas.clientHeight/2?-1:1,p=new yo(.15*R*U,.15*R*c,0),Z=14342874,W=this.api.GetDistanceColorPaletteValuesRaw(V,i).getBytes(),m=this.api.GetDistanceColorPaletteColorsRaw(V,i).getBytes(),F=[],N=[];for(let e=0;e<W.length;e+=4){let t=[W[e+3],W[e+2],W[e+1],W[e]],l=new ArrayBuffer(4),n=new DataView(l);t.forEach(((e,t)=>{n.setUint8(t,e)}));let V=n.getFloat32(0);F.push(V)}for(let e=0;e<m.length;e+=4){let t=[m[e+3],m[e+2],m[e+1],m[e]],l=new ArrayBuffer(4),n=new DataView(l);t.forEach(((e,t)=>{n.setUint8(t,e)}));let V=n.getFloat32(0);N.push(V)}let u,E=[];for(let e=0;e<N.length;e+=4){let t=new yo(N[e],N[e+1],N[e+2]);E.push(t)}if(o=-o,o<F[0])Z=new nd(E[0].x,E[0].y,E[0].z).getHex();else if(o>F[F.length-1])Z=new nd(E[F.length-1].x,E[F.length-1].y,E[F.length-1].z).getHex();else for(let e=0;e<F.length-1;e++)if(o>=F[e]&&o<F[e+1]){let t=new nd(E[e].x,E[e].y,E[e].z),l=new nd(E[e+1].x,E[e+1].y,E[e+1].z),n=Math.abs(o-F[e]),V=Math.abs(o-F[e+1]);t.lerp(l,n/(n+V)),Z=t.getHex();break}switch(o=-o,this.activeRemarkType){case"plane":let n=new yo(s.x,s.y,s.z);3===this.planePts.length&&(this.planePts=[],this.remarksManager.removeTempRemarks()),u=this.remarksManager.addPlanePoint(n,this.threeScene,l),this.planePts.push(n),this.planePts.length;break;case"DifferenceMeasurement":u=this.remarksManager.addDifferenceRemark(s,p,-o,Z,!1,!0,3,this.threeScene,l,"Difference",!1,e,t),u.carbonObject=i;break;case"LengthMeasurement":let V=s.clone();this.remarksManager.addPlanePoint(V,this.threeScene,null),this.lengthPts.push(V),2===this.lengthPts.length&&(this.remarksManager.removeTempRemarks(),u=this.remarksManager.addLengthRemark(this.lengthPts[0],this.lengthPts[1],28845,this.threeScene,l),this.lengthPts=[]);break;case"Annotation":u=this.drawTextRemark(s.x,s.y,s.z,l)}
1return u}getClickCoordRelatedToCanvas(e,t){let{left:l,top:n,width:V,height:i}=this.canvas.getBoundingClientRect();return{x:(e-l)*this.canvas.width/V,y:(t-n)*this.canvas.height/i}}},lM=class extends As{m_camera;m_domElement;m_inputListeners;m_pressedKeys;m_elementsToCheckForHover;m_elementsToCheckForMouseMoveHover;m_activeHoveredElement;m_drag;m_moveThreshold;m_moveThresholdTouch;m_dragTouch;m_startTouch;m_selection;m_mouse;m_startMouse;m_captureMouse;m_log;scene;lastMousePos;mouseLeaveCallback;mouseEnterCallback;m_clock;m_dbl_click;m_disable=!1;constructor(e,t,l,n=null,V=null){super(),this.m_camera=e,this.m_domElement=l,this.m_inputListeners=[],this.m_pressedKeys={},this.m_elementsToCheckForHover=[],this.m_elementsToCheckForMouseMoveHover=[],this.m_activeHoveredElement=null,this.m_drag=null,this.m_moveThreshold=3,this.m_moveThresholdTouch=5,this.m_dragTouch=!1,this.m_startTouch=null,this.m_selection=[],this.m_mouse=new Ro(0,0),this.m_startMouse=new Ro(0,0),this.m_captureMouse=!1,this.m_log=!1,this.scene=t,-1===this.m_domElement.tabIndex&&(this.m_domElement.tabIndex=2222),this.lastMousePos=null,this.mouseLeaveCallback=n,this.mouseEnterCallback=V,this.m_domElement.addEventListener("wheel",this.onMouseWheel.bind(this),!1),this.m_domElement.addEventListener("DOMMouseScroll",this.onMouseWheel.bind(this),!1),this.m_domElement.addEventListener("touchstart",this.onTouchStart.bind(this)),this.m_domElement.addEventListener("touchend",this.onTouchEnd.bind(this)),this.m_domElement.addEventListener("touchmove",this.onTouchMove.bind(this)),this.m_domElement.addEventListener("mousedown",this.onMouseDown.bind(this),!1),this.m_domElement.addEventListener("mouseup",this.onMouseUp.bind(this),!1),this.m_domElement.addEventListener("mousemove",this.onMouseMove.bind(this),!1),this.m_domElement.addEventListener("mouseleave",this.onMouseLeave.bind(this),!1),this.m_domElement.addEventListener("mouseover",this.onMouseEnter.bind(this),!1),this.m_clock=new gp,this.m_dbl_click={clock:new gp,time_threshold:.4,move_threshold:5,x:-1,y:-1},this.m_dbl_click.clock.getDelta()}addInputListener(e){this.m_inputListeners.push(e)}addElemToCheckForHover(e){return this.m_elementsToCheckForHover.push(e)}removeElemToCheckForHover(e){this.m_elementsToCheckForHover=this.m_elementsToCheckForHover.filter((t=>t!==e))}getHoveredElement(e,t){let l=null,n=null;for(let V=0;V<this.m_elementsToCheckForHover.length;V++){let i=this.m_elementsToCheckForHover[V].isHovered({x:e,y:t});!1!==i&&(i<l||null===l)&&(l=i,n=V)}return null===n?null:this.m_elementsToCheckForHover[n]}addElemToCheckForMouseMoveHover(e){return this.m_elementsToCheckForMouseMoveHover.push(e)}removeElemToCheckForMouseMoveHover(e){this.m_elementsToCheckForMouseMoveHover=this.m_elementsToCheckForMouseMoveHover.filter((t=>t!==e))}getMouseMoveHoveredElement(e,t){let l=null,n=null;for(let V=0;V<this.m_elementsToCheckForMouseMoveHover.length;V++){let i=this.m_elementsToCheckForMouseMoveHover[V].isMouseMoveHovered({x:e,y:t});void 0!==i&&!1!==i&&(i<l||null===l)&&(l=i,n=V)}return null===n?null:this.m_elementsToCheckForMouseMoveHover[n]}removeInputListener(e){this.m_inputListeners=this.m_inputListeners.filter((t=>t!==e))}getClosestElement(e,t){let l=null,n=null;for(let V=0;V<this.m_inputListeners.length;V++)if(!0===this.m_inputListeners[V].isDistanceDependentClickDispatch()){let i=this.m_inputListeners[V].getDistanceToCamera({x:e,y:t},this.m_camera);null!==i&&(i<l||null===l)&&(l=i,n=V)}return null===n?null:this.m_inputListeners[n]}onTouchStart(e){if(this.m_disable)return;this.m_log&&console.log(this.constructor.name+": onTouchStart"),e.preventDefault(),this.m_startTouch=e,this.m_dragTouch=!1;let t=this.m_domElement.getBoundingClientRect();if(this.m_activeHoveredElement=this.m_startTouch.touches.length>0?this.getHoveredElement(e.touches[0].pageX-t.left,e.touches[0].pageY-t.top):null,this.m_activeHoveredElement)this.m_activeHoveredElement.dispatchEvent({type:e.type,touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)});else for(let l=0;l<this.m_inputListeners.length;l++)this.m_inputListeners[l].dispatchEvent({type:e.type,touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)})}onTouchEnd(e){if(this.m_disable)return;this.m_log&&console.log(this.constructor.name+": onTouchEnd"),e.preventDefault();let t=this.m_domElement.getBoundingClientRect(),l=!this.m_dragTouch,n=!1;null!==this.m_startTouch&&this.m_startTouch.touches[0]&&(n=this.processDblClick({x:this.m_startTouch.touches[0].pageX,y:this.m_startTouch.touches[0].pageY}));let V=l?n?"dbltap":"tap":e.type,i=null;if("tap"===V){let n=this.m_startTouch.touches[0].pageX-t.left,a=this.m_startTouch.touches[0].pageY-t.top;i=this.getClosestElement(n,a),null!==i&&i.dispatchEvent({type:V,touches:l?this.m_startTouch.touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)})}if(!this.m_activeHoveredElement||!0===this.m_activeHoveredElement.isDistanceDepen
1dentClickDispatch()&&null!==i)for(let n=0;n<this.m_inputListeners.length;n++)!0===this.m_inputListeners[n].isDistanceDependentClickDispatch()&&null!==i||this.m_inputListeners[n].dispatchEvent({type:V,touches:l?this.m_startTouch.touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)});else this.m_activeHoveredElement.dispatchEvent({type:V,touches:l?this.m_startTouch.touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)});this.m_activeHoveredElement=1===e.touches.length?this.getHoveredElement(e.touches[0].pageX-t.left,e.touches[0].pageY-t.top):null,this.m_startTouch=e,this.m_dragTouch&&(this.m_dragTouch=0!==this.m_startTouch.touches.length)}onTouchMove(e){if(this.m_disable||(this.m_log&&console.log(this.constructor.name+": onTouchMove"),e.preventDefault(),!1===this.m_dragTouch&&1===this.m_startTouch.touches.length&&this.m_startTouch.touches.length===e.touches.length&&Math.abs(e.touches[0].pageX-this.m_startTouch.touches[0].pageX)<1&&Math.abs(e.touches[0].pageY-this.m_startTouch.touches[0].pageY)<1))return;Math.abs(e.touches[0].pageX-this.m_startTouch.touches[0].pageX)>this.m_moveThresholdTouch||Math.abs(e.touches[0].pageY-this.m_startTouch.touches[0].pageY)>this.m_moveThresholdTouch?this.m_dragTouch=!0:this.m_dragTouch=!1;let t=this.m_domElement.getBoundingClientRect();if(this.m_activeHoveredElement)this.m_activeHoveredElement.dispatchEvent({type:e.type,touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)});else for(let l=0;l<this.m_inputListeners.length;l++)this.m_inputListeners[l].dispatchEvent({type:e.type,touches:e.touches,changedTouches:e.changedTouches,offset:new Ro(t.left,t.top)})}handleInput(e,t=!0){for(let t=0;t<this.m_inputListeners.length;t++)this.m_inputListeners[t].dispatchEvent({type:e.type,keyCode:e.keyCode,pressedKeys:this.m_pressedKeys,event:e});t?this.m_pressedKeys[e.keyCode]=!0:delete this.m_pressedKeys[e.keyCode]}onKeyDown(e){this.m_disable||(this.m_log&&console.log(this.constructor.name+": onKeyDown"),this.handleInput(e,!0))}onKeyUp(e){this.m_disable||(this.m_log&&console.log(this.constructor.name+": onKeyUp"),this.handleInput(e,!1))}onMouseDown(e){if(this.m_disable||(this.m_log&&console.log(this.constructor.name+": onMouseDown"),e.target!==this.m_domElement))return;this.m_domElement.focus(),this.m_captureMouse=!0,e.preventDefault(),this.m_pressedKeys[e.button]=!0;let t=this.m_domElement.getBoundingClientRect(),l=e.clientX-t.left,n=e.clientY-t.top;this.m_mouse.set(l,n),this.m_startMouse.set(l,n),this.m_activeHoveredElement=this.getHoveredElement(this.m_mouse.x,this.m_mouse.y);for(let t=0;t<this.m_inputListeners.length;t++)"function"==typeof this.m_inputListeners[t].alwaysSendDownEvent&&!0===this.m_inputListeners[t].alwaysSendDownEvent()&&this.m_inputListeners[t]!==this.m_activeHoveredElement&&this.m_inputListeners[t].dispatchEvent({type:e.type,mouse:{x:l,y:n},interactor:this,button:e.button,event:e});if(this.m_activeHoveredElement)this.m_activeHoveredElement.dispatchEvent({type:e.type,mouse:{x:l,y:n},interactor:this,button:e.button,event:e});else for(let t=0;t<this.m_inputListeners.length;t++)this.m_inputListeners[t].dispatchEvent({type:e.type,mouse:{x:l,y:n},interactor:this,button:e.button,event:e})}onMouseUp(e){if(this.m_disable||(this.m_log&&console.log(this.constructor.name+": onMouseUp"),!this.m_captureMouse))return;this.m_captureMouse=!1,delete this.m_pressedKeys[e.button],e.preventDefault();let t=this.m_domElement.getBoundingClientRect(),l=e.clientX-t.left,n=e.clientY-t.top,V=!0;(Math.abs(l-this.m_startMouse.x)>this.m_moveThreshold||Math.abs(n-this.m_startMouse.y)>this.m_moveThreshold)&&(V=!1);let i=this.processDblClick(this.m_mouse),a=V?i?"dblclick":"click":"mouseup",r=null;"click"===a&&(r=this.getClosestElement(this.m_mouse.x,this.m_mouse.y),null!==r&&r.dispatchEvent({event:e,type:a,mouse:this.m_mouse,button:e.button,interactor:this}));for(let t=0;t<this.m_inputListeners.length;t++)"function"==typeof this.m_inputListeners[t].alwaysSendClickEvent&&!0===this.m_inputListeners[t].alwaysSendClickEvent()&&this.m_inputListeners[t].dispatchEvent({event:e,type:a,mouse:this.m_mouse,button:e.button,interactor:this});if(!this.m_activeHoveredElement||!0===this.m_activeHoveredElement.isDistanceDepen
1dentClickDispatch()&&null!==r)for(let t=0;t<this.m_inputListeners.length;t++)!0===this.m_inputListeners[t].isDistanceDependentClickDispatch()&&null!==r||this.m_inputListeners[t].dispatchEvent({event:e,type:a,mouse:this.m_mouse,button:e.button,interactor:this});else this.m_activeHoveredElement.dispatchEvent({event:e,type:a,mouse:this.m_mouse,button:e.button,interactor:this});this.m_activeHoveredElement=null,this.m_drag=!1}onMouseMove(e){if(this.m_disable)return;this.m_log&&console.log(this.constructor.name+": onMouseMove");let t=this.m_domElement.getBoundingClientRect(),l=e.clientX-t.left,n=e.clientY-t.top;if(Math.abs(l-this.m_mouse.x)<1&&Math.abs(n-this.m_mouse.y)<1)return;this.m_mouse.set(l,n),this.lastMousePos={x:l*window.devicePixelRatio,y:n*window.devicePixelRatio};let V=null,i=null;if(!1===this.m_captureMouse){for(let e=0;e<this.m_elementsToCheckForMouseMoveHover.length;e++)!0===this.m_elementsToCheckForMouseMoveHover[e].wasMouseMoveHovered()&&(V=this.m_elementsToCheckForMouseMoveHover[e]);i=this.getMouseMoveHoveredElement(this.m_mouse.x,this.m_mouse.y),i&&i.setHovered(this.m_mouse);for(let e=0;e<this.m_elementsToCheckForMouseMoveHover.length;e++)this.m_elementsToCheckForMouseMoveHover[e]!==i&&this.m_elementsToCheckForMouseMoveHover[e].setHovered(null)}if(!this.m_captureMouse&&null===i&&null===V||e.target!==this.m_domElement)return;!0===this.m_captureMouse&&(this.m_drag=!0),e.preventDefault();let a=null;if(void 0!==e.buttons)switch(e.buttons){case 1:a=0;break;case 2:a=2;break;case 4:a=1}else a=e.button;if(V&&V!==i&&V.dispatchEvent({type:e.type,mouse:{x:l,y:n},button:a,interactor:this}),this.m_activeHoveredElement)this.m_activeHoveredElement.dispatchEvent({type:e.type,mouse:{x:l,y:n},button:a,interactor:this});else if(i)i.dispatchEvent({type:e.type,mouse:{x:l,y:n},button:a,interactor:this});else for(let t=0;t<this.m_inputListeners.length;t++)!1===this.m_inputListeners[t].ignoreBroadcastMouseMoveEvents()&&this.m_inputListeners[t].dispatchEvent({type:e.type,mouse:{x:l,y:n},button:a,interactor:this})}onMouseLeave(e){this.onMouseUp(e),null!=this.mouseLeaveCallback&&this.mouseLeaveCallback()}onMouseEnter(e){null!=this.mouseEnterCallback&&this.mouseEnterCallback()}onMouseWheel(e){if(this.m_disable)return;this.m_log&&console.log(this.constructor.name+": onMouseWheel"),e.preventDefault();let t=0;void 0!==e.wheelDelta?t=e.wheelDelta:void 0!==e.deltaY&&(t=-e.deltaY);let l=Math.sign(t),n=this.m_domElement.getBoundingClientRect(),V=new Ro(e.clientX-n.left,e.clientY-n.top),i=1e5,a=null;for(let e=0;e<this.m_inputListeners.length;e++)"function"==typeof this.m_inputListeners[e].mouseWheelPriority&&!1!==this.m_inputListeners[e].isHovered(V)&&this.m_inputListeners[e].mouseWheelPriority()<i&&(i=this.m_inputListeners[e].mouseWheelPriority(),a=this.m_inputListeners[e]);if(a)a.dispatchEvent({type:"mousewheel",delta:l,clientX:e.clientX,clientY:e.clientY,rect:this.m_domElement.getBoundingClientRect(),object:null});else{for(let t=0;t<this.m_inputListeners.length;t++)"function"==typeof this.m_inputListeners[t].alwaysSendWheelEvent&&!0===this.m_inputListeners[t].alwaysSendWheelEvent()&&this.m_inputListeners[t].dispatchEvent({type:"mousewheel",delta:l,clientX:e.clientX,clientY:e.clientY,rect:this.m_domElement.getBoundingClientRect(),object:null});if(this.m_activeHoveredElement)this.m_activeHoveredElement.dispatchEvent({type:"mousewheel",delta:l,clientX:e.clientX,clientY:e.clientY,rect:this.m_domElement.getBoundingClientRect(),object:this.m_activeHoveredElement});else for(let t=0;t<this.m_inputListeners.length;t++)this.m_inputListeners[t].dispatchEvent({type:"mousewheel",delta:l,clientX:e.clientX,clientY:e.clientY,rect:this.m_domElement.getBoundingClientRect(),object:null})}}processDblClick(e){let t=-1===this.m_dbl_click.x,l=this.m_dbl_click.clock.getDelta(),n=!1;return t||l>this.m_dbl_click.time_threshold?(this.m_dbl_click.x=e.x,this.m_dbl_click.y=e.y):(n=l<this.m_dbl_click.time_threshold&&Math.abs(this.m_dbl_click.x-e.x)<this.m_dbl_click.move_threshold&&Math.abs(this.m_dbl_click.y-e.y)<this.m_dbl_click.move_threshold,this.m_dbl_click.x=-1,this.m_dbl_click.y=-1),n}disable(e){this.m_disable=e}update(){}},nM="uniform sampler2D image0;uniform sampler2D image1;uniform float blendFactor;varying vec2 vUv;void main(){gl_FragColor=mix(texture2D(image0,vUv),texture2D(image1,vUv),clamp(blendFactor,0.0,1.0));}",VM="varying vec2 vUv;void main(){vUv=uv;gl_Position=vec4(position,1.0);}",iM=class{typeIdx=0;startColor=[];endColor=[];origColors=[];duration=0;curFrame=0;iterations=3;isLine=!1;constructor(e){this.typeIdx=e.typeIdx,this.startColor=e.startColor,this.endColor=e.endColor,this.duration=e.duration,this.curFrame=e.duration,this.iterations=e.iterations,this.isLine=e.isLine??!1}},aM=class{port;onMessage=null;constructor(){if(!chrome.runtime)throw new Error("Chrome extensions is not supported");this.port=chrome.runtime.connect("capmlbfmakkjjmdanjgjenihdaohjdcj",{name:"dalsWebStereo"}),this.port.onMessage.addListener((e=>this.onMessage?.(e)))}sendMessage(e){this.port?.postMessage?.(e)}disconnect(){this.port?.disconnect?.()}},rM=class e{static getScreenshot(t,l,n={}){let{canvas:V,overlay:i,drawExtras:a,contentBounds:r}=t,s=V.getContext("webgl2")??V.getContext("webgl"),o=s?e.#e(s):e.#t(V),h=o.getContext("2d");i?.width&&i?.height&&h.drawImage(i,0,0,o.width,o.height),a?.(h,o.width,o.height);let d=e.#l(o,r??null,n);return new Promise((e=>{d.toBlob((t=>e(t?new File([t],l,{type:"image/jpeg"}):null)),"image/jpeg",.75)}))}static#e(e){let t=e.drawingBufferWidth,l=e.drawingBufferHeight,n=new Uint8Array(t*l*4);e.bindFramebuffer(e.FRAMEBUFFER,null),e.readPixels(0,0,t,l,e.RGBA,e.UNSIGNED_BYTE,n);let V=document.createElement("canvas");V.width=t,V.height=l;let i=V.getContext("2d"),a=i.createImageData(t,l),r=4*t;
1for(let e=0;e<l;e++)a.data.set(n.subarray((l-1-e)*r,(l-e)*r),e*r);for(let e=3;e<a.data.length;e+=4)a.data[e]=255;return i.putImageData(a,0,0),V}static#t(e){let t=document.createElement("canvas");return t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0),t}static#l(t,l,n){if(!t.width||!t.height)return t;let V=e.#n(t,l),{width:i,height:a}=e.#a(V,n);if(!i||!a)return t;let r=l?e.#V(V,i,a,n.gapSize):e.#i(t,i/a),s=document.createElement("canvas");s.width=i,s.height=a;let o=t.getContext("2d"),[h,d,R]=o.getImageData(0,0,1,1).data,U=s.getContext("2d");U.fillStyle=`rgb(${h}, ${d}, ${R})`,U.fillRect(0,0,i,a);let c=Math.min(i/r.width,a/r.height),p=Math.max(0,r.left),Z=Math.max(0,r.top),W=Math.min(t.width,r.left+r.width)-p,m=Math.min(t.height,r.top+r.height)-Z;return W<1||m<1||U.drawImage(t,p,Z,W,m,Math.round((p-r.left)*c+(i-r.width*c)/2),Math.round((Z-r.top)*c+(a-r.height*c)/2),Math.round(W*c),Math.round(m*c)),s}static#n(e,t){let l={left:0,top:0,width:e.width,height:e.height};if(!t)return l;let n=Math.max(0,Math.min(e.width,t.left)),V=Math.max(0,Math.min(e.height,t.top)),i=Math.min(e.width-n,t.width),a=Math.min(e.height-V,t.height);return i<1||a<1?l:{left:n,top:V,width:i,height:a}}static#V(t,l,n,V){let i=Math.max(0,Math.min(e.#r(V),Math.floor(Math.min(l,n)/2)-1)),a=Math.min((l-2*i)/t.width,(n-2*i)/t.height);if(!nW(a)||a<=0)return t;let r=l/a,s=n/a;return{left:t.left+t.width/2-r/2,top:t.top+t.height/2-s/2,width:r,height:s}}static#i(e,t){let l=Math.min(e.width,e.height*t),n=Math.min(e.height,e.width/t);return{left:(e.width-l)/2,top:(e.height-n)/2,width:l,height:n}}static#a(t,l){let n=e.#r(l.width),V=e.#r(l.height);return n&&V?{width:n,height:V}:n?{width:n,height:Math.max(1,Math.round(n*t.height/t.width))}:V?{width:Math.max(1,Math.round(V*t.width/t.height)),height:V}:{width:Math.round(t.width),height:Math.round(t.height)}}static#r(e){return!nW(e)||e<=0?0:Math.round(e)}};KZ.configure({prefix:"CARBON VIEWER"});var sM=class e extends dm{guid=hZ();static getWASMMemory(){let e=new WebAssembly.Memory({initial:2048,maximum:32768,shared:!1});return new Uint32Array(e.buffer).fill(0),e}static getAPI(t,l){return(0,Rm.default)({locateFile:e=>{if(t&&DZ(t)&&t.length>0){let l=t.find((({key:t})=>e.includes(t)));if(l?.path)return l.path}return`./${e}`},wasmMemory:l||e.getWASMMemory()})}static get ABSORTION_SPECTRUMS(){return PW}static get BAKE_GEOMETRY_MODE(){return im}static get CARBON_VIEWER_ACTION(){return EW}static get CARBON_VIEWER_STATE(){return uW}static get EXPOSURE_FUSION_TYPE(){return MW}static get LIGHT_SPECTRUMS(){return AW}static get REPROJECTION_INCLUSION(){return bW}static get STEREO_MODE(){return JW}static get STEREO_COMBINED_MODE(){return TW}static get VIEW_MODE(){return FW}listenMode=!1;isReady=!1;currentSolutionId=null;currentProductId="";viewMode=FW.Overview;#e=!1;productTransparency=.55;productAmbientFactor=.5;roughTransparency=wW;roughAmbientFactor=0;cavernTransparency=0;cavernUseDithering=!0;cavernViewDependentFactor=10;roughShadingMode=0;roughColor=fW;sawingsAmbientFactor=.5;sawingsTransparency=.2;inclusionsHighlight=0;showSawings=jW;wireframeFrontColor=yW;wireframeBackColor=CW;camMultiplyCoef=1;cameraRotationSpeed=2.5;apertureDecreaseRatio=.8;interactiveBlendRate=18;samplesPerFrame=0;fallbackToLowAccuracy=!0;blockExtReflections=!1;fancyLightStrength=1.5;fancyGreyStrength=1;useAverageBackground=!1;showReprojections=!1;absorptionSpectrum="";panorama="";lightSpectrum="CIE-D65";panoramaFactor=.06;panoramaRotationX=0;panoramaRotationY=0;panoramaRotationZ=0;panoramaRadius=150;focalLength=82.4;lensFNumber=11;apertureRadius=.2;dofRange=1;nbBounces1=5;nbBounces2=10;nbBounces3=28;minPathWeight1=.002;minPathWeight2=.03;minPathWeight3=.1;exposureFusion=0;toneMapping=Vm.DiboxCurve;inclusionsInDof=!1;reflections=1;lighting="Arrows";preciseFastMode="precise";lightingSPPCoef=6;useBakeGeometryToMap=!0;bakeGeometryMode=1;modelScale=1;lowAccuracyMode=!1;isGrayscaleMode=!1;fixedViewArea=!1;viewAreaMM=15;surfaceRoughness=0;minPixelRatio=.5;maxPixelRatio=window.devicePixelRatio>2?2:window.devicePixelRatio;pixelRatio=this.maxPixelRatio;targetRenderTime=125;autoPixelRatio=!1;showRoughOutline=!1;showProductsOutline=!1;showInclusionsOutline=!1;outlinesWidth=1;outlinesColor="rgb(0, 0, 0)";showOuterInclusions=!0;showInnerInclusions=!0;outerCutDistanceMax=.2;outerCutDistanceMin=-.005;outerRange={min:1e3*this.outerCutDistanceMin,max:1e3*this.outerCutDistanceMax};enableInteractiveCut=!1;interactiveCutThreshold=1;innerCutDistance=1e3;showHiddenMarks=!0;markCircleRadius=12;markCircleWidth=5;markCircleBorderColor="rgb(51, 51, 51)";markDistanceThreshold=25;shortDistanceInclusion="rgb(200, 200, 200)";longDistanceInclusion="rgb(128, 128, 128)";isStereo=!1;stereoMode=JW.SplitScreen_L_R;stereoCombineMode=TW.Max;stereoRotationAngle=10.6;distanceBetweenEyes=65;stereoCenterOffset=0;g3dClient;stereoShaderParams;toSaveStereoImages=!1;viewDistance=350;cameraFOV=0;#t=!0;minArea=0;inclusionSelection=!1;reprojFocusFactor=1;reprojPowerFactor=1;reprojComboFactor=0;reprojTypeIndex=bW.Crystal;reprojContrastFillHigh=GW[this.reprojTypeIndex][SW.High];reprojContrastFillModerate=GW[this.reprojTypeIndex][SW.Moderate];reprojContrastFillLow=GW[this.reprojTypeIndex][SW.Low];reprojContrastFillInvincible=GW[this.reprojTypeIndex][SW.Invincible];reprojLineColor=GW[this.reprojTypeIndex].line;reprojFillAlpha=.67;reprojLineAlpha=1;reprojLineBold=!1;#l=!1;displayedInteractiveFrame=!1;#n=!1;#V=[];background=IW;isRenderBlocked=!1;isGyro=!1;blinkInclusionType=null;pointersData=null;debugFrames=!1;#i;#a;#r;#s;#o=1;#h;maxSpp=160;onStateUpdate=null;onMessage=null;get#d(){return{Solution:"currentSolutionId",Product:"currentProductId","Products Transparency":"productTransparency","Products Ambient Factor":"productAmbientFactor","Rough Transparency":"roughTransparency","Rough Ambient Factor":"roughAmbientFactor","Rough Shading Mode":"roughShadingMode","Rough Color":"roughColor","Sawings Transparency":"sawingsTransparency","Cavern Transparency":"cavernTransparency","View depen
1dent factor":"cavernViewDependentFactor","Use dithering":"cavernUseDithering","Sawings Ambient Factor":"sawingsAmbientFactor","Show Sawings":"showSawings","Wireframe Front Color":"wireframeFrontColor","Wireframe Back Color":"wireframeBackColor","Inclusions Highlight":"inclusionsHighlight","View mode":"viewMode","Show Reprojections":"showReprojections","Enable Interactive Cut":"enableInteractiveCut","Cut Threshold":"interactiveCutThreshold","Outer Range":"outerRange","Show Outer Inclusions":"showOuterInclusions","Show Inner Inclusions":"showInnerInclusions","Show Hidden Marks":"showHiddenMarks","Marks Circle Radius":"markCircleRadius","Marks Circle Width":"markCircleWidth","Marks Circle Border Color":"markCircleBorderColor","Marks Distance Threshold":"markDistanceThreshold","Panorama Factor":"panoramaFactor","Exposure Fusion":"exposureFusion","Tone Mapping":"toneMapping","Aperture Radius":"apertureRadius",Reflections:"reflections","Inclusions In DOF":"inclusionsInDof","Focal Length":"focalLength","Lens Focal Ratio":"lensFNumber","Resolution Ratio":"pixelRatio","Target Render Time":"targetRenderTime","Auto Pixel Ratio":"autoPixelRatio","DOF Range":"dofRange","NB Bounces 1":"nbBounces1","NB Bounces 2":"nbBounces2","NB Bounces 3":"nbBounces3","MinPathWeight 1":"minPathWeight1","MinPathWeight 2":"minPathWeight2","MinPathWeight 3":"minPathWeight3","Panorama Radius":"panoramaRadius","Rotation X":"panoramaRotationX","Rotation Y":"panoramaRotationY","Rotation Z":"panoramaRotationZ",Background:"background","Aperture decrease ratio":"apertureDecreaseRatio","Blend rate":"interactiveBlendRate","Samples per frame":"samplesPerFrame","Fallback to 4 bins":"fallbackToLowAccuracy","Use Average Background":"useAverageBackground","FancyLight strength":"fancyLightStrength","FancyGray strength":"fancyGreyStrength","Block External Reflections":"blockExtReflections","Block render":"isRenderBlocked","Lighting SPP Coef":"lightingSPPCoef","Precise-Fast":"preciseFastMode","Stereo Enabled":"isStereo","Stereo Mode":"stereoMode","Stereo Combine Mode":"stereoCombineMode","Center Offset":"stereoCenterOffset","Full Stereo Angle":"stereoRotationAngle","View Distance":"viewDistance","Distance between eyes":"distanceBetweenEyes","Camera FOV angle":"cameraFOV","Min Area":"minArea","Max SPP":"maxSpp",Gyro:"isGyro","Enable Inclusion Select":"inclusionSelection","Focus factor":"reprojFocusFactor","Power factor":"reprojPowerFactor","Combo factor":"reprojComboFactor","Fill Transparency":"reprojFillAlpha","Line Color":"reprojLineColor","Line Transparency":"reprojLineAlpha","Reprojection Inclusion Type":"reprojTypeIndex","Fill High":"reprojContrastFillHigh","Fill Moderate":"reprojContrastFillModerate","Fill Low":"reprojContrastFillLow","Fill Invincible":"reprojContrastFillInvincible","Bold line":"reprojLineBold","Show Rough Outline":"showRoughOutline","Show Products Outline":"showProductsOutline","Show Inclusions Outline":"showInclusionsOutline",Width:"outlinesWidth",Color:"outlinesColor","Use Bake Geometry To Map":"useBakeGeometryToMap","Model scale":"modelScale","Surface Roughness":"surfaceRoughness","Low Accurancy Mode":"lowAccuracyMode","Grayscale Mode":"isGrayscaleMode","Light Spectrum":"lightSpectrum","Absorption Spectrum":"absorptionSpectrum",Panorama:"panorama","Camera Multiply Coef":"camMultiplyCoef","Camera Rotation Speed":"cameraRotationSpeed","Fixed View Area":"fixedViewArea","View Area (MM)":"viewAreaMM"}}get#R(){return Object.values(this.#d).reduce(((e,t)=>({...e,[t]:this[t]})),{blinkInclusionType:this.blinkInclusionType})}#U="state.started";#c=0;#p=[];#Z;#W;#m;#F=new Lm;#N=this.#F.camera;#u;#E;#b;#S;#J=new gc;#T=new gc;#Q;#X;#M;#Y;#k;#G;#x=new gc;#w=new gc;#f=!1;#z=new gc;#y=new WR(-1,1,1,-1,0,1);#C="";#j=null;#g=[];#B=[];#H;#v=new Sr.default;#I=new PG;#D;#O;#_=!0;#L=!1;#K=0;#P=8;#A=82.4;#q=0;#$=[];#ee=[];#te;paletteScale=1;#le="none";#ne;#Ve=new zo;#ie=1;#ae;#re="translate";#se=new PZ;constructor(e){super(),KZ.info("Carbon Viewer version:",this.packageVersion),this.#te=e,this.#se.shouldLogEvents=!!this.#te.debug,this.#oe(e),this.#se.addEvent("start",0,{date:new Date(performance.timeOrigin)}),window.onload=()=>this.#se.addEvent("onload",performance.now()),Ga(this,{...Object.values(this.#d).reduce(((e,t)=>({...e,[t]:LV})),{blinkInclusionType:LV,listenMode:LV})}),this.#F.setTouchRotateDelay(e.touchRotateDelay),this.#F.setTouchRotateHorizontalStart(e.touchRotateHorizontalStart),this.#he()}async apply(e={}){if(!e||!OZ(e))return;let t=e.model&&e.model!==this.#te.model;this.#oe(e),t&&await this.#de()}setCameraState(e){try{if(this.#F.state===JSON.stringify(e))return;let t=e;"string"==typeof e&&(t=JSON.parse(e)),this.#F.setState(t,{silent:!0})}catch(e){KZ.error(e)}}async setCameraSequence(e){try{if(JSON.stringify(this.#F.sequence)===JSON.stringify(e))return;
1DZ(e)&&e.every((e=>AZ(e)))&&this.#F.setSequence(e,{silent:!0})}catch(e){KZ.error(e)}}async setCameraView(e,t=!1){let l=this.#F.camera.zoom;await this.#Re(!0),!this.#Ue&&!this.fixedViewArea&&this.fitCameraToScene();let n=this.#F.camera.up,V=new yo;this.#F.camera.getWorldDirection(V);let i=n.clone();switch(i.cross(V).negate(),e){case"crown":default:break;case"pavilion":this.#F.rotateCameraAngle(n,Math.PI);break;case"table-down":this.#F.rotateCameraAngle(i,Math.PI/2);break;case"table-up":this.#F.rotateCameraAngle(i,-Math.PI/2);break;case"table-left":this.#F.rotateCameraAngle(n,-Math.PI/2);break;case"table-right":this.#F.rotateCameraAngle(n,Math.PI/2)}t||this.#F.setState({zoom:l}),this.#ce(this.#W.width,this.#W.height),this.#_=!0}async resetCamera(){this.#Ue||this.#pe?await this.setCameraView("crown",!0):await this.#Re(),this.#Ze("camera.updated",{camera:this.#F.state})}fitCameraToScene(e=void 0){let t=this.#We(e),l=this.#F.target;t.getCenter(l);let n=this.#F.camera;{let e=new yo;n.getWorldDirection(e).normalize().negate(),n.position.copy(l),n.position.addScaledVector(e,this.viewDistance)}let{width:V,height:i}=this.#W.getBoundingClientRect(),a=this.#me(),r=.5*t.getSize(new yo).length()*this.camMultiplyCoef;this.#F.fitCameraToSphere(l,r,V*a/i),this.#F.resize(this.#W),this.#ce(V,i)}#me(){return this.isStereo?this.stereoMode==JW.SplitScreen_L_R?.5:this.stereoMode==JW.SplitScreen_L_Combined_R?1/3:1:1}#ce(e,t){let l=this.#me();if(1===l)return;let n=this.#F.camera,V=e*l/t;if(n instanceof Od)n.aspect=V;else{let e=1*V;n.left=e/-2,n.right=e/2,n.top=.5,n.bottom=-.5}n.updateProjectionMatrix()}#We(e){let t=new go,l=this.#Fe,n=!1;if(0!==this.sceneObjects.rough.id&&(n=this.isObjectVisible(this.sceneObjects.rough)),void 0===l||n)if(this.#Ue&&!e&&(e=this.getObjectByIndex(0)),e){let l=new yo,n=new yo,V=this.carbonApi.GetObjectWorldBounds(this.context,e);l.set(V.center[0],V.center[1],V.center[2]),n.set(V.size[0],V.size[1],V.size[2]),t.setFromCenterAndSize(l,n)}else t=0===this.engine?this.roughBounds:this.sceneBounds;else{for(let e=0;e<this.sceneObjects.products.length;e++){let l=new yo,n=new yo,V=new go;if(this.isObjectVisible(this.sceneObjects.products[e])){let{center:i,size:a}=this.carbonApi.GetObjectWorldBounds(this.context,this.sceneObjects.products[e]);l.set(i[0],i[1],i[2]),n.set(a[0],a[1],a[2]),V.setFromCenterAndSize(l,n),t.union(V)}}0!=this.engine&&(t=this.sceneBounds)}return t}#Ne(e){let t=this.#F.camera,l=[new yo(e.min.x,e.min.y,e.min.z),new yo(e.max.x,e.min.y,e.min.z),new yo(e.min.x,e.max.y,e.min.z),new yo(e.max.x,e.max.y,e.min.z),new yo(e.min.x,e.min.y,e.max.z),new yo(e.max.x,e.min.y,e.max.z),new yo(e.min.x,e.max.y,e.max.z),new yo(e.max.x,e.max.y,e.max.z)],n=(new Uh).multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),V=l.map((e=>{let t=new Xo(e.x,e.y,e.z,1);if(t.applyMatrix4(n),t.w<=0)return null;let l=t.x/t.w,V=t.y/t.w;return new Ro(.5*l+.5,.5*V+.5)})).filter((e=>null!==e));if(0===V.length)return 0;let i=1/0,a=1/0,r=-1/0,s=-1/0;return V.forEach((e=>{i=Math.min(i,e.x),a=Math.min(a,e.y),r=Math.max(r,e.x),s=Math.max(s,e.y)})),i=Math.max(0,i),a=Math.max(0,a),r=Math.min(1,r),s=Math.min(1,s),(r-i)*(s-a)/1}zoomIn(e){try{let t=this.#We(void 0);if(this.#Ne(t)>.9)return;let l=JSON.parse(this.#F.state);"number"==typeof l?.zoom&&this.#F.setState({zoom:l.zoom+l.zoom*e})}catch(e){KZ.error(e)}}zoomOut(e){try{let t=this.#We(void 0);if(this.#Ne(t)<.01)return;let l=JSON.parse(this.#F.state);"number"==typeof l?.zoom&&this.#F.setState({zoom:l.zoom-l.zoom*e})}catch(e){KZ.error(e)}}rotateVertical(e){let t=new yo;this.#F.camera.getWorldDirection(t);let l=this.#F.camera.up.clone();l.cross(t).negate(),this.#F.rotateCameraAngle(l,e)}rotateHorizontal(e){this.#F.rotateCameraAngle(this.#F.camera.up,e)}blockRender(e){ta((()=>{this.isRenderBlocked=e}))}forceRerender(){this.#_=!0}putRemarks(e){this.#i?.putRemarks?.(e,this.currentScene),this.#_=!0}putText(e,t){return this.#i.putText(e,t)}putLength(e,t){return this.#i.putLength(e,t)}putDiff(e){return this.#i.putDiff(e)}setToolbarVisibility(e){this.#te.toolbar=e,e?this.isReady&&!this.#H&&this.#ue():this.#Ee()}setDrawingToolsVisibility(e){this.#te.drawing=e,e?this.isReady&&this.#I.init(this.#W,this.#Z):this.#I.destroy()}async getScreenshot(e={}){let{filename:t=gW,withFit:l=!1,gapSize:n=BW,width:V=HW,height:i=vW}=e;if(!this.#W)throw new Error("Canvas element not found");return await this.#be(),window.cancelAnimationFrame(this.#c),this.#_=!0,this.#Se(performance.now()),rM.getScreenshot({canvas:this.#W,overlay:this.#m,drawExtras:(e,t,l)=>this.#I.drawToolsOnCanvas(e,t,l),contentBounds:l?this.#Je():null},t,{width:V,height:i,gapSize:n})}#Je(){let e=1/0,t=1/0,l=-1/0,n=-1/0;try{let V=this.#We(void 0);if(!V.isEmpty()){let i=this.#F.camera,a=new yo;for(let r=0;r<8;r++)a.set(1&r?V.max.x:V.min.x,2&r?V.max.y:V.min.y,4&r?V.max.z:V.min.z),a.project(i),e=Math.min(e,(a.x+1)/2*this.#W.width),l=Math.max(l,(a.x+1)/2*this.#W.width),t=Math.min(t,(1-a.y)/2*this.#W.height),n=Math.max(n,(1-a.y)/2*this.#W.height)}}catch(e){KZ.error(e)}let V=this.#I.getContentBounds(this.#W.width);return V&&(e=Math.min(e,V.left),t=Math.min(t,V.top),l=Math.max(l,V.left+V.width),n=Math.max(n,V.top+V.height)),!Number.isFinite(e)||!Number.isFinite(t)||l<=e||n<=t?null:{left:e,top:t,width:l-e,height:n-t}}async#be(){try{if(!this.isReady||this.isRenderBlocked||1!==this.engine)return;let e=performance.now()+1e4,t=Math.max(1,Math.ceil(this.maxSpp/3));do{await new Promise((e=>window.requestAnimationFrame(e)))}while(this.renderer.getAccumulatedSampleCount(this.view)<t&&performance.now()<e)}catch(e){KZ.error(e)}}async#Te(e=!1){let t=(new Date).toISOString().replace(/[:.]/g,"-"),l=await this.get
1Screenshot({filename:`carbon-viewer-${t}.jpg`,withFit:e});if(!l)return;if("function"==typeof window.showSaveFilePicker){try{let e=await(await window.showSaveFilePicker({suggestedName:l.name,types:[{description:"JPEG image",accept:{"image/jpeg":[".jpg"]}}]})).createWritable();await e.write(l),await e.close()}catch{}return}let n=URL.createObjectURL(l),V=document.createElement("a");V.href=n,V.download=l.name,V.click(),URL.revokeObjectURL(n)}async dispose(){await aW((()=>this.isReady),0),this.#se.clear(),window.cancelAnimationFrame(this.#c);try{this.renderer.delete()}catch{}this.#Ee(),this.#I.destroy(),this.#p.forEach((e=>e())),this.#p=[],this.#m.removeEventListener("mousedown",this.handleEvent),this.#m.removeEventListener("mousemove",this.handleEvent),this.#m.removeEventListener("mouseup",this.handleEvent),this.#m.removeEventListener("touchstart",this.handleEvent),this.#m.removeEventListener("touchmove",this.handleEvent),this.#m.removeEventListener("touchend",this.handleEvent),this.#m.removeEventListener("wheel",this.handleEvent),this.#m.removeEventListener("mouseleave",this.handleEvent),this.#m.removeEventListener("click",this.handleEvent),window.removeEventListener("resize",this.resize),document.removeEventListener("keydown",this.onKeyDown),this.#Z.innerHTML="",this.#Z.classList.remove("cv-container")}get version(){return this.carbonApi?.Version?.()}get packageVersion(){return"3.2.10"}get state(){return this.#U}get inclusionsCountByType(){if(!this.carbonApi)return;let e=this.getObjectByIndex(0),t={};return this.getNestedObjects(e).map((e=>+this.getObjectProperty(e,"RType"))).filter((e=>
1e===bW.Crystal||e===bW.Feather)).forEach((e=>{typeof t[e]>"u"?t[e]=1:t[e]+=1})),t}get hasPolygons(){if(!this.carbonApi)return;let e=this.getObjectByIndex(0);return this.carbonApi.HasPolygons(this.context,e)}get wasmHeapSize(){return this.carbonApi?.GetWasmHeapSize?.()/1024/1024+" Mb"}get fullConfiguration(){try{return{...this.#R,model:this.#te.model,camera:this.#F.state,solutions:this.#Ge,products:this.#Me,sceneSolution:this.sceneSolutions,hasPolygons:this.hasPolygons,inclusionsCountByType:this.inclusionsCountByType,version:this.version,packageVersion:this.packageVersion}}catch{return{}}}get#Ge(){if(this.#D&&Array.isArray(this.#D.solutions)&&this.#D.solutions.length>0){let e=this.sceneSolutions.filter((({id:e})=>null===e||this.#D.solutions.some((({number:t})=>e===t))));if(1===e.length&&e[0].isScan)return this.sceneSolutions;let t=this.#D.solutions.filter((e=>e.products.length>0));return 1===t.length?t.map((e=>({id:e.number,isScan:e.title.includes("Scan"),isDiamond:e.title.includes("Diam"),guid:e.guid,name:e.title,nestedCount:0,nestedObjects:[],visible:!0}))):this.#D.solutions.map((e=>{let t=e.title.includes("Scan"),l=t?null:e.number,n=this.sceneSolutions.find((e=>e.id===l));return{id:l,guid:e.guid,name:e.title,isScan:t,isDiamond:e.title.includes("Diam"),visible:!1,nestedCount:n?.nestedCount??0,nestedObjects:n?.nestedObjects??[]}}))}return this.sceneSolutions}get#ke(){return this.#D.solutions.find((({number:e,guid:t})=>e===this.currentSolutionId||t===`${this.currentSolutionId}`))}get#Me(){return this.currentSolutionId?this.getSolutionById(this.currentSolutionId)?.nestedObjects??[]:[]}get#Fe(){return this.#ke?.products.find((e=>e.guid===this.currentProductId))}get#Ye(){return this.#Me.map((e=>({text:`${e.name}`,value:e.DiamondGUID})))}get#xe(){return this.#Qe?Object.keys(mW).reduce(((e,t)=>[...e,{text:t,value:FW[t]}]),[]):Object.keys(FW).reduce(((e,t)=>[...e,{text:t,value:FW[t]}]),[])}get#Xe(){let e={};return this.#D.solutions.forEach((t=>{e[t.number]=e[t.number]??{},t.guid&&(e[t.guid]={}),t.products.filter((({model:e})=>!!e)).forEach((({guid:l,model:n})=>{if(t.title?.includes("Scan")&&n&&(e.scan=n),l){if(e[t.number][l]&&!n)return;n&&(e[t.number][l]=n,t.guid&&(e[t.guid][l]=n))}}))})),e}get#we(){let e=ZW.presets.find((({name:e})=>e===this.lighting));if(e)return JSON.parse(JSON.stringify(e))}get#fe(){let e=this.#Xe;if(this.#ze)return this.#D.solutions.find((e=>e.products?.length>0))?.products?.[0]?.model??"";if(null===this.currentSolutionId)return this.#D.solutions.find((e=>e.title.includes("Scan")))?.products?.[0]?.model??"";let t="";return this.currentSolutionId&&e[this.currentSolutionId][this.currentProductId]&&(t=e[this.currentSolutionId][this.currentProductId]),t}get#ze(){return!(1!==this.#Ge.length||!this.#Ge[0].isScan)}get#Qe(){return!(0!==this.#D.solutions.length||1!==this.#Ge.length||!this.#Ge[0].isDiamond)}get#Ue(){return this.viewMode.includes("VIEW_MODE_PHOTOREAL")}get#pe(){return this.viewMode===FW.Reprojection}get#ye(){return{[SW.High]:this.reprojContrastFillHigh,[SW.Moderate]:this.reprojContrastFillModerate,[SW.Low]:this.reprojContrastFillLow,[SW.Invincible]:this.reprojContrastFillInvincible}}#oe(e){!e||!OZ(e)||(this.#te={...this.#te,...e},ta((()=>{Object.keys(e).forEach((async t=>{let l=e[t];if(typeof l<"u")switch(t){case"cameraSequence":this.setCameraSequence(l);break;case"viewMode":Object.values(FW).includes(l)?(this[t]=l,typeof NW[l]<"u"&&(this.lighting=NW[l])):KZ.warn(`Value "${l}" not satisfies to "ViewMode" values`);break;case"noZoom":l?this.#F.disableZoom():this.#F.enableZoom();break;case"isStereo":break;case"debug":this.#se.shouldLogEvents=!!l,this.setToolbarVisibility(!!l);break;case"drawing":this.setDrawingToolsVisibility(!!l);break;default:typeof this[t]<"u"&&(this[t]=l)}}))})))}#Ce(){this.#p.push(ia((()=>({...this.#R})),((e,t)=>{if(e.isRenderBlocked===t.isRenderBlocked){if(e.currentSolutionId!==t.currentSolutionId&&(this.#Ue||this.#je(e.currentSolutionId)),"null"===e.currentProductId)return void(this.currentProductId="");if(e.currentProductId!==t.currentProductId){if(!e.currentProductId&&""!==e.currentProductId)return void(this.currentProductId="");if(!e.currentProductId&&(null===this.currentSolutionId||-1===this.currentSolutionId)||"string"!=typeof e.currentProductId)return;this.#pe?this.#ge():this.#Ue?this.#Be():this.#He(e.currentProductId)}if(e.viewMode!==t.viewMode){let l=Object.values(mW),n=l.includes(t.viewMode),V=l.includes(e.viewM
1ode);V!==n&&(this.#te.camera=void 0),n&&!V?this.#ve():this.#Ie(e.viewMode)}if(e.preciseFastMode!==t.preciseFastMode&&("precise"===e.preciseFastMode&&e.isGyro&&(this.isGyro=!1),this.apertureRadius=this.#De(),this.maxSpp="fast"===e.preciseFastMode?1:160),e.lensFNumber!==t.lensFNumber&&(this.apertureRadius=this.#De()),e.cameraFOV!==t.cameraFOV&&(this.#F.camera.fov=e.cameraFOV,this.#F.camera.updateProjectionMatrix()),e.viewDistance!==t.viewDistance||e.stereoCenterOffset!==t.stereoCenterOffset||e.distanceBetweenEyes!==t.distanceBetweenEyes){let l=2*Math.atan2(.5*this.distanceBetweenEyes,e.viewDistance);if(this.stereoRotationAngle=180*l/Math.PI,e.viewDistance!==t.viewDistance||e.stereoCenterOffset!==t.stereoCenterOffset){let t=new yo;this.#F.camera.getWorldDirection(t),t.normalize().negate(),this.#F.target.set(0,0,this.stereoCenterOffset);let l=this.#F.target.clone().addScaledVector(t,e.viewDistance);this.#F.setState({target:this.#F.target,pos:l},{silent:!0})}}if((e.isStereo!==t.isStereo||e.stereoMode!==t.stereoMode||e.stereoCombineMode!==t.stereoCombineMode||e.stereoCenterOffset!==t.stereoCenterOffset)&&this.#Oe(),e.pixelRatio!==t.pixelRatio&&this.resize(),e.isGyro!==t.isGyro&&this.#_e(),e.cameraRotationSpeed!==t.cameraRotationSpeed&&(this.#F.rotateSpeed=e.cameraRotationSpeed),e.cameraRotationSpeed!==t.cameraRotationSpeed&&(this.#F.rotateSpeed=e.cameraRotationSpeed),(e.fixedViewArea!==t.fixedViewArea||e.viewAreaMM!==t.viewAreaMM)&&(this.#Le(),this.resize()),!this.#Ue){this.setBackground(e.background);let l=this.sceneObjects.rough;this.setRoughTransparency(e.roughTransparency),this.setColorForObject(l,e.roughColor,e.roughAmbientFactor),this.setRoughShadingMode(e.roughShadingMode),this.carbonApi.SetObjectMaterialFactor(this.context,l,{value:21},-1);for(let t=0,l=this.getNestedObjectsCount(this.currentScene);t<l;t++){let l=this.getNestedObject(this.currentScene,t);if(this.getObjectName(l).includes("Ignored_Caverns_Front")){this.setObjectTransparency(l,e.cavernTransparency),this.setObjectShadingMode(l,e.cavernUseDithering?4:0);break}}this.setParam("ViewDependentFactor",e.cavernViewDependentFactor),this.sceneObjects.sawings.forEach((t=>{if(this.setObjectVisible(t,e.showSawings),e.showSawings){let l=this.getObjectColor(t,1);this.setObjectColor(t,0,l),this.setObjectFactor(t,8,e.sawingsAmbientFactor),this.setObjectFactor(t,10,.6),this.setObjectFactor(t,11,0),this.carbonApi.SetObjectMaterialFactor(this.context,t,{value:17},4),this.setObjectTransparency(t,e.sawingsTransparency),this.carbonApi.SetObjectMaterialFactor(this.context,t,{value:21},0)}})),this.#Ke("rough",e.showRoughOutline),e.showRoughOutline&&this.#Pe("rough"),this.#Ke("products",e.showProductsOutline),e.showProductsOutline&&this.#Pe("products"),this.#Ke("inclusions",e.showInclusionsOutline),e.showInclusionsOutline&&this.#Pe("inclusions"),this.setInclusionsHighlight(e.inclusionsHighlight),this.setVisibilityByName("inclusionsCutOuter",e.showOuterInclusions),this.setVisibilityByName("inclusionsCutInner",e.showInnerInclusions),e.interactiveCutThreshold!==t.interactiveCutThreshold&&(this.enableInteractiveCut=this.interactiveCutThreshold>1,this.viewMode!==FW.OverviewCutInclusions&&this.setInteractiveCutThreshold(this.interactiveCutThreshold)),e.enableInteractiveCut!==t.enableInteractiveCut&&this.#Ae(),this.sceneObjects.products.forEach((t=>{let l=this.getObjectColor(t,1);this.setColorForObject(t,l,e.productAmbientFactor),this.setObjectTransparency(t,e.productTransparency),this.setObjectColor(t,3,e.wireframeFrontColor),this.setObjectColor(t,4,e.wireframeBackColor)})),this.setProductsWireframeColor(3,sm(e.wireframeFrontColor)),this.setProductsWireframeColor(4,sm(e.wireframeBackColor)),this.#qe()}this.#Ue&&(this.#$e(),this.carbonApi.SetDebugVec4(this.context,"FancyLightStrength",[e.fancyLightStrength,0,0,0]),this.setParam("GrayFactor",.169/this.fancyGreyStrength),this.setParam("BlockExternalReflections",this.blockExtReflections?1:0),this.captureAutoExposureParams(),this.setParam("SamplesPerPixel",this.samplesPerFrame),this.setParam("ApertureRadius",e.apertureRadius),this.setParam("ToneMappingMode",e.toneMapping),this.setParam("ReprojectionCameraDofRange",e.dofRange),this.setParam("InclusionsInDofMode",e.inclusionsInDof),this.setParam("ReprojectionReflectionCount",e.reflections),this.setParam("PanoramaRotationX",e.panoramaRotationX),this.setParam("PanoramaRotationY",e.panoramaRotationY),this.setParam("PanoramaRotationZ",e.panoramaRotationZ),this.setParam("PanoramaRadius",e.panoramaRadius),this.setParam("FrustumTracerMinArea",e.minArea),this.setParam("PanoramaFactor",e.panoramaFactor),this.setParam("ExposureFusionMode",e.exposureFusion),this.renderer.setReprojContrastEvalFactors(e.reprojFocusFactor,e.reprojPowerFactor,e.reprojComboFactor),this.setLowAccuracyMode(this.lowAccuracyMode),(e.lightSpectrum!==t.lightSpectrum||e.absorptionSpectrum!==t.absorptionSpectrum||e.panorama!==t.panorama)&&this.#et(),this.setBakedMode(this.useBakeGeometryToMap,3072),t.surfaceRoughness!=e.surfaceRoughness&&this.setSurfaceRoughness(this.getObjectByIndex(0),e.surfaceRoughness),e.isGrayscaleMode!==t.isGrayscaleMode&&this.#tt()),this.#pe||this.showReprojections?(this.#lt(),Object.keys(this.#ye).forEach((e=>{this.setReprojFillColor(this.reprojTypeIndex,Number(e),this.#ye[e],this.reprojFillAlpha)}
1)),this.setReprojLineColor(this.reprojTypeIndex,this.reprojLineColor,this.reprojLineAlpha),e.blinkInclusionType!==t.blinkInclusionType&&(null!==e.blinkInclusionType?this.#nt():(this.renderer.setReprojBoldLine(bW.Crystal,!1),this.renderer.setReprojBoldLine(bW.Feather,!1),this.#Vt()))):!this.showReprojections&&t.showReprojections&&this.#Be(1!==this.engine),this.setParam("MinPathWeight1",this.minPathWeight1),this.setParam("MinPathWeight2",this.minPathWeight2),this.setParam("MinPathWeight3",this.minPathWeight3),this.setParam("NbBounces1",this.nbBounces1),this.setParam("NbBounces2",this.nbBounces2),this.setParam("NbBounces3",this.nbBounces3),this.#H?.children?.forEach((l=>this.#it(l,e,t))),this.#_=!0,this.#Ze("state.updated",e)}}))),this.#p.push(ia((()=>this.listenMode),(e=>{e?this.#F.disableCamera():this.#F.enableCamera()}))),this.#p.push(ia((()=>this.#F.isCameraChanged),((e,t)=>{!1===e&&!0===t&&this.#Ze("state.updated",{camera:this.#F.state,sequence:this.#F.sequence}),this.#_=!0})))}async#he(){if(!this.#te||DZ(this.#te)||!OZ(this.#te)||0===Object.keys(this.#te).length){let e=new Error("Invalid configuration");return KZ.error(e),void this.#at("state.error",e)}if(this.#Z=document.querySelector(this.#te.containerId),!this.#Z){let e=new Error("Container element not found");return KZ.error(e),void this.#at("state.error",e)}if("DIV"!==this.#Z.tagName){let e=new Error("Container must be DIV element");return KZ.error(e),void this.#at("state.error",e)}try{new URL(this.#te.model)}catch(e){return KZ.error(e),void this.#at("state.error",e)}this.#Z.classList.add("cv-container"),this.#Z.style.position="relative",this.#Z.style.overflow="hidden",this.#W=document.createElement("canvas"),this.#W.style.setProperty("width","100%"),this.#W.style.setProperty("height","100%"),this.#W.style.setProperty("position","absolute"),this.#W.style.setProperty("z-index","1"),this.#m=document.createElement("canvas"),this.#m.style.setProperty("width","100%"),this.#m.style.setProperty("height","100%"),this.#m.style.setProperty("position","absolute"),this.#m.style.setProperty("z-index","2"),this.#Z.appendChild(this.#W),this.#Z.appendChild(this.#m),this.#W.oncontextmenu=()=>!1,this.#m.oncontextmenu=()=>!1,this.#m.onclick=()=>window.parent.focus(),this.#m.onmousedown=()=>window.parent.focus(),this.#m.onmousemove=()=>window.parent.focus(),this.handleEvent=this.handleEvent.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.resize=this.resize.bind(this),document.addEventListener("keydown",this.onKeyDown),this.#m.addEventListener("mousedown",this.handleEvent),this.#m.addEventListener("mousemove",this.handleEvent),this.#m.addEventListener("mouseup",this.handleEvent),this.#m.addEventListener("touchstart",this.handleEvent),this.#m.addEventListener("touchmove",this.handleEvent),this.#m.addEventListener("touchend",this.handleEvent),this.#m.addEventListener("wheel",this.handleEvent),this.#m.addEventListener("click",this.handleEvent),this.#m.addEventListener("mouseleave",this.handleEvent),window.onmessage=e=>ta((()=>this.#rt(e))),this.#F.onStateChange=e=>this.#Ze("camera.updated",{camera:e}),this.#st();try{let t=this.#te.carbonApi;t||(t=await e.getAPI(this.#te.customPath||[])),await this.initCarbonApi(this.#te.containerId,t)}catch(e){return KZ.error(e),void this.#at("state.error",e)}this.#Ce(),KZ.info("Carbon API version:",this.version),KZ.info("Module versions:",this.renderer.version()),this.#at("state.carbon-api-initialized");try{this.setBackground(this.background),this.#u=new Cc({canvas:this.#W,preserveDrawingBuffer:!0}),this.#u.autoClear=!1,this.#u.setClearColor(new nd(0),1);{let e=(new Fd).setAttribute("position",new dd([-.1,0,0,.1,0,0,0,-.1,0,0,.1,0],3));this.#z.add(new cp(e,new ip({color:16777215})))}await this.#de(),this.setParam("ApertureRadius",this.apertureRadius),this.setParam("ReprojectionCameraDofRange",this.dofRange),this.setParam("ToneMappingMode",this.toneMapping),this.setParam("InclusionsInDofMode",this.inclusionsInDof?1:0),this.setParam("ReprojectionReflectionCount",this.reflections),this.setParam("PanoramaFactor",this.panoramaFactor),this.setParam("ExposureFusionMode",this.exposureFusion),this.#a=new lM(this.#F.camera,this.#J,this.#m,null,null),this.#a.addInputListener(this.#F),this.#s=new cm(this.#u,this.#W),this.#s.resize(this.#W.width,this.#W.height),this.#r=new Dm(this.#s,this.#J,this.#F.camera,this.#u,this.renderer,this.#m,this.carbonApi,this.view,this.#o,!0,!1,!1),this.#i=new tM(this.renderer,this.#r,this.#J,this.view,this.#m,this.#F.camera,this.carbonApi,!1,!1,"left"),this.#i.setA
1ctiveMeasurementType(this.#le);let e=()=>{this.#Ze("state.updated",{remarks:this.#i.getFlatRemarks()}),this.#_=!0};this.#i.setUpdateCallback(e),this.#r.setUpdateCallback(e),this.#r.onRemoveCallback=()=>e(),this.#a.addInputListener(this.#i),this.#a.addInputListener(this.#r),this.#a.addElemToCheckForHover(this.#r),this.#a.addElemToCheckForMouseMoveHover(this.#r),this.#ae=new NZ(this.#F.camera,this.#m),this.#ae.detach(),this.#J.add(this.#ae),this.resize(),window.addEventListener("resize",this.resize),new ResizeObserver((()=>this.resize())).observe(this.#m),this.#te.isGyro&&this.#_e(),this.#te.isStereo&&(this.isStereo=this.#te.isStereo),this.#Se(performance.now())}catch(e){return KZ.error(e),void this.#at("state.error",e)}setTimeout((()=>{this.#at("state.ready"),this.#se.addEvent("init",performance.now()),this.isReady=!0}),0)}async#de(){if(this.#at("state.started"),this.#Ee(),this.#te.model.endsWith(".cbr"))this.#D={projectModel:this.#te.model,photorealConfig:"",solutions:[]};else{this.#se.start("load-and-apply-config");let e=await $G.get(this.#te.model,{responseType:"arrayBuffer"});this.#D=JSON.parse(new TextDecoder("utf-8").decode(e.data)),this.#se.stop("load-and-apply-config",{resource:e.data.byteLength})}this.#se.start("load-and-apply-model-data");let e=await $G.get(this.#D.projectModel,{responseType:"arrayBuffer"});this.#O=new Uint8Array(e.data),this.#se.stop("load-and-apply-model-data",{resource:this.#O.byteLength}),this.#pe?await this.#ge():this.#Ue?await this.#Be():await this.#ve(),(this.#te.toolbar||this.#te.debug)&&this.#ue(),this.#te.drawing&&this.#I.init(this.#W,this.#Z)}async#ve(){try{ta((()=>{this.isRenderBlocked=!0})),this.setRenderEngine(0),this.cleanScene(),ta((()=>{this.cameraRotationSpeed=2.5,this.camMultiplyCoef=.8,this.cameraRotationSpeed=2.5})),this.#u.resetState(),this.#u.render(this.#J,this.#F.camera);let e=this.carbonApi.CreteBuffer(this.#O);if(this.renderer.loadSceneFromBuffer(e),e.free(),this.#Qe)return void ta((()=>{this.viewMode=this.#xe[0].value}));this.hideAllObjects(),this.#F.camera=this.#N,await this.#je(this.currentSolutionId),this.#F.enablePan(),this.#F.setObjectRotationMode(!1),this.#te.camera?(this.setCameraState(this.#te.camera),this.#te.cameraAutoFitOnChange&&this.fitCameraToScene()):DZ(this.#te.cameraSequence)&&11===this.#te.cameraSequence.length?this.setCameraSequence(this.#te.cameraSequence):await this.resetCamera(),setTimeout((()=>{let e=new yo;this.roughBounds.getCenter(e);let t=this.#F.camera.position.clone().sub(e);t.length()>400&&(this.#F.camera.far=2*t.length(),this.#F.camera.updateProjectionMatrix(),this.#_=!0),ta((()=>{this.isRenderBlocked=!1})),this.#at("state.generic-ready")}),0)}catch(e){KZ.error(e)}}async#ot(e){this.setRenderEngine(e),this.#F.disablePan(),this.#F.setObjectRotationMode(!0),this.cleanScene();let t=this.#fe;if(this.viewMode===FW.Reprojection&&this.renderer.cleanEdgeReprojectionData(),t){let e=await $G.get(t,{responseType:"arrayBuffer"}),l=this.carbonApi.CreteBuffer(new Uint8Array(e.data));this.renderer.loadSceneFromBuffer(l),l.free()}else{let e=this.carbonApi.CreteBuffer(this.#O);this.renderer.loadSceneFromBuffer(e),e.free()}for(let e=0;e<this.sceneObjectCount;e++){let t=this.getObjectByIndex(e);0==this.bakeGeometryMode?this.setObjectProperty(t,"baking_resolution",512):1==this.bakeGeometryMode&&this.setObjectProperty(t,"baking_resolution",1024),this.setObjectProperty(t,"baking_subdivide",0)}ta((()=>{this.camMultiplyCoef=1,this.cameraRotationSpeed=2.5}))}#ht(){return this.isGrayscaleMode?$W:qW}#tt(){let e=this.getObjectByIndex(0);if(this.setObjectSpectrum(e,5,this.#ht()),this.#pe)return;let t=this.isGrayscaleMode?tm:em;this.getNestedObjects(e).forEach((e=>{let l="0"==this.getObjectProperty(e,"RType");this.setObjectSpectrum(e,5,l?lm:t)}))}#lt(){Object.values(SW).forEach((e=>{this.setReprojFillColor(bW.Crystal,e,GW[bW.Crystal][e],this.reprojFillAlpha),this.setReprojFillColor(bW.Feather,e,GW[bW.Feather][e],this.reprojFillAlpha)})),this.setReprojLineColor(bW.Crystal,GW[bW.Crystal].line,this.reprojLineAlpha),this.setReprojLineColor(bW.Feather,GW[bW.Feather].line,0),this.getNestedObjects(this.getObjectByIndex(0)).forEac
1h((e=>{this.setObjectFactor(e,16,+this.getObjectProperty(e,"RType")),this.setObjectFactor(e,7,0),this.setObjectType(e,1)}))}async#Be(e=!0){await aW((()=>!this.#n),0),this.#n=!0,this.#se.start("show-photoreal");try{ta((()=>{this.isRenderBlocked=!0})),await this.#ot(1),this.#e=!0,ta((()=>{this.cameraRotationSpeed=2.5}));let t=this.getObjectByIndex(0);this.setObjectType(t,0),this.setObjectSpectrum(t,6,nm),this.setObjectFactor(t,7,1),this.getNestedObjects(t).forEach((e=>{let t=this.getObjectProperty(e,"RType"),l=this.getObjectProperty(e,"TC1"),n=this.getMaterialFactor(e,13);""!=l&&(n=kW[l]??1),"0"==t?this.setObjectType(e,1):this.setObjectType(e,2),this.setObjectSpectrum(e,6,nm),this.setObjectFactor(e,7,n)})),this.#tt(),this.showReprojections&&this.#lt(),await this.#et(),this.setLocalTransform(this.getObjectByIndex(0),this.modelScale),this.setSurfaceRoughness(this.getObjectByIndex(0),this.surfaceRoughness),this.captureAutoExposureParams(),this.#$e(),ta((()=>{typeof this.#te.useBakeGeometryToMap>"u"&&(this.useBakeGeometryToMap=!this.hasInclusions(t))})),e&&(await this.#Le(),this.#te.camera?(this.setCameraState(this.#te.camera),this.#te.cameraAutoFitOnChange&&this.fitCameraToScene()):DZ(this.#te.cameraSequence)&&11===this.#te.cameraSequence.length?this.setCameraSequence(this.#te.cameraSequence):await this.resetCamera()),this.#_=!0,ta((()=>{this.isRenderBlocked=!1})),this.#at("state.photoreal-ready")}catch(e){KZ.error(e),this.#at("state.error",e)}finally{this.#n=!1,this.#se.stop("show-photoreal")}}async#ge(){try{if(ta((()=>{this.isRenderBlocked=!0})),await this.#ot(2),this.cameraRotationSpeed=2.5,this.hasPolygons){this.#lt();let e=this.getObjectByIndex(0);this.setObjectSpectrum(e,5,this.#ht()),this.setObjectSpectrum(e,6,nm),this.setObjectFactor(e,7,1),this.setLocalTransform(e,this.modelScale)}this.#te.camera?(this.setCameraState(this.#te.camera),this.#te.cameraAutoFitOnChange&&this.fitCameraToScene()):DZ(this.#te.cameraSequence)&&11===this.#te.cameraSequence.length?this.setCameraSequence(this.#te.cameraSequence):await this.resetCamera(),setTimeout((()=>{this.#_=!0,ta((()=>{this.isRenderBlocked=!1})),this.#at("state.photoreal-ready")}),0)}catch(e){return KZ.error(e),void this.#at("state.error",e)}}#$e(){this.setParam("ShowAveragePhotorealBackground",this.useAverageBackground?1:0)}#dt(e,t,l,n,V){if(0===V)return void KZ.error("Ortho camera is not expected in function applyCamBasis");let i=t.length();t.normalize(),e.normalize(),l.normalize(),this.#F.camera instanceof WR&&(this.#N=this.#F.camera),this.#A=V,this.#P=i;let a=180/Math.PI*2*Math.atan2(this.#P*this.camMultiplyCoef,this.#A);this.#F.camera=new Od(a,this.#W.width/this.#W.height,.1,1e3);let r=new yo(0,0,this.stereoCenterOffset);this.cameraFOV=a,AZ(this.#te.viewDistance)?this.viewDistance=this.#te.viewDistance:this.viewDistance=r.clone().sub(n).length(),this.#F.setState({target:r,pos:n,up:t,zoom:1,zoomDelta:0},{silent:!0})}#De(){return"number"==typeof this.#te.apertureRadius?this.#te.apertureRadius:-1===this.lensFNumber||"fast"===this.preciseFastMode?0:this.focalLength/this.lensFNumber*.5}#Rt(e){let t=this.targetRenderTime/e,l=t/(.6+.33*t),n=Math.min(this.maxPixelRatio,Math.max(this.minPixelRatio,Math.round(4*l)/4));return n>this.maxPixelRatio?this.maxPixelRatio:n}async#Le(e=!1){try{let t=this.#we;if(!t)return;let l,n="<Lighting>\n";for(let l in t.preset){let V=l.toLowerCase(),i=t.preset[l];if(e&&"ui-batch--comboboxcameraorientation"==V&&(i=1),this.fixedViewArea){let e=1e3*this.viewAreaMM/10;"ui-batch--sizeautofitcheckbox"==V?i="false":"ui-batch--comboboxfittingmode"==V?i=0:"ui-batch--pixelsize"==V?i=10:("ui-batch--spinboxresolutionx"==V||"ui-batch--spinboxresolutiony"==V)&&(i=e)}n+=`  <${l}>${i}</${l}>\n`}if(n+="</Lighting>\n",!e&&2===t.preset["ui-batch--comboBoxCameraOrientation"]){let e=function(e){let t="",l=!1;for(let n=0;n<e.length;n++){let V=e[n];V.toUpperCase()===V?(!l&&n>0&&(t+="_"),t+=V.toLowerCase(),l=!0):(t+=V,l=!1)}return t}(t.preset["ui-batch--lineEditOrientationName"]??""),n=this.#Fe?.trajectories[e||""];if(n){let e=await $G.get(n,{responseType:"arrayBuffer"});l=this.carbonApi.CreteBuffer(new Uint8Array(e.data))}}let V,i=this.getObjectByIndex(0);l?(V=this.carbonApi.GetCameraBasisFromOrientation(this.context,i,n,l),l.free()):V=this.carbonApi.GetCameraBasisFromPreset(this.context,i,n);let a=new yo(V.forward[0],V.forward[1],V.forward[2]),r=new yo(V.up[0],V.up[1],V.up[2]),s=new yo(V.right[0],V.right[1],V.right[2]),o=new yo(V.eye[0],V.eye[1],V.eye[2]);this.#dt(a,r,s,o,V.projectionDistance)}catch(e){KZ.error(e),this.#at("state.error",e)}}#Ut(){let e=this.#we;if(!e)return;let t=this.#F.camera,l=Number.MAX_VALUE;if(0==(e.preset["ui-batch--comboBoxAutoFocus"]??0))l=t.position.length();else{let n=new yo;t.getWorldDirection(n);let V=this.carbonApi.GetObjectVerticesPositions(this.context,this.getObjectByIndex(0)).getBytes(),i=function(e,t,l){let n=Number.MAX_VALUE,V=-Number.MAX_VALUE,i=new yo;for(let a=0;a<e.length/3;++a){i.set(e[a+0],e[a+1],e[a+2]),i.sub(l);let r=t.dot(i);n=Math.min(n,r),V=Math.max(V,r)}return[n,V]}(new Float32Array(V.buffer,V.byteOffset,V.byteLength/4),n,t.position);if(i[0]<Number.MAX_VALUE){let t=e.preset["ui-renderer--dspinFocalLength"]??82.4,n=e.preset["ui-batch--circleOfConfusion"]??.025,V=i[0]*i[0]*n/(t*this.#De());l=i[0]+Math.min(.5*(i[1]-i[0])/2.4,.5*V)}}this.#K!=l&&(this.#K=l,this.setParam("AutoFocus",0),this.setParam("FocalPlaneDistance",l))}#et=function(e,t,l={}){let n=qZ(((t,l,n)=>
1{e(...n).then(t).catch(l)}),t,l);return(...e)=>new Promise(((t,l)=>{n(t,l,e)}))}((async()=>{let e=this.#we;if(e)try{let t=this.absorptionSpectrum||this.#Fe?.spectra;if(t){let e=await $G.get(t,{responseType:"arrayBuffer"}),l=this.carbonApi.CreteBuffer(new Uint8Array(e.data));this.carbonApi.SetObjectAbsorptionFromSpectrum(this.context,this.getObjectByIndex(0),l),l.free()}let l=[.64,.33],n=[.3,.6],V=[.15,.06],i=[.3127,.329],a=[e.preset["ui-colorProps--doubleSpinBoxRedX"]??l[0],e.preset["ui-colorProps--doubleSpinBoxRedY"]??l[1]],r=[e.preset["ui-colorProps--doubleSpinBoxGreenX"]??n[0],e.preset["ui-colorProps--doubleSpinBoxGreenY"]??n[1]],s=[e.preset["ui-colorProps--doubleSpinBoxBlueX"]??V[0],e.preset["ui-colorProps--doubleSpinBoxBlueY"]??V[1]],o=[e.preset["ui-colorProps--doubleSpinBoxWhiteX"]??i[0],e.preset["ui-colorProps--doubleSpinBoxWhiteY"]??i[1]];this.setColorWorkingSpace(a,r,s,o);let h=e.panorama,d=h?.includes("Darkfield")??!1;if("string"==typeof this.#te.panorama&&this.#te.panorama.length>0&&(h=this.#te.panorama),h){if(this.#C!==h){this.#C=h;let e=await $G.get(h,{responseType:"arrayBuffer"}),t=this.carbonApi.CreteBuffer(new Uint8Array(e.data));this.renderer.loadEnvironmentMapFromBuffer(t),t.free()}if(1!=e.preset["ui-sceneProps--comboBoxType"])this.carbonApi.DisableLightSpectrum(this.context);else{let e=this.carbonApi.CreteBuffer((new TextEncoder).encode(ZW.spds[`${this.lightSpectrum}.txt`]));e&&(this.carbonApi.SetLightSpectrum(this.context,e),e.free())}}this.#Ut();let R=e.preset["ui-batch--comboBoxFusionMode"]??0,U=1,c=e.preset["ui-sceneprops--spinpanoramascale"]??1;if(R>0){let t=e.preset["ui-batch--spinboxexposurecount"]??2;if(t>2){let l=e.preset["ui-batch--spinboxexposuremult"]??4,n=(t-1)/2;U=Math.pow(l,-n)}c>1&&(U*=c,c=1),this.setParam("BaseExposure",U)}else this.setParam("BaseExposure",U);ta((()=>{this.minPathWeight1=.001,d?(this.minPathWeight2=.01,this.minPathWeight3=.01):(this.minPathWeight2=.03,this.minPathWeight3=.1),this.nbBounces1=5,this.nbBounces2=10,this.nbBounces3=28,this.setParam("MinPathWeight1",this.minPathWeight1),this.setParam("MinPathWeight2",this.minPathWeight2),this.setParam("MinPathWeight3",this.minPathWeight3),this.setParam("NbBounce
1s1",this.nbBounces1),this.setParam("NbBounces2",this.nbBounces2),this.setParam("NbBounces3",this.nbBounces3),this.focalLength=e.preset["ui-renderer--dspinFocalLength"]??82.4,this.#te.lensFNumber||(this.lensFNumber=e.preset["ui-renderer--dspinFNumber"]??2),this.apertureRadius=this.#De(),this.panoramaRotationX="number"==typeof this.#te.panoramaRotationX?this.#te.panoramaRotationX:Math.PI,this.panoramaRotationY="number"==typeof this.#te.panoramaRotationY?this.#te.panoramaRotationY:0,this.panoramaRotationZ="number"==typeof this.#te.panoramaRotationZ?this.#te.panoramaRotationZ:Math.PI,this.carbonApi.SetEnvironmentMapOrigin(this.context,{value:1}),this.#te.panoramaRadius||(this.panoramaRadius=e.preset["ui-sceneprops--spinpanoramaradius"]??50),this.panoramaFactor="number"==typeof this.#te.panoramaFactor?this.#te.panoramaFactor:c,this.exposureFusion="number"==typeof this.#te.exposureFusion?this.#te.exposureFusion:R}))}catch(e){return KZ.error(e),void this.#at("state.error",e)}}),0);#Se(e){try{if(!this.isReady)return void(this.#c=window.requestAnimationFrame((e=>this.#Se(e))));if(this.#v.begin(),!this.isRenderBlocked){let t=this.renderer.getAccumulatedSampleCount(this.view),l=this.#F.camera.matrixWorld.clone().multiply(this.#F.camera.projectionMatrix);this.#F.camera.wasChanged=!1;for(let e=0;e<16;e++)if(Math.abs(this.#ne.elements[e]-l.elements[e])>1e-5){this.#F.camera.wasChanged=!0;break}if(this.#F.camera.wasChanged&&this.#ne.copy(l),this.#F.updateCamera(),this.isStereo||this.view.setCameraMatrices(this.#F.camera.matrix.clone().invert().elements,this.#F.camera.projectionMatrix.elements),this.#F.getObjectRotationMode()&&(!this.#Ve.equals(this.#F.objectRotation)||this.#ie!==this.modelScale||this.#e)){this.#e=!1,this.#Ve.copy(this.#F.objectRotation),this.#ie=this.modelScale,this.#F.camera.wasChanged=!0,this.#_=!0;let e=(new Uh).makeRotationFromQuaternion(this.#F.objectRotation).invert().scale(new yo(this.modelScale,this.modelScale,this.modelScale));for(let t=0;t<this.sceneObjectCount;t++)this.carbonApi.SetLocalTransform(this.context,this.getObjectByIndex(t),e.elements)}if((this.#_||this.#F.isCameraChanged)&&(this.#ct(),0===this.engine&&(this.isStereo?this.#pt():this.#Zt(),this.#_=!1),this.viewMode===FW.Reprojection&&(this.#Ut(),this.#Wt(),this.#mt(),this.#_=this.#V.length>0)),1==this.engine&&(this.#_||t<=this.maxSpp||this.view.isCameraChanged())){if(this.isStereo?(this.#Ut(),this.#Ft()):(this.#Ut(),this.#Nt()),this.#_=!1,!this.#F.isCameraChanged&&this.#q){let t=e-this.#q;if(t>0){this.#$.length>99&&this.#$.shift(),this.#$.push(t),this.#ee.length>99&&this.#ee.shift();let e=function(e){if(0==e.length)return 0;let t=[...e].sort(((e,t)=>e-t)),l=Math.floor(t.length/2);return t.length%2==1?t[l]:(t[l-1]+t[l])/2}(this.#$);if(this.#ee.push(e),this.debugFrames&&this.#ut(e),100===this.#ee.length&&this.autoPixelRatio){let t=this.#Rt(e);t>this.pixelRatio&&ta((()=>{this.pixelRatio=t,this.autoPixelRatio=!1}))}}}t>=this.maxSpp&&this.#at("state.samples-collected")}this.#q=e}setTimeout((()=>this.#Et()),0),this.#v.end(),this.#c=window.requestAnimationFrame((e=>this.#Se(e)))}catch{}}#Zt(){this.#u.clear(),this.renderer.draw(this.view,!0),this.#u.resetState(),this.#u.render(this.#J,this.#F.camera),this.#r&&this.#r.updateRemarks(this.#F.camera),this.#s&&this.#s.update()}#Nt(){this.#k||(this.#Q=new pp(this.#W.width,this.#W.height,us),this.#X=new pp(this.#W.width,this.#W.height,us),this.#k=new yd(new aR(2,2),new Id({uniforms:{image0:{value:this.#Q},image1:{value:this.#X},blendFactor:{value:0}},depthWrite:!1,depthTest:!1,vertexShader:VM,fragmentShader:nM})),this.#x.add(this.#k));let e=this.renderer.getAccumulatedSampleCount(this.view);(this.view.isCameraChanged()||this.#l||this.#F.camera.wasChanged)&&(e=0,this.displayedInteractiveFrame=!1,this.#l=!1),this.#bt(this.#Q,this.#X,this.#k,this.#x,this.view,e,!1)}#bt(e,t,l,n,V,i,a){V.setBlendingEnabled(!1),this.setRenderEngine(1),this.lowAccuracyMode?this.renderer.draw(V,!0):(0==i?(this.#se.start("first-photoreal-render"),a||(this.fallbackToLowAccuracy&&this.setLowAccuracyMode(!0),this.setParam("ApertureRadius",this.apertureRadius*this.apertureDecreaseRatio)),this.renderer.draw(V,!0),this.#u.resetState(),this.#u.render(this.#J,this.#F.camera),this.#u.copyFramebufferToTexture(new Ro(0,0),e),this.displayedInteractiveFrame=!0,this.#se.stop("first-photoreal-render")):(!a&&this.displayedInteractiveFrame&&(this.setLowAccuracyMode(this.lowAccuracyMode),this.setParam("ApertureRadius",this.apertureRadius),this.displayedInteractiveFrame=!1),this.renderer.draw(V,!0),this.#u.resetState(),this.#u.render(this.#J,this.#F.camera),this.#u.copyFramebufferToTexture(new Ro(0,0),t)),l.material.uniforms.blendFactor.value=i/this.interactiveBlendRate,this.#u.render(n,new WR(-1,
11,-1,1,1,1e3))),this.showReprojections&&(this.setParam("ReprojectionFocalDistance",this.getParam("FocalPlaneDistance")),V.setBlendingEnabled(!0),this.setRenderEngine(2),this.renderer.draw(V,!0),this.setRenderEngine(1),V.setBlendingEnabled(!1))}#Wt(){let e=this.#m.getContext("2d");if(e)try{e.clearRect(0,0,this.#m.width,this.#m.height);let t=this.renderer.calculateEdgeReprojection(this.view,this.getObjectByIndex(0),{traceDepth:2}).getBytes(),l=new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT);for(let t=2;t>=0;t--)for(let n=0;n<l.length;n+=5){let V=l[n];if(V===t){let t=(l[n+1]+1)/2*this.#m.width,i=(1-l[n+2])/2*this.#m.height,a=(l[n+3]+1)/2*this.#m.width,r=(1-l[n+4])/2*this.#m.height;e.strokeStyle="#aaaaaa",e.lineWidth=1;let s=this.#V.length>0;0===V?(e.strokeStyle="#000000",s&&(e.strokeStyle="#d5d5d5"),e.setLineDash([]),e.lineWidth=1):(1===V||2===V)&&(e.strokeStyle="#797979",s&&(e.strokeStyle="#d5d5d5"),e.setLineDash([1,4])),e.beginPath(),e.moveTo(t,i),e.lineTo(a,r),e.stroke()}}this.setParam("ReprojectionFocalDistance",this.getParam("FocalPlaneDistance")),this.view.setBlendingEnabled(!1),this.renderer.draw(this.view,!0)}catch{}}#pt(){if(!this.#L){this.#F.camera.matrixAutoUpdate=!1;let e=this.#F.camera.matrix.clone();{let e=this.#St(!0);if(this.view.setCameraMatrices(e.invert().elements,this.#F.camera.projectionMatrix.elements),this.#u.clear(),this.renderer.draw(this.view,!0),this.#u.resetState(),this.#F.camera.matrix=e.invert(),this.#F.camera.updateMatrixWorld(!0),this.#u.render(this.#J,this.#F.camera),this.#r&&this.#t&&this.#r.updateRemarks(this.#F.camera),this.#s&&this.#s.update(),this.toSaveStereoImages){let e=document.createElement("a");e.setAttribute("href",this.#W.toDataURL()),e.setAttribute("target","_blank"),e.setAttribute("download","left.png"),e.click(),this.toSaveStereoImages=!1}this.#u.copyFramebufferToTexture(new Ro(0,0),this.#b)}this.#u.clearDepth();{let e=this.#St(!1);if(this.view.setCameraMatrices(e.invert().elements,this.#F.camera.projectionMatrix.elements),this.#u.clear(),this.renderer.draw(this.view,!0),this.#u.resetState(),this.#F.camera.matrix=e.invert(),this.#F.camera.updateMatrixWorld(!0),this.#u.render(this.#J,this.#F.camera),this.#r&&this.#t&&this.#r.updateRemarks(this.#F.camera),this.#s&&this.#s.update(),this.toSaveStereoImages){let e=document.createElement("a");e.setAttribute("href",this.#W.toDataURL()),e.setAttribute("target","_blank"),e.setAttribute("download","right.png"),e.click(),this.toSaveStereoImages=!1}this.#u.copyFramebufferToTexture(new Ro(0,0),this.#S)}this.#F.camera.matrix.copy(e),this.#F.camera.updateMatrixWorld(!0),this.#F.camera.matrixAutoUpdate=!0}this.#u.clearDepth(),this.#u.clear(),this.#u.resetState(),this.#u.render(this.#T,new WR(-1,1,-1,1,1,1e3)),this.#L=!1}#St(e){let t=this.#F.camera,l=this.#F.target,n=l.clone().sub(t.position).cross(t.up).normalize(),V=t.position.clone().addScaledVector(n,(e?-1:1)*this.distanceBetweenEyes*.5);return(new Uh).lookAt(V,l,t.up).premultiply((new Uh).makeTranslation(V.x,V.y,V.z))}#Ft(){if(!this.#L){this.#k||(this.#Q=new pp(this.#W.width,this.#W.height,us),this.#X=new pp(this.#W.width,this.#W.height,us),this.#k=new yd(new aR(2,2),new Id({uniforms:{image0:{value:this.#Q},image1:{value:this.#X},blendFactor:{value:0}},depthWrite:!1,depthTest:!1,vertexShader:VM,fragmentShader:nM})),this.#x.add(this.#k)),this.#G||(this.#M=new pp(this.#W.width,this.#W.height,us),this.#Y=new pp(this.#W.width,this.#W.height,us),this.#G=new yd(new aR(2,2),new Id({uniforms:{image0:{value:this.#M},image1:{value:this.#Y},blendFactor:{value:0}},depthWrite:!1,depthTest:!1,vertexShader:VM,fragmentShader:nM})),this.#w.add(this.#G));let e=this.renderer.getAccumulatedSampleCount(this.view);(this.view.isCameraChanged()||this.#l||this.#_)&&(e=0,this.displayedInteractiveFrame=!1,this.#l=!1),this.#F.camera.matrixAutoUpdate=!1;let t=this.#F.camera.matrix.clone();{let t=this.#St(!0);this.view.setCameraMatrices(t.invert().elements,this.#F.camera.projectionMatrix.elements),this.#u.clear(),this.#bt(this.#Q,this.#X,this.#k,this.#x,this.view,e,!1),this.#u.resetState(),this.#F.camera.matrix=t.invert(),this.#F.camera.updateMatrixWorld(!0),this.#u.render(this.#J,this.#F.camera),this.#f&&this.#u.render(this.#z,this.#y),this.#u.copyFramebufferToTexture(new Ro(0,0),this.#b)}this.#u.clearDepth();{let t=this.#St(!1);this.viewAux.setCameraMatrices(t.invert().elements,this.#F.camera.projectionMatrix.elements),this.#u.clear(),this.#bt(this.#M,this.#Y,this.#G,this.#w,this.viewAux,e,!0),this.#u.resetState(),this.#F.camera.matrix=t.invert(),this.#F.camera.updateMatrixWorld(!0),this.#u.render(this.#J,this.#F.camera),this.#f&&this.#u.render(this.#z,this.#y),this.#u.copyFramebufferToTexture(new Ro(0,0),this.#S)}this.#F.camera.matrix.copy(t),this.#F.camera.updateMatrixWorld(!0),this.#F.camera.matrixAutoUpdate=!0}this.#u.clearDepth(),this.#u.clear(),this.#u.resetState(),this.#u.render(this.#T,new WR(-1,
11,-1,1,1,1e3)),this.#L=!1}async#Re(e=!1){this.#Ue?(this.#F.setCameraRotation(new zo),await this.#Le(e)):(null!==this.currentSolutionId||this.#Fe,this.#F.setCameraRotation(new zo),this.fitCameraToScene())}#Et(){this.pointersData?.forEach((e=>{let t=new yo(e.x,e.y,e.z).project(this.#F.camera);if(!Number.isNaN(t.x)&&!Number.isNaN(t.y)){let{width:l,height:n}=this.#m.getBoundingClientRect(),V=(t.x+1)/2*l,i=-(t.y-1)/2*n;if(!Number.isNaN(V)&&!Number.isNaN(i)){let t=e.urn,l=document.getElementById(t);if(l)l.style.top=`${i}px`,l.style.left=`${V}px`,l.dataset.cursor!==e.pointer&&(l.innerHTML=eM(e.color));else{let l=document.createElement("div");l.id=t,l.className="cv-mouse",l.dataset.cursor=e.pointer,l.style.top=`${i}px`,l.style.left=`${V}px`,l.innerHTML=`<div>${eM(e.color)}</div>`,e.name&&(l.innerHTML+=`<div class="mouse-name" style="background-color: ${e.color};">${e.name}</div>`),this.#Z.appendChild(l)}}}}))}#st(e){this.#Z.style.cursor=`url("data:image/svg+xml,${encodeURIComponent(eM(e))}"), auto`}async#Ie(e){if(this.#se.start(`show-view-mode-${e}`),this.#Jt(),this.#m.getContext("2d")?.clearRect(0,0,this.#m.width,this.#m.height),this.#j=null,this.#qe(),this.#B=[],ta((()=>{this.showInclusionsOutline=!1})),Object.values(WW).includes(e))switch(e){case FW.Overview:this.#Tt();break;case FW.OverviewWithCavern:this.#Gt();break;case FW.OverviewCutInclusions:this.#Mt();break;case FW.OverviewInclusionsInside:await this.#kt();break;case FW.InclusionsInsideOld:this.#Yt();break;case FW.InclusionsInside:await this.#xt();break;case FW.CutInclusions:this.#Qt();break;case FW.DistanceToInclusion:this.#Xt();break;case FW.DistanceToRough:this.#wt();break;case FW.DistanceToDiamond:this.#ft();break;case FW.Rough:this.#zt();break;case FW.RoughInclusions:this.#yt()}Object.values(mW).includes(e)&&(e===FW.Reprojection?await this.#ge():(this.lighting=NW[e],await this.#Be(1!==this.engine))),this.isStereo&&(this.#_=!0,this.#L=!1),this.#Ae(),this.#se.stop(`show-view-mode-${e}`)}async#je(e){-1===Number(e)&&(e=null);let t=this.#Ge.findIndex((({isScan:e})=>e)),l=this.getObjectByIndex(t);if(null===e){this.#Ct(t),ta((()=>{this.roughTransparency!==wW&&(this.roughTransparency=wW)}));let{inclusions:e,products:n,sawings:V}=this.sceneObjects;e.forEach((e=>this.setObjectVisible(e,!0))),n.forEach((e=>this.setObjectVisible(e,!1))),V.forEach((e=>this.setObjectVisible(e,!1))),this.setObjectVisible(l,!0),this.setObjectTransparency(l,this.roughTransparency),this.setParam("ViewDependentFactor",this.cavernViewDependentFactor)}else this.setObjectVisible(l,!1),ta((()=>{this.roughTransparency=1}));await this.#Ie(this.viewMode)}#jt(){ta((()=>{let e=this.#Ge.findIndex((({id:e})=>e===this.currentSolutionId))-1;e<0&&(e=this.#Ge.length-1),this.currentSolutionId=this.#Ge[e].id}))}#gt(){ta((()=>{let e=this.#Ge.findIndex((({id:e})=>e===this.currentSolutionId))+1;e>=this.#Ge.length&&(e=0),this.currentSolutionId=this.#Ge[e].id}))}#Bt(){this.currentSolutionId&&ta((()=>{if(!this.currentProductId)return void(this.currentProductId=this.#Me[this.#Me.length-1].DiamondGUID);let e=this.#Me.findIndex((({DiamondGUID:e})=>e===this.currentProductId))-1;this.currentProductId=e<0?"":this.#Me[e].DiamondGUID}))}#Ht(){this.currentSolutionId&&ta((()=>{if(!this.currentProductId){let e=this.#Me[0].DiamondGUID;return void(this.currentProductId=this.#Me[e?0:1].DiamondGUID)}let e=this.#Me.findIndex((({DiamondGUID:e})=>e===this.currentProductId))+1;e>=this.#Me.length?this.currentProductId="":this.currentProductId=this.#Me[e].DiamondGUID}))}async#He(e){null===this.currentSolutionId&&!e||(this.showProductsById(e),await this.#Ie(this.viewMode))}#vt(e,t,l){let n=2*t.length-2,V=new Float32Array(4*n),i=new Float32Array(n),a=0;function r(e,t){V[4*a+0]=t[0],V[4*a+1]=t[1],V[4*a+2]=t[2],V[4*a+3]=1,i[a]=.5*e/l+.5,a+=1}r(t[0].val,t[0].color);for(let e=1;e<t.length-1;e++)r(t[e].val,t[e+0].color),r(t[e].val,t[e+1].color);r(t[t.length-1].val,t[t.length-1].color);let s=this.carbonApi.CreteBuffer(V),o=this.carbonApi.CreteBuffer(i);try{this.carbonApi.SetDistanceColorPaletteColors(this.context,e,s,o)}finally{s.free(),o.free()}this.carbonApi.SetDistanceColorMapParams(this.context,e,-l/1e3,l/1e3,0)}#It({inclusions:e,enabled:t}){let{rough:l}=this.sceneObjects;e.forEach((e=>{this.showDistanceBetweenObjects(e,t?l:{id:0},!1),this.carbonApi.SetObjectMaterialFactor(this.context,e,{value:19},t?1:0),this.carbonApi.SetObjectCullMode(this.context,e,{value:t?0:1})})),t&&this.setInteractiveCutThreshold(this.interactiveCutThreshold)}#Dt(){this.#It({inclusions:this.#Ot(),enabled:!0})}#Ot(){return this.sceneObjects.inclusions.filter((e=>{let t=this.getObjectName(e);return"inclusionsCutOuter"!==t&&"inclusionsCutInner"!==t}))}#_t(){let{rough:e}=this.sceneObjects;this.carbonApi.SetObjectCullMode(this.context,e,{value:2}),this.setObjectRenderMode(e,5),this.setObjectVisible(e,!0)}#Tt(){null!==this.currentSolutionId&&(this.#Ct(this.getSolutionIndexById(this.currentSolutionId)),this.#_t(),this.#Dt(),this.#Lt(FW.Overview))}#Gt(){if(null===this.currentSolutionId)return;this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,products:t}=this.sceneObjects;this.setObjectVisible(e,!1);let l=this.currentScene,n=this.carbonApi.MakeGroup(this.context,"current"),V=this.cloneObject(e);this.makeObjectNested(V,n),this.setObjectName(V,"Ignored_Caverns_Back"),this.setObjectTransparency(V,0),this.carbonApi.SetObjectCullMode(this.context,V,{value:2}),this.carbonApi.SetObjectRenderMode(this.context,V,{value:5}
1),this.setColorForObject(V,[1,1,1],1),this.setObjectShadingMode(V,1);for(let e=0,t=this.getNestedObjectsCount(l);e<t;e++)this.makeObjectNested(this.getNestedObject(l,0),n);let i=this.cloneObject(e);this.makeObjectNested(i,n),this.setObjectName(i,"Ignored_Caverns_Front"),this.setObjectShadingMode(i,4),this.carbonApi.SetObjectCullMode(this.context,i,{value:1}),this.setDistanceColorClipMode(i,1),this.setObjectTransparency(i,this.cavernTransparency),t.forEach((e=>{this.isObjectVisible(e)&&(this.showDistanceBetweenObjects(i,e),this.showDistanceBetweenObjects(V,e),this.makeObjectNested(e,i))})),this.makeObjectNested(n,{id:0}),this.carbonApi.DeleteObject(this.context,l);let a=[{val:-100,color:[0,0,1]},{val:-50,color:[0,0,1]},{val:-50,color:[0,.5882,1]},{val:-25,color:[0,.75,0]},{val:-15,color:[.75,.9,0]},{val:-5,color:[1,1,0]},{val:0,color:[.61,0,.61]},{val:5,color:[1,.4902,0]},{val:25,color:[.9,0,0]}];this.#vt(i,a,100),this.#vt(V,a,100),this.#Kt(i),this.#Dt(),this.#Lt(FW.Overview)}#Mt(){null===this.currentSolutionId||!this.#Pt()||(this.#_t(),this.#Lt(FW.OverviewCutInclusions))}async#kt(){await this.#xt(),this.#_t(),this.#B.forEach((e=>this.setObjectVisible(e,!0))),this.#Lt(FW.OverviewInclusionsInside),ta((()=>{this.showInclusionsOutline=!0}))}#Yt(){if(null===this.currentSolutionId)return;this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,inclusions:t,products:l}=this.sceneObjects;this.setInclusionDistanceTargetsFor(t,l);let n=this.extractInclusionsByDistance(0);this.showDistanceBetweenObjects(n,{id:0},!1),this.makeObjectNested(n),this.setObjectVisible(e,!1),t.forEach((e=>this.setObjectVisible(e,!1))),this.#Lt(FW.InclusionsInsideOld)}async#xt(){if(null===this.currentSolutionId)return;this.#B=[],ta((()=>{this.isRenderBlocked=!0})),this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,products:t,inclusions:l}=this.sceneObjects;this.setObjectVisible(e,!1),l.forEach((e=>this.setObjectVisible(e,!1)));let n=this.#Xe,V=[];if(this.currentSolutionId&&OZ(n[this.currentSolutionId])){let e=n[this.currentSolutionId];if(""===this.currentProductId)for(let[t,l]of Object.entries(e))V.push({productId:t,url:l});else e[this.currentProductId]&&V.push({productId:this.currentProductId,url:e[this.currentProductId]})}if(V=V.filter((({url:e})=>!$G.requestsUrls.includes(e))),0===V.length)return void ta((()=>{this.isRenderBlocked=!1}));let i="inclusions";
1$G.requestsByGroup(i).forEach((e=>e.abort()));try{let e=[],l=[],n=[];V.forEach((({url:t,productId:n})=>{e.push($G.get(t,{responseType:"arrayBuffer",group:i})),l.push(n)})),e.length>0&&(await Promise.all(e)).forEach((({data:e},t)=>{let V=new Uint8Array(e),i=l[t];n.push({buffer:V,productId:i})}));let a=!0;n.forEach((({buffer:e,productId:l})=>{let n;for(let e=0;e<t.length;e++)if(this.getDiamondGuid(t[e])===l){n=t[e];break}if(!n)return;let V=this.carbonApi.MakeGroup(this.context,"temp"),i=this.carbonApi.CreteBuffer(e);if(this.renderer.loadSceneToObjectFromBuffer(i,V),i.free(),this.getNestedObjectsCount(V)>0){let e=this.getNestedObject(V,0),t=this.carbonApi.GetTransformFromMetadata(this.context,e,"Postion_Diam2Scan"),l=this.carbonApi.CompactNestedObjects(this.context,e);this.carbonApi.SetObjectName(this.context,l,"inclusions"),this.carbonApi.SetObjectMaterialFactor(this.context,l,{value:21},2);for(let e=0;e<t.length;e++)if(0!==t[e]){a=!1;break}a||(this.carbonApi.SetLocalTransform(this.context,l,t),this.#B.push(l),this.makeObjectNested(l,n),this.setObjectTransparency(l,0),LW[FW.InclusionsInside].inclusionsHighlight&&this.setObjectHighlight(l,LW[FW.InclusionsInside].inclusionsHighlight))}this.carbonApi.DeleteObject(this.context,V)})),a?(this.#B=[],this.#Yt()):this.#Lt(FW.InclusionsInside)}catch(e){KZ.error(e),this.#at("state.error",e)}ta((()=>{this.isRenderBlocked=!1}))}#qe(){if(this.#g.forEach((e=>{e.material.dispose(),e.geometry.dispose(),this.#J.remove(e)})),this.#g=[],!this.#j)return;let e=this.carbonApi.GetObjectProperty(this.context,this.#j,"ClosestInnerVertices"),t=this.carbonApi.GetObjectProperty(this.context,this.#j,"ClosestOuterVertices"),l=this.carbonApi.GetObjectProperty(this.context,this.#j,"DeepestInterVertices");e=e.slice(1),t=t.slice(1),l=l.slice(1),e=e.slice(0,-1),t=t.slice(0,-1),l=l.slice(0,-1);let n=e.split(",").map((e=>parseFloat(e))),V=t.split(",").map((e=>parseFloat(e))),i=l.split(",").map((e=>parseFloat(e)));n.length>3&&(V=V.concat(n)),i.length>3&&(V=V.concat(i));let a=[],r=this.carbonApi.GetDistanceColorPaletteValues(this.context,this.#j).getBytes(),s=new Float32Array(r.buffer,r.byteOffset,r.length/Float32Array.BYTES_PER_ELEMENT),o=this.carbonApi.GetDistanceColorPaletteColors(this.context,this.#j).getBytes(),h=new Float32Array(o.buffer,o.byteOffset,o.length/Float32Array.BYTES_PER_ELEMENT);for(let e=0;e<V.length/4;e++){if(V[4*e+3]>this.#R.markDistanceThreshold/1e3)continue;a.push(new Xo(V[4*e],V[4*e+1],V[4*e+2],V[4*e+3]));let t=new nd(h[0],h[1],h[2]).getHex(),l=-V[4*e+3];for(let e=0;e<s.length-1;e++)if(l>
1=s[e]&&l<s[e+1]){t=new nd(h[4*e],h[4*e+1],h[4*e+2]).getHex();break}if(l>s[s.length-1]){let e=s.length-1;t=new nd(h[4*e],h[4*e+1],h[4*e+2]).getHex()}let n=this.#R.markCircleRadius-this.#R.markCircleWidth/8,i=this.#R.markCircleRadius+this.#R.markCircleWidth/8;n/=15,i/=15;let r=new nd(this.markCircleBorderColor),o=new up(n-.05,i+.05,32),d=new id({color:r}),R=new yd(o,d);R.position.set(V[4*e],V[4*e+1],V[4*e+2]),this.#J.add(R),this.#g.push(R);let U=new up(n,i,32),c=new id({color:t}),p=new yd(U,c);p.position.set(V[4*e],V[4*e+1],V[4*e+2]),this.#J.add(p),this.#g.push(p)}}#ct(){this.#g.forEach((e=>{e.quaternion.copy(this.#F.camera.quaternion);let t=1;t=this.#F.camera.zoom>3?1:this.#F.camera.zoom<1?.5:(this.#F.camera.zoom-1)/4+.5,t*=this.#F.camera.top/11.3;let l=1/this.#F.camera.zoom*t;e.scale.set(l,l,l),this.#R.showHiddenMarks?e.visible=!0:e.visible=this.renderer.checkPointDiamondVisibility([e.position.x,e.position.y,e.position.z],this.#W.width,this.#W.height)}))}#Pt(){if(null===this.currentSolutionId)return!1;this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,inclusions:t,visibleProducts:l}=this.sceneObjects;if(this.setObjectVisible(e,!1),t.forEach((e=>this.setObjectVisible(e,!1))),this.setInclusionDistanceTargetsFor(t,l),this.#j=null,this.outerCutDistanceMax-this.outerCutDistanceMin>0&&(this.#j=this.extractInclusionsWithinRange(this.outerCutDistanceMin,this.outerCutDistanceMax,!0,!1,t)),null===this.#j||0===this.#j.id)return this.#j=null,this.#qe(),!1;if(this.makeObjectNested(this.#j),0===this.getObjectTriangleCount(this.#j))return 0!==this.#j.id&&this.carbonApi.DeleteObject(this.context,this.#j),this.#j=null,this.#qe(),!1;this.setObjectName(this.#j,"inclusionsCutOuter"),this.clearVertexPaletteIndices(this.#j),this.setObjectColor(this.#j,1,sm(this.shortDistanceInclusion)),this.setPaletteDistance(this.#j,.3),this.computeClosestPoints(this.#j);let n=this.extractInclusionsWithinRange(-this.innerCutDistance,this.outerCutDistanceMin,!1,!1,t);0!==n.id&&this.makeObjectNested(n);let V=0!==n.id&&this.getObjectTriangleCount(n)>0;V?(this.setObjectName(n,"inclusionsCutInner"),this.clearVertexPaletteIndices(n),this.setObjectColor(n,1,sm(this.longDistanceInclusion)),this.setPaletteDistance(n,.3),this.setObjectHighlight(n,.2),this.setObjectFactor(n,15,1)):0!==n.id&&this.carbonApi.DeleteObject(this.context,n),l.forEach((e=>{this.showDistanceBetweenObjects(e,V?n:{id:0},!1),this.setPaletteDistance(e,.3)}));let{minDist:i,maxDist:a,distances:r,distancesColors:s}=this.generateObjectDistanceColors(this.#j),o=this.carbonApi.CreteBuffer(new Float32Array(r)),h=this.carbonApi.CreteBuffer(new Float32Array(s));try{V&&(this.carbonApi.SetDistanceColorPaletteColors(this.context,n,h,o),this.carbonApi.SetDistanceColorMapParams(this.context,n,i,a,1e-6)),this.carbonApi.SetDistanceColorPaletteColors(this.context,this.#j,h,o),this.carbonApi.SetDistanceColorMapParams(this.context,this.#j,i,a,1e-6),l.forEach((e=>{this.carbonApi.SetDistanceColorPaletteColors(this.context,e,h,o),this.carbonApi.SetDistanceColorMapParams(this.context,e,i,a,1e-6)}))}finally{o.free(),h.free()}return this.#Kt(this.#j),this.#qe(),!0}#Qt(){this.#Pt()&&this.#Lt(FW.CutInclusions)}async#At(){this.viewMode===FW.CutInclusions||this.viewMode===FW.OverviewCutInclusions?await this.#Ie(this.viewMode):this.#Qt(),this.#_=!0}#Xt(){if(null===this.currentSolutionId)return;this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,inclusions:t,products:l}=this.sceneObjects;this.setInclusionDistanceTargetsFor(t,l);let n=this.extractInclusionsByDistance(.5);this.showDistanceBetweenObjects(n,{id:0},!1),this.makeObjectNested(n),l.forEach((t=>{this.showDistanceBetweenObjects(t,n,!1),this.setPaletteDistance(t,.3),this.carbonApi.MakeObjectNested(this.context,t,e)})),t.forEach((e=>this.setObjectVisible(e,!1))),this.#Kt(l[0]),this.#Lt(FW.DistanceToInclusion)}#wt(){if(null===this.currentSolutionId)return;this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,inclusions:t,products:l}=this.sceneObjects;l.forEach((t=>{this.showDistanceBetweenObjects(t,e,!1),this.setPaletteDistance(t,.3),this.carbonApi.SetInnerPalette(t),this.carbonApi.MakeObjectNested(this.context,t,e)})),t.forEach((e=>this.setObjectVisible(e,!1))),this.#Kt(l[0]),this.#Lt(FW.DistanceToRough)}#ft(){if(null===this.currentSolutionId)return;this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,inclusions:t,products:l}=this.sceneObjects;l.forEach((t=>{this.isObjectVisible(t)&&this.showDistanceBetweenObjects(e,t),this.carbonApi.MakeObjectNested(this.context,t,e)})),t.forEach((e=>this.setObjectVisible(e,!1))),this.setPaletteDistance(e,.3),this.#Kt(e),this.#Lt(FW.DistanceToDiamond)}#zt(){this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{rough:e,products:t,inclusions:l,sawings:n}=this.sceneObjects;null===this.currentSolutionId?(this.hideAllObjects(),this.setObjectVisible(e,!0)):(l.forEach((e=>
1this.setObjectVisible(e,!1))),n.forEach((e=>this.setObjectVisible(e,!1))),t.forEach((e=>this.setObjectVisible(e,!1)))),this.#Lt(FW.Rough)}#yt(){this.#Ct(this.getSolutionIndexById(this.currentSolutionId));let{products:e,inclusions:t,sawings:l}=this.sceneObjects;t.forEach((e=>this.setObjectVisible(e,!0))),l.forEach((e=>this.setObjectVisible(e,!1))),e.forEach((e=>this.setObjectVisible(e,!1))),this.#Lt(FW.RoughInclusions)}#Lt(e){let t=LW[e];t&&(ta((()=>{this.isRenderBlocked=!0})),e===FW.InclusionsInsideOld&&ta((()=>{this.productTransparency=0})),Object.keys(DW).forEach($i((e=>{if(!(typeof this[e]>"u")){if(typeof this.#te[e]<"u")return void(this[e]=this.#te[e]);if(typeof t[e]>"u")return void(this[e]=DW[e]);this[e]=t[e]}}))),ta((()=>{this.isRenderBlocked=!1})))}#qt(e){if(-1===e)return null;let t=this.getSolutionById(e)?.id;return t||(t=this.#D.solutions.find((({number:t,guid:l})=>t===e||l===`${e}`))?.number),t??null}#Ct(e){this.showSolutionByIndex(e,this.currentProductId)}#_e(){this.isGyro?("function"==typeof window.DeviceOrientationEvent?.requestPermission?window.DeviceOrientationEvent.requestPermission().then((e=>{"granted"===e&&(window.removeEventListener("deviceorientation",this.handleEvent),window.addEventListener("deviceorientation",this.handleEvent))})).catch(KZ.error):window.addEventListener("deviceorientation",this.handleEvent),this.preciseFastMode="fast",this.setCameraView("crown")):(this.preciseFastMode="precise",window.removeEventListener("deviceorientation",this.handleEvent))}#Oe(){this.isStereo&&(this.#E||(this.#b=new pp(this.#W.width,this.#W.height,us),this.#b.minFilter=this.#b.magFilter=ss,this.#S=new pp(this.#W.width,this.#W.height,us),this.#S.minFilter=this.#S.magFilter=ss,this.#E=new yd(new aR(2,2),new Id({uniforms:{leftImage:{value:this.#b},rightImage:{value:this.#S},display_mode:{value:0},combine_mode:{value:0},offset:{value:0},viewcount:{value:0},zwinkel:{value:0},nwinkel:{value:0},isleft:{value:0},isbgr:{value:0},mstart:{value:0},test:{value:0},stest:{value:0},testgap:{value:0},track:{value:0},hqview:{value:0},hviews1:{value:0},hviews2:{value:0},blur:{value:0},bborder:{value:0},bspace:{value:0},bls:{value:0},ble:{value:0},brs:{value:0},bre:{value:0},s_width:{value:0},s_height:{value:0},v_pos_x:{value:0},v_pos_y:{value:0},tvx:{value:0},zkom:{value:0}},vertexShader:"varying vec2 v_texcoord;void main(){v_texcoord=uv;gl_Position=vec4(position,1.0);}",fragmentShader:"precision mediump int;precision mediump float;varying vec2 v_texcoord;uniform sampler2D leftImage;uniform sampler2D rightImage;uniform int display_mode;uniform int combine_mode;uniform int viewcount;uniform int zwinkel;uniform int nwinkel;uniform int isleft;uniform int test;uniform int stest;uniform int testgap;uniform int track;uniform int mstart;uniform int blur;uniform int hqview;uniform int hviews1;uniform int hviews2;uniform int bls;uniform int ble;uniform int brs;uniform int bre;uniform int bborder;uniform int bspace;uniform int s_width;uniform int s_height;uniform int v_pos_x;uniform int v_pos_y;uniform int tvx;uniform int zkom;uniform float offset;out vec4 fragColor;int random3dg(int blu){vec2 uv=gl_FragCoord.xy/vec2(float(s_width),float(s_height));return int((fract(sin(dot(uv,vec2(12.9898,78.233)))*43758.5453123))*float(blu));}int modg3d(int a,int b){return(a-((a/b)*b));}ivec3 modiv3g3d(ivec3 a,int b){return(a-((a/b)*b));}vec4 combineStereo(vec2 texcoord){vec4 lftColor=vec4(texture2D(leftImage,texcoord+vec2(offset,0.0)));vec4 rghColor=vec4(texture2D(rightImage,texcoord+vec2(-offset,0.0)));vec4 color;if(combine_mode==0){color=(lftColor+rghColor)*0.5;}else if(combine_mode==1){color=max(lftColor,rghColor);}return color;}void main(){if(display_mode==0){if(v_texcoord.x<0.5){fragColor=vec4(texture2D(leftImage,vec2(v_texcoord.x*2.0,v_texcoord.y)));}else{fragColor=vec4(texture2D(rightImage,vec2((v_texcoord.x-0.5)*2.0,v_texcoord.y)));}return;}else if(display_mode==1){if(v_texcoord.x<1.0/3.0){fragColor=vec4(texture2D(leftImage,vec2(v_texcoord.x*3.0,v_texcoord.y)));}else if(v_texcoord.x<2.0/3.0){fragColor=combineStereo(vec2((v_texcoord.x-1.0/3.0)*3.0,v_texcoord.y));}else{fragColor=vec4(texture2D(rightImage,vec2((v_texcoord.x-2.0/3.0)*3.0,v_texcoord.y)));}return;}else if(display_mode==2){fragColor=combineStereo(v_texcoord);return;}int x=int(gl_FragCoord.x)+v_pos_x;int y=int(gl_FragCoord.y)+v_pos_y;if(isleft==0)y=s_height-y;int yw=((y*zwinkel)/nwinkel);int sr=((x*3)+yw);ivec3 xwert=modiv3g3d(ivec3(sr+0,sr+1,sr+2),viewcount);int hqwert=modg3d((modg3d(y,nwinkel)*zwinkel),nwinkel);if(isleft==1){hqwert=(nwinkel-1)-hqwert;}if(hqwert<0)hqwert=hqwert*-1;int zwert=0;
1if(tvx!=0){zwert=(sr/tvx)-zkom;}int tr2d=0;if(track<0){tr2d=track;}ivec3 mtmp=((hviews1-xwert)*nwinkel)+hqwert+track+mstart+zwert;xwert=hviews1-modiv3g3d(mtmp,hqview);vec2 stex=v_texcoord;vec2 ctextl=vec2(stex.x,stex.y);vec4 colrechts=vec4(texture2D(rightImage,ctextl));vec4 collinks=vec4(texture2D(leftImage,ctextl));float cor=0.0,cog=0.0,cob=0.0;if((xwert.r>=bls)&&(xwert.r<=ble))cor=colrechts.r;if((xwert.g>=bls)&&(xwert.g<=ble))cog=colrechts.g;if((xwert.b>=bls)&&(xwert.b<=ble))cob=colrechts.b;if((xwert.r>=brs)&&(xwert.r<=bre))cor=collinks.r;if((xwert.g>=brs)&&(xwert.g<=bre))cog=collinks.g;if((xwert.b>=brs)&&(xwert.b<=bre))cob=collinks.b;vec4 color=vec4(cor,cog,cob,1.0);if(0==tvx){color=colrechts;}if(tr2d==-1){color=colrechts;}if(tr2d==-2){color=collinks;}if(test==1){color=vec4(0.0,0.0,0.0,1.0);if((xwert.r>(hviews2-testgap))&&(xwert.r<=hviews2))color.r=1.0;if((xwert.g>hviews2)&&(xwert.g<(hviews2+testgap)))color.g=1.0;}if(y>(s_height-200)&&stest==1){color=vec4(0.0,0.0,0.0,1.0);if(xwert.r<=hviews2)color=vec4(1.0,0.0,0.0,1.0);if(xwert.g>hviews2)color=vec4(0.0,1.0,0.0,1.0);}fragColor=color;}",depthWrite:!1,depthTest:!1,glslVersion:_s})),this.#T.add(this.#E)),this.#E.material.uniforms.display_mode.value=this.stereoMode,this.#E.material.uniforms.combine_mode.value=this.stereoCombineMode,this.stereoMode==JW.StereoMonitor&&(chrome.runtime?(this.g3dClient=new aM,this.g3dClient.onMessage=e=>{if(e.shaderParams){if("1.4.1"!==e.shaderVer)return void KZ.error("Wrong shader parameters version!");KZ.info(JSON.stringify(e)),this.stereoShaderParams=e,this.#E.material.uniforms.viewcount.value=this.stereoShaderParams.nativeViewCount,this.#E.material.uniforms.zwinkel.value=this.stereoShaderParams.angleRatioNumerator,this.#E.material.uniforms.nwinkel.value=this.stereoShaderParams.angleRatioDenominator,this.#E.material.uniforms.isleft.value=this.stereoShaderParams.leftLensOrientation,this.#E.material.uniforms.isbgr.value=this.stereoShaderParams.BGRPixelLayout,this.#E.material.uniforms.mstart.value=this.stereoShaderParams.mstart,this.#E.material.uniforms.test.value=this.stereoShaderParams.showTestFrame,this.#E.material.uniforms.stest.value=this.stereoShaderParams.showTestStripe,this.#E.material.uniforms.testgap.value=this.stereoShaderParams.testGapWidth,this.#E.material.uniforms.track.value=this.stereoShaderParams.track,this.#E.material.uniforms.hqview.value=this.stereoShaderParams.hqViewCount,this.#E.material.uniforms.hviews1.value=this.stereoShaderParams.hviews1,this.#E.material.uniforms.hviews2.value=this.stereoShaderParams.hviews2,this.#E.material.uniforms.blur.value=this.stereoShaderParams.blur,this.#E.material.uniforms.bborder.value=this.stereoShaderParams.blackBorder,this.#E.material.uniforms.bspace.value=this.stereoShaderParams.blackSpace,this.#E.material.uniforms.bls.value=this.stereoShaderParams.bls,this.#E.material.uniforms.ble.value=this.stereoShaderParams.ble,this.#E.material.uniforms.brs.value=this.stereoShaderParams.brs,this.#E.material.uniforms.bre.value=this.stereoShaderParams.bre,this.#E.material.uniforms.s_width.value=this.stereoShaderParams.screenWidth,this.#E.material.uniforms.s_height.value=this.stereoShaderParams.screenHeight,this.#E.material.uniforms.v_pos_x.value=this.stereoShaderParams.leftViewportPosition,this.#E.material.uniforms.v_pos_y.value=this.stereoShaderParams.bottomViewportPosition,this.#E.material.uniforms.tvx.value=this.stereoShaderParams.zCorrectionValue,this.#E.material.uniforms.zkom.value=this.stereoShaderParams.zCompensationValue,this.#_||(this.#_=!0,this.#L=!0)}else e.headPosition&&!e.headDetected?KZ.error("No head detected!"):e.error&&KZ.error(e.error)}):(KZ.error("No Octonus 3D global head tracking extesion!"),this.isStereo=!1))),(!this.isStereo||this.stereoMode!=JW.StereoMonitor)&&this.g3dClient?.disconnect(),this.resize()}#Pe(e){let{rough:t,products:l,inclusions:n}=this.sceneObjects,V=sm(this.outlinesColor);"rough"===e&&(this.setOutlineWidth(t,this.outlinesWidth),this.setOutlineColor(t,V)),"products"===e&&l.forEach((e=>{this.setOutlineWidth(e,this.outlinesWidth),this.setOutlineColor(e,V)})),"inclusions"===e&&(n.forEach((e=>{this.setOutlineWidth(e,this.outlinesWidth),this.setOutlineColor(e,V)})),this.#B.forEach((e=>{this.setOutlineWidth(e,this.outlinesWidth),this.setOutlineColor(e,V)}))),this.#_=!0}#Ke(e,t){let{rough:l,products:n,inclusions:V}=this.sceneObjects;if("rough"===e){let e="boolean"==typeof t?t:!this.hasOutline(l);this.enableOutline(l,e)}
1if("products"===e&&n.forEach((e=>{let l="boolean"==typeof t?t:!this.hasOutline(e);this.enableOutline(e,l)})),"inclusions"===e){let e=V[0]??this.#B[0],l="boolean"==typeof t?t:!!e&&!this.hasOutline(e);V.forEach((e=>this.enableOutline(e,l))),this.#B.forEach((e=>this.enableOutline(e,l)))}this.#_=!0}#$t(e){let t={};"left"===e&&(t.ShiftLeft=!0),"right"===e&&(t.ShiftRight=!0);let l=JSON.stringify(t);this.g3dClient?.sendMessage?.(l),KZ.info(l.toUpperCase())}#el(e){let t="left"===e?this.stereoRotationAngle-.5:this.stereoRotationAngle+.5;t<0&&(t=0),t>20&&(t=20),ta((()=>{this.stereoRotationAngle=t})),KZ.info(`Next angle: ${t}`.toUpperCase())}#mt(){if(this.#V.length>0){this.#_=!0;for(let e=this.#V.length-1;e>=0;e--){this.#V[e].curFrame--;let t=this.#V[e].duration,l=this.#V[e].iterations;if(l<1&&(l=1),this.#V[e].isLine){let n=this.#V[e].startColor[0].clone().add(this.#V[e].endColor[0].clone().sub(this.#V[e].startColor[0]).multiplyScalar(Math.abs(Math.sin((1-this.#V[e].curFrame/t)*l*Math.PI))));this.renderer.setReprojLineColor(this.#V[e].typeIdx,n.x,n.y,n.z,n.w)}else for(let n=0;n<4;n++){let V=this.#V[e].startColor[n].clone().add(this.#V[e].endColor[n].clone().sub(this.#V[e].startColor[n]).multiplyScalar(Math.abs(Math.sin((1-this.#V[e].curFrame/t)*l*Math.PI))));this.renderer.setReprojFillColor(this.#V[e].typeIdx,n,V.x,V.y,V.z,V.w)}if(0===this.#V[e].curFrame&&this.#V[e].iterations>0){if(this.#V[e].isLine){let t=this.#V[e].origColors;this.renderer.setReprojLineColor(this.#V[e].typeIdx,t[0],t[1],t[2],t[3])}else{let t=this.#V[0].origColors;this.renderer.setReprojFillColor(this.#V[e].typeIdx,0,t[0],t[1],t[2],t[3]),this.renderer.setReprojFillColor(this.#V[e].typeIdx,1,t[4],t[5],t[6],t[7]),this.renderer.setReprojFillColor(this.#V[e].typeIdx,2,t[8],t[9],t[10],t[11]),this.renderer.setReprojFillColor(this.#V[e].typeIdx,3,t[12],t[13],t[14],t[15])}this.#V.pop()}}}}#nt(){let e=this.blinkInclusionType;if(null===e)return;this.getNestedObjects(this.getObjectByIndex(0)).forEach((t=>{this.setObjectVisible(t,+this.getObjectProperty(t,"RType")===e)}));let t=GW[e][SW.High],l=GW[e][SW.Moderate],n=GW[e][SW.Low],V=GW[e][SW.Invincible],i=GW[e].line,a=[],r=[];switch(e){case bW.Crystal:let s=[],o=[];[t,l,n,V].forEach(((e,t)=>{let l=(0,bn.default)(e).unitArray(),n=(0,bn.default)(e).darken(.4-t/10).saturate(.5).unitArray(),V=(0,bn.default)(i).unitArray(),h=(0,bn.default)(e).darken(.6-t/10).saturate(.5).unitArray();s.push(new Xo(l[0],l[1],l[2],this.reprojFillAlpha)),o.push(new Xo(n[0],n[1],n[2],this.reprojFillAlpha)),a.push(new Xo(V[0],V[1],V[2],this.reprojFillAlpha)),r.push(new Xo(h[0],h[1],h[2],this.reprojFillAlpha))})),this.#tl(e,s,o,150,3,!1),this.#tl(e,a,r,150,3,!0);break;case bW.Feather:let h=[],d=[];[t,l,n,V].forEach(((e,t)=>{let l=(0,bn.default)(e),n=l.unitArray(),V=l.darken(.5-t/10).saturate(1).unitArray(),s=(0,bn.default)(i).unitArray(),o=(0,bn.default)(e).darken(.6-t/10).saturate(.5).unitArray();h.push(new Xo(n[0],n[1],n[2],this.reprojFillAlpha)),d.push(new Xo(V[0],V[1],V[2],this.reprojFillAlpha)),a.push(new Xo(s[0],s[1],s[2],this.reprojFillAlpha)),r.push(new Xo(o[0],o[1],o[2],this.reprojFillAlpha))})),this.#tl(e,h,d,150,3,!1),this.#tl(e,a,r,150,3,!0)}this.renderer.setReprojBoldLine(e,!0)}#Vt(){this.getNestedObjects(this.getObjectByIndex(0)).forEach((e=>this.setObjectVisible(e,!0))),this.#ll(!0),this.#ll(!1),ta((()=>{this.blinkInclusionType=null})),this.#_=!0}#tl(e,t,l,n,V,i){if(i){let i=this.renderer.getReprojLineColor().getBytes(),a=new Float32Array(i.buffer,i.byteOffset,i.length/Float32Array.BYTES_PER_ELEMENT);this.#V.push(new iM({typeIdx:e,startColor:t,endColor:l,duration:n,iterations:V,isLine:!0}));for(let t=0;t<4;t++)this.#V[this.#V.length-1].origColors.push(a[4*e+t])}else{let i=this.renderer.getReprojFillColor().getBytes(),a=new Float32Array(i.buffer,i.byteOffset,i.length/Float32Array.BYTES_PER_ELEMENT);this.#V.push(new iM({typeIdx:e,startColor:t,endColor:l,duration:n,iterations:V}));for(let t=0;t<16;t++)this.#V[this.#V.length-1].origColors.push(a[16*e+t])}this.#_=!0}#ll(e){this.#V.forEach(((t,l)=>{if(t.isLine===e){let n=t.origColors;return e?this.renderer.setReprojLineColor(t.typeIdx,n[0],n[1],n[2],n[3]):(this.renderer.setReprojFillColor(t.typeIdx,0,n[0],n[1],n[2],n[3]),this.renderer.setReprojFillColor(t.typeIdx,1,n[4],n[5],n[6],n[7]),this.renderer.setReprojFillColor(t.typeIdx,2,n[8],n[9],n[10],n[11]),this.renderer.setReprojFillColor(t.typeIdx,3,n[12],n[13],n[14],n[15])),void this.#V.splice(l,1)}}))}#Ae(){this.viewMode==FW.OverviewCutInclusions||this.viewMode==FW.CutInclusions||this.#It({inclusions:this.sceneObjects.inclusions,enabled:this.enableInteractiveCut})}#ue=qZ((()=>{let e=document.createElement("div");
1if(e.className=xW,e.style.position="absolute",e.style.right="5px",e.style.top="5px",e.style.zIndex="200",this.#te?.toolbarAppendTo?document.querySelector(this.#te.toolbarAppendTo)?.appendChild(e):this.#Z.appendChild(e),this.#v.showPanel(0),this.#Z.appendChild(this.#v.dom),this.#H=new rZ.Pane({title:`Settings (p. ${this.packageVersion}, cv. ${this.version})`,container:e}),this.#H.registerPlugin(pW),this.#H.registerPlugin(UW),this.#H?.element.parentElement){if(this.#te?.toolbarAppendTo){let{y:e}=this.#H.element.parentElement.getBoundingClientRect();this.#H.element.parentElement.style.maxHeight=window.innerHeight-e-5+"px"}else this.#H.element.parentElement.style.maxHeight=this.#Z.offsetHeight-5+"px";this.#H.element.parentElement.style.overflow="auto"}this.#H.addBlade({view:"list",label:"Solution",options:this.#Ge.map((e=>({text:e.id?`${e.id}`:e.isScan?"Rough":"Diamond",value:null===e.id?null:e.id}))),value:this.currentSolutionId}),this.#H.addBlade({view:"buttongrid",size:[2,1],cells:(e,t)=>({title:[["Prev","Next"]][t][e]}),label:"Switch solution"}).on("click",(e=>{let t=e.cell.title;"Prev"===t?this.#jt():"Next"===t&&this.#gt()})),this.#H.addInput(this.#R,"currentProductId",{label:"Product",options:this.#Ye}),this.#H.addBlade({view:"buttongrid",size:[2,1],cells:(e,t)=>({title:[["Prev","Next"]][t][e]}),label:"Switch products"}).on("click",(e=>{let t=e.cell.title;"Prev"===t?this.#Bt():"Next"===t&&this.#Ht()})),this.#H.addInput(this.#R,"viewMode",{label:"View mode",options:this.#xe}),this.#H.addInput(this.#R,"isRenderBlocked",{label:"Block render"}),this.#H.addInput(this.#R,"targetRenderTime",{label:"Target Render Time"}),this.#H.addInput(this.#R,"autoPixelRatio",{label:"Auto Pixel Ratio"}),this.#H.addInput(this.#R,"cameraRotationSpeed",{label:"Camera Rotation Speed",min:.5,max:20,step:.5}),this.#H.addInput(this.#R,"camMultiplyCoef",{label:"Camera Multiply Coef",min:.1,max:2,step:.01}),this.#H.addButton({title:"Apply Cam Multiply Coef"}).on("click",(()=>this.resetCamera())),this.#H.addInput(this.#R,"cameraRotationSpeed",{label:"Camera Rotation Speed",min:.5,max:20,step:.5});let t=this.#H.addFolder({title:"Rough",expanded:!1});t.addInput(this.#R,"roughTransparency",{label:"Rough Transparency",min:0,max:1}),t.addInput(this.#R,"roughAmbientFactor",{label:"Rough Ambient Factor",min:0,max:1}),t.addInput(this.#R,"roughShadingMode",{label:"Rough Shading Mode",options:Object.keys(XW).filter((e=>isNaN(Number(e)))).map((e=>({text:e,value:XW[e]})))}),t.addInput(this.#R,"roughColor",{label:"Rough Color"});let l=this.#H.addFolder({title:"Caverns",expanded:!1});l.addInput(this.#R,"cavernTransparency",{label:"Cavern Transparency",min:0,max:1}),l.addInput(this.#R,"cavernUseDithering",{label:"Use dithering"}),l.addInput(this.#R,"cavernViewDependentFactor",{label:"View dependent factor",min:0,max:30}),this.#H.addFolder({title:"Inclusions",expanded:!1}).addInput(this.#R,"inclusionsHighlight",{label:"Inclusions Highlight",min:0,max:1});let n=this.#H.addFolder({title:"Products",expanded:!1});n.addInput(this.#R,"productTransparency",{label:"Products Transparency",min:0,max:1}),n.addInput(this.#R,"productAmbientFactor",{label:"Products Ambient Factor",min:0,max:1}),n.addInput(this.#R,"wireframeFrontColor",{label:"Wireframe Front Color"}),n.addInput(this.#R,"wireframeBackColor",{label:"Wireframe Back Color"});let V=this.#H.addFolder({title:"Sawing planes",expanded:!1});V.addInput(this.#R,"showSawings",{label:"Show Sawings"}),V.addInput(this.#R,"sawingsAmbientFactor",{label:"Sawings Ambient Factor",min:0,max:1}),V.addInput(this.#R,"sawingsTransparency",{label:"Sawings Transparency",min:0,max:1});let i=this.#H.addFolder({title:"Outlines",expanded:!1});i.addInput(this.#R,"showRoughOutline",{label:"Show Rough Outline"}),i.addInput(this.#R,"showProductsOutline",{label:"Show Products Outline"}),i.addInput(this.#R,"showInclusionsOutline",{label:"Show Inclusions Outline"}),i.addInput(this.#R,"outlinesWidth",{label:"Width",min:1,max:10,step:1}),i.addInput(this.#R,"outlinesColor",{label:"Color"}),i.addBlade({view:"buttongrid",size:[3,1],cells:(e,t)=>({title:[["rough","products","inclusions"]][t][e]}),label:"Apply"}).on("click",(e=>this.#Pe(e.cell.title)));
1let a=this.#H.addFolder({title:"Interactive Cut",expanded:!0});a.addInput(this.#R,"enableInteractiveCut",{label:"Enable Interactive Cut"}),a.addInput(this.#R,"interactiveCutThreshold",{label:"Cut Threshold",min:1,max:5e3,step:1});let r=this.#H.addFolder({title:"Cut Inclusions",expanded:!1});r.addInput(this.#R,"showOuterInclusions",{label:"Show Outer Inclusions"}),r.addInput(this.#R,"showInnerInclusions",{label:"Show Inner Inclusions"}),r.addInput(this.#R,"outerRange",{label:"Outer Range",min:-50,max:300,step:5}),r.addButton({title:"Apply"}).on("click",(()=>{ta((()=>{this.outerCutDistanceMax=.001*this.outerRange.max,this.outerCutDistanceMin=.001*this.outerRange.min})),this.#At()})),r.addInput(this.#R,"showHiddenMarks",{label:"Show Hidden Marks"}),r.addInput(this.#R,"markCircleRadius",{label:"Marks Circle Radius",min:5,max:40,step:.2}),r.addInput(this.#R,"markCircleWidth",{label:"Marks Circle Width",min:1,max:5,step:.1}),r.addInput(this.#R,"markCircleBorderColor",{label:"Marks Circle Border Color"}),r.addInput(this.#R,"markDistanceThreshold",{label:"Marks Distance Threshold",min:-25,max:300,step:1}),r.addInput({shortDistanceInclusion:this.shortDistanceInclusion},"shortDistanceInclusion",{label:"Short Distance"}).on("change",(({value:e})=>{this.shortDistanceInclusion=e,this.#At()})),r.addInput({longDistanceInclusion:this.longDistanceInclusion},"longDistanceInclusion",{label:"Long Distance"}).on("change",(({value:e})=>{this.longDistanceInclusion=e,this.#At()}));let s=this.#H.addFolder({title:"Interactive settings",expanded:!1});s.addInput(this.#R,"pixelRatio",{label:"Resolution Ratio",min:this.minPixelRatio,max:this.maxPixelRatio,step:.25}),s.addInput(this.#R,"samplesPerFrame",{label:"Samples per frame",min:0,max:15,step:3}),s.addInput(this.#R,"apertureDecreaseRatio",{label:"Aperture decrease ratio",min:0,max:1}),s.addInput(this.#R,"interactiveBlendRate",{label:"Blend rate",min:1,max:100,step:1}),s.addInput(this.#R,"fallbackToLowAccuracy",{label:"Fallback to 4 bins"});let o=this.#H.addFolder({title:"Photoreal settings",expanded:!1});o.addInput(this.#R,"blockExtReflections",{label:"Block External Reflections"}),o.addInput(this.#R,"fancyGreyStrength",{label:"FancyGray strength",min:.5,max:3}),o.addInput(this.#R,"fancyLightStrength",{label:"FancyLight strength",min:1,max:3}),o.addInput(this.#R,"useAverageBackground",{label:"Use Average Background"}),o.addInput(this.#R,"modelScale",{label:"Model scale",min:.01,max:3,step:.01}),o.addInput(this.#R,"useBakeGeometryToMap",{label:"Use Bake Geometry To Map"}),o.addInput(this.#R,"lowAccuracyMode",{label:"Low Accurancy Mode"}),o.addInput(this.#R,"isGrayscaleMode",{label:"Grayscale Mode"}),o.addInput(this.#R,"fixedViewArea",{label:"Fixed View Area"}),o.addInput(this.#R,"isGyro",{label:"Gyro"}),o.addInput(this.#R,"showReprojections",{label:"Show Reprojections"}),o.addInput(this.#R,"minArea",{label:"Min Area",min:0,max:200}),o.addInput(this.#R,"viewAreaMM",{label:"View Area (MM)",min:0,max:200}),o.addInput(this.#R,"surfaceRoughness",{label:"Surface Roughness",min:0,max:.1}),o.addInput(this.#R,"maxSpp",{label:"Max SPP",min:1,max:512,step:1}),o.addInput(this.#R,"nbBounces1",{label:"NB Bounces 1",min:0,max:28,step:1}),o.addInput(this.#R,"nbBounces2",{label:"NB Bounces 2",min:0,max:28,step:1}),o.addInput(this.#R,"nbBounces3",{label:"NB Bounces 3",min:0,max:28,step:1}),o.addInput(this.#R,"minPathWeight1",{label:"MinPathWeight 1",min:.001,max:.3,step:.005}),o.addInput(this.#R,"minPathWeight2",{label:"MinPathWeight 2",min:.001,max:.3,step:.005}),o.addInput(this.#R,"minPathWeight3",{label:"MinPathWeight 3",min:.001,max:.3,step:.005}),o.addInput(this.#R,"focalLength",{label:"Focal Length"}),o.addInput(this.#R,"lensFNumber",{label:"Lens Focal Ratio",min:-1,max:28,step:1}),o.addInput({lensFNumberPreset:2},"lensFNumberPreset",{label:"Lens Focal Ratio Presets",options:[-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16].map((e=>({text:`${e}`,value:e})))}),o.addInput(this.#R,"preciseFastMode",{label:"Precise-Fast",options:["precise","fast"].map((e=>({text:e,value:e})))}),o.addInput(this.#R,"lightingSPPCoef",{label:"Lighting SPP Coef",min:1,max:30,step:.25}),o.addInput(this.#R,"panoramaFactor",{label:"Panorama Factor",min:1e-4,max:100}),o.addInput(this.#R,"exposureFusion",{label:"Exposure Fusion",options:Object.keys(MW).filter((e=>isNaN(Number(e)))).map((e=>({text:e,value:MW[e]})))}),o.addInput(this.#R,"toneMapping",{label:"Tone Mapping",options:Object.keys(Vm).map((e=>({text:e,value:Vm[e]})))}),o.addInput(this.#R,"apertureRadius",{label:"Aperture Radius",min:1e-4,max:10}),o.addInput(this.#R,"reflections",{label:"Reflections",min:0,max:6,step:1}),o.addInput(this.#R,"inclusionsInDof",{label:"Inclusions In DOF"}),o.addInput(this.#R,"dofRange",{label:"DOF Range",min:1e-4,max:30}),o.addInput(this.#R,"panoramaRadius",{label:"Panorama Radius",min:0,max:5e3}),o.addInput(this.#R,"panoramaRotationX",{label:"Rotation X",min:0,max:6.3,step:.01}),o.addInput(this.#R,"panoramaRotationY",{label:"Rotation Y",min:0,max:6.3,step:.01}),o.addInput(this.#R,"panoramaRotationZ",{label:"Rotation Z",min:0,max:6.3,step:.01}),o.addInput(this.#R,"lightSpectrum",{label:"Light Spectrum",options:AW.map((e=>({text:e,value:e})))}),o.addInput(this.#R,"absorptionSpectrum",{label:"Absorption Spectrum",options:[{text:"",value:""}].concat(Object.keys(PW).map((e=>({text:e,value:PW[e]}
1))))}),o.addInput(this.#R,"panorama",{label:"Panorama"});let h=this.#H.addFolder({title:"Reprojection settings",expanded:!1});h.addInput(this.#R,"inclusionSelection",{label:"Enable Inclusion Select"}),h.addInput(this.#R,"reprojTypeIndex",{label:"Reprojection Inclusion Type",options:Object.keys(bW).map((e=>({text:e,value:bW[e]})))}),h.addInput(this.#R,"reprojContrastFillHigh",{label:"Fill High"}),h.addInput(this.#R,"reprojContrastFillModerate",{label:"Fill Moderate"}),h.addInput(this.#R,"reprojContrastFillLow",{label:"Fill Low"}),h.addInput(this.#R,"reprojContrastFillInvincible",{label:"Fill Invincible"}),h.addInput(this.#R,"reprojFillAlpha",{label:"Fill Transparency",min:0,max:1}),h.addInput(this.#R,"reprojLineColor",{label:"Line Color"}),h.addInput(this.#R,"reprojLineAlpha",{label:"Line Transparency",min:0,max:1}),h.addInput(this.#R,"reprojLineBold",{label:"Bold line"}).on("change",(e=>{this.renderer.setReprojBoldLine(this.#R.reprojTypeIndex,e.value)})),h.addInput(this.#R,"reprojFocusFactor",{label:"Focus factor",min:0,max:1}),h.addInput(this.#R,"reprojPowerFactor",{label:"Power factor",min:0,max:1}),h.addInput(this.#R,"reprojComboFactor",{label:"Combo factor",min:0,max:1}),h.addBlade({view:"buttongrid",size:[2,4],cells:(e,t)=>({title:[["crystal","feather"],["line","line 3 times"],["all","all 3 times"],["stop",""]][t][e]}),label:"Blink"}).on("click",(e=>{this.#ll(!0),this.#ll(!1);let t=[new Xo(0,0,0,1),new Xo(0,0,0,1),new Xo(0,0,0,1),new Xo(0,0,0,1)],l=[new Xo(0,1,0,1),new Xo(0,1,0,1),new Xo(0,1,0,1),new Xo(0,1,0,1)],n=[new Xo(1,1,1,1),new Xo(1,1,1,1),new Xo(1,1,1,1),new Xo(1,1,1,1)],V=[new Xo(1,0,0,1),new Xo(1,0,0,1),new Xo(1,0,0,1),new Xo(1,0,0,1)];switch(e.cell.title){case"crystal":ta((()=>{this.blinkInclusionType=bW.Crystal}));break;case"feather":ta((()=>{this.blinkInclusionType=bW.Feather}));break;case"line":this.#tl(this.reprojTypeIndex,t,l,80,-1,!0);break;case"line 3 times":this.#tl(this.reprojTypeIndex,t,l,120,3,!0);break;case"all":this.#tl(this.reprojTypeIndex,n,V,30,-1);break;case"all 3 times":this.#tl(this.reprojTypeIndex,n,V,180,3);break;case"stop":this.#Vt()}}));let d=this.#H.addFolder({title:"Stereo",expanded:!1});d.addInput(this.#R,"viewDistance",{label:"View Distance",min:100,max:1e3,step:.1}),d.addInput(this.#R,"distanceBetweenEyes",{label:"Distance between eyes",min:10,max:80,step:.01}),d.addInput(this.#R,"stereoRotationAngle",{label:"Full Stereo Angle",step:.01,disabled:!0}),d.addInput(this.#R,"cameraFOV",{label:"Camera FOV angle",step:.01,disabled:!0}),d.addInput(this.#R,"isStereo",{label:"Stereo Enabled"}),d.addInput(this.#R,"stereoMode",{label:"Stereo Mode",options:Object.keys(JW).filter((e=>isNaN(Number(e)))).map((e=>({text:e,value:JW[e]})))}),d.addInput(this.#R,"stereoCombineMode",{label:"Stereo Combine Mode",options:Object.keys(TW).filter((e=>isNaN(Number(e)))).map((e=>({text:e,value:TW[e]})))}),d.addInput(this.#R,"stereoCenterOffset",{label:"Center Offset",step:.01,min:-1,max:1}),d.addButton({title:"Shift left"}).on("click",(()=>this.#$t("left"))),d.addButton({title:"Shift right"}).on("click",(()=>this.#$t("right"))),d.addButton({title:"Dump images"}).on("click",(()=>{this.toSaveStereoImages=!0}));let R=this.#H.addFolder({title:"Other",expanded:!1});R.addButton({title:"Draw nodes"}).on("click",(()=>this.#nl())),R.addInput({debugFrames:this.debugFrames},"debugFrames",{label:"Render debug frames"}).on("change",(({value:e})=>{this.debugFrames=e,this.debugFrames||(document.getElementById("cv-frames")?.remove(),this.#_=!0)})),R.addButton({title:"Print camera"}).on("click",(()=>{KZ.info("View matrix",this.#F.camera.matrix.clone().invert().elements),KZ.info("Proj matrix",this.#F.camera.projectionMatrix.elements)})),R.addButton({title:"Print performance logs"}).on("click",(()=>this.#se.print())),R.addInput(this.#R,"background",{label:"Background"}),R.addBlade({view:"buttongrid",size:[2,2],cells:(e,t)=>({title:[["Top-Left","Top-Right"],["Bottom-Left","Bottom-Right"]][t][e]}),label:"Panel position"}).on("click",(e=>{let t=e.cell.title,l=document.querySelector(`${this.#te.containerId} .${xW}`);switch(t){case"Top-Left":l&&(l.style.top="5px",l.style.right="auto",l.style.bottom="auto",l.style.left="5px");break;
1case"Top-Right":l&&(l.style.top="5px",l.style.right="5px",l.style.bottom="auto",l.style.left="auto");break;case"Bottom-Left":l&&(l.style.top="auto",l.style.right="auto",l.style.bottom="5px",l.style.left="5px");break;case"Bottom-Right":l&&(l.style.top="auto",l.style.right="5px",l.style.bottom="5px",l.style.left="auto")}})),R.addButton({title:"Force Rerender"}).on("click",(()=>this.forceRerender())),R.addButton({title:"Force Resize"}).on("click",(()=>this.resize()));let U=this.#H.addFolder({title:"Remarks",expanded:!1});U.addInput({controlsMode:this.#re},"controlsMode",{label:"control mode",options:[{text:"None",value:"off"},{text:"Rotate",value:"rotate"},{text:"Translate",value:"translate"}]}).on("change",(e=>{KZ.info("control mode"),("rotate"===e.value||"translate"===e.value)&&this.#ae.setMode(e.value),this.#re=e.value,this.#_=!0})),U.addInput({remarkScale:this.#o},"remarkScale",{label:"Remark scale",min:.5,max:1.5}).on("change",(e=>{this.#o=e.value,this.#h=this.#r.getSerialized(),this.#r.setScaleMultiplier(this.#o),this.#r.openSerializedState(this.#h,!1),this.#_=!0})),U.addButton({title:"Remove all"}).on("click",(()=>ta((()=>{this.#r.clearAllRemarks()})))),U.addButton({title:"Save remark state"}).on("click",(()=>ta((()=>{this.#h=this.#r.getSerialized(),KZ.info(this.#h)})))),U.addButton({title:"Restore remark state"}).on("click",(()=>ta((()=>{this.#r.openSerializedState(this.#h,!1)})))),U.addInput({remarkType:this.#le},"remarkType",{label:"Remark type",options:am}).on("change",(e=>{this.#i?.setActiveMeasurementType(e.value)})),U.addInput({textToApply:""},"textToApply",{label:"text",view:"textarea",lineCount:6}).on("change",(e=>{this.#i?.setAnnotationText(e.value)})),U.addButton({title:"Remove all"}).on("click",(()=>ta((()=>{this.#r.clearAllRemarks(),this.#_=!0})))),U.addButton({title:"Save remark state"}).on("click",(()=>ta((()=>{this.#h=this.#r.getSerialized(),KZ.info(this.#h)})))),U.addButton({title:"Restore remark state"}).on("click",(()=>ta((()=>{this.#r.openSerializedState(this.#h,!1),this.#_=!0}))));let c="",p=this.#H.addFolder({title:"Apply Settings",expanded:!1});p.addInput({settingsToApply:c},"settingsToApply",{label:"Settings",view:"textarea",lineCount:6}).on("change",(e=>{c=e.value})),p.addButton({title:"Apply"}).on("click",(()=>{try{let e=JSON.parse(c);this.apply(e),c=""}catch(e){KZ.error(e),alert(e)}})),this.#H.on("change",(({target:e,value:t})=>ta((()=>{let l=e.label;if(l)switch(l){case"View mode":this.apply({viewMode:t});break;case"Lens Focal Ratio Presets":this.apply({lensFNumber:t});break;case"Reprojection Inclusion Type":ta((()=>{this.reprojTypeIndex=t,this.reprojContrastFillHigh=GW[this.reprojTypeIndex][SW.High],this.reprojContrastFillModerate=GW[this.reprojTypeIndex][SW.Moderate],this.reprojContrastFillLow=GW[this.reprojTypeIndex][SW.Low],this.reprojContrastFillInvincible=GW[this.reprojTypeIndex][SW.Invincible],this.reprojLineColor=GW[this.reprojTypeIndex].line}));break;default:this[this.#d[l]]=t}})))),this.#H.addBlade({view:"buttongrid",size:[3,1],cells:(e,t)=>({title:[["Full","Storage","Project"]][t][e]}),label:"Print"}).on("click",(e=>{let t=e.cell.title;"Full"===t?KZ.info("Configuration:",this.fullConfiguration):"Project"===t&&KZ.info("Project:",{modelPath:this.#te.model,...JSON.parse(JSON.stringify(this.#D))})})),this.#H.addBlade({view:"buttongrid",size:[2,1],cells:(e,t)=>({title:[["Copy","Paste"]][t][e]}),label:"Settings"}).on("click",(e=>{let t=e.cell.title;if("Copy"===t)try{let e=JSON.parse(JSON.stringify(this.#R));delete e.currentProductId,delete e.currentSolutionId,delete e.viewMode,KZ.info("Settings:",e),navigator.clipboard.writeText(JSON.stringify(e,void 0,2))}catch(e){KZ.error(e)}else"Paste"===t&&navigator.clipboard.readText().then((e=>{try{let t=JSON.parse(e);this.apply(t)}catch(e){KZ.error(e),alert("Формат конфигурации неверный!")}}))})),this.#H.addBlade({view:"buttongrid",size:[2,1],cells:(e,t)=>({title:[["Fit","Reset"]][t][e]}),label:"Camera"}).on("click",(e=>{let t=e.cell.title;"Fit"===t?this.fitCameraToScene():"Reset"===t&&this.resetCamera()})),this.#H.addBlade({view:"buttongrid",size:[2,1],cells:(e,t)=>({title:[["Zoom In","Zoom Out"]][t][e]}),label:"Zoom"}).on("click",(e=>{let t=e.cell.title;"Zoom In"===t?this.zoomIn(.15):"Zoom Out"===t&&this.zoomOut(.15)})),this.#H.addBlade({view:"buttongrid",size:[2,3],cells:(e,t)=>({title:[["crown","pavilion"],["table-down","table-up"],["table-left","table-right"]][t][e]}),label:"Views"}).on("click",(e=>{let t=e.cell.title;this.setCameraView(t)})),this.#H.addBlade({view:"buttongrid",size:[2,1],cells:(e,t)=>({title:[["Screenshot","With fit"]][t][e]}),label:"Screenshot"}).on("click",(e=>{let t=e.cell.title;this.#Te("With fit"===t)})),this.#H.addButton({title:"Drawing tools"}).on("click",(()=>{this.setDrawingToolsVisibility(!this.#I.isInitialized)})),this.#H.addButton({title:"Reinit CV"}).on("click",(()=>{window.reInitViewer?.()}))}),0);#Ee(){this.#H?.dispose(),document.querySelector(`${this.#te.containerId} .${xW}`)?.remove(),this.#v.dom.remove(),this.#H=void 0}#it(e,t,l){let n=!!e.children;if(n){let{children:n}=e;n?.forEach((e=>this.#it(e,t,l)))}if(!n){let n=e.controller_.valueController;switch(e.label){case"Product":let e=Object.values(mW),V=e.includes(l.viewM
1ode),i=e.includes(t.viewMode);(t.currentSolutionId!==l.currentSolutionId||V&&!i)&&n.props.set("options",this.#Ye);break;case"View mode":n.props.set("options",this.#xe),n.value.setRawValue(n.value.rawValue,{forceEmit:!0,last:!0})}if(e.label&&this.#d?.[e.label])try{let V=t[this.#d[e.label]];if(V===l[this.#d[e.label]]||typeof V>"u")return;`${V}`.includes("rgb")&&(V=new cW.Color(rm(V),"rgb")),n.value.setRawValue(V)}catch(e){KZ.error(e)}}}#Kt(e){if(!e)return;let t=this.#Z.getElementsByClassName(YW);t.length>0&&this.#Z.removeChild(t[0]);let{minDist:l,maxDist:n,uniqueValues:V,colors:i}=this.generateObjectDistanceColors(e),a=i.map((([e,t,l,n,V,i])=>`\n        <div class="cv-scale-section" style="--from: ${100*e}%; --to: ${100*t}%; --color: rgba(${l}, ${n}, ${V}, ${i});"></div>\n      `)),r=V.map(((e,t)=>{let i=(e-l)/(n-l),a=0===t||t===V.length-1;return`\n        <div class="cv-scale-tick" style="--offset: ${100*i}%">\n          ${(1e3*e).toFixed(0)}${a?"<br/>μm":""}\n        </div>\n      `}));this.#Jt();let s=document.createElement("div");s.className=YW,s.innerHTML=`\n      <div class="cv-scale-colors" id="scale-colors">${a.join("")}</div>\n      <div class="cv-scale-ticks" id="scale-ticks">${r.join("")}</div>\n    `;let o=this.#Z;this.#te?.distanceScaleAppendTo&&(o=document.querySelector(this.#te.distanceScaleAppendTo)),o.appendChild(s)}#Jt(){let e=this.#Z;this.#te?.distanceScaleAppendTo&&(e=document.querySelector(this.#te.distanceScaleAppendTo)),e?.querySelector(`.${YW}`)?.remove()}#ut(e){return new Promise((t=>{let l=document.getElementById("cv-frames");l||(l=document.createElement("div"),l.setAttribute("id","cv-frames"),l.style.position="absolute",l.style.zIndex="100",l.style.bottom="0px",l.style.left="0px",l.style.fontSize="6px",l.style.color="#12ff00",l.style.lineHeight="1"),l.children.length>50&&l.removeChild(l.children[0]);let n=document.createElement("div");n.innerText=Number(this.pixelRatio).toFixed(2),n.innerText+=` (${Number(this.maxPixelRatio).toFixed(2)})`,n.innerText+=` - ${Number(e).toFixed(2)}`,l.appendChild(n),this.#Z.appendChild(l),t()}))}#nl(){let e=this.#m,t=e.getContext("2d"),l=e=>{if(0===this.getNestedObjectsCount(e))return 20;let t=0;if(this.isObjectVisible(e))for(let n=0;n<this.getNestedObjectsCount(e);++n)t+=l(this.getNestedObject(e,n));return 20+t};if(t){let n=(e,V,i=0,a=0)=>{let r=i,s=a,o="Root",h=V;0!=e.id&&(o=this.getObjectName(e),h&&=this.isObjectVisible(e));let d=()=>0==e.id?this.sceneObjectCount:this.getNestedObjectsCount(e),R=t=>0==e.id?this.getObjectByIndex(t):this.getNestedObject(e,t);if(t.fillStyle=h?"white":"darkgrey",t.fillText(`${o} (trans = ${this.getMaterialFactor(e,13)})`,r,s),h){let e=s+20;for(let V=0;V<d();++V){let i=R(V);t.beginPath(),t.strokeStyle="grey",t.moveTo(r+5,s+10),t.lineTo(r+5,e),t.lineTo(r+15,e),t.stroke(),n(i,h,r+20,e),e+=l(i)}}};t.clearRect(0,0,e.width,e.height),n({id:0},!0,30,100)}}#rt(e){let t;try{t="string"==typeof e.data?JSON.parse(e.data):e.data}catch(e){KZ.error(e)}if(t)switch(t.action){case"carbon-viewer.load-preset":let{presetId:e,productId:l}=t.data;this.currentSolutionId!==e?(this.currentSolutionId=this.#qt(e),typeof l<"u"&&(this.currentProductId=l)):this.currentProductId=l||"";break;case"carbon-viewer.show-product":this.currentProductId=t.data.productId;break;case"carbon-viewer.change-view-mode":this.viewMode=t.data.viewMode;break;case"carbon-viewer.reset-camera":this.resetCamera();break;case"carbon-viewer.fit-to-scene":this.fitCameraToScene();break;case"carbon-viewer.set-camera-view":this.setCameraView(t.data.cameraView);break;case"carbon-viewer.precise-mode":this.preciseFastMode=t.data.preciseFastMode;break;case"carbon-viewer.change-lens-f":this.lensFNumber=t.data.lensFNumber;break;case"carbon-viewer.show-reprojections":this.showReprojections=t.data.showReprojections;break;case"carbon-viewer.stereo-shift-left":this.#$t("left");break;case"carbon-viewer.stereo-shift-right":this.#$t("right");break;case"carbon-viewer.stereo-angle-left":this.#el("left");break;case"carbon-viewer.stereo-angle-right":this.#el("right");break;case"state.update":t.data.camera&&this.setCameraState(t.data.camera);break;case"pointers.update":this.pointersData=t.data;break;case"mode.set":"boolean"==typeof t.data?.cameraControl&&(t.data.cameraControl?this.#F.enableCamera():this.#F.disableCamera());break;case"view.set":typeof t.data?.pointer<"u"&&this.#st(t.data?.color)}}#Ze(e,t={}){let l=OZ(t)?JSON.parse(JSON.stringify(t)):{};l.guid=this.guid,t instanceof Error&&(l.message=t.message,l.stack=t.stack),window?.parent?.postMessage({action:e,data:l},"*"),setTimeout((()=>{window?.dispatchEvent(new CustomEvent(e,{detail:l}))}),0);try{this.onMessage?.(e,l,this)}catch(e){KZ.error(e)}}#at(e,t=this.fullConfiguration){try{this.#U=e,this.#Ze(e,t),this.onStateUpdate?.(e,t,this)}catch(e){KZ.error(e)}}#Vl={x:0,y:0};#il={x:0,y:0};#al(e){if(null===e.beta||null===e.gamma)return;let t=e.gamma,l=e.beta;this.#il.x=l,this.#il.y=t,null===this.#il.x&&(this.#Vl.x=this.#il.x,this.#Vl.y=this.#il.y),this.#Le(!0),this.fitCameraToScene(),this.rotateVertical(hm(l-this.#Vl.x)),this.rotateHorizontal(-hm(t-this.#Vl.y)),this.#_=!0}resize(){this.#l=!0;let{width:e,height:t}=this.#Z.getBoundingClientRect();this.#W.width=e*this.pixelRatio,this.#W.height=t*this.pixelRatio,this.#m.width=e*this.pixelRatio,this.#m.height=t*this.pixelRatio,this.#F.resize(this.#W),this.#ce(e,t),this.#ne=this.#F.camera.matrixWorld.clone().multiply(this.#F.camera.projectionMatrix),this.#s&&this.#s.resize(this.#W.width,this.#W.height),this.#I.resize(e,t),this.view.setVie
1wport([0,0,this.#W.width,this.#W.height]),this.viewAux.setViewport([0,0,this.#W.width,this.#W.height]),this.isStereo&&this.#T&&(this.#b=new pp(this.#W.width,this.#W.height,us),this.#b.minFilter=ss,this.#b.magFilter=ss,this.#S=new pp(this.#W.width,this.#W.height,us),this.#S.minFilter=ss,this.#S.magFilter=ss,this.#E.material.uniforms.leftImage.value=this.#b,this.#E.material.uniforms.rightImage.value=this.#S,this.#E.material.uniforms.s_width.value=this.#W.width,this.#E.material.uniforms.s_height.value=this.#W.height),this.#k&&(this.#Q=new pp(this.#W.width,this.#W.height,us),this.#Q.minFilter=ss,this.#Q.magFilter=ss,this.#X=new pp(this.#W.width,this.#W.height,us),this.#X.minFilter=ss,this.#X.magFilter=ss,this.#k.material.uniforms.image0.value=this.#Q,this.#k.material.uniforms.image1.value=this.#X,this.displayedInteractiveFrame=!1),this.#G&&(this.#M=new pp(this.#W.width,this.#W.height,us),this.#M.minFilter=ss,this.#M.magFilter=ss,this.#Y=new pp(this.#W.width,this.#W.height,us),this.#Y.minFilter=ss,this.#Y.magFilter=ss,this.#G.material.uniforms.image0.value=this.#M,this.#G.material.uniforms.image1.value=this.#Y,this.displayedInteractiveFrame=!1)}handleEvent(e){if(!this.isRenderBlocked)switch(e.type){case"mousedown":"none"!==this.#F.behavior&&this.#Ze("pointer.moved",KW);break;case"mousemove":this.#a?.disable(this.#ae?.dragging),this.#r?.updateRemarks(this.#F.camera),0===this.engine&&this.#r&&(this.#_=!0),"none"===this.#F.behavior?this.#Ze("pointer.moved",this.#F.getMousePositionRelatedToCamera(e,this.#m)):(ta((()=>{this.isGyro=!1})),this.#Ze("pointer.moved",KW));break;case"mouseup":this.#a?.disable(this.#ae?.dragging),this.#Ze("pointer.moved",this.#F.getMousePositionRelatedToCamera(e,this.#m));break;case"touchmove":ta((()=>{this.isGyro=!1})),this.#a?.disable(this.#ae?.dragging);break;case"touchend":this.#a?.disable(this.#ae?.dragging);break;case"wheel":ta((()=>{this.isGyro=!1}));break;case"mouseleave":this.#Ze("pointer.moved",KW);break;case"deviceorientation":this.isGyro&&this.#al(e);break;case"click":if(!this.#R.inclusionSelection)break;let t=this.renderer.gatherInclusions(e.clientX*this.pixelRatio,this.#W.height-e.clientY*this.pixelRatio,this.#W.width,this.#W.height);KZ.info(t),this.renderer.selectObject(t),this.#_=!0}}onKeyDown(e){switch(e.code){case"KeyT":e.shiftKey&&e.ctrlKey&&e.metaKey&&(this.#H?this.#Ee():this.#ue());break;case"ArrowRight":if(this.isStereo&&e.shiftKey){if(e.ctrlKey){this.#el("right");break}this.#$t("right")}break;case"ArrowLeft":if(this.isStereo&&e.shiftKey){if(e.ctrlKey){this.#el("left");break}this.#$t("left")}}}}},21216:function(e){window,e.exports=function(e){var t={};function l(n){if(t[n])return t[n].exports;var V=t[n]={i:n,l:!1,exports:{}};return e[n].call(V.exports,V,V.exports,l),V.l=!0,V.exports}return l.m=e,l.c=t,l.d=function(e,t,n){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(l.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var V in e)l.d(n,V,function(t){return e[t]}.bind(null,V));return n},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="",l(l.s=0)}([function(e,t,l){e.exports=l(1)},function(e,t,l){"use strict";l.r(t);var n=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},V=function(e){var t;return 1===e.length&&(t=e,e=function(e,l){return n(t(e),l)}),{left:function(t,l,n,V){for(null==n&&(n=0),null==V&&(V=t.length);n<V;){var i=n+V>>>1;e(t[i],l)<0?n=i+1:V=i}return n},right:function(t,l,n,V){for(null==n&&(n=0),null==V&&(V=t.length);n<V;){var i=n+V>>>1;e(t[i],l)>0?V=i:n=i+1}return n}}},i=V(n);i.right,i.left;var a=Array.prototype;function r(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}a.slice,a.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);
1const s=Symbol("implicit");function o(){var e=new Map,t=[],l=[],n=s;function V(V){var i=V+"",a=e.get(i);if(!a){if(n!==s)return n;e.set(i,a=t.push(V))}return l[(a-1)%l.length]}return V.domain=function(l){if(!arguments.length)return t.slice();t=[],e=new Map;for(const n of l){const l=n+"";e.has(l)||e.set(l,t.push(n))}return V},V.range=function(e){return arguments.length?(l=Array.from(e),V):l.slice()},V.unknown=function(e){return arguments.length?(n=e,V):n},V.copy=function(){return o(t,l).unknown(n)},r.apply(V,arguments),V}var h=function(e,t,l){e.prototype=t.prototype=l,l.constructor=e};function d(e,t){var l=Object.create(e.prototype);for(var n in t)l[n]=t[n];return l}function R(){}var U="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",p="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Z=/^#([0-9a-f]{3})$/,W=/^#([0-9a-f]{6})$/,m=new RegExp("^rgb\\("+[U,U,U]+"\\)$"),F=new RegExp("^rgb\\("+[p,p,p]+"\\)$"),N=new RegExp("^rgba\\("+[U,U,U,c]+"\\)$"),u=new RegExp("^rgba\\("+[p,p,p,c]+"\\)$"),E=new RegExp("^hsl\\("+[c,p,p]+"\\)$"),b=new RegExp("^hsla\\("+[c,p,p,c]+"\\)$"),S={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function J(e){var t;return e=(e+"").trim().toLowerCase(),(t=Z.exec(e))?new Y((t=parseInt(t[1],16))>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):(t=W.exec(e))?T(parseInt(t[1],16)):(t=m.exec(e))?new Y(t[1],t[2],t[3],1):(t=F.exec(e))?new Y(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=N.exec(e))?G(t[1],t[2],t[3],t[4]):(t=u.exec(e))?G(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=E.exec(e))?Q(t[1],t[2]/100,t[3]/100,1):(t=b.exec(e))?Q(t[1],t[2]/100,t[3]/100,t[4]):S.hasOwnProperty(e)?T(S[e]):"transparent"===e?new Y(NaN,NaN,NaN,0):null}function T(e){return new Y(e>>16&255,e>>8&255,255&e,1)}function G(e,t,l,n){return n<=0&&(e=t=l=NaN),new Y(e,t,l,n)}function M(e){return e instanceof R||(e=J(e)),e?new Y((e=e.rgb()).r,e.g,e.b,e.opacity):new Y}function k(e,t,l,n){return 1===arguments.length?M(e):new Y(e,t,l,null==n?1:n)}function Y(e,t,l,n){this.r=+e,this.g=+t,this.b=+l,this.opacity=+n}function x(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function Q(e,t,l,n){return n<=0?e=t=l=NaN:l<=0||l>=1?e=t=NaN:t<=0&&(e=NaN),new f(e,t,l,n)}function X(e){if(e instanceof f)return new f(e.h,e.s,e.l,e.opacity);if(e instanceof R||(e=J(e)),!e)return new f;if(e instanceof f)return e;var t=(e=e.rgb()).r/255,l=e.g/255,n=e.b/255,V=Math.min(t,l,n),i=Math.max(t,l,n),a=NaN,r=i-V,s=(i+V)/2;return r?(a=t===i?(l-n)/r+6*(l<n):l===i?(n-t)/r+2:(t-l)/r+4,r/=s<.5?i+V:2-i-V,a*=60):r=s>0&&s<1?0:a,new f(a,r,s,e.opacity)}function w(e,t,l,n){return 1===arguments.length?X(e):new f(e,t,l,null==n?1:n)}function f(e,t,l,n){this.h=+e,this.s=+t,this.l=+l,this.opacity=+n}function z(e,t,l){return 255*(e<60?t+(l-t)*e/60:e<180?l:e<240?t+(l-t)*(240-e)/60:t)}h(R,J,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),h(Y,k,d(R,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Y(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Y(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+x(this.r)+x(this.g)+x(this.b)},toString:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||
10))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}})),h(f,w,d(R,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new f(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new f(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,l=this.l,n=l+(l<.5?l:1-l)*t,V=2*l-n;return new Y(z(e>=240?e-240:e+120,V,n),z(e,V,n),z(e<120?e+240:e-120,V,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var y=Math.PI/180,C=180/Math.PI;function j(e){if(e instanceof B)return new B(e.l,e.a,e.b,e.opacity);if(e instanceof L){if(isNaN(e.h))return new B(e.l,0,0,e.opacity);var t=e.h*y;return new B(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}e instanceof Y||(e=M(e));var l,n,V=D(e.r),i=D(e.g),a=D(e.b),r=H((.2225045*V+.7168786*i+.0606169*a)/1);return V===i&&i===a?l=n=r:(l=H((.4360747*V+.3850649*i+.1430804*a)/.96422),n=H((.0139322*V+.0971045*i+.7141733*a)/.82521)),new B(116*r-16,500*(l-r),200*(r-n),e.opacity)}function g(e,t,l,n){return 1===arguments.length?j(e):new B(e,t,l,null==n?1:n)}function B(e,t,l,n){this.l=+e,this.a=+t,this.b=+l,this.opacity=+n}function H(e){return e>6/29*(6/29)*(6/29)?Math.pow(e,1/3):e/(6/29*3*(6/29))+4/29}function v(e){return e>6/29?e*e*e:6/29*3*(6/29)*(e-4/29)}function I(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function D(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function O(e){if(e instanceof L)return new L(e.h,e.c,e.l,e.opacity);if(e instanceof B||(e=j(e)),0===e.a&&0===e.b)return new L(NaN,0,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*C;return new L(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function _(e,t,l,n){return 1===arguments.length?O(e):new L(e,t,l,null==n?1:n)}function L(e,t,l,n){this.h=+e,this.c=+t,this.l=+l,this.opacity=+n}h(B,g,d(R,{brighter:function(e){return new B(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new B(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,l=isNaN(this.b)?e:e-this.b/200;return new Y(I(3.1338561*(t=.96422*v(t))-1.6168667*(e=1*v(e))-.4906146*(l=.82521*v(l))),I(-.9787684*t+1.9161415*e+.033454*l),I(.0719453*t-.2289914*e+1.4052427*l),this.opacity)}})),h(L,_,d(R,{brighter:function(e){return new L(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new L(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return j(this).rgb()}}));var K=-.14861,P=1.78277,A=-.29227,q=-.90649,$=1.97294,ee=$*q,te=$*P,le=P*A-q*K;function ne(e){if(e instanceof ie)return new ie(e.h,e.s,e.l,e.opacity);e instanceof Y||(e=M(e));var t=e.r/255,l=e.g/255,n=e.b/255,V=(le*n+ee*t-te*l)/(le+ee-te),i=n-V,a=($*(l-V)-A*i)/q,r=Math.sqrt(a*a+i*i)/($*V*(1-V)),s=r?Math.atan2(a,i)*C-120:NaN;return new ie(s<0?s+360:s,r,V,e.opacity)}function Ve(e,t,l,n){return 1===arguments.length?ne(e):new ie(e,t,l,null==n?1:n)}function ie(e,t,l,n){this.h=+e,this.s=+t,this.l=+l,this.opacity=+n}function ae(e,t,l,n,V){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*l+(1+3*e+3*i-3*a)*n+a*V)/6}h(ie,Ve,d(R,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new ie(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new ie(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*y,t=+this.l,l=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),V=Math.sin(e);return new Y(255*(t+l*(K*n+P*V)),255*(t+l*(A*n+q*V)),255*(t+l*($*n)),this.opacity)}}));var re=function(e){return function(){return e}};function se(e,t){return function(l){return e+l*t}}function oe(e,t){var l=t-e;return l?se(e,l>180||l<-180?l-360*Math.round(l/360):l):re(isNaN(e)?t:e)}function he(e){return 1==(e=+e)?de:function(t,l){return l-t?function(e,t,l){return e=Math.pow(e,l),t=Math.pow(t,l)-e,l=1/l,function(n){return Math.pow(e+n*t,l)}}(t,l,e):re(isNaN(t)?l:t)}}function de(e,t){var l=t-e;return l?se(e,l):re(isNaN(e)?t:e)}function Re(e){return function(t){var l,n,V=t.length,i=new Array(V),a=new Array(V),r=new Array(V);for(l=0;l<V;++l)n=k(t[l]),i[l]=n.r||0,a[l]=n.g||0,r[l]=n.b||0;return i=e(i),a=e(a),r=e(r),n.opacity=1,function(e){return n.r=i(e),n.g=a(e),n.b=r(e),n+""}}}!function e(t){var l=he(t);function n(e,t){var n=l((e=k(e)).r,(t=k(t)).r),V=l(e.g,t.g),i=l(e.b,t.b),a=de(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=V(t),e.b=i(t),e.opacity=a(t),e+""}}return n.gamma=e,n}(1),Re((function(e){var t=e.length-1;return function(l){var n=l<=0?l=0:l>=1?(l=1,t-1):Math.floor(l*t),V=e[n],i=e[n+1],a=n>0?e[n-1]:2*V-i,r=n<t-1?e[n+2]:2*i-V;return ae((l-n/t)*t,a,V,i,r)}})),Re((function(e){var t=e.length;return function(l){var n=Math.floor(((l%=1)<0?++l:l)*t),V=e[(n+t-1)%t],i=e[n%t],a=e[(n+1)%t],r=e[(n+2)%t];return ae((l-n/t)*t,V,i,a,r)}}));var Ue=function(e,t){return t-=e=+e,function(l){return e+t*l}};new RegExp(/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g.source,"g");var ce,pe,Ze,We,me=180/Math.PI,Fe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Ne=function(e,t,l,n,V,i){var a,r,s;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(s=e*l+t*n)&&(l-=e*s,n-=t*s),(r=Math.sqrt(l*l+n*n))&&(l/=r,n/=r,s/=r),e*n<t*l&&(e=-e,t=-t,s=-s,a=-a),{translateX:V,translateY:i,rotate:Math.atan2(t,e)*me,skewX:Math.atan(s)*me,scaleX:a,scaleY:r}};function ue(e,t,l,n){function V(e){return e.length?e.pop()+" ":""}return function(i,a){var r=[],s=[];return i=e(i),a=e(a),function(e,n,V,i,a,r){if(e!==V||n!==i){var s=a.push("translate(",null,t,null,l);r.push({i:s-4,x:Ue(e,V)},{i:s-2,x:Ue(n,i)})}else(V||i)&&a.push("translate("+V+t+i+l)}(i.translateX,i.translateY,a.translateX,a.translateY,r,s),function(e,t,l,i){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),i.push({i:l.push(V(l)+"rotate(",null,n)-2,x:Ue(e,t)})):t&&l.push(V(l)+"rotate("+t+n)}(i.rotate,a.rotate,r,s),function(e,t,l,i){e!==t?i.push({i:l.push(V(l)+"skewX(",
1null,n)-2,x:Ue(e,t)}):t&&l.push(V(l)+"skewX("+t+n)}(i.skewX,a.skewX,r,s),function(e,t,l,n,i,a){if(e!==l||t!==n){var r=i.push(V(i)+"scale(",null,",",null,")");a.push({i:r-4,x:Ue(e,l)},{i:r-2,x:Ue(t,n)})}else 1===l&&1===n||i.push(V(i)+"scale("+l+","+n+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,r,s),i=a=null,function(e){for(var t,l=-1,n=s.length;++l<n;)r[(t=s[l]).i]=t.x(e);return r.join("")}}}function Ee(e){return function(t,l){var n=e((t=w(t)).h,(l=w(l)).h),V=de(t.s,l.s),i=de(t.l,l.l),a=de(t.opacity,l.opacity);return function(e){return t.h=n(e),t.s=V(e),t.l=i(e),t.opacity=a(e),t+""}}}function be(e){return function(t,l){var n=e((t=_(t)).h,(l=_(l)).h),V=de(t.c,l.c),i=de(t.l,l.l),a=de(t.opacity,l.opacity);return function(e){return t.h=n(e),t.c=V(e),t.l=i(e),t.opacity=a(e),t+""}}}function Se(e){return function t(l){function n(t,n){var V=e((t=Ve(t)).h,(n=Ve(n)).h),i=de(t.s,n.s),a=de(t.l,n.l),r=de(t.opacity,n.opacity);return function(e){return t.h=V(e),t.s=i(e),t.l=a(Math.pow(e,l)),t.opacity=r(e),t+""}}return l=+l,n.gamma=t,n}(1)}ue((function(e){return"none"===e?Fe:(ce||(ce=document.createElement("DIV"),pe=document.documentElement,Ze=document.defaultView),ce.style.transform=e,e=Ze.getComputedStyle(pe.appendChild(ce),null).getPropertyValue("transform"),pe.removeChild(ce),e=e.slice(7,-1).split(","),Ne(+e[0],+e[1],+e[2],+e[3],+e[4],+e[5]))}),"px, ","px)","deg)"),ue((function(e){return null==e?Fe:(We||(We=document.createElementNS("http://www.w3.org/2000/svg","g")),We.setAttribute("transform",e),(e=We.transform.baseVal.consolidate())?(e=e.matrix,Ne(e.a,e.b,e.c,e.d,e.e,e.f)):Fe)}),", ",")",")"),Math.SQRT2,Ee(oe),Ee(de),be(oe),be(de),Se(oe),Se(de);var Je=function(e,t){if((l=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var l,n=e.slice(0,l);return[n.length>1?n[0]+n.slice(2):n,+e.slice(l+1)]},Te=function(e){return(e=Je(Math.abs(e)))?e[1]:NaN},Ge=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Me(e){return new ke(e)}function ke(e){if(!(t=Ge.exec(e)))throw new Error("invalid format: "+e);var t;this.fill=t[1]||" ",this.align=t[2]||">",this.sign=t[3]||"-",this.symbol=t[4]||"",this.zero=!!t[5],this.width=t[6]&&+t[6],this.comma=!!t[7],this.precision=t[8]&&+t[8].slice(1),this.trim=!!t[9],this.type=t[10]||""}Me.prototype=ke.prototype,ke.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Ye,xe,Qe=function(e,t){var l=Je(e,t);if(!l)return e+"";var n=l[0],V=l[1];return V<0?"0."+new Array(-V).join("0")+n:n.length>V+1?n.slice(0,V+1)+"."+n.slice(V+1):n+new Array(V-n.length+2).join("0")},Xe={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return Qe(100*e,t)},r:Qe,s:function(e,t){var l=Je(e,t);if(!l)return e+"";var n=l[0],V=l[1],i=V-(Ye=3*Math.max(-8,Math.min(8,Math.floor(V/3))))+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Je(e,Math.max(0,t+i-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},we=function(e){return e},fe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];xe=function(e){var t,l,n=e.grouping&&e.thousands?(t=e.grouping,l=e.thousands,function(e,n){for(var V=e.length,i=[],a=0,r=t[0],s=0;V>0&&r>0&&(s+r+1>n&&(r=Math.max(1,n-s)),i.push(e.substring(V-=r,V+r)),!((s+=r+1)>n));)r=t[a=(a+1)%t.length];return i.reverse().join(l)}):we,V=e.currency,i=e.decimal,a=e.numerals?function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(e.numerals):we,r=e.percent||"%";function s(e){var t=(e=Me(e)).fill,l=e.align,s=e.sign,o=e.symbol,h=e.zero,d=e.width,R=e.comma,U=e.precision,c=e.trim,p=e.type;"n"===p?(R=!0,p="g"):Xe[p]||(null==U&&(U=12),c=!0,p="g"),(h||"0"===t&&"="===l)&&(h=!0,t="0",l="=");var Z="$"===o?V[0]:"#"===o&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",W="$"===o?V[1]:/[%p]/.test(p)?r:"",m=Xe[p],F=/[defgprs%]/.test(p);function N(e){var V,r,o,N=Z,u=W;if("c"===p)u=m(e)+u,e="";else{var E=(e=+e)<0;if(e=m(Math.abs(e),U),c&&(e=function(e){e:for(var t,l=e.length,n=1,V=-1;n<l;++n)switch(e[n]){case".":V=t=n;break;case"0":0===V&&(V=n),t=n;break;default:if(V>0){if(!+e[n])break e;V=0}}return V>0?e.slice(0,V)+e.slice(t+1):e}(e)),E&&0==+e&&(E=!1),N=(E?"("===s?s:"-":"-"===s||"("===s?"":s)+N,u=("s"===p?fe[8+Ye/3]:"")+u+(E&&"("===s?")":""),F)for(V=-1,r=e.length;++V<r;)if(48>(o=e.charCodeAt(V))||o>57){u=(46===o?i+e.slice(V+1):e.slice(V))+u,e=e.slice(0,V);break}}R&&!h&&(e=n(e,1/0));var b=N.length+e.length+u.length,S=b<d?new Array(d-b+1).join(t):"";switch(R&&h&&(e=n(S+e,S.length?d-u.length:1/0),S=""),l){case"<":e=N+e+u+S;break;case"=":e=N+S+e+u;break;case"^":e=S.slice(0,b=S.length>>1)+N+e+u+S.slice(b);break;default:e=S+N+e+u}return a(e)}return U=null==U?6:/[gprs]/.test(p)?Math.max(1,Math.min(21,U)):Math.max(0,Math.min(20,U)),N.toString=function(){return e+""},N}return{format:s,formatPrefix:function(e,t){var l=s(((e=Me(e)).type="f",e)),n=3*Math.max(-8,Math.min(8,Math.floor(Te(t)/3))),V=Math.pow(10,-n),i=fe[8+n/3];return function(e){return l(V*e)+i}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),xe.format,xe.formatPrefix;var ze=new Date,ye=new Date;function Ce(e,t,l,n){function V(t){return e(t=new Date(+t)),t}return V.floor=V,V.ceil=function(l){return e(l=new Date(l-1)),t(l,1),e(l),l},V.round=function(e){var t=V(e),l=V.ceil(e);return e-t<l-e?t:l},V.offset=function(e,l){return t(e=new Date(+e),null==l?1:Math.floor(l)),e},V.range=function(l,n,i){var a,r=[];if(l=V.ceil(l),i=null==i?1:Math.floor(i),!(l<n&&i>0))return r;do{r.push(a=new Date(+l)),t(l,i),e(l)}while(a<l&&l<n);return r},V.filter=function(l){return Ce((function(t){if(t>=t)for(;e(t),!l(t);)t.setTime(t-1)}),(function(e,n){if(e>=e)if(n<0)for(;++n<=0;)for(;t(e,-1),!l(e););else for(;--n>=0;)for(;t(e,1),!l(e););}))},l&&(V.count=function(t,n){return ze.setTime(+t),ye.setTime(+n),e(ze),e(ye),Math.floor(l(ze,ye))},V.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?V.filter(n?function(t){return n(t)%e==0}:function(t){return V.count(0,t)%e==0}):V:null}),V}var je=Ce((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));je.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?Ce((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,l){t.setTime(+t+l*e)}),(function(t,l){return(l-t)/e})):je:null},je.range;var ge=Ce((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+1e3*t)}),(function(e,t){return(t-e)/1e3}),(function(e){return e.getUTCSeconds()})),Be=(ge.range,Ce((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getMinutes()}))),He=(Be.range,Ce((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getHours()}))),ve=(He.range,Ce((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5}),(function(e){return e.getDate()-1}))),Ie=ve;function De(e){return Ce((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/6048e5}))}ve.range;var Oe=De(0),_e=De(1),Le=De(2),Ke=De(3),Pe=De(4),Ae=De(5),qe=De(6),$e=(Oe.range,_e.range,Le.range,Ke.range,Pe.range,Ae.range,qe.range,Ce((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}))),et=($e.range,Ce((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()})));et.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Ce((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,l){t.setFullYear(t.getFullYear()+l*e)})):null};var tt=et,lt=(et.range,Ce((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getUTCMinutes()}))),nt=(lt.range,Ce((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getUTCHours()}))),Vt=(nt.range,Ce((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/864e5}),(function(e){return e.getUTCDate()-1}
vendor: 6,927 bytes, line 1
1))),it=Vt;function at(e){return Ce((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/6048e5}))}Vt.range;var rt=at(0),st=at(1),ot=at(2),ht=at(3),dt=at(4),Rt=at(5),Ut=at(6),ct=(rt.range,st.range,ot.range,ht.range,dt.range,Rt.range,Ut.range,Ce((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}))),pt=(ct.range,Ce((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()})));pt.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Ce((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,l){t.setUTCFullYear(t.getUTCFullYear()+l*e)})):null};var Zt=pt;function Wt(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function mt(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Ft(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}pt.range;var Nt,ut,Et,bt={"-":"",_:" ",0:"0"},St=/^\s*\d+/,Jt=/^%/,Tt=/[\\^$*+?|[\]().{}]/g;function Gt(e,t,l){var n=e<0?"-":"",V=(n?-e:e)+"",i=V.length;return n+(i<l?new Array(l-i+1).join(t)+V:V)}function Mt(e){return e.replace(Tt,"\\$&")}function kt(e){return new RegExp("^(?:"+e.map(Mt).join("|")+")","i")}function Yt(e){for(var t={},l=-1,n=e.length;++l<n;)t[e[l].toLowerCase()]=l;return t}function xt(e,t,l){var n=St.exec(t.slice(l,l+1));return n?(e.w=+n[0],l+n[0].length):-1}function Qt(e,t,l){var n=St.exec(t.slice(l,l+1));return n?(e.u=+n[0],l+n[0].length):-1}function Xt(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.U=+n[0],l+n[0].length):-1}function wt(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.V=+n[0],l+n[0].length):-1}function ft(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.W=+n[0],l+n[0].length):-1}function zt(e,t,l){var n=St.exec(t.slice(l,l+4));return n?(e.y=+n[0],l+n[0].length):-1}function yt(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),l+n[0].length):-1}function Ct(e,t,l){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(l,l+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),l+n[0].length):-1}function jt(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.m=n[0]-1,l+n[0].length):-1}function gt(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.d=+n[0],l+n[0].length):-1}function Bt(e,t,l){var n=St.exec(t.slice(l,l+3));return n?(e.m=0,e.d=+n[0],l+n[0].length):-1}function Ht(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.H=+n[0],l+n[0].length):-1}function vt(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.M=+n[0],l+n[0].length):-1}function It(e,t,l){var n=St.exec(t.slice(l,l+2));return n?(e.S=+n[0],l+n[0].length):-1}function Dt(e,t,l){var n=St.exec(t.slice(l,l+3));return n?(e.L=+n[0],l+n[0].length):-1}function Ot(e,t,l){var n=St.exec(t.slice(l,l+6));return n?(e.L=Math.floor(n[0]/1e3),l+n[0].length):-1}function _t(e,t,l){var n=Jt.exec(t.slice(l,l+1));return n?l+n[0].length:-1}function Lt(e,t,l){var n=St.exec(t.slice(l));return n?(e.Q=+n[0],l+n[0].length):-1}function Kt(e,t,l){var n=St.exec(t.slice(l));return n?(e.Q=1e3*+n[0],l+n[0].length):-1}function Pt(e,t){return Gt(e.getDate(),t,2)}function At(e,t){return Gt(e.getHours(),t,2)}function qt(e,t){return Gt(e.getHours()%12||12,t,2)}function $t(e,t){return Gt(1+Ie.count(tt(e),e),t,3)}function el(e,t){return Gt(e.getMilliseconds(),t,3)}function tl(e,t){return el(e,t)+"000"}function ll(e,t){return Gt(e.getMonth()+1,t,2)}function nl(e,t){return Gt(e.getMinutes(),t,2)}function Vl(e,t){return Gt(e.getSeconds(),t,2)}function il(e){var t=e.getDay();return 0===t?7:t}function al(e,t){return Gt(Oe.count(tt(e),e),t,2)}function rl(e,t){var l=e.getDay();return e=l>=4||0===l?Pe(e):Pe.ceil(e),Gt(Pe.count(tt(e),e)+(4===tt(e).getDay()),t,2)}function sl(e){return e.getDay()}function ol(e,t){return Gt(_e.count(tt(e),e),t,2)}function hl(e,t){return Gt(e.getFullYear()%100,t,2)}function dl(e,t){return Gt(e.getFullYear()%1e4,t,4)}function Rl(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Gt(t/60|0,"0",2)+Gt(t%60,"0",2)}function Ul(e,t){return Gt(e.getUTCDate(),t,2)}function cl(e,t){return Gt(e.getUTCHours(),t,2)}function pl(e,t){return Gt(e.getUTCHours()%12||12,t,2)}function Zl(e,t){return Gt(1+it.count(Zt(e),e),t,3)}function Wl(e,t){return Gt(e.getUTCMilliseconds(),t,3)}function ml(e,t){return Wl(e,t)+"000"}function Fl(e,t){return Gt(e.getUTCMonth()+1,t,2)}function Nl(e,t){return Gt(e.getUTCMinutes(),t,2)}function ul(e,t){return Gt(e.getUTCSeconds(),t,2)}function El(e){var t=e.getUTCDay();return 0===t?7:t}function bl(e,t){return Gt(rt.count(Zt(e),e),t,2)}function Sl(e,t){var l=e.getUTCDay();return e=l>=4||0===l?dt(e):dt.ceil(e),Gt(dt.count(Zt(e),e)+(4===Zt(e).getUTCDay()),t,2)}function Jl(e){return e.getUTCDay()}function Tl(e,t){return Gt(st.count(Zt(e),e),t,2)}function Gl(e,t){return Gt(e.getUTCFullYear()%100,t,2)}function Ml(e,t){return Gt(e.getUTCFullYear()%1e4,t,4)}function kl(){return"+0000"}function Yl(){return"%"}function xl(e){return+e}function Ql(e){return Math.floor(+e/1e3)}Nt=function(e){var t=e.dateTime,l=e.date,n=e.time,V=e.periods,i=e.days,a=e.shortDays,r=e.months,s=e.shortMonths,o=kt(V),h=Yt(V),d=kt(i),R=Yt(i),U=kt(a),c=Yt(a),p=kt(r),Z=Yt(r),W=kt(s),m=Yt(s),F={a:function(e){return a[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return s[e.getMonth()]},B:function(e){return r[e.getMonth()]},c:null,d:Pt,e:Pt,f:tl,H:At,I:qt,j:$t,L:el,m:ll,M:nl,p:function(e){return V[+(e.getHours()>=12)]},Q:xl,s:Ql,S:Vl,u:il,U:al,V:rl,w:sl,W:ol,x:null,X:null,y:hl,Y:dl,Z:Rl,"%":Yl},N={a:function(e){return a[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return s[e.getUTCMonth()]},B:function(e){return r[e.getUTCMonth()]},c:null,d:Ul,e:Ul,f:ml,H:cl,I:pl,j:Zl,L:Wl,m:Fl,M:Nl,p:function(e){return V[+(e.getUTCHours()>=12)]},Q:xl,s:Ql,S:ul,u:El,U:bl,V:Sl,w:Jl,W:Tl,x:null,X:null,y:Gl,Y:Ml,Z:kl,"%":Yl},u={a:function(e,t,l){var n=U.exec(t.slice(l));return n?(e.w=c[n[0].toLowerCase()],l+n[0].length):-1},A:function(e,t,l){var n=d.exec(t.slice(l));return n?(e.w=R[n[0].toLowerCase()],l+n[0].length):-1},b:function(e,t,l){var n=W.exec(t.slice(l));return n?(e.m=m[n[0].toLowerCase()],l+n[0].length):-1},B:function(e,t,l){var n=p.exec(t.slice(l));return n?(e.m=Z[n[0].toLowerCase()],l+n[0].length):-1},c:function(e,l,n){return S(e,t,l,n)},d:gt,e:gt,f:Ot,H:Ht,I:Ht,j:Bt,L:Dt,m:jt,M:vt,p:function(e,t,l){var n=o.exec(t.slice(l));return n?(e.p=h[n[0].toLowerCase()],l+n[0].length):-1}
1,Q:Lt,s:Kt,S:It,u:Qt,U:Xt,V:wt,w:xt,W:ft,x:function(e,t,n){return S(e,l,t,n)},X:function(e,t,l){return S(e,n,t,l)},y:yt,Y:zt,Z:Ct,"%":_t};function E(e,t){return function(l){var n,V,i,a=[],r=-1,s=0,o=e.length;for(l instanceof Date||(l=new Date(+l));++r<o;)37===e.charCodeAt(r)&&(a.push(e.slice(s,r)),null!=(V=bt[n=e.charAt(++r)])?n=e.charAt(++r):V="e"===n?" ":"0",(i=t[n])&&(n=i(l,V)),a.push(n),s=r+1);return a.push(e.slice(s,r)),a.join("")}}function b(e,t){return function(l){var n,V,i=Ft(1900);if(S(i,e,l+="",0)!=l.length)return null;if("Q"in i)return new Date(i.Q);if("p"in i&&(i.H=i.H%12+12*i.p),"V"in i){if(i.V<1||i.V>53)return null;"w"in i||(i.w=1),"Z"in i?(V=(n=mt(Ft(i.y))).getUTCDay(),n=V>4||0===V?st.ceil(n):st(n),n=it.offset(n,7*(i.V-1)),i.y=n.getUTCFullYear(),i.m=n.getUTCMonth(),i.d=n.getUTCDate()+(i.w+6)%7):(V=(n=t(Ft(i.y))).getDay(),n=V>4||0===V?_e.ceil(n):_e(n),n=Ie.offset(n,7*(i.V-1)),i.y=n.getFullYear(),i.m=n.getMonth(),i.d=n.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),V="Z"in i?mt(Ft(i.y)).getUTCDay():t(Ft(i.y)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(V+5)%7:i.w+7*i.U-(V+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,mt(i)):t(i)}}function S(e,t,l,n){for(var V,i,a=0,r=t.length,s=l.length;a<r;){if(n>=s)return-1;if(37===(V=t.charCodeAt(a++))){if(V=t.charAt(a++),!(i=u[V in bt?t.charAt(a++):V])||(n=i(e,l,n))<0)return-1}else if(V!=l.charCodeAt(n++))return-1}return n}return F.x=E(l,F),F.X=E(n,F),F.c=E(t,F),N.x=E(l,N),N.X=E(n,N),N.c=E(t,N),{format:function(e){var t=E(e+="",F);return t.toString=function(){return e},t},parse:function(e){var t=b(e+="",Wt);return t.toString=function(){return e},t},utcFormat:function(e){var t=E(e+="",N);return t.toString=function(){return e},t},utcParse:function(e){var t=b(e,mt);return t.toString=function(){return e},t}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Nt.format,Nt.parse,ut=Nt.utcFormat,Et=Nt.utcParse,Date.prototype.toISOString||ut("%Y-%m-%dT%H:%M:%S.%LZ"),+new Date("2000-01-01T00:00:00.000Z")||Et("%Y-%m-%dT%H:%M:%S.%LZ");var Xl="http://www.w3.org/1999/xhtml",wl={svg:"http://www.w3.org/2000/svg",xhtml:Xl,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},fl=function(e){var t=e+="",l=t.indexOf(":");return l>=0&&"xmlns"!==(t=e.slice(0,l))&&(e=e.slice(l+1)),wl.hasOwnProperty(t)?{space:wl[t],local:e}:e};function zl(e){return function(){var t=this.ownerDocument,l=this.namespaceURI;return l===Xl&&t.documentElement.namespaceURI===Xl?t.createElement(e):t.createElementNS(l,e)}}function yl(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}var Cl=function(e){var t=fl(e);return(t.local?yl:zl)(t)};function jl(){}var gl=function(e){return null==e?jl:function(){return this.querySelector(e)}};function Bl(){return[]}var Hl=function(e){return new Array(e.length)};function vl(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Il(e,t,l,n,V,i){for(var a,r=0,s=t.length,o=i.length;r<o;++r)(a=t[r])?(a.__data__=i[r],n[r]=a):l[r]=new vl(e,i[r]);for(;r<s;++r)(a=t[r])&&(V[r]=a)}function Dl(e,t,l,n,V,i,a){var r,s,o,h={},d=t.length,R=i.length,U=new Array(d);for(r=0;r<d;++r)(s=t[r])&&(U[r]=o="$"+a.call(s,s.__data__,r,t),o in h?V[r]=s:h[o]=s);for(r=0;r<R;++r)(s=h[o="$"+a.call(e,i[r],r,i)])?(n[r]=s,s.__data__=i[r],h[o]=null):l[r]=new vl(e,i[r]);for(r=0;r<d;++r)(s=t[r])&&h[U[r]]===s&&(V[r]=s)}function Ol(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function _l(e){return function(){this.removeAttribute(e)}}function Ll(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Kl(e,t){return function(){this.setAttribute(e,t)}}function Pl(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Al(e,t){return function(){var l=t.apply(this,arguments);null==l?this.removeAttribute(e):this.setAttribute(e,l)}}function ql(e,t){return function(){var l=t.apply(this,arguments);null==l?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,l)}
vendor: 4,097 bytes, line 1
1}vl.prototype={constructor:vl,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var $l=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};function en(e){return function(){this.style.removeProperty(e)}}function tn(e,t,l){return function(){this.style.setProperty(e,t,l)}}function ln(e,t,l){return function(){var n=t.apply(this,arguments);null==n?this.style.removeProperty(e):this.style.setProperty(e,n,l)}}function nn(e,t){return e.style.getPropertyValue(t)||$l(e).getComputedStyle(e,null).getPropertyValue(t)}function Vn(e){return function(){delete this[e]}}function an(e,t){return function(){this[e]=t}}function rn(e,t){return function(){var l=t.apply(this,arguments);null==l?delete this[e]:this[e]=l}}function sn(e){return e.trim().split(/^|\s+/)}function on(e){return e.classList||new hn(e)}function hn(e){this._node=e,this._names=sn(e.getAttribute("class")||"")}function dn(e,t){for(var l=on(e),n=-1,V=t.length;++n<V;)l.add(t[n])}function Rn(e,t){for(var l=on(e),n=-1,V=t.length;++n<V;)l.remove(t[n])}function Un(e){return function(){dn(this,e)}}function cn(e){return function(){Rn(this,e)}}function pn(e,t){return function(){(t.apply(this,arguments)?dn:Rn)(this,e)}}function Zn(){this.textContent=""}function Wn(e){return function(){this.textContent=e}}function mn(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Fn(){this.innerHTML=""}function Nn(e){return function(){this.innerHTML=e}}function un(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function En(){this.nextSibling&&this.parentNode.appendChild(this)}function bn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Sn(){return null}function Jn(){var e=this.parentNode;e&&e.removeChild(this)}function Tn(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Gn(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}hn.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Mn={},kn=null;function Yn(e,t,l){return e=xn(e,t,l),function(t){var l=t.relatedTarget;l&&(l===this||8&l.compareDocumentPosition(this))||e.call(this,t)}}function xn(e,t,l){return function(n){var V=kn;kn=n;try{e.call(this,this.__data__,t,l)}finally{kn=V}}}function Qn(e){return e.trim().split(/^|\s+/).map((function(e){var t="",l=e.indexOf(".");return l>=0&&(t=e.slice(l+1),e=e.slice(0,l)),{type:e,name:t}}))}function Xn(e){return function(){var t=this.__on;if(t){for(var l,n=0,V=-1,i=t.length;n<i;++n)l=t[n],e.type&&l.type!==e.type||l.name!==e.name?t[++V]=l:this.removeEventListener(l.type,l.listener,l.capture);++V?t.length=V:delete this.__on}}}function wn(e,t,l){var n=Mn.hasOwnProperty(e.type)?Yn:xn;return function(V,i,a){var r,s=this.__on,o=n(t,i,a);if(s)for(var h=0,d=s.length;h<d;++h)if((r=s[h]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.capture),this.addEventListener(r.type,r.listener=o,r.capture=l),void(r.value=t);this.addEventListener(e.type,o,l),r={type:e.type,name:e.name,value:t,listener:o,capture:l},s?s.push(r):this.__on=[r]}}function fn(e,t,l){var n=$l(e),V=n.CustomEvent;"function"==typeof V?V=new V(t,l):(V=n.document.createEvent("Event"),l?(V.initEvent(t,l.bubbles,l.cancelable),V.detail=l.detail):V.initEvent(t,!1,!1)),e.dispatchEvent(V)}function zn(e,t){return function(){return fn(this,e,t)}}function yn(e,t){return function(){return fn(this,e,t.apply(this,arguments))}}"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Mn={mouseenter:"mouseover",mouseleave:"mou
1seout"}));var Cn=[null];function jn(e,t){this._groups=e,this._parents=t}function gn(){return new jn([[document.documentElement]],Cn)}jn.prototype=gn.prototype={constructor:jn,select:function(e){"function"!=typeof e&&(e=gl(e));for(var t=this._groups,l=t.length,n=new Array(l),V=0;V<l;++V)for(var i,a,r=t[V],s=r.length,o=n[V]=new Array(s),h=0;h<s;++h)(i=r[h])&&(a=e.call(i,i.__data__,h,r))&&("__data__"in i&&(a.__data__=i.__data__),o[h]=a);return new jn(n,this._parents)},selectAll:function(e){var t;"function"!=typeof e&&(e=null==(t=e)?Bl:function(){return this.querySelectorAll(t)});for(var l=this._groups,n=l.length,V=[],i=[],a=0;a<n;++a)for(var r,s=l[a],o=s.length,h=0;h<o;++h)(r=s[h])&&(V.push(e.call(r,r.__data__,h,s)),i.push(r));return new jn(V,i)},filter:function(e){var t;"function"!=typeof e&&(t=e,e=function(){return this.matches(t)});for(var l=this._groups,n=l.length,V=new Array(n),i=0;i<n;++i)for(var a,r=l[i],s=r.length,o=V[i]=[],h=0;h<s;++h)(a=r[h])&&e.call(a,a.__data__,h,r)&&o.push(a);return new jn(V,this._parents)},data:function(e,t){if(!e)return c=new Array(this.size()),h=-1,this.each((function(e){c[++h]=e})),c;var l,n=t?Dl:Il,V=this._parents,i=this._groups;"function"!=typeof e&&(l=e,e=function(){return l});for(var a=i.length,r=new Array(a),s=new Array(a),o=new Array(a),h=0;h<a;++h){var d=V[h],R=i[h],U=R.length,c=e.call(d,d&&d.__data__,h,V),p=c.length,Z=s[h]=new Array(p),W=r[h]=new Array(p);n(d,R,Z,W,o[h]=new Array(U),c,t);for(var m,F,N=0,u=0;N<p;++N)if(m=Z[N]){for(N>=u&&(u=N+1);!(F=W[u])&&++u<p;);m._next=F||null}}return(r=new jn(r,V))._enter=s,r._exit=o,r},enter:function(){return new jn(this._enter||this._groups.map(Hl),this._parents)},exit:function(){return new jn(this._exit||this._groups.map(Hl),this._parents)},join:function(e,t,l){var n=this.enter(),V=this,i=this.exit();return n="function"==typeof e?e(n):n.append(e+""),null!=t&&(V=t(V)),null==l?i.remove():l(i),n&&V?n.merge(V).order():V},merge:function(e){for(var t=this._groups,l=e._groups,n=t.length,V=l.length,i=Math.min(n,V),a=new Array(n),r=0;r<i;++r)for(var s,o=t[r],h=l[r],d=o.length,R=a[r]=new Array(d),U=0;U<d;++U)(s=o[U]||h[U])&&(R[U]=s);for(;r<n;++r)a[r]=t[r];return new jn(a,this._parents)},order:function(){for(var e=this._groups,t=-1,l=e.length;++t<l;)for(var n,V=e[t],i=V.length-1,a=V[i];--i>=0;)(n=V[i])&&(a&&4^n.compareDocumentPosition(a)&&a.parentNode.insertBefore(n,a),a=n);return this},sort:function(e){function t(t,l){return t&&l?e(t.__data__,l.__data__):!t-!l}e||(e=Ol);for(var l=this._groups,n=l.length,V=new Array(n),i=0;i<n;++i){for(var a,r=l[i],s=r.length,o=V[i]=new Array(s),h=0;h<s;++h)(a=r[h])&&(o[h]=a);o.sort(t)}return new jn(V,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=new Array(this.size()),t=-1;return this.each((function(){e[++t]=this})),e},node:function(){for(var e=this._groups,t=0,l=e.length;t<l;++t)for(var n=e[t],V=0,i=n.length;V<i;++V){var a=n[V];if(a)return a}return null},size:function(){var e=0;return this.each((function(){++e})),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,l=0,n=t.length;l<n;++l)for(var V,i=t[l],a=0,r=i.length;a<r;++a)(V=i[a])&&e.call(V,V.__data__,a,i);return this},attr:function(e,t){var l=fl(e);if(arguments.length<2){var n=this.node();return l.local?n.getAttributeNS(l.space,l.local):n.getAttribute(l)}return this.each((null==t?l.local?Ll:_l:"function"==typeof t?l.local?ql:Al:l.local?Pl:Kl)(l,t))},style:function(e,t,l){return arguments.length>1?this.each((null==t?en:"function"==typeof t?ln:tn)(e,t,null==l?"":l)):nn(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?Vn:"function"==typeof t?rn:an)(e,t)):this.node()[e]},classed:function(e,t){var l=sn(e+"");if(arguments.length<2){for(var n=on(this.node()),V=-1,i=l.length;++V<i;)if(!n.contains(l[V]))return!1;return!0}return this.each(("function"==typeof t?pn:t?Un:cn)(l,t))},text:function(e){return arguments.length?this.each(null==e?Zn:("function"==typeof e?mn:Wn)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Fn:("function"==typeof e?un:Nn)(e)):this.node().innerHTML},raise:function(){return this.each(En)},lower:function(){return this.each(bn)},append:function(e){var t="function"==typeof e?e:Cl(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var l="function"==typeof e?e:Cl(e),n=null==t?Sn:"function"==typeof t?t:gl(t);return this.select((function(){return this.insertBefore(l.apply(this,arguments),n.apply(this,arguments)||null)}))},remove:function(){return this.each(Jn)},clone:function(e){return this.select(e?Gn:Tn)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,l){var n,V,i=Qn(e+""),a=i.length;if(!(arguments.length<2)){for(r=t?wn:Xn,null==l&&(l=!1),n=0;n<a;++n)this.each(r(i[n],t,l));return this}var r=this.node().__on;if(r)for(var s,o=0,h=r.length;o<h;++o)for(n=0,s=r[o];n<a;++n)if((V=i[n]).type===s.type&&V.name===s.name)return s.value},dispatch:function(e,t){return this.each(("function"==typeof t?yn:zn)(e,t))}};var Bn=function(e){return"string"==typeof e?new jn([[document.querySelector(e)]],[document.documentElement]):new jn([[e]],Cn)},Hn=0;function vn(){this._="@"+(++Hn).toString(36)}vn.prototype=function(){return new vn}.prototype={constructor:vn,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};var In={get event(){return kn},scaleOrdinal:o,select:Bn,selectAll:function(e){return"string"==typeof e?new jn([document.querySelectorAll(e)],[document.documentElement]):new jn([null==e?[]:e],Cn)}};class Dn{constructor(e,t,l){this.width=1e3,this.height=1e3,this.color=In.scaleOrdinal(l),this.svg=In.select(e),this.axes=t,this.radius=360,this.legendRadius=420,this.leftPadding=this.width/2-this.radius,this.topPadding=this.height/2-this.radius-20,this.draw=this.draw.bind(this),this.onClick=null,this.radTotal=2*Math.PI/this.axes.length,this.translateAreaPoints=this.translateAreaPoints.bind(this),this.baseFontSize=this.radius/17,this.offset=.25*t.length;const n=[];t.forEach(((e,l)=>{const V=(l+this.offset)/t.length*2*Math.PI;let i=Math.round(this.legendRadius*Math.cos(V)),a=Math.round(this.legendRadius*Math.sin(V));0!==i&&0!==a&&(a*=1.05,i*=1.15),n.push({x:this.width/2-i,y:this.height/2-a})})),this.labelPos=n}drawAxes(e){for(let t=1;t<=6;t++){const l=this.radius*(t/6);e.selectAll(".levels").data(this.axes).enter().append("line").attr("x1",((e,t)=>
1l*(1-Math.cos((t+this.offset)*this.radTotal)))).attr("y1",((e,t)=>l*(1-Math.sin((t+this.offset)*this.radTotal)))).attr("x2",((e,t)=>l*(1-Math.cos((t+this.offset+1)*this.radTotal)))).attr("y2",((e,t)=>l*(1-Math.sin((t+this.offset+1)*this.radTotal)))).attr("transform",`translate(${this.radius-l+this.leftPadding}, ${this.radius-l+this.topPadding})`).attr("class","radar-chart--circular-segment").style("stroke","grey").style("stroke-opacity",".6").style("stroke-width",".08em")}const t=e.selectAll(".axis").data(this.axes).enter().append("g").attr("class","axis");t.append("line").attr("x1",this.radius+this.leftPadding).attr("y1",this.radius+this.topPadding).attr("x2",((e,t)=>this.radius*(1-Math.cos((t+this.offset)*this.radTotal))+this.leftPadding)).attr("y2",((e,t)=>this.radius*(1-Math.sin((t+this.offset)*this.radTotal))+this.topPadding)).attr("dx",this.leftPadding).attr("dy",this.topPadding).style("stroke","grey").style("stroke-opacity",".7").style("stroke-width","0.1rem").attr("class","radar-chart--axis-line"),t.append("foreignObject").attr("x",((e,t)=>this.labelPos[t].x-157.5)).attr("y",((e,t)=>this.labelPos[t].y-32)).attr("width",315).attr("height",64).append("xhtml:div").attr("class","axis-legend").style("font-size","1.2em").style("color","rgba(255, 255, 255, 0.75)").style("text-align","center").html((e=>e.label))}draw(e){this.svg.style("font-size",this.baseFontSize+"px").style("font-family","inherit"),this.svg.select("g").remove();const t=this.svg.append("g").attr("fill","black").attr("transform","translate(0,30)");if(this.drawAxes(t),Math.max(...e.map((e=>e.filter((e=>e&&null!==e.value)).length)))<2)return void this.svg.append("g").append("text").attr("class","radar-chart--no-data").style("font-size","2em").style("fill","white").style("text-anchor","middle").style("text-shadow","0 0 0.5em black, 0 0 1em black").text("No actual data").attr("transform",`translate(${this.radius+this.leftPadding}, ${this.radius+45+this.topPadding})`);let l=0;const n=e.length;e.forEach(((e,V)=>{const i=[];t.selectAll(".nodes").data(e,((e,t)=>i.push(this.getRadialCoordinates(e,t)))),t.selectAll(".area").data([i]).enter().append("path").style("stroke",this.color(l)).style("stroke-width","0.25rem").style("fill","none").attr("d",Dn.translatePoints).on("click",this.onClick),t.selectAll(".area").data([i]).enter().append("path").style("opacity",".15").style("fill",this.color(l)).attr("d",this.translateAreaPoints).on("mouseover",(function(){In.select(this).style("opacity","0.4")})).on("mouseleave",(function(){In.select(this).style("opacity",".15")}));const a=t.selectAll(".nodes").data(e).enter().append("g");a.append("circle").attr("r",(e=>null===e.value||void 0===e.value?0:7)).attr("cx",((e,t)=>this.getRadialCoordinates(e,t).x)).attr("cy",((e,t)=>this.getRadialCoordinates(e,t).y)).style("fill",this.color(l)).on("click",this.onClick),a.append("text").attr("class","axis-value").text((e=>null===e.value?"—":e.label)).attr("text-anchor",(()=>1===n?"middle":0===V?"end":"start")).style("fill",this.color(l)).style("font-weight","500").style("font-size","1.1em").attr("x",((e,t)=>1===n?this.labelPos[t].x:this.labelPos[t].x+(0===V?-7:7))).attr("y",((e,t)=>this.labelPos[t].y-40)),l++}))}static translatePoints(e){e.push(e[0]);let t=null;return e.map((e=>e.x&&e.y?!t||t.isHidden||e.isHidden?(t=e,`M ${e.x} ${e.y}`):`L ${e.x} ${e.y}`:(t=e,""))).join(" ")}translateAreaPoints(e){return e.push(e[0]),e.map(((e,t)=>(e.x&&e.y||(e.x=this.radius+this.leftPadding,e.y=this.radius+this.topPadding),0===t?`M ${e.x} ${e.y}`:`L ${e.x} ${e.y}`))).join(" ")}getRadialCoordinates(e,t){if(null===e.value||void 0===e.value)return{x:null,y:null,isHidden:!0};const l=this.axes.find((t=>t.code===e.axis));let[n,V]=l.range,i=e.value;V<n&&([n,V]=[V,n],i=V-i,V-=n,n=0),i>V?i=V:i<n&&(i=n);const a=this.radius*(1-(i-n)/(V-n)*Math.cos((t+this.offset)*this.radTotal))+this.leftPadding;let r=this.radius*(1-(i-n)/(V-n)*Math.sin((t+this.offset)*this.radTotal))+this.topPadding;return r===this.radius+this.topPadding&&(r+=1e-4),{x:a,y:r,isHidden:!1}}}t.default=Dn}])},2812:function(){},55041:function(){},99540:function(e,t,l){"use strict";e.exports=l.p+"carbonRendererApi4e24.wasm"},59683:function(e,t,l){"use strict";l.d(t,{Vb:function(){return In},ai:function(){return mi}});var n=Object.defineProperty,V=(e,t,l)=>(((e,t,l)=>{t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l})(e,"symbol"!=typeof t?t+"":t,l),l),i=(e,t,l)=>{if(!t.has(e))throw TypeError("Cannot "+l)},a=(e,t,l)=>(i(e,t,"read from private field"),l?l.call(e):t.get(e)),r=(e,t,l)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,l)},s=(e,t,l,n)=>(i(e,t,"write to private field"),n?n.call(e,l):t.set(e,l),l),o=(e,t,l,n)=>({set _(n){s(e,t,n,l)},get _(){return a(e,t,n)}}),h=(e,t,l)=>(i(e,t,"access private method"),l),d=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function R(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var l=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};l.prototype=t.prototype}else l={};
1return Object.defineProperty(l,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(l,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})})),l}var U,c={},p={},Z={},W={exports:{}};(U=W).exports=function e(t,l,n){var V,i,a=window,r="application/octet-stream",s=n||r,o=t,h=!l&&!n&&o,d=document.createElement("a"),R=function(e){return String(e)},U=a.Blob||a.MozBlob||a.WebKitBlob||R,c=l||"download";if(U=U.call?U.bind(a):Blob,"true"===String(this)&&(s=(o=[o,s])[0],o=o[1]),h&&h.length<2048&&(c=h.split("/").pop().split("?")[0],d.href=h,-1!==d.href.indexOf(h))){var p=new XMLHttpRequest;return p.open("GET",h,!0),p.responseType="blob",p.onload=function(t){e(t.target.response,c,r)},setTimeout((function(){p.send()}),0),p}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(o)){if(!(o.length>2096103.424&&U!==R))return navigator.msSaveBlob?navigator.msSaveBlob(F(o),c):N(o);s=(o=F(o)).type||r}else if(/([\x80-\xff])/.test(o)){for(var Z=0,W=new Uint8Array(o.length),m=W.length;Z<m;++Z)W[Z]=o.charCodeAt(Z);o=new U([W],{type:s})}function F(e){for(var t=e.split(/[:;,]/),l=t[1],n=("base64"==t[2]?atob:decodeURIComponent)(t.pop()),V=n.length,i=0,a=new Uint8Array(V);i<V;++i)a[i]=n.charCodeAt(i);return new U([a],{type:l})}function N(e,t){if("download"in d)return d.href=e,d.setAttribute("download",c),d.className="download-js-link",d.innerHTML="downloading...",d.style.display="none",document.body.appendChild(d),setTimeout((function(){d.click(),document.body.removeChild(d),!0===t&&setTimeout((function(){a.URL.revokeObjectURL(d.href)}),250)}),66),!0;if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))return/^data:/.test(e)&&(e="data:"+e.replace(/^data:([\w\/\-\+]+)/,r)),window.open(e)||confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=e),!0;var l=document.createElement("iframe");document.body.appendChild(l),!t&&/^data:/.test(e)&&(e="data:"+e.replace(/^data:([\w\/\-\+]+)/,r)),l.src=e,setTimeout((function(){document.body.removeChild(l)}),333)}if(V=o instanceof U?o:new U([o],{type:s}),navigator.msSaveBlob)return navigator.msSaveBlob(V,c);if(a.URL)N(a.URL.createObjectURL(V),!0);else{if("string"==typeof V||V.constructor===R)try{return N("data:"+s+";base64,"+a.btoa(V))}catch{return N("data:"+s+","+encodeURIComponent(V))}(i=new FileReader).onload=function(e){N(this.result)},i.readAsDataURL(V)}return!0};var m=W.exports,F={},N={},u={};Object.defineProperty(u,"__esModule",{value:!0}),u.isArray=void 0,u.isArray=function(e){if(null===e||typeof e>"u")return!1;const t=e.length;return"function"!=typeof e&&"string"!=typeof e&&("number"==typeof t&&t>-1&&t%1==0)};var E={},b={};Object.defineProperty(b,"__esModule",{value:!0}),b.isObject=void 0,b.isObject=function(e){return!(!e||"object"!=typeof e||Array.isArray(e))},Object.defineProperty(E,"__esModule",{value:!0}),E.isNumber=void 0;const S=b;E.isNumber=function(e){try{return"number"==typeof e&&!isNaN(+e)||(0,S.isObject)(e)&&"[object Number]"===Object.prototype.toString.call(e)}catch{return!1}},Object.defineProperty(N,"__esModule",{value:!0}),N.arrayToMatrix=void 0;const J=u,T=E;N.arrayToMatrix=function(e,t){if((0,J.isArray)(e)&&(0,T.isNumber)(t)&&t>0)return e.reduce(((e,l,n)=>(n%t==0?e.push([l]):e[e.length-1].push(l))&&e),[]);throw new Error("Invalid arguments")};var G={},M={},k={};Object.defineProperty(k,"__esModule",{value:!0}),k.isMap=void 0;const Y=b;k.isMap=function(e){try{return(0,Y.isObject)(e)&&"[object Map]"===Object.prototype.toString.call(e)}catch{return!1}};var x={};Object.defineProperty(x,"__esModule",{value:!0}),x.isSet=void 0;const Q=b;x.isSet=function(e){try{return(0,Q.isObject)(e)&&"[object Set]"===Object.prototype.toString.call(e)}catch{return!1}};var X={};Object.defineProperty(X,"__esModule",{value:!0}),X.isString=void 0;const w=b;X.isString=function(e){try{return"string"==typeof e||(0,w.isObject)(e)&&"[object String]"===Object.prototype.toString.call(e)}catch{return!1}},Object.defineProperty(M,"__esModule",{value:!0}),M.isEmpty=void 0;const f=u,z=k,y=b,C=x,j=X;M.isEmpty=function(e){return(0,j.isString)(e)||(0,f.isArray)(e)?0===e.length:(0,z.isMap)(e)||(0,C.isSet)(e)?0===e.size:(0,y.isObject)(e)?0===Object.keys(e).length:!e}
1,Object.defineProperty(G,"__esModule",{value:!0}),G.calculateAspectRatioFit=void 0;const g=M,B=E;G.calculateAspectRatioFit=function(e,t,l,n){if((0,B.isNumber)(e)&&(0,B.isNumber)(t)&&(0,B.isNumber)(l)){const V=l/e,i=(0,B.isNumber)(n)&&!(0,g.isEmpty)(n)?n/t:1,a=Math.min(V,i);return{width:e*a,height:t*a}}throw new Error("Invalid arguments")};var H={};function v(e){var t;return"string"!=typeof e?[0,0,0]:(null==(t=e.match(/[-]{0,1}[\d]*[.]{0,1}[\d]+/g))?void 0:t.map(Number))??[0,0,0]}function I(e){return Array.isArray(e)?e.every((e=>isNaN(+e)))?[0,0,0]:e.map(((e,t,l)=>4===l.length&&t===l.length-1?e:e/255)):[0,0,0]}Object.defineProperty(H,"__esModule",{value:!0}),H.rgbArrayToRGBString=H.rgbStringToNumeric=H.rgbArrayToNumeric=H.rgbStringToArray=void 0,H.rgbStringToArray=v,H.rgbArrayToNumeric=I,H.rgbStringToNumeric=function(e){return I(v(e))},H.rgbArrayToRGBString=function(e){if(!Array.isArray(e)||e.every((e=>isNaN(+e))))return"rgb(0, 0, 0)";const[t,l,n]=e;return`rgb(${Math.round(100*t*255/100)}, ${Math.round(100*l*255/100)}, ${Math.round(100*n*255/100)})`};var D={};Object.defineProperty(D,"__esModule",{value:!0}),D.toSeconds=void 0,D.toSeconds=function(e,t=2){return Number(e/1e3).toFixed(t)};var O={};
1Object.defineProperty(O,"__esModule",{value:!0}),O.deepMerge=void 0;const _=b,L=M;O.deepMerge=function e(t,l){const n=Object.assign({},t);return(0,_.isObject)(t)&&(0,_.isObject)(l)&&Object.keys(l).forEach((V=>{(0,_.isObject)(l[V])?V in t?n[V]=e(t[V],l[V]):Object.assign(n,{[V]:l[V]}):Object.assign(n,{[V]:l[V]})})),(0,L.isEmpty)(t)&&!(0,L.isEmpty)(l)?Object.assign({},l):n};var K,P={},A=Error,q=EvalError,$=RangeError,ee=ReferenceError,te=SyntaxError,le=TypeError,ne=URIError,Ve=typeof Symbol<"u"&&Symbol,ie=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),l=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(l))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var V=Object.getOwnPropertyDescriptor(e,t);if(42!==V.value||!0!==V.enumerable)return!1}return!0},ae={__proto__:null,foo:{}},re=Object,se=Object.prototype.toString,oe=Math.max,he=function(e,t){for(var l=[],n=0;n<e.length;n+=1)l[n]=e[n];for(var V=0;V<t.length;V+=1)l[V+e.length]=t[V];return l},de=function(e){var t=this;if("function"!=typeof t||"[object Function]"!==se.apply(t))throw new TypeError("Function.prototype.bind called on incompatible "+t);for(var l,n=function(e,t){for(var l=[],n=t||0,V=0;n<e.length;n+=1,V+=1)l[V]=e[n];return l}(arguments,1),V=oe(0,t.length-n.length),i=[],a=0;a<V;a++)i[a]="$"+a;if(l=Function("binder","return function ("+function(e,t){for(var l="",n=0;n<e.length;n+=1)l+=e[n],n+1<e.length&&(l+=t);return l}(i,",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof l){var V=t.apply(this,he(n,arguments));return Object(V)===V?V:this}return t.apply(e,he(n,arguments))})),t.prototype){var r=function(){};r.prototype=t.prototype,l.prototype=new r,r.prototype=null}return l},Re=Function.prototype.bind||de,Ue=Function.prototype.call,ce=Object.prototype.hasOwnProperty,pe=Re.call(Ue,ce),Ze=A,We=q,me=$,Fe=ee,Ne=te,ue=le,Ee=ne,be=Function,Se=function(e){try{return be('"use strict"; return ('+e+").constructor;")()}catch{}},Je=Object.getOwnPropertyDescriptor;if(Je)try{Je({},"")}catch{Je=null}var Te=function(){throw new ue},Ge=Je?function(){try{return Te}catch{try{return Je(arguments,"callee").get}catch{return Te}}}():Te,Me="function"==typeof Ve&&"function"==typeof Symbol&&"symbol"==typeof Ve("foo")&&"symbol"==typeof Symbol("bar")&&ie(),ke={__proto__:ae}.foo===ae.foo&&!(ae instanceof re),Ye=Object.getPrototypeOf||(ke?function(e){return e.__proto__}:null),xe={},Qe=typeof Uint8Array>"u"||!Ye?K:Ye(Uint8Array),Xe={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?K:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?K:ArrayBuffer,"%ArrayIteratorPrototype%":Me&&Ye?Ye([][Symbol.iterator]()):K,"%AsyncFromSyncIteratorPrototype%":K,"%AsyncFunction%":xe,"%AsyncGenerator%":xe,"%AsyncGeneratorFunction%":xe,"%AsyncIteratorPrototype%":xe,"%Atomics%":typeof Atomics>"u"?K:Atomics,"%BigInt%":typeof BigInt>"u"?K:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?K:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?K:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?K:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Ze,"%eval%":eval,"%EvalError%":We,"%Float32Array%":typeof Float32Array>"u"?K:Float32Array,"%Float64Array%":typeof Float64Array>"u"?K:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?K:FinalizationRegistry,"%Function%":be,"%GeneratorFunction%":xe,"%Int8Array%":typeof Int8Array>"u"?K:Int8Array,"%Int16Array%":typeof Int16Array>"u"?K:Int16Array,"%Int32Array%":typeof Int32Array>
1"u"?K:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Me&&Ye?Ye(Ye([][Symbol.iterator]())):K,"%JSON%":"object"==typeof JSON?JSON:K,"%Map%":typeof Map>"u"?K:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Me||!Ye?K:Ye((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?K:Promise,"%Proxy%":typeof Proxy>"u"?K:Proxy,"%RangeError%":me,"%ReferenceError%":Fe,"%Reflect%":typeof Reflect>"u"?K:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?K:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Me||!Ye?K:Ye((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?K:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Me&&Ye?Ye(""[Symbol.iterator]()):K,"%Symbol%":Me?Symbol:K,"%SyntaxError%":Ne,"%ThrowTypeError%":Ge,"%TypedArray%":Qe,"%TypeError%":ue,"%Uint8Array%":typeof Uint8Array>"u"?K:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?K:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?K:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?K:Uint32Array,"%URIError%":Ee,"%WeakMap%":typeof WeakMap>"u"?K:WeakMap,"%WeakRef%":typeof WeakRef>"u"?K:WeakRef,"%WeakSet%":typeof WeakSet>"u"?K:WeakSet};if(Ye)try{null.error}catch(U){var we=Ye(Ye(U));Xe["%Error.prototype%"]=we}var fe,ze,ye=function e(t){var l;if("%AsyncFunction%"===t)l=Se("async function () {}");else if("%GeneratorFunction%"===t)l=Se("function* () {}");else if("%AsyncGeneratorFunction%"===t)l=Se("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(l=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var V=e("%AsyncGenerator%");V&&Ye&&(l=Ye(V.prototype))}return Xe[t]=l,l},Ce={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]}
vendor: 21,034 bytes, line 1
1,je=Re,ge=pe,Be=je.call(Function.call,Array.prototype.concat),He=je.call(Function.apply,Array.prototype.splice),ve=je.call(Function.call,String.prototype.replace),Ie=je.call(Function.call,String.prototype.slice),De=je.call(Function.call,RegExp.prototype.exec),Oe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,_e=/\\(\\)?/g,Le=function(e,t){var l,n=e;if(ge(Ce,n)&&(n="%"+(l=Ce[n])[0]+"%"),ge(Xe,n)){var V=Xe[n];if(V===xe&&(V=ye(n)),typeof V>"u"&&!t)throw new ue("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:l,name:n,value:V}}throw new Ne("intrinsic "+e+" does not exist!")},Ke=function(e,t){if("string"!=typeof e||0===e.length)throw new ue("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new ue('"allowMissing" argument must be a boolean');if(null===De(/^%?[^%]*%?$/,e))throw new Ne("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var l=function(e){var t=Ie(e,0,1),l=Ie(e,-1);if("%"===t&&"%"!==l)throw new Ne("invalid intrinsic syntax, expected closing `%`");if("%"===l&&"%"!==t)throw new Ne("invalid intrinsic syntax, expected opening `%`");var n=[];return ve(e,Oe,(function(e,t,l,V){n[n.length]=l?ve(V,_e,"$1"):t||e})),n}(e),n=l.length>0?l[0]:"",V=Le("%"+n+"%",t),i=V.name,a=V.value,r=!1,s=V.alias;s&&(n=s[0],He(l,Be([0,1],s)));for(var o=1,h=!0;o<l.length;o+=1){var d=l[o],R=Ie(d,0,1),U=Ie(d,-1);if(('"'===R||"'"===R||"`"===R||'"'===U||"'"===U||"`"===U)&&R!==U)throw new Ne("property names with quotes must have matching quotes");if(("constructor"===d||!h)&&(r=!0),ge(Xe,i="%"+(n+="."+d)+"%"))a=Xe[i];else if(null!=a){if(!(d in a)){if(!t)throw new ue("base intrinsic for "+e+" exists, but the property is not available.");return}if(Je&&o+1>=l.length){var c=Je(a,d);a=(h=!!c)&&"get"in c&&!("originalValue"in c.get)?c.get:a[d]}else h=ge(a,d),a=a[d];h&&!r&&(Xe[i]=a)}}return a},Pe={exports:{}};function Ae(){if(ze)return fe;ze=1;var e=Ke("%Object.defineProperty%",!0)||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return fe=e}var qe=Ke("%Object.getOwnPropertyDescriptor%",!0);if(qe)try{qe([],"length")}catch{qe=null}var $e=qe,et=Ae(),tt=te,lt=le,nt=$e,Vt=Ae(),it=function(){return!!Vt};it.hasArrayLengthDefineBug=function(){if(!Vt)return null;try{return 1!==Vt([],"length",{value:1}).length}catch{return!0}};var at=Ke,rt=function(e,t,l){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new lt("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new lt("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new lt("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new lt("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new lt("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new lt("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,V=arguments.length>4?arguments[4]:null,i=arguments.length>5?arguments[5]:null,a=arguments.length>6&&arguments[6],r=!!nt&&nt(e,t);if(et)et(e,t,{configurable:null===i&&r?r.configurable:!i,enumerable:null===n&&r?r.enumerable:!n,value:l,writable:null===V&&r?r.writable:!V});else{if(!a&&(n||V||i))throw new tt("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=l}},st=it(),ot=$e,ht=le,dt=at("%Math.floor%"),Rt=function(e,t){if("function"!=typeof e)throw new ht("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||dt(t)!==t)throw new ht("`length` must be a positive 32-bit integer");var l=arguments.length>2&&!!arguments[2],n=!0,V=!0;if("length"in e&&ot){var i=ot(e,"length");i&&!i.configurable&&(n=!1),i&&!i.writable&&(V=!1)}return(n||V||!l)&&(st?rt(e,"length",t,!0,!0):rt(e,"length",t)),e};!function(e){var t=Re,l=Ke,n=Rt,V=le,i=l("%Function.prototype.apply%"),a=l("%Function.prototype.call%"),r=l("%Reflect.apply%",!0)||t.call(a,i),s=Ae(),o=l("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new V("a function is required");var l=r(t,a,arguments);return n(l,1+o(0,e.length-(arguments.length-1)),!0)};var h=function(){return r(t,i,arguments)};s?s(e.exports,"apply",{value:h}):e.exports.apply=h}(Pe);var Ut=Ke,ct=Pe.exports,pt=ct(Ut("String.prototype.indexOf"));const Zt=R(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var Wt="function"==typeof Map&&Map.prototype,mt=Object.getOwnPropertyDescriptor&&Wt?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Ft=Wt&&mt&&"function"==typeof mt.get?mt.get:null,Nt=Wt&&Map.prototype.forEach,ut="function"==typeof Set&&Set.prototype,Et=Object.getOwnPropertyDescriptor&&ut?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,bt=ut&&Et&&"function"==typeof Et.get?Et.get:null,St=ut&&Set.prototype.forEach,Jt="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,Tt="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,Gt="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,Mt=Boolean.prototype.valueOf,kt=Object.prototype.toString,Yt=Function.prototype.toString,xt=String.prototype.match,Qt=String.prototype.slice,Xt=String.prototype.replace,wt=String.prototype.toUpperCase,ft=String.prototype.toLowerCase,zt=RegExp.prototype.test,yt=Array.prototype.concat,Ct=Array.prototype.join,jt=Array.prototype.slice,gt=Math.floor,Bt="function"==typeof BigInt?BigInt.prototype.valueOf:null,Ht=Object.getOwnPropertySymbols,vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,It="function"==typeof Symbol&&"object"==typeof Symbol.iterator,Dt="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,Ot=Object.prototype.propertyIsEnumerable,_t=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function Lt(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||zt.call(/e/,t))return t;var l=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var n=e<0?-gt(-e):gt(e);if(n!==e){var V=String(n),i=Qt.call(t,V.length+1);return Xt.call(V,l,"$&_")+"."+Xt.call(Xt.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Xt.call(t,l,"$&_")}var Kt=Zt,Pt=Kt.custom,At=ll(Pt)?Pt:null;function qt(e,t,l){var n="double"===(l.quoteStyle||t)?'"':"'";return n+e+n}function $t(e){return Xt.call(String(e),/"/g,"&quot;")}function el(e){return!("[object Array]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}function tl(e){return!("[object RegExp]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}function ll(e){if(It)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!vt)return!1;try{return vt.call(e),!0}catch{}return!1}var nl=Object.prototype.hasOwnProperty||function(e){return e in this};function Vl(e,t){return nl.call(e,t)}function il(e){return kt.call(e)}function al(e,t){if(e.indexOf)return e.indexOf(t);for(var l=0,n=e.length;l<n;l++)if(e[l]===t)return l;return-1}function rl(e,t){if(e.length>t.maxStringLength){var l=e.length-t.maxStringLength,n="... "+l+" more character"+(l>1?"s":"");return rl(Qt.call(e,0,t.maxStringLength),t)+n}return qt(Xt.call(Xt.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,sl),"single",t)}function sl(e){var t=e.charCodeAt(0),l={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return l?"\\"+l:"\\x"+(t<16?"0":"")+wt.call(t.toString(16))}function ol(e){return"Object("+e+")"}function hl(e){return e+" { ? }"}function dl(e,t,l,n){return e+" ("+t+") {"+(n?Rl(l,n):Ct.call(l,", "))+"}"}function Rl(e,t){if(0===e.length)return"";var l="\n"+t.prev+t.base;return l+Ct.call(e,","+l)+"\n"+t.prev}function Ul(e,t){var l=el(e),n=[];if(l){n.length=e.length;for(var V=0;V<e.length;V++)n[V]=Vl(e,V)?t(e[V],e):""}var i,a="function"==typeof Ht?Ht(e):[];if(It){i={};for(var r=0;r<a.length;r++)i["$"+a[r]]=a[r]}for(var s in e)Vl(e,s)&&(l&&String(Number(s))===s&&s<e.length||It&&i["$"+s]instanceof Symbol||(zt.call(/[^\w$]/,s)?n.push(t(s,e)+": "+t(e[s],e)):n.push(s+": "+t(e[s],e))));if("function"==typeof Ht)for(var o=0;o<a.length;o++)Ot.call(e,a[o])&&n.push("["+t(a[o])+"]: "+t(e[a[o]],e));return n}var cl=Ke,pl=function(e,t){var l=Ut(e,!!t);return"function"==typeof l&&pt(e,".prototype.")>-1?ct(l):l},Zl=function e(t,l,n,V){var i=l||{};if(Vl(i,"quoteStyle")&&"single"!==i.quoteStyle&&"double"!==i.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Vl(i,"maxStringLength")&&("number"==typeof i.maxStringLength?i.maxStringLength<0&&i.maxStringLength!==1/0:null!==i.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=!Vl(i,"customInspect")||i.customInspect;if("boolean"!=typeof a&&"symbol"!==a)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Vl(i,"indent")&&null!==i.indent&&"\t"!==i.indent&&!(parseInt(i.indent,10)===i.indent&&i.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Vl(i,"numericSeparator")&&"boolean"!=typeof i.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var r=i.numericSeparator;if(typeof t>"u")return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return rl(t,i);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var s=String(t);return r?Lt(t,s):s}if("bigint"==typeof t){var o=String(t)+"n";return r?Lt(t,o):o}var h=typeof i.depth>"u"?5:i.depth;if(typeof n>"u"&&(n=0),n>=h&&h>0&&"object"==typeof t)return el(t)?"[Array]":"[Object]";var R=function(e,t){var l;if("\t"===e.indent)l="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;l=Ct.call(Array(e.indent+1)," ")}return{base:l,prev:Ct.call(Array(t+1),l)}}(i,n);if(typeof V>"u")V=[];else if(al(V,t)>=0)return"[Circular]";function U(t,l,a){if(l&&(V=jt.call(V)).push(l),a){var r={depth:i.depth};return Vl(i,"quoteStyle")&&(r.quoteStyle=i.quoteStyle),e(t,r,n+1,V)}return e(t,i,n+1,V)}if("function"==typeof t&&!tl(t)){var c=function(e){if(e.name)return e.name;var t=xt.call(Yt.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),p=Ul(t,U);return"[Function"+(c?": "+c:" (anonymous)")+"]"+(p.length>0?" { "+Ct.call(p,", ")+" }":"")}if(ll(t)){var Z=It?Xt.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):vt.call(t);return"object"!=typeof t||It?Z:ol(Z)}if(function(e){return!(!e||"object"!=typeof e)&&(typeof HTMLElement<"u"&&e instanceof HTMLElement||"string"==typeof e.nodeName&&"function"==typeof e.getAttribute)}(t)){for(var W="<"+ft.call(String(t.nodeName)),m=t.attributes||[],F=0;F<m.length;F++)W+=" "+m[F].name+"="+qt($t(m[F].value),"double",i);return W+=">",t.childNodes&&t.childNodes.length&&(W+="..."),W+="</"+ft.call(String(t.nodeName))+">"}if(el(t)){if(0===t.length)return"[]";var N=Ul(t,U);return R&&!function(e){for(var t=0;t<e.length;t++)if(al(e[t],"\n")>=0)return!1;return!0}(N)?"["+Rl(N,R)+"]":"[ "+Ct.call(N,", ")+" ]"}if(function(e){return!("[object Error]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}(t)){var u=Ul(t,U);return"cause"in Error.prototype||!("cause"in t)||Ot.call(t,"cause")?0===u.length?"["+String(t)+"]":"{ ["+String(t)+"] "+Ct.call(u,", ")+" }":"{ ["+String(t)+"] "+Ct.call(yt.call("[cause]: "+U(t.cause),u),", ")+" }"}if("object"==typeof t&&a){if(At&&"function"==typeof t[At]&&Kt)return Kt(t,{depth:h-n});if("symbol"!==a&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!Ft||!e||"object"!=typeof e)return!1;try{Ft.call(e);try{bt.call(e)}catch{return!0}return e instanceof Map}catch{}return!1}(t)){var E=[];return Nt&&Nt.call(t,(function(e,l){E.push(U(l,t,!0)+" => "+U(e,t))})),dl("Map",Ft.call(t),E,R)}if(function(e){if(!bt||!e||"object"!=typeof e)return!1;try{bt.call(e);try{Ft.call(e)}catch{return!0}return e instanceof Set}catch{}return!1}(t)){var b=[];return St&&St.call(t,(function(e){b.push(U(e,t))})),dl("Set",bt.call(t),b,R)}if(function(e){if(!Jt||!e||"object"!=typeof e)return!1;try{Jt.call(e,Jt);try{Tt.call(e,Tt)}catch{return!0}return e instanceof WeakMap}catch{}return!1}(t))return hl("WeakMap");if(function(e){if(!Tt||!e||"object"!=typeof e)return!1;try{Tt.call(e,Tt);try{Jt.call(e,Jt)}catch{return!0}return e instanceof WeakSet}catch{}return!1}(t))return hl("WeakSet");if(function(e){if(!Gt||!e||"object"!=typeof e)return!1;try{return Gt.call(e),!0}catch{}return!1}(t))return hl("WeakRef");if(function(e){return!("[object Number]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}(t))return ol(U(Number(t)));if(function(e){if(!e||"object"!=typeof e||!Bt)return!1;try{return Bt.call(e),!0}catch{}return!1}(t))return ol(U(Bt.call(t)));if(function(e){return!("[object Boolean]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}(t))return ol(Mt.call(t));if(function(e){return!("[object String]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}(t))return ol(U(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(t===d)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==il(e)||Dt&&"object"==typeof e&&Dt in e)}(t)&&!tl(t)){var S=Ul(t,U),J=_t?_t(t)===Object.prototype:t instanceof Object||t.constructor===Object,T=t instanceof Object?"":"null prototype",G=!J&&Dt&&Object(t)===t&&Dt in t?Qt.call(il(t),8,-1):T?"Object":"",M=(J||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(G||T?"["+Ct.call(yt.call([],G||[],T||[]),": ")+"] ":"");return 0===S.length?M+"{}":R?M+"{"+Rl(S,R)+"}":M+"{ "+Ct.call(S,", ")+" }"}return String(t)},Wl=le,ml=cl("%WeakMap%",!0),Fl=cl("%Map%",!0),Nl=pl("WeakMap.prototype.get",!0),ul=pl("WeakMap.prototype.set",!0),El=pl("WeakMap.prototype.has",!0),bl=pl("Map.prototype.get",!0),Sl=pl("Map.prototype.set",!0),Jl=pl("Map.prototype.has",!0),Tl=function(e,t){for(var l,n=e;null!==(l=n.next);n=l)if(l.key===t)return n.next=l.next,l.next=e.next,e.next=l,l},Gl=String.prototype.replace,Ml=/%20/g,kl="RFC3986",Yl={default:kl,formatters:{RFC1738:function(e){return Gl.call(e,Ml,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:kl},xl=Yl,Ql=Object.prototype.hasOwnProperty,Xl=Array.isArray,wl=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),fl=function(e,t){for(var l=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)typeof e[n]<"u"&&(l[n]=e[n]);return l},zl={arrayToObject:fl,assign:function(e,t){return Object.keys(t).reduce((function(e,l){return e[l]=t[l],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],l=[],n=0;n<t.length;++n)for(var V=t[n],i=V.obj[V.prop],a=Object.keys(i),r=0;r<a.length;++r){var s=a[r],o=i[s];"object"==typeof o&&null!==o&&-1===l.indexOf(o)&&(t.push({obj:i,prop:s}),l.push(o))}return function(e){for(;e.length>1;){var t=e.pop(),l=t.obj[t.prop];if(Xl(l)){for(var n=[],V=0;V<l.length;++V)typeof l[V]<"u"&&n.push(l[V]);t.obj[t.prop]=n}}}(t),e},decode:function(e,t,l){var n=e.replace(/\+/g," ");if("iso-8859-1"===l)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch{return n}},encode:function(e,t,l,n,V){if(0===e.length)return e;var i=e;if("symbol"==typeof e?i=Symbol.prototype.toString.call(e):"string"!=typeof e&&(i=String(e)),"iso-8859-1"===l)return escape(i).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var a="",r=0;r<i.length;++r){var s=i.charCodeAt(r);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||V===xl.RFC1738&&(40===s||41===s)?a+=i.charAt(r):s<128?a+=wl[s]:s<2048?a+=wl[192|s>>6]+wl[128|63&s]:s<55296||s>=57344?a+=wl[224|s>>12]+wl[128|s>>6&63]+wl[128|63&s]:(r+=1,s=65536+((1023&s)<<10|1023&i.charCodeAt(r)),a+=wl[240|s>>18]+wl[128|s>>12&63]+wl[128|s>>6&63]+wl[128|63&s])}return a},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(Xl(e)){for(var l=[],n=0;n<e.length;n+=1)l.push(t(e[n]));return l}return t(e)},merge:function e(t,l,n){if(!l)return t;if("object"!=typeof l){if(Xl(t))t.push(l);else{if(!t||"object"!=typeof t)return[t,l];(n&&(n.plainObjects||n.allowPrototypes)||!Ql.call(Object.prototype,l))&&(t[l]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(l);var V=t;return Xl(t)&&!Xl(l)&&(V=fl(t,n)),Xl(t)&&Xl(l)?(l.forEach((function(l,V){if(Ql.call(t,V)){var i=t[V];i&&"object"==typeof i&&l&&"object"==typeof l?t[V]=e(i,l,n):t.push(l)}else t[V]=l})),t):Object.keys(l).reduce((function(t,V){var i=l[V];return Ql.call(t,V)?t[V]=e(t[V],i,n):t[V]=i,t}),V)}},yl=function(){var e,t,l,n={assert:function(e){if(!n.has(e))throw new Wl("Side channel does not contain "+Zl(e))},get:function(n){if(ml&&n&&("object"==typeof n||"function"==typeof n)){if(e)return Nl(e,n)}else if(Fl){if(t)return bl(t,n)}else if(l)return function(e,t){var l=Tl(e,t);return l&&l.value}(l,n)},has:function(n){if(ml&&n&&("object"==typeof n||"function"==typeof n)){if(e)return El(e,n)}else if(Fl){if(t)return Jl(t,n)}else if(l)return function(e,t){return!!Tl(e,t)}(l,n);return!1},set:function(n,V){ml&&n&&("object"==typeof n||"function"==typeof n)?(e||(e=new ml),ul(e,n,V)):Fl?(t||(t=new Fl),Sl(t,n,V)):(l||(l={key:{},next:null}),function(e,t,l){var n=Tl(e,t);n?n.value=l:e.next={key:t,next:e.next,value:l}}(l,n,V))}};return n},Cl=zl,jl=Yl,gl=Object.prototype.hasOwnProperty,Bl={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},Hl=Array.isArray,vl=Array.prototype.push,Il=function(e,t){vl.apply(e,Hl(t)?t:[t])},Dl=Date.prototype.toISOString,Ol=jl.default,_l={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Cl.encode,encodeValuesOnly:!1,format:Ol,formatter:jl.formatters[Ol],indices:!1,serializeDate:function(e){return Dl.call(e)},skipNulls:!1,strictNullHandling:!1},Ll={},Kl=function e(t,l,n,V,i,a,r,s,o,h,d,R,U,c,p,Z,W,m){for(var F=t,N=m,u=0,E=!1;void 0!==(N=N.get(Ll))&&!E;){var b=N.get(t);if(u+=1,typeof b<"u"){if(b===u)throw new RangeError("Cyclic object value");E=!0}typeof N.get(Ll)>"u"&&(u=0)}if("function"==typeof h?F=h(l,F):F instanceof Date?F=U(F):"comma"===n&&Hl(F)&&(F=Cl.maybeMap(F,(function(e){return e instanceof Date?U(e):e}))),null===F){if(a)return o&&!Z?o(l,_l.encoder,W,"key",c):l;F=""}if(function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||"symbol"==typeof e||"bigint"==typeof e}(F)||Cl.isBuffer(F))return o?[p(Z?l:o(l,_l.encoder,W,"key",c))+"="+p(o(F,_l.encoder,W,"value",c))]:[p(l)+"="+p(String(F))];var S,J=[];if(typeof F>"u")return J;if("comma"===n&&Hl(F))Z&&o&&(F=Cl.maybeMap(F,o)),S=[{value:F.length>0?F.join(",")||null:void 0}];else if(Hl(h))S=h;else{var T=Object.keys(F);S=d?T.sort(d):T}var G=s?l.replace(/\./g,"%2E"):l,M=V&&Hl(F)&&1===F.length?G+"[]":G;if(i&&Hl(F)&&0===F.length)return M+"[]";for(var k=0;k<S.length;++k){var Y=S[k],x="object"==typeof Y&&typeof Y.value<"u"?Y.value:F[Y];if(!r||null!==x){var Q=R&&s?Y.replace(/\./g,"%2E"):Y,X=Hl(F)?"function"==typeof n?n(M,Q):M:M+(R?"."+Q:"["+Q+"]");m.set(t,u);var w=yl();w.set(Ll,m),Il(J,e(x,X,n,V,i,a,r,s,"comma"===n&&Z&&Hl(F)?null:o,h,d,R,U,c,p,Z,W,w))}}return J},Pl=zl,Al=Object.prototype.hasOwnProperty,ql=Array.isArray,$l={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!0,decoder:Pl.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},en=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},tn=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},ln=function(e,t,l,n){if(e){var V=l.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,a=l.depth>0&&/(\[[^[\]]*])/.exec(V),r=a?V.slice(0,a.index):V,s=[];if(r){if(!l.plainObjects&&Al.call(Object.prototype,r)&&!l.allowPrototypes)return;s.push(r)}for(var o=0;l.depth>0&&null!==(a=i.exec(V))&&o<l.depth;){if(o+=1,!l.plainObjects&&Al.call(Object.prototype,a[1].slice(1,-1))&&!l.allowPrototypes)return;s.push(a[1])}return a&&s.push("["+V.slice(a.index)+"]"),function(e,t,l,n){for(var V=n?t:tn(t,l),i=e.length-1;i>=0;--i){var a,r=e[i];if("[]"===r&&l.parseArrays)a=l.allowEmptyArrays&&""===V?[]:[].concat(V);else{a=l.plainObjects?Object.create(null):{};var s="["===r.charAt(0)&&"]"===r.charAt(r.length-1)?r.slice(1,-1):r,o=l.decodeDotInKeys?s.replace(/%2E/g,"."):s,h=parseInt(o,10);l.parseArrays||""!==o?!isNaN(h)&&r!==o&&String(h)===o&&h>
1=0&&l.parseArrays&&h<=l.arrayLimit?(a=[])[h]=V:"__proto__"!==o&&(a[o]=V):a={0:V}}V=a}return V}(s,t,l,n)}},nn=function(e,t){var l,n=e,V=function(e){if(!e)return _l;if(typeof e.allowEmptyArrays<"u"&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&"boolean"!=typeof e.encodeDotInKeys)throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.encoder&&typeof e.encoder<"u"&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||_l.charset;if(typeof e.charset<"u"&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var l=jl.default;if(typeof e.format<"u"){if(!gl.call(jl.formatters,e.format))throw new TypeError("Unknown format option provided.");l=e.format}var n,V=jl.formatters[l],i=_l.filter;if(("function"==typeof e.filter||Hl(e.filter))&&(i=e.filter),n=e.arrayFormat in Bl?e.arrayFormat:"indices"in e?e.indices?"indices":"repeat":_l.arrayFormat,"commaRoundTrip"in e&&"boolean"!=typeof e.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var a=typeof e.allowDots>"u"?!0===e.encodeDotInKeys||_l.allowDots:!!e.allowDots;return{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:_l.addQueryPrefix,allowDots:a,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:_l.allowEmptyArrays,arrayFormat:n,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:_l.charsetSentinel,commaRoundTrip:e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?_l.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:_l.encode,encodeDotInKeys:"boolean"==typeof e.encodeDotInKeys?e.encodeDotInKeys:_l.encodeDotInKeys,encoder:"function"==typeof e.encoder?e.encoder:_l.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:_l.encodeValuesOnly,filter:i,format:l,formatter:V,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:_l.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:_l.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:_l.strictNullHandling}}(t);"function"==typeof V.filter?n=(0,V.filter)("",n):Hl(V.filter)&&(l=V.filter);var i=[];if("object"!=typeof n||null===n)return"";var a=Bl[V.arrayFormat],r="comma"===a&&V.commaRoundTrip;l||(l=Object.keys(n)),V.sort&&l.sort(V.sort);for(var s=yl(),o=0;o<l.length;++o){var h=l[o];V.skipNulls&&null===n[h]||Il(i,Kl(n[h],h,a,r,V.allowEmptyArrays,V.strictNullHandling,V.skipNulls,V.encodeDotInKeys,V.encode?V.encoder:null,V.filter,V.sort,V.allowDots,V.serializeDate,V.format,V.formatter,V.encodeValuesOnly,V.charset,s))}var d=i.join(V.delimiter),R=!0===V.addQueryPrefix?"?":"";return V.charsetSentinel&&("iso-8859-1"===V.charset?R+="utf8=%26%2310003%3B&":R+="utf8=%E2%9C%93&"),d.length>0?R+d:""},Vn=function(e,t){var l=function(e){if(!e)return $l;if(typeof e.allowEmptyArrays<"u"&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.decodeDotInKeys<"u"&&"boolean"!=typeof e.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.decoder&&typeof e.decoder<"u"&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(typeof e.charset<"u"&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=typeof e.charset>"u"?$l.charset:e.charset,l=typeof e.duplicates>"u"?$l.duplicates:e.duplicates;if("combine"!==l&&"first"!==l&&"last"!==l)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:typeof e.allowDots>"u"?!0===e.decodeDotInKeys||$l.allowDots:!!e.allowDots,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:$l.allowEmptyArrays,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:$l.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:$l.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:$l.arrayLimit,charset
1:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:$l.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:$l.comma,decodeDotInKeys:"boolean"==typeof e.decodeDotInKeys?e.decodeDotInKeys:$l.decodeDotInKeys,decoder:"function"==typeof e.decoder?e.decoder:$l.decoder,delimiter:"string"==typeof e.delimiter||Pl.isRegExp(e.delimiter)?e.delimiter:$l.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:$l.depth,duplicates:l,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:$l.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:$l.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:$l.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:$l.strictNullHandling}}(t);if(""===e||null===e||typeof e>"u")return l.plainObjects?Object.create(null):{};for(var n="string"==typeof e?function(e,t){var l,n={__proto__:null},V=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,i=t.parameterLimit===1/0?void 0:t.parameterLimit,a=V.split(t.delimiter,i),r=-1,s=t.charset;if(t.charsetSentinel)for(l=0;l<a.length;++l)0===a[l].indexOf("utf8=")&&("utf8=%E2%9C%93"===a[l]?s="utf-8":"utf8=%26%2310003%3B"===a[l]&&(s="iso-8859-1"),r=l,l=a.length);for(l=0;l<a.length;++l)if(l!==r){var o,h,d=a[l],R=d.indexOf("]="),U=-1===R?d.indexOf("="):R+1;-1===U?(o=t.decoder(d,$l.decoder,s,"key"),h=t.strictNullHandling?null:""):(o=t.decoder(d.slice(0,U),$l.decoder,s,"key"),h=Pl.maybeMap(tn(d.slice(U+1),t),(function(e){return t.decoder(e,$l.decoder,s,"value")}))),h&&t.interpretNumericEntities&&"iso-8859-1"===s&&(h=en(h)),d.indexOf("[]=")>-1&&(h=ql(h)?[h]:h);var c=Al.call(n,o);c&&"combine"===t.duplicates?n[o]=Pl.combine(n[o],h):(!c||"last"===t.duplicates)&&(n[o]=h)}return n}(e,l):e,V=l.plainObjects?Object.create(null):{},i=Object.keys(n),a=0;a<i.length;++a){var r=i[a],s=ln(r,n[r],l,"string"==typeof e);V=Pl.merge(V,s,l)}return!0===l.allowSparse?V:Pl.compact(V)},an={formats:Yl,parse:Vn,stringify:nn};!function(e){var t=d&&d.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.generateSearchQuery=e.QUERY_STRINGIFY_OPTIONS=void 0;const l=t(an),n=O,V=M,i=X;e.QUERY_STRINGIFY_OPTIONS={encode:!1,encoder:(e,t,l,n)=>"value"===n?t(e,t,l):e,skipNulls:!0,allowDots:!1,indices:!1,arrayFormat:"brackets",addQueryPrefix:!0},e.generateSearchQuery=function(t,a={}){const r=(0,n.deepMerge)(e.QUERY_STRINGIFY_OPTIONS,a);return(0,V.isEmpty)(t)?"":(0,i.isString)(t)?`${r.addQueryPrefix?"?":""}${t}`:l.default.stringify(t,r)}}(P);var rn={};Object.defineProperty(rn,"__esModule",{value:!0}),rn.getFileNameFromUrl=void 0,rn.getFileNameFromUrl=function(e){if(!e||"string"!=typeof e)return["",""];let t=e;t=t.split("?")[0],t=t.split("#")[0];const l=t.split("/"),n=l[l.length-1];if(!n.includes("."))return[n,""];const V=n.split("."),[i,...a]=V.reverse();return[a.reverse().join("."),i.toLocaleLowerCase()]};var sn={};Object.defineProperty(sn,"__esModule",{value:!0}),sn.getMouseDirection=void 0;let on={};sn.getMouseDirection=function(e){let t="";if(typeof on.x<"u"&&typeof on.y<"u"){const l=on.x-e.clientX,n=on.y-e.clientY;Math.abs(l)>Math.abs(n)&&l>0?t="left":Math.abs(l)>Math.abs(n)&&l<0?t="right":Math.abs(n)>Math.abs(l)&&n>0?t="up":Math.abs(n)>Math.abs(l)&&n<0&&(t="down")}return on={x:e.clientX,y:e.clientY},t};var hn={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.configureLogger=e.logger=e.Logger=void 0;const t=u,l=M;class n{constructor(e){V(this,"prefix",""),V(this,"log",((e,n,V)=>{var i;const a=[`${this.prefix?`[${this.prefix}] `:""}${n}`];(0,t.isArray)(V)&&!(0,l.isEmpty)(V)&&V.forEach((e=>{a.push("\n\n"),a.push(e)})),null==(i=console[e])||i.call(console,...a)})),V(this,"info",((e,...t)=>{this.log("info",e,t)})),V(this,"warn",((e,...t)=>{this.log("warn",e,t)})),V(this,"table",(e=>{console.table(e)})),V(this,"error",((e,...t)=>{e instanceof Error||e.message?this.log("error",e.message,[e,...t]):this.log("error",e,t)})),"string"==typeof(null==e?void 0:e.prefix)&&(this.prefix=e.prefix)}setPrefix(e){this.prefix=e}}e.Logger=n,e.logger=new n,e.configureLogger=function(t){"string"==typeof(null==t?void 0:t.prefix)&&e.logger.setPrefix(t.prefix)}}(hn);var dn={};!function(e){var t=d&&d.__importDefault||function(e){return e&&e.__esMo
1dule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.parseSearchQuery=e.QUERY_PARSE_OPTIONS=void 0;const l=t(an),n=O,V=X;e.QUERY_PARSE_OPTIONS={ignoreQueryPrefix:!0,decoder:(e,t,l,n)=>"value"===n?t(e,t,l):e},e.parseSearchQuery=function(t,i={}){const a=(0,n.deepMerge)(e.QUERY_PARSE_OPTIONS,i);return(0,V.isString)(t)?l.default.parse(decodeURIComponent(t),a):{}}}(dn);var Rn={};Object.defineProperty(Rn,"__esModule",{value:!0}),Rn.getPercentFromTotal=Rn.getPercentFromValue=void 0;const Un=E;Rn.getPercentFromValue=function(e,t){if((0,Un.isNumber)(t)&&(0,Un.isNumber)(e))try{return t/100*e}catch{}throw new Error("Invalid arguments")},Rn.getPercentFromTotal=function(e,t,l={}){if((0,Un.isNumber)(t)&&(0,Un.isNumber)(t))try{const{toRound:n=!0}=l,V=100*t/e;return n?Math.round(V):V}catch{}throw new Error("Invalid arguments")};var cn={};Object.defineProperty(cn,"__esModule",{value:!0}),cn.pluralizeNumber=void 0;const pn=E,Zn=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);cn.pluralizeNumber=function(e){try{const t=Number(e);if(!t||!(0,pn.isNumber)(t))return e;const l=new Intl.PluralRules("en-US",{type:"ordinal"}).select(Number(e));return`${e}${Zn.get(l)}`}catch{return e}};var Wn={};Object.defineProperty(Wn,"__esModule",{value:!0}),Wn.pureStructure=void 0,Wn.pureStructure=function(e){return e&&(e===1/0?1/0:JSON.parse(JSON.stringify(e)))};var mn={};Object.defineProperty(mn,"__esModule",{value:!0}),mn.throttle=void 0;const Fn={};mn.throttle=function(e,t=0){if("function"!=typeof e||"number"!=typeof t)return;const l=e.toString();clearTimeout(Fn[l]),Fn[l]=setTimeout((()=>{e(),clearTimeout(Fn[l]),delete Fn[l]}),t)},function(e){var t=d&&d.__createBinding||(Object.create?function(e,t,l,n){void 0===n&&(n=l);var V=Object.getOwnPropertyDescriptor(t,l);(!V||("get"in V?!t.__esModule:V.writable||V.configurable))&&(V={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,n,V)}:function(e,t,l,n){void 0===n&&(n=l),e[n]=t[l]}),l=d&&d.__exportStar||function(e,l){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(l,n)&&t(l,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.throttle=e.pureStructure=e.logger=e.Logger=e.configureLogger=e.isString=e.isSet=e.isObject=e.isNumber=e.isMap=e.isEmpty=e.isArray=e.getMouseDirection=e.getFileNameFromUrl=e.deepMerge=e.calculateAspectRatioFit=e.arrayToMatrix=void 0;var n=N;Object.defineProperty(e,"arrayToMatrix",{enumerable:!0,get:function(){return n.arrayToMatrix}});var V=G;Object.defineProperty(e,"calculateAspectRatioFit",{enumerable:!0,get:function(){return V.calculateAspectRatioFit}}),l(H,e),l(D,e);var i=O;Object.defineProperty(e,"deepMerge",{enumerable:!0,get:function(){return i.deepMerge}}),l(P,e);var a=rn;Object.defineProperty(e,"getFileNameFromUrl",{enumerable:!0,get:function(){return a.getFileNameFromUrl}});var r=sn;Object.defineProperty(e,"getMouseDirection",{enumerable:!0,get:function(){return r.getMouseDirection}});var s=u;Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return s.isArray}});var o=M;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return o.isEmpty}});var h=k;Object.defineProperty(e,"isMap",{enumerable:!0,get:function(){return h.isMap}});var R=E;Object.defineProperty(e,"isNumber",{enumerable:!0,get:function(){return R.isNumber}});var U=b;Object.defineProperty(e,"isObject",{enumerable:!0,get:function(){return U.isObject}});var c=x;Object.defineProperty(e,"isSet",{enumerable:!0,get:function(){return c.isSet}});var p=X;Object.defineProperty(e,"isString",{enumerable:!0,get:function(){return p.isString}});var Z=hn;Object.defineProperty(e,"configureLogger",{enumerable:!0,get:function(){return Z.configureLogger}}),Object.defineProperty(e,"Logger",{enumerable:!0,get:function(){return Z.Logger}}),Object.defineProperty(e,"logger",{enumerable:!0,get:function(){return Z.logger}}),l(dn,e),l(Rn,e),l(cn,e);var W=Wn;Object.defineProperty(e,"pureStructure",{enumerable:!0,get:function(){return W.pureStructure}});var m=mn;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return m.throttle}})}(F);var Nn={};
1!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queryAPI=void 0;const t=F;e.queryAPI=new class{getQuery(){const e=new URLSearchParams(this.params);return e.size>0?`?${e.toString()}`:""}getKey(e){var t;return null==(t=this.params)?void 0:t[e]}setKey(e,t){this.set({...this.params,[e]:t})}set(e){if(!e)return;const t=new URLSearchParams;Object.keys(e).forEach((l=>{null!==e[l]&&(typeof e[l]>"u"||"string"==typeof e[l]&&!e[l]||t.append(l,`${e[l]}`))})),this.replaceQueryParams(t)}has(e){var t;return typeof(null==(t=this.params)?void 0:t[e])<"u"}get params(){return(0,t.parseSearchQuery)(location.search)}generateQuery(e={},l={}){return(0,t.generateSearchQuery)(e,l)}replaceQueryParams(t){history.replaceState({},"",`${window.location.origin}${window.location.pathname}${e.queryAPI.generateQuery(t)}`)}}}(Nn);var un=d&&d.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Z,"__esModule",{value:!0}),Z.fetchApi=void 0;const En=un(m),bn=F,Sn=Nn;class Jn extends Error{constructor(e,t){super(e),V(this,"message"),V(this,"response"),this.message=e,this.response=t}}class Tn{constructor(e,t){V(this,"url"),V(this,"options"),this.url=e,this.options=t}get group(){var e;return null==(e=this.options)?void 0:e.group}make(){return new Promise(((e,t)=>{const{repeatRequestTimeout:l=0,repeatRequestRetryTimeout:n=0}=this.options??{};let V,i;function a(e){clearTimeout(V),clearTimeout(i),t(new Jn(e.message,e.response))}const r=()=>{this.fetchWrapper().then((t=>e(t))).catch((e=>{if(20!==e.code){if(!l)return a(e);i=setTimeout(r,n),V||(V=setTimeout((()=>a(e)),l))}}))};r()}))}fetchWrapper(){const{base:e="",query:t,headers:l,body:n,responseType:V,abortController:i,...a}=this.options??{},r=`${e}${this.url}${Sn.queryAPI.generateQuery(t)}`;return fetch(r,{method:this.options.method,headers:this.prepareHeaders(l),body:this.prepareBody(n),signal:null==i?void 0:i.signal,...a}).then((e=>{if(!e.ok)return this.prepareError(e).then((e=>{throw e}));if(204===e.status)return e;switch(V){case"text":return e.text();case"blob":return e.blob().then((t=>[t,e]));case"arrayBuffer":return e.arrayBuffer();default:return e.json()}}))}prepareHeaders(e={}){return{...e}}prepareBody(e){if(!e)return;if(e instanceof FormData)return e;if((0,bn.isArray)(e))return(0,bn.pureStructure)(e);const t={};return Object.keys((0,bn.pureStructure)(e)).forEach((l=>{(0===e[l]||null===e[l]||!1===e[l]||0!==e[l]&&e[l]||"string"==typeof e[l]&&0===e[l].length)&&(t[l]=e[l])})),JSON.stringify(t)}prepareError(e){return null!=e&&e.text?e.text().then((t=>{var l;let n="Error";try{n=(null==(l=JSON.parse(t))?void 0:l.message)??n}catch{}return new Jn(n,e)})):null!=e&&e.json?e.json().then((e=>new Jn("Error",e))):Promise.resolve(new Jn("Failed to fetch",e))}}Z.fetchApi=new class{constructor(){V(this,"requests",[])}get requestsUrls(){return this.requests.map((({url:e})=>e))}get(e,t={},l={}){return this.makeRequest(e,"GET",{...l,query:t})}post(e,t={}){return this.makeRequest(e,"POST",t)}put(e,t={}){return this.makeRequest(e,"PUT",t)}remove(e,t){return this.makeRequest(e,"DELETE",t)}patch(e,t){return this.makeRequest(e,"PATCH",t)}download(e,t={}){const{method:l="POST",base:n}=t;return this.makeRequest(e,l,{base:n,body:t.body,query:t.query,headers:{"Content-Type":null},responseType:"blob"}).then((([e,t])=>{const l=RegExp(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/,"g"),n=t.headers.get("Content-Disposition");if(n){const t=l.exec(n);t&&(0,En.default)(e,t[1].replaceAll('"',""))}return t}))}requestsByGroup(e){return this.requests.filter((t=>t.group===e))}makeRequest(e,t,l){const n=new Tn(e,{method:t,...l});return this.requests.push(n),n.make().finally((()=>{const e=this.requests.findIndex((e=>e===n));-1!==e&&this.requests.splice(e,1)}))}},function(e){var t=d&&d.__createBinding||(Object.create?function(e,t,l,n){void 0===n&&(n=l);var V=Object.getOwnPropertyDescriptor(t,l);(!V||("get"in V?!t.__esModule:V.writable||V.configurable))&&(V={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,n,V)}:function(e,t,l,n){void 0===n&&(n=l),e[n]=t[l]}),l=d&&d.__exportStar||function(e,l){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(l,n)&&t(l,e,n)};
1Object.defineProperty(e,"__esModule",{value:!0}),l(Z,e),l(Nn,e)}(p);var Gn,Mn={};Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.HTTPResponse=void 0,function(e){e[e.Forbidden=403]="Forbidden"}(Gn||(Mn.HTTPResponse=Gn={}));var kn={};Object.defineProperty(kn,"__esModule",{value:!0}),kn.EMPTY_TEST_VALUES=void 0,kn.EMPTY_TEST_VALUES=["",{},[],null,void 0,Symbol(),function(){},new Map,new Set,NaN];var Yn={},xn={},Qn={};Object.defineProperty(Qn,"__esModule",{value:!0}),Qn.EYE_TRACKING_ERRORS=void 0,Qn.EYE_TRACKING_ERRORS={NotSupported:"Chrome extensions is not supported"},Object.defineProperty(xn,"__esModule",{value:!0}),xn.EyeTrackingClient=void 0;const Xn=Qn;xn.EyeTrackingClient=class{constructor(e={}){V(this,"options"),V(this,"port"),V(this,"onSuccess",null),V(this,"onError",null),V(this,"onMessage",null),this.options=e}connect(){var e,t,l,n,V;try{if(null==(e=null==chrome?void 0:chrome.runtime)||!e.connect)return void(null==(t=this.onError)||t.call(this,new Error(Xn.EYE_TRACKING_ERRORS.NotSupported)));this.port=chrome.runtime.connect((null==(l=this.options)?void 0:l.id)??"capmlbfmakkjjmdanjgjenihdaohjdcj",{name:"dalsWebStereo"}),this.port.onMessage.addListener((e=>{var t;return null==(t=this.onMessage)?void 0:t.call(this,e)})),null==(n=this.onSuccess)||n.call(this)}catch(e){null==(V=this.onError)||V.call(this,e)}}sendMessage(e){var t,l;null==(l=null==(t=this.port)?void 0:t.postMessage)||l.call(t,e)}disconnect(){var e,t;null==(t=null==(e=this.port)?void 0:e.disconnect)||t.call(e)}},function(e){var t=d&&d.__createBinding||(Object.create?function(e,t,l,n){void 0===n&&(n=l);var V=Object.getOwnPropertyDescriptor(t,l);(!V||("get"in V?!t.__esModule:V.writable||V.configurable))&&(V={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,n,V)}:function(e,t,l,n){void 0===n&&(n=l),e[n]=t[l]}),l=d&&d.__exportStar||function(e,l){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(l,n)&&t(l,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),l(xn,e)}(Yn),function(e){var t=d&&d.__createBinding||(Object.create?function(e,t,l,n){void 0===n&&(n=l);var V=Object.getOwnPropertyDescriptor(t,l);(!V||("get"in V?!t.__esModule:V.writable||V.configurable))&&(V={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,n,V)}:function(e,t,l,n){void 0===n&&(n=l),e[n]=t[l]}),l=d&&d.__exportStar||function(e,l){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(l,n)&&t(l,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),l(p,e),l(Mn,e),l(kn,e),l(F,e),l(Yn,e)}(c);const wn="_playerHeadStatus_garo6_1",fn="_playerFrames_garo6_19",zn="_pagination_garo6_28",yn="dmFyIGVvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgaW89KHcsUixFKT0+UiBpbiB3P2VvKHcsUix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6RX0pOndbUl09RTt2YXIgQz0odyxSLEUpPT4oaW8odyx0eXBlb2YgUiE9InN5bWJvbCI/UisiIjpSLEUpLEUpLHppPSh3LFIsRSk9PntpZighUi5oYXModykpdGhyb3cgVHlwZUVycm9yKCJDYW5ub3QgIitFKX07dmFyIGM9KHcsUixFKT0+KHppKHcsUiwicmVhZCBmcm9tIHByaXZhdGUgZmllbGQiKSxFP0UuY2FsbCh3KTpSLmdldCh3KSksQT0odyxSLEUpPT57aWYoUi5oYXModykpdGhyb3cgVHlwZUVycm9yKCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlIik7UiBpbnN0YW5jZW9mIFdlYWtTZXQ/Ui5hZGQodyk6Ui5zZXQodyxFKX0sQj0odyxSLEUsSnQpPT4oemkodyxSLCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkIiksSnQ/SnQuY2FsbCh3LEUpOlIuc2V0KHcsRSksRSk7dmFyIGx0PSh3LFIsRSk9Pih6aSh3LFIsImFjY2VzcyBwcml2YXRlIG1ldGhvZCIpLEUpOyhmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZmUsaGUsbGUsV3QsenQsdWUsZGUsY2UsT3QscXQsS3QscGUsX2UsdXQsUXQsUWUsa3IsWGUsR3IseWUsZ2UsWHQseHQsUSxELFYsc3QsYXQsVyxkdCxtZSx2ZSxDdCxvdCxiZSxYLGN0LHEsd3QsU2UsZnQsRXQ7dmFyIHc9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp0eXBlb2Ygc2VsZjwidSI/c2VsZjp7fTtmdW5jdGlvbiBSKHQpe2lmKHQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT10LmRlZmF1bHQ7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpe3ZhciBpPWZ1bmN0aW9uIHIoKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHI/UmVmbGVjdC5jb25zdHJ1Y3QoZSxhcmd1bWVudHMsdGhpcy5jb25zdHJ1Y3Rvcik6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2kucHJvdG90eXBlPWUucHJvdG90eXBlfWVsc2UgaT17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGksIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShpLHIsbi5nZXQ/bjp7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtyXX19KX0pLGl9dmFyIEU9e30sSnQ9e30sd2U9e30sT2k9e2V4cG9ydHM6e319OyhmdW5jdGlvbih0LGUpeyhmdW5jdGlvbihpLHIpe3QuZXhwb3J0cz1yKCl9KSh3LGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGkocixuLGEpe3ZhciBvPXdpbmRvdyxmPSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGg9YXx8ZixsPXIsdT0hbiYmIWEmJmwsXz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksZz1mdW5jdGlvbihJKXtyZXR1cm4gU3RyaW5nKEkpfSxwPW8uQmxvYnx8by5Nb3pCbG9ifHxvLldlYktpdEJsb2J8fGcsbT1ufHwiZG93bmxvYWQiLFMsVTtpZihwPXAuY2FsbD9wLmJpbmQobyk6QmxvYi
1xTdHJpbmcodGhpcyk9PT0idHJ1ZSImJihsPVtsLGhdLGg9bFswXSxsPWxbMV0pLHUmJnUubGVuZ3RoPDIwNDgmJihtPXUuc3BsaXQoIi8iKS5wb3AoKS5zcGxpdCgiPyIpWzBdLF8uaHJlZj11LF8uaHJlZi5pbmRleE9mKHUpIT09LTEpKXt2YXIgej1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIHoub3BlbigiR0VUIix1LCEwKSx6LnJlc3BvbnNlVHlwZT0iYmxvYiIsei5vbmxvYWQ9ZnVuY3Rpb24oSSl7aShJLnRhcmdldC5yZXNwb25zZSxtLGYpfSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ei5zZW5kKCl9LDApLHp9aWYoL15kYXRhOihbXHcrLV0rXC9bXHcrLi1dKyk/Wyw7XS8udGVzdChsKSlpZihsLmxlbmd0aD4xMDI0KjEwMjQqMS45OTkmJnAhPT1nKWw9TChsKSxoPWwudHlwZXx8ZjtlbHNlIHJldHVybiBuYXZpZ2F0b3IubXNTYXZlQmxvYj9uYXZpZ2F0b3IubXNTYXZlQmxvYihMKGwpLG0pOk0obCk7ZWxzZSBpZigvKFtceDgwLVx4ZmZdKS8udGVzdChsKSl7dmFyIFQ9MCxiPW5ldyBVaW50OEFycmF5KGwubGVuZ3RoKSxGPWIubGVuZ3RoO2ZvcihUO1Q8RjsrK1QpYltUXT1sLmNoYXJDb2RlQXQoVCk7bD1uZXcgcChbYl0se3R5cGU6aH0pfVM9bCBpbnN0YW5jZW9mIHA/bDpuZXcgcChbbF0se3R5cGU6aH0pO2Z1bmN0aW9uIEwoSSl7dmFyICQ9SS5zcGxpdCgvWzo7LF0vKSx4PSRbMV0saHQ9JFsyXT09ImJhc2U2NCI/YXRvYjpkZWNvZGVVUklDb21wb25lbnQsTHQ9aHQoJC5wb3AoKSkscHQ9THQubGVuZ3RoLGo9MCxaPW5ldyBVaW50OEFycmF5KHB0KTtmb3IoajtqPHB0OysrailaW2pdPUx0LmNoYXJDb2RlQXQoaik7cmV0dXJuIG5ldyBwKFtaXSx7dHlwZTp4fSl9ZnVuY3Rpb24gTShJLCQpe2lmKCJkb3dubG9hZCJpbiBfKXJldHVybiBfLmhyZWY9SSxfLnNldEF0dHJpYnV0ZSgiZG93bmxvYWQiLG0pLF8uY2xhc3NOYW1lPSJkb3dubG9hZC1qcy1saW5rIixfLmlubmVySFRNTD0iZG93bmxvYWRpbmcuLi4iLF8uc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChfKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Xy5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoXyksJD09PSEwJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7by5VUkwucmV2b2tlT2JqZWN0VVJMKF8uaHJlZil9LDI1MCl9LDY2KSwhMDtpZigvKFZlcnNpb24pXC8oXGQrKVwuKFxkKykoPzpcLihcZCspKT8uKlNhZmFyaVwvLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXJldHVybi9eZGF0YTovLnRlc3QoSSkmJihJPSJkYXRhOiIrSS5yZXBsYWNlKC9eZGF0YTooW1x3XC9cLVwrXSspLyxmKSksd2luZG93Lm9wZW4oSSl8fGNvbmZpcm0oYERpc3BsYXlpbmcgTmV3IERvY3VtZW50CgpVc2UgU2F2ZSBBcy4uLiB0byBkb3dubG9hZCwgdGhlbiBjbGljayBiYWNrIHRvIHJldHVybiB0byB0aGlzIHBhZ2UuYCkmJihsb2NhdGlvbi5ocmVmPUkpLCEwO3ZhciB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoeCksISQmJi9eZGF0YTovLnRlc3QoSSkmJihJPSJkYXRhOiIrSS5yZXBsYWNlKC9eZGF0YTooW1x3XC9cLVwrXSspLyxmKSkseC5zcmM9SSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh4KX0sMzMzKX1pZihuYXZpZ2F0b3IubXNTYXZlQmxvYilyZXR1cm4gbmF2aWdhdG9yLm1zU2F2ZUJsb2IoUyxtKTtpZihvLlVSTClNKG8uVVJMLmNyZWF0ZU9iamVjdFVSTChTKSwhMCk7ZWxzZXtpZih0eXBlb2YgUz09InN0cmluZyJ8fFMuY29uc3RydWN0b3I9PT1nKXRyeXtyZXR1cm4gTSgiZGF0YToiK2grIjtiYXNlNjQsIitvLmJ0b2EoUykpfWNhdGNoe3JldHVybiBNKCJkYXRhOiIraCsiLCIrZW5jb2RlVVJJQ29tcG9uZW50KFMpKX1VPW5ldyBGaWxlUmVhZGVyLFUub25sb2FkPWZ1bmN0aW9uKEkpe00odGhpcy5yZXN1bHQpfSxVLnJlYWRBc0RhdGFVUkwoUyl9cmV0dXJuITB9fSl9KShPaSk7dmFyIEhyPU9pLmV4cG9ydHMsVWU9e30sRWU9e30sQXQ9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KEF0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBdC5pc0FycmF5PXZvaWQgMDtmdW5jdGlvbiAkcih0KXtpZih0PT09bnVsbHx8dHlwZW9mIHQ+InUiKXJldHVybiExO2NvbnN0IGU9dC5sZW5ndGgsaT10eXBlb2YgZT09Im51bWJlciImJmU+LTEmJmUlMT09PTA7cmV0dXJuIHR5cGVvZiB0IT0iZnVuY3Rpb24iJiZ0eXBlb2YgdCE9InN0cmluZyImJml9QXQuaXNBcnJheT0kcjt2YXIgX3Q9e30sdHQ9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KHR0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0dC5pc09iamVjdD12b2lkIDA7ZnVuY3Rpb24ganIodCl7cmV0dXJuISEodCYmdHlwZW9mIHQ9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheSh0KSl9dHQuaXNPYmplY3Q9anIsT2JqZWN0LmRlZmluZVByb3BlcnR5KF90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxfdC5pc051bWJlcj12b2lkIDA7Y29uc3QgWXI9dHQ7ZnVuY3Rpb24gVnIodCl7dHJ5e3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJiFpc05hTigrdCk/ITA6KDAsWXIuaXNPYmplY3QpKHQpJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBOdW1iZXJdIn1jYXRjaHtyZXR1cm4hMX19X3QuaXNOdW1iZXI9VnIsT2JqZWN0LmRlZmluZVByb3BlcnR5KEVlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxFZS5hcnJheVRvTWF0cml4PXZvaWQgMDtjb25zdCBXcj1BdCxxcj1fdDtmdW5jdGlvbiBLcih0LGUpe2lmKCgwLFdyLmlzQXJyYXkpKHQpJiYoMCxxci5pc051bWJlcikoZSkmJmU+MClyZXR1cm4gdC5yZWR1Y2UoKGkscixuKT0+KG4lZT09MD9pLnB1c2goW3JdKTppW2kubGVuZ3RoLTFdLnB1c2gocikpJiZpLFtdKTt0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYXJndW1lbnRzIil9RWUuYXJyYXlUb01hdHJpeD1Lcjt2YXIgQWU9e30seXQ9e30sWnQ9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFp0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxadC5pc01hcD12b2lkIDA7Y29uc3QgUXI9dHQ7ZnVuY3Rpb24gWHIodCl7dHJ5e3JldHVybigwLFFyLmlzT2JqZWN0KSh0KSYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpPT09IltvYmplY3QgTWFwXSJ9Y2F0Y2h7cmV0dXJuITF9fVp0LmlzTWFwPVhyO3ZhciB0ZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHRlLmlzU2V0PXZvaWQgMDtjb25zdCBKcj10dDtmdW5jdGlvbiBacih0KXt0cnl7cmV0dXJuKDAsSnIuaXNPYmplY3QpKHQpJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBTZXRdIn1jYXRjaHtyZXR1cm4hMX19dGUuaXNTZXQ9WnI7dmFyIEJ0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShCdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQnQuaXNTdHJpbmc9dm9pZCAwO2NvbnN0IHRuPXR0O2Z1bmN0aW9uIGVuKHQpe3RyeXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciPyEwOigwLHRuLmlzT2JqZWN0KSh0KSYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpPT09IltvYmplY3QgU3RyaW5nXSJ9Y2F0Y2h7cmV0dXJuITF9fUJ0LmlzU3RyaW5nPWVuLE9i
1amVjdC5kZWZpbmVQcm9wZXJ0eSh5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkseXQuaXNFbXB0eT12b2lkIDA7Y29uc3Qgcm49QXQsbm49WnQsc249dHQsYW49dGUsb249QnQ7ZnVuY3Rpb24gZm4odCl7cmV0dXJuKDAsb24uaXNTdHJpbmcpKHQpfHwoMCxybi5pc0FycmF5KSh0KT90Lmxlbmd0aD09PTA6KDAsbm4uaXNNYXApKHQpfHwoMCxhbi5pc1NldCkodCk/dC5zaXplPT09MDooMCxzbi5pc09iamVjdCkodCk/T2JqZWN0LmtleXModCkubGVuZ3RoPT09MDohdH15dC5pc0VtcHR5PWZuLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQWUuY2FsY3VsYXRlQXNwZWN0UmF0aW9GaXQ9dm9pZCAwO2NvbnN0IGhuPXl0LEJlPV90O2Z1bmN0aW9uIGxuKHQsZSxpLHIpe2lmKCgwLEJlLmlzTnVtYmVyKSh0KSYmKDAsQmUuaXNOdW1iZXIpKGUpJiYoMCxCZS5pc051bWJlcikoaSkpe2NvbnN0IG49aS90LGE9KDAsQmUuaXNOdW1iZXIpKHIpJiYhKDAsaG4uaXNFbXB0eSkocik/ci9lOjEsbz1NYXRoLm1pbihuLGEpO3JldHVybnt3aWR0aDp0Km8saGVpZ2h0OmUqb319dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGFyZ3VtZW50cyIpfUFlLmNhbGN1bGF0ZUFzcGVjdFJhdGlvRml0PWxuO3ZhciBldD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGV0LnJnYkFycmF5VG9SR0JTdHJpbmc9ZXQucmdiU3RyaW5nVG9OdW1lcmljPWV0LnJnYkFycmF5VG9OdW1lcmljPWV0LnJnYlN0cmluZ1RvQXJyYXk9dm9pZCAwO2Z1bmN0aW9uIENpKHQpe3ZhciBlO3JldHVybiB0eXBlb2YgdCE9InN0cmluZyI/WzAsMCwwXTooKGU9dC5tYXRjaCgvWy1dezAsMX1bXGRdKlsuXXswLDF9W1xkXSsvZykpPT1udWxsP3ZvaWQgMDplLm1hcChOdW1iZXIpKT8/WzAsMCwwXX1ldC5yZ2JTdHJpbmdUb0FycmF5PUNpO2Z1bmN0aW9uIExpKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3QuZXZlcnkoZT0+aXNOYU4oK2UpKT9bMCwwLDBdOnQubWFwKChlLGkscik9PnIubGVuZ3RoPT09NCYmaT09PXIubGVuZ3RoLTE/ZTplLzI1NSk6WzAsMCwwXX1ldC5yZ2JBcnJheVRvTnVtZXJpYz1MaTtmdW5jdGlvbiB1bih0KXtyZXR1cm4gTGkoQ2kodCkpfWV0LnJnYlN0cmluZ1RvTnVtZXJpYz11bjtmdW5jdGlvbiBkbih0KXtpZighQXJyYXkuaXNBcnJheSh0KXx8dC5ldmVyeShmPT5pc05hTigrZikpKXJldHVybiJyZ2IoMCwgMCwgMCkiO2NvbnN0W2UsaSxyXT10LG49TWF0aC5yb3VuZCgyNTUqKGUqMTAwKS8xMDApLGE9TWF0aC5yb3VuZCgyNTUqKGkqMTAwKS8xMDApLG89TWF0aC5yb3VuZCgyNTUqKHIqMTAwKS8xMDApO3JldHVybmByZ2IoJHtufSwgJHthfSwgJHtvfSlgfWV0LnJnYkFycmF5VG9SR0JTdHJpbmc9ZG47dmFyIFBlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShQZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksUGUudG9TZWNvbmRzPXZvaWQgMDtmdW5jdGlvbiBjbih0LGU9Mil7cmV0dXJuIE51bWJlcih0LzFlMykudG9GaXhlZChlKX1QZS50b1NlY29uZHM9Y247dmFyIFJ0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShSdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksUnQuZGVlcE1lcmdlPXZvaWQgMDtjb25zdCBKZT10dCxSaT15dDtmdW5jdGlvbiBEaSh0LGUpe2NvbnN0IGk9T2JqZWN0LmFzc2lnbih7fSx0KTtyZXR1cm4oMCxKZS5pc09iamVjdCkodCkmJigwLEplLmlzT2JqZWN0KShlKSYmT2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57KDAsSmUuaXNPYmplY3QpKGVbcl0pP3IgaW4gdD9pW3JdPURpKHRbcl0sZVtyXSk6T2JqZWN0LmFzc2lnbihpLHtbcl06ZVtyXX0pOk9iamVjdC5hc3NpZ24oaSx7W3JdOmVbcl19KX0pLCgwLFJpLmlzRW1wdHkpKHQpJiYhKDAsUmkuaXNFbXB0eSkoZSk/T2JqZWN0LmFzc2lnbih7fSxlKTppfVJ0LmRlZXBNZXJnZT1EaTt2YXIgTWk9e30scG49RXJyb3IsX249RXZhbEVycm9yLHluPVJhbmdlRXJyb3IsZ249UmVmZXJlbmNlRXJyb3IsTmk9U3ludGF4RXJyb3IsZWU9VHlwZUVycm9yLG1uPVVSSUVycm9yLHZuPWZ1bmN0aW9uKCl7aWYodHlwZW9mIFN5bWJvbCE9ImZ1bmN0aW9uInx8dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMhPSJmdW5jdGlvbiIpcmV0dXJuITE7aWYodHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09InN5bWJvbCIpcmV0dXJuITA7dmFyIGU9e30saT1TeW1ib2woInRlc3QiKSxyPU9iamVjdChpKTtpZih0eXBlb2YgaT09InN0cmluZyJ8fE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpKSE9PSJbb2JqZWN0IFN5bWJvbF0ifHxPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocikhPT0iW29iamVjdCBTeW1ib2xdIilyZXR1cm4hMTt2YXIgbj00MjtlW2ldPW47Zm9yKGkgaW4gZSlyZXR1cm4hMTtpZih0eXBlb2YgT2JqZWN0LmtleXM9PSJmdW5jdGlvbiImJk9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTB8fHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcz09ImZ1bmN0aW9uIiYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkubGVuZ3RoIT09MClyZXR1cm4hMTt2YXIgYT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2lmKGEubGVuZ3RoIT09MXx8YVswXSE9PWl8fCFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxpKSlyZXR1cm4hMTtpZih0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj09ImZ1bmN0aW9uIil7dmFyIG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpO2lmKG8udmFsdWUhPT1ufHxvLmVudW1lcmFibGUhPT0hMClyZXR1cm4hMX1yZXR1cm4hMH0sa2k9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbCxibj12bixTbj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2Yga2khPSJmdW5jdGlvbiJ8fHR5cGVvZiBTeW1ib2whPSJmdW5jdGlvbiJ8fHR5cGVvZiBraSgiZm9vIikhPSJzeW1ib2wifHx0eXBlb2YgU3ltYm9sKCJiYXIiKSE9InN5bWJvbCI/ITE6Ym4oKX0sWmU9e19fcHJvdG9fXzpudWxsLGZvbzp7fX0seG49T2JqZWN0LHduPWZ1bmN0aW9uKCl7cmV0dXJue19fcHJvdG9fXzpaZX0uZm9vPT09WmUuZm9vJiYhKFplIGluc3RhbmNlb2YgeG4pfSxVbj0iRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbGVkIG9uIGluY29tcGF0aWJsZSAiLEVuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsQW49TWF0aC5tYXgsQm49IltvYmplY3QgRnVuY3Rpb25dIixHaT1mdW5jdGlvbihlLGkpe2Zvcih2YXIgcj1bXSxuPTA7bj
1xlLmxlbmd0aDtuKz0xKXJbbl09ZVtuXTtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErPTEpclthK2UubGVuZ3RoXT1pW2FdO3JldHVybiByfSxQbj1mdW5jdGlvbihlLGkpe2Zvcih2YXIgcj1bXSxuPWl8fDAsYT0wO248ZS5sZW5ndGg7bis9MSxhKz0xKXJbYV09ZVtuXTtyZXR1cm4gcn0sVG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9IiIscj0wO3I8dC5sZW5ndGg7cis9MSlpKz10W3JdLHIrMTx0Lmxlbmd0aCYmKGkrPWUpO3JldHVybiBpfSxGbj1mdW5jdGlvbihlKXt2YXIgaT10aGlzO2lmKHR5cGVvZiBpIT0iZnVuY3Rpb24ifHxFbi5hcHBseShpKSE9PUJuKXRocm93IG5ldyBUeXBlRXJyb3IoVW4raSk7Zm9yKHZhciByPVBuKGFyZ3VtZW50cywxKSxuLGE9ZnVuY3Rpb24oKXtpZih0aGlzIGluc3RhbmNlb2Ygbil7dmFyIHU9aS5hcHBseSh0aGlzLEdpKHIsYXJndW1lbnRzKSk7cmV0dXJuIE9iamVjdCh1KT09PXU/dTp0aGlzfXJldHVybiBpLmFwcGx5KGUsR2kocixhcmd1bWVudHMpKX0sbz1BbigwLGkubGVuZ3RoLXIubGVuZ3RoKSxmPVtdLGg9MDtoPG87aCsrKWZbaF09IiQiK2g7aWYobj1GdW5jdGlvbigiYmluZGVyIiwicmV0dXJuIGZ1bmN0aW9uICgiK1RuKGYsIiwiKSsiKXsgcmV0dXJuIGJpbmRlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7IH0iKShhKSxpLnByb3RvdHlwZSl7dmFyIGw9ZnVuY3Rpb24oKXt9O2wucHJvdG90eXBlPWkucHJvdG90eXBlLG4ucHJvdG90eXBlPW5ldyBsLGwucHJvdG90eXBlPW51bGx9cmV0dXJuIG59LEluPUZuLHRpPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHxJbix6bj1GdW5jdGlvbi5wcm90b3R5cGUuY2FsbCxPbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LENuPXRpLExuPUNuLmNhbGwoem4sT24pLFAsUm49cG4sRG49X24sTW49eW4sTm49Z24sRHQ9TmksTXQ9ZWUsa249bW4sSGk9RnVuY3Rpb24sZWk9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBIaSgnInVzZSBzdHJpY3QiOyByZXR1cm4gKCcrdCsiKS5jb25zdHJ1Y3RvcjsiKSgpfWNhdGNoe319LFB0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7aWYoUHQpdHJ5e1B0KHt9LCIiKX1jYXRjaHtQdD1udWxsfXZhciBpaT1mdW5jdGlvbigpe3Rocm93IG5ldyBNdH0sR249UHQ/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGFyZ3VtZW50cy5jYWxsZWUsaWl9Y2F0Y2h7dHJ5e3JldHVybiBQdChhcmd1bWVudHMsImNhbGxlZSIpLmdldH1jYXRjaHtyZXR1cm4gaWl9fX0oKTppaSxOdD1TbigpLEhuPXduKCksRz1PYmplY3QuZ2V0UHJvdG90eXBlT2Z8fChIbj9mdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX199Om51bGwpLGt0PXt9LCRuPXR5cGVvZiBVaW50OEFycmF5PiJ1Inx8IUc/UDpHKFVpbnQ4QXJyYXkpLFR0PXtfX3Byb3RvX186bnVsbCwiJUFnZ3JlZ2F0ZUVycm9yJSI6dHlwZW9mIEFnZ3JlZ2F0ZUVycm9yPiJ1Ij9QOkFnZ3JlZ2F0ZUVycm9yLCIlQXJyYXklIjpBcnJheSwiJUFycmF5QnVmZmVyJSI6dHlwZW9mIEFycmF5QnVmZmVyPiJ1Ij9QOkFycmF5QnVmZmVyLCIlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUiOk50JiZHP0coW11bU3ltYm9sLml0ZXJhdG9yXSgpKTpQLCIlQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90eXBlJSI6UCwiJUFzeW5jRnVuY3Rpb24lIjprdCwiJUFzeW5jR2VuZXJhdG9yJSI6a3QsIiVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJSI6a3QsIiVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSI6a3QsIiVBdG9taWNzJSI6dHlwZW9mIEF0b21pY3M+InUiP1A6QXRvbWljcywiJUJpZ0ludCUiOnR5cGVvZiBCaWdJbnQ+InUiP1A6QmlnSW50LCIlQmlnSW50NjRBcnJheSUiOnR5cGVvZiBCaWdJbnQ2NEFycmF5PiJ1Ij9QOkJpZ0ludDY0QXJyYXksIiVCaWdVaW50NjRBcnJheSUiOnR5cGVvZiBCaWdVaW50NjRBcnJheT4idSI/UDpCaWdVaW50NjRBcnJheSwiJUJvb2xlYW4lIjpCb29sZWFuLCIlRGF0YVZpZXclIjp0eXBlb2YgRGF0YVZpZXc+InUiP1A6RGF0YVZpZXcsIiVEYXRlJSI6RGF0ZSwiJWRlY29kZVVSSSUiOmRlY29kZVVSSSwiJWRlY29kZVVSSUNvbXBvbmVudCUiOmRlY29kZVVSSUNvbXBvbmVudCwiJWVuY29kZVVSSSUiOmVuY29kZVVSSSwiJWVuY29kZVVSSUNvbXBvbmVudCUiOmVuY29kZVVSSUNvbXBvbmVudCwiJUVycm9yJSI6Um4sIiVldmFsJSI6ZXZhbCwiJUV2YWxFcnJvciUiOkRuLCIlRmxvYXQzMkFycmF5JSI6dHlwZW9mIEZsb2F0MzJBcnJheT4idSI/UDpGbG9hdDMyQXJyYXksIiVGbG9hdDY0QXJyYXklIjp0eXBlb2YgRmxvYXQ2NEFycmF5PiJ1Ij9QOkZsb2F0NjRBcnJheSwiJUZpbmFsaXphdGlvblJlZ2lzdHJ5JSI6dHlwZW9mIEZpbmFsaXphdGlvblJlZ2lzdHJ5PiJ1Ij9QOkZpbmFsaXphdGlvblJlZ2lzdHJ5LCIlRnVuY3Rpb24lIjpIaSwiJUdlbmVyYXRvckZ1bmN0aW9uJSI6a3QsIiVJbnQ4QXJyYXklIjp0eXBlb2YgSW50OEFycmF5PiJ1Ij9QOkludDhBcnJheSwiJUludDE2QXJyYXklIjp0eXBlb2YgSW50MTZBcnJheT4idSI/UDpJbnQxNkFycmF5LCIlSW50MzJBcnJheSUiOnR5cGVvZiBJbnQzMkFycmF5PiJ1Ij9QOkludDMyQXJyYXksIiVpc0Zpbml0ZSUiOmlzRmluaXRlLCIlaXNOYU4lIjppc05hTiwiJUl0ZXJhdG9yUHJvdG90eXBlJSI6TnQmJkc/RyhHKFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpOlAsIiVKU09OJSI6dHlwZW9mIEpTT049PSJvYmplY3QiP0pTT046UCwiJU1hcCUiOnR5cGVvZiBNYXA+InUiP1A6TWFwLCIlTWFwSXRlcmF0b3JQcm90b3R5cGUlIjp0eXBlb2YgTWFwPiJ1Inx8IU50fHwhRz9QOkcobmV3IE1hcCgpW1N5bWJvbC5pdGVyYXRvcl0oKSksIiVNYXRoJSI6TWF0aCwiJU51bWJlciUiOk51bWJlciwiJU9iamVjdCUiOk9iamVjdCwiJXBhcnNlRmxvYXQlIjpwYXJzZUZsb2F0LCIlcGFyc2VJbnQlIjpwYXJzZUludCwiJVByb21pc2UlIjp0eXBlb2YgUHJvbWlzZT4idSI/UDpQcm9taXNlLCIlUHJveHklIjp0eXBlb2YgUHJveHk+InUiP1A6UHJveHksIiVSYW5nZUVycm9yJSI6TW4sIiVSZWZlcmVuY2VFcnJvciUiOk5uLCIlUmVmbGVjdCUiOnR5cGVvZiBSZWZsZWN0PiJ1Ij9QOlJlZmxlY3QsIiVSZWdFeHAlIjpSZWdFeHAsIiVTZXQlIjp0eXBlb2YgU2V0PiJ1Ij9QOlNldCwiJVNldEl0ZXJhdG9yUHJvdG90eXBlJSI6dHlwZW9mIFNldD4idSJ8fCFOdHx8IUc/UDpHKG5ldyBTZXQoKVtTeW1ib2wuaXRlcmF0b3JdKCkpLCIlU2hhcmVkQXJyYXlCdWZmZXIlIjp0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXI+InUiP1A6U2hhcmVkQXJyYXlCdWZmZXIsIiVTdHJpbmclIjpTdHJpbmcsIiVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSUiOk50JiZHP0coIiJbU3ltYm9sLml0ZXJhdG9yXSgpKTpQLCIlU3ltYm9sJSI6TnQ/U3ltYm9sOlAsIiVTeW50YXhFcnJvciUiOkR0LCIlVGhyb3dUeXBlRXJyb3IlIjpHbiwiJVR5cGVkQXJyYXklIjokbiwiJVR5cGVFcnJvciUiOk10LCIlVWludDhBcnJheSUiOnR5cGVvZiBVaW50OEFycmF5PiJ1Ij9QOlVpbnQ4QXJyYXksIiVVaW50OENsYW1wZWRBcnJheSUiOnR5cGVvZiBVaW50OENsYW1wZWRBcnJheT4idSI/UDpVaW50OENsYW1wZWRBcnJheSwiJVVpbnQxNkFycmF
15JSI6dHlwZW9mIFVpbnQxNkFycmF5PiJ1Ij9QOlVpbnQxNkFycmF5LCIlVWludDMyQXJyYXklIjp0eXBlb2YgVWludDMyQXJyYXk+InUiP1A6VWludDMyQXJyYXksIiVVUklFcnJvciUiOmtuLCIlV2Vha01hcCUiOnR5cGVvZiBXZWFrTWFwPiJ1Ij9QOldlYWtNYXAsIiVXZWFrUmVmJSI6dHlwZW9mIFdlYWtSZWY+InUiP1A6V2Vha1JlZiwiJVdlYWtTZXQlIjp0eXBlb2YgV2Vha1NldD4idSI/UDpXZWFrU2V0fTtpZihHKXRyeXtudWxsLmVycm9yfWNhdGNoKHQpe3ZhciBqbj1HKEcodCkpO1R0WyIlRXJyb3IucHJvdG90eXBlJSJdPWpufXZhciBZbj1mdW5jdGlvbiB0KGUpe3ZhciBpO2lmKGU9PT0iJUFzeW5jRnVuY3Rpb24lIilpPWVpKCJhc3luYyBmdW5jdGlvbiAoKSB7fSIpO2Vsc2UgaWYoZT09PSIlR2VuZXJhdG9yRnVuY3Rpb24lIilpPWVpKCJmdW5jdGlvbiogKCkge30iKTtlbHNlIGlmKGU9PT0iJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lIilpPWVpKCJhc3luYyBmdW5jdGlvbiogKCkge30iKTtlbHNlIGlmKGU9PT0iJUFzeW5jR2VuZXJhdG9yJSIpe3ZhciByPXQoIiVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJSIpO3ImJihpPXIucHJvdG90eXBlKX1lbHNlIGlmKGU9PT0iJUFzeW5jSXRlcmF0b3JQcm90b3R5cGUlIil7dmFyIG49dCgiJUFzeW5jR2VuZXJhdG9yJSIpO24mJkcmJihpPUcobi5wcm90b3R5cGUpKX1yZXR1cm4gVHRbZV09aSxpfSwkaT17X19wcm90b19fOm51bGwsIiVBcnJheUJ1ZmZlclByb3RvdHlwZSUiOlsiQXJyYXlCdWZmZXIiLCJwcm90b3R5cGUiXSwiJUFycmF5UHJvdG90eXBlJSI6WyJBcnJheSIsInByb3RvdHlwZSJdLCIlQXJyYXlQcm90b19lbnRyaWVzJSI6WyJBcnJheSIsInByb3RvdHlwZSIsImVudHJpZXMiXSwiJUFycmF5UHJvdG9fZm9yRWFjaCUiOlsiQXJyYXkiLCJwcm90b3R5cGUiLCJmb3JFYWNoIl0sIiVBcnJheVByb3RvX2tleXMlIjpbIkFycmF5IiwicHJvdG90eXBlIiwia2V5cyJdLCIlQXJyYXlQcm90b192YWx1ZXMlIjpbIkFycmF5IiwicHJvdG90eXBlIiwidmFsdWVzIl0sIiVBc3luY0Z1bmN0aW9uUHJvdG90eXBlJSI6WyJBc3luY0Z1bmN0aW9uIiwicHJvdG90eXBlIl0sIiVBc3luY0dlbmVyYXRvciUiOlsiQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiIsInByb3RvdHlwZSJdLCIlQXN5bmNHZW5lcmF0b3JQcm90b3R5cGUlIjpbIkFzeW5jR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5cGUiLCJwcm90b3R5cGUiXSwiJUJvb2xlYW5Qcm90b3R5cGUlIjpbIkJvb2xlYW4iLCJwcm90b3R5cGUiXSwiJURhdGFWaWV3UHJvdG90eXBlJSI6WyJEYXRhVmlldyIsInByb3RvdHlwZSJdLCIlRGF0ZVByb3RvdHlwZSUiOlsiRGF0ZSIsInByb3RvdHlwZSJdLCIlRXJyb3JQcm90b3R5cGUlIjpbIkVycm9yIiwicHJvdG90eXBlIl0sIiVFdmFsRXJyb3JQcm90b3R5cGUlIjpbIkV2YWxFcnJvciIsInByb3RvdHlwZSJdLCIlRmxvYXQzMkFycmF5UHJvdG90eXBlJSI6WyJGbG9hdDMyQXJyYXkiLCJwcm90b3R5cGUiXSwiJUZsb2F0NjRBcnJheVByb3RvdHlwZSUiOlsiRmxvYXQ2NEFycmF5IiwicHJvdG90eXBlIl0sIiVGdW5jdGlvblByb3RvdHlwZSUiOlsiRnVuY3Rpb24iLCJwcm90b3R5cGUiXSwiJUdlbmVyYXRvciUiOlsiR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5cGUiXSwiJUdlbmVyYXRvclByb3RvdHlwZSUiOlsiR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5cGUiLCJwcm90b3R5cGUiXSwiJUludDhBcnJheVByb3RvdHlwZSUiOlsiSW50OEFycmF5IiwicHJvdG90eXBlIl0sIiVJbnQxNkFycmF5UHJvdG90eXBlJSI6WyJJbnQxNkFycmF5IiwicHJvdG90eXBlIl0sIiVJbnQzMkFycmF5UHJvdG90eXBlJSI6WyJJbnQzMkFycmF5IiwicHJvdG90eXBlIl0sIiVKU09OUGFyc2UlIjpbIkpTT04iLCJwYXJzZSJdLCIlSlNPTlN0cmluZ2lmeSUiOlsiSlNPTiIsInN0cmluZ2lmeSJdLCIlTWFwUHJvdG90eXBlJSI6WyJNYXAiLCJwcm90b3R5cGUiXSwiJU51bWJlclByb3RvdHlwZSUiOlsiTnVtYmVyIiwicHJvdG90eXBlIl0sIiVPYmplY3RQcm90b3R5cGUlIjpbIk9iamVjdCIsInByb3RvdHlwZSJdLCIlT2JqUHJvdG9fdG9TdHJpbmclIjpbIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIl0sIiVPYmpQcm90b192YWx1ZU9mJSI6WyJPYmplY3QiLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIl0sIiVQcm9taXNlUHJvdG90eXBlJSI6WyJQcm9taXNlIiwicHJvdG90eXBlIl0sIiVQcm9taXNlUHJvdG9fdGhlbiUiOlsiUHJvbWlzZSIsInByb3RvdHlwZSIsInRoZW4iXSwiJVByb21pc2VfYWxsJSI6WyJQcm9taXNlIiwiYWxsIl0sIiVQcm9taXNlX3JlamVjdCUiOlsiUHJvbWlzZSIsInJlamVjdCJdLCIlUHJvbWlzZV9yZXNvbHZlJSI6WyJQcm9taXNlIiwicmVzb2x2ZSJdLCIlUmFuZ2VFcnJvclByb3RvdHlwZSUiOlsiUmFuZ2VFcnJvciIsInByb3RvdHlwZSJdLCIlUmVmZXJlbmNlRXJyb3JQcm90b3R5cGUlIjpbIlJlZmVyZW5jZUVycm9yIiwicHJvdG90eXBlIl0sIiVSZWdFeHBQcm90b3R5cGUlIjpbIlJlZ0V4cCIsInByb3RvdHlwZSJdLCIlU2V0UHJvdG90eXBlJSI6WyJTZXQiLCJwcm90b3R5cGUiXSwiJVNoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlJSI6WyJTaGFyZWRBcnJheUJ1ZmZlciIsInByb3RvdHlwZSJdLCIlU3RyaW5nUHJvdG90eXBlJSI6WyJTdHJpbmciLCJwcm90b3R5cGUiXSwiJVN5bWJvbFByb3RvdHlwZSUiOlsiU3ltYm9sIiwicHJvdG90eXBlIl0sIiVTeW50YXhFcnJvclByb3RvdHlwZSUiOlsiU3ludGF4RXJyb3IiLCJwcm90b3R5cGUiXSwiJVR5cGVkQXJyYXlQcm90b3R5cGUlIjpbIlR5cGVkQXJyYXkiLCJwcm90b3R5cGUiXSwiJVR5cGVFcnJvclByb3RvdHlwZSUiOlsiVHlwZUVycm9yIiwicHJvdG90eXBlIl0sIiVVaW50OEFycmF5UHJvdG90eXBlJSI6WyJVaW50OEFycmF5IiwicHJvdG90eXBlIl0sIiVVaW50OENsYW1wZWRBcnJheVByb3RvdHlwZSUiOlsiVWludDhDbGFtcGVkQXJyYXkiLCJwcm90b3R5cGUiXSwiJVVpbnQxNkFycmF
15UHJvdG90eXBlJSI6WyJVaW50MTZBcnJheSIsInByb3RvdHlwZSJdLCIlVWludDMyQXJyYXlQcm90b3R5cGUlIjpbIlVpbnQzMkFycmF5IiwicHJvdG90eXBlIl0sIiVVUklFcnJvclByb3RvdHlwZSUiOlsiVVJJRXJyb3IiLCJwcm90b3R5cGUiXSwiJVdlYWtNYXBQcm90b3R5cGUlIjpbIldlYWtNYXAiLCJwcm90b3R5cGUiXSwiJVdlYWtTZXRQcm90b3R5cGUlIjpbIldlYWtTZXQiLCJwcm90b3R5cGUiXX0saWU9dGksVGU9TG4sVm49aWUuY2FsbChGdW5jdGlvbi5jYWxsLEFycmF5LnByb3RvdHlwZS5jb25jYXQpLFduPWllLmNhbGwoRnVuY3Rpb24uYXBwbHksQXJyYXkucHJvdG90eXBlLnNwbGljZSksamk9aWUuY2FsbChGdW5jdGlvbi5jYWxsLFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSksRmU9aWUuY2FsbChGdW5jdGlvbi5jYWxsLFN0cmluZy5wcm90b3R5cGUuc2xpY2UpLHFuPWllLmNhbGwoRnVuY3Rpb24uY2FsbCxSZWdFeHAucHJvdG90eXBlLmV4ZWMpLEtuPS9bXiUuW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwlJCkpL2csUW49L1xcKFxcKT8vZyxYbj1mdW5jdGlvbihlKXt2YXIgaT1GZShlLDAsMSkscj1GZShlLC0xKTtpZihpPT09IiUiJiZyIT09IiUiKXRocm93IG5ldyBEdCgiaW52YWxpZCBpbnRyaW5zaWMgc3ludGF4LCBleHBlY3RlZCBjbG9zaW5nIGAlYCIpO2lmKHI9PT0iJSImJmkhPT0iJSIpdGhyb3cgbmV3IER0KCJpbnZhbGlkIGludHJpbnNpYyBzeW50YXgsIGV4cGVjdGVkIG9wZW5pbmcgYCVgIik7dmFyIG49W107cmV0dXJuIGppKGUsS24sZnVuY3Rpb24oYSxvLGYsaCl7bltuLmxlbmd0aF09Zj9qaShoLFFuLCIkMSIpOm98fGF9KSxufSxKbj1mdW5jdGlvbihlLGkpe3ZhciByPWUsbjtpZihUZSgkaSxyKSYmKG49JGlbcl0scj0iJSIrblswXSsiJSIpLFRlKFR0LHIpKXt2YXIgYT1UdFtyXTtpZihhPT09a3QmJihhPVluKHIpKSx0eXBlb2YgYT4idSImJiFpKXRocm93IG5ldyBNdCgiaW50cmluc2ljICIrZSsiIGV4aXN0cywgYnV0IGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSBmaWxlIGFuIGlzc3VlISIpO3JldHVybnthbGlhczpuLG5hbWU6cix2YWx1ZTphfX10aHJvdyBuZXcgRHQoImludHJpbnNpYyAiK2UrIiBkb2VzIG5vdCBleGlzdCEiKX0sR3Q9ZnVuY3Rpb24oZSxpKXtpZih0eXBlb2YgZSE9InN0cmluZyJ8fGUubGVuZ3RoPT09MCl0aHJvdyBuZXcgTXQoImludHJpbnNpYyBuYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIik7aWYoYXJndW1lbnRzLmxlbmd0aD4xJiZ0eXBlb2YgaSE9ImJvb2xlYW4iKXRocm93IG5ldyBNdCgnImFsbG93TWlzc2luZyIgYXJndW1lbnQgbXVzdCBiZSBhIGJvb2xlYW4nKTtpZihxbigvXiU/W14lXSolPyQvLGUpPT09bnVsbCl0aHJvdyBuZXcgRHQoImAlYCBtYXkgbm90IGJlIHByZXNlbnQgYW55d2hlcmUgYnV0IGF0IHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgaW50cmluc2ljIG5hbWUiKTt2YXIgcj1YbihlKSxuPXIubGVuZ3RoPjA/clswXToiIixhPUpuKCIlIituKyIlIixpKSxvPWEubmFtZSxmPWEudmFsdWUsaD0hMSxsPWEuYWxpYXM7bCYmKG49bFswXSxXbihyLFZuKFswLDFdLGwpKSk7Zm9yKHZhciB1PTEsXz0hMDt1PHIubGVuZ3RoO3UrPTEpe3ZhciBnPXJbdV0scD1GZShnLDAsMSksbT1GZShnLC0xKTtpZigocD09PSciJ3x8cD09PSInInx8cD09PSJgInx8bT09PSciJ3x8bT09PSInInx8bT09PSJgIikmJnAhPT1tKXRocm93IG5ldyBEdCgicHJvcGVydHkgbmFtZXMgd2l0aCBxdW90ZXMgbXVzdCBoYXZlIG1hdGNoaW5nIHF1b3RlcyIpO2lmKChnPT09ImNvbnN0cnVjdG9yInx8IV8pJiYoaD0hMCksbis9Ii4iK2csbz0iJSIrbisiJSIsVGUoVHQsbykpZj1UdFtvXTtlbHNlIGlmKGYhPW51bGwpe2lmKCEoZyBpbiBmKSl7aWYoIWkpdGhyb3cgbmV3IE10KCJiYXNlIGludHJpbnNpYyBmb3IgIitlKyIgZXhpc3RzLCBidXQgdGhlIHByb3BlcnR5IGlzIG5vdCBhdmFpbGFibGUuIik7cmV0dXJufWlmKFB0JiZ1KzE+PXIubGVuZ3RoKXt2YXIgUz1QdChmLGcpO189ISFTLF8mJiJnZXQiaW4gUyYmISgib3JpZ2luYWxWYWx1ZSJpbiBTLmdldCk/Zj1TLmdldDpmPWZbZ119ZWxzZSBfPVRlKGYsZyksZj1mW2ddO18mJiFoJiYoVHRbb109Zil9fXJldHVybiBmfSxZaT17ZXhwb3J0czp7fX0scmksVmk7ZnVuY3Rpb24gbmkoKXtpZihWaSlyZXR1cm4gcmk7Vmk9MTt2YXIgdD1HdCxlPXQoIiVPYmplY3QuZGVmaW5lUHJvcGVydHklIiwhMCl8fCExO2lmKGUpdHJ5e2Uoe30sImEiLHt2YWx1ZToxfSl9Y2F0Y2h7ZT0hMX1yZXR1cm4gcmk9ZSxyaX12YXIgWm49R3QsSWU9Wm4oIiVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJSIsITApO2lmKEllKXRyeXtJZShbXSwibGVuZ3RoIil9Y2F0Y2h7SWU9bnVsbH12YXIgV2k9SWUscWk9bmkoKSx0cz1OaSxIdD1lZSxLaT1XaSxlcz1mdW5jdGlvbihlLGkscil7aWYoIWV8fHR5cGVvZiBlIT0ib2JqZWN0IiYmdHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEh0KCJgb2JqYCBtdXN0IGJlIGFuIG9iamVjdCBvciBhIGZ1bmN0aW9uYCIpO2lmKHR5cGVvZiBpIT0ic3RyaW5nIiYmdHlwZW9mIGkhPSJzeW1ib2wiKXRocm93IG5ldyBIdCgiYHByb3BlcnR5YCBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgc3ltYm9sYCIpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MyYmdHlwZW9mIGFyZ3VtZW50c1szXSE9ImJvb2xlYW4iJiZhcmd1bWVudHNbM10hPT1udWxsKXRocm93IG5ldyBIdCgiYG5vbkVudW1lcmFibGVgLCBpZiBwcm92aWRlZCwgbXVzdCBiZSBhIGJvb2xlYW4gb3IgbnVsbCIpO2lmKGFyZ3VtZW50cy5sZW5ndGg+NCYmdHlwZW9mIGFyZ3VtZW50c1s0XSE9ImJvb2xlYW4iJiZhcmd1bWVudHNbNF0hPT1udWxsKXRocm93IG5ldyBIdCgiYG5vbldyaXRhYmxlYCwgaWYgcHJvdmlkZWQsIG11c3QgYmUgYSBib29sZWFuIG9yIG51bGwiKTtpZihhcmd1bWVudHMubGVuZ3RoPjUmJnR5cGVvZiBhcmd1bWVudHNbNV0hPSJib29sZWFuIiYmYXJndW1lbnRzWzVdIT09bnVsbCl0aHJvdyBuZXcgSHQoImBub25Db25maWd1cmFibGVgLCBpZiBwcm92aWRlZCwgbXVzdCBiZSBhIGJvb2xlYW4gb3IgbnVsbCIpO2lmKGFyZ3VtZW50cy5sZW5ndGg+NiYmdHlwZW9mIGFyZ3VtZW50c1s2XSE9ImJvb2xlYW4iKXRocm93IG5ldyBIdCgiYGxvb3NlYCwgaWYgcHJvdmlkZWQsIG11c3QgYmUgYSBib29sZWFuIik7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4zP2FyZ3VtZW50c1szXTpudWxsLGE9YXJndW1lbnRzLmxlbmd0aD40P2FyZ3VtZW50c1s0XTpudWxsLG89YXJndW1lbnRzLmxlbmd0aD41P2FyZ3VtZW50c1s1XTpudWxsLGY9YXJndW1lbnRzLmxlbmd0aD42P2Fy
1Z3VtZW50c1s2XTohMSxoPSEhS2kmJktpKGUsaSk7aWYocWkpcWkoZSxpLHtjb25maWd1cmFibGU6bz09PW51bGwmJmg/aC5jb25maWd1cmFibGU6IW8sZW51bWVyYWJsZTpuPT09bnVsbCYmaD9oLmVudW1lcmFibGU6IW4sdmFsdWU6cix3cml0YWJsZTphPT09bnVsbCYmaD9oLndyaXRhYmxlOiFhfSk7ZWxzZSBpZihmfHwhbiYmIWEmJiFvKWVbaV09cjtlbHNlIHRocm93IG5ldyB0cygiVGhpcyBlbnZpcm9ubWVudCBkb2VzIG5vdCBzdXBwb3J0IGRlZmluaW5nIGEgcHJvcGVydHkgYXMgbm9uLWNvbmZpZ3VyYWJsZSwgbm9uLXdyaXRhYmxlLCBvciBub24tZW51bWVyYWJsZS4iKX0sc2k9bmkoKSxRaT1mdW5jdGlvbigpe3JldHVybiEhc2l9O1FpLmhhc0FycmF5TGVuZ3RoRGVmaW5lQnVnPWZ1bmN0aW9uKCl7aWYoIXNpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gc2koW10sImxlbmd0aCIse3ZhbHVlOjF9KS5sZW5ndGghPT0xfWNhdGNoe3JldHVybiEwfX07dmFyIGlzPVFpLHJzPUd0LFhpPWVzLG5zPWlzKCksSmk9V2ksWmk9ZWUsc3M9cnMoIiVNYXRoLmZsb29yJSIpLGFzPWZ1bmN0aW9uKGUsaSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFppKCJgZm5gIGlzIG5vdCBhIGZ1bmN0aW9uIik7aWYodHlwZW9mIGkhPSJudW1iZXIifHxpPDB8fGk+NDI5NDk2NzI5NXx8c3MoaSkhPT1pKXRocm93IG5ldyBaaSgiYGxlbmd0aGAgbXVzdCBiZSBhIHBvc2l0aXZlIDMyLWJpdCBpbnRlZ2VyIik7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yJiYhIWFyZ3VtZW50c1syXSxuPSEwLGE9ITA7aWYoImxlbmd0aCJpbiBlJiZKaSl7dmFyIG89SmkoZSwibGVuZ3RoIik7byYmIW8uY29uZmlndXJhYmxlJiYobj0hMSksbyYmIW8ud3JpdGFibGUmJihhPSExKX1yZXR1cm4obnx8YXx8IXIpJiYobnM/WGkoZSwibGVuZ3RoIixpLCEwLCEwKTpYaShlLCJsZW5ndGgiLGkpKSxlfTsoZnVuY3Rpb24odCl7dmFyIGU9dGksaT1HdCxyPWFzLG49ZWUsYT1pKCIlRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5JSIpLG89aSgiJUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsJSIpLGY9aSgiJVJlZmxlY3QuYXBwbHklIiwhMCl8fGUuY2FsbChvLGEpLGg9bmkoKSxsPWkoIiVNYXRoLm1heCUiKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZyl7aWYodHlwZW9mIGchPSJmdW5jdGlvbiIpdGhyb3cgbmV3IG4oImEgZnVuY3Rpb24gaXMgcmVxdWlyZWQiKTt2YXIgcD1mKGUsbyxhcmd1bWVudHMpO3JldHVybiByKHAsMStsKDAsZy5sZW5ndGgtKGFyZ3VtZW50cy5sZW5ndGgtMSkpLCEwKX07dmFyIHU9ZnVuY3Rpb24oKXtyZXR1cm4gZihlLGEsYXJndW1lbnRzKX07aD9oKHQuZXhwb3J0cywiYXBwbHkiLHt2YWx1ZTp1fSk6dC5leHBvcnRzLmFwcGx5PXV9KShZaSk7dmFyIG9zPVlpLmV4cG9ydHMsdHI9R3QsZXI9b3MsZnM9ZXIodHIoIlN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiIpKSxocz1mdW5jdGlvbihlLGkpe3ZhciByPXRyKGUsISFpKTtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiImJmZzKGUsIi5wcm90b3R5cGUuIik+LTE/ZXIocik6cn0sbHM9e30sdXM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsZGVmYXVsdDpsc30pLGRzPVIodXMpLGFpPXR5cGVvZiBNYXA9PSJmdW5jdGlvbiImJk1hcC5wcm90b3R5cGUsb2k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciYmYWk/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAucHJvdG90eXBlLCJzaXplIik6bnVsbCx6ZT1haSYmb2kmJnR5cGVvZiBvaS5nZXQ9PSJmdW5jdGlvbiI/b2kuZ2V0Om51bGwsaXI9YWkmJk1hcC5wcm90b3R5cGUuZm9yRWFjaCxmaT10eXBlb2YgU2V0PT0iZnVuY3Rpb24iJiZTZXQucHJvdG90eXBlLGhpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ImJmZpP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LnByb3RvdHlwZSwic2l6ZSIpOm51bGwsT2U9ZmkmJmhpJiZ0eXBlb2YgaGkuZ2V0PT0iZnVuY3Rpb24iP2hpLmdldDpudWxsLHJyPWZpJiZTZXQucHJvdG90eXBlLmZvckVhY2gsY3M9dHlwZW9mIFdlYWtNYXA9PSJmdW5jdGlvbiImJldlYWtNYXAucHJvdG90eXBlLHJlPWNzP1dlYWtNYXAucHJvdG90eXBlLmhhczpudWxsLHBzPXR5cGVvZiBXZWFrU2V0PT0iZnVuY3Rpb24iJiZXZWFrU2V0LnByb3RvdHlwZSxuZT1wcz9XZWFrU2V0LnByb3RvdHlwZS5oYXM6bnVsbCxfcz10eXBlb2YgV2Vha1JlZj09ImZ1bmN0aW9uIiYmV2Vha1JlZi5wcm90b3R5cGUsbnI9X3M/V2Vha1JlZi5wcm90b3R5cGUuZGVyZWY6bnVsbCx5cz1Cb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLGdzPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbXM9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLHZzPVN0cmluZy5wcm90b3R5cGUubWF0Y2gsbGk9U3RyaW5nLnByb3RvdHlwZS5zbGljZSxndD1TdHJpbmcucHJvdG90eXBlLnJlcGxhY2UsYnM9U3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSxzcj1TdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLGFyPVJlZ0V4cC5wcm90b3R5cGUudGVzdCxvcj1BcnJheS5wcm90b3R5cGUuY29uY2F0LGl0PUFycmF5LnByb3RvdHlwZS5qb2luLFNzPUFycmF5LnByb3RvdHlwZS5zbGljZSxmcj1NYXRoLmZsb29yLHVpPXR5cGVvZiBCaWdJbnQ9PSJmdW5jdGlvbiI/QmlnSW50LnByb3RvdHlwZS52YWx1ZU9mOm51bGwsZGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxjaT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sLml0ZXJhdG9yPT0ic3ltYm9sIj9TeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nOm51bGwsJHQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09Im9iamVjdCIsWT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wudG9TdHJpbmdUYWcmJih0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnPT09JHR8fCEwKT9TeW1ib2wudG9TdHJpbmdUYWc6bnVsbCxocj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGxyPSh0eXBlb2YgUmVmbGVjdD09ImZ1bmN0aW9uIj9SZWZsZWN0LmdldFByb3RvdHlwZU9mOk9iamVjdC5nZXRQcm90b3R5cGVPZil8fChbXS5fX3Byb3RvX189PT1BcnJheS5wcm90b3R5cGU/ZnVuY3Rpb24odCl7cmV0dXJuIHQuX19wcm90b19ffTpudWxsKTtmdW5jdGlvbiB1cih0LGUpe2lmKHQ9PT0xLzB8fHQ9PT0tMS8wfHx0IT09dHx8dCYmdD4tMWUzJiZ0PDFlM3x8YXIuY2FsbCgvZS8sZSkpcmV0dXJuIGU7dmFyIGk9L1swLTldKD89KD86WzAtOV17M30pKyg/IVswLTldKSkvZztpZih0eXBlb2YgdD09Im51bWJlciIpe3ZhciByPXQ8MD8tZnIoLXQpOmZyKHQpO2lmKHIhPT10KXt2YXIgbj1TdHJpbmcociksYT1saS5jYWxsKGUsbi5sZW5ndGgrMSk7cmV0dXJuIGd0LmNhbGwobixpLCIkJl8iKSsiLiIrZ3QuY2FsbChndC5jYWxsKGEsLyhbMC05XXszfSkvZywiJCZfIiksL18kLywiIil9fXJldHVybi
1BndC5jYWxsKGUsaSwiJCZfIil9dmFyIHBpPWRzLGRyPXBpLmN1c3RvbSxjcj15cihkcik/ZHI6bnVsbCx4cz1mdW5jdGlvbiB0KGUsaSxyLG4pe3ZhciBhPWl8fHt9O2lmKG10KGEsInF1b3RlU3R5bGUiKSYmYS5xdW90ZVN0eWxlIT09InNpbmdsZSImJmEucXVvdGVTdHlsZSE9PSJkb3VibGUiKXRocm93IG5ldyBUeXBlRXJyb3IoJ29wdGlvbiAicXVvdGVTdHlsZSIgbXVzdCBiZSAic2luZ2xlIiBvciAiZG91YmxlIicpO2lmKG10KGEsIm1heFN0cmluZ0xlbmd0aCIpJiYodHlwZW9mIGEubWF4U3RyaW5nTGVuZ3RoPT0ibnVtYmVyIj9hLm1heFN0cmluZ0xlbmd0aDwwJiZhLm1heFN0cmluZ0xlbmd0aCE9PTEvMDphLm1heFN0cmluZ0xlbmd0aCE9PW51bGwpKXRocm93IG5ldyBUeXBlRXJyb3IoJ29wdGlvbiAibWF4U3RyaW5nTGVuZ3RoIiwgaWYgcHJvdmlkZWQsIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBJbmZpbml0eSwgb3IgYG51bGxgJyk7dmFyIG89bXQoYSwiY3VzdG9tSW5zcGVjdCIpP2EuY3VzdG9tSW5zcGVjdDohMDtpZih0eXBlb2YgbyE9ImJvb2xlYW4iJiZvIT09InN5bWJvbCIpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9uIFwiY3VzdG9tSW5zcGVjdFwiLCBpZiBwcm92aWRlZCwgbXVzdCBiZSBgdHJ1ZWAsIGBmYWxzZWAsIG9yIGAnc3ltYm9sJ2AiKTtpZihtdChhLCJpbmRlbnQiKSYmYS5pbmRlbnQhPT1udWxsJiZhLmluZGVudCE9PSIJIiYmIShwYXJzZUludChhLmluZGVudCwxMCk9PT1hLmluZGVudCYmYS5pbmRlbnQ+MCkpdGhyb3cgbmV3IFR5cGVFcnJvcignb3B0aW9uICJpbmRlbnQiIG11c3QgYmUgIlxcdCIsIGFuIGludGVnZXIgPiAwLCBvciBgbnVsbGAnKTtpZihtdChhLCJudW1lcmljU2VwYXJhdG9yIikmJnR5cGVvZiBhLm51bWVyaWNTZXBhcmF0b3IhPSJib29sZWFuIil0aHJvdyBuZXcgVHlwZUVycm9yKCdvcHRpb24gIm51bWVyaWNTZXBhcmF0b3IiLCBpZiBwcm92aWRlZCwgbXVzdCBiZSBgdHJ1ZWAgb3IgYGZhbHNlYCcpO3ZhciBmPWEubnVtZXJpY1NlcGFyYXRvcjtpZih0eXBlb2YgZT4idSIpcmV0dXJuInVuZGVmaW5lZCI7aWYoZT09PW51bGwpcmV0dXJuIm51bGwiO2lmKHR5cGVvZiBlPT0iYm9vbGVhbiIpcmV0dXJuIGU/InRydWUiOiJmYWxzZSI7aWYodHlwZW9mIGU9PSJzdHJpbmciKXJldHVybiBtcihlLGEpO2lmKHR5cGVvZiBlPT0ibnVtYmVyIil7aWYoZT09PTApcmV0dXJuIDEvMC9lPjA/IjAiOiItMCI7dmFyIGg9U3RyaW5nKGUpO3JldHVybiBmP3VyKGUsaCk6aH1pZih0eXBlb2YgZT09ImJpZ2ludCIpe3ZhciBsPVN0cmluZyhlKSsibiI7cmV0dXJuIGY/dXIoZSxsKTpsfXZhciB1PXR5cGVvZiBhLmRlcHRoPiJ1Ij81OmEuZGVwdGg7aWYodHlwZW9mIHI+InUiJiYocj0wKSxyPj11JiZ1PjAmJnR5cGVvZiBlPT0ib2JqZWN0IilyZXR1cm4gX2koZSk/IltBcnJheV0iOiJbT2JqZWN0XSI7dmFyIF89a3MoYSxyKTtpZih0eXBlb2Ygbj4idSIpbj1bXTtlbHNlIGlmKGdyKG4sZSk+PTApcmV0dXJuIltDaXJjdWxhcl0iO2Z1bmN0aW9uIGcoaixaLFV0KXtpZihaJiYobj1Tcy5jYWxsKG4pLG4ucHVzaChaKSksVXQpe3ZhciB4ZT17ZGVwdGg6YS5kZXB0aH07cmV0dXJuIG10KGEsInF1b3RlU3R5bGUiKSYmKHhlLnF1b3RlU3R5bGU9YS5xdW90ZVN0eWxlKSx0KGoseGUscisxLG4pfXJldHVybiB0KGosYSxyKzEsbil9aWYodHlwZW9mIGU9PSJmdW5jdGlvbiImJiFfcihlKSl7dmFyIHA9SXMoZSksbT1DZShlLGcpO3JldHVybiJbRnVuY3Rpb24iKyhwPyI6ICIrcDoiIChhbm9ueW1vdXMpIikrIl0iKyhtLmxlbmd0aD4wPyIgeyAiK2l0LmNhbGwobSwiLCAiKSsiIH0iOiIiKX1pZih5cihlKSl7dmFyIFM9JHQ/Z3QuY2FsbChTdHJpbmcoZSksL14oU3ltYm9sXCguKlwpKV9bXildKiQvLCIkMSIpOmNpLmNhbGwoZSk7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmISR0P3NlKFMpOlN9aWYoRHMoZSkpe2Zvcih2YXIgVT0iPCIrc3IuY2FsbChTdHJpbmcoZS5ub2RlTmFtZSkpLHo9ZS5hdHRyaWJ1dGVzfHxbXSxUPTA7VDx6Lmxlbmd0aDtUKyspVSs9IiAiK3pbVF0ubmFtZSsiPSIrcHIod3MoeltUXS52YWx1ZSksImRvdWJsZSIsYSk7cmV0dXJuIFUrPSI+IixlLmNoaWxkTm9kZXMmJmUuY2hpbGROb2Rlcy5sZW5ndGgmJihVKz0iLi4uIiksVSs9IjwvIitzci5jYWxsKFN0cmluZyhlLm5vZGVOYW1lKSkrIj4iLFV9aWYoX2koZSkpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iW10iO3ZhciBiPUNlKGUsZyk7cmV0dXJuIF8mJiFOcyhiKT8iWyIrZ2koYixfKSsiXSI6IlsgIitpdC5jYWxsKGIsIiwgIikrIiBdIn1pZihFcyhlKSl7dmFyIEY9Q2UoZSxnKTtyZXR1cm4hKCJjYXVzZSJpbiBFcnJvci5wcm90b3R5cGUpJiYiY2F1c2UiaW4gZSYmIWhyLmNhbGwoZSwiY2F1c2UiKT8ieyBbIitTdHJpbmcoZSkrIl0gIitpdC5jYWxsKG9yLmNhbGwoIltjYXVzZV06ICIrZyhlLmNhdXNlKSxGKSwiLCAiKSsiIH0iOkYubGVuZ3RoPT09MD8iWyIrU3RyaW5nKGUpKyJdIjoieyBbIitTdHJpbmcoZSkrIl0gIitpdC5jYWxsKEYsIiwgIikrIiB9In1pZih0eXBlb2YgZT09Im9iamVjdCImJm8pe2lmKGNyJiZ0eXBlb2YgZVtjcl09PSJmdW5jdGlvbiImJnBpKXJldHVybiBwaShlLHtkZXB0aDp1LXJ9KTtpZihvIT09InN5bWJvbCImJnR5cGVvZiBlLmluc3BlY3Q9PSJmdW5jdGlvbiIpcmV0dXJuIGUuaW5zcGVjdCgpfWlmKHpzKGUpKXt2YXIgTD1bXTtyZXR1cm4gaXImJmlyLmNhbGwoZSxmdW5jdGlvbihqLFope0wucHVzaChnKFosZSwhMCkrIiA9PiAiK2coaixlKSl9KSx2cigiTWFwIix6ZS5jYWxsKGUpLEwsXyl9aWYoTHMoZSkpe3ZhciBNPVtdO3JldHVybiByciYmcnIuY2FsbChlLGZ1bmN0aW9uKGope00ucHVzaChnKGosZSkpfSksdnIoIlNldCIsT2UuY2FsbChlKSxNLF8pfWlmKE9zKGUpKXJldHVybiB5aSgiV2Vha01hcCIpO2lmKFJzKGUpKXJldHVybiB5aSgiV2Vha1NldCIpO2lmKENzKGUpKXJldHVybiB5aSgiV2Vha1JlZiIpO2lmKEJzKGUpKXJldHVybiBzZShnKE51bWJlcihlKSkpO2lmKFRzKGUpKXJldHVybiBzZShnKHVpLmNhbGwoZSkpKTtpZihQcyhlKSlyZXR1cm4gc2UoeXMuY2FsbChlKSk7aWYoQXMoZSkpcmV0dXJuIHNlKGcoU3RyaW5nKGUpKSk7aWYodHlwZW9mIHdpbmRvdzwidSImJmU9PT13aW5kb3cpcmV0dXJuInsgW29iamVjdCBXaW5kb3ddIH0iO2lmKGU9PT13KXJldHVybiJ7IFtvYmplY3QgZ2xvYmFsVGh
1pc10gfSI7aWYoIVVzKGUpJiYhX3IoZSkpe3ZhciBJPUNlKGUsZyksJD1scj9scihlKT09PU9iamVjdC5wcm90b3R5cGU6ZSBpbnN0YW5jZW9mIE9iamVjdHx8ZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCx4PWUgaW5zdGFuY2VvZiBPYmplY3Q/IiI6Im51bGwgcHJvdG90eXBlIixodD0hJCYmWSYmT2JqZWN0KGUpPT09ZSYmWSBpbiBlP2xpLmNhbGwodnQoZSksOCwtMSk6eD8iT2JqZWN0IjoiIixMdD0kfHx0eXBlb2YgZS5jb25zdHJ1Y3RvciE9ImZ1bmN0aW9uIj8iIjplLmNvbnN0cnVjdG9yLm5hbWU/ZS5jb25zdHJ1Y3Rvci5uYW1lKyIgIjoiIixwdD1MdCsoaHR8fHg/IlsiK2l0LmNhbGwob3IuY2FsbChbXSxodHx8W10seHx8W10pLCI6ICIpKyJdICI6IiIpO3JldHVybiBJLmxlbmd0aD09PTA/cHQrInt9IjpfP3B0KyJ7IitnaShJLF8pKyJ9IjpwdCsieyAiK2l0LmNhbGwoSSwiLCAiKSsiIH0ifXJldHVybiBTdHJpbmcoZSl9O2Z1bmN0aW9uIHByKHQsZSxpKXt2YXIgcj0oaS5xdW90ZVN0eWxlfHxlKT09PSJkb3VibGUiPyciJzoiJyI7cmV0dXJuIHIrdCtyfWZ1bmN0aW9uIHdzKHQpe3JldHVybiBndC5jYWxsKFN0cmluZyh0KSwvIi9nLCImcXVvdDsiKX1mdW5jdGlvbiBfaSh0KXtyZXR1cm4gdnQodCk9PT0iW29iamVjdCBBcnJheV0iJiYoIVl8fCEodHlwZW9mIHQ9PSJvYmplY3QiJiZZIGluIHQpKX1mdW5jdGlvbiBVcyh0KXtyZXR1cm4gdnQodCk9PT0iW29iamVjdCBEYXRlXSImJighWXx8ISh0eXBlb2YgdD09Im9iamVjdCImJlkgaW4gdCkpfWZ1bmN0aW9uIF9yKHQpe3JldHVybiB2dCh0KT09PSJbb2JqZWN0IFJlZ0V4cF0iJiYoIVl8fCEodHlwZW9mIHQ9PSJvYmplY3QiJiZZIGluIHQpKX1mdW5jdGlvbiBFcyh0KXtyZXR1cm4gdnQodCk9PT0iW29iamVjdCBFcnJvcl0iJiYoIVl8fCEodHlwZW9mIHQ9PSJvYmplY3QiJiZZIGluIHQpKX1mdW5jdGlvbiBBcyh0KXtyZXR1cm4gdnQodCk9PT0iW29iamVjdCBTdHJpbmddIiYmKCFZfHwhKHR5cGVvZiB0PT0ib2JqZWN0IiYmWSBpbiB0KSl9ZnVuY3Rpb24gQnModCl7cmV0dXJuIHZ0KHQpPT09IltvYmplY3QgTnVtYmVyXSImJighWXx8ISh0eXBlb2YgdD09Im9iamVjdCImJlkgaW4gdCkpfWZ1bmN0aW9uIFBzKHQpe3JldHVybiB2dCh0KT09PSJbb2JqZWN0IEJvb2xlYW5dIiYmKCFZfHwhKHR5cGVvZiB0PT0ib2JqZWN0IiYmWSBpbiB0KSl9ZnVuY3Rpb24geXIodCl7aWYoJHQpcmV0dXJuIHQmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdCBpbnN0YW5jZW9mIFN5bWJvbDtpZih0eXBlb2YgdD09InN5bWJvbCIpcmV0dXJuITA7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0Inx8IWNpKXJldHVybiExO3RyeXtyZXR1cm4gY2kuY2FsbCh0KSwhMH1jYXRjaHt9cmV0dXJuITF9ZnVuY3Rpb24gVHModCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0Inx8IXVpKXJldHVybiExO3RyeXtyZXR1cm4gdWkuY2FsbCh0KSwhMH1jYXRjaHt9cmV0dXJuITF9dmFyIEZzPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHl8fGZ1bmN0aW9uKHQpe3JldHVybiB0IGluIHRoaXN9O2Z1bmN0aW9uIG10KHQsZSl7cmV0dXJuIEZzLmNhbGwodCxlKX1mdW5jdGlvbiB2dCh0KXtyZXR1cm4gZ3MuY2FsbCh0KX1mdW5jdGlvbiBJcyh0KXtpZih0Lm5hbWUpcmV0dXJuIHQubmFtZTt2YXIgZT12cy5jYWxsKG1zLmNhbGwodCksL15mdW5jdGlvblxzKihbXHckXSspLyk7cmV0dXJuIGU/ZVsxXTpudWxsfWZ1bmN0aW9uIGdyKHQsZSl7aWYodC5pbmRleE9mKXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKHZhciBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKWlmKHRbaV09PT1lKXJldHVybi
1BpO3JldHVybi0xfWZ1bmN0aW9uIHpzKHQpe2lmKCF6ZXx8IXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4hMTt0cnl7emUuY2FsbCh0KTt0cnl7T2UuY2FsbCh0KX1jYXRjaHtyZXR1cm4hMH1yZXR1cm4gdCBpbnN0YW5jZW9mIE1hcH1jYXRjaHt9cmV0dXJuITF9ZnVuY3Rpb24gT3ModCl7aWYoIXJlfHwhdHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiExO3RyeXtyZS5jYWxsKHQscmUpO3RyeXtuZS5jYWxsKHQsbmUpfWNhdGNoe3JldHVybiEwfXJldHVybiB0IGluc3RhbmNlb2YgV2Vha01hcH1jYXRjaHt9cmV0dXJuITF9ZnVuY3Rpb24gQ3ModCl7aWYoIW5yfHwhdHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiExO3RyeXtyZXR1cm4gbnIuY2FsbCh0KSwhMH1jYXRjaHt9cmV0dXJuITF9ZnVuY3Rpb24gTHModCl7aWYoIU9lfHwhdHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiExO3RyeXtPZS5jYWxsKHQpO3RyeXt6ZS5jYWxsKHQpfWNhdGNoe3JldHVybiEwfXJldHVybiB0IGluc3RhbmNlb2YgU2V0fWNhdGNoe31yZXR1cm4hMX1mdW5jdGlvbiBScyh0KXtpZighbmV8fCF0fHx0eXBlb2YgdCE9Im9iamVjdCIpcmV0dXJuITE7dHJ5e25lLmNhbGwodCxuZSk7dHJ5e3JlLmNhbGwodCxyZSl9Y2F0Y2h7cmV0dXJuITB9cmV0dXJuIHQgaW5zdGFuY2VvZiBXZWFrU2V0fWNhdGNoe31yZXR1cm4hMX1mdW5jdGlvbiBEcyh0KXtyZXR1cm4hdHx8dHlwZW9mIHQhPSJvYmplY3QiPyExOnR5cGVvZiBIVE1MRWxlbWVudDwidSImJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD8hMDp0eXBlb2YgdC5ub2RlTmFtZT09InN0cmluZyImJnR5cGVvZiB0LmdldEF0dHJpYnV0ZT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBtcih0LGUpe2lmKHQubGVuZ3RoPmUubWF4U3RyaW5nTGVuZ3RoKXt2YXIgaT10Lmxlbmd0aC1lLm1heFN0cmluZ0xlbmd0aCxyPSIuLi4gIitpKyIgbW9yZSBjaGFyYWN0ZXIiKyhpPjE/InMiOiIiKTtyZXR1cm4gbXIobGkuY2FsbCh0LDAsZS5tYXhTdHJpbmdMZW5ndGgpLGUpK3J9dmFyIG49Z3QuY2FsbChndC5jYWxsKHQsLyhbJ1xcXSkvZywiXFwkMSIpLC9bXHgwMC1ceDFmXS9nLE1zKTtyZXR1cm4gcHIobiwic2luZ2xlIixlKX1mdW5jdGlvbiBNcyh0KXt2YXIgZT10LmNoYXJDb2RlQXQoMCksaT17ODoiYiIsOToidCIsMTA6Im4iLDEyOiJmIiwxMzoiciJ9W2VdO3JldHVybiBpPyJcXCIraToiXFx4IisoZTwxNj8iMCI6IiIpK2JzLmNhbGwoZS50b1N0cmluZygxNikpfWZ1bmN0aW9uIHNlKHQpe3JldHVybiJPYmplY3QoIit0KyIpIn1mdW5jdGlvbiB5aSh0KXtyZXR1cm4gdCsiIHsgPyB9In1mdW5jdGlvbiB2cih0LGUsaSxyKXt2YXIgbj1yP2dpKGkscik6aXQuY2FsbChpLCIsICIpO3JldHVybiB0KyIgKCIrZSsiKSB7IituKyJ9In1mdW5jdGlvbiBOcyh0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZihncih0W2VdLGAKYCk+PTApcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24ga3ModCxlKXt2YXIgaTtpZih0LmluZGVudD09PSIJIilpPSIJIjtlbHNlIGlmKHR5cGVvZiB0LmluZGVudD09Im51bWJlciImJnQuaW5kZW50PjApaT1pdC5jYWxsKEFycmF5KHQuaW5kZW50KzEpLCIgIik7ZWxzZSByZXR1cm4gbnVsbDtyZXR1cm57YmFzZTppLHByZXY6aXQuY2FsbChBcnJheShlKzEpLGkpfX1mdW5jdGlvbiBnaSh0LGUpe2lmKHQubGVuZ3RoPT09MClyZXR1cm4iIjt2YXIgaT1gCmArZS5wcmV2K2UuYmFzZTtyZXR1cm4gaStpdC5jYWxsKHQsIiwiK2kpK2AKYCtlLnByZXZ9ZnVuY3Rpb24gQ2UodCxlKXt2YXIgaT1faSh0KSxyPVtdO2lmKGkpe3IubGVuZ3RoPXQubGVuZ3RoO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXJbbl09bXQodCxuKT9lKHRbbl0sdCk6IiJ9dmFyIGE9dHlwZW9mIGRpPT0iZnVuY3Rpb24iP2RpKHQpOltdLG87aWYoJHQpe289e307Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspb1siJCIrYVtmXV09YVtmXX1mb3IodmFyIGggaW4gdCltdCh0LGgpJiYoaSYmU3RyaW5nKE51bWJlcihoKSk9PT1oJiZoPHQubGVuZ3RofHwkdCYmb1siJCIraF1pbnN0YW5jZW9mIFN5bWJvbHx8KGFyLmNhbGwoL1teXHckXS8saCk/ci5wdXNoKGUoaCx0KSsiOiAiK2UodFtoXSx0KSk6ci5wdXNoKGgrIjogIitlKHRbaF0sdCkpKSk7aWYodHlwZW9mIGRpPT0iZnVuY3Rpb24iKWZvcih2YXIgbD0wO2w8YS5sZW5ndGg7bCsrKWhyLmNhbGwodCxhW2xdKSYmci5wdXNoKCJbIitlKGFbbF0pKyJdOiAiK2UodFthW2xdXSx0KSk7cmV0dXJuIHJ9dmFyIGJyPUd0LGp0PWhzLEdzPXhzLEhzPWVlLExlPWJyKCIlV2Vha01hcCUiLCEwKSxSZT1icigiJU1hcCUiLCEwKSwkcz1qdCgiV2Vha01hcC5wcm90b3R5cGUuZ2V0IiwhMCksanM9anQoIldlYWtNYXAucHJvdG90eXBlLnNldCIsITApLFlzPWp0KCJXZWFrTWFwLnByb3RvdHlwZS5oYXMiLCEwKSxWcz1qdCgiTWFwLnByb3RvdHlwZS5nZXQiLCEwKSxXcz1qdCgiTWFwLnByb3RvdHlwZS5zZXQiLCEwKSxxcz1qdCgiTWFwLnByb3RvdHlwZS5oYXMiLCEwKSxtaT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaT10LHI7KHI9aS5uZXh0KSE9PW51bGw7aT1yKWlmKHIua2V5PT09ZSlyZXR1cm4gaS5uZXh0PXIubmV4dCxyLm5leHQ9dC5uZXh0LHQubmV4dD1yLHJ9LEtzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9bWkodCxlKTtyZXR1cm4gaSYmaS52YWx1ZX0sUXM9ZnVuY3Rpb24odCxlLGkpe3ZhciByPW1pKHQsZSk7cj9yLnZhbHVlPWk6dC5uZXh0PXtrZXk6ZSxuZXh0OnQubmV4dCx2YWx1ZTppfX0sWHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIW1pKHQsZSl9LEpzPWZ1bmN0aW9uKCl7dmFyIGUsaSxyLG49e2Fzc2VydDpmdW5jdGlvbihhKXtpZighbi5oYXMoYSkpdGhyb3cgbmV3IEhzKCJTaWRlIGNoYW5uZWwgZG9lcyBub3QgY29udGFpbiAiK0dzKGEpKX0sZ2V0OmZ1bmN0aW9uKGEpe2lmKExlJiZhJiYodHlwZW9mIGE9PSJvYmplY3QifHx0eXBlb2YgYT09ImZ1bmN0aW9uIikpe2lmKGUpcmV0dXJuICRzKGUsYSl9ZWxzZSBpZihSZSl7aWYoaSlyZXR1cm4gVnMoaSxhKX1lbHNlIGlmKHIpcmV0dXJuIEtzKHIsYSl9LGhhczpmdW5jdGlvbihhKXtpZihMZSYmYSYmKHR5cGVvZiBhPT0ib2JqZWN0Inx8dHlwZW9mIGE9PSJmdW5jdGlvbiIpKXtpZihlKXJldHVybi
1BZcyhlLGEpfWVsc2UgaWYoUmUpe2lmKGkpcmV0dXJuIHFzKGksYSl9ZWxzZSBpZihyKXJldHVybiBYcyhyLGEpO3JldHVybiExfSxzZXQ6ZnVuY3Rpb24oYSxvKXtMZSYmYSYmKHR5cGVvZiBhPT0ib2JqZWN0Inx8dHlwZW9mIGE9PSJmdW5jdGlvbiIpPyhlfHwoZT1uZXcgTGUpLGpzKGUsYSxvKSk6UmU/KGl8fChpPW5ldyBSZSksV3MoaSxhLG8pKToocnx8KHI9e2tleTp7fSxuZXh0Om51bGx9KSxRcyhyLGEsbykpfX07cmV0dXJuIG59LFpzPVN0cmluZy5wcm90b3R5cGUucmVwbGFjZSx0YT0vJTIwL2csdmk9e1JGQzE3Mzg6IlJGQzE3MzgiLFJGQzM5ODY6IlJGQzM5ODYifSxiaT17ZGVmYXVsdDp2aS5SRkMzOTg2LGZvcm1hdHRlcnM6e1JGQzE3Mzg6ZnVuY3Rpb24odCl7cmV0dXJuIFpzLmNhbGwodCx0YSwiKyIpfSxSRkMzOTg2OmZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCl9fSxSRkMxNzM4OnZpLlJGQzE3MzgsUkZDMzk4Njp2aS5SRkMzOTg2fSxlYT1iaSxTaT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEZ0PUFycmF5LmlzQXJyYXkscnQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8MjU2OysrZSl0LnB1c2goIiUiKygoZTwxNj8iMCI6IiIpK2UudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpKTtyZXR1cm4gdH0oKSxpYT1mdW5jdGlvbihlKXtmb3IoO2UubGVuZ3RoPjE7KXt2YXIgaT1lLnBvcCgpLHI9aS5vYmpbaS5wcm9wXTtpZihGdChyKSl7Zm9yKHZhciBuPVtdLGE9MDthPHIubGVuZ3RoOysrYSl0eXBlb2YgclthXTwidSImJm4ucHVzaChyW2FdKTtpLm9ialtpLnByb3BdPW59fX0sU3I9ZnVuY3Rpb24oZSxpKXtmb3IodmFyIHI9aSYmaS5wbGFpbk9iamVjdHM/T2JqZWN0LmNyZWF0ZShudWxsKTp7fSxuPTA7bjxlLmxlbmd0aDsrK24pdHlwZW9mIGVbbl08InUiJiYocltuXT1lW25dKTtyZXR1cm4gcn0scmE9ZnVuY3Rpb24gdChlLGkscil7aWYoIWkpcmV0dXJuIGU7aWYodHlwZW9mIGkhPSJvYmplY3QiKXtpZihGdChlKSllLnB1c2goaSk7ZWxzZSBpZihlJiZ0eX
1Blb2YgZT09Im9iamVjdCIpKHImJihyLnBsYWluT2JqZWN0c3x8ci5hbGxvd1Byb3RvdHlwZXMpfHwhU2kuY2FsbChPYmplY3QucHJvdG90eXBlLGkpKSYmKGVbaV09ITApO2Vsc2UgcmV0dXJuW2UsaV07cmV0dXJuIGV9aWYoIWV8fHR5cGVvZiBlIT0ib2JqZWN0IilyZXR1cm5bZV0uY29uY2F0KGkpO3ZhciBuPWU7cmV0dXJuIEZ0KGUpJiYhRnQoaSkmJihuPVNyKGUscikpLEZ0KGUpJiZGdChpKT8oaS5mb3JFYWNoKGZ1bmN0aW9uKGEsbyl7aWYoU2kuY2FsbChlLG8pKXt2YXIgZj1lW29dO2YmJnR5cGVvZiBmPT0ib2JqZWN0IiYmYSYmdHlwZW9mIGE9PSJvYmplY3QiP2Vbb109dChmLGEscik6ZS5wdXNoKGEpfWVsc2UgZVtvXT1hfSksZSk6T2JqZWN0LmtleXMoaSkucmVkdWNlKGZ1bmN0aW9uKGEsbyl7dmFyIGY9aVtvXTtyZXR1cm4gU2kuY2FsbChhLG8pP2Fbb109dChhW29dLGYscik6YVtvXT1mLGF9LG4pfSxuYT1mdW5jdGlvbihlLGkpe3JldHVybiBPYmplY3Qua2V5cyhpKS5yZWR1Y2UoZnVuY3Rpb24ocixuKXtyZXR1cm4gcltuXT1pW25dLHJ9LGUpfSxzYT1mdW5jdGlvbih0LGUsaSl7dmFyIHI9dC5yZXBsYWNlKC9cKy9nLCIgIik7aWYoaT09PSJpc28tODg1OS0xIilyZXR1cm4gci5yZXBsYWNlKC8lWzAtOWEtZl17Mn0vZ2ksdW5lc2NhcGUpO3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHIpfWNhdGNoe3JldHVybiByfX0sYWE9ZnVuY3Rpb24oZSxpLHIsbixhKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIGU7dmFyIG89ZTtpZih0eXBlb2YgZT09InN5bWJvbCI/bz1TeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk6dHlwZW9mIGUhPSJzdHJpbmciJiYobz1TdHJpbmcoZSkpLHI9PT0iaXNvLTg4NTktMSIpcmV0dXJuIGVzY2FwZShvKS5yZXBsYWNlKC8ldVswLTlhLWZdezR9L2dpLGZ1bmN0aW9uKHUpe3JldHVybiIlMjYlMjMiK3BhcnNlSW50KHUuc2xpY2UoMiksMTYpKyIlM0IifSk7Zm9yKHZhciBmPSIiLGg9MDtoPG8ubGVuZ3RoOysraCl7dmFyIGw9by5jaGFyQ29kZUF0KGgpO2lmKGw9PT00NXx8bD09PTQ2fHxsPT09OTV8fGw9PT0xMjZ8fGw+PTQ4JiZsPD01N3x8bD49NjUmJmw8PTkwfHxsPj05NyYmbDw9MTIyfHxhPT09ZWEuUkZDMTczOCYmKGw9PT00MHx8bD09PTQxKSl7Zis9by5jaGFyQXQoaCk7Y29udGludWV9aWYobDwxMjgpe2Y9ZitydFtsXTtjb250aW51ZX1pZihsPDIwNDgpe2Y9ZisocnRbMTkyfGw+PjZdK3J0WzEyOHxsJjYzXSk7Y29udGludWV9aWYobDw1NTI5Nnx8bD49NTczNDQpe2Y9ZisocnRbMjI0fGw+PjEyXStydFsxMjh8bD4+NiY2M10rcnRbMTI4fGwmNjNdKTtjb250aW51ZX1oKz0xLGw9NjU1MzYrKChsJjEwMjMpPDwxMHxvLmNoYXJDb2RlQXQoaCkmMTAyMyksZis9cnRbMjQwfGw+PjE4XStydFsxMjh8bD4+MTImNjNdK3J0WzEyOHxsPj42JjYzXStydFsxMjh8bCY2M119cmV0dXJuIGZ9LG9hPWZ1bmN0aW9uKGUpe2Zvcih2YXIgaT1be29iajp7bzplfSxwcm9wOiJvIn1dLHI9W10sbj0wO248aS5sZW5ndGg7KytuKWZvcih2YXIgYT1pW25dLG89YS5vYmpbYS5wcm9wXSxmPU9iamVjdC5rZXlzKG8pLGg9MDtoPGYubGVuZ3RoOysraCl7dmFyIGw9ZltoXSx1PW9bbF07dHlwZW9mIHU9PSJvYmplY3QiJiZ1IT09bnVsbCYmci5pbmRleE9mKHUpPT09LTEmJihpLnB1c2goe29iajpvLHByb3A6bH0pLHIucHVzaCh1KSl9cmV0dXJuIGlhKGkpLGV9LGZhPWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT0iW29iamVjdCBSZWdFeHBdIn0saGE9ZnVuY3Rpb24oZSl7cmV0dXJuIWV8fHR5cGVvZiBlIT0ib2JqZWN0Ij8hMTohIShlLmNvbnN0cnVjdG9yJiZlLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZlLmNvbnN0cnVjdG9yLmlzQnVmZmVyKGUpKX0sbGE9ZnVuY3Rpb24oZSxpKXtyZXR1cm5bXS5jb25jYXQoZSxpKX0sdWE9ZnVuY3Rpb24oZSxpKXtpZihGdChlKSl7Zm9yKHZhciByPVtdLG49MDtuPGUubGVuZ3RoO24rPTEpci5wdXNoKGkoZVtuXSkpO3JldHVybiByfXJldHVybiBpKGUpfSx4cj17YXJyYXlUb09iamVjdDpTcixhc3NpZ246bmEsY29tYmluZTpsYSxjb21wYWN0Om9hLGRlY29kZTpzYSxlbmNvZGU6YWEsaXNCdWZmZXI6aGEsaXNSZWdFeHA6ZmEsbWF5YmVNYXA6dWEsbWVyZ2U6cmF9LHdyPUpzLERlPXhyLGFlPWJpLGRhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksVXI9e2JyYWNrZXRzOmZ1bmN0aW9uKGUpe3JldHVybiBlKyJbXSJ9LGNvbW1hOiJjb21tYSIsaW5kaWNlczpmdW5jdGlvbihlLGkpe3JldHVybiBlKyJbIitpKyJdIn0scmVwZWF0OmZ1bmN0aW9uKGUpe3JldHVybiBlfX0sbnQ9QXJyYXkuaXNBcnJheSxjYT1BcnJheS5wcm90b3R5cGUucHVzaCxFcj1mdW5jdGlvbih0LGUpe2NhLmFwcGx5KHQsbnQoZSk/ZTpbZV0pfSxwYT1EYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyxBcj1hZS5kZWZhdWx0LGs9e2FkZFF1ZXJ5UHJlZml4OiExLGFsbG93RG90czohMSxhbGxvd0VtcHR5QXJyYXlzOiExLGFycmF5Rm9ybWF0OiJpbmRpY2VzIixjaGFyc2V0OiJ1dGYtOCIsY2hhcnNldFNlbnRpbmVsOiExLGRlbGltaXRlcjoiJiIsZW5jb2RlOiEwLGVuY29kZURvdEluS2V5czohMSxlbmNvZGVyOkRlLmVuY29kZSxlbmNvZGVWYWx1ZXNPbmx5OiExLGZvcm1hdDpBcixmb3JtYXR0ZXI6YWUuZm9ybWF0dGVyc1tBcl0saW5kaWNlczohMSxzZXJpYWxpemVEYXRlOmZ1bmN0aW9uKGUpe3JldHVybiBwYS5jYWxsKGUpfSxza2lwTnVsbHM6ITEsc3RyaWN0TnVsbEhhbmRsaW5nOiExfSxfYT1mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmcifHx0eXBlb2YgZT09Im51bWJlciJ8fHR5cGVvZiBlPT0iYm9vbGVhbiJ8fHR5cGVvZiBlPT0ic3ltYm9sInx8dHlwZW9mIGU9PSJiaWdpbnQifSx4aT17fSx5YT1mdW5jdGlvbiB0KGUsaSxyLG4sYSxvLGYsaCxsLHUsXyxnLHAsbSxTLFUseixUKXtmb3IodmFyIGI9ZSxGPVQsTD0wLE09ITE7KEY9Ri5nZXQoeGkpKSE9PXZvaWQgMCYmIU07KXt2YXIgST1GLmdldChl
1KTtpZihMKz0xLHR5cGVvZiBJPCJ1Iil7aWYoST09PUwpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkN5Y2xpYyBvYmplY3QgdmFsdWUiKTtNPSEwfXR5cGVvZiBGLmdldCh4aSk+InUiJiYoTD0wKX1pZih0eXBlb2YgdT09ImZ1bmN0aW9uIj9iPXUoaSxiKTpiIGluc3RhbmNlb2YgRGF0ZT9iPXAoYik6cj09PSJjb21tYSImJm50KGIpJiYoYj1EZS5tYXliZU1hcChiLGZ1bmN0aW9uKElpKXtyZXR1cm4gSWkgaW5zdGFuY2VvZiBEYXRlP3AoSWkpOklpfSkpLGI9PT1udWxsKXtpZihvKXJldHVybiBsJiYhVT9sKGksay5lbmNvZGVyLHosImtleSIsbSk6aTtiPSIifWlmKF9hKGIpfHxEZS5pc0J1ZmZlcihiKSl7aWYobCl7dmFyICQ9VT9pOmwoaSxrLmVuY29kZXIseiwia2V5IixtKTtyZXR1cm5bUygkKSsiPSIrUyhsKGIsay5lbmNvZGVyLHosInZhbHVlIixtKSldfXJldHVybltTKGkpKyI9IitTKFN0cmluZyhiKSldfXZhciB4PVtdO2lmKHR5cGVvZiBiPiJ1IilyZXR1cm4geDt2YXIgaHQ7aWYocj09PSJjb21tYSImJm50KGIpKVUmJmwmJihiPURlLm1heWJlTWFwKGIsbCkpLGh0PVt7dmFsdWU6Yi5sZW5ndGg+MD9iLmpvaW4oIiwiKXx8bnVsbDp2b2lkIDB9XTtlbHNlIGlmKG50KHUpKWh0PXU7ZWxzZXt2YXIgTHQ9T2JqZWN0LmtleXMoYik7aHQ9Xz9MdC5zb3J0KF8pOkx0fXZhciBwdD1oP2kucmVwbGFjZSgvXC4vZywiJTJFIik6aSxqPW4mJm50KGIpJiZiLmxlbmd0aD09PTE/cHQrIltdIjpwdDtpZihhJiZudChiKSYmYi5sZW5ndGg9PT0wKXJldHVybiBqKyJbXSI7Zm9yKHZhciBaPTA7WjxodC5sZW5ndGg7KytaKXt2YXIgVXQ9aHRbWl0seGU9dHlwZW9mIFV0PT0ib2JqZWN0IiYmdHlwZW9mIFV0LnZhbHVlPCJ1Ij9VdC52YWx1ZTpiW1V0XTtpZighKGYmJnhlPT09bnVsbCkpe3ZhciBGaT1nJiZoP1V0LnJlcGxhY2UoL1wuL2csIiUyRSIpOlV0LHRvPW50KGIpP3R5cGVvZiByPT0iZnVuY3Rpb24iP3IoaixGaSk6ajpqKyhnPyIuIitGaToiWyIrRmkrIl0iKTtULnNldChlLEwpO3ZhciBOcj13cigpO05yLnNldCh4aSxUKSxFcih4LHQoeGUsdG8scixuLGEsbyxmLGgscj09PSJjb21tYSImJlUmJm50KGIpP251bGw6bCx1LF8sZyxwLG0sUyxVLHosTnIpKX19cmV0dXJuIHh9LGdhPWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybi
1BrO2lmKHR5cGVvZiBlLmFsbG93RW1wdHlBcnJheXM8InUiJiZ0eXBlb2YgZS5hbGxvd0VtcHR5QXJyYXlzIT0iYm9vbGVhbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYGFsbG93RW1wdHlBcnJheXNgIG9wdGlvbiBjYW4gb25seSBiZSBgdHJ1ZWAgb3IgYGZhbHNlYCwgd2hlbiBwcm92aWRlZCIpO2lmKHR5cGVvZiBlLmVuY29kZURvdEluS2V5czwidSImJnR5cGVvZiBlLmVuY29kZURvdEluS2V5cyE9ImJvb2xlYW4iKXRocm93IG5ldyBUeXBlRXJyb3IoImBlbmNvZGVEb3RJbktleXNgIG9wdGlvbiBjYW4gb25seSBiZSBgdHJ1ZWAgb3IgYGZhbHNlYCwgd2hlbiBwcm92aWRlZCIpO2lmKGUuZW5jb2RlciE9PW51bGwmJnR5cGVvZiBlLmVuY29kZXI8InUiJiZ0eXBlb2YgZS5lbmNvZGVyIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuY29kZXIgaGFzIHRvIGJlIGEgZnVuY3Rpb24uIik7dmFyIGk9ZS5jaGFyc2V0fHxrLmNoYXJzZXQ7aWYodHlwZW9mIGUuY2hhcnNldDwidSImJmUuY2hhcnNldCE9PSJ1dGYtOCImJmUuY2hhcnNldCE9PSJpc28tODg1OS0xIil0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgY2hhcnNldCBvcHRpb24gbXVzdCBiZSBlaXRoZXIgdXRmLTgsIGlzby04ODU5LTEsIG9yIHVuZGVmaW5lZCIpO3ZhciByPWFlLmRlZmF1bHQ7aWYodHlwZW9mIGUuZm9ybWF0PCJ1Iil7aWYoIWRhLmNhbGwoYWUuZm9ybWF0dGVycyxlLmZvcm1hdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBmb3JtYXQgb3B0aW9uIHByb3ZpZGVkLiIpO3I9ZS5mb3JtYXR9dmFyIG49YWUuZm9ybWF0dGVyc1tyXSxhPWsuZmlsdGVyOyh0eXBlb2YgZS5maWx0ZXI9PSJmdW5jdGlvbiJ8fG50KGUuZmlsdGVyKSkmJihhPWUuZmlsdGVyKTt2YXIgbztpZihlLmFycmF5Rm9ybWF0IGluIFVyP289ZS5hcnJheUZvcm1hdDoiaW5kaWNlcyJpbiBlP289ZS5pbmRpY2VzPyJpbmRpY2VzIjoicmVwZWF0IjpvPWsuYXJyYXlGb3JtYXQsImNvbW1hUm91bmRUcmlwImluIGUmJnR5cGVvZiBlLmNvbW1hUm91bmRUcmlwIT0iYm9vbGVhbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYGNvbW1hUm91bmRUcmlwYCBtdXN0IGJlIGEgYm9vbGVhbiwgb3IgYWJzZW50Iik7dmFyIGY9dHlwZW9mIGUuYWxsb3dEb3RzPiJ1Ij9lLmVuY29kZURvdEluS2V5cz09PSEwPyEwOmsuYWxsb3dEb3RzOiEhZS5hbGxvd0RvdHM7cmV0dXJue2FkZFF1ZXJ5UHJlZml4OnR5cGVvZiBlLmFkZFF1ZXJ5UHJlZml4PT0iYm9vbGVhbiI/ZS5hZGRRdWVyeVByZWZpeDprLmFkZFF1ZXJ5UHJlZml4LGFsbG93RG90czpmLGFsbG93RW1wdHlBcnJheXM6dHlwZW9mIGUuYWxsb3dFbXB0eUFycmF5cz09ImJvb2xlYW4iPyEhZS5hbGxvd0VtcHR5QXJyYXlzOmsuYWxsb3dFbXB0eUFycmF5cyxhcnJheUZvcm1hdDpvLGNoYXJzZXQ6aSxjaGFyc2V0U2VudGluZWw6dHlwZW9mIGUuY2hhcnNldFNlbnRpbmVsPT0iYm9vbGVhbiI/ZS5jaGFyc2V0U2VudGluZWw6ay5jaGFyc2V0U2VudGluZWwsY29tbWFSb3VuZFRyaXA6ZS5jb21tYVJvdW5kVHJpcCxkZWxpbWl0ZXI6dHlwZW9mIGUuZGVsaW1pdGVyPiJ1Ij9rLmRlbGltaXRlcjplLmRlbGltaXRlcixlbmNvZGU6dHlwZW9mIGUuZW5jb2RlPT0iYm9vbGVhbiI/ZS5lbmNvZGU6ay5lbmNvZGUsZW5jb2RlRG90SW5LZXlzOnR5cGVvZiBlLmVuY29kZURvdEluS2V5cz09ImJvb2xlYW4iP2UuZW5jb2RlRG90SW5LZXlzOmsuZW5jb2RlRG90SW5LZXlzLGVuY29kZXI6dHlwZW9mIGUuZW5jb2Rlcj09ImZ1bmN0aW9uIj9lLmVuY29kZXI6ay5lbmNvZGVyLGVuY29kZVZhbHVlc09ubHk6dHlwZW9mIGUuZW5jb2RlVmFsdWVzT25seT09ImJvb2xlYW4iP2UuZW5jb2RlVmFsdWVzT25seTprLmVuY29kZVZhbHVlc09ubHksZmlsdGVyOmEsZm9ybWF0OnIsZm9ybWF0dGVyOm4sc2VyaWFsaXplRGF0ZTp0eXBlb2YgZS5zZXJpYWxpemVEYXRlPT0iZnVuY3Rpb24iP2Uuc2VyaWFsaXplRGF0ZTprLnNlcmlhbGl6ZURhdGUsc2tpcE51bGxzOnR5cGVvZiBlLnNraXBOdWxscz09ImJvb2xlYW4iP2Uuc2tpcE51bGxzOmsuc2tpcE51bGxzLHNvcnQ6dHlwZW9mIGUuc29ydD09ImZ1bmN0aW9uIj9lLnNvcnQ6bnVsbCxzdHJpY3ROdWxsSGFuZGxpbmc6dHlwZW9mIGUuc3RyaWN0TnVsbEhhbmRsaW5nPT0iYm9vbGVhbiI/ZS5zdHJpY3ROdWxsSGFuZGxpbmc6ay5zdHJpY3ROdWxsSGFuZGxpbmd9fSxtYT1mdW5jdGlvbih0LGUpe3ZhciBpPXQscj1nYShlKSxuLGE7dHlwZW9mIHIuZmlsdGVyPT0iZnVuY3Rpb24iPyhhPXIuZmlsdGVyLGk9YSgiIixpKSk6bnQoci5maWx0ZXIpJiYoYT1yLmZpbHRlcixuPWEpO3ZhciBvPVtdO2lmKHR5cGVvZiBpIT0ib2JqZWN0Inx8aT09PW51bGwpcmV0dXJuIiI7dmFyIGY9VXJbci5hcnJheUZvcm1hdF0saD1mPT09ImNvbW1hIiYmci5jb21tYVJvdW5kVHJpcDtufHwobj1PYmplY3Qua2V5cyhpKSksci5zb3J0JiZuLnNvcnQoci5zb3J0KTtmb3IodmFyIGw9d3IoKSx1PTA7dTxuLmxlbmd0aDsrK3Upe3ZhciBfPW5bdV07ci5za2lwTnVsbHMmJmlbX109PT1udWxsfHxFcihvLHlhKGlbX10sXyxmLGgsci5hbGxvd0VtcHR5QXJyYXlzLHIuc3RyaWN0TnVsbEhhbmRsaW5nLHIuc2tpcE51bGxzLHIuZW5jb2RlRG90SW5LZXlzLHIuZW5jb2RlP3IuZW5jb2RlcjpudWxsLHIuZmlsdGVyLHIuc29ydCxyLmFsbG93RG90cyxyLnNlcmlhbGl6ZURhdGUsci5mb3JtYXQsci5mb3JtYXR0ZXIsci5lbmNvZGVWYWx1ZXNPbmx5LHIuY2hhcnNldCxsKSl9dmFyIGc9by5qb2luKHIuZGVsaW1pdGVyKSxwPXIuYWRkUXVlcnlQcmVmaXg9PT0hMD8iPyI6IiI7cmV0dXJuIHIuY2hhcnNldFNlbnRpbmVsJiYoci5jaGFyc2V0PT09Imlzby04ODU5LTEiP3ArPSJ1dGY4PSUyNiUyMzEwMDAzJTNCJiI6cCs9InV0Zjg9JUUyJTlDJTkzJiIpLGcubGVuZ3RoPjA/cCtnOiIifSxZdD14cix3aT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHZhPUFycmF5LmlzQXJyYXksTj17YWxsb3dEb3RzOiExLGFsbG93RW1wdHlBcnJheXM6ITEsYWxsb3dQcm90b3R5cGVzOiExLGFsbG93U3BhcnNlOiExLGFycmF5TGltaXQ6MjAsY2hhcnNldDoidXRmLTg
1iLGNoYXJzZXRTZW50aW5lbDohMSxjb21tYTohMSxkZWNvZGVEb3RJbktleXM6ITAsZGVjb2RlcjpZdC5kZWNvZGUsZGVsaW1pdGVyOiImIixkZXB0aDo1LGR1cGxpY2F0ZXM6ImNvbWJpbmUiLGlnbm9yZVF1ZXJ5UHJlZml4OiExLGludGVycHJldE51bWVyaWNFbnRpdGllczohMSxwYXJhbWV0ZXJMaW1pdDoxZTMscGFyc2VBcnJheXM6ITAscGxhaW5PYmplY3RzOiExLHN0cmljdE51bGxIYW5kbGluZzohMX0sYmE9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvJiMoXGQrKTsvZyxmdW5jdGlvbihlLGkpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KGksMTApKX0pfSxCcj1mdW5jdGlvbih0LGUpe3JldHVybiB0JiZ0eXBlb2YgdD09InN0cmluZyImJmUuY29tbWEmJnQuaW5kZXhPZigiLCIpPi0xP3Quc3BsaXQoIiwiKTp0fSxTYT0idXRmOD0lMjYlMjMxMDAwMyUzQiIseGE9InV0Zjg9JUUyJTlDJTkzIix3YT1mdW5jdGlvbihlLGkpe3ZhciByPXtfX3Byb3RvX186bnVsbH0sbj1pLmlnbm9yZVF1ZXJ5UHJlZml4P2UucmVwbGFjZSgvXlw/LywiIik6ZSxhPWkucGFyYW1ldGVyTGltaXQ9PT0xLzA/dm9pZCAwOmkucGFyYW1ldGVyTGltaXQsbz1uLnNwbGl0KGkuZGVsaW1pdGVyLGEpLGY9LTEsaCxsPWkuY2hhcnNldDtpZihpLmNoYXJzZXRTZW50aW5lbClmb3IoaD0wO2g8by5sZW5ndGg7KytoKW9baF0uaW5kZXhPZigidXRmOD0iKT09PTAmJihvW2hdPT09eGE/bD0idXRmLTgiOm9baF09PT1TYSYmKGw9Imlzby04ODU5LTEiKSxmPWgsaD1vLmxlbmd0aCk7Zm9yKGg9MDtoPG8ubGVuZ3RoOysraClpZihoIT09Zil7dmFyIHU9b1toXSxfPXUuaW5kZXhPZigiXT0iKSxnPV89PT0tMT91LmluZGV4T2YoIj0iKTpfKzEscCxtO2c9PT0tMT8ocD1pLmRlY29kZXIodSxOLmRlY29kZXIsbCwia2V5IiksbT1pLnN0cmljdE51bGxIYW5kbGluZz9udWxsOiIiKToocD1pLmRlY29kZXIodS5zbGljZSgwLGcpLE4uZGVjb2RlcixsLCJrZXkiKSxtPVl0Lm1heWJlTWFwKEJyKHUuc2xpY2UoZysxKSxpKSxmdW5jdGlvbihVKXtyZXR1cm4gaS5kZWNvZGVyKFUsTi5kZWNvZGVyLGwsInZhbHVlIil9KSksbSYmaS5pbnRlcnByZXROdW1lcmljRW50aXRpZXMmJmw9PT0iaXNvLTg4NTktMSImJihtPWJhKG0pKSx1LmluZGV4T2YoIltdPSIpPi0xJiYobT12YShtKT9bbV06bSk7dmFyIFM9d2kuY2FsbChyLHApO1MmJmkuZHVwbGljYXRlcz09PSJjb21iaW5lIj9yW3BdPVl0LmNvbWJpbmUocltwXSxtKTooIVN8fGkuZHVwbGljYXRlcz09PSJsYXN0IikmJihyW3BdPW0pfXJldHVybiByfSxVYT1mdW5jdGlvbih0LGUsaSxyKXtmb3IodmFyIG49cj9lOkJyKGUsaSksYT10Lmxlbmd0aC0xO2E+PTA7LS1hKXt2YXIgbyxmPXRbYV07aWYoZj09PSJbXSImJmkucGFyc2VBcnJheXMpbz1pLmFsbG93RW1wdHlBcnJheXMmJm49PT0iIj9bXTpbXS5jb25jYXQobik7ZWxzZXtvPWkucGxhaW5PYmplY3RzP09iamVjdC5jcmVhdGUobnVsbCk6e307dmFyIGg9Zi5jaGFyQXQoMCk9PT0iWyImJmYuY2hhckF0KGYubGVuZ3RoLTEpPT09Il0iP2Yuc2xpY2UoMSwtMSk6ZixsPWkuZGVjb2RlRG90SW5LZXlzP2gucmVwbGFjZSgvJTJFL2csIi4iKTpoLHU9cGFyc2VJbnQobCwxMCk7IWkucGFyc2VBcnJheXMmJmw9PT0iIj9vPXswOm59OiFpc05hTih1KSYmZiE9PWwmJlN0cmluZyh1KT09PWwmJnU+PTAmJmkucGFyc2VBcnJheXMmJnU8PWkuYXJyYXlMaW1pdD8obz1bXSxvW3VdPW4pOmwhPT0iX19wcm90b19fIiYmKG9bbF09bil9bj1vfXJldHVybiBufSxFYT1mdW5jdGlvbihlLGkscixuKXtpZihlKXt2YXIgYT1yLmFsbG93RG90cz9lLnJlcGxhY2UoL1wuKFteLltdKykvZywiWyQxXSIpOmUsbz0vKFxbW15bXF1dKl0pLyxmPS8oXFtbXltcXV0qXSkvZyxoPXIuZGVwdGg+MCYmby5leGVjKGEpLGw9aD9hLnNsaWNlKDAsaC5pbmRleCk6YSx1PVtdO2lmKGwpe2lmKCFyLnBsYWluT2JqZWN0cyYmd2kuY2FsbChPYmplY3QucHJvdG90eXBlLGwpJiYhci5hbGxvd1Byb3RvdHlwZXMpcmV0dXJuO3UucHVzaChsKX1mb3IodmFyIF89MDtyLmRlcHRoPjAmJihoPWYuZXhlYyhhKSkhPT1udWxsJiZfPHIuZGVwdGg7KXtpZihfKz0xLCFyLnBsYWluT2JqZWN0cyYmd2kuY2FsbChPYmplY3QucHJvdG90eXBlLGhbMV0uc2xpY2UoMSwtMSkpJiYhci5hbGxvd1Byb3RvdHlwZXMpcmV0dXJuO3UucHVzaChoWzFdKX1yZXR1cm4gaCYmdS5wdXNoKCJbIithLnNsaWNlKGguaW5kZXgpKyJdIiksVWEodSxpLHIsbil9fSxBYT1mdW5jdGlvbihlKXtpZighZSlyZXR1cm4gTjtpZih0eXBlb2YgZS5hbGxvd0VtcHR5QXJyYXlzPCJ1IiYmdHlwZW9mIGUuYWxsb3dFbXB0eUFycmF5cyE9ImJvb2xlYW4iKXRocm93IG5ldyBUeXBlRXJyb3IoImBhbGxvd0VtcHR5QXJyYXlzYCBvcHRpb24gY2FuIG9ubHkgYmUgYHRydWVgIG9yIGBmYWxzZWAsIHdoZW4gcHJvdmlkZWQiKTtpZih0eXBlb2YgZS5kZWNvZGVEb3RJbktleXM8InUiJiZ0eXBlb2YgZS5kZWNvZGVEb3RJbktleXMhPSJib29sZWFuIil0aHJvdyBuZXcgVHlwZUVycm9yKCJgZGVjb2RlRG90SW5LZXlzYCBvcHRpb24gY2FuIG9ubHkgYmUgYHRydWVgIG9yIGBmYWxzZWAsIHdoZW4gcHJvdmlkZWQiKTtpZihlLmRlY29kZXIhPT1udWxsJiZ0eXBlb2YgZS5kZWNvZGVyPCJ1IiYmdHlwZW9mIGUuZGVjb2RlciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJEZWNvZGVyIGhhcyB0byBiZSBhIGZ1bmN0aW9uLiIpO2lmKHR5cGVvZiBlLmNoYXJzZXQ8InUiJiZlLmNoYXJzZXQhPT0idXRmLTgiJiZlLmNoYXJzZXQhPT0iaXNvLTg4NTktMSIpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGNoYXJzZXQgb3B0aW9uIG11c3QgYmUgZWl0aGVyIHV0Zi04LCBpc28tODg1OS0xLCBvciB1bmRlZmluZWQiKTt2YXIgaT10eXBlb2YgZS5jaGFyc2V0PiJ1Ij9OLmNoYXJzZXQ6ZS5jaGFyc2V0LHI9dHlwZW9mIGUuZHVwbGljYXRlcz4idSI/Ti5kdXBsaWNhdGVzOmUuZHVwbGljYXRlcztpZihyIT09ImNvbWJpbmUiJiZyIT09ImZpcnN0IiYmciE9PSJsYXN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZHVwbGljYXRlcyBvcHRpb24gbXVzdCBiZSBlaXRoZXIgY29tYmluZSwgZmlyc3QsIG9yIGxhc3QiKTt2YXIgbj10eXBlb2YgZS5hbGxvd0RvdHM+InUiP2UuZGVjb2RlRG90SW5LZXlzPT09ITA/ITA6Ti5hbGxvd0RvdHM6ISFlLmFsbG93RG90cztyZXR1cm57YWxsb3dEb3RzOm4sYWxsb3dFbXB0eUFycmF5czp0eXBlb2YgZS5hbGxvd0VtcHR5QXJyYXlzPT0iYm9vbGVhbiI/ISFlLmFsbG93RW1wdHlBcnJheXM6Ti5hbGxvd0VtcHR5QXJyYXlzLGFsbG93UHJvdG90eXBlczp0eXBlb2YgZS5hbGxvd1Byb3RvdHlwZXM9PSJib29sZWFuIj9lLmFsbG93UHJvdG90eXBlczpOLmFsbG93UHJvdG90eXBlcyxhbGxvd1NwYXJzZTp0eXBlb2YgZS5hbGxvd1NwYXJzZT09ImJvb2xlYW4iP2UuYWxsb3dTcGFyc2U6T
1i5hbGxvd1NwYXJzZSxhcnJheUxpbWl0OnR5cGVvZiBlLmFycmF5TGltaXQ9PSJudW1iZXIiP2UuYXJyYXlMaW1pdDpOLmFycmF5TGltaXQsY2hhcnNldDppLGNoYXJzZXRTZW50aW5lbDp0eXBlb2YgZS5jaGFyc2V0U2VudGluZWw9PSJib29sZWFuIj9lLmNoYXJzZXRTZW50aW5lbDpOLmNoYXJzZXRTZW50aW5lbCxjb21tYTp0eXBlb2YgZS5jb21tYT09ImJvb2xlYW4iP2UuY29tbWE6Ti5jb21tYSxkZWNvZGVEb3RJbktleXM6dHlwZW9mIGUuZGVjb2RlRG90SW5LZXlzPT0iYm9vbGVhbiI/ZS5kZWNvZGVEb3RJbktleXM6Ti5kZWNvZGVEb3RJbktleXMsZGVjb2Rlcjp0eXBlb2YgZS5kZWNvZGVyPT0iZnVuY3Rpb24iP2UuZGVjb2RlcjpOLmRlY29kZXIsZGVsaW1pdGVyOnR5cGVvZiBlLmRlbGltaXRlcj09InN0cmluZyJ8fFl0LmlzUmVnRXhwKGUuZGVsaW1pdGVyKT9lLmRlbGltaXRlcjpOLmRlbGltaXRlcixkZXB0aDp0eXBlb2YgZS5kZXB0aD09Im51bWJlciJ8fGUuZGVwdGg9PT0hMT8rZS5kZXB0aDpOLmRlcHRoLGR1cGxpY2F0ZXM6cixpZ25vcmVRdWVyeVByZWZpeDplLmlnbm9yZVF1ZXJ5UHJlZml4PT09ITAsaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzOnR5cGVvZiBlLmludGVycHJldE51bWVyaWNFbnRpdGllcz09ImJvb2xlYW4iP2UuaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzOk4uaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzLHBhcmFtZXRlckxpbWl0OnR5cGVvZiBlLnBhcmFtZXRlckxpbWl0PT0ibnVtYmVyIj9lLnBhcmFtZXRlckxpbWl0Ok4ucGFyYW1ldGVyTGltaXQscGFyc2VBcnJheXM6ZS5wYXJzZUFycmF5cyE9PSExLHBsYWluT2JqZWN0czp0eXBlb2YgZS5wbGFpbk9iamVjdHM9PSJib29sZWFuIj9lLnBsYWluT2JqZWN0czpOLnBsYWluT2JqZWN0cyxzdHJpY3ROdWxsSGFuZGxpbmc6dHlwZW9mIGUuc3RyaWN0TnVsbEhhbmRsaW5nPT0iYm9vbGVhbiI/ZS5zdHJpY3ROdWxsSGFuZGxpbmc6Ti5zdHJpY3ROdWxsSGFuZGxpbmd9fSxCYT1mdW5jdGlvbih0LGUpe3ZhciBpPUFhKGUpO2lmKHQ9PT0iInx8dD09PW51bGx8fHR5cGVvZiB0PiJ1IilyZXR1cm4gaS5wbGFpbk9iamVjdHM/T2JqZWN0LmNyZWF0ZShudWxsKTp7fTtmb3IodmFyIHI9dHlwZW9mIHQ9PSJzdHJpbmciP3dhKHQsaSk6dCxuPWkucGxhaW5PYmplY3RzP09iamVjdC5jcmVhdGUobnVsbCk6e30sYT1PYmplY3Qua2V5cyhyKSxvPTA7bzxhLmxlbmd0aDsrK28pe3ZhciBmPWFbb10saD1FYShmLHJbZl0saSx0eXBlb2YgdD09InN0cmluZyIpO249WXQubWVyZ2UobixoLGkpfXJldHVybiBpLmFsbG93U3BhcnNlPT09ITA/bjpZdC5jb21wYWN0KG4pfSxQYT1tYSxUYT1CYSxGYT1iaSxQcj17Zm9ybWF0czpGYSxwYXJzZTpUYSxzdHJpbmdpZnk6UGF9OyhmdW5jdGlvbih0KXt2YXIgZT13JiZ3Ll9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZil7cmV0dXJuIGYmJmYuX19lc01vZHVsZT9mOntkZWZhdWx0OmZ9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5nZW5lcmF0ZVNlYXJjaFF1ZXJ5PXQuUVVFUllfU1RSSU5HSUZZX09QVElPTlM9dm9pZCAwO2NvbnN0IGk9ZShQcikscj1SdCxuPXl0LGE9QnQ7dC5RVUVSWV9TVFJJTkdJRllfT1BUSU9OUz17ZW5jb2RlOiExLGVuY29kZXI6KGYsaCxsLHUpPT51PT09InZhbHVlIj9oKGYsaCxsKTpmLHNraXBOdWxsczohMCxhbGxvd0RvdHM6ITEsaW5kaWNlczohMSxhcnJheUZvcm1hdDoiYnJhY2tldHMiLGFkZFF1ZXJ5UHJlZml4OiEwfTtmdW5jdGlvbiBvKGYsaD17fSl7Y29uc3QgbD0oMCxyLmRlZXBNZXJnZSkodC5RVUVSWV9TVFJJTkdJRllfT1BUSU9OUyxoKTtyZXR1cm4oMCxuLmlzRW1wdHkpKGYpPyIiOigwLGEuaXNTdHJpbmcpKGYpP2Ake2wuYWRkUXVlcnlQcmVmaXg/Ij8iOiIifSR7Zn1gOmkuZGVmYXVsdC5zdHJpbmdpZnkoZixsKX10LmdlbmVyYXRlU2VhcmNoUXVlcnk9b30pKE1pKTt2YXIgTWU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KE1lLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxNZS5nZXRGaWxlTmFtZUZyb21Vcmw9dm9pZCAwO2Z1bmN0aW9uIElhKHQpe2lmKCF0fHx0eXBlb2YgdCE9InN0cmluZyIpcmV0dXJuWyIiLCIiXTtsZXQgZT10O2U9ZS5zcGxpdCgiPyIpWzBdLGU9ZS5zcGxpdCgiIyIpWzBdO2NvbnN0IGk9ZS5zcGxpdCgiLyIpLHI9aVtpLmxlbmd0aC0xXTtpZighci5pbmNsdWRlcygiLiIpKXJldHVybltyLCIiXTtjb25zdCBuPXIuc3BsaXQoIi4iKSxbYSwuLi5vXT1uLnJldmVyc2UoKTtyZXR1cm5bby5yZXZlcnNlKCkuam9pbigiLiIpLGEudG9Mb2NhbGVMb3dlckNhc2UoKV19TWUuZ2V0RmlsZU5hbWVGcm9tVXJsPUlhO3ZhciBOZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoTmUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE5lLmdldE1vdXNlRGlyZWN0aW9uPXZvaWQgMDtsZXQgb2U9e307ZnVuY3Rpb24gemEodCl7bGV0IGU9IiI7aWYodHlwZW9mIG9lLng8InUiJiZ0eXBlb2Ygb2UueTwidSIpe2NvbnN0IGk9b2UueC10LmNsaWVudFgscj1vZS55LXQuY2xpZW50WTtNYXRoLmFicyhpKT5NYXRoLmFicyhyKSYmaT4wP2U9ImxlZnQiOk1hdGguYWJzKGkpPk1hdGguYWJzKHIpJiZpPDA/ZT0icmlnaHQiOk1hdGguYWJzKHIpPk1hdGguYWJzKGkpJiZyPjA/ZT0idXAiOk1hdGguYWJzKHIpPk1hdGguYWJzKGkpJiZyPDAmJihlPSJkb3duIil9cmV0dXJuIG9lPXt4OnQuY2xpZW50WCx5OnQuY2xpZW50WX0sZX1OZS5nZXRNb3VzZURpcmVjdGlvbj16YTt2YXIgVHI9e307KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmNvbmZpZ3VyZUxvZ2dlcj10LmxvZ2dlcj10LkxvZ2dlcj12b2lkIDA7Y29uc3QgZT1BdCxpPXl0O2NsYXNzIHJ7Y29uc3RydWN0b3Iobyl7Qyh0aGlzLCJwcmVmaXgiLCIiKTtDKHRoaXMsImxvZyIsKG8sZixoKT0+e3ZhciB1O2NvbnN0IGw9W2Ake3RoaXMucHJlZml4P2BbJHt0aGlzLnByZWZpeH1dIGA6IiJ9JHtmfWBdOygwLGUuaXNBcnJheSkoaCkmJiEoMCxpLmlzRW1wdHkpKGgpJiZoLmZvckVhY2goXz0+e2wucHVzaChgCgpgKSxsLnB1c2goXyl9KSwodT1jb25zb2xlW29dKT09bnVsbHx8dS5jYWxsKGNvbnNvbGUsLi4ubCl9KTtDKHRoaXMsImluZm8iLChvLC4uLmYpPT57dGhpcy5sb2coImluZm8iLG8sZil9KTtDKHRoaXMsIndhcm4iLChvLC4uLmYpPT57dGhpcy5sb2coIndhcm4iLG8sZil9KTtDKHRoaXMsInRhYmxlIixvPT57Y29uc29sZS50YWJsZShvKX0pO0ModGhpcywiZXJyb3IiLChvLC4uLmYpPT57aWYobyBpbnN0YW5jZW9mIEVycm9yfHxvLm1lc3NhZ2Upe3RoaXMubG9nKCJlcnJvciIsby5tZXNzYWdlLFtvLC4uLmZdKTtyZXR1cm59dGhpcy5sb2coImVycm9yIixvLGYpfSk7dHlwZW9mKG89PW51bGw/dm9pZCAwOm8ucHJlZml4KT09InN0cmluZyImJih0aGlzLnByZWZpeD1vLnByZWZpeCl9c2V0UHJlZml4KG8pe3RoaXMucHJlZml4PW99fXQuTG9nZ2VyPXIsdC5sb2dnZXI9bmV3IHI7ZnVuY3Rpb24gbihhKXt0eXBlb2YoYT09bnVsbD92b2lkIDA6YS5wcmVmaXgpPT0ic3RyaW5nIiYmdC5sb2dnZXIuc2V0UHJlZml4KGEucHJlZml4KX10LmNvbmZpZ3VyZUxvZ2dlcj1ufSkoVHIpO3ZhciBGcj17fTsoZnVuY3Rpb24odCl7dmFyIGU9dyYmdy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKG8pe3JldHVybiBvJiZvLl9fZXNNb2R1bGU/bzp7ZGVmYXVsdDpvfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQucGFyc2VTZWFyY2hRdWVyeT10LlFVRVJZX1BBUlNFX09QVElPTlM9dm9pZCAwO2NvbnN0IGk9ZShQcikscj1SdCxuPUJ0O3QuUVVFUllfUEFSU0VfT1BUSU9OUz17aWdub3JlUXVlcnlQcmVmaXg6ITAsZGVjb2RlcjoobyxmLGgsbCk9Pmw9PT0idmFsdWUiP2YobyxmLGgpOm99O2Z1bmN0aW9uIGEobyxmPXt9KXtjb25zdCBoPSgwLHIuZGVlcE1lcmdlKSh0LlFVRVJZX1BBUlNFX09QVElPTlMsZik7cmV0dXJuKDAsbi5pc1N0cmluZykobyk/aS5kZWZhdWx0LnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChvKSxoKTp7fX10LnBhcnNlU2VhcmNoUXVlcnk9YX0pKEZyKTt2YXIgVnQ9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFZ0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxWdC5nZXRQZXJjZW50RnJvbVRvdGFsPUl0PVZ0LmdldFBlcmNlbnRGcm9tVmFsdWU9dm9pZCAwO2NvbnN0IGtlPV90O2Z1bmN0aW9uIE9hKHQsZSl7aWYoKDAsa2UuaXNOdW1iZXIpKGUpJiYoMCxrZS5pc051bWJlcikodCkpdHJ5e3JldHVybiBlLzEwMCp0fWNhdGNoe310aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYXJndW1lbnRzIil9dmFyIEl0PVZ0LmdldFBlcmNlbnRGcm9tVmFsdWU9T2E7ZnVuY3Rpb24gQ2EodCxlLGk9e30pe2lmKCgwLGtlLmlzTnVtYmVyKShlKSYmKDAsa2UuaXNOdW1iZXIpKGUpKXRyeXtjb25zdHt0b1JvdW5kOnI9ITB9PWksbj1lKjEwMC90O3JldHVybiByP01hdGgucm91bmQobik6bn1jYXRjaHt9dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGFyZ3VtZW50cyIpfVZ0LmdldFBlcmNlbnRGcm9tVG90YWw9Q2E7dmFyIEdlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShHZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksR2UucGx1cmFsaXplTnVtYmVyPXZvaWQgMDtjb25zdCBMYT1fdCxSYT1uZXcgTWFwKFtbIm9uZSIsInN0Il0sWyJ0d28iLCJuZCJdLFsiZmV3IiwicmQiXSxbIm90aGVyIiwidGgiXV0pO2Z1bmN0aW9uIERhKHQpe3RyeXtjb25zdCBlPU51bWJlcih0KTtpZighZXx8ISgwLExhLmlzTnVtYmVyKShlKSlyZXR1cm4gdDtjb25zdCBpPW5ldyBJbnRsLlBsdXJhbFJ1bGVzKCJlbi1VUyIse3R5cGU6Im9yZGluYWwifSkuc2VsZWN0KE51bWJlcih0KSkscj1SYS5nZXQoaSk7cmV0dXJuYCR7dH0ke3J9YH1jYXRjaHtyZXR1cm4gdH19R2UucGx1cmFsaXplTnVtYmVyPURhO3ZhciBIZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoSGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEhlLnB1cmVTdHJ1Y3R1cmU9dm9pZCAwO2Z1bmN0aW9uIE1hKHQpe3JldHVybiB0JiYodD09PTEvMD8xLzA6SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSkpfUhlLnB1cmVTdHJ1Y3R1cmU9TWE7dmFyICRlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksJGUudGhyb3R0bGU9dm9pZCAwO2NvbnN0IGplPXt9O2Z1bmN0aW9uIE5hKHQsZT0wKXtpZih0eXBlb2YgdCE9ImZ1bmN0aW9uInx8dHlwZW9mIGUhPSJudW1iZXIiKXJldHVybjtjb25zdCBpPXQudG9TdHJpbmc
1oKTtjbGVhclRpbWVvdXQoamVbaV0pLGplW2ldPXNldFRpbWVvdXQoKCk9Pnt0KCksY2xlYXJUaW1lb3V0KGplW2ldKSxkZWxldGUgamVbaV19LGUpfSRlLnRocm90dGxlPU5hLGZ1bmN0aW9uKHQpe3ZhciBlPXcmJncuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihULGIsRixMKXtMPT09dm9pZCAwJiYoTD1GKTt2YXIgTT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsRik7KCFNfHwoImdldCJpbiBNPyFiLl9fZXNNb2R1bGU6TS53cml0YWJsZXx8TS5jb25maWd1cmFibGUpKSYmKE09e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJbRl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFQsTCxNKX06ZnVuY3Rpb24oVCxiLEYsTCl7TD09PXZvaWQgMCYmKEw9RiksVFtMXT1iW0ZdfSksaT13JiZ3Ll9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oVCxiKXtmb3IodmFyIEYgaW4gVClGIT09ImRlZmF1bHQiJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsRikmJmUoYixULEYpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC50aHJvdHRsZT10LnB1cmVTdHJ1Y3R1cmU9dC5sb2dnZXI9dC5Mb2dnZXI9dC5jb25maWd1cmVMb2dnZXI9dC5pc1N0cmluZz10LmlzU2V0PXQuaXNPYmplY3Q9dC5pc051bWJlcj10LmlzTWFwPXQuaXNFbXB0eT10LmlzQXJyYXk9dC5nZXRNb3VzZURpcmVjdGlvbj10LmdldEZpbGVOYW1lRnJvbVVybD10LmRlZXBNZXJnZT10LmNhbGN1bGF0ZUFzcGVjdFJhdGlvRml0PXQuYXJyYXlUb01hdHJpeD12b2lkIDA7dmFyIHI9RWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImFycmF5VG9NYXRyaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLmFycmF5VG9NYXRyaXh9fSk7dmFyIG49QWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImNhbGN1bGF0ZUFzcGVjdFJhdGlvRml0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5jYWxjdWxhdGVBc3BlY3RSYXRpb0ZpdH19KSxpKGV0LHQpLGkoUGUsdCk7dmFyIGE9UnQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZXBNZXJnZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGEuZGVlcE1lcmdlfX0pLGkoTWksdCk7dmFyIG89TWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldEZpbGVOYW1lRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8uZ2V0RmlsZU5hbWVGcm9tVXJsfX0pO3ZhciBmPU5lO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJnZXRNb3VzZURpcmVjdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGYuZ2V0TW91c2VEaXJlY3Rpb259fSk7dmFyIGg9QXQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlzQXJyYXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBoLmlzQXJyYXl9fSk7dmFyIGw9eXQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlzRW1wdHkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsLmlzRW1wdHl9fSk7dmFyIHU9WnQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlzTWFwIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdS5pc01hcH19KTt2YXIgXz1fdDtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaXNOdW1iZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBfLmlzTnVtYmVyfX0pO3ZhciBnPXR0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJpc09iamVjdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGcuaXNPYmplY3R9fSk7dmFyIHA9dGU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlzU2V0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcC5pc1NldH19KTt2YXIgbT1CdDtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaXNTdHJpbmciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBtLmlzU3RyaW5nfX0pO3ZhciBTPVRyO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJjb25maWd1cmVMb2dnZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBTLmNvbmZpZ3VyZUxvZ2dlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiTG9nZ2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUy5Mb2dnZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImxvZ2dlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFMubG9nZ2VyfX0pLGkoRnIsdCksaShWdCx0KSxpKEdlLHQpO3ZhciBVPUhlO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwdXJlU3RydWN0dXJlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gVS5wdXJlU3RydWN0dXJlfX0pO3ZhciB6PSRlO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ0aHJvdHRsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHoudGhyb3R0bGV9fSl9KFVlKTt2YXIgVWk9e307KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnF1ZXJ5QVBJPXZvaWQgMDtjb25zdCBlPVVlO2NsYXNzIGl7Z2V0UXVlcnkoKXtjb25zdCBuPW5ldyBVUkxTZWFyY2hQYXJhbXModGhpcy5wYXJhbXMpO3JldHVybiBuLnNpemU+MD9gPyR7bi50b1N0cmluZygpfWA6IiJ9Z2V0S2V5KG4pe3ZhciBhO3JldHVybihhPXRoaXMucGFyYW1zKT09bnVsbD92b2lkIDA6YVtuXX1zZXRLZXkobixhKXt0aGlzLnNldCh7Li4udGhpcy5wYXJhbXMsW25dOmF9KX1zZXQobil7aWYoIW4pcmV0dXJuO2NvbnN0IGE9bmV3IFVSTFNlYXJjaFBhcmFtcztPYmplY3Qua2V5cyhuKS5mb3JFYWNoKG89PntuW29dIT09bnVsbCYmKHR5cGVvZiBuW29dPiJ1Inx8dHlwZW9mIG5bb109PSJzdHJpbmciJiYhbltvXXx8YS5hcHBlbmQobyxgJHtuW29dfWApKX0pLHRoaXMucmVwbGFjZVF1ZXJ5UGFyYW1zKGEpfWhhcyhuKXt2YXIgYTtyZXR1cm4gdHlwZW9mKChhPXRoaXMucGFyYW1zKT09bnVsbD92b2lkIDA6YVtuXSk8InUifWdldCBwYXJhbXMoKXtyZXR1cm4oMCxlLnBhcnNlU2VhcmNoUXVlcnkpKGxvY2F0aW9uLnNlYXJjaCl9Z2VuZXJhdGVRdWVyeShuPXt9LGE9e30pe3JldHVybigwLGUuZ2VuZXJhdGVTZWFyY2hRdWVyeSkobixhKX1yZXBsYWNlUXVlcnlQYXJhbXMobil7aGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIiIsYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0ke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3QucXVlcnlBUEkuZ2VuZXJhdGVRdWVyeShuKX1gKX19dC5xdWVyeUFQST1uZXcgaX0pKFVpKTt2YXIga2E9dyYmdy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHdlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx3ZS5mZXRjaEFwaT12b2lkIDA7Y29uc3QgR2E9a2EoSHIpLEVpPVVlLEhhPVVpO2NsYXNzIFllIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoaSxyKXtzdXBlcihpKTtDKHRoaXMsIm1lc3NhZ2UiKTtDKHRoaXMsInJlc3BvbnNlIik7dGhpcy5tZXNzYWdlPWksdGhpcy5yZXNwb25zZT1yfX1jbGFzcyAkYXtjb25zdHJ1Y3RvcihlLGkpe0ModGhpcywidXJsIik7Qyh0aGlzLCJvcHRpb25zIik7dGhpcy51cmw9ZSx0aGlzLm9wdGlvbnM9aX1nZXQgZ3JvdXAoKXt2YXIgZTtyZXR1cm4oZT10aGlzLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDplLmdyb3VwfW1ha2UoKXtyZXR1cm4gbmV3IFByb21pc2UoKGUsaSk9Pntjb25zdHtyZXBlYXRSZXF1
1ZXN0VGltZW91dDpyPTAscmVwZWF0UmVxdWVzdFJldHJ5VGltZW91dDpuPTB9PXRoaXMub3B0aW9ucz8/e307bGV0IGEsbztmdW5jdGlvbiBmKGwpe2NsZWFyVGltZW91dChhKSxjbGVhclRpbWVvdXQobyksaShuZXcgWWUobC5tZXNzYWdlLGwucmVzcG9uc2UpKX1jb25zdCBoPSgpPT57dGhpcy5mZXRjaFdyYXBwZXIoKS50aGVuKGw9PmUobCkpLmNhdGNoKGw9PntpZihsLmNvZGUhPT0yMCl7aWYoIXIpcmV0dXJuIGYobCk7bz1zZXRUaW1lb3V0KGgsbiksYXx8KGE9c2V0VGltZW91dCgoKT0+ZihsKSxyKSl9fSl9O2goKX0pfWZldGNoV3JhcHBlcigpe2NvbnN0e2Jhc2U6ZT0iIixxdWVyeTppLGhlYWRlcnM6cixib2R5Om4scmVzcG9uc2VUeXBlOmEsYWJvcnRDb250cm9sbGVyOm8sLi4uZn09dGhpcy5vcHRpb25zPz97fSxoPWAke2V9JHt0aGlzLnVybH0ke0hhLnF1ZXJ5QVBJLmdlbmVyYXRlUXVlcnkoaSl9YDtyZXR1cm4gZmV0Y2goaCx7bWV0aG9kOnRoaXMub3B0aW9ucy5tZXRob2QsaGVhZGVyczp0aGlzLnByZXBhcmVIZWFkZXJzKHIpLGJvZHk6dGhpcy5wcmVwYXJlQm9keShuKSxzaWduYWw6bz09bnVsbD92b2lkIDA6by5zaWduYWwsLi4uZn0pLnRoZW4obD0+e2lmKCFsLm9rKXJldHVybiB0aGlzLnByZXBhcmVFcnJvcihsKS50aGVuKHU9Pnt0aHJvdyB1fSk7aWYobC5zdGF0dXM9PT0yMDQpcmV0dXJuIGw7c3dpdGNoKGEpe2Nhc2UidGV4dCI6cmV0dXJuIGwudGV4dCgpO2Nhc2UiYmxvYiI6cmV0dXJuIGwuYmxvYigpLnRoZW4odT0+W3UsbF0pO2Nhc2UiYXJyYXlCdWZmZXIiOnJldHVybiBsLmFycmF5QnVmZmVyKCk7Y2FzZSJqc29uIjpkZWZhdWx0OnJldHVybiBsLmpzb24oKX19KX1wcmVwYXJlSGVhZGVycyhlPXt9KXtyZXR1cm57Li4uZX19cHJlcGFyZUJvZHkoZSl7aWYoIWUpcmV0dXJuO2lmKGUgaW5zdGFuY2VvZiBGb3JtRGF0YSlyZXR1cm4gZTtpZigoMCxFaS5pc0FycmF5KShlKSlyZXR1cm4oMCxFaS5wdXJlU3RydWN0dXJlKShlKTtjb25zdCBpPXt9O3JldHVybiBPYmplY3Qua2V5cygoMCxFaS5wdXJlU3RydWN0dXJlKShlKSkuZm9yRWFjaChyPT57KGVbcl09PT0wfHxlW3JdPT09bnVsbHx8ZVtyXT09PSExfHxlW3JdIT09MCYmZVtyXXx8dHlwZW9mIGVbcl09PSJzdHJpbmciJiZlW3JdLmxlbmd0aD09PTApJiYoaVtyXT1lW3JdKX0pLEpTT04uc3RyaW5naWZ5KGkpfXByZXBhcmVFcnJvcihlKXtyZXR1cm4gZSE9bnVsbCYmZS50ZXh0P2UudGV4dCgpLnRoZW4oaT0+e3ZhciBuO2xldCByPSJFcnJvciI7dHJ5e3I9KChuPUpTT04ucGFyc2UoaSkpPT1udWxsP3ZvaWQgMDpuLm1lc3NhZ2UpPz9yfWNhdGNoe31yZXR1cm4gbmV3IFllKHIsZSl9KTplIT1udWxsJiZlLmpzb24/ZS5qc29uKCkudGhlbihpPT5uZXcgWWUoIkVycm9yIixpKSk6UHJvbWlzZS5yZXNvbHZlKG5ldyBZZSgiRmFpbGVkIHRvIGZldGNoIixlKSl9fWNsYXNzIGphe2NvbnN0cnVjdG9yKCl7Qyh0aGlzLCJyZXF1ZXN0cyIsW10pfWdldCByZXF1ZXN0c1VybHMoKXtyZXR1cm4gdGhpcy5yZXF1ZXN0cy5tYXAoKHt1cmw6ZX0pPT5lKX1nZXQoZSxpPXt9LHI9e30pe3JldHVybiB0aGlzLm1ha2VSZXF1ZXN0KGUsIkdFVCIsey4uLnIscXVlcnk6aX0pfXBvc3QoZSxpPXt9KXtyZXR1cm4gdGhpcy5tYWtlUmVxdWVzdChlLCJQT1NUIixpKX1wdXQoZSxpPXt9KXtyZXR1cm4gdGhpcy5tYWtlUmVxdWVzdChlLCJQVVQiLGkpfXJlbW92ZShlLGkpe3JldHVybiB0aGlzLm1ha2VSZXF1ZXN0KGUsIkRFTEVURSIsaSl9cGF0Y2goZSxpKXtyZXR1cm4gdGhpcy5tYWtlUmVxdWVzdChlLCJQQVRDSCIsaSl9ZG93bmxvYWQoZSxpPXt9KXtjb25zdHttZXRob2Q6cj0iUE9TVCIsYmFzZTpufT1pO3JldHVybiB0aGlzLm1ha2VSZXF1ZXN0KGUscix7YmFzZTpuLGJvZHk6aS5ib2R5LHF1ZXJ5OmkucXVlcnksaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6bnVsbH0scmVzcG9uc2VUeXBlOiJibG9iIn0pLnRoZW4oKFthLG9dKT0+e2NvbnN0IGY9UmVnRXhwKC9maWxlbmFtZVteOz1cbl0qPSgoWyciXSkuKj9cMnxbXjtcbl0qKS8sImciKSxoPW8uaGVhZGVycy5nZXQoIkNvbnRlbnQtRGlzcG9zaXRpb24iKTtpZihoKXtjb25zdCBsPWYuZXhlYyhoKTtsJiYoMCxHYS5kZWZhdWx0KShhLGxbMV0ucmVwbGFjZUFsbCgnIicsIiIpKX1yZXR1cm4gb30pfXJlcXVlc3RzQnlHcm91cChlKXtyZXR1cm4gdGhpcy5yZXF1ZXN0cy5maWx0ZXIoaT0+aS5ncm91cD09PWUpfW1ha2VSZXF1ZXN0KGUsaSxyKXtjb25zdCBuPW5ldyAkYShlLHttZXRob2Q6aSwuLi5yfSk7cmV0dXJuIHRoaXMucmVxdWVzdHMucHVzaChuKSxuLm1ha2UoKS5maW5hbGx5KCgpPT57Y29uc3QgYT10aGlzLnJlcXVlc3RzLmZpbmRJbmRleChvPT5vPT09bik7YSE9PS0xJiZ0aGlzLnJlcXVlc3RzLnNwbGljZShhLDEpfSl9fXdlLmZldGNoQXBpPW5ldyBqYSxmdW5jdGlvbih0KXt2YXIgZT13JiZ3Ll9fY3JlYXRlQmluZGluZ3x8KE9i
1amVjdC5jcmVhdGU/ZnVuY3Rpb24ocixuLGEsbyl7bz09PXZvaWQgMCYmKG89YSk7dmFyIGY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGEpOyghZnx8KCJnZXQiaW4gZj8hbi5fX2VzTW9kdWxlOmYud3JpdGFibGV8fGYuY29uZmlndXJhYmxlKSkmJihmPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuW2FdfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8sZil9OmZ1bmN0aW9uKHIsbixhLG8pe289PT12b2lkIDAmJihvPWEpLHJbb109blthXX0pLGk9dyYmdy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKHIsbil7Zm9yKHZhciBhIGluIHIpYSE9PSJkZWZhdWx0IiYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGEpJiZlKG4scixhKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGkod2UsdCksaShVaSx0KX0oSnQpO3ZhciBWZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVmUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLFZlLkhUVFBSZXNwb25zZT12b2lkIDA7dmFyIElyOyhmdW5jdGlvbih0KXt0W3QuRm9yYmlkZGVuPTQwM109IkZvcmJpZGRlbiJ9KShJcnx8KFZlLkhUVFBSZXNwb25zZT1Jcj17fSkpO3ZhciBXZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV2UsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLFdlLkVNUFRZX1RFU1RfVkFMVUVTPXZvaWQgMCxXZS5FTVBUWV9URVNUX1ZBTFVFUz1bIiIse30sW10sbnVsbCx2b2lkIDAsU3ltYm9sKCksZnVuY3Rpb24oKXt9LG5ldyBNYXAsbmV3IFNldCxOYU5dO3ZhciB6cj17fSxxZT17fSxLZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoS2UsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEtlLkVZRV9UUkFDS0lOR19FUlJPUlM9dm9pZCAwLEtlLkVZRV9UUkFDS0lOR19FUlJPUlM9e05vdFN1cHBvcnRlZDoiQ2hyb21lIGV4dGVuc2lvbnMgaXMgbm90IHN1cHBvcnRlZCJ9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShxZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscWUuRXllVHJhY2tpbmdDbGllbnQ9dm9pZCAwO2NvbnN0IFlhPUtlLFZhPSJjYXBtbGJmbWFra2pqbWRhbmpnamVuaWhkYW9oamRjaiI7Y2xhc3MgV2F7Y29uc3RydWN0b3IoZT17fSl7Qyh0aGlzLCJvcHRpb25zIik7Qyh0aGlzLCJwb3J0Iik7Qyh0aGlzLCJvblN1Y2Nlc3MiLG51bGwpO0ModGhpcywib25FcnJvciIsbnVsbCk7Qyh0aGlzLCJvbk1lc3NhZ2UiLG51bGwpO3RoaXMub3B0aW9ucz1lfWNvbm5lY3QoKXt2YXIgZSxpLHIsbixhO3RyeXtpZighKChlPWNocm9tZT09bnVsbD92b2lkIDA6Y2hyb21lLnJ1bnRpbWUpIT1udWxsJiZlLmNvbm5lY3QpKXsoaT10aGlzLm9uRXJyb3IpPT1udWxsfHxpLmNhbGwodGhpcyxuZXcgRXJyb3IoWWEuRVlFX1RSQUNLSU5HX0VSUk9SUy5Ob3RTdXBwb3J0ZWQpKTtyZXR1cm59dGhpcy5wb3J0PWNocm9tZS5ydW50aW1lLmNvbm5lY3QoKChyPXRoaXMub3B0aW9ucyk9PW51bGw/dm9pZCAwOnIuaWQpPz9WYSx7bmFtZToiZGFsc1dlYlN0ZXJlbyJ9KSx0aGlzLnBvcnQub25NZXNzYWdlLmFkZExpc3RlbmVyKG89Pnt2YXIgZjtyZXR1cm4oZj10aGlzLm9uTWVzc2FnZSk9PW51bGw/dm9pZCAwOmYuY2FsbCh0aGlzLG8pfSksKG49dGhpcy5vblN1Y2Nlc3MpPT1udWxsfHxuLmNhbGwodGhpcyl9Y2F0Y2gobyl7KGE9dGhpcy5vbkVycm9yKT09bnVsbHx8YS5jYWxsKHRoaXMsbyl9fXNlbmRNZXNzYWdlKGUpe3ZhciBpLHI7KHI9KGk9dGhpcy5wb3J0KT09bnVsbD92b2lkIDA6aS5wb3N0TWVzc2FnZSk9PW51bGx8fHIuY2FsbChpLGUpfWRpc2Nvbm5lY3QoKXt2YXIgZSxpOyhpPShlPXRoaXMucG9ydCk9PW51bGw/dm9pZCAwOmUuZGlzY29ubmVjdCk9PW51bGx8fGkuY2FsbChlKX19cWUuRXllVHJhY2tpbmdDbGllbnQ9V2EsZnVuY3Rpb24odCl7dmFyIGU9dyYmdy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHIsbixhLG8pe289PT12b2lkIDAmJihvPWEpO3ZhciBmPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixhKTsoIWZ8fCgiZ2V0ImluIGY/IW4uX19lc01vZHVsZTpmLndyaXRhYmxlfHxmLmNvbmZpZ3VyYWJsZSkpJiYoZj17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gblthXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLGYpfTpmdW5jdGlvbihyLG4sYSxvKXtvPT09dm9pZCAwJiYobz1hKSxyW29dPW5bYV19KSxpPXcmJncuX19leHBvcnRTdGFyfHxmdW5jdGlvbihyLG4pe2Zvcih2YXIgYSBpbiByKWEhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixhKSYmZShuLHIsYSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKHFlLHQpfSh6ciksZnVuY3Rpb24odCl7dmFyIGU9dyYmdy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHIsbixhLG8pe289PT12b2lkIDAmJihvPWEpO3ZhciBmPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixhKTsoIWZ8fCgiZ2V0ImluIGY/IW4uX19lc01vZHVsZTpmLndyaXRhYmxlfHxmLmNvbmZpZ3VyYWJsZSkpJiYoZj17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gblthXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLGYpfTpmdW5jdGlvbihyLG4sYSxvKXtvPT09dm9pZCAwJiYobz1hKSxyW29dPW5bYV19KSxpPXcmJncuX19leHBvcnRTdGFyfHxmdW5jdGlvbihyLG4pe2Zvcih2YXIgYSBpbiByKWEhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixhKSYmZShuLHIsYSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKEp0LHQpLGkoVmUsdCksaShXZSx0KSxpKFVlLHQpLGkoenIsdCl9KEUpO3ZhciBKPSh0PT4odC5UcmFuc2Zlcj0idHJhbnNmZXIiLHQuRGVjb2RlPSJkZWNvZGUiLHQuUmVuZGVyPSJyZW5kZXIiLHQpKShKfHx7fSk7Y29uc3QgT3I9My42LGJ0PSIjMDAwIixBaT0iI2ZmZiIsQ3I9IiNCREJEQkQiLHFhPTEwLEs9MjA7Y2xhc3MgS2F7Y29uc3RydWN0b3IoKXtDKHRoaXMsImNhbnZhcyIpfWdldCBjdHgoKXtyZXR1cm4gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKX1zZXRDYW52YXMoZSl7dGhpcy5jYW52YXM9ZSx0aGlzLnNldENhbnZhc0RlZmF1bHRzKCl9Z2V0VGV4dFdpZHRoKGUpe3JldHVybiB0aGlzLnNldENhbnZhc0RlZmF1bHRzKCksdGhpcy5jdHgubWVhc3VyZVRleHQoZSkud2lkdGh9cmVjdChlLGkscixuLGE9e30pe3RoaXMuY3R4LmJlZ2luUGF0aCgpLHRoaXMuY3R4LmZpbGxTdHlsZT1hLmNvbG9yPz9idCx0aGlzLmN0eC5maWxsUmVjdChlLGkscixuKSx0aGlzLmN0eC5maWxsKCksdGhpcy5jdHguY2xvc2VQYXR
1oKCl9cm91bmRSZWN0KGUsaSxyLG4sYT17fSl7dGhpcy5jdHguYmVnaW5QYXRoKCksdGhpcy5jdHguc2V0TGluZURhc2goW10pLHRoaXMuY3R4LmZpbGxTdHlsZT1hLmNvbG9yPz9idCx0aGlzLmN0eC5saW5lV2lkdGg9YS5ib3JkZXJXaWR0aD8/cWEsdGhpcy5jdHguc3Ryb2tlU3R5bGU9YS5ib3JkZXJDb2xvcj8/YnQsdGhpcy5jdHgucm91bmRSZWN0KGUsaSxyLG4sYS5ib3JkZXJSYWRpdXM/P1swLDAsMCwwXSksdGhpcy5jdHguZmlsbCgpLHRoaXMuY3R4LnN0cm9rZSgpLHRoaXMuY3R4LmNsb3NlUGF0aCgpfXRleHQoZSxpLHIsbj17fSl7dGhpcy5jdHguYmVnaW5QYXRoKCksdGhpcy5jdHguZmlsbFN0eWxlPW4uY29sb3I/P0FpLHRoaXMuY3R4LmZvbnQ9YGJvbGQgJHtuLnNpemU/P09yfXJlbSBzZXJpZmAsdGhpcy5jdHgudGV4dEFsaWduPW4uYWxpZ24/PyJjZW50ZXIiLHRoaXMuY3R4LnRleHRCYXNlbGluZT1uLnZhbGlnbj8/Im1pZGRsZSIsdGhpcy5jdHguZmlsbFRleHQoZSxpLHIpLHRoaXMuY3R4LmNsb3NlUGF0aCgpfWxpbmUoZSxpLHIsbixhPXt9KXt0aGlzLmN0eC5iZWdpblBhdGgoKSx0aGlzLmN0eC5zdHJva2VTdHlsZT1hLmNvbG9yPz9idCx0aGlzLmN0eC5zZXRMaW5lRGFzaChhLmRhc2g/P1tdKSx0aGlzLmN0eC5tb3ZlVG8oZSxpKSx0aGlzLmN0eC5saW5lVG8ocixuKSx0aGlzLmN0eC5zdHJva2UoKSx0aGlzLmN0eC5jbG9zZVBhdGgoKX1zZXRDYW52YXNEZWZhdWx0cygpe3RoaXMuY3R4LmZvbnQ9YGJvbGQgJHtPcn1yZW0gc2VyaWZgfX1jbGFzcyBMcntjb25zdHJ1Y3RvcihlKXtDKHRoaXMsInVybCIpO0ModGhpcywiZGVjb2RlciIpO0EodGhpcyxmZSx2b2lkIDApO0EodGhpcyxoZSwwKTtBKHRoaXMsbGUsMCk7QSh0aGlzLFd0LCExKTtBKHRoaXMsenQsMSk7QSh0aGlzLHVlLDApO0EodGhpcyxkZSwhMSk7QSh0aGlzLGNlLCExKTtBKHRoaXMsT3QsMCk7QSh0aGlzLHF0LDApO0EodGhpcyxLdCwwKTtjb25zdHt1cmw6aSxjYW52YXM6cixzY3JlZW5XaWR0aDpuLHNpbmdsZVNjYWxlOmEsc2NhbGVSYXRpbzpvLGRlYnVnOmYscmlnaHQ6aCxjb25maWc6bH09ZTt0aGlzLnVybD1pLEIodGhpcyxmZSxyKSxCKHRoaXMsV3QsYSksQih0aGlzLHp0LG8pLEIodGhpcyx1ZSxuKSxCKHRoaXMsZGUsISFoKSxCKHRoaXMsY2UsISFmKSx0aGlzLmRlY29kZXI9bmV3IFZpZGVvRGVjb2Rlcih7b3V0cHV0OnU9Pntjb25zdCBfPUUuY2FsY3VsYXRlQXNwZWN0UmF0aW9GaXQodS5kaXNwbGF5V2lkdGgsdS5kaXNwbGF5SGVpZ2h0LGModGhpcyxPdCksYyh0aGlzLHF0KSk7aWYoYyh0aGlzLFd0KSYmYyh0aGlzLHp0KSE9PW51bGwmJmModGhpcyxLdCkpe2NvbnN0IFM9Yyh0aGlzLHp0KS91LmRpc3BsYXlIZWlnaHQvKGModGhpcyxLdCkvdS5kaXNwbGF5SGVpZ2h0KTtTPD0uOTc1JiYoXy53aWR0aCo9UyxfLmhlaWdodCo9Uyl9Y29uc3QgZz0oYyh0aGlzLE90KS1fLndpZHRoKS8yK2ModGhpcyxoZSkrKGModGhpcyxkZSk/Yyh0aGlzLHVlKTowKSxwPShjKHRoaXMscXQpLV8uaGVpZ2h0KS8yK2ModGhpcyxsZSksbT1jKHRoaXMsZmUpLmdldENvbnRleHQoIjJkIik7bS5kcmF3SW1hZ2UodSxnLHAsXy53aWR0aCxfLmhlaWdodCksYyh0aGlzLGNlKSYmKG0uYmVnaW5QYXRoKCksbS5mb250PSIyLjRyZW0gc2VyaWYiLG0uZmlsbFN0eWxlPSJyZWQiLG0udGV4dEFsaWduPSJjZW50ZXIiLG0uZmlsbFRleHQoYFJhdGlvOiAke2ModGhpcyx6dCl9YCxnK2ModGhpcyxPdCkvMixwKSxtLmNsb3NlUGF0aCgpKSx1LmNsb3NlKCl9LGVycm9yOnU9PkUubG9nZ2VyLmVycm9yKHUpfSksbCYmdGhpcy5jb25maWd1cmUobCl9Z2V0IGlzQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLmRlY29kZXIuc3RhdGU9PT0iY29uZmlndXJlZCJ9Y29uZmlndXJlKGUpe3RoaXMuZGVjb2Rlci5jb25maWd1cmUoZSl9ZHJhdyhlLGkpe2lmKCFlKXJldHVybjtjb25zdHtjZWxsWDpyLGNlbGxZOm4sY2VsbFdpZHRoOmEsY2VsbEhlaWdodDpvLHNpbmdsZVNjYWxlOmY9ITEsYmlnZ2VzdFNjYWxlUmF0aW86aH09aTtCKHRoaXMsaGUsciksQih0aGlzLGxlLG4pLEIodGhpcyxPdCxhKSxCKHRoaXMscXQsbyksQih0aGlzLFd0LGYpLEIodGhpcyxLdCxoPz8wKSx0aGlzLmRlY29kZXIuZGVjb2RlKGUpfX1mZT1uZXcgV2Vha01hcCxoZT1uZXcgV2Vha01hcCxsZT1uZXcgV2Vha01hcCxXdD1uZXcgV2Vha01hcCx6dD1uZXcgV2Vha01hcCx1ZT1uZXcgV2Vha01hcCxkZT1uZXcgV2Vha01hcCxjZT1uZXcgV2Vha01hcCxPdD1uZXcgV2Vha01hcCxxdD1uZXcgV2Vha01hcCxLdD1uZXcgV2Vha01hcDt2YXIgeT1mdW5jdGlvbigpe3ZhciB0PW5ldyBEYXRlLGU9NCxpPTMscj0yLG49MSxhPWUsbz17c2V0TG9nTGV2ZWw6ZnVuY3Rpb24oZil7Zj09dGhpcy5kZWJ1Zz9hPW46Zj09dGhpcy5pbmZvP2E9cjpmPT10aGlzLndhcm4/YT1pOihmPT10aGlzLmVycm9yLGE9ZSl9LGRlYnVnOmZ1bmN0aW9uKGYsaCl7Y29uc29sZS5kZWJ1Zz09PXZvaWQgMCYmKGNvbnNvbGUuZGVidWc9Y29uc29sZS5sb2cpLG4+PWEmJmNvbnNvbGUuZGVidWcoIlsiK3kuZ2V0RHVyYXRpb25TdHJpbmcobmV3IERhdGUtdCwxZTMpKyJdIiwiWyIrZisiXSIsaCl9LGxvZzpmdW5jdGlvbihmLGgpe3RoaXMuZGVidWcoZi5tc2cpfSxpbmZvOmZ1bmN0aW9uKGYsaCl7cj49YSYmY29uc29sZS5pbmZvKCJbIit5LmdldER1cmF0aW9uU3RyaW5nKG5ldyBEYXRlLXQsMWUzKSsiXSIsIlsiK2YrIl0iLGgpfSx3YXJuOmZ1bmN0aW9uKGYsaCl7aT49YSYmY29uc29sZS53YXJuKCJbIit5LmdldER1cmF0aW9uU3RyaW5nKG5ldyBEYXRlLXQsMWUzKSsiXSIsIlsiK2YrIl0iLGgpfSxlcnJvcjpmdW5jdGlvbihmLGgpe2U+PWEmJmNvbnNvbGUuZXJyb3IoIlsiK3kuZ2V0RHVyYXRpb25TdHJpbmcobmV3IERhdGUtdCwxZTMpKyJdIiwiWyIrZisiXSIsaCl9fTtyZXR1cm4gb30oKTt5LmdldER1cmF0aW9uU3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIGk7ZnVuY3Rpb24gcihsLHUpe2Zvcih2YXIgXz0iIitsLGc9Xy5zcGxpdCgiLiIpO2dbMF0ubGVuZ3RoPHU7KWdbMF09IjAiK2dbMF07cmV0dXJuIGcuam9pbigiLiIpfXQ8MD8oaT0hMCx0PS10KTppPSExO3ZhciBuPWV8fDEsYT10L24sbz1NYXRoLmZsb29yKGEvMzYwMCk7YS09byozNjAwO3Z
1hciBmPU1hdGguZmxvb3IoYS82MCk7YS09Zio2MDt2YXIgaD1hKjFlMztyZXR1cm4gYT1NYXRoLmZsb29yKGEpLGgtPWEqMWUzLGg9TWF0aC5mbG9vcihoKSwoaT8iLSI6IiIpK28rIjoiK3IoZiwyKSsiOiIrcihhLDIpKyIuIityKGgsMyl9LHkucHJpbnRSYW5nZXM9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZT4wKXtmb3IodmFyIGk9IiIscj0wO3I8ZTtyKyspcj4wJiYoaSs9IiwiKSxpKz0iWyIreS5nZXREdXJhdGlvblN0cmluZyh0LnN0YXJ0KHIpKSsiLCIreS5nZXREdXJhdGlvblN0cmluZyh0LmVuZChyKSkrIl0iO3JldHVybiBpfWVsc2UgcmV0dXJuIihlbXB0eSkifSx0eXBlb2YgZXhwb3J0czwidSImJihleHBvcnRzLkxvZz15KTt2YXIgTz1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpdGhpcy5idWZmZXI9dCx0aGlzLmRhdGF2aWV3PW5ldyBEYXRhVmlldyh0KTtlbHNlIHRocm93Ik5lZWRzIGFuIGFycmF5IGJ1ZmZlciI7dGhpcy5wb3NpdGlvbj0wfTtPLnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBvc2l0aW9ufSxPLnByb3RvdHlwZS5nZXRFbmRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RofSxPLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5idWZmZXIuYnl0ZUxlbmd0aH0sTy5wcm90b3R5cGUuc2Vlaz1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuYnVmZmVyLmJ5dGVMZW5ndGgsdCkpO3JldHVybiB0aGlzLnBvc2l0aW9uPWlzTmFOKGUpfHwhaXNGaW5pdGUoZSk/MDplLCEwfSxPLnByb3RvdHlwZS5pc0Vvcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFBvc2l0aW9uKCk+PXRoaXMuZ2V0RW5kUG9zaXRpb24oKX0sTy5wcm90b3R5cGUucmVhZEFueUludD1mdW5jdGlvbih0LGUpe3ZhciBpPTA7aWYodGhpcy5wb3NpdGlvbit0PD10aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoKXtzd2l0Y2godCl7Y2FzZSAxOmU/aT10aGlzLmRhdGF2aWV3LmdldEludDgodGhpcy5wb3NpdGlvbik6aT10aGlzLmRhdGF2aWV3LmdldFVpbnQ4KHRoaXMucG9zaXRpb24pO2JyZWFrO2Nhc2UgMjplP2k9dGhpcy5kYXRhdmlldy5nZXRJbnQxNih0aGlzLnBvc2l0aW9uKTppPXRoaXMuZGF0YXZpZXcuZ2V0VWludDE2KHRoaXMucG9zaXRpb24pO2JyZWFrO2Nhc2UgMzppZihlKXRocm93Ik5vIG1ldGhvZCBmb3IgcmVhZGluZyBzaWduZWQgMjQgYml0cyB2YWx1ZXMiO2k9dGhpcy5kYXRhdmlldy5nZXRVaW50OCh0aGlzLnBvc2l0aW9uKTw8MTYsaXw9dGhpcy5kYXRhdmlldy5nZXRVaW50OCh0aGlzLnBvc2l0aW9uKzEpPDw4LGl8PXRoaXMuZGF0YXZpZXcuZ2V0VWludDgodGhpcy5wb3NpdGlvbisyKTticmVhaztjYXNlIDQ6ZT9pPXRoaXMuZGF0YXZpZXcuZ2V0SW50MzIodGhpcy5wb3NpdGlvbik6aT10aGlzLmRhdGF2aWV3LmdldFVpbnQzMih0aGlzLnBvc2l0aW9uKTticmVhaztjYXNlIDg6aWYoZSl0aHJvdyJObyBtZXRob2QgZm9yIHJlYWRpbmcgc2lnbmVkIDY0IGJpdHMgdmFsdWVzIjtpPXRoaXMuZGF0YXZpZXcuZ2V0VWludDMyKHRoaXMucG9zaXRpb24pPDwzMixpfD10aGlzLmRhdGF2aWV3LmdldFVpbnQzMih0aGlzLnBvc2l0aW9uKzQpO2JyZWFrO2RlZmF1bHQ6dGhyb3cicmVhZEludCBtZXRob2Qgbm90IGltcGxlbWVudGVkIGZvciBzaXplOiAiK3R9cmV0dXJuIHRoaXMucG9zaXRpb24rPXQsaX1lbHNlIHRocm93Ik5vdCBlbm91Z2ggYnl0ZXMgaW4gYnVmZmVyIn0sTy5wcm90b3R5cGUucmVhZFVpbnQ4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZEFueUludCgxLCExKX0sTy5wcm90b3R5cGUucmVhZFVpbnQxNj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRBbnlJbnQoMiwhMSl9LE8ucHJvdG90eXBlLnJlYWRVaW50MjQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZWFkQW55SW50KDMsITEpfSxPLnByb3RvdHlwZS5yZWFkVWludDMyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZEFueUludCg0LCExKX0sTy5wcm90b3R5cGUucmVhZFVpbnQ2ND1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRBbnlJbnQoOCwhMSl9LE8ucHJvdG90eXBlLnJlYWRTdHJpbmc9ZnVuY3Rpb24odCl7aWYodGhpcy5wb3NpdGlvbit0PD10aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoKXtmb3IodmFyIGU9IiIsaT0wO2k8dDtpKyspZSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLnJlYWRVaW50OCgpKTtyZXR1cm4gZX1lbHNlIHRocm93Ik5vdCBlbm91Z2ggYnl0ZXMgaW4gYnVmZmVyIn0sTy5wcm90b3R5cGUucmVhZENTdHJpbmc9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W107Oyl7dmFyIGU9dGhpcy5yZWFkVWludDgoKTtpZihlIT09MCl0LnB1c2goZSk7ZWxzZSBicmVha31yZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHQpfSxPLnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRBbnlJbnQoMSwhMCl9LE8ucHJvdG90eXBlLnJlYWRJbnQxNj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRBbnlJbnQoMiwhMCl9LE8ucHJvdG90eXBlLnJlYWRJbnQzMj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRBbnlJbnQoNCwhMCl9LE8ucHJvdG90eXBlLnJlYWRJbnQ2ND1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRBbnlJbnQoOCwhMSl9LE8ucHJvdG90eXBlLnJlYWRVaW50OEFycmF5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgVWludDhBcnJheSh0KSxpPTA7aTx0O2krKyllW2ldPXRoaXMucmVhZFVpbnQ4KCk7cmV0dXJuIGV9LE8ucHJvdG90eXBlLnJlYWRJbnQxNkFycmF5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgSW50MTZBcnJheSh0KSxpPTA7aTx0O2krKyllW2ldPXRoaXMucmVhZEludDE2KCk7cmV0dXJuIGV9LE8ucHJvdG90eXBlLnJlYWRVaW50MTZBcnJheT1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEludDE2QXJyYXkodCksaT0wO2k8dDtpKyspZVtpXT10aGlzLnJlYWRVaW50MTYoKTtyZXR1cm4gZX0sTy5wcm90b3R5cGUucmVhZFVpbnQzMkFycmF5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgVWludDMyQXJyYXkodCksaT0wO2k8dDtpKyspZVtpXT10aGlzLnJlYWRVaW50MzIoKTtyZXR1cm4gZX0sTy5wcm90b3R5cGUucmVhZEludDMyQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBJbnQzMkFycmF
15KHQpLGk9MDtpPHQ7aSsrKWVbaV09dGhpcy5yZWFkSW50MzIoKTtyZXR1cm4gZX0sdHlwZW9mIGV4cG9ydHM8InUiJiYoZXhwb3J0cy5NUDRCb3hTdHJlYW09Tyk7dmFyIGQ9ZnVuY3Rpb24odCxlLGkpe3RoaXMuX2J5dGVPZmZzZXQ9ZXx8MCx0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/dGhpcy5idWZmZXI9dDp0eXBlb2YgdD09Im9iamVjdCI/KHRoaXMuZGF0YVZpZXc9dCxlJiYodGhpcy5fYnl0ZU9mZnNldCs9ZSkpOnRoaXMuYnVmZmVyPW5ldyBBcnJheUJ1ZmZlcih0fHwwKSx0aGlzLnBvc2l0aW9uPTAsdGhpcy5lbmRpYW5uZXNzPWk/P2QuTElUVExFX0VORElBTn07ZC5wcm90b3R5cGU9e30sZC5wcm90b3R5cGUuZ2V0UG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wb3NpdGlvbn0sZC5wcm90b3R5cGUuX3JlYWxsb2M9ZnVuY3Rpb24odCl7aWYodGhpcy5fZHluYW1pY1NpemUpe3ZhciBlPXRoaXMuX2J5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbit0LGk9dGhpcy5fYnVmZmVyLmJ5dGVMZW5ndGg7aWYoZTw9aSl7ZT50aGlzLl9ieXRlTGVuZ3RoJiYodGhpcy5fYnl0ZUxlbmd0aD1lKTtyZXR1cm59Zm9yKGk8MSYmKGk9MSk7ZT5pOylpKj0yO3ZhciByPW5ldyBBcnJheUJ1ZmZlcihpKSxuPW5ldyBVaW50OEFycmF5KHRoaXMuX2J1ZmZlciksYT1uZXcgVWludDhBcnJheShyLDAsbi5sZW5ndGgpO2Euc2V0KG4pLHRoaXMuYnVmZmVyPXIsdGhpcy5fYnl0ZUxlbmd0aD1lfX0sZC5wcm90b3R5cGUuX3RyaW1BbGxvYz1mdW5jdGlvbigpe2lmKHRoaXMuX2J5dGVMZW5ndGghPXRoaXMuX2J1ZmZlci5ieXRlTGVuZ3RoKXt2YXIgdD1uZXcgQXJyYXlCdWZmZXIodGhpcy5fYnl0ZUxlbmd0aCksZT1uZXcgVWludDhBcnJheSh0KSxpPW5ldyBVaW50OEFycmF5KHRoaXMuX2J1ZmZlciwwLGUubGVuZ3RoKTtlLnNldChpKSx0aGlzLmJ1ZmZlcj10fX0sZC5CSUdfRU5ESUFOPSExLGQuTElUVExFX0VORElBTj0hMCxkLnByb3RvdHlwZS5fYnl0ZUxlbmd0aD0wLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkLnByb3RvdHlwZSwiYnl0ZUxlbmd0aCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ieXRlTGVuZ3RoLXRoaXMuX2J5dGVPZmZzZXR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGQucHJvdG90eXBlLCJidWZmZXIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdHJpbUFsbG9jKCksdGhpcy5fYnVmZmVyfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5fYnVmZmVyPXQsdGhpcy5fZGF0YVZpZXc9bmV3IERhdGFWaWV3KHRoaXMuX2J1ZmZlcix0aGlzLl9ieXRlT2Zmc2V0KSx0aGlzLl9ieXRlTGVuZ3RoPXRoaXMuX2J1ZmZlci5ieXRlTGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkLnByb3RvdHlwZSwiYnl0ZU9mZnNldCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ieXRlT2Zmc2V0fSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5fYnl0ZU9mZnNldD10LHRoaXMuX2RhdGFWaWV3PW5ldyBEYXRhVmlldyh0aGlzLl9idWZmZXIsdGhpcy5fYnl0ZU9mZnNldCksdGhpcy5fYnl0ZUxlbmd0aD10aGlzLl9idWZmZXIuYnl0ZUxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZC5wcm90b3R5cGUsImRhdGFWaWV3Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RhdGFWaWV3fSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5fYnl0ZU9mZnNldD10LmJ5dGVPZmZzZXQsdGhpcy5fYnVmZmVyPXQuYnVmZmVyLHRoaXMuX2RhdGFWaWV3PW5ldyBEYXRhVmlldyh0aGlzLl9idWZmZXIsdGhpcy5fYnl0ZU9mZnNldCksdGhpcy5fYnl0ZUxlbmd0aD10aGlzLl9ieXRlT2Zmc2V0K3QuYnl0ZUxlbmd0aH19KSxkLnByb3RvdHlwZS5zZWVrPWZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5ieXRlTGVuZ3RoLHQpKTt0aGlzLnBvc2l0aW9uPWlzTmFOKGUpfHwhaXNGaW5pdGUoZSk/MDplfSxkLnByb3RvdHlwZS5pc0VvZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBvc2l0aW9uPj10aGlzLl9ieXRlTGVuZ3RofSxkLnByb3RvdHlwZS5tYXBVaW50OEFycmF5PWZ1bmN0aW9uKHQpe3RoaXMuX3JlYWxsb2ModCoxKTt2YXIgZT1uZXcgVWludDhBcnJheSh0aGlzLl9idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdCk7cmV0dXJuIHRoaXMucG9zaXRpb24rPXQqMSxlfSxkLnByb3RvdHlwZS5yZWFkSW50MzJBcnJheT1mdW5jdGlvbih0LGUpe3Q9dD8/dGhpcy5ieXRlTGVuZ3RoLXRoaXMucG9zaXRpb24vNDt2YXIgaT1uZXcgSW50MzJBcnJheSh0KTtyZXR1cm4gZC5tZW1jcHkoaS5idWZmZXIsMCx0aGlzLmJ1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KmkuQllURVNfUEVSX0VMRU1FTlQpLGQuYXJyYXlUb05hdGl2ZShpLGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9aS5ieXRlTGVuZ3RoLGl9LGQucHJvdG90eXBlLnJlYWRJbnQxNkFycmF5PWZ1bmN0aW9uKHQsZSl7dD10Pz90aGlzLmJ5dGVMZW5ndGgtdGhpcy5wb3NpdGlvbi8yO3ZhciBpPW5ldyBJbnQxNkFycmF5KHQpO3JldHVybiBkLm1lbWNweShpLmJ1ZmZlciwwLHRoaXMuYnVmZmVyLHRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uLHQqaS5CWVRFU19QRVJfRUxFTUVOVCksZC5hcnJheVRvTmF0aXZlKGksZT8/dGhpcy5lbmRpYW5uZXNzKSx0aGlzLnBvc2l0aW9uKz1pLmJ5dGVMZW5ndGgsaX0sZC5wcm90b3R5cGUucmVhZEludDhBcnJheT1mdW5jdGlvbih0KXt0PXQ/P3RoaXMuYnl0ZUxlbmd0aC10aGlzLnBvc2l0aW9uO3ZhciBlPW5ldyBJbnQ4QXJyYXkodCk7cmV0dXJuIGQubWVtY3B5KGUuYnVmZmVyLDAsdGhpcy5idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdCplLkJZVEVTX1BFUl9FTEVNRU5UKSx0aGlzLnBvc2l0aW9uKz1lLmJ5dGVMZW5ndGgsZX0sZC5wcm90b3R5cGUucmVhZFVpbnQzMkFycmF5PWZ1bmN0aW9uKHQsZSl7dD10Pz90aGlzLmJ5dGVMZW5ndGgtdGhpcy5wb3NpdGlvbi80O3ZhciBpPW5ldyBVaW50MzJBcnJheSh0KTtyZXR1cm4gZC5tZW1jcHkoaS5idWZmZXIsMCx0aGlzLmJ1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KmkuQllURVNfUEVSX0VMRU1FTlQpLGQuYXJyYXlUb05hdGl2ZShpLGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9aS5ieXRlTGVuZ3RoLGl9LGQucHJvdG90eXBlLnJlYWRVaW50MTZBcnJheT1mdW5jdGlvbih0LGUpe3Q9dD8/dGhpcy5ieXRlTGVuZ3RoLXRoaXMucG9zaXRpb24vMjt2YXIgaT1uZXcgVWludDE2QXJyYXkodCk7cmV0dXJuIGQubWVtY3B5KGkuYnVmZmVyLDAsdGhpcy5idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdCppLkJZVEVTX1BFUl9FTEVNRU5UKSxkLmFycmF5VG9OYXRpdmUoaSxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPWkuYnl0ZUxlbmd0aCxpfSxkLnByb3RvdHlwZS5yZWFkVWludDhBcnJheT1mdW5jdGlvbih0KXt0PXQ/P3RoaXMuYnl0ZUxlbmd0aC10aGlzLnBvc2l0aW9uO3ZhciBlPW5ldyBVaW50OEFycmF5KHQpO3JldHVybiBkLm1lbWNweShlLmJ1ZmZlciwwLHRoaXMuYnVmZmVyLHRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uLHQqZS5CWVRFU19QRVJfRUxFTUVOVCksdGhpcy5wb3NpdGlvbis9ZS5ieXRlTGVuZ3RoLGV9LGQucHJvdG90eXBlLnJlYWRGbG9hdDY0QXJyYXk9ZnVuY3Rpb24odCxlKXt0PXQ/P3RoaXMuYnl0ZUxlbmd0aC10aGlzLnBvc2l0aW9uLzg7dmFyIGk9bmV3IEZsb2F0NjRBcnJheSh0KTtyZXR1cm4gZC5tZW1jcHkoaS5idWZmZXIsMCx0aGlzLmJ1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KmkuQllURVNfUEVSX0VMRU1FTlQpLGQuYXJyYXlUb05hdGl2ZShpLGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9aS5ieXRlTGVuZ3RoLGl9LGQucHJvdG90eXBlLnJlYWRGbG9hdDMyQXJyYXk9ZnVuY3Rpb24odCxlKXt0PXQ/P3RoaXMuYnl0ZUxlbmd0aC10aGlzLnBvc2l0aW9uLzQ7dmFyIGk9bmV3IEZsb2F0MzJBcnJheSh0KTtyZXR1cm4gZC5tZW1jcHkoaS5idWZmZXIsMCx0aGlzLmJ1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KmkuQllURVNfUEVSX0VMRU1FTlQpLGQuYXJyYXlUb05hdGl2ZShpLGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9aS5ieXRlTGVuZ3RoLGl9LGQucHJvdG90eXBlLnJlYWRJbnQzMj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kYXRhVmlldy5nZXRJbnQzMih0aGlzLnBvc2l0aW9uLHQ/P3RoaXMuZW5kaWFubmVzcyk7cmV0dXJuIHRoaXMucG9zaXRpb24rPTQsZX0sZC5wcm90b3R5cGUucmVhZEludDE2PWZ1bmN0aW9uKHQpe3ZhciBlPXR
1oaXMuX2RhdGFWaWV3LmdldEludDE2KHRoaXMucG9zaXRpb24sdD8/dGhpcy5lbmRpYW5uZXNzKTtyZXR1cm4gdGhpcy5wb3NpdGlvbis9MixlfSxkLnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2RhdGFWaWV3LmdldEludDgodGhpcy5wb3NpdGlvbik7cmV0dXJuIHRoaXMucG9zaXRpb24rPTEsdH0sZC5wcm90b3R5cGUucmVhZFVpbnQzMj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kYXRhVmlldy5nZXRVaW50MzIodGhpcy5wb3NpdGlvbix0Pz90aGlzLmVuZGlhbm5lc3MpO3JldHVybiB0aGlzLnBvc2l0aW9uKz00LGV9LGQucHJvdG90eXBlLnJlYWRVaW50MTY9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZGF0YVZpZXcuZ2V0VWludDE2KHRoaXMucG9zaXRpb24sdD8/dGhpcy5lbmRpYW5uZXNzKTtyZXR1cm4gdGhpcy5wb3NpdGlvbis9MixlfSxkLnByb3RvdHlwZS5yZWFkVWludDg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9kYXRhVmlldy5nZXRVaW50OCh0aGlzLnBvc2l0aW9uKTtyZXR1cm4gdGhpcy5wb3NpdGlvbis9MSx0fSxkLnByb3RvdHlwZS5yZWFkRmxvYXQzMj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kYXRhVmlldy5nZXRGbG9hdDMyKHRoaXMucG9zaXRpb24sdD8/dGhpcy5lbmRpYW5uZXNzKTtyZXR1cm4gdGhpcy5wb3NpdGlvbis9NCxlfSxkLnByb3RvdHlwZS5yZWFkRmxvYXQ2ND1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kYXRhVmlldy5nZXRGbG9hdDY0KHRoaXMucG9zaXRpb24sdD8/dGhpcy5lbmRpYW5uZXNzKTtyZXR1cm4gdGhpcy5wb3NpdGlvbis9OCxlfSxkLmVuZGlhbm5lc3M9bmV3IEludDhBcnJheShuZXcgSW50MTZBcnJheShbMV0pLmJ1ZmZlcilbMF0+MCxkLm1lbWNweT1mdW5jdGlvbih0LGUsaSxyLG4pe3ZhciBhPW5ldyBVaW50OEFycmF5KHQsZSxuKSxvPW5ldyBVaW50OEFycmF5KGkscixuKTthLnNldChvKX0sZC5hcnJheVRvTmF0aXZlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9PXRoaXMuZW5kaWFubmVzcz90OnRoaXMuZmxpcEFycmF5RW5kaWFubmVzcyh0KX0sZC5uYXRpdmVUb0VuZGlhbj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVuZGlhbm5lc3M9PWU/dDp0aGlzLmZsaXBBcnJheUVuZGlhbm5lc3ModCl9LGQuZmxpcEFycmF5RW5kaWFubmVzcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCksaT0wO2k8dC5ieXRlTGVuZ3RoO2krPXQuQllURVNfUEVSX0VMRU1FTlQpZm9yKHZhciByPWkrdC5CWVRFU19QRVJfRUxFTUVOVC0xLG49aTtyPm47ci0tLG4rKyl7dmFyIGE9ZVtuXTtlW25dPWVbcl0sZVtyXT1hfXJldHVybiB0fSxkLnByb3RvdHlwZS5mYWlsdXJlUG9zaXRpb249MCxTdHJpbmcuZnJvbUNoYXJDb2RlVWludDg9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLGk9MDtpPHQubGVuZ3RoO2krKyllW2ldPXRbaV07cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX0sZC5wcm90b3R5cGUucmVhZFN0cmluZz1mdW5jdGlvbih0LGUpe3JldHVybiBlPT1udWxsfHxlPT0iQVNDSUkiP1N0cmluZy5mcm9tQ2hhckNvZGVVaW50OC5hcHBseShudWxsLFt0aGlzLm1hcFVpbnQ4QXJyYXkodD8/dGhpcy5ieXRlTGVuZ3RoLXRoaXMucG9zaXRpb24pXSk6bmV3IFRleHREZWNvZGVyKGUpLmRlY29kZSh0aGlzLm1hcFVpbnQ4QXJyYXkodCkpfSxkLnByb3RvdHlwZS5yZWFkQ1N0cmluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmJ5dGVMZW5ndGgtdGhpcy5wb3NpdGlvbixpPW5ldyBVaW50OEFycmF5KHRoaXMuX2J1ZmZlcix0aGlzLl9ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24pLHI9ZTt0IT1udWxsJiYocj1NYXRoLm1pbih0LGUpKTtmb3IodmFyIG49MDtuPHImJmlbbl0hPT0wO24rKyk7dmFyIGE9U3RyaW5nLmZyb21DaGFyQ29kZVVpbnQ4LmFwcGx5KG51bGwsW3RoaXMubWFwVWludDhBcnJheShuKV0pO3JldHVybiB0IT1udWxsP3RoaXMucG9zaXRpb24rPXItbjpuIT1lJiYodGhpcy5wb3NpdGlvbis9MSksYX07dmFyIFN0PU1hdGgucG93KDIsMzIpO2QucHJvdG90eXBlLnJlYWRJbnQ2ND1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRJbnQzMigpKlN0K3RoaXMucmVhZFVpbnQzMigpfSxkLnByb3RvdHlwZS5yZWFkVWludDY0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZFVpbnQzMigpKlN0K3RoaXMucmVhZFVpbnQzMigpfSxkLnByb3RvdHlwZS5yZWFkSW50NjQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZWFkVWludDMyKCkqU3QrdGhpcy5yZWFkVWludDMyKCl9LGQucHJvdG90eXBlLnJlYWRVaW50MjQ9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWFkVWludDgoKTw8MTYpKyh0aGlzLnJlYWRVaW50OCgpPDw4KSt0aGlzLnJlYWRVaW50OCgpfSx0eXBlb2YgZXhwb3J0czwidSImJihleHBvcnRzLkRhdGFTdHJlYW09ZCksZC5wcm90b3R5cGUuc2F2ZT1mdW5jdGlvbih0KXt2YXIgZT1uZXcgQmxvYihbdGhpcy5idWZmZXJdKTtpZih3aW5kb3cuVVJMJiZVUkwuY3JlYXRlT2JqZWN0VVJMKXt2YXIgaT13aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChlKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHIpLHIuc2V0QXR0cmlidXRlKCJocmVmIixpKSxyLnNldEF0dHJpYnV0ZSgiZG93bmxvYWQiLHQpLHIuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLCJfc2VsZiIpLHIuY2xpY2soKSx3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChpKX1lbHNlIHRocm93IkRhdGFTdHJlYW0uc2F2ZTogQ2FuJ3QgY3JlYXRlIG9iamVjdCBVUkwuIn0sZC5wcm90b3R5cGUuX2R5bmFtaWNTaXplPSEwLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkLnByb3RvdHlwZSwiZHluYW1pY1NpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHluYW1pY1NpemV9LHNldDpmdW5jdGlvbih0KXt0fHx0aGlzLl90cmltQWxsb2MoKSx0aGlzLl9keW5hbWljU2l6ZT10fX0pLGQucHJvdG90eXBlLnNoaWZ0PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBBcnJheUJ1ZmZlcih0aGlzLl9ieXRlTGVuZ3RoLXQpLGk9bmV3IFVpbnQ4QXJyYXkoZSkscj1uZXcgVWludDhBcnJheSh0aGlzLl9idWZmZXIsdCxpLmxlbmd0aCk7aS5zZXQociksdGhpcy5idWZmZXI9ZSx0aGlzLnBvc2l0aW9uLT10fSxkLnByb3RvdHlwZS53cml0ZUludDMyQXJyYXk9ZnVuY3Rpb24odCxlKXtpZih0aGlzLl9yZWFsbG9jKHQubGVuZ3RoKjQpLHQgaW5zdGFuY2VvZiBJbnQzMkFycmF
15JiZ0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbiV0LkJZVEVTX1BFUl9FTEVNRU5UPT09MClkLm1lbWNweSh0aGlzLl9idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdC5idWZmZXIsMCx0LmJ5dGVMZW5ndGgpLHRoaXMubWFwSW50MzJBcnJheSh0Lmxlbmd0aCxlKTtlbHNlIGZvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXRoaXMud3JpdGVJbnQzMih0W2ldLGUpfSxkLnByb3RvdHlwZS53cml0ZUludDE2QXJyYXk9ZnVuY3Rpb24odCxlKXtpZih0aGlzLl9yZWFsbG9jKHQubGVuZ3RoKjIpLHQgaW5zdGFuY2VvZiBJbnQxNkFycmF5JiZ0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbiV0LkJZVEVTX1BFUl9FTEVNRU5UPT09MClkLm1lbWNweSh0aGlzLl9idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdC5idWZmZXIsMCx0LmJ5dGVMZW5ndGgpLHRoaXMubWFwSW50MTZBcnJheSh0Lmxlbmd0aCxlKTtlbHNlIGZvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXRoaXMud3JpdGVJbnQxNih0W2ldLGUpfSxkLnByb3RvdHlwZS53cml0ZUludDhBcnJheT1mdW5jdGlvbih0KXtpZih0aGlzLl9yZWFsbG9jKHQubGVuZ3RoKjEpLHQgaW5zdGFuY2VvZiBJbnQ4QXJyYXkmJnRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uJXQuQllURVNfUEVSX0VMRU1FTlQ9PT0wKWQubWVtY3B5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0LmJ1ZmZlciwwLHQuYnl0ZUxlbmd0aCksdGhpcy5tYXBJbnQ4QXJyYXkodC5sZW5ndGgpO2Vsc2UgZm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy53cml0ZUludDgodFtlXSl9LGQucHJvdG90eXBlLndyaXRlVWludDMyQXJyYXk9ZnVuY3Rpb24odCxlKXtpZih0aGlzLl9yZWFsbG9jKHQubGVuZ3RoKjQpLHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheSYmdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24ldC5CWVRFU19QRVJfRUxFTUVOVD09PTApZC5tZW1jcHkodGhpcy5fYnVmZmVyLHRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uLHQuYnVmZmVyLDAsdC5ieXRlTGVuZ3RoKSx0aGlzLm1hcFVpbnQzMkFycmF5KHQubGVuZ3RoLGUpO2Vsc2UgZm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspdGhpcy53cml0ZVVpbnQzMih0W2ldLGUpfSxkLnByb3RvdHlwZS53cml0ZVVpbnQxNkFycmF
15PWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5fcmVhbGxvYyh0Lmxlbmd0aCoyKSx0IGluc3RhbmNlb2YgVWludDE2QXJyYXkmJnRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uJXQuQllURVNfUEVSX0VMRU1FTlQ9PT0wKWQubWVtY3B5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0LmJ1ZmZlciwwLHQuYnl0ZUxlbmd0aCksdGhpcy5tYXBVaW50MTZBcnJheSh0Lmxlbmd0aCxlKTtlbHNlIGZvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXRoaXMud3JpdGVVaW50MTYodFtpXSxlKX0sZC5wcm90b3R5cGUud3JpdGVVaW50OEFycmF5PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX3JlYWxsb2ModC5sZW5ndGgqMSksdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkmJnRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uJXQuQllURVNfUEVSX0VMRU1FTlQ9PT0wKWQubWVtY3B5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0LmJ1ZmZlciwwLHQuYnl0ZUxlbmd0aCksdGhpcy5tYXBVaW50OEFycmF5KHQubGVuZ3RoKTtlbHNlIGZvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRoaXMud3JpdGVVaW50OCh0W2VdKX0sZC5wcm90b3R5cGUud3JpdGVGbG9hdDY0QXJyYXk9ZnVuY3Rpb24odCxlKXtpZih0aGlzLl9yZWFsbG9jKHQubGVuZ3RoKjgpLHQgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkmJnRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uJXQuQllURVNfUEVSX0VMRU1FTlQ9PT0wKWQubWVtY3B5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0LmJ1ZmZlciwwLHQuYnl0ZUxlbmd0aCksdGhpcy5tYXBGbG9hdDY0QXJyYXkodC5sZW5ndGgsZSk7ZWxzZSBmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl0aGlzLndyaXRlRmxvYXQ2NCh0W2ldLGUpfSxkLnByb3RvdHlwZS53cml0ZUZsb2F0MzJBcnJheT1mdW5jdGlvbih0LGUpe2lmKHRoaXMuX3JlYWxsb2ModC5sZW5ndGgqNCksdCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSYmdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24ldC5CWVRFU19QRVJfRUxFTUVOVD09PTApZC5tZW1jcHkodGhpcy5fYnVmZmVyLHRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uLHQuYnVmZmVyLDAsdC5ieXRlTGVuZ3RoKSx0aGlzLm1hcEZsb2F0MzJBcnJheSh0Lmxlbmd0aCxlKTtlbHNlIGZvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXRoaXMud3JpdGVGbG9hdDMyKHRbaV0sZSl9LGQucHJvdG90eXBlLndyaXRlSW50MzI9ZnVuY3Rpb24odCxlKXt0aGlzLl9yZWFsbG9jKDQpLHRoaXMuX2RhdGFWaWV3LnNldEludDMyKHRoaXMucG9zaXRpb24sdCxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPTR9LGQucHJvdG90eXBlLndyaXRlSW50MTY9ZnVuY3Rpb24odCxlKXt0aGlzLl9yZWFsbG9jKDIpLHRoaXMuX2RhdGFWaWV3LnNldEludDE2KHRoaXMucG9zaXRpb24sdCxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPTJ9LGQucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbih0KXt0aGlzLl9yZWFsbG9jKDEpLHRoaXMuX2RhdGFWaWV3LnNldEludDgodGhpcy5wb3NpdGlvbix0KSx0aGlzLnBvc2l0aW9uKz0xfSxkLnByb3RvdHlwZS53cml0ZVVpbnQzMj1mdW5jdGlvbih0LGUpe3RoaXMuX3JlYWxsb2MoNCksdGhpcy5fZGF0YVZpZXcuc2V0VWludDMyKHRoaXMucG9zaXRpb24sdCxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPTR9LGQucHJvdG90eXBlLndyaXRlVWludDE2PWZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVhbGxvYygyKSx0aGlzLl9kYXRhVmlldy5zZXRVaW50MTYodGhpcy5wb3NpdGlvbix0LGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9Mn0sZC5wcm90b3R5cGUud3JpdGVVaW50OD1mdW5jdGlvbih0KXt0aGlzLl9yZWFsbG9jKDEpLHRoaXMuX2RhdGFWaWV3LnNldFVpbnQ4KHRoaXMucG9zaXRpb24sdCksdGhpcy5wb3NpdGlvbis9MX0sZC5wcm90b3R5cGUud3JpdGVGbG9hdDMyPWZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVhbGxvYyg0KSx0aGlzLl9kYXRhVmlldy5zZXRGbG9hdDMyKHRoaXMucG9zaXRpb24sdCxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPTR9LGQucHJvdG90eXBlLndyaXRlRmxvYXQ2ND1mdW5jdGlvbih0LGUpe3RoaXMuX3JlYWxsb2MoOCksdGhpcy5fZGF0YVZpZXcuc2V0RmxvYXQ2NCh0aGlzLnBvc2l0aW9uLHQsZT8/dGhpcy5lbmRpYW5uZXNzKSx0aGlzLnBvc2l0aW9uKz04fSxkLnByb3RvdHlwZS53cml0ZVVDUzJTdHJpbmc9ZnVuY3Rpb24odCxlLGkpe2k9PW51bGwmJihpPXQubGVuZ3RoKTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoJiZyPGk7cisrKXRoaXMud3JpdGVVaW50MTYodC5jaGFyQ29kZUF0KHIpLGUpO2Zvcig7cjxpO3IrKyl0aGlzLndyaXRlVWludDE2KDApfSxkLnByb3RvdHlwZS53cml0ZVN0cmluZz1mdW5jdGlvbih0LGUsaSl7dmFyIHI9MDtpZihlPT1udWxsfHxlPT0iQVNDSUkiKWlmKGkhPW51bGwpe3ZhciBuPU1hdGgubWluKHQubGVuZ3RoLGkpO2ZvcihyPTA7cjxuO3IrKyl0aGlzLndyaXRlVWludDgodC5jaGFyQ29kZUF0KHIpKTtmb3IoO3I8aTtyKyspdGhpcy53cml0ZVVpbnQ4KDApfWVsc2UgZm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl0aGlzLndyaXRlVWludDgodC5jaGFyQ29kZUF0KHIpKTtlbHNlIHRoaXMud3JpdGVVaW50OEFycmF5KG5ldyBUZXh0RW5jb2RlcihlKS5lbmNvZGUodC5zdWJzdHJpbmcoMCxpKSkpfSxkLnByb3RvdHlwZS53cml0ZUNTdHJpbmc9ZnVuY3Rpb24odCxlKXt2YXIgaT0wO2lmKGUhPW51bGwpe3ZhciByPU1hdGgubWluKHQubGVuZ3RoLGUpO2ZvcihpPTA7aTxyO2krKyl0aGlzLndyaXRlVWludDgodC5jaGFyQ29kZUF0KGkpKTtmb3IoO2k8ZTtpKyspdGhpcy53cml0ZVVpbnQ4KDApfWVsc2V7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl0aGlzLndyaXRlVWludDgodC5jaGFyQ29kZUF0KGkpKTt0aGlzLndyaXRlVWludDgoMCl9fSxkLnByb3RvdHlwZS53cml0ZVN0cnVjdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSs9Mil7dmFyIHI9dFtpKzFdO3RoaXMud3JpdGVUeXBlKHIsZVt0W2ldXSxlKX19LGQucHJvdG90eXBlLndyaXRlVHlwZT1mdW5jdGlvbih0LGUsaSl7dmFyIHI7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpcmV0dXJuIHQodGhpcyxlKTtpZih0eXBlb2YgdD09Im9iamVjdCImJiEodCBpbnN0YW5jZW9mIEFycmF5KSlyZXR1cm4gdC5zZXQodGhpcyxlLGkpO3ZhciBuPW51bGwsYT0iQVNDSUkiLG89dGhpcy5wb3NpdGlvbjtzd2l0Y2godHlwZW9mIHQ9PSJzdHJpbmciJiYvOi8udGVzdCh0KSYmKH
1I9dC5zcGxpdCgiOiIpLHQ9clswXSxuPXBhcnNlSW50KHJbMV0pKSx0eXBlb2YgdD09InN0cmluZyImJi8sLy50ZXN0KHQpJiYocj10LnNwbGl0KCIsIiksdD1yWzBdLGE9cGFyc2VJbnQoclsxXSkpLHQpe2Nhc2UidWludDgiOnRoaXMud3JpdGVVaW50OChlKTticmVhaztjYXNlImludDgiOnRoaXMud3JpdGVJbnQ4KGUpO2JyZWFrO2Nhc2UidWludDE2Ijp0aGlzLndyaXRlVWludDE2KGUsdGhpcy5lbmRpYW5uZXNzKTticmVhaztjYXNlImludDE2Ijp0aGlzLndyaXRlSW50MTYoZSx0aGlzLmVuZGlhbm5lc3MpO2JyZWFrO2Nhc2UidWludDMyIjp0aGlzLndyaXRlVWludDMyKGUsdGhpcy5lbmRpYW5uZXNzKTticmVhaztjYXNlImludDMyIjp0aGlzLndyaXRlSW50MzIoZSx0aGlzLmVuZGlhbm5lc3MpO2JyZWFrO2Nhc2UiZmxvYXQzMiI6dGhpcy53cml0ZUZsb2F0MzIoZSx0aGlzLmVuZGlhbm5lc3MpO2JyZWFrO2Nhc2UiZmxvYXQ2NCI6dGhpcy53cml0ZUZsb2F0NjQoZSx0aGlzLmVuZGlhbm5lc3MpO2JyZWFrO2Nhc2UidWludDE2YmUiOnRoaXMud3JpdGVVaW50MTYoZSxkLkJJR19FTkRJQU4pO2JyZWFrO2Nhc2UiaW50MTZiZSI6dGhpcy53cml0ZUludDE2KGUsZC5CSUdfRU5ESUFOKTticmVhaztjYXNlInVpbnQzMmJlIjp0aGlzLndyaXRlVWludDMyKGUsZC5CSUdfRU5ESUFOKTticmVhaztjYXNlImludDMyYmUiOnRoaXMud3JpdGVJbnQzMihlLGQuQklHX0VORElBTik7YnJlYWs7Y2FzZSJmbG9hdDMyYmUiOnRoaXMud3JpdGVGbG9hdDMyKGUsZC5CSUdfRU5ESUFOKTticmVhaztjYXNlImZsb2F0NjRiZSI6dGhpcy53cml0ZUZsb2F0NjQoZSxkLkJJR19FTkRJQU4pO2JyZWFrO2Nhc2UidWludDE2bGUiOnRoaXMud3JpdGVVaW50MTYoZSxkLkxJVFRMRV9FTkRJQU4pO2JyZWFrO2Nhc2UiaW50MTZsZSI6dGhpcy53cml0ZUludDE2KGUsZC5MSVRUTEVfRU5ESUFOKTticmVhaztjYXNlInVpbnQzMmxlIjp0aGlzLndyaXRlVWludDMyKGUsZC5MSVRUTEVfRU5ESUFOKTticmVhaztjYXNlImludDMybGUiOnRoaXMud3JpdGVJbnQzMihlLGQuTElUVExFX0VORElBTik7YnJlYWs7Y2FzZSJmbG9hdDMybGUiOnRoaXMud3JpdGVGbG9hdDMyKGUsZC5MSVRUTEVfRU5ESUFOKTticmVhaztjYXNlImZsb2F0NjRsZSI6dGhpcy53cml0ZUZsb2F0NjQoZSxkLkxJVFRMRV9FTkRJQU4pO2JyZWFrO2Nhc2UiY3N0cmluZyI6dGhpcy53cml0ZUNTdHJpbmcoZSxuKTticmVhaztjYXNlInN0cmluZyI6dGhpcy53cml0ZVN0cmluZyhlLGEsbik7YnJlYWs7Y2FzZSJ1MTZzdHJpbmciOnRoaXMud3JpdGVVQ1MyU3RyaW5nKGUsdGhpcy5lbmRpYW5uZXNzLG4pO2JyZWFrO2Nhc2UidTE2c3RyaW5nbGUiOnRoaXMud3JpdGVVQ1MyU3RyaW5nKGUsZC5MSVRUTEVfRU5ESUFOLG4pO2JyZWFrO2Nhc2UidTE2c3RyaW5nYmUiOnRoaXMud3JpdGVVQ1MyU3RyaW5nKGUsZC5CSUdfRU5ESUFOLG4pO2JyZWFrO2RlZmF1bHQ6aWYodC5sZW5ndGg9PTMpe2Zvcih2YXIgZj10WzFdLGg9MDtoPGUubGVuZ3RoO2grKyl0aGlzLndyaXRlVHlwZShmLGVbaF0pO2JyZWFrfWVsc2V7dGhpcy53cml0ZVN0cnVjdCh0LGUpO2JyZWFrfX1uIT1udWxsJiYodGhpcy5wb3NpdGlvbj1vLHRoaXMuX3JlYWxsb2MobiksdGhpcy5wb3NpdGlvbj1vK24pfSxkLnByb3RvdHlwZS53cml0ZVVpbnQ2ND1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLmZsb29yKHQvU3QpO3RoaXMud3JpdGVVaW50MzIoZSksdGhpcy53cml0ZVVpbnQzMih0JjQyOTQ5NjcyOTUpfSxkLnByb3RvdHlwZS53cml0ZVVpbnQyND1mdW5jdGlvbih0KXt0aGlzLndyaXRlVWludDgoKHQmMTY3MTE2ODApPj4xNiksdGhpcy53cml0ZVVpbnQ4KCh0JjY1MjgwKT4+OCksdGhpcy53cml0ZVVpbnQ4KHQmMjU1KX0sZC5wcm90b3R5cGUuYWRqdXN0VWludDMyPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5wb3NpdGlvbjt0aGlzLnNlZWsodCksdGhpcy53cml0ZVVpbnQzMihlKSx0aGlzLnNlZWsoaSl9LGQucHJvdG90eXBlLm1hcEludDMyQXJyYXk9ZnVuY3Rpb24odCxlKXt0aGlzLl9yZWFsbG9jKHQqNCk7dmFyIGk9bmV3IEludDMyQXJyYXkodGhpcy5fYnVmZmVyLHRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uLHQpO3JldHVybiBkLmFycmF5VG9OYXRpdmUoaSxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPXQqNCxpfSxkLnByb3RvdHlwZS5tYXBJbnQxNkFycmF5PWZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVhbGxvYyh0KjIpO3ZhciBpPW5ldyBJbnQxNkFycmF5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KTtyZXR1cm4gZC5hcnJheVRvTmF0aXZlKGksZT8/dGhpcy5lbmRpYW5uZXNzKSx0aGlzLnBvc2l0aW9uKz10KjIsaX0sZC5wcm90b3R5cGUubWFwSW50OEFycmF5PWZ1bmN0aW9uKHQpe3RoaXMuX3JlYWxsb2ModCoxKTt2YXIgZT1uZXcgSW50OEFycmF5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KTtyZXR1cm4gdGhpcy5wb3NpdGlvbis9dCoxLGV9LGQucHJvdG90eXBlLm1hcFVpbnQzMkFycmF5PWZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVhbGxvYyh0KjQpO3ZhciBpPW5ldyBVaW50MzJBcnJheSh0aGlzLl9idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdCk7cmV0dXJuIGQuYXJyYXlUb05hdGl2ZShpLGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9dCo0LGl9LGQucHJvdG90eXBlLm1hcFVpbnQxNkFycmF
15PWZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVhbGxvYyh0KjIpO3ZhciBpPW5ldyBVaW50MTZBcnJheSh0aGlzLl9idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3RoaXMucG9zaXRpb24sdCk7cmV0dXJuIGQuYXJyYXlUb05hdGl2ZShpLGU/P3RoaXMuZW5kaWFubmVzcyksdGhpcy5wb3NpdGlvbis9dCoyLGl9LGQucHJvdG90eXBlLm1hcEZsb2F0NjRBcnJheT1mdW5jdGlvbih0LGUpe3RoaXMuX3JlYWxsb2ModCo4KTt2YXIgaT1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuX2J1ZmZlcix0aGlzLmJ5dGVPZmZzZXQrdGhpcy5wb3NpdGlvbix0KTtyZXR1cm4gZC5hcnJheVRvTmF0aXZlKGksZT8/dGhpcy5lbmRpYW5uZXNzKSx0aGlzLnBvc2l0aW9uKz10KjgsaX0sZC5wcm90b3R5cGUubWFwRmxvYXQzMkFycmF5PWZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVhbGxvYyh0KjQpO3ZhciBpPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5fYnVmZmVyLHRoaXMuYnl0ZU9mZnNldCt0aGlzLnBvc2l0aW9uLHQpO3JldHVybiBkLmFycmF5VG9OYXRpdmUoaSxlPz90aGlzLmVuZGlhbm5lc3MpLHRoaXMucG9zaXRpb24rPXQqNCxpfTt2YXIgSD1mdW5jdGlvbih0KXt0aGlzLmJ1ZmZlcnM9W10sdGhpcy5idWZmZXJJbmRleD0tMSx0JiYodGhpcy5pbnNlcnRCdWZmZXIodCksdGhpcy5idWZmZXJJbmRleD0wKX07SC5wcm90b3R5cGU9bmV3IGQobmV3IEFycmF5QnVmZmVyLDAsZC5CSUdfRU5ESUFOKSxILnByb3RvdHlwZS5pbml0aWFsaXplZD1mdW5jdGlvbigpe3ZhciB0O3JldHVybiB0aGlzLmJ1ZmZlckluZGV4Pi0xPyEwOnRoaXMuYnVmZmVycy5sZW5ndGg+MD8odD10aGlzLmJ1ZmZlcnNbMF0sdC5maWxlU3RhcnQ9PT0wPyh0aGlzLmJ1ZmZlcj10LHRoaXMuYnVmZmVySW5kZXg9MCx5LmRlYnVnKCJNdWx0aUJ1ZmZlclN0cmVhbSIsIlN0cmVhbSByZWFkeSBmb3IgcGFyc2luZyIpLCEwKTooeS53YXJuKCJNdWx0aUJ1ZmZlclN0cmVhbSIsIlRoZSBmaXJzdCBidWZmZXIgc2hvdWxkIGhhdmUgYSBmaWxlU3RhcnQgb2YgMCIpLHRoaXMubG9nQnVmZmVyTGV2ZWwoKSwhMSkpOih5Lndhcm4oIk11bHRpQnVmZmVyU3RyZWFtIiwiTm8gYnVmZmVyIHRvIHN0YXJ0IHBhcnNpbmcgZnJvbSIpLHRoaXMubG9nQnVmZmVyTGV2ZWwoKSwhMSl9LEFycmF5QnVmZmVyLmNvbmNhdD1mdW5jdGlvbih0LGUpe3kuZGVidWcoIkFycmF5QnVmZmVyIiwiVHJ5aW5nIHRvIGNyZWF0ZSBhIG5ldyBidWZmZXIgb2Ygc2l6ZTogIisodC5ieXRlTGVuZ3RoK2UuYnl0ZUxlbmd0aCkpO3ZhciBpPW5ldyBVaW50OEFycmF5KHQuYnl0ZUxlbmd0aCtlLmJ5dGVMZW5ndGgpO3JldHVybiBpLnNldChuZXcgVWludDhBcnJheSh0KSwwKSxpLnNldChuZXcgVWludDhBcnJheShlKSx0LmJ5dGVMZW5ndGgpLGkuYnVmZmVyfSxILnByb3RvdHlwZS5yZWR1Y2VCdWZmZXI9ZnVuY3Rpb24odCxlLGkpe3ZhciByO3JldHVybiByPW5ldyBVaW50OEFycmF5KGkpLHIuc2V0KG5ldyBVaW50OEFycmF5KHQsZSxpKSksci5idWZmZXIuZmlsZVN0YXJ0PXQuZmlsZVN0YXJ0K2Usci5idWZmZXIudXNlZEJ5dGVzPTAsci5idWZmZXJ9LEgucHJvdG90eXBlLmluc2VydEJ1ZmZlcj1mdW5jdGlvbih0KXtmb3IodmFyIGU9ITAsaT0wO2k8dGhpcy5idWZmZXJzLmxlbmd0aDtpKyspe3ZhciByPXRoaXMuYnVmZmVyc1tpXTtpZih0LmZpbGVTdGFydDw9ci5maWxlU3RhcnQpe2lmKHQuZmlsZVN0YXJ0PT09ci5maWxlU3RhcnQpaWYodC5ieXRlTGVuZ3RoPnIuYnl0ZUxlbmd0aCl7dGhpcy5idWZmZXJzLnNwbGljZShpLDEpLGktLTtjb250aW51ZX1lbHNlIHkud2FybigiTXVsdGlCdWZmZXJTdHJlYW0iLCJCdWZmZXIgKGZpbGVTdGFydDogIit0LmZpbGVTdGFydCsiIC0gTGVuZ3RoOiAiK3QuYnl0ZUxlbmd0aCsiKSBhbHJlYWR5IGFwcGVuZGVkLCBpZ25vcmluZyIpO2Vsc2UgdC5maWxlU3RhcnQrdC5ieXRlTGVuZ3RoPD1yLmZpbGVTdGFydHx8KHQ9dGhpcy5yZWR1Y2VCdWZmZXIodCwwLHIuZmlsZVN0YXJ0LXQuZmlsZVN0YXJ0KSkseS5kZWJ1ZygiTXVsdGlCdWZmZXJTdHJlYW0iLCJBcHBlbmRpbmcgbmV3IGJ1ZmZlciAoZmlsZVN0YXJ0OiAiK3QuZmlsZVN0YXJ0KyIgLSBMZW5ndGg6ICIrdC5ieXRlTGVuZ3RoKyIpIiksdGhpcy5idWZmZXJzLnNwbGljZShpLDAsdCksaT09PTAmJih0aGlzLmJ1ZmZlcj10KTtlPSExO2JyZWFrfWVsc2UgaWYodC5maWxlU3RhcnQ8ci5maWxlU3RhcnQrci5ieXRlTGVuZ3RoKXt2YXIgbj1yLmZpbGVTdGFydCtyLmJ5dGVMZW5ndGgtdC5maWxlU3RhcnQsYT10LmJ5dGVMZW5ndGgtbjtpZihhPjApdD10aGlzLnJlZHVjZUJ1ZmZlcih0LG4sYSk7ZWxzZXtlPSExO2JyZWFrfX19ZSYmKHkuZGVidWcoIk11bHRpQnVmZmVyU3RyZWFtIiwiQXBwZW5kaW5nIG5ldyBidWZmZXIgKGZpbGVTdGFydDogIit0LmZpbGVTdGFydCsiIC0gTGVuZ3RoOiAiK3QuYnl0ZUxlbmd0aCsiKSIpLHRoaXMuYnVmZmVycy5wdXNoKHQpLGk9PT0wJiYodGhpcy5idWZmZXI9dCkpfSxILnByb3RvdHlwZS5sb2dCdWZmZXJMZXZlbD1mdW5jdGlvbih0KXt2YXIgZSxpLHIsbixhPVtdLG8sZj0iIjtmb3Iocj0wLG49MCxlPTA7ZTx0aGlzLmJ1ZmZlcnMubGVuZ3RoO2UrKylpPXRoaXMuYnVmZmVyc1tlXSxlPT09MD8obz17fSxhLnB1c2gobyksby5zdGFydD1pLmZpbGVTdGFydCxvLmVuZD1pLmZpbGVTdGFydCtpLmJ5dGVMZW5ndGgsZis9IlsiK28uc3RhcnQrIi0iKTpvLmVuZD09PWkuZmlsZVN0YXJ0P28uZW5kPWkuZmlsZVN0YXJ0K2kuYnl0ZUxlbmd0aDoobz17fSxvLnN0YXJ0PWkuZmlsZVN0YXJ0LGYrPWFbYS5sZW5ndGgtMV0uZW5kLTErIl0sIFsiK28uc3RhcnQrIi0iLG8uZW5kPWkuZmlsZVN0YXJ0K2kuYnl0ZUxlbmd0aCxhLnB1c2gobykpLHIrPWkudXNlZEJ5dGVzLG4rPWkuYnl0ZUxlbmd0aDthLmxlbmd0aD4wJiYoZis9by5lbmQtMSsiXSIpO3ZhciBoPXQ/eS5pbmZvOnkuZGVidWc7dGhpcy5idWZmZXJzLmxlbmd0aD09PTA/aCgiTXVsdGlCdWZmZXJTdHJlYW0iLCJObyBtb3JlIGJ1ZmZlciBpbiBtZW1vcnkiKTpoKCJNdWx0aUJ1ZmZlclN0cmVhbSIsIiIrdGhpcy5idWZmZXJzLmxlbmd0aCsiIHN0b3JlZCBidWZmZXIocykgKCIrcisiLyIrbisiIGJ5dGVzKSwgY29udGludW91cyByYW5nZXM6ICIrZil9LEgucHJvdG90eXBlLmNsZWFuQnVmZmVycz1mdW5jdGlvbigpe3ZhciB0LGU7Zm9yKHQ9MDt0PHRoaXMuYnVmZmVycy5sZW5ndGg7dCsrKWU9dGhpcy5idWZmZXJzW3RdLGUudXNlZEJ5dGVzPT09ZS5ieXRlTGVuZ3RoJiYoeS5kZWJ1ZygiTXVsdGlCdWZmZXJTdHJlYW0iLCJSZW1vdmluZyBidWZmZXIgIyIrdCksdGhpcy5idWZmZXJzLnNwbGljZSh0LDEpLHQtLSl9LEgucHJvdG90eXBlLm1lcmdlTmV4dEJ1ZmZlcj1mdW5jdGlvbigpe3ZhciB0O2lmKHRoaXMuYnVmZmVySW5kZXgrMTx0aGlzLmJ1ZmZlcnMubGVuZ3RoKWlmKHQ9dGhpcy5idWZmZXJzW3RoaXMuYnVmZmVySW5kZXgrMV0sdC5maWxlU3RhcnQ9PT10aGlzLmJ1ZmZlci5maWxlU3RhcnQrdGhpcy5idWZmZXIuYnl0ZUxlbmd0aCl7dmFyIGU9dGhpcy5idWZmZXIuYnl0ZUxlbmd0aCxpPXRoaXMuYnVmZmVyLnVzZWRCeXRlcyxyPXRoaXMuYnVmZmVyLmZpbGVTdGFydDtyZXR1cm4gdGhpcy5idWZmZXJzW3RoaXMuYnVmZmVySW5kZXhdPUFycmF5QnVmZmVyLmNvbmNhdCh0aGlzLmJ1ZmZlcix0KSx0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlcnNbdGh
1pcy5idWZmZXJJbmRleF0sdGhpcy5idWZmZXJzLnNwbGljZSh0aGlzLmJ1ZmZlckluZGV4KzEsMSksdGhpcy5idWZmZXIudXNlZEJ5dGVzPWksdGhpcy5idWZmZXIuZmlsZVN0YXJ0PXIseS5kZWJ1ZygiSVNPRmlsZSIsIkNvbmNhdGVuYXRpbmcgYnVmZmVyIGZvciBib3ggcGFyc2luZyAobGVuZ3RoOiAiK2UrIi0+Iit0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoKyIpIiksITB9ZWxzZSByZXR1cm4hMTtlbHNlIHJldHVybiExfSxILnByb3RvdHlwZS5maW5kUG9zaXRpb249ZnVuY3Rpb24odCxlLGkpe3ZhciByLG49bnVsbCxhPS0xO2Zvcih0PT09ITA/cj0wOnI9dGhpcy5idWZmZXJJbmRleDtyPHRoaXMuYnVmZmVycy5sZW5ndGgmJihuPXRoaXMuYnVmZmVyc1tyXSxuLmZpbGVTdGFydDw9ZSk7KXthPXIsaSYmKG4uZmlsZVN0YXJ0K24uYnl0ZUxlbmd0aDw9ZT9uLnVzZWRCeXRlcz1uLmJ5dGVMZW5ndGg6bi51c2VkQnl0ZXM9ZS1uLmZpbGVTdGFydCx0aGlzLmxvZ0J1ZmZlckxldmVsKCkpO3IrK31yZXR1cm4gYSE9PS0xPyhuPXRoaXMuYnVmZmVyc1thXSxuLmZpbGVTdGFydCtuLmJ5dGVMZW5ndGg+PWU/KHkuZGVidWcoIk11bHRpQnVmZmVyU3RyZWFtIiwiRm91bmQgcG9zaXRpb24gaW4gZXhpc3RpbmcgYnVmZmVyICMiK2EpLGEpOi0xKTotMX0sSC5wcm90b3R5cGUuZmluZEVuZENvbnRpZ3VvdXNCdWY9ZnVuY3Rpb24odCl7dmFyIGUsaSxyLG49dCE9PXZvaWQgMD90OnRoaXMuYnVmZmVySW5kZXg7aWYoaT10aGlzLmJ1ZmZlcnNbbl0sdGhpcy5idWZmZXJzLmxlbmd0aD5uKzEpZm9yKGU9bisxO2U8dGhpcy5idWZmZXJzLmxlbmd0aCYmKHI9dGhpcy5idWZmZXJzW2VdLHIuZmlsZVN0YXJ0PT09aS5maWxlU3RhcnQraS5ieXRlTGVuZ3RoKTtlKyspaT1yO3JldHVybiBpLmZpbGVTdGFydCtpLmJ5dGVMZW5ndGh9LEgucHJvdG90eXBlLmdldEVuZEZpbGVQb3NpdGlvbkFmdGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZmluZFBvc2l0aW9uKCEwLHQsITEpO3JldHVybiBlIT09LTE/dGhpcy5maW5kRW5kQ29udGlndW91c0J1ZihlKTp0fSxILnByb3RvdHlwZS5hZGRVc2VkQnl0ZXM9ZnVuY3Rpb24odCl7dGhpcy5idWZmZXIudXNlZEJ5dGVzKz10LHRoaXMubG9nQnVmZmVyTGV2ZWwoKX0sSC5wcm90b3R5cGUuc2V0QWxsVXNlZEJ5dGVzPWZ1bmN0aW9uKCl7dGhpcy5idWZmZXIudXNlZEJ5dGVzPXRoaXMuYnVmZmVyLmJ5dGVMZW5ndGgsdGhpcy5sb2dCdWZmZXJMZXZlbCgpfSxILnByb3RvdHlwZS5zZWVrPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcjtyZXR1cm4gcj10aGlzLmZpbmRQb3NpdGlvbihlLHQsaSksciE9PS0xPyh0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlcnNbcl0sdGhpcy5idWZmZXJJbmRleD1yLHRoaXMucG9zaXRpb249dC10aGlzLmJ1ZmZlci5maWxlU3RhcnQseS5kZWJ1ZygiTXVsdGlCdWZmZXJTdHJlYW0iLCJSZXBvc2l0aW9uaW5nIHBhcnNlciBhdCBidWZmZXIgcG9zaXRpb246ICIrdGhpcy5wb3NpdGlvbiksITApOih5LmRlYnVnKCJNdWx0aUJ1ZmZlclN0cmVhbSIsIlBvc2l0aW9uICIrdCsiIG5vdCBmb3VuZCBpbiBidWZmZXJlZCBkYXRhIiksITEpfSxILnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuYnVmZmVySW5kZXg9PT0tMXx8dGhpcy5idWZmZXJzW3RoaXMuYnVmZmVySW5kZXhdPT09bnVsbCl0aHJvdyJFcnJvciBhY2Nlc3NpbmcgcG9zaXRpb24gaW4gdGhlIE11bHRpQnVmZmVyU3RyZWFtIjtyZXR1cm4gdGhpcy5idWZmZXJzW3RoaXMuYnVmZmVySW5kZXhdLmZpbGVTdGFydCt0aGlzLnBvc2l0aW9ufSxILnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ieXRlTGVuZ3RofSxILnByb3RvdHlwZS5nZXRFbmRQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuYnVmZmVySW5kZXg9PT0tMXx8dGhpcy5idWZmZXJzW3RoaXMuYnVmZmVySW5kZXhdPT09bnVsbCl0aHJvdyJFcnJvciBhY2Nlc3NpbmcgcG9zaXRpb24gaW4gdGhlIE11bHRpQnVmZmVyU3RyZWFtIjtyZXR1cm4gdGhpcy5idWZmZXJzW3RoaXMuYnVmZmVySW5kZXhdLmZpbGVTdGFydCt0aGlzLmJ5dGVMZW5ndGh9LHR5cGVvZiBleHBvcnRzPCJ1IiYmKGV4cG9ydHMuTXVsdGlCdWZmZXJTdHJlYW09SCk7dmFyIEJpPWZ1bmN0aW9uKCl7dmFyIHQ9MyxlPTQsaT01LHI9NixuPVtdO25bdF09IkVTX0Rlc2NyaXB0b3IiLG5bZV09IkRlY29kZXJDb25maWdEZXNjcmlwdG9yIixuW2ldPSJEZWNvZGVyU3BlY2lmaWNJbmZvIixuW3JdPSJTTENvbmZpZ0Rlc2NyaXB0b3IiLHRoaXMuZ2V0RGVzY3JpcHRvck5hbWU9ZnVuY3Rpb24oZil7cmV0dXJuIG5bZl19O3ZhciBhPXRoaXMsbz17fTtyZXR1cm4gdGhpcy5wYXJzZU9uZURlc2NyaXB0b3I9ZnVuY3Rpb24oZil7dmFyIGg9MCxsLHUsXztmb3IobD1mLnJlYWRVaW50OCgpLF89Zi5yZWFkVWludDgoKTtfJjEyODspaD0oXyYxMjcpPDw3LF89Zi5yZWFkVWludDgoKTtyZXR1cm4gaCs9XyYxMjcseS5kZWJ1ZygiTVBFRzREZXNjcmlwdG9yUGFyc2VyIiwiRm91bmQgIisobltsXXx8IkRlc2NyaXB0b3IgIitsKSsiLCBzaXplICIraCsiIGF0IHBvc2l0aW9uICIrZi5nZXRQb3NpdGlvbigpKSxuW2xdP3U9bmV3IG9bbltsXV0oaCk6dT1uZXcgby5EZXNjcmlwdG9yKGgpLHUucGFyc2UoZiksdX0sby5EZXNjcmlwdG9yPWZ1bmN0aW9uKGYsaCl7dGhpcy50YWc9Zix0aGlzLnNpemU9aCx0aGlzLmRlc2NzPVtdfSxvLkRlc2NyaXB0b3IucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGYpe3RoaXMuZGF0YT1mLnJlYWRVaW50OEFycmF5KHRoaXMuc2l6ZSl9LG8uRGVzY3JpcHRvci
15wcm90b3R5cGUuZmluZERlc2NyaXB0b3I9ZnVuY3Rpb24oZil7Zm9yKHZhciBoPTA7aDx0aGlzLmRlc2NzLmxlbmd0aDtoKyspaWYodGhpcy5kZXNjc1toXS50YWc9PWYpcmV0dXJuIHRoaXMuZGVzY3NbaF07cmV0dXJuIG51bGx9LG8uRGVzY3JpcHRvci5wcm90b3R5cGUucGFyc2VSZW1haW5pbmdEZXNjcmlwdG9ycz1mdW5jdGlvbihmKXtmb3IodmFyIGg9Zi5wb3NpdGlvbjtmLnBvc2l0aW9uPGgrdGhpcy5zaXplOyl7dmFyIGw9YS5wYXJzZU9uZURlc2NyaXB0b3IoZik7dGhpcy5kZXNjcy5wdXNoKGwpfX0sby5FU19EZXNjcmlwdG9yPWZ1bmN0aW9uKGYpe28uRGVzY3JpcHRvci5jYWxsKHRoaXMsdCxmKX0sby5FU19EZXNjcmlwdG9yLnByb3RvdHlwZT1uZXcgby5EZXNjcmlwdG9yLG8uRVNfRGVzY3JpcHRvci5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oZil7aWYodGhpcy5FU19JRD1mLnJlYWRVaW50MTYoKSx0aGlzLmZsYWdzPWYucmVhZFVpbnQ4KCksdGhpcy5zaXplLT0zLHRoaXMuZmxhZ3MmMTI4Pyh0aGlzLmRlcGVuZHNPbl9FU19JRD1mLnJlYWRVaW50MTYoKSx0aGlzLnNpemUtPTIpOnRoaXMuZGVwZW5kc09uX0VTX0lEPTAsdGhpcy5mbGFncyY2NCl7dmFyIGg9Zi5yZWFkVWludDgoKTt0aGlzLlVSTD1mLnJlYWRTdHJpbmcoaCksdGhpcy5zaXplLT1oKzF9ZWxzZSB0aGlzLlVSTD0iIjt0aGlzLmZsYWdzJjMyPyh0aGlzLk9DUl9FU19JRD1mLnJlYWRVaW50MTYoKSx0aGlzLnNpemUtPTIpOnRoaXMuT0NSX0VTX0lEPTAsdGhpcy5wYXJzZVJlbWFpbmluZ0Rlc2NyaXB0b3JzKGYpfSxvLkVTX0Rlc2NyaXB0b3IucHJvdG90eXBlLmdldE9UST1mdW5jdGlvbihmKXt2YXIgaD10aGlzLmZpbmREZXNjcmlwdG9yKGUpO3JldHVybiBoP2gub3RpOjB9LG8uRVNfRGVzY3JpcHRvci
15wcm90b3R5cGUuZ2V0QXVkaW9Db25maWc9ZnVuY3Rpb24oZil7dmFyIGg9dGhpcy5maW5kRGVzY3JpcHRvcihlKTtpZighaClyZXR1cm4gbnVsbDt2YXIgbD1oLmZpbmREZXNjcmlwdG9yKGkpO2lmKGwmJmwuZGF0YSl7dmFyIHU9KGwuZGF0YVswXSYyNDgpPj4zO3JldHVybiB1PT09MzEmJmwuZGF0YS5sZW5ndGg+PTImJih1PTMyKygobC5kYXRhWzBdJjcpPDwzKSsoKGwuZGF0YVsxXSYyMjQpPj41KSksdX1lbHNlIHJldHVybiBudWxsfSxvLkRlY29kZXJDb25maWdEZXNjcmlwdG9yPWZ1bmN0aW9uKGYpe28uRGVzY3JpcHRvci5jYWxsKHRoaXMsZSxmKX0sby5EZWNvZGVyQ29uZmlnRGVzY3JpcHRvci5wcm90b3R5cGU9bmV3IG8uRGVzY3JpcHRvcixvLkRlY29kZXJDb25maWdEZXNjcmlwdG9yLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihmKXt0aGlzLm90aT1mLnJlYWRVaW50OCgpLHRoaXMuc3RyZWFtVHlwZT1mLnJlYWRVaW50OCgpLHRoaXMuYnVmZmVyU2l6ZT1mLnJlYWRVaW50MjQoKSx0aGlzLm1heEJpdHJhdGU9Zi5yZWFkVWludDMyKCksdGhpcy5hdmdCaXRyYXRlPWYucmVhZFVpbnQzMigpLHRoaXMuc2l6ZS09MTMsdGhpcy5wYXJzZVJlbWFpbmluZ0Rlc2NyaXB0b3JzKGYpfSxvLkRlY29kZXJTcGVjaWZpY0luZm89ZnVuY3Rpb24oZil7by5EZXNjcmlwdG9yLmNhbGwodGhpcyxpLGYpfSxvLkRlY29kZXJTcGVjaWZpY0luZm8ucHJvdG90eXBlPW5ldyBvLkRlc2NyaXB0b3Isby5TTENvbmZpZ0Rlc2NyaXB0b3I9ZnVuY3Rpb24oZil7by5EZXNjcmlwdG9yLmNhbGwodGhpcyxyLGYpfSxvLlNMQ29uZmlnRGVzY3JpcHRvci
15wcm90b3R5cGU9bmV3IG8uRGVzY3JpcHRvcix0aGlzfTt0eXBlb2YgZXhwb3J0czwidSImJihleHBvcnRzLk1QRUc0RGVzY3JpcHRvclBhcnNlcj1CaSk7dmFyIHM9e0VSUl9JTlZBTElEX0RBVEE6LTEsRVJSX05PVF9FTk9VR0hfREFUQTowLE9LOjEsQkFTSUNfQk9YRVM6WyJtZGF0IiwiaWRhdCIsImZyZWUiLCJza2lwIiwibWVjbyIsInN0cmsiXSxGVUxMX0JPWEVTOlsiaG1oZCIsIm5taGQiLCJpb2RzIiwieG1sICIsImJ4bWwiLCJpcHJvIiwibWVyZSJdLENPTlRBSU5FUl9CT1hFUzpbWyJtb292IixbInRyYWsiLCJwc3NoIl1dLFsidHJhayJdLFsiZWR0cyJdLFsibWRpYSJdLFsibWluZiJdLFsiZGluZiJdLFsic3RibCIsWyJzZ3BkIiwic2JncCJdXSxbIm12ZXgiLFsidHJleCJdXSxbIm1vb2YiLFsidHJhZiJdXSxbInRyYWYiLFsidHJ1biIsInNncGQiLCJzYmdwIl1dLFsidnR0YyJdLFsidHJlZiJdLFsiaXJlZiJdLFsibWZyYSIsWyJ0ZnJhIl1dLFsibWVjbyJdLFsiaG50aSJdLFsiaGluZiJdLFsic3RyayJdLFsic3RyZCJdLFsic2luZiJdLFsicmluZiJdLFsic2NoaSJdLFsidHJnciJdLFsidWR0YSIsWyJraW5kIl1dLFsiaXBycCIsWyJpcG1hIl1dLFsiaXBjbyJdXSxib3hDb2RlczpbXSxmdWxsQm94Q29kZXM6W10sY29udGFpbmVyQm94Q29kZXM6W10sc2FtcGxlRW50cnlDb2Rlczp7fSxzYW1wbGVHcm91cEVudHJ5Q29kZXM6W10sdHJhY2tHcm91cFR5cGVzOltdLFVVSURCb3hlczp7fSxVVUlEczpbXSxpbml0aWFsaXplOmZ1bmN0aW9uKCl7cy5GdWxsQm94LnByb3RvdHlwZT1uZXcgcy5Cb3gscy5Db250YWluZXJCb3gucHJvdG90eXBlPW5ldyBzLkJveCxzLlNhbXBsZUVudHJ5LnByb3RvdHlwZT1uZXcgcy5Cb3gscy5UcmFja0dyb3VwVHlwZUJveC5wcm90b3R5cGU9bmV3IHMuRnVsbEJveCxzLkJBU0lDX0JPWEVTLmZvckVhY2goZnVuY3Rpb24odCl7cy5jcmVhdGVCb3hDdG9yKHQpfSkscy5GVUxMX0JPWEVTLmZvckVhY2goZnVuY3Rpb24odCl7cy5jcmVhdGVGdWxsQm94Q3Rvcih0KX0pLHMuQ09OVEFJTkVSX0JPWEVTLmZvckVhY2goZnVuY3Rpb24odCl7cy5jcmVhdGVDb250YWluZXJCb3hDdG9yKHRbMF0sbnVsbCx0WzFdKX0pfSxCb3g6ZnVuY3Rpb24odCxlLGkpe3RoaXMudHlwZT10LHRoaXMuc2l6ZT1lLHRoaXMudXVpZD1pfSxGdWxsQm94OmZ1bmN0aW9uKHQsZSxpKXtzLkJveC5jYWxsKHRoaXMsdCxlLGkpLHRoaXMuZmxhZ3M9MCx0aGlzLnZlcnNpb249MH0sQ29udGFpbmVyQm94OmZ1bmN0aW9uKHQsZSxpKXtzLkJveC5jYWxsKHRoaXMsdCxlLGkpLHRoaXMuYm94ZXM9W119LFNhbXBsZUVudHJ5OmZ1bmN0aW9uKHQsZSxpLHIpe3MuQ29udGFpbmVyQm94LmNhbGwodGhpcyx0LGUpLHRoaXMuaGRyX3NpemU9aSx0aGlzLnN0YXJ0PXJ9LFNhbXBsZUdyb3VwRW50cnk6ZnVuY3Rpb24odCl7dGhpcy5ncm91cGluZ190eXBlPXR9LFRyYWNrR3JvdXBUeXBlQm94OmZ1bmN0aW9uKHQsZSl7cy5GdWxsQm94LmNhbGwodGhpcyx0LGUpfSxjcmVhdGVCb3hDdG9yOmZ1bmN0aW9uKHQsZSl7cy5ib3hDb2Rlcy5wdXNoKHQpLHNbdCsiQm94Il09ZnVuY3Rpb24oaSl7cy5Cb3guY2FsbCh0aGlzLHQsaSl9LHNbdCsiQm94Il0ucHJvdG90eXBlPW5ldyBzLkJveCxlJiYoc1t0KyJCb3giXS5wcm90b3R5cGUucGFyc2U9ZSl9LGNyZWF0ZUZ1bGxCb3hDdG9yOmZ1bmN0aW9uKHQsZSl7c1t0KyJCb3giXT1mdW5jdGlvbihpKXtzLkZ1bGxCb3guY2FsbCh0aGlzLHQsaSl9LHNbdCsiQm94Il0ucHJvdG90eXBlPW5ldyBzLkZ1bGxCb3gsc1t0KyJCb3giXS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oaSl7dGhpcy5wYXJzZUZ1bGxIZWFkZXIoaSksZSYmZS5jYWxsKHRoaXMsaSl9fSxhZGRTdWJCb3hBcnJheXM6ZnVuY3Rpb24odCl7aWYodCl7dGhpcy5zdWJCb3hOYW1lcz10O2Zvcih2YXIgZT10Lmxlbmd0aCxpPTA7aTxlO2krKyl0aGlzW3RbaV0rInMiXT1bXX19LGNyZWF0ZUNvbnRhaW5lckJveEN0b3I6ZnVuY3Rpb24odCxlLGkpe3NbdCsiQm94Il09ZnVuY3Rpb24ocil7cy5Db250YWluZXJCb3guY2FsbCh0aGlzLHQscikscy5hZGRTdWJCb3hBcnJheXMuY2FsbCh0aGlzLGkpfSxzW3QrIkJveCJdLnByb3RvdHlwZT1uZXcgcy5Db250YWluZXJCb3gsZSYmKHNbdCsiQm94Il0ucHJvdG90eXBlLnBhcnNlPWUpfSxjcmVhdGVNZWRpYVNhbXBsZUVudHJ5Q3RvcjpmdW5jdGlvbih0LGUsaSl7cy5zYW1wbGVFbnRyeUNvZGVzW3RdPVtdLHNbdCsiU2FtcGxlRW50cnkiXT1mdW5jdGlvbihyLG4pe3MuU2FtcGxlRW50cnkuY2FsbCh0aGlzLHIsbikscy5hZGRTdWJCb3hBcnJheXMuY2FsbCh0aGlzLGkpfSxzW3QrIlNhbXBsZUVudHJ5Il0ucHJvdG90eXBlPW5ldyBzLlNhbXBsZUVudHJ5LGUmJihzW3QrIlNhbXBsZUVudHJ5Il0ucHJvdG90eXBlLnBhcnNlPWUpfSxjcmVhdGVTYW1wbGVFbnRyeUN0b3I6ZnVuY3Rpb24odCxlLGkscil7cy5zYW1wbGVFbnRyeUNvZGVzW3RdLnB1c2goZSksc1tlKyJTYW1wbGVFbnRyeSJdPWZ1bmN0aW9uKG4pe3NbdCsiU2FtcGxlRW50cnkiXS5jYWxsKHRoaXMsZSxuKSxzLmFkZFN1YkJveEFycmF5cy5jYWxsKHRoaXMscil9LHNbZSsiU2FtcGxlRW50cnkiXS5wcm90b3R5cGU9bmV3IHNbdCsiU2FtcGxlRW50cnkiXSxpJiYoc1tlKyJTYW1wbGVFbnRyeSJdLnByb3RvdHlwZS5wYXJzZT1pKX0sY3JlYXRlRW5jcnlwdGVkU2FtcGxlRW50cnlDdG9yOmZ1bmN0aW9uKHQsZSxpKXtzLmNyZWF0ZVNhbXBsZUVudHJ5Q3Rvci5jYWxsKHRoaXMsdCxlLGksWyJzaW5mIl0pfSxjcmVhdGVTYW1wbGVHcm91cEN0b3I6ZnVuY3Rpb24odCxlKXtzW3QrIlNhbXBsZUdyb3VwRW50cnkiXT1mdW5jdGlvbihpKXtzLlNhbXBsZUdyb3VwRW50cnkuY2FsbCh0aGlzLHQsaSl9LHNbdCsiU2FtcGxlR3JvdXBFbnRyeSJdLnByb3RvdHlwZT1uZXcgcy5TYW1wbGVHcm91cEVudHJ5LGUmJihzW3QrIlNhbXBsZUdyb3VwRW50cnkiXS5wcm90b3R5cGUucGFyc2U9ZSl9LGNyZWF0ZVRyYWNrR3JvdXBDdG9yOmZ1bmN0aW9uKHQsZSl7c1t0KyJUcmFja0dyb3VwVHlwZUJveCJdPWZ1bmN0aW9uKGkpe3MuVHJhY2tHcm91cFR5cGVCb3guY2FsbCh0aGlzLHQsaSl9LHNbdCsiVHJhY2tHcm91cFR5cGVCb3giXS5wcm90b3R5cGU9bmV3IHMuVHJhY2tHcm91cFR5cGVCb3gsZSYmKHNbdCsiVHJhY2tHcm91cFR5cGVCb3giXS5wcm90b3R5cGUucGFyc2U9ZSl9LGNyZWF0ZVVVSURCb3g6ZnVuY3Rpb24odCxlLGkscil7cy5VVUlEcy5wdXNoKHQpLHMuVVVJREJveGVzW3RdPWZ1bmN0aW9uKG4pe2U/cy5GdWxsQm94LmNhbGwodGhpcywidXVpZCIsbix0KTppP3MuQ29udGFpbmVyQm94LmNhbGwodGhpcywidXVpZCIsbix0KTpzLkJveC5jYWxsKHRoaXMsInV1aWQiLG4sdCl9LHMuVVVJREJveGVzW3RdLnByb3RvdHlwZT1lP25ldyBzLkZ1bGxCb3g6aT9uZXcgcy
15Db250YWluZXJCb3g6bmV3IHMuQm94LHImJihlP3MuVVVJREJveGVzW3RdLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihuKXt0aGlzLnBhcnNlRnVsbEhlYWRlcihuKSxyJiZyLmNhbGwodGhpcyxuKX06cy5VVUlEQm94ZXNbdF0ucHJvdG90eXBlLnBhcnNlPXIpfX07cy5pbml0aWFsaXplKCkscy5US0hEX0ZMQUdfRU5BQkxFRD0xLHMuVEtIRF9GTEFHX0lOX01PVklFPTIscy5US0hEX0ZMQUdfSU5fUFJFVklFVz00LHMuVEZIRF9GTEFHX0JBU0VfREFUQV9PRkZTRVQ9MSxzLlRGSERfRkxBR19TQU1QTEVfREVTQz0yLHMuVEZIRF9GTEFHX1NBTVBMRV9EVVI9OCxzLlRGSERfRkxBR19TQU1QTEVfU0laRT0xNixzLlRGSERfRkxBR19TQU1QTEVfRkxBR1M9MzIscy5URkhEX0ZMQUdfRFVSX0VNUFRZPTY1NTM2LHMuVEZIRF9GTEFHX0RFRkFVTFRfQkFTRV9JU19NT09GPTEzMTA3MixzLlRSVU5fRkxBR1NfREFUQV9PRkZTRVQ9MSxzLlRSVU5fRkxBR1NfRklSU1RfRkxBRz00LHMuVFJVTl9GTEFHU19EVVJBVElPTj0yNTYscy5UUlVOX0ZMQUdTX1NJWkU9NTEyLHMuVFJVTl9GTEFHU19GTEFHUz0xMDI0LHMuVFJVTl9GTEFHU19DVFNfT0ZGU0VUPTIwNDgscy5Cb3gucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hZGRCb3gobmV3IHNbdCsiQm94Il0pfSxzLkJveC5wcm90b3R5cGUuYWRkQm94PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmJveGVzLnB1c2godCksdGhpc1t0LnR5cGUrInMiXT90aGlzW3QudHlwZSsicyJdLnB1c2godCk6dGhpc1t0LnR5cGVdPXQsdH0scy5Cb3gucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzW3RdPWUsdGhpc30scy5Cb3gucHJvdG90eXBlLmFkZEVudHJ5PWZ1bmN0aW9uKHQsZSl7dmFyIGk9ZXx8ImVudHJpZXMiO3JldHVybiB0aGlzW2ldfHwodGhpc1tpXT1bXSksdGhpc1tpXS5wdXNoKHQpLHRoaXN9LHR5cGVvZiBleHBvcnRzPCJ1IiYmKGV4cG9ydHMuQm94UGFyc2VyPXMpLHMucGFyc2VVVUlEPWZ1bmN0aW9uKHQpe3JldHVybiBzLnBhcnNlSGV4MTYodCl9LHMucGFyc2VIZXgxNj1mdW5jdGlvbih0KXtmb3IodmFyIGU9IiIsaT0wO2k8MTY7aSsrKXt2YXIgcj10LnJlYWRVaW50OCgpLnRvU3RyaW5nKDE2KTtlKz1yLmxlbmd0aD09PTE/IjAiK3I6cn1yZXR1cm4gZX0scy5wYXJzZU9uZUJveD1mdW5jdGlvbih0LGUsaSl7dmFyIHIsbj10LmdldFBvc2l0aW9uKCksYT0wLG8sZjtpZih0LmdldEVuZFBvc2l0aW9uKCktbjw4KXJldHVybiB5LmRlYnVnKCJCb3hQYXJzZXIiLCJOb3QgZW5vdWdoIGRhdGEgaW4gc3RyZWFtIHRvIHBhcnNlIHRoZSB0eXBlIGFuZCBzaXplIG9mIHRoZSBib3giKSx7Y29kZTpzLkVSUl9OT1RfRU5PVUdIX0RBVEF9O2lmKGkmJmk8OClyZXR1cm4geS5kZWJ1ZygiQm94UGFyc2VyIiwiTm90IGVub3VnaCBieXRlcyBsZWZ0IGluIHRoZSBwYXJlbnQgYm94IHRvIHBhcnNlIGEgbmV3IGJveCIpLHtjb2RlOnMuRVJSX05PVF9FTk9VR0hfREFUQX07dmFyIGg9dC5yZWFkVWludDMyKCksbD10LnJlYWRTdHJpbmcoNCksdT1sO2lmKHkuZGVidWcoIkJveFBhcnNlciIsIkZvdW5kIGJveCBvZiB0eXBlICciK2wrIicgYW5kIHNpemUgIitoKyIgYXQgcG9zaXRpb24gIituKSxhPTgsbD09InV1aWQiKXtpZih0LmdldEVuZFBvc2l0aW9uKCktdC5nZXRQb3NpdGlvbigpPDE2fHxpLWE8MTYpcmV0dXJuIHQuc2VlayhuKSx5LmRlYnVnKCJCb3hQYXJzZXIiLCJOb3QgZW5vdWdoIGJ5dGVzIGxlZnQgaW4gdGhlIHBhcmVudCBib3ggdG8gcGFyc2UgYSBVVUlEIGJveCIpLHtjb2RlOnMuRVJSX05PVF9FTk9VR0hfREFUQX07Zj1zLnBhcnNlVVVJRCh0KSxhKz0xNix1PWZ9aWYoaD09MSl7aWYodC5nZXRFbmRQb3NpdGlvbigpLXQuZ2V0UG9zaXRpb24oKTw4fHxpJiZpLWE8OClyZXR1cm4gdC5zZWVrKG4pLHkud2FybigiQm94UGFyc2VyIiwnTm90IGVub3VnaCBkYXRhIGluIHN0cmVhbSB0byBwYXJzZSB0aGUgZXh0ZW5kZWQgc2l6ZSBvZiB0aGUgIicrbCsnIiBib3gnKSx7Y29kZTpzLkVSUl9OT1RfRU5PVUdIX0RBVEF9O2g9dC5yZWFkVWludDY0KCksYSs9OH1lbHNlIGlmKGg9PT0wKXtpZihpKWg9aTtlbHNlIGlmKGwhPT0ibWRhdCIpcmV0dXJuIHkuZXJyb3IoIkJveFBhcnNlciIsIlVubGltaXRlZCBib3ggc2l6ZSBub3Qgc3VwcG9ydGVkIGZvciB0eXBlOiAnIitsKyInIikscj1uZXcgcy5Cb3gobCxoKSx7Y29kZTpzLk9LLGJveDpyLHNpemU6ci5zaXplfX1yZXR1cm4gaCE9PTAmJmg8YT8oeS5lcnJvcigiQm94UGFyc2VyIiwiQm94IG9mIHR5cGUgIitsKyIgaGFzIGFuIGludmFsaWQgc2l6ZSAiK2grIiAodG9vIHNtYWxsIHRvIGJlIGEgYm94KSIpLHtjb2RlOnMuRVJSX05PVF9FTk9VR0hfREFUQSx0eXBlOmwsc2l6ZTpoLGhkcl9zaXplOmEsc3RhcnQ6bn0pOmghPT0wJiZpJiZoPmk/KHkuZXJyb3IoIkJveFBhcnNlciIsIkJveCBvZiB0eXBlICciK2wrIicgaGFzIGEgc2l6ZSAiK2grIiBncmVhdGVyIHRoYW4gaXRzIGNvbnRhaW5lciBzaXplICIraSkse2NvZGU6cy5FUlJfTk9UX0VOT1VHSF9EQVRBLHR5cGU6bCxzaXplOmgsaGRyX3NpemU6YSxzdGFydDpufSk6aCE9PTAmJm4raD50LmdldEVuZFBvc2l0aW9uKCk/KHQuc2VlayhuKSx5LmluZm8oIkJveFBhcnNlciIsIk5vdCBlbm91Z2ggZGF0YSBpbiBzdHJlYW0gdG8gcGFyc2UgdGhlIGVudGlyZSAnIitsKyInIGJveCIpLHtjb2RlOnMuRVJSX05PVF9FTk9VR0hfREFUQSx0eXBlOmwsc2l6ZTpoLGhkcl9zaXplOmEsc3RhcnQ6bn0pOmU/e2NvZGU6cy5PSyx0eXBlOmwsc2l6ZTpoLGhkcl9zaXplOmEsc3RhcnQ6bn06KHNbbCsiQm94Il0/cj1uZXcgc1tsKyJCb3giXShoKTpsIT09InV1aWQiPyh5Lndhcm4oIkJveFBhcnNlciIsIlVua25vd24gYm94IHR5cGU6ICciK2wrIiciKSxyPW5ldyBzLkJveChsLGgpLHIuaGFzX3VucGFyc2VkX2RhdGE9ITApOnMuVVVJREJveGVzW2ZdP3I9bmV3IHMuVVVJREJveGVzW2ZdKGgpOih5Lndhcm4oIkJveFBhcnNlciIsIlVua25vd24gdXVpZCB0eXBlOiAnIitmKyInIikscj1uZXcgcy5Cb3gobCxoKSxyLnV1aWQ9ZixyLmhhc191bnBhcnNlZF9kYXRhPSEwKSxyLmhkcl9zaXplPWEsci5zdGFydD1uLHIud3JpdGU9PT1zLkJveC5wcm90b3R5cGUud3JpdGUmJnIudHlwZSE9PSJtZGF0IiYmKHkuaW5mbygiQm94UGFyc2VyIiwiJyIrdSsiJyBib3ggd3JpdGluZyBub3QgeWV0IGltcGxlbWVudGVkLCBrZWVwaW5nIHVucGFyc2VkIGRhdGEgaW4gbWVtb3J5IGZvciBsYXRlciB3cml0ZSIpLHIucGFyc2VEYXRhQW5kUmV3aW5kKHQpKSxyLnBhcnNlKHQpLG89dC5nZXRQb3NpdGlvbigpLShyLnN0YXJ0K3Iuc2l6ZSksbzwwPyh5Lndhcm4oIkJveFBhcnNlciIsIlB
1hcnNpbmcgb2YgYm94ICciK3UrIicgZGlkIG5vdCByZWFkIHRoZSBlbnRpcmUgaW5kaWNhdGVkIGJveCBkYXRhIHNpemUgKG1pc3NpbmcgIistbysiIGJ5dGVzKSwgc2Vla2luZyBmb3J3YXJkIiksdC5zZWVrKHIuc3RhcnQrci5zaXplKSk6bz4wJiYoeS5lcnJvcigiQm94UGFyc2VyIiwiUGFyc2luZyBvZiBib3ggJyIrdSsiJyByZWFkICIrbysiIG1vcmUgYnl0ZXMgdGhhbiB0aGUgaW5kaWNhdGVkIGJveCBkYXRhIHNpemUsIHNlZWtpbmcgYmFja3dhcmRzIiksci5zaXplIT09MCYmdC5zZWVrKHIuc3RhcnQrci5zaXplKSkse2NvZGU6cy5PSyxib3g6cixzaXplOnIuc2l6ZX0pfSxzLkJveC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCl7dGhpcy50eXBlIT0ibWRhdCI/dGhpcy5kYXRhPXQucmVhZFVpbnQ4QXJyYXkodGhpcy5zaXplLXRoaXMuaGRyX3NpemUpOnRoaXMuc2l6ZT09PTA/dC5zZWVrKHQuZ2V0RW5kUG9zaXRpb24oKSk6dC5zZWVrKHRoaXMuc3RhcnQrdGhpcy5zaXplKX0scy5Cb3gucHJvdG90eXBlLnBhcnNlRGF0YUFuZFJld2luZD1mdW5jdGlvbih0KXt0aGlzLmRhdGE9dC5yZWFkVWludDhBcnJheSh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSksdC5wb3NpdGlvbi09dGhpcy5zaXplLXRoaXMuaGRyX3NpemV9LHMuRnVsbEJveC5wcm90b3R5cGUucGFyc2VEYXRhQW5kUmV3aW5kPWZ1bmN0aW9uKHQpe3RoaXMucGFyc2VGdWxsSGVhZGVyKHQpLHRoaXMuZGF0YT10LnJlYWRVaW50OEFycmF5KHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplKSx0aGlzLmhkcl9zaXplLT00LHQucG9zaXRpb24tPXRoaXMuc2l6ZS10aGlzLmhkcl9zaXplfSxzLkZ1bGxCb3gucHJvdG90eXBlLnBhcnNlRnVsbEhlYWRlcj1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249dC5yZWFkVWludDgoKSx0aGlzLmZsYWdzPXQucmVhZFVpbnQyNCgpLHRoaXMuaGRyX3NpemUrPTR9LHMuRnVsbEJveC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCl7dGhpcy5wYXJzZUZ1bGxIZWFkZXIodCksdGhpcy5kYXRhPXQucmVhZFVpbnQ4QXJyYXkodGhpcy5zaXplLXRoaXMuaGRyX3NpemUpfSxzLkNvbnRhaW5lckJveC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGk7dC5nZXRQb3NpdGlvbigpPHRoaXMuc3RhcnQrdGhpcy5zaXplOylpZihlPXMucGFyc2VPbmVCb3godCwhMSx0aGlzLnNpemUtKHQuZ2V0UG9zaXRpb24oKS10aGlzLnN0YXJ0KSksZS5jb2RlPT09cy5PSylpZihpPWUuYm94LHRoaXMuYm94ZXMucHVzaChpKSx0aGlzLnN1YkJveE5hbWVzJiZ0aGlzLnN1YkJveE5hbWVzLmluZGV4T2YoaS50eXBlKSE9LTEpdGhpc1t0aGlzLnN1YkJveE5hbWVzW3RoaXMuc3ViQm94TmFtZXMuaW5kZXhPZihpLnR5cGUpXSsicyJdLnB1c2goaSk7ZWxzZXt2YXIgcj1pLnR5cGUhPT0idXVpZCI/aS50eXBlOmkudXVpZDt0aGlzW3JdP3kud2FybigiQm94IG9mIHR5cGUgIityKyIgYWxyZWFkeSBzdG9yZWQgaW4gZmllbGQgb2YgdGhpcyB0eXBlIik6dGhpc1tyXT1pfWVsc2UgcmV0dXJufSxzLkJveC5wcm90b3R5cGUucGFyc2VMYW5ndWFnZT1mdW5jdGlvbih0KXt0aGlzLmxhbmd1YWdlPXQucmVhZFVpbnQxNigpO3ZhciBlPVtdO2VbMF09dGhpcy5sYW5ndWFnZT4+MTAmMzEsZVsxXT10aGlzLmxhbmd1YWdlPj41JjMxLGVbMl09dGhpcy5sYW5ndWFnZSYzMSx0aGlzLmxhbmd1YWdlU3RyaW5nPVN0cmluZy5mcm9tQ2hhckNvZGUoZVswXSs5NixlWzFdKzk2LGVbMl0rOTYpfSxzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTD0iVmlzdWFsIixzLlNBTVBMRV9FTlRSWV9UWVBFX0FVRElPPSJBdWRpbyIscy5TQU1QTEVfRU5UUllfVFlQRV9ISU5UPSJIaW50IixzLlNBTVBMRV9FTlRSWV9UWVBFX01FVEFEQVRBPSJ
1NZXRhZGF0YSIscy5TQU1QTEVfRU5UUllfVFlQRV9TVUJUSVRMRT0iU3VidGl0bGUiLHMuU0FNUExFX0VOVFJZX1RZUEVfU1lTVEVNPSJTeXN0ZW0iLHMuU0FNUExFX0VOVFJZX1RZUEVfVEVYVD0iVGV4dCIscy5TYW1wbGVFbnRyeS5wcm90b3R5cGUucGFyc2VIZWFkZXI9ZnVuY3Rpb24odCl7dC5yZWFkVWludDhBcnJheSg2KSx0aGlzLmRhdGFfcmVmZXJlbmNlX2luZGV4PXQucmVhZFVpbnQxNigpLHRoaXMuaGRyX3NpemUrPTh9LHMuU2FtcGxlRW50cnkucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQpe3RoaXMucGFyc2VIZWFkZXIodCksdGhpcy5kYXRhPXQucmVhZFVpbnQ4QXJyYXkodGhpcy5zaXplLXRoaXMuaGRyX3NpemUpfSxzLlNhbXBsZUVudHJ5LnByb3RvdHlwZS5wYXJzZURhdGFBbmRSZXdpbmQ9ZnVuY3Rpb24odCl7dGhpcy5wYXJzZUhlYWRlcih0KSx0aGlzLmRhdGE9dC5yZWFkVWludDhBcnJheSh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSksdGhpcy5oZHJfc2l6ZS09OCx0LnBvc2l0aW9uLT10aGlzLnNpemUtdGhpcy5oZHJfc2l6ZX0scy5TYW1wbGVFbnRyeS5wcm90b3R5cGUucGFyc2VGb290ZXI9ZnVuY3Rpb24odCl7cy5Db250YWluZXJCb3gucHJvdG90eXBlLnBhcnNlLmNhbGwodGhpcyx0KX0scy5jcmVhdGVNZWRpYVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX0hJTlQpLHMuY3JlYXRlTWVkaWFTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9NRVRBREFUQSkscy5jcmVhdGVNZWRpYVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1NVQlRJVExFKSxzLmNyZWF0ZU1lZGlhU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfU1lTVEVNKSxzLmNyZWF0ZU1lZGlhU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfVEVYVCkscy5jcmVhdGVNZWRpYVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCxmdW5jdGlvbih0KXt2YXIgZTt0aGlzLnBhcnNlSGVhZGVyKHQpLHQucmVhZFVpbnQxNigpLHQucmVhZFVpbnQxNigpLHQucmVhZFVpbnQzMkFycmF5KDMpLHRoaXMud2lkdGg9dC5yZWFkVWludDE2KCksdGhpcy5oZWlnaHQ9dC5yZWFkVWludDE2KCksdGhpcy5ob3JpenJlc29sdXRpb249dC5yZWFkVWludDMyKCksdGhpcy52ZXJ0cmVzb2x1dGlvbj10LnJlYWRVaW50MzIoKSx0LnJlYWRVaW50MzIoKSx0aGlzLmZyYW1lX2NvdW50PXQucmVhZFVpbnQxNigpLGU9TWF0aC5taW4oMzEsdC5yZWFkVWludDgoKSksdGhpcy5jb21wcmVzc29ybmFtZT10LnJlYWRTdHJpbmcoZSksZTwzMSYmdC5yZWFkU3RyaW5nKDMxLWUpLHRoaXMuZGVwdGg9dC5yZWFkVWludDE2KCksdC5yZWFkVWludDE2KCksdGhpcy5wYXJzZUZvb3Rlcih0KX0pLHMuY3JlYXRlTWVkaWFTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9BVURJTyxmdW5jdGlvbih0KXt0aGlzLnBhcnNlSGVhZGVyKHQpLHQucmVhZFVpbnQzMkFycmF5KDIpLHRoaXMuY2hhbm5lbF9jb3VudD10LnJlYWRVaW50MTYoKSx0aGlzLnNhbXBsZXNpemU9dC5yZWFkVWludDE2KCksdC5yZWFkVWludDE2KCksdC5yZWFkVWludDE2KCksdGhpcy5zYW1wbGVyYXRlPXQucmVhZFVpbnQzMigpLzY1NTM2LHRoaXMucGFyc2VGb290ZXIodCl9KSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCwiYXZjMSIpLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfVklTVUFMLCJhdmMyIikscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9WSVNVQUwsImF2YzMiKSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCwiYXZjNCIpLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfVklTVUFMLCJhdjAxIikscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9WSVNVQUwsImh2YzEiKSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCwiaGV2MSIpLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfVklTVUFMLCJ2dmMxIikscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9WSVNVQUwsInZ2aTEiKSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCwidnZzMSIpLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfVklTVUFMLCJ2dmNOIikscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9WSVNVQUwsInZwMDgiKSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCwidnAwOSIpLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfQVVESU8sIm1wNGEiKSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX0FVRElPLCJhYy0zIikscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9BVURJTywiZWMtMyIpLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfQVVESU8sIk9wdXMiKSxzLmNyZWF0ZUVuY3J5cHRlZFNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1ZJU1VBTCwiZW5jdiIpLHMuY3JlYXRlRW5jcnlwdGVkU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfQVVESU8sImVuY2EiKSxzLmNyZWF0ZUVuY3J5cHRlZFNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1NVQlRJVExFLCJlbmN1Iikscy5jcmVhdGVFbmNyeXB0ZWRTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9TWVNURU0sImVuY3MiKSxzLmNyZWF0ZUVuY3J5cHRlZFNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1RFWFQsImVuY3QiKSxzLmNyZWF0ZUVuY3J5cHRlZFNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX01FVEFEQVRBLCJlbmNtIikscy5jcmVhdGVCb3hDdG9yKCJhMWx4IixmdW5jdGlvbih0KXt2YXIgZT10LnJlYWRVaW50OCgpJjEsaT0oKGUmMSkrMSkqMTY7dGhpcy5sYXllcl9zaXplPVtdO2Zvcih2YXIgcj0wO3I8MztyKyspaT09MTY/dGhpcy5sYXllcl9zaXplW3JdPXQucmVhZFVpbnQxNigpOnRoaXMubGF5ZXJfc2l6ZVtyXT10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlQm94Q3RvcigiYTFvcCIsZnVuY3Rpb24odCl7dGhpcy5vcF9pbmRleD10LnJlYWRVaW50OCgpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigiYXV4QyIsZnVuY3Rpb24odCl7dGhpcy5hdXhfdHlwZT10LnJlYWRDU3RyaW5nKCk7dmFyIGU9dGhpcy5zaXplLXRoaXMuaGRyX3NpemUtKHRoaXMuYXV4X3R5cGUubGVuZ3RoKzEpO3RoaXMuYXV4X3N1YnR5cGU9dC5yZWFkVWludDhBcnJheShlKX0pLHMuY3JlYXRlQm94Q3RvcigiYXYxQyIsZnVuY3Rpb24odCl7dmFyIGU9dC5yZWFkVWludDgoKTtpZihlPj43JiExKXt5LmVycm9yKCJhdjFDIG1hcmtlciBwcm9ibGVtIik7cmV0dXJufWlmKHRoaXMudmVyc2lvbj1lJjEyNyx0aGlzLnZlcnNpb24hPT0xKXt5LmVycm9yKCJhdjFDIHZlcnNpb24gIit0aGlzLnZlcnNpb24rIiBub3Qgc3VwcG9ydGVkIik7cmV0dXJufWlmKGU9dC5yZWFkVWludDgoKSx0aGlzLnNlcV9wcm9maWxlPWU+PjUmNyx0aGlzLnNlcV9sZXZlbF9pZHhfMD1lJjMxLGU9dC5yZWFkVWludDgoKSx0aGlzLnNlcV90aWVyXzA9ZT4+NyYxLHRoaXMuaGlnaF9iaXRkZXB0aD1lPj42JjEsdGhpcy50d2VsdmVfYml0PWU+PjUmMSx0aGlzLm1vbm9jaHJvbWU9ZT4+NCYxLHRoaXMuY2hyb21hX3N1YnNhbXBsaW5nX3g9ZT4+MyYxLHRoaXMuY2hyb21hX3N1YnNhbXBsaW5nX3k9ZT4+MiYxLHRoaXMuY2hyb21hX3NhbXBsZV9wb3NpdGlvbj1lJjMsZT10LnJlYWRVaW50OCgpLHRoaXMucmVzZXJ2ZWRfMT1lPj41JjcsdGhpcy5yZXNlcnZlZF8xIT09MCl7eS5lcnJvcigiYXYxQyByZXNlcnZlZF8xIHBhcnNpbmcgcHJvYmxlbSIpO3JldHVybn1pZih0aGlzLmluaXRpYWxfcHJlc2VudGF0aW9uX2RlbGF5X3ByZXNlbnQ9ZT4+NCYxLHRoaXMuaW5pdGlhbF9wcmVzZW50YXRpb25fZGVsYXlfcHJlc2VudD09PTEpdGhpcy5pbml0aWFsX3ByZXNlbnRhdGlvbl9kZWxheV9taW51c19vbmU9ZSYxNTtlbHNlIGlmKHRoaXMucmVzZXJ2ZWRfMj1lJjE1LHRoaXMucmVzZXJ2ZWRfMiE9PTApe3kuZXJyb3IoImF2MUMgcmVzZXJ2ZWRfMiBwYXJzaW5nIHByb2JsZW0iKTtyZXR1cm59dmFyIGk9dGhpcy5zaXplLXRoaXMuaGRyX3NpemUtNDt0aGlzLmNvbmZpZ09CVXM9dC5yZWFkVWludDhBcnJheShpKX0pLHMuY3JlYXRlQm94Q3RvcigiYXZjQyIsZnVuY3Rpb24odCl7dmFyIGUsaTtmb3IodGhpcy5jb25maWd1cmF0aW9uVmVyc2lvbj10LnJlYWRVaW50OCgpLHRoaXMuQVZDUHJvZmlsZUluZGljYXRpb249dC5yZWFkVWludDgoKSx0aGlzLnByb2ZpbGVfY29tcGF0aWJpbGl0eT10LnJlYWRVaW50OCgpLHRoaXMuQVZDTGV2ZWxJbmRpY2F0aW9uPXQucmVhZFVpbnQ4KCksdGhpcy5sZW5ndGhTaXplTWludXNPbmU9dC5yZWFkVWludDgoKSYzLHRoaXMubmJfU1BTX25hbHVzPXQucmVhZFVpbnQ4KCkmMzEsaT10aGlzLnNpemUtdGhpcy5oZHJfc2l6ZS02LHRoaXMuU1BTPVtdLGU9MDtlPHRoaXMubmJfU1BTX25hbHVzO2UrKyl0aGlzLlNQU1tlXT17fSx0aGlzLlNQU1tlXS5sZW5ndGg9dC5yZWFkVWludDE2KCksdGhpcy5TUFNbZV0ubmFsdT10LnJlYWRVaW50OEFycmF5KHRoaXMuU1BTW2VdLmxlbmd0aCksaS09Mit0aGlzLlNQU1tlXS5sZW5ndGg7Zm9yKHRoaXMubmJfUFBTX25hbHVzPXQucmVhZFVpbnQ4KCksaS0tLHRoaXMuUFBTPVtdLGU9MDtlPHRoaXMubmJfUFBTX25hbHVzO2UrKyl0aGlzLlBQU1tlXT17fSx0aGlzLlBQU1tlXS5sZW5ndGg9dC5yZWFkVWludDE2KCksdGhpcy5QUFNbZV0ubmFsdT10LnJlYWRVaW50OEFycmF5KHRoaXMuUFBTW2VdLmxlbmd0aCksaS09Mit0aGlzLlBQU1tlXS5sZW5ndGg7aT4wJiYodGhpcy5leHQ9dC5yZWFkVWludDhBcnJheShpKSl9KSxzLmNyZWF0ZUJveEN0b3IoImJ0cnQiLGZ1bmN0aW9uKHQpe3RoaXMuYnVmZmVyU2l6ZURCPXQucmVhZFVpbnQzMigpLHRoaXMubWF4Qml0cmF0ZT10LnJlYWRVaW50MzIoKSx0aGlzLmF2Z0JpdHJhdGU9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUJveEN0b3IoImNsYXAiLGZ1bmN0aW9uKHQpe3RoaXMuY2xlYW5BcGVydHVyZVdpZHR
1oTj10LnJlYWRVaW50MzIoKSx0aGlzLmNsZWFuQXBlcnR1cmVXaWR0aEQ9dC5yZWFkVWludDMyKCksdGhpcy5jbGVhbkFwZXJ0dXJlSGVpZ2h0Tj10LnJlYWRVaW50MzIoKSx0aGlzLmNsZWFuQXBlcnR1cmVIZWlnaHREPXQucmVhZFVpbnQzMigpLHRoaXMuaG9yaXpPZmZOPXQucmVhZFVpbnQzMigpLHRoaXMuaG9yaXpPZmZEPXQucmVhZFVpbnQzMigpLHRoaXMudmVydE9mZk49dC5yZWFkVWludDMyKCksdGhpcy52ZXJ0T2ZmRD10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlQm94Q3RvcigiY2xsaSIsZnVuY3Rpb24odCl7dGhpcy5tYXhfY29udGVudF9saWdodF9sZXZlbD10LnJlYWRVaW50MTYoKSx0aGlzLm1heF9waWNfYXZlcmFnZV9saWdodF9sZXZlbD10LnJlYWRVaW50MTYoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoImNvNjQiLGZ1bmN0aW9uKHQpe3ZhciBlLGk7aWYoZT10LnJlYWRVaW50MzIoKSx0aGlzLmNodW5rX29mZnNldHM9W10sdGhpcy52ZXJzaW9uPT09MClmb3IoaT0wO2k8ZTtpKyspdGhpcy5jaHVua19vZmZzZXRzLnB1c2godC5yZWFkVWludDY0KCkpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigiQ29MTCIsZnVuY3Rpb24odCl7dGhpcy5tYXhDTEw9dC5yZWFkVWludDE2KCksdGhpcy5tYXhGQUxMPXQucmVhZFVpbnQxNigpfSkscy5jcmVhdGVCb3hDdG9yKCJjb2xyIixmdW5jdGlvbih0KXtpZih0aGlzLmNvbG91cl90eXBlPXQucmVhZFN0cmluZyg0KSx0aGlzLmNvbG91cl90eXBlPT09Im5jbHgiKXt0aGlzLmNvbG91cl9wcmltYXJpZXM9dC5yZWFkVWludDE2KCksdGhpcy50cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3M9dC5yZWFkVWludDE2KCksdGhpcy5tYXRyaXhfY29lZmZpY2llbnRzPXQucmVhZFVpbnQxNigpO3ZhciBlPXQucmVhZFVpbnQ4KCk7dGhpcy5mdWxsX3JhbmdlX2ZsYWc9ZT4+N31lbHNlIHRoaXMuY29sb3VyX3R5cGU9PT0icklDQyI/dGhpcy5JQ0NfcHJvZmlsZT10LnJlYWRVaW50OEFycmF5KHRoaXMuc2l6ZS00KTp0aGlzLmNvbG91cl90eXBlPT09InByb2YiJiYodGhpcy5JQ0NfcHJvZmlsZT10LnJlYWRVaW50OEFycmF5KHRoaXMuc2l6ZS00KSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJjcHJ0IixmdW5jdGlvbih0KXt0aGlzLnBhcnNlTGFuZ3VhZ2UodCksdGhpcy5ub3RpY2U9dC5yZWFkQ1N0cmluZygpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigiY3NsZyIsZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPT09MCYmKHRoaXMuY29tcG9zaXRpb25Ub0RUU1NoaWZ0PXQucmVhZEludDMyKCksdGhpcy5sZWFzdERlY29kZVRvRGlzcGxheURlbHRhPXQucmVhZEludDMyKCksdGhpcy5ncmVhdGVzdERlY29kZVRvRGlzcGxheURlbHRhPXQucmVhZEludDMyKCksdGhpcy5jb21wb3NpdGlvblN0YXJ0VGltZT10LnJlYWRJbnQzMigpLHRoaXMuY29tcG9zaXRpb25FbmRUaW1lPXQucmVhZEludDMyKCkpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigiY3R0cyIsZnVuY3Rpb24odCl7dmFyIGUsaTtpZihlPXQucmVhZFVpbnQzMigpLHRoaXMuc2FtcGxlX2NvdW50cz1bXSx0aGlzLnNhbXBsZV9vZmZzZXRzPVtdLHRoaXMudmVyc2lvbj09PTApZm9yKGk9MDtpPGU7aSsrKXt0aGlzLnNhbXBsZV9jb3VudHMucHVzaCh0LnJlYWRVaW50MzIoKSk7dmFyIHI9dC5yZWFkSW50MzIoKTtyPDAmJnkud2FybigiQm94UGFyc2VyIiwiY3R0cyBib3ggdXNlcyBuZWdhdGl2ZSB2YWx1ZXMgd2l0aG91dCB1c2luZyB2ZXJzaW9uIDEiKSx0aGlzLnNhbXBsZV9vZmZzZXRzLnB1c2gocil9ZWxzZSBpZih0aGlzLnZlcnNpb249PTEpZm9yKGk9MDtpPGU7aSsrKXRoaXMuc2FtcGxlX2NvdW50cy5wdXNoKHQucmVhZFVpbnQzMigpKSx0aGlzLnNhbXBsZV9vZmZzZXRzLnB1c2godC5yZWFkSW50MzIoKSl9KSxzLmNyZWF0ZUJveEN0b3IoImRhYzMiLGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVhZFVpbnQ4KCksaT10LnJlYWRVaW50OCgpLHI9dC5yZWFkVWludDgoKTt0aGlzLmZzY29kPWU+PjYsdGhpcy5ic2lkPWU+PjEmMzEsdGhpcy5ic21vZD0oZSYxKTw8MnxpPj42JjMsdGhpcy5hY21vZD1pPj4zJjcsdGhpcy5sZmVvbj1pPj4yJjEsdGhpcy5iaXRfcmF0ZV9jb2RlPWkmM3xyPj41Jjd9KSxzLmNyZWF0ZUJveEN0b3IoImRlYzMiLGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVhZFVpbnQxNigpO3RoaXMuZGF0YV9yYXRlPWU+PjMsdGhpcy5udW1faW5kX3N1Yj1lJjcsdGhpcy5pbmRfc3Vicz1bXTtmb3IodmFyIGk9MDtpPHRoaXMubnVtX2luZF9zdWIrMTtpKyspe3ZhciByPXt9O3RoaXMuaW5kX3N1YnMucHVzaChyKTt2YXIgbj10LnJlYWRVaW50OCgpLGE9dC5yZWFkVWludDgoKSxvPXQucmVhZFVpbnQ4KCk7ci5mc2NvZD1uPj42LHIuYnNpZD1uPj4xJjMxLHIuYnNtb2Q9KG4mMSk8PDR8YT4+NCYxNSxyLmFjbW9kPWE+PjEmNyxyLmxmZW9uPWEmMSxyLm51bV9kZXBfc3ViPW8+PjEmMTUsci5udW1fZGVwX3N1Yj4wJiYoci5jaGFuX2xvYz0obyYxKTw8OHx0LnJlYWRVaW50OCgpKX19KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJkZkxhIixmdW5jdGlvbih0KXt2YXIgZT0xMjcsaT0xMjgscj1bXSxuPVsiU1RSRUFNSU5GTyIsIlBBRERJTkciLCJBUFBMSUNBVElPTiIsIlNFRUtUQUJMRSIsIlZPUkJJU19DT01NRU5UIiwiQ1VFU0hFRVQiLCJQSUNUVVJFIiwiUkVTRVJWRUQiXTt0aGlzLnBhcnNlRnVsbEhlYWRlcih0KTtkb3t2YXIgYT10LnJlYWRVaW50OCgpLG89TWF0aC5taW4oYSZlLG4ubGVuZ3RoLTEpO2lmKG8/dC5yZWFkVWludDhBcnJheSh0LnJlYWRVaW50MjQoKSk6KHQucmVhZFVpbnQ4QXJyYXkoMTMpLHRoaXMuc2FtcGxlcmF0ZT10LnJlYWRVaW50MzIoKT4+MTIsdC5yZWFkVWludDhBcnJheSgyMCkpLHIucHVzaChuW29dKSxhJmkpYnJlYWt9d2hpbGUoITApO3RoaXMubnVtTWV0YWRhdGFCbG9ja3M9ci5sZW5ndGgrIiAoIityLmpvaW4oIiwgIikrIikifSkscy5jcmVhdGVCb3hDdG9yKCJkaW1tIixmdW5jdGlvbih0KXt0aGlzLmJ5dGVzc2VudD10LnJlYWRVaW50NjQoKX0pLHMuY3JlYXRlQm94Q3RvcigiZG1heCIsZnVuY3Rpb24odCl7dGhpcy50aW1lPXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVCb3hDdG9yKCJkbWVkIixmdW5jdGlvbih0KXt0aGlzLmJ5dGVzc2VudD10LnJlYWRVaW50NjQoKX0pLHMuY3JlYXRlQm94Q3RvcigiZE9wcyIsZnVuY3Rpb24odCl7aWYodGhpcy5WZXJzaW9uPXQucmVhZFVpbnQ4KCksdGhpcy5PdXRwdXRDaGFubmVsQ291bnQ9dC5yZWFkVWludDgoKSx0aGlzLlByZVNraXA9dC5yZWFkVWludDE2KCksdGhpcy5JbnB1dFNhbXBsZVJhdGU9dC5yZWFkVWludDMyKCksdGhpcy5PdXRwdXRHYWluPXQucmVhZEludDE2KCksdGhpcy5DaGFubmVsTWFwcGluZ0ZhbWlseT10LnJlYWRVaW50OCgpLHRoaXMuQ2hhbm5lbE1hcHBpbmdGYW1pbHkhPT0wKXt0aGlzLlN0cmVhbUNvdW50PXQucmVhZFVpbnQ4KCksdGhpcy5Db3VwbGVkQ291bnQ9dC5yZWFkVWludDgoKSx0aGlzLkNoYW5uZWxNYXBwaW5nPVtdO2Zvcih2YXIgZT0wO2U8dGhpcy5PdXRwdXRDaGFubmVsQ291bnQ7ZSsrKXRoaXMuQ2hhbm5lbE1hcHBpbmdbZV09dC5yZWFkVWludDgoKX19KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJkcmVmIixmdW5jdGlvbih0KXt2YXIgZSxpO3RoaXMuZW50cmllcz1bXTtmb3IodmFyIHI9dC5yZWFkVWludDMyKCksbj0wO248cjtuKyspaWYoZT1zLnBhcnNlT25lQm94KHQsITEsdGhpcy5zaXplLSh0LmdldFBvc2l0aW9uKCktdGhpcy5zdGFydCkpLGUuY29kZT09PXMuT0spaT1lLmJveCx0aGlzLmVudHJpZXMucHVzaChpKTtlbHNlIHJldHVybn0pLHMuY3JlYXRlQm94Q3RvcigiZHJlcCIsZnVuY3Rpb24odCl7dGhpcy5ieXRlc3NlbnQ9dC5yZWFkVWludDY0KCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJlbG5nIixmdW5jdGlvbih0KXt0aGlzLmV4dGVuZGVkX2xhbmd1YWdlPXQucmVhZFN0cmluZyh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJlbHN0IixmdW5jdGlvbih0KXt0aGlzLmVudHJpZXM9W107Zm9yKHZhciBlPXQucmVhZFVpbnQzMigpLGk9MDtpPGU7aSsrKXt2YXIgcj17fTt0aGlzLmVudHJpZXMucHVzaChyKSx0aGlzLnZlcnNpb249PT0xPyhyLnNlZ21lbnRfZHVyYXRpb249dC5yZWFkVWludDY0KCksci5tZWRpYV90aW1lPXQucmVhZEludDY0KCkpOihyLnNlZ21lbnRfZHVyYXRpb249dC5yZWFkVWludDMyKCksci5tZWRpYV90aW1lPXQucmVhZEludDMyKCkpLHIubWVkaWFfcmF0ZV9pbnRlZ2VyPXQucmVhZEludDE2KCksci5tZWRpYV9yYXRlX2ZyYWN0aW9uPXQucmVhZEludDE2KCl9fSkscy5jcmVhdGVGdWxsQm94Q3RvcigiZW1zZyIsZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPT0xPyh0aGlzLnRpbWVzY2FsZT10LnJlYWRVaW50MzIoKSx0aGlzLnByZXNlbnRhdGlvbl90aW1lPXQucmVhZFVpbnQ2NCgpLHRoaXMuZXZlbnRfZHVyYXRpb249dC5yZWFkVWludDMyKCksdGhpcy5pZD10LnJlYWRVaW50MzIoKSx0aGlzLnNjaGVtZV9pZF91cmk9dC5yZWFkQ1N0cmluZygpLHRoaXMudmFsdWU9dC5yZWFkQ1N0cmluZygpKToodGhpcy5zY2hlbWVfaWRfdXJpPXQucmVhZENTdHJpbmcoKSx0aGlzLnZhbHVlPXQucmVhZENTdHJpbmcoKSx0aGlzLnRpbWVzY2FsZT10LnJlYWRVaW50MzIoKSx0aGlzLnByZXNlbnRhdGlvbl90aW1lX2RlbHRhPXQucmVhZFVpbnQzMigpLHRoaXMuZXZlbnRfZHVyYXRpb249dC5yZWFkVWludDMyKCksdGhpcy5pZD10LnJlYWRVaW50MzIoKSk7dmFyIGU9dGhpcy5zaXplLXRoaXMuaGRyX3NpemUtKDQqNCsodGhpcy5zY2hlbWVfaWRfdXJpLmxlbmd0aCsxKSsodGhpcy52YWx1ZS
15sZW5ndGgrMSkpO3RoaXMudmVyc2lvbj09MSYmKGUtPTQpLHRoaXMubWVzc2FnZV9kYXRhPXQucmVhZFVpbnQ4QXJyYXkoZSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJlc2RzIixmdW5jdGlvbih0KXt2YXIgZT10LnJlYWRVaW50OEFycmF5KHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplKTtpZih0eXBlb2YgQmk8InUiKXt2YXIgaT1uZXcgQmk7dGhpcy5lc2Q9aS5wYXJzZU9uZURlc2NyaXB0b3IobmV3IGQoZS5idWZmZXIsMCxkLkJJR19FTkRJQU4pKX19KSxzLmNyZWF0ZUJveEN0b3IoImZpZWwiLGZ1bmN0aW9uKHQpe3RoaXMuZmllbGRDb3VudD10LnJlYWRVaW50OCgpLHRoaXMuZmllbGRPcmRlcmluZz10LnJlYWRVaW50OCgpfSkscy5jcmVhdGVCb3hDdG9yKCJmcm1hIixmdW5jdGlvbih0KXt0aGlzLmRhdGFfZm9ybWF0PXQucmVhZFN0cmluZyg0KX0pLHMuY3JlYXRlQm94Q3RvcigiZnR5cCIsZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zaXplLXRoaXMuaGRyX3NpemU7dGhpcy5tYWpvcl9icmFuZD10LnJlYWRTdHJpbmcoNCksdGhpcy5taW5vcl92ZXJzaW9uPXQucmVhZFVpbnQzMigpLGUtPTgsdGhpcy5jb21wYXRpYmxlX2JyYW5kcz1bXTtmb3IodmFyIGk9MDtlPj00Oyl0aGlzLmNvbXBhdGlibGVfYnJhbmRzW2ldPXQucmVhZFN0cmluZyg0KSxlLT00LGkrK30pLHMuY3JlYXRlRnVsbEJveEN0b3IoImhkbHIiLGZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj09PTAmJih0LnJlYWRVaW50MzIoKSx0aGlzLmhhbmRsZXI9dC5yZWFkU3RyaW5nKDQpLHQucmVhZFVpbnQzMkFycmF5KDMpLHRoaXMubmFtZT10LnJlYWRTdHJpbmcodGhpcy5zaXplLXRoaXMuaGRyX3NpemUtMjApLHRoaXMubmFtZVt0aGlzLm5hbWUubGVuZ3RoLTFdPT09IlwwIiYmKHRoaXMubmFtZT10aGlzLm5hbWUuc2xpY2UoMCwtMSkpKX0pLHMuY3JlYXRlQm94Q3RvcigiaHZjQyIsZnVuY3Rpb24odCl7dmFyIGUsaSxyLG47dGhpcy5jb25maWd1cmF0aW9uVmVyc2lvbj10LnJlYWRVaW50OCgpLG49dC5yZWFkVWludDgoKSx0aGlzLmdlbmVyYWxfcHJvZmlsZV9zcGFjZT1uPj42LHRoaXMuZ2VuZXJhbF90aWVyX2ZsYWc9KG4mMzIpPj41LHRoaXMuZ2VuZXJhbF9wcm9maWxlX2lkYz1uJjMxLHRoaXMuZ2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHk9dC5yZWFkVWludDMyKCksdGhpcy5nZW5lcmFsX2NvbnN0cmFpbnRfaW5kaWNhdG9yPXQucmVhZFVpbnQ4QXJyYXkoNiksdGhpcy5nZW5lcmFsX2xldmVsX2lkYz10LnJlYWRVaW50OCgpLHRoaXMubWluX3NwYXRpYWxfc2VnbWVudGF0aW9uX2lkYz10LnJlYWRVaW50MTYoKSY0MDk1LHRoaXMucGFyYWxsZWxpc21UeXBlPXQucmVhZFVpbnQ4KCkmMyx0aGlzLmNocm9tYV9mb3JtYXRfaWRjPXQucmVhZFVpbnQ4KCkmMyx0aGlzLmJpdF9kZXB0aF9sdW1hX21pbnVzOD10LnJlYWRVaW50OCgpJjcsdGhpcy5iaXRfZGVwdGhfY2hyb21hX21pbnVzOD10LnJlYWRVaW50OCgpJjcsdGhpcy5hdmdGcmFtZVJhdGU9dC5yZWFkVWludDE2KCksbj10LnJlYWRVaW50OCgpLHRoaXMuY29uc3RhbnRGcmFtZVJhdGU9bj4+Nix0aGlzLm51bVRlbXBvcmFsTGF5ZXJzPShuJjEzKT4+Myx0aGlzLnRlbXBvcmFsSWROZXN0ZWQ9KG4mNCk+PjIsdGhpcy5sZW5ndGhTaXplTWludXNPbmU9biYzLHRoaXMubmFsdV9hcnJheXM9W107dmFyIGE9dC5yZWFkVWludDgoKTtmb3IoZT0wO2U8YTtlKyspe3ZhciBvPVtdO3RoaXMubmFsdV9hcnJheXMucHVzaChvKSxuPXQucmVhZFVpbnQ4KCksby5jb21wbGV0ZW5lc3M9KG4mMTI4KT4+NyxvLm5hbHVfdHlwZT1uJjYzO3ZhciBmPXQucmVhZFVpbnQxNigpO2ZvcihpPTA7aTxmO2krKyl7dmFyIGg9e307by5wdXNoKGgpLHI9dC5yZWFkVWludDE2KCksaC5kYXRhPXQucmVhZFVpbnQ4QXJyYXkocil9fX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoImlpbmYiLGZ1bmN0aW9uKHQpe3ZhciBlO3RoaXMudmVyc2lvbj09PTA/dGhpcy5lbnRyeV9jb3VudD10LnJlYWRVaW50MTYoKTp0aGlzLmVudHJ5X2NvdW50PXQucmVhZFVpbnQzMigpLHRoaXMuaXRlbV9pbmZvcz1bXTtmb3IodmFyIGk9MDtpPHRoaXMuZW50cnlfY291bnQ7aSsrKWlmKGU9cy5wYXJzZU9uZUJveCh0LCExLHRoaXMuc2l6ZS0odC5nZXRQb3NpdGlvbigpLXRoaXMuc3RhcnQpKSxlLmNvZGU9PT1zLk9LKWUuYm94LnR5cGUhPT0iaW5mZSImJnkuZXJyb3IoIkJveFBhcnNlciIsIkV4cGVjdGVkICdpbmZlJyBib3gsIGdvdCAiK2UuYm94LnR5cGUpLHRoaXMuaXRlbV9pbmZvc1tpXT1lLmJveDtlbHNlIHJldHVybn0pLHMuY3JlYXRlRnVsbEJveEN0b3IoImlsb2MiLGZ1bmN0aW9uKHQpe3ZhciBlO2U9dC5yZWFkVWludDgoKSx0aGlzLm9mZnNldF9zaXplPWU+PjQmMTUsdGhpcy5sZW5ndGhfc2l6ZT1lJjE1LGU9dC5yZWFkVWludDgoKSx0aGlzLmJhc2Vfb2Zmc2V0X3NpemU9ZT4+NCYxNSx0aGlzLnZlcnNpb249PT0xfHx0aGlzLnZlcnNpb249PT0yP3RoaXMuaW5kZXhfc2l6ZT1lJjE1OnRoaXMuaW5kZXhfc2l6ZT0wLHRoaXMuaXRlbXM9W107dmFyIGk9MDtpZih0aGlzLnZlcnNpb248MilpPXQucmVhZFVpbnQxNigpO2Vsc2UgaWYodGhpcy52ZXJzaW9uPT09MilpPXQucmVhZFVpbnQzMigpO2Vsc2UgdGhyb3cidmVyc2lvbiBvZiBpbG9jIGJveCBub3Qgc3VwcG9ydGVkIjtmb3IodmFyIHI9MDtyPGk7cisrKXt2YXIgbj17fTtpZih0aGlzLml0ZW1zLnB1c2gobiksdGhpcy52ZXJzaW9uPDIpbi5pdGVtX0lEPXQucmVhZFVpbnQxNigpO2Vsc2UgaWYodGhpcy52ZXJzaW9uPT09MiluLml0ZW1fSUQ9dC5yZWFkVWludDE2KCk7ZWxzZSB0aHJvdyJ2ZXJzaW9uIG9mIGlsb2MgYm94IG5vdCBzdXBwb3J0ZWQiO3N3aXRjaCh0aGlzLnZlcnNpb249PT0xfHx0aGlzLnZlcnNpb249PT0yP24uY29uc3RydWN0aW9uX21ldGhvZD10LnJlYWRVaW50MTYoKSYxNTpuLmNvbnN0cnVjdGlvbl9tZXRob2Q9MCxuLmRhdGFfcmVmZXJlbmNlX2luZGV4PXQucmVhZFVpbnQxNigpLHRoaXMuYmFzZV9vZmZzZXRfc2l6ZSl7Y2FzZSAwOm4uYmFzZV9vZmZzZXQ9MDticmVhaztjYXNlIDQ6bi5iYXNlX29mZnNldD10LnJlYWRVaW50MzIoKTticmVhaztjYXNlIDg6bi5iYXNlX29mZnNldD10LnJlYWRVaW50NjQoKTticmVhaztkZWZhdWx0OnRocm93IkVycm9yIHJlYWRpbmcgYmFzZSBvZmZzZXQgc2l6ZSJ9dmFyIGE9dC5yZWFkVWludDE2KCk7bi5leHRlbnRzPVtdO2Zvcih2YXIgbz0wO288YTtvKyspe3ZhciBmPXt9O2lmKG4uZXh0ZW50cy5wdXNoKGYpLHRoaXMudmVyc2lvbj09PTF8fHRoaXMudmVyc2lvbj09PTIpc3dpdGNoKHRoaXMuaW5kZXhfc2l6ZSl7Y2FzZSAwOmYuZXh0ZW50X2luZGV4PTA7YnJlYWs7Y2FzZSA0OmYuZXh0ZW50X2luZGV4PXQucmVhZFVpbnQzMigpO2JyZWFrO2Nhc2UgODpmLmV4dGVudF9pbmRleD10LnJlYWRVaW50NjQoKTticmVhaztkZWZhdWx0OnRocm93IkVycm9yIHJlYWRpbmcgZXh0ZW50IGluZGV4In1zd2l0Y2godGhpcy5vZmZzZXRfc2l6ZSl7Y2FzZSAwOmYuZXh0ZW50X29mZnNldD0wO2JyZWFrO2Nhc2UgNDpmLmV4dGVudF9vZmZzZXQ9dC5yZWFkVWludDMyKCk7YnJlYWs7Y2FzZSA4OmYuZXh0ZW50X29mZnNldD10LnJlYWRVaW50NjQoKTticmVhaztkZWZhdWx0OnRocm93IkVycm9yIHJlYWRpbmcgZXh0ZW50IGluZGV4In1zd2l0Y2godGhpcy5sZW5ndGhfc2l6ZSl7Y2FzZSAwOmYuZXh0ZW50X2xlbmd0aD0wO2JyZWFrO2Nhc2UgNDpmLmV4dGVudF9sZW5ndGg9dC5yZWFkVWludDMyKCk7YnJlYWs7Y2FzZSA4OmYuZXh0ZW50X2xlbmd0aD10LnJlYWRVaW50NjQoKTticmVhaztkZWZhdWx0OnRocm93IkVycm9yIHJlYWRpbmcgZXh0ZW50IGluZGV4In19fX0pLHMuY3JlYXRlQm94Q3RvcigiaW1pciIsZnVuY3Rpb24odCl7dmFyIGU9dC5yZWFkVWludDgoKTt0aGlzLnJlc2VydmVkPWU+PjcsdGhpcy5heGlzPWUmMX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoImluZmUiLGZ1bmN0aW9uKHQpe2lmKCh0aGlzLnZlcnNpb249PT0wfHx0aGlzLnZlcnNpb249PT0xKSYmKHRoaXMuaXRlbV9JRD10LnJlYWRVaW50MTYoKSx0aGlzLml0ZW1fcHJvdGVjdGlvbl9pbmRleD10LnJlYWRVaW50MTYoKSx0aGlzLml0ZW1fbmFtZT10LnJlYWRDU3RyaW5nKCksdGhpcy5jb250ZW50X3R5cGU9dC5yZWFkQ1N0cmluZygpLHRoaXMuY29udGVudF9lbmNvZGluZz10LnJlYWRDU3RyaW5nKCkpLHRoaXMudmVyc2lvbj09PTEpe3RoaXMuZXh0ZW5zaW9uX3R5cGU9dC5yZWFkU3RyaW5nKDQpLHkud2FybigiQm94UGFyc2VyIiwiQ2Fubm90IHBhcnNlIGV4dGVuc2lvbiB0eXBlIiksdC5zZWVrKHRoaXMuc3RhcnQrdGhpcy5zaXplKTtyZXR1cm59dGhpcy52ZXJzaW9uPj0yJiYodGhpcy52ZXJzaW9uPT09Mj90aGlzLml0ZW1fSU
1Q9dC5yZWFkVWludDE2KCk6dGhpcy52ZXJzaW9uPT09MyYmKHRoaXMuaXRlbV9JRD10LnJlYWRVaW50MzIoKSksdGhpcy5pdGVtX3Byb3RlY3Rpb25faW5kZXg9dC5yZWFkVWludDE2KCksdGhpcy5pdGVtX3R5cGU9dC5yZWFkU3RyaW5nKDQpLHRoaXMuaXRlbV9uYW1lPXQucmVhZENTdHJpbmcoKSx0aGlzLml0ZW1fdHlwZT09PSJtaW1lIj8odGhpcy5jb250ZW50X3R5cGU9dC5yZWFkQ1N0cmluZygpLHRoaXMuY29udGVudF9lbmNvZGluZz10LnJlYWRDU3RyaW5nKCkpOnRoaXMuaXRlbV90eXBlPT09InVyaSAiJiYodGhpcy5pdGVtX3VyaV90eXBlPXQucmVhZENTdHJpbmcoKSkpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigiaXBtYSIsZnVuY3Rpb24odCl7dmFyIGUsaSxyPXQucmVhZFVpbnQzMigpO2Zvcih0aGlzLmFzc29jaWF0aW9ucz1bXSxlPTA7ZTxyO2UrKyl7dmFyIG49e307dGhpcy5hc3NvY2lhdGlvbnMucHVzaChuKSx0aGlzLnZlcnNpb248MT9uLmlkPXQucmVhZFVpbnQxNigpOm4uaWQ9dC5yZWFkVWludDMyKCk7dmFyIGE9dC5yZWFkVWludDgoKTtmb3Iobi5wcm9wcz1bXSxpPTA7aTxhO2krKyl7dmFyIG89dC5yZWFkVWludDgoKSxmPXt9O24ucHJvcHMucHVzaChmKSxmLmVzc2VudGlhbD0obyYxMjgpPj43PT09MSx0aGlzLmZsYWdzJjE/Zi5wcm9wZXJ0eV9pbmRleD0obyYxMjcpPDw4fHQucmVhZFVpbnQ4KCk6Zi5wcm9wZXJ0eV9pbmRleD1vJjEyN319fSkscy5jcmVhdGVGdWxsQm94Q3RvcigiaXJlZiIsZnVuY3Rpb24odCl7dmFyIGUsaTtmb3IodGhpcy5yZWZlcmVuY2VzPVtdO3QuZ2V0UG9zaXRpb24oKTx0aGlzLnN0YXJ0K3RoaXMuc2l6ZTspaWYoZT1zLnBhcnNlT25lQm94KHQsITAsdGhpcy5zaXplLSh0LmdldFBvc2l0aW9uKCktdGhpcy5zdGFydCkpLGUuY29kZT09PXMuT0spdGhpcy52ZXJzaW9uPT09MD9pPW5ldyBzLlNpbmdsZUl0ZW1UeXBlUmVmZXJlbmNlQm94KGUudHlwZSxlLnNpemUsZS5oZHJfc2l6ZSxlLnN0YXJ0KTppPW5ldyBzLlNpbmdsZUl0ZW1UeXBlUmVmZXJlbmNlQm94TGFyZ2UoZS50eXBlLGUuc2l6ZSxlLmhkcl9zaXplLGUuc3RhcnQpLGkud3JpdGU9PT1zLkJveC5wcm90b3R5cGUud3JpdGUmJmkudHlwZSE9PSJtZGF0IiYmKHkud2FybigiQm94UGFyc2VyIixpLnR5cGUrIiBib3ggd3JpdGluZyBub3QgeWV0IGltcGxlbWVudGVkLCBrZWVwaW5nIHVucGFyc2VkIGRhdGEgaW4gbWVtb3J5IGZvciBsYXRlciB3cml0ZSIpLGkucGFyc2VEYXRhQW5kUmV3aW5kKHQpKSxpLnBhcnNlKHQpLHRoaXMucmVmZXJlbmNlcy5wdXNoKGkpO2Vsc2UgcmV0dXJufSkscy5jcmVhdGVCb3hDdG9yKCJpcm90IixmdW5jdGlvbih0KXt0aGlzLmFuZ2xlPXQucmVhZFVpbnQ4KCkmM30pLHMuY3JlYXRlRnVsbEJveEN0b3IoImlzcGUiLGZ1bmN0aW9uKHQpe3RoaXMuaW1hZ2Vfd2lkdGg9dC5yZWFkVWludDMyKCksdGhpcy5pbWFnZV9oZWlnaHQ9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJraW5kIixmdW5jdGlvbih0KXt0aGlzLnNjaGVtZVVSST10LnJlYWRDU3RyaW5nKCksdGhpcy52YWx1ZT10LnJlYWRDU3RyaW5nKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJsZXZhIixmdW5jdGlvbih0KXt2YXIgZT10LnJlYWRVaW50OCgpO3RoaXMubGV2ZWxzPVtdO2Zvcih2YXIgaT0wO2k8ZTtpKyspe3ZhciByPXt9O3RoaXMubGV2ZWxzW2ldPXIsci50cmFja19JRD10LnJlYWRVaW50MzIoKTt2YXIgbj10LnJlYWRVaW50OCgpO3N3aXRjaChyLnBhZGRpbmdfZmxhZz1uPj43LHIuYXNzaWdubWVudF90eXBlPW4mMTI3LHIuYXNzaWdubWVudF90eXBlKXtjYXNlIDA6ci5ncm91cGluZ190eXBlPXQucmVhZFN0cmluZyg0KTticmVhaztjYXNlIDE6ci5ncm91cGluZ190eXBlPXQucmVhZFN0cmluZyg0KSxyLmdyb3VwaW5nX3R5cGVfcGFyYW1ldGVyPXQucmVhZFVpbnQzMigpO2JyZWFrO2Nhc2UgMjpicmVhaztjYXNlIDM6YnJlYWs7Y2FzZSA0OnIuc3ViX3RyYWNrX2lkPXQucmVhZFVpbnQzMigpO2JyZWFrO2RlZmF1bHQ6eS53YXJuKCJCb3hQYXJzZXIiLCJVbmtub3duIGxldmEgYXNzaWduZW1lbnQgdHlwZSIpfX19KSxzLmNyZWF0ZUJveEN0b3IoImxzZWwiLGZ1bmN0aW9uKHQpe3RoaXMubGF5ZXJfaWQ9dC5yZWFkVWludDE2KCl9KSxzLmNyZWF0ZUJveEN0b3IoIm1heHIiLGZ1bmN0aW9uKHQpe3RoaXMucGVyaW9kPXQucmVhZFVpbnQzMigpLHRoaXMuYnl0ZXM9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUJveEN0b3IoIm1kY3YiLGZ1bmN0aW9uKHQpe3RoaXMuZGlzcGxheV9wcmltYXJpZXM9W10sdGhpcy5kaXNwbGF5X3ByaW1hcmllc1swXT17fSx0aGlzLmRpc3BsYXlfcHJpbWFyaWVzWzBdLng9dC5yZWFkVWludDE2KCksdGhpcy5kaXNwbGF5X3ByaW1hcmllc1swXS55PXQucmVhZFVpbnQxNigpLHRoaXMuZGlzcGxheV9wcmltYXJpZXNbMV09e30sdGhpcy5kaXNwbGF5X3ByaW1hcmllc1sxXS54PXQucmVhZFVpbnQxNigpLHRoaXMuZGlzcGxheV9wcmltYXJpZXNbMV0ueT10LnJlYWRVaW50MTYoKSx0aGlzLmRpc3BsYXlfcHJpbWFyaWVzWzJdPXt9LHRoaXMuZGlzcGxheV9wcmltYXJpZXNbMl0ueD10LnJlYWRVaW50MTYoKSx0aGlzLmRpc3BsYXlfcHJpbWFyaWVzWzJdLnk9dC5yZWFkVWludDE2KCksdGhpcy53aGl0ZV9wb2ludD17fSx0aGlzLndoaXRlX3BvaW50Lng9dC5yZWFkVWludDE2KCksdGhpcy53aGl0ZV9wb2ludC55PXQucmVhZFVpbnQxNigpLHRoaXMubWF4X2Rpc3BsYXlfbWFzdGVyaW5nX2x1bWluYW5jZT10LnJlYWRVaW50MzIoKSx0aGlzLm1pbl9kaXNwbGF5X21hc3RlcmluZ19sdW1pbmFuY2U9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJtZGhkIixmdW5jdGlvbih0KXt0aGlzLnZlcnNpb249PTE/KHRoaXMuY3JlYXRpb25fdGltZT10LnJlYWRVaW50NjQoKSx0aGlzLm1vZGlmaWNhdGlvbl90aW1lPXQucmVhZFVpbnQ2NCgpLHRoaXMudGltZXNjYWxlPXQucmVhZFVpbnQzMigpLHRoaXMuZHVyYXRpb249dC5yZWFkVWludDY0KCkpOih0aGlzLmNyZWF0aW9uX3RpbWU9dC5yZWFkVWludDMyKCksdGhpcy5tb2RpZmljYXRpb25fdGltZT10LnJlYWRVaW50MzIoKSx0aGlzLnRpbWVzY2FsZT10LnJlYWRVaW50MzIoKSx0aGlzLmR1cmF0aW9uPXQucmVhZFVpbnQzMigpKSx0aGlzLnBhcnNlTGFuZ3VhZ2UodCksdC5yZWFkVWludDE2KCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJtZWhkIixmdW5jdGlvbih0KXt0aGlzLmZsYWdzJjEmJih5Lndhcm4oIkJveFBhcnNlciIsIm1laGQgYm94IGluY29ycmVjdGx5IHVzZXMgZmxhZ3Mgc2V0IHRvIDEsIGNvbnZlcnRpbmcgdmVyc2lvbiB0byAxIiksdGhpcy52ZXJzaW9uPTEpLHRoaXMudmVyc2lvbj09MT90aGlzLmZyYWdtZW50X2R1cmF0aW9uPXQucmVhZFVpbnQ2NCgpOnRoaXMuZnJhZ21lbn
1RfZHVyYXRpb249dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJtZXRhIixmdW5jdGlvbih0KXt0aGlzLmJveGVzPVtdLHMuQ29udGFpbmVyQm94LnByb3RvdHlwZS5wYXJzZS5jYWxsKHRoaXMsdCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJtZmhkIixmdW5jdGlvbih0KXt0aGlzLnNlcXVlbmNlX251bWJlcj10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoIm1mcm8iLGZ1bmN0aW9uKHQpe3RoaXMuX3NpemU9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJtdmhkIixmdW5jdGlvbih0KXt0aGlzLnZlcnNpb249PTE/KHRoaXMuY3JlYXRpb25fdGltZT10LnJlYWRVaW50NjQoKSx0aGlzLm1vZGlmaWNhdGlvbl90aW1lPXQucmVhZFVpbnQ2NCgpLHRoaXMudGltZXNjYWxlPXQucmVhZFVpbnQzMigpLHRoaXMuZHVyYXRpb249dC5yZWFkVWludDY0KCkpOih0aGlzLmNyZWF0aW9uX3RpbWU9dC5yZWFkVWludDMyKCksdGhpcy5tb2RpZmljYXRpb25fdGltZT10LnJlYWRVaW50MzIoKSx0aGlzLnRpbWVzY2FsZT10LnJlYWRVaW50MzIoKSx0aGlzLmR1cmF0aW9uPXQucmVhZFVpbnQzMigpKSx0aGlzLnJhdGU9dC5yZWFkVWludDMyKCksdGhpcy52b2x1bWU9dC5yZWFkVWludDE2KCk+PjgsdC5yZWFkVWludDE2KCksdC5yZWFkVWludDMyQXJyYXkoMiksdGhpcy5tYXRyaXg9dC5yZWFkVWludDMyQXJyYXkoOSksdC5yZWFkVWludDMyQXJyYXkoNiksdGhpcy5uZXh0X3RyYWNrX2lkPXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVCb3hDdG9yKCJucGNrIixmdW5jdGlvbih0KXt0aGlzLnBhY2tldHNzZW50PXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVCb3hDdG9yKCJudW1wIixmdW5jdGlvbih0KXt0aGlzLnBhY2tldHNzZW50PXQucmVhZFVpbnQ2NCgpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigicGFkYiIsZnVuY3Rpb24odCl7dmFyIGU9dC5yZWFkVWludDMyKCk7dGhpcy5wYWRiaXRzPVtdO2Zvcih2YXIgaT0wO2k8TWF0aC5mbG9vcigoZSsxKS8yKTtpKyspdGhpcy5wYWRiaXRzPXQucmVhZFVpbnQ4KCl9KSxzLmNyZWF0ZUJveEN0b3IoInBhc3AiLGZ1bmN0aW9uKHQpe3RoaXMuaFNwYWNpbmc9dC5yZWFkVWludDMyKCksdGhpcy52U3BhY2luZz10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlQm94Q3RvcigicGF5bCIsZnVuY3Rpb24odCl7dGhpcy50ZXh0PXQucmVhZFN0cmluZyh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSl9KSxzLmNyZWF0ZUJveEN0b3IoInBheXQiLGZ1bmN0aW9uKHQpe3RoaXMucGF5bG9hZElEPXQucmVhZFVpbnQzMigpO3ZhciBlPXQucmVhZFVpbnQ4KCk7dGhpcy5ydHBtYXBfc3RyaW5nPXQucmVhZFN0cmluZyhlKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInBkaW4iLGZ1bmN0aW9uKHQpe3ZhciBlPSh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSkvODt0aGlzLnJhdGU9W10sdGhpcy5pbml0aWFsX2RlbGF5PVtdO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy5yYXRlW2ldPXQucmVhZFVpbnQzMigpLHRoaXMuaW5pdGlhbF9kZWxheVtpXT10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInBpdG0iLGZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj09PTA/dGhpcy5pdGVtX2lkPXQucmVhZFVpbnQxNigpOnRoaXMuaXRlbV9pZD10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInBpeGkiLGZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0aGlzLm51bV9jaGFubmVscz10LnJlYWRVaW50OCgpLHRoaXMuYml0c19wZXJfY2hhbm5lbHM9W10sZT0wO2U8dGhpcy5udW1fY2hhbm5lbHM7ZSsrKXRoaXMuYml0c19wZXJfY2hhbm5lbHNbZV09dC5yZWFkVWludDgoKX0pLHMuY3JlYXRlQm94Q3RvcigicG1heCIsZnVuY3Rpb24odCl7dGhpcy5ieXRlcz10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInByZnQiLGZ1bmN0aW9uKHQpe3RoaXMucmVmX3RyYWNrX2lkPXQucmVhZFVpbnQzMigpLHRoaXMubnRwX3RpbWVzdGFtcD10LnJlYWRVaW50NjQoKSx0aGlzLnZlcnNpb249PT0wP3RoaXMubWVkaWFfdGltZT10LnJlYWRVaW50MzIoKTp0aGlzLm1lZGlhX3RpbWU9dC5yZWFkVWludDY0KCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJwc3NoIixmdW5jdGlvbih0KXtpZih0aGlzLnN5c3RlbV9pZD1zLnBhcnNlSGV4MTYodCksdGhpcy52ZXJzaW9uPjApe3ZhciBlPXQucmVhZFVpbnQzMigpO3RoaXMua2lkPVtdO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy5raWRbaV09cy5wYXJzZUhleDE2KHQpfXZhciByPXQucmVhZFVpbnQzMigpO3I+MCYmKHRoaXMuZGF0YT10LnJlYWRVaW50OEFycmF5KHIpKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoImNsZWYiLGZ1bmN0aW9uKHQpe3RoaXMud2lkdGg9dC5yZWFkVWludDMyKCksdGhpcy5oZWlnaHQ9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJlbm9mIixmdW5jdGlvbih0KXt0aGlzLndpZHRoPXQucmVhZFVpbnQzMigpLHRoaXMuaGVpZ2h0PXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigicHJvZiIsZnVuY3Rpb24odCl7dGhpcy53aWR0aD10LnJlYWRVaW50MzIoKSx0aGlzLmhlaWdodD10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlQ29udGFpbmVyQm94Q3RvcigidGFwdCIsbnVsbCxbImNsZWYiLCJwcm9mIiwiZW5vZiJdKSxzLmNyZWF0ZUJveEN0b3IoInJ0cCAiLGZ1bmN0aW9uKHQpe3RoaXMuZGVzY3JpcHRpb25mb3JtYXQ9dC5yZWFkU3RyaW5nKDQpLHRoaXMuc2RwdGV4dD10LnJlYWRTdHJpbmcodGhpcy5zaXplLXRoaXMuaGRyX3NpemUtNCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJzYWlvIixmdW5jdGlvbih0KXt0aGlzLmZsYWdzJjEmJih0aGlzLmF1eF9pbmZvX3R5cGU9dC5yZWFkVWludDMyKCksdGhpcy5hdXhfaW5mb190eXBlX3BhcmFtZXRlcj10LnJlYWRVaW50MzIoKSk7dmFyIGU9dC5yZWFkVWludDMyKCk7dGhpcy5vZmZzZXQ9W107Zm9yKHZhciBpPTA7aTxlO2krKyl0aGlzLnZlcnNpb249PT0wP3RoaXMub2Zmc2V0W2ldPXQucmVhZFVpbnQzMigpOnRoaXMub2Zmc2V0W2ldPXQucmVhZFVpbnQ2NCgpfSkscy5jcmVhdGVGdWxsQm94Q3Rvcigic2FpeiIsZnVuY3Rpb24odCl7dGhpcy5mbGFncyYxJiYodGhpcy5hdXhfaW5mb190eXBlPXQucmVhZFVpbnQzMigpLHRoaXMuYXV4X2luZm9fdHlwZV9wYXJhbWV0ZXI9dC5yZWFkVWludDMyKCkpLHRoaXMuZGVmYXVsdF9zYW1wbGVfaW5mb19zaXplPXQucmVhZFVpbnQ4KCk7dmFyIGU9dC5yZWFkVWludDMyKCk7aWYodGhpcy5zYW1wbGVfaW5mb19zaXplPVtdLHRoaXMuZGVmYXVsdF9zYW1wbGVfaW5mb19zaXplPT09MClmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMuc2FtcGxlX2luZm9fc2l6ZVtpXT10LnJlYWRVaW50OCgpfSkscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9NRVRBREFUQSwibWV0dCIsZnVuY3Rpb24odCl7dGhpcy5wYXJzZUhlYWRlcih0KSx0aGlzLmNvbnRlbn
1RfZW5jb2Rpbmc9dC5yZWFkQ1N0cmluZygpLHRoaXMubWltZV9mb3JtYXQ9dC5yZWFkQ1N0cmluZygpLHRoaXMucGFyc2VGb290ZXIodCl9KSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX01FVEFEQVRBLCJtZXR4IixmdW5jdGlvbih0KXt0aGlzLnBhcnNlSGVhZGVyKHQpLHRoaXMuY29udGVudF9lbmNvZGluZz10LnJlYWRDU3RyaW5nKCksdGhpcy5uYW1lc3BhY2U9dC5yZWFkQ1N0cmluZygpLHRoaXMuc2NoZW1hX2xvY2F0aW9uPXQucmVhZENTdHJpbmcoKSx0aGlzLnBhcnNlRm9vdGVyKHQpfSkscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9TVUJUSVRMRSwic2J0dCIsZnVuY3Rpb24odCl7dGhpcy5wYXJzZUhlYWRlcih0KSx0aGlzLmNvbnRlbnRfZW5jb2Rpbmc9dC5yZWFkQ1N0cmluZygpLHRoaXMubWltZV9mb3JtYXQ9dC5yZWFkQ1N0cmluZygpLHRoaXMucGFyc2VGb290ZXIodCl9KSxzLmNyZWF0ZVNhbXBsZUVudHJ5Q3RvcihzLlNBTVBMRV9FTlRSWV9UWVBFX1NVQlRJVExFLCJzdHBwIixmdW5jdGlvbih0KXt0aGlzLnBhcnNlSGVhZGVyKHQpLHRoaXMubmFtZXNwYWNlPXQucmVhZENTdHJpbmcoKSx0aGlzLnNjaGVtYV9sb2NhdGlvbj10LnJlYWRDU3RyaW5nKCksdGhpcy5hdXhpbGlhcnlfbWltZV90eXBlcz10LnJlYWRDU3RyaW5nKCksdGhpcy5wYXJzZUZvb3Rlcih0KX0pLHMuY3JlYXRlU2FtcGxlRW50cnlDdG9yKHMuU0FNUExFX0VOVFJZX1RZUEVfU1VCVElUTEUsInN0eHQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyc2VIZWFkZXIodCksdGhpcy5jb250ZW50X2VuY29kaW5nPXQucmVhZENTdHJpbmcoKSx0aGlzLm1pbWVfZm9ybWF0PXQucmVhZENTdHJpbmcoKSx0aGlzLnBhcnNlRm9vdGVyKHQpfSkscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9TVUJUSVRMRSwidHgzZyIsZnVuY3Rpb24odCl7dGhpcy5wYXJzZUhlYWRlcih0KSx0aGlzLmRpc3BsYXlGbGFncz10LnJlYWRVaW50MzIoKSx0aGlzLmhvcml6b250YWxfanVzdGlmaWNhdGlvbj10LnJlYWRJbnQ4KCksdGhpcy52ZXJ0aWNhbF9qdXN0aWZpY2F0aW9uPXQucmVhZEludDgoKSx0aGlzLmJnX2NvbG9yX3JnYmE9dC5yZWFkVWludDhBcnJheSg0KSx0aGlzLmJveF9yZWNvcmQ9dC5yZWFkSW50MTZBcnJheSg0KSx0aGlzLnN0eWxlX3JlY29yZD10LnJlYWRVaW50OEFycmF5KDEyKSx0aGlzLnBhcnNlRm9vdGVyKHQpfSkscy5jcmVhdGVTYW1wbGVFbnRyeUN0b3Iocy5TQU1QTEVfRU5UUllfVFlQRV9NRVRBREFUQSwid3Z0dCIsZnVuY3Rpb24odCl7dGhpcy5wYXJzZUhlYWRlcih0KSx0aGlzLnBhcnNlRm9vdGVyKHQpfSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoImFsc3QiLGZ1bmN0aW9uKHQpe3ZhciBlLGk9dC5yZWFkVWludDE2KCk7Zm9yKHRoaXMuZmlyc3Rfb3V0cHV0X3NhbXBsZT10LnJlYWRVaW50MTYoKSx0aGlzLnNhbXBsZV9vZmZzZXQ9W10sZT0wO2U8aTtlKyspdGhpcy5zYW1wbGVfb2Zmc2V0W2VdPXQucmVhZFVpbnQzMigpO3ZhciByPXRoaXMuZGVzY3JpcHRpb25fbGVuZ3RoLTQtNCppO2Zvcih0aGlzLm51bV9vdXRwdXRfc2FtcGxlcz1bXSx0aGlzLm51bV90b3RhbF9zYW1wbGVzPVtdLGU9MDtlPHIvNDtlKyspdGhpcy5udW1fb3V0cHV0X3NhbXBsZXNbZV09dC5yZWFkVWludDE2KCksdGhpcy5udW1fdG90YWxfc2FtcGxlc1tlXT10LnJlYWRVaW50MTYoKX0pLHMuY3JlYXRlU2FtcGxlR3JvdXBDdG9yKCJhdmxsIixmdW5jdGlvbih0KXt0aGlzLmxheWVyTnVtYmVyPXQucmVhZFVpbnQ4KCksdGhpcy5hY2N1cmF0ZVN0YXRpc3RpY3NGbGFnPXQucmVhZFVpbnQ4KCksdGhpcy5hdmdCaXRSYXRlPXQucmVhZFVpbnQxNigpLHRoaXMuYXZnRnJhbWVSYXRlPXQucmVhZFVpbnQxNigpfSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoImF2c3MiLGZ1bmN0aW9uKHQpe3RoaXMuc3ViU2VxdWVuY2VJZGVudGlmaWVyPXQucmVhZFVpbnQxNigpLHRoaXMubGF5ZXJOdW1iZXI9dC5yZWFkVWludDgoKTt2YXIgZT10LnJlYWRVaW50OCgpO3RoaXMuZHVyYXRpb25GbGFnPWU+PjcsdGhpcy5hdmdSYXRlRmxhZz1lPj42JjEsdGhpcy5kdXJhdGlvbkZsYWcmJih0aGlzLmR1cmF0aW9uPXQucmVhZFVpbnQzMigpKSx0aGlzLmF2Z1JhdGVGbGFnJiYodGhpcy5hY2N1cmF0ZVN0YXRpc3RpY3NGbGFnPXQucmVhZFVpbnQ4KCksdGhpcy5hdmdCaXRSYXRlPXQucmVhZFVpbnQxNigpLHRoaXMuYXZnRnJhbWVSYXRlPXQucmVhZFVpbnQxNigpKSx0aGlzLmRlcGVuZGVuY3k9W107Zm9yKHZhciBpPXQucmVhZFVpbnQ4KCkscj0wO3I8aTtyKyspe3ZhciBuPXt9O3RoaXMuZGVwZW5kZW5jeS5wdXNoKG4pLG4uc3ViU2VxRGlyZWN0aW9uRmxhZz10LnJlYWRVaW50OCgpLG4ubGF5ZXJOdW1iZXI9dC5yZWFkVWludDgoKSxuLnN1YlNlcXVlbmNlSWRlbnRpZmllcj10LnJlYWRVaW50MTYoKX19KSxzLmNyZWF0ZVNhbXBsZUdyb3VwQ3RvcigiZHRydCIsZnVuY3Rpb24odCl7eS53YXJuKCJCb3hQYXJzZXIiLCJTYW1wbGUgR3JvdXAgdHlwZTogIit0aGlzLmdyb3VwaW5nX3R5cGUrIiBub3QgZnVsbHkgcGFyc2VkIil9KSxzLmNyZWF0ZVNhbXBsZUdyb3VwQ3RvcigibXZpZiIsZnVuY3Rpb24odCl7eS53YXJuKCJCb3hQYXJzZXIiLCJTYW1wbGUgR3JvdXAgdHlwZTogIit0aGlzLmdyb3VwaW5nX3R5cGUrIiBub3QgZnVsbHkgcGFyc2VkIil9KSxzLmNyZWF0ZVNhbXBsZUdyb3VwQ3RvcigicHJvbCIsZnVuY3Rpb24odCl7dGhpcy5yb2xsX2Rpc3RhbmNlPXQucmVhZEludDE2KCl9KSxzLmNyZWF0ZVNhbXBsZUdyb3VwQ3RvcigicmFwICIsZnVuY3Rpb24odCl7dmFyIGU9dC5yZWFkVWludDgoKTt0aGlzLm51bV9sZWFkaW5nX3NhbXBsZXNfa25vd249ZT4+Nyx0aGlzLm51bV9sZWFkaW5nX3NhbXBsZXM9ZSYxMjd9KSxzLmNyZWF0ZVNhbXBsZUdyb3VwQ3RvcigicmFzaCIsZnVuY3Rpb24odCl7aWYodGhpcy5vcGVyYXRpb25fcG9pbnRfY291bnQ9dC5yZWFkVWludDE2KCksdGhpcy5kZXNjcmlwdGlvbl9sZW5ndGghPT0yKyh0aGlzLm9wZXJhdGlvbl9wb2ludF9jb3VudD09PTE/Mjp0aGlzLm9wZXJhdGlvbl9wb2ludF9jb3VudCo2KSs5KXkud2FybigiQm94UGFyc2VyIiwiTWlzbWF0Y2ggaW4gIit0aGlzLmdyb3VwaW5nX3R5cGUrIiBzYW1wbGUgZ3JvdXAgbGVuZ3RoIiksdGhpcy5kYXRhPXQucmVhZFVpbnQ4QXJyYXkodGhpcy5kZXNjcmlwdGlvbl9sZW5ndGgtMik7ZWxzZXtpZih0aGlzLm9wZXJhdGlvbl9wb2ludF9jb3VudD09PTEpdGhpcy50YXJnZXRfcmF0ZV9zaGFyZT10LnJlYWRVaW50MTYoKTtlbHNle3RoaXMudGFyZ2V0X3JhdG
1Vfc2hhcmU9W10sdGhpcy5hdmFpbGFibGVfYml0cmF0ZT1bXTtmb3IodmFyIGU9MDtlPHRoaXMub3BlcmF0aW9uX3BvaW50X2NvdW50O2UrKyl0aGlzLmF2YWlsYWJsZV9iaXRyYXRlW2VdPXQucmVhZFVpbnQzMigpLHRoaXMudGFyZ2V0X3JhdGVfc2hhcmVbZV09dC5yZWFkVWludDE2KCl9dGhpcy5tYXhpbXVtX2JpdHJhdGU9dC5yZWFkVWludDMyKCksdGhpcy5taW5pbXVtX2JpdHJhdGU9dC5yZWFkVWludDMyKCksdGhpcy5kaXNjYXJkX3ByaW9yaXR5PXQucmVhZFVpbnQ4KCl9fSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoInJvbGwiLGZ1bmN0aW9uKHQpe3RoaXMucm9sbF9kaXN0YW5jZT10LnJlYWRJbnQxNigpfSkscy5TYW1wbGVHcm91cEVudHJ5LnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbih0KXt5Lndhcm4oIkJveFBhcnNlciIsIlVua25vd24gU2FtcGxlIEdyb3VwIHR5cGU6ICIrdGhpcy5ncm91cGluZ190eXBlKSx0aGlzLmRhdGE9dC5yZWFkVWludDhBcnJheSh0aGlzLmRlc2NyaXB0aW9uX2xlbmd0aCl9LHMuY3JlYXRlU2FtcGxlR3JvdXBDdG9yKCJzY2lmIixmdW5jdGlvbih0KXt5Lndhcm4oIkJveFBhcnNlciIsIlNhbXBsZSBHcm91cCB0eXBlOiAiK3RoaXMuZ3JvdXBpbmdfdHlwZSsiIG5vdCBmdWxseSBwYXJzZWQiKX0pLHMuY3JlYXRlU2FtcGxlR3JvdXBDdG9yKCJzY25tIixmdW5jdGlvbih0KXt5Lndhcm4oIkJveFBhcnNlciIsIlNhbXBsZSBHcm91cCB0eXBlOiAiK3RoaXMuZ3JvdXBpbmdfdHlwZSsiIG5vdCBmdWxseSBwYXJzZWQiKX0pLHMuY3JlYXRlU2FtcGxlR3JvdXBDdG9yKCJzZWlnIixmdW5jdGlvbih0KXt0aGlzLnJlc2VydmVkPXQucmVhZFVpbnQ4KCk7dmFyIGU9dC5yZWFkVWludDgoKTt0aGlzLmNyeXB0X2J5dGVfYmxvY2s9ZT4+NCx0aGlzLnNraXBfYnl0ZV9ibG9jaz1lJjE1LHRoaXMuaXNQcm90ZWN0ZWQ9dC5yZWFkVWludDgoKSx0aGlzLlBlcl9TYW1wbGVfSVZfU2l6ZT10LnJlYWRVaW50OCgpLHRoaXMuS0lEPXMucGFyc2VIZXgxNih0KSx0aGlzLmNvbnN0YW50X0lWX3NpemU9MCx0aGlzLmNvbnN0YW50X0lWPTAsdGhpcy5pc1Byb3RlY3RlZD09PTEmJnRoaXMuUGVyX1NhbXBsZV9JVl9TaXplPT09MCYmKHRoaXMuY29uc3RhbnRfSVZfc2l6ZT10LnJlYWRVaW50OCgpLHRoaXMuY29uc3RhbnRfSVY9dC5yZWFkVWludDhBcnJheSh0aGlzLmNvbnN0YW50X0lWX3NpemUpKX0pLHMuY3JlYXRlU2FtcGxlR3JvdXBDdG9yKCJzdHNhIixmdW5jdGlvbih0KXt5Lndhcm4oIkJveFBhcnNlciIsIlNhbXBsZSBHcm91cCB0eXBlOiAiK3RoaXMuZ3JvdXBpbmdfdHlwZSsiIG5vdCBmdWxseSBwYXJzZWQiKX0pLHMuY3JlYXRlU2FtcGxlR3JvdXBDdG9yKCJzeW5jIixmdW5jdGlvbih0KXt2YXIgZT10LnJlYWRVaW50OCgpO3RoaXMuTkFMX3VuaXRfdHlwZT1lJjYzfSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoInRlbGUiLGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVhZFVpbnQ4KCk7dGhpcy5sZXZlbF9pbmRlcGVuZGVudGx5X2RlY29kYWJsZT1lPj43fSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoInRzYXMiLGZ1bmN0aW9uKHQpe3kud2FybigiQm94UGFyc2VyIiwiU2FtcGxlIEdyb3VwIHR5cGU6ICIrdGhpcy5ncm91cGluZ190eXBlKyIgbm90IGZ1bGx5IHBhcnNlZCIpfSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoInRzY2wiLGZ1bmN0aW9uKHQpe3kud2FybigiQm94UGFyc2VyIiwiU2FtcGxlIEdyb3VwIHR5cGU6ICIrdGhpcy5ncm91cGluZ190eXBlKyIgbm90IGZ1bGx5IHBhcnNlZCIpfSkscy5jcmVhdGVTYW1wbGVHcm91cEN0b3IoInZpcHIiLGZ1bmN0aW9uKHQpe3kud2FybigiQm94UGFyc2VyIiwiU2FtcGxlIEdyb3VwIHR5cGU6ICIrdGhpcy5ncm91cGluZ190eXBlKyIgbm90IGZ1bGx5IHBhcnNlZCIpfSkscy5jcmVhdGVGdWxsQm94Q3Rvcigic2JncCIsZnVuY3Rpb24odCl7dGhpcy5ncm91cGluZ190eXBlPXQucmVhZFN0cmluZyg0KSx0aGlzLnZlcnNpb249PT0xP3RoaXMuZ3JvdXBpbmdfdHlwZV9wYXJhbWV0ZXI9dC5yZWFkVWludDMyKCk6dGhpcy5ncm91cGluZ190eXBlX3BhcmFtZXRlcj0wLHRoaXMuZW50cmllcz1bXTtmb3IodmFyIGU9dC5yZWFkVWludDMyKCksaT0wO2k8ZTtpKyspe3ZhciByPXt9O3RoaXMuZW50cmllcy5wdXNoKHIpLHIuc2FtcGxlX2NvdW50PXQucmVhZEludDMyKCksci5ncm91cF9kZXNjcmlwdGlvbl9pbmRleD10LnJlYWRJbnQzMigpfX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInNjaG0iLGZ1bmN0aW9uKHQpe3RoaXMuc2NoZW1lX3R5cGU9dC5yZWFkU3RyaW5nKDQpLHRoaXMuc2NoZW1lX3ZlcnNpb249dC5yZWFkVWludDMyKCksdGhpcy5mbGFncyYxJiYodGhpcy5zY2hlbWVfdXJpPXQucmVhZFN0cmluZyh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZS04KSl9KSxzLmNyZWF0ZUJveEN0b3IoInNkcCAiLGZ1bmN0aW9uKHQpe3RoaXMuc2RwdGV4dD10LnJlYWRTdHJpbmcodGhpcy5zaXplLXRoaXMuaGRyX3NpemUpfSkscy5jcmVhdGVGdWxsQm94Q3Rvcigic2R0cCIsZnVuY3Rpb24odCl7dmFyIGUsaT10aGlzLnNpemUtdGhpcy5oZHJfc2l6ZTt0aGlzLmlzX2xlYWRpbmc9W10sdGhpcy5zYW1wbGVfZGVwZW5kc19vbj1bXSx0aGlzLnNhbXBsZV9pc19kZXBlbmRlZF9vbj1bXSx0aGlzLnNhbXBsZV9oYXNfcmVkdW5kYW5jeT1bXTtmb3IodmFyIHI9MDtyPGk7cisrKWU9dC5yZWFkVWludDgoKSx0aGlzLmlzX2xlYWRpbmdbcl09ZT4+Nix0aGlzLnNhbXBsZV9kZXBlbmRzX29uW3JdPWU+PjQmMyx0aGlzLnNhbXBsZV9pc19kZXBlbmRlZF9vbltyXT1lPj4yJjMsdGhpcy5zYW1wbGVfaGFzX3JlZHVuZGFuY3lbcl09ZSYzfSkscy5jcmVhdGVGdWxsQm94Q3Rvcigic2VuYyIpLHMuY3JlYXRlRnVsbEJveEN0b3IoInNncGQiLGZ1bmN0aW9uKHQpe3RoaXMuZ3JvdXBpbmdfdHlwZT10LnJlYWRTdHJpbmcoNCkseS5kZWJ1ZygiQm94UGFyc2VyIiwiRm91bmQgU2FtcGxlIEdyb3VwcyBvZiB0eXBlICIrdGhpcy5ncm91cGluZ190eXBlKSx0aGlzLnZlcnNpb249PT0xP3RoaXMuZGVmYXVsdF9sZW5ndGg9dC5yZWFkVWludDMyKCk6dGhpcy5kZWZhdWx0X2xlbmd0aD0wLHRoaXMudmVyc2lvbj49MiYmKHRoaXMuZGVmYXVsdF9ncm91cF9kZXNjcmlwdGlvbl9pbmRleD10LnJlYWRVaW50MzIoKSksdGhpcy5lbnRyaWVzPVtdO2Zvcih2YXIgZT10LnJlYWRVaW50MzIoKSxpPTA7aTxlO2krKyl7dmFyIHI7c1t0aGlzLmdyb3VwaW5nX3R5cGUrIlNhbXBsZUdyb3VwRW50cnkiXT9yPW5ldyBzW3RoaXMuZ3JvdXBpbmdfdHlwZSsiU2FtcGxlR3JvdXBFbnRyeSJdKHRoaXMuZ3JvdXBpbmdfdHlwZSk6cj1uZXcgcy5TYW1wbGVHcm91cEVudHJ5KHRoaXMuZ3JvdXBpbmdfdHlwZSksdGhpcy5lbnRyaWVzLnB1c2gociksdGhpcy52ZXJzaW9uPT09MT90aGlzLmRlZmF1bHRfbGVuZ3RoPT09MD9yLmRlc2NyaXB0aW9uX2xlbmd0aD10LnJlYWRVaW50MzIoKTpyLmRlc2NyaXB0aW9uX2xlbmd0aD10aGlzLmRlZmF1bHRfbGVuZ3RoOnIuZGVzY3JpcHRpb25fbGVuZ3RoPXRoaXMuZGVmYXVsdF9sZW5ndGgsci53cml0ZT09PXMuU2FtcGxlR3JvdXBFbnRyeS5wcm90b3R5cGUud3JpdGUmJih5LmluZm8oIkJveFBhcnNlciIsIlNhbXBsZUdyb3VwIGZvciB0eXBlICIrdGhpcy5ncm91cGluZ190eXBlKyIgd3JpdGluZyBub3QgeWV0IGltcGxlbWVudGVkLCBrZWVwaW5nIHVucGFyc2VkIGRhdGEgaW4gbWVtb3J5IGZvciBsYXRlciB3cml0ZSIpLHIuZGF0YT10LnJlYWRVaW50OEFycmF5KHIuZGVzY3JpcHRpb25fbGVuZ3RoKSx0LnBvc2l0aW9uLT1yLmRlc2NyaXB0aW9uX2xlbmd0aCksci5wYXJzZSh0KX19KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJzaWR4IixmdW5jdGlvbih0KXt0aGlzLnJlZmVyZW5jZV9JRD10LnJlYWRVaW50MzIoKSx0aGlzLnRpbWVzY2FsZT10LnJlYWRVaW50MzIoKSx0aGlzLnZlcnNpb249PT0wPyh0aGlzLmVhcmxpZXN0X3ByZXNlbnRhdGlvbl90aW1lPXQucmVhZFVpbnQzMigpLHRoaXMuZmlyc3Rfb2Zmc2V0PXQucmVhZFVpbnQzMigpKToodGhpcy5lYXJsaWVzdF9wcmVzZW50YXRpb25fdGltZT10LnJlYWRVaW50NjQoKSx0aGlzLmZpcnN0X29mZnNldD10LnJlYWRVaW50NjQoKSksdC5yZWFkVWludDE2KCksdGhpcy5yZWZlcmVuY2VzPVtdO2Zvcih2YXIgZT10LnJlYWRVaW50MTYoKSxpPTA7aTxlO2krKyl7dmFyIHI9e307dGhpcy5yZWZlcmVuY2VzLnB1c2gocik7dmFyIG49dC5yZWFkVWludDMyKCk7ci5yZWZlcmVuY2VfdHlwZT1uPj4zMSYxLHIucmVmZXJlbmNlZF9zaXplPW4mMjE0NzQ4MzY0NyxyLnN1YnNlZ21lbnRfZHVyYXRpb249dC5yZWFkVWludDMyKCksbj10LnJlYWRVaW50MzIoKSxyLnN0YXJ0c193aXRoX1NBUD1uPj4zMSYxLHIuU0FQX3R5cGU9bj4+MjgmNyxyLlNBUF9kZWx0YV90aW1lPW4mMjY4NDM1NDU1fX0pLHMuU2luZ2xlSXRlbVR5cGVSZWZlcmVuY2VCb3g9ZnVuY3Rpb24odCxlLGkscil7cy5Cb3guY2FsbCh0aGlzLHQsZSksdGhpcy5oZHJfc2l6ZT1pLHRoaXMuc3RhcnQ9cn0scy5TaW5nbGVJdGVtVHlwZVJlZmVyZW5jZUJveC5wcm90b3R5cGU9bmV3IHMuQm94LHMuU2luZ2xlSXRlbVR5cGVSZWZlcmVuY2VCb3gucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQpe3RoaXMuZnJvbV9pdGVtX0lEPXQucmVhZFVpbnQxNigpO3ZhciBlPXQucmVhZFVpbnQxNigpO3RoaXMucmVmZXJlbmNlcz1bXTtmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMucmVmZXJlbmNlc1tpXT10LnJlYWRVaW50MTYoKX0scy5TaW5nbGVJdGVtVHlwZVJlZmVyZW5jZUJveExhcmdlPWZ1bmN0aW9uKHQsZSxpLHIpe3MuQm94LmNhbGwodGhpcyx0LGUpLHRoaXMuaGRyX3NpemU9aSx0aGlzLnN0YXJ0PXJ9LHMuU2luZ2xlSXRlbVR5cGVSZWZlcmVuY2VCb3hMYXJnZS5wcm90b3R5cGU9bmV3IHMuQm94LHMuU2luZ2xlSXRlbVR5cGVSZWZlcmVuY2VCb3hMYXJnZS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCl7dGhpcy5mcm9tX2l0ZW
11fSUQ9dC5yZWFkVWludDMyKCk7dmFyIGU9dC5yZWFkVWludDE2KCk7dGhpcy5yZWZlcmVuY2VzPVtdO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy5yZWZlcmVuY2VzW2ldPXQucmVhZFVpbnQzMigpfSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJTbURtIixmdW5jdGlvbih0KXt0aGlzLnByaW1hcnlSQ2hyb21hdGljaXR5X3g9dC5yZWFkVWludDE2KCksdGhpcy5wcmltYXJ5UkNocm9tYXRpY2l0eV95PXQucmVhZFVpbnQxNigpLHRoaXMucHJpbWFyeUdDaHJvbWF0aWNpdHlfeD10LnJlYWRVaW50MTYoKSx0aGlzLnByaW1hcnlHQ2hyb21hdGljaXR5X3k9dC5yZWFkVWludDE2KCksdGhpcy5wcmltYXJ5QkNocm9tYXRpY2l0eV94PXQucmVhZFVpbnQxNigpLHRoaXMucHJpbWFyeUJDaHJvbWF0aWNpdHlfeT10LnJlYWRVaW50MTYoKSx0aGlzLndoaXRlUG9pbnRDaHJvbWF0aWNpdHlfeD10LnJlYWRVaW50MTYoKSx0aGlzLndoaXRlUG9pbnRDaHJvbWF0aWNpdHlfeT10LnJlYWRVaW50MTYoKSx0aGlzLmx1bWluYW5jZU1heD10LnJlYWRVaW50MzIoKSx0aGlzLmx1bWluYW5jZU1pbj10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInNtaGQiLGZ1bmN0aW9uKHQpe3RoaXMuYmFsYW5jZT10LnJlYWRVaW50MTYoKSx0LnJlYWRVaW50MTYoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInNzaXgiLGZ1bmN0aW9uKHQpe3RoaXMuc3Vic2VnbWVudHM9W107Zm9yKHZhciBlPXQucmVhZFVpbnQzMigpLGk9MDtpPGU7aSsrKXt2YXIgcj17fTt0aGlzLnN1YnNlZ21lbnRzLnB1c2gociksci5yYW5nZXM9W107Zm9yKHZhciBuPXQucmVhZFVpbnQzMigpLGE9MDthPG47YSsrKXt2YXIgbz17fTtyLnJhbmdlcy5wdXNoKG8pLG8ubGV2ZWw9dC5yZWFkVWludDgoKSxvLnJhbmdlX3NpemU9dC5yZWFkVWludDI0KCl9fX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0Y28iLGZ1bmN0aW9uKHQpe3ZhciBlO2lmKGU9dC5yZWFkVWludDMyKCksdGhpcy5jaHVua19vZmZzZXRzPVtdLHRoaXMudmVyc2lvbj09PTApZm9yKHZhciBpPTA7aTxlO2krKyl0aGlzLmNodW5rX29mZnNldHMucHVzaCh0LnJlYWRVaW50MzIoKSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJzdGRwIixmdW5jdGlvbih0KXt2YXIgZT0odGhpcy5zaXplLXRoaXMuaGRyX3NpemUpLzI7dGhpcy5wcmlvcml0eT1bXTtmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMucHJpb3JpdHlbaV09dC5yZWFkVWludDE2KCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJzdGhkIikscy5jcmVhdGVGdWxsQm94Q3Rvcigic3RyaSIsZnVuY3Rpb24odCl7dGhpcy5zd2l0Y2hfZ3JvdXA9dC5yZWFkVWludDE2KCksdGhpcy5hbHRlcm5hdGVfZ3JvdXA9dC5yZWFkVWludDE2KCksdGhpcy5zdWJfdHJhY2tfaWQ9dC5yZWFkVWludDMyKCk7dmFyIGU9KHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplLTgpLzQ7dGhpcy5hdHRyaWJ1dGVfbGlzdD1bXTtmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMuYXR0cmlidXRlX2xpc3RbaV09dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJzdHNjIixmdW5jdGlvbih0KXt2YXIgZSxpO2lmKGU9dC5yZWFkVWludDMyKCksdGhpcy5maXJzdF9jaHVuaz1bXSx0aGlzLnNhbXBsZXNfcGVyX2NodW5rPVtdLHRoaXMuc2FtcGxlX2Rlc2NyaXB0aW9uX2luZGV4PVtdLHRoaXMudmVyc2lvbj09PTApZm9yKGk9MDtpPGU7aSsrKXRoaXMuZmlyc3RfY2h1bmsucHVzaCh0LnJlYWRVaW50MzIoKSksdGhpcy5zYW1wbGVzX3Blcl9jaHVuay5wdXNoKHQucmVhZFVpbnQzMigpKSx0aGlzLnNhbXBsZV9kZXNjcmlwdGlvbl9pbmRleC5wdXNoKHQucmVhZFVpbnQzMigpKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0c2QiLGZ1bmN0aW9uKHQpe3ZhciBlLGkscixuO2Zvcih0aGlzLmVudHJpZXM9W10scj10LnJlYWRVaW50MzIoKSxlPTE7ZTw9cjtlKyspaWYoaT1zLnBhcnNlT25lQm94KHQsITAsdGhpcy5zaXplLSh0LmdldFBvc2l0aW9uKCktdGhpcy5zdGFydCkpLGkuY29kZT09PXMuT0spc1tpLnR5cGUrIlNhbXBsZUVudHJ5Il0/KG49bmV3IHNbaS50eXBlKyJTYW1wbGVFbnRyeSJdKGkuc2l6ZSksbi5oZHJfc2l6ZT1pLmhkcl9zaXplLG4uc3RhcnQ9aS5zdGFydCk6KHkud2FybigiQm94UGFyc2VyIiwiVW5rbm93biBzYW1wbGUgZW50cnkgdHlwZTogIitpLnR5cGUpLG49bmV3IHMuU2FtcGxlRW50cnkoaS50eXBlLGkuc2l6ZSxpLmhkcl9zaXplLGkuc3RhcnQpKSxuLndyaXRlPT09cy5TYW1wbGVFbnRyeS5wcm90b3R5cGUud3JpdGUmJih5LmluZm8oIkJveFBhcnNlciIsIlNhbXBsZUVudHJ5ICIrbi50eXBlKyIgYm94IHdyaXRpbmcgbm90IHlldCBpbXBsZW1lbnRlZCwga2VlcGluZyB1bnBhcnNlZCBkYXRhIGluIG1lbW9yeSBmb3IgbGF0ZXIgd3JpdGUiKSxuLnBhcnNlRGF0YUFuZFJld2luZCh0KSksbi5wYXJzZSh0KSx0aGlzLmVudHJpZXMucHVzaChuKTtlbHNlIHJldHVybn0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0c2ciLGZ1bmN0aW9uKHQpe3RoaXMuZ3JvdXBpbmdfdHlwZT10LnJlYWRVaW50MzIoKTt2YXIgZT10LnJlYWRVaW50MTYoKTt0aGlzLmdyb3VwX2Rlc2NyaXB0aW9uX2luZGV4PVtdO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy5ncm91cF9kZXNjcmlwdGlvbl9pbmRleFtpXT10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0c2giLGZ1bmN0aW9uKHQpe3ZhciBlLGk7aWYoZT10LnJlYWRVaW50MzIoKSx0aGlzLnNoYWRvd2VkX3NhbXBsZV9udW1iZXJzPVtdLHRoaXMuc3luY19zYW1wbGVfbnVtYmVycz1bXSx0aGlzLnZlcnNpb249PT0wKWZvcihpPTA7aTxlO2krKyl0aGlzLnNoYWRvd2VkX3NhbXBsZV9udW1iZXJzLnB1c2godC5yZWFkVWludDMyKCkpLHRoaXMuc3luY19zYW1wbGVfbnVtYmVycy5wdXNoKHQucmVhZFVpbnQzMigpKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0c3MiLGZ1bmN0aW9uKHQpe3ZhciBlLGk7aWYoaT10LnJlYWRVaW50MzIoKSx0aGlzLnZlcnNpb249PT0wKWZvcih0aGlzLnNhbXBsZV9udW1iZXJzPVtdLGU9MDtlPGk7ZSsrKXRoaXMuc2FtcGxlX251bWJlcnMucHVzaCh0LnJlYWRVaW50MzIoKSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJzdHN6IixmdW5jdGlvbih0KXt2YXIgZTtpZih0aGlzLnNhbXBsZV9zaXplcz1bXSx0aGlzLnZlcnNpb249PT0wKWZvcih0aGlzLnNhbXBsZV9zaXplPXQucmVhZFVpbnQzMigpLHRoaXMuc2FtcGxlX2NvdW50PXQucmVhZFVpbnQzMigpLGU9MDtlPHRoaXMuc2FtcGxlX2NvdW50O2UrKyl0aGlzLnNhbXBsZV9zaXplPT09MD90aGlzLnNhbXBsZV9zaXplcy5wdXNoKHQucmVhZFVpbnQzMigpKTp0aGlzLnNhbXBsZV9zaXplc1tlXT10aGlzLnNhbXBsZV9zaXplfSkscy5jcmVhdGVGdWxsQm94Q3Rvcigic3R0cyIsZnVuY3Rpb24odCl7dmFyIGUsaSxyO2lmKGU9dC5yZWFkVWludDMyKCksdGhpcy5zYW1wbGVfY291bnRzPVtdLHRoaXMuc2FtcGxlX2RlbHRhcz1bXSx0aGlzLnZlcnNpb249PT0wKWZvcihpPTA7aTxlO2krKyl0aGlzLnNhbXBsZV9jb3VudHMucHVzaCh0LnJlYWRVaW50MzIoKSkscj10LnJlYWRJbnQzMigpLHI8MCYmKHkud2FybigiQm94UGFyc2VyIiwiRmlsZSB1c2VzIG5lZ2F0aXZlIHN0dHMgc2FtcGxlIGRlbHRhLCB1c2luZyB2YWx1ZSAxIGluc3RlYWQsIHN5bmMgbWF5IGJlIGxvc3QhIikscj0xKSx0aGlzLnNhbXBsZV9kZWx0YXMucHVzaChyKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0dmkiLGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVhZFVpbnQzMigpO3RoaXMuc2luZ2xlX3ZpZXdfYWxsb3dlZD1lJjMsdGhpcy5zdGVyZW9fc2NoZW1lPXQucmVhZFVpbnQzMigpO3ZhciBpPXQucmVhZFVpbnQzMigpO3RoaXMuc3RlcmVvX2luZGljYXRpb25fdHlwZT10LnJlYWRTdHJpbmcoaSk7dmFyIHIsbjtmb3IodGhpcy5ib3hlcz1bXTt0LmdldFBvc2l0aW9uKCk8dGhpcy5zdGFydCt0aGlzLnN
1pemU7KWlmKHI9cy5wYXJzZU9uZUJveCh0LCExLHRoaXMuc2l6ZS0odC5nZXRQb3NpdGlvbigpLXRoaXMuc3RhcnQpKSxyLmNvZGU9PT1zLk9LKW49ci5ib3gsdGhpcy5ib3hlcy5wdXNoKG4pLHRoaXNbbi50eXBlXT1uO2Vsc2UgcmV0dXJufSkscy5jcmVhdGVCb3hDdG9yKCJzdHlwIixmdW5jdGlvbih0KXtzLmZ0eXBCb3gucHJvdG90eXBlLnBhcnNlLmNhbGwodGhpcyx0KX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInN0ejIiLGZ1bmN0aW9uKHQpe3ZhciBlLGk7aWYodGhpcy5zYW1wbGVfc2l6ZXM9W10sdGhpcy52ZXJzaW9uPT09MClpZih0aGlzLnJlc2VydmVkPXQucmVhZFVpbnQyNCgpLHRoaXMuZmllbGRfc2l6ZT10LnJlYWRVaW50OCgpLGk9dC5yZWFkVWludDMyKCksdGhpcy5maWVsZF9zaXplPT09NClmb3IoZT0wO2U8aTtlKz0yKXt2YXIgcj10LnJlYWRVaW50OCgpO3RoaXMuc2FtcGxlX3NpemVzW2VdPXI+PjQmMTUsdGhpcy5zYW1wbGVfc2l6ZXNbZSsxXT1yJjE1fWVsc2UgaWYodGhpcy5maWVsZF9zaXplPT09OClmb3IoZT0wO2U8aTtlKyspdGhpcy5zYW1wbGVfc2l6ZXNbZV09dC5yZWFkVWludDgoKTtlbHNlIGlmKHRoaXMuZmllbGRfc2l6ZT09PTE2KWZvcihlPTA7ZTxpO2UrKyl0aGlzLnNhbXBsZV9zaXplc1tlXT10LnJlYWRVaW50MTYoKTtlbHNlIHkuZXJyb3IoIkJveFBhcnNlciIsIkVycm9yIGluIGxlbmd0aCBmaWVsZCBpbiBzdHoyIGJveCIpfSkscy5jcmVhdGVGdWxsQm94Q3Rvcigic3VicyIsZnVuY3Rpb24odCl7dmFyIGUsaSxyLG47Zm9yKHI9dC5yZWFkVWludDMyKCksdGhpcy5lbnRyaWVzPVtdLGU9MDtlPHI7ZSsrKXt2YXIgYT17fTtpZih0aGlzLmVudHJpZXNbZV09YSxhLnNhbXBsZV9kZWx0YT10LnJlYWRVaW50MzIoKSxhLnN1YnNhbXBsZXM9W10sbj10LnJlYWRVaW50MTYoKSxuPjApZm9yKGk9MDtpPG47aSsrKXt2YXIgbz17fTthLnN1YnNhbXBsZXMucHVzaChvKSx0aGlzLnZlcnNpb249PTE/by5zaXplPXQucmVhZFVpbnQzMigpOm8uc2l6ZT10LnJlYWRVaW50MTYoKSxvLnByaW9yaXR5PXQucmVhZFVpbnQ4KCksby5kaXNjYXJkYWJsZT10LnJlYWRVaW50OCgpLG8uY29kZWNfc3BlY2lmaWNfcGFyYW1ldGVycz10LnJlYWRVaW50MzIoKX19fSkscy5jcmVhdGVGdWxsQm94Q3RvcigidGVuYyIsZnVuY3Rpb24odCl7aWYodC5yZWFkVWludDgoKSx0aGlzLnZlcnNpb249PT0wKXQucmVhZFVpbnQ4KCk7ZWxzZXt2YXIgZT10LnJlYWRVaW50OCgpO3RoaXMuZGVmYXVsdF9jcnlwdF9ieXRlX2Jsb2NrPWU+PjQmMTUsdGhpcy5kZWZhdWx0X3NraXBfYnl0ZV9ibG9jaz1lJjE1fXRoaXMuZGVmYXVsdF9pc1Byb3RlY3RlZD10LnJlYWRVaW50OCgpLHRoaXMuZGVmYXVsdF9QZXJfU2FtcGxlX0lWX1NpemU9dC5yZWFkVWludDgoKSx0aGlzLmRlZmF1bHRfS0lEPXMucGFyc2VIZXgxNih0KSx0aGlzLmRlZmF1bHRfaXNQcm90ZWN0ZWQ9PT0xJiZ0aGlzLmRlZmF1bHRfUGVyX1NhbXBsZV9JVl9TaXplPT09MCYmKHRoaXMuZGVmYXVsdF9jb25zdGFudF9JVl9zaXplPXQucmVhZFVpbnQ4KCksdGhpcy5kZWZhdWx0X2NvbnN0YW50X0lWPXQucmVhZFVpbnQ4QXJyYXkodGhpcy5kZWZhdWx0X2NvbnN0YW50X0lWX3NpemUpKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInRmZHQiLGZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj09MT90aGlzLmJhc2VNZWRpYURlY29kZVRpbWU9dC5yZWFkVWludDY0KCk6dGhpcy5iYXNlTWVkaWFEZWNvZGVUaW1lPXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigidGZoZCIsZnVuY3Rpb24odCl7dmFyIGU9MDt0aGlzLnRyYWNrX2lkPXQucmVhZFVpbnQzMigpLHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplPmUmJnRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfQkFTRV9EQVRBX09GRlNFVD8odGhpcy5iYXNlX2RhdGFfb2Zmc2V0PXQucmVhZFVpbnQ2NCgpLGUrPTgpOnRoaXMuYmFzZV9kYXRhX29mZnNldD0wLHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplPmUmJnRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfU0FNUExFX0RFU0M/KHRoaXMuZGVmYXVsdF9zYW1wbGVfZGVzY3JpcHRpb25faW5kZXg9dC5yZWFkVWludDMyKCksZSs9NCk6dGhpcy5kZWZhdWx0X3NhbXBsZV9kZXNjcmlwdGlvbl9pbmRleD0wLHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplPmUmJnRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfU0FNUExFX0RVUj8odGhpcy5kZWZhdWx0X3NhbXBsZV9kdXJhdGlvbj10LnJlYWRVaW50MzIoKSxlKz00KTp0aGlzLmRlZmF1bHRfc2FtcGxlX2R1cmF0aW9uPTAsdGhpcy5zaXplLXRoaXMuaGRyX3NpemU+ZSYmdGhpcy5mbGFncyZzLlRGSERfRkxBR19TQU1QTEVfU0laRT8odGhpcy5kZWZhdWx0X3NhbXBsZV9zaXplPXQucmVhZFVpbnQzMigpLGUrPTQpOnRoaXMuZGVmYXVsdF9zYW1wbGVfc2l6ZT0wLHRoaXMuc2l6ZS10aGlzLmhkcl9zaXplPmUmJnRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfU0FNUExFX0ZMQUdTPyh0aGlzLmRlZmF1bHRfc2FtcGxlX2ZsYWdzPXQucmVhZFVpbnQzMigpLGUrPTQpOnRoaXMuZGVmYXVsdF9zYW1wbGVfZmxhZ3M9MH0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInRmcmEiLGZ1bmN0aW9uKHQpe3RoaXMudHJhY2tfSUQ9dC5yZWFkVWludDMyKCksdC5yZWFkVWludDI0KCk7dmFyIGU9dC5yZWFkVWludDgoKTt0aGlzLmxlbmd0aF9zaXplX29mX3RyYWZfbnVtPWU+PjQmMyx0aGlzLmxlbmd0aF9zaXplX29mX3RydW5fbnVtPWU+PjImMyx0aGlzLmxlbmd0aF9zaXplX29mX3NhbXBsZV9udW09ZSYzLHRoaXMuZW50cmllcz1bXTtmb3IodmFyIGk9dC5yZWFkVWludDMyKCkscj0wO3I8aTtyKyspdGhpcy52ZXJzaW9uPT09MT8odGhpcy50aW1lPXQucmVhZFVpbnQ2NCgpLHRoaXMubW9vZl9vZmZzZXQ9dC5yZWFkVWludDY0KCkpOih0aGlzLnRpbWU9dC5yZWFkVWludDMyKCksdGhpcy5tb29mX29mZnNldD10LnJlYWRVaW50MzIoKSksdGhpcy50cmFmX251bWJlcj10WyJyZWFkVWludCIrOCoodGhpcy5sZW5ndGhfc2l6ZV9vZl90cmFmX251bSsxKV0oKSx0aGlzLnRydW5fbnVtYmVyPXRbInJlYWRVaW50Iis4Kih0aGlzLmxlbmd0aF9zaXplX29mX3RydW5fbnVtKzEpXSgpLHRoaXMuc2FtcGxlX251bWJlcj10WyJyZWFkVWludCIrOCoodGhpcy5sZW5ndGhfc2l6ZV9vZl9zYW1wbGVfbnVtKzEpXSgpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigidGtoZCIsZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPT0xPyh0aGlzLmNyZWF0aW9uX3RpbWU9dC5yZWFkVWludDY0KCksdGhpcy5tb2RpZmljYXRpb25fdGltZT10LnJlYWRVaW50NjQoKSx0aGlzLnRyYWNrX2lkPXQucmVhZFVpbnQzMigpLHQucmVhZFVpbnQzMigpLHRoaXMuZHVyYXRpb249dC5yZWFkVWludDY0KCkpOih0aGlzLmNyZWF0aW9uX3RpbWU9dC5yZWFkVWludDMyKCksdGhpcy5tb2RpZmljYXRpb25fdGltZT10LnJlYWRVaW50MzIoKSx0aGlzLnRyYWNrX2lkPXQucmVhZFVpbnQzMigpLHQucmVhZFVpbnQzMigpLHRoaXMuZHVyYXRpb249dC5yZWFkVWludDMyKCkpLHQucmVhZFVpbnQzMkFycmF
15KDIpLHRoaXMubGF5ZXI9dC5yZWFkSW50MTYoKSx0aGlzLmFsdGVybmF0ZV9ncm91cD10LnJlYWRJbnQxNigpLHRoaXMudm9sdW1lPXQucmVhZEludDE2KCk+PjgsdC5yZWFkVWludDE2KCksdGhpcy5tYXRyaXg9dC5yZWFkSW50MzJBcnJheSg5KSx0aGlzLndpZHRoPXQucmVhZFVpbnQzMigpLHRoaXMuaGVpZ2h0PXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVCb3hDdG9yKCJ0bWF4IixmdW5jdGlvbih0KXt0aGlzLnRpbWU9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUJveEN0b3IoInRtaW4iLGZ1bmN0aW9uKHQpe3RoaXMudGltZT10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlQm94Q3RvcigidG90bCIsZnVuY3Rpb24odCl7dGhpcy5ieXRlc3NlbnQ9dC5yZWFkVWludDMyKCl9KSxzLmNyZWF0ZUJveEN0b3IoInRwYXkiLGZ1bmN0aW9uKHQpe3RoaXMuYnl0ZXNzZW50PXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVCb3hDdG9yKCJ0cHlsIixmdW5jdGlvbih0KXt0aGlzLmJ5dGVzc2VudD10LnJlYWRVaW50NjQoKX0pLHMuVHJhY2tHcm91cFR5cGVCb3gucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQpe3RoaXMucGFyc2VGdWxsSGVhZGVyKHQpLHRoaXMudHJhY2tfZ3JvdXBfaWQ9dC5yZWFkVWludDMyKCl9LHMuY3JlYXRlVHJhY2tHcm91cEN0b3IoIm1zcmMiKSxzLlRyYWNrUmVmZXJlbmNlVHlwZUJveD1mdW5jdGlvbih0LGUsaSxyKXtzLkJveC5jYWxsKHRoaXMsdCxlKSx0aGlzLmhkcl9zaXplPWksdGhpcy5zdGFydD1yfSxzLlRyYWNrUmVmZXJlbmNlVHlwZUJveC5wcm90b3R5cGU9bmV3IHMuQm94LHMuVHJhY2tSZWZlcmVuY2VUeXBlQm94LnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbih0KXt0aGlzLnRyYWNrX2lkcz10LnJlYWRVaW50MzJBcnJheSgodGhpcy5zaXplLXRoaXMuaGRyX3NpemUpLzQpfSxzLnRyZWZCb3gucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpO3QuZ2V0UG9zaXRpb24oKTx0aGlzLnN0YXJ0K3RoaXMuc2l6ZTspaWYoZT1zLnBhcnNlT25lQm94KHQsITAsdGhpcy5zaXplLSh0LmdldFBvc2l0aW9uKCktdGhpcy5zdGFydCkpLGUuY29kZT09PXMuT0spaT1uZXcgcy5UcmFja1JlZmVyZW5jZVR5cGVCb3goZS50eXBlLGUuc2l6ZSxlLmhkcl9zaXplLGUuc3RhcnQpLGkud3JpdGU9PT1zLkJveC5wcm90b3R5cGUud3JpdGUmJmkudHlwZSE9PSJtZGF0IiYmKHkuaW5mbygiQm94UGFyc2VyIiwiVHJhY2tSZWZlcmVuY2UgIitpLnR5cGUrIiBib3ggd3JpdGluZyBub3QgeWV0IGltcGxlbWVudGVkLCBrZWVwaW5nIHVucGFyc2VkIGRhdGEgaW4gbWVtb3J5IGZvciBsYXRlciB3cml0ZSIpLGkucGFyc2VEYXRhQW5kUmV3aW5kKHQpKSxpLnBhcnNlKHQpLHRoaXMuYm94ZXMucHVzaChpKTtlbHNlIHJldHVybn0scy5jcmVhdGVGdWxsQm94Q3RvcigidHJlcCIsZnVuY3Rpb24odCl7Zm9yKHRoaXMudHJhY2tfSUQ9dC5yZWFkVWludDMyKCksdGhpcy5ib3hlcz1bXTt0LmdldFBvc2l0aW9uKCk8dGhpcy5zdGFydCt0aGlzLnNpemU7KWlmKHJldD1zLnBhcnNlT25lQm94KHQsITEsdGhpcy5zaXplLSh0LmdldFBvc2l0aW9uKCktdGhpcy5zdGFydCkpLHJldC5jb2RlPT09cy5PSylib3g9cmV0LmJveCx0aGlzLmJveGVzLnB1c2goYm94KTtlbHNlIHJldHVybn0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInRyZXgiLGZ1bmN0aW9uKHQpe3RoaXMudHJhY2tfaWQ9dC5yZWFkVWludDMyKCksdGhpcy5kZWZhdWx0X3NhbXBsZV9kZXNjcmlwdGlvbl9pbmRleD10LnJlYWRVaW50MzIoKSx0aGlzLmRlZmF1bHRfc2FtcGxlX2R1cmF0aW9uPXQucmVhZFVpbnQzMigpLHRoaXMuZGVmYXVsdF9zYW1wbGVfc2l6ZT10LnJlYWRVaW50MzIoKSx0aGlzLmRlZmF1bHRfc2FtcGxlX2ZsYWdzPXQucmVhZFVpbnQzMigpfSkscy5jcmVhdGVCb3hDdG9yKCJ0cnB5IixmdW5jdGlvbih0KXt0aGlzLmJ5dGVzc2VudD10LnJlYWRVaW50NjQoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInRydW4iLGZ1bmN0aW9uKHQpe3ZhciBlPTA7aWYodGhpcy5zYW1wbGVfY291bnQ9dC5yZWFkVWludDMyKCksZSs9NCx0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZT5lJiZ0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19EQVRBX09GRlNFVD8odGhpcy5kYXRhX29mZnNldD10LnJlYWRJbnQzMigpLGUrPTQpOnRoaXMuZGF0YV9vZmZzZXQ9MCx0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZT5lJiZ0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19GSVJTVF9GTEFHPyh0aGlzLmZpcnN0X3NhbXBsZV9mbGFncz10LnJlYWRVaW50MzIoKSxlKz00KTp0aGlzLmZpcnN0X3NhbXBsZV9mbGFncz0wLHRoaXMuc2FtcGxlX2R1cmF0aW9uPVtdLHRoaXMuc2FtcGxlX3NpemU9W10sdGhpcy5zYW1wbGVfZmxhZ3M9W10sdGhpcy5zYW1wbGVfY29tcG9zaXRpb25fdGltZV9vZmZzZXQ9W10sdGhpcy5zaXplLXRoaXMuaGRyX3NpemU+ZSlmb3IodmFyIGk9MDtpPHRoaXMuc2FtcGxlX2NvdW50O2krKyl0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19EVVJBVElPTiYmKHRoaXMuc2FtcGxlX2R1cmF0aW9uW2ldPXQucmVhZFVpbnQzMigpKSx0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19TSVpFJiYodGhpcy5zYW1wbGVfc2l6ZVtpXT10LnJlYWRVaW50MzIoKSksdGhpcy5mbGFncyZzLlRSVU5fRkxBR1NfRkxBR1MmJih0aGlzLnNhbXBsZV9mbGFnc1tpXT10LnJlYWRVaW50MzIoKSksdGhpcy5mbGFncyZzLlRSVU5fRkxBR1NfQ1RTX09GRlNFVCYmKHRoaXMudmVyc2lvbj09PTA/dGhpcy5zYW1wbGVfY29tcG9zaXRpb25fdGltZV9vZmZzZXRbaV09dC5yZWFkVWludDMyKCk6dGhpcy5zYW1wbGVfY29tcG9zaXRpb25fdGltZV9vZmZzZXRbaV09dC5yZWFkSW50MzIoKSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJ0c2VsIixmdW5jdGlvbih0KXt0aGlzLnN3aXRjaF9ncm91cD10LnJlYWRVaW50MzIoKTt2YXIgZT0odGhpcy5zaXplLXRoaXMuaGRyX3NpemUtNCkvNDt0aGlzLmF0dHJpYnV0ZV9saXN0PVtdO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy5hdHRyaWJ1dGVfbGlzdFtpXT10LnJlYWRVaW50MzIoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInR4dEMiLGZ1bmN0aW9uKHQpe3RoaXMuY29uZmlnPXQucmVhZENTdHJpbmcoKX0pLHMuY3JlYXRlRnVsbEJveEN0b3IoInVybCAiLGZ1bmN0aW9uKHQpe3RoaXMuZmxhZ3MhPT0xJiYodGhpcy5sb2NhdGlvbj10LnJlYWRDU3RyaW5nKCkpfSkscy5jcmVhdGVGdWxsQm94Q3RvcigidXJuICIsZnVuY3Rpb24odCl7dGhpcy5uYW1lPXQucmVhZENTdHJpbmcoKSx0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZS10aGlzLm5hbWUubGVuZ3RoLTE+MCYmKHRoaXMubG9jYXRpb249dC5yZWFkQ1N0cmluZygpKX0pLHMuY3JlYXRlVVVJREJveCgiYTVkNDBiMzBlODE0MTFkZGJhMmYwODAwMjAwYzlhNjYiLCEwLCExLGZ1bmN0aW9uKHQpe3RoaXMuTGl2ZVNlcnZlck1hbmlmZXN0PXQucmVhZFN0cmluZyh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSkucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzAzOTsiKX0pLHMuY3JlYXRlVVVJREJveCgiZDA4YTRmMTgxMGYzNGE4MmI2YzgzMmQ4YWJhMTgzZDMiLCEwLCExLGZ1bmN0aW9uKHQpe3RoaXMuc3lzdGVtX2lkPXMucGFyc2VIZXgxNih0KTt2YXIgZT10LnJlYWRVaW50MzIoKTtlPjAmJih0aGlzLmRhdGE9dC5yZWFkVWludDhBcnJheShlKSl9KSxzLmNyZWF0ZVVVSURCb3goImEyMzk0ZjUyNWE5YjRmMTRhMjQ0NmM0MjdjNjQ4ZGY0IiwhMCwhMSkscy5jcmVhdGVVVUlEQm94KCI4OTc0ZGJjZTdiZTc0YzUxODRmOTcxNDhmOTg4MjU1NCIsITAsITEsZnVuY3Rpb24odCl7dGhpcy5kZWZh
1dWx0X0FsZ29yaXRobUlEPXQucmVhZFVpbnQyNCgpLHRoaXMuZGVmYXVsdF9JVl9zaXplPXQucmVhZFVpbnQ4KCksdGhpcy5kZWZhdWx0X0tJRD1zLnBhcnNlSGV4MTYodCl9KSxzLmNyZWF0ZVVVSURCb3goImQ0ODA3ZWYyY2EzOTQ2OTU4ZTU0MjZjYjllNDZhNzlmIiwhMCwhMSxmdW5jdGlvbih0KXt0aGlzLmZyYWdtZW50X2NvdW50PXQucmVhZFVpbnQ4KCksdGhpcy5lbnRyaWVzPVtdO2Zvcih2YXIgZT0wO2U8dGhpcy5mcmFnbWVudF9jb3VudDtlKyspe3ZhciBpPXt9LHI9MCxuPTA7dGhpcy52ZXJzaW9uPT09MT8ocj10LnJlYWRVaW50NjQoKSxuPXQucmVhZFVpbnQ2NCgpKToocj10LnJlYWRVaW50MzIoKSxuPXQucmVhZFVpbnQzMigpKSxpLmFic29sdXRlX3RpbWU9cixpLmFic29sdXRlX2R1cmF0aW9uPW4sdGhpcy5lbnRyaWVzLnB1c2goaSl9fSkscy5jcmVhdGVVVUlEQm94KCI2ZDFkOWIwNTQyZDU0NGU2ODBlMjE0MWRhZmY3NTdiMiIsITAsITEsZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPT09MT8odGhpcy5hYnNvbHV0ZV90aW1lPXQucmVhZFVpbnQ2NCgpLHRoaXMuZHVyYXRpb249dC5yZWFkVWludDY0KCkpOih0aGlzLmFic29sdXRlX3RpbWU9dC5yZWFkVWludDMyKCksdGhpcy5kdXJhdGlvbj10LnJlYWRVaW50MzIoKSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJ2bWhkIixmdW5jdGlvbih0KXt0aGlzLmdyYXBoaWNzbW9kZT10LnJlYWRVaW50MTYoKSx0aGlzLm9wY29sb3I9dC5yZWFkVWludDE2QXJyYXkoMyl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJ2cGNDIixmdW5jdGlvbih0KXt2YXIgZTt0aGlzLnZlcnNpb249PT0xPyh0aGlzLnByb2ZpbGU9dC5yZWFkVWludDgoKSx0aGlzLmxldmVsPXQucmVhZFVpbnQ4KCksZT10LnJlYWRVaW50OCgpLHRoaXMuYml0RGVwdGg9ZT4+NCx0aGlzLmNocm9tYVN1YnNhbXBsaW5nPWU+PjEmNyx0aGlzLnZpZGVvRnVsbFJhbmdlRmxhZz1lJjEsdGhpcy5jb2xvdXJQcmltYXJpZXM9dC5yZWFkVWludDgoKSx0aGlzLnRyYW5zZmVyQ2hhcmFjdGVyaXN0aWNzPXQucmVhZFVpbnQ4KCksdGhpcy5tYXRyaXhDb2VmZmljaWVudHM9dC5yZWFkVWludDgoKSx0aGlzLmNvZGVjSW50aWFsaXphdGlvbkRhdGFTaXplPXQucmVhZFVpbnQxNigpLHRoaXMuY29kZWNJbnRpYWxpemF0aW9uRGF0YT10LnJlYWRVaW50OEFycmF5KHRoaXMuY29kZWNJbnRpYWxpemF0aW9uRGF0YVNpemUpKToodGhpcy5wcm9maWxlPXQucmVhZFVpbnQ4KCksdGhpcy5sZXZlbD10LnJlYWRVaW50OCgpLGU9dC5yZWFkVWludDgoKSx0aGlzLmJpdERlcHRoPWU+PjQmMTUsdGhpcy5jb2xvclNwYWNlPWUmMTUsZT10LnJlYWRVaW50OCgpLHRoaXMuY2hyb21hU3Vic2FtcGxpbmc9ZT4+NCYxNSx0aGlzLnRyYW5zZmVyRnVuY3Rpb249ZT4+MSY3LHRoaXMudmlkZW9GdWxsUmFuZ2VGbGFnPWUmMSx0aGlzLmNvZGVjSW50aWFsaXphdGlvbkRhdGFTaXplPXQucmVhZFVpbnQxNigpLHRoaXMuY29kZWNJbnRpYWxpemF0aW9uRGF0YT10LnJlYWRVaW50OEFycmF5KHRoaXMuY29kZWNJbnRpYWxpemF0aW9uRGF0YVNpemUpKX0pLHMuY3JlYXRlQm94Q3RvcigidnR0QyIsZnVuY3Rpb24odCl7dGhpcy50ZXh0PXQucmVhZFN0cmluZyh0aGlzLnNpemUtdGhpcy5oZHJfc2l6ZSl9KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJ2dmNDIixmdW5jdGlvbih0KXt2YXIgZSxpLHI9e2hlbGRfYml0czp2b2lkIDAsbnVtX2hlbGRfYml0czowLHN0cmVhbV9yZWFkXzFfYnl0ZXM6ZnVuY3Rpb24ocCl7dGhpcy5oZWxkX2JpdHM9cC5yZWFkVWludDgoKSx0aGlzLm51bV9oZWxkX2JpdHM9OH0sc3RyZWFtX3JlYWRfMl9ieXRlczpmdW5jdGlvbihwKXt0aGlzLmhlbGRfYml0cz1wLnJlYWRVaW50MTYoKSx0aGlzLm51bV9oZWxkX2JpdHM9MTZ9LGV4dHJhY3RfYml0czpmdW5jdGlvbihwKXt2YXIgbT10aGlzLmhlbGRfYml0cz4+dGhpcy5udW1faGVsZF9iaXRzLXAmKDE8PHApLTE7cmV0dXJuIHRoaXMubnVtX2hlbGRfYml0cy09cCxtfX07aWYoci5zdHJlYW1fcmVhZF8xX2J5dGVzKHQpLHIuZXh0cmFjdF9iaXRzKDUpLHRoaXMubGVuZ3RoU2l6ZU1pbnVzT25lPXIuZXh0cmFjdF9iaXRzKDIpLHRoaXMucHRsX3ByZXNlbnRfZmxhZz1yLmV4dHJhY3RfYml0cygxKSx0aGlzLnB0bF9wcmVzZW50X2ZsYWcpe3Iuc3RyZWFtX3JlYWRfMl9ieXRlcyh0KSx0aGlzLm9sc19pZHg9ci5leHRyYWN0X2JpdHMoOSksdGhpcy5udW1fc3VibGF5ZXJzPXIuZXh0cmFjdF9iaXRzKDMpLHRoaXMuY29uc3RhbnRfZnJhbWVfcmF0ZT1yLmV4dHJhY3RfYml0cygyKSx0aGlzLmNocm9tYV9mb3JtYXRfaWRjPXIuZXh0cmFjdF9iaXRzKDIpLHIuc3RyZWFtX3JlYWRfMV9ieXRlcyh0KSx0aGlzLmJpdF9kZXB0aF9taW51czg9ci5leHRyYWN0X2JpdHMoMyksci5leHRyYWN0X2JpdHMoNSk7e2lmKHIuc3RyZWFtX3JlYWRfMl9ieXRlcyh0KSxyLmV4dHJhY3RfYml0cygyKSx0aGlzLm51bV9ieXRlc19jb25zdHJhaW50X2luZm89ci5leHRyYWN0X2JpdHMoNiksdGhpcy5nZW5lcmFsX3Byb2ZpbGVfaWRjPXIuZXh0cmFjdF9iaXRzKDcpLHRoaXMuZ2VuZXJhbF90aWVyX2ZsYWc9ci5leHRyYWN0X2JpdHMoMSksdGhpcy5nZW5lcmFsX2xldmVsX2lkYz10LnJlYWRVaW50OCgpLHIuc3RyZWFtX3JlYWRfMV9ieXRlcyh0KSx0aGlzLnB0bF9mcmFtZV9vbmx5X2NvbnN0cmFpbnRfZmxhZz1yLmV4dHJhY3RfYml0cygxKSx0aGlzLnB0bF9tdWx0aWxheWVyX2VuYWJsZWRfZmxhZz1yLmV4dHJhY3RfYml0cygxKSx0aGlzLmdlbmVyYWxfY29uc3RyYWludF9pbmZvPW5ldyBVaW50OEFycmF5KHRoaXMubnVtX2J5dGVzX2NvbnN0cmFpbnRfaW5mbyksdGhpcy5udW1fYnl0ZXNfY29uc3RyYWludF9pbmZvKXtmb3IoZT0wO2U8dGhpcy5udW1fYnl0ZXNfY29uc3RyYWludF9pbmZvLTE7ZSsrKXt2YXIgbj1yLmV4dHJhY3RfYml0cyg2KTtyLnN0cmVhbV9yZWFkXzFfYnl0ZXModCk7dmFyIGE9ci5leHRyYWN0X2JpdHMoMik7dGhpcy5nZW5lcmFsX2NvbnN0cmFpbnRfaW5mb1tlXT1uPDwyfGF9dGhpcy5nZW5lcmFsX2NvbnN0cmFpbnRfaW5mb1t0aGlzLm51bV9ieXRlc19jb25zdHJhaW50X2luZm8tMV09ci5leHRyYWN0X2JpdHMoNil9ZWxzZSByLmV4dHJhY3RfYml0cyg2KTtmb3Ioci5zdHJlYW1fcmVhZF8xX2J5dGVzKHQpLHRoaXMucHRsX3N1YmxheWVyX3ByZXNlbnRfbWFzaz0wLGk9dGhpcy5udW1fc3VibGF5ZXJzLTI7aT49MDstLWkpe3ZhciBvPXIuZXh0cmFjdF9iaXRzKDEpO3RoaXMucHRsX3N1YmxheWVyX3ByZXNlbnRfbWFza3w9bzw8aX1mb3IoaT10aGlzLm51bV9zdWJsYXllcnM7aTw9OCYmdGhpcy5udW1fc3VibGF5ZXJzPjE7KytpKXIuZXh0cmFjdF9iaXRzKDEpO2ZvcihpPXRoaXMubnVtX3N1YmxheWVycy0yO2k+PTA7LS1pKXRoaXMucHRsX3N1YmxheWVyX3ByZXNlbnRfbWFzayYxPDxpJiYodGhpcy5zdWJsYXllcl9sZXZlbF9pZGNbaV09dC5yZWFkVWludDgoKSk7aWYodGhpcy5wdGxfbnVtX3N1Yl9wcm9maWxlcz10LnJlYWRVaW50OCgpLHRoaXMuZ2VuZXJhbF9zdWJfcHJvZmlsZV9pZGM9W10sdGhpcy5wdGxfbnVtX3N1Yl9wcm9maWxlcylmb3IoZT0wO2U8dGhpcy5wdGxfbnVtX3N1Yl9wcm9maWxlcztlKyspdGhpcy5nZW5lcmFsX3N1Yl9wcm9maWxlX2lkYy5wdXNoKHQucmVhZFVpbnQzMigpKX10aGlzLm1heF9w
1aWN0dXJlX3dpZHRoPXQucmVhZFVpbnQxNigpLHRoaXMubWF4X3BpY3R1cmVfaGVpZ2h0PXQucmVhZFVpbnQxNigpLHRoaXMuYXZnX2ZyYW1lX3JhdGU9dC5yZWFkVWludDE2KCl9dmFyIGY9MTIsaD0xMzt0aGlzLm5hbHVfYXJyYXlzPVtdO3ZhciBsPXQucmVhZFVpbnQ4KCk7Zm9yKGU9MDtlPGw7ZSsrKXt2YXIgdT1bXTt0aGlzLm5hbHVfYXJyYXlzLnB1c2godSksci5zdHJlYW1fcmVhZF8xX2J5dGVzKHQpLHUuY29tcGxldGVuZXNzPXIuZXh0cmFjdF9iaXRzKDEpLHIuZXh0cmFjdF9iaXRzKDIpLHUubmFsdV90eXBlPXIuZXh0cmFjdF9iaXRzKDUpO3ZhciBfPTE7Zm9yKHUubmFsdV90eXBlIT1oJiZ1Lm5hbHVfdHlwZSE9ZiYmKF89dC5yZWFkVWludDE2KCkpLGk9MDtpPF87aSsrKXt2YXIgZz10LnJlYWRVaW50MTYoKTt1LnB1c2goe2RhdGE6dC5yZWFkVWludDhBcnJheShnKSxsZW5ndGg6Z30pfX19KSxzLmNyZWF0ZUZ1bGxCb3hDdG9yKCJ2dm5DIixmdW5jdGlvbih0KXt2YXIgZT1zdHJtLnJlYWRVaW50OCgpO3RoaXMubGVuZ3RoU2l6ZU1pbnVzT25lPWUmM30pLHMuU2FtcGxlRW50cnkucHJvdG90eXBlLmlzVmlkZW89ZnVuY3Rpb24oKXtyZXR1cm4hMX0scy5TYW1wbGVFbnRyeS5wcm90b3R5cGUuaXNBdWRpbz1mdW5jdGlvbigpe3JldHVybiExfSxzLlNhbXBsZUVudHJ5LnByb3RvdHlwZS5pc1N1YnRpdGxlPWZ1bmN0aW9uKCl7cmV0dXJuITF9LHMuU2FtcGxlRW50cnkucHJvdG90eXBlLmlzTWV0YWRhdGE9ZnVuY3Rpb24oKXtyZXR1cm4hMX0scy5TYW1wbGVFbnRyeS5wcm90b3R5cGUuaXNIaW50PWZ1bmN0aW9uKCl7cmV0dXJuITF9LHMuU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHlwZS5yZXBsYWNlKCIuIiwiIil9LHMuU2FtcGxlRW50cnkucHJvdG90eXBlLmdldFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIiJ9LHMuU2FtcGxlRW50cnkucHJvdG90eXBlLmdldEhlaWdodD1mdW5jdGlvbigpe3JldHVybiIifSxzLlNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDaGFubmVsQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4iIn0scy5TYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0U2FtcGxlUmF0ZT1mdW5jdGlvbigpe3JldHVybiIifSxzLlNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRTYW1wbGVTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIiJ9LHMuVmlzdWFsU2FtcGxlRW50cnkucHJvdG90eXBlLmlzVmlkZW89ZnVuY3Rpb24oKXtyZXR1cm4hMH0scy5WaXN1YWxTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aH0scy5WaXN1YWxTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGVpZ2h0fSxzLkF1ZGlvU2FtcGxlRW50cnkucHJvdG90eXBlLmlzQXVkaW89ZnVuY3Rpb24oKXtyZXR1cm4hMH0scy5BdWRpb1NhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDaGFubmVsQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGFubmVsX2NvdW50fSxzLkF1ZGlvU2FtcGxlRW50cnkucHJvdG90eXBlLmdldFNhbXBsZVJhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zYW1wbGVyYXRlfSxzLkF1ZGlvU2FtcGxlRW50cnkucHJvdG90eXBlLmdldFNhbXBsZVNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zYW1wbGVzaXplfSxzLlN1YnRpdGxlU2FtcGxlRW50cnkucHJvdG90eXBlLmlzU3VidGl0bGU9ZnVuY3Rpb24oKXtyZXR1cm4hMH0scy5NZXRhZGF0YVNhbXBsZUVudHJ5LnByb3RvdHlwZS5pc01ldGFkYXRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9LHMuZGVjaW1hbFRvSGV4PWZ1bmN0aW9uKHQsZSl7dmFyIGk9TnVtYmVyKHQpLnRvU3RyaW5nKDE2KTtmb3IoZT10eXBlb2YgZT4idSJ8fGU9PT1udWxsP2U9MjplO2kubGVuZ3RoPGU7KWk9IjAiK2k7cmV0dXJuIGl9LHMuYXZjMVNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDb2RlYz1zLmF2YzJTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWM9cy5hdmMzU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjPXMuYXZjNFNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDb2RlYz1mdW5jdGlvbigpe3ZhciB0PXMuU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjLmNhbGwodGhpcyk7cmV0dXJuIHRoaXMuYXZjQz90KyIuIitzLmRlY2ltYWxUb0hleCh0aGlzLmF2Y0MuQVZDUHJvZmlsZUluZGljYXRpb24pK3MuZGVjaW1hbFRvSGV4KHRoaXMuYXZjQy5wcm9maWxlX2NvbXBhdGliaWxpdHkpK3MuZGVjaW1hbFRvSGV4KHRoaXMuYXZjQy5BVkNMZXZlbEluZGljYXRpb24pOnR9LHMuaGV2MVNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDb2RlYz1zLmh2YzFTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWM9ZnVuY3Rpb24oKXt2YXIgdCxlPXMuU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjLmNhbGwodGhpcyk7aWYodGhpcy5odmNDKXtzd2l0Y2goZSs9Ii4iLHRoaXMuaHZjQy5nZW5lcmFsX3Byb2ZpbGVfc3BhY2Upe2Nhc2UgMDplKz0iIjticmVhaztjYXNlIDE6ZSs9IkEiO2JyZWFrO2Nhc2UgMjplKz0iQiI7YnJlYWs7Y2FzZSAzOmUrPSJDIjticmVha31lKz10aGlzLmh2Y0MuZ2VuZXJhbF9wcm9maWxlX2lkYyxlKz0iLiI7dmFyIGk9dGhpcy5odmNDLmdlbmVyYWxfcHJvZmlsZV9jb21wYXRpYmlsaXR5LHI9MDtmb3IodD0wO3Q8MzImJihyfD1pJjEsdCE9MzEpO3QrKylyPDw9MSxpPj49MTtlKz1zLmRlY2ltYWxUb0hleChyLDApLGUrPSIuIix0aGlzLmh2Y0MuZ2VuZXJhbF90aWVyX2ZsYWc9PT0wP2UrPSJMIjplKz0iSCIsZSs9dGhpcy5odmNDLmdlbmVyYWxfbGV2ZWxfaWRjO3ZhciBuPSExLGE9IiI7Zm9yKHQ9NTt0Pj0wO3QtLSkodGhpcy5odmNDLmdlbmVyYWxfY29uc3RyYWludF9pbmRpY2F0b3JbdF18fG4pJiYoYT0iLiIrcy5kZWNpbWFsVG9IZXgodGhpcy5odmNDLmdlbmVyYWxfY29uc3RyYWludF9pbmRpY2F0b3JbdF0sMCkrYSxuPSEwKTtlKz1hfXJldHVybiBlfSxzLnZ2YzFTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWM9cy52dmkxU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjPWZ1bmN0aW9uKCl7dmFyIHQsZT1zLlNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDb2RlYy5jYWxsKHRoaXMpO2lmKHRoaXMudnZjQyl7ZSs9Ii4iK3RoaXMudnZjQy5nZW5lcmFsX3Byb2ZpbGVfaWRjLHRoaXMudnZjQy5nZW5lcmFsX3RpZXJfZmxhZz9lKz0iLkgiOmUrPSIuTCIsZSs9dGhpcy52dmNDLmdlbmVyYWxfbGV2ZWxfaWRjO3ZhciBpPSIiO2lmKHRoaXMudnZjQy5nZW5lcmFsX2NvbnN0cmFpbnRfaW5mbyl7dmFyIHI9W10sbj0wO258PXRoaXMudnZjQy5wdGxfZnJhbWVfb25seV9jb25zdHJhaW50PDw3LG58PXRoaXMudnZjQy5wdGxfbXVsdGlsYXllcl9lbmFibGVkPDw2O3ZhciBhO2Zvcih0PTA7dDx0aGlzLnZ2Y0MuZ2VuZXJhbF9jb25zdHJhaW50X2luZm8ubGVuZ3RoOysrdClufD10aGlzLnZ2Y0MuZ2VuZXJhbF9jb25zdHJhaW50X2luZm9bdF0+PjImNjMsci5wdXNoKG4pLG4mJihhPXQpLG49dGhpcy52dmNDLmdlbmVyYWxfY29uc3RyYWludF9pbmZvW3RdPj4yJjM7aWYoYT09PXZvaWQgMClpPSIuQ0EiO2Vsc2V7aT0iLkMiO3ZhciBvPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2NyIsZj0wLGg9MDtmb3IodD0wO3Q8PWE7Kyt0KWZvcihmPWY8PDh8clt0XSxoKz04O2g+PTU7KXt2YXIgbD1mPj5oLTUmMzE7aSs9b1tsXSxoLT01LGYmPSgxPDxoKS0xfWgmJihmPDw9NS1oLGkrPW9bZiYzMV0pfX1lKz1pfXJldHVybi
1BlfSxzLm1wNGFTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWM9ZnVuY3Rpb24oKXt2YXIgdD1zLlNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDb2RlYy5jYWxsKHRoaXMpO2lmKHRoaXMuZXNkcyYmdGhpcy5lc2RzLmVzZCl7dmFyIGU9dGhpcy5lc2RzLmVzZC5nZXRPVEkoKSxpPXRoaXMuZXNkcy5lc2QuZ2V0QXVkaW9Db25maWcoKTtyZXR1cm4gdCsiLiIrcy5kZWNpbWFsVG9IZXgoZSkrKGk/Ii4iK2k6IiIpfWVsc2UgcmV0dXJuIHR9LHMuc3R4dFNhbXBsZUVudHJ5LnByb3RvdHlwZS5nZXRDb2RlYz1mdW5jdGlvbigpe3ZhciB0PXMuU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjLmNhbGwodGhpcyk7cmV0dXJuIHRoaXMubWltZV9mb3JtYXQ/dCsiLiIrdGhpcy5taW1lX2Zvcm1hdDp0fSxzLnZwMDhTYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWM9cy52cDA5U2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjPWZ1bmN0aW9uKCl7dmFyIHQ9cy5TYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWMuY2FsbCh0aGlzKSxlPXRoaXMudnBjQy5sZXZlbDtlPT0wJiYoZT0iMDAiKTt2YXIgaT10aGlzLnZwY0MuYml0RGVwdGg7cmV0dXJuIGk9PTgmJihpPSIwOCIpLHQrIi4wIit0aGlzLnZwY0MucHJvZmlsZSsiLiIrZSsiLiIraX0scy5hdjAxU2FtcGxlRW50cnkucHJvdG90eXBlLmdldENvZGVjPWZ1bmN0aW9uKCl7dmFyIHQ9cy5TYW1wbGVFbnRyeS5wcm90b3R5cGUuZ2V0Q29kZWMuY2FsbCh0aGlzKSxlPXRoaXMuYXYxQy5zZXFfbGV2ZWxfaWR4XzA7ZTwxMCYmKGU9IjAiK2UpO3ZhciBpO3JldHVybiB0aGlzLmF2MUMuc2VxX3Byb2ZpbGU9PT0yJiZ0aGlzLmF2MUMuaGlnaF9iaXRkZXB0aD09PTE/aT10aGlzLmF2MUMudHdlbHZlX2JpdD09PTE/IjEyIjoiMTAiOnRoaXMuYXYxQy5zZXFfcHJvZmlsZTw9MiYmKGk9dGhpcy5hdjFDLmhpZ2hfYml0ZGVwdGg9PT0xPyIxMCI6IjA4IiksdCsiLiIrdGhpcy5hdjFDLnNlcV9wcm9maWxlKyIuIitlKyh0aGlzLmF2MUMuc2VxX3RpZXJfMD8iSCI6Ik0iKSsiLiIraX0scy5Cb3gucHJvdG90eXBlLndyaXRlSGVhZGVyPWZ1bmN0aW9uKHQsZSl7dGhpcy5zaXplKz04LHRoaXMuc2l6ZT5TdCYmKHRoaXMuc2l6ZSs9OCksdGhpcy50eXBlPT09InV1aWQiJiYodGhpcy5zaXplKz0xNikseS5kZWJ1ZygiQm94V3JpdGVyIiwiV3JpdGluZyBib3ggIit0aGlzLnR5cGUrIiBvZiBzaXplOiAiK3RoaXMuc2l6ZSsiIGF0IHBvc2l0aW9uICIrdC5nZXRQb3NpdGlvbigpKyhlfHwiIikpLHRoaXMuc2l6ZT5TdD90LndyaXRlVWludDMyKDEpOih0aGlzLnNpemVQb3NpdGlvbj10LmdldFBvc2l0aW9uKCksdC53cml0ZVVpbnQzMih0aGlzLnNpemUpKSx0LndyaXRlU3RyaW5nKHRoaXMudHlwZSxudWxsLDQpLHRoaXMudHlwZT09PSJ1dWlkIiYmdC53cml0ZVVpbnQ4QXJyYXkodGhpcy51dWlkKSx0aGlzLnNpemU+U3QmJnQud3JpdGVVaW50NjQodGhpcy5zaXplKX0scy5GdWxsQm94LnByb3RvdHlwZS53cml0ZUhlYWRlcj1mdW5jdGlvbih0KXt0aGlzLnN
1pemUrPTQscy5Cb3gucHJvdG90eXBlLndyaXRlSGVhZGVyLmNhbGwodGhpcyx0LCIgdj0iK3RoaXMudmVyc2lvbisiIGY9Iit0aGlzLmZsYWdzKSx0LndyaXRlVWludDgodGhpcy52ZXJzaW9uKSx0LndyaXRlVWludDI0KHRoaXMuZmxhZ3MpfSxzLkJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy50eXBlPT09Im1kYXQiP3RoaXMuZGF0YSYmKHRoaXMuc2l6ZT10aGlzLmRhdGEubGVuZ3RoLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQ4QXJyYXkodGhpcy5kYXRhKSk6KHRoaXMuc2l6ZT10aGlzLmRhdGE/dGhpcy5kYXRhLmxlbmd0aDowLHRoaXMud3JpdGVIZWFkZXIodCksdGhpcy5kYXRhJiZ0LndyaXRlVWludDhBcnJheSh0aGlzLmRhdGEpKX0scy5Db250YWluZXJCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMuc2l6ZT0wLHRoaXMud3JpdGVIZWFkZXIodCk7Zm9yKHZhciBlPTA7ZTx0aGlzLmJveGVzLmxlbmd0aDtlKyspdGhpcy5ib3hlc1tlXSYmKHRoaXMuYm94ZXNbZV0ud3JpdGUodCksdGhpcy5zaXplKz10aGlzLmJveGVzW2VdLnNpemUpO3kuZGVidWcoIkJveFdyaXRlciIsIkFkanVzdGluZyBib3ggIit0aGlzLnR5cGUrIiB3aXRoIG5ldyBzaXplICIrdGhpcy5zaXplKSx0LmFkanVzdFVpbnQzMih0aGlzLnNpemVQb3NpdGlvbix0aGlzLnNpemUpfSxzLlRyYWNrUmVmZXJlbmNlVHlwZUJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy5zaXplPXRoaXMudHJhY2tfaWRzLmxlbmd0aCo0LHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMkFycmF5KHRoaXMudHJhY2tfaWRzKX0scy5hdmNDQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt2YXIgZTtmb3IodGhpcy5zaXplPTcsZT0wO2U8dGhpcy5TUFMubGVuZ3RoO2UrKyl0aGlzLnNpemUrPTIrdGhpcy5TUFNbZV0ubGVuZ3RoO2ZvcihlPTA7ZTx0aGlzLlBQUy5sZW5ndGg7ZSsrKXRoaXMuc2l6ZSs9Mit0aGlzLlBQU1tlXS5sZW5ndGg7Zm9yKHRoaXMuZXh0JiYodGhpcy5zaXplKz10aGlzLmV4dC5sZW5ndGgpLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQ4KHRoaXMuY29uZmlndXJhdGlvblZlcnNpb24pLHQud3JpdGVVaW50OCh0aGlzLkFWQ1Byb2ZpbGVJbmRpY2F0aW9uKSx0LndyaXRlVWludDgodGhpcy5wcm9maWxlX2NvbXBhdGliaWxpdHkpLHQud3JpdGVVaW50OCh0aGlzLkFWQ0xldmVsSW5kaWNhdGlvbiksdC53cml0ZVVpbnQ4KHRoaXMubGVuZ3RoU2l6ZU1pbnVzT25lKzI1MiksdC53cml0ZVVpbnQ4KHRoaXMuU1BTLmxlbmd0aCsyMjQpLGU9MDtlPHRoaXMuU1BTLmxlbmd0aDtlKyspdC53cml0ZVVpbnQxNih0aGlzLlNQU1tlXS5sZW5ndGgpLHQud3JpdGVVaW50OEFycmF5KHRoaXMuU1BTW2VdLm5hbHUpO2Zvcih0LndyaXRlVWludDgodGhpcy5QUFMubGVuZ3RoKSxlPTA7ZTx0aGlzLlBQUy5sZW5ndGg7ZSsrKXQud3JpdGVVaW50MTYodGhpcy5QUFNbZV0ubGVuZ3RoKSx0LndyaXRlVWludDhBcnJheSh0aGlzLlBQU1tlXS5uYWx1KTt0aGlzLmV4dCYmdC53cml0ZVVpbnQ4QXJyYXkodGhpcy5leHQpfSxzLmNvNjRCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQrOCp0aGlzLmNodW5rX29mZnNldHMubGVuZ3RoLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLmNodW5rX29mZnNldHMubGVuZ3RoKSxlPTA7ZTx0aGlzLmNodW5rX29mZnNldHMubGVuZ3RoO2UrKyl0LndyaXRlVWludDY0KHRoaXMuY2h1bmtfb2Zmc2V0c1tlXSl9LHMuY3NsZ0JveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT00KjUsdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlSW50MzIodGhpcy5jb21wb3NpdGlvblRvRFRTU2hpZnQpLHQud3JpdGVJbnQzMih0aGlzLmxlYXN0RGVjb2RlVG9EaXNwbGF5RGVsdGEpLHQud3JpdGVJbnQzMih0aGlzLmdyZWF0ZXN0RGVjb2RlVG9EaXNwbGF5RGVsdGEpLHQud3JpdGVJbnQzMih0aGlzLmNvbXBvc2l0aW9uU3RhcnRUaW1lKSx0LndyaXRlSW50MzIodGhpcy5jb21wb3NpdGlvbkVuZFRpbWUpfSxzLmN0dHNCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQrOCp0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoKSxlPTA7ZTx0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoO2UrKyl0LndyaXRlVWludDMyKHRoaXMuc2FtcGxlX2NvdW50c1tlXSksdGhpcy52ZXJzaW9uPT09MT90LndyaXRlSW50MzIodGhpcy5zYW1wbGVfb2Zmc2V0c1tlXSk6dC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9vZmZzZXRzW2VdKX0scy5kcmVmQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQsdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlVWludDMyKHRoaXMuZW50cmllcy5sZW5ndGgpO2Zvcih2YXIgZT0wO2U8dGhpcy5lbnRyaWVzLmxlbmd0aDtlKyspdGhpcy5lbnRyaWVzW2VdLndyaXRlKHQpLHRoaXMuc2l6ZSs9dGhpcy5lbnRyaWVzW2VdLnNpemU7eS5kZWJ1ZygiQm94V3JpdGVyIiwiQWRqdXN0aW5nIGJveCAiK3RoaXMudHlwZSsiIHdpdGggbmV3IHNpemUgIit0aGlzLnNpemUpLHQuYWRqdXN0VWludDMyKHRoaXMuc2l6ZVBvc2l0aW9uLHRoaXMuc2l6ZSl9LHMuZWxuZ0JveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT10aGlzLmV4dGVuZGVkX2xhbmd1YWdlLmxlbmd0aCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVTdHJpbmcodGhpcy5leHRlbmRlZF9sYW5ndWFnZSl9LHMuZWxzdEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT00KzEyKnRoaXMuZW50cmllcy5sZW5ndGgsdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlVWludDMyKHRoaXMuZW50cmllcy5sZW5ndGgpO2Zvcih2YXIgZT0wO2U8dGhpcy5lbnRyaWVzLmxlbmd0aDtlKyspe3ZhciBpPXRoaXMuZW50cmllc1tlXTt0LndyaXRlVWludDMyKGkuc2VnbWVudF9kdXJhdGlvbiksdC53cml0ZUludDMyKGkubWVkaWFfdGltZSksdC53cml0ZUludDE2KGkubWVkaWFfcmF0ZV9pbnRlZ2VyKSx0LndyaXRlSW50MTYoaS5tZWRpYV9yYXRlX2ZyYWN0aW9uKX19LHMuZW1zZ0JveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT00KjQrdGhpcy5tZXNzYWdlX2RhdGEubGVuZ3RoKyh0aGlzLnNjaGVtZV9pZF91cmkubGVuZ3RoKzEpKyh0aGlzLnZhbHVlLmxlbmd0aCsxKSx0aGlzLndyaXRlSGVhZG
1VyKHQpLHQud3JpdGVDU3RyaW5nKHRoaXMuc2NoZW1lX2lkX3VyaSksdC53cml0ZUNTdHJpbmcodGhpcy52YWx1ZSksdC53cml0ZVVpbnQzMih0aGlzLnRpbWVzY2FsZSksdC53cml0ZVVpbnQzMih0aGlzLnByZXNlbnRhdGlvbl90aW1lX2RlbHRhKSx0LndyaXRlVWludDMyKHRoaXMuZXZlbnRfZHVyYXRpb24pLHQud3JpdGVVaW50MzIodGhpcy5pZCksdC53cml0ZVVpbnQ4QXJyYXkodGhpcy5tZXNzYWdlX2RhdGEpfSxzLmZ0eXBCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMuc2l6ZT04KzQqdGhpcy5jb21wYXRpYmxlX2JyYW5kcy5sZW5ndGgsdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlU3RyaW5nKHRoaXMubWFqb3JfYnJhbmQsbnVsbCw0KSx0LndyaXRlVWludDMyKHRoaXMubWlub3JfdmVyc2lvbik7Zm9yKHZhciBlPTA7ZTx0aGlzLmNvbXBhdGlibGVfYnJhbmRzLmxlbmd0aDtlKyspdC53cml0ZVN0cmluZyh0aGlzLmNvbXBhdGlibGVfYnJhbmRzW2VdLG51bGwsNCl9LHMuaGRsckJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy5zaXplPTUqNCt0aGlzLm5hbWUubGVuZ3RoKzEsdGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlU3RyaW5nKHRoaXMuaGFuZGxlcixudWxsLDQpLHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlVWludDMyKDApLHQud3JpdGVDU3RyaW5nKHRoaXMubmFtZSl9LHMua2luZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT10aGlzLnNjaGVtZVVSSS5sZW5ndGgrMSsodGhpcy52YWx1ZS5sZW5ndGgrMSksdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlQ1N0cmluZyh0aGlzLnNjaGVtZVVSSSksdC53cml0ZUNTdHJpbmcodGhpcy52YWx1ZSl9LHMubWRoZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy5zaXplPTQqNCsyKjIsdGhpcy5mbGFncz0wLHRoaXMudmVyc2lvbj0wLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLmNyZWF0aW9uX3RpbWUpLHQud3JpdGVVaW50MzIodGhpcy5tb2RpZmljYXRpb25fdGltZSksdC53cml0ZVVpbnQzMih0aGlzLnRpbWVzY2FsZSksdC53cml0ZVVpbnQzMih0aGlzLmR1cmF0aW9uKSx0LndyaXRlVWludDE2KHRoaXMubGFuZ3VhZ2UpLHQud3JpdGVVaW50MTYoMCl9LHMubWVoZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT00LHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLmZyYWdtZW50X2R1cmF0aW9uKX0scy5tZmhkQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQsdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlVWludDMyKHRoaXMuc2VxdWVuY2VfbnVtYmVyKX0scy5tdmhkQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTIzKjQrMioyLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLmNyZWF0aW9uX3RpbWUpLHQud3JpdGVVaW50MzIodGhpcy5tb2RpZmljYXRpb25fdGltZSksdC53cml0ZVVpbnQzMih0aGlzLnRpbWVzY2FsZSksdC53cml0ZVVpbnQzMih0aGlzLmR1cmF0aW9uKSx0LndyaXRlVWludDMyKHRoaXMucmF0ZSksdC53cml0ZVVpbnQxNih0aGlzLnZvbHVtZTw8OCksdC53cml0ZVVpbnQxNigwKSx0LndyaXRlVWludDMyKDApLHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMkFycmF5KHRoaXMubWF0cml4KSx0LndyaXRlVWludDMyKDApLHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlVWludDMyKDApLHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlVWludDMyKHRoaXMubmV4dF90cmFja19pZCl9LHMuU2FtcGxlRW50cnkucHJvdG90eXBlLndyaXRlSGVhZGVyPWZ1bmN0aW9uKHQpe3RoaXMuc2l6ZT04LHMuQm94LnByb3RvdHlwZS53cml0ZUhlYWRlci5jYWxsKHRoaXMsdCksdC53cml0ZVVpbnQ4KDApLHQud3JpdGVVaW50OCgwKSx0LndyaXRlVWludDgoMCksdC53cml0ZVVpbnQ4KDApLHQud3JpdGVVaW50OCgwKSx0LndyaXRlVWludDgoMCksdC53cml0ZVVpbnQxNih0aGlzLmRhdGFfcmVmZXJlbmNlX2luZGV4KX0scy5TYW1wbGVFbnRyeS5wcm90b3R5cGUud3JpdGVGb290ZXI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmJveGVzLmxlbmd0aDtlKyspdGhpcy5ib3hlc1tlXS53cml0ZSh0KSx0aGlzLnNpemUrPXRoaXMuYm94ZXNbZV0uc2l6ZTt5LmRlYnVnKCJCb3hXcml0ZXIiLCJBZGp1c3RpbmcgYm94ICIrdGhpcy50eXBlKyIgd2l0aCBuZXcgc2l6ZSAiK3RoaXMuc2l6ZSksdC5hZGp1c3RVaW50MzIodGhpcy5zaXplUG9zaXRpb24sdGhpcy5zaXplKX0scy5TYW1wbGVFbnRyeS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlVWludDhBcnJheSh0aGlzLmRhdGEpLHRoaXMuc2l6ZSs9dGhpcy5kYXRhLmxlbmd0aCx5LmRlYnVnKCJCb3hXcml0ZXIiLCJBZGp1c3RpbmcgYm94ICIrdGhpcy50eXBlKyIgd2l0aCBuZXcgc2l6ZSAiK3RoaXMuc2l6ZSksdC5hZGp1c3RVaW50MzIodGhpcy5zaXplUG9zaXRpb24sdGhpcy5zaXplKX0scy5WaXN1YWxTYW1wbGVFbnRyeS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy53cml0ZUhlYWRlcih0KSx0aGlzLnNpemUrPTIqNys2KjQrMzIsdC53cml0ZVVpbnQxNigwKSx0LndyaXRlVWludDE2KDApLHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlVWludDMyKDApLHQud3JpdGVVaW50MTYodGhpcy53aWR0aCksdC53cml0ZVVpbnQxNih0aGlzLmhlaWdodCksdC53cml0ZVVpbnQzMih0aGlzLmhvcml6cmVzb2x1dGlvbiksdC53cml0ZVVpbnQzMih0aGlzLnZlcnRyZXNvbHV0aW9uKSx0LndyaXRlVWludDMyKDApLHQud3JpdGVVaW50MTYodGhpcy5mcmFtZV9jb3VudCksdC53cml0ZVVpbnQ4KE1hdGgubWluKDMxLHRoaXMuY29tcHJlc3Nvcm5hbWUubGVuZ3RoKSksdC53cml0ZVN0cmluZyh0aGlzLmNvbXByZXNzb3JuYW1lLG51bGwsMzEpLHQud3JpdGVVaW50MTYodGhpcy5kZXB0aCksdC53cml0ZUludDE2KC0xKSx0aGlzLndyaXRlRm9vdGVyKHQpfSxzLkF1ZGlvU2FtcGxlRW50cnkucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMud3JpdGVIZWFkZXIodCksdGhpcy5zaXplKz0yKjQrMyo0LHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlVWludDE2KHRoaXMuY2hhbm5lbF9jb3VudCksdC53cml0ZVVpbnQxNih0aGlzLnNhbXBsZXNpemUpLHQud3JpdGVVaW50MTYoMCksdC53cml0ZVVpbnQxNigwKSx0LndyaXRlVWludDMyKHRoaXMuc2FtcGxlcmF0ZTw8MTYpLHRoaXMud3JpdGVGb290ZXIodCl9LHMuc3RwcFNhbXBsZUVudHJ5LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLndyaXRlSGVhZG
1VyKHQpLHRoaXMuc2l6ZSs9dGhpcy5uYW1lc3BhY2UubGVuZ3RoKzErdGhpcy5zY2hlbWFfbG9jYXRpb24ubGVuZ3RoKzErdGhpcy5hdXhpbGlhcnlfbWltZV90eXBlcy5sZW5ndGgrMSx0LndyaXRlQ1N0cmluZyh0aGlzLm5hbWVzcGFjZSksdC53cml0ZUNTdHJpbmcodGhpcy5zY2hlbWFfbG9jYXRpb24pLHQud3JpdGVDU3RyaW5nKHRoaXMuYXV4aWxpYXJ5X21pbWVfdHlwZXMpLHRoaXMud3JpdGVGb290ZXIodCl9LHMuU2FtcGxlR3JvdXBFbnRyeS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dC53cml0ZVVpbnQ4QXJyYXkodGhpcy5kYXRhKX0scy5zYmdwQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249MSx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTEyKzgqdGhpcy5lbnRyaWVzLmxlbmd0aCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVTdHJpbmcodGhpcy5ncm91cGluZ190eXBlLG51bGwsNCksdC53cml0ZVVpbnQzMih0aGlzLmdyb3VwaW5nX3R5cGVfcGFyYW1ldGVyKSx0LndyaXRlVWludDMyKHRoaXMuZW50cmllcy5sZW5ndGgpO2Zvcih2YXIgZT0wO2U8dGhpcy5lbnRyaWVzLmxlbmd0aDtlKyspe3ZhciBpPXRoaXMuZW50cmllc1tlXTt0LndyaXRlSW50MzIoaS5zYW1wbGVfY291bnQpLHQud3JpdGVJbnQzMihpLmdyb3VwX2Rlc2NyaXB0aW9uX2luZGV4KX19LHMuc2dwZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dmFyIGUsaTtmb3IodGhpcy5mbGFncz0wLHRoaXMuc2l6ZT0xMixlPTA7ZTx0aGlzLmVudHJpZXMubGVuZ3RoO2UrKylpPXRoaXMuZW50cmllc1tlXSx0aGlzLnZlcnNpb249PT0xJiYodGhpcy5kZWZhdWx0X2xlbmd0aD09PTAmJih0aGlzLnNpemUrPTQpLHRoaXMuc2l6ZSs9aS5kYXRhLmxlbmd0aCk7Zm9yKHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVN0cmluZyh0aGlzLmdyb3VwaW5nX3R5cGUsbnVsbCw0KSx0aGlzLnZlcnNpb249PT0xJiZ0LndyaXRlVWludDMyKHRoaXMuZGVmYXVsdF9sZW5ndGgpLHRoaXMudmVyc2lvbj49MiYmdC53cml0ZVVpbnQzMih0aGlzLmRlZmF1bHRfc2FtcGxlX2Rlc2NyaXB0aW9uX2luZGV4KSx0LndyaXRlVWludDMyKHRoaXMuZW50cmllcy5sZW5ndGgpLGU9MDtlPHRoaXMuZW50cmllcy5sZW5ndGg7ZSsrKWk9dGhpcy5lbnRyaWVzW2VdLHRoaXMudmVyc2lvbj09PTEmJnRoaXMuZGVmYXVsdF9sZW5ndGg9PT0wJiZ0LndyaXRlVWludDMyKGkuZGVzY3JpcHRpb25fbGVuZ3RoKSxpLndyaXRlKHQpfSxzLnNpZHhCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj0wLHRoaXMuZmxhZ3M9MCx0aGlzLnNpemU9NCo0KzIrMisxMip0aGlzLnJlZmVyZW5jZXMubGVuZ3RoLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLnJlZmVyZW5jZV9JRCksdC53cml0ZVVpbnQzMih0aGlzLnRpbWVzY2FsZSksdC53cml0ZVVpbnQzMih0aGlzLmVhcmxpZXN0X3ByZXNlbnRhdGlvbl90aW1lKSx0LndyaXRlVWludDMyKHRoaXMuZmlyc3Rfb2Zmc2V0KSx0LndyaXRlVWludDE2KDApLHQud3JpdGVVaW50MTYodGhpcy5yZWZlcmVuY2VzLmxlbmd0aCk7Zm9yKHZhciBlPTA7ZTx0aGlzLnJlZmVyZW5jZXMubGVuZ3RoO2UrKyl7dmFyIGk9dGhpcy5yZWZlcmVuY2VzW2VdO3Qud3JpdGVVaW50MzIoaS5yZWZlcmVuY2VfdHlwZTw8MzF8aS5yZWZlcmVuY2VkX3NpemUpLHQud3JpdGVVaW50MzIoaS5zdWJzZWdtZW50X2R1cmF0aW9uKSx0LndyaXRlVWludDMyKGkuc3RhcnRzX3dpdGhfU0FQPDwzMXxpLlNBUF90eXBlPDwyOHxpLlNBUF9kZWx0YV90aW1lKX19LHMuc21oZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0xLHRoaXMuc2l6ZT00LHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQxNih0aGlzLmJhbGFuY2UpLHQud3JpdGVVaW50MTYoMCl9LHMuc3Rjb0JveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT00KzQqdGhpcy5jaHVua19vZmZzZXRzLmxlbmd0aCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MzIodGhpcy5jaHVua19vZmZzZXRzLmxlbmd0aCksdC53cml0ZVVpbnQzMkFycmF5KHRoaXMuY2h1bmtfb2Zmc2V0cyl9LHMuc3RzY0JveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKHRoaXMudmVyc2lvbj0wLHRoaXMuZmxhZ3M9MCx0aGlzLnNpemU9NCsxMip0aGlzLmZpcnN0X2NodW5rLmxlbmd0aCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MzIodGhpcy5maXJzdF9jaHVuay5sZW5ndGgpLGU9MDtlPHRoaXMuZmlyc3RfY2h1bmsubGVuZ3RoO2UrKyl0LndyaXRlVWludDMyKHRoaXMuZmlyc3RfY2h1bmtbZV0pLHQud3JpdGVVaW50MzIodGhpcy5zYW1wbGVzX3Blcl9jaHVua1tlXSksdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9kZXNjcmlwdGlvbl9pbmRleFtlXSl9LHMuc3RzZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKHRoaXMudmVyc2lvbj0wLHRoaXMuZmxhZ3M9MCx0aGlzLnNpemU9MCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MzIodGhpcy5lbnRyaWVzLmxlbmd0aCksdGhpcy5zaXplKz00LGU9MDtlPHRoaXMuZW50cmllcy5sZW5ndGg7ZSsrKXRoaXMuZW50cmllc1tlXS53cml0ZSh0KSx0aGlzLnNpemUrPXRoaXMuZW50cmllc1tlXS5zaXplO3kuZGVidWcoIkJveFdyaXRlciIsIkFkanVzdGluZyBib3ggIit0aGlzLnR5cGUrIiB3aXRoIG5ldyBzaXplICIrdGhpcy5zaXplKSx0LmFkanVzdFVpbnQzMih0aGlzLnNpemVQb3NpdGlvbix0aGlzLnNpemUpfSxzLnN0c2hCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQrOCp0aGlzLnNoYWRvd2VkX3NhbXBsZV9udW1iZXJzLmxlbmd0aCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MzIodGhpcy5zaGFkb3dlZF9zYW1wbGVfbnVtYmVycy5sZW5ndGgpLGU9MDtlPHRoaXMuc2hhZG93ZWRfc2FtcGxlX251bWJlcnMubGVuZ3RoO2UrKyl0LndyaXRlVWludDMyKHRoaXMuc2hhZG93ZWRfc2FtcGxlX251bWJlcnNbZV0pLHQud3JpdGVVaW50MzIodGhpcy5zeW5jX3NhbXBsZV9udW1iZXJzW2VdKX0scy5zdHNzQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQrNCp0aGlzLnNhbXBsZV9udW1iZXJzLmxlbmd0aCx0aGlzLndyaXRlSGVhZG
1VyKHQpLHQud3JpdGVVaW50MzIodGhpcy5zYW1wbGVfbnVtYmVycy5sZW5ndGgpLHQud3JpdGVVaW50MzJBcnJheSh0aGlzLnNhbXBsZV9udW1iZXJzKX0scy5zdHN6Qm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt2YXIgZSxpPSEwO2lmKHRoaXMudmVyc2lvbj0wLHRoaXMuZmxhZ3M9MCx0aGlzLnNhbXBsZV9zaXplcy5sZW5ndGg+MClmb3IoZT0wO2UrMTx0aGlzLnNhbXBsZV9zaXplcy5sZW5ndGg7KWlmKHRoaXMuc2FtcGxlX3NpemVzW2UrMV0hPT10aGlzLnNhbXBsZV9zaXplc1swXSl7aT0hMTticmVha31lbHNlIGUrKztlbHNlIGk9ITE7dGhpcy5zaXplPTgsaXx8KHRoaXMuc2l6ZSs9NCp0aGlzLnNhbXBsZV9zaXplcy5sZW5ndGgpLHRoaXMud3JpdGVIZWFkZXIodCksaT90LndyaXRlVWludDMyKHRoaXMuc2FtcGxlX3NpemVzWzBdKTp0LndyaXRlVWludDMyKDApLHQud3JpdGVVaW50MzIodGhpcy5zYW1wbGVfc2l6ZXMubGVuZ3RoKSxpfHx0LndyaXRlVWludDMyQXJyYXkodGhpcy5zYW1wbGVfc2l6ZXMpfSxzLnN0dHNCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0aGlzLnZlcnNpb249MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQrOCp0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoLHRoaXMud3JpdGVIZWFkZXIodCksdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoKSxlPTA7ZTx0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoO2UrKyl0LndyaXRlVWludDMyKHRoaXMuc2FtcGxlX2NvdW50c1tlXSksdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9kZWx0YXNbZV0pfSxzLnRmZHRCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgucG93KDIsMzIpLTE7dGhpcy52ZXJzaW9uPXRoaXMuYmFzZU1lZGlhRGVjb2RlVGltZT5lPzE6MCx0aGlzLmZsYWdzPTAsdGhpcy5zaXplPTQsdGhpcy52ZXJzaW9uPT09MSYmKHRoaXMuc2l6ZSs9NCksdGhpcy53cml0ZUhlYWRlcih0KSx0aGlzLnZlcnNpb249PT0xP3Qud3JpdGVVaW50NjQodGhpcy5iYXNlTWVkaWFEZWNvZGVUaW1lKTp0LndyaXRlVWludDMyKHRoaXMuYmFzZU1lZGlhRGVjb2RlVGltZSl9LHMudGZoZEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5zaXplPTQsdGhpcy5mbGFncyZzLlRGSERfRkxBR19CQVNFX0RBVEFfT0ZGU0VUJiYodGhpcy5zaXplKz04KSx0aGlzLmZsYWdzJnMuVEZIRF9GTEFHX1NBTVBMRV9ERVNDJiYodGhpcy5zaXplKz00KSx0aGlzLmZsYWdzJnMuVEZIRF9GTEFHX1NBTVBMRV9EVVImJih0aGlzLnNpemUrPTQpLHRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfU0FNUExFX1NJWkUmJih0aGlzLnNpemUrPTQpLHRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfU0FNUExFX0ZMQUdTJiYodGhpcy5zaXplKz00KSx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MzIodGhpcy50cmFja19pZCksdGhpcy5mbGFncyZzLlRGSERfRkxBR19CQVNFX0RBVEFfT0ZGU0VUJiZ0LndyaXRlVWludDY0KHRoaXMuYmFzZV9kYXRhX29mZnNldCksdGhpcy5mbGFncyZzLlRGSERfRkxBR19TQU1QTEVfREVTQyYmdC53cml0ZVVpbnQzMih0aGlzLmRlZmF1bHRfc2FtcGxlX2Rlc2NyaXB0aW9uX2luZGV4KSx0aGlzLmZsYWdzJnMuVEZIRF9GTEFHX1NBTVBMRV9EVVImJnQud3JpdGVVaW50MzIodGhpcy5kZWZhdWx0X3NhbXBsZV9kdXJhdGlvbiksdGhpcy5mbGFncyZzLlRGSERfRkxBR19TQU1QTEVfU0laRSYmdC53cml0ZVVpbnQzMih0aGlzLmRlZmF1bHRfc2FtcGxlX3NpemUpLHRoaXMuZmxhZ3Mmcy5URkhEX0ZMQUdfU0FNUExFX0ZMQUdTJiZ0LndyaXRlVWludDMyKHRoaXMuZGVmYXVsdF9zYW1wbGVfZmxhZ3MpfSxzLnRraGRCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj0wLHRoaXMuc2l6ZT00KjE4KzIqNCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MzIodGhpcy5jcmVhdGlvbl90aW1lKSx0LndyaXRlVWludDMyKHRoaXMubW9kaWZpY2F0aW9uX3RpbWUpLHQud3JpdGVVaW50MzIodGhpcy50cmFja19pZCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlVWludDMyKHRoaXMuZHVyYXRpb24pLHQud3JpdGVVaW50MzIoMCksdC53cml0ZVVpbnQzMigwKSx0LndyaXRlSW50MTYodGhpcy5sYXllciksdC53cml0ZUludDE2KHRoaXMuYWx0ZXJuYXRlX2dyb3VwKSx0LndyaXRlSW50MTYodGhpcy52b2x1bWU8PDgpLHQud3JpdGVVaW50MTYoMCksdC53cml0ZUludDMyQXJyYXkodGhpcy5tYXRyaXgpLHQud3JpdGVVaW50MzIodGhpcy53aWR0aCksdC53cml0ZVVpbnQzMih0aGlzLmhlaWdodCl9LHMudHJleEJveC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5mbGFncz0wLHRoaXMuc2l6ZT00KjUsdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlVWludDMyKHRoaXMudHJhY2tfaWQpLHQud3JpdGVVaW50MzIodGhpcy5kZWZhdWx0X3NhbXBsZV9kZXNjcmlwdGlvbl9pbmRleCksdC53cml0ZVVpbnQzMih0aGlzLmRlZmF1bHRfc2FtcGxlX2R1cmF0aW9uKSx0LndyaXRlVWludDMyKHRoaXMuZGVmYXVsdF9zYW1wbGVfc2l6ZSksdC53cml0ZVVpbnQzMih0aGlzLmRlZmF1bHRfc2FtcGxlX2ZsYWdzKX0scy50cnVuQm94LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt0aGlzLnZlcnNpb249MCx0aGlzLnNpemU9NCx0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19EQVRBX09GRlNFVCYmKHRoaXMuc2l6ZSs9NCksdGhpcy5mbGFncyZzLlRSVU5fRkxBR1NfRklSU1RfRkxBRyYmKHRoaXMuc2l6ZSs9NCksdGhpcy5mbGFncyZzLlRSVU5fRkxBR1NfRFVSQVRJT04mJih0aGlzLnNpemUrPTQqdGhpcy5zYW1wbGVfZHVyYXRpb24ubGVuZ3RoKSx0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19TSVpFJiYodGhpcy5zaXplKz00KnRoaXMuc2FtcGxlX3NpemUubGVuZ3RoKSx0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19GTEFHUyYmKHRoaXMuc2l6ZSs9NCp0aGlzLnNhbXBsZV9mbGFncy5sZW5ndGgpLHRoaXMuZmxhZ3Mmcy5UUlVOX0ZMQUdTX0NUU19PRkZTRVQmJih0aGlzLnNpemUrPTQqdGhpcy5zYW1wbGVfY29tcG9zaXRpb25fdGltZV9vZmZzZXQubGVuZ3RoKSx0aGlzLndyaXRlSGVhZG
1VyKHQpLHQud3JpdGVVaW50MzIodGhpcy5zYW1wbGVfY291bnQpLHRoaXMuZmxhZ3Mmcy5UUlVOX0ZMQUdTX0RBVEFfT0ZGU0VUJiYodGhpcy5kYXRhX29mZnNldF9wb3NpdGlvbj10LmdldFBvc2l0aW9uKCksdC53cml0ZUludDMyKHRoaXMuZGF0YV9vZmZzZXQpKSx0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19GSVJTVF9GTEFHJiZ0LndyaXRlVWludDMyKHRoaXMuZmlyc3Rfc2FtcGxlX2ZsYWdzKTtmb3IodmFyIGU9MDtlPHRoaXMuc2FtcGxlX2NvdW50O2UrKyl0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19EVVJBVElPTiYmdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9kdXJhdGlvbltlXSksdGhpcy5mbGFncyZzLlRSVU5fRkxBR1NfU0laRSYmdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9zaXplW2VdKSx0aGlzLmZsYWdzJnMuVFJVTl9GTEFHU19GTEFHUyYmdC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9mbGFnc1tlXSksdGhpcy5mbGFncyZzLlRSVU5fRkxBR1NfQ1RTX09GRlNFVCYmKHRoaXMudmVyc2lvbj09PTA/dC53cml0ZVVpbnQzMih0aGlzLnNhbXBsZV9jb21wb3NpdGlvbl90aW1lX29mZnNldFtlXSk6dC53cml0ZUludDMyKHRoaXMuc2FtcGxlX2NvbXBvc2l0aW9uX3RpbWVfb2Zmc2V0W2VdKSl9LHNbInVybCBCb3giXS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy52ZXJzaW9uPTAsdGhpcy5sb2NhdGlvbj8odGhpcy5mbGFncz0wLHRoaXMuc2l6ZT10aGlzLmxvY2F0aW9uLmxlbmd0aCsxKToodGhpcy5mbGFncz0xLHRoaXMuc2l6ZT0wKSx0aGlzLndyaXRlSGVhZGVyKHQpLHRoaXMubG9jYXRpb24mJnQud3JpdGVDU3RyaW5nKHRoaXMubG9jYXRpb24pfSxzWyJ1cm4gQm94Il0ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj0wLHRoaXMuZmxhZ3M9MCx0aGlzLnNpemU9dGhpcy5uYW1lLmxlbmd0aCsxKyh0aGlzLmxvY2F0aW9uP3RoaXMubG9jYXRpb24ubGVuZ3RoKzE6MCksdGhpcy53cml0ZUhlYWRlcih0KSx0LndyaXRlQ1N0cmluZyh0aGlzLm5hbWUpLHRoaXMubG9jYXRpb24mJnQud3JpdGVDU3RyaW5nKHRoaXMubG9jYXRpb24pfSxzLnZtaGRCb3gucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj0wLHRoaXMuZmxhZ3M9MSx0aGlzLnNpemU9OCx0aGlzLndyaXRlSGVhZGVyKHQpLHQud3JpdGVVaW50MTYodGhpcy5ncmFwaGljc21vZGUpLHQud3JpdGVVaW50MTZBcnJheSh0aGlzLm9wY29sb3IpfSxzLmN0dHNCb3gucHJvdG90eXBlLnVucGFjaz1mdW5jdGlvbih0KXt2YXIgZSxpLHI7Zm9yKHI9MCxlPTA7ZTx0aGlzLnNhbXBsZV9jb3VudHMubGVuZ3RoO2UrKylmb3IoaT0wO2k8dGhpcy5zYW1wbGVfY291bnRzW2VdO2krKyl0W3JdLnB0cz10W3JdLmR0cyt0aGlzLnNhbXBsZV9vZmZzZXRzW2VdLHIrK30scy5zdHRzQm94LnByb3RvdHlwZS51bnBhY2s9ZnVuY3Rpb24odCl7dmFyIGUsaSxyO2ZvcihyPTAsZT0wO2U8dGhpcy5zYW1wbGVfY291bnRzLmxlbmd0aDtlKyspZm9yKGk9MDtpPHRoaXMuc2FtcGxlX2NvdW50c1tlXTtpKyspcj09PTA/dFtyXS5kdHM9MDp0W3JdLmR0cz10W3ItMV0uZHRzK3RoaXMuc2FtcGxlX2RlbHRhc1tlXSxyKyt9LHMuc3Rjb0JveC5wcm90b3R5cGUudW5wYWNrPWZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZTx0aGlzLmNodW5rX29mZnNldHMubGVuZ3RoO2UrKyl0W2VdLm9mZnNldD10aGlzLmNodW5rX29mZnNldHNbZV19LHMuc3RzY0JveC5wcm90b3R5cGUudW5wYWNrPWZ1bmN0aW9uKHQpe3ZhciBlLGkscixuLGE7Zm9yKG49MCxhPTAsZT0wO2U8dGhpcy5maXJzdF9jaHVuay5sZW5ndGg7ZSsrKWZvcihpPTA7aTwoZSsxPHRoaXMuZmlyc3RfY2h1bmsubGVuZ3RoP3RoaXMuZmlyc3RfY2h1bmtbZSsxXToxLzApO2krKylmb3IoYSsrLHI9MDtyPHRoaXMuc2FtcGxlc19wZXJfY2h1bmtbZV07cisrKXtpZih0W25dKXRbbl0uZGVzY3JpcHRpb25faW5kZXg9dGhpcy5zYW1wbGVfZGVzY3JpcHRpb25faW5kZXhbZV0sdFtuXS5jaHVua19pbmRleD1hO2Vsc2UgcmV0dXJuO24rK319LHMuc3RzekJveC5wcm90b3R5cGUudW5wYWNrPWZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZTx0aGlzLnNhbXBsZV9zaXplcy5sZW5ndGg7ZSsrKXRbZV0uc2l6ZT10aGlzLnNhbXBsZV9zaXplc1tlXX0scy5ESUZGX0JPWEVTX1BST1BfTkFNRVM9WyJib3hlcyIsImVudHJpZXMiLCJyZWZlcmVuY2VzIiwic3Vic2FtcGxlcyIsIml0ZW1zIiwiaXRlbV9pbmZvcyIsImV4dGVudHMiLCJhc3NvY2lhdGlvbnMiLCJzdWJzZWdtZW50cyIsInJhbmdlcyIsInNlZWtMaXN0cyIsInNlZWtQb2ludHMiLCJlc2QiLCJsZXZlbHMiXSxzLkRJRkZfUFJJTUlUSVZFX0FSUkFZX1BST1BfTkFNRVM9WyJjb21wYXRpYmxlX2JyYW5kcyIsIm1hdHJpeCIsIm9wY29sb3IiLCJzYW1wbGVfY291bnRzIiwic2FtcGxlX2NvdW50cyIsInNhbXBsZV9kZWx0YXMiLCJmaXJzdF9jaHVuayIsInNhbXBsZXNfcGVyX2NodW5rIiwic2FtcGxlX3NpemVzIiwiY2h1bmtfb2Zmc2V0cyIsInNhbXBsZV9vZmZzZXRzIiwic2FtcGxlX2Rlc2NyaXB0aW9uX2luZGV4Iiwic2FtcGxlX2R1cmF0aW9uIl0scy5ib3hFcXVhbEZpZWxkcz1mdW5jdGlvbih0LGUpe2lmKHQmJiFlKXJldHVybiExO3ZhciBpO2ZvcihpIGluIHQpaWYoIShzLkRJRkZfQk9YRVNfUFJPUF9OQU1FUy5pbmRleE9mKGkpPi0xKSl7aWYodFtpXWluc3RhbmNlb2Ygcy5Cb3h8fGVbaV1pbnN0YW5jZW9mIHMuQm94KWNvbnRpbnVlO2lmKHR5cGVvZiB0W2ldPiJ1Inx8dHlwZW9mIGVbaV0+InUiKWNvbnRpbnVlO2lmKHR5cGVvZiB0W2ldPT0iZnVuY3Rpb24ifHx0eXBlb2YgZVtpXT09ImZ1bmN0aW9uIiljb250aW51ZTtpZih0LnN1YkJveE5hbWVzJiZ0LnN1YkJveE5hbWVzLmluZGV4T2YoaS5zbGljZSgwLDQpKT4tMXx8ZS5zdWJCb3hOYW1lcyYmZS5zdWJCb3hOYW1lcy5pbmRleE9mKGkuc2xpY2UoMCw0KSk+LTEpY29udGludWU7aWYoaT09PSJkYXRhInx8aT09PSJzdGFydCJ8fGk9PT0ic2l6ZSJ8fGk9PT0iY3JlYXRpb25fdGltZSJ8fGk9PT0ibW9kaWZpY2F0aW9uX3RpbWUiKWNvbnRpbnVlO2lmKHMuRElGRl9QUklNSVRJVkVfQVJSQVlfUFJPUF9OQU1FUy5pbmRleE9mKGkpPi0xKWNvbnRpbnVlO2lmKHRbaV0hPT1lW2ldKXJldHVybiExfXJldHVybiEwfSxzLmJveEVxdWFsPWZ1bmN0aW9uKHQsZSl7aWYoIXMuYm94RXF1YWxGaWVsZHModCxlKSlyZXR1cm4hMTtmb3IodmFyIGk9MDtpPHMuRElGRl9CT1hFU19QUk9QX05BTUVTLmxlbmd0aDtpKyspe3ZhciByPXMuRElGRl9CT1hFU19QUk9QX05BTUVTW2ldO2lmKHRbcl0mJmVbcl0mJiFzLmJveEVxdWFsKHRbcl0sZVtyXSkpcmV0dXJuITF9cmV0dXJuITB9O3ZhciBScj1mdW5jdGlvbigpe307UnIucHJvdG90eXBlLnBhcnNlU2FtcGxlPWZ1bmN0aW9uKHQpe3ZhciBlPXt9LGk7ZS5yZXNvdXJjZXM9W107
1dmFyIHI9bmV3IE8odC5kYXRhLmJ1ZmZlcik7aWYoIXQuc3Vic2FtcGxlc3x8dC5zdWJzYW1wbGVzLmxlbmd0aD09PTApZS5kb2N1bWVudFN0cmluZz1yLnJlYWRTdHJpbmcodC5kYXRhLmxlbmd0aCk7ZWxzZSBpZihlLmRvY3VtZW50U3RyaW5nPXIucmVhZFN0cmluZyh0LnN1YnNhbXBsZXNbMF0uc2l6ZSksdC5zdWJzYW1wbGVzLmxlbmd0aD4xKWZvcihpPTE7aTx0LnN1YnNhbXBsZXMubGVuZ3RoO2krKyllLnJlc291cmNlc1tpXT1yLnJlYWRVaW50OEFycmF5KHQuc3Vic2FtcGxlc1tpXS5zaXplKTtyZXR1cm4gdHlwZW9mIERPTVBhcnNlcjwidSImJihlLmRvY3VtZW50PW5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZS5kb2N1bWVudFN0cmluZywiYXBwbGljYXRpb24veG1sIikpLGV9O3ZhciBQaT1mdW5jdGlvbigpe307UGkucHJvdG90eXBlLnBhcnNlU2FtcGxlPWZ1bmN0aW9uKHQpe3ZhciBlLGk9bmV3IE8odC5kYXRhLmJ1ZmZlcik7cmV0dXJuIGU9aS5yZWFkU3RyaW5nKHQuZGF0YS5sZW5ndGgpLGV9LFBpLnByb3RvdHlwZS5wYXJzZUNvbmZpZz1mdW5jdGlvbih0KXt2YXIgZSxpPW5ldyBPKHQuYnVmZmVyKTtyZXR1cm4gaS5yZWFkVWludDMyKCksZT1pLnJlYWRDU3RyaW5nKCksZX0sdHlwZW9mIGV4cG9ydHM8InUiJiYoZXhwb3J0cy5YTUxTdWJ0aXRsZWluNFBhcnNlcj1ScixleHBvcnRzLlRleHRpbjRQYXJzZXI9UGkpO3ZhciB2PWZ1bmN0aW9uKHQpe3RoaXMuc3RyZWFtPXR8fG5ldyBILHRoaXMuYm94ZXM9W10sdGhpcy5tZGF0cz1bXSx0aGlzLm1vb2ZzPVtdLHRoaXMuaXNQcm9ncmVzc2l2ZT0hMSx0aGlzLm1vb3ZTdGFydEZvdW5kPSExLHRoaXMub25Nb292U3RhcnQ9bnVsbCx0aGlzLm1vb3ZTdGFydFNlbnQ9ITEsdGhpcy5vblJlYWR5PW51bGwsdGhpcy5yZWFkeVNlbnQ9ITEsdGhpcy5vblNlZ21lbnQ9bnVsbCx0aGlzLm9uU2FtcGxlcz1udWxsLHRoaXMub25FcnJvcj1udWxsLHRoaXMuc2FtcGxlTGlzdEJ1aWx0PSExLHRoaXMuZnJhZ21lbnRlZFRyYWNrcz1bXSx0aGlzLmV4dHJhY3RlZFRyYWNrcz1bXSx0aGlzLmlzRnJhZ21lbnRhdGlvbkluaXRpYWxpemVkPSExLHRoaXMuc2FtcGxlUHJvY2Vzc2luZ1N0YXJ0ZWQ9ITEsdGhpcy5uZXh0TW9vZk51bWJlcj0wLHRoaXMuaXRlbUxpc3RCdWlsdD0hMSx0aGlzLm9uU2lkeD1udWxsLHRoaXMuc2lkeFNlbnQ9ITF9O3YucHJvdG90eXBlLnNldFNlZ21lbnRPcHRpb25zPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcj10aGlzLmdldFRyYWNrQnlJZCh0KTtpZihyKXt2YXIgbj17fTt0aGlzLmZyYWdtZW50ZWRUcmFja3MucHVzaChuKSxuLmlkPXQsbi51c2VyPWUsbi50cmFrPXIsci5uZXh0U2FtcGxlPTAsbi5zZWdtZW50U3RyZWFtPW51bGwsbi5uYl9zYW1wbGVzPTFlMyxuLnJhcEFsaWduZW1lbnQ9ITAsaSYmKGkubmJTYW1wbGVzJiYobi5uYl9zYW1wbGVzPWkubmJTYW1wbGVzKSxpLnJhcEFsaWduZW1lbnQmJihuLnJhcEFsaWduZW1lbnQ9aS5yYXBBbGlnbmVtZW50KSl9fSx2LnByb3RvdHlwZS51bnNldFNlZ21lbnRPcHRpb25zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0tMSxpPTA7aTx0aGlzLmZyYWdtZW50ZWRUcmFja3MubGVuZ3RoO2krKyl7dmFyIHI9dGhpcy5mcmFnbWVudGVkVHJhY2tzW2ldO3IuaWQ9PXQmJihlPWkpfWU+LTEmJnRoaXMuZnJhZ21lbnRlZFRyYWNrcy5zcGxpY2UoZSwxKX0sdi5wcm90b3R5cGUuc2V0RXh0cmFjdGlvbk9wdGlvbnM9ZnVuY3Rpb24odCxlLGkpe3ZhciByPXRoaXMuZ2V0VHJhY2tCeUlkKHQpO2lmKHIpe3ZhciBuPXt9O3RoaXMuZXh0cmFjdGVkVHJhY2tzLnB1c2gobiksbi5pZD10LG4udXNlcj1lLG4udHJhaz1yLHIubmV4dFNhbXBsZT0wLG4ubmJfc2FtcGxlcz0xZTMsbi5zYW1wbGVzPVtdLGkmJmkubmJTYW1wbGVzJiYobi5uYl9zYW1wbGVzPWkubmJTYW1wbGVzKX19LHYucHJvdG90eXBlLnVuc2V0RXh0cmFjdGlvbk9wdGlvbnM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPS0xLGk9MDtpPHRoaXMuZXh0cmFjdGVkVHJhY2tzLmxlbmd0aDtpKyspe3ZhciByPXRoaXMuZXh0cmFjdGVkVHJhY2tzW2ldO3IuaWQ9PXQmJihlPWkpfWU+LTEmJnRoaXMuZXh0cmFjdGVkVHJhY2tzLnNwbGljZShlLDEpfSx2LnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbigpe3ZhciB0LGUsaT0hMTtpZighKHRoaXMucmVzdG9yZVBhcnNlUG9zaXRpb24mJiF0aGlzLnJlc3RvcmVQYXJzZVBvc2l0aW9uKCkpKWZvcig7OylpZih0aGlzLmhhc0luY29tcGxldGVNZGF0JiZ0aGlzLmhhc0luY29tcGxldGVNZGF0KCkpe2lmKHRoaXMucHJvY2Vzc0luY29tcGxldGVNZGF0KCkpY29udGludWU7cmV0dXJufWVsc2UgaWYodGhpcy5zYXZlUGFyc2VQb3NpdGlvbiYmdGhpcy5zYXZlUGFyc2VQb3NpdGlvbigpLHQ9cy5wYXJzZU9uZUJveCh0aGlzLnN0cmVhbSxpKSx0LmNvZGU9PT1zLkVSUl9OT1RfRU5PVUdIX0RBVEEpaWYodGhpcy5wcm9jZXNzSW5jb21wbGV0ZUJveCl7aWYodGhpcy5wcm9jZXNzSW5jb21wbGV0ZUJveCh0KSljb250aW51ZTtyZXR1cm59ZWxzZSByZXR1cm47ZWxzZXt2YXIgcjtzd2l0Y2goZT10LmJveCxyPWUudHlwZSE9PSJ1dWlkIj9lLnR5cGU6ZS51dWlkLHRoaXMuYm94ZXMucHVzaChlKSxyKXtjYXNlIm1kYXQiOnRoaXMubWRhdHMucHVzaChlKTticmVhaztjYXNlIm1vb2YiOnRoaXMubW9vZnMucHVzaChlKTticmVhaztjYXNlIm1vb3YiOnRoaXMubW9vdlN0YXJ0Rm91bmQ9ITAsdGhpcy5tZGF0cy5sZW5ndGg9PT0wJiYodGhpcy5pc1Byb2dyZXNzaXZlPSEwKTtkZWZhdWx0OnRoaXNbcl0hPT12b2lkIDAmJnkud2FybigiSVNPRmlsZSIsIkR1cGxpY2F0ZSBCb3ggb2YgdHlwZTogIityKyIsIG92ZXJyaWRpbmcgcHJldmlvdXMgb2NjdXJyZW5jZSIpLHRoaXNbcl09ZTticmVha310aGlzLnVwZGF0ZVVzZWRCeXRlcyYmdGhpcy51cGRhdGVVc2VkQnl0ZXMoZSx0KX19LHYucHJvdG90eXBlLmNoZWNrQnVmZmVyPWZ1bmN0aW9uKHQpe2lmKHQ9PW51bGwpdGhyb3ciQnVmZmVyIG11c3QgYmUgZGVmaW5lZCBhbmQgbm9uIGVtcHR5IjtpZih0LmZpbGVTdGFydD09PXZvaWQgMCl0aHJvdyJCdWZmZXIgbXVzdCBoYXZlIGEgZmlsZVN0YXJ0IHByb3BlcnR5IjtyZXR1cm4gdC5ieXRlTGVuZ3RoPT09MD8oeS53YXJuKCJJU09GaWxlIiwiSWdub3JpbmcgZW1wdHkgYnVmZmVyIChmaWxlU3RhcnQ6ICIrdC5maWxlU3RhcnQrIikiKSx0aGlzLnN0cmVhbS5sb2dCdWZmZXJMZXZlbCgpLCExKTooe
1S5pbmZvKCJJU09GaWxlIiwiUHJvY2Vzc2luZyBidWZmZXIgKGZpbGVTdGFydDogIit0LmZpbGVTdGFydCsiKSIpLHQudXNlZEJ5dGVzPTAsdGhpcy5zdHJlYW0uaW5zZXJ0QnVmZmVyKHQpLHRoaXMuc3RyZWFtLmxvZ0J1ZmZlckxldmVsKCksdGhpcy5zdHJlYW0uaW5pdGlhbGl6ZWQoKT8hMDooeS53YXJuKCJJU09GaWxlIiwiTm90IHJlYWR5IHRvIHN0YXJ0IHBhcnNpbmciKSwhMSkpfSx2LnByb3RvdHlwZS5hcHBlbmRCdWZmZXI9ZnVuY3Rpb24odCxlKXt2YXIgaTtpZih0aGlzLmNoZWNrQnVmZmVyKHQpKXJldHVybiB0aGlzLnBhcnNlKCksdGhpcy5tb292U3RhcnRGb3VuZCYmIXRoaXMubW9vdlN0YXJ0U2VudCYmKHRoaXMubW9vdlN0YXJ0U2VudD0hMCx0aGlzLm9uTW9vdlN0YXJ0JiZ0aGlzLm9uTW9vdlN0YXJ0KCkpLHRoaXMubW9vdj8odGhpcy5zYW1wbGVMaXN0QnVpbHR8fCh0aGlzLmJ1aWxkU2FtcGxlTGlzdHMoKSx0aGlzLnNhbXBsZUxpc3RCdWlsdD0hMCksdGhpcy51cGRhdGVTYW1wbGVMaXN0cygpLHRoaXMub25SZWFkeSYmIXRoaXMucmVhZHlTZW50JiYodGhpcy5yZWFkeVNlbnQ9ITAsdGhpcy5vblJlYWR5KHRoaXMuZ2V0SW5mbygpKSksdGhpcy5wcm9jZXNzU2FtcGxlcyhlKSx0aGlzLm5leHRTZWVrUG9zaXRpb24/KGk9dGhpcy5uZXh0U2Vla1Bvc2l0aW9uLHRoaXMubmV4dFNlZWtQb3NpdGlvbj12b2lkIDApOmk9dGhpcy5uZXh0UGFyc2VQb3NpdGlvbix0aGlzLnN0cmVhbS5nZXRFbmRGaWxlUG9zaXRpb25BZnRlciYmKGk9dGhpcy5zdHJlYW0uZ2V0RW5kRmlsZVBvc2l0aW9uQWZ0ZXIoaSkpKTp0aGlzLm5leHRQYXJzZVBvc2l0aW9uP2k9dGhpcy5uZXh0UGFyc2VQb3NpdGlvbjppPTAsdGhpcy5zaWR4JiZ0aGlzLm9uU2lkeCYmIXRoaXMuc2lkeFNlbnQmJih0aGlzLm9uU2lkeCh0aGlzLnNpZHgpLHRoaXMuc2lkeFNlbnQ9ITApLHRoaXMubWV0YSYmKHRoaXMuZmxhdHRlbkl0ZW1JbmZvJiYhdGhpcy5pdGVtTGlzdEJ1aWx0JiYodGhpcy5mbGF0dGVuSXRlbUluZm8oKSx0aGlzLml0ZW1MaXN0QnVpbHQ9ITApLHRoaXMucHJvY2Vzc0l0ZW1zJiZ0aGlzLnByb2Nlc3NJdGVtcyh0aGlzLm9uSXRlbSkpLHRoaXMuc3RyZWFtLmNsZWFuQnVmZmVycyYmKHkuaW5mbygiSVNPRmlsZSIsIkRvbmUgcHJvY2Vzc2luZyBidWZmZXIgKGZpbGVTdGFydDogIit0LmZpbGVTdGFydCsiKSAtIG5leHQgYnVmZmVyIHRvIGZldGNoIHNob3VsZCBoYXZlIGEgZmlsZVN0YXJ0IHBvc2l0aW9uIG9mICIraSksdGhpcy5zdHJlYW0ubG9nQnVmZmVyTGV2ZWwoKSx0aGlzLnN0cmVhbS5jbGVhbkJ1ZmZlcnMoKSx0aGlzLnN0cmVhbS5sb2dCdWZmZXJMZXZlbCghMCkseS5pbmZvKCJJU09GaWxlIiwiU2FtcGxlIGRhdGEgc2l6ZSBpbiBtZW1vcnk6ICIrdGhpcy5nZXRBbGxvY2F0ZWRTYW1wbGVEYXRhU2l6ZSgpKSksaX0sdi5wcm90b3R5cGUuZ2V0SW5mbz1mdW5jdGlvbigpe3ZhciB0LGUsaT17fSxyLG4sYSxvLGY9bmV3IERhdGUoIjE5MDQtMDEtMDFUMDA6MDA6MDBaIikuZ2V0VGltZSgpO2lmKHRoaXMubW9vdilmb3IoaS5oYXNNb292PSEwLGkuZHVyYXRpb249dGhpcy5tb292Lm12aGQuZHVyYXRpb24saS50aW1lc2NhbGU9dGhpcy5tb292Lm12aGQudGltZXNjYWxlLGkuaXNGcmFnbWVudGVkPXRoaXMubW9vdi5tdmV4IT1udWxsLGkuaXNGcmFnbWVudGVkJiZ0aGlzLm1vb3YubXZleC5tZWhkJiYoaS5mcmFnbWVudF9kdXJhdGlvbj10aGlzLm1vb3YubXZleC5tZWhkLmZyYWdtZW50X2R1cmF0aW9uKSxpLmlzUHJvZ3Jlc3NpdmU9dGhpcy5pc1Byb2dyZXNzaXZlLGkuaGFzSU9EPXRoaXMubW9vdi5pb2RzIT1udWxsLGkuYnJhbmRzPVtdLGkuYnJhbmRzLnB1c2godGhpcy5mdHlwLm1ham9yX2JyYW5kKSxpLmJyYW5kcz1pLmJyYW5kcy5jb25jYXQodGhpcy5mdHlwLmNvbXBhdGlibGVfYnJhbmRzKSxpLmNyZWF0ZWQ9bmV3IERhdGUoZit0aGlzLm1vb3YubXZoZC5jcmVhdGlvbl90aW1lKjFlMyksaS5tb2RpZmllZD1uZXcgRGF0ZShmK3RoaXMubW9vdi5tdmhkLm1vZGlmaWNhdGlvbl90aW1lKjFlMyksaS50cmFja3M9W10saS5hdWRpb1RyYWNrcz1bXSxpLnZpZGVvVHJhY2tzPVtdLGkuc3VidGl0bGVUcmFja3M9W10saS5tZXRhZGF0YVRyYWNrcz1bXSxpLmhpbnRUcmFja3M9W10saS5vdGhlclRyYWNrcz1bXSx0PTA7dDx0aGlzLm1vb3YudHJha3MubGVuZ3RoO3QrKyl7aWYocj10aGlzLm1vb3YudHJha3NbdF0sbz1yLm1kaWEubWluZi5zdGJsLnN0c2QuZW50cmllc1swXSxuPXt9LGkudHJhY2tzLnB1c2gobiksbi5pZD1yLnRraGQudHJhY2tfaWQsbi5uYW1lPXIubWRpYS5oZGxyLm5hbWUsbi5yZWZlcmVuY2VzPVtdLHIudHJlZilmb3IoZT0wO2U8ci50cmVmLmJveGVzLmxlbmd0aDtlKyspYT17fSxuLnJlZmVyZW5jZXMucHVzaChhKSxhLnR5cGU9ci50cmVmLmJveGVzW2VdLnR5cGUsYS50cmFja19pZHM9ci50cmVmLmJveGVzW2VdLnRyYWNrX2lkcztyLmVkdHMmJihuLmVkaXRzPXIuZWR0cy5lbHN0LmVudHJpZXMpLG4uY3JlYXRlZD1uZXcgRGF0ZShmK3IudGtoZC5jcmVhdGlvbl90aW1lKjFlMyksbi5tb2RpZmllZD1uZXcgRGF0ZShmK3IudGtoZC5tb2RpZmljYXRpb25fdGltZSoxZTMpLG4ubW92aWVfZHVyYXRpb249ci50a2hkLmR1cmF0aW9uLG4ubW92aWVfdGltZXNjYWxlPWkudGltZXNjYWxlLG4ubGF5ZXI9ci50a2hkLmxheWVyLG4uYWx0ZXJuYXRlX2dyb3VwPXIudGtoZC5hbHRlcm5hdGVfZ3JvdXAsbi52b2x1bWU9ci50a2hkLnZvbHVtZSxuLm1hdHJpeD1yLnRraGQubWF0cml4LG4udHJhY2tfd2lkdGg9ci50a2hkLndpZHRoLzY1NTM2LG4udHJhY2tfaGVpZ2h0PXIudGtoZC5oZWlnaHQvNjU1MzYsbi50aW1lc2NhbGU9ci5tZGlhLm1kaGQudGltZXNjYWxlLG4uY3RzX3NoaWZ0PXIubWRpYS5taW5mLnN0YmwuY3NsZyxuLmR1cmF0aW9uPXIubWRpYS5tZGhkLmR1cmF0aW9uLG4uc2FtcGxlc19kdXJhdGlvbj1yLnNhbXBsZXNfZHVyYXRpb24sbi5jb2RlYz1vLmdldENvZGVjKCksbi5raW5kPXIudWR0YSYmci51ZHRhLmtpbmRzLmxlbmd0aD9yLnVkdGEua2luZHNbMF06e3NjaGVtZVVSSToiIix2YWx1ZToiIn0sbi5sYW5ndWFnZT1yLm1kaWEuZWxuZz9yLm1kaWEuZWxuZy5leHRlbmRlZF9sYW5ndWFnZTpyLm1kaWEubWRoZC5sYW5ndWFnZVN0cmluZyxuLm5iX3NhbXBsZXM9ci5zYW1wbGVzLmxlbmd0aCxuLnNpemU9ci5zYW1wbGVzX3NpemUsbi5iaXRyYXRlPW4uc2l6ZSo4Km4udGltZXNjYWxlL24uc2FtcGxlc19kdXJhdGlvbixvLmlzQXVkaW8oKT8obi50eXBlPSJhdWRpbyIsaS5hdWRpb1RyYWNrcy
15wdXNoKG4pLG4uYXVkaW89e30sbi5hdWRpby5zYW1wbGVfcmF0ZT1vLmdldFNhbXBsZVJhdGUoKSxuLmF1ZGlvLmNoYW5uZWxfY291bnQ9by5nZXRDaGFubmVsQ291bnQoKSxuLmF1ZGlvLnNhbXBsZV9zaXplPW8uZ2V0U2FtcGxlU2l6ZSgpKTpvLmlzVmlkZW8oKT8obi50eXBlPSJ2aWRlbyIsaS52aWRlb1RyYWNrcy5wdXNoKG4pLG4udmlkZW89e30sbi52aWRlby53aWR0aD1vLmdldFdpZHRoKCksbi52aWRlby5oZWlnaHQ9by5nZXRIZWlnaHQoKSk6by5pc1N1YnRpdGxlKCk/KG4udHlwZT0ic3VidGl0bGVzIixpLnN1YnRpdGxlVHJhY2tzLnB1c2gobikpOm8uaXNIaW50KCk/KG4udHlwZT0ibWV0YWRhdGEiLGkuaGludFRyYWNrcy5wdXNoKG4pKTpvLmlzTWV0YWRhdGEoKT8obi50eXBlPSJtZXRhZGF0YSIsaS5tZXRhZGF0YVRyYWNrcy5wdXNoKG4pKToobi50eXBlPSJtZXRhZGF0YSIsaS5vdGhlclRyYWNrcy5wdXNoKG4pKX1lbHNlIGkuaGFzTW9vdj0hMTtpZihpLm1pbWU9IiIsaS5oYXNNb292JiZpLnRyYWNrcyl7Zm9yKGkudmlkZW9UcmFja3MmJmkudmlkZW9UcmFja3MubGVuZ3RoPjA/aS5taW1lKz0ndmlkZW8vbXA0OyBjb2RlY3M9Iic6aS5hdWRpb1RyYWNrcyYmaS5hdWRpb1RyYWNrcy5sZW5ndGg+MD9pLm1pbWUrPSdhdWRpby9tcDQ7IGNvZGVjcz0iJzppLm1pbWUrPSdhcHBsaWNhdGlvbi9tcDQ7IGNvZGVjcz0iJyx0PTA7dDxpLnRyYWNrcy5sZW5ndGg7dCsrKXQhPT0wJiYoaS5taW1lKz0iLCIpLGkubWltZSs9aS50cmFja3NbdF0uY29kZWM7aS5taW1lKz0nIjsgcHJvZmlsZXM9IicsaS5taW1lKz10aGlzLmZ0eXAuY29tcGF0aWJsZV9icmFuZHMuam9pbigpLGkubWltZSs9JyInfXJldHVybiBpfSx2LnByb3RvdHlwZS5wcm9jZXNzU2FtcGxlcz1mdW5jdGlvbih0KXt2YXIgZSxpO2lmKHRoaXMuc2FtcGxlUHJvY2Vzc2luZ1N0YXJ0ZWQpe2lmKHRoaXMuaXNGcmFnbWVudGF0aW9uSW5pdGlhbGl6ZWQmJnRoaXMub25TZWdtZW50IT09bnVsbClmb3IoZT0wO2U8dGhpcy5mcmFnbWVudGVkVHJhY2tzLmxlbmd0aDtlKyspe3ZhciByPXRoaXMuZnJhZ21lbnRlZFRyYWNrc1tlXTtmb3IoaT1yLnRyYWs7aS5uZXh0U2FtcGxlPGkuc2FtcGxlcy5sZW5ndGgmJnRoaXMuc2FtcGxlUHJvY2Vzc2luZ1N0YXJ0ZWQ7KXt5LmRlYnVnKCJJU09GaWxlIiwiQ3JlYXRpbmcgbWVkaWEgZnJhZ21lbnQgb24gdHJhY2sgIyIrci5pZCsiIGZvciBzYW1wbGUgIitpLm5leHRTYW1wbGUpO3ZhciBuPXRoaXMuY3JlYXRlRnJhZ21lbnQoci5pZCxpLm5leHRTYW1wbGUsci5zZWdtZW50U3RyZWFtKTtpZihuKXIuc2VnbWVudFN0cmVhbT1uLGkubmV4dFNhbXBsZSsrO2Vsc2UgYnJlYWs7aWYoKGkubmV4dFNhbXBsZSVyLm5iX3NhbXBsZXM9PT0wfHx0fHxpLm5leHRTYW1wbGU+PWkuc2FtcGxlcy5sZW5ndGgpJiYoeS5pbmZvKCJJU09GaWxlIiwiU2VuZGluZyBmcmFnbWVudGVkIGRhdGEgb24gdHJhY2sgIyIrci5pZCsiIGZvciBzYW1wbGVzIFsiK01hdGgubWF4KDAsaS5uZXh0U2FtcGxlLXIubmJfc2FtcGxlcykrIiwiKyhpLm5leHRTYW1wbGUtMSkrIl0iKSx5LmluZm8oIklTT0ZpbGUiLCJTYW1wbGUgZGF0YSBzaXplIGluIG1lbW9yeTogIit0aGlzLmdldEFsbG9jYXRlZFNhbXBsZURhdGFTaXplKCkpLHRoaXMub25TZWdtZW50JiZ0aGlzLm9uU2VnbWVudChyLmlkLHIudXNlcixyLnNlZ21lbnRTdHJlYW0uYnVmZmVyLGkubmV4dFNhbXBsZSx0fHxpLm5leHRTYW1wbGU+PWkuc2FtcGxlcy5sZW5ndGgpLHIuc2VnbWVudFN0cmVhbT1udWxsLHIhPT10aGlzLmZyYWdtZW50ZWRUcmFja3NbZV0pKWJyZWFrfX1pZih0aGlzLm9uU2FtcGxlcyE9PW51bGwpZm9yKGU9MDtlPHRoaXMuZXh0cmFjdGVkVHJhY2tzLmxlbmd0aDtlKyspe3ZhciBhPXRoaXMuZXh0cmFjdGVkVHJhY2tzW2VdO2ZvcihpPWEudHJhaztpLm5leHRTYW1wbGU8aS5zYW1wbGVzLmxlbmd0aCYmdGhpcy5zYW1wbGVQcm9jZXNzaW5nU3RhcnRlZDspe3kuZGVidWcoIklTT0ZpbGUiLCJFeHBvcnRpbmcgb24gdHJhY2sgIyIrYS5pZCsiIHNhbXBsZSA
1jIitpLm5leHRTYW1wbGUpO3ZhciBvPXRoaXMuZ2V0U2FtcGxlKGksaS5uZXh0U2FtcGxlKTtpZihvKWkubmV4dFNhbXBsZSsrLGEuc2FtcGxlcy5wdXNoKG8pO2Vsc2UgYnJlYWs7aWYoKGkubmV4dFNhbXBsZSVhLm5iX3NhbXBsZXM9PT0wfHxpLm5leHRTYW1wbGU+PWkuc2FtcGxlcy5sZW5ndGgpJiYoeS5kZWJ1ZygiSVNPRmlsZSIsIlNlbmRpbmcgc2FtcGxlcyBvbiB0cmFjayAjIithLmlkKyIgZm9yIHNhbXBsZSAiK2kubmV4dFNhbXBsZSksdGhpcy5vblNhbXBsZXMmJnRoaXMub25TYW1wbGVzKGEuaWQsYS51c2VyLGEuc2FtcGxlcyksYS5zYW1wbGVzPVtdLGEhPT10aGlzLmV4dHJhY3RlZFRyYWNrc1tlXSkpYnJlYWt9fX19LHYucHJvdG90eXBlLmdldEJveD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldEJveGVzKHQsITApO3JldHVybiBlLmxlbmd0aD9lWzBdOm51bGx9LHYucHJvdG90eXBlLmdldEJveGVzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9W107cmV0dXJuIHYuX3N3ZWVwLmNhbGwodGhpcyx0LGksZSksaX0sdi5fc3dlZXA9ZnVuY3Rpb24odCxlLGkpe3RoaXMudHlwZSYmdGhpcy50eXBlPT10JiZlLnB1c2godGhpcyk7Zm9yKHZhciByIGluIHRoaXMuYm94ZXMpe2lmKGUubGVuZ3RoJiZpKXJldHVybjt2Ll9zd2VlcC5jYWxsKHRoaXMuYm94ZXNbcl0sdCxlLGkpfX0sdi5wcm90b3R5cGUuZ2V0VHJhY2tTYW1wbGVzSW5mbz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldFRyYWNrQnlJZCh0KTtpZihlKXJldHVybiBlLnNhbXBsZXN9LHYucHJvdG90eXBlLmdldFRyYWNrU2FtcGxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5nZXRUcmFja0J5SWQodCkscj10aGlzLmdldFNhbXBsZShpLGUpO3JldHVybiByfSx2LnByb3RvdHlwZS5yZWxlYXNlVXNlZFNhbXBsZXM9ZnVuY3Rpb24odCxlKXt2YXIgaT0wLHI9dGhpcy5nZXRUcmFja0J5SWQodCk7ci5sYXN0VmFsaWRTYW1wbGV8fChyLmxhc3RWYWxpZFNhbXBsZT0wKTtmb3IodmFyIG49ci5sYXN0VmFsaWRTYW1wbGU7bjxlO24rKylpKz10aGlzLnJlbGVhc2VTYW1wbGUocixuKTt5LmluZm8oIklTT0ZpbGUiLCJUcmFjayAjIit0KyIgcmVsZWFzZWQgc2FtcGxlcyB1cCB0byAiK2UrIiAocmVsZWFzZWQgc2l6ZTogIitpKyIsIHJlbWFpbmluZzogIit0aGlzLnNhbXBsZXNEYXRhU2l6ZSsiKSIpLHIubGFzdFZhbGlkU2FtcGxlPWV9LHYucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7dGhpcy5zYW1wbGVQcm9jZXNzaW5nU3RhcnRlZD0hMCx0aGlzLnByb2Nlc3NTYW1wbGVzKCExKX0sdi5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuc2FtcGxlUHJvY2Vzc2luZ1N0YXJ0ZWQ9ITF9LHYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7eS5pbmZvKCJJU09GaWxlIiwiRmx1c2hpbmcgcmVtYWluaW5nIHNhbXBsZXMiKSx0aGlzLnVwZGF0ZVNhbXBsZUxpc3RzKCksdGhpcy5wcm9jZXNzU2FtcGxlcyghMCksdGhpcy5zdHJlYW0uY2xlYW5CdWZmZXJzKCksdGhpcy5zdHJlYW0ubG9nQnVmZmVyTGV2ZWwoITApfSx2LnByb3RvdHlwZS5zZWVrVHJhY2s9ZnVuY3Rpb24odCxlLGkpe3ZhciByLG4sYT0xLzAsbz0wLGY9MCxoO2lmKGkuc2FtcGxlcy5sZW5ndGg9PT0wKXJldHVybiB5LmluZm8oIklTT0ZpbGUiLCJObyBzYW1wbGUgaW4gdHJhY2ssIGNhbm5vdCBzZWVrISBVc2luZyB0aW1lICIreS5nZXREdXJhdGlvblN0cmluZygwLDEpKyIgYW5kIG9mZnNldDogMCIpLHtvZmZzZXQ6MCx0aW1lOjB9O2ZvcihyPTA7cjxpLnNhbXBsZXMubGVuZ3RoO3IrKyl7aWYobj1pLnNhbXBsZXNbcl0scj09PTApZj0wLGg9bi50aW1lc2NhbGU7ZWxzZSBpZihuLmN0cz50Km4udGltZXNjYWxlKXtmPXItMTticmVha31lJiZuLmlzX3N5bmMmJihvPXIpfWZvcihlJiYoZj1vKSx0PWkuc2FtcGxlc1tmXS5jdHMsaS5uZXh0U2FtcGxlPWY7aS5zYW1wbGVzW2ZdLmFscmVhZHlSZWFkPT09aS5zYW1wbGVzW2ZdLnNpemUmJmkuc2FtcGxlc1tmKzFdOylmKys7cmV0dXJuIGE9aS5zYW1wbGVzW2ZdLm9mZnNldCtpLnNhbXBsZXNbZl0uYWxyZWFkeVJlYWQseS5pbmZvKCJJU09GaWxlIiwiU2Vla2luZyB0byAiKyhlPyJSQVAiOiIiKSsiIHNhbXBsZSA
1jIitpLm5leHRTYW1wbGUrIiBvbiB0cmFjayAiK2kudGtoZC50cmFja19pZCsiLCB0aW1lICIreS5nZXREdXJhdGlvblN0cmluZyh0LGgpKyIgYW5kIG9mZnNldDogIithKSx7b2Zmc2V0OmEsdGltZTp0L2h9fSx2LnByb3RvdHlwZS5zZWVrPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5tb292LHIsbixhLG89e29mZnNldDoxLzAsdGltZToxLzB9O2lmKHRoaXMubW9vdil7Zm9yKGE9MDthPGkudHJha3MubGVuZ3RoO2ErKylyPWkudHJha3NbYV0sbj10aGlzLnNlZWtUcmFjayh0LGUsciksbi5vZmZzZXQ8by5vZmZzZXQmJihvLm9mZnNldD1uLm9mZnNldCksbi50aW1lPG8udGltZSYmKG8udGltZT1uLnRpbWUpO3JldHVybiB5LmluZm8oIklTT0ZpbGUiLCJTZWVraW5nIGF0IHRpbWUgIit5LmdldER1cmF0aW9uU3RyaW5nKG8udGltZSwxKSsiIG5lZWRzIGEgYnVmZmVyIHdpdGggYSBmaWxlU3RhcnQgcG9zaXRpb24gb2YgIitvLm9mZnNldCksby5vZmZzZXQ9PT0xLzA/bz17b2Zmc2V0OnRoaXMubmV4dFBhcnNlUG9zaXRpb24sdGltZTowfTpvLm9mZnNldD10aGlzLnN0cmVhbS5nZXRFbmRGaWxlUG9zaXRpb25BZnRlcihvLm9mZnNldCkseS5pbmZvKCJJU09GaWxlIiwiQWRqdXN0ZWQgc2VlayBwb3NpdGlvbiAoYWZ0ZXIgY2hlY2tpbmcgZGF0YSBhbHJlYWR5IGluIGJ1ZmZlcik6ICIrby5vZmZzZXQpLG99ZWxzZSB0aHJvdyJDYW5ub3Qgc2VlazogbW9vdiBub3QgcmVjZWl2ZWQhIn0sdi5wcm90b3R5cGUuZXF1YWw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmJveGVzLmxlbmd0aCYmZTx0LmJveGVzLmxlbmd0aDspe3ZhciBpPXRoaXMuYm94ZXNbZV0scj10LmJveGVzW2VdO2lmKCFzLmJveEVxdWFsKGkscikpcmV0dXJuITE7ZSsrfXJldHVybiEwfSx0eXBlb2YgZXhwb3J0czwidSImJihleHBvcnRzLklTT0ZpbGU9diksdi5wcm90b3R5cGUubGFzdEJveFN0YXJ0UG9zaXRpb249MCx2LnByb3RvdHlwZS5wYXJzaW5nTWRhdD1udWxsLHYucHJvdG90eXBlLm5leHRQYXJzZVBvc2l0aW9uPTAsdi5wcm90b3R5cGUuZGlzY2FyZE1kYXREYXRhPSExLHYucHJvdG90eXBlLnByb2Nlc3NJbmNvbXBsZXRlQm94PWZ1bmN0aW9uKHQpe3ZhciBlLGkscjtyZXR1cm4gdC50eXBlPT09Im1kYXQiPyhlPW5ldyBzW3QudHlwZSsiQm94Il0odC5zaXplKSx0aGlzLnBhcnNpbmdNZGF0PWUsdGhpcy5ib3hlcy5wdXNoKGUpLHRoaXMubWRhdHMucHVzaChlKSxlLnN0YXJ0PXQuc3RhcnQsZS5oZHJfc2l6ZT10Lmhkcl9zaXplLHRoaXMuc3RyZWFtLmFkZFVzZWRCeXRlcyhlLmhkcl9zaXplKSx0aGlzLmxhc3RCb3hTdGFydFBvc2l0aW9uPWUuc3RhcnQrZS5zaXplLHI9dGhpcy5zdHJlYW0uc2VlayhlLnN0YXJ0K2Uuc2l6ZSwhMSx0aGlzLmRpc2NhcmRNZGF0RGF0YSkscj8odGhpcy5wYXJzaW5nTWRhdD1udWxsLCEwKToodGhpcy5tb292U3RhcnRGb3VuZD90aGlzLm5leHRQYXJzZVBvc2l0aW9uPXRoaXMuc3RyZWFtLmZpbmRFbmRDb250aWd1b3VzQnVmKCk6dGhpcy5uZXh0UGFyc2VQb3NpdGlvbj1lLnN0YXJ0K2Uuc2l6ZSwhMSkpOih0LnR5cGU9PT0ibW9vdiImJih0aGlzLm1vb3ZTdGFydEZvdW5kPSEwLHRoaXMubWRhdHMubGVuZ3RoPT09MCYmKHRoaXMuaXNQcm9ncmVzc2l2ZT0hMCkpLGk9dGhpcy5zdHJlYW0ubWVyZ2VOZXh0QnVmZmVyP3RoaXMuc3RyZWFtLm1lcmdlTmV4dEJ1ZmZlcigpOiExLGk/KHRoaXMubmV4dFBhcnNlUG9zaXRpb249dGhpcy5zdHJlYW0uZ2V0RW5kUG9zaXRpb24oKSwhMCk6KHQudHlwZT90aGlzLm1vb3ZTdGFydEZvdW5kP3RoaXMubmV4dFBhcnNlUG9zaXRpb249dGhpcy5zdHJlYW0uZ2V0RW5kUG9zaXRpb24oKTp0aGlzLm5leHRQYXJzZVBvc2l0aW9uPXRoaXMuc3RyZWFtLmdldFBvc2l0aW9uKCkrdC5zaXplOnRoaXMubmV4dFBhcnNlUG9zaXRpb249dGhpcy5zdHJlYW0uZ2V0RW5kUG9zaXRpb24oKSwhMSkpfSx2LnByb3RvdHlwZS5oYXNJbmNvbXBsZXRlTWRhdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcnNpbmdNZGF0IT09bnVsbH0sdi5wcm90b3R5cGUucHJvY2Vzc0luY29tcGxldGVNZGF0PWZ1bmN0aW9uKCl7dmFyIHQsZTtyZXR1cm4gdD10aGlzLnBhcnNpbmdNZGF0LGU9dGhpcy5zdHJlYW0uc2Vlayh0LnN0YXJ0K3Quc2l6ZSwhMSx0aGlzLmRpc2NhcmRNZGF0RGF0YSksZT8oeS5kZWJ1ZygiSVNPRmlsZSIsIkZvdW5kICdtZGF0JyBlbmQgaW4gYnVmZmVyZWQgZGF0YSIpLHRoaXMucGFyc2luZ01kYXQ9bnVsbCwhMCk6KHRoaXMubmV4dFBhcnNlUG9zaXRpb249dGhpcy5zdHJlYW0uZmluZEVuZENvbnRpZ3VvdXNCdWYoKSwhMSl9LHYucHJvdG90eXBlLnJlc3RvcmVQYXJzZVBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RyZWFtLnNlZWsodGhpcy5sYXN0Qm94U3RhcnRQb3NpdGlvbiwhMCx0aGlzLmRpc2NhcmRNZGF0RGF0YSl9LHYucHJvdG90eXBlLnNhdmVQYXJzZVBvc2l0aW9uPWZ1bmN0aW9uKCl7dGhpcy5sYXN0Qm94U3RhcnRQb3NpdGlvbj10aGlzLnN0cmVhbS5nZXRQb3NpdGlvbigpfSx2LnByb3RvdHlwZS51cGRhdGVVc2VkQnl0ZXM9ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5hZGRVc2VkQnl0ZXMmJih0LnR5cGU9PT0ibWRhdCI/KHRoaXMuc3RyZWFtLmFkZFVzZWRCeXRlcyh0Lmhkcl9zaXplKSx0aGlzLmRpc2NhcmRNZGF0RGF0YSYmdGhpcy5zdHJlYW0uYWRkVXNlZEJ5dGVzKHQuc2l6ZS10Lmhkcl9zaXplKSk6dGhpcy5zdHJlYW0uYWRkVXNlZEJ5dGVzKHQuc2l6ZSkpfSx2LnByb3RvdHlwZS5hZGQ9cy5Cb3gucHJvdG90eXBlLmFkZCx2LnByb3RvdHlwZS5hZGRCb3g9cy5Cb3gucHJvdG90eXBlLmFkZEJveCx2LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQpe3ZhciBlPXR8fHt9O3RoaXMuYWRkKCJmdHlwIikuc2V0KCJtYWpvcl9icmFuZCIsZS5icmFuZHMmJmUuYnJhbmRzWzBdfHwiaXNvNCIpLnNldCgibWlub3JfdmVyc2lvbiIsMCkuc2V0KCJjb21wYXRpYmxlX2JyYW5kcyIsZS5icmFuZHN8fFsiaXNvNCJdKTt2YXIgaT10aGlzLmFkZCgibW9vdiIpO3JldHVybiBpLmFkZCgibXZoZCIpLnNldCgidGltZXNjYWxlIixlLnRpbWVzY2FsZXx8NjAwKS5zZXQoInJhdGUiLGUucmF0ZXx8NjU1MzYpLnNldCgiY3JlYXRpb25fdGltZSIsMCkuc2V0KCJtb2RpZmljYXRpb25fdGltZSIsMCkuc2V0KCJkdXJhdGlvbiIsZS5kdXJhdGlvbnx8MCkuc2V0KCJ2b2x1bWUiLGUud2lkdGg/MDoyNTYpLnNldCgibWF0cml4IixbNjU1MzYsMCwwLDAsNjU1MzYsMCwwLDAsMTA3Mzc0MTgyNF0pLnNldCgibmV4dF90cmFja19pZCIsMSksaS5hZGQoIm12ZXgiKSx0aGlzfSx2LnByb3RvdHlwZS5hZGRUcmFjaz1mdW5jdGlvbih0KXt0aGlzLm1vb3Z8fHRoaXMuaW5pdCh0KTt2YXIgZT10fHx7fTtlLndpZHRoPWUud2lkdGh8fDMyMCxlLmhlaWdodD1lLmhlaWdodHx8MzIwLGUuaWQ9ZS5pZHx8dGhpcy5tb292Lm12aGQubmV4dF90cmFja19pZCxlLnR5cGU9ZS50eXBlfHwiYXZjMSI7dmFyIGk9dGhpcy5tb292LmFkZCgidHJhayIpO3RoaXMubW9vdi5tdmhkLm5leHRfdHJhY2tfaWQ9ZS5pZCsxLGkuYWRkKCJ0a2hkIikuc2V0KCJmbGFncyIscy5US0hEX0ZMQUdfRU5BQkxFRHxzLlRLSERfRkxBR19JTl9NT1ZJRXxzLlRLSERfRkxBR19JTl9QUkVWSUVXKS5zZXQoImNyZWF0aW9uX3RpbWUiLDApLnNldCgibW9kaWZpY2F0aW9uX3RpbWUiLDApLnNldCgidHJhY2tfaWQiLGUuaWQpLnNldCgiZHVyYXRpb24iLGUuZHVyYXRpb258fDApLnNldCgibGF5ZXIiLGUubGF5ZXJ8fDApLnNldCgiYWx0ZXJuYXRlX2dyb3VwIiwwKS5zZXQoInZvbHVtZSIsMSkuc2V0KCJtYXRyaXgiLFswLDAsMCwwLDAsMCwwLDAsMF0pLnNldCgid2lk
1dGgiLGUud2lkdGg8PDE2KS5zZXQoImhlaWdodCIsZS5oZWlnaHQ8PDE2KTt2YXIgcj1pLmFkZCgibWRpYSIpO3IuYWRkKCJtZGhkIikuc2V0KCJjcmVhdGlvbl90aW1lIiwwKS5zZXQoIm1vZGlmaWNhdGlvbl90aW1lIiwwKS5zZXQoInRpbWVzY2FsZSIsZS50aW1lc2NhbGV8fDEpLnNldCgiZHVyYXRpb24iLGUubWVkaWFfZHVyYXRpb258fDApLnNldCgibGFuZ3VhZ2UiLGUubGFuZ3VhZ2V8fCJ1bmQiKSxyLmFkZCgiaGRsciIpLnNldCgiaGFuZGxlciIsZS5oZGxyfHwidmlkZSIpLnNldCgibmFtZSIsZS5uYW1lfHwiVHJhY2sgY3JlYXRlZCB3aXRoIE1QNEJveC5qcyIpLHIuYWRkKCJlbG5nIikuc2V0KCJleHRlbmRlZF9sYW5ndWFnZSIsZS5sYW5ndWFnZXx8ImZyLUZSIik7dmFyIG49ci5hZGQoIm1pbmYiKTtpZihzW2UudHlwZSsiU2FtcGxlRW50cnkiXSE9PXZvaWQgMCl7dmFyIGE9bmV3IHNbZS50eXBlKyJTYW1wbGVFbnRyeSJdO2EuZGF0YV9yZWZlcmVuY2VfaW5kZXg9MTt2YXIgbz0iIjtmb3IodmFyIGYgaW4gcy5zYW1wbGVFbnRyeUNvZGVzKWZvcih2YXIgaD1zLnNhbXBsZUVudHJ5Q29kZXNbZl0sbD0wO2w8aC5sZW5ndGg7bCsrKWlmKGguaW5kZXhPZihlLnR5cGUpPi0xKXtvPWY7YnJlYWt9c3dpdGNoKG8pe2Nhc2UiVmlzdWFsIjppZihuLmFkZCgidm1oZCIpLnNldCgiZ3JhcGhpY3Ntb2RlIiwwKS5zZXQoIm9wY29sb3IiLFswLDAsMF0pLGEuc2V0KCJ3aWR0aCIsZS53aWR0aCkuc2V0KCJoZWlnaHQiLGUuaGVpZ2h0KS5zZXQoImhvcml6cmVzb2x1dGlvbiIsNzI8PDE2KS5zZXQoInZlcnRyZXNvbHV0aW9uIiw3Mjw8MTYpLnNldCgiZnJhbWVfY291bnQiLDEpLnNldCgiY29tcHJlc3Nvcm5hbWUiLGUudHlwZSsiIENvbXByZXNzb3IiKS5zZXQoImRlcHRoIiwyNCksZS5hdmNEZWNvZGVyQ29uZmlnUmVjb3JkKXt2YXIgdT1uZXcgcy5hdmNDQm94LF89bmV3IE8oZS5hdmNEZWNvZGVyQ29uZmlnUmVjb3JkKTt1LnBhcnNlKF8pLGEuYWRkQm94KHUpfWJyZWFrO2Nhc2UiQXVkaW8iOm4uYWRkKCJzbWhkIikuc2V0KCJiYWxhbmNlIixlLmJhbGFuY2V8fDApLGEuc2V0KCJjaGFubmVsX2NvdW50IixlLmNoYW5uZWxfY291bnR8fDIpLnNldCgic2FtcGxlc2l6ZSIsZS5zYW1wbGVzaXplfHwxNikuc2V0KCJzYW1wbGVyYXRlIixlLnNhbXBsZXJhdGV8fDY1NTM2KTticmVhaztjYXNlIkhpbnQiOm4uYWRkKCJobWhkIik7YnJlYWs7Y2FzZSJTdWJ0aXRsZSI6c3dpdGNoKG4uYWRkKCJzdGhkIiksZS50eXBlKXtjYXNlInN0cHAiOmEuc2V0KCJuYW1lc3BhY2UiLGUubmFtZXNwYWNlfHwibm9uYW1lc3BhY2UiKS5zZXQoInNjaGVtYV9sb2NhdGlvbiIsZS5zY2hlbWFfbG9jYXRpb258fCIiKS5zZXQoImF1eGlsaWFyeV9taW1lX3R5cGVzIixlLmF1eGlsaWFyeV9taW1lX3R5cGVzfHwiIik7YnJlYWt9YnJlYWs7Y2FzZSJNZXRhZGF0YSI6bi5hZGQoIm5taGQiKTticmVhaztjYXNlIlN5c3RlbSI6bi5hZGQoIm5taGQiKTticmVhaztkZWZhdWx0Om4uYWRkKCJubWhkIik7YnJlYWt9ZS5kZXNjcmlwdGlvbiYmYS5hZGRCb3goZS5kZXNjcmlwdGlvbiksZS5kZXNjcmlwdGlvbl9ib3hlcyYmZS5kZXNjcmlwdGlvbl9ib3hlcy5mb3JFYWNoKGZ1bmN0aW9uKHApe2EuYWRkQm94KHApfSksbi5hZGQoImRpbmYiKS5hZGQoImRyZWYiKS5hZGRFbnRyeShuZXcgc1sidXJsIEJveCJdKCkuc2V0KCJmbGFncyIsMSkpO3ZhciBnPW4uYWRkKCJzdGJsIik7cmV0dXJuIGcuYWRkKCJzdHNkIikuYWRkRW50cnkoYSksZy5hZGQoInN0dHMiKS5zZXQoInNhbXBsZV9jb3VudHMiLFtdKS5zZXQoInNhbXBsZV9kZWx0YXMiLFtdKSxnLmFkZCgic3RzYyIpLnNldCgiZmlyc3RfY2h1bmsiLFtdKS5zZXQoInNhbXBsZXNfcGVyX2NodW5rIixbXSkuc2V0KCJzYW1wbGVfZGVzY3JpcHRpb25faW5kZXgiLFtdKSxnLmFkZCgic3RjbyIpLnNldCgiY2h1bmtfb2Zmc2V0cyIsW10pLGcuYWRkKCJzdHN6Iikuc2V0KCJzYW1wbGVfc2l6ZXMiLFtdKSx0aGlzLm1vb3YubXZleC5hZGQoInRyZXgiKS5zZXQoInRyYWNrX2lkIixlLmlkKS5zZXQoImRlZmF1bHRfc2FtcGxlX2Rlc2NyaXB0aW9uX2luZGV4IixlLmRlZmF1bHRfc2FtcGxlX2Rlc2NyaXB0aW9uX2luZGV4fHwxKS5zZXQoImRlZmF1bHRfc2FtcGxlX2R1cmF0aW9uIixlLmRlZmF1bHRfc2FtcGxlX2R1cmF0aW9ufHwwKS5zZXQoImRlZmF1bHRfc2FtcGxlX3NpemUiLGUuZGVmYXVsdF9zYW1wbGVfc2l6ZXx8MCkuc2V0KCJkZWZhdWx0X3NhbXBsZV9mbGFncyIsZS5kZWZhdWx0X3NhbXBsZV9mbGFnc3x8MCksdGhpcy5idWlsZFRyYWtTYW1wbGVMaXN0cyhpKSxlLmlkfX0scy5Cb3gucHJvdG90eXBlLmNvbXB1dGVTaXplPWZ1bmN0aW9uKHQpe3ZhciBlPXR8fG5ldyBkO2UuZW5kaWFubmVzcz1kLkJJR19FTkRJQU4sdGhpcy53cml0ZShlKX0sdi5wcm90b3R5cGUuYWRkU2FtcGxlPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcj1pfHx7fSxuPXt9LGE9dGhpcy5nZXRUcmFja0J5SWQodCk7aWYoYSE9PW51bGwpe24ubnVtYmVyPWEuc2FtcGxlcy5sZW5ndGgsbi50cmFja19pZD1hLnRraGQudHJhY2tfaWQsbi50aW1lc2NhbGU9YS5tZGlhLm1kaGQudGltZXNjYWxlLG4uZGVzY3JpcHRpb25faW5kZXg9ci5zYW1wbGVfZGVzY3JpcHRpb25faW5kZXg/ci5zYW1wbGVfZGVzY3JpcHRpb25faW5kZXgtMTowLG4uZGVzY3JpcHRpb249YS5tZGlhLm1pbmYuc3RibC5zdHNkLmVudHJpZXNbbi5kZXNjcmlwdGlvbl9pbmRleF0sbi5kYXRhPWUsbi5zaXplPWUuYnl0ZUxlbmd0aCxuLmFscmVhZHlSZWFkPW4uc2l6ZSxuLmR1cmF0aW9uPXIuZHVyYXRpb258fDEsbi5jdHM9ci5jdHN8fDAsbi5kdHM9ci5kdHN8fDAsbi5pc19zeW5jPXIuaXNfc3luY3x8ITEsbi5pc19sZWFkaW5nPXIuaXNfbGVhZGluZ3x8MCxuLmRlcGVuZHNfb249ci5kZXBlbmRzX29ufHwwLG4uaXNfZGVwZW5kZWRfb249ci5pc19kZXBlbmRlZF9vbnx8MCxuLmhhc19yZWR1bmRhbmN5PXIuaGFzX3JlZHVuZGFuY3l8fDAsbi5kZWdyYWRhdGlvbl9wcmlvcml0eT1yLmRlZ3JhZGF0aW9uX3ByaW9yaXR5fHwwLG4ub2Zmc2V0PTAsbi5zdWJzYW1wbGVzPXIuc3Vic2FtcGxlcyxhLnNhbXBsZXMucHVzaChuKSxhLnNhbXBsZXNfc2l6ZSs9bi5zaXplLGEuc2FtcGxlc19kdXJhdGlvbis9bi5kdXJhdGlvbixhLmZpcnN0X2R0c3x8KGEuZmlyc3RfZHRzPXIuZHRzKSx0aGlzLnByb2Nlc3NTYW1wbGVzKCk7dmFyIG89dGhpcy5jcmVhdGVTaW5nbGVTYW1wbGVNb29mKG4pO3JldHVybiB0aGlzLmFkZEJveChvKSxvLmNvbXB1dGVTaXplKCksby50cmFmc1swXS50cnVuc1swXS5kYXRhX29mZnNldD1vLnNpemUrOCx0aGlzLmFkZCgibWRhdCIpLmRhdGE9bmV3IFVpbnQ4QXJyYXkoZSksbn19LHYucHJvdG90eXBlLmNyZWF0ZVNpbmdsZVNhbXBsZU1vb2Y9ZnVuY3Rpb24odCl7dmFyIGU9MDt0LmlzX3N5bmM/ZT0xPDwyNTplPTY1NTM2O3ZhciBpPW5ldyBzLm1vb2ZCb3g7aS5hZGQoIm1maGQiKS5zZXQoInNlcXVlbmNlX251bWJlciIsdGhpcy5uZXh0TW9vZk51bWJlciksdGhpcy5uZXh0TW9vZk51bWJlcisrO3ZhciByPWkuYWRkKCJ0cmFmIiksbj10aGlzLmdldFRyYWNrQnlJZCh0LnRyYWNrX2lkKTtyZXR1cm4gci5hZGQoInRmaGQiKS5zZXQoInRyYWNrX2lkIix0LnRyYWNrX2lkKS5zZXQoImZsYWdzIixzLlRGSERfRkxBR19ERUZBVUxUX0JBU0VfSVNfTU9PRiksci5hZGQoInRmZHQiKS5zZXQoImJhc2VNZWRpYURlY29kZVRpbWUiLHQuZHRzLShuLmZpcnN0X2R0c3x8MCkpLHIuYWRkKCJ0cnVuIikuc2V0KCJmbGFncyIscy5UUlVOX0ZMQUdTX0RBVEFfT0ZGU0VUfHMuVFJVTl9GTEFHU19EVVJBVElPTnxzLlRSVU5fRkxBR1NfU0laRXxzLlRSVU5fRkxBR1NfRkxBR1N8cy5UUlVOX0ZMQUdTX0NUU19PRkZTRVQpLnNldCgiZGF0YV9vZmZzZXQiLDApLnNldCgiZmlyc3Rfc2FtcGxlX2ZsYWdzIiwwKS5zZXQoInNhbXBsZV9jb3VudCIsMSkuc2V0KCJzYW1wbGVfZHVyYXRpb24iLFt0LmR1cmF0aW9uXSkuc2V0KCJzYW1wbGVfc2l6ZSIsW3Quc2l6ZV0pLnNldCgic2FtcGxlX2ZsYWdzIixbZV0pLnNldCgic2FtcGxlX2NvbXBvc2l0aW9uX3RpbWVfb2Zmc2V0IixbdC
15jdHMtdC5kdHNdKSxpfSx2LnByb3RvdHlwZS5sYXN0TW9vZkluZGV4PTAsdi5wcm90b3R5cGUuc2FtcGxlc0RhdGFTaXplPTAsdi5wcm90b3R5cGUucmVzZXRUYWJsZXM9ZnVuY3Rpb24oKXt2YXIgdCxlLGkscixuLGEsbyxmO2Zvcih0aGlzLmluaXRpYWxfZHVyYXRpb249dGhpcy5tb292Lm12aGQuZHVyYXRpb24sdGhpcy5tb292Lm12aGQuZHVyYXRpb249MCx0PTA7dDx0aGlzLm1vb3YudHJha3MubGVuZ3RoO3QrKyl7ZT10aGlzLm1vb3YudHJha3NbdF0sZS50a2hkLmR1cmF0aW9uPTAsZS5tZGlhLm1kaGQuZHVyYXRpb249MCxpPWUubWRpYS5taW5mLnN0Ymwuc3Rjb3x8ZS5tZGlhLm1pbmYuc3RibC5jbzY0LGkuY2h1bmtfb2Zmc2V0cz1bXSxyPWUubWRpYS5taW5mLnN0Ymwuc3RzYyxyLmZpcnN0X2NodW5rPVtdLHIuc2FtcGxlc19wZXJfY2h1bms9W10sci5zYW1wbGVfZGVzY3JpcHRpb25faW5kZXg9W10sbj1lLm1kaWEubWluZi5zdGJsLnN0c3p8fGUubWRpYS5taW5mLnN0Ymwuc3R6MixuLnNhbXBsZV9zaXplcz1bXSxhPWUubWRpYS5taW5mLnN0Ymwuc3R0cyxhLnNhbXBsZV9jb3VudHM9W10sYS5zYW1wbGVfZGVsdGFzPVtdLG89ZS5tZGlhLm1pbmYuc3RibC5jdHRzLG8mJihvLnNhbXBsZV9jb3VudHM9W10sby5zYW1wbGVfb2Zmc2V0cz1bXSksZj1lLm1kaWEubWluZi5zdGJsLnN0c3M7dmFyIGg9ZS5tZGlhLm1pbmYuc3RibC5ib3hlcy5pbmRleE9mKGYpO2ghPS0xJiYoZS5tZGlhLm1pbmYuc3RibC5ib3hlc1toXT1udWxsKX19LHYuaW5pdFNhbXBsZUdyb3Vwcz1mdW5jdGlvbih0LGUsaSxyLG4pe3ZhciBhLG8sZixoO2Z1bmN0aW9uIGwodSxfLGcpe3RoaXMuZ3JvdXBpbmdfdHlwZT11LHRoaXMuZ3JvdXBpbmdfdHlwZV9wYXJhbWV0ZXI9Xyx0aGlzLnNiZ3A9Zyx0aGlzLmxhc3Rfc2FtcGxlX2luX3J1bj0tMSx0aGlzLmVudHJ5X2luZGV4PS0xfWZvcihlJiYoZS5zYW1wbGVfZ3JvdXBzX2luZm89W10pLHQuc2FtcGxlX2dyb3Vwc19pbmZvfHwodC5zYW1wbGVfZ3JvdXBzX2luZm89W10pLG89MDtvPGkubGVuZ3RoO28rKyl7Zm9yKGg9aVtvXS5ncm91cGluZ190eXBlKyIvIitpW29dLmdyb3VwaW5nX3R5cGVfcGFyYW1ldGVyLGY9bmV3IGwoaVtvXS5ncm91cGluZ190eXBlLGlbb10uZ3JvdXBpbmdfdHlwZV9wYXJhbWV0ZXIsaVtvXSksZSYmKGUuc2FtcGxlX2dyb3Vwc19pbmZvW2hdPWYpLHQuc2FtcGxlX2dyb3Vwc19pbmZvW2hdfHwodC5zYW1wbGVfZ3JvdXBzX2luZm9baF09ZiksYT0wO2E8ci5sZW5ndGg7YSsrKXJbYV0uZ3JvdXBpbmdfdHlwZT09PWlbb10uZ3JvdXBpbmdfdHlwZSYmKGYuZGVzY3JpcHRpb249clthXSxmLmRlc2NyaXB0aW9uLnVzZWQ9ITApO2lmKG4pZm9yKGE9MDthPG4ubGVuZ3RoO2ErKyluW2FdLmdyb3VwaW5nX3R5cGU9PT1pW29dLmdyb3VwaW5nX3R5cGUmJihmLmZyYWdtZW50X2Rlc2NyaXB0aW9uPW5bYV0sZi5mcmFnbWVudF9kZXNjcmlwdGlvbi51c2VkPSEwLGYuaXNfZnJhZ21lbnQ9ITApfWlmKGUpe2lmKG4pZm9yKG89MDtvPG4ubGVuZ3RoO28rKykhbltvXS51c2VkJiZuW29dLnZlcnNpb24+PTImJihoPW5bb10uZ3JvdXBpbmdfdHlwZSsiLzAiLGY9bmV3IGwobltvXS5ncm91cGluZ190eXBlLDApLGYuaXNfZnJhZ21lbnQ9ITAsZS5zYW1wbGVfZ3JvdXBzX2luZm9baF18fChlLnNhbXBsZV9ncm91cHNfaW5mb1toXT1mKSl9ZWxzZSBmb3Iobz0wO288ci5sZW5ndGg7bysrKSFyW29dLnVzZWQmJnJbb10udmVyc2lvbj49MiYmKGg9cltvXS5ncm91cGluZ190eXBlKyIvMCIsZj1uZXcgbChyW29dLmdyb3VwaW5nX3R5cGUsMCksdC5zYW1wbGVfZ3JvdXBzX2luZm9baF18fCh0LnNhbXBsZV9ncm91cHNfaW5mb1toXT1mKSl9LHYuc2V0U2FtcGxlR3JvdXBQcm9wZXJ0aWVzPWZ1bmN0aW9uKHQsZSxpLHIpe3ZhciBuLGE7ZS5zYW1wbGVfZ3JvdXBzPVtdO2ZvcihuIGluIHIpaWYoZS5zYW1wbGVfZ3JvdXBzW25dPXt9LGUuc2FtcGxlX2dyb3Vwc1tuXS5ncm91cGluZ190eXBlPXJbbl0uZ3JvdXBpbmdfdHlwZSxlLnNhbXBsZV9ncm91cHNbbl0uZ3JvdXBpbmdfdHlwZV9wYXJhbWV0ZXI9cltuXS5ncm91cGluZ190eXBlX3BhcmFtZXRlcixpPj1yW25dLmxhc3Rfc2FtcGxlX2luX3J1biYmKHJbbl0ubGFzdF9zYW1wbGVfaW5fcnVuPDAmJihyW25dLmxhc3Rfc2FtcGxlX2luX3J1bj0wKSxyW25dLmVudHJ5X2luZGV4KysscltuXS5lbnRyeV9pbmRleDw9cltuXS5zYmdwLmVudHJpZXMubGVuZ3RoLTEmJihyW25dLmxhc3Rfc2FtcGxlX2luX3J1bis9cltuXS5zYmdwLmVudHJpZXNbcltuXS5lbnRyeV9pbmRleF0uc2FtcGxlX2NvdW50KSkscltuXS5lbnRyeV9pbmRleDw9cltuXS5zYmdwLmVudHJpZXMubGVuZ3RoLTE/ZS5zYW1wbGVfZ3JvdXBzW25dLmdyb3VwX2Rlc2NyaXB0aW9uX2luZGV4PXJbbl0uc2JncC5lbnRyaWVzW3Jbbl0uZW50cnlfaW5kZXhdLmdyb3VwX2Rlc2NyaXB0aW9uX2luZGV4OmUuc2FtcGxlX2dyb3Vwc1tuXS5ncm91cF9kZXNjcmlwdGlvbl9pbmRleD0tMSxlLnNhbXBsZV9ncm91cHNbbl0uZ3JvdXBfZGVzY3JpcHRpb25faW5kZXghPT0wKXt2YXIgbztyW25dLmZyYWdtZW50X2Rlc2NyaXB0aW9uP289cltuXS5mcmFnbWVudF9kZXNjcmlwdGlvbjpvPXJbbl0uZGVzY3JpcHRpb24sZS5zYW1wbGVfZ3JvdXBzW25dLmdyb3VwX2Rlc2NyaXB0aW9uX2luZGV4PjA/KGUuc2FtcGxlX2dyb3Vwc1tuXS5ncm91cF9kZXNjcmlwdGlvbl9pbmRleD42NTUzNT9hPShlLnNhbXBsZV9ncm91cHNbbl0uZ3JvdXBfZGVzY3JpcHRpb25faW5kZXg+PjE2KS0xOmE9ZS5zYW1wbGVfZ3JvdXBzW25dLmdyb3VwX2Rlc2NyaXB0aW9uX2luZGV4LTEsbyYmYT49MCYmKGUuc2FtcGxlX2dyb3Vwc1tuXS5kZXNjcmlwdGlvbj1vLmVudHJpZXNbYV0pKTpvJiZvLnZlcnNpb24+PTImJm8uZGVmYXVsdF9ncm91cF9kZXNjcmlwdGlvbl9pbmRleD4wJiYoZS5zYW1wbGVfZ3JvdXBzW25dLmRlc2NyaXB0aW9uPW8uZW50cmllc1tvLmRlZmF1bHRfZ3JvdXBfZGVzY3JpcHRpb25faW5kZXgtMV0pfX0sdi5wcm9jZXNzX3NkdHA9ZnVuY3Rpb24odCxlLGkpe2UmJih0PyhlLmlzX2xlYWRpbmc9dC5pc19sZWFkaW5nW2ldLGUuZGVwZW5kc19vbj10LnNhbXBsZV9kZXBlbmRzX29uW2ldLGUuaXNfZGVwZW5kZWRfb249dC5zYW1wbGVfaXNfZGVwZW5kZWRfb25baV0sZS5oYXNfcmVkdW5kYW5jeT10LnNhbXBsZV9oYXNfcmVkdW5kYW5jeVtpXSk6KGUuaXNfbGVhZGluZz0wLGUuZGVwZW5kc19vbj0wLGUuaXNfZGVwZW5kZWRfb249MCxlLmhhc19yZWR1bmRhbmN5PTApKX0sdi5wcm90b3R5cGUuYnVpbGRTYW1wbGVMaXN0cz1mdW5jdGlvbigpe3ZhciB0LGU7Zm9yKHQ9MDt0PHRoaXMubW9vdi50cmFrcy5sZW5ndGg7dCsrKWU9dGhpcy5tb292LnRyYWtzW3RdLHRoaXMuYnVpbGRUcmFrU2FtcGxlTGlzdHMoZSl9LHYucHJvdG90eXBlLmJ1aWxkVHJha1NhbXBsZUxpc3RzPWZ1bmN0aW9uKHQpe3ZhciBlLGkscixuLGEsbyxmLGgsbCx1LF8sZyxwLG0sUyxVLHosVCxiLEYsTCxNLEksJDtpZih0LnNhbXBsZXM9W10sdC5zYW1wbGVzX2R1cmF0aW9uPTAsdC5zYW1wbGVzX3NpemU9MCxpPXQubWR
1pYS5taW5mLnN0Ymwuc3Rjb3x8dC5tZGlhLm1pbmYuc3RibC5jbzY0LHI9dC5tZGlhLm1pbmYuc3RibC5zdHNjLG49dC5tZGlhLm1pbmYuc3RibC5zdHN6fHx0Lm1kaWEubWluZi5zdGJsLnN0ejIsYT10Lm1kaWEubWluZi5zdGJsLnN0dHMsbz10Lm1kaWEubWluZi5zdGJsLmN0dHMsZj10Lm1kaWEubWluZi5zdGJsLnN0c3MsaD10Lm1kaWEubWluZi5zdGJsLnN0c2QsbD10Lm1kaWEubWluZi5zdGJsLnN1YnMsZz10Lm1kaWEubWluZi5zdGJsLnN0ZHAsdT10Lm1kaWEubWluZi5zdGJsLnNiZ3BzLF89dC5tZGlhLm1pbmYuc3RibC5zZ3BkcyxUPS0xLGI9LTEsRj0tMSxMPS0xLE09MCxJPTAsJD0wLHYuaW5pdFNhbXBsZUdyb3Vwcyh0LG51bGwsdSxfKSwhKHR5cGVvZiBuPiJ1Iikpe2ZvcihlPTA7ZTxuLnNhbXBsZV9zaXplcy5sZW5ndGg7ZSsrKXt2YXIgeD17fTt4Lm51bWJlcj1lLHgudHJhY2tfaWQ9dC50a2hkLnRyYWNrX2lkLHgudGltZXNjYWxlPXQubWRpYS5tZGhkLnRpbWVzY2FsZSx4LmFscmVhZHlSZWFkPTAsdC5zYW1wbGVzW2VdPXgseC5zaXplPW4uc2FtcGxlX3NpemVzW2VdLHQuc2FtcGxlc19zaXplKz14LnNpemUsZT09PTA/KG09MSxwPTAseC5jaHVua19pbmRleD1tLHguY2h1bmtfcnVuX2luZGV4PXAsej1yLnNhbXBsZXNfcGVyX2NodW5rW3BdLFU9MCxwKzE8ci5maXJzdF9jaHVuay5sZW5ndGg/Uz1yLmZpcnN0X2NodW5rW3ArMV0tMTpTPTEvMCk6ZTx6Pyh4LmNodW5rX2luZGV4PW0seC5jaHVua19ydW5faW5kZXg9cCk6KG0rKyx4LmNodW5rX2luZGV4PW0sVT0wLG08PVN8fChwKysscCsxPHIuZmlyc3RfY2h1bmsubGVuZ3RoP1M9ci5maXJzdF9jaHVua1twKzFdLTE6Uz0xLzApLHguY2h1bmtfcnVuX2luZGV4PXAseis9ci5zYW1wbGVzX3Blcl9jaHVua1twXSkseC5kZXNjcmlwdGlvbl9pbmRleD1yLnNhbXBsZV9kZXNjcmlwdGlvbl9pbmRleFt4LmNodW5rX3J1bl9pbmRleF0tMSx4LmRlc2NyaXB0aW9uPWguZW50cmllc1t4LmRlc2NyaXB0aW9uX2luZGV4XSx4Lm9mZnNldD1pLmNodW5rX29mZnNldHNbeC5jaHVua19pbmRleC0xXStVLFUrPXguc2l6ZSxlPlQmJihiKyssVDwwJiYoVD0wKSxUKz1hLnNhbXBsZV9jb3VudHNbYl0pLGU+MD8odC5zYW1wbGVzW2UtMV0uZHVyYXRpb249YS5zYW1wbGVfZGVsdGFzW2JdLHQuc2FtcGxlc19kdXJhdGlvbis9dC5zYW1wbGVzW2UtMV0uZHVyYXRpb24seC5kdHM9dC5zYW1wbGVzW2UtMV0uZHRzK3Quc2FtcGxlc1tlLTFdLmR1cmF0aW9uKTp4LmR0cz0wLG8/KGU+PUYmJihMKyssRjwwJiYoRj0wKSxGKz1vLnNhbXBsZV9jb3VudHNbTF0pLHguY3RzPXQuc2FtcGxlc1tlXS5kdHMrby5zYW1wbGVfb2Zmc2V0c1tMXSk6eC5jdHM9eC5kdHMsZj8oZT09Zi5zYW1wbGVfbnVtYmVyc1tNXS0xPyh4LmlzX3N5bmM9ITAsTSsrKTooeC5pc19zeW5jPSExLHguZGVncmFkYXRpb25fcHJpb3JpdHk9MCksbCYmbC5lbnRyaWVzW0ldLnNhbXBsZV9kZWx0YSskPT1lKzEmJih4LnN1YnNhbXBsZXM9bC5lbnRyaWVzW0ldLnN1YnNhbXBsZXMsJCs9bC5lbnRyaWVzW0ldLnNhbXBsZV9kZWx0YSxJKyspKTp4LmlzX3N5bmM9ITAsdi5wcm9jZXNzX3NkdHAodC5tZGlhLm1pbmYuc3RibC5zZHRwLHgseC5udW1iZXIpLGc/eC5kZWdyYWRhdGlvbl9wcmlvcml0eT1nLnByaW9yaXR5W2VdOnguZGVncmFkYXRpb25fcHJpb3JpdHk9MCxsJiZsLmVudHJpZXNbSV0uc2FtcGxlX2RlbHRhKyQ9PWUmJih4LnN1YnNhbXBsZXM9bC5lbnRyaWVzW0ldLnN1YnNhbXBsZXMsJCs9bC5lbnRyaWVzW0ldLnNhbXBsZV9kZWx0YSksKHUubGVuZ3RoPjB8fF8ubGVuZ3RoPjApJiZ2LnNldFNhbXBsZUdyb3VwUHJvcGVydGllcyh0LHgsZSx0LnNhbXBsZV9ncm91cHNfaW5mbyl9ZT4wJiYodC5zYW1wbGVzW2UtMV0uZHVyYXRpb249TWF0aC5tYXgodC5tZGlhLm1kaGQuZHVyYXRpb24tdC5zYW1wbGVzW2UtMV0uZHRzLDApLHQuc2FtcGxlc19kdXJhdGlvbis9dC5zYW1wbGVzW2UtMV0uZHVyYXRpb24pfX0sdi5wcm90b3R5cGUudXBkYXRlU2FtcGxlTGlzdHM9ZnVuY3Rpb24oKXt2YXIgdCxlLGkscixuLGEsbyxmLGgsbCx1LF8sZyxwLG07aWYodGhpcy5tb292IT09dm9pZCAwKXtmb3IoO3RoaXMubGFzdE1vb2ZJbmRleDx0aGlzLm1vb2ZzLmxlbmd0aDspaWYoaD10aGlzLm1vb2ZzW3RoaXMubGFzdE1vb2ZJbmRleF0sdGhpcy5sYXN0TW9vZkluZGV4KyssaC50eXBlPT0ibW9vZiIpZm9yKGw9aCx0PTA7dDxsLnRyYWZzLmxlbmd0aDt0Kyspe2Zvcih1PWwudHJhZnNbdF0sXz10aGlzLmdldFRyYWNrQnlJZCh1LnRmaGQudHJhY2tfaWQpLGc9dGhpcy5nZXRUcmV4QnlJZCh1LnRmaGQudHJhY2tfaWQpLHUudGZoZC5mbGFncyZzLlRGSERfRkxBR19TQU1QTEVfREVTQz9yPXUudGZoZC5kZWZhdWx0X3NhbXBsZV9kZXNjcmlwdGlvbl9pbmRleDpyPWc/Zy5kZWZhdWx0X3NhbXBsZV9kZXNjcmlwdGlvbl9pbmRleDoxLHUudGZoZC5mbGFncyZzLlRGSERfRkxBR19TQU1QTEVfRFVSP249dS50ZmhkLmRlZmF1bHRfc2FtcGxlX2R1cmF0aW9uOm49Zz9nLmRlZmF1bHRfc2FtcGxlX2R1cmF0aW9uOjAsdS50ZmhkLmZsYWdzJnMuVEZIRF9GTEFHX1NBTVBMRV9TSVpFP2E9dS50ZmhkLmRlZmF1bHRfc2FtcGxlX3NpemU6YT1nP2cuZGVmYXVsdF9zYW1wbGVfc2l6ZTowLHUudGZoZC5mbGFncyZzLlRGSERfRkxBR19TQU1QTEVfRkxBR1M/bz11LnRmaGQuZGVmYXVsdF9zYW1wbGVfZmxhZ3M6bz1nP2cuZGVmYXVsdF9zYW1wbGVfZmxhZ3M6MCx1LnNhbXBsZV9udW1iZXI9MCx1LnNiZ3BzLmxlbmd0aD4wJiZ2LmluaXRTYW1wbGVHcm91cHMoXyx1LHUuc2JncHMsXy5tZGlhLm1pbmYuc3RibC5zZ3Bkcyx1LnNncGRzKSxlPTA7ZTx1LnRydW5zLmxlbmd0aDtlKyspe3ZhciBTPXUudHJ1bnNbZV07Zm9yKGk9MDtpPFMuc2FtcGxlX2NvdW50O2krKyl7cD17fSxwLm1vb2ZfbnVtYmVyPXRoaXMubGFzdE1vb2ZJbmRleCxwLm51bWJlcl9pbl90cmFmPXUuc2FtcGxlX251bWJlcix1LnNhbXBsZV9udW1iZXIrKyxwLm51bWJlcj1fLnNhbXBsZXMubGVuZ3RoLHUuZmlyc3Rfc2FtcGxlX2luZGV4PV8uc2FtcGxlcy5sZW5ndGgsXy5zYW1wbGVzLnB1c2gocCkscC50cmFja19pZD1fLnRraGQudHJhY2tfaWQscC50aW1lc2NhbGU9Xy5tZGlhLm1kaGQudGltZXNjYWxlLHAuZGVzY3JpcHRpb25faW5kZXg9ci0xLHAuZGVzY3JpcHRpb249Xy5tZGlhLm1pbmYuc3RibC5zdHNkLmVudHJpZXNbcC5kZXNjcmlwdGlvbl9pbmRleF0scC5zaXplPWEsUy5mbGFncyZzLlRSVU5fRkxBR1NfU0laRSYmKHAuc2l6ZT1TLnNhbXBsZV9zaXplW2ldKSxfLnNhbXBsZXNfc2l6ZSs9cC5zaXplLHAuZHVyYXRpb249bixTLmZsYWdzJnMuVFJVTl9GTEFHU19EVVJBVElPTiYmKHAuZHVyYXRpb249Uy5zYW1wbGVfZHVyYXRpb25baV0pLF8uc2FtcGxlc19kdXJhdGlvbis9cC5kdXJhdGlvbixfLmZpcnN0X3RyYWZfbWVyZ2VkfHxpPjA/cC5kdHM9Xy5zYW1wbGVzW18uc2FtcGxlcy5sZW5ndGgtMl0uZHRzK18uc2FtcGxlc1tfLnNhbXBsZXMubGVuZ3RoLTJdLmR1cmF0aW9uOih1LnRmZHQ/cC5kdHM9dS50ZmR0LmJhc2VNZWRpYURlY29kZVRpbWU6cC5kdHM9MCxfLmZpcnN0X3RyYWZfbWVyZ2VkPSEwKSxwLmN0cz1wLmR0cyxTLmZsYWdzJnMuVFJVTl9GTEFHU19DVFNfT0ZGU0VUJ
1iYocC5jdHM9cC5kdHMrUy5zYW1wbGVfY29tcG9zaXRpb25fdGltZV9vZmZzZXRbaV0pLG09byxTLmZsYWdzJnMuVFJVTl9GTEFHU19GTEFHUz9tPVMuc2FtcGxlX2ZsYWdzW2ldOmk9PT0wJiZTLmZsYWdzJnMuVFJVTl9GTEFHU19GSVJTVF9GTEFHJiYobT1TLmZpcnN0X3NhbXBsZV9mbGFncykscC5pc19zeW5jPSEobT4+MTYmMSkscC5pc19sZWFkaW5nPW0+PjI2JjMscC5kZXBlbmRzX29uPW0+PjI0JjMscC5pc19kZXBlbmRlZF9vbj1tPj4yMiYzLHAuaGFzX3JlZHVuZGFuY3k9bT4+MjAmMyxwLmRlZ3JhZGF0aW9uX3ByaW9yaXR5PW0mNjU1MzU7dmFyIFU9ISEodS50ZmhkLmZsYWdzJnMuVEZIRF9GTEFHX0JBU0VfREFUQV9PRkZTRVQpLHo9ISEodS50ZmhkLmZsYWdzJnMuVEZIRF9GTEFHX0RFRkFVTFRfQkFTRV9JU19NT09GKSxUPSEhKFMuZmxhZ3Mmcy5UUlVOX0ZMQUdTX0RBVEFfT0ZGU0VUKSxiPTA7VT9iPXUudGZoZC5iYXNlX2RhdGFfb2Zmc2V0Onp8fGU9PT0wP2I9bC5zdGFydDpiPWYsZT09PTAmJmk9PT0wP1Q/cC5vZmZzZXQ9YitTLmRhdGFfb2Zmc2V0OnAub2Zmc2V0PWI6cC5vZmZzZXQ9ZixmPXAub2Zmc2V0K3Auc2l6ZSwodS5zYmdwcy5sZW5ndGg+MHx8dS5zZ3Bkcy5sZW5ndGg+MHx8Xy5tZGlhLm1pbmYuc3RibC5zYmdwcy5sZW5ndGg+MHx8Xy5tZGlhLm1pbmYuc3RibC5zZ3Bkcy5sZW5ndGg+MCkmJnYuc2V0U2FtcGxlR3JvdXBQcm9wZXJ0aWVzKF8scCxwLm51bWJlcl9pbl90cmFmLHUuc2FtcGxlX2dyb3Vwc19pbmZvKX19aWYodS5zdWJzKXtfLmhhc19mcmFnbWVudF9zdWJzYW1wbGVzPSEwO3ZhciBGPXUuZmlyc3Rfc2FtcGxlX2luZGV4O2ZvcihlPTA7ZTx1LnN1YnMuZW50cmllcy5sZW5ndGg7ZSsrKUYrPXUuc3Vicy5lbnRyaWVzW2VdLnNhbXBsZV9kZWx0YSxwPV8uc2FtcGxlc1tGLTFdLHAuc3Vic2FtcGxlcz11LnN1YnMuZW50cmllc1tlXS5zdWJzYW1wbGVzfX19fSx2LnByb3RvdHlwZS5nZXRTYW1wbGU9ZnVuY3Rpb24odCxlKXt2YXIgaSxyPXQuc2FtcGxlc1tlXTtpZighdGhpcy5tb292KXJldHVybi
1BudWxsO2lmKCFyLmRhdGEpci5kYXRhPW5ldyBVaW50OEFycmF5KHIuc2l6ZSksci5hbHJlYWR5UmVhZD0wLHRoaXMuc2FtcGxlc0RhdGFTaXplKz1yLnNpemUseS5kZWJ1ZygiSVNPRmlsZSIsIkFsbG9jYXRpbmcgc2FtcGxlICMiK2UrIiBvbiB0cmFjayAjIit0LnRraGQudHJhY2tfaWQrIiBvZiBzaXplICIrci5zaXplKyIgKHRvdGFsOiAiK3RoaXMuc2FtcGxlc0RhdGFTaXplKyIpIik7ZWxzZSBpZihyLmFscmVhZHlSZWFkPT1yLnNpemUpcmV0dXJuIHI7Zm9yKDs7KXt2YXIgbj10aGlzLnN0cmVhbS5maW5kUG9zaXRpb24oITAsci5vZmZzZXQrci5hbHJlYWR5UmVhZCwhMSk7aWYobj4tMSl7aT10aGlzLnN0cmVhbS5idWZmZXJzW25dO3ZhciBhPWkuYnl0ZUxlbmd0aC0oci5vZmZzZXQrci5hbHJlYWR5UmVhZC1pLmZpbGVTdGFydCk7aWYoci5zaXplLXIuYWxyZWFkeVJlYWQ8PWEpcmV0dXJuIHkuZGVidWcoIklTT0ZpbGUiLCJHZXR0aW5nIHNhbXBsZSAjIitlKyIgZGF0YSAoYWxyZWFkeVJlYWQ6ICIrci5hbHJlYWR5UmVhZCsiIG9mZnNldDogIisoci5vZmZzZXQrci5hbHJlYWR5UmVhZC1pLmZpbGVTdGFydCkrIiByZWFkIHNpemU6ICIrKHIuc2l6ZS1yLmFscmVhZHlSZWFkKSsiIGZ1bGwgc2l6ZTogIityLnNpemUrIikiKSxkLm1lbWNweShyLmRhdGEuYnVmZmVyLHIuYWxyZWFkeVJlYWQsaSxyLm9mZnNldCtyLmFscmVhZHlSZWFkLWkuZmlsZVN0YXJ0LHIuc2l6ZS1yLmFscmVhZHlSZWFkKSxpLnVzZWRCeXRlcys9ci5zaXplLXIuYWxyZWFkeVJlYWQsdGhpcy5zdHJlYW0ubG9nQnVmZmVyTGV2ZWwoKSxyLmFscmVhZHlSZWFkPXIuc2l6ZSxyO2lmKGE9PT0wKXJldHVybiBudWxsO3kuZGVidWcoIklTT0ZpbGUiLCJHZXR0aW5nIHNhbXBsZSA
1jIitlKyIgcGFydGlhbCBkYXRhIChhbHJlYWR5UmVhZDogIityLmFscmVhZHlSZWFkKyIgb2Zmc2V0OiAiKyhyLm9mZnNldCtyLmFscmVhZHlSZWFkLWkuZmlsZVN0YXJ0KSsiIHJlYWQgc2l6ZTogIithKyIgZnVsbCBzaXplOiAiK3Iuc2l6ZSsiKSIpLGQubWVtY3B5KHIuZGF0YS5idWZmZXIsci5hbHJlYWR5UmVhZCxpLHIub2Zmc2V0K3IuYWxyZWFkeVJlYWQtaS5maWxlU3RhcnQsYSksci5hbHJlYWR5UmVhZCs9YSxpLnVzZWRCeXRlcys9YSx0aGlzLnN0cmVhbS5sb2dCdWZmZXJMZXZlbCgpfWVsc2UgcmV0dXJuIG51bGx9fSx2LnByb3RvdHlwZS5yZWxlYXNlU2FtcGxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5zYW1wbGVzW2VdO3JldHVybiBpLmRhdGE/KHRoaXMuc2FtcGxlc0RhdGFTaXplLT1pLnNpemUsaS5kYXRhPW51bGwsaS5hbHJlYWR5UmVhZD0wLGkuc2l6ZSk6MH0sdi5wcm90b3R5cGUuZ2V0QWxsb2NhdGVkU2FtcGxlRGF0YVNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zYW1wbGVzRGF0YVNpemV9LHYucHJvdG90eXBlLmdldENvZGVjcz1mdW5jdGlvbigpe3ZhciB0LGU9IiI7Zm9yKHQ9MDt0PHRoaXMubW9vdi50cmFrcy5sZW5ndGg7dCsrKXt2YXIgaT10aGlzLm1vb3YudHJha3NbdF07dD4wJiYoZSs9IiwiKSxlKz1pLm1kaWEubWluZi5zdGJsLnN0c2QuZW50cmllc1swXS5nZXRDb2RlYygpfXJldHVybiBlfSx2LnByb3RvdHlwZS5nZXRUcmV4QnlJZD1mdW5jdGlvbih0KXt2YXIgZTtpZighdGhpcy5tb292fHwhdGhpcy5tb292Lm12ZXgpcmV0dXJuIG51bGw7Zm9yKGU9MDtlPHRoaXMubW9vdi5tdmV4LnRyZXhzLmxlbmd0aDtlKyspe3ZhciBpPXRoaXMubW9vdi5tdmV4LnRyZXhzW2VdO2lmKGkudHJhY2tfaWQ9PXQpcmV0dXJuIGl9cmV0dXJuIG51bGx9LHYucHJvdG90eXBlLmdldFRyYWNrQnlJZD1mdW5jdGlvbih0KXtpZih0aGlzLm1vb3Y9PT12b2lkIDApcmV0dXJuIG51bGw7Zm9yKHZhciBlPTA7ZTx0aGlzLm1vb3YudHJha3MubGVuZ3RoO2UrKyl7dmFyIGk9dGhpcy5tb292LnRyYWtzW2VdO2lmKGkudGtoZC50cmFja19pZD09dClyZXR1cm4gaX1yZXR1cm4gbnVsbH0sdi5wcm90b3R5cGUuaXRlbXM9W10sdi5wcm90b3R5cGUuaXRlbXNEYXRhU2l6ZT0wLHYucHJvdG90eXBlLmZsYXR0ZW5JdGVtSW5mbz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaXRlbXMsZSxpLHIsbj10aGlzLm1ldGE7aWYobiE9bnVsbCYmbi5oZGxyIT09dm9pZCAwJiZuLmlpbmYhPT12b2lkIDApe2ZvcihlPTA7ZTxuLmlpbmYuaXRlbV9pbmZvcy5sZW5ndGg7ZSsrKXI9e30sci5pZD1uLmlpbmYuaXRlbV9pbmZvc1tlXS5pdGVtX0lELHRbci5pZF09cixyLnJlZl90bz1bXSxyLm5hbWU9bi5paW5mLml0ZW1faW5mb3NbZV0uaXRlbV9uYW1lLG4uaWluZi5pdGVtX2luZm9zW2VdLnByb3RlY3Rpb25faW5kZXg+MCYmKHIucHJvdGVjdGlvbj1uLmlwcm8ucHJvdGVjdGlvbnNbbi5paW5mLml0ZW1faW5mb3NbZV0ucHJvdGVjdGlvbl9pbmRleC0xXSksbi5paW5mLml0ZW1faW5mb3NbZV0uaXRlbV90eXBlP3IudHlwZT1uLmlpbmYuaXRlbV9pbmZvc1tlXS5pdGVtX3R5cGU6ci50eXBlPSJtaW1lIixyLmNvbnRlbn
1RfdHlwZT1uLmlpbmYuaXRlbV9pbmZvc1tlXS5jb250ZW50X3R5cGUsci5jb250ZW50X2VuY29kaW5nPW4uaWluZi5pdGVtX2luZm9zW2VdLmNvbnRlbnRfZW5jb2Rpbmc7aWYobi5pbG9jKWZvcihlPTA7ZTxuLmlsb2MuaXRlbXMubGVuZ3RoO2UrKyl7dmFyIGE9bi5pbG9jLml0ZW1zW2VdO3N3aXRjaChyPXRbYS5pdGVtX0lEXSxhLmRhdGFfcmVmZXJlbmNlX2luZGV4IT09MCYmKHkud2FybigiSXRlbSBzdG9yYWdlIHdpdGggcmVmZXJlbmNlIHRvIG90aGVyIGZpbGVzOiBub3Qgc3VwcG9ydGVkIiksci5zb3VyY2U9bi5kaW5mLmJveGVzW2EuZGF0YV9yZWZlcmVuY2VfaW5kZXgtMV0pLGEuY29uc3RydWN0aW9uX21ldGhvZCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTp5Lndhcm4oIkl0ZW0gc3RvcmFnZSB3aXRoIGNvbnN0cnVjdGlvbl9tZXRob2QgOiBub3Qgc3VwcG9ydGVkIik7YnJlYWs7Y2FzZSAyOnkud2FybigiSXRlbSBzdG9yYWdlIHdpdGggY29uc3RydWN0aW9uX21ldGhvZCA6IG5vdCBzdXBwb3J0ZWQiKTticmVha31mb3Ioci5leHRlbnRzPVtdLHIuc2l6ZT0wLGk9MDtpPGEuZXh0ZW50cy5sZW5ndGg7aSsrKXIuZXh0ZW50c1tpXT17fSxyLmV4dGVudHNbaV0ub2Zmc2V0PWEuZXh0ZW50c1tpXS5leHRlbnRfb2Zmc2V0K2EuYmFzZV9vZmZzZXQsci5leHRlbnRzW2ldLmxlbmd0aD1hLmV4dGVudHNbaV0uZXh0ZW50X2xlbmd0aCxyLmV4dGVudHNbaV0uYWxyZWFkeVJlYWQ9MCxyLnNpemUrPXIuZXh0ZW50c1tpXS5sZW5ndGh9aWYobi5waXRtJiYodFtuLnBpdG0uaXRlbV9pZF0ucHJpbWFyeT0hMCksbi5pcmVmKWZvcihlPTA7ZTxuLmlyZWYucmVmZXJlbmNlcy5sZW5ndGg7ZSsrKXt2YXIgbz1uLmlyZWYucmVmZXJlbmNlc1tlXTtmb3IoaT0wO2k8by5yZWZlcmVuY2VzLmxlbmd0aDtpKyspdFtvLmZyb21faXRlbV9JRF0ucmVmX3RvLnB1c2goe3R5cGU6by50eXBlLGlkOm8ucmVmZXJlbmNlc1tpXX0pfWlmKG4uaXBycClmb3IodmFyIGY9MDtmPG4uaXBycC5pcG1hcy5sZW5ndGg7ZisrKXt2YXIgaD1uLmlwcnAuaXBtYXNbZl07Zm9yKGU9MDtlPGguYXNzb2NpYXRpb25zLmxlbmd0aDtlKyspe3ZhciBsPWguYXNzb2NpYXRpb25zW2VdO2ZvcihyPXRbbC5pZF0sci5wcm9wZXJ0aWVzPT09dm9pZCAwJiYoci5wcm9wZXJ0aWVzPXt9LHIucHJvcGVydGllcy5ib3hlcz1bXSksaT0wO2k8bC5wcm9wcy5sZW5ndGg7aSsrKXt2YXIgdT1sLnByb3BzW2ldO2lmKHUucHJvcGVydHlfaW5kZXg+MCYmdS5wcm9wZXJ0eV9pbmRleC0xPG4uaXBycC5pcGNvLmJveGVzLmxlbmd0aCl7dmFyIF89bi5pcHJwLmlwY28uYm94ZXNbdS5wcm9wZXJ0eV9pbmRleC0xXTtyLnByb3BlcnRpZXNbXy50eXBlXT1fLHIucHJvcGVydGllcy5ib3hlcy5wdXNoKF8pfX19fX19LHYucHJvdG90eXBlLmdldEl0ZW09ZnVuY3Rpb24odCl7dmFyIGUsaTtpZighdGhpcy5tZXRhKXJldHVybiBudWxsO2lmKGk9dGhpcy5pdGVtc1t0XSwhaS5kYXRhJiZpLnNpemUpaS5kYXRhPW5ldyBVaW50OEFycmF5KGkuc2l6ZSksaS5hbHJlYWR5UmVhZD0wLHRoaXMuaXRlbXNEYXRhU2l6ZSs9aS5zaXplLHkuZGVidWcoIklTT0ZpbGUiLCJBbGxvY2F0aW5nIGl0ZW0gIyIrdCsiIG9mIHNpemUgIitpLnNpemUrIiAodG90YWw6ICIrdGhpcy5pdGVtc0RhdGFTaXplKyIpIik7ZWxzZSBpZihpLmFscmVhZHlSZWFkPT09aS5zaXplKXJldHVybi
1BpO2Zvcih2YXIgcj0wO3I8aS5leHRlbnRzLmxlbmd0aDtyKyspe3ZhciBuPWkuZXh0ZW50c1tyXTtpZihuLmFscmVhZHlSZWFkIT09bi5sZW5ndGgpe3ZhciBhPXRoaXMuc3RyZWFtLmZpbmRQb3NpdGlvbighMCxuLm9mZnNldCtuLmFscmVhZHlSZWFkLCExKTtpZihhPi0xKXtlPXRoaXMuc3RyZWFtLmJ1ZmZlcnNbYV07dmFyIG89ZS5ieXRlTGVuZ3RoLShuLm9mZnNldCtuLmFscmVhZHlSZWFkLWUuZmlsZVN0YXJ0KTtpZihuLmxlbmd0aC1uLmFscmVhZHlSZWFkPD1vKXkuZGVidWcoIklTT0ZpbGUiLCJHZXR0aW5nIGl0ZW0gIyIrdCsiIGV4dGVudCAjIityKyIgZGF0YSAoYWxyZWFkeVJlYWQ6ICIrbi5hbHJlYWR5UmVhZCsiIG9mZnNldDogIisobi5vZmZzZXQrbi5hbHJlYWR5UmVhZC1lLmZpbGVTdGFydCkrIiByZWFkIHNpemU6ICIrKG4ubGVuZ3RoLW4uYWxyZWFkeVJlYWQpKyIgZnVsbCBleHRlbnQgc2l6ZTogIituLmxlbmd0aCsiIGZ1bGwgaXRlbSBzaXplOiAiK2kuc2l6ZSsiKSIpLGQubWVtY3B5KGkuZGF0YS5idWZmZXIsaS5hbHJlYWR5UmVhZCxlLG4ub2Zmc2V0K24uYWxyZWFkeVJlYWQtZS5maWxlU3RhcnQsbi5sZW5ndGgtbi5hbHJlYWR5UmVhZCksZS51c2VkQnl0ZXMrPW4ubGVuZ3RoLW4uYWxyZWFkeVJlYWQsdGhpcy5zdHJlYW0ubG9nQnVmZmVyTGV2ZWwoKSxpLmFscmVhZHlSZWFkKz1uLmxlbmd0aC1uLmFscmVhZHlSZWFkLG4uYWxyZWFkeVJlYWQ9bi5sZW5ndGg7ZWxzZSByZXR1cm4geS5kZWJ1ZygiSVNPRmlsZSIsIkdldHRpbmcgaXRlbSAjIit0KyIgZXh0ZW50ICMiK3IrIiBwYXJ0aWFsIGRhdGEgKGFscmVhZHlSZWFkOiAiK24uYWxyZWFkeVJlYWQrIiBvZmZzZXQ6ICIrKG4ub2Zmc2V0K24uYWxyZWFkeVJlYWQtZS5maWxlU3RhcnQpKyIgcmVhZCBzaXplOiAiK28rIiBmdWxsIGV4dGVudCBzaXplOiAiK24ubGVuZ3RoKyIgZnVsbCBpdGVtIHNpemU6ICIraS5zaXplKyIpIiksZC5tZW1jcHkoaS5kYXRhLmJ1ZmZlcixpLmFscmVhZHlSZWFkLGUsbi5vZmZzZXQrbi5hbHJlYWR5UmVhZC1lLmZpbGVTdGFydCxvKSxuLmFscmVhZHlSZWFkKz1vLGkuYWxyZWFkeVJlYWQrPW8sZS51c2VkQnl0ZXMrPW8sdGhpcy5zdHJlYW0ubG9nQnVmZmVyTGV2ZWwoKSxudWxsfWVsc2UgcmV0dXJuIG51bGx9fXJldHVybiBpLmFscmVhZHlSZWFkPT09aS5zaXplP2k6bnVsbH0sdi5wcm90b3R5cGUucmVsZWFzZUl0ZW09ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5pdGVtc1t0XTtpZihlLmRhdGEpe3RoaXMuaXRlbXNEYXRhU2l6ZS09ZS5zaXplLGUuZGF0YT1udWxsLGUuYWxyZWFkeVJlYWQ9MDtmb3IodmFyIGk9MDtpPGUuZXh0ZW50cy5sZW5ndGg7aSsrKXt2YXIgcj1lLmV4dGVudHNbaV07ci5hbHJlYWR5UmVhZD0wfXJldHVybiBlLnNpemV9ZWxzZSByZXR1cm4gMH0sdi5wcm90b3R5cGUucHJvY2Vzc0l0ZW1zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLml0ZW1zKXt2YXIgaT10aGlzLml0ZW1zW2VdO3RoaXMuZ2V0SXRlbShpLmlkKSx0JiYhaS5zZW50JiYodChpKSxpLnNlbnQ9ITAsaS5kYXRhPW51bGwpfX0sdi5wcm90b3R5cGUuaGFzSXRlbT1mdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcy5pdGVtcyl7dmFyIGk9dGhpcy5pdGVtc1tlXTtpZihpLm5hbWU9PT10KXJldHVybiBpLmlkfXJldHVybi0xfSx2LnByb3RvdHlwZS5nZXRNZXRhSGFuZGxlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1ldGE/dGhpcy5tZXRhLmhkbHIuaGFuZGxlcjpudWxsfSx2LnByb3RvdHlwZS5nZXRQcmltYXJ5SXRlbT1mdW5jdGlvbigpe3JldHVybiF0aGlzLm1ldGF8fCF0aGlzLm1ldGEucGl0bT9udWxsOnRoaXMuZ2V0SXRlbSh0aGlzLm1ldGEucGl0bS5pdGVtX2lkKX0sdi5wcm90b3R5cGUuaXRlbVRvRnJhZ21lbnRlZFRyYWNrRmlsZT1mdW5jdGlvbih0KXt2YXIgZT10fHx7fSxpPW51bGw7aWYoZS5pdGVtSWQ/aT10aGlzLmdldEl0ZW0oZS5pdGVtSWQpOmk9dGhpcy5nZXRQcmltYXJ5SXRlbSgpLGk9PW51bGwpcmV0dXJuIG51bGw7dmFyIHI9bmV3IHY7ci5kaXNjYXJkTWRhdERhdGE9ITE7dmFyIG49e3R5cGU6aS50eXBlLGRlc2NyaXB0aW9uX2JveGVzOmkucHJvcGVydGllcy5ib3hlc307aS5wcm9wZXJ0aWVzLmlzcGUmJihuLndpZHRoPWkucHJvcGVydGllcy5pc3BlLmltYWdlX3dpZHRoLG4uaGVpZ2h0PWkucHJvcGVydGllcy5pc3BlLmltYWdlX2hlaWdodCk7dmFyIGE9ci5hZGRUcmFjayhuKTtyZXR1cm4gYT8oci5hZGRTYW1wbGUoYSxpLmRhdGEpLHIpOm51bGx9LHYucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dGhpcy5ib3hlcy5sZW5ndGg7ZSsrKXRoaXMuYm94ZXNbZV0ud3JpdGUodCl9LHYucHJvdG90eXBlLmNyZWF0ZUZyYWdtZW50PWZ1bmN0aW9uKHQsZSxpKXt2YXIgcj10aGlzLmdldFRyYWNrQnlJZCh0KSxuPXRoaXMuZ2V0U2FtcGxlKHIsZSk7aWYobj09bnVsbClyZXR1cm4gbj1yLnNhbXBsZXNbZV0sdGhpcy5uZXh0U2Vla1Bvc2l0aW9uP3RoaXMubmV4dFNlZWtQb3NpdGlvbj1NYXRoLm1pbihuLm9mZnNldCtuLmFscmVhZHlSZWFkLHRoaXMubmV4dFNlZWtQb3NpdGlvbik6dGhpcy5uZXh0U2Vla1Bvc2l0aW9uPXIuc2FtcGxlc1tlXS5vZmZzZXQrbi5hbHJlYWR5UmVhZCxudWxsO3ZhciBhPWl8fG5ldyBkO2EuZW5kaWFubmVzcz1kLkJJR19FTkRJQU47dmFyIG89dGhpcy5jcmVhdGVTaW5nbGVTYW1wbGVNb29mKG4pO28ud3JpdGUoYSksby50cmFmc1swXS50cnVuc1swXS5kYXRhX29mZnNldD1vLnNpemUrOCx5LmRlYnVnKCJNUDRCb3giLCJBZGp1c3RpbmcgZGF0YV9vZmZzZXQgd2l0aCBuZXcgdmFsdWUgIitvLnRyYWZzWzBdLnRydW5zWzBdLmRhdGFfb2Zmc2V0KSxhLmFkanVzdFVpbnQzMihvLnRyYWZzWzBdLnRydW5zWzBdLmRhdGFfb2Zmc2V0X3Bvc2l0aW9uLG8udHJhZnNbMF0udHJ1bnNbMF0uZGF0YV9vZmZzZXQpO3ZhciBmPW5ldyBzLm1kYXRCb3g7cmV0dXJuIGYuZGF0YT1uLmRhdGEsZi53cml0ZShhKSxhfSx2LndyaXRlSW5pdGlhbGl6YXRpb25TZWdtZW50PWZ1bmN0aW9uKHQsZSxpLHIpe3ZhciBuO3kuZGVidWcoIklTT0ZpbGUiLCJHZW5lcmF0aW5nIGluaXRpYWxpemF0aW9uIHNlZ21lbnQiKTt2YXIgYT1uZXcgZDthLmVuZGlhbm5lc3M9ZC5CSUdfRU5ESUFOLHQud3JpdGUoYSk7dmFyIG89ZS5hZGQoIm12ZXgiKTtmb3IoaSYmby5hZGQoIm1laGQiKS5zZXQoImZyYWdtZW50X2R1cmF0aW9uIixpKSxuPTA7bj
1xlLnRyYWtzLmxlbmd0aDtuKyspby5hZGQoInRyZXgiKS5zZXQoInRyYWNrX2lkIixlLnRyYWtzW25dLnRraGQudHJhY2tfaWQpLnNldCgiZGVmYXVsdF9zYW1wbGVfZGVzY3JpcHRpb25faW5kZXgiLDEpLnNldCgiZGVmYXVsdF9zYW1wbGVfZHVyYXRpb24iLHIpLnNldCgiZGVmYXVsdF9zYW1wbGVfc2l6ZSIsMCkuc2V0KCJkZWZhdWx0X3NhbXBsZV9mbGFncyIsNjU1MzYpO3JldHVybiBlLndyaXRlKGEpLGEuYnVmZmVyfSx2LnByb3RvdHlwZS5zYXZlPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBkO2UuZW5kaWFubmVzcz1kLkJJR19FTkRJQU4sdGhpcy53cml0ZShlKSxlLnNhdmUodCl9LHYucHJvdG90eXBlLmdldEJ1ZmZlcj1mdW5jdGlvbigpe3ZhciB0PW5ldyBkO3JldHVybiB0LmVuZGlhbm5lc3M9ZC5CSUdfRU5ESUFOLHRoaXMud3JpdGUodCksdC5idWZmZXJ9LHYucHJvdG90eXBlLmluaXRpYWxpemVTZWdtZW50YXRpb249ZnVuY3Rpb24oKXt2YXIgdCxlLGkscjtmb3IodGhpcy5vblNlZ21lbnQ9PT1udWxsJiZ5Lndhcm4oIk1QNEJveCIsIk5vIHNlZ21lbnRhdGlvbiBjYWxsYmFjayBzZXQhIiksdGhpcy5pc0ZyYWdtZW50YXRpb25Jbml0aWFsaXplZHx8KHRoaXMuaXNGcmFnbWVudGF0aW9uSW5pdGlhbGl6ZWQ9ITAsdGhpcy5uZXh0TW9vZk51bWJlcj0wLHRoaXMucmVzZXRUYWJsZXMoKSksZT1bXSx0PTA7dDx0aGlzLmZyYWdtZW50ZWRUcmFja3MubGVuZ3RoO3QrKyl7dmFyIG49bmV3IHMubW9vdkJveDtuLm12aGQ9dGhpcy5tb292Lm12aGQsbi5ib3hlcy5wdXNoKG4ubXZoZCksaT10aGlzLmdldFRyYWNrQnlJZCh0aGlzLmZyYWdtZW50ZWRUcmFja3NbdF0uaWQpLG4uYm94ZXMucHVzaChpKSxuLnRyYWtzLnB1c2goaSkscj17fSxyLmlkPWkudGtoZC50cmFja19pZCxyLnVzZXI9dGhpcy5mcmFnbWVudGVkVHJhY2tzW3RdLnVzZXIsci5idWZmZXI9di53cml0ZUluaXRpYWxpemF0aW9uU2VnbWVudCh0aGlzLmZ0eXAsbix0aGlzLm1vb3YubXZleCYmdGhpcy5tb292Lm12ZXgubWVoZD90aGlzLm1vb3YubXZleC5tZWhkLmZyYWdtZW50X2R1cmF0aW9uOnZvaWQgMCx0aGlzLm1vb3YudHJha3NbdF0uc2FtcGxlcy5sZW5ndGg+MD90aGlzLm1vb3YudHJha3NbdF0uc2FtcGxlc1swXS5kdXJhdGlvbjowKSxlLnB1c2gocil9cmV0dXJuIGV9LHMuQm94LnByb3RvdHlwZS5wcmludEhlYWRlcj1mdW5jdGlvbih0KXt0aGlzLnN
1pemUrPTgsdGhpcy5zaXplPlN0JiYodGhpcy5zaXplKz04KSx0aGlzLnR5cGU9PT0idXVpZCImJih0aGlzLnNpemUrPTE2KSx0LmxvZyh0LmluZGVudCsic2l6ZToiK3RoaXMuc2l6ZSksdC5sb2codC5pbmRlbnQrInR5cGU6Iit0aGlzLnR5cGUpfSxzLkZ1bGxCb3gucHJvdG90eXBlLnByaW50SGVhZGVyPWZ1bmN0aW9uKHQpe3RoaXMuc2l6ZSs9NCxzLkJveC5wcm90b3R5cGUucHJpbnRIZWFkZXIuY2FsbCh0aGlzLHQpLHQubG9nKHQuaW5kZW50KyJ2ZXJzaW9uOiIrdGhpcy52ZXJzaW9uKSx0LmxvZyh0LmluZGVudCsiZmxhZ3M6Iit0aGlzLmZsYWdzKX0scy5Cb3gucHJvdG90eXBlLnByaW50PWZ1bmN0aW9uKHQpe3RoaXMucHJpbnRIZWFkZXIodCl9LHMuQ29udGFpbmVyQm94LnByb3RvdHlwZS5wcmludD1mdW5jdGlvbih0KXt0aGlzLnByaW50SGVhZGVyKHQpO2Zvcih2YXIgZT0wO2U8dGhpcy5ib3hlcy5sZW5ndGg7ZSsrKWlmKHRoaXMuYm94ZXNbZV0pe3ZhciBpPXQuaW5kZW50O3QuaW5kZW50Kz0iICIsdGhpcy5ib3hlc1tlXS5wcmludCh0KSx0LmluZGVudD1pfX0sdi5wcm90b3R5cGUucHJpbnQ9ZnVuY3Rpb24odCl7dC5pbmRlbnQ9IiI7Zm9yKHZhciBlPTA7ZTx0aGlzLmJveGVzLmxlbmd0aDtlKyspdGhpcy5ib3hlc1tlXSYmdGhpcy5ib3hlc1tlXS5wcmludCh0KX0scy5tdmhkQm94LnByb3RvdHlwZS5wcmludD1mdW5jdGlvbih0KXtzLkZ1bGxCb3gucHJvdG90eXBlLnByaW50SGVhZGVyLmNhbGwodGhpcyx0KSx0LmxvZyh0LmluZGVudCsiY3JlYXRpb25fdGltZTogIit0aGlzLmNyZWF0aW9uX3RpbWUpLHQubG9nKHQuaW5kZW50KyJtb2RpZmljYXRpb25fdGltZTogIit0aGlzLm1vZGlmaWNhdGlvbl90aW1lKSx0LmxvZyh0LmluZGVudCsidGltZXNjYWxlOiAiK3RoaXMudGltZXNjYWxlKSx0LmxvZyh0LmluZGVudCsiZHVyYXRpb246ICIrdGhpcy5kdXJhdGlvbiksdC5sb2codC5pbmRlbnQrInJhdGU6ICIrdGhpcy5yYXRlKSx0LmxvZyh0LmluZGVudCsidm9sdW1lOiAiKyh0aGlzLnZvbHVtZT4+OCkpLHQubG9nKHQuaW5kZW50KyJtYXRyaXg6ICIrdGhpcy5tYXRyaXguam9pbigiLCAiKSksdC5sb2codC5pbmRlbnQrIm5leHRfdHJhY2tfaWQ6ICIrdGhpcy5uZXh0X3RyYWNrX2lkKX0scy50a2hkQm94LnByb3RvdHlwZS5wcmludD1mdW5jdGlvbih0KXtzLkZ1bGxCb3gucHJvdG90eXBlLnByaW50SGVhZGVyLmNhbGwodGhpcyx0KSx0LmxvZyh0LmluZGVudCsiY3JlYXRpb25fdGltZTogIit0aGlzLmNyZWF0aW9uX3RpbWUpLHQubG9nKHQuaW5kZW50KyJtb2RpZmljYXRpb25fdGltZTogIit0aGlzLm1vZGlmaWNhdGlvbl90aW1lKSx0LmxvZyh0LmluZGVudCsidHJhY2tfaWQ6ICIrdGhpcy50cmFja19pZCksdC5sb2codC5pbmRlbnQrImR1cmF0aW9uOiAiK3RoaXMuZHVyYXRpb24pLHQubG9nKHQuaW5kZW50KyJ2b2x1bWU6ICIrKHRoaXMudm9sdW1lPj44KSksdC5sb2codC5pbmRlbnQrIm1hdHJpeDogIit0aGlzLm1hdHJpeC5qb2luKCIsICIpKSx0LmxvZyh0LmluZGVudCsibGF5ZXI6ICIrdGhpcy5sYXllciksdC5sb2codC5pbmRlbnQrImFsdGVybmF0ZV9ncm91cDogIit0aGlzLmFsdGVybmF0ZV9ncm91cCksdC5sb2codC5pbmRlbnQrIndpZHRoOiAiK3RoaXMud2lkdGgpLHQubG9nKHQuaW5kZW50KyJoZWlnaHQ6ICIrdGhpcy5oZWlnaHQpfTt2YXIgRHI9e307RHIuY3JlYXRlRmlsZT1mdW5jdGlvbih0LGUpe3ZhciBpPXQhPT12b2lkIDA/dDohMCxyPW5ldyB2KGUpO3JldHVybiByLmRpc2NhcmRNZGF0RGF0YT0haSxyfTtjbGFzcyBRYXtjb25zdHJ1Y3RvcihlKXtBKHRoaXMscGUsdm9pZCAwKTtBKHRoaXMsX2UsMCk7Qih0aGlzLHBlLGUpfXdyaXRlKGUpe2NvbnN0IGk9bmV3IEFycmF5QnVmZmVyKGUuYnl0ZUxlbmd0aCk7bmV3IFVpbnQ4QXJyYXkoaSkuc2V0KGUpLGkuZmlsZVN0YXJ0PWModGhpcyxfZSksQih0aGlzLF9lLGModGhpcyxfZSkraS5ieXRlTGVuZ3RoKSxjKHRoaXMscGUpLmFwcGVuZEJ1ZmZlcihpKX19cGU9bmV3IFdlYWtNYXAsX2U9bmV3IFdlYWtNYXA7Y2xhc3MgWGF7Y29uc3RydWN0b3IoZSxpKXtBKHRoaXMsUWUpO0EodGhpcyxYZSk7Qyh0aGlzLCJzdGFydFRpbWUiLDApO0ModGhpcywiZmV0Y2hUaW1lIiwwKTtBKHRoaXMsdXQsdm9pZCAwKTtBKHRoaXMsUXQsdm9pZCAwKTtCKHRoaXMsUXQsaSksQih0aGlzLHV0LERyLmNyZWF0ZUZpbGUoKSksYyh0aGlzLHV0KS5vblJlYWR5PWx0KHRoaXMsUWUsa3IpLmJpbmQodGhpcyksYyh0aGlzLHV0KS5vblNhbXBsZXM9bHQodGhpcyxYZSxHcikuYmluZCh0aGlzKTtjb25zdCByPW5ldyBRYShjKHRoaXMsdXQpKTt0aGlzLnN0YXJ0VGltZT1wZXJmb3JtYW5jZS5ub3coKSxmZXRjaChlKS50aGVuKG49Pnt2YXIgYTsoYT1uLmJvZHkpPT1udWxsfHxhLnBpcGVUbyhuZXcgV3JpdGFibGVTdHJlYW0ocix7aGlnaFdhdGVyTWFyazoyfSkpfSl9fXV0PW5ldyBXZWFrTWFwLFF0PW5ldyBXZWFrTWFwLFFlPW5ldyBXZWFrU2V0LGtyPWZ1bmN0aW9uKGUpe2NvbnN0IGk9ZS52aWRlb1RyYWNrc1swXTtjKHRoaXMsUXQpLm9uQ29uZmlnKHtjb2RlYzppLmNvZGVjLnN0YXJ0c1dpdGgoInZwMDgiKT8idnA4IjppLmNvZGVjfSksdGhpcy5mZXRjaFRpbWU9cGVyZm9ybWFuY2Uubm93KCktdGhpcy5zdGFydFRpbWUsYyh0aGlzLHV0KS5zZXRFeHRyYWN0aW9uT3B0aW9ucyhpLmlkKSxjKHRoaXMsdXQpLnN0YXJ0KCl9LFhlPW5ldyBXZWFrU2V0LEdyPWZ1bmN0aW9uKGUsaSxyKXtjKHRoaXMsUXQpLm9uRmluaXNoKHIubWFwKG49Pm5ldyBFbmNvZGVkVmlkZW9DaHVuayh7dHlwZTpuLmlzX3N5bmM/ImtleSI6ImRlbHRhIix0aW1lc3RhbXA6MWU2Km4uY3RzL24udGltZXNjYWxlLGR1cmF0aW9uOjFlNipuLmR1cmF0aW9uL24udGltZXNjYWxlLGRhdGE6bi5kYXRhfSkpLHtmZXRjaFRpbWU6dGhpcy5mZXRjaFRpbWUsZGVjb2RlZFRpbWU6cGVyZm9ybWFuY2Uubm93KCktdGhpcy5mZXRjaFRpbWV9KX07Y2xhc3MgTXJ7Y29uc3RydWN0b3IoZSl7Qyh0aGlzLCJ1cmwiKTtDKHRoaXMsImlzRGVtdXhlZCIsITEpO0EodGhpcyx5ZSx2b2lkIDApO0EodGhpcyxnZSxb
1XSk7QSh0aGlzLFh0LHZvaWQgMCk7dGhpcy51cmw9ZX1nZXQgZnJhbWVDb3VudCgpe3JldHVybiB0aGlzLmNodW5rcy5sZW5ndGh9Z2V0IGZldGNoVGltZSgpe3ZhciBlO3JldHVybiBFLnRvU2Vjb25kcygoKGU9Yyh0aGlzLFh0KSk9PW51bGw/dm9pZCAwOmUuZmV0Y2hUaW1lKT8/MCl9Z2V0IGRlY29kZVRpbWUoKXt2YXIgZTtyZXR1cm4gRS50b1NlY29uZHMoKChlPWModGhpcyxYdCkpPT1udWxsP3ZvaWQgMDplLmRlY29kZWRUaW1lKT8/MCl9Z2V0IGNodW5rcygpe3JldHVybiBjKHRoaXMsZ2UpfWdldCBjb25maWcoKXtyZXR1cm4gYyh0aGlzLHllKX1hc3luYyBkZW11eCgpe3JldHVybiB0aGlzLmlzRGVtdXhlZD9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZShlPT57bmV3IFhhKHRoaXMudXJsLHtvbkNvbmZpZzppPT57Qih0aGlzLHllLGkpfSxvbkZpbmlzaDooaSxyKT0+e0IodGhpcyxnZSxpKSxCKHRoaXMsWHQsciksdGhpcy5pc0RlbXV4ZWQ9ITAsZSh0aGlzKX19KX0pfX15ZT1uZXcgV2Vha01hcCxnZT1uZXcgV2Vha01hcCxYdD1uZXcgV2Vha01hcDtmdW5jdGlvbiBKYSh0LGUsaSl7aWYoIUUuaXNBcnJheSh0KXx8RS5pc0VtcHR5KHQpKXJldHVybnt3aWR0aDowLGhlaWdodDowfTtsZXQgcj0wO3QuZm9yRWFjaChvPT57by5sZW5ndGg+ciYmKHI9by5sZW5ndGgpfSk7Y29uc3RbbixhXT1bdC5sZW5ndGgscl07cmV0dXJue3dpZHRoOmUvYSxoZWlnaHQ6aS9ufX1jbGFzcyBaYXtjb25zdHJ1Y3Rvcigpe0EodGhpcyxmdCk7Qyh0aGlzLCJzZXR0aW5ncyIpO0ModGhpcywicHJldlNldHRpbmdzIik7QSh0aGlzLHh0LDApO0EodGhpcyxRLDApO0EodGhpcyxELDApO0EodGhpcyxWLDApO0EodGhpcyxzdCwwKTtBKHRoaXMsYXQsMCk7QSh0aGlzLFcsbmV3IE1hcCk7QSh0aGlzLGR0LFtdKTtBKHRoaXMsbWUsW10pO0EodGhpcyx2ZSwhMSk7QSh0aGlzLEN0LCExKTtBKHRoaXMsb3QsMCk7QSh0aGlzLGJlLDEpO0EodGhpcyxYLDEpO0EodGhpcyxjdCwxKTtBKHRoaXMscSwxKTtBKHRoaXMsd3QsMCk7QSh0aGlzLFNlLG51bGwpO0ModGhpcywiZHJhd2VyIik7dGhpcy5kcmF3ZXI9bmV3IEthfWdldCBzY3JlZW5XaWR0aCgpe3JldHVybiB0aGlzLnNldHRpbmdzLnNjcmVlbldpZHRofWdldCBzY3JlZW5IZWlnaHQoKXtyZXR1cm4gdGhpcy5zZXR0aW5ncy5zY3JlZW5IZWlnaHR9Z2V0IGZsYXRTb3VyY2VzKCl7cmV0dXJuIHRoaXMuc2V0dGluZ3Muc291cmNlcy5mbGF0KCkuZmlsdGVyKGU9PiEhZSl9Z2V0IG9mZnNldExlZnRWYWx1ZSgpe3JldHVybiBNYXRoLmNlaWwoYyh0aGlzLG90KSt0aGlzLmRyYXdlci5nZXRUZXh0V2lkdGgodGhpcy5sb25nZXN0R3JhZGVMYWJlbFdpZHRoKSl9Z2V0IG9mZnNldEJvdHRvbVZhbHVlKCl7cmV0dXJuIEl0KHRoaXMuc2NyZWVuSGVpZ2h0LDEwKX1nZXQgZ3JhZGVzKCl7dmFyIGU7cmV0dXJuKChlPXRoaXMuc2V0dGluZ3MuZ3JhZGVzU2V0dGluZ3MpPT1udWxsP3ZvaWQgMDplLmdyYWRlcyk/P1tdfWdldCBsb25nZXN0R3JhZGVMYWJlbFdpZHRoKCl7cmV0dXJuIHRoaXMuZ3JhZGVzLnJlZHVjZSgoZSxpKT0+aS5sYWJlbCYmaS5sYWJlbC5sZW5ndGg+ZS5sZW5ndGg/aS5sYWJlbDplLCIiKX1nZXQgaXNHcmFkZXNWZXJ0aWNhbCgpe3ZhciBlO3JldHVybigoZT10aGlzLnNldHRpbmdzLmdyYWRlc1NldHRpbmdzKT09bnVsbD92b2lkIDA6ZS5wbGFjZSk9PT0idmVydGljYWwifWdldCBpc0dyYWRlc0hvcml6b250YWwoKXt2YXIgZTtyZXR1cm4oKGU9dGhpcy5zZXR0aW5ncy5ncmFkZXNTZXR0aW5ncyk9PW51bGw/dm9pZCAwOmUucGxhY2UpPT09Imhvcml6b250YWwifXNldFNldHRpbmdzKGUpe2NvbnN0e2NhbnZhczppfT1lO3RyeXtpJiYhdGhpcy5kcmF3ZXIuY2FudmFzJiZ0aGlzLmRyYXdlci5zZXRDYW52YXMoaSksbHQodGhpcyxmdCxFdCkuY2FsbCh0aGlzLEouVHJhbnNmZXIpfWNhdGNoKHIpe0UubG9nZ2VyLmVycm9yKHIpLGx0KHRoaXMsZnQsRXQpLmNhbGwodGhpcyxKLlRyYW5zZmVyLHtlcnJvcjpyfSl9fWFzeW5jIGRlY29kZShlKXt2YXIgaTt0cnl7aWYodGhpcy5wcmV2U2V0dGluZ3M9dGhpcy5zZXR0aW5ncz8/e30sdGhpcy5zZXR0aW5ncz1FLmRlZXBNZXJnZSh0aGlzLnNldHRpbmdzPz97fSxlKSwhRS5pc0FycmF5KHRoaXMuc2V0dGluZ3Muc291cmNlcyl8fEUuaXNFbXB0eSh0aGlzLnNldHRpbmdzLnNvdXJjZXMpKXtsdCh0aGlzLGZ0LEV0KS5jYWxsKHRoaXMsSi5EZWNvZGUpO3JldHVybn1jb25zdCByPXBlcmZvcm1hbmNlLm5vdygpO3RoaXMuZmxhdFNvdXJjZXMuZm9yRWFjaCh1PT57dSYmKGModGhpcyxXKS5oYXModS5sZWZ0KXx8Yyh0aGlzLFcpLnNldCh1LmxlZnQsbmV3IE1yKHUubGVmdCkpLGModGhpcyxXKS5oYXModS5yaWdodCl8fGModGhpcyxXKS5zZXQodS5yaWdodCxuZXcgTXIodS5yaWdodCkpKX0pLEIodGhpcyx2ZSx0aGlzLnNldHRpbmdzLnNvdXJjZXMubGVuZ3RoPT09MiYmIUUuaXNFbXB0eSh0aGlzLmdyYWRlcykmJnRoaXMuaXNHcmFkZXNWZXJ0aWNhbCksQih0aGlzLEN0LCFFLmlzRW1wdHkodGhpcy5ncmFkZXMpJiZ0aGlzLmlzR3JhZGVzSG9yaXpvbnRhbCksQih0aGlzLG90LEl0KHRoaXMuc2NyZWVuV2lkdGgsMikpO2NvbnN0e2xlZnQ6bixib3R0b206YX09dGhpcy5nZXRPZmZzZXQoKTtCKHRoaXMseHQsbiksQih0aGlzLFEsYSksQih0aGlzLHN0LHRoaXMuc2NyZWVuV2lkdGgtYyh0aGlzLHh0KSksQih0aGlzLGF0LHRoaXMuc2NyZWVuSGVpZ2h0LWModGhpcyxRKSk7Y29uc3R7Y2VsbFdpZHRoOm8sY2VsbEhlaWdodDpmfT10aGlzLmdldENlbGxTaXplKCk7aWYoQih0aGlzLEQsbyksQih0aGlzLFYsZiksQih0aGlzLHEsTWF0aC5mbG9vcihjKHRoaXMsc3QpL2ModGhpcyxEKSkpLEIodGhpcyxjdCx0aGlzLmdldFBhZ2VzKCkpLEIodGhpcyxiZSxjKHRoaXMsWCkpLEIodGhpcyxYLHRoaXMuc2V0dGluZ3MucGFnZSksdGhpcy5zZXR0aW5ncy5jYWxjdWxhdGVQYWdlJiZ0aGlzLnNldHRpbmdzLnNvdXJjZXMmJnRoaXMuc2V0dGluZ3Muc291cmNlcy5sZW5ndGg+MSl7Y29uc3QgdT10aGlzLnNldHRpbmdzLnNvdXJjZXNbMF07Zm9yKGxldCBfPTA7XzxjKHRoaXMsY3QpOysrXyl7Y29uc3QgZz1fKmModGhpcyxxKTtpZih1LnNsaWNlKF8qYyh0aGlzLHEpLGcrYyh0aGlzLHEpKS5maWx0ZXIobT0+ISFtKS5sZW5ndGg+MCl7Qih0aGlzLFgsXysxKTticmVha319fWModGhpcyxYKT5jKHRoaXMsY3QpJiZCKHRoaXMsWCxjKHRoaXMsY3QpKSxCKHRoaXMsd3QsKGModGhpcyxYKS0xKSpjKHRoaXMscSkpLGModGhpcyxjdCk+MSYmYyh0aGlzLEQpKmModGhpcyxxKTxjKHRoaXMsc3QpJiZCKHRoaXMsRCxjKHRoaXMsc3QpL2ModGhpcyxxKSksQih0aGlzLFNlLHRoaXMuZ2V0TWF4U2NhbGVSYXRpbygpKSxCKHRoaXMsbWUsYyh0aGlzLGR0KSksQih0aGlzLGR0LHRoaXMuc2V0dGluZ3Muc291cmNlcy5tYXAoKHUsXyxnKT0+dS5zbGljZShjKHRoaXMsd3QpLGModGhpcyx3dCkrYyh0aGlzLHEpKS5tYXAoKHAsbSxTKT0+e2lmKCFwKXJldHVybi
1BudWxsO2NvbnN0IFU9Yyh0aGlzLFcpLmdldChwLmxlZnQpLHo9Yyh0aGlzLFcpLmdldChwLnJpZ2h0KTtpZighVXx8IXopcmV0dXJuIG51bGw7Y29uc3QgVD17Y2FudmFzOnRoaXMuZHJhd2VyLmNhbnZhcyxzY3JlZW5XaWR0aDp0aGlzLnNjcmVlbldpZHRoLHNpbmdsZVNjYWxlOiEhdGhpcy5zZXR0aW5ncy5zaW5nbGVTY2FsZSxzY2FsZVJhdGlvOnAuc2NhbGVSYXRpbyxkZWJ1Zzp0aGlzLnNldHRpbmdzLmRlYnVnfSx7eDpiLHk6Rix3aWR0aDpMLGhlaWdodDpNfT10aGlzLmdldENlbGxDb29yZHMoXyxtLGcubGVuZ3RoLFMubGVuZ3RoKTtyZXR1cm57bGVmdDpuZXcgTHIoey4uLlQsdXJsOnAubGVmdCxyaWdodDohMSxjb25maWc6VS5jb25maWd9KSxyaWdodDpuZXcgTHIoey4uLlQsdXJsOnAucmlnaHQscmlnaHQ6ITAsY29uZmlnOnouY29uZmlnfSksZnJhbWU6cC5mcmFtZSx4OmIseTpGLHdpZHRoOkwsaGVpZ2h0Ok19fSkpKSx0aGlzLmZsdXNoRGVjb2RlcnMoKSwoSlNPTi5zdHJpbmdpZnkodGhpcy5wcmV2U2V0dGluZ3MuZ3JhZGVzU2V0dGluZ3MpIT09SlNPTi5zdHJpbmdpZnkodGhpcy5zZXR0aW5ncy5ncmFkZXNTZXR0aW5ncyl8fEpTT04uc3RyaW5naWZ5KHRoaXMucHJldlNldHRpbmdzLnNpemUpIT09SlNPTi5zdHJpbmdpZnkodGhpcy5zZXR0aW5ncy5zaXplKXx8dGhpcy5zZXR0aW5ncy5wYWdlIT09Yyh0aGlzLFgpKSYmdGhpcy5yZXNldEdyYWRlcygpLGModGhpcyxYKSE9PWModGhpcyxiZSkmJnRoaXMuZHJhd2VyLnJlY3QoMCwwLHRoaXMuc2NyZWVuV2lkdGgqMix0aGlzLnNjcmVlbkhlaWdodCk7Y29uc3QgaD1bLi4uYyh0aGlzLFcpLnZhbHVlcygpXSxsPWguZmlsdGVyKHU9PiF1LmlzRGVtdXhlZCk7YXdhaXQgUHJvbWlzZS5hbGwobC5tYXAodT0+dS5kZW11eCgpKSksYyh0aGlzLGR0KS5mb3JFYWNoKCh1LF8pPT51LmZvckVhY2goKGcscCk9Pnt2YXIgeixULGIsRjtpZighZylyZXR1cm47Y29uc3QgbT1jKHRoaXMsVykuZ2V0KGcubGVmdC51cmwpLFM9Yyh0aGlzLFcpLmdldChnLnJpZ2h0LnVybCk7aWYoIW18fCFTKXJldHVybjtjb25zdCBVPWModGhpcyxkdClbX11bcF07KHo9VT09bnVsbD92b2lkIDA6VS5sZWZ0KSE9bnVsbCYmei5pc0NvbmZpZ3VyZWR8fChUPVU9PW51bGw/dm9pZCAwOlUubGVmdCk9PW51bGx8fFQuY29uZmlndXJlKG0uY29uZmlnKSwoYj1VPT1udWxsP3ZvaWQgMDpVLnJpZ2h0KSE9bnVsbCYmYi5pc0NvbmZpZ3VyZWR8fChGPVU9PW51bGw/dm9pZCAwOlUucmlnaHQpPT1udWxsfHxGLmNvbmZpZ3VyZShTLmNvbmZpZyl9KSksbC5sZW5ndGg+MCYmKEUubG9nZ2VyLnRhYmxlKGwubWFwKHU9Pih7dXJsOnUudXJsLGZldGNoVGltZTp1LmZldGNoVGltZSxkZWNvZGVUaW1lOnUuZGVjb2RlVGltZX0pKSksRS5sb2dnZXIuaW5mbygiRGVjb2RlZCIsRS50b1NlY29uZHMocGVyZm9ybWFuY2Uubm93KCktcikpKSxsdCh0aGlzLGZ0LEV0KS5jYWxsKHRoaXMsSi5EZWNvZGUse2ZyYW1lQ291bnQ6KChpPWg9PW51bGw/dm9pZCAwOmhbMF0pPT1udWxsP3ZvaWQgMDppLmZyYW1lQ291bnQpPz8wLHBhZ2U6Yyh0aGlzLFgpLHBhZ2VzOmModGhpcyxjdCkscGFnZVNpemU6Yyh0aGlzLHEpfSl9Y2F0Y2gocil7RS5sb2dnZXIuZXJyb3IociksbHQodGhpcyxmdCxFdCkuY2FsbCh0aGlzLEouRGVjb2RlLHtlcnJvcjpyfSl9fWFzeW5jIHJlbmRlcihlKXtjb25zdHtmcmFtZTppLHNpbmdsZVNjYWxlOnJ9PWU7dHJ5e3RoaXMuc2V0dGluZ3Muc2luZ2xlU2NhbGU9cixjKHRoaXMsZHQpLmZvckVhY2gobj0+e24uZm9yRWFjaChhPT57aWYoIShhIT1udWxsJiZhLmxlZnQpfHwhKGEhPW51bGwmJmEucmlnaHQpKXJldHVybjtjb25zdCBvPWModGhpcyxXKS5nZXQoYS5sZWZ0LnVybCksZj1jKHRoaXMsVykuZ2V0KGEucmlnaHQudXJsKTtpZighb3x8IWYpcmV0dXJuO2NvbnN0IGg9e2NlbGxYOmEueCxjZWxsWTphLnksY2VsbFdpZHRoOmEud2lkdGgsY2VsbEhlaWdodDphLmhlaWdodCxzaW5nbGVTY2FsZTpyLGJpZ2dlc3RTY2FsZVJhdGlvOmModGhpcyxTZSl9O2lmKCFvLmNodW5rc1thLmZyYW1lPz9pXSYmIWYuY2h1bmtzW2EuZnJhbWU/P2ldKXtjb25zdCBsPWguY2VsbFgraC5jZWxsV2lkdGgvMix1PWguY2VsbFkraC5jZWxsSGVpZ2h0LzI7dGhpcy5kcmF3ZXIudGV4dCgiTG9hZGluZyIsbCx1KSx0aGlzLmRyYXdlci50ZXh0KCJMb2FkaW5nIixsK3RoaXMuc2NyZWVuV2lkdGgsdSk7cmV0dXJufWEubGVmdC5kcmF3KG8uY2h1bmtzW2EuZnJhbWU/P2ldLGgpLGEucmlnaHQuZHJhdyhmLmNodW5rc1thLmZyYW1lPz9pXSxoKX0pfSksRS5pc0VtcHR5KHRoaXMuZ3JhZGVzKXx8KHRoaXMuaXNHcmFkZXNWZXJ0aWNhbCYmdGhpcy5ncmFkZXMuc2xpY2UoYyh0aGlzLHd0KSxjKHRoaXMsd3QpK2ModGhpcyxxKSkuZm9yRWFjaCgobixhLG8pPT57Y29uc3QgZj10aGlzLmdldEhvcml6b250YWxPZmZzZXQoby5sZW5ndGgpLGg9Yyh0aGlzLEQpKmErZixsPXRoaXMuc2NyZWVuSGVpZ2h0LWModGhpcyxRKTtpZih0aGlzLmRyYXdlci5yZWN0KGgsbCxjKHRoaXMsRCksYyh0aGlzLFEpKSx0aGlzLmRyYXdlci5yZWN0KGgrdGhpcy5zY3JlZW5XaWR0aCxsLGModGhpcyxEKSxjKHRoaXMsUSkpLCFuKXJldHVybjtjb25zdCB1PUl0KGModGhpcyxRKSwyNSksXz1JdChjKHRoaXMsUSksNDApLGc9SXQoYyh0aGlzLFEpLDc1KTtpZihuLnR5cGU9PT0iZ3JhZGluZ1Jlc3VsdCImJm4ubGFiZWwmJm4uY29sb3Ipe2lmKG4ucmVmZXJlbmNlKXtjb25zdCBwPWgrYyh0aGlzLEQpLzIsbT1sK3UvMjt0aGlzLmRyYXdlci50ZXh0KG4ucmVmZXJlbmNlLHAsbSx7c2l6ZToyLjR9KSx0aGlzLmRyYXdlci50ZXh0KG4ucmVmZXJlbmNlLHArdGhpcy5zY3JlZW5XaWR0aCxtLHtzaXplOjIuNH0pfWlmKHRoaXMuZHJhd2VyLnJvdW5kUmVjdChoLGwrdSxjKHRoaXMsRCksZyx7Ym9yZGVyUmFkaXVzOltLLEssMCwwXSxjb2xvcjpuLmNvbG9yfSksdGhpcy5kcmF3ZXIucm91bmRSZWN0KGgrdGhpcy5zY3JlZW5XaWR0aCxsK3UsYyh0aGlzLEQpLGcse2JvcmRlclJhZGl1czpbSyxLLDAsMF0sY29sb3I6bi5jb2xvcn0pLG4ubGFiZWwpe2NvbnN0IHA9aCtjKHRoaXMsRCkvMixtPWwrdStfLzI7dGhpcy5kcmF3ZXIudGV4dChuLmxhYmVsLHAsbSx7Y29sb3I6YnR9KSx0aGlzLmRyYXdlci50ZXh0KG4ubGFiZWwscCt0aGlzLnNjcmVlbldpZHRoLG0se2NvbG9yOmJ0fSl9fWlmKG4udHlwZT09PSJyZWZlcmVuY2UiJiZuLmx
1hYmVsJiZuLmNvbG9yKXtpZihuLnJlZmVyZW5jZSl7Y29uc3QgcD1oK2ModGhpcyxEKS8yLG09bCt1LzI7dGhpcy5kcmF3ZXIudGV4dChuLnJlZmVyZW5jZSxwLG0se3NpemU6Mi40fSksdGhpcy5kcmF3ZXIudGV4dChuLnJlZmVyZW5jZSxwK3RoaXMuc2NyZWVuV2lkdGgsbSx7c2l6ZToyLjR9KX1pZih0aGlzLmRyYXdlci5yb3VuZFJlY3QoaCxsK3UsYyh0aGlzLEQpLF8se2JvcmRlclJhZGl1czpbSyxLLDAsMF0sY29sb3I6bi5jb2xvcn0pLHRoaXMuZHJhd2VyLnJvdW5kUmVjdChoK3RoaXMuc2NyZWVuV2lkdGgsbCt1LGModGhpcyxEKSxfLHtib3JkZXJSYWRpdXM6W0ssSywwLDBdLGNvbG9yOm4uY29sb3J9KSxuLmxhYmVsKXtjb25zdCBwPWgrYyh0aGlzLEQpLzIsbT1sK3UrXy8yO3RoaXMuZHJhd2VyLnRleHQobi5sYWJlbCxwLG0se2NvbG9yOmJ0fSksdGhpcy5kcmF3ZXIudGV4dChuLmxhYmVsLHArdGhpcy5zY3JlZW5XaWR0aCxtLHtjb2xvcjpidH0pfX1pZihuLnR5cGU9PT0icmVmZXJlbmNlIiYmIW4ubGFiZWwpe2NvbnN0IHA9aCtjKHRoaXMsRCkvMixtPXRoaXMuc2NyZWVuSGVpZ2h0LWModGhpcyxRKSt1O24ucmVmZXJlbmNlJiYodGhpcy5kcmF3ZXIudGV4dChuLnJlZmVyZW5jZSxoK2ModGhpcyxEKS8yLGwrdS8yLHtzaXplOjIuNH0pLHRoaXMuZHJhd2VyLnRleHQobi5yZWZlcmVuY2UsaCtjKHRoaXMsRCkvMit0aGlzLnNjcmVlbldpZHRoLGwrdS8yLHtzaXplOjIuNH0pKSx0aGlzLmRyYXdlci5saW5lKHAsbSxwLHRoaXMuc2NyZWVuSGVpZ2h0LHtkYXNoOls1LDVdLGNvbG9yOkNyfSksdGhpcy5kcmF3ZXIubGluZShwK3RoaXMuc2NyZWVuV2lkdGgsbSxwK3RoaXMuc2NyZWVuV2lkdGgsdGhpcy5zY3JlZW5IZWlnaHQse2Rhc2g6WzUsNV0sY29sb3I6Q3J9KX19KSx0aGlzLmlzR3JhZGVzSG9yaXpvbnRhbCYmdGhpcy5ncmFkZXMuZm9yRWFjaCgobixhKT0+e2NvbnN0IGY9Yyh0aGlzLFYpKmE7dGhpcy5kcmF3ZXIucmVjdCgwLGYsYyh0aGlzLHh0KSxjKHRoaXMsVikpLHRoaXMuZHJhd2VyLnJvdW5kUmVjdCgwK3RoaXMuc2NyZWVuV2lkdGgsZixjKHRoaXMseHQpLGModGhpcyxWKSksbiYmbi50eXBlPT09ImdyYWRpbmdSZXN1bHQiJiZuLmNvbG9yJiYodGhpcy5kcmF3ZXIucm91bmRSZWN0KDAsZixjKHRoaXMsb3QpLGModGhpcyxWKSx7Ym9yZGVyUmFkaXVzOlswLEssSywwXSxjb2xvcjpuLmNvbG9yfSksdGhpcy5kcmF3ZXIucm91bmRSZWN0KDArdGhpcy5zY3JlZW5XaWR0aCxmLGModGhpcyxvdCksYyh0aGlzLFYpLHtib3JkZXJSYWRpdXM6WzAsSyxLLDBdLGNvbG9yOm4uY29sb3J9KSxuLmxhYmVsJiYodGhpcy5kcmF3ZXIudGV4dChuLmxhYmVsLDArYyh0aGlzLG90KSxmK2ModGhpcyxWKS8yLHtjb2xvcjpBaSxhbGlnbjoibGVmdCJ9KSx0aGlzLmRyYXdlci50ZXh0KG4ubGFiZWwsMCtjKHRoaXMsb3QpK3RoaXMuc2NyZWVuV2lkdGgsZitjKHRoaXMsVikvMix7Y29sb3I6QWksYWxpZ246ImxlZnQifSkpKX0pKSxsdCh0aGlzLGZ0LEV0KS5jYWxsKHRoaXMsSi5SZW5kZXIpfWNhdGNoKG4pe0UubG9nZ2VyLmVycm9yKG4pLGx0KHRoaXMsZnQsRXQpLmNhbGwodGhpcyxKLlJlbmRlcix7ZXJyb3I6bn0pfX1mbHVzaERlY29kZXJzKCl7dmFyIGkscjtjb25zdCBlPSgoaT10aGlzLnByZXZTZXR0aW5ncy5ncmFkZXNTZXR0aW5ncyk9PW51bGw/dm9pZCAwOmkucGxhY2UpIT09KChyPXRoaXMuc2V0dGluZ3MuZ3JhZGVzU2V0dGluZ3MpPT1udWxsP3ZvaWQgMDpyLnBsYWNlKTtjKHRoaXMsbWUpLmZvckVhY2goKG4sYSk9PntuLmZvckVhY2goKG8sZik9Pnt2YXIgdTtpZighbylyZXR1cm47Y29uc3QgaD0odT1jKHRoaXMsZHQpW2FdKT09bnVsbD92b2lkIDA6dVtmXTtsZXQgbD1lO28mJiFoJiYobD0hMCksKG8ueCE9PShoPT1udWxsP3ZvaWQgMDpoLngpfHxvLnkhPT0oaD09bnVsbD92b2lkIDA6aC55KSkmJihsPSEwKSwoKG89PW51bGw/dm9pZCAwOm8ubGVmdC51cmwpIT09KGg9PW51bGw/dm9pZCAwOmgubGVmdC51cmwpfHwobz09bnVsbD92b2lkIDA6by5yaWdodC51cmwpIT09KGg9PW51bGw/dm9pZCAwOmgucmlnaHQudXJsKXx8KG89PW51bGw/dm9pZCAwOm8uZnJhbWUpIT09KGg9PW51bGw/dm9pZCAwOmguZnJhbWUpKSYmKGw9ITApLHRoaXMucHJldlNldHRpbmdzLnNpbmdsZVNjYWxlIT09dGhpcy5zZXR0aW5ncy5zaW5nbGVTY2FsZSYmKGw9ITApLHRoaXMucHJldlNldHRpbmdzLnNpemUhPT10aGlzLnNldHRpbmdzLnNpemUmJihsPSEwKSxsJiYodGhpcy5kcmF3ZXIucmVjdChvLngsby55LG8ud2lkdGgsby5oZWlnaHQpLHRoaXMuZHJhd2VyLnJlY3Qoby54K3RoaXMuc2NyZWVuV2lkdGgsby55LG8ud2lkdGgsby5oZWlnaHQpKSxvPT1udWxsfHxvLmxlZnQuZGVjb2Rlci5jbG9zZSgpLG89PW51bGx8fG8ucmlnaHQuZGVjb2Rlci5jbG9zZSgpfSl9KX1yZXNldEdyYWRlcygpe3ZhciBuO2NvbnN0IGU9KCgobj10aGlzLnByZXZTZXR0aW5ncy5ncmFkZXNTZXR0aW5ncyk9PW51bGw/dm9pZCAwOm4uZ3JhZGVzKT8/W10pLnJlZHVjZSgoYSxvKT0+by5sYWJlbCYmby5sYWJlbC5sZW5ndGg+YS5sZW5ndGg/by5sYWJlbDphLCIiKSxpPU1hdGguY2VpbChjKHRoaXMsb3QpK3RoaXMuZHJhd2VyLmdldFRleHRXaWR0aChlKSkscj10aGlzLm9mZnNldEJvdHRvbVZhbHVlO3RoaXMuZHJhd2VyLnJlY3QoMCwwLGksdGhpcy5zY3JlZW5IZWlnaHQpLHRoaXMuZHJhd2VyLnJlY3QodGhpcy5zY3JlZW5XaWR0aCwwLGksdGhpcy5zY3JlZW5IZWlnaHQpLHRoaXMuZHJhd2VyLnJlY3QoMCx0aGlzLnNjcmVlbkhlaWdodC1yLHRoaXMuc2NyZWVuV2lkdGgsciksdGhpcy5kcmF3ZXIucmVjdCh0aGlzLnNjcmVlbldpZHRoLHRoaXMuc2NyZWVuSGVpZ2h0LXIsdGhpcy5zY3JlZW5XaWR0aCxyKX1nZXRPZmZzZXQoKXtsZXQgZT0wLGk9MDtyZXR1cm4gRS5pc0VtcHR5KHRoaXMuZ3JhZGVzKXx8KHRoaXMuaXNHcmFkZXNWZXJ0aWNhbCYmKGk9dGhpcy5vZmZzZXRCb3R0b21WYWx1ZSksdGhpcy5pc0dyYWRlc0hvcml6b250YWwmJihlPXRoaXMub2Zmc2V0TGVmdFZhbHVlKSkse2xlZnQ6ZSxib3R0b206aX19Z2V0SG9yaXpvbn
1RhbE9mZnNldChlKXtsZXQgaT1jKHRoaXMseHQpO2lmKCFjKHRoaXMsQ3QpKXtjb25zdCByPWModGhpcyxEKSplO3I8Yyh0aGlzLHN0KSYmKGkrPShjKHRoaXMsc3QpLXIpLzIpfXJldHVybiBpfWdldFZlcnRpY2FsT2Zmc2V0KGUpe2xldCBpPTA7aWYoIWModGhpcyxDdCkpe2NvbnN0IHI9Yyh0aGlzLFYpKmU7cjxjKHRoaXMsYXQpJiYoaSs9KGModGhpcyxhdCktcikvMil9cmV0dXJuIGl9Z2V0UGFnZXMoKXtpZih0aGlzLnNldHRpbmdzLmZpdClyZXR1cm4gMTtjb25zdCBlPXRoaXMuc2V0dGluZ3Muc291cmNlcy5yZWR1Y2UoKGkscik9PnIubGVuZ3RoPmk/ci5sZW5ndGg6aSwwKTtyZXR1cm4gTWF0aC5jZWlsKGUvYyh0aGlzLHEpKX1nZXRDZWxsU2l6ZSgpe2NvbnN0e3dpZHRoOmUsaGVpZ2h0Oml9PUphKHRoaXMuc2V0dGluZ3Muc291cmNlcyxjKHRoaXMsc3QpLGModGhpcyxhdCkpO2xldCByPU1hdGguZmxvb3IoZSksbj1NYXRoLmZsb29yKGkpO3JldHVybiBjKHRoaXMsQ3QpP3I9bjp0aGlzLnNldHRpbmdzLmZpdD90aGlzLmlzTWF0Y2hBdmFpbGFibGVIZWlnaHQocikmJihuPXIpOnRoaXMuc2V0dGluZ3Muc2l6ZSYmRS5pc051bWJlcih0aGlzLnNldHRpbmdzLnNpemUpJiYocj10aGlzLnNldHRpbmdzLnNpemUsdGhpcy5pc01hdGNoQXZhaWxhYmxlSGVpZ2h0KHRoaXMuc2V0dGluZ3Muc2l6ZSkmJihuPXRoaXMuc2V0dGluZ3Muc2l6ZSkpLHtjZWxsV2lkdGg6cixjZWxsSGVpZ2h0Om59fWdldE1heFNjYWxlUmF0aW8oKXtsZXQgZT1udWxsO2lmKHRoaXMuc2V0dGluZ3MubWF4U2NhbGUpe2NvbnN0IGk9K3RoaXMuc2V0dGluZ3MubWF4U2NhbGU7aXNOYU4oaSl8fChlPWkpfWVsc2V7Y29uc3QgaT10aGlzLmZsYXRTb3VyY2VzLnNsaWNlKCkuc29ydCgocixuKT0+bi5zY2FsZVJhdGlvLXIuc2NhbGVSYXRpbylbMF07aSYmKGU9aS5zY2FsZVJhdGlvKX1yZXR1cm4gZX1pc01hdGNoQXZhaWxhYmxlSGVpZ2h0KGUpe3JldHVybiB0aGlzLnNldHRpbmdzLnNvdXJjZXMubGVuZ3RoKmU8PWModGhpcyxhdCl9Z2V0Q2VsbENvb3JkcyhlLGkscixuKXtjb25zdCBhPXRoaXMuZ2V0VmVydGljYWxPZmZzZXQociksbz10aGlzLmdldEhvcml6b250YWxPZmZzZXQobiksZj17eDppKmModGhpcyxEKStvLHk6ZSpjKHRoaXMsVikrYSx3aWR0aDpjKHRoaXMsRCksaGVpZ2h0OmModGhpcyxWKX07aWYoYyh0aGlzLHZlKSl7bGV0IGg9SXQoYyh0aGlzLGF0KSwyMCk7dGhpcy5zZXR0aW5ncy5zaXplJiZoPHRoaXMuc2V0dGluZ3Muc2l6ZSYmKGg9dGhpcy5zZXR0aW5ncy5zaXplKTtjb25zdCBsPWModGhpcyxhdCktaDtlPT09MCYmKGYueT1lLGYuaGVpZ2h0PWwpLGU9PT0xJiYoZi55PWUqbCxmLmhlaWdodD1oKX1yZXR1cm4gZn19eHQ9bmV3IFdlYWtNYXAsUT1uZXcgV2Vha01hcCxEPW5ldyBXZWFrTWFwLFY9bmV3IFdlYWtNYXAsc3Q9bmV3IFdlYWtNYXAsYXQ9bmV3IFdlYWtNYXAsVz1uZXcgV2Vha01hcCxkdD1uZXcgV2Vha01hcCxtZT1uZXcgV2Vha01hcCx2ZT1uZXcgV2Vha01hcCxDdD1uZXcgV2Vha01hcCxvdD1uZXcgV2Vha01hcCxiZT1uZXcgV2Vha01hcCxYPW5ldyBXZWFrTWFwLGN0PW5ldyBXZWFrTWFwLHE9bmV3IFdlYWtNYXAsd3Q9bmV3IFdlYWtNYXAsU2U9bmV3IFdlYWtNYXAsZnQ9bmV3IFdlYWtTZXQsRXQ9ZnVuY3Rpb24oZSxpPXt9KXtzZWxmLnBvc3RNZXNzYWdlKHthY3Rpb246ZSxkYXRhOml9KX07Y29uc3QgVGk9bmV3IFphO3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdD0+e2NvbnN0e2FjdGlvbjplLGRhdGE6aX09dC5kYXRhO3N3aXRjaC
1hlKXtjYXNlIEouVHJhbnNmZXI6VGkuc2V0U2V0dGluZ3MoaSk7YnJlYWs7Y2FzZSBKLkRlY29kZTpUaS5kZWNvZGUoaSk7YnJlYWs7Y2FzZSBKLlJlbmRlcjpUaS5yZW5kZXIoaSk7YnJlYWt9fSl9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWNHeGhlV1Z5TFhkdmNtdGxjaTF1TFVaQmRVZHNiQzVxY3lJc0luTnZkWEpqWlhNaU9sc2lMaTR2Ym05a1pWOXRiMlIxYkdWekwyUnZkMjVzYjJGa2FuTXZaRzkzYm14dllXUXVhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12UUdOMWRIZHBjMlV2ZFhScGJITXZiR2xpTDNWMGFXeHpMMmx6UVhKeVlYa3ZhWE5CY25KaGVTNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlBWTNWMGQybHpaUzkxZEdsc2N5OXNhV0l2ZFhScGJITXZhWE5QWW1wbFkzUXZhWE5QWW1wbFkzUXVhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12UUdOMWRIZHBjMlV2ZFhScGJITXZiR2xpTDNWMGFXeHpMMmx6VG5WdFltVnlMMmx6VG5WdFltVnlMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDBCamRYUjNhWE5sTDNWMGFXeHpMMnhwWWk5MWRHbHNjeTloY25KaGVWUnZUV0YwY21sNEwyRnljbUY1Vkc5TllYUnlhWGd1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwzVjBhV3h6TDJselRXRndMMmx6VFdGd0xtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMEJqZFhSM2FYTmxMM1YwYVd4ekwyeHBZaTkxZEdsc2N5OXBjMU5sZEM5cGMxTmxkQzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVkzVjBkMmx6WlM5MWRHbHNjeTlzYVdJdmRYUnBiSE12YVhOVGRISnBibWN2YVhOVGRISnBibWN1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwzVjBhV3h6TDJselJXMXdkSGt2YVhORmJYQjBlUzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVkzVjBkMmx6WlM5MWRHbHNjeTlzYVdJdmRYUnBiSE12WTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUXZZMkZzWTNWc1lYUmxRWE53WldOMFVtRjBhVzlHYVhRdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR04xZEhkcGMyVXZkWFJwYkhNdmJHbGlMM1YwYVd4ekwyTnZiRzl5TDJOdmJHOXlMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDBCamRYUjNhWE5sTDNWMGFXeHpMMnhwWWk5MWRHbHNjeTlrWVhSbEwyUmhkR1V1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwzVjBhV3h6TDJSbFpYQk5aWEpuWlM5a1pXVndUV1Z5WjJVdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZaWE10WlhKeWIzSnpMMmx1WkdWNExtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMlZ6TFdWeWNtOXljeTlsZG1Gc0xtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMlZ6TFdWeWNtOXljeTl5WVc1blpTNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlsY3kxbGNuSnZjbk12Y21WbUxtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMlZ6TFdWeWNtOXljeTl6ZVc1MFlYZ3Vhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12WlhNdFpYSnliM0p6TDNSNWNHVXVhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12WlhNdFpYSnliM0p6TDNWeWFTNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhNdGMzbHRZbTlzY3k5emFHRnRjeTVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTXRjM2x0WW05c2N5OXBibVJsZUM1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE10Y0hKdmRHOHZhVzVrWlhndWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZablZ1WTNScGIyNHRZbWx1WkM5cGJYQnNaVzFsYm5SaGRHbHZiaTVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5bWRXNWpkR2x2YmkxaWFXNWtMMmx1WkdWNExtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMmhoYzI5M2JpOXBibVJsZUM1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OW5aWFF0YVc1MGNtbHVjMmxqTDJsdVpHVjRMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDJWekxXUmxabWx1WlMxd2NtOXdaWEowZVM5cGJtUmxlQzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5bmIzQmtMMmx1WkdWNExtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMlJsWm1sdVpTMWtZWFJoTFhCeWIzQmxjblI1TDJsdVpHVjRMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDJoaGN5MXdjbTl3WlhKMGVTMWtaWE5qY21sd2RHOXljeTlwYm1SbGVDNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WlhRdFpuVnVZM1JwYjI0dGJHVnVaM1JvTDJsdVpHVjRMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDJOaGJHd3RZbWx1WkM5cGJtUmxlQzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5allXeHNMV0pwYm1RdlkyRnNiRUp2ZFc1a0xtcHpJaXdpTGk0dlgxOTJhWFJsTFdKeWIzZHpaWEl0WlhoMFpYSnVZV3dpTENJdUxpOXViMlJsWDIxdlpIVnNaWE12YjJKcVpXTjBMV2x1YzNCbFkzUXZhVzVrWlhndWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZjMmxrWlMxamFHRnVibVZzTDJsdVpHVjRMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDNGekwyeHBZaTltYjNKdFlYUnpMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDNGekwyeHBZaTkxZEdsc2N5NXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTl4Y3k5c2FXSXZjM1J5YVc1bmFXWjVMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDNGekwyeHBZaTl3WVhKelpTNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTl4Y3k5c2FXSXZhVzVrWlhndWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR04xZEhkcGMyVXZkWFJwYkhNdmJHbGlMM1YwYVd4ekwyZGxibVZ5WVhSbFUyVmhjbU5vVVhWbGNua3ZaMlZ1WlhKaGRHVlRaV0Z5WTJoUmRXVnllUzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVkzVjBkMmx6WlM5MWRHbHNjeTlzYVdJdmRYUnBiSE12WjJWMFJtbHNaVTVoYldWR2NtOXRWWEpzTDJkbGRFWnBiR1ZPWVcxbFJuSnZiVlZ5YkM1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OUFZM1YwZDJselpTOTFkR2xzY3k5c2FXSXZkWFJwYkhNdloyVjBUVzkxYzJWRWFYSmxZM1JwYjI0dloyVjBUVzkxYzJWRWFYSmxZM1JwYjI0dWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR04xZEhkcGMyVXZkWFJwYkhNdmJHbGlMM1YwYVd4ekwyeHZaMmRsY2k5c2IyZG5aWEl1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwzVjBhV3h6TDNCaGNuTmxVMlZoY21Ob1VYVmxjbmt2Y0dGeWMyVlRaV0Z5WTJoUmRXVnllUzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVkzVjBkMmx6WlM5MWRHbHNjeTlzYVdJdmRYUnBiSE12Y0dWeVkyVnVkQzl3WlhKalpXNTBMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDBCamRYUjNhWE5sTDNWMGFXeHpMMnhwWWk5MWRHbHNjeTl3YkhWeVlXeHBlbVV2Y0d4MWNtRnNhWHBsTG1weklpd2lMaTR2Ym05a1
1pWOXRiMlIxYkdWekwwQmpkWFIzYVhObEwzVjBhV3h6TDJ4cFlpOTFkR2xzY3k5d2RYSmxVM1J5ZFdOMGRYSmxMM0IxY21WVGRISjFZM1IxY21VdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR04xZEhkcGMyVXZkWFJwYkhNdmJHbGlMM1YwYVd4ekwzUm9jbTkwZEd4bEwzUm9jbTkwZEd4bExtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMEJqZFhSM2FYTmxMM1YwYVd4ekwyeHBZaTkxZEdsc2N5OXBibVJsZUM1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OUFZM1YwZDJselpTOTFkR2xzY3k5c2FXSXZZWEJwTDNGMVpYSjVRVkJKTDNGMVpYSjVRVkJKTG1weklpd2lMaTR2Ym05a1pWOXRiMlIxYkdWekwwQmpkWFIzYVhObEwzVjBhV3h6TDJ4cFlpOWhjR2t2Wm1WMFkyaEJVRWt2Wm1WMFkyaEJVRWt1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwyRndhUzlwYm1SbGVDNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlBWTNWMGQybHpaUzkxZEdsc2N5OXNhV0l2WTI5dWMzUmhiblJ6TDI1bGRIZHZjbXN1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwyTnZibk4wWVc1MGN5OTBaWE4wYVc1bkxtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMEJqZFhSM2FYTmxMM1YwYVd4ekwyeHBZaTl6WlhKMmFXTmxjeTlGZVdWVWNtRmphMmx1WjBOc2FXVnVkQzlGZVdWVWNtRmphMmx1WjBOc2FXVnVkQzVqYjI1emRHRnVkSE11YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHTjFkSGRwYzJVdmRYUnBiSE12YkdsaUwzTmxjblpwWTJWekwwVjVaVlJ5WVdOcmFXNW5RMnhwWlc1MEwwVjVaVlJ5WVdOcmFXNW5RMnhwWlc1MExtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMEJqZFhSM2FYTmxMM1YwYVd4ekwyeHBZaTl6WlhKMmFXTmxjeTlwYm1SbGVDNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlBWTNWMGQybHpaUzkxZEdsc2N5OXNhV0l2YVc1a1pYZ3Vhbk1pTENJdUxpOXpjbU12WTI5dWMzUmhiblJ6TDNkdmNtdGxjaTUwY3lJc0lpNHVMM055WXk5elpYSjJhV05sY3k5a2NtRjNaWEl1ZEhNaUxDSXVMaTl6Y21NdmMyVnlkbWxqWlhNdmJXVmthV0V0WkdWamIyUmxjaTUwY3lJc0lpNHVMM055WXk5aGMzTmxkSE12YkdsaWN5OXRjRFJpYjNndWFuTWlMQ0l1TGk5emNtTXZjMlZ5ZG1salpYTXZiV1ZrYVdFdFpHVnRkWGhsY2k1MGN5SXNJaTR1TDNOeVl5OTFkR2xzY3k5allXeGpkV3hoZEdWRFpXeHNVMmw2WlM1MGN5SXNJaTR1TDNOeVl5OXdiR0Y1WlhJdGQyOXlhMlZ5TG5SeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2Wkc5M2JteHZZV1F1YW5NZ2RqUXVNaXdnWW5rZ1pHRnVaR0YyYVhNN0lESXdNRGd0TWpBeE5pNGdXMDFKVkYwZ2MyVmxJR2gwZEhBNkx5OWtZVzV0YkM1amIyMHZaRzkzYm14dllXUXVhSFJ0YkNCbWIzSWdkR1Z6ZEhNdmRYTmhaMlZjYmk4dklIWXhJR3hoYm1SbFpDQmhJRVpHSzBOb2NtOXRaU0JqYjIxd1lYUWdkMkY1SUc5bUlHUnZkMjVzYjJGa2FXNW5JSE4wY21sdVozTWdkRzhnYkc5allXd2dkVzR0Ym1GdFpXUWdabWxzWlhNc0lIVndaM0poWkdWa0lIUnZJSFZ6WlNCaElHaHBaR1JsYmlCbWNtRnRaU0JoYm1RZ2IzQjBhVzl1WVd3Z2JXbHRaVnh1THk4Z2RqSWdZV1JrWldRZ2JtRnRaV1FnWm1sc1pYTWdkbWxoSUdGYlpHOTNibXh2WVdSZExDQnRjMU5oZG1WQ2JHOWlMQ0JKUlNBb01UQXJLU0J6ZFhCd2IzSjBMQ0JoYm1RZ2QybHVaRzkzTGxWU1RDQnpkWEJ3YjNKMElHWnZjaUJzWVhKblpYSXJabUZ6ZEdWeUlITmhkbVZ6SUhSb1lXNGdaR0YwWVZWU1RITmNiaTh2SUhZeklHRmtaR1ZrSUdSaGRHRlZVa3dnWVc1a0lFSnNiMklnU1c1d2RYUXNJR0pwYm1RdGRHOW5aMnhsSUdGeWFYUjVMQ0JoYm1RZ2JHVm5ZV041SUdSaGRHRlZVa3dnWm1Gc2JHSmhZMnNnZDJGeklHbHRjSEp2ZG1Wa0lIZHBkR2dnWm05eVkyVXRaRzkzYm14dllXUWdiV2x0WlNCaGJtUWdZbUZ6WlRZMElITjFjSEJ2Y25RdUlETXVNU0JwYlhCeWIzWmxaQ0J6WVdaaGNta2dhR0Z1Wkd4cGJtY3VYRzR2THlCMk5DQmhaR1J6SUVGTlJDOVZUVVFzSUdOdmJXMXZia3BUTENCaGJtUWdjR3hoYVc0Z1luSnZkM05sY2lCemRYQndiM0owWEc0dkx5QjJOQzR4SUdGa1pITWdkWEpzSUdSdmQyNXNiMkZrSUdOaGNHRmlhV3hwZEhrZ2RtbGhJSE52Ykc4Z1ZWSk1JR0Z5WjNWdFpXNTBJQ2h6WVcxbElHUnZiV0ZwYmk5RFQxSlRJRzl1YkhrcFhHNHZMeUIyTkM0eUlHRmtaSE1nYzJWdFlXNTBhV01nZG1GeWFXRmliR1VnYm1GdFpYTXNJR3h2Ym1jZ0tHOTJaWElnTWsxQ0tTQmtZWFJoVlZKTUlITjFjSEJ2Y25Rc0lHRnVaQ0JvYVdSa1pXNGdZbmtnWkdWbVlYVnNkQ0IwWlcxd0lHRnVZMmh2Y25OY2JpOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl5Ym1SdFpTOWtiM2R1Ykc5aFpGeHVYRzRvWm5WdVkzUnBiMjRnS0hKdmIzUXNJR1poWTNSdmNua3BJSHRjYmx4MGFXWWdLSFI1Y0dWdlppQmtaV1pwYm1VZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ1pHVm1hVzVsTG1GdFpDa2dlMXh1WEhSY2RDOHZJRUZOUkM0Z1VtVm5hWE4wWlhJZ1lYTWdZVzRnWVc1dmJubHRiM1Z6SUcxdlpIVnNaUzVjYmx4MFhIUmtaV1pwYm1Vb1cxMHNJR1poWTNSdmNua3BPMXh1WEhSOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCbGVIQnZjblJ6SUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1WEhSY2RDOHZJRTV2WkdVdUlFUnZaWE1nYm05MElIZHZjbXNnZDJsMGFDQnpkSEpwWTNRZ1EyOXRiVzl1U2xNc0lHSjFkRnh1WEhSY2RDOHZJRzl1YkhrZ1EyOXRiVzl1U2xNdGJHbHJaU0JsYm5acGNtOXViV1Z1ZEhNZ2RHaGhkQ0J6ZFhCd2IzSjBJRzF2WkhWc1pTNWxlSEJ2Y25SekxGeHVYSFJjZEM4dklHeHBhMlVnVG05a1pTNWNibHgwWEhSdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaaFkzUnZjbmtvS1R0Y2JseDBmU0JsYkhObElIdGNibHgwWEhRdkx5QkNjbTkzYzJWeUlHZHNiMkpoYkhNZ0tISnZiM1FnYVhNZ2QybHVaRzkzS1Z4dVhIUmNkSEp2YjNRdVpHOTNibXh2WVdRZ1BTQm1ZV04wYjNKNUtDazdYRzRnSUgxY2JuMG9kR2hwY3l3Z1puVnVZM1JwYjI0Z0tDa2dlMXh1WEc1Y2RISmxkSFZ5YmlCbWRXNWpkR2x2YmlCa2IzZHViRzloWkNoa1lYUmhMQ0J6ZEhKR2FXeGxUbUZ0WlN3Z2MzUnlUV2x0WlZSNWNHVXBJSHRjYmx4dVhIUmNkSFpoY2lCelpXeG1JRDBnZDJsdVpHOTNMQ0F2THlCMGFHbHpJSE5qY21sd2RDQnBjeUJ2Ym14NUlHWnZjaUJpY205M2MyVnljeUJoYm5sM1lYa3VMaTVjYmx4MFhIUmNkR1JsWm1GMWJIUk5hVzFsSUQwZ1hDSmhjSEJzYVdOaGRHbHZiaTl2WTNSbGRDMXpkSEpsWVcxY0lpd2dMeThnZEdocGN5QmtaV1poZFd4MElHMXBiV1VnWVd4emJ5QjBjbWxuWjJWeWN5QnBabkpoYldVZ1pHOTNibXh2WVdSelh
1HNWNkRngwWEhSdGFXMWxWSGx3WlNBOUlITjBjazFwYldWVWVYQmxJSHg4SUdSbFptRjFiSFJOYVcxbExGeHVYSFJjZEZ4MGNHRjViRzloWkNBOUlHUmhkR0VzWEc1Y2RGeDBYSFIxY213Z1BTQWhjM1J5Um1sc1pVNWhiV1VnSmlZZ0lYTjBjazFwYldWVWVYQmxJQ1ltSUhCaGVXeHZZV1FzWEc1Y2RGeDBYSFJoYm1Ob2IzSWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtGd2lZVndpS1N4Y2JseDBYSFJjZEhSdlUzUnlhVzVuSUQwZ1puVnVZM1JwYjI0b1lTbDdjbVYwZFhKdUlGTjBjbWx1WnloaEtUdDlMRnh1WEhSY2RGeDBiWGxDYkc5aUlEMGdLSE5sYkdZdVFteHZZaUI4ZkNCelpXeG1MazF2ZWtKc2IySWdmSHdnYzJWc1ppNVhaV0pMYVhSQ2JHOWlJSHg4SUhSdlUzUnlhVzVuS1N4Y2JseDBYSFJjZEdacGJHVk9ZVzFsSUQwZ2MzUnlSbWxzWlU1aGJXVWdmSHdnWENKa2IzZHViRzloWkZ3aUxGeHVYSFJjZEZ4MFlteHZZaXhjYmx4MFhIUmNkSEpsWVdSbGNqdGNibHgwWEhSY2RHMTVRbXh2WWowZ2JYbENiRzlpTG1OaGJHd2dQeUJ0ZVVKc2IySXVZbWx1WkNoelpXeG1LU0E2SUVKc2IySWdPMXh1WEhRZ0lGeHVYSFJjZEdsbUtGTjBjbWx1WnloMGFHbHpLVDA5UFZ3aWRISjFaVndpS1hzZ0x5OXlaWFpsY25ObElHRnlaM1Z0Wlc1MGN5d2dZV3hzYjNkcGJtY2daRzkzYm14dllXUXVZbWx1WkNoMGNuVmxMQ0JjSW5SbGVIUXZlRzFzWENJc0lGd2laWGh3YjNKMExuaHRiRndpS1NCMGJ5QmhZM1FnWVhNZ1lTQmpZV3hzWW1GamExeHVYSFJjZEZ4MGNHRjViRzloWkQxYmNHRjViRzloWkN3Z2JXbHRaVlI1Y0dWZE8xeHVYSFJjZEZ4MGJXbHRaVlI1Y0dVOWNHRjViRzloWkZzd1hUdGNibHgwWEhSY2RIQmhlV3h2WVdROWNHRjViRzloWkZzeFhUdGNibHgwWEhSOVhHNWNibHh1WEhSY2RHbG1LSFZ5YkNBbUppQjFjbXd1YkdWdVozUm9QQ0F5TURRNEtYc2dMeThnYVdZZ2JtOGdabWxzWlc1aGJXVWdZVzVrSUc1dklHMXBiV1VzSUdGemMzVnRaU0JoSUhWeWJDQjNZWE1nY0dGemMyVmtJR0Z6SUhSb1pTQnZibXg1SUdGeVozVnRaVzUwWEc1Y2RGeDBYSFJtYVd4bFRtRnRaU0E5SUhWeWJDNXpjR3hwZENoY0lpOWNJaWt1Y0c5d0tDa3VjM0JzYVhRb1hDSS9YQ0lwV3pCZE8xeHVYSFJjZEZ4MFlXNWphRzl5TG1oeVpXWWdQU0IxY213N0lDOHZJR0Z6YzJsbmJpQm9jbVZtSUhCeWIzQWdkRzhnZEdWdGNDQmhibU5vYjNKY2JseDBYSFFnSUZ4MGFXWW9ZVzVqYUc5eUxtaHlaV1l1YVc1a1pYaFBaaWgxY213cElDRTlQU0F0TVNsN0lDOHZJR2xtSUhSb1pTQmljbTkzYzJWeUlHUmxkR1Z5YldsdVpYTWdkR2hoZENCcGRDZHpJR0VnY0c5MFpXNTBhV0ZzYkhrZ2RtRnNhV1FnZFhKc0lIQmhkR2c2WEc0Z0lDQWdJQ0FnSUZ4MFhIUjJZWElnWVdwaGVEMXVaWGNnV0UxTVNIUjBjRkpsY1hWbGMzUW9LVHRjYmlBZ0lDQWdJQ0FnWEhSY2RHRnFZWGd1YjNCbGJpZ2dYQ0pIUlZSY0lpd2dkWEpzTENCMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnWEhSY2RHRnFZWGd1Y21WemNHOXVjMlZVZVhCbElEMGdKMkpzYjJJbk8xeHVJQ0FnSUNBZ0lDQmNkRngwWVdwaGVDNXZibXh2WVdROUlHWjFibU4wYVc5dUtHVXBleUJjYmx4MFhIUmNkRngwSUNCa2IzZHViRzloWkNobExuUmhjbWRsZEM1eVpYTndiMjV6WlN3Z1ptbHNaVTVoYldVc0lHUmxabUYxYkhSTmFXMWxLVHRjYmx4MFhIUmNkRngwZlR0Y2JpQWdJQ0FnSUNBZ1hIUmNkSE5sZEZScGJXVnZkWFFvWm5WdVkzUnBiMjRvS1hzZ1lXcGhlQzV6Wlc1a0tDazdmU3dnTUNrN0lDOHZJR0ZzYkc5M2N5QnpaWFIwYVc1bklHTjFjM1J2YlNCaGFtRjRJR2hsWVdSbGNuTWdkWE5wYm1jZ2RHaGxJSEpsZEhWeWJqcGNibHgwWEhSY2RDQWdJQ0J5WlhSMWNtNGdZV3BoZUR0Y2JseDBYSFJjZEgwZ0x5OGdaVzVrSUdsbUlIWmhiR2xrSUhWeWJEOWNibHgwWEhSOUlDOHZJR1Z1WkNCcFppQjFjbXcvWEc1Y2JseHVYSFJjZEM4dloyOGdZV2hsWVdRZ1lXNWtJR1J2ZDI1c2IyRmtJR1JoZEdGVlVreHpJSEpwWjJoMElHRjNZWGxjYmx4MFhIUnBaaWd2WG1SaGRHRTZLRnRjWEhjckxWMHJYRnd2VzF4Y2R5c3VMVjByS1Q5YkxEdGRMeTUwWlhOMEtIQmhlV3h2WVdRcEtYdGNibHgwWEhSY2JseDBYSFJjZEdsbUtIQmhlV3h2WVdRdWJHVnVaM1JvSUQ0Z0tERXdNalFxTVRBeU5Db3hMams1T1NrZ0ppWWdiWGxDYkc5aUlDRTlQU0IwYjFOMGNtbHVaeUFwZTF4dVhIUmNkRngwWEhSd1lYbHNiMkZrUFdSaGRHRlZjbXhVYjBKc2IySW9jR0Y1Ykc5aFpDazdYRzVjZEZ4MFhIUmNkRzFwYldWVWVYQmxQWEJoZVd4dllXUXVkSGx3WlNCOGZDQmtaV1poZFd4MFRXbHRaVHRjYmx4MFhIUmNkSDFsYkhObGUxeDBYSFJjZEZ4dVhIUmNkRngwWEhSeVpYUjFjbTRnYm1GMmFXZGhkRzl5TG0xelUyRjJaVUpzYjJJZ1B5QWdMeThnU1VVeE1DQmpZVzRuZENCa2J5QmhXMlJ2ZDI1c2IyRmtYU3dnYjI1c2VTQkNiRzlpY3pwY2JseDBYSFJjZEZ4MFhIUnVZWFpwWjJGMGIzSXViWE5UWVhabFFteHZZaWhrWVhSaFZYSnNWRzlDYkc5aUtIQmhlV3h2WVdRcExDQm1hV3hsVG1GdFpTa2dPbHh1WEhSY2RGeDBYSFJjZEhOaGRtVnlLSEJoZVd4dllXUXBJRHNnTHk4Z1pYWmxjbmx2Ym1VZ1pXeHpaU0JqWVc0Z2MyRjJaU0JrWVhSaFZWSk1jeUIxYmkxd2NtOWpaWE56WldSY2JseDBYSFJjZEgxY2JseDBYSFJjZEZ4dVhIUmNkSDFsYkhObGV5OHZibTkwSUdSaGRHRWdkWEpzTENCcGN5QnBkQ0JoSUhOMGNtbHVaeUIzYVhSb0lITndaV05wWVd3Z2JtVmxaSE0vWEc1Y2RGeDBYSFJwWmlndktGdGNYSGc0TUMxY1hIaG1abDBwTHk1MFpYTjBLSEJoZVd4dllXUXBLWHRjZEZ4MFhIUWdJRnh1WEhSY2RGeDBYSFIyWVhJZ2FUMHdMQ0IwWlcxd1ZXbEJjbkk5SUc1bGR5QlZhVzUwT0VGeWNtRjVLSEJoZVd4dllXUXViR1Z1WjNSb0tTd2diWGc5ZEdWdGNGVnBRWEp5TG14bGJtZDBhRHRjYmx4MFhIUmNkRngwWm05eUtHazdhVHh0ZURzcksya3BJSFJsYlhCVmFVRnljbHRwWFQwZ2NHRjViRzloWkM1amFHRnlRMjlrWlVGMEtHa3BPMXh1WEhSY2RGeDBJRngwY0dGNWJHOWhaRDF1WlhjZ2JYbENiRzlpS0Z0MFpXMXdWV2xCY25KZExDQjdkSGx3WlRvZ2JXbHRaVlI1Y0dWOUtUdGNibHgwWEhSY2RIMWNkRngwSUNCY2JseDBYSFI5WEc1Y2RGeDBZbXh2WWlBOUlIQmhlV3h2WVdRZ2FXNXpkR0Z1WTJWdlppQnRlVUpzYjJJZ1AxeHVYSFJjZEZ4MGNHRjViRzloWkNBNlhHNWNkRngwWEhSdVpYY2diWGxDYkc5aUtGd
1HdZWGxzYjJGa1hTd2dlM1I1Y0dVNklHMXBiV1ZVZVhCbGZTa2dPMXh1WEc1Y2JseDBYSFJtZFc1amRHbHZiaUJrWVhSaFZYSnNWRzlDYkc5aUtITjBjbFZ5YkNrZ2UxeHVYSFJjZEZ4MGRtRnlJSEJoY25SelBTQnpkSEpWY213dWMzQnNhWFFvTDFzNk95eGRMeWtzWEc1Y2RGeDBYSFIwZVhCbFBTQndZWEowYzFzeFhTeGNibHgwWEhSY2RHUmxZMjlrWlhJOUlIQmhjblJ6V3pKZElEMDlJRndpWW1GelpUWTBYQ0lnUHlCaGRHOWlJRG9nWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwTEZ4dVhIUmNkRngwWW1sdVJHRjBZVDBnWkdWamIyUmxjaWdnY0dGeWRITXVjRzl3S0NrZ0tTeGNibHgwWEhSY2RHMTRQU0JpYVc1RVlYUmhMbXhsYm1kMGFDeGNibHgwWEhSY2RHazlJREFzWEc1Y2RGeDBYSFIxYVVGeWNqMGdibVYzSUZWcGJuUTRRWEp5WVhrb2JYZ3BPMXh1WEc1Y2RGeDBYSFJtYjNJb2FUdHBQRzE0T3lzcmFTa2dkV2xCY25KYmFWMDlJR0pwYmtSaGRHRXVZMmhoY2tOdlpHVkJkQ2hwS1R0Y2JseHVYSFJjZEZ4MGNtVjBkWEp1SUc1bGR5QnRlVUpzYjJJb1czVnBRWEp5WFN3Z2UzUjVjR1U2SUhSNWNHVjlLVHRjYmx4MFhIUWdmVnh1WEc1Y2RGeDBablZ1WTNScGIyNGdjMkYyWlhJb2RYSnNMQ0IzYVc1TmIyUmxLWHRjYmx4dVhIUmNkRngwYVdZZ0tDZGtiM2R1Ykc5aFpDY2dhVzRnWVc1amFHOXlLU0I3SUM4dmFIUnRiRFVnUVZ0a2IzZHViRzloWkYxY2JseDBYSFJjZEZ4MFlXNWphRzl5TG1oeVpXWWdQU0IxY213N1hHNWNkRngwWEhSY2RHRnVZMmh2Y2k1elpYUkJkSFJ5YVdKMWRHVW9YQ0prYjNkdWJHOWhaRndpTENCbWFXeGxUbUZ0WlNrN1hHNWNkRngwWEhSY2RHRnVZMmh2Y2k1amJHRnpjMDVoYldVZ1BTQmNJbVJ2ZDI1c2IyRmtMV3B6TFd4cGJtdGNJanRjYmx4MFhIUmNkRngwWVc1amFHOXlMbWx1Ym1WeVNGUk5UQ0E5SUZ3aVpHOTNibXh2WVdScGJtY3VMaTVjSWp0Y2JseDBYSFJjZEZ4MFlXNWphRzl5TG5OMGVXeGxMbVJwYzNCc1lYa2dQU0JjSW01dmJtVmNJanRjYmx4MFhIUmNkRngwWkc5amRXMWxiblF1WW05a2VTNWhjSEJsYm1SRGFHbHNaQ2hoYm1Ob2IzSXBPMXh1WEhSY2RGeDBYSFJ6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1S0NrZ2UxeHVYSFJjZEZ4MFhIUmNkR0Z1WTJodmNpNWpiR2xqYXlncE8xeHVYSFJjZEZ4MFhIUmNkR1J2WTNWdFpXNTBMbUp2WkhrdWNtVnRiM1psUTJocGJHUW9ZVzVqYUc5eUtUdGNibHgwWEhSY2RGeDBYSFJwWmloM2FXNU5iMlJsUFQwOWRISjFaU2w3YzJWMFZHbHRaVzkxZENobWRXNWpkR2x2YmlncGV5QnpaV3htTGxWU1RDNXlaWFp2YTJWUFltcGxZM1JWVWt3b1lXNWphRzl5TG1oeVpXWXBPMzBzSURJMU1DQXBPMzFjYmx4MFhIUmNkRngwZlN3Z05qWXBPMXh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdkSEoxWlR0Y2JseDBYSFJjZEgxY2JseHVYSFJjZEZ4MEx5OGdhR0Z1Wkd4bElHNXZiaTFoVzJSdmQyNXNiMkZrWFNCellXWmhjbWtnWVhNZ1ltVnpkQ0IzWlNCallXNDZYRzVjZEZ4MFhIUnBaaWd2S0ZabGNuTnBiMjRwWEZ3dktGeGNaQ3NwWEZ3dUtGeGNaQ3NwS0Q4NlhGd3VLRnhjWkNzcEtUOHVLbE5oWm1GeWFWeGNMeTh1ZEdWemRDaHVZWFpwWjJGMGIzSXVkWE5sY2tGblpXNTBLU2tnZTF4dVhIUmNkRngwWEhScFppZ3ZYbVJoZEdFNkx5NTBaWE4wS0hWeWJDa3BYSFIxY213OVhDSmtZWFJoT2x3aUszVnliQzV5WlhCc1lXTmxLQzllWkdGMFlUb29XMXhjZDF4Y0wxeGNMVnhjSzEwcktTOHNJR1JsWm1GMWJIUk5hVzFsS1R0Y2JseDBYSFJjZEZ4MGFXWW9JWGRwYm1SdmR5NXZjR1Z1S0hWeWJDa3BleUF2THlCd2IzQjFjQ0JpYkc5amEyVmtMQ0J2Wm1abGNpQmthWEpsWTNRZ1pHOTNibXh2WVdRNlhHNWNkRngwWEhSY2RGeDBhV1lvWTI5dVptbHliU2hjSWtScGMzQnNZWGxwYm1jZ1RtVjNJRVJ2WTNWdFpXNTBYRnh1WEZ4dVZYTmxJRk5oZG1VZ1FYTXVMaTRnZEc4Z1pHOTNibXh2WVdRc0lIUm9aVzRnWTJ4cFkyc2dZbUZqYXlCMGJ5QnlaWFIxY200Z2RHOGdkR2hwY3lCd1lXZGxMbHdpS1NsN0lHeHZZMkYwYVc5dUxtaHlaV1k5ZFhKc095QjlYRzVjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkRngwY21WMGRYSnVJSFJ5ZFdVN1hHNWNkRngwWEhSOVhHNWNibHgwWEhSY2RDOHZaRzhnYVdaeVlXMWxJR1JoZEdGVlVrd2daRzkzYm14dllXUWdLRzlzWkNCamFDdEdSaWs2WEc1Y2RGeDBYSFIyWVhJZ1ppQTlJR1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb1hDSnBabkpoYldWY0lpazdYRzVjZEZ4MFhIUmtiMk4xYldWdWRDNWliMlI1TG1Gd2NHVnVaRU5vYVd4a0tHWXBPMXh1WEc1Y2RGeDBYSFJwWmlnaGQybHVUVzlrWlNBbUppQXZYbVJoZEdFNkx5NTBaWE4wS0hWeWJDa3BleUF2THlCbWIzSmpaU0JoSUcxcGJXVWdkR2hoZENCM2FXeHNJR1J2ZDI1c2IyRmtPbHh1WEhSY2RGeDBYSFIxY213OVhDSmtZWFJoT2x3aUszVnliQzV5WlhCc1lXTmxLQzllWkdGMFlUb29XMXhjZDF4Y0wxeGNMVnhjSzEwcktTOHNJR1JsWm1GMWJIUk5hVzFsS1R0Y2JseDBYSFJjZEgxY2JseDBYSFJjZEdZdWMzSmpQWFZ5YkR0Y2JseDBYSFJjZEhObGRGUnBiV1Z2ZFhRb1puVnVZM1JwYjI0b0tYc2daRzlqZFcxbGJuUXVZbTlrZVM1eVpXMXZkbVZEYUdsc1pDaG1LVHNnZlN3Z016TXpLVHRjYmx4dVhIUmNkSDB2TDJWdVpDQnpZWFpsY2x4dVhHNWNibHh1WEc1Y2RGeDBhV1lnS0c1aGRtbG5ZWFJ2Y2k1dGMxTmhkbVZDYkc5aUtTQjdJQzh2SUVsRk1UQXJJRG9nS0doaGN5QkNiRzlpTENCaWRYUWdibTkwSUdGYlpHOTNibXh2WVdSZElHOXlJRlZTVENsY2JseDBYSFJjZEhKbGRIVnliaUJ1WVhacFoyRjBiM0l1YlhOVFlYWmxRbXh2WWloaWJHOWlMQ0JtYVd4bFRtRnRaU2s3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBhV1lvYzJWc1ppNVZVa3dwZXlBdkx5QnphVzF3YkdVZ1ptRnpkQ0JoYm1RZ2JXOWtaWEp1SUhkaGVTQjFjMmx1WnlCQ2JHOWlJR0Z1WkNCVlVrdzZYRzVjZEZ4MFhIUnpZWFpsY2loelpXeG1MbFZTVEM1amNtVmhkR1ZQWW1wbFkzUlZVa3dvWW14dllpa3NJSFJ5ZFdVcE8xeHVYSFJjZEgxbGJITmxlMXh1WEhSY2RGeDBMeThnYUdGdVpHeGxJRzV2YmkxQ2JHOWlLQ2tyYm05dUxWVlNUQ0JpY205M2MyVnljenBjYmx4MFhIUmNkR2xtS0hSNWNHVnZaaUJpYkc5aUlEMDlQU0JjSW5OMGNtbHVaMXdpSUh4OElHSnNiMkl1WTI5
1dWMzUnlkV04wYjNJOVBUMTBiMU4wY21sdVp5QXBlMXh1WEhSY2RGeDBYSFIwY25sN1hHNWNkRngwWEhSY2RGeDBjbVYwZFhKdUlITmhkbVZ5S0NCY0ltUmhkR0U2WENJZ0t5QWdiV2x0WlZSNWNHVWdJQ0FySUZ3aU8ySmhjMlUyTkN4Y0lpQWdLeUFnYzJWc1ppNWlkRzloS0dKc2IySXBJQ0FwTzF4dVhIUmNkRngwWEhSOVkyRjBZMmdvZVNsN1hHNWNkRngwWEhSY2RGeDBjbVYwZFhKdUlITmhkbVZ5S0NCY0ltUmhkR0U2WENJZ0t5QWdiV2x0WlZSNWNHVWdJQ0FySUZ3aUxGd2lJQ3NnWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0dKc2IySXBJQ0FwTzF4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSOVhHNWNibHgwWEhSY2RDOHZJRUpzYjJJZ1luVjBJRzV2ZENCVlVrd2djM1Z3Y0c5eWREcGNibHgwWEhSY2RISmxZV1JsY2oxdVpYY2dSbWxzWlZKbFlXUmxjaWdwTzF4dVhIUmNkRngwY21WaFpHVnlMbTl1Ykc5aFpEMW1kVzVqZEdsdmJpaGxLWHRjYmx4MFhIUmNkRngwYzJGMlpYSW9kR2hwY3k1eVpYTjFiSFFwTzF4dVhIUmNkRngwZlR0Y2JseDBYSFJjZEhKbFlXUmxjaTV5WldGa1FYTkVZWFJoVlZKTUtHSnNiMklwTzF4dVhIUmNkSDFjYmx4MFhIUnlaWFIxY200Z2RISjFaVHRjYmx4MGZUc2dMeW9nWlc1a0lHUnZkMjVzYjJGa0tDa2dLaTljYm4wcEtUdGNiaUlzSWx3aWRYTmxJSE4wY21samRGd2lPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHVjRjRzl5ZEhNc0lGd2lYMTlsYzAxdlpIVnNaVndpTENCN0lIWmhiSFZsT2lCMGNuVmxJSDBwTzF4dVpYaHdiM0owY3k1cGMwRnljbUY1SUQwZ2RtOXBaQ0F3TzF4dVpuVnVZM1JwYjI0Z2FYTkJjbkpoZVNoMllXeDFaU2tnZTF4dUlDQWdJR2xtSUNoMllXeDFaU0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2JHVnVaM1JvSUQwZ2RtRnNkV1V1YkdWdVozUm9PMXh1SUNBZ0lHTnZibk4wSUdselZtRnNhV1JNWlc1bmRHZ2dQU0IwZVhCbGIyWWdiR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeUFtSmlCc1pXNW5kR2dnUGlBdE1TQW1KaUJzWlc1bmRHZ2dKU0F4SUQwOVBTQXdPMXh1SUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnZG1Gc2RXVWdJVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdkSGx3Wlc5bUlIWmhiSFZsSUNFOVBTQW5jM1J5YVc1bkp5QW1KaUJwYzFaaGJHbGtUR1Z1WjNSb08xeHVmVnh1Wlhod2IzSjBjeTVwYzBGeWNtRjVJRDBnYVhOQmNuSmhlVHRjYmlJc0lsd2lkWE5sSUhOMGNtbGpkRndpTzF4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHVaWGh3YjNKMGN5NXBjMDlpYW1WamRDQTlJSFp2YVdRZ01EdGNibVoxYm1OMGFXOXVJR2x6VDJKcVpXTjBLSFpoYkhWbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUVKdmIyeGxZVzRvZG1Gc2RXVWdKaVlnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlBaFFYSnlZWGt1YVhOQmNuSmhlU2gyWVd4MVpTa3BPMXh1ZlZ4dVpYaHdiM0owY3k1cGMwOWlhbVZqZENBOUlHbHpUMkpxWldOME8xeHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEc1bGVIQnZjblJ6TG1selRuVnRZbVZ5SUQwZ2RtOXBaQ0F3TzF4dVkyOXVjM1FnYVhOUFltcGxZM1JmTVNBOUlISmxjWFZwY21Vb1hDSXVMaTlwYzA5aWFtVmpkQzlwYzA5aWFtVmpkRndpS1R0Y2JtWjFibU4wYVc5dUlHbHpUblZ0WW1WeUtIWmhiSFZsS1NCN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ0lXbHpUbUZPS0N0MllXeDFaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb01Dd2dhWE5QWW1wbFkzUmZNUzVwYzA5aWFtVmpkQ2tvZG1Gc2RXVXBJQ1ltSUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWN1WTJGc2JDaDJZV3gxWlNrZ1BUMDlJQ2RiYjJKcVpXTjBJRTUxYldKbGNsMG5PMXh1SUNBZ0lIMWNiaUFnSUNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1ZlZ4dVpYaHdiM0owY3k1cGMwNTFiV0psY2lBOUlHbHpUblZ0WW1WeU8xeHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEc1bGVIQnZjblJ6TG1GeWNtRjVWRzlOWVhSeWFYZ2dQU0IyYjJsa0lEQTdYRzVqYjI1emRDQnBjMEZ5Y21GNVh6RWdQU0J5WlhGMWFYSmxLRndpTGk0dmFYTkJjbkpoZVM5cGMwRnljbUY1WENJcE8xeHVZMjl1YzNRZ2FYTk9kVzFpWlhKZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TGk5cGMwNTFiV0psY2k5cGMwNTFiV0psY2x3aUtUdGNiaTh2SUhWelpTQmNJbUZ1ZVZ3aUlHaGxjbVVnWW1WallYVnpaU0JoY25KaGVTQnRhV2RvZENCaVpTQmhibmtnYjJZZ2RIbHdaVnh1THk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MWxlSEJzYVdOcGRDMWhibmxjYm1aMWJtTjBhVzl1SUdGeWNtRjVWRzlOWVhSeWFYZ29ZWEp5TENCamIyeDFiVzV6S1NCN1hHNGdJQ0FnYVdZZ0tDZ3dMQ0JwYzBGeWNtRjVYekV1YVhOQmNuSmhlU2tvWVhKeUtTQW1KaUFvTUN3Z2FYTk9kVzFpWlhKZk1TNXBjMDUxYldKbGNpa29ZMjlzZFcxdWN5a2dKaVlnWTI5c2RXMXVjeUErSURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHRnljaTV5WldSMVkyVW9LSEp2ZDNNc0lIWXNJR2twSUQwK0lDaHBJQ1VnWTI5c2RXMXVjeUE5UFNBd0lEOGdjbTkzY3k1d2RYTm9LRnQyWFNrZ09pQnliM2R6VzNKdmQzTXViR1Z1WjNSb0lDMGdNVjB1Y0hWemFDaDJLU2tnSmlZZ2NtOTNjeXdnVzEwcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMGx1ZG1Gc2FXUWdZWEpuZFcxbGJuUnpKeWs3WEc1OVhHNWxlSEJ2Y25SekxtRnljbUY1Vkc5TllYUnlhWGdnUFNCaGNuSmhlVlJ2VFdGMGNtbDRPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxtbHpUV0Z3SUQwZ2RtOXBaQ0F3TzF4dVkyOXVjM1FnYVhOUFltcGxZM1JmTVNBOUlISmxjWFZwY21Vb1hDSXVMaTlwYzA5aWFtVmpkQzlwYzA5aWFtVmpkRndpS1R0Y2JtWjFibU4wYVc5dUlHbHpUV0Z3S0haaGJIVmxLU0I3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNnd0xDQnBjMDlpYW1WamRGOHhMbWx6VDJKcVpXTjBLU2gyWVd4MVpTa2dKaVlnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzUwYjFOMGNtbHVaeTVqWVd4c0tIWmhiSFZsS1NBOVBUMGdKMXR2WW1wbFkzUWdUV0Z3WFNjN1hHNGdJQ0FnZlZ4dUlDQWdJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNTlYRzVsZUhCdmNuUnpMbWx6VFdGd0lEMGdhWE5OWVhBN1hHNGlMQ0pjSW5WelpTQnpkSEpwWTNSY0lqdGNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjYm1WNGNHOXlkSE11YVhOVFpYUWdQU0IyYjJsa0lEQTdYRzVqYjI1emRDQnBjMDlpYW1WamRGOHhJRDBnY21WeGRXbHlaU2hjSWk0dUwybHpUMkpxWldOMEwybHpUMkpxWldOMFhDSXBPMXh1Wm5WdVkzUnBiMjRnYVhOVFpYUW9kbUZzZFdVcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdLREFzSUdselQySnFaV04wWHpFdWFYTlBZbXBsWTNRcEtIWmhiSFZsS1NBbUppQlBZbXBsWTNRdWNISnZkRzkwZVhCbExuUnZVM1J5YVc1bkxtTmhiR3dvZG1Gc2RXVXBJRDA5UFNBblcyOWlhbVZqZENCVFpYUmRKenRjYmlBZ0lDQjlYRzRnSUNBZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYm4xY2JtVjRjRzl5ZEhNdWFYTlRaWFFnUFNCcGMxTmxkRHRjYmlJc0lsd2lkWE5sSUhOMGNtbGpkRndpTzF4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHVaWGh3YjNKMGN5NXBjMU4wY21sdVp5QTlJSFp2YVdRZ01EdGNibU52Ym5OMElHbHpUMkpxWldOMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk0dmFYTlBZbXBsWTNRdmFYTlBZbXBsWTNSY0lpazdYRzVtZFc1amRHbHZiaUJwYzFOMGNtbHVaeWgyWVd4MVpTa2dlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdLREFzSUdselQySnFaV04wWHpFdWFYTlBZbXBsWTNRcEtIWmhiSFZsS1NBbUppQlBZbXBsWTNRdWNISnZkRzkwZVhCbExuUnZVM1J5YVc1bkxtTmhiR3dvZG1Gc2RXVXBJRDA5UFNBblcyOWlhbVZqZENCVGRISnBibWRkSnp0Y2JpQWdJQ0I5WEc0Z0lDQWdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUgxY2JuMWNibVY0Y0c5eWRITXVhWE5UZEhKcGJtY2dQU0JwYzFOMGNtbHVaenRjYmlJc0lsd2lkWE5sSUhOMGNtbGpkRndpTzF4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHVaWGh3YjNKMGN5NXBjMFZ0Y0hSNUlEMGdkbTlwWkNBd08xeHVZMjl1YzNRZ2FYTkJjbkpoZVY4eElEMGdjbVZ4ZFdseVpTaGNJaTR1TDJselFYSnlZWGt2YVhOQmNuSmhlVndpS1R0Y2JtTnZibk4wSUdselRXRndYekVnUFNCeVpYRjFhWEpsS0Z3aUxpNHZhWE5OWVhBdmFYTk5ZWEJjSWlrN1
1hHNWpiMjV6ZENCcGMwOWlhbVZqZEY4eElEMGdjbVZ4ZFdseVpTaGNJaTR1TDJselQySnFaV04wTDJselQySnFaV04wWENJcE8xeHVZMjl1YzNRZ2FYTlRaWFJmTVNBOUlISmxjWFZwY21Vb1hDSXVMaTlwYzFObGRDOXBjMU5sZEZ3aUtUdGNibU52Ym5OMElHbHpVM1J5YVc1blh6RWdQU0J5WlhGMWFYSmxLRndpTGk0dmFYTlRkSEpwYm1jdmFYTlRkSEpwYm1kY0lpazdYRzVtZFc1amRHbHZiaUJwYzBWdGNIUjVLSFpoYkhWbEtTQjdYRzRnSUNBZ2FXWWdLQ2d3TENCcGMxTjBjbWx1WjE4eExtbHpVM1J5YVc1bktTaDJZV3gxWlNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTG14bGJtZDBhQ0E5UFQwZ01EdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tDZ3dMQ0JwYzBGeWNtRjVYekV1YVhOQmNuSmhlU2tvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTNXNaVzVuZEdnZ1BUMDlJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvTUN3Z2FYTk5ZWEJmTVM1cGMwMWhjQ2tvZG1Gc2RXVXBJSHg4SUNnd0xDQnBjMU5sZEY4eExtbHpVMlYwS1NoMllXeDFaU2twSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhaaGJIVmxMbk5wZW1VZ1BUMDlJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvTUN3Z2FYTlBZbXBsWTNSZk1TNXBjMDlpYW1WamRDa29kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdWEyVjVjeWgyWVd4MVpTa3ViR1Z1WjNSb0lEMDlQU0F3TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z0lYWmhiSFZsTzF4dWZWeHVaWGh3YjNKMGN5NXBjMFZ0Y0hSNUlEMGdhWE5GYlhCMGVUdGNiaUlzSWx3aWRYTmxJSE4wY21samRGd2lPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHVjRjRzl5ZEhNc0lGd2lYMTlsYzAxdlpIVnNaVndpTENCN0lIWmhiSFZsT2lCMGNuVmxJSDBwTzF4dVpYaHdiM0owY3k1allXeGpkV3hoZEdWQmMzQmxZM1JTWVhScGIwWnBkQ0E5SUhadmFXUWdNRHRjYm1OdmJuTjBJR2x6Ulcxd2RIbGZNU0E5SUhKbGNYVnBjbVVvWENJdUxpOXBjMFZ0Y0hSNUwybHpSVzF3ZEhsY0lpazdYRzVqYjI1emRDQnBjMDUxYldKbGNsOHhJRDBnY21WeGRXbHlaU2hjSWk0dUwybHpUblZ0WW1WeUwybHpUblZ0WW1WeVhDSXBPMXh1Wm5WdVkzUnBiMjRnWTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUW9kMmxrZEdnc0lHaGxhV2RvZEN3Z2RHRnlaMlYwVjJsa2RHZ3NJSFJoY21kbGRFaGxhV2RvZENrZ2UxeHVJQ0FnSUdsbUlDZ29NQ3dnYVhOT2RXMWlaWEpmTVM1cGMwNTFiV0psY2lrb2QybGtkR2dwSUNZbUlDZ3dMQ0JwYzA1MWJXSmxjbDh4TG1selRuVnRZbVZ5S1Nob1pXbG5hSFFwSUNZbUlDZ3dMQ0JwYzA1MWJXSmxjbDh4TG1selRuVnRZbVZ5S1NoMFlYSm5aWFJYYVdSMGFDa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkMmxrZEdoU1lYUnBieUE5SUhSaGNtZGxkRmRwWkhSb0lDOGdkMmxrZEdnN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdobGFXZG9kRkpoZEdsdklEMGdLREFzSUdselRuVnRZbVZ5WHpFdWFYTk9kVzFpWlhJcEtIUmhjbWRsZEVobGFXZG9kQ2tnSmlZZ0lTZ3dMQ0JwYzBWdGNIUjVYekV1YVhORmJYQjBlU2tvZEdGeVoyVjBTR1ZwWjJoMEtTQS9JSFJoY21kbGRFaGxhV2RvZENBdklHaGxhV2RvZENBNklERTdYRzRnSUNBZ0lDQWdJR052Ym5OMElISmhkR2x2SUQwZ1RXRjBhQzV0YVc0b2QybGtkR2hTWVhScGJ5d2dhR1ZwWjJoMFVtRjBhVzhwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCM2FXUjBhRG9nZDJsa2RHZ2dLaUJ5WVhScGJ5d2dhR1ZwWjJoME9pQm9aV2xuYUhRZ0tpQnlZWFJwYnlCOU8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMGx1ZG1Gc2FXUWdZWEpuZFcxbGJuUnpKeWs3WEc1OVhHNWxlSEJ2Y25SekxtTmhiR04xYkdGMFpVRnpjR1ZqZEZKaGRHbHZSbWwwSUQwZ1kyRnNZM1ZzWVhSbFFYTndaV04wVW1GMGFXOUdhWFE3WEc0aUxDSmNJblZ6WlNCemRISnBZM1JjSWp0Y2JrOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0JjSWw5ZlpYTk5iMlIxYkdWY0lpd2dleUIyWVd4MVpUb2dkSEoxWlNCOUtUdGNibVY0Y0c5eWRITXVjbWRpUVhKeVlYbFViMUpIUWxOMGNtbHVaeUE5SUdWNGNHOXlkSE11Y21kaVUzUnlhVzVuVkc5T2RXMWxjbWxqSUQwZ1pYaHdiM0owY3k1eVoySkJjbkpoZVZSdlRuVnRaWEpwWXlBOUlHVjRjRzl5ZEhNdWNtZGlVM1J5YVc1blZHOUJjbkpoZVNBOUlIWnZhV1FnTUR0Y2JtWjFibU4wYVc5dUlISm5ZbE4wY21sdVoxUnZRWEp5WVhrb2RtRnNkV1VwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhaaGJIVmxJQ0U5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1d6QXNJREFzSURCZE8xeHVJQ0FnSUgxY2JpQWdJQ0F2THlCQmN5QmxlR0Z0Y0d4bElHTnZiblpsY25SeklGd2ljbWRpS0RJMU5Td2dNalUxTENBeU5UVXBYQ0lnZEc4Z1d6STFOU3dnTWpVMUxDQXlOVFZkWEc0Z0lDQWdjbVYwZFhKdUlIWmhiSFZsTG0xaGRHTm9LQzliTFYxN01Dd3hmVnRjWEdSZEtsc3VYWHN3TERGOVcxeGNaRjByTDJjcFB5NXRZWEFvVG5WdFltVnlLU0EvUHlCYk1Dd2dNQ3dnTUYwN1hHNTlYRzVsZUhCdmNuUnpMbkpuWWxOMGNtbHVaMVJ2UVhKeVlYa2dQU0J5WjJKVGRISnBibWRVYjBGeWNtRjVPMXh1Wm5WdVkzUnBiMjRnY21kaVFYSnlZWGxVYjA1MWJXVnlhV01vZG1Gc2RXVXBJSHRjYmlBZ0lDQnBaaUFvSVVGeWNtRjVMbWx6UVhKeVlYa29kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmJNQ3dnTUN3Z01GMDdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDJZV3gxWlM1bGRtVnllU2dvYVNrZ1BUNGdhWE5PWVU0b0sya3BLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnV3pBc0lEQXNJREJkTzF4dUlDQWdJSDFjYmlBZ0lDQXZMeUJCY3lCbGVHRnRjR3hsSUdOdmJuWmxjblJ6SUZ3aVd6STFOU3dnTWpVMUxDQXlOVFZkWENJZ2RHOGdXekVzSURFc0lERmRMQ0JpWldOaGRYTmxJR2x1SUZKSFFpQXlOVFVnYVhNZ01UQXdKVnh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaUzV0WVhBb0tIWmhiSFZsTENCcGJtUmxlQ3dnWVhKeVlYa3BJRDAr
1SUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWTI5c2IzSWdkbUZzZFdVZ2FYTWdjbWRpWVNBb1pTNW5MaUJiTWpVMUxDQXlOVFVzSURJMU5Td2dNVjBwTENCc1lYTjBJSFpoYkhWbElHbHVJR0Z5Y21GNUlITm9iM1ZzWkNCdWIzUWdZbVVnYlc5a2FXWnBaV1JjYmlBZ0lDQWdJQ0FnYVdZZ0tHRnljbUY1TG14bGJtZDBhQ0E5UFQwZ05DQW1KaUJwYm1SbGVDQTlQVDBnWVhKeVlYa3ViR1Z1WjNSb0lDMGdNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaU0F2SURJMU5UdGNiaUFnSUNCOUtUdGNibjFjYm1WNGNHOXlkSE11Y21kaVFYSnlZWGxVYjA1MWJXVnlhV01nUFNCeVoySkJjbkpoZVZSdlRuVnRaWEpwWXp0Y2JtWjFibU4wYVc5dUlISm5ZbE4wY21sdVoxUnZUblZ0WlhKcFl5aDJZV3gxWlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ5WjJKQmNuSmhlVlJ2VG5WdFpYSnBZeWh5WjJKVGRISnBibWRVYjBGeWNtRjVLSFpoYkhWbEtTazdYRzU5WEc1bGVIQnZjblJ6TG5KbllsTjBjbWx1WjFSdlRuVnRaWEpwWXlBOUlISm5ZbE4wY21sdVoxUnZUblZ0WlhKcFl6dGNibVoxYm1OMGFXOXVJSEpuWWtGeWNtRjVWRzlTUjBKVGRISnBibWNvZG1Gc2RXVXBJSHRjYmlBZ0lDQnBaaUFvSVVGeWNtRjVMbWx6UVhKeVlYa29kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmdjbWRpS0RBc0lEQXNJREFwWUR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0haaGJIVmxMbVYyWlhKNUtDaHBLU0E5UGlCcGMwNWhUaWdyYVNrcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmdjbWRpS0RBc0lEQXNJREFwWUR0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ1czSXNJR2NzSUdKZElEMGdkbUZzZFdVN1hHNGdJQ0FnWTI5dWMzUWdhR1Y0VWlBOUlFMWhkR2d1Y205MWJtUW9LREkxTlNBcUlDaHlJQ29nTVRBd0tTa2dMeUF4TURBcE8xeHVJQ0FnSUdOdmJuTjBJR2hsZUVjZ1BTQk5ZWFJvTG5KdmRXNWtLQ2d5TlRVZ0tpQW9aeUFxSURFd01Da3BJQzhnTVRBd0tUdGNiaUFnSUNCamIyNXpkQ0JvWlhoQ0lEMGdUV0YwYUM1eWIzVnVaQ2dvTWpVMUlDb2dLR0lnS2lBeE1EQXBLU0F2SURFd01DazdYRzRnSUNBZ2NtVjBkWEp1SUdCeVoySW9KSHRvWlhoU2ZTd2dKSHRvWlhoSGZTd2dKSHRvWlhoQ2ZTbGdPMXh1ZlZ4dVpYaHdiM0owY3k1eVoySkJjbkpoZVZSdlVrZENVM1J5YVc1bklEMGdjbWRpUVhKeVlYbFViMUpIUWxOMGNtbHVaenRjYmlJc0lsd2lkWE5sSUhOMGNtbGpkRndpTzF4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHVaWGh3YjNKMGN5NTBiMU5sWTI5dVpITWdQU0IyYjJsa0lEQTdYRzVtZFc1amRHbHZiaUIwYjFObFkyOXVaSE1vZG1Gc2RXVXNJR1p5WVdOMGFXOXVSR2xuYVhSeklEMGdNaWtnZTF4dUlDQWdJSEpsZEhWeWJpQk9kVzFpWlhJb2RtRnNkV1VnTHlBeE1EQXdLUzUwYjBacGVHVmtLR1p5WVdOMGFXOXVSR2xuYVhSektUdGNibjFjYm1WNGNHOXlkSE11ZEc5VFpXTnZibVJ6SUQwZ2RHOVRaV052Ym1Sek8xeHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEc1bGVIQnZjblJ6TG1SbFpYQk5aWEpuWlNBOUlIWnZhV1FnTUR0Y2JtTnZibk4wSUdselQySnFaV04wWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTR2YVhOUFltcGxZM1F2YVhOUFltcGxZM1JjSWlrN1hHNWpiMjV6ZENCcGMwVnRjSFI1WHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTR2YVhORmJYQjBlUzlwYzBWdGNIUjVYQ0lwTzF4dUx5OGdWWE5sSUZ3aVlXNTVYQ0lnWW1Wc2IzY3NJR0psWTJGMWMyVWdhVzVqYjIxbElHOWlhbVZqZENCdGFXZG9kQ0JpWlNCaGJua2dkSGx3WlN3Z2QyVWdaRzl1SjNRZ2EyNXZkeUJsZUdGamRHeDVJSFJvWlNCd2IzTnphV0pzWlNCMGVYQmxYRzR2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxXVjRjR3hwWTJsMExXRnVlVnh1Wm5WdVkzUnBiMjRnWkdWbGNFMWxjbWRsS0hSaGNtZGxkQ3dnYzI5MWNtTmxLU0I3WEc0Z0lDQWdZMjl1YzNRZ2IzVjBjSFYwSUQwZ1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z2RHRnlaMlYwS1R0Y2JpQWdJQ0JwWmlBb0tEQXNJR2x6VDJKcVpXTjBYekV1YVhOUFltcGxZM1FwS0hSaGNtZGxkQ2tnSmlZZ0tEQXNJR2x6VDJKcVpXTjBYekV1YVhOUFltcGxZM1FwS0hOdmRYSmpaU2twSUh0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG10bGVYTW9jMjkxY21ObEtTNW1iM0pGWVdOb0tDaHJaWGtwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ29NQ3dnYVhOUFltcGxZM1JmTVM1cGMwOWlhbVZqZENrb2MyOTFjbU5sVzJ0bGVWMHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRW9hMlY1SUdsdUlIUmhjbWRsZENrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnVDJKcVpXTjBMbUZ6YzJsbmJpaHZkWFJ3ZFhRc0lIc2dXMnRsZVYwNklITnZkWEpqWlZ0clpYbGRJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IzVjBjSFYwVzJ0bGVWMGdQU0JrWldWd1RXVnlaMlVvZEdGeVoyVjBXMnRsZVYwc0lITnZkWEpqWlZ0clpYbGRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVZWE56YVdkdUtHOTFkSEIxZEN3Z2V5QmJhMlY1WFRvZ2MyOTFjbU5sVzJ0bGVWMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0RBc0lHbHpSVzF3ZEhsZk1TNXBjMFZ0Y0hSNUtTaDBZWEpuWlhRcElDWW1JQ0VvTUN3Z2FYTkZiWEIwZVY4eExtbHpSVzF3ZEhrcEtITnZkWEpqWlNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1aGMzTn
1BaMjRvZTMwc0lITnZkWEpqWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnZkWFJ3ZFhRN1hHNTlYRzVsZUhCdmNuUnpMbVJsWlhCTlpYSm5aU0E5SUdSbFpYQk5aWEpuWlR0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVMeW9xSUVCMGVYQmxJSHRwYlhCdmNuUW9KeTRuS1gwZ0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdSWEp5YjNJN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNWNiaThxS2lCQWRIbHdaU0I3YVcxd2IzSjBLQ2N1TDJWMllXd25LWDBnS2k5Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1JYWmhiRVZ5Y205eU8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lvZ1FIUjVjR1VnZTJsdGNHOXlkQ2duTGk5eVlXNW5aU2NwZlNBcUwxeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlNZVzVuWlVWeWNtOXlPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktpb2dRSFI1Y0dVZ2UybHRjRzl5ZENnbkxpOXlaV1luS1gwZ0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdVbVZtWlhKbGJtTmxSWEp5YjNJN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNWNiaThxS2lCQWRIbHdaU0I3YVcxd2IzSjBLQ2N1TDNONWJuUmhlQ2NwZlNBcUwxeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRlVzUwWVhoRmNuSnZjanRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FJRUIwZVhCbElIdHBiWEJ2Y25Rb0p5NHZkSGx3WlNjcGZTQXFMMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JVZVhCbFJYSnliM0k3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFLaUJBZEhsd1pTQjdhVzF3YjNKMEtDY3VMM1Z5YVNjcGZTQXFMMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JWVWtsRmNuSnZjanRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b2daWE5zYVc1MElHTnZiWEJzWlhocGRIazZJRnN5TENBeE9GMHNJRzFoZUMxemRHRjBaVzFsYm5Sek9pQmJNaXdnTXpOZElDb3ZYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJR2hoYzFONWJXSnZiSE1vS1NCN1hHNWNkR2xtSUNoMGVYQmxiMllnVTNsdFltOXNJQ0U5UFNBblpuVnVZM1JwYjI0bklIeDhJSFI1Y0dWdlppQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdJSEpsZEhWeWJpQm1ZV3h6WlRzZ2ZWeHVYSFJwWmlBb2RIbHdaVzltSUZONWJXSnZiQzVwZEdWeVlYUnZjaUE5UFQwZ0ozTjViV0p2YkNjcElIc2djbVYwZFhKdUlIUnlkV1U3SUgxY2JseHVYSFIyWVhJZ2IySnFJRDBnZTMwN1hHNWNkSFpoY2lCemVXMGdQU0JUZVcxaWIyd29KM1JsYzNRbktUdGNibHgwZG1GeUlITjViVTlpYWlBOUlFOWlhbVZqZENoemVXMHBPMXh1WEhScFppQW9kSGx3Wlc5bUlITjViU0E5UFQwZ0ozTjBjbWx1WnljcElIc2djbVYwZFhKdUlHWmhiSE5sT3lCOVhHNWNibHgwYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWRHOVRkSEpwYm1jdVkyRnNiQ2h6ZVcwcElDRTlQU0FuVzI5aWFtVmpkQ0JUZVcxaWIyeGRKeWtnZXlCeVpYUjFjbTRnWm1Gc2MyVTdJSDFjYmx4MGFXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY3VZMkZzYkNoemVXMVBZbW9wSUNFOVBTQW5XMjlpYW1WamRDQlRlVzFpYjJ4ZEp5a2dleUJ5WlhSMWNtNGdabUZzYzJVN0lIMWNibHh1WEhRdkx5QjBaVzF3SUdScGMyRmliR1ZrSUhCbGNpQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiR3BvWVhKaUwyOWlhbVZqZEM1aGMzTnBaMjR2YVhOemRXVnpMekUzWEc1Y2RDOHZJR2xtSUNoemVXMGdhVzV6ZEdGdVkyVnZaaUJUZVcxaWIyd3BJSHNnY21WMGRYSnVJR1poYkhObE95QjlYRzVjZEM4dklIUmxiWEFnWkdsellXSnNaV1FnY0dWeUlHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOVhaV0pTWldac1pXTjBhVzl1TDJkbGRDMXZkMjR0Y0hKdmNHVnlkSGt0YzNsdFltOXNjeTlwYzNOMVpYTXZORnh1WEhRdkx5QnBaaUFvSVNoemVXMVBZbW9nYVc1emRHRnVZMlZ2WmlCVGVXMWliMndwS1NCN0lISmxkSFZ5YmlCbVlXeHpaVHNnZlZ4dVhHNWNkQzh2SUdsbUlDaDBlWEJsYjJZZ1UzbHRZbTlzTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1WnlBaFBUMGdKMloxYm1OMGFXOXVKeWtnZXlCeVpYUjFjbTRnWm1Gc2MyVTdJSDFjYmx4MEx5OGdhV1lnS0ZOMGNtbHVaeWh6ZVcwcElDRTlQU0JUZVcxaWIyd3VjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b2MzbHRLU2tnZXlCeVpYUjFjbTRnWm1Gc2MyVTdJSDFjYmx4dVhIUjJZWElnYzNsdFZtRnNJRDBnTkRJN1hHNWNkRzlpYWx0emVXMWRJRDBnYzNsdFZtRnNPMXh1WEhSbWIzSWdLSE41YlNCcGJpQnZZbW9wSUhzZ2NtVjBkWEp1SUdaaGJITmxPeUI5SUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdibTh0Y21WemRISnBZM1JsWkMxemVXNTBZWGdzSUc1dkxYVnVjbVZoWTJoaFlteGxMV3h2YjNCY2JseDBhV1lnS0hSNWNHVnZaaUJQWW1wbFkzUXVhMlY1Y3lBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCUFltcGxZM1F1YTJWNWN5aHZZbW9wTG14bGJtZDBhQ0FoUFQwZ01Da2dleUJ5WlhSMWNtNGdabUZzYzJVN0lIMWNibHh1WEhScFppQW9kSGx3Wlc5bUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVTVoYldWeklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVTVoYldWektHOWlhaWt1YkdWdVozUm9JQ0U5UFNBd0tTQjdJSEpsZEhWeWJpQm1ZV3h6WlRzZ2ZWeHVYRzVjZEhaaGNpQnplVzF6SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5aHZZbW9wTzF4dVhIUnBaaUFvYzNsdGN5NXNaVzVuZEdnZ0lUMDlJREVnZkh3Z2MzbHRjMXN3WFNBaFBUMGdjM2x0S1NCN0lISmxkSFZ5YmlCbVlXeHpaVHNnZlZ4dVhHNWNkR2xtSUNnaFQySnFaV04wTG5CeWIzUnZkSGx3WlM1d2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTNWpZV3hzS0c5aWFpd2djM2x0S1NrZ2V5QnlaWFIxY200Z1ptRnNjMlU3SUgxY2JseHVYSFJwWmlBb2RIbHdaVzltSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNibHgwWEhSMllYSWdaR1Z6WTNKcGNIUnZjaUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9iMkpxTENCemVXMHBPMXh1WEhSY2RHbG1JQ2hrWlhOamNtbHdkRzl5TG5aaGJIVmxJQ0U5UFNCemVXMVdZV3dnZkh3Z1pHVnpZM0pwY0hSdmNpNWxiblZ0WlhKaFlteGxJQ0U5UFNCMGNuVmxLU0I3SUhKbGRIVnliaUJtWVd4elpUc2dmVnh1WEhSOVhHNWNibHgwY21WMGRYSnVJSFJ5ZFdVN1hHNTlPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdiM0pwWjFONWJXSnZiQ0E5SUhSNWNHVnZaaUJUZVcxaWIyd2dJVDA5SUNkMWJtUmxabWx1WldRbklDWW1JRk41YldKdmJEdGNiblpoY2lCb1lYTlRlVzFpYjJ4VGFHRnRJRDBnY21WeGRXbHlaU2duTGk5emFHRnRjeWNwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlHaGhjMDVoZEdsMlpWTjViV0p2YkhNb0tTQjdYRzVjZEdsbUlDaDBlWEJsYjJZZ2IzSnBaMU41YldKdmJDQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2V5QnlaWFIxY200Z1ptRnNjMlU3SUgxY2JseDBhV1lnS0hSNWNHVnZaaUJUZVcxaWIyd2dJVDA5SUNkbWRXNWpkR2x2YmljcElIc2djbVYwZFhKdUlHWmhiSE5sT3lCOVhHNWNkR2xtSUNoMGVYQmxiMllnYjNKcFoxTjViV0p2YkNnblptOXZKeWtnSVQwOUlDZHplVzFpYjJ3bktTQjdJSEpsZEhWeWJpQm1ZV3h6WlRzZ2ZWeHVYSFJwWmlBb2RIbHdaVzltSUZONWJXSnZiQ2duWW1GeUp5a2dJVDA5SUNkemVXMWliMnduS1NCN0lISmxkSFZ5YmlCbVlXeHpaVHNnZlZ4dVhHNWNkSEpsZEhWeWJpQm9ZWE5UZVcxaWIyeFRhR0Z0S0NrN1hHNTlPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkR1Z6ZENBOUlIdGNibHgwWDE5d2NtOTBiMTlmT2lCdWRXeHNMRnh1WEhSbWIyODZJSHQ5WEc1OU8xeHVYRzUyWVhJZ0pFOWlhbVZqZENBOUlFOWlhbVZqZER0Y2JseHVMeW9xSUVCMGVYQmxJSHRwYlhCdmNuUW9KeTRuS1gwZ0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdhR0Z6VUhKdmR
1HOG9LU0I3WEc1Y2RDOHZJRUIwY3kxbGVIQmxZM1F0WlhKeWIzSTZJRlJUSUdWeWNtOXljeUJ2YmlCaGJpQnBibWhsY21sMFpXUWdjSEp2Y0dWeWRIa2dabTl5SUhOdmJXVWdjbVZoYzI5dVhHNWNkSEpsZEhWeWJpQjdJRjlmY0hKdmRHOWZYem9nZEdWemRDQjlMbVp2YnlBOVBUMGdkR1Z6ZEM1bWIyOWNibHgwWEhRbUppQWhLSFJsYzNRZ2FXNXpkR0Z1WTJWdlppQWtUMkpxWldOMEtUdGNibjA3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFJR1Z6YkdsdWRDQnVieTFwYm5aaGJHbGtMWFJvYVhNNklERWdLaTljYmx4dWRtRnlJRVZTVWs5U1gwMUZVMU5CUjBVZ1BTQW5SblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxMbUpwYm1RZ1kyRnNiR1ZrSUc5dUlHbHVZMjl0Y0dGMGFXSnNaU0FuTzF4dWRtRnlJSFJ2VTNSeUlEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp6dGNiblpoY2lCdFlYZ2dQU0JOWVhSb0xtMWhlRHRjYm5aaGNpQm1kVzVqVkhsd1pTQTlJQ2RiYjJKcVpXTjBJRVoxYm1OMGFXOXVYU2M3WEc1Y2JuWmhjaUJqYjI1allYUjBlU0E5SUdaMWJtTjBhVzl1SUdOdmJtTmhkSFI1S0dFc0lHSXBJSHRjYmlBZ0lDQjJZWElnWVhKeUlEMGdXMTA3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdFdWJHVnVaM1JvT3lCcElDczlJREVwSUh0Y2JpQWdJQ0FnSUNBZ1lYSnlXMmxkSUQwZ1lWdHBYVHRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQmlMbXhsYm1kMGFEc2dhaUFyUFNBeEtTQjdYRzRnSUNBZ0lDQWdJR0Z5Y2x0cUlDc2dZUzVzWlc1bmRHaGRJRDBnWWx0cVhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWVhKeU8xeHVmVHRjYmx4dWRtRnlJSE5zYVdONUlEMGdablZ1WTNScGIyNGdjMnhwWTNrb1lYSnlUR2xyWlN3Z2IyWm1jMlYwS1NCN1hHNGdJQ0FnZG1GeUlHRnljaUE5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnZabVp6WlhRZ2ZId2dNQ3dnYWlBOUlEQTdJR2tnUENCaGNuSk1hV3RsTG14bGJtZDBhRHNnYVNBclBTQXhMQ0JxSUNzOUlERXBJSHRjYmlBZ0lDQWdJQ0FnWVhKeVcycGRJRDBnWVhKeVRHbHJaVnRwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHRnljanRjYm4wN1hHNWNiblpoY2lCcWIybHVlU0E5SUdaMWJtTjBhVzl1SUNoaGNuSXNJR3B2YVc1bGNpa2dlMXh1SUNBZ0lIWmhjaUJ6ZEhJZ1BTQW5KenRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z5Y2k1c1pXNW5kR2c3SUdrZ0t6MGdNU2tnZTF4dUlDQWdJQ0FnSUNCemRISWdLejBnWVhKeVcybGRPMXh1SUNBZ0lDQWdJQ0JwWmlBb2FTQXJJREVnUENCaGNuSXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnYW05cGJtVnlPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCemRISTdYRzU5TzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlHSnBibVFvZEdoaGRDa2dlMXh1SUNBZ0lIWmhjaUIwWVhKblpYUWdQU0IwYUdsek8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2RHRnlaMlYwSUNFOVBTQW5ablZ1WTNScGIyNG5JSHg4SUhSdlUzUnlMbUZ3Y0d4NUtIUmhjbWRsZENrZ0lUMDlJR1oxYm1OVWVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1JWSlNUMUpmVFVWVFUwRkhSU0FySUhSaGNtZGxkQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lIWmhjaUJoY21keklEMGdjMnhwWTNrb1lYSm5kVzFsYm5SekxDQXhLVHRjYmx4dUlDQWdJSFpoY2lCaWIzVnVaRHRjYmlBZ0lDQjJZWElnWW1sdVpHVnlJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5QnBibk4wWVc1alpXOW1JR0p2ZFc1a0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdjbVZ6ZFd4MElEMGdkR0Z5WjJWMExtRndjR3g1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1WTJGMGRIa29ZWEpuY3l3Z1lYSm5kVzFsYm5SektWeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoUFltcGxZM1FvY21WemRXeDBLU0E5UFQwZ2NtVnpkV3gwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZWEpuWlhRdVlYQndiSGtvWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR0YwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1WTJGMGRIa29ZWEpuY3l3Z1lYSm5kVzFsYm5SektWeHVJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdmVHRjYmx4dUlDQWdJSFpoY2lCaWIzVnVaRXhsYm1kMGFDQTlJRzFoZUNnd0xDQjBZWEpuWlhRdWJHVnVaM1JvSUMwZ1lYSm5jeTVzWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJpYjNWdVpFRnlaM01nUFNCYlhUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSnZkVzVrVEdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdZbTkxYm1SQmNtZHpXMmxkSUQwZ0p5UW5JQ3NnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JpYjNWdVpDQTlJRVoxYm1OMGFXOXVLQ2RpYVc1a1pYSW5MQ0FuY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2duSUNzZ2FtOXBibmtvWW05MWJtUkJjbWR6TENBbkxDY3BJQ3NnSnlsN0lISmxkSFZ5YmlCaWFXNWtaWEl1WVhCd2JIa29kR2hwY3l4aGNtZDFiV1Z1ZEhNcE95QjlKeWtvWW1sdVpHVnlLVHRjYmx4dUlDQWdJR2xtSUNoMFlYSm5aWFF1Y0hKdmRHOTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJGYlhCMGVTQTlJR1oxYm1OMGFXOXVJRVZ0Y0hSNUtDa2dlMzA3WEc0Z0lDQWdJQ0FnSUVWdGNIUjVMbkJ5YjNSdmRIbHdaU0E5SUhSaGNtZGxkQzV3Y205MGIzUjVjR1U3WEc0Z0lDQWdJQ0FnSUdKdmRXNWtMbkJ5YjNSdmRIbHdaU0E5SUc1bGR5QkZiWEIwZVNncE8xeHVJQ0FnSUNBZ0lDQkZiWEIwZVM1d2NtOTBiM1I1Y0dVZ1BTQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmliM1Z1WkR0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQnBiWEJzWlcxbGJuUmhkR2x2YmlBOUlISmxjWFZwY21Vb0p5NHZhVzF3YkdWd
1FpXNTBZWFJwYjI0bktUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JHZFc1amRHbHZiaTV3Y205MGIzUjVjR1V1WW1sdVpDQjhmQ0JwYlhCc1pXMWxiblJoZEdsdmJqdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlHTmhiR3dnUFNCR2RXNWpkR2x2Ymk1d2NtOTBiM1I1Y0dVdVkyRnNiRHRjYm5aaGNpQWthR0Z6VDNkdUlEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVR0Y2JuWmhjaUJpYVc1a0lEMGdjbVZ4ZFdseVpTZ25ablZ1WTNScGIyNHRZbWx1WkNjcE8xeHVYRzR2S2lvZ1FIUjVjR1VnZTJsdGNHOXlkQ2duTGljcGZTQXFMMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JpYVc1a0xtTmhiR3dvWTJGc2JDd2dKR2hoYzA5M2JpazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFibVJsWm1sdVpXUTdYRzVjYm5aaGNpQWtSWEp5YjNJZ1BTQnlaWEYxYVhKbEtDZGxjeTFsY25KdmNuTW5LVHRjYm5aaGNpQWtSWFpoYkVWeWNtOXlJRDBnY21WeGRXbHlaU2duWlhNdFpYSnliM0p6TDJWMllXd25LVHRjYm5aaGNpQWtVbUZ1WjJWRmNuSnZjaUE5SUhKbGNYVnBjbVVvSjJWekxXVnljbTl5Y3k5eVlXNW5aU2NwTzF4dWRtRnlJQ1JTWldabGNtVnVZMlZGY25KdmNpQTlJSEpsY1hWcGNtVW9KMlZ6TFdWeWNtOXljeTl5WldZbktUdGNiblpoY2lBa1UzbHVkR0Y0UlhKeWIzSWdQU0J5WlhGMWFYSmxLQ2RsY3kxbGNuSnZjbk12YzNsdWRHRjRKeWs3WEc1MllYSWdKRlI1Y0dWRmNuSnZjaUE5SUhKbGNYVnBjbVVvSjJWekxXVnljbTl5Y3k5MGVYQmxKeWs3WEc1MllYSWdKRlZTU1VWeWNtOXlJRDBnY21WeGRXbHlaU2duWlhNdFpYSnliM0p6TDNWeWFTY3BPMXh1WEc1MllYSWdKRVoxYm1OMGFXOXVJRDBnUm5WdVkzUnBiMjQ3WEc1Y2JpOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQmpiMjV6YVhOMFpXNTBMWEpsZEhWeWJseHVkbUZ5SUdkbGRFVjJZV3hzWldSRGIyNXpkSEoxWTNSdmNpQTlJR1oxYm1OMGFXOXVJQ2hsZUhCeVpYTnphVzl1VTNsdWRHRjRLU0I3WEc1Y2RIUnllU0I3WEc1Y2RGeDBjbVYwZFhKdUlDUkdkVzVqZEdsdmJpZ25YQ0oxYzJVZ2MzUnlhV04wWENJN0lISmxkSFZ5YmlBb0p5QXJJR1Y0Y0hKbGMzTnBiMjVUZVc1MFlYZ2dLeUFuS1M1amIyNXpkSEoxWTNSdmNqc25LU2dwTzF4dVhIUjlJR05oZEdOb0lDaGxLU0I3ZlZ4dWZUdGNibHh1ZG1GeUlDUm5UMUJFSUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjanRjYm1sbUlDZ2taMDlRUkNrZ2UxeHVYSFIwY25rZ2UxeHVYSFJjZENSblQxQkVLSHQ5TENBbkp5azdYRzVjZEgwZ1kyRjBZMmdnS0dVcElIdGNibHgwWEhRa1owOVFSQ0E5SUc1MWJHdzdJQzh2SUhSb2FYTWdhWE1nU1VVZ09Dd2dkMmhwWTJnZ2FHRnpJR0VnWW5KdmEyVnVJR2RQVUVSY2JseDBmVnh1ZlZ4dVhHNTJZWElnZEdoeWIzZFVlWEJsUlhKeWIzSWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNWNkSFJvY205M0lHNWxkeUFrVkhsd1pVVnljbTl5S0NrN1hHNTlPMXh1ZG1GeUlGUm9jbTkzVkhsd1pVVnljbTl5SUQwZ0pHZFBVRVJjYmx4MFB5QW9ablZ1WTNScGIyNGdLQ2tnZTF4dVhIUmNkSFJ5ZVNCN1hHNWNkRngwWEhRdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRkVzUxYzJWa0xXVjRjSEpsYzNOcGIyNXpMQ0J1YnkxallXeHNaWElzSUc1dkxYSmxjM1J5YVdOMFpXUXRjSEp2Y0dWeWRHbGxjMXh1WEhSY2RGeDBZWEpuZFcxbGJuUnpMbU5oYkd4bFpUc2dMeThnU1VVZ09DQmtiMlZ6SUc1dmRDQjBhSEp2ZHlCb1pYSmxYRzVjZEZ4MFhIUnlaWFIxY200Z2RHaHliM2RVZVhCbFJYSnliM0k3WEc1Y2RGeDBmU0JqWVhSamFDQW9ZMkZzYkdWbFZHaHliM2R6S1NCN1hHNWNkRngwWEhSMGNua2dlMXh1WEhSY2RGeDBYSFF2THlCSlJTQTRJSFJvY205M2N5QnZiaUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtHRnlaM1Z0Wlc1MGN5d2dKeWNwWEc1Y2RGeDBYSFJjZEhKbGRIVnliaUFrWjA5UVJDaGhjbWQxYldWdWRITXNJQ2RqWVd4c1pXVW5LUzVuWlhRN1hHNWNkRngwWEhSOUlHTmhkR05vSUNoblQxQkVkR2h5YjNkektTQjdYRzVjZEZ4MFhIUmNkSEpsZEhWeWJpQjBhSEp2ZDFSNWNHVkZjbkp2Y2p0Y2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2RIMG9LU2xjYmx4ME9pQjBhSEp2ZDFSNWNHVkZjbkp2Y2p0Y2JseHVkbUZ5SUdoaGMxTjViV0p2YkhNZ1BTQnlaWEYxYVhKbEtDZG9ZWE10YzNsdFltOXNjeWNwS0NrN1hHNTJZWElnYUdGelVISnZkRzhnUFNCeVpYRjFhWEpsS0Nkb1lYTXRjSEp2ZEc4bktTZ3BPMXh1WEc1MllYSWdaMlYwVUhKdmRHOGdQU0JQWW1wbFkzUXVaMlYwVUhKdmRHOTBlWEJsVDJZZ2ZId2dLRnh1WEhSb1lYTlFjbTkwYjF4dVhIUmNkRDhnWm5WdVkzUnBiMjRnS0hncElIc2djbVYwZFhKdUlIZ3VYMTl3Y205MGIxOWZPeUI5SUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdibTh0Y0hKdmRHOWNibHgwWEhRNklHNTFiR3hjYmlrN1hHNWNiblpoY2lCdVpXVmtjMFYyWVd3Z1BTQjdmVHRjYmx4dWRtRnlJRlI1Y0dWa1FYSnlZWGtnUFNCMGVYQmxiMllnVldsdWREaEJjbkpoZVNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnZkh3Z0lXZGxkRkJ5YjNSdklEOGdkVzVrWldacGJtVmtJRG9nWjJWMFVISnZkRzhvVldsdWREaEJjbkpoZVNrN1hHNWNiblpoY2lCSlRsUlNTVTVUU1VOVElEMGdlMXh1WEhSZlgzQnliM1J2WDE4NklHNTFiR3dzWEc1Y2RDY2xRV2RuY21WbllYUmxSWEp5YjNJbEp6b2dkSGx3Wlc5bUlFRm5aM0psWjJGMFpVVnljbTl5SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklFRm5aM0psWjJGMFpVVnljbTl5TEZ4dVhIUW5KVUZ5Y21GNUpTYzZJRUZ5Y21GNUxGeHVYSFFuSlVGeWNtRjVRblZtWm1WeUpTYzZJSFI1Y0dWdlppQkJjbkpoZVVKMVptWmxjaUE5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCQmNuSmhlVUoxWm1abGNpeGNibHgwSnlWQmNuSmhlVWwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxKU2M2SUdoaGMxTjViV0p2YkhNZ0ppWWdaMlYwVUhKdmRHOGdQeUJuWlhSUWNtOTBieWhiWFZ0VGVXMWliMnd1YVhSbGNtRjBiM0pkS0NrcElEb2dkVzVrWldacGJtVmtMRnh1WEhRbkpVRnplVzVqUm5KdmJWTjVibU5KZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU1VuT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsUVhONWJtTkdkVzVqZEdsdmJpVW5PaUJ1WldWa2MwVjJZV3dzWEc1Y2RDY2xRWE41Ym1OSFpXNWxjbUYwYjNJbEp6b2dibVZsWkhORmRtRnNMRnh1WEhRbkpVRnplVzVqUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRsSnpvZ2JtVmxaSE5GZG1Gc0xGeHVYSFFuSlVGemVXNWpTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxKem9nYm1WbFpITkZkbUZzTEZ4dVhIUW5KVUYwYjIxcFkzTWxKem9nZEhsd1pXOW1JRUYwYjIxcFkzTWdQVDA5SUNkMWJtUmxabWx1WldRbklEOGdkVzVrWldacGJtVmtJRG9nUVhSdmJXbGpjeXhjYmx4MEp5VkNhV2RKYm5RbEp6b2dkSGx3Wlc5bUlFSnBaMGx1ZENBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQkNhV2RKYm5Rc1hHNWNkQ2NsUW1sblNXNTBOalJCY25KaGVTVW5PaUIwZVhCbGIyWWdRbWxuU1c1ME5qUkJjbkpoZVNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQkNhV2RKYm5RMk5FRnljbUY1TEZ4dVhIUW5KVUpwWjFWcGJuUTJORUZ5Y21GNUpTYzZJSFI1Y0dWdlppQkNhV2RWYVc1ME5qUkJjbkpoZVNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQkNhV2RWYVc1ME5qUkJjbkpoZVN4Y2JseDBKeVZDYjI5c1pXRnVKU2M2SUVKdmIyeGxZVzRzWEc1Y2RDY2xSR0YwWVZacFpYY2xKem9nZEhsd1pXOW1JRVJoZEdGV2FXVjNJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QS9JSFZ1WkdWbWFXNWxaQ0E2SUVSaGRHRldhV1YzTEZ4dVhIUW5KVVJoZEdVbEp6b2dSR0YwWlN4Y2JseDBKeVZrWldOdlpHVlZVa2tsSnpvZ1pHVmpiMlJsVlZKSkxGeHVYSFFuSldSbFkyOWtaVlZTU1VOdmJYQnZibVZ1ZENVbk9p
1QmtaV052WkdWVlVrbERiMjF3YjI1bGJuUXNYRzVjZENjbFpXNWpiMlJsVlZKSkpTYzZJR1Z1WTI5a1pWVlNTU3hjYmx4MEp5VmxibU52WkdWVlVrbERiMjF3YjI1bGJuUWxKem9nWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwTEZ4dVhIUW5KVVZ5Y205eUpTYzZJQ1JGY25KdmNpeGNibHgwSnlWbGRtRnNKU2M2SUdWMllXd3NJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ2JtOHRaWFpoYkZ4dVhIUW5KVVYyWVd4RmNuSnZjaVVuT2lBa1JYWmhiRVZ5Y205eUxGeHVYSFFuSlVac2IyRjBNekpCY25KaGVTVW5PaUIwZVhCbGIyWWdSbXh2WVhRek1rRnljbUY1SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklFWnNiMkYwTXpKQmNuSmhlU3hjYmx4MEp5VkdiRzloZERZMFFYSnlZWGtsSnpvZ2RIbHdaVzltSUVac2IyRjBOalJCY25KaGVTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJHYkc5aGREWTBRWEp5WVhrc1hHNWNkQ2NsUm1sdVlXeHBlbUYwYVc5dVVtVm5hWE4wY25rbEp6b2dkSGx3Wlc5bUlFWnBibUZzYVhwaGRHbHZibEpsWjJsemRISjVJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QS9JSFZ1WkdWbWFXNWxaQ0E2SUVacGJtRnNhWHBoZEdsdmJsSmxaMmx6ZEhKNUxGeHVYSFFuSlVaMWJtTjBhVzl1SlNjNklDUkdkVzVqZEdsdmJpeGNibHgwSnlWSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmlVbk9pQnVaV1ZrYzBWMllXd3NYRzVjZENjbFNXNTBPRUZ5Y21GNUpTYzZJSFI1Y0dWdlppQkpiblE0UVhKeVlYa2dQVDA5SUNkMWJtUmxabWx1WldRbklEOGdkVzVrWldacGJtVmtJRG9nU1c1ME9FRnljbUY1TEZ4dVhIUW5KVWx1ZERFMlFYSnlZWGtsSnpvZ2RIbHdaVzltSUVsdWRERTJRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dTVzUwTVRaQmNuSmhlU3hjYmx4MEp5VkpiblF6TWtGeWNtRjVKU2M2SUhSNWNHVnZaaUJKYm5Rek1rRnljbUY1SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklFbHVkRE15UVhKeVlYa3NYRzVjZENjbGFYTkdhVzVwZEdVbEp6b2dhWE5HYVc1cGRHVXNYRzVjZENjbGFYTk9ZVTRsSnpvZ2FYTk9ZVTRzWEc1Y2RDY2xTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxKem9nYUdGelUzbHRZbTlzY3lBbUppQm5aWFJRY205MGJ5QS9JR2RsZEZCeWIzUnZLR2RsZEZCeWIzUnZLRnRkVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBvS1NrcElEb2dkVzVrWldacGJtVmtMRnh1WEhRbkpVcFRUMDRsSnpvZ2RIbHdaVzltSUVwVFQwNGdQVDA5SUNkdlltcGxZM1FuSUQ4Z1NsTlBUaUE2SUhWdVpHVm1hVzVsWkN4Y2JseDBKeVZOWVhBbEp6b2dkSGx3Wlc5bUlFMWhjQ0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCTllYQXNYRzVjZENjbFRXRndTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxKem9nZEhsd1pXOW1JRTFoY0NBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnZkh3Z0lXaGhjMU41YldKdmJITWdmSHdnSVdkbGRGQnliM1J2SUQ4Z2RXNWtaV1pwYm1Wa0lEb2daMlYwVUhKdmRHOG9ibVYzSUUxaGNDZ3BXMU41YldKdmJDNXBkR1Z5WVhSdmNsMG9LU2tzWEc1Y2RDY2xUV0YwYUNVbk9pQk5ZWFJvTEZ4dVhIUW5KVTUxYldKbGNpVW5PaUJPZFcxaVpYSXNYRzVjZENjbFQySnFaV04wSlNjNklFOWlhbVZqZEN4Y2JseDBKeVZ3WVhKelpVWnNiMkYwSlNjNklIQmhjbk5sUm14dllYUXNYRzVjZENjbGNHRnljMlZKYm5RbEp6b2djR0Z5YzJWSmJuUXNYRzVjZENjbFVISnZiV2x6WlNVbk9pQjBlWEJsYjJZZ1VISnZiV2x6WlNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlFjbTl0YVhObExGeHVYSFFuSlZCeWIzaDVKU2M2SUhSNWNHVnZaaUJRY205NGVTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJRY205NGVTeGNibHgwSnlWU1lXNW5aVVZ5Y205eUpTYzZJQ1JTWVc1blpVVnljbTl5TEZ4dVhIUW5KVkpsWm1WeVpXNWpaVVZ5Y205eUpTYzZJQ1JTWldabGNtVnVZMlZGY25KdmNpeGNibHgwSnlWU1pXWnNaV04wSlNjNklIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGSmxabXhsWTNRc1hHNWNkQ2NsVW1WblJYaHdKU2M2SUZKbFowVjRjQ3hjYmx4MEp5VlRaWFFsSnpvZ2RIbHdaVzltSUZObGRDQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJUWlhRc1hHNWNkQ2NsVTJWMFNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVbEp6b2dkSGx3Wlc5bUlGTmxkQ0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dmSHdnSVdoaGMxTjViV0p2YkhNZ2ZId2dJV2RsZEZCeWIzUnZJRDhnZFc1a1pXWnBibVZrSURvZ1oyVjBVSEp2ZEc4b2JtVjNJRk5sZENncFcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwb0tTa3NYRzVjZENjbFUyaGhjbVZrUVhKeVlYbENkV1ptWlhJbEp6b2dkSGx3Wlc5bUlGTm9ZWEpsWkVGeWNtRjVRblZtWm1WeUlEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRk5vWVhKbFpFRnljbUY1UW5WbVptVnlMRnh1WEhRbkpWTjBjbWx1WnlVbk9pQlRkSEpwYm1jc1hHNWNkQ2NsVTNSeWFXNW5TWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxKem9nYUdGelUzbHRZbTlzY3lBbUppQm5aWFJRY205MGJ5QS9JR2RsZEZCeWIzUnZLQ2NuVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBvS1NrZ09pQjFibVJsWm1sdVpXUXNYRzVjZENjbFUzbHRZbTlzSlNjNklHaGhjMU41YldKdmJITWdQeUJUZVcxaWIyd2dPaUIxYm1SbFptbHVaV1FzWEc1Y2RDY2xVM2x1ZEdGNFJYSnliM0lsSnpvZ0pGTjViblJoZUVWeWNtOXlMRnh1WEhRbkpWUm9jbTkzVkhsd1pVVnljbTl5SlNjNklGUm9jbTkzVkhsd1pVVnljbTl5TEZ4dVhIUW5KVlI1Y0dWa1FYSnlZWGtsSnpvZ1ZIbHdaV1JCY25KaGVTeGNibHgwSnlWVWVYQmxSWEp5YjNJbEp6b2dKRlI1Y0dWRmNuSnZjaXhjYmx4MEp5VlZhVzUwT0VGeWNtRjVKU2M2SUhSNWNHVnZaaUJWYVc1ME9FRnljbUY1SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGVnBiblE0UVhKeVlYa3NYRzVjZENjbFZXbHVkRGhEYkdGdGNHVmtRWEp5WVhrbEp6b2dkSGx3Wlc5bUlGVnBiblE0UTJ4aGJYQmxaRUZ5Y21GNUl
1EMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRlZwYm5RNFEyeGhiWEJsWkVGeWNtRjVMRnh1WEhRbkpWVnBiblF4TmtGeWNtRjVKU2M2SUhSNWNHVnZaaUJWYVc1ME1UWkJjbkpoZVNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlZhVzUwTVRaQmNuSmhlU3hjYmx4MEp5VlZhVzUwTXpKQmNuSmhlU1VuT2lCMGVYQmxiMllnVldsdWRETXlRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dWV2x1ZERNeVFYSnlZWGtzWEc1Y2RDY2xWVkpKUlhKeWIzSWxKem9nSkZWU1NVVnljbTl5TEZ4dVhIUW5KVmRsWVd0TllYQWxKem9nZEhsd1pXOW1JRmRsWVd0TllYQWdQVDA5SUNkMWJtUmxabWx1WldRbklEOGdkVzVrWldacGJtVmtJRG9nVjJWaGEwMWhjQ3hjYmx4MEp5VlhaV0ZyVW1WbUpTYzZJSFI1Y0dWdlppQlhaV0ZyVW1WbUlEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRmRsWVd0U1pXWXNYRzVjZENjbFYyVmhhMU5sZENVbk9pQjBlWEJsYjJZZ1YyVmhhMU5sZENBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlhaV0ZyVTJWMFhHNTlPMXh1WEc1cFppQW9aMlYwVUhKdmRHOHBJSHRjYmx4MGRISjVJSHRjYmx4MFhIUnVkV3hzTG1WeWNtOXlPeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWFZ1ZFhObFpDMWxlSEJ5WlhOemFXOXVjMXh1WEhSOUlHTmhkR05vSUNobEtTQjdYRzVjZEZ4MEx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM1JqTXprdmNISnZjRzl6WVd3dGMyaGhaRzkzY21WaGJHMHZjSFZzYkM4ek9EUWphWE56ZFdWamIyMXRaVzUwTFRFek5qUXlOalF5TWpsY2JseDBYSFIyWVhJZ1pYSnliM0pRY205MGJ5QTlJR2RsZEZCeWIzUnZLR2RsZEZCeWIzUnZLR1VwS1R0Y2JseDBYSFJKVGxSU1NVNVRTVU5UV3ljbFJYSnliM0l1Y0hKdmRHOTBlWEJsSlNkZElEMGdaWEp5YjNKUWNtOTBienRjYmx4MGZWeHVmVnh1WEc1MllYSWdaRzlGZG1Gc0lEMGdablZ1WTNScGIyNGdaRzlGZG1Gc0tHNWhiV1VwSUh0Y2JseDBkbUZ5SUhaaGJIVmxPMXh1WEhScFppQW9ibUZ0WlNBOVBUMGdKeVZCYzNsdVkwWjFibU4wYVc5dUpTY3BJSHRjYmx4MFhIUjJZV3gxWlNBOUlHZGxkRVYyWVd4c1pXUkRiMjV6ZEhKMVkzUnZjaWduWVhONWJtTWdablZ1WTNScGIyNGdLQ2tnZTMwbktUdGNibHgwZlNCbGJITmxJR2xtSUNodVlXMWxJRDA5UFNBbkpVZGxibVZ5WVhSdmNrWjFibU4wYVc5dUpTY3BJSHRjYmx4MFhIUjJZV3gxWlNBOUlHZGxkRVYyWVd4c1pXUkRiMjV6ZEhKMVkzUnZjaWduWm5WdVkzUnBiMjRxSUNncElIdDlKeWs3WEc1Y2RIMGdaV3h6WlNCcFppQW9ibUZ0WlNBOVBUMGdKeVZCYzNsdVkwZGxibVZ5WVhSdmNrWjFibU4wYVc5dUpTY3BJSHRjYmx4MFhIUjJZV3gxWlNBOUlHZGxkRVYyWVd4c1pXUkRiMjV6ZEhKMVkzUnZjaWduWVhONWJtTWdablZ1WTNScGIyNHFJQ2dwSUh0OUp5azdYRzVjZEgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0p5VkJjM2x1WTBkbGJtVnlZWFJ2Y2lVbktTQjdYRzVjZEZ4MGRtRnlJR1p1SUQwZ1pHOUZkbUZzS0NjbFFYTjVibU5IWlc1bGNtRjBiM0pHZFc1amRHbHZiaVVuS1R0Y2JseDBYSFJwWmlBb1ptNHBJSHRjYmx4MFhIUmNkSFpoYkhWbElEMGdabTR1Y0hKdmRHOTBlWEJsTzF4dVhIUmNkSDFjYmx4MGZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5KVUZ6ZVc1alNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVbEp5a2dlMXh1WEhSY2RIWmhjaUJuWlc0Z1BTQmtiMFYyWVd3b0p5VkJjM2x1WTBkbGJtVnlZWFJ2Y2lVbktUdGNibHgwWEhScFppQW9aMlZ1SUNZbUlHZGxkRkJ5YjNSdktTQjdYRzVjZEZ4MFhIUjJZV3gxWlNBOUlHZGxkRkJ5YjNSdktHZGxiaTV3Y205MGIzUjVjR1VwTzF4dVhIUmNkSDFjYmx4MGZWeHVYRzVjZEVsT1ZGSkpUbE5KUTFOYmJtRnRaVjBnUFNCMllXeDFaVHRjYmx4dVhIUnlaWFIxY200Z2RtRnNkV1U3WEc1OU8xeHVYRzUyWVhJZ1RFVkhRVU5aWDBGTVNVRlRSVk1nUFNCN1hHNWNkRjlmY0hKdmRHOWZYem9nYm5Wc2JDeGNibHgwSnlWQmNuSmhlVUoxWm1abGNsQnliM1J2ZEhsd1pTVW5PaUJiSjBGeWNtRjVRblZtWm1WeUp5d2dKM0J5YjNSdmRIbHdaU2RkTEZ4dVhIUW5KVUZ5Y21GNVVISnZkRzkwZVhCbEpTYzZJRnNuUVhKeVlYa25MQ0FuY0hKdmRHOTBlWEJsSjEwc1hHNWNkQ2NsUVhKeVlYbFFjbTkwYjE5bGJuUnlhV1Z6SlNjNklGc25RWEp5WVhrbkxDQW5jSEp2ZEc5MGVYQmxKeXdnSjJWdWRISnBaWE1uWFN4Y2JseDBKeVZCY25KaGVWQnliM1J2WDJadmNrVmhZMmdsSnpvZ1d5ZEJjbkpoZVNjc0lDZHdjbTkwYjNSNWNHVW5MQ0FuWm05eVJXRmphQ2RkTEZ4dVhIUW5KVUZ5Y21GNVVISnZkRzlmYTJWNWN5VW5PaUJiSjBGeWNtRjVKeXdnSjNCeWIzUnZkSGx3WlNjc0lDZHJaWGx6SjEwc1hHNWNkQ2NsUVhKeVlYbFFjbTkwYjE5MllXeDFaWE1sSnpvZ1d5ZEJjbkpoZVNjc0lDZHdjbTkwYjNSNWNHVW5MQ0FuZG1Gc2RXVnpKMTBzWEc1Y2RDY2xRWE41Ym1OR2RXNWpkR2x2YmxCeWIzUnZkSGx3WlNVbk9pQmJKMEZ6ZVc1alJuVnVZM1JwYjI0bkxDQW5jSEp2ZEc5MGVYQmxKMTBzWEc1Y2RDY2xRWE41Ym1OSFpXNWxjbUYwYjNJbEp6b2dXeWRCYzNsdVkwZGxibVZ5WVhSdmNrWjFibU4wYVc5dUp5d2dKM0J5YjNSdmRIbHdaU2RkTEZ4dVhIUW5KVUZ6ZVc1alIyVnVaWEpoZEc5eVVISnZkRzkwZVhCbEpTYzZJRnNuUVhONWJtTkhaVzVsY21GMGIzSkdkVzVqZEdsdmJpY3NJQ2R3Y205MGIzUjVjR1VuTENBbmNISnZkRzkwZVhCbEoxMHNYRzVjZENjbFFtOXZiR1ZoYmxCeWIzUnZkSGx3WlNVbk9pQmJKMEp2YjJ4bFlXNG5MQ0FuY0hKdmRHOTBlWEJsSjEwc1hHNWNkQ2NsUkdGMFlWWnBaWGRRY205MGIzUjVjR1VsSnpvZ1d5ZEVZWFJoVm1sbGR5Y3NJQ2R3Y205MGIzUjVjR1VuWFN4Y2JseDBKeVZFWVhSbFVISnZkRzkwZVhCbEpTYzZJRnNuUkdGMFpTY3NJQ2R3Y205MGIzUjVjR1VuWFN4Y2JseDBKeVZGY25KdmNsQnliM1J2ZEhsd1pTVW5PaUJiSjBWeWNtOXlKeXdnSjNCeWIzUnZkSGx3WlNkZExGeHVYSFFuSlVWMllXeEZjbkp2Y2xCeWIzUnZkSGx3WlNVbk9pQmJKMFYyWVd4RmNuSnZjaWNzSUNkd2NtOTBiM1I1Y0dVblhTeGNibHgwSnlWR2JHOWhkRE15UVhKeVlYbFFjbTkwYjNSNWNHVWxKem9nV3lkR2JHOWhkRE15UVhKeVlYa25MQ0FuY0hKdmRHOTBlWEJsSjEwc1hHNWNkQ2NsUm14dllYUTJORUZ5Y21GNVVISnZkRzkwZVhCbEpTYzZJRnNuUm14dllYUTJORUZ5Y21GNUp5d2dKM0J5YjNSdmRIbHdaU2RkTEZ4dVhIUW5KVVoxYm1OMGFXOXVVSEp2ZEc5MGVYQmxKU2M2SUZzblJuVnVZM1JwYjI0bkxDQW5jSEp2ZEc5MGVYQmxKMTBzWEc1Y2RDY2xSMlZ1WlhKaGRHOXlKU2M2SUZzblIyVnVaWEpoZEc5eVJuVnVZM1JwYjI0bkxDQW5jSEp2ZEc5MGVYQmxKMTBzWEc1Y2RDY2xSMlZ1WlhKaGRHOXlVSEp2ZEc5MGVYQmxKU2M2SUZzblIyVnVaWEpoZEc5eVJuVnVZM1JwYjI0bkxDQW5jSEp2ZEc5MGVYQmxKeXdnSjNCeWIzUnZkSGx3WlNkZExGeHVYSFFuSlVsdWREaEJjbkpoZVZCeWIzUnZkSGx3WlNVbk9pQmJKMGx1ZERoQmNuSmhlU2NzSUNkd2NtOTBiM1I1Y0dVblhTeGNibHgwSnlWSmJuUXhOa0Z5Y21GNVVISnZkRzkwZVhCbEpTYzZJRnNuU1c1ME1UWkJjbkpoZVNjc0lDZHdjbTkwYjNSNWNHVW5YU3hjYmx4MEp5VkpiblF6TWtGeWNtRjVVSEp2ZEc5MGVYQmxKU2M2SUZzblNXNTBNekpCY25KaG
1VTY3NJQ2R3Y205MGIzUjVjR1VuWFN4Y2JseDBKeVZLVTA5T1VHRnljMlVsSnpvZ1d5ZEtVMDlPSnl3Z0ozQmhjbk5sSjEwc1hHNWNkQ2NsU2xOUFRsTjBjbWx1WjJsbWVTVW5PaUJiSjBwVFQwNG5MQ0FuYzNSeWFXNW5hV1o1SjEwc1hHNWNkQ2NsVFdGd1VISnZkRzkwZVhCbEpTYzZJRnNuVFdGd0p5d2dKM0J5YjNSdmRIbHdaU2RkTEZ4dVhIUW5KVTUxYldKbGNsQnliM1J2ZEhsd1pTVW5PaUJiSjA1MWJXSmxjaWNzSUNkd2NtOTBiM1I1Y0dVblhTeGNibHgwSnlWUFltcGxZM1JRY205MGIzUjVjR1VsSnpvZ1d5ZFBZbXBsWTNRbkxDQW5jSEp2ZEc5MGVYQmxKMTBzWEc1Y2RDY2xUMkpxVUhKdmRHOWZkRzlUZEhKcGJtY2xKem9nV3lkUFltcGxZM1FuTENBbmNISnZkRzkwZVhCbEp5d2dKM1J2VTNSeWFXNW5KMTBzWEc1Y2RDY2xUMkpxVUhKdmRHOWZkbUZzZFdWUFppVW5PaUJiSjA5aWFtVmpkQ2NzSUNkd2NtOTBiM1I1Y0dVbkxDQW5kbUZzZFdWUFppZGRMRnh1WEhRbkpWQnliMjFwYzJWUWNtOTBiM1I1Y0dVbEp6b2dXeWRRY205dGFYTmxKeXdnSjNCeWIzUnZkSGx3WlNkZExGeHVYSFFuSlZCeWIyMXBjMlZRY205MGIxOTBhR1Z1SlNjNklGc25VSEp2YldselpTY3NJQ2R3Y205MGIzUjVjR1VuTENBbmRHaGxiaWRkTEZ4dVhIUW5KVkJ5YjIxcGMyVmZZV3hzSlNjNklGc25VSEp2YldselpTY3NJQ2RoYkd3blhTeGNibHgwSnlWUWNtOXRhWE5sWDNKbGFtVmpkQ1VuT2lCYkoxQnliMjFwYzJVbkxDQW5jbVZxWldOMEoxMHNYRzVjZENjbFVISnZiV2x6WlY5eVpYTnZiSFpsSlNjNklGc25VSEp2YldselpTY3NJQ2R5WlhOdmJIWmxKMTBzWEc1Y2RDY2xVbUZ1WjJWRmNuSnZjbEJ5YjNSdmRIbHdaU1VuT2lCYkoxSmhibWRsUlhKeWIzSW5MQ0FuY0hKdmRHOTBlWEJsSjEwc1hHNWNkQ2NsVW1WbVpYSmxibU5sUlhKeWIzSlFjbTkwYjNSNWNHVWxKem9nV3lkU1pXWmxjbVZ1WTJWRmNuSnZjaWNzSUNkd2NtOTBiM1I1Y0dVblhTeGNibHgwSnlWU1pXZEZlSEJRY205MGIzUjVjR1VsSnpvZ1d5ZFNaV2RGZUhBbkxDQW5jSEp2ZEc5MGVYQmxKMTBzWEc1Y2RDY2xVMlYwVUhKdmRHOTBlWEJsSlNjNklGc25VMlYwSnl3Z0ozQnliM1J2ZEhsd1pTZGRMRnh1WEhRbkpWTm9ZWEpsWkVGeWNtRjVRblZtWm1WeVVISnZkRzkwZVhCbEpTYzZJRnNuVTJoaGNtVmtRWEp5WVhsQ2RXWm1aWEluTENBbmNISnZkRzkwZVhCbEoxMHNYRzVjZENjbFUzUnlhVzVuVUhKdmRHOTBlWEJsSlNjNklGc25VM1J5YVc1bkp5d2dKM0J5YjNSdmRIbHdaU2RkTEZ4dVhIUW5KVk41YldKdmJGQnliM1J2ZEhsd1pTVW5PaUJiSjFONWJXSnZiQ2NzSUNkd2NtOTBiM1I1Y0dVblhTeGNibHgwSnlWVGVXNTBZWGhGY25KdmNsQnliM1J2ZEhsd1pTVW5PaUJiSjFONWJuUmhlRVZ5Y205eUp5d2dKM0J5YjNSdmRIbHdaU2RkTEZ4dVhIUW5KVlI1Y0dWa1FYSnlZWGxRY205MGIzUjVjR1VsSnpvZ1d5ZFVlWEJsWkVGeWNtRjVKeXdnSjNCeWIzUnZkSGx3WlNkZExGeHVYSFFuSlZSNWNHVkZjbkp2Y2xCeWIzUnZkSGx3WlNVbk9pQmJKMVI1Y0dWRmNuSnZjaWNzSUNkd2NtOTBiM1I1Y0dVblhTeGNibHgwSnlWVmFXNTBPRUZ5Y21GNVVISnZkRzkwZVhCbEpTYzZJRnNuVldsdWREaEJjbkpoZVNjc0lDZHdjbTkwYjNSNWNHVW5YU3hjYmx4MEp5VlZhVzUwT0VOc1lXMXdaV1JCY25KaGVWQnliM1J2ZEhsd1pTVW5PaUJiSjFWcGJuUTRRMnhoYlhCbFpFRnljbUY1Snl3Z0ozQnliM1J2ZEhsd1pTZGRMRnh1WEhRbkpWVnBiblF4TmtGeWNtRjVVSEp2ZEc5MGVYQmxKU2M2SUZzblZXbHVkREUyUVhKeVlYa25MQ0FuY0hKdmRHOTBlWEJsSjEwc1hHNWNkQ2NsVldsdWRETXlRWEp5WVhsUWNtOTBiM1I1Y0dVbEp6b2dXeWRWYVc1ME16SkJjbkpoZVNjc0lDZHdjbTkwYjNSNWNHVW5YU3hjYmx4MEp5VlZVa2xGY25KdmNsQnliM1J2ZEhsd1pTVW5PaUJiSjFWU1NVVnljbTl5Snl3Z0ozQnliM1J2ZEhsd1pTZGRMRnh1WEhRbkpWZGxZV3ROWVhCUWNtOTBiM1I1Y0dVbEp6b2dXeWRYWldGclRXRndKeXdnSjNCeWIzUnZkSGx3WlNkZExGeHVYSFFuSlZkbFlXdFRaWFJRY205MGIzUjVjR1VsSnpvZ1d5ZFhaV0ZyVTJWMEp5d2dKM0J5YjNSdmRIbHdaU2RkWEc1OU8xeHVYRzUyWVhJZ1ltbHVaQ0E5SUhKbGNYVnBjbVVvSjJaMWJtTjBhVzl1TFdKcGJtUW5LVHRjYm5aaGNpQm9ZWE5QZDI0Z1BTQnlaWEYxYVhKbEtDZG9ZWE52ZDI0bktUdGNiblpoY2lBa1kyOXVZMkYwSUQwZ1ltbHVaQzVqWVd4c0tFWjFibU4wYVc5dUxtTmhiR3dzSUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVqYjI1allYUXBPMXh1ZG1GeUlDUnpjR3hwWTJWQmNIQnNlU0E5SUdKcGJtUXVZMkZzYkNoR2RXNWpkR2x2Ymk1aGNIQnNlU3dnUVhKeVlYa3VjSEp2ZEc5MGVYQmxMbk53YkdsalpTazdYRzUyWVhJZ0pISmxjR3hoWTJVZ1BTQmlhVzVrTG1OaGJHd29SblZ1WTNScGIyNHVZMkZzYkN3Z1UzUnlhVzVuTG5CeWIzUnZkSGx3WlM1eVpYQnNZV05sS1R0Y2JuWmhjaUFrYzNSeVUyeHBZMlVnUFNCaWFXNWtMbU5oYkd3b1JuVnVZM1JwYjI0dVkyRnNiQ3dnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzV6YkdsalpTazdYRzUyWVhJZ0pHVjRaV01nUFNCaWFXNWtMbU5oYkd3b1JuVnVZM1JwYjI0dVkyRnNiQ3dnVW1WblJYaHdMbkJ5YjNSdmRIbHdaUzVsZUdWaktUdGNibHh1THlvZ1lXUmhjSFJsWkNCbWNtOXRJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzlzYjJSaGMyZ3ZiRzlrWVhOb0wySnNiMkl2TkM0eE55NHhOUzlrYVhOMEwyeHZaR0Z6YUM1cWN5Tk1OamN6TlMxTU5qYzBOQ0FxTDF4dWRtRnlJSEpsVUhKdmNFNWhiV1VnUFNBdlcxNGxMbHRjWEYxZEszeGNYRnNvUHpvb0xUOWNYR1FyS0Q4NlhGd3VYRnhrS3lrL0tYd29XMXdpSjEwcEtDZy9PaWcvSVZ4Y01pbGJYbHhjWEZ4ZGZGeGNYRnd1S1NvL0tWeGNNaWxjWEYxOEtEODlLRDg2WEZ3dWZGeGNXMXhjWFNrb1B6cGNYQzU4WEZ4YlhGeGRmQ1VrS1Nrdlp6dGNiblpoY2lCeVpVVnpZMkZ3WlVOb1lYSWdQU0F2WEZ4Y1hDaGNYRnhjS1Q4dlp6c2dMeW9xSUZWelpXUWdkRzhnYldGMFkyZ2dZbUZqYTNOc1lYTm9aWE1nYVc0Z2NISnZjR1Z5ZEhrZ2NHRjBhSE11SUNvdlhHNTJZWElnYzNSeWFXNW5WRzlRWVhSb0lEMGdablZ1WTNScGIyNGdjM1J5YVc1blZHOVFZWFJvS0hOMGNtbHVaeWtnZTF4dVhIUjJZWElnWm1seWMzUWdQU0FrYzNSeVUyeHBZMlVvYzNSeWFXNW5MQ0F3TENBeEtUdGNibHgwZG1GeUlHeGhjM1FnUFNBa2MzUnlVMnhwWTJVb2MzUnlhVzVuTENBdE1TazdYRzVjZEdsbUlDaG1hWEp6ZENBOVBUMGdKeVVuSUNZbUlHeGhjM1FnSVQwOUlDY2xKeWtnZTF4dVhIUmNkSFJvY205M0lHNWxkeUFrVTNsdWRHRjRSWEp5YjNJb0oybHVkbUZzYVdRZ2FXNTBjbWx1YzJsaklITjViblJoZUN3Z1pYaHdaV04wWldRZ1kyeHZjMmx1WnlCZ0pXQW5LVHRjYmx4MGZTQmxiSE5sSUdsbUlDaHNZWE4wSUQwOVBTQW5KU2NnSmlZZ1ptbHljM1FnSVQwOUlDY2xKeWtnZTF4dVhIUmNkSFJvY205M0lHNWxkeUFrVTNsdWRHRjRSWEp5YjNJb0oybHVkbUZzYVdRZ2FXNTBjbWx1YzJsaklITjViblJoZUN3Z1pYaHdaV04wWldRZ2IzQmxibWx1WnlCZ0pXQW5LVHRjYmx4MGZWeHVYSFIyWVhJZ2NtVnpkV3gwSUQwZ1cxMDdYRzVjZENSeVpYQnNZV05sS0hOMGNtbHVaeXdnY21WUWNtOXdUbUZ0WlN3Z1puVnVZM1JwYjI0Z0tHMWhkR05vTENCdWRXMWlaWElzSUhGMWIzUmxMQ0J6ZFdKVGRISnBibWNwSUh0Y2JseDBYSFJ5WlhOMWJIUmJjbVZ6ZFd4MExteGxibWQwYUYwZ1BTQnhkVzkwWlNBL0lDUnlaWEJzWVdObEtITjFZbE4wY21sdVp5d2djbVZGYzJOaGNHVkRhR0Z5TENBbkpERW5LU0E2SUc1MWJXSmxjaUI4ZkNCdFlYUmphRHRjYmx4MGZTazdYRzVjZEhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5TzF4dUx5b2daVzVrSUdGa1lYQjBZWFJwYjI0Z0tpOWNibHh1ZG1GeUlHZGxkRUpoYzJWSmJuUnlhVzV6YVdNZ1BTQm1kVzVqZEdsdmJpQm5aWFJDWVhObFNXNTBjbWx1YzJsaktHNWhiV1VzSUdGc2JHOTNUV2x6YzJsdVp5a2dlMXh1WEhSMllYSWdhVzUwY21sdWMybGpUbUZ0WlNBOUlHNWhiV1U3WEc1Y2RIWmhjaUJoYkdsaGN6dGNibHgwYVdZZ0tHaGhjMDkzYmloTVJVZEJRMWxmUVV4SlFWTkZVeXdnYVc1MGNtbHVjMmxqVG1GdFpTa3BJSHRjYmx4MFhIUmhiR2xoY3lBOUlFeEZSMEZEV1Y5QlRFbEJVMFZUVzJsdWRISnBibk5wWTA1aGJXVmRPMXh1WEhSY2RHbHVkSEpwYm5OcFkwNWhiV1VnUFNBbkpTY2dLeUJoYkdsaGMxc3dYU0FySUNjbEp6dGNibHgwZlZ4dVhHNWNkR2xtSUNob1lYTlBkMjRvU1U1VVVrbE9VMGxEVXl3Z2FXNTBjbWx1YzJsalRtRnRaU2twSUh0Y2JseDBYSFIyWVhJZ2RtRnNkV1VnUFNCSlRsUlNTVTVUU1VOVFcybHVkSEpwYm5OcFkwNWhiV1ZkTzF4dVhIUmNkR2xtSUNoMllXeDFaU0E5UFQwZ2JtVmxaSE5GZG1Gc0tTQjdYRzVjZEZ4MFhIUjJZV3gxWlNBOUlHUnZSWFpoYkNocGJuUnlhVzV6YVdOT1lXMWxLVHRjYmx4MFhIUjlYRzVjZEZ4MGFXWWdLSFI1Y0dWdlppQjJZV3gxWlNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ0lXRnNiRzkzVFdsemMybHVaeWtnZTF4dVhIUmNkRngwZEdoeWIzY2dibVYzSUNSVWVYQmxSWEp5YjNJb0oybHVkSEpwYm5OcFl5QW5JQ3NnYm1GdFpTQXJJQ2NnWlhocGMzUnpMQ0JpZFhRZ2FYTWdibTkwSUdGMllXbHNZV0pzWlM0Z1VHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVWhKeWs3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbVYwZFhKdUlIdGNibHgwWEhSY2RHRnNhV0Z6T2lCaGJHbGhjeXhjYmx4MFhIUmNkRzVoYldVNklHbHVkSEpwYm5OcFkwNWhiV1VzWEc1Y2RGeDBYSFIyWVd4MVpUb2dkbUZzZFdWY2JseDBYSFI5TzF4dVhIUjlYRzVjYmx4MGRHaHliM2NnYm1WM0lDUlRlVzUwWVhoRmNuSnZjaWduYVc1MGNtbHVjMmxqSUNjZ0t5QnVZVzFsSUNzZ0p5QmtiMlZ6SUc1dmRDQmxlR2x6ZENFbktUdGNibjA3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1IyVjBTVzUwY21sdWMybGpLRzVoYldVc0lHRnNiRzkzVFdsemMybHVaeWtnZTF4dVhIUnBaaUFvZEhsd1pXOW1JRzVoYldVZ0lUMDlJQ2R6ZEhKcGJtY25JSHg4SUc1aGJXVXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNWNkRngwZEdoeWIzY2dibVYzSUNSVWVYQmxSWEp5YjNJb0oybHVkSEpwYm5OcFl5QnVZVzFsSUcxMWMzUWdZbVVnWVNCdWIyNHRaVzF3ZEhrZ2MzUnlhVzVuSnlrN1hHNWNkSDFjYmx4MGFXWWdLR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF4SUNZbUlIUjVjR1Z2WmlCaGJHeHZkMDFwYzNOcGJtY2dJVDA5SUNkaWIyOXNaV0Z1SnlrZ2UxeHVYSFJjZEhSb2NtOTNJRzVsZHlBa1ZIbHdaVVZ5Y205eUtDZGNJbUZzYkc5M1RXbHpjMmx1WjF3aUlHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQmliMjlzWldGdUp5azdYRzVjZEgxY2JseHVYSFJwWmlBb0pHVjRaV01vTDE0bFAxdGVKVjBxSlQ4a0x5d2dibUZ0WlNrZ1BUMDlJRzUxYkd3cElIdGNibHgwWEhSMGFISnZkeUJ1WlhjZ0pGTjViblJoZUVWeWNtOXlLQ2RnSldBZ2JXRjVJRzV2ZENCaVpTQndjbVZ6Wlc1MElHRnVlWGRvWlhKbElHSjFkQ0JoZENCMGFHVWdZbVZuYVc1dWFXNW5JR0Z1WkNCbGJtUWdiMllnZEdobElHbHVkSEpwYm5OcFl5QnVZVzFsSnlrN1hHNWNkSDFjYmx4MGRtRnlJSEJoY25SeklEMGdjM1J5YVc1blZHOVFZWFJvS0c1aGJXVXBPMXh1WEhSMllYSWdhVzUwY21sdWMybGpRbUZ6WlU1aGJXVWdQU0J3WVhKMGN5NXNaVzVuZEdnZ1BpQXdJRDhnY0dGeWRITmJNRjBnT2lBbkp6dGNibHh1WEhSMllYSWdhVzUwY21sdWMybGpJRDBnWjJWMFFtRnpaVWx1ZEhKcGJuTnBZeWduSlNjZ0t5QnBiblJ5YVc1emFXTkNZWE5sVG1GdFpTQXJJQ2NsSnl3Z1lXeHNiM2ROYVhOemFXNW5LVHRjYmx4MGRtRnlJR2x1ZEhKcGJuTnBZMUpsWVd4T1lXMWxJRDBnYVc1MGNtbHVjMmxqTG01aGJXVTdYRzVjZEhaaGNpQjJZV3gxWlNBOUlHbHVkSEpwYm5OcFl5NTJZV3gxWlR0Y2JseDBkbUZ5SUhOcmFYQkdkWEowYUdWeVEyRmphR2x1WnlBOUlHWmhiSE5sTzF4dVhHNWNkSFpoY2lCaGJHbGhjeUE5SUdsdWRISnBibk5wWXk1aGJHbGhjenRjYmx4MGFXWWdLR0ZzYVdGektTQjdYRzVjZEZ4MGFXNTBjbWx1YzJsalFtRnpaVTVoYldVZ1BTQmhiR2xoYzFzd1hUdGNibHgwWEhRa2MzQnNhV05sUVhCd2JIa29jR0Z5ZEhNc0lDUmpiMjVqWVhRb1d6QXNJREZkTENCaGJHbGhjeWtwTzF4dVhIUjlYRzVjYmx4MFptOXlJQ2gyWVhJZ2FTQTlJREVzSUdselQzZHVJRDBnZEhKMVpUc2dhU0E4SUhCaGNuUnpMbXhsYm1kMGFEc2dhU0
1FyUFNBeEtTQjdYRzVjZEZ4MGRtRnlJSEJoY25RZ1BTQndZWEowYzF0cFhUdGNibHgwWEhSMllYSWdabWx5YzNRZ1BTQWtjM1J5VTJ4cFkyVW9jR0Z5ZEN3Z01Dd2dNU2s3WEc1Y2RGeDBkbUZ5SUd4aGMzUWdQU0FrYzNSeVUyeHBZMlVvY0dGeWRDd2dMVEVwTzF4dVhIUmNkR2xtSUNoY2JseDBYSFJjZENoY2JseDBYSFJjZEZ4MEtHWnBjbk4wSUQwOVBTQW5YQ0luSUh4OElHWnBjbk4wSUQwOVBTQmNJaWRjSWlCOGZDQm1hWEp6ZENBOVBUMGdKMkFuS1Z4dVhIUmNkRngwWEhSOGZDQW9iR0Z6ZENBOVBUMGdKMXdpSnlCOGZDQnNZWE4wSUQwOVBTQmNJaWRjSWlCOGZDQnNZWE4wSUQwOVBTQW5ZQ2NwWEc1Y2RGeDBYSFFwWEc1Y2RGeDBYSFFtSmlCbWFYSnpkQ0FoUFQwZ2JHRnpkRnh1WEhSY2RDa2dlMXh1WEhSY2RGeDBkR2h5YjNjZ2JtVjNJQ1JUZVc1MFlYaEZjbkp2Y2lnbmNISnZjR1Z5ZEhrZ2JtRnRaWE1nZDJsMGFDQnhkVzkwWlhNZ2JYVnpkQ0JvWVhabElHMWhkR05vYVc1bklIRjFiM1JsY3ljcE8xeHVYSFJjZEgxY2JseDBYSFJwWmlBb2NHRnlkQ0E5UFQwZ0oyTnZibk4wY25WamRHOXlKeUI4ZkNBaGFYTlBkMjRwSUh0Y2JseDBYSFJjZEhOcmFYQkdkWEowYUdWeVEyRmphR2x1WnlBOUlIUnlkV1U3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBhVzUwY21sdWMybGpRbUZ6WlU1aGJXVWdLejBnSnk0bklDc2djR0Z5ZER0Y2JseDBYSFJwYm5SeWFXNXphV05TWldGc1RtRnRaU0E5SUNjbEp5QXJJR2x1ZEhKcGJuTnBZMEpoYzJWT1lXMWxJQ3NnSnlVbk8xeHVYRzVjZEZ4MGFXWWdLR2hoYzA5M2JpaEpUbFJTU1U1VFNVTlRMQ0JwYm5SeWFXNXphV05TWldGc1RtRnRaU2twSUh0Y2JseDBYSFJjZEhaaGJIVmxJRDBnU1U1VVVrbE9VMGxEVTF0cGJuUnlhVzV6YVdOU1pXRnNUbUZ0WlYwN1hHNWNkRngwZlNCbGJITmxJR2xtSUNoMllXeDFaU0FoUFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFJwWmlBb0lTaHdZWEowSUdsdUlIWmhiSFZsS1NrZ2UxeHVYSFJjZEZ4MFhIUnBaaUFvSVdGc2JHOTNUV2x6YzJsdVp5a2dlMXh1WEhSY2RGeDBYSFJjZEhSb2NtOTNJRzVsZHlBa1ZIbHdaVVZ5Y205eUtDZGlZWE5sSUdsdWRISnBibk5wWXlCbWIzSWdKeUFySUc1aGJXVWdLeUFuSUdWNGFYTjBjeXdnWW5WMElIUm9aU0J3Y205d1pYSjBlU0JwY3lCdWIzUWdZWFpoYVd4aFlteGxMaWNwTzF4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RISmxkSFZ5YmlCMmIybGtJSFZ1WkdWbWFXNWxaRHRjYmx4MFhIUmNkSDFjYmx4MFhIUmNkR2xtSUNna1owOVFSQ0FtSmlBb2FTQXJJREVwSUQ0OUlIQmhjblJ6TG14bGJtZDBhQ2tnZTF4dVhIUmNkRngwWEhSMllYSWdaR1Z6WXlBOUlDUm5UMUJFS0haaGJIVmxMQ0J3WVhKMEtUdGNibHgwWEhSY2RGeDBhWE5QZDI0Z1BTQWhJV1JsYzJNN1hHNWNibHgwWEhSY2RGeDBMeThnUW5rZ1kyOXVkbVZ1ZEdsdmJpd2dkMmhsYmlCaElHUmhkR0VnY0hKdmNHVnlkSGtnYVhNZ1kyOXVkbVZ5ZEdWa0lIUnZJR0Z1SUdGalkyVnpjMjl5WEc1Y2RGeDBYSFJjZEM4dklIQnliM0JsY25SNUlIUnZJR1Z0ZFd4aGRHVWdZU0JrWVhSaElIQnliM0JsY25SNUlIUm9ZWFFnWkc5bGN5QnViM1FnYzNWbVptVnlJR1p5YjIxY2JseDBYSFJjZEZ4MEx5OGdkR2hsSUc5MlpYSnlhV1JsSUcxcGMzUmhhMlVzSUhSb1lYUWdZV05qWlhOemIzSW5jeUJuWlhSMFpYSWdhWE1nYldGeWEyVmtJSGRwZEdoY2JseDBYSFJjZEZ4MEx5OGdZVzRnWUc5eWFXZHBibUZzVm1Gc2RXVmdJSEJ5YjNCbGNuUjVMaUJJWlhKbExDQjNhR1Z1SUhkbElHUmxkR1ZqZENCMGFHbHpMQ0IzWlZ4dVhIUmNkRngwWEhRdkx5QjFjR2h2YkdRZ2RHaGxJR2xzYkhWemFXOXVJR0o1SUhCeVpYUmxibVJwYm1jZ2RHOGdjMlZsSUhSb1lYUWdiM0pwWjJsdVlXd2daR0YwWVZ4dVhIUmNkRngwWEhRdkx5QndjbTl3WlhKMGVTd2dhUzVsTGl3Z2NtVjBkWEp1YVc1bklIUm9aU0IyWVd4MVpTQnlZWFJvWlhJZ2RHaGhiaUIwYUdVZ1oyVjBkR1Z5WEc1Y2RGeDBYSFJjZEM4dklHbDBjMlZzWmk1Y2JseDBYSFJjZEZ4MGFXWWdLR2x6VDNkdUlDWW1JQ2RuWlhRbklHbHVJR1JsYzJNZ0ppWWdJU2duYjNKcFoybHVZV3hXWVd4MVpTY2dhVzRnWkdWell5NW5aWFFwS1NCN1hHNWNkRngwWEhSY2RGeDBkbUZzZFdVZ1BTQmtaWE5qTG1kbGREdGNibHgwWEhSY2RGeDBmU0JsYkhObElIdGNibHgwWEhSY2RGeDBYSFIyWVd4MVpTQTlJSFpoYkhWbFczQmhjblJkTzF4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSOUlHVnNjMlVnZTF4dVhIUmNkRngwWEhScGMwOTNiaUE5SUdoaGMwOTNiaWgyWVd4MVpTd2djR0Z5ZENrN1hHNWNkRngwWEhSY2RIWmhiSFZsSUQwZ2RtRnNkV1ZiY0dGeWRGMDdYRzVjZEZ4MFhIUjlYRzVjYmx4MFhIUmNkR2xtSUNocGMwOTNiaUFtSmlBaGMydHBjRVoxY25Sb1pYSkRZV05vYVc1bktTQjdYRzVjZEZ4MFhIUmNkRWxPVkZKSlRsTkpRMU5iYVc1MGNtbHVjMmxqVW1WaGJFNWhiV1ZkSUQwZ2RtRnNkV1U3WEc1Y2RGeDBYSFI5WEc1Y2RGeDBmVnh1WEhSOVhHNWNkSEpsZEhWeWJpQjJZV3gxWlR0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQkhaWFJKYm5SeWFXNXphV01nUFNCeVpYRjFhWEpsS0NkblpYUXRhVzUwY21sdWMybGpKeWs3WEc1Y2JpOHFLaUJBZEhsd1pTQjdhVzF3YjNKMEtDY3VKeWw5SUNvdlhHNTJZWElnSkdSbFptbHVaVkJ5YjNCbGNuUjVJRDBnUjJWMFNXNTBjbWx1YzJsaktDY2xUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1SlNjc0lIUnlkV1VwSUh4OElHWmhiSE5sTzF4dWFXWWdLQ1JrWldacGJtVlFjbTl3WlhKMGVTa2dlMXh1WEhSMGNua2dlMXh1WEhSY2RDUmtaV1pwYm1WUWNtOXdaWEowZVNoN2ZTd2dKMkVuTENCN0lIWmhiSFZsT2lBeElIMHBPMXh1WEhSOUlHTmhkR05vSUNobEtTQjdYRzVjZEZ4MEx5OGdTVVVnT0NCb1lYTWdZU0JpY205clpXNGdaR1ZtYVc1bFVISnZjR1Z5ZEhsY2JseDBYSFFrWkdWbWFXNWxVSEp2Y0dWeWRIa2dQU0JtWVd4elpUdGNibHgwZlZ4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJQ1JrWldacGJtVlFjbTl3WlhKMGVUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlFZGxkRWx1ZEhKcGJuTnBZeUE5SUhKbGNYVnBjbVVvSjJkbGRDMXBiblJ5YVc1emFXTW5LVHRjYmx4dWRtRnlJQ1JuVDFCRUlEMGdSMlYwU1c1MGNtbHVjMmxqS0NjbFQySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaVVuTENCMGNuVmxLVHRjYmx4dWFXWWdLQ1JuVDFCRUtTQjdYRzVjZEhSeWVTQjdYRzVjZEZ4MEpHZFBVRVFvVzEwc0lDZHNaVzVuZEdnbktUdGNibHgwZlNCallYUmphQ0FvWlNrZ2UxeHVYSFJjZEM4dklFbEZJRGdnYUdGeklHRWdZbkp2YTJWdUlHZFBVRVJjYmx4MFhIUWtaMDlRUkNBOUlHNTFiR3c3WEc1Y2RIMWNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNBa1owOVFSRHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJQ1JrWldacGJtVlFjbTl3WlhKMGVTQTlJSEpsY1hWcGNtVW9KMlZ6TFdSbFptbHVaUzF3Y205d1pYSjBlU2NwTzF4dVhHNTJZWElnSkZONWJuUmhlRVZ5Y205eUlEMGdjbVZ4ZFdseVpTZ25aWE10WlhKeWIzSnpMM041Ym5SaGVDY3BPMXh1ZG1GeUlDUlVlWEJsUlhKeWIzSWdQU0J5WlhGMWFYSmxLQ2RsY3kxbGNuSnZjbk12ZEhsd1pTY3BPMXh1WEc1MllYSWdaMjl3WkNBOUlISmxjWFZwY21Vb0oyZHZjR1FuS1R0Y2JseHVMeW9xSUVCMGVYQmxJSHRwYlhCdmNuUW9KeTRuS1gwZ0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdaR1ZtYVc1bFJHRjBZVkJ5YjNCbGNuUjVLRnh1WEhSdlltb3NYRzVjZEhCeWIzQmxjblI1TEZ4dVhIUjJZV3gxWlZ4dUtTQjdYRzVjZEdsbUlDZ2hiMkpxSUh4OElDaDBlWEJsYjJZZ2IySnFJQ0U5UFNBbmIySnFaV04wSnlBbUppQjBlWEJsYjJZZ2IySnFJQ0U5UFNBblpuVnVZM1JwYjI0bktTa2dlMXh1WEhSY2RIUm9jbTkzSUc1bGR5QWtWSGx3WlVWeWNtOXlLQ2RnYjJKcVlDQnRkWE4wSUdKbElHRnVJRzlpYW1WamRDQnZjaUJoSUdaMWJtTjBhVzl1WUNjcE8xeHVYSFI5WEc1Y2RHbG1JQ2gwZVhCbGIyWWdjSEp2Y0dWeWRIa2dJVDA5SUNkemRISnBibWNuSUNZbUlIUjVjR1Z2WmlCd2NtOXdaWEowZVNBaF
1BUMGdKM041YldKdmJDY3BJSHRjYmx4MFhIUjBhSEp2ZHlCdVpYY2dKRlI1Y0dWRmNuSnZjaWduWUhCeWIzQmxjblI1WUNCdGRYTjBJR0psSUdFZ2MzUnlhVzVuSUc5eUlHRWdjM2x0WW05c1lDY3BPMXh1WEhSOVhHNWNkR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQ0Z015QW1KaUIwZVhCbGIyWWdZWEpuZFcxbGJuUnpXek5kSUNFOVBTQW5ZbTl2YkdWaGJpY2dKaVlnWVhKbmRXMWxiblJ6V3pOZElDRTlQU0J1ZFd4c0tTQjdYRzVjZEZ4MGRHaHliM2NnYm1WM0lDUlVlWEJsUlhKeWIzSW9KMkJ1YjI1RmJuVnRaWEpoWW14bFlDd2dhV1lnY0hKdmRtbGtaV1FzSUcxMWMzUWdZbVVnWVNCaWIyOXNaV0Z1SUc5eUlHNTFiR3duS1R0Y2JseDBmVnh1WEhScFppQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJRFFnSmlZZ2RIbHdaVzltSUdGeVozVnRaVzUwYzFzMFhTQWhQVDBnSjJKdmIyeGxZVzRuSUNZbUlHRnlaM1Z0Wlc1MGMxczBYU0FoUFQwZ2JuVnNiQ2tnZTF4dVhIUmNkSFJvY205M0lHNWxkeUFrVkhsd1pVVnljbTl5S0NkZ2JtOXVWM0pwZEdGaWJHVmdMQ0JwWmlCd2NtOTJhV1JsWkN3Z2JYVnpkQ0JpWlNCaElHSnZiMnhsWVc0Z2IzSWdiblZzYkNjcE8xeHVYSFI5WEc1Y2RHbG1JQ2hoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTlNBbUppQjBlWEJsYjJZZ1lYSm5kVzFsYm5Seld6VmRJQ0U5UFNBblltOXZiR1ZoYmljZ0ppWWdZWEpuZFcxbGJuUnpXelZkSUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwZEdoeWIzY2dibVYzSUNSVWVYQmxSWEp5YjNJb0oyQnViMjVEYjI1bWFXZDFjbUZpYkdWZ0xDQnBaaUJ3Y205MmFXUmxaQ3dnYlhWemRDQmlaU0JoSUdKdmIyeGxZVzRnYjNJZ2JuVnNiQ2NwTzF4dVhIUjlYRzVjZEdsbUlDaGhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdOaUFtSmlCMGVYQmxiMllnWVhKbmRXMWxiblJ6V3paZElDRTlQU0FuWW05dmJHVmhiaWNwSUh0Y2JseDBYSFIwYUhKdmR5QnVaWGNnSkZSNWNHVkZjbkp2Y2lnbllHeHZiM05sWUN3Z2FXWWdjSEp2ZG1sa1pXUXNJRzExYzNRZ1ltVWdZU0JpYjI5c1pXRnVKeWs3WEc1Y2RIMWNibHh1WEhSMllYSWdibTl1Ulc1MWJXVnlZV0pzWlNBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXpJRDhnWVhKbmRXMWxiblJ6V3pOZElEb2diblZzYkR0Y2JseDBkbUZ5SUc1dmJsZHlhWFJoWW14bElEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJRFFnUHlCaGNtZDFiV1Z1ZEhOYk5GMGdPaUJ1ZFd4c08xeHVYSFIyWVhJZ2JtOXVRMjl1Wm1sbmRYSmhZbXhsSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUNBK0lEVWdQeUJoY21kMWJXVnVkSE5iTlYwZ09pQnVkV3hzTzF4dVhIUjJZWElnYkc5dmMyVWdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTmlBL0lHRnlaM1Z0Wlc1MGMxczJYU0E2SUdaaGJITmxPMXh1WEc1Y2RDOHFJRUIwZVhCbElIdG1ZV3h6WlNCOElGUjVjR1ZrVUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5UEhWdWEyNXZkMjQrZlNBcUwxeHVYSFIyWVhJZ1pHVnpZeUE5SUNFaFoyOXdaQ0FtSmlCbmIzQmtLRzlpYWl3Z2NISnZjR1Z5ZEhrcE8xeHVYRzVjZEdsbUlDZ2taR1ZtYVc1bFVISnZjR1Z5ZEhrcElIdGNibHgwWEhRa1pHVm1hVzVsVUhKdmNHVnlkSGtvYjJKcUxDQndjbTl3WlhKMGVTd2dlMXh1WEhSY2RGeDBZMjl1Wm1sbmRYSmhZbXhsT2lCdWIyNURiMjVtYVdkMWNtRmliR1VnUFQwOUlHNTFiR3dnSmlZZ1pHVnpZeUEvSUdSbGMyTXVZMjl1Wm1sbmRYSmhZbXhsSURvZ0lXNXZia052Ym1acFozVnlZV0pzWlN4Y2JseDBYSFJjZEdWdWRXMWxjbUZpYkdVNklHNXZia1Z1ZFcxbGNtRmliR1VnUFQwOUlHNTFiR3dnSmlZZ1pHVnpZeUEvSUdSbGMyTXVaVzUxYldWeVlXSnNaU0E2SUNGdWIyNUZiblZ0WlhKaFlteGxMRnh1WEhSY2RGeDBkbUZzZFdVNklIWmhiSFZsTEZ4dVhIUmNkRngwZDNKcGRHRmliR1U2SUc1dmJsZHlhWFJoWW14bElEMDlQU0J1ZFd4c0lDWW1JR1JsYzJNZ1B5QmtaWE5qTG5keWFYUmhZbXhsSURvZ0lXNXZibGR5YVhSaFlteGxYRzVjZEZ4MGZTazdYRzVjZEgwZ1pXeHpaU0JwWmlBb2JHOXZjMlVnZkh3Z0tDRnViMjVGYm5WdFpYSmhZbXhsSUNZbUlDRnViMjVYY21sMFlXSnNaU0FtSmlBaGJtOXVRMjl1Wm1sbmRYSmhZbXhsS1NrZ2UxeHVYSFJjZEM4dklHMTFjM1FnWm1Gc2JDQmlZV05ySUhSdklGdGJVMlYwWFYwc0lHRnVaQ0IzWVhNZ2JtOTBJR1Y0Y0d4cFkybDBiSGtnWVhOclpXUWdkRzhnYldGclpTQnViMjR0Wlc1MWJXVnlZV0pzWlN3Z2JtOXVMWGR5YVhSaFlteGxMQ0J2Y2lCdWIyNHRZMjl1Wm1sbmRYSmhZbXhsWEc1Y2RGeDBiMkpxVzNCeWIzQmxjblI1WFNBOUlIWmhiSFZsT3lBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxc2FXNWxJRzV2TFhCaGNtRnRMWEpsWVhOemFXZHVYRzVjZEgwZ1pXeHpaU0I3WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJQ1JUZVc1MFlYaEZjbkp2Y2lnblZHaHBjeUJsYm5acGNtOXViV1Z1ZENCa2IyVnpJRzV2ZENCemRYQndiM0owSUdSbFptbHVhVzVuSUdFZ2NISnZjR1Z5ZEhrZ1lYTWdibTl1TFdOdmJtWnBaM1Z5WVdKc1pTd2dibTl1TFhkeWFYUmhZbXhsTENCdmNpQnViMjR0Wlc1MWJXVnlZV0pzWlM0bktUdGNibHgwZlZ4dWZUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlDUmtaV1pwYm1WUWNtOXdaWEowZVNBOUlISmxjWFZwY21Vb0oyVnpMV1JsWm1sdVpTMXdjbTl3WlhKMGVTY3BPMXh1WEc1MllYSWdhR0Z6VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5Y3lBOUlHWjFibU4wYVc5dUlHaGhjMUJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjbk1vS1NCN1hHNWNkSEpsZEhWeWJpQWhJU1JrWldacGJtVlFjbTl3WlhKMGVUdGNibjA3WEc1Y2JtaGhjMUJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjbk11YUdGelFYSnlZWGxNWlc1bmRHaEVaV1pwYm1WQ2RXY2dQU0JtZFc1amRHbHZiaUJvWVhOQmNuSmhlVXhsYm1kMGFFUmxabWx1WlVKMVp5Z3BJSHRjYmx4MEx5OGdibTlrWlNCMk1DNDJJR2hoY3lCaElHSjFaeUIzYUdWeVpTQmhjbkpoZVNCc1pXNW5kR2h6SUdOaGJpQmlaU0JUWlhRZ1luVjBJRzV2ZENCRVpXWnBibVZrWEc1Y2RHbG1JQ2doSkdSbFptbHVaVkJ5YjNCbGNuUjVLU0I3WEc1Y2RGeDBjbVYwZFhKdUlHNTFiR3c3WEc1Y2RIMWNibHgwZEhKNUlIdGNibHgwWEhSeVpYUjFjbTRnSkdSbFptbHVaVkJ5YjNCbGNuUjVLRnRkTENBbmJHVnVaM1JvSnl3Z2V5QjJZV3gxWlRvZ01TQjlLUzVzWlc1bmRHZ2dJVDA5SURFN1hHNWNkSDBnWTJGMFkyZ2dLR1VwSUh0Y2JseDBYSFF2THlCSmJpQkdhWEpsWm05NElEUXRNaklzSUdSbFptbHVhVzVuSUd4bGJtZDBhQ0J2YmlCaGJpQmhjbkpoZVNCMGFISnZkM01nWVc0Z1pYaGpaWEIwYVc5dUxseHVYSFJjZEhKbGRIVnliaUIwY25WbE8xeHVYSFI5WEc1OU8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR2hoYzFCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25NN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCSFpYUkpiblJ5YVc1emFXTWdQU0J5WlhGMWFYSmxLQ2RuWlhRdGFXNTBjbWx1YzJsakp5azdYRzUyWVhJZ1pHVm1hVzVsSUQwZ2NtVnhkV2x5WlNnblpHVm1hVzVsTFdSaGRHRXRjSEp2Y0dWeWRIa25LVHRjYm5aaGNpQm9ZWE5FWlhOamNtbHdkRzl5Y3lBOUlISmxjWFZwY21Vb0oyaGhjeTF3Y205d1pYSjBlUzFrWlhOamNtbHdkRzl5Y3ljcEtDazdYRzUyWVhJZ1owOVFSQ0E5SUhKbGNYVnBjbVVvSjJkdmNHUW5LVHRjYmx4dWRtRnlJQ1JVZVhCbFJYSnliM0lnUFNCeVpYRjFhWEpsS0NkbGN5MWxjbkp2Y25NdmRIbHdaU2NwTzF4dWRtRnlJQ1JtYkc5dmNpQTlJRWRsZEVsdWRISnBibk5wWXlnbkpVMWhkR2d1Wm14dmIzSWxKeWs3WEc1Y2JpOHFLaUJBZEhsd1pTQjdhVzF3YjNKMEtDY3VKeWw5SUNvdlhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlITmxkRVoxYm1OMGFXOXVUR1Z1WjNSb0tHWnVMQ0JzWlc1bmRHZ3BJSHRjYmx4MGFXWWdLSFI1Y0dWdlppQm1iaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1WEhSY2RIUm9jbTkzSUc1bGR5QWtWSGx3WlVWeWNtOXlLQ2RnWm01Z0lHbHpJRzV2ZENCaElHWjFibU4wYVc5dUp5azdYRzVjZEgxY2JseDBhV1lnS0hSNWNHVnZaaUJzWlc1bmRHZ2dJVDA5SUNkdWRXMWlaWEluSUh4OElHeGxibWQwYUNBOElEQWdmSHdnYkdWdVozUm9JRDRnTUhoR1JrWkdSa1pHUmlCOGZDQWtabXh2YjNJb2JHVnVaM1JvS1NBaFBUMGdiR1Z1WjNSb0tTQjdYRzVjZEZ4MGRH
1aHliM2NnYm1WM0lDUlVlWEJsUlhKeWIzSW9KMkJzWlc1bmRHaGdJRzExYzNRZ1ltVWdZU0J3YjNOcGRHbDJaU0F6TWkxaWFYUWdhVzUwWldkbGNpY3BPMXh1WEhSOVhHNWNibHgwZG1GeUlHeHZiM05sSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUNBK0lESWdKaVlnSVNGaGNtZDFiV1Z1ZEhOYk1sMDdYRzVjYmx4MGRtRnlJR1oxYm1OMGFXOXVUR1Z1WjNSb1NYTkRiMjVtYVdkMWNtRmliR1VnUFNCMGNuVmxPMXh1WEhSMllYSWdablZ1WTNScGIyNU1aVzVuZEdoSmMxZHlhWFJoWW14bElEMGdkSEoxWlR0Y2JseDBhV1lnS0Nkc1pXNW5kR2duSUdsdUlHWnVJQ1ltSUdkUFVFUXBJSHRjYmx4MFhIUjJZWElnWkdWell5QTlJR2RQVUVRb1ptNHNJQ2RzWlc1bmRHZ25LVHRjYmx4MFhIUnBaaUFvWkdWell5QW1KaUFoWkdWell5NWpiMjVtYVdkMWNtRmliR1VwSUh0Y2JseDBYSFJjZEdaMWJtTjBhVzl1VEdWdVozUm9TWE5EYjI1bWFXZDFjbUZpYkdVZ1BTQm1ZV3h6WlR0Y2JseDBYSFI5WEc1Y2RGeDBhV1lnS0dSbGMyTWdKaVlnSVdSbGMyTXVkM0pwZEdGaWJHVXBJSHRjYmx4MFhIUmNkR1oxYm1OMGFXOXVUR1Z1WjNSb1NYTlhjbWwwWVdKc1pTQTlJR1poYkhObE8xeHVYSFJjZEgxY2JseDBmVnh1WEc1Y2RHbG1JQ2htZFc1amRHbHZia3hsYm1kMGFFbHpRMjl1Wm1sbmRYSmhZbXhsSUh4OElHWjFibU4wYVc5dVRHVnVaM1JvU1hOWGNtbDBZV0pzWlNCOGZDQWhiRzl2YzJVcElIdGNibHgwWEhScFppQW9hR0Z6UkdWelkzSnBjSFJ2Y25NcElIdGNibHgwWEhSY2RHUmxabWx1WlNndktpb2dRSFI1Y0dVZ2UxQmhjbUZ0WlhSbGNuTThaR1
1ZtYVc1bFBsc3dYWDBnS2k4Z0tHWnVLU3dnSjJ4bGJtZDBhQ2NzSUd4bGJtZDBhQ3dnZEhKMVpTd2dkSEoxWlNrN1hHNWNkRngwZlNCbGJITmxJSHRjYmx4MFhIUmNkR1JsWm1sdVpTZ3ZLaW9nUUhSNWNHVWdlMUJoY21GdFpYUmxjbk04WkdWbWFXNWxQbHN3WFgwZ0tpOGdLR1p1S1N3Z0oyeGxibWQwYUNjc0lHeGxibWQwYUNrN1hHNWNkRngwZlZ4dVhIUjlYRzVjZEhKbGRIVnliaUJtYmp0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQmlhVzVrSUQwZ2NtVnhkV2x5WlNnblpuVnVZM1JwYjI0dFltbHVaQ2NwTzF4dWRtRnlJRWRsZEVsdWRISnBibk5wWXlBOUlISmxjWFZwY21Vb0oyZGxkQzFwYm5SeWFXNXphV01uS1R0Y2JuWmhjaUJ6WlhSR2RXNWpkR2x2Ymt4bGJtZDBhQ0E5SUhKbGNYVnBjbVVvSjNObGRDMW1kVzVqZEdsdmJpMXNaVzVuZEdnbktUdGNibHh1ZG1GeUlDUlVlWEJsUlhKeWIzSWdQU0J5WlhGMWFYSmxLQ2RsY3kxbGNuSnZjbk12ZEhsd1pTY3BPMXh1ZG1GeUlDUmhjSEJzZVNBOUlFZGxkRWx1ZEhKcGJuTnBZeWduSlVaMWJtTjBhVzl1TG5CeWIzUnZkSGx3WlM1aGNIQnNlU1VuS1R0Y2JuWmhjaUFrWTJGc2JDQTlJRWRsZEVsdWRISnBibk5wWXlnbkpVWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTNWpZV3hzSlNjcE8xeHVkbUZ5SUNSeVpXWnNaV04wUVhCd2JIa2dQU0JIWlhSSmJuUnlhVzV6YVdNb0p5VlNaV1pzWldOMExtRndjR3g1SlNjc0lIUnlkV1VwSUh4OElHSnBibVF1WTJGc2JDZ2tZMkZzYkN3Z0pHRndjR3g1S1R0Y2JseHVkbUZ5SUNSa1pXWnBibVZRY205d1pYSjBlU0E5SUhKbGNYVnBjbVVvSjJWekxXUmxabWx1WlMxd2NtOXdaWEowZVNjcE8xeHVkbUZ5SUNSdFlYZ2dQU0JIWlhSSmJuUnlhVzV6YVdNb0p5Vk5ZWFJvTG0xaGVDVW5LVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCallXeHNRbWx1WkNodmNtbG5hVzVoYkVaMWJtTjBhVzl1S1NCN1hHNWNkR2xtSUNoMGVYQmxiMllnYjNKcFoybHVZV3hHZFc1amRHbHZiaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1WEhSY2RIUm9jbTkzSUc1bGR5QWtWSGx3WlVWeWNtOXlLQ2RoSUdaMWJtTjBhVzl1SUdseklISmxjWFZwY21Wa0p5azdYRzVjZEgxY2JseDBkbUZ5SUdaMWJtTWdQU0FrY21WbWJHVmpkRUZ3Y0d4NUtHSnBibVFzSUNSallXeHNMQ0JoY21kMWJXVnVkSE1wTzF4dVhIUnlaWFIxY200Z2MyVjBSblZ1WTNScGIyNU1aVzVuZEdnb1hHNWNkRngwWm5WdVl5eGNibHgwWEhReElDc2dKRzFoZUNnd0xDQnZjbWxuYVc1aGJFWjFibU4wYVc5dUxteGxibWQwYUNBdElDaGhjbWQxYldWdWRITXViR1Z1WjNSb0lDMGdNU2twTEZ4dVhIUmNkSFJ5ZFdWY2JseDBLVHRjYm4wN1hHNWNiblpoY2lCaGNIQnNlVUpwYm1RZ1BTQm1kVzVqZEdsdmJpQmhjSEJzZVVKcGJtUW9LU0I3WEc1Y2RISmxkSFZ5YmlBa2NtVm1iR1ZqZEVGd2NHeDVLR0pwYm1Rc0lDUmhjSEJzZVN3Z1lYSm5kVzFsYm5SektUdGNibjA3WEc1Y2JtbG1JQ2drWkdWbWFXNWxVSEp2Y0dWeWRIa3BJSHRjYmx4MEpHUmxabWx1WlZCeWIzQmxjblI1S0cxdlpIVnNaUzVsZUhCdmNuUnpMQ0FuWVhCd2JIa25MQ0I3SUhaaGJIVmxPaUJoY0hCc2VVSnBibVFnZlNrN1hHNTlJR1ZzYzJVZ2UxeHVYSFJ0YjJSMWJHVXVaWGh3YjNKMGN5NWhjSEJzZVNBOUlHRndjR3g1UW1sdVpEdGNibjFjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRWRsZEVsdWRISnBibk5wWXlBOUlISmxjWFZwY21Vb0oyZGxkQzFwYm5SeWFXNXphV01uS1R0Y2JseHVkbUZ5SUdOaGJHeENhVzVrSUQwZ2NtVnhkV2x5WlNnbkxpOG5LVHRjYmx4dWRtRnlJQ1JwYm1SbGVFOW1JRDBnWTJGc2JFSnBibVFvUjJWMFNXNTBjbWx1YzJsaktDZFRkSEpwYm1jdWNISnZkRzkwZVhCbExtbHVaR1Y0VDJZbktTazdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnWTJGc2JFSnZkVzVrU1c1MGNtbHVjMmxqS0c1aGJXVXNJR0ZzYkc5M1RXbHpjMmx1WnlrZ2UxeHVYSFIyWVhJZ2FXNTBjbWx1YzJsaklEMGdSMlYwU1c1MGNtbHVjMmxqS0c1aGJXVXNJQ0VoWVd4c2IzZE5hWE56YVc1bktUdGNibHgwYVdZZ0tIUjVjR1Z2WmlCcGJuUnlhVzV6YVdNZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0pHbHVaR1Y0VDJZb2JtRnRaU3dnSnk1d2NtOTBiM1I1Y0dVdUp5a2dQaUF0TVNrZ2UxeHVYSFJjZEhKbGRIVnliaUJqWVd4c1FtbHVaQ2hwYm5SeWFXNXphV01wTzF4dVhIUjlYRzVjZEhKbGRIVnliaUJwYm5SeWFXNXphV003WEc1OU8xeHVJaXdpWlhod2IzSjBJR1JsWm1GMWJIUWdlMzBpTENKMllYSWdhR0Z6VFdGd0lEMGdkSGx3Wlc5bUlFMWhjQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJOWVhBdWNISnZkRzkwZVhCbE8xeHVkbUZ5SUcxaGNGTnBlbVZFWlhOamNtbHdkRzl5SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaUFtSmlCb1lYTk5ZWEFnUHlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLRTFoY0M1d2NtOTBiM1I1Y0dVc0lDZHphWHBsSnlrZ09pQnVkV3hzTzF4dWRtRnlJRzFoY0ZOcGVtVWdQU0JvWVhOTllYQWdKaVlnYldGd1UybDZaVVJsYzJOeWFYQjBiM0lnSmlZZ2RIbHdaVzltSUcxaGNGTnBlbVZFWlhOamNtbHdkRzl5TG1kbGRDQTlQVDBnSjJaMWJtTjBhVzl1SnlBL0lHMWhjRk5wZW1WRVpYTmpjbWx3ZEc5eUxtZGxkQ0E2SUc1MWJHdzdYRzUyWVhJZ2JXRndSbTl5UldGamFDQTlJR2hoYzAxaGNDQW1KaUJOWVhBdWNISnZkRzkwZVhCbExtWnZja1ZoWTJnN1hHNTJZWElnYUdGelUyVjBJRDBnZEhsd1pXOW1JRk5sZENBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCVFpYUXVjSEp2ZEc5MGVYQmxPMXh1ZG1GeUlITmxkRk5wZW1WRVpYTmpjbWx3ZEc5eUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lBbUppQm9ZWE5UWlhRZ1B5QlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0ZObGRDNXdjbTkwYjNSNWNHVXNJQ2R6YVhwbEp5a2dPaUJ1ZFd4c08xeHVkbUZ5SUhObGRGTnBlbVVnUFNCb1lYTlRaWFFnSmlZZ2MyVjBVMmw2WlVSbGMyTnlhWEIwYjNJZ0ppWWdkSGx3Wlc5bUlITmxkRk5wZW1WRVpYTmpjbWx3ZEc5eUxtZGxkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QS9JSE5sZEZOcGVtVkVaWE5qY21sd2RHOXlMbWRsZENBNklHNTFiR3c3WEc1MllYSWdjMlYwUm05eVJXRmphQ0E5SUdoaGMxTmxkQ0FtSmlCVFpYUXVjSEp2ZEc5MGVYQmxMbVp2Y2tWaFkyZzdYRzUyWVhJZ2FHRnpWMlZoYTAxaGNDQTlJSFI1Y0dWdlppQlhaV0ZyVFdGd0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGZGxZV3ROWVhBdWNISnZkRzkwZVhCbE8xeHVkbUZ5SUhkbFlXdE5ZWEJJWVhNZ1BTQm9ZWE5YWldGclRXRndJRDhnVjJWaGEwMWhjQzV3Y205MGIzUjVjR1V1YUdGeklEb2diblZzYkR0Y2JuWmhjaUJvWVhOWFpXRnJVMlYwSUQwZ2RIbHdaVzltSUZkbFlXdFRaWFFnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnVjJWaGExTmxkQzV3Y205MGIzUjVjR1U3WEc1MllYSWdkMlZoYTFObGRFaGhjeUE5SUdoaGMxZGxZV3RUWlhRZ1B5QlhaV0ZyVTJWMExuQnliM1J2ZEhsd1pTNW9ZWE1nT2lCdWRXeHNPMXh1ZG1GeUlHaGhjMWRsWVd0U1pXWWdQU0IwZVhCbGIyWWdWMlZoYTFKbFppQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQlhaV0ZyVW1WbUxuQnliM1J2ZEhsd1pUdGNiblpoY2lCM1pXRnJVbVZtUkdWeVpXWWdQU0JvWVhOWFpXRnJVbVZtSUQ4Z1YyVmhhMUpsWmk1d2NtOTBiM1I1Y0dVdVpHVnlaV1lnT2lCdWRXeHNPMXh1ZG1GeUlHSnZiMnhsWVc1V1lXeDFaVTltSUQwZ1FtOXZiR1ZoYmk1d2NtOTBiM1I1Y0dVdWRtRnNkV1ZQWmp0Y2JuWmhjaUJ2WW1wbFkzUlViMU4wY21sdVp5QTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtYzdYRzUyWVhJZ1puVnVZM1JwYjI1VWIxTjBjbWx1WnlBOUlFWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp6dGNiblpoY2lBa2JXRjBZMmdnUFNCVGRISnBibWN1Y0hKdmRHOTBlWEJsTG0xaGRHTm9PMXh1ZG
11GeUlDUnpiR2xqWlNBOUlGTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWMyeHBZMlU3WEc1MllYSWdKSEpsY0d4aFkyVWdQU0JUZEhKcGJtY3VjSEp2ZEc5MGVYQmxMbkpsY0d4aFkyVTdYRzUyWVhJZ0pIUnZWWEJ3WlhKRFlYTmxJRDBnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwYjFWd2NHVnlRMkZ6WlR0Y2JuWmhjaUFrZEc5TWIzZGxja05oYzJVZ1BTQlRkSEpwYm1jdWNISnZkRzkwZVhCbExuUnZURzkzWlhKRFlYTmxPMXh1ZG1GeUlDUjBaWE4wSUQwZ1VtVm5SWGh3TG5CeWIzUnZkSGx3WlM1MFpYTjBPMXh1ZG1GeUlDUmpiMjVqWVhRZ1BTQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdVkyOXVZMkYwTzF4dWRtRnlJQ1JxYjJsdUlEMGdRWEp5WVhrdWNISnZkRzkwZVhCbExtcHZhVzQ3WEc1MllYSWdKR0Z5Y2xOc2FXTmxJRDBnUVhKeVlYa3VjSEp2ZEc5MGVYQmxMbk5zYVdObE8xeHVkbUZ5SUNSbWJHOXZjaUE5SUUxaGRHZ3VabXh2YjNJN1hHNTJZWElnWW1sblNXNTBWbUZzZFdWUFppQTlJSFI1Y0dWdlppQkNhV2RKYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNnUHlCQ2FXZEpiblF1Y0hKdmRHOTBlWEJsTG5aaGJIVmxUMllnT2lCdWRXeHNPMXh1ZG1GeUlHZFBVRk1nUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4ek8xeHVkbUZ5SUhONWJWUnZVM1J5YVc1bklEMGdkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCMGVYQmxiMllnVTNsdFltOXNMbWwwWlhKaGRHOXlJRDA5UFNBbmMzbHRZbTlzSnlBL0lGTjViV0p2YkM1d2NtOTBiM1I1Y0dVdWRHOVRkSEpwYm1jZ09pQnVkV3hzTzF4dWRtRnlJR2hoYzFOb1lXMXRaV1JUZVcxaWIyeHpJRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQjBlWEJsYjJZZ1UzbHRZbTlzTG1sMFpYSmhkRzl5SUQwOVBTQW5iMkpxWldOMEp6dGNiaTh2SUdsbExDQmdhR0Z6TFhSdmMzUnlhVzVuZEdGbkwzTm9ZVzF6WEc1MllYSWdkRzlUZEhKcGJtZFVZV2NnUFNCMGVYQmxiMllnVTNsdFltOXNJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JRk41YldKdmJDNTBiMU4wY21sdVoxUmhaeUFtSmlBb2RIbHdaVzltSUZONWJXSnZiQzUwYjFOMGNtbHVaMVJoWnlBOVBUMGdhR0Z6VTJoaGJXMWxaRk41YldKdmJITWdQeUFuYjJKcVpXTjBKeUE2SUNkemVXMWliMnduS1Z4dUlDQWdJRDhnVTNsdFltOXNMblJ2VTNSeWFXNW5WR0ZuWEc0Z0lDQWdPaUJ1ZFd4c08xeHVkbUZ5SUdselJXNTFiV1Z5WVdKc1pTQTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVjSEp2Y0dWeWRIbEpjMFZ1ZFcxbGNtRmliR1U3WEc1Y2JuWmhjaUJuVUU4Z1BTQW9kSGx3Wlc5bUlGSmxabXhsWTNRZ1BUMDlJQ2RtZFc1amRHbHZiaWNnUHlCU1pXWnNaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1JRG9nVDJKcVpXTjBMbWRsZEZCeWIzUnZkSGx3WlU5bUtTQjhmQ0FvWEc0Z0lDQWdXMTB1WDE5d2NtOTBiMTlmSUQwOVBTQkJjbkpoZVM1d2NtOTBiM1I1Y0dVZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1Ynkxd2NtOTBiMXh1SUNBZ0lDQWdJQ0EvSUdaMWJtTjBhVzl1SUNoUEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVHk1ZlgzQnliM1J2WDE4N0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXeHBibVVnYm04dGNISnZkRzljYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBNklHNTFiR3hjYmlrN1hHNWNibVoxYm1OMGFXOXVJR0ZrWkU1MWJXVnlhV05UWlhCaGNtRjBiM0lvYm5WdExDQnpkSElwSUh0Y2JpQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lHNTFiU0E5UFQwZ1NXNW1hVzVwZEhsY2JpQWdJQ0FnSUNBZ2ZId2diblZ0SUQwOVBTQXRTVzVtYVc1cGRIbGNiaUFnSUNBZ0lDQWdmSHdnYm5WdElDRTlQU0J1ZFcxY2JpQWdJQ0FnSUNBZ2ZId2dLRzUxYlNBbUppQnVkVzBnUGlBdE1UQXdNQ0FtSmlCdWRXMGdQQ0F4TURBd0tWeHVJQ0FnSUNBZ0lDQjhmQ0FrZEdWemRDNWpZV3hzS0M5bEx5d2djM1J5S1Z4dUlDQWdJQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYzNSeU8xeHVJQ0FnSUgxY2JpQWdJQ0IyWVhJZ2MyVndVbVZuWlhnZ1BTQXZXekF0T1Ywb1B6MG9QenBiTUMwNVhYc3pmU2tyS0Q4aFd6QXRPVjBwS1M5bk8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JuVnRJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYVc1MElEMGdiblZ0SUR3Z01DQS9JQzBrWm14dmIzSW9MVzUxYlNrZ09pQWtabXh2YjNJb2JuVnRLVHNnTHk4Z2RISjFibU1vYm5WdEtWeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1MElDRTlQU0J1ZFcwcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnBiblJUZEhJZ1BTQlRkSEpwYm1jb2FXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJrWldNZ1BTQWtjMnhwWTJVdVkyRnNiQ2h6ZEhJc0lHbHVkRk4wY2k1c1pXNW5kR2dnS3lBeEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFrY21Wd2JHRmpaUzVqWVd4c0tHbHVkRk4wY2l3Z2MyVndVbVZuWlhnc0lDY2tKbDhuS1NBcklDY3VKeUFySUNSeVpYQnNZV05sTG1OaGJHd29KSEpsY0d4aFkyVXVZMkZzYkNoa1pXTXNJQzhvV3pBdE9WMTdNMzBwTDJjc0lDY2tKbDhuS1N3Z0wxOGtMeXdnSnljcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUFrY21Wd2JHRmpaUzVqWVd4c0tITjBjaXdnYzJWd1VtVm5aWGdzSUNja0psOG5LVHRjYm4xY2JseHVkbUZ5SUhWMGFXeEpibk53WldOMElEMGdjbVZ4ZFdseVpTZ25MaTkxZEdsc0xtbHVjM0JsWTNRbktUdGNiblpoY2lCcGJuTndaV04wUTNWemRHOXRJRDBnZFhScGJFbHVjM0JsWTNRdVkzVnpkRzl0TzF4dWRtRnlJR2x1YzNCbFkzUlRlVzFpYjJ3Z1BTQnBjMU41YldKdmJDaHBibk53WldOMFEzVnpkRzl0S1NBL0lHbHVjM0JsWTNSRGRYTjBiMjBnT2lCdWRXeHNPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdsdWMzQmxZM1JmS0c5aWFpd2diM0IwYVc5dWN5d2daR1Z3ZEdnc0lITmxaVzRwSUh0Y2JpQWdJQ0IyWVhJZ2IzQjBjeUE5SUc5d2RHbHZibk1nZkh3Z2UzMDdYRzVjYmlBZ0lDQnBaaUFvYUdGektHOXdkSE1zSUNkeGRXOTBaVk4wZVd4bEp5a2dKaVlnS0c5d2RITXVjWFZ2ZEdWVGRIbHNaU0FoUFQwZ0ozTnBibWRzWlNjZ0ppWWdiM0IwY3k1eGRXOTBaVk4wZVd4bElDRTlQU0FuWkc5MVlteGxKeWtwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25iM0IwYVc5dUlGd2ljWFZ2ZEdWVGRIbHNaVndpSUcxMWMzUWdZbVVnWENKemFXNW5iR1ZjSWlCdmNpQmNJbVJ2ZFdKc1pWd2lKeWs3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0FnYUdGektHOXdkSE1zSUNkdFlYaFRkSEpwYm1kTVpXNW5kR2duS1NBbUppQW9kSGx3Wlc5bUlHO
1XdkSE11YldGNFUzUnlhVzVuVEdWdVozUm9JRDA5UFNBbmJuVnRZbVZ5SjF4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJ2Y0hSekxtMWhlRk4wY21sdVoweGxibWQwYUNBOElEQWdKaVlnYjNCMGN5NXRZWGhUZEhKcGJtZE1aVzVuZEdnZ0lUMDlJRWx1Wm1sdWFYUjVYRzRnSUNBZ0lDQWdJQ0FnSUNBNklHOXdkSE11YldGNFUzUnlhVzVuVEdWdVozUm9JQ0U5UFNCdWRXeHNYRzRnSUNBZ0lDQWdJQ2xjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmIzQjBhVzl1SUZ3aWJXRjRVM1J5YVc1blRHVnVaM1JvWENJc0lHbG1JSEJ5YjNacFpHVmtMQ0J0ZFhOMElHSmxJR0VnY0c5emFYUnBkbVVnYVc1MFpXZGxjaXdnU1c1bWFXNXBkSGtzSUc5eUlHQnVkV3hzWUNjcE8xeHVJQ0FnSUgxY2JpQWdJQ0IyWVhJZ1kzVnpkRzl0U1c1emNHVmpkQ0E5SUdoaGN5aHZjSFJ6TENBblkzVnpkRzl0U1c1emNHVmpkQ2NwSUQ4Z2IzQjBjeTVqZFhOMGIyMUpibk53WldOMElEb2dkSEoxWlR0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdOMWMzUnZiVWx1YzNCbFkzUWdJVDA5SUNkaWIyOXNaV0Z1SnlBbUppQmpkWE4wYjIxSmJuTndaV04wSUNFOVBTQW5jM2x0WW05c0p5a2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkdmNIUnBiMjRnWENKamRYTjBiMjFKYm5Od1pXTjBYQ0lzSUdsbUlIQnliM1pwWkdWa0xDQnRkWE4wSUdKbElHQjBjblZsWUN3Z1lHWmhiSE5sWUN3Z2IzSWdZRnhjSjNONWJXSnZiRnhjSjJBbktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9YRzRnSUNBZ0lDQWdJR2hoY3lodmNIUnpMQ0FuYVc1a1pXNTBKeWxjYmlBZ0lDQWdJQ0FnSmlZZ2IzQjBjeTVwYm1SbGJuUWdJVDA5SUc1MWJHeGNiaUFnSUNBZ0lDQWdKaVlnYjNCMGN5NXBibVJsYm5RZ0lUMDlJQ2RjWEhRblhHNGdJQ0FnSUNBZ0lDWW1JQ0VvY0dGeWMyVkpiblFvYjNCMGN5NXBibVJsYm5Rc0lERXdLU0E5UFQwZ2IzQjBjeTVwYm1SbGJuUWdKaVlnYjNCMGN5NXBibVJsYm5RZ1BpQXdLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkdmNIUnBiMjRnWENKcGJtUmxiblJjSWlCdGRYTjBJR0psSUZ3aVhGeGNYSFJjSWl3Z1lXNGdhVzUwWldkbGNpQStJREFzSUc5eUlHQnVkV3hzWUNjcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2FHRnpLRzl3ZEhNc0lDZHVkVzFsY21salUyVndZWEpoZEc5eUp5a2dKaVlnZEhsd1pXOW1JRzl3ZEhNdWJuVnRaWEpwWTFObGNHRnlZWFJ2Y2lBaFBUMGdKMkp2YjJ4bFlXNG5LU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oyOXdkR2x2YmlCY0ltNTFiV1Z5YVdOVFpYQmhjbUYwYjNKY0lpd2dhV1lnY0hKdmRtbGtaV1FzSUcxMWMzUWdZbVVnWUhSeWRXVmdJRzl5SUdCbVlXeHpaV0FuS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdkbUZ5SUc1MWJXVnlhV05UWlhCaGNtRjBiM0lnUFNCdmNIUnpMbTUxYldWeWFXTlRaWEJoY21GMGIzSTdYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzlpYWlBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkMWJtUmxabWx1WldRbk8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2IySnFJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFuYm5Wc2JDYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IySnFJRDA5UFNBblltOXZiR1ZoYmljcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHOWlhaUEvSUNkMGNuVmxKeUE2SUNkbVlXeHpaU2M3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ2WW1vZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJwYm5Od1pXTjBVM1J5YVc1bktHOWlhaXdnYjNCMGN5azdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IySnFJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYjJKcUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdTVzVtYVc1cGRIa2dMeUJ2WW1vZ1BpQXdJRDhnSnpBbklEb2dKeTB3Snp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjJZWElnYzNSeUlEMGdVM1J5YVc1bktHOWlhaWs3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFcxbGNtbGpVMlZ3WVhKaGRHOXlJRDhnWVdSa1RuVnRaWEpwWTFObGNHRnlZWFJ2Y2lodlltb3NJSE4wY2lrZ09pQnpkSEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiMkpxSUQwOVBTQW5ZbWxuYVc1MEp5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1ltbG5TVzUwVTNSeUlEMGdVM1J5YVc1bktHOWlhaWtnS3lBbmJpYzdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkVzFsY21salUyVndZWEpoZEc5eUlEOGdZV1JrVG5WdFpYSnBZMU5sY0dGeVlYUnZjaWh2WW1vc0lHSnBaMGx1ZEZOMGNpa2dPaUJpYVdkSmJuUlRkSEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUcxaGVFUmxjSFJvSUQwZ2RIbHdaVzltSUc5d2RITXVaR1Z3ZEdnZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z05TQTZJRzl3ZEhNdVpHVndkR2c3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJrWlhCMGFDQTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIc2daR1Z3ZEdnZ1BTQXdPeUI5WEc0Z0lDQWdhV1lnS0dSbGNIUm9JRDQ5SUcxaGVFUmxjSFJvSUNZbUlHMWhlRVJsY0hSb0lENGdNQ0FtSmlCMGVYQmxiMllnYjJKcUlEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhOQmNuSmhlU2h2WW1vcElEOGdKMXRCY25KaGVWMG5JRG9nSjF0UFltcGxZM1JkSnp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2FXNWtaVzUwSUQwZ1oyVjBTVzVrWlc1MEtHOXdkSE1zSUdSbGNIUm9LVHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnYzJWbGJpQTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNBZ0lDQWdjMlZsYmlBOUlGdGRPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hVzVrWlhoUFppaHpaV1Z1TENCdlltb3BJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDZGJRMmx5WTNWc1lYSmRKenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1kVzVqZEdsdmJpQnBibk53WldOMEtIWmhiSFZsTENCbWNtOXRMQ0J1YjBsdVpHVnVkQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9abkp2YlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJWbGJpQTlJQ1JoY25KVGJHbGpaUzVqWVd4c0tITmxaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjMlZsYmk1d2RYTm9LR1
1p5YjIwcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNodWIwbHVaR1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHNWxkMDl3ZEhNZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1Z3ZEdnNklHOXdkSE11WkdWd2RHaGNiaUFnSUNBZ0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FHRnpLRzl3ZEhNc0lDZHhkVzkwWlZOMGVXeGxKeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYZFBjSFJ6TG5GMWIzUmxVM1I1YkdVZ1BTQnZjSFJ6TG5GMWIzUmxVM1I1YkdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNXpjR1ZqZEY4b2RtRnNkV1VzSUc1bGQwOXdkSE1zSUdSbGNIUm9JQ3NnTVN3Z2MyVmxiaWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWMzQmxZM1JmS0haaGJIVmxMQ0J2Y0hSekxDQmtaWEIwYUNBcklERXNJSE5sWlc0cE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IySnFJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JQ0ZwYzFKbFowVjRjQ2h2WW1vcEtTQjdJQzh2SUdsdUlHOXNaR1Z5SUdWdVoybHVaWE1zSUhKbFoyVjRaWE1nWVhKbElHTmhiR3hoWW14bFhHNGdJQ0FnSUNBZ0lIWmhjaUJ1WVcxbElEMGdibUZ0WlU5bUtHOWlhaWs3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJaWGx6SUQwZ1lYSnlUMkpxUzJWNWN5aHZZbW9zSUdsdWMzQmxZM1FwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnSjF0R2RXNWpkR2x2YmljZ0t5QW9ibUZ0WlNBL0lDYzZJQ2NnS3lCdVlXMWxJRG9nSnlBb1lXNXZibmx0YjNWektTY3BJQ3NnSjEwbklDc2dLR3RsZVhNdWJHVnVaM1JvSUQ0Z01DQS9JQ2NnZXlBbklDc2dKR3B2YVc0dVkyRnNiQ2hyWlhsekxDQW5MQ0FuS1NBcklDY2dmU2NnT2lBbkp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHBjMU41YldKdmJDaHZZbW9wS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6ZVcxVGRISnBibWNnUFNCb1lYTlRhR0Z0YldWa1UzbHRZbTlzY3lBL0lDUnlaWEJzWVdObExtTmhiR3dvVTNSeWFXNW5LRzlpYWlrc0lDOWVLRk41YldKdmJGeGNLQzRxWEZ3cEtWOWJYaWxkS2lRdkxDQW5KREVuS1NBNklITjViVlJ2VTNSeWFXNW5MbU5oYkd3b2IySnFLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQnZZbW9nUFQwOUlDZHZZbXBsWTNRbklDWW1JQ0ZvWVhOVGFHRnRiV1ZrVTNsdFltOXNjeUEvSUcxaGNtdENiM2hsWkNoemVXMVRkSEpwYm1jcElEb2djM2x0VTNSeWFXNW5PMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hWE5GYkdWdFpXNTBLRzlpYWlrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhNZ1BTQW5QQ2NnS3lBa2RHOU1iM2RsY2tOaGMyVXVZMkZzYkNoVGRISnBibWNvYjJKcUxtNXZaR1ZPWVcxbEtTazdYRzRnSUNBZ0lDQWdJSFpoY2lCaGRIUnljeUE5SUc5aWFpNWhkSFJ5YVdKMWRHVnpJSHg4SUZ0ZE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0YwZEhKekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpJQ3M5SUNjZ0p5QXJJR0YwZEhKelcybGRMbTVoYldVZ0t5QW5QU2NnS3lCM2NtRndVWFZ2ZEdWektIRjFiM1JsS0dGMGRISnpXMmxkTG5aaGJIVmxLU3dnSjJSdmRXSnNaU2NzSUc5d2RITXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhNZ0t6MGdKejRuTzF4dUlDQWdJQ0FnSUNCcFppQW9iMkpxTG1Ob2FXeGtUbTlrWlhNZ0ppWWdiMkpxTG1Ob2FXeGtUbTlrWlhNdWJHVnVaM1JvS1NCN0lITWdLejBnSnk0dUxpYzdJSDFjYmlBZ0lDQWdJQ0FnY3lBclBTQW5QQzhuSUNzZ0pIUnZURzkzWlhKRFlYTmxMbU5oYkd3b1UzUnlhVzVuS0c5aWFpNXViMlJsVG1GdFpTa3BJQ3NnSno0bk8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2N6dGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHbHpRWEp5WVhrb2IySnFLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9iMkpxTG14bGJtZDBhQ0E5UFQwZ01Da2dleUJ5WlhSMWNtNGdKMXRkSnpzZ2ZWeHVJQ0FnSUNBZ0lDQjJZWElnZUhNZ1BTQmhjbkpQWW1wTFpYbHpLRzlpYWl3Z2FXNXpjR1ZqZENrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1SbGJuUWdKaVlnSVhOcGJtZHNaVXhwYm1WV1lXeDFaWE1vZUhNcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjFzbklDc2dhVzVrWlc1MFpXUktiMmx1S0hoekxDQnBibVJsYm5RcElDc2dKMTBuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBbld5QW5JQ3NnSkdwdmFXNHVZMkZzYkNoNGN5d2dKeXdnSnlrZ0t5QW5JRjBuTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvYVhORmNuSnZjaWh2WW1vcEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCd1lYSjBjeUE5SUdGeWNrOWlha3RsZVhNb2IySnFMQ0JwYm5Od1pXTjBLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRW9KMk5oZFhObEp5QnBiaUJGY25KdmNpNXdjbTkwYjNSNWNHVXBJQ1ltSUNkallYVnpaU2NnYVc0Z2IySnFJQ1ltSUNGcGMwVnVkVzFsY21GaWJHVXVZMkZzYkNodlltb3NJQ2RqWVhWelpTY3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0ozc2dXeWNnS3lCVGRISnBibWNvYjJKcUtTQXJJQ2RkSUNjZ0t5QWthbTlwYmk1allXeHNLQ1JqYjI1allYUXVZMkZzYkNnblcyTmhkWE5sWFRvZ0p5QXJJR2x1YzNCbFkzUW9iMkpxTG1OaGRYTmxLU3dnY0dGeWRITXBMQ0FuTENBbktTQXJJQ2NnZlNjN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0hCaGNuUnpMbXhsYm1kMGFDQTlQVDBnTUNrZ2V5QnlaWFIxY200Z0oxc25JQ3NnVTNSeWFXNW5LRzlpYWlrZ0t5QW5YU2M3SUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkN0lGc25JQ3NnVTNSeWFXNW5LRzlpYWlrZ0t5QW5YU0FuSUNzZ0pHcHZhVzR1WTJGc2JDaHdZWEowY3l3Z0p5d2dKeWtnS3lBbklIMG5PMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOWlhaUE5UFQwZ0oyOWlhbVZqZENjZ0ppWWdZM1Z6ZEc5dFNXNXpjR1ZqZENrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1emNHVmpkRk41YldKdmJDQW1KaUIwZVhCbGIyWWdiMkpxVzJsdWMzQmxZM1JUZVcxaWIyeGRJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JSFYwYVd4SmJuTndaV04wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWFJwYkVsdWMzQmxZM1FvYjJKcUxDQjdJR1JsY0hSb09pQnRZWGhFWlhCMGFDQXRJR1JsY0hSb0lIMHBPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dOMWMzUnZiVWx1YzNCbFkzUWdJVDA5SUNkemVXMWliMnduSUNZbUlIUjVjR1Z2WmlCdlltb3VhVzV6Y0dWamRDQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzlpYWk1cGJuTndaV04wS0NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHbHpUV0Z3S0c5aWFpa3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHMWhjRkJoY25SeklEMGdXMTA3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRZWEJHYjNKRllXTm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnRZWEJHYjNKRllXTm9MbU5oYkd3b2IySnFMQ0JtZFc1amRHbHZiaUFvZG1Gc2RXVXNJR3RsZVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhjRkJoY25SekxuQjFjMmdvYVc1emNHVmpkQ2hyWlhrc0lHOWlhaXdnZEhKMVpTa2dLeUFuSUQwK0lDY2dLeUJwYm5Od1pXTjBLSFpoYkhWbExDQnZZbW9wS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIyeHNaV04wYVc5dVQyWW9KMDFoY0Njc0lHMWhjRk5wZW1VdVkyRnNiQ2h2WW1vcExDQnRZWEJRWVhKMGN5d2dhVzVrWlc1MEtUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHbHpVMlYwS0c5aWFpa3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlITmxkRkJoY25SeklEMGdXMTA3WEc0Z0lDQWdJQ0FnSUdsbUlDaHpaWFJHYjNKRllXTm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnp
1aWFJHYjNKRllXTm9MbU5oYkd3b2IySnFMQ0JtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6WlhSUVlYSjBjeTV3ZFhOb0tHbHVjM0JsWTNRb2RtRnNkV1VzSUc5aWFpa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR052Ykd4bFkzUnBiMjVQWmlnblUyVjBKeXdnYzJWMFUybDZaUzVqWVd4c0tHOWlhaWtzSUhObGRGQmhjblJ6TENCcGJtUmxiblFwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvYVhOWFpXRnJUV0Z3S0c5aWFpa3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSGRsWVd0RGIyeHNaV04wYVc5dVQyWW9KMWRsWVd0TllYQW5LVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR2x6VjJWaGExTmxkQ2h2WW1vcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjNaV0ZyUTI5c2JHVmpkR2x2Yms5bUtDZFhaV0ZyVTJWMEp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHBjMWRsWVd0U1pXWW9iMkpxS1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2QyVmhhME52Ykd4bFkzUnBiMjVQWmlnblYyVmhhMUpsWmljcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2FYTk9kVzFpWlhJb2IySnFLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYldGeWEwSnZlR1ZrS0dsdWMzQmxZM1FvVG5WdFltVnlLRzlpYWlrcEtUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHbHpRbWxuU1c1MEtHOWlhaWtwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNtdENiM2hsWkNocGJuTndaV04wS0dKcFowbHVkRlpoYkhWbFQyWXVZMkZzYkNodlltb3BLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hwYzBKdmIyeGxZVzRvYjJKcUtTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiV0Z5YTBKdmVHVmtLR0p2YjJ4bFlXNVdZV3gxWlU5bUxtTmhiR3dvYjJKcUtTazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHBjMU4wY21sdVp5aHZZbW9wS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYSnJRbTk0WldRb2FXNXpjR1ZqZENoVGRISnBibWNvYjJKcUtTa3BPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5QnViM1JsT2lCcGJpQkpSU0E0TENCemIyMWxkR2x0WlhNZ1lHZHNiMkpoYkNBaFBUMGdkMmx1Wkc5M1lDQmlkWFFnWW05MGFDQmhjbVVnZEdobElIQnliM1J2ZEhsd1pYTWdiMllnWldGamFDQnZkR2hsY2x4dUlDQWdJQzhxSUdWemJHbHVkQzFsYm5ZZ1luSnZkM05sY2lBcUwxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2QybHVaRzkzSUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmlCdlltb2dQVDA5SUhkcGJtUnZkeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnSjNzZ1cyOWlhbVZqZENCWGFXNWtiM2RkSUgwbk8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2IySnFJRDA5UFNCbmJHOWlZV3dwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkN0lGdHZZbXBsWTNRZ1oyeHZZbUZzVkdocGMxMGdmU2M3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2doYVhORVlYUmxLRzlpYWlrZ0ppWWdJV2x6VW1WblJYaHdLRzlpYWlrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhseklEMGdZWEp5VDJKcVMyVjVjeWh2WW1vc0lHbHVjM0JsWTNRcE8xeHVJQ0FnSUNBZ0lDQjJZWElnYVhOUWJHRnBiazlpYW1WamRDQTlJR2RRVHlBL0lHZFFUeWh2WW1vcElEMDlQU0JQWW1wbFkzUXVjSEp2ZEc5MGVYQmxJRG9nYjJKcUlHbHVjM1JoYm1ObGIyWWdUMkpxWldOMElIeDhJRzlpYWk1amIyNXpkSEoxWTNSdmNpQTlQVDBnVDJKcVpXTjBPMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NISnZkRzlVWVdjZ1BTQnZZbW9nYVc1emRHRnVZMlZ2WmlCUFltcGxZM1FnUHlBbkp5QTZJQ2R1ZFd4c0lIQnliM1J2ZEhsd1pTYzdYRzRnSUNBZ0lDQWdJSFpoY2lCemRISnBibWRVWVdjZ1BTQWhhWE5RYkdGcGJrOWlhbVZqZENBbUppQjBiMU4wY21sdVoxUmhaeUFtSmlCUFltcGxZM1FvYjJKcUtTQTlQVDBnYjJKcUlDWW1JSFJ2VTNSeWFXNW5WR0ZuSUdsdUlHOWlhaUEvSUNSemJHbGpaUzVqWVd4c0tIUnZVM1J5S0c5aWFpa3NJRGdzSUMweEtTQTZJSEJ5YjNSdlZHRm5JRDhnSjA5aWFtVmpkQ2NnT2lBbkp6dGNiaUFnSUNBZ0lDQWdkbUZ5SUdOdmJuTjBjblZqZEc5eVZHRm5JRDBnYVhOUWJHRnBiazlpYW1WamRDQjhmQ0IwZVhCbGIyWWdiMkpxTG1OdmJuTjBjblZqZEc5eUlDRTlQU0FuWm5WdVkzUnBiMjRuSUQ4Z0p5Y2dPaUJ2WW1vdVkyOXVjM1J5ZFdOMGIzSXVibUZ0WlNBL0lHOWlhaTVqYjI1emRISjFZM1J2Y2k1dVlXMWxJQ3NnSnlBbklEb2dKeWM3WEc0Z0lDQWdJQ0FnSUhaaGNpQjBZV2NnUFNCamIyNXpkSEoxWTNSdmNsUmhaeUFySUNoemRISnBibWRVWVdjZ2ZId2djSEp2ZEc5VVlXY2dQeUFuV3ljZ0t5QWthbTlwYmk1allXeHNLQ1JqYjI1allYUXVZMkZzYkNoYlhTd2djM1J5YVc1blZHRm5JSHg4SUZ0ZExDQndjbTkwYjFSaFp5QjhmQ0JiWFNrc0lDYzZJQ2NwSUNzZ0oxMGdKeUE2SUNjbktUdGNiaUFnSUNBZ0lDQWdhV1lnS0hsekxteGxibWQwYUNBOVBUMGdNQ2tnZXlCeVpYUjFjbTRnZEdGbklDc2dKM3Q5SnpzZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1a1pXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5JQ3NnSjNzbklDc2dhVzVrWlc1MFpXUktiMmx1S0hsekxDQnBibVJsYm5RcElDc2dKMzBuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlXY2dLeUFuZXlBbklDc2dKR3B2YVc0dVkyRnNiQ2g1Y3l3Z0p5d2dKeWtnS3lBbklIMG5PMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnVTNSeWFXNW5LRzlpYWlrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCM2NtRndVWFZ2ZEdWektITXNJR1JsWm1GMWJIUlRkSGxzWlN3Z2IzQjBjeWtnZTF4dUlDQWdJSFpoY2lCeGRXOTBaVU5vWVhJZ1BTQW9iM0IwY3k1eGRXOTBaVk4wZVd4bElIeDhJR1JsWm1GMWJIUlRkSGxzWlNrZ1BUMDlJQ2RrYjNWaWJHVW5JRDhnSjF3aUp5QTZJRndpSjF3aU8xeHVJQ0FnSUhKbGRIVnliaUJ4ZFc5MFpVTm9ZWElnS3lCeklDc2djWFZ2ZEdWRGFHRnlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnhkVzkwWlNoektTQjdYRzRnSUNBZ2NtVjBkWEp1SUNSeVpYQnNZV05sTG1OaGJHd29VM1J5YVc1bktITXBMQ0F2WENJdlp5d2dKeVp4ZFc5ME95Y3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBjMEZ5Y21GNUtHOWlhaWtnZXlCeVpYUjFjbTRnZEc5VGRISW9iMkpxS1NBOVBUMGdKMXR2WW1wbFkzUWdRWEp5WVhsZEp5QW1KaUFvSV
1hSdlUzUnlhVzVuVkdGbklIeDhJQ0VvZEhsd1pXOW1JRzlpYWlBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEc5VGRISnBibWRVWVdjZ2FXNGdiMkpxS1NrN0lIMWNibVoxYm1OMGFXOXVJR2x6UkdGMFpTaHZZbW9wSUhzZ2NtVjBkWEp1SUhSdlUzUnlLRzlpYWlrZ1BUMDlJQ2RiYjJKcVpXTjBJRVJoZEdWZEp5QW1KaUFvSVhSdlUzUnlhVzVuVkdGbklIeDhJQ0VvZEhsd1pXOW1JRzlpYWlBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEc5VGRISnBibWRVWVdjZ2FXNGdiMkpxS1NrN0lIMWNibVoxYm1OMGFXOXVJR2x6VW1WblJYaHdLRzlpYWlrZ2V5QnlaWFIxY200Z2RHOVRkSElvYjJKcUtTQTlQVDBnSjF0dlltcGxZM1FnVW1WblJYaHdYU2NnSmlZZ0tDRjBiMU4wY21sdVoxUmhaeUI4ZkNBaEtIUjVjR1Z2WmlCdlltb2dQVDA5SUNkdlltcGxZM1FuSUNZbUlIUnZVM1J5YVc1blZHRm5JR2x1SUc5aWFpa3BPeUI5WEc1bWRXNWpkR2x2YmlCcGMwVnljbTl5S0c5aWFpa2dleUJ5WlhSMWNtNGdkRzlUZEhJb2IySnFLU0E5UFQwZ0oxdHZZbXBsWTNRZ1JYSnliM0pkSnlBbUppQW9JWFJ2VTNSeWFXNW5WR0ZuSUh4OElDRW9kSGx3Wlc5bUlHOWlhaUE5UFQwZ0oyOWlhbVZqZENjZ0ppWWdkRzlUZEhKcGJtZFVZV2NnYVc0Z2IySnFLU2s3SUgxY2JtWjFibU4wYVc5dUlHbHpVM1J5YVc1bktHOWlhaWtnZXlCeVpYUjFjbTRnZEc5VGRISW9iMkpxS1NBOVBUMGdKMXR2WW1wbFkzUWdVM1J5YVc1blhTY2dKaVlnS0NGMGIxTjBjbWx1WjFSaFp5QjhmQ0FoS0hSNWNHVnZaaUJ2WW1vZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhSdlUzUnlhVzVuVkdGbklHbHVJRzlpYWlrcE95QjlYRzVtZFc1amRHbHZiaUJwYzA1MWJXSmxjaWh2WW1vcElIc2djbVYwZFhKdUlIUnZVM1J5S0c5aWFpa2dQVDA5SUNkYmIySnFaV04wSUU1MWJXSmxjbDBuSUNZbUlDZ2hkRzlUZEhKcGJtZFVZV2NnZkh3Z0lTaDBlWEJsYjJZZ2IySnFJRDA5UFNBbmIySnFaV04wSnlBbUppQjBiMU4wY21sdVoxUmhaeUJwYmlCdlltb3BLVHNnZlZ4dVpuVnVZM1JwYjI0Z2FYTkNiMjlzWldGdUtHOWlhaWtnZXlCeVpYUjFjbTRnZEc5VGRISW9iMkpxS1NBOVBUMGdKMXR2WW1wbFkzUWdRbTl2YkdWaGJsMG5JQ1ltSUNnaGRHOVRkSEpwYm1kVVlXY2dmSHdnSVNoMGVYQmxiMllnYjJKcUlEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGIxTjBjbWx1WjFSaFp5QnBiaUJ2WW1vcEtUc2dmVnh1WEc0dkx5QlRlVzFpYjJ3Z1lXNWtJRUpwWjBsdWRDQmtieUJvWVhabElGTjViV0p2YkM1MGIxTjBjbWx1WjFSaFp5QmllU0J6Y0dWakxDQnpieUIwYUdGMElHTmhiaWQwSUdKbElIVnpaV1FnZEc4Z1pXeHBiV2x1WVhSbElHWmhiSE5sSUhCdmMybDBhWFpsYzF4dVpuVnVZM1JwYjI0Z2FYTlRlVzFpYjJ3b2IySnFLU0I3WEc0Z0lDQWdhV1lnS0doaGMxTm9ZVzF0WldSVGVXMWliMnh6S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdlltb2dKaVlnZEhsd1pXOW1JRzlpYWlBOVBUMGdKMjlpYW1WamRDY2dKaVlnYjJKcUlHbHVjM1JoYm1ObGIyWWdVM2x0WW05c08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5aWFpQTlQVDBnSjNONWJXSnZiQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ2hiMkpxSUh4OElIUjVjR1Z2WmlCdlltb2dJVDA5SUNkdlltcGxZM1FuSUh4OElDRnplVzFVYjFOMGNtbHVaeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSE41YlZSdlUzUnlhVzVuTG1OaGJHd29iMkpxS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMzFjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x6UW1sblNXNTBLRzlpYWlrZ2UxeHVJQ0FnSUdsbUlDZ2hiMkpxSUh4OElIUjVjR1Z2WmlCdlltb2dJVDA5SUNkdlltcGxZM1FuSUh4OElDRmlhV2RKYm5SV1lXeDFaVTltS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWW1sblNXNTBWbUZzZFdWUFppNWpZV3hzS0c5aWFpazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0OVhHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WEc1MllYSWdhR0Z6VDNkdUlEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVNCOGZDQm1kVzVqZEdsdmJpQW9hMlY1S1NCN0lISmxkSFZ5YmlCclpYa2dhVzRnZEdocGN6c2dmVHRjYm1aMWJtTjBhVzl1SUdoaGN5aHZZbW9zSUd0bGVTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCb1lYTlBkMjR1WTJGc2JDaHZZbW9zSUd0bGVTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIUnZVM1J5S0c5aWFpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdlltcGxZM1JVYjFOMGNtbHVaeTVqWVd4c0tHOWlhaWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzVoYldWUFppaG1LU0I3WEc0Z0lDQWdhV1lnS0dZdWJtRnRaU2tnZXlCeVpYUjFjbTRnWmk1dVlXMWxPeUI5WEc0Z0lDQWdkbUZ5SUcwZ1BTQWtiV0YwWTJndVkyRnNiQ2htZFc1amRHbHZibFJ2VTNSeWFXNW5MbU5oYkd3b1ppa3NJQzllWm5WdVkzUnBiMjVjWEhNcUtGdGNYSGNrWFNzcEx5azdYRzRnSUNBZ2FXWWdLRzBwSUhzZ2NtVjBkWEp1SUcxYk1WMDdJSDFjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdhVzVrWlhoUFppaDRjeXdnZUNrZ2UxeHVJQ0FnSUdsbUlDaDRjeTVwYm1SbGVFOW1LU0I3SUhKbGRIVnliaUI0Y3k1cGJtUmxlRTltS0hncE95QjlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUd3Z1BTQjRjeTVzWlc1bmRHZzdJR2tnUENCc095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSGh6VzJsZElEMDlQU0I0S1NCN0lISmxkSFZ5YmlCcE95QjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUF0TVR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYVhOTllYQW9lQ2tnZTF4dUlDQWdJR2xtSUNnaGJXRndVMmw2WlNCOGZDQWhlQ0I4ZkNCMGVYQmxiMllnZUNBaFBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnRZWEJUYVhwbExtTmhiR3dvZUNrN1hHNGdJQ0FnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnp
1aWFJUYVhwbExtTmhiR3dvZUNrN1hHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tITXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUI0SUdsdWMzUmhibU5sYjJZZ1RXRndPeUF2THlCamIzSmxMV3B6SUhkdmNtdGhjbTkxYm1Rc0lIQnlaUzEyTWk0MUxqQmNiaUFnSUNCOUlHTmhkR05vSUNobEtTQjdmVnh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JseHVablZ1WTNScGIyNGdhWE5YWldGclRXRndLSGdwSUh0Y2JpQWdJQ0JwWmlBb0lYZGxZV3ROWVhCSVlYTWdmSHdnSVhnZ2ZId2dkSGx3Wlc5bUlIZ2dJVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnZDJWaGEwMWhjRWhoY3k1allXeHNLSGdzSUhkbFlXdE5ZWEJJWVhNcE8xeHVJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkMlZoYTFObGRFaGhjeTVqWVd4c0tIZ3NJSGRsWVd0VFpYUklZWE1wTzF4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNoektTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlQ0JwYm5OMFlXNWpaVzltSUZkbFlXdE5ZWEE3SUM4dklHTnZjbVV0YW5NZ2QyOXlhMkZ5YjNWdVpDd2djSEpsTFhZeUxqVXVNRnh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHQ5WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFkbFlXdFNaV1lvZUNrZ2UxeHVJQ0FnSUdsbUlDZ2hkMlZoYTFKbFprUmxjbVZtSUh4OElDRjRJSHg4SUhSNWNHVnZaaUI0SUNFOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIZGxZV3RTWldaRVpYSmxaaTVqWVd4c0tIZ3BPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN2ZWeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTlRaWFFvZUNrZ2UxeHVJQ0FnSUdsbUlDZ2hjMlYwVTJsNlpTQjhmQ0FoZUNCOGZDQjBlWEJsYjJZZ2VDQWhQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0J6WlhSVGFYcGxMbU5oYkd3b2VDazdYRzRnSUNBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0WVhCVGFYcGxMbU5oYkd3b2VDazdYRzRnSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLRzBwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCNElHbHVjM1JoYm1ObGIyWWdVMlYwT3lBdkx5QmpiM0psTFdweklIZHZjbXRoY205MWJtUXNJSEJ5WlMxMk1pNDFMakJjYmlBZ0lDQjlJR05oZEdOb0lDaGxLU0I3ZlZ4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYVhOWFpXRnJVMlYwS0hncElIdGNiaUFnSUNCcFppQW9JWGRsWVd0VFpYUklZWE1nZkh3Z0lYZ2dmSHdnZEhsd1pXOW1JSGdnSVQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2QyVmhhMU5sZEVoaGN5NWpZV3hzS0hnc0lIZGxZV3RUWlhSSVlYTXBPMXh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJWaGEwMWhjRWhoY3k1allXeHNLSGdzSUhkbFlXdE5ZWEJJWVhNcE8xeHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0lDaHpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZUNCcGJuTjBZVzVqWlc5bUlGZGxZV3RUWlhRN0lDOHZJR052Y21VdGFuTWdkMjl5YTJGeWIzVnVaQ3dnY0hKbExYWXlMalV1TUZ4dUlDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0OVhHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMwVnNaVzFsYm5Rb2VDa2dlMXh1SUNBZ0lHbG1JQ2doZUNCOGZDQjBlWEJsYjJZZ2VDQWhQVDBnSjI5aWFtVmpkQ2NwSUhzZ2NtVjBkWEp1SUdaaGJITmxPeUI5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJJVkUxTVJXeGxiV1Z1ZENBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2VDQnBibk4wWVc1alpXOW1JRWhVVFV4RmJHVnRaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSGd1Ym05a1pVNWhiV1VnUFQwOUlDZHpkSEpwYm1jbklDWW1JSFI1Y0dWdlppQjRMbWRsZEVGMGRISnBZblYwWlNBOVBUMGdKMloxYm1OMGFXOXVKenRjYm4xY2JseHVablZ1WTNScGIyNGdhVzV6Y0dWamRGTjBjbWx1WnloemRISXNJRzl3ZEhNcElIdGNiaUFnSUNCcFppQW9jM1J5TG14bGJtZDBhQ0ErSUc5d2RITXViV0Y0VTNSeWFXNW5UR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCeVpXMWhhVzVwYm1jZ1BTQnpkSEl1YkdWdVozUm9JQzBnYjNCMGN5NXRZWGhUZEhKcGJtZE1aVzVuZEdnN1hHNGdJQ0FnSUNBZ0lIWmhjaUIwY21GcGJHVnlJRDBnSnk0dUxpQW5JQ3NnY21WdFlXbHVhVzVuSUNzZ0p5QnRiM0psSUdOb1lYSmhZM1JsY2ljZ0t5QW9jbVZ0WVdsdWFXNW5JRDRnTVNBL0lDZHpKeUE2SUNjbktUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbHVjM0JsWTNSVGRISnBibWNvSkhOc2FXTmxMbU5oYkd3b2MzUnlMQ0F3TENCdmNIUnpMbTFoZUZOMGNtbHVaMHhsYm1kMGFDa3NJRzl3ZEhNcElDc2dkSEpoYVd4bGNqdGNiaUFnSUNCOVhHNGdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxXTnZiblJ5YjJ3dGNtVm5aWGhjYmlBZ0lDQjJZWElnY3lBOUlDUnlaWEJzWVdObExtTmhiR3dvSkhKbGNHeGhZMlV1WTJGc2JDaHpkSElzSUM4b1d5ZGNYRnhjWFNrdlp5d2dKMXhjWEZ3a01TY3BMQ0F2VzF4Y2VEQXdMVnhjZURGbVhTOW5MQ0JzYjNkaWVYUmxLVHRjYmlBZ0lDQnlaWFIxY200Z2QzSmhjRkYxYjNSbGN5aHpMQ0FuYzJsdVoyeGxKeXdnYjNCMGN5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHeHZkMko1ZEdVb1l5a2dlMXh1SUNBZ0lIWmhjaUJ1SUQwZ1l5NWphR0Z5UTI5a1pVRjBLREFwTzF4dUlDQWdJSFpoY2lCNElEMGdlMXh1SUNBZ0lDQWdJQ0E0T2lBbllpY3NYRzRnSUNBZ0lDQWdJRGs2SUNkMEp5eGNiaU
1FnSUNBZ0lDQWdNVEE2SUNkdUp5eGNiaUFnSUNBZ0lDQWdNVEk2SUNkbUp5eGNiaUFnSUNBZ0lDQWdNVE02SUNkeUoxeHVJQ0FnSUgxYmJsMDdYRzRnSUNBZ2FXWWdLSGdwSUhzZ2NtVjBkWEp1SUNkY1hGeGNKeUFySUhnN0lIMWNiaUFnSUNCeVpYUjFjbTRnSjF4Y1hGeDRKeUFySUNodUlEd2dNSGd4TUNBL0lDY3dKeUE2SUNjbktTQXJJQ1IwYjFWd2NHVnlRMkZ6WlM1allXeHNLRzR1ZEc5VGRISnBibWNvTVRZcEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnlhMEp2ZUdWa0tITjBjaWtnZTF4dUlDQWdJSEpsZEhWeWJpQW5UMkpxWldOMEtDY2dLeUJ6ZEhJZ0t5QW5LU2M3WEc1OVhHNWNibVoxYm1OMGFXOXVJSGRsWVd0RGIyeHNaV04wYVc5dVQyWW9kSGx3WlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwZVhCbElDc2dKeUI3SUQ4Z2ZTYzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnZiR3hsWTNScGIyNVBaaWgwZVhCbExDQnphWHBsTENCbGJuUnlhV1Z6TENCcGJtUmxiblFwSUh0Y2JpQWdJQ0IyWVhJZ2FtOXBibVZrUlc1MGNtbGxjeUE5SUdsdVpHVnVkQ0EvSUdsdVpHVnVkR1ZrU205cGJpaGxiblJ5YVdWekxDQnBibVJsYm5RcElEb2dKR3B2YVc0dVkyRnNiQ2hsYm5SeWFXVnpMQ0FuTENBbktUdGNiaUFnSUNCeVpYUjFjbTRnZEhsd1pTQXJJQ2NnS0NjZ0t5QnphWHBsSUNzZ0p5a2dleWNnS3lCcWIybHVaV1JGYm5SeWFXVnpJQ3NnSjMwbk8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCemFXNW5iR1ZNYVc1bFZtRnNkV1Z6S0hoektTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjRjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1a1pYaFBaaWg0YzF0cFhTd2dKMXhjYmljcElENDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFNXNWtaVzUwS0c5d2RITXNJR1JsY0hSb0tTQjdYRzRnSUNBZ2RtRnlJR0poYzJWSmJtUmxiblE3WEc0Z0lDQWdhV1lnS0c5d2RITXVhVzVrWlc1MElEMDlQU0FuWEZ4MEp5a2dlMXh1SUNBZ0lDQWdJQ0JpWVhObFNXNWtaVzUwSUQwZ0oxeGNkQ2M3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdiM0IwY3k1cGJtUmxiblFnUFQwOUlDZHVkVzFpWlhJbklDWW1JRzl3ZEhNdWFXNWtaVzUwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JpWVhObFNXNWtaVzUwSUQwZ0pHcHZhVzR1WTJGc2JDaEJjbkpoZVNodmNIUnpMbWx1WkdWdWRDQXJJREVwTENBbklDY3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCaVlYTmxPaUJpWVhObFNXNWtaVzUwTEZ4dUlDQWdJQ0FnSUNCd2NtVjJPaUFrYW05cGJpNWpZV3hzS0VGeWNtRjVLR1JsY0hSb0lDc2dNU2tzSUdKaGMyVkpibVJsYm5RcFhHNGdJQ0FnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYVc1a1pXNTBaV1JLYjJsdUtIaHpMQ0JwYm1SbGJuUXBJSHRjYmlBZ0lDQnBaaUFvZUhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3SUhKbGRIVnliaUFuSnpzZ2ZWeHVJQ0FnSUhaaGNpQnNhVzVsU205cGJtVnlJRDBnSjF4Y2JpY2dLeUJwYm1SbGJuUXVjSEpsZGlBcklHbHVaR1Z1ZEM1aVlYTmxPMXh1SUNBZ0lISmxkSFZ5YmlCc2FXNWxTbTlwYm1WeUlDc2dKR3B2YVc0dVkyRnNiQ2g0Y3l3Z0p5d25JQ3NnYkdsdVpVcHZhVzVsY2lrZ0t5QW5YRnh1SnlBcklHbHVaR1Z1ZEM1d2NtVjJPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhjbkpQWW1wTFpYbHpLRzlpYWl3Z2FXNXpjR1ZqZENrZ2UxeHVJQ0FnSUhaaGNpQnBjMEZ5Y2lBOUlHbHpRWEp5WVhrb2IySnFLVHRjYmlBZ0lDQjJZWElnZUhNZ1BTQmJYVHRjYmlBZ0lDQnBaaUFvYVhOQmNuSXBJSHRjYmlBZ0lDQWdJQ0FnZUhNdWJHVnVaM1JvSUQwZ2IySnFMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2WW1vdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIaHpXMmxkSUQwZ2FHRnpLRzlpYWl3Z2FTa2dQeUJwYm5Od1pXTjBLRzlpYWx0cFhTd2diMkpxS1NBNklDY25PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lIWmhjaUJ6ZVcxeklEMGdkSGx3Wlc5bUlHZFBVRk1nUFQwOUlDZG1kVzVqZEdsdmJpY2dQeUJuVDFCVEtHOWlhaWtnT2lCYlhUdGNiaUFnSUNCMllYSWdjM2x0VFdGd08xeHVJQ0FnSUdsbUlDaG9ZWE5UYUdGdGJXVmtVM2x0WW05c2N5a2dlMXh1SUNBZ0lDQWdJQ0J6ZVcxTllYQWdQU0I3ZlR0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2F5QTlJREE3SUdzZ1BDQnplVzF6TG14bGJtZDBhRHNnYXlzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemVXMU5ZWEJiSnlRbklDc2djM2x0YzF0clhWMGdQU0J6ZVcxelcydGRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhMlY1SUdsdUlHOWlhaWtnZXlBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxc2FXNWxJRzV2TFhKbGMzUnlhV04wWldRdGMzbHVkR0Y0WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hhR0Z6S0c5aWFpd2dhMlY1S1NrZ2V5QmpiMjUwYVc1MVpUc2dmU0F2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWEpsYzNSeWFXTjBaV1F0YzNsdWRHRjRMQ0J1YnkxamIyNTBhVzUxWlZ4dUlDQWdJQ0FnSUNCcFppQW9hWE5CY25JZ0ppWWdVM1J5YVc1bktFNTFiV0psY2loclpYa3BLU0E5UFQwZ2EyVjVJQ1ltSUd0bGVTQThJRzlpYWk1c1pXNW5kR2dwSUhzZ1kyOXVkR2x1ZFdVN0lIMGdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MXlaWE4wY21samRHVmtMWE41Ym5SaGVDd2dibTh0WTI5dWRHbHVkV1ZjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjMU5vWVcxdFpXUlRlVzFpYjJ4eklDWW1JSE41YlUxaGNGc25KQ2NnS3lCclpYbGRJR2x1YzNSaGJtTmxiMllnVTNsdFltOXNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIwYUdseklHbHpJSFJ2SUhCeVpYWmxiblFnYzJoaGJXMWxaQ0JUZVcxaWIyeHpMQ0IzYUdsamFDQmhjbVVnYzNSdmNtVmtJR0Z6SUhOMGNtbHVaM01zSUdaeWIyMGdZbVZwYm1jZ2FXNWpiSFZrWldRZ2FXNGdkR2hsSUhOMGNtbHVaeUJ
1yWlhrZ2MyVmpkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ2JtOHRjbVZ6ZEhKcFkzUmxaQzF6ZVc1MFlYZ3NJRzV2TFdOdmJuUnBiblZsWEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb0pIUmxjM1F1WTJGc2JDZ3ZXMTVjWEhja1hTOHNJR3RsZVNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhoekxuQjFjMmdvYVc1emNHVmpkQ2hyWlhrc0lHOWlhaWtnS3lBbk9pQW5JQ3NnYVc1emNHVmpkQ2h2WW1wYmEyVjVYU3dnYjJKcUtTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCNGN5NXdkWE5vS0d0bGVTQXJJQ2M2SUNjZ0t5QnBibk53WldOMEtHOWlhbHRyWlhsZExDQnZZbW9wS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdkUFVGTWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0J6ZVcxekxteGxibWQwYURzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhORmJuVnRaWEpoWW14bExtTmhiR3dvYjJKcUxDQnplVzF6VzJwZEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGh6TG5CMWMyZ29KMXNuSUNzZ2FXNXpjR1ZqZENoemVXMXpXMnBkS1NBcklDZGRPaUFuSUNzZ2FXNXpjR1ZqZENodlltcGJjM2x0YzF0cVhWMHNJRzlpYWlrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjRjenRjYm4xY2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUVkbGRFbHVkSEpwYm5OcFl5QTlJSEpsY1hWcGNtVW9KMmRsZEMxcGJuUnlhVzV6YVdNbktUdGNiblpoY2lCallXeHNRbTkxYm1RZ1BTQnlaWEYxYVhKbEtDZGpZV3hzTFdKcGJtUXZZMkZzYkVKdmRXNWtKeWs3WEc1MllYSWdhVzV6Y0dWamRDQTlJSEpsY1hWcGNtVW9KMjlpYW1WamRDMXBibk53WldOMEp5azdYRzVjYm5aaGNpQWtWSGx3WlVWeWNtOXlJRDBnY21WeGRXbHlaU2duWlhNdFpYSnliM0p6TDNSNWNHVW5LVHRjYm5aaGNpQWtWMlZoYTAxaGNDQTlJRWRsZEVsdWRISnBibk5wWXlnbkpWZGxZV3ROWVhBbEp5d2dkSEoxWlNrN1hHNTJZWElnSkUxaGNDQTlJRWRsZEVsdWRISnBibk5wWXlnbkpVMWhjQ1VuTENCMGNuVmxLVHRjYmx4dWRtRnlJQ1IzWldGclRXRndSMlYwSUQwZ1kyRnNiRUp2ZFc1a0tDZFhaV0ZyVFdGd0xuQnliM1J2ZEhsd1pTNW5aWFFuTENCMGNuVmxLVHRjYm5aaGNpQWtkMlZoYTAxaGNGTmxkQ0E5SUdOaGJHeENiM1Z1WkNnblYyVmhhMDFoY0M1d2NtOTBiM1I1Y0dVdWMyVjBKeXdnZEhKMVpTazdYRzUyWVhJZ0pIZGxZV3ROWVhCSVlYTWdQU0JqWVd4c1FtOTFibVFvSjFkbFlXdE5ZWEF1Y0hKdmRHOTBlWEJsTG1oaGN5Y3NJSFJ5ZFdVcE8xeHVkbUZ5SUNSdFlYQkhaWFFnUFNCallXeHNRbTkxYm1Rb0owMWhjQzV3Y205MGIzUjVjR1V1WjJWMEp5d2dkSEoxWlNrN1hHNTJZWElnSkcxaGNGTmxkQ0E5SUdOaGJHeENiM1Z1WkNnblRXRndMbkJ5YjNSdmRIbHdaUzV6WlhRbkxDQjBjblZsS1R0Y2JuWmhjaUFrYldGd1NHRnpJRDBnWTJGc2JFSnZkVzVrS0NkTllYQXVjSEp2ZEc5MGVYQmxMbWhoY3ljc0lIUnlkV1VwTzF4dVhHNHZLbHh1S2lCVWFHbHpJR1oxYm1OMGFXOXVJSFJ5WVhabGNuTmxjeUIwYUdVZ2JHbHpkQ0J5WlhSMWNtNXBibWNnZEdobElHNXZaR1VnWTI5eWNtVnpjRzl1WkdsdVp5QjBieUIwYUdVZ1oybDJaVzRnYTJWNUxseHVLbHh1S2lCVWFHRjBJRzV2WkdVZ2FYTWdZV3h6YnlCdGIzWmxaQ0IwYnlCMGFHVWdhR1ZoWkNCdlppQjBhR1VnYkdsemRDd2djMjhnZEdoaGRDQnBaaUJwZENkeklHRmpZMlZ6YzJWa0lHRm5ZV2x1SUhkbElHUnZiaWQwSUc1bFpXUWdkRzhnZEhKaGRtVnljMlVnZEdobElIZG9iMnhsSUd4cGMzUXVJRUo1SUdSdmFXNW5JSE52TENCaGJHd2dkR2hsSUhKbFkyVnVkR3g1SUhWelpXUWdibTlrWlhNZ1kyRnVJR0psSUdGalkyVnpjMlZrSUhKbGJHRjBhWFpsYkhrZ2NYVnBZMnRzZVM1Y2Jpb3ZYRzR2S2lvZ1FIUjVjR1VnZTJsdGNHOXlkQ2duTGljcExteHBjM1JIWlhST2IyUmxmU0FxTDF4dWRtRnlJR3hwYzNSSFpYUk9iMlJsSUQwZ1puVnVZM1JwYjI0Z0tHeHBjM1FzSUd0bGVTa2dleUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHTnZibk5wYzNSbGJuUXRjbVYwZFhKdVhHNWNkQzhxS2lCQWRIbHdaU0I3ZEhsd1pXOW1JR3hwYzNRZ2ZDQk9iMjVPZFd4c1lXSnNaVHdvZEhsd1pXOW1JR3hwYzNRcFd5ZHVaWGgwSjEwK2ZTQXFMMXh1WEhSMllYSWdjSEpsZGlBOUlHeHBjM1E3WEc1Y2RDOHFLaUJBZEhsd1pTQjdLSFI1Y0dWdlppQnNhWE4wS1ZzbmJtVjRkQ2RkZlNBcUwxeHVYSFIyWVhJZ1kzVnljanRjYmx4MFptOXlJQ2c3SUNoamRYSnlJRDBnY0hKbGRpNXVaWGgwS1NBaFBUMGdiblZzYkRzZ2NISmxkaUE5SUdOMWNuSXBJSHRjYmx4MFhIUnBaaUFvWTNWeWNpNXJaWGtnUFQwOUlHdGxlU2tnZTF4dVhIUmNkRngwY0hKbGRpNXVaWGgwSUQwZ1kzVnljaTV1WlhoME8xeHVYSFJjZEZ4MEx5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMV1Y0ZEhKaExYQmhjbVZ1YzF4dVhIUmNkRngwWTNWeWNpNXVaWGgwSUQwZ0x5b3FJRUIwZVhCbElIdE9iMjVPZFd4c1lXSnNaVHgwZVhCbGIyWWdiR2x6ZEM1dVpYaDBQbjBnS2k4Z0tHeHBjM1F1Ym1WNGRDazdYRzVjZEZ4MFhIUnNhWE4wTG01bGVIUWdQU0JqZFhKeU95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsSUc1dkxYQmhjbUZ0TFhKbFlYTnphV2R1WEc1Y2RGeDBYSFJ5WlhSMWNtNGdZM1Z5Y2p0Y2JseDBYSFI5WEc1Y2RIMWNibjA3WEc1Y2JpOHFLaUJBZEhsd1pTQjdhVzF3YjNKMEtDY3VKeWt1YkdsemRFZGxkSDBnS2k5Y2JuWmhjaUJzYVhOMFIyVjBJRDBnWm5WdVkzUnBiMjRnS0c5aWFtVmpkSE1zSUd0bGVTa2dlMXh1WEhSMllYSWdibTlrWlNBOUlHeHBjM1JIWlhST2IyUmxLRzlpYW1WamRITXNJR3RsZVNrN1hHNWNkSEpsZEhWeWJpQnViMlJsSUNZbUlHNXZaR1V1ZG1Gc2RXVTdYRzU5TzF4dUx5b3FJRUIwZVhCbElIdHBiWEJ2Y25Rb0p5NG5LUzVzYVhOMFUyVjBmU0FxTDF4dWRtRnlJR3hwYzNSVFpYUWdQU0JtZFc1amRHbHZiaUFvYjJKcVpXTjBjeXdnYTJWNUxDQjJZV3gxWlNrZ2UxeHVYSFIyWVhJZ2JtOWtaU0E5SUd4cGMzUkhaWFJPYjJSbEtHOWlhbVZqZEhNc0lHdGxlU2s3WEc1Y2RHbG1JQ2h1YjJSbEtTQjdYRzVjZEZ4MGJtOWtaUzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVYSFI5SUdWc2MyVWdlMXh1WEhSY2RDOHZJRkJ5WlhCbGJtUWdkR2hsSUc1bGR5QnViMlJsSUhSdklIUm9aU0JpWldkcGJtNXBibWNnYjJZZ2RHaGxJR3hwYzNSY2JseDBYSFJ2WW1wbFkzUnpMbTVsZUhRZ1BTQXZLaW9nUUhSNWNHVWdlMmx0Y0c5eWRDZ25MaWNwTGt4cGMzUk9iMlJsUEhSNWNHVnZaaUIyWVd4MVpUNTlJQ292SUNoN0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXeHBibVVnYm04dGNHRnlZVzB0Y21WaGMzTnBaMjRzSUc1dkxXVjRkSEpoTFhCaGNtVnVjMXh1WEhSY2RGeDBhMlY1T2lCclpYa3NYRzVjZEZ4MFhIUnVaWGgwT2lCdlltcGxZM1J6TG01bGVIUXNYRzVjZEZ4MFhIUjJZV3gxWlRvZ2RtRnNkV1ZjYmx4MFhIUjlLVHRjYmx4MGZWeHVmVHRjYmk4cUtpQkFkSGx3WlNCN2FXMXdiM0owS0NjdUp5a3ViR2x6ZEVoaGMzMGdLaTljYm5aaGNpQnNhWE4wU0dGeklEMGdablZ1WTNScGIyNGdLRzlpYW1WamRITXNJR3RsZVNrZ2UxeHVYSFJ5WlhSMWNtNGdJU0ZzYVhOMFIyVjBUbTlrWlNodlltcGxZM1J6TENCclpYa3BPMXh1ZlR0Y2JseHVMeW9xSUVCMGVYQmxJSHRwYlhCdmNuUW9KeTRuS1gwZ0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdaMlYwVTJsa1pVTm9ZVzV1Wld3b0tTQjdYRzVjZEM4cUtpQkFkSGx3WlNCN1YyVmhhMDFoY0R4dlltcGxZM1FzSUhWdWEyNXZkMjQrZlNBcUx5QjJZWElnSkhkdE8xeHVYSFF2S2lvZ1FIUjVjR1VnZTAxaGNEeHZZbXBsWTNRc0lIVnVhMjV2ZDI0K2ZTQX
1FMeUIyWVhJZ0pHMDdYRzVjZEM4cUtpQkFkSGx3WlNCN2FXMXdiM0owS0NjdUp5a3VVbTl2ZEU1dlpHVThkVzVyYm05M2JqNTlJQ292SUhaaGNpQWtienRjYmx4dVhIUXZLaW9nUUhSNWNHVWdlMmx0Y0c5eWRDZ25MaWNwTGtOb1lXNXVaV3g5SUNvdlhHNWNkSFpoY2lCamFHRnVibVZzSUQwZ2UxeHVYSFJjZEdGemMyVnlkRG9nWm5WdVkzUnBiMjRnS0d0bGVTa2dlMXh1WEhSY2RGeDBhV1lnS0NGamFHRnVibVZzTG1oaGN5aHJaWGtwS1NCN1hHNWNkRngwWEhSY2RIUm9jbTkzSUc1bGR5QWtWSGx3WlVWeWNtOXlLQ2RUYVdSbElHTm9ZVzV1Wld3Z1pHOWxjeUJ1YjNRZ1kyOXVkR0ZwYmlBbklDc2dhVzV6Y0dWamRDaHJaWGtwS1R0Y2JseDBYSFJjZEgxY2JseDBYSFI5TEZ4dVhIUmNkR2RsZERvZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZXlBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxc2FXNWxJR052Ym5OcGMzUmxiblF0Y21WMGRYSnVYRzVjZEZ4MFhIUnBaaUFvSkZkbFlXdE5ZWEFnSmlZZ2EyVjVJQ1ltSUNoMGVYQmxiMllnYTJWNUlEMDlQU0FuYjJKcVpXTjBKeUI4ZkNCMGVYQmxiMllnYTJWNUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NrZ2UxeHVYSFJjZEZ4MFhIUnBaaUFvSkhkdEtTQjdYRzVjZEZ4MFhIUmNkRngwY21WMGRYSnVJQ1IzWldGclRXRndSMlYwS0NSM2JTd2dhMlY1S1R0Y2JseDBYSFJjZEZ4MGZWeHVYSFJjZEZ4MGZTQmxiSE5sSUdsbUlDZ2tUV0Z3S1NCN1hHNWNkRngwWEhSY2RHbG1JQ2drYlNrZ2UxeHVYSFJjZEZ4MFhIUmNkSEpsZEhWeWJpQWtiV0Z3UjJWMEtDUnRMQ0JyWlhrcE8xeHVYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUjlJR1ZzYzJVZ2UxeHVYSFJjZEZ4MFhIUnBaaUFvSkc4cElIc2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MXNiMjVsYkhrdGFXWmNibHgwWEhSY2RGeDBYSFJ5WlhSMWNtNGdiR2x6ZEVkbGRDZ2tieXdnYTJWNUtUdGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBmVnh1WEhSY2RIMHNYRzVjZEZ4MGFHRnpPaUJtZFc1amRHbHZiaUFvYTJWNUtTQjdYRzVjZEZ4MFhIUnBaaUFvSkZkbFlXdE5ZWEFnSmlZZ2EyVjVJQ1ltSUNoMGVYQmxiMllnYTJWNUlEMDlQU0FuYjJKcVpXTjBKeUI4ZkNCMGVYQmxiMllnYTJWNUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NrZ2UxeHVYSFJjZEZ4MFhIUnBaaUFvSkhkdEtTQjdYRzVjZEZ4MFhIUmNkRngwY21WMGRYSnVJQ1IzWldGclRXRndTR0Z6S0NSM2JTd2dhMlY1S1R0Y2JseDBYSFJjZEZ4MGZWeHVYSFJjZEZ4MGZTQmxiSE5sSUdsbUlDZ2tUV0Z3S1NCN1hHNWNkRngwWEhSY2RHbG1JQ2drYlNrZ2UxeHVYSFJjZEZ4MFhIUmNkSEpsZEhWeWJpQWtiV0Z3U0dGektDUnRMQ0JyWlhrcE8xeHVYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUjlJR1ZzYzJVZ2UxeHVYSFJjZEZ4MFhIUnBaaUFvSkc4cElIc2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MXNiMjVsYkhrdGFXWmNibHgwWEhSY2RGeDBYSFJ5WlhSMWNtNGdiR2x6ZEVoaGN5Z2tieXdnYTJWNUtUdGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBmVnh1WEhSY2RGeDBjbVYwZFhKdUlHWmhiSE5sTzF4dVhIUmNkSDBzWEc1Y2RGeDBjMlYwT2lCbWRXNWpkR2x2YmlBb2EyVjVMQ0IyWVd4MVpTa2dlMXh1WEhSY2RGeDBhV1lnS0NSWFpXRnJUV0Z3SUNZbUlHdGxlU0FtSmlBb2RIbHdaVzltSUd0bGVTQTlQVDBnSjI5aWFtVmpkQ2NnZkh3Z2RIbHdaVzltSUd0bGVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrcElIdGNibHgwWEhSY2RGeDBhV1lnS0NFa2QyMHBJSHRjYmx4MFhIUmNkRngwWEhRa2QyMGdQU0J1WlhjZ0pGZGxZV3ROWVhBb0tUdGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBYSFFrZDJWaGEwMWhjRk5sZENna2QyMHNJR3RsZVN3Z2RtRnNkV1VwTzF4dVhIUmNkRngwZlNCbGJITmxJR2xtSUNna1RXRndLU0I3WEc1Y2RGeDBYSFJjZEdsbUlDZ2hKRzBwSUh0Y2JseDBYSFJjZEZ4MFhIUWtiU0E5SUc1bGR5QWtUV0Z3S0NrN1hHNWNkRngwWEhSY2RIMWNibHgwWEhSY2RGeDBKRzFoY0ZObGRDZ2tiU3dnYTJWNUxDQjJZV3gxWlNrN1hHNWNkRngwWEhSOUlHVnNjMlVnZTF4dVhIUmNkRngwWEhScFppQW9JU1J2S1NCN1hHNWNkRngwWEhSY2RGeDBMeThnU1c1cGRHbGhiR2w2WlNCMGFHVWdiR2x1YTJWa0lHeHBjM1FnWVhNZ1lXNGdaVzF3ZEhrZ2JtOWtaU3dnYzI4Z2RHaGhkQ0IzWlNCa2IyNG5kQ0JvWVhabElIUnZJSE53WldOcFlXd3RZMkZ6WlNCb1lXNWtiR2x1WnlCdlppQjBhR1VnWm1seWMzUWdibTlrWlRvZ2QyVWdZMkZ1SUdGc2QyRjVjeUJ5WldabGNpQjBieUJwZENCaGN5QW9jSEpsZG1sdmRYTWdibTlrWlNrdWJtVjRkQ3dnYVc1emRHVmhaQ0J2WmlCemIyMWxkR2hwYm1jZ2JHbHJaU0FvYkdsemRDa3VhR1ZoWkZ4dVhIUmNkRngwWEhSY2RDUnZJRDBnZXlCclpYazZJSHQ5TENCdVpYaDBPaUJ1ZFd4c0lIMDdYRzVjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkRngwYkdsemRGTmxkQ2drYnl3Z2EyVjVMQ0IyWVd4MVpTazdYRzVjZEZ4MFhIUjlYRzVjZEZ4MGZWeHVYSFI5TzF4dVhIUnlaWFIxY200Z1kyaGhibTVsYkR0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQnlaWEJzWVdObElEMGdVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNXlaWEJzWVdObE8xeHVkbUZ5SUhCbGNtTmxiblJVZDJWdWRHbGxjeUE5SUM4bE1qQXZaenRjYmx4dWRtRnlJRVp2Y20xaGRDQTlJSHRjYmlBZ0lDQlNSa014TnpNNE9pQW5Va1pETVRjek9DY3NYRzRnSUNBZ1VrWkRNems0TmpvZ0oxSkdRek01T0RZblhHNTlPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUh0Y2JpQWdJQ0FuWkdWbVlYVnNkQ2M2SUVadmNtMWhkQzVTUmtNek9UZzJMRnh1SUNBZ0lHWnZjbTFoZEhSbGNuTTZJSHRjYmlBZ0lDQWdJQ0FnVWtaRE1UY3pPRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVndiR0ZqWlM1allXeHNLSFpoYkhWbExDQndaWEpqWlc1MFZIZGxiblJwWlhNc0lDY3JKeWs3WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lGSkdRek01T0RZNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRk4wY21sdVp5aDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUZKR1F6RTNNemc2SUVadmNtMWhkQzVTUmtNeE56TTRMRnh1SUNBZ0lGSkdRek01T0RZNklFWnZjbTFoZEM1U1JrTXpPVGcyWEc1OU8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1ptOXliV0YwY3lBOUlISmxjWFZwY21Vb0p5NHZabTl5YldGMGN5Y3BPMXh1WEc1MllYSWdhR0Z6SUQwZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlVHRjYm5aaGNpQnBjMEZ5Y21GNUl
1EMGdRWEp5WVhrdWFYTkJjbkpoZVR0Y2JseHVkbUZ5SUdobGVGUmhZbXhsSUQwZ0tHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQjJZWElnWVhKeVlYa2dQU0JiWFR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURJMU5qc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lHRnljbUY1TG5CMWMyZ29KeVVuSUNzZ0tDaHBJRHdnTVRZZ1B5QW5NQ2NnT2lBbkp5a2dLeUJwTG5SdlUzUnlhVzVuS0RFMktTa3VkRzlWY0hCbGNrTmhjMlVvS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0Z5Y21GNU8xeHVmU2dwS1R0Y2JseHVkbUZ5SUdOdmJYQmhZM1JSZFdWMVpTQTlJR1oxYm1OMGFXOXVJR052YlhCaFkzUlJkV1YxWlNoeGRXVjFaU2tnZTF4dUlDQWdJSGRvYVd4bElDaHhkV1YxWlM1c1pXNW5kR2dnUGlBeEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCcGRHVnRJRDBnY1hWbGRXVXVjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ2WW1vZ1BTQnBkR1Z0TG05aWFsdHBkR1Z0TG5CeWIzQmRPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjMEZ5Y21GNUtHOWlhaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCamIyMXdZV04wWldRZ1BTQmJYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0J2WW1vdWJHVnVaM1JvT3lBcksyb3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUc5aWFsdHFYU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXRjR0ZqZEdWa0xuQjFjMmdvYjJKcVcycGRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzB1YjJKcVcybDBaVzB1Y0hKdmNGMGdQU0JqYjIxd1lXTjBaV1E3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1OU8xeHVYRzUyWVhJZ1lYSnlZWGxVYjA5aWFtVmpkQ0E5SUdaMWJtTjBhVzl1SUdGeWNtRjVWRzlQWW1wbFkzUW9jMjkxY21ObExDQnZjSFJwYjI1ektTQjdYRzRnSUNBZ2RtRnlJRzlpYWlBOUlHOXdkR2x2Ym5NZ0ppWWdiM0IwYVc5dWN5NXdiR0ZwYms5aWFtVmpkSE1nUHlCUFltcGxZM1F1WTNKbFlYUmxLRzUxYkd3cElEb2dlMzA3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6YjNWeVkyVXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnpiM1Z5WTJWYmFWMGdJVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCdlltcGJhVjBnUFNCemIzVnlZMlZiYVYwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYjJKcU8xeHVmVHRjYmx4dWRtRnlJRzFsY21kbElEMGdablZ1WTNScGIyNGdiV1Z5WjJVb2RHRnlaMlYwTENCemIzVnlZMlVzSUc5d2RHbHZibk1wSUh0Y2JpQWdJQ0F2S2lCbGMyeHBiblFnYm04dGNHRnlZVzB0Y21WaGMzTnBaMjQ2SURBZ0tpOWNiaUFnSUNCcFppQW9JWE52ZFhKalpTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR0Z5WjJWME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MyOTFjbU5sSUNFOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FYTkJjbkpoZVNoMFlYSm5aWFFwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwWVhKblpYUXVjSFZ6YUNoemIzVnlZMlVwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUmhjbWRsZENBbUppQjBlWEJsYjJZZ2RHRnlaMlYwSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ2h2Y0hScGIyNXpJQ1ltSUNodmNIUnBiMjV6TG5Cc1lXbHVUMkpxWldOMGN5QjhmQ0J2Y0hScGIyNXpMbUZzYkc5M1VISnZkRzkwZVhCbGN5a3BJSHg4SUNGb1lYTXVZMkZzYkNoUFltcGxZM1F1Y0hKdmRHOTBlWEJsTENCemIzVnlZMlVwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRnlaMlYwVzNOdmRYSmpaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnQwWVhKblpYUXNJSE52ZFhKalpWMDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGeVoyVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2doZEdGeVoyVjBJSHg4SUhSNWNHVnZaaUIwWVhKblpYUWdJVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYmRHRnlaMlYwWFM1amIyNWpZWFFvYzI5MWNtTmxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYldWeVoyVlVZWEpuWlhRZ1BTQjBZWEpuWlhRN1hHNGdJQ0FnYVdZZ0tHbHpRWEp5WVhrb2RHRnlaMlYwS1NBbUppQWhhWE5CY25KaG
1VTaHpiM1Z5WTJVcEtTQjdYRzRnSUNBZ0lDQWdJRzFsY21kbFZHRnlaMlYwSUQwZ1lYSnlZWGxVYjA5aWFtVmpkQ2gwWVhKblpYUXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hwYzBGeWNtRjVLSFJoY21kbGRDa2dKaVlnYVhOQmNuSmhlU2h6YjNWeVkyVXBLU0I3WEc0Z0lDQWdJQ0FnSUhOdmRYSmpaUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hwZEdWdExDQnBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYUdGekxtTmhiR3dvZEdGeVoyVjBMQ0JwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUIwWVhKblpYUkpkR1Z0SUQwZ2RHRnlaMlYwVzJsZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwWVhKblpYUkpkR1Z0SUNZbUlIUjVjR1Z2WmlCMFlYSm5aWFJKZEdWdElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCcGRHVnRJQ1ltSUhSNWNHVnZaaUJwZEdWdElEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBZWEpuWlhSYmFWMGdQU0J0WlhKblpTaDBZWEpuWlhSSmRHVnRMQ0JwZEdWdExDQnZjSFJwYjI1ektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwWVhKblpYUXVjSFZ6YUNocGRHVnRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmhjbWRsZEZ0cFhTQTlJR2wwWlcwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRnlaMlYwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdWEyVjVjeWh6YjNWeVkyVXBMbkpsWkhWalpTaG1kVzVqZEdsdmJpQW9ZV05qTENCclpYa3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlIWmhiSFZsSUQwZ2MyOTFjbU5sVzJ0bGVWMDdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjeTVqWVd4c0tHRmpZeXdnYTJWNUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1lXTmpXMnRsZVYwZ1BTQnRaWEpuWlNoaFkyTmJhMlY1WFN3Z2RtRnNkV1VzSUc5d2RHbHZibk1wTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZV05qVzJ0bGVWMGdQU0IyWVd4MVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZV05qTzF4dUlDQWdJSDBzSUcxbGNtZGxWR0Z5WjJWMEtUdGNibjA3WEc1Y2JuWmhjaUJoYzNOcFoyNGdQU0JtZFc1amRHbHZiaUJoYzNOcFoyNVRhVzVuYkdWVGIzVnlZMlVvZEdGeVoyVjBMQ0J6YjNWeVkyVXBJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG10bGVYTW9jMjkxY21ObEtTNXlaV1IxWTJVb1puVnVZM1JwYjI0Z0tHRmpZeXdnYTJWNUtTQjdYRzRnSUNBZ0lDQWdJR0ZqWTF0clpYbGRJRDBnYzI5MWNtTmxXMnRsZVYwN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaFkyTTdYRzRnSUNBZ2ZTd2dkR0Z5WjJWMEtUdGNibjA3WEc1Y2JuWmhjaUJrWldOdlpHVWdQU0JtZFc1amRHbHZiaUFvYzNSeUxDQmtaV052WkdWeUxDQmphR0Z5YzJWMEtTQjdYRzRnSUNBZ2RtRnlJSE4wY2xkcGRHaHZkWFJRYkhWeklEMGdjM1J5TG5KbGNHeGhZMlVvTDF4Y0t5OW5MQ0FuSUNjcE8xeHVJQ0FnSUdsbUlDaGphR0Z5YzJWMElEMDlQU0FuYVhOdkxUZzROVGt0TVNjcElIdGNiaUFnSUNBZ0lDQWdMeThnZFc1bGMyTmhjR1VnYm1WMlpYSWdkR2h5YjNkekxDQnVieUIwY25rdUxpNWpZWFJqYUNCdVpXVmtaV1E2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZEhKWGFYUm9iM1YwVUd4MWN5NXlaWEJzWVdObEtDOGxXekF0T1dFdFpsMTdNbjB2WjJrc0lIVnVaWE5qWVhCbEtUdGNiaUFnSUNCOVhHNGdJQ0FnTHk4Z2RYUm1MVGhjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwS0hOMGNsZHBkR2h2ZFhSUWJIVnpLVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZEhKWGFYUm9iM1YwVUd4MWN6dGNiaUFnSUNCOVhHNTlPMXh1WEc1MllYSWdaVzVqYjJSbElEMGdablZ1WTNScGIyNGdaVzVqYjJSbEtITjBjaXdnWkdWbVlYVnNkRVZ1WTI5a1pYSXNJR05vWVhKelpYUXNJR3RwYm1Rc0lHWnZjbTFoZENrZ2UxeHVJQ0FnSUM4dklGUm9hWE1nWTI5a1pTQjNZWE1nYjNKcFoybHVZV3hzZVNCM2NtbDBkR1Z1SUdKNUlFSnlhV0Z1SUZkb2FYUmxJQ2h0YzJOa1pYZ3BJR1p2Y2lCMGFHVWdhVzh1YW5NZ1kyOXlaU0J4ZFdWeWVYTjBjbWx1WnlCc2FXSnlZWEo1TGx4dUlDQWdJQzh2SUVsMElHaGhjeUJpWldWdUlHRmtZWEIwWldRZ2FHVnlaU0JtYjNJZ2MzUnlhV04wWlhJZ1lXUm9aWEpsYm1ObElIUnZJRkpHUXlBek9UZzJYRzRnSUNBZ2FXWWdLSE4wY2k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wY2p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2MzUnlhVzVuSUQwZ2MzUnlPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjM1J5SUQwOVBTQW5jM2x0WW05c0p5a2dlMXh1SUNBZ0lDQWdJQ0J6ZEhKcGJtY2dQU0JUZVcxaWIyd3VjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b2MzUnlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQnpkSElnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQWdJSE4wY21sdVp5QTlJRk4wY21sdVp5aHpkSElwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamFHRnljMlYwSUQwOVBTQW5hWE52TFRnNE5Ua3RNU2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdWelkyRndaU2h6ZEhKcGJtY3BMbkpsY0d4aFkyVW9MeVYxV3pBdE9XRXRabDE3Tkgwdloya3NJR1oxYm1OMGFXOXVJQ2drTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2NsTWpZbE1qTW5JQ3NnY0dGeWMyVkpiblFvSkRBdWMyeHBZMlVvTWlrc0lERTJLU0FySUNjbE0wSW5PMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2IzVjBJRDBnSnljN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemRISnBibWN1YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdNZ1BTQnpkSEpwYm1jdVkyaGhja052WkdWQmRDaHBLVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNCaklEMDlQU0F3ZURKRUlDOHZJQzFjYmlBZ0lDQWdJQ0FnSUNBZ0lIeDhJR01nUFQwOUlEQjRNa1VnTHk4Z0xseHVJQ0FnSUNBZ0lDQWdJQ0FnZkh3Z1l5QTlQVDBnTUhnMVJpQXZMeUJmWEc0Z0lDQWdJQ0FnSUNBZ0lDQjhmQ0JqSUQwOVBTQXdlRGRGSUM4dklINWNiaUFnSUNBZ0lDQWdJQ0FnSUh4OElDaGpJRDQ5SURCNE16QWdKaVlnWXlBOFBTQXdlRE01S1NBdkx5QXdMVGxjYmlBZ0lDQWdJQ0FnSUNBZ0lIeDhJQ2hqSUQ0OUlEQjROREVnSmlZZ1l5QThQU0F3ZURWQktTQXZMeUJoTFhwY2JpQWdJQ0FnSUNBZ0lDQWdJSHg4SUNoaklENDlJREI0TmpFZ0ppWWdZeUE4UFNBd2VEZEJLU0F2THlCQkxWcGNiaUFnSUNBZ0lDQWdJQ0FnSUh4OElDaG1iM0p0WVhRZ1BUMDlJR1p2Y20xaGRITXVVa1pETVRjek9DQW1KaUFvWXlBOVBUMGdNSGd5T0NCOGZDQmpJRDA5UFNBd2VESTVLU2tnTHk4Z0tDQXBYRzRnSUNBZ0lDQWdJQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiM1YwSUNzOUlITjBjbWx1Wnk1amFHRnlRWFFvYVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqSUR3Z01IZzRNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiM1YwSUQwZ2IzVjBJQ3NnYUdWNFZHRmliR1ZiWTEwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqSUR3Z01IZzRNREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzkxZENBOUlHOTFk
1Q0FySUNob1pYaFVZV0pzWlZzd2VFTXdJSHdnS0dNZ1BqNGdOaWxkSUNzZ2FHVjRWR0ZpYkdWYk1IZzRNQ0I4SUNoaklDWWdNSGd6UmlsZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dNZ1BDQXdlRVE0TURBZ2ZId2dZeUErUFNBd2VFVXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzkxZENBOUlHOTFkQ0FySUNob1pYaFVZV0pzWlZzd2VFVXdJSHdnS0dNZ1BqNGdNVElwWFNBcklHaGxlRlJoWW14bFd6QjRPREFnZkNBb0tHTWdQajRnTmlrZ0ppQXdlRE5HS1YwZ0t5Qm9aWGhVWVdKc1pWc3dlRGd3SUh3Z0tHTWdKaUF3ZUROR0tWMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwSUNzOUlERTdYRzRnSUNBZ0lDQWdJR01nUFNBd2VERXdNREF3SUNzZ0tDZ29ZeUFtSURCNE0wWkdLU0E4UENBeE1Da2dmQ0FvYzNSeWFXNW5MbU5vWVhKRGIyUmxRWFFvYVNrZ0ppQXdlRE5HUmlrcE8xeHVJQ0FnSUNBZ0lDQXZLaUJsYzJ4cGJuUWdiM0JsY21GMGIzSXRiR2x1WldKeVpXRnJPaUJiTWl3Z1hDSmlaV1p2Y21WY0lsMGdLaTljYmlBZ0lDQWdJQ0FnYjNWMElDczlJR2hsZUZSaFlteGxXekI0UmpBZ2ZDQW9ZeUErUGlBeE9DbGRYRzRnSUNBZ0lDQWdJQ0FnSUNBcklHaGxlRlJoWW14bFd6QjRPREFnZkNBb0tHTWdQajRnTVRJcElDWWdNSGd6UmlsZFhHNGdJQ0FnSUNBZ0lDQWdJQ0FySUdobGVGUmhZbXhsV3pCNE9EQWdmQ0FvS0dNZ1BqNGdOaWtnSmlBd2VETkdLVjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDc2dhR1Y0VkdGaWJHVmJNSGc0TUNCOElDaGpJQ1lnTUhnelJpbGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUTdYRzU5TzF4dVhHNTJZWElnWTI5dGNHRmpkQ0E5SUdaMWJtTjBhVzl1SUdOdmJYQmhZM1FvZG1Gc2RXVXBJSHRjYmlBZ0lDQjJZWElnY1hWbGRXVWdQU0JiZXlCdlltbzZJSHNnYnpvZ2RtRnNkV1VnZlN3Z2NISnZjRG9nSjI4bklIMWRPMXh1SUNBZ0lIWmhjaUJ5WldaeklEMGdXMTA3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhGMVpYVmxMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwZEdWdElEMGdjWFZsZFdWYmFWMDdYRzRnSUNBZ0lDQWdJSFpoY2lCdlltb2dQU0JwZEdWdExtOWlhbHRwZEdWdExuQnliM0JkTzF4dVhHNGdJQ0FnSUNBZ0lIWmhjaUJyWlhseklEMGdUMkpxWldOMExtdGxlWE1vYjJKcUtUdGNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0JyWlhsekxteGxibWQwYURzZ0t5dHFLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYTJWNUlEMGdhMlY1YzF0cVhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQjJZV3dnUFNCdlltcGJhMlY1WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnZG1Gc0lEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMllXd2dJVDA5SUc1MWJHd2dKaVlnY21WbWN5NXBibVJsZUU5bUtIWmhiQ2tnUFQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY1hWbGRXVXVjSFZ6YUNoN0lHOWlham9nYjJKcUxDQndjbTl3T2lCclpYa2dmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WbWN5NXdkWE5vS0haaGJDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCamIyMXdZV04wVVhWbGRXVW9jWFZsZFdVcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh1ZlR0Y2JseHVkbUZ5SUdselVtVm5SWGh3SUQwZ1puVnVZM1JwYjI0Z2FYTlNaV2RGZUhBb2IySnFLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWRHOVRkSEpwYm1jdVkyRnNiQ2h2WW1vcElEMDlQU0FuVzI5aWFtVmpkQ0JTWldkRmVIQmRKenRjYm4wN1hHNWNiblpoY2lCcGMwSjFabVpsY2lBOUlHWjFibU4wYVc5dUlHbHpRblZtWm1WeUtHOWlhaWtnZTF4dUlDQWdJR2xtSUNnaGIySnFJSHg4SUhSNWNHVnZaaUJ2WW1vZ0lUMDlJQ2R2WW1wbFkzUW5LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnSVNFb2IySnFMbU52Ym5OMGNuVmpkRzl5SUNZbUlHOWlhaTVqYjI1emRISjFZM1J2Y2k1cGMwSjFabVpsY2lBbUppQnZZbW91WTI5dWMzUnlkV04wYjNJdWFYTkNkV1ptWlhJb2IySnFLU2s3WEc1OU8xeHVYRzUyWVhJZ1kyOXRZbWx1WlNBOUlHWjFibU4wYVc5dUlHTnZiV0pwYm1Vb1lTd2dZaWtnZTF4dUlDQWdJSEpsZEhWeWJpQmJYUzVqYjI1allYUW9ZU3dnWWlrN1hHNTlPMXh1WEc1MllYSWdiV0Y1WW1WTllYQWdQU0JtZFc1amRHbHZiaUJ0WVhsaVpVMWhjQ2gyWVd3c0lHWnVLU0I3WEc0Z0lDQWdhV1lnS0dselFYSnlZWGtvZG1Gc0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2JXRndjR1ZrSUQwZ1cxMDdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZG1Gc0xteGxibWQwYURzZ2FTQXJQU0F4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0WVhCd1pXUXVjSFZ6YUNobWJpaDJZV3hiYVYwcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiV0Z3Y0dWa08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdabTRvZG1Gc0tUdGNibjA3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0FnSUdGeWNtRjVWRzlQWW1wbFkzUTZJR0Z5Y21GNVZHOVBZbXBsWTNRc1hHNGdJQ0FnWVhOemFXZHVPaUJoYzNOcFoyNHNYRzRnSUNBZ1kyOXRZbWx1WlRvZ1kyOXRZbWx1WlN4Y2JpQWdJQ0JqYjIxd1lXTjBPaUJqYjIxd1lXTjBMRnh1SUNBZ0lHUmxZMjlrWlRvZ1pHVmpiMlJsTEZ4dUlDQWdJR1Z1WTI5a1pUb2daVzVqYjJSbExGeHVJQ0FnSUdselFuVm1abVZ5T2lCcGMwSjFabVpsY2l4Y2JpQWdJQ0JwYzFKbFowVjRjRG9nYVhOU1pXZEZlSEFzWEc0Z0lDQWdiV0Y1WW1WTllYQTZJRzFoZVdKbFRXRndMRnh1SUNBZ0lHMWxjbWRsT2lCdFpYSm5aVnh1ZlR0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdkbGRGTnBaR1ZEYUdGdWJtVnNJRDBnY21WeGRXbHlaU2duYzJsa1pTMWphR0Z1Ym1Wc0p5azdYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NjdUwzVjBhV3h6SnlrN1hHNTJZWElnWm05eWJXRjBjeUE5SUhKbGNYVnBjbVVvSnk0dlptOXliV0YwY3ljcE8xeHVkbUZ5SUdoaGN5QTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrN1hHNWNiblpoY2lCaGNuSmhlVkJ5WldacGVFZGxibVZ5WVhSdmNuTWdQU0I3WEc0Z0lDQWdZbkpoWTJ0bGRITTZJR1oxYm1OMGFXOXVJR0p5WVdOclpYUnpLSEJ5WldacGVDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjSEpsWm1sNElDc2dKMXRkSnp0Y2JpQWdJQ0I5TEZ4dUlDQWdJR052YlcxaE9pQW5ZMjl0YldFbkxGeHVJQ0FnSUdsdVpHbGpaWE02SUdaMWJtTjBhVzl1SUdsdVpHbGpaWE1vY0hKbFptbDRMQ0JyWlhrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIQnlaV1pwZUNBcklDZGJKeUFySUd0bGVTQXJJQ2RkSn
1p0Y2JpQWdJQ0I5TEZ4dUlDQWdJSEpsY0dWaGREb2dablZ1WTNScGIyNGdjbVZ3WldGMEtIQnlaV1pwZUNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISmxabWw0TzF4dUlDQWdJSDFjYm4wN1hHNWNiblpoY2lCcGMwRnljbUY1SUQwZ1FYSnlZWGt1YVhOQmNuSmhlVHRjYm5aaGNpQndkWE5vSUQwZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG5CMWMyZzdYRzUyWVhJZ2NIVnphRlJ2UVhKeVlYa2dQU0JtZFc1amRHbHZiaUFvWVhKeUxDQjJZV3gxWlU5eVFYSnlZWGtwSUh0Y2JpQWdJQ0J3ZFhOb0xtRndjR3g1S0dGeWNpd2dhWE5CY25KaGVTaDJZV3gxWlU5eVFYSnlZWGtwSUQ4Z2RtRnNkV1ZQY2tGeWNtRjVJRG9nVzNaaGJIVmxUM0pCY25KaGVWMHBPMXh1ZlR0Y2JseHVkbUZ5SUhSdlNWTlBJRDBnUkdGMFpTNXdjbTkwYjNSNWNHVXVkRzlKVTA5VGRISnBibWM3WEc1Y2JuWmhjaUJrWldaaGRXeDBSbTl5YldGMElEMGdabTl5YldGMGMxc25aR1ZtWVhWc2RDZGRPMXh1ZG1GeUlHUmxabUYxYkhSeklEMGdlMXh1SUNBZ0lHRmtaRkYxWlhKNVVISmxabWw0T2lCbVlXeHpaU3hjYmlBZ0lDQmhiR3h2ZDBSdmRITTZJR1poYkhObExGeHVJQ0FnSUdGc2JHOTNSVzF3ZEhsQmNuSmhlWE02SUdaaGJITmxMRnh1SUNBZ0lHRnljbUY1Um05eWJXRjBPaUFuYVc1a2FXTmxjeWNzWEc0Z0lDQWdZMmhoY25ObGREb2dKM1YwWmkwNEp5eGNiaUFnSUNCamFHRnljMlYwVTJWdWRHbHVaV3c2SUdaaGJITmxMRnh1SUNBZ0lHUmxiR2x0YVhSbGNqb2dKeVluTEZ4dUlDQWdJR1Z1WTI5a1pUb2dkSEoxWlN4Y2JpQWdJQ0JsYm1OdlpHVkViM1JKYmt0bGVYTTZJR1poYkhObExGeHVJQ0FnSUdWdVkyOWtaWEk2SUhWMGFXeHpMbVZ1WTI5a1pTeGNiaUFnSUNCbGJtTnZaR1ZXWVd4MVpYTlBibXg1T2lCbVlXeHpaU3hjYmlBZ0lDQm1iM0p0WVhRNklHUmxabUYxYkhSR2IzSnRZWFFzWEc0Z0lDQWdabTl5YldGMGRHVnlPaUJtYjNKdFlYUnpMbVp2Y20xaGRIUmxjbk5iWkdWbVlYVnNkRVp2Y20xaGRGMHNYRzRnSUNBZ0x5OGdaR1Z3Y21WallYUmxaRnh1SUNBZ0lHbHVaR2xqWlhNNklHWmhiSE5sTEZ4dUlDQWdJSE5sY21saGJHbDZaVVJoZEdVNklHWjFibU4wYVc5dUlITmxjbWxoYkdsNlpVUmhkR1VvWkdGMFpTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkRzlKVTA4dVkyRnNiQ2hrWVhSbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUhOcmFYQk9kV3hzY3pvZ1ptRnNjMlVzWEc0Z0lDQWdjM1J5YVdOMFRuVnNiRWhoYm1Sc2FXNW5PaUJtWVd4elpWeHVmVHRjYmx4dWRtRnlJR2x6VG05dVRuVnNiR2x6YUZCeWFXMXBkR2wyWlNBOUlHWjFibU4wYVc5dUlHbHpUbTl1VG5Wc2JHbHphRkJ5YVcxcGRHbDJaU2gyS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQjJJRDA5UFNBbmMzUnlhVzVuSjF4dUlDQWdJQ0FnSUNCOGZDQjBlWEJsYjJZZ2RpQTlQVDBnSjI1MWJXSmxjaWRjYmlBZ0lDQWdJQ0FnZkh3Z2RIbHdaVzltSUhZZ1BUMDlJQ2RpYjI5c1pXRnVKMXh1SUNBZ0lDQWdJQ0I4ZkNCMGVYQmxiMllnZGlBOVBUMGdKM041YldKdmJDZGNiaUFnSUNBZ0lDQWdmSHdnZEhsd1pXOW1JSFlnUFQwOUlDZGlhV2RwYm5Rbk8xeHVmVHRjYmx4dWRtRnlJSE5sYm5ScGJtVnNJRDBnZTMwN1hHNWNiblpoY2lCemRISnBibWRwWm5rZ1BTQm1kVzVqZEdsdmJpQnpkSEpwYm1kcFpua29YRzRnSUNBZ2IySnFaV04wTEZ4dUlDQWdJSEJ5WldacGVDeGNiaUFnSUNCblpXNWxjbUYwWlVGeWNtRjVVSEpsWm1sNExGeHVJQ0FnSUdOdmJXMWhVbTkxYm1SVWNtbHdMRnh1SUNBZ0lHRnNiRzkzUlcxd2RIbEJjbkpoZVhNc1hHNGdJQ0FnYzNSeWFXTjBUblZzYkVoaGJtUnNhVzVuTEZ4dUlDQWdJSE5yYVhCT2RXeHNjeXhjYmlBZ0lDQmxibU52WkdWRWIzUkpia3RsZVhNc1hHNGdJQ0FnWlc1amIyUmxjaXhjYmlBZ0lDQm1hV3gwWlhJc1hHNGdJQ0FnYzI5eWRDeGNiaUFnSUNCaGJHeHZkMFJ2ZEhNc1hHNGdJQ0FnYzJWeWFXRnNhWHBsUkdGMFpTeGNiaUFnSUNCbWIzSnRZWFFzWEc0Z0lDQWdabTl5YldGMGRHVnlMRnh1SUNBZ0lHVnVZMjlrWlZaaGJIVmxjMDl1Ykhrc1hHNGdJQ0FnWTJoaGNuTmxkQ3hjYmlBZ0lDQnphV1JsUTJoaGJtNWxiRnh1S1NCN1hHNGdJQ0FnZG1GeUlHOWlhaUE5SUc5aWFtVmpkRHRjYmx4dUlDQWdJSFpoY2lCMGJYQlRZeUE5SUhOcFpHVkRhR0Z1Ym1Wc08xeHVJQ0FnSUhaaGNpQnpkR1Z3SUQwZ01EdGNiaUFnSUNCMllYSWdabWx1WkVac1lXY2dQU0JtWVd4elpUdGNiaUFnSUNCM2FHbHNaU0FvS0hSdGNGTmpJRDBnZEcxd1UyTXVaMlYwS0hObGJuUnBibVZzS1NrZ0lUMDlJSFp2YVdRZ2RXNWtaV1pwYm1Wa0lDWW1JQ0ZtYVc1a1JteGhaeWtnZTF4dUlDQWdJQ0FnSUNBdkx5QlhhR1Z5WlNCdlltcGxZM1FnYkdGemRDQmhjSEJsWVhKbFpDQnBiaUIwYUdVZ2NtVm1JSFJ5WldWY2JpQWdJQ0FnSUNBZ2RtRnlJSEJ2Y3lBOUlIUnRjRk5qTG1kbGRDaHZZbXBsWTNRcE8xeHVJQ0FnSUNBZ0lDQnpkR1Z3SUNzOUlERTdYRzRnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnY0c5eklDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnZjeUE5UFQwZ2MzUmxjQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCU1lXNW5aVVZ5Y205eUtDZERlV05zYVdNZ2IySnFaV04wSUhaaGJIVmxKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnBibVJHYkdGbklEMGdkSEoxWlRzZ0x5OGdRbkpsWVdzZ2QyaHBiR1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhSdGNGTmpMbWRsZENoelpXNTBhVzVsYkNrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEdWd0lEMGdNRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnWm1sc2RHVnlJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJRzlpYWlBOUlHWnBiSFJsY2lod2NtVm1hWGdzSUc5aWFpazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHZZbW9nYVc1emRHRnVZMlZ2WmlCRVlYUmxLU0I3WEc0Z0lDQWdJQ0FnSUc5aWF
1pQTlJSE5sY21saGJHbDZaVVJoZEdVb2IySnFLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2RsYm1WeVlYUmxRWEp5WVhsUWNtVm1hWGdnUFQwOUlDZGpiMjF0WVNjZ0ppWWdhWE5CY25KaGVTaHZZbW9wS1NCN1hHNGdJQ0FnSUNBZ0lHOWlhaUE5SUhWMGFXeHpMbTFoZVdKbFRXRndLRzlpYWl3Z1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCRVlYUmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE5sY21saGJHbDZaVVJoZEdVb2RtRnNkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2IySnFJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHpkSEpwWTNST2RXeHNTR0Z1Wkd4cGJtY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGJtTnZaR1Z5SUNZbUlDRmxibU52WkdWV1lXeDFaWE5QYm14NUlEOGdaVzVqYjJSbGNpaHdjbVZtYVhnc0lHUmxabUYxYkhSekxtVnVZMjlrWlhJc0lHTm9ZWEp6WlhRc0lDZHJaWGtuTENCbWIzSnRZWFFwSURvZ2NISmxabWw0TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdiMkpxSUQwZ0p5YzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x6VG05dVRuVnNiR2x6YUZCeWFXMXBkR2wyWlNodlltb3BJSHg4SUhWMGFXeHpMbWx6UW5WbVptVnlLRzlpYWlrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dWdVkyOWtaWElwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCclpYbFdZV3gxWlNBOUlHVnVZMjlrWlZaaGJIVmxjMDl1YkhrZ1B5QndjbVZtYVhnZ09pQmxibU52WkdWeUtIQnlaV1pwZUN3Z1pHVm1ZWFZzZEhNdVpXNWpiMlJsY2l3Z1kyaGhjbk5sZEN3Z0oydGxlU2NzSUdadmNtMWhkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cyWnZjbTFoZEhSbGNpaHJaWGxXWVd4MVpTa2dLeUFuUFNjZ0t5Qm1iM0p0WVhSMFpYSW9aVzVqYjJSbGNpaHZZbW9zSUdSbFptRjFiSFJ6TG1WdVkyOWtaWElzSUdOb1lYSnpaWFFzSUNkMllXeDFaU2NzSUdadmNtMWhkQ2twWFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1cyWnZjbTFoZEhSbGNpaHdjbVZtYVhncElDc2dKejBuSUNzZ1ptOXliV0YwZEdWeUtGTjBjbWx1Wnlodlltb3BLVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhaaGJIVmxjeUE5SUZ0ZE8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZZbW9nUFQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJRzlpYWt0bGVYTTdYRzRnSUNBZ2FXWWdLR2RsYm1WeVlYUmxRWEp5WVhsUWNtVm1hWGdnUFQwOUlDZGpiMjF0WVNjZ0ppWWdhWE5CY25KaG
1VTaHZZbW9wS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJSGRsSUc1bFpXUWdkRzhnYW05cGJpQmxiR1Z0Wlc1MGN5QnBibHh1SUNBZ0lDQWdJQ0JwWmlBb1pXNWpiMlJsVm1Gc2RXVnpUMjVzZVNBbUppQmxibU52WkdWeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCdlltb2dQU0IxZEdsc2N5NXRZWGxpWlUxaGNDaHZZbW9zSUdWdVkyOWtaWElwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHOWlha3RsZVhNZ1BTQmJleUIyWVd4MVpUb2diMkpxTG14bGJtZDBhQ0ErSURBZ1B5QnZZbW91YW05cGJpZ25MQ2NwSUh4OElHNTFiR3dnT2lCMmIybGtJSFZ1WkdWbWFXNWxaQ0I5WFR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dselFYSnlZWGtvWm1sc2RHVnlLU2tnZTF4dUlDQWdJQ0FnSUNCdlltcExaWGx6SUQwZ1ptbHNkR1Z5TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2IySnFLVHRjYmlBZ0lDQWdJQ0FnYjJKcVMyVjVjeUE5SUhOdmNuUWdQeUJyWlhsekxuTnZjblFvYzI5eWRDa2dPaUJyWlhsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmxibU52WkdWa1VISmxabWw0SUQwZ1pXNWpiMlJsUkc5MFNXNUxaWGx6SUQ4Z2NISmxabWw0TG5KbGNHeGhZMlVvTDF4Y0xpOW5MQ0FuSlRKRkp5a2dPaUJ3Y21WbWFYZzdYRzVjYmlBZ0lDQjJZWElnWVdScWRYTjBaV1JRY21WbWFYZ2dQU0JqYjIxdFlWSnZkVzVrVkhKcGNDQW1KaUJwYzBGeWNtRjVLRzlpYWlrZ0ppWWdiMkpxTG14bGJtZDBhQ0E5UFQwZ01TQS9JR1Z1WTI5a1pXUlFjbVZtYVhnZ0t5QW5XMTBuSURvZ1pXNWpiMlJsWkZCeVpXWnBlRHRjYmx4dUlDQWdJR2xtSUNoaGJHeHZkMFZ0Y0hSNVFYSnlZWGx6SUNZbUlHbHpRWEp5WVhrb2IySnFLU0FtSmlCdlltb3ViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaFpHcDFjM1JsWkZCeVpXWnBlQ0FySUNkYlhTYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQnZZbXBMWlhsekxteGxibWQwYURzZ0t5dHFLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJaWGtnUFNCdlltcExaWGx6VzJwZE8xeHVJQ0FnSUNBZ0lDQjJZWElnZG1Gc2RXVWdQU0IwZVhCbGIyWWdhMlY1SUQwOVBTQW5iMkpxWldOMEp5QW1KaUIwZVhCbGIyWWdhMlY1TG5aaGJIVmxJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QS9JR3RsZVM1MllXeDFaU0E2SUc5aWFsdHJaWGxkTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2h6YTJsd1RuVnNiSE1nSmlZZ2RtRnNkV1VnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJR1Z1WTI5a1pXUkxaWGtnUFNCaGJHeHZkMFJ2ZEhNZ0ppWWdaVzVqYjJSbFJHOTBTVzVMWlhseklEOGdhMlY1TG5KbGNHeGhZMlVvTDF4Y0xpOW5MQ0FuSlRKRkp5a2dPaUJyWlhrN1hHNGdJQ0FnSUNBZ0lIWmhjaUJyWlhsUWNtVm1hWGdnUFNCcGMwRnljbUY1S0c5aWFpbGNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z2RIbHdaVzltSUdkbGJtVnlZWFJsUVhKeVlYbFFjbVZtYVhnZ1BUMDlJQ2RtZFc1amRHbHZiaWNnUHlCblpXNWxjbUYwWlVGeWNtRjVVSEpsWm1sNEtHRmthblZ6ZEdWa1VISmxabWw0TENCbGJtTnZaR1ZrUzJWNUtTQTZJR0ZrYW5WemRHVmtVSEpsWm1sNFhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUdGa2FuVnpkR1ZrVUhKbFptbDRJQ3NnS0dGc2JHOTNSRzkwY3lBL0lDY3VKeUFySUdWdVkyOWtaV1JMWlhrZ09pQW5XeWNnS3lCbGJtTnZaR1ZrUzJWNUlDc2dKMTBuS1R0Y2JseHVJQ0FnSUNBZ0lDQnphV1JsUTJoaGJtNWxiQzV6WlhRb2IySnFaV04wTENCemRHVndLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIWmhiSFZsVTJsa1pVTm9ZVzV1Wld3Z1BTQm5aWFJUYVdSbFEyaGhibTVsYkNncE8xeHVJQ0FnSUNBZ0lDQjJZV3gxWlZOcFpHVkRhR0Z1Ym1Wc0xuTmxkQ2h6Wlc1MGFXNWxiQ3dnYzJsa1pVTm9ZVzV1Wld3cE8xeHVJQ0FnSUNBZ0lDQndkWE5vVkc5QmNuSmhlU2gyWVd4MVpYTXNJSE4wY21sdVoybG1lU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdhMlY1VUhKbFptbDRMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1oyVnVaWEpoZEdWQmNuSmhlVkJ5WldacGVDeGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJXMWhVbTkxYm1SVWNtbHdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1lXeHNiM2RGYlhCMGVVRnljbUY1Y3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wY21samRFNTFiR3hJWVc1a2JHbHVaeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lITnJhWEJPZFd4c2N5eGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdVkyOWtaVVJ2ZEVsdVMyVjVjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHZGxibVZ5WVhSbFFYSnlZWGxRY21WbWFYZ2dQVDA5SUNkamIyMXRZU2NnSmlZZ1pXNWpiMlJsVm1Gc2RXVnpUMjVzZVNBbUppQnBjMEZ5Y21GNUtHOWlhaWtnUHlCdWRXeHNJRG9nWlc1amIyUmxjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnBiSFJsY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE52Y25Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JoYkd4dmQwUnZkSE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaWEpwWVd4cGVtVkVZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5YldGMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eWJXRjBkR1Z5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaVzVqYjJSbFZtRnNkV1Z6VDI1c2VTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdOb1lYSnpaWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3gxWlZOcFpHVkRhR0Z1Ym1Wc1hHNGdJQ0FnSUNBZ0lDa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaWE03WEc1OU8xeHVYRzUyWVhJZ2JtOXliV0ZzYVhwbFUzUnlhVzVuYVdaNVQzQjBhVzl1Y3lBOUlHWjFibU4wYVc5dUlHNXZjbTFoYkdsNlpWTjBjbWx1WjJsbWVVOXdkR2x2Ym5Nb2IzQjBjeWtnZTF4dUlDQWdJR2xtSUNnaGIzQjBjeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWbVlYVnNkSE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ2Y0hSekxtRnNiRzkzUlcxd2RIbEJjbkpoZVhNZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlIUjVjR1Z2WmlCdmNIUnpMbUZzYkc5M1JXMXdkSGxCY25KaGVYTWdJVDA5SUNkaWIyOXNaV0Z1SnlrZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RnWVd4c2IzZEZiWEIwZVVGeWNtRjVjMkFnYjNCMGFXOXVJR05oYmlCdmJteDVJR0psSUdCMGNuVmxZQ0J2Y2lCZ1ptRnNjMlZnTENCM2FHVnVJSEJ5YjNacFpHVmtKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ2Y0hSekxtVnVZMjlrWlVSdmRFbHVTMlY1Y3lBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2RIbHdaVzltSUc5
1d2RITXVaVzVqYjJSbFJHOTBTVzVMWlhseklDRTlQU0FuWW05dmJHVmhiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25ZR1Z1WTI5a1pVUnZkRWx1UzJWNWMyQWdiM0IwYVc5dUlHTmhiaUJ2Ym14NUlHSmxJR0IwY25WbFlDQnZjaUJnWm1Gc2MyVmdMQ0IzYUdWdUlIQnliM1pwWkdWa0p5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzl3ZEhNdVpXNWpiMlJsY2lBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ2IzQjBjeTVsYm1OdlpHVnlJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIwZVhCbGIyWWdiM0IwY3k1bGJtTnZaR1Z5SUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0owVnVZMjlrWlhJZ2FHRnpJSFJ2SUdKbElHRWdablZ1WTNScGIyNHVKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdOb1lYSnpaWFFnUFNCdmNIUnpMbU5vWVhKelpYUWdmSHdnWkdWbVlYVnNkSE11WTJoaGNuTmxkRHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEhNdVkyaGhjbk5sZENBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2IzQjBjeTVqYUdGeWMyVjBJQ0U5UFNBbmRYUm1MVGduSUNZbUlHOXdkSE11WTJoaGNuTmxkQ0FoUFQwZ0oybHpieTA0T0RVNUxURW5LU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxUm9aU0JqYUdGeWMyVjBJRzl3ZEdsdmJpQnRkWE4wSUdKbElHVnBkR2hsY2lCMWRHWXRPQ3dnYVhOdkxUZzROVGt0TVN3Z2IzSWdkVzVrWldacGJtVmtKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdadmNtMWhkQ0E5SUdadmNtMWhkSE5iSjJSbFptRjFiSFFuWFR0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RITXVabTl5YldGMElDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVdoaGN5NWpZV3hzS0dadmNtMWhkSE11Wm05eWJXRjBkR1Z5Y3l3Z2IzQjBjeTVtYjNKdFlYUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RWYm10dWIzZHVJR1p2Y20xaGRDQnZjSFJwYjI0Z2NISnZkbWxrWldRdUp5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWm05eWJXRjBJRDBnYjNCMGN5NW1iM0p0WVhRN1hHNGdJQ0FnZlZ4dUlDQWdJSFpoY2lCbWIzSnRZWFIwWlhJZ1BTQm1iM0p0WVhSekxtWnZjbTFoZEhSbGNuTmJabTl5YldGMFhUdGNibHh1SUNBZ0lIWmhjaUJtYVd4MFpYSWdQU0JrWldaaGRXeDBjeTVtYVd4MFpYSTdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZjSFJ6TG1acGJIUmxjaUE5UFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0JwYzBGeWNtRjVLRzl3ZEhNdVptbHNkR1Z5S1NrZ2UxeHVJQ0FnSUNBZ0lDQm1hV3gwWlhJZ1BTQnZjSFJ6TG1acGJIUmxjanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWVhKeVlYbEdiM0p0WVhRN1hHNGdJQ0FnYVdZZ0tHOXdkSE11WVhKeVlYbEdiM0p0WVhRZ2FXNGdZWEp5WVhsUWNtVm1hWGhIWlc1bGNtRjBiM0p6S1NCN1hHNGdJQ0FnSUNBZ0lHRnljbUY1Um05eWJXRjBJRDBnYjNCMGN5NWhjbkpoZVVadmNtMWhkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ2RwYm1ScFkyVnpKeUJwYmlCdmNIUnpLU0I3WEc0Z0lDQWdJQ0FnSUdGeWNtRjVSbTl5YldGMElEMGdiM0IwY3k1cGJtUnBZMlZ6SUQ4Z0oybHVaR2xqWlhNbklEb2dKM0psY0dWaGRDYzdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1lYSnlZWGxHYjNKdFlYUWdQU0JrWldaaGRXeDBjeTVoY25KaGVVWnZjbTFoZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0oyTnZiVzFoVW05MWJtUlVjbWx3SnlCcGJpQnZjSFJ6SUNZbUlIUjVjR1Z2WmlCdmNIUnpMbU52YlcxaFVtOTFibVJVY21sd0lDRTlQU0FuWW05dmJHVmhiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25ZR052YlcxaFVtOTFibVJVY21sd1lDQnRkWE4wSUdKbElHRWdZbTl2YkdWaGJpd2diM0lnWVdKelpXNTBKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdGc2JHOTNSRzkwY3lBOUlIUjVjR1Z2WmlCdmNIUnpMbUZzYkc5M1JHOTBjeUE5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUJ2Y0hSekxtVnVZMjlrWlVSdmRFbHVTMlY1Y3lBOVBUMGdkSEoxWlNBL0lIUnlkV1VnT2lCa1pXWmhkV3gwY3k1aGJHeHZkMFJ2ZEhNZ09pQWhJVzl3ZEhNdVlXeHNiM2RFYjNSek8xeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1lXUmtVWFZsY25sUWNtVm1hWGc2SUhSNWNHVnZaaUJ2Y0hSekxtRmtaRkYxWlhKNVVISmxabWw0SUQwOVBTQW5ZbTl2YkdWaGJpY2dQeUJ2Y0hSekxtRmtaRkYxWlhKNVVISmxabWw0SURvZ1pHVm1ZWFZzZEhNdVlXUmtVWFZsY25sUWNtVm1hWGdzWEc0Z0lDQWdJQ0FnSUdGc2JHOTNSRzkwY3pvZ1lXeHNiM2RFYjNSekxGeHVJQ0FnSUNBZ0lDQmhiR3h2ZDBWdGNIUjVRWEp5WVhsek9pQjBlWEJsYjJZZ2IzQjBjeTVoYkd4dmQwVnRjSFI1UVhKeVlYbHpJRDA5UFNBblltOXZiR1ZoYmljZ1B5QWhJVzl3ZEhNdVlXeHNiM2RGYlhCMGVVRnljbUY1Y3lBNklHUmxabUYxYkhSekxtRnNiRzkzUlcxd2RIbEJjbkpoZVhNc1hHNGdJQ0FnSUNBZ0lHRnljbUY1Um05eWJXRjBPaUJoY25KaG
1VVWnZjbTFoZEN4Y2JpQWdJQ0FnSUNBZ1kyaGhjbk5sZERvZ1kyaGhjbk5sZEN4Y2JpQWdJQ0FnSUNBZ1kyaGhjbk5sZEZObGJuUnBibVZzT2lCMGVYQmxiMllnYjNCMGN5NWphR0Z5YzJWMFUyVnVkR2x1Wld3Z1BUMDlJQ2RpYjI5c1pXRnVKeUEvSUc5d2RITXVZMmhoY25ObGRGTmxiblJwYm1Wc0lEb2daR1ZtWVhWc2RITXVZMmhoY25ObGRGTmxiblJwYm1Wc0xGeHVJQ0FnSUNBZ0lDQmpiMjF0WVZKdmRXNWtWSEpwY0RvZ2IzQjBjeTVqYjIxdFlWSnZkVzVrVkhKcGNDeGNiaUFnSUNBZ0lDQWdaR1ZzYVcxcGRHVnlPaUIwZVhCbGIyWWdiM0IwY3k1a1pXeHBiV2wwWlhJZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z1pHVm1ZWFZzZEhNdVpHVnNhVzFwZEdWeUlEb2diM0IwY3k1a1pXeHBiV2wwWlhJc1hHNGdJQ0FnSUNBZ0lHVnVZMjlrWlRvZ2RIbHdaVzltSUc5d2RITXVaVzVqYjJSbElEMDlQU0FuWW05dmJHVmhiaWNnUHlCdmNIUnpMbVZ1WTI5a1pTQTZJR1JsWm1GMWJIUnpMbVZ1WTI5a1pTeGNiaUFnSUNBZ0lDQWdaVzVqYjJSbFJHOTBTVzVMWlhsek9pQjBlWEJsYjJZZ2IzQjBjeTVsYm1OdlpHVkViM1JKYmt0bGVYTWdQVDA5SUNkaWIyOXNaV0Z1SnlBL0lHOXdkSE11Wlc1amIyUmxSRzkwU1c1TFpYbHpJRG9nWkdWbVlYVnNkSE11Wlc1amIyUmxSRzkwU1c1TFpYbHpMRnh1SUNBZ0lDQWdJQ0JsYm1OdlpHVnlPaUIwZVhCbGIyWWdiM0IwY3k1bGJtTnZaR1Z5SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnYjNCMGN5NWxibU52WkdWeUlEb2daR1ZtWVhWc2RITXVaVzVqYjJSbGNpeGNiaUFnSUNBZ0lDQWdaVzVqYjJSbFZtRnNkV1Z6VDI1c2VUb2dkSGx3Wlc5bUlHOXdkSE11Wlc1amIyUmxWbUZzZFdWelQyNXNlU0E5UFQwZ0oySnZiMnhsWVc0bklEOGdiM0IwY3k1bGJtTnZaR1ZXWVd4MVpYTlBibXg1SURvZ1pHVm1ZWFZzZEhNdVpXNWpiMlJsVm1Gc2RXVnpUMjVzZVN4Y2JpQWdJQ0FnSUNBZ1ptbHNkR1Z5T2lCbWFXeDBaWElzWEc0Z0lDQWdJQ0FnSUdadmNtMWhkRG9nWm05eWJXRjBMRnh1SUNBZ0lDQWdJQ0JtYjNKdFlYUjBaWEk2SUdadmNtMWhkSFJsY2l4Y2JpQWdJQ0FnSUNBZ2MyVnlhV0ZzYVhwbFJHRjBaVG9nZEhsd1pXOW1JRzl3ZEhNdWMyVnlhV0ZzYVhwbFJHRjBaU0E5UFQwZ0oyWjFibU4wYVc5dUp5QS9JRzl3ZEhNdWMyVnlhV0ZzYVhwbFJHRjBaU0E2SUdSbFptRjFiSFJ6TG5ObGNtbGhiR2w2WlVSaGRHVXNYRzRnSUNBZ0lDQWdJSE5yYVhCT2RXeHNjem9nZEhsd1pXOW1JRzl3ZEhNdWMydHBjRTUxYkd4eklEMDlQU0FuWW05dmJHVmhiaWNnUHlCdmNIUnpMbk5yYVhCT2RXeHNjeUE2SUdSbFptRjFiSFJ6TG5OcmFYQk9kV3hzY3l4Y2JpQWdJQ0FnSUNBZ2MyOXlkRG9nZEhsd1pXOW1JRzl3ZEhNdWMyOXlkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QS9JRzl3ZEhNdWMyOXlkQ0E2SUc1MWJHd3NYRzRnSUNBZ0lDQWdJSE4wY21samRFNTFiR3hJWVc1a2JHbHVaem9nZEhsd1pXOW1JRzl3ZEhNdWMzUnlhV04wVG5Wc2JFaGhibVJzYVc1bklEMDlQU0FuWW05dmJHVmhiaWNnUHlCdmNIUnpMbk4wY21samRFNTFiR3hJWVc1a2JHbHVaeUE2SUdSbFptRjFiSFJ6TG5OMGNtbGpkRTUxYkd4SVlXNWtiR2x1WjF4dUlDQWdJSDA3WEc1OU8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2h2WW1wbFkzUXNJRzl3ZEhNcElIdGNiaUFnSUNCMllYSWdiMkpxSUQwZ2IySnFaV04wTzF4dUlDQWdJSFpoY2lCdmNIUnBiMjV6SUQwZ2JtOXliV0ZzYVhwbFUzUnlhVzVuYVdaNVQzQjBhVzl1Y3lodmNIUnpLVHRjYmx4dUlDQWdJSFpoY2lCdlltcExaWGx6TzF4dUlDQWdJSFpoY2lCbWFXeDBaWEk3WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11Wm1sc2RHVnlJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJR1pwYkhSbGNpQTlJRzl3ZEdsdmJuTXVabWxzZEdWeU8xeHVJQ0FnSUNBZ0lDQnZZbW9nUFNCbWFXeDBaWElvSnljc0lHOWlhaWs3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hwYzBGeWNtRjVLRzl3ZEdsdmJuTXVabWxzZEdWeUtTa2dlMXh1SUNBZ0lDQWdJQ0JtYVd4MFpYSWdQU0J2Y0hScGIyNXpMbVpwYkhSbGNqdGNiaUFnSUNBZ0lDQWdiMkpxUzJWNWN5QTlJR1pwYkhSbGNqdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdhMlY1Y3lBOUlGdGRPMXh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ2WW1vZ0lUMDlJQ2R2WW1wbFkzUW5JSHg4SUc5aWFpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdKeWM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdkbGJtVnlZWFJsUVhKeVlYbFFjbVZtYVhnZ1BTQmhjbkpoZVZCeVpXWnBlRWRsYm1WeVlYUnZjbk5iYjNCMGFXOXVjeTVoY25KaGVVWnZjbTFoZEYwN1hHNGdJQ0FnZG1GeUlHTnZiVzFoVW05MWJtUlVjbWx3SUQwZ1oyVnVaWEpoZEdWQmNuSmhlVkJ5WldacGVDQTlQVDBnSjJOdmJXMWhKeUFtSmlCdmNIUnBiMjV6TG1OdmJXMWhVbTkxYm1SVWNtbHdPMXh1WEc0Z0lDQWdhV1lnS0NGdlltcExaWGx6S1NCN1hHNGdJQ0FnSUNBZ0lHOWlha3RsZVhNZ1BTQlBZbXBsWTNRdWEyVjVjeWh2WW1vcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHZjSFJwYjI1ekxuTnZjblFwSUh0Y2JpQWdJQ0FnSUNBZ2IySnFTMlY1Y3k1emIzSjBLRzl3ZEdsdmJuTXVjMjl5ZENrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlITnBaR1ZEYUdGdWJtVnNJRDBnWjJWMFUybGtaVU5vWVc1dVpXd29LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzlpYWt0bGVYTXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR3RsZVNBOUlHOWlha3RsZVhOYmFWMDdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXdkR2x2Ym5NdWMydHBjRTUxYkd4eklDWW1JRzlpYWx0clpYbGRJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J3ZFhOb1ZHOUJjbkpoZVNoclpYbHpMQ0J6ZEhKcGJtZHBabmtvWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZZbXBiYTJWNVhTeGNiaUFnSUNBZ0lDQWdJQ0FnSUd0bGVTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdkbGJtVnlZWFJsUVhKeVlYbFFjbVZtYVhnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjIxdFlWSnZkVzVrVkhKcGNDeGNiaUFnSUNBZ0lDQWdJQ0FnSUc5d2RHbHZibk11WVd4c2IzZEZiWEIwZVVGeWNtRjVjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXdkR2x2Ym5NdWMzUnlhV04wVG5Wc2JFaGhibVJzYVc1bkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYjNCMGFXOXVjeTV6YTJsd1RuVnNiSE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZjSFJwYjI1ekxtVnVZMjlrWlVSdmRFbHVTMlY1Y3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzl3ZEdsdmJuTXVaVzVqYjJSbElEOGdiM0IwYVc5dWN5NWxibU52WkdWeUlEb2diblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzl3ZEdsdmJuTXVabWxzZEdWeUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYjNCMGFXOXVjeTV6YjNKMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYjNCMGFXOXVjeTVoYkd4dmQwUnZkSE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZjSFJwYjI1ekxuTmxjbWxoYkdsNlpVUmhkR1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZjSFJwYjI1ekxtWnZjbTFoZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzl3ZEdsdmJuTXVabTl5YldGMGRHVnlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2IzQjBhVzl1Y3k1bGJtTnZaR1ZXWVd4MVpYTlBibXg1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiM0IwYVc5dWN5NWphR0Z5YzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsa1pVTm9ZVzV1Wld4Y2JpQWdJQ0FnSUNBZ0tTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR3B2YVc1bFpDQTlJR3RsZVhNdWFtOXBiaWh2Y0hScGIyNXpMbVJsYkdsdGFYUmxjaWs3WEc0Z0lDQWdkbUZ5SUhCeVpXWnBlQ0E5SUc5d2RHbHZibk11WVdSa1VYVmxjbmxRY21WbWFYZ2dQVDA5SUhSeWRXVWdQe
1UFuUHljZ09pQW5KenRjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6TG1Ob1lYSnpaWFJUWlc1MGFXNWxiQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9iM0IwYVc5dWN5NWphR0Z5YzJWMElEMDlQU0FuYVhOdkxUZzROVGt0TVNjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDZ25KaU14TURBd016c25LU3dnZEdobElGd2liblZ0WlhKcFl5QmxiblJwZEhsY0lpQnlaWEJ5WlhObGJuUmhkR2x2YmlCdlppQmhJR05vWldOcmJXRnlhMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NISmxabWw0SUNzOUlDZDFkR1k0UFNVeU5pVXlNekV3TURBekpUTkNKaWM3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvSitLY2t5Y3BYRzRnSUNBZ0lDQWdJQ0FnSUNCd2NtVm1hWGdnS3owZ0ozVjBaamc5SlVVeUpUbERKVGt6SmljN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYW05cGJtVmtMbXhsYm1kMGFDQStJREFnUHlCd2NtVm1hWGdnS3lCcWIybHVaV1FnT2lBbkp6dGNibjA3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2ZFhScGJITW5LVHRjYmx4dWRtRnlJR2hoY3lBOUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGs3WEc1MllYSWdhWE5CY25KaGVTQTlJRUZ5Y21GNUxtbHpRWEp5WVhrN1hHNWNiblpoY2lCa1pXWmhkV3gwY3lBOUlIdGNiaUFnSUNCaGJHeHZkMFJ2ZEhNNklHWmhiSE5sTEZ4dUlDQWdJR0ZzYkc5M1JXMXdkSGxCY25KaGVYTTZJR1poYkhObExGeHVJQ0FnSUdGc2JHOTNVSEp2ZEc5MGVYQmxjem9nWm1Gc2MyVXNYRzRnSUNBZ1lXeHNiM2RUY0dGeWMyVTZJR1poYkhObExGeHVJQ0FnSUdGeWNtRjVUR2x0YVhRNklESXdMRnh1SUNBZ0lHTm9ZWEp6WlhRNklDZDFkR1l0T0Njc1hHNGdJQ0FnWTJoaGNuTmxkRk5sYm5ScGJtVnNPaUJtWVd4elpTeGNiaUFnSUNCamIyMXRZVG9nWm1Gc2MyVXNYRzRnSUNBZ1pHVmpiMlJsUkc5MFNXNUxaWGx6T2lCMGNuVmxMRnh1SUNBZ0lHUmxZMjlrWlhJNklIVjBhV3h6TG1SbFkyOWtaU3hjYmlBZ0lDQmtaV3hwYldsMFpYSTZJQ2NtSnl4Y2JpQWdJQ0JrWlhCMGFEb2dOU3hjYmlBZ0lDQmtkWEJzYVdOaGRHVnpPaUFuWTI5dFltbHVaU2NzWEc0Z0lDQWdhV2R1YjNKbFVYVmxjbmxRY21WbWFYZzZJR1poYkhObExGeHVJQ0FnSUdsdWRHVnljSEpsZEU1MWJXVnlhV05GYm5ScGRHbGxjem9nWm1Gc2MyVXNYRzRnSUNBZ2NHRnlZVzFsZEdWeVRHbHRhWFE2SURFd01EQXNYRzRnSUNBZ2NHRnljMlZCY25KaGVYTTZJSFJ5ZFdVc1hHNGdJQ0FnY0d4aGFXNVBZbXBsWTNSek9pQm1ZV3h6WlN4Y2JpQWdJQ0J6ZEhKcFkzUk9kV3hzU0dGdVpHeHBibWM2SUdaaGJITmxYRzU5TzF4dVhHNTJZWElnYVc1MFpYSndjbVYwVG5WdFpYSnBZMFZ1ZEdsMGFXVnpJRDBnWm5WdVkzUnBiMjRnS0hOMGNpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCemRISXVjbVZ3YkdGalpTZ3ZKaU1vWEZ4a0t5azdMMmNzSUdaMWJtTjBhVzl1SUNna01Dd2diblZ0WW1WeVUzUnlLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJUZEhKcGJtY3Vabkp2YlVOb1lYSkRiMlJsS0hCaGNuTmxTVzUwS0c1MWJXSmxjbE4wY2l3Z01UQXBLVHRjYmlBZ0lDQjlLVHRjYm4wN1hHNWNiblpoY2lCd1lYSnpaVUZ5Y21GNVZtRnNkV1VnUFNCbWRXNWpkR2x2YmlBb2RtRnNMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lDQWdhV1lnS0haaGJDQW1KaUIwZVhCbGIyWWdkbUZzSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJ2Y0hScGIyNXpMbU52YlcxaElDWW1JSFpoYkM1cGJtUmxlRTltS0Njc0p5a2dQaUF0TVNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RtRnNMbk53YkdsMEtDY3NKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIWmhiRHRjYm4wN1hHNWNiaTh2SUZSb2FYTWdhWE1nZDJoaGRDQmljbTkzYzJWeWN5QjNhV3hzSUhOMVltMXBkQ0IzYUdWdUlIUm9aU0RpbkpNZ1kyaGhjbUZqZEdWeUlHOWpZM1Z5Y3lCcGJpQmhibHh1THk4Z1lYQndiR2xqWVhScGIyNHZlQzEzZDNjdFptOXliUzExY214bGJtTnZaR1ZrSUdKdlpIa2dZVzVrSUhSb1pTQmxibU52WkdsdVp5QnZaaUIwYUdVZ2NHRm5aU0JqYjI1MFlXbHVhVzVuWEc0dkx5QjBhR1VnWm05eWJTQnBjeUJwYzI4dE9EZzFPUzB4TENCdmNpQjNhR1Z1SUhSb1pTQnpkV0p0YVhSMFpXUWdabTl5YlNCb1lYTWdZVzRnWVdOalpYQjBMV05vWVhKelpYUmNiaTh2SUdGMGRISnBZblYwWlNCdlppQnBjMjh0T0RnMU9TMHhMaUJRY21WemRXMWhZbXg1SUdGc2MyOGdkMmwwYUNCdmRHaGxjaUJqYUdGeWMyVjBjeUIwYUdGMElHUnZJRzV2ZENCamIyNTBZV2x1WEc0dkx5QjBhR1VnNHB5VElHTm9ZWEpoWTNSbGNpd2djM1ZqYUNCaGN5QjFjeTFoYzJOcGFTNWNiblpoY2lCcGMyOVRaVzUwYVc1bGJDQTlJQ2QxZEdZNFBTVXlOaVV5TXpFd01EQXpKVE5DSnpzZ0x5OGdaVzVqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLQ2NtSXpFd01EQXpPeWNwWEc1Y2JpOHZJRlJvWlhObElHRnlaU0IwYUdVZ2NHVnlZMlZ1ZEMxbGJtTnZaR1ZrSUhWMFppMDRJRzlqZEdWMGN5QnlaWEJ5WlhObGJuUnBibWNnWVNCamFHVmphMjFoY21zc0lHbHVaR2xqWVhScGJtY2dkR2hoZENCMGFHVWdjbVZ4ZFdWemRDQmhZM1IxWVd4c2VTQnBjeUIxZEdZdE9DQmxibU52WkdWa0xseHVkbUZ5SUdOb1lYSnpaWFJUWlc1MGFXNWxiQ0E5SUNkMWRHWTRQU1ZGTWlVNVF5VTVNeWM3SUM4dklHVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDZ240cHlUSnlsY2JseHVkbUZ5SUhCaGNuTmxWbUZzZFdWeklEMGdablZ1WTNScGIyNGdjR0Z5YzJWUmRXVnllVk4wY21sdVoxWmhiSFZsY3loemRISXNJRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQjJZWElnYjJKcUlEMGdleUJmWDNCeWIzUnZYMTg2SUc1MWJHd2dmVHRjYmx4dUlDQWdJSFpoY2lCamJHVmhibE4wY2lBOUlHOXdkR2x2Ym5NdWFXZHViM0psVVhWbGNubFFjbVZtYVhnZ1B5QnpkSEl1Y21Wd2JHRmpaU2d2WGx4Y1B5OHNJQ2NuS1NBNklITjBjanRjYmlBZ0lDQjJZWElnYkdsdGFYUWdQU0J2Y0hScGIyNXpMbkJoY21GdFpYUmxja3hwYldsMElEMDlQU0JKYm1acGJtbDBlU0EvSUhWdVpHVm1hVzVsWkNBNklHOXdkR2x2Ym5NdWNHRnlZVzFsZEdWeVRHbHRhWFE3WEc0Z0lDQWdkbUZ5SUhCaGNuUnpJRDBnWTJ4bFlXNVRkSEl1YzNCc2FYUW9iM0IwYVc5dWN5NWtaV3hwYldsMFpYSXNJR3hwYldsMEtUdGNiaUFnSUNCMllYSWdjMnRwY0VsdVpHVjRJRDBnTFRFN0lDOHZJRXRsWlhBZ2RISmhZMnNnYjJZZ2QyaGxjbVVnZEdobElIVjBaamdnYzJWdWRHbHVaV3dnZDJGeklHWnZkVzVrWEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCMllYSWdZMmhoY25ObGRDQTlJRzl3ZEdsdmJuTXVZMmhoY25ObGREdGNiaUFnSUNCcFppQW9iM0IwYVc5dWN5NWphR0Z5YzJWMFUyVnVkR2x1Wld3cElIdGNiaUFnSUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElIQmhjblJ6TG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jR0Z5ZEhOYmFWMHVhVzVrWlhoUFppZ25kWFJtT0QwbktTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3WVhKMGMxdHBYU0E5UFQwZ1kyaGhjbk5sZEZObGJuUnBibVZzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05vWVhKelpYUWdQU0FuZFhSbUxUZ25PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvY0dGeWRITmJhVjBnUFQwOUlHbHpiMU5sYm5ScGJtVnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9ZWEp6WlhRZ1BTQW5hWE52TFRnNE5Ua3RNU2M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOcmFYQkpibVJsZUNBOUlHazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0E5SUhCaGNuUnpMbXhsYm1kMGFEc2dMeThnVkdobElHVnpiR2x1ZENCelpYUjBhVzVuY3lCa2J5QnViM1FnWVd4c2IzY2dZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2djR0Z5ZEhNdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHa2dQVDA5SUhOcmFYQkpibVJsZUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2RtRnlJSEJoY25RZ1BTQndZWEowYzF0cFhUdGNibHh1SUNBZ0lDQWdJQ0IyWVhJZ1luSmhZMnRsZEVWeGRXRnNjMUJ2Y3lBOUlIQmhjblF1YVc1a1pYaFBaaWduWFQwbktUdGNiaUFnSUNBZ0lDQWdkbUZ5SUhCdmN5QTlJR0p5WVdOclpYUkZjWFZoYkhOUWIzTWdQVDA5SUMweElEOGdjR0Z5ZEM1cGJtUmxlRTltS0NjOUp5a2dPaUJpY21GamEyVjBSWEYxWVd4elVHOXpJQ3NnTVR0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYTJWNUxDQjJZV3c3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdiM01nUFQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJaWGtnUFNCdmNIUnBiMjV6TG1SbFkyOWtaWElvY0dGeWRDd2daR1ZtWVhWc2RITXVaR1ZqYjJSbGNpd2dZMmhoY25ObGRDd2dKMnRsZVNjcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc0lEMGdiM0IwYVc5dWN5NXpkSEpwWTNST2RXeHNTR0Z1Wkd4cGJtY2dQeUJ1ZFd4c0lEb2dKeWM3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJaWGtnUFNCdmNIUnBiMjV6TG1SbFkyOWtaWElvY0dGeWRDNXpiR2xqWlNnd0xDQndiM01wTENCa1pXWmhkV3gwY3k1a1pXTnZaR1Z5TENCamFHRnljMlYwTENBbmEyVjVKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3dnUFNCMWRHbHNjeTV0WVhsaVpVMWhjQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVhKelpVRnljbUY1Vm1Gc2RXVW9jR0Z5ZEM1emJHbGpaU2h3YjNNZ0t5QX
1hLU3dnYjNCMGFXOXVjeWtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnS0dWdVkyOWtaV1JXWVd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzl3ZEdsdmJuTXVaR1ZqYjJSbGNpaGxibU52WkdWa1ZtRnNMQ0JrWldaaGRXeDBjeTVrWldOdlpHVnlMQ0JqYUdGeWMyVjBMQ0FuZG1Gc2RXVW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkNBbUppQnZjSFJwYjI1ekxtbHVkR1Z5Y0hKbGRFNTFiV1Z5YVdORmJuUnBkR2xsY3lBbUppQmphR0Z5YzJWMElEMDlQU0FuYVhOdkxUZzROVGt0TVNjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJDQTlJR2x1ZEdWeWNISmxkRTUxYldWeWFXTkZiblJwZEdsbGN5aDJZV3dwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0hCaGNuUXVhVzVrWlhoUFppZ25XMTA5SnlrZ1BpQXRNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZzSUQwZ2FYTkJjbkpoZVNoMllXd3BJRDhnVzNaaGJGMGdPaUIyWVd3N1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0IyWVhJZ1pYaHBjM1JwYm1jZ1BTQm9ZWE11WTJGc2JDaHZZbW9zSUd0bGVTazdYRzRnSUNBZ0lDQWdJR2xtSUNobGVHbHpkR2x1WnlBbUppQnZjSFJwYjI1ekxtUjFjR3hwWTJGMFpYTWdQVDA5SUNkamIyMWlhVzVsSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYjJKcVcydGxlVjBnUFNCMWRHbHNjeTVqYjIxaWFXNWxLRzlpYWx0clpYbGRMQ0IyWVd3cE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZsZUdsemRHbHVaeUI4ZkNCdmNIUnBiMjV6TG1SMWNHeHBZMkYwWlhNZ1BUMDlJQ2RzWVhOMEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IySnFXMnRsZVYwZ1BTQjJZV3c3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiMkpxTzF4dWZUdGNibHh1ZG1GeUlIQmhjbk5sVDJKcVpXTjBJRDBnWm5WdVkzUnBiMjRnS0dOb1lXbHVMQ0IyWVd3c0lHOXdkR2x2Ym5Nc0lIWmhiSFZsYzFCaGNuTmxaQ2tnZTF4dUlDQWdJSFpoY2lCc1pXRm1JRDBnZG1Gc2RXVnpVR0Z5YzJWa0lEOGdkbUZzSURvZ2NHRnljMlZCY25KaGVWWmhiSFZsS0haaGJDd2diM0IwYVc5dWN5azdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnWTJoaGFXNHViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUF0TFdrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUc5aWFqdGNiaUFnSUNBZ0lDQWdkbUZ5SUhKdmIzUWdQU0JqYUdGcGJsdHBYVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9jbTl2ZENBOVBUMGdKMXRkSnlBbUppQnZjSFJwYjI1ekxuQmhjbk5sUVhKeVlYbHpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnZZbW9nUFNCdmNIUnBiMjV6TG1Gc2JHOTNSVzF3ZEhsQmNuSmhlWE1nSmlZZ2JHVmhaaUE5UFQwZ0p5Y2dQeUJiWFNBNklGdGRMbU52Ym1OaGRDaHNaV0ZtS1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzlpYWlBOUlHOXdkR2x2Ym5NdWNHeGhhVzVQWW1wbFkzUnpJRDhnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1NBNklIdDlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR05zWldGdVVtOXZkQ0E5SUhKdmIzUXVZMmhoY2tGMEtEQXBJRDA5UFNBbld5Y2dKaVlnY205dmRDNWphR0Z5UVhRb2NtOXZkQzVzWlc1bmRHZ2dMU0F4S1NBOVBUMGdKMTBuSUQ4Z2NtOXZkQzV6YkdsalpTZ3hMQ0F0TVNrZ09pQnliMjkwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdSbFkyOWtaV1JTYjI5MElEMGdiM0IwYVc5dWN5NWtaV052WkdWRWIzUkpia3RsZVhNZ1B5QmpiR1ZoYmxKdmIzUXVjbVZ3YkdGalpTZ3ZKVEpGTDJjc0lDY3VKeWtnT2lCamJHVmhibEp2YjNRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2FXNWtaWGdnUFNCd1lYSnpaVWx1ZENoa1pXTnZaR1ZrVW05dmRDd2dNVEFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGdmNIUnBiMjV6TG5CaGNuTmxRWEp5WVhseklDWW1JR1JsWTI5a1pXUlNiMjkwSUQwOVBTQW5KeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5aWF
1pQTlJSHNnTURvZ2JHVmhaaUI5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FoYVhOT1lVNG9hVzVrWlhncFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0ppWWdjbTl2ZENBaFBUMGdaR1ZqYjJSbFpGSnZiM1JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FtSmlCVGRISnBibWNvYVc1a1pYZ3BJRDA5UFNCa1pXTnZaR1ZrVW05dmRGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDWW1JR2x1WkdWNElENDlJREJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FtSmlBb2IzQjBhVzl1Y3k1d1lYSnpaVUZ5Y21GNWN5QW1KaUJwYm1SbGVDQThQU0J2Y0hScGIyNXpMbUZ5Y21GNVRHbHRhWFFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2WW1vZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2WW1wYmFXNWtaWGhkSUQwZ2JHVmhaanRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9aR1ZqYjJSbFpGSnZiM1FnSVQwOUlDZGZYM0J5YjNSdlgxOG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjJKcVcyUmxZMjlrWldSU2IyOTBYU0E5SUd4bFlXWTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JzWldGbUlEMGdiMkpxTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnNaV0ZtTzF4dWZUdGNibHh1ZG1GeUlIQmhjbk5sUzJWNWN5QTlJR1oxYm1OMGFXOXVJSEJoY25ObFVYVmxjbmxUZEhKcGJtZExaWGx6S0dkcGRtVnVTMlY1TENCMllXd3NJRzl3ZEdsdmJuTXNJSFpoYkhWbGMxQmhjbk5sWkNrZ2UxeHVJQ0FnSUdsbUlDZ2haMmwyWlc1TFpYa3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRlJ5WVc1elptOXliU0JrYjNRZ2JtOTBZWFJwYjI0Z2RHOGdZbkpoWTJ0bGRDQnViM1JoZEdsdmJseHVJQ0FnSUhaaGNpQnJaWGtnUFNCdmNIUnBiMjV6TG1Gc2JHOTNSRzkwY3lBL0lHZHBkbVZ1UzJWNUxuSmxjR3hoWTJVb0wxeGNMaWhiWGk1YlhTc3BMMmNzSUNkYkpERmRKeWtnT2lCbmFYWmxia3RsZVR0Y2JseHVJQ0FnSUM4dklGUm9aU0J5WldkbGVDQmphSFZ1YTNOY2JseHVJQ0FnSUhaaGNpQmljbUZqYTJWMGN5QTlJQzhvWEZ4YlcxNWJYRnhkWFNwZEtTODdYRzRnSUNBZ2RtRnlJR05vYVd4a0lEMGdMeWhjWEZ0YlhsdGNYRjFkS2wwcEwyYzdYRzVjYmlBZ0lDQXZMeUJIWlhRZ2RHaGxJSEJoY21WdWRGeHVYRzRnSUNBZ2RtRnlJSE5sWjIxbGJuUWdQU0J2Y0hScGIyNXpMbVJsY0hSb0lENGdNQ0FtSmlCaWNtRmphMlYwY3k1bGVHVmpLR3RsZVNrN1hHNGdJQ0FnZG1GeUlIQmhjbVZ1ZENBOUlITmxaMjFsYm5RZ1B5QnJaWGt1YzJ4cFkyVW9NQ3dnYzJWbmJXVnVkQzVwYm1SbGVDa2dPaUJyWlhrN1hHNWNiaUFnSUNBdkx5QlRkR0Z6YUNCMGFHVWdjR0Z5Wlc1MElHbG1JR2wwSUdWNGFYTjBjMXh1WEc0Z0lDQWdkbUZ5SUd0bGVYTWdQU0JiWFR0Y2JpQWdJQ0JwWmlBb2NHRnlaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRWxtSUhkbElHRnlaVzRuZENCMWMybHVaeUJ3YkdGcGJpQnZZbXBsWTNSekxDQnZjSFJwYjI1aGJHeDVJSEJ5WldacGVDQnJaWGx6SUhSb1lYUWdkMjkxYkdRZ2IzWmxjbmR5YVhSbElHOWlhbVZqZENCd2NtOTBiM1I1Y0dVZ2NISnZjR1Z5ZEdsbGMxeHVJQ0FnSUNBZ0lDQnBaaUFvSVc5d2RHbHZibk11Y0d4aGFXNVBZbXBsWTNSeklDWW1JR2hoY3k1allXeHNLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXNJSEJoY21WdWRDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYjNCMGFXOXVjeTVoYkd4dmQxQnliM1J2ZEhsd1pYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JyWlhsekxuQjFjMmdvY0dGeVpXNTBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJNYjI5d0lIUm9jbTkxWjJnZ1kyaHBiR1J5Wlc0Z1lYQndaVzVrYVc1bklIUnZJSFJvWlNCaGNuSmhlU0IxYm5ScGJDQjNaU0JvYVhRZ1pHVndkR2hjYmx4dUlDQWdJSFpoY2lCcElEMGdNRHRjYmlBZ0lDQjNhR2xzWlNBb2IzQjBhVzl1Y3k1a1pYQjBhQ0ErSURBZ0ppWWdLSE5sWjIxbGJuUWdQU0JqYUdsc1pDNWxlR1ZqS0d0bGVTa3BJQ0U5UFNCdWRXeHNJQ1ltSUdrZ1BDQnZjSFJwYjI1ekxtUmxjSFJvS1NCN1hHNGdJQ0FnSUNBZ0lHa2dLejBnTVR0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0Z2Y0hScGIyNXpMbkJzWVdsdVQySnFaV04wY3lBbUppQm9ZWE11WTJGc2JDaFBZbXBsWTNRdWNISnZkRzkwZVhCbExDQnpaV2R0Wlc1MFd6RmRMbk5zYVdObEtERXNJQzB4S1NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hiM0IwYVc5dWN5NWhiR3h2ZDFCeWIzUnZkSGx3WlhNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2EyVjVjeTV3ZFhOb0tITmxaMjFsYm5SYk1WMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRWxtSUhSb1pYSmxKM01nWVNCeVpXMWhhVzVrWlhJc0lHcDFjM1FnWVdSa0lIZG9ZWFJsZG1WeUlHbHpJR3hsWm5SY2JseHVJQ0FnSUdsbUlDaHpaV2R0Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJR3RsZVhNdWNIVnphQ2duV3ljZ0t5QnJaWGt1YzJ4cFkyVW9jMlZuYldWdWRDNXBibVJsZUNrZ0t5QW5YU2NwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQndZWEp6WlU5aWFtVmpkQ2hyWlhsekxDQjJZV3dzSUc5d2RHbHZibk1zSUhaaGJIVmxjMUJoY25ObFpDazdYRzU5TzF4dVhHNTJZWElnYm05eWJXRnNhWHBsVUdGeWMyVlBjSFJwYjI1eklEMGdablZ1WTNScGIyNGdibTl5YldGc2FYcGxVR0Z5YzJWUGNIUnBiMjV6S0c5d2RITXBJSHRjYmlBZ0lDQnBaaUFvSVc5d2RITXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsWm1GMWJIUnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwY3k1aGJHeHZkMFZ0Y0hSNVFYSnlZWGx6SUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmlCMGVYQmxiMllnYjNCMGN5NWhiR3h2ZDBWdGNIUjVRWEp5WVhseklDRTlQU0FuWW05dmJHVmhiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25ZR0ZzYkc5M1JXMXdkSGxCY25KaGVYTmdJRzl3ZEdsdmJpQmpZVzRnYjI1c2VTQmlaU0JnZEhKMVpXQWdiM0lnWUdaaGJITmxZQ3dnZDJobGJpQndjbTkyYVdSbFpDY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwY3k1a1pXTnZaR1ZFYjNSSmJrdGxlWE1nSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhSNWNHVnZaaUJ2Y0hSekxtUmxZMjlrWlVSdmRFbHVTMlY1Y3lBaFBUMGdKMkp2YjJ4bFlXNG5LU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oyQmtaV052WkdWRWIzUkpia3RsZVhOZ0lHOXdkR2x2YmlCallXNGdiMjVzZVNCaVpTQmdkSEoxWldBZ2IzSWdZR1poYkhObFlDd2dkMmhsYmlCd2NtOTJhV1JsWkNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHZjSFJ6TG1SbFkyOWtaWElnSVQwOUlHNTFiR3dnSmlZZ2RIbHdaVzltSUc5
1d2RITXVaR1ZqYjJSbGNpQWhQVDBnSjNWdVpHVm1hVzVsWkNjZ0ppWWdkSGx3Wlc5bUlHOXdkSE11WkdWamIyUmxjaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkRVpXTnZaR1Z5SUdoaGN5QjBieUJpWlNCaElHWjFibU4wYVc5dUxpY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwY3k1amFHRnljMlYwSUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmlCdmNIUnpMbU5vWVhKelpYUWdJVDA5SUNkMWRHWXRPQ2NnSmlZZ2IzQjBjeTVqYUdGeWMyVjBJQ0U5UFNBbmFYTnZMVGc0TlRrdE1TY3BJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblZHaGxJR05vWVhKelpYUWdiM0IwYVc5dUlHMTFjM1FnWW1VZ1pXbDBhR1Z5SUhWMFppMDRMQ0JwYzI4dE9EZzFPUzB4TENCdmNpQjFibVJsWm1sdVpXUW5LVHRjYmlBZ0lDQjlYRzRnSUNBZ2RtRnlJR05vWVhKelpYUWdQU0IwZVhCbGIyWWdiM0IwY3k1amFHRnljMlYwSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUdSbFptRjFiSFJ6TG1Ob1lYSnpaWFFnT2lCdmNIUnpMbU5vWVhKelpYUTdYRzVjYmlBZ0lDQjJZWElnWkhWd2JHbGpZWFJsY3lBOUlIUjVjR1Z2WmlCdmNIUnpMbVIxY0d4cFkyRjBaWE1nUFQwOUlDZDFibVJsWm1sdVpXUW5JRDhnWkdWbVlYVnNkSE11WkhWd2JHbGpZWFJsY3lBNklHOXdkSE11WkhWd2JHbGpZWFJsY3p0Y2JseHVJQ0FnSUdsbUlDaGtkWEJzYVdOaGRHVnpJQ0U5UFNBblkyOXRZbWx1WlNjZ0ppWWdaSFZ3YkdsallYUmxjeUFoUFQwZ0oyWnBjbk4wSnlBbUppQmtkWEJzYVdOaGRHVnpJQ0U5UFNBbmJHRnpkQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25WR2hsSUdSMWNHeHBZMkYwWlhNZ2IzQjBhVzl1SUcxMWMzUWdZbVVnWldsMGFHVnlJR052YldKcGJtVXNJR1pwY25OMExDQnZjaUJzWVhOMEp5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR0ZzYkc5M1JHOTBjeUE5SUhSNWNHVnZaaUJ2Y0hSekxtRnNiRzkzUkc5MGN5QTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QnZjSFJ6TG1SbFkyOWtaVVJ2ZEVsdVMyVjVjeUE5UFQwZ2RISjFaU0EvSUhSeWRXVWdPaUJrWldaaGRXeDBjeTVoYkd4dmQwUnZkSE1nT2lBaElXOXdkSE11WVd4c2IzZEViM1J6TzF4dVhHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWVd4c2IzZEViM1J6T2lCaGJHeHZkMFJ2ZEhNc1hHNGdJQ0FnSUNBZ0lHRnNiRzkzUlcxd2RIbEJjbkpoZVhNNklIUjVjR1Z2WmlCdmNIUnpMbUZzYkc5M1JXMXdkSGxCY25KaGVYTWdQVDA5SUNkaWIyOXNaV0Z1SnlBL0lDRWhiM0IwY3k1aGJHeHZkMFZ0Y0hSNVFYSnlZWGx6SURvZ1pHVm1ZWFZzZEhNdVlXeHNiM2RGYlhCMGVVRnljbUY1Y3l4Y2JpQWdJQ0FnSUNBZ1lXeHNiM2RRY205MGIzUjVjR1Z6T2lCMGVYQmxiMllnYjNCMGN5NWhiR3h2ZDFCeWIzUnZkSGx3WlhNZ1BUMDlJQ2RpYjI5c1pXRnVKeUEvSUc5d2RITXVZV3hzYjNkUWNtOTBiM1I1Y0dWeklEb2daR1ZtWVhWc2RITXVZV3hzYjNkUWNtOTBiM1I1Y0dWekxGeHVJQ0FnSUNBZ0lDQmhiR3h2ZDFOd1lYSnpaVG9nZEhsd1pXOW1JRzl3ZEhNdVlXeHNiM2RUY0dGeWMyVWdQVDA5SUNkaWIyOXNaV0Z1SnlBL0lHOXdkSE11WVd4c2IzZFRjR0Z5YzJVZ09pQmtaV1poZFd4MGN5NWhiR3h2ZDFOd1lYSnpaU3hjYmlBZ0lDQWdJQ0FnWVhKeVlYbE1hVzFwZERvZ2RIbHdaVzltSUc5d2RITXVZWEp5WVhsTWFXMXBkQ0E5UFQwZ0oyNTFiV0psY2ljZ1B5QnZjSFJ6TG1GeWNtRjVUR2x0YVhRZ09pQmtaV1poZFd4MGN5NWhjbkpoZVV4cGJXbDBMRnh1SUNBZ0lDQWdJQ0JqYUdGeWMyVjBPaUJqYUdGeWMyVjBMRnh1SUNBZ0lDQWdJQ0JqYUdGeWMyVjBVMlZ1ZEdsdVpXdzZJSFI1Y0dWdlppQnZjSFJ6TG1Ob1lYSnpaWFJUWlc1MGFXNWxiQ0E5UFQwZ0oySnZiMnhsWVc0bklEOGdiM0IwY3k1amFHRnljMlYwVTJWdWRHbHVaV3dnT2lCa1pXWmhkV3gwY3k1amFHRnljMlYwVTJWdWRHbHVaV3dzWEc0Z0lDQWdJQ0FnSUdOdmJXMWhPaUIwZVhCbGIyWWdiM0IwY3k1amIyMXRZU0E5UFQwZ0oySnZiMnhsWVc0bklEOGdiM0IwY3k1amIyMXRZU0E2SUdSbFptRjFiSFJ6TG1OdmJXMWhMRnh1SUNBZ0lDQWdJQ0JrWldOdlpHVkViM1JKYmt0bGVYTTZJSFI1Y0dWdlppQnZjSFJ6TG1SbFkyOWtaVVJ2ZEVsdVMyVjVjeUE5UFQwZ0oySnZiMnhsWVc0bklEOGdiM0IwY3k1a1pXTnZaR1ZFYjNSSmJrdGxlWE1nT2lCa1pXWmhkV3gwY3k1a1pXTnZaR1ZFYjNSSmJrdGxlWE1zWEc0Z0lDQWdJQ0FnSUdSbFkyOWtaWEk2SUhSNWNHVnZaaUJ2Y0hSekxtUmxZMjlrWlhJZ1BUMDlJQ2RtZFc1amRHbHZiaWNnUHlCdmNIUnpMbVJsWTI5a1pYSWdPaUJrWldaaGRXeDBjeTVrWldOdlpHVnlMRnh1SUNBZ0lDQWdJQ0JrWld4cGJXbDBaWEk2SUhSNWNHVnZaaUJ2Y0hSekxtUmxiR2x0YVhSbGNpQTlQVDBnSjNOMGNtbHVaeWNnZkh3Z2RYUnBiSE11YVhOU1pXZEZlSEFvYjNCMGN5NWtaV3hwYldsMFpYSXBJRDhnYjNCMGN5NWtaV3hwYldsMFpYSWdPaUJrWldaaGRXeDBjeTVrWld4cGJXbDBaWElzWEc0Z0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXBiWEJzYVdOcGRDMWpiMlZ5WTJsdmJpd2dibTh0WlhoMGNtRXRjR0Z5Wlc1elhHNGdJQ0FnSUNBZ0lHUmxjSFJvT2lBb2RIbHdaVzltSUc5d2RITXVaR1Z3ZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5JSHg4SUc5d2RITXVaR1Z3ZEdnZ1BUMDlJR1poYkhObEtTQS9JQ3R2Y0hSekxtUmxjSFJvSURvZ1pHVm1ZWFZzZEhNdVpHVndkR2dzWEc0Z0lDQWdJQ0FnSUdSMWNHeHBZMkYwWlhNNklHUjFjR3hwWTJGMFpYTXNYRzRnSUNBZ0lDQWdJR2xuYm05eVpWRjFaWEo1VUhKbFptbDRPaUJ2Y0hSekxtbG5ibTl5WlZGMVpYSjVVSEpsWm1sNElEMDlQU0IwY25WbExGeHVJQ0FnSUNBZ0lDQnBiblJsY25CeVpYUk9kVzFsY21salJXNTBhWFJwWlhNNklIUjVjR1Z2WmlCdmNIUnpMbWx1ZEdWeWNISmxkRTUxYldWeWFXTkZiblJwZEdsbGN5QTlQVDBnSjJKdmIyeGxZVzRuSUQ4Z2IzQjBjeTVwYm5SbGNuQnlaWFJPZFcxbGNtbGpSVzUwYVhScFpYTWdPaUJrWldaaGRXeDBjeTVwYm5SbGNuQnlaWFJPZFcxbGNtbGpSVzUwYVhScFpYTXNYRzRnSUNBZ0lDQWdJSEJoY21GdFpYUmxja3hwYldsME9pQjBlWEJsYjJZZ2IzQjBjeTV3WVhKaGJXVjBaWEpNYVcxcGRDQTlQVDBnSjI1MWJXSmxjaWNnUHlCdmNIUnpMbkJoY21GdFpYUmxja3hwYldsMElEb2daR1ZtWVhWc2RITXVjR0Z5WVcxbGRHVnlUR2x0YVhRc1hHNGdJQ0FnSUNBZ0lIQmhjbk5sUVhKeVlYbHpPaUJ2Y0hSekxuQmhjbk5sUVhKeVlYbHpJQ0U5UFNCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnY0d4aGFXNVBZb
1XBsWTNSek9pQjBlWEJsYjJZZ2IzQjBjeTV3YkdGcGJrOWlhbVZqZEhNZ1BUMDlJQ2RpYjI5c1pXRnVKeUEvSUc5d2RITXVjR3hoYVc1UFltcGxZM1J6SURvZ1pHVm1ZWFZzZEhNdWNHeGhhVzVQWW1wbFkzUnpMRnh1SUNBZ0lDQWdJQ0J6ZEhKcFkzUk9kV3hzU0dGdVpHeHBibWM2SUhSNWNHVnZaaUJ2Y0hSekxuTjBjbWxqZEU1MWJHeElZVzVrYkdsdVp5QTlQVDBnSjJKdmIyeGxZVzRuSUQ4Z2IzQjBjeTV6ZEhKcFkzUk9kV3hzU0dGdVpHeHBibWNnT2lCa1pXWmhkV3gwY3k1emRISnBZM1JPZFd4c1NHRnVaR3hwYm1kY2JpQWdJQ0I5TzF4dWZUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYzNSeUxDQnZjSFJ6S1NCN1hHNGdJQ0FnZG1GeUlHOXdkR2x2Ym5NZ1BTQnViM0p0WVd4cGVtVlFZWEp6WlU5d2RHbHZibk1vYjNCMGN5azdYRzVjYmlBZ0lDQnBaaUFvYzNSeUlEMDlQU0FuSnlCOGZDQnpkSElnUFQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUhOMGNpQTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHOXdkR2x2Ym5NdWNHeGhhVzVQWW1wbFkzUnpJRDhnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1NBNklIdDlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUIwWlcxd1QySnFJRDBnZEhsd1pXOW1JSE4wY2lBOVBUMGdKM04wY21sdVp5Y2dQeUJ3WVhKelpWWmhiSFZsY3loemRISXNJRzl3ZEdsdmJuTXBJRG9nYzNSeU8xeHVJQ0FnSUhaaGNpQnZZbW9nUFNCdmNIUnBiMjV6TG5Cc1lXbHVUMkpxWldOMGN5QS9JRTlpYW1WamRDNWpjbVZoZEdVb2JuVnNiQ2tnT2lCN2ZUdGNibHh1SUNBZ0lDOHZJRWwwWlhKaGRHVWdiM1psY2lCMGFHVWdhMlY1Y3lCaGJtUWdjMlYwZFhBZ2RHaGxJRzVsZHlCdlltcGxZM1JjYmx4dUlDQWdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2RHVnRjRTlpYWlrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCclpYbHpMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJyWlhrZ1BTQnJaWGx6VzJsZE8xeHVJQ0FnSUNBZ0lDQjJZWElnYm1WM1QySnFJRDBnY0dGeWMyVkxaWGx6S0d0bGVTd2dkR1Z0Y0U5aWFsdHJaWGxkTENCdmNIUnBiMjV6TENCMGVYQmxiMllnYzNSeUlEMDlQU0FuYzNSeWFXNW5KeWs3WEc0Z0lDQWdJQ0FnSUc5aWF
1pQTlJSFYwYVd4ekxtMWxjbWRsS0c5aWFpd2dibVYzVDJKcUxDQnZjSFJwYjI1ektUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iM0IwYVc5dWN5NWhiR3h2ZDFOd1lYSnpaU0E5UFQwZ2RISjFaU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYjJKcU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NWpiMjF3WVdOMEtHOWlhaWs3WEc1OU8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2MzUnlhVzVuYVdaNUlEMGdjbVZ4ZFdseVpTZ25MaTl6ZEhKcGJtZHBabmtuS1R0Y2JuWmhjaUJ3WVhKelpTQTlJSEpsY1hWcGNtVW9KeTR2Y0dGeWMyVW5LVHRjYm5aaGNpQm1iM0p0WVhSeklEMGdjbVZ4ZFdseVpTZ25MaTltYjNKdFlYUnpKeWs3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0FnSUdadmNtMWhkSE02SUdadmNtMWhkSE1zWEc0Z0lDQWdjR0Z5YzJVNklIQmhjbk5sTEZ4dUlDQWdJSE4wY21sdVoybG1lVG9nYzNSeWFXNW5hV1o1WEc1OU8xeHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYRzUyWVhJZ1gxOXBiWEJ2Y25SRVpXWmhkV3gwSUQwZ0tIUm9hWE1nSmlZZ2RHaHBjeTVmWDJsdGNHOXlkRVJsWm1GMWJIUXBJSHg4SUdaMWJtTjBhVzl1SUNodGIyUXBJSHRjYmlBZ0lDQnlaWFIxY200Z0tHMXZaQ0FtSmlCdGIyUXVYMTlsYzAxdlpIVnNaU2tnUHlCdGIyUWdPaUI3SUZ3aVpHVm1ZWFZzZEZ3aU9pQnRiMlFnZlR0Y2JuMDdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEc1bGVIQnZjblJ6TG1kbGJtVnlZWFJsVTJWaGNtTm9VWFZsY25rZ1BTQmxlSEJ2Y25SekxsRlZSVkpaWDFOVVVrbE9SMGxHV1Y5UFVGUkpUMDVUSUQwZ2RtOXBaQ0F3TzF4dVkyOXVjM1FnY1hOZk1TQTlJRjlmYVcxd2IzSjBSR1ZtWVhWc2RDaHlaWEYxYVhKbEtGd2ljWE5jSWlrcE8xeHVZMjl1YzNRZ1pHVmxjRTFsY21kbFh6RWdQU0J5WlhGMWFYSmxLRndpTGk0dlpHVmxjRTFsY21kbEwyUmxaWEJOWlhKblpWd2lLVHRjYm1OdmJuTjBJR2x6Ulcxd2RIbGZNU0E5SUhKbGNYVnBjbVVvWENJdUxpOXBjMFZ0Y0hSNUwybHpSVzF3ZEhsY0lpazdYRzVqYjI1emRDQnBjMU4wY21sdVoxOHhJRDBnY21WeGRXbHlaU2hjSWk0dUwybHpVM1J5YVc1bkwybHpVM1J5YVc1blhDSXBPMXh1Wlhod2IzSjBjeTVSVlVWU1dWOVRWRkpKVGtkSlJsbGZUMUJVU1U5T1V5QTlJSHRjYmlBZ0lDQmxibU52WkdVNklHWmhiSE5sTEZ4dUlDQWdJR1Z1WTI5a1pYSTZJQ2h6ZEhJc0lHUmxabUYxYkhSRmJtTnZaR1Z5TENCamFHRnljMlYwTENCMGVYQmxLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbElEMDlQU0FuZG1Gc2RXVW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVm1ZWFZzZEVWdVkyOWtaWElvYzNSeUxDQmtaV1poZFd4MFJXNWpiMlJsY2l3Z1kyaGhjbk5sZENrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjanRjYmlBZ0lDQjlMRnh1SUNBZ0lITnJhWEJPZFd4c2N6b2dkSEoxWlN4Y2JpQWdJQ0JoYkd4dmQwUnZkSE02SUdaaGJITmxMRnh1SUNBZ0lHbHVaR2xqWlhNNklHWmhiSE5sTEZ4dUlDQWdJR0Z5Y21GNVJtOXliV0YwT2lBblluSmhZMnRsZEhNbkxGeHVJQ0FnSUdGa1pGRjFaWEo1VUhKbFptbDRPaUIwY25WbExGeHVmVHRjYmk4dklGVnpaU0JjSW1GdWVWd2lJR0psYkc5M0xDQmlaV05oZFhObElHbHVZMjl0WlNCdlltcGxZM1FnYldsbmFIUWdZbVVnWVc1NUlIUjVjR1VzSUhkbElHUnZiaWQwSUd0dWIzY2daWGhoWTNSc2VTQjBhR1VnY0c5emMybGliR1VnZEhsd1pWeHVMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxbGVIQnNhV05wZEMxaGJubGNibVoxYm1OMGFXOXVJR2RsYm1WeVlYUmxVMlZoY21Ob1VYVmxjbmtvY0dGeVlXMXpMQ0J2Y0hScGIyNXpJRDBnZTMwcElIdGNiaUFnSUNCamIyNXpkQ0J6ZEhKcGJtZHBabmxQY0hScGIyNXpJRDBnS0RBc0lHUmxaWEJOWlhKblpWOHhMbVJsWlhCTlpYSm5aU2tvWlhod2IzSjBjeTVSVlVWU1dWOVRWRkpKVGtkSlJsbGZUMUJVU1U5T1V5d2diM0IwYVc5dWN5azdYRzRnSUNBZ2FXWWdLQ2d3TENCcGMwVnRjSFI1WHpFdWFYTkZiWEIwZVNrb2NHRnlZVzF6S1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0p5YzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29NQ3dnYVhOVGRISnBibWRmTVM1cGMxTjBjbWx1Wnlrb2NHRnlZVzF6S1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lDUjdjM1J5YVc1bmFXWjVUM0IwYVc5dWN5NWhaR1JSZFdWeWVWQnlaV1pwZUNBL0lDYy9KeUE2SUNjbmZTUjdjR0Z5WVcxemZXQTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ4YzE4eExtUmxabUYxYkhRdWMzUnlhVzVuYVdaNUtIQmhjbUZ0Y3l3Z2MzUnlhVzVuYVdaNVQzQjBhVzl1Y3lrN1hHNTlYRzVsZUhCdmNuUnpMbWRsYm1WeVlYUmxVMlZoY21Ob1VYVmxjbmtnUFNCblpXNWxjbUYwWlZObFlYSmphRkYxWlhKNU8xeHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEc1bGVIQnZjblJ6TG1kbGRFWnBiR1ZPWVcxbFJuSnZiVlZ5YkNBOUlIWnZhV1FnTUR0Y2JtWjFibU4wYVc5dUlHZGxkRVpwYkdWT1lXMWxSbkp2YlZWeWJDaDFjbXdwSUh0Y2JpQWdJQ0JwWmlBb0lYVnliQ0I4ZkNCMGVYQmxiMllnZFhKc0lDRTlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnV3ljbkxDQW5KMTA3WEc0Z0lDQWdmVnh1SUNBZ0lHeGxkQ0J3WVhKelpXUlZjbXdnUFNCMWNtdzdYRzRnSUNBZ0x5cGNiaUFnSUNBZ0tpQmljbVZoYXlCVlVrd2dZWFFnUHlCaGJtUWdkR0ZyWlNCbWFYSnpkQ0J3WVhKMFhHNGdJQ0FnSUNvZ2MyOGdkR2hwY3pvZ1lIQmhaMlVqYUdGemFEOXJaWGs5ZG1Gc2RXVmdYRzRnSUNBZ0lDb2dkMmxzYkNCaVpXTnZiV1VnZEdocGN6b2dZSEJoWjJVamFHRnphR0JjYmlBZ0lDQWdLaUFxTDF4dUlDQWdJSEJoY25ObFpGVnliQ0E5SUhCaGNuTmxaRlZ5YkM1emNHeHBkQ2duUHljcFd6QmRPMXh1SUNBZ0lDOHFYRzRnSUNBZ0lDb2dZbkpsWVdzZ1ZWSk1JR0YwSUNNZ1lXNWtJSFJoYTJVZ1ptbHljM1FnY0dGeWRGeHVJQ0FnSUNBcUlITnZJSFJvYVhNNklHQndZV2RsSTJoaGMyaGdYRzRnSUNBZ0lDb2dkMmxzYkNCaVpXTnZiV1VnZEdocGN6b2dZSEJoWjJWZ1hHNGdJQ0FnSUNvZ0tpOWNiaUFnSUNCd1lYSnpaV1JWY213Z1BTQndZWEp6WldSVmNtd3VjM0JzYVhRb0p5TW5LVnN3WFR0Y2JpQWdJQ0F2S2x4dUlDQWdJQ0FxSUhOd2JHbDBJSEJoZEdodVlXMWxJR0o1SUdBdllDQmhibVFnWjJWMElHeGhjM1FnWld4bGJXVnVkQ0JtY205dElHRnljbUY1TEZ4dUlDQWdJQ0FxSUhOdklIUm9hWE02SUdBdmJYa3ZjR0ZuWldCY2JpQWdJQ0FnS2lCM2FXeHNJR0psWTI5dFpTQjBhR2x6T2lCZ2NHRm5aV0JjYmlBZ0lDQWdLaUFxTDF4dUlDQWdJR052Ym5OMElIQmhkR2h1WVcxbFFYSnlZWGtnUFNCd1lYSnpaV1JWY213dWMzQnNhWFFvSnk4bktUdGNiaUFnSUNCamIyNXpkQ0J1WVcxbElEMGdjR0YwYUc1aGJXVkJjbkpoZVZ0d1lYUm9ibUZ0WlVGeWNtRjVMbXhsYm1kMGFDQXRJREZkTzF4dUlDQWdJR2xtSUNnaGJtRnRaUzVwYm1Oc2RXUmxjeWduTGljcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmJibUZ0WlN3Z0p5ZGRPMXh1SUNBZ0lIMWNiaUFnSUNBdktseHVJQ0FnSUNBcUlHbHVJR05oYzJVZ2FXWWdabWxzWlc1aGJXVWdkMmxzYkNCamIyNTBZV2x1SUhObGRtVnlZV3dnWkc5MGN5QW9MaWtzWEc0Z0lDQWdJQ29nZDJVZ2QybHNiQ0J6Y0d4cGRDQnpkSEpwYm1jZ2RHOGdZWEp5WVhrZ1lXNWtJSFJoYTJVZ2IyNXNlU0JzWVhOMElHVnNaVzFsYm5SY2JpQWdJQ0FnS2lCemJ5QjBhR2x6T2lCZ2RtVnllUzFzYjI1bkxuQmtaaTVtYVd4bGJtRnRaUzVxY0dkZ1hHNGdJQ0FnSUNvZ2QybHNiQ0JpWldOdmJXVWdkR2hwY3pvZ1lDNXFjR2RnWEc0Z0lDQWdJQ29nS2k5Y2JpQWdJQ0JqYjI1emRDQnVZVzFsVTNCc2FYUkNlVVJ2ZEhNZ1BTQnVZVzFsTG5Od2JHbDBLQ2N1SnlrN1hHNGdJQ0FnWTI5dWMzUWdXMlY0ZEdWdWMybHZiaXdnTGk0dVptbHNaVzVoYldWZElEMGdibUZ0WlZOd2JHbDBRbmxFYjNSekxuSmxkbVZ5YzJVb0tUdGNiaUFnSUNCeVpYUjFjbTRnVzJacGJHVnVZVzFsTG5KbGRtVnljMlVvS1M1cWIybHVLQ2N1Snlrc0lHVjRkR1Z1YzJsdmJpNTBiMHh2WTJGc1pVeHZkMlZ5UTJGelpTZ3BYVHRjYm4xY2JtVjRjRzl5ZEhNdVoyVjBSbWxzWlU1aGJXVkdjbTl0VlhKc0lEMGdaMlYwUm1sc1pVNWhiV1ZHY205dFZYSnNPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxtZGxkRTF2ZFhObFJHbHlaV04wYVc5dUlEMGdkbTlwWkNBd08xeHViR1YwSUd4aGMzUlFiM05wZEdsdmJpQTlJSHQ5TzF4dVpuVnVZM1JwYjI0Z1oyVjBUVzkxYzJWRWFYSmxZM1JwYjI0b1pTa2dlMXh1SUNBZ0lHeGxkQ0JrYVhKbFkzUnBiMjRnUFNBbkp6dGNiaUFnSUNBdkx5QmphR1ZqYXlCMGJ5QnRZV3RsSUhOMWNtVWdkR2hsY21VZ2FYTWdaR0YwWVNCMGJ5QmpiMjF3WVhKbElHRm5ZV2x1YzNSY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUd4aGMzUlFiM05wZEdsdmJpNTRJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIwZVhCbGIyWWdiR0Z6ZEZCdmMybDBhVzl1TG5rZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJR2RsZENCMGFHVWdZMmhoYm1kbElHWnliMjBnYkdGemRDQndiM05wZEdsdmJpQjBieUIwYUdseklIQnZjMmwwYVc5dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUdSbGJIUmhXQ0E5SUd4aGMzUlFiM05wZEdsdmJpNTRJQzBnWlM1amJHbGxiblJZTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrWld4MFlWa2dQU0JzWVhOMFVHOXphWFJwYjI0dWVTQXRJR1V1WTJ4cFpXNTBXVHRjYmlBZ0lDQWdJQ0FnTHk4Z1kyaGxZMnNnZDJocFkyZ2daR2x5WldOMGFXOXVJR2hoWkNCMGFHVWdhR2xuYUdWemRDQmhiWEJzYVhSMVpHVWdZVzVrSUhSb1pXNGdabWxuZFhKbElHOTFk
1Q0JrYVhKbFkzUnBiMjRnWW5rZ1kyaGxZMnRwYm1jZ2FXWWdkR2hsSUhaaGJIVmxJR2x6SUdkeVpXRjBaWElnYjNJZ2JHVnpjeUIwYUdGdUlIcGxjbTljYmlBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektHUmxiSFJoV0NrZ1BpQk5ZWFJvTG1GaWN5aGtaV3gwWVZrcElDWW1JR1JsYkhSaFdDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JwY21WamRHbHZiaUE5SUNkc1pXWjBKenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoTllYUm9MbUZpY3loa1pXeDBZVmdwSUQ0Z1RXRjBhQzVoWW5Nb1pHVnNkR0ZaS1NBbUppQmtaV3gwWVZnZ1BDQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmthWEpsWTNScGIyNGdQU0FuY21sbmFIUW5PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0UxaGRHZ3VZV0p6S0dSbGJIUmhXU2tnUGlCTllYUm9MbUZpY3loa1pXeDBZVmdwSUNZbUlHUmxiSFJoV1NBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnBjbVZqZEdsdmJpQTlJQ2QxY0NjN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9UV0YwYUM1aFluTW9aR1ZzZEdGWktTQStJRTFoZEdndVlXSnpLR1JsYkhSaFdDa2dKaVlnWkdWc2RHRlpJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdseVpXTjBhVzl1SUQwZ0oyUnZkMjRuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJQzh2SUhObGRDQjBhR1VnYm1WM0lHeGhjM1FnY0c5emFYUnBiMjRnZEc4Z2RHaGxJR04xY25KbGJuUWdabTl5SUc1bGVIUWdkR2x0WlZ4dUlDQWdJR3hoYzNSUWIzTnBkR2x2YmlBOUlIdGNiaUFnSUNBZ0lDQWdlRG9nWlM1amJHbGxiblJZTEZ4dUlDQWdJQ0FnSUNCNU9pQmxMbU5zYVdWdWRGa3NYRzRnSUNBZ2ZUdGNiaUFnSUNCeVpYUjFjbTRnWkdseVpXTjBhVzl1TzF4dWZWeHVaWGh3YjNKMGN5NW5aWFJOYjNWelpVUnBjbVZqZEdsdmJpQTlJR2RsZEUxdmRYTmxSR2x5WldOMGFXOXVPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxtTnZibVpwWjNWeVpVeHZaMmRsY2lBOUlHVjRjRzl5ZEhNdWJHOW5aMlZ5SUQwZ1pYaHdiM0owY3k1TWIyZG5aWElnUFNCMmIybGtJREE3WEc1amIyNXpkQ0JwYzBGeWNtRjVYekVnUFNCeVpYRjFhWEpsS0Z3aUxpNHZhWE5CY25KaGVTOXBjMEZ5Y21GNVhDSXBPMXh1WTI5dWMzUWdhWE5GYlhCMGVWOHhJRDBnY21WeGRXbHlaU2hjSWk0dUwybHpSVzF3ZEhrdmFYTkZiWEIwZVZ3aUtUdGNibU5zWVhOeklFeHZaMmRsY2lCN1hHNGdJQ0FnY0hKbFptbDRJRDBnSnljN1hHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2IzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTS9MbkJ5WldacGVDQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWNISmxabWw0SUQwZ2IzQjBhVzl1Y3k1d2NtVm1hWGc3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdiRzluSUQwZ0tHeGxkbVZzTENCMGFYUnNaU3dnWVhKbmN5a2dQVDRnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnVzJBa2UzUm9hWE11Y0hKbFptbDRJRDhnWUZza2UzUm9hWE11Y0hKbFptbDRmVjBnWUNBNklDY25mU1I3ZEdsMGJHVjlZRjA3WEc0Z0lDQWdJQ0FnSUdsbUlDZ29NQ3dnYVhOQmNuSmhlVjh4TG1selFYSnlZWGtwS0dGeVozTXBJQ1ltSUNFb01Dd2dhWE5GYlhCMGVWOHhMbWx6Ulcxd2RIa3BLR0Z5WjNNcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCaGNtZHpMbVp2Y2tWaFkyZ29LR1JoZEdFcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WlhOellXZGxMbkIxYzJnb0oxeGNibHhjYmljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWxjM05oWjJVdWNIVnphQ2hrWVhSaEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxamIyNXpiMnhsWEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1ZiYkdWMlpXeGRQeTRvTGk0dWJXVnpjMkZuWlNrN1hHNGdJQ0FnZlR0Y2JpQWdJQ0JwYm1adklEMGdLSFJwZEd4bExDQXVMaTV0WlhOellXZGxjeWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG14dlp5Z25hVzVtYnljc0lIUnBkR3hsTENCdFpYTnpZV2RsY3lrN1hHNGdJQ0FnZlR0Y2JpQWdJQ0IzWVhKdUlEMGdLSFJwZEd4bExDQXVMaTV0WlhOellXZGxjeWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG14dlp5Z25kMkZ5Ymljc0lIUnBkR3hsTENCdFpYTnpZV2RsY3lrN1hHNGdJQ0FnZlR0Y2JpQWdJQ0IwWVdKc1pTQTlJQ2hrWVhSaEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MWpiMjV6YjJ4bFhHNGdJQ0FnSUNBZ0lHTnZibk52YkdVdWRHRmliR1VvWkdGMFlTazdYRzRnSUNBZ2ZUdGNiaUFnSUNCbGNuSnZjaUE5SUNoMGFYUnNaU3dnTGk0dWJXVnpjMkZuWlhNcElEMCtJSHRjYmlBZ0lDQWdJQ0FnTHlwY2JpQWdJQ0FnSUNBZ0lDb2dTV1lnY0dGemN5QkZjbkp2Y2lCdlltcGxZM1FzSUhkbElITndiR2wwSUdsMElIUnZJRzFsYzNOaFoyVWdZVzVrSUhOMFlXTnJkSEpoWTJVc1hHNGdJQ0FnSUNBZ0lDQXFJR2wwSUdobGJIQnpJSFZ6SUhOb2IzY2djM1JoWTJ0MGNtRmpaU0JqYjNKeVpXTjBiSGtzSUc5MGFHVnlkMmx6WlNCM1pTQjNhV3hzSUhObFpTQnZibXg1SUcxbGMzTmhaMlZjYmlBZ0lDQWdJQ0FnSUNvZ0tpOWNiaUFnSUNBZ0lDQWdhV1lnS0hScGRHeGxJR2x1YzNSaGJtTmxiMllnUlhKeWIzSWdmSHdnZEdsMGJHVXViV1Z6YzJGblpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVzYjJjb0oyVnljbTl5Snl3Z2RHbDBiR1V1YldWemMyRm5aU3dnVzNScGRHeGxMQ0F1TGk1dFpYTnpZV2RsYzEwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhSb2FYTXViRzluS0NkbGNuSnZjaWNzSUhScGRHeGxMQ0J0WlhOellXZGxjeWs3WEc0Z0lDQWdmVHRjYmlBZ0lDQnpaWFJRY21WbWFYZ29jSEpsWm1sNEtTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWNISmxabWw0SUQwZ2NISmxabWw0TzF4dUlDQWdJSDFjYm4xY2JtVjRjRzl5ZEhNdVRHOW5aMlZ5SUQwZ1RHOW5aMlZ5TzF4dVpYaHdiM0owY3k1c2IyZG5aWElnUFNCdVpYY2dURzluWjJWeUtDazdYRzVtZFc1amRHbHZiaUJqYjI1bWFXZDFjbVZNYjJkblpYSW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN6OHVjSEpsWm1sNElEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnSUNCbGVIQnZjblJ6TG14dloyZGxjaTV6WlhSUWNtVm1hWGdvYjNCMGFXOXVjeTV3Y21WbWFYZ3BPMXh1SUNBZ0lIMWNibjFjYm1WNGNHOXlkSE11WTI5dVptbG5kWEpsVEc5bloyVnlJRDBnWTI5dVptbG5kWEpsVEc5bloyVnlPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1MllYSWdYMTlwYlhCdmNuUkVaV1poZFd4MElEMGdLSFJvYVhNZ0ppWWdkR2hwY3k1ZlgybHRjRzl5ZEVSbFptRjFiSFFwSUh4OElHWjFibU4wYVc5dUlDaHRiMlFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRzF2WkNBbUppQnRiMlF1WDE5bGMwMXZaSFZzWlNrZ1B5QnRiMlFnT2lCN0lGd2laR1ZtWVhWc2RGd2lPaUJ0YjJRZ2ZUdGNibjA3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxuQmhjbk5sVTJWaGNtTm9VWFZsY25rZ1BTQmxlSEJ2Y25SekxsRlZSVkpaWDFCQlVsTkZYMDlRVkVsUFRsTWdQU0IyYjJsa0lEQTdYRzVqYjI1emRDQnhjMTh4SUQwZ1gxOXBiWEJ2Y25SRVpXWmhkV3gwS0hKbGNYVnBjbVVvWENKeGMxd2lLU2s3WEc1amIyNXpkQ0JrWldWd1RXVnlaMlZmTVNBOUlISmxjWFZwY21Vb1hDSXVMaTlrWldWd1RXVnlaMlV2WkdWbGNFMWxjbWRsWENJcE8xeHVZMjl1YzNRZ2FYTlRkSEpwYm1kZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TGk5cGMxTjBjbWx1Wnk5cGMxTjBjbWx1WjF3aUtUdGNibVY0Y0c5eWRITXVVVlZGVWxsZlVFRlNVMFZmVDFCVVNVOU9VeUE5SUh0Y2JpQWdJQ0JwWjI1dmNtVlJkV1Z5ZVZCeVpXWnBlRG9nZEhKMVpTeGNiaUFnSUNCa1pXTnZaR1Z5T2lBb2MzUnlMQ0JrWldaaGRXeDBSR1ZqYjJSbGNpd2dZMmhoY25ObGRDd2dkSGx3WlNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaU0E5UFQwZ0ozWmhiSFZsSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsWm1GMWJIUkVaV052WkdWeUtITjBjaXdnWkdWbVlYVnNkRVJsWTI5a1pYSXNJR05vWVhKelpYUXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZEhJN1hHNGdJQ0FnZlN4Y2JuMDdYRzR2THlCVmMyVWdYQ0poYm5sY0lpQmlaV3h2ZHl3Z1ltVmpZWF
1Z6WlNCeVpYTjFiSFFnYjJKcVpXTjBJRzFwWjJoMElHSmxJR0Z1ZVNCMGVYQmxMQ0IzWlNCa2IyNG5kQ0JyYm05M0lHVjRZV04wYkhrZ2RHaGxJSEJ2YzNOcFlteGxJSFI1Y0dWY2JpOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibTh0Wlhod2JHbGphWFF0WVc1NVhHNW1kVzVqZEdsdmJpQndZWEp6WlZObFlYSmphRkYxWlhKNUtIRjFaWEo1TENCdmNIUnBiMjV6SUQwZ2UzMHBJSHRjYmlBZ0lDQmpiMjV6ZENCd1lYSnpaVTl3ZEdsdmJuTWdQU0FvTUN3Z1pHVmxjRTFsY21kbFh6RXVaR1ZsY0UxbGNtZGxLU2hsZUhCdmNuUnpMbEZWUlZKWlgxQkJVbE5GWDA5UVZFbFBUbE1zSUc5d2RHbHZibk1wTzF4dUlDQWdJR2xtSUNnaEtEQXNJR2x6VTNSeWFXNW5YekV1YVhOVGRISnBibWNwS0hGMVpYSjVLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTMwN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnhjMTh4TG1SbFptRjFiSFF1Y0dGeWMyVW9aR1ZqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLSEYxWlhKNUtTd2djR0Z5YzJWUGNIUnBiMjV6S1R0Y2JuMWNibVY0Y0c5eWRITXVjR0Z5YzJWVFpXRnlZMmhSZFdWeWVTQTlJSEJoY25ObFUyVmhjbU5vVVhWbGNuazdYRzRpTENKY0luVnpaU0J6ZEhKcFkzUmNJanRjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2JtVjRjRzl5ZEhNdVoyVjBVR1Z5WTJWdWRFWnliMjFVYjNSaGJDQTlJR1Y0Y0c5eWRITXVaMlYwVUdWeVkyVnVkRVp5YjIxV1lXeDFaU0E5SUhadmFXUWdNRHRjYm1OdmJuTjBJR2x6VG5WdFltVnlYekVnUFNCeVpYRjFhWEpsS0Z3aUxpNHZhWE5PZFcxaVpYSXZhWE5PZFcxaVpYSmNJaWs3WEc1bWRXNWpkR2x2YmlCblpYUlFaWEpqWlc1MFJuSnZiVlpoYkhWbEtIWmhiSFZsTENCd1pYSmpaVzUwS1NCN1hHNGdJQ0FnYVdZZ0tDZ3dMQ0JwYzA1MWJXSmxjbDh4TG1selRuVnRZbVZ5S1Nod1pYSmpaVzUwS1NBbUppQW9NQ3dnYVhOT2RXMWlaWEpmTVM1cGMwNTFiV0psY2lrb2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0tIQmxjbU5sYm5RZ0x5QXhNREFwSUNvZ2RtRnNkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHUnZJRzV2ZEdocGJtZGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBsdWRtRnNhV1FnWVhKbmRXMWxiblJ6SnlrN1hHNTlYRzVsZUhCdmNuUnpMbWRsZEZCbGNtTmxiblJHY205dFZtRnNkV1VnUFNCblpYUlFaWEpqWlc1MFJuSnZiVlpoYkhWbE8xeHVablZ1WTNScGIyNGdaMlYwVUdWeVkyVnVkRVp5YjIxVWIzUmhiQ2gwYjNSaGJDd2dkR0Z5WjJWMExDQnZjSFJwYjI1eklEMGdlMzBwSUh0Y2JpQWdJQ0JwWmlBb0tEQXNJR2x6VG5WdFltVnlYekV1YVhOT2RXMWlaWElwS0hSaGNtZGxkQ2tnSmlZZ0tEQXNJR2x6VG5WdFltVnlYekV1YVhOT2RXMWlaWElwS0hSaGNtZGxkQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhzZ2RHOVNiM1Z1WkNBOUlIUnlkV1VnZlNBOUlHOXdkR2x2Ym5NN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnlaWE4xYkhRZ1BTQW9kR0Z5WjJWMElDb2dNVEF3S1NBdklIUnZkR0ZzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSdlVtOTFibVFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXliM1Z1WkNoeVpYTjFiSFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1pHOGdibTkwYUdsdVoxeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduU1c1MllXeHBaQ0JoY21kMWJXVnVkSE1uS1R0Y2JuMWNibVY0Y0c5eWRITXVaMlYwVUdWeVkyVnVkRVp5YjIxVWIzUmhiQ0E5SUdkbGRGQmxjbU5sYm5SR2NtOXRWRzkwWVd3N1hHNGlMQ0pjSW5WelpTQnpkSEpwWTNSY0lqdGNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjYm1WNGNHOXlkSE11Y0d4MWNtRnNhWHBsVG5WdFltVnlJRDBnZG05cFpDQXdPMXh1WTI5dWMzUWdhWE5PZFcxaVpYSmZNU0E5SUhKbGNYVnBjbVVvWENJdUxpOXBjMDUxYldKbGNpOXBjMDUxYldKbGNsd2lLVHRjYm1OdmJuTjBJRkJNVlZKQlRGOU9WVTFDUlZKZlUxVkdSa2xZWDAxQlVDQTlJRzVsZHlCTllYQW9XMXh1SUNBZ0lGc25iMjVsSnl3Z0ozTjBKMTBzWEc0Z0lDQWdXeWQwZDI4bkxDQW5ibVFuWFN4Y2JpQWdJQ0JiSjJabGR5Y3NJQ2R5WkNkZExGeHVJQ0FnSUZzbmIzUm9aWEluTENBbmRHZ25YU3hjYmwwcE8xeHVablZ1WTNScGIyNGdjR3gxY21Gc2FYcGxUblZ0WW1WeUtIWmhiSFZsS1NCN1hHNGdJQ0FnTHk4Z1NXMXdiR1Z0Wlc1MFlYUnBiMjRnZDJGeklIUmhhMlZ1SUdaeWIyMGdhR1Z5WlRwY2JpQWdJQ0F2THlCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5S1lYWmhVMk55YVhCMEwxSmxabVZ5Wlc1alpTOUhiRzlpWVd4ZlQySnFaV04wY3k5SmJuUnNMMUJzZFhKaGJGSjFiR1Z6STJadmNtMWhkSFJwYm1kZmRHVjRkRjkxYzJsdVoxOTBhR1ZmY21WMGRYSnVaV1JmZEdGblhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JuVnRaWEpwWTFaaGJIVmxJRDBnVG5WdFltVnlLSFpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdhV1lnS0NGdWRXMWxjbWxqVm1Gc2RXVWdmSHdnSVNnd0xDQnBjMDUxYldKbGNsOHhMbWx6VG5WdFltVnlLU2h1ZFcxbGNtbGpWbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjblZzWlNBOUlHNWxkeUJKYm5Sc0xsQnNkWEpoYkZKMWJHVnpLQ2RsYmkxVlV5Y3NJSHNnZEhsd1pUb2dKMjl5WkdsdVlXd25JSDBwTG5ObGJHVmpkQ2hPZFcxaVpYSW9kbUZzZFdVcEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MzVm1abWw0SUQwZ1VFeFZVa0ZNWDA1VlRVSkZVbDlUVlVaR1NWaGZUVUZRTG1kbGRDaHlkV3hsS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdBa2UzWmhiSFZsZlNSN2MzVm1abWw0ZldBN1hHNGdJQ0FnZlZ4dUlDQWdJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpUdGNiaUFnSUNCOVhHNTlYRzVsZUhCdmNuUnpMbkJzZFhKaGJHbDZaVTUxYldKbGNpQTlJSEJzZFhKaGJHbDZaVTUxYldKbGNqdGNiaUlzSWx3aWRYTmxJSE4wY21samRGd2lPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHVjRjRzl5ZEhNc0lGd2lYMTlsYzAxdlpIVnNaVndpTENCN0lIWmhiSFZsT2lCMGNuVmxJSDBwTzF4dVpYaHdiM0owY3k1d2RYSmxVM1J5ZFdOMGRYSmxJRDBnZG05cFpDQXdPMXh1Wm5WdVkzUnBiMjRnY0hWeVpWTjBjblZqZEhWeVpTaHpkSEoxWTNSMWNt
1VXBJSHRjYmlBZ0lDQnBaaUFvSVhOMGNuVmpkSFZ5WlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2MzUnlkV04wZFhKbE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2MzUnlkV04wZFhKbElEMDlQU0JKYm1acGJtbDBlU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnU1c1bWFXNXBkSGs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCS1UwOU9MbkJoY25ObEtFcFRUMDR1YzNSeWFXNW5hV1o1S0hOMGNuVmpkSFZ5WlNrcE8xeHVmVnh1Wlhod2IzSjBjeTV3ZFhKbFUzUnlkV04wZFhKbElEMGdjSFZ5WlZOMGNuVmpkSFZ5WlR0Y2JpSXNJbHdpZFhObElITjBjbWxqZEZ3aU8xeHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh1Wlhod2IzSjBjeTUwYUhKdmRIUnNaU0E5SUhadmFXUWdNRHRjYm1OdmJuTjBJSFJwYldWdmRYUnpJRDBnZTMwN1hHNHZMeUJjSW5Sb2NtOTBkR3hsWENJZ2QybHNiQ0J5ZFc0Z1kyRnNiR0poWTJzZ2IyNWpaU0JsZG1WdUlHbG1JSFJvWlhKbElIZGxjbVVnYldGdWVTQm1kVzVqZEdsdmJpQmpZV3hzYzF4dVpuVnVZM1JwYjI0Z2RHaHliM1IwYkdVb1kyRnNiR0poWTJzc0lHMXpJRDBnTUNrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kyRnNiR0poWTJzZ0lUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzF6SUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJR1oxYm1NZ1BTQmpZV3hzWW1GamF5NTBiMU4wY21sdVp5Z3BPMXh1SUNBZ0lHTnNaV0Z5VkdsdFpXOTFkQ2gwYVcxbGIzVjBjMXRtZFc1alhTazdYRzRnSUNBZ2RHbHRaVzkxZEhOYlpuVnVZMTBnUFNCelpYUlVhVzFsYjNWMEtDZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyRnNiR0poWTJzb0tUdGNiaUFnSUNBZ0lDQWdZMnhsWVhKVWFXMWxiM1YwS0hScGJXVnZkWFJ6VzJaMWJtTmRLVHRjYmlBZ0lDQWdJQ0FnWkdWc1pYUmxJSFJwYldWdmRYUnpXMloxYm1OZE8xeHVJQ0FnSUgwc0lHMXpLVHRjYm4xY2JtVjRjRzl5ZEhNdWRHaHliM1IwYkdVZ1BTQjBhSEp2ZEhSc1pUdGNiaUlzSWx3aWRYTmxJSE4wY21samRGd2lPMXh1ZG1GeUlGOWZZM0psWVhSbFFtbHVaR2x1WnlBOUlDaDBhR2x6SUNZbUlIUm9hWE11WDE5amNtVmhkR1ZDYVc1a2FXNW5LU0I4ZkNBb1QySnFaV04wTG1OeVpXRjBaU0EvSUNobWRXNWpkR2x2YmlodkxDQnRMQ0JyTENCck1pa2dlMXh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYRzRnSUNBZ2RtRnlJR1JsYzJNZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0cwc0lHc3BPMXh1SUNBZ0lHbG1JQ2doWkdWell5QjhmQ0FvWENKblpYUmNJaUJwYmlCa1pYTmpJRDhnSVcwdVgxOWxjMDF2WkhWc1pTQTZJR1JsYzJNdWQzSnBkR0ZpYkdVZ2ZId2daR1Z6WXk1amIyNW1hV2QxY21GaWJHVXBLU0I3WEc0Z0lDQWdJQ0JrWlhOaklEMGdleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0JuWlhRNklHWjFibU4wYVc5dUtDa2dleUJ5WlhSMWNtNGdiVnRyWFRzZ2ZTQjlPMXh1SUNBZ0lIMWNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ieXdnYXpJc0lHUmxjMk1wTzF4dWZTa2dPaUFvWm5WdVkzUnBiMjRvYnl3Z2JTd2dheXdnYXpJcElIdGNiaUFnSUNCcFppQW9heklnUFQwOUlIVnVaR1ZtYVc1bFpDa2dheklnUFNCck8xeHVJQ0FnSUc5YmF6SmRJRDBnYlZ0clhUdGNibjBwS1R0Y2JuWmhjaUJmWDJWNGNHOXlkRk4wWVhJZ1BTQW9kR2hwY3lBbUppQjBhR2x6TGw5ZlpYaHdiM0owVTNSaGNpa2dmSHdnWm5WdVkzUnBiMjRvYlN3Z1pYaHdiM0owY3lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdiU2tnYVdZZ0tIQWdJVDA5SUZ3aVpHVm1ZWFZzZEZ3aUlDWW1JQ0ZQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvWlhod2IzSjBjeXdnY0NrcElGOWZZM0psWVhSbFFtbHVaR2x1WnlobGVIQnZjblJ6TENCdExDQndLVHRjYm4wN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYRzVsZUhCdmNuUnpMblJvY205MGRHeGxJRDBnWlhod2IzSjBjeTV3ZFhKbFUzUnlkV04wZFhKbElEMGdaWGh3YjNKMGN5NXNiMmRuWlhJZ1BTQmxlSEJ2Y25SekxreHZaMmRsY2lBOUlHVjRjRzl5ZEhNdVkyOXVabWxuZFhKbFRHOW5aMlZ5SUQwZ1pYaHdiM0owY3k1cGMxTjBjbWx1WnlBOUlHVjRjRzl5ZEhNdWFYTlRaWFFnUFNCbGVIQnZjblJ6TG1selQySnFaV04wSUQwZ1pYaHdiM0owY3k1cGMwNTFiV0psY2lBOUlHVjRjRzl5ZEhNdWFYTk5ZWEFnUFNCbGVIQnZjblJ6TG1selJXMXdkSGtnUFNCbGVIQnZjblJ6TG1selFYSnlZWGtnUFNCbGVIQnZjblJ6TG1kbGRFMXZkWE5sUkdseVpXTjBhVzl1SUQwZ1pYaHdiM0owY3k1blpYUkdhV3hsVG1GdFpVWnliMjFWY213Z1BTQmxlSEJ2Y25SekxtUmxaWEJOWlhKblpTQTlJR1Y0Y0c5eWRITXVZMkZzWTNWc1lYUmxRWE53WldOMFVtRjBhVzlHYVhRZ1BTQmxlSEJ2Y25SekxtRnljbUY1Vkc5TllYUnlhWGdnUFNCMmIybGtJREE3WEc1MllYSWdZWEp5WVhsVWIwMWhkSEpwZUY4eElEMGdjbVZ4ZFdseVpTaGNJaTR2WVhKeVlYbFViMDFoZEhKcGVDOWhjbkpoZVZSdlRXRjBjbWw0WENJcE8xeHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVlYSnlZWGxVYjAxaGRISnBlRndpTENCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z1lYSnlZWGxVYjAxaGRISnBlRjh4TG1GeWNtRjVWRzlOWVhSeWFYZzdJSDBnZlNrN1hHNTJZWElnWTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyTmhiR04xYkdGMFpVRnpjR1ZqZEZKaGRHbHZSbWwwTDJOaGJHTjFiR0YwWlVGemNHVmpkRkpoZEdsdlJtbDBYQ0lwTzF4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUmNJaXdnZXlCbGJuVnRaWEpoWW14bE9pQjBjblZsTENCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUdOaGJHTjFiR0YwWlVGemNHVmpkRkpoZEdsdlJtbDBYekV1WTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUTdJSDBnZlNrN1hHNWZYMlY0Y0c5eWRGTjBZWElvY21WeGRXbHlaU2hjSWk0dlkyOXNiM0l2WTI5c2IzSmNJaWtzSUdWNGNHOXlkSE1wTzF4dVgxOWxlSEJ2Y25SVGRHRnlLSEpsY1hWcGNtVW9YQ0l1TDJSaGRHVXZaR0YwWlZ3aUtTd2daWGh3YjNKMGN5azdYRzUyWVhJZ1pHVmxjRTFsY21kbFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5a1pXVndUV1Z5WjJVdlpHVmxjRTFsY21kbFhDSXBPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHVjRjRzl5ZEhNc0lGd2laR1ZsY0UxbGNtZGxYQ0lzSUhzZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCa1pXVndUV1Z5WjJWZk1TNWtaV1Z3VFdWeVoyVTdJSDBnZlNrN1hHNWZYMlY0Y0c5eWRGTjBZWElvY21WeGRXbHlaU2hjSWk0dloyVnVaWEpoZEdWVFpXRnlZMmhSZFdWeWVTOW5aVzVsY21GMFpWTmxZWEpqYUZGMVpYSjVYQ0lwTENCbGVIQnZjblJ6S1R0Y2JuWmhjaUJuWlhSR2FXeGxUbUZ0WlVaeWIyMVZjbXhmTVNBOUlISmxjWFZwY21Vb1hDSXVMMmRsZEVacGJHVk9ZVzFsUm5KdmJWVnliQzluWlhSR2FXeGxUbUZ0WlVaeWIyMVZjbXhjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKblpYUkdhV3hsVG1GdFpVWnliMjFWY214Y0lpd2dleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJR2RsZEVacGJHVk9ZVzFsUm5KdmJWVnliRjh4TG1kbGRFWnBiR1ZPWVcxbFJuSnZiVlZ5YkRzZ2ZTQjlLVHRjYm5aaGNpQm5aWFJOYjNWelpVUnBjbVZqZEdsdmJsOHhJRDBnY21WeGRXbHlaU2hjSWk0dloyVjBUVzkxYzJWRWFYSmxZM1JwYjI0dloyVjBUVzkxYzJWRWFYSmxZM1JwYjI1Y0lpazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSm5aWFJOYjNWelpVUnBjbVZqZEdsdmJsd2lMQ0I3SUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnWjJWMFRXOTFjMlZFYVhKbFkzUnBiMjVmTVM1blpYUk5iM1Z6WlVScGNtVmpkR2x2YmpzZ2ZTQjlLVHRjYm5aaGNpQnBjMEZ5Y21GNVh6RWdQU0J5WlhGMWFYSmxLRndpTGk5cGMwRnljbUY1TDJselFYSnlZWGxjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKcGMwRnljbUY1WENJc0lIc2daVzUxYldWeVlXSnNaVG9nZEhKMVpTd2daMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQnBjMEZ5Y21GNVh6RXVhWE5CY25KaG
1VUc2dmU0I5S1R0Y2JuWmhjaUJwYzBWdGNIUjVYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOXBjMFZ0Y0hSNUwybHpSVzF3ZEhsY0lpazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSnBjMFZ0Y0hSNVhDSXNJSHNnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3dnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUJwYzBWdGNIUjVYekV1YVhORmJYQjBlVHNnZlNCOUtUdGNiblpoY2lCcGMwMWhjRjh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZhWE5OWVhBdmFYTk5ZWEJjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKcGMwMWhjRndpTENCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2FYTk5ZWEJmTVM1cGMwMWhjRHNnZlNCOUtUdGNiblpoY2lCcGMwNTFiV0psY2w4eElEMGdjbVZ4ZFdseVpTaGNJaTR2YVhOT2RXMWlaWEl2YVhOT2RXMWlaWEpjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKcGMwNTFiV0psY2x3aUxDQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdhWE5PZFcxaVpYSmZNUzVwYzA1MWJXSmxjanNnZlNCOUtUdGNiblpoY2lCcGMwOWlhbVZqZEY4eElEMGdjbVZ4ZFdseVpTaGNJaTR2YVhOUFltcGxZM1F2YVhOUFltcGxZM1JjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKcGMwOWlhbVZqZEZ3aUxDQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdhWE5QWW1wbFkzUmZNUzVwYzA5aWFtVmpkRHNnZlNCOUtUdGNiblpoY2lCcGMxTmxkRjh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZhWE5UWlhRdmFYTlRaWFJjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKcGMxTmxkRndpTENCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2FYTlRaWFJmTVM1cGMxTmxkRHNnZlNCOUtUdGNiblpoY2lCcGMxTjBjbWx1WjE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2YVhOVGRISnBibWN2YVhOVGRISnBibWRjSWlrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKcGMxTjBjbWx1WjF3aUxDQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdhWE5UZEhKcGJtZGZNUzVwYzFOMGNtbHVaenNnZlNCOUtUdGNiblpoY2lCc2IyZG5aWEpmTVNBOUlISmxjWFZwY21Vb1hDSXVMMnh2WjJkbGNpOXNiMmRuWlhKY0lpazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmpiMjVtYVdkMWNtVk1iMmRuWlhKY0lpd2dleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJR3h2WjJkbGNsOHhMbU52Ym1acFozVnlaVXh2WjJkbGNqc2dmU0I5S1R0Y2JrOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0JjSWt4dloyZGxjbHdpTENCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2JHOW5aMlZ5WHpFdVRHOW5aMlZ5T3lCOUlIMHBPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHVjRjRzl5ZEhNc0lGd2liRzluWjJWeVhDSXNJSHNnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3dnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUJzYjJkblpYSmZNUzVzYjJkblpYSTdJSDBnZlNrN1hHNWZYMlY0Y0c5eWRGTjBZWElvY21WeGRXbHlaU2hjSWk0dmNHRnljMlZUWldGeVkyaFJkV1Z5ZVM5d1lYSnpaVk5sWVhKamFGRjFaWEo1WENJcExDQmxlSEJ2Y25SektUdGNibDlmWlhod2IzSjBVM1JoY2loeVpYRjFhWEpsS0Z3aUxpOXdaWEpqWlc1MEwzQmxjbU5sYm5SY0lpa3NJR1Y0Y0c5eWRITXBPMXh1WDE5bGVIQnZjblJUZEdGeUtISmxjWFZwY21Vb1hDSXVMM0JzZFhKaGJHbDZaUzl3YkhWeVlXeHBlbVZjSWlrc0lHVjRjRzl5ZEhNcE8xeHVkbUZ5SUhCMWNtVlRkSEoxWTNSMWNtVmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzQjFjbVZUZEhKMVkzUjFjbVV2Y0hWeVpWTjBjblZqZEhWeVpWd2lLVHRjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbkIxY21WVGRISjFZM1IxY21WY0lpd2dleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSEIxY21WVGRISjFZM1IxY21WZk1TNXdkWEpsVTNSeWRXTjBkWEpsT3lCOUlIMHBPMXh1ZG1GeUlIUm9jbTkwZEd4bFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5MGFISnZkSFJzWlM5MGFISnZkSFJzWlZ3aUtUdGNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0luUm9jbTkwZEd4bFhDSXNJSHNnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3dnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUhKdmRIUnNaVjh4TG5Sb2NtOTBkR3hsT3lCOUlIMHBPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxuRjFaWEo1UVZCSklEMGdkbTlwWkNBd08xeHVZMjl1YzNRZ2RYUnBiSE5mTVNBOUlISmxjWFZwY21Vb1hDSXVMaTh1TGk5MWRHbHNjMXdpS1R0Y2JtTnNZWE56SUZGMVpYSjVRVkJKSUh0Y2JpQWdJQ0JuWlhSUmRXVnllU2dwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzJWaGNtTm9JRDBnYm1WM0lGVlNURk5sWVhKamFGQmhjbUZ0Y3loMGFHbHpMbkJoY21GdGN5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpaV0Z5WTJndWMybDZaU0ErSURBZ1B5QmdQeVI3YzJWaGNtTm9MblJ2VTNSeWFXNW5LQ2w5WUNBNklDY25PMXh1SUNBZ0lIMWNiaUFnSUNCblpYUkxaWGtvYTJWNUtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CaGNtRnRjejh1VzJ0bGVWMDdYRzRnSUNBZ2ZWeHVJQ0FnSUhObGRFdGxlU2hyWlhrc0lIWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YzJWMEtIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM0dUxuUm9hWE11Y0dGeVlXMXpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1cydGxlVjA2SUhaaGJIVmxMRnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjMlYwS0hCaGNtRnRjeWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9JWEJoY21GdGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhObFlYSmphQ0E5SUc1bGR5QlZVa3hUWldGeVkyaFFZWEpoYlhNb0tUdGNiaUFnSUNBZ0lDQWdUMkpxWldOMExtdGxlWE1vY0dGeVlXMXpLUzVtYjNKRllXTm9LQ2hyWlhrcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3WVhKaGJYTmJhMlY1WFNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjR0Z5WVcxelcydGxlVjBnUFQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCd1lYSmhiWE5iYTJWNV
1hTQTlQVDBnSjNOMGNtbHVaeWNnSmlZZ0lYQmhjbUZ0YzF0clpYbGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJWaGNtTm9MbUZ3Y0dWdVpDaHJaWGtzSUdBa2UzQmhjbUZ0YzF0clpYbGRmV0FwTzF4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1eVpYQnNZV05sVVhWbGNubFFZWEpoYlhNb2MyVmhjbU5vS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhR0Z6S0d0bGVTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIUm9hWE11Y0dGeVlXMXpQeTViYTJWNVhTQWhQVDBnSjNWdVpHVm1hVzVsWkNjN1hHNGdJQ0FnZlZ4dUlDQWdJR2RsZENCd1lYSmhiWE1vS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb01Dd2dkWFJwYkhOZk1TNXdZWEp6WlZObFlYSmphRkYxWlhKNUtTaHNiMk5oZEdsdmJpNXpaV0Z5WTJncE8xeHVJQ0FnSUgxY2JpQWdJQ0JuWlc1bGNtRjBaVkYxWlhKNUtIQmhjbUZ0Y3lBOUlIdDlMQ0J2Y0hScGIyNXpJRDBnZTMwcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDZ3dMQ0IxZEdsc2MxOHhMbWRsYm1WeVlYUmxVMlZoY21Ob1VYVmxjbmtwS0hCaGNtRnRjeXdnYjNCMGFXOXVjeWs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxjR3hoWTJWUmRXVnllVkJoY21GdGN5aHdZWEpoYlhNcElIdGNiaUFnSUNBZ0lDQWdhR2x6ZEc5eWVTNXlaWEJzWVdObFUzUmhkR1VvZTMwc0lDY25MQ0JnSkh0M2FXNWtiM2N1Ykc5allYUnBiMjR1YjNKcFoybHVmU1I3ZDJsdVpHOTNMbXh2WTJGMGFXOXVMbkJoZEdodVlXMWxmU1I3Wlhod2IzSjBjeTV4ZFdWeWVVRlFTUzVuWlc1bGNtRjBaVkYxWlhKNUtIQmhjbUZ0Y3lsOVlDazdYRzRnSUNBZ2ZWeHVmVnh1Wlhod2IzSjBjeTV4ZFdWeWVVRlFTU0E5SUc1bGR5QlJkV1Z5ZVVGUVNTZ3BPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1MllYSWdYMTlwYlhCdmNuUkVaV1poZFd4MElEMGdLSFJvYVhNZ0ppWWdkR2hwY3k1ZlgybHRjRzl5ZEVSbFptRjFiSFFwSUh4OElHWjFibU4wYVc5dUlDaHRiMlFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRzF2WkNBbUppQnRiMlF1WDE5bGMwMXZaSFZzWlNrZ1B5QnRiMlFnT2lCN0lGd2laR1ZtWVhWc2RGd2lPaUJ0YjJRZ2ZUdGNibjA3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxtWmxkR05vUVhCcElEMGdkbTlwWkNBd08xeHVZMjl1YzNRZ1pHOTNibXh2WVdScWMxOHhJRDBnWDE5cGJYQnZjblJFWldaaGRXeDBLSEpsY1hWcGNtVW9YQ0prYjNkdWJHOWhaR3B6WENJcEtUdGNibU52Ym5OMElIVjBhV3h6WHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTR2TGk0dmRYUnBiSE5jSWlrN1hHNWpiMjV6ZENCeGRXVnllVUZRU1Y4eElEMGdjbVZ4ZFdseVpTaGNJaTR1TDNGMVpYSjVRVkJKTDNGMVpYSjVRVkJKWENJcE8xeHVZMnhoYzNNZ1VtVnpjRzl1YzJWRmNuSnZjaUJsZUhSbGJtUnpJRVZ5Y205eUlIdGNiaUFnSUNCdFpYTnpZV2RsTzF4dUlDQWdJSEpsYzNCdmJuTmxPMXh1SUNBZ0lHTnZibk4wY25WamRHOXlLRzFsYzNOaFoyVXNJSEpsYzNCdmJuTmxLU0I3WEc0Z0lDQWdJQ0FnSUhOMWNHVnlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxtMWxjM05oWjJVZ1BTQnRaWE56WVdkbE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5KbGMzQnZibk5sSUQwZ2NtVnpjRzl1YzJVN1hHNGdJQ0FnZlZ4dWZWeHVZMnhoYzNNZ1JtVjBZMmhTWlhGMVpYTjBJSHRjYmlBZ0lDQjFjbXc3WEc0Z0lDQWdiM0IwYVc5dWN6dGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaDFjbXdzSUc5d2RHbHZibk1wSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUxY213Z1BTQjFjbXc3WEc0Z0lDQWdJQ0FnSUhSb2FYTXViM0IwYVc5dWN5QTlJRzl3ZEdsdmJuTTdYRzRnSUNBZ2ZWeHVJQ0FnSUdkbGRDQm5jbTkxY0NncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YjNCMGFXOXVjejh1WjNKdmRYQTdYRzRnSUNBZ2ZWeHVJQ0FnSUcxaGEyVW9LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0I3SUhKbGNHVmhkRkpsY1hWbGMzUlVhVzFsYjNWMElEMGdNQ3dnY21Wd1pXRjBVbVZ4ZFdWemRGSmxkSEo1VkdsdFpXOTFkQ0E5SURBZ2ZTQTlJSFJvYVhNdWIzQjBhVzl1Y3lBL1B5QjdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J5WlhGMVpYTjBWR2x0Wlc5MWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWFJ5ZVZScGJXVnZkWFE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQndjbTlqWldWa1JYSnliM0lvWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnNaV0Z5VkdsdFpXOTFkQ2h5WlhGMVpYTjBWR2x0Wlc5MWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMnhsWVhKVWFXMWxiM1YwS0hKbGRISjVWR2x0Wlc5MWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZxWldOMEtHNWxkeUJTWlhOd2IyNXpaVVZ5Y205eUtHVXViV1Z6YzJGblpTd2daUzV5WlhOd2IyNXpaU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY21WeGRXVnpkRmR5WVhCd1pYSWdQU0FvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1bVpYUmphRmR5WVhCd1pYSW9LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdWRHaGxiaWdvY21WemNHOXVjMlVwSUQwK0lISmxjMjlzZG1Vb2NtVnpjRzl1YzJVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1WTJGMFkyZ29LR1VwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdjbVZ4ZFdWemRDQjNZWE1nWVdKdmNuUmxaQ0F0SUhOamNtbHdkQ0IzYVd4c0lITjBiM0FnWlhobFkzVjBhVzVuSUdGdVpDQnViM1FnYzNWalkyVnpjeUJ2Y2lCbGNuSnZjaUJ5WlhOMWJIUWdkMjl1SjNRZ1ltVWdZWEJ3YkdsbFpGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pTNWpiMlJsSUQwOVBTQXlNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaGNtVndaV0YwVW1WeGRXVnpkRlJwYldWdmRYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQndjbTlqWldWa1JYSnliM0lvWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBjbmxVYVcxbGIzVjBJRDBnYzJWMFZHbHRaVzkxZENoeVpYRjFaWE4wVjNKaGNIQmxjaXdnY21Wd1pXRjBVbVZ4ZFdWemRGSmxkSEo1VkdsdFpXOTFkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRUpsSUhOMWNtVWdkR2hoZENCMGFXMWxiM1YwSUdadmNpQnlaWEYxWlhOMElHbHVhWFJwWVd4cGVtVmtJRzl1YkhrZ2IyNWpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWEpsY1hWbGMzUlVhVzFsYjNWMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWEYxWlhOMFZHbHRaVzkxZENBOUlITmxkRlJwYldWdmRYUW9LQ2tnUFQ0Z2NISnZZMlZsWkVWeWNtOXlLR1VwTENCeVpYQmxZWFJTWlhGMVpYTjBWR2x0Wlc5MWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhGMVpYTjBWM0poY0hCbGNpZ3BPMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdabVYwWTJoWGNtRndjR1Z5S0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lHSmhjMlVnUFNBbkp5d2djWFZsY25rc0lHaGxZV1JsY25Nc0lHSnZaSGtzSUhKbGMzQnZibk5sVkhsd1pTd2dZV0p2Y25SRGIyNTBjbTlzYkdWeUxDQXVMaTV5WlhOMElIMGdQU0IwYUdsekxtOXdkR2x2Ym5NZ1B6OGdlMzA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR2x1Y0hWMElEMGdZQ1I3WW1GelpYMGtlM1JvYVhNdWRYSnNmU1I3Y1hWbGNubEJVRWxmTVM1eGRXVnllVUZRU1M1blpXNWxjbUYwWlZGMVpYSjVLSEYxWlhKNUtYMWdPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabVYwWTJnb2FXNXdkWFFzSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzFsZEdodlpEb2dkR2hwY3k1dmNIUnBiMjV6TG0xbGRHaHZaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHaGxZV1JsY25NNklIUm9hWE11Y0hKbGNHRnlaVWhsWVdSbGNuTW9hR1ZoWkdWeWN5a3NYRzRnSUNBZ0lDQWdJQ0FnSUNCaWIyUjVPaUIwYUdsekxuQnlaWEJoY21WQ2IyUjVLR0p2WkhrcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJsbmJtRnNPaUJoWW05eWRFTnZiblJ5YjJ4c1pYSS9Mbk5wWjI1aGJDeGNiaUFnSUNBZ0lDQWdJQ0FnSUM0dUxuSmxjM1FzWEc0Z0lDQWdJQ0FnSUgwcExuUm9aVzRvS0hKbGMzQnZibk5sS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWEpsYzNCdmJuTmxMbTlyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjSEpsY0dGeVpVVnljbTl5S0hKbGMzQnZibk5sS1M1MGFHVnVLQ2hsY25Kdm
1Npa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCbGNuSnZjanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhOd2IyNXpaUzV6ZEdGMGRYTWdQVDA5SURJd05Da2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9jbVZ6Y0c5dWMyVlVlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuZEdWNGRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOd2IyNXpaUzUwWlhoMEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllteHZZaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTndiMjV6WlM1aWJHOWlLQ2t1ZEdobGJpZ29abWxzWlNrZ1BUNGdXMlpwYkdVc0lISmxjM0J2Ym5ObFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllYSnlZWGxDZFdabVpYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemNHOXVjMlV1WVhKeVlYbENkV1ptWlhJb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkcWMyOXVKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemNHOXVjMlV1YW5OdmJpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NISmxjR0Z5WlVobFlXUmxjbk1vYUdWaFpHVnljeUE5SUh0OUtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElISmxjWFZsYzNSSVpXRmtaWEp6SUQwZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTGk0dWFHVmhaR1Z5Y3l4Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjWFZsYzNSSVpXRmtaWEp6TzF4dUlDQWdJSDFjYmlBZ0lDQndjbVZ3WVhKbFFtOWtlU2hpYjJSNUtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaFltOWtlU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb1ltOWtlU0JwYm5OMFlXNWpaVzltSUVadmNtMUVZWFJoS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZbTlrZVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvS0RBc0lIVjBhV3h6WHpFdWFYTkJjbkpoZVNrb1ltOWtlU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW9NQ3dnZFhScGJITmZNUzV3ZFhKbFUzUnlkV04wZFhKbEtTaGliMlI1S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCN2ZUdGNiaUFnSUNBZ0lDQWdUMkpxWldOMExtdGxlWE1vS0RBc0lIVjBhV3h6WHpFdWNIVnlaVk4wY25WamRIVnlaU2tvWW05a2VTa3BMbVp2Y2tWaFkyZ29LR3RsZVNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0p2WkhsYmEyVjVYU0E5UFQwZ01DQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p2WkhsYmEyVjVYU0E5UFQwZ2JuVnNiQ0I4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKdlpIbGJhMlY1WFNBOVBUMGdabUZzYzJVZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9ZbTlrZVZ0clpYbGRJQ0U5UFNBd0lDWW1JR0p2WkhsYmEyVjVYU2tnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2RIbHdaVzltSUdKdlpIbGJhMlY1WFNBOVBUMGdKM04wY21sdVp5Y2dKaVlnWW05a2VWdHJaWGxkTG14bGJtZDBhQ0E5UFQwZ01Da3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUmJhMlY1WFNBOUlHSnZaSGxiYTJWNVhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQktVMDlPTG5OMGNtbHVaMmxtZVNoeVpYTjFiSFFwTzF4dUlDQWdJSDFjYmlBZ0lDQndjbVZ3WVhKbFJYSnliM0lvY21WemNHOXVjMlVwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNCdmJuTmxQeTUwWlhoMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemNHOXVjMlV1ZEdWNGRDZ3BMblJvWlc0b0tHVnljbTl5S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUcxbGMzTmhaMlVnUFNBblJYSnliM0luTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxbGMzTmhaMlVnUFNCS1UwOU9MbkJoY25ObEtHVnljbTl5S1Q4dWJXVnpjMkZuWlNBL1B5QnRaWE56WVdkbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRkpsYzNCdmJuTmxSWEp5YjNJb2JXVnpjMkZuWlN3Z2NtVnpjRzl1YzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0hKbGMzQnZibk5sUHk1cWMyOXVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpjRzl1YzJVdWFuTnZiaWdwTG5Sb1pXNG9LR1Z5Y205eUtTQTlQaUJ1WlhjZ1VtVnpjRzl1YzJWRmNuSnZjaWduUlhKeWIzSW5MQ0JsY25KdmNpa3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9ibVYzSUZKbGMzQnZibk5sUlhKeWIzSW9KMFpoYVd4bFpDQjBieUJtWlhSamFDY3NJSEpsYzNCdmJuTmxLU2s3WEc0Z0lDQWdmVnh1ZlZ4dVkyeGhjM01nUm1WMFkyaEJVRWtnZTF4dUlDQWdJSEpsY1hWbGMzUnpJRDBnVzEwN1hHNGdJQ0FnWjJWMElISmxjWFZsYzNSelZYSnNjeWdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZ4ZFdWemRITXViV0Z3S0NoN0lIVnliQ0I5S1NBOVBpQjFjbXdwTzF4dUlDQWdJSDFjYmlBZ0lDQm5aWFFvZFhKc0xDQnhkV1Z5ZVNBOUlIdDlMQ0J2Y0hScGIyNXpJRDBnZTMwcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YldGclpWSmxjWFZsYzNRb2RYSnNMQ0FuUjBWVUp5d2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0xpNHViM0IwYVc5dWN5eGNiaU
1FnSUNBZ0lDQWdJQ0FnSUhGMVpYSjVMRnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjRzl6ZENoMWNtd3NJRzl3ZEdsdmJuTWdQU0I3ZlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV0WVd0bFVtVnhkV1Z6ZENoMWNtd3NJQ2RRVDFOVUp5d2diM0IwYVc5dWN5azdYRzRnSUNBZ2ZWeHVJQ0FnSUhCMWRDaDFjbXdzSUc5d2RHbHZibk1nUFNCN2ZTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dFlXdGxVbVZ4ZFdWemRDaDFjbXdzSUNkUVZWUW5MQ0J2Y0hScGIyNXpLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVnRiM1psS0hWeWJDd2diM0IwYVc5dWN5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dFlXdGxVbVZ4ZFdWemRDaDFjbXdzSUNkRVJVeEZWRVVuTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjR0YwWTJnb2RYSnNMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtMWhhMlZTWlhGMVpYTjBLSFZ5YkN3Z0oxQkJWRU5JSnl3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZlZ4dUlDQWdJR1J2ZDI1c2IyRmtLSFZ5YkN3Z2IzQjBhVzl1Y3lBOUlIdDlLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSHNnYldWMGFHOWtJRDBnSjFCUFUxUW5MQ0JpWVhObElIMGdQU0J2Y0hScGIyNXpPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dFlXdGxVbVZ4ZFdWemRDaDFjbXdzSUcxbGRHaHZaQ3dnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZbUZ6WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p2WkhrNklHOXdkR2x2Ym5NdVltOWtlU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIRjFaWEo1T2lCdmNIUnBiMjV6TG5GMVpYSjVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2FHVmhaR1Z5Y3pvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDZERiMjUwWlc1MExWUjVjR1VuT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMzQnZibk5sVkhsd1pUb2dKMkpzYjJJbkxGeHVJQ0FnSUNBZ0lDQjlLUzUwYUdWdUtDaGJabWxzWlN3Z2NtVnpjRzl1YzJWZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpXZEZlSEFnUFNCU1pXZEZlSEFvTDJacGJHVnVZVzFsVzE0N1BWeGNibDBxUFNnb1d5ZGNJbDBwTGlvL1hGd3lmRnRlTzF4Y2JsMHFLUzhzSUNkbkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYjI1MFpXNTBSR2x6Y0c5emFYUnBiMjRnUFNCeVpYTndiMjV6WlM1b1pXRmtaWEp6TG1kbGRDZ25RMjl1ZEdWdWRDMUVhWE53YjNOcGRHbHZiaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOdmJuUmxiblJFYVhOd2IzTnBkR2x2YmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdacGJHVnVZVzFsSUQwZ2NtVm5SWGh3TG1WNFpXTW9ZMjl1ZEdWdWRFUnBjM0J2YzJsMGFXOXVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVd4bGJtRnRaU0FtSmlBb01Dd2daRzkzYm14dllXUnFjMTh4TG1SbFptRjFiSFFwS0dacGJHVXNJR1pwYkdWdVlXMWxXekZkTG5KbGNHeGhZMlZCYkd3b0oxd2lKeXdnSnljcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpUdGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxjWFZsYzNSelFubEhjbTkxY0NobmNtOTFjQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXlaWEYxWlhOMGN5NW1hV3gwWlhJb0tISmxjWFZsYzNRcElEMCtJSEpsY1hWbGMzUXVaM0p2ZFhBZ1BUMDlJR2R5YjNWd0tUdGNiaUFnSUNCOVhHNGdJQ0FnYldGclpWSmxjWFZsYzNRb2RYSnNMQ0J0WlhSb2IyUXNJRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjbVZ4ZFdWemRDQTlJRzVsZHlCR1pYUmphRkpsY1hWbGMzUW9kWEpzTENCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0WlhSb2IyUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBdUxpNXZjSFJwYjI1ekxGeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaWEYxWlhOMGN5NXdkWE5vS0hKbGNYVmxjM1FwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21WeGRXVnpkQzV0WVd0bEtDa3VabWx1WVd4c2VTZ29LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnlaWEYxWlhOMFNXNWtaWGdnUFNCMGFHbHpMbkpsY1hWbGMzUnpMbVpwYm1SSmJtUmxlQ2dvY21WeGRXVnpkRVZzWlcxbGJuUXBJRDArSUhKbGNYVmxjM1JGYkdWdFpXNTBJRDA5UFNCeVpYRjFaWE4wS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYRjFaWE4wU1c1a1pYZ2dJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1eVpYRjFaWE4wY3k1emNHeHBZMlVvY21WeGRXVnpkRWx1WkdWNExDQXhLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1ZlZ4dVpYaHdiM0owY3k1bVpYUmphRUZ3YVNBOUlHNWxkeUJHWlhSamFFRlFTU2dwTzF4dUlpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hHNTJZWElnWDE5amNtVmhkR1ZDYVc1a2FXNW5JRDBnS0hSb2FYTWdKaVlnZEdocGN5NWZYMk55WldGMFpVSnBibVJwYm1jcElIeDhJQ2hQWW1wbFkzUXVZM0psWVhSbElEOGdLR1oxYm1OMGFXOXVLRzhzSUcwc0lHc3NJR3N5S1NCN1hHNGdJQ0FnYVdZZ0tHc3lJRDA5UFNCMWJtUmxabWx1WldRcElHc3lJRDBnYXp0Y2JpQWdJQ0IyWVhJZ1pHVnpZeUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9iU3dnYXlrN1hHNGdJQ0FnYVdZZ0tDRmtaWE5qSUh4OElDaGNJbWRsZEZ3aUlHbHVJR1JsYzJNZ1B5QWhiUzVmWDJWelRXOWtkV3hsSURvZ1pHVnpZeTUzY21sMFlXSnNaU0I4ZkNCa1pYTmpMbU52Ym1acFozVnlZV0pzWlNrcElIdGNiaUFnSUNBZ0lHUmxjMk1nUFNCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRvS1NCN0lISmxkSFZ5YmlCdFcydGRPeUI5SUgwN1hHNGdJQ0FnZlZ4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodkxDQnJNaXdnWkdWell5azdYRzU5S1NBNklDaG1kVzVqZEdsdmJpaHZMQ0J0TENCckxDQnJNaWtnZTF4dUlDQWdJR2xtSUNock1pQTlQVDBnZFc1a1pXWnBibVZrS1NCck1pQTlJR3M3WEc0Z0lDQWdiMXRyTWwwZ1BTQnRXMnRkTzF4dWZTa3BPMXh1ZG1GeUlGOWZaWGh3YjNKMFUzUmhjaUE5SUNoMGFHbHpJQ1ltSUhSb2FYTXVYMTlsZUhCdmNuUlRkR0Z5S1NCOGZDQm1kVzVqZEdsdmJpaHRMQ0JsZUhCdmNuUnpLU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdjQ0JwYmlCdEtTQnBaaUFvY0NBaFBUMGdYQ0prWldaaGRXeDBYQ0lnSmlZZ0lVOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFH
1RnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaGxlSEJ2Y25SekxDQndLU2tnWDE5amNtVmhkR1ZDYVc1a2FXNW5LR1Y0Y0c5eWRITXNJRzBzSUhBcE8xeHVmVHRjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2JsOWZaWGh3YjNKMFUzUmhjaWh5WlhGMWFYSmxLRndpTGk5bVpYUmphRUZRU1M5bVpYUmphRUZRU1Z3aUtTd2daWGh3YjNKMGN5azdYRzVmWDJWNGNHOXlkRk4wWVhJb2NtVnhkV2x5WlNoY0lpNHZjWFZsY25sQlVFa3ZjWFZsY25sQlVFbGNJaWtzSUdWNGNHOXlkSE1wTzF4dUlpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYRzVsZUhCdmNuUnpMa2hVVkZCU1pYTndiMjV6WlNBOUlIWnZhV1FnTUR0Y2JuWmhjaUJJVkZSUVVtVnpjRzl1YzJVN1hHNG9ablZ1WTNScGIyNGdLRWhVVkZCU1pYTndiMjV6WlNrZ2UxeHVJQ0FnSUVoVVZGQlNaWE53YjI1elpWdElWRlJRVW1WemNHOXVjMlZiWENKR2IzSmlhV1JrWlc1Y0lsMGdQU0EwTUROZElEMGdYQ0pHYjNKaWFXUmtaVzVjSWp0Y2JuMHBLRWhVVkZCU1pYTndiMjV6WlNCOGZDQW9aWGh3YjNKMGN5NUlWRlJRVW1WemNHOXVjMlVnUFNCSVZGUlFVbVZ6Y0c5dWMyVWdQU0I3ZlNrcE8xeHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEc1bGVIQnZjblJ6TGtWTlVGUlpYMVJGVTFSZlZrRk1WVVZUSUQwZ2RtOXBaQ0F3TzF4dVpYaHdiM0owY3k1RlRWQlVXVjlVUlZOVVgxWkJURlZGVXlBOUlGc25KeXdnZTMwc0lGdGRMQ0J1ZFd4c0xDQjFibVJsWm1sdVpXUXNJRk41YldKdmJDZ3BMQ0JtZFc1amRHbHZiaUFvS1NCN0lIMHNJRzVsZHlCTllYQW9LU3dnYm1WM0lGTmxkQ2dwTENCT1lVNWRPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNWxlSEJ2Y25SekxrVlpSVjlVVWtGRFMwbE9SMTlGVWxKUFVsTWdQU0IyYjJsa0lEQTdYRzVsZUhCdmNuUnpMa1ZaUlY5VVVrRkRTMGxPUjE5RlVsSlBVbE1nUFNCN1hHNGdJQ0FnVG05MFUzVndjRzl5ZEdWa09pQW5RMmh5YjIxbElHVjRkR1Z1YzJsdmJuTWdhWE1nYm05MElITjFjSEJ2Y25SbFpDY3NYRzU5TzF4dUlpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYRzVsZUhCdmNuUnpMa1Y1WlZSeVlXTnJhVzVuUTJ4cFpXNTBJRDBnZG05cFpDQXdPMXh1WTI5dWMzUWdSWGxsVkhKaFkydHBibWREYkdsbGJuUmZZMjl1YzNSaGJuUnpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOUZlV1ZVY21GamEybHVaME5zYVdWdWRDNWpiMjV6ZEdGdWRITmNJaWs3WEc1amIyNXpkQ0JFUlVaQlZVeFVYMFZZVkVWT1UwbFBUbDlKUkNBOUlDZGpZWEJ0YkdKbWJXRnJhMnBxYldSaGJtcG5hbVZ1YVdoa1lXOW9hbVJqYWljN1hHNWpiR0Z6Y3lCRmVXVlVjbUZqYTJsdVowTnNhV1Z1ZENCN1hHNGdJQ0FnYjNCMGFXOXVjenRjYmlBZ0lDQndiM0owTzF4dUlDQWdJRzl1VTNWalkyVnpjeUE5SUc1MWJHdzdYRzRnSUNBZ2IyNUZjbkp2Y2lBOUlHNTFiR3c3WEc0Z0lDQWdiMjVOWlhOellXZGxJRDBnYm5Wc2JEdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaHZjSFJwYjI1eklEMGdlMzBwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV2Y0hScGIyNXpJRDBnYjNCMGFXOXVjenRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVibVZqZENncElIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaFkyaHliMjFsUHk1eWRXNTBhVzFsUHk1amIyNXVaV04wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV2YmtWeWNtOXlQeTRvYm1WM0lFVnljbTl5S0VWNVpWUnlZV05yYVc1blEyeHBaVzUwWDJOdmJuTjBZVzUwYzE4eExrVlpSVjlVVWtGRFMwbE9SMTlGVWxKUFVsTXVUbTkwVTNWd2NHOXlkR1ZrS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV3YjNKMElEMGdZMmh5YjIxbExuSjFiblJwYldVdVkyOXVibVZqZENoMGFHbHpMbTl3ZEdsdmJuTS9MbWxrSUQ4L0lFUkZSa0ZWVEZSZlJWaFVSVTVUU1U5T1gwbEVMQ0I3SUc1aGJXVTZJQ2RrWVd4elYyVmlVM1JsY21Wdkp5QjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Y0c5eWRDNXZiazFsYzNOaFoyVXVZV1JrVEdsemRHVnVaWElvS0cxelp5a2dQVDRnZEdocGN5NXZiazFsYzNOaFoyVS9MaWh0YzJjcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViMjVUZFdOalpYTnpQeTRvS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV2YmtWeWNtOXlQeTRvWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYzJWdVpFMWxjM05oWjJVb2JXVnpjMkZuWlNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5CdmNuUS9MbkJ2YzNSTlpYTnpZV2RsUHk0b2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJR1JwYzJOdmJtNWxZM1FvS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Y0c5eWREOHVaR2x6WTI5dWJtVmpkRDh1S0NrN1hHNGdJQ0FnZlZ4dWZWeHVaWGh3YjNKMGN5NUZlV1ZVY21GamEybHVaME5zYVdWdWRDQTlJRVY1WlZSeVlXTnJhVzVuUTJ4cFpXNTBPMXh1SWl3aVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1MllYSWdYMTlqY21WaGRHVkNhVzVrYVc1bklEMGdLSFJvYVhNZ0ppWWdkR2hwY3k1ZlgyTnlaV0YwWlVKcGJtUnBibWNwSUh4OElDaFBZbXBsWTNRdVkzSmxZWFJsSUQ4Z0tHWjFibU4wYVc5dUtHOHNJRzBzSUdzc0lHc3lLU0I3WEc0Z0lDQWdhV1lnS0dzeUlEMDlQU0IxYm1SbFptbHVaV1FwSUdzeUlEMGdhenRjYmlBZ0lDQjJZWElnWkdWell5QTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2JTd2dheWs3WEc0Z0lDQWdhV1lnS0NGa1pYTmpJSHg4SUNoY0ltZGxkRndpSUdsdUlHUmxjMk1nUHlBaGJTNWZYMlZ6VFc5a2RXeGxJRG9nWkdWell5NTNjbWwwWVdKc1pTQjhmQ0JrWlhOakxtTnZibVpwWjNWeVlXSnNaU2twSUh0Y2JpQWdJQ0FnSUdSbGMyTWdQU0I3SUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUdkbGREb2dablZ1WTNScGIyNG9LU0I3SUhKbGRIVnliaUJ0VzJ0ZE95QjlJSDA3WEc0Z0lDQWdmVnh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1
1pYSjBlU2h2TENCck1pd2daR1Z6WXlrN1hHNTlLU0E2SUNobWRXNWpkR2x2YmlodkxDQnRMQ0JyTENCck1pa2dlMXh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYRzRnSUNBZ2IxdHJNbDBnUFNCdFcydGRPMXh1ZlNrcE8xeHVkbUZ5SUY5ZlpYaHdiM0owVTNSaGNpQTlJQ2gwYUdseklDWW1JSFJvYVhNdVgxOWxlSEJ2Y25SVGRHRnlLU0I4ZkNCbWRXNWpkR2x2YmlodExDQmxlSEJ2Y25SektTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJ0S1NCcFppQW9jQ0FoUFQwZ1hDSmtaV1poZFd4MFhDSWdKaVlnSVU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNobGVIQnZjblJ6TENCd0tTa2dYMTlqY21WaGRHVkNhVzVrYVc1bktHVjRjRzl5ZEhNc0lHMHNJSEFwTzF4dWZUdGNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjYmw5ZlpYaHdiM0owVTNSaGNpaHlaWEYxYVhKbEtGd2lMaTlGZVdWVWNtRmphMmx1WjBOc2FXVnVkQzlGZVdWVWNtRmphMmx1WjBOc2FXVnVkRndpS1N3Z1pYaHdiM0owY3lrN1hHNGlMQ0pjSW5WelpTQnpkSEpwWTNSY0lqdGNiblpoY2lCZlgyTnlaV0YwWlVKcGJtUnBibWNnUFNBb2RHaHBjeUFtSmlCMGFHbHpMbDlmWTNKbFlYUmxRbWx1WkdsdVp5a2dmSHdnS0U5aWFtVmpkQzVqY21WaGRHVWdQeUFvWm5WdVkzUnBiMjRvYnl3Z2JTd2dheXdnYXpJcElIdGNiaUFnSUNCcFppQW9heklnUFQwOUlIVnVaR1ZtYVc1bFpDa2dheklnUFNCck8xeHVJQ0FnSUhaaGNpQmtaWE5qSUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWh0TENCcktUdGNiaUFnSUNCcFppQW9JV1JsYzJNZ2ZId2dLRndpWjJWMFhDSWdhVzRnWkdWell5QS9JQ0Z0TGw5ZlpYTk5iMlIxYkdVZ09pQmtaWE5qTG5keWFYUmhZbXhsSUh4OElHUmxjMk11WTI5dVptbG5kWEpoWW14bEtTa2dlMXh1SUNBZ0lDQWdaR1Z6WXlBOUlIc2daVzUxYldWeVlXSnNaVG9nZEhKMVpTd2daMlYwT2lCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlHMWJhMTA3SUgwZ2ZUdGNiaUFnSUNCOVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOHNJR3N5TENCa1pYTmpLVHRjYm4wcElEb2dLR1oxYm1OMGFXOXVLRzhzSUcwc0lHc3NJR3N5S1NCN1hHNGdJQ0FnYVdZZ0tHc3lJRDA5UFNCMWJtUmxabWx1WldRcElHc3lJRDBnYXp0Y2JpQWdJQ0J2VzJzeVhTQTlJRzFiYTEwN1hHNTlLU2s3WEc1MllYSWdYMTlsZUhCdmNuUlRkR0Z5SUQwZ0tIUm9hWE1nSmlZZ2RHaHBjeTVmWDJWNGNHOXlkRk4wWVhJcElIeDhJR1oxYm1OMGFXOXVLRzBzSUdWNGNHOXlkSE1wSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHMHBJR2xtSUNod0lDRTlQU0JjSW1SbFptRjFiSFJjSWlBbUppQWhUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLR1Y0Y0c5eWRITXNJSEFwS1NCZlgyTnlaV0YwWlVKcGJtUnBibWNvWlhod2IzSjBjeXdnYlN3Z2NDazdYRzU5TzF4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHVMeThnUVZCSmMxeHVYMTlsZUhCdmNuUlRkR0Z5S0hKbGNYVnBjbVVvWENJdUwyRndhVndpS1N3Z1pYaHdiM0owY3lrN1hHNHZMeUJqYjI1emRHRnVkSE5jYmw5ZlpYaHdiM0owVTNSaGNpaHlaWEYxYVhKbEtGd2lMaTlqYjI1emRHRnVkSE12Ym1WMGQyOXlhMXdpS1N3Z1pYaHdiM0owY3lrN1hHNWZYMlY0Y0c5eWRGTjBZWElvY21WeGRXbHlaU2hjSWk0dlkyOXVjM1JoYm5SekwzUmxjM1JwYm1kY0lpa3NJR1Y0Y0c5eWRITXBPMXh1THk4Z2RYUnBiSE5jYmw5ZlpYaHdiM0owVTNSaGNpaHlaWEYxYVhKbEtGd2lMaTkxZEdsc2Mxd2lLU3dnWlhod2IzSjBjeWs3WEc0dkx5QnpaWEoyYVdObGMxeHVYMTlsZUhCdmNuUlRkR0Z5S0hKbGNYVnBjbVVvWENJdUwzTmxjblpwWTJWelhDSXBMQ0JsZUhCdmNuUnpLVHRjYmlJc0ltVjRjRzl5ZENCbGJuVnRJRmR2Y210bGNrRmpkR2x2YmlCN1hHNGdJRlJ5WVc1elptVnlJRDBnSjNSeVlXNXpabVZ5Snl4Y2JpQWdSR1ZqYjJSbElEMGdKMlJsWTI5a1pTY3NYRzRnSUZKbGJtUmxjaUE5SUNkeVpXNWtaWEluTEZ4dWZWeHVJaXdpYVc1MFpYSm1ZV05sSUZKbFkzUkRiMjVtYVdjZ2UxeHVJQ0JqYjJ4dmNqb2djM1J5YVc1bk8xeHVmVnh1WEc1cGJuUmxjbVpoWTJVZ1VtOTFibVJTWldOMFEyOXVabWxuSUh0Y2JpQWdZbTl5WkdWeVYybGtkR2c2SUc1MWJXSmxjanRjYmlBZ1ltOXlaR1Z5UTI5c2IzSTZJSE4wY21sdVp6dGNiaUFnWW05eVpHVnlVbUZrYVhWek9pQnVkVzFpWlhKYlhUdGNiaUFnWTI5c2IzSTZJSE4wY21sdVp6dGNibjFjYmx4dWFXNTBaWEptWVdObElGUmxlSFJEYjI1bWFXY2dlMXh1SUNCemFYcGxPaUJ1ZFcxaVpYSTdYRzRnSUdGc2FXZHVPaUJEWVc1MllYTlVaWGgwUVd4cFoyNDdYRzRnSUhaaGJHbG5iam9nUTJGdWRtRnpWR1Y0ZEVKaGMyVnNhVzVsTzF4dUlDQmpiMnh2Y2pvZ2MzUnlhVzVuTzF4dWZWeHVYRzVwYm5SbGNtWmhZMlVnVEdsdVpVTnZibVpwWnlCN1hHNGdJR052Ykc5eU9pQnpkSEpwYm1jN1hHNGdJR1JoYzJnNklHNTFiV0psY2x0ZE8xeHVmVnh1WEc1amIyNXpkQ0JFUlVaQlZVeFVYMFpQVGxSZlUwbGFSU0E5SURNdU5qdGNibHh1Wlhod2IzSjBJR052Ym5OMElFSk1RVU5MWDBOUFRFOVNJRDBnSnlNd01EQW5PMXh1Wlhod2IzSjBJR052Ym5OMElGZElTVlJGWDBOUFRFOVNJRDBnSnlObVptWW5PMXh1Wlhod2IzSjBJR052Ym5OMElGSkZSbDlEVDB4UFVpQTlJQ2NqUWtSQ1JFSkVKenRjYm1WNGNHOXlkQ0JqYjI1emRDQkhVa0ZFUlY5Q1QxSkVSVkpmVjBsRVZFZ2dQU0F4TUR0Y2JtVjRjRzl5ZENCamIyNXpkQ0JIVWtGRVJWOUNUMUpFUlZKZlVrRkVTVlZUSUQwZ01qQTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkVjbUYzWlhJZ2UxeHVJQ0JqWVc1MllYTWhPaUJQWm1aelkzSmxaVzVEWVc1MllYTTdYRzVjYmlBZ1oyVjBJR04wZUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpZVzUyWVhNaExtZGxkRU52Ym5SbGVIUW9KekprSnlraE8xeHVJQ0I5WEc1Y2JpQWdjMlYwUTJGdWRtRnpLR05
1oYm5aaGN6b2dUMlptYzJOeVpXVnVRMkZ1ZG1GektTQjdYRzRnSUNBZ2RHaHBjeTVqWVc1MllYTWdQU0JqWVc1MllYTTdYRzVjYmlBZ0lDQjBhR2x6TG5ObGRFTmhiblpoYzBSbFptRjFiSFJ6S0NrN1hHNGdJSDFjYmx4dUlDQm5aWFJVWlhoMFYybGtkR2dvZEdWNGREb2djM1J5YVc1bktTQjdYRzRnSUNBZ2RHaHBjeTV6WlhSRFlXNTJZWE5FWldaaGRXeDBjeWdwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OMGVDNXRaV0Z6ZFhKbFZHVjRkQ2gwWlhoMEtTNTNhV1IwYUR0Y2JpQWdmVnh1WEc0Z0lISmxZM1FvZURvZ2JuVnRZbVZ5TENCNU9pQnVkVzFpWlhJc0lIZHBaSFJvT2lCdWRXMWlaWElzSUdobGFXZG9kRG9nYm5WdFltVnlMQ0JoY21kek9pQlFZWEowYVdGc1BGSmxZM1JEYjI1bWFXYytJRDBnZTMwcElIdGNiaUFnSUNCMGFHbHpMbU4wZUM1aVpXZHBibEJoZEdnb0tUdGNiaUFnSUNCMGFHbHpMbU4wZUM1bWFXeHNVM1I1YkdVZ1BTQmhjbWR6TG1OdmJHOXlJRDgvSUVKTVFVTkxYME5QVEU5U08xeHVJQ0FnSUhSb2FYTXVZM1I0TG1acGJHeFNaV04wS0hnc0lIa3NJSGRwWkhSb0xDQm9aV2xuYUhRcE8xeHVJQ0FnSUhSb2FYTXVZM1I0TG1acGJHd29LVHRjYmlBZ0lDQjBhR2x6TG1OMGVDNWpiRzl6WlZCaGRHZ29LVHRjYmlBZ2ZWeHVYRzRnSUhKdmRXNWtVbVZqZENoNE9pQnVkVzFpWlhJc0lIazZJRzUxYldKbGNpd2dkMmxrZEdnNklHNTFiV0psY2l3Z2FHVnBaMmgwT2lCdWRXMWlaWElzSUdGeVozTTZJRkJoY25ScFlXdzhVbTkxYm1SU1pXTjBRMjl1Wm1sblBpQTlJSHQ5S1NCN1hHNGdJQ0FnZEdocGN5NWpkSGd1WW1WbmFXNVFZWFJvS0NrN1hHNGdJQ0FnZEdocGN5NWpkSGd1YzJWMFRHbHVaVVJoYzJnb1cxMHBPMXh1SUNBZ0lIUm9hWE11WTNSNExtWnBiR3hUZEhsc1pTQTlJR0Z5WjNNdVkyOXNiM0lnUHo4Z1FreEJRMHRmUTA5TVQxSTdYRzRnSUNBZ2RHaHBjeTVqZEhndWJHbHVaVmRwWkhSb0lEMGdZWEpuY3k1aWIzSmtaWEpYYVdSMGFDQS9QeUJIVWtGRVJWOUNUMUpFUlZKZlYwbEVWRWc3WEc0Z0lDQWdkR2hwY3k1amRIZ3VjM1J5YjJ0bFUzUjViR1VnUFNCaGNtZHpMbUp2Y21SbGNrTnZiRzl5SUQ4L0lFSk1RVU5MWDBOUFRFOVNPMXh1SUNBZ0lIUm9hWE11WTNSNExuSnZkVzVrVW1WamRDaDRMQ0I1TENCM2FXUjBhQ3dnYUdWcFoyaDBMQ0JoY21kekxtSnZjbVJsY2xKaFpHbDFjeUEvUHlCYk1Dd2dNQ3dnTUN3Z01GMHBPMXh1SUNBZ0lIUm9hWE11WTNSNExtWnBiR3dvS1R0Y2JpQWdJQ0IwYUdsekxtTjBlQzV6ZEhKdmEyVW9LVHRjYmlBZ0lDQjBhR2x6TG1OMGVDNWpiRzl6WlZCaGRHZ29LVHRjYmlBZ2ZWeHVYRzRnSUhSbGVIUW9kR1Y0ZERvZ2MzUnlhVzVuTENCNE9pQnVkVzFpWlhJc0lIazZJRzUxYldKbGNpd2dZWEpuY3pvZ1VHRnlkR2xoYkR4VVpYaDBRMjl1Wm1sblBpQTlJSHQ5S1NCN1hHNGdJQ0FnZEdocGN5NWpkSGd1WW1WbmFXNVFZWFJvS0NrN1hHNGdJQ0FnZEdocGN5NWpkSGd1Wm1sc2JGTjBlV3hsSUQwZ1lYSm5jeTVqYjJ4dmNpQS9QeUJYU0VsVVJWOURUMHhQVWp0Y2JpQWdJQ0IwYUdsekxtTjBlQzVtYjI1MElEMGdZR0p2YkdRZ0pIdGhjbWR6TG5OcGVtVWdQejhnUkVWR1FWVk1WRjlHVDA1VVgxTkpXa1Y5Y21WdElITmxjbWxtWUR0Y2JpQWdJQ0IwYUdsekxtTjBlQzUwWlhoMFFXeHBaMjRnUFNCaGNtZHpMbUZzYVdkdUlEOC9JQ2RqWlc1MFpYSW5PMXh1SUNBZ0lIUm9hWE11WTNSNExuUmxlSFJDWVhObGJHbHVaU0E5SUdGeVozTXVkbUZzYVdkdUlEOC9JQ2R0YVdSa2JHVW5PMXh1SUNBZ0lIUm9hWE11WTNSNExtWnBiR3hVWlhoMEtIUmxlSFFzSUhnc0lIa3BPMXh1SUNBZ0lIUm9hWE11WTNSNExtTnNiM05sVUdGMGFDZ3BPMXh1SUNCOVhHNWNiaUFnYkdsdVpTaHpkR0Z5ZEZnNklHNTFiV0psY2l3Z2MzUmhjblJaT2lCdWRXMWlaWElzSUdWdVpGZzZJRzUxYldKbGNpd2daVzVrV1RvZ2JuVnRZbVZ5TENCaGNtZHpPaUJRWVhKMGFXRnNQRXhwYm1WRGIyNW1hV2MrSUQwZ2UzMHBJSHRjYmlBZ0lDQjBhR2x6TG1OMGVDNWlaV2RwYmxCaGRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1OMGVDNXpkSEp2YTJWVGRIbHNaU0E5SUdGeVozTXVZMjlzYjNJZ1B6OGdRa3hCUTB0ZlEwOU1UMUk3WEc0Z0lDQWdkR2hwY3k1amRIZ3VjMlYwVEdsdVpVUmhjMmdvWVhKbmN5NWtZWE5vSUQ4L0lGdGRLVHRjYmlBZ0lDQjBhR2x6TG1OMGVDNXRiM1psVkc4b2MzUmhjblJZTENCemRHRnlkRmtwTzF4dUlDQWdJSFJvYVhNdVkzUjRMbXhwYm1WVWJ5aGxibVJZTENCbGJtUlpLVHRjYmlBZ0lDQjBhR2x6TG1OMGVDNXpkSEp2YTJVb0tUdGNiaUFnSUNCMGFHbHpMbU4wZUM1amJHOXpaVkJoZEdnb0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjMlYwUTJGdWRtRnpSR1ZtWVhWc2RITW9LU0I3WEc0Z0lDQWdkR2hwY3k1amRIZ3VabTl1ZENBOUlHQmliMnhrSUNSN1JFVkdRVlZNVkY5R1QwNVVYMU5KV2tWOWNtVnRJSE5sY21sbVlEdGNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJSHNnWTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUXNJR3h2WjJkbGNpQjlJR1p5YjIwZ0owQmpkWFIzYVhObEwzVjBhV3h6Snp0Y2JseHVhVzUwWlhKbVlXTmxJRTFsW
1kdsaFJHVmpiMlJsY2tOdmJuTjBjblZqZEc5eUlIdGNiaUFnZFhKc09pQnpkSEpwYm1jN1hHNGdJR05oYm5aaGN6b2dUMlptYzJOeVpXVnVRMkZ1ZG1Gek8xeHVJQ0JqYjI1bWFXYzZJRlpwWkdWdlJHVmpiMlJsY2tOdmJtWnBaenRjYmlBZ2MyTnlaV1Z1VjJsa2RHZzZJRzUxYldKbGNqdGNiaUFnYzJsdVoyeGxVMk5oYkdVNklHSnZiMnhsWVc0N1hHNGdJSE5qWVd4bFVtRjBhVzg2SUc1MWJXSmxjanRjYmlBZ2NtbG5hSFEvT2lCaWIyOXNaV0Z1TzF4dUlDQmtaV0oxWno4NklHSnZiMnhsWVc0N1hHNTlYRzVjYm1sdWRHVnlabUZqWlNCRWNtRjNUM0IwYVc5dWN5QjdYRzRnSUdObGJHeFlPaUJ1ZFcxaVpYSTdYRzRnSUdObGJHeFpPaUJ1ZFcxaVpYSTdYRzRnSUdObGJHeFhhV1IwYURvZ2JuVnRZbVZ5TzF4dUlDQmpaV3hzU0dWcFoyaDBPaUJ1ZFcxaVpYSTdYRzRnSUdKcFoyZGxjM1JUWTJGc1pWSmhkR2x2UHpvZ1RuVnNiR0ZpYkdVOGJuVnRZbVZ5UGp0Y2JpQWdjMmx1WjJ4bFUyTmhiR1UvT2lCaWIyOXNaV0Z1TzF4dWZWeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1RXVmthV0ZFWldOdlpHVnlJSHRjYmlBZ2RYSnNPaUJ6ZEhKcGJtYzdYRzRnSUdSbFkyOWtaWEk2SUZacFpHVnZSR1ZqYjJSbGNqdGNibHh1SUNBalkyRnVkbUZ6T2lCUFptWnpZM0psWlc1RFlXNTJZWE03WEc1Y2JpQWdJMk5sYkd4WUlEMGdNRHRjYmlBZ0kyTmxiR3haSUQwZ01EdGNiaUFnSTNOcGJtZHNaVk5qWVd4bElEMGdabUZzYzJVN1hHNGdJQ056WTJGc1pWSmhkR2x2SUQwZ01UdGNiaUFnSTNOamNtVmxibGRwWkhSb0lEMGdNRHRjYmlBZ0kybHpVbWxuYUhRZ1BTQm1ZV3h6WlR0Y2JpQWdJMlJsWW5WbklEMGdabUZzYzJVN1hHNGdJQ05qWld4c1YybGtkR2dnUFNBd08xeHVJQ0FqWTJWc2JFaGxhV2RvZENBOUlEQTdYRzRnSUNOaWFXZG5aWE4wVTJOaGJHVlNZWFJwYnlBOUlEQTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jSEp2Y0hNNklFMWxaR2xoUkdWamIyUmxja052Ym5OMGNuVmpkRzl5S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIxY213c0lHTmhiblpoY3l3Z2MyTnlaV1Z1VjJsa2RHZ3NJSE5wYm1kc1pWTmpZV3hsTENCelkyRnNaVkpoZEdsdkxDQmtaV0oxWnl3Z2NtbG5hSFFzSUdOdmJtWnBaeUI5SUQwZ2NISnZjSE03WEc1Y2JpQWdJQ0IwYUdsekxuVnliQ0E5SUhWeWJEdGNiaUFnSUNCMGFHbHpMaU5qWVc1MllYTWdQU0JqWVc1MllYTTdYRzRnSUNBZ2RHaHBjeTRqYzJsdVoyeGxVMk5oYkdVZ1BTQnphVzVuYkdWVFkyRnNaVHRjYmlBZ0lDQjBhR2x6TGlOelkyRnNaVkpoZEdsdklEMGdjMk5oYkdWU1lYUnBienRjYmlBZ0lDQjBhR2x6TGlOelkzSmxaVzVYYVdSMGFDQTlJSE5qY21WbGJsZHBaSFJvTzF4dUlDQWdJSFJvYVhNdUkybHpVbWxuYUhRZ1BTQkNiMjlzWldGdUtISnBaMmgwS1R0Y2JpQWdJQ0IwYUdsekxpTmtaV0oxWnlBOUlFSnZiMnhsWVc0b1pHVmlkV2NwTzF4dVhHNGdJQ0FnZEdocGN5NWtaV052WkdWeUlEMGdibVYzSUZacFpHVnZSR1ZqYjJSbGNpaDdYRzRnSUNBZ0lDQnZkWFJ3ZFhRNklDaG1jbUZ0WlNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0F2THlCbWFYSnpkQ0F0SUdacGRDQnBiV0ZuWlNCMGJ5QmpaV3hzSUhOcGVtVnpYRzRnSUNBZ0lDQWdJR052Ym5OMElHNWxlSFJUYVhwbElEMGdZMkZzWTNWc1lYUmxRWE53WldOMFVtRjBhVzlHYVhRb1puSmhiV1V1WkdsemNHeGhlVmRwWkhSb0xDQm1jbUZ0WlM1a2FYTndiR0Y1U0dWcFoyaDBMQ0IwYUdsekxpTmpaV3hzVjJsa2RHZ3NJSFJvYVhNdUkyTmxiR3hJWldsbmFIUXBPMXh1WEc0Z0lDQWdJQ0FnSUM4dklITmxZMjl1WkNBdElHbG1JSE5wYm1kc1pTQnpZMkZzWlNCcGN5QmxibUZpYkdWa0xDQmpZV3hqZFd4aGRHVWdjMk5oYkdVZ2NtVnN
1ZWFJsWkNCMGJ5QnRZWGdnYzJOaGJHVWdkMmwwYUdsdUlHRnNiQ0JrYVdGdGIyNWtjMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTRqYzJsdVoyeGxVMk5oYkdVZ0ppWWdkR2hwY3k0amMyTmhiR1ZTWVhScGJ5QWhQVDBnYm5Wc2JDQW1KaUIwYUdsekxpTmlhV2RuWlhOMFUyTmhiR1ZTWVhScGJ5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE5qWVd4bElEMGdkR2hwY3k0amMyTmhiR1ZTWVhScGJ5QXZJR1p5WVcxbExtUnBjM0JzWVhsSVpXbG5hSFFnTHlBb2RHaHBjeTRqWW1sbloyVnpkRk5qWVd4bFVtRjBhVzhnTHlCbWNtRnRaUzVrYVhOd2JHRjVTR1ZwWjJoMEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHpZMkZzWlNBOFBTQXdMamszTlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYm1WNGRGTnBlbVV1ZDJsa2RHZ2dLajBnYzJOaGJHVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBVMmw2WlM1b1pXbG5hSFFnS2owZ2MyTmhiR1U3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdlQ0E5SUNoMGFHbHpMaU5qWld4c1YybGtkR2dnTFNCdVpYaDBVMmw2WlM1M2FXUjBhQ2tnTHlBeUlDc2dkR2hwY3k0alkyVnNiRmdnS3lBb2RHaHBjeTRqYVhOU2FXZG9kQ0EvSUhSb2FYTXVJM05qY21WbGJsZHBaSFJvSURvZ01DazdYRzRnSUNBZ0lDQWdJR052Ym5OMElIa2dQU0FvZEdocGN5NGpZMlZzYkVobGFXZG9kQ0F0SUc1bGVIUlRhWHBsTG1obGFXZG9kQ2tnTHlBeUlDc2dkR2hwY3k0alkyVnNiRms3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTNSNElEMGdkR2hwY3k0alkyRnVkbUZ6TG1kbGRFTnZiblJsZUhRb0p6SmtKeWtoTzF4dUlDQWdJQ0FnSUNCamRIZ3VaSEpoZDBsdFlXZGxLR1p5WVcxbExDQjRMQ0I1TENCdVpYaDBVMmw2WlM1M2FXUjBhQ3dnYm1WNGRGTnBlbVV1YUdWcFoyaDBLVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k0alpHVmlkV2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpkSGd1WW1WbmFXNVFZWFJvS0NrN1hHNGdJQ0FnSUNBZ0lDQWdZM1I0TG1admJuUWdQU0FuTWk0MGNtVnRJSE5sY21sbUp6dGNiaUFnSUNBZ0lDQWdJQ0JqZEhndVptbHNiRk4wZVd4bElEMGdKM0psWkNjN1hHNGdJQ0FnSUNBZ0lDQWdZM1I0TG5SbGVIUkJiR2xuYmlBOUlDZGpaVzUwWlhJbk8xeHVJQ0FnSUNBZ0lDQWdJR04wZUM1bWFXeHNWR1Y0ZENoZ1VtRjBhVzg2SUNSN2RHaHBjeTRqYzJOaGJHVlNZWFJwYjMxZ0xDQjRJQ3NnZEdocGN5NGpZMlZzYkZkcFpIUm9JQzhnTWl3Z2VTazdYRzRnSUNBZ0lDQWdJQ0FnWTNSNExtTnNiM05sVUdGMGFDZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1puSmhiV1V1WTJ4dmMyVW9LVHRjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JsY25KdmNqb2dLR1VwSUQwK0lHeHZaMmRsY2k1bGNuSnZjaWhsS1N4Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdsbUlDaGpiMjVtYVdjcElIdGNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5kWEpsS0dOdmJtWnBaeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWjJWMElHbHpRMjl1Wm1sbmRYSmxaQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a1pXTnZaR1Z5TG5OMFlYUmxJRDA5UFNBblkyOXVabWxuZFhKbFpDYzdYRzRnSUgxY2JseHVJQ0JqYjI1bWFXZDFjbVVvWTI5dVptbG5PaUJXYVdSbGIwUmxZMjlrWlhKRGIyNW1hV2NwSUh0Y2JpQWdJQ0IwYUdsekxtUmxZMjlrWlhJdVkyOXVabWxuZFhKbEtHTnZibVpwWnlrN1hHNGdJSDFjYmx4dUlDQmtjbUYzS0dOb2RXNXJPaUJGYm1OdlpHVmtWbWxrWlc5RGFIVnVheXdnYjNCMGFXOXVjem9nUkhKaGQwOXdkR2x2Ym5NcElIdGNiaUFnSUNCcFppQW9JV05vZFc1cktTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdleUJqWld4c1dDd2dZMlZzYkZrc0lHTmxiR3hYYVdSMGFDd2dZMlZzYkVobGFXZG9kQ3dnYzJsdVoyeGxVMk5oYkdVZ1BTQm1ZV3h6WlN3Z1ltbG5aMlZ6ZEZOallXeGxVbUYwYVc4Z2ZTQTlJRzl3ZEdsdmJuTTdYRzVjYmlBZ0lDQjBhR2x6TGlOalpXeHNXQ0E5SUdObGJHeFlPMXh1SUNBZ0lIUm9hWE11STJObGJHeFpJRDBnWTJWc2JGazdYRzRnSUNBZ2RHaHBjeTRqWTJWc2JGZHBaSFJvSUQwZ1kyVnNiRmRwWkhSb08xeHVJQ0FnSUhSb2FYTXVJMk5sYkd4SVpXbG5hSFFnUFNCalpXeHNTR1ZwWjJoME8xeHVJQ0FnSUhSb2FYTXVJM05wYm1kc1pWTmpZV3hsSUQwZ2MybHVaMnhsVTJOaGJHVTdYRzRnSUNBZ2RHaHBjeTRqWW1sbloyVnpkRk5qWVd4bFVtRjBhVzhnUFNCaWFXZG5aWE4wVTJOaGJHVlNZWFJwYnlBL1B5QXdPMXh1WEc0Z0lDQWdkR2hwY3k1a1pXTnZaR1Z5TG1SbFkyOWtaU2hqYUhWdWF5azdYRzRnSUgxY2JuMWNibVY0Y0c5eWRDQjBlWEJsSUhzZ1JISmhkMDl3ZEdsdmJuTWdmVHRjYmlJc0lpOHZJR1pwYkdVNmMzSmpMMnh2Wnk1cWMxeHlYRzR2S2x4eVhHNGdLaUJEYjNCNWNtbG5hSFFnS0dNcElESXdNVEl0TWpBeE15NGdWR1ZzWldOdmJTQlFZWEpwYzFSbFkyZ3ZWRk5KTDAxTkwwZFFRVU1nUTNseWFXd2dRMjl1WTI5c1lYUnZYSEpjYmlBcUlFeHBZMlZ1YzJVNklFSlRSQzB6TFVOc1lYVnpaU0FvYzJWbElFeEpRMFZPVTBVZ1ptbHNaU2xjY2x4dUlDb3ZYSEpjYm5aaGNpQk1iMmNnUFNBb1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2RtRnlJSE4wWVhKMElEMGdibVYzSUVSaGRHVW9LVHRjY2x4dUlDQjJZWElnVEU5SFgweEZWa1ZNWDBWU1VrOVNJRDBnTkR0Y2NseHVJQ0IyWVhJZ1RFOUhYMHhGVmtWTVgxZEJVazVKVGtjZ1BTQXpPMXh5WEc0Z0lIWmhjaUJNVDBkZlRFVldSVXhmU1U1R1R5QTlJREk3WEhKY2JpQWdkbUZ5SUV4UFIxOU1SVlpGVEY5RVJVSlZSeUE5SURFN1hISmNiaUFnZG1GeUlHeHZaMTlzWlhabGJDQTlJRXhQUjE5TVJWWkZURjlGVWxKUFVqdGNjbHh1SUNCMllYSWdiRzluVDJKcVpXTjBJRDBnZTF4eVhHNGdJQ0FnYzJWMFRHOW5UR1YyWld3NklHWjFibU4wYVc5dUtHeGxkbVZzS1NCN1hISmNiaUFnSUNBZ0lHbG1JQ2hzWlhabGJDQTlQU0IwYUdsekxtUmxZblZuS1NCc2IyZGZiR1YyWld3Z1BTQk1UMGRmVEVWV1JVeGZSRVZDVlVjN1hISmNiaUFnSUNBZ0lHVnNjMlVnYVdZZ0tHeGxkbVZzSUQwOUlIUm9hWE11YVc1bWJ5a2diRzluWDJ4bGRtVnNJRDBnVEU5SFgweEZWa1ZNWDBsT1JrODdYSEpjYmlBZ0lDQWdJR1ZzYzJVZ2FXWWdLR3hsZG1Wc0lEMDlJSFJvYVhNdWQyRnliaWtnYkc5blgyeGxkbVZzSUQwZ1RFOUhYMHhGVmtWTVgxZEJVazVKVGtjN1hISmNiaUFnSUNBZ0lHVnNjMlVnYVdZZ0tHeGxkbVZzSUQwOUlIUm9hWE11WlhKeWIzSXBJR3h2WjE5c1pYWmxiQ0E5SUV4UFIxOU1SVlpGVEY5RlVsSlBVanRjY2x4dUlDQWdJQ0FnWld4elpTQnNiMmRmYkdWMlpXd2dQU0JNVDBkZlRFVldSVXhmUlZKU1QxSTdYSEpjYmlBZ0lDQjlMRnh5WEc0Z0lDQWdaR1ZpZFdjNklHWjFibU4wYVc5dUtHMXZaSFZzWlN3Z2JYTm5LU0I3WEhKY2JpQWdJQ0FnSUdsbUlDaGpiMjV6YjJ4bExtUmxZblZuSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNCamIyNXpiMnhsTG1SbFluVm5JRDBnWTI5dWMyOXNaUzVzYjJjN1hISmNiaUFnSUNBZ0lIMWNjbH
1h1SUNBZ0lDQWdhV1lnS0V4UFIxOU1SVlpGVEY5RVJVSlZSeUErUFNCc2IyZGZiR1YyWld3cElIdGNjbHh1SUNBZ0lDQWdJQ0JqYjI1emIyeGxMbVJsWW5WbktGd2lXMXdpSUNzZ1RHOW5MbWRsZEVSMWNtRjBhVzl1VTNSeWFXNW5LRzVsZHlCRVlYUmxLQ2tnTFNCemRHRnlkQ3dnTVRBd01Da2dLeUJjSWwxY0lpd2dYQ0piWENJZ0t5QnRiMlIxYkdVZ0t5QmNJbDFjSWl3Z2JYTm5LVHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlN4Y2NseHVJQ0FnSUd4dlp6b2dablZ1WTNScGIyNG9iVzlrZFd4bExDQnRjMmNwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVrWldKMVp5aHRiMlIxYkdVdWJYTm5LVHRjY2x4dUlDQWdJSDBzWEhKY2JpQWdJQ0JwYm1adk9pQm1kVzVqZEdsdmJpaHRiMlIxYkdVc0lHMXpaeWtnZTF4eVhHNGdJQ0FnSUNCcFppQW9URTlIWDB4RlZrVk1YMGxPUms4Z1BqMGdiRzluWDJ4bGRtVnNLU0I3WEhKY2JpQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1cGJtWnZLRndpVzF3aUlDc2dURzluTG1kbGRFUjFjbUYwYVc5dVUzUnlhVzVuS0c1bGR5QkVZWFJsS0NrZ0xTQnpkR0Z5ZEN3Z01UQXdNQ2tnS3lCY0lsMWNJaXdnWENKYlhDSWdLeUJ0YjJSMWJHVWdLeUJjSWwxY0lpd2diWE5uS1R0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZTeGNjbHh1SUNBZ0lIZGhjbTQ2SUdaMWJtTjBhVzl1S0cxdlpIVnNaU3dnYlhObktTQjdYSEpjYmlBZ0lDQWdJR2xtSUNoTVQwZGZURVZXUlV4ZlYwRlNUa2xPUnlBK1BTQnNiMmRmYkdWMlpXd3BJSHRjY2x4dUlDQWdJQ0FnSUNCamIyNXpiMnhsTG5kaGNtNG9YQ0piWENJZ0t5Qk1iMmN1WjJWMFJIVnlZWFJwYjI1VGRISnBibWNvYm1WM0lFUmhkR1VvS1NBdElITjBZWEowTENBeE1EQXdLU0FySUZ3aVhWd2lMQ0JjSWx0Y0lpQXJJRzF2WkhWc1pTQXJJRndpWFZ3aUxDQnRjMmNwTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOUxGeHlYRzRnSUNBZ1pYSnliM0k2SUdaMWJtTjBhVzl1S0cxdlpIVnNaU3dnYlhObktTQjdYSEpjYmlBZ0lDQWdJR2xtSUNoTVQwZGZURVZXUlV4ZlJWSlNUMUlnUGowZ2JHOW5YMnhsZG1Wc0tTQjdYSEpjYmlBZ0lDQWdJQ0FnWTI5dWMyOXNaUzVsY25KdmNpaGNJbHRjSWlBcklFeHZaeTVuWlhSRWRYSmhkR2x2YmxOMGNtbHVaeWh1WlhjZ1JHRjBaU2dwSUMwZ2MzUmhjblFzSURFd01EQXBJQ3NnWENKZFhDSXNJRndpVzF3aUlDc2diVzlrZFd4bElDc2dYQ0pkWENJc0lHMXpaeWs3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0I5TzF4eVhHNGdJSEpsZEhWeWJpQnNiMmRQWW1wbFkzUTdYSEpjYm4wcEtDazdYSEpjYmx4eVhHNHZLaUJJWld4d1pYSWdablZ1WTNScGIyNGdkRzhnY0hKcGJuUWdZU0JrZFhKaGRHbHZiaUIyWVd4MVpTQnBiaUIwYUdVZ1ptOXliU0JJT2sxTk9sTlRMazFUSUNvdlhISmNia3h2Wnk1blpYUkVkWEpoZEdsdmJsTjBjbWx1WnlBOUlHWjFibU4wYVc5dUtHUjFjbUYwYVc5dUxDQmZkR2x0WlhOallXeGxLU0I3WEhKY2JpQWdkbUZ5SUc1bFp6dGNjbHh1WEhKY2JpQWdMeW9nU0dWc2NHVnlJR1oxYm1OMGFXOXVJSFJ2SUhCeWFXNTBJR0VnYm5WdFltVnlJRzl1SUdFZ1ptbDRaV1FnYm5WdFltVnlJRzltSUdScFoybDBjeUFxTDF4eVhHNGdJR1oxYm1OMGFXOXVJSEJoWkNodWRXMWlaWElzSUd4bGJtZDBhQ2tnZTF4eVhHNGdJQ0FnZG1GeUlITjBjaUE5SUZ3aVhDSWdLeUJ1ZFcxaVpYSTdYSEpjYmlBZ0lDQjJZWElnWVNBOUlITjBjaTV6Y0d4cGRDaGNJaTVjSWlrN1hISmNiaUFnSUNCM2FHbHNaU0FvWVZzd1hTNXNaVzVuZEdnZ1BDQnNaVzVuZEdncElIdGNjbHh1SUNBZ0lDQWdZVnN3WFNBOUlGd2lNRndpSUNzZ1lWc3dYVHRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQmhMbXB2YVc0b1hDSXVYQ0lwTzF4eVhHNGdJSDFjY2x4dVhISmNiaUFnYVdZZ0tHUjFjbUYwYVc5dUlEd2dNQ2tnZTF4eVhHNGdJQ0FnYm1WbklEMGdkSEoxWlR0Y2NseHVJQ0FnSUdSMWNtRjBhVzl1SUQwZ0xXUjFjbUYwYVc5dU8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0J1WldjZ1BTQm1ZV3h6WlR0Y2NseHVJQ0I5WEhKY2JpQWdkbUZ5SUhScGJXVnpZMkZzWlNBOUlGOTBhVzFsYzJOaGJHVWdmSHdnTVR0Y2NseHVJQ0IyWVhJZ1pIVnlZWFJwYjI1ZmMyVmpJRDBnWkhWeVlYUnBiMjRnTHlCMGFXMWxjMk5oYkdVN1hISmNiaUFnZG1GeUlHaHZkWEp6SUQwZ1RXRjBhQzVtYkc5dmNpaGtkWEpoZEdsdmJsOXpaV01nTHlBek5qQXdLVHRjY2x4dUlDQmtkWEpoZEdsdmJsOXpaV01nTFQwZ2FHOTFjbk1nS2lBek5qQXdPMXh5WEc0Z0lIWmhjaUJ0YVc1MWRHVnpJRDBnVFdGMGFDNW1iRzl2Y2loa2RYSmhkR2x2Ymw5elpXTWdMeUEyTUNrN1hISmNiaUFnWkhWeVlYUnBiMjVmYzJWaklDMDlJRzFwYm5WMFpYTWdLaUEyTUR0Y2NseHVJQ0IyWVhJZ2JYTmxZeUE5SUdSMWNtRjBhVzl1WDNObFl5QXFJREV3TURBN1hISmNiaUFnWkhWeVlYUnBiMjVmYzJWaklEMGdUV0YwYUM1bWJHOXZjaWhrZFhKaGRHbHZibDl6WldNcE8xeHlYRzRnSUcxelpXTWdMVDBnWkhWeVlYUnBiMjVmYzJWaklDb2dNVEF3TUR0Y2NseHVJQ0J0YzJWaklEMGdUV0YwYUM1bWJHOXZjaWh0YzJWaktUdGNjbHh1SUNCeVpYUjFjbTRnS0c1bFp5QS9JRndpTFZ3aUlEb2dYQ0pjSWlrZ0t5Qm9iM1Z5Y3lBcklGd2lPbHdpSUNzZ2NHRmtLRzFwYm5WMFpYTXNJRElwSUNzZ1hDSTZYQ0lnS3lCd1lXUW9aSFZ5WVhScGIyNWZjMlZqTENBeUtTQXJJRndpTGx3aUlDc2djR0ZrS0cxelpXTXNJRE1wTzF4eVhHNTlPMXh5WEc1Y2NseHVMeW9nU0dWc2NHVnlJR1oxYm1OMGFXOXVJSFJ2SUhOMGNtbHVaMmxtZVNCSVZFMU1OU0JVYVcxbFVtRnVaMlZ6SUc5aWFtVmpkSE1nS2k5Y2NseHVURzluTG5CeWFXNTBVbUZ1WjJWeklEMGdablZ1WTNScGIyNG9jbUZ1WjJWektTQjdYSEpjYmlBZ2RtRnlJR3hsYm1kMGFDQTlJSEpoYm1kbGN5NXNaVzVuZEdnN1hISmNiaUFnYVdZZ0tHeGxibWQwYUNBK0lEQXBJSHRjY2x4dUlDQWdJSFpoY2lCemRISWdQU0JjSWx3aU8xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNCcFppQW9hU0ErSURBcElITjBjaUFyUFNCY0lpeGNJanRjY2x4dUlDQWdJQ0FnYzNSeUlDczlJRndpVzF3aUlDc2dURzluTG1kbGRFUjFjbUYwYVc5dVUzUnlhVzVuS0hKaGJtZGxjeTV6ZEdGeWRDaHBLU2tnS3lCY0lpeGNJaUFySUV4dlp5NW5aWFJFZFhKaGRHbHZibE4wY21sdVp5aHlZVzVuWlhNdVpXNWtLR2twS1NBcklGd2lYVndpTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSE4wY2p0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdjbVYwZFhKdUlGd2lLR1Z0Y0hSNUtWd2lPMXh5WEc0Z0lIMWNjbH
1h1ZlR0Y2NseHVYSEpjYm1sbUlDaDBlWEJsYjJZZ1pYaHdiM0owY3lBaFBUMGdYQ0oxYm1SbFptbHVaV1JjSWlrZ2UxeHlYRzRnSUdWNGNHOXlkSE11VEc5bklEMGdURzluTzF4eVhHNTlYSEpjYmk4dklHWnBiR1U2YzNKakwzTjBjbVZoYlM1cWMxeHlYRzUyWVhJZ1RWQTBRbTk0VTNSeVpXRnRJRDBnWm5WdVkzUnBiMjRvWVhKeVlYbENkV1ptWlhJcElIdGNjbHh1SUNCcFppQW9ZWEp5WVhsQ2RXWm1aWElnYVc1emRHRnVZMlZ2WmlCQmNuSmhlVUoxWm1abGNpa2dlMXh5WEc0Z0lDQWdkR2hwY3k1aWRXWm1aWElnUFNCaGNuSmhlVUoxWm1abGNqdGNjbHh1SUNBZ0lIUm9hWE11WkdGMFlYWnBaWGNnUFNCdVpYY2dSR0YwWVZacFpYY29ZWEp5WVhsQ2RXWm1aWElwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhSEp2ZHlBb1hDSk9aV1ZrY3lCaGJpQmhjbkpoZVNCaWRXWm1aWEpjSWlrN1hISmNiaUFnZlZ4eVhHNGdJSFJvYVhNdWNHOXphWFJwYjI0Z1BTQXdPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpcGNjbHh1SUVOdmJXMXZiaUJCVUVrZ1ltVjBkMlZsYmlCTmRXeDBhVUoxWm1abGNsTjBjbVZoYlNCaGJtUWdVMmx0Y0d4bFUzUnlaV0Z0WEhKY2JpQXFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FMMXh5WEc1TlVEUkNiM2hUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbWRsZEZCdmMybDBhVzl1SUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjRzl6YVhScGIyNDdYSEpjYm4wN1hISmNibHh5WEc1TlVEUkNiM2hUZEhKbFlXMHVjSEp2ZEc5MGVYQmxMbWRsZEVWdVpGQnZjMmwwYVc5dUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdjbVYwZFhKdUlIUm9hWE11WW5WbVptVnlMbUo1ZEdWTVpXNW5kR2c3WEhKY2JuMDdYSEpjYmx4eVhHNU5VRFJDYjNoVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG1kbGRFeGxibWQwYUNBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbUoxWm1abGNpNWllWFJsVEdWdVozUm9PMXh5WEc1OU8xeHlYRzVjY2x4dVRWQTBRbTk0VTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV6WldWcklEMGdablZ1WTNScGIyNG9jRzl6S1NCN1hISmNiaUFnZG1GeUlHNXdiM01nUFNCTllYUm9MbTFoZUNnd0xDQk5ZWFJvTG0xcGJpaDBhR2x6TG1KMVptWmxjaTVpZVhSbFRHVnVaM1JvTENCd2IzTXBLVHRjY2x4dUlDQjBhR2x6TG5CdmMybDBhVzl1SUQwZ0tHbHpUbUZPS0c1d2IzTXBJSHg4SUNGcGMwWnBibWwwWlNodWNHOXpLU2tnUHlBd0lEb2dibkJ2Y3p0Y2NseHVJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVmVHRjY2x4dVhISmNiazFRTkVKdmVGTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWFYTkZiM01nUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCeVpYUjFjbTRnZEdocGN5NW5aWFJRYjNOcGRHbHZiaWdwSUQ0OUlIUm9hWE11WjJWMFJXNWtVRzl6YVhScGIyNG9LVHRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FYSEpjYmlCU1pXRmtJRzFsZEdodlpITXNJSE5wYldsdFlYSWdkRzhnUkdGMFlWTjBjbVZoYlNCaWRYUWdjMmx0Y0d4bGNseHlYRzRnS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2k5Y2NseHVUVkEwUW05NFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1eVpXRmtRVzU1U1c1MElEMGdablZ1WTNScGIyNG9jMmw2WlN3Z2MybG5ibVZrS1NCN1hISmNiaUFnZG1GeUlISmxjeUE5SURBN1hISmNiaUFnYVdZZ0tIUm9hWE11Y0c5emFYUnBiMjRnS3lCemFYcGxJRHc5SUhSb2FYTXVZblZtWm1WeUxtSjVkR1ZNWlc1bmRHZ3BJSHRjY2x4dUlDQWdJSE4zYVhSamFDQW9jMmw2WlNrZ2UxeHlYRzRnSUNBZ0lDQmpZWE5sSURFNlhISmNiaUFnSUNBZ0lDQWdhV1lnS0hOcFoyNWxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTVrWVhSaGRtbGxkeTVuWlhSSmJuUTRLSFJvYVhNdWNHOXphWFJwYjI0cE8xeHlYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUmhkR0YyYVdWM0xtZGxkRlZwYm5RNEtIUm9hWE11Y0c5emFYUnBiMjRwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdZMkZ6WlNBeU9seHlYRzRnSUNBZ0lDQWdJR2xtSUNoemFXZHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJSEpsY3lBOUlIUm9hWE11WkdGMFlYWnBaWGN1WjJWMFNXNTBNVFlvZEdocGN5NXdiM05wZEdsdmJpazdYSEpjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXVaR0YwWVhacFpYY3VaMlYwVldsdWRERTJLSFJvYVhNdWNHOXphWFJwYjI0cE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnWTJGelpTQXpPbHh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHphV2R1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJQ2hjSWs1dklHMWxkR2h2WkNCbWIzSWdjbVZoWkdsdVp5QnphV2R1WldRZ01qUWdZbWwwY3lCMllXeDFaWE5jSWlrN1hISmNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdVpHRjBZWFpwWlhjdVoyVjBWV2x1ZERnb2RHaHBjeTV3YjNOcGRHbHZiaWtnUER3Z01UWTdYSEpjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdmRDBnZEdocGN5NWtZWFJoZG1sbGR5NW5aWFJWYVc1ME9DaDBhR2x6TG5CdmMybDBhVzl1SUNzZ01Ta2dQRHdnT0R0Y2NseHVJQ0FnSUNBZ0lDQWdJSEpsY3lCOFBTQjBhR2x6TG1SaGRHRjJhV1YzTG1kbGRGVnBiblE0S0hSb2FYTXVjRzl6YVhScGIyNGdLeUF5S1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJR05oYzJVZ05EcGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2MybG5ibVZrS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG1SaGRHRjJhV1YzTG1kbGRFbHVkRE15S0hSb2FYTXVjRzl6YVhScGIyNHBPMXh5WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQnlaWE1nUFNCMGFHbHpMbVJoZEdGMmFXVjNMbWRsZEZWcGJuUXpNaWgwYUdsekxuQnZjMmwwYVc5dUtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUdOaGMyVWdPRHBjY2x4dUlDQWdJQ0FnSUNCcFppQW9jMmxuYm1Wa0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUFvWENKT2J5QnRaWFJvYjJRZ1ptOXlJSEpsWVdScGJtY2djMmxuYm1Wa0lEWTBJR0pwZEhNZ2RtRnNkV1Z6WENJcE8xeHlYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUmhkR0YyYVdWM0xtZGxkRlZwYm5Rek1paDBhR2x6TG5CdmMybDBhVzl1S1NBOFBDQXpNanRjY2x4dUlDQWdJQ0FnSUNBZ0lISmxjeUI4UFNCMGFHbHpMbVJoZEdGMmFXVjNMbWRsZEZWcGJuUXpNaWgwYUdsekxuQnZjMmwwYVc5dUlDc2dOQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHlYRzRnSUNBZ0lDQmtaV1poZFd4ME9seHlYRzRnSUNBZ0lDQWdJSFJvY205M0lDaGNJbkpsWVdSSmJuUWdiV1YwYUc5a0lHNXZkQ0JwYlhCc1pXMWxiblJsWkNCbWIzSWdjMmw2WlRvZ1hDSWdLeUJ6YVhwbEtUdGNjbHh1SUNBZ0lIMWNjbH
1h1SUNBZ0lIUm9hWE11Y0c5emFYUnBiMjRnS3owZ2MybDZaVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lIUm9jbTkzSUNoY0lrNXZkQ0JsYm05MVoyZ2dZbmwwWlhNZ2FXNGdZblZtWm1WeVhDSXBPMXh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmsxUU5FSnZlRk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZoWkZWcGJuUTRJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnY21WMGRYSnVJSFJvYVhNdWNtVmhaRUZ1ZVVsdWRDZ3hMQ0JtWVd4elpTazdYSEpjYm4wN1hISmNibHh5WEc1TlVEUkNiM2hUZEhKbFlXMHVjSEp2ZEc5MGVYQmxMbkpsWVdSVmFXNTBNVFlnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCeVpYUjFjbTRnZEdocGN5NXlaV0ZrUVc1NVNXNTBLRElzSUdaaGJITmxLVHRjY2x4dWZUdGNjbHh1WEhKY2JrMVFORUp2ZUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WaFpGVnBiblF5TkNBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbkpsWVdSQmJubEpiblFvTXl3Z1ptRnNjMlVwTzF4eVhHNTlPMXh5WEc1Y2NseHVUVkEwUW05NFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1eVpXRmtWV2x1ZERNeUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdjbVYwZFhKdUlIUm9hWE11Y21WaFpFRnVlVWx1ZENnMExDQm1ZV3h6WlNrN1hISmNibjA3WEhKY2JseHlYRzVOVURSQ2IzaFRkSEpsWVcwdWNISnZkRzkwZVhCbExuSmxZV1JWYVc1ME5qUWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXRmtRVzU1U1c1MEtEZ3NJR1poYkhObEtUdGNjbHh1ZlR0Y2NseHVYSEpjYmsxUU5FSnZlRk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZoWkZOMGNtbHVaeUE5SUdaMWJtTjBhVzl1S0d4bGJtZDBhQ2tnZTF4eVhHNGdJR2xtSUNoMGFHbHpMbkJ2YzJsMGFXOXVJQ3NnYkdWdVozUm9JRHc5SUhSb2FYTXVZblZtWm1WeUxtSjVkR1ZNWlc1bmRHZ3BJSHRjY2x4dUlDQWdJSFpoY2lCeklEMGdYQ0pjSWp0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnY3lBclBTQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxLSFJvYVhNdWNtVmhaRlZwYm5RNEtDa3BPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlITTdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhSb2NtOTNJQ2hjSWs1dmRDQmxibTkxWjJnZ1lubDBaWE1nYVc0Z1luVm1abVZ5WENJcE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNiazFRTkVKdmVGTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWNtVmhaRU5UZEhKcGJtY2dQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0IyWVhJZ1lYSnlJRDBnVzEwN1hISmNiaUFnZDJocGJHVWdLSFJ5ZFdVcElIdGNjbHh1SUNBZ0lIWmhjaUJpSUQwZ2RHaHBjeTV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0FnSUdsbUlDaGlJQ0U5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJR0Z5Y2k1d2RYTm9LR0lwTzF4eVhHNGdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzRnSUhKbGRIVnliaUJUZEhKcGJtY3Vabkp2YlVOb1lYSkRiMlJsTG1Gd2NHeDVLRzUxYkd3c0lHRnljaWs3WEhKY2JuMDdYSEpjYmx4eVhHNU5VRFJDYjNoVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG5KbFlXUkpiblE0SUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjbVZoWkVGdWVVbHVkQ2d4TENCMGNuVmxLVHRjY2x4dWZUdGNjbHh1WEhKY2JrMVFORUp2ZUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WaFpFbHVkREUySUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjbVZoWkVGdWVVbHVkQ2d5TENCMGNuVmxLVHRjY2x4dWZUdGNjbHh1WEhKY2JrMVFORUp2ZUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WaFpFbHVkRE15SUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjbVZoWkVGdWVVbHVkQ2cwTENCMGNuVmxLVHRjY2x4dWZUdGNjbHh1WEhKY2JrMVFORUp2ZUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WaFpFbHVkRFkwSUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjbVZoWkVGdWVVbHVkQ2c0TENCbVlXeHpaU2s3WEhKY2JuMDdYSEpjYmx4eVhHNU5VRFJDYjNoVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG5KbFlXUlZhVzUwT0VGeWNtRjVJRDBnWm5WdVkzUnBiMjRvYkdWdVozUm9LU0I3WEhKY2JpQWdkbUZ5SUdGeWNpQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHeGxibWQwYUNrN1hISmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdZWEp5VzJsZElEMGdkR2hwY3k1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCOVhISmNiaUFnY21WMGRYSnVJR0Z5Y2p0Y2NseHVmVHRjY2x4dVhISmNiazFRTkVKdmVGTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWNtVmhaRWx1ZERFMlFYSnlZWGtnUFNCbWRXNWpkR2x2Ymloc1pXNW5kR2dwSUh0Y2NseHVJQ0IyWVhJZ1lYSnlJRDBnYm1WM0lFbHVkREUyUVhKeVlYa29iR1Z1WjNSb0tUdGNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0JoY25KYmFWMGdQU0IwYUdsekxuSmxZV1JKYm5ReE5pZ3BPMXh5WEc0Z0lIMWNjbHh1SUNCeVpYUjFjbTRnWVhKeU8xeHlYRzU5TzF4eVhHNWNjbHh1VFZBMFFtOTRVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaV0ZrVldsdWRERTJRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpaHNaVzVuZEdncElIdGNjbHh1SUNCMllYSWdZWEp5SUQwZ2JtVjNJRWx1ZERFMlFYSnlZWGtvYkdWdVozUm9LVHRjY2x4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNCaGNuSmJhVjBnUFNCMGFHbHpMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0I5WEhKY2JpQWdjbVYwZFhKdUlHRnljanRjY2x4dWZUdGNjbHh1WEhKY2JrMVFORUp2ZUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WaFpGVnBiblF6TWtGeWNtRjVJRDBnWm5WdVkzUnBiMjRvYkdWdVozUm9LU0I3WEhKY2JpQWdkbUZ5SUdGeWNpQTlJRzVsZHlCVmFXNTBNekpCY25KaG
1VTaHNaVzVuZEdncE8xeHlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJR0Z5Y2x0cFhTQTlJSFJvYVhNdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lIMWNjbHh1SUNCeVpYUjFjbTRnWVhKeU8xeHlYRzU5TzF4eVhHNWNjbHh1VFZBMFFtOTRVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME16SkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHeGxibWQwYUNrZ2UxeHlYRzRnSUhaaGNpQmhjbklnUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2hzWlc1bmRHZ3BPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUdGeWNsdHBYU0E5SUhSb2FYTXVjbVZoWkVsdWRETXlLQ2s3WEhKY2JpQWdmVnh5WEc0Z0lISmxkSFZ5YmlCaGNuSTdYSEpjYm4wN1hISmNibHh5WEc1cFppQW9kSGx3Wlc5bUlHVjRjRzl5ZEhNZ0lUMDlJRndpZFc1a1pXWnBibVZrWENJcElIdGNjbHh1SUNCbGVIQnZjblJ6TGsxUU5FSnZlRk4wY21WaGJTQTlJRTFRTkVKdmVGTjBjbVZoYlR0Y2NseHVmUzh2SUdacGJHVTZjM0pqTDBSaGRHRlRkSEpsWVcwdWFuTmNjbHh1THlvcVhISmNiaUJFWVhSaFUzUnlaV0Z0SUhKbFlXUnpJSE5qWVd4aGNuTXNJR0Z5Y21GNWN5QmhibVFnYzNSeWRXTjBjeUJ2WmlCa1lYUmhJR1p5YjIwZ1lXNGdRWEp5WVhsQ2RXWm1aWEl1WEhKY2JpQkpkQ2R6SUd4cGEyVWdZU0JtYVd4bExXeHBhMlVnUkdGMFlWWnBaWGNnYjI0Z2MzUmxjbTlwWkhNdVhISmNibHh5WEc0Z1FIQmhjbUZ0SUh0QmNuSmhlVUoxWm1abGNuMGdZWEp5WVhsQ2RXWm1aWElnUVhKeVlYbENkV1ptWlhJZ2RHOGdjbVZoWkNCbWNtOXRMbHh5WEc0Z1FIQmhjbUZ0SUhzL1RuVnRZbVZ5ZlNCaWVYUmxUMlptYzJWMElFOW1abk5sZENCbWNtOXRJR0Z5Y21GNVFuVm1abVZ5SUdKbFoybHVibWx1WnlCbWIzSWdkR2hsSUVSaGRHRlRkSEpsWVcwdVhISmNiaUJBY0dGeVlXMGdlejlDYjI5c1pXRnVmU0JsYm1ScFlXNXVaWE56SUVSaGRHRlRkSEpsWVcwdVFrbEhYMFZPUkVsQlRpQnZjaUJFWVhSaFUzUnlaV0Z0TGt4SlZGUk1SVjlGVGtSSlFVNGdLSFJvWlNCa1pXWmhkV3gwS1M1Y2NseHVJQ292WEhKY2JuWmhjaUJFWVhSaFUzUnlaV0Z0SUQwZ1puVnVZM1JwYjI0b1lYSnlZWGxDZFdabVpYSXNJR0o1ZEdWUFptWnpaWFFzSUdWdVpHbGhibTVsYzNNcElIdGNjbHh1SUNCMGFHbHpMbDlpZVhSbFQyWm1jMlYwSUQwZ1lubDBaVTltWm5ObGRDQjhmQ0F3TzF4eVhHNGdJR2xtSUNoaGNuSmhlVUoxWm1abGNpQnBibk4wWVc1alpXOW1JRUZ5Y21GNVFuVm1abVZ5S1NCN1hISmNiaUFnSUNCMGFHbHpMbUoxWm1abGNpQTlJR0Z5Y21GNVFuVm1abVZ5TzF4eVhHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR0Z5Y21GNVFuVm1abVZ5SUQwOUlGd2liMkpxWldOMFhDSXBJSHRjY2x4dUlDQWdJSFJvYVhNdVpHRjBZVlpwWlhjZ1BTQmhjbkpoZVVKMVptWmxjanRjY2x4dUlDQWdJR2xtSUNoaWVYUmxUMlptYzJWMEtTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdVgySjVkR1ZQWm1aelpYUWdLejBnWW5sMFpVOW1abk5sZER0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdkR2hwY3k1aWRXWm1aWElnUFNCdVpYY2dRWEp5WVhsQ2RXWm1aWElvWVhKeVlYbENkV1ptWlhJZ2ZId2dNQ2s3WEhKY2JpQWdmVnh5WEc0Z0lIUm9hWE11Y0c5emFYUnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVaVzVrYVdGdWJtVnpjeUE5SUdWdVpHbGhibTVsYzNNZ1BUMGdiblZzYkNBL0lFUmhkR0ZUZEhKbFlXMHVURWxVVkV4RlgwVk9SRWxCVGlBNklHVnVaR2xoYm01bGMzTTdYSEpjYm4wN1hISmNia1JoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsSUQwZ2UzMDdYSEpjYmx4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzVuWlhSUWIzTnBkR2x2YmlBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbkJ2YzJsMGFXOXVPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCSmJuUmxjbTVoYkNCbWRXNWpkR2x2YmlCMGJ5QnlaWE5wZW1VZ2RHaGxJRVJoZEdGVGRISmxZVzBnWW5WbVptVnlJSGRvWlc0Z2NtVnhkV2x5WldRdVhISmNiaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaWGgwY21FZ1RuVnRZbVZ5SUc5bUlHSjVkR1Z6SUhSdklHRmtaQ0IwYnlCMGFHVWdZblZtWm1WeUlHRnNiRzlqWVhScGIyNHVYSEpjYmlCQWNtVjBkWEp1SUh0dWRXeHNmVnh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdVgzSmxZV3hzYjJNZ1BTQm1kVzVqZEdsdmJpaGxlSFJ5WVNrZ2UxeHlYRzRnSUdsbUlDZ2hkR2hwY3k1ZlpIbHVZVzFwWTFOcGVtVXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJqdGNjbHh1SUNCOVhISmNiaUFnZG1GeUlISmxjU0E5SUhSb2FYTXVYMko1ZEdWUFptWnpaWFFnS3lCMGFHbHpMbkJ2YzJsMGFXOXVJQ3NnWlhoMGNtRTdYSEpjYmlBZ2RtRnlJR0pzWlc0Z1BTQjBhR2x6TGw5aWRXWm1aWEl1WW5sMFpVeGxibWQwYUR0Y2NseHVJQ0JwWmlBb2NtVnhJRHc5SUdKc1pXNHBJSHRjY2x4dUlDQWdJR2xtSUNoeVpYRWdQaUIwYUdsekxsOWllWFJsVEdWdVozUm9LU0I3WEhKY2JpQWdJQ0FnSUhSb2FYTXVYMko1ZEdWTVpXNW5kR2dnUFNCeVpYRTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200N1hISmNiaUFnZlZ4eVhHNGdJR2xtSUNoaWJHVnVJRHdnTVNrZ2UxeHlYRzRnSUNBZ1lteGxiaUE5SURFN1hISmNiaUFnZlZ4eVhHNGdJSGRvYVd4bElDaHlaWEVnUGlCaWJHVnVLU0I3WEhKY2JpQWdJQ0JpYkdWdUlDbzlJREk3WEhKY2JpQWdmVnh5WEc0Z0lIWmhjaUJpZFdZZ1BTQnVaWGNnUVhKeVlYbENkV1ptWlhJb1lteGxiaWs3WEhKY2JpQWdkbUZ5SUhOeVl5QTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtIUm9hWE11WDJKMVptWmxjaWs3WEhKY2JpQWdkbUZ5SUdSemRDQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHSjFaaXdnTUN3Z2MzSmpMbXhsYm1kMGFDazdYSEpjYmlBZ1pITjBMbk5sZENoemNtTXBPMXh5WEc0Z0lIUm9hWE11WW5WbVptVnlJRDBnWW5WbU8xeHlYRzRnSUhSb2FYTXVYMko1ZEdWTVpXNW5kR2dnUFNCeVpYRTdYSEpjYm4wN1hISmNibHh5WEc0dktpcGNjbHh1SUVsdWRHVnlibUZzSUdaMWJtTjBhVzl1SUhSdklIUnlhVzBnZEdobElFUmhkR0ZUZEhKbFlXMGdZblZtWm1WeUlIZG9aVzRnY21WeGRXbHlaV1F1WEhKY2JpQlZjMlZrSUdadmNpQnpkSEpwY0hCcGJtY2diM1YwSUhSb1pTQmxlSFJ5WVNCaWVYUmxjeUJtY205dElIUm9aU0JpWVdOcmFXNW5JR0oxWm1abGNpQjNhR1Z1WEhKY2JpQjBhR1VnZG1seWRIVmhiQ0JpZVhSbFRHVnVaM1JvSUdseklITnRZV3hzWlhJZ2RHaGhiaUIwYUdVZ1luVm1abVZ5SUdKNWRHVk1aVzVuZEdnZ0tHaGhjSEJsYm5NZ1lXWjBaWEpjY2x4dUlHZHliM2RwYm1jZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUhkeWFYUmxjeUJoYm1RZ2JtOTBJR1pwYkd4cGJtY2dkR2hsSUdWNGRISmhJSE53WVdObElHT
1nZiWEJzWlhSbGJIa3BMbHh5WEc1Y2NseHVJRUJ5WlhSMWNtNGdlMjUxYkd4OVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzVmZEhKcGJVRnNiRzlqSUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2FXWWdLSFJvYVhNdVgySjVkR1ZNWlc1bmRHZ2dQVDBnZEdocGN5NWZZblZtWm1WeUxtSjVkR1ZNWlc1bmRHZ3BJSHRjY2x4dUlDQWdJSEpsZEhWeWJqdGNjbHh1SUNCOVhISmNiaUFnZG1GeUlHSjFaaUE5SUc1bGR5QkJjbkpoZVVKMVptWmxjaWgwYUdsekxsOWllWFJsVEdWdVozUm9LVHRjY2x4dUlDQjJZWElnWkhOMElEMGdibVYzSUZWcGJuUTRRWEp5WVhrb1luVm1LVHRjY2x4dUlDQjJZWElnYzNKaklEMGdibVYzSUZWcGJuUTRRWEp5WVhrb2RHaHBjeTVmWW5WbVptVnlMQ0F3TENCa2MzUXViR1Z1WjNSb0tUdGNjbHh1SUNCa2MzUXVjMlYwS0hOeVl5azdYSEpjYmlBZ2RHaHBjeTVpZFdabVpYSWdQU0JpZFdZN1hISmNibjA3WEhKY2JseHlYRzVjY2x4dUx5b3FYSEpjYmlCQ2FXY3RaVzVrYVdGdUlHTnZibk4wSUhSdklIVnpaU0JoY3lCa1pXWmhkV3gwSUdWdVpHbGhibTVsYzNNdVhISmNiaUJBZEhsd1pTQjdZbTl2YkdWaGJuMWNjbHh1SUNvdlhISmNia1JoZEdGVGRISmxZVzB1UWtsSFgwVk9SRWxCVGlBOUlHWmhiSE5sTzF4eVhHNWNjbHh1THlvcVhISmNiaUJNYVhSMGJHVXRaVzVrYVdGdUlHTnZibk4wSUhSdklIVnpaU0JoY3lCa1pXWmhkV3gwSUdWdVpHbGhibTVsYzNNdVhISmNiaUJBZEhsd1pTQjdZbTl2YkdWaGJuMWNjbHh1SUNvdlhISmNia1JoZEdGVGRISmxZVzB1VEVsVVZFeEZYMFZPUkVsQlRpQTlJSFJ5ZFdVN1hISmNibHh5WEc0dktpcGNjbHh1SUZacGNuUjFZV3dnWW5sMFpTQnNaVzVuZEdnZ2IyWWdkR2hsSUVSaGRHRlRkSEpsWVcwZ1ltRmphMmx1WnlCaWRXWm1aWEl1WEhKY2JpQlZjR1JoZEdWa0lIUnZJR0psSUcxaGVDQnZaaUJ2Y21sbmFXNWhiQ0JpZFdabVpYSWdjMmw2WlNCaGJtUWdiR0Z6ZENCM2NtbDBkR1Z1SUhOcGVtVXVYSEpjYmlCSlppQmtlVzVoYldsalUybDZaU0JwY3lCbVlXeHpaU0JwY3lCelpYUWdkRzhnWW5WbVptVnlJSE5wZW1VdVhISmNiaUJBZEhsd1pTQjdiblZ0WW1WeWZWeHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1WDJKNWRHVk1aVzVuZEdnZ1BTQXdPMXh5WEc1Y2NseHVMeW9xWEhKY2JpQlNaWFIxY201eklIUm9aU0JpZVhSbElHeGxibWQwYUNCdlppQjBhR1VnUkdGMFlWTjBjbVZoYlNCdlltcGxZM1F1WEhKY2JpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4eVhHNGdLaTljY2x4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRVJoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTENCY0ltSjVkR1ZNWlc1bmRHaGNJaXhjY2x4dUlDQjdYSEpjYmlBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWW5sMFpVeGxibWQwYUNBdElIUm9hWE11WDJKNWRHVlBabVp6WlhRN1hISmNiaUFnSUNCOVhISmNiaUFnZlNrN1hISmNibHh5WEc0dktpcGNjbHh1SUZObGRDOW5aWFFnZEdobElHSmhZMnRwYm1jZ1FYSnlZWGxDZFdabVpYSWdiMllnZEdobElFUmhkR0ZUZEhKbFlXMGdiMkpxWldOMExseHlYRzRnVkdobElITmxkSFJsY2lCMWNHUmhkR1Z6SUhSb1pTQkVZWFJoVm1sbGR5QjBieUJ3YjJsdWRDQjBieUIwYUdVZ2JtVjNJR0oxWm1abGNpNWNjbHh1SUVCMGVYQmxJSHRQWW1wbFkzUjlYSEpjYmlBcUwxeHlYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1JHRjBZVk4wY21WaGJTNXdjbTkwYjNSNWNHVXNJRndpWW5WbVptVnlYQ0lzWEhKY2JpQWdlMXh5WEc0Z0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1ZmRISnBiVUZzYkc5aktDazdYSEpjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5aWRXWm1aWEk3WEhKY2JpQWdJQ0I5TEZ4eVhHNGdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpaDJLU0I3WEhKY2JpQWdJQ0FnSUhSb2FYTXVYMkoxWm1abGNpQTlJSFk3WEhKY2JpQWdJQ0FnSUhSb2FYTXVYMlJoZEdGV2FXVjNJRDBnYm1WM0lFUmhkR0ZXYVdWM0tIUm9hWE11WDJKMVptWmxjaXdnZEdocGN5NWZZbmwwWlU5bVpuTmxkQ2s3WEhKY2JpQWdJQ0FnSUhSb2FYTXVYMko1ZEdWTVpXNW5kR2dnUFNCMGFHbHpMbDlpZFdabVpYSXVZbmwwWlV4bGJtZDBhRHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlLVHRjY2x4dVhISmNiaThxS2x4eVhHNGdVMlYwTDJkbGRDQjBhR1VnWW5sMFpVOW1abk5sZENCdlppQjBhR1VnUkdGMFlWTjBjbVZoYlNCdlltcGxZM1F1WEhKY2JpQlVhR1VnYzJWMGRHVnlJSFZ3WkdGMFpYTWdkR2hsSUVSaGRHRldhV1YzSUhSdklIQnZhVzUwSUhSdklIUm9aU0J1WlhjZ1lubDBaVTltWm5ObGRDNWNjbHh1SUVCMGVYQmxJSHR1ZFcxaVpYSjlYSEpjYmlBcUwxeHlYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1JHRjBZVk4wY21WaGJTNXdjbTkwYjNSNWNHVXNJRndpWW5sMFpVOW1abk5sZEZ3aUxGeHlYRzRnSUh0Y2NseHVJQ0FnSUdkbGREb2dablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWllWFJsVDJabWMyVjBPMXh5WEc0Z0lDQWdmU3hjY2x4dUlDQWdJSE5sZERvZ1puVnVZM1JwYjI0b2Rpa2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxsOWllWFJsVDJabWMyVjBJRDBnZGp0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlWWnBaWGNnUFNCdVpYY2dSR0YwWVZacFpYY29kR2hwY3k1ZlluVm1abVZ5TENCMGFHbHpMbDlpZVhSbFQyWm1jMlYwS1R0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVmWW5sMFpVeGxibWQwYUNBOUlIUm9hWE11WDJKMVptWmxjaTVpZVhSbFRHVnVaM1JvTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDBwTzF4eVhHNWNjbHh1THlvcVhISmNiaUJUWlhRdloyVjBJSFJvWlNCaVlXTnJhVzVuSUVSaGRHRldhV1YzSUc5bUlIUm9aU0JFWVhSaFUzUnlaV0Z0SUc5aWFtVmpkQzVjY2x4dUlGUm9aU0J6WlhSMFpYSWdkWEJrWVhSbGN5QjBhR1VnWW5WbVptVnlJR0Z1WkNCaWVYUmxUMlptYzJWMElIUnZJSEJ2YVc1MElIUnZJSFJvWlNCRVlYUmhWbWxsZHlCMllXeDFaWE11WEhKY2JpQkFkSGx3WlNCN1QySnFaV04wZlZ4eVhHNGdLaTljY2x4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRVJoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTENCY0ltUmhkR0ZXYVdWM1hDSXNYSEpjYmlBZ2UxeHlYRzRnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMlJoZEdGV2FXVjNPMXh5WEc0Z0lDQWdmU3hjY2x4dUlDQWdJSE5sZERvZ1puVnVZM1JwYjI0b2Rpa2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxsOWllWFJsVDJabWMyVjBJRDBnZGk1aWVYUmxUMlptYzJWME8xeHlYRzRnSUNBZ0lDQjBhR2x6TGw5aWRXWm1aWElnUFNCMkxtSjFabVpsY2p0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlWWnBaWGNnUFNCdVpYY2dSR0YwWVZacFpYY29
1kR2hwY3k1ZlluVm1abVZ5TENCMGFHbHpMbDlpZVhSbFQyWm1jMlYwS1R0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVmWW5sMFpVeGxibWQwYUNBOUlIUm9hWE11WDJKNWRHVlBabVp6WlhRZ0t5QjJMbUo1ZEdWTVpXNW5kR2c3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmU2s3WEhKY2JseHlYRzR2S2lwY2NseHVJRk5sZEhNZ2RHaGxJRVJoZEdGVGRISmxZVzBnY21WaFpDOTNjbWwwWlNCd2IzTnBkR2x2YmlCMGJ5Qm5hWFpsYmlCd2IzTnBkR2x2Ymk1Y2NseHVJRU5zWVcxd2N5QmlaWFIzWldWdUlEQWdZVzVrSUVSaGRHRlRkSEpsWVcwZ2JHVnVaM1JvTGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J3YjNNZ1VHOXphWFJwYjI0Z2RHOGdjMlZsYXlCMGJ5NWNjbHh1SUVCeVpYUjFjbTRnZTI1MWJHeDlYSEpjYmlBcUwxeHlYRzVFWVhSaFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1elpXVnJJRDBnWm5WdVkzUnBiMjRvY0c5ektTQjdYSEpjYmlBZ2RtRnlJRzV3YjNNZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JOWVhSb0xtMXBiaWgwYUdsekxtSjVkR1ZNWlc1bmRHZ3NJSEJ2Y3lrcE8xeHlYRzRnSUhSb2FYTXVjRzl6YVhScGIyNGdQU0FvYVhOT1lVNG9ibkJ2Y3lrZ2ZId2dJV2x6Um1sdWFYUmxLRzV3YjNNcEtTQS9JREFnT2lCdWNHOXpPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCU1pYUjFjbTV6SUhSeWRXVWdhV1lnZEdobElFUmhkR0ZUZEhKbFlXMGdjMlZsYXlCd2IybHVkR1Z5SUdseklHRjBJSFJvWlNCbGJtUWdiMllnWW5WbVptVnlJR0Z1WkZ4eVhHNGdkR2hsY21VbmN5QnVieUJ0YjNKbElHUmhkR0VnZEc4Z2NtVmhaQzVjY2x4dVhISmNiaUJBY21WMGRYSnVJSHRpYjI5c1pXRnVmU0JVY25WbElHbG1JSFJvWlNCelpXVnJJSEJ2YVc1MFpYSWdhWE1nWVhRZ2RHaGxJR1Z1WkNCdlppQjBhR1VnWW5WbVptVnlMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWFYTkZiMllnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCeVpYUjFjbTRnS0hSb2FYTXVjRzl6YVhScGIyNGdQajBnZEdocGN5NWZZbmwwWlV4bGJtZDBhQ2s3WEhKY2JuMDdYSEpjYmx4eVhHNWNjbHh1THlvcVhISmNiaUJOWVhCeklHRWdWV2x1ZERoQmNuSmhlU0JwYm5SdklIUm9aU0JFWVhSaFUzUnlaV0Z0SUdKMVptWmxjaTVjY2x4dVhISmNiaUJPYVdObElHWnZjaUJ4ZFdsamEyeDVJSEpsWVdScGJtY2dhVzRnWkdGMFlTNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2JHVnVaM1JvSUU1MWJXSmxjaUJ2WmlCbGJHVnRaVzUwY3lCMGJ5QnRZWEF1WEhKY2JpQkFjR0Z5WVcwZ2V6OWliMjlzWldGdWZTQmxJRVZ1WkdsaGJtNWxjM01nYjJZZ2RHaGxJR1JoZEdFZ2RHOGdjbVZoWkM1Y2NseHVJRUJ5WlhSMWNtNGdlMDlpYW1WamRIMGdWV2x1ZERoQmNuSmhlU0IwYnlCMGFHVWdSR0YwWVZOMGNtVmhiU0JpWVdOcmFXNW5JR0oxWm1abGNpNWNjbHh1SUNvdlhISmNia1JoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG0xaGNGVnBiblE0UVhKeVlYa2dQU0JtZFc1amRHbHZiaWhzWlc1bmRHZ3BJSHRjY2x4dUlDQjBhR2x6TGw5eVpXRnNiRzlqS0d4bGJtZDBhQ0FxSURFcE8xeHlYRzRnSUhaaGNpQmhjbklnUFNCdVpYY2dWV2x1ZERoQmNuSmhlU2gwYUdsekxsOWlkV1ptWlhJc0lIUm9hWE11WW5sMFpVOW1abk5sZENBcklIUm9hWE11Y0c5emFYUnBiMjRzSUd4bGJtZDBhQ2s3WEhKY2JpQWdkR2hwY3k1d2IzTnBkR2x2YmlBclBTQnNaVzVuZEdnZ0tpQXhPMXh5WEc0Z0lISmxkSFZ5YmlCaGNuSTdYSEpjYm4wN1hISmNibHh5WEc1Y2NseHVMeW9xWEhKY2JpQlNaV0ZrY3lCaGJpQkpiblF6TWtGeWNtRjVJRzltSUdSbGMybHlaV1FnYkdWdVozUm9JR0Z1WkNCbGJtUnBZVzV1WlhOeklHWnliMjBnZEdobElFUmhkR0ZUZEhKbFlXMHVYSEpjYmx4eVhHNGdRSEJoY21GdElIdHVkVzFpWlhKOUlHeGxibWQwYUNCT2RXMWlaWElnYjJZZ1pXeGxiV1Z1ZEhNZ2RHOGdiV0Z3TGx4eVhHNGdRSEJoY21GdElIcy9ZbTl2YkdWaGJuMGdaU0JGYm1ScFlXNXVaWE56SUc5bUlIUm9aU0JrWVhSaElIUnZJSEpsWVdRdVhISmNiaUJBY21WMGRYSnVJSHRQWW1wbFkzUjlJRlJvWlNCeVpXRmtJRWx1ZERNeVFYSnlZWGt1WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME16SkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHeGxibWQwYUN3Z1pTa2dlMXh5WEc0Z0lHeGxibWQwYUNBOUlHeGxibWQwYUNBOVBTQnVkV3hzSUQ4Z0tIUm9hWE11WW5sMFpVeGxibWQwYUNBdElIUm9hWE11Y0c5emFYUnBiMjRnTHlBMEtTQTZJR3hsYm1kMGFEdGNjbHh1SUNCMllYSWdZWEp5SUQwZ2JtVjNJRWx1ZERNeVFYSnlZWGtvYkdWdVozUm9LVHRjY2x4dUlDQkVZWFJoVTNSeVpXRnRMbTFsYldOd2VTaGhjbkl1WW5WbVptVnlMQ0F3TEZ4eVhHNGdJQ0FnZEdocGN5NWlkV1ptWlhJc0lIUm9hWE11WW5sMFpVOW1abk5sZENBcklIUm9hWE11Y0c5emFYUnBiMjRzWEhKY2JpQWdJQ0JzWlc1bmRHZ2dLaUJoY25JdVFsbFVSVk5mVUVWU1gwVk1SVTFGVGxRcE8xeHlYRzRnSUVSaGRHRlRkSEpsWVcwdVlYSnlZWGxVYjA1aGRHbDJaU2hoY25Jc0lHVWdQVDBnYm5Wc2JDQS9JSFJvYVhNdVpXNWthV0Z1Ym1WemN5QTZJR1VwTzF4eVhHNGdJSFJvYVhNdWNHOXphWFJwYjI0Z0t6MGdZWEp5TG1KNWRHVk1aVzVuZEdnN1hISmNiaUFnY21WMGRYSnVJR0Z5Y2p0Y2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdVbVZoWkhNZ1lXNGdTVzUwTVRaQmNuSmhlU0J2WmlCa1pYTnBjbVZrSUd4bGJtZDBhQ0JoYm1RZ1pXNWthV0Z1Ym1WemN5Qm1jbTl0SUhSb1pTQkVZWFJoVTNSeVpXRnRMbHh5WEc1Y2NseHVJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnNaVzVuZEdnZ1RuVnRZbVZ5SUc5bUlHVnNaVzFsYm5SeklIUnZJRzFoY0M1Y2NseHVJRUJ3WVhKaGJTQjdQMkp2YjJ4bFlXNTlJR1VnUlc1a2FXRnVibVZ6Y3lCdlppQjBhR1VnWkdGMFlTQjBieUJ5WldGa0xseHlYRzRnUUhKbGRIVnliaUI3VDJKcVpXTjBmU0JVYUdVZ2NtVmhaQ0JKYm5ReE5rRnljbUY1TGx4eVhHNGdLaTljY2x4dVJHRjBZVk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZoWkVsdWRERTJRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpaHNaVzVuZEdnc0lHVXBJSHRjY2x4dUlDQnNaVzVuZEdnZ1BTQnNaVzVuZEdnZ1BUMGdiblZzYkNBL0lDaDBhR2x6TG1KNWRHVk1aVzVuZEdnZ0xTQjBhR2x6TG5CdmMybDBhVzl1SUM4Z01pa2dPaUJzWlc1bmRHZzdYSEpjYmlBZ2RtRnlJR0Z5Y2lBOUlHNWxkeUJKYm5ReE5rRnljbUY1S0d4bGJtZDBhQ2s3WEhKY2JpQWdSR0YwWVZOMGNtVmhiUzV0WlcxamNIa29ZWEp5TG1KMVptWmxjaXdnTUN4Y2NseHVJQ0FnSUhSb2FYTXVZblZtWm1WeUxDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1TEZ4eVhHNGdJQ0FnYkdWdVozUm9JQ29nWVhKeUxrSlpWRVZUWDFCRlVsOUZURVZOUlU1VUtUdGNjbHh1SUNCRVlYUmhVM1J5WldGdExtRnljbUY1Vkc5T1lYUnBkbVVvWVhKeUxDQmxJRDA5SUc1MWJHd2dQeUIwYUdsekxtVnVaR2xoYm01bGMzTWdPaUJsS1R0Y2NseHVJQ0IwYUdsekxuQnZjMmwwYVc5dUlDczlJR0Z5Y2k1aWVYUmxUR1Z1WjNSb08xeHlYRzRnSUhKbGRIVnliaUJoY25JN1hISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRkpsWVdSeklHRnVJRWx1ZERoQmNuSmhlU0J2WmlCa1pYTnBjbVZrSUd4bGJtZDBhQ0JtY205dElIUm9aU0JFWVhSaFUzUnlaV0Z0TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JzWlc1bmRHZ2dUblZ0WW1WeUlHOW1JR1ZzWl
1cxbGJuUnpJSFJ2SUcxaGNDNWNjbHh1SUVCd1lYSmhiU0I3UDJKdmIyeGxZVzU5SUdVZ1JXNWthV0Z1Ym1WemN5QnZaaUIwYUdVZ1pHRjBZU0IwYnlCeVpXRmtMbHh5WEc0Z1FISmxkSFZ5YmlCN1QySnFaV04wZlNCVWFHVWdjbVZoWkNCSmJuUTRRWEp5WVhrdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WldGa1NXNTBPRUZ5Y21GNUlEMGdablZ1WTNScGIyNG9iR1Z1WjNSb0tTQjdYSEpjYmlBZ2JHVnVaM1JvSUQwZ2JHVnVaM1JvSUQwOUlHNTFiR3dnUHlBb2RHaHBjeTVpZVhSbFRHVnVaM1JvSUMwZ2RHaHBjeTV3YjNOcGRHbHZiaWtnT2lCc1pXNW5kR2c3WEhKY2JpQWdkbUZ5SUdGeWNpQTlJRzVsZHlCSmJuUTRRWEp5WVhrb2JHVnVaM1JvS1R0Y2NseHVJQ0JFWVhSaFUzUnlaV0Z0TG0xbGJXTndlU2hoY25JdVluVm1abVZ5TENBd0xGeHlYRzRnSUNBZ2RHaHBjeTVpZFdabVpYSXNJSFJvYVhNdVlubDBaVTltWm5ObGRDQXJJSFJvYVhNdWNHOXphWFJwYjI0c1hISmNiaUFnSUNCc1pXNW5kR2dnS2lCaGNuSXVRbGxVUlZOZlVFVlNYMFZNUlUxRlRsUXBPMXh5WEc0Z0lIUm9hWE11Y0c5emFYUnBiMjRnS3owZ1lYSnlMbUo1ZEdWTVpXNW5kR2c3WEhKY2JpQWdjbVYwZFhKdUlHRnljanRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z1VtVmhaSE1nWVNCVmFXNTBNekpCY25KaGVTQnZaaUJrWlhOcGNtVmtJR3hsYm1kMGFDQmhibVFnWlc1a2FXRnVibVZ6Y3lCbWNtOXRJSFJvWlNCRVlYUmhVM1J5WldGdExseHlYRzVjY2x4dUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCc1pXNW5kR2dnVG5WdFltVnlJRzltSUdWc1pXMWxiblJ6SUhSdklHMWhjQzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdaR0YwWVNCMGJ5QnlaV0ZrTGx4eVhHNGdRSEpsZEhWeWJpQjdUMkpxWldOMGZTQlVhR1VnY21WaFpDQlZhVzUwTXpKQmNuSmhlUzVjY2x4dUlDb3ZYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExuSmxZV1JWYVc1ME16SkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHeGxibWQwYUN3Z1pTa2dlMXh5WEc0Z0lHeGxibWQwYUNBOUlHeGxibWQwYUNBOVBTQnVkV3hzSUQ4Z0tIUm9hWE11WW5sMFpVeGxibWQwYUNBdElIUm9hWE11Y0c5emFYUnBiMjRnTHlBMEtTQTZJR3hsYm1kMGFEdGNjbHh1SUNCMllYSWdZWEp5SUQwZ2JtVjNJRlZwYm5Rek1rRnljbUY1S0d4bGJtZDBhQ2s3WEhKY2JpQWdSR0YwWVZOMGNtVmhiUzV0WlcxamNIa29ZWEp5TG1KMVptWmxjaXdnTUN4Y2NseHVJQ0FnSUhSb2FYTXVZblZtWm1WeUxDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1TEZ4eVhHNGdJQ0FnYkdWdVozUm9JQ29nWVhKeUxrSlpWRVZUWDFCRlVsOUZURVZOUlU1VUtUdGNjbHh1SUNCRVlYUmhVM1J5WldGdExtRnljbUY1Vkc5T1lYUnBkbVVvWVhKeUxDQmxJRDA5SUc1MWJHd2dQeUIwYUdsekxtVnVaR2xoYm01bGMzTWdPaUJsS1R0Y2NseHVJQ0IwYUdsekxuQnZjMmwwYVc5dUlDczlJR0Z5Y2k1aWVYUmxUR1Z1WjNSb08xeHlYRzRnSUhKbGRIVnliaUJoY25JN1hISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRkpsWVdSeklHRWdWV2x1ZERFMlFYSnlZWGtnYjJZZ1pHVnphWEpsWkNCc1pXNW5kR2dnWVc1a0lHVnVaR2xoYm01bGMzTWdabkp2YlNCMGFHVWdSR0YwWVZOMGNtVmhiUzVjY2x4dVhISmNiaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiR1Z1WjNSb0lFNTFiV0psY2lCdlppQmxiR1Z0Wlc1MGN5QjBieUJ0WVhBdVhISmNiaUJBY0dGeVlXMGdlejlpYjI5c1pXRnVmU0JsSUVWdVpHbGhibTVsYzNNZ2IyWWdkR2hsSUdSaGRHRWdkRzhnY21WaFpDNWNjbHh1SUVCeVpYUjFjbTRnZTA5aWFtVmpkSDBnVkdobElISmxZV1FnVldsdWRERTJRWEp5WVhrdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WldGa1ZXbHVkREUyUVhKeVlYa2dQU0JtZFc1amRHbHZiaWhzWlc1bmRHZ3NJR1VwSUh0Y2NseHVJQ0JzWlc1bmRHZ2dQU0JzWlc1bmRHZ2dQVDBnYm5Wc2JDQS9JQ2gwYUdsekxtSjVkR1ZNWlc1bmRHZ2dMU0IwYUdsekxuQnZjMmwwYVc5dUlDOGdNaWtnT2lCc1pXNW5kR2c3WEhKY2JpQWdkbUZ5SUdGeWNpQTlJRzVsZHlCVmFXNTBNVFpCY25KaGVTaHNaVzVuZEdncE8xeHlYRzRnSUVSaGRHRlRkSEpsWVcwdWJXVnRZM0I1S0dGeWNpNWlkV1ptWlhJc0lEQXNYSEpjYmlBZ0lDQjBhR2x6TG1KMVptWmxjaXdnZEdocGN5NWllWFJsVDJabWMyVjBJQ3NnZEdocGN5NXdiM05wZEdsdmJpeGNjbHh1SUNBZ0lHeGxibWQwYUNBcUlHRnljaTVDV1ZSRlUxOVFSVkpmUlV4RlRVVk9WQ2s3WEhKY2JpQWdSR0YwWVZOMGNtVmhiUzVoY25KaGVWUnZUbUYwYVhabEtHRnljaXdnWlNBOVBTQnVkV3hzSUQ4Z2RHaHBjeTVsYm1ScFlXNXVaWE56SURvZ1pTazdYSEpjYmlBZ2RHaHBjeTV3YjNOcGRHbHZiaUFyUFNCaGNuSXVZbmwwWlV4bGJtZDBhRHRjY2x4dUlDQnlaWFIxY200Z1lYSnlPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCU1pXRmtjeUJoSUZWcGJuUTRRWEp5WVhrZ2IyWWdaR1Z6YVhKbFpDQnNaVzVuZEdnZ1puSnZiU0IwYUdVZ1JHRjBZVk4wY21WaGJTNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2JHVnVaM1JvSUU1MWJXSmxjaUJ2WmlCbGJHVnRaVzUwY3lCMGJ5QnRZWEF1WEhKY2JpQkFjR0Z5WVcwZ2V6OWliMjlzWldGdWZTQmxJRVZ1WkdsaGJtNWxjM01nYjJZZ2RHaGxJR1JoZEdFZ2RHOGdjbVZoWkM1Y2NseHVJRUJ5WlhSMWNtNGdlMDlpYW1WamRIMGdWR2hsSUhKbFlXUWdWV2x1ZERoQmNuSmhlUzVjY2x4dUlDb3ZYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExuSmxZV1JWYVc1ME9FRnljbUY1SUQwZ1puVnVZM1JwYjI0b2JHVnVaM1JvS1NCN1hISmNiaUFnYkdWdVozUm9JRDBnYkdWdVozUm9JRDA5SUc1MWJHd2dQeUFvZEdocGN5NWllWFJsVEdWdVozUm9JQzBnZEdocGN5NXdiM05wZEdsdmJpa2dPaUJzWlc1bmRHZzdYSEpjYmlBZ2RtRnlJR0Z5Y2lBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0d4bGJtZDBhQ2s3WEhKY2JpQWdSR0YwWVZOMGNtVmhiUzV0WlcxamNIa29ZWEp5TG1KMVptWmxjaXdnTUN4Y2NseHVJQ0FnSUhSb2FYTXVZblZtWm1WeUxDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1TEZ4eVhHNGdJQ0FnYkdWdVozUm9JQ29nWVhKeUxrSlpWRVZUWDFCRlVsOUZURVZOUlU1VUtUdGNjbHh1SUNCMGFHbHpMbkJ2YzJsMGFXOXVJQ3M5SUdGeWNpNWllWFJ
1sVEdWdVozUm9PMXh5WEc0Z0lISmxkSFZ5YmlCaGNuSTdYSEpjYm4wN1hISmNibHh5WEc0dktpcGNjbHh1SUZKbFlXUnpJR0VnUm14dllYUTJORUZ5Y21GNUlHOW1JR1JsYzJseVpXUWdiR1Z1WjNSb0lHRnVaQ0JsYm1ScFlXNXVaWE56SUdaeWIyMGdkR2hsSUVSaGRHRlRkSEpsWVcwdVhISmNibHh5WEc0Z1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUd4bGJtZDBhQ0JPZFcxaVpYSWdiMllnWld4bGJXVnVkSE1nZEc4Z2JXRndMbHh5WEc0Z1FIQmhjbUZ0SUhzL1ltOXZiR1ZoYm4wZ1pTQkZibVJwWVc1dVpYTnpJRzltSUhSb1pTQmtZWFJoSUhSdklISmxZV1F1WEhKY2JpQkFjbVYwZFhKdUlIdFBZbXBsWTNSOUlGUm9aU0J5WldGa0lFWnNiMkYwTmpSQmNuSmhlUzVjY2x4dUlDb3ZYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExuSmxZV1JHYkc5aGREWTBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpaHNaVzVuZEdnc0lHVXBJSHRjY2x4dUlDQnNaVzVuZEdnZ1BTQnNaVzVuZEdnZ1BUMGdiblZzYkNBL0lDaDBhR2x6TG1KNWRHVk1aVzVuZEdnZ0xTQjBhR2x6TG5CdmMybDBhVzl1SUM4Z09Da2dPaUJzWlc1bmRHZzdYSEpjYmlBZ2RtRnlJR0Z5Y2lBOUlHNWxkeUJHYkc5aGREWTBRWEp5WVhrb2JHVnVaM1JvS1R0Y2NseHVJQ0JFWVhSaFUzUnlaV0Z0TG0xbGJXTndlU2hoY25JdVluVm1abVZ5TENBd0xGeHlYRzRnSUNBZ2RHaHBjeTVpZFdabVpYSXNJSFJvYVhNdVlubDBaVTltWm5ObGRDQXJJSFJvYVhNdWNHOXphWFJwYjI0c1hISmNiaUFnSUNCc1pXNW5kR2dnS2lCaGNuSXVRbGxVUlZOZlVFVlNYMFZNUlUxRlRsUXBPMXh5WEc0Z0lFUmhkR0ZUZEhKbFlXMHVZWEp5WVhsVWIwNWhkR2wyWlNoaGNuSXNJR1VnUFQwZ2JuVnNiQ0EvSUhSb2FYTXVaVzVrYVdGdWJtVnpjeUE2SUdVcE8xeHlYRzRnSUhSb2FYTXVjRzl6YVhScGIyNGdLejBnWVhKeUxtSjVkR1ZNWlc1bmRHZzdYSEpjYmlBZ2NtVjBkWEp1SUdGeWNqdGNjbHh1ZlR0Y2NseHVYSEpjYmk4cUtseHlYRzRnVW1WaFpITWdZU0JHYkc5aGRETXlRWEp5WVhrZ2IyWWdaR1Z6YVhKbFpDQnNaVzVuZEdnZ1lXNWtJR1Z1WkdsaGJtNWxjM01nWm5KdmJTQjBhR1VnUkdGMFlWTjBjbVZoYlM1Y2NseHVYSEpjYmlCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYkdWdVozUm9JRTUxYldKbGNpQnZaaUJsYkdWdFpXNTBjeUIwYnlCdFlYQXVYSEpjYmlCQWNHRnlZVzBnZXo5aWIyOXNaV0Z1ZlNCbElFVnVaR2xoYm01bGMzTWdiMllnZEdobElHUmhkR0VnZEc4Z2NtVmhaQzVjY2x4dUlFQnlaWFIxY200Z2UwOWlhbVZqZEgwZ1ZHaGxJSEpsWVdRZ1JteHZZWFF6TWtGeWNtRjVMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWNtVmhaRVpzYjJGME16SkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHeGxibWQwYUN3Z1pTa2dlMXh5WEc0Z0lHeGxibWQwYUNBOUlHeGxibWQwYUNBOVBTQnVkV3hzSUQ4Z0tIUm9hWE11WW5sMFpVeGxibWQwYUNBdElIUm9hWE11Y0c5emFYUnBiMjRnTHlBMEtTQTZJR3hsYm1kMGFEdGNjbHh1SUNCMllYSWdZWEp5SUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNoc1pXNW5kR2dwTzF4eVhHNGdJRVJoZEdGVGRISmxZVzB1YldWdFkzQjVLR0Z5Y2k1aWRXWm1aWElzSURBc1hISmNiaUFnSUNCMGFHbHpMbUoxWm1abGNpd2dkR2hwY3k1aWVYUmxUMlptYzJWMElDc2dkR2hwY3k1d2IzTnBkR2x2Yml4Y2NseHVJQ0FnSUd4bGJtZDBhQ0FxSUdGeWNpNUNXVlJGVTE5UVJWSmZSVXhGVFVWT1ZDazdYSEpjYmlBZ1JHRjBZVk4wY21WaGJTNWhjbkpoZVZSdlRtRjBhWFpsS0dGeWNpd2daU0E5UFNCdWRXeHNJRDhnZEdocGN5NWxibVJwWVc1dVpYTnpJRG9nWlNrN1hISmNiaUFnZEdocGN5NXdiM05wZEdsdmJpQXJQU0JoY25JdVlubDBaVXhsYm1kMGFEdGNjbHh1SUNCeVpYUjFjbTRnWVhKeU8xeHlYRzU5TzF4eVhHNWNjbHh1WEhKY2JpOHFLbHh5WEc0Z1VtVmhaSE1nWVNBek1pMWlhWFFnYVc1MElHWnliMjBnZEdobElFUmhkR0ZUZEhKbFlXMGdkMmwwYUNCMGFHVWdaR1Z6YVhKbFpDQmxibVJwWVc1dVpYTnpMbHh5WEc1Y2NseHVJRUJ3WVhKaGJTQjdQMkp2YjJ4bFlXNTlJR1VnUlc1a2FXRnVibVZ6Y3lCdlppQjBhR1VnYm5WdFltVnlMbHh5WEc0Z1FISmxkSFZ5YmlCN2JuVnRZbVZ5ZlNCVWFHVWdjbVZoWkNCdWRXMWlaWEl1WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME16SWdQU0JtZFc1amRHbHZiaWhsS1NCN1hISmNiaUFnZG1GeUlIWWdQU0IwYUdsekxsOWtZWFJoVm1sbGR5NW5aWFJKYm5Rek1paDBhR2x6TG5CdmMybDBhVzl1TENCbElEMDlJRzUxYkd3Z1B5QjBhR2x6TG1WdVpHbGhibTVsYzNNZ09pQmxLVHRjY2x4dUlDQjBhR2x6TG5CdmMybDBhVzl1SUNzOUlEUTdYSEpjYmlBZ2NtVjBkWEp1SUhZN1hISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRkpsWVdSeklHRWdNVFl0WW1sMElHbHVkQ0JtY205dElIUm9aU0JFWVhSaFUzUnlaV0Z0SUhkcGRHZ2dkR2hsSUdSbGMybHlaV1FnWlc1a2FXRnVibVZ6Y3k1Y2NseHVYSEpjYmlCQWNHRnlZVzBnZXo5aWIyOXNaV0Z1ZlNCbElFVnVaR2xoYm01bGMzTWdiMllnZEdobElHNTFiV0psY2k1Y2NseHVJRUJ5WlhSMWNtNGdlMjUxYldKbGNuMGdWR2hsSUhKbFlXUWdiblZ0WW1WeUxseHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WaFpFbHVkREUySUQwZ1puVnVZM1JwYjI0b1pTa2dlMXh5WEc0Z0lIWmhjaUIySUQwZ2RHaHBjeTVmWkdGMFlWWnBaWGN1WjJWMFNXNTBNVFlvZEdocGN5NXdiM05wZEdsdmJpd2daU0E5UFNCdWRXeHNJRDhnZEdocGN5NWxibVJwWVc1dVpYTnpJRG9nWlNrN1hISmNiaUFnZEdocGN5NXdiM05wZEdsdmJpQXJQU0F5TzF4eVhHNGdJSEpsZEhWeWJpQjJPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCU1pXRmtjeUJoYmlBNExXSnBkQ0JwYm5RZ1puSnZiU0IwYUdVZ1JHRjBZVk4wY21WaGJTNWNjbHh1WEhKY2JpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlGUm9aU0J5WldGa0lHNTFiV0psY2k1Y2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbkpsWVdSSmJuUTRJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnZG1GeUlIWWdQU0IwYUdsekxsOWtZWFJoVm1sbGR5NW5aWFJKYm5RNEtIUm9hWE11Y0c5emFYUnBiMjRwTzF4eVhHNGdJSFJvYVhNdWNHOXphWFJwYjI0Z0t6MGdNVHRjY2x4dUlDQnlaWFIxY200Z2RqdGNjbHh1ZlR0Y2NseHVYSEpjYmk4cUtseHlYRzRnVW1WaFpITWdZU0F6TWkxaWFYUWdkVzV6YVdkdVpXUWdhVzUwSUdaeWIyMGdkR2hsSUVSaGRHRlRkSEpsWVcwZ2QybDBhQ0IwYUdVZ1pHVnphWEpsWkNCbGJtUnBZVzV1WlhOekxseHlYRzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdiblZ0WW1WeUxseHlYRzRnUUhKbGRIVnliaUI3Ym5WdFltVnlmU0JVYUdVZ2NtVmhaQ0J1ZFcxaVpYSXVYSEpjYmlBcUwxeHlYRzVFWVhSaFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1eVpXRmtWV2x1ZERNeUlEMGdablZ1WTNScGIyNG9aU2tnZTF4eVhHNGdJSFpoY2lCMklEMGdkR2hwY3k1ZlpHRjBZVlpwWlhjdVoyVjBWV2x1ZERNeUtIUm9hWE11Y0c5emFYUnBiMjRzSUdVZ1BUMGdiblZzYkNBL0lIUm9hWE11Wlc1a2FXRnVibVZ6Y3lBNklHVXBPMXh5WEc0Z0lIUm9hWE11Y0c5emFYUnBiMjRnS3owZ05EdGNjbHh1SUNCeVpYUjFjbTRnZGp0Y2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdVbVZoWkhNZ1lTQXhOaTFpYVhRZ2RXNXphV2R1WldRZ2FXNTBJR1p5YjIwZ2RHaGxJRVJoZEdGVGRISmxZVzBnZDJsMGFDQjBhR1VnWkdWemFYSmxaQ0JsYm1ScFlXNXVaWE56TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3UDJKdmIyeGxZVzU5SUdVZ1JXNWthV0Z1Ym1WemN5QnZaaUIwYUdVZ2JuVnRZbVZ5TGx4eVhHNGdRSEpsZEhWeWJpQjdiblZ0WW1WeWZTQlVhR1VnY21WaFpDQnVkVzFpWlhJdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WldGa1ZXbHVkREUySUQwZ1puVnVZM1JwYjI0b1pTa2dlMXh5WEc0Z0lIWmhjaUIySUQwZ2RHaHBjeTVmWkdGMFlWWnBaWGN1WjJWMFZXbHVkREUyS0hSb2FYTXVjRzl6YVhScGIyNHNJR1VnUFQwZ2JuVnNiQ0EvSUhSb2FYTXVaVzVrYVdGdWJtVnpjeUE2SUdVcE8xeHlYRzRnSUhSb2FYTXVjRzl6YVhScGIyNGdLejBnTWp0Y2NseHVJQ0J5WlhSMWNtNGdkanRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z1VtVmhaSE1nWVc0Z09DMWlhWFFnZFc1emFXZHVaV1FnYVc1MElHWnliMjBnZEdobElFUmhkR0ZUZEhKbFlXMHVYSEpjYmx4eVhHNGdRSEpsZEhWeWJpQjdiblZ0WW1WeWZTQlVhR1VnY21WaFpDQnVkVzFpWlhJdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WldGa1ZXbHVkRGdnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCMllYSWdkaUE5SUhSb2FYTXVYMlJoZEdGV2FXVjNMbWRsZEZWcGJuUTRLSFJvYVhNdWNHOXphWFJwYjI0cE8xeHlYRzRnSUhSb2FYTXVjRzl6YVhScGIyNGdLejBnTVR0Y2NseHVJQ0J5WlhSMWNtNGdkanRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z1VtVmhaSE1nWVNBek1pMWlhWFFnWm14dllYUWdabkp2YlNCMGFHVWdSR0YwWVZOMGNtVmhiU0IzYVhSb0lIUm9aU0JrWlhOcGNtVmtJR1Z1WkdsaGJtNWxjM011WEhKY2JseHlYRzRnUUhCaGNtRnRJSHMvWW05dmJHVmhibjBnWlNCRmJtUnBZVzV1WlhOeklHOW1JSFJvWlNCdWRXMWlaWEl1WEhKY2JpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlGUm9aU0J5WldGa0lHNTFiV0psY2k1Y2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbkpsWVdSR2JHOWhkRE15SUQwZ1puVnVZM1JwYjI0b1pTa2dlMXh5WEc0Z0lIWmhjaUIySUQwZ2RHaHBjeTVmWkdGMFlWWnBaWGN1WjJWMFJteHZZWFF6TWloMGFHbHpMbkJ2YzJsMGFXOXVMQ0JsSUQwOUlHNTFiR3dnUHlCMGFHbHpMbVZ1WkdsaGJtNWxjM01nT2lCbEtUdGNjbHh1SUNCMGFHbHpMbkJ2YzJsMGFXOXVJQ3M5SURRN1hISmNiaUFnY21WMGRYSnVJSFk3WEhKY2JuMDdYSEpjYmx4eVhHNHZLaXBjY2x4dUlGSmxZV1J6SUdFZ05qUXRZbWwwSUdac2IyRjBJR1p5YjIwZ2RHaGxJRVJoZEdGVGRISmxZVzBnZDJsMGFDQjBhR1VnWkdWemFYSmxaQ0JsYm1ScFlXNXVaWE56TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3UDJKdmIyeGxZVzU5SUdVZ1JXNWthV0Z1Ym1WemN5QnZaaUIwYUdVZ2JuVnRZbVZ5TGx4eVhHNGdRSEpsZEhWeWJpQjdiblZ0WW1WeWZTQlVhR1VnY21WaFpDQnVkVzFpWlhJdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WldGa1JteHZZWFEyTkNBOUlHWjFibU4wYVc5dUtHVXBJSHRjY2x4dUlDQjJZWElnZGlBOUlIUm9hWE11WDJSaGRHRldhV1YzTG1kbGRFWnNiMkYwTmpRb2RHaHBjeTV3YjNOcGRHbHZiaXdnWlNBOVBTQnVkV3hzSUQ4Z2RHaHBjeTVsYm1ScFlXNXVaWE56SURvZ1pTazdYSEpjYmlBZ2RHaHBjeTV3YjNOcGRHbHZiaUFyUFNBNE8xeHlYRzRnSUhKbGRIVnliaUIyTzF4eVhHNTlPMXh5WEc1Y2NseHVMeW9xWEhKY2JpQk9ZWFJwZG1VZ1pXNWthV0Z1Ym1WemN5NGdSV2wwYUdWeUlFUmhkR0ZUZEhKbFlXMHVRa2xIWDBWT1JFbEJUaUJ2Y2lCRVlYUmhVM1J5WldGdExreEpWRlJNUlY5RlRrUkpRVTVjY2x4dUlHUmxjR1Z1WkdsdVp5QnZiaUIwYUdVZ2NHeGhkR1p2Y20wZ1pXNWthV0Z1Ym1WemN5NWNjbHh1WEhKY2JpQkFkSGx3WlNCN1ltOXZiR1ZoYm4xY2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVaVzVrYVdGdWJtVnpjeUE5SUc1bGR5QkpiblE0UVhKeVlYa29ibVYzSUVsdWRERTJRWEp5WVhrb1d6RmRLUzVpZFdabVpYSXBXekJkSUQ0Z01EdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z1EyOXdhV1Z6SUdKNWRHVk1aVzVuZEdnZ1lubDBaWE1nWm5KdmJTQjBhR1VnYzNKaklHSjFabVpsY2lCaGRDQnpjbU5QWm1aelpYUWdkRzhnZEdobFhISmNiaUJrYzNRZ1luVm1abVZ5SUdGMElHUnpkRTltWm5ObGRDNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1pITjBJRVJsYzNScGJtRjBhVzl1SUVGeWNtRjVRblZtWm1WeUlIUnZJSGR5YVhSbElIUnZMbHh5WEc0Z1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUdSemRFOW1abk5sZENCUFptWnpaWFFnZEc4Z2RHaGxJR1JsYzNScGJtRjBhVzl1SUVGeWNtRjVRblZtWm1WeUxseHlYRzRnUUhCaGNtRnRJSHRQWW1wbFkzUjlJSE55WXlCVGIzVnlZMlVnUVhKeVlYbENkV1ptWlhJZ2RHOGdjbVZoWkNCbWNtOXRMbHh5WEc0Z1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUhOeVkwOW1abk5sZENCUFptWnpaWFFnZEc4Z2RHaGxJSE52ZFhKalpTQkJjbkpoZVVKMVptWmxjaTVjY2x4dUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCaWVYUmxUR1Z1WjNSb0lFNTFiV0psY2lCdlppQmllWFJsY3lCMGJ5QmpiM0I1TGx4eVhHNGdLaTljY2x4dVJHRjBZVk4wY21WaGJTNXRaVzFqY0hrZ1BTQm1kVzVqZEdsdmJpaGtjM1FzSUdSemRFOW1abk5sZEN3Z2MzSmpMQ0J6Y21OUFptWnpaWFFzSUdKNWRHVk1aVzVuZEdncElIdGNjbHh1SUNCMllYSWdaSE4wVlRnZ1BTQnVaWGNnVldsdWREaEJjbkpoZVNoa2MzUXNJR1J6ZEU5bVpuTmxkQ3dnWW5sMFpVeGxibWQwYUNrN1hISmNiaUFnZG1GeUlITnlZMVU0SUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvYzNKakxDQnpjbU5QWm1aelpYUXNJR0o1ZEdWTVpXNW5kR2dwTzF4eVhHNGdJR1J6ZEZVNExuTmxkQ2h6Y21OVk9DazdYSEpjYm4wN1hISmNibHh5WEc0dktpcGNjbHh1SUVOdmJuWmxjblJ6SUdGeWNtRjVJSFJ2SUc1aGRHbDJaU0JsYm1ScFlXNXVaWE56SUdsdUxYQnNZV05sTGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JoY25KaGVTQlVlWEJsWkNCaGNuSmhlU0IwYnlCamIyNTJaWEowTGx4eVhHNGdRSEJoY21GdElIdGliMjlzWldGdWZTQmhjbkpoZVVselRHbDBkR3hsUlc1a2FXRnVJRlJ5ZFdVZ2FXWWdkR2hsSUdSaGRHRWdhVzRnZEdobElHRnljbUY1SUdselhISmNiaUFnYkdsMGRHeGxMV1Z1WkdsaGJpNGdVMlYwSUdaaGJITmxJR1p2Y2lCaWFXY3RaVzVrYVdGdUxseHlYRzRnUUhKbGRIVnliaUI3VDJKcVpXTjBmU0JVYUdVZ1kyOXVkbVZ5ZEdWa0lIUjVjR1ZrSUdGeWNtRjVMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1aGNuSmhlVlJ2VG1GMGFYWmxJRDBnWm5WdVkzUnBiMjRvWVhKeVlYa3NJR0Z5Y21GNVNYTk1hWFIwYkdWRmJtUnBZVzRwSUh0Y2NseHVJQ0JwWmlBb1lYSnlZWGxKYzB4cGRIUnNaVVZ1WkdsaGJpQTlQU0IwYUdsekxtVnVaR2xoYm01bGMzTXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQmhjbkpoZVR0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Wm14cGNFRnljbUY1Ulc1a2FXRnVibVZ6Y3loaGNuSmhlU2s3WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCRGIyNTJaWEowY3lCdVlYUnBkbVVnWlc1a2FXRnVibVZ6Y3lCaGNuSmhlU0IwYnlCa1pYTnBjbVZrSUdWdVpHbGhibTVsYzNNZ2FXNHRjR3hoWTJVdVhISmNibHh5WEc0Z1FIQmhjbUZ0SUh0UFltcGxZM1I5SUdGeWNtRjVJRlI1Y0dWa0lHRnljbUY1SUhSdklHTnZiblpsY25RdVhISmNiaUJBY0dGeVlXMGdlMkp2YjJ4bFlXNTlJR3hwZEhSc1pVVnVaR2xoYmlCVWNuVmxJR2xtSUhSb1pTQmpiMjUyWlhKMFpXUWdZWEp5WVhrZ2MyaHZkV3hrSUdKbFhISmNiaUFnYkdsMGRHeGxMV1Z1WkdsaGJpNGdVMlYwSUdaaGJITmxJR1p2Y2lCaWFXY3RaVzVrYVdGdUxseHlYRzRnUUhKbGRIVnliaUI3VDJKcVpXTjBmU0JVYUdVZ1kyOXVkbVZ5ZEdWa0lIUjVjR1ZrSUdGeWNtRjVMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1dVlYUnBkbVZVYjBWdVpHbGhiaUE5SUdaMWJtTjBhVzl1S0dGeWNtRjVMQ0JzYVhSMGJHVkZibVJwWVc0cElIdGNjbHh1SUNCcFppQW9kR2hwY3k1bGJtUnBZVzV1WlhOeklEMDlJR3hwZEhSc1pVVnVaR2xoYmlrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUdGeWNtRjVPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NW1iR2x3UVhKeVlYbEZibVJwWVc1dVpYTnpLR0Z5Y21GNUtUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRVpzYVhCeklIUjVjR1ZrSUdGeWNtRjVJR1Z1WkdsaGJtNWxjM01nYVc0dGNHeGhZMlV1WEhKY2JseHlYRzRnUUhCaGNtRnRJSHRQWW1wbFkzUjlJR0Z5Y21GNUlGUjVjR1ZrSUdGeWNtRjVJSFJ2SUdac2FYQXVYSEpjYmlCQWNtVjBkWEp1SUh0UFltcGxZM1I5SUZSb1pTQmpiMjUyWlhKMFpXUWdkSGx3WldRZ1lYSnlZWGt1WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExtWnNhWEJCY25KaGVVVnVaR2xoYm01bGMzTWdQU0JtZFc1amRHbHZiaWhoY25KaGVTa2dlMXh5WEc0Z0lIWmhjaUIxT0NBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0dGeWNtRjVMbUoxWm1abGNpd2dZWEp5WVhrdVlubDBaVTltWm5ObGRDd2dZWEp5WVhrdVlubDBaVXhsYm1kMGFDazdYSEpjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmhjbkpoZVM1aWVYUmxUR1Z1WjNSb095QnBJQ3M5SUdGeWNtRjVMa0paVkVWVFgxQkZVbDlGVEVWTlJVNVVLU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2FTQXJJR0Z5Y21GNUxrSlpWRVZUWDFCRlVsOUZURVZOUlU1VUlDMGdNU3dnYXlBOUlHazdJR29nUGlCck95QnFMUzBzSUdzckt5a2dlMXh5WEc0Z0lDQWdJQ0IyWVhJZ2RHMXdJRDBnZFRoYmExMDdYSEpjYmlBZ0lDQWdJSFU0VzJ0ZElEMGdkVGhiYWwwN1hISmNiaUFnSUNBZ0lIVTRXMnBkSUQwZ2RHMXdPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMWNjbH
1h1SUNCeVpYUjFjbTRnWVhKeVlYazdYSEpjYm4wN1hISmNibHh5WEc0dktpcGNjbHh1SUZObFpXc2djRzl6YVhScGIyNGdkMmhsY21VZ1JHRjBZVk4wY21WaGJTTnlaV0ZrVTNSeWRXTjBJSEpoYmlCcGJuUnZJR0VnY0hKdllteGxiUzVjY2x4dUlGVnpaV1oxYkNCbWIzSWdaR1ZpZFdkbmFXNW5JSE4wY25WamRDQndZWEp6YVc1bkxseHlYRzVjY2x4dUlFQjBlWEJsSUh0dWRXMWlaWEo5WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNW1ZV2xzZFhKbFVHOXphWFJwYjI0Z1BTQXdPMXh5WEc1Y2NseHVVM1J5YVc1bkxtWnliMjFEYUdGeVEyOWtaVlZwYm5RNElEMGdablZ1WTNScGIyNG9kV2x1ZERoaGNuSXBJSHRjY2x4dUlDQjJZWElnWVhKeUlEMGdXMTA3WEhKY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IxYVc1ME9HRnljaTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ1lYSnlXMmxkSUQwZ2RXbHVkRGhoY25KYmFWMDdYSEpjYmlBZ2ZWeHlYRzRnSUhKbGRIVnliaUJUZEhKcGJtY3Vabkp2YlVOb1lYSkRiMlJsTG1Gd2NHeDVLRzUxYkd3c0lHRnljaWs3WEhKY2JuMDdYSEpjYmk4cUtseHlYRzRnVW1WaFpDQmhJSE4wY21sdVp5QnZaaUJrWlhOcGNtVmtJR3hsYm1kMGFDQmhibVFnWlc1amIyUnBibWNnWm5KdmJTQjBhR1VnUkdGMFlWTjBjbVZoYlM1Y2NseHVYSEpjYmlCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYkdWdVozUm9JRlJvWlNCc1pXNW5kR2dnYjJZZ2RHaGxJSE4wY21sdVp5QjBieUJ5WldGa0lHbHVJR0o1ZEdWekxseHlYRzRnUUhCaGNtRnRJSHMvYzNSeWFXNW5mU0JsYm1OdlpHbHVaeUJVYUdVZ1pXNWpiMlJwYm1jZ2IyWWdkR2hsSUhOMGNtbHVaeUJrWVhSaElHbHVJSFJvWlNCRVlYUmhVM1J5WldGdExseHlYRzRnSUVSbFptRjFiSFJ6SUhSdklFRlRRMGxKTGx4eVhHNGdRSEpsZEhWeWJpQjdjM1J5YVc1bmZTQlVhR1VnY21WaFpDQnpkSEpwYm1jdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WldGa1UzUnlhVzVuSUQwZ1puVnVZM1JwYjI0b2JHVnVaM1JvTENCbGJtTnZaR2x1WnlrZ2UxeHlYRzRnSUdsbUlDaGxibU52WkdsdVp5QTlQU0J1ZFd4c0lIeDhJR1Z1WTI5a2FXNW5JRDA5SUZ3aVFWTkRTVWxjSWlrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUZOMGNtbHVaeTVtY205dFEyaGhja052WkdWVmFXNTBPQzVoY0hCc2VTaHVkV3hzTENCYmRHaHBjeTV0WVhCVmFXNTBPRUZ5Y21GNUtHeGxibWQwYUNBOVBTQnVkV3hzSUQ4Z2RHaHBjeTVpZVhSbFRHVnVaM1JvSUMwZ2RHaHBjeTV3YjNOcGRHbHZiaUE2SUd4bGJtZDBhQ2xkS1R0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdjbVYwZFhKdUlDaHVaWGNnVkdWNGRFUmxZMjlrWlhJb1pXNWpiMlJwYm1jcEtTNWtaV052WkdVb2RHaHBjeTV0WVhCVmFXNTBPRUZ5Y21GNUtHeGxibWQwYUNrcE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdVbVZoWkNCdWRXeHNMWFJsY20xcGJtRjBaV1FnYzNSeWFXNW5JRzltSUdSbGMybHlaV1FnYkdWdVozUm9JR1p5YjIwZ2RHaGxJRVJoZEdGVGRISmxZVzB1SUZSeWRXNWpZWFJsYzF4eVhHNGdkR2hsSUhKbGRIVnlibVZrSUhOMGNtbHVaeUJ6YnlCMGFHRjBJSFJvWlNCdWRXeHNJR0o1ZEdVZ2FYTWdibTkwSUdFZ2NHRnlkQ0J2WmlCcGRDNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2V6OXVkVzFpWlhKOUlHeGxibWQwYUNCVWFHVWdiR1Z1WjNSb0lHOW1JSFJvWlNCemRISnBibWNnZEc4Z2NtVmhaQzVjY2x4dUlFQnlaWFIxY200Z2UzTjBjbWx1WjMwZ1ZHaGxJSEpsWVdRZ2MzUnlhVzVuTGx4eVhHNGdLaTljY2x4dVJHRjBZVk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZoWkVOVGRISnBibWNnUFNCbWRXNWpkR2x2Ymloc1pXNW5kR2dwSUh0Y2NseHVJQ0IyWVhJZ1lteGxiaUE5SUhSb2FYTXVZbmwwWlV4bGJtZDBhQ0F0SUhSb2FYTXVjRzl6YVhScGIyNDdYSEpjYmlBZ2RtRnlJSFU0SUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvZEdocGN5NWZZblZtWm1WeUxDQjBhR2x6TGw5aWVYUmxUMlptYzJWMElDc2dkR2hwY3k1d2IzTnBkR2x2YmlrN1hISmNiaUFnZG1GeUlHeGxiaUE5SUdKc1pXNDdYSEpjYmlBZ2FXWWdLR3hsYm1kMGFDQWhQU0J1ZFd4c0tTQjdYSEpjYmlBZ0lDQnNaVzRnUFNCTllYUm9MbTFwYmloc1pXNW5kR2dzSUdKc1pXNHBPMXh5WEc0Z0lIMWNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxiaUFtSmlCMU9GdHBYU0FoUFQwZ01Ec2dhU3NyS1NBN0lDOHZJR1pwYm1RZ1ptbHljM1FnZW1WeWJ5QmllWFJsWEhKY2JpQWdkbUZ5SUhNZ1BTQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxWV2x1ZERndVlYQndiSGtvYm5Wc2JDd2dXM1JvYVhNdWJXRndWV2x1ZERoQmNuSmhlU2hwS1YwcE8xeHlYRzRnSUdsbUlDaHNaVzVuZEdnZ0lUMGdiblZzYkNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV3YjNOcGRHbHZiaUFyUFNCc1pXNGdMU0JwTzF4eVhHNGdJSDBnWld4elpTQnBaaUFvYVNBaFBTQmliR1Z1S1NCN1hISmNiaUFnSUNCMGFHbHpMbkJ2YzJsMGFXOXVJQ3M5SURFN0lDOHZJSFJ5WVdsc2FXNW5JSHBsY204Z2FXWWdibTkwSUdGMElHVnVaQ0J2WmlCaWRXWm1aWEpjY2x4dUlDQjlYSEpjYmlBZ2NtVjBkWEp1SUhNN1hISmNibjA3WEhKY2JseHlYRzR2S2x4eVhHNGdJQ0JVVDBSUE9pQm1hWGdnWlc1a2FXRnVibVZ6Y3lCbWIzSWdNalF2TmpRdFltbDBJR1pwWld4a2MxeHlYRzRnSUNCVVQwUlBPaUJqYUdWamF5QnlZVzVuWlM5emRYQndiM0owSUdadmNpQTJOQzFpYVhSeklHNTFiV0psY25NZ2FXNGdTbUYyWVZOamNtbHdkRnh5WEc0cUwxeHlYRzUyWVhJZ1RVRllYMU5KV2tVZ1BTQk5ZWFJvTG5CdmR5Z3lMQ0F6TWlrN1hISmNibHh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME5qUWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0J5WlhSMWNtNGdLSFJvYVhNdWNtVmhaRWx1ZERNeUtDa2dLaUJOUVZoZlUwbGFSU2tnS3lCMGFHbHpMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVmVHRjY2x4dVJHRjBZVk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZoWkZWcGJuUTJOQ0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUhKbGRIVnliaUFvZEdocGN5NXlaV0ZrVldsdWRETXlLQ2tnS2lCTlFWaGZVMGxhUlNrZ0t5QjBhR2x6TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1ZlR0Y2NseHVYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExuSmxZV1JKYm5RMk5DQTlJR1oxYm1OMGFXOXVLQ2tnZTF4eVhHNGdJSEpsZEhWeWJpQW9kR2hwY3k1eVpXRmtWV2x1ZERNeUtDa2dLaUJOUVZoZlUwbGFSU2tnS3lCMGFHbHpMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVmVHRjY2x4dVhISmNia1JoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG5KbFlXUlZhVzUwTWpRZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQnlaWFIxY200Z0tIUm9hWE11Y21WaFpGVnBiblE0S0NrZ1BEd2dNVFlwSUNzZ0tIUm9hWE11Y21WaFpGVnBiblE0S0NrZ1BEd2dPQ2tnS3lCMGFHbHpMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNTlPMXh5WEc1Y2NseHVhV1lnS0hSNWNHVnZaaUJsZUhCdmNuUnpJQ0U5UFNCY0luVnVaR1ZtYVc1bFpGd2lLU0I3WEhKY2JpQWdaWGh3YjNKMGN5NUVZWFJoVTNSeVpXRnRJRDBnUkdGMFlWTjBjbVZoYlR0Y2NseHVmVnh5WEc0dkx5Qm1hV3hsT25OeVl5OUVZWFJoVTNSeVpXRnRMWGR5YVhSbExtcHpYSEpjYmk4cUtseHlYRzRnVTJGMlpYTWdkR2hsSUVSaGRHRlRkSEpsWVcwZ1kyOXVkR1Z1ZEhNZ2RHOGdkR2hsSUdkcGRtVnVJR1pwYkdWdVlXMWxMbHh5WEc0Z1
1ZYTmxjeUJEYUhKdmJXVW5jeUJoYm1Ob2IzSWdaRzkzYm14dllXUWdjSEp2Y0dWeWRIa2dkRzhnYVc1cGRHbGhkR1VnWkc5M2JteHZZV1F1WEhKY2JseHlYRzRnUUhCaGNtRnRJSHR6ZEhKcGJtZDlJR1pwYkdWdVlXMWxJRVpwYkdWdVlXMWxJSFJ2SUhOaGRtVWdZWE11WEhKY2JpQkFjbVYwZFhKdUlIdHVkV3hzZlZ4eVhHNGdLaTljY2x4dVJHRjBZVk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjMkYyWlNBOUlHWjFibU4wYVc5dUtHWnBiR1Z1WVcxbEtTQjdYSEpjYmlBZ2RtRnlJR0pzYjJJZ1BTQnVaWGNnUW14dllpaGJkR2hwY3k1aWRXWm1aWEpkS1R0Y2NseHVJQ0JwWmlBb2QybHVaRzkzTGxWU1RDQW1KaUJWVWt3dVkzSmxZWFJsVDJKcVpXTjBWVkpNS1NCN1hISmNiaUFnSUNCMllYSWdkWEpzSUQwZ2QybHVaRzkzTGxWU1RDNWpjbVZoZEdWUFltcGxZM1JWVWt3b1lteHZZaWs3WEhKY2JpQWdJQ0IyWVhJZ1lTQTlJR1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb1hDSmhYQ0lwTzF4eVhHNGdJQ0FnTHk4Z1VtVnhkV2x5WldRZ2FXNGdSbWx5WldadmVEcGNjbHh1SUNBZ0lHUnZZM1Z0Wlc1MExtSnZaSGt1WVhCd1pXNWtRMmhwYkdRb1lTazdYSEpjYmlBZ0lDQmhMbk5sZEVGMGRISnBZblYwWlNoY0ltaHlaV1pjSWl3Z2RYSnNLVHRjY2x4dUlDQWdJR0V1YzJWMFFYUjBjbWxpZFhSbEtGd2laRzkzYm14dllXUmNJaXdnWm1sc1pXNWhiV1VwTzF4eVhHNGdJQ0FnTHk4Z1VtVnhkV2x5WldRZ2FXNGdSbWx5WldadmVEcGNjbHh1SUNBZ0lHRXVjMlYwUVhSMGNtbGlkWFJsS0Z3aWRHRnlaMlYwWENJc0lGd2lYM05sYkdaY0lpazdYSEpjYmlBZ0lDQmhMbU5zYVdOcktDazdYSEpjYmlBZ0lDQjNhVzVrYjNjdVZWSk1MbkpsZG05clpVOWlhbVZqZEZWU1RDaDFjbXdwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhSEp2ZHlBb1hDSkVZWFJoVTNSeVpXRnRMbk5oZG1VNklFTmhiaWQwSUdOeVpXRjBaU0J2WW1wbFkzUWdWVkpNTGx3aUtUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRmRvWlhSb1pYSWdkRzhnWlhoMFpXNWtJRVJoZEdGVGRISmxZVzBnWW5WbVptVnlJSGRvWlc0Z2RISjVhVzVuSUhSdklIZHlhWFJsSUdKbGVXOXVaQ0JwZEhNZ2MybDZaUzVjY2x4dUlFbG1JSE5sZEN3Z2RHaGxJR0oxWm1abGNpQnBjeUJ5WldGc2JHOWpZWFJsWkNCMGJ5QjBkMmxqWlNCcGRITWdZM1Z5Y21WdWRDQnphWHBsSUhWdWRHbHNJSFJvWlZ4eVhHNGdjbVZ4ZFdWemRHVmtJSGR5YVhSbElHWnBkSE1nZEdobElHSjFabVpsY2k1Y2NseHVJRUIwZVhCbElIdGliMjlzWldGdWZWeHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1WDJSNWJtRnRhV05UYVhwbElEMGdkSEoxWlR0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExDQmNJbVI1Ym1GdGFXTlRhWHBsWENJc1hISmNiaUFnZTF4eVhHNGdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyUjVibUZ0YVdOVGFYcGxPMXh5WEc0Z0lDQWdmU3hjY2x4dUlDQWdJSE5sZERvZ1puVnVZM1JwYjI0b2Rpa2dlMXh5WEc0Z0lDQWdJQ0JwWmlBb0lYWXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbDkwY21sdFFXeHNiMk1vS1R0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjBhR2x6TGw5a2VXNWhiV2xqVTJsNlpTQTlJSFk3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmU2s3WEhKY2JseHlYRzR2S2lwY2NseHVJRWx1ZEdWeWJtRnNJR1oxYm1OMGFXOXVJSFJ2SUhSeWFXMGdkR2hsSUVSaGRHRlRkSEpsWVcwZ1luVm1abVZ5SUhkb1pXNGdjbVZ4ZFdseVpXUXVYSEpjYmlCVmMyVmtJR1p2Y2lCemRISnBjSEJwYm1jZ2IzVjBJSFJvWlNCbWFYSnpkQ0JpZVhSbGN5QjNhR1Z1SUc1dmRDQnVaV1ZrWldRZ1lXNTViVzl5WlM1Y2NseHVYSEpjYmlCQWNtVjBkWEp1SUh0dWRXeHNmVnh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWMyaHBablFnUFNCbWRXNWpkR2x2YmlodlptWnpaWFFwSUh0Y2NseHVJQ0IyWVhJZ1luVm1JRDBnYm1WM0lFRnljbUY1UW5WbVptVnlLSFJvYVhNdVgySjVkR1ZNWlc1bmRHZ2dMU0J2Wm1aelpYUXBPMXh5WEc0Z0lIWmhjaUJrYzNRZ1BTQnVaWGNnVldsdWREaEJjbkpoZVNoaWRXWXBPMXh5WEc0Z0lIWmhjaUJ6Y21NZ1BTQnVaWGNnVldsdWREaEJjbkpoZVNoMGFHbHpMbDlpZFdabVpYSXNJRzltWm5ObGRDd2daSE4wTG14bGJtZDBhQ2s3WEhKY2JpQWdaSE4wTG5ObGRDaHpjbU1wTzF4eVhHNGdJSFJvYVhNdVluVm1abVZ5SUQwZ1luVm1PMXh5WEc0Z0lIUm9hWE11Y0c5emFYUnBiMjRnTFQwZ2IyWm1jMlYwTzF4eVhHNTlPMXh5WEc1Y2NseHVMeW9xWEhKY2JpQlhjbWwwWlhNZ1lXNGdTVzUwTXpKQmNuSmhlU0J2WmlCemNHVmphV1pwWldRZ1pXNWthV0Z1Ym1WemN5QjBieUIwYUdVZ1JHRjBZVk4wY21WaGJTNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1lYSnlJRlJvWlNCaGNuSmhlU0IwYnlCM2NtbDBaUzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdaR0YwWVNCMGJ5QjNjbWwwWlM1Y2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbmR5YVhSbFNXNTBNekpCY25KaGVTQTlJR1oxYm1OMGFXOXVLR0Z5Y2l3Z1pTa2dlMXh5WEc0Z0lIUm9hWE11WDNKbFlXeHNiMk1vWVhKeUxteGxibWQwYUNBcUlEUXBPMXh5WEc0Z0lHbG1JQ2hoY25JZ2FXNXpkR0Z1WTJWdlppQkpiblF6TWtGeWNtRjVJQ1ltWEhKY2JpQWdJQ0IwYUdsekxtSjVkR1ZQWm1aelpYUWdLeUIwYUdsekxuQnZjMmwwYVc5dUlDVWdZWEp5TGtKWlZFVlRYMUJGVWw5RlRFVk5SVTVVSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0JFWVhSaFUzUnlaV0Z0TG0xbGJXTndlU2gwYUdsekxsOWlkV1ptWlhJc0lIUm9hWE11WW5sMFpVOW1abk5sZENBcklIUm9hWE11Y0c5emFYUnBiMjRzWEhKY2JpQWdJQ0FnSUdGeWNpNWlkV1ptWlhJc0lEQXNYSEpjYmlBZ0lDQWdJR0Z5Y2k1aWVYUmxUR1Z1WjNSb0tUdGNjbHh1SUNBZ0lIUm9hWE11YldGd1NXNTBNekpCY25KaGVTaGhjbkl1YkdWdVozUm9MQ0JsS1R0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JoY25JdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnZEdocGN5NTNjbWwwWlVsdWRETXlLR0Z5Y2x0cFhTd2daU2s3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCWGNtbDBaWE1nWVc0Z1NXNTBNVFpCY25KaGVTQnZaaUJ6Y0dWamFXWnBaV1FnWlc1a2FXRnVibVZ6Y3lCMGJ5QjBhR1VnUkdGMFlWTjBjbVZoYlM1Y2NseHVYSEpjYmlCQWNHRnlZVzBnZTA5aWFtVmpkSDBnWVhKeUlGUm9aU0JoY25KaGVTQjBieUIzY21sMFpTNWNjbHh1SUVCd1lYSmhiU0I3UDJKdmIyeGxZVzU5SUdVZ1JXNWthV0Z1Ym1WemN5QnZaaUIwYUdVZ1pHRjBZU0IwYnlCM2NtbDBaUzVjY2x4dUlDb3ZYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExuZHlhWFJsU1c1ME1UWkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHRnljaXdnWlNrZ2UxeHlYRzRnSUhSb2FYTXVYM0psWVd4c2IyTW9ZWEp5TG14bGJtZDBhQ0FxSURJcE8xeHlYRzRnSUdsbUlDaGhjbklnYVc1emRHRnVZMlZ2WmlCSmJuUXhOa0Z5Y21GNUlDWW1YSEpjYmlBZ0lDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1SUNVZ1lYSnlMa0paVkVWVFgxQkZVbDlGVEVWTlJVNVVJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQkVZWFJoVTNSeVpXRnRMbTFsYldOd2VTaDBhR2x6TGw5aWRXWm1aWElzSUhSb2FYTXVZbmwwWlU5bVpuTmxkQ0FySUhSb2FYTXVjRzl6YVhScGIyNHNYSEpjYmlBZ0lDQWdJR0Z5Y2k1aWRXWm1aWElzSURBc1hISmNiaUFnSUNBZ0lHRnljaTVpZVhSbFRHVnVaM1JvS1R0Y2NseHVJQ0FnSUhSb2FYTXViV0Z3U1c1ME1UWkJjbkpoZVNoaGNuSXViR1Z1WjNSb0xDQmxLVHRjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmhjbkl1YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1M2NtbDBaVWx1ZERFMktHRnljbHRwWFN3Z1pTazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1THlvcVhISmNiaUJYY21sMFpYTWdZVzRnU1c1ME9FRnljbUY1SUhSdklIUm9aU0JFWVhSaFUzUnlaV0Z0TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JoY25JZ1ZHaGxJR0Z5Y21GNUlIUnZJ
1SGR5YVhSbExseHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1ZDNKcGRHVkpiblE0UVhKeVlYa2dQU0JtZFc1amRHbHZiaWhoY25JcElIdGNjbHh1SUNCMGFHbHpMbDl5WldGc2JHOWpLR0Z5Y2k1c1pXNW5kR2dnS2lBeEtUdGNjbHh1SUNCcFppQW9ZWEp5SUdsdWMzUmhibU5sYjJZZ1NXNTBPRUZ5Y21GNUlDWW1YSEpjYmlBZ0lDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1SUNVZ1lYSnlMa0paVkVWVFgxQkZVbDlGVEVWTlJVNVVJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQkVZWFJoVTNSeVpXRnRMbTFsYldOd2VTaDBhR2x6TGw5aWRXWm1aWElzSUhSb2FYTXVZbmwwWlU5bVpuTmxkQ0FySUhSb2FYTXVjRzl6YVhScGIyNHNYSEpjYmlBZ0lDQWdJR0Z5Y2k1aWRXWm1aWElzSURBc1hISmNiaUFnSUNBZ0lHRnljaTVpZVhSbFRHVnVaM1JvS1R0Y2NseHVJQ0FnSUhSb2FYTXViV0Z3U1c1ME9FRnljbUY1S0dGeWNpNXNaVzVuZEdncE8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdGeWNpNXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFNXNTBPQ2hoY25KYmFWMHBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmk4cUtseHlYRzRnVjNKcGRHVnpJR0VnVldsdWRETXlRWEp5WVhrZ2IyWWdjM0JsWTJsbWFXVmtJR1Z1WkdsaGJtNWxjM01nZEc4Z2RHaGxJRVJoZEdGVGRISmxZVzB1WEhKY2JseHlYRzRnUUhCaGNtRnRJSHRQWW1wbFkzUjlJR0Z5Y2lCVWFHVWdZWEp5WVhrZ2RHOGdkM0pwZEdVdVhISmNiaUJBY0dGeVlXMGdlejlpYjI5c1pXRnVmU0JsSUVWdVpHbGhibTVsYzNNZ2IyWWdkR2hsSUdSaGRHRWdkRzhnZDNKcGRHVXVYSEpjYmlBcUwxeHlYRzVFWVhSaFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1M2NtbDBaVlZwYm5Rek1rRnljbUY1SUQwZ1puVnVZM1JwYjI0b1lYSnlMQ0JsS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5aGhjbkl1YkdWdVozUm9JQ29nTkNrN1hISmNiaUFnYVdZZ0tHRnljaUJwYm5OMFlXNWpaVzltSUZWcGJuUXpNa0Z5Y21GNUlDWW1YSEpjYmlBZ0lDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1SUNVZ1lYSnlMa0paVkVWVFgxQkZVbDlGVEVWTlJVNVVJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQkVZWFJoVTNSeVpXRnRMbTFsYldOd2VTaDBhR2x6TGw5aWRXWm1aWElzSUhSb2FYTXVZbmwwWlU5bVpuTmxkQ0FySUhSb2FYTXVjRzl6YVhScGIyNHNYSEpjYmlBZ0lDQWdJR0Z5Y2k1aWRXWm1aWElzSURBc1hISmNiaUFnSUNBZ0lHRnljaTVpZVhSbFRHVnVaM1JvS1R0Y2NseHVJQ0FnSUhSb2FYTXViV0Z3VldsdWRETXlRWEp5WVhrb1lYSnlMbXhsYm1kMGFDd2daU2s3WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZWEp5TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdWQzSnBkR1ZWYVc1ME16SW9ZWEp5VzJsZExDQmxLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc0dktpcGNjbHh1SUZkeWFYUmxjeUJoSUZWcGJuUXhOa0Z5Y21GNUlHOW1JSE53WldOcFptbGxaQ0JsYm1ScFlXNXVaWE56SUhSdklIUm9aU0JFWVhSaFUzUnlaV0Z0TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JoY25JZ1ZHaGxJR0Z5Y21GNUlIUnZJ
1SGR5YVhSbExseHlYRzRnUUhCaGNtRnRJSHMvWW05dmJHVmhibjBnWlNCRmJtUnBZVzV1WlhOeklHOW1JSFJvWlNCa1lYUmhJSFJ2SUhkeWFYUmxMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1ZWYVc1ME1UWkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHRnljaXdnWlNrZ2UxeHlYRzRnSUhSb2FYTXVYM0psWVd4c2IyTW9ZWEp5TG14bGJtZDBhQ0FxSURJcE8xeHlYRzRnSUdsbUlDaGhjbklnYVc1emRHRnVZMlZ2WmlCVmFXNTBNVFpCY25KaGVTQW1KbHh5WEc0Z0lDQWdkR2hwY3k1aWVYUmxUMlptYzJWMElDc2dkR2hwY3k1d2IzTnBkR2x2YmlBbElHRnljaTVDV1ZSRlUxOVFSVkpmUlV4RlRVVk9WQ0E5UFQwZ01Da2dlMXh5WEc0Z0lDQWdSR0YwWVZOMGNtVmhiUzV0WlcxamNIa29kR2hwY3k1ZlluVm1abVZ5TENCMGFHbHpMbUo1ZEdWUFptWnpaWFFnS3lCMGFHbHpMbkJ2YzJsMGFXOXVMRnh5WEc0Z0lDQWdJQ0JoY25JdVluVm1abVZ5TENBd0xGeHlYRzRnSUNBZ0lDQmhjbkl1WW5sMFpVeGxibWQwYUNrN1hISmNiaUFnSUNCMGFHbHpMbTFoY0ZWcGJuUXhOa0Z5Y21GNUtHRnljaTVzWlc1bmRHZ3NJR1VwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z5Y2k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxuZHlhWFJsVldsdWRERTJLR0Z5Y2x0cFhTd2daU2s3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCWGNtbDBaWE1nWVNCVmFXNTBPRUZ5Y21GNUlIUnZJ
1SFJvWlNCRVlYUmhVM1J5WldGdExseHlYRzVjY2x4dUlFQndZWEpoYlNCN1QySnFaV04wZlNCaGNuSWdWR2hsSUdGeWNtRjVJSFJ2SUhkeWFYUmxMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1ZWYVc1ME9FRnljbUY1SUQwZ1puVnVZM1JwYjI0b1lYSnlLU0I3WEhKY2JpQWdkR2hwY3k1ZmNtVmhiR3h2WXloaGNuSXViR1Z1WjNSb0lDb2dNU2s3WEhKY2JpQWdhV1lnS0dGeWNpQnBibk4wWVc1alpXOW1JRlZwYm5RNFFYSnlZWGtnSmlaY2NseHVJQ0FnSUhSb2FYTXVZbmwwWlU5bVpuTmxkQ0FySUhSb2FYTXVjRzl6YVhScGIyNGdKU0JoY25JdVFsbFVSVk5mVUVWU1gwVk1SVTFGVGxRZ1BUMDlJREFwSUh0Y2NseHVJQ0FnSUVSaGRHRlRkSEpsWVcwdWJXVnRZM0I1S0hSb2FYTXVYMkoxWm1abGNpd2dkR2hwY3k1aWVYUmxUMlptYzJWMElDc2dkR2hwY3k1d2IzTnBkR2x2Yml4Y2NseHVJQ0FnSUNBZ1lYSnlMbUoxWm1abGNpd2dNQ3hjY2x4dUlDQWdJQ0FnWVhKeUxtSjVkR1ZNWlc1bmRHZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1dFlYQlZhVzUwT0VGeWNtRjVLR0Z5Y2k1c1pXNW5kR2dwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z5Y2k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxuZHlhWFJsVldsdWREZ29ZWEp5VzJsZEtUdGNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRmR5YVhSbGN5QmhJRVpzYjJGME5qUkJjbkpoZVNCdlppQnpjR1ZqYVdacFpXUWdaVzVrYVdGdWJtVnpjeUIwYnlCMGFHVWdSR0YwWVZOMGNtVmhiUzVjY2x4dVhISmNiaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdZWEp5SUZSb1pTQmhjbkpoZVNCMGJ5QjNjbWwwWlM1Y2NseHVJRUJ3WVhKaGJTQjdQMkp2YjJ4bFlXNTlJR1VnUlc1a2FXRnVibVZ6Y3lCdlppQjBhR1VnWkdGMFlTQjBieUIzY21sMFpTNWNjbHh1SUNvdlhISmNia1JoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG5keWFYUmxSbXh2WVhRMk5FRnljbUY1SUQwZ1puVnVZM1JwYjI0b1lYSnlMQ0JsS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5aGhjbkl1YkdWdVozUm9JQ29nT0NrN1hISmNiaUFnYVdZZ0tHRnljaUJwYm5OMFlXNWpaVzltSUVac2IyRjBOalJCY25KaGVTQW1KbHh5WEc0Z0lDQWdkR2hwY3k1aWVYUmxUMlptYzJWMElDc2dkR2hwY3k1d2IzTnBkR2x2YmlBbElHRnljaTVDV1ZSRlUxOVFSVkpmUlV4RlRVVk9WQ0E5UFQwZ01Da2dlMXh5WEc0Z0lDQWdSR0YwWVZOMGNtVmhiUzV0WlcxamNIa29kR2hwY3k1ZlluVm1abVZ5TENCMGFHbHpMbUo1ZEdWUFptWnpaWFFnS3lCMGFHbHpMbkJ2YzJsMGFXOXVMRnh5WEc0Z0lDQWdJQ0JoY25JdVluVm1abVZ5TENBd0xGeHlYRzRnSUNBZ0lDQmhjbkl1WW5sMFpVeGxibWQwYUNrN1hISmNiaUFnSUNCMGFHbHpMbTFoY0Vac2IyRjBOalJCY25KaGVTaGhjbkl1YkdWdVozUm9MQ0JsS1R0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JoY25JdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnZEdocGN5NTNjbWwwWlVac2IyRjBOalFvWVhKeVcybGRMQ0JsS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNHZLaXBjY2x4dUlGZHlhWFJsY3lCaElFWnNiMkYwTXpKQmNuSmhlU0J2WmlCemNHVmphV1pwWldRZ1pXNWthV0Z1Ym1WemN5QjBieUIwYUdVZ1JHRjBZVk4wY21WaGJTNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1lYSnlJRlJvWlNCaGNuSmhlU0IwYnlCM2NtbDBaUzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdaR0YwWVNCMGJ5QjNjbWwwWlM1Y2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbmR5YVhSbFJteHZZWFF6TWtGeWNtRjVJRDBnWm5WdVkzUnBiMjRvWVhKeUxDQmxLU0I3WEhKY2JpQWdkR2hwY3k1ZmNtVmhiR3h2WXloaGNuSXViR1Z1WjNSb0lDb2dOQ2s3WEhKY2JpQWdhV1lnS0dGeWNpQnBibk4wWVc1alpXOW1JRVpzYjJGME16SkJjbkpoZVNBbUpseHlYRzRnSUNBZ2RHaHBjeTVpZVhSbFQyWm1jMlYwSUNzZ2RHaHBjeTV3YjNOcGRHbHZiaUFsSUdGeWNpNUNXVlJGVTE5UVJWSmZSVXhGVFVWT1ZDQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ1JHRjBZVk4wY21WaGJTNXRaVzFqY0hrb2RHaHBjeTVmWW5WbVptVnlMQ0IwYUdsekxtSjVkR1ZQWm1aelpYUWdLeUIwYUdsekxuQnZjMmwwYVc5dUxGeHlYRzRnSUNBZ0lDQmhjbkl1WW5WbVptVnlMQ0F3TEZ4eVhHNGdJQ0FnSUNCaGNuSXVZbmwwWlV4bGJtZDBhQ2s3WEhKY2JpQWdJQ0IwYUdsekxtMWhjRVpzYjJGME16SkJjbkpoZVNoaGNuSXViR1Z1WjNSb0xDQmxLVHRjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmhjbkl1YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1M2NtbDBaVVpzYjJGME16SW9ZWEp5VzJsZExDQmxLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1Y2NseHVMeW9xWEhKY2JpQlhjbWwwWlhNZ1lTQXpNaTFpYVhRZ2FXNTBJSFJ2SUhSb1pTQkVZWFJoVTNSeVpXRnRJSGRwZEdnZ2RHaGxJR1JsYzJseVpXUWdaVzVrYVdGdWJtVnpjeTVjY2x4dVhISmNiaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdkaUJPZFcxaVpYSWdkRzhnZDNKcGRHVXVYSEpjYmlCQWNHRnlZVzBnZXo5aWIyOXNaV0Z1ZlNCbElFVnVaR2xoYm01bGMzTWdiMllnZEdobElHNTFiV0psY2k1Y2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbmR5YVhSbFNXNTBNeklnUFNCbWRXNWpkR2x2YmloMkxDQmxLU0I3WEhKY2JpQWdkR2hwY3k1ZmNtVmhiR3h2WXlnMEtUdGNjbHh1SUNCMGFHbHpMbDlrWVhSaFZtbGxkeTV6WlhSSmJuUXpNaWgwYUdsekxuQnZjMmwwYVc5dUxDQjJMQ0JsSUQwOUlHNTFiR3dnUHlCMGFHbHpMbVZ1WkdsaGJtNWxjM01nT2lCbEtUdGNjbHh1SUNCMGFHbHpMbkJ2YzJsMGFXOXVJQ3M5SURRN1hISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRmR5YVhSbGN5QmhJREUyTFdKcGRDQnBiblFnZEc4Z2RHaGxJRVJoZEdGVGRISmxZVzBnZDJsMGFDQjBhR1VnWkdWemFYSmxaQ0JsYm1ScFlXNXVaWE56TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3Ym5WdFltVnlmU0IySUU1MWJXSmxjaUIwYnlCM2NtbDBaUzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdiblZ0WW1WeUxseHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1ZDNKcGRHVkpiblF4TmlBOUlHWjFibU4wYVc5dUtIWXNJR1VwSUh0Y2NseHVJQ0IwYUdsekxsOXlaV0ZzYkc5aktESXBPMXh5WEc0Z0lIUm9hWE11WDJSaGRHRldhV1YzTG5ObGRFbHVkREUyS0hSb2FYTXVjRzl6YVhScGIyNHNJSFlzSUdVZ1BUMGdiblZzYkNBL0lIUm9hWE11Wlc1a2FXRnVibVZ6Y3lBNklHVXBPMXh5WEc0Z0lIUm9hWE11Y0c5emFYUnBiMjRnS3owZ01qdGNjbHh1ZlR0Y2NseHVYSEpjYmk4cUtseHlYRzRnVjNKcGRHVnpJR0Z1SURndFltbDBJR2x1ZENCMGJ5QjBhR1VnUkdGMFlWTjBjbVZoYlM1Y2NseHVYSEpjYmlCQWNHRnlZVzBnZTI1MWJXSmxjbjBnZGlCT2RXMWlaWElnZEc4Z2QzSnBkR1V1WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNTNjbWwwWlVsdWREZ2dQU0JtZFc1amRHbHZiaWgyS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5Z3hLVHRjY2x4dUlDQjBhR2x6TGw5a1lYUmhWbWxsZHk1elpYUkpiblE0S0hSb2FYTXVjRzl6YVhScGIyNHNJSFlwTzF4eVhHNGdJSFJvYVhNdWNHOXphWFJwYjI0Z0t6MGdNVHRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z1YzSnBkR1Z6SUdFZ016SXRZbWwwSUhWdWMybG5ibVZrSUdsdWRDQjBieUIwYUdVZ1JHRjBZVk4wY21WaGJTQjNhWFJvSUhSb1pTQmtaWE5wY21Wa0lHVnVaR2xoYm01bGMzTXVYSEpjYmx4eVhHNGdRSEJoY21GdElIdHVkVzFpWlhKOUlIWWdUblZ0WW1WeUlIUnZJSGR5YVhSbExseHlYRzRnUUhCaGNtRnRJSHMvWW05dmJHVmhibjBnWlNCRmJtUnBZVzV1WlhOeklHOW1JSFJvWlNCdWRXMWlaWEl1WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNTNjbWwwWlZWcGJuUXpNaUE5SUdaMWJtTjBhVzl1S0hZc0lHVXBJSHRjY2x4dUlDQjBhR2x6TGw5eVpXRnNiRzlqS0RRcE8xeHlYRzRnSUhSb2FYTXVYMlJoZEdGV2FXVjNMbk5sZEZWcGJuUXpNaWgwYUdsekxuQnZjMmwwYVc5dUxDQjJMQ0JsSUQwOUlHNTFiR3dnUHlCMGFHbHpMbVZ1WkdsaGJtNWxjM01nT2lCbEtUdGNjbHh1SUNCMGFHbHpMbkJ2YzJsMGFXOXVJQ3M5SURRN1hISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRmR5YVhSbGN5QmhJREUyTFdKcGRDQjFibk5wWjI1bFpDQnBiblFnZEc4Z2RHaGxJRVJoZEdGVGRISmxZVzBnZDJsMGFDQjBhR1VnWkdWemFYSmxaQ0JsYm1ScFlXNXVaWE56TGx4eVhHNWNjbHh1SUVCd1lYSmhiU0I3Ym5WdFltVnlmU0IySUU1MWJXSmxjaUIwYnlCM2NtbDBaUzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdiblZ0WW1WeUxseHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1ZDNKcGRHVlZhVzUwTVRZZ1BTQm1kVzVqZEdsdmJpaDJMQ0JsS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5Z3lLVHRjY2x4dUlDQjBhR2x6TGw5a1lYUmhWbWxsZHk1elpYUlZhVzUwTVRZb2RHaHBjeTV3YjNOcGRHbHZiaXdnZGl3Z1pTQTlQU0J1ZFd4c0lEOGdkR2hwY3k1bGJtUnBZVzV1WlhOeklEb2daU2s3WEhKY2JpQWdkR2hwY3k1d2IzTnBkR2x2YmlBclBTQXlPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCWGNtbDBaWE1nWVc0Z09DMWlhWFFnZFc1emFXZHVaV1FnSUdsdWRDQjBieUIwYUdVZ1JHRjBZVk4wY21WaGJTNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2RpQk9kVzFpWlhJZ2RHOGdkM0pwZEdVdVhISmNiaUFxTDF4eVhHNUVZWFJoVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzUzY21sMFpWVnBiblE0SUQwZ1puVnVZM1JwYjI0b2Rpa2dlMXh5WEc0Z0lIUm9hWE11WDNKbFlXeHNiMk1vTVNrN1hISmNiaUFnZEdocGN5NWZaR0YwWVZacFpYY3VjMlYwVldsdWREZ29kR2hwY3k1d2IzTnBkR2x2Yml3Z2RpazdYSEpjYmlBZ2RHaHBjeTV3YjNOcGRHbHZiaUFyUFNBeE8xeHlYRzU5TzF4eVhHNWNjbHh1THlvcVhISmNiaUJYY21sMFpYTWdZU0F6TWkxaWFYUWdabXh2WVhRZ2RHOGdkR2hsSUVSaGRHRlRkSEpsWVcwZ2QybDBhQ0IwYUdVZ1pHVnphWEpsWkNCbGJtUnBZVzV1WlhOekxseHlYRzVjY2x4dUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCMklFNTFiV0psY2lCMGJ5QjNjbWwwWlM1Y2NseHVJRUJ3WVhKaGJTQjdQMkp2YjJ4bFlXNTlJR1VnUlc1a2FXRnVibVZ6Y3lCdlppQjBhR1VnYm5WdFltVnlMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1ZHYkc5aGRETXlJRDBnWm5WdVkzUnBiMjRvZGl3Z1pTa2dlMXh5WEc0Z0lIUm9hWE11WDNKbFlXeHNiMk1vTkNrN1hISmNiaUFnZEdocGN5NWZaR0YwWVZacFpYY3VjMlYwUm14dllYUXpNaWgwYUdsekxuQnZjMmwwYVc5dUxDQjJMQ0JsSUQwOUlHNTFiR3dnUHlCMGFHbHpMbVZ1WkdsaGJtNWxjM01nT2lCbEtUdGNjbHh1SUNCMGFHbHpMbkJ2YzJsMGFXOXVJQ3M5SURRN1hISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRmR5YVhSbGN5QmhJRFkwTFdKcGRDQm1iRzloZENCMGJ5QjBhR1VnUkdGMFlWTjBjbVZoYlNCM2FYUm9JSFJvWlNCa1pYTnBjbVZrSUdWdVpHbGhibTVsYzNNdVhISmNibHh5WEc0Z1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUhZZ1RuVnRZbVZ5SUhSdklIZHlhWFJsTGx4eVhHNGdRSEJoY21GdElIcy9ZbTl2YkdWaGJuMGdaU0JGYm1ScFlXNXVaWE56SUc5bUlIUm9aU0J1ZFcxaVpYSXVYSEpjYmlBcUwxeHlYRzVFWVhSaFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1M2NtbDBaVVpzYjJGME5qUWdQU0JtZFc1amRHbHZiaWgyTENCbEtTQjdYSEpjYmlBZ2RHaHBjeTVmY21WaGJHeHZZeWc0S1R0Y2NseHVJQ0IwYUdsekxsOWtZWFJoVm1sbGR5NXpaWFJHYkc5aGREWTBLSFJvYVhNdWNHOXphWFJwYjI0c0lIWXNJR1VnUFQwZ2JuVnNiQ0EvSUhSb2FYTXVaVzVrYVdGdWJtVnpjeUE2SUdVcE8xeHlYRzRnSUhSb2FYTXVjRzl6YVhScGIyNGdLejBnT0R0Y2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdWM0pwZEdVZ1lTQlZRMU10TWlCemRISnBibWNnYjJZZ1pHVnphWEpsWkNCbGJtUnBZVzV1WlhOeklIUnZJSFJvWlNCRVlYUmhVM1J5WldGdExpQlVhR1
1ZjY2x4dUlHeGxibWQwYUU5MlpYSnlhV1JsSUdGeVozVnRaVzUwSUd4bGRITWdlVzkxSUdSbFptbHVaU0IwYUdVZ2JuVnRZbVZ5SUc5bUlHTm9ZWEpoWTNSbGNuTWdkRzhnZDNKcGRHVXVYSEpjYmlCSlppQjBhR1VnYzNSeWFXNW5JR2x6SUhOb2IzSjBaWElnZEdoaGJpQnNaVzVuZEdoUGRtVnljbWxrWlN3Z2RHaGxJR1Y0ZEhKaElITndZV05sSUdseklIQmhaR1JsWkNCM2FYUm9YSEpjYmlCNlpYSnZaWE11WEhKY2JseHlYRzRnUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSE4wY2lCVWFHVWdjM1J5YVc1bklIUnZJSGR5YVhSbExseHlYRzRnUUhCaGNtRnRJSHMvWW05dmJHVmhibjBnWlc1a2FXRnVibVZ6Y3lCVWFHVWdaVzVrYVdGdWJtVnpjeUIwYnlCMWMyVWdabTl5SUhSb1pTQjNjbWwwZEdWdUlITjBjbWx1WnlCa1lYUmhMbHh5WEc0Z1FIQmhjbUZ0SUhzL2JuVnRZbVZ5ZlNCc1pXNW5kR2hQZG1WeWNtbGtaU0JVYUdVZ2JuVnRZbVZ5SUc5bUlHTm9ZWEpoWTNSbGNuTWdkRzhnZDNKcGRHVXVYSEpjYmlBcUwxeHlYRzVFWVhSaFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1M2NtbDBaVlZEVXpKVGRISnBibWNnUFNCbWRXNWpkR2x2YmloemRISXNJR1Z1WkdsaGJtNWxjM01zSUd4bGJtZDBhRTkyWlhKeWFXUmxLU0I3WEhKY2JpQWdhV1lnS0d4bGJtZDBhRTkyWlhKeWFXUmxJRDA5SUc1MWJHd3BJSHRjY2x4dUlDQWdJR3hsYm1kMGFFOTJaWEp5YVdSbElEMGdjM1J5TG14bGJtZDBhRHRjY2x4dUlDQjlYSEpjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnpkSEl1YkdWdVozUm9JQ1ltSUdrZ1BDQnNaVzVuZEdoUGRtVnljbWxrWlRzZ2FTc3JLU0I3WEhKY2JpQWdJQ0IwYUdsekxuZHlhWFJsVldsdWRERTJLSE4wY2k1amFHRnlRMjlrWlVGMEtHa3BMQ0JsYm1ScFlXNXVaWE56S1R0Y2NseHVJQ0I5WEhKY2JpQWdabTl5SUNnN0lHa2dQQ0JzWlc1bmRHaFBkbVZ5Y21sa1pUc2dhU3NyS1NCN1hISmNiaUFnSUNCMGFHbHpMbmR5YVhSbFZXbHVkREUyS0RBcE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdWM0pwZEdWeklHRWdjM1J5YVc1bklHOW1JR1JsYzJseVpXUWdiR1Z1WjNSb0lHRnVaQ0JsYm1OdlpHbHVaeUIwYnlCMGFHVWdSR0YwWVZOMGNtVmhiUzVjY2x4dVhISmNiaUJBY0dGeVlXMGdlM04wY21sdVozMGdjeUJVYUdVZ2MzUnlhVzVuSUhSdklIZHlhWFJsTGx4eVhHNGdRSEJoY21GdElIcy9jM1J5YVc1bmZTQmxibU52WkdsdVp5QlVhR1VnWlc1amIyUnBibWNnWm05eUlIUm9aU0IzY21sMGRHVnVJSE4wY21sdVp5QmtZWFJoTGx4eVhHNGdJRVJsWm1GMWJIUnpJSFJ2SUVGVFEwbEpMbHh5WEc0Z1FIQmhjbUZ0SUhzL2JuVnRZbVZ5ZlNCc1pXNW5kR2dnVkdobElHNTFiV0psY2lCdlppQmphR0Z5WVdOMFpYSnpJSFJ2SUhkeWFYUmxMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1ZUZEhKcGJtY2dQU0JtZFc1amRHbHZiaWh6TENCbGJtTnZaR2x1Wnl3Z2JHVnVaM1JvS1NCN1hISmNiaUFnZG1GeUlHa2dQU0F3TzF4eVhHNGdJR2xtSUNobGJtTnZaR2x1WnlBOVBTQnVkV3hzSUh4OElHVnVZMjlrYVc1bklEMDlJRndpUVZORFNVbGNJaWtnZTF4eVhHNGdJQ0FnYVdZZ0tHeGxibWQwYUNBaFBTQnVkV3hzS1NCN1hISmNiaUFnSUNBZ0lIWmhjaUJzWlc0Z1BTQk5ZWFJvTG0xcGJpaHpMbXhsYm1kMGFDd2diR1Z1WjNSb0tUdGNjbHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNjbWwwWlZWcGJuUTRLSE11WTJoaGNrTnZaR1ZCZENocEtTazdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCc1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkM0pwZEdWVmFXNTBPQ2d3S1R0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmR5YVhSbFZXbHVkRGdvY3k1amFHRnlRMjlrWlVGMEtHa3BLVHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG5keWFYUmxWV2x1ZERoQmNuSmhlU2dvYm1WM0lGUmxlSFJGYm1OdlpHVnlLR1Z1WTI5a2FXNW5LU2t1Wlc1amIyUmxLSE11YzNWaWMzUnlhVzVuS0RBc0lHeGxibWQwYUNrcEtUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJRmR5YVhSbGN5QmhJRzUxYkd3dGRHVnliV2x1WVhSbFpDQnpkSEpwYm1jZ2RHOGdSR0YwWVZOMGNtVmhiU0JoYm1RZ2VtVnlieTF3WVdSeklHbDBJSFJ2SUd4bGJtZDBhRnh5WEc0Z1lubDBaWE11SUVsbUlHeGxibWQwYUNCcGN5QnViM1FnWjJsMlpXNHNJSGR5YVhSbGN5QjBhR1VnYzNSeWFXNW5JR1p2Ykd4dmQyVmtJR0o1SUdFZ2VtVnlieTVjY2x4dUlFbG1JSE4wY21sdVp5QnBjeUJzYjI1blpYSWdkR2hoYmlCc1pXNW5kR2dzSUhSb1pTQjNjbWwwZEdWdUlIQmhjblFnYjJZZ2RHaGxJSE4wY21sdVp5QmtiMlZ6SUc1dmRDQm9ZWFpsWEhKY2JpQmhJSFJ5WVdsc2FXNW5JSHBsY204dVhISmNibHh5WEc0Z1FIQmhjbUZ0SUh0emRISnBibWQ5SUhNZ1ZHaGxJSE4wY21sdVp5QjBieUIzY21sMFpTNWNjbHh1SUVCd1lYSmhiU0I3UDI1MWJXSmxjbjBnYkdWdVozUm9JRlJvWlNCdWRXMWlaWElnYjJZZ1kyaGhjbUZqZEdWeWN5QjBieUIzY21sMFpTNWNjbHh1SUNvdlhISmNia1JoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG5keWFYUmxRMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVLSE1zSUd4bGJtZDBhQ2tnZTF4eVhHNGdJSFpoY2lCcElEMGdNRHRjY2x4dUlDQnBaaUFvYkdWdVozUm9JQ0U5SUc1MWJHd3BJSHRjY2x4dUlDQWdJSFpoY2lCc1pXNGdQU0JOWVhSb0xtMXBiaWh6TG14bGJtZDBhQ3dnYkdWdVozUm9LVHRjY2x4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnNaVzQ3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxuZHlhWFJsVldsdWREZ29jeTVqYUdGeVEyOWtaVUYwS0drcEtUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHWnZjaUFvT3lCcElEd2diR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2djeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQjBhR2x6TG5keWFYUmxWV2x1ZERnb2N5NWphR0Z5UTI5a1pVRjBLR2twS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhSb2FYTXVkM0pwZEdWVmFXNTBPQ2d3S1R0Y2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNHZLaXBjY2x4dUlGZHlhWFJsY3lCaElITjBjblZqZENCMGJ5QjBhR1VnUkdGMFlWTjBjbVZoYlM0Z1ZHRnJaWE1nWVNCemRISjFZM1JFWldacGJtbDBhVzl1SUhSb1lYUWdaMmwyWlhNZ2RHaGxYSEpjYmlCMGVYQmxjeUJoYm1RZ1lTQnpkSEoxWTNRZ2IySnFaV04wSUhSb1lYUWdaMmwyWlhNZ2RHaGxJSFpoYkhWbGN5NGdVbVZtWlhJZ2RHOGdjbVZoWkZOMGNuVmpkQ0JtYjNJZ2RHaGxYSEpjYmlCemRISjFZM1IxY21VZ2IyWWdjM1J5ZFdOMFJHVm1hVzVwZEdsdmJpNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2MzUnlkV04wUkdWbWFXNXBkR2x2YmlCVWVYQmxJR1JsWm1sdWFYUnBiMjRnYjJZZ2RHaGxJSE4wY25WamRDNWNjbHh1SUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J6ZEhKMVkzUWdWR2hsSUhOMGNuVmpkQ0JrWVhSaElHOWlhbVZqZEM1Y2NseHVJQ292WEhKY2JrUmhkR0ZUZEhKbFlXMHVjSE
1p2ZEc5MGVYQmxMbmR5YVhSbFUzUnlkV04wSUQwZ1puVnVZM1JwYjI0b2MzUnlkV04wUkdWbWFXNXBkR2x2Yml3Z2MzUnlkV04wS1NCN1hISmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemRISjFZM1JFWldacGJtbDBhVzl1TG14bGJtZDBhRHNnYVNBclBTQXlLU0I3WEhKY2JpQWdJQ0IyWVhJZ2RDQTlJSE4wY25WamRFUmxabWx1YVhScGIyNWJhU0FySURGZE8xeHlYRzRnSUNBZ2RHaHBjeTUzY21sMFpWUjVjR1VvZEN3Z2MzUnlkV04wVzNOMGNuVmpkRVJsWm1sdWFYUnBiMjViYVYxZExDQnpkSEoxWTNRcE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdWM0pwZEdWeklHOWlhbVZqZENCMklHOW1JSFI1Y0dVZ2RDQjBieUIwYUdVZ1JHRjBZVk4wY21WaGJTNWNjbHh1WEhKY2JpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RDQlVlWEJsSUc5bUlHUmhkR0VnZEc4Z2QzSnBkR1V1WEhKY2JpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RpQldZV3gxWlNCdlppQmtZWFJoSUhSdklIZHlhWFJsTGx4eVhHNGdRSEJoY21GdElIdFBZbXBsWTNSOUlITjBjblZqZENCVGRISjFZM1FnZEc4Z2NHRnpjeUIwYnlCM2NtbDBaU0JqWVd4c1ltRmpheUJtZFc1amRHbHZibk11WEhKY2JpQXFMMXh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNTNjbWwwWlZSNWNHVWdQU0JtZFc1amRHbHZiaWgwTENCMkxDQnpkSEoxWTNRcElIdGNjbHh1SUNCMllYSWdkSEE3WEhKY2JpQWdhV1lnS0hSNWNHVnZaaUIwSUQwOUlGd2lablZ1WTNScGIyNWNJaWtnZTF4eVhHNGdJQ0FnY21WMGRYSnVJSFFvZEdocGN5d2dkaWs3WEhKY2JpQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdkQ0E5UFNCY0ltOWlhbVZqZEZ3aUlDWW1JQ0VvZENCcGJuTjBZVzVqWlc5bUlFRnljbUY1S1NrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUhRdWMyVjBLSFJvYVhNc0lIWXNJSE4wY25WamRDazdYSEpjYmlBZ2ZWeHlYRzRnSUhaaGNpQnNaVzVuZEdoUGRtVnljbWxrWlNBOUlHNTFiR3c3WEhKY2JpQWdkbUZ5SUdOb1lYSnpaWFFnUFNCY0lrRlRRMGxKWENJN1hISmNiaUFnZG1GeUlIQnZjeUE5SUhSb2FYTXVjRzl6YVhScGIyNDdYSEpjYmlBZ2FXWWdLSFI1Y0dWdlppQW9kQ2tnUFQwZ1hDSnpkSEpwYm1kY0lpQW1KaUF2T2k4dWRHVnpkQ2gwS1NrZ2UxeHlYRzRnSUNBZ2RIQWdQU0IwTG5Od2JHbDBLRndpT2x3aUtUdGNjbHh1SUNBZ0lIUWdQU0IwY0Zzd1hUdGNjbHh1SUNBZ0lHeGxibWQwYUU5MlpYSnlhV1JsSUQwZ2NHRnljMlZKYm5Rb2RIQmJNVjBwTzF4eVhHNGdJSDFjY2x4dUlDQnBaaUFvZEhsd1pXOW1JSFFnUFQwZ1hDSnpkSEpwYm1kY0lpQW1KaUF2TEM4dWRHVnpkQ2gwS1NrZ2UxeHlYRzRnSUNBZ2RIQWdQU0IwTG5Od2JHbDBLRndpTEZ3aUtUdGNjbHh1SUNBZ0lIUWdQU0IwY0Zzd1hUdGNjbHh1SUNBZ0lHTm9ZWEp6WlhRZ1BTQndZWEp6WlVsdWRDaDBjRnN4WFNrN1hISmNiaUFnZlZ4eVhHNWNjbHh1SUNCemQybDBZMmdnS0hRcElIdGNjbHh1SUNBZ0lHTmhjMlVnWENKMWFXNTBPRndpT2x4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFZXbHVkRGdvZGlrN1hISmNiaUFnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnWTJGelpTQmNJbWx1ZERoY0lqcGNjbHh1SUNBZ0lDQWdkR2hwY3k1M2NtbDBaVWx1ZERnb2RpazdYSEpjYmlBZ0lDQWdJR0p5WldGck8xeHlYRzVjY2x4dUlDQWdJR05oYzJVZ1hDSjFhVzUwTVRaY0lqcGNjbHh1SUNBZ0lDQWdkR2hwY3k1M2NtbDBaVlZwYm5ReE5paDJMQ0IwYUdsekxtVnVaR2xoYm01bGMzTXBPMXh5WEc0Z0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lHTmhjMlVnWENKcGJuUXhObHdpT2x4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFNXNTBNVFlvZGl3Z2RHaHBjeTVsYm1ScFlXNXVaWE56S1R0Y2NseHVJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0JqWVhObElGd2lkV2x1ZERNeVhDSTZYSEpjYmlBZ0lDQWdJSFJvYVhNdWQzSnBkR1ZWYVc1ME16SW9kaXdnZEdocGN5NWxibVJwWVc1dVpYTnpLVHRjY2x4dUlDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQmpZWE5sSUZ3aWFXNTBNekpjSWpwY2NseHVJQ0FnSUNBZ2RHaHBjeTUzY21sMFpVbHVkRE15S0hZc0lIUm9hWE11Wlc1a2FXRnVibVZ6Y3lrN1hISmNiaUFnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnWTJGelpTQmNJbVpzYjJGME16SmNJanBjY2x4dUlDQWdJQ0FnZEdocGN5NTNjbWwwWlVac2IyRjBNeklvZGl3Z2RHaHBjeTVsYm1ScFlXNXVaWE56S1R0Y2NseHVJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0JqWVhObElGd2labXh2WVhRMk5Gd2lPbHh5WEc0Z0lDQWdJQ0IwYUdsekxuZHlhWFJsUm14dllYUTJOQ2gyTENCMGFHbHpMbVZ1WkdsaGJtNWxjM01wTzF4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dVhISmNiaUFnSUNCallYTmxJRndpZFdsdWRERTJZbVZjSWpwY2NseHVJQ0FnSUNBZ2RHaHBjeTUzY21sMFpWVnBiblF4TmloMkxDQkVZWFJoVTNSeVpXRnRMa0pKUjE5RlRrUkpRVTRwTzF4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJR05oYzJVZ1hDSnBiblF4Tm1KbFhDSTZYSEpjYmlBZ0lDQWdJSFJvYVhNdWQzSnBkR1ZKYm5ReE5paDJMQ0JFWVhSaFUzUnlaV0Z0TGtKSlIxOUZUa1JKUVU0cE8xeHlYRzRnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUdOaGMyVWdYQ0oxYVc1ME16SmlaVndpT2x4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFZXbHVkRE15S0hZc0lFUmhkR0ZUZEhKbFlXMHVRa2xIWDBWT1JFbEJUaWs3WEhKY2JpQWdJQ0FnSUdKeVpXRnJPMXh5WEc0Z0lDQWdZMkZ6WlNCY0ltbHVkRE15WW1WY0lqcGNjbHh1SUNBZ0lDQWdkR2hwY3k1M2NtbDBaVWx1ZERNeUtIWXNJRVJoZEdGVGRISmxZVzB1UWtsSFgwVk9SRWxCVGlrN1hISmNiaUFnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnWTJGelpTQmNJbVpzYjJGME16SmlaVndpT2x4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFJteHZZWFF6TWloMkxDQkVZWFJoVTNSeVpXRnRMa0pKUjE5RlRrUkpRVTRwTzF4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJR05oYzJVZ1hDSm1iRzloZERZMFltVmNJanBjY2x4dUlDQWdJQ0FnZEdocGN5NTNjbWwwWlVac2IyRjBOalFvZGl3Z1JHRjBZVk4wY21WaGJTNUNTVWRmUlU1RVNVRk9LVHRjY2x4dUlDQWdJQ0FnWW5KbFlXczdYSEpjYmx4eVhHNGdJQ0FnWTJGelpTQmNJblZwYm5ReE5teGxYQ0k2WEhKY2JpQWdJQ0FnSUhSb2FYTXVkM0pwZEdWVmFXNTBNVFlvZGl3Z1JHRjBZVk4wY21WaGJTNU1TVlJVVEVWZlJVNUVTVUZPS1R0Y2NseHVJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0JqWVhObElGd2lhVzUwTVRac1pWd2lPbHh5WEc0Z0lDQWdJQ0IwYUdsekxuZHlhWFJsU1c1ME1UWW9kaXdnUkdGMFlWTjBjbVZoYlM1TVNWUlVURVZmUlU1RVNVRk9LVHRjY2x4dUlDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQmpZWE5sSUZ3aWRXbHVkRE15YkdWY0lqcGNjbHh1SUNBZ0lDQWdkR2hwY3k1M2NtbDBaVlZwYm5Rek1paDJMQ0JFWVhSaFUzUnlaV0Z0TGt4SlZGUk1SVjlGVGtSSlFVNHBPMXh5WEc0Z0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lHTmhjMlVnWENKcGJuUXpNbXhsWENJNlhISmNiaU
1FnSUNBZ0lIUm9hWE11ZDNKcGRHVkpiblF6TWloMkxDQkVZWFJoVTNSeVpXRnRMa3hKVkZSTVJWOUZUa1JKUVU0cE8xeHlYRzRnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUdOaGMyVWdYQ0ptYkc5aGRETXliR1ZjSWpwY2NseHVJQ0FnSUNBZ2RHaHBjeTUzY21sMFpVWnNiMkYwTXpJb2Rpd2dSR0YwWVZOMGNtVmhiUzVNU1ZSVVRFVmZSVTVFU1VGT0tUdGNjbHh1SUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNCallYTmxJRndpWm14dllYUTJOR3hsWENJNlhISmNiaUFnSUNBZ0lIUm9hWE11ZDNKcGRHVkdiRzloZERZMEtIWXNJRVJoZEdGVGRISmxZVzB1VEVsVVZFeEZYMFZPUkVsQlRpazdYSEpjYmlBZ0lDQWdJR0p5WldGck8xeHlYRzVjY2x4dUlDQWdJR05oYzJVZ1hDSmpjM1J5YVc1blhDSTZYSEpjYmlBZ0lDQWdJSFJvYVhNdWQzSnBkR1ZEVTNSeWFXNW5LSFlzSUd4bGJtZDBhRTkyWlhKeWFXUmxLVHRjY2x4dUlDQWdJQ0FnWW5KbFlXczdYSEpjYmx4eVhHNGdJQ0FnWTJGelpTQmNJbk4wY21sdVoxd2lPbHh5WEc0Z0lDQWdJQ0IwYUdsekxuZHlhWFJsVTNSeWFXNW5LSFlzSUdOb1lYSnpaWFFzSUd4bGJtZDBhRTkyWlhKeWFXUmxLVHRjY2x4dUlDQWdJQ0FnWW5KbFlXczdYSEpjYmx4eVhHNGdJQ0FnWTJGelpTQmNJblV4Tm5OMGNtbHVaMXdpT2x4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFZVTlRNbE4wY21sdVp5aDJMQ0IwYUdsekxtVnVaR2xoYm01bGMzTXNJR3hsYm1kMGFFOTJaWEp5YVdSbEtUdGNjbHh1SUNBZ0lDQWdZbkpsWVdzN1hISmNibHh5WEc0Z0lDQWdZMkZ6WlNCY0luVXhObk4wY21sdVoyeGxYQ0k2WEhKY2JpQWdJQ0FnSUhSb2FYTXVkM0pwZEdWVlExTXlVM1J5YVc1bktIWXNJRVJoZEdGVGRISmxZVzB1VEVsVVZFeEZYMFZPUkVsQlRpd2diR1Z1WjNSb1QzWmxjbkpwWkdVcE8xeHlYRzRnSUNBZ0lDQmljbVZoYXp0Y2NseHVYSEpjYmlBZ0lDQmpZWE5sSUZ3aWRURTJjM1J5YVc1blltVmNJanBjY2x4dUlDQWdJQ0FnZEdocGN5NTNjbWwwWlZWRFV6SlRkSEpwYm1jb2Rpd2dSR0YwWVZOMGNtVmhiUzVDU1VkZlJVNUVTVUZPTENCc1pXNW5kR2hQZG1WeWNtbGtaU2s3WEhKY2JpQWdJQ0FnSUdKeVpXRnJPMXh5WEc1Y2NseHVJQ0FnSUdSbFptRjFiSFE2WEhKY2JpQWdJQ0FnSUdsbUlDaDBMbXhsYm1kMGFDQTlQU0F6S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSaElEMGdkRnN4WFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFl1YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVkM0pwZEdWVWVYQmxLSFJoTENCMlcybGRLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1M2NtbDBaVk4wY25WamRDaDBMQ0IyS1R0Y2NseHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2JHVnVaM1JvVDNabGNuSnBaR1VnSVQwZ2JuVnNiQ2tnZTF4eVhHNGdJQ0FnZEdocGN5NXdiM05wZEdsdmJpQTlJSEJ2Y3p0Y2NseHVJQ0FnSUhSb2FYTXVYM0psWVd4c2IyTW9iR1Z1WjNSb1QzWmxjbkpwWkdVcE8xeHlYRzRnSUNBZ2RHaHBjeTV3YjNOcGRHbHZiaUE5SUhCdmN5QXJJR3hsYm1kMGFFOTJaWEp5YVdSbE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNibHh5WEc1RVlYUmhVM1J5WldGdExuQnliM1J2ZEhsd1pTNTNjbWwwWlZWcGJuUTJOQ0E5SUdaMWJtTjBhVzl1S0hZcElIdGNjbHh1SUNCMllYSWdhQ0E5SUUxaGRHZ3VabXh2YjNJb2RpQXZJRTFCV0Y5VFNWcEZLVHRjY2x4dUlDQjBhR2x6TG5keWFYUmxWV2x1ZERNeUtHZ3BPMXh5WEc0Z0lIUm9hWE11ZDNKcGRHVlZhVzUwTXpJb2RpQW1JREI0UmtaR1JrWkdSa1lwTzF4eVhHNTlPMXh5WEc1Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1ZDNKcGRHVlZhVzUwTWpRZ1BTQm1kVzVqZEdsdmJpaDJLU0I3WEhKY2JpQWdkR2hwY3k1M2NtbDBaVlZwYm5RNEtDaDJJQ1lnTUhnd01FWkdNREF3TUNrZ1BqNGdNVFlwTzF4eVhHNGdJSFJvYVhNdWQzSnBkR1ZWYVc1ME9DZ29kaUFtSURCNE1EQXdNRVpHTURBcElENCtJRGdwTzF4eVhHNGdJSFJvYVhNdWQzSnBkR1ZWYVc1ME9DZ29kaUFtSURCNE1EQXdNREF3UmtZcEtUdGNjbHh1ZlR0Y2NseHVYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExtRmthblZ6ZEZWcGJuUXpNaUE5SUdaMWJtTjBhVzl1S0hCdmMybDBhVzl1TENCMllXeDFaU2tnZTF4eVhHNGdJSFpoY2lCd2IzTWdQU0IwYUdsekxuQnZjMmwwYVc5dU8xeHlYRzRnSUhSb2FYTXVjMlZsYXlod2IzTnBkR2x2YmlrN1hISmNiaUFnZEdocGN5NTNjbWwwWlZWcGJuUXpNaWgyWVd4MVpTazdYSEpjYmlBZ2RHaHBjeTV6WldWcktIQnZjeWs3WEhKY2JuMDdYSEpjYmk4dklHWnBiR1U2YzNKakwwUmhkR0ZUZEhKbFlXMHRiV0Z3TG1welhISmNiaThxS2x4eVhHNGdUV0Z3Y3lCaGJpQkpiblF6TWtGeWNtRjVJR2x1ZEc4Z2RHaGxJRVJoZEdGVGRISmxZVzBnWW5WbVptVnlMQ0J6ZDJsNmVteHBibWNnYVhRZ2RHOGdibUYwYVhabFhISmNiaUJsYm1ScFlXNXVaWE56SUdsdUxYQnNZV05sTGlCVWFHVWdZM1Z5Y21WdWRDQnZabVp6WlhRZ1puSnZiU0IwYUdVZ2MzUmhjblFnYjJZZ2RHaGxJR0oxWm1abGNpQnVaV1ZrY3lCMGIxeHlYRzRnWW1VZ1lTQnRkV3gwYVhCc1pTQnZaaUJsYkdWdFpXNTBJSE5wZW1Vc0lHcDFjM1FnYkdsclpTQjNhWFJvSUhSNWNHVmtJR0Z5Y21GNUlIWnBaWGR6TGx4eVhHNWNjbHh1SUU1cFkyVWdabTl5SUhGMWFXTnJiSGtnY21WaFpHbHVaeUJwYmlCa1lYUmhMaUJYWVhKdWFXNW5PaUJ3YjNSbGJuUnBZV3hzZVNCdGIyUnBabWxsY3lCMGFHVWdZblZtWm1WeVhISmNiaUJqYjI1MFpXNTBjeTVjY2x4dVhISmNiaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiR1Z1WjNSb0lFNTFiV0psY2lCdlppQmxiR1Z0Wlc1MGN5QjBieUJ0WVhBdVhISmNiaUJBY0dGeVlXMGdlejlpYjI5c1pXRnVmU0JsSUVWdVpHbGhibTVsYzNNZ2IyWWdkR2hsSUdSaGRHRWdkRzhnY21WaFpDNWNjbHh1SUVCeVpYUjFjbTRnZTA5aWFtVmpkSDBnU1c1ME16SkJjbkpoZVNCMGJ5QjBhR1VnUkdGMFlWTjBjbVZoYlNCaVlXTnJhVzVuSUdKMVptWmxjaTVjY2x4dUlDb3ZYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExtMWhjRWx1ZERNeVFYSnlZWGtnUFNCbWRXNWpkR2x2Ymloc1pXNW5kR2dzSUdVcElIdGNjbHh1SUNCMGFHbHpMbDl5WldGc2JHOWpLR3hsYm1kMGFDQXFJRFFwTzF4eVhHNGdJSFpoY2lCaGNuSWdQU0J1WlhjZ1NXNTBNekpCY25KaG
1VTaDBhR2x6TGw5aWRXWm1aWElzSUhSb2FYTXVZbmwwWlU5bVpuTmxkQ0FySUhSb2FYTXVjRzl6YVhScGIyNHNJR3hsYm1kMGFDazdYSEpjYmlBZ1JHRjBZVk4wY21WaGJTNWhjbkpoZVZSdlRtRjBhWFpsS0dGeWNpd2daU0E5UFNCdWRXeHNJRDhnZEdocGN5NWxibVJwWVc1dVpYTnpJRG9nWlNrN1hISmNiaUFnZEdocGN5NXdiM05wZEdsdmJpQXJQU0JzWlc1bmRHZ2dLaUEwTzF4eVhHNGdJSEpsZEhWeWJpQmhjbkk3WEhKY2JuMDdYSEpjYmx4eVhHNHZLaXBjY2x4dUlFMWhjSE1nWVc0Z1NXNTBNVFpCY25KaGVTQnBiblJ2SUhSb1pTQkVZWFJoVTNSeVpXRnRJR0oxWm1abGNpd2djM2RwZW5wc2FXNW5JR2wwSUhSdklHNWhkR2wyWlZ4eVhHNGdaVzVrYVdGdWJtVnpjeUJwYmkxd2JHRmpaUzRnVkdobElHTjFjbkpsYm5RZ2IyWm1jMlYwSUdaeWIyMGdkR2hsSUhOMFlYSjBJRzltSUhSb1pTQmlkV1ptWlhJZ2JtVmxaSE1nZEc5Y2NseHVJR0psSUdFZ2JYVnNkR2x3YkdVZ2IyWWdaV3hsYldWdWRDQnphWHBsTENCcWRYTjBJR3hwYTJVZ2QybDBhQ0IwZVhCbFpDQmhjbkpoZVNCMmFXVjNjeTVjY2x4dVhISmNiaUJPYVdObElHWnZjaUJ4ZFdsamEyeDVJSEpsWVdScGJtY2dhVzRnWkdGMFlTNGdWMkZ5Ym1sdVp6b2djRzkwWlc1MGFXRnNiSGtnYlc5a2FXWnBaWE1nZEdobElHSjFabVpsY2x4eVhHNGdZMjl1ZEdWdWRITXVYSEpjYmx4eVhHNGdRSEJoY21GdElIdHVkVzFpWlhKOUlHeGxibWQwYUNCT2RXMWlaWElnYjJZZ1pXeGxiV1Z1ZEhNZ2RHOGdiV0Z3TGx4eVhHNGdRSEJoY21GdElIcy9ZbTl2YkdWaGJuMGdaU0JGYm1ScFlXNXVaWE56SUc5bUlIUm9aU0JrWVhSaElIUnZJSEpsWVdRdVhISmNiaUJBY21WMGRYSnVJSHRQWW1wbFkzUjlJRWx1ZERFMlFYSnlZWGtnZEc4Z2RHaGxJRVJoZEdGVGRISmxZVzBnWW1GamEybHVaeUJpZFdabVpYSXVYSEpjYmlBcUwxeHlYRzVFWVhSaFUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1dFlYQkpiblF4TmtGeWNtRjVJRDBnWm5WdVkzUnBiMjRvYkdWdVozUm9MQ0JsS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5aHNaVzVuZEdnZ0tpQXlLVHRjY2x4dUlDQjJZWElnWVhKeUlEMGdibVYzSUVsdWRERTJRWEp5WVhrb2RHaHBjeTVmWW5WbVptVnlMQ0IwYUdsekxtSjVkR1ZQWm1aelpYUWdLeUIwYUdsekxuQnZjMmwwYVc5dUxDQnNaVzVuZEdncE8xeHlYRzRnSUVSaGRHRlRkSEpsWVcwdVlYSnlZWGxVYjA1aGRHbDJaU2hoY25Jc0lHVWdQVDBnYm5Wc2JDQS9JSFJvYVhNdVpXNWthV0Z1Ym1WemN5QTZJR1VwTzF4eVhHNGdJSFJvYVhNdWNHOXphWFJwYjI0Z0t6MGdiR1Z1WjNSb0lDb2dNanRjY2x4dUlDQnlaWFIxY200Z1lYSnlPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCTllYQnpJR0Z1SUVsdWREaEJjbkpoZVNCcGJuUnZJSFJvWlNCRVlYUmhVM1J5WldGdElHSjFabVpsY2k1Y2NseHVYSEpjYmlCT2FXTmxJR1p2Y2lCeGRXbGphMng1SUhKbFlXUnBibWNnYVc0Z1pHRjBZUzVjY2x4dVhISmNiaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiR1Z1WjNSb0lFNTFiV0psY2lCdlppQmxiR1Z0Wlc1MGN5QjBieUJ0WVhBdVhISmNiaUJBY0dGeVlXMGdlejlpYjI5c1pXRnVmU0JsSUVWdVpHbGhibTVsYzNNZ2IyWWdkR2hsSUdSaGRHRWdkRzhnY21WaFpDNWNjbHh1SUVCeVpYUjFjbTRnZTA5aWFtVmpkSDBnU1c1ME9FRnljbUY1SUhSdklIUm9aU0JFWVhSaFUzUnlaV0Z0SUdKaFkydHBibWNnWW5WbVptVnlMbHh5WEc0Z0tpOWNjbHh1UkdGMFlWTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWJXRndTVzUwT0VGeWNtRjVJRDBnWm5WdVkzUnBiMjRvYkdWdVozUm9LU0I3WEhKY2JpQWdkR2hwY3k1ZmNtVmhiR3h2WXloc1pXNW5kR2dnS2lBeEtUdGNjbHh1SUNCMllYSWdZWEp5SUQwZ2JtVjNJRWx1ZERoQmNuSmhlU2gwYUdsekxsOWlkV1ptWlhJc0lIUm9hWE11WW5sMFpVOW1abk5sZENBcklIUm9hWE11Y0c5emFYUnBiMjRzSUd4bGJtZDBhQ2s3WEhKY2JpQWdkR2hwY3k1d2IzTnBkR2x2YmlBclBTQnNaVzVuZEdnZ0tpQXhPMXh5WEc0Z0lISmxkSFZ5YmlCaGNuSTdYSEpjYm4wN1hISmNibHh5WEc0dktpcGNjbHh1SUUxaGNITWdZU0JWYVc1ME16SkJjbkpoZVNCcGJuUnZJSFJvWlNCRVlYUmhVM1J5WldGdElHSjFabVpsY2l3Z2MzZHBlbnBzYVc1bklHbDBJSFJ2SUc1aGRHbDJaVnh5WEc0Z1pXNWthV0Z1Ym1WemN5QnBiaTF3YkdGalpTNGdWR2hsSUdOMWNuSmxiblFnYjJabWMyVjBJR1p5YjIwZ2RHaGxJSE4wWVhKMElHOW1JSFJvWlNCaWRXWm1aWElnYm1WbFpITWdkRzljY2x4dUlHSmxJR0VnYlhWc2RHbHdiR1VnYjJZZ1pXeGxiV1Z1ZENCemFYcGxMQ0JxZFhOMElHeHBhMlVnZDJsMGFDQjBlWEJsWkNCaGNuSmhlU0IyYVdWM2N5NWNjbHh1WEhKY2JpQk9hV05sSUdadmNpQnhkV2xqYTJ4NUlISmxZV1JwYm1jZ2FXNGdaR0YwWVM0Z1YyRnlibWx1WnpvZ2NHOTBaVzUwYVdGc2JIa2diVzlrYVdacFpYTWdkR2hsSUdKMVptWmxjbHh5WEc0Z1kyOXVkR1Z1ZEhNdVhISmNibHh5WEc0Z1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUd4bGJtZDBhQ0JPZFcxaVpYSWdiMllnWld4bGJXVnVkSE1nZEc4Z2JXRndMbHh5WEc0Z1FIQmhjbUZ0SUhzL1ltOXZiR1ZoYm4wZ1pTQkZibVJwWVc1dVpYTnpJRzltSUhSb1pTQmtZWFJoSUhSdklISmxZV1F1WEhKY2JpQkFjbVYwZFhKdUlIdFBZbXBsWTNSOUlGVnBiblF6TWtGeWNtRjVJSFJ2SUhSb1pTQkVZWFJoVTNSeVpXRnRJR0poWTJ0cGJtY2dZblZtWm1WeUxseHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1YldGd1ZXbHVkRE15UVhKeVlYa2dQU0JtZFc1amRHbHZiaWhzWlc1bmRHZ3NJR1VwSUh0Y2NseHVJQ0IwYUdsekxsOXlaV0ZzYkc5aktHeGxibWQwYUNBcUlEUXBPMXh5WEc0Z0lIWmhjaUJoY25JZ1BTQnVaWGNnVldsdWRETXlRWEp5WVhrb2RHaHBjeTVmWW5WbVptVnlMQ0IwYUdsekxtSjVkR1ZQWm1aelpYUWdLeUIwYUdsekxuQnZjMmwwYVc5dUxDQnNaVzVuZEdncE8xeHlYRzRnSUVSaGRHRlRkSEpsWVcwdVlYSnlZWGxVYjA1aGRHbDJaU2hoY25Jc0lHVWdQVDBnYm5Wc2JDQS9JSFJvYVhNdVpXNWthV0Z1Ym1WemN5QTZJR1VwTzF4eVhHNGdJSFJvYVhNdWNHOXphWFJwYjI0Z0t6MGdiR1Z1WjNSb0lDb2dORHRjY2x4dUlDQnlaWFIxY200Z1lYSnlPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlCTllYQnpJR0VnVldsdWRERTJRWEp5WVhrZ2FXNTBieUIwYUdVZ1JHRjBZVk4wY21WaGJTQmlkV1ptWlhJc0lITjNhWHA2YkdsdVp5QnBkQ0IwYnlCdVlYUnBkbVZjY2x4dUlHVnVaR2xoYm01bGMzTWdhVzR0Y0d4aFkyVXVJRlJvWlNCamRYSnlaVzUwSUc5b
1VpuTmxkQ0JtY205dElIUm9aU0J6ZEdGeWRDQnZaaUIwYUdVZ1luVm1abVZ5SUc1bFpXUnpJSFJ2WEhKY2JpQmlaU0JoSUcxMWJIUnBjR3hsSUc5bUlHVnNaVzFsYm5RZ2MybDZaU3dnYW5WemRDQnNhV3RsSUhkcGRHZ2dkSGx3WldRZ1lYSnlZWGtnZG1sbGQzTXVYSEpjYmx4eVhHNGdUbWxqWlNCbWIzSWdjWFZwWTJ0c2VTQnlaV0ZrYVc1bklHbHVJR1JoZEdFdUlGZGhjbTVwYm1jNklIQnZkR1Z1ZEdsaGJHeDVJRzF2WkdsbWFXVnpJSFJvWlNCaWRXWm1aWEpjY2x4dUlHTnZiblJsYm5SekxseHlYRzVjY2x4dUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCc1pXNW5kR2dnVG5WdFltVnlJRzltSUdWc1pXMWxiblJ6SUhSdklHMWhjQzVjY2x4dUlFQndZWEpoYlNCN1AySnZiMnhsWVc1OUlHVWdSVzVrYVdGdWJtVnpjeUJ2WmlCMGFHVWdaR0YwWVNCMGJ5QnlaV0ZrTGx4eVhHNGdRSEpsZEhWeWJpQjdUMkpxWldOMGZTQlZhVzUwTVRaQmNuSmhlU0IwYnlCMGFHVWdSR0YwWVZOMGNtVmhiU0JpWVdOcmFXNW5JR0oxWm1abGNpNWNjbHh1SUNvdlhISmNia1JoZEdGVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG0xaGNGVnBiblF4TmtGeWNtRjVJRDBnWm5WdVkzUnBiMjRvYkdWdVozUm9MQ0JsS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5aHNaVzVuZEdnZ0tpQXlLVHRjY2x4dUlDQjJZWElnWVhKeUlEMGdibVYzSUZWcGJuUXhOa0Z5Y21GNUtIUm9hWE11WDJKMVptWmxjaXdnZEdocGN5NWllWFJsVDJabWMyVjBJQ3NnZEdocGN5NXdiM05wZEdsdmJpd2diR1Z1WjNSb0tUdGNjbHh1SUNCRVlYUmhVM1J5WldGdExtRnljbUY1Vkc5T1lYUnBkbVVvWVhKeUxDQmxJRDA5SUc1MWJHd2dQeUIwYUdsekxtVnVaR2xoYm01bGMzTWdPaUJsS1R0Y2NseHVJQ0IwYUdsekxuQnZjMmwwYVc5dUlDczlJR3hsYm1kMGFDQXFJREk3WEhKY2JpQWdjbVYwZFhKdUlHRnljanRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z1RXRndjeUJoSUVac2IyRjBOalJCY25KaGVTQnBiblJ2SUhSb1pTQkVZWFJoVTNSeVpXRnRJR0oxWm1abGNpd2djM2RwZW5wc2FXNW5JR2wwSUhSdklHNWhkR2wyWlZ4eVhHNGdaVzVrYVdGdWJtVnpjeUJwYmkxd2JHRmpaUzRnVkdobElHTjFjbkpsYm5RZ2IyWm1jMlYwSUdaeWIyMGdkR2hsSUhOMFlYSjBJRzltSUhSb1pTQmlkV1ptWlhJZ2JtVmxaSE1nZEc5Y2NseHVJR0psSUdFZ2JYVnNkR2x3YkdVZ2IyWWdaV3hsYldWdWRDQnphWHBsTENCcWRYTjBJR3hwYTJVZ2QybDBhQ0IwZVhCbFpDQmhjbkpoZVNCMmFXVjNjeTVjY2x4dVhISmNiaUJPYVdObElHWnZjaUJ4ZFdsamEyeDVJSEpsWVdScGJtY2dhVzRnWkdGMFlTNGdWMkZ5Ym1sdVp6b2djRzkwWlc1MGFXRnNiSGtnYlc5a2FXWnBaWE1nZEdobElHSjFabVpsY2x4eVhHNGdZMjl1ZEdWdWRITXVYSEpjYmx4eVhHNGdRSEJoY21GdElIdHVkVzFpWlhKOUlHeGxibWQwYUNCT2RXMWlaWElnYjJZZ1pXeGxiV1Z1ZEhNZ2RHOGdiV0Z3TGx4eVhHNGdRSEJoY21GdElIcy9ZbTl2YkdWaGJuMGdaU0JGYm1ScFlXNXVaWE56SUc5bUlIUm9aU0JrWVhSaElIUnZJSEpsWVdRdVhISmNiaUJBY21WMGRYSnVJSHRQWW1wbFkzUjlJRVpzYjJGME5qUkJjbkpoZVNCMGJ5QjBhR1VnUkdGMFlWTjBjbVZoYlNCaVlXTnJhVzVuSUdKMVptWmxjaTVjY2x4dUlDb3ZYSEpjYmtSaGRHRlRkSEpsWVcwdWNISnZkRzkwZVhCbExtMWhjRVpzYjJGME5qUkJjbkpoZVNBOUlHWjFibU4wYVc5dUtHeGxibWQwYUN3Z1pTa2dlMXh5WEc0Z0lIUm9hWE11WDNKbFlXeHNiMk1vYkdWdVozUm9JQ29nT0NrN1hISmNiaUFnZG1GeUlHRnljaUE5SUc1bGR5QkdiRzloZERZMFFYSnlZWGtvZEdocGN5NWZZblZtWm1WeUxDQjBhR2x6TG1KNWRHVlBabVp6WlhRZ0t5QjBhR2x6TG5CdmMybDBhVzl1TENCc1pXNW5kR2dwTzF4eVhHNGdJRVJoZEdGVGRISmxZVzB1WVhKeVlYbFViMDVoZEdsMlpTaGhjbklzSUdVZ1BUMGdiblZzYkNBL0lIUm9hWE11Wlc1a2FXRnVibVZ6Y3lBNklHVXBPMXh5WEc0Z0lIUm9hWE11Y0c5emFYUnBiMjRnS3owZ2JHVnVaM1JvSUNvZ09EdGNjbHh1SUNCeVpYUjFjbTRnWVhKeU8xeHlYRzU5TzF4eVhHNWNjbHh1THlvcVhISmNiaUJOWVhCeklHRWdSbXh2WVhRek1rRnljbUY1SUdsdWRHOGdkR2hsSUVSaGRHRlRkSEpsWVcwZ1luVm1abVZ5TENCemQybDZlbXhwYm1jZ2FYUWdkRzhnYm1GMGFYWmxYSEpjYmlCbGJtUnBZVzV1WlhOeklHbHVMWEJzWVdObExpQlVhR1VnWTNWeWNtVnVkQ0J2Wm1aelpYUWdabkp2YlNCMGFHVWdjM1JoY25RZ2IyWWdkR2hsSUdKMVptWmxjaUJ1WldWa2N5QjBiMXh5WEc0Z1ltVWdZU0J0ZFd4MGFYQnNaU0J2WmlCbGJHVnRaVzUwSUhOcGVtVXNJR3AxYzNRZ2JHbHJaU0IzYVhSb0lIUjVjR1ZrSUdGeWNtRjVJSFpwWlhkekxseHlYRzVjY2x4dUlFNXBZMlVnWm05eUlIRjFhV05yYkhrZ2NtVmhaR2x1WnlCcGJpQmtZWFJoTGlCWFlYSnVhVzVuT2lCd2IzUmxiblJwWVd4c2VTQnRiMlJwWm1sbGN5QjBhR1VnWW5WbVptVnlYSEpjYmlCamIyNTBaVzUwY3k1Y2NseHVYSEpjYmlCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYkdWdVozUm9JRTUxYldKbGNpQnZaaUJsYkdWdFpXNTBjeUIwYnlCdFlYQXVYSEpjYmlCQWNHRnlZVzBnZXo5aWIyOXNaV0Z1ZlNCbElFVnVaR2xoYm01bGMzTWdiMllnZEdobElHUmhkR0VnZEc4Z2NtVmhaQzVjY2x4dUlFQnlaWFIxY200Z2UwOWlhbVZqZEgwZ1JteHZZWFF6TWtGeWNtRjVJSFJ2SUhSb1pTQkVZWFJoVTNSeVpXRnRJR0poWTJ0cGJtY2dZblZtWm1WeUxseHlYRzRnS2k5Y2NseHVSR0YwWVZOMGNtVmhiUzV3Y205MGIzUjVjR1V1YldGd1JteHZZWFF6TWtGeWNtRjVJRDBnWm5WdVkzUnBiMjRvYkdWdVozUm9MQ0JsS1NCN1hISmNiaUFnZEdocGN5NWZjbVZoYkd4dll5aHNaVzVuZEdnZ0tpQTBLVHRjY2x4dUlDQjJZWElnWVhKeUlEMGdibVYzSUVac2IyRjBNekpCY25KaGVTaDBhR2x6TGw5aWRXWm1aWElzSUhSb2FYTXVZbmwwWlU5bVpuTmxkQ0FySUhSb2FYTXVjRzl6YVhScGIyNHNJR3hsYm1kMGFDazdYSEpjYmlBZ1JHRjBZVk4wY21WaGJTNWhjbkpoZVZSdlRtRjBhWFpsS0dGeWNpd2daU0E5UFNCdWRXeHNJRDhnZEdocGN5NWxibVJwWVc1dVpYTnpJRG9nWlNrN1hISmNiaUFnZEdocGN5NXdiM05wZEdsdmJpQXJQU0JzWlc1bmRHZ2dLaUEwTzF4eVhHNGdJSEpsZEhWeWJpQmhjbkk3WEhKY2JuMDdYSEpjYmk4dklHWnBiR1U2YzNKakwySjFabVpsY2k1cWMxeHlYRzR2S2lwY2NseHVJQ29nVFhWc2RHbENkV1ptWlhKVGRISmxZVzBnYVhNZ1lTQmpiR0Z6Y3lCMGFHRjBJR0ZqZEhNZ1lYTWdZU0JUYVcxd2JHVlRkSEpsWVcwZ1ptOXlJSEJoY25OcGJtZGNjbHh1SUNvZ1NYUWdhRzlzWkhNZ2MyVjJaWEpoYkN3Z2NHOXpjMmxpYkhrZ2JtOXVMV052Ym5ScFozVnZkWE1nUVhKeVlYbENkV1ptWlhJZ2IySnFaV04wY3l3Z1pXRmphQ0IzYVhSb0lHRWdabWxzWlZOMFlYSjBJSEJ5YjNCbGNuUjVYSEpjYmlBcUlHTnZiblJoYVc1cGJtY2dkR2hsSUc5bVpuTmxkQ0JtYjNJZ2RHaGxJR0oxWm1abGNpQmtZWFJoSUdsdUlHRnVJRzl5YVdkcGJtRnNMM1pwY25SMVlXd2dabWxzWlZ4eVhHNGdLbHh5WEc0Z0tpQkpkQ0JwYm1obGNtbDBjeUJoYkhOdklHWnliMjBnUkdGMFlWTjBjbVZoYlNCbWIzSWdZV3hzSUhKbFlXUXZkM0pwZEdVdll
1XeHNiMk1nYjNCbGNtRjBhVzl1YzF4eVhHNGdLaTljY2x4dVhISmNiaThxS2x4eVhHNGdLaUJEYjI1emRISjFZM1J2Y2x4eVhHNGdLaTljY2x4dWRtRnlJRTExYkhScFFuVm1abVZ5VTNSeVpXRnRJRDBnWm5WdVkzUnBiMjRvWW5WbVptVnlLU0I3WEhKY2JpQWdMeW9nVEdsemRDQnZaaUJCY25KaGVVSjFabVpsY25Nc0lIZHBkR2dnWVNCbWFXeGxVM1JoY25RZ2NISnZjR1Z5ZEhrc0lITnZjblJsWkNCcGJpQm1hV3hsVTNSaGNuUWdiM0prWlhJZ1lXNWtJRzV2YmlCdmRtVnliR0Z3Y0dsdVp5QXFMMXh5WEc0Z0lIUm9hWE11WW5WbVptVnljeUE5SUZ0ZE8xeHlYRzRnSUhSb2FYTXVZblZtWm1WeVNXNWtaWGdnUFNBdE1UdGNjbHh1SUNCcFppQW9ZblZtWm1WeUtTQjdYSEpjYmlBZ0lDQjBhR2x6TG1sdWMyVnlkRUoxWm1abGNpaGlkV1ptWlhJcE8xeHlYRzRnSUNBZ2RHaHBjeTVpZFdabVpYSkpibVJsZUNBOUlEQTdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNU5kV3gwYVVKMVptWmxjbE4wY21WaGJTNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1JHRjBZVk4wY21WaGJTaHVaWGNnUVhKeVlYbENkV1ptWlhJb0tTd2dNQ3dnUkdGMFlWTjBjbVZoYlM1Q1NVZGZSVTVFU1VGT0tUdGNjbHh1WEhKY2JpOHFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaXBjY2x4dUlFMWxkR2h2WkhNZ1ptOXlJSFJvWlNCdFlXNWhaMjVsYldWdWRDQnZaaUIwYUdVZ1luVm1abVZ5Y3lBb2FXNXpaWEowYVc5dUxDQnlaVzF2ZG1Gc0xDQmpiMjVqWVhSbGJtRjBhVzl1TENBdUxpNHBYSEpjYmlBcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpOWNjbHh1WEhKY2JrMTFiSFJwUW5WbVptVnlVM1J5WldGdExuQnliM1J2ZEhsd1pTNXBibWwwYVdGc2FYcGxaQ0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUhaaGNpQm1hWEp6ZEVKMVptWmxjanRjY2x4dUlDQnBaaUFvZEdocGN5NWlkV1ptWlhKSmJtUmxlQ0ErSUMweEtTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdVluVm1abVZ5Y3k1c1pXNW5kR2dnUGlBd0tTQjdYSEpjYmlBZ0lDQm1hWEp6ZEVKMVptWmxjaUE5SUhSb2FYTXVZblZtWm1WeWMxc3dYVHRjY2x4dUlDQWdJR2xtSUNobWFYSnpkRUoxWm1abGNpNW1hV3hsVTNSaGNuUWdQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1aWRXWm1aWElnUFNCbWFYSnpkRUoxWm1abGNqdGNjbHh1SUNBZ0lDQWdkR2hwY3k1aWRXWm1aWEpKYm1SbGVDQTlJREE3WEhKY2JpQWdJQ0FnSUV4dlp5NWtaV0oxWnloY0lrMTFiSFJwUW5WbVptVnlVM1J5WldGdFhDSXNJRndpVTNSeVpXRnRJSEpsWVdSNUlHWnZjaUJ3WVhKemFXNW5YQ0lwTzF4eVhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lFeHZaeTUzWVhKdUtGd2lUWFZzZEdsQ2RXWm1aWEpUZEhKbFlXMWNJaXdnWENKVWFHVWdabWx5YzNRZ1luVm1abVZ5SUhOb2IzVnNaQ0JvWVhabElHRWdabWxzWlZOMFlYSjBJRzltSURCY0lpazdYSEpjYmlBZ0lDQWdJSFJvYVhNdWJHOW5RblZtWm1WeVRHVjJaV3dvS1R0Y2NseHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCTWIyY3VkMkZ5YmloY0lrMTFiSFJwUW5WbVptVnlVM1J5WldGdFhDSXNJRndpVG04Z1luVm1abVZ5SUhSdklITjBZWEowSUhCaGNuTnBibWNnWm5KdmJWd2lLVHRjY2x4dUlDQWdJSFJvYVhNdWJHOW5RblZtWm1WeVRHVjJaV3dvS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJQ29nYUdWc2NHVnlJR1oxYm1OMGFXOXVjeUIwYnlCamIyNWpZWFJsYm1GMFpTQjBkMjhnUVhKeVlYbENkV1ptWlhJZ2IySnFaV04wYzF4eVhHNGdLaUJBY0dGeVlXMGdJSHRCY25KaGVVSjFabVpsY24wZ1luVm1abVZ5TVZ4eVhHNGdLaUJBY0dGeVlXMGdJSHRCY25KaGVVSjFabVpsY24wZ1luVm1abVZ5TWx4eVhHNGdLaUJBY21WMGRYSnVJSHRCY25KaGVVSjFabVpsY24wZ2RHaGxJR052Ym1OaGRHVnVZWFJwYjI0Z2IyWWdZblZtWm1WeU1TQmhibVFnWW5WbVptVnlNaUJwYmlCMGFHRjBJRzl5WkdWeVhISmNiaUFxTDF4eVhHNUJjbkpoZVVKMVptWmxjaTVqYjI1allYUWdQU0JtZFc1amRHbHZiaWhpZFdabVpYSXhMQ0JpZFdabVpYSXlLU0I3WEhKY2JpQWdURzluTG1SbFluVm5LRndpUVhKeVlYbENkV1ptWlhKY0lpd2dYQ0pVY25scGJtY2dkRzhnWTNKbFlYUmxJR0VnYm1WM0lHSjFabVpsY2lCdlppQnphWHBsT2lCY0lpQXJJQ2hpZFdabVpYSXhMbUo1ZEdWTVpXNW5kR2dnS3lCaWRXWm1aWEl5TG1KNWRHVk1aVzVuZEdncEtUdGNjbHh1SUNCMllYSWdkRzF3SUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvWW5WbVptVnlNUzVpZVhSbFRHVnVaM1JvSUNzZ1luVm1abVZ5TWk1aWVYUmxUR1Z1WjNSb0tUdGNjbHh1SUNCMGJYQXVjMlYwS0c1bGR5QlZhVzUwT0VGeWNtRjVLR0oxWm1abGNqRXBMQ0F3S1R0Y2NseHVJQ0IwYlhBdWMyVjBLRzVsZHlCVmFXNTBPRUZ5Y21GNUtHSjFabVpsY2pJcExDQmlkV1ptWlhJeExtSjVkR1ZNWlc1bmRHZ3BPMXh5WEc0Z0lISmxkSFZ5YmlCMGJYQXVZblZtWm1WeU8xeHlYRzU5TzF4eVhHNWNjbHh1THlvcVhISmNiaUFxSUZKbFpIVmpaWE1nZEdobElITnBlbVVnYjJZZ1lTQm5hWFpsYmlCaWRXWm1aWElzSUdKMWRDQjBZV3RwYm1jZ2RHaGxJSEJoY25RZ1ltVjBkMlZsYmlCdlptWnpaWFFnWVc1a0lHOW1abk5sZEN0dVpYZHNaVzVuZEdoY2NseHVJQ29nUUhCaGNtRnRJQ0I3UVhKeVlYbENkV1ptWlhKOUlHSjFabVpsY2x4eVhHNGdLaUJBY0dGeVlXMGdJSHRPZFcxaVpYSjlJQ0FnSUNBZ2IyWm1jMlYwSUNBZ0lIUm9aU0J6ZEdGeWRDQnZaaUJ1WlhjZ1luVm1abVZ5WEhKY2JpQXFJRUJ3WVhKaGJTQWdlMDUxYldKbGNuMGdJQ0FnSUNCdVpYZE1aVzVuZEdnZ2RHaGxJR3hsYm1kMGFDQnZaaUIwYU
1dVZ2JtVjNJR0oxWm1abGNseHlYRzRnS2lCQWNtVjBkWEp1SUh0QmNuSmhlVUoxWm1abGNuMGdJQ0FnSUNBZ0lDQWdJSFJvWlNCdVpYY2dZblZtWm1WeVhISmNiaUFxTDF4eVhHNU5kV3gwYVVKMVptWmxjbE4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZrZFdObFFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0b1luVm1abVZ5TENCdlptWnpaWFFzSUc1bGQweGxibWQwYUNrZ2UxeHlYRzRnSUhaaGNpQnpiV0ZzYkVJN1hISmNiaUFnYzIxaGJHeENJRDBnYm1WM0lGVnBiblE0UVhKeVlYa29ibVYzVEdWdVozUm9LVHRjY2x4dUlDQnpiV0ZzYkVJdWMyVjBLRzVsZHlCVmFXNTBPRUZ5Y21GNUtHSjFabVpsY2l3Z2IyWm1jMlYwTENCdVpYZE1aVzVuZEdncEtUdGNjbHh1SUNCemJXRnNiRUl1WW5WbVptVnlMbVpwYkdWVGRHRnlkQ0E5SUdKMVptWmxjaTVtYVd4bFUzUmhjblFnS3lCdlptWnpaWFE3WEhKY2JpQWdjMjFoYkd4Q0xtSjFabVpsY2k1MWMyVmtRbmwwWlhNZ1BTQXdPMXh5WEc0Z0lISmxkSFZ5YmlCemJXRnNiRUl1WW5WbVptVnlPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b3FYSEpjYmlBcUlFbHVjMlZ5ZEhNZ2RHaGxJRzVsZHlCaWRXWm1aWElnYVc0Z2RHaGxJSE52Y25SbFpDQnNhWE4wSUc5bUlHSjFabVpsY25Nc1hISmNiaUFxSUNCdFlXdHBibWNnYzNWeVpTd2dhWFFnYVhNZ2JtOTBJRzkyWlhKc1lYQndhVzVuSUhkcGRHZ2daWGhwYzNScGJtY2diMjVsY3lBb2NHOXpjMmxpYkhrZ2NtVmtkV05wYm1jZ2FYUnpJSE5wZW1VcExseHlYRzRnS2lBZ2FXWWdkR2hsSUc1bGR5QmlkV1ptWlhJZ2IzWmxjbkpwWkdWekwzSmxjR3hoWTJWeklIUm9aU0F3TFhSb0lHSjFabVpsY2lBb1ptOXlJR2x1YzNSaGJtTmxJR0psWTJGMWMyVWdhWFFnYVhNZ1ltbG5aMlZ5S1N4Y2NseHVJQ29nSUhWd1pHRjBaWE1nZEdobElFUmhkR0ZUZEhKbFlXMGdZblZtWm1WeUlHWnZjaUJ3WVhKemFXNW5YSEpjYmlBcUwxeHlYRzVOZFd4MGFVSjFabVpsY2xOMGNtVmhiUzV3Y205MGIzUjVjR1V1YVc1elpYSjBRblZtWm1WeUlEMGdablZ1WTNScGIyNG9ZV0lwSUh0Y2NseHVJQ0IyWVhJZ2RHOWZZV1JrSUQwZ2RISjFaVHRjY2x4dUlDQXZLaUJVVDBSUE9pQnBiWEJ5YjNabElHbHVjMlZ5ZEdsdmJpQnBaaUJ0WVc1NUlHSjFabVpsY25NZ0tpOWNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11WW5WbVptVnljeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RtRnlJR0lnUFNCMGFHbHpMbUoxWm1abGNuTmJhVjA3WEhKY2JpQWdJQ0JwWmlBb1lXSXVabWxzWlZOMFlYSjBJRHc5SUdJdVptbHNaVk4wWVhKMEtTQjdYSEpjYmlBZ0lDQWdJQzhxSUhSb1pTQnBibk5sY25ScGIyNGdjRzl6YVhScGIyNGdhWE1nWm05MWJtUWdLaTljY2x4dUlDQWdJQ0FnYVdZZ0tHRmlMbVpwYkdWVGRHRnlkQ0E5UFQwZ1lpNW1hV3hsVTNSaGNuUXBJSHRjY2x4dUlDQWdJQ0FnSUNBdktpQlVhR1VnYm1WM0lHSjFabVpsY2lCdmRtVnliR0Z3Y3lCM2FYUm9JR0Z1SUdWNGFYTjBhVzVuSUdKMVptWmxjaUFxTDF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hoWWk1aWVYUmxUR1Z1WjNSb0lENGdZaTVpZVhSbFRHVnVaM1JvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0F2S2lCMGFHVWdibVYzSUdKMVptWmxjaUJwY3lCaWFXZG5aWElnZEdoaGJpQjBhR1VnWlhocGMzUnBibWNnYjI1bFhISmNibHgwWEhSY2RGeDBYSFFnSUNCeVpXMXZkbVVnZEdobElHVjRhWE4wYVc1bklHSjFabVpsY2lCaGJtUWdkSEo1SUdGbllXbHVJSFJ2SUdsdWMyVnlkRnh5WEc1Y2RGeDBYSFJjZEZ4MElDQWdkR2hsSUc1bGR5QmlkV1ptWlhJZ2RHOGdZMmhsWTJzZ2IzWmxjbXhoY0NCM2FYUm9JSFJvWlNCdVpYaDBJRzl1WlhNZ0tpOWNjbHh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVZblZtWm1WeWN5NXpjR3hwWTJVb2FTd2dNU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQnBMUzA3WEhKY2JpQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0x5b2dkR2hsSUc1bGR5QmlkV1ptWlhJZ2FYTWdjMjFoYkd4bGNpQjBhR0Z1SUhSb1pTQmxlR2x6ZEdsdVp5QnZibVVzSUdwMWMzUWdaSEp2Y0NCcGRDQXFMMXh5WEc0Z0lDQWdJQ0FnSUNBZ1RHOW5MbmRoY200b1hDSk5kV3gwYVVKMVptWmxjbE4wY21WaGJWd2lMQ0JjSWtKMVptWmxjaUFvWm1sc1pWTjBZWEowT2lCY0lpQXJJR0ZpTG1acGJHVlRkR0Z5ZENBcklGd2lJQzBnVEdWdVozUm9PaUJjSWlBcklHRmlMbUo1ZEdWTVpXNW5kR2dnS3lCY0lpa2dZV3h5WldGa2VTQmhjSEJsYm1SbFpDd2dhV2R1YjNKcGJtZGNJaWs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQzhxSUZSb1pTQmlaV2RwYm01cGJtY2diMllnZEdobElHNWxkeUJpZFdabVpYSWdhWE1nYm05MElHOTJaWEpzWVhCd2FXNW5JSGRwZEdnZ1lXNGdaWGhwYzNScGJtY2dZblZtWm1WeVhISmNibHgwWEhSY2RGeDBJQ0FnYkdWMEozTWdZMmhsWTJzZ2RHaGxJR1Z1WkNCdlppQnBkQ0FxTDF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hoWWk1bWFXeGxVM1JoY25RZ0t5QmhZaTVpZVhSbFRHVnVaM1JvSUR3OUlHSXVabWxzWlZOMFlYSjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQXZLaUJ1YnlCdmRtVnliR0Z3TENCM1pTQmpZVzRnWVdSa0lHbDBJR0Z6SUdseklDb3ZYSEpjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDOHFJRlJvWlhKbElHbHpJSE52YldVZ2IzWmxjbXhoY0N3Z1kzVjBJSFJvWlNCdVpYY2dZblZtWm1WeUlITm9iM0owTENCaGJtUWdZV1JrSUdsMEtpOWNjbHh1SUNBZ0lDQWdJQ0FnSUdGaUlEMGdkR2hwY3k1eVpXUjFZMlZDZFdabVpYSW9ZV0lzSURBc0lHSXVabWxzWlZOMFlYSjBJQzBnWVdJdVptbHNaVk4wWVhKMEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1RHOW5MbVJsWW5WbktGd2lUWFZzZEdsQ2RXWm1aWEpUZEhKbFlXMWNJaXdnWENKQmNIQmxibVJwYm1jZ2JtVjNJR0oxWm1abGNpQW9abWxzWlZOMFlYSjBPaUJjSWlBcklHRmlMbVpwYkdWVGRHRnlkQ0FySUZ3aUlDMGdUR1Z1WjNSb09pQmNJaUFySUdGaUxtSjVkR1ZNWlc1bmRHZ2dLeUJjSWlsY0lpazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NWlkV1ptWlhKekxuTndiR2xqWlNocExDQXdMQ0JoWWlrN1hISmNiaUFnSUNBZ0lDQWdMeW9nYVdZZ2RHaHBjeUJ1WlhjZ1luVm1abVZ5SUdseklHbHVjMlZ5ZEdWa0lHbHVJSFJvWlNCbWFYSnpkQ0J3YkdGalpTQnBiaUIwYUdVZ2JHbHpkQ0J2WmlCMGFHVWdZblZtWm1WeUxGeHlYRzVjZEZ4MFhIUmNkQ0FnSUdGdVpDQjBhR1VnUkdGMFlWTjBjbVZoYlNCcGN5QnBibWwwYVdGc2FYcGxaQ3dnYldGclpTQnBkQ0IwYUdVZ1luVm1abVZ5SUhWelpXUWdabTl5SUhCaGNuTnBibWNnS2k5Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvYVNBOVBUMGdNQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1aWRXWm1aWElnUFNCaFlqdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ2RHOWZZV1JrSUQwZ1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUdKeVpXRnJPMXh5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hoWWk1bWFXeGxVM1JoY25RZ1BDQmlMbVpwYkdWVGRHRnlkQ0FySUdJdVlubDBaVXhsYm1kMGFDa2dlMXh5WEc0Z0lDQWdJQ0F2S2lCMGFHVWdibVYzSUdKMVptWmxjaUJ2ZG1WeWJHRndjeUJwZEhNZ1ltVm5hVzV1YVc1bklIZHBkR2dnZEdobElHVnVaQ0J2WmlCMGFHVWdZM1Z5Y21WdWRDQmlkV1ptWlhJZ0tpOWNjbHh1SUNBZ0lDQWdkbUZ5SUc5bVpuTmxkQ0E5SUdJdVptbHNaVk4wWVhKMElDc2dZaTVpZVhSbFRHVnVaM1JvSUMwZ1lXSXVabWxzWlZOMFlYSjBPMXh5WEc0Z0lDQWdJQ0IyWVhJZ2JtVjNUR1Z1WjNSb0lEMGdZV0l1WW5sMFpVeGxibWQwYUNBdElHOW1abk5sZER0Y2NseHVJQ0FnSUNBZ2FXWWdLRzVsZDB4bGJtZDBhQ0ErSURBcElIdGNjbHh1SUNBZ0lDQWdJQ0F2S2lCMGFHVWdibVYzSUdKMVptWmxjaUJwY3lCaWFXZG5aWElnZEdoaGJpQjBhR1VnWTNWeWNtVnVkQ0J2ZG1WeWJHRndMQ0JrY205d0lIUm9aU0J2ZG1WeWJHRndjR2x1WnlCd1lYSjBJR0Z1WkNCMGNua2dZV2RoYVc0Z2FXNXpaWEowYVc1bklIUm9aU0J5WlcxaGFXNXBibWNnWW5WbVptVnlJQ292WEhKY2JpQWdJQ0FnSUNBZ1lXSWdQU0IwYUdsekxuSmxaSFZqWlVKMVptWmxjaWhoWWl3Z2IyWm1jMlYwTENCdVpYZE1aVzVuZEdncE8xeHlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQzhxSUhSb1pTQmpiMjUwWlc1MElHOW1JSFJvWlNCdVpYY2dZblZtWm1WeUlHbHpJR1Z1ZEdseVpXeDVJR052Ym5SaGFXNWxaQ0JwYmlCMGFHVWdaWGhwYzNScGJtY2dZblZtWm1WeUxDQmtjbTl3SUdsMElHVnVkR2x5Wld4NUlDb3ZYSEpjYmlBZ0lDQWdJQ0FnZEc5ZllXUmtJRDBnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmlBZ0x5b2dhV1lnZEdobElHSjFabVpsY2lCb1lYTWdibTkwSUdKbFpXNGdZV1JrWldRc0lIZGxJR05oYmlCaFpHUWdhWFFnWVhRZ2RHaGxJR1Z1WkNBcUwxeHlYRzRnSUdsbUlDaDBiMTloWkdRcElIdGNjbHh1SUNBZ0lFeHZaeTVrWldKMVp5aGNJazExYkhScFFuVm1abVZ5VTNSeVpXRnRYQ0lzSUZ3aVFYQndaVzVrYVc1bklHNWxkeUJpZFdabVpYSWdLR1pwYkdWVGRHRnlkRG9nWENJZ0t5QmhZaTVtYVd4bFUzUmhjblFnS3lCY0lpQXRJRXhsYm1kMGFEb2dYQ0lnS3lCaFlpNWllWFJsVEdWdVozUm9JQ3NnWENJcFhDSXBPMXh5WEc0Z0lDQWdkR2hwY3k1aWRXWm1aWEp6TG5CMWMyZ29ZV0lwTzF4eVhHNGdJQ0FnTHlvZ2FXWWdkR2hwY3lCdVpYY2dZblZtWm1WeUlHbHpJR2x1YzJWeWRHVmtJR2x1SUhSb1pTQm1hWEp6ZENCd2JHRmpaU0JwYmlCMGFHVWdiR2x6ZENCdlppQjBhR1VnWW5WbVptVnlMRnh5WEc1Y2RGeDBJQ0FnWVc1a0lIUm9aU0JFWVhSaFUzUnlaV0Z0SUdseklHbHVhWFJwWVd4cGVtVmtMQ0J0WVd0bElHbDBJSFJvWlNCaWRXWm1aWElnZFhObFpDQm1iM0lnY0dGeWMybHVaeUFxTDF4eVhHNGdJQ0FnYVdZZ0tHa2dQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1aWRXWm1aWElnUFNCaFlqdGNjbHh1SUNBZ0lIMWNjbH
1h1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lwY2NseHVJQ29nUkdsemNHeGhlWE1nZEdobElITjBZWFIxY3lCdlppQjBhR1VnWW5WbVptVnljeUFvYm5WdFltVnlJR0Z1WkNCMWMyVmtJR0o1ZEdWektWeHlYRzRnS2lCQWNHRnlZVzBnSUh0UFltcGxZM1I5SUdsdVptOGdZMkZzYkdKaFkyc2diV1YwYUc5a0lHWnZjaUJrYVhOd2JHRjVYSEpjYmlBcUwxeHlYRzVOZFd4MGFVSjFabVpsY2xOMGNtVmhiUzV3Y205MGIzUjVjR1V1Ykc5blFuVm1abVZ5VEdWMlpXd2dQU0JtZFc1amRHbHZiaWhwYm1adktTQjdYSEpjYmlBZ2RtRnlJR2s3WEhKY2JpQWdkbUZ5SUdKMVptWmxjanRjY2x4dUlDQjJZWElnZFhObFpDd2dkRzkwWVd3N1hISmNiaUFnZG1GeUlISmhibWRsY3lBOUlGdGRPMXh5WEc0Z0lIWmhjaUJ5WVc1blpUdGNjbHh1SUNCMllYSWdZblZtWm1WeVpXUlRkSEpwYm1jZ1BTQmNJbHdpTzF4eVhHNGdJSFZ6WldRZ1BTQXdPMXh5WEc0Z0lIUnZkR0ZzSUQwZ01EdGNjbHh1SUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NWlkV1ptWlhKekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0JpZFdabVpYSWdQU0IwYUdsekxtSjFabVpsY25OYmFWMDdYSEpjYmlBZ0lDQnBaaUFvYVNBOVBUMGdNQ2tnZTF4eVhHNGdJQ0FnSUNCeVlXNW5aU0E5SUh0OU8xeHlYRzRnSUNBZ0lDQnlZVzVuWlhNdWNIVnphQ2h5WVc1blpTazdYSEpjYmlBZ0lDQWdJSEpoYm1kbExuTjBZWEowSUQwZ1luVm1abVZ5TG1acGJHVlRkR0Z5ZER0Y2NseHVJQ0FnSUNBZ2NtRnVaMlV1Wlc1a0lEMGdZblZtWm1WeUxtWnBiR1ZUZEdGeWRDQXJJR0oxWm1abGNpNWllWFJsVEdWdVozUm9PMXh5WEc0Z0lDQWdJQ0JpZFdabVpYSmxaRk4wY21sdVp5QXJQU0JjSWx0Y0lpQXJJSEpoYm1kbExuTjBZWEowSUNzZ1hDSXRYQ0k3WEhKY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hKaGJtZGxMbVZ1WkNBOVBUMGdZblZtWm1WeUxtWnBiR1ZUZEdGeWRDa2dlMXh5WEc0Z0lDQWdJQ0J5WVc1blpTNWxibVFnUFNCaWRXWm1aWEl1Wm1sc1pWTjBZWEowSUNzZ1luVm1abVZ5TG1KNWRHVk1aVzVuZEdnN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCeVlXNW5aU0E5SUh0OU8xeHlYRzRnSUNBZ0lDQnlZVzVuWlM1emRHRnlkQ0E5SUdKMVptWmxjaTVtYVd4bFUzUmhjblE3WEhKY2JpQWdJQ0FnSUdKMVptWmxjbVZrVTNSeWFXNW5JQ3M5SUNoeVlXNW5aWE5iY21GdVoyVnpMbXhsYm1kMGFDQXRJREZkTG1WdVpDQXRJREVwSUNzZ1hDSmRMQ0JiWENJZ0t5QnlZVzVuWlM1emRHRnlkQ0FySUZ3aUxWd2lPMXh5WEc0Z0lDQWdJQ0J5WVc1blpTNWxibVFnUFNCaWRXWm1aWEl1Wm1sc1pWTjBZWEowSUNzZ1luVm1abVZ5TG1KNWRHVk1aVzVuZEdnN1hISmNiaUFnSUNBZ0lISmhibWRsY3k1d2RYTm9LSEpoYm1kbEtUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lIVnpaV1FnS3owZ1luVm1abVZ5TG5WelpXUkNlWFJsY3p0Y2NseHVJQ0FnSUhSdmRHRnNJQ3M5SUdKMVptWmxjaTVpZVhSbFRHVnVaM1JvTzF4eVhHNGdJSDFjY2x4dUlDQnBaaUFvY21GdVoyVnpMbXhsYm1kMGFDQStJREFwSUh0Y2NseHVJQ0FnSUdKMVptWmxjbVZrVTNSeWFXNW5JQ3M5SUNoeVlXNW5aUzVsYm1RZ0xTQXhLU0FySUZ3aVhWd2lPMXh5WEc0Z0lIMWNjbHh1SUNCMllYSWdiRzluSUQwZ0tHbHVabThnUHlCTWIyY3VhVzVtYnlBNklFeHZaeTVrWldKMVp5azdYSEpjYmlBZ2FXWWdLSFJvYVhNdVluVm1abVZ5Y3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjY2x4dUlDQWdJR3h2WnloY0lrMTFiSFJwUW5WbVptVnlVM1J5WldGdFhDSXNJRndpVG04Z2JXOXlaU0JpZFdabVpYSWdhVzRnYldWdGIzSjVYQ0lwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQnNiMmNvWENKTmRXeDBhVUoxWm1abGNsTjBjbVZoYlZ3aUxDQmNJbHdpSUNzZ2RHaHBjeTVpZFdabVpYSnpMbXhsYm1kMGFDQXJJRndpSUhOMGIzSmxaQ0JpZFdabVpYSW9jeWtnS0Z3aUlDc2dkWE5sWkNBcklGd2lMMXdpSUNzZ2RHOTBZV3dnS3lCY0lpQmllWFJsY3lrc0lHTnZiblJwYm5WdmRYTWdjbUZ1WjJWek9pQmNJaUFySUdKMVptWmxjbVZrVTNSeWFXNW5LVHRjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1TmRXeDBhVUoxWm1abGNsTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdVkyeGxZVzVDZFdabVpYSnpJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnZG1GeUlHazdYSEpjYmlBZ2RtRnlJR0oxWm1abGNqdGNjbHh1SUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NWlkV1ptWlhKekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0JpZFdabVpYSWdQU0IwYUdsekxtSjFabVpsY25OYmFWMDdYSEpjYmlBZ0lDQnBaaUFvWW5WbVptVnlMblZ6WldSQ2VYUmxjeUE5UFQwZ1luVm1abVZ5TG1KNWRHVk1aVzVuZEdncElIdGNjbHh1SUNBZ0lDQWdURzluTG1SbFluVm5LRndpVFhWc2RHbENkV1ptWlhKVGRISmxZVzFjSWl3Z1hDSlNaVzF2ZG1sdVp5QmlkV1ptWlhJZ0kxd2lJQ3NnYVNrN1hISmNiaUFnSUNBZ0lIUm9hWE11WW5WbVptVnljeTV6Y0d4cFkyVW9hU3dnTVNrN1hISmNiaUFnSUNBZ0lHa3RMVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1TmRXeDBhVUoxWm1abGNsTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdWJXVnlaMlZPWlhoMFFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2RtRnlJRzVsZUhSZlluVm1abVZ5TzF4eVhHNGdJR2xtSUNoMGFHbHpMbUoxWm1abGNrbHVaR1Y0SUNzZ01TQThJSFJvYVhNdVluVm1abVZ5Y3k1c1pXNW5kR2dwSUh0Y2NseHVJQ0FnSUc1bGVIUmZZblZtWm1WeUlEMGdkR2hwY3k1aWRXWm1aWEp6VzNSb2FYTXVZblZtWm1WeVNXNWtaWGdnS3lBeFhUdGNjbHh1SUNBZ0lHbG1JQ2h1WlhoMFgySjFab
1VpsY2k1bWFXeGxVM1JoY25RZ1BUMDlJSFJvYVhNdVluVm1abVZ5TG1acGJHVlRkR0Z5ZENBcklIUm9hWE11WW5WbVptVnlMbUo1ZEdWTVpXNW5kR2dwSUh0Y2NseHVJQ0FnSUNBZ2RtRnlJRzlzWkV4bGJtZDBhQ0E5SUhSb2FYTXVZblZtWm1WeUxtSjVkR1ZNWlc1bmRHZzdYSEpjYmlBZ0lDQWdJSFpoY2lCdmJHUlZjMlZrUW5sMFpYTWdQU0IwYUdsekxtSjFabVpsY2k1MWMyVmtRbmwwWlhNN1hISmNiaUFnSUNBZ0lIWmhjaUJ2YkdSR2FXeGxVM1JoY25RZ1BTQjBhR2x6TG1KMVptWmxjaTVtYVd4bFUzUmhjblE3WEhKY2JpQWdJQ0FnSUhSb2FYTXVZblZtWm1WeWMxdDBhR2x6TG1KMVptWmxja2x1WkdWNFhTQTlJRUZ5Y21GNVFuVm1abVZ5TG1OdmJtTmhkQ2gwYUdsekxtSjFabVpsY2l3Z2JtVjRkRjlpZFdabVpYSXBPMXh5WEc0Z0lDQWdJQ0IwYUdsekxtSjFabVpsY2lBOUlIUm9hWE11WW5WbVptVnljMXQwYUdsekxtSjFabVpsY2tsdVpHVjRYVHRjY2x4dUlDQWdJQ0FnZEdocGN5NWlkV1ptWlhKekxuTndiR2xqWlNoMGFHbHpMbUoxWm1abGNrbHVaR1Y0SUNzZ01Td2dNU2s3WEhKY2JpQWdJQ0FnSUhSb2FYTXVZblZtWm1WeUxuVnpaV1JDZVhSbGN5QTlJRzlzWkZWelpXUkNlWFJsY3pzZ0x5b2dWRTlFVHpvZ2MyaHZkV3hrSUdsMElHSmxJQ3M5SUQ4Z0tpOWNjbHh1SUNBZ0lDQWdkR2hwY3k1aWRXWm1aWEl1Wm1sc1pWTjBZWEowSUQwZ2IyeGtSbWxzWlZOMFlYSjBPMXh5WEc0Z0lDQWdJQ0JNYjJjdVpHVmlkV2NvWENKSlUwOUdhV3hsWENJc0lGd2lRMjl1WTJGMFpXNWhkR2x1WnlCaWRXWm1aWElnWm05eUlHSnZlQ0J3WVhKemFXNW5JQ2hzWlc1bmRHZzZJRndpSUNzZ2IyeGtUR1Z1WjNSb0lDc2dYQ0l0UGx3aUlDc2dkR2hwY3k1aWRXWm1aWEl1WW5sMFpVeGxibWQwYUNBcklGd2lLVndpS1R0Y2NseHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1Y2NseHVMeW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaXBjY2x4dUlGTmxaV3N0Y21Wc1lYUmxaQ0JtZFc1amRHbHZibk5jY2x4dUlDb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3ZYSEpjYmx4eVhHNHZLaXBjY2x4dUlDb2dSbWx1WkhNZ2RHaGxJR0oxWm1abGNpQjBhR0YwSUdodmJHUnpJSFJvWlNCbmFYWmxiaUJtYVd4bElIQnZjMmwwYVc5dVhISmNiaUFxSUVCd1lYSmhiU0FnZTBKdmIyeGxZVzU5SUdaeWIyMVRkR0Z5ZENBZ0lDQnBibVJwWTJGMFpYTWdhV1lnZEdobElITmxZWEpqYUNCemFHOTFiR1FnYzNSaGNuUWdabkp2YlNCMGFHVWdZM1Z5Y21WdWRDQmlkV1ptWlhJZ0tHWmhiSE5sS1Z4eVhHNGdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IzSWdabkp2YlNCMGFHVWdabWx5YzNRZ1luVm1abVZ5SUNoMGNuVmxLVnh5WEc0Z0tpQkFjR0Z5WVcwZ0lIdE9kVzFpWlhKOUlDQm1hV3hsVUc5emFYUnBiMjRnY0c5emFYUnBiMjRnYVc0Z2RHaGxJR1pwYkdVZ2RHOGdjMlZsYXlCMGIxeHlYRzRnS2lCQWNHRnlZVzBnSUh0Q2IyOXNaV0Z1ZlNCdFlYSnJRWE5WYzJWa0lDQWdhVzVrYVdOaGRHVnpJR2xtSUhSb1pTQmllWFJsY3lCcGJpQmlaWFIzWldWdUlIUm9aU0JqZFhKeVpXNTBJSEJ2YzJsMGFXOXVJR0Z1WkNCMGFHVWdjMlZsYXlCd2IzTnBkR2x2Ymx4eVhHNGdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyaHZkV3hrSUdKbElHMWhjbXRsWkNCaGN5QjFjMlZrSUdadmNpQm5ZWEppWVdkbElHTnZiR3hsWTNScGIyNWNjbHh1SUNvZ1FISmxkSFZ5YmlCN1RuVnRZbVZ5ZlNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvWlNCcGJtUmxlQ0J2WmlCMGFHVWdZblZtWm1WeUlHaHZiR1JwYm1jZ2RHaGxJSE5sWld0bFpDQm1hV3hsSUhCdmMybDBhVzl1TENBdE1TQnBaaUJ1YjNRZ1ptOTFibVF1WEhKY2JpQXFMMXh5WEc1TmRXeDBhVUoxWm1abGNsTjBjbVZoYlM1d2NtOTBiM1I1Y0dVdVptbHVaRkJ2YzJsMGFXOXVJRDBnWm5WdVkzUnBiMjRvWm5KdmJWTjBZWEowTENCbWFXeGxVRzl6YVhScGIyNHNJRzFoY210QmMxVnpaV1FwSUh0Y2NseHVJQ0IyWVhJZ2FUdGNjbHh1SUNCMllYSWdZV0oxWm1abGNpQTlJRzUxYkd3N1hISmNiaUFnZG1GeUlHbHVaR1Y0SUQwZ0xURTdYSEpjYmx4eVhHNGdJQzhxSUdacGJtUWdkR2hsSUdKMVptWmxjaUIzYVhSb0lIUm9aU0JzWVhKblpYTjBJSEJ2YzJsMGFXOXVJSE50WVd4c1pYSWdkR2hoYmlCMGFHVWdaMmwyWlc0Z2NHOXphWFJwYjI0Z0tpOWNjbHh1SUNCcFppQW9abkp2YlZOMFlYSjBJRDA5UFNCMGNuVmxLU0I3WEhKY2JpQWdJQ0F2S2lCMGFHVWdjbVZ3YjNOcGRHbHZiaUJqWVc0Z1ltVWdhVzRnZEdobElIQmhjM1FzSUhkbElHNWxaV1FnZEc4Z1kyaGxZMnNnWm5KdmJTQjBhR1VnWW1WbmFXNXVhVzVuSUc5bUlIUm9aU0JzYVhOMElHOW1JR0oxWm1abGNuTWdLaTljY2x4dUlDQWdJR2tnUFNBd08xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0JwSUQwZ2RHaHBjeTVpZFdabVpYSkpibVJsZUR0Y2NseHVJQ0I5WEhKY2JseHlYRzRnSUhkb2FXeGxJQ2hwSUR3Z2RHaHBjeTVpZFdabVpYSnpMbXhsYm1kMGFDa2dlMXh5WEc0Z0lDQWdZV0oxWm1abGNpQTlJSFJvYVhNdVluVm1abVZ5YzF0cFhUdGNjbHh1SUNBZ0lHbG1JQ2hoWW5WbVptVnlMbVpwYkdWVGRHRnlkQ0E4UFNCbWFXeGxVRzl6YVhScGIyNHBJSHRjY2x4dUlDQWdJQ0FnYVc1a1pYZ2dQU0JwTzF4eVhHNGdJQ0FnSUNCcFppQW9iV0Z5YTBGelZYTmxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hoWW5WbVptVnlMbVpwYkdWVGRHRnlkQ0FySUdGaWRXWm1aWEl1WW5sMFpVeGxibWQwYUNBOFBTQm1hV3hsVUc5emFYUnBiMjRwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJR0ZpZFdabVpYSXVkWE5sWkVKNWRHVnpJRDBnWVdKMVptWmxjaTVpZVhSbFRHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdJQ0JoWW5WbVptVnlMblZ6WldSQ2VYUmxjeUE5SUdacGJHVlFiM05wZEdsdmJpQXRJR0ZpZFdabVpYSXVabWxzWlZOMFlYSjBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG14dlowSjFabVpsY2t4bGRtVnNLQ2s3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUdKeVpXRnJPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhU3NyTzF4eVhHNGdJSDFjY2x4dVhISmNiaUFnYVdZZ0tHbHVaR1Y0SUNFOVBTQXRNU2tnZTF4eVhHNGdJQ0FnWVdKMVptWmxjaUE5SUhSb2FYTXVZblZtWm1WeWMxdHBibVJsZUYwN1hISmNiaUFnSUNCcFppQW9ZV0oxWm1
1abGNpNW1hV3hsVTNSaGNuUWdLeUJoWW5WbVptVnlMbUo1ZEdWTVpXNW5kR2dnUGowZ1ptbHNaVkJ2YzJsMGFXOXVLU0I3WEhKY2JpQWdJQ0FnSUV4dlp5NWtaV0oxWnloY0lrMTFiSFJwUW5WbVptVnlVM1J5WldGdFhDSXNJRndpUm05MWJtUWdjRzl6YVhScGIyNGdhVzRnWlhocGMzUnBibWNnWW5WbVptVnlJQ05jSWlBcklHbHVaR1Y0S1R0Y2NseHVJQ0FnSUNBZ2NtVjBkWEp1SUdsdVpHVjRPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjbVYwZFhKdUlDMHhPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCeVpYUjFjbTRnTFRFN1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVMeW9xWEhKY2JpQXFJRVpwYm1SeklIUm9aU0JzWVhKblpYTjBJR1pwYkdVZ2NHOXphWFJwYjI0Z1kyOXVkR0ZwYm1Wa0lHbHVJR0VnWW5WbVptVnlJRzl5SUdsdUlIUm9aU0J1WlhoMElHSjFabVpsY25NZ2FXWWdkR2hsZVNCaGNtVWdZMjl1ZEdsbmRXOTFjeUFvYm04Z1oyRndLVnh5WEc0Z0tpQnpkR0Z5ZEdsdVp5Qm1jbTl0SUhSb1pTQm5hWFpsYmlCaWRXWm1aWElnYVc1a1pYZ2diM0lnWm5KdmJTQjBhR1VnWTNWeWNtVnVkQ0JpZFdabVpYSWdhV1lnZEdobElHbHVaR1Y0SUdseklHNXZkQ0JuYVhabGJseHlYRzRnS2x4eVhHNGdLaUJBY0dGeVlXMGdJSHRPZFcxaVpYSjlJR2x1Y0hWMGFXNWtaWGdnU1c1a1pYZ2diMllnZEdobElHSjFabVpsY2lCMGJ5QnpkR0Z5ZENCbWNtOXRYSEpjYmlBcUlFQnlaWFIxY200Z2UwNTFiV0psY24wZ0lDQWdJQ0FnSUNBZ0lDQlVhR1VnYkdGeVoyVnpkQ0JtYVd4bElIQnZjMmwwYVc5dUlHWnZkVzVrSUdsdUlIUm9aU0JpZFdabVpYSnpYSEpjYmlBcUwxeHlYRzVOZFd4MGFVSjFabVpsY2xOMGNtVmhiUzV3Y205MGIzUjVjR1V1Wm1sdVpFVnVaRU52Ym5ScFozVnZkWE5DZFdZZ1BTQm1kVzVqZEdsdmJpaHBibkIxZEdsdVpHVjRLU0I3WEhKY2JpQWdkbUZ5SUdrN1hISmNiaUFnZG1GeUlHTjFjbkpsYm5SQ2RXWTdYSEpjYmlBZ2RtRnlJRzVsZUhSQ2RXWTdYSEpjYmlBZ2RtRnlJR2x1WkdWNElEMGdLR2x1Y0hWMGFXNWtaWGdnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR2x1Y0hWMGFXNWtaWGdnT2lCMGFHbHpMbUoxWm1abGNrbHVaR1Y0S1R0Y2NseHVJQ0JqZFhKeVpXNTBRblZtSUQwZ2RHaHBjeTVpZFdabVpYSnpXMmx1WkdWNFhUdGNjbHh1SUNBdktpQm1hVzVrSUhSb1pTQmxibVFnYjJZZ2RHaGxJR052Ym5ScFozVnZkWE1nY21GdVoyVWdiMllnWkdGMFlTQXFMMXh5WEc0Z0lHbG1JQ2gwYUdsekxtSjFabVpsY25NdWJHVnVaM1JvSUQ0Z2FXNWtaWGdnS3lBeEtTQjdYSEpjYmlBZ0lDQm1iM0lnS0drZ1BTQnBibVJsZUNBcklERTdJR2tnUENCMGFHbHpMbUoxWm1abGNuTXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ2JtVjRkRUoxWmlBOUlIUm9hWE11WW5WbVptVnljMXRwWFR0Y2NseHVJQ0FnSUNBZ2FXWWdLRzVsZUhSQ2RXWXVabWxzWlZOMFlYSjBJRDA5UFNCamRYSnlaVzUwUW5WbUxtWnBiR1ZUZEdGeWRDQXJJR04xY25KbGJuUkNkV1l1WW5sMFpVeGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJR04xY25KbGJuUkNkV1lnUFNCdVpYaDBRblZtTzF4eVhHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNGdJQzhxSUhKbGRIVnliaUIwYUdVZ2NHOXphWFJwYjI0Z2IyWWdiR0Z6ZENCaWVYUmxJR2x1SUhSb1pTQm1hV3hsSUhSb1lYUWdkMlVnYUdGMlpTQXFMMXh5WEc0Z0lISmxkSFZ5YmlCamRYSnlaVzUwUW5WbUxtWnBiR1ZUZEdGeWRDQXJJR04xY25KbGJuUkNkV1l1WW5sMFpVeGxibWQwYUR0Y2NseHVmVHRjY2x4dVhISmNiaThxS2x4eVhHNGdLaUJTWlhSMWNtNXpJSFJvWlNCc1lYSm5aWE4wSUdacGJHVWdjRzl6YVhScGIyNGdZMjl1ZEdGcGJtVmtJR2x1SUhSb1pTQmlkV1ptWlhKekxDQnNZWEpuWlhJZ2RHaGhiaUIwYUdVZ1oybDJaVzRnY0c5emFYUnBiMjVjY2x4dUlDb2dRSEJoY21GdElDQjdUblZ0WW1WeWZTQndiM01nZEdobElHWnBiR1VnY0c5emFYUnBiMjRnZEc4Z2MzUmhjblFnWm5KdmJWeHlYRzRnS2lCQWNtVjBkWEp1SUh0T2RXMWlaWEo5SUNBZ0lDQjBhR1VnYkdGeVoyVnpkQ0J3YjNOcGRHbHZiaUJwYmlCMGFHVWdZM1Z5Y21WdWRDQmlkV1ptWlhJZ2IzSWdhVzRnZEdobElHSjFabVpsY2lCaGJtUWdkR2hsSUc1bGVIUWdZMjl1ZEdsbmRXOTFjMXh5WEc0Z0tpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpZFdabVpYSWdkR2hoZENCb2IyeGtjeUIwYUdVZ1oybDJaVzRnY0c5emFYUnBiMjVjY2x4dUlDb3ZYSEpjYmsxMWJIUnBRblZtWm1WeVUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1blpYUkZibVJHYVd4bFVHOXphWFJwYjI1QlpuUmxjaUE5SUdaMWJtTjBhVzl1S0hCdmN5a2dlMXh5WEc0Z0lIWmhjaUJwYm1SbGVDQTlJSFJvYVhNdVptbHVaRkJ2YzJsMGFXOXVLSFJ5ZFdVc0lIQnZjeXdnWm1Gc2MyVXBPMXh5WEc0Z0lHbG1JQ2hwYm1SbGVDQWhQVDBnTFRFcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVpwYm1SRmJtUkRiMjUwYVdkMWIzVnpRblZtS0dsdVpHVjRLVHRjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUhCdmN6dGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2x4eVhHNGdSMkZ5WW1GblpTQmpiMnhzWldOMGFXOXVJSEpsYkdGMFpXUWdablZ1WTNScGIyNXpYSEpjYmlBcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUwxeHlYRzVjY2x4dUx5b3FYSEpjYmlBcUlFMWhjbXR6SUdFZ1oybDJaVzRnYm5WdFltVnlJRzltSUdKNWRHVnpJR0Z6SUhWelpXUWdhVzRnZEdobElHTjFjbkpsYm5RZ1luVm1abVZ5SUdadmNpQm5ZWEppWVdkbElHTnZiR3hsWTNScGIyNWNjbHh1SUNvZ1FIQmhjbUZ0SUh0T2RXMWlaWEo5SUc1aVFubDBaWE5jY2x4dUlDb3ZYSEpjYmsxMWJIUnBRblZtWm1WeVUzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1aFpHUlZjMlZrUW5sMFpYTWdQU0JtZFc1amRHbHZiaWh1WWtKNWRHVnpLU0I3WEhKY2JpQWdkR2hwY3k1aWRXWm1aWEl1ZFhObFpFSjVkR1Z6SUNzOUlHNWlRbmwwWlhNN1hISmNiaUFnZEdocGN5NXNiMmRDZFdabVpYSk1aWFpsYkNncE8xeHlYRzU5TzF4eVhHNWNjbHh1THlvcV
1hISmNiaUFxSUUxaGNtdHpJSFJvWlNCbGJuUnBjbVVnWTNWeWNtVnVkQ0JpZFdabVpYSWdZWE1nZFhObFpDd2djbVZoWkhrZ1ptOXlJR2RoY21KaFoyVWdZMjlzYkdWamRHbHZibHh5WEc0Z0tpOWNjbHh1VFhWc2RHbENkV1ptWlhKVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG5ObGRFRnNiRlZ6WldSQ2VYUmxjeUE5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUhSb2FYTXVZblZtWm1WeUxuVnpaV1JDZVhSbGN5QTlJSFJvYVhNdVluVm1abVZ5TG1KNWRHVk1aVzVuZEdnN1hISmNiaUFnZEdocGN5NXNiMmRDZFdabVpYSk1aWFpsYkNncE8xeHlYRzU5TzF4eVhHNWNjbHh1THlvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lwY2NseHVJRU52YlcxdmJpQkJVRWtnWW1WMGQyVmxiaUJOZFd4MGFVSjFabVpsY2xOMGNtVmhiU0JoYm1RZ1UybHRjR3hsVTNSeVpXRnRYSEpjYmlBcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUwxeHlYRzVjY2x4dUx5b3FYSEpjYmlBcUlGUnlhV1Z6SUhSdklITmxaV3NnZEc4Z1lTQm5hWFpsYmlCbWFXeGxJSEJ2YzJsMGFXOXVYSEpjYmlBcUlHbG1JSEJ2YzNOcFlteGxMQ0J5WlhCdmMybDBhVzl1Y3lCMGFHVWdjR0Z5YzJsdVp5Qm1jbTl0SUhSb1pYSmxJR0Z1WkNCeVpYUjFjbTV6SUhSeWRXVmNjbHh1SUNvZ2FXWWdibTkwSUhCdmMzTnBZbXhsTENCa2IyVnpJRzV2ZENCamFHRnVaMlVnWVc1NWRHaHBibWNnWVc1a0lISmxkSFZ5Ym5NZ1ptRnNjMlZjY2x4dUlDb2dRSEJoY21GdElDQjdUblZ0WW1WeWZTQWdabWxzWlZCdmMybDBhVzl1SUhCdmMybDBhVzl1SUdsdUlIUm9aU0JtYVd4bElIUnZJSE5sWldzZ2RHOWNjbHh1SUNvZ1FIQmhjbUZ0SUNCN1FtOXZiR1ZoYm4wZ1puSnZiVk4wWVhKMElDQWdJR2x1WkdsallYUmxjeUJwWmlCMGFHVWdjMlZoY21Ob0lITm9iM1ZzWkNCemRHRnlkQ0JtY205dElIUm9aU0JqZFhKeVpXNTBJR0oxWm1abGNpQW9abUZzYzJVcFhISmNiaUFxSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZjaUJtY205dElIUm9aU0JtYVhKemRDQmlkV1ptWlhJZ0tIUnlkV1VwWEhKY2JpQXFJRUJ3WVhKaGJTQWdlMEp2YjJ4bFlXNTlJRzFoY210QmMxVnpaV1FnSUNCcGJtUnBZMkYwWlhNZ2FXWWdkR2hsSUdKNWRHVnpJR2x1SUdKbGRIZGxaVzRnZEdobElHTjFjbkpsYm5RZ2NHOXphWFJwYjI0Z1lXNWtJSFJvWlNCelpXVnJJSEJ2YzJsMGFXOXVYSEpjYmlBcUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6YUc5MWJHUWdZbVVnYldGeWEyVmtJR0Z6SUhWelpXUWdabTl5SUdkaGNtSmhaMlVnWTI5c2JHVmpkR2x2Ymx4eVhHNGdLaUJBY21WMGRYSnVJSHRDYjI5c1pXRnVmU0FnSUNBZ0lDQWdJQ0FnSUNBZ2RISjFaU0JwWmlCMGFHVWdjMlZsYXlCemRXTmpaV1ZrWldRc0lHWmhiSE5sSUc5MGFHVnlkMmx6WlZ4eVhHNGdLaTljY2x4dVRYVnNkR2xDZFdabVpYSlRkSEpsWVcwdWNISnZkRzkwZVhCbExuTmxaV3NnUFNCbWRXNWpkR2x2YmlobWFXeGxVRzl6YVhScGIyNHNJR1p5YjIxVGRHRnlkQ3dnYldGeWEwRnpWWE5sWkNrZ2UxeHlYRzRnSUhaaGNpQnBibVJsZUR0Y2NseHVJQ0JwYm1SbGVDQTlJSFJvYVhNdVptbHVaRkJ2YzJsMGFXOXVLR1p5YjIxVGRHRnlkQ3dnWm1sc1pWQnZjMmwwYVc5dUxDQnRZWEpyUVhOVmMyVmtLVHRjY2x4dUlDQnBaaUFvYVc1a1pYZ2dJVDA5SUMweEtTQjdYSEpjYmlBZ0lDQjBhR2x6TG1KMVptWmxjaUE5SUhSb2FYTXVZblZtWm1WeWMxdHBibVJsZUYwN1hISmNiaUFnSUNCMGFHbHpMbUoxWm1abGNrbHVaR1Y0SUQwZ2FXNWtaWGc3WEhKY2JpQWdJQ0IwYUdsekxuQnZjMmwwYVc5dUlEMGdabWxzWlZCdmMybDBhVzl1SUMwZ2RHaHBjeTVpZFdabVpYSXVabWxzWlZOMFlYSjBPMXh5WEc0Z0lDQWdURzluTG1SbFluVm5LRndpVFhWc2RHbENkV1ptWlhKVGRISmxZVzFjSWl3Z1hDSlNaWEJ2YzJsMGFXOXVhVzVuSUhCaGNuTmxjaUJoZENCaWRXWm1aWElnY0c5emFYUnBiMjQ2SUZ3aUlDc2dkR2hwY3k1d2IzTnBkR2x2YmlrN1hISmNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnVEc5bkxtUmxZblZuS0Z3aVRYVnNkR2xDZFdabVpYSlRkSEpsWVcxY0lpd2dYQ0pRYjNOcGRHbHZiaUJjSWlBcklHWnBiR1ZRYjNOcGRHbHZiaUFySUZ3aUlHNXZkQ0JtYjNWdVpDQnBiaUJpZFdabVpYSmxaQ0JrWVhSaFhDSXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JpOHFLbHh5WEc0Z0tpQlNaWFIxY201eklIUm9aU0JqZFhKeVpXNTBJSEJ2YzJsMGFXOXVJR2x1SUhSb1pTQm1hV3hsWEhKY2JpQXFJRUJ5WlhSMWNtNGdlMDUxYldKbGNuMGdkR2hsSUhCdmMybDBhVzl1SUdsdUlIUm9aU0JtYVd4bFhISmNiaUFxTDF4eVhHNU5kV3gwYVVKMVptWmxjbE4wY21WaGJTNXdjbTkwYjNSNWNHVXVaMlYwVUc5emFYUnBiMjRnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCcFppQW9kR2hwY3k1aWRXWm1aWEpKYm1SbGVDQTlQVDBnTFRFZ2ZId2dkR2hwY3k1aWRXWm1aWEp6VzNSb2FYTXVZblZtWm1WeVNXNWtaWGhkSUQwOVBTQnVkV3hzS1NCN1hISmNiaUFnSUNCMGFISnZkeUJjSWtWeWNtOXlJR0ZqWTJWemMybHVaeUJ3YjNOcGRHbHZiaUJwYmlCMGFHVWdUWFZzZEdsQ2RXWm1aWEpUZEhKbFlXMWNJanRjY2x4dUlDQjlYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVZblZtWm1WeWMxdDBhR2x6TG1KMVptWmxja2x1WkdWNFhTNW1hV3hsVTNSaGNuUWdLeUIwYUdsekxuQnZjMmwwYVc5dU8xeHlYRzU5TzF4eVhHNWNjbHh1THlvcVhISmNiaUFxSUZKbGRIVnlibk1nZEdobElHeGxibWQwYUNCdlppQjBhR1VnWTNWeWNtVnVkQ0JpZFdabVpYSmNjbHh1SUNvZ1FISmxkSFZ5YmlCN1RuVnRZbVZ5ZlNCMGFHVWdiR1Z1WjNSb0lHOW1JSFJvWlNCamRYSnlaVzUwSUdKMVptWmxjbHh5WEc0Z0tpOWNjbHh1VFhWc2RHbENkV1ptWlhKVGRISmxZVzB1Y0hKdmRHOTBlWEJsTG1kbGRFeGxibWQwYUNBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbUo1ZEdWTVpXNW5kR2c3WEhKY2JuMDdYSEpjYmx4eVhHNU5kV3gwYVVKMVptWmxjbE4wY21WaGJTNXdjbTkwYjNSNWNHVXVaMlYwUlc1a1VHOXphWFJwYjI0Z1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQnBaaUFvZEdocGN5NWlkV1ptWlhKSmJtUmxlQ0E5UFQwZ0xURWdmSHdnZEdocGN5NWlkV1ptWlhKelczUm9hWE11WW5WbVptVnlTVzVrWlhoZElEMDlQU0J1ZFd4c0tTQjdYSEpjYmlBZ0lDQjBhSEp2ZHlCY0lrVnljbTl5SUdGalkyVnpjMmx1WnlCd2IzTnBkR2x2YmlCcGJpQjBhR1VnVFhWc2RHbENkV1ptWlhKVGRISmxZVzFjSWp0Y2NseHVJQ0I5WEhKY2JpQWdjbVYwZFhKdUlIUm9hWE11WW5WbVptVnljMXQwYUdsekxtSjFabVpsY2tsdV
1pHVjRYUzVtYVd4bFUzUmhjblFnS3lCMGFHbHpMbUo1ZEdWTVpXNW5kR2c3WEhKY2JuMDdYSEpjYmx4eVhHNXBaaUFvZEhsd1pXOW1JR1Y0Y0c5eWRITWdJVDA5SUZ3aWRXNWtaV1pwYm1Wa1hDSXBJSHRjY2x4dUlDQmxlSEJ2Y25SekxrMTFiSFJwUW5WbVptVnlVM1J5WldGdElEMGdUWFZzZEdsQ2RXWm1aWEpUZEhKbFlXMDdYSEpjYm4wdkx5Qm1hV3hsT25OeVl5OWtaWE5qY21sd2RHOXlMbXB6WEhKY2JpOHFYSEpjYmlBcUlFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE1pMHlNREV6TGlCVVpXeGxZMjl0SUZCaGNtbHpWR1ZqYUM5VVUwa3ZUVTB2UjFCQlF5QkRlWEpwYkNCRGIyNWpiMnhoZEc5Y2NseHVJQ29nVEdsalpXNXpaVG9nUWxORUxUTXRRMnhoZFhObElDaHpaV1VnVEVsRFJVNVRSU0JtYVd4bEtWeHlYRzRnS2k5Y2NseHVkbUZ5SUUxUVJVYzBSR1Z6WTNKcGNIUnZjbEJoY25ObGNpQTlJR1oxYm1OMGFXOXVLQ2tnZTF4eVhHNGdJSFpoY2lCRlUxOUVaWE5qY2xSaFp5QTlJREI0TURNN1hISmNiaUFnZG1GeUlFUmxZMjlrWlhKRGIyNW1hV2RFWlhOamNsUmhaeUE5SURCNE1EUTdYSEpjYmlBZ2RtRnlJRVJsWTFOd1pXTnBabWxqU1c1bWIxUmhaeUE5SURCNE1EVTdYSEpjYmlBZ2RtRnlJRk5NUTI5dVptbG5SR1Z6WTNKVVlXY2dQU0F3ZURBMk8xeHlYRzVjY2x4dUlDQjJZWElnWkdWelkxUmhaMVJ2VG1GdFpTQTlJRnRkTzF4eVhHNGdJR1JsYzJOVVlXZFViMDVoYldWYlJWTmZSR1Z6WTNKVVlXZGRJRDBnWENKRlUxOUVaWE5qY21sd2RHOXlYQ0k3WEhKY2JpQWdaR1Z6WTFSaFoxUnZUbUZ0WlZ0RVpXTnZaR1Z5UTI5dVptbG5SR1Z6WTNKVVlXZGRJRDBnWENKRVpXTnZaR1Z5UTI5dVptbG5SR1Z6WTNKcGNIUnZjbHdpTzF4eVhHNGdJR1JsYzJOVVlXZFViMDVoYldWYlJHVmpVM0JsWTJsbWFXTkpibVp2VkdGblhTQTlJRndpUkdWamIyUmxjbE53WldOcFptbGpTVzVtYjF3aU8xeHlYRzRnSUdSbGMyTlVZV2RVYjA1aGJXVmJVMHhEYjI1bWFXZEVaWE5qY2xSaFoxMGdQU0JjSWxOTVEyOXVabWxuUkdWelkzSnBjSFJ2Y2x3aU8xeHlYRzVjY2x4dUlDQjBhR2x6TG1kbGRFUmxjMk55YVhCMGIzSk9ZVzFsSUQwZ1puVnVZM1JwYjI0b2RHRm5LU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaR1Z6WTFSaFoxUnZUbUZ0WlZ0MFlXZGRPMXh5WEc0Z0lIMDdYSEpjYmx4eVhHNGdJSFpoY2lCMGFHRjBJRDBnZEdocGN6dGNjbHh1SUNCMllYSWdZMnhoYzNObGN5QTlJSHQ5TzF4eVhHNWNjbHh1SUNCMGFHbHpMbkJoY25ObFQyNWxSR1Z6WTNKcGNIUnZjaUE5SUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJQ0FnZG1GeUlHaGtjbE5wZW1VZ1BTQXdPMXh5WEc0Z0lDQWdkbUZ5SUhOcGVtVWdQU0F3TzF4eVhHNGdJQ0FnZG1GeUlIUmhaenRjY2x4dUlDQWdJSFpoY2lCa1pYTmpPMXh5WEc0Z0lDQWdkbUZ5SUdKNWRHVlNaV0ZrTzF4eVhHNGdJQ0FnZEdGbklEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lDQWdhR1J5VTJsNlpTc3JPMXh5WEc0Z0lDQWdZbmwwWlZKbFlXUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0JvWkhKVGFYcGxLeXM3WEhKY2JpQWdJQ0IzYUdsc1pTQW9ZbmwwWlZKbFlXUWdKaUF3ZURnd0tTQjdYSEpjYmlBZ0lDQWdJSE5wZW1VZ1BTQW9ZbmwwWlZKbFlXUWdKaUF3ZURkR0tTQThQQ0EzTzF4eVhHNGdJQ0FnSUNCaWVYUmxVbVZoWkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNBZ0lDQWdhR1J5VTJsNlpTc3JPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjMmw2WlNBclBTQmllWFJsVW1WaFpDQW1JREI0TjBZN1hISmNiaUFnSUNCTWIyY3VaR1ZpZFdjb1hDSk5VRVZITkVSbGMyTnlhWEIwYjNKUVlYSnpaWEpjSWl3Z1hDSkdiM1Z1WkNCY0lpQXJJQ2hrWlhOalZHRm5WRzlPWVcxbFczUmhaMTBnZkh3Z1hDSkVaWE5qY21sd2RHOXlJRndpSUNzZ2RHRm5LU0FySUZ3aUxDQnphWHBsSUZ3aUlDc2djMmw2WlNBcklGd2lJR0YwSUhCdmMybDBhVzl1SUZ3aUlDc2djM1J5WldGdExtZGxkRkJ2YzJsMGFXOXVLQ2twTzF4eVhHNGdJQ0FnYVdZZ0tHUmxjMk5VWVdkVWIwNWhiV1ZiZEdGblhTa2dlMXh5WEc0Z0lDQWdJQ0JrWlhOaklEMGdibVYzSUdOc1lYTnpaWE5iWkdWelkxUmhaMVJ2VG1GdFpWdDBZV2RkWFNoemFYcGxLVHRjY2x4dUlDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJR1JsYzJNZ1BTQnVaWGNnWTJ4aGMzTmxjeTVFWlhOamNtbHdkRzl5S0hOcGVtVXBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdaR1Z6WXk1d1lYSnpaU2h6ZEhKbFlXMHBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHUmxjMk03WEhKY2JpQWdmVHRjY2x4dVhISmNiaUFnWTJ4aGMzTmxjeTVFWlhOamNtbHdkRzl5SUQwZ1puVnVZM1JwYjI0b1gzUmhaeXdnWDNOcGVtVXBJSHRjY2x4dUlDQWdJSFJvYVhNdWRHRm5JRDBnWDNSaFp6dGNjbHh1SUNBZ0lIUm9hWE11YzJsNlpTQTlJRjl6YVhwbE8xeHlYRzRnSUNBZ2RHaHBjeTVrWlhOamN5QTlJRnRkTzF4eVhHNGdJSDA3WEhKY2JseHlYRzRnSUdOc1lYTnpaWE11UkdWelkzSnBjSFJ2Y2k1d2NtOTBiM1I1Y0dVdWNHRnljMlVnUFNCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0FnSUhSb2FYTXVaR0YwWVNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERoQmNuSmhlU2gwYUdsekxuTnBlbVVwTzF4eVhHNGdJSDA3WEhKY2JseHlYRzRnSUdOc1lYTnpaWE11UkdWelkzSnBjSFJ2Y2k1d2NtOTBiM1I1Y0dVdVptbHVaRVJsYzJOeWFYQjBiM0lnUFNCbWRXNWpkR2x2YmloMFlXY3BJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NWtaWE5qY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVrWlhOamMxdHBYUzUwWVdjZ1BUMGdkR0ZuS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WkdWelkzTmJhVjA3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHlYRzRnSUgwN1hISmNibHh5WEc0Z0lHTnNZWE56WlhNdVJHVnpZM0pwY0hSdmNpNXdjbTkwYjNSNWNHVXVjR0Z5YzJWU1pXMWhhVzVwYm1kRVpYTmpjbWx3ZEc5eWN5QTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lDQWdkbUZ5SUhOMFlYSjBJRDBnYzNSeVpXRnRMbkJ2YzJsMGFXOXVPMXh5WEc0Z0lDQWdkMmhwYkdVZ0tITjBjbVZoYlM1d2IzTn
1BkR2x2YmlBOElITjBZWEowSUNzZ2RHaHBjeTV6YVhwbEtTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCa1pYTmpJRDBnZEdoaGRDNXdZWEp6WlU5dVpVUmxjMk55YVhCMGIzSW9jM1J5WldGdEtUdGNjbHh1SUNBZ0lDQWdkR2hwY3k1a1pYTmpjeTV3ZFhOb0tHUmxjMk1wTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDA3WEhKY2JseHlYRzRnSUdOc1lYTnpaWE11UlZOZlJHVnpZM0pwY0hSdmNpQTlJR1oxYm1OMGFXOXVLSE5wZW1VcElIdGNjbHh1SUNBZ0lHTnNZWE56WlhNdVJHVnpZM0pwY0hSdmNpNWpZV3hzS0hSb2FYTXNJRVZUWDBSbGMyTnlWR0ZuTENCemFYcGxLVHRjY2x4dUlDQjlPMXh5WEc1Y2NseHVJQ0JqYkdGemMyVnpMa1ZUWDBSbGMyTnlhWEIwYjNJdWNISnZkRzkwZVhCbElEMGdibVYzSUdOc1lYTnpaWE11UkdWelkzSnBjSFJ2Y2lncE8xeHlYRzVjY2x4dUlDQmpiR0Z6YzJWekxrVlRYMFJsYzJOeWFYQjBiM0l1Y0hKdmRHOTBlWEJsTG5CaGNuTmxJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdJQ0IwYUdsekxrVlRYMGxFSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNBZ0lIUm9hWE11Wm14aFozTWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0IwYUdsekxuTnBlbVVnTFQwZ016dGNjbHh1SUNBZ0lHbG1JQ2gwYUdsekxtWnNZV2R6SUNZZ01IZzRNQ2tnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbVJsY0dWdVpITlBibDlGVTE5SlJDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdJQ0FnSUhSb2FYTXVjMmw2WlNBdFBTQXlPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1a1pYQmxibVJ6VDI1ZlJWTmZTVVFnUFNBd08xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2FXWWdLSFJvYVhNdVpteGhaM01nSmlBd2VEUXdLU0I3WEhKY2JpQWdJQ0FnSUhaaGNpQnNJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbFZTVENBOUlITjBjbVZoYlM1eVpXRmtVM1J5YVc1bktHd3BPMXh5WEc0Z0lDQWdJQ0IwYUdsekxuTnBlbVVnTFQwZ2JDQXJJREU3WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0IwYUdsekxsVlNUQ0E5SUZ3aVhDSTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnBaaUFvZEdocGN5NW1iR0ZuY3lBbUlEQjRNakFwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVQUTFKZlJWTmZTVVFnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUNBZ0lDQjBhR2x6TG5OcGVtVWdMVDBnTWp0Y2NseHVJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUhSb2FYTXVUME5TWDBWVFgwbEVJRDBnTUR0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhSb2FYTXVjR0Z5YzJWU1pXMWhhVzVwYm1kRVpYTmpjbWx3ZEc5eWN5aHpkSEpsWVcwcE8xeHlYRzRnSUgwN1hISmNibHh5WEc0Z0lHTnNZWE56WlhNdVJWTmZSR1Z6WTNKcGNIUnZjaTV3Y205MGIzUjVjR1V1WjJWMFQxUkpJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdJQ0IyWVhJZ1pHTmtJRDBnZEdocGN5NW1hVzVrUkdWelkzSnBjSFJ2Y2loRVpXTnZaR1Z5UTI5dVptbG5SR1Z6WTNKVVlXY3BPMXh5WEc0Z0lDQWdhV1lnS0dSalpDa2dlMXh5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaR05rTG05MGFUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lISmxkSFZ5YmlBd08xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgwN1hISmNibHh5WEc0Z0lHTnNZWE56WlhNdVJWTmZSR1Z6WTNKcGNIUnZjaTV3Y205MGIzUjVjR1V1WjJWMFFYVmthVzlEYjI1bWFXY2dQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQWdJSFpoY2lCa1kyUWdQU0IwYUdsekxtWnBibVJFWlhOamNtbHdkRzl5S0VSbFkyOWtaWEpEYjI1bWFXZEVaWE5qY2xSaFp5azdYSEpjYmlBZ0lDQnBaaUFvSVdSalpDa2djbVYwZFhKdUlHNTFiR3c3WEhKY2JpQWdJQ0IyWVhJZ1pITnBJRDBnWkdOa0xtWnBibVJFWlhOamNtbHdkRzl5S0VSbFkxTndaV05wWm1salNXNW1iMVJoWnlrN1hISmNiaUFnSUNCcFppQW9aSE5wSUNZbUlHUnphUzVrWVhSaEtTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCaGRXUnBiMDlpYW1WamRGUjVjR1VnUFNBb1pITnBMbVJoZEdGYk1GMGdKaUF3ZUVZNEtTQStQaUF6TzF4eVhHNGdJQ0FnSUNCcFppQW9ZWFZrYVc5UFltcGxZM1JVZVhCbElEMDlQU0F6TVNBbUppQmtjMmt1WkdGMFlTNXNaVzVuZEdnZ1BqMGdNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lHRjFaR2x2VDJKcVpXTjBWSGx3WlNBOUlETXlJQ3NnS0Noa2Mya3VaR0YwWVZzd1hTQW1JREI0TnlrZ1BEd2dNeWtnS3lBb0tHUnphUzVrWVhSaFd6RmRJQ1lnTUhoRk1Da2dQajRnTlNrN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdjbVYwZFhKdUlHRjFaR2x2VDJKcVpXTjBWSGx3WlR0Y2NseHVJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgwN1hISmNibHh5WEc0Z0lHTnNZWE56WlhNdVJHVmpiMlJsY2tOdmJtWnBaMFJsYzJOeWFYQjBiM0lnUFNCbWRXNWpkR2x2YmloemFYcGxLU0I3WEhKY2JpQWdJQ0JqYkdGemMyVnpMa1JsYzJOeWFYQjBiM0l1WTJGc2JDaDBhR2x6TENCRVpXTnZaR1Z5UTI5dVptbG5SR1Z6WTNKVVlXY3NJSE5wZW1VcE8xeHlYRzRnSUgwN1hISmNiaUFnWTJ4aGMzTmxjeTVFWldOdlpHVnlRMjl1Wm1sblJHVnpZM0pwY0hSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1kyeGhjM05sY3k1RVpYTmpjbWx3ZEc5eUtDazdYSEpjYmx4eVhHNGdJR05zWVhOelpYTXVSR1ZqYjJSbGNrTnZibVpwWjBSbGMyTnlhWEIwYjNJdWNISnZkRzkwZVhCbExuQmhjbk5sSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnSUNCMGFHbHpMbTkwYVNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNBZ0lIUm9hWE11YzNSeVpXRnRWSGx3WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNBZ0lIUm9hWE11WW5WbVptVnlVMmw2WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERJMEtDazdYSEpjYmlBZ0lDQjBhR2x6TG0xaGVFSnBkSEpoZEdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1aGRtZENhWFJ5WVhSbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJSFJvYVhNdWMybDZaU0F0UFNBeE16dGNjbHh1SUNBZ0lIUm9hWE11Y0dGeWMyVlNaVzFoYVc1cGJtZEVaWE5qY21sd2RHOXljeWh6ZEhKbFlXMHBPMXh5WEc0Z0lIMDdYSEpjYmx4eVhHNGdJR05zWVhOelpYTXVSR1ZqYjJSbGNsTndaV05wWm1salNXNW1ieUE5SUdaMWJtTjBhVzl1S0hOcGVtVXBJSHRjY2x4dUlDQWdJR05zWVhOelpYTXVSR1Z6WTNKcGNIUnZjaTVqWVd4c0tIUm9hWE1zSUVSbFkxTndaV05wWm1salNXNW1iMVJoWnl3Z2MybDZaU2s3WEhKY2JpQWdmVHRjY2x4dUlDQmpiR0Z6YzJWekxrUmxZMjlrWlhKVGNHVmphV1pwWTBsdVptOHVjSEp2ZEc5MGVYQmxJRDBnYm1WM0lHTnNZWE56WlhNdVJHVnpZM0pwY0hSdmNpZ3BPMXh5WEc1Y2NseHVJQ0JqYkdGemMyVnpMbE5NUTI5dVptbG5SR1Z6WTNKcGNIUnZjaUE5SUdaMWJtTjBhVzl1S0hOcGVtVXBJSHRjY2x4dUlDQWdJR05zWVhOelpYTXVSR1Z6WTNKcGNIUnZjaTVqWVd4c0tIUm9hWE1zSUZOTVEyOXVabWxuUkdWelkzSlVZV2NzSUhOcGVtVXBPMXh5WEc0Z0lIMDdYSEpjYmlBZ1kyeGhjM05sY3k1VFRFTnZibVpwWjBSbGMyTnlhWEIwYjNJdWNISnZkRzkwZVhCbElEMGdibVYzSUdOc1lYTnpaWE11UkdWelkzSnBjSFJ2Y2lncE8xeHlYRzVjY2x4dUlDQnlaWFIxY200Z2RHaHBjenRjY2x4dWZUdGNjbHh1WEhKY2JtbG1JQ2gwZVhCbGIyWWdaWGh3YjNKMGN5QWhQVDBnWENKMWJtUmxabWx1WldSY0lpa2dlMXh5WEc0Z0lHVjRjRzl5ZEhNdVRWQkZSelJFWlhOamNtbHdkRzl5VUdGeWMyVnlJRDBnVFZCRlJ
16UkVaWE5qY21sd2RHOXlVR0Z5YzJWeU8xeHlYRzU5THk4Z1ptbHNaVHB6Y21NdlltOTRMbXB6WEhKY2JpOHFYSEpjYmlBcUlFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE1pMHlNREV6TGlCVVpXeGxZMjl0SUZCaGNtbHpWR1ZqYUM5VVUwa3ZUVTB2UjFCQlF5QkRlWEpwYkNCRGIyNWpiMnhoZEc5Y2NseHVJQ29nVEdsalpXNXpaVG9nUWxORUxUTXRRMnhoZFhObElDaHpaV1VnVEVsRFJVNVRSU0JtYVd4bEtWeHlYRzRnS2k5Y2NseHVkbUZ5SUVKdmVGQmhjbk5sY2lBOUlIdGNjbHh1SUNCRlVsSmZTVTVXUVV4SlJGOUVRVlJCT2lBdE1TeGNjbHh1SUNCRlVsSmZUazlVWDBWT1QxVkhTRjlFUVZSQk9pQXdMRnh5WEc0Z0lFOUxPaUF4TEZ4eVhHNWNjbHh1SUNBdkx5QkNiM2hsY3lCMGJ5QmlaU0JqY21WaGRHVmtJSGRwZEdnZ1pHVm1ZWFZzZENCd1lYSnphVzVuWEhKY2JpQWdRa0ZUU1VOZlFrOVlSVk02SUZ0Y0ltMWtZWFJjSWl3Z1hDSnBaR0YwWENJc0lGd2labkpsWlZ3aUxDQmNJbk5yYVhCY0lpd2dYQ0p0WldOdlhDSXNJRndpYzNSeWExd2lYU3hjY2x4dUlDQkdWVXhNWDBKUFdFVlRPaUJiWENKb2JXaGtYQ0lzSUZ3aWJtMW9aRndpTENCY0ltbHZaSE5jSWl3Z1hDSjRiV3dnWENJc0lGd2lZbmh0YkZ3aUxDQmNJbWx3Y205Y0lpd2dYQ0p0WlhKbFhDSmRMRnh5WEc0Z0lFTlBUbFJCU1U1RlVsOUNUMWhGVXpvZ1cxeHlYRzRnSUNBZ1cxd2liVzl2ZGx3aUxDQmJYQ0owY21GclhDSXNJRndpY0hOemFGd2lYVjBzWEhKY2JpQWdJQ0JiWENKMGNtRnJYQ0pkTEZ4eVhHNGdJQ0FnVzF3aVpXUjBjMXdpWFN4Y2NseHVJQ0FnSUZ0Y0ltMWthV0ZjSWwwc1hISmNiaUFnSUNCYlhDSnRhVzVtWENKZExGeHlYRzRnSUNBZ1cxd2laR2x1Wmx3aVhTeGNjbHh1SUNBZ0lGdGNJbk4wWW14Y0lpd2dXMXdpYzJkd1pGd2lMQ0JjSW5OaVozQmNJbDFkTEZ4eVhHNGdJQ0FnVzF3aWJYWmxlRndpTENCYlhDSjBjbVY0WENKZFhTeGNjbHh1SUNBZ0lGdGNJbTF2YjJaY0lpd2dXMXdpZEhKaFpsd2lYVjBzWEhKY2JpQWdJQ0JiWENKMGNtRm1YQ0lzSUZ0Y0luUnlkVzVjSWl3Z1hDSnpaM0JrWENJc0lGd2ljMkpuY0Z3aVhWMHNYSEpjYmlBZ0lDQmJYQ0oyZEhSalhDSmRMRnh5WEc0Z0lDQWdXMXdpZEhKbFpsd2lYU3hjY2x4dUlDQWdJRnRjSW1seVpXWmNJbDBzWEhKY2JpQWdJQ0JiWENKdFpuSmhYQ0lzSUZ0Y0luUm1jbUZjSWwxZExGeHlYRzRnSUNBZ1cxd2liV1ZqYjF3aVhTeGNjbHh1SUNBZ0lGdGNJbWh1ZEdsY0lsMHNYSEpjYmlBZ0lDQmJYQ0pvYVc1bVhDSmRMRnh5WEc0Z0lDQWdXMXdpYzNSeWExd2lYU3hjY2x4dUlDQWdJRnRjSW5OMGNtUmNJbDBzWEhKY2JpQWdJQ0JiWENKemFXNW1YQ0pkTEZ4eVhHNGdJQ0FnVzF3aWNtbHVabHdpWFN4Y2NseHVJQ0FnSUZ0Y0luTmphR2xjSWwwc1hISmNiaUFnSUNCYlhDSjBjbWR5WENKZExGeHlYRzRnSUNBZ1cxd2lkV1IwWVZ3aUxDQmJYQ0pyYVc1a1hDSmRYU3hjY2x4dUlDQWdJRnRjSW1sd2NuQmNJaXdnVzF3aWFYQnRZVndpWFYwc1hISmNiaUFnSUNCYlhDSnBjR052WENKZFhISmNiaUFnWFN4Y2NseHVJQ0F2THlCQ2IzaGxjeUJsWm1abFkzUnBkbVZzZVNCamNtVmhkR1ZrWEhKY2JpQWdZbTk0UTI5a1pYTTZJRnRkTEZ4eVhHNGdJR1oxYkd4Q2IzaERiMlJsY3pvZ1cxMHNYSEpjYmlBZ1kyOXVkR0ZwYm1WeVFtOTRRMjlrWlhNNklGdGRMRnh5WEc0Z0lITmhiWEJzWlVWdWRISjVRMjlrWlhNNklIdDlMRnh5WEc0Z0lITmhiWEJzWlVkeWIzVndSVzUwY25sRGIyUmxjem9nVzEwc1hISmNiaUFnZEhKaFkydEhjbTkxY0ZSNWNHVnpPaUJiWFN4Y2NseHVJQ0JWVlVsRVFtOTRaWE02SUh0OUxGeHlYRzRnSUZWVlNVUnpPaUJiWFN4Y2NseHVJQ0JwYm1sMGFXRnNhWHBsT2lCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNBZ0lFSnZlRkJoY25ObGNpNUdkV3hzUW05NExuQnliM1J2ZEhsd1pTQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdVFtOTRLQ2s3WEhKY2JpQWdJQ0JDYjNoUVlYSnpaWEl1UTI5dWRHRnBibVZ5UW05NExuQnliM1J2ZEhsd1pTQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdVFtOTRLQ2s3WEhKY2JpQWdJQ0JDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbElEMGdibVYzSUVKdmVGQmhjbk5sY2k1Q2IzZ29LVHRjY2x4dUlDQWdJRUp2ZUZCaGNuTmxjaTVVY21GamEwZHliM1Z3Vkhsd1pVSnZlQzV3Y205MGIzUjVjR1VnUFNCdVpYY2dRbTk0VUdGeWMyVnlMa1oxYkd4Q2IzZ29LVHRjY2x4dVhISmNiaUFnSUNBdktpQmpjbVZoZEdsdVp5QmpiMjV6ZEhKMVkzUnZjbk1nWm05eUlITnBiWEJzWlNCaWIzaGxjeUFxTDF4eVhHNGdJQ0FnUW05NFVHRnljMlZ5TGtKQlUwbERYMEpQV0VWVExtWnZja1ZoWTJnb1puVnVZM1JwYjI0b2RIbHdaU2tnZTF4eVhHNGdJQ0FnSUNCQ2IzaFFZWEp6WlhJdVkzSmxZWFJsUW05NFEzUnZjaWgwZVhCbEtUdGNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlMa1pWVEV4ZlFrOVlSVk11Wm05eVJXRmphQ2htZFc1amRHbHZiaWgwZVhCbEtTQjdYSEpjYmlBZ0lDQWdJRUp2ZUZCaGNuTmxjaTVqY21WaGRHVkdkV3hzUW05NFEzUnZjaWgwZVhCbEtUdGNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlMa05QVGxSQlNVNUZVbDlDVDFoRlV5NW1iM0pGWVdOb0tHWjFibU4wYVc5dUtIUjVjR1Z6S1NCN1hISmNiaUFnSUNBZ0lFSnZlRkJoY25ObGNpNWpjbVZoZEdWRGIyNTBZV2x1WlhKQ2IzaERkRzl5S0hSNWNHVnpXekJkTENCdWRXeHNMQ0IwZVhCbGMxc3hYU2s3WEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0I5TEZ4eVhHNGdJRUp2ZURvZ1puVnVZM1JwYjI0b1gzUjVjR1VzSUY5emFYcGxMQ0JmZFhWcFpDa2dlMXh5WEc0Z0lDQWdkR2hwY3k1MGVYQmxJRDBnWDNSNWNHVTdYSEpjYmlBZ0lDQjBhR2x6TG5OcGVtVWdQU0JmYzJsNlpUdGNjbHh1SUNBZ0lIUm9hWE11ZFhWcFpDQTlJRjkxZFdsa08xeHlYRzRnSUgwc1hISmNiaUFnUm5Wc2JFSnZlRG9nWm5WdVkzUnBiMjRvZEhsd1pTd2djMmw2WlN3Z2RYVnBaQ2tnZTF4eVhHNGdJQ0FnUW05NFVHRnljMlZ5TGtKdmVDNWpZV3hzS0hSb2FYTXNJSFI1Y0dVc0lITnBlbVVzSUhWMWFXUXBPMXh5WEc0Z0lDQWdkR2hwY3k1bWJHRm5jeUE5SURBN1hISmNiaUFnSUNCMGFHbHpMblpsY25OcGIyNGdQU0F3TzF4eVhHNGdJSDBzWEhKY2JpQWdRMjl1ZEdGcGJtVnlRbTk0T2lCbWRXNWpkR2x2YmloMGVYQmxMQ0J6YVhwbExDQjFkV2xrS1NCN1hISmNiaUFnSUNCQ2IzaFFZWEp6WlhJdVFtOTRMbU5oYkd3b2RHaHBjeXdnZEhsd1pTd2djMmw2WlN3Z2RYVnBaQ2s3WEhKY2JpQWdJQ0IwYUdsekxtSnZlR1Z6SUQwZ1cxMDdYSEpjYmlBZ2ZTeGNjbHh1SUNCVFlXMXdiR1ZGYm5SeWVUb2dablZ1WTNScGIyNG9kSGx3WlN3Z2MybDZaU3dnYUdSeVgzTnBlbVVzSUhOMFlYSjBLU0I3WEhKY2JpQWdJQ0JDYjNoUVlYSnpaWEl1UTI5dWRHRnBibVZ5UW05NExtTmhiR3dvZEdocGN5d2dkSGx3WlN3Z2MybDZaU2s3WEhKY2JpQWdJQ0IwYUdsekxtaGtjbDl6YVhwbElEMGdhR1J5WDNOcGVtVTdYSEpjYmlBZ0lDQjBhR2x6TG5OMFlYSjBJRDBnYzNSaGNuUTdYSEpjYmlBZ2ZTeGNjbHh1SUNCVFlXMXdiR1ZIY205MWNFVnVkSEo1T2lCbWRXNWpkR2x2YmloMGVYQmxLU0I3WEhKY2JpQWdJQ0IwYUdsekxtZHliM1Z3YVc1blgzUjVjR1VnUFNCMGVYQmxPMXh5WEc0Z0lIMHNY
1SEpjYmlBZ1ZISmhZMnRIY205MWNGUjVjR1ZDYjNnNklHWjFibU4wYVc5dUtIUjVjR1VzSUhOcGVtVXBJSHRjY2x4dUlDQWdJRUp2ZUZCaGNuTmxjaTVHZFd4c1FtOTRMbU5oYkd3b2RHaHBjeXdnZEhsd1pTd2djMmw2WlNrN1hISmNiaUFnZlN4Y2NseHVJQ0JqY21WaGRHVkNiM2hEZEc5eU9pQm1kVzVqZEdsdmJpaDBlWEJsTENCd1lYSnpaVTFsZEdodlpDa2dlMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlMbUp2ZUVOdlpHVnpMbkIxYzJnb2RIbHdaU2s3WEhKY2JpQWdJQ0JDYjNoUVlYSnpaWEpiZEhsd1pTQXJJRndpUW05NFhDSmRJRDBnWm5WdVkzUnBiMjRvYzJsNlpTa2dlMXh5WEc0Z0lDQWdJQ0JDYjNoUVlYSnpaWEl1UW05NExtTmhiR3dvZEdocGN5d2dkSGx3WlN3Z2MybDZaU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUW05NFVHRnljMlZ5VzNSNWNHVWdLeUJjSWtKdmVGd2lYUzV3Y205MGIzUjVjR1VnUFNCdVpYY2dRbTk0VUdGeWMyVnlMa0p2ZUNncE8xeHlYRzRnSUNBZ2FXWWdLSEJoY25ObFRXVjBhRzlrS1NCQ2IzaFFZWEp6WlhKYmRIbHdaU0FySUZ3aVFtOTRYQ0pkTG5CeWIzUnZkSGx3WlM1d1lYSnpaU0E5SUhCaGNuTmxUV1YwYUc5a08xeHlYRzRnSUgwc1hISmNiaUFnWTNKbFlYUmxSblZzYkVKdmVFTjBiM0k2SUdaMWJtTjBhVzl1S0hSNWNHVXNJSEJoY25ObFRXVjBhRzlrS1NCN1hISmNiaUFnSUNBdkwwSnZlRkJoY25ObGNpNW1kV3hzUW05NFEyOWtaWE11Y0hWemFDaDBlWEJsS1R0Y2NseHVJQ0FnSUVKdmVGQmhjbk5sY2x0MGVYQmxJQ3NnWENKQ2IzaGNJbDBnUFNCbWRXNWpkR2x2YmloemFYcGxLU0I3WEhKY2JpQWdJQ0FnSUVKdmVGQmhjbk5sY2k1R2RXeHNRbTk0TG1OaGJHd29kR2hwY3l3Z2RIbHdaU3dnYzJsNlpTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlXM1I1Y0dVZ0t5QmNJa0p2ZUZ3aVhTNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1FtOTRVR0Z5YzJWeUxrWjFiR3hDYjNnb0tUdGNjbHh1SUNBZ0lFSnZlRkJoY25ObGNsdDBlWEJsSUNzZ1hDSkNiM2hjSWwwdWNISnZkRzkwZVhCbExuQmhjbk5sSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11Y0dGeWMyVkdkV3hzU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ0lDQWdJR2xtSUNod1lYSnpaVTFsZEdodlpDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhCaGNuTmxUV1YwYUc5a0xtTmhiR3dvZEdocGN5d2djM1J5WldGdEtUdGNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVHRjY2x4dUlDQjlMRnh5WEc0Z0lHRmtaRk4xWWtKdmVFRnljbUY1Y3pvZ1puVnVZM1JwYjI0b2MzVmlRbTk0VG1GdFpYTXBJSHRjY2x4dUlDQWdJR2xtSUNoemRXSkNiM2hPWVcxbGN5a2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxuTjFZa0p2ZUU1aGJXVnpJRDBnYzNWaVFtOTRUbUZ0WlhNN1hISmNiaUFnSUNBZ0lIWmhjaUJ1WWxOMVlrSnZlR1Z6SUQwZ2MzVmlRbTk0VG1GdFpYTXViR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnJJRDBnTURzZ2F5QThJRzVpVTNWaVFtOTRaWE03SUdzckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTmJjM1ZpUW05NFRtRnRaWE5iYTEwZ0t5QmNJbk5jSWwwZ1BTQmJYVHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJSDBzWEhKY2JpQWdZM0psWVhSbFEyOXVkR0ZwYm1WeVFtOTRRM1J2Y2pvZ1puVnVZM1JwYjI0b2RIbHdaU3dnY0dGeWMyVk5aWFJvYjJRc0lITjFZa0p2ZUU1aGJXVnpLU0I3WEhKY2JpQWdJQ0F2TDBKdmVGQmhjbk5sY2k1amIyNTBZV2x1WlhKQ2IzaERiMlJsY3k1d2RYTm9LSFI1Y0dVcE8xeHlYRzRnSUNBZ1FtOTRVR0Z5YzJWeVczUjVjR1VnS3lCY0lrSnZlRndpWFNBOUlHWjFibU4wYVc5dUtITnBlbVVwSUh0Y2NseHVJQ0FnSUNBZ1FtOTRVR0Z5YzJWeUxrTnZiblJoYVc1bGNrSnZlQzVqWVd4c0tIUm9hWE1zSUhSNWNHVXNJSE5wZW1VcE8xeHlYRzRnSUNBZ0lDQkNiM2hRWVhKelpYSXVZV1JrVTNWaVFtOTRRWEp5WVhsekxtTmhiR3dvZEdocGN5d2djM1ZpUW05NFRtRnRaWE1wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUVKdmVGQmhjbk5sY2x0MGVYQmxJQ3NnWENKQ2IzaGNJbDB1Y0hKdmRHOTBlWEJsSUQwZ2JtVjNJRUp2ZUZCaGNuTmxjaTVEYjI1MFlXbHVaWEpDYjNnb0tUdGNjbHh1SUNBZ0lHbG1JQ2h3WVhKelpVMWxkR2h2WkNrZ1FtOTRVR0Z5YzJWeVczUjVjR1VnS3lCY0lrSnZlRndpWFM1d2NtOTBiM1I1Y0dVdWNHRnljMlVnUFNCd1lYSnpaVTFsZEdodlpEdGNjbHh1SUNCOUxGeHlYRzRnSUdOeVpXRjBaVTFsWkdsaFUyRnRjR3hsUlc1MGNubERkRzl5T2lCbWRXNWpkR2x2YmlodFpXUnBZVlI1Y0dVc0lIQmhjbk5sVFdWMGFHOWtMQ0J6ZFdKQ2IzaE9ZVzFsY3lrZ2UxeHlYRzRnSUNBZ1FtOTRVR0Z5YzJWeUxuTmhiWEJzWlVWdWRISjVRMjlrWlhOYmJXVmthV0ZVZVhCbFhTQTlJRnRkTzF4eVhHNGdJQ0FnUW05NFVHRnljMlZ5VzIxbFpHbGhWSGx3WlNBcklGd2lVMkZ0Y0d4bFJXNTBjbmxjSWwwZ1BTQm1kVzVqZEdsdmJpaDBlWEJsTENCemFYcGxLU0I3WEhKY2JpQWdJQ0FnSUVKdmVGQmhjbk5sY2k1VFlXMXdiR1ZGYm5SeWVTNWpZV3hzS0hSb2FYTXNJSFI1Y0dVc0lITnBlbVVwTzF4eVhHNGdJQ0FnSUNCQ2IzaFFZWEp6WlhJdVlXUmtVM1ZpUW05NFFYSnlZWGx6TG1OaGJHd29kR2hwY3l3Z2MzVmlRbTk0VG1GdFpYTXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUp2ZUZCaGNuTmxjbHR0WldScFlWUjVjR1VnS3lCY0lsTmhiWEJzWlVWdWRISjVYQ0pkTG5CeWIzUnZkSGx3WlNBOUlHNWxkeUJDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rb0tUdGNjbHh1SUNBZ0lHbG1JQ2h3WVhKelpVMWxkR2h2WkNrZ1FtOTRVR0Z5YzJWeVcyMWxaR2xoVkhsd1pTQXJJRndpVTJGdGNHeGxSVzUwY25sY0lsMHVjSEp2ZEc5MGVYQmxMbkJoY25ObElEMGdjR0Z5YzJWTlpYUm9iMlE3WEhKY2JpQWdmU3hjY2x4dUlDQmpjbVZoZEdWVFlXMXdiR1ZGYm5SeWVVTjBiM0k2SUdaMWJtTjBhVzl1S0cxbFpHbGhWSGx3WlN3Z2RIbHdaU3dnY0dGeWMyVk5aWFJvYjJRc0lITjFZa0p2ZUU1aGJXVnpLU0I3WEhKY2JpQWdJQ0JDYjNoUVlYSnpaWEl1YzJGdGNHeGxSVzUwY25sRGIyUmxjMXR0WldScFlWUjVjR1ZkTG5CMWMyZ29kSGx3WlNrN1hISmNiaUFnSUNCQ2IzaFFZWEp6WlhKYmRIbHdaU0FySUZ3aVUyRnRjR3hsUlc1MGNubGNJbDBnUFNCbWRXNWpkR2x2YmloemFYcGxLU0I3WEhKY2JpQWdJQ0FnSUVKdmVGQmhjbk5sY2x0dFpXUnBZVlI1Y0dVZ0t5QmNJbE5oYlhCc1pVVnVkSEo1WENKZExtTmhiR3dvZEdocGN5d2dkSGx3WlN3Z2MybDZaU2s3WEhKY2JpQWdJQ0FnSUVKdmVGQmhjbk5sY2k1aFpHUlRkV0pDYjNoQmNuSmhlWE11WTJGc2JDaDBhR2x6TENCemRXSkNiM2hPWVcxbGN5azdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlXM1I1Y0dVZ0t5QmNJbE5oYlhCc1pVVnVkSEo1WENKZExuQnliM1J2ZEhsd1pTQTlJRzVsZHlCQ2IzaFFZWEp6WlhKYmJXVmthV0ZVZVhCbElDc2dYQ0pUWVcxd2JHVkZiblJ5ZVZ3aVhTZ3BPMXh5WEc0Z0lDQWdhV1lnS0hCaGNuTmxUV1YwYUc5a0tTQkNiM2hRWVhKelpYSmJkSGx3WlNBcklGd2lVMkZ0Y0d4bFJXNTBjbmxjSWwwdWNISnZkRzkwZVhCbExuQmhjbk5sSUQwZ2NHRnljMlZOWlhSb2IyUTdYSEpjYmlBZ2ZTeGNjbHh1SUNCamNtVmhkR1ZGYm1OeWVYQjBaV1JUWVcxd2JHVkZiblJ5ZVVOMGIzSTZJR1oxYm1OMGFXOXVLRzFsWkdsaFZIbHdaU3dnZEhsd1pTd2djR0Z5YzJWTlpYUm9iMlFwSUh0Y2NseHVJQ0FnSUVKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkZiblJ5ZVVOMGIzSXVZMkZzYkNoMGFHbHpMQ0J0WldScFlWUjVjR1VzSUhSNWNHVXNJSEJoY25ObFRXVjBhRzlrTENCYlhDSnphVzVtWENKZEtUdGNjbHh1SUNCOUxGeHlYRzRnSUdOeVpXRjBaVk5oYlhCc1pVZHliM1
1Z3UTNSdmNqb2dablZ1WTNScGIyNG9kSGx3WlN3Z2NHRnljMlZOWlhSb2IyUXBJSHRjY2x4dUlDQWdJQzh2UW05NFVHRnljMlZ5TG5OaGJYQnNaVWR5YjNWd1JXNTBjbmxEYjJSbGN5NXdkWE5vS0hSNWNHVXBPMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlXM1I1Y0dVZ0t5QmNJbE5oYlhCc1pVZHliM1Z3Ulc1MGNubGNJbDBnUFNCbWRXNWpkR2x2YmloemFYcGxLU0I3WEhKY2JpQWdJQ0FnSUVKdmVGQmhjbk5sY2k1VFlXMXdiR1ZIY205MWNFVnVkSEo1TG1OaGJHd29kR2hwY3l3Z2RIbHdaU3dnYzJsNlpTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlXM1I1Y0dVZ0t5QmNJbE5oYlhCc1pVZHliM1Z3Ulc1MGNubGNJbDB1Y0hKdmRHOTBlWEJsSUQwZ2JtVjNJRUp2ZUZCaGNuTmxjaTVUWVcxd2JHVkhjbTkxY0VWdWRISjVLQ2s3WEhKY2JpQWdJQ0JwWmlBb2NHRnljMlZOWlhSb2IyUXBJRUp2ZUZCaGNuTmxjbHQwZVhCbElDc2dYQ0pUWVcxd2JHVkhjbTkxY0VWdWRISjVYQ0pkTG5CeWIzUnZkSGx3WlM1d1lYSnpaU0E5SUhCaGNuTmxUV1YwYUc5a08xeHlYRzRnSUgwc1hISmNiaUFnWTNKbFlYUmxWSEpoWTJ0SGNtOTFjRU4wYjNJNklHWjFibU4wYVc5dUtIUjVjR1VzSUhCaGNuTmxUV1YwYUc5a0tTQjdYSEpjYmlBZ0lDQXZMMEp2ZUZCaGNuTmxjaTUwY21GamEwZHliM1Z3Vkhsd1pYTXVjSFZ6YUNoMGVYQmxLVHRjY2x4dUlDQWdJRUp2ZUZCaGNuTmxjbHQwZVhCbElDc2dYQ0pVY21GamEwZHliM1Z3Vkhsd1pVSnZlRndpWFNBOUlHWjFibU4wYVc5dUtITnBlbVVwSUh0Y2NseHVJQ0FnSUNBZ1FtOTRVR0Z5YzJWeUxsUnlZV05yUjNKdmRYQlVlWEJsUW05NExtTmhiR3dvZEdocGN5d2dkSGx3WlN3Z2MybDZaU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUW05NFVHRnljMlZ5VzNSNWNHVWdLeUJjSWxSeVlXTnJSM0p2ZFhCVWVYQmxRbTk0WENKZExuQnliM1J2ZEhsd1pTQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdVZISmhZMnRIY205MWNGUjVjR1ZDYjNnb0tUdGNjbHh1SUNBZ0lHbG1JQ2h3WVhKelpVMWxkR2h2WkNrZ1FtOTRVR0Z5YzJWeVczUjVjR1VnS3lCY0lsUnlZV05yUjNKdmRYQlVlWEJsUW05NFhDSmRMbkJ5YjNSdmRIbHdaUzV3WVhKelpTQTlJSEJoY25ObFRXVjBhRzlrTzF4eVhHNGdJSDBzWEhKY2JpQWdZM0psWVhSbFZWVkpSRUp2ZURvZ1puVnVZM1JwYjI0b2RYVnBaQ3dnYVhOR2RXeHNRbTk0TENCcGMwTnZiblJoYVc1bGNrSnZlQ3dnY0dGeWMyVk5aWFJvYjJRcElIdGNjbHh1SUNBZ0lFSnZlRkJoY25ObGNpNVZWVWxFY3k1d2RYTm9LSFYxYVdRcE8xeHlYRzRnSUNBZ1FtOTRVR0Z5YzJWeUxsVlZTVVJDYjNobGMxdDFkV2xrWFNBOUlHWjFibU4wYVc5dUtITnBlbVVwSUh0Y2NseHVJQ0FnSUNBZ2FXWWdLR2x6Um5Wc2JFSnZlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lFSnZlRkJoY25ObGNpNUdkV3hzUW05NExtTmhiR3dvZEdocGN5d2dYQ0oxZFdsa1hDSXNJSE5wZW1Vc0lIVjFhV1FwTzF4eVhHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzBOdmJuUmhhVzVsY2tKdmVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ1FtOTRVR0Z5YzJWeUxrTnZiblJoYVc1bGNrSnZlQzVqWVd4c0tIUm9hWE1zSUZ3aWRYVnBaRndpTENCemFYcGxMQ0IxZFdsa0tUdGNjbHh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ1FtOTRVR0Z5YzJWeUxrSnZlQzVqWVd4c0tIUm9hWE1zSUZ3aWRYVnBaRndpTENCemFYcGxMQ0IxZFdsa0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ2IzaFFZWEp6WlhJdVZWVkpSRUp2ZUdWelczVjFhV1JkTG5CeWIzUnZkSGx3WlNBOUlDaHBjMFoxYkd4Q2IzZ2dQeUJ1WlhjZ1FtOTRVR0Z5YzJWeUxrWjFiR3hDYjNnb0tTQTZJQ2hwYzBOdmJuUmhhVzVsY2tKdmVDQS9JRzVsZHlCQ2IzaFFZWEp6WlhJdVEyOXVkR0ZwYm1WeVFtOTRLQ2tnT2lCdVpYY2dRbTk0VUdGeWMyVnlMa0p2ZUNncEtTazdYSEpjYmlBZ0lDQnBaaUFvY0dGeWMyVk5aWFJvYjJRcElIdGNjbHh1SUNBZ0lDQWdhV1lnS0dselJuVnNiRUp2ZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJRUp2ZUZCaGNuTmxjaTVWVlVsRVFtOTRaWE5iZFhWcFpGMHVjSEp2ZEc5MGVYQmxMbkJoY25ObElEMGdablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbkJoY25ObFJuVnNiRWhsWVdSbGNpaHpkSEpsWVcwcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIQmhjbk5sVFdWMGFHOWtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEJoY25ObFRXVjBhRzlrTG1OaGJHd29kR2hwY3l3Z2MzUnlaV0Z0S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCOU8xeHlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJRUp2ZUZCaGNuTmxjaTVWVlVsRVFtOTRaWE5iZFhWcFpGMHVjSEp2ZEc5MGVYQmxMbkJoY25ObElEMGdjR0Z5YzJWTlpYUm9iMlE3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVhVzVwZEdsaGJHbDZaU2dwTzF4eVhHNWNjbHh1UW05NFVHRnljMlZ5TGxSTFNFUmZSa3hCUjE5RlRrRkNURVZFSUQwZ01IZ3dNREF3TURFN1hISmNia0p2ZUZCaGNuTmxjaTVVUzBoRVgwWk1RVWRmU1U1ZlRVOVdTVVVnUFNBd2VEQXdNREF3TWp0Y2NseHVRbTk0VUdGeWMyVnlMbFJMU0VSZlJreEJSMTlKVGw5UVVrVldTVVZYSUQwZ01IZ3dNREF3TURRN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVZFWklSRjlHVEVGSFgwSkJVMFZmUkVGVVFWOVBSa1pUUlZRZ1BTQXdlREF4TzF4eVhHNUNiM2hRWVhKelpYSXVWRVpJUkY5R1RFRkhYMU5CVFZCTVJWOUVSVk5ESUQwZ01IZ3dNanRjY2x4dVFtOTRVR0Z5YzJWeUxsUkdTRVJmUmt4QlIxOVRRVTFRVEVWZlJGVlNJRDBnTUhnd09EdGNjbHh1UW05NFVHRnljMlZ5TGxSR1NFUmZSa3hCUjE5VFFVMVFURVZmVTBsYVJTQTlJREI0TVRBN1hISmNia0p2ZUZCaGNuTmxjaTVVUmtoRVgwWk1RVWRmVTBGTlVFeEZYMFpNUVVkVElEMGdNSGd5TUR0Y2NseHVRbTk0VUdGeWMyVnlMbFJHU0VSZlJreEJSMTlFVlZKZlJVMVFWRmtnUFNBd2VERXdNREF3TzF4eVhHNUNiM2hRWVhKelpYSXVWRVpJUkY5R1RFRkhYMFJGUmtGVlRGUmZRa0ZUUlY5SlUxOU5UMDlHSUQwZ01IZ3lNREF3TUR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1VVVsVk9YMFpNUVVkVFgwUkJWRUZmVDBaR1UwVlVJRDBnTUhnd01UdGNjbHh1UW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJrbFNVMVJmUmt4QlJ5QTlJREI0TURRN1hISmNia0p2ZUZCaGNuTmxjaTVVVWxWT1gwWk1RVWRUWDBSVlVrRlVTVTlPSUQwZ01IZ3hNREE3WEhKY2JrSnZlRkJoY25ObGNpNVVVbFZPWDBaTVFVZFRYMU5KV2tVZ1BTQXdlREl3TUR0Y2NseHVRbTk0VUdGeWMyVnlMbFJTVlU1ZlJreEJSMU5mUmt4QlIxTWdQU0
1F3ZURRd01EdGNjbHh1UW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlExUlRYMDlHUmxORlZDQTlJREI0T0RBd08xeHlYRzVjY2x4dVFtOTRVR0Z5YzJWeUxrSnZlQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNG9ibUZ0WlNrZ2UxeHlYRzRnSUhKbGRIVnliaUIwYUdsekxtRmtaRUp2ZUNodVpYY2dRbTk0VUdGeWMyVnlXMjVoYldVZ0t5QmNJa0p2ZUZ3aVhTZ3BLVHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNUNiM2d1Y0hKdmRHOTBlWEJsTG1Ga1pFSnZlQ0E5SUdaMWJtTjBhVzl1S0dKdmVDa2dlMXh5WEc0Z0lIUm9hWE11WW05NFpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lHbG1JQ2gwYUdselcySnZlQzUwZVhCbElDc2dYQ0p6WENKZEtTQjdYSEpjYmlBZ0lDQjBhR2x6VzJKdmVDNTBlWEJsSUNzZ1hDSnpYQ0pkTG5CMWMyZ29ZbTk0S1R0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdkR2hwYzF0aWIzZ3VkSGx3WlYwZ1BTQmliM2c3WEhKY2JpQWdmVnh5WEc0Z0lISmxkSFZ5YmlCaWIzZzdYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVFtOTRMbkJ5YjNSdmRIbHdaUzV6WlhRZ1BTQm1kVzVqZEdsdmJpaHdjbTl3TENCMllXeDFaU2tnZTF4eVhHNGdJSFJvYVhOYmNISnZjRjBnUFNCMllXeDFaVHRjY2x4dUlDQnlaWFIxY200Z2RHaHBjenRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNUNiM2d1Y0hKdmRHOTBlWEJsTG1Ga1pFVnVkSEo1SUQwZ1puVnVZM1JwYjI0b2RtRnNkV1VzSUY5d2NtOXdLU0I3WEhKY2JpQWdkbUZ5SUhCeWIzQWdQU0JmY0hKdmNDQjhmQ0JjSW1WdWRISnBaWE5jSWp0Y2NseHVJQ0JwWmlBb0lYUm9hWE5iY0hKdmNGMHBJSHRjY2x4dUlDQWdJSFJvYVhOYmNISnZjRjBnUFNCYlhUdGNjbHh1SUNCOVhISmNiaUFnZEdocGMxdHdjbTl3WFM1d2RYTm9LSFpoYkhWbEtUdGNjbHh1SUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1ZlR0Y2NseHVYSEpjYm1sbUlDaDBlWEJsYjJZZ1pYaHdiM0owY3lBaFBUMGdYQ0oxYm1SbFptbHVaV1JjSWlrZ2UxeHlYRzRnSUdWNGNHOXlkSE11UW05NFVHRnljMlZ5SUQwZ1FtOTRVR0Z5YzJWeU8xeHlYRzU5WEhKY2JpOHZJR1pwYkdVNmMzSmpMMkp2ZUMxd1lYSnpaUzVxYzF4eVhHNHZLbHh5WEc0Z0tpQkRiM0I1Y21sbmFIUWdLR01wSUZSbGJHVmpiMjBnVUdGeWFYTlVaV05vTDFSVFNTOU5UUzlIVUVGRElFTjVjbWxzSUVOdmJtTnZiR0YwYjF4eVhHNGdLaUJNYVdObGJuTmxPaUJDVTBRdE15MURiR0YxYzJVZ0tITmxaU0JNU1VORlRsTkZJR1pwYkdVcFhISmNiaUFxTDF4eVhHNUNiM2hRWVhKelpYSXVjR0Z5YzJWVlZVbEVJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdjbVYwZFhKdUlFSnZlRkJoY25ObGNpNXdZWEp6WlVobGVERTJLSE4wY21WaGJTazdYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdWNHRnljMlZJWlhneE5pQTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIWmhjaUJvWlhneE5pQTlJRndpWENJN1hISmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNCMllYSWdhR1Y0SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncExuUnZVM1J5YVc1bktERTJLVHRjY2x4dUlDQWdJR2hsZURFMklDczlJQ2hvWlhndWJHVnVaM1JvSUQwOVBTQXhJRDhnWENJd1hDSWdLeUJvWlhnZ09pQm9aWGdwTzF4eVhHNGdJSDFjY2x4dUlDQnlaWFIxY200Z2FHVjRNVFk3WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVjR0Z5YzJWUGJtVkNiM2dnUFNCbWRXNWpkR2x2YmloemRISmxZVzBzSUdobFlXUmxjazl1Ykhrc0lIQmhjbVZ1ZEZOcGVtVXBJSHRjY2x4dUlDQjJZWElnWW05NE8xeHlYRzRnSUhaaGNpQnpkR0Z5ZENBOUlITjBjbVZoYlM1blpYUlFiM05wZEdsdmJpZ3BPMXh5WEc0Z0lIWmhjaUJvWkhKZmMybDZaU0E5SURBN1hISmNiaUFnZG1GeUlHUnBabVk3WEhKY2JpQWdkbUZ5SUhWMWFXUTdYSEpjYmlBZ2FXWWdLSE4wY21WaGJTNW5aWFJGYm1SUWIzTnBkR2x2YmlncElDMGdjM1JoY25RZ1BDQTRLU0I3WEhKY2JpQWdJQ0JNYjJjdVpHVmlkV2NvWENKQ2IzaFFZWEp6WlhKY0lpd2dYQ0pPYjNRZ1pXNXZkV2RvSUdSaGRHRWdhVzRnYzNSeVpXRnRJSFJ2SUhCaGNuTmxJSFJvWlNCMGVYQmxJR0Z1WkNCemFYcGxJRzltSUhSb1pTQmliM2hjSWlrN1hISmNiaUFnSUNCeVpYUjFjbTRnZXlCamIyUmxPaUJDYjNoUVlYSnpaWEl1UlZKU1gwNVBWRjlGVGs5VlIwaGZSRUZVUVNCOU8xeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2NHRnlaVzUwVTJsNlpTQW1KaUJ3WVhKbGJuUlRhWHBsSUR3Z09Da2dlMXh5WEc0Z0lDQWdURzluTG1SbFluVm5LRndpUW05NFVHRnljMlZ5WENJc0lGd2lUbTkwSUdWdWIzVm5hQ0JpZVhSbGN5QnNaV1owSUdsdUlIUm9aU0J3WVhKbGJuUWdZbTk0SUhSdklIQmhjbk5sSUdFZ2JtVjNJR0p2ZUZ3aUtUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCN0lHTnZaR1U2SUVKdmVGQmhjbk5sY2k1RlVsSmZUazlVWDBWT1QxVkhTRjlFUVZSQklIMDdYSEpjYmlBZ2ZWeHlYRzRnSUhaaGNpQnphWHBsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMllYSWdkSGx3WlNBOUlITjBjbVZoYlM1eVpXRmtVM1J5YVc1bktEUXBPMXh5WEc0Z0lIWmhjaUJpYjNoZmRIbHdaU0E5SUhSNWNHVTdYSEpjYmlBZ1RHOW5MbVJsWW5WbktGd2lRbTk0VUdGeWMyVnlYQ0lzSUZ3aVJtOTFibVFnWW05NElHOW1JSFI1Y0dVZ0oxd2lJQ3NnZEhsd1pTQXJJRndpSnlCaGJtUWdjMmw2WlNCY0lpQXJJSE5wZW1VZ0t5QmNJaUJoZENCd2IzTnBkR2x2YmlCY0lpQXJJSE4wWVhKMEtUdGNjbHh1SUNCb1pISmZjMmw2WlNBOUlEZzdYSEpjYmlBZ2FXWWdLSFI1Y0dVZ1BUMGdYQ0oxZFdsa1hDSXBJSHRjY2x4dUlDQWdJR2xtSUNnb2MzUnlaV0Z0TG1kbGRFVnVaRkJ2YzJsMGFXOXVLQ2tnTFNCemRISmxZVzB1WjJWMFVHOXphWFJwYjI0b0tTQThJREUyS1NCOGZDQW9jR0Z5Wlc1MFUybDZaU0F0SUdoa2NsOXphWHBsSUR3Z01UWXBLU0I3WEhKY2JpQWdJQ0FnSUhOMGNtVmhiUzV6WldWcktITjBZWEowS1R0Y2NseHVJQ0FnSUNBZ1RHOW5MbVJsWW5WbktGd2lRbTk0VUdGeWMyVnlYQ0lzSUZ3aVRtOTBJR1Z1YjNWbmFDQmllWFJsY3lCc1pXWjBJR2x1SUhSb1pTQndZWEpsYm5RZ1ltOTRJSFJ2SUhCaGNuTmxJR0VnVlZWSlJDQmliM2hjSWlrN1hISmNiaUFnSUNBZ0lISmxkSFZ5YmlCN0lHTnZaR1U2SUVKdmVGQmhjbk5sY2k1RlVsSmZUazlVWDBWT1QxVkhTRjlFUVZSQklIMDdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQjFkV2xrSUQwZ1FtOTRVR0Z5YzJWeUxuQmhjbk5sVlZWSlJDaHpkSEpsWVcwcE8xeHlYRzRnSUNBZ2FHUnlYM05wZW1V
1Z0t6MGdNVFk3WEhKY2JpQWdJQ0JpYjNoZmRIbHdaU0E5SUhWMWFXUTdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaHphWHBsSUQwOUlERXBJSHRjY2x4dUlDQWdJR2xtSUNnb2MzUnlaV0Z0TG1kbGRFVnVaRkJ2YzJsMGFXOXVLQ2tnTFNCemRISmxZVzB1WjJWMFVHOXphWFJwYjI0b0tTQThJRGdwSUh4OElDaHdZWEpsYm5SVGFYcGxJQ1ltSUNod1lYSmxiblJUYVhwbElDMGdhR1J5WDNOcGVtVXBJRHdnT0NrcElIdGNjbHh1SUNBZ0lDQWdjM1J5WldGdExuTmxaV3NvYzNSaGNuUXBPMXh5WEc0Z0lDQWdJQ0JNYjJjdWQyRnliaWhjSWtKdmVGQmhjbk5sY2x3aUxDQmNJazV2ZENCbGJtOTFaMmdnWkdGMFlTQnBiaUJ6ZEhKbFlXMGdkRzhnY0dGeWMyVWdkR2hsSUdWNGRHVnVaR1ZrSUhOcGVtVWdiMllnZEdobElGeGNYQ0pjSWlBcklIUjVjR1VnS3lCY0lseGNYQ0lnWW05NFhDSXBPMXh5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdleUJqYjJSbE9pQkNiM2hRWVhKelpYSXVSVkpTWDA1UFZGOUZUazlWUjBoZlJFRlVRU0I5TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnYzJsNlpTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREWTBLQ2s3WEhKY2JpQWdJQ0JvWkhKZmMybDZaU0FyUFNBNE8xeHlYRzRnSUgwZ1pXeHpaU0JwWmlBb2MybDZaU0E5UFQwZ01Da2dlMXh5WEc0Z0lDQWdMeW9nWW05NElHVjRkR1Z1WkhNZ2RHbHNiQ0IwYUdVZ1pXNWtJRzltSUdacGJHVWdiM0lnYVc1MllXeHBaQ0JtYVd4bElDb3ZYSEpjYmlBZ0lDQnBaaUFvY0dGeVpXNTBVMmw2WlNrZ2UxeHlYRzRnSUNBZ0lDQnphWHBsSUQwZ2NHRnlaVzUwVTJsNlpUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDOHFJR0p2ZUNCbGVIUmxibVJ6SUhScGJHd2dkR2hsSUdWdVpDQnZaaUJtYVd4bElDb3ZYSEpjYmlBZ0lDQWdJR2xtSUNoMGVYQmxJQ0U5UFNCY0ltMWtZWFJjSWlrZ2UxeHlYRzRnSUNBZ0lDQWdJRXh2Wnk1bGNuSnZjaWhjSWtKdmVGQmhjbk5sY2x3aUxDQmNJbFZ1YkdsdGFYUmxaQ0JpYjNnZ2MybDZaU0J1YjNRZ2MzVndjRzl5ZEdWa0lHWnZjaUIwZVhCbE9pQW5YQ0lnS3lCMGVYQmxJQ3NnWENJblhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUdKdmVDQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdVFtOTRLSFI1Y0dVc0lITnBlbVVwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lHTnZaR1U2SUVKdmVGQmhjbk5sY2k1UFN5d2dZbTk0T2lCaWIzZ3NJSE5wZW1VNklHSnZlQzV6YVhwbElIMDdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmlBZ2FXWWdLSE5wZW1VZ0lUMDlJREFnSmlZZ2MybDZaU0E4SUdoa2NsOXphWHBsS1NCN1hISmNiaUFnSUNCTWIyY3VaWEp5YjNJb1hDSkNiM2hRWVhKelpYSmNJaXdnWENKQ2IzZ2diMllnZEhsd1pTQmNJaUFySUhSNWNHVWdLeUJjSWlCb1lYTWdZVzRnYVc1MllXeHBaQ0J6YVhwbElGd2lJQ3NnYzJsNlpTQXJJRndpSUNoMGIyOGdjMjFoYkd3Z2RHOGdZbVVnWVNCaWIzZ3BYQ0lwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSHNnWTI5a1pUb2dRbTk0VUdGeWMyVnlMa1ZTVWw5T1QxUmZSVTVQVlVkSVgwUkJWRUVzSUhSNWNHVTZJSFI1Y0dVc0lITnBlbVU2SUhOcGVtVXNJR2hrY2w5emFYcGxPaUJvWkhKZmMybDZaU3dnYzNSaGNuUTZJSE4wWVhKMElIMDdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaHphWHBsSUNFOVBTQXdJQ1ltSUhCaGNtVnVkRk5wZW1VZ0ppWWdjMmw2WlNBK0lIQmhjbVZ1ZEZOcGVtVXBJSHRjY2x4dUlDQWdJRXh2Wnk1bGNuSnZjaWhjSWtKdmVGQmhjbk5sY2x3aUxDQmNJa0p2ZUNCdlppQjBlWEJsSUNkY0lpQXJJSFI1Y0dVZ0t5QmNJaWNnYUdGeklHRWdjMmw2WlNCY0lpQXJJSE5wZW1VZ0t5QmNJaUJuY21WaGRHVnlJSFJvWVc0Z2FYUnpJR052Ym5SaGFXNWxjaUJ6YVhwbElGd2lJQ3NnY0dGeVpXNTBVMmw2WlNrN1hISmNiaUFnSUNCeVpYUjFjbTRnZXlCamIyUmxPaUJDYjNoUVlYSnpaWEl1UlZKU1gwNVBWRjlGVGs5VlIwaGZSRUZVUVN3Z2RIbHdaVG9nZEhsd1pTd2djMmw2WlRvZ2MybDZaU3dnYUdSeVgzTnBlbVU2SUdoa2NsOXphWHBsTENCemRHRnlkRG9nYzNSaGNuUWdmVHRjY2x4dUlDQjlYSEpjYmlBZ2FXWWdLSE5wZW1VZ0lUMDlJREFnSmlZZ2MzUmhjblFnS3lCemFYcGxJRDRnYzNSeVpXRnRMbWRsZEVWdVpGQn
1ZjMmwwYVc5dUtDa3BJSHRjY2x4dUlDQWdJSE4wY21WaGJTNXpaV1ZyS0hOMFlYSjBLVHRjY2x4dUlDQWdJRXh2Wnk1cGJtWnZLRndpUW05NFVHRnljMlZ5WENJc0lGd2lUbTkwSUdWdWIzVm5hQ0JrWVhSaElHbHVJSE4wY21WaGJTQjBieUJ3WVhKelpTQjBhR1VnWlc1MGFYSmxJQ2RjSWlBcklIUjVjR1VnS3lCY0lpY2dZbTk0WENJcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhzZ1kyOWtaVG9nUW05NFVHRnljMlZ5TGtWU1VsOU9UMVJmUlU1UFZVZElYMFJCVkVFc0lIUjVjR1U2SUhSNWNHVXNJSE5wZW1VNklITnBlbVVzSUdoa2NsOXphWHBsT2lCb1pISmZjMmw2WlN3Z2MzUmhjblE2SUhOMFlYSjBJSDA3WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2hvWldGa1pYSlBibXg1S1NCN1hISmNiaUFnSUNCeVpYUjFjbTRnZXlCamIyUmxPaUJDYjNoUVlYSnpaWEl1VDBzc0lIUjVjR1U2SUhSNWNHVXNJSE5wZW1VNklITnBlbVVzSUdoa2NsOXphWHBsT2lCb1pISmZjMmw2WlN3Z2MzUmhjblE2SUhOMFlYSjBJSDA3WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lHbG1JQ2hDYjNoUVlYSnpaWEpiZEhsd1pTQXJJRndpUW05NFhDSmRLU0I3WEhKY2JpQWdJQ0FnSUdKdmVDQTlJRzVsZHlCQ2IzaFFZWEp6WlhKYmRIbHdaU0FySUZ3aVFtOTRYQ0pkS0hOcGVtVXBPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdhV1lnS0hSNWNHVWdJVDA5SUZ3aWRYVnBaRndpS1NCN1hISmNiaUFnSUNBZ0lDQWdURzluTG5kaGNtNG9YQ0pDYjNoUVlYSnpaWEpjSWl3Z1hDSlZibXR1YjNkdUlHSnZlQ0IwZVhCbE9pQW5YQ0lnS3lCMGVYQmxJQ3NnWENJblhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUdKdmVDQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdVFtOTRLSFI1Y0dVc0lITnBlbVVwTzF4eVhHNGdJQ0FnSUNBZ0lHSnZlQzVvWVhOZmRXNXdZWEp6WldSZlpHRjBZU0E5SUhSeWRXVTdYSEpjYmlBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tFSnZlRkJoY25ObGNpNVZWVWxFUW05NFpYTmJkWFZwWkYwcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUdKdmVDQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdVZWVkpSRUp2ZUdWelczVjFhV1JkS0hOcGVtVXBPMXh5WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQk1iMmN1ZDJGeWJpaGNJa0p2ZUZCaGNuTmxjbHdpTENCY0lsVnVhMjV2ZDI0Z2RYVnBaQ0IwZVhCbE9pQW5YQ0lnS3lCMWRXbGtJQ3NnWENJblhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ1ltOTRJRDBnYm1WM0lFSnZlRkJoY25ObGNpNUNiM2dvZEhsd1pTd2djMmw2WlNrN1hISmNiaUFnSUNBZ0lDQWdJQ0JpYjNndWRYVnBaQ0E5SUhWMWFXUTdYSEpjYmlBZ0lDQWdJQ0FnSUNCaWIzZ3VhR0Z6WDNWdWNHRnljMlZrWDJSaGRHRWdQU0IwY25WbE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dUlDQmliM2d1YUdSeVgzTnBlbVVnUFNCb1pISmZjMmw2WlR0Y2NseHVJQ0F2S2lCeVpXTnZjbVJwYm1jZ2RHaGxJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQmliM2dnYVc0Z2RHaGxJR2x1Y0hWMElITjBjbVZoYlNBcUwxeHlYRzRnSUdKdmVDNXpkR0Z5ZENBOUlITjBZWEowTzF4eVhHNGdJR2xtSUNoaWIzZ3VkM0pwZEdVZ1BUMDlJRUp2ZUZCaGNuTmxjaTVDYjNndWNISnZkRzkwZVhCbExuZHlhWFJsSUNZbUlHSnZlQzUwZVhCbElDRTlQU0JjSW0xa1lYUmNJaWtnZTF4eVhHNGdJQ0FnVEc5bkxtbHVabThvWENKQ2IzaFFZWEp6WlhKY0lpd2dYQ0luWENJZ0t5QmliM2hmZEhsd1pTQXJJRndpSnlCaWIzZ2dkM0pwZEdsdVp5QnViM1FnZVdWMElHbHRjR3hsYldWdWRHVmtMQ0JyWldWd2FXNW5JSFZ1Y0dGeWMyVmtJR1JoZEdFZ2FXNGdiV1Z0YjNKNUlHWnZjaUJzWVhSbGNpQjNjbWwwWlZ3aUtUdGNjbHh1SUNBZ0lHSnZlQzV3WVhKelpVUmhkR0ZCYm1SU1pYZHBibVFvYzNSeVpXRnRLVHRjY2x4dUlDQjlYSEpjYmlBZ1ltOTRMbkJoY25ObEtIT
1jBjbVZoYlNrN1hISmNiaUFnWkdsbVppQTlJSE4wY21WaGJTNW5aWFJRYjNOcGRHbHZiaWdwSUMwZ0tHSnZlQzV6ZEdGeWRDQXJJR0p2ZUM1emFYcGxLVHRjY2x4dUlDQnBaaUFvWkdsbVppQThJREFwSUh0Y2NseHVJQ0FnSUV4dlp5NTNZWEp1S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJRndpVUdGeWMybHVaeUJ2WmlCaWIzZ2dKMXdpSUNzZ1ltOTRYM1I1Y0dVZ0t5QmNJaWNnWkdsa0lHNXZkQ0J5WldGa0lIUm9aU0JsYm5ScGNtVWdhVzVrYVdOaGRHVmtJR0p2ZUNCa1lYUmhJSE5wZW1VZ0tHMXBjM05wYm1jZ1hDSWdLeUFvTFdScFptWXBJQ3NnWENJZ1lubDBaWE1wTENCelpXVnJhVzVuSUdadmNuZGhjbVJjSWlrN1hISmNiaUFnSUNCemRISmxZVzB1YzJWbGF5aGliM2d1YzNSaGNuUWdLeUJpYjNndWMybDZaU2s3WEhKY2JpQWdmU0JsYkhObElHbG1JQ2hrYVdabUlENGdNQ2tnZTF4eVhHNGdJQ0FnVEc5bkxtVnljbTl5S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJRndpVUdGeWMybHVaeUJ2WmlCaWIzZ2dKMXdpSUNzZ1ltOTRYM1I1Y0dVZ0t5QmNJaWNnY21WaFpDQmNJaUFySUdScFptWWdLeUJjSWlCdGIzSmxJR0o1ZEdWeklIUm9ZVzRnZEdobElHbHVaR2xqWVhSbFpDQmliM2dnWkdGMFlTQnphWHBsTENCelpXVnJhVzVuSUdKaFkydDNZWEprYzF3aUtUdGNjbHh1SUNBZ0lHbG1JQ2hpYjNndWMybDZaU0FoUFQwZ01Da2djM1J5WldGdExuTmxaV3NvWW05NExuTjBZWEowSUNzZ1ltOTRMbk5wZW1VcE8xeHlYRzRnSUgxY2NseHVJQ0J5WlhSMWNtNGdleUJqYjJSbE9pQkNiM2hRWVhKelpYSXVUMHNzSUdKdmVEb2dZbTk0TENCemFYcGxPaUJpYjNndWMybDZaU0I5TzF4eVhHNTlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMa0p2ZUM1d2NtOTBiM1I1Y0dVdWNHRnljMlVnUFNCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0JwWmlBb2RHaHBjeTUwZVhCbElDRTlJRndpYldSaGRGd2lLU0I3WEhKY2JpQWdJQ0IwYUdsekxtUmhkR0VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0UVhKeVlYa29kR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTazdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUdsbUlDaDBhR2x6TG5OcGVtVWdQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdjM1J5WldGdExuTmxaV3NvYzNSeVpXRnRMbWRsZEVWdVpGQn
1ZjMmwwYVc5dUtDa3BPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjM1J5WldGdExuTmxaV3NvZEdocGN5NXpkR0Z5ZENBcklIUm9hWE11YzJsNlpTazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1THlvZ1ZYTmxaQ0IwYnlCd1lYSnpaU0JoSUdKdmVDQjNhWFJvYjNWMElHTnZibk4xYldsdVp5QnBkSE1nWkdGMFlTd2dkRzhnWVd4c2IzY2daR1YwWVdsc2JHVmtJSEJoY25OcGJtZGNjbHh1SUNBZ1ZYTmxablZzSUdadmNpQmliM2hsY3lCbWIzSWdkMmhwWTJnZ1lTQjNjbWwwWlNCdFpYUm9iMlFnYVhNZ2JtOTBJSGxsZENCcGJYQnNaVzFsYm5SbFpDQXFMMXh5WEc1Q2IzaFFZWEp6WlhJdVFtOTRMbkJ5YjNSdmRIbHdaUzV3WVhKelpVUmhkR0ZCYm1SU1pYZHBibVFnUFNCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtUmhkR0VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0UVhKeVlYa29kR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTazdYSEpjYmlBZ0x5OGdjbVYzYVc1a2FXNW5YSEpjYmlBZ2MzUnlaV0Z0TG5CdmMybDBhVzl1SUMwOUlIUm9hWE11YzJsNlpTQXRJSFJvYVhNdWFHUnlYM05wZW1VN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1Um5Wc2JFSnZlQzV3Y205MGIzUjVjR1V1Y0dGeWMyVkVZWFJoUVc1a1VtVjNhVzVrSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NXdZWEp6WlVaMWJHeElaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0IwYUdsekxtUmhkR0VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0UVhKeVlYa29kR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTazdYSEpjYmlBZ0x5OGdjbVZ6ZEc5eVpTQjBhR1VnYUdWaFpHVnlJSE5wZW1VZ1lYTWdhV1lnZEdobElHWjFiR3dnYUdWaFpHVnlJR2hoWkNCdWIzUWdZbVZsYmlCd1lYSnpaV1JjY2x4dUlDQjBhR2x6TG1oa2NsOXphWHBsSUMwOUlEUTdYSEpjYmlBZ0x5OGdjbVYzYVc1a2FXNW5YSEpjYmlBZ2MzUnlaV0Z0TG5CdmMybDBhVzl1SUMwOUlIUm9hWE11YzJsNlpTQXRJSFJvYVhNdWFHUnlYM05wZW1VN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1Um5Wc2JFSnZlQzV3Y205MGIzUjVjR1V1Y0dGeWMyVkdkV3hzU0dWaFpHVnlJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1MlpYSnphVzl1SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReU5DZ3BPMXh5WEc0Z0lIUm9hWE11YUdSeVgzTnBlbVVnS3owZ05EdGNjbHh1ZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1R2RXeHNRbTk0TG5CeWIzUnZkSGx3WlM1d1lYSnpaU0E5SUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWNHRnljMlZHZFd4c1NHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdkR2hwY3k1a1lYUmhJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPRUZ5Y21GNUtIUm9hWE11YzJsNlpTQXRJSFJvYVhNdWFHUnlYM05wZW1VcE8xeHlYRzU5TzF4eVhHNWNjbHh1UW05NFVHRnljMlZ5TGtOdmJuUmhhVzVsY2tKdmVDNXdjbTkwYjNSNWNHVXVjR0Z5YzJVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMllYSWdjbVYwTzF4eVhHNGdJSFpoY2lCaWIzZzdYSEpjYmlBZ2QyaHBiR1VnS0hOMGNtVmhiUzVuWlhSUWIzTnBkR2x2YmlncElEd2dkR2hwY3k1emRHRnlkQ0FySUhSb2FYTXVjMmw2WlNrZ2UxeHlYRzRnSUNBZ2NtVjBJRDBnUW05NFVHRnljMlZ5TG5CaGNuTmxUMjVsUW05NEtITjBjbVZoYlN3Z1ptRnNjMlVzSUhSb2FYTXVjMmw2WlNBdElDaHpkSEpsWVcwdVoyVjBVRzl6YVhScGIyNG9LU0F0SUhSb2FYTXVjM1JoY25RcEtUdGNjbHh1SUNBZ0lHbG1JQ2h5WlhRdVkyOWtaU0E5UFQwZ1FtOTRVR0Z5YzJWeUxrOUxLU0I3WEhKY2JpQWdJQ0FnSUdKdmVDQTlJSEpsZEM1aWIzZzdYSEpjYmlBZ0lDQWdJQzhxSUhOMGIzSmxJSFJvWlNCaWIzZ2dhVzRnZEdobElDZGliM2hsY3ljZ1lYSnlZWGtnZEc4Z2NISmxjMlZ5ZG1VZ1ltOTRJRzl5WkdWeUlDaG1iM0lnYjJabWMyVjBLU0JpZFhRZ1lXeHpieUJ6ZEc5eVpTQmliM2dnYVc0Z1lTQndjbTl3WlhKMGVTQm1iM0lnYlc5eVpTQmthWEpsWTNRZ1lXTmpaWE56SUNvdlhISmNiaUFnSUNBZ0lIUm9hWE11WW05NFpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV6ZFdKQ2IzaE9ZVzFsY3lBbUppQjBhR2x6TG5OMVlrSnZlRTVoYldWekxtbHVaR1Y0VDJZb1ltOTRMblI1Y0dVcElDRTlJQzB4S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwYzF0MGFHbHpMbk4xWWtKdmVFNWhiV1Z6VzNSb2FYTXVjM1ZpUW05NFRtRnRaWE11YVc1a1pYaFBaaWhpYjNndWRIbHdaU2xkSUNzZ1hDSnpYQ0pkTG5CMWMyZ29ZbTk0S1R0Y2NseHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWW05NFgzUjVjR1VnUFNCaWIzZ3VkSGx3WlNBaFBUMGdYQ0oxZFdsa1hDSWdQeUJpYjNndWRIbHdaU0E2SUdKdmVDNTFkV2xrTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdselcySnZlRjkwZVhCbFhTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ1RHOW5MbmRoY200b1hDSkNiM2dnYjJZZ2RIbHdaU0JjSWlBcklHSnZlRjkwZVhCbElDc2dYQ0lnWVd4eVpXRmtlU0J6ZEc5eVpXUWdhVzRnWm1sbGJHUWdiMllnZEdocGN5QjBlWEJsWENJcE8xeHlYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpXMkp2ZUY5MGVYQmxYU0E5SUdKdmVEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUhKbGRIVnlianRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVFtOTRMbkJ5YjNSdmRIbHdaUzV3WVhKelpVeGhibWQxWVdkbElEMGdablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTVzWVc1bmRXRm5aU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZG1GeUlHTm9ZWEp6SUQwZ1cxMDdYSEpjYmlBZ1kyaGhjbk5iTUYwZ1BTQW9kR2hwY3k1c1lXNW5kV0ZuWlNBK1BpQXhNQ2tnSmlBd2VERkdPMXh5WEc0Z0lHTm9ZWEp6V3pGZElEMGdLSFJvYVhNdWJHRnVaM1ZoWjJVZ1BqNGdOU2tnSmlBd2VERkdPMXh5WEc0Z0lHTm9ZWEp6V3pKZElEMGdLSFJvYVhNdWJHRnVaM1ZoWjJVcElDWWdNSGd4Ump0Y2NseHVJQ0IwYUdsekxteGhibWQxWVdkbFUzUnlhVzVuSUQwZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTaGphR0Z5YzFzd1hTQXJJREI0TmpBc0lHTm9ZWEp6V3pGZElDc2dNSGcyTUN3Z1kyaGhjbk5iTWwwZ0t5QXdlRFl3S1R0Y2NseHVmVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzJGdGNHeGxaVzUwY21sbGN5OXpZVzF3YkdWbGJuUnllUzVxYzF4eVhHNUNiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZWa2xUVlVGTUlEMGdYQ0pXYVhOMVlXeGNJanRjY2x4dVFtOTRVR0Z5YzJWeUxsTkJUVkJNUlY5RlRsUlNXVjlVV1ZCRlgwRlZSRWxQSUQwZ1hDSkJkV1JwYjF3aU8xeHlYRzVDYjNoUVlYSnpaWEl1VTBGTlVFeEZYMFZPVkZKWlgxUlpVRVZmU0VsT1ZDQTlJRndpU0dsdWRGd2lPMXh5WEc1Q2IzaFFZWEp6WlhJdVUwRk5VRXhGWDBWT1ZGSlpYMVJaVUVWZlRVVlVRVVJCVkVFZ1BTQmNJazFsZEdGa1lYUmhYQ0k3WEhKY2JrSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVRWVUpVU1ZSTVJTQTlJRndpVTNWaWRHbDBiR1ZjSWp0Y2NseHVRbTk0VUdGeWMyVnlMbE5CVFZCTVJWOUZUbFJTV1Y5VVdWQkZYMU5aVTFSRlRTQTlJRndpVTNsemRHVnRYQ0k3WEhKY2JrSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVVSVmhVSUQwZ1hDSlVaWGgwWENJN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVUyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbkJoY25ObFNHVmhaR1Z5SUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnYzNSeVpXRnRMbkpsWVdSVmFXNTBPRUZ5Y21GNUtEWXBPMXh5WEc0Z0lIUm9hWE11WkdGMFlWOXlaV1psY21WdVkyVmZhVzVrWlhnZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11YUdSeVgzTnBlbVVnS3owZ09EdGNjbH
1h1ZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1VFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVjR0Z5YzJVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMbkJoY25ObFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdkR2hwY3k1a1lYUmhJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPRUZ5Y21GNUtIUm9hWE11YzJsNlpTQXRJSFJvYVhNdWFHUnlYM05wZW1VcE8xeHlYRzU5TzF4eVhHNWNjbHh1UW05NFVHRnljMlZ5TGxOaGJYQnNaVVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNXdZWEp6WlVSaGRHRkJibVJTWlhkcGJtUWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5CaGNuTmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnZEdocGN5NWtZWFJoSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0VGeWNtRjVLSFJvYVhNdWMybDZaU0F0SUhSb2FYTXVhR1J5WDNOcGVtVXBPMXh5WEc0Z0lDOHZJSEpsYzNSdmNtVWdkR2hsSUdobFlXUmxjaUJ6YVhwbElHRnpJR2xtSUhSb1pTQnpZVzF3YkdVZ1pXNTBjbmtnYUdWaFpHVnlJR2hoWkNCdWIzUWdZbVZsYmlCd1lYSnpaV1JjY2x4dUlDQjBhR2x6TG1oa2NsOXphWHBsSUMwOUlEZzdYSEpjYmlBZ0x5OGdjbVYzYVc1a2FXNW5YSEpjYmlBZ2MzUnlaV0Z0TG5CdmMybDBhVzl1SUMwOUlIUm9hWE11YzJsNlpTQXRJSFJvYVhNdWFHUnlYM05wZW1VN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExuQmhjbk5sUm05dmRHVnlJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdRbTk0VUdGeWMyVnlMa052Ym5SaGFXNWxja0p2ZUM1d2NtOTBiM1I1Y0dVdWNHRnljMlV1WTJGc2JDaDBhR2x6TENCemRISmxZVzBwTzF4eVhHNTlPMXh5WEc1Y2NseHVMeThnUW1GelpTQlRZVzF3YkdWRmJuUnllU0IwZVhCbGN5QjNhWFJvSUdSbFptRjFiSFFnY0dGeWMybHVaMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsVFdWa2FXRlRZVzF3YkdWRmJuUnllVU4wYjNJb1FtOTRVR0Z5YzJWeUxsTkJUVkJNUlY5RlRsUlNXVjlVV1ZCRlgwaEpUbFFwTzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFRXVmthV0ZUWVcxd2JHVkZiblJ5ZVVOMGIzSW9RbTk0VUdGeWMyVnlMbE5CVFZCTVJWOUZUbFJTV1Y5VVdWQkZYMDFGVkVGRVFWUkJLVHRjY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlUxbFpHbGhVMkZ0Y0d4bFJXNTBjbmxEZEc5eUtFSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVRWVUpVU1ZSTVJTazdYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZOWldScFlWTmhiWEJzWlVWdWRISjVRM1J2Y2loQ2IzaFFZWEp6WlhJdVUwRk5VRXhGWDBWT1ZGSlpYMVJaVUVWZlUxbFRWRVZOS1R0Y2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpVMWxaR2xoVTJGdGNHeGxSVzUwY25sRGRHOXlLRUp2ZUZCaGNuTmxjaTVUUVUxUVRFVmZSVTVVVWxsZlZGbFFSVjlVUlZoVUtUdGNjbHh1WEhKY2JpOHZRbUZ6WlNCVFlXMXdiR1ZGYm5SeWVTQjBlWEJsY3lCbWIzSWdRWFZrYVc4Z1lXNWtJRlpwWkdWdklIZHBkR2dnYzNCbFkybG1hV01nY0dGeWMybHVaMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsVFdWa2FXRlRZVzF3YkdWRmJuUnllVU4wYjNJb1FtOTRVR0Z5YzJWeUxsTkJUVkJNUlY5RlRsUlNXVjlVV1ZCRlgxWkpVMVZCVEN3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHTnZiWEJ5WlhOemIzSnVZVzFsWDJ4bGJtZDBhRHRjY2x4dUlDQjBhR2x6TG5CaGNuTmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlRWEp5WVhrb015azdYSEpjYmlBZ2RHaHBjeTUzYVdSMGFDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdkR2hwY3k1b1pXbG5hSFFnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUhSb2FYTXVhRzl5YVhweVpYTnZiSFYwYVc5dUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG5abGNuUnlaWE52YkhWMGFXOXVJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJSFJvYVhNdVpuSmhiV1ZmWTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJR052YlhCeVpYTnpiM0p1WVcxbFgyeGxibWQwYUNBOUlFMWhkR2d1YldsdUtETXhMQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2twTzF4eVhHNGdJSFJvYVhNdVkyOXRjSEpsYzNOdmNtNWhiV1VnUFNCemRISmxZVzB1Y21WaFpGTjBjbWx1WnloamIyMXdjbVZ6YzI5eWJtRnRaVjlzWlc1bmRHZ3BPMXh5WEc0Z0lHbG1JQ2hqYjIxd2Nt
1VnpjMjl5Ym1GdFpWOXNaVzVuZEdnZ1BDQXpNU2tnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbkpsWVdSVGRISnBibWNvTXpFZ0xTQmpiMjF3Y21WemMyOXlibUZ0WlY5c1pXNW5kR2dwTzF4eVhHNGdJSDFjY2x4dUlDQjBhR2x6TG1SbGNIUm9JRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSFJvYVhNdWNHRnljMlZHYjI5MFpYSW9jM1J5WldGdEtUdGNjbHh1ZlNrN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsVFdWa2FXRlRZVzF3YkdWRmJuUnllVU4wYjNJb1FtOTRVR0Z5YzJWeUxsTkJUVkJNUlY5RlRsUlNXVjlVV1ZCRlgwRlZSRWxQTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuQmhjbk5sU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpKQmNuSmhlU2d5S1R0Y2NseHVJQ0IwYUdsekxtTm9ZVzV1Wld4ZlkyOTFiblFnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUhSb2FYTXVjMkZ0Y0d4bGMybDZaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSFJvYVhNdWMyRnRjR3hsY21GMFpTQTlJQ2h6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwSUM4Z0tERWdQRHdnTVRZcEtUdGNjbHh1SUNCMGFHbHpMbkJoY25ObFJtOXZkR1Z5S0hOMGNtVmhiU2s3WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnVTJGdGNHeGxJR1Z1ZEhKcFpYTWdhVzVvWlhKcGRHbHVaeUJtY205dElFRjFaR2x2SUdGdVpDQldhV1JsYjF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFUyRnRjR3hsUlc1MGNubERkRzl5S0VKdmVGQmhjbk5sY2k1VFFVMVFURVZmUlU1VVVsbGZWRmxRUlY5V1NWTlZRVXdzSUZ3aVlYWmpNVndpS1R0Y2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpWTmhiWEJzWlVWdWRISjVRM1J2Y2loQ2IzaFFZWEp6WlhJdVUwRk5VRXhGWDBWT1ZGSlpYMVJaVUVWZlZrbFRWVUZNTENCY0ltRjJZekpjSWlrN1hISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlRZVzF3YkdWRmJuUnllVU4wYjNJb1FtOTRVR0Z5YzJWeUxsTkJUVkJNUlY5RlRsUlNXVjlVV1ZCRlgxWkpVMVZCVEN3Z1hDSmhkbU16WENJcE8xeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxVMkZ0Y0d4bFJXNTBjbmxEZEc5eUtFSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVdTVk5WUVV3c0lGd2lZWFpqTkZ3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZWa2xUVlVGTUxDQmNJbUYyTURGY0lpazdYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkZiblJ5ZVVOMGIzSW9RbTk0VUdGeWMyVnlMbE5CVFZCTVJWOUZUbFJTV1Y5VVdWQkZYMVpKVTFWQlRDd2dYQ0pvZG1NeFhDSXBPMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsVTJGdGNHeGxSVzUwY25sRGRHOXlLRUp2ZUZCaGNuTmxjaTVUUVUxUVRFVmZSVTVVVWxsZlZGbFFSVjlXU1ZOVlFVd3NJRndpYUdWMk1Wd2lLVHRjY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZOaGJYQnNaVVZ1ZEhKNVEzUnZjaWhDYjNoUVlYSnpaWEl1VTBGTlVFeEZYMFZPVkZKWlgxUlpVRVZmVmtsVFZVRk1MQ0JjSW5aMll6RmNJaWs3WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWVFlXMXdiR1ZGYm5SeWVVTjBiM0lvUW05NFVHRnljMlZ5TGxOQlRWQk1SVjlGVGxSU1dWOVVXVkJGWDFaSlUxVkJUQ3dnWENKMmRta3hYQ0lwTzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFUyRnRjR3hsUlc1MGNubERkRzl5S0VKdmVGQmhjbk5sY2k1VFFVMVFURVZmUlU1VVVsbGZWRmxRUlY5V1NWTlZRVXdzSUZ3aWRuWnpNVndpS1R0Y2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpWTmhiWEJzWlVWdWRISjVRM1J2Y2loQ2IzaFFZWEp6WlhJdVUwRk5VRXhGWDBWT1ZGSlpYMVJaVUVWZlZrbFRWVUZNTENCY0luWjJZMDVjSWlrN1hISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlRZVzF3YkdWRmJuUnllVU4wYjNJb1FtOTRVR0Z5YzJWeUxsTkJUVkJNUlY5RlRsUlNXVjlVV1ZCRlgxWkpVMVZCVEN3Z1hDSjJjREE0WENJcE8xeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxVMkZ0Y0d4bFJXNTBjbmxEZEc5eUtFSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVdTVk5WUVV3c0lGd2lkbkF3T1Z3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZRVlZFU1U4c0lGd2liWEEwWVZ3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZRVlZFU1U4c0lGd2lZV010TTF3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZRVlZFU1U4c0lGd2laV010TTF3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZRVlZFU1U4c0lGd2lUM0IxYzF3aUtUdGNjbHh1WEhKY2JpOHZJRVZ1WTNKNWNIUmxaQ0J6WVcxd2JHVWdaVzUwY21sbGMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSVzVqY25sd2RHVmtVMkZ0Y0d4bFJXNTBjbmxEZEc5eUtFSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVdTVk5WUVV3c0lGd2laVzVqZGx3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVZ1WTNKNWNIUmxaRk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZRVlZFU1U4c0lGd2laVzVqWVZ3aUtUdGNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVZ1WTNKNWNIUmxaRk5oYlhCc1pVVnVkSEo1UTNSdmNpaENiM2hRWVhKelpYSXVVMEZOVUV4RlgwVk9WRkpaWDFSWlVFVmZVMVZDVkVsVVRFVXNJRndpWlc1amRWd2lLVHRjY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVWdVkzSjVjSFJsWkZOaGJYQnNaVVZ1ZEhKNVEzUnZjaWhDYjNoUVlYSnpaWEl1VTBGTlVFeEZYMFZPVkZKWlgxUlpVRVZmVTFsVFZFVk5MQ0JjSW1WdVkzTmNJaWs3WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWRmJtTnllWEIwWldSVFlXMXdiR1ZGYm5SeWVVTjBiM0lvUW05NFVHRnljMlZ5TGxOQlRWQk1SVjlGVGxSU1dWOVVXVkJGWDFSRldGUXNJRndpWlc1amRGd2lLVHRjY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVWdVkzSjVjSFJsWkZOaGJYQnNaVVZ1ZEhKNVEzUnZjaWhDYjNoUVlYSnpaWEl1VTBGTlVFeEZYMFZPVkZKWlgxUlpVRVZmVFVWVVFVUkJWRUVzSUZ3aVpXNWpiVndpS1R0Y2NseHVMeThnWm1sc1pUcHpjbU12Y0
1dGeWMybHVaeTloTVd4NExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZDYjNoRGRHOXlLRndpWVRGc2VGd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjJZWElnYkdGeVoyVmZjMmw2WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tTQW1JREU3WEhKY2JpQWdkbUZ5SUVacFpXeGtUR1Z1WjNSb0lEMGdLQ2hzWVhKblpWOXphWHBsSUNZZ01Ta2dLeUF4S1NBcUlERTJPMXh5WEc0Z0lIUm9hWE11YkdGNVpYSmZjMmw2WlNBOUlGdGRPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNenNnYVNzcktTQjdYSEpjYmlBZ0lDQnBaaUFvUm1sbGJHUk1aVzVuZEdnZ1BUMGdNVFlwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVzWVhsbGNsOXphWHBsVzJsZElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdWJHRjVaWEpmYzJsNlpWdHBYU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlLVHN2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDJFeGIzQXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKaE1XOXdYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWIzQmZhVzVrWlhnZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYm4wcE95OHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZZWFY0UXk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKaGRYaERYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdVlYVjRYM1I1Y0dVZ1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dUlDQjJZWElnWVhWNFgzTjFZblI1Y0dWZmJHVnVaM1JvSUQwZ2RHaHBjeTV6YVhwbElDMGdkR2hwY3k1b1pISmZjMmw2WlNBdElDaDBhR2x6TG1GMWVGOTBlWEJsTG14bGJtZDBhQ0FySURFcE8xeHlYRzRnSUhSb2FYTXVZWFY0WDNOMVluUjVjR1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0UVhKeVlYa29ZWFY0WDNOMVluUjVjR1ZmYkdWdVozUm9LVHRjY2x4dWZTazdMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTloZGpGRExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZDYjNoRGRHOXlLRndpWVhZeFExd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0IyWVhJZ2RHOXdZWEp6WlR0Y2NseHVJQ0IyWVhJZ2RHMXdJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJR2xtSUNnb2RHMXdJRDQrSURjcElDWWdNSGd4SUNFOVBTQXhLU0I3WEhKY2JpQWdJQ0JNYjJjdVpYSnliM0lvWENKaGRqRkRJRzFoY210bGNpQndjbTlpYkdWdFhDSXBPMXh5WEc0Z0lDQWdjbVYwZFhKdU8xeHlYRzRnSUgxY2NseHVJQ0IwYUdsekxuWmxjbk5wYjI0Z1BTQjBiWEFnSmlBd2VEZEdPMXh5WEc0Z0lHbG1JQ2gwYUdsekxuWmxjbk5wYjI0Z0lUMDlJREVwSUh0Y2NseHVJQ0FnSUV4dlp5NWxjbkp2Y2loY0ltRjJNVU1nZG1WeWMybHZiaUJjSWlBcklIUm9hWE11ZG1WeWMybHZiaUFySUZ3aUlHNXZkQ0J6ZFhCd2IzSjBaV1JjSWlrN1hISmNiaUFnSUNCeVpYUjFjbTQ3WEhKY2JpQWdmVnh5WEc0Z0lIUnRjQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0IwYUdsekxuTmxjVjl3Y205bWFXeGxJRDBnS0hSdGNDQStQaUExS1NBbUlEQjROenRjY2x4dUlDQjBhR2x6TG5ObGNWOXNaWFpsYkY5cFpIaGZNQ0E5SUhSdGNDQW1JREI0TVVZN1hISmNiaUFnZEcxd0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIUm9hWE11YzJWeFgzUnBaWEpmTUNBOUlDaDBiWEFnUGo0Z055a2dKaUF3ZURFN1hISmNiaUFnZEdocGN5NW9hV2RvWDJKcGRHUmxjSFJvSUQwZ0tIUnRjQ0ErUGlBMktTQW1JREI0TVR0Y2NseHVJQ0IwYUdsekxuUjNaV3gyWlY5aWFYUWdQU0FvZEcxd0lENCtJRFVwSUNZZ01IZ3hPMXh5WEc0Z0lIUm9hWE11Ylc5dWIyTm9jbTl0WlNBOUlDaDBiWEFnUGo0Z05Da2dKaUF3ZURFN1hISmNiaUFnZEdocGN5NWphSEp2YldGZmMzVmljMkZ0Y0d4cGJtZGZlQ0E5SUNoMGJYQWdQajRnTXlrZ0ppQXdlREU3WEhKY2JpQWdkR2hwY3k1amFISnZiV0ZmYzNWaWMyRnRjR3hwYm1kZmVTQTlJQ2gwYlhBZ1BqNGdNaWtnSmlBd2VERTdYSEpjYmlBZ2RHaHBjeTVqYUhKdmJXRmZjMkZ0Y0d4bFgzQnZjMmwwYVc5dUlEMGdLSFJ0Y0NBbUlEQjRNeWs3WEhKY2JpQWdkRzF3SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUhSb2FYTXVjbVZ6WlhKMlpXUmZNU0E5SUNoMGJYQWdQajRnTlNrZ0ppQXdlRGM3WEhKY2JpQWdhV1lnS0hSb2FYTXVjbVZ6WlhKMlpXUmZNU0FoUFQwZ01Da2dlMXh5WEc0Z0lDQWdURzluTG1WeWNtOXlLRndpWVhZeFF5QnlaWE5sY25abFpGOHhJSEJoY25OcGJtY2djSEp2WW14bGJWd2lLVHRjY2x4dUlDQWdJSEpsZEhWeWJqdGNjbHh1SUNCOVhISmNiaUFnZEdocGN5NXBibWwwYVdGc1gzQnlaWE5sYm5SaGRHbHZibDlrWld4aGVWOXdjbVZ6Wlc1MElEMGdLSFJ0Y0NBK1BpQTBLU0FtSURCNE1UdGNjbHh1SUNCcFppQW9kR2hwY3k1cGJtbDBhV0ZzWDNCeVpYTmxiblJoZEdsdmJsOWtaV3hoZVY5d2NtVnpaVzUwSUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0IwYUdsekxtbHVhWFJwWVd4ZmNISmxjMlZ1ZEdGMGFXOXVYMlJsYkdGNVgyMXBiblZ6WDI5dVpTQTlJQ2gwYlhBZ0ppQXdlRVlwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG5KbGMyVnlkbVZrWHpJZ1BTQW9kRzF3SUNZZ01IaEdLVHRjY2x4dUlDQWdJR2xtSUNoMGFHbHpMbkpsYzJWeWRtVmtYeklnSVQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnVEc5bkxtVnljbTl5S0Z3aVlYWXhReUJ5WlhObGNuWmxaRjh5SUhCaGNuTnBibWNnY0hKdllteGxiVndpS1R0Y2NseHVJQ0FnSUNBZ2NtVjBkWEp1TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dVhISmNiaUFnZG1GeUlHTnZibVpwWjA5Q1ZYTmZiR1Z1WjNSb0lEMGdkR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTQXRJRFE3WEhKY2JpQWdkR2hwY3k1amIyNW1hV2RQUWxWeklEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9FRnljbUY1S0dOdmJtWnBaMDlDVlhOZmJHVnVaM1JvS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDJGMlkwTXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKaGRtTkRYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUhaaGNpQjBiM0JoY25ObE8xeHlYRzRnSUhSb2FYTXVZMjl1Wm1sbmRYSmhkR2x2YmxabGNuTnBiMjRnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEdocGN5NUJWa05RY205bWFXeGxTVzVrYVdOaGRHbHZiaUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0IwYUdsekxuQnliMlpwYkdWZlkyOXRjR0YwYVdKcGJHbDBlU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0IwYUdsekxrRldRMHhsZG1Wc1NXNWthV05oZEdsdmJpQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQjBhR2x6TG14bGJtZDBhRk5wZW1WTmFXNTFjMDl1WlNBOUlDaHpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDa2dKaUF3ZURNcE8xeHlYRzRnSUhSb2FYTXVibUpmVTFCVFgyNWhiSFZ6SUQwZ0tITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tTQW1JREI0TVVZcE8xeHlYRzRnSUhSdmNHRnljMlVnUFNCMGFHbHpMbk5wZW1VZ0xTQjBhR2x6TG1oa2NsOXphWHBsSUMwZ05qdGNjbHh1SUNCMGFHbHpMbE5RVXlBOUlGdGRPMXh5WEc0Z0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCMGFHbHpMbTVpWDFOUVUxOXVZV3gxY3pzZ2FTc3JLU0I3WEhKY2JpQWdJQ0IwYUdsekxsTlFVMXRwWFNBOUlIdDlPMXh5WEc0Z0lDQWdkR2hwY3k1VFVGTmJhVjB1YkdWdVozUm9JRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0FnSUhSb2FYTXVVMUJUVzJsZExtNWhiSFVnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0UVhKeVlYa29kR2hwY3k1VFVGTmJhVjB1YkdWdVozUm9LVHRjY2x4dUlDQWdJSFJ2Y0dGeWMyVWdMVDBnTWlBcklIUm9hWE11VTFCVFcybGRMbXhsYm1kMGFEdGNjbHh1SUNCOVhISmNiaUFnZEdocGN5NXVZbDlRVUZOZmJtRnNkWE1nUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEc5d1lYSnpaUzB0TzF4eVhHNGdJSFJvYVhNdVVGQlRJRDBnVzEwN1hISmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJSFJvYVhNdWJtSmZVRkJUWDI1aGJIVnpPeUJwS3lzcElIdGNjbHh1SUNBZ0lIUm9hWE11VUZCVFcybGRJRDBnZTMwN1hISmNiaUFnSUNCMGFHbHpMbEJRVTF0cFhTNXNaVzVuZEdnZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1UVVGTmJhVjB1Ym1Gc2RTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREaEJjbkpoZVNoMGFHbHpMbEJRVTF0cFhTNXNaVzVuZEdncE8xeHlYRzRnSUNBZ2RHOXdZWEp6WlNBdFBTQXlJQ3NnZEdocGN5NVFVRk5iYVYwdWJHVnVaM1JvTzF4eVhHNGdJSDFjY2x4dUlDQnBaaUFvZEc5d1lYSnpaU0ErSURBcElIdGNjbHh1SUNBZ0lIUm9hWE11Wlho
1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9FRnljbUY1S0hSdmNHRnljMlVwTzF4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMkowY25RdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVUp2ZUVOMGIzSW9YQ0ppZEhKMFhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11WW5WbVptVnlVMmw2WlVSQ0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG0xaGVFSnBkSEpoZEdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lIUm9hWE11WVhablFtbDBjbUYwWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OWpiR0Z3TG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkNiM2hEZEc5eUtGd2lZMnhoY0Z3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMbU5zWldGdVFYQmxjblIxY21WWGFXUjBhRTRnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUhSb2FYTXVZMnhsWVc1QmNHVnlkSFZ5WlZkcFpIUm9SQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZEdocGN5NWpiR1ZoYmtGd1pYSjBkWEpsU0dWcFoyaDBUaUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZEdocGN5NWpiR1ZoYmtGd1pYSjBkWEpsU0dWcFoyaDBSQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZEdocGN5NW9iM0pwZWs5bVprNGdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJSFJvYVhNdWFHOXlhWHBQWm1aRUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG5abGNuUlBabVpPSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMGFHbHpMblpsY25SUFptWkVJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVmU2s3THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5amJHeHBMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aVkyeHNhVndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtMWhlRjlqYjI1MFpXNTBYMnhwWjJoMFgyeGxkbVZzSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMbTFoZUY5d2FXTmZZWFpsY21GblpWOXNhV2RvZEY5c1pYWmxiQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5amJ6WTBMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWR2RXeHNRbTk0UTNSdmNpaGNJbU52TmpSY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJR1Z1ZEhKNVgyTnZkVzUwTzF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUdWdWRISjVYMk52ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG1Ob2RXNXJYMjltWm5ObGRITWdQU0JiWFR0Y2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z1pXNTBjbmxmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQjBhR2x6TG1Ob2RXNXJYMjltWm5ObGRITXVjSFZ6YUNoemRISmxZVzB1Y21WaFpGVnBiblEyTkNncEtUdGNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5RGIweE1MbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWR2RXeHNRbTk0UTNSdmNpaGNJa052VEV4Y0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTV0WVhoRFRFd2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSFJvYVhNdWJXRjRSa0ZNVENBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OWpiMnh5TG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkNiM2hEZEc5e
1UtGd2lZMjlzY2x3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMbU52Ykc5MWNsOTBlWEJsSUQwZ2MzUnlaV0Z0TG5KbFlXUlRkSEpwYm1jb05DazdYSEpjYmlBZ2FXWWdLSFJvYVhNdVkyOXNiM1Z5WDNSNWNHVWdQVDA5SUZ3aWJtTnNlRndpS1NCN1hISmNiaUFnSUNCMGFHbHpMbU52Ykc5MWNsOXdjbWx0WVhKcFpYTWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnZEdocGN5NTBjbUZ1YzJabGNsOWphR0Z5WVdOMFpYSnBjM1JwWTNNZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1dFlYUnlhWGhmWTI5bFptWnBZMmxsYm5SeklEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQWdJSFpoY2lCMGJYQWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtWjFiR3hmY21GdVoyVmZabXhoWnlBOUlIUnRjQ0ErUGlBM08xeHlYRzRnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTVqYjJ4dmRYSmZkSGx3WlNBOVBUMGdYQ0p5U1VORFhDSXBJSHRjY2x4dUlDQWdJSFJvYVhNdVNVTkRYM0J5YjJacGJHVWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRRWEp5WVhrb2RHaHBjeTV6YVhwbElDMGdOQ2s3WEhKY2JpQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtTnZiRzkxY2w5MGVYQmxJRDA5UFNCY0luQnliMlpjSWlrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVKUTBOZmNISnZabWxzWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERoQmNuSmhlU2gwYUdsekxuTnBlbVVnTFNBMEtUdGNjbHh1SUNCOVhISmNibjBwT3k4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdlkzQnlkQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFJuVnNiRUp2ZUVOMGIzSW9YQ0pqY0hKMFhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11Y0dGeWMyVk1ZVzVuZFdGblpTaHpkSEpsWVcwcE8xeHlYRzRnSUhSb2FYTXVibTkwYVdObElEMGdjM1J5WldGdExuSmxZV1JEVTNSeWFXNW5LQ2s3WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTlqYzJ4bkxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0ltTnpiR2RjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHVnVkSEo1WDJOdmRXNTBPMXh5WEc0Z0lHbG1JQ2gwYUdsekxuWmxjbk5wYjI0Z1BUMDlJREFwSUh0Y2NseHVJQ0FnSUhSb2FYTXVZMjl0Y0c5emFYUnBiMjVVYjBSVVUxTm9hV1owSUQwZ2MzUnlaV0Z0TG5KbFlXUkpiblF6TWlncE95QXZLaUJ6YVdkdVpXUWdLaTljY2x4dUlDQWdJSFJvYVhNdWJHVmhjM1JFWldOdlpHVlViMFJwYzNCc1lYbEVaV3gwWVNBOUlITjBjbVZoYlM1eVpXRmtTVzUwTXpJb0tUc2dMeW9nYzJsbmJtVmtJQ292WEhKY2JpQWdJQ0IwYUdsekxtZHlaV0YwWlhOMFJHVmpiMlJsVkc5RWFYTndiR0Y1UkdWc2RHRWdQU0J6ZEhKbFlXMHVjbVZoWkVsdWRETXlLQ2s3SUM4cUlITnBaMjVsWkNBcUwxeHlYRzRnSUNBZ2RHaHBjeTVqYjIxd2IzTnBkR2x2YmxOMFlYSjBWR2x0WlNBOUlITjBjbVZoYlM1eVpXRmtTVzUwTXpJb0tUc2dMeW9nYzJsbmJtVmtJQ292WEhKY2JpQWdJQ0IwYUdsekxtTnZiWEJ2YzJsMGFXOXVSVzVrVkdsdFpTQTlJSE4wY21WaGJTNXlaV0ZrU1c1ME16SW9LVHNnTHlvZ2MybG5ibVZrSUNvdlhISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2WTNSMGN5NXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSmpkSFJ6WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQmxiblJ5ZVY5amIzVnVkRHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0JsYm5SeWVWOWpiM1Z1ZENBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2RHaHBjeTV6WVcxd2JHVmZZMjkxYm5SeklEMGdXMTA3WEhKY2JpQWdkR2hwY3k1ellXMXdiR1ZmYjJabWMyVjBjeUE5SUZ0ZE8xeHlYRzRnSUdsbUlDaDBhR2x6TG5abGNuTnBiMjRnUFQwOUlEQXBJSHRjY2x4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQmxiblJ5ZVY5amIzVnVkRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdWMyRnRjR3hsWDJOdmRXNTBjeTV3ZFhOb0tITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDa3BPMXh5WEc0Z0lDQWdJQ0F2S2lCemIyMWxJR1pwYkdWeklHRnlaU0JpZFdkbmVTQmhibVFnWkdWamJHRnlaU0IyWlhKemFXOXVQVEFnZDJocGJHVWdkWE5wYm1jZ2MybG5ibVZrSUc5bVpuTmxkSE11WEhKY2JseDBYSFJjZENBZ0lGUm9aU0JzYVd0bGJIbG9iMjlrSUc5bUlIVnphVzVuSUhSb1pTQnRiM04wSUhOcFoyNXBabWxqWVc1MElHSnBkQ0JwYmlCaElETXlMV0pwZEhNZ2RHbHRaU0J2Wm1aelpYUWdhWE1nZG1WeWVTQnNiM2NzWEhKY2JseDBYSFJjZENBZ0lITnZJSFZ6YVc1bklITnBaMjVsWkNCMllXeDFaU0JvWlhKbElHRnpJSGRsYkd3Z0tpOWNjbHh1SUNBZ0lDQWdkbUZ5SUhaaGJIVmxJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUXpNaWdwTzF4eVhHNGdJQ0FnSUNCcFppQW9kbUZzZFdVZ1BDQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ1RHOW5MbmRoY200b1hDSkNiM2hRWVhKelpYSmNJaXdnWENKamRIUnpJR0p2ZUNCMWMyVnpJRzVsWjJGMGFYWmxJSFpoYkhWbGN5QjNhWFJvYjNWMElIVnphVzVuSUhabGNuTnBiMjRnTVZ3aUtUdGNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0IwYUdsekxuTmhiWEJzWlY5dlptWnpaWFJ6TG5CMWMyZ29kbUZzZFdVcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5SURFcElIdGNjbHh1SUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCbGJuUnllVjlqYjNWdWREc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11YzJGdGNHeGxYMk52ZFc1MGN5NXdkWE5vS0hOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrcE8xeHlYRzRnSUNBZ0lDQjBhR2x6TG5OaGJYQnNaVjl2Wm1aelpYUnpMbkIxYzJnb2MzUnlaV0Z0TG5KbFlXUkpiblF6TWlncEtUc2dMeW9nYzJsbmJtVmtJQ292WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZaR0ZqTXk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxRbTk0UTNSdmNpaGNJbVJoWXpOY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJSFJ0Y0Y5aWVYUmxNU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0IyWVhJZ2RHMXdYMko1ZEdVeUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIWmhjaUIwYlhCZllubDBaVE1nUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEdocGN5NW1jMk52WkNBOUlIUnRjRjlpZVhSbE1TQStQaUEyTzF4eVhHNGdJSFJvYVhNdVluTnBaQ0E5SUNnb2RHMXdYMko1ZEdVeElENCtJREVwSUNZZ01IZ3hSaWs3WEhKY2JpQWdkR2hwY3k1aWMyMXZaQ0E5SUNnb2RHMXdYMko1ZEdVeElDWWdNSGd4S1NBOFBDQXlLU0I4SUNnb2RHMXdYMko1ZEdVeUlENCtJRFlwSUNZZ01IZ3pLVHRjY2x4dUlDQjBhR2x6TG1GamJ
1XOWtJRDBnS0NoMGJYQmZZbmwwWlRJZ1BqNGdNeWtnSmlBd2VEY3BPMXh5WEc0Z0lIUm9hWE11YkdabGIyNGdQU0FvS0hSdGNGOWllWFJsTWlBK1BpQXlLU0FtSURCNE1TazdYSEpjYmlBZ2RHaHBjeTVpYVhSZmNtRjBaVjlqYjJSbElEMGdLSFJ0Y0Y5aWVYUmxNaUFtSURCNE15a2dmQ0FvS0hSdGNGOWllWFJsTXlBK1BpQTFLU0FtSURCNE55azdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OWtaV016TG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkNiM2hEZEc5eUtGd2laR1ZqTTF3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMllYSWdkRzF3WHpFMklEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQjBhR2x6TG1SaGRHRmZjbUYwWlNBOUlIUnRjRjh4TmlBK1BpQXpPMXh5WEc0Z0lIUm9hWE11Ym5WdFgybHVaRjl6ZFdJZ1BTQjBiWEJmTVRZZ0ppQXdlRGM3WEhKY2JpQWdkR2hwY3k1cGJtUmZjM1ZpY3lBOUlGdGRPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1dWRXMWZhVzVrWDNOMVlpQXJJREU3SUdrckt5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdsdVpGOXpkV0lnUFNCN2ZUdGNjbHh1SUNBZ0lIUm9hWE11YVc1a1gzTjFZbk11Y0hWemFDaHBibVJmYzNWaUtUdGNjbHh1SUNBZ0lIWmhjaUIwYlhCZllubDBaVEVnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNCMllYSWdkRzF3WDJKNWRHVXlJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnZG1GeUlIUnRjRjlpZVhSbE15QTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQWdJR2x1WkY5emRXSXVabk5qYjJRZ1BTQjBiWEJmWW5sMFpURWdQajRnTmp0Y2NseHVJQ0FnSUdsdVpGOXpkV0l1WW5OcFpDQTlJQ2dvZEcxd1gySjVkR1V4SUQ0K0lERXBJQ1lnTUhneFJpazdYSEpjYmlBZ0lDQnBibVJmYzNWaUxtSnpiVzlrSUQwZ0tDaDBiWEJmWW5sMFpURWdKaUF3ZURFcElEdzhJRFFwSUh3Z0tDaDBiWEJmWW5sMFpUSWdQajRnTkNrZ0ppQXdlRVlwTzF4eVhHNGdJQ0FnYVc1a1gzTjFZaTVoWTIxdlpDQTlJQ2dvZEcxd1gySjVkR1V5SUQ0K0lERXBJQ1lnTUhnM0tUdGNjbHh1SUNBZ0lHbHVaRjl6ZFdJdWJHWmxiMjRnUFNBb2RHMXdYMko1ZEdVeUlDWWdNSGd4S1R0Y2NseHVJQ0FnSUdsdVpGOXpkV0l1Ym5WdFgyUmxjRjl6ZFdJZ1BTQW9LSFJ0Y0Y5aWVYUmxNeUErUGlBeEtTQW1JREI0UmlrN1hISmNiaUFnSUNCcFppQW9hVzVrWDNOMVlpNXVkVzFmWkdWd1gzTjFZaUErSURBcElIdGNjbHh1SUNBZ0lDQWdhVzVrWDNOMVlpNWphR0Z1WDJ4dll5QTlJQ2dvZEcxd1gySjVkR1V6SUNZZ01IZ3hLU0E4UENBNEtTQjhJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OWtaa3hoTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkdkV3hzUW05NFEzUnZjaWhjSW1SbVRHRmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkbUZ5SUVKTVQwTkxWRmxRUlY5TlFWTkxJRDBnTUhnM1JqdGNjbHh1SUNCMllYSWdURUZUVkUxRlZFRkVRVlJCUWt4UFEwdEdURUZIWDAxQlUwc2dQU0F3ZURnd08xeHlYRzVjY2x4dUlDQjJZWElnWW05NFpYTkdiM1Z1WkNBOUlGdGRPMXh5WEc0Z0lIWmhjaUJyYm05M2JrSnNiMk5yVkhsd1pYTWdQU0JiWEhKY2JpQWdJQ0JjSWxOVVVrVkJUVWxPUms5Y0lpeGNjbHh1SUNBZ0lGd2lVRUZFUkVsT1Ixd2lMRnh5WEc0Z0lDQWdYQ0pCVUZCTVNVTkJWRWxQVGx3aUxGeHlYRzRnSUNBZ1hDSlRSVVZMVkVGQ1RFVmNJaXhjY2x4dUlDQWdJRndpVms5U1FrbFRYME5QVFUxRlRsUmNJaXhjY2x4dUlDQWdJRndpUTFWRlUwaEZSVlJjSWl4Y2NseHVJQ0FnSUZ3aVVFbERWRlZTUlZ3aUxGeHlYRzRnSUNBZ1hDSlNSVk5GVWxaRlJGd2lYSEpjYmlBZ1hUdGNjbHh1WEhKY2JpQWdMeThnWkdaTVlTQnBjeUJoSUVaMWJHeENiM2hjY2x4dUlDQjBhR2x6TG5CaGNuTmxSblZzYkVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc1Y2NseHVJQ0F2THlCbWIzSWdLR2s5TURzZ095QnBLeXNwSUhzZ0x5OGdkRzhnWlc1a0lHOW1JR0p2ZUZ4eVhHNGdJR1J2SUh0Y2NseHVJQ0FnSUhaaGNpQm1iR0ZuUVc1a1ZIbHdaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVYSEpjYmlBZ0lDQjJZWElnZEhsd1pTQTlJRTFoZEdndWJXbHVLRnh5WEc0Z0lDQWdJQ0FvWm14aFowRnVaRlI1Y0dVZ0ppQkNURTlEUzFSWlVFVmZUVUZUU3lrc1hISmNiaUFnSUNBZ0lDaHJibTkzYmtKc2IyTnJWSGx3WlhNdWJHVnVaM1JvSUMwZ01TbGNjbHh1SUNBZ0lDazdYSEpjYmx4eVhHNGdJQ0FnTHk4Z2FXWWdkR2hwY3lCcGN5QmhJRk5VVWtWQlRVbE9SazhnWW14dlkyc3NJSEpsWVdRZ2RHaGxJSFJ5ZFdVZ2MyRnRjR3hsY21GMFpTQnphVzVqWlNCMGFHbHpYSEpjYmlBZ0lDQXZMeUJqWVc0Z1ltVWdaR2xtWm1WeVpXNTBJSFJ2SUhSb1pTQkJkV1JwYjFOaGJYQnNaVVZ1ZEhKNUlITmhiWEJzWlhKaGRHVXVY
1SEpjYmlBZ0lDQnBaaUFvSVNoMGVYQmxLU2tnZTF4eVhHNGdJQ0FnSUNBdkx5QnlaV0ZrSUhCaGMzUWdZV3hzSUhSb1pTQnZkR2hsY2lCemRIVm1abHh5WEc0Z0lDQWdJQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRRWEp5WVhrb01UTXBPMXh5WEc1Y2NseHVJQ0FnSUNBZ0x5OGdaWGgwY21GamRDQnpZVzF3YkdWeVlYUmxYSEpjYmlBZ0lDQWdJSFJvYVhNdWMyRnRjR3hsY21GMFpTQTlJQ2h6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwSUQ0K0lERXlLVHRjY2x4dVhISmNiaUFnSUNBZ0lDOHZJSEpsWVdRZ2RHOGdaVzVrSUc5bUlGTlVVa1ZCVFVsT1JrOWNjbHh1SUNBZ0lDQWdjM1J5WldGdExuSmxZV1JWYVc1ME9FRnljbUY1S0RJd0tUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDOHZJRzV2ZENCcGJuUmxjbVZ6ZEdWa0lHbHVJRzkwYUdWeUlHSnNiMk5ySUhSNWNHVnpJSE52SUdwMWMzUWdaR2x6WTJGeVpDQnNaVzVuZEdnZ1lubDBaWE5jY2x4dUlDQWdJQ0FnYzNSeVpXRnRMbkpsWVdSVmFXNTBPRUZ5Y21GNUtITjBjbVZoYlM1eVpXRmtWV2x1ZERJMEtDa3BPMXh5WEc0Z0lDQWdmVnh5WEc1Y2NseHVJQ0FnSUdKdmVHVnpSbTkxYm1RdWNIVnphQ2hyYm05M2JrSnNiMk5yVkhsd1pYTmJkSGx3WlYwcE8xeHlYRzVjY2x4dUlDQWdJR2xtSUNnaElTaG1iR0ZuUVc1a1ZIbHdaU0FtSUV4QlUxUk5SVlJCUkVGVVFVSk1UME5MUmt4QlIxOU5RVk5MS1NrZ2UxeHlYRzRnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5SUhkb2FXeGxJQ2gwY25WbEtUdGNjbHh1WEhKY2JpQWdkR2hwY3k1dWRXMU5aWFJoWkdGMFlVSnNiMk5yY3lBOVhISmNiaUFnSUNCaWIzaGxjMFp2ZFc1a0xteGxibWQwYUNBcklGd2lJQ2hjSWlBcklHSnZlR1Z6Um05MWJtUXVhbTlwYmloY0lpd2dYQ0lwSUNzZ1hDSXBYQ0k3WEhKY2JuMHBPMXh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwyUnBiVzB1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpVSnZlRU4wYjNJb1hDSmthVzF0WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVZbmwwWlhOelpXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBOalFvS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDJSdFlYZ3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKa2JXRjRYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWRHbHRaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5a2JXVmtMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aVpHMWxaRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtSjVkR1Z6YzJWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREWTBLQ2s3WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTlrVDNCekxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZDYjNoRGRHOXlLRndpWkU5d2Mxd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TGxabGNuTnBiMjRnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEdocGN5NVBkWFJ3ZFhSRGFHRnVibVZzUTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdkR2hwY3k1UWNtVlRhMmx3SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMa2x1Y0hWMFUyRnRjR3hsVW1GMFpTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdkR2hwY3k1UGRYUndkWFJIWVdsdUlEMGdjM1J5WldGdExuSmxZV1JKYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11UTJoaGJtNWxiRTFoY0hCcGJtZEdZVzFwYkhrZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ2FXWWdLSFJvYVhNdVEyaGhibTVsYkUxaGNIQnBibWRHWVcxcGJIa2dJVDA5SURBcElIdGNjbHh1SUNBZ0lIUm9hWE11VTNSeVpXRnRRMjkxYm5RZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ0lDQjBhR2x6TGtOdmRYQnNaV1JEYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQWdJSFJvYVhNdVEyaGhibTVsYkUxaGNIQnBibWNnUFNCYlhUdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1UGRYUndkWFJEYUdGdWJtVnNRMjkxYm5RN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMa05vWVc1dVpXeE5ZWEJ3YVc1blcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMlJ5WldZdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aVpISmxabHdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IyWVhJZ2NtVjBPMXh5WEc0Z0lIWmhjaUJpYjNnN1hISmNiaUFnZEdocGN5NWxiblJ5YVdWeklEMGdXMTA3WEhKY2JpQWdkbUZ5SUdWdWRISjVYMk52ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR1Z1ZEhKNVgyTnZkVzUwT3lCcEt5c3BJSHRjY2x4dUlDQWdJSEpsZENBOUlFSnZlRkJoY25ObGNpNXdZWEp6WlU5dVpVSnZlQ2h6ZEhKbFlXMHNJR1poYkhObExDQjBhR2x6TG5OcGVtVWdMU0FvYzNSeVpXRnRMbWRsZEZCdmMybDBhVzl1S0NrZ0xTQjBhR2x6TG5OMFlYSjBLU2s3WEhKY2JpQWdJQ0JwWmlBb2NtVjBMbU52WkdVZ1BUMDlJRUp2ZUZCaGNuTmxjaTVQU3lrZ2UxeHlYRzRnSUNBZ0lDQmliM2dnUFNCeVpYUXVZbTk0TzF4eVhHNGdJQ0FnSUNCMGFHbHpMbVZ1ZEhKcFpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDJSeVpYQXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKa2NtVndYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdVlubDBaWE56Wlc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME5qUW9LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMlZzYm1jdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aVpXeHVaMXdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtVjRkR1Z1WkdWa1gyeGhibWQxWVdkbElEMGdjM1J5WldGdExuSmxZV1JUZEhKcGJtY29kR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTazdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OWxiSE4wTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkdkV3hzUW05NFEzUnZjaWhjSW1Wc2MzUmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1bGJuUnlhV1Z6SUQwZ1cxMDdYSEpjYmlBZ2RtRnlJR1Z1ZEhKNVgyTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHVnVkSEo1WDJOdmRXNTBPeUJwS3lzcElIdGNjbHh1SUNBZ0lIWmhjaUJsYm5SeWVTQTlJSHQ5TzF4eVhHNGdJQ0FnZEdocGN5NWxiblJ5YVdWekxuQjFjMmdvWlc1MGNua3BPMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTVNrZ2UxeHlYRzRnSUNBZ0lDQmxiblJ5ZVM1elpXZHR
1aVzUwWDJSMWNtRjBhVzl1SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTmpRb0tUdGNjbHh1SUNBZ0lDQWdaVzUwY25rdWJXVmthV0ZmZEdsdFpTQTlJSE4wY21WaGJTNXlaV0ZrU1c1ME5qUW9LVHRjY2x4dUlDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJR1Z1ZEhKNUxuTmxaMjFsYm5SZlpIVnlZWFJwYjI0Z1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdJQ0JsYm5SeWVTNXRaV1JwWVY5MGFXMWxJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUXpNaWdwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnWlc1MGNua3ViV1ZrYVdGZmNtRjBaVjlwYm5SbFoyVnlJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUXhOaWdwTzF4eVhHNGdJQ0FnWlc1MGNua3ViV1ZrYVdGZmNtRjBaVjltY21GamRHbHZiaUE5SUhOMGNtVmhiUzV5WldGa1NXNTBNVFlvS1R0Y2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTlsYlhObkxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0ltVnRjMmRjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnYVdZZ0tIUm9hWE11ZG1WeWMybHZiaUE5UFNBeEtTQjdYSEpjYmlBZ0lDQjBhR2x6TG5ScGJXVnpZMkZzWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG5CeVpYTmxiblJoZEdsdmJsOTBhVzFsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTmpRb0tUdGNjbHh1SUNBZ0lIUm9hWE11WlhabGJuUmZaSFZ5WVhScGIyNGdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnZEdocGN5NXBaQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCMGFHbHpMbk5qYUdWdFpWOXBaRjkxY21rZ1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dUlDQWdJSFJvYVhNdWRtRnNkV1VnUFNCemRISmxZVzB1Y21WaFpFTlRkSEpwYm1jb0tUdGNjbHh1SUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnZEdocGN5NXpZMmhsYldWZmFXUmZkWEpwSUQwZ2MzUnlaV0Z0TG5KbFlXUkRVM1J5YVc1bktDazdYSEpjYmlBZ0lDQjBhR2x6TG5aaGJIVmxJRDBnYzNSeVpXRnRMbkpsWVdSRFUzUnlhVzVuS0NrN1hISmNiaUFnSUNCMGFHbHpMblJwYldWelkyRnNaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCMGFHbHpMbkJ5WlhObGJuUmhkR2x2Ymw5MGFXMWxYMlJsYkhSaElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJSFJvYVhNdVpYWmxiblJmWkhWeVlYUnBiMjRnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUNBZ2RHaHBjeTVwWkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2ZWeHlYRzRnSUhaaGNpQnRaWE56WVdkbFgzTnBlbVVnUFNCMGFHbHpMbk5wZW1VZ0xTQjBhR2x6TG1oa2NsOXphWHBsSUMwZ0tEUWdLaUEwSUNzZ0tIUm9hWE11YzJOb1pXMWxYMmxrWDNWeWFTNXNaVzVuZEdnZ0t5QXhLU0FySUNoMGFHbHpMblpoYkhWbExteGxibWQwYUNBcklERXBLVHRjY2x4dUlDQnBaaUFvZEdocGN5NTJaWEp6YVc5dUlEMDlJREVwSUh0Y2NseHVJQ0FnSUcxbGMzTmhaMlZmYzJsNlpTQXRQU0EwTzF4eVhHNGdJSDFjY2x4dUlDQjBhR2x6TG0xbGMzTmhaMlZmWkdGMFlTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREaEJjbkpoZVNodFpYTnpZV2RsWDNOcGVtVXBPMXh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZaWE5rY3k1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKbGMyUnpYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCbGMyUmZaR0YwWVNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERoQmNuSmhlU2gwYUdsekxuTnBlbVVnTFNCMGFHbHpMbWhrY2w5emFYcGxLVHRjY2x4dUlDQnBaaUFvZEhsd1pXOW1JRTFRUlVjMFJHVnpZM0pwY0hSdmNsQmhjbk5sY2lBaFBUMGdYQ0oxYm1SbFptbHVaV1JjSWlrZ2UxeHlYRzRnSUNBZ2RtRnlJR1Z6WkY5d1lYSnpaWElnUFNCdVpYY2dUVkJGUnpSRVpYTmpjbWx3ZEc5eVVHRnljMlZ5S0NrN1hISmNiaUFnSUNCMGFHbHpMbVZ6WkNBOUlHVnpaRjl3WVhKelpYSXVjR0Z5YzJWUGJtVkVaWE5qY21sd2RHOXlLRzVsZHlCRVlYUmhVM1J5WldGdEtHVnpaRjlrWVhSaExtSjFabVpsY2l3Z01Dd2dSR0YwWVZOMGNtVmhiUzVDU1VkZlJVNUVTVUZPS1NrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2Wm1sbGJDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUW05NFEzUnZjaWhjSW1acFpXeGNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1bWFXVnNaRU52ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIUm9hWE11Wm1sbGJHUlBjbVJsY21sdVp5QTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMlp5YldFdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVUp2ZUVOMGIzSW9YQ0ptY20xaFhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11WkdGMFlWOW1iM0p0WVhRZ1BTQnpkSEpsWVcwdWNtVmhaRk4wY21sdVp5ZzBLVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMlowZVhBdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVUp2ZUVOMGIzSW9YQ0ptZEhsd1hDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIWmhjaUIwYjNCaGNuTmxJRDBnZEdocGN5NXphWHBsSUMwZ2RHaHBjeTVvWkhKZmMybDZaVHRjY2x4dUlDQjBhR2x6TG0xaGFtOXlYMkp5WVc1a0lEMGdjM1J5WldGdExuSmxZV1JUZEhKcGJtY29OQ2s3WEhKY2JpQWdkR2hwY3k1dGFXNXZjbDkyWlhKemFXOXVJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0IwYjNCaGNuTmxJQzA5SURnN1hISmNiaUFnZEdocGN5NWpiMjF3WVhScFlteGxYMkp5WVc1a2N5QTlJRnRkTzF4eVhHNGdJSFpoY2lCcElEMGdNRHRjY2x4dUlDQjNhR2xzWlNBb2RHOXdZWEp6WlNBK1BTQTBLU0I3WEhKY2JpQWdJQ0IwYUdsekxtTnZiWEJoZEdsaWJHVmZZbkpoYm1SelcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVGRISnBibWNvTkNrN1hISmNiaUFnSUNCMGIzQmhjbk5sSUMwOUlEUTdYSEpjYmlBZ0lDQnBLeXM3WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZhR1JzY2k1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKb1pHeHlYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJR2xtSUNo
1MGFHbHpMblpsY25OcGIyNGdQVDA5SURBcElIdGNjbHh1SUNBZ0lITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG1oaGJtUnNaWElnUFNCemRISmxZVzB1Y21WaFpGTjBjbWx1WnlnMEtUdGNjbHh1SUNBZ0lITjBjbVZoYlM1eVpXRmtWV2x1ZERNeVFYSnlZWGtvTXlrN1hISmNiaUFnSUNCMGFHbHpMbTVoYldVZ1BTQnpkSEpsWVcwdWNtVmhaRk4wY21sdVp5aDBhR2x6TG5OcGVtVWdMU0IwYUdsekxtaGtjbDl6YVhwbElDMGdNakFwTzF4eVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1GdFpWdDBhR2x6TG01aGJXVXViR1Z1WjNSb0lDMGdNVjBnUFQwOUlGd2lYRnd3WENJcElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1dVlXMWxJRDBnZEdocGN5NXVZVzFsTG5Oc2FXTmxLREFzSUMweEtUdGNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5b2RtTkRMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aWFIWmpRMXdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IyWVhJZ2FTd2dhanRjY2x4dUlDQjJZWElnYm1KZmJtRnNkWE03WEhKY2JpQWdkbUZ5SUd4bGJtZDBhRHRjY2x4dUlDQjJZWElnZEcxd1gySjVkR1U3WEhKY2JpQWdkR2hwY3k1amIyNW1hV2QxY21GMGFXOXVWbVZ5YzJsdmJpQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQjBiWEJmWW5sMFpTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQjBhR2x6TG1kbGJtVnlZV3hmY0hKdlptbHNaVjl6Y0dGalpTQTlJSFJ0Y0Y5aWVYUmxJRDQrSURZN1hISmNiaUFnZEdocGN5NW5aVzVsY21Gc1gzUnBaWEpmWm14aFp5QTlJQ2gwYlhCZllubDBaU0FtSURCNE1qQXBJRDQrSURVN1hISmNiaUFnZEdocGN5NW5aVzVsY21Gc1gzQnliMlpwYkdWZmFXUmpJRDBnS0hSdGNGOWllWFJsSUNZZ01IZ3hSaWs3WEhKY2JpQWdkR2hwY3k1blpXNWxjbUZzWDNCeWIyWnBiR1ZmWTI5dGNHRjBhV0pwYkdsMGVTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdkR2hwY3k1blpXNWxjbUZzWDJOdmJuTjBjbUZwYm5SZmFXNWthV05oZEc5eUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9FRnljbUY1S0RZcE8xeHlYRzRnSUhSb2FYTXVaMlZ1WlhKaGJGOXNaWFpsYkY5cFpHTWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdkR2hwY3k1dGFXNWZjM0JoZEdsaGJGOXpaV2R0Wlc1MFlYUnBiMjVmYVdSaklEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LU0FtSURCNFJrWkdPMXh5WEc0Z0lIUm9hWE11Y0dGeVlXeHNaV3hwYzIxVWVYQmxJRDBnS0hOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1NBbUlEQjRNeWs3WEhKY2JpQWdkR2hwY3k1amFISnZiV0ZmWm05eWJXRjBYMmxrWXlBOUlDaHpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDa2dKaUF3ZURNcE8xeHlYRzRnSUhSb2FYTXVZbWwwWDJSbGNIUm9YMngxYldGZmJXbHVkWE00SUQwZ0tITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tTQW1JREI0TnlrN1hISmNiaUFnZEdocGN5NWlhWFJmWkdWd2RHaGZZMmh5YjIxaFgyMXBiblZ6T0NBOUlDaHpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDa2dKaUF3ZURjcE8xeHlYRzRnSUhSb2FYTXVZWFpuUm5KaGJXVlNZWFJsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGJYQmZZbmwwWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCMGFHbHpMbU52Ym5OMFlXNTBSbkpoYldWU1lYUmxJRDBnS0hSdGNGOWllWFJsSUQ0K0lEWXBPMXh5WEc0Z0lIUm9hWE11Ym5WdFZHVnRjRzl5WVd4TVlYbGxjbk1nUFNBb2RHMXdYMko1ZEdVZ0ppQXdXRVFwSUQ0K0lETTdYSEpjYmlBZ2RHaHBjeTUwWlcxd2IzSmhiRWxrVG1WemRHVmtJRDBnS0hSdGNGOWllWFJsSUNZZ01GZzBLU0ErUGlBeU8xeHlYRzRnSUhSb2FYTXViR1Z1WjNSb1UybDZaVTFwYm5WelQyNWxJRDBnS0hSdGNGOWllWFJsSUNZZ01GZ3pLVHRjY2x4dVhISmNiaUFnZEdocGN5NXVZV3gxWDJGeWNtRjVjeUE5SUZ0ZE8xeHlYRzRnSUhaaGNpQnVkVzFQWmtGeWNtRjVjeUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2diblZ0VDJaQmNuSmhlWE03SUdrckt5a2dlMXh5WEc0Z0lDQWdkbUZ5SUc1aGJIVmZZWEp5WVhrZ1BTQmJYVHRjY2x4dUlDQWdJSFJvYVhNdWJtRnNkVjloY25KaGVYTXVjSFZ6YUNodVlXeDFYMkZ5Y21GNUtUdGNjbHh1SUNBZ0lIUnRjRjlpZVhSbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lDQWdibUZzZFY5aGNuSmhlUzVqYjIxd2JHVjBaVzVsYzNNZ1BTQW9kRzF3WDJKNWRHVWdKaUF3ZURnd0tTQStQaUEzTzF4eVhHNGdJQ0FnYm1Gc2RWOWhjbkpoZVM1dVlXeDFYM1I1Y0dVZ1BTQjBiWEJmWW5sMFpTQW1JREI0TTBZN1hISmNiaUFnSUNCMllYSWdiblZ0VG1Gc2RYTWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnWm05eUlDaHFJRDBnTURzZ2FpQThJRzUxYlU1aGJIVnpPeUJxS3lzcElIdGNjbHh1SUNBZ0lDQWdkbUZ5SUc1aGJIVWdQU0I3ZlR0Y2NseHVJQ0FnSUNBZ2JtRnNkVjloY25KaGVTNXdkWE5vS0c1aGJIVXBPMXh5WEc0Z0lDQWdJQ0JzWlc1bmRHZ2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnSUNCdVlXeDFMbVJoZEdFZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNFFYSnlZWGtvYkdWdVozUm9LVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXBhVzVtTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkdkV3hzUW05NFEzUnZjaWhjSW1scGJtWmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkbUZ5SUhKbGREdGNjbHh1SUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0IwYUdsekxtVnVkSEo1WDJOdmRXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdkR2hwY3k1bGJuUnllVjlqYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdmVnh5WEc0Z0lIUm9hWE11YVhSbGJWOXBibVp2Y3lBOUlGdGRPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1bGJuUnllVjlqYjNWdWREc2dhU3NyS1NCN1hISmNiaUFnSUNCeVpYUWdQU0JDYjNoUVlYSnpaWEl1Y0dGeWMyVlBibVZDYjNnb2MzUnlaV0Z0TENCbVlXeHpaU3dnZEdocGN5NXphWHBsSUMwZ0tITjBjbVZoYlM1blpYUlFiM05wZEdsdmJpZ3BJQzBnZEdocGN5NXpkR0Z5ZENrcE8xeHlYRzRnSUNBZ2FXWWdLSEpsZEM1amIyUmxJRDA5UFNCQ2IzaFFZWEp6WlhJdVQwc3BJSHRjY2x4dUlDQWdJQ0FnYVdZZ0tISmxkQzVpYjNndWRIbHdaU0FoUFQwZ1hDSnBibVpsWENJcElIdGNjbHh1SUNBZ0lDQWdJQ0JNYjJjdVpYSnliM0lvWENKQ2IzaFFZWEp6WlhKY0lpd2dYQ0pGZUhCbFkzUmxaQ0FuYVc1bVpTY2dZbTk0TENCbmIzUWdYQ0lnS3lCeVpYUXVZbT
1k0TG5SNWNHVXBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUhSb2FYTXVhWFJsYlY5cGJtWnZjMXRwWFNBOUlISmxkQzVpYjNnN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCeVpYUjFjbTQ3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZhV3h2WXk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKcGJHOWpYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCaWVYUmxPMXh5WEc0Z0lHSjVkR1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEdocGN5NXZabVp6WlhSZmMybDZaU0E5SUNoaWVYUmxJRDQrSURRcElDWWdNSGhHTzF4eVhHNGdJSFJvYVhNdWJHVnVaM1JvWDNOcGVtVWdQU0JpZVhSbElDWWdNSGhHTzF4eVhHNGdJR0o1ZEdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ2RHaHBjeTVpWVhObFgyOW1abk5sZEY5emFYcGxJRDBnS0dKNWRHVWdQajRnTkNrZ0ppQXdlRVk3WEhKY2JpQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTVNCOGZDQjBhR2x6TG5abGNuTnBiMjRnUFQwOUlESXBJSHRjY2x4dUlDQWdJSFJvYVhNdWFXNWtaWGhmYzJsNlpTQTlJR0o1ZEdVZ0ppQXdlRVk3WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lIUm9hWE11YVc1a1pYaGZjMmw2WlNBOUlEQTdYSEpjYmlBZ0lDQXZMeUJ5WlhObGNuWmxaQ0E5SUdKNWRHVWdKaUF3ZUVZN1hISmNiaUFnZlZ4eVhHNGdJSFJvYVhNdWFYUmxiWE1nUFNCYlhUdGNjbHh1SUNCMllYSWdhWFJsYlY5amIzVnVkQ0E5SURBN1hISmNiaUFnYVdZZ0tIUm9hWE11ZG1WeWMybHZiaUE4SURJcElIdGNjbHh1SUNBZ0lHbDBaVzFmWTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSDBnWld4elpTQnBaaUFvZEdocGN5NTJaWEp6YVc5dUlEMDlQU0F5S1NCN1hISmNiaUFnSUNCcGRHVnRYMk52ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ2RHaHliM2NnWENKMlpYSnphVzl1SUc5bUlHbHNiMk1nWW05NElHNXZkQ0J6ZFhCd2IzSjBaV1JjSWp0Y2NseHVJQ0I5WEhKY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JwZEdWdFgyTnZkVzUwT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFpoY2lCcGRHVnRJRDBnZTMwN1hISmNiaUFnSUNCMGFHbHpMbWwwWlcxekxuQjFjMmdvYVhSbGJTazdYSEpjYmlBZ0lDQnBaaUFvZEdocGN5NTJaWEp6YVc5dUlEd2dNaWtnZTF4eVhHNGdJQ0FnSUNCcGRHVnRMbWwwWlcxZlNVUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMblpsY25OcGIyNGdQVDA5SURJcElIdGNjbHh1SUNBZ0lDQWdhWFJsYlM1cGRHVnRYMGxFSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lIUm9jbTkzSUZ3aWRtVnljMmx2YmlCdlppQnBiRzlqSUdKdmVDQnViM1FnYzNWd2NHOXlkR1ZrWENJN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXhJSHg4SUhSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTWlrZ2UxeHlYRzRnSUNBZ0lDQnBkR1Z0TG1OdmJuTjBjblZqZEdsdmJsOXRaWFJvYjJRZ1BTQW9jM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LU0FtSURCNFJpazdYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQnBkR1Z0TG1OdmJuTjBjblZqZEdsdmJsOXRaWFJvYjJRZ1BTQXdPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhWFJsYlM1a1lYUmhYM0psWm1WeVpXNWpaVjlwYm1SbGVDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdJQ0J6ZDJsMFkyZ2dLSFJvYVhNdVltRnpaVjl2Wm1aelpYUmZjMmw2WlNrZ2UxeHlYRzRnSUNBZ0lDQmpZWE5sSURBNlhISmNiaUFnSUNBZ0lDQWdhWFJsYlM1aVlYTmxYMjltWm5ObGRDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUdOaGMyVWdORHBjY2x4dUlDQWdJQ0FnSUNCcGRHVnRMbUpoYzJWZmIyWm1jMlYwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdZMkZ6WlNBNE9seHlYRzRnSUNBZ0lDQWdJR2wwWlcwdVltRnpaVjl2Wm1aelpYUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTJOQ2dwTzF4eVhHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4eVhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUZ3aVJYSnliM0lnY21WaFpHbHVaeUJpWVhObElHOW1abk5sZENCemFYcGxYQ0k3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0IyWVhJZ1pYaDBaVzUwWDJOdmRXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0FnSUdsMFpXMHVaWGgwWlc1MGN5QTlJRnRkTzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENCbGVIUmxiblJmWTI5MWJuUTdJR29yS3lrZ2UxeHlYRzRnSUNBZ0lDQjJZWElnWlhoMFpXNTBJRDBnZTMwN1hISmNiaUFnSUNBZ0lHbDBaVzB1WlhoMFpXNTBjeTV3ZFhOb0tHVjRkR1Z1ZENrN1hISmNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuWmxjbk5wYjI0Z1BUMDlJREVnZkh3Z2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBeUtTQjdYSEpjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2gwYUdsekxtbHVaR1Y0WDNOcGVtVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnTURwY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWlhoMFpXNTBMbVY0ZEdWdWRGOXBibVJsZUNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNBME9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGVIUmxiblF1WlhoMFpXNTBYMmx1WkdWNElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElEZzZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVjRkR1Z1ZEM1bGVIUmxiblJmYVc1a1pYZ2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTJOQ2dwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUdSbFptRjFiSFE2WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lGd2lSWEp5YjNJZ2NtVmhaR2x1WnlCbGVIUmxiblFnYVc1a1pYaGNJanRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lIMWNjbH
1h1SUNBZ0lDQWdjM2RwZEdOb0lDaDBhR2x6TG05bVpuTmxkRjl6YVhwbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWTJGelpTQXdPbHh5WEc0Z0lDQWdJQ0FnSUNBZ1pYaDBaVzUwTG1WNGRHVnVkRjl2Wm1aelpYUWdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lDQWdZMkZ6WlNBME9seHlYRzRnSUNBZ0lDQWdJQ0FnWlhoMFpXNTBMbVY0ZEdWdWRGOXZabVp6WlhRZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUNBZ1kyRnpaU0E0T2x4eVhHNGdJQ0FnSUNBZ0lDQWdaWGgwWlc1MExtVjRkR1Z1ZEY5dlptWnpaWFFnUFNCemRISmxZVzB1Y21WaFpGVnBiblEyTkNncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjY2x4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUZ3aVJYSnliM0lnY21WaFpHbHVaeUJsZUhSbGJuUWdhVzVrWlhoY0lqdGNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0J6ZDJsMFkyZ2dLSFJvYVhNdWJHVnVaM1JvWDNOcGVtVXBJSHRjY2x4dUlDQWdJQ0FnSUNCallYTmxJREE2WEhKY2JpQWdJQ0FnSUNBZ0lDQmxlSFJsYm5RdVpYaDBaVzUwWDJ4bGJtZDBhQ0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0JqWVhObElEUTZYSEpjYmlBZ0lDQWdJQ0FnSUNCbGVIUmxiblF1WlhoMFpXNTBYMnhsYm1kMGFDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUNBZ0lDQmpZWE5sSURnNlhISmNiaUFnSUNBZ0lDQWdJQ0JsZUhSbGJuUXVaWGgwWlc1MFgyeGxibWQwYUNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4eVhHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1hDSkZjbkp2Y2lCeVpXRmthVzVuSUdWNGRHVnVkQ0JwYm1SbGVGd2lPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZhVzFwY2k1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxRbTk0UTNSdmNpaGNJbWx0YVhKY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJSFJ0Y0NBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCMGFHbHpMbkpsYzJWeWRtVmtJRDBnZEcxd0lENCtJRGM3WEhKY2JpQWdkR2hwY3k1aGVHbHpJRDBnZEcxd0lDWWdNVHRjY2x4dWZTazdMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTlwYm1abExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0ltbHVabVZjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnYVdZZ0tIUm9hWE11ZG1WeWMybHZiaUE5UFQwZ01DQjhmQ0IwYUdsekxuWmxjbk5wYjI0Z1BUMDlJREVwSUh0Y2NseHVJQ0FnSUhSb2FYTXVhWFJsYlY5SlJDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtbDBaVzFmY0hKdmRHVmpkR2x2Ymw5cGJtUmxlQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnSUNCMGFHbHpMbWwwWlcxZmJtRnRaU0E5SUhOMGNtVmhiUzV5WldGa1ExTjBjbWx1WnlncE8xeHlYRzRnSUNBZ2RHaHBjeTVqYjI1MFpXNTBYM1I1Y0dVZ1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dUlDQWdJSFJvYVhNdVkyOXVkR1Z1ZEY5bGJtTnZaR2x1WnlBOUlITjBjbVZoYlM1eVpXRmtRMU4wY21sdVp5Z3BPMXh5WEc0Z0lIMWNjbHh1SUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0IwYUdsekxtVjRkR1Z1YzJsdmJsOTBlWEJsSUQwZ2MzUnlaV0Z0TG5KbFlXUlRkSEpwYm1jb05DazdYSEpjYmlBZ0lDQk1iMmN1ZDJGeWJpaGNJa0p2ZUZCaGNuTmxjbHdpTENCY0lrTmhibTV2ZENCd1lYSnpaU0JsZUhSbGJuTnBiMjRnZEhsd1pWd2lLVHRjY2x4dUlDQWdJSE4wY21WaGJTNXpaV1ZyS0hSb2FYTXVjM1JoY25RZ0t5QjBhR2x6TG5OcGVtVXBPMXh5WEc0Z0lDQWdjbVYwZFhKdU8xeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDQ5SURJcElIdGNjbHh1SUNBZ0lHbG1JQ2gwYUdsekxuWmxjbk5wYjI0Z1BUMDlJRElwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVwZEdWdFgwbEVJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBektTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdWFYUmxiVjlKUkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQjBhR2x6TG1sMFpXMWZjSEp2ZEdWamRHbHZibDlwYm1SbGVDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtbDBaVzFmZEhsd1pTQTlJSE4wY21WaGJTNXlaV0ZrVTNSeWFXNW5LRFFwTzF4eVhHNGdJQ0FnZEdocGN5NXBkR1Z0WDI1aGJXVWdQU0J6ZEhKbFlXMHVjbVZoWkVOVGRISnBibWNvS1R0Y2NseHVJQ0FnSUdsbUlDaDBhR2x6TG1sMFpXMWZkSGx3WlNBOVBUMGdYQ0p0YVcxbFhDSXBJSHRjY2x4dUlDQWdJQ0FnZEdocGN5NWpiMjUwWlc1MFgzUjVjR1VnUFNCemRISmxZVzB1Y21WaFpFTlRkSEpwYm1jb0tUdGNjbHh1SUNBZ0lDQWdkR2hwY3k1amIyNTBaVzUwWDJWdVkyOWthVzVuSUQwZ2MzUnlaV0Z0TG5KbFlXUkRVM1J5YVc1bktDazdYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWFYUmxiVjkwZVhCbElEMDlQU0JjSW5WeWFTQmNJaWtnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbWwwWlcxZmRYSnBYM1I1Y0dVZ1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wcE8xeHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDJsd2JXRXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVaMWJHeENiM2hEZEc5eUtGd2lhWEJ0WVZ3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMllYSWdhU3dnYWp0Y2NseHVJQ0IyWVhJZ1pXNTBjbmxmWTI
15MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJSFJvYVhNdVlYTnpiMk5wWVhScGIyNXpJRDBnVzEwN1hISmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJR1Z1ZEhKNVgyTnZkVzUwT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFpoY2lCcGRHVnRYMkZ6YzI5aklEMGdlMzA3WEhKY2JpQWdJQ0IwYUdsekxtRnpjMjlqYVdGMGFXOXVjeTV3ZFhOb0tHbDBaVzFmWVhOemIyTXBPMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQThJREVwSUh0Y2NseHVJQ0FnSUNBZ2FYUmxiVjloYzNOdll5NXBaQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCcGRHVnRYMkZ6YzI5akxtbGtJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhaaGNpQmhjM052WTJsaGRHbHZibDlqYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQWdJR2wwWlcxZllYTnpiMk11Y0hKdmNITWdQU0JiWFR0Y2NseHVJQ0FnSUdadmNpQW9haUE5SURBN0lHb2dQQ0JoYzNOdlkybGhkR2x2Ymw5amIzVnVkRHNnYWlzcktTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCMGJYQWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0FnSUhaaGNpQndJRDBnZTMwN1hISmNiaUFnSUNBZ0lHbDBaVzFmWVhOemIyTXVjSEp2Y0hNdWNIVnphQ2h3S1R0Y2NseHVJQ0FnSUNBZ2NDNWxjM05sYm5ScFlXd2dQU0FvS0hSdGNDQW1JREI0T0RBcElENCtJRGNwSUQwOVBTQXhPMXh5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVtYkdGbmN5QW1JREI0TVNrZ2UxeHlYRzRnSUNBZ0lDQWdJSEF1Y0hKdmNHVnlkSGxmYVc1a1pYZ2dQU0FvZEcxd0lDWWdNSGczUmlrZ1BEd2dPQ0I4SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQndMbkJ5YjNCbGNuUjVYMmx1WkdWNElEMGdLSFJ0Y0NBbUlEQjROMFlwTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YVhKbFppNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnBjbVZtWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQnlaWFE3WEhKY2JpQWdkbUZ5SUdWdWRISjVRMjkxYm5RN1hISmNiaUFnZG1GeUlHSnZlRHRjY2x4dUlDQjBhR2x6TG5KbFptVnlaVzVqWlhNZ1BTQmJYVHRjY2x4dVhISmNiaUFnZDJocGJHVWdLSE4wY21WaGJTNW5aWFJRYjNOcGRHbHZiaWdwSUR3Z2RHaHBjeTV6ZEdGeWRDQXJJSFJvYVhNdWMybDZaU2tnZTF4eVhHNGdJQ0FnY21WMElEMGdRbTk0VUdGeWMyVnlMbkJoY25ObFQyNWxRbTk0S0hOMGNtVmhiU3dnZEhKMVpTd2dkR2hwY3k1emFYcGxJQzBnS0hOMGNtVmhiUzVuWlhSUWIzTnBkR2x2YmlncElDMGdkR2hwY3k1emRHRnlkQ2twTzF4eVhHNGdJQ0FnYVdZZ0tISmxkQzVqYjJSbElEMDlQU0JDYjNoUVlYSnpaWEl1VDBzcElIdGNjbHh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJR0p2ZUNBOUlHNWxkeUJDYjNoUVlYSnpaWEl1VTJsdVoyeGxTWFJsYlZSNWNHVlNaV1psY21WdVkyVkNiM2dvY21WMExuUjVjR1VzSUhKbGRDNXphWHBsTENCeVpYUXVhR1J5WDNOcGVtVXNJSEpsZEM1emRHRnlkQ2s3WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ1ltOTRJRDBnYm1WM0lFSnZlRkJoY25ObGNpNVRhVzVuYkdWSmRHVnRWSGx3WlZKbFptVnlaVzVqWlVKdmVFeGhjbWRsS0hKbGRDNTBlWEJsTENCeVpYUXVjMmw2WlN3Z2NtVjBMbWhrY2w5emFYcGxMQ0J5WlhRdWMzUmhjblFwTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lHbG1JQ2hpYjNndWQzSnBkR1VnUFQwOUlFSnZlRkJoY25ObGNpNUNiM2d1Y0hKdmRHOTBlWEJsTG5keWFYUmxJQ1ltSUdKdmVDNTBlWEJsSUNFOVBTQmNJbTFrWVhSY0lpa2dlMXh5WEc0Z0lDQWdJQ0FnSUV4dlp5NTNZWEp1S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJR0p2ZUM1MGVYQmxJQ3NnWENJZ1ltOTRJSGR5YVhScGJtY2dibTkwSUhsbGRDQnBiWEJzWlcxbGJuUmxaQ3dnYTJWbGNHbHVaeUIxYm5CaGNuTmxaQ0JrWVhSaElHbHVJRzFsYlc5eWVTQm1iM0lnYkdGMFpYSWdkM0pwZEdWY0lpazdYSEpjYmlBZ0lDQWdJQ0FnWW05NExuQmhjbk5sUkdGMFlVRnVaRkpsZDJsdVpDaHpkSEpsWVcwcE8xeHlYRzRnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJR0p2ZUM1d1lYSnpaU2h6ZEhKbFlXMHBPMXh5WEc0Z0lDQWdJQ0IwYUdsekxuSmxabVZ5Wlc1alpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZhWEp2ZEM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxRbTk0UTNSdmNpaGNJbWx5YjNSY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTVoYm1kc1pTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LU0FtSURCNE16dGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwybHpjR1V1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpVWjFiR3hDYjNoRGRHOXlLRndpYVhOd1pWd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG1sdFlXZGxYM2RwWkhSb0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG1sdFlXZGxYMmhsYVdkb2RDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JuMHBPeTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YTJsdVpDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnJhVzVrWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVjMk5vWlcxbFZWSkpJRDBnYzNSeVpXRnRMbkpsWVdSRFUzUnlhVzVuS0NrN1hISmNiaUFnZEdocGN5NTJZV3gxWlNBOUlITjBjbVZoYlM1eVpXRmtRMU4wY21sdVp5Z3BPMXh5WEc1OUtUdGNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5c1pYWmhMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWR2RXeHNRbTk0UTNSdmNpaGNJbXhsZG1GY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJR052ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIUm9hWE11YkdWMlpXeHpJRDBnVzEwN1hISmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCamIzVnVkRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjJZWElnYkdWMlpXd2dQU0I3ZlR0Y2NseHVJQ0FnSUhSb2FYTXViR1YyWld4elcybGRJRDBnYkdWMlpXdzdYSEpjYmlBZ0lDQnNaWFpsYkM1MGNtRmphMTlKUkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjJZWElnZEcxd1gySjVkR1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNCc1pYWmxiQzV3WVdSa2FXNW5YMlpzWVdjZ1BTQjBiWEJmWW5sMFpTQStQaUEzTzF4eVhHNGdJQ0FnYkdWMlpXd3VZWE56YVdkdWJXVnVkRjkwZVhCbElEMGdkRzF3WDJKNWRHVWdKaUF3ZURkR08xeHlYRzRnSUNBZ2MzZHBkR05vSUNoc1pYWmxiQzVoYzNOcFoyNXRaVzUwWDNSNWNHVXBJSHRjY2x4dUlDQWdJQ0FnWTJGelpTQXdPbHh5WEc0Z0lDQWdJQ0FnSUd4bGRtVnNMbWR5YjNWd2FXNW5YM1I1Y0dVZ1BTQnpkSEpsWVcwdWNtVmhaRk4wY21sdVp5ZzBLVHRjY2x4dUlDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnWTJGelpTQXhPbHh5WEc0Z0lDQWdJQ0FnSUd4bGRtVnNMbWR5YjNWd2FXNW5YM1I1Y0dVZ1BTQnpkSEpsWVcwdWNtVmhaRk4wY21sdVp5ZzBLVHRjY2x4dUlDQWdJQ0FnSUNCc1pYWmxiQzVuY205MWNHbHVaMTkwZVhCbFgzQmhjbUZ0WlhSbGNpQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUdOaGMyVWdNanBjY2x4dUlDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnWTJGelpTQXpPbHh5WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh5WEc0Z0lDQWdJQ0JqWVhObElEUTZYSEpjYmlBZ0lDQWdJQ0FnYkdWMlpXd3VjM1ZpWDNSeVlXTnJYMmxrSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdaR1ZtWVhWc2REcGNjbHh1SUNBZ0lDQWdJQ0JNYjJjdWQyRnliaWhjSWtKdmVGQmhjbk5sY2x3aUxDQmNJbFZ1YTI1dmQyNGdiR1YyWVNCaGMzTnBaMjVsYldWdWRDQjBlWEJsWENJcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDJ4elpXd3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKc2MyVnNYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWJHRjVaWEpmYVdRZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc1OUtUc3ZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMjFoZUhJdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVUp2ZUVOMGIzSW9YQ0p0WVhoeVhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11Y0dWeWFXOWtJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0IwYUdsekxtSjVkR1Z6SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwyMWtZM1l1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGM
1FpVSnZlRU4wYjNJb1hDSnRaR04yWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVaR2x6Y0d4aGVWOXdjbWx0WVhKcFpYTWdQU0JiWFR0Y2NseHVJQ0IwYUdsekxtUnBjM0JzWVhsZmNISnBiV0Z5YVdWeld6QmRJRDBnZTMwN1hISmNiaUFnZEdocGN5NWthWE53YkdGNVgzQnlhVzFoY21sbGMxc3dYUzU0SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMbVJwYzNCc1lYbGZjSEpwYldGeWFXVnpXekJkTG5rZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11WkdsemNHeGhlVjl3Y21sdFlYSnBaWE5iTVYwZ1BTQjdmVHRjY2x4dUlDQjBhR2x6TG1ScGMzQnNZWGxmY0hKcGJXRnlhV1Z6V3pGZExuZ2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSFJvYVhNdVpHbHpjR3hoZVY5d2NtbHRZWEpwWlhOYk1WMHVlU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZEdocGN5NWthWE53YkdGNVgzQnlhVzFoY21sbGMxc3lYU0E5SUh0OU8xeHlYRzRnSUhSb2FYTXVaR2x6Y0d4aGVWOXdjbWx0WVhKcFpYTmJNbDB1ZUNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYmlBZ2RHaHBjeTVrYVhOd2JHRjVYM0J5YVcxaGNtbGxjMXN5WFM1NUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQjBhR2x6TG5kb2FYUmxYM0J2YVc1MElEMGdlMzA3WEhKY2JpQWdkR2hwY3k1M2FHbDBaVjl3YjJsdWRDNTRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0IwYUdsekxuZG9hWFJsWDNCdmFXNTBMbmtnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUhSb2FYTXViV0Y0WDJScGMzQnNZWGxmYldGemRHVnlhVzVuWDJ4MWJXbHVZVzVqWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2RHaHBjeTV0YVc1ZlpHbHpjR3hoZVY5dFlYTjBaWEpwYm1kZmJIVnRhVzVoYm1ObElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMjFrYUdRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWJXUm9aRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5SURFcElIdGNjbHh1SUNBZ0lIUm9hWE11WTNKbFlYUnBiMjVmZEdsdFpTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREWTBLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtMXZaR2xtYVdOaGRHbHZibDkwYVcxbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME5qUW9LVHRjY2x4dUlDQWdJSFJvYVhNdWRHbHRaWE5qWVd4bElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJSFJvYVhNdVpIVnlZWFJwYjI0Z1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RMk5DZ3BPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCMGFHbHpMbU55WldGMGFXOXVYM1JwYldVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1dGIyUnBabWxqWVhScGIyNWZkR2x0WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG5ScGJXVnpZMkZzWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG1SMWNtRjBhVzl1SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCOVhISmNiaUFnZEdocGN5NXdZWEp6WlV4aGJtZDFZV2RsS0hOMGNtVmhiU2s3WEhKY2JpQWdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMjFsYUdRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWJXVm9aRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0JwWmlBb2RHaHBjeTVtYkdGbmN5QW1JREI0TVNrZ2UxeHlYRzRnSUNBZ1RHOW5MbmRoY200b1hDSkNiM2hRWVhKelpYSmNJaXdnWENKdFpXaGtJR0p2ZUNCcGJtTnZjbkpsWTNSc2VTQjFjMlZ6SUdac1lXZHpJSE5sZENCMGJ5QXhMQ0JqYjI1MlpYSjBhVzVuSUhabGNuTnBiMjRnZEc4Z01Wd2lLVHRjY2x4dUlDQWdJSFJvYVhNdWRtVnljMmx2YmlBOUlERTdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaDBhR2x6TG5abGNuTnBiMjRnUFQwZ01Ta2dlMXh5WEc0Z0lDQWdkR2hwY3k1bWNtRm5iV1Z1ZEY5a2RYSmhkR2x2YmlBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhSb2FYTXVabkpoWjIxbGJuUmZaSFZ5WVhScGIyNGdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMjFsZEdFdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWJXVjBZVndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtSnZlR1Z6SUQwZ1cxMDdYSEpjYmlBZ1FtOTRVR0Z5YzJWeUxrTnZiblJoYVc1bGNrSnZlQzV3Y205MGIzUjVjR1V1Y0dGeWMyVXVZMkZzYkNoMGFHbHpMQ0J6ZEhKbFlXMHBPMXh5WEc1OUtUdGNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5dFptaGtMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWR2RXeHNRbTk0UTNSdmNpaGNJbTFtYUdSY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTV6WlhGMVpXNWpaVjl1ZFcxaVpYSWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YldaeWJ5NXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnRabkp2WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVYM05wZW1VZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZiWFpvWkM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKdGRtaGtYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJR2xtSUNo
1MGFHbHpMblpsY25OcGIyNGdQVDBnTVNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVqY21WaGRHbHZibDkwYVcxbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME5qUW9LVHRjY2x4dUlDQWdJSFJvYVhNdWJXOWthV1pwWTJGMGFXOXVYM1JwYldVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RMk5DZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1MGFXMWxjMk5oYkdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1a2RYSmhkR2x2YmlBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhSb2FYTXVZM0psWVhScGIyNWZkR2x0WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG0xdlpHbG1hV05oZEdsdmJsOTBhVzFsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lIUm9hWE11ZEdsdFpYTmpZV3hsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lIUm9hWE11WkhWeVlYUnBiMjRnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUgxY2NseHVJQ0IwYUdsekxuSmhkR1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUhSb2FYTXVkbTlzZFcxbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LU0ErUGlBNE8xeHlYRzRnSUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnYzNSeVpXRnRMbkpsWVdSVmFXNTBNekpCY25KaGVTZ3lLVHRjY2x4dUlDQjBhR2x6TG0xaGRISnBlQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15UVhKeVlYa29PU2s3WEhKY2JpQWdjM1J5WldGdExuSmxZV1JWYVc1ME16SkJjbkpoZVNnMktUdGNjbHh1SUNCMGFHbHpMbTVsZUhSZmRISmhZMnRmYVdRZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc1OUtUdGNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5dWNHTnJMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aWJuQmphMXdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuQmhZMnRsZEhOelpXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDI1MWJYQXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKdWRXMXdYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWNHRmphMlYwYzNObGJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTJOQ2dwTzF4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2Y0dGa1lpNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSndZV1JpWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQnpZVzF3YkdWZlkyOTFiblFnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUhSb2FYTXVjR0ZrWW1sMGN5QTlJRnRkTzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVFdGMGFDNW1iRzl2Y2lnb2MyRnRjR3hsWDJOdmRXNTBJQ3NnTVNrZ0x5QXlLVHNnYVNzcktTQjdYSEpjYmlBZ0lDQjBhR2x6TG5CaFpHSnBkSE1nUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2Y0dGemNDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUW05NFEzUnZjaWhjSW5CaGMzQmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1b1UzQmhZMmx1WnlBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2RHaHBjeTUyVTNCaFkybHVaeUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNibjBwT3k4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmNHRjViQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFFtOTRRM1J2Y2loY0luQmhlV3hjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTBaWGgwSUQwZ2MzUnlaV0Z0TG5KbFlXUlRkSEpwYm1jb2RHaHBjeTV6YVhwbElDMGdkR2hwY3k1b1pISmZjMmw2WlNrN1hISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5d1lYbDBMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aWNHRjVkRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuQmhlV3h2WVdSSlJDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdkbUZ5SUdOdmRXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJSFJvYVhNdWNuUndiV0Z3WDNOMGNtbHVaeUE5SUhOMGNtVmhiUzV5WldGa1UzUnlhVzVuS0dOdmRXNTBLVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM0JrYVc0dWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWNHUnBibHdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IyWVhJZ1kyOTFiblFnUFNBb2RHaHBjeTV6YVhwbElDMGdkR2hwY3k1b1pISmZjMmw2WlNrZ0x5QTRPMXh5WEc0Z0lIUm9hWE11Y21GMFpTQTlJRnRkTzF4eVhHNGdJSFJvYVhNdWFXNXBkR2xoYkY5a1pXeGhlU0E5SUZ0ZE8xeHlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1kyOTFiblE3SUdrckt5a2dlMXh5WEc0Z0lDQWdkR2hwY3k1eVlYUmxXMmxkSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lIUm9hWE11YVc1cGRHbGhiRjlrWld4aGVWdHBYU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2Y0dsMGJTNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSndhWFJ0WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUdsbUlDaDBhR2x6TG5abGNuTnBiMjRnUFQwOUlEQXBJSHRjY2x4dUlDQWdJSFJvYVhNdWFYUmxiVjlwWkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhSb2FYTXVhWFJsYlY5cFpDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjR2w0YVM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKd2FYaHBYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUhSb2FYTXViblZ0WDJOb1lXNXVaV3h6SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUhSb2FYTXVZbWwwYzE5d1pYSmZZMmhoYm01bGJITWdQU0JiWFR0Y2NseHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1dWRXMWZZMmhoYm01bGJITTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVpYVhSelgzQmxjbDlqYUdGdWJtVnNjMXRwWFNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCOVhISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5d2JXRjRMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aWNHMWhlRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtSjVkR1Z6SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzQnlablF1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGM
1FpVWjFiR3hDYjNoRGRHOXlLRndpY0hKbWRGd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5KbFpsOTBjbUZqYTE5cFpDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdkR2hwY3k1dWRIQmZkR2x0WlhOMFlXMXdJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBOalFvS1R0Y2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQjBhR2x6TG0xbFpHbGhYM1JwYldVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCMGFHbHpMbTFsWkdsaFgzUnBiV1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblEyTkNncE8xeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNCemMyZ3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVaMWJHeENiM2hEZEc5eUtGd2ljSE56YUZ3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMbk41YzNSbGJWOXBaQ0E5SUVKdmVGQmhjbk5sY2k1d1lYSnpaVWhsZURFMktITjBjbVZoYlNrN1hISmNiaUFnYVdZZ0tIUm9hWE11ZG1WeWMybHZiaUErSURBcElIdGNjbHh1SUNBZ0lIWmhjaUJqYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtdHBaQ0E5SUZ0ZE8xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmpiM1Z1ZERzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUhSb2FYTXVhMmxrVzJsZElEMGdRbTk0VUdGeWMyVnlMbkJoY25ObFNHVjRNVFlvYzNSeVpXRnRLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmlBZ2RtRnlJR1JoZEdGemFYcGxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0JwWmlBb1pHRjBZWE5wZW1VZ1BpQXdLU0I3WEhKY2JpQWdJQ0IwYUdsekxtUmhkR0VnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0UVhKeVlYa29aR0YwWVhOcGVtVXBPMXh5WEc0Z0lIMWNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzRjBMMk5zWldZdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aVkyeGxabHdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuZHBaSFJvSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMGFHbHpMbWhsYVdkb2RDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JuMHBPeTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2Y1hRdlpXNXZaaTVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFJuVnNiRUp2ZUVOMGIzSW9YQ0psYm05bVhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11ZDJsa2RHZ2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJSFJvYVhNdWFHVnBaMmgwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1ZlNrN0x5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXhkQzl3Y205bUxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luQnliMlpjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTNhV1IwYUNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2RHaHBjeTVvWldsbmFIUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNTlLVHN2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNGMEwzUmhjSFF1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpVTnZiblJoYVc1bGNrSnZlRU4wYjNJb1hDSjBZWEIwWENJc0lHNTFiR3dzSUZ0Y0ltTnNaV1pjSWl3Z1hDSndjbTltWENJc0lGd2laVzV2Wmx3aVhTazdMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl5ZEhBdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVUp2ZUVOMGIzSW9YQ0p5ZEhBZ1hDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11WkdWelkzSnBjSFJwYjI1bWIzSnRZWFFnUFNCemRISmxZVzB1Y21WaFpGTjBjbWx1WnlnMEtUdGNjbHh1SUNCMGFHbHpMbk5rY0hSbGVIUWdQU0J6ZEhKbFlXMHVjbVZoWkZOMGNtbHVaeWgwYUdsekxuTnBlbVVnTFNCMGFHbHpMbWhrY2w5emFYcGxJQzBnTkNrN1hISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5ellXbHZMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWR2RXeHNRbTk0UTNSdmNpaGNJbk5oYVc5Y0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2FXWWdLSFJvYVhNdVpteGhaM01nSmlBd2VERXBJSHRjY2x4dUlDQWdJSFJvYVhNdVlYVjRYMmx1Wm05ZmRIbHdaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCMGFHbHpMbUYxZUY5cGJtWnZYM1I1Y0dWZmNHRnlZVzFsZEdWeUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjlYSEpjYmlBZ2RtRnlJR052ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG05bVpuTmxkQ0E5SUZ0ZE8xeHlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1kyOTFiblE3SUdrckt5a2dlMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ0lDQjBhR2x6TG05bVpuTmxkRnRwWFNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQjBhR2x6TG05bVpuTmxkRnRwWFNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5S1R0Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl6WVdsNkxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luTmhhWHBjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnYVdZZ0tIUm9hWE11Wm14aFozTWdKaUF3ZURFcElIdGNjbHh1SUNBZ0lIUm9hWE11WVhWNFgybHVabTlmZEhsd1pTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtRjFlRjlwYm1adlgzUjVjR1ZmY0dGeVlXMWxkR1Z5SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCOVhISmNiaUFnZEdocGN5NWtaV1poZFd4MFgzTmhiWEJzWlY5cGJtWnZYM05wZW1V
1Z1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ2RtRnlJR052ZFc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG5OaGJYQnNaVjlwYm1adlgzTnBlbVVnUFNCYlhUdGNjbHh1SUNCcFppQW9kR2hwY3k1a1pXWmhkV3gwWDNOaGJYQnNaVjlwYm1adlgzTnBlbVVnUFQwOUlEQXBJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQjBhR2x6TG5OaGJYQnNaVjlwYm1adlgzTnBlbVZiYVYwZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMyRnRjR3hsWlc1MGNtbGxjeTl0WlhSMExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkZiblJ5ZVVOMGIzSW9RbTk0VUdGeWMyVnlMbE5CVFZCTVJWOUZUbFJTV1Y5VVdWQkZYMDFGVkVGRVFWUkJMQ0JjSW0xbGRIUmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVWhsWVdSbGNpaHpkSEpsWVcwcE8xeHlYRzRnSUhSb2FYTXVZMjl1ZEdWdWRGOWxibU52WkdsdVp5QTlJSE4wY21WaGJTNXlaV0ZrUTFOMGNtbHVaeWdwTzF4eVhHNGdJSFJvYVhNdWJXbHRaVjltYjNKdFlYUWdQU0J6ZEhKbFlXMHVjbVZoWkVOVGRISnBibWNvS1R0Y2NseHVJQ0IwYUdsekxuQmhjbk5sUm05dmRHVnlLSE4wY21WaGJTazdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXpZVzF3YkdWbGJuUnlhV1Z6TDIxbGRIZ3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZOaGJYQnNaVVZ1ZEhKNVEzUnZjaWhDYjNoUVlYSnpaWEl1VTBGTlVFeEZYMFZPVkZKWlgxUlpVRVZmVFVWVVFVUkJWRUVzSUZ3aWJXVjBlRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuQmhjbk5sU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2RHaHBjeTVqYjI1MFpXNTBYMlZ1WTI5a2FXNW5JRDBnYzNSeVpXRnRMbkpsWVdSRFUzUnlhVzVuS0NrN1hISmNiaUFnZEdocGN5NXVZVzFsYzNCaFkyVWdQU0J6ZEhKbFlXMHVjbVZoWkVOVGRISnBibWNvS1R0Y2NseHVJQ0IwYUdsekxuTmphR1Z0WVY5c2IyTmhkR2x2YmlBOUlITjBjbVZoYlM1eVpXRmtRMU4wY21sdVp5Z3BPMXh5WEc0Z0lIUm9hWE11Y0dGeWMyVkdiMjkwWlhJb2MzUnlaV0Z0S1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNOaGJYQnNaV1Z1ZEhKcFpYTXZjMkowZEM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxVMkZ0Y0d4bFJXNTBjbmxEZEc5eUtFSnZlRkJoY25ObGNpNVRRVTFRVEVWZlJVNVVVbGxmVkZsUVJWOVRWVUpVU1ZSTVJTd2dYQ0p6WW5SMFhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11Y0dGeWMyVklaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0IwYUdsekxtTnZiblJsYm5SZlpXNWpiMlJwYm1jZ1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dUlDQjBhR2x6TG0xcGJXVmZabTl5YldGMElEMGdjM1J5WldGdExuSmxZV1JEVTNSeWFXNW5LQ2s3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVVp2YjNSbGNpaHpkSEpsWVcwcE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMyRnRjR3hsWlc1MGNtbGxjeTl6ZEhCd0xtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkZiblJ5ZVVOMGIzSW9RbTk0VUdGeWMyVnlMbE5CVFZCTVJWOUZUbFJTV1Y5VVdWQkZYMU5WUWxSSlZFeEZMQ0JjSW5OMGNIQmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVWhsWVdSbGNpaHpkSEpsWVcwcE8xeHlYRzRnSUhSb2FYTXVibUZ0WlhOd1lXTmxJRDBnYzNSeVpXRnRMbkpsWVdSRFUzUnlhVzVuS0NrN1hISmNiaUFnZEdocGN5NXpZMmhsYldGZmJHOWpZWFJwYjI0Z1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dUlDQjBhR2x6TG1GMWVHbHNhV0Z5ZVY5dGFXMWxYM1I1Y0dWeklEMGdjM1J5WldGdExuSmxZV1JEVTNSeWFXNW5LQ2s3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVVp2YjNSbGNpaHpkSEpsWVcwcE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMyRnRjR3hsWlc1MGNtbGxjeTl6ZEhoMExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkZiblJ5ZVVOMGIzSW9RbTk0VUdGeWMyVnlMbE5CVFZCTVJWOUZUbFJTV1Y5VVdWQkZYMU5WUWxSSlZFeEZMQ0JjSW5OMGVIUmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVWhsWVdSbGNpaHpkSEpsWVcwcE8xeHlYRzRnSUhSb2FYTXVZMjl1ZEdWdWRGOWxibU52WkdsdVp5QTlJSE4wY21WaGJTNXlaV0ZrUTFOMGNtbHVaeWdwTzF4eVhHNGdJSFJvYVhNdWJXbHRaVjltYjNKdFlYUWdQU0J6ZEhKbFlXMHVjbVZoWkVOVGRISnBibWNvS1R0Y2NseHVJQ0IwYUdsekxuQmhjbk5sUm05dmRHVnlLSE4wY21WaGJTazdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXpZVzF3YkdWbGJuUnlhV1Z6TDNSNE0yY3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZOaGJYQnNaVVZ1ZEhKNVEzUnZjaWhDYjNoUVlYSnpaWEl1VTBGTlVFeEZYMFZPVkZKWlgxUlpVRVZmVTFWQ1ZFbFVURVVzSUZ3aWRIZ3paMXdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuQmhjbk5sU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2RHaHBjeTVrYVhOd2JHRjVSbXhoWjNNZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lIUm9hWE11YUc5eWFYcHZiblJoYkY5cWRYTjBhV1pwWTJGMGFXOXVJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUTRLQ2s3WEhKY2JpQWdkR2hwY3k1MlpYSjBhV05oYkY5cWRYTjBhV1pwWTJGMGFXOXVJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUTRLQ2s3WEhKY2JpQWdkR2hwY3k1aVoxOWpiMnh2Y2w5eVoySmhJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPRUZ5Y21GNUtEUXBPMXh5WEc0Z0lIUm9hWE11WW05NFgzSmxZMjl5WkNBOUlITjBjbVZoYlM1eVpXRmtTVzUwTVRaQmNuSmhlU2cwS1R0Y2NseHVJQ0IwYUdsekxuTjBlV3hsWDNKbFkyOXlaQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGhCY25KaGVTZ3hNaWs3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVVp2YjNSbGNpaHpkSEpsWVcwcE8xeHlYRzU5S1R0Y2NseHVMeThnWm1sc1pUcHpjbU12Y0
1dGeWMybHVaeTl6WVcxd2JHVmxiblJ5YVdWekwzZDJkSFF1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpWTmhiWEJzWlVWdWRISjVRM1J2Y2loQ2IzaFFZWEp6WlhJdVUwRk5VRXhGWDBWT1ZGSlpYMVJaVUVWZlRVVlVRVVJCVkVFc0lGd2lkM1owZEZ3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMbkJoY25ObFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdkR2hwY3k1d1lYSnpaVVp2YjNSbGNpaHpkSEpsWVcwcE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMyRnRjR3hsWjNKdmRYQnpMMkZzYzNRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVZHliM1Z3UTNSdmNpaGNJbUZzYzNSY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJR2s3WEhKY2JpQWdkbUZ5SUhKdmJHeGZZMjkxYm5RZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11Wm1seWMzUmZiM1YwY0hWMFgzTmhiWEJzWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYmlBZ2RHaHBjeTV6WVcxd2JHVmZiMlptYzJWMElEMGdXMTA3WEhKY2JpQWdabTl5SUNocElEMGdNRHNnYVNBOElISnZiR3hmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV6WVcxd2JHVmZiMlptYzJWMFcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0I5WEhKY2JpQWdkbUZ5SUhKbGJXRnBibWx1WnlBOUlIUm9hWE11WkdWelkzSnBjSFJwYjI1ZmJHVnVaM1JvSUMwZ05DQXRJRFFnS2lCeWIyeHNYMk52ZFc1ME8xeHlYRzRnSUhSb2FYTXViblZ0WDI5MWRIQjFkRjl6WVcxd2JHVnpJRDBnVzEwN1hISmNiaUFnZEdocGN5NXVkVzFmZEc5MFlXeGZjMkZ0Y0d4bGN5QTlJRnRkTzF4eVhHNGdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnlaVzFoYVc1cGJtY2dMeUEwT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFJvYVhNdWJuVnRYMjkxZEhCMWRGOXpZVzF3YkdWelcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0FnSUhSb2FYTXViblZ0WDNSdmRHRnNYM05oYlhCc1pYTmJhVjBnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNOaGJYQnNaV2R5YjNWd2N5OWhkbXhzTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlRZVzF3YkdWSGNtOTFjRU4wYjNJb1hDSmhkbXhzWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXViR0Y1WlhKT2RXMWlaWElnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEdocGN5NWhZMk4xY21GMFpWTjBZWFJwYzNScFkzTkdiR0ZuSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUhSb2FYTXVZWFpuUW1sMFVtRjBaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZEdocGN5NWhkbWRHY21GdFpWSmhkR1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMyRnRjR3hsWjNKdmRYQnpMMkYyYzNNdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVZHliM1Z3UTNSdmNpaGNJbUYyYzNOY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTV6ZFdKVFpYRjFaVzVqWlVsa1pXNTBhV1pwWlhJZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11YkdGNVpYSk9kVzFpWlhJZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ2RtRnlJSFJ0Y0Y5aWVYUmxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJSFJvYVhNdVpIVnlZWFJwYjI1R2JHRm5JRDBnZEcxd1gySjVkR1VnUGo0Z056dGNjbHh1SUNCMGFHbHpMbUYyWjFKaGRHVkdiR0ZuSUQwZ0tIUnRjRjlpZVhSbElENCtJRFlwSUNZZ01IZ3hPMXh5WEc0Z0lHbG1JQ2gwYUdsekxtUjFjbUYwYVc5dVJteGhaeWtnZTF4eVhHNGdJQ0FnZEdocGN5NWtkWEpoZEdsdmJpQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2gwYUdsekxtRjJaMUpoZEdWR2JHRm5LU0I3WEhKY2JpQWdJQ0IwYUdsekxtRmpZM1Z5WVhSbFUzUmhkR2x6ZEdsamMwWnNZV2NnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNCMGFHbHpMbUYyWjBKcGRGSmhkR1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUNBZ2RHaHBjeTVoZG1kR2NtRnRaVkpoZEdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIMWNjbHh1SUNCMGFHbHpMbVJsY0dWdVpHVnVZM2tnUFNCYlhUdGNjbHh1SUNCMllYSWdiblZ0VW1WbVpYSmxibU5sY3lBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiVkpsWm1WeVpXNWpaWE03SUdrckt5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdSbGNHVnVaR1Z1WTNsSmJtWnZJRDBnZTMwN1hISmNiaUFnSUNCMGFHbHpMbVJsY0dWdVpHVnVZM2t1Y0hWemFDaGtaWEJsYm1SbGJtTjVTVzVtYnlrN1hISmNiaUFnSUNCa1pYQmxibVJsYm1ONVNXNW1ieTV6ZFdKVFpYRkVhWEpsWTNScGIyNUdiR0ZuSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUNBZ1pHVndaVzVrWlc1amVVbHVabTh1YkdGNVpYSk9kVzFpWlhJZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ0lDQmtaWEJsYm1SbGJtTjVTVzVtYnk1emRXSlRaWEYxWlc1alpVbGtaVzUwYVdacFpYSWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05oYlhCc1pXZHliM1Z3Y3k5a2RISjBMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWVFlXMXdiR1ZIY205MWNFTjBiM0lvWENKa2RISjBYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJRXh2Wnk1M1lYSnVLRndpUW05NFVHRnljMlZ5WENJc0lGd2lVMkZ0Y0d4bElFZHliM1Z3SUhSNWNHVTZJRndpSUNzZ2RHaHBjeTVuY205MWNHbHVaMTkwZVhCbElDc2dYQ0lnYm05MElHWjFiR3g1SUhCaGNuTmxaRndpS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNOaGJYQnNaV2R5YjNWd2N5OXRkbWxtTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlR
1ZVzF3YkdWSGNtOTFjRU4wYjNJb1hDSnRkbWxtWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUV4dlp5NTNZWEp1S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJRndpVTJGdGNHeGxJRWR5YjNWd0lIUjVjR1U2SUZ3aUlDc2dkR2hwY3k1bmNtOTFjR2x1WjE5MGVYQmxJQ3NnWENJZ2JtOTBJR1oxYkd4NUlIQmhjbk5sWkZ3aUtUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzTmhiWEJzWldkeWIzVndjeTl3Y205c0xtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkhjbTkxY0VOMGIzSW9YQ0p3Y205c1hDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11Y205c2JGOWthWE4wWVc1alpTQTlJSE4wY21WaGJTNXlaV0ZrU1c1ME1UWW9LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05oYlhCc1pXZHliM1Z3Y3k5eVlYQXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZOaGJYQnNaVWR5YjNWd1EzUnZjaWhjSW5KaGNDQmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkbUZ5SUhSdGNGOWllWFJsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUhSb2FYTXViblZ0WDJ4bFlXUnBibWRmYzJGdGNHeGxjMTlyYm05M2JpQTlJSFJ0Y0Y5aWVYUmxJRDQrSURjN1hISmNiaUFnZEdocGN5NXVkVzFmYkdWaFpHbHVaMTl6WVcxd2JHVnpJRDBnZEcxd1gySjVkR1VnSmlBd2VEZEdPMXh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjMkZ0Y0d4bFozSnZkWEJ6TDNKaGMyZ3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZOaGJYQnNaVWR5YjNWd1EzUnZjaWhjSW5KaGMyaGNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1dmNHVnlZWFJwYjI1ZmNHOXBiblJmWTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJR2xtSUNoMGFHbHpMbVJsYzJOeWFYQjBhVzl1WDJ4bGJtZDBhQ0FoUFQwZ01pQXJJQ2gwYUdsekxtOXdaWEpoZEdsdmJsOXdiMmx1ZEY5amIzVnVkQ0E5UFQwZ01TQS9JRElnT2lCMGFHbHpMbTl3WlhKaGRHbHZibDl3YjJsdWRGOWpiM1Z1ZENBcUlEWXBJQ3NnT1NrZ2UxeHlYRzRnSUNBZ1RHOW5MbmRoY200b1hDSkNiM2hRWVhKelpYSmNJaXdnWENKTmFYTnRZWFJqYUNCcGJpQmNJaUFySUhSb2FYTXVaM0p2ZFhCcGJtZGZkSGx3WlNBcklGd2lJSE5oYlhCc1pTQm5jbTkxY0NCc1pXNW5kR2hjSWlrN1hISmNiaUFnSUNCMGFHbHpMbVJoZEdFZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNFFYSnlZWGtvZEdocGN5NWtaWE5qY21sd2RHbHZibDlzWlc1bmRHZ2dMU0F5S1R0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXViM0JsY21GMGFXOXVYM0J2YVc1MFgyTnZkVzUwSUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0FnSUhSb2FYTXVkR0Z5WjJWMFgzSmhkR1ZmYzJoaGNtVWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnZEdocGN5NTBZWEpuWlhSZmNtRjBaVjl6YUdGeVpTQTlJRnRkTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbUYyWVdsc1lXSnNaVjlpYVhSeVlYUmxJRDBnVzEwN1hISmNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1dmNHVnlZWFJwYjI1ZmNHOXBiblJmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdVlYWmhhV3hoWW14bFgySnBkSEpoZEdWYmFWMGdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZEdGeVoyVjBYM0poZEdWZmMyaGhjbVZiYVYwZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0IwYUdsekxtMWhlR2x0ZFcxZlltbDBjbUYwWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG0xcGJtbHRkVzFmWW1sMGNtRjBaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCMGFHbHpMbVJwYzJOaGNtUmZjSEpwYjNKcGRIa2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjMkZ0Y0d4bFozSnZkWEJ6TDNKdmJHd3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZOaGJYQnNaVWR5YjNWd1EzUnZjaWhjSW5KdmJHeGNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1eWIyeHNYMlJwYzNSaGJtTmxJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUXhOaWdwTzF4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzJGdGNHeGxaM0p2ZFhCekwzTmhiWEJzWldkeWIzVndMbXB6WEhKY2JrSnZlRkJoY25ObGNpNVRZVzF3YkdWSGNtOTFjRVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNXdZWEp6WlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUV4dlp5NTNZWEp1S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJRndpVlc1cmJtOTNiaUJUWVcxd2JHVWdSM0p2ZFhBZ2RIbHdaVG9nWENJZ0t5QjBhR2x6TG1keWIzVndhVzVuWDNSNWNHVXBPMXh5WEc0Z0lIUm9hWE11WkdGMFlTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREaEJjbkpoZVNoMGFHbHpMbVJsYzJOeWFYQjBhVzl1WDJ4bGJtZDBhQ2s3WEhKY2JuMDdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05oYlhCc1pXZHliM1Z3Y3k5elkybG1MbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWVFlXMXdiR1ZIY205MWNFTjBiM0lvWENKelkybG1YQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJRXh2Wnk1M1lYSnVLRndpUW05NFVHRnljMlZ5WENJc0lGd2lVMkZ0Y0d4bElFZHliM1Z3SUhSNWNHVTZJRndpSUNzZ2RHaHBjeTVuY205MWNHbHVaMTkwZVhCbElDc2dYQ0lnYm05MElHWjFiR3g1SUhCaGNuTmxaRndpS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNOaGJYQnNaV2R5YjNWd2N5OXpZMjV0TG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlR
1ZVzF3YkdWSGNtOTFjRU4wYjNJb1hDSnpZMjV0WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUV4dlp5NTNZWEp1S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJRndpVTJGdGNHeGxJRWR5YjNWd0lIUjVjR1U2SUZ3aUlDc2dkR2hwY3k1bmNtOTFjR2x1WjE5MGVYQmxJQ3NnWENJZ2JtOTBJR1oxYkd4NUlIQmhjbk5sWkZ3aUtUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzTmhiWEJzWldkeWIzVndjeTl6WldsbkxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkhjbTkxY0VOMGIzSW9YQ0p6WldsblhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11Y21WelpYSjJaV1FnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZG1GeUlIUnRjQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0IwYUdsekxtTnllWEIwWDJKNWRHVmZZbXh2WTJzZ1BTQjBiWEFnUGo0Z05EdGNjbHh1SUNCMGFHbHpMbk5yYVhCZllubDBaVjlpYkc5amF5QTlJSFJ0Y0NBbUlEQjRSanRjY2x4dUlDQjBhR2x6TG1selVISnZkR1ZqZEdWa0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIUm9hWE11VUdWeVgxTmhiWEJzWlY5SlZsOVRhWHBsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUhSb2FYTXVTMGxFSUQwZ1FtOTRVR0Z5YzJWeUxuQmhjbk5sU0dWNE1UWW9jM1J5WldGdEtUdGNjbHh1SUNCMGFHbHpMbU52Ym5OMFlXNTBYMGxXWDNOcGVtVWdQU0F3TzF4eVhHNGdJSFJvYVhNdVkyOXVjM1JoYm5SZlNWWWdQU0F3TzF4eVhHNGdJR2xtSUNoMGFHbHpMbWx6VUhKdmRHVmpkR1ZrSUQwOVBTQXhJQ1ltSUhSb2FYTXVVR1Z5WDFOaGJYQnNaVjlKVmw5VGFYcGxJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQjBhR2x6TG1OdmJuTjBZVzUwWDBsV1gzTnBlbVVnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNCMGFHbHpMbU52Ym5OMFlXNTBYMGxXSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0VGeWNtRjVLSFJvYVhNdVkyOXVjM1JoYm5SZlNWWmZjMmw2WlNrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzJGdGNHeGxaM0p2ZFhCekwzTjBjMkV1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpWTmhiWEJzWlVkeWIzVndRM1J2Y2loY0luTjBjMkZjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnVEc5bkxuZGhjbTRvWENKQ2IzaFFZWEp6WlhKY0lpd2dYQ0pUWVcxd2JHVWdSM0p2ZFhBZ2RIbHdaVG9nWENJZ0t5QjBhR2x6TG1keWIzVndhVzVuWDNSNWNHVWdLeUJjSWlCdWIzUWdablZzYkhrZ2NHRnljMlZrWENJcE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMyRnRjR3hsWjNKdmRYQnpMM041Ym1NdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVk5oYlhCc1pVZHliM1Z3UTNSdmNpaGNJbk41Ym1OY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJSFJ0Y0Y5aWVYUmxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJSFJvYVhNdVRrRk1YM1Z1YVhSZmRIbHdaU0E5SUhSdGNGOWllWFJsSUNZZ01IZ3pSanRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05oYlhCc1pXZHliM1Z3Y3k5MFpXeGxMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWVFlXMXdiR1ZIY205MWNFTjBiM0lvWENKMFpXeGxYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCMGJYQmZZbmwwWlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCMGFHbHpMbXhsZG1Wc1gybHVaR1Z3Wlc1a1pXNTBiSGxmWkdWamIyUmhZbXhsSUQwZ2RHMXdYMko1ZEdVZ1BqNGdOenRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05oYlhCc1pXZHliM1Z3Y3k5MGMyRnpMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWVFlXMXdiR1ZIY205MWNFTjBiM0lvWENKMGMyRnpYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJRXh2Wnk1M1lYSnVLRndpUW05NFVHRnljMlZ5WENJc0lGd2lVMkZ0Y0d4bElFZHliM1Z3SUhSNWNHVTZJRndpSUNzZ2RHaHBjeTVuY205MWNHbHVaMTkwZVhCbElDc2dYQ0lnYm05MElHWjFiR3g1SUhCaGNuTmxaRndpS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNOaGJYQnNaV2R5YjNWd2N5OTBjMk5zTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlRZVzF3YkdWSGNtOTFjRU4wYjNJb1hDSjBjMk5zWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUV4dlp5NTNZWEp1S0Z3aVFtOTRVR0Z5YzJWeVhDSXNJRndpVTJGdGNHeGxJRWR5YjNWd0lIUjVjR1U2SUZ3aUlDc2dkR2hwY3k1bmNtOTFjR2x1WjE5MGVYQmxJQ3NnWENJZ2JtOTBJR1oxYkd4NUlIQmhjbk5sWkZ3aUtUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzTmhiWEJzWldkeWIzVndjeTkyYVhCeUxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZUWVcxd2JHVkhjbTkxY0VOMGIzSW9YQ0oyYVhCeVhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lFeHZaeTUzWVhKdUtGd2lRbTk0VUdGeWMyVnlYQ0lzSUZ3aVUyRnRjR3hsSUVkeWIzVndJSFI1Y0dVNklGd2lJQ3NnZEdocGN5NW5jbTkxY0dsdVoxOTBlWEJsSUNzZ1hDSWdibTkwSUdaMWJHeDVJSEJoY25ObFpGd2lLVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05pWjNBdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWMySm5jRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtZHliM1Z3YVc1blgzUjVjR1VnUFNCemRISmxZVzB1Y21WaFpGTjBjbWx1WnlnMEtUdGNjbHh1SUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0IwYUdsekxtZHliM1Z3YVc1blgzUjVjR1ZmY0dGeVlXMWxkR1Z5SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnZEdocGN5NW5jbTkxY0dsdVoxOTBlWEJsWDNCaGNtRnRaWFJsY2lBOUlEQTdYSEpjYmlBZ2ZWeHlYRzRnSUhSb2FYTXVaVzUwY21sbGN5QTlJRnRkTzF4eVhHNGdJSFpoY2lCbGJuUnllVjlqYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JsYm5SeWVWOWpiM1Z1ZERzZ2FTc3JLU0I3WEhKY2JpQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCN2ZUdGNjbHh1SUNBZ0lIUm9hWE11Wlc1MGNtbGxjeTV3ZFhOb0tHVnVkSEo1S1R0Y2NseHVJQ0FnSUdWdWRISjVMbk5oYlhCc1pWOWpiM1Z1ZENBOUlITjBjbVZoYlM1eVpXRmtTVzUwTXpJb0tUdGNjbHh1SUNBZ0lHVnVkSEo1TG1keWIzVndYMlJsYzJOeWFYQjBhVzl1WDJsdVpHVjRJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUXpNaWdwTzF4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05qYUcwdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWMyTm9iVndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuTmphR1Z0WlY5MGVYQmxJRDBnYzNSeVpXRnRMbkpsWVdSVGRISnBibWNvTkNrN1hISmNiaUFnZEdocGN5NXpZMmhsYldWZmRtVnljMmx2YmlBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2FXWWdLSFJvYVhNdVpteGhaM01nSmlBd2VEQXdNREF3TVNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV6WTJobGJXVmZkWEpwSUQwZ2MzUnlaV0Z0TG5KbFlXUlRkSEpwYm1jb2RHaHBjeTV6YVhwbElDMGdkR2hwY3k1b1pISmZjMmw2WlNBdElEZ3BPMXh5WEc0Z0lIMWNjbH
1h1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzTmtjQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFFtOTRRM1J2Y2loY0luTmtjQ0JjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NXpaSEIwWlhoMElEMGdjM1J5WldGdExuSmxZV1JUZEhKcGJtY29kR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTazdYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXpaSFJ3TG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkdkV3hzUW05NFEzUnZjaWhjSW5Oa2RIQmNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkbUZ5SUhSdGNGOWllWFJsTzF4eVhHNGdJSFpoY2lCamIzVnVkQ0E5SUNoMGFHbHpMbk5wZW1VZ0xTQjBhR2x6TG1oa2NsOXphWHBsS1R0Y2NseHVJQ0IwYUdsekxtbHpYMnhsWVdScGJtY2dQU0JiWFR0Y2NseHVJQ0IwYUdsekxuTmhiWEJzWlY5a1pYQmxibVJ6WDI5dUlEMGdXMTA3WEhKY2JpQWdkR2hwY3k1ellXMXdiR1ZmYVhOZlpHVndaVzVrWldSZmIyNGdQU0JiWFR0Y2NseHVJQ0IwYUdsekxuTmhiWEJzWlY5b1lYTmZjbVZrZFc1a1lXNWplU0E5SUZ0ZE8xeHlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1kyOTFiblE3SUdrckt5a2dlMXh5WEc0Z0lDQWdkRzF3WDJKNWRHVWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtbHpYMnhsWVdScGJtZGJhVjBnUFNCMGJYQmZZbmwwWlNBK1BpQTJPMXh5WEc0Z0lDQWdkR2hwY3k1ellXMXdiR1ZmWkdWd1pXNWtjMTl2Ymx0cFhTQTlJQ2gwYlhCZllubDBaU0ErUGlBMEtTQW1JREI0TXp0Y2NseHVJQ0FnSUhSb2FYTXVjMkZ0Y0d4bFgybHpYMlJsY0dWdVpHVmtYMjl1VzJsZElEMGdLSFJ0Y0Y5aWVYUmxJRDQrSURJcElDWWdNSGd6TzF4eVhHNGdJQ0FnZEdocGN5NXpZVzF3YkdWZmFHRnpYM0psWkhWdVpHRnVZM2xiYVYwZ1BTQjBiWEJmWW5sMFpTQW1JREI0TXp0Y2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl6Wlc1akxtcHpYSEpjYmk4dklFTmhibTV2ZENCaVpTQm1kV3hzZVNCd1lYSnpaV1FnWW1WallYVnpaU0JRWlhKZlUyRnRjR3hsWDBsV1gxTnBlbVVnYm1WbFpITWdkRzhnWW1VZ2EyNXZkMjVjY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVaMWJHeENiM2hEZEc5eUtGd2ljMlZ1WTF3aUlDOHFMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dVhIUjBhR2x6TG5CaGNuTmxSblZzYkVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc1Y2RIWmhjaUJ6WVcxd2JHVmZZMjkxYm5RZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc1Y2RIUm9hWE11YzJGdGNHeGxjeUE5SUZ0ZE8xeHlYRzVjZEdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2MyRnRjR3hsWDJOdmRXNTBPeUJwS3lzcElIdGNjbHh1WEhSY2RIWmhjaUJ6WVcxd2JHVWdQU0I3ZlR0Y2NseHVYSFJjZEM4dklIUmxibU11WkdWbVlYVnNkRjlRWlhKZlUyRnRjR3hsWDBsV1gxTnBlbVVnYjNJZ2MyVnBaeTVRWlhKZlUyRnRjR3hsWDBsV1gxTnBlbVZjY2x4dVhIUmNkSE5oYlhCc1pTNUpibWwwYVdGc2FYcGhkR2x2YmxabFkzUnZjaUE5SUhSb2FYTXVjbVZoWkZWcGJuUTRRWEp5WVhrb1VHVnlYMU5oYlhCc1pWOUpWbDlUYVhwbEtqZ3BPMXh5WEc1Y2RGeDBhV1lnS0hSb2FYTXVabXhoWjNNZ0ppQXdlRElwSUh0Y2NseHVYSFJjZEZ4MGMyRnRjR3hsTG5OMVluTmhiWEJzWlhNZ1BTQmJYVHRjY2x4dVhIUmNkRngwYzNWaWMyRnRjR3hsWDJOdmRXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVYSFJjZEZ4MFptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQnpkV0p6WVcxd2JHVmZZMjkxYm5RN0lHb3JLeWtnZTF4eVhHNWNkRngwWEhSY2RIWmhjaUJ6ZFdKellXMXdiR1VnUFNCN2ZUdGNjbHh1WEhSY2RGeDBYSFJ6ZFdKellXMXdiR1V1UW5sMFpYTlBaa05zWldGeVJHRjBZU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNibHgwWEhSY2RGeDBjM1ZpYzJGdGNHeGxMa0o1ZEdWelQyWlFjbTkwWldOMFpXUkVZWFJoSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1WEhSY2RGeDBYSFJ6WVcxd2JHVXVjM1ZpYzJGdGNHeGxjeTV3ZFhOb0tITjFZbk5oYlhCc1pTazdYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhIUmNkQzh2SUZSUFJFOWNjbHh1WEhSY2RIUm9hWE11YzJGdGNHeGxjeTV3ZFhOb0tITmhiWEJzWlNrN1hISmNibHgwZlZ4eVhHNTlLaThwTzF4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM05uY0dRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWMyZHdaRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtZHliM1Z3YVc1blgzUjVjR1VnUFNCemRISmxZVzB1Y21WaFpGTjBjbWx1WnlnMEtUdGNjbHh1SUNCTWIyY3VaR1ZpZFdjb1hDSkNiM2hRWVhKelpYSmNJaXdnWENKR2IzVnVaQ0JUWVcxd2JHVWdSM0p2ZFhCeklHOW1JSFI1Y0dVZ1hDSWdLeUIwYUdsekxtZHliM1Z3YVc1blgzUjVjR1VwTzF4eVhHNGdJR2xtSUNoMGFHbHpMblpsY25OcGIyNGdQVDA5SURFcElIdGNjbHh1SUNBZ0lIUm9hWE11WkdWbVlYVnNkRjlzWlc1bmRHZ2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG1SbFptRjFiSFJmYkdWdVozUm9JRDBnTUR0Y2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQStQU0F5S1NCN1hISmNiaUFnSUNCMGFHbHpMbVJsWm1GMWJIUmZaM0p2ZFhCZlpHVnpZM0pwY0hScGIyNWZhVzVrWlhnZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lIMWNjbHh1SUNCMGFHbHpMbVZ1ZEhKcFpYTWdQU0JiWFR0Y2NseHVJQ0IyWVhJZ1pXNTBjbmxmWTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWlc1MGNubGZZMjkxYm5RN0lHa3JLeWtnZTF4eVhHNGdJQ0FnZG1GeUlHVnVkSEo1TzF4eVhHNGdJQ0FnYVdZZ0tFSnZlRkJoY25ObGNsdDBhR2x6TG1keWIzVndhVzVuWDNSNWNHVWdLeUJjSWxOaGJYQnNaVWR5YjNWd1JXNTBjbmxjSWwwcElIdGNjbHh1SUNBZ0lDQWdaVzUwY25rZ1BTQnVaWGNnUW05NFVHRnljMlZ5VzNSb2FYTXVaM0p2ZFhCcGJtZGZkSGx3WlNBcklGd2lVMkZ0Y0d4bFIzSnZkWEJGYm5SeWVWd2lYU2gwYUdsekxtZHliM1Z3YVc1blgzUjVjR1VwTzF4eVhHNGdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnWlc1MGNua2dQU0J1WlhjZ1FtOTRVR0Z5YzJWeUxsTmhiWEJzWlVkeWIzVndSVzUwY25rb2RHaHBjeTVuY205MWNHbHVaMTkwZVhCbEtUdGNjbHh1SUNBZ0lIMWNjbH
1h1SUNBZ0lIUm9hWE11Wlc1MGNtbGxjeTV3ZFhOb0tHVnVkSEo1S1R0Y2NseHVJQ0FnSUdsbUlDaDBhR2x6TG5abGNuTnBiMjRnUFQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11WkdWbVlYVnNkRjlzWlc1bmRHZ2dQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0JsYm5SeWVTNWtaWE5qY21sd2RHbHZibDlzWlc1bmRHZ2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lHVnVkSEo1TG1SbGMyTnlhWEIwYVc5dVgyeGxibWQwYUNBOUlIUm9hWE11WkdWbVlYVnNkRjlzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJR1Z1ZEhKNUxtUmxjMk55YVhCMGFXOXVYMnhsYm1kMGFDQTlJSFJvYVhNdVpHVm1ZWFZzZEY5c1pXNW5kR2c3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JwWmlBb1pXNTBjbmt1ZDNKcGRHVWdQVDA5SUVKdmVGQmhjbk5sY2k1VFlXMXdiR1ZIY205MWNFVnVkSEo1TG5CeWIzUnZkSGx3WlM1M2NtbDBaU2tnZTF4eVhHNGdJQ0FnSUNCTWIyY3VhVzVtYnloY0lrSnZlRkJoY25ObGNsd2lMQ0JjSWxOaGJYQnNaVWR5YjNWd0lHWnZjaUIwZVhCbElGd2lJQ3NnZEdocGN5NW5jbTkxY0dsdVoxOTBlWEJsSUNzZ1hDSWdkM0pwZEdsdVp5QnViM1FnZVdWMElHbHRjR3hsYldWdWRHVmtMQ0JyWldWd2FXNW5JSFZ1Y0dGeWMyVmtJR1JoZEdFZ2FXNGdiV1Z0YjNKNUlHWnZjaUJzWVhSbGNpQjNjbWwwWlZ3aUtUdGNjbHh1SUNBZ0lDQWdMeThnYzNSdmNtbHVaeUJrWVhSaFhISmNiaUFnSUNBZ0lHVnVkSEo1TG1SaGRHRWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRRWEp5WVhrb1pXNTBjbmt1WkdWelkzSnBjSFJwYjI1ZmJHVnVaM1JvS1R0Y2NseHVJQ0FnSUNBZ0x5OGdjbVYzYVc1a2FXNW5YSEpjYmlBZ0lDQWdJSE4wY21WaGJTNXdiM05wZEdsdmJpQXRQU0JsYm5SeWVTNWtaWE5qY21sd2RHbHZibDlzWlc1bmRHZzdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQmxiblJ5ZVM1d1lYSnpaU2h6ZEhKbFlXMHBPMXh5WEc0Z0lIMWNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzTnBaSGd1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpVWjFiR3hDYjNoRGRHOXlLRndpYzJsa2VGd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5KbFptVnlaVzVqWlY5SlJDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdkR2hwY3k1MGFXMWxjMk5oYkdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lHbG1JQ2gwYUdsekxuWmxjbk5wYjI0Z1BUMDlJREFwSUh0Y2NseHVJQ0FnSUhSb2FYTXVaV0Z5YkdsbGMzUmZjSEpsYzJWdWRHRjBhVzl1WDNScGJXVWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnZEdocGN5NW1hWEp6ZEY5dlptWnpaWFFnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0IwYUdsekxtVmhjbXhwWlhOMFgzQnlaWE5sYm5SaGRHbHZibDkwYVcxbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME5qUW9LVHRjY2x4dUlDQWdJSFJvYVhNdVptbHljM1JmYjJabWMyVjBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBOalFvS1R0Y2NseHVJQ0I5WEhKY2JpQWdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQjBhR2x6TG5KbFptVnlaVzVqWlhNZ1BTQmJYVHRjY2x4dUlDQjJZWElnWTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RtRnlJSEpsWmlBOUlIdDlPMXh5WEc0Z0lDQWdkR2hwY3k1eVpXWmxjbVZ1WTJWekxuQjFjMmdvY21WbUtUdGNjbHh1SUNBZ0lIWmhjaUIwYlhCZk16SWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnY21WbUxuSmxabVZ5Wlc1alpWOTBlWEJsSUQwZ0tIUnRjRjh6TWlBK1BpQXpNU2tnSmlBd2VERTdYSEpjYmlBZ0lDQnlaV1l1Y21WbVpYSmxibU5sWkY5emFYcGxJRDBnZEcxd1h6TXlJQ1lnTUhnM1JrWkdSa1pHUmp0Y2NseHVJQ0FnSUhKbFppNXpkV0p6WldkdFpXNTBYMlIxY21GMGFXOXVJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUhSdGNGOHpNaUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCeVpXWXVjM1JoY25SelgzZHBkR2hmVTBGUUlEMGdLSFJ0Y0Y4ek1pQStQaUF6TVNrZ0ppQXdlREU3WEhKY2JpQWdJQ0J5WldZdVUwRlFYM1I1Y0dVZ1BTQW9kRzF3WHpNeUlENCtJREk0S1NBbUlEQjROenRjY2x4dUlDQWdJSEpsWmk1VFFWQmZaR1ZzZEdGZmRHbHRaU0E5SUhSdGNGOHpNaUFtSURCNFJrWkdSa1pHUmp0Y2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl6YVc1bmJHVnBkR1Z0ZEhsd1pYSmxabVZ5Wlc1alpTNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVUybHVaMnhsU1hSbGJWUjVjR1ZTWldabGNtVnVZMlZDYjNnZ1BTQm1kVzVqZEdsdmJpaDBlWEJsTENCemFYcGxMQ0JvWkhKZmMybDZaU3dnYzNSaGNuUXBJSHRjY2x4dUlDQkNiM2hRWVhKelpYSXVRbTk0TG1OaGJHd29kR2hwY3l3Z2RIbHdaU3dnYzJsNlpTazdYSEpjYmlBZ2RHaHBjeTVvWkhKZmMybDZaU0E5SUdoa2NsOXphWHBsTzF4eVhHNGdJSFJvYVhNdWMzUmhjblFnUFNCemRHRnlkRHRjY2x4dWZUdGNjbHh1UW05NFVHRnljMlZ5TGxOcGJtZHNaVWwwWlcxVWVYQmxVbVZtWlhKbGJtTmxRbTk0TG5CeWIzUnZkSGx3WlNBOUlHNWxkeUJDYjNoUVlYSnpaWEl1UW05NEtDazdYSEpjYmtKdmVGQmhjbk5sY2k1VGFXNW5iR1ZKZEdWdFZIbHdaVkpsWm1WeVpXNWpaVUp2ZUM1d2NtOTBiM1I1Y0dVdWNHRnljMlVnUFNCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxtWnliMjFmYVhSbGJWOUpSQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZG1GeUlHTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMbkpsWm1WeVpXNWpaWE1nUFNCYlhUdGNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHTnZkVzUwT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFJvYVhNdWNtVm1aWEpsYm1ObGMxdHBYU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0
1dGeWMybHVaeTl6YVc1bmJHVnBkR1Z0ZEhsd1pYSmxabVZ5Wlc1alpXeGhjbWRsTG1welhISmNia0p2ZUZCaGNuTmxjaTVUYVc1bmJHVkpkR1Z0Vkhsd1pWSmxabVZ5Wlc1alpVSnZlRXhoY21kbElEMGdablZ1WTNScGIyNG9kSGx3WlN3Z2MybDZaU3dnYUdSeVgzTnBlbVVzSUhOMFlYSjBLU0I3WEhKY2JpQWdRbTk0VUdGeWMyVnlMa0p2ZUM1allXeHNLSFJvYVhNc0lIUjVjR1VzSUhOcGVtVXBPMXh5WEc0Z0lIUm9hWE11YUdSeVgzTnBlbVVnUFNCb1pISmZjMmw2WlR0Y2NseHVJQ0IwYUdsekxuTjBZWEowSUQwZ2MzUmhjblE3WEhKY2JuMDdYSEpjYmtKdmVGQmhjbk5sY2k1VGFXNW5iR1ZKZEdWdFZIbHdaVkpsWm1WeVpXNWpaVUp2ZUV4aGNtZGxMbkJ5YjNSdmRIbHdaU0E5SUc1bGR5QkNiM2hRWVhKelpYSXVRbTk0S0NrN1hISmNia0p2ZUZCaGNuTmxjaTVUYVc1bmJHVkpkR1Z0Vkhsd1pWSmxabVZ5Wlc1alpVSnZlRXhoY21kbExuQnliM1J2ZEhsd1pTNXdZWEp6WlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVabkp2YlY5cGRHVnRYMGxFSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMllYSWdZMjkxYm5RZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11Y21WbVpYSmxibU5sY3lBOUlGdGRPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZMjkxYm5RN0lHa3JLeWtnZTF4eVhHNGdJQ0FnZEdocGN5NXlaV1psY21WdVkyVnpXMmxkSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDFOdFJHMHVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVaMWJHeENiM2hEZEc5eUtGd2lVMjFFYlZ3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMbkJ5YVcxaGNubFNRMmh5YjIxaGRHbGphWFI1WDNnZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11Y0hKcGJXRnllVkpEYUhKdmJXRjBhV05wZEhsZmVTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdkR2hwY3k1d2NtbHRZWEo1UjBOb2NtOXRZWFJwWTJsMGVWOTRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0IwYUdsekxuQnlhVzFoY25sSFEyaHliMjFoZEdsamFYUjVYM2tnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzRnSUhSb2FYTXVjSEpwYldGeWVVSkRhSEp2YldGMGFXTnBkSGxmZUNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYmlBZ2RHaHBjeTV3Y21sdFlYSjVRa05vY205dFlYUnBZMmwwZVY5NUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQjBhR2x6TG5kb2FYUmxVRzlwYm5SRGFISnZiV0YwYVdOcGRIbGZlQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZEdocGN5NTNhR2wwWlZCdmFXNTBRMmh5YjIxaGRHbGphWFI1WDNrZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11YkhWdGFXNWhibU5sVFdGNElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG14MWJXbHVZVzVqWlUxcGJpQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl6Yldoa0xtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luTnRhR1JjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NWlZV3hoYm1ObElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjM05wZUM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKemMybDRYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWMzVmljMlZuYldWdWRITWdQU0JiWFR0Y2NseHVJQ0IyWVhJZ2MzVmljMlZuYldWdWRGOWpiM1Z1ZENBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnpkV0p6WldkdFpXNTBYMk52ZFc1ME95QnBLeXNwSUh0Y2NseHVJQ0FnSUhaaGNpQnpkV0p6WldkdFpXNTBJRDBnZTMwN1hISmNiaUFnSUNCMGFHbHpMbk4xWW5ObFoyMWxiblJ6TG5CMWMyZ29jM1ZpYzJWbmJXVnVkQ2s3WEhKY2JpQWdJQ0J6ZFdKelpXZHRaVzUwTG5KaGJtZGxjeUE5SUZ0ZE8xeHlYRzRnSUNBZ2RtRnlJSEpoYm1kbFgyTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3T3lCcUlEd2djbUZ1WjJWZlkyOTFiblE3SUdvckt5a2dlMXh5WEc0Z0lDQWdJQ0IyWVhJZ2NtRnVaMlVnUFNCN2ZUdGNjbHh1SUNBZ0lDQWdjM1ZpYzJWbmJXVnVkQzV5WVc1blpYTXVjSFZ6YUNoeVlXNW5aU2s3WEhKY2JpQWdJQ0FnSUhKaGJtZGxMbXhsZG1Wc0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lDQWdJQ0J5WVc1blpTNXlZVzVuWlY5emFYcGxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNalFvS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl6ZEdOdkxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luTjBZMjljSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHVnVkSEo1WDJOdmRXNTBPMXh5WEc0Z0lHVnVkSEo1WDJOdmRXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0IwYUdsekxtTm9kVzVyWDI5bVpuTmxkSE1nUFNCYlhUdGNjbHh1SUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdWdWRISjVYMk52ZFc1ME95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVqYUhWdWExOXZabVp6WlhSekxuQjFjMmdvYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1NrN1hISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzNSa2NDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnpkR1J3WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQmpiM1Z1ZENBOUlDaDBhR2x6TG5OcGVtVWdMU0IwYUdsekxtaGtjbDl6YVhwbEtTQXZJREk3WEhKY2JpQWdkR2hwY3k1d2NtbHZjbWwwZVNBOUlGdGRPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZMjkxYm5RN0lHa3JLeWtnZTF4eVhHNGdJQ0FnZEdocGN5NXdjbWx2Y21sMGVWdHBYU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREUyS0NrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzNSb1pDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnpkR2hrWENJcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXpkSE
1pwTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkdkV3hzUW05NFEzUnZjaWhjSW5OMGNtbGNJaXdnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1emQybDBZMmhmWjNKdmRYQWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJSFJvYVhNdVlXeDBaWEp1WVhSbFgyZHliM1Z3SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMbk4xWWw5MGNtRmphMTlwWkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2RtRnlJR052ZFc1MElEMGdLSFJvYVhNdWMybDZaU0F0SUhSb2FYTXVhR1J5WDNOcGVtVWdMU0E0S1NBdklEUTdYSEpjYmlBZ2RHaHBjeTVoZEhSeWFXSjFkR1ZmYkdsemRDQTlJRnRkTzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVoZEhSeWFXSjFkR1ZmYkdsemRGdHBYU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzNSell5NXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnpkSE5qWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQmxiblJ5ZVY5amIzVnVkRHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0JsYm5SeWVWOWpiM1Z1ZENBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ2RHaHBjeTVtYVhKemRGOWphSFZ1YXlBOUlGdGRPMXh5WEc0Z0lIUm9hWE11YzJGdGNHeGxjMTl3WlhKZlkyaDFibXNnUFNCYlhUdGNjbHh1SUNCMGFHbHpMbk5oYlhCc1pWOWtaWE5qY21sd2RHbHZibDlwYm1SbGVDQTlJRnRkTzF4eVhHNGdJR2xtSUNoMGFHbHpMblpsY25OcGIyNGdQVDA5SURBcElIdGNjbHh1SUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCbGJuUnllVjlqYjNWdWREc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11Wm1seWMzUmZZMmgxYm1zdWNIVnphQ2h6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwS1R0Y2NseHVJQ0FnSUNBZ2RHaHBjeTV6WVcxd2JHVnpYM0JsY2w5amFIVnVheTV3ZFhOb0tITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDa3BPMXh5WEc0Z0lDQWdJQ0IwYUdsekxuTmhiWEJzWlY5a1pYTmpjbWx3ZEdsdmJsOXBibVJsZUM1d2RYTm9LSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2twTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM04wYzJRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWMzUnpaRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IyWVhJZ2FUdGNjbHh1SUNCMllYSWdjbVYwTzF4eVhHNGdJSFpoY2lCbGJuUnllVU52ZFc1ME8xeHlYRzRnSUhaaGNpQmliM2c3WEhKY2JpQWdkR2hwY3k1bGJuUnlhV1Z6SUQwZ1cxMDdYSEpjYmlBZ1pXNTBjbmxEYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdabTl5SUNocElEMGdNVHNnYVNBOFBTQmxiblJ5ZVVOdmRXNTBPeUJwS3lzcElIdGNjbHh1SUNBZ0lISmxkQ0E5SUVKdmVGQmhjbk5sY2k1d1lYSnpaVTl1WlVKdmVDaHpkSEpsWVcwc0lIUnlkV1VzSUhSb2FYTXVjMmw2WlNBdElDaHpkSEpsWVcwdVoyVjBVRzl6YVhScGIyNG9LU0F0SUhSb2FYTXVjM1JoY25RcEtUdGNjbHh1SUNBZ0lHbG1JQ2h5WlhRdVkyOWtaU0E5UFQwZ1FtOTRVR0Z5YzJWeUxrOUxLU0I3WEhKY2JpQWdJQ0FnSUdsbUlDaENiM2hRWVhKelpYSmJjbVYwTG5SNWNHVWdLeUJjSWxOaGJYQnNaVVZ1ZEhKNVhDSmRLU0I3WEhKY2JpQWdJQ0FnSUNBZ1ltOTRJRDBnYm1WM0lFSnZlRkJoY25ObGNsdHlaWFF1ZEhsd1pTQXJJRndpVTJGdGNHeGxSVzUwY25sY0lsMG9jbVYwTG5OcGVtVXBPMXh5WEc0Z0lDQWdJQ0FnSUdKdmVDNW9aSEpmYzJsNlpTQTlJSEpsZEM1b1pISmZjMmw2WlR0Y2NseHVJQ0FnSUNBZ0lDQmliM2d1YzNSaGNuUWdQU0J5WlhRdWMzUmhjblE3WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ1RHOW5MbmRoY200b1hDSkNiM2hRWVhKelpYSmNJaXdnWENKVmJtdHViM2R1SUhOaGJYQnNaU0JsYm5SeWVTQjBlWEJsT2lCY0lpQXJJSEpsZEM1MGVYQmxLVHRjY2x4dUlDQWdJQ0FnSUNCaWIzZ2dQU0J1WlhjZ1FtOTRVR0Z5YzJWeUxsTmhiWEJzWlVWdWRISjVLSEpsZEM1MGVYQmxMQ0J5WlhRdWMybDZaU3dnY21WMExtaGtjbDl6YVhwbExDQnlaWFF1YzNSaGNuUXBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUdsbUlDaGliM2d1ZDNKcGRHVWdQVDA5SUVKdmVGQmhjbk5sY2k1VFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVkM0pwZEdVcElIdGNjbHh1SUNBZ0lDQWdJQ0JNYjJjdWFXNW1ieWhjSWtKdmVGQmhjbk5sY2x3aUxDQmNJbE5oYlhCc1pVVnVkSEo1SUZ3aUlDc2dZbTk0TG5SNWNHVWdLeUJjSWlCaWIzZ2dkM0pwZEdsdVp5QnViM1FnZVdWMElHbHRjR3hsYldWdWRHVmtMQ0JyWldWd2FXNW5JSFZ1Y0dGeWMyVmtJR1JoZEdFZ2FXNGdiV1Z0YjNKNUlHWnZjaUJzWVhSbGNpQjNjbWwwWlZ3aUtUdGNjbHh1SUNBZ0lDQWdJQ0JpYjNndWNHRnljMlZFWVhSaFFXNWtVbVYzYVc1a0tITjBjbVZoYlNrN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdZbTk0TG5CaGNuTmxLSE4wY21WaGJTazdYSEpjYmlBZ0lDQWdJSFJvYVhNdVpXNTBjbWxsY3k1d2RYTm9LR0p2ZUNrN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCeVpYUjFjbTQ3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjM1J6Wnk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKemRITm5YQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdVozSnZkWEJwYm1kZmRIbHdaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZG1GeUlHTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMbWR5YjNWd1gyUmxjMk55YVhCMGFXOXVYMmx1WkdWNElEMGdXMTA3WEhKY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYjNWdWREc2dhU3NyS1NCN1hISmNiaUFnSUNCMGFHbHpMbWR5YjNWd1gyUmxjMk55YVhCMGFXOXVYMmx1WkdWNFcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0
1dGeWMybHVaeTl6ZEhOb0xtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luTjBjMmhjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHVnVkSEo1WDJOdmRXNTBPMXh5WEc0Z0lIWmhjaUJwTzF4eVhHNGdJR1Z1ZEhKNVgyTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMGFHbHpMbk5vWVdSdmQyVmtYM05oYlhCc1pWOXVkVzFpWlhKeklEMGdXMTA3WEhKY2JpQWdkR2hwY3k1emVXNWpYM05oYlhCc1pWOXVkVzFpWlhKeklEMGdXMTA3WEhKY2JpQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUdWdWRISjVYMk52ZFc1ME95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTV6YUdGa2IzZGxaRjl6WVcxd2JHVmZiblZ0WW1WeWN5NXdkWE5vS0hOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrcE8xeHlYRzRnSUNBZ0lDQjBhR2x6TG5ONWJtTmZjMkZ0Y0d4bFgyNTFiV0psY25NdWNIVnphQ2h6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTl6ZEhOekxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luTjBjM05jSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHazdYSEpjYmlBZ2RtRnlJR1Z1ZEhKNVgyTnZkVzUwTzF4eVhHNGdJR1Z1ZEhKNVgyTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0IwYUdsekxuTmhiWEJzWlY5dWRXMWlaWEp6SUQwZ1cxMDdYSEpjYmlBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z1pXNTBjbmxmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQjBhR2x6TG5OaGJYQnNaVjl1ZFcxaVpYSnpMbkIxYzJnb2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tTazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmMzUnplaTVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFJuVnNiRUp2ZUVOMGIzSW9YQ0p6ZEhONlhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIWmhjaUJwTzF4eVhHNGdJSFJvYVhNdWMyRnRjR3hsWDNOcGVtVnpJRDBnVzEwN1hISmNiaUFnYVdZZ0tIUm9hWE11ZG1WeWMybHZiaUE5UFQwZ01Da2dlMXh5WEc0Z0lDQWdkR2hwY3k1ellXMXdiR1ZmYzJsNlpTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0IwYUdsekxuTmhiWEJzWlY5amIzVnVkQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NXpZVzF3YkdWZlkyOTFiblE3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV6WVcxd2JHVmZjMmw2WlNBOVBUMGdNQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11YzJGdGNHeGxYM05wZW1WekxuQjFjMmdvYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1NrN1hISmNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1ellXMXdiR1ZmYzJsNlpYTmJhVjBnUFNCMGFHbHpMbk5oYlhCc1pWOXphWHBsTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzNSMGN5NXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnpkSFJ6WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQmxiblJ5ZVY5amIzVnVkRHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0IyWVhJZ1pHVnNkR0U3WEhKY2JpQWdaVzUwY25sZlkyOTFiblFnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUhSb2FYTXVjMkZ0Y0d4bFgyTnZkVzUwY3lBOUlGdGRPMXh5WEc0Z0lIUm9hWE11YzJGdGNHeGxYMlJsYkhSaGN5QTlJRnRkTzF4eVhHNGdJR2xtSUNoMGFHbHpMblpsY25OcGIyNGdQVDA5SURBcElIdGNjbHh1SUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCbGJuUnllVjlqYjNWdWREc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11YzJGdGNHeGxYMk52ZFc1MGN5NXdkWE5vS0hOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrcE8xeHlYRzRnSUNBZ0lDQmtaV3gwWVNBOUlITjBjbVZoYlM1eVpXRmtTVzUwTXpJb0tUdGNjbHh1SUNBZ0lDQWdhV1lnS0dSbGJIUmhJRHdnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJRXh2Wnk1M1lYSnVLRndpUW05NFVHRnljMlZ5WENJc0lGd2lSbWxzWlNCMWMyVnpJRzVsWjJGMGFYWmxJSE4wZEhNZ2MyRnRjR3hsSUdSbGJIUmhMQ0IxYzJsdVp5QjJZV3gxWlNBeElHbHVjM1JsWVdRc0lITjVibU1nYldGNUlHSmxJR3h2YzNRaFhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUdSbGJIUmhJRDBnTVR0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjBhR2x6TG5OaGJYQnNaVjlrWld4MFlYTXVjSFZ6YUNoa1pXeDBZU2s3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjM1IyYVM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKemRIWnBYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCMGJYQXpNaUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZEdocGN5NXphVzVuYkdWZmRtbGxkMTloYkd4dmQyVmtJRDBnZEcxd016SWdKaUF3ZURNN1hISmNiaUFnZEdocGN5NXpkR1Z5Wlc5ZmMyTm9aVzFsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMllYSWdiR1Z1WjNSb0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG5OMFpYSmxiMTlwYm1ScFkyRjBhVzl1WDNSNWNHVWdQU0J6ZEhKbFlXMHVjbVZoWkZOMGNtbHVaeWhzWlc1bmRHZ3BPMXh5WEc0Z0lIWmhjaUJ5WlhRN1hISmNiaUFnZG1GeUlHSnZlRHRjY2x4dUlDQjBhR2x6TG1KdmVHVnpJRDBnVzEwN1hISmNiaUFnZDJocGJHVWdLSE4wY21WaGJTNW5aWFJRYjNOcGRHbHZiaWdwSUR3Z2RH
1aHBjeTV6ZEdGeWRDQXJJSFJvYVhNdWMybDZaU2tnZTF4eVhHNGdJQ0FnY21WMElEMGdRbTk0VUdGeWMyVnlMbkJoY25ObFQyNWxRbTk0S0hOMGNtVmhiU3dnWm1Gc2MyVXNJSFJvYVhNdWMybDZaU0F0SUNoemRISmxZVzB1WjJWMFVHOXphWFJwYjI0b0tTQXRJSFJvYVhNdWMzUmhjblFwS1R0Y2NseHVJQ0FnSUdsbUlDaHlaWFF1WTI5a1pTQTlQVDBnUW05NFVHRnljMlZ5TGs5TEtTQjdYSEpjYmlBZ0lDQWdJR0p2ZUNBOUlISmxkQzVpYjNnN1hISmNiaUFnSUNBZ0lIUm9hWE11WW05NFpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lDQWdJQ0IwYUdselcySnZlQzUwZVhCbFhTQTlJR0p2ZUR0Y2NseHVJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUhKbGRIVnlianRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wcE8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OXpkSGx3TG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVkNiM2hEZEc5eUtGd2ljM1I1Y0Z3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCQ2IzaFFZWEp6WlhJdVpuUjVjRUp2ZUM1d2NtOTBiM1I1Y0dVdWNHRnljMlV1WTJGc2JDaDBhR2x6TENCemRISmxZVzBwTzF4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2YzNSNk1pNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSnpkSG95WENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQnBPMXh5WEc0Z0lIWmhjaUJ6WVcxd2JHVmZjMmw2WlR0Y2NseHVJQ0IyWVhJZ2MyRnRjR3hsWDJOdmRXNTBPMXh5WEc0Z0lIUm9hWE11YzJGdGNHeGxYM05wZW1WeklEMGdXMTA3WEhKY2JpQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV5WlhObGNuWmxaQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkREkwS0NrN1hISmNiaUFnSUNCMGFHbHpMbVpwWld4a1gzTnBlbVVnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNCellXMXdiR1ZmWTI5MWJuUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnYVdZZ0tIUm9hWE11Wm1sbGJHUmZjMmw2WlNBOVBUMGdOQ2tnZTF4eVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYzJGdGNHeGxYMk52ZFc1ME95QnBJQ3M5SURJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2RHMXdJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11YzJGdGNHeGxYM05wZW1WelcybGRJRDBnS0hSdGNDQStQaUEwS1NBbUlEQjRSanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbk5oYlhCc1pWOXphWHBsYzF0cElDc2dNVjBnUFNCMGJYQWdKaUF3ZUVZN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1bWFXVnNaRjl6YVhwbElEMDlQU0E0S1NCN1hISmNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCellXMXdiR1ZmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWMyRnRjR3hsWDNOcGVtVnpXMmxkSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdVptbGxiR1JmYzJsNlpTQTlQVDBnTVRZcElIdGNjbHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElITmhiWEJzWlY5amIzVnVkRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXpZVzF3YkdWZmMybDZaWE5iYVYwZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0JNYjJjdVpYSnliM0lvWENKQ2IzaFFZWEp6WlhKY0lpd2dYQ0pGY25KdmNpQnBiaUJzWlc1bmRHZ2dabWxsYkdRZ2FXNGdjM1I2TWlCaWIzaGNJaWs3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZjM1ZpY3k1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKemRXSnpYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCcExDQnFPMXh5WEc0Z0lIWmhjaUJsYm5SeWVWOWpiM1Z1ZER0Y2NseHVJQ0IyWVhJZ2MzVmljMkZ0Y0d4bFgyTnZkVzUwTzF4eVhHNGdJR1Z1ZEhKNVgyTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMGFHbHpMbVZ1ZEhKcFpYTWdQU0JiWFR0Y2NseHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2daVzUwY25sZlkyOTFiblE3SUdrckt5a2dlMXh5WEc0Z0lDQWdkbUZ5SUhOaGJYQnNaVWx1Wm04Z1BTQjdmVHRjY2x4dUlDQWdJSFJvYVhNdVpXNTBjbWxsYzF0cFhTQTlJSE5oYlhCc1pVbHVabTg3WEhKY2JpQWdJQ0J6WVcxd2JHVkpibVp2TG5OaGJYQnNaVjlrWld4MFlTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0J6WVcxd2JHVkpibVp2TG5OMVluTmhiWEJzWlhNZ1BTQmJYVHRjY2x4dUlDQWdJSE4xWW5OaGJYQnNaVjlqYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRERTJLQ2s3WEhKY2JpQWdJQ0JwWmlBb2MzVmljMkZ0Y0d4bFgyTnZkVzUwSUQ0Z01Da2dlMXh5WEc0Z0lDQWdJQ0JtYjNJZ0tHb2dQU0F3T3lCcUlEd2djM1ZpYzJGdGNHeGxYMk52ZFc1ME95QnFLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzNWaWMyRnRjR3hsSUQwZ2UzMDdYSEpjYmlBZ0lDQWdJQ0FnYzJGdGNHeGxTVzVtYnk1emRXSnpZVzF3YkdWekxuQjFjMmdvYzNWaWMyRnRjR3hsS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NTJaWEp6YVc5dUlEMDlJREVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJSE4xWW5OaGJYQnNaUzV6YVhwbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdjM1ZpYzJGdGNHeGxMbk5wZW1VZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnpkV0p6WVcxd2JHVXVjSEpwYjNKcGRIa2dQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2MzVmljMkZ0Y0d4bExtUnBjMk5oY21SaFlteGxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnSUNBZ0lITjFZbk5oYlhCc1pTNWpiMlJsWTE5emNHVmphV1pwWTE5d1lYSmhiV1YwWlhKeklEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1JsYm1NdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWRHVnVZMXdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3SUM4dklISmxjMlZ5ZG1Wa1hISmNiaUFnYVdZZ0tIUm9hWE11ZG1WeWMybHZiaUE5UFQwZ01Da2dlMXh5WEc0Z0lDQWdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCMllYSWdkRzF3SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0NncE8xeHlYRzRnSUNBZ2RHaHBjeTVrWldaaGRXeDBYMk55ZVhCMFgySjVkR1ZmWW14dlkyc2dQU0FvZEcxd0lENCtJRFFwSUNZZ01IaEdPMXh5WEc0Z0lDQWdkR2hwY3k1a1pXWmhkV3gwWDNOcmFYQmZZbmwwWlY5aWJHOWpheUE5SUhSdGNDQW1JREI0Ump0Y2NseHVJQ0I5WEhKY2JpQWdkR2hwY3k1a1pXWmhkV3gwWDJselVISnZkR1ZqZEdWa0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lIUm9hWE11WkdWbVlYVnNkRjlRWlhKZlUyRnRjR3hsWDBsV1gxTnBlbVVnUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnZEdocGN5NWtaV1poZFd4MFgwdEpSQ0E5SUVKdmVGQmhjbk5sY2k1d1lYSnpaVWhsZURFMktITjBjbVZoYlNrN1hISmNiaUFnYVdZZ0tIUm9hWE11WkdWbVlYVnNkRjlwYzFCeWIzUmxZM1JsWkNBOVBUMGdNU0FtSmlCMGFHbHpMbVJsWm1GMWJIUmZVR1Z5WDFOaGJYQnNaVjlKVmw5VGFYcGxJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQjBhR2x6TG1SbFptRjFiSFJmWTI5dWMzUmhiblJmU1ZaZmMybDZaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0FnSUhSb2FYTXVaR1
1ZtWVhWc2RGOWpiMjV6ZEdGdWRGOUpWaUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGhCY25KaGVTaDBhR2x6TG1SbFptRjFiSFJmWTI5dWMzUmhiblJmU1ZaZmMybDZaU2s3WEhKY2JpQWdmVnh5WEc1OUtUc3ZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1JtWkhRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWRHWmtkRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5SURFcElIdGNjbHh1SUNBZ0lIUm9hWE11WW1GelpVMWxaR2xoUkdWamIyUmxWR2x0WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhSb2FYTXVZbUZ6WlUxbFpHbGhSR1ZqYjJSbFZHbHRaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2ZEdab1pDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSjBabWhrWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQnlaV0ZrUW5sMFpYTWdQU0F3TzF4eVhHNGdJSFJvYVhNdWRISmhZMnRmYVdRZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lHbG1JQ2gwYUdsekxuTnBlbVVnTFNCMGFHbHpMbWhrY2w5emFYcGxJRDRnY21WaFpFSjVkR1Z6SUNZbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSR1NFUmZSa3hCUjE5Q1FWTkZYMFJCVkVGZlQwWkdVMFZVS1NrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVpWVhObFgyUmhkR0ZmYjJabWMyVjBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBOalFvS1R0Y2NseHVJQ0FnSUhKbFlXUkNlWFJsY3lBclBTQTRPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCMGFHbHpMbUpoYzJWZlpHRjBZVjl2Wm1aelpYUWdQU0F3TzF4eVhHNGdJSDFjY2x4dUlDQnBaaUFvZEdocGN5NXphWHBsSUMwZ2RHaHBjeTVvWkhKZmMybDZaU0ErSUhKbFlXUkNlWFJsY3lBbUppQW9kR2hwY3k1bWJHRm5jeUFtSUVKdmVGQmhjbk5sY2k1VVJraEVYMFpNUVVkZlUwRk5VRXhGWDBSRlUwTXBLU0I3WEhKY2JpQWdJQ0IwYUdsekxtUmxabUYxYkhSZmMyRnRjR3hsWDJSbGMyTnlhWEIwYVc5dVgybHVaR1Y0SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lISmxZV1JDZVhSbGN5QXJQU0EwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG1SbFptRjFiSFJmYzJGdGNHeGxYMlJsYzJOeWFYQjBhVzl1WDJsdVpHVjRJRDBnTUR0Y2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVjMmw2WlNBdElIUm9hWE11YUdSeVgzTnBlbVVnUGlCeVpXRmtRbmwwWlhNZ0ppWWdLSFJvYVhNdVpteGhaM01nSmlCQ2IzaFFZWEp6WlhJdVZFWklSRjlHVEVGSFgxTkJUVkJNUlY5RVZWSXBLU0I3WEhKY2JpQWdJQ0IwYUdsekxtUmxabUYxYkhSZmMyRnRjR3hsWDJSMWNtRjBhVzl1SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lISmxZV1JDZVhSbGN5QXJQU0EwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG1SbFptRjFiSFJmYzJGdGNHeGxYMlIxY21GMGFXOXVJRDBnTUR0Y2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVjMmw2WlNBdElIUm9hWE11YUdSeVgzTnBlbVVnUGlCeVpXRmtRbmwwWlhNZ0ppWWdLSFJvYVhNdVpteGhaM01nSmlCQ2IzaFFZWEp6WlhJdVZFWklSRjlHVEVGSFgxTkJUVkJNUlY5VFNWcEZLU2tnZTF4eVhHNGdJQ0FnZEdocGN5NWtaV1poZFd4MFgzTmhiWEJzWlY5emFYcGxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUhKbFlXUkNlWFJsY3lBclBTQTBPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCMGFHbHpMbVJsWm1GMWJIUmZjMkZ0Y0d4bFgzTnBlbVVnUFNBd08xeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2RHaHBjeTV6YVhwbElDMGdkR2hwY3k1b1pISmZjMmw2WlNBK0lISmxZV1JDZVhSbGN5QW1KaUFvZEdocGN5NW1iR0ZuY3lBbUlFSnZlRkJoY25ObGNpNVVSa2hFWDBaTVFVZGZVMEZOVUV4RlgwWk1RVWRUS1NrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVrWldaaGRXeDBYM05oYlhCc1pWOW1iR0ZuY3lBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQnlaV0ZrUW5sMFpYTWdLejBnTkR0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdkR2hwY3k1a1pXWmhkV3gwWDNOaGJYQnNaVjltYkdGbmN5QTlJREE3WEhKY2JpQWdmVnh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZkR1p5WVM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKMFpuSmhYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWRISmhZMnRmU1VRZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lITjBjbVZoYlM1eVpXRmtWV2x1ZERJMEtDazdYSEpjYmlBZ2RtRnlJSFJ0Y0Y5aWVYUmxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJSFJvYVhNdWJHVnVaM1JvWDNOcGVtVmZiMlpmZEhKaFpsOXVkVzBnUFNBb2RHMXdYMko1ZEdVZ1BqNGdOQ2tnSmlBd2VETTdYSEpjYmlBZ2RHaHBjeTVzWlc1bmRHaGZjMmw2WlY5dlpsOTBjblZ1WDI1MWJTQTlJQ2gwYlhCZllubDBaU0ErUGlBeUtTQW1JREI0TXp0Y2NseHVJQ0IwYUdsekxteGxibWQwYUY5emFYcGxYMjltWDNOaGJYQnNaVjl1ZFcwZ1BTQW9kRzF3WDJKNWRHVXBJQ1lnTUhnek8xeHlYRzRnSUhSb2FYTXVaVzUwY21sbGN5QTlJRnRkTzF4eVhHNGdJSFpoY2lCdWRXMWlaWEpmYjJaZlpXNTBjbWxsY3lBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVkVzFpWlhKZmIyWmZaVzUwY21sbGN6c2dhU3NyS1NCN1hISmNiaUFnSUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0FnSUhSb2FYTXVkR2x0WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ0lDQWdJSFJvYVhNdWJXOXZabDl2Wm1aelpYUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTJOQ2dwTzF4eVhHNGdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnZEdocGN5NTBhVzFsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNBZ0lDQWdkR2hwY3k1dGIyOW1YMjltWm5ObGRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0IwYUdsekxuUnlZV1pmYm5WdFltVnlJRDBnYzNSeVpXRnRXMXdpY21WaFpGVnBiblJjSWlBcklDZzRJQ29nS0hSb2FYTXViR1Z1WjNSb1gzTnBlbVZmYjJaZmRISmhabDl1ZFcwZ0t5QX
1hLU2xkS0NrN1hISmNiaUFnSUNCMGFHbHpMblJ5ZFc1ZmJuVnRZbVZ5SUQwZ2MzUnlaV0Z0VzF3aWNtVmhaRlZwYm5SY0lpQXJJQ2c0SUNvZ0tIUm9hWE11YkdWdVozUm9YM05wZW1WZmIyWmZkSEoxYmw5dWRXMGdLeUF4S1NsZEtDazdYSEpjYmlBZ0lDQjBhR2x6TG5OaGJYQnNaVjl1ZFcxaVpYSWdQU0J6ZEhKbFlXMWJYQ0p5WldGa1ZXbHVkRndpSUNzZ0tEZ2dLaUFvZEdocGN5NXNaVzVuZEdoZmMybDZaVjl2Wmw5ellXMXdiR1ZmYm5WdElDc2dNU2twWFNncE8xeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNScmFHUXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVaMWJHeENiM2hEZEc5eUtGd2lkR3RvWkZ3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOUlERXBJSHRjY2x4dUlDQWdJSFJvYVhNdVkzSmxZWFJwYjI1ZmRHbHRaU0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRFkwS0NrN1hISmNiaUFnSUNCMGFHbHpMbTF2WkdsbWFXTmhkR2x2Ymw5MGFXMWxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBOalFvS1R0Y2NseHVJQ0FnSUhSb2FYTXVkSEpoWTJ0ZmFXUWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUhSb2FYTXVaSFZ5WVhScGIyNGdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTJOQ2dwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG1OeVpXRjBhVzl1WDNScGJXVWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNaWdwTzF4eVhHNGdJQ0FnZEdocGN5NXRiMlJwWm1sallYUnBiMjVmZEdsdFpTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0IwYUdsekxuUnlZV05yWDJsa0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJSE4wY21WaGJTNXlaV0ZrVldsdWRETXlLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtUjFjbUYwYVc5dUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjlYSEpjYmlBZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpKQmNuSmhlU2d5S1R0Y2NseHVJQ0IwYUdsekxteGhlV1Z5SUQwZ2MzUnlaV0Z0TG5KbFlXUkpiblF4TmlncE8xeHlYRzRnSUhSb2FYTXVZV3gwWlhKdVlYUmxYMmR5YjNWd0lEMGdjM1J5WldGdExuSmxZV1JKYm5ReE5pZ3BPMXh5WEc0Z0lIUm9hWE11ZG05c2RXMWxJRDBnYzNSeVpXRnRMbkpsWVdSSmJuUXhOaWdwSUQ0K0lEZzdYSEpjYmlBZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1SUNCMGFHbHpMbTFoZEhKcGVDQTlJSE4wY21WaGJTNXlaV0ZrU1c1ME16SkJjbkpoZVNnNUtUdGNjbHh1SUNCMGFHbHpMbmRwWkhSb0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG1obGFXZG9kQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRE15S0NrN1hISmNibjBwTzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5MGJXRjRMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWpjbVZoZEdWQ2IzaERkRzl5S0Z3aWRHMWhlRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuUnBiV1VnUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmRHMXBiaTVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFFtOTRRM1J2Y2loY0luUnRhVzVjSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTBhVzFsSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzUnZkR3d1YW5OY2NseHVRbTk0VUdGeWMyVnlMbU55WldGMFpVSnZlRU4wYjNJb1hDSjBiM1JzWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVZbmwwWlhOelpXNTBJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNSd1lYa3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVKdmVFTjBiM0lvWENKMGNHRjVYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdVlubDBaWE56Wlc1MElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1J3ZVd3dWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVUp2ZUVOMGIzSW9YQ0owY0hsc1hDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11WW5sMFpYTnpaVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTmpRb0tUdGNjbHh1ZlNrN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwxUnlZV05yUjNKdmRYQXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxsUnlZV05yUjNKdmRYQlVlWEJsUW05NExuQnliM1J2ZEhsd1pTNXdZWEp6WlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVjR0Z5YzJWR2RXeHNTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnZEdocGN5NTBjbUZqYTE5bmNtOTFjRjlwWkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYm4wN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXdZWEp6YVc1bkwzUnlZV05yWjNKdmRYQnpMMjF6Y21NdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVlJ5WVdOclIzSnZkWEJEZEc5eUtGd2liWE55WTF3aUtUc3ZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MMVJ5WVd0U1pXWmxjbVZ1WTJVdWFuTmNjbHh1UW05NFVHRnljMlZ5TGxSeVlXTnJVbVZtWlhKbGJtTmxWSGx3WlVKdmVDQTlJR1oxYm1OMGFXOXVLSFI1Y0dVc0lITnBlbVVzSUdoa2NsOXphWHBsTENCemRHRnlkQ2tnZTF4eVhHNGdJRUp2ZUZCaGNuTmxjaTVDYjNndVkyRnNiQ2gwYUdsekxDQjBlWEJsTENCemFYcGxLVHRjY2x4dUlDQjBhR2x6TG1oa2NsOXphWHBsSUQwZ2FHUnlYM05wZW1VN1hISmNiaUFnZEdocGN5NXpkR0Z5ZENBOUlITjBZWEowTzF4eVhHNTlPMXh5WEc1Q2IzaFFZWEp6WlhJdVZISmhZMnRTWldabGNtVnVZMlZVZVhCbFFtOTRMbkJ5YjNSdmRIbHdaU0E5SUc1bGR5QkNiM2hRWVhKelpYSXVRbTk0S0NrN1hISmNia0p2ZUZCaGNuTmxjaTVVY21GamExSmxabVZ5Wlc1alpWUjVjR1ZDYjNndWNISnZkRzkwZVhCbExuQmhjbk5sSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTBjbUZqYTE5cFpITWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXpNa0Z5Y21GNUtDaDBhR2x6TG5OcGVtVWdMU0IwYUdsekxtaGtjbDl6YVhwbEtTQXZJRFFwTzF4eVhHNTlPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0
1dGeWMybHVaeTkwY21WbUxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1MGNtVm1RbTk0TG5CeWIzUnZkSGx3WlM1d1lYSnpaU0E5SUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFpoY2lCeVpYUTdYSEpjYmlBZ2RtRnlJR0p2ZUR0Y2NseHVJQ0IzYUdsc1pTQW9jM1J5WldGdExtZGxkRkJ2YzJsMGFXOXVLQ2tnUENCMGFHbHpMbk4wWVhKMElDc2dkR2hwY3k1emFYcGxLU0I3WEhKY2JpQWdJQ0J5WlhRZ1BTQkNiM2hRWVhKelpYSXVjR0Z5YzJWUGJtVkNiM2dvYzNSeVpXRnRMQ0IwY25WbExDQjBhR2x6TG5OcGVtVWdMU0FvYzNSeVpXRnRMbWRsZEZCdmMybDBhVzl1S0NrZ0xTQjBhR2x6TG5OMFlYSjBLU2s3WEhKY2JpQWdJQ0JwWmlBb2NtVjBMbU52WkdVZ1BUMDlJRUp2ZUZCaGNuTmxjaTVQU3lrZ2UxeHlYRzRnSUNBZ0lDQmliM2dnUFNCdVpYY2dRbTk0VUdGeWMyVnlMbFJ5WVdOclVtVm1aWEpsYm1ObFZIbHdaVUp2ZUNoeVpYUXVkSGx3WlN3Z2NtVjBMbk5wZW1Vc0lISmxkQzVvWkhKZmMybDZaU3dnY21WMExuTjBZWEowS1R0Y2NseHVJQ0FnSUNBZ2FXWWdLR0p2ZUM1M2NtbDBaU0E5UFQwZ1FtOTRVR0Z5YzJWeUxrSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdKaVlnWW05NExuUjVjR1VnSVQwOUlGd2liV1JoZEZ3aUtTQjdYSEpjYmlBZ0lDQWdJQ0FnVEc5bkxtbHVabThvWENKQ2IzaFFZWEp6WlhKY0lpd2dYQ0pVY21GamExSmxabVZ5Wlc1alpTQmNJaUFySUdKdmVDNTBlWEJsSUNzZ1hDSWdZbTk0SUhkeWFYUnBibWNnYm05MElIbGxkQ0JwYlhCc1pXMWxiblJsWkN3Z2EyVmxjR2x1WnlCMWJuQmhjbk5sWkNCa1lYUmhJR2x1SUcxbGJXOXllU0JtYjNJZ2JHRjBaWElnZDNKcGRHVmNJaWs3WEhKY2JpQWdJQ0FnSUNBZ1ltOTRMbkJoY25ObFJHRjBZVUZ1WkZKbGQybHVaQ2h6ZEhKbFlXMHBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUdKdmVDNXdZWEp6WlNoemRISmxZVzBwTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbUp2ZUdWekxuQjFjMmdvWW05NEtUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1J5WlhBdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWRISmxjRndpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuUnlZV05yWDBsRUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG1KdmVHVnpJRDBnVzEwN1hISmNiaUFnZDJocGJHVWdLSE4wY21WaGJTNW5aWFJRYjNOcGRHbHZiaWdwSUR3Z2RHaHBjeTV6ZEdGeWRDQXJJSFJvYVhNdWMybDZaU2tnZTF4eVhHNGdJQ0FnY21WMElEMGdRbTk0VUdGeWMyVnlMbkJoY25ObFQyNWxRbTk0S0hOMGNtVmhiU3dnWm1Gc2MyVXNJSFJvYVhNdWMybDZaU0F0SUNoemRISmxZVzB1WjJWMFVHOXphWFJwYjI0b0tTQXRJSFJvYVhNdWMzUmhjblFwS1R0Y2NseHVJQ0FnSUdsbUlDaHlaWFF1WTI5a1pTQTlQVDBnUW05NFVHRnljMlZ5TGs5TEtTQjdYSEpjYmlBZ0lDQWdJR0p2ZUNBOUlISmxkQzVpYjNnN1hISmNiaUFnSUNBZ0lIUm9hWE11WW05NFpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVmU2s3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5d1lYSnphVzVuTDNSeVpYZ3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlVaMWJHeENiM2hEZEc5eUtGd2lkSEpsZUZ3aUxDQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMblJ5WVdOclgybGtJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0IwYUdsekxtUmxabUYxYkhSZmMyRnRjR3hsWDJSbGMyTnlhWEIwYVc5dVgybHVaR1Y0SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMGFHbHpMbVJsWm1GMWJIUmZjMkZ0Y0d4bFgyUjFjbUYwYVc5dUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQjBhR2x6TG1SbFptRjFiSFJmYzJGdGNHeGxYM05wZW1VZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lIUm9hWE11WkdWbVlYVnNkRjl6WVcxd2JHVmZabXhoWjNNZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc1OUtUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM0JoY25OcGJtY3ZkSEp3ZVM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxRbTk0UTNSdmNpaGNJblJ5Y0hsY0lpd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTVpZVhSbGMzTmxiblFnUFNCemRISmxZVzB1Y21WaFpGVnBiblEyTkNncE8xeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmRISjFiaTVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFJuVnNiRUp2ZUVOMGIzSW9YQ0owY25WdVhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIWmhjaUJ5WldGa1FubDBaWE1nUFNBd08xeHlYRzRnSUhSb2FYTXVjMkZ0Y0d4bFgyTnZkVzUwSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCeVpXRmtRbmwwWlhNZ0t6MGdORHRjY2x4dUlDQnBaaUFvZEdocGN5NXphWHBsSUMwZ2RHaHBjeTVvWkhKZmMybDZaU0ErSUhKbFlXUkNlWFJsY3lBbUppQW9kR2hwY3k1bWJHRm5jeUFtSUVKdmVGQmhjbk5sY2k1VVVsVk9YMFpNUVVkVFgwUkJWRUZmVDBaR1UwVlVLU2tnZTF4eVhHNGdJQ0FnZEdocGN5NWtZWFJoWDI5bVpuTmxkQ0E5SUhOMGNtVmhiUzV5WldGa1NXNTBNeklvS1RzZ0x5OXphV2R1WldSY2NseHVJQ0FnSUhKbFlXUkNlWFJsY3lBclBTQTBPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCMGFHbHpMbVJoZEdGZmIyWm1jMlYwSUQwZ01EdGNjbHh1SUNCOVhISmNiaUFnYVdZZ0tIUm9hWE11YzJsNlpTQXRJSFJvYVhNdWFHUnlYM05wZW1VZ1BpQnlaV0ZrUW5sMFpYTWdKaVlnS0hSb2FYTXVabXhoWjNNZ0ppQkNiM2hRWVhKelpYSXVWRkpWVGw5R1RFRkhVMTlHU1ZKVFZGOUdURUZIS1NrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVtYVhKemRGOXpZVzF3YkdWZlpteGhaM01nUFNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE8xeHlYRzRnSUNBZ2NtVmhaRUo1ZEdWeklDczlJRFE3WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lIUm9hWE11Wm1seWMzUmZjMkZ0Y0d4bFgyWnNZV2R6SUQwZ01EdGNjbHh1SUNCOVhISmNiaUFnZEdocGN5NXpZVzF3YkdWZlpIVnlZWFJwYjI0Z1BTQmJYVHRjY2x4dUlDQjBhR2x6TG5OaGJYQnNaVjl6YVhwbElEMGdXMTA3WEhKY2JpQWdkR2hwY3k1ellXMXdiR1ZmWm14aFozTWdQU0JiWFR0Y2NseHVJQ0IwYUdsekxuTmhiWEJzWlY5amIyMXdiM05wZEdsdmJsOTBhVzFsWDI5bVpuTmxkQ0E5SUZ0ZE8xeHlYRzRnSUdsbUlDaDBhR2x6TG5OcGVtVWdMU0IwYUdsekxtaGtjbDl6YVhwbElENGdjbVZoWkVKNWRHVnpLU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXVjMkZ0Y0d4bFgyTnZkVzUwT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkZKVlRsOUdURUZIVT
1E5RVZWSkJWRWxQVGlrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWMyRnRjR3hsWDJSMWNtRjBhVzl1VzJsZElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME16SW9LVHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCcFppQW9kR2hwY3k1bWJHRm5jeUFtSUVKdmVGQmhjbk5sY2k1VVVsVk9YMFpNUVVkVFgxTkpXa1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5OaGJYQnNaVjl6YVhwbFcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NW1iR0ZuY3lBbUlFSnZlRkJoY25ObGNpNVVVbFZPWDBaTVFVZFRYMFpNUVVkVEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXpZVzF3YkdWZlpteGhaM05iYVYwZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlExUlRYMDlHUmxORlZDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5abGNuTnBiMjRnUFQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11YzJGdGNHeGxYMk52YlhCdmMybDBhVzl1WDNScGJXVmZiMlptYzJWMFcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXpZVzF3YkdWZlkyOXRjRzl6YVhScGIyNWZkR2x0WlY5dlptWnpaWFJiYVYwZ1BTQnpkSEpsWVcwdWNtVmhaRWx1ZERNeUtDazdJQzh2YzJsbmJtVmtYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2ZEhObGJDNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSjBjMlZzWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVjM2RwZEdOb1gyZHliM1Z3SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCMllYSWdZMjkxYm5RZ1BTQW9kR2hwY3k1emFYcGxJQzBnZEdocGN5NW9aSEpmYzJsNlpTQXRJRFFwSUM4Z05EdGNjbHh1SUNCMGFHbHpMbUYwZEhKcFluVjBaVjlzYVhOMElEMGdXMTA3WEhKY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYjNWdWREc2dhU3NyS1NCN1hISmNiaUFnSUNCMGFHbHpMbUYwZEhKcFluVjBaVjlzYVhOMFcybGRJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0I5WEhKY2JuMHBPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTkwZUhSRExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZHZFd4c1FtOTRRM1J2Y2loY0luUjRkRU5jSWl3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NWpiMjVtYVdjZ1BTQnpkSEpsWVcwdWNtVmhaRU5UZEhKcGJtY29LVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1Z5YkM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKMWNtd2dYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJR2xtSUNoMGFHbHpMbVpzWVdkeklDRTlQU0F3ZURBd01EQXdNU2tnZTF4eVhHNGdJQ0FnZEdocGN5NXNiMk5oZEdsdmJpQTlJSE4wY21WaGJTNXlaV0ZrUTFOMGNtbHVaeWdwTzF4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1Z5Ymk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNKbFlYUmxSblZzYkVKdmVFTjBiM0lvWENKMWNtNGdYQ0lzSUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWJtRnRaU0E5SUhOMGNtVmhiUzV5WldGa1ExTjBjbWx1WnlncE8xeHlYRzRnSUdsbUlDaDBhR2x6TG5OcGVtVWdMU0IwYUdsekxtaGtjbDl6YVhwbElDMGdkR2hwY3k1dVlXMWxMb
1XhsYm1kMGFDQXRJREVnUGlBd0tTQjdYSEpjYmlBZ0lDQjBhR2x6TG14dlkyRjBhVzl1SUQwZ2MzUnlaV0Z0TG5KbFlXUkRVM1J5YVc1bktDazdYSEpjYmlBZ2ZWeHlYRzU5S1R0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmRYVnBaQzl3YVdabUwzQnBabVpNYzIwdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVlZWU1VSQ2IzZ29YQ0poTldRME1HSXpNR1U0TVRReE1XUmtZbUV5WmpBNE1EQXlNREJqT1dFMk5sd2lMQ0IwY25WbExDQm1ZV3h6WlN3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NU1hWFpsVTJWeWRtVnlUV0Z1YVdabGMzUWdQU0J6ZEhKbFlXMHVjbVZoWkZOMGNtbHVaeWgwYUdsekxuTnBlbVVnTFNCMGFHbHpMbWhrY2w5emFYcGxLVnh5WEc0Z0lDQWdMbkpsY0d4aFkyVW9MeVl2Wnl3Z1hDSW1ZVzF3TzF3aUtWeHlYRzRnSUNBZ0xuSmxjR3hoWTJVb0x6d3ZaeXdnWENJbWJIUTdYQ0lwWEhKY2JpQWdJQ0F1Y21Wd2JHRmpaU2d2UGk5bkxDQmNJaVpuZER0Y0lpbGNjbHh1SUNBZ0lDNXlaWEJzWVdObEtDOWNJaTluTENCY0lpWnhkVzkwTzF3aUtWeHlYRzRnSUNBZ0xuSmxjR3hoWTJVb0x5Y3ZaeXdnWENJbUl6QXpPVHRjSWlrN1hISmNibjBwT3k4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmRYVnBaQzl3YVdabUwzQnBabVpRYzNOb0xtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZWVlVsRVFtOTRLRndpWkRBNFlUUm1NVGd4TUdZek5HRTRNbUkyWXpnek1tUTRZV0poTVRnelpETmNJaXdnZEhKMVpTd2dabUZzYzJVc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVjM2x6ZEdWdFgybGtJRDBnUW05NFVHRnljMlZ5TG5CaGNuTmxTR1Y0TVRZb2MzUnlaV0Z0S1R0Y2NseHVJQ0IyWVhJZ1pHRjBZWE5wZW1VZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lHbG1JQ2hrWVhSaGMybDZaU0ErSURBcElIdGNjbHh1SUNBZ0lIUm9hWE11WkdGMFlTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREaEJjbkpoZVNoa1lYUmhjMmw2WlNrN1hISmNiaUFnZlZ4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2ZFhWcFpDOXdhV1ptTDNCcFptWlRaVzVqTG1welhISmNia0p2ZUZCaGNuTmxjaTVqY21WaGRHVlZWVWxFUW05NEtGd2lZVEl6T1RSbU5USTFZVGxpTkdZeE5HRXlORFEyWXpReU4yTTJORGhrWmpSY0lpd2dkSEoxWlN3Z1ptRnNjMlVnTHlvc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzVjZEdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnTUhneEtTQjdYSEpjYmx4MFhIUjBhR2x6TGtGc1oyOXlhWFJvYlVsRUlEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1qUW9LVHRjY2x4dVhIUmNkSFJvYVhNdVNWWmZjMmw2WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1WEhSY2RIUm9hWE11UzBsRUlEMGdRbTk0VUdGeWMyVnlMbkJoY25ObFNHVjRNVFlvYzNSeVpXRnRLVHRjY2x4dVhIUjlYSEpjYmx4MGRtRnlJSE5oYlhCc1pWOWpiM1Z1ZENBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmx4MGRHaHBjeTV6WVcxd2JHVnpJRDBnVzEwN1hISmNibHgwWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCellXMXdiR1ZmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzVjZEZ4MGRtRnlJSE5oYlhCc1pTQTlJSHQ5TzF4eVhHNWNkRngwYzJGdGNHeGxMa2x1YVhScFlXeHBlbUYwYVc5dVZtVmpkRzl5SUQwZ2RHaHBjeTV5WldGa1ZXbHVkRGhCY25KaGVTaDBhR2x6TGtsV1gzTnBlbVVxT0NrN1hISmNibHgwWEhScFppQW9kR2hwY3k1bWJHRm5jeUFtSURCNE1pa2dlMXh5WEc1Y2RGeDBYSFJ6WVcxd2JHVXVjM1ZpYzJGdGNHeGxjeUE5SUZ0ZE8xeHlYRzVjZEZ4MFhIUnpZVzF3YkdVdVRuVnRZbVZ5VDJaRmJuUnlhV1Z6SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTVRZb0tUdGNjbHh1WEhSY2RGeDBabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0J6WVcxd2JHVXVUblZ0WW1WeVQyWkZiblJ5YVdWek95QnFLeXNwSUh0Y2NseHVYSFJjZEZ4MFhIUjJZWElnYzNWaWMyRnRjR3hsSUQwZ2UzMDdYSEpjYmx4MFhIUmNkRngwYzNWaWMyRnRjR3hsTGtKNWRHVnpUMlpEYkdWaGNrUmhkR0VnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmlncE8xeHlYRzVjZEZ4MFhIUmNkSE4xWW5OaGJYQnNaUzVDZVhSbGMwOW1VSEp2ZEdWamRHVmtSR0YwWVNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmx4MFhIUmNkRngwYzJGdGNHeGxMbk4xWW5OaGJYQnNaWE11Y0hWemFDaHpkV0p6WVcxd2JHVXBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFIwYUdsekxuTmhiWEJzWlhNdWNIVn
1phQ2h6WVcxd2JHVXBPMXh5WEc1Y2RIMWNjbHh1ZlNvdktUdGNjbHh1THk4Z1ptbHNaVHB6Y21NdmNHRnljMmx1Wnk5MWRXbGtMM0JwWm1ZdmNHbG1abFJsYm1NdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVlZWU1VSQ2IzZ29YQ0k0T1RjMFpHSmpaVGRpWlRjMFl6VXhPRFJtT1RjeE5EaG1PVGc0TWpVMU5Gd2lMQ0IwY25WbExDQm1ZV3h6WlN3Z1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NWtaV1poZFd4MFgwRnNaMjl5YVhSb2JVbEVJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNalFvS1R0Y2NseHVJQ0IwYUdsekxtUmxabUYxYkhSZlNWWmZjMmw2WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNCMGFHbHpMbVJsWm1GMWJIUmZTMGxFSUQwZ1FtOTRVR0Z5YzJWeUxuQmhjbk5sU0dWNE1UWW9jM1J5WldGdEtUdGNjbHh1ZlNrN0x5OGdabWxzWlRwemNtTXZjR0Z5YzJsdVp5OTFkV2xrTDNCcFptWXZjR2xtWmxSbWNtWXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxtTnlaV0YwWlZWVlNVUkNiM2dvWENKa05EZ3dOMlZtTW1OaE16azBOamsxT0dVMU5ESTJZMkk1WlRRMllUYzVabHdpTENCMGNuVmxMQ0JtWVd4elpTd2dablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTVtY21GbmJXVnVkRjlqYjNWdWRDQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQjBhR2x6TG1WdWRISnBaWE1nUFNCYlhUdGNjbHh1WEhKY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxtWnlZV2R0Wlc1MFgyTnZkVzUwT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFpoY2lCbGJuUnllU0E5SUh0OU8xeHlYRzRnSUNBZ2RtRnlJR0ZpYzI5c2RYUmxYM1JwYldVZ1BTQXdPMXh5WEc0Z0lDQWdkbUZ5SUdGaWMyOXNkWFJsWDJSMWNtRjBhVzl1SUQwZ01EdGNjbHh1WEhKY2JpQWdJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBeEtTQjdYSEpjYmlBZ0lDQWdJR0ZpYzI5c2RYUmxYM1JwYldVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RMk5DZ3BPMXh5WEc0Z0lDQWdJQ0JoWW5OdmJIVjBaVjlrZFhKaGRHbHZiaUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRFkwS0NrN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCaFluTnZiSFYwWlY5MGFXMWxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1R0Y2NseHVJQ0FnSUNBZ1lXSnpiMngxZEdWZlpIVnlZWFJwYjI0Z1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5Rek1pZ3BPMXh5WEc0Z0lDQWdmVnh5WEc1Y2NseHVJQ0FnSUdWdWRISjVMbUZpYzI5c2RYUmxYM1JwYldVZ1BTQmhZbk52YkhWMFpWOTBhVzFsTzF4eVhHNGdJQ0FnWlc1MGNua3VZV0p6YjJ4MWRHVmZaSFZ5WVhScGIyNGdQU0JoWW5OdmJIVjBaVjlrZFhKaGRHbHZianRjY2x4dVhISmNiaUFnSUNCMGFHbHpMbVZ1ZEhKcFpYTXVjSFZ6YUNobGJuUnllU2s3WEhKY2JpQWdmVnh5WEc1OUtUc3ZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1YxYVdRdmNHbG1aaTl3YVdabVZHWjRaQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFZWVkpSRUp2ZUNoY0lqWmtNV1E1WWpBMU5ESmtOVFEwWlRZNE1HVXlNVFF4WkdGbVpqYzFOMkl5WENJc0lIUnlkV1VzSUdaaGJITmxMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQnBaaUFvZEdocGN5NTJaWEp6YVc5dUlEMDlQU0F4S1NCN1hISmNiaUFnSUNCMGFHbHpMbUZpYzI5c2RYUmxYM1JwYldVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RMk5DZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1a2RYSmhkR2x2YmlBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERZMEtDazdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhSb2FYTXVZV0p6YjJ4MWRHVmZkR2x0WlNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERNeUtDazdYSEpjYmlBZ0lDQjBhR2x6TG1SMWNtRjBhVzl1SUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwTXpJb0tUdGNjbHh1SUNCOVhISmNibjBwT3k4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmRtMW9aQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFJuVnNiRUp2ZUVOMGIzSW9YQ0oyYldoa1hDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11WjNKaGNHaHBZM050YjJSbElEMGdjM1J5WldGdExuSmxZV1JWYVc1ME1UWW9LVHRjY2x4dUlDQjBhR2x6TG05d1kyOXNiM0lnUFNCemRISmxZVzB1Y21WaFpGVnBiblF4TmtGeWNtRjVLRE1wTzF4eVhHNTlLVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNCaGNuTnBibWN2ZG5CalF5NXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkzSmxZWFJsUm5Wc2JFSnZlRU4wYjNJb1hDSjJjR05EWENJc0lHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQjBiWEE3WEhKY2JpQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTVNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV3Y205bWFXeGxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnZEdocGN5NXNaWFpsYkNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERnb0tUdGNjbHh1SUNBZ0lIUnRjQ0E5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0FnSUhSb2FYTXVZbWwwUkdWd2RHZ2dQU0IwYlhBZ1BqNGdORHRjY2x4dUlDQWdJSFJvYVhNdVkyaHliMjFoVTNWaWMyRnRjR3hwYm1jZ1BTQW9kRzF3SUQ0K0lERXBJQ1lnTUhnM08xeHlYRzRnSUNBZ2RHaHBjeTUyYVdSbGIwWjFiR3hTWVc1blpVWnNZV2NnUFNCMGJYQWdKaUF3ZURFN1hISmNiaUFnSUNCMGFHbHpMbU52Ykc5MWNsQnlhVzFoY21sbGN5QTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQWdJSFJvYVhNdWRISmhibk5tWlhKRGFHRnlZV04wWlhKcGMzUnBZM01nUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNCMGFHbHpMbTFoZEhKcGVFTnZaV1ptYVdOcFpXNTBjeUE5SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0FnSUhSb2FYTXVZMjlrWldOSmJuUnBZV3hwZW1GMGFXOXVSR0YwWVZOcGVtVWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnZEdocGN5NWpiMlJsWTBsdWRHbGhiR2w2WVhScGIyNUVZWFJoSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0VGeWNtRjVLSFJvYVhNdVkyOWtaV05KYm5ScFlXeHBlbUYwYVc5dVJHRjBZVk5wZW1VcE8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0IwYUdsekxuQnliMlpwYkdVZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5RNEtDazdYSEpjYmlBZ0lDQjBhR2x6TG14bGRtVnNJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPQ2dwTzF4eVhHNGdJQ0FnZEcxd0lEMGdjM1J5WldGdExuSmxZV1JWYVc1ME9DZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1aWFYUkVaWEIwYUNBOUlDaDBiWEFnUGo0Z05Da2dKaUF3ZUVZN1hISmNiaUFnSUNCMGFHbHpMbU52Ykc5eVUzQmhZMlVnUFNCMGJYQWdKaUF3ZUVZN1hISmNiaUFnSUNCMGJYQWdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0IwYUdsekxtTm9jbTl0WVZOMVluTmhiWEJzYVc1bklEMGdLSFJ0Y0NBK1BpQTBLU0FtSURCNFJqdGNjbHh1SUNBZ0lIUm9hWE11ZEhKaGJuTm1aWEpHZFc1amRHbHZiaUE5SUNoMGJYQWdQajRnTVNrZ0ppQXdlRGM3WEhKY2JpQWdJQ0IwYUdsekxuWnBaR1Z2Um5Wc2JGSmhibWRsUm14aFp5QTlJSFJ0Y0NBbUlEQjRNVHRjY2x4dUlDQWdJSFJvYVhNdVkyOWtaV05KYm5ScFlXeHBlbUYwYVc5dVJHRjBZVk5wZW1V
1Z1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1amIyUmxZMGx1ZEdsaGJHbDZZWFJwYjI1RVlYUmhJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBPRUZ5Y21GNUtIUm9hWE11WTI5a1pXTkpiblJwWVd4cGVtRjBhVzl1UkdGMFlWTnBlbVVwTzF4eVhHNGdJSDFjY2x4dWZTazdMeThnWm1sc1pUcHpjbU12Y0dGeWMybHVaeTkyZEhSRExtcHpYSEpjYmtKdmVGQmhjbk5sY2k1amNtVmhkR1ZDYjNoRGRHOXlLRndpZG5SMFExd2lMQ0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5SbGVIUWdQU0J6ZEhKbFlXMHVjbVZoWkZOMGNtbHVaeWgwYUdsekxuTnBlbVVnTFNCMGFHbHpMbWhrY2w5emFYcGxLVHRjY2x4dWZTazdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTl3WVhKemFXNW5MM1oyWTBNdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1OeVpXRjBaVVoxYkd4Q2IzaERkRzl5S0Z3aWRuWmpRMXdpTENCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IyWVhJZ2FTd2dhanRjY2x4dVhISmNiaUFnTHk4Z2FHVnNjR1Z5SUc5aWFtVmpkQ0IwYnlCemFXMXdiR2xtZVNCbGVIUnlZV04wYVc1bklHbHVaR2wyYVdSMVlXd2dZbWwwYzF4eVhHNGdJSFpoY2lCaWFYUlNaV0ZrWlhJZ1BTQjdYSEpjYmlBZ0lDQm9aV3hrWDJKcGRITTZJSFZ1WkdWbWFXNWxaQ3hjY2x4dUlDQWdJRzUxYlY5b1pXeGtYMkpwZEhNNklEQXNYSEpjYmx4eVhHNGdJQ0FnYzNSeVpXRnRYM0psWVdSZk1WOWllWFJsY3pvZ1puVnVZM1JwYjI0b2MzUnliU2tnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbWhsYkdSZlltbDBjeUE5SUhOMGNtMHVjbVZoWkZWcGJuUTRLQ2s3WEhKY2JpQWdJQ0FnSUhSb2FYTXViblZ0WDJobGJHUmZZbWwwY3lBOUlERWdLaUE0TzF4eVhHNGdJQ0FnZlN4Y2NseHVJQ0FnSUhOMGNtVmhiVjl5WldGa1h6SmZZbmwwWlhNNklHWjFibU4wYVc5dUtITjBjbTBwSUh0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVvWld4a1gySnBkSE1nUFNCemRISnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0FnSUNBZ2RHaHBjeTV1ZFcxZmFHVnNaRjlpYVhSeklEMGdNaUFxSURnN1hISmNiaUFnSUNCOUxGeHlYRzVjY2x4dUlDQWdJR1Y0ZEhKaFkzUmZZbWwwY3pvZ1puVnVZM1JwYjI0b2JuVnRYMkpwZEhNcElIdGNjbHh1SUNBZ0lDQWdkbUZ5SUhKbGRDQTlJQ2gwYUdsekxtaGxiR1JmWW1sMGN5QStQaUFvZEdocGN5NXVkVzFmYUdWc1pGOWlhWFJ6SUMwZ2JuVnRYMkpwZEhNcEtTQW1JQ2dvTVNBOFBDQnVkVzFmWW1sMGN5a2dMU0F4S1R0Y2NseHVJQ0FnSUNBZ2RHaHBjeTV1ZFcxZmFHVnNaRjlpYVhSeklDMDlJRzUxYlY5aWFYUnpPMXh5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDA3WEhKY2JseHlYRzRnSUM4dklGWjJZMFJsWTI5a1pYSkRiMjVtYVdkMWNtRjBhVzl1VW1WamIzSmtYSEpjYmlBZ1ltbDBVbVZoWkdWeUxuTjBjbVZoYlY5eVpXRmtYekZmWW5sMFpYTW9jM1J5WldGdEtUdGNjbHh1SUNCaWFYUlNaV0ZrWlhJdVpYaDBjbUZqZEY5aWFYUnpLRFVwT3lBZ0x5OGdjbVZ6WlhKMlpXUmNjbHh1SUNCMGFHbHpMbXhsYm1kMGFGTnBlbVZOYVc1MWMwOXVaU0E5SUdKcGRGSmxZV1JsY2k1bGVIUnlZV04wWDJKcGRITW9NaWs3WEhKY2JpQWdkR2hwY3k1d2RHeGZjSEpsYzJWdWRGOW1iR0ZuSUQwZ1ltbDBVbVZoWkdWeUxtVjRkSEpoWTNSZlltbDBjeWd4S1R0Y2NseHVYSEpjYmlBZ2FXWWdLSFJvYVhNdWNIUnNYM0J5WlhObGJuUmZabXhoWnlrZ2UxeHlYRzRnSUNBZ1ltbDBVbVZoWkdWeUxuTjBjbVZoYlY5eVpXRmtYekpmWW5sMFpYTW9jM1J5WldGdEtUdGNjbHh1SUNBZ0lIUm9hWE11YjJ4elgybGtlQ0E5SUdKcGRGSmxZV1JsY2k1bGVIUnlZV04wWDJKcGRITW9PU2s3WEhKY2JpQWdJQ0IwYUdsekxtNTFiVjl6ZFdKc1lYbGxjbk1nUFNCaWFYUlNaV0ZrWlhJdVpYaDBjbUZqZEY5aWFYUnpLRE1wTzF4eVhHNGdJQ0FnZEdocGN5NWpiMjV6ZEdGdWRGOW1jbUZ0WlY5eVlYUmxJRDBnWW1sMFVtVmhaR1Z5TG1WNGRISmhZM1JmWW1sMGN5Z3lLVHRjY2x4dUlDQWdJSFJvYVhNdVkyaHliMjFoWDJadmNtMWhkRjlwWkdNZ1BTQmlhWFJTWldGa1pYSXVaWGgwY21GamRGOWlhWFJ6S0RJcE8xeHlYRzVjY2x4dUlDQWdJR0pwZEZKbFlXUmxjaTV6ZEhKbFlXMWZjbVZoWkY4eFgySjVkR1Z6S0hOMGNtVmhiU2s3WEhKY2JpQWdJQ0IwYUdsekxtSnBkRjlrWlhCMGFGOXRhVzUxY3pnZ1BTQmlhWFJTWldGa1pYSXVaWGgwY21GamRGOWlhWFJ6S0RNcE8xeHlYRzRnSUNBZ1ltbDBVbVZoWkdWeUxtVjRkSEpoWTNSZlltbDBjeWcxS1RzZ0lDOHZJSEpsYzJWeWRtVmtYSEpjYmx4eVhHNGdJQ0FnTHk4Z1ZuWmpVRlJNVW1WamIzSmtYSEpjYmlBZ0lDQjdYSEpjYmlBZ0lDQWdJR0pwZEZKbFlXUmxjaTV6ZEhKbFlXMWZjbVZoWkY4eVgySjVkR1Z6S0hOMGNtVmhiU2s3WEhKY2JpQWdJQ0FnSUdKcGRGSmxZV1JsY2k1bGVIUnlZV04wWDJKcGRITW9NaWs3SUNBdkx5QnlaWE5sY25abFpGeHlYRzRnSUNBZ0lDQjBhR2x6TG01MWJWOWllWFJsYzE5amIyNXpkSEpoYVc1MFgybHVabThnUFNCaWFYUlNaV0ZrWlhJdVpYaDBjbUZqZEY5aWFYUnpLRFlwTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbWRsYm1WeVlXeGZjSEp2Wm1sc1pWOXBaR01nUFNCaWFYUlNaV0ZrWlhJdVpYaDBjbUZqZEY5aWFYUnpLRGNwTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbWRsYm1WeVlXeGZkR2xsY2w5bWJHRm5JRDBnWW1sMFVtVmhaR1Z5TG1WNGRISmhZM1JmWW1sMGN5Z3hLVHRjY2x4dVhISmNiaUFnSUNBZ0lIUm9hWE11WjJWdVpYSmhiRjlzWlhabGJGOXBaR01nUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNibHh5WEc0Z0lDQWdJQ0JpYVhSU1pXRmtaWEl1YzNSeVpXRnRYM0psWVdSZk1WOWllWFJsY3loemRISmxZVzBwTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbkIwYkY5bWNtRnRaVjl2Ym14NVgyTnZibk4wY21GcGJuUmZabXhoWnlBOUlHSnBkRkpsWVdSbGNpNWxlSFJ5WVdOMFgySnBkSE1vTVNrN1hISmNiaUFnSUNBZ0lIUm9hWE11Y0hSc1gyMTFiSFJwYkdGNVpYSmZaVzVoWW14bFpGOW1iR0ZuSUQwZ1ltbDBVbVZoWkdWeUxtVjRkSEpoWTNSZlltbDBjeWd4S1R0Y2NseHVYSEpjYmlBZ0lDQWdJSFJvYVhNdVoyVnVaWEpoYkY5amIyNXpkSEpoYVc1MFgybHVabThnUFNCdVpYY2dWV2x1ZERoQmNuSmhlU2gwYUdsekxtNTFiVjlpZVhSbGMxOWpiMjV6ZEhKaGFXNTBYMmx1Wm04cE8xeHlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXVkVzFmWW5sMFpYTmZZMjl1YzNSeVlXbHVkRjlwYm1adktTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJSFJvYVhNdWJuVnRYMko1ZEdWelgyTnZibk4wY21GcGJuUmZhVzVtYnlBdElERTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHTnVjM1J5TVNBOUlHSnBkRkpsWVdSbGNpNWxlSFJ5WVdOMFgySnBkSE1vTmlrN1hISmNiaUFnSUNBZ0lDQWdJQ0JpYVhSU1pXRmtaWEl1YzNSeVpXRnRYM0psWVdSZk1WOWllWFJsY3loemRISmxZVzBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUdOdWMzUnlNaUE5SUdKcGRGSmxZV1JsY2k1bGVIUnlZV04wWDJKcGRITW9NaWs3WEhKY2JseHlYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NW5aVzVsY21Gc1gyTnZibk4wY21GcGJuUmZhVzVtYjF0cFhTQTlJQ2dvWTI1emRISXhJRHc4SURJcElId2dZMjV6ZEhJeUtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVuWlc1bGNtRnNYMk52Ym5OMGNtRnBiblJmYVc1bWIxdDBhR2x6TG01MWJWOWllWFJsYzE5amIyNXpkSEpoYVc1MFgybHVabThnTFNBeFhTQTlJR0pwZEZKbFlXUmxjaTVsZUhSeVlXTjBYMkpwZEhNb05pazdYSEpjYmlBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnTHk5bWIzSmlhV1JrWlc0Z2FXNGdjM0JsWXlGY2NseHVJQ0FnSUNBZ0lDQmlhWFJTWldGa1pYSXVaWGgwY21GamRGOWlhWFJ6S0RZcE8xeHlYRzRnSUNBZ0lDQjlYSEpjYmx4eVhHNGdJQ0FnSUNCaWFYUlNaV0ZrWlhJdWMzUnlaV0Z0WDNKbFlXUmZNVjlpZVhSbGN5aHpkSEpsWVcwcE8xeHlYRzRnSUNBZ0lDQjBhR2x6TG5CMGJGOXpkV0pzWVhsbGNsOXdjbVZ6Wlc1MFgyMWhjMnNnUFNBd08xeHlYRzRnSUNBZ0lDQm1iM0lnS0dvZ1BTQjBhR2x6TG01MWJWOXpkV0pzWVhsbGNuTWdMU0F5T3lCcUlENDlJREE3SUMwdGFpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjJZV3dnUFNCaWFYUlNaV0ZrWlhJdVpYaDBjbUZqZEY5aWFYUnpLREVwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11Y0hSc1gzTjFZbXhoZVdWeVgzQnlaWE5sYm5SZmJXRnpheUI4UFNCMllXd2dQRHdnYWp0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQm1iM0lnS0dvZ1BTQjBhR2x6TG01MWJWOXpkV0pzWVhsbGNuTTdJR29nUEQwZ09DQW1KaUIwYUdsekxtNTFiVjl6ZFdKc1lYbGxjbk1nUGlBeE95QXJLMm9wSUh0Y2NseHVJQ0FnSUNBZ0lDQmlhWFJTWldGa1pYSXVaWGgwY21GamRGOWlhWFJ6S0RFcE95QWdMeThnY0hSc1gzSmxjMlZ5ZG1Wa1gzcGxjbTlmWW1sMFhISmNiaUFnSUNBZ0lIMWNjbH
1h1WEhKY2JpQWdJQ0FnSUdadmNpQW9haUE5SUhSb2FYTXViblZ0WDNOMVlteGhlV1Z5Y3lBdElESTdJR29nUGowZ01Ec2dMUzFxS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXVjSFJzWDNOMVlteGhlV1Z5WDNCeVpYTmxiblJmYldGemF5QW1JQ2d4SUR3OElHb3BLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OMVlteGhlV1Z5WDJ4bGRtVnNYMmxrWTF0cVhTQTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lIMWNjbHh1WEhKY2JpQWdJQ0FnSUhSb2FYTXVjSFJzWDI1MWJWOXpkV0pmY0hKdlptbHNaWE1nUFNCemRISmxZVzB1Y21WaFpGVnBiblE0S0NrN1hISmNiaUFnSUNBZ0lIUm9hWE11WjJWdVpYSmhiRjl6ZFdKZmNISnZabWxzWlY5cFpHTWdQU0JiWFR0Y2NseHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNIUnNYMjUxYlY5emRXSmZjSEp2Wm1sc1pYTXBJSHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NXdkR3hmYm5WdFgzTjFZbDl3Y205bWFXeGxjenNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbWRsYm1WeVlXeGZjM1ZpWDNCeWIyWnBiR1ZmYVdSakxuQjFjMmdvYzNSeVpXRnRMbkpsWVdSVmFXNTBNeklvS1NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5SUNBdkx5QmxibVFnVm5aalVGUk1VbVZqYjNKa1hISmNibHh5WEc0Z0lDQWdkR2hwY3k1dFlYaGZjR2xqZEhWeVpWOTNhV1IwYUNBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYmlBZ0lDQjBhR2x6TG0xaGVGOXdhV04wZFhKbFgyaGxhV2RvZENBOUlITjBjbVZoYlM1eVpXRmtWV2x1ZERFMktDazdYSEpjYmlBZ0lDQjBhR2x6TG1GMloxOW1jbUZ0WlY5eVlYUmxJRDBnYzNSeVpXRnRMbkpsWVdSVmFXNTBNVFlvS1R0Y2NseHVJQ0I5WEhKY2JseHlYRzRnSUhaaGNpQldWa05mVGtGTVZWOVBVRWtnUFNBeE1qdGNjbHh1SUNCMllYSWdWbFpEWDA1QlRGVmZSRVZEWDFCQlVrRk5JRDBnTVRNN1hISmNibHh5WEc0Z0lIUm9hWE11Ym1Gc2RWOWhjbkpoZVhNZ1BTQmJYVHRjY2x4dUlDQjJZWElnYm5WdFgyOW1YMkZ5Y21GNWN5QTlJSE4wY21WaGJTNXlaV0ZrVldsdWREZ29LVHRjY2x4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2JuVnRYMjltWDJGeWNtRjVjenNnYVNzcktTQjdYSEpjYmlBZ0lDQjJZWElnYm1Gc2RWOWhjbkpoZVNBOUlGdGRPMXh5WEc0Z0lDQWdkR2hwY3k1dVlXeDFYMkZ5Y21GNWN5NXdkWE5vS0c1aGJIVmZZWEp5WVhrcE8xeHlYRzVjY2x4dUlDQWdJR0pwZEZKbFlXUmxjaTV6ZEhKbFlXMWZjbVZoWkY4eFgySjVkR1Z6S0hOMGNtVmhiU2s3WEhKY2JpQWdJQ0J1WVd4MVgyRnljbUY1TG1OdmJYQnNaWFJsYm1WemN5QTlJR0pwZEZKbFlXUmxjaTVsZUhSeVlXTjBYMkpwZEhNb01TazdYSEpjYmlBZ0lDQmlhWFJTWldGa1pYSXVaWGgwY21GamRGOWlhWFJ6S0RJcE95QWdMeThnY21WelpYSjJaV1JjY2x4dUlDQWdJRzVoYkhWZllYSnlZWGt1Ym1Gc2RWOTBlWEJsSUQwZ1ltbDBVbVZoWkdWeUxtVjRkSEpoWTNSZlltbDBjeWcxS1R0Y2NseHVYSEpjYmlBZ0lDQjJZWElnYm5WdFRtRnNkWE1nUFNBeE8xeHlYRzRnSUNBZ2FXWWdLRzVoYkhWZllYSnlZWGt1Ym1Gc2RWOTBlWEJsSUNFOUlGWldRMTlPUVV4VlgwUkZRMTlRUVZKQlRTQW1KaUJ1WVd4MVgyRnljbUY1TG01aGJIVmZkSGx3WlNBaFBTQldWa05mVGtGTVZWOVBVRWtwSUh0Y2NseHVJQ0FnSUNBZ2JuVnRUbUZzZFhNZ1BTQnpkSEpsWVcwdWNtVmhaRlZwYm5ReE5pZ3BPMXh5WEc0Z0lDQWdmVnh5WEc1Y2NseHVJQ0FnSUdadmNpQW9haUE5SURBN0lHb2dQQ0J1ZFcxT1lXeDFjenNnYWlzcktTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCc1pXNGdQU0J6ZEhKbFlXMHVjbVZoWkZWcGJuUXhOaWdwTzF4eVhHNGdJQ0FnSUNCdVlXeDFYMkZ5Y21GNUxuQjFjMmdvZTF4eVhHNGdJQ0FnSUNBZ0lHUmhkR0U2SUhOMGNtVmhiUzV5WldGa1ZXbHVkRGhCY25KaGVTaHNaVzRwTEZ4eVhHNGdJQ0FnSUNBZ0lHeGxibWQwYURvZ2JHVnVYSEpjYmlBZ0lDQWdJSDBwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZTazdYSEpjYmk4dklHWnBiR1U2YzNKakwzQmhjbk5wYm1jdmRuWnVReTVxYzF4eVhHNUNiM2hRWVhKelpYSXVZM0psWVhSbFJuVnNiRUp2ZUVOMGIzSW9YQ0oyZG01RFhDSXNJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lDOHZJRloyWTA1QlRGVkRiMjVtYVdkQ2IzaGNjbHh1SUNCMllYSWdkRzF3SUQwZ2MzUnliUzV5WldGa1ZXbHVkRGdvS1R0Y2NseHVJQ0IwYUdsekxteGxibWQwYUZOcGVtVk5hVzUxYzA5dVpTQTlJQ2gwYlhBZ0ppQXdlRE1wTzF4eVhHNTlLVHRjY2x4dUx5OGdabWxzWlRwemNtTXZZbTk0TFdOdlpHVmpjeTVxYzF4eVhHNUNiM2hRWVhKelpYSXVVMkZ0Y0d4bFJXNTBjbmt1Y0hKdmRHOTBlWEJsTG1selZtbGtaVzhnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVUyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWx6UVhWa2FXOGdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtbHpVM1ZpZEdsMGJHVWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtbHpUV1YwWVdSaGRHRWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtbHpTR2x1ZENBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNVRZVzF3YkdWRmJuUnllUzV3Y205MGIzUjVjR1V1WjJWMFEyOWtaV01nUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCeVpYUjFjbTRnZEdocGN5NTBlWEJsTG5KbGNHeGhZMlVvWENJdVhDSXNJRndpWENJcE8xeHlYRzU5TzF4eVhHNWNjbHh1UW05NFVHRnljMlZ5TGxOaGJYQnNaVVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNW5aWFJYYVdSMGFDQTlJR1oxYm1OMGFXOXVLQ2tnZTF4eVhHNGdJSEpsZEhWeWJpQmNJbHdpTzF4eVhHNTlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMbE5oYlhCc1pVVnVkSEo1TG5CeWIzUnZkSGx3WlM1blpYUklaV2xuYUhRZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQnlaWFIxY200Z1hDSmNJanRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNVRZVzF3YkdWRmJuUnllUzV3Y205MGIzUjVjR1V1WjJWMFEyaGhibTVsYkVOdmRXNTBJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnY21WMGRYSnVJRndpWENJN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtZGxkRk5oYlhCc1pWSmhkR1VnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCeVpYUjFjbTRnWENKY0lqdGNjbHh1ZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1VFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVaMlYwVTJGdGNHeGxVMmw2WlNBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lISmxkSFZ5YmlCY0lsd2lPMXh5WEc1OU8xeHlYRzVjY2x4dVFtOTRVR0Z5YzJWeUxsWnBjM1ZoYkZOaGJYQnNaVVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNXBjMVpwWkdWdklEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdjbVYwZFhKdUlIUnlkV1U3WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVWbWx6ZFdGc1UyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWRsZEZkcFpIUm9JRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnY21WMGRYSnVJSFJvYVhNdWQybGtkR2
1c3WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVWbWx6ZFdGc1UyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWRsZEVobGFXZG9kQ0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUhKbGRIVnliaUIwYUdsekxtaGxhV2RvZER0Y2NseHVmVHRjY2x4dVhISmNia0p2ZUZCaGNuTmxjaTVCZFdScGIxTmhiWEJzWlVWdWRISjVMbkJ5YjNSdmRIbHdaUzVwYzBGMVpHbHZJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1UVhWa2FXOVRZVzF3YkdWRmJuUnllUzV3Y205MGIzUjVjR1V1WjJWMFEyaGhibTVsYkVOdmRXNTBJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnY21WMGRYSnVJSFJvYVhNdVkyaGhibTVsYkY5amIzVnVkRHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNUJkV1JwYjFOaGJYQnNaVVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNW5aWFJUWVcxd2JHVlNZWFJsSUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjMkZ0Y0d4bGNtRjBaVHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNUJkV1JwYjFOaGJYQnNaVVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNW5aWFJUWVcxd2JHVlRhWHBsSUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjMkZ0Y0d4bGMybDZaVHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNVRkV0owYVhSc1pWTmhiWEJzWlVWdWRISjVMbkJ5YjNSdmRIbHdaUzVwYzFOMVluUnBkR3hsSUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVRXVjBZV1JoZEdGVFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVhWE5OWlhSaFpHRjBZU0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUhKbGRIVnliaUIwY25WbE8xeHlYRzU5TzF4eVhHNWNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNWtaV05wYldGc1ZHOUlaWGdnUFNCbWRXNWpkR2x2Ymloa0xDQndZV1JrYVc1bktTQjdYSEpjYmlBZ2RtRnlJR2hsZUNBOUlFNTFiV0psY2loa0tTNTBiMU4wY21sdVp5Z3hOaWs3WEhKY2JpQWdjR0ZrWkdsdVp5QTlJSFI1Y0dWdlppQW9jR0ZrWkdsdVp5a2dQVDA5SUZ3aWRXNWtaV1pwYm1Wa1hDSWdmSHdnY0dGa1pHbHVaeUE5UFQwZ2JuVnNiQ0EvSUhCaFpHUnBibWNnUFNBeUlEb2djR0ZrWkdsdVp6dGNjbHh1SUNCM2FHbHNaU0FvYUdWNExteGxibWQwYUNBOElIQmhaR1JwYm1jcElIdGNjbHh1SUNBZ0lHaGxlQ0E5SUZ3aU1Gd2lJQ3NnYUdWNE8xeHlYRzRnSUgxY2NseHVJQ0J5WlhSMWNtNGdhR1Y0TzF4eVhHNTlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMbUYyWXpGVFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVaMlYwUTI5a1pXTWdQVnh5WEc0Z0lFSnZlRkJoY25ObGNpNWhkbU15VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtZGxkRU52WkdWaklEMWNjbHh1SUNBZ0lFSnZlRkJoY25ObGNpNWhkbU16VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtZGxkRU52WkdWaklEMWNjbHh1SUNBZ0lDQWdRbTk0VUdGeWMyVnlMbUYyWXpSVFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVaMlYwUTI5a1pXTWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWW1GelpVTnZaR1ZqSUQwZ1FtOTRVR0Z5YzJWeUxsTmhiWEJzWlVWdWRISjVMbkJ5YjNSdmRIbHdaUzVuWlhSRGIyUmxZeTVqWVd4c0tIUm9hWE1wTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtRjJZME1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmlZWE5sUTI5a1pXTWdLeUJjSWk1Y0lpQXJJRUp2ZUZCaGNuTmxjaTVrWldOcGJXRnNWRzlJWlhnb2RHaHBjeTVoZG1ORExrRldRMUJ5YjJacGJHVkpibVJwWTJGMGFXOXVLU0FyWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRndpWENJZ0t5QkNiM2hRWVhKelpYSXVaR1ZqYVcxaGJGUnZTR1Y0S0hSb2FYTXVZWFpqUXk1d2NtOW1hV3hsWDJOdmJYQmhkR2xpYVd4cGRIa3BJQ3RjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYQ0pjSWlBcklFSnZlRkJoY25ObGNpNWtaV05wYldGc1ZHOUlaWGdvZEdocGN5NWhkbU5ETGtGV1EweGxkbVZzU1c1a2FXTmhkR2x2YmlrN1hISmNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJpWVhObFEyOWtaV003WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMbWhsZGpGVFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVaMlYwUTI5a1pXTWdQVnh5WEc0Z0lFSnZlRkJoY25ObGNpNW9kbU14VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtZGxkRU52WkdWaklEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdJQ0IyWVhJZ2FUdGNjbHh1SUNBZ0lIWmhjaUJpWVhObFEyOWtaV01nUFNCQ2IzaFFZWEp6WlhJdVUyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWRsZEVOdlpHVmpMbU5oYkd3b2RHaHBjeWs3WEhKY2JpQWdJQ0JwWmlBb2RHaHBjeTVvZG1OREtTQjdYSEpjYmlBZ0lDQWdJR0poYzJWRGIyUmxZeUFyUFNCY0lpNWNJanRjY2x4dUlDQWdJQ0FnYzNkcGRHTm9JQ2gwYUdsekxtaDJZME11WjJWdVpYSmhiRjl3Y205bWFXeGxYM053WVdObEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWTJGelpTQXdPbHh5WEc0Z0lDQWdJQ0FnSUNBZ1ltRnpaVU52WkdWaklDczlJRndpWENJN1hISmNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0JqWVhObElERTZYSEpjYmlBZ0lDQWdJQ0FnSUNCaVlYTmxRMjlrWldNZ0t6MGdYQ0pCWENJN1hISmNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0JqWVhObElESTZYSEpjYmlBZ0lDQWdJQ0FnSUNCaVlYTmxRMjlrWldNZ0t6MGdYQ0pDWENJN1hISmNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0JqWVhObElETTZYSEpjYmlBZ0lDQWdJQ0FnSUNCaVlYTmxRMjlrWldNZ0t6MGdYQ0pEWENJN1hISmNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0JpWVhObFEyOWtaV01nS3owZ2RHaHBjeTVvZG1ORExtZGxibVZ5WVd4ZmNISnZabWxzWlY5cFpHTTdYSEpjYmlBZ0lDQWdJR0poYzJWRGIyUmxZeUFyUFNCY0lpNWNJanRjY2x4dUlDQWdJQ0FnZG1GeUlIWmhiQ0E5SUhSb2FYTXVhSFpqUXk1blpXNWxjbUZzWDNCeWIyWnBiR1ZmWTI5dGNHRjBhV0pwYkdsMGVUdGNjbHh1SUNBZ0lDQWdkbUZ5SUhKbGRtVnljMlZrSUQwZ01EdGNjbHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElETXlPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhabGNuTmxaQ0I4UFNCMllXd2dKaUF4TzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwSUQwOUlETXhLU0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhabGNuTmxaQ0E4UEQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0IyWVd3Z1BqNDlJREU3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ1ltRnpaVU52WkdWaklDczlJRUp2ZUZCaGNuTmxjaTVrWldOcGJXRnNWRzlJWlhnb2NtVjJaWEp6WldRc0lEQXBPMXh5WEc0Z0lDQWdJQ0JpWVhObFEyOWtaV01nS3owZ1hDSXVYQ0k3WEhKY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1oMlkwTXVaMlZ1WlhKaGJGOTBhV1Z5WDJac1lXY2dQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0JpWVhObFEyOWtaV01nS3owZ1hDSk1YQ0k3WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ1ltRnpaVU52WkdWaklDczlJRndpU0Z3aU8xeHlYRzRnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJR0poYzJWRGIyUmxZeUFyUFNCMGFHbHpMbWgyWTBNdVoyVnVaWEpoYkY5c1pYWmxiRjlwWkdNN1hISmNiaUFnSUNBZ0lIWmhjaUJvWVhOQ2VYUmxJRDBnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJSFpoY2lCamIyNXpkSEpoYVc1MFgzTjBjbWx1WnlBOUlGd2lYQ0k3WEhKY2JpQWdJQ0FnSUdadmNpQW9hU0E5SURVN0lHa2dQajBnTURzZ2FTMHRLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFIWmpReTVuWlc1bGNtRnNYMk52Ym5OMGNtRnBiblJmYVc1a2FXTmhkRzl5VzJsZElIeDhJR2hoYzBKNWRHVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wY21GcGJuUmZjM1J5YVc1bklEMGdYQ0l1WENJZ0t5QkNiM2hRWVhKelpYSXVaR1ZqYVcxaGJGUnZTR1Y0S0hSb2FYTXVhSFpqUXk1blpXNWxjbUZzWDJOdmJuTjBjbUZwYm5SZmFXNWthV05oZEc5eVcybGRMQ0F3S1NBcklHTnZibk4wY21GcGJuUmZjM1J5YVc1bk8xeHlYRzRnSUNBZ0lDQWdJQ0FnYUdGelFubDBaU0E5SUhSeWRXVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lHSmhjMlZEYjJSbFl5QXJQU0JqYjI1emRISmhhVzUwWDNOMGNtbHVaenRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQmlZWE5sUTI5a1pXTTdYSEpjYmlBZ2ZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNTJkbU14VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExtZGxkRU52WkdWaklEMWNjbHh1SUNCQ2IzaFFZWEp6WlhJdWRuWnBNVk5oYlhCc1pVVnVkSEo1TG5CeWIzUnZkSGx3WlM1blpYUkRiMlJsWXlBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lDQWdkbUZ5SUdrN1hISmNiaUFnSUNCMllYSWdZbUZ6WlVOdlpHVmpJRDBnUW05NFVHRnljMlZ5TGxOaGJYQnNaVVZ1ZEhKNUxuQnliM1J2ZEhsd1pTNW5aWFJEYjJSbFl5NWpZV3hzS0hSb2FYTXBPMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVkblpqUXlrZ2UxeHlYRzRnSUNBZ0lDQmlZWE5sUTI5a1pXTWdLejBnWENJdVhDSWdLeUIwYUdsekxuWjJZME11WjJWdVpYSmhiRjl3Y205bWFXeGxYMmxrWXp0Y2NseHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWRuWmpReTVuWlc1bGNtRnNYM1JwWlhKZlpteGhaeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHSmhjMlZEYjJSbFl5QXJQU0JjSWk1SVhDSTdYSEpjYmlBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnWW1GelpVTnZaR1ZqSUNzOUlGd2lMa3hjSWp0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQmlZWE5sUTI5a1pXTWdLejBnZEdocGN5NTJkbU5ETG1kbGJtVnlZV3hmYk
1dWMlpXeGZhV1JqTzF4eVhHNWNjbHh1SUNBZ0lDQWdkbUZ5SUdOdmJuTjBjbUZwYm5SZmMzUnlhVzVuSUQwZ1hDSmNJanRjY2x4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11ZG5aalF5NW5aVzVsY21Gc1gyTnZibk4wY21GcGJuUmZhVzVtYnlrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaWVYUmxjeUE5SUZ0ZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaWVYUmxJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQmllWFJsSUh3OUlIUm9hWE11ZG5aalF5NXdkR3hmWm5KaGJXVmZiMjVzZVY5amIyNXpkSEpoYVc1MElEdzhJRGM3WEhKY2JpQWdJQ0FnSUNBZ1lubDBaU0I4UFNCMGFHbHpMbloyWTBNdWNIUnNYMjExYkhScGJHRjVaWEpmWlc1aFlteGxaQ0E4UENBMk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCc1lYTjBYMjV2Ym5wbGNtODdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJSFJvYVhNdWRuWmpReTVuWlc1bGNtRnNYMk52Ym5OMGNtRnBiblJmYVc1bWJ5NXNaVzVuZEdnN0lDc3JhU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdZbmwwWlNCOFBTQW9kR2hwY3k1MmRtTkRMbWRsYm1WeVlXeGZZMjl1YzNSeVlXbHVkRjlwYm1adlcybGRJRDQrSURJcElDWWdNSGd6Wmp0Y2NseHVJQ0FnSUNBZ0lDQWdJR0o1ZEdWekxuQjFjMmdvWW5sMFpTazdYSEpjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ZbmwwWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCc1lYTjBYMjV2Ym5wbGNtOGdQU0JwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdmVnh5WEc1Y2NseHVJQ0FnSUNBZ0lDQWdJR0o1ZEdVZ1BTQW9kR2hwY3k1MmRtTkRMbWRsYm1WeVlXeGZZMjl1YzNSeVlXbHVkRjlwYm1adlcybGRJRDQrSURJcElDWWdNSGd3TXp0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmx4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hzWVhOMFgyNXZibnBsY204Z1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNSeVlXbHVkRjl6ZEhKcGJtY2dQU0JjSWk1RFFWd2lPMXh5WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZEhKaGFXNTBYM04wY21sdVp5QTlJRndpTGtOY0lqdGNjbHh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmlZWE5sTXpKZlkyaGhjbk1nUFNCY0lrRkNRMFJGUmtkSVNVcExURTFPVDFCUlVsTlVWVlpYV0ZsYU1qTTBOVFkzWENJN1hISmNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2FHVnNaRjlpYVhSeklEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ1ZFcxZmFHVnNaRjlpYVhSeklEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUEQwZ2JHRnpkRjl1YjI1NlpYSnZPeUFySzJrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FHVnNaRjlpYVhSeklEMGdLR2hsYkdSZlltbDBjeUE4UENBNEtTQjhJR0o1ZEdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVkVzFmYUdWc1pGOWlhWFJ6SUNzOUlEZzdYSEpjYmx4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9iblZ0WDJobGJHUmZZbWwwY3lBK1BTQTFLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIWmhiQ0E5SUNob1pXeGtYMkpwZEhNZ1BqNGdLRzUxYlY5b1pXeGtYMkpwZEhNZ0xTQTFLU2tnSmlBd2VERm1PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMGNtRnBiblJmYzNSeWFXNW5JQ3M5SUdKaGMyVXpNbDlqYUdGeWMxdDJZV3hkTzF4eVhHNWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnVkVzFmYUdWc1pGOWlhWFJ6SUMwOUlEVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhR1ZzWkY5aWFYUnpJQ1k5SUNneElEdzhJRzUxYlY5b1pXeGtYMkpwZEhNcElDMGdNVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHNTFiVjlvWld4a1gySnBkSE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYUdWc1pGOWlhWFJ6SUR3OFBTQW9OU0F0SUc1MWJWOW9aV3hrWDJKcGRITXBPeUFnTHk4Z2NtbG5hSFF0Y0dGa0lIZHBkR2dnZW1WeWIzTWdkRzhnTlNCaWFYUnpJQ2hwY3lCMGFHbHpJR052Y25KbFkzUS9LVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZEhKaGFXNTBYM04wY21sdVp5QXJQU0JpWVhObE16SmZZMmhoY25OYmFHVnNaRjlpYVhSeklDWWdNSGd4WmwwN1hISmNiaUFnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJR0poYzJWRGIyUmxZeUFyUFNCamIyNXpkSEpoYVc1MFgzTjBjbWx1Wnp0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUJpWVhObFEyOWtaV003WEhKY2JpQWdmVHRjY2x4dVhISmNia0p2ZUZCaGNuTmxjaTV0Y0RSaFUyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWRsZEVOdlpHVmpJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnZG1GeUlHSmhjMlZEYjJSbFl5QTlJRUp2ZUZCaGNuTmxjaTVUWVcxd2JHVkZiblJ5ZVM1d2NtOTBiM1I1Y0dVdVoyVjBRMjlrWldNdVkyRnNiQ2gwYUdsektUdGNjbHh1SUNCcFppQW9kR2hwY3k1bGMyUnpJQ1ltSUhSb2FYTXVaWE5rY3k1bGMyUXBJSHRjY2x4dUlDQWdJSFpoY2lCdmRHa2dQU0IwYUdsekxtVnpaSE11WlhOa0xtZGxkRTlVU1NncE8xeHlYRzRnSUNBZ2RtRnlJR1J6YVNBOUlIUm9hWE11WlhOa2N5NWxjMlF1WjJWMFFYVmthVzlEYjI1bWFXY29LVHRjY2x4dUlDQWdJSEpsZEhWeWJpQmlZWE5sUTI5a1pXTWdLeUJjSWk1Y0lpQXJJRUp2ZUZCaGNuTmxjaTVrWldOcGJXRnNWRzlJWlhnb2IzUnBLU0FySUNoa2Mya2dQeUJjSWk1Y0lpQXJJR1J6YVNBNklGd2lYQ0lwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z1ltRnpaVU52WkdWak8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNia0p2ZUZCaGNuTmxjaTV6ZEhoMFUyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWRsZEVOdlpHVmpJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnZG1GeUlHSmhjMlZEYjJSbFl5QTlJRUp2ZUZCaGNuTmxjaTVUWVcxd2JHVkZiblJ5ZVM1d2NtOTBiM1I1Y0dVdVoyVjBRMjlrWldNdVkyRnNiQ2gwYUdsektUdGNjbHh1SUNCcFppQW9kR2hwY3k1dGFXMWxYMlp2Y20xaGRDa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlHSmhjMlZEYjJSbFl5QXJJRndpTGx3aUlDc2dkR2hwY3k1dGFXMWxYMlp2Y20xaGREdGNjbHh1SUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnY21WMGRYSnVJR0poYzJWRGIyUmxZenRjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdWRuQXdPRk5oYlhCc1pVVnVkSEo1TG5CeWIzUnZkSGx3WlM1blpYUkRiMlJsWXlBOVhISmNiaUFnUW05NFVHRnljMlZ5TG5ad01EbFRZVzF3YkdWRmJuUnllUzV3Y205MGIzUjVjR1V1WjJWMFEyOWtaV01nUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNBZ0lIWmhjaUJpWVhObFEyOWtaV01nUFNCQ2IzaFFZWEp6WlhJdVUyRnRjR3hsUlc1MGNua3VjSEp2ZEc5MGVYQmxMbWRsZEVOdlpHVmpMbU5oYkd3b2RHaHBjeWs3WEhKY2JpQWdJQ0IyWVhJZ2JHVjJaV3dnUFNCMGFHbHpMblp3WTBNdWJHVjJaV3c3WEhKY2JpQWdJQ0JwWmlBb2JHVjJaV3dnUFQwZ01Da2dlMXh5WEc0Z0lDQWdJQ0JzWlhabGJDQTlJRndpTURCY0lqdGNjbHh1SUNBZ0lIMWNjbH
1h1SUNBZ0lIWmhjaUJpYVhSRVpYQjBhQ0E5SUhSb2FYTXVkbkJqUXk1aWFYUkVaWEIwYUR0Y2NseHVJQ0FnSUdsbUlDaGlhWFJFWlhCMGFDQTlQU0E0S1NCN1hISmNiaUFnSUNBZ0lHSnBkRVJsY0hSb0lEMGdYQ0l3T0Z3aU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUdKaGMyVkRiMlJsWXlBcklGd2lMakJjSWlBcklIUm9hWE11ZG5CalF5NXdjbTltYVd4bElDc2dYQ0l1WENJZ0t5QnNaWFpsYkNBcklGd2lMbHdpSUNzZ1ltbDBSR1Z3ZEdnN1hISmNiaUFnZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1aGRqQXhVMkZ0Y0d4bFJXNTBjbmt1Y0hKdmRHOTBlWEJsTG1kbGRFTnZaR1ZqSUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2RtRnlJR0poYzJWRGIyUmxZeUE5SUVKdmVGQmhjbk5sY2k1VFlXMXdiR1ZGYm5SeWVTNXdjbTkwYjNSNWNHVXVaMlYwUTI5a1pXTXVZMkZzYkNoMGFHbHpLVHRjY2x4dUlDQjJZWElnYkdWMlpXd2dQU0IwYUdsekxtRjJNVU11YzJWeFgyeGxkbVZzWDJsa2VGOHdPMXh5WEc0Z0lHbG1JQ2hzWlhabGJDQThJREV3S1NCN1hISmNiaUFnSUNCc1pYWmxiQ0E5SUZ3aU1Gd2lJQ3NnYkdWMlpXdzdYSEpjYmlBZ2ZWeHlYRzRnSUhaaGNpQmlhWFJrWlhCMGFEdGNjbHh1SUNCcFppQW9kR2hwY3k1aGRqRkRMbk5sY1Y5d2NtOW1hV3hsSUQwOVBTQXlJQ1ltSUhSb2FYTXVZWFl4UXk1b2FXZG9YMkpwZEdSbGNIUm9JRDA5UFNBeEtTQjdYSEpjYmlBZ0lDQmlhWFJrWlhCMGFDQTlJQ2gwYUdsekxtRjJNVU11ZEhkbGJIWmxYMkpwZENBOVBUMGdNU2tnUHlCY0lqRXlYQ0lnT2lCY0lqRXdYQ0k3WEhKY2JpQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtRjJNVU11YzJWeFgzQnliMlpwYkdVZ1BEMGdNaWtnZTF4eVhHNGdJQ0FnWW1sMFpHVndkR2dnUFNBb2RHaHBjeTVoZGpGRExtaHBaMmhmWW1sMFpHVndkR2dnUFQwOUlERXBJRDhnWENJeE1Gd2lJRG9nWENJd09Gd2lPMXh5WEc0Z0lIMWNjbHh1SUNBdkx5QlVUMFJQSUc1bFpXUWdkRzhnY0dGeWMyVWdkR2hsSUZOSUlIUnZJR1pwYm1RZ1kyOXNiM0lnWTI5dVptbG5YSEpjYmlBZ2NtVjBkWEp1SUdKaGMyVkRiMlJsWXlBcklGd2lMbHdpSUNzZ2RHaHBjeTVoZGpGRExuTmxjVjl3Y205bWFXeGxJQ3NnWENJdVhDSWdLeUJzWlhabGJDQXJJQ2gwYUdsekxtRjJNVU11YzJWeFgzUnBaWEpmTUNBL0lGd2lTRndpSURvZ1hDSk5YQ0lwSUNzZ1hDSXVYQ0lnS3lCaWFYUmtaWEIwYURzdkx5dGNJaTVjSWl0MGFHbHpMbUYyTVVNdWJXOXViMk5vY205dFpTdGNJaTVjSWl0MGFHbHpMbUYyTVVNdVkyaHliMjFoWDNOMVluTmhiWEJzYVc1blgzZ3JYQ0pjSWl0MGFHbHpMbUYyTVVNdVkyaHliMjFoWDNOMVluTmhiWEJzYVc1blgza3JYQ0pjSWl0MGFHbHpMbUYyTVVNdVkyaHliMjFoWDNOaGJYQnNaVjl3YjNOcGRHbHZianRjY2x4dWZUdGNjbHh1THk4Z1ptbHNaVHB6Y21NdlltOTRMWGR5YVhSbExtcHpYSEpjYmk4cVhISmNiaUFxSUVOdmNIbHlhV2RvZENBb1l5a2dWR1ZzWldOdmJTQlFZWEpwYzFSbFkyZ3ZWRk5KTDAxTkwwZFFRVU1nUTNseWFXd2dRMjl1WTI5c1lYUnZYSEpjYmlBcUlFeHBZMlZ1YzJVNklFSlRSQzB6TFVOc1lYVnpaU0FvYzJWbElFeEpRMFZPVTBVZ1ptbHNaU2xjY2x4dUlDb3ZYSEpjYmtKdmVGQmhjbk5sY2k1Q2IzZ3VjSEp2ZEc5MGVYQmxMbmR5YVhSbFNHVmhaR1Z5SUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0TENCdGMyY3BJSHRjY2x4dUlDQjBhR2x6TG5OcGVtVWdLejBnT0R0Y2NseHVJQ0JwWmlBb2RHaHBjeTV6YVhwbElENGdUVUZZWDFOSldrVXBJSHRjY2x4dUlDQWdJSFJvYVhNdWMybDZaU0FyUFNBNE8xeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2RHaHBjeTUwZVhCbElEMDlQU0JjSW5WMWFXUmNJaWtnZTF4eVhHNGdJQ0FnZEdocGN5NXphWHBsSUNzOUlERTJPMXh5WEc0Z0lIMWNjbHh1SUNCTWIyY3VaR1ZpZFdjb1hDSkNiM2hYY21sMFpYSmNJaXdnWENKWGNtbDBhVzVuSUdKdmVDQmNJaUFySUhSb2FYTXVkSGx3WlNBcklGd2lJRzltSUhOcGVtVTZJRndpSUNzZ2RHaHBjeTV6YVhwbElDc2dYQ0lnWVhRZ2NHOXphWFJwYjI0Z1hDSWdLeUJ6ZEhKbFlXMHVaMlYwVUc5emFYUnBiMjRvS1NBcklDaHRjMmNnZkh3Z1hDSmNJaWtwTzF4eVhHNGdJR2xtSUNoMGFHbHpMbk5wZW1VZ1BpQk5RVmhmVTBsYVJTa2dlMXh5WEc0Z0lDQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLREVwTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQjBhR2x6TG5OcGVtVlFiM05wZEdsdmJpQTlJSE4wY21WaGJTNW5aWFJRYjNOcGRHbHZiaWdwTzF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVjMmw2WlNrN1hISmNiaUFnZlZ4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZOMGNtbHVaeWgwYUdsekxuUjVjR1VzSUc1MWJHd3NJRFFwTzF4eVhHNGdJR2xtSUNoMGFHbHpMblI1Y0dVZ1BUMDlJRndpZFhWcFpGd2lLU0I3WEhKY2JpQWdJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBPRUZ5Y21GNUtIUm9hWE11ZFhWcFpDazdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaDBhR2x6TG5OcGVtVWdQaUJOUVZoZlUwbGFSU2tnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRFkwS0hSb2FYTXVjMmw2WlNrN1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMa1oxYkd4Q2IzZ3VjSEp2ZEc5MGVYQmxMbmR5YVhSbFNHVmhaR1Z5SUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NXphWHBsSUNzOUlEUTdYSEpjYmlBZ1FtOTRVR0Z5YzJWeUxrSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVklaV0ZrWlhJdVkyRnNiQ2gwYUdsekxDQnpkSEpsWVcwc0lGd2lJSFk5WENJZ0t5QjBhR2x6TG5abGNuTnBiMjRnS3lCY0lpQm1QVndpSUNzZ2RHaHBjeTVtYkdGbmN5azdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERnb2RHaHBjeTUyWlhKemFXOXVLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME1qUW9kR2hwY3k1bWJHRm5jeWs3WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVRbTk0TG5CeWIzUnZkSGx3WlM1M2NtbDBaU0E5SUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJR2xtSUNo
1MGFHbHpMblI1Y0dVZ1BUMDlJRndpYldSaGRGd2lLU0I3WEhKY2JpQWdJQ0F2S2lCVVQwUlBPaUJtYVhnZ2RHaHBjeUFxTDF4eVhHNGdJQ0FnYVdZZ0tIUm9hWE11WkdGMFlTa2dlMXh5WEc0Z0lDQWdJQ0IwYUdsekxuTnBlbVVnUFNCMGFHbHpMbVJoZEdFdWJHVnVaM1JvTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0UVhKeVlYa29kR2hwY3k1a1lYUmhLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ2RHaHBjeTV6YVhwbElEMGdLSFJvYVhNdVpHRjBZU0EvSUhSb2FYTXVaR0YwWVM1c1pXNW5kR2dnT2lBd0tUdGNjbHh1SUNBZ0lIUm9hWE11ZDNKcGRHVklaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0FnSUdsbUlDaDBhR2x6TG1SaGRHRXBJSHRjY2x4dUlDQWdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRGhCY25KaGVTaDBhR2x6TG1SaGRHRXBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1RGIyNTBZV2x1WlhKQ2IzZ3VjSEp2ZEc5MGVYQmxMbmR5YVhSbElEMGdablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTV6YVhwbElEMGdNRHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbUp2ZUdWekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0JwWmlBb2RHaHBjeTVpYjNobGMxdHBYU2tnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbUp2ZUdWelcybGRMbmR5YVhSbEtITjBjbVZoYlNrN1hISmNiaUFnSUNBZ0lIUm9hWE11YzJsNlpTQXJQU0IwYUdsekxtSnZlR1Z6VzJsZExuTnBlbVU3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc0Z0lDOHFJR0ZrYW5WemRHbHVaeUIwYUdVZ2MybDZaU3dnYm05M0lIUm9ZWFFnWVd4c0lITjFZaTFpYjNobGN5QmhjbVVnYTI1dmQyNGdLaTljY2x4dUlDQk1iMmN1WkdWaWRXY29YQ0pDYjNoWGNtbDBaWEpjSWl3Z1hDSkJaR3AxYzNScGJtY2dZbTk0SUZ3aUlDc2dkR2hwY3k1MGVYQmxJQ3NnWENJZ2QybDBhQ0J1WlhjZ2MybDZaU0JjSWlBcklIUm9hWE11YzJsNlpTazdYSEpjYmlBZ2MzUnlaV0Z0TG1Ga2FuVnpkRlZwYm5Rek1paDBhR2x6TG5OcGVtVlFiM05wZEdsdmJpd2dkR2hwY3k1emFYcGxLVHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNVVjbUZqYTFKbFptVnlaVzVqWlZSNWNHVkNiM2d1Y0hKdmRHOTBlWEJsTG5keWFYUmxJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1emFYcGxJRDBnZEdocGN5NTBjbUZqYTE5cFpITXViR1Z1WjNSb0lDb2dORHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15UVhKeVlYa29kR2hwY3k1MGNtRmphMTlwWkhNcE8xeHlYRzU5TzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmQzSnBkR2x1Wnk5aGRtTkRMbXB6WEhKY2JrSnZlRkJoY25ObGNpNWhkbU5EUW05NExuQnliM1J2ZEhsd1pTNTNjbWwwWlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhaaGNpQnBPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJRGM3WEhKY2JpQWdabTl5SUNocElEMGdNRHNnYVNBOElIUm9hWE11VTFCVExteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0IwYUdsekxuTnBlbVVnS3owZ01pQXJJSFJvYVhNdVUxQlRXMmxkTG14bGJtZDBhRHRjY2x4dUlDQjlYSEpjYmlBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXVVRkJUTG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjBhR2x6TG5OcGVtVWdLejBnTWlBcklIUm9hWE11VUZCVFcybGRMbXhsYm1kMGFEdGNjbHh1SUNCOVhISmNiaUFnYVdZZ0tIUm9hWE11WlhoMEtTQjdYSEpjYmlBZ0lDQjBhR2x6TG5OcGVtVWdLejBnZEdocGN5NWxlSFF1YkdWdVozUm9PMXh5WEc0Z0lIMWNjbHh1SUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWREZ29kR2hwY3k1amIyNW1hV2QxY21GMGFXOXVWbVZ5YzJsdmJpazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERnb2RHaHBjeTVCVmtOUWNtOW1hV3hsU1c1a2FXTmhkR2x2YmlrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRGdvZEdocGN5NXdjbTltYVd4bFgyTnZiWEJoZEdsaWFXeHBkSGtwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUTRLSFJvYVhNdVFWWkRUR1YyWld4SmJtUnBZMkYwYVc5dUtUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwT0NoMGFHbHpMbXhsYm1kMGFGTnBlbVZOYVc1MWMwOXVaU0FySUNnMk15QThQQ0F5S1NrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRGdvZEdocGN5NVRVRk11YkdWdVozUm9JQ3NnS0RjZ1BEd2dOU2twTzF4eVhHNGdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TGxOUVV5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkREUyS0hSb2FYTXVVMUJUVzJsZExteGxibWQwYUNrN1hISmNiaUFnSUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwT0VGeWNtRjVLSFJvYVhNdVUxQlRXMmxkTG01aGJIVXBPMXh5WEc0Z0lIMWNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwT0NoMGFHbHpMbEJRVXk1c1pXNW5kR2dwTzF4eVhHNGdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TGxCUVV5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkREUyS0hSb2FYTXVVRkJUVzJsZExteGxibWQwYUNrN1hISmNiaUFnSUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwT0VGeWNtRjVLSFJvYVhNdVVGQlRXMmxkTG01aGJIVXBPMXh5WEc0Z0lIMWNjbHh1SUNCcFppQW9kR2hwY3k1bGVIUXBJSHRjY2x4dUlDQWdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUTRRWEp5WVhrb2RHaHBjeTVsZUhRcE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNkeWFYUnBibWN2WTI4Mk5DNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdVkyODJORUp2ZUM1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IyWVhJZ2FUdGNjbHh1SUNCMGFHbHpMblpsY25OcGIyNGdQU0F3TzF4eVhHNGdJSFJvYVhNdVpteGhaM01nUFNBd08xeHlYRzRnSUhSb2FYTXVjMmw2WlNBOUlEUWdLeUE0SUNvZ2RHaHBjeTVqYUhWdWE
1xOXZabVp6WlhSekxteGxibWQwYUR0Y2NseHVJQ0IwYUdsekxuZHlhWFJsU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11WTJoMWJtdGZiMlptYzJWMGN5NXNaVzVuZEdncE8xeHlYRzRnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxtTm9kVzVyWDI5bVpuTmxkSE11YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lITjBjbVZoYlM1M2NtbDBaVlZwYm5RMk5DaDBhR2x6TG1Ob2RXNXJYMjltWm5ObGRITmJhVjBwTzF4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM2R5YVhScGJtY3ZZM05zWnk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNOc1owSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0IwYUdsekxuWmxjbk5wYjI0Z1BTQXdPMXh5WEc0Z0lIUm9hWE11Wm14aFozTWdQU0F3TzF4eVhHNGdJSFJvYVhNdWMybDZaU0E5SURRZ0tpQTFPMXh5WEc0Z0lIUm9hWE11ZDNKcGRHVklaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWSmJuUXpNaWgwYUdsekxtTnZiWEJ2YzJsMGFXOXVWRzlFVkZOVGFHbG1kQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsU1c1ME16SW9kR2hwY3k1c1pXRnpkRVJsWTI5a1pWUnZSR2x6Y0d4aGVVUmxiSFJoS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWSmJuUXpNaWgwYUdsekxtZHlaV0YwWlhOMFJHVmpiMlJsVkc5RWFYTndiR0Y1UkdWc2RHRXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVWx1ZERNeUtIUm9hWE11WTI5dGNHOXphWFJwYjI1VGRHRnlkRlJwYldVcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpVbHVkRE15S0hSb2FYTXVZMjl0Y0c5emFYUnBiMjVGYm1SVWFXMWxLVHRjY2x4dWZUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM2R5YVhScGJtY3ZZM1IwY3k1cWMxeHlYRzVDYjNoUVlYSnpaWEl1WTNSMGMwSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0IwYUdsekxuWmxjbk5wYjI0Z1BTQXdPMXh5WEc0Z0lIUm9hWE11Wm14aFozTWdQU0F3TzF4eVhHNGdJSFJvYVhNdWMybDZaU0E5SURRZ0t5QTRJQ29nZEdocGN5NXpZVzF3YkdWZlkyOTFiblJ6TG14bGJtZDBhRHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVjMkZ0Y0d4bFgyTnZkVzUwY3k1c1pXNW5kR2dwTzF4eVhHNGdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG5OaGJYQnNaVjlqYjNWdWRITXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWloMGFHbHpMbk5oYlhCc1pWOWpiM1Z1ZEhOYmFWMHBPMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTVNrZ2UxeHlYRzRnSUNBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZKYm5Rek1paDBhR2x6TG5OaGJYQnNaVjl2Wm1aelpYUnpXMmxkS1RzZ0x5b2djMmxuYm1Wa0lDb3ZYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1ellXMXdiR1ZmYjJabWMyVjBjMXRwWFNrN0lDOHFJSFZ1YzJsbmJtVmtJQ292WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZkM0pwZEdsdVp5OWtjbVZtTG1welhISmNia0p2ZUZCaGNuTmxjaTVrY21WbVFtOTRMbkJ5YjNSdmRIbHdaUzUzY21sMFpTQTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11ZG1WeWMybHZiaUE5SURBN1hISmNiaUFnZEdocGN5NW1iR0ZuY3lBOUlEQTdYSEpjYmlBZ2RHaHBjeTV6YVhwbElEMGdORHNnTHk5Y2NseHVJQ0IwYUdsekxuZHlhWFJsU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11Wlc1MGNtbGxjeTVzWlc1bmRHZ3BPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1bGJuUnlhV1Z6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjBhR2x6TG1WdWRISnBaWE5iYVYwdWQzSnBkR1VvYzNSeVpXRnRLVHRjY2x4dUlDQWdJSFJvYVhNdWMybDZaU0FyUFNCMGFHbHpMbVZ1ZEhKcFpYTmJhVjB1YzJsNlpUdGNjbHh1SUNCOVhISmNiaUFnTHlvZ1lXUnFkWE4wYVc1bklIUm9aU0J6YVhwbExDQnViM2NnZEdoaGRDQmhiR3dnYzNWaUxXSnZlR1Z6SUdGeVpTQnJibTkzYmlBcUwxeHlYRzRnSUV4dlp5NWtaV0oxWnloY0lrSnZlRmR5YVhSbGNsd2lMQ0JjSWtGa2FuVnpkR2x1WnlCaWIzZ2dYQ0lnS3lCMGFHbHpMblI1Y0dVZ0t5QmNJaUIzYVhSb0lHNWxkeUJ6YVhwbElGd2lJQ3NnZEdocGN5NXphWHBsS1R0Y2NseHVJQ0J6ZEhKbFlXMHVZV1JxZFhOMFZXbHVkRE15S0hSb2FYTXVjMmw2WlZCdmMybDBhVzl1TENCMGFHbHpMbk5wZW1VcE8xeHlYRzU5TzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmQzSnBkR2x1Wnk5bGJHNW5MbXB6WEhKY2JrSnZlRkJoY25ObGNpNWxiRzVuUW05NExuQnliM1J2ZEhsd1pTNTNjbWwwWlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVkbVZ5YzJsdmJpQTlJREE3WEhKY2JpQWdkR2hwY3k1bWJHRm5jeUE5SURBN1hISmNiaUFnZEdocGN5NXphWHBsSUQwZ2RHaHBjeTVsZUhSbGJtUmxaRjlzWVc1bmRXRm5aUzVzWlc1bmRHZzdYSEpjYmlBZ2RHaHBjeTUzY21sMFpVaGxZV1JsY2loemRISmxZVzBwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZOMGNtbHVaeWgwYUdsekxtVjRkR1Z1WkdWa1gyeGhibWQxWVdkbEtUdGNjbHh1ZlR0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdlpXeHpkQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVaV3h6ZEVKdmVDNXdjbTkwYjNSNWNHVXVkM0pwZEdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMblpsY25OcGIyNGdQU0F3TzF4eVhHNGdJSFJvYVhNdVpteGhaM01nUFNBd08xeHlYRzRnSUhSb2FYTXVjMmw2WlNBOUlEUWdLeUF4TWlBcUlIUm9hWE11Wlc1MGNtbGxjeTVzWlc1bmRHZzdYSEpjYmlBZ2RHaHBjeTUzY21sMFpVaGxZV1JsY2loemRISmxZVzBwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxtVnVkSEpwWlhNdWJHVnVaM1JvS1R0Y2NseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXVaVzUwY21sbGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnZG1GeUlHVnVkSEo1SUQwZ2RHaHBjeTVsYm5SeWFXVnpXMmxkTzF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0dWdWRISjVMbk5sWjIxbGJuUmZaSFZ5WVhScGIyNHBPMXh5WEc0Z0lDQWdjM1J5WldGdExuZHlhWFJsU1c1ME16SW9aVzUwY25rdWJXVmthV0ZmZEdsdFpTazdYSEpjYmlBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZKYm5ReE5paGxiblJ5ZVM1dFpXUnBZVjl5WVhSbFgybHVkR1ZuWlhJcE8xeHlYRzRnSUNBZ2MzUnlaV0Z0TG5keWFYUmxTVzUwTVRZb1pXNTBjbmt1YldWa2FXRmZjbUYwWlY5bWNtRmpkR2x2YmlrN1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVMeThnWm1sc1pUcHpjbU12ZDNKcGRHbHVaeTlsYlhObkxtcHpYSEpjYmtKdmVGQmhjbk5sY2k1bGJYTm5RbTk0TG5CeWIzUnZkSGx3WlM1M2NtbDBaU0E5SUdaMWJtTjBhVzl1S0hOMGNtVmhiU2tnZTF4eVhHNGdJSFJvYVhNdWRtVnljMmx2YmlBOUlEQTdYSEpjYmlBZ2RHaHBjeTVtYkdGbmN5QTlJREE3WEhKY2JpQWdkR2hwY3k1emFYcGxJRDBnTkNBcUlEUWdLeUIwYUdsekxtMWxjM05oWjJWZlpHRjBZUzVzWlc1bmRHZ2dLeUFvZEdocGN5NXpZMmhsYldWZmFXUmZkWEpwTG14bGJtZDBhQ0FySURFcElDc2dLSFJvYVhNdWRtRnNkV1V1YkdWdVozUm9JQ3NnTVNrN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVU5UZEhKcGJtY29kR2hwY3k1elkyaGxiV1ZmYVdSZmRYSnBLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZEVTNSeWFXNW5LSFJvYVhNdWRtRnNkV1VwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuUnBiV1Z6WTJGc1pTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11Y0hKbGMyVnVkR0YwYVc5dVgzUnBiV1ZmWkdWc2RHRXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG1WMlpXNTBYMlIxY21GMGFXOXVLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1cFpDazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERoQmNuSmhlU2gwYUdsekxtMWxjM05oWjJWZlpHRjBZU2s3WEhKY2JuMDdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTkzY21sMGFXNW5MMlowZVhBdWFuTmNjbHh1UW05NFVHRnljMlZ5TG1aMGVYQkNiM2d1Y0hKdmRHOTBlWEJsTG5keWFYUmxJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkR2hwY3k1emFYcGxJRDBnT0NBckl
1EUWdLaUIwYUdsekxtTnZiWEJoZEdsaWJHVmZZbkpoYm1SekxteGxibWQwYUR0Y2NseHVJQ0IwYUdsekxuZHlhWFJsU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxVM1J5YVc1bktIUm9hWE11YldGcWIzSmZZbkpoYm1Rc0lHNTFiR3dzSURRcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWloMGFHbHpMbTFwYm05eVgzWmxjbk5wYjI0cE8xeHlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVqYjIxd1lYUnBZbXhsWDJKeVlXNWtjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2MzUnlaV0Z0TG5keWFYUmxVM1J5YVc1bktIUm9hWE11WTI5dGNHRjBhV0pzWlY5aWNtRnVaSE5iYVYwc0lHNTFiR3dzSURRcE8xeHlYRzRnSUgxY2NseHVmVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDNkeWFYUnBibWN2YUdSc2NpNXFjMXh5WEc1Q2IzaFFZWEp6WlhJdWFHUnNja0p2ZUM1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmloemRISmxZVzBwSUh0Y2NseHVJQ0IwYUdsekxuTnBlbVVnUFNBMUlDb2dOQ0FySUhSb2FYTXVibUZ0WlM1c1pXNW5kR2dnS3lBeE8xeHlYRzRnSUhSb2FYTXVkbVZ5YzJsdmJpQTlJREE3WEhKY2JpQWdkR2hwY3k1bWJHRm5jeUE5SURBN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1pZ3dLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZUZEhKcGJtY29kR2hwY3k1b1lXNWtiR1Z5TENCdWRXeHNMQ0EwS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvTUNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWlnd0tUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVkRVM1J5YVc1bktIUm9hWE11Ym1GdFpTazdYSEpjYm4wN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OTNjbWwwYVc1bkwydHBibVF1YW5OY2NseHVRbTk0VUdGeWMyVnlMbXRwYm1SQ2IzZ3VjSEp2ZEc5MGVYQmxMbmR5YVhSbElEMGdablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RHaHBjeTUyWlhKemFXOXVJRDBnTUR0Y2NseHVJQ0IwYUdsekxtWnNZV2R6SUQwZ01EdGNjbHh1SUNCMGFHbHpMbk5wZW1VZ1BTQW9kR2hwY3k1elkyaGxiV1ZWVWtrdWJHVnVaM1JvSUNzZ01Ta2dLeUFvZEdocGN5NTJZV3gxWlM1c1pXNW5kR2dnS3lBeEtUdGNjbHh1SUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsUTFOMGNtbHVaeWgwYUdsekxuTmphR1Z0WlZWU1NTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxRMU4wY21sdVp5aDBhR2x6TG5aaGJIVmxLVHRjY2x4dWZUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM2R5YVhScGJtY3ZiV1JvWkM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1YldSb1pFSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5OcGVtVWdQU0EwSUNvZ05DQXJJRElnS2lBeU8xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11ZG1WeWMybHZiaUE5SURBN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG1OeVpXRjBhVzl1WDNScGJXVXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG0xdlpHbG1hV05oZEdsdmJsOTBhVzFsS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvZEdocGN5NTBhVzFsYzJOaGJHVXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG1SMWNtRjBhVzl1S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNVFlvZEdocGN5NXNZVzVuZFdGblpTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERFMktEQXBPMXh5WEc1OU8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZkM0pwZEdsdVp5OXRaV2hrTG1welhISmNia0p2ZUZCaGNuTmxjaTV0Wldoa1FtOTRMbkJ5YjNSdmRIbHdaUzUzY21sMFpTQTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11ZG1WeWMybHZiaUE5SURBN1hISmNiaUFnZEdocGN5NW1iR0ZuY3lBOUlEQTdYSEpjYmlBZ2RHaHBjeTV6YVhwbElEMGdORHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVabkpoWjIxbGJuUmZaSFZ5WVhScGIyNHBPMXh5WEc1OU8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZkM0pwZEdsdVp5OXRabWhrTG1welhISmNia0p2ZUZCaGNuTmxjaTV0Wm1oa1FtOTRMbkJ5YjNSdmRIbHdaUzUzY21sMFpTQTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11ZG1WeWMybHZiaUE5SURBN1hISmNiaUFnZEdocGN5NW1iR0ZuY3lBOUlEQTdYSEpjYmlBZ2RHaHBjeTV6YVhwbElEMGdORHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVjMlZ4ZFdWdVkyVmZiblZ0WW1WeUtUdGNjbHh1ZlR0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdmJYWm9aQzVxYzF4eVhHNUNiM2hRWVhKelpYSXViWFpvWkVKdmVDNXdjbTkwYjNSNWNHVXVkM0pwZEdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMblpsY25OcGIyNGdQU0F3TzF4eVhHNGdJSFJvYVhNdVpteGhaM01nUFNBd08xeHlYRzRnSUhSb2FYTXVjMmw2WlNBOUlESXpJQ29nTkNBcklESWdLaUF5TzF4eVhHNGdJSFJvYVhNdWQzSnBkR1ZJWldGa1pYSW9jM1J5WldGdEtUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTXpJb2RHaHBjeTVqY21WaGRHbHZibDkwYVcxbEtUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTXpJb2RHaHBjeTV0YjJScFptbGpZWFJwYjI1ZmRHbHRaU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdWRHbHRaWE5qWVd4bEtUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTXpJb2RHaHBjeTVrZFhKaGRHbHZiaWs3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdWNtRjBaU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRERTJLSFJvYVhNdWRtOXNkVzFsSUR3OElEZ3BPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5ReE5pZ3dLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9NQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLREFwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNa0Z5Y21GNUtIUm9hWE11YldGMGNtbDRLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9NQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLREFwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWd3S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvTUNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWlnd0tUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTXpJb2RHaHBjeTV1WlhoMFgzUnlZV05yWDJsa0tUdGNjbHh1ZlR0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdmMyRnRjR3hsWlc1MGNua3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxsTmhiWEJzWlVWdWRISjVMbkJ5YjNSdmRIbHdaUzUzY21sMFpVaGxZV1JsY2lBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVjMmw2WlNBOUlEZzdYSEpjYmlBZ1FtOTRVR0Z5YzJWeUxrSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVklaV0ZrWlhJdVkyRnNiQ2gwYUdsekxDQnpkSEpsWVcwcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblE0S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF4TmloMGFHbHpMbVJoZEdGZmNtVm1aWEpsYm1ObFgybHVaR1Y0S1R0Y2NseHVmVHRjY2x4dVhISmNia0p2ZUZCaGNuTmxjaTVUWVcxd2JHVkZiblJ5ZVM1d2NtOTBiM1I1Y0dVdWQzSnBkR1ZHYjI5MFpYSWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdVltOTRaWE11YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lIUm9hWE11WW05NFpYTmJhVjB1ZDNKcGRHVW9jM1J5WldGdEtUdGNjbHh1SUNBZ0lIUm9hWE11YzJsNlpTQXJQU0IwYUdsekxtSnZlR1Z6VzJsZExuTnBlbVU3WEhKY2JpQWdmVnh5WEc0Z0lFeHZaeTVrWldKMVp5aGNJa0p2ZUZkeWFYUmxjbHdpTENCY0lrRmthblZ6ZEdsdVp5QmliM2dnWENJZ0t5QjBhR2x6TG5SNWNHVWdLeUJjSWlCM2FYUm9JRzVsZHlCemFYcGxJRndpSUNzZ2RHaHBjeTV6YVhwbEtUdGNjbHh1SUNCemRISmxZVzB1WVdScWRYTjBWV2x1ZERNeUtIUm9hWE11YzJsNlpWQnZjMmwwYVc5dUxDQjBhR2x6TG5OcGVtVXBPMXh5WEc1OU8xeHlYRzVjY2x4dVFtOTRVR0Z5YzJWeUxsTmhiWEJzWlVWdWRISjVMbkJ5YjNSdmRIbHdaUzUzY21sMFpTQTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11ZDNKcGRHVklaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBPRUZ5Y21GNUtIUm9hWE11WkdGMFlTazdYSEpjYmlBZ2RHaHBjeTV6YVhwbElDczlJSFJvYVhNdVpHRjBZUzVzWlc1bmRHZzdYSEpjYmlBZ1RHOW5MbVJsWW5WbktGd2lRbTk0VjNKcGRHVnlYQ0lzSUZ3aVFXUnFkWE4wYVc1bklHSnZlQ0JjSWlBcklIUm9hWE11ZEhsd1pTQXJJRndpSUhkcGRHZ2dibVYzSUhOcGVtVWdYQ0lnS3lCMGFHbHpMbk5wZW1VcE8xeHlYRzRnSUhOMGNtVmhiUzVoWkdwMWMzUlZhVzUwTXpJb2RHaHBjeTV6YVhwbFVHOXphWFJwYjI0c0lIUm9hWE11YzJsNlpTazdYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdVZtbHpkV0ZzVTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExuZHlhWFJsSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQXJQU0F5SUNvZ055QXJJRFlnS2lBMElDc2dNekk3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRERTJLREFwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXhOaWd3S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvTUNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWlnd0tUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTVRZb2RHaHBjeTUzYVdSMGFDazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERFMktIUm9hWE11YUdWcFoyaDBLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1b2IzSnBlbkpsYzI5c2RYUnBiMjRwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuWmxjblJ5WlhOdmJIVjBhVzl1S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvTUNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkREUyS0hSb2FYTXVabkpoYldWZlkyOTFiblFwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUTRLRTFoZEdndWJXbHVLRE14TENCMGFHbHpMbU52YlhCeVpYTnpiM0p1WVcxbExteGxibWQwYUNrcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWTjBjbWx1WnloMGFHbHpMbU52YlhCeVpYTnpiM0p1WVcxbExDQnVkV3hzTENBek1TazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERFMktIUm9hWE11WkdWd2RHZ3BPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVWx1ZERFMktDMHhLVHRjY2x4dUlDQjBhR2x6TG5keWFYUmxSbTl2ZEdWeUtITjBjbVZoYlNrN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1UVhWa2FXOVRZVzF3YkdWRmJuUnllUzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnZEdocGN5NXphWHBsSUNzOUlESWdLaUEwSUNzZ015QXFJRFE3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLREFwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWd3S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNVFlvZEdocGN5NWphR0Z1Ym1Wc1gyTnZkVzUwS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNVFlvZEdocGN5NXpZVzF3YkdWemFYcGxLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME1UWW9NQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRERTJLREFwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTmhiWEJzWlhKaGRHVWdQRHdnTVRZcE8xeHlYRzRnSUhSb2FYTXVkM0pwZEdWR2IyOTBaWElvYzNSeVpXRnRLVHRjY2x4dWZUdGNjbHh1WEhKY2JrSnZlRkJoY25ObGNpNXpkSEJ3VTJGdGNHeGxSVzUwY25rdWNISnZkRzkwZVhCbExuZHlhWFJsSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQXJQU0IwYUdsekxtNWhiV1Z6Y0dGalpTNXNaVzVuZEdnZ0t5QXhJQ3RjY2x4dUlDQWdJSFJvYVhNdWMyTm9aVzFoWDJ4dlkyRjBhVzl1TG14bGJtZDBhQ0FySURFZ0sxeHlYRzRnSUNBZ2RHaHBjeTVoZFhocGJHbGhjbmxmYldsdFpWOTBlWEJsY3k1c1pXNW5kR2dnS3lBeE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpVTlRkSEpwYm1jb2RHaHBjeTV1WVcxbGMzQmhZMlVwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlVOVGRISnBibWNvZEdocGN5NXpZMmhsYldGZmJHOWpZWFJwYjI0cE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpVTlRkSEpwYm1jb2RHaHBjeTVoZFhocGJHbGhjbmxmYldsdFpWOTBlWEJsY3lrN1hISmNiaUFnZEdocGN5NTNjbWwwWlVadmIzUmxjaWh6ZEhKbFlXMHBPMXh5WEc1OU8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZkM0pwZEdsdVp5OXpZVzF3YkdWbmNtOTFjSE12YzJGdGNHeGxaM0p2ZFhBdWFuTmNjbHh1UW05NFVHRnljMlZ5TGxOaGJYQnNaVWR5YjNWd1JXNTBjbmt1Y0hKdmRHOTBlWEJsTG5keWFYUmxJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWREaEJjbkpoZVNoMGFHbHpMbVJoZEdFcE8xeHlYRzU5TzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmQzSnBkR2x1Wnk5elltZHdMbXB6WEhKY2JrSnZlRkJoY25ObGNpNXpZbWR3UW05NExuQnliM1J2ZEhsd1pTNTNjbWwwWlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVkbVZ5YzJsdmJpQTlJREU3WEhKY2JpQWdkR2hwY3k1bWJHRm5jeUE5SURBN1hISmNiaUFnZEdocGN5NXphWHBsSUQwZ01USWdLeUE0SUNvZ2RHaHBjeTVsYm5SeWFXVnpMbXhsYm1kMGFEdGNjbHh1SUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVTNSeWFXNW5LSFJvYVhNdVozSnZkWEJwYm1kZmRIbHdaU3dnYm5Wc2JDd2dOQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdVozSnZkWEJwYm1kZmRIbHdaVjl3WVhKaGJXVjBaWElwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxtVnVkSEpwWlhNdWJHVnVaM1JvS1R0Y2NseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXVaVzUwY21sbGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnZG1GeUlHVnVkSEo1SUQwZ2RHaHBjeTVsYm5SeWFXVnpXMmxkTzF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFNXNTBNeklvWlc1MGNua3VjMkZ0Y0d4bFgyTnZkVzUwS1R0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpVbHVkRE15S0dWdWRISjVMbWR5YjNWd1gyUmxjMk55YVhCMGFXOXVYMmx1WkdWNEtUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5M2NtbDBhVzVuTDNObmNHUXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxuTm5jR1JDYjNndWNISnZkRzkwZVhCbExuZHlhWFJsSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHazdYSEpjYmlBZ2RtRnlJR1Z1ZEhKNU8xeHlYRzRnSUM4dklHeGxZWF
1psSUhabGNuTnBiMjRnWVhNZ2NtVmhaRnh5WEc0Z0lDOHZJSFJvYVhNdWRtVnljMmx2Ymp0Y2NseHVJQ0IwYUdsekxtWnNZV2R6SUQwZ01EdGNjbHh1SUNCMGFHbHpMbk5wZW1VZ1BTQXhNanRjY2x4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2RHaHBjeTVsYm5SeWFXVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNCbGJuUnllU0E5SUhSb2FYTXVaVzUwY21sbGMxdHBYVHRjY2x4dUlDQWdJR2xtSUNoMGFHbHpMblpsY25OcGIyNGdQVDA5SURFcElIdGNjbHh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVaR1ZtWVhWc2RGOXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5OcGVtVWdLejBnTkR0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjBhR2x6TG5OcGVtVWdLejBnWlc1MGNua3VaR0YwWVM1c1pXNW5kR2c3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc0Z0lIUm9hWE11ZDNKcGRHVklaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVGRISnBibWNvZEdocGN5NW5jbTkxY0dsdVoxOTBlWEJsTENCdWRXeHNMQ0EwS1R0Y2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBeEtTQjdYSEpjYmlBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1a1pXWmhkV3gwWDJ4bGJtZDBhQ2s3WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2gwYUdsekxuWmxjbk5wYjI0Z1BqMGdNaWtnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVaR1ZtWVhWc2RGOXpZVzF3YkdWZlpHVnpZM0pwY0hScGIyNWZhVzVrWlhncE8xeHlYRzRnSUgxY2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvZEdocGN5NWxiblJ5YVdWekxteGxibWQwYUNrN1hISmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJSFJvYVhNdVpXNTBjbWxsY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdaVzUwY25rZ1BTQjBhR2x6TG1WdWRISnBaWE5iYVYwN1hISmNiaUFnSUNCcFppQW9kR2hwY3k1MlpYSnphVzl1SUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1SbFptRjFiSFJmYkdWdVozUm9JRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0dWdWRISjVMbVJsYzJOeWFYQjBhVzl1WDJ4bGJtZDBhQ2s3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdWdWRISjVMbmR5YVhSbEtITjBjbVZoYlNrN1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdmMybGtlQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVjMmxrZUVKdmVDNXdjbTkwYjNSNWNHVXVkM0pwZEdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMblpsY25OcGIyNGdQU0F3TzF4eVhHNGdJSFJvYVhNdVpteGhaM01nUFNBd08xeHlYRzRnSUhSb2FYTXVjMmw2WlNBOUlEUWdLaUEwSUNzZ01pQXJJRElnS3lBeE1pQXFJSFJvYVhNdWNtVm1aWEpsYm1ObGN5NXNaVzVuZEdnN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG5KbFptVnlaVzVqWlY5SlJDazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11ZEdsdFpYTmpZV3hsS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvZEdocGN5NWxZWEpzYVdWemRGOXdjbVZ6Wlc1MFlYUnBiMjVmZEdsdFpTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11Wm1seWMzUmZiMlptYzJWMEtUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTVRZb01DazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERFMktIUm9hWE11Y21WbVpYSmxibU5sY3k1c1pXNW5kR2dwTzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NXlaV1psY21WdVkyVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNCMllYSWdjbVZtSUQwZ2RHaHBjeTV5WldabGNtVnVZMlZ6VzJsZE8xeHlYRzRnSUNBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtISmxaaTV5WldabGNtVnVZMlZmZEhsd1pTQThQQ0F6TVNCOElISmxaaTV5WldabGNtVnVZMlZrWDNOcGVtVXBPMXh5WEc0Z0lDQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSEpsWmk1emRXSnpaV2R0Wlc1MFgyUjFjbUYwYVc5dUtUdGNjbHh1SUNBZ0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paHlaV1l1YzNSaGNuUnpYM2RwZEdoZlUwRlFJRHc4SURNeElId2djbVZtTGxOQlVGOTBlWEJsSUR3OElESTRJSHdnY21WbUxsTkJVRjlrWld4MFlWOTBhVzFsS1R0Y2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTkzY21sMGFXNW5MM050YUdRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG5OdGFHUkNiM2d1Y0hKdmRHOTBlWEJsTG5keWFYUmxJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkbUZ5SUdrN1hISmNiaUFnZEdocGN5NTJaWEp6YVc5dUlEMGdNRHRjY2x4dUlDQjBhR2x6TG1ac1lXZHpJRDBnTVR0Y2NseHVJQ0IwYUdsekxuTnBlbVVnUFNBME8xeHlYRzRnSUhSb2FYTXVkM0pwZEdWSVpXRmtaWElvYzNSeVpXRnRLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME1UWW9kR2hwY3k1aVlXeGhibU5sS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNVFlvTUNrN1hISmNibjA3WEhKY2JpOHZJR1pwYkdVNmMzSmpMM2R5YVhScGJtY3ZjM1JqYnk1cWMxeHlYRzVDYjNoUVlYSnpaWEl1YzNSamIwSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5abGNuTnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJRFFnS3lBMElDb2dkR2hwY3k1amFIVnVhMTl2Wm1aelpYUnpMbXhsYm1kMGFEdGNjbHh1SUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdVkyaDFibXRmYjJabWMyVjBjeTVzWlc1bmRHZ3BPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1rRnljbUY1S0hSb2FYTXVZMmgxYm10ZmIyWm1jMlYwY3lrN1hISmNibjA3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5M2NtbDBhVzVuTDNOMGMyTXVhbk5jY2x4dVFtOTRVR0Z5YzJWeUxuTjBjMk5DYjNndWNISnZkRzkwZVhCbExuZHlhWFJsSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZG1GeUlHazdYSEpjYmlBZ2RHaHBjeTUyWlhKemFXO
1XVJRDBnTUR0Y2NseHVJQ0IwYUdsekxtWnNZV2R6SUQwZ01EdGNjbHh1SUNCMGFHbHpMbk5wZW1VZ1BTQTBJQ3NnTVRJZ0tpQjBhR2x6TG1acGNuTjBYMk5vZFc1ckxteGxibWQwYUR0Y2NseHVJQ0IwYUdsekxuZHlhWFJsU0dWaFpHVnlLSE4wY21WaGJTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11Wm1seWMzUmZZMmgxYm1zdWJHVnVaM1JvS1R0Y2NseHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1bWFYSnpkRjlqYUhWdWF5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVabWx5YzNSZlkyaDFibXRiYVYwcE8xeHlYRzRnSUNBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11YzJGdGNHeGxjMTl3WlhKZlkyaDFibXRiYVYwcE8xeHlYRzRnSUNBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11YzJGdGNHeGxYMlJsYzJOeWFYQjBhVzl1WDJsdVpHVjRXMmxkS1R0Y2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTkzY21sMGFXNW5MM04wYzJRdWFuTmNjbHh1UW05NFVHRnljMlZ5TG5OMGMyUkNiM2d1Y0hKdmRHOTBlWEJsTG5keWFYUmxJRDBnWm5WdVkzUnBiMjRvYzNSeVpXRnRLU0I3WEhKY2JpQWdkbUZ5SUdrN1hISmNiaUFnZEdocGN5NTJaWEp6YVc5dUlEMGdNRHRjY2x4dUlDQjBhR2x6TG1ac1lXZHpJRDBnTUR0Y2NseHVJQ0IwYUdsekxuTnBlbVVnUFNBd08xeHlYRzRnSUhSb2FYTXVkM0pwZEdWSVpXRmtaWElvYzNSeVpXRnRLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1bGJuUnlhV1Z6TG14bGJtZDBhQ2s3WEhKY2JpQWdkR2hwY3k1emFYcGxJQ3M5SURRN1hISmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJSFJvYVhNdVpXNTBjbWxsY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdkR2hwY3k1bGJuUnlhV1Z6VzJsZExuZHlhWFJsS0hOMGNtVmhiU2s3WEhKY2JpQWdJQ0IwYUdsekxuTnBlbVVnS3owZ2RHaHBjeTVsYm5SeWFXVnpXMmxkTG5OcGVtVTdYSEpjYmlBZ2ZWeHlYRzRnSUM4cUlHRmthblZ6ZEdsdVp5QjBhR1VnYzJsNlpTd2dibTkzSUhSb1lYUWdZV3hzSUhOMVlpMWliM2hsY3lCaGNtVWdhMjV2ZDI0Z0tpOWNjbHh1SUNCTWIyY3VaR1ZpZFdjb1hDSkNiM2hYY21sMFpYSmNJaXdnWENKQlpHcDFjM1JwYm1jZ1ltOTRJRndpSUNzZ2RHaHBjeTUwZVhCbElDc2dYQ0lnZDJsMGFDQnVaWGNnYzJsNlpTQmNJaUFySUhSb2FYTXVjMmw2WlNrN1hISmNiaUFnYzNSeVpXRnRMbUZrYW5WemRGVnBiblF6TWloMGFHbHpMbk5wZW1WUWIzTnBkR2x2Yml3Z2RHaHBjeTV6YVhwbEtUdGNjbHh1ZlR0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdmMzUnphQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVjM1J6YUVKdmVDNXdjbTkwYjNSNWNHVXVkM0pwZEdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMllYSWdhVHRjY2x4dUlDQjBhR2x6TG5abGNuTnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJRFFnS3lBNElDb2dkR2hwY3k1emFHRmtiM2RsWkY5ellXMXdiR1ZmYm5WdFltVnljeTVzWlc1bmRHZzdYSEpjYmlBZ2RHaHBjeTUzY21sMFpVaGxZV1JsY2loemRISmxZVzBwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTm9ZV1J2ZDJWa1gzTmhiWEJzWlY5dWRXMWlaWEp6TG14bGJtZDBhQ2s3WEhKY2JpQWdabTl5SUNocElEMGdNRHNnYVNBOElIUm9hWE11YzJoaFpHOTNaV1JmYzJGdGNHeGxYMjUxYldKbGNuTXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWloMGFHbHpMbk5vWVdSdmQyVmtYM05oYlhCc1pWOXVkVzFpWlhKelcybGRLVHRjY2x4dUlDQWdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTjVibU5mYzJGdGNHeGxYMjUxYldKbGNuTmJhVjBwTzF4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM2R5YVhScGJtY3ZjM1J6Y3k1cWMxeHlYRzVDYjNoUVlYSnpaWEl1YzNSemMwSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5abGNuTnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJRFFnS3lBMElDb2dkR2hwY3k1ellXMXdiR1ZmYm5WdFltVnljeTVzWlc1bmRHZzdYSEpjYmlBZ2RHaHBjeTUzY21sMFpVaGxZV1JsY2loemRISmxZVzBwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTmhiWEJzWlY5dWRXMWlaWEp6TG14bGJtZDBhQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlRWEp5WVhrb2RHaHBjeTV6WVcxd2JHVmZiblZ0WW1WeWN5azdYSEpjYm4wN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OTNjbWwwYVc1bkwzTjBjM291YW5OY2NseHVRbTk0VUdGeWMyVnlMbk4wYzNwQ2IzZ3VjSEp2ZEc5MGVYQmxMbmR5YVhSbElEMGdablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJR2s3WEhKY2JpQWdkbUZ5SUdOdmJuTjBZVzUwSUQwZ2RISjFaVHRjY2x4dUlDQjBhR2x6TG5abGNuTnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lHbG1JQ2gwYUdsekxuTmhiWEJzWlY5emFYcGxjeTVzWlc1bmRHZ2dQaUF3S1NCN1hISmNiaUFnSUNCcElEMGdNRHRjY2x4dUlDQWdJSGRvYVd4bElDaHBJQ3NnTVNBOElIUm9hWE11YzJGdGNHeGxYM05wZW1WekxteGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXpZVzF3YkdWZmMybDZaWE5iYVNBcklERmRJQ0U5UFNCMGFHbHpMbk5oYlhCc1pWOXphWHBsYzFzd1hTa2dlMXh5WEc0Z0lDQWdJQ0FnSUdOdmJuTjBZVzUwSUQwZ1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ2FTc3JPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lHTnZibk4wWVc1MElEMGdabUZzYzJVN1hISmNiaUFnZlZ4eVhHNGdJSFJvYVhNdWMybDZaU0E5SURnN1hISmNiaUFnYVdZZ0tDRmpiMjV6ZEdGdWRDa2dlMXh5WEc0Z0lDQWdkR2hwY3k1emFYcGxJQ3M5SURRZ0tpQjBhR2x6TG5OaGJYQnNaVjl6YVhwbGN5NXNaVzVuZEdnN1hISmNiaUFnZlZ4eVhHNGdJSFJvYVhNdWQzSnBkR1ZJWldGa1pYSW9jM1J5WldGdEtUdGNjbHh1SUNCcFppQW9JV052Ym5OMFlXNTBLU0I3WEhKY2JpQWdJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvTUNrN1hISmNiaUFnZlNCbGJITmxJSHRjY2x4dUlDQWdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTmhiWEJzWlY5emFYcGxjMXN3WFNrN1hISmNiaUFnZlZ4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTmhiWEJzWlY5emFYcGxjeTVzWlc1bmRHZ3BPMXh5WEc0Z0lHbG1JQ2doWTI5dWMzUmhiblFwSUh0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWtGeWNtRjVLSFJvYVhNdWMyRnRjR3hsWDNOcGVtVnpLVHRjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OTNjbWwwYVc1bkwzTjBkSE11YW5OY2NseHVRbTk0VUdGeWMyVnlMbk4wZEhOQ2IzZ3VjSEp2ZEc5MGVYQmxMbmR5YVhSbElEMGdablZ1WTNScGIyNG9jM1J5WldGdEtTQjdYSEpjYmlBZ2RtRnlJR2s3WEhKY2JpQWdkR2hwY3k1MlpYSnphVzl1SUQwZ01EdGNjbHh1SUNCMGFHbHpMbVpzWVdkeklEMGdNRHRjY2x4dUlDQjBhR2x6TG5OcGVtVWdQU0EwSUNzZ09DQXFJSFJvYVhNdWMyRnRjR3hsWDJOdmRXNTBjeTVzWlc1bmRHZzdYSEpjYmlBZ2RHaHBjeTUzY21sMFpVaGxZV1JsY2loemRISmxZVzBwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTmhiWEJzWlY5amIzVnVkSE11YkdWdVozUm9LVHRjY2x4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2RH
1aHBjeTV6WVcxd2JHVmZZMjkxYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvZEdocGN5NXpZVzF3YkdWZlkyOTFiblJ6VzJsZEtUdGNjbHh1SUNBZ0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG5OaGJYQnNaVjlrWld4MFlYTmJhVjBwTzF4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JpOHZJR1pwYkdVNmMzSmpMM2R5YVhScGJtY3ZkR1prZEM1cWMxeHlYRzVDYjNoUVlYSnpaWEl1ZEdaa2RFSnZlQzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjJZWElnVlVsT1ZETXlYMDFCV0NBOUlFMWhkR2d1Y0c5M0tESXNJRE15S1NBdElERTdYSEpjYmlBZ0x5OGdkWE5sSUhabGNuTnBiMjRnTVNCcFppQmlZWE5sVFdWa2FXRkVaV052WkdWVWFXMWxJR1J2WlhNZ2JtOTBJR1pwZENBek1pQmlhWFJ6WEhKY2JpQWdkR2hwY3k1MlpYSnphVzl1SUQwZ2RHaHBjeTVpWVhObFRXVmthV0ZFWldOdlpHVlVhVzFsSUQ0Z1ZVbE9WRE15WDAxQldDQS9JREVnT2lBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJRFE3WEhKY2JpQWdhV1lnS0hSb2FYTXVkbVZ5YzJsdmJpQTlQVDBnTVNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV6YVhwbElDczlJRFE3WEhKY2JpQWdmVnh5WEc0Z0lIUm9hWE11ZDNKcGRHVklaV0ZrWlhJb2MzUnlaV0Z0S1R0Y2NseHVJQ0JwWmlBb2RHaHBjeTUyWlhKemFXOXVJRDA5UFNBeEtTQjdYSEpjYmlBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME5qUW9kR2hwY3k1aVlYTmxUV1ZrYVdGRVpXTnZaR1ZVYVcxbEtUdGNjbHh1SUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVZbUZ6WlUxbFpHbGhSR1ZqYjJSbFZHbHRaU2s3WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dUx5OGdabWxzWlRwemNtTXZkM0pwZEdsdVp5OTBabWhrTG1welhISmNia0p2ZUZCaGNuTmxjaTUwWm1oa1FtOTRMbkJ5YjNSdmRIbHdaUzUzY21sMFpTQTlJR1oxYm1OMGFXOXVLSE4wY21WaGJTa2dlMXh5WEc0Z0lIUm9hWE11ZG1WeWMybHZiaUE5SURBN1hISmNiaUFnZEdocGN5NXphWHBsSUQwZ05EdGNjbHh1SUNCcFppQW9kR2hwY3k1bWJHRm5jeUFtSUVKdmVGQmhjbk5sY2k1VVJraEVYMFpNUVVkZlFrRlRSVjlFUVZSQlgwOUdSbE5GVkNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV6YVhwbElDczlJRGc3WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2gwYUdsekxtWnNZV2R6SUNZZ1FtOTRVR0Z5YzJWeUxsUkdTRVJmUmt4QlIxOVRRVTFRVEVWZlJFVlRReWtnZTF4eVhHNGdJQ0FnZEdocGN5NXphWHBsSUNzOUlEUTdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSR1NFUmZSa3hCUjE5VFFVMVFURVZmUkZWU0tTQjdYSEpjYmlBZ0lDQjBhR2x6TG5OcGVtVWdLejBnTkR0Y2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVabXhoWjNNZ0ppQkNiM2hRWVhKelpYSXVWRVpJUkY5R1RFRkhYMU5CVFZCTVJWOVRTVnBGS1NCN1hISmNiaUFnSUNCMGFHbHpMbk5wZW1VZ0t6MGdORHRjY2x4dUlDQjlYSEpjYmlBZ2FXWWdLSFJvYVhNdVpteGhaM01nSmlCQ2IzaFFZWEp6WlhJdVZFWklSRjlHVEVGSFgxTkJUVkJNUlY5R1RFRkhVeWtnZTF4eVhHNGdJQ0FnZEdocGN5NXphWHBsSUNzOUlEUTdYSEpjYmlBZ2ZWeHlYRzRnSUhSb2FYTXVkM0pwZEdWSVpXRmtaWElvYzNSeVpXRnRLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1MGNtRmphMTlwWkNrN1hISmNiaUFnYVdZZ0tIUm9hWE11Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkVaSVJGOUdURUZIWDBKQlUwVmZSRUZVUVY5UFJrWlRSVlFwSUh0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblEyTkNoMGFHbHpMbUpoYzJWZlpHRjBZVjl2Wm1aelpYUXBPMXh5WEc0Z0lIMWNjbHh1SUNCcFppQW9kR2hwY3k1bWJHRm5jeUFtSUVKdmVGQmhjbk5sY2k1VVJraEVYMFpNUVVkZlUwRk5VRXhGWDBSRlUwTXBJSHRjY2x4dUlDQWdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxtUmxabUYxYkhSZmMyRnRjR3hsWDJSbGMyTnlhWEIwYVc5dVgybHVaR1Y0S1R0Y2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVabXhoWjNNZ0ppQkNiM2hRWVhKelpYSXVWRVpJUkY5R1RFRkhYMU5CVFZCTVJWOUVWVklwSUh0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWloMGFHbHpMbVJsWm1GMWJIUmZjMkZ0Y0d4bFgyUjFjbUYwYVc5dUtUdGNjbHh1SUNCOVhISmNiaUFnYVdZZ0tIUm9hWE11Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkVaSVJGOUdURUZIWDFOQlRWQk1SVjlUU1ZwRktTQjdYSEpjYmlBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1a1pXWmhkV3gwWDNOaGJYQnNaVjl6YVhwbEtUdGNjbHh1SUNCOVhISmNiaUFnYVdZZ0tIUm9hWE11Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkVaSVJGOUdURUZIWDFOQlRWQk1SVjlHVEVGSFV5a2dlMXh5WEc0Z0lDQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdVpHVm1ZWFZzZEY5ellXMXdiR1ZmWm14aFozTXBPMXh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdmRHdG9aQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVkR3RvWkVKdmVDNXdjbTkwYjNSNWNHVXVkM0pwZEdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMGFHbHpMblpsY25OcGIyNGdQU0F3TzF4eVhHNGdJQzh2ZEdocGN5NW1iR0ZuY3lBOUlEQTdYSEpjYmlBZ2RHaHBjeTV6YVhwbElEMGdOQ0FxSURFNElDc2dNaUFxSURRN1hISmNiaUFnZEdocGN5NTNjbWwwWlVobFlXUmxjaWh6ZEhKbFlXMHBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG1OeVpXRjBhVzl1WDNScGJXVXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG0xdlpHbG1hV05oZEdsdmJsOTBhVzFsS1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvZEdocGN5NTBjbUZqYTE5cFpDazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtEQXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG1SMWNtRjBhVzl1S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvTUNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0RBcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpVbHVkREUyS0hSb2FYTXViR0Y1WlhJcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpVbHVkREUyS0hSb2FYTXVZV3gwWlhKdVlYUmxYMmR5YjNWd0tUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVkpiblF4TmloMGFHbHpMblp2YkhWdFpTQThQQ0E0S1R0Y2NseHVJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNVFlvTUNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFNXNTBNekpCY25KaG
1VTaDBhR2x6TG0xaGRISnBlQ2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdWQybGtkR2dwTzF4eVhHNGdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxtaGxhV2RvZENrN1hISmNibjA3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5M2NtbDBhVzVuTDNSeVpYZ3Vhbk5jY2x4dVFtOTRVR0Z5YzJWeUxuUnlaWGhDYjNndWNISnZkRzkwZVhCbExuZHlhWFJsSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0S1NCN1hISmNiaUFnZEdocGN5NTJaWEp6YVc5dUlEMGdNRHRjY2x4dUlDQjBhR2x6TG1ac1lXZHpJRDBnTUR0Y2NseHVJQ0IwYUdsekxuTnBlbVVnUFNBMElDb2dOVHRjY2x4dUlDQjBhR2x6TG5keWFYUmxTR1ZoWkdWeUtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkRE15S0hSb2FYTXVkSEpoWTJ0ZmFXUXBPMXh5WEc0Z0lITjBjbVZoYlM1M2NtbDBaVlZwYm5Rek1paDBhR2x6TG1SbFptRjFiSFJmYzJGdGNHeGxYMlJsYzJOeWFYQjBhVzl1WDJsdVpHVjRLVHRjY2x4dUlDQnpkSEpsWVcwdWQzSnBkR1ZWYVc1ME16SW9kR2hwY3k1a1pXWmhkV3gwWDNOaGJYQnNaVjlrZFhKaGRHbHZiaWs3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdVpHVm1ZWFZzZEY5ellXMXdiR1ZmYzJsNlpTazdYSEpjYmlBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11WkdWbVlYVnNkRjl6WVcxd2JHVmZabXhoWjNNcE8xeHlYRzU5TzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmQzSnBkR2x1Wnk5MGNuVnVMbXB6WEhKY2JrSnZlRkJoY25ObGNpNTBjblZ1UW05NExuQnliM1J2ZEhsd1pTNTNjbWwwWlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVkbVZ5YzJsdmJpQTlJREE3WEhKY2JpQWdkR2hwY3k1emFYcGxJRDBnTkR0Y2NseHVJQ0JwWmlBb2RHaHBjeTVtYkdGbmN5QW1JRUp2ZUZCaGNuTmxjaTVVVWxWT1gwWk1RVWRUWDBSQlZFRmZUMFpHVTBWVUtTQjdYSEpjYmlBZ0lDQjBhR2x6TG5OcGVtVWdLejBnTkR0Y2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVabXhoWjNNZ0ppQkNiM2hRWVhKelpYSXVWRkpWVGw5R1RFRkhVMTlHU1ZKVFZGOUdURUZIS1NCN1hISmNiaUFnSUNCMGFHbHpMbk5wZW1VZ0t6MGdORHRjY2x4dUlDQjlYSEpjYmlBZ2FXWWdLSFJvYVhNdVpteGhaM01nSmlCQ2IzaFFZWEp6WlhJdVZGSlZUbDlHVEVGSFUxOUVWVkpCVkVsUFRpa2dlMXh5WEc0Z0lDQWdkR2hwY3k1emFYcGxJQ3M5SURRZ0tpQjBhR2x6TG5OaGJYQnNaVjlrZFhKaGRHbHZiaTVzWlc1bmRHZzdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlUwbGFSU2tnZTF4eVhHNGdJQ0FnZEdocGN5NXphWHBsSUNzOUlEUWdLaUIwYUdsekxuTmhiWEJzWlY5emFYcGxMbXhsYm1kMGFEdGNjbHh1SUNCOVhISmNiaUFnYVdZZ0tIUm9hWE11Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkZKVlRsOUdURUZIVT
1E5R1RFRkhVeWtnZTF4eVhHNGdJQ0FnZEdocGN5NXphWHBsSUNzOUlEUWdLaUIwYUdsekxuTmhiWEJzWlY5bWJHRm5jeTVzWlc1bmRHZzdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlExUlRYMDlHUmxORlZDa2dlMXh5WEc0Z0lDQWdkR2hwY3k1emFYcGxJQ3M5SURRZ0tpQjBhR2x6TG5OaGJYQnNaVjlqYjIxd2IzTnBkR2x2Ymw5MGFXMWxYMjltWm5ObGRDNXNaVzVuZEdnN1hISmNiaUFnZlZ4eVhHNGdJSFJvYVhNdWQzSnBkR1ZJWldGa1pYSW9jM1J5WldGdEtUdGNjbHh1SUNCemRISmxZVzB1ZDNKcGRHVlZhVzUwTXpJb2RHaHBjeTV6WVcxd2JHVmZZMjkxYm5RcE8xeHlYRzRnSUdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJFRlVRVjlQUmtaVFJWUXBJSHRjY2x4dUlDQWdJSFJvYVhNdVpHRjBZVjl2Wm1aelpYUmZjRzl6YVhScGIyNGdQU0J6ZEhKbFlXMHVaMlYwVUc5emFYUnBiMjRvS1R0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpVbHVkRE15S0hSb2FYTXVaR0YwWVY5dlptWnpaWFFwT3lBdkwzTnBaMjVsWkZ4eVhHNGdJSDFjY2x4dUlDQnBaaUFvZEdocGN5NW1iR0ZuY3lBbUlFSnZlRkJoY25ObGNpNVVVbFZPWDBaTVFVZFRYMFpKVWxOVVgwWk1RVWNwSUh0Y2NseHVJQ0FnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF6TWloMGFHbHpMbVpwY25OMFgzTmhiWEJzWlY5bWJHRm5jeWs3WEhKY2JpQWdmVnh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1ellXMXdiR1ZmWTI5MWJuUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2FXWWdLSFJvYVhNdVpteGhaM01nSmlCQ2IzaFFZWEp6WlhJdVZGSlZUbDlHVEVGSFUxOUVWVkpCVkVsUFRpa2dlMXh5WEc0Z0lDQWdJQ0J6ZEhKbFlXMHVkM0pwZEdWVmFXNTBNeklvZEdocGN5NXpZVzF3YkdWZlpIVnlZWFJwYjI1YmFWMHBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVabXhoWjNNZ0ppQkNiM2hRWVhKelpYSXVWRkpWVGw5R1RFRkhVMTlUU1ZwRktTQjdYSEpjYmlBZ0lDQWdJSE4wY21WaGJTNTNjbWwwWlZWcGJuUXpNaWgwYUdsekxuTmhiWEJzWlY5emFYcGxXMmxkS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDaDBhR2x6TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJreEJSMU1wSUh0Y2NseHVJQ0FnSUNBZ2MzUnlaV0Z0TG5keWFYUmxWV2x1ZERNeUtIUm9hWE11YzJGdGNHeGxYMlpzWVdkelcybGRLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR2xtSUNoMGFHbHpMbVpzWVdkeklDWWdRbTk0VUdGeWMyVnlMbFJTVlU1ZlJreEJSMU5mUTFSVFgwOUdSbE5GVkNrZ2UxeHlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTJaWEp6YVc5dUlEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdjM1J5WldGdExuZHlhWFJsVldsdWRETXlLSFJvYVhNdWMyRnRjR3hsWDJOdmJYQnZjMmwwYVc5dVgzUnBiV1ZmYjJabWMyVjBXMmxkS1R0Y2NseHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQnpkSEpsWVcwdWQzSnBkR1ZKYm5Rek1paDBhR2x6TG5OaGJYQnNaVjlqYjIxd2IzTnBkR2x2Ymw5MGFXMWxYMjltWm5ObGRGdHBYU2s3SUM4dmMybG5ibVZrWEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNHZMeUJtYVd4bE9uTnlZeTkzY21sMGFXNW5MM1Z5YkM1cWMxeHlYRzVDYjNoUVlYSnpaWEpiWENKMWNtd2dRbTk0WENKZExuQnliM1J2ZEhsd1pTNTNjbWwwWlNBOUlHWjFibU4wYVc5dUtITjBjbVZoYlNrZ2UxeHlYRzRnSUhSb2FYTXVkbVZ5YzJsdmJpQTlJREE3WEhKY2JpQWdhV1lnS0hSb2FYTXViRzlqWVhScGIyNHBJSHRjY2x4dUlDQWdJSFJvYVhNdVpteGhaM01nUFNBd08xeHlYRzRnSUNBZ2RHaHBjeTV6YVhwbElEMGdkR2hwY3k1c2IyTmhkR2x2Ymk1c1pXNW5kR2dnS3lBeE8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0IwYUdsekxtWnNZV2R6SUQwZ01IZ3dNREF3TURFN1hISmNiaUFnSUNCMGFHbHpMbk5wZW1VZ1BTQXdPMXh5WEc0Z0lIMWNjbHh1SUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdhV1lnS0hSb2FYTXViRzlqWVhScGIyNHBJSHRjY2x4dUlDQWdJSE4wY21WaGJTNTNjbWwwWlVOVGRISnBibWNvZEdocGN5NXNiMk5oZEdsdmJpazdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1THk4Z1ptbHNaVHB6Y21NdmQzSnBkR2x1Wnk5MWNtNHVhbk5jY2x4dVFtOTRVR0Z5YzJWeVcxd2lkWEp1SUVKdmVGd2lYUzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaWh6ZEhKbFlXMHBJSHRjY2x4dUlDQjBhR2x6TG5abGNuTnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJSFJvYVhNdWJtRnRaUzVzWlc1bmRHZ2dLeUF4SUNzZ0tIUm9hWE11Ykc5allYUnBiMjRnUHlCMGFHbHpMbXh2WTJGMGFXOXVMbXhsYm1kMGFDQXJJREVnT2lBd0tUdGNjbHh1SUNCMGFHbHpMbmR5YVhSbFNHVmhaR1Z5S0hOMGNtVmhiU2s3WEhKY2JpQWdjM1J5WldGdExuZHlhWFJsUTFOMGNtbHVaeWgwYUdsekxtNWhiV1VwTzF4eVhHNGdJR2xtSUNoMGFHbHpMbXh2WTJGMGFXOXVLU0I3WEhKY2JpQWdJQ0J6ZEhKbFlXMHVkM0pwZEdWRFUzUnlhVzVuS0hSb2FYTXViRzlqWVhScGIyNHBPMXh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmk4dklHWnBiR1U2YzNKakwzZHlhWFJwYm1jdmRtMW9aQzVxYzF4eVhHNUNiM2hRWVhKelpYSXVkbTFvWkVKdmVDNXdjbTkwYjNSNWNHVXVkM0pwZEdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNCMllYSWdhVHRjY2x4dUlDQjBhR2x6TG5abGNuTnBiMjRnUFNBd08xeHlYRzRnSUhSb2FYTXVabXhoWjNNZ1BTQXhPMXh5WEc0Z0lIUm9hWE11YzJsNlpTQTlJRGc3WEhKY2JpQWdkR2hwY3k1M2NtbDBaVWhsWVdSbGNpaHpkSEpsWVcwcE8xeHlYRzRnSUhOMGNtVmhiUzUzY21sMFpWVnBiblF4TmloMGFHbHpMbWR5WVhCb2FXTnpiVzlrWlNrN1hISmNiaUFnYzNSeVpXRnRMbmR5YVhSbFZXbHVkREUyUVhKeVlYa29kR2hwY3k1dmNHTnZiRzl5S1R0Y2NseHVmVHRjY2x4dVhISmNiaTh2SUdacGJHVTZjM0pqTDJKdmVDMTFibkJoWTJzdWFuTmNjbHh1THlwY2NseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQlVaV3hsWTI5dElGQmhjbWx6VkdWamFDOVVVMGt2VFUwdlIxQkJReUJEZVhKcGJDQkRiMjVqYjJ4aGRHOWNjbHh1SUNvZ1RHbGpaVzV6WlRvZ1FsTkVMVE10UTJ4aGRYTmxJQ2h6WldVZ1RFbERSVTVUUlNCbWFXeGxLVnh5WEc0Z0tpOWNjbHh1UW05NFVHRnljMlZ5TG1OMGRITkNiM2d1Y0hKdmRHOTBlWEJsTG5WdWNHRmpheUE5SUdaMWJtTjBhVzl1S0hOaGJYQnNaWE1wSUh0Y2NseHVJQ0IyWVhJZ2FTd2dhaXdnYXp0Y2NseHVJQ0JySUQwZ01EdGNjbHh1SUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NXpZVzF3YkdWZlkyOTFiblJ6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQm1iM0lnS0dvZ1BTQXdPeUJxSUR3Z2RH
1aHBjeTV6WVcxd2JHVmZZMjkxYm5SelcybGRPeUJxS3lzcElIdGNjbHh1SUNBZ0lDQWdjMkZ0Y0d4bGMxdHJYUzV3ZEhNZ1BTQnpZVzF3YkdWelcydGRMbVIwY3lBcklIUm9hWE11YzJGdGNHeGxYMjltWm5ObGRITmJhVjA3WEhKY2JpQWdJQ0FnSUdzckt6dGNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1YzNSMGMwSnZlQzV3Y205MGIzUjVjR1V1ZFc1d1lXTnJJRDBnWm5WdVkzUnBiMjRvYzJGdGNHeGxjeWtnZTF4eVhHNGdJSFpoY2lCcExDQnFMQ0JyTzF4eVhHNGdJR3NnUFNBd08xeHlYRzRnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxuTmhiWEJzWlY5amIzVnVkSE11YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lHWnZjaUFvYWlBOUlEQTdJR29nUENCMGFHbHpMbk5oYlhCc1pWOWpiM1Z1ZEhOYmFWMDdJR29yS3lrZ2UxeHlYRzRnSUNBZ0lDQnBaaUFvYXlBOVBUMGdNQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lITmhiWEJzWlhOYmExMHVaSFJ6SUQwZ01EdGNjbHh1SUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0J6WVcxd2JHVnpXMnRkTG1SMGN5QTlJSE5oYlhCc1pYTmJheUF0SURGZExtUjBjeUFySUhSb2FYTXVjMkZ0Y0d4bFgyUmxiSFJoYzF0cFhUdGNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0JyS3lzN1hISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMbk4wWTI5Q2IzZ3VjSEp2ZEc5MGVYQmxMblZ1Y0dGamF5QTlJR1oxYm1OMGFXOXVLSE5oYlhCc1pYTXBJSHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1amFIVnVhMTl2Wm1aelpYUnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNCellXMXdiR1Z6VzJsZExtOW1abk5sZENBOUlIUm9hWE11WTJoMWJtdGZiMlptYzJWMGMxdHBYVHRjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdWMzUnpZMEp2ZUM1d2NtOTBiM1I1Y0dVdWRXNXdZV05ySUQwZ1puVnVZM1JwYjI0b2MyRnRjR3hsY3lrZ2UxeHlYRzRnSUhaaGNpQnBMQ0JxTENCckxDQnNMQ0J0TzF4eVhHNGdJR3dnUFNBd08xeHlYRzRnSUcwZ1BTQXdPMXh5WEc0Z0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCMGFHbHpMbVpwY25OMFgyTm9kVzVyTG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQm1iM0lnS0dvZ1BTQXdPeUJxSUR3Z0tHa2dLeUF4SUR3Z2RHaHBjeTVtYVhKemRGOWphSFZ1YXk1c1pXNW5kR2dnUHlCMGFHbHpMbVpwY25OMFgyTm9kVzVyVzJrZ0t5QXhYU0E2SUVsdVptbHVhWFI1S1RzZ2Fpc3JLU0I3WEhKY2JpQWdJQ0FnSUcwckt6dGNjbHh1SUNBZ0lDQWdabTl5SUNocklEMGdNRHNnYXlBOElIUm9hWE11YzJGdGNHeGxjMTl3WlhKZlkyaDFibXRiYVYwN0lHc3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h6WVcxd2JHVnpXMnhkS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0J6WVcxd2JHVnpXMnhkTG1SbGMyTnlhWEIwYVc5dVgybHVaR1Y0SUQwZ2RHaHBjeTV6WVcxd2JHVmZaR1Z6WTNKcGNIUnBiMjVmYVc1a1pYaGJhVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQnpZVzF3YkdWelcyeGRMbU5vZFc1clgybHVaR1Y0SUQwZ2JUdGNjbHh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JzS3lzN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1YzNSemVrSnZlQzV3Y205MGIzUjVjR1V1ZFc1d1lXTnJJRDBnWm5WdVkzUnBiMjRvYzJGdGNHeGxjeWtnZTF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxuTmhiWEJzWlY5emFYcGxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2MyRnRjR3hsYzF0cFhTNXphWHBsSUQwZ2RHaHBjeTV6WVcxd2JHVmZjMmw2WlhOYmFWMDdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNHZMeUJtYVd4bE9uTnlZeTlpYjNndFpHbG1aaTVxYzF4eVhHNWNjbHh1UW05NFVHRnljMlZ5TGtSSlJrWmZRazlZUlZOZlVGSlBVRjlPUVUxRlV5QTlJRnRjSW1KdmVHVnpYQ0lzSUZ3aVpXNTBjbWxsYzF3aUxDQmNJbkpsWm1WeVpXNWpaWE5jSWl3Z1hDSnpkV0p6WVcxd2JHVnpYQ0lzWEhKY2JpQWdYQ0pwZEdWdGMxd2lMQ0JjSW1sMFpXMWZhVzVtYjNOY0lpd2dYQ0psZUhSbGJuUnpYQ0lzSUZ3aVlYTnpiMk5wWVhScGIyNXpYQ0lzWEhKY2JpQWdYQ0p6ZFdKelpXZHRaVzUwYzF3aUxDQmNJbkpoYm1kbGMxd2lMQ0JjSW5ObFpXdE1hWE4wYzF3aUxDQmNJbk5sWld0UWIybHVkSE5jSWl4Y2NseHVJQ0JjSW1WelpGd2lMQ0JjSW14bGRtVnNjMXdpWFR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1RVNVWkdYMUJTU1UxSlZFbFdSVjlCVWxKQldWOVFVazlRWDA1QlRVVlRJRDBnVzF3aVkyOXRjR0YwYVdKc1pWOWljbUZ1WkhOY0lpd2dYQ0p0WVhSeWFYaGNJaXdnWENKdmNHTnZiRzl5WENJc0lGd2ljMkZ0Y0d4bFgyTnZkVzUwYzF3aUxDQmNJbk5oYlhCc1pWOWpiM1Z1ZEhOY0lpd2dYQ0p6WVcxd2JHVmZaR1ZzZEdGelhDSXNYSEpjYmlBZ1hDSm1hWEp6ZEY5amFIVnVhMXdpTENCY0luTmhiWEJzWlhOZmNHVnlYMk5vZFc1clhDSXNJRndpYzJGdGNHeGxYM05wZW1WelhDSXNJRndpWTJoMWJtdGZiMlptYzJWMGMxd2lMQ0JjSW5OaGJYQnNaVjl2Wm1aelpYUnpYQ0lzSUZ3aWMyRnRjR3hsWDJSbGMyTnlhWEIwYVc5dVgybHVaR1Y0WENJc0lGd2ljMkZ0Y0d4bFgyUjFjbUYwYVc5dVhDSmRPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMbUp2ZUVWeGRXRnNSbWxsYkdSeklEMGdablZ1WTNScGIyNG9ZbTk0WDJFc0lHSnZlRjlpS1NCN1hISmNiaUFnYVdZZ0tHSnZlRjloSUNZbUlDRmliM2hmWWlrZ2NtVjBkWEp1SUdaaGJITmxPMXh5WEc0Z0lIWmhjaUJ3Y205d08xeHlYRzRnSUdadmNpQW9jSEp2Y0NCcGJpQmliM2hmWVNrZ2UxeHlYRzRnSUNBZ2FXWWdLRUp2ZUZCaGNuTmxjaTVFU1VaR1gwSlBXRVZUWDFCU1QxQmZUa0ZOUlZNdWFXNWtaWGhQWmlod2NtOXdLU0ErSUMweEtTQjdYSEpjYmlBZ0lDQWdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0F2THlCOUlHVnNjMlVnYVdZZ0tHVjRZMngxWkdWa1gyWnBaV3hrY3lBbUppQmxlR05zZFdSbFpGOW1hV1ZzWkhNdWFXNWtaWGhQWmlod2NtOXdLU0ErSUMweEtTQjdYSEpjYmlBZ0lDQWdJQzh2SUZ4MFkyOXVkR2x1ZFdVN1hISmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHSnZlRjloVzNCeWIzQmRJR2x1YzNSaGJtTmxiMllnUW05NFVHRnljMlZ5TGtKdmVDQjhmQ0JpYjNoZllsdHdjbTl3WFNCcGJuTjBZVzVqWlc5bUlFSnZlRkJoY25ObGNpNUNiM2dwSUh0Y2NseHVJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCaWIzaGZZVnR3Y205d1hTQTlQVDBnWENKMWJtUmxabWx1WldSY0lpQjhmQ0IwZVhCbGIyWWdZbTk0WDJKYmNISnZjRjBnUFQwOUlGd2lkVzVrWldacGJtVmtYQ0lwSUh0Y2NseHVJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCaWIzaGZZVnR3Y205d1hTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlIeDhJSFI1Y0dWdlppQmliM2hmWWx0d2NtOXdYU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0I3WEhKY2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoY2NseHVJQ0FnSUNBZ0tHSnZlRjloTG5OMVlrSnZlRTVoYldWeklDWW1JR0p2ZUY5aExuTjFZa0p2ZUU1aGJXVnpMbWx1WkdWNFQyWW9jSEp2Y0M1emJHbGpaU2d3TENBMEtTa2dQaUF0TVNrZ2ZIeGNjbHh1SUNBZ0lDQWdLR0p2ZUY5aUxuTjFZa0p2ZUU1aGJXVnpJQ1ltSUdKdmVGOWlMbk4xWWtKdmVFNWhiV1Z6TG1sdVpHVjRUMllvY0hKdmNDNXpiR2xqWlNnd0xDQTBLU2tnUGlBdE1Ta3BJSHRjY2x4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0JwWmlBb2NISnZjQ0E5UFQwZ1hDSmtZWFJoWENJZ2ZId2djSEp2Y0NBOVBUMGdYQ0p6ZEdGeWRGd2lJSHg4SUhCeWIzQWdQVDA5SUZ3aWMybDZaVndpSUh4OElIQnliM0FnUFQwOUlGd2lZM0psWVhScGIyNWZkR2x0WlZ3aUlIeDhJSEJ5YjNBZ1BUMDlJRndpYlc5a2FXWnBZMkYwYVc5dVgzUnBiV1ZjSWlrZ2UxeHlYRzRnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0VKdmVGQmhjbk5sY2k1RVNVWk
1dYMUJTU1UxSlZFbFdSVjlCVWxKQldWOVFVazlRWDA1QlRVVlRMbWx1WkdWNFQyWW9jSEp2Y0NrZ1BpQXRNU2tnZTF4eVhHNGdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoaWIzaGZZVnR3Y205d1hTQWhQVDBnWW05NFgySmJjSEp2Y0YwcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JpQWdjbVYwZFhKdUlIUnlkV1U3WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVZbTk0UlhGMVlXd2dQU0JtZFc1amRHbHZiaWhpYjNoZllTd2dZbTk0WDJJcElIdGNjbHh1SUNCcFppQW9JVUp2ZUZCaGNuTmxjaTVpYjNoRmNYVmhiRVpwWld4a2N5aGliM2hmWVN3Z1ltOTRYMklwS1NCN1hISmNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ2ZWeHlYRzRnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3Z1FtOTRVR0Z5YzJWeUxrUkpSa1pmUWs5WVJWTmZVRkpQVUY5T1FVMUZVeTVzWlc1bmRHZzdJR29yS3lrZ2UxeHlYRzRnSUNBZ2RtRnlJRzVoYldVZ1BTQkNiM2hRWVhKelpYSXVSRWxHUmw5Q1QxaEZVMTlRVWs5UVgwNUJUVVZUVzJwZE8xeHlYRzRnSUNBZ2FXWWdLR0p2ZUY5aFcyNWhiV1ZkSUNZbUlHSnZlRjlpVzI1aGJXVmRLU0I3WEhKY2JpQWdJQ0FnSUdsbUlDZ2hRbTk0VUdGeWMyVnlMbUp2ZUVWeGRXRnNLR0p2ZUY5aFcyNWhiV1ZkTENCaWIzaGZZbHR1WVcxbFhTa3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYSEpjYm4wN0x5OGdabWxzWlRwemNtTXZkR1Y0ZEMxdGNEUXVhbk5jY2x4dUx5cGNjbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFeUxUSXdNVE11SUZSbGJHVmpiMjBnVUdGeWFYTlVaV05vTDFSVFNTOU5UUzlIVUVGRElFTjVjbWxzSUVOdmJtTnZiR0YwYjF4eVhHNGdLaUJNYVdObGJuTmxPaUJDVTBRdE15MURiR0YxYzJVZ0tITmxaU0JNU1VORlRsTkZJR1pwYkdVcFhISmNiaUFxTDF4eVhHNTJZWElnVmxSVWFXNDBVR0Z5YzJWeUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JuMDdYSEpjYmx4eVhHNVdWRlJwYmpSUVlYSnpaWEl1Y0hKdmRHOTBlWEJsTG5CaGNuTmxVMkZ0Y0d4bElEMGdablZ1WTNScGIyNG9aR0YwWVNrZ2UxeHlYRzRnSUhaaGNpQmpkV1Z6TENCamRXVTdYSEpjYmlBZ2RtRnlJSE4wY21WaGJTQTlJRzVsZHlCTlVEUkNiM2hUZEhKbFlXMG9aR0YwWVM1aWRXWm1aWElwTzF4eVhHNGdJR04xWlhNZ1BTQmJYVHRjY2x4dUlDQjNhR2xzWlNBb0lYTjBjbVZoYlM1cGMwVnZjeWdwS1NCN1hISmNiaUFnSUNCamRXVWdQU0JDYjNoUVlYSnpaWEl1Y0dGeWMyVlBibVZDYjNnb2MzUnlaV0Z0TENCbVlXeHpaU2s3WEhKY2JpQWdJQ0JwWmlBb1kzVmxMbU52WkdVZ1BUMDlJRUp2ZUZCaGNuTmxjaTVQU3lBbUppQmpkV1V1WW05NExuUjVjR1VnUFQwOUlGd2lkblIwWTF3aUtTQjdYSEpjYmlBZ0lDQWdJR04xWlhNdWNIVnphQ2hqZFdVdVltOTRLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmlBZ2NtVjBkWEp1SUdOMVpYTTdYSEpjYm4wN1hISmNibHh5WEc1V1ZGUnBialJRWVhKelpYSXVjSEp2ZEc5MGVYQmxMbWRsZEZSbGVIUWdQU0JtZFc1amRHbHZiaWh6ZEdGeWRGUnBiV1VzSUdWdVpGUnBiV1VzSUdSaGRHRXBJSHRjY2x4dUlDQm1kVzVqZEdsdmJpQndZV1FvYml3Z2QybGtkR2dzSUhvcElIdGNjbHh1SUNBZ0lIb2dQU0I2SUh4OElGd2lNRndpTzF4eVhHNGdJQ0FnYmlBOUlHNGdLeUJjSWx3aU8xeHlYRzRnSUNBZ2NtVjBkWEp1SUc0dWJHVnVaM1JvSUQ0OUlIZHBaSFJvSUQ4Z2JpQTZJRzVsZHlCQmNuSmhlU2gzYVdSMGFDQXRJRzR1YkdWdVozUm9JQ3NnTVNrdWFtOXBiaWg2S1NBcklHNDdYSEpjYmlBZ2ZWeHlYRzVjY2x4dUlDQm1kVzVqZEdsdmJpQnpaV05VYjFScGJXVnpkR0Z0Y0NocGJuTmxZeWtnZTF4eVhHNGdJQ0FnZG1GeUlHZ2dQU0JOWVhSb0xtWnNiMjl5S0dsdWMyVmpJQzhnTXpZd01DazdYSEpjYmlBZ0lDQjJZWElnYlNBOUlFMWhkR2d1Wm14dmIzSW9LR2x1YzJWaklDMGdhQ0FxSURNMk1EQXBJQzhnTmpBcE8xeHlYRzRnSUNBZ2RtRnlJSE1nUFNCTllYUm9MbVpzYjI5eUtHbHVjMlZqSUMwZ2FDQXFJRE0yTURBZ0xTQnRJQ29nTmpBcE8xeHlYRzRnSUNBZ2RtRnlJRzF6SUQwZ1RXRjBhQzVtYkc5dmNpZ29hVzV6WldNZ0xTQm9JQ29nTXpZd01DQXRJRzBnS2lBMk1DQXRJSE1wSUNvZ01UQXdNQ2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdYQ0pjSWlBcklIQmhaQ2hvTENBeUtTQXJJRndpT2x3aUlDc2djR0ZrS0cwc0lESXBJQ3NnWENJNlhDSWdLeUJ3WVdRb2N5d2dNaWtnS3lCY0lpNWNJaUFySUhCaFpDaHRjeXdnTXlrN1hISmNiaUFnZlZ4eVhHNWNjbHh1SUNCMllYSWdZM1ZsY3lBOUlIUm9hWE11Y0dGeWMyVlRZVzF3YkdVb1pHRjBZU2s3WEhKY2JpQWdkbUZ5SUhOMGNtbHVaeUE5SUZ3aVhDSTdYSEpjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmpkV1Z6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjJZWElnWTNWbFNXNDBJRDBnWTNWbGMxdHBYVHRjY2x4dUlDQWdJSE4wY21sdVp5QXJQU0J6WldOVWIxUnBiV1Z6ZEdGdGNDaHpkR0Z5ZEZScGJXVXBJQ3NnWENJZ0xTMCtJRndpSUNzZ2MyVmpWRzlVYVcxbGMzUmhiWEFvWlc1a1ZHbHRaU2tnS3lCY0lseGNjbHhjYmx3aU8xeHlYRzRnSUNBZ2MzUnlhVzVuSUNzOUlHTjFaVWx1TkM1d1lYbHNMblJsZUhRN1hISmNiaUFnZlZ4eVhHNGdJSEpsZEhWeWJpQnpkSEpwYm1jN1hISmNibjA3WEhKY2JseHlYRzUyWVhJZ1dFMU1VM1ZpZEdsMGJHVnBialJRWVhKelpYSWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVmVHRjY2x4dVhISmNibGhOVEZOMVluUnBkR3hsYVc0MFVHRnljMlZ5TG5CeWIzUnZkSGx3WlM1d1lYSnpaVk5oYlhCc1pTQTlJR1oxYm1OMGFXOXVLSE5oYlhCc1pTa2dlMXh5WEc0Z0lIWmhjaUJ5WlhNZ1BTQjdmVHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0J5WlhNdWNtVnpiM1Z5WTJWeklEMGdXMTA3WEhKY2JpQWdkbUZ5SUhOMGNtVmhiU0E5SUc1bGR5Qk5VRFJDYjNoVGRISmxZVzBvYzJGdGNHeGxMbVJoZEdFdVluVm1abVZ5S1R0Y2NseHVJQ0JwWmlBb0lYTmhiWEJzWlM1emRXSnpZVzF3YkdWeklIeDhJSE5oYlhCc1pTNXpkV0p6WVcxd2JHVnpMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ2NtVnpMbVJ2WTNWdFpXNTBVM1J5YVc1bklEMGdjM1J5WldGdExuSmxZV1JUZEhKcGJtY29jMkZ0Y0d4bExtUmhkR0V1YkdWdVozUm9LVHRjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ2NtVnpMbVJ2WTNWdFpXNTBVM1J5YVc1bklEMGdjM1J5WldGdExuSmxZV1JUZEhKcGJtY29jMkZ0Y0d4bExuTjFZbk5oYlhCc1pYTmJNRjB1YzJsNlpTazdYSEpjYmlBZ0lDQnBaaUFvYzJGdGNHeGxMbk4xWW5OaGJYQnNaWE11YkdWdVozUm9JRDRnTVNrZ2UxeHlYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXhPeUJwSUR3Z2MyRnRjR3hsTG5OMVluTmhiWEJzWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYTXVjbVZ6YjNWeVkyVnpXMmxkSUQwZ2MzUnlaV0Z0TG5KbFlXUlZhVzUwT0VGeWNtRjVLSE5oYlhCc1pTNXpkV0p6WVcxd2JHVnpXMmxkTG5OcGVtVXBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2gwZVhCbGIyWWdLRVJQVFZCaGNuTmxjaWtnSVQwOUlGd2lkVzVrWldacGJtVmtYQ0lwSUh0Y2NseHVJQ0FnSUhKbGN5NWtiMk4xYldWdWRDQTlJQ2h1WlhjZ1JFOU5VR0Z5YzJWeUtDa3BMbkJoY25ObFJuSnZiVk4wY21sdVp5aHlaWE11Wkc5amRXMWxiblJUZEhKcGJtY3NJRndpWVhCd2JHbGpZWFJwYjI0dmVHMXNYQ0lwTzF4eVhHNGdJSDFjY2x4dUlDQnlaWFIxY200Z2NtVnpPMXh5WEc1OU8xeHlYRzVjY2x4dWRtRnlJRlJsZUhScGJqUlFZWEp6WlhJZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dWZUdGNjbHh1WEhKY2JsUmxlSFJwYmpSUVlYSnpaWEl1Y0hKdmRHOTBlWEJsTG5CaGNuTmxVMkZ0Y0d4bElEMGdablZ1WTNScGIyNG9jMkZ0Y0d4bEtTQjdYSEpjYmlBZ2RtRnlJSFJsZUhSVGRISnBibWM3WEhKY2JpQWdkbUZ5SUhOMGNtVmhiU0E5SUc1bGR5Qk5VRFJDYjNoVGRISmxZVzBvYzJGdGNHeGxMbVJoZEdFdVluVm1abVZ5S1R0Y2NseHVJQ0IwWlhoMFUzUnlhVzVuSUQwZ2MzUnlaV0Z0TG5KbFlXUlRkSEpwYm1jb2MyRnRjR3hsTG1SaGRHRXViR1Z1WjNSb0tUdGNjbHh1SUNCeVpYUjFjbTRnZEdWNGRGTjBjbWx1Wnp0Y2NseHVmVHRjY2x4dVhISmNibFJsZUhScGJqUlFZWEp6WlhJdWNISnZkRzkwZVhCbExuQmhjbk5sUTI5dVptbG5JRDBnWm5WdVkzUnBiMjRvWkdGMFlTa2dlMXh5WEc0Z0lIWmhjaUIwWlhoMFUzUnlhVzVuTzF4eVhHNGdJSFpoY2lCemRISmxZVzBnUFNCdVpYY2dUVkEwUW05NFUzUnlaV0Z0S0dSaGRHRXVZblZtWm1WeUtUdGNjbHh1SUNCemRISmxZVzB1Y21WaFpGVnBiblF6TWlncE95QXZMeUIyWlhKemFXO
1XVJQ1lnWm14aFozTmNjbHh1SUNCMFpYaDBVM1J5YVc1bklEMGdjM1J5WldGdExuSmxZV1JEVTNSeWFXNW5LQ2s3WEhKY2JpQWdjbVYwZFhKdUlIUmxlSFJUZEhKcGJtYzdYSEpjYm4wN1hISmNibHh5WEc1cFppQW9kSGx3Wlc5bUlHVjRjRzl5ZEhNZ0lUMDlJRndpZFc1a1pXWnBibVZrWENJcElIdGNjbHh1SUNCbGVIQnZjblJ6TGxoTlRGTjFZblJwZEd4bGFXNDBVR0Z5YzJWeUlEMGdXRTFNVTNWaWRHbDBiR1ZwYmpSUVlYSnpaWEk3WEhKY2JpQWdaWGh3YjNKMGN5NVVaWGgwYVc0MFVHRnljMlZ5SUQwZ1ZHVjRkR2x1TkZCaGNuTmxjanRjY2x4dWZWeHlYRzR2THlCbWFXeGxPbk55WXk5cGMyOW1hV3hsTG1welhISmNiaThxWEhKY2JpQXFJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhNaTB5TURFekxpQlVaV3hsWTI5dElGQmhjbWx6VkdWamFDOVVVMGt2VFUwdlIxQkJReUJEZVhKcGJDQkRiMjVqYjJ4aGRHOWNjbHh1SUNvZ1RHbGpaVzV6WlRvZ1FsTkVMVE10UTJ4aGRYTmxJQ2h6WldVZ1RFbERSVTVUUlNCbWFXeGxLVnh5WEc0Z0tpOWNjbHh1ZG1GeUlFbFRUMFpwYkdVZ1BTQm1kVzVqZEdsdmJpaHpkSEpsWVcwcElIdGNjbHh1SUNBdktpQk5kWFJwUW5WbVptVnlVM1J5WldGdElHOWlhbVZqZENCMWMyVmtJSFJ2SUhCaGNuTmxJR0p2ZUdWeklDb3ZYSEpjYmlBZ2RHaHBjeTV6ZEhKbFlXMGdQU0J6ZEhKbFlXMGdmSHdnYm1WM0lFMTFiSFJwUW5WbVptVnlVM1J5WldGdEtDazdYSEpjYmlBZ0x5b2dRWEp5WVhrZ2IyWWdZV3hzSUdKdmVHVnpJQ2hwYmlCdmNtUmxjaWtnWm05MWJtUWdhVzRnZEdobElHWnBiR1VnS2k5Y2NseHVJQ0IwYUdsekxtSnZlR1Z6SUQwZ1cxMDdYSEpjYmlBZ0x5b2dRWEp5WVhrZ2IyWWdZV3hzSUcxa1lYUnpJQ292WEhKY2JpQWdkR2hwY3k1dFpHRjBjeUE5SUZ0ZE8xeHlYRzRnSUM4cUlFRnljbUY1SUc5bUlHRnNiQ0J0YjI5bWN5QXFMMXh5WEc0Z0lIUm9hWE11Ylc5dlpuTWdQU0JiWFR0Y2NseHVJQ0F2S2lCQ2IyOXNaV0Z1SUdsdVpHbGpZWFJwYm1jZ2FXWWdkR2hsSUdacGJHVWdhWE1nWTI5dGNHRjBhV0pzWlNCM2FYUm9JSEJ5YjJkeVpYTnphWFpsSUhCaGNuTnBibWNnS0cxdmIzWWdabWx5YzNRcElDb3ZYSEpjYmlBZ2RHaHBjeTVwYzFCeWIyZHlaWE56YVhabElEMGdabUZzYzJVN1hISmNiaUFnTHlvZ1FtOXZiR1ZoYmlCMWMyVmtJSFJ2SUdacGNtVWdiVzl2ZGlCemRHRnlkQ0JsZG1WdWRDQnZibXg1SUc5dVkyVWdLaTljY2x4dUlDQjBhR2x6TG0xdmIzWlRkR0Z5ZEVadmRXNWtJRDBnWm1Gc2MyVTdYSEpjYmlBZ0x5b2dRMkZzYkdKaFkyc2dZMkZzYkdWa0lIZG9aVzRnZEdobElHMXZiM1lnY0dGeWMybHVaeUJ6ZEdGeWRITWdLaTljY2x4dUlDQjBhR2x6TG05dVRXOXZkbE4wWVhKMElEMGdiblZzYkR0Y2NseHVJQ0F2S2lCQ2IyOXNaV0Z1SUd0bFpYQnBibWNnZEhKaFkyc2diMllnZEdobElHTmhiR3dnZEc4Z2IyNU5iMjkyVTNSaGNuUXNJSFJ2SUdGMmIybGtJR1J2ZFdKc1pTQmpZV3hzY3lBcUwxeHlYRzRnSUhSb2FYTXViVzl2ZGxOMFlYSjBVMlZ1ZENBOUlHWmhiSE5sTzF4eVhHNGdJQzhxSUVOaGJHeGlZV05ySUdOaGJHeGxaQ0IzYUdWdUlIUm9aU0J0YjI5MklHbHpJR1Z1ZEdseVpXeDVJSEJoY25ObFpDQXFMMXh5WEc0Z0lIUm9hWE11YjI1U1pXRmtlU0E5SUc1MWJHdzdYSEpjYmlBZ0x5b2dRbTl2YkdWaGJpQnJaV1Z3YVc1bklIUnlZV05ySUc5bUlIUm9aU0JqWVd4c0lIUnZJRzl1VW1WaFpIa3NJSFJ2SUdGMmIybGtJR1J2ZFdKc1pTQmpZV3hzY3lBcUwxeHlYRzRnSUhSb2FYTXVjbVZoWkhsVFpXNTBJRDBnWm1Gc2MyVTdYSEpjYmlBZ0x5b2dRMkZzYkdKaFkyc2dkRzhnWTJGc2JDQjNhR1Z1SUhObFoyMWxiblJ6SUdGeVpTQnlaV0ZrZVNBcUwxeHlYRzRnSUhSb2FYTXViMjVUWldkdFpXNTBJRDBnYm5Wc2JEdGNjbHh1SUNBdktpQkRZV3hzWW1GamF5QjBieUJqWVd4c0lIZG9aVzRnYzJGdGNHeGxjeUJoY21VZ2NtVmhaSGtnS2k5Y2NseHVJQ0IwYUdsekxtOXVVMkZ0Y0d4bGN5QTlJRzUxYkd3N1hISmNiaUFnTHlvZ1EyRnNiR0poWTJzZ2RHOGdZMkZzYkNCM2FHVnVJSFJvWlhKbElHbHpJR0Z1SUdWeWNtOXlJR2x1SUhSb1pTQndZWEp6YVc1bklHOXlJSEJ5YjJObGMzTnBibWNnYjJZZ2MyRnRjR3hsY3lBcUwxeHlYRzRnSUhSb2FYTXViMjVGY25KdmNpQTlJRzUxYkd3N1hISmNiaUFnTHlvZ1FtOXZiR1ZoYmlCcGJtUnBZMkYwYVc1bklHbG1JSFJvWlNCdGIyOTJJR0p2ZUNCeWRXNHRiR1Z1WjNSb0lHVnVZMjlrWldRZ2RHRmliR1Z6SUc5bUlITmhiWEJzWlNCcGJtWnZjbTFoZEdsdmJpQm9ZWFpsSUdKbFpXNGdjSEp2WTJWemMyVmtJQ292WEhKY2JpQWdkR2hwY3k1ellXMXdiR1ZNYVhOMFFuVnBiSFFnUFNCbVlXeHpaVHRjY2x4dUlDQXZLaUJCY25KaGVTQnZaaUJVY21GamF5QnZZbXBsWTNSeklHWnZjaUIzYUdsamFDQm1jbUZuYldWdWRHRjBhVzl1SUc5bUlITmhiWEJzWlhNZ2FYTWdjbVZ4ZFdWemRHVmtJQ292WEhKY2JpQWdkR2hwY3k1bWNtRm5iV1Z1ZEdWa1ZISmhZMnR6SUQwZ1cxMDdYSEpjYmlBZ0x5b2dRWEp5WVhrZ2IyWWdWSEpoWTJzZ2IySnFaV04wY3lCbWIzSWdkMmhwWTJnZ1pYaDBjbUZqZEdsdmJpQnZaaUJ6WVcxd2JHVnpJR2x6SUhKbGNYVmxjM1JsWkNBcUwxeHlYRzRnSUhSb2FYTXVaWGgwY21GamRHVmtWSEpoWTJ0eklEMGdXMTA3WEhKY2JpQWdMeW9nUW05dmJHVmhiaUJwYm1ScFkyRjBhVzVuSUhSb1lYUWdabkpoWjIxbGJuUnBiMjRnYVhNZ2NtVmhaSGtnS2k5Y2NseHVJQ0IwYUdsekxtbHpSbkpoWjIxbGJuUmhkR2x2YmtsdWFYUnBZV3hwZW1Wa0lEMGdabUZzYzJVN1hISmNiaUFnTHlvZ1FtOXZiR1ZoYmlCcGJtUnBZMkYwYVc1bklIUm9ZWFFnWm5KaFoyMWxiblJsWkNCb1lYTWdjM1JoY25SbFpDQXFMMXh5WEc0Z0lIUm9hWE11YzJGdGNHeGxVSEp2WTJWemMybHVaMU4wWVhKMFpXUWdQU0JtWVd4elpUdGNjbHh1SUNBdktpQk9kVzFpWlhJZ2IyWWdkR2hsSUc1bGVIUWdKMjF2YjJZbklIUnZJR2RsYm1WeVlYUmxJSGRvWlc0Z1puSmhaMjFsYm5ScGJtY2dLaTljY2x4dUlDQjBhR2x6TG01bGVIUk5iMjltVG5WdFltVnlJRDBnTUR0Y2NseHVJQ0F2S2lCQ2IyOXNaV0Z1SUdsdVpHbGpZWFJwYm1jZ2FXWWdkR2hsSUdsdWFYUnBZV3dnYkdsemRDQnZaaUJwZEdWdGN5Qm9ZWE1nWW1WbGJpQndjbTlrZFdObFpDQXFMMXh5WEc0Z0lIUm9hWE11YVhSbGJVeHBjM1JDZFdsc2RDQTlJR1poYkhObE8xeHlYRzRnSUM4cUlFTmhiR3hpWVdOcklHTmhiR3hsWkNCM2FHVnVJSFJvWlNCemFXUjRJR0p2ZUNCcGN5QmxiblJwY21Wc2VTQndZWEp6WldRZ0tpOWNjbHh1SUNCMGFHbHpMbTl1VTJsa2VDQTlJRzUxYkd3N1hISmNiaUFnTHlvZ1FtOXZiR1ZoYmlCclpXVndhVzVu
1SUhSeVlXTnJJRzltSUhSb1pTQmpZV3hzSUhSdklHOXVVMmxrZUN3Z2RHOGdZWFp2YVdRZ1pHOTFZbXhsSUdOaGJHeHpJQ292WEhKY2JpQWdkR2hwY3k1emFXUjRVMlZ1ZENBOUlHWmhiSE5sTzF4eVhHNTlPMXh5WEc1Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVjMlYwVTJWbmJXVnVkRTl3ZEdsdmJuTWdQU0JtZFc1amRHbHZiaWhwWkN3Z2RYTmxjaXdnYjNCMGFXOXVjeWtnZTF4eVhHNGdJSFpoY2lCMGNtRnJJRDBnZEdocGN5NW5aWFJVY21GamEwSjVTV1FvYVdRcE8xeHlYRzRnSUdsbUlDaDBjbUZyS1NCN1hISmNiaUFnSUNCMllYSWdabkpoWjFSeVlXTnJJRDBnZTMwN1hISmNiaUFnSUNCMGFHbHpMbVp5WVdkdFpXNTBaV1JVY21GamEzTXVjSFZ6YUNobWNtRm5WSEpoWTJzcE8xeHlYRzRnSUNBZ1puSmhaMVJ5WVdOckxtbGtJRDBnYVdRN1hISmNiaUFnSUNCbWNtRm5WSEpoWTJzdWRYTmxjaUE5SUhWelpYSTdYSEpjYmlBZ0lDQm1jbUZuVkhKaFkyc3VkSEpoYXlBOUlIUnlZV3M3WEhKY2JpQWdJQ0IwY21GckxtNWxlSFJUWVcxd2JHVWdQU0F3TzF4eVhHNGdJQ0FnWm5KaFoxUnlZV05yTG5ObFoyMWxiblJUZEhKbFlXMGdQU0J1ZFd4c08xeHlYRzRnSUNBZ1puSmhaMVJ5WVdOckxtNWlYM05oYlhCc1pYTWdQU0F4TURBd08xeHlYRzRnSUNBZ1puSmhaMVJ5WVdOckxuSmhjRUZzYVdkdVpXMWxiblFnUFNCMGNuVmxPMXh5WEc0Z0lDQWdhV1lnS0c5d2RHbHZibk1wSUh0Y2NseHVJQ0FnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVibUpUWVcxd2JHVnpLU0JtY21GblZISmhZMnN1Ym1KZmMyRnRjR3hsY3lBOUlHOXdkR2x2Ym5NdWJtSlRZVzF3YkdWek8xeHlYRzRnSUNBZ0lDQnBaaUFvYjNCMGFXOXVjeTV5WVhCQmJHbG5ibVZ0Wlc1MEtTQm1jbUZuVkhKaFkyc3VjbUZ3UVd4cFoyNWxiV1Z1ZENBOUlHOXdkR2x2Ym5NdWNtRndRV3hwWjI1bGJXVnVkRHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1MWJuTmxkRk5sWjIxbGJuUlBjSFJwYjI1eklEMGdablZ1WTNScGIyNG9hV1FwSUh0Y2NseHVJQ0IyWVhJZ2FXNWtaWGdnUFNBdE1UdGNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11Wm5KaFoyMWxiblJsWkZSeVlXTnJjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RtRnlJR1p5WVdkVWNtRmpheUE5SUhSb2FYTXVabkpoWjIxbGJuUmxaRlJ5WVdOcmMxdHBYVHRjY2x4dUlDQWdJR2xtSUNobWNtRm5WSEpoWTJzdWFXUWdQVDBnYVdRcElIdGNjbHh1SUNBZ0lDQWdhVzVrWlhnZ1BTQnBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMWNjbHh1SUNCcFppQW9hVzVrWlhnZ1BpQXRNU2tnZTF4eVhHNGdJQ0FnZEdocGN5NW1jbUZuYldWdWRHVmtWSEpoWTJ0ekxuTndiR2xqWlNocGJtUmxlQ3dnTVNrN1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVjMlYwUlhoMGNtRmpkR2x2Yms5d2RHbHZibk1nUFNCbWRXNWpkR2x2YmlocFpDd2dkWE5sY2l3Z2IzQjBhVzl1Y3lrZ2UxeHlYRzRnSUhaaGNpQjBjbUZySUQwZ2RHaHBjeTVuWlhSVWNtRmphMEo1U1dRb2FXUXBPMXh5WEc0Z0lHbG1JQ2gwY21GcktTQjdYSEpjYmlBZ0lDQjJZWElnWlhoMGNtRmpkRlJ5WVdOcklEMGdlMzA3WEhKY2JpQWdJQ0IwYUdsekxtVjRkSEpoWTNSbFpGUnlZV05yY3k1d2RYTm9LR1Y0ZEhKaFkzUlVjbUZqYXlrN1hISmNiaUFnSUNCbGVIUnlZV04wVkhKaFkyc3VhV1FnUFNCcFpEdGNjbHh1SUNBZ0lHVjRkSEpoWTNSVWNtRmpheTUxYzJWeUlEMGdkWE5sY2p0Y2NseHVJQ0FnSUdWNGRISmhZM1JVY21GamF5NTBjbUZySUQwZ2RISmhhenRjY2x4dUlDQWdJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTQTlJREE3WEhKY2JpQWdJQ0JsZUhSeVlXTjBWSEpoWTJzdWJtSmZjMkZ0Y0d4bGN5QTlJREV3TURBN1hISmNiaUFnSUNCbGVIUnlZV04wVkhKaFkyc3VjMkZ0Y0d4bGN5QTlJRnRkTzF4eVhHNGdJQ0FnYVdZZ0tHOXdkR2x2Ym5NcElIdGNjbHh1SUNBZ0lDQWdhV1lnS0c5d2RHbHZibk11Ym1KVFlXMXdiR1Z6S1NCbGVIUnlZV04wVkhKaFkyc3VibUpmYzJGdGNHeGxjeUE5SUc5d2RHbHZibk11Ym1KVFlXMXdiR1Z6TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExuVnVjMlYwUlhoMGNtRmpkR2x2Yms5d2RHbHZibk1nUFNCbWRXNWpkR2x2YmlocFpDa2dlMXh5WEc0Z0lIWmhjaUJwYm1SbGVDQTlJQzB4TzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NWxlSFJ5WVdOMFpXUlVjbUZqYTNNdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFpoY2lCbGVIUnlZV04wVkhKaFkyc2dQU0IwYUdsekxtVjRkSEpoWTNSbFpGUnlZV05yYzF0cFhUdGNjbHh1SUNBZ0lHbG1JQ2hsZUhSeVlXTjBWSEpoWTJzdWFXUWdQVDBnYVdRcElIdGNjbHh1SUNBZ0lDQWdhVzVrWlhnZ1BTQnBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lIMWNjbHh1SUNCcFppQW9hVzVrWlhnZ1BpQXRNU2tnZTF4eVhHNGdJQ0FnZEdocGN5NWxlSFJ5WVdOMFpXUlVjbUZqYTNNdWMzQnNhV05sS0dsdVpHVjRMQ0F4S1R0Y2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNUpVMDlHYVd4bExuQnliM1J2ZEhsd1pTNXdZWEp6WlNBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lIWmhjaUJtYjNWdVpEdGNjbHh1SUNCMllYSWdjbVYwTzF4eVhHNGdJSFpoY2lCaWIzZzdYSEpjYmlBZ2RtRnlJSEJoY25ObFFtOTRTR1ZoWkdWeWMwOXViSGtnUFNCbVlXeHpaVHRjY2x4dVhISmNiaUFnYVdZZ0tIUm9hWE11Y21WemRHOXlaVkJoY25ObFVHOXphWFJwYjI0cElIdGNjbHh1SUNBZ0lHbG1JQ2doZEdocGN5NXlaWE4wYjNKbFVHRnljMlZRYjNOcGRHbHZiaWdwS1NCN1hISmNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JseHlYRzRnSUhkb2FXeGxJQ2gwY25WbEtTQjdYSEpjYmx4eVhHNGdJQ0FnYVdZZ0tIUm9hWE11YUdGelNXNWpiMjF3YkdWMFpVMWtZWFFnSmlZZ2RHaHBjeTVvWVhOSmJtTnZiWEJzWlhSbFRXUmhkQ2dwS1NCN1hISmNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuQnliMk5sYzNOSmJtTnZiWEJzWlhSbFRXUmhkQ2dwS1NCN1hISmNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV6WVhabFVHRnljMlZRYjNOcGRHbHZiaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11YzJGMlpWQmhjbk5sVUc5emFYUnBiMjRvS1R0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQnlaWFFnUFNCQ2IzaFFZWEp6WlhJdWNHRnljMlZQYm1WQ2IzZ29kR2hwY3k1emRISmxZVzBzSUhCaGNuTmxRbTk0U0dWaFpHVnljMDl1YkhrcE8xeHlYRzRnSUNBZ0lDQnBaaUFvY21WMExtTnZaR1VnUFQwOUlFSnZlRkJoY25ObGNpNUZVbEpmVGs5VVgwVk9UMVZIU0Y5RVFWUkJLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNISnZZMlZ6YzBsdVkyOXRjR3hsZEdWQ2IzZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuQnliMk5sYzNOSmJtTnZiWEJzWlhSbFFtOTRLSEpsZENrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hISmNiaUFnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0p2ZUY5MGVYQmxPMXh5WEc0Z0lDQWdJQ0FnSUM4cUlIUm9aU0JpYjNnZ2FYTWdaVzUwYVhKbGJIa2djR0Z5YzJWa0lDb3ZYSEpjYmlBZ0lDQWdJQ0FnWW05NElEMGdjbVYwTG1KdmVEdGNjbHh1SUNBZ0lDQWdJQ0JpYjNoZmRIbHdaU0E5SUNoaWIzZ3VkSGx3WlNBaFBUMGdYQ0oxZFdsa1hDSWdQeUJpYjNndWRIbHdaU0E2SUdKdmVDNTFkV2xrS1R0Y2NseHVJQ0FnSUNBZ0lDQXZLaUJ6ZEc5eVpTQjBhR1VnWW05NElHbHVJSFJvWlNBblltOTRaWE1uSUdGeWNtRjVJSFJ2SUhCeVpYTmxjblpsSUdKdmVDQnZjbVJsY2lBb1ptOXlJR1pwYkdVZ2NtVjNjbWwwWlNCcFppQnVaV1ZrWldRcElDQXFMMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZbTk0WlhNdWNIVn
1phQ2hpYjNncE8xeHlYRzRnSUNBZ0lDQWdJQzhxSUdKMWRDQmhiSE52SUhOMGIzSmxJR0p2ZUNCcGJpQmhJSEJ5YjNCbGNuUjVJR1p2Y2lCdGIzSmxJR1JwY21WamRDQmhZMk5sYzNNZ0tpOWNjbHh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLR0p2ZUY5MGVYQmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWJXUmhkRndpT2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtMWtZWFJ6TG5CMWMyZ29ZbTk0S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpYlc5dlpsd2lPbHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG0xdmIyWnpMbkIxYzJnb1ltOTRLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2liVzl2ZGx3aU9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTF2YjNaVGRHRnlkRVp2ZFc1a0lEMGdkSEoxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YldSaGRITXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYzFCeWIyZHlaWE56YVhabElEMGdkSEoxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdMeW9nYm04Z1luSmxZV3NnS2k5Y2NseHVJQ0FnSUNBZ0lDQWdJQzhxSUdaaGJHeHpJSFJvY205MVoyZ2dLaTljY2x4dUlDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6VzJKdmVGOTBlWEJsWFNBaFBUMGdkVzVrWldacGJtVmtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnVEc5bkxuZGhjbTRvWENKSlUwOUdhV3hsWENJc0lGd2lSSFZ3YkdsallYUmxJRUp2ZUNCdlppQjBlWEJsT2lCY0lpQXJJR0p2ZUY5MGVYQmxJQ3NnWENJc0lHOTJaWEp5YVdScGJtY2djSEpsZG1sdmRYTWdiMk5qZFhKeVpXNWpaVndpS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdselcySnZlRjkwZVhCbFhTQTlJR0p2ZUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuVndaR0YwWlZWelpXUkNlWFJsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NTFjR1JoZEdWVmMyVmtRbmwwWlhNb1ltOTRMQ0J5WlhRcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExtTm9aV05yUW5WbVptVnlJRDBnWm5WdVkzUnBiMjRvWVdJcElIdGNjbHh1SUNCcFppQW9ZV0lnUFQwOUlHNTFiR3dnZkh3Z1lXSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHlYRzRnSUNBZ2RHaHliM2NnS0Z3aVFuVm1abVZ5SUcxMWMzUWdZbVVnWkdWbWFXNWxaQ0JoYm1RZ2JtOXVJR1Z0Y0hSNVhDSXBPMXh5WEc0Z0lIMWNjbHh1SUNCcFppQW9ZV0l1Wm1sc1pWTjBZWEowSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJSFJvY205M0lDaGNJa0oxWm1abGNpQnRkWE4wSUdoaGRtVWdZU0JtYVd4bFUzUmhjblFnY0hKdmNHVnlkSGxjSWlrN1hISmNiaUFnZlZ4eVhHNGdJR2xtSUNoaFlpNWllWFJsVEdWdVozUm9JRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQk1iMmN1ZDJGeWJpaGNJa2xUVDBacGJHVmNJaXdnWENKSloyNXZjbWx1WnlCbGJYQjBlU0JpZFdabVpYSWdLR1pwYkdWVGRHRnlkRG9nWENJZ0t5QmhZaTVtYVd4bFUzUmhjblFnS3lCY0lpbGNJaWs3WEhKY2JpQWdJQ0IwYUdsekxuTjBjbVZoYlM1c2IyZENkV1ptWlhKTVpYWmxiQ2dwTzF4eVhHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUgxY2NseHVJQ0JNYjJjdWFXNW1ieWhjSWtsVFQwWnBiR1ZjSWl3Z1hDSlFjbTlqWlhOemFXNW5JR0oxWm1abGNpQW9abWxzWlZOMFlYSjBPaUJjSWlBcklHRmlMbVpwYkdWVGRHRnlkQ0FySUZ3aUtWd2lLVHRjY2x4dVhISmNiaUFnTHlvZ2JXRnlheUIwYUdVZ1lubDBaWE1nYVc0Z2RHaGxJR0oxWm1abGNpQmhjeUJ1YjNRZ1ltVnBibWNnZFhObFpDQjVaWFFnS2k5Y2NseHVJQ0JoWWk1MWMyVmtRbmwwWlhNZ1BTQXdPMXh5WEc0Z0lIUm9hWE11YzNSeVpXRnRMbWx1YzJWeWRFSjFabVpsY2loaFlpazdYSEpjYmlBZ2RHaHBjeTV6ZEhKbFlXMHViRzluUW5WbVptVnlUR1YyWld3b0tUdGNjbHh1WEhKY2JpQWdhV1lnS0NGMGFHbHpMbk4wY21WaGJTNXBibWwwYVdGc2FYcGxaQ2dwS1NCN1hISmNiaUFnSUNCTWIyY3VkMkZ5YmloY0lrbFRUMFpwYkdWY0lpd2dYQ0pPYjNRZ2NtVmhaSGtnZEc4Z2MzUmhjblFnY0dGeWMybHVaMXdpS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNCOVhISmNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hISmNibjA3WEhKY2JseHlYRzR2S2lCUWNtOWpaWE56WlhNZ1lTQnVaWGNnUVhKeVlYbENkV1ptWlhJZ0tIZHBkR2dnWVNCbWFXeGxVM1JoY25RZ2NISnZjR1Z5ZEhrcFhISmNiaUFnSUZKbGRIVnlibk1nZEdobElHNWxlSFFnWlhod1pXTjBaV1FnWm1sc1pTQndiM05wZEdsdmJpd2diM0lnZFc1a1pXWnBibVZrSUdsbUlHNXZkQ0J5WldGa2VTQjBieUJ3WVhKelpTQXFMMXh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1aGNIQmxibVJDZFdabVpYSWdQU0JtZFc1amRHbHZiaWhoWWl3Z2JHRnpkQ2tnZTF4eVhHNGdJSFpoY2lCdVpYaDBSbWxzWlZOMFlYSjBPMXh5WEc0Z0lHbG1JQ2doZEdocGN5NWphR1ZqYTBKMVptWmxjaWhoWWlrcElIdGNjbHh1SUNBZ0lISmxkSFZ5Ymp0Y2NseHVJQ0I5WEhKY2JseHlYRzRnSUM4cUlGQmhjbk5sSUhkb1lYUmxkbVZ5SUdseklHbHVJSFJvWlNCbGVHbHpkR2x1WnlCaWRXWm1aWEp6SUNvdlhISmNiaUFnZEdocGN5NXdZWEp6WlNncE8xeHlYRzVjY2x4dUlDQXZLaUJEYUdWamF5QnBaaUIwYUdVZ2JXOXZkbE4wWVhKMElHTmhiR3hpWVdOcklHNWxaV1J6SUhSdklHSmxJR05oYkd4bFpDQXFMMXh5WEc0Z0lHbG1JQ2gwYUdsekxtMXZiM1pUZEdGeWRFWnZkVzVrSUNZbUlDRjBhR2x6TG0xdmIzWlRkR0Z5ZEZObGJuUXBJSHRjY2x4dUlDQWdJSFJvYVhNdWJXOXZkbE4wWVhKMFUyVnVkQ0E5SUhSeWRXVTdYSEpjYmlBZ0lDQnBaaUFvZEdocGN5NXZiazF2YjNaVGRHRnlkQ2tnZEdocGN5NXZiazF2YjNaVGRHRnlkQ2dwTzF4eVhHNGdJSDFjY2x4dVhISmNiaUFnYVdZZ0tIUm9hWE11Ylc5dmRpa2dlMXh5WEc0Z0lDQWdMeW9nUVNCdGIyOTJJR0p2ZUNCb1lYTWdZbVZsYmlCbGJuUnBjbVZzZVNCd1lYSnpaV1FnS2k5Y2NseHVYSEpjYmlBZ0lDQXZLaUJwWmlCMGFHbHpJR2x6SUhSb1pTQm1hWEp6ZENCallXeHNJR0ZtZEdWeUlIUm9aU0J0YjI5MklHbHpJR1p2ZFc1a0lIZGxJR2x1YVhScFlXeHBlbVVnZEdobElHeHBjM1FnYjJZZ2MyRnRjR3hsY3lBb2JXRjVJR0psSUdWdGNIUjVJR2x1SUdaeVlXZHRaVzUwWldRZ1ptbHNaWE1wSUNvdlhISmNiaU
1FnSUNCcFppQW9JWFJvYVhNdWMyRnRjR3hsVEdsemRFSjFhV3gwS1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11WW5WcGJHUlRZVzF3YkdWTWFYTjBjeWdwTzF4eVhHNGdJQ0FnSUNCMGFHbHpMbk5oYlhCc1pVeHBjM1JDZFdsc2RDQTlJSFJ5ZFdVN1hISmNiaUFnSUNCOVhISmNibHh5WEc0Z0lDQWdMeW9nVjJVZ2RYQmtZWFJsSUhSb1pTQnpZVzF3YkdVZ2FXNW1iM0p0WVhScGIyNGdhV1lnZEdobGNtVWdZWEpsSUdGdWVTQnVaWGNnYlc5dlppQmliM2hsY3lBcUwxeHlYRzRnSUNBZ2RHaHBjeTUxY0dSaGRHVlRZVzF3YkdWTWFYTjBjeWdwTzF4eVhHNWNjbHh1SUNBZ0lDOHFJRWxtSUhSb1pTQmhjSEJzYVdOaGRHbHZiaUJ1WldWa2N5QjBieUJpWlNCcGJtWnZjbTFsWkNCMGFHRjBJSFJvWlNBbmJXOXZkaWNnYUdGeklHSmxaVzRnWm05MWJtUXNYSEpjYmx4MFhIUWdJQ0IzWlNCamNtVmhkR1VnZEdobElHbHVabTl5YldGMGFXOXVJRzlpYW1WamRDQmhibVFnWTJGc2JHSmhZMnNnZEdobElHRndjR3hwWTJGMGFXOXVJQ292WEhKY2JpQWdJQ0JwWmlBb2RHaHBjeTV2YmxKbFlXUjVJQ1ltSUNGMGFHbHpMbkpsWVdSNVUyVnVkQ2tnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbkpsWVdSNVUyVnVkQ0E5SUhSeWRXVTdYSEpjYmlBZ0lDQWdJSFJvYVhNdWIyNVNaV0ZrZVNoMGFHbHpMbWRsZEVsdVptOG9LU2s3WEhKY2JpQWdJQ0I5WEhKY2JseHlYRzRnSUNBZ0x5b2dVMlZsSUdsbUlHRnVlU0J6WVcxd2JHVWdaWGgwY21GamRHbHZiaUJ2Y2lCelpXZHRaVzUwSUdOeVpXRjBhVzl1SUc1bFpXUnpJSFJ2SUdKbElHUnZibVVnZDJsMGFDQjBhR1VnWVhaaGFXeGhZbXhsSUhOaGJYQnNaWE1nS2k5Y2NseHVJQ0FnSUhSb2FYTXVjSEp2WTJWemMxTmhiWEJzWlhNb2JHRnpkQ2s3WEhKY2JseHlYRzRnSUNBZ0x5b2dTVzVtYjNKdElHRmliM1YwSUhSb1pTQmlaWE4wSUhKaGJtZGxJSFJ2SUdabGRHTm9JRzVsZUhRZ0tpOWNjbHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxlSFJUWldWclVHOXphWFJwYjI0cElIdGNjbHh1SUNBZ0lDQWdibVY0ZEVacGJHVlRkR0Z5ZENBOUlIUm9hWE11Ym1WNGRGTmxaV3RRYjNOcGRHbHZianRjY2x4dUlDQWdJQ0FnZEdocGN5NXVaWGgwVTJWbGExQnZjMmwwYVc5dUlEMGdkVzVrWldacGJtVmtPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdibVY0ZEVacGJHVlRkR0Z5ZENBOUlIUm9hWE11Ym1WNGRGQmhjbk5sVUc5emFYUnBiMjQ3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JwWmlBb2RHaHBjeTV6ZEhKbFlXMHVaMlYwUlc1a1JtbHNaVkJ2YzJsMGFXOXVRV1owWlhJcElIdGNjbHh1SUNBZ0lDQWdibVY0ZEVacGJHVlRkR0Z5ZENBOUlIUm9hWE11YzNSeVpXRnRMbWRsZEVWdVpFWnBiR1ZRYjNOcGRHbHZia0ZtZEdWeUtHNWxlSFJHYVd4bFUzUmhjblFwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQnBaaUFvZEdocGN5NXVaWGgwVUdGeWMyVlFiM05wZEdsdmJpa2dlMXh5WEc0Z0lDQWdJQ0F2S2lCdGIyOTJJR2hoY3lCdWIzUWdZbVZsYmlCd1lYSnpaV1FnWW5WMElIUm9aU0JtYVhKemRDQmlkV1ptWlhJZ2QyRnpJSEpsWTJWcGRtVmtMRnh5WEc1Y2RGeDBYSFFnSUNCMGFHVWdibVY0ZENCbVpYUmphQ0J6YUc5MWJHUWdjSEp2WW1GaWJIa2dZbVVnZEdobElHNWxlSFFnWW05NElITjBZWEowSUNvdlhISmNiaUFnSUNBZ0lHNWxlSFJHYVd4bFUzUmhjblFnUFNCMGFHbHpMbTVsZUhSUVlYSnpaVkJ2YzJsMGFXOXVPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdMeW9nVG04Z2RtRnNhV1FnWW5WbVptVnlJR2hoY3lCaVpXVnVJSEJoY25ObFpDQjVaWFFzSUhkbElHTmhibTV2ZENCcmJtOTNJSGRvWVhRZ2RHOGdjR0Z5YzJVZ2JtVjRkQ0FxTDF4eVhHNGdJQ0FnSUNCdVpYaDBSbWxzWlZOMFlYSjBJRDBnTUR0Y2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JpQWdhV1lnS0hSb2FYTXVjMmxrZUNrZ2UxeHlYRzRnSUNBZ2FXWWdLSFJvYVhNdWIyNVRhV1I0SUNZbUlDRjBhR2x6TG5OcFpIaFRaVzUwS1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11YjI1VGFXUjRLSFJvYVhNdWMybGtlQ2s3WEhKY2JpQWdJQ0FnSUhSb2FYTXVjMmxrZUZObGJuUWdQU0IwY25WbE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2RHaHBjeTV0WlhSaEtTQjdYSEpjYmlBZ0lDQnBaaUFvZEdocGN5NW1iR0YwZEdWdVNYUmxiVWx1Wm04Z0ppWWdJWFJvYVhNdWFYUmxiVXhwYzNSQ2RXbHNkQ2tnZTF4eVhHNGdJQ0FnSUNCMGFHbHpMbVpzWVhSMFpXNUpkR1Z0U1c1bWJ5Z3BPMXh5WEc0Z0lDQWdJQ0IwYUdsekxtbDBaVzFNYVhOMFFuVnBiSFFnUFNCMGNuVmxPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVjSEp2WTJWemMwbDBaVzF6S1NCN1hISmNiaUFnSUNBZ0lIUm9hWE11Y0hKdlkyVnpjMGwwWlcxektIUm9hWE11YjI1SmRHVnRLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmx4eVhHNGdJR2xtSUNoMGFHbHpMbk4wY21WaGJTNWpiR1ZoYmtKMVptWmxjbk1wSUh0Y2NseHVJQ0FnSUV4dlp5NXBibVp2S0Z3aVNWTlBSbWxzWlZ3aUxDQmNJa1J2Ym1VZ2NISnZZMlZ6YzJsdVp5QmlkV1ptWlhJZ0tHWnBiR1ZUZEdGeWREb2dYQ0lnS3lCaFlpNW1hV3hsVTNSaGNuUWdLeUJjSWlrZ0xTQnVaWGgwSUdKMVptWmxjaUIwYnlCbVpYUmphQ0J6YUc5MWJHUWdhR0YyWlNCaElHWnBiR1ZUZEdGeWRDQndiM05wZEdsdmJpQnZaaUJjSWlBcklHNWxlSFJHYVd4bFUzUmhjblFwTzF4eVhHNGdJQ0FnZEdocGN5NXpkSEpsWVcwdWJHOW5RblZtWm1WeVRHVjJaV3dvS1R0Y2NseHVJQ0FnSUhSb2FYTXVjM1J5WldGdExtTnNaV0Z1UW5WbVptVnljeWdwTzF4eVhHNGdJQ0FnZEdocGN5NXpkSEpsWVcwdWJHOW5RblZtWm1WeVRHVjJaV3dvZEhKMVpTazdYSEpjYmlBZ0lDQk1iMmN1YVc1bWJ5aGNJa2xUVDBacGJHVmNJaXdnWENKVFlXMXdiR1VnWkdGMFlTQnphWHBsSUdsdUlHMWxiVzl5ZVRvZ1hDSWdLeUIwYUdsekxtZGxkRUZzYkc5allYUmxaRk5oYlhCc1pVUmhkR0ZUYVhwbEtDa3BPMXh5WEc0Z0lIMWNjbHh1SUNCeVpYUjFjbTRnYm1WNGRFWnBiR1ZUZEdGeWREdGNjbHh1ZlR0Y2NseHVYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1kbGRFbHVabThnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCMllYSWdhU3dnYWp0Y2NseHVJQ0IyWVhJZ2JXOTJhV1VnUFNCN2ZUdGNjbHh1SUNCMllYSWdkSEpoYXp0Y2NseHVJQ0IyWVhJZ2RISmhZMnM3WEhKY2JpQWdkbUZ5SUhKbFpqdGNjbHh1SUNCMllYSWdjMkZ0Y0d4bFgyUmxjMk03WEhKY2JpQWdkbUZ5SUY4eE9UQTBJRDBnS0c1bGR5QkVZWFJsS0Z3aU1Ua3dOQzB3TVMwd01WUXdNRG93TURvd01GcGNJaWt1WjJWMFZHbHRaU2dwS1R0Y2NseHVYSEpjYmlBZ2FXWWdLSFJvYVhNdWJXOXZkaWtnZTF4eVhHNGdJQ0FnYlc5MmFXVXVhR0Z6VFc5dmRpQTlJSFJ5ZFdVN1hISmNiaUFnSUNCdGIzWnBaUzVrZFhKaGRHbHZiaUE5SUhSb2FYTXViVzl2ZGk1dGRtaGtMbVIxY21GMGFXOXVPMXh5WEc0Z0lDQWdiVzkyYVdVdWRHbHRaWE5qWVd4bElEMGdkR2hwY3k1dGIyOTJMbTEyYUdRdWRHbHRaWE5qWVd4bE8xeHlYRzRnSUNBZ2JXOTJhV1V1YVhOR2NtRm5iV1Z1ZEdWa0lEMGdLSFJvYVhNdWJXOXZkaTV0ZG1WNElDRTlJRzUxYkd3cE8xeHlYRzRnSUNBZ2FXWWdLRzF2ZG1sbExtbHpSbkpoWjIxbGJuUmxaQ0FtSmlCMGFHbHpMbTF2YjNZdWJYWmxlQzV0Wldoa0tTQjdYSEpjYmlBZ0lDQWdJRzF2ZG1sbExtWnlZV2R0Wlc1MFgyUjFjbUYwYVc5dUlEMGdkR2hwY3k1dGIyOTJMbTEyWlhndWJXVm9aQzVtY21GbmJXVnVkRjlrZFhKaGRHbHZianRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRzF2ZG1sbExtbHpVSEp2WjNKbGMzTnBkbVVnUFNCMGFHbHpMbWx6VUhKdlozSmxjM05wZG1VN1hISmNiaUFnSUNCdGIzWnBaUzVvWVhOSlQwUWdQU0FvZEdocGN5NXRiMjkyTG1sdlpITWdJVDBnYm5Wc2JDazdYSEpjYmlBZ0lDQnRiM1pwWlM1aWNtRnVaSE1nUFNCYlhUdGNjbHh1SUNBZ0lHMXZkbWxsTG1KeVlXNWtjeTV3ZFhOb0tIUm9hWE11Wm5SNWNDNXRZV3B2Y2w5aWNtRnVaQ2s3WEhKY2JpQWdJQ0J0YjNacFpTNWljbUZ1WkhNZ1BTQnRiM1pwWlM1aWNtRnVaSE11WTI5dVkyRjBLSFJvYVhNdVpuUjVjQzVqYjIxd1lYUnBZbXhsWDJKeVlXNWtjeWs3WEhKY2JpQWdJQ0J0YjNacFpTNWpjbVZoZEdWa0lEMGdibVYzSUVSaGRHVW9YekU1TURRZ0t5QjBhR2x6TG0xdmIzWXViWFpvWkM1amNtVmhkR2x2Ymw5MGFXMWxJQ29nTVRBd01DazdYSEpjYmlBZ0lDQnRiM1pwWlM1dGIyUnBabWxsWkNBOUlHNWxkeUJFWVhSbEtGOHhPVEEwSUNzZ2RHaHBjeTV0YjI5MkxtMTJhR1F1Ylc5a2FXWnBZMkYwYVc5dVgzUnBiV1VnS2lBeE1EQXdLVHRjY2x4dUlDQWdJRzF2ZG1sbExuUnlZV05yY3lBOUlGdGRPMXh5WEc0Z0lDQWdiVzkyYVdVdVlYVmthVzlVY21GamEzTWdQU0JiWFR0Y2NseHVJQ0FnSUcxdmRtbGxMblpwWkdWdlZISmhZMnR6SUQwZ1cxMDdYSEpjYmlBZ0lDQnRiM1pwWlM1emRXSjBhWFJzWlZSeVlXTnJjeUE5SUZ0ZE8xeHlYRzRnSUNBZ2JXOTJhV1V1YldWMFlXUmhkR0ZVY21GamEzTWdQU0JiWFR0Y2NseHVJQ0FnSUcxdmRtbGxMbWhwYm5SVWNtRmphM01nUFNCYlhUdGNjbHh1SUNBZ0lHMXZkbWxsTG05MGFHVnlWSEpoWTJ0eklEMGdXMTA3WEhKY2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1dGIyOTJMblJ5WVd0ekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUhSeVlXc2dQU0IwYUdsekxtMXZiM1l1ZEhKaGEzTmJhVjA3WEhKY2JpQWdJQ0FnSUhOaGJYQnNaVjlrWlhOaklEMGdkSEpoYXk1dFpHbGhMbTFwYm1ZdWMzUmliQzV6ZEhOa0xtVnVkSEpwWlhOYk1GMDdYSEpjYmlBZ0lDQWdJSFJ5WVdOcklEMGdlMzA3WEhKY2JpQWdJQ0FnSUcxdmRtbGxMblJ5WVdOcmN5NXdkWE5vS0hSeVlXTnJLVHRjY2x4dUlDQWdJQ0FnZEhKaFkyc3VhV1FnUFNCMGNtRnJMblJyYUdRdWRISmhZMnRmYVdRN1hISmNiaUFnSUNBZ0lIUnlZV05yTG01aGJXVWdQU0IwY21GckxtMWthV0V1YUdSc2NpNXVZVzFsTzF4eVhHNGdJQ0FnSUNCMGNtRmpheTV5WldabGNtVnVZMlZ6SUQwZ1cxMDdYSEpjYmlBZ0lDQWdJR2xtSUNo
1MGNtRnJMblJ5WldZcElIdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tHb2dQU0F3T3lCcUlEd2dkSEpoYXk1MGNtVm1MbUp2ZUdWekxteGxibWQwYURzZ2Fpc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQnlaV1lnUFNCN2ZUdGNjbHh1SUNBZ0lDQWdJQ0FnSUhSeVlXTnJMbkpsWm1WeVpXNWpaWE11Y0hWemFDaHlaV1lwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdjbVZtTG5SNWNHVWdQU0IwY21GckxuUnlaV1l1WW05NFpYTmJhbDB1ZEhsd1pUdGNjbHh1SUNBZ0lDQWdJQ0FnSUhKbFppNTBjbUZqYTE5cFpITWdQU0IwY21GckxuUnlaV1l1WW05NFpYTmJhbDB1ZEhKaFkydGZhV1J6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0JwWmlBb2RISmhheTVsWkhSektTQjdYSEpjYmlBZ0lDQWdJQ0FnZEhKaFkyc3VaV1JwZEhNZ1BTQjBjbUZyTG1Wa2RITXVaV3h6ZEM1bGJuUnlhV1Z6TzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lIUnlZV05yTG1OeVpXRjBaV1FnUFNCdVpYY2dSR0YwWlNoZk1Ua3dOQ0FySUhSeVlXc3VkR3RvWkM1amNtVmhkR2x2Ymw5MGFXMWxJQ29nTVRBd01DazdYSEpjYmlBZ0lDQWdJSFJ5WVdOckxtMXZaR2xtYVdWa0lEMGdibVYzSUVSaGRHVW9YekU1TURRZ0t5QjBjbUZyTG5ScmFHUXViVzlrYVdacFkyRjBhVzl1WDNScGJXVWdLaUF4TURBd0tUdGNjbHh1SUNBZ0lDQWdkSEpoWTJzdWJXOTJhV1ZmWkhWeVlYUnBiMjRnUFNCMGNtRnJMblJyYUdRdVpIVnlZWFJwYjI0N1hISmNiaUFnSUNBZ0lIUnlZV05yTG0xdmRtbGxYM1JwYldWelkyRnNaU0E5SUcxdmRtbGxMblJwYldWelkyRnNaVHRjY2x4dUlDQWdJQ0FnZEhKaFkyc3ViR0Y1WlhJZ1BTQjBjbUZyTG5ScmFHUXViR0Y1WlhJN1hISmNiaUFnSUNBZ0lIUnlZV05yTG1Gc2RHVnlibUYwWlY5bmNtOTFjQ0E5SUhSeVlXc3VkR3RvWkM1aGJIUmxjbTVoZEdWZlozSnZkWEE3WEhKY2JpQWdJQ0FnSUhSeVlXTnJMblp2YkhWdFpTQTlJSFJ5WVdzdWRHdG9aQzUyYjJ4MWJXVTdYSEpjYmlBZ0lDQWdJSFJ5WVdOckxtMWhkSEpwZUNBOUlIUnlZV3N1ZEd0b1pDNXRZWFJ5YVhnN1hISmNiaUFnSUNBZ0lIUnlZV05yTG5SeVlXTnJYM2RwWkhSb0lEMGdkSEpoYXk1MGEyaGtMbmRwWkhSb0lDOGdLREVnUER3Z01UWXBPMXh5WEc0Z0lDQWdJQ0IwY21GamF5NTBjbUZqYTE5b1pXbG5hSFFnUFNCMGNtRnJMblJyYUdRdWFHVnBaMmgwSUM4Z0tERWdQRHdnTVRZcE8xeHlYRzRnSUNBZ0lDQjBjbUZqYXk1MGFXMWxjMk5oYkdVZ1BTQjBjbUZyTG0xa2FXRXViV1JvWkM1MGFXMWxjMk5oYkdVN1hISmNiaUFnSUNBZ0lIUnlZV05yTG1OMGMxOXphR2xtZENBOUlIUnlZV3N1YldScFlTNXRhVzVtTG5OMFltd3VZM05zWnp0Y2NseHVJQ0FnSUNBZ2RISmhZMnN1WkhWeVlYUnBiMjRnUFNCMGNtRnJMbTFrYVdFdWJXUm9aQzVrZFhKaGRHbHZianRjY2x4dUlDQWdJQ0FnZEhKaFkyc3VjMkZ0Y0d4bGMxOWtkWEpoZEdsdmJpQTlJSFJ5WVdzdWMyRnRjR3hsYzE5a2RYSmhkR2x2Ymp0Y2NseHVJQ0FnSUNBZ2RISmhZMnN1WTI5a1pXTWdQU0J6WVcxd2JHVmZaR1Z6WXk1blpYUkRiMlJsWXlncE8xeHlYRzRnSUNBZ0lDQjBjbUZqYXk1cmFXNWtJRDBnS0hSeVlXc3VkV1IwWVNBbUppQjBjbUZyTG5Wa2RHRXVhMmx1WkhNdWJHVnVaM1JvSUQ4Z2RISmhheTUxWkhSaExtdHBibVJ6V3pCZElEb2dleUJ6WTJobGJXVlZVa2s2SUZ3aVhDSXNJSFpoYkhWbE9pQmNJbHdpSUgwcE8xeHlYRzRnSUNBZ0lDQjBjbUZqYXk1c1lXNW5kV0ZuWlNBOUlDaDBjbUZyTG0xa2FXRXVaV3h1WnlBL0lIUnlZV3N1YldScFlTNWxiRzVuTG1WNGRHVnVaR1ZrWDJ4aGJtZDFZV2RsSURvZ2RISmhheTV0WkdsaExtMWthR1F1YkdGdVozVmhaMlZUZEhKcGJtY3BPMXh5WEc0Z0lDQWdJQ0IwY21GamF5NXVZbDl6WVcxd2JHVnpJRDBnZEhKaGF5NXpZVzF3YkdWekxteGxibWQwYUR0Y2NseHVJQ0FnSUNBZ2RISmhZMnN1YzJsNlpTQTlJSFJ5WVdzdWMyRnRjR3hsYzE5emFYcGxPMXh5WEc0Z0lDQWdJQ0IwY21GamF5NWlhWFJ5WVhSbElEMGdLSFJ5WVdOckxuTnBlbVVnS2lBNElDb2dkSEpoWTJzdWRHbHRaWE5qWVd4bEtTQXZJSFJ5WVdOckxuTmhiWEJzWlhOZlpIVnlZWFJwYjI0N1hISmNiaUFnSUNBZ0lHbG1JQ2h6WVcxd2JHVmZaR1Z6WXk1cGMwRjFaR2x2S0NrcElIdGNjbHh1SUNBZ0lDQWdJQ0IwY21GamF5NTBlWEJsSUQwZ1hDSmhkV1JwYjF3aU8xeHlYRzRnSUNBZ0lDQWdJRzF2ZG1sbExtRjFaR2x2VkhKaFkydHpMbkIxYzJnb2RISmhZMnNwTzF4eVhHNGdJQ0FnSUNBZ0lIUnlZV05yTG1GMVpHbHZJRDBnZTMwN1hISmNiaUFnSUNBZ0lDQWdkSEpoWTJzdVlYVmthVzh1YzJGdGNHeGxYM0poZEdVZ1BTQnpZVzF3YkdWZlpHVnpZeTVuWlhSVFlXMXdiR1ZTWVhSbEtDazdYSEpjYmlBZ0lDQWdJQ0FnZEhKaFkyc3VZWFZrYVc4dVkyaGhibTVsYkY5amIzVnVkQ0E5SUhOaGJYQnNaVjlrWlhOakxtZGxkRU5vWVc1dVpXeERiM1Z1ZENncE8xeHlYRzRnSUNBZ0lDQWdJSFJ5WVdOckxtRjFaR2x2TG5OaGJYQnNaVjl6YVhwbElEMGdjMkZ0Y0d4bFgyUmxjMk11WjJWMFUyRnRjR3hsVTJsNlpTZ3BPMXh5WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hOaGJYQnNaVjlrWlhOakxtbHpWbWxrWlc4b0tTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSeVlXTnJMblI1Y0dVZ1BTQmNJblpwWkdWdlhDSTdYSEpjYmlBZ0lDQWdJQ0FnYlc5MmFXVXVkbWxrWlc5VWNtRmphM011Y0hWemFDaDBjbUZqYXlrN1hISmNiaUFnSUNBZ0lDQWdkSEpoWTJzdWRtbGtaVzhnUFNCN2ZUdGNjbHh1SUNBZ0lDQWdJQ0IwY21GamF5NTJhV1JsYnk1M2FXUjBhQ0E5SUhOaGJYQnNaVjlrWlhOakxtZGxkRmRwWkhSb0tDazdYSEpjYmlBZ0lDQWdJQ0FnZEhKaFkyc3VkbWxrWlc4dWFHVnBaMmgwSUQwZ2MyRnRjR3hsWDJSbGMyTXVaMlYwU0dWcFoyaDBLQ2s3WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MyRnRjR3hsWDJSbGMyTXVhWE5UZFdKMGFYUnNaU2dwS1NCN1hISmNiaUFnSUNBZ0lDQWdkSEpoWTJzdWRIbHdaU0E5SUZ3aWMzVmlkR2wwYkdWelhDSTdYSEpjYmlBZ0lDQWdJQ0FnYlc5MmFXVXVjM1ZpZEdsMGJHVlVjbUZqYTNNdWNIVnphQ2gwY21GamF5azdYSEpjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvYzJGdGNHeGxYMlJsYzJNdWFYTklhVzUwS0NrcElIdGNjbHh1SUNBZ0lDQWdJQ0IwY21GamF5NTBlWEJsSUQwZ1hDSnRaWFJoWkdGMFlWd2lPMXh5WEc0Z0lDQWdJQ0FnSUcxdmRtbGxMbWhwYm5SVWNtRmphM011Y0hWemFDaDBjbUZqYXlrN1hISmNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jMkZ0Y0d4bFgyUmxjMk11YVhOTlpYUmhaR0YwWVNncEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEhKaFkyc3VkSGx3WlNBOUlGd2liV1YwWVdSaGRHRmNJanRjY2x4dUlDQWdJQ0FnSUNCdGIzWnBaUzV0WlhSaFpHRjBZVlJ5WVdOcmN5NXdkWE5vS0hSeVlXTnJLVHRjY2x4dUlDQWdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNCMGNtRmpheTUwZVhCbElEMGdYQ0p0WlhSaFpHRjBZVndpTzF4eVhHNGdJQ0FnSUNBZ0lHMXZkbWxsTG05MGFHVnlWSEpoWTJ0ekxuQjFjMmdvZEhKaFkyc3BPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lHMXZkbWxsTG1oaGMwMXZiM1lnUFNCbVlXeHpaVHRjY2x4dUlDQjlYSEpjYmlBZ2JXOTJhV1V1YldsdFpTQTlJRndpWENJN1hISmNiaUFnYVdZZ0tHMXZkbWxsTG1oaGMwMXZiM1lnSmlZZ2JXOTJhV1V1ZEhKaFkydHpLU0I3WEhKY2JpQWdJQ0JwWmlBb2JXOTJhV1V1ZG1sa1pXOVVjbUZqYTNNZ0ppWWdiVzkyYVdVdWRtbGtaVzlVY21GamEzTXViR1Z1WjNSb0lENGdNQ2tnZTF4eVhHNGdJQ0FnSUNCdGIzWnBaUzV0YVcxbElDczlJRndpZG1sa1pXOHZiWEEwT3lCamIyUmxZM005WEZ4Y0lsd2lPMXh5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h0YjNacFpTNWhkV1JwYjFSeVlXTnJjeUFtSmlCdGIzWnBaUzVoZFdScGIxUnlZV05yY3k1c1pXNW5kR2dnUGlBd0tTQjdYSEpjYmlBZ0lDQWdJRzF2ZG1sbExtMXBiV1VnS3owZ1hDSmhkV1JwYnk5dGNEUTdJR052WkdWamN6MWNYRndpWENJN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCdGIzWnBaUzV0YVcxbElDczlJRndpWVhCd2JHbGpZWFJwYjI0dmJYQTBPeUJqYjJSbFkzTTlYRnhjSWx3aU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdmRtbGxMblJ5WVdOcmN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNCcFppQW9hU0FoUFQwZ01Da2diVzkyYVdVdWJXbHRaU0FyUFNCY0lpeGNJanRjY2x4dUlDQWdJQ0FnYlc5MmFXVXViV2x0WlNBclBTQnRiM1pwWlM1MGNtRmphM05iYVYwdVkyOWtaV003WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J0YjNacFpTNXRhVzFsSUNzOUlGd2lYRnhjSWpzZ2NISnZabWxzWlhNOVhGeGNJbHdpTzF4eVhHNGdJQ0FnYlc5MmFXVXViV2x0WlNBclBTQjBhR2x6TG1aMGVYQXVZMjl0Y0dGMGFXSnNaVjlpY21GdVpITXVhbTlwYmlncE8xeHlYRzRnSUNBZ2JXOTJhV1V1YldsdFpTQXJQU0JjSWx4Y1hDSmNJanRjY2x4dUlDQjlYSEpjYmlBZ2NtVjBkWEp1SUcxdmRtbGxPMXh5WEc1OU8xeHlYRzVjY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdWNISnZZMlZ6YzFOaGJYQnNaWE1nUFNCbWRXNWpkR2x2Ymloc1lYTjBLU0I3WEhKY2JpQWdkbUZ5SUdrN1hISmNiaUFnZG1GeUlIUnlZV3M3WEhKY2JpQWdhV1lnS0NGMGFHbHpMbk5oYlhCc1pWQnliMk5sYzNOcGJtZFRkR0Z5ZEdWa0tTQnlaWFIxY200N1hISmNibHh5WEc0Z0lDOHFJRVp2Y2lCbFlXTm9JSFJ5WVdOcklHMWhjbXRsWkNCbWIzSWdabkpoWjIxbGJuUmhkR2x2Yml4Y2NseHVYSFFnSUNCamFHVmpheUJwWmlCMGFHVWdibVY0ZENCellXMXdiR1VnYVhNZ2RHaGxjbVVnS0drdVpTNGdhV1lnZEdobElITmhiWEJzWlNCcGJtWnZjbTFoZEdsdmJpQnBjeUJyYm05M2JpQW9hUzVsTGlCdGIyOW1JR2hoY3lCaGNuSnBkbVZrS1NCaGJtUWdhV1lnYVhRZ2FHRnpJR0psWlc0
1Z1pHOTNibXh2WVdSbFpDbGNjbHh1WEhRZ0lDQmhibVFnWTNKbFlYUmxJR0VnWm5KaFoyMWxiblFnZDJsMGFDQnBkQ0FxTDF4eVhHNGdJR2xtSUNoMGFHbHpMbWx6Um5KaFoyMWxiblJoZEdsdmJrbHVhWFJwWVd4cGVtVmtJQ1ltSUhSb2FYTXViMjVUWldkdFpXNTBJQ0U5UFNCdWRXeHNLU0I3WEhKY2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1bWNtRm5iV1Z1ZEdWa1ZISmhZMnR6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCbWNtRm5WSEpoYXlBOUlIUm9hWE11Wm5KaFoyMWxiblJsWkZSeVlXTnJjMXRwWFR0Y2NseHVJQ0FnSUNBZ2RISmhheUE5SUdaeVlXZFVjbUZyTG5SeVlXczdYSEpjYmlBZ0lDQWdJSGRvYVd4bElDaDBjbUZyTG01bGVIUlRZVzF3YkdVZ1BDQjBjbUZyTG5OaGJYQnNaWE11YkdWdVozUm9JQ1ltSUhSb2FYTXVjMkZ0Y0d4bFVISnZZMlZ6YzJsdVoxTjBZWEowWldRcElIdGNjbHh1SUNBZ0lDQWdJQ0F2S2lCVWFHVWdjMkZ0Y0d4bElHbHVabTl5YldGMGFXOXVJR2x6SUhSb1pYSmxJQ2hsYVhSb1pYSWdZbVZqWVhWelpTQjBhR1VnWm1sc1pTQnBjeUJ1YjNRZ1puSmhaMjFsYm5SbFpDQmhibVFnZEdocGN5QnBjeUJ1YjNRZ2RHaGxJR3hoYzNRZ2MyRnRjR3hsTEZ4eVhHNWNkRngwWEhSY2RHOXlJR0psWTJGMWMyVWdkR2hsSUdacGJHVWdhWE1nWm5KaFoyMWxiblJsWkNCaGJtUWdkR2hsSUcxdmIyWWdabTl5SUhSb1lYUWdjMkZ0Y0d4bElHaGhjeUJpWldWdUlISmxZMlZwZG1Wa0lDb3ZYSEpjYmlBZ0lDQWdJQ0FnVEc5bkxtUmxZblZuS0Z3aVNWTlBSbWxzWlZ3aUxDQmNJa055WldGMGFXNW5JRzFsWkdsaElHWnlZV2R0Wlc1MElHOXVJSFJ5WVdOcklDTmNJaUFySUdaeVlXZFVjbUZyTG1sa0lDc2dYQ0lnWm05eUlITmhiWEJzWlNCY0lpQXJJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISmxjM1ZzZENBOUlIUm9hWE11WTNKbFlYUmxSbkpoWjIxbGJuUW9abkpoWjFSeVlXc3VhV1FzSUhSeVlXc3VibVY0ZEZOaGJYQnNaU3dnWm5KaFoxUnlZV3N1YzJWbmJXVnVkRk4wY21WaGJTazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnWm5KaFoxUnlZV3N1YzJWbmJXVnVkRk4wY21WaGJTQTlJSEpsYzNWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUhSeVlXc3VibVY0ZEZOaGJYQnNaU3NyTzF4eVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdJQ0F2S2lCVWFHVWdabkpoWjIxbGJuUWdZMjkxYkdRZ2JtOTBJR0psSUdOeVpXRjBaV1FnWW1WallYVnpaU0IwYUdVZ2JXVmthV0VnWkdGMFlTQnBjeUJ1YjNRZ2RHaGxjbVVnS0c1dmRDQmtiM2R1Ykc5aFpHVmtLU3dnZDJGcGRDQm1iM0lnYVhRZ0tpOWNjbHh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQXZLaUJCSUdaeVlXZHRaVzUwSUdseklHTnlaV0YwWldRZ1lua2djMkZ0Y0d4bExDQmlkWFFnZEdobElITmxaMjFsYm5RZ2FYTWdkR2hsSUdGalkzVnRkV3hoZEdsdmJpQnBiaUIwYUdVZ1luVm1abVZ5SUc5bUlIUm9aWE5sSUdaeVlXZHRaVzUwY3k1Y2NseHVYSFJjZEZ4MFhIUWdJQ0JKZENCcGN5Qm1iSFZ6YUdWa0lHOXViSGtnWVhNZ2NtVnhkV1Z6ZEdWa0lHSjVJSFJvWlNCaGNIQnNhV05oZEdsdmJpQW9ibUpmYzJGdGNHeGxjeWtnZEc4Z1lYWnZhV1FnZEc5dklHMWhibmtnWTJGc2JHSmhZMnR6SUNvdlhISmNiaUFnSUNBZ0lDQWdhV1lnS0hSeVlXc3VibVY0ZEZOaGJYQnNaU0FsSUdaeVlXZFVjbUZyTG01aVgzTmhiWEJzWlhNZ1BUMDlJREFnZkh3Z0tHeGhjM1FnZkh3Z2RISmhheTV1WlhoMFUyRnRjR3hsSUQ0OUlIUnlZV3N1YzJGdGNHeGxjeTVzWlc1bmRHZ3BLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQk1iMmN1YVc1bWJ5aGNJa2xUVDBacGJHVmNJaXdnWENKVFpXNWthVzVuSUdaeVlXZHRaVzUwWldRZ1pHRjBZU0J2YmlCMGNtRmpheUFqWENJZ0t5Qm1jbUZuVkhKaGF5NXBaQ0FySUZ3aUlHWnZjaUJ6WVcxd2JHVnpJRnRjSWlBcklFMWhkR2d1YldGNEtEQXNJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTQXRJR1p5WVdkVWNtRnJMbTVpWDNOaGJYQnNaWE1wSUNzZ1hDSXNYQ0lnS3lBb2RISmhheTV1WlhoMFUyRnRjR3hsSUMwZ01Ta2dLeUJjSWwxY0lpazdYSEpjYmlBZ0lDQWdJQ0FnSUNCTWIyY3VhVzVtYnloY0lrbFRUMFpwYkdWY0lpd2dYQ0pUWVcxd2JHVWdaR0YwWVNCemFYcGxJR2x1SUcxbGJXOXllVG9nWENJZ0t5QjBhR2x6TG1kbGRFRnNiRzlqWVhSbFpGTmhiWEJzWlVSaGRHRlRhWHBsS0NrcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YjI1VFpXZHRaVzUwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViMjVUWldkdFpXNTBLR1p5WVdkVWNtRnJMbWxrTENCbWNtRm5WSEpoYXk1MWMyVnlMQ0JtY21GblZISmhheTV6WldkdFpXNTBVM1J5WldGdExtSjFabVpsY2l3Z2RISmhheTV1WlhoMFUyRnRjR3hsTENBb2JHRnpkQ0I4ZkNCMGNtRnJMbTVsZUhSVFlXMXdiR1VnUGowZ2RISmhheTV6WVcxd2JHVnpMbXhsYm1kMGFDa3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnTHlvZ1ptOXlZMlVnZEdobElHTnlaV0YwYVc5dUlHOW1JR0VnYm1WM0lHSjFabVpsY2lBcUwxeHlYRzRnSUNBZ0lDQWdJQ0FnWm5KaFoxUnlZV3N1YzJWbmJXVnVkRk4wY21WaGJTQTlJRzUxYkd3N1hISmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1puSmhaMVJ5WVdzZ0lUMDlJSFJvYVhNdVpuSmhaMjFsYm5SbFpGUnlZV05yYzF0cFhTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZLaUJ0WVd0bElITjFjbVVnZDJVZ1kyRnVJSE4wYjNBZ1puSmhaMjFsYm5SaGRHbHZiaUJwWmlCdVpXVmtaV1FnS2k5Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1Y2NseHVJQ0JwWmlBb2RHaHBjeTV2YmxOaGJYQnNaWE1nSVQwOUlHNTFiR3dwSUh0Y2NseHVJQ0FnSUM4cUlFWnZjaUJsWVdOb0lIUnlZV05ySUcxaGNtdGxaQ0JtYjNJZ1pHRjBZU0JsZUhCdmNuUXNYSEpjYmx4MFhIUWdJQ0JqYUdWamF5QnBaaUIwYU
1dVZ2JtVjRkQ0J6WVcxd2JHVWdhWE1nZEdobGNtVWdLR2t1WlM0Z2FHRnpJR0psWlc0Z1pHOTNibXh2WVdSbFpDa2dZVzVrSUhObGJtUWdhWFFnS2k5Y2NseHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxtVjRkSEpoWTNSbFpGUnlZV05yY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0IyWVhJZ1pYaDBjbUZqZEZSeVlXc2dQU0IwYUdsekxtVjRkSEpoWTNSbFpGUnlZV05yYzF0cFhUdGNjbHh1SUNBZ0lDQWdkSEpoYXlBOUlHVjRkSEpoWTNSVWNtRnJMblJ5WVdzN1hISmNiaUFnSUNBZ0lIZG9hV3hsSUNoMGNtRnJMbTVsZUhSVFlXMXdiR1VnUENCMGNtRnJMbk5oYlhCc1pYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWMyRnRjR3hsVUhKdlkyVnpjMmx1WjFOMFlYSjBaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQk1iMmN1WkdWaWRXY29YQ0pKVTA5R2FXeGxYQ0lzSUZ3aVJYaHdiM0owYVc1bklHOXVJSFJ5WVdOcklDTmNJaUFySUdWNGRISmhZM1JVY21GckxtbGtJQ3NnWENJZ2MyRnRjR3hsSUNOY0lpQXJJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITmhiWEJzWlNBOUlIUm9hWE11WjJWMFUyRnRjR3hsS0hSeVlXc3NJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tITmhiWEJzWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnZEhKaGF5NXVaWGgwVTJGdGNHeGxLeXM3WEhKY2JpQWdJQ0FnSUNBZ0lDQmxlSFJ5WVdOMFZISmhheTV6WVcxd2JHVnpMbkIxYzJnb2MyRnRjR3hsS1R0Y2NseHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwY21GckxtNWxlSFJUWVcxd2JHVWdKU0JsZUhSeVlXTjBWSEpoYXk1dVlsOXpZVzF3YkdWeklEMDlQU0F3SUh4OElIUnlZV3N1Ym1WNGRGTmhiWEJzWlNBK1BTQjBjbUZyTG5OaGJYQnNaWE11YkdWdVozUm9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQk1iMmN1WkdWaWRXY29YQ0pKVTA5R2FXeGxYQ0lzSUZ3aVUyVnVaR2x1WnlCellXMXdiR1Z6SUc5dUlIUnlZV05ySUNOY0lpQXJJR1Y0ZEhKaFkzUlVjbUZyTG1sa0lDc2dYQ0lnWm05eUlITmhiWEJzWlNCY0lpQXJJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTazdYSEpjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1dmJsTmhiWEJzWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV2YmxOaGJYQnNaWE1vWlhoMGNtRmpkRlJ5WVdzdWFXUXNJR1Y0ZEhKaFkzUlVjbUZyTG5WelpYSXNJR1Y0ZEhKaFkzUlVjbUZyTG5OaGJYQnNaWE1wTzF4eVhHNGdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ1pYaDBjbUZqZEZSeVlXc3VjMkZ0Y0d4bGN5QTlJRnRkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWNGRISmhZM1JVY21GcklDRTlQU0IwYUdsekxtVjRkSEpoWTNSbFpGUnlZV05yYzF0cFhTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZLaUJqYUdWamF5QnBaaUIwYUdVZ1pYaDBjbUZqZEdsdmJpQnVaV1ZrY3lCMGJ5QmlaU0J6ZEc5d2NHVmtJQ292WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmk4cUlFWnBibVFnWVc1a0lISmxkSFZ5YmlCemNHVmphV1pwWXlCaWIzaGxjeUIxYzJsdVp5QnlaV04xY25OcGIyNGdZVzVrSUdWaGNteDVJSEpsZEhWeWJpQXFMMXh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1blpYUkNiM2dnUFNCbWRXNWpkR2x2YmloMGVYQmxLU0I3WEhKY2JpQWdkbUZ5SUhKbGMzVnNkQ0E5SUhSb2FYTXVaMlYwUW05NFpYTW9kSGx3WlN3Z2RISjFaU2s3WEhKY2JpQWdjbVYwZFhKdUlDaHlaWE4xYkhRdWJHVnVaM1JvSUQ4Z2NtVnpkV3gwV3pCZElEb2diblZzYkNrN1hISmNibjA3WEhKY2JseHlYRzVKVTA5R2FXeGxMbkJ5YjNSdmRIbHdaUzVuWlhSQ2IzaGxjeUE5SUdaMWJtTjBhVzl1S0hSNWNHVXNJSEpsZEhWeWJrVmhjbXg1S1NCN1hISmNiaUFnZG1GeUlISmxjM1ZzZENBOUlGdGRPMXh5WEc0Z0lFbFRUMFpwYkdVdVgzTjNaV1Z3TG1OaGJHd29kR2hwY3l3Z2RIbHdaU3dnY21WemRXeDBMQ0J5WlhSMWNtNUZZWEpzZVNrN1hISmNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1ZlR0Y2NseHVYSEpjYmtsVFQwWnBiR1V1WDNOM1pXVndJRDBnWm5WdVkzUnBiMjRvZEhsd1pTd2djbVZ6ZFd4MExDQnlaWFIxY201RllYSnNlU2tnZTF4eVhHNGdJR2xtSUNoMGFHbHpMblI1Y0dVZ0ppWWdkR2hwY3k1MGVYQmxJRDA5SUhSNWNHVXBJSEpsYzNWc2RDNXdkWE5vS0hSb2FYTXBPMXh5WEc0Z0lHWnZjaUFvZG1GeUlHSnZlQ0JwYmlCMGFHbHpMbUp2ZUdWektTQjdYSEpjYmlBZ0lDQnBaaUFvY21WemRXeDBMbXhsYm1kMGFDQW1KaUJ5WlhSMWNtNUZZWEpzZVNrZ2NtVjBkWEp1TzF4eVhHNGdJQ0FnU1ZOUFJtbHNaUzVmYzNkbFpYQXVZMkZzYkNoMGFHbHpMbUp2ZUdWelcySnZlRjBzSUhSNWNHVXNJSEpsYzNWc2RDd2djbVYwZFhKdVJXRnliSGtwTzF4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExtZGxkRlJ5WVdOclUyRnRjR3hsYzBsdVptOGdQU0JtZFc1amRHbHZiaWgwY21GamExOXBaQ2tnZTF4eVhHNGdJSFpoY2lCMGNtRmpheUE5SUhSb2FYTXVaMlYwVkhKaFkydENlVWxrS0hSeVlXTnJYMmxrS1R0Y2NseHVJQ0JwWmlBb2RISmhZMnNwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUIwY21GamF5NXpZVzF3YkdWek8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNDdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1U1ZOUFJtbHNaUzV3Y205MGIzUjVjR1V1WjJWMFZISmhZMnRUWVcxd2JHVWdQU0JtZFc1amRHbHZiaWgwY21GamExOXBaQ3dnYm5WdFltVnlLU0I3WEhKY2JpQWdkbUZ5SUhSeVlXTnJJRDBnZEdocGN5NW5aWFJVY21GamEwSjVTV1FvZEhKaFkydGZhV1FwTzF4eVhHNGdJSFpoY2lCellXMXdiR1VnUFNCMGFHbHpMbWRsZEZOaGJYQnNaU2gwY21GamF5d2diblZ0WW1WeUtUdGNjbHh1SUNCeVpYUjFjbTRnYzJGdGNHeGxPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b2dRMkZzYkdWa0lHSjVJSFJvWlNCaGNIQnNhV05oZEdsdmJpQjBieUJ5Wld4bFlYTmxJSFJvWlNCeVpYTnZkWEpqWlhNZ1lYTnpiMk5wWVhSbFpDQjBieUJ6WVcxd2JHVnpJR0ZzY21WaFpIa2dabTl5ZDJGeVpHVmtJSFJ2SUhSb1pTQmhjSEJzYVdOaGRHbHZiaUFxTDF4eVhHNUpVMDlHYVd4bExuQnliM1J2ZEhsd1pTNXlaV3hsWVhObFZYTmxaRk5oYlhCc1pYTWdQU0JtZFc1amRHbHZiaWhwWkN3Z2MyRnRjR3hsVG5WdEtTQjdYSEpjYmlBZ2RtRnlJSE5wZW1V
1Z1BTQXdPMXh5WEc0Z0lIWmhjaUIwY21GcklEMGdkR2hwY3k1blpYUlVjbUZqYTBKNVNXUW9hV1FwTzF4eVhHNGdJR2xtSUNnaGRISmhheTVzWVhOMFZtRnNhV1JUWVcxd2JHVXBJSFJ5WVdzdWJHRnpkRlpoYkdsa1UyRnRjR3hsSUQwZ01EdGNjbHh1SUNCbWIzSWdLSFpoY2lCcElEMGdkSEpoYXk1c1lYTjBWbUZzYVdSVFlXMXdiR1U3SUdrZ1BDQnpZVzF3YkdWT2RXMDdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2MybDZaU0FyUFNCMGFHbHpMbkpsYkdWaGMyVlRZVzF3YkdVb2RISmhheXdnYVNrN1hISmNiaUFnZlZ4eVhHNGdJRXh2Wnk1cGJtWnZLRndpU1ZOUFJtbHNaVndpTENCY0lsUnlZV05ySUNOY0lpQXJJR2xrSUNzZ1hDSWdjbVZzWldGelpXUWdjMkZ0Y0d4bGN5QjFjQ0IwYnlCY0lpQXJJSE5oYlhCc1pVNTFiU0FySUZ3aUlDaHlaV3hsWVhObFpDQnphWHBsT2lCY0lpQXJJSE5wZW1VZ0t5QmNJaXdnY21WdFlXbHVhVzVuT2lCY0lpQXJJSFJvYVhNdWMyRnRjR3hsYzBSaGRHRlRhWHBsSUNzZ1hDSXBYQ0lwTzF4eVhHNGdJSFJ5WVdzdWJHRnpkRlpoYkdsa1UyRnRjR3hsSUQwZ2MyRnRjR3hsVG5WdE8xeHlYRzU5TzF4eVhHNWNjbHh1U1ZOUFJtbHNaUzV3Y205MGIzUjVjR1V1YzNSaGNuUWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0IwYUdsekxuTmhiWEJzWlZCeWIyTmxjM05wYm1kVGRHRnlkR1ZrSUQwZ2RISjFaVHRjY2x4dUlDQjBhR2x6TG5CeWIyTmxjM05UWVcxd2JHVnpLR1poYkhObEtUdGNjbHh1ZlR0Y2NseHVYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG5OMGIzQWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0IwYUdsekxuTmhiWEJzWlZCeWIyTmxjM05wYm1kVGRHRnlkR1ZrSUQwZ1ptRnNjMlU3WEhKY2JuMDdYSEpjYmx4eVhHNHZLaUJEWVd4c1pXUWdZbmtnZEdobElHRndjR3hwWTJGMGFXOXVJSFJ2SUdac2RYTm9JSFJvWlNCeVpXMWhhVzVwYm1jZ2MyRnRjR3hsY3lBb1pTNW5MaUJ2Ym1ObElIUm9aU0JrYjNkdWJHOWhaQ0JwY3lCbWFXNXBjMmhsWkNCdmNpQjNhR1Z1SUc1dklHMXZjbVVnYzJGdGNHeGxjeUIzYVd4c0lHSmxJR0ZrWkdWa0tTQXFMMXh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1bWJIVnphQ0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUV4dlp5NXBibVp2S0Z3aVNWTlBSbWxzWlZ3aUxDQmNJa1pzZFhOb2FXNW5JSEpsYldGcGJtbHVaeUJ6WVcxd2JHVnpYQ0lwTzF4eVhHNGdJSFJvYVhNdWRYQmtZWFJsVTJGdGNHeGxUR2x6ZEhNb0tUdGNjbHh1SUNCMGFHbHpMbkJ5YjJObGMzTlRZVzF3YkdWektIUnlkV1VwTzF4eVhHNGdJSFJvYVhNdWMzUnlaV0Z0TG1Oc1pXRnVRblZtWm1WeWN5Z3BPMXh5WEc0Z0lIUm9hWE11YzNSeVpXRnRMbXh2WjBKMVptWmxja3hsZG1Wc0tIUnlkV1VwTzF4eVhHNTlPMXh5WEc1Y2NseHVMeW9nUm1sdVpITWdkR2hsSUdKNWRHVWdiMlptYzJWMElHWnZjaUJoSUdkcGRtVnVJSFJwYldVZ2IyNGdZU0JuYVhabGJpQjBjbUZqYTF4eVhHNGdJQ0JoYkhOdklISmxkSFZ5Ym5NZ2RHaGxJSFJwYldVZ2IyWWdkR2hsSUhCeVpYWnBiM1Z6SUhKaGNDQXFMMXh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1elpXVnJWSEpoWTJzZ1BTQm1kVzVqZEdsdmJpaDBhVzFsTENCMWMyVlNZWEFzSUhSeVlXc3BJSHRjY2x4dUlDQjJZWElnYWp0Y2NseHVJQ0IyWVhJZ2MyRnRjR3hsTzF4eVhHNGdJSFpoY2lCelpXVnJYMjltWm5ObGRDQTlJRWx1Wm1sdWFYUjVPMXh5WEc0Z0lIWmhjaUJ5WVhCZmMyVmxhMTl6WVcxd2JHVmZiblZ0SUQwZ01EdGNjbHh1SUNCMllYSWdjMlZsYTE5ellXMXdiR1ZmYm5WdElEMGdNRHRjY2x4dUlDQjJZWElnZEdsdFpYTmpZV3hsTzF4eVhHNWNjbHh1SUNCcFppQW9kSEpoYXk1ellXMXdiR1Z6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh5WEc0Z0lDQWdURzluTG1sdVptOG9YQ0pKVTA5R2FXeGxYQ0lzSUZ3aVRtOGdjMkZ0Y0d4bElHbHVJSFJ5WVdOckxDQmpZVzV1YjNRZ2MyVmxheUVnVlhOcGJtY2dkR2x0WlNCY0lpQXJJRXh2Wnk1blpYUkVkWEpoZEdsdmJsTjBjbWx1Wnlnd0xDQXhLU0FySUZ3aUlHRnVaQ0J2Wm1aelpYUTZJRndpSUNzZ01DazdYSEpjYmlBZ0lDQnlaWFIxY200Z2V5QnZabVp6WlhRNklEQXNJSFJwYldVNklEQWdmVHRjY2x4dUlDQjlYSEpjYmx4eVhHNGdJR1p2Y2lBb2FpQTlJREE3SUdvZ1BDQjBjbUZyTG5OaGJYQnNaWE11YkdWdVozUm9PeUJxS3lzcElIdGNjbHh1SUNBZ0lITmhiWEJzWlNBOUlIUnlZV3N1YzJGdGNHeGxjMXRxWFR0Y2NseHVJQ0FnSUdsbUlDaHFJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJSE5sWld0ZmMyRnRjR3hsWDI1MWJTQTlJREE3WEhKY2JpQWdJQ0FnSUhScGJXVnpZMkZzWlNBOUlITmhiWEJzWlM1MGFXMWxjMk5oYkdVN1hISmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tITmhiWEJzWlM1amRITWdQaUIwYVcxbElDb2djMkZ0Y0d4bExuUnBiV1Z6WTJGc1pTa2dlMXh5WEc0Z0lDQWdJQ0J6WldWclgzTmhiWEJzWlY5dWRXMGdQU0JxSUMwZ01UdGNjbHh1SUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCcFppQW9kWE5sVW1Gd0lDWW1JSE5oYlhCc1pTNXBjMTl6ZVc1aktTQjdYSEpjYmlBZ0lDQWdJSEpoY0Y5elpXVnJYM05oYlhCc1pWOXVkVzBnUFNCcU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2RYTmxVbUZ3S1NCN1hISmNiaUFnSUNCelpXVnJYM05oYlhCc1pWOXVkVzBnUFNCeVlYQmZjMlZsYTE5ellXMXdiR1ZmYm5WdE8xeHlYRzRnSUgxY2NseHVJQ0IwYVcxbElEMGdkSEpoYXk1ellXMXdiR1Z6VzNObFpXdGZjMkZ0Y0d4bFgyNTFiVjB1WTNSek8xeHlYRzRnSUhSeVlXc3VibVY0ZEZOaGJYQnNaU0E5SUhObFpXdGZjMkZ0Y0d4bFgyNTFiVHRjY2x4dUlDQjNhR2xzWlNBb2RISmhheTV6WVcxd2JHVnpXM05sWld0ZmMyRnRjR3hsWDI1MWJWMHVZV3h5WldGa2VWSmxZV1FnUFQwOUlIUnlZV3N1YzJGdGNHeGxjMXR6WldWclgzTmhiWEJzWlY5dWRXMWRMbk5wZW1VcElIdGNjbHh1SUNBZ0lDOHZJRTV2SUhKbGJXRnBibWx1WnlCellXMXdiR1Z6SUhSdklHeHZiMnNnWm05eUxDQmhiR3dnWVhKbElHUnZkMjVzYjJGa1pXUXVYSEpjYmlBZ0lDQnBaaUFvSVhSeVlXc3VjMkZ0Y0d4bGMxdHpaV1ZyWDNOaGJYQnNaVjl1ZFcwZ0t5QX
1hYU2tnZTF4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJSE5sWld0ZmMyRnRjR3hsWDI1MWJTc3JPMXh5WEc0Z0lIMWNjbHh1SUNCelpXVnJYMjltWm5ObGRDQTlJSFJ5WVdzdWMyRnRjR3hsYzF0elpXVnJYM05oYlhCc1pWOXVkVzFkTG05bVpuTmxkQ0FySUhSeVlXc3VjMkZ0Y0d4bGMxdHpaV1ZyWDNOaGJYQnNaVjl1ZFcxZExtRnNjbVZoWkhsU1pXRmtPMXh5WEc0Z0lFeHZaeTVwYm1adktGd2lTVk5QUm1sc1pWd2lMQ0JjSWxObFpXdHBibWNnZEc4Z1hDSWdLeUFvZFhObFVtRndJRDhnWENKU1FWQmNJaUE2SUZ3aVhDSXBJQ3NnWENJZ2MyRnRjR3hsSUNOY0lpQXJJSFJ5WVdzdWJtVjRkRk5oYlhCc1pTQXJJRndpSUc5dUlIUnlZV05ySUZ3aUlDc2dkSEpoYXk1MGEyaGtMblJ5WVdOclgybGtJQ3NnWENJc0lIUnBiV1VnWENJZ0t5Qk1iMmN1WjJWMFJIVnlZWFJwYjI1VGRISnBibWNvZEdsdFpTd2dkR2x0WlhOallXeGxLU0FySUZ3aUlHRnVaQ0J2Wm1aelpYUTZJRndpSUNzZ2MyVmxhMTl2Wm1aelpYUXBPMXh5WEc0Z0lISmxkSFZ5YmlCN0lHOW1abk5sZERvZ2MyVmxhMTl2Wm1aelpYUXNJSFJwYldVNklIUnBiV1VnTHlCMGFXMWxjMk5oYkdVZ2ZUdGNjbHh1ZlR0Y2NseHVYSEpjYmk4cUlFWnBibVJ6SUhSb1pTQmllWFJsSUc5bVpuTmxkQ0JwYmlCMGFHVWdabWxzWlNCamIzSnlaWE53YjI1a2FXNW5JSFJ2SUhSb1pTQm5hWFpsYmlCMGFXMWxJRzl5SUhSdklIUm9aU0IwYVcxbElHOW1JSFJvWlNCd2NtVjJhVzkxY3lCU1FWQWdLaTljY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdWMyVmxheUE5SUdaMWJtTjBhVzl1S0hScGJXVXNJSFZ6WlZKaGNDa2dlMXh5WEc0Z0lIWmhjaUJ0YjI5MklEMGdkR2hwY3k1dGIyOTJPMXh5WEc0Z0lIWmhjaUIwY21Gck8xeHlYRzRnSUhaaGNpQjBjbUZyWDNObFpXdGZhVzVtYnp0Y2NseHVJQ0IyWVhJZ2FUdGNjbHh1SUNCMllYSWdjMlZsYTE5cGJtWnZJRDBnZXlCdlptWnpaWFE2SUVsdVptbHVhWFI1TENCMGFXMWxPaUJKYm1acGJtbDBlU0I5TzF4eVhHNGdJR2xtSUNnaGRHaHBjeTV0YjI5MktTQjdYSEpjYmlBZ0lDQjBhSEp2ZHlCY0lrTmhibTV2ZENCelpXVnJPaUJ0YjI5MklHNXZkQ0J5WldObGFYWmxaQ0ZjSWp0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElHMXZiM1l1ZEhKaGEzTXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ2RISmhheUE5SUcxdmIzWXVkSEpoYTNOYmFWMDdYSEpjYmlBZ0lDQWdJSFJ5WVd0ZmMyVmxhMTlwYm1adklEMGdkR2hwY3k1elpXVnJWSEpoWTJzb2RHbHRaU3dnZFhObFVtRndMQ0IwY21GcktUdGNjbHh1SUNBZ0lDQWdhV1lnS0hSeVlXdGZjMlZsYTE5cGJtWnZMbTltWm5ObGRDQThJSE5sWld0ZmFXNW1ieTV2Wm1aelpYUXBJSHRjY2x4dUlDQWdJQ0FnSUNCelpXVnJYMmx1Wm04dWIyWm1jMlYwSUQwZ2RISmhhMTl6WldWclgybHVabTh1YjJabWMyVjBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUdsbUlDaDBjbUZyWDNObFpXdGZhVzVtYnk1MGFXMWxJRHdnYzJWbGExOXBibVp2TG5ScGJXVXBJSHRjY2x4dUlDQWdJQ0FnSUNCelpXVnJYMmx1Wm04dWRHbHRaU0E5SUhSeVlXdGZjMlZsYTE5cGJtWnZMblJwYldVN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lFeHZaeTVwYm1adktGd2lTVk5QUm1sc1pWd2lMQ0JjSWxObFpXdHBibWNnWVhRZ2RHbHRaU0JjSWlBcklFeHZaeTVuWlhSRWRYSmhkR2x2YmxOMGNtbHVaeWh6WldWclgybHVabTh1ZEdsdFpTd2dNU2tnS3lCY0lpQnVaV1ZrY3lCaElHSjFabVpsY2lCM2FYUm9JR0VnWm1sc1pWTjBZWEowSUhCdmMybDBhVzl1SUc5bUlGd2lJQ3NnYzJWbGExOXBibVp2TG05bVpuTmxkQ2s3WEhKY2JpQWdJQ0JwWmlBb2MyVmxhMTlwYm1adkxtOW1abk5sZENBOVBUMGdTVzVtYVc1cGRIa3BJSHRjY2x4dUlDQWdJQ0FnTHlvZ1RtOGdjMkZ0Y0d4bElHbHVabThzSUdsdUlHRnNiQ0IwY21GamEzTXNJR05oYm01dmRDQnpaV1ZySUNvdlhISmNiaUFnSUNBZ0lITmxaV3RmYVc1bWJ5QTlJSHNnYjJabWMyVjBPaUIwYUdsekxtNWxlSFJRWVhKelpWQnZjMmwwYVc5dUxDQjBhVzFsT2lBd0lIMDdYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQXZLaUJqYUdWamF5QnBaaUIwYUdVZ2MyVmxheUJ3YjNOcGRHbHZiaUJwY3lCaGJISmxZV1I1SUdsdUlITnZiV1VnWW5WbVptVnlJR0Z1WkZ4eVhHNWNkRngwWEhRZ2FXNGdkR2hoZENCallYTmxJSEpsZEhWeWJpQjBhR1VnWlc1a0lHOW1JSFJvWVhRZ1luVm1abVZ5SUNodmNpQnZaaUIwYUdVZ2JHRnpkQ0JqYjI1MGFXZDFiM1Z6SUdKMVptWmxjaWtnS2k5Y2NseHVJQ0FnSUNBZ0x5b2dWRTlFVHpvZ1UyaHZkV3hrSUhkaGFYUWdkVzUwYVd3Z1lYQndaVzVrSUc5d1pYSmhkR2x2Ym5NZ1lYSmxJR1J2Ym1VZ0tpOWNjbHh1SUNBZ0lDQWdjMlZsYTE5cGJtWnZMbTltWm5ObGRDQTlJSFJvYVhNdWMzUnlaV0Z0TG1kbGRFVnVaRVpwYkdWUWIzTnBkR2x2YmtGbWRHVnlLSE5sWld0ZmFXNW1ieTV2Wm1aelpYUXBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdURzluTG1sdVptOG9YQ0pKVTA5R2FXeGxYQ0lzSUZ3aVFXUnFkWE4wWldRZ2MyVmxheUJ3YjNOcGRHbHZiaUFvWVdaMFpYSWdZMmhsWTJ0cGJtY2daR0YwWVNCaGJISmxZV1I1SUdsdUlHSjFabVpsY2lrNklGd2lJQ3NnYzJWbGExOXBibVp2TG05bVpuTmxkQ2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdjMlZsYTE5cGJtWnZPMXh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1WeGRXRnNJRDBnWm5WdVkzUnBiMjRvWWlrZ2UxeHlYRzRnSUhaaGNpQmliM2hmYVc1a1pYZ2dQU0F3TzF4eVhHNGdJSGRvYVd4bElDaGliM2hmYVc1a1pYZ2dQQ0IwYUdsekxtSnZlR1Z6TG14bGJtZDBhQ0FtSmlCaWIzaGZhVzVrWlhnZ1BDQmlMbUp2ZUdWekxteGxibWQwYUNrZ2UxeHlYRzRnSUNBZ2RtRnlJR0ZmWW05NElEMGdkR2hwY3k1aWIzaGxjMXRpYjNoZmFXNWtaWGhkTzF4eVhHNGdJQ0FnZG1GeUlHSmZZbTk0SUQwZ1lpNWliM2hsYzF0aWIzaGZhVzVrWlhoZE8xeHlYRzRnSUNBZ2FXWWdLQ0ZDYjNoUVlYSnpaWEl1WW05NFJYRjFZV3dvWVY5aWIzZ3NJR0pmWW05NEtTa2dlMXh5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCaWIzaGZhVzVrWlhnckt6dGNjbH
1h1SUNCOVhISmNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hISmNibjA3WEhKY2JseHlYRzVwWmlBb2RIbHdaVzltSUdWNGNHOXlkSE1nSVQwOUlGd2lkVzVrWldacGJtVmtYQ0lwSUh0Y2NseHVJQ0JsZUhCdmNuUnpMa2xUVDBacGJHVWdQU0JKVTA5R2FXeGxPMXh5WEc1OVhISmNiaTh2SUdacGJHVTZjM0pqTDJsemIyWnBiR1V0WVdSMllXNWpaV1F0Y0dGeWMybHVaeTVxYzF4eVhHNHZLaUJ3YjNOcGRHbHZiaUJwYmlCMGFHVWdZM1Z5Y21WdWRDQmlkV1ptWlhJZ2IyWWdkR2hsSUdKbFoybHVibWx1WnlCdlppQjBhR1VnYkdGemRDQmliM2dnY0dGeWMyVmtJQ292WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExteGhjM1JDYjNoVGRHRnlkRkJ2YzJsMGFXOXVJRDBnTUR0Y2NseHVMeW9nYVc1a2FXTmhkRzl5SUdsbUlIUm9aU0J3WVhKemFXNW5JR2x6SUhOMGRXTnJJR2x1SUhSb1pTQnRhV1JrYkdVZ2IyWWdZVzRnYldSaGRDQmliM2dnS2k5Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVjR0Z5YzJsdVowMWtZWFFnUFNCdWRXeHNPMXh5WEc0dktpQnVaWGgwSUdacGJHVWdjRzl6YVhScGIyNGdkR2hoZENCMGFHVWdjR0Z5YzJWeUlHNWxaV1J6T2x4eVhHNGdJQ0FnTFNBd0lIVnVkR2xzSUhSb1pTQm1hWEp6ZENCaWRXWm1aWElnS0drdVpTNGdabWxzWlZOMFlYSjBJRDA5UFRBcElHaGhjeUJpWldWdUlISmxZMlZwZG1Wa1hISmNiaUFnSUNBdElHOTBhR1Z5ZDJselpTd2dkR2hsSUc1bGVIUWdZbTk0SUhOMFlYSjBJSFZ1ZEdsc0lIUm9aU0J0YjI5MklHSnZlQ0JvWVhNZ1ltVmxiaUJ3WVhKelpXUmNjbHh1SUNBZ0lDMGdiM1JvWlhKM2FYTmxMQ0IwYUdVZ2NHOXphWFJwYjI0Z2IyWWdkR2hsSUc1bGVIUWdjMkZ0Y0d4bElIUnZJR1psZEdOb1hISmNiaUFxTDF4eVhHNUpVMDlHYVd4bExuQnliM1J2ZEhsd1pTNXVaWGgwVUdGeWMyVlFiM05wZEdsdmJpQTlJREE3WEhKY2JpOHFJR3RsWlhBZ2JXUmhkQ0JrWVhSaElDb3ZYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1ScGMyTmhjbVJOWkdGMFJHRjBZU0E5SUdaaGJITmxPMXh5WEc1Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVjSEp2WTJWemMwbHVZMjl0Y0d4bGRHVkNiM2dnUFNCbWRXNWpkR2x2YmloeVpYUXBJSHRjY2x4dUlDQjJZWElnWW05NE8xeHlYRzRnSUhaaGNpQnRaWEpuWldRN1hISmNiaUFnZG1GeUlHWnZkVzVrTzF4eVhHNWNjbHh1SUNBdktpQjNaU0JrYVdRZ2JtOTBJR2hoZG1VZ1pXNXZkV2RvSUdKNWRHVnpJR2x1SUhSb1pTQmpkWEp5Wlc1MElHSjFabVpsY2lCMGJ5QndZWEp6WlNCMGFHVWdaVzUwYVhKbElHSnZlQ0FxTDF4eVhHNGdJR2xtSUNoeVpYUXVkSGx3WlNBOVBUMGdYQ0p0WkdGMFhDSXBJSHRjY2x4dUlDQWdJQzhxSUhkbElHaGhaQ0JsYm05MVoyZ2dZbmwwWlhNZ2RHOGdaMlYwSUdsMGN5QjBlWEJsSUdGdVpDQnphWHBsSUdGdVpDQnBkQ2R6SUdGdUlDZHRaR0YwSnlBcUwxeHlYRzVjY2x4dUlDQWdJQzhxSUhOd1pXTnBZV3dnYUdGdVpHeHBibWNnWm05eUlHMWtZWFFnWW05NFpYTXNJSE5wYm1ObElIZGxJR1J2YmlkMElHRmpkSFZoYkd4NUlHNWxaV1FnZEc4Z2NHRnljMlVnYVhRZ2JHbHVaV0Z5YkhsY2NseHVYSFJjZENBZ0lIZGxJR055WldGMFpTQjBhR1VnWW05NElDb3ZYSEpjYmlBZ0lDQmliM2dnUFNCdVpYY2dRbTk0VUdGeWMyVnlXM0psZEM1MGVYQmxJQ3NnWENKQ2IzaGNJbDBvY21WMExuTnBlbVVwTzF4eVhHNGdJQ0FnZEdocGN5NXdZWEp6YVc1blRXUmhkQ0E5SUdKdmVEdGNjbHh1SUNBZ0lIUm9hWE11WW05NFpYTXVjSFZ6YUNoaWIzZ3BPMXh5WEc0Z0lDQWdkR2hwY3k1dFpHRjBjeTV3ZFhOb0tHSnZlQ2s3WEhKY2JpQWdJQ0JpYjNndWMzUmhjblFnUFNCeVpYUXVjM1JoY25RN1hISmNiaUFnSUNCaWIzZ3VhR1J5WDNOcGVtVWdQU0J5WlhRdWFHUnlYM05wZW1VN1hISmNiaUFnSUNCMGFHbHpMbk4wY21WaGJTNWhaR1JWYzJWa1FubDBaWE1vWW05NExtaGtjbDl6YVhwbEtUdGNjbHh1WEhKY2JpQWdJQ0F2S2lCcGJtUnBZMkYwWlNCMGFHRjBJSFJvWlNCd1lYSnphVzVuSUhOb2IzVnNaQ0J6ZEdGeWRDQm1jbTl0SUhSb1pTQmxibVFnYjJZZ2RHaGxJR0p2ZUNBcUwxeHlYRzRnSUNBZ2RHaHBjeTVzWVhOMFFtOTRVM1JoY25SUWIzTnBkR2x2YmlBOUlHSnZlQzV6ZEdGeWRDQXJJR0p2ZUM1emFYcGxPMXh5WEc0Z0lDQWdMeW9nYkdWMEozTWdjMlZsSUdsbUlIZGxJR2hoZG1VZ2RHaGxJR1Z1WkNCdlppQjBhR1VnWW05NElHbHVJSFJvWlNCdmRHaGxjaUJpZFdabVpYSnpJQ292WEhKY2JpQWdJQ0JtYjNWdVpDQTlJSFJvYVhNdWMzUnlaV0Z0TG5ObFpXc29ZbTk0TG5OMFlYSjBJQ3NnWW05NExuTnBlbVVzSUdaaGJITmxMQ0IwYUdsekxtUnBjMk5oY21STlpHRjBSR0YwWVNrN1hISmNiaUFnSUNCcFppQW9abTkxYm1RcElIdGNjbHh1SUNBZ0lDQWdMeW9nWm05MWJtUWdkR2hsSUdWdVpDQnZaaUIwYUdVZ1ltOTRJQ292WEhKY2JpQWdJQ0FnSUhSb2FYTXVjR0Z5YzJsdVowMWtZWFFnUFNCdWRXeHNPMXh5WEc0Z0lDQWdJQ0F2S2lCc1pYUW5jeUJ6WldVZ2FXWWdkMlVnWTJGdUlIQmhjbk5sSUcxdmNtVWdhVzRnZEdocGN5QmlkV1ptWlhJZ0tpOWNjbHh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0F2S2lBbmJXUmhkQ2NnWlc1a0lHNXZkQ0JtYjNWdVpDQnBiaUIwYUdVZ1pYaHBjM1JwYm1jZ1luVm1abVZ5Y3lBcUwxeHlYRzRnSUNBZ0lDQXZLaUJrWlhSbGNtMXBibVVnZEdobElHNWxlSFFnY0c5emFYUnBiMjRnYVc0Z2RHaGxJR1pwYkdVZ2RHOGdjM1JoY25RZ2NHRnljMmx1WnlCbWNtOXRJQ292WEhKY2JpQWdJQ0FnSUdsbUlDZ2hkR2hwY3k1dGIyOTJVM1JoY25SR2IzVnVaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDOHFJRzF2YjNZZ2JtOTBJR1pwYm1RZ2VXVjBMRnh5WEc1Y2RGeDBYSFJjZENBZ0lIUm9aU0JtYVd4bElIQnliMkpoWW14NUlHaGhjeUFuYldSaGRDY2dZWFFnZEdobElHSmxaMmx1Ym1sdVp5d2dZVzVrSUNkdGIyOTJKeUJoZENCMGFHVWdaVzVrTEZ4eVhHNWNkRngwWEhSY2RDQWdJR2x1WkdsallYUmxJSFJvWVhRZ2RHaGxJR1J2ZDI1c2IyRmtaWElnYzJodmRXeGtJRzV2ZENCMGNua2dkRzhnWkc5M2JteHZZV1FnZEdodmMyVWdZbmwwWlhNZ2JtOTNJQ292WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTV1WlhoMFVHRnljMlZRYjNOcGRHbHZiaUE5SUdKdmVDNXpkR0Z5ZENBcklHSnZlQzV6YVhwbE8xeHlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQzhxSUhkbElHaGhkbVVnZEdobElITjBZWEowSUc5bUlIUm9aU0J0YjI5MklHSnZlQ3hjY2x4dVhIUmNkRngwWEhRZ0lDQjBhR1VnYm1WNGRDQmllWFJsY3lCemFHOTFiR1FnZEhKNUlIUnZJR052YlhCc1pYUmxJSFJvWlNCamRYSnlaVzUwSUNkdFpHRjBKeUFxTDF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WNGRGQmhjbk5sVUc5emFYUnBiMjRnUFNCMGFHbHpMbk4wY21WaGJTNW1hVzVrUlc1a1EyOXVkR2xuZFc5MWMwSjFaaWdwTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDOHFJRzV2ZENCdGRXTm9JSGRsSUdOaGJpQmtieXdnZDJGcGRDQm1iM0lnYlc5eVpTQmlkV1ptWlhKeklIUnZJR0Z5Y21sMlpTQXFMMXh5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNCOVhISmNiaUFnZlNCbGJITmxJSHRjY2x4dUlDQWdJQzhxSUdKdmVDQnBjeUJwYm1OdmJYQnNaWFJsTENCM1pTQnRZWGtnYm05MElHVjJaVzRnYTI1dmR5QnBkSE1nZEhsd1pTQXFMMXh5WEc0Z0lDQWdhV1lnS0hKbGRDNTBlWEJsSUQwOVBTQmNJbTF2YjNaY0lpa2dlMXh5WEc0Z0lDQWdJQ0F2S2lCMGFHVWdhVzVqYjIxd2JHVjBaU0JpYjNnZ2FYTWdZU0FuYlc5dmRpY2dZbTk0SUNvdlhISmNiaU
1FnSUNBZ0lIUm9hWE11Ylc5dmRsTjBZWEowUm05MWJtUWdQU0IwY25WbE8xeHlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXRaR0YwY3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbWx6VUhKdlozSmxjM05wZG1VZ1BTQjBjblZsTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNBdktpQmxhWFJvWlhJZ2FYUW5jeUJ1YjNRZ1lXNGdiV1JoZENCaWIzZ2dLR0Z1WkNCM1pTQnVaV1ZrSUhSdklIQmhjbk5sSUdsMExDQjNaU0JqWVc1dWIzUWdjMnRwY0NCcGRDbGNjbHh1WEhSY2RDQWdJQ2hVVDBSUE9pQjNaU0JqYjNWc1pDQnphMmx3SUNkbWNtVmxKeUJpYjNobGN5QXVMaTRwWEhKY2JseDBYSFJjZENBZ0lHOXlJSGRsSUdScFpDQnViM1FnYUdGMlpTQmxibTkxWjJnZ1pHRjBZU0IwYnlCd1lYSnpaU0IwYUdVZ2RIbHdaU0JoYm1RZ2MybDZaU0J2WmlCMGFHVWdZbTk0TEZ4eVhHNWNkRngwSUNBZ2QyVWdkSEo1SUhSdklHTnZibU5oZEdWdVlYUmxJSFJvWlNCamRYSnlaVzUwSUdKMVptWmxjaUIzYVhSb0lIUm9aU0J1WlhoMElHSjFabVpsY2lCMGJ5QnlaWE4wWVhKMElIQmhjbk5wYm1jZ0tpOWNjbHh1SUNBZ0lHMWxjbWRsWkNBOUlDaDBhR2x6TG5OMGNtVmhiUzV0WlhKblpVNWxlSFJDZFdabVpYSWdQeUIwYUdsekxuTjBjbVZoYlM1dFpYSm5aVTVsZUhSQ2RXWm1aWElvS1NBNklHWmhiSE5sS1R0Y2NseHVJQ0FnSUdsbUlDaHRaWEpuWldRcElIdGNjbHh1SUNBZ0lDQWdMeW9nVkdobElHNWxlSFFnWW5WbVptVnlJSGRoY3lCamIyNTBhV2QxYjNWekxDQjBhR1VnYldWeVoybHVaeUJ6ZFdOalpXVmtaV1FzWEhKY2JseDBYSFJjZENBZ0lIZGxJR05oYmlCdWIzY2dZMjl1ZEdsdWRXVWdjR0Z5YzJsdVp5eGNjbHh1WEhSY2RGeDBJQ0FnZEdobElHNWxlSFFnWW1WemRDQndiM05wZEdsdmJpQjBieUJ3WVhKelpTQnBjeUJoZENCMGFHVWdaVzVrSUc5bUlIUm9hWE1nYm1WM0lHSjFabVpsY2lBcUwxeHlYRzRnSUNBZ0lDQjBhR2x6TG01bGVIUlFZWEp6WlZCdmMybDBhVzl1SUQwZ2RHaHBjeTV6ZEhKbFlXMHVaMlYwUlc1a1VHOXphWFJwYjI0b0tUdGNjbHh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0F2S2lCM1pTQmpZVzV1YjNRZ1kyOXVZMkYwWlc1aGRHVWdaWGhwYzNScGJtY2dZblZtWm1WeWN5QmlaV05oZFhObElIUm9aWGtnWVhKbElHNXZkQ0JqYjI1MGFXZDFiM1Z6SUc5eUlHSmxZMkYxYzJVZ2RHaGxjbVVnYVhNZ2JtOGdZV1JrYVhScGIyNWhiQ0JpZFdabVpYSWdLaTljY2x4dUlDQWdJQ0FnTHlvZ1ZHaGxJRzVsZUhRZ1ltVnpkQ0J3YjNOcGRHbHZiaUIwYnlCd1lYSnpaU0JwY3lCemRHbHNiQ0JoZENCMGFHVWdaVzVrSUc5bUlIUm9hWE1nYjJ4a0lHSjFabVpsY2lBcUwxeHlYRzRnSUNBZ0lDQnBaaUFvSVhKbGRDNTBlWEJsS1NCN1hISmNiaUFnSUNBZ0lDQWdMeW9nVkdobGNtVWdkMlZ5WlNCdWIzUWdaVzV2ZFdkb0lHSjVkR1Z6SUdsdUlIUm9aU0JpZFdabVpYSWdkRzhnY0dGeWMyVWdkR2hsSUdKdmVDQjBlWEJsSUdGdVpDQnNaVzVuZEdnc1hISmNibHgwWEhSY2RGeDBJQ0FnZEdobElHNWxlSFFnWm1WMFkyZ2djMmh2ZFd4a0lISmxkSEpwWlhabElIUm9iM05sSUcxcGMzTnBibWNnWW5sMFpYTXNJR2t1WlM0Z2RHaGxJRzVsZUhRZ1lubDBaWE1nWVdaMFpYSWdkR2hwY3lCaWRXWm1aWElnS2k5Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG01bGVIUlFZWEp6WlZCdmMybDBhVzl1SUQwZ2RHaHBjeTV6ZEhKbFlXMHVaMlYwUlc1a1VHOXphWFJwYjI0b0tUdGNjbHh1SUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0F2S2lCM1pTQm9ZV1
1FnWlc1dmRXZG9JR0o1ZEdWeklIUnZJSEJoY25ObElITnBlbVVnWVc1a0lIUjVjR1VnYjJZZ2RHaGxJR2x1WTI5dGNHeGxkR1VnWW05NFhISmNibHgwWEhSY2RGeDBJQ0FnYVdZZ2QyVWdhR0YyWlc0bmRDQm1iM1Z1WkNCNVpYUWdkR2hsSUcxdmIzWWdZbTk0TENCemEybHdJSFJvYVhNZ2IyNWxJR0Z1WkNCMGNua2dkR2hsSUc1bGVIUWdiMjVsWEhKY2JseDBYSFJjZEZ4MElDQWdhV1lnZDJVZ2FHRjJaU0JtYjNWdVpDQjBhR1VnYlc5dmRpQmliM2dzSUd4bGRDZHpJR052Ym5ScGJuVmxJR3hwYm1WaGNpQndZWEp6YVc1bklDb3ZYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11Ylc5dmRsTjBZWEowUm05MWJtUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11Ym1WNGRGQmhjbk5sVUc5emFYUnBiMjRnUFNCMGFHbHpMbk4wY21WaGJTNW5aWFJGYm1SUWIzTnBkR2x2YmlncE8xeHlYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbTVsZUhSUVlYSnpaVkJ2YzJsMGFXOXVJRDBnZEdocGN5NXpkSEpsWVcwdVoyVjBVRzl6YVhScGIyNG9LU0FySUhKbGRDNXphWHBsTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVhR0Z6U1c1amIyMXdiR1YwWlUxa1lYUWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0J5WlhSMWNtNGdLSFJvYVhNdWNHRnljMmx1WjAxa1lYUWdJVDA5SUc1MWJHd3BPMXh5WEc1OU8xeHlYRzVjY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdWNISnZZMlZ6YzBsdVkyOXRjR3hsZEdWTlpHRjBJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnZG1GeUlHSnZlRHRjY2x4dUlDQjJZWElnWm05MWJtUTdYSEpjYmx4eVhHNGdJQzhxSUhkbElHRnlaU0JwYmlCMGFHVWdjR0Z5YzJsdVp5QnZaaUJoYmlCcGJtTnZiWEJzWlhSbElHMWtZWFFnWW05NElDb3ZYSEpjYmlBZ1ltOTRJRDBnZEdocGN5NXdZWEp6YVc1blRXUmhkRHRjY2x4dVhISmNiaUFnWm05MWJtUWdQU0IwYUdsekxuTjBjbVZoYlM1elpXVnJLR0p2ZUM1emRHRnlkQ0FySUdKdmVDNXphWHBsTENCbVlXeHpaU3dnZEdocGN5NWthWE5qWVhKa1RXUmhkRVJo
1ZEdFcE8xeHlYRzRnSUdsbUlDaG1iM1Z1WkNrZ2UxeHlYRzRnSUNBZ1RHOW5MbVJsWW5WbktGd2lTVk5QUm1sc1pWd2lMQ0JjSWtadmRXNWtJQ2R0WkdGMEp5QmxibVFnYVc0Z1luVm1abVZ5WldRZ1pHRjBZVndpS1R0Y2NseHVJQ0FnSUM4cUlIUm9aU0JsYm1RZ2IyWWdkR2hsSUcxa1lYUWdhR0Z6SUdKbFpXNGdabTkxYm1RZ0tpOWNjbHh1SUNBZ0lIUm9hWE11Y0dGeWMybHVaMDFrWVhRZ1BTQnVkV3hzTzF4eVhHNGdJQ0FnTHlvZ2QyVWdZMkZ1SUhCaGNuTmxJRzF2Y21VZ2FXNGdkR2hwY3lCaWRXWm1aWElnS2k5Y2NseHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0F2S2lCM1pTQmtiMjRuZENCb1lYWmxJSFJvWlNCbGJtUWdiMllnZEdocGN5QnRaR0YwSUhsbGRDeGNjbHh1WEhSY2RDQWdJR2x1WkdsallYUmxJSFJvWVhRZ2RHaGxJRzVsZUhRZ1lubDBaU0IwYnlCbVpYUmphQ0JwY3lCMGFHVWdaVzVrSUc5bUlIUm9aU0JpZFdabVpYSnpJSGRsSUdoaGRtVWdjMjhnWm1GeUxGeHlYRzVjZEZ4MElDQWdjbVYwZFhKdUlHRnVaQ0IzWVdsMElHWnZjaUJ0YjNKbElHSjFabVpsY2lCMGJ5QmpiMjFsSUNvdlhISmNiaUFnSUNCMGFHbHpMbTVsZUhSUVlYSnpaVkJ2YzJsMGFXOXVJRDBnZEdocGN5NXpkSEpsWVcwdVptbHVaRVZ1WkVOdmJuUnBaM1Z2ZFhOQ2RXWW9LVHRjY2x4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNUpVMDlHYVd4bExuQnliM1J2ZEhsd1pTNXlaWE4wYjNKbFVHRnljMlZRYjNOcGRHbHZiaUE5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUM4cUlGSmxjRzl6YVhScGIyNGdZWFFnZEdobElITjBZWEowSUhCdmMybDBhVzl1SUc5bUlIUm9aU0J3Y21WMmFXOTFjeUJpYjNnZ2JtOTBJR1Z1ZEdseVpXeDVJSEJoY25ObFpDQXFMMXh5WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbk4wY21WaGJTNXpaV1ZyS0hSb2FYTXViR0Z6ZEVKdmVGTjBZWEowVUc5emFYUnBiMjRzSUhSeWRXVXNJSFJvYVhNdVpHbHpZMkZ5WkUxa1lYUkVZWFJoS1R0Y2NseHVmVHRjY2x4dVhISmNia2xUVDBacGJHVXVjSEp2ZEc5MGVYQmxMbk5oZG1WUVlYSnpaVkJ2YzJsMGFXOXVJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnTHlvZ2NtVnRaVzFpWlhJZ2RHaGxJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQmliM2dnYzNSaGNuUWdhVzRnWTJGelpTQjNaU0J1WldWa0lIUnZJSEp2Ykd3Z1ltRmpheUFvYVdZZ2RHaGxJR0p2ZUNCcGN5QnBibU52YlhCc1pYUmxLU0FxTDF4eVhHNGdJSFJvYVhNdWJHRnpkRUp2ZUZOMFlYSjBVRzl6YVhScGIyNGdQU0IwYUdsekxuTjBjbVZoYlM1blpYUlFiM05wZEdsdmJpZ3BPMXh5WEc1OU8xeHlYRzVjY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdWRYQmtZWFJsVlhObFpFSjVkR1Z6SUQwZ1puVnVZM1JwYjI0b1ltOTRMQ0J5WlhRcElIdGNjbHh1SUNCcFppQW9kR2hwY3k1emRISmxZVzB1WVdSa1ZYTmxaRUo1ZEdWektTQjdYSEpjYmlBZ0lDQnBaaUFvWW05NExuUjVjR1VnUFQwOUlGd2liV1JoZEZ3aUtTQjdYSEpjYmlBZ0lDQWdJQzhxSUdadmNpQmhiaUJ0WkdGMElHSnZlQ3dnYjI1c2VTQnBkSE1nYUdWaFpHVnlJR2x6SUdOdmJuTnBaR1Z5WldRZ2RYTmxaQ3dnYjNSb1pYSWdZbmwwWlhNZ2QybHNiQ0JpWlNCMWMyVmtJSGRvWlc0Z2MyRnRjR3hsSUdSaGRHRWdhWE1nY21WeGRXVnpkR1ZrSUNvdlhISmNiaUFnSUNBZ0lIUm9hWE11YzNSeVpXRnRMbUZrWkZWelpXUkNlWFJsY3loaWIzZ3VhR1J5WDNOcGVtVXBPMXh5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVrYVhOallYSmtUV1JoZEVSaGRHRXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbk4wY21WaGJTNWhaR1JWYzJWa1FubDBaWE1vWW05NExuTnBlbVVnTFNCaWIzZ3VhR1J5WDNOcGVtVXBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0F2S2lCbWIzSWdZV3hzSUc5MGFHVnlJR0p2ZUdWekxDQjBhR1VnWlc1MGFYSmxJR0p2ZUNCa1lYUmhJR2x6SUdOdmJuTnBaR1Z5WldRZ2RYTmxaQ0FxTDF4eVhHNGdJQ0FnSUNCMGFHbHpMbk4wY21WaGJTNWhaR1JWYzJWa1FubDBaWE1vWW05NExuTnBlbVVwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJSDFjY2x4dWZUdGNjbHh1THk4Z1ptbHNaVHB6Y21NdmFYTnZabWxzWlMxaFpIWmhibU5sWkMxamNtVmhkR2x2Ymk1cWMxeHlYRzVKVTA5R2FXeGxMbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQkNiM2hRWVhKelpYSXVRbTk0TG5CeWIzUnZkSGx3WlM1aFpHUTdYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1Ga1pFSnZlQ0E5SUVKdmVGQmhjbk5sY2k1Q2IzZ3VjSEp2ZEc5MGVYQmxMbUZrWkVKdmVEdGNjbHh1WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExtbHVhWFFnUFNCbWRXNWpkR2x2YmloZmIzQjBhVzl1Y3lrZ2UxeHlYRzRnSUhaaGNpQnZjSFJwYjI1eklEMGdYMjl3ZEdsdmJuTWdmSHdnZTMwN1hISmNiaUFnZG1GeUlHWjBlWEFnUFNCMGFHbHpMbUZrWkNoY0ltWjBlWEJjSWlrdWMyVjBLRndpYldGcWIzSmZZbkpoYm1SY0lpd2dLRzl3ZEdsdmJuTXVZbkpoYm1SeklDWW1JRzl3ZEdsdmJuTXVZbkpoYm1Seld6QmRLU0I4ZkNCY0ltbHpielJjSWlsY2NseHVJQ0FnSUM1elpYUW9YQ0p0YVc1dmNsOTJaWEp6YVc5dVhDSXNJREFwWEhKY2JpQWdJQ0F1YzJWMEtGd2lZMjl0Y0dGMGFXSnNaVjlpY21GdVpITmNJaXdnYjNCMGFXOXVjeTVpY21GdVpITWdmSHdnVzF3aWFYTnZORndpWFNrN1hISmNiaUFnZG1GeUlHMXZiM1lnUFNCMGFHbHpMbUZrWkNoY0ltMXZiM1pjSWlrN1hISmNiaUFnYlc5dmRpNWhaR1FvWENKdGRtaGtYQ0lwTG5ObGRDaGNJblJwYldWelkyRnNaVndpTENCdmNIUnBiMjV6TG5ScGJXVnpZMkZzWlNCOGZDQTJNREFwWEhKY2JpQWdJQ0F1YzJWMEtGd2ljbUYwWlZ3aUxDQnZjSFJwYjI1ekxuSmhkR1VnZkh3Z01TQThQQ0F4TmlsY2NseHVJQ0FnSUM1elpYUW9YQ0pqY21WaGRHbHZibDkwYVcxbFhDSXNJREFwWEhKY2JpQWdJQ0F1YzJWMEtGd2liVzlrYVdacFkyRjBhVzl1WDNScGJXVmNJaXdnTUNsY2NseHVJQ0FnSUM1elpYUW9YQ0prZFhKaGRHbHZibHdpTENCdmNIUnBiMjV6TG1SMWNtRjBhVzl1SUh4OElEQXBYSEpjYmlBZ0lDQXVjMlYwS0Z3aWRtOXNkVzFsWENJc0lDaHZjSFJwYjI1ekxuZHBaSFJvS1NBL0lEQWdPaUF3ZURBeE1EQXBYSEpjYmlBZ0lDQXVjMlYwS0Z3aWJXRjBjbWw0WENJc0lGc3hJRHc4SURFMkxDQXdMQ0F3TENBd0xDQXhJRHc4SURFMkxDQXdMQ0F3TENBd0xDQXdlRFF3TURBd01EQXdYU2xjY2x4dUlDQWdJQzV6WlhRb1hDSnVaWGgwWDNSeVlXTnJYMmxrWENJc0lERXBPMXh5WEc0Z0lHMXZiM1l1WVdSa0tGd2liWFpsZUZ3aUtUdGNjbHh1SUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1ZlR0Y2NseHVYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1Ga1pGUnlZV05ySUQwZ1puVnVZM1JwYjI0b1gyOXdkR2x2Ym5NcElIdGNjbHh1SUNCcFppQW9JWFJvYVhNdWJXOXZkaWtnZTF4eVhHNGdJQ0FnZEdocGN5NXBibWwwS0Y5dmNIUnBiMjV6S1R0Y2NseHVJQ0I5WEhKY2JseHlYRzRnSUhaaGNpQnZjSFJwYjI1eklEMGdYMjl3ZEdsdmJuTWdmSHdnZTMwN1hISmNiaUFnYjNCMGFXOXVjeTUzYVdSMGFDQTlJRzl3ZEdsdmJuTXVkMmxrZEdnZ2ZId2dNekl3TzF4eVhHNGdJRzl3ZEdsdmJuTXVhR1ZwWjJoMElEMGdiM0IwYVc5dWN5NW9aV2xuYUhRZ2ZId2dNekl3TzF4eVhHNGdJRzl3ZEdsdmJuTXVhV1FnUFNCdmNIUnBiMjV6TG1sa0lIeDhJSFJvYVhNdWJXOXZkaTV0ZG1oa0xtNWxlSFJmZEhKaFkydGZhV1E3WEhKY2JpQWdiM0IwYVc5dWN5NTBlWEJsSUQwZ2IzQjBhVzl1Y3k1MGVYQmxJSHg4SUZ3aVlYWmpNVndpTzF4eVhHNWNjbHh1SUNCMllYSWdkSEpoYXlBOUlIUm9hWE11Ylc5dmRpNWhaR1FvWENKMGNtRnJYQ0lwTzF4eVhHNGdJSFJvYVhNdWJXOXZkaTV0ZG1oa0xtNWxlSFJmZEhKaFkydGZhV1FnUFNCdmNIUnBiMjV6TG1sa0lDc2dNVHRjY2x4dUlDQjBjbUZyTG1Ga1pDaGNJblJyYUdSY0lpa3VjMlYwS0Z3aVpteGhaM05jSWl3Z1FtOTRVR0Z5YzJWeUxsUkxTRVJmUmt4QlIxOUZUa0ZDVEVWRUlIeGNjbHh1SUNBZ0lFSnZlRkJoY25ObGNpNVVTMGhFWDBaTVFVZGZTVTVmVFU5V1NVVWdmRnh5WEc0Z0lDQWdRbTk0VUdGeWMyVnlMbFJMU0VSZlJreEJSMTlKVGw5UVVrVldTVVZYS1Z4eVhHNGdJQ0FnTG5ObGRDaGNJbU55WldGMGFXOXVYM1JwYldWY0lpd2dNQ2xjY2x4dUlDQWdJQzV6WlhRb1hDSnRiMlJwWm1sallYUnBiMjVmZEdsdFpWd2lMQ0F3S1Z4eVhHNGdJQ0FnTG5ObGRDaGNJblJ5WVdOclgybGtYQ0lzSUc5d2RHbHZibk11YVdRcFhISmNiaUFnSUNBdWMyVjBLRndpWkhWeVlYUnBiMjVjSWl3Z2IzQjBhVzl1Y3k1a2RYSmhkR2x2YmlCOGZDQXdLVnh5WEc0Z0lDQWdMbk5sZENoY0lteGhlV1Z5WENJc0lHOXdkR2x2Ym5NdWJHRjVaWElnZkh3Z01DbGNjbHh1SUNBZ0lDNXpaWFFvWENKaGJIUmxjbTVoZEdWZlozSnZkWEJjSWl3Z01DbGNjbHh1SUNBZ0lDNXpaWFFvWENKMmIyeDFiV1ZjSWl3Z01TbGNjbHh1SUNBZ0lDNXpaWFFvWENKdFlYUnlhWGhjSWl3Z1d6QXNJREFzSURBc0lEQXNJREFzSURBc0lEQXNJREFzSURCZEtWeHlYRzRnSUNBZ0xuTmxkQ2hjSW5kcFpIUm9YQ0lzSUc5d2RHbHZibk11ZDJsa2RHZ2dQRHdnTVRZcFhISmNiaUFnSUNBdWMyVjBLRndpYUdWcFoyaDBYQ0lzSUc5d2RHbHZibk11YU
1dWcFoyaDBJRHc4SURFMktUdGNjbHh1WEhKY2JpQWdkbUZ5SUcxa2FXRWdQU0IwY21GckxtRmtaQ2hjSW0xa2FXRmNJaWs3WEhKY2JpQWdiV1JwWVM1aFpHUW9YQ0p0Wkdoa1hDSXBMbk5sZENoY0ltTnlaV0YwYVc5dVgzUnBiV1ZjSWl3Z01DbGNjbHh1SUNBZ0lDNXpaWFFvWENKdGIyUnBabWxqWVhScGIyNWZkR2x0WlZ3aUxDQXdLVnh5WEc0Z0lDQWdMbk5sZENoY0luUnBiV1Z6WTJGc1pWd2lMQ0J2Y0hScGIyNXpMblJwYldWelkyRnNaU0I4ZkNBeEtWeHlYRzRnSUNBZ0xuTmxkQ2hjSW1SMWNtRjBhVzl1WENJc0lHOXdkR2x2Ym5NdWJXVmthV0ZmWkhWeVlYUnBiMjRnZkh3Z01DbGNjbHh1SUNBZ0lDNXpaWFFvWENKc1lXNW5kV0ZuWlZ3aUxDQnZjSFJwYjI1ekxteGhibWQxWVdkbElIeDhJRndpZFc1a1hDSXBPMXh5WEc1Y2NseHVJQ0J0WkdsaExtRmtaQ2hjSW1oa2JISmNJaWt1YzJWMEtGd2lhR0Z1Wkd4bGNsd2lMQ0J2Y0hScGIyNXpMbWhrYkhJZ2ZId2dYQ0oyYVdSbFhDSXBYSEpjYmlBZ0lDQXVjMlYwS0Z3aWJtRnRaVndpTENCdmNIUnBiMjV6TG01aGJXVWdmSHdnWENKVWNtRmpheUJqY21WaGRHVmtJSGRwZEdnZ1RWQTBRbTk0TG1welhDSXBPMXh5WEc1Y2NseHVJQ0J0WkdsaExtRmtaQ2hjSW1Wc2JtZGNJaWt1YzJWMEtGd2laWGgwWlc1a1pXUmZiR0Z1WjNWaFoyVmNJaXdnYjNCMGFXOXVjeTVzWVc1bmRXRm5aU0I4ZkNCY0ltWnlMVVpTWENJcE8xeHlYRzVjY2x4dUlDQjJZWElnYldsdVppQTlJRzFrYVdFdVlXUmtLRndpYldsdVpsd2lLVHRjY2x4dUlDQnBaaUFvUW05NFVHRnljMlZ5VzI5d2RHbHZibk11ZEhsd1pTQXJJRndpVTJGdGNHeGxSVzUwY25sY0lsMGdQVDA5SUhWdVpHVm1hVzVsWkNrZ2NtVjBkWEp1TzF4eVhHNGdJSFpoY2lCellXMXdiR1ZmWkdWelkzSnBjSFJwYjI1ZlpXNTBjbmtnUFNCdVpYY2dRbTk0VUdGeWMyVnlXMjl3ZEdsdmJuTXVkSGx3WlNBcklGd2lVMkZ0Y0d4bFJXNTBjbmxjSWwwb0tUdGNjbHh1SUNCellXMXdiR1ZmWkdWelkzSnBjSFJwYjI1ZlpXNTBjbmt1WkdGMFlWOXlaV1psY21WdVkyVmZhVzVrWlhnZ1BTQXhPMXh5WEc0Z0lIWmhjaUJ0WldScFlWOTBlWEJsSUQwZ1hDSmNJanRjY2x4dUlDQm1iM0lnS0haaGNpQnRaV1JwWVZSNWNHVWdhVzRnUW05NFVHRnljMlZ5TG5OaGJYQnNaVVZ1ZEhKNVEyOWtaWE1wSUh0Y2NseHVJQ0FnSUhaaGNpQmpiMlJsY3lBOUlFSnZlRkJoY25ObGNpNXpZVzF3YkdWRmJuUnllVU52WkdWelcyMWxaR2xoVkhsd1pWMDdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR052WkdWekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUdsbUlDaGpiMlJsY3k1cGJtUmxlRTltS0c5d2RHbHZibk11ZEhsd1pTa2dQaUF0TVNrZ2UxeHlYRzRnSUNBZ0lDQWdJRzFsWkdsaFgzUjVjR1VnUFNCdFpXUnBZVlI1Y0dVN1hISmNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNiaUFnYzNkcGRHTm9JQ2h0WldScFlWOTBlWEJsS1NCN1hISmNiaUFnSUNCallYTmxJRndpVm1semRXRnNYQ0k2WEhKY2JpQWdJQ0FnSUcxcGJtWXVZV1JrS0Z3aWRtMW9aRndpS1M1elpYUW9YQ0puY21Gd2FHbGpjMjF2WkdWY0lpd2dNQ2t1YzJWMEtGd2liM0JqYjJ4dmNsd2lMQ0JiTUN3Z01Dd2dNRjBwTzF4eVhHNGdJQ0FnSUNCellXMXdiR1ZmWkdWelkzSnBjSFJwYjI1ZlpXNTBjbmt1YzJWMEtGd2lkMmxrZEdoY0lpd2diM0IwYVc5dWN5NTNhV1IwYUNsY2NseHVJQ0FnSUNBZ0lDQXVjMlYwS0Z3aWFHVnBaMmgwWENJc0lHOXdkR2x2Ym5NdWFHVnBaMmgwS1Z4eVhHNGdJQ0FnSUNBZ0lDNXpaWFFvWENKb2IzSnBlbkpsYzI5c2RYUnBiMjVjSWl3Z01IZzBPQ0E4UENBeE5pbGNjbHh1SUNBZ0lDQWdJQ0F1YzJWMEtGd2lkbVZ5ZEhKbGMyOXNkWFJwYjI1Y0lpd2dNSGcwT0NBOFBDQXhOaWxjY2x4dUlDQWdJQ0FnSUNBdWMyVjBLRndpWm5KaGJXVmZZMjkxYm5SY0lpd2dNU2xjY2x4dUlDQWdJQ0FnSUNBdWMyVjBLRndpWTI5dGNISmxjM052Y201aGJXVmNJaXdnYjNCMGFXOXVjeTUwZVhCbElDc2dYQ0lnUTI5dGNISmxjM052Y2x3aUtWeHlYRzRnSUNBZ0lDQWdJQzV6WlhRb1hDSmtaWEIwYUZ3aUxDQXdlREU0S1R0Y2NseHVJQ0FnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVZWFpqUkdWamIyUmxja052Ym1acFoxSmxZMjl5WkNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaGRtTkRJRDBnYm1WM0lFSnZlRkJoY25ObGNpNWhkbU5EUW05NEtDazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITjBjbVZoYlNBOUlHNWxkeUJOVURSQ2IzaFRkSEpsWVcwb2IzQjBhVzl1Y3k1aGRtTkVaV052WkdWeVEyOXVabWxuVW1WamIzSmtLVHRjY2x4dUlDQWdJQ0FnSUNCaGRtTkRMbkJoY25ObEtIT
1jBjbVZoYlNrN1hISmNiaUFnSUNBZ0lDQWdjMkZ0Y0d4bFgyUmxjMk55YVhCMGFXOXVYMlZ1ZEhKNUxtRmtaRUp2ZUNoaGRtTkRLVHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJR05oYzJVZ1hDSkJkV1JwYjF3aU9seHlYRzRnSUNBZ0lDQnRhVzVtTG1Ga1pDaGNJbk50YUdSY0lpa3VjMlYwS0Z3aVltRnNZVzVqWlZ3aUxDQnZjSFJwYjI1ekxtSmhiR0Z1WTJVZ2ZId2dNQ2s3WEhKY2JpQWdJQ0FnSUhOaGJYQnNaVjlrWlhOamNtbHdkR2x2Ymw5bGJuUnllUzV6WlhRb1hDSmphR0Z1Ym1Wc1gyTnZkVzUwWENJc0lHOXdkR2x2Ym5NdVkyaGhibTVsYkY5amIzVnVkQ0I4ZkNBeUtWeHlYRzRnSUNBZ0lDQWdJQzV6WlhRb1hDSnpZVzF3YkdWemFYcGxYQ0lzSUc5d2RHbHZibk11YzJGdGNHeGxjMmw2WlNCOGZDQXhOaWxjY2x4dUlDQWdJQ0FnSUNBdWMyVjBLRndpYzJGdGNHeGxjbUYwWlZ3aUxDQnZjSFJwYjI1ekxuTmhiWEJzWlhKaGRHVWdmSHdnTVNBOFBDQXhOaWs3WEhKY2JpQWdJQ0FnSUdKeVpXRnJPMXh5WEc0Z0lDQWdZMkZ6WlNCY0lraHBiblJjSWpwY2NseHVJQ0FnSUNBZ2JXbHVaaTVoWkdRb1hDSm9iV2hrWENJcE95QXZMeUJVVDBSUE9pQmhaR1FnY0hKdmNHVnlkR2xsYzF4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJR05oYzJVZ1hDSlRkV0owYVhSc1pWd2lPbHh5WEc0Z0lDQWdJQ0J0YVc1bUxtRmtaQ2hjSW5OMGFHUmNJaWs3WEhKY2JpQWdJQ0FnSUhOM2FYUmphQ0FvYjNCMGFXOXVjeTUwZVhCbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbk4wY0hCY0lqcGNjbHh1SUNBZ0lDQWdJQ0FnSUhOaGJYQnNaVjlrWlhOamNtbHdkR2x2Ymw5bGJuUnllUzV6WlhRb1hDSnVZVzFsYzNCaFkyVmNJaXdnYjNCMGFXOXVjeTV1WVcxbGMzQmhZMlVnZkh3Z1hDSnViMjVoYldWemNHRmpaVndpS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YzJWMEtGd2ljMk5vWlcxaFgyeHZZMkYwYVc5dVhDSXNJRzl3ZEdsdmJuTXVjMk5vWlcxaFgyeHZZMkYwYVc5dUlIeDhJRndpWENJcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUM1elpYUW9YQ0poZFhocGJHbGhjbmxmYldsdFpWOTBlWEJsYzF3aUxDQnZjSFJwYjI1ekxtRjFlR2xzYVdGeWVWOXRhVzFsWDNSNWNHVnpJSHg4SUZ3aVhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0JqWVhObElGd2lUV1YwWVdSaGRHRmNJanBjY2x4dUlDQWdJQ0FnYldsdVppNWhaR1FvWENKdWJXaGtYQ0lwTzF4eVhHNGdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJR05oYzJVZ1hDSlRlWE4wWlcxY0lqcGNjbHh1SUNBZ0lDQWdiV2x1Wmk1aFpHUW9YQ0p1Yldoa1hDSXBPMXh5WEc0Z0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lHUmxabUYxYkhRNlhISmNiaUFnSUNBZ0lHMXBibVl1WVdSa0tGd2libTFvWkZ3aUtUdGNjbHh1SUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnZlZ4eVhHNGdJR2xtSUNodmNIUnBiMjV6TG1SbGMyTnlhWEIwYVc5dUtTQjdYSEpjYmlBZ0lDQnpZVzF3YkdWZlpHVnpZM0pwY0hScGIyNWZaVzUwY25rdVlXUmtRbTk0S0c5d2RHbHZibk11WkdWelkzSnBjSFJwYjI0cE8xeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2IzQjBhVzl1Y3k1a1pYTmpjbWx3ZEdsdmJsOWliM2hsY3lrZ2UxeHlYRzRnSUNBZ2IzQjBhVzl1Y3k1a1pYTmpjbWx3ZEdsdmJsOWliM2hsY3k1bWIzSkZZV05vS0daMWJtTjBhVzl1S0dJcElIdGNjbHh1SUNBZ0lDQWdjMkZ0Y0d4bFgyUmxjMk55YVhCMGFXOXVYMlZ1ZEhKNUxtRmtaRUp2ZUNoaUtUdGNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lIMWNjbHh1SUNCdGFXNW1MbUZrWkNoY0ltUnBibVpjSWlrdVlXUmtLRndpWkhKbFpsd2lLUzVoWkdSRmJuUnllU2dvYm1WM0lFSnZlRkJoY25ObGNsdGNJblZ5YkNCQ2IzaGNJbDBvS1NrdWMyVjBLRndpWm14aFozTmNJaXdnTUhneEtTazdYSEpjYmlBZ2RtRnlJSE4wWW13Z1BTQnRhVzVtTG1Ga1pDaGNJbk4wWW14Y0lpazdYSEpjYmlBZ2MzUmliQzVoWkdRb1hDSnpkSE5rWENJcExtRmtaRVZ1ZEhKNUtITmhiWEJzWlY5a1pYTmpjbWx3ZEdsdmJsOWxiblJ5ZVNrN1hISmNiaUFnYzNSaWJDNWhaR1FvWENKemRIUnpYQ0lwTG5ObGRDaGNJbk5oYlhCc1pWOWpiM1Z1ZEhOY0lpd2dXMTBwWEhKY2JpQWdJQ0F1YzJWMEtGd2ljMkZ0Y0d4bFgyUmxiSFJoYzF3aUxDQmJYU2s3WEhKY2JpQWdjM1JpYkM1aFpHUW9YQ0p6ZEhOalhDSXBMbk5sZENoY0ltWnBjbk4wWDJOb2RXNXJYQ0lzSUZ0ZEtWeHlYRzRnSUNBZ0xuTmxkQ2hjSW5OaGJYQnNaWE5mY0dWeVgyTm9kVzVyWENJc0lGdGRLVnh5WEc0Z0lDQWdMbk5sZENoY0luTmhiWEJzWlY5a1pYTmpjbWx3ZEdsdmJsOXBibVJsZUZ3aUxDQmJYU2s3WEhKY2JpQWdjM1JpYkM1aFpHUW9YQ0p6ZEdOdlhDSXBMbk5sZENoY0ltTm9kVzVyWDI5bVpuTmxkSE5jSWl3Z1cxMHBPMXh5WEc0Z0lITjBZbXd1WVdSa0tGd2ljM1J6ZWx3aUtTNXpaWFFvWENKellXMXdiR1ZmYzJsNlpYTmNJaXdnVzEwcE8xeHlYRzVjY2x4dUlDQjBhR2x6TG0xdmIzWXViWFpsZUM1aFpHUW9YQ0owY21WNFhDSXBMbk5sZENoY0luUnlZV05yWDJsa1hDSXNJRzl3ZEdsdmJuTXVhV1FwWEhKY2JpQWdJQ0F1YzJWMEtGd2laR1ZtWVhWc2RGOXpZVzF3YkdWZlpHVnpZM0pwY0hScGIyNWZhVzVrWlhoY0lpd2diM0IwYVc5dWN5NWtaV1poZFd4MFgzTmhiWEJzWlY5a1pYTmpjbWx3ZEdsdmJsOXBibVJsZUNCOGZDQXhLVnh5WEc0Z0lDQWdMbk5sZENoY0ltUmxabUYxYkhSZmMyRnRjR3hsWDJSMWNtRjBhVzl1WENJc0lHOXdkR2x2Ym5NdVpHVm1ZWFZzZEY5ellXMXdiR1ZmWkhWeVlYUnBiMjRnZkh3Z01DbGNjbHh1SUNBZ0lDNXpaWFFvWENKa1pXWmhkV3gwWDNOaGJYQnNaVjl6YVhwbFhDSXNJRzl3ZEdsdmJuTXVaR1ZtWVhWc2RGOXpZVzF3YkdWZmMybDZaU0I4ZkNBd0tWeHlYRzRnSUNBZ0xuTmxkQ2hjSW1SbFptRjFiSFJmYzJGdGNHeGxYMlpzWVdkelhDSXNJRzl3ZEdsdmJuTXVaR1ZtWVhWc2RGOXpZVzF3YkdWZlpteGhaM01nZkh3Z01DazdYSEpjYmlBZ2RHaHBjeTVpZFdsc1pGUnlZV3RUWVcxd2JHVk1hWE4wY3loMGNtRnJLVHRjY2x4dUlDQnlaWFIxY200Z2IzQjBhVzl1Y3k1cFpEdGNjbHh1ZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1Q2IzZ3VjSEp2ZEc5MGVYQmxMbU52YlhCMWRHVlR
1hWHBsSUQwZ1puVnVZM1JwYjI0b2MzUnlaV0Z0WHlrZ2UxeHlYRzRnSUhaaGNpQnpkSEpsWVcwZ1BTQnpkSEpsWVcxZklIeDhJRzVsZHlCRVlYUmhVM1J5WldGdEtDazdYSEpjYmlBZ2MzUnlaV0Z0TG1WdVpHbGhibTVsYzNNZ1BTQkVZWFJoVTNSeVpXRnRMa0pKUjE5RlRrUkpRVTQ3WEhKY2JpQWdkR2hwY3k1M2NtbDBaU2h6ZEhKbFlXMHBPMXh5WEc1OU8xeHlYRzVjY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdVlXUmtVMkZ0Y0d4bElEMGdablZ1WTNScGIyNG9kSEpoWTJ0ZmFXUXNJR1JoZEdFc0lGOXZjSFJwYjI1ektTQjdYSEpjYmlBZ2RtRnlJRzl3ZEdsdmJuTWdQU0JmYjNCMGFXOXVjeUI4ZkNCN2ZUdGNjbHh1SUNCMllYSWdjMkZ0Y0d4bElEMGdlMzA3WEhKY2JpQWdkbUZ5SUhSeVlXc2dQU0IwYUdsekxtZGxkRlJ5WVdOclFubEpaQ2gwY21GamExOXBaQ2s3WEhKY2JpQWdhV1lnS0hSeVlXc2dQVDA5SUc1MWJHd3BJSEpsZEhWeWJqdGNjbHh1SUNCellXMXdiR1V1Ym5WdFltVnlJRDBnZEhKaGF5NXpZVzF3YkdWekxteGxibWQwYUR0Y2NseHVJQ0J6WVcxd2JHVXVkSEpoWTJ0ZmFXUWdQU0IwY21GckxuUnJhR1F1ZEhKaFkydGZhV1E3WEhKY2JpQWdjMkZ0Y0d4bExuUnBiV1Z6WTJGc1pTQTlJSFJ5WVdzdWJXUnBZUzV0Wkdoa0xuUnBiV1Z6WTJGc1pUdGNjbHh1SUNCellXMXdiR1V1WkdWelkzSnBjSFJwYjI1ZmFXNWtaWGdnUFNBb2IzQjBhVzl1Y3k1ellXMXdiR1ZmWkdWelkzSnBjSFJwYjI1ZmFXNWtaWGdnUHlCdmNIUnBiMjV6TG5OaGJYQnNaVjlrWlhOamNtbHdkR2x2Ymw5cGJtUmxlQ0F0SURFZ09pQXdLVHRjY2x4dUlDQnpZVzF3YkdVdVpHVnpZM0pwY0hScGIyNGdQU0IwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG5OMGMyUXVaVzUwY21sbGMxdHpZVzF3YkdVdVpHVnpZM0pwY0hScGIyNWZhVzVrWlhoZE8xeHlYRzRnSUhOaGJYQnNaUzVrWVhSaElEMGdaR0YwWVR0Y2NseHVJQ0J6WVcxd2JHVXVjMmw2WlNBOUlHUmhkR0V1WW5sMFpVeGxibWQwYUR0Y2NseHVJQ0J6WVcxd2JHVXVZV3h5WldGa2VWSmxZV1FnUFNCellXMXdiR1V1YzJsNlpUdGNjbHh1SUNCellXMXdiR1V1WkhWeVlYUnBiMjRnUFNCdmNIUnBiMjV6TG1SMWNtRjBhVzl1SUh4OElERTdYSEpjYmlBZ2MyRnRjR3hsTG1OMGN5QTlJRzl3ZEdsdmJuTXVZM1J6SUh4OElEQTdYSEpjYmlBZ2MyRnRjR3hsTG1SMGN5QTlJRzl3ZEdsdmJuTXVaSFJ6SUh4OElEQTdYSEpjYmlBZ2MyRnRjR3hsTG1selgzTjVibU1nUFNCdmNIUnBiMjV6TG1selgzTjVibU1nZkh3Z1ptRnNjMlU3WEhKY2JpQWdjMkZ0Y0d4bExtbHpYMnhsWVdScGJtY2dQU0J2Y0hScGIyNXpMbWx6WDJ4bFlXUnBibWNnZkh3Z01EdGNjbHh1SUNCellXMXdiR1V1WkdWd1pXNWtjMTl2YmlBOUlHOXdkR2x2Ym5NdVpHVndaVzVrYzE5dmJpQjhmQ0F3TzF4eVhHNGdJSE5oYlhCc1pTNXBjMTlrWlhCbGJtUmxaRjl2YmlBOUlHOXdkR2x2Ym5NdWFYTmZaR1Z3Wlc1a1pXUmZiMjRnZkh3Z01EdGNjbHh1SUNCellXMXdiR1V1YUdGelgzSmxaSFZ1WkdGdVkza2dQU0J2Y0hScGIyNXpMbWhoYzE5eVpXUjFibVJoYm1ONUlIeDhJREE3WEhKY2JpQWdjMkZ0Y0d4bExtUmxaM0poWkdGMGFXOXVYM0J5YVc5eWFYUjVJRDBnYjNCMGFXOXVjeTVrWldkeVlXUmhkR2x2Ymw5d2NtbHZjbWwwZVNCOGZDQXdPMXh5WEc0Z0lITmhiWEJzWlM1dlptWnpaWFFnUFNBd08xeHlYRzRnSUhOaGJYQnNaUzV6ZFdKellXMXdiR1Z6SUQwZ2IzQjBhVzl1Y3k1emRXSnpZVzF3YkdWek8xeHlYRzRnSUhSeVlXc3VjMkZ0Y0d4bGN5NXdkWE5vS0hOaGJYQnNaU2s3WEhKY2JpQWdkSEpoYXk1ellXMXdiR1Z6WDNOcGVtVWdLejBnYzJGdGNHeGxMbk5wZW1VN1hISmNiaUFnZEhKaGF5NXpZVzF3YkdWelgyUjFjbUYwYVc5dUlDczlJSE5oYlhCc1pTNWtkWEpoZEdsdmJqdGNjbHh1SUNCcFppQW9JWFJ5WVdzdVptbHljM1JmWkhSektTQjdYSEpjYmlBZ0lDQjBjbUZyTG1acGNuTjBYMlIwY3lBOUlHOXdkR2x2Ym5NdVpIUnpPMXh5WEc0Z0lIMWNjbHh1WEhKY2JpQWdkR2hwY3k1d2NtOWpaWE56VTJGdGNHeGxjeWdwTzF4eVhHNWNjbHh1SUNCMllYSWdiVzl2WmlBOUlIUm9hWE11WTNKbFlYUmxVMmx1WjJ4bFUyRnRjR3hsVFc5dlppaHpZVzF3YkdVcE8xeHlYRzRnSUhSb2FYTXVZV1JrUW05NEtHMXZiMllwTzF4eVhHNGdJRzF2YjJZdVkyOXRjSFYwWlZOcGVtVW9LVHRjY2x4dUlDQXZLaUJoWkdwMWMzUnBibWNnZEdobElHUmhkR0ZmYjJabWMyVjBJRzV2ZHlCMGFHRjBJSFJvWlNCdGIyOW1JSE5wZW1VZ2FYTWdhMjV2ZDI0cUwxeHlYRzRnSUcxdmIyWXVkSEpoWm5OYk1GMHVkSEoxYm5OYk1GMHVaR0YwWVY5dlptWnpaWFFnUFNCdGIyOW1Mbk5wZW1VZ0t5QTRPeUF2THpnZ2FYTWdiV1JoZENCb1pXRmtaWEpjY2x4dUlDQjBhR2x6TG1Ga1pDaGNJbTFrWVhSY0lpa3VaR0YwWVNBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0dSaGRHRXBPMXh5WEc0Z0lISmxkSFZ5YmlCellXMXdiR1U3WEhKY2JuMDdYSEpjYmx4eVhHNUpVMDlHYVd4bExuQnliM1J2ZEhsd1pTNWpjbVZoZEdWVGFXNW5iR1ZUWVcxd2JHVk5iMjltSUQwZ1puVnVZM1JwYjI0b2MyRnRjR3hsS1NCN1hISmNiaUFnZG1GeUlITmhiWEJzWlY5bWJHRm5jeUE5SURBN1hISmNiaUFnYVdZZ0tITmhiWEJzWlM1cGMxOXplVzVqS1Z4eVhHNGdJQ0FnYzJGdGNHeGxYMlpzWVdkeklEMGdLREVnUER3Z01qVXBPeUFnTHk4Z2MyRnRjR3hsWDJSbGNHVnVaSE5mYjI1ZmJtOXVaU0FvU1NCd2FXTjBkWEpsS1Z4eVhHNGdJR1ZzYzJWY2NseHVJQ0FnSUhOaGJYQnNaVjltYkdGbmN5QTlJQ2d4SUR3OElERTJLVHNnSUM4dklHNXZiaTF6ZVc1alhISmNibHh5WEc0Z0lIWmhjaUJ0YjI5bUlEMGdibVYzSUVKdmVGQmhjbk5sY2k1dGIyOW1RbTk0S0NrN1hISmNiaUFnYlc5dlppNWhaR1FvWENKdFptaGtYQ0lwTG5ObGRDaGNJbk5sY1hWbGJtTmxYMjUxYldKbGNsd2lMQ0IwYUdsekxtNWxlSFJOYjI5bVRuVnRZbVZ5S1R0Y2NseHVJQ0IwYUdsekxtNWxlSFJOYjI5bVRuVnRZbVZ5S3lzN1hISmNiaUFnZG1GeUlIUnlZV1lnUFNCdGIyOW1MbUZrWkNoY0luUnlZV1pjSWlrN1hISmNiaUFnZG1GeUlIUnlZV3NnUFNCMGFHbHpMbWRsZEZSeVlXTnJRbmxKWkNoellXMXdiR1V1ZEhKaFkydGZhV1FwTzF4eVhHNGdJSFJ5WVdZdVlXUmtLRndpZEdab1pGd2lLUzV6WlhRb1hDSjBjbUZqYTE5cFpGd2lMQ0J6WVcxd2JHVXVkSEpoWTJ0ZmFXUXBYSEpjYmlBZ0lDQXVjMlYwS0Z3aVpteGhaM05jSWl3Z1FtOTRVR0Z5YzJWeUxsUkdTRVJmUmt4QlIxOUVSVVpCVlV4VVgwSkJVMFZmU1ZOZlRVOVBSaWs3WEhKY2JpQWdkSEpoWmk1aFpHUW9YQ0owWm1SMFhDSXBMbk5sZENoY0ltSmhjMlZOWldScFlVUmxZMjlrWlZScGJXVmNJaXdnS0hOaGJYQnNaUzVrZEhNZ0xTQW9kSEpoYXk1bWFYSnpkRjlrZEhNZ2ZId2dNQ2twS1R0Y2NseHVJQ0IwY21Gb
1UxtRmtaQ2hjSW5SeWRXNWNJaWt1YzJWMEtGd2labXhoWjNOY0lpd2dRbTk0VUdGeWMyVnlMbFJTVlU1ZlJreEJSMU5mUkVGVVFWOVBSa1pUUlZRZ2ZDQkNiM2hRWVhKelpYSXVWRkpWVGw5R1RFRkhVMTlFVlZKQlZFbFBUaUI4WEhKY2JpQWdJQ0JDYjNoUVlYSnpaWEl1VkZKVlRsOUdURUZIVTE5VFNWcEZJSHdnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJreEJSMU1nZkZ4eVhHNGdJQ0FnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlExUlRYMDlHUmxORlZDbGNjbHh1SUNBZ0lDNXpaWFFvWENKa1lYUmhYMjltWm5ObGRGd2lMQ0F3S1Z4eVhHNGdJQ0FnTG5ObGRDaGNJbVpwY25OMFgzTmhiWEJzWlY5bWJHRm5jMXdpTENBd0tWeHlYRzRnSUNBZ0xuTmxkQ2hjSW5OaGJYQnNaVjlqYjNWdWRGd2lMQ0F4S1Z4eVhHNGdJQ0FnTG5ObGRDaGNJbk5oYlhCc1pWOWtkWEpoZEdsdmJsd2lMQ0JiYzJGdGNHeGxMbVIxY21GMGFXOXVYU2xjY2x4dUlDQWdJQzV6WlhRb1hDSnpZVzF3YkdWZmMybDZaVndpTENCYmMyRnRjR3hsTG5OcGVtVmRLVnh5WEc0Z0lDQWdMbk5sZENoY0luTmhiWEJzWlY5bWJHRm5jMXdpTENCYmMyRnRjR3hsWDJac1lXZHpYU2xjY2x4dUlDQWdJQzV6WlhRb1hDSnpZVzF3YkdWZlkyOXRjRzl6YVhScGIyNWZkR2x0WlY5dlptWnpaWFJjSWl3Z1czTmhiWEJzWlM1amRITWdMU0J6WVcxd2JHVXVaSFJ6WFNrN1hISmNiaUFnY21WMGRYSnVJRzF2YjJZN1hISmNibjA3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5cGMyOW1hV3hsTFhOaGJYQnNaUzF3Y205alpYTnphVzVuTG1welhISmNiaThxSUVsdVpHVjRJRzltSUhSb1pTQnNZWE4wSUcxdmIyWWdZbTk0SUhKbFkyVnBkbVZrSUNvdlhISmNia2xUVDBacGJHVXVjSEp2ZEc5MGVYQmxMbXhoYzNSTmIyOW1TVzVrWlhnZ1BTQXdPMXh5WEc1Y2NseHVMeW9nYzJsNlpTQnZaaUIwYUdVZ1luVm1abVZ5Y3lCaGJHeHZZMkYwWldRZ1ptOXlJSE5oYlhCc1pYTWdLaTljY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdWMyRnRjR3hsYzBSaGRHRlRhWHBsSUQwZ01EdGNjbHh1WEhKY2JpOHFJRkpsYzJWMGN5QmhiR3dnYzJGdGNHeGxJSFJoWW14bGN5QXFMMXh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1eVpYTmxkRlJoWW14bGN5QTlJR1oxYm1OMGFXOXVLQ2tnZTF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUhaaGNpQjBjbUZyTENCemRHTnZMQ0J6ZEhOakxDQnpkSE42TENCemRIUnpMQ0JqZEhSekxDQnpkSE56TzF4eVhHNGdJSFJvYVhNdWFXNXBkR2xoYkY5a2RYSmhkR2x2YmlBOUlIUm9hWE11Ylc5dmRpNXRkbWhrTG1SMWNtRjBhVzl1TzF4eVhHNGdJSFJvYVhNdWJXOXZkaTV0ZG1oa0xtUjFjbUYwYVc5dUlEMGdNRHRjY2x4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2RHaHBjeTV0YjI5MkxuUnlZV3R6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjBjbUZySUQwZ2RHaHBjeTV0YjI5MkxuUnlZV3R6VzJsZE8xeHlYRzRnSUNBZ2RISmhheTUwYTJoa0xtUjFjbUYwYVc5dUlEMGdNRHRjY2x4dUlDQWdJSFJ5WVdzdWJXUnBZUzV0Wkdoa0xtUjFjbUYwYVc5dUlEMGdNRHRjY2x4dUlDQWdJSE4wWTI4Z1BTQjBjbUZyTG0xa2FXRXViV2x1Wmk1emRHSnNMbk4wWTI4Z2ZId2dkSEpoYXk1dFpHbGhMbTFwYm1ZdWMzUmliQzVqYnpZME8xeHlYRzRnSUNBZ2MzUmpieTVqYUhWdWExOXZabVp6WlhSeklEMGdXMTA3WEhKY2JpQWdJQ0J6ZEhOaklEMGdkSEpoYXk1dFpHbGhMbTFwYm1ZdWMzUmliQzV6ZEhOak8xeHlYRzRnSUNBZ2MzUnpZeTVtYVhKemRGOWphSFZ1YXlBOUlGdGRPMXh5WEc0Z0lDQWdjM1J6WXk1ellXMXdiR1Z6WDNCbGNsOWphSFZ1YXlBOUlGdGRPMXh5WEc0Z0lDQWdjM1J6WXk1ellXMXdiR1ZmWkdWelkzSnBjSFJwYjI1ZmFXNWtaWGdnUFNCYlhUdGNjbHh1SUNBZ0lITjBjM29nUFNCMGNtRnJMbTFrYVdFdWJXbHVaaTV6ZEdKc0xuTjBjM29nZkh3Z2RISmhheTV0WkdsaExtMXBibVl1YzNSaWJDNXpkSG95TzF4eVhHNGdJQ0FnYzNSemVpNXpZVzF3YkdWZmMybDZaWE1nUFNCYlhUdGNjbHh1SUNBZ0lITjBkSE1nUFNCMGNtRnJMbTFrYVdFdWJXbHVaaTV6ZEdKc0xuTjBkSE03WEhKY2JpQWdJQ0J6ZEhSekxuTmhiWEJzWlY5amIzVnVkSE1nUFNCYlhUdGNjbHh1SUNBZ0lITjBkSE11YzJGdGNHeGxYMlJsYkhSaGN5QTlJRnRkTzF4eVhHNGdJQ0FnWTNSMGN5QTlJSFJ5WVdzdWJXUnBZUzV0YVc1bUxuTjBZbXd1WTNSMGN6dGNjbHh1SUNBZ0lHbG1JQ2hqZEhSektTQjdYSEpjYmlBZ0lDQWdJR04wZEhNdWMyRnRjR3hsWDJOdmRXNTBjeUE5SUZ0ZE8xeHlYRzRnSUNBZ0lDQmpkSFJ6TG5OaGJYQnNaVjl2Wm1aelpYUnpJRDBnVzEwN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCemRITnpJRDBnZEhKaGF5NXRaR2xoTG0xcGJtWXVjM1JpYkM1emRITnpPMXh5WEc0Z0lDQWdkbUZ5SUdzZ1BTQjBjbUZyTG0xa2FXRXViV2x1Wmk1emRHSnNMbUp2ZUdWekxtbHVaR1Y0VDJZb2MzUnpjeWs3WEhKY2JpQWdJQ0JwWmlBb2F5QWhQU0F0TVNrZ2RISmhheTV0WkdsaExtMXBibVl1YzNSaWJDNWliM2hsYzF0clhTQTlJRzUxYkd3N1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVTVk5QUm1sc1pTNXBibWwwVTJGdGNHeGxSM0p2ZFhCeklEMGdablZ1WTNScGIyNG9kSEpoYXl3Z2RISmhaaXdnYzJKbmNITXNJSFJ5WVd0ZmMyZHdaSE1zSUhSeVlXWmZjMmR3WkhNcElIdGNjbHh1SUNCMllYSWdiRHRjY2x4dUlDQjJZWElnYXp0Y2NseHVJQ0IyWVhJZ2MyRnRjR3hsWDJkeWIzVndjMTlwYm1adk8xeHlYRzRnSUhaaGNpQnpZVzF3YkdWZlozSnZkWEJmYVc1bWJ6dGNjbH
1h1SUNCMllYSWdjMkZ0Y0d4bFgyZHliM1Z3WDJ0bGVUdGNjbHh1WEhKY2JpQWdablZ1WTNScGIyNGdVMkZ0Y0d4bFIzSnZkWEJKYm1adktGOTBlWEJsTENCZmNHRnlZVzFsZEdWeUxDQmZjMkpuY0NrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVuY205MWNHbHVaMTkwZVhCbElEMGdYM1I1Y0dVN1hISmNiaUFnSUNCMGFHbHpMbWR5YjNWd2FXNW5YM1I1Y0dWZmNHRnlZVzFsZEdWeUlEMGdYM0JoY21GdFpYUmxjanRjY2x4dUlDQWdJSFJvYVhNdWMySm5jQ0E5SUY5elltZHdPMXh5WEc0Z0lDQWdkR2hwY3k1c1lYTjBYM05oYlhCc1pWOXBibDl5ZFc0Z1BTQXRNVHRjY2x4dUlDQWdJSFJvYVhNdVpXNTBjbmxmYVc1a1pYZ2dQU0F0TVR0Y2NseHVJQ0I5WEhKY2JseHlYRzRnSUdsbUlDaDBjbUZtS1NCN1hISmNiaUFnSUNCMGNtRm1Mbk5oYlhCc1pWOW5jbTkxY0hOZmFXNW1ieUE5SUZ0ZE8xeHlYRzRnSUgxY2NseHVJQ0JwWmlBb0lYUnlZV3N1YzJGdGNHeGxYMmR5YjNWd2MxOXBibVp2S1NCN1hISmNiaUFnSUNCMGNtRnJMbk5oYlhCc1pWOW5jbTkxY0hOZmFXNW1ieUE5SUZ0ZE8xeHlYRzRnSUgxY2NseHVJQ0JtYjNJZ0tHc2dQU0F3T3lCcklEd2djMkpuY0hNdWJHVnVaM1JvT3lCckt5c3BJSHRjY2x4dUlDQWdJSE5oYlhCc1pWOW5jbTkxY0Y5clpYa2dQU0J6WW1kd2MxdHJYUzVuY205MWNHbHVaMTkwZVhCbElDc2dYQ0l2WENJZ0t5QnpZbWR3YzF0clhTNW5jbTkxY0dsdVoxOTBlWEJsWDNCaGNtRnRaWFJsY2p0Y2NseHVJQ0FnSUhOaGJYQnNaVjluY205MWNGOXBibVp2SUQwZ2JtVjNJRk5oYlhCc1pVZHliM1Z3U1c1bWJ5aHpZbWR3YzF0clhTNW5jbTkxY0dsdVoxOTBlWEJsTENCelltZHdjMXRyWFM1bmNtOTFjR2x1WjE5MGVYQmxYM0JoY21GdFpYUmxjaXdnYzJKbmNITmJhMTBwTzF4eVhHNGdJQ0FnYVdZZ0tIUnlZV1lwSUh0Y2NseHVJQ0FnSUNBZ2RISmhaaTV6WVcxd2JHVmZaM0p2ZFhCelgybHVabTliYzJGdGNHeGxYMmR5YjNWd1gydGxlVjBnUFNCellXMXdiR1ZmWjNKdmRYQmZhVzVtYnp0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDZ2hkSEpoYXk1ellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmMyRnRjR3hsWDJkeWIzVndYMnRsZVYwcElIdGNjbHh1SUNBZ0lDQWdkSEpoYXk1ellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmMyRnRjR3hsWDJkeWIzVndYMnRsZVYwZ1BTQnpZVzF3YkdWZlozSnZkWEJmYVc1bWJ6dGNjbH
1h1SUNBZ0lIMWNjbHh1SUNBZ0lHWnZjaUFvYkNBOUlEQTdJR3dnUENCMGNtRnJYM05uY0dSekxteGxibWQwYURzZ2JDc3JLU0I3WEhKY2JpQWdJQ0FnSUdsbUlDaDBjbUZyWDNObmNHUnpXMnhkTG1keWIzVndhVzVuWDNSNWNHVWdQVDA5SUhOaVozQnpXMnRkTG1keWIzVndhVzVuWDNSNWNHVXBJSHRjY2x4dUlDQWdJQ0FnSUNCellXMXdiR1ZmWjNKdmRYQmZhVzVtYnk1a1pYTmpjbWx3ZEdsdmJpQTlJSFJ5WVd0ZmMyZHdaSE5iYkYwN1hISmNiaUFnSUNBZ0lDQWdjMkZ0Y0d4bFgyZHliM1Z3WDJsdVptOHVaR1Z6WTNKcGNIUnBiMjR1ZFhObFpDQTlJSFJ5ZFdVN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHbG1JQ2gwY21GbVgzTm5jR1J6S1NCN1hISmNiaUFnSUNBZ0lHWnZjaUFvYkNBOUlEQTdJR3dnUENCMGNtRm1YM05uY0dSekxteGxibWQwYURzZ2JDc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJ5WVdaZmMyZHdaSE5iYkYwdVozSnZkWEJwYm1kZmRIbHdaU0E5UFQwZ2MySm5jSE5iYTEwdVozSnZkWEJwYm1kZmRIbHdaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdjMkZ0Y0d4bFgyZHliM1Z3WDJsdVptOHVabkpoWjIxbGJuUmZaR1Z6WTNKcGNIUnBiMjRnUFNCMGNtRm1YM05uY0dSelcyeGRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ2MyRnRjR3hsWDJkeWIzVndYMmx1Wm04dVpuSmhaMjFsYm5SZlpHVnpZM0pwY0hScGIyNHVkWE5sWkNBOUlIUnlkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQnpZVzF3YkdWZlozSnZkWEJmYVc1bWJ5NXBjMTltY21GbmJXVnVkQ0E5SUhSeWRXVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNGdJR2xtSUNnaGRISmhaaWtnZTF4eVhHNGdJQ0FnWm05eUlDaHJJRDBnTURzZ2F5QThJSFJ5WVd0ZmMyZHdaSE11YkdWdVozUm9PeUJyS3lzcElIdGNjbHh1SUNBZ0lDQWdhV1lnS0NGMGNtRnJYM05uY0dSelcydGRMblZ6WldRZ0ppWWdkSEpoYTE5elozQmtjMXRyWFM1MlpYSnphVzl1SUQ0OUlESXBJSHRjY2x4dUlDQWdJQ0FnSUNCellXMXdiR1ZmWjNKdmRYQmZhMlY1SUQwZ2RISmhhMTl6WjNCa2MxdHJYUzVuY205MWNHbHVaMTkwZVhCbElDc2dYQ0l2TUZ3aU8xeHlYRzRnSUNBZ0lDQWdJSE5oYlhCc1pWOW5jbTkxY0Y5cGJtWnZJRDBnYm1WM0lGTmhiWEJzWlVkeWIzVndTVzVtYnloMGNtRnJYM05uY0dSelcydGRMbWR5YjNWd2FXNW5YM1I1Y0dVc0lEQXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkSEpoYXk1ellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmMyRnRjR3hsWDJkeWIzVndYMnRsZVYwcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhSeVlXc3VjMkZ0Y0d4bFgyZHliM1Z3YzE5cGJtWnZXM05oYlhCc1pWOW5jbTkxY0Y5clpYbGRJRDBnYzJGdGNHeGxYMmR5YjNWd1gybHVabTg3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUdsbUlDaDBjbUZtWDNObmNHUnpLU0I3WEhKY2JpQWdJQ0FnSUdadmNpQW9heUE5SURBN0lHc2dQQ0IwY21GbVgzTm5jR1J6TG14bGJtZDBhRHNnYXlzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRjBjbUZtWDNObmNHUnpXMnRkTG5WelpXUWdKaVlnZEhKaFpsOXpaM0JrYzF0clhTNTJaWEp6YVc5dUlENDlJRElwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJSE5oYlhCc1pWOW5jbTkxY0Y5clpYa2dQU0IwY21GbVgzTm5jR1J6VzJ0ZExtZHliM1Z3YVc1blgzUjVjR1VnS3lCY0lpOHdYQ0k3WEhKY2JpQWdJQ0FnSUNBZ0lDQnpZVzF3YkdWZlozSnZkWEJmYVc1bWJ5QTlJRzVsZHlCVFlXMXdiR1ZIY205MWNFbHVabThvZEhKaFpsOXpaM0JrYzF0clhTNW5jbTkxY0dsdVoxOTBlWEJsTENBd0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUhOaGJYQnNaVjluY205MWNGOXBibVp2TG1selgyWnlZV2R0Wlc1MElEMGdkSEoxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJR2xtSUNnaGRISmhaaTV6WVcxd2JHVmZaM0p2ZFhCelgybHVabTliYzJGdGNHeGxYMmR5YjNWd1gydGxlVjBwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEhKaFppNXpZVzF3YkdWZlozSnZkWEJ6WDJsdVptOWJjMkZ0Y0d4bFgyZHliM1Z3WDJ0bGVWMGdQU0J6WVcxd2JHVmZaM0p2ZFhCZmFXNW1ienRjY2x4dUlDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0I5WEhKY2JuMDdYSEpjYmx4eVhHNUpVMDlHYVd4bExuTmxkRk5oYlhCc1pVZHliM1Z3VUhKdmNHVnlkR2xsY3lBOUlHWjFibU4wYVc5dUtIUnlZV3NzSUhOaGJYQnNaU3dnYzJGdGNHeGxYMjUxYldKbGNpd2djMkZ0Y0d4bFgyZHliM1Z3YzE5cGJtWnZLU0I3WEhKY2JpQWdkbUZ5SUdzN1hISmNiaUFnZG1GeUlHbHVaR1Y0TzF4eVhHNGdJSE5oYlhCc1pTNXpZVzF3YkdWZlozSnZkWEJ6SUQwZ1cxMDdYSEpjYmlBZ1ptOXlJQ2hySUdsdUlITmhiWEJzWlY5bmNtOTFjSE5mYVc1bWJ5a2dlMXh5WEc0Z0lDQWdjMkZ0Y0d4bExuTmhiWEJzWlY5bmNtOTFjSE5iYTEwZ1BTQjdmVHRjY2x4dUlDQWdJSE5oYlhCc1pTNXpZVzF3YkdWZlozSnZkWEJ6VzJ0ZExtZHliM1Z3YVc1blgzUjVjR1VnUFNCellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmExMHVaM0p2ZFhCcGJtZGZkSGx3WlR0Y2NseHVJQ0FnSUhOaGJYQnNaUzV6WVcxd2JHVmZaM0p2ZFhCelcydGRMbWR5YjNWd2FXNW5YM1I1Y0dWZmNHRnlZVzFsZEdWeUlEMGdjMkZ0Y0d4bFgyZHliM1Z3YzE5cGJtWnZXMnRkTG1keWIzVndhVzVuWDNSNWNHVmZjR0Z5WVcxbGRHVnlPMXh5WEc0Z0lDQWdhV1lnS0hOaGJYQnNaVjl1ZFcxaVpYSWdQajBnYzJGdGNHeGxYMmR5YjNWd2MxOXBibVp2VzJ0ZExteGhjM1JmYzJGdGNHeGxYMmx1WDNKMWJpa2dlMXh5WEc0Z0lDQWdJQ0JwWmlBb2MyRnRjR3hsWDJkeWIzVndjMTlwYm1adlcydGRMbXhoYzNSZmMyRnRjR3hsWDJsdVgzSjFiaUE4SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0J6WVcxd2JHVmZaM0p2ZFhCelgybHVabTliYTEwdWJHRnpkRjl6WVcxd2JHVmZhVzVmY25WdUlEMGdNRHRjY2x4dUlDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmExMHVaVzUwY25sZmFXNWtaWGdyS3p0Y2NseHVJQ0FnSUNBZ2FXWWdLSE5oYlhCc1pWOW5jbTkxY0hOZmFXNW1iMXRyWFM1bGJuUnllVjlwYm1SbGVDQThQU0J6WVcxd2JHVmZaM0p2ZFhCelgybHVabTliYTEwdWMySm5jQzVsYm5SeWFXVnpMbXhsYm1kMGFDQXRJREVwSUh0Y2NseHVJQ0FnSUNBZ0lDQnpZVzF3YkdWZlozSnZkWEJ6WDJsdVptOWJhMTB1YkdGemRGOXpZVzF3YkdWZmFXNWZjblZ1SUNzOUlITmhiWEJzWlY5bmNtOTFjSE5mYVc1bWIxdHJYUzV6WW1kd0xtVnVkSEpwWlhOYmMyRnRjR3hsWDJkeWIzVndjMTlwYm1adlcydGRMbVZ1ZEhKNVgybHVaR1Y0WFM1ellXMXdiR1ZmWTI5MWJuUTdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR2xtSUNoellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmExMHVaVzUwY25sZmFXNWtaWGdnUEQwZ2MyRnRjR3hsWDJkeWIzVndjMTlwYm1adlcydGRMbk5pWjNBdVpXNTBjbWxsY3k1c1pXNW5kR2dnTFNBeEtTQjdYSEpjYmlBZ0lDQWdJSE5oYlhCc1pTNXpZVzF3YkdWZlozSnZkWEJ6VzJ0ZExtZHliM1Z3WDJSbGMyTnlhWEIwYVc5dVgybHVaR1Y0SUQwZ2MyRnRjR3hsWDJkeWIzVndjMTlwYm1adlcydGRMbk5pWjNBdVpXNTBjbWxsYzF0ellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmExMHVaVzUwY25sZmFXNWtaWGhkTG1keWIzVndYMlJsYzJOeWFYQjBhVzl1WDJsdVpHVjRPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjMkZ0Y0d4bExuTmhiWEJzWlY5bmNtOTFjSE5iYTEwdVozSnZkWEJmWkdWelkzSnBjSFJwYjI1ZmFXNWtaWGdnUFNBdE1Uc2dMeThnYzNCbFkybGhiQ0IyWVd4MVpTQm1iM0lnYm05MElHUmxabWx1WldSY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDaHpZVzF3YkdVdWMyRnRjR3hsWDJkeWIzVndjMXRyWFM1bmNtOTFjRjlrWlhOamNtbHdkR2x2Ymw5cGJtUmxlQ0FoUFQwZ01Da2dlMXh5WEc0Z0lDQWdJQ0IyWVhJZ1pHVnpZM0pwY0hScGIyNDdYSEpjYmlBZ0lDQWdJR2xtSUNoellXMXdiR1ZmWjNKdmRYQnpYMmx1Wm05YmExMHVabkpoWjIxbGJuUmZaR1Z6WTNKcGNIUnBiMjRwSUh0Y2NseHVJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiaUE5SUhOaGJYQnNaVjluY205MWNITmZhVzVtYjF0clhTNW1jbUZuYldWdWRGOWtaWE5qY21sd2RHbHZianRjY2x4dUlDQWdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJpQTlJSE5oYlhCc1pWOW5jbTkxY0hOZmFXNW1iMXRyWFM1a1pYTmpjbWx3ZEdsdmJqdGNjbHh1SUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0JwWmlBb2MyRnRjR3hsTG5OaGJYQnNaVjluY205MWNITmJhMTB1WjNKdmRYQmZaR1Z6WTNKcGNIUnBiMjVmYVc1a1pYZ2dQaUF3S1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hOaGJYQnNaUzV6WVcxd2JHVmZaM0p2ZFhCelcydGRMbWR5YjNWd1gyUmxjMk55YVhCMGFXOXVYMmx1WkdWNElENGdOalUxTXpVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUdsdVpHVjRJRDBnS0hOaGJYQnNaUzV6WVcxd2JHVmZaM0p2ZFhCelcydGRMbWR5YjNWd1gyUmxjMk55YVhCMGFXOXVYMmx1WkdWNElENCtJREUyS1NBdElERTdYSEpjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lHbHVaR1Y0SUQwZ2MyRnRjR3hsTG5OaGJYQnNaVjluY205MWNITmJhMTB1WjNKdmRYQmZaR1Z6WTNKcGNIUnBiMjVmYVc1a1pYZ2dMU0F4TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbH
1h1SUNBZ0lDQWdJQ0JwWmlBb1pHVnpZM0pwY0hScGIyNGdKaVlnYVc1a1pYZ2dQajBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnYzJGdGNHeGxMbk5oYlhCc1pWOW5jbTkxY0hOYmExMHVaR1Z6WTNKcGNIUnBiMjRnUFNCa1pYTmpjbWx3ZEdsdmJpNWxiblJ5YVdWelcybHVaR1Y0WFR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmxjMk55YVhCMGFXOXVJQ1ltSUdSbGMyTnlhWEIwYVc5dUxuWmxjbk5wYjI0Z1BqMGdNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dSbGMyTnlhWEIwYVc5dUxtUmxabUYxYkhSZlozSnZkWEJmWkdWelkzSnBjSFJwYjI1ZmFXNWtaWGdnUGlBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1ellXMXdiR1ZmWjNKdmRYQnpXMnRkTG1SbGMyTnlhWEIwYVc5dUlEMGdaR1Z6WTNKcGNIUnBiMjR1Wlc1MGNtbGxjMXRrWlhOamNtbHdkR2x2Ymk1a1pXWmhkV3gwWDJkeWIzVndYMlJsYzJOeWFYQjBhVzl1WDJsdVpHVjRJQzBnTVYwN1hISmNiaUFnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1U1ZOUFJtbHNaUzV3Y205alpYTnpYM05rZEhBZ1BTQm1kVzVqZEdsdmJpaHpaSFJ3TENCellXMXdiR1VzSUc1MWJXSmxjaWtnZTF4eVhHNGdJR2xtSUNnaGMyRnRjR3hsS1NCN1hISmNiaUFnSUNCeVpYUjFjbTQ3WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2h6WkhSd0tTQjdYSEpjYmlBZ0lDQnpZVzF3YkdVdWFYTmZiR1ZoWkdsdVp5QTlJSE5rZEhBdWFYTmZiR1ZoWkdsdVoxdHVkVzFpWlhKZE8xeHlYRzRnSUNBZ2MyRnRjR3hsTG1SbGNHVnVaSE5mYjI0Z1BTQnpaSFJ3TG5OaGJYQnNaVjlrWlhCbGJtUnpYMjl1VzI1MWJXSmxjbDA3WEhKY2JpQWdJQ0J6WVcxd2JHVXVhWE5mWkdWd1pXNWtaV1JmYjI0Z1BTQnpaSFJ3TG5OaGJYQnNaVjlwYzE5a1pYQmxibVJsWkY5dmJsdHVkVzFpWlhKZE8xeHlYRzRnSUNBZ2MyRnRjR3hsTG1oaGMxOXlaV1IxYm1SaGJtTjVJRDBnYzJSMGNDNXpZVzF3YkdWZmFHRnpYM0psWkhWdVpHRnVZM2xiYm5WdFltVnlYVHRjY2x4dUlDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ2MyRnRjR3hsTG1selgyeGxZV1JwYm1jZ1BTQXdPMXh5WEc0Z0lDQWdjMkZ0Y0d4bExtUmxjR1Z1WkhOZmIyNGdQU0F3TzF4eVhHNGdJQ0FnYzJGdGNHeGxMbWx6WDJSbGNHVnVaR1ZrWDI5dUlEMGdNRHRjY2x4dUlDQWdJSE5oYlhCc1pTNW9ZWE5mY21Wa2RXNWtZVzVqZVNBOUlEQTdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1THlvZ1FuVnBiR1FnYVc1cGRHbGhiQ0J6WVcxd2JHVWdiR2x6ZENCbWNtOXRJQ0J6WVcxd2JHVWdkR0ZpYkdWeklDb3ZYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1KMWFXeGtVMkZ0Y0d4bFRHbHpkSE1nUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNCMllYSWdhVHRjY2x4dUlDQjJZWElnZEhKaGF6dGNjbHh1SUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NXRiMjkyTG5SeVlXdHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNCMGNtRnJJRDBnZEdocGN5NXRiMjkyTG5SeVlXdHpXMmxkTzF4eVhHNGdJQ0FnZEdocGN5NWlkV2xzWkZSeVlXdFRZVzF3YkdWTWFYTjBjeWgwY21GcktUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzVKVTA5R2FXeGxMbkJ5YjNSdmRIbHdaUzVpZFdsc1pGUnlZV3RUWVcxd2JHVk1hWE4wY3lBOUlHWjFibU4wYVc5dUtIUnlZV3NwSUh0Y2NseHVJQ0IyWVhJZ2Fpd2dhenRjY2x4dUlDQjJZWElnYzNSamJ5d2djM1J6WXl3Z2MzUnplaXdnYzNSMGN5d2dZM1IwY3l3Z2MzUnpjeXdnYzNSelpDd2djM1ZpY3l3Z2MySm5jSE1zSUhObmNHUnpMQ0J6ZEdSd08xeHlYRzRnSUhaaGNpQmphSFZ1YTE5eWRXNWZhVzVrWlhnc0lHTm9kVzVyWDJsdVpHVjRMQ0JzWVhOMFgyTm9kVzVyWDJsdVgzSjFiaXdnYjJabWMyVjBYMmx1WDJOb2RXNXJMQ0JzWVhOMFgzTmhiWEJzWlY5cGJsOWphSFZ1YXp0Y2NseHVJQ0IyWVhJZ2JHRnpkRjl6WVcxd2JHVmZhVzVmYzNSMGMxOXlkVzRzSUhOMGRITmZjblZ1WDJsdVpHVjRMQ0JzWVhOMFgzTmhiWEJzWlY5cGJsOWpkSFJ6WDNKMWJpd2dZM1IwYzE5eWRXNWZhVzVrWlhnc0lHeGhjM1JmYzNSemMxOXBibVJsZUN4Y2NseHVJQ0FnSUd4aGMzUmZjM1ZpYzE5cGJtUmxlQ3dnYzNWaWMxOWxiblJ5ZVY5cGJtUmxlQ3dnYkdGemRGOXpkV0p6WDNOaGJYQnNaVjlwYm1SbGVEdGNjbHh1WEhKY2JpQWdkSEpoYXk1ellXMXdiR1Z6SUQwZ1cxMDdYSEpjYmlBZ2RISmhheTV6WVcxd2JHVnpYMlIxY21GMGFXOXVJRDBnTUR0Y2NseHVJQ0IwY21GckxuTmhiWEJzWlhOZmMybDZaU0E5SURBN1hISmNiaUFnYzNSamJ5QTlJSFJ5WVdzdWJXUnBZUzV0YVc1bUxuTjBZbXd1YzNSamJ5QjhmQ0IwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG1Odk5qUTdYSEpjYmlBZ2MzUnpZeUE5SUhSeVlXc3ViV1JwWVM1dGFXNW1Mbk4wWW13dWMzUnpZenRjY2x4dUlDQnpkSE42SUQwZ2RISmhheTV0WkdsaExtMXBibVl1YzNSaWJDNXpkSE42SUh4OElIUnlZV3N1YldScFlTNXRhVzVtTG5OMFltd3VjM1I2TWp0Y2NseHVJQ0J6ZEhSeklEMGdkSEpoYXk1dFpHbGhMbTFwYm1ZdWMzUmliQzV6ZEhSek8xeHlYRzRnSUdOMGRITWdQU0IwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG1OMGRITTdYSEpjYmlBZ2MzUnpjeUE5SUhSeVlXc3ViV1JwWVM1dGFXNW1Mbk4wWW13dWMzUnpjenRjY2x4dUlDQnpkSE5rSUQwZ2RISmhheTV0WkdsaExtMXBibVl1YzNSaWJDNXpkSE5rTzF4eVhHNGdJSE4xWW5NZ1BTQjBjbUZyTG0xa2FXRXViV2x1Wmk1emRHSnNMbk4xWW5NN1hISmNiaUFnYzNSa2NDQTlJSFJ5WVdzdWJXUnBZUzV0YVc1bUxuTjBZbXd1YzNSa2NEdGNjbHh1SUNCelltZHdjeUE5SUhSeVlXc3ViV1JwWVM1dGFXNW1Mbk4wWW13dWMySm5jSE03WEhKY2JpQWdjMmR3WkhNZ1BTQjBjbUZyTG0xa2FXRXViV2x1Wmk1emRHSnNMbk5uY0dSek8xeHlYRzVjY2x4dUlDQnNZWE4wWDNOaGJYQnNaVjlwYmw5emRIUnpYM0oxYmlBOUlDMHhPMXh5WEc0Z0lITjBkSE5mY25WdVgybHVaR1Y0SUQwZ0xURTdYSEpjYmlBZ2JHRnpkRjl6WVcxd2JHVmZhVzVmWTNSMGMxOXlkVzRnUFNBdE1UdGNjbHh1SUNCamRIUnpYM0oxYmw5cGJtUmxlQ0E5SUMweE8xeHlYRzRnSUd4aGMzUmZjM1J6YzE5cGJtUmxlQ0E5SURBN1hISmNiaUFnYzNWaWMxOWxiblJ5ZVY5cGJtUmxlQ0E5SURBN1hISmNiaUFnYkdGemRGOXpkV0p6WDNOaGJYQnNaVjlwYm1SbGVDQTlJREE3WEhKY2JseHlYRzRnSUVsVFQwWnBiR1V1YVc1cGRGTmhiWEJzWlVkeWIzVndjeWgwY21GckxDQnVkV3hzTENCelltZHdjeXdnYzJkd1pITXBPMXh5WEc1Y2NseHVJQ0JwWmlBb2RIbHdaVzltSUhOMGMzb2dQVDA5SUZ3aWRXNWtaV1pwYm1Wa1hDSXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJqdGNjbHh1SUNCOVhISmNibHh5WEc0Z0lDOHFJSGRsSUdKMWFXeGtJSFJvWlNCellXMXdiR1Z6SUc5dVpTQmllU0J2Ym1VZ1lXNWtJR052YlhCMWRHVWdkR2hsYVhJZ2NISnZjR1Z5ZEdsbGN5QXFMMXh5WEc0Z0lHWnZjaUFvYWlBOUlEQTdJR29nUENCemRITjZMbk5oYlhCc1pWOXphWHBsY3k1c1pXNW5kR2c3SUdvckt5a2dlMXh5WEc0Z0lDQWdkbUZ5SUhOaGJYQnNaU0E5SUh0OU8xeHlYRzRnSUNBZ2MyRnRjR3hsTG01MWJXSmxjaUE5SUdvN1hISmNiaUFnSUNCellXMXdiR1V1ZEhKaFkydGZhV1FnUFNCMGNtRnJMblJyYUdRdWRISmhZMnRmYVdRN1hISmNiaUFnSUNCellXMXdiR1V1ZEdsdFpYTmpZV3hsSUQwZ2RISmhheTV0WkdsaExtMWthR1F1ZEdsdFpYTmpZV3hsTzF4eVhHNGdJQ0FnYzJGdGNHeGxMbUZzY21WaFpIbFNaV0ZrSUQwZ01EdGNjbHh1SUNBZ0lIUnlZV3N1YzJGdGNHeGxjMXRxWFNBOUlITmhiWEJzWlR0Y2NseHVJQ0FnSUM4cUlITnBlbVVnWTJGdUlHSmxJR3R1YjNkdUlHUnBjbVZqZEd4NUlDb3ZYSEpjYmlBZ0lDQnpZVzF3YkdVdWMybDZaU0E5SUhOMGMzb3VjMkZ0Y0d4bFgzTnBlbVZ6VzJwZE8xeHlYRzRnSUNBZ2RISmhheTV6WVcxd2JHVnpYM05wZW1V
1Z0t6MGdjMkZ0Y0d4bExuTnBlbVU3WEhKY2JpQWdJQ0F2S2lCamIyMXdkWFJwYm1jZ1kyaDFibXN0WW1GelpXUWdjSEp2Y0dWeWRHbGxjeUFvYjJabWMyVjBMQ0J6WVcxd2JHVWdaR1Z6WTNKcGNIUnBiMjRnYVc1a1pYZ3BLaTljY2x4dUlDQWdJR2xtSUNocUlEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lHTm9kVzVyWDJsdVpHVjRJRDBnTVRzZ0x5b2dkR2hsSUdacGNuTjBJSE5oYlhCc1pTQnBjeUJwYmlCMGFHVWdabWx5YzNRZ1kyaDFibXNnS0dOb2RXNXJJR2x1WkdWNFpYTWdZWEpsSURFdFltRnpaV1FwSUNvdlhISmNiaUFnSUNBZ0lHTm9kVzVyWDNKMWJsOXBibVJsZUNBOUlEQTdJQzhxSUhSb1pTQm1hWEp6ZENCamFIVnVheUJwY3lCMGFHVWdabWx5YzNRZ1pXNTBjbmtnYVc0Z2RHaGxJR1pwY25OMFgyTm9kVzVySUhSaFlteGxJQ292WEhKY2JpQWdJQ0FnSUhOaGJYQnNaUzVqYUhWdWExOXBibVJsZUNBOUlHTm9kVzVyWDJsdVpHVjRPMXh5WEc0Z0lDQWdJQ0J6WVcxd2JHVXVZMmgxYm10ZmNuVnVYMmx1WkdWNElEMGdZMmgxYm10ZmNuVnVYMmx1WkdWNE8xeHlYRzRnSUNBZ0lDQnNZWE4wWDNOaGJYQnNaVjlwYmw5amFIVnVheUE5SUhOMGMyTXVjMkZ0Y0d4bGMxOXdaWEpmWTJoMWJtdGJZMmgxYm10ZmNuVnVYMmx1WkdWNFhUdGNjbHh1SUNBZ0lDQWdiMlptYzJWMFgybHVYMk5vZFc1cklEMGdNRHRjY2x4dVhISmNiaUFnSUNBZ0lDOHFJRWx6SUhSb1pYSmxJR0Z1YjNSb1pYSWdaVzUwY25rZ2FXNGdkR2hsSUdacGNuTjBYMk5vZFc1cklIUmhZbXhsSUQ4Z0tpOWNjbHh1SUNBZ0lDQWdhV1lnS0dOb2RXNXJYM0oxYmw5cGJtUmxlQ0FySURFZ1BDQnpkSE5qTG1acGNuTjBYMk5vZFc1ckxteGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQzhxSUZSb1pTQnNZWE4wSUdOb2RXNXJJR2x1SUhSb1pTQnlkVzRnYVhNZ2RHaGxJR05vZFc1cklHSmxabTl5WlNCMGFHVWdibVY0ZENCbWFYSnpkQ0JqYUhWdWF5QXFMMXh5WEc0Z0lDQWdJQ0FnSUd4aGMzUmZZMmgxYm10ZmFXNWZjblZ1SUQwZ2MzUnpZeTVtYVhKemRGOWphSFZ1YTF0amFIVnVhMTl5ZFc1ZmFXNWtaWGdnS3lBeFhTQXRJREU3WEhKY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0x5b2dWR2hsY21VZ2FYTWdiMjVzZVNCdmJtVWdaVzUwY25rZ2FXNGdkR2hsSUhSaFlteGxMQ0JwZENCcGN5QjJZV3hwWkNCbWIzSWdZV3hzSUdaMWRIVnlaU0JqYUhWdWEzTXFMMXh5WEc0Z0lDQWdJQ0FnSUd4aGMzUmZZMmgxYm10ZmFXNWZjblZ1SUQwZ1NXNW1hVzVwZEhrN1hISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lHbG1JQ2hxSUR3Z2JHRnpkRjl6WVcxd2JHVmZhVzVmWTJoMWJtc3BJSHRjY2x4dUlDQWdJQ0FnSUNBdktpQjBhR1VnYzJGdGNHeGxJR2x6SUhOMGFXeHNJR2x1SUhSb1pTQmpkWEp5Wlc1MElHTm9kVzVySUNvdlhISmNiaUFnSUNBZ0lDQWdjMkZ0Y0d4bExtTm9kVzVyWDJsdVpHVjRJRDBnWTJoMWJtdGZhVzVrWlhnN1hISmNiaUFnSUNBZ0lDQWdjMkZ0Y0d4bExtTm9kVzVyWDNKMWJsOXBibVJsZUNBOUlHTm9kVzVyWDNKMWJsOXBibVJsZUR0Y2NseHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQXZLaUIwYUdVZ2MyRnRjR3hsSUdseklHbHVJSFJvWlNCdVpYaDBJR05vZFc1cklDb3ZYSEpjYmlBZ0lDQWdJQ0FnWTJoMWJtdGZhVzVrWlhnckt6dGNjbHh1SUNBZ0lDQWdJQ0J6WVcxd2JHVXVZMmgxYm10ZmFXNWtaWGdnUFNCamFIVnVhMTlwYm1SbGVEdGNjbHh1SUNBZ0lDQWdJQ0F2S2lCeVpYTmxkQ0IwYUdVZ1lXTmpkVzExYkdGMFpXUWdiMlptYzJWMElHbHVJSFJvWlNCamFIVnVheUFxTDF4eVhHNGdJQ0FnSUNBZ0lHOW1abk5sZEY5cGJsOWphSFZ1YXlBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHTm9kVzVyWDJsdVpHVjRJRHc5SUd4aGMzUmZZMmgxYm10ZmFXNWZjblZ1S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0F2S2lCemRHRjVJR2x1SUhSb1pTQnpZVzFsSUdWdWRISjVJRzltSUhSb1pTQm1hWEp6ZEY5amFIVnVheUIwWVdKc1pTQXFMMXh5WEc0Z0lDQWdJQ0FnSUNBZ0x5b2dZMmgxYm10ZmNuVnVYMmx1WkdWNElIVnViVzlrYVdacFpXUWdLaTljY2x4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdZMmgxYm10ZmNuVnVYMmx1WkdWNEt5czdYSEpjYmlBZ0lDQWdJQ0FnSUNBdktpQkpjeUIwYUdWeVpTQmhibTkwYUdWeUlHVnVkSEo1SUdsdUlIUm9aU0JtYVhKemRGOWphSFZ1YXlCMFlXSnNaU0EvSUNvdlhISmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1kyaDFibXRmY25WdVgybHVaR1Y0SUNzZ01TQThJSE4wYzJNdVptbHljM1JmWTJoMWJtc3ViR1Z1WjNSb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHFJRlJvWlNCc1lYTjBJR05vZFc1cklHbHVJSFJvWlNCeWRXNGdhWE1nZEdobElHTm9kVzVySUdKbFptOXlaU0IwYUdVZ2JtVjRkQ0JtYVhKemRDQmphSFZ1YXlBcUwxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCc1lYTjBYMk5vZFc1clgybHVYM0oxYmlBOUlITjBjMk11Wm1seWMzUmZZMmgxYm10YlkyaDFibXRmY25WdVgybHVaR1Y0SUNzZ01WMGdMU0F4TzF4eVhHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5b2dWR2hsY21VZ2FYTWdiMjVzZVNCdmJtVWdaVzUwY25rZ2FXNGdkR2hsSUhSaFlteGxMQ0JwZENCcGN5QjJZV3hwWkNCbWIzSWdZV3hzSUdaMWRIVnlaU0JqYUhWdWEzTXFMMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnNZWE4wWDJOb2RXNXJYMmx1WDNKMWJpQTlJRWx1Wm1sdWFYUjVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHlYRzVjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjMkZ0Y0d4bExtTm9kVzVyWDNKMWJsOXBibVJsZUNBOUlHTm9kVzVyWDNKMWJsOXBibVJsZUR0Y2NseHVJQ0FnSUNBZ0lDQnNZWE4wWDNOaGJYQnNaVjlwYmw5amFIVnVheUFyUFNCemRITmpMbk5oYlhCc1pYTmZjR1Z5WDJOb2RXNXJXMk5vZFc1clgzSjFibDlwYm1SbGVGMDdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dVhISmNiaUFnSUNCellXMXdiR1V1WkdWelkzSnBjSFJwYjI1ZmFXNWtaWGdnUFNCemRITmpMbk5oYlhCc1pWOWtaWE5qY21sd2RHbHZibDlwYm1SbGVGdHpZVzF3YkdVdVkyaDFibXRmY25WdVgybHVaR1Y0WFNBdElERTdYSEpjYmlBZ0lDQnpZVzF3YkdVdVpHVnpZM0pwY0hScGIyNGdQU0J6ZEhOa0xtVnVkSEpwWlhOYmMyRnRjR3hsTG1SbGMyTnlhWEIwYVc5dVgybHVaR1Y0WFR0Y2NseHVJQ0FnSUhOaGJYQnNaUzV2Wm1aelpYUWdQU0J6ZEdOdkxtTm9kVzVyWDI5bVpuTmxkSE5iYzJGdGNHeGxMbU5vZFc1clgybHVaR1Y0SUMwZ01WMGdLeUJ2Wm1aelpYUmZhVzVmWTJoMWJtczdJQzhxSUdOb2RXNXJJR2x1WkdWNFpYTWdZWEpsSURFdFltRnpaV1FnS2k5Y2NseHVJQ0FnSUc5bVpuTmxkRjlwYmw5amFIVnVheUFyUFNCellXMXdiR1V1YzJsNlpUdGNjbHh1WEhKY2JpQWdJQ0F2S2lCelpY
1UjBhVzVuSUdSMGN5d2dZM1J6TENCa2RYSmhkR2x2YmlCaGJtUWdjbUZ3SUdac1lXZHpJQ292WEhKY2JpQWdJQ0JwWmlBb2FpQStJR3hoYzNSZmMyRnRjR3hsWDJsdVgzTjBkSE5mY25WdUtTQjdYSEpjYmlBZ0lDQWdJSE4wZEhOZmNuVnVYMmx1WkdWNEt5czdYSEpjYmlBZ0lDQWdJR2xtSUNoc1lYTjBYM05oYlhCc1pWOXBibDl6ZEhSelgzSjFiaUE4SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0JzWVhOMFgzTmhiWEJzWlY5cGJsOXpkSFJ6WDNKMWJpQTlJREE3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ2JHRnpkRjl6WVcxd2JHVmZhVzVmYzNSMGMxOXlkVzRnS3owZ2MzUjBjeTV6WVcxd2JHVmZZMjkxYm5SelczTjBkSE5mY25WdVgybHVaR1Y0WFR0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHlYRzRnSUNBZ0lDQjBjbUZyTG5OaGJYQnNaWE5iYWlBdElERmRMbVIxY21GMGFXOXVJRDBnYzNSMGN5NXpZVzF3YkdWZlpHVnNkR0Z6VzNOMGRITmZjblZ1WDJsdVpHVjRYVHRjY2x4dUlDQWdJQ0FnZEhKaGF5NXpZVzF3YkdWelgyUjFjbUYwYVc5dUlDczlJSFJ5WVdzdWMyRnRjR3hsYzF0cUlDMGdNVjB1WkhWeVlYUnBiMjQ3WEhKY2JpQWdJQ0FnSUhOaGJYQnNaUzVrZEhNZ1BTQjBjbUZyTG5OaGJYQnNaWE5iYWlBdElERmRMbVIwY3lBcklIUnlZV3N1YzJGdGNHeGxjMXRxSUMwZ01WMHVaSFZ5WVhScGIyNDdYSEpjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQnpZVzF3YkdVdVpIUnpJRDBnTUR0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDaGpkSFJ6S1NCN1hISmNiaUFnSUNBZ0lHbG1JQ2hxSUQ0OUlHeGhjM1JmYzJGdGNHeGxYMmx1WDJOMGRITmZjblZ1S1NCN1hISmNiaUFnSUNBZ0lDQWdZM1IwYzE5eWRXNWZhVzVrWlhnckt6dGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHRnpkRjl6WVcxd2JHVmZhVzVmWTNSMGMxOXlkVzRnUENBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCc1lYTjBYM05oYlhCc1pWOXBibDlqZEhSelgzSjFiaUE5SURBN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUd4aGMzUmZjMkZ0Y0d4bFgybHVYMk4wZEhOZmNuVnVJQ3M5SUdOMGRITXVjMkZ0Y0d4bFgyTnZkVzUwYzF0amRIUnpYM0oxYmw5cGJtUmxlRjA3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ2MyRnRjR3hsTG1OMGN5QTlJSFJ5WVdzdWMyRnRjR3hsYzF0cVhTNWtkSE1nS3lCamRIUnpMbk5oYlhCc1pWOXZabVp6WlhSelcyTjBkSE5mY25WdVgybHVaR1Y0WFR0Y2NseHVJQ0FnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUhOaGJYQnNaUzVqZEhNZ1BTQnpZVzF3YkdVdVpIUnpPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhV1lnS0hOMGMzTXBJSHRjY2x4dUlDQWdJQ0FnYVdZZ0tHb2dQVDBnYzNSemN5NXpZVzF3YkdWZmJuVnRZbVZ5YzF0c1lYTjBYM04wYzNOZmFXNWtaWGhkSUMwZ01Ta2dleUF2THlCellXMXdiR1VnYm5WdFltVnljeUJoY21VZ01TMWlZWE5sWkZ4eVhHNGdJQ0FnSUNBZ0lITmhiWEJzWlM1cGMxOXplVzVqSUQwZ2RISjFaVHRjY2x4dUlDQWdJQ0FnSUNCc1lYTjBYM04wYzNOZmFXNWtaWGdyS3p0Y2NseHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQnpZVzF3YkdVdWFYTmZjM2x1WXlBOUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lITmhiWEJzWlM1a1pXZHlZV1JoZEdsdmJsOXdjbWx2Y21sMGVTQTlJREE3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ2FXWWdLSE4xWW5NcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2MzVmljeTVsYm5SeWFXVnpXM04xWW5OZlpXNTBjbmxmYVc1a1pYaGRMbk5oYlhCc1pWOWtaV3gwWVNBcklHeGhjM1JmYzNWaWMxOXpZVzF3YkdWZmFXNWtaWGdnUFQwZ2FpQXJJREVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJSE5oYlhCc1pTNXpkV0p6WVcxd2JHVnpJRDBnYzNWaWN5NWxiblJ5YVdWelczTjFZbk5mWlc1MGNubGZhVzVrWlhoZExuTjFZbk5oYlhCc1pYTTdYSEpjYmlBZ0lDQWdJQ0FnSUNCc1lYTjBYM04xWW5OZmMyRnRjR3hsWDJsdVpHVjRJQ3M5SUhOMVluTXVaVzUwY21sbGMxdHpkV0p6WDJWdWRISjVYMmx1WkdWNFhTNXpZVzF3YkdWZlpHVnNkR0U3WEhKY2JpQWdJQ0FnSUNBZ0lDQnpkV0p6WDJWdWRISjVYMmx1WkdWNEt5czdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCellXMXdiR1V1YVhOZmMzbHVZeUE5SUhSeWRXVTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQkpVMDlHYVd4bExuQnliMk5sYzNOZmMyUjBjQ2gwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG5Oa2RIQXNJSE5oYlhCc1pTd2djMkZ0Y0d4bExtNTFiV0psY2lrN1hISmNiaUFnSUNCcFppQW9jM1JrY0NrZ2UxeHlYRzRnSUNBZ0lDQnpZVzF3YkdVdVpHVm5jbUZrWVhScGIyNWZjSEpwYjNKcGRIa2dQU0J6ZEdSd0xuQnlhVzl5YVhSNVcycGRPMXh5WEc0Z0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdjMkZ0Y0d4bExtUmxaM0poWkdGMGFXOXVYM0J5YVc5eWFYUjVJRDBnTUR0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDaHpkV0p6S1NCN1hISmNiaUFnSUNBZ0lHbG1JQ2h6ZFdKekxtVnVkSEpwWlhOYmMzVmljMTlsYm5SeWVWOXBibVJsZUYwdWMyRnRjR3hsWDJSbGJIUmhJQ3NnYkdGemRGOXpkV0p6WDNOaGJYQnNaVjlwYm1SbGVDQTlQU0JxS1NCN1hISmNiaUFnSUNBZ0lDQWdjMkZ0Y0d4bExuTjFZbk5oYlhCc1pYTWdQU0J6ZFdKekxtVnVkSEpwWlhOYmMzVmljMTlsYm5SeWVWOXBibVJsZUYwdWMzVmljMkZ0Y0d4bGN6dGNjbHh1SUNBZ0lDQWdJQ0JzWVhOMFgzTjFZbk5mYzJGdGNHeGxYMmx1WkdWNElDczlJSE4xWW5NdVpXNTBjbWxsYzF0emRXSnpYMlZ1ZEhKNVgybHVaR1Y0WFM1ellXMXdiR1ZmWkdWc2RHRTdYSEpjYmlBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR2xtSUNoelltZHdjeTVzWlc1bmRHZ2dQaUF3SUh4OElITm5jR1J6TG14bGJtZDBhQ0ErSURBcElIdGNjbHh1SUNBZ0lDQWdTVk5QUm1sc1pTNXpaWFJUWVcxd2JHVkhjbTkxY0ZCeWIzQmxjblJwWlhNb2RISmhheXdnYzJGdGNHeGxMQ0JxTENCMGNtRnJMbk5oYlhCc1pWOW5jbTkxY0hOZmFXNW1ieWs3WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2hxSUQ0Z01Da2dlMXh5WEc0Z0lDQWdkSEpoYXk1ellXMXdiR1Z6VzJvZ0xTQXhYUzVrZFhKaGRHbHZiaUE5SUUxaGRHZ3ViV0Y0S0hSeVlXc3ViV1JwWVM1dFpHaGtMbVIxY21GMGFXOXVJQzBnZEhKaGF5NXpZVzF3YkdWelcyb2dMU0F4WFM1a2RITXNJREFwTzF4eVhHNGdJQ0FnZEhKaGF5NXpZVzF3YkdWelgyUjFjbUYwYVc5dUlDczlJSFJ5WVdzdWMyRnRjR3hsYzF0cUlDMGdNVjB1W
1khWeVlYUnBiMjQ3WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dUx5b2dWWEJrWVhSbElITmhiWEJzWlNCc2FYTjBJSGRvWlc0Z2JtVjNJQ2R0YjI5bUp5QmliM2hsY3lCaGNtVWdjbVZqWldsMlpXUWdLaTljY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdWRYQmtZWFJsVTJGdGNHeGxUR2x6ZEhNZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQjJZWElnYVN3Z2Fpd2dhenRjY2x4dUlDQjJZWElnWkdWbVlYVnNkRjl6WVcxd2JHVmZaR1Z6WTNKcGNIUnBiMjVmYVc1a1pYZ3NJR1JsWm1GMWJIUmZjMkZ0Y0d4bFgyUjFjbUYwYVc5dUxDQmtaV1poZFd4MFgzTmhiWEJzWlY5emFYcGxMQ0JrWldaaGRXeDBYM05oYlhCc1pWOW1iR0ZuY3p0Y2NseHVJQ0IyWVhJZ2JHRnpkRjl5ZFc1ZmNHOXphWFJwYjI0N1hISmNiaUFnZG1GeUlHSnZlQ3dnYlc5dlppd2dkSEpoWml3Z2RISmhheXdnZEhKbGVEdGNjbHh1SUNCMllYSWdjMkZ0Y0d4bE8xeHlYRzRnSUhaaGNpQnpZVzF3YkdWZlpteGhaM003WEhKY2JseHlYRzRnSUdsbUlDaDBhR2x6TG0xdmIzWWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1TzF4eVhHNGdJSDFjY2x4dUlDQXZLaUJwWmlCMGFHVWdhVzV3ZFhRZ1ptbHNaU0JwY3lCbWNtRm5iV1Z1ZEdWa0lHRnVaQ0JtWlhSamFHVmtJR2x1SUcxMWJIUnBjR3hsSUdSdmQyNXNiMkZrY3l3Z2QyVWdibVZsWkNCMGJ5QjFjR1JoZEdVZ2RHaGxJR3hwYzNRZ2IyWWdjMkZ0Y0d4bGN5QXFMMXh5WEc0Z0lIZG9hV3hsSUNoMGFHbHpMbXhoYzNSTmIyOW1TVzVrWlhnZ1BDQjBhR2x6TG0xdmIyWnpMbXhsYm1kMGFDa2dlMXh5WEc0Z0lDQWdZbTk0SUQwZ2RHaHBjeTV0YjI5bWMxdDBhR2x6TG14aGMzUk5iMjltU1c1a1pYaGRPMXh5WEc0Z0lDQWdkR2hwY3k1c1lYTjBUVzl2WmtsdVpHVjRLeXM3WEhKY2JpQWdJQ0JwWmlBb1ltOTRMblI1Y0dVZ1BUMGdYQ0p0YjI5bVhDSXBJSHRjY2x4dUlDQWdJQ0FnYlc5dlppQTlJR0p2ZUR0Y2NseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdmIyWXVkSEpoWm5NdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGNtRm1JRDBnYlc5dlppNTBjbUZtYzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0IwY21GcklEMGdkR2hwY3k1blpYUlVjbUZqYTBKNVNXUW9kSEpoWmk1MFptaGtMblJ5WVdOclgybGtLVHRjY2x4dUlDQWdJQ0FnSUNCMGNtVjRJRDBnZEdocGN5NW5aWFJVY21WNFFubEpaQ2gwY21GbUxuUm1hR1F1ZEhKaFkydGZhV1FwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwY21GbUxuUm1hR1F1Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkVaSVJGOUdURUZIWDFOQlRWQk1SVjlFUlZOREtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCa1pXWmhkV3gwWDNOaGJYQnNaVjlrWlhOamNtbHdkR2x2Ymw5cGJtUmxlQ0E5SUhSeVlXWXVkR1pvWkM1a1pXWmhkV3gwWDNOaGJYQnNaVjlrWlhOamNtbHdkR2x2Ymw5cGJtUmxlRHRjY2x4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2RGOXpZVzF3YkdWZlpHVnpZM0pwY0hScGIyNWZhVzVrWlhnZ1BTQW9kSEpsZUNBL0lIUnlaWGd1WkdWbVlYVnNkRjl6WVcxd2JHVmZaR1Z6WTNKcGNIUnBiMjVmYVc1a1pYZ2dPaUF4S1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUnlZV1l1ZEdab1pDNW1iR0ZuY3lBbUlFSnZlRkJoY25ObGNpNVVSa2hFWDBaTVFVZGZVMEZOVUV4RlgwUlZVaWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2RGOXpZVzF3YkdWZlpIVnlZWFJwYjI0Z1BTQjBjbUZtTG5SbWFHUXVaR1ZtWVhWc2RGOXpZVzF3YkdWZlpIVnlZWFJwYjI0N1hISmNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUdSbFptRjFiSFJmYzJGdGNHeGxYMlIxY21GMGFXOXVJRDBnS0hSeVpYZ2dQeUIwY21WNExtUmxabUYxYkhSZmMyRnRjR3hsWDJSMWNtRjBhVzl1SURvZ01DazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwY21GbUxuUm1hR1F1Wm14aFozTWdKaUJDYjNoUVlYSnpaWEl1VkVaSVJGOUdURUZIWDFOQlRWQk1SVjlUU1ZwRktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCa1pXWmhkV3gwWDNOaGJYQnNaVjl6YVhwbElEMGdkSEpoWmk1MFptaGtMbVJsWm1GMWJIUmZjMkZ0Y0d4bFgzTnBlbVU3WEhKY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUmZjMkZ0Y0d4bFgzTnBlbVVnUFNBb2RISmxlQ0EvSUhSeVpYZ3VaR1ZtWVhWc2RGOXpZVzF3YkdWZmMybDZaU0E2SURBcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9kSEpoWmk1MFptaGtMbVpzWVdkeklDWWdRbTk0VUdGeWMyVnlMbFJHU0VSZlJreEJSMTlUUVUxUVRFVmZSa3hCUjFNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUdSbFptRjFiSFJmYzJGdGNHeGxYMlpzWVdkeklEMGdkSEpoWmk1MFptaGtMbVJsWm1GMWJIUmZjMkZ0Y0d4bFgyWnNZV2R6TzF4eVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdJQ0JrWldaaGRXeDBYM05oYlhCc1pWOW1iR0ZuY3lBOUlDaDBjbVY0SUQ4Z2RISmxlQzVrWldaaGRXeDBYM05oYlhCc1pWOW1iR0ZuY3lBNklEQXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjBjbUZtTG5OaGJYQnNaVjl1ZFcxaVpYSWdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lDOHFJSEJ5YjJObGMzTWdjMkZ0Y0d4bElHZHliM1Z3Y3lBcUwxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMGNtRm1Mbk5pWjNCekxteGxibWQwYUNBK0lEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lFbFRUMFpwYkdVdWFXNXBkRk5oYlhCc1pVZHliM1Z3Y3loMGNtRnJMQ0IwY21GbUxDQjBjbUZtTG5OaVozQnpMQ0IwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG5ObmNHUnpMQ0IwY21GbUxuTm5jR1J6S1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaHFJRDBnTURzZ2FpQThJSFJ5WVdZdWRISjFibk11YkdWdVozUm9PeUJxS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUhaaGNpQjBjblZ1SUQwZ2RISmhaaTUwY25WdWMxdHFYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvYXlBOUlEQTdJR3NnUENCMGNuVnVMbk5oYlhCc1pWOWpiM1Z1ZERzZ2F5c3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSE5oYlhCc1pTQTlJSHQ5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6WVcxd2JHVXViVzl2Wmw5dWRXMWlaWElnUFNCMGFHbHpMbXhoYzNSTmIyOW1TVzVrWlhnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhOaGJYQnNaUzV1ZFcxaVpYSmZhVzVmZEhKaFppQTlJSFJ5WVdZdWMyRnRjR3hsWDI1MWJXSmxjanRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkSEpoWmk1ellXMXdiR1ZmYm5WdFltVnlLeXM3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSE5oYlhCc1pTNXVkVzFpWlhJZ1BTQjBjbUZyTG5OaGJYQnNaWE11YkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBjbUZtTG1acGNuTjBYM05oYlhCc1pWOXBibVJsZUNBOUlIUnlZV3N1YzJGdGNHeGxjeTVzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUnlZV3N1YzJGdGNHeGxjeTV3ZFhOb0tITmhiWEJzWlNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhOaGJYQnNaUzUwY21GamExOXBaQ0E5SUhSeVlXc3VkR3RvWkM1MGNtRmphMTlwWkR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYzJGdGNHeGxMblJwYldWelkyRnNaU0E5SUhSeVlXc3ViV1JwWVM1dFpHaGtMblJwYldWelkyRnNaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjMkZ0Y0d4bExtUmxjMk55YVhCMGFXOXVYMmx1WkdWNElEMGdaR1ZtWVhWc2RGOXpZVzF3YkdWZlpHVnpZM0pwY0hScGIyNWZhVzVrWlhnZ0xTQXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpZVzF3YkdVdVpHVnpZM0pwY0hScGIyNGdQU0IwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG5OMGMyUXVaVzUwY21sbGMxdHpZVzF3YkdVdVpHVnpZM0pwY0hScGIyNWZhVzVrWlhoZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCellXMXdiR1V1YzJsNlpTQTlJR1JsWm1GMWJIUmZjMkZ0Y0d4bFgzTnBlbVU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNo
1MGNuVnVMbVpzWVdkeklDWWdRbTk0VUdGeWMyVnlMbFJTVlU1ZlJreEJSMU5mVTBsYVJTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSE5oYlhCc1pTNXphWHBsSUQwZ2RISjFiaTV6WVcxd2JHVmZjMmw2WlZ0clhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGNtRnJMbk5oYlhCc1pYTmZjMmw2WlNBclBTQnpZVzF3YkdVdWMybDZaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjMkZ0Y0d4bExtUjFjbUYwYVc5dUlEMGdaR1ZtWVhWc2RGOXpZVzF3YkdWZlpIVnlZWFJwYjI0N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBjblZ1TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJGVlNRVlJKVDA0cElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZVzF3YkdVdVpIVnlZWFJwYjI0Z1BTQjBjblZ1TG5OaGJYQnNaVjlrZFhKaGRHbHZibHRyWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwY21GckxuTmhiWEJzWlhOZlpIVnlZWFJwYjI0Z0t6MGdjMkZ0Y0d4bExtUjFjbUYwYVc5dU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSEpoYXk1bWFYSnpkRjkwY21GbVgyMWxjbWRsWkNCOGZDQnJJRDRnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1a2RITWdQU0IwY21GckxuTmhiWEJzWlhOYmRISmhheTV6WVcxd2JHVnpMbXhsYm1kMGFDQXRJREpkTG1SMGN5QXJJSFJ5WVdzdWMyRnRjR3hsYzF0MGNtRnJMbk5oYlhCc1pYTXViR1Z1WjNSb0lDMGdNbDB1WkhWeVlYUnBiMjQ3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSeVlXWXVkR1prZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMkZ0Y0d4bExtUjBjeUE5SUhSeVlXWXVkR1prZEM1aVlYTmxUV1ZrYVdGRVpXTnZaR1ZVYVcxbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZVzF3YkdVdVpIUnpJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RISmhheTVtYVhKemRGOTBjbUZtWDIxbGNtZGxaQ0E5SUhSeWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyRnRjR3hsTG1OMGN5QTlJSE5oYlhCc1pTNWtkSE03WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGNuVnVMbVpzWVdkeklDWWdRbTk0VUdGeWMyVnlMbFJTVlU1ZlJreEJSMU5mUTFSVFgwOUdSbE5GVkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1amRITWdQU0J6WVcxd2JHVXVaSFJ6SUNzZ2RISjFiaTV6WVcxd2JHVmZZMjl0Y0c5emFYUnBiMjVmZEdsdFpWOXZabVp6WlhSYmExMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyRnRjR3hsWDJac1lXZHpJRDBnWkdWbVlYVnNkRjl6WVcxd2JHVmZabXhoWjNNN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBjblZ1TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJreEJSMU1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCellXMXdiR1ZmWm14aFozTWdQU0IwY25WdUxuTmhiWEJzWlY5bWJHRm5jMXRyWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNocklEMDlQU0F3SUNZbUlDaDBjblZ1TG1ac1lXZHpJQ1lnUW05NFVHRnljMlZ5TGxSU1ZVNWZSa3hCUjFOZlJrbFNVMVJmUmt4QlJ5a3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6WVcxd2JHVmZabXhoWjNNZ1BTQjBjblZ1TG1acGNuTjBYM05oYlhCc1pWOW1iR0ZuY3p0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6WVcxd2JHVXVhWE5mYzNsdVl5QTlJQ2dvYzJGdGNHeGxYMlpzWVdkeklENCtJREUySUNZZ01IZ3hLU0EvSUdaaGJITmxJRG9nZEhKMVpTazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1cGMxOXNaV0ZrYVc1bklEMGdLSE5oYlhCc1pWOW1iR0ZuY3lBK1BpQXlOaUFtSURCNE15azdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1a1pYQmxibVJ6WDI5dUlEMGdLSE5oYlhCc1pWOW1iR0ZuY3lBK1BpQXlOQ0FtSURCNE15azdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1cGMxOWtaWEJsYm1SbFpGOXZiaUE5SUNoellXMXdiR1ZmWm14aFozTWdQajRnTWpJZ0ppQXdlRE1wTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6WVcxd2JHVXVhR0Z6WDNKbFpIVnVaR0Z1WTNrZ1BTQW9jMkZ0Y0d4bFgyWnNZV2R6SUQ0K0lESXdJQ1lnTUhnektUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyRnRjR3hsTG1SbFozSmhaR0YwYVc5dVgzQnlhVzl5YVhSNUlEMGdLSE5oYlhCc1pWOW1iR0ZuY3lBbUlEQjRSa1pHUmlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dlNWTlBSbWxzWlM1d2NtOWpaWE56WDNOa2RIQW9kSEpoWmk1elpIUndMQ0J6WVcxd2JHVXNJSE5oYlhCc1pTNXVkVzFpWlhKZmFXNWZkSEpoWmlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmlaRzl3SUQwZ0tIUnlZV1l1ZEdab1pDNW1iR0ZuY3lBbUlFSnZlRkJoY25ObGNpNVVSa2hFWDBaTVFVZGZRa0ZUUlY5RVFWUkJYMDlHUmxORlZDa2dQeUIwY25WbElEb2dabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmtZbWx0SUQwZ0tIUnlZV1l1ZEdab1pDNW1iR0ZuY3lBbUlFSnZlRkJoY25ObGNpNVVSa2hFWDBaTVFVZGZSRVZHUVZWTVZGOUNRVk5GWDBsVFgwMVBUMFlwSUQ4Z2RISjFaU0E2SUdaaGJITmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnWkc5d0lEMGdLSFJ5ZFc0dVpteGhaM01nSmlCQ2IzaFFZWEp6WlhJdVZGSlZUbDlHVEVGSFUxOUVRVlJCWDA5R1JsTkZWQ2tnUHlCMGNuVmxJRG9nWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJpWkc4Z1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdKa2IzQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXUmlhVzBwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hxSUQwOVBTQXdLU0I3SUM4dklIUm9aU0JtYVhKemRDQjBjbUZqYXlCcGJpQjBhR1VnYlc5MmFXVWdabkpoWjIxbGJuUmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW1SdklEMGdiVzl2Wmk1emRHRnlkRHNnTHk4Z2RHaGxJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQm1hWEp6ZENCaWVYUmxJRzltSUhSb1pTQmxibU5zYjNOcGJtY2dUVzkyYVdVZ1JuSmhaMjFsYm5RZ1FtOTRY
1SEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaVpHOGdQU0JzWVhOMFgzSjFibDl3YjNOcGRHbHZianNnTHk4Z1pXNWtJRzltSUhSb1pTQmtZWFJoSUdSbFptbHVaV1FnWW5rZ2RHaGxJSEJ5WldObFpHbHVaeUFxZEhKaFkyc3FJQ2hwY25KbGMzQmxZM1JwZG1VZ2IyWWdkR2hsSUhSeVlXTnJJR2xrS1NCbWNtRm5iV1Z1ZENCcGJpQjBhR1VnYlc5dlpseHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpWkc4Z1BTQnRiMjltTG5OMFlYSjBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmlaRzhnUFNCMGNtRm1MblJtYUdRdVltRnpaVjlrWVhSaFgyOW1abk5sZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FpQTlQVDBnTUNBbUppQnJJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSdmNDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJGdGNHeGxMbTltWm5ObGRDQTlJR0prYnlBcklIUnlkVzR1WkdGMFlWOXZabVp6WlhRN0lDOHZJRWxtSUhSb1pTQmtZWFJoTFc5bVpuTmxkQ0JwY3lCd2NtVnpaVzUwTENCcGRDQnBjeUJ5Wld4aGRHbDJaU0IwYnlCMGFHVWdZbUZ6WlMxa1lYUmhMVzltWm5ObGRDQmxjM1JoWW14cGMyaGxaQ0JwYmlCMGFHVWdkSEpoWTJzZ1puSmhaMjFsYm5RZ2FHVmhaR1Z5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOaGJYQnNaUzV2Wm1aelpYUWdQU0JpWkc4N0lDOHZJSFJvWlNCa1lYUmhJR1p2Y2lCMGFHbHpJSEoxYmlCemRHRnlkSE1nZEdobElHSmhjMlV0WkdGMFlTMXZabVp6WlhRZ1pHVm1hVzVsWkNCaWVTQjBhR1VnZEhKaFkyc2dabkpoWjIxbGJuUWdhR1ZoWkdWeVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhOaGJYQnNaUzV2Wm1aelpYUWdQU0JzWVhOMFgzSjFibDl3YjNOcGRHbHZianNnTHk4Z2RHaHBjeUJ5ZFc0Z2MzUmhjblJ6SUdsdGJXVmthV0YwWld4NUlHRm1kR1Z5SUhSb1pTQmtZWFJoSUc5bUlIUm9aU0J3Y21WMmFXOTFjeUJ5ZFc1Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JzWVhOMFgzSjFibDl3YjNOcGRHbHZiaUE5SUhOaGJYQnNaUzV2Wm1aelpYUWdLeUJ6WVcxd2JHVXVjMmw2WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUnlZV1l1YzJKbmNITXViR1Z1WjNSb0lENGdNQ0I4ZkNCMGNtRm1Mbk5uY0dSekxteGxibWQwYUNBK0lEQWdmSHhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwY21GckxtMWthV0V1YldsdVppNXpkR0pzTG5OaVozQnpMbXhsYm1kMGFDQStJREFnZkh3Z2RISmhheTV0WkdsaExtMXBibVl1YzNSaWJDNXpaM0JrY3k1c1pXNW5kR2dnUGlBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdTVk5QUm1sc1pTNXpaWFJUWVcxd2JHVkhjbTkxY0ZCeWIzQmxjblJwWlhNb2RISmhheXdnYzJGdGNHeGxMQ0J6WVcxd2JHVXViblZ0WW1WeVgybHVYM1J5WVdZc0lIUnlZV1l1YzJGdGNHeGxYMmR5YjNWd2MxOXBibVp2S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEhKaFppNXpkV0p6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0IwY21GckxtaGhjMTltY21GbmJXVnVkRjl6ZFdKellXMXdiR1Z6SUQwZ2RISjFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ6WVcxd2JHVmZhVzVrWlhnZ1BTQjBjbUZtTG1acGNuTjBYM05oYlhCc1pWOXBibVJsZUR0Y2NseHVJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2FpQTlJREE3SUdvZ1BDQjBjbUZtTG5OMVluTXVaVzUwY21sbGN5NXNaVzVuZEdnN0lHb3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6WVcxd2JHVmZhVzVrWlhnZ0t6MGdkSEpoWmk1emRXSnpMbVZ1ZEhKcFpYTmJhbDB1YzJGdGNHeGxYMlJsYkhSaE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCellXMXdiR1VnUFNCMGNtRnJMbk5oYlhCc1pYTmJjMkZ0Y0d4bFgybHVaR1Y0SUMwZ01WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITmhiWEJzWlM1emRXSnpZVzF3YkdWeklEMGdkSEpoWmk1emRXSnpMbVZ1ZEhKcFpYTmJhbDB1YzNWaWMyRnRjR3hsY3p0Y2NseHVJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lCVWNua2dkRzhnWjJWMElITmhiWEJzWlNCa1lYUmhJR1p2Y2lCaElHZHBkbVZ1SUhOaGJYQnNaVHBjY2x4dUlDQWdjbVYwZFhKdWN5QnVkV3hzSUdsbUlHNXZkQ0JtYjNWdVpGeHlYRzRnSUNCeVpYUjFjbTV6SUhSb1pTQnpZVzFsSUhOaGJYQnNaU0JwWmlCaGJISmxZV1I1SUhKbGNYVmxjM1JsWkZ4eVhHNGdLaTljY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdVoyVjBVMkZ0Y0d4bElEMGdablZ1WTNScGIyNG9kSEpoYXl3Z2MyRnRjR3hsVG5WdEtTQjdYSEpjYmlBZ2RtRnlJR0oxWm1abGNqdGNjbHh1SUNCMllYSWdjMkZ0Y0d4bElEMGdkSEpoYXk1ellXMXdiR1Z6VzNOaGJYQnNaVTUxYlYwN1hISmNibHh5WEc0Z0lHbG1JQ2doZEdocGN5NXRiMjkyS1NCN1hISmNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1SUNCOVhISmNibHh5WEc0Z0lHbG1JQ2doYzJGdGNHeGxMbVJoZEdFcElIdGNjbHh1SUNBZ0lDOHFJRTV2ZENCNVpYUWdabVYwWTJobFpDQXFMMXh5WEc0Z0lDQWdjMkZ0Y0d4bExtUmhkR0VnUFNCdVpYY2dWV2x1ZERoQmNuSmhlU2h6WVcxd2JHVXVjMmw2WlNrN1hISmNiaUFnSUNCellXMXdiR1V1WVd4eVpXRmtlVkpsWVdRZ1BTQXdPMXh5WEc0Z0lDQWdkR2hwY3k1ellXMXdiR1Z6UkdGMFlWTnBlbVVnS3owZ2MyRnRjR3hsTG5OcGVtVTdYSEpjYmlBZ0lDQk1iMmN1WkdWaWRXY29YQ0pKVTA5R2FXeGxYQ0lzSUZ3aVFXeHNiMk5oZEdsdVp5QnpZVzF3YkdVZ0kxd2lJQ3NnYzJGdGNHeGxUblZ0SUNzZ1hDSWdiMjRnZEhKaFkyc2dJMXdpSUNzZ2RISmhheTUwYTJoa0xuUnlZV05yWDJsa0lDc2dYQ0lnYjJZZ2MybDZaU0JjSWlBcklITmhiWEJzWlM1emFYcGxJQ3NnWENJZ0tIUnZkR0ZzT2lCY0lpQXJJSFJvYVhNdWMyRnRjR3hsYzBSaGRHRlRhWHBsSUNzZ1hDSXBYQ0lwTzF4eVhHNGdJSDBnWld4elpTQnBaaUFvYzJGdGNHeGxMbUZzY21WaFpIbFNaV0ZrSUQwOUlITmhiWEJzWlM1emFYcGxLU0I3WEhKY2JpQWdJQ0F2S2lCQmJISmxZV1I1SUdabGRHTm9aV1FnWlc1MGFYSmxiSGtnS2k5Y2NseHVJQ0FnSUhKbGRIVnliaUJ6WVcxd2JHVTdYSEpjYmlBZ2ZWeHlYRzVjY2x4dUlDQXZLaUJVYUdVZ2MyRnRjR3hsSUdoaGN5QnZibXg1SUdKbFpXNGdjR0Z5ZEdsaGJHeDVJR1psZEdOb1pXUXNJSGRsSUc1bFpXUWdkRzhnWTJobFkyc2dhVzRnWVd4c0lHSjFabVpsY25NZ0tpOWNjbHh1SUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh5WEc0Z0lDQWdkbUZ5SUdsdVpHVjRJRDBnZEdocGN5NXpkSEpsWVcwdVptbHVaRkJ2YzJsMGFXOXVLSFJ5ZFdVc0lITmhiWEJzWlM1dlptWnpaWFFnS3lCellXMXdiR1V1WVd4eVpXRmtlVkpsWVdRc0lHWmhiSE5sS1R0Y2NseHVJQ0FnSUdsbUlDaHBibVJsZUNBK0lDMHhLU0I3WEhKY2JpQWdJQ0FnSUdKMVptWmxjaUE5SUhSb2FYTXVjM1J5WldGdExtSjFabVpsY25OYmFXNWtaWGhkTzF4eVhHNGdJQ0FnSUNCMllYSWdiR1Z1WjNSb1FXWjBaWEpUZEdGeWRDQTlJR0oxWm1
1abGNpNWllWFJsVEdWdVozUm9JQzBnS0hOaGJYQnNaUzV2Wm1aelpYUWdLeUJ6WVcxd2JHVXVZV3h5WldGa2VWSmxZV1FnTFNCaWRXWm1aWEl1Wm1sc1pWTjBZWEowS1R0Y2NseHVJQ0FnSUNBZ2FXWWdLSE5oYlhCc1pTNXphWHBsSUMwZ2MyRnRjR3hsTG1Gc2NtVmhaSGxTWldGa0lEdzlJR3hsYm1kMGFFRm1kR1Z5VTNSaGNuUXBJSHRjY2x4dUlDQWdJQ0FnSUNBdktpQjBhR1VnS0hKbGMzUWdiMllnZEdobEtTQnpZVzF3YkdVZ2FYTWdaVzUwYVhKbGJIa2dZMjl1ZEdGcGJtVmtJR2x1SUhSb2FYTWdZblZtWm1WeUlDb3ZYSEpjYmx4eVhHNGdJQ0FnSUNBZ0lFeHZaeTVrWldKMVp5aGNJa2xUVDBacGJHVmNJaXdnWENKSFpYUjBhVzVuSUhOaGJYQnNaU0FqWENJZ0t5QnpZVzF3YkdWT2RXMGdLeUJjSWlCa1lYUmhJQ2hoYkhKbFlXUjVVbVZoWkRvZ1hDSWdLeUJ6WVcxd2JHVXVZV3h5WldGa2VWSmxZV1FnS3lCY0lpQnZabVp6WlhRNklGd2lJQ3RjY2x4dUlDQWdJQ0FnSUNBZ0lDaHpZVzF3YkdVdWIyWm1jMlYwSUNzZ2MyRnRjR3hsTG1Gc2NtVmhaSGxTWldGa0lDMGdZblZtWm1WeUxtWnBiR1ZUZEdGeWRDa2dLeUJjSWlCeVpXRmtJSE5wZW1VNklGd2lJQ3NnS0hOaGJYQnNaUzV6YVhwbElDMGdjMkZ0Y0d4bExtRnNjbVZoWkhsU1pXRmtLU0FySUZ3aUlHWjFiR3dnYzJsNlpUb2dYQ0lnS3lCellXMXdiR1V1YzJsNlpTQXJJRndpS1Z3aUtUdGNjbHh1WEhKY2JpQWdJQ0FnSUNBZ1JHRjBZVk4wY21WaGJTNXRaVzFqY0hrb2MyRnRjR3hsTG1SaGRHRXVZblZtWm1WeUxDQnpZVzF3YkdVdVlXeHlaV0ZrZVZKbFlXUXNYSEpjYmlBZ0lDQWdJQ0FnSUNCaWRXWm1aWElzSUhOaGJYQnNaUzV2Wm1aelpYUWdLeUJ6WVcxd2JHVXVZV3h5WldGa2VWSmxZV1FnTFNCaWRXWm1aWEl1Wm1sc1pWTjBZWEowTENCellXMXdiR1V1YzJsNlpTQXRJSE5oYlhCc1pTNWhiSEpsWVdSNVVtVmhaQ2s3WEhKY2JseHlYRzRnSUNBZ0lDQWdJQzhxSUhWd1pHRjBaU0IwYUdVZ2JuVnRZbVZ5SUc5bUlHSjVkR1Z6SUhWelpXUWdhVzRnZEdocGN5QmlkV1ptWlhJZ1lXNWtJR05vWldOcklHbG1JR2wwSUc1bFpXUnpJSFJ2SUdKbElISmxiVzkyWldRZ0tpOWNjbHh1SUNBZ0lDQWdJQ0JpZFdabVpYSXVkWE5sWkVKNWRHVnpJQ3M5SUhOaGJYQnNaUzV6YVhwbElDMGdjMkZ0Y0d4bExtRnNjbVZoWkhsU1pXRmtPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVjM1J5WldGdExteHZaMEoxWm1abGNreGxkbVZzS0NrN1hISmNibHh5WEc0Z0lDQWdJQ0FnSUhOaGJYQnNaUzVoYkhKbFlXUjVVbVZoWkNBOUlITmhiWEJzWlM1emFYcGxPMXh5WEc1Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2MyRnRjR3hsTzF4eVhHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDOHFJSFJvWlNCellXMXdiR1VnWkc5bGN5QnViM1FnWlc1a0lHbHVJSFJvYVhNZ1luVm1abVZ5SUNvdlhISmNibHh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHNaVzVuZEdoQlpuUmxjbE4wWVhKMElEMDlQU0F3S1NCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhKY2JpQWdJQ0FnSUNBZ1RHOW5MbVJsWW5WbktGd2lTVk5QUm1sc1pWd2lMQ0JjSWtkbGRIUnBibWNnYzJGdGNHeGxJQ05jSWlBcklITmhiWEJzWlU1MWJTQXJJRndpSUhCaGNuUnBZV3dnWkdGMFlTQW9ZV3h5WldGa2VWSmxZV1E2SUZ3aUlDc2djMkZ0Y0d4bExtRnNjbVZoWkhsU1pXRmtJQ3NnWENJZ2IyWm1jMlYwT2lCY0lpQXJYSEpjYmlBZ0lDQWdJQ0FnSUNBb2MyRnRjR3hsTG05bVpuTmxkQ0FySUhOaGJYQnNaUzVoYkhKbFlXUjVVbVZoWkNBdElHSjFabVpsY2k1bWFXeGxVM1JoY25RcElDc2dYQ0lnY21WaFpDQnphWHBsT2lCY0lpQXJJR3hsYm1kMGFFRm1kR1Z5VTNSaGNuUWdLeUJjSWlCbWRXeHNJSE5wZW1VNklGd2lJQ3NnYzJGdGNHeGxMbk5wZW1VZ0t5QmNJaWxjSWlrN1hISmNibHh5WEc0Z0lDQWdJQ0FnSUVSaGRHRlRkSEpsWVcwdWJXVnRZM0I1S0hOaGJYQnNaUzVrWVhSaExtSjFabVpsY2l3Z2MyRnRjR3hsTG1Gc2NtVmhaSGxTWldGa0xGeHlYRzRnSUNBZ0lDQWdJQ0FnWW5WbVptVnlMQ0J6WVcxd2JHVXViMlptYzJWMElDc2djMkZ0Y0d4bExtRnNjbVZoWkhsU1pXRmtJQzBnWW5WbVptVnlMbVpwYkdWVGRHRnlkQ3dnYkdWdVozUm9RV1owWlhKVGRHRnlkQ2s3WEhKY2JpQWdJQ0FnSUNBZ2MyRnRjR3hsTG1Gc2NtVmhaSGxTWldGa0lDczlJR3hsYm1kMGFFRm1kR1Z5VTNSaGNuUTdYSEpjYmx4eVhHNGdJQ0FnSUNBZ0lDOHFJSFZ3WkdGMFpTQjBhR1VnYm5WdFltVnlJRzltSUdKNWRHVnpJSFZ6WldRZ2FXNGdkR2hwY3lCaWRXWm1aWElnWVc1a0lHTm9aV05ySUdsbUlHbDBJRzVsWldSeklIUnZJR0psSUhKbGJXOTJaV1FnS2k5Y2NseHVJQ0FnSUNBZ0lDQmlkV1ptWlhJdWRYTmxaRUo1ZEdWeklDczlJR3hsYm1kMGFFRm1kR1Z5VTNSaGNuUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXpkSEpsWVcwdWJHOW5RblZtWm1WeVRHVjJaV3dvS1R0Y2NseHVYSEpjYmlBZ0lDQWdJQ0FnTHlvZ2EyVmxjQ0JzYjI5cmFXNW5JR2x1SUhSb1pTQnVaWGgwSUdKMVptWmxjaUFxTDF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1SUNBZ0lIMWNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzR2S2lCU1pXeGxZWE5sSUhSb1pTQnRaVzF2Y25rZ2RYTmxaQ0IwYnlCemRHOXlaU0IwYUdVZ1pHRjBZU0J2WmlCMGFHVWdjMkZ0Y0d4bElDb3ZYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG5KbGJHVmhjMlZUWVcxd2JHVWdQU0JtZFc1amRHbHZiaWgwY21GckxDQnpZVzF3YkdWT2RXMHBJSHRjY2x4dUlDQjJZWElnYzJGdGNHeGxJRDBnZEhKaGF5NXpZVzF3YkdWelczTmhiWEJzWlU1MWJWMDdYSEpjYmlBZ2FXWWdLSE5oYlhCc1pTNWtZWFJoS1NCN1hISmNiaUFnSUNCMGFHbHpMbk5oYlhCc1pYTkVZWFJoVTJsNlpTQXRQU0J6WVcxd2JHVXVjMmw2WlR0Y2NseHVJQ0FnSUhOaGJYQnNaUzVrWVhSaElEMGdiblZzYkR0Y2NseHVJQ0FnSUhOaGJYQnNaUzVoYkhKbFlXUjVVbVZoWkNBOUlEQTdYSEpjYmlBZ0lDQnlaWFIxY200Z2MyRnRjR3hsTG5OcGVtVTdYSEpjYmlBZ2ZTQmxiSE5sSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUF3TzF4eVhHNGdJSDFjY2x4dWZUdGNjbHh1WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExtZGxkRUZzYkc5allYUmxaRk5oYlhCc1pVUmhkR0ZUYVhwbElEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdjbVYwZFhKdUlIUm9hWE11YzJGdGNHeGxjMFJoZEdGVGFYcGxPMXh5WEc1OU8xeHlYRzVjY2x4dUx5b2dRblZwYkdSeklIUm9aU0JOU1UxRklGUjVjR1VnSjJOdlpHVmpjeWNnYzNWaUxYQmhjbUZ0WlhSbGNuTWdabTl5SUhSb1pTQjNh
1RzlzWlNCbWFXeGxJQ292WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExtZGxkRU52WkdWamN5QTlJR1oxYm1OMGFXOXVLQ2tnZTF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUhaaGNpQmpiMlJsWTNNZ1BTQmNJbHdpTzF4eVhHNGdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG0xdmIzWXVkSEpoYTNNdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJSFpoY2lCMGNtRnJJRDBnZEdocGN5NXRiMjkyTG5SeVlXdHpXMmxkTzF4eVhHNGdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hISmNiaUFnSUNBZ0lHTnZaR1ZqY3lBclBTQmNJaXhjSWp0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdOdlpHVmpjeUFyUFNCMGNtRnJMbTFrYVdFdWJXbHVaaTV6ZEdKc0xuTjBjMlF1Wlc1MGNtbGxjMXN3WFM1blpYUkRiMlJsWXlncE8xeHlYRzRnSUgxY2NseHVJQ0J5WlhSMWNtNGdZMjlrWldOek8xeHlYRzU5TzF4eVhHNWNjbHh1THlvZ1NHVnNjR1Z5SUdaMWJtTjBhVzl1SUNvdlhISmNia2xUVDBacGJHVXVjSEp2ZEc5MGVYQmxMbWRsZEZSeVpYaENlVWxrSUQwZ1puVnVZM1JwYjI0b2FXUXBJSHRjY2x4dUlDQjJZWElnYVR0Y2NseHVJQ0JwWmlBb0lYUm9hWE11Ylc5dmRpQjhmQ0FoZEdocGN5NXRiMjkyTG0xMlpYZ3BJSEpsZEhWeWJpQnVkV3hzTzF4eVhHNGdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG0xdmIzWXViWFpsZUM1MGNtVjRjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ2RtRnlJSFJ5WlhnZ1BTQjBhR2x6TG0xdmIzWXViWFpsZUM1MGNtVjRjMXRwWFR0Y2NseHVJQ0FnSUdsbUlDaDBjbVY0TG5SeVlXTnJYMmxrSUQwOUlHbGtLU0J5WlhSMWNtNGdkSEpsZUR0Y2NseHVJQ0I5WEhKY2JpQWdjbVYwZFhKdUlHNTFiR3c3WEhKY2JuMDdYSEpjYmx4eVhHNHZLaUJJWld4d1pYSWdablZ1WTNScGIyNGdLaTljY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdVoyVjBWSEpoWTJ0Q2VVbGtJRDBnWm5WdVkzUnBiMjRvYVdRcElIdGNjbHh1SUNCcFppQW9kR2hwY3k1dGIyOTJJRDA5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh5WEc0Z0lIMWNjbHh1SUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElIUm9hWE11Ylc5dmRpNTBjbUZyY3k1c1pXNW5kR2c3SUdvckt5a2dlMXh5WEc0Z0lDQWdkbUZ5SUhSeVlXc2dQU0IwYUdsekxtMXZiM1l1ZEhKaGEzTmJhbDA3WEhKY2JpQWdJQ0JwWmlBb2RISmhheTUwYTJoa0xuUnlZV05yWDJsa0lEMDlJR2xrS1NCeVpYUjFjbTRnZEhKaGF6dGNjbHh1SUNCOVhISmNiaUFnY21WMGRYSnVJRzUxYkd3N1hISmNibjA3WEhKY2JpOHZJR1pwYkdVNmMzSmpMMmx6YjJacGJHVXRhWFJsYlMxd2NtOWpaWE56YVc1bkxtcHpYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1sMFpXMXpJRDBnVzEwN1hISmNiaThxSUhOcGVtVWdiMllnZEdobElHSjFabVpsY25NZ1lXeHNiMk5oZEdWa0lHWnZjaUJ6WVcxd2JHVnpJQ292WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExtbDBaVzF6UkdGMFlWTnBlbVVnUFNBd08xeHlYRzVjY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdVpteGhkSFJsYmtsMFpXMUpibVp2SUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ2RtRnlJR2wwWlcxeklEMGdkR2hwY3k1cGRHVnRjenRjY2x4dUlDQjJZWElnYVN3Z2FqdGNjbHh1SUNCMllYSWdhWFJsYlR0Y2NseHVJQ0IyWVhJZ2JXVjBZU0E5SUhSb2FYTXViV1YwWVR0Y2NseHVJQ0JwWmlBb2JXVjBZU0E5UFQwZ2JuVnNiQ0I4ZkNCdFpYUmhJRDA5UFNCMWJtUmxabWx1WldRcElISmxkSFZ5Ymp0Y2NseHVJQ0JwWmlBb2JXVjBZUzVvWkd4eUlEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnlianRjY2x4dUlDQnBaaUFvYldWMFlTNXBhVzVtSUQwOVBTQjFibVJsWm1sdVpXUXBJSEpsZEhWeWJqdGNjbHh1SUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYldWMFlTNXBhVzVtTG1sMFpXMWZhVzVtYjNNdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJR2wwWlcwZ1BTQjdmVHRjY2x4dUlDQWdJR2wwWlcwdWFXUWdQU0J0WlhSaExtbHBibVl1YVhSbGJWOXBibVp2YzF0cFhTNXBkR1Z0WDBsRU8xeHlYRzRnSUNBZ2FYUmxiWE5iYVhSbGJTNXBaRjBnUFNCcGRHVnRPMXh5WEc0Z0lDQWdhWFJsYlM1eVpXWmZkRzhnUFNCYlhUdGNjbHh1SUNBZ0lHbDBaVzB1Ym1GdFpTQTlJRzFsZEdFdWFXbHVaaTVwZEdWdFgybHVabTl6VzJsZExtbDBaVzFmYm1GdFpUdGNjbHh1SUNBZ0lHbG1JQ2h0WlhSaExtbHBibVl1YVhSbGJWOXBibVp2YzF0cFhTNXdjbTkwWldOMGFXOXVYMmx1WkdWNElENGdNQ2tnZTF4eVhHNGdJQ0FnSUNCcGRHVnRMbkJ5YjNSbFkzUnBiMjRnUFNCdFpYUmhMbWx3Y204dWNISnZkR1ZqZEdsdmJuTmJiV1YwWVM1cGFXNW1MbWwwWlcxZmFXNW1iM05iYVYwdWNISnZkR1ZqZEdsdmJsOXBibVJsZUNBdElERmRPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhV1lnS0cxbGRHRXVhV2x1Wmk1cGRHVnRYMmx1Wm05elcybGRMbWwwWlcxZmRIbHdaU2tnZTF4eVhHNGdJQ0FnSUNCcGRHVnRMblI1Y0dVZ1BTQnRaWFJoTG1scGJtWXVhWFJsYlY5cGJtWnZjMXRwWFM1cGRHVnRYM1I1Y0dVN1hISmNiaUFnSUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnSUNCcGRHVnRMblI1Y0dVZ1BTQmNJbTFwYldWY0lqdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHbDBaVzB1WTI5dWRHVnVkRjkwZVhCbElEMGdiV1YwWVM1cGFXNW1MbWwwWlcxZmFXNW1iM05iYVYwdVkyOXVkR1Z1ZEY5MGVYQmxPMXh5WEc0Z0lDQWdhWFJsYlM1amIyNTBaVzUwWDJWdVkyOWthVzVuSUQwZ2JXVjBZUzVwYVc1bUxtbDBaVzFmYVc1bWIzTmJhVjB1WTI5dWRHVnVkRjlsYm1OdlpHbHVaenRjY2x4dUlDQjlYSEpjYmlBZ2FXWWdLRzFsZEdFdWFXeHZZeWtnZTF4eVhHNGdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJRzFsZEdFdWFXeHZZeTVwZEdWdGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNCMllYSWdiMlptYzJWME8xeHlYRzRnSUNBZ0lDQjJZWElnYVhSbGJXeHZZeUE5SUcxbGRHRXVhV3h2WXk1cGRHVnRjMXRwWFR0Y2NseHVJQ0FnSUNBZ2FYUmxiU0E5SUdsMFpXMXpXMmwwWlcxc2IyTXVhWFJsYlY5SlJGMDdYSEpjYmlBZ0lDQWdJR2xtSUNocGRHVnRiRzlqTG1SaGRHRmZjbVZtWlhKbGJtTmxYMmx1WkdWNElDRTlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdURzluTG5kaGNtNG9YQ0pKZEdWdElITjBiM0poWjJVZ2QybDBhQ0J5WldabGNtVnVZMlVnZEc4Z2IzUm9aWElnWm1sc1pYTTZJRzV2ZENCemRYQndiM0owWldSY0lpazdYSEpjYmlBZ0lDQWdJQ0FnYVhSbGJTNXpiM1Z5WTJVZ1BTQnRaWFJoTG1ScGJtWXVZbTk0WlhOYmFY
1UmxiV3h2WXk1a1lYUmhYM0psWm1WeVpXNWpaVjlwYm1SbGVDQXRJREZkTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lITjNhWFJqYUNBb2FYUmxiV3h2WXk1amIyNXpkSEoxWTNScGIyNWZiV1YwYUc5a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnWTJGelpTQXdPaUF2THlCdlptWnpaWFFnYVc1MGJ5QjBhR1VnWm1sc1pTQnlaV1psY21WdVkyVmtJR0o1SUhSb1pTQmtZWFJoSUhKbFptVnlaVzVqWlNCcGJtUmxlRnh5WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUNBZ1kyRnpaU0F4T2lBdkx5QnZabVp6WlhRZ2FXNTBieUIwYUdVZ2FXUmhkQ0JpYjNnZ2IyWWdkR2hwY3lCdFpYUmhJR0p2ZUZ4eVhHNGdJQ0FnSUNBZ0lDQWdURzluTG5kaGNtNG9YQ0pKZEdWdElITjBiM0poWjJVZ2QybDBhQ0JqYjI1emRISjFZM1JwYjI1ZmJXVjBhRzlrSURvZ2JtOTBJSE4xY0hCdmNuUmxaRndpS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHlYRzRnSUNBZ0lDQWdJR05oYzJVZ01qb2dMeThnYjJabWMyVjBJR2x1ZEc4Z1lXNXZkR2hsY2lCcGRHVnRYSEpjYmlBZ0lDQWdJQ0FnSUNCTWIyY3VkMkZ5YmloY0lrbDBaVzBnYzNSdmNtRm5aU0IzYVhSb0lHTnZibk4wY25WamRHbHZibDl0WlhSb2IyUWdPaUJ1YjNRZ2MzVndjRzl5ZEdWa1hDSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ2FYUmxiUzVsZUhSbGJuUnpJRDBnVzEwN1hISmNiaUFnSUNBZ0lHbDBaVzB1YzJsNlpTQTlJREE3WEhKY2JpQWdJQ0FnSUdadmNpQW9haUE5SURBN0lHb2dQQ0JwZEdWdGJHOWpMbVY0ZEdWdWRITXViR1Z1WjNSb095QnFLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBkR1Z0TG1WNGRHVnVkSE5iYWwwZ1BTQjdmVHRjY2x4dUlDQWdJQ0FnSUNCcGRHVnRMbVY0ZEdWdWRITmJhbDB1YjJabWMyVjBJRDBnYVhSbGJXeHZZeTVsZUhSbGJuUnpXMnBkTG1WNGRHVnVkRjl2Wm1aelpYUWdLeUJwZEdWdGJHOWpMbUpoYzJWZmIyWm1jMlYwTzF4eVhHNGdJQ0FnSUNBZ0lHbDBaVzB1WlhoMFpXNTBjMXRxWFM1c1pXNW5kR2dnUFNCcGRHVnRiRzlqTG1WNGRHVnVkSE5iYWwwdVpYaDBaVzUwWDJ4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCcGRHVnRMbVY0ZEdWdWRITmJhbDB1WVd4eVpXRmtlVkpsWVdRZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUdsMFpXMHVjMmw2WlNBclBTQnBkR1Z0TG1WNGRHVnVkSE5iYWwwdWJHVnVaM1JvTzF4eVhHNGdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnZlZ4eVhHNGdJR2xtSUNodFpYUmhMbkJwZEcwcElIdGNjbHh1SUNBZ0lHbDBaVzF6VzIxbGRHRXVjR2wwYlM1cGRHVnRYMmxrWFM1d2NtbHRZWEo1SUQwZ2RISjFaVHRjY2x4dUlDQjlYSEpjYmlBZ2FXWWdLRzFsZEdFdWFYSmxaaWtnZTF4eVhHNGdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJRzFsZEdFdWFYSmxaaTV5WldabGNtVnVZMlZ6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCeVpXWWdQU0J0WlhSaExtbHlaV1l1Y21WbVpYSmxibU5sYzF0cFhUdGNjbHh1SUNBZ0lDQWdabTl5SUNocUlEMGdNRHNnYWlBOElISmxaaTV5WldabGNtVnVZMlZ6TG14bGJtZDBhRHNnYWlzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnYVhSbGJYTmJjbVZtTG1aeWIyMWZhWFJsYlY5SlJGMHVjbVZtWDNSdkxuQjFjMmdvZXlCMGVYQmxPaUJ5WldZdWRIbHdaU3dnYVdRNklISmxaaTV5WldabGNtVnVZMlZ6VzJwZElIMHBPMXh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc0Z0lHbG1JQ2h0WlhSaExtbHdjbkFwSUh0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdzZ1BTQXdPeUJySUR3Z2JXVjBZUzVwY0hKd0xtbHdiV0Z6TG14bGJtZDBhRHNnYXlzcktTQjdYSEpjYmlBZ0lDQWdJSFpoY2lCcGNHMWhJRDBnYldWMFlTNXBjSEp3TG1sd2JXRnpXMnRkTzF4eVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYVhCdFlTNWhjM052WTJsaGRHbHZibk11YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lYTnpiMk5wWVhScGIyNGdQU0JwY0cxaExtRnpjMjlqYVdGMGFXOXVjMXRwWFR0Y2NseHVJQ0FnSUNBZ0lDQnBkR1Z0SUQwZ2FYUmxiWE5iWVhOemIyTnBZWFJwYjI0dWFXUmRPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHBkR1Z0TG5CeWIzQmxjblJwWlhNZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdhWFJsYlM1d2NtOXdaWEowYVdWeklEMGdlMzA3WEhKY2JpQWdJQ0FnSUNBZ0lDQnBkR1Z0TG5CeWIzQmxjblJwWlhNdVltOTRaWE1nUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2hxSUQwZ01Ec2dhaUE4SUdGemMyOWphV0YwYVc5dUxuQnliM0J6TG14bGJtZDBhRHNnYWlzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjSEp2Y0VWdWRISjVJRDBnWVhOemIyTnBZWFJwYjI0dWNISnZjSE5iYWwwN1hISmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2NISnZjRVZ1ZEhKNUxuQnliM0JsY25SNVgybHVaR1Y0SUQ0Z01DQW1KaUJ3Y205d1JXNTBjbmt1Y0hKdmNHVnlkSGxmYVc1a1pYZ2dMU0F4SUR3Z2JXVjBZUzVwY0hKd0xtbHdZMjh1WW05NFpYTXViR1Z1WjNSb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ3Y205d1ltOTRJRDBnYldWMFlTNXBjSEp3TG1sd1kyOHVZbTk0WlhOYmNISnZjRVZ1ZEhKNUxuQnliM0JsY25SNVgybHVaR1Y0SUMwZ01WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzB1Y0hKdmNHVnlkR2xsYzF0d2NtOXdZbTk0TG5SNWNHVmRJRDBnY0hKdmNHSnZlRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhWFJsYlM1d2NtOXdaWEowYVdWekxtSnZlR1Z6TG5CMWMyZ29jSEp2Y0dKdmVDazdYSEpjYmlBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdmVnh5WEc1OU8xeHlYRzVjY2x4dVNWTlBSbWxzWlM1d2NtOTBiM1I1Y0dVdVoyVjBTWFJsYlNBOUlHWjFibU4wYVc5dUtHbDBaVzFmYVdRcElIdGNjbHh1SUNCMllYSWdZblZtWm1WeU8xeHlYRzRnSUhaaGNpQnBkR1Z0TzF4eVhHNWNjbHh1SUNCcFppQW9JWFJvYVhNdWJXVjBZU2tnZTF4eVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hISmNiaUFnZlZ4eVhHNWNjbHh1SUNCcGRHVnRJRDBnZEdocGN5NXBkR1Z0YzF0cGRHVnRYMmxrWFR0Y2NseHVJQ0JwWmlBb0lXbDBaVzB1WkdGMFlTQW1KaUJwZEdWdExuTnBlbVVwSUh0Y2NseHVJQ0FnSUM4cUlFNXZkQ0I1WlhRZ1ptVjBZMmhsWkNBcUwxeHlYRzRnSUNBZ2FYUmxiUzVrWVhSaElEMGdibVYzSUZWcGJuUTRRWEp5WVhrb2FYUmxiUzV6YVhwbEtUdGNjbHh1SUNBZ0lHbDBaVzB1WVd4eVpXRmtlVkpsWVdRZ1BTQXdPMXh5WEc0Z0lDQWdkR2hwY3k1cGRHVnRjMFJoZEdGVGFYcGxJQ3M5SUdsMFpXMHVjMmw2WlR0Y2NseHVJQ0FnSUV4dlp5NWtaV0oxWnloY0lrbFRUMFpwYkdWY0lpd2dYQ0pCYkd4dlkyRjBhVzVu
1SUdsMFpXMGdJMXdpSUNzZ2FYUmxiVjlwWkNBcklGd2lJRzltSUhOcGVtVWdYQ0lnS3lCcGRHVnRMbk5wZW1VZ0t5QmNJaUFvZEc5MFlXdzZJRndpSUNzZ2RHaHBjeTVwZEdWdGMwUmhkR0ZUYVhwbElDc2dYQ0lwWENJcE8xeHlYRzRnSUgwZ1pXeHpaU0JwWmlBb2FYUmxiUzVoYkhKbFlXUjVVbVZoWkNBOVBUMGdhWFJsYlM1emFYcGxLU0I3WEhKY2JpQWdJQ0F2S2lCQmJISmxZV1I1SUdabGRHTm9aV1FnWlc1MGFYSmxiSGtnS2k5Y2NseHVJQ0FnSUhKbGRIVnliaUJwZEdWdE8xeHlYRzRnSUgxY2NseHVYSEpjYmlBZ0x5b2dWR2hsSUdsMFpXMGdhR0Z6SUc5dWJIa2dZbVZsYmlCd1lYSjBhV0ZzYkhrZ1ptVjBZMmhsWkN3Z2QyVWdibVZsWkNCMGJ5QmphR1ZqYXlCcGJpQmhiR3dnWW5WbVptVnljeUIwYnlCbWFXNWtJSFJvWlNCeVpXMWhhVzVwYm1jZ1pYaDBaVzUwY3lvdlhISmNibHh5WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dhWFJsYlM1bGVIUmxiblJ6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjJZWElnWlhoMFpXNTBJRDBnYVhSbGJTNWxlSFJsYm5SelcybGRPMXh5WEc0Z0lDQWdhV1lnS0dWNGRHVnVkQzVoYkhKbFlXUjVVbVZoWkNBOVBUMGdaWGgwWlc1MExteGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lIMGdaV3h6WlNCN1hISmNiaUFnSUNBZ0lIWmhjaUJwYm1SbGVDQTlJSFJvYVhNdWMzUnlaV0Z0TG1acGJtUlFiM05wZEdsdmJpaDBjblZsTENCbGVIUmxiblF1YjJabWMyVjBJQ3NnWlhoMFpXNTBMbUZzY21WaFpIbFNaV0ZrTENCbVlXeHpaU2s3WEhKY2JpQWdJQ0FnSUdsbUlDaHBibVJsZUNBK0lDMHhLU0I3WEhKY2JpQWdJQ0FnSUNBZ1luVm1abVZ5SUQwZ2RHaHBjeTV6ZEhKbFlXMHVZblZtWm1WeWMxdHBibVJsZUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUd4bGJtZDBhRUZtZEdWeVUzUmhjblFnUFNCaWRXWm1aWEl1WW5sMFpVeGxibWQwYUNBdElDaGxlSFJsYm5RdWIyWm1jMlYwSUNzZ1pYaDBaVzUwTG1Gc2NtVmhaSGxTWldGa0lDMGdZblZtWm1WeUxtWnBiR1ZUZEdGeWRDazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHVjRkR1Z1ZEM1c1pXNW5kR2dnTFNCbGVIUmxiblF1WVd4eVpXRmtlVkpsWVdRZ1BEMGdiR1Z1WjNSb1FXWjBaWEpUZEdGeWRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0x5b2dkR2hsSUNoeVpYTjBJRzltSUhSb1pTa2daWGgwWlc1MElHbHpJR1Z1ZEdseVpXeDVJR052Ym5SaGFXNWxaQ0JwYmlCMGFHbHpJR0oxWm1abGNpQXFMMXh5WEc1Y2NseHVJQ0FnSUNBZ0lDQWdJRXh2Wnk1a1pXSjFaeWhjSWtsVFQwWnBiR1ZjSWl3Z1hDSkhaWFIwYVc1bklHbDBaVzBnSTF3aUlDc2dhWFJsYlY5cFpDQXJJRndpSUdWNGRHVnVkQ0FqWENJZ0t5QnBJQ3NnWENJZ1pHRjBZU0FvWVd4eVpXRmtlVkpsWVdRNklGd2lJQ3NnWlhoMFpXNTBMbUZzY21WaFpIbFNaV0ZrSUN0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWENJZ2IyWm1jMlYwT2lCY0lpQXJJQ2hsZUhSbGJuUXViMlptYzJWMElDc2daWGgwWlc1MExtRnNjbVZoWkhsU1pXRmtJQzBnWW5WbVptVnlMbVpwYkdWVGRHRnlkQ2tnS3lCY0lpQnlaV0ZrSUhOcGVtVTZJRndpSUNzZ0tHVjRkR1Z1ZEM1c1pXNW5kR2dnTFNCbGVIUmxiblF1WVd4eVpXRmtlVkpsWVdRcElDdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hDSWdablZzYkNCbGVIUmxiblFnYzJsNlpUb2dYQ0lnS3lCbGVIUmxiblF1YkdWdVozUm9JQ3NnWENJZ1puVnNiQ0JwZEdWdElITnBlbVU2SUZ3aUlDc2dhWFJsYlM1emFYcGxJQ3NnWENJcFhDSXBPMXh5WEc1Y2NseHVJQ0FnSUNBZ0lDQWdJRVJoZEdGVGRISmxZVzB1YldWdFkzQjVLR2wwWlcwdVpHRjBZUzVpZFdabVpYSXNJR2wwWlcwdVlXeHlaV0ZrZVZKbFlXUXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHSjFabVpsY2l3Z1pYaDBaVzUwTG05bVpuTmxkQ0FySUdWNGRHVnVkQzVoYkhKbFlXUjVVbVZoWkNBdElHSjFabVpsY2k1bWFXeGxVM1JoY25Rc0lHVjRkR1Z1ZEM1c1pXNW5kR2dnTFNCbGVIUmxiblF1WVd4eVpXRmtlVkpsWVdRcE8xeHlYRzVjY2x4dUlDQWdJQ0FnSUNBZ0lDOHFJSFZ3WkdGMFpTQjBhR1VnYm5WdFltVnlJRzltSUdKNWRHVnpJSFZ6WldRZ2FXNGdkR2hwY3lCaWRXWm1aWElnWVc1a0lHTm9aV05ySUdsbUlHbDBJRzVsWldSeklIUnZJR0psSUhKbGJXOTJaV1FnS2k5Y2NseHVJQ0FnSUNBZ0lDQWdJR0oxWm1abGNpNTFjMlZrUW5sMFpYTWdLejBnWlhoMFpXNTBMbXhsYm1kMGFDQXRJR1Y0ZEdWdWRDNWhiSEpsWVdSNVVtVmhaRHRjY2x4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11YzNSeVpXRnRMbXh2WjBKMVptWmxja3hsZG1Wc0tDazdYSEpjYmx4eVhHNGdJQ0FnSUNBZ0lDQWdhWFJsYlM1aGJISmxZV1I1VW1WaFpDQXJQU0FvWlhoMFpXNTBMbXhsYm1kMGFDQXRJR1Y0ZEdWdWRDNWhiSEpsWVdSNVVtVmhaQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQmxlSFJsYm5RdVlXeHlaV0ZrZVZKbFlXUWdQU0JsZUhSbGJuUXViR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBdktpQjBhR1VnYzJGdGNHeGxJR1J2WlhNZ2JtOTBJR1Z1WkNCcGJpQjBhR2x6SUdKMVptWmxjaUFxTDF4eVhHNWNjbHh1SUNBZ0lDQWdJQ0FnSUV4dlp5NWtaV0oxWnloY0lrbFRUMFpwYkdWY0lpd2dYQ0pIWlhSMGFXNW5JR2wwWlcwZ0kxd2lJQ3NnYVhSbGJWOXBaQ0FySUZ3aUlHVjRkR1Z1ZENBalhDSWdLeUJwSUNzZ1hDSWdjR0Z5ZEdsaGJDQmtZWFJoSUNoaGJISmxZV1I1VW1WaFpEb2dYQ0lnS3lCbGVIUmxiblF1WVd4eVpXRmtlVkpsWVdRZ0t5QmNJaUJ2Wm1aelpYUTZJRndpSUN0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnS0dWNGRHVnVkQzV2Wm1aelpYUWdLeUJsZUhSbGJuUXVZV3h5WldGa2VWSmxZV1FnTFNCaWRXWm1aWEl1Wm1sc1pWTjBZWEowS1NBcklGd2lJSEpsWVdRZ2MybDZaVG9nWENJZ0t5QnNaVzVuZEdoQlpuUmxjbE4wWVhKMElDdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hDSWdablZzYkNCbGVIUmxiblFnYzJsNlpUb2dYQ0lnS3lCbGVIUmxiblF1YkdWdVozUm9JQ3NnWENJZ1puVnNiQ0JwZEdWdElITnBlbVU2SUZ3aUlDc2dhWFJsYlM1emFYcGxJQ3NnWENJcFhDSXBPMXh5WEc1Y2NseHVJQ0FnSUNBZ0lDQWdJRVJoZEdGVGRISmxZVzB1YldWdFkzQjVLR2wwWlcwdVpHRjBZUzVpZFdabVpYSXNJR2wwWlcwdVlXeHlaV0ZrZVZKbFlXUXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHSjFabVpsY2l3Z1pYaDBaVzUwTG05bVpuTmxkQ0FySUdWNGRHVnVkQzVoYkhKbFlXUjVVbVZoWkNBdElHSjFabVpsY2k1bWFXeGxVM1JoY25Rc0lHeGxibWQwYUVGbWRHVnlVM1JoY25RcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnWlhoMFpXNTBMbUZzY21WaFpIbFNaV0ZrSUNzOUlHeGxibWQwYUVGbWRHVnlVM1JoY25RN1hISmNiaUFnSUNBZ0lDQWdJQ0JwZEdWdExtRnNjbVZoWkhsU1pXRmtJQ3M5SUd4bGJtZDBhRUZtZEdWeVUzUmhjblE3WEhKY2JseHlYRzRnSUNBZ0lDQWdJQ0FnTHlvZ2RYQmtZWFJsSUhSb1pTQnVkVzFpWlhJZ2IyWWdZbmwwWlhNZ2RYTmxaQ0JwYmlCMGFHbHpJR0oxWm1abGNpQmhibVFnWTJobFkyc2dhV1lnYVhRZ2JtVmxaSE1nZEc4Z1ltVWdjbVZ0YjNabFpDQXFMMXh5WEc0Z0lDQWdJQ0FnSUNBZ1luVm1abVZ5TG5WelpXUkNlWFJsY3lBclBTQnNaVzVuZEdoQlpuUmxjbE4wWVhKME8xeHlYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkSEpsWVcwdWJHOW5RblZtWm1WeVRHVjJaV3dvS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbH
1h1SUNBZ0lDQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2NseHVJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUgxY2NseHVJQ0JwWmlBb2FYUmxiUzVoYkhKbFlXUjVVbVZoWkNBOVBUMGdhWFJsYlM1emFYcGxLU0I3WEhKY2JpQWdJQ0F2S2lCbVpYUmphR1ZrSUdWdWRHbHlaV3g1SUNvdlhISmNiaUFnSUNCeVpYUjFjbTRnYVhSbGJUdGNjbHh1SUNCOUlHVnNjMlVnZTF4eVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hISmNiaUFnZlZ4eVhHNTlPMXh5WEc1Y2NseHVMeW9nVW1Wc1pXRnpaU0IwYUdVZ2JXVnRiM0o1SUhWelpXUWdkRzhnYzNSdmNtVWdkR2hsSUdSaGRHRWdiMllnZEdobElHbDBaVzBnS2k5Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVjbVZzWldGelpVbDBaVzBnUFNCbWRXNWpkR2x2YmlocGRHVnRYMmxrS1NCN1hISmNiaUFnZG1GeUlHbDBaVzBnUFNCMGFHbHpMbWwwWlcxelcybDBaVzFmYVdSZE8xeHlYRzRnSUdsbUlDaHBkR1Z0TG1SaGRHRXBJSHRjY2x4dUlDQWdJSFJvYVhNdWFYUmxiWE5FWVhSaFUybDZaU0F0UFNCcGRHVnRMbk5wZW1VN1hISmNiaUFnSUNCcGRHVnRMbVJoZEdFZ1BTQnVkV3hzTzF4eVhHNGdJQ0FnYVhSbGJTNWhiSEpsWVdSNVVtVmhaQ0E5SURBN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHbDBaVzB1WlhoMFpXNTBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQjJZWElnWlhoMFpXNTBJRDBnYVhSbGJTNWxlSFJsYm5SelcybGRPMXh5WEc0Z0lDQWdJQ0JsZUhSbGJuUXVZV3h5WldGa2VWSmxZV1FnUFNBd08xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUdsMFpXMHVjMmw2WlR0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdjbVYwZFhKdUlEQTdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExuQnliMk5sYzNOSmRHVnRjeUE5SUdaMWJtTjBhVzl1S0dOaGJHeGlZV05yS1NCN1hISmNiaUFnWm05eUlDaDJZWElnYVNCcGJpQjBhR2x6TG1sMFpXMXpLU0I3WEhKY2JpQWdJQ0IyWVhJZ2FYUmxiU0E5SUhSb2FYTXVhWFJsYlhOYmFWMDdYSEpjYmlBZ0lDQjBhR2x6TG1kbGRFbDBaVzBvYVhSbGJTNXBaQ2s3WEhKY2JpQWdJQ0JwWmlBb1kyRnNiR0poWTJzZ0ppWWdJV2wwWlcwdWMyVnVkQ2tnZTF4eVhHNGdJQ0FnSUNCallXeHNZbUZqYXlocGRHVnRLVHRjY2x4dUlDQWdJQ0FnYVhSbGJTNXpaVzUwSUQwZ2RISjFaVHRjY2x4dUlDQWdJQ0FnYVhSbGJTNWtZWFJoSUQwZ2JuVnNiRHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1SlUwOUdhV3hsTG5CeWIzUnZkSGx3WlM1b1lYTkpkR1Z0SUQwZ1puVnVZM1JwYjI0b2JtRnRaU2tnZTF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnYVc0Z2RHaHBjeTVwZEdWdGN5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdsMFpXMGdQU0IwYUdsekxtbDBaVzF6VzJsZE8xeHlYRzRnSUNBZ2FXWWdLR2wwWlcwdWJtRnRaU0E5UFQwZ2JtRnRaU2tnZTF4eVhHNGdJQ0FnSUNCeVpYUjFjbTRnYVhSbGJTNXBaRHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYmlBZ2NtVjBkWEp1SUMweE8xeHlYRzU5TzF4eVhHNWNjbHh1U1ZOUFJtbHNaUzV3Y205MGIzUjVjR1V1WjJWMFRXVjBZVWhoYm1Sc1pYSWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0JwWmlBb0lYUm9hWE11YldWMFlTa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEhKY2JpQWdmU0JsYkhObElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTFsZEdFdWFHUnNjaTVvWVc1a2JHVnlPMXh5WEc0Z0lIMWNjbHh1ZlR0Y2NseHVYSEpjYmtsVFQwWnBiR1V1Y0hKdmRHOTBlWEJsTG1kbGRGQnlhVzFoY25sSmRHVnRJRDBnWm5WdVkzUnBiMjRvS1NCN1hISmNiaUFnYVdZZ0tDRjBhR2x6TG0xbGRHRWdmSHdnSVhSb2FYTXViV1YwWVM1d2FYUnRLU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2NseHVJQ0I5SUdWc2MyVWdlMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFNYUmxiU2gwYUdsekxtMWxkR0V1Y0dsMGJTNXBkR1Z0WDJsa0tUdGNjbHh1SUNCOVhISmNibjA3WEhKY2JseHlYRzVKVTA5R2FXeGxMbkJ5YjNSdmRIbHdaUzVwZEdWdFZHOUdjbUZuYldWdWRHVmtWSEpoWTJ0R2FXeGxJRDBnWm5WdVkzUnBiMjRvWDI5d2RHbHZibk1wSUh0Y2NseHVJQ0IyWVhJZ2IzQjBhVzl1Y3lBOUlGOXZjSFJwYjI1eklIeDhJSHQ5TzF4eVhHNGdJSFpoY2lCcGRHVnRJRDBnYm5Wc2JEdGNjbHh1SUNCcFppQW9iM0IwYVc5dWN5NXBkR1Z0U1dRcElIdGNjbHh1SUNBZ0lHbDBaVzBnUFNCMGFHbHpMbWRsZEVsMFpXMG9iM0IwYVc5dWN5NXBkR1Z0U1dRcE8xeHlYRzRnSUgwZ1pXeHpaU0I3WEhKY2JpQWdJQ0JwZEdWdElEMGdkR2hwY3k1blpYUlFjbWx0WVhKNVNYUmxiU2dwTzF4eVhHNGdJSDFjY2x4dUlDQnBaaUFvYVhSbGJTQTlQU0J1ZFd4c0tTQnlaWFIxY200Z2JuVnNiRHRjY2x4dVhISmNiaUFnZG1GeUlHWnBiR1VnUFNCdVpYY2dTVk5QUm1sc1pTZ3BPMXh5WEc0Z0lHWnBiR1V1WkdselkyRnlaRTFrWVhSRVlYUmhJRDBnWm1Gc2MyVTdYSEpjYmlBZ0x5OGdZWE56ZFcxcGJtY2dkR2hsSUhSeVlXTnJJSFI1Y0dVZ2FYTWdkR2hsSUhOaGJXVWdZWE1nZEdobElHbDBaVzBnZEhsd1pWeHlYRzRnSUhaaGNpQjBjbUZqYTA5d2RHbHZibk1nUFNCN0lIUjVjR1U2SUdsMFpXMHVkSGx3WlN3Z1pHVnpZM0pwY0hScGIyNWZZbTk0WlhNNklHbDBaVzB1Y0hKdmNHVnlkR2xsY3k1aWIzaGxjeUI5TzF4eVhHNGdJR2xtSUNocGRHVnRMbkJ5YjNCbGNuUnBaWE11YVhOd1pTa2dlMXh5WEc0Z0lDQWdkSEpoWTJ0UGNIUnBiMjV6TG5kcFpIUm9JRDBnYVhSbGJTNXdjbTl3WlhKMGFXVnpMbWx6Y0dVdWFXMWhaMlZmZDJsa2RHZzdYSEpjYmlBZ0lDQjBjbUZqYTA5d2RHbHZibk11YUdWcFoyaDBJRDBnYVhSbGJTNXdjbTl3WlhKMGFXVnpMbWx6Y0dVdWFXMWhaMlZmYUdWcFoyaDBPMXh5WEc0Z0lIMWNjbHh1SUNCMllYSWdkSEpoWTJ0SlpDQTlJR1pwYkdVdVlXUmtWSEpoWTJzb2RISmhZMnRQY0hScGIyNXpLVHRjY2x4dUlDQnBaaUFvZEhKaFkydEpaQ2tnZTF4eVhHNGdJQ0FnWm1sc1pTNWhaR1JUWVcxd2JHVW9kSEpoWTJ0SlpDd2dhWFJsYlM1a1lYUmhLVHRjY2x4dUlDQWdJSEpsZEhWeWJpQm1hV3hsTzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc0dkx5Qm1hV3hsT25OeVl5OXBjMjltYVd4bExYZHlhWFJsTG1welhISmNiaThxSUZKbGQzSnBkR1VnZEdobElHVnVkR2x5WlNCbWFXeGxJQ292WEhKY2JrbFRUMFpwYkdVdWNISnZkRzkwZVhCbExuZHlhWFJsSUQwZ1puVnVZM1JwYjI0b2IzVjBjM1J5WldGdEtTQjdYSEpjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1KdmVHVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNCMGFHbHpMbUp2ZUdWelcybGRMbmR5YVhSbEtHOTFkSE4wY21WaGJTazdYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1U1ZOUFJtbHNaUzV3Y205MGIzUjVjR1V1WTNKbFlYUmxSbkpoWjIxbGJuUWdQU0JtZFc1amRHbHZiaWgwY21GamExOXBaQ3dnYzJGdGNHeGxUblZ0WW1WeUxDQnpkSEpsWVcxZktTQjdYSEpjYmlBZ2RtRnlJSFJ5WVdzZ1BTQjBhR2x6TG1kbGRGUnlZV05yUW5sSlpDaDBjbUZqYTE5cFpDazdYSEpjYmlBZ2RtRnlJSE5oYlhCc1pTQTlJSFJvYVhNdVoyVjBVMkZ0Y0d4bEtIUnlZV3NzSUhOaGJYQnNaVTUxYldKbGNpazdYSEpjYmlBZ2FXWWdLSE5oYlhCc1pTQTlQU0J1ZFd4c0tTQjdYSEpjYmlBZ0lDQnpZVzF3YkdVZ1BTQjBjbUZyTG5OaGJYQnNaWE5iYzJGdGNHeGxUblZ0WW1WeVhUdGNjbHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxlSFJUWldWclVHOXphWFJwYjI0cElIdGNjbHh1SUNBZ0lDQWdkR2hwY3k1dVpYaDBVMlZsYTFCdmMybDBhVzl1SUQwZ1RXRjBhQzV0YVc0b2MyRnRjR3hsTG05bVpuTmxkQ0FySUhOaGJYQnNaUzVoYkhKbFlXUjVVbVZoWkN3Z2RHaHBjeTV1WlhoMFUyVmxhMUJ2YzJsMGFXOXVLVHRjY2x4dUlDQWdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdWJtVjRkRk5sWld0UWIzTnBkR2x2YmlBOUlIUnlZV3N1YzJGdGNHeGxjMXR6WVcxd2JHVk9kVzFpWlhKZExtOW1abk5sZENBcklITmhiWEJzWlM1aGJISmxZV1I1VW1WaFpEdGNjbHh1SUNBZ0lIMWNjbH
1h1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh5WEc0Z0lIMWNjbHh1WEhKY2JpQWdkbUZ5SUhOMGNtVmhiU0E5SUhOMGNtVmhiVjhnZkh3Z2JtVjNJRVJoZEdGVGRISmxZVzBvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVaVzVrYVdGdWJtVnpjeUE5SUVSaGRHRlRkSEpsWVcwdVFrbEhYMFZPUkVsQlRqdGNjbHh1WEhKY2JpQWdkbUZ5SUcxdmIyWWdQU0IwYUdsekxtTnlaV0YwWlZOcGJtZHNaVk5oYlhCc1pVMXZiMllvYzJGdGNHeGxLVHRjY2x4dUlDQnRiMjltTG5keWFYUmxLSE4wY21WaGJTazdYSEpjYmx4eVhHNGdJQzhxSUdGa2FuVnpkR2x1WnlCMGFHVWdaR0YwWVY5dlptWnpaWFFnYm05M0lIUm9ZWFFnZEdobElHMXZiMllnYzJsNlpTQnBjeUJyYm05M2Jpb3ZYSEpjYmlBZ2JXOXZaaTUwY21GbWMxc3dYUzUwY25WdWMxc3dYUzVrWVhSaFgyOW1abk5sZENBOUlHMXZiMll1YzJsNlpTQXJJRGc3SUM4dk9DQnBjeUJ0WkdGMElHaGxZV1JsY2x4eVhHNGdJRXh2Wnk1a1pXSjFaeWhjSWsxUU5FSnZlRndpTENCY0lrRmthblZ6ZEdsdVp5QmtZWFJoWDI5bVpuTmxkQ0IzYVhSb0lHNWxkeUIyWVd4MVpTQmNJaUFySUcxdmIyWXVkSEpoWm5OYk1GMHVkSEoxYm5OYk1GMHVaR0YwWVY5dlptWnpaWFFwTzF4eVhHNGdJSE4wY21WaGJTNWhaR3AxYzNSVmFXNTBNeklvYlc5dlppNTBjbUZtYzFzd1hTNTBjblZ1YzFzd1hTNWtZWFJoWDI5bVpuTmxkRjl3YjNOcGRHbHZiaXdnYlc5dlppNTBjbUZtYzFzd1hTNTBjblZ1YzFzd1hTNWtZWFJoWDI5bVpuTmxkQ2s3WEhKY2JseHlYRzRnSUhaaGNpQnRaR0YwSUQwZ2JtVjNJRUp2ZUZCaGNuTmxjaTV0WkdGMFFtOTRLQ2s3WEhKY2JpQWdiV1JoZEM1a1lYUmhJRDBnYzJGdGNHeGxMbVJoZEdFN1hISmNiaUFnYldSaGRDNTNjbWwwWlNoemRISmxZVzBwTzF4eVhHNGdJSEpsZEhWeWJpQnpkSEpsWVcwN1hISmNibjA3WEhKY2JseHlYRzR2S2lCTmIyUnBabmtnZEdobElHWnBiR1VnWVc1a0lHTnlaV0YwWlNCMGFHVWdhVzVwZEdsaGJHbDZZWFJwYjI0Z2MyVm5iV1Z1ZENBcUwxeHlYRzVKVTA5R2FXeGxMbmR5YVhSbFNXNXBkR2xoYkdsNllYUnBiMjVUWldkdFpXNTBJRDBnWm5WdVkzUnBiMjRvWm5SNWNDd2diVzl2ZGl3Z2RHOTBZV3hmWkhWeVlYUnBiMjRzSUhOaGJYQnNaVjlrZFhKaGRHbHZiaWtnZTF4eVhHNGdJSFpoY2lCcE8xeHlYRzRnSUhaaGNpQnBibVJsZUR0Y2NseHVJQ0IyWVhJZ2JXVm9aRHRjY2x4dUlDQjJZWElnZEhKbGVEdGNjbHh1SUNCMllYSWdZbTk0TzF4eVhHNGdJRXh2Wnk1a1pXSjFaeWhjSWtsVFQwWnBiR1ZjSWl3Z1hDSkhaVzVsY21GMGFXNW5JR2x1YVhScFlXeHBlbUYwYVc5dUlITmxaMjFsYm5SY0lpazdYSEpjYmx4eVhHNGdJSFpoY2lCemRISmxZVzBnUFNCdVpYY2dSR0YwWVZOMGNtVmhiU2dwTzF4eVhHNGdJSE4wY21WaGJTNWxibVJwWVc1dVpYTnpJRDBnUkdGMFlWTjBjbVZoYlM1Q1NVZGZSVTVFU1VGT08xeHlYRzRnSUdaMGVYQXVkM0pwZEdVb2MzUnlaV0Z0S1R0Y2NseHVYSEpjYmlBZ0x5b2dkMlVnWTJGdUlHNXZkeUJqY21WaGRHVWdkR2hsSUc1bGR5QnRkbVY0SUdKdmVDQXFMMXh5WEc0Z0lIWmhjaUJ0ZG1WNElEMGdiVzl2ZGk1aFpHUW9YQ0p0ZG1WNFhDSXBPMXh5WEc0Z0lHbG1JQ2gwYjNSaGJGOWtkWEpoZEdsdmJpa2dlMXh5WEc0Z0lDQWdiWFpsZUM1aFpHUW9YQ0p0Wldoa1hDSXBMbk5sZENoY0ltWnlZV2R0Wlc1MFgyUjFjbUYwYVc5dVhDSXNJSFJ2ZEdGc1gyUjFjbUYwYVc5dUtUdGNjbHh1SUNCOVhISmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJRzF2YjNZdWRISmhhM011YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lHMTJaWGd1WVdSa0tGd2lkSEpsZUZ3aUtTNXpaWFFvWENKMGNtRmphMTlwWkZ3aUxDQnRiMjkyTG5SeVlXdHpXMmxkTG5ScmFHUXVkSEpoWTJ0ZmFXUXBYSEpjYmlBZ0lDQWdJQzV6WlhRb1hDSmtaV1poZFd4MFgzTmhiWEJzWlY5a1pYTmpjbWx3ZEdsdmJsOXBibVJsZUZ3aUxDQXhLVnh5WEc0Z0lDQWdJQ0F1YzJWMEtGd2laR1ZtWVhWc2RGOXpZVzF3YkdWZlpIVnlZWFJwYjI1Y0lpd2djMkZ0Y0d4bFgyUjFjbUYwYVc5dUtWeHlYRzRnSUNBZ0lDQXVjMlYwS0Z3aVpHVm1ZWFZzZEY5ellXMXdiR1ZmYzJsNlpWd2lMQ0F3S1Z4eVhHNGdJQ0FnSUNBdWMyVjBLRndpWkdWbVlYVnNkRjl6WVcxd2JHVmZabXhoWjNOY0lpd2dNU0E4UENBeE5pazdYSEpjYmlBZ2ZWeHlYRzRnSUcxdmIzWXVkM0pwZEdVb2MzUnlaV0Z0S1R0Y2NseHVYSEpjYmlBZ2NtVjBkWEp1SUhOMGNtVmhiUzVpZFdabVpYSTdYSEpjYmx4eVhHNTlPMXh5WEc1Y2NseHVTVk5QUm1sc1pTNXdjbTkwYjNSNWNHVXVjMkYyWlNBOUlHWjFibU4wYVc5dUtHNWhiV1VwSUh0Y2NseHVJQ0IyWVhJZ2MzUnlaV0Z0SUQwZ2JtVjNJRVJoZEdGVGRISmxZVzBvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVaVzVrYVdGdWJtVnpjeUE5SUVSaGRHRlRkSEpsWVcwdVFrbEhYMFZPUkVsQlRqdGNjbHh1SUNCMGFHbHpMbmR5YVhSbEtITjBjbVZoYlNrN1hISmNiaUFnYzNSeVpXRnRMbk5oZG1Vb2JtRnRaU2s3WEhKY2JuMDdYSEpjYmx4eVhHNUpVMDlHYVd4bExuQnliM1J2ZEhsd1pTNW5aWFJDZFdabVpYSWdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0IyWVhJZ2MzUnlaV0Z0SUQwZ2JtVjNJRVJoZEdGVGRISmxZVzBvS1R0Y2NseHVJQ0J6ZEhKbFlXMHVaVzVrYVdGdWJtVnpjeUE5SUVSaGRHRlRkSEpsWVcwdVFrbEhYMFZPUkVsQlRqdGNjbHh1SUNCMGFHbHpMbmR5YVhSbEtITjBjbVZoYlNrN1hISmNiaUFnY21WMGRYSnVJSE4wY21WaGJTNWlkV1ptWlhJN1hISmNibjA3WEhKY2JseHlYRzVKVTA5R2FXeGxMbkJ5YjNSdmRIbHdaUzVwYm1sMGFXRnNhWHBsVTJWbmJXVnVkR0YwYVc5dUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdkbUZ5SUdrN1hISmNiaUFnZG1GeUlHbzdYSEpjYmlBZ2RtRnlJR0p2ZUR0Y2NseHVJQ0IyWVhJZ2FXNXBkRk5sWjNNN1hISmNiaUFnZG1GeUlIUnlZV3M3WEhKY2JpQWdkbUZ5SUhObFp6dGNjbHh1SUNCcFppQW9kR2hwY3k1dmJsTmxaMjFsYm5RZ1BUMDlJRzUxYkd3cElIdGNjbHh1SUNBZ0lFeHZaeTUzWVhKdUtGd2lUVkEwUW05NFhDSXNJRndpVG04Z2MyVm5iV1Z1ZEdGMGFXOXVJR05oYkd4aVlXTnJJSE5sZENGY0lpazdYSEpjYmlBZ2ZWeHlYRzRnSUdsbUlDZ2hkR2hwY3k1cGMwWnlZV2R0Wlc1MFlYUnBiMjVKYm1sMGFXRnNhWHBsWkNrZ2UxeHlYRzRnSUNBZ2RHaHBjeTVwYzBaeVlXZHRaVzUwWVhScGIyNUpibWwwYVdGc2FYcGxaQ0E5SUhSeWRXVTdYSEpjYmlBZ0lDQjBhR2x6TG01bGVIUk5iMjltVG5WdFltVnlJRDBnTUR0Y2NseHVJQ0FnSUhSb2FYTXVjbVZ6WlhSVVlXSnNaWE1vS1R0Y2NseHVJQ0I5WEhKY2JpQWdhVzVwZEZObFozTWdQU0JiWFR0Y2NseHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1bWNtRm5iV1Z1ZEdWa1ZISmhZMnR6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQjJZWElnYlc5dmRpQTlJRzVsZHlCQ2IzaFFZWEp6WlhJdWJXOXZka0p2ZUNncE8xeHlYRzRnSUNBZ2JXOXZkaTV0ZG1oa0lEMGdkR2hwY3k1dGIyOTJMbTEyYUdRN1hISmNiaUFnSUNCdGIyOTJMbUp2ZUdWekxuQjFjMmdvYlc5dmRpNXRkbWhrS1R0Y2NseHVJQ0FnSUhSeVlXc2dQU0IwYUdsekxtZGxkRlJ5WVdOclFubEpaQ2gwYUdsekxtWnlZV2R0Wlc1MFpXUlVjbUZqYTNOYmFWMHVhV1FwTzF4eVhHNGdJQ0FnYlc5dmRpNWliM2hsY3k1d2RYTm9LSFJ5WVdzcE8xeHlYRzRnSUNBZ2JXOXZkaTUwY21GcmN5NXdkWE5vS0hSeVlXc3BPMXh5WEc0Z0lDQWdjMlZuSUQwZ2UzMDdYSEpjYmlBZ0lDQnpaV2N1YVdRZ1BTQjBjbUZyTG5ScmFHUXVkSEpoWTJ0ZmFXUTdYSEpjYmlBZ0lDQnpaV2N1ZFhObGNpQTlJSFJvYVhNdVpuSmhaMj
1FsYm5SbFpGUnlZV05yYzF0cFhTNTFjMlZ5TzF4eVhHNGdJQ0FnYzJWbkxtSjFabVpsY2lBOUlFbFRUMFpwYkdVdWQzSnBkR1ZKYm1sMGFXRnNhWHBoZEdsdmJsTmxaMjFsYm5Rb2RHaHBjeTVtZEhsd0xDQnRiMjkyTENBb2RHaHBjeTV0YjI5MkxtMTJaWGdnSmlZZ2RHaHBjeTV0YjI5MkxtMTJaWGd1YldWb1pDQS9JSFJvYVhNdWJXOXZkaTV0ZG1WNExtMWxhR1F1Wm5KaFoyMWxiblJmWkhWeVlYUnBiMjRnT2lCMWJtUmxabWx1WldRcExDQW9kR2hwY3k1dGIyOTJMblJ5WVd0elcybGRMbk5oYlhCc1pYTXViR1Z1WjNSb0lENGdNQ0EvSUhSb2FYTXViVzl2ZGk1MGNtRnJjMXRwWFM1ellXMXdiR1Z6V3pCZExtUjFjbUYwYVc5dUlEb2dNQ2twTzF4eVhHNGdJQ0FnYVc1cGRGTmxaM011Y0hWemFDaHpaV2NwTzF4eVhHNGdJSDFjY2x4dUlDQnlaWFIxY200Z2FXNXBkRk5sWjNNN1hISmNibjA3WEhKY2JseHlYRzR2THlCbWFXeGxPbk55WXk5aWIzZ3RjSEpwYm5RdWFuTmNjbHh1THlwY2NseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQlVaV3hsWTI5dElGQmhjbWx6VkdWamFDOVVVMGt2VFUwdlIxQkJReUJEZVhKcGJDQkRiMjVqYjJ4aGRHOWNjbHh1SUNvZ1RHbGpaVzV6WlRvZ1FsTkVMVE10UTJ4aGRYTmxJQ2h6WldVZ1RFbERSVTVUUlNCbWFXeGxLVnh5WEc0Z0tpOWNjbHh1UW05NFVHRnljMlZ5TGtKdmVDNXdjbTkwYjNSNWNHVXVjSEpwYm5SSVpXRmtaWElnUFNCbWRXNWpkR2x2YmlodmRYUndkWFFwSUh0Y2NseHVJQ0IwYUdsekxuTnBlbVVnS3owZ09EdGNjbHh1SUNCcFppQW9kR2hwY3k1emFYcGxJRDRnVFVGWVgxTkpXa1VwSUh0Y2NseHVJQ0FnSUhSb2FYTXVjMmw2WlNBclBTQTRPMXh5WEc0Z0lIMWNjbHh1SUNCcFppQW9kR2hwY3k1MGVYQmxJRDA5UFNCY0luVjFhV1JjSWlrZ2UxeHlYRzRnSUNBZ2RHaHBjeTV6YVhwbElDczlJREUyTzF4eVhHNGdJSDFjY2x4dUlDQnZkWFJ3ZFhRdWJHOW5LRzkxZEhCMWRDNXBibVJsYm5RZ0t5QmNJbk5wZW1VNlhDSWdLeUIwYUdsekxuTnBlbVVwTzF4eVhHNGdJRzkxZEhCMWRDNXNiMmNvYjNWMGNIVjBMbWx1WkdWdWRDQXJJRndpZEhsd1pUcGNJaUFySUhSb2FYTXVkSGx3WlNrN1hISmNibjA3WEhKY2JseHlYRzVDYjNoUVlYSnpaWEl1Um5Wc2JFSnZlQzV3Y205MGIzUjVjR1V1Y0hKcGJuUklaV0ZrWlhJZ1BTQm1kVzVqZEdsdmJpaHZkWFJ3ZFhRcElIdGNjbHh1SUNCMGFHbHpMbk5wZW1VZ0t6MGdORHRjY2x4dUlDQkNiM2hRWVhKelpYSXVRbTk0TG5CeWIzUnZkSGx3WlM1d2NtbHVkRWhsWVdSbGNpNWpZV3hzS0hSb2FYTXNJRzkxZEhCMWRDazdYSEpjYmlBZ2IzVjBjSFYwTG14dlp5aHZkWFJ3ZFhRdWFXNWtaVzUwSUNzZ1hDSjJaWEp6YVc5dU9sd2lJQ3NnZEdocGN5NTJaWEp6YVc5dUtUdGNjbHh1SUNCdmRYUndkWFF1Ykc5bktHOTFkSEIxZEM1cGJtUmxiblFnS3lCY0ltWnNZV2R6T2x3aUlDc2dkR2hwY3k1bWJHRm5jeWs3WEhKY2JuMDdYSEpjYmx4eVhHNUNiM2hRWVhKelpYSXVRbTk0TG5CeWIzUnZkSGx3WlM1d2NtbHVkQ0E5SUdaMWJtTjBhVzl1S0c5MWRIQjFkQ2tnZTF4eVhHNGdJSFJvYVhNdWNISnBiblJJWldGa1pYSW9iM1YwY0hWMEtUdGNjbHh1ZlR0Y2NseHVYSEpjYmtKdmVGQmhjbk5sY2k1RGIyNTBZV2x1WlhKQ2IzZ3VjSEp2ZEc5MGVYQmxMbkJ5YVc1MElEMGdablZ1WTNScGIyNG9iM1YwY0hWMEtTQjdYSEpjYmlBZ2RHaHBjeTV3Y21sdWRFaGxZV1JsY2lodmRYUndkWFFwTzF4eVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NWliM2hsY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdhV1lnS0hSb2FYTXVZbTk0WlhOYmFWMHBJSHRjY2x4dUlDQWdJQ0FnZG1GeUlIQnlaWFpmYVc1a1pXNTBJRDBnYjNWMGNIVjBMbWx1WkdWdWREdGNjbHh1SUNBZ0lDQWdiM1YwY0hWMExtbHVaR1Z1ZENBclBTQmNJaUJjSWp0Y2NseHVJQ0FnSUNBZ2RHaHBjeTVpYjNobGMxdHBYUzV3Y21sdWRDaHZkWFJ3ZFhRcE8xeHlYRzRnSUNBZ0lDQnZkWFJ3ZFhRdWFXNWtaVzUwSUQwZ2NISmxkbDlwYm1SbGJuUTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ2ZWeHlYRzU5TzF4eVhHNWNjbHh1U1ZOUFJtbHNaUzV3Y205MGIzUjVjR1V1Y0hKcGJuUWdQU0JtZFc1amRHbHZiaWh2ZFhSd2RYUXBJSHRjY2x4dUlDQnZkWFJ3ZFhRdWFXNWtaVzUwSUQwZ1hDSmNJanRjY2x4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdVltOTRaWE11YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lHbG1JQ2gwYUdsekxtSnZlR1Z6VzJsZEtTQjdYSEpjYmlBZ0lDQWdJSFJvYVhNdVltOTRaWE5iYVYwdWNISnBiblFvYjNWMGNIVjBLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQjlYSEpjYm4wN1hISmNibHh5WEc1Q2IzaFFZWEp6WlhJdWJYWm9aRUp2ZUM1d2NtOTBiM1I1Y0dVdWNISnBiblFnUFNCbWRXNWpkR2x2YmlodmRYUndkWFFwSUh0Y2NseHVJQ0JDYjNoUVlYSnpaWEl1Um5Wc2JFSnZlQzV3Y205MGIzUjVjR1V1Y0hKcGJuUklaV0ZrWlhJdVkyRnNiQ2gwYUdsekxDQnZkWFJ3ZFhRcE8xeHlYRzRnSUc5MWRIQjFkQzVzYjJjb2IzVjBjSFYwTG1sdVpHVnVkQ0FySUZ3aVkzSmxZWFJwYjI1ZmRHbHRaVG9nWENJZ0t5QjBhR2x6TG1OeVpXRjBhVzl1WDNScGJXVXBPMXh5WEc0Z0lHOTFkSEIxZEM1c2IyY29iM1YwY0hWMExtbHVaR1Z1ZENBcklGd2liVzlrYVdacFkyRjBhVzl1WDNScGJXVTZJRndpSUNzZ2RHaHBjeTV0YjJScFptbGpZWFJwYjI1ZmRHbHRaU2s3WEhKY2JpQWdiM1YwY0hWMExteHZaeWh2ZFhSd2RYUXVhVzVrWlc1MElDc2dYQ0owYVcxbGMyTmhiR1U2SUZ3aUlDc2dkR2hwY3k1MGFXMWxjMk5oYkdVcE8xeHlYRzRnSUc5MWRIQjFkQzVzYjJjb2IzVjBjSFYwTG1sdVpHVnVkQ0FySUZ3aVpIVnlZWFJwYjI0NklGd2lJQ3NnZEdocGN5NWtkWEpoZEdsdmJpazdYSEpjYmlBZ2IzVjBjSFYwTG14dlp5aHZkWFJ3ZFhRdWFXNWtaVzUwSUNzZ1hDSnlZWFJsT2lCY0lpQXJJSFJvYVhNdWNtRjBaU2s3WEhKY2JpQWdiM1YwY0hWMExteHZaeWh2ZFhSd2RYUXVhVzVrWlc1MElDc2dYQ0oyYjJ4MWJXVTZJRndpSUNzZ0tIUm9hWE11ZG05c2RXMWxJRDQrSURncEtUdGNjbHh1SUNCdmRYUndkWFF1Ykc5bktHOTFkSEIxZEM1cGJtUmxiblFnS3lCY0ltMWhkSEpwZURvZ1hDSWdLeUIwYUdsekxtMWhkSEpwZUM1cWIybHVLRndpTENCY0lpa3BPMXh5WEc0Z0lHOTFkSEIxZEM1c2IyY29iM1YwY0hWMExtbHVaR1Z1ZENBcklGd2libVY0ZEY5MGNtRmphMTlwWkRvZ1hDSWdLeUIwYUdsekxtNWxlSFJmZEhKaFkydGZhV1FwTzF4eVhHNTlPMXh5WEc1Y2NseHVRbTk0VUdGeWMyVnlMblJyYUdSQ2IzZ3VjSEp2ZEc5MGVYQmxMbkJ5YVc1MElEMGdablZ1WTNScGIyNG9iM1YwY0hWMEtTQjdYSEpjYmlBZ1FtOTRVR0Z5YzJWeUxrWjFiR3hDYjNndWNISnZkRzkwZVhCbExuQnlhVzUwU0dWaFpHVnlMbU5oYkd3b2RHaHBjeXdnYjNWMGNIVjBLVHRjY2x4dUlDQnZkWFJ3ZFhRdWJHOW5LRzkxZEhCMWRDNXBibVJsYm5RZ0t5QmNJbU55WldGMGFXOXVYM1JwYldVNklGd2lJQ3NnZEdocGN5NWpjbVZoZEdsdmJsOTBhVzFsS1R0Y2NseHVJQ0J2ZFhSd2RYUXViRzluS0c5MWRIQjFkQzVwYm1SbGJuUWdLeUJjSW0xdlpHbG1hV05oZEdsdmJsOTBhVzFsT2lCY0lpQXJJSFJvYVhNdWJXOWthV1pwWTJGMGFXOXVYM1JwYldVcE8xeHlYRzRnSUc5MWRIQjFkQzVzYjJjb2IzVjBjSFYwTG1sdVpHVnVkQ0FySUZ3aWRISmhZMnRmYVdRNklGd2lJQ3NnZEdocGN5NTBjbUZqYTE5cFpDazdYSEpjYmlBZ2IzVjBjSFYwTG14dlp5aHZkWFJ3ZFhRdWFXNWtaVzUwSUNzZ1hDSmtkWEpoZEdsdmJqb2dYQ0lnS3lCMGFHbHpMbVIxY21GMGFXOXVLVHRjY2x4dUlDQnZkWFJ3ZFhRdWJHOW5LRzkxZEhCMWRDNXBibVJsYm5RZ0t5QmNJblp2YkhWdFpUb2dYQ0lnS3lBb2RHaHBjeTUyYjJ4MWJXVWdQajRnT0NrcE8xeHlYRzRnSUc5MWRIQjFkQzVzYjJjb2IzVjBjSFYwTG1sdVpHVnVkQ0FySUZ3aWJXRjBjbWw0T2lCY0lpQXJJSFJvYVhNdWJXRjBjbWw0TG1wdmFXNG9YQ0lzSUZ3aUtTazdYSEpjYmlBZ2IzVjBjSFYwTG14dlp5aHZkWFJ3ZFhRdWFXNWtaVzUwSUNzZ1hDSnNZWGxsY2pvZ1hDSWdLeUIwYUdsekxteGhlV1Z5S1R0Y2NseHVJQ0J2ZFhSd2RYUXViRzluS0c5MWRIQjFkQzVwYm1SbGJuUWdLeUJjSW1Gc2RHVnlibUYwWlY5bmNtOTFjRG9nWENJZ0t5QjBhR2x6TG1Gc2RHVnlibUYwWlY5bmNtOTFjQ2s3WEhKY2JpQWdiM1YwY0hWMExteHZaeWh2ZFhSd2RYUXVhVzVrWlc1MElDc2dYQ0ozYVdSMGFEb2dYQ0lnS3lCMGFHbHpMbmRwWkhSb0tUdGNjbHh1SUNCdmRYUndkWFF1Ykc5bktHOTFkSEIxZEM1cGJtUmxiblFnS3lCY0ltaGxhV2RvZERvZ1hDSWdLeUIwYUdsekxtaGxhV2RvZENrN1hISmNibjA3THk4Z1ptbHNaVHB6Y21NdmJYQTBZbTk0TG1welhISmNiaThxWEhKY2JpQXFJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhNaTB5TURFekxpQlVaV3hsWTI5dElGQmhjbWx6VkdWamFDOVVVMGt2VFUwdlIxQkJReUJEZVhKcGJDQkRiMjVqYjJ4aGRHOWNjbHh1SUNvZ1RHbGpaVzV6WlRvZ1FsTkVMVE10UTJ4aGRYTmxJQ2h6WldVZ1RFbERSVTVUUlNCbWFXeGxLVnh5WEc0Z0tpOWNjbHh1ZG1GeUlFMVFORUp2ZUNBOUlIdDlPMXh5WEc1Y2NseHVUVkEwUW05NExtTnlaV0YwWlVacGJHVWdQU0JtZFc1amRHbHZiaWhmYTJWbGNFMWtZWFJFWVhSaExDQmZjM1J5WldGdEtTQjdYSEpjYmlBZ0x5b2dRbTl2YkdWaGJpQnBibVJwWTJGMGFXNW5JR2xtSUdKNWRHVnpJR052Ym5SaGFXNXBibWNnYldWa2FXRWdaR0YwWVNCemFHOTFiR1FnWW1VZ2EyVndkQ0J
1wYmlCdFpXMXZjbmtnS2k5Y2NseHVJQ0IyWVhJZ2EyVmxjRTFrWVhSRVlYUmhJRDBnS0Y5clpXVndUV1JoZEVSaGRHRWdJVDA5SUhWdVpHVm1hVzVsWkNBL0lGOXJaV1Z3VFdSaGRFUmhkR0VnT2lCMGNuVmxLVHRjY2x4dUlDQjJZWElnWm1sc1pTQTlJRzVsZHlCSlUwOUdhV3hsS0Y5emRISmxZVzBwTzF4eVhHNGdJR1pwYkdVdVpHbHpZMkZ5WkUxa1lYUkVZWFJoSUQwZ0tHdGxaWEJOWkdGMFJHRjBZU0EvSUdaaGJITmxJRG9nZEhKMVpTazdYSEpjYmlBZ2NtVjBkWEp1SUdacGJHVTdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnZXlCTlVEUkNiM2dzSUVSaGRHRlRkSEpsWVcwc0lFbFRUMFpwYkdVZ2ZUdGNjbHh1SWl3aWFXMXdiM0owSUhzZ2RHOVRaV052Ym1SeklIMGdabkp2YlNBblFHTjFkSGRwYzJVdmRYUnBiSE1uTzF4dVhHNXBiWEJ2Y25RZ2V5QkpVMDlHYVd4bExDQk5VRFJDYjNnZ2ZTQm1jbTl0SUNkQUwyRnpjMlYwY3k5c2FXSnpMMjF3TkdKdmVDYzdYRzVjYm1Oc1lYTnpJRVpwYkdWVGFXNXJJSHRjYmlBZ0kyWnBiR1U2SUVsVFQwWnBiR1U3WEc0Z0lDTnZabVp6WlhRZ1BTQXdPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLR1pwYkdVNklFbFRUMFpwYkdVcElIdGNiaUFnSUNCMGFHbHpMaU5tYVd4bElEMGdabWxzWlR0Y2JpQWdmVnh1WEc0Z0lIZHlhWFJsS0dOb2RXNXJPaUJWYVc1ME9FRnljbUY1S1NCN1hHNGdJQ0FnWTI5dWMzUWdZblZtWm1WeUlEMGdibVYzSUVGeWNtRjVRblZtWm1WeUtHTm9kVzVyTG1KNWRHVk1aVzVuZEdncE8xeHVYRzRnSUNBZ2JtVjNJRlZwYm5RNFFYSnlZWGtvWW5WbVptVnlLUzV6WlhRb1kyaDFibXNwTzF4dVhHNGdJQ0FnTHk4Z1FIUnpMV2xuYm05eVpWeHVJQ0FnSUdKMVptWmxjaTVtYVd4bFUzUmhjblFnUFNCMGFHbHpMaU52Wm1aelpYUTdYRzRnSUNBZ2RHaHBjeTRqYjJabWMyVjBJQ3M5SUdKMVptWmxjaTVpZVhSbFRHVnVaM1JvTzF4dVhHNGdJQ0FnZEdocGN5NGpabWxzWlM1aGNIQmxibVJDZFdabVpYSW9ZblZtWm1WeUtUdGNiaUFnZlZ4dWZWeHVYRzVwYm5SbGNtWmhZMlVnUm1sc1pVUmxiWFY0WlhKVGRHRjBjeUI3WEc0Z0lHWmxkR05vVkdsdFpUb2diblZ0WW1WeU8xeHVJQ0JrWldOdlpHVmtWR2x0WlRvZ2JuVnRZbVZ5TzF4dWZWeHVYRzVwYm5SbGNtWmhZMlVnUm1sc1pVUmxiWFY0WlhKRGIyNW1hV2NnZTF4dUlDQnZia052Ym1acFp6b2dLR052Ym1acFp6b2dleUJqYjJSbFl6b2djM1J5YVc1bklIMHBJRDArSUhadmFXUTdYRzRnSUc5dVJtbHVhWE5vT2lBb1kyaDFibXR6T2lCRmJtTnZaR1ZrVm1sa1pXOURhSFZ1YTF0ZExDQnpkR0YwY3pvZ1JtbHNaVVJsYlhWNFpYSlRkR0YwY3lrZ1BUNGdkbTlwWkR0Y2JuMWNibHh1WTJ4aGMzTWdSbWxzWlVSbGJYVjRaWElnZTF4dUlDQnpkR0Z5ZEZScGJXVWdQU0F3TzF4dUlDQm1aWFJqYUZScGJXVWdQU0F3TzF4dVhHNGdJQ05tYVd4bE9pQkpVMDlHYVd4bE8xeHVJQ0FqWTI5dVptbG5PaUJHYVd4bFJHVnRkWGhsY2tOdmJtWnBaenRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWgxY21rNklITjBjbWx1Wnl3Z1kyOXVabWxuT2lCR2FXeGxSR1Z0ZFhobGNrTnZibVpwWnlrZ2UxeHVJQ0FnSUhSb2FYTXVJMk52Ym1acFp5QTlJR052Ym1acFp6dGNibHh1SUNBZ0lDOHZJRU52Ym1acFozVnlaU0JoYmlCTlVEUkNiM2dnUm1sc1pTQm1iM0lnWkdWdGRYaHBibWN1WEc0Z0lDQWdkR2hwY3k0alptbHNaU0E5SUUxUU5FSnZlQzVqY21WaGRHVkdhV3hsS0NrN1hHNGdJQ0FnZEdocGN5NGpabWxzWlM1dmJsSmxZV1I1SUQwZ2RHaHBjeTRqYjI1U1pXRmtlUzVpYVc1a0tIUm9hWE1wTzF4dUlDQWdJSFJvYVhNdUkyWnBiR1V1YjI1VFlXMXdiR1Z6SUQwZ2RHaHBjeTRqYjI1R2FXNXBjMmd1WW1sdVpDaDBhR2x6S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR1pwYkdWVGFXNXJJRDBnYm1WM0lFWnBiR1ZUYVc1cktIUm9hWE11STJacGJHVXBPMXh1WEc0Z0lDQWdkR2hwY3k1emRHRnlkRlJwYldVZ1BTQndaWEptYjNKdFlXNWpaUzV1YjNjb0tUdGNibHh1SUNBZ0lHWmxkR05vS0hWeWFTa3VkR2hsYmlnb2NtVnpjRzl1YzJVcElEMCtJSHRjYmlBZ0lDQWdJSEpsYzNCdmJuTmxMbUp2WkhrL0xuQnBjR1ZVYnlodVpYY2dWM0pwZEdGaWJHVlRkSEpsWVcwb1ptbHNaVk5wYm1zc0lIc2dhR2xuYUZkaGRHVnlUV0Z5YXpvZ01pQjlLU2s3WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNBamIyNVNaV0ZrZVNocGJtWnZPaUJCYm5rcElIdGNiaUFnSUNCamIyNXpkQ0IwY21GamF5QTlJR2x1Wm04dWRtbGtaVzlVY21GamEzTmJNRjA3WEc1Y2JpQWdJQ0F2THlCSFpXNWxjbUYwWlNCaGJtUWdaVzFwZENCaGJpQmhjSEJ5YjNCeWFXRjBaU0JXYVdSbGIwUmxZMjlrWlhKRGIyNW1hV2N1WEc0Z0lDQWdkR2hwY3k0alkyOXVabWxuTG05dVEyOXVabWxuS0h0Y2JpQWdJQ0FnSUM4dklFSnliM2R6WlhJZ1pHOWxjMjRuZENCemRYQndiM0owSUhCaGNuTnBibWNnWm5Wc2JDQjJjRGdnWTI5a1pXTWdLR1ZuT2lCZ2RuQXdPQzR3TUM0ME1TNHdPR0FwTEZ4dUlDQWdJQ0FnTHk4Z2RHaGxlU0J2Ym14NUlITjFjSEJ2Y25RZ1lIWndPR0F1WEc0Z0lDQWdJQ0JqYjJSbFl6b2dkSEpoWTJzdVkyOWtaV011YzNSaGNuUnpWMmwwYUNnbmRuQXdPQ2NwSUQ4Z0ozWndPQ2NnT2lCMGNtRmpheTVqYjJSbFl5eGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lIUm9hWE11Wm1WMFkyaFVhVzFsSUQwZ2NHVnlabTl5YldGdVkyVXVibTkzS0NrZ0xTQjBhR2x6TG5OMFlYSjBWR2x0WlR0Y2JseHVJQ0FnSUM4dklGTjBZWEowSUdSbGJYVjRhVzVuTGx4dUlDQWdJSFJvYVhNdUkyWnBiR1V1YzJWMFJYaDBjbUZqZEdsdmJrOXdkR2x2Ym5Nb2RISmhZMnN1YVdRcE8xeHVJQ0FnSUhSb2FYTXVJMlpwYkdVdWMzUmhjblFvS1R0Y2JpQWdmVnh1WEc0Z0lDTnZia1pwYm1semFDaGZPaUJ1WlhabGNpd2dYMTg2SUc1bGRtVnlMQ0J6WVcxd2JHVnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQkJibmsrVzEwcElIdGNiaUFnSUNCMGFHbHpMaU5qYjI1bWFXY3ViMjVHYVc1cGMyZ29YRzRnSUNBZ0lDQnpZVzF3YkdWekxtMWhjQ2hjYmlBZ0lDQWdJQ0FnS0hOaGJYQnNaU2tnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQnVaWGNnUlc1amIyUmxaRlpwWkdWdlEyaDFibXNvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ2MyRnRjR3hsTG1selgzTjVibU1nUHlBbmEyVjVKeUE2SUNka1pXeDBZU2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhVzFsYzNSaGJYQTZJQ2d4WlRZZ0tpQnpZVzF3YkdVdVkzUnpLU0F2SUhOaGJYQnNaUzUwYVcxbGMyTmhiR1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtkWEpoZEdsdmJqb2dLREZsTmlBcUlITmhiWEJzWlM1a2RYSmhkR2x2YmlrZ0x5QnpZVzF3YkdVdWRHbHRaWE5qWVd4bExGeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdGMFlUb2djMkZ0Y0d4bExtUmhkR0VzWEc0Z0lDQWdJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQXBMRnh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JtWlhSamFGUnBiV1U2SUhSb2FYTXVabVY
1wWTJoVWFXMWxMRnh1SUNBZ0lDQWdJQ0JrWldOdlpHVmtWR2x0WlRvZ2NHVnlabTl5YldGdVkyVXVibTkzS0NrZ0xTQjBhR2x6TG1abGRHTm9WR2x0WlN4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVFdWa2FXRkVaVzExZUdWeUlIdGNiaUFnZFhKc09pQnpkSEpwYm1jN1hHNGdJR2x6UkdWdGRYaGxaQ0E5SUdaaGJITmxPMXh1WEc0Z0lDTmpiMjVtYVdjaE9pQldhV1JsYjBSbFkyOWtaWEpEYjI1bWFXYzdYRzRnSUNOamFIVnVhM002SUVWdVkyOWtaV1JXYVdSbGIwTm9kVzVyVzEwZ1BTQmJYVHRjYmlBZ0kyWnBiR1ZFWlcxMWVHVnlVM1JoZEhNL09pQkdhV3hsUkdWdGRYaGxjbE4wWVhSek8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtIVnliRG9nYzNSeWFXNW5LU0I3WEc0Z0lDQWdkR2hwY3k1MWNtd2dQU0IxY213N1hHNGdJSDFjYmx4dUlDQm5aWFFnWm5KaGJXVkRiM1Z1ZENncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWphSFZ1YTNNdWJHVnVaM1JvTzF4dUlDQjlYRzVjYmlBZ1oyVjBJR1psZEdOb1ZHbHRaU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkRzlUWldOdmJtUnpLSFJvYVhNdUkyWnBiR1ZFWlcxMWVHVnlVM1JoZEhNL0xtWmxkR05vVkdsdFpTQS9QeUF3S1R0Y2JpQWdmVnh1WEc0Z0lHZGxkQ0JrWldOdlpHVlVhVzFsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYjFObFkyOXVaSE1vZEdocGN5NGpabWxzWlVSbGJYVjRaWEpUZEdGMGN6OHVaR1ZqYjJSbFpGUnBiV1VnUHo4Z01DazdYRzRnSUgxY2JseHVJQ0JuWlhRZ1kyaDFibXR6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxpTmphSFZ1YTNNN1hHNGdJSDFjYmx4dUlDQm5aWFFnWTI5dVptbG5LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGlOamIyNW1hV2M3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJrWlcxMWVDZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXBjMFJsYlhWNFpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQlFjbTl0YVhObExuSmxjMjlzZG1Vb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVOFRXVmthV0ZFWlcxMWVHVnlQaWdvY21WemIyeDJaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ2JtVjNJRVpwYkdWRVpXMTFlR1Z5S0hSb2FYTXVkWEpzTENCN1hHNGdJQ0FnSUNBZ0lHOXVRMjl1Wm1sbk9pQW9ZMjl1Wm1sbk9pQldhV1JsYjBSbFkyOWtaWEpEYjI1bWFXY3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGlOamIyNW1hV2NnUFNCamIyNW1hV2M3WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lHOXVSbWx1YVhOb09pQW9ZMmgxYm10ekxDQnpkR0YwY3lrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVJMk5vZFc1cmN5QTlJR05vZFc1cmN6dGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxpTm1hV3hsUkdWdGRYaGxjbE4wWVhSeklEMGdjM1JoZEhNN1hHNWNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtbHpSR1Z0ZFhobFpDQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxLSFJvYVhNcE8xeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENCN0lHbHpRWEp5WVhrc0lHbHpSVzF3ZEhrZ2ZTQm1jbTl0SUNkQVkzVjBkMmx6WlM5MWRHbHNjeWM3WEc1Y2JtbHRjRzl5ZENCN0lGTnZkWEpqWlUxbFpHbGhJSDBnWm5KdmJTQW5RQzlRYkdGNVpYSXVkSGx3WlhNbk8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTNWc1lYUmxRMlZzYkZOcGVtVW9iV0YwY21sNE9pQk9kV3hzWVdKc1pUeFRiM1Z5WTJWTlpXUnBZVDViWFZ0ZExDQjBZWEpuWlhSWGFXUjBhRG9nYm5WdFltVnlMQ0IwWVhKblpYUklaV2xuYUhRNklHNTFiV0psY2lrZ2UxeHVJQ0JwWmlBb0lXbHpRWEp5WVhrb2JXRjBjbWw0S1NCOGZDQnBjMFZ0Y0hSNUtHMWhkSEpwZUNrcElIdGNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnZDJsa2RHZzZJREFzWEc0Z0lDQWdJQ0JvWldsbmFIUTZJREFzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUd4bGRDQmlhV2RuWlhOMFRHVnVaM1JvSUQwZ01EdGNibHh1SUNCdFlYUnlhWGd1Wm05eVJXRmphQ2dvYzI5MWNtTmxjem9nVG5Wc2JHRmliR1U4VTI5MWNtTmxUV1ZrYVdFK1cxMHBJRDArSUh0Y2JpQWdJQ0JwWmlBb2MyOTFjbU5sY3k1c1pXNW5kR2dnUGlCaWFXZG5aWE4wVEdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JpYVdkblpYTjBUR1Z1WjNSb0lEMGdjMjkxY21ObGN5NXNaVzVuZEdnN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQmpiMjV6ZENCYmNtOTNjeXdnWTI5c2RXMXVjMTBnUFNCYmJXRjBjbWw0TG14bGJtZDBhQ3dnWW1sbloyVnpkRXhsYm1kMGFGMDdYRzVjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0IzYVdSMGFEb2dkR0Z5WjJWMFYybGtkR2dnTHlCamIyeDFiVzV6TEZ4dUlDQWdJR2hsYVdkb2REb2dkR0Z5WjJWMFNHVnBaMmgwSUM4Z2NtOTNjeXhjYmlBZ2ZUdGNibjFjYmlJc0ltbHRjRzl5ZENCN0lHUmxaWEJOWlhKblpTd2dhWE5CY25KaG
1VTd2dhWE5GYlhCMGVTd2dhWE5PZFcxaVpYSXNJR3h2WjJkbGNpd2dkRzlUWldOdmJtUnpJSDBnWm5KdmJTQW5RR04xZEhkcGMyVXZkWFJwYkhNbk8xeHVhVzF3YjNKMElIc2daMlYwVUdWeVkyVnVkRVp5YjIxV1lXeDFaU0I5SUdaeWIyMGdKMEJqZFhSM2FYTmxMM1YwYVd4ekwyeHBZaTkxZEdsc2N5OXdaWEpqWlc1MEwzQmxjbU5sYm5Rbk8xeHVYRzVwYlhCdmNuUWdleUJYYjNKclpYSkJZM1JwYjI0Z2ZTQm1jbTl0SUNkQUwyTnZibk4wWVc1MGN5OTNiM0pyWlhJbk8xeHVhVzF3YjNKMElIc2dkSGx3WlNCQmNIQnNlVk5sZEhScGJtZHpMQ0JRYkdGNVpYSlRiM1Z5WTJVc0lGTnZkWEpqWlUxbFpHbGhJSDBnWm5KdmJTQW5RQzlRYkdGNVpYSXVkSGx3WlhNbk8xeHVhVzF3YjNKMElIc2dRa3hCUTB0ZlEwOU1UMUlzSUVSeVlYZGxjaXdnUjFKQlJFVmZRazlTUkVWU1gxSkJSRWxWVXl3Z1VrVkdYME5QVEU5U0xDQlhTRWxVUlY5RFQweFBVaUI5SUdaeWIyMGdKMEF2YzJWeWRtbGpaWE12WkhKaGQyVnlKenRjYm1sdGNHOXlkQ0I3SUUxbFpHbGhSR1ZqYjJSbGNpQjlJR1p5YjIwZ0owQXZjMlZ5ZG1salpYTXZiV1ZrYVdFdFpHVmpiMlJsY2ljN1hHNXBiWEJ2Y25RZ2V5Qk5aV1JwWVVSbGJYVjRaWElnZlNCbWNtOXRJQ2RBTDNObGNuWnBZMlZ6TDIxbFpHbGhMV1JsYlhWNFpYSW5PMXh1YVcxd2IzSjBJSHNnWTJGc1kzVnNZWFJsUTJWc2JGTnBlbVVnZlNCbWNtOXRJQ2RBTDNWMGFXeHpMMk5oYkdOMWJHRjBaVU5sYkd4VGFYcGxKenRjYm1sdWRHVnlabUZqWlNCWGIzSnJaWEpUWlhSMGFXNW5jeUJsZUhSbGJtUnpJRUZ3Y0d4NVUyVjBkR2x1WjNNZ2UxeHVJQ0F2THlCcGJpQjNiM0pyWlhJZ1hDSnpiM1Z5WTJWelhDSWdZV3gzWVhseklIZHBiR3dnWW1VZ2JXRjBjbWw0TENCM1pTQnRZV3RsSUdOdmJuWmxjbk5wYjI0Z2FXNGdYQ0lqZFhCa1lYUmxVMjkxY21ObGMxd2lYRzRnSUhOdmRYSmpaWE02SUU1MWJHeGhZbXhsUEZOdmRYSmpaVTFsWkdsaFBsdGRXMTA3WEc0Z0lITmpjbVZsYmxkcFpIUm9PaUJ1ZFcxaVpYSTdYRzRnSUhOamNtVmxia2hsYVdkb2REb2diblZ0WW1WeU8xeHVJQ0J3WVdkbE9pQnVkVzFpWlhJN1hHNGdJR05oYkdOMWJHRjBaVkJoWjJVNklHSnZiMnhsWVc0N1hHNTlYRzVjYm1sdWRHVnlabUZqWlNCTllYUnlhWGhUYjNWeVkyVWdlMXh1SUNCc1pXWjBPaUJOWldScFlVUmxZMjlrWlhJN1hHNGdJSEpwWjJoME9pQk5aV1JwWVVSbFkyOWtaWEk3WEc0Z0lIZzZJRzUxYldKbGNqdGNiaUFnZVRvZ2JuVnRZbVZ5TzF4dUlDQjNhV1IwYURvZ2JuVnRZbVZ5TzF4dUlDQm9aV2xuYUhRNklHNTFiV0psY2p0Y2JpQWdabkpoYldVL09pQnVkVzFpWlhJN1hHNTlYRzVjYm1Oc1lYTnpJRkJzWVhsbGNsZHZjbXRsY2lCN1hHNGdJSE5sZEhScGJtZHpJVG9nVjI5eWEyVnlVMlYwZEdsdVozTTdYRzRnSUhCeVpYWlRaWFIwYVc1bmN5RTZJRmR2Y210bGNsTmxkSFJwYm1kek8xeHVYRzRnSUNOdlptWnpaWFJNWldaMElEMGdNRHRjYmlBZ0kyOW1abk5sZEVKdmRIUnZiU0E5SURBN1hHNWNiaUFnSTJObGJHeFhhV1IwYUNBOUlEQTdYRzRnSUNOalpXeHNTR1ZwWjJoMElEMGdNRHRjYmlBZ0kyRjJZV2xzWVdKc1pWZHBaSFJvSUQwZ01EdGNiaUFnSTJGMllXbHNZV0pzWlVobGFXZG9kQ0E5SURBN1hHNWNiaUFnSTJSbGJYVjRaWEp6VFdGd0lEMGdibVYzSUUxaGNEeHpkSEpwYm1jc0lFMWxaR2xoUkdWdGRYaGxjajRvS1R0Y2JpQWdJMjFoZEhKcGVEb2dUblZzYkdGaWJHVThUV0YwY21sNFUyOTFjbU5sUGx0ZFcxMGdQU0JiWFR0Y2JpQWdJM0J5WlhaTllYUnlhWGc2SUU1MWJHeGhZbXhsUEUxaGRISnBlRk52ZFhKalpUNWJYVnRkSUQwZ1cxMDdYRzVjYmlBZ0kybHpSM0poWkdsdVoxWnBaWGNnUFNCbVlXeHpaVHRjYmlBZ0kybHpSM0poWkdsdVoxSmxjM1ZzZEZacFpYY2dQU0JtWVd4elpUdGNiaUFnSTJkeVlXUmxRbXh2WTJ0WGFXUjBhQ0E5SURBN1hHNWNiaUFnSTNCeVpYWlFZV2RsSUQwZ01UdGNiaUFnSTNCaFoyVWdQU0F4TzF4dUlDQWpjR0ZuWlhNZ1BTQXhPMXh1SUNBamNHRm5aVk5wZW1VZ1BTQXhPMXh1SUNBamNHRm5aVTltWm5ObGRDQTlJREE3WEc1Y2JpQWdJMjFoZUZOallXeGxVbUYwYVc4NklFNTFiR3hoWW14bFBHNTFiV0psY2o0Z1BTQnVkV3hzTzF4dVhHNGdJSEJ5YVhaaGRHVWdaSEpoZDJWeU9pQkVjbUYzWlhJN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb0tTQjdYRzRnSUNBZ2RHaHBjeTVrY21GM1pYSWdQU0J1WlhjZ1JISmhkMlZ5S0NrN1hHNGdJSDFjYmx4dUlDQm5aWFFnYzJOeVpXVnVWMmxrZEdnb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjMlYwZEdsdVozTXVjMk55WldWdVYybGtkR2c3WEc0Z0lIMWNibHh1SUNCblpYUWdjMk55WldWdVNHVnBaMmgwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTmxkSFJwYm1kekxuTmpjbVZsYmtobGFXZG9kRHRjYmlBZ2ZWeHVYRzRnSUdkbGRDQm1iR0YwVTI5MWNtTmxjeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYUjBhVzVuY3k1emIzVnlZMlZ6TG1ac1lYUW9LUzVtYVd4MFpYSW9LSE1wSUQwK0lDRWhjeWtnWVhNZ1UyOTFjbU5sVFdWa2FXRmJYVHRjYmlBZ2ZWeHVYRzRnSUdkbGRDQnZabVp6WlhSTVpXWjBWbUZzZFdVb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VZMlZwYkNoMGFHbHpMaU5uY21Ga1pVSnNiMk5yVjJsa2RHZ2dLeUIwYUdsekxtUnlZWGRsY2k1blpYUlVaWGgwVjJsa2RHZ29kR2hwY3k1c2IyNW5aWE4wUjNKaFpHVk1ZV0psYkZkcFpIUm9LU2s3WEc0Z0lIMWNibHh1SUNCblpYUWdiMlptYzJWMFFtOTBkRzl0Vm1Gc2RXVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHZGxkRkJsY21ObGJuUkdjbTl0Vm1Gc2RXVW9kR2hwY3k1elkzSmxaVzVJWldsbmFIUXNJREV3S1R0Y2JpQWdmVnh1WEc0Z0lHZGxkQ0JuY21Ga1pYTW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzJWMGRHbHVaM011WjNKaFpHVnpVMlYwZEdsdVozTS9MbWR5WVdSbGN5QS9QeUJiWFR0Y2JpQWdmVnh1WEc0Z0lHZGxkQ0JzYjI1blpYTjBSM0poWkdWTVlXSmxiRmRwWkhSb0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWR5WVdSbGN5NXlaV1IxWTJVb0tISmxjM1ZzZEN3Z1ozSmhaR1VwSUQwK0lDaG5jbUZrWlM1c1lXSmxiQ0FtSmlCbmNtRmtaUzVzWVdKbGJDNXNaVzVuZEdnZ1BpQnlaWE4xYkhRdWJHVnVaM1JvSUQ4Z1ozSmhaR1V1YkdGaVpXd2dPaUJ5WlhOMWJIUXBMQ0FuSnlrN1hHNGdJSDFjYmx4dUlDQm5aWFFnYVhOSGNtRmtaWE5XWlhKMGFXTmhiQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYUjBhVzVuY3k1bmNtRmtaWE5UWlhSMGFXNW5jejh1Y0d4aFkyVWdQVDA5SUNkMlpYSjBhV05oYkNjN1hHNGdJSDFjYmx4dUlDQm5aWFFnYVhOSGNtRmtaWE5JYjNKcGVtOXVkR0ZzS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYU
1dsekxuTmxkSFJwYm1kekxtZHlZV1JsYzFObGRIUnBibWR6UHk1d2JHRmpaU0E5UFQwZ0oyaHZjbWw2YjI1MFlXd25PMXh1SUNCOVhHNWNiaUFnYzJWMFUyVjBkR2x1WjNNb1pHRjBZVG9nUVc1NUtTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCallXNTJZWE1nZlNBOUlHUmhkR0U3WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2FXWWdLR05oYm5aaGN5QW1KaUFoZEdocGN5NWtjbUYzWlhJdVkyRnVkbUZ6S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WkhKaGQyVnlMbk5sZEVOaGJuWmhjeWhqWVc1MllYTXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxpTnRaWE56WVdkbEtGZHZjbXRsY2tGamRHbHZiaTVVY21GdWMyWmxjaWs3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lHeHZaMmRsY2k1bGNuSnZjaWhsY25KdmNpazdYRzVjYmlBZ0lDQWdJSFJvYVhNdUkyMWxjM05oWjJVb1YyOXlhMlZ5UVdOMGFXOXVMbFJ5WVc1elptVnlMQ0I3SUdWeWNtOXlJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJR1JsWTI5a1pTaGtZWFJoT2lCQmJua3BJSHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnZEdocGN5NXdjbVYyVTJWMGRHbHVaM01nUFNCMGFHbHpMbk5sZEhScGJtZHpJRDgvSUh0OU8xeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSMGFXNW5jeUE5SUdSbFpYQk5aWEpuWlNoMGFHbHpMbk5sZEhScGJtZHpJRDgvSUh0OUxDQmtZWFJoS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLQ0ZwYzBGeWNtRjVLSFJvYVhNdWMyVjBkR2x1WjNNdWMyOTFjbU5sY3lrZ2ZId2dhWE5GYlhCMGVTaDBhR2x6TG5ObGRIUnBibWR6TG5OdmRYSmpaWE1wS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11STIxbGMzTmhaMlVvVjI5eWEyVnlRV04wYVc5dUxrUmxZMjlrWlNrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCemRHRnlkQ0E5SUhCbGNtWnZjbTFoYm1ObExtNXZkeWdwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbVpzWVhSVGIzVnlZMlZ6TG1admNrVmhZMmdvS0hOdmRYSmpaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVhOdmRYSmpaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaGRHaHBjeTRqWkdWdGRYaGxjbk5OWVhBdWFHRnpLSE52ZFhKalpTNXNaV1owS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdUkyUmxiWFY0WlhKelRXRndMbk5sZENoemIzVnlZMlV1YkdWbWRDd2dibVYzSUUxbFpHbGhSR1Z0ZFhobGNpaHpiM1Z5WTJVdWJHVm1kQ2twTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGMGFHbHpMaU5rWlcxMWVHVnljMDFoY0M1b1lYTW9jMjkxY21ObExuSnBaMmgwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdUkyUmxiWFY0WlhKelRXRndMbk5sZENoemIzVnlZMlV1Y21sbmFIUXNJRzVsZHlCTlpXUnBZVVJsYlhWNFpYSW9jMjkxY21ObExuSnBaMmgwS1NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0IwYUdsekxpTnBjMGR5WVdScGJtZFdhV1YzSUQwZ2RHaHBjeTV6WlhSMGFXNW5jeTV6YjNWeVkyVnpMbXhsYm1kMGFDQTlQVDBnTWlBbUppQWhhWE5GYlhCMGVTaDBhR2x6TG1keVlXUmxjeWtnSmlZZ2RHaHBjeTVwYzBkeVlXUmxjMVpsY25ScFkyRnNPMXh1SUNBZ0lDQWdkR2hwY3k0amFYTkhjbUZrYVc1blVtVnpkV3gwVm1sbGR5QTlJQ0ZwYzBWdGNIUjVLSFJvYVhNdVozSmhaR1Z6S1NBbUppQjBhR2x6TG1selIzSmhaR1Z6U0c5eWFYcHZiblJoYkR0Y2JpQWdJQ0FnSUhSb2FYTXVJMmR5WVdSbFFteHZZMnRYYVdSMGFDQTlJR2RsZEZCbGNtTmxiblJHY205dFZtRnNkV1VvZEdocGN5NXpZM0psWlc1WGFXUjBhQ3dnTWlrN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUhzZ2JHVm1kQ3dnWW05MGRHOXRJSDBnUFNCMGFHbHpMbWRsZEU5bVpuTmxkQ2dwTzF4dUlDQWdJQ0FnZEdocGN5NGpiMlptYzJWMFRHVm1kQ0E5SUd4bFpuUTdYRzRnSUNBZ0lDQjBhR2x6TGlOdlptWnpaWFJDYjNSMGIyMGdQU0JpYjNSMGIyMDdYRzVjYmlBZ0lDQWdJSFJvYVhNdUkyRjJZV2xzWVdKc1pWZHBaSFJvSUQwZ2RHaHBjeTV6WTNKbFpXNVhhV1IwYUNBdElIUm9hWE11STI5bVpuTmxkRXhsWm5RN1hHNGdJQ0FnSUNCMGFHbHpMaU5oZG1GcGJHRmliR1ZJWldsbmFIUWdQU0IwYUdsekxuTmpjbVZsYmtobGFXZG9kQ0F0SUhSb2FYTXVJMjltWm5ObGRFSnZkSFJ2YlR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnZXlCalpXeHNWMmxrZEdnc0lHTmxiR3hJWldsbmFIUWdmU0E5SUhSb2FYTXVaMlYwUTJWc2JGTnBlbVVvS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTRqWTJWc2JGZHBaSFJvSUQwZ1kyVnNiRmRwWkhSb08xeHVJQ0FnSUNBZ2RHaHBjeTRqWTJWc2JFaGxhV2RvZENBOUlHTmxiR3hJWldsbmFIUTdYRzVjYmlBZ0lDQWdJSFJvYVhNdUkzQmhaMlZUYVhwbElEMGdUV0YwYUM1bWJHOXZjaWgwYUdsekxpTmhkbUZwYkdGaWJHVlhhV1IwYUNBdklIUm9hWE11STJObGJHeFhhV1IwYUNrN1hHNGdJQ0FnSUNCMGFHbHpMaU53WVdkbGN5QTlJSFJvYVhNdVoyVjBVR0ZuWlhNb0tUdGNiaUFnSUNBZ0lIUm9hWE11STNCeVpYWlFZV2RsSUQwZ2RHaHBjeTRqY0dGblpUdGNiaUFnSUNBZ0lIUm9hWE11STNCaFoyVWdQU0IwYUdsekxuTmxkSFJwYm1kekxuQmhaMlU3WEc1Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG5ObGRIUnBibWR6TG1OaGJHTjFiR0YwWlZCaFoyVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z2QyaGxiaUIzWlNCdmJpQm5jbUZrYVc1bklDMGdaR1YwWlhKdGFXNWxJSFJvWVhRZ1ptbHljM1FnWVhKeVlYa2dLSGRvYVdOb0lHbHpJR04xY25KbGJuUWdaR2xoYlc5dVpDa2dibTkwSUc5dUlIUm9aU0JtYVhKemRDQndZV2RsSUdGdVpDQnVZWFpwWjJGMFpTQjBieUIwYUdseklIQmhaMlZjYmlBZ0lDQWdJQ0FnTHk4Z2FXNGdiM1JvWlhJZ1kyRnpaWE1nS0c1dmRDQm5jbUZrYVc1bktTQnpkR0Y1SUc5dUlITmhiV1VnY0dGblpWeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NXpaWFIwYVc1bmN5NXpiM1Z5WTJWeklDWW1JSFJvYVhNdWMyVjBkR2x1WjNNdWMyOTFjbU5sY3k1c1pXNW5kR2dnUGlBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjMjkxY21ObElEMGdkR2hwY3k1elpYUjBhVzVuY3k1emIzVnlZMlZ6V3pCZElHRnpJRkJzWVhsbGNsTnZkWEpqWlZ0ZE8xeHVYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGFHbHpMaU53WVdkbGN6c2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZENBOUlHa2dLaUIwYUdsekxpTndZV2RsVTJsNlpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05vZFc1cklEMGdjMjkxY21ObExuTnNhV05sS0drZ0tpQjBhR2x6TGlOd1lXZGxVMmw2WlN3Z2MzUmhjblFnS3lCMGFHbHpMaU53WVdkbFUybDZaU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamFIVnVheTVtYVd4MFpYSW9LSE1wSUQwK0lDRWhjeWt1YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMaU53WVdkbElEMGdhU0FySURFN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxpTndZV2RsSUQ0Z2RHaHBjeTRqY0dGblpYTXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NGpjR0ZuWlNBOUlIUm9hWE11STNCaFoyVnpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxpTndZV2RsVDJabWMyVjBJRDBnS0hSb2FYTXVJM0JoWjJVZ0xTQXhLU0FxSUhSb2FYTXVJM0JoWjJWVGFYcGxPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTRqY0dGblpYTWdQ
1aUF4SUNZbUlIUm9hWE11STJObGJHeFhhV1IwYUNBcUlIUm9hWE11STNCaFoyVlRhWHBsSUR3Z2RHaHBjeTRqWVhaaGFXeGhZbXhsVjJsa2RHZ3BJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NGpZMlZzYkZkcFpIUm9JRDBnZEdocGN5NGpZWFpoYVd4aFlteGxWMmxrZEdnZ0x5QjBhR2x6TGlOd1lXZGxVMmw2WlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHBjeTRqYldGNFUyTmhiR1ZTWVhScGJ5QTlJSFJvYVhNdVoyVjBUV0Y0VTJOaGJHVlNZWFJwYnlncE8xeHVYRzRnSUNBZ0lDQjBhR2x6TGlOd2NtVjJUV0YwY21sNElEMGdkR2hwY3k0amJXRjBjbWw0TzF4dUlDQWdJQ0FnZEdocGN5NGpiV0YwY21sNElEMGdkR2hwY3k1elpYUjBhVzVuY3k1emIzVnlZMlZ6TG0xaGNDZ29jbTkzY3l3Z2FTd2diV0YwY21sNEtTQTlQbHh1SUNBZ0lDQWdJQ0J5YjNkekxuTnNhV05sS0hSb2FYTXVJM0JoWjJWUFptWnpaWFFzSUhSb2FYTXVJM0JoWjJWUFptWnpaWFFnS3lCMGFHbHpMaU53WVdkbFUybDZaU2t1YldGd0tDaHpiM1Z5WTJVc0lHb3NJR0Z5Y2lrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2hjMjkxY21ObEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc1pXWjBJRDBnZEdocGN5NGpaR1Z0ZFhobGNuTk5ZWEF1WjJWMEtITnZkWEpqWlM1c1pXWjBLVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J5YVdkb2RDQTlJSFJvYVhNdUkyUmxiWFY0WlhKelRXRndMbWRsZENoemIzVnlZMlV1Y21sbmFIUXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZzWldaMElIeDhJQ0Z5YVdkb2RDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2MyVjBkR2x1WjNNZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallXNTJZWE02SUhSb2FYTXVaSEpoZDJWeUxtTmhiblpoY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5qY21WbGJsZHBaSFJvT2lCMGFHbHpMbk5qY21WbGJsZHBaSFJvTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjMmx1WjJ4bFUyTmhiR1U2SUVKdmIyeGxZVzRvZEdocGN5NXpaWFIwYVc1bmN5NXphVzVuYkdWVFkyRnNaU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpZMkZzWlZKaGRHbHZPaUJ6YjNWeVkyVXVjMk5oYkdWU1lYUnBieXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxZblZuT2lCMGFHbHpMbk5sZEhScGJtZHpMbVJsWW5WbkxGeHVJQ0FnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lIZ3NJSGtzSUhkcFpIUm9MQ0JvWldsbmFIUWdmU0E5SUhSb2FYTXVaMlYwUTJWc2JFTnZiM0prY3locExDQnFMQ0J0WVhSeWFYZ3ViR1Z1WjNSb0xDQmhjbkl1YkdWdVozUm9LVHRjYmx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWldaME9pQnVaWGNnVFdWa2FXRkVaV052WkdWeUtIc2dMaTR1YzJWMGRHbHVaM01zSUhWeWJEb2djMjkxY21ObExteGxablFzSUhKcFoyaDBPaUJtWVd4elpTd2dZMjl1Wm1sbk9pQnNaV1owTG1OdmJtWnBaeUI5S1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpwWjJoME9pQnVaWGNnVFdWa2FXRkVaV052WkdWeUtIc2dMaTR1YzJWMGRHbHVaM01zSUhWeWJEb2djMjkxY21ObExuSnBaMmgwTENCeWFXZG9kRG9nZEhKMVpTd2dZMjl1Wm1sbk9pQnlhV2RvZEM1amIyNW1hV2NnZlNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtY21GdFpUb2djMjkxY21ObExtWnlZVzFsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdlQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FXUjBhQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHaGxhV2RvZEN4Y2JpQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUNrN1hHNWNiaUFnSUNBZ0lIUm9hWE11Wm14MWMyaEVaV052WkdWeWN5Z3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lFcFRUMDR1YzNSeWFXNW5hV1o1S0hSb2FYTXVjSEpsZGxObGRIUnBibWR6TG1keVlXUmxjMU5sZEhScGJtZHpLU0FoUFQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvZEdocGN5NXp
1aWFIwYVc1bmN5NW5jbUZrWlhOVFpYUjBhVzVuY3lrZ2ZIeGNiaUFnSUNBZ0lDQWdTbE5QVGk1emRISnBibWRwWm5rb2RHaHBjeTV3Y21WMlUyVjBkR2x1WjNNdWMybDZaU2tnSVQwOUlFcFRUMDR1YzNSeWFXNW5hV1o1S0hSb2FYTXVjMlYwZEdsdVozTXVjMmw2WlNrZ2ZIeGNiaUFnSUNBZ0lDQWdkR2hwY3k1elpYUjBhVzVuY3k1d1lXZGxJQ0U5UFNCMGFHbHpMaU53WVdkbFhHNGdJQ0FnSUNBcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1eVpYTmxkRWR5WVdSbGN5Z3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0F2THlCM2FHVnVJR05vWVc1blpTQndZV2RsSUMwZ2NtVnpaWFFnZDJodmJHVWdZMkZ1ZG1GeklIUnZJR05zWldGeUlHRnNiQ0JrY21GM2JpQmthV0Z0YjI1a2MxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdUkzQmhaMlVnSVQwOUlIUm9hWE11STNCeVpYWlFZV2RsS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WkhKaGQyVnlMbkpsWTNRb01Dd2dNQ3dnZEdocGN5NXpZM0psWlc1WGFXUjBhQ0FxSURJc0lIUm9hWE11YzJOeVpXVnVTR1ZwWjJoMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZMjl1YzNRZ1pHVnRkWGhsY25OTWFYTjBJRDBnV3k0dUxuUm9hWE11STJSbGJYVjRaWEp6VFdGd0xuWmhiSFZsY3lncFhUdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2RHOUVaVzExZUNBOUlHUmxiWFY0WlhKelRHbHpkQzVtYVd4MFpYSW9LR1JsYlhWNFpYSXBJRDArSUNGa1pXMTFlR1Z5TG1selJHVnRkWGhsWkNrN1hHNWNiaUFnSUNBZ0lHRjNZV2wwSUZCeWIyMXBjMlV1WVd4c0tIUnZSR1Z0ZFhndWJXRndLQ2hrWlcxMWVHVnlLU0E5UGlCa1pXMTFlR1Z5TG1SbGJYVjRLQ2twS1R0Y2JseHVJQ0FnSUNBZ0x5OGdZMjl1Wm1sbmRYSmxJR1JsWTI5a1pYSnpYRzRnSUNBZ0lDQjBhR2x6TGlOdFlYUnlhWGd1Wm05eVJXRmphQ2dvY205M2N5d2dhU2tnUFQ1Y2JpQWdJQ0FnSUNBZ2NtOTNjeTVtYjNKRllXTm9LQ2h6YjNWeVkyVXNJR29wSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lYTnZkWEpqWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeGxablFnUFNCMGFHbHpMaU5rWlcxMWVHVnljMDFoY0M1blpYUW9jMjkxY21ObExteGxablF1ZFhKc0tUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnlhV2RvZENBOUlIUm9hWE11STJSbGJYVjRaWEp6VFdGd0xtZGxkQ2h6YjNWeVkyVXVjbWxuYUhRdWRYSnNLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2doYkdWbWRDQjhmQ0FoY21sbmFIUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqWld4c0lEMGdkR2hwY3k0amJXRjBjbWw0VzJsZFcycGRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZqWld4c1B5NXNaV1owUHk1cGMwTnZibVpwWjNWeVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmxiR3cvTG14bFpuUS9MbU52Ym1acFozVnlaU2hzWldaMExtTnZibVpwWnlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZqWld4c1B5NXlhV2RvZEQ4dWFYTkRiMjVtYVdkMWNtVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpaV3hzUHk1eWFXZG9kRDh1WTI5dVptbG5kWEpsS0hKcFoyaDBMbU52Ym1acFp5azdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDazdYRzVjYmlBZ0lDQWdJR2xtSUNoMGIwUmxiWFY0TG14bGJtZDBhQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdiRzluWjJWeUxuUmhZbXhsS0Z4dUlDQWdJQ0FnSUNBZ0lIUnZSR1Z0ZFhndWJXRndLQ2hrWlcxMWVHVnlLU0E5UGlBb2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZFhKc09pQmtaVzExZUdWeUxuVnliQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHWmxkR05vVkdsdFpUb2daR1Z0ZFhobGNpNW1aWFJqYUZScGJXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pXTnZaR1ZVYVcxbE9pQmtaVzExZUdWeUxtUmxZMjlrWlZScGJXVXNYRzRnSUNBZ0lDQWdJQ0FnZlNrcExGeHVJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0FnSUd4dloyZGxjaTVwYm1adktDZEVaV052WkdWa0p5d2dkRzlUWldOdmJtUnpLSEJsY21admNtMWhibU5sTG01dmR5Z3BJQzBnYzNSaGNuUXBLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NGpiV1Z6YzJGblpTaFhiM0pyWlhKQlkzUnBiMjR1UkdWamIyUmxMQ0I3WEc0Z0lDQWdJQ0FnSUdaeVlXMWxRMjkxYm5RNklHUmxiWFY0WlhKelRHbHpkRDh1V3pCZFB5NW1jbUZ0WlVOdmRXNTBJRDgvSURBc1hHNGdJQ0FnSUNBZ0lIQmhaMlU2SUhSb2FYTXVJM0JoWjJVc1hHNGdJQ0FnSUNBZ0lIQmhaMlZ6T2lCMGFHbHpMaU53WVdkbGN5eGNiaUFnSUNBZ0lDQWdjR0ZuWlZOcGVtVTZJSFJvYVhNdUkzQmhaMlZUYVhwbExGeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUd4dloyZGxjaTVsY25KdmNpaGxjbkp2Y2lrN1hHNWNiaUFnSUNBZ0lIUm9hWE11STIxbGMzTmhaMlVvVjI5eWEyVnlRV04wYVc5dUxrUmxZMjlrWlN3Z2V5Qmxjbkp2Y2lCOUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmhjM2x1WXlCeVpXNWtaWElvWkdGMFlUb2dRVzU1S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJtY21GdFpTd2djMmx1WjJ4bFUyTmhiR1VnZlNBOUlHUmhkR0U3WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0x5OGdkMmhsYmlCa2VXNWhiV2xqWVd4c2VTQjFjR1JoZEdVZ1hDSnphVzVuYkdWVFkyRnNaVndpSUMwZ2NtVjNjbWwwWlNCMllXeDFaU0JwYmlCelpYUjBhVzVuYzF4dUlDQWdJQ0FnZEdocGN5NXpaWFIwYVc1bmN5NXphVzVuYkdWVFkyRnNaU0E5SUhOcGJtZHNaVk5qWVd4bE8xeHVYRzRnSUNBZ0lDQjBhR2x6TGlOdFlYUnlhWGd1Wm05eVJXRmphQ2dvY205M0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUhKdmR5NW1iM0pGWVdOb0tDaGpaV3hzS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRmpaV3hzUHk1c1pXWjBJSHg4SUNGalpXeHNQeTV5YVdkb2RDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hsWm5RZ1BTQjBhR2x6TGlOa1pXMTFlR1Z5YzAxaGNDNW5aWFFvWTJWc2JDNXNaV1owTG5WeWJDa2hPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEpwWjJoMElEMGdkR2hwY3k0alpHVnRkWGhsY25OTllYQXVaMlYwS0dObGJHd3VjbWxuYUhRdWRYSnNLU0U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVd4bFpuUWdmSHdnSVhKcFoyaDBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTI5dVptbG5JRDBnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMlZzYkZnNklHTmxiR3d1ZUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR05sYkd4Wk9pQmpaV3hzTG5rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWld4c1YybGtkR2c2SUdObGJHd3VkMmxrZEdnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWld4c1NHVnBaMmgwT2lCalpXeHNMbWhsYVdkb2RDeGNiaU
1FnSUNBZ0lDQWdJQ0FnSUhOcGJtZHNaVk5qWVd4bExGeHVJQ0FnSUNBZ0lDQWdJQ0FnWW1sbloyVnpkRk5qWVd4bFVtRjBhVzg2SUhSb2FYTXVJMjFoZUZOallXeGxVbUYwYVc4c1hHNGdJQ0FnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJSEpsYm1SbGNpQndjbVZzYjJGa1pYSWdabTl5SUc1dmRDQmtaV052WkdWa0lHTmxiR3hjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JV3hsWm5RdVkyaDFibXR6VzJObGJHd3VabkpoYldVZ1B6OGdabkpoYldWZElDWW1JQ0Z5YVdkb2RDNWphSFZ1YTNOYlkyVnNiQzVtY21GdFpTQS9QeUJtY21GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhnZ1BTQmpiMjVtYVdjdVkyVnNiRmdnS3lCamIyNW1hV2N1WTJWc2JGZHBaSFJvSUM4Z01qdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSGtnUFNCamIyNW1hV2N1WTJWc2JGa2dLeUJqYjI1bWFXY3VZMlZzYkVobGFXZG9kQ0F2SURJN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaSEpoZDJWeUxuUmxlSFFvSjB4dllXUnBibWNuTENCNExDQjVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WkhKaGQyVnlMblJsZUhRb0oweHZZV1JwYm1jbkxDQjRJQ3NnZEdocGN5NXpZM0psWlc1WGFXUjBhQ3dnZVNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JqWld4c0xteGxablF1WkhKaGR5aHNaV1owTG1Ob2RXNXJjMXRqWld4c0xtWnlZVzFsSUQ4L0lHWnlZVzFsWFN3Z1kyOXVabWxuS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpaV3hzTG5KcFoyaDBMbVJ5WVhjb2NtbG5hSFF1WTJoMWJtdHpXMk5sYkd3dVpuSmhiV1VnUHo4Z1puSmhiV1ZkTENCamIyNW1hV2NwTzF4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lXbHpSVzF3ZEhrb2RHaHBjeTVuY21Ga1pYTXBLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1selIzSmhaR1Z6Vm1WeWRHbGpZV3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG1keVlXUmxjeTV6YkdsalpTaDBhR2x6TGlOd1lXZGxUMlptYzJWMExDQjBhR2x6TGlOd1lXZGxUMlptYzJWMElDc2dkR2hwY3k0amNHRm5aVk5wZW1VcExtWnZja1ZoWTJnb0tHZHlZV1JsTENCcExDQmhjbklwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzltWm5ObGRDQTlJSFJvYVhNdVoyVjBTRzl5YVhwdmJuUmhiRTltWm5ObGRDaGhjbkl1YkdWdVozUm9LVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2VDQTlJSFJvYVhNdUkyTmxiR3hYYVdSMGFDQXFJR2tnS3lCdlptWnpaWFE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCNUlEMGdkR2hwY3k1elkzSmxaVzVJWldsbmFIUWdMU0IwYUdsekxpTnZabVp6WlhSQ2IzUjBiMjA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhKbGMyVjBJR0poWTJ0bmNtOTFibVJjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hsWm5RZ1pYbGxYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ5WVhkbGNpNXlaV04wS0hnc0lIa3NJSFJvYVhNdUkyTmxiR3hYYVdSMGFDd2dkR2hwY3k0amIyWm1jMlYwUW05MGRHOXRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSEpwWjJoMElHVjVaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrY21GM1pYSXVjbVZqZENoNElDc2dkR2hwY3k1elkzSmxaVzVYYVdSMGFDd2dlU3dnZEdocGN5NGpZMlZzYkZkcFpIUm9MQ0IwYUdsekxpTnZabVp6WlhSQ2IzUjBiMjBwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXZHlZV1JsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY21WbVZHVjRkQ0E5SUdkbGRGQmxjbU5sYm5SR2NtOXRWbUZzZFdVb2RHaHBjeTRqYjJabWMyVjBRbTkwZEc5dExDQXlOU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpXWkhjbUZrWlNBOUlHZGxkRkJsY21ObGJuUkdjbTl0Vm1Gc2RXVW9kR2hwY3k0amIyWm1jMlYwUW05MGRHOXRMQ0EwTUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQm5jbUZrWlVobGFXZG9kQ0E5SUdkbGRGQmxjbU5sYm5SR2NtOXRWbUZzZFdVb2RHaHBjeTRqYjJabWMyVjBRbTkwZEc5dExDQTNOU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobmNtRmtaUzUwZVhCbElEMDlQU0FuWjNKaFpHbHVaMUpsYzNWc2RDY2dKaVlnWjNKaFpHVXViR0ZpWld3Z0ppWWdaM0poWkdVdVkyOXNiM0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHZHlZV1JsTG5KbFptVnlaVzVqWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbFpsZ2dQU0I0SUNzZ2RHaHBjeTRqWTJWc2JGZHBaSFJvSUM4Z01qdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpXWlpJRDBnZVNBcklISmxabFJsZUhRZ0x5QXlPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHVm1kQ0JsZVdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ5WVhkbGNpNTBaWGgwS0dkeVlXUmxMbkpsWm1WeVpXNWpaU3dnY21WbVdDd2djbVZtV1N3Z2V5QnphWHBsT2lBeUxqUWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NtbG5hSFFnWlhsbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrY21GM1pYSXVkR1Y0ZENobmNtRmtaUzV5WldabGNtVnVZMlVzSUhKbFpsZ2dLeUIwYUdsekxuTmpjbVZsYmxkcFpIUm9MQ0J5WldaWkxDQjdJSE5wZW1VNklESXVOQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklISmxibVJsY2lCbmNtRmtaU0JpYkc5amExeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNaV1owSUdWNVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ5WVhkbGNpNXliM1Z1WkZKbFkzUW9lQ3dnZVNBcklISmxabFJsZUhRc0lIUm9hWE11STJObGJHeFhhV1IwYUN3Z1ozSmhaR1ZJWldsbmFIUXNJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpYjNKa1pYSlNZV1JwZFhNNklGdEhVa0ZFUlY5Q1QxSkVSVkpmVWtGRVNWVlRMQ0JIVWtGRVJWOUNUMUpFUlZKZlVrRkVTVlZUT
1ENBd0xDQXdYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjJ4dmNqb2daM0poWkdVdVkyOXNiM0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCeWFXZG9kQ0JsZVdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWtjbUYzWlhJdWNtOTFibVJTWldOMEtIZ2dLeUIwYUdsekxuTmpjbVZsYmxkcFpIUm9MQ0I1SUNzZ2NtVm1WR1Y0ZEN3Z2RHaHBjeTRqWTJWc2JGZHBaSFJvTENCbmNtRmtaVWhsYVdkb2RDd2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p2Y21SbGNsSmhaR2wxY3pvZ1cwZFNRVVJGWDBKUFVrUkZVbDlTUVVSSlZWTXNJRWRTUVVSRlgwSlBVa1JGVWw5U1FVUkpWVk1zSURBc0lEQmRMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ykc5eU9pQm5jbUZrWlM1amIyeHZjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHZHlZV1JsTG14aFltVnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiR0ZpWld4WUlEMGdlQ0FySUhSb2FYTXVJMk5sYkd4WGFXUjBhQ0F2SURJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYkdGaVpXeFpJRDBnZVNBcklISmxabFJsZUhRZ0t5QnlaV1pIY21Ga1pTQXZJREk3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnlaVzVrWlhJZ1ozSmhaR1VnYkdGaVpXeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJzWldaMElHVjVaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpISmhkMlZ5TG5SbGVIUW9aM0poWkdVdWJHRmlaV3dzSUd4aFltVnNXQ3dnYkdGaVpXeFpMQ0I3SUdOdmJHOXlPaUJDVEVGRFMxOURUMHhQVWlCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJ5YVdkb2RDQmxlV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtUnlZWGRsY2k1MFpYaDBLR2R5WVdSbExteGhZbVZzTENCc1lXSmxiRmdnS3lCMGFHbHpMbk5qY21WbGJsZHBaSFJvTENCc1lXSmxiRmtzSUhzZ1kyOXNiM0k2SUVKTVFVTkxYME5QVEU5U0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaG5jbUZrWlM1MGVYQmxJRDA5UFNBbmNtVm1aWEpsYm1ObEp5QW1KaUJuY21Ga1pTNXNZV0psYkNBbUppQm5jbUZrWlM1amIyeHZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1ozSmhaR1V1Y21WbVpYSmxibU5sS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY21WbVdDQTlJSGdnS3lCMGFHbHpMaU5qWld4c1YybGtkR2dnTHlBeU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbFpsa2dQU0I1SUNzZ2NtVm1WR1Y0ZENBdklESTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCc1pXWjBJR1Y1WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaSEpoZDJWeUxuUmxlSFFvWjNKaFpHVXVjbVZtWlhKbGJtTmxMQ0J5WldaWUxDQnlaV1paTENCN0lITnBlbVU2SURJdU5DQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCeWFXZG9kQ0JsZVdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ5WVhkbGNpNTBaWGgwS0dkeVlXUmxMbkpsWm1WeVpXNWpaU3dnY21WbVdDQXJJSFJvYVhNdWMyTnlaV1Z1VjJsa2RHZ3NJSEpsWmxrc0lIc2djMmw2WlRvZ01pNDBJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NtVnVaR1Z5SUdkeVlXUmxJR0pzYjJOclhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHeGxablFnWlhsbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaSEpoZDJWeUxuSnZkVzVrVW1WamRDaDRMQ0I1SUNzZ2NtVm1WR1Y0ZEN3Z2RHaHBjeTRqWTJWc2JGZHBaSFJvTENCeVpXWkhjbUZrWlN3Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnZjbVJsY2xKaFpHbDFjem9nVzBkU1FVUkZYMEpQVWtSRlVsOVNRVVJKVlZNc0lFZFNRVVJGWDBKUFVrUkZVbDlTUVVSSlZWTXNJREFzSURCZExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5T2lCbmNtRmtaUzVqYjJ4dmNpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSEpwWjJoMElHVjVaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1SeVlYZGxjaTV5YjNWdVpGSmxZM1FvZUNBcklIUm9hWE11YzJOeVpXVnVWMmxrZEdnc0lIa2dLeUJ5WldaVVpYaDBMQ0IwYUdsekxpTmpaV3hzVjJsa2RHZ3NJSEpsWmtkeVlXUmxMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW05eVpHVnlVbUZrYVhWek9pQmJSMUpCUkVWZlFrOVNSRVZTWDFKQlJFbFZVeXdnUjFKQlJFVmZRazlTUkVWU1gxSkJSRWxWVXl3Z01Dd2dNRjBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2IzSTZJR2R5WVdSbExtTnZiRzl5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aM0poWkdVdWJHRmlaV3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JzWVdKbGJGZ2dQU0I0SUNzZ2RHaHBjeTRqWTJWc2JGZHBaSFJvSUM4Z01qdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc1lXSmxiRmtnUFNCNUlDc2djbVZtVkdWNGRDQXJJSEpsWmtkeVlXUmxJQzhnTWp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hsWm5RZ1pYbGxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2NtRjNaWEl1ZEdWNGRDaG5jbUZrWlM1c1lXSmxiQ3dnYkdGaVpXeFlMQ0JzWVdKbGJGa3NJSHNnWTI5c2IzSTZJRUpNUVVOTFgwTlBURTlTSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSEpwWjJoMElHVjVaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpISmhkMlZ5TG5SbGVIUW9aM0poWkdVdWJHRmlaV3dzSUd4aFltVnNXQ0FySUhSb2FYTXVjMk55WldWdVYybGtkR2dzSUd4aFltVnNXU3dnZXlCamIyeHZjam9nUWt4QlEwdGZRMDlNVDFJZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHZHlZV1JsTG5SNWNHVWdQVDA5SUNkeVpXWmxjbVZ1WTJVbklDWW1JQ0ZuY21Ga1pTNXNZV0psYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J5WldaWUlEMGdlQ0FySUhSb2FYTXVJMk5sYkd4WGFXUjBhQ0F2SURJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEpsWmxrZ1BTQjBhR2x6TG5OamNtVmxia2hsYVdkb2RDQXRJSFJvYVhNdUkyOW1abk5sZEVKdmRIUnZiU0FySUhKbFpsUmxlSFE3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHZHlZV1JsTG5KbFptVnlaVzVqWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hsWm5RZ1pYbGxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2NtRjNaWEl1ZEdWNGRDaG5jbUZrWlM1eVpXWmxjbVZ1WTJVc0lIZ2dLeUIwYUdsekxpTmpaV3hzVjJsa2RHZ2dMeUF5TENCNUlDc2djbVZtVkdWNGRDQXZJRElzSUhzZ2MybDZaVG9nTWk0MElIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhKcFoyaDBJR1Y1WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaSEpoZDJWeUxuUmxlSFFvWjNKaFpHVXVjbVZtWlhKbGJtTmxMQ0I0SUNzZ2RHaHBjeTRqWTJWc2JGZHBaSFJvSUM4Z01pQXJJSFJvYVhNdWMyTnlaV1Z1VjJsa2RHZ3NJSGtnS3lCeVpXWlVaWGgwSUM4Z01pd2dleUJ6YVhwbE9pQXlMalFnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNaV1owSUdWNVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ5WVhkbGNpNXNhVzVsS0hKbFpsZ3NJSEpsWmxrc0lISmxabGdzSUhSb2FYTXVjMk55WldWdVNHVnBaMmgwTENCN0lHUmhjMmc2SUZzMUxDQTFYU3dnWTI5c2IzSTZJRkpGUmw5RFQweFBVaUI5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHVm1kQ0JsZVdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWtjbUYzWlhJdWJHbHVaU2h5WldaWUlDc2dkR2hwY3k1elkzSmxaVzVYYVdSMGFDd2djbVZtV1N3Z2NtVm1XQ0FySUhSb2FYTXVjMk55WldWdVYybGtkR2dzSUhSb2FYTXVjMk55WldWdVNHVnBaMmgwTENCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHRnphRG9nV3pVc0lEVmRMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ykc5eU9pQlNSVVpmUTA5TVQxSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5IY21Ga1pYTkliM0pwZW05dWRHRnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVuY21Ga1pYTXVabTl5UldGamFDZ29aM0poWkdVc0lHa3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIZ2d
1QU0F3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2VTQTlJSFJvYVhNdUkyTmxiR3hJWldsbmFIUWdLaUJwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCeVpYTmxkQ0JpWVdOclozSnZkVzVrWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzWldaMElHVjVaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrY21GM1pYSXVjbVZqZENoNExDQjVMQ0IwYUdsekxpTnZabVp6WlhSTVpXWjBMQ0IwYUdsekxpTmpaV3hzU0dWcFoyaDBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSEpwWjJoMElHVjVaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrY21GM1pYSXVjbTkxYm1SU1pXTjBLSGdnS3lCMGFHbHpMbk5qY21WbGJsZHBaSFJvTENCNUxDQjBhR2x6TGlOdlptWnpaWFJNWldaMExDQjBhR2x6TGlOalpXeHNTR1ZwWjJoMEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZuY21Ga1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobmNtRmtaUzUwZVhCbElEMDlQU0FuWjNKaFpHbHVaMUpsYzNWc2RDY2dKaVlnWjNKaFpHVXVZMjlzYjNJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjbVZ1WkdWeUlHZHlZV1JsSUdKc2IyTnJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hsWm5RZ1pYbGxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WkhKaGQyVnlMbkp2ZFc1a1VtVmpkQ2g0TENCNUxDQjBhR2x6TGlObmNtRmtaVUpzYjJOclYybGtkR2dzSUhSb2FYTXVJMk5sYkd4SVpXbG5hSFFzSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWIzSmtaWEpTWVdScGRYTTZJRnN3TENCSFVrRkVSVjlDVDFKRVJWSmZVa0ZFU1ZWVExDQk
1hVa0ZFUlY5Q1QxSkVSVkpmVWtGRVNWVlRMQ0F3WFN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyeHZjam9nWjNKaFpHVXVZMjlzYjNJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnlhV2RvZENCbGVXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrY21GM1pYSXVjbTkxYm1SU1pXTjBLSGdnS3lCMGFHbHpMbk5qY21WbGJsZHBaSFJvTENCNUxDQjBhR2x6TGlObmNtRmtaVUpzYjJOclYybGtkR2dzSUhSb2FYTXVJMk5sYkd4SVpXbG5hSFFzSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWIzSmtaWEpTWVdScGRYTTZJRnN3TENCSFVrRkVSVjlDVDFKRVJWSmZVa0ZFU1ZWVExDQkhVa0ZFUlY5Q1QxSkVSVkpmVWtGRVNWVlRMQ0F3WFN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyeHZjam9nWjNKaFpHVXVZMjlzYjNJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2huY21Ga1pTNXNZV0psYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hsWm5RZ1pYbGxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2NtRjNaWEl1ZEdWNGRDaG5jbUZrWlM1c1lXSmxiQ3dnZUNBcklIUm9hWE11STJkeVlXUmxRbXh2WTJ0WGFXUjBhQ3dnZVNBcklIUm9hWE11STJObGJHeElaV2xuYUhRZ0x5QXlMQ0I3SUdOdmJHOXlPaUJYU0VsVVJWOURUMHhQVWl3Z1lXeHBaMjQ2SUNkc1pXWjBKeUI5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnlhV2RvZENCbGVXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1SeVlYZGxjaTUwWlhoMEtHZHlZV1JsTG14aFltVnNMQ0I0SUNzZ2RHaHBjeTRqWjNKaFpHVkNiRzlqYTFkcFpIUm9JQ3NnZEdocGN5NXpZM0psWlc1WGFXUjBhQ3dnZVNBcklIUm9hWE11STJObGJHeElaV2xuYUhRZ0x5QXlMQ0I3SUdOdmJHOXlPaUJYU0VsVVJWOURUMHhQVWl3Z1lXeHBaMjQ2SUNkc1pXWjBKeUI5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdUkyMWxjM05oWjJVb1YyOXlhMlZ5UVdOMGFXOXVMbEpsYm1SbGNpazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUd4dloyZGxjaTVsY25KdmNpaGxjbkp2Y2lrN1hHNWNiaUFnSUNBZ0lIUm9hWE11STIxbGMzTmhaMlVvVjI5eWEyVnlRV04wYVc5dUxsSmxibVJsY2l3Z2V5Qmxjbkp2Y2lCOUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHWnNkWE5vUkdWamIyUmxjbk1vS1NCN1hHNGdJQ0FnWTI5dWMzUWdhWE5IY21Ga2FXNW5SR2xtWm1WeVpXNTBJRDBnZEdocGN5NXdjbVYyVTJWMGRHbHVaM011WjNKaFpHVnpVMlYwZEdsdVozTS9MbkJzWVdObElDRTlQU0IwYUdsekxuTmxkSFJwYm1kekxtZHlZV1JsYzFObGRIUnBibWR6UHk1d2JHRmpaVHRjYmx4dUlDQWdJQzh2SUhKbGMyVjBJR0ZzYkNCd1pXNWthVzVuSUdSbFkyOWtaWEp6SUc5dUlHVmhZMmdnWENKemIzVnlZMlZ6WENJZ1kyaGhibWRsWEc0Z0lDQWdkR2hwY3k0amNISmxkazFoZEhKcGVDNW1iM0pGWVdOb0tDaHliM2NzSUdrcElEMCtJSHRjYmlBZ0lDQWdJSEp2ZHk1bWIzSkZZV05vS0Nod2NtVjJRMlZzYkN3Z2Fpa2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9JWEJ5WlhaRFpXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JtVjRkRU5sYkd3Z1BTQjBhR2x6TGlOdFlYUnlhWGhiYVYwL0xsdHFYVHRjYmx4dUlDQWdJQ0FnSUNCc1pYUWdjMmh2ZFd4a1VtVnpaWFFnUFNCcGMwZHlZV1JwYm1kRWFXWm1aWEpsYm5RN1hHNWNiaUFnSUNBZ0lDQWdMeThnYVdZZ2JtVjRkQ0JqWld4c0lHbHpJR1Z0Y0hSNUlDMGdjbVZ6WlhRZ1kzVnljbVZ1ZENCalpXeHNYRzRnSUNBZ0lDQWdJR2xtSUNod2NtVjJRMlZzYkNBbUppQWhibVY0ZEVObGJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNCemFHOTFiR1JTWlhObGRDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0F2THlCcFppQndiM05wZEdsdmJpQnZaaUJ1WlhoMElHTmxiR3dnYVhNZ1pHbG1abVZ5Wlc1MElHbHVJR052YlhCaGNtbHpiMjRnZDJsMGFDQmpkWEp5Wlc1MElHTmxiR3dnTFNCeVpYTmxkRnh1SUNBZ0lDQWdJQ0JwWmlBb2NISmxka05sYkd3dWVDQWhQVDBnYm1WNGRFTmxiR3cvTG5nZ2ZId2djSEpsZGtObGJHd3VlU0FoUFQwZ2JtVjRkRU5sYkd3L0xua3BJSHRjYmlBZ0lDQWdJQ0FnSUNCemFHOTFiR1JTWlhObGRDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0F2THlCcFppQmpaV3hzSUdoaGN5QmthV1ptWlhKbGJuUWdaR2xoYlc5dVpDQnlaVzVrWlhKbFpDQnBibk5wWkdVZ2IyWWdhWFJjYmlBZ0lDQWdJQ0FnYVdZZ0tIQnlaWFpEWld4c1B5NXNaV1owTG5WeWJDQWhQVDBnYm1WNGRFTmxiR3cvTG14bFpuUXVkWEpzSUh4OElIQnlaWFpEWld4c1B5NXlhV2RvZEM1MWNtd2dJVDA5SUc1bGVIUkRaV3hzUHk1eWFXZG9kQzUxY213Z2ZId2djSEpsZGtObGJHdy9MbVp5WVcxbElDRTlQU0J1WlhoMFEyVnNiRDh1Wm5KaGJXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCemFHOTFiR1JTWlhObGRDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0F2THlCcFppQnphVzVuYkdVZ2MyTmhiR1VnYVhNZ1pHbG1abVZ5Wlc1MElDMGdjbVZ6WlhRc0lHSmxZMkYxYzJVZ2JtVjRkQ0J6YVhwbElHMXBaMmgwSUdKbElHeHZkMlZ5SUhSb1lXNGdjSEpsZG1sdmRYTmNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXVjSEpsZGxObGRIUnBibWR6TG5OcGJtZHNaVk5qWVd4bElDRTlQU0IwYUdsekxuTmxkSFJwYm1kekxuTnBibWRzWlZOallXeGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2MyaHZkV3hrVW1WelpYUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2FXWWdjMmw2WlNCcGN5QmthV1ptWlhKbGJuUWdMU0J5WlhObGRDd2dZbVZqWVhWelpTQnVaWGgwSUhOcGVtVWdiV2xuYUhRZ1ltVWdiR1Z6Y3lCMGFHRnVJSEJ5WlhacGIzVnpYRzRnSUNBZ0lDQWdJR2xtSUNo
1MGFHbHpMbkJ5WlhaVFpYUjBhVzVuY3k1emFYcGxJQ0U5UFNCMGFHbHpMbk5sZEhScGJtZHpMbk5wZW1VcElIdGNiaUFnSUNBZ0lDQWdJQ0J6YUc5MWJHUlNaWE5sZENBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvYzJodmRXeGtVbVZ6WlhRcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtUnlZWGRsY2k1eVpXTjBLSEJ5WlhaRFpXeHNMbmdzSUhCeVpYWkRaV3hzTG5rc0lIQnlaWFpEWld4c0xuZHBaSFJvTENCd2NtVjJRMlZzYkM1b1pXbG5hSFFwT3lBdkx5QnNaV1owSUdWNVpWeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpISmhkMlZ5TG5KbFkzUW9jSEpsZGtObGJHd3VlQ0FySUhSb2FYTXVjMk55WldWdVYybGtkR2dzSUhCeVpYWkRaV3hzTG5rc0lIQnlaWFpEWld4c0xuZHBaSFJvTENCd2NtVjJRMlZzYkM1b1pXbG5hSFFwT3lBdkx5QnlhV2RvZENCbGVXVmNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhCeVpYWkRaV3hzUHk1c1pXWjBMbVJsWTI5a1pYSXVZMnh2YzJVb0tUdGNiaUFnSUNBZ0lDQWdjSEpsZGtObGJHdy9MbkpwWjJoMExtUmxZMjlrWlhJdVkyeHZjMlVvS1R0Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnlaWE5sZEVkeVlXUmxjeWdwSUh0Y2JpQWdJQ0JqYjI1emRDQnNiMjVuWlhOMFIzSmhaR1VnUFNBb2RHaHBjeTV3Y21WMlUyVjBkR2x1WjNNdVozSmhaR1Z6VTJWMGRHbHVaM00vTG1keVlXUmxjeUEvUHlCYlhTa3VjbVZrZFdObEtGeHVJQ0FnSUNBZ0tISmxjM1ZzZEN3Z1ozSmhaR1VwSUQwK0lDaG5jbUZrWlM1c1lXSmxiQ0FtSmlCbmNtRmtaUzVzWVdKbGJDNXNaVzVuZEdnZ1BpQnlaWE4xYkhRdWJHVnVaM1JvSUQ4Z1ozSmhaR1V1YkdGaVpXd2dPaUJ5WlhOMWJIUXBMRnh1SUNBZ0lDQWdKeWNzWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElHeGxablFnUFNCTllYUm9MbU5sYVd3b2RHaHBjeTRqWjNKaFpHVkNiRzlqYTFkcFpIUm9JQ3NnZEdocGN5NWtjbUYzWlhJdVoyVjBWR1Y0ZEZkcFpIUm9LR3h2Ym1kbGMzUkhjbUZrWlNrcE8xeHVJQ0FnSUdOdmJuTjBJR0p2ZEhSdmJTQTlJSFJvYVhNdWIyWm1jMlYwUW05MGRHOXRWbUZzZFdVN1hHNWNiaUFnSUNBdkx5QnlaWE5sZENCb2IzSnBlbTl1ZEdGc1hHNGdJQ0FnTHk4Z2JHVm1kQ0JsZVdWY2JpQWdJQ0IwYUdsekxtUnlZWGRsY2k1eVpXTjBLREFzSURBc0lHeGxablFzSUhSb2FYTXVjMk55WldWdVNHVnBaMmgwS1R0Y2JpQWdJQ0F2THlCeWFXZG9kQ0JsZVdWY2JpQWdJQ0IwYUdsekxtUnlZWGRsY2k1eVpXTjBLSFJvYVhNdWMyTnlaV1Z1VjJsa2RHZ3NJREFzSUd4bFpuUXNJSFJvYVhNdWMyTnlaV1Z1U0dWcFoyaDBLVHRjYmx4dUlDQWdJQzh2SUhKbGMyVjBJSFpsY25ScFkyRnNYRzRnSUNBZ0x5OGdiR1ZtZENCbGVXVmNiaUFnSUNCMGFHbHpMbVJ5WVhkbGNpNXlaV04wS0RBc0lIUm9hWE11YzJOeVpXVnVTR1ZwWjJoMElDMGdZbTkwZEc5dExDQjBhR2x6TG5OamNtVmxibGRwWkhSb0xDQmliM1IwYjIwcE8xeHVJQ0FnSUM4dklISnBaMmgwSUdWNVpWeHVJQ0FnSUhSb2FYTXVaSEpoZDJWeUxuSmxZM1FvZEdocGN5NXpZM0psWlc1WGFXUjBhQ3dnZEdocGN5NXpZM0psWlc1SVpXbG5hSFFnTFNCaWIzUjBiMjBzSUhSb2FYTXVjMk55WldWdVYybGtkR2dzSUdKdmRIUnZiU2s3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdkbGRFOW1abk5sZENncElIdGNiaUFnSUNCc1pYUWdiR1ZtZENBOUlEQTdYRzRnSUNBZ2JHVjBJR0p2ZEhSdmJTQTlJREE3WEc1Y2JpQWdJQ0JwWmlBb0lXbHpSVzF3ZEhrb2RHaHBjeTVuY21Ga1pYTXBLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVwYzBkeVlXUmxjMVpsY25ScFkyRnNLU0I3WEc0Z0lDQWdJQ0FnSUdKdmRIUnZiU0E5SUhSb2FYTXViMlptYzJWMFFtOTBkRzl0Vm1Gc2RXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbWx6UjNKaFpHVnpTRzl5YVhwdmJuUmhiQ2tnZTF4dUlDQWdJQ0FnSUNCc1pXWjBJRDBnZEdocGN5NXZabVp6WlhSTVpXWjBWbUZzZFdVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSHNnYkdWbWRDd2dZbTkwZEc5dElIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR2RsZEVodmNtbDZiMjUwWVd4UFptWnpaWFFvYkdWdVozUm9PaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQnNaWFFnYjJabWMyVjBJRDBnZEdocGN5NGpiMlptYzJWMFRHVm1kRHRjYmx4dUlDQWdJR2xtSUNnaGRHaHBjeTRqYVhOSGNtRmthVzVuVW1WemRXeDBWbWxsZHlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZEc5MFlXeFhhV1IwYUNBOUlIUm9hWE11STJObGJHeFhhV1IwYUNBcUlHeGxibWQwYUR0Y2JseHVJQ0FnSUNBZ0x5OGdhV1lnZDJVZ2FHRjJaU0JzWlhOeklHUnBZVzF2Ym1SeklIUm9ZWFFnZDJVZ1kyRnVJSEpsYm1SbGNpQXRJSEIxZENCMGFHVnRJR2x1SUdObGJuUmxjbHh1SUNBZ0lDQWdhV1lnS0hSdmRHRnNWMmxrZEdnZ1BDQjBhR2x6TGlOaGRtRnBiR0ZpYkdWWGFXUjBhQ2tnZTF4dUlDQWdJQ0FnSUNCdlptWnpaWFFnS3owZ0tIUm9hWE11STJGMllXbHNZV0pzWlZkcFpIUm9JQzBnZEc5MFlXeFhhV1IwYUNrZ0x5QXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdlptWnpaWFE3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdkbGRGWmxjblJwWTJGc1QyWm1jMlYwS0d4bGJtZDBhRG9nYm5WdFltVnlLU0I3WEc0Z0lDQWdiR1YwSUc5bVpuTmxkQ0E5SURBN1hHNWNiaUFnSUNCcFppQW9JWFJvYVhNdUkybHpSM0poWkdsdVoxSmxjM1ZzZEZacFpYY3BJSHRjYmlBZ0lDQWdJR052Ym5OMElIUnZkR0ZzU0dWcFoyaDBJRDBnZEdocGN5NGpZMlZzYkVobGFXZG9kQ0FxSUd4bGJtZDBhRHRjYmx4dUlDQWdJQ0FnTHk4Z2FXWWdkMlVnYUdGMlpTQnNaWE56SUdScFlXMXZibVJ6SUhSb1lYUWdkMlVnWTJGdUlISmxibVJsY2lBdElIQjFkQ0IwYUdWdElHbHVJR05sYm5SbGNseHVJQ0FnSUNBZ2FXWWdLSFJ2ZEdGc1NHVnBaMmgwSUR3Z2RHaHBjeTRqWVhaaGFXeGhZbXhsU0dWcFoyaDBLU0I3WEc0Z0lDQWdJQ0FnSUc5bVpuTmxkQ0FyUFNBb2RHaHBjeTRqWVhaaGFXeGhZbXhsU0dWcFoyaDBJQzBnZEc5MFlXeElaV2xuYUhRcElDOGdNanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2IyWm1jMlYwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCblpYUlFZV2RsY3lncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1elpYUjBhVzVuY3k1bWFYUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdKcFoyZGxjM1JNWlc1bmRHZ2dQU0IwYUdsekxuTmxkSFJwYm1kekxuTnZkWEpqWlhNdWNtVmtkV05sS0NoeVpYTjFiSFFzSUhOdmRYSmpaWE1wSUQwK0lDaHpiM1Z5WTJWekxteGxibWQwYUNBK0lISmxjM1ZzZENBL0lITnZkWEpqWlhNdWJHVnVaM1JvSURvZ2NtVnpkV3gwS1N3Z01DazdYRzVjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVqWldsc0tHSnBaMmRsYzNSTVpXNW5kR2dnTHlCMGFHbHpMaU53WVdkbFUybDZaU2s3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdkbGRFTmxiR3hUYVhwbEtDa2dlMXh1SUNBZ0lHTnZibk4wSUhzZ2QybGtkR2dzSUdobGFXZG9kQ0I5SUQwZ1kyRnNZM1ZzWVhSbFEyVnNiRk5wZW1Vb2RHaHBjeTV6WlhSMGFXNW5jeTV6YjNWeVkyVnpMQ0IwYUdsekxpTmhkbUZwYkdGaWJHVlhhV1IwYUN3Z2RHaHBjeTRqWVhaaGFXeGhZbXhsU0dWcFoyaDBLVHRjYmx4dUlDQWdJR3hsZENCalpXeHNWMmxrZEdnZ1BTQk5ZWFJvTG1ac2IyOXlLSGRwWkhSb0tUdGNiaUFnSUNCc1pYUWdZMlZzYkVobGFXZG9kQ0E5SUUxaGRHZ3VabXh2YjNJb2FHVnBaMmgwS1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TGlOcGMwZHlZV1JwYm1kU1pYTjFiSFJXYVdWM0tTQjdYRzRnSUNBZ0lDQmpaV3hzVjJsa2RHZ2dQU0JqWld4c1NHVnBaMmgwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXp
1aWFIwYVc1bmN5NW1hWFFwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFYTk5ZWFJqYUVGMllXbHNZV0pzWlVobGFXZG9kQ2hqWld4c1YybGtkR2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMlZzYkVobGFXZG9kQ0E5SUdObGJHeFhhV1IwYUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWMyVjBkR2x1WjNNdWMybDZaU0FtSmlCcGMwNTFiV0psY2loMGFHbHpMbk5sZEhScGJtZHpMbk5wZW1VcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWTJWc2JGZHBaSFJvSUQwZ2RHaHBjeTV6WlhSMGFXNW5jeTV6YVhwbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YVhOTllYUmphRUYyWVdsc1lXSnNaVWhsYVdkb2RDaDBhR2x6TG5ObGRIUnBibWR6TG5OcGVtVXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpaV3hzU0dWcFoyaDBJRDBnZEdocGN5NXpaWFIwYVc1bmN5NXphWHBsTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCN0lHTmxiR3hYYVdSMGFDd2dZMlZzYkVobGFXZG9kQ0I5TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCblpYUk5ZWGhUWTJGc1pWSmhkR2x2S0NrZ2UxeHVJQ0FnSUd4bGRDQnRZWGhUWTJGc1pTQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1elpYUjBhVzVuY3k1dFlYaFRZMkZzWlNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYm5WdFpYSnBZMDFoZUZOallXeGxJRDBnSzNSb2FYTXVjMlYwZEdsdVozTXViV0Y0VTJOaGJHVTdYRzVjYmlBZ0lDQWdJR2xtSUNnaGFYTk9ZVTRvYm5WdFpYSnBZMDFoZUZOallXeGxLU2tnZTF4dUlDQWdJQ0FnSUNCdFlYaFRZMkZzWlNBOUlHNTFiV1Z5YVdOTllYaFRZMkZzWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZMjl1YzNRZ1ltbG5aMlZ6ZEUxaGVGTmpZV3hsVTI5MWNtTmxJRDBnZEdocGN5NW1iR0YwVTI5MWNtTmxjeTV6YkdsalpTZ3BMbk52Y25Rb0tHRTZJRk52ZFhKalpVMWxaR2xoTENCaU9pQlRiM1Z5WTJWTlpXUnBZU2tnUFQ0Z1lpNXpZMkZzWlZKaGRHbHZJQzBnWVM1elkyRnNaVkpoZEdsdktWc3dYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHSnBaMmRsYzNSTllYaFRZMkZzWlZOdmRYSmpaU2tnZTF4dUlDQWdJQ0FnSUNCdFlYaFRZMkZzWlNBOUlHSnBaMmRsYzNSTllYaFRZMkZzWlZOdmRYSmpaUzV6WTJGc1pWSmhkR2x2TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnRZWGhUWTJGc1pUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdhWE5OWVhSamFFRjJZV2xzWVdKc1pVaGxhV2RvZENoemFYcGxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhSMGFXNW5jeTV6YjNWeVkyVnpMbXhsYm1kMGFDQXFJSE5wZW1VZ1BEMGdkR2hwY3k0allYWmhhV3hoWW14bFNHVnBaMmgwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCblpYUkRaV3hzUTI5dmNtUnpLR2s2SUc1MWJXSmxjaXdnYWpvZ2JuVnRZbVZ5TENCeWIzZHpPaUJ1ZFcxaVpYSXNJR052YkhWdGJuTTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lHTnZibk4wSUc5bVpuTmxkRlJ2Y0NBOUlIUm9hWE11WjJWMFZtVnlkR2xqWVd4UFptWnpaWFFvY205M2N5azdYRzRnSUNBZ1kyOXVjM1FnYjJabWMyVjBUR1ZtZENBOUlIUm9hWE11WjJWMFNHOXlhWHB2Ym5SaGJFOW1abk5sZENoamIyeDFiVzV6S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR1J5WVhkUGNIUnBiMjV6SUQwZ2UxeHVJQ0FnSUNBZ2VEb2dhaUFxSUhSb2FYTXVJMk5sYkd4WGFXUjBhQ0FySUc5bVpuTmxkRXhsWm5Rc1hHNGdJQ0FnSUNCNU9pQnBJQ29nZEdocGN5NGpZMlZzYkVobGFXZG9kQ0FySUc5bVpuTmxkRlJ2Y0N4Y2JpQWdJQ0FnSUhkcFpIUm9PaUIwYUdsekxpTmpaV3hzVjJsa2RHZ3NYRzRnSUNBZ0lDQm9aV2xuYUhRNklIUm9hWE11STJObGJHeElaV2xuYUhRc1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TGlOcGMwZHlZV1JwYm1kV2FXVjNLU0I3WEc0Z0lDQWdJQ0JzWlhRZ2NtVm1VbTkzU0dWcFoyaDBJRDBnWjJWMFVHVnlZMlZ1ZEVaeWIyMVdZV3gxWlNoMGFHbHpMaU5oZG1GcGJHRmliR1ZJWldsbmFIUXNJREl3S1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWMyVjBkR2x1WjNNdWMybDZaU0FtSmlCeVpXWlNiM2RJWldsbmFIUWdQQ0IwYUdsekxuTmxkSFJwYm1kekxuTnBlbVVwSUh0Y2JpQWdJQ0FnSUNBZ2NtVm1VbTkzU0dWcFoyaDBJRDBnZEdocGN5NXpaWFIwYVc1bmN5NXphWHBsTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamIyNXpkQ0JuY21Ga1pWSnZkMGhsYVdkb2RDQTlJSFJvYVhNdUkyRjJZV2xzWVdKc1pVaGxhV2RvZENBdElISmxabEp2ZDBobGFXZG9kRHRjYmx4dUlDQWdJQ0FnYVdZZ0tHa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdaSEpoZDA5d2RHbHZibk11ZVNBOUlHazdYRzRnSUNBZ0lDQWdJR1J5WVhkUGNIUnBiMjV6TG1obGFXZG9kQ0E5SUdkeVlXUmxVbTkzU0dWcFoyaDBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ0lDQmtjbUYzVDNCMGFXOXVjeTU1SUQwZ2FTQXFJR2R5WVdSbFVtOTNTR1ZwWjJoME8xeHVJQ0FnSUNBZ0lDQmtjbUYzVDNCMGFXOXVjeTVvWldsbmFIUWdQU0J5WldaU2IzZElaV2xuYUhRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR1J5WVhkUGNIUnBiMjV6TzF4dUlDQjlYRzVjYmlBZ0kyMWxjM05oWjJVb1lXTjBhVzl1T2lCWGIzSnJaWEpCWTNScGIyNHNJR1JoZEdFZ1BTQjdmU2tnZTF4dUlDQWdJSE5sYkdZdWNHOXpkRTFsYzNOaFoyVW9leUJoWTNScGIyNHNJR1JoZEdFZ2ZTazdYRzRnSUgxY2JuMWNibHh1WTI5dWMzUWdkMjl5YTJWeUlEMGdibVYzSUZCc1lYbGxjbGR2Y210bGNpZ3BPMXh1WEc1elpXeG1MbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9KMjFsYzNOaFoyVW5MQ0FvWlhabGJuUXBJRDArSUh0Y2JpQWdZMjl1YzNRZ2V5QmhZM1JwYjI0c0lHUmhkR0VnZlNBOUlHVjJaVzUwTG1SaGRHRTdYRzVjYmlBZ2MzZHBkR05vSUNoaFkzUnBiMjRwSUh0Y2JpQWdJQ0JqWVhObElGZHZjbXRsY2tGamRHbHZiaTVVY21GdWMyWmxjanBjYmlBZ0lDQWdJSGR2Y210bGNpNXpaWFJUWlhSMGFXNW5jeWhrWVhSaEtUdGNibHh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnWTJGelpTQlhiM0pyWlhKQlkzUnBiMjR1UkdWamIyUmxPbHh1SUNBZ0lDQWdkMjl5YTJWeUxtUmxZMjlrWlNoa1lYUmhLVHRjYmx4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ1kyRnpaU0JYYjNKclpYSkJZM1JwYjI0dVVtVnVaR1Z5T2x4dUlDQWdJQ0FnZDI5eWEyVnlMbkpsYm1SbGNpaGtZWFJoS1R0Y2JseHVJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQjlYRzU5S1R0Y2JpSmRMQ0p1WVcxbGN5STZXeUp5YjI5MElpd2labUZqZEc5eWVTSXNJbTF2WkhWc1pTSXNJblJvYVhNaUxDSmtiM2R1Ykc5aFpDSXNJbVJoZEdFaUxDSnpkSEpHYVd4bFRtRnRaU0lzSW5OMGNrMXBiV1ZVZVhCbElpd2ljMlZzWmlJc0ltUmxabUYxYkhSTmFXMWxJaXdpYldsdFpWUjVjR1VpTENKd1lYbHNiMkZrSWl3aWRYSnNJaXdpWVc1amFHOXlJaXdpZEc5VGRISnBibWNpTENKaElpd2liWGxDYkc5aUlpd2labWxzWlU1aGJXVWlMQ0ppYkc5aUlpd2ljbVZoWkdWeUlpd2lZV3BoZUNJc0ltVWlMQ0prWVhSaFZYSnNWRzlDYkc5aUlpd2ljMkYyWlhJaUxDSnBJaXdpZEdWdGNGVnBRWEp5SWl3aWJYZ2lMQ0p6ZEhKVmNtd2lMQ0p3WVhKMGN5SXNJblI1Y0dVaUxDSmtaV052WkdWeUlpd2lZbWx1UkdGMFlTSXNJblZwUVhKeUlpd2lkMmx1VFc5a1pTSXNJbVlpTENKcGMwRnljbUY1WHpFaUxDSnBjMEZ5Y21GNUlpd2lkbUZzZFdVaUxDSnNaVzVuZEdnaUxDSnBjMVpoYkdsa1RHVnVaM1JvSWl3aWFYTkJjbkpoZVNRMUlpd2lhWE5QWW1wbFkzUmZNU0lzSW1selQySnFaV04wSWl3aWFYTlBZbXBsWTNRa01TSXNJbWx6VG5WdFltVnlYekV
1pTENKeVpYRjFhWEpsSkNRd0lpd2lhWE5PZFcxaVpYSWlMQ0pwYzA1MWJXSmxjaVF5SWl3aVlYSnlZWGxVYjAxaGRISnBlRjh4SWl3aWNtVnhkV2x5WlNRa01TSXNJbUZ5Y21GNVZHOU5ZWFJ5YVhnaUxDSmhjbklpTENKamIyeDFiVzV6SWl3aWNtOTNjeUlzSW5ZaUxDSmhjbkpoZVZSdlRXRjBjbWw0SkRFaUxDSnBjMDFoY0Y4eElpd2lhWE5OWVhBaUxDSnBjMDFoY0NReUlpd2lhWE5UWlhSZk1TSXNJbWx6VTJWMElpd2lhWE5UWlhRa01pSXNJbWx6VTNSeWFXNW5YekVpTENKcGMxTjBjbWx1WnlJc0ltbHpVM1J5YVc1bkpESWlMQ0pwYzBWdGNIUjVYekVpTENKeVpYRjFhWEpsSkNReUlpd2ljbVZ4ZFdseVpTUWtNeUlzSW5KbGNYVnBjbVVrSkRRaUxDSnBjMFZ0Y0hSNUlpd2lhWE5GYlhCMGVTUXhJaXdpWTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUmZNU0lzSW1OaGJHTjFiR0YwWlVGemNHVmpkRkpoZEdsdlJtbDBJaXdpZDJsa2RHZ2lMQ0pvWldsbmFIUWlMQ0owWVhKblpYUlhhV1IwYUNJc0luUmhjbWRsZEVobGFXZG9kQ0lzSW5kcFpIUm9VbUYwYVc4aUxDSm9aV2xuYUhSU1lYUnBieUlzSW5KaGRHbHZJaXdpWTJGc1kzVnNZWFJsUVhOd1pXTjBVbUYwYVc5R2FYUWtNU0lzSW1OdmJHOXlJaXdpY21kaVUzUnlhVzVuVkc5QmNuSmhlU0lzSWw5aElpd2ljbWRpUVhKeVlYbFViMDUxYldWeWFXTWlMQ0pwYm1SbGVDSXNJbUZ5Y21GNUlpd2ljbWRpVTNSeWFXNW5WRzlPZFcxbGNtbGpJaXdpY21kaVFYSnlZWGxVYjFKSFFsTjBjbWx1WnlJc0luSWlMQ0puSWl3aVlpSXNJbWhsZUZJaUxDSm9aWGhISWl3aWFHVjRRaUlzSW1SaGRHVWlMQ0owYjFObFkyOXVaSE1pTENKbWNtRmpkR2x2YmtScFoybDBjeUlzSW1SbFpYQk5aWEpuWlY4eElpd2laR1ZsY0UxbGNtZGxJaXdpZEdGeVoyVjBJaXdpYzI5MWNtTmxJaXdpYjNWMGNIVjBJaXdpYTJWNUlpd2laR1ZsY0UxbGNtZGxKREVpTENKbGMwVnljbTl5Y3lJc0lsOWxkbUZzSWl3aWNtRnVaMlVpTENKeVpXWWlMQ0p6ZVc1MFlYZ2lMQ0oxY21raUxDSnphR0Z0Y3lJc0ltOWlhaUlzSW5ONWJTSXNJbk41YlU5aWFpSXNJbk41YlZaaGJDSXNJbk41YlhNaUxDSmtaWE5qY21sd2RHOXlJaXdpYjNKcFoxTjViV0p2YkNJc0ltaGhjMU41YldKdmJGTm9ZVzBpTENKb1lYTlRlVzFpYjJ4eklpd2lkR1Z6ZENJc0lpUlBZbXBsWTNRaUxDSm9ZWE5RY205MGJ5SXNJa1ZTVWs5U1gwMUZVMU5CUjBVaUxDSjBiMU4wY2lJc0ltMWhlQ0lzSW1aMWJtTlVlWEJsSWl3aVkyOXVZMkYwZEhraUxDSnFJaXdpYzJ4cFkza2lMQ0poY25KTWFXdGxJaXdpYjJabWMyVjBJaXdpYW05cGJua2lMQ0pxYjJsdVpYSWlMQ0p6ZEhJaUxDSnBiWEJzWlcxbGJuUmhkR2x2YmlJc0luUm9ZWFFpTENKaGNtZHpJaXdpWW05MWJtUWlMQ0ppYVc1a1pYSWlMQ0p5WlhOMWJIUWlMQ0ppYjNWdVpFeGxibWQwYUNJc0ltSnZkVzVrUVhKbmN5SXNJa1Z0Y0hSNUlpd2lablZ1WTNScGIyNUNhVzVrSWl3aVkyRnNiQ0lzSWlSb1lYTlBkMjRpTENKaWFXNWtJaXdpYUdGemIzZHVJaXdpZFc1a1pXWnBibVZrSWl3aUpFVnljbTl5SWl3aUpFVjJZV3hGY25KdmNpSXNJaVJTWVc1blpVVnljbTl5SWl3aUpGSmxabVZ5Wlc1alpVVnljbTl5SWl3aUpGTjViblJoZUVWeWNtOXlJaXdpSkZSNWNHVkZjbkp2Y2lJc0luSmxjWFZwY21Va0pEVWlMQ0lrVlZKSlJYSnliM0lpTENKeVpYRjFhWEpsSkNRMklpd2lKRVoxYm1OMGFXOXVJaXdpWjJWMFJYWmhiR3hsWkVOdmJuTjBjblZqZEc5eUlpd2laWGh3Y21WemMybHZibE41Ym5SaGVDSXNJaVJuVDFCRUlpd2lkR2h5YjNkVWVYQmxSWEp5YjNJaUxDSlVhSEp2ZDFSNWNHVkZjbkp2Y2lJc0luSmxjWFZwY21Va0pEY2lMQ0p5WlhGMWFYSmxKQ1E0SWl3aVoyVjBVSEp2ZEc4aUxDSjRJaXdpYm1WbFpITkZkbUZzSWl3aVZIbHdaV1JCY25KaGVTSXNJa2xPVkZKSlRsTkpRMU1pTENKbGNuSnZjbEJ5YjNSdklpd2laRzlGZG1Gc0lpd2libUZ0WlNJc0ltWnVJaXdpWjJWdUlpd2lURVZIUVVOWlgwRk1TVUZUUlZNaUxDSnlaWEYxYVhKbEpDUTVJaXdpYUdGelQzZHVJaXdpY21WeGRXbHlaU1FrTVRBaUxDSWtZMjl1WTJGMElpd2lKSE53YkdsalpVRndjR3g1SWl3aUpISmxjR3hoWTJVaUxDSWtjM1J5VTJ4cFkyVWlMQ0lrWlhobFl5SXNJbkpsVUhKdmNFNWhiV1VpTENKeVpVVnpZMkZ3WlVOb1lYSWlMQ0p6ZEhKcGJtZFViMUJoZEdnaUxDSnpkSEpwYm1jaUxDSm1hWEp6ZENJc0lteGhjM1FpTENKdFlYUmphQ0lzSW01MWJXSmxjaUlzSW5GMWIzUmxJaXdpYzNWaVUzUnlhVzVuSWl3aVoyVjBRbUZ6WlVsdWRISnBibk5wWXlJc0ltRnNiRzkzVFdsemMybHVaeUlzSW1sdWRISnBibk5wWTA1aGJXVWlMQ0poYkdsaGN5SXNJbWRsZEVsdWRISnBibk5wWXlJc0ltbHVkSEpwYm5OcFkwSmhjMlZPWVcxbElpd2lhVzUwY21sdWMybGpJaXdpYVc1MGNtbHVjMmxqVW1WaGJFNWhiV1VpTENKemEybHdSblZ5ZEdobGNrTmhZMmhwYm1jaUxDSnBjMDkzYmlJc0luQmhjblFpTENKa1pYTmpJaXdpUjJWMFNXNTBjbWx1YzJsaklpd2lKR1JsWm1sdVpWQnliM0JsY25SNUlpd2laWE5FWldacGJtVlFjbTl3WlhKMGVTSXNJbWR2Y0dRaUxDSmtaV1pwYm1WRVlYUmhVSEp2Y0dWeWRIa2lMQ0p3Y205d1pYSjBlU0lzSW01dmJrVnVkVzFsY21GaWJHVWlMQ0p1YjI1WGNtbDBZV0pzWlNJc0ltNXZia052Ym1acFozVnlZV0pzWlNJc0lteHZiM05sSWl3aWFHRnpVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXljeUlzSW1oaGMxQnliM0JsY25SNVJHVnpZM0pwY0hSdmNuTmZNU0lzSW1SbFptbHVaU0lzSW1oaGMwUmxjMk55YVhCMGIzSnpJaXdpWjA5UVJDSXNJaVJtYkc5dmNpSXNJbk5sZEVaMWJtTjBhVzl1VEdWdVozUm9JaXdpWm5WdVkzUnBiMjVNWlc1bmRHaEpjME52Ym1acFozVnlZV0pzWlNJc0ltWjFibU4wYVc5dVRHVnVaM1JvU1hOWGNtbDBZV0pzWlNJc0lpUmhjSEJzZVNJc0lpUmpZV3hzSWl3aUpISmxabXhsWTNSQmNIQnNlU0lzSWlSdFlYZ2lMQ0p2Y21sbmFXNWhiRVoxYm1OMGFXOXVJaXdpWm5WdVl5SXNJbUZ3Y0d4NVFtbHVaQ0lzSW1OaGJHeENhVzVrSWl3aUpHbHVaR1Y0VDJZaUxDSmpZV3hzUW05MWJtUWlMQ0pmWDNacGRHVkNjbTkzYzJWeVJYaD
1BaWEp1WVd3aUxDSm9ZWE5OWVhBaUxDSnRZWEJUYVhwbFJHVnpZM0pwY0hSdmNpSXNJbTFoY0ZOcGVtVWlMQ0p0WVhCR2IzSkZZV05vSWl3aWFHRnpVMlYwSWl3aWMyVjBVMmw2WlVSbGMyTnlhWEIwYjNJaUxDSnpaWFJUYVhwbElpd2ljMlYwUm05eVJXRmphQ0lzSW1oaGMxZGxZV3ROWVhBaUxDSjNaV0ZyVFdGd1NHRnpJaXdpYUdGelYyVmhhMU5sZENJc0luZGxZV3RUWlhSSVlYTWlMQ0pvWVhOWFpXRnJVbVZtSWl3aWQyVmhhMUpsWmtSbGNtVm1JaXdpWW05dmJHVmhibFpoYkhWbFQyWWlMQ0p2WW1wbFkzUlViMU4wY21sdVp5SXNJbVoxYm1OMGFXOXVWRzlUZEhKcGJtY2lMQ0lrYldGMFkyZ2lMQ0lrYzJ4cFkyVWlMQ0lrZEc5VmNIQmxja05oYzJVaUxDSWtkRzlNYjNkbGNrTmhjMlVpTENJa2RHVnpkQ0lzSWlScWIybHVJaXdpSkdGeWNsTnNhV05sSWl3aVltbG5TVzUwVm1Gc2RXVlBaaUlzSW1kUFVGTWlMQ0p6ZVcxVWIxTjBjbWx1WnlJc0ltaGhjMU5vWVcxdFpXUlRlVzFpYjJ4eklpd2lkRzlUZEhKcGJtZFVZV2NpTENKcGMwVnVkVzFsY21GaWJHVWlMQ0puVUU4aUxDSlBJaXdpWVdSa1RuVnRaWEpwWTFObGNHRnlZWFJ2Y2lJc0ltNTFiU0lzSW5ObGNGSmxaMlY0SWl3aWFXNTBJaXdpYVc1MFUzUnlJaXdpWkdWaklpd2lkWFJwYkVsdWMzQmxZM1FpTENKcGJuTndaV04wUTNWemRHOXRJaXdpYVc1emNHVmpkRk41YldKdmJDSXNJbWx6VTNsdFltOXNJaXdpYjJKcVpXTjBTVzV6Y0dWamRDSXNJbWx1YzNCbFkzUmZJaXdpYjNCMGFXOXVjeUlzSW1SbGNIUm9JaXdpYzJWbGJpSXNJbTl3ZEhNaUxDSm9ZWE1pTENKamRYTjBiMjFKYm5Od1pXTjBJaXdpYm5WdFpYSnBZMU5sY0dGeVlYUnZjaUlzSW1sdWMzQmxZM1JUZEhKcGJtY2lMQ0ppYVdkSmJuUlRkSElpTENKdFlYaEVaWEIwYUNJc0ltbHVaR1Z1ZENJc0ltZGxkRWx1WkdWdWRDSXNJbWx1WkdWNFQyWWlMQ0pwYm5Od1pXTjBJaXdpWm5KdmJTSXNJbTV2U1c1a1pXNTBJaXdpYm1WM1QzQjBjeUlzSW1selVtVm5SWGh3SWl3aWJtRnRaVTltSWl3aWEyVjVjeUlzSW1GeWNrOWlha3RsZVhNaUxDSnplVzFUZEhKcGJtY2lMQ0p0WVhKclFtOTRaV1FpTENKcGMwVnNaVzFsYm5RaUxDSnpJaXdpWVhSMGNuTWlMQ0ozY21Gd1VYVnZkR1Z6SWl3aWVITWlMQ0p6YVc1bmJHVk1hVzVsVm1Gc2RXVnpJaXdpYVc1a1pXNTBaV1JLYjJsdUlpd2lhWE5GY25KdmNpSXNJbTFoY0ZCaGNuUnpJaXdpWTI5c2JHVmpkR2x2Yms5bUlpd2ljMlYwVUdGeWRITWlMQ0pwYzFkbFlXdE5ZWEFpTENKM1pXRnJRMjlzYkdWamRHbHZiazltSWl3aWFYTlhaV0ZyVTJWMElpd2lhWE5YWldGclVtVm1JaXdpYVhOQ2FXZEpiblFpTENKcGMwSnZiMnhsWVc0aUxDSm5iRzlpWVd3aUxDSnBjMFJoZEdVaUxDSjVjeUlzSW1selVHeGhhVzVQWW1wbFkzUWlMQ0p3Y205MGIxUmhaeUlzSW5OMGNtbHVaMVJoWnlJc0ltTnZibk4wY25WamRHOXlWR0ZuSWl3aWRHRm5JaXdpWkdWbVlYVnNkRk4wZVd4bElpd2ljWFZ2ZEdWRGFHRnlJaXdpYlNJc0ltd2lMQ0p5WlcxaGFXNXBibWNpTENKMGNtRnBiR1Z5SWl3aWJHOTNZbmwwWlNJc0ltTWlMQ0p1SWl3aWMybDZaU0lzSW1WdWRISnBaWE1pTENKcWIybHVaV1JGYm5SeWFXVnpJaXdpWW1GelpVbHVaR1Z1ZENJc0lteHBibVZLYjJsdVpYSWlMQ0pwYzBGeWNpSXNJbk41YlUxaGNDSXNJbXNpTENJa1YyVmhhMDFoY0NJc0lpUk5ZWEFpTENJa2QyVmhhMDFoY0VkbGRDSXNJaVIzWldGclRXRndVMlYwSWl3aUpIZGxZV3ROWVhCSVlYTWlMQ0lrYldGd1IyVjBJaXdpSkcxaGNGTmxkQ0lzSWlSdFlYQklZWE1pTENKc2FYTjBSMlYwVG05a1pTSXNJbXhwYzNRaUxDSndjbVYySWl3aVkzVnljaUlzSW14cGMzUkhaWFFpTENKdlltcGxZM1J6SWl3aWJtOWtaU0lzSW14cGMzUlRaWFFpTENKc2FYTjBTR0Z6SWl3aWMybGtaVU5vWVc1dVpXd2lMQ0lrZDIwaUxDSWtiU0lzSWlSdklpd2lZMmhoYm01bGJDSXNJbkpsY0d4aFkyVWlMQ0p3WlhKalpXNTBWSGRsYm5ScFpYTWlMQ0pHYjNKdFlYUWlMQ0ptYjNKdFlYUnpJaXdpYUdWNFZHRmliR1VpTENKamIyMXdZV04wVVhWbGRXVWlMQ0p4ZFdWMVpTSXNJbWwwWlcwaUxDSmpiMjF3WVdOMFpXUWlMQ0poY25KaGVWUnZUMkpxWldOMElpd2liV1Z5WjJVaUxDSnRaWEpuWlZSaGNtZGxkQ0lzSW5SaGNtZGxkRWwwWlcwaUxDSmhZMk1pTENKaGMzTnBaMjRpTENKa1pXTnZaR1VpTENKamFHRnljMlYwSWl3aWMzUnlWMmwwYUc5MWRGQnNkWE1pTENKbGJtTnZaR1VpTENKa1pXWmhkV3gwUlc1amIyUmxjaUlzSW10cGJtUWlMQ0ptYjNKdFlYUWlMQ0lrTUNJc0ltOTFkQ0lzSW1OdmJYQmhZM1FpTENKeVpXWnpJaXdpZG1Gc0lpd2lhWE5DZFdabVpYSWlMQ0pqYjIxaWFXNWxJaXdpYldGNVltVk5ZWEFpTENKdFlYQndaV1FpTENKMWRHbHNjeUlzSW1kbGRGTnBaR1ZEYUdGdWJtVnNJaXdpWVhKeVlYbFFjbVZtYVhoSFpXNWxjbUYwYjNKeklpd2ljSEpsWm1sNElpd2ljSFZ6YUNJc0luQjFjMmhVYjBGeWNtRjVJaXdpZG1Gc2RXVlBja0Z5Y21GNUlpd2lkRzlKVTA4aUxDSmtaV1poZFd4MFJtOXliV0YwSWl3aVpHVm1ZWFZzZEhNaUxDSnBjMDV2Yms1MWJHeHBjMmhRY21sdGFYUnBkbVVpTENKelpXNTBhVzVsYkNJc0luTjBjbWx1WjJsbWVTSXNJbTlpYW1WamRDSXNJbWRsYm1WeVlYUmxRWEp5WVhsUWNtVm1hWGdpTENKamIyMXRZVkp2ZFc1a1ZISnBjQ0lzSW1Gc2JHOTNSVzF3ZEhsQmNuSmhlWE1pTENKemRISnBZM1JPZFd4c1NHRnVaR3hwYm1jaUxDSnphMmx3VG5Wc2JITWlMQ0psYm1OdlpHVkViM1JKYmt0bGVYTWlMQ0psYm1OdlpHVnlJaXdpWm1sc2RHVnlJaXdpYzI5eWRDSXNJbUZzYkc5M1JHOTBjeUlzSW5ObGNtbGhiR2w2WlVSaGRHVWlMQ0ptYjNKdFlYUjBaWElpTENKbGJtTnZaR1ZXWVd4MVpYTlBibXg1SWl3aWRHMXdVMk1pTENKemRHVndJaXdpWm1sdVpFWnNZV2NpTENKd2IzTWlMQ0pyWlhsV1lXeDFaU0lzSW5aaGJIVmxjeUlzSW05aWFrdGxlWE1pTENKbGJtTnZaR1ZrVUhKbFptbDRJaXdpWVdScWRYTjBaV1JRY21WbWFYZ2lMQ0psYm1OdlpHVmtTMlY1SWl3aWEyVjVVSEpsWm1sNElpd2lkbUZzZFdWVGFXUmxRMmhoYm01bGJDSXNJbTV2Y20xaGJHbDZaVk4wY21sdVoybG1lVTl3ZEdsdmJuTWlMQ0poY25KaGVVWnZjbTFoZENJc0luTjBjbWx1WjJsbWVWOHhJaXdpYW05cGJtVmtJaXdpYVc1MFpYSndjbVYwVG5WdFpYSnBZMFZ1ZEdsMGFXVnpJaXdpYm5WdFltVnlVM1J5SWl3aWNHRnljMlZCY25KaGVWWmhiSFZsSWl3aWFYTnZVMlZ1ZEdsdVpXd2lMQ0pqYUdGeWMyVjBVMlZ1ZEdsdVpXd2lMQ0p3WVhKelpWWmhiSFZsY3lJc0ltTnNaV0Z1VTNSeUlpd2liR2x0YVhRaUxDSnphMmx3U1c1a1pYZ2lMQ0ppY21GamEyVjBSWEYxWVd4elVHOXpJaXdpWlc1amIyUmxaRlpoYkNJc0ltVjRhWE4wYVc1bklpd2ljR0Z5YzJWUFltcGxZM1FpTENKamFHRnBiaUlzSW5aaGJIVmxjMUJoY25ObFpDSXNJbXhsWVdZaUxDSmpiR1ZoYmxKdmIzUWlMQ0prWldOdlpHVmtVbTl2ZENJc0luQmhjbk5sUzJWNWN5SXNJbWRwZG1WdVMyVjVJaXdpWW5KaFkydGxkSE1pTENKamFHbHNaQ0lzSW5ObFoyMWxiblFpTENKd1lYSmxiblFpTENKdWIzSnRZV3hwZW1WUVlYSnpaVTl3ZEdsdmJuTWlMQ0prZFhCc2FXTmhkR1Z6SWl3aWNHRnljMlVpTENKMFpXMXdUMkpxSWl3aWJtVjNUMkpxSWl3aWJHbGlJaXdpWDE5cGJYQnZjblJFWldaaGRXeDBJaXdpYlc5a0lpd2laWGh3YjNKMGN5SXNJbkZ6WHpFaUxDSm5aVzVsY21GMFpWTmxZWEpqYUZGMVpYSjVJaXdpY0dGeVlXMXpJaXdpYzNSeWFXNW5hV1o1VDNCMGFXOXVjeUlzSW1kbGRFWnBiR1ZPWVcxbFJuSnZiVlZ5YkY4eElpd2laMlYwUm1sc1pVNWhiV1ZHY205dFZYSnNJaXdpY0dGeWMyVmtWWEpzSWl3aWNHRjBhRzVoYldWQmNuSmhlU0lzSW01aGJXVlRjR3hwZEVKNVJHOTBjeUlzSW1WNGRHVnVjMmx2YmlJc0ltWnBiR1Z1WVcxbElpd2laMlYwUm1sc1pVNWhiV1ZHY205dFZYSnNKREVpTENKblpYUk5iM1Z6WlVScGNtVmpkR2x2Ymw4eElpd2liR0Z6ZEZCdmMybDBhVzl1SWl3aVoyVjBUVzkxYzJWRWFYSmxZM1JwYjI0aUxDSmthWEpsWTNScGIyNGlMQ0prWld4MFlWZ2lMQ0prWld4MFlWa2lMQ0puWlhSTmIzVnpaVVJwY21WamRHbHZiaVF4SWl3aVRHOW5aMlZ5SWl3aVgxOXdkV0pzYVdOR2FXVnNaQ0lzSW14bGRtVnNJaXdpZEdsMGJHVWlMQ0p0WlhOellXZGxJaXdpYldWemMyRm5aWE1pTENKamIyNW1hV2QxY21WTWIyZG5aWElpTENKa1pXWmhkV3gwUkdWamIyUmxjaUlzSW5CaGNuTmxVMlZoY21Ob1VYVmxjbmtpTENKeGRXVnllU0lzSW5CaGNuTmxUM0IwYVc5dWN5SXNJbkJsY21ObGJuUWlMQ0puWlhSUVpYSmpaVzUwUm5KdmJWWmhiSFZsWHpFaUxDSm5aWFJRWlhKalpXNTBSbkp2YlZaaGJIVmxJaXdpWjJWMFVHVnlZMlZ1ZEVaeWIyMVViM1JoYkNJc0luUnZkR0ZzSWl3aWRHOVNiM1Z1WkNJc0luQnNkWEpoYkdsNlpTSXNJbEJNVlZKQlRGOU9WVTFDUlZKZlUxVkdSa2xZWDAxQlVDSXNJbkJzZFhKaGJHbDZaVTUxYldKbGNpSXNJbTUxYldWeWFXTldZV3gxWlNJc0luSjFiR1VpTENKemRXWm1hWGdpTENKd2RYSmxVM1J5ZFdOMGRYSmxYekVpTENKd2RYSmxVM1J5ZFdOMGRYSmxJaXdpYzNSeWRXTjBkWEpsSWl3aWNIVnlaVk4wY25WamRIVnlaU1F4SWl3aWRHaHliM1IwYkdWZk1TSXNJblJwYldWdmRYUnpJaXdpZEdoeWIzUjBiR1VpTENKallXeHNZbUZqYXlJc0ltMXpJaXdpZEdoeWIzUjBiR1VrTVNJc0lsOWZZM0psWVhSbFFtbHVaR2x1WnlJc0ltOGlMQ0pyTWlJc0lsOWZaWGh3YjNKMFUzUmhjaUlzSW5BaUxDSnlaWEYxYVhKbEpDUXhNU0lzSW5KbGNYVnBjbVVrSkRFeUlpd2ljbVZ4ZFdseVpTUWtNVE1pTENKeVpYRjFhWEpsSkNReE5DSXNJbXh2WjJkbGNsOHhJaXdpY21WeGRXbHlaU1FrTVRVaUxDSnlaWEYxYVhKbEpDUXhOaUlzSW5KbGNYVnBjbVVrSkRFM0lpd2ljbVZ4ZFdseVpTUWtNVGdpTENKeVpYRjFhWEpsSkNReE9TSXNJbkpsY1hWcGNtVWtKREl3SWl3aWRYUnBiSE5mTVNJc0lsRjFaWEo1UVZCSklpd2ljMlZoY21Ob0lpd2labVYwWTJoQlVFa2lMQ0prYjNkdWJHOWhaR3B6WHpFaUxDSnhkV1Z5ZVVGUVNWOHhJaXdpVW1WemNHOXVjMlZGY25KdmNpSXNJbkpsYzNCdmJuTmxJaXdpUm1WMFkyaFNaWEYxWlhOMElpd2ljbVZ6YjJ4MlpTSXNJbkpsYW1WamRDSXNJbkpsY0dWaGRGSmxjWFZsYzNSVWFXMWxiM1YwSWl3aWNtVndaV0YwVW1WeGRXVnpkRkpsZEhKNVZHbHRaVzkxZENJc0luSmxjWFZsYzNSVWFXMWxiM1YwSWl3aWNtVjBjbmxVYVcxbGIzVjBJaXdpY0hKdlkyVmxaRVZ5Y205eUlpd2ljbVZ4ZFdWemRGZHlZWEJ3WlhJaUxDSmlZWE5sSWl3aWFHVmhaR1Z5Y3lJc0ltSnZaSGtpTENKeVpYTndiMjV6WlZSNWNHVWlMQ0poWW05eWRFTnZiblJ5YjJ4c1pYSWlMQ0p5WlhOMElpd2lhVzV3ZFhRaUxDSmxjbkp2Y2lJc0ltWnBiR1VpTENKR1pYUmphRUZRU1NJc0ltMWxkR2h2WkNJc0luSmxaMFY0Y0NJc0ltTnZiblJsYm5SRWFYTndiM05wZEdsdmJpSXNJbWR5YjNWd0lpd2ljbVZ4ZFdWemRDSXNJbkpsY1hWbGMzUkpibVJsZUNJc0luSmxjWFZsYzNSRmJHVnRaVzUwSWl3aWJtVjBkMjl5YXlJc0lraFVWRkJTWlhOd2IyNXpaU0lzSW5SbGMzUnBibWNpTENKRmVXVlVjbUZqYTJsdVowTnNhV1Z1ZEY5amIyNXpkR0Z1ZEhNaUxDSkZlV1ZVY21GamEybHVaME5zYVdWdWRGOHhJaXdpUlhsbFZISmhZMnRwYm1kRGJHbGxiblJmWTI5dWMzUmhiblJ6WHpFaUxDSkVSVVpCVlV4VVgwVllWRVZPVTBsUFRsOUpSQ0lzSWtWNVpWUnlZV05yYVc1blEyeHBaVzUwSWl3aVgySWlMQ0pmWXlJc0ltMXpaeUlzSWw5a0lpd2lYMlVpTENKRmVXVlVjbUZqYTJsdVowTnNhV1Z1ZENReElpd2lWMjl5YTJWeVFXTjBhVzl1SWl3aVJFVkdRVlZNVkY5R1QwNVVYMU5KV2tVaUxDSkNURUZEUzE5RFQweFBVaUlzSWxkSVNWUkZYME5QVEU5U0lpd2lVa1ZHWDBOUFRFOVNJaXdpUjFKQlJFVmZRazlTUkVWU1gxZEpSRlJJSWl3aVIxSkJSRVZmUWs5U1JFVlNYMUpCUkVsVlV5SXNJa1J5WVhkbGNpSXNJbU5oYm5aaGN5SXNJblJsZUhRaUxDSjVJaXdpYzNSaGNuUllJaXdpYzNSaGNuUlpJaXdpWlc1a1dDSXNJbVZ1WkZraUxDSk5aV1JwWVVSbFkyOWtaWElpTENKd2NtOXdjeUlzSWw5ZmNISnBkbUYwWlVGa1pDSXNJbDlqWVc1MllYTWlMQ0pmWTJWc2JGZ2lMQ0pmWTJWc2JGa2lMQ0pmYzJsdVoyeGxVMk5oYkdVaUxDSmZjMk5oYkdWU1lYUnBieUlzSWw5elkzSmxaVzVYYVdSMGFDSXNJbDlwYzFKcFoyaDBJaXdpWDJSbFluVm5JaXdpWDJObGJHeFhhV1IwYUNJc0lsOWpaV3hzU0dWcFoyaDBJaXdpWDJKcFoyZGxjM1JUWTJGc1pWSmhkR2x2SWl3aWMyTnlaV1Z1VjJsa2RHZ2lMQ0p6YVc1bmJHVlRZMkZzWlNJc0luTmpZV3hsVW1GMGFXOGlMQ0prWldKMVp5SXNJbkpwWjJoMElpd2lZMjl1Wm1sbklpd2lYMTl3Y21sMllYUmxVMlYwSWl3aVpuSmhiV1VpTENKdVpYaDBVMmw2WlNJc0lsOWZjSEpwZG1GMFpVZGxkQ0lzSW5OallXeGxJaXdpWTNSNElpd2liRzluWjJWeUlpd2lZMmgxYm1zaUxDSmpaV3hzV0NJc0ltTmxiR3haSWl3aVkyVnNiRmRwWkhSb0lpd2lZMlZzYkVobGFXZG9kQ0lzSW1KcFoyZGxjM1JUWTJGc1pWSmhkR2x2SWl3aVRHOW5JaXdpYzNSaGNuUWlMQ0pNVDBkZlRFVldSVXhmUlZKU1QxSWlMQ0pNVDBkZlRFVldSVXhmVjBGU1RrbE9SeUlzSWt4UFIxOU1SVlpGVEY5SlRrWlBJaXdpVEU5SFgweEZWa1ZNWDBSRlFsVkhJaXdpYkc5blgyeGxkbVZzSWl3aWJHOW5UMkpxWldOMElpd2laSFZ5WVhScGIyNGlMQ0pmZEdsdFpYTmpZV3hsSWl3aWJtVm5JaXdpY0dGa0lpd2lkR2x0WlhOallXeGxJaXdpWkhWeVlYUnBiMjVmYzJWaklpd2lhRzkxY25NaUxDSnRhVzUxZEdWeklpd2liWE5sWXlJc0luSmhibWRsY3lJc0lrMVFORUp2ZUZOMGNtVmhiU0lzSW1GeWNtRjVRblZtWm1WeUlpd2libkJ2Y3lJc0luTnBaMjVsWkNJc0luSmxjeUlzSWtSaGRHRlRkSEpsWVcwaUxDSmllWFJsVDJabWMyVjBJaXdpWlc1a2FXRnVibVZ6Y3lJc0ltVjRkSE
1poSWl3aWNtVnhJaXdpWW14bGJpSXNJbUoxWmlJc0luTnlZeUlzSW1SemRDSXNJbVJ6ZEU5bVpuTmxkQ0lzSW5OeVkwOW1abk5sZENJc0ltSjVkR1ZNWlc1bmRHZ2lMQ0prYzNSVk9DSXNJbk55WTFVNElpd2lZWEp5WVhsSmMweHBkSFJzWlVWdVpHbGhiaUlzSW14cGRIUnNaVVZ1WkdsaGJpSXNJblU0SWl3aWRHMXdJaXdpZFdsdWREaGhjbklpTENKbGJtTnZaR2x1WnlJc0lteGxiaUlzSWsxQldGOVRTVnBGSWl3aWJHVnVaM1JvVDNabGNuSnBaR1VpTENKemRISjFZM1JFWldacGJtbDBhVzl1SWl3aWMzUnlkV04wSWl3aWRDSXNJblJ3SWl3aWRHRWlMQ0pvSWl3aWNHOXphWFJwYjI0aUxDSk5kV3gwYVVKMVptWmxjbE4wY21WaGJTSXNJbUoxWm1abGNpSXNJbVpwY25OMFFuVm1abVZ5SWl3aVluVm1abVZ5TVNJc0ltSjFabVpsY2pJaUxDSnVaWGRNWlc1bmRHZ2lMQ0p6YldGc2JFSWlMQ0poWWlJc0luUnZYMkZrWkNJc0ltbHVabThpTENKMWMyVmtJaXdpWW5WbVptVnlaV1JUZEhKcGJtY2lMQ0pzYjJjaUxDSnVaWGgwWDJKMVptWmxjaUlzSW05c1pFeGxibWQwYUNJc0ltOXNaRlZ6WldSQ2VYUmxjeUlzSW05c1pFWnBiR1ZUZEdGeWRDSXNJbVp5YjIxVGRHRnlkQ0lzSW1acGJHVlFiM05wZEdsdmJpSXNJbTFoY210QmMxVnpaV1FpTENKaFluVm1abVZ5SWl3aWFXNXdkWFJwYm1SbGVDSXNJbU4xY25KbGJuUkNkV1lpTENKdVpYaDBRblZtSWl3aWJtSkNlWFJsY3lJc0lrMVFSVWMwUkdWelkzSnBjSFJ2Y2xCaGNuTmxjaUlzSWtWVFgwUmxjMk55VkdGbklpd2lSR1ZqYjJSbGNrTnZibVpwWjBSbGMyTnlWR0ZuSWl3aVJHVmpVM0JsWTJsbWFXTkpibVp2VkdGbklpd2lVMHhEYjI1bWFXZEVaWE5qY2xSaFp5SXNJbVJsYzJOVVlXZFViMDVoYldVaUxDSmpiR0Z6YzJWeklpd2ljM1J5WldGdElpd2lZbmwwWlZKbFlXUWlMQ0pmZEdGbklpd2lYM05wZW1VaUxDSmtZMlFpTENKa2Mya2lMQ0poZFdScGIwOWlhbVZqZEZSNWNHVWlMQ0pDYjNoUVlYSnpaWElpTENKMGVYQmxjeUlzSWw5MGVYQmxJaXdpWDNWMWFXUWlMQ0oxZFdsa0lpd2lhR1J5WDNOcGVtVWlMQ0p3WVhKelpVMWxkR2h2WkNJc0luTjFZa0p2ZUU1aGJXVnpJaXdpYm1KVGRXSkNiM2hsY3lJc0ltMWxaR2xoVkhsd1pTSXNJbWx6Um5Wc2JFSnZlQ0lzSW1selEyOXVkR0ZwYm1WeVFtOTRJaXdpWW05NElpd2ljSEp2Y0NJc0lsOXdjbTl3SWl3aWFHVjRNVFlpTENKb1pYZ2lMQ0pvWldGa1pYSlBibXg1SWl3aWNHRnlaVzUwVTJsNlpTSXNJbVJwWm1ZaUxDSmliM2hmZEhsd1pTSXNJbkpsZENJc0ltTm9ZWEp6SWl3aVkyOXRjSEpsYzNOdmNtNWhiV1ZmYkdWdVozUm9JaXdpYkdGeVoyVmZjMmw2WlNJc0lrWnBaV3hrVEdWdVozUm9JaXdpWVhWNFgzTjFZblI1Y0dWZmJHVnVaM1JvSWl3aVkyOXVabWxuVDBKVmMxOXNaVzVuZEdnaUxDSjBiM0JoY25ObElpd2laVzUwY25sZlkyOTFiblFpTENKMGJYQmZZbmwwWlRFaUxDSjBiWEJmWW5sMFpUSWlMQ0owYlhCZllubDBaVE1pTENKMGJYQmZNVFlpTENKcGJtUmZjM1ZpSWl3aVFreFBRMHRVV1ZCRlgwMUJVMHNpTENKTVFWTlVUVVZVUVVSQlZFRkNURTlEUzBaTVFVZGZUVUZUU3lJc0ltSnZlR1Z6Um05MWJtUWlMQ0pyYm05M2JrSnNiMk5yVkhsd1pYTWlMQ0ptYkdGblFXNWtWSGx3WlNJc0ltVnVkSEo1SWl3aWJXVnpjMkZuWlY5emFYcGxJaXdpWlhOa1gyUmhkR0VpTENKbGMyUmZjR0Z5YzJWeUlpd2lkRzF3WDJKNWRHVWlMQ0p1ZFcxUFprRnljbUY1Y3lJc0ltNWhiSFZmWVhKeVlYa2lMQ0p1ZFcxT1lXeDFjeUlzSW01aGJIVWlMQ0ppZVhSbElpd2lhWFJsYlY5amIzVnVkQ0lzSW1WNGRHVnVkRjlqYjNWdWRDSXNJbVY0ZEdWdWRDSXNJbWwwWlcxZllYTnpiMk1pTENKaGMzTnZZMmxoZEdsdmJsOWpiM1Z1ZENJc0ltTnZkVzUwSWl3aWMyRnRjR3hsWDJOdmRXNTBJaXdpWkdGMFlYTnBlbVVpTENKeWIyeHNYMk52ZFc1MElpd2liblZ0VW1WbVpYSmxibU5sY3lJc0ltUmxjR1Z1WkdWdVkzbEpibVp2SWl3aWRHMXdYek15SWl3aWMzVmljMlZuYldWdWRGOWpiM1Z1ZENJc0luTjFZbk5sWjIxbGJuUWlMQ0p5WVc1blpWOWpiM1Z1ZENJc0ltVnVkSEo1UTI5MWJuUWlMQ0prWld4MFlTSXNJblJ0Y0RNeUlpd2ljM1ZpYzJGdGNHeGxYMk52ZFc1MElpd2ljMkZ0Y0d4bFNXNW1ieUlzSW5OMVluTmhiWEJzWlNJc0luSmxZV1JDZVhSbGN5SXNJbTUxYldKbGNsOXZabDlsYm5SeWFXVnpJaXdpWVdKemIyeDFkR1ZmZEdsdFpTSXNJbUZpYzI5c2RYUmxYMlIxY21GMGFXOXVJaXdpWW1sMFVtVmhaR1Z5SWl3aWMzUnliU0lzSW01MWJWOWlhWFJ6SWl3aVkyNXpkSEl4SWl3aVkyNXpkSEl5SWl3aVZsWkRYMDVCVEZWZlQxQkpJaXdpVmxaRFgwNUJURlZmUkVWRFgxQkJVa0ZOSWl3aWJuVnRYMjltWDJGeWNtRjVjeUlzSW1RaUxDSndZV1JrYVc1bklpd2lZbUZ6WlVOdlpHVmpJaXdpY21WMlpYSnpaV1FpTENKb1lYTkNlWFJsSWl3aVkyOXVjM1J5WVdsdWRGOXpkSEpwYm1jaUxDSmllWFJsY3lJc0lteGhjM1JmYm05dWVtVnlieUlzSW1KaGMyVXpNbDlqYUdGeWN5SXNJbWhsYkdSZlltbDBjeUlzSW01MWJWOW9aV3hrWDJKcGRITWlMQ0p2ZEdraUxDSmlhWFJFWlhCMGFDSXNJbUpwZEdSbGNIUm9JaXdpWTI5dWMzUmhiblFpTENKVlNVNVVNekpmVFVGWUlpd2ljMkZ0Y0d4bGN5SXNJbUp2ZUY5aElpd2lZbTk0WDJJaUxDSllUVXhUZFdKMGFYUnNaV2x1TkZCaGNuTmxjaUlzSW5OaGJYQnNaU0lzSWxSbGVIUnBialJRWVhKelpYSWlMQ0owWlhoMFUzUnlhVzVuSWl3aVNWTlBSbWxzWlNJc0ltbGtJaXdpZFhObGNpSXNJblJ5WVdzaUxDSm1jbUZuVkhKaFkyc2lMQ0psZUhSeVlXTjBWSEpoWTJzaUxDSndZWEp6WlVKdmVFaGxZV1JsY25OUGJteDVJaXdpYm1WNGRFWnBiR1ZUZEdGeWRDSXNJbTF2ZG1sbElpd2lkSEpoWTJzaUxDSnpZVzF3YkdWZlpHVnpZeUlzSWw4eE9UQTBJaXdpWm5KaFoxUnlZV3NpTENKbGVIUnlZV04wVkhKaGF5SXNJbkpsZEhWeWJrVmhjbXg1SWl3aWRISmhZMnRmYVdRaUxDSnpZVzF3YkdWT2RXMGlMQ0owYVcxbElpd2lkWE5sVW1Gd0lpd2ljMlZsYTE5dlptWnpaWFFpTENKeVlYQmZjMlZsYTE5ellXMXdiR1ZmYm5WdElpd2ljMlZsYTE5ellXMXdiR1ZmYm5WdElpd2liVzl2ZGlJc0luUnlZV3RmYzJWbGExOXBibVp2SWl3aWMyVmxhMTlwYm1adklpd2lZbTk0WDJsdVpHVjRJaXdpWVY5aWIzZ2lMQ0ppWDJKdmVDSXNJbTFsY21kbFpDSXNJbVp2ZFc1a0lpd2lYMjl3ZEdsdmJuTWlMQ0p0WkdsaElpd2liV2x1WmlJc0luTmhiWEJzWlY5a1pYTmpjbWx3ZEdsdmJsOWxiblJ5ZVNJc0ltMWxaR2xoWDNSNWNHVWlMQ0pqYjJSbGN5SXNJbUYyWTBNaUxDSnpkR0pzSWl3aWMzUnlaV0Z0WHlJc0ltMXZiMllpTENKellXMXdiR1ZmWm14aFozTWlMQ0owY21Gb
1Ulpd2ljM1JqYnlJc0luTjBjMk1pTENKemRITjZJaXdpYzNSMGN5SXNJbU4wZEhNaUxDSnpkSE56SWl3aWMySm5jSE1pTENKMGNtRnJYM05uY0dSeklpd2lkSEpoWmw5elozQmtjeUlzSW5OaGJYQnNaVjluY205MWNGOXBibVp2SWl3aWMyRnRjR3hsWDJkeWIzVndYMnRsZVNJc0lsTmhiWEJzWlVkeWIzVndTVzVtYnlJc0lsOXdZWEpoYldWMFpYSWlMQ0pmYzJKbmNDSXNJbk5oYlhCc1pWOXVkVzFpWlhJaUxDSnpZVzF3YkdWZlozSnZkWEJ6WDJsdVptOGlMQ0prWlhOamNtbHdkR2x2YmlJc0luTmtkSEFpTENKemRITmtJaXdpYzNWaWN5SXNJbk5uY0dSeklpd2ljM1JrY0NJc0ltTm9kVzVyWDNKMWJsOXBibVJsZUNJc0ltTm9kVzVyWDJsdVpHVjRJaXdpYkdGemRGOWphSFZ1YTE5cGJsOXlkVzRpTENKdlptWnpaWFJmYVc1ZlkyaDFibXNpTENKc1lYTjBYM05oYlhCc1pWOXBibDlqYUhWdWF5SXNJbXhoYzNSZmMyRnRjR3hsWDJsdVgzTjBkSE5mY25WdUlpd2ljM1IwYzE5eWRXNWZhVzVrWlhnaUxDSnNZWE4wWDNOaGJYQnNaVjlwYmw5amRIUnpYM0oxYmlJc0ltTjBkSE5mY25WdVgybHVaR1Y0SWl3aWJHRnpkRjl6ZEhOelgybHVaR1Y0SWl3aWMzVmljMTlsYm5SeWVWOXBibVJsZUNJc0lteGhjM1JmYzNWaWMxOXpZVzF3YkdWZmFXNWtaWGdpTENKa1pXWmhkV3gwWDNOaGJYQnNaVjlrWlhOamNtbHdkR2x2Ymw5cGJtUmxlQ0lzSW1SbFptRjFiSFJmYzJGdGNHeGxYMlIxY21GMGFXOXVJaXdpWkdWbVlYVnNkRjl6WVcxd2JHVmZjMmw2WlNJc0ltUmxabUYxYkhSZmMyRnRjR3hsWDJac1lXZHpJaXdpYkdGemRGOXlkVzVmY0c5emFYUnBiMjRpTENKMGNtVjRJaXdpZEhKMWJpSXNJbUprYjNBaUxDSmtZbWx0SWl3aVpHOXdJaXdpWW1Sdklpd2ljMkZ0Y0d4bFgybHVaR1Y0SWl3aWJHVnVaM1JvUVdaMFpYSlRkR0Z5ZENJc0ltTnZaR1ZqY3lJc0ltbDBaVzF6SWl3aWJXVjBZU0lzSW1sMFpXMXNiMk1pTENKcGNHMWhJaXdpWVhOemIyTnBZWFJwYjI0aUxDSndjbTl3Ulc1MGNua2lMQ0p3Y205d1ltOTRJaXdpYVhSbGJWOXBaQ0lzSW5SeVlXTnJUM0IwYVc5dWN5SXNJblJ5WVdOclNXUWlMQ0p2ZFhSemRISmxZVzBpTENKellXMXdiR1ZPZFcxaVpYSWlMQ0p0WkdGMElpd2lablI1Y0NJc0luUnZkR0ZzWDJSMWNtRjBhVzl1SWl3aWMyRnRjR3hsWDJSMWNtRjBhVzl1SWl3aWJYWmxlQ0lzSW1sdWFYUlRaV2R6SWl3aWMyVm5JaXdpY0hKbGRsOXBibVJsYm5RaUxDSk5VRFJDYjNnaUxDSmZhMlZsY0Uxa1lYUkVZWFJoSWl3aVgzTjBjbVZoYlNJc0ltdGxaWEJOWkdGMFJHRjBZU0lzSWtacGJHVlRhVzVySWl3aVgyWnBiR1VpTENKZmIyWm1jMlYwSWl3aVJtbHNaVVJsYlhWNFpYSWlMQ0pmYjI1U1pXRmtlU0lzSWw5dmJrWnBibWx6YUNJc0lsOWpiMjVtYVdjaUxDSmZYM0J5YVhaaGRHVk5aWFJvYjJRaUxDSnZibEpsWVdSNVgyWnVJaXdpYjI1R2FXNXBjMmhmWm00aUxDSm1hV3hsVTJsdWF5SXNJbDhpTENKZlh5SXNJazFsWkdsaFJHVnRkWGhsY2lJc0lsOWphSFZ1YTNNaUxDSmZabWxzWlVSbGJYVjRaWEpUZEdGMGN5SXNJbU5vZFc1cmN5SXNJbk4wWVhSeklpd2lZMkZzWTNWc1lYUmxRMlZzYkZOcGVtVWlMQ0p0WVhSeWFYZ2lMQ0ppYVdkblpYTjBUR1Z1WjNSb0lpd2ljMjkxY21ObGN5SXNJbEJzWVhsbGNsZHZjbXRsY2lJc0lsOXRaWE56WVdkbElpd2lYMjltWm5ObGRFeGxablFpTENKZmIyWm1jMlYwUW05MGRHOXRJaXdpWDJGMllXbHNZV0pzWlZkcFpIUm9JaXdpWDJGMllXbHNZV0pzWlVobGFXZG9kQ0lzSWw5a1pXMTFlR1Z5YzAxaGNDSXNJbDl0WVhSeWFYZ2lMQ0pmY0hKbGRrMWhkSEpwZUNJc0lsOXBjMGR5WVdScGJtZFdhV1YzSWl3aVgybHpSM0poWkdsdVoxSmxjM1ZzZEZacFpYY2lMQ0pmWjNKaFpHVkNiRzlqYTFkcFpIUm9JaXdpWDNCeVpYWlFZV2RsSWl3aVgzQmhaMlVpTENKZmNHRm5aWE1pTENKZmNHRm5aVk5wZW1VaUxDSmZjR0ZuWlU5bVpuTmxkQ0lzSWw5dFlYaFRZMkZzWlZKaGRHbHZJaXdpWjNKaFpHVWlMQ0p0WlhOellXZGxYMlp1SWl3aWJHVm1kQ0lzSW1KdmRIUnZiU0lzSW5ObGRIUnBibWR6SWl3aVpHVnRkWGhsY25OTWFYTjBJaXdpZEc5RVpXMTFlQ0lzSW1SbGJYVjRaWElpTENKalpXeHNJaXdpY205M0lpd2ljbVZtVkdWNGRDSXNJbkpsWmtkeVlXUmxJaXdpWjNKaFpHVklaV2xuYUhRaUxDSnlaV1pZSWl3aWNtVm1XU0lzSW14aFltVnNXQ0lzSW14aFltVnNXU0lzSW1selIzSmhaR2x1WjBScFptWmxjbVZ1ZENJc0luQnlaWFpEWld4c0lpd2libVY0ZEVObGJHd2lMQ0p6YUc5MWJHUlNaWE5sZENJc0lteHZibWRsYzNSSGNtRmtaU0lzSW5SdmRHRnNWMmxrZEdnaUxDSjBiM1JoYkVobGFXZG9kQ0lzSW0xaGVGTmpZV3hsSWl3aWJuVnRaWEpwWTAxaGVGTmpZV3hsSWl3aVltbG5aMlZ6ZEUxaGVGTmpZV3hsVTI5MWNtTmxJaXdpYjJabWMyVjBWRzl3SWl3aWIyWm1jMlYwVEdWbWRDSXNJbVJ5WVhkUGNIUnBiMjV6SWl3aWNtVm1VbTkzU0dWcFoyaDBJaXdpWjNKaFpHVlNiM2RJWldsbmFIUWlMQ0poWTNScGIyNGlMQ0ozYjNKclpYSWlMQ0psZG1WdWRDSmRMQ0p0WVhCd2FXNW5jeUk2SW1kNlEwRlRReXhUUVVGVlFTeEZRVUZOUXl4RlFVRlRMRU5CVVhoQ1F5eEZRVUZCTEZGQlFXbENSQ3hIUVV0c1FpeEhRVUZEUlN4RlFVRk5MRlZCUVZrc1EwRkZia0lzVDBGQlR5eFRRVUZUUXl4RlFVRlRReXhGUVVGTlF5eEZRVUZoUXl4RlFVRmhMRU5CUlhoRUxFbEJRVWxETEVWQlFVOHNUMEZEVmtNc1JVRkJZeXd5UWtGRFpFTXNSVUZCVjBnc1IwRkJaVVVzUlVGRE1VSkZMRVZCUVZWT0xFVkJRMVpQTEVWQlFVMHNRMEZCUTA0c1IwRkJaU3hEUVVGRFF5eEhRVUZsU1N4RlFVTjBRMFVzUlVGQlV5eFRRVUZUTEdOQlFXTXNSMEZCUnl4RlFVTnVRME1zUlVGQlZ5eFRRVUZUUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhQUVVGUFFTeERRVUZETEVOQlFVVXNSVUZEZUVORExFVkJRVlZTTEVWQlFVc3NUVUZCVVVFc1JVRkJTeXhUUVVGWFFTeEZRVUZMTEZsQlFXTk5MRVZCUXpGRVJ5eEZRVUZYV0N4SFFVRmxMRmRCUXpGQ1dTeEZRVU5CUXl4RlFWVkVMRWRCVkVOSUxFVkJRVkZCTEVWQlFVOHNTMEZCVDBFc1JVRkJUeXhMUVVGTFVpeERRVUZKTEVWQlFVa3NTMEZGZUVNc1QwRkJUeXhKUVVGSkxFbEJRVWtzVTBGRGFrSkhMRVZCUVZFc1EwRkJRMEVzUlVGQlUwUXNRMEZCVVN4RlFVTXhRa0VzUlVGQlUwTXNSVUZCVVN4RFFVRkRMRVZCUTJ4Q1FTeEZRVUZSUVN4RlFVRlJMRU5CUVVNc1IwRkpaa01zUjBGQlQwRXNSVUZCU1N4UFFVRlJMRTlCUTNKQ1N5eEZRVUZYVEN4RlFVRkpMRTFCUVUwc1IwRkJSeXhGUVVGRkxFbEJRVXNzUlVGQlF
15eE5RVUZOTEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUXpWRFF5eEZRVUZQTEV0QlFVOUVMRVZCUTFSRExFVkJRVThzUzBGQlN5eFJRVUZSUkN4RFFVRkhMRWxCUVUwc1NVRkJSeXhEUVVNNVFpeEpRVUZKVVN4RlFVRkxMRWxCUVVrc1pVRkRZaXhQUVVGQlFTeEZRVUZMTEV0QlFVMHNUVUZCVDFJc1JVRkJTeXhGUVVGSkxFVkJRek5DVVN4RlFVRkxMR0ZCUVdVc1QwRkRjRUpCTEVWQlFVc3NUMEZCVVN4VFFVRlRReXhGUVVGRkxFTkJRelZDYWtJc1JVRkJVMmxDTEVWQlFVVXNUMEZCVHl4VFFVRlZTaXhGUVVGVlVpeERRVUZYTEVOQlEzWkVMRVZCUTFVc1YwRkJWeXhWUVVGVkxFTkJRVVZYTEVWQlFVc3NTMEZCU1N4RFFVRkhMRVZCUVVjc1EwRkJReXhGUVVOdVEwRXNRMEZEVml4RFFVdEdMRWRCUVVjc2FVTkJRV2xETEV0QlFVdFVMRU5CUVU4c1JVRkZMME1zUjBGQlIwRXNSVUZCVVN4UFFVRlZMRXRCUVVzc1MwRkJTeXhQUVVGVlN5eEpRVUZYUml4RlFVTnVSRWdzUlVGQlVWY3NSVUZCWTFnc1EwRkJUeXhGUVVNM1FrUXNSVUZCVTBNc1JVRkJVU3hOUVVGUlJpeE5RVVY2UWl4UlFVRlBMRlZCUVZVc1YwRkRhRUlzVlVGQlZTeFhRVUZYWVN4RlFVRmpXQ3hEUVVGUExFVkJRVWROTEVOQlFWRXNSVUZEY2tSTkxFVkJRVTFhTEVOQlFVOHNWVUZKV2l4blFrRkJaMElzUzBGQlMwRXNRMEZCVHl4RlFVRkZMRU5CUTJoRExFbEJRVWxoTEVWQlFVVXNSVUZCUjBNc1JVRkJWeXhKUVVGSkxGZEJRVmRrTEVWQlFWRXNUVUZCVFN4RlFVRkhaU3hGUVVGSFJDeEZRVUZWTEU5QlEycEZMRWxCUVVsRUxFVkJRVVZCTEVWQlFVVkZMRVZCUVVjc1JVRkJSVVlzUlVGQlIwTXNSVUZCVlVRc1EwRkJReXhGUVVGSFlpeEZRVUZSTEZkQlFWZGhMRU5CUVVNc1JVRkRha1JpTEVWQlFWRXNTVUZCU1Vzc1JVRkJUeXhEUVVGRFV5eERRVUZUTEVWQlFVY3NRMEZCUXl4TFFVRk5aaXhEUVVGUkxFTkJRVU1zUTBGRGFrUXNRMEZGUmxFc1JVRkJUMUFzWVVGQmJVSkxMRVZCUTNwQ1RDeEZRVU5CTEVsQlFVbExMRVZCUVU4c1EwRkJRMHdzUTBGQlR5eEZRVUZITEVOQlFVTXNTMEZCVFVRc1EwRkJVU3hEUVVGRExFVkJSM1pETEZOQlFWTlpMRVZCUVdOTExFVkJRVkVzUTBGRE9VSXNTVUZCU1VNc1JVRkJUMFFzUlVGQlR5eE5RVUZOTEU5QlFVOHNSVUZETDBKRkxFVkJRVTFFTEVWQlFVMHNRMEZCUXl4RlFVTmlSU3hIUVVGVFJpeEZRVUZOTEVOQlFVTXNSMEZCU3l4VFFVRlhMRXRCUVU4c2JVSkJRM1pEUnl4SFFVRlRSQ3hIUVVGVFJpeEZRVUZOTEV0QlFVOHNSVUZETDBKR0xFZEJRVWxMTEVkQlFWRXNUMEZEV2xBc1JVRkJSeXhGUVVOSVVTeEZRVUZQTEVsQlFVa3NWMEZCVjA0c1JVRkJSU3hGUVVWNFFpeEpRVUZKUml4RlFVRkZRU3hGUVVGRlJTeEhRVUZITEVWQlFVVkdMRVZCUVVkUkxFVkJRVTFTTEVOQlFVTXNSVUZCUjA4c1IwRkJVU3hYUVVGWFVDeERRVUZETEVWQlJUbERMRTlCUVU4c1NVRkJTVklzUlVGQlR5eERRVUZEWjBJc1EwRkJTeXhGUVVGSExFTkJRVU1zUzBGQlRVZ3NRMEZCU1N4RFFVRkRMRU5CUTNSRExFTkJSVVlzVTBGQlUwNHNSVUZCVFZnc1JVRkJTM0ZDTEVWQlFWRXNRMEZGTTBJc1IwRkJTU3hoUVVGamNFSXNSVUZEYWtJc1QwRkJRVUVzUlVGQlR5eExRVUZQUkN4RlFVTmtReXhGUVVGUExHRkJRV0VzVjBGQldVa3NRMEZCVVN4RlFVTjRRMG9zUlVGQlR5eFZRVUZaTEcxQ1FVTnVRa0VzUlVGQlR5eFZRVUZaTEdsQ1FVTnVRa0VzUlVGQlR5eE5RVUZOTEZGQlFWVXNUMEZEZGtJc1UwRkJVeXhMUVVGTE
1xGbEJRVmxCTEVOQlFVMHNSVUZEYUVNc1YwRkJWeXhWUVVGWExFTkJRM0pDUVN4RlFVRlBMRTFCUVVzc1JVRkRXaXhUUVVGVExFdEJRVXNzV1VGQldVRXNRMEZCVFN4RlFVTTNRbTlDTEVsQlFWVXNTVUZCVFN4WFFVRlhMRlZCUVZVc1EwRkJSWHBDTEVWQlFVc3NTVUZCU1N4blFrRkJaMEpMTEVWQlFVOHNTVUZCU1N4RFFVRkZMRVZCUVVjc1IwRkJTeXhEUVVONFJpeEZRVUZGTEVWQlFVVXNSVUZEUlN4SFFVbFNMRWRCUVVjc1owUkJRV2RFTEV0QlFVc3NWVUZCVlN4VFFVRlRMRVZCUXpGRkxFMUJRVWNzVTBGQlV5eExRVUZMUkN4RFFVRkhMRWxCUVVkQkxFVkJRVWtzVVVGQlVVRXNSVUZCU1N4UlFVRlJMSE5DUVVGMVFrZ3NRMEZCVnl4SFFVTTNSU3hQUVVGUExFdEJRVXRITEVOQlFVY3NSMEZEWml4UlFVRlJPMEZCUVVFN1FVRkJRU3h2UlVGQlowY3NTVUZCU1N4VFFVRlRMRXRCUVV0QkxFZEJSWFpJTEVkQlNWSXNTVUZCU1hOQ0xFVkJRVWtzVTBGQlV5eGpRVUZqTEZGQlFWRXNSVUZEZGtNc1UwRkJVeXhMUVVGTExGbEJRVmxCTEVOQlFVTXNSVUZGZUVJc1EwRkJRMFFzUjBGQlZ5eFRRVUZUTEV0QlFVdHlRaXhEUVVGSExFbEJReTlDUVN4RlFVRkpMRkZCUVZGQkxFVkJRVWtzVVVGQlVTeHpRa0ZCZFVKSUxFTkJRVmNzUjBGRk0wUjVRaXhGUVVGRkxFbEJRVWwwUWl4RlFVTk9MRmRCUVZjc1ZVRkJWU3hEUVVGRkxGTkJRVk1zUzBGQlN5eFpRVUZaYzBJc1EwRkJReXhIUVVGTkxFZEJRVWNzUTBGRk0wUXNRMEZMUkN4SFFVRkpMRlZCUVZVc1YwRkRZaXhQUVVGUExGVkJRVlVzVjBGQlYyaENMRVZCUVUxRUxFTkJRVkVzUlVGSE0wTXNSMEZCUjFRc1JVRkJTeXhKUVVOUVpTeEZRVUZOWml4RlFVRkxMRWxCUVVrc1owSkJRV2RDVlN4RFFVRkpMRVZCUVVjc1JVRkJTU3hOUVVOMFF5eERRVVZLTEVkQlFVY3NUMEZCVDBFc1IwRkJVeXhWUVVGWlFTeEZRVUZMTEdOQlFXTktMRVZCUTJwRUxFZEJRVWNzUTBGRFJpeFBRVUZQVXl4RlFVRlBMRkZCUVZkaUxFVkJRV0VzVjBGQlpVWXNSVUZCU3l4TFFVRkxWU3hEUVVGSkxFVkJRMjVGTEUxQlFWRXNRMEZEVWl4UFFVRlBTeXhGUVVGUExGRkJRVmRpTEVWQlFXRXNTVUZCVFN4dFFrRkJiVUpSTEVOQlFVa3NSVUZEYmtVc1EwRkpSa01zUlVGQlR5eEpRVUZKTEZkQlExaEJMRVZCUVU4c1QwRkJUeXhUUVVGVFJTeEZRVUZGTEVOQlEzaENSU3hGUVVGTkxFdEJRVXNzVFVGQlRTeERRVU55UWl4RlFVTkhTaXhGUVVGUExHTkJRV05FTEVOQlFVa3NRMEZEZWtJc1EwRkRSQ3hOUVVGUExFVkJRMVFzUTBGRFFTeERRVUZETERSRFEzSkxSQ3hQUVVGUExHVkJRV1ZwUWl4SFFVRlRMR0ZCUVdNc1EwRkJSU3hOUVVGUExFVkJRVWtzUTBGQlJTeEZRVU0zUTBFc1IwRkJRU3hSUVVGSExFOUJRMnhDTEZOQlFWTkRMRWRCUVZGRExFVkJRVThzUTBGRGNFSXNSMEZCU1VFc1NVRkJWU3hOUVVGUkxFOUJRVTlCTEVWQlFWVXNTVUZEYmtNc1RVRkJUeXhIUVVWWUxFMUJRVTFETEVWQlFWTkVMRVZCUVUwc1QwRkRaa1VzUlVGQlowSXNUMEZCVDBRc1IwRkJWeXhWUVVGWlFTeEZRVUZUTEVsQlFVMUJMRVZCUVZNc1NVRkJUU3hGUVVOc1JpeFBRVUZQTEU5QlFVOUVMRWRCUVZVc1dVRkJZeXhQUVVGUFFTeEhRVUZWTEZWQlFWbEZMRU5CUTNaRkxFTkJRMEZETEVkQlFVRXNVVUZCYTBKS0xHMUNRMVpzUWl4UFFVRlBMR1ZCUVdWTExFZEJRVk1zWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUXpWRFFTeEhRVUZCTEZOQlFVY3NUMEZEYmtJc1UwRkJVME1zUjBGQlUwd3NSVUZCVHl4RFFVTnlRaXhOUVVGUExFZEJRVkZCTEVkQlFWTXNUMEZCVDBFc1IwRkJWU3hWUVVGWkxFTkJRVU1zVFVGQlRTeFJRVUZSUVN4RFFVRkxMRVZCUXpkRkxFTkJRMEZOTEVkQlFVRXNVMEZCYlVKRUxFZERURzVDTEU5QlFVOHNaVUZCWlVVc1IwRkJVeXhoUVVGakxFTkJRVVVzVFVGQlR5eEZRVUZKTEVOQlFVVXNSVUZETlVOQkxFZEJRVUVzVTBGQlJ5eFBRVU51UWl4TlFVRk5TQ3hIUVVGaFNTeEhRVU51UWl4VFFVRlRReXhIUVVGVFZDeEZRVUZQTEVOQlEzSkNMRWRCUVVrc1EwRkRRU3hQUVVGSkxFOUJRVTlCTEVkQlFWVXNWVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJRMEVzUTBGQlN5eEZRVU51UXl4TlFVVkJTU3hIUVVGWExGVkJRVlZLTEVOQlFVc3NSMEZCU3l4UFFVRlBMRlZCUVZVc1UwRkJVeXhMUVVGTFFTeERRVUZMTEVsQlFVMHNhVUpCUTNaR0xFMUJRMU1zUTBGRF
1RpeE5RVUZQTEVWQlExWXNRMEZEVEN4RFFVTkJWU3hIUVVGQkxGTkJRVzFDUkN4SFEyUnVRaXhQUVVGUExHVkJRV1ZGTEVkQlFWTXNZVUZCWXl4RFFVRkZMRTFCUVU4c1JVRkJTU3hEUVVGRkxFVkJRM1pEUVN4SFFVRkJMR05CUVVjc1QwRkRlRUlzVFVGQlRXSXNSMEZCV1ZVc1IwRkRXa1FzUjBGQllVc3NSMEZIYmtJc1UwRkJVME1zUjBGQlkwTXNSVUZCUzBNc1JVRkJVeXhEUVVOcVF5eE5RVUZSYWtJc1IwRkJWU3hUUVVGVFowSXNRMEZCUnl4TlFVRlRVQ3hIUVVGWExGVkJRVlZSTEVOQlFVOHNSMEZCUzBFc1JVRkJWU3hGUVVNNVJTeFBRVUZQUkN4RlFVRkpMRTlCUVU4c1EwRkJRMFVzUlVGQlRVTXNSVUZCUnpsQ0xFdEJRVTlCTEVWQlFVazBRaXhIUVVGWExFVkJRVWxETEVWQlFVc3NTMEZCU3l4RFFVRkRReXhEUVVGRExFTkJRVU1zUlVGQlNVUXNSVUZCUzBFc1JVRkJTeXhQUVVGVExFTkJRVU1zUlVGQlJTeExRVUZMUXl4RFFVRkRMRWxCUVUxRUxFVkJRVTBzUTBGQlJTeERRVUZCTEVWQlJYSklMRTFCUVUwc1NVRkJTU3hOUVVGTkxHMUNRVUZ0UWl4RFFVTjJReXhEUVVOQlJTeEhRVUZCTEdOQlFYZENUQ3g1UWtOYWVFSXNUMEZCVHl4bFFVRmxUU3hIUVVGVExHRkJRV01zUTBGQlJTeE5RVUZQTEVWQlFVa3NRMEZCUlN4RlFVTXZRMEVzUjBGQlFTeE5RVUZITEU5QlEyaENMRTFCUVUxbUxFZEJRV0ZKTEVkQlEyNUNMRk5CUVZOWkxFZEJRVTF3UWl4RlFVRlBMRU5CUTJ4Q0xFZEJRVWtzUTBGRFFTeFRRVUZYU1N4SFFVRlhMRlZCUVZWS0xFTkJRVXNzUjBGQlN5eFBRVUZQTEZWQlFWVXNVMEZCVXl4TFFVRkxRU3hEUVVGTExFbEJRVTBzWTBGRGRrWXNUVUZEVXl4RFFVTk9MRTFCUVU4c1JVRkRWaXhEUVVOTUxFTkJRMEZ4UWl4SFFVRkJMRTFCUVdkQ1JDeGhRMWhvUWl4UFFVRlBMR1ZCUVdWRkxFZEJRVk1zWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUXk5RFFTeEhRVUZCTEUxQlFVY3NUMEZEYUVJc1RVRkJUV3hDTEVkQlFXRkpMRWRCUTI1Q0xGTkJRVk5sTEVkQlFVMTJRaXhGUVVGUExFTkJRMnhDTEVkQlFVa3NRMEZEUVN4VFFVRlhTU3hIUVVGWExGVkJRVlZLTEVOQlFVc3NSMEZCU3l4UFFVRlBMRlZCUVZVc1UwRkJVeXhMUVVGTFFTeERRVUZMTEVsQlFVMHNZMEZEZGtZc1RVRkRVeXhEUVVOT0xFMUJRVThzUlVGRFZpeERRVU5NTEVOQlEwRjNRaXhIUVVGQkxFMUJRV2RDUkN4aFExaG9RaXhQUVVGUExHVkJRV1ZGTEVkQlFWTXNZVUZCWXl4RFFVRkZMRTFCUVU4c1JVRkJTU3hEUVVGRkxFVkJRelZEUVN4SFFVRkJMRk5CUVVjc1QwRkRia0lzVFVGQlRYSkNMRWRCUVdGSkxFZEJRMjVDTEZOQlFWTnJRaXhIUVVGVE1VSXNSVUZCVHl4RFFVTnlRaXhIUVVGSkxFTkJRMEVzVDBGQlNTeFBRVUZQUVN4SFFVRlZMRk5CUTFZc1RVRkZRVWtzUjBGQlZ5eFZRVUZWU2l4RFFVRkxMRWRCUVVzc1QwRkJUeXhWUVVGVkxGTkJRVk1zUzBGQlMwRXNRMEZCU3l4SlFVRk5MR2xDUVVOMlJpeE5RVU5UTEVOQlEwNHNUVUZCVHl4RlFVTldMRU5CUTB3c1EwRkRRVEpDTEVkQlFVRXNVMEZCYlVKRUxFZERaRzVDTEU5QlFVOHNaVUZCWlVVc1IwRkJVeXhoUVVGakxFTkJRVVVzVFVGQlR5eEZRVUZKTEVOQlFVVXNSVUZETjBOQkxFZEJRVUVzVVVGQlJ5eFBRVU5zUWl4TlFVRk5PVUlzUjBGQldWVXNSMEZEV2xjc1IwRkJWVkFzUjBGRFZsSXNSMEZCWVhsQ0xFZEJRMkpRTEVkQlFWVlJMRWRCUTFaTUxFZEJRV0ZOTEVkQlEyNUNMRk5CUVZORExFZEJRVkZvUXl4RlFVRlBMRU5CU1hCQ0xGTkJTRkY1UWl4SFFVRlhMRlZCUVZWNlFpeERRVUZMTEUxQlJ6RkNSaXhIUVVGVkxGTkJRVk5GTEVOQlFVc3NSVUZEY2tKQkxFVkJRVTBzVTBGQlZ5eExRVVZ3UW0xQ0xFZEJRVkVzVDBGQlQyNUNMRU5CUVVzc1RVRkJVM05DTEVkQlFWRXNUMEZCVDNSQ0xFTkJRVXNzUlVGRE9VTkJMRVZCUVUwc1QwRkJVeXhMUVVWc1Fra3NSMEZCVnl4VlFVRlZTaXhEUVVGTExFVkJRM1pDTEU5QlFVOHNTMEZCUzBFc1EwRkJTeXhGUVVGRkxGTkJRVmNzUlVGRmJFTXNRMEZCUTBFc1EwRkRXaXhEUVVOQmFVTXNSMEZCUVN4UlFVRnJRa1FzUjBOMFFteENMRTlCUVU4c1pVRkJaVVVzUjBGQlV5eGhRVUZqTEVOQlFVVXNUVUZCVHl4RlFVRkpMRU5CUVVVc1JVRkROMEpCTEVkQlFVRXNkMEpCUVVjc1QwRkRiRU1zVFVGQlRVNHNSMEZCV1hCQ0xFZEJRMXBFTEVkQlFXRkxMRWRCUTI1Q0xGTkJRVk4xUWl4SFFVRjNRa01zUlVGQlQwTXNSVUZCVVVNc1JVRkJZVU1zUlVGQll5eERRVU4yUlN4TlFVRlJhRU1zUjBGQlZ5eFZRVUZWTmtJc1EwRkJTeXhOUVVGVE4wSXNSMEZCVnl4VlFVRlZPRUlzUTBGQlRTeE5RVUZUT1VJc1IwRkJWeXhWUVVGVkswSXNRMEZCVnl4RlFVRkhMRU5CUXpsSExFMUJRVTFGTEVWQlFXRkdMRVZCUVdOR0xFVkJRek5DU3l4TFFVRnJRbXhETEVkQlFWY3NWVUZCVldkRExFTkJRVmtzUjBGQlN5eEpRVUZMV0N4SFFVRlZMRk5CUVZOWExFTkJRVmtzUlVGQlNVRXNSVUZCWlVZc1JVRkJVeXhGUVVONFNFc3NSVUZCVVN4TFFVRkxMRWxCUVVsR0xFVkJRVmxETEVOQlFWY3NSVUZET1VNc1RVRkJUeXhEUVVGRkxFMUJRVTlNTEVWQlFWRk5MRVZCUVU4c1QwRkJVVXdzUlVGQlUwc3NSVUZEYmtRc1EwRkRSQ3hOUVVGTkxFbEJRVWtzVFVGQlRTeHRRa0ZCYlVJc1EwRkRka01zUTBGRFFVTXNSMEZCUVN4M1FrRkJhME5TTEdGRFlteERMRTlCUVU4c1pVRkJaVk1zUjBGQlV5eGhRVUZqTEVOQlFVVXNUVUZCVHl4RlFVRkpMRU5CUVVVc1JVRkRha05CTEVkQlFVRXNNRU5CUVdkRFFTeEhRVUZCTEd0Q1FVRnZSRUVzUjBGQlFTeHBRa0ZCUnl4UFFVTnNTQ3hUUVVGVFF5eEhRVUZwUWpkRExFVkJRVThzVDBGRE4wSXNUMEZCU1N4UFFVRlBRU3hIUVVGVkxGTkJRMVlzUTBGQlF5eEZRVUZITEVWQlFVY3NRMEZCUXl4SlFVZGFPRU1zUlVGQlFUbERMRVZCUVUwc1RVRkJUU3cyUWtGQk5rSXNTVUZCZWtNc1dVRkJRVGhETEVWQlFUUkRMRWxCUVVrc1ZVRkJWeXhEUVVGRExFVkJRVWNzUlVGQlJ5eERRVUZETEVOQlF6bEZMRU5CUTNkQ1JpeEhRVUZCTEdsQ1FVRkhReXhIUVVNelFpeFRRVUZUUlN4SFFVRnJRaTlETEVWQlFVOHNRMEZET1VJc1QwRkJTeXhOUVVGTkxGRkJRVkZCTEVOQlFVc3NSVUZIY0VKQkxFVkJRVTBzVFVGQlQySXNSMEZCVFN4TlFVRk5MRU5CUVVOQkxFTkJRVU1zUTBGQlF5eEZRVU55UWl4RFFVRkRMRVZCUVVjc1JVRkJSeXhEUVVGRExFVkJSMXBoTEVWQlFVMHNTVUZCU1N4RFFVRkRRU3hGUVVGUFowUXNSVUZCVDBNc1NVRkZlRUpCTEVWQlFVMHNVMEZCVnl4SFFVRkxS
1Q3hKUVVGVlF5eEZRVUZOTEU5QlFWTXNSVUZEZUVOcVJDeEZRVVZLUVN4RlFVRlJMRWRCUTJ4Q0xFVkJXbFVzUTBGQlF5eEZRVUZITEVWQlFVY3NRMEZCUXl4RFFXRjJRaXhEUVVONVFqUkRMRWRCUVVFc2EwSkJRVWRITEVkQlF6VkNMRk5CUVZOSExFZEJRVzFDYkVRc1JVRkJUeXhEUVVNdlFpeFBRVUZQSzBNc1IwRkJhMEpHTEVkQlFXbENOME1zUTBGQlN5eERRVUZETEVOQlEzQkVMRU5CUXpCQ05FTXNSMEZCUVN4dFFrRkJSMDBzUjBGRE4wSXNVMEZCVTBNc1IwRkJiMEp1UkN4RlFVRlBMRU5CU1doRExFZEJTRWtzUTBGQlF5eE5RVUZOTEZGQlFWRkJMRU5CUVVzc1IwRkhjRUpCTEVWQlFVMHNUVUZCVDJJc1IwRkJUU3hOUVVGTkxFTkJRVU5CTEVOQlFVTXNRMEZCUXl4RlFVTTFRaXhOUVVGUExHVkJSVmdzUzBGQlRTeERRVUZEYVVVc1JVRkJSME1zUlVGQlIwTXNRMEZCUXl4RlFVRkpkRVFzUlVGRFduVkVMRVZCUVU4c1MwRkJTeXhOUVVGUExFdEJRVTlJTEVWQlFVa3NTMEZCVVN4SFFVRkhMRVZCUTNwRFNTeEZRVUZQTEV0QlFVc3NUVUZCVHl4TFFVRlBTQ3hGUVVGSkxFdEJRVkVzUjBGQlJ5eEZRVU42UTBrc1JVRkJUeXhMUVVGTExFMUJRVThzUzBGQlQwZ3NSVUZCU1N4TFFVRlJMRWRCUVVjc1JVRkRMME1zVFVGQlR5eFBRVUZQUXl4RFFVRkpMRXRCUVV0RExFTkJRVWtzUzBGQlMwTXNRMEZCU1N4SFFVTjRReXhEUVVOQllpeEhRVUZCTEc5Q1FVRTRRazhzWVVNMVF6bENMRTlCUVU4c1pVRkJaVThzUjBGQlV5eGhRVUZqTEVOQlFVVXNUVUZCVHl4RlFVRkpMRU5CUVVVc1JVRkRNME5CTEVkQlFVRXNWVUZCUnl4UFFVTndRaXhUUVVGVFF5eEhRVUZWTTBRc1JVRkJUelJFTEVWQlFXbENMRVZCUVVjc1EwRkRNVU1zVDBGQlR5eFBRVUZQTlVRc1JVRkJVU3hIUVVGSkxFVkJRVVVzVVVGQlVUUkVMRU5CUVdNc1EwRkRkRVFzUTBGRFFVWXNSMEZCUVN4VlFVRnZRa01zWVVOTWNFSXNUMEZCVHl4bFFVRmxSU3hIUVVGVExHRkJRV01zUTBGQlJTeE5RVUZQTEVWQlFVa3NRMEZCUlN4RlFVTXpRMEVzUjBGQlFTeFZRVUZITEU5QlEzQkNMRTFCUVUxNlJDeEhRVUZoU1N4SFFVTmliMElzUjBGQldXaENMRWRCUjJ4Q0xGTkJRVk5yUkN4SFFVRlZReXhGUVVGUlF5eEZRVUZSTEVOQlF5OUNMRTFCUVUxRExFVkJRVk1zVDBGQlR5eFBRVUZQTEVOQlFVVXNSVUZCUlVZc1EwRkJUU3hGUVdkQ2RrTXNVMEZtVVRORUxFZEJRVmNzVlVGQlZUSkVMRU5CUVUwc1RVRkJVek5FTEVkQlFWY3NWVUZCVlRSRUxFTkJRVTBzUjBGRGJrVXNUMEZCVHl4TFFVRkxRU3hEUVVGTkxFVkJRVVVzVVVGQlUwVXNSMEZCVVN4SlFVTjZRamxFTEVkQlFWY3NWVUZCVlRSRUxFVkJRVTlGTEVOQlFVY3NRMEZCUXl4RlFVTTVRa0VzUzBGQlQwZ3NSVUZKVkVVc1JVRkJUME1zUTBGQlJ5eEZRVUZKU2l4SFFVRlZReXhGUVVGUFJ5eERRVUZITEVWQlFVZEdMRVZCUVU5RkxFTkJRVWNzUTBGQlF5eEZRVWhvUkN4UFFVRlBMRTlCUVU5RUxFVkJRVkVzUTBGQlJTeERRVUZEUXl4RFFVRkhMRVZCUVVkR0xFVkJRVTlGTEVOQlFVY3NRMEZCUXl4RFFVRkZMRVZCVDJoRUxFOUJRVThzVDBGQlQwUXNSVUZCVVN4RFFVRkZMRU5CUVVORExFTkJRVWNzUlVGQlIwWXNSVUZCVDBVc1EwRkJSeXhEUVVGRExFTkJRVVVzUTBGRk5VUXNRMEZCVXl4TFFVVkhkRU1zUjBGQlZTeFRRVUZUYlVNc1EwRkJUU3hIUVVGTExFbEJRVXR1UXl4SFFVRlZMRk5CUVZOdlF5eERRVUZOTEVWQlEzcEVMRTlCUVU4c1QwRkJUeXhEUVVGRkxFVkJRVVZCTEVOQlFVMHNSVUZGTlVKRExFTkJRMWdzUTBGRFFVVXNSMEZCUVN4VlFVRnZRa3dzWVVNeFFuQkNUU3hIUVVGcFFpeE5RMEZxUWtNc1IwRkJhVUlzVlVOQmFrSkRMRWRCUVdsQ0xGZERRV3BDUXl4SFFVRnBRaXhsUTBGcVFrTXNSMEZCYVVJc1dVTkJha0pvUml4SFFVRnBRaXhWUTBGcVFtbEdMRWRCUVdsQ0xGTkRRV3BDUXl4SFFVRnBRaXhWUVVGelFpeERRVU4wUXl4SFFVRkpMRTlCUVU4c1VVRkJWeXhaUVVGakxFOUJRVThzVDBGQlR5eDFRa0ZCTUVJc1YwRkJZeXhOUVVGUExFZEJRMnBITEVkQlFVa3NUMEZCVHl4UFFVRlBMRlZCUVdFc1UwRkJXU3hOUVVGUExFZEJSV3hFTEVsQlFVbERMRVZCUVUwc1EwRkJRU3hGUVVOT1F5eEZRVUZOTEU5QlFVOHNUVUZCVFN4RlFVTnVRa01zUlVGQlV5eFBRVUZQUkN4RFFVRkhMRVZCU1haQ0xFZEJTRWtzVDBGQlQwRXNSMEZCVVN4VlFVVm1MRTlCUVU4c1ZVRkJWU3hUUVVGVExFdEJRVXRCTEVOQlFVY3NTVUZCVFN4dFFrRkRlRU1zVDBGQlR5eFZRVUZWTEZOQlFWTXNTMEZCUzBNc1EwRkJUU3hKUVVGTkxHdENRVUZ4UWl4TlFVRlBMRWRCVlRORkxFbEJRVWxETEVWQlFWTXNSMEZEWWtnc1JVRkJTVU1zUTBGQlJ5eEZRVUZKUlN4RlFVTllMRWxCUVV0R0xFdEJRVTlFTEVWQlFVOHNUVUZCVHl4SFFVY3hRaXhIUVVaSkxFOUJRVThzVDBGQlR5eE5RVUZUTEZsQlFXTXNUMEZCVHl4TFFVRkxRU3hEUVVGSExFVkJRVVVzVTBGQlZ5eEhRVVZxUlN4UFFVRlBMRTlCUVU4c2NVSkJRWGRDTEZsQlFXTXNUMEZCVHl4dlFrRkJiMEpCTEVOQlFVY3NSVUZCUlN4VFFVRlhMRVZCUVVzc1RVRkJUeXhIUVVVdlJ5eEpRVUZKU1N4RlFVRlBMRTlCUVU4c2MwSkJRWE5DU2l4RFFVRkhMRVZCUnpORExFZEJSa2xKTEVWQlFVc3NVMEZCVnl4SFFVRkxRU3hGUVVGTExFTkJRVU1zU1VGQlRVZ3NSMEZGYWtNc1EwRkJReXhQUVVGUExGVkJRVlVzY1VKQlFYRkNMRXRCUVV0RUxFVkJRVXRETEVOQlFVY3NSVUZCU3l4TlFVRlBMRWRCUlhCRkxFZEJRVWtzVDBGQlR5eFBRVUZQTERCQ1FVRTJRaXhYUVVGWkxFTkJRekZFTEVsQlFVbEpMRVZCUVdFc1QwRkJUeXg1UWtGQmVVSk1MRVZCUVV0RExFTkJRVWNzUlVGRGVrUXNSMEZCU1Vrc1JVRkJWeXhSUVVGVlJpeEhRVUZWUlN4RlFVRlhMR0ZCUVdVc1IwRkJVU3hOUVVGUExFVkJRelZGTEVOQlJVUXNUVUZCVHl4RlFVTlNMRVZEZGtOSlF5eEhRVUZoTEU5QlFVOHNUMEZCVnl4TFFVRmxMRTlCUXpsRFF5eEhRVUZuUWpGRkxFZEJSWEJDTWtVc1IwRkJhVUlzVlVGQk5FSXNRMEZKTlVNc1QwRklTU3hQUVVGUFJpeEpRVUZsTEZsQlEzUkNMRTlCUVU4c1VVRkJWeXhaUVVOc1FpeFBRVUZQUVN4SFFVRlhMRXRCUVVzc1IwRkJUU3hWUVVNM1FpeFBRVUZQTEU5QlFVOHNTMEZCU3l4SFFVRk5MRk5CUVcxQ0xFZEJSWHBEUXl4SFFVRmhMRU5CUTNKQ0xFVkRWa2xGTEVkQlFVOHNRMEZEVml4VlFVRlhMRXRCUTFnc1NVRkJTeXhEUVVGRkxFTkJRMUlzUlVGRlNVTXNSMEZCVlN4UFFVZGtReXhIUVVGcFFpeFZRVUZ2UWl4RFFVVndReXhOUVVGUExFTkJRVVVzVlVGQlYwW
1XNSVUZCVFN4RlFVRkRMRTFCUVZGQkxFZEJRVXNzUzBGRGNFTXNSVUZCUlVFc1kwRkJaMEpETEVkQlEzWkNMRVZEVmtsRkxFZEJRV2RDTEd0RVFVTm9Ra01zUjBGQlVTeFBRVUZQTEZWQlFWVXNVMEZEZWtKRExFZEJRVTBzUzBGQlN5eEpRVU5ZUXl4SFFVRlhMRzlDUVVWWVF5eEhRVUZYTEZOQlFXdENha2dzUlVGQlJ6UkZMRVZCUVVjc1EwRkhia01zVVVGR1NYaERMRVZCUVUwc1EwRkJRU3hGUVVWRU0wSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlZDeEZRVUZGTEU5QlFWRlRMRWRCUVVzc1JVRkRMMEl5UWl4RlFVRkpNMElzUTBGQlF5eEZRVUZKVkN4RlFVRkZVeXhEUVVGRExFVkJSV2hDTEZGQlFWTjVSeXhGUVVGSkxFVkJRVWRCTEVWQlFVbDBReXhGUVVGRkxFOUJRVkZ6UXl4SFFVRkxMRVZCUXk5Q09VVXNSVUZCU1RoRkxFVkJRVWxzU0N4RlFVRkZMRTFCUVUwc1JVRkJTVFJGTEVWQlFVVnpReXhEUVVGRExFVkJSek5DTEU5QlFVODVSU3hEUVVOWUxFVkJSVWtyUlN4SFFVRlJMRk5CUVdWRExFVkJRVk5ETEVWQlFWRXNRMEZGZUVNc1VVRkVTV3BHTEVWQlFVMHNRMEZCUVN4RlFVTkVNMElzUlVGQlNUUkhMRWRCUVZVc1JVRkJSMGdzUlVGQlNTeEZRVUZIZWtjc1JVRkJTVEpITEVWQlFWRXNUMEZCVVROSExFZEJRVXNzUlVGQlIzbEhMRWRCUVVzc1JVRkRPVVE1UlN4RlFVRkpPRVVzUTBGQlF5eEZRVUZKUlN4RlFVRlJNMGNzUTBGQlF5eEZRVVYwUWl4UFFVRlBNa0lzUTBGRFdDeEZRVVZKYTBZc1IwRkJVU3hUUVVGVmJFWXNSVUZCUzIxR0xFVkJRVkVzUTBGRkwwSXNVVUZFU1VNc1JVRkJUU3hIUVVORUwwY3NSVUZCU1N4RlFVRkhRU3hGUVVGSk1rSXNSVUZCU1N4UFFVRlJNMElzUjBGQlN5eEZRVU5xUXl0SExFZEJRVTl3Uml4RlFVRkpNMElzUTBGQlF5eEZRVU5TUVN4RlFVRkpMRVZCUVVreVFpeEZRVUZKTEZOQlExcHZSaXhIUVVGUFJDeEhRVWRtTEU5QlFVOURMRU5CUTFnc1JVRkZRVU1zUjBGQmFVSXNVMEZCWTBNc1JVRkJUU3hEUVVOcVF5eEpRVUZKY2tNc1JVRkJVeXhMUVVOaUxFZEJRVWtzVDBGQlQwRXNSMEZCVnl4WlFVRmplVUlzUjBGQlRTeE5RVUZOZWtJc1EwRkJUU3hKUVVGTk1rSXNSMEZEZUVRc1RVRkJUU3hKUVVGSkxGVkJRVlZJTEVkQlFXZENlRUlzUTBGQlRTeEZRWGxDT1VNc1VVRjJRa2x6UXl4RlFVRlBVaXhIUVVGTkxGVkJRVmNzUTBGQlF5eEZRVVY2UWxNc1JVRkRRVU1zUlVGQlV5eFZRVUZaTEVOQlEzSkNMRWRCUVVrc1owSkJRV2RDUkN4RlFVRlBMRU5CUTNaQ0xFbEJRVWxGTEVWQlFWTjZReXhGUVVGUExFMUJRMmhDTEV0QlEwRTBRaXhIUVVGVFZTeEZRVUZOTEZOQlFWTXNRMEZEZUVNc1JVRkRXU3hQUVVGSkxFOUJRVTlITEVOQlFVMHNTVUZCVFVFc1JVRkRXa0VzUlVGRlNpeEpRVU5XTEVOQlEwUXNUMEZCVDNwRExFVkJRVThzVFVGRFZuRkRMRVZCUTBGVUxFZEJRVk5WTEVWQlFVMHNVMEZCVXl4RFFVTndReXhEUVVWQkxFVkJSVkZKTEVWQlFXTm9RaXhIUVVGSkxFVkJRVWN4UWl4RlFVRlBMRTlCUVZOelF5eEZRVUZMTEUxQlFVMHNSVUZEYUVSTExFVkJRVmtzUTBGQlFTeEZRVU5RZGtnc1JVRkJTU3hGUVVGSFFTeEZRVUZKYzBnc1JVRkJZWFJJTEVsQlF6ZENkVWdzUlVGQlZYWklMRU5CUVVNc1JVRkJTU3hKUVVGTlFTeEZRVXQ2UWl4SFFVWkJiVWdzUlVGQlVTeFRRVUZUTEZOQlFWVXNiMEpCUVhOQ1RpeEhRVUZOVlN4RlFVRlhMRWRCUVVjc1JVRkJTU3d5UTBGQk1rTXNSVUZCUlVnc1EwRkJUU3hGUVVWNFNIaERMRVZCUVU4c1ZVRkJWeXhEUVVOc1FpeEpRVUZKTkVNc1JVRkJVU3hWUVVGcFFpeEhRVU0zUWtFc1JVRkJUU3hWUVVGWk5VTXNSVUZCVHl4VlFVTjZRblZETEVWQlFVMHNWVUZCV1N4SlFVRkpTeXhGUVVOMFFrRXNSVUZCVFN4VlFVRlpMRWxCUTNKQ0xFTkJSVVFzVDBGQlQwd3NRMEZEV0N4RlEycEdTVWdzUjBGQmFVSXpSaXhIUVVWeVFtOUhMRWRCUVdsQ0xGTkJRVk1zVlVGQlZTeE5RVUZSVkN4SFEwWjRRMVVzUjBGQlR5eFRRVUZUTEZWQlFWVXNTMEZETVVKRExFZEJRVlVzVDBGQlR5eFZRVUZWTEdWQlF6TkNReXhIUVVGUGRrY3NSMEZIV0hkSExFZEJRV2xDUkN4SFFVRkxMRXRCUVV0R0xFZEJRVTFETEVWQlFVOHNSVU5NY0VOSExFVkJSVUZETEVkQlFWTXhSeXhIUVVOVU1rY3NSMEZCWVhaSExFZEJRMkozUnl4SFFVRmpka1lzUjBGRFpIZEdMRWRCUVd0Q2RrWXNSMEZEYkVKM1JpeEhRVUZsZGtZc1IwRkRabmRHTEVkQlFXRkRMRWRCUTJKRExFZEJRVmxETEVkQlJWcERMRWRCUVZrc1UwRkhXa01zUjBGQmQwSXNVMEZCVlVNc1JVRkJhMElzUTBGRGRrUXNSMEZCU1N4RFFVTklMRTlCUVU5R0xFZEJRVlVzZVVKQlFUSkNSU3hGUVVGdFFpeG5Ra0ZCWjBJc1JVRkJReXhEUVVOc1JpeE5RVUZoTEVOQlFVVXNRMEZEWml4RlFVVkpReXhIUVVGUkxFOUJRVThzZVVKQlEyNUNMRWRCUVVsQkxFZEJRMGdzUjBGQlNTeERRVU5JUVN4SFFVRk5MRU5CUVVFc1JVRkJTU3hGUVVGRkxFTkJRMW9zVFVGQlZ5eERRVU5ZUVN4SFFVRlJMRWxCUTFJc1EwRkhSaXhKUVVGSlF5eEhRVUZwUWl4VlFVRlpMRU5CUTJoRExFMUJRVTBzU1VGQlNWSXNSVUZEV0N4RlFVTkpVeXhIUVVGcFFrWXNSMEZEYWtJc1ZVRkJXU3hEUVVOa0xFZEJRVWtzUTBGRlNDeHBRa0ZCVlN4UFFVTklReXhGUVVOUUxFMUJRWE5DTEVOQlEzUkNMRWRCUVVrc1EwRkZTQ3hQUVVGUFJDeEhRVUZOTEZWQlFWY3NVVUZCVVN4RlFVRkZMRWRCUTJ4RExFMUJRVzlDTEVOQlEzQkNMRTlCUVU5RExFVkJRMUFzUTBGRFJDeERRVU5JTEVWQlFVa3NSVUZEUkVFc1IwRkZRelZETEVkQlFXRTRReXhIUVVGelFpeEZRVU51UXpORExFZEJRVmMwUXl4SFFVRnZRaXhGUVVVdlFrTXNSVUZCVnl4UFFVRlBMR2xDUVVOeVFqZERMRWRCUTBjc1UwRkJWVGhETEVWQlFVY3NRMEZCUlN4UFFVRlBRU3hGUVVGRkxGTkJRVmtzUlVGRGNFTXNUVUZIUVVNc1IwRkJXU3hEUVVGQkxFVkJSVnBETEVkQlFXRXNUMEZCVHl4WFFVRmxMRXRCUVdVc1EwRkJRMGdzUlVGQlYyeENMRVZCUVZsclFpeEZRVUZUTEZWQlFWVXNSVUZGTjBaSkxFZEJRV0VzUTBGRGFFSXNWVUZCVnl4TFFVTllMRzFDUVVGdlFpeFBRVUZQTEdWQlFXMUNMRWxCUVdOMFFpeEZRVUZaTEdWQlEzaEZMRlZCUVZjc1RVRkRXQ3huUWtGQmFVSXNUMEZCVHl4WlFVRm5RaXhKUVVGalFTeEZRVUZaTEZsQlEyeEZMREpDUVVFMFFqbENMRWxCUVdOblJDeEZRVUZYUVN4RlFVRlRMRU5CUVVVc1JVRkJReXhQUVVGUExGRkJRVkVzUlVGQlJ5eERRVUZCTEVWQlFVbHNRaXhGUVVOMlJpeHRRMEZCYjBOQkxFVkJRM0JETEd0Q1FVRnRRbTlDTEVkQlEyNUNMRzFDUVVGdlFrRXNSMEZEY0VJc01rSkJRVFJDUVN4SFFVTTFRaXd5UWtGQk5FSkJMRWRCUXpWQ0xGbEJRV0VzVDBGQlR5eFJRVUZaTEVsQlFXTndRaXhGUVVGWkxGRkJRekZFTEZkQlFWa3NUMEZCVHl4UFFVRlhMRWxCUVdOQkxFVkJRVmtzVDBGRGVFUXNhMEpCUVcxQ0xFOUJRVThzWTBGQmEwSXNTVUZCWTBFc1JVRkJXU3hqUVVOMFJTeHRRa0ZCYjBJc1QwRkJUeXhsUVVGdFFpeEpRVUZqUVN4RlFVRlpMR1ZCUTNoRkxGbEJRV0VzVVVGRFlpeGhRVUZqTEU5QlFVOHNVMEZCWVN4SlFVRmpRU3hGUVVGWkxGTkJRelZFTEZOQlFWVXNTMEZEVml4alFVRmxMRlZCUTJZc2RVSkJRWGRDTEcxQ1FVTjRRaXhqUVVGbExGVkJRMllzZFVKQlFYZENMRzFDUVVONFFpeFZRVUZYUXl4SFFVTllMRk5CUVZVc1MwRkRWaXhqUVVGbFF5eEhRVU5tTEdsQ1FVRnJRaXhQUVVGUExHRkJRV2xDTEVsQlFXTkdMRVZCUVZrc1lVRkRjRVVzY
1VVKQlFXdENMRTlCUVU4c1lVRkJhVUlzU1VGQlkwRXNSVUZCV1N4aFFVTndSU3g1UWtGQk1FSXNUMEZCVHl4eFFrRkJlVUlzU1VGQlkwRXNSVUZCV1N4eFFrRkRjRVlzWVVGQlkxVXNSMEZEWkN4elFrRkJkVUpWTEVkQlEzWkNMR05CUVdVc1QwRkJUeXhWUVVGakxFbEJRV053UWl4RlFVRlpMRlZCUXpsRUxHVkJRV2RDTEU5QlFVOHNWMEZCWlN4SlFVRmpRU3hGUVVGWkxGZEJRMmhGTEdWQlFXZENMRTlCUVU4c1YwRkJaU3hKUVVGalFTeEZRVUZaTEZkQlEyaEZMR0ZCUVdNc1UwRkRaQ3hWUVVGWExFMUJRMWdzYzBKQlFYVkNPVUlzU1VGQlkyZEVMRVZCUVZkQkxFVkJRVk5CTEVWQlFWTXNSMEZCUnl4UFFVRlBMRkZCUVZFc1IwRkJSeXhEUVVGRExFVkJRVWxzUWl4RlFVTTFSaXhUUVVGVkxFOUJRVThzVFVGQlV5eFRRVUZYTEV0QlFVOUJMRVZCUXpWRExGRkJRVk1zVDBGQlR5eEpRVUZSTEVsQlFXTkJMRVZCUVZrc1NVRkRiRVFzZVVKQlFUQkNMRTlCUVU4c1NVRkJVU3hMUVVGbExFTkJRVU01UWl4SlFVRmpMRU5CUVVOblJDeEZRVUZYYkVJc1JVRkJXV3RDTEVWQlFWTXNTVUZCU1N4SlFVRkhMRVZCUVVjc1QwRkJUeXhSUVVGUkxFVkJRVU1zUTBGQlJTeEZRVU53U1N4VFFVRlZMRXRCUTFZc1YwRkJXU3hQUVVOYUxGZEJRVmtzVDBGRFdpeGxRVUZuUWl4WFFVTm9RaXhoUVVGakxGTkJRMlFzV1VGQllTeFBRVUZQTEZGQlFWa3NTVUZCWTJ4Q0xFVkJRVmtzVVVGRE1VUXNWVUZCVnl4UFFVRlBMRTFCUVZVc1NVRkJZMEVzUlVGQldTeE5RVU4wUkN4bFFVRm5Ra2NzUjBGRGFFSXNiVUpCUVc5Q1F5eEhRVU53UWl4WlFVRmhMRTlCUVU4c1VVRkJXU3hKUVVGalNpeEZRVUZaTEZGQlF6RkVMRmRCUVZrc1QwRkRXaXhSUVVGVExFOUJRVThzU1VGQlVTeEpRVUZqUVN4RlFVRlpMRWxCUTJ4RUxIbENRVUV3UWl4UFFVRlBMRWxCUVZFc1MwRkJaU3hEUVVGRE9VSXNTVUZCWXl4RFFVRkRaMFFzUlVGQlYyeENMRVZCUVZsclFpeEZRVUZUTEVsQlFVa3NTVUZCUnl4RlFVRkhMRTlCUVU4c1VVRkJVU3hGUVVGRExFTkJRVVVzUlVGRGNFa3NjMEpCUVhWQ0xFOUJRVThzYTBKQlFYTkNMRWxCUVdOc1FpeEZRVUZaTEd0Q1FVTTVSU3hYUVVGWkxFOUJRMW9zTkVKQlFUWkNPVUlzU1VGQlkyZEVMRVZCUVZkQkxFVkJRVk1zUjBGQlJ5eFBRVUZQTEZGQlFWRXNSVUZCUnl4RFFVRkJMRVZCUVVsc1FpeEZRVU40Uml4WFFVRlpPVUlzUjBGQllTeFBRVUZUT0VJc1JVRkRiRU1zWjBKQlFXbENTeXhIUVVOcVFpeHRRa0ZCYjBKVkxFZEJRM0JDTEdWQlFXZENUU3hIUVVOb1FpeGpRVUZsWml4SFFVTm1MR1ZCUVdkQ0xFOUJRVThzVjBGQlpTeEpRVUZqVGl4RlFVRlpMRmRCUTJoRkxITkNRVUYxUWl4UFFVRlBMR3RDUVVGelFpeEpRVUZqUVN4RlFVRlpMR3RDUVVNNVJTeG5Ra0ZCYVVJc1QwRkJUeXhaUVVGblFpeEpRVUZqUVN4RlFVRlpMRmxCUTJ4RkxHZENRVUZwUWl4UFFVRlBMRmxCUVdkQ0xFbEJRV05CTEVWQlFWa3NXVUZEYkVVc1lVRkJZMUVzUjBGRFpDeFpRVUZoTEU5QlFVOHNVVUZCV1N4SlFVRmpVaXhGUVVGWkxGRkJRekZFTEZsQlFXRXNUMEZCVHl4UlFVRlpMRWxCUVdOQkxFVkJRVmtzVVVGRE1VUXNXVUZCWVN4UFFVRlBMRkZCUVZrc1NVRkJZMEVzUlVGQldTeFBRVU16UkN4RlFVVkJMRWRCUVVsclFpeEZRVU5JTEVkQlFVa3NRMEZEU0N4TFFVRkxMRXRCUTB3c1QwRkJVVzVLTEVWQlFVY3NRMEZGV0N4SlFVRkpkMG9zUjBGQllVd3NSVUZCVTBFc1JVRkJV
1MjVLTEVOQlFVTXNRMEZCUXl4RlFVTnlRM1ZLTEVkQlFWY3NiVUpCUVcxQ0xFVkJRVWxETEVWQlEyeERMRU5CUjBZc1NVRkJTVU1zUjBGQlV5eFRRVUZUUVN4RlFVRlBReXhGUVVGTkxFTkJRMnhETEVsQlFVa3hTU3hGUVVOS0xFZEJRVWt3U1N4SlFVRlRMR3RDUVVOYU1Va3NSVUZCVVRSSUxFZEJRWE5DTEhOQ1FVRnpRaXhWUVVNeFEyTXNTVUZCVXl4elFrRkRia0l4U1N4RlFVRlJORWdzUjBGQmMwSXNhVUpCUVdsQ0xGVkJRM0pEWXl4SlFVRlRMREpDUVVOdVFqRkpMRVZCUVZFMFNDeEhRVUZ6UWl4MVFrRkJkVUlzVlVGRE0wTmpMRWxCUVZNc2JVSkJRVzlDTEVOQlEzWkRMRWxCUVVsRExFVkJRVXRHTEVWQlFVOHNNRUpCUVRCQ0xFVkJRM1JEUlN4SlFVTklNMGtzUlVGQlVUSkpMRVZCUVVjc1ZVRkZaQ3hUUVVGWlJDeEpRVUZUTERKQ1FVRTBRaXhEUVVNdlF5eEpRVUZKUlN4RlFVRk5TQ3hGUVVGUExHdENRVUZyUWl4RlFVTXZRa2NzUjBGQlQxUXNTVUZEVm01SkxFVkJRVkZ0U1N4RlFVRlRVeXhGUVVGSkxGTkJRVk1zUlVGRkwwSXNRMEZGUkN4UFFVRkJUQ3hIUVVGWFJ5eERRVUZKTEVWQlFVa3hTU3hGUVVWYVFTeERRVU5TTEVWQlJVazJTU3hIUVVGcFFpeERRVU53UWl4VlFVRlhMRXRCUTFnc2VVSkJRVEJDTEVOQlFVTXNZMEZCWlN4WFFVRlhMRVZCUTNKRUxHMUNRVUZ2UWl4RFFVRkRMRkZCUVZNc1YwRkJWeXhGUVVONlF5eDFRa0ZCZDBJc1EwRkJReXhSUVVGVExGbEJRV0VzVTBGQlV5eEZRVU40UkN4MVFrRkJkMElzUTBGQlF5eFJRVUZUTEZsQlFXRXNVMEZCVXl4RlFVTjRSQ3h2UWtGQmNVSXNRMEZCUXl4UlFVRlRMRmxCUVdFc1RVRkJUU3hGUVVOc1JDeHpRa0ZCZFVJc1EwRkJReXhSUVVGVExGbEJRV0VzVVVGQlVTeEZRVU4wUkN3eVFrRkJORUlzUTBGQlF5eG5Ra0ZCYVVJc1YwRkJWeXhGUVVONlJDeHRRa0ZCYjBJc1EwRkJReXg1UWtGQk1FSXNWMEZCVnl4RlFVTXhSQ3cwUWtGQk5rSXNRMEZCUXl4NVFrRkJNRUlzV1VGQllTeFhRVUZYTEVWQlEyaEdMSEZDUVVGelFpeERRVUZETEZWQlFWY3NWMEZCVnl4RlFVTTNReXh6UWtGQmRVSXNRMEZCUXl4WFFVRlpMRmRCUVZjc1JVRkRMME1zYTBKQlFXMUNMRU5CUVVNc1QwRkJVU3hYUVVGWExFVkJRM1pETEcxQ1FVRnZRaXhEUVVGRExGRkJRVk1zVjBGQlZ5eEZRVU42UXl4MVFrRkJkMElzUTBGQlF5eFpRVUZoTEZkQlFWY3NSVUZEYWtRc01FSkJRVEpDTEVOQlFVTXNaVUZCWjBJc1YwRkJWeXhGUVVOMlJDd3dRa0ZCTWtJc1EwRkJReXhsUVVGblFpeFhRVUZYTEVWQlEzWkVMSE5DUVVGMVFpeERRVUZETEZkQlFWa3NWMEZCVnl4RlFVTXZReXhqUVVGbExFTkJRVU1zYjBKQlFYRkNMRmRCUVZjc1JVRkRhRVFzZFVKQlFYZENMRU5CUVVNc2IwSkJRWEZDTEZsQlFXRXNWMEZCVnl4RlFVTjBSU3gxUWtGQmQwSXNRMEZCUXl4WlFVRmhMRmRCUVZjc1JVRkRha1FzZDBKQlFYbENMRU5CUVVNc1lVRkJZeXhYUVVGWExFVkJRMjVFTEhkQ1FVRjVRaXhEUVVGRExHRkJRV01zVjBGQlZ5eEZRVU51UkN4alFVRmxMRU5CUVVNc1QwRkJVU3hQUVVGUExFVkJReTlDTEd0Q1FVRnRRaXhEUVVGRExFOUJRVkVzVjBGQlZ5eEZRVU4yUXl4cFFrRkJhMElzUTBGQlF5eE5RVUZQTEZkQlFWY3NSVUZEY2tNc2IwSkJRWEZDTEVOQlFVTXNVMEZCVlN4WFFVRlhMRVZCUXpORExHOUNRVUZ4UWl4RFFVRkRMRk5CUVZVc1YwRkJWeXhGUVVNelF5eHpRa0ZCZFVJc1EwRkJReXhUUVVGVkxGbEJRV0VzVlVGQlZTeEZRVU42UkN4eFFrRkJjMElzUTBGQlF5eFRRVUZWTEZsQlFXRXNVMEZCVXl4RlFVTjJSQ3h4UWtGQmMwSXNRMEZCUXl4VlFVRlhMRmRCUVZjc1JVRkROME1zYzBKQlFYVkNMRU5CUVVNc1ZVRkJWeXhaUVVGaExFMUJRVTBzUlVGRGRFUXNaMEpCUVdsQ0xFTkJRVU1zVlVGQlZ5eExRVUZMTEVWQlEyeERMRzFDUVVGdlFpeERRVUZETEZWQlFWY3NVVUZCVVN4RlFVTjRReXh2UWtGQmNVSXNRMEZCUXl4VlFVRlhMRk5CUVZNc1JVRkRNVU1zZDBKQlFYbENMRU5CUVVNc1lVRkJZeXhYUVVGWExFVkJRMjVFTERSQ1FVRTJRaXhEUVVGRExHbENRVUZyUWl4WFFVRlhMRVZCUXpORUxHOUNRVUZ4UWl4RFFVRkRMRk5CUVZVc1YwRkJWeXhGUVVNelF5eHBRa0ZCYTBJc1EwRkJReXhOUVVGUExGZEJRVmNzUlVGRGNrTXNLMEpCUVdkRExFTkJRVU1zYjBKQlFYRkNMRmRCUVZjc1JVRkRha1VzYjBKQlFYRkNMRU5CUVVNc1UwRkJWU3hYUVVGWExFVkJRek5ETEc5Q1FVRnhRaXhEUVVGRExGTkJRVlVzVjBGQlZ5eEZRVU16UXl4NVFrRkJNRUlzUTBGQlF5eGpRVUZsTEZkQlFWY3NSVUZEY2tRc2QwSkJRWGxDTEVOQlFVTXNZVUZCWXl4WFFVRlhMRVZCUTI1RUxIVkNRVUYzUWl4RFFVRkRMRmxCUVdFc1YwRkJWeXhGUVVOcVJDeDNRa0ZCZVVJc1EwRkJReXhoUVVGakxGZEJRVmNzUlVGRGJrUXNLMEpCUVdkRExFTkJRVU1zYjBKQlFYRkNMRmRCUVZjc1JVRkRha1VzZVVKQlFUQkNMRU5CUVVNc1kwRkJaU3hYUVVGWExFVkJRM0pFTEhsQ1FVRXdRaXhEUVVGRExHTkJRV1VzVjBGQlZ5eEZRVU55UkN4elFrRkJkVUlzUTBGQlF5eFhRVUZaTEZkQlFWY3NSVUZETDBNc2NVSkJRWE5DTEVOQlFVTXNWVUZCVnl4WFFVRlhMRVZCUXpkRExIRkNRVUZ6UWl4RFFVRkRMRlZCUVZjc1YwRkJWeXhEUVVNNVF5eEZRVVZKT1VJc1IwRkJUeXRDTEVkQlExQkRMRWRCUVZORExFZEJRMVJETEVkQlFWVnNReXhIUVVGTExFdEJRVXNzVTBGQlV5eExRVUZOTEUxQlFVMHNWVUZCVlN4TlFVRk5MRVZCUTNwRWJVTXNSMEZCWlc1RExFZEJRVXNzUzBGQlN5eFRRVUZUTEUxQlFVOHNUVUZCVFN4VlFVRlZMRTFCUVUwc1JVRkRMMFJ2UXl4SFFVRlhjRU1zUjBGQlN5eExRVUZMTEZOQlFWTXNTMEZCVFN4UFFVRlBMRlZCUVZVc1QwRkJUeXhGUVVNMVJIRkRMRWRCUVZseVF5eEhRVUZMTEV0QlFVc3NVMEZCVXl4TFFVRk5MRTlCUVU4c1ZVRkJWU3hMUVVGTExFVkJRek5FYzBNc1IwRkJVWFJETEVkQlFVc3NTMEZCU3l4VFFVRlRMRXRCUVUwc1QwRkJUeXhWUVVGVkxFbEJRVWtzUlVGSGRFUjFReXhIUVVGaExIRkhRVU5pUXl4SFFVRmxMRmRCUTJaRExFZEJRV1VzVTBGQmMwSkRMRVZCUVZFc1EwRkRhRVFzU1VGQlNVTXNSVUZCVVU0c1IwRkJWVXNzUlVGQlVTeEZRVUZITEVOQlFVTXNSVUZET1VKRkxFVkJRVTlRTEVkQlFWVkxMRVZCUVZFc1JVRkJSU3hGUVVNdlFpeEhRVUZKUXl4SlFVRlZMRXRCUVU5RExFbEJRVk1zU1VGRE4wSXNUVUZCVFN4SlFVRkpja01zUjBGQllTeG5SRUZCWjBRc1JVRkRha1VzUjBGQlNYRkRMRWxCUVZNc1MwRkJUMFFzU1VGQlZTeEpRVU53UXl4TlFVRk5MRWxCUVVsd1F5eEhRVUZoTEdkRVFVRm5SQ3hGUVVWNFJTeEpRVUZKWkN4RlFVRlRMRU5CUVVFc1JVRkRZakpETEU5QlFVRkJMRWRCUVZOTkxFVkJRVkZJTEVkQlFWa3NVMEZCVlUwc1JVRkJUME1zUlVGQlVVTXNSVUZCVDBNc1JVRkJWeXhEUVVOMlJYWkVMRVZCUVU5QkxFVkJRVThzVFVGQlRTeEZRVUZKYzBRc1JVRkJVVmdzUjBGQlUxa3NSVUZCVjFJc1IwRkJZeXhKUVVGSkxFVkJRVWxOTEVkQlFWVkVMRU5CUTNSR0xFTkJRVVVzUlVGRFRYQkVMRU5CUTFJc1JVRkhTWGRFTEVkQlFXMUNMRk5CUVRCQ2RFSXNSVUZCVFhWQ0xFVkJRV01zUTBGRGNFVXNTVUZCU1VNc1JVRkJaMEo0UWl4RlFVTm9RbmxDTEVWQlRVb3NSMEZNU1hCQ0xFZEJRVTlHTEVkQlFXZENjVUlzUTBGQllTeEpRVU4yUTBNc1JVRkJVWFJDTEVkQlFXVnhRaXhEUVVGaExFVkJRM0JEUVN4RlFVRm5RaXhKUVVGTlF5eEZRVUZOTEVOQlFVTXNSVUZCU1N4TFFVYzVRbkJDTEVkQlFVOVNMRWRCUVZreVFpeERRVUZoTEVWQlFVY3NRMEZEZEVNc1NVRkJTV3hMTEVWQlFWRjFTU3hIUVVGWE1rSXNRMEZCWVN4RlFVbHdReXhIUVVoSmJFc3NTVUZCVlhGSkxFdEJRMkp5U1N4RlFVRlJlVWtzUjBGQlQzbENMRU5CUVdFc1IwRkZla0lzVDBGQlQyeExMRVZCUVZVc1MwRkJaU3hEUVVGRGFVc3NSVUZEY0VNc1RVRkJUU3hKUVVGSk1VTXNSMEZCVnl4aFFVRmxiVUlzUlVGQlR5eHpSRUZCYzBRc1JVRkhiRWNzVFVGQlR5eERRVU5PTEUxQlFVOTVRaXhGUVVOUUxFdEJRVTFFTEVWQlEwNHNUVUZCVDJ4TExFTkJRMVlzUTBGRFJTeERRVVZFTEUxQlFVMHNTVUZCU1hOSUxFZEJRV0VzWVVGQlpXOUNMRVZCUVU4c2EwSkJRV3RDTEVOQlEyaEZMRVZCUlVFd1FpeEhRVUZwUWl4VFFVRnpRakZDTEVWQlFVMTFRaXhGUVVGakxFTkJRekZFTEVkQlFVa3NUMEZCVDNaQ0xFZEJRVk1zVlVGQldVRXNSVUZCU3l4VFFVRlhMRVZCUXk5RExFMUJRVTBzU1VGQlNXNUNMRWRCUVZjc01rTkJRVEpETEVWQlJXcEZMRWRCUVVrc1ZVRkJWU3hQUVVGVExFZEJRVXNzVDBGQlR6QkRMRWRCUVdsQ0xGVkJRMjVFTEUxQlFVMHNTVUZCU1RGRExFZEJRVmNzTWtOQlFUSkRMRVZCUjJwRkxFZEJRVWs0UWl4SFFVRk5MR05CUVdWWUxFTkJRVWtzU1VGQlRTeExRVU5zUXl4TlFVRk5MRWxCUVVsd1FpeEhRVUZoTEc5R1FVRnZSaXhGUVVVMVJ5eEpRVUZKTDBnc1JVRkJVV2xMTEVkQlFXRmtMRU5CUVVrc1JVRkRla0l5UWl4RlFVRnZRamxMTEVWQlFVMHNUMEZCVXl4RlFVRkpRU3hGUVVGTkxFTkJRVU1zUlVGQlNTeEhRVVZzUkN0TExFVkJRVmxPTEVk
1QlFXbENMRWxCUVUxTExFVkJRVzlDTEVsQlFVdEtMRU5CUVZrc1JVRkRlRVZOTEVWQlFXOUNSQ3hGUVVGVkxFdEJRemxDZEVzc1JVRkJVWE5MTEVWQlFWVXNUVUZEYkVKRkxFVkJRWEZDTEVkQlJYSkNUQ3hGUVVGUlJ5eEZRVUZWTEUxQlEyeENTQ3hKUVVOSVJTeEZRVUZ2UWtZc1JVRkJUU3hEUVVGRExFVkJRek5DYWtJc1IwRkJZVE5LTEVWQlFVOHdTaXhIUVVGUkxFTkJRVU1zUlVGQlJ5eERRVUZETEVWQlFVZHJRaXhEUVVGTExFTkJRVU1zUjBGSE0wTXNVVUZCVTJoTUxFVkJRVWtzUlVGQlIzTk1MRVZCUVZFc1IwRkJUWFJNTEVWQlFVbEpMRVZCUVUwc1QwRkJVVW9zUjBGQlN5eEZRVUZITEVOQlEzWkVMRWxCUVVsMVRDeEZRVUZQYmt3c1JVRkJUVW9zUTBGQlF5eEZRVU5rZFVzc1JVRkJVVTRzUjBGQlZYTkNMRVZCUVUwc1JVRkJSeXhEUVVGRExFVkJRelZDWml4RlFVRlBVQ3hIUVVGVmMwSXNSVUZCVFN4RlFVRkZMRVZCUXpkQ0xFbEJSVWRvUWl4SlFVRlZMRXRCUVU5QkxFbEJRVlVzUzBGQlQwRXNTVUZCVlN4TFFVTjZRME1zU1VGQlV5eExRVUZQUVN4SlFVRlRMRXRCUVU5QkxFbEJRVk1zVFVGRk0wTkVMRWxCUVZWRExFVkJSV0lzVFVGQlRTeEpRVUZKY2tNc1IwRkJZU3h6UkVGQmMwUXNSVUZUT1VVc1NVRlFTVzlFTEVsQlFWTXNaVUZCYVVJc1EwRkJRMFFzUzBGRE9VSkVMRVZCUVhGQ0xFbEJSM1JDU0N4SFFVRnhRaXhKUVVGTlN5eEZRVU16UWtnc1JVRkJiMElzU1VGQlRVWXNSVUZCYjBJc1NVRkZNVU4wUWl4SFFVRlBVaXhIUVVGWlowTXNRMEZCYVVJc1JVRkRka04yU3l4RlFVRlJkVWtzUjBGQlYyZERMRU5CUVdsQ0xGVkJRekZDZGtzc1IwRkJVeXhMUVVGTkxFTkJRM3BDTEVkQlFVa3NSVUZCUlRCTExFdEJRVkV4U3l4SFFVRlJMRU5CUTNKQ0xFZEJRVWtzUTBGQlEybExMRVZCUTBvc1RVRkJUU3hKUVVGSk1VTXNSMEZCVnl4elFrRkJkMEp0UWl4RlFVRlBMRFpEUVVFMlF5eEZRVVZzUnl4TlFVTkJMRU5CUTBRc1IwRkJTVm9zU1VGQlZUTkpMRVZCUVVrc1IwRkJUVWtzUlVGQlRTeFBRVUZSTEVOQlEzSkRMRWxCUVVsdlRDeEZRVUZQTjBNc1IwRkJUVGxJTEVWQlFVOHdTeXhEUVVGSkxFVkJRelZDUkN4RlFVRlJMRU5CUVVNc1EwRkJRMFVzUlVGVFRrWXNSMEZCVXl4UlFVRlRSU3hIUVVGUkxFVkJRVVVzYTBKQlFXMUNRU3hGUVVGTExFdEJRM1pFTTBzc1JVRkJVVEpMTEVWQlFVc3NTVUZGWWpOTExFVkJRVkZCTEVWQlFVMHdTeXhEUVVGSkxFTkJSWFpDTEUxQlEwbEVMRVZCUVZFeFFpeEhRVUZQTDBrc1JVRkJUekJMTEVOQlFVa3NSVUZETVVJeFN5eEZRVUZSUVN4RlFVRk5NRXNzUTBGQlNTeEZRVWRtUkN4SFFVRlRMRU5CUVVORUxFbEJRMkpxUXl4SFFVRlhaME1zUTBGQmFVSXNSVUZCU1haTExFVkJSV3BETEVOQlEwUXNRMEZEUkN4UFFVRlBRU3hEUVVOU0xESkVRM0JYUVN4SlFVRkpORXNzUlVGQlpYQkxMRWRCUjJaeFN5eEZRVUZyUWtRc1JVRkJZU3d3UWtGQk1rSXNSVUZCU1N4SFFVRkxMRWRCUTNaRkxFZEJRVWxETEVWQlEwZ3NSMEZCU1N4RFFVTklRU3hGUVVGblFpeERRVUZGTEVWQlFVVXNTVUZCU3l4RFFVRkZMRTFCUVU4c1EwRkJSeXhEUVVGQkxFTkJRM0pETEUxQlFWY3NRMEZGV0VFc1JVRkJhMElzUlVGRGJFSXNRMEZIUml4UFFVRkJReXhIUVVGcFFrUXNTME5pYWtJc1NVRkJTVVFzUjBGQlpYQkxMRWRCUldaelNDeEhRVUZST0VNc1IwRkJZU3h2UTBGQmNVTXNSVUZCU1N4RlFVVnNSU3hIUVVGSk9VTXNSMEZEU0N4SFFVRkpMRU5CUTBoQkxFZEJRVTBzUTBGQlFTeEZRVUZKTEZGQlFWRXNRMEZEYkVJc1RVRkJWeXhEUVVWWVFTeEhRVUZSTEVsQlExSXNRMEZIUml4SlFVRkJhVVFzUjBGQmFVSnFSQ3hIUTJKaUswTXNSMEZCYTBKeVN5eEhRVUZCTEVWQlJXeENPRWNzUjBGQlpURkhMRWRCUTJZeVJ5eEhRVUZoTVVZc1IwRkZZbXRLTEVkQlFVOXFTaXhIUVVkWWEwb3NSMEZCYVVJc1UwRkRhRUp5Unl4RlFVTkJjMGNzUlVGRFFXcE1MRVZCUTBNc1EwRkRSQ3hIUVVGSkxFTkJRVU15UlN4SFFVRlJMRTlCUVU5QkxFZEJRVkVzVlVGQldTeFBRVUZQUVN4SFFVRlJMRmRCUTNSRUxFMUJRVTBzU1VGQlNUUkRMRWRCUVZjc2QwTkJRWGRETEVWQlJUbEVMRWRCUVVrc1QwRkJUekJFTEVkQlFXRXNWVUZCV1N4UFFVRlBRU3hIUVVGaExGTkJRM1pFTEUxQlFVMHNTVUZCU1RGRUxFZEJRVmNzTUVOQlFUQkRMRVZCUldoRkxFZEJRVWtzVlVGQlZTeFBRVUZUTEVkQlFVc3NUMEZCVHl4VlFVRlZMRU5CUVVNc1IwRkJUU3hYUVVGaExGVkJRVlVzUTBGQlF5eEpRVUZOTEV0QlEycEdMRTFCUVUwc1NVRkJTVUVzUjBGQlZ5eDVSRUZCZVVRc1JVRkZMMFVzUjBGQlNTeFZRVUZWTEU5QlFWTXNSMEZCU3l4UFFVRlBMRlZCUVZVc1EwRkJReXhIUVVGTkxGZEJRV0VzVlVGQlZTeERRVUZETEVsQlFVMHNTMEZEYWtZc1RVRkJUU3hKUVVGSlFTeEhRVUZYTEhWRVFVRjFSQ3hGUVVVM1JTeEhRVUZKTEZWQlFWVXNUMEZCVXl4SFFVRkxMRTlCUVU4c1ZVRkJWU3hEUVVGRExFZEJRVTBzVjBGQllTeFZRVUZWTEVOQlFVTXNTVUZCVFN4TFFVTnFSaXhOUVVGTkxFbEJRVWxCTEVkQlFWY3NNa1JCUVRKRUxFVkJSV3BHTEVkQlFVa3NWVUZCVlN4UFFVRlRMRWRCUVVzc1QwRkJUeXhWUVVGVkxFTkJRVU1zUjBGQlRTeFZRVU51UkN4TlFVRk5MRWxCUVVsQkxFZEJRVmNzZVVOQlFYbERMRVZCUnk5RUxFbEJRVWt5UkN4RlFVRm5RaXhWUVVGVkxFOUJRVk1zUlVGQlNTeFZRVUZWTEVOQlFVTXNSVUZCU1N4TFFVTjBSRU1zUlVGQll5eFZRVUZWTEU5QlFWTXNSVUZCU1N4VlFVRlZMRU5CUVVNc1JVRkJTU3hMUVVOd1JFTXNSVUZCYTBJc1ZVRkJWU3hQUVVGVExFVkJRVWtzVlVGQlZTeERRVUZETEVWQlFVa3NTMEZEZUVSRExFVkJRVkVzVlVGQlZTeFBRVUZUTEVWQlFVa3NWVUZCVlN4RFFVRkRMRVZCUVVrc1IwRkhPVU5XTEVWQlFVOHNRMEZCUXl4RFFVRkRTU3hKUVVGUlFTeEhRVUZMY0Vjc1JVRkJTM05ITEVOQlFWRXNSVUZGZGtNc1IwRkJTVW9zUjBGRFNFRXNSMEZCWjBKc1J5eEZRVUZMYzBjc1JVRkJWU3hEUVVNNVFpeGhRVUZqUnl4SlFVRnZRaXhOUVVGUlZDeEZRVUZQUVN4RlFVRkxMR0ZCUVdVc1EwRkJRMU1zUlVGRGRFVXNWMEZCV1VZc1NVRkJhMElzVFVGQlVWQXNSVUZCVDBFc1JVRkJTeXhYUVVGaExFTkJRVU5QTEVWQlEyaEZMRTFCUVU5c1RDeEZRVU5RTEZOQlFWVnRUQ3hKUVVGblFpeE5RVUZSVWl4RlFVRlBRU3hGUVVGTExGTkJRVmNzUTBGQlExRXNRMEZETjBRc1EwRkJSeXhWUVVOVFJTeEhRVUZWTEVOQlFVTklMRWRCUVdsQ0xFTkJRVU5ETEVkQlFXVXNRMEZCUTBNc1JVRkZka1I2Unl4RlFVRkpjMGNzUTBGQlVTeEZRVUZKYWt3c1RVRkZhRUlzVDBGQlRTeEpRVUZKYzBnc1IwRkJZU3cyUjBGQk5rY3NRMEZGZEVrc1JVTnlSRWwxUkN4SFFVRnJRbkpMTEVkQlFVRXNSVUZGYkVJNFN5eEhRVUY1UWl4VlFVRnJReXhEUVVNNVJDeE5RVUZQTEVOQlFVTXNRMEZCUTFRc1JVRkRWaXhGUVVWQlV5eEhRVUYxUWl4M1FrRkJNRUlzVlVGQmJVTXNRMEZGYmtZc1IwRkJTU3hEUVVGRFZDeEhRVU5LTEU5QlFVOHNTMEZGVWl4SFFVRkpMRU5CUTBnc1QwRkJUMEVzUjBGQlowSXNRMEZCUlN4RlFVRkZMRk5CUVZVc1EwRkJSU3hOUVVGUExFTkJRVWNzUTBGQlFTeEZRVUZGTEZOQlFWY3NRMEZET1VRc1RVRkJWeXhEUVVWWUxFMUJRVThzUlVGRFVDeERRVU5HTEVWQlJVRXNTVUZCUVZVc1IwRkJhVUpFTEVkRGJrSmlWaXhIUVVGbGNFc3NSMEZEWm1kTUxFZEJRVk0xU3l4SFFVTlVOa3NzUjBGQmFVSTFTaXhIUVVGdFF5eEZRVU53UkRaS0xFZEJRVTgxU2l4SFFVVlFlVVlzUjBGQllYaEdMRWRCUTJJMFNpeEhRVUZUWml4SFFVRmhMR05CUVdNc1JVRkhlRU5uUWl4SFFVRnBRaXhUUVVFeVFtcEVMRVZCUVVreFNTeEZRVUZSTEVOQlEzWkVMRWRCUVVrc1QwRkJUekJKTEVkQlFVOHNWMEZEYWtJc1RVRkJUU3hKUVVGSmNFSXNSMEZCVnl4M1FrRkJkMElzUlVGRk9VTXNSMEZCU1N4UFFVRlBkRWdzUjBGQlZ5eFZRVUZaUVN4RlFVRlRMRWRCUVV0QkxFVkJRVk1zV1VGQll6Qk1MRWRCUVU4eFRDeERRVUZOTEVsQlFVMUJMRVZCUTNwR0xFMUJRVTBzU1VGQlNYTklMRWRCUVZjc05FTkJRVFJETEVWQlIyeEZMRWxCUVVrNFJDeEZRVUZSTEZWQlFWVXNUMEZCVXl4SFFVRkxMRU5CUVVNc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGRk4wTlJMRVZCUVN0Q0xFZEJReTlDUXl4RlFVRXlRaXhIUVVNdlFpeEhRVUZKTEZkQlFWbHVSQ3hIUVVGTkswTXNSMEZCVFN4RFFVTXpRaXhKUVVGSlppeEZRVUZQWlN4SFFVRkxMME1zUlVGQlNTeFJRVUZSTEVWQlEzaENaME1zUjBGQlVTeERRVUZEUVN4RlFVRkxMR1ZCUTJwQ2EwSXNSVUZCSzBJc1NVRkZOVUpzUWl4SFFVRlJMRU5CUVVOQkxFVkJRVXNzVjBGRGFrSnRRaXhGUVVFeVFpeEhRVVUxUWl4RFFVVkVMRTlCUVVsRUxFZEJRV2REUXl4SFFVRTBRaXhEUVVGRFZDeExRVU0xUkVrc1IwRkRTRVFzUjBGQk5rTTNReXhGUVVGTExGTkJRVlV4U1N4RlFVRlJMRWRCUVUwc1JVRkJTU3hGUVVVNVJYVk1MRWRCUVRaRE4wTXNSVUZCU3l4VFFVRlZNVWtzUTBGQlRTeEhRVWMzUkRCSkxFTkJRMUlzWlVOMl
1EwRXNTVUZCU1RWQ0xFVkJRVTkyUnl4SFFVTlFiMHNzUlVGQlpXaExMRWRCUTJablRDeEZRVUZ2UWk5S0xFZEJSWEJDTUVZc1JVRkJZWHBHTEVkQlEySnBTeXhGUVVGVGJrSXNSVUZCWVN3MFFrRkJORUlzUlVGRGJFUnZRaXhGUVVGUmNFSXNSVUZCWVN3eVFrRkJNa0lzUlVGRGFFUnhRaXhGUVVGblFuSkNMRVZCUVdFc2EwSkJRVzFDTEVWQlFVa3NSMEZCU3pkRUxFVkJRVXNzUzBGQlMybEdMRVZCUVU5RUxFTkJRVTBzUlVGRmFFWnNRaXhGUVVGclFqbEpMRXRCUTJ4Q2JVc3NSVUZCVDNSQ0xFVkJRV0VzV1VGQldTeEZRVVZ3UXk5TkxFVkJRVUVzVVVGQmFVSXNVMEZCYTBKelR5eEZRVUZyUWl4RFFVTndSQ3hIUVVGSkxFOUJRVTlCTEVkQlFYRkNMRmRCUXk5Q0xFMUJRVTBzU1VGQlNUVkZMRVZCUVZjc2QwSkJRWGRDTEVWQlJUbERMRWxCUVVrMlJTeEZRVUZQU0N4RlFVRmpiRVlzUlVGQlRXbEdMRVZCUVU4c1UwRkJVeXhGUVVNdlF5eFBRVUZQU2l4RlFVTk9VU3hGUVVOQkxFVkJRVWxHTEVWQlFVc3NSVUZCUjBNc1JVRkJhVUlzVVVGQlZTeFZRVUZWTEU5QlFWTXNSVUZCUlN4RlFVTTFSQ3hGUVVOR0xFTkJRMEVzUlVGRlFTeEpRVUZKUlN4RlFVRlpMRlZCUVhGQ0xFTkJRM0JETEU5QlFVOUtMRVZCUVdOc1JpeEZRVUZOWjBZc1JVRkJVU3hUUVVGVExFTkJRemRETEVWQlJVbHNRaXhGUVVOSVFTeEZRVUZuUW1oT0xFVkJRVThzVVVGQlV5eFJRVUZUTEVOQlFVVXNUVUZCVDNkUExFTkJRVk1zUTBGQlJTeEZRVVUzUkhoUExFVkJRVUVzVVVGQlFTeE5RVUYxUW5kUExEQkNReTlDY0VKNlFpeEhRVUZsY0Vzc1IwRkZaamhNTEVkQlFWY3hUQ3hIUVVWWU1rd3NSMEZCVjBRc1IwRkJVekZDTEVkQlFXRXNNRUpCUVRCQ0xFTkJRVU1zUlVGRmFFVTBRaXhIUVVGcFFpeFRRVUUwUWpsRUxFVkJRVTExUWl4RlFVRmpMRU5CUTJoRkxFbEJRVWxMTEVWQlFWbE5MRWRCUVdGc1F5eEZRVUZOTEVOQlFVTXNRMEZCUTNWQ0xFTkJRVmtzUlVGRGFrUXNUMEZCU1N4UFFVRlBTeXhIUVVGakxGbEJRV05wUXl4SFFVRlROMFFzUlVGQlRTeGhRVUZoTEVWQlFVa3NSMEZETDBRMFJDeEhRVUZUYUVNc1EwRkJVeXhGUVVWdVFrRXNRMEZEVWl4RlEyUmxiVU1zUjBGQlFTeERRVUZCTEhsRVEwRllReXhIUVVGVExFOUJRVThzUzBGQlVTeFpRVUZqTEVsQlFVa3NWVUZETVVORExFZEJRVzlDTEU5QlFVOHNNRUpCUVRSQ1JDeEhRVUZUTEU5QlFVOHNlVUpCUVhsQ0xFbEJRVWtzVlVGQlZ5eE5RVUZOTEVWQlFVa3NTMEZEZWtoRkxFZEJRVlZHTEVsQlFWVkRMRWxCUVhGQ0xFOUJRVTlCTEVkQlFXdENMRXRCUVZFc1YwRkJZVUVzUjBGQmEwSXNTVUZCVFN4TFFVTXZSMFVzUjBGQllVZ3NTVUZCVlN4SlFVRkpMRlZCUVZVc1VVRkRja05KTEVkQlFWTXNUMEZCVHl4TFFVRlJMRmxCUVdNc1NVRkJTU3hWUVVNeFEwTXNSMEZCYjBJc1QwRkJUeXd3UWtGQk5FSkVMRWRCUVZNc1QwRkJUeXg1UWtGQmVVSXNTVUZCU1N4VlFVRlhMRTFCUVUwc1JVRkJTU3hMUVVONlNFVXNSMEZCVlVZc1NVRkJWVU1zU1VGQmNVSXNUMEZCVDBFc1IwRkJhMElzUzBGQlVTeFhRVUZoUVN4SFFVRnJRaXhKUVVGTkxFdEJReTlIUlN4SFFVRmhTQ3hKUVVGVkxFbEJRVWtzVlVGQlZTeFJRVU55UTBrc1IwRkJZU3hQUVVGUExGTkJRVmtzV1VGQll5eFJRVUZSTEZWQlEzUkVReXhIUVVGaFJDeEhRVUZoTEZGQlFWRXNWVUZCVlN4SlFVRk5MRXRCUTJ4RVJTeEhRVUZoTEU5QlFVOHNVMEZCV1N4WlFVRmpMRkZCUVZFc1ZVRkRkRVJETEVkQlFXRkVMRWRCUVdFc1VVRkJVU3hWUVVGVkxFbEJRVTBzUzBGRGJFUkZMRWRCUVdFc1QwRkJUeXhUUVVGWkxGbEJRV01zVVVGQlVTeFZRVU4wUkVNc1IwRkJaVVFzUjBGQllTeFJRVUZSTEZWQlFWVXNUVUZCVVN4TFFVTjBSRVVzUjBGQmFVSXNVVUZCVVN4VlFVRlZMRkZCUTI1RFF5eEhRVUZwUWl4UFFVRlBMRlZCUVZVc1UwRkRiRU5ETEVkQlFXMUNMRk5CUVZNc1ZVRkJWU3hUUVVOMFEwTXNSMEZCVXl4UFFVRlBMRlZCUVZVc1RVRkRNVUpETEVkQlFWTXNUMEZCVHl4VlFVRlZMRTFCUXpGQ2VrVXNSMEZCVnl4UFFVRlBMRlZCUVZVc1VVRkROVUl3UlN4SFFVRmxMRTlCUVU4c1ZVRkJWU3haUVVOb1EwTXNSMEZCWlN4UFFVRlBMRlZCUVZVc1dVRkRhRU5ETEVkQlFWRXNUMEZCVHl4VlFVRlZMRXRCUTNwQ09VVXNSMEZCVlN4TlFVRk5MRlZCUVZVc1QwRkRNVUlyUlN4SFFVRlJMRTFCUVUwc1ZVRkJWU3hMUVVONFFrTXNSMEZCV1N4TlFVRk5MRlZCUVZVc1RVRkROVUowUXl4SFFVRlRMRXRCUVVzc1RVRkRaSFZETEVkQlFXZENMRTlCUVU4c1VVRkJWeXhYUVVGaExFOUJRVThzVlVGQlZTeFJRVUZWTEV0QlF6RkZReXhIUVVGUExFOUJRVThzYzBKQlEyUkRMRWRCUVdNc1QwRkJUeXhSUVVGWExGbEJRV01zVDBGQlR5eFBRVUZQTEZWQlFXRXNVMEZCVnl4UFFVRlBMRlZCUVZVc1UwRkJWeXhMUVVOb1NFTXNSMEZCYjBJc1QwRkJUeXhSUVVGWExGbEJRV01zVDBGQlR5eFBRVUZQTEZWQlFXRXNVMEZGTDBWRExFVkJRV01zVDBGQlR5eFJRVUZYTEZsQlFXTXNUMEZCVHl4alFVRm5RaXhQUVVGUExFOUJRVThzWTBGQlowSkVMRWxCUVN0Q0xFbEJRMmhKTEU5QlFVOHNXVUZEVUN4TFFVTkdSU3hIUVVGbExFOUJRVThzVlVGQlZTeHhRa0ZGYUVORExFbEJRVThzVDBGQlR5eFRRVUZaTEZkQlFXRXNVVUZCVVN4bFFVRnBRaXhQUVVGUExHdENRVU4yUlN4SFFVRkhMRmxCUVdNc1RVRkJUU3hWUVVOcVFpeFRRVUZWUXl4RlFVRkhMRU5CUTFnc1QwRkJUMEVzUlVGQlJTeFRRVU5hTEVWQlEwTXNUVUZIVml4VFFVRlRReXhIUVVGdlFrTXNSVUZCUzNwSkxFVkJRVXNzUTBGRGJrTXNSMEZEU1hsSkxFbEJRVkVzUzBGRFRFRXNTVUZCVVN4TlFVTlNRU3hKUVVGUlFTeEhRVU5RUVN4SFFVRlBRU3hGUVVGTkxFMUJRVk5CTEVWQlFVMHNTMEZETjBKYUxFZEJRVTBzUzBGQlN5eEpRVUZMTjBnc1EwRkJSeXhGUVVWMFFpeFBRVUZQUVN4RlFVVllMRWxCUVVrd1NTeEZRVUZYTEcxRFFVTm1MRWRCUVVrc1QwRkJUMFFzUjBGQlVTeFRRVUZWTEVOQlEzcENMRWxCUVVsRkxFVkJRVTFHTEVWQlFVMHNSVUZCU1N4RFFVRkRhRVFzUjBGQlR5eERRVUZEWjBRc1EwRkJSeXhGUVVGSmFFUXNSMEZCVDJkRUxFTkJRVWNzUlVGRE9VTXNSMEZCU1VVc1NVRkJVVVlzUlVGQlN5eERRVU5pTEVsQlFVbEhMRVZCUVZNc1QwRkJUMFFzUTBGQlJ5eEZRVU51UWtVc1JVRkJUVzVDTEVkQlFVOHNTMEZCU3pGSUxFVkJRVXMwU1N4RlFVRlBMRTlCUVZNc1EwRkJReXhGUVVNMVF5eFBRVUZQTTBZc1IwRkJVeXh
1MUVVGTE1rWXNSVUZCVVVZc1JVRkJWU3hMUVVGTExFVkJRVWtzU1VGQlRYcEdMRWRCUVZNc1MwRkJTMEVzUjBGQlV5eExRVUZMTkVZc1JVRkJTeXhqUVVGbExFdEJRVXNzUlVGQlJ5eExRVUZOTEVWQlFVVXNRMEZEZWtnc1EwRkRTaXhEUVVORUxFOUJRVTgxUml4SFFVRlRMRXRCUVV0cVJDeEZRVUZMTUVrc1JVRkJWU3hMUVVGTExFTkJRemRETEVOQlJVRXNTVUZCU1Vrc1IwRkJZM2hQTEVkQlEyUjVUeXhIUVVGblFrUXNSMEZCV1N4UFFVTTFRa1VzUjBGQlowSkRMRWRCUVZOR0xFVkJRV0VzUlVGQlNVRXNSMEZCWjBJc1MwRkZPVVJITEVkQlFXbENMRk5CUVZORExFVkJRVk14U3l4RlFVRkxNa3NzUlVGQlUwTXNSVUZCVDBNc1JVRkJUU3hEUVVNeFJDeEpRVUZKUXl4RlFVRlBTQ3hIUVVGWExFZEJSWFJDTEVkQlFVbEpMRWRCUVVsRUxFVkJRVTBzV1VGQldTeEhRVUZOUVN4RlFVRkxMR0ZCUVdVc1ZVRkJXVUVzUlVGQlN5eGhRVUZsTEZOQlEyaEdMRTFCUVUwc1NVRkJTU3hWUVVGVkxHdEVRVUZyUkN4RlFVVXhSU3hIUVVOSlF5eEhRVUZKUkN4RlFVRk5MR2xDUVVGcFFpeEpRVUZOTEU5QlFVOUJMRVZCUVVzc2FVSkJRVzlDTEZOQlF6TkVRU3hGUVVGTExHZENRVUZyUWl4SFFVRkxRU3hGUVVGTExHdENRVUZ2UWl4SlFVTnlSRUVzUlVGQlN5eHJRa0ZCYjBJc1RVRkhMMElzVFVGQlRTeEpRVUZKTEZWQlFWVXNkMFpCUVhkR0xFVkJSV2hJTEVsQlFVbEZMRVZCUVdkQ1JDeEhRVUZKUkN4RlFVRk5MR1ZCUVdVc1JVRkJTVUVzUlVGQlN5eGpRVUZuUWl4SFFVTjBSU3hIUVVGSkxFOUJRVTlGTEVkQlFXdENMRmRCUVdGQkxFbEJRV3RDTEZOQlEzaEVMRTFCUVUwc1NVRkJTU3hWUVVGVkxDdEZRVUVyUlN4RlFVZDJSeXhIUVVOSlJDeEhRVUZKUkN4RlFVRk5MRkZCUVZFc1IwRkRaa0VzUlVGQlN5eFRRVUZYTEUxQlEyaENRU3hGUVVGTExGTkJRVmNzUzBGRGFFSXNSVUZCUlN4VFFVRlRRU3hGUVVGTExFOUJRVkVzUlVGQlJTeEpRVUZOUVN4RlFVRkxMRkZCUVZWQkxFVkJRVXNzVDBGQlV5eEhRVVZvUlN4TlFVRk5MRWxCUVVrc1ZVRkJWU3d3UkVGQk1FUXNSVUZGYkVZc1IwRkJTVU1zUjBGQlNVUXNSVUZCVFN4clFrRkJhMElzUjBGQlN5eFBRVUZQUVN4RlFVRkxMR3RDUVVGeFFpeFZRVU5zUlN4TlFVRk5MRWxCUVVrc1ZVRkJWU3h0UlVGQmJVVXNSVUZGTTBZc1NVRkJTVWNzUlVGQmJVSklMRVZCUVVzc2FVSkJSVFZDTEVkQlFVa3NUMEZCVHpsTExFVkJRVkVzU1VGRFppeE5RVUZQTEZsQlJWZ3NSMEZCU1VFc1NVRkJVU3hMUVVOU0xFMUJRVThzVDBGRldDeEhRVUZKTEU5QlFVOUJMRWRCUVZFc1ZVRkRaaXhQUVVGUFFTeEZRVUZOTEU5QlFWTXNVVUZITVVJc1IwRkJTU3hQUVVGUFFTeEhRVUZSTEZOQlEyWXNUMEZCVDJ0TUxFZEJRV05zVEN4RlFVRkxPRXNzUTBGQlNTeEZRVVZzUXl4SFFVRkpMRTlCUVU4NVN5eEhRVUZSTEZOQlFWVXNRMEZEZWtJc1IwRkJTVUVzU1VGQlVTeEZRVU5TTEUxQlFVOHNTMEZCVjBFc1JVRkJUU3hGUVVGSkxFbEJRVTBzUzBGRmRFTXNTVUZCU1hWQ0xFVkJRVTBzVDBGQlQzWkNMRU5CUVVjc1JVRkRjRUlzVDBGQlQybE1MRVZCUVcxQ2JFSXNSMEZCYjBJdlNpeEZRVUZMZFVJc1EwRkJSeXhGUVVGSlFTeERRVU0zUkN4RFFVTkVMRWRCUVVrc1QwRkJUM1pDTEVkQlFWRXNVMEZCVlN4RFFVTjZRaXhKUVVGSmJVd3NSVUZCV1N4UFFVRlBia3dzUTBGQlJ5eEZRVUZKTEVsQlF6bENMRTlCUVU5cFRDeEZRVUZ0UW14Q0xFZEJRVzlDTDBvc1JVRkJTMjFNTEVOQlFWTXNSVUZCU1VFc1EwRkRia1VzUTBGRlJDeEpRVUZKUXl4RlFVRlhMRTlCUVU5T0xFVkJRVXNzVFVGQlZTeEpRVUZqTEVWQlFVbEJMRVZCUVVzc1RVRkZOVVFzUjBGRVNTeFBRVUZQUml4RlFVRlZMRTFCUVdWQkxFVkJRVkVzUjBGRGVFTkJMRWRCUVZOUkxFZEJRVmxCTEVWQlFWY3NSMEZCU3l4UFFVRlBjRXdzUjBGQlVTeFRRVU53UkN4UFFVRlBOVVVzUjBGQlVUUkZMRU5CUVVjc1JVRkJTU3hWUVVGWkxGZEJSM1JETEVsQlFVbHhUQ3hGUVVGVFF5eEhRVUZWVWl4RlFVRk5SaXhEUVVGTExFVkJSV3hETEVkQlFVa3NUMEZCVDBNc1JVRkJVeXhKUVVOb1FrRXNSVUZCVHl4RFFVRkJMRlZCUTBGVkxFZEJRVkZXTEVWQlFVMDNTeXhEUVVGSExFZEJRVXNzUlVGRE4wSXNUVUZCVHl4aFFVZFlMRk5CUVZOM1RDeEZRVUZSYmxFc1JVRkJUMjlSTEVWQlFVMURMRWRCUVZVc1EwRkxjRU1zUjBGS1NVUXNTVUZEUVZvc1JVRkJUM1pDTEVkQlFWVXNTMEZCUzNWQ0xFTkJRVWtzUlVGRE1VSkJMRVZCUVVzc1MwRkJTMWtzUTBGQlNTeEhRVVZrUXl4SFFVRlZMRU5CUTFZc1NVRkJTVU1zUjBGQlZTeERRVU5XTEUxQlFVOWlMRVZCUVVzc1MwRkROVUlzUlVGRFdTeFBRVUZKUXl4SFFVRkpSQ3hGUVVGTkxGbEJRVmtzU1VGRGRFSmhMRWRCUVZFc1YwRkJZV0lzUlVGQlN5eFpRVVYyUWtvc1JVRkJVM0pRTEVWQlFVOXpVU3hIUVVGVFppeEZRVUZSTEVWQlFVZERMRU5CUVVrc1EwRkRiRVFzUTBGRFJDeFBRVUZQU0N4RlFVRlRjbEFzUlVGQlQzbFFMRVZCUVUxR0xFVkJRVkVzUlVGQlIwTXNRMEZCU1N4RFFVTXZReXhEUVVWRUxFZEJRVWtzVDBGQlR6ZExMRWRCUVZFc1dVRkJZeXhEUVVGRE5Fd3NSMEZCVXpWTUxFTkJRVWNzUlVGQlJ5eERRVU0zUXl4SlFVRkpLMFFzUlVGQlR6aElMRWRCUVU4M1RDeERRVUZITEVWQlEycENPRXdzUlVGQlQwTXNSMEZCVnk5TUxFVkJRVXQzVEN4RFFVRlBMRVZCUTJ4RExFMUJRVThzWVVGQlpYcElMRVZCUVU4c1MwRkJUMEVzUlVGQlR5eG5Ra0ZCYTBJc1MwRkJUeXRJTEVWQlFVc3NUMEZCVXl4RlFVRkpMRTFCUVZGNlF5eEhRVUZOTEV0QlFVdDVReXhGUVVGTkxFbEJRVWtzUlVGQlNTeExRVUZQTEVkQlEycEpMRU5CUTBRc1IwRkJTWFJDTEVkQlFWTjRTeXhEUVVGSExFVkJRVWNzUTBGRFppeEpRVUZKWjAwc1JVRkJXWFJETEVkQlFXOUNiRVlzUjBGQlV5eExRVUZMTEU5QlFVOTRSU3hEUVVGSExFVkJRVWNzZVVKQlFUQkNMRWxCUVVrc1JVRkJTWGxLTEVkQlFWa3NTMEZCUzNwS0xFTkJRVWNzUlVGRGNrZ3NUMEZCVHl4UFFVRlBRU3hIUVVGUkxGVkJRVmtzUTBGQlF6QktMRWRCUVc5Q2RVTXNSMEZCVlVRc1EwRkJVeXhGUVVGSlFTeERRVU5xUml4RFFVTkVMRWRCUVVsRkxFZEJRVlZzVFN4RFFVRkhMRVZCUVVjc1EwRkhhRUlzVVVGR1NXMU5MRVZCUVVrc1NVRkJUV2hFTEVkQlFXRXNTMEZCU3l4UFFVRlBia29zUlVGQlNTeFJRVUZSTEVOQlFVTXNSVUZEYUVSdlRTeEZRVUZSY0Uwc1JVRkJTU3haUVVGakxFZEJRM0pDZUVZc1JVRkJTU3hGUVVGSFFTeEZRVUZKTkZJc1JVRkJUU3hQUVVGUk5WSXNTVUZET1VJeVVpeEhRVUZMTEVsQlFVMURMRVZCUVUwMVVpeERRVUZETEVWQlFVVXNTMEZCVHl4SlFVRk5ObElzUjBGQlYyeElMRWRCUVUxcFNDeEZRVUZOTlZJc1EwRkJReXhGUVVGRkxFdEJRVXNzUlVGQlJ5eFRRVUZWYzFFc1EwRkJTU3hGUVVWeVJpeFBRVUZCY1VJc1IwRkJTeXhKUVVORWJrM
1HNSVUZCU1N4WlFVRmpRU3hGUVVGSkxGZEJRVmNzVTBGQlZXMU5MRWRCUVVzc1QwRkRjRVJCTEVkQlFVc3NTMEZCVDJoRUxFZEJRV0VzUzBGQlN5eFBRVUZQYmtvc1JVRkJTU3hSUVVGUkxFTkJRVU1zUlVGQlNTeEpRVU12UTIxTkxFTkJRMVlzUTBGRFJDeEhRVUZKTDFFc1IwRkJVVFJGTEVOQlFVY3NSVUZCUnl4RFFVTmtMRWRCUVVsQkxFVkJRVWtzVTBGQlZ5eEZRVUZMTEUxQlFVOHNTMEZETDBJc1NVRkJTWE5OTEVWQlFVdFFMRWRCUVZjdlRDeEZRVUZMZDB3c1EwRkJUeXhGUVVOb1F5eFBRVUZKU0N4SFFVRlZMRU5CUVVOclFpeEhRVUZwUWtRc1EwRkJSU3hGUVVOMlFpeEpRVUZOUlN4SFFVRmhSaXhGUVVGSmFrSXNRMEZCVFN4RlFVRkpMRWxCUlhKRExFdEJRVTlvUXl4SFFVRk5MRXRCUVV0cFJDeEZRVUZKTEVsQlFVa3NSVUZCU1N4SlFVTjRReXhEUVVORUxFZEJRVWxITEVkQlFWRjZUU3hEUVVGSExFVkJRVWNzUTBGRFpDeEpRVUZKY0VZc1JVRkJVVzFTTEVkQlFWY3ZUQ3hGUVVGTGQwd3NRMEZCVHl4RlFVTnVReXhOUVVGSkxFVkJRVVVzVlVGQlZ5eE5RVUZOTEZsQlFXTXNWVUZCVjNoTUxFZEJRVThzUTBGQlF6UktMRWRCUVdFc1MwRkJTelZLTEVWQlFVc3NUMEZCVHl4RlFVTXpSU3hOUVVGUkxFOUJRVTlCTEVOQlFVY3NSVUZCU1N4TFFVRlBjVW9zUjBGQlRTeExRVUZMTDBVc1IwRkJVU3hMUVVGTExGbEJRV05yU0N4RlFVRlJlRXdzUlVGQlNTeExRVUZMTEVWQlFVZHdSaXhEUVVGTExFVkJRVWNzU1VGQlNTeEZRVUZKTEV0QlJUbEhRU3hGUVVGTkxGTkJRVmNzUlVGQldTeEpRVUZOTEU5QlFVOXZSaXhEUVVGSExFVkJRVWtzU1VGRE9VTXNUVUZCVVN4UFFVRlBRU3hEUVVGSExFVkJRVWtzUzBGQlQzRktMRWRCUVUwc1MwRkJTM3BQTEVWQlFVOHNTVUZCU1N4RlFVRkpMRWxCUTJwRkxFTkJRMFFzUjBGQlNTeFBRVUZQYjBZc1IwRkJVU3hWUVVGWlowd3NSVUZCWlN4RFFVTXhReXhIUVVGSlZDeEpRVUZwUWl4UFFVRlBka3NzUlVGQlNYVkxMRVZCUVdFc1IwRkJUU3haUVVGalJpeEhRVU0zUkN4UFFVRlBRU3hIUVVGWmNrc3NSVUZCU3l4RFFVRkZMRTFCUVU5dlRDeEZRVUZYVWl4RFFVRkxMRU5CUVVVc1JVRkRhRVFzUjBGQlNVa3NTVUZCYTBJc1ZVRkJXU3hQUVVGUGFFd3NSVUZCU1N4VFFVRlpMRmRCUXpWRUxFOUJRVTlCTEVWQlFVa3NVMEZGYkVJc1EwRkRSQ3hIUVVGSmRrUXNSMEZCVFhWRUxFTkJRVWNzUlVGQlJ5eERRVU5hTEVsQlFVa3dUU3hGUVVGWExFTkJRVUVzUlVGRFppeFBRVUZKZUVVc1NVRkRRVUVzUjBGQlZ5eExRVUZMYkVrc1JVRkJTeXhUUVVGVk0wVXNSVUZCVDJ0RkxFVkJRVXNzUTBGRGRrTnRUaXhGUVVGVExFdEJRVXRzUWl4RlFVRlJhazBzUlVGQlMxTXNSVUZCU3l4RlFVRkpMRVZCUVVrc1QwRkJVM2RNTEVWQlFWRnVVU3hGUVVGUE1rVXNRMEZCUnl4RFFVRkRMRU5CUTNCR0xFTkJRV0VzUlVGRlJUSk5MRWRCUVdFc1RVRkJUekZGTEVkQlFWRXNTMEZCUzJwSkxFTkJRVWNzUlVGQlJ6Qk5MRVZCUVZWeVFpeERRVUZOTEVOQlEycEZMRU5CUTBRc1IwRkJTWHBQTEVkQlFVMXZSQ3hEUVVGSExFVkJRVWNzUTBGRFdpeEpRVUZKTkUwc1JVRkJWeXhEUVVGQkxFVkJRMllzVDBGQlNYUkZMRWxCUTBGQkxFZEJRVmNzUzBGQlMzUkpMRVZCUVVzc1UwRkJWVE5GTEVWQlFVOHNRMEZEYkVOMVVpeEZRVUZUTEV0QlFVdHdRaXhGUVVGUmJsRXNSVUZCVHpKRkxFTkJRVWNzUTBGQlF5eERRVU5xUkN4RFFVRmhMRVZCUlVVeVRTeEhRVUZoTEUxQlFVOTBSU3hIUVVGUkxFdEJRVXR5U1N4RFFVRkhMRVZCUVVjMFRTeEZRVUZWZGtJc1EwRkJUU3hEUVVOcVJTeERRVU5FTEVkQlFVbDNRaXhIUVVGVk4wMHNRMEZCUnl4RlFVTmlMRTlCUVU4NFRTeEhRVUZwUWl4VFFVRlRMRVZCUlhKRExFZEJRVWxETEVkQlFWVXZUU3hEUVVGSExFVkJRMklzVDBGQlR6aE5MRWRCUVdsQ0xGTkJRVk1zUlVGRmNrTXNSMEZCU1VVc1IwRkJWV2hPTEVOQlFVY3NSVUZEWWl4UFFVRlBPRTBzUjBGQmFVSXNVMEZCVXl4RlFVVnlReXhIUVVGSmFGSXNSMEZCVTJ0RkxFTkJRVWNzUlVGRFdpeFBRVUZQYVUwc1IwRkJWVlFzUlVGQlVTeFBRVUZQZUV3c1EwRkJSeXhEUVVGRExFTkJRVU1zUlVGRmVrTXNSMEZCU1dsT0xFZEJRVk5xVGl4RFFVRkhMRVZCUTFvc1QwRkJUMmxOTEVkQlFWVlVMRVZCUVZGcVF5eEhRVUZqTEV0QlFVdDJTaXhEUVVGSExFTkJRVU1zUTBGQlF5eEZRVVZ5UkN4SFFVRkphMDRzUjBGQlZXeE9MRU5CUVVjc1JVRkRZaXhQUVVGUGFVMHNSMEZCVlhCRUxFZEJRV1VzUzBGQlN6ZEpMRU5CUVVjc1EwRkJReXhGUVVVM1F5eEhRVUZKYWtRc1IwRkJVMmxFTEVOQlFVY3NSVUZEV2l4UFFVRlBhVTBzUjBGQlZWUXNSVUZCVVN4UFFVRlBlRXdzUTBGQlJ5eERRVUZETEVOQlFVTXNSVUZKZWtNc1IwRkJTU3hQUVVGUExFOUJRVmNzUzBGQlpVRXNTVUZCVVN4UFFVTjZReXhOUVVGUExITkNRVVZZTEVkQlFVbEJMRWxCUVZGdFRpeEZRVU5TTEUxQlFVOHNNRUpCUlZnc1IwRkJTU3hEUVVGRFF5eEhRVUZQY0U0c1EwRkJSeXhIUVVGTE
1xFTkJRVU0wVEN4SFFVRlROVXdzUTBGQlJ5eEZRVUZITEVOQlEyaERMRWxCUVVseFRpeEZRVUZMZEVJc1IwRkJWeTlNTEVWQlFVdDNUQ3hEUVVGUExFVkJRelZDT0VJc1JVRkJaMEo2UkN4SFFVRk5RU3hIUVVGSk4wb3NRMEZCUnl4SlFVRk5MRTlCUVU4c1ZVRkJXVUVzWVVGQlpTeFJRVUZWUVN4RlFVRkpMR05CUVdkQ0xFOUJRMjVIZFU0c1JVRkJWM1pPTEdGQlFXVXNUMEZCVXl4SFFVRkxMR2xDUVVONFEzZE9MRWRCUVZrc1EwRkJRMFlzUjBGQmFVSXpSQ3hIUVVGbExFOUJRVTh6U2l4RFFVRkhMRWxCUVUxQkxFZEJRVTh5U2l4TFFVRmxNMG9zUlVGQlRXbEtMRWRCUVU4c1MwRkJTM0JKTEVkQlFVMWlMRU5CUVVjc1JVRkJSeXhGUVVGSExFVkJRVVVzUlVGQlNYVk9MRVZCUVZjc1UwRkJWeXhIUVVOb1NrVXNSMEZCYVVKSUxFZEJRV2xDTEU5QlFVOTBUaXhGUVVGSkxHRkJRV2RDTEZkQlFXRXNSMEZCUzBFc1JVRkJTU3haUVVGWkxFdEJRVTlCTEVWQlFVa3NXVUZCV1N4TFFVRlBMRWxCUVUwc1IwRkRia2t3VGl4SFFVRk5SQ3hKUVVGclFrUXNTVUZCWVVRc1JVRkJWeXhKUVVGTmJFVXNSMEZCVFN4TFFVRkxMMFVzUjBGQlVTeExRVUZMTEVOQlFVRXNSVUZCU1d0S0xFbEJRV0VzUTBGQlJTeEZRVUZGUkN4SFFVRlpMRU5CUVVFc1EwRkJSU3hGUVVGSExFbEJRVWtzUlVGQlNTeExRVUZQTEVsQlEzWkpMRTlCUVVsR0xFVkJRVWNzVTBGQlZ5eEZRVUZaU3l4SFFVRk5MRXRCUTJoRGNrTXNSVUZEVDNGRExFZEJRVTBzU1VGQlRXeENMRWRCUVdGaExFVkJRVWxvUXl4RFFVRk5MRVZCUVVrc1NVRkZNME54UXl4SFFVRk5MRXRCUVU5eVJTeEhRVUZOTEV0QlFVdG5SU3hGUVVGSkxFbEJRVWtzUlVGQlNTeEpRVU01UXl4RFFVTkVMRTlCUVU4c1QwRkJUM0pPTEVOQlFVY3NRMEZEY2tJc1JVRkZRU3hUUVVGVGNVMHNSMEZCVjBZc1JVRkJSM2RDTEVWQlFXTTNReXhGUVVGTkxFTkJRM1pETEVsQlFVazRReXhIUVVGaE9VTXNSVUZCU3l4WlFVRmpOa01zUzBGQmEwSXNVMEZCVnl4SlFVRk5MRWxCUTNaRkxFOUJRVTlETEVWQlFWbDZRaXhGUVVGSmVVSXNRMEZETTBJc1EwRkZRU3hUUVVGVGVra3NSMEZCVFdkSUxFVkJRVWNzUTBGRFpDeFBRVUZQTTBnc1IwRkJVeXh
1MUVVGTExFOUJRVTh5U0N4RFFVRkRMRVZCUVVjc1MwRkJUU3hSUVVGUkxFTkJRMnhFTEVOQlJVRXNVMEZCVXk5UkxFZEJRVkUwUlN4RlFVRkxMRU5CUVVVc1QwRkJUMkVzUjBGQlRXSXNRMEZCUnl4SlFVRk5MRzFDUVVGeFFpeERRVUZETWtvc1IwRkJaU3hGUVVGRkxFOUJRVTh6U2l4SFFVRlJMRlZCUVZreVNpeExRVUZsTTBvc1IwRkJVU3hEUVVOMlNTeFRRVUZUYjA0c1IwRkJUM0JPTEVWQlFVc3NRMEZCUlN4UFFVRlBZU3hIUVVGTllpeERRVUZITEVsQlFVMHNhMEpCUVc5Q0xFTkJRVU15U2l4SFFVRmxMRVZCUVVVc1QwRkJUek5LTEVkQlFWRXNWVUZCV1RKS0xFdEJRV1V6U2l4SFFVRlJMRU5CUTNKSkxGTkJRVk0wVEN4SFFVRlROVXdzUlVGQlN5eERRVUZGTEU5QlFVOWhMRWRCUVUxaUxFTkJRVWNzU1VGQlRTeHZRa0ZCYzBJc1EwRkJRekpLTEVkQlFXVXNSVUZCUlN4UFFVRlBNMG9zUjBGQlVTeFZRVUZaTWtvc1MwRkJaVE5LTEVkQlFWRXNRMEZEZWtrc1UwRkJVM2xOTEVkQlFWRjZUU3hGUVVGTExFTkJRVVVzVDBGQlQyRXNSMEZCVFdJc1EwRkJSeXhKUVVGTkxHMUNRVUZ4UWl4RFFVRkRNa29zUjBGQlpTeEZRVUZGTEU5QlFVOHpTaXhIUVVGUkxGVkJRVmt5U2l4TFFVRmxNMG9zUjBGQlVTeERRVU4yU1N4VFFVRlRha1FzUjBGQlUybEVMRVZCUVVzc1EwRkJSU3hQUVVGUFlTeEhRVUZOWWl4RFFVRkhMRWxCUVUwc2IwSkJRWE5DTEVOQlFVTXlTaXhIUVVGbExFVkJRVVVzVDBGQlR6TktMRWRCUVZFc1ZVRkJXVEpLTEV0QlFXVXpTaXhIUVVGUkxFTkJRM3BKTEZOQlFWTnNSU3hIUVVGVGEwVXNSVUZCU3l4RFFVRkZMRTlCUVU5aExFZEJRVTFpTEVOQlFVY3NTVUZCVFN4dlFrRkJjMElzUTBGQlF6SktMRWRCUVdVc1JVRkJSU3hQUVVGUE0wb3NSMEZCVVN4VlFVRlpNa29zUzBGQlpUTktMRWRCUVZFc1EwRkRla2tzVTBGQlUydE9MRWRCUVZWc1RpeEZRVUZMTEVOQlFVVXNUMEZCVDJFc1IwRkJUV0lzUTBGQlJ5eEpRVUZOTEhGQ1FVRjFRaXhEUVVGRE1rb3NSMEZCWlN4RlFVRkZMRTlCUVU4elNpeEhRVUZSTEZWQlFWa3lTaXhMUVVGbE0wb3NSMEZCVVN4RFFVY3pTU3hUUVVGVGQwc3NSMEZCVTNoTExFVkJRVXNzUTBGRGJrSXNSMEZCU1RCS0xFZEJRMEVzVDBGQlR6RktMRWRCUVU4c1QwRkJUMEVzUjBGQlVTeFZRVUZaUVN4aFFVRmxMRTlCUlRWRUxFZEJRVWtzVDBGQlQwRXNSMEZCVVN4VFFVTm1MRTFCUVU4c1IwRkZXQ3hIUVVGSkxFTkJRVU5CTEVkQlFVOHNUMEZCVDBFc1IwRkJVU3hWUVVGWkxFTkJRVU41U2l4SFFVTndReXhOUVVGUExFZEJSVmdzUjBGQlNTeERRVU5CTEU5QlFVRkJMRWRCUVZrc1MwRkJTM3BLTEVOQlFVY3NSVUZEWWl4RlFVTm1MRTFCUVdkQ0xFTkJRVVVzUTBGRFpDeE5RVUZQTEVWQlExZ3NRMEZGUVN4VFFVRlRhVTRzUjBGQlUycE9MRVZCUVVzc1EwRkRia0lzUjBGQlNTeERRVUZEUVN4SFFVRlBMRTlCUVU5QkxFZEJRVkVzVlVGQldTeERRVUZEZFVvc1IwRkRjRU1zVFVGQlR5eEhRVVZZTEVkQlFVa3NRMEZEUVN4UFFVRkJRU3hIUVVGakxFdEJRVXQyU2l4RFFVRkhMRVZCUTJZc1JVRkRaaXhOUVVGblFpeERRVUZGTEVOQlEyUXNUVUZCVHl4RlFVTllMRU5CUlVFc1NVRkJTVzlGTEVkQlFWTXNUMEZCVHl4VlFVRlZMR2RDUVVGclFpeFRRVUZWTjBVc1JVRkJTeXhEUVVGRkxFOUJRVTlCTEV0QlFVOHNUVUZETDBVc1UwRkJVM2RNTEVkQlFVa3ZTeXhGUVVGTFZDeEZRVUZMTEVOQlEyNUNMRTlCUVU4MlJTeEhRVUZQTEV0QlFVdHdSU3hGUVVGTFZDeERRVUZITEVOQlF5OUNMRU5CUlVFc1UwRkJVM05DTEVkQlFVMWlMRVZCUVVzc1EwRkRhRUlzVDBGQlR6aEpMRWRCUVdVc1MwRkJTemxKTEVOQlFVY3NRMEZEYkVNc1EwRkZRU3hUUVVGVE5rd3NSMEZCVHpOUkxFVkJRVWNzUTBGRFppeEhRVUZKUVN4RlFVRkZMRXRCUVZFc1QwRkJUMEVzUlVGQlJTeExRVU4yUWl4SlFVRkpNbE1zUlVGQlNUZEZMRWRCUVU4c1MwRkJTMFFzUjBGQmFVSXNTMEZCU3pkT0xFTkJRVU1zUlVGQlJ5eHpRa0ZCYzBJc1JVRkRjRVVzVDBGQlNUSlRMRVZCUVZsQkxFVkJRVVVzUTBGQlF5eEZRVU5hTEVsQlExZ3NRMEZGUVN4VFFVRlRkRU1zUjBGQlVXVXNSVUZCU1RkSkxFVkJRVWNzUTBGRGNFSXNSMEZCU1RaSkxFVkJRVWNzVVVGQlZ5eFBRVUZQUVN4RlFVRkhMRkZCUVZFM1NTeERRVUZETEVWQlEzSkRMRkZCUVZNc1JVRkJTU3hGUVVGSGNVc3NSVUZCU1hoQ0xFVkJRVWNzVDBGQlVTeEZRVUZKZDBJc1JVRkJSeXhKUVVOc1F5eEhRVUZKZUVJc1JVRkJSeXhEUVVGRExFbEJRVTAzU1N4RlFVRkxMRTlCUVU4c1JVRkZPVUlzVFVGQlR5eEZRVU5ZTEVOQlJVRXNVMEZCVTJoSUxFZEJRVTFuU0N4RlFVRkhMRU5CUTJRc1IwRkJTU3hEUVVGRGQwVXNTVUZCVnl4RFFVRkRlRVVzUjBGQlN5eFBRVUZQUVN4SFFVRk5MRk5CUXk5Q0xFMUJRVThzUjBGRldDeEhRVUZKTEVOQlEwRjNSU3hIUVVGUkxFdEJRVXQ0UlN4RFFVRkRMRVZCUTJRc1IwRkJTU3hEUVVOQk5FVXNSMEZCVVN4TFFVRkxOVVVzUTBGQlF5eERRVU5xUWl4TlFVRlhMRU5CUTFJc1RVRkJUeXhGUVVOV0xFTkJRMFFzVDBGQlQwRXNZVUZCWVN4SFFVTTFRaXhOUVVGblFpeERRVUZGTEVOQlEyUXNUVUZCVHl4RlFVTllMRU5CUlVFc1UwRkJVMjlLTEVkQlFWVndTaXhGUVVGSExFTkJRMnhDTEVkQlFVa3NRMEZCUXl0RkxFbEJRV01zUTBGQlF5OUZMRWRCUVVzc1QwRkJUMEVzUjBGQlRTeFRRVU5zUXl4TlFVRlBMRWRCUlZnc1IwRkJTU3hEUVVOQkswVXNSMEZCVnl4TFFVRkxMMFVzUlVGQlJ5dEZMRVZCUVZVc1JVRkROMElzUjBGQlNTeERRVU5CUlN4SFFVRlhMRXRCUVV0cVJpeEZRVUZIYVVZc1JVRkJWU3hEUVVOb1F5eE5RVUZYTEVOQlExSXNUVUZCVHl4RlFVTldMRU5CUTBRc1QwRkJUMnBHTEdGQlFXRXNUMEZETlVJc1RVRkJaMElzUTBGQlJTeERRVU5rTEUxQlFVOHNSVUZEV0N4RFFVVkJMRk5CUVZOMVNpeEhRVUZWZGtvc1JVRkJSeXhEUVVOc1FpeEhRVUZKTEVOQlFVTnRSaXhKUVVGblFpeERRVUZEYmtZc1IwRkJTeXhQUVVGUFFTeEhRVUZOTEZOQlEzQkRMRTFCUVU4c1IwRkZXQ3hIUVVGSkxFTkJRMEVzVDBGQlFXMUdMRWRCUVdFc1MwRkJTMjVHTEVOQlFVTXNSVUZEV2l4RlFVTm1MRTFCUVdkQ0xFTkJRVVVzUTBGRFpDeE5RVUZQTEVWQlExZ3NRMEZGUVN4VFFVRlROMGNzUjBGQlRUWkhMRVZCUVVjc1EwRkRaQ3hIUVVGSkxFTkJRVU0wUlN4SlFVRlhMRU5CUVVNMVJTeEhRVUZMTEU5QlFVOUJMRWRCUVUwc1UwRkRMMElzVFVGQlR5eEhRVVZZTEVkQlFVa3NRMEZEUVRSRkxFZEJRVkVzUzBGQlN6VkZMRU5CUVVNc1JVRkRaQ3hIUVVGSkxFTkJRMEYzUlN4SFFVRlJMRXRCUVV0NFJTeERRVUZETEVOQlEycENMRTFCUVZjc1EwRkRVaXhOUVVGUExFVkJRMVlzUTBGRFJDeFBRVUZQUVN4aFFVRmhMRWRCUXpWQ0xFMUJRV2RDTEVOQlFVVXNRMEZEWkN4TlFVRlBMRVZCUTFnc1EwRkZRU3hUUVVGVGMwb3NSMEZCVlhSS0xFVkJRVWNzUTBGRGJFSXNSMEZCU1N4RFFVRkRhVVlzU1VGQll5eERRVUZEYWtZc1IwRkJTeXhQUVVGUFFTeEhRVUZOTEZOQlEyeERMRTFCUVU4c1IwRkZXQ3hIUVVGSkxFTkJRMEZwUml4SFFVRlhMRXRCUVV0cVJpeEZRVUZIYVVZc1JVRkJWU3hGUVVNM1FpeEhRVUZKTEVOQlEwRkdMRWRCUVZjc1MwRkJTeTlGTEVWQlFVY3JSU3hGUVVGVkxFTkJRMmhETEUxQlFWY3NRMEZEVWl4TlFVRlBMRVZCUTFZc1EwRkRSQ3hQUVVGUEwwVXNZVUZCWVN4UFFVTTFRaXhOUVVGblFpeERRVUZGTEVOQlEyUXNUVUZCVHl4RlFVTllMRU5CUlVFc1UwRkJVM2xKTEVkQlFWVjZTU3hGUVVGSExFTkJRMnhDTEUxQlFVa3NRMEZCUTBFc1IwRkJTeXhQUVVGUFFTeEhRVUZOTEZOQlFXMUNMRWRCUTNSRExFOUJRVThzV1VGQlowSXNTMEZCWlVFc1lVRkJZU3haUVVNMVF5eEhRVVZLTEU5QlFVOUJMRVZCUVVVc1ZVRkJZU3hWUVVGWkxFOUJRVTlCTEVWQlFVVXNZMEZCYVVJc1ZVRkRka1VzUTBGRlFTeFRRVUZUZVVnc1IwRkJZek5LTEVWQlFVdDFTaXhGUVVGTkxFTkJRemxDTEVkQlFVbDJTaXhGUVVGSkxFOUJRVk4xU2l4RlFVRkxMR2RDUVVGcFFpeERRVU51UXl4SlFVRkphVVFzUlVGQldYaE5MRV
1ZCUVVrc1QwRkJVM1ZLTEVWQlFVc3NaMEpCUXpsQ2EwUXNSVUZCVlN4UFFVRlRSQ3hGUVVGWkxHMUNRVUZ4UWtFc1JVRkJXU3hGUVVGSkxFbEJRVTBzU1VGRE9VVXNUMEZCVHpkRExFZEJRV05xUXl4SFFVRlBMRXRCUVVzeFNDeEZRVUZMTEVWQlFVZDFTaXhGUVVGTExHVkJRV1VzUlVGQlIwRXNRMEZCU1N4RlFVRkphMFFzUTBGRE0wVXNRMEZGUkN4SlFVRkpOMElzUlVGQlNUTklMRWRCUVZNc1MwRkJTMEVzUjBGQlV5eExRVUZMYWtRc1JVRkJTeXhYUVVGWkxFMUJRVTBzUlVGQlJ5eGxRVUZuUWpCTkxFVkJRVThzUlVGRGNrWXNUMEZCVHpWQ0xFZEJRVmRHTEVWQlFVY3NVMEZCVlhKQ0xFTkJRVWtzUTBGRGRrTXNRMEZGUVN4VFFVRlRiVVFzUjBGQlVVTXNSVUZCUnl4RFFVTm9RaXhKUVVGSlF5eEZRVUZKUkN4RlFVRkZMRmRCUVZjc1EwRkJReXhGUVVOc1FucExMRVZCUVVrc1EwRkRTaXhGUVVGSExFbEJRMGdzUlVGQlJ5eEpRVU5JTEVkQlFVa3NTVUZEU2l4SFFVRkpMRWxCUTBvc1IwRkJTU3hIUVVOUUxFVkJRVU13U3l4RFFVRkRMRVZCUTBnc1QwRkJTVEZMTEVWQlFWa3NTMEZCVDBFc1JVRkRhRUlzVDBGQlV6QkxMRVZCUVVrc1IwRkJUeXhKUVVGTkxFbEJRVTFxUml4SFFVRmhMRXRCUVV0cFJpeEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVRkRMRU5CUXpORkxFTkJSVUVzVTBGQlUyeERMRWRCUVZVeFN5eEZRVUZMTEVOQlEzQkNMRTFCUVU4c1ZVRkJXVUVzUlVGQlRTeEhRVU0zUWl4RFFVVkJMRk5CUVZOMVRDeEhRVUZwUW1wVExFVkJRVTBzUTBGRE5VSXNUMEZCVDBFc1JVRkJUeXhSUVVOc1FpeERRVVZCTEZOQlFWTTRVaXhIUVVGaE9WSXNSVUZCVFhWVUxFVkJRVTFETEVWQlFWTm9SQ3hGUVVGUkxFTkJReTlETEVsQlFVbHBSQ3hGUVVGblFtcEVMRVZCUVZOdFFpeEhRVUZoTmtJc1JVRkJVMmhFTEVOQlFVMHNSVUZCU1doRExFZEJRVTBzUzBGQlMyZEdMRVZCUVZNc1NVRkJTU3hGUVVOeVJpeFBRVUZQZUZRc1JVRkJUeXhMUVVGUGRWUXNSVUZCVHl4TlFVRlJSU3hGUVVGblFpeEhRVU40UkN4RFFVVkJMRk5CUVZNdlFpeEhRVUZwUWtRc1JVRkJTU3hEUVVNeFFpeFJRVUZUT1ZJc1JVRkJTU3hGUVVGSFFTeEZRVUZKT0ZJc1JVRkJSeXhQUVVGUk9WSXNTVUZETTBJc1IwRkJTU3RSTEVkQlFWRmxMRVZCUVVjNVVpeERRVUZETEVWQlFVYzdRVUZCUVN4RFFVRkpMRWRCUVVzc1JVRkRlRUlzVFVGQlR5eEhRVWRtTEUxQlFVOHNSVUZEV0N4RFFVVkJMRk5CUVZNNFVTeEhRVUZWVWl4RlFVRk5SaXhGUVVGUExFTkJRelZDTEVsQlFVa3lSQ3hGUVVOS0xFZEJRVWw2UkN4RlFVRkxMRk5CUVZjc1NVRkRhRUo1UkN4RlFVRmhMRmxCUTA0c1QwRkJUM3BFTEVWQlFVc3NVVUZCVnl4VlFVRlpRU3hGUVVGTExFOUJRVk1zUlVGRGVFUjVSQ3hGUVVGaGJFWXNSMEZCVFN4TFFVRkxMRTFCUVUxNVFpeEZRVUZMTEU5QlFWTXNRMEZCUXl4RlFVRkhMRWRCUVVjc1RVRkZia1FzVVVGQlR5eExRVVZZTEUxQlFVOHNRMEZEU0N4TFFVRk5lVVFzUlVGRFRpeExRVUZOYkVZc1IwRkJUU3hMUVVGTExFMUJRVTExUWl4RlFVRlJMRU5CUVVNc1JVRkJSekpFTEVOQlFWVXNRMEZEY2tRc1EwRkRRU3hEUVVWQkxGTkJRVk12UWl4SFFVRmhSaXhGUVVGSmFrSXNSVUZCVVN4RFFVTTVRaXhIUVVGSmFVSXNSVUZCUnl4VFFVRlhMRVZCUVVzc1RVRkJUeXhIUVVNNVFpeEpRVUZKYTBNc1JVRkJZVHRCUVVGQkxFVkJRVTl1UkN4RlFVRlBMRXRCUVU5QkxFVkJRVThzUzBGRE4wTXNUMEZCVDIxRUxFVkJRV0Z1Uml4SFFVRk5MRXRCUVV0cFJDeEZRVUZKTEVsQlFVMXJReXhEUVVGVkxFVkJRVWs3UVVGQlFTeEZRVUZQYmtRc1JVRkJUeXhKUVVONlJTeERRVVZCTEZOQlFWTlZMRWRCUVZjdlRDeEZRVUZMZDB3c1JVRkJVeXhEUVVNNVFpeEpRVUZKYVVRc1JVRkJVWEpVTEVkQlFWRTBSU3hEUVVGSExFVkJRMjVDYzAwc1JVRkJTeXhEUVVGQkxFVkJRMVFzUjBGQlNXMURMRVZCUVU4c1EwRkRVRzVETEVWQlFVY3NUMEZCVTNSTkxFVkJRVWtzVDBGRGFFSXNVVUZCVTNoR0xFVkJRVWtzUlVGQlIwRXNSVUZCU1hkR0xFVkJRVWtzVDBGQlVYaEdMRWxCUXpWQ09GSXNSVUZCUnpsU0xFTkJRVU1zUlVGQlNYVlJMRWRCUVVrdlN5eEZRVUZMZUVZc1EwRkJReXhGUVVGSloxSXNSVUZCVVhoTUxFVkJRVWw0Uml4RFFVRkRMRVZCUVVkM1JpeERRVUZITEVWQlFVa3NSVUZGY0VRc1EwRkRSQ3hKUVVGSlNTeEZRVUZQTEU5QlFVOXZTaXhKUVVGVExGZEJRV0ZCTEVkQlFVdDRTaXhEUVVGSExFVkJRVWtzUjBGRGFFUXdUeXhGUVVOS0xFZEJRVWxvUml4SFFVRnRRaXhEUVVOdVFtZEdMRVZCUVZNc1EwRkJRU3hGUVVOVUxGRkJRVk5ETEVWQlFVa3NSVUZCUjBFc1JVRkJTWFpQTEVWQlFVc3NUMEZCVVhWUExFbEJRemRDUkN4RlFVRlBMRWxCUVUxMFR5eEZRVUZMZFU4c1EwRkJReXhEUVVGRExFVkJRVWwyVHl4RlFVRkxkVThzUTBGQlF5eERRVVZ5UXl4RFFVVkVMRkZCUVZOd1VDeExRVUZQVXl4RlFVTlFLMHNzUjBGQlNTOUxMRVZCUVV0VUxFTkJRVWNzU1VGRFltdFFMRWRCUVZNc1QwRkJUeXhQUVVGUGJGQXNRMEZCUnl4RFFVRkRMRWxCUVUxQkxFZEJRVTlCTEVWQlFVMVRMRVZCUVVrc1VVRkRiRVF3U2l4SlFVRnhRbWRHTEVWQlFVOHNTVUZCVFc1UUxFTkJRVWNzV1VGQllTeFRRVWN6UXpaS0xFZEJRVTBzUzBGQlN5eFRRVUZWTjBvc1EwRkJSeXhGUVVNdlFpdE5MRVZCUVVjc1MwRkJTMlFzUlVGQlVXcE5MRVZCUVV0VExFTkJRVWNzUlVGQlNTeExRVUZQZDB3c1JVRkJVWGhNTEVWQlFVbFVMRU5CUVVjc1JVRkJSMU1zUTBGQlJ5eERRVUZETEVWQlJYcEVjMDBzUlVGQlJ5eExRVUZMTDAwc1JVRkJUU3hMUVVGUGFVMHNSVUZCVVhoTUxFVkJRVWxVTEVOQlFVY3NSVUZCUjFNc1EwRkJSeXhEUVVGRExFbEJSMjVFTEVkQlFVa3NUMEZCVDNkS0xFbEJRVk1zVjBGRGFFSXNVVUZCVTNaSkxFVkJRVWtzUlVGQlIwRXNSVUZCU1dJc1JVRkJTeXhQUVVGUllTeEpRVU42UWpKSkxFZEJRV0VzUzBGQlN6VktMRVZCUVV0SkxFVkJRVXRoTEVOQlFVTXNRMEZCUXl4SFFVTTVRbkZNTEVWQlFVY3NTMEZCU3l4SlFVRk5aQ3hGUVVGUmNFd3NSVUZCUzJFc1EwRkJReXhEUVVGRExFVkJRVWtzVFVGQlVYVkxMRVZCUVZGNFRDeEZRVUZKU1N4RlFVRkxZU3hEUVVGRExFTkJRVU1zUlVGQlIycENMRU5CUVVjc1EwRkJReXhGUVVrdlJTeFBRVUZQYzAwc1EwRkRXQ3hEUTNwblFrRXNTVUZCU1hKSExFZEJRV1Z3U3l4SFFVTm
11aMDBzUjBGQldUVk1MRWRCUTFwMVVDeEhRVUZWZEU4c1IwRkZWakJHTEVkQlFXRjZSaXhIUVVOaWVWSXNSMEZCVnpOSkxFZEJRV0VzV1VGQllTeEZRVUZKTEVWQlEzcERORWtzUjBGQlR6VkpMRWRCUVdFc1VVRkJVeXhGUVVGSkxFVkJSV3BETmtrc1IwRkJZMnBJTEVkQlFWVXNkMEpCUVhsQ0xFVkJRVWtzUlVGRGNrUnJTQ3hIUVVGamJFZ3NSMEZCVlN4M1FrRkJlVUlzUlVGQlNTeEZRVU55UkcxSUxFZEJRV051U0N4SFFVRlZMSGRDUVVGNVFpeEZRVUZKTEVWQlEzSkViMGdzUjBGQlZYQklMRWRCUVZVc2IwSkJRWEZDTEVWQlFVa3NSVUZETjBOeFNDeEhRVUZWY2tnc1IwRkJWU3h2UWtGQmNVSXNSVUZCU1N4RlFVTTNRM05JTEVkQlFWVjBTQ3hIUVVGVkxHOUNRVUZ4UWl4RlFVRkpMRVZCVVRkRGRVZ3NSMEZCWXl4VFFVRlZReXhGUVVGTk9WQXNSVUZCU3l4RFFVdDBReXhSUVVoSksxQXNSVUZCVDBRc1JVRkZVRVVzUjBGRFNVRXNSVUZCVDBRc1JVRkJTeXhSUVVGVkxFdEJRVTFCTEVWQlFVOURMRVZCUXpGRExFZEJRVWxCTEVWQlFVc3NUVUZCVVdoUkxFVkJRMmhDTEU5QlFVRXJVQ3hGUVVGTExFdEJRVTlETEVWQlFVc3NTMEZGYWtKQkxFVkJRVXNzUzBGQmNVUkdMRVZCUVVzc1MwRkRMMFJCTEVWQlFVc3NTMEZCVDBVc1JVRkRURUVzUTBGSFZpeEZRVWRKUXl4SFFVRlZMRk5CUVZWRExFVkJRVk5zVVN4RlFVRkxMRU5CUTNKRExFbEJRVWx0VVN4RlFVRlBUaXhIUVVGWlN5eEZRVUZUYkZFc1EwRkJSeXhGUVVOdVF5eFBRVUZQYlZFc1IwRkJVVUVzUlVGQlN5eExRVU55UWl4RlFVVkpReXhIUVVGVkxGTkJRVlZHTEVWQlFWTnNVU3hGUVVGTGJFVXNSVUZCVHl4RFFVTTFReXhKUVVGSmNWVXNSVUZCVDA0c1IwRkJXVXNzUlVGQlUyeFJMRU5CUVVjc1JVRkRMMEp0VVN4RlFVTklRU3hGUVVGTExFMUJRVkZ5VlN4RlFVZGliMVVzUlVGQlVTeExRVUV3UkN4RFFVTnFSU3hKUVVGTGJGRXNSVUZEVEN4TFFVRk5hMUVzUlVGQlVTeExRVU5rTEUxQlFVOXdWU3hEUVVOV0xFTkJSVUVzUlVGRlNYVlZMRWRCUVZVc1UwRkJWVWdzUlVGQlUyeFJMRVZCUVVzc1EwRkRja01zVFVGQlR5eERRVUZETEVOQlFVTTJVQ3hIUVVGWlN5eEZRVUZUYkZFc1EwRkJSeXhEUVVOc1F5eEZRVWRCYzFFc1IwRkJhVUlzVlVGQk1FSXNRMEZEUml4SlFVRkpReXhGUVVOS1F5eEZRVU5UUXl4RlFVYzNRME1zUlVGQlZTeERRVU5pTEU5QlFWRXNVMEZCVlRGUkxFVkJRVXNzUTBGRGRFSXNSMEZCU1N4RFFVRkRNRkVzUlVGQlVTeEpRVUZKTVZFc1EwRkJSeXhGUVVOdVFpeE5RVUZOTEVsQlFVbHhSQ3hIUVVGWExHbERRVUZ0UXpSSkxFZEJRVkZxVFN4RFFVRkhMRU5CUVVNc1EwRkZja1VzUlVGRFJDeEpRVUZMTEZOQlFWVkJMRVZCUVVzc1EwRkRia0lzUjBGQlNYRlFMRWxCUVZseVVDeEpRVUZSTEU5QlFVOUJMRWRCUVZFc1ZVRkJXU3hQUVVGUFFTeEhRVUZSTEdGQlEycEZMRWRCUVVsMVVTeEZRVU5JTEU5QlFVOW9RaXhIUVVGWlowSXNSVUZCUzNaUkxFTkJRVWNzVlVGRmJFSnpVQ3hKUVVOV0xFZEJRVWxyUWl4RlFVTklMRTlCUVU5a0xFZEJRVkZqTEVWQlFVbDRVU3hEUVVGSExGVkJSMjVDZVZFc1JVRkRTQ3hQUVVGUFVpeEhRVUZSVVN4RlFVRkplbEVzUTBGQlJ5eERRVWQ0UWl4RlFVTkVMRWxCUVVzc1UwRkJWVUVzUlVGQlN5eERRVU51UWl4SFFVRkpjVkFzU1VGQldYSlFMRWxCUVZFc1QwRkJUMEVzUjBGQlVTeFZRVUZaTEU5QlFVOUJMRWRCUVZFc1lVRkRha1VzUjBGQlNYVlJMRVZCUTBnc1QwRkJUMlFzUjBGQldXTXNSVUZCUzNaUkxFTkJRVWNzVlVGRmJFSnpVQ3hKUVVOV0xFZEJRVWxyUWl4RlFVTklMRTlCUVU5YUxFZEJRVkZaTEVWQlFVbDRVU3hEUVVGSExGVkJSMjVDZVZFc1JVRkRTQ3hQUVVGUFNpeEhRVUZSU1N4RlFVRkplbEVzUTBGQlJ5eEZRVWQ0UWl4TlFVRlBMRVZCUTFBc1JVRkRSQ3hKUVVGTExGTkJRVlZCTEVWQlFVdHNSU3hGUVVGUExFTkJRM1JDZFZRc1NVRkJXWEpRTEVsQlFWRXNUMEZCVDBFc1IwRkJVU3hWUVVGWkxFOUJRVTlCTEVkQlFWRXNZVUZETlVSMVVTeEpRVU5LUVN4RlFVRk5MRWxCUVVsc1FpeEpRVVZZUnl4SFFVRlpaU3hGUVVGTGRsRXNSVUZCUzJ4RkxFTkJRVXNzUjBGRGFrSjNWQ3hKUVVOTWEwSXNTVUZEU2tFc1JVRkJTeXhKUVVGSmJFSXNTVUZGVmtzc1IwRkJVV0VzUlVGQlNYaFJMRVZCUVV0c1JTeERRVUZMTEVsQlJXcENNbFVzU1VGRlNrRXNSVUZCU3l4RFFVRkZMRWxCUVVzc1EwRkJSU3hGUVVGRkxFdEJRVTBzU1VGQlNTeEhRVVV6UWt3c1IwRkJVVXNzUlVGQlNYcFJMRVZCUVV0c1JTeERRVUZMTEVWQlJYWkNMRU5CUTBnc1JVRkRReXhQUVVGUE5GVXNRMEZEVWl4RlF6bElTVU1zUjBGQlZTeFBRVUZQTEZWQlFWVXNVVUZETTBKRExFZEJRV3RDTEU5QlJXeENReXhIUVVGVExFTkJRMVFzVVVGQlV5eFZRVU5VTEZGQlFWTXNVMEZEWWl4RlFVVkJReXhIUVVGcFFpeERRVU5pTEZGQlFWZEVMRWRCUVU4c1VVRkRiRUlzVjBGQldTeERRVU5TTEZGQlFWTXNVMEZCVlM5VkxFVkJRVThzUTBGRGRFSXNUMEZCVHpaVkxFZEJRVkVzUzBGQlN6ZFZMRVZCUVU4NFZTeEhRVUZwUWl4SFFVRkhMRU5CUTJ4RUxFVkJRMFFzVVVGQlV5eFRRVUZWT1ZVc1JVRkJUeXhEUVVOMFFpeFBRVUZQTEU5QlFVOUJMRU5CUVVzc1EwRkRkRUlzUTBGRFNpeEZRVU5FTEZGQlFWTXJWU3hIUVVGUExGRkJRMmhDTEZGQlFWTkJMRWRCUVU4c1QwRkRjRUlzUlVOd1FrbERMRWRCUVZWNFZTeEhRVVZXYTFBc1IwRkJUU3hQUVVGUExGVkJRVlVzWlVGRGRrSXpVQ3hIUVVGVkxFMUJRVTBzVVVGRmFFSnJWaXhIUVVGWkxGVkJRVmtzUTBGRmVFSXNVVUZFU1doVExFVkJRVkVzUTBGQlFTeEZRVU5JT1VRc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEVsQlFVc3NSVUZCUlVFc1JVRkRka0k0UkN4RlFVRk5MRXRCUVVzc1RVRkJVVGxFTEVWQlFVa3NSMEZCU3l4SlFVRk5MRWxCUVUxQkxFVkJRVVVzVTBGQlV5eEZRVUZGTEVkQlFVY3NXVUZCWVN4RFFVRkJMRVZCUjNwRkxFOUJRVTg0UkN4RFFVTllMRVZCUVVNc1JVRkZSMmxUTEVkQlFXVXNVMEZCYzBKRExFVkJRVThzUTBGRE5VTXNTMEZCVDBFc1JVRkJUU3hQUVVGVExFZEJRVWNzUTBGRGNrSXNTVUZCU1VNc1JVRkJUMFFzUlVGQlRTeE5RVU5pZUZFc1JVRkJUWGxSTEVWQlFVc3NTVUZCU1VFc1JVRkJTeXhKUVVGSkxFVkJSVFZDTEVkQlFVbHlWaXhIUVVGUk5FVXNRMEZCUnl4RlFVRkhMRU5CUjJRc1VVRkdTVEJSTEVWQlFWa3NRMEZCUVN4RlFVVlFlbEFzUlVGQlNTeEZRVUZIUVN4RlFVRkpha0lzUlVGQlNTeFBRVUZSTEVWQlFVVnBRaXhGUVVNeFFpeFBRVUZQYWtJc1JVRkJTV2xDTEVOQlFVTXNSVUZCVFN4TFFVTnNRbmxRTEVWQlFWVXNTMEZCU3pGUkxFVkJRVWxwUWl4RFFVRkRMRU5CUVVNc1JVRkpOMEozVUN4RlFVRkxMRWxCUVVsQkxFVkJRVXNzU1VGQlNTeEZRVUZKUXl4RFFVTjZR
1aXhEUVVOS0xFTkJRMHdzUlVGRlNVTXNSMEZCWjBJc1UwRkJkVUowVWl4RlFVRlJjMHdzUlVGQlV5eERRVVY0UkN4UlFVUkpNMHNzUlVGQlRUSkxMRWRCUVZkQkxFVkJRVkVzWVVGQlpTeFBRVUZQTEU5QlFVOHNTVUZCU1N4RlFVRkpMRWRCUTNwRWJsRXNSVUZCU1N4RlFVRkhRU3hGUVVGSk5rVXNSVUZCVHl4UFFVRlJMRVZCUVVVM1JTeEZRVU0zUWl4UFFVRlBOa1VzUlVGQlR6ZEZMRU5CUVVNc1JVRkJUU3hOUVVOeVFuZEdMRVZCUVVsNFJpeERRVUZETEVWQlFVazJSU3hGUVVGUE4wVXNRMEZCUXl4SFFVbDZRaXhQUVVGUGQwWXNRMEZEV0N4RlFVVkpORkVzUjBGQlVTeFRRVUZUUVN4RlFVRk5lRklzUlVGQlVVTXNSVUZCVVhOTUxFVkJRVk1zUTBGRmFFUXNSMEZCU1N4RFFVRkRkRXdzUlVGRFJDeFBRVUZQUkN4RlFVZFlMRWRCUVVrc1QwRkJUME1zUjBGQlZ5eFRRVUZWTEVOQlF6VkNMRWRCUVVscVJTeEhRVUZSWjBVc1EwRkJUU3hGUVVOa1FTeEZRVUZQTEV0QlFVdERMRU5CUVUwc1ZVRkRXRVFzUjBGQlZTeFBRVUZQUVN4SFFVRlhMRlZCUXpsQ2RVd3NTVUZCV1VFc1JVRkJVU3hqUVVGblFrRXNSVUZCVVN4clFrRkJjVUlzUTBGQlEwa3NSMEZCU1N4TFFVRkxMRTlCUVU4c1ZVRkJWekZNTEVOQlFVMHNTMEZEY0VkRUxFVkJRVTlETEVOQlFVMHNSVUZCU1N4UlFVZHlRaXhQUVVGUExFTkJRVU5FTEVWQlFWRkRMRU5CUVUwc1JVRkhNVUlzVDBGQlQwUXNRMEZEVml4RFFVVkVMRWRCUVVrc1EwRkJRMEVzUjBGQlZTeFBRVUZQUVN4SFFVRlhMRk5CUXpkQ0xFMUJRVThzUTBGQlEwRXNRMEZCVFN4RlFVRkZMRTlCUVU5RExFTkJRVTBzUlVGSGFrTXNTVUZCU1hkU0xFVkJRV042VWl4RlFVdHNRaXhQUVVwSmFFVXNSMEZCVVdkRkxFTkJRVTBzUjBGQlN5eERRVUZEYUVVc1IwRkJVV2xGTEVOQlFVMHNTVUZEYkVOM1VpeEZRVUZqUml4SFFVRmpkbElzUlVGQlVYVk1MRU5CUVU4c1IwRkhNME4yVUN4SFFVRlJaMFVzUTBGQlRTeEhRVUZMYUVVc1IwRkJVV2xGTEVOQlFVMHNSMEZEYWtOQkxFVkJRVThzVVVGQlVTeFRRVUZWYjFJc1JVRkJUV3BYTEVWQlFVY3NRMEZET1VJc1IwRkJTWFZSTEVkQlFVa3NTMEZCU3pOTUxFVkJRVkUxUlN4RFFVRkRMRVZCUVVjc1EwRkRja0lzU1VGQlNYTlhMRVZCUVdFeFVpeEZRVUZQTlVVc1EwRkJReXhGUVVOeVFuTlhMRWRCUVdNc1QwRkJUMEVzUjBGQlpTeFZRVUZaVEN4SFFVRlJMRTlCUVU5QkxFZEJRVk1zVTBGRGVFVnlVaXhGUVVGUE5VVXNRMEZCUXl4RlFVRkpiMWNzUlVGQlRVVXNSVUZCV1V3c1JVRkJUVGxHTEVOQlFVOHNSVUZGTTBOMlRDeEZRVUZQTEV0QlFVdHhVaXhEUVVGSkxFTkJSWEJETEUxQlEyZENjbElzUlVGQlR6VkZMRU5CUVVNc1JVRkJTV2xYTEVOQlJUVkNMRU5CUVZNc1JVRkRUWEpTTEVkQlIwb3NUMEZCVHl4TFFVRkxReXhEUVVGTkxFVkJRVVVzVDBGQlR5eFRRVUZWTUZJc1JVRkJTM2hTTEVWQlFVc3NRMEZEYkVRc1NVRkJTV3hGTEVWQlFWRm5SU3hGUVVGUFJTeERRVUZITEVWQlJYUkNMRTlCUVVsM1RDeEhRVUZKTEV0QlFVdG5SeXhGUVVGTGVGSXNRMEZCUnl4RlFVTnFRbmRTTEVWQlFVbDRVaXhEUVVGSExFVkJRVWx4VWl4RlFVRk5SeXhGUVVGSmVGSXNRMEZCUnl4RlFVRkhiRVVzUlVGQlQzTlFMRU5CUVU4c1JVRkZla052Unl4RlFVRkplRklzUTBGQlJ5eEZRVUZKYkVVc1JVRkZVakJXTEVOQlExWXNSVUZCUlVZc1EwRkJWeXhEUVVOc1FpeEZRVVZKUnl4SFFVRlRMRk5CUVRSQ05WSXNSVUZCVVVNc1JVRkJVU3hEUVVOeVJDeFBRVUZQTEU5QlFVOHNTMEZCUzBFc1EwRkJUU3hGUVVGRkxFOUJRVThzVTBGQlZUQlNMRVZCUVV0NFVpeEZRVUZMTEVOQlEyeEVMRTlCUVVGM1VpeEZRVUZKZUZJc1EwRkJSeXhGUVVGSlJpeEZRVUZQUlN4RFFVRkhMRVZCUTJSM1VpeERRVU5XTEVWQlFVVXpVaXhEUVVGTkxFTkJRMklzUlVGRlNUWlNMRWRCUVZNc1UwRkJWVEZRTEVWQlFVdDZSeXhGUVVGVGIxY3NSVUZCVXl4RFFVTXhReXhKUVVGSlF5eEZRVUZwUWpWUUxFVkJRVWtzVVVGQlVTeE5RVUZQTEVkQlFVY3NSVUZETTBNc1IwRkJTVEpRTEVsQlFWa3NZVUZGV2l4UFFVRlBReXhGUVVGbExGRkJRVkVzYVVKQlFXdENMRkZCUVZFc1JVRkhOVVFzUjBGQlNTeERRVU5CTEU5QlFVOHNiVUpCUVcxQ1FTeERRVUZqTEVOQlF6TkRMRTFCUVZjc1EwRkRVaXhQUVVGUFFTeERRVU5XTEVOQlEwd3NSVUZGU1VNc1IwRkJVeXhUUVVGblFqZFFMRVZCUVVzNFVDeEZRVUZuUWtnc1JVRkJVMGtzUlVGQlRVTXNSVUZCVVN4RFFVZHlSU3hIUVVGSmFGRXNSVUZCU1N4VFFVRlhMRVZCUTJZc1QwRkJUMEVzUlVGSFdDeEpRVUZKZFVRc1JVRkJVM1pFTEVWQlQySXNSMEZPU1N4UFFVRlBRU3hIUVVGUkxGTkJRMloxUkN4RlFVRlRMRTlCUVU4c1ZVRkJWU3hUUVVGVExFdEJRVXQyUkN4RFFVRkhMRVZCUTNCRExFOUJRVTlCTEVkQlFWRXNWMEZEZEVKMVJDeEZRVUZUTEU5QlFVOTJSQ3hEUVVGSExFZEJSMjVDTWxBc1NVRkJXU3hoUVVOYUxFOUJRVThzVDBGQlQzQk5MRU5CUVUwc1JVRkJSU3hSUVVGUkxHdENRVUZ0UWl4VFFVRlZNRTBzUlVGQlNTeERRVU16UkN4TlFVRlBMRk5CUVZjc1UwRkJVMEVzUlVGQlJ5eE5RVUZOTEVOQlFVTXNSVUZCUnl4RlFVRkZMRVZCUVVrc1MwRkRNVVFzUTBGQlV5eEZRVWxNTEZGQlJFbERMRVZCUVUwc1IwRkRSR3BZTEVWQlFVa3NSVUZCUjBFc1JVRkJTWE5MTEVWQlFVOHNUMEZCVVN4RlFVRkZkRXNzUlVGQlJ5eERRVU53UXl4SlFVRkpNRlFzUlVGQlNYQktMRVZCUVU4c1YwRkJWM1JMTEVOQlFVTXNSVUZGTTBJc1IwRkRTVEJVTEVsQlFVMHNTVUZEU0VFc1NVRkJUU3hKUVVOT1FTeEpRVUZOTEVsQlEwNUJMRWxCUVUwc1MwRkRURUVzUjBGQlN5eEpRVUZSUVN4SFFVRkxMRWxCUTJ4Q1FTeEhRVUZMTEVsQlFWRkJMRWRCUVVzc1NVRkRiRUpCTEVkQlFVc3NTVUZCVVVFc1IwRkJTeXhMUVVOc1FuRkVMRWxCUVZkc1FpeEhRVUZSTEZWQlFWbHVReXhKUVVGTkxFbEJRVkZCTEVsQlFVMHNTVUZEZWtRc1EwRkRSWFZFTEVkQlFVOHpUU3hGUVVGUExFOUJRVTkwU3l4RFFVRkRMRVZCUTNSQ0xGRkJRMGdzUTBGRlJDeEhRVUZKTUZRc1JVRkJTU3hKUVVGTkxFTkJRMVoxUkN4RlFVRk5RU3hGUVVGTmJrSXNSMEZCVTNCRExFTkJRVU1zUlVGRGRFSXNVVUZEU0N4RFFVVkVMRWRCUVVsQkxFVkJRVWtzUzBGQlR5eERRVU5ZZFVRc1JVRkJUVUVzUjBGQlQyNUNMRWRCUVZNc1NVRkJVWEJETEVkQlFVc3NRMEZCUlN4RlFVRkpiME1zUjBGQlV5eEpRVUZSY0VNc1JVRkJTU3hGUVVGTExFZEJRMjVGTEZGQlEwZ3NRMEZGUkN4SFFVRkpRU3hGUVVGSkxFOUJRVlZCTEVkQlFVc3NUVUZCVVN4RFFVTXpRblZFTEVWQlFVMUJMRWRCUVU5dVFpeEhRVUZUTEVsQlFWRndReXhIUVVGTE
1xFVkJRVWNzUlVGQlNXOURMRWRCUVZNc1NVRkJVM0JETEVkQlFVc3NSVUZCU3l4RlFVRkxMRVZCUVVsdlF5eEhRVUZUTEVsQlFWRndReXhGUVVGSkxFVkJRVXNzUjBGRGVrY3NVVUZEU0N4RFFVVkVNVlFzUjBGQlN5eEZRVU5NTUZRc1JVRkJTU3hSUVVGaFFTeEZRVUZKTEU5QlFWVXNSMEZCVDNCS0xFVkJRVThzVjBGQlYzUkxMRU5CUVVNc1JVRkJTU3hOUVVVM1JHbFlMRWRCUVU5dVFpeEhRVUZUTEVsQlFWRndReXhIUVVGTExFVkJRVWNzUlVGRE1VSnZReXhIUVVGVExFbEJRVk53UXl4SFFVRkxMRWRCUVUwc1JVRkJTeXhGUVVOc1EyOURMRWRCUVZNc1NVRkJVM0JETEVkQlFVc3NSVUZCU3l4RlFVRkxMRVZCUTJwRGIwTXNSMEZCVXl4SlFVRlJjRU1zUlVGQlNTeEZRVUZMTEVOQlEyNURMRU5CUlVRc1QwRkJUM1ZFTEVOQlExZ3NSVUZGU1VNc1IwRkJWU3hUUVVGcFFuSlhMRVZCUVU4c1EwRkpiRU1zVVVGSVNXMVdMRVZCUVZFc1EwRkJReXhEUVVGRkxFbEJRVXNzUTBGQlJTeEZRVUZIYmxZc1IwRkJVeXhMUVVGTkxFZEJRVWNzUTBGQlJTeEZRVU42UTNOWExFVkJRVThzUTBGQlFTeEZRVVZHYmxnc1JVRkJTU3hGUVVGSFFTeEZRVUZKWjFjc1JVRkJUU3hQUVVGUkxFVkJRVVZvVnl4RlFVdG9ReXhSUVVwSmFWY3NSVUZCVDBRc1JVRkJUV2hYTEVOQlFVTXNSVUZEWkhkR0xFVkJRVTE1VVN4RlFVRkxMRWxCUVVsQkxFVkJRVXNzU1VGQlNTeEZRVVY0UWpORkxFVkJRVThzVDBGQlR5eExRVUZMT1V3c1EwRkJSeXhGUVVOcVFtbENMRVZCUVVrc1JVRkJSMEVzUlVGQlNUWkxMRVZCUVVzc1QwRkJVU3hGUVVGRk4wc3NSVUZCUnl4RFFVTnNReXhKUVVGSk1VSXNSVUZCVFhWTkxFVkJRVXMzU3l4RFFVRkRMRVZCUTFveVVTeEZRVUZOTlZJc1JVRkJTVlFzUTBGQlJ5eEZRVU5pTEU5QlFVOXhVeXhIUVVGUkxGVkJRVmxCTEVsQlFWRXNUVUZCVVVRc1JVRkJTeXhSUVVGUlF5eERRVUZITEVsQlFVMHNTMEZEYWtWd1FpeEZRVUZOTEV0QlFVc3NRMEZCUlN4SlFVRkxlRkVzUlVGQlN5eExRVUZOVkN4RFFVRkhMRU5CUVVVc1JVRkRiRU52VXl4RlFVRkxMRXRCUVV0RExFTkJRVWNzUlVGRmNFSXNRMEZIVEN4UFFVRkJja0lzUjBGQllVTXNRMEZCU3l4RlFVVllibFlzUTBGRFdDeEZRVVZKZFZFc1IwRkJWeXhUUVVGclFqVk1MRVZCUVVzc1EwRkRiRU1zVDBGQlR5eFBRVUZQTEZWQlFWVXNVMEZCVXl4TFFVRkxRU3hEUVVGSExFbEJRVTBzYVVKQlEyNUVMRVZCUlVrMlVpeEhRVUZYTEZOQlFXdENOMUlzUlVGQlN5eERRVU5zUXl4TlFVRkpMRU5CUVVOQkxFZEJRVThzVDBGQlQwRXNSMEZCVVN4VFFVTm9RaXhIUVVkS0xFTkJRVU1zUlVGQlJVRXNSVUZCU1N4aFFVRmxRU3hGUVVGSkxGbEJRVmtzVlVGQldVRXNSVUZCU1N4WlFVRlpMRk5CUVZOQkxFTkJRVWNzUlVGRGVrWXNSVUZGU1RoU0xFZEJRVlVzVTBGQmFVSXZXQ3hGUVVGSE5FVXNSVUZCUnl4RFFVTnFReXhOUVVGUExFZEJRVWNzVDBGQlR6VkZMRVZCUVVjMFJTeERRVUZETEVOQlEzcENMRVZCUlVsdlZDeEhRVUZYTEZOQlFXdENTQ3hGUVVGTE5VNHNSVUZCU1N4RFFVTjBReXhIUVVGSk5Va3NSMEZCVVhkWExFTkJRVWNzUlVGQlJ5eERRVVZrTEZGQlJFbEpMRVZCUVZNc1EwRkJRU3hGUVVOS2VGZ3NSVUZCU1N4RlFVRkhRU3hGUVVGSmIxZ3NSVUZCU1N4UFFVRlJjRmdzUjBGQlN5eEZRVU5xUTNkWUxFVkJRVThzUzBGQlMyaFBMRVZCUVVjMFRpeEZRVUZKY0Znc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGRk1VSXNUMEZCVDNkWUxFTkJRMVlzUTBGRFJDeFBRVUZQYUU4c1JVRkJSelJPTEVOQlFVY3NRMEZEYWtJc1JVRkZRVXNzUjBGQmFVSXNRMEZEWWl4alFVRmxkRUlzUjBGRFppeFBRVUZSU3l4SFFVTlNMRkZCUVZOakxFZEJRMVFzVVVGQlUwb3NSMEZEVkN4UFFVRlJWQ3hIUVVOU0xFOUJRVkZITEVkQlExSXNVMEZCVlZNc1IwRkRWaXhUUVVGVmFrY3NSMEZEVml4VFFVRlZiVWNzUjBGRFZpeE5RVUZQYmtJc1JVRkRXQ3hGUTNwUVNYTkNMRWRCUVdsQ2NsY3NSMEZEYWtKdlZ5eEhRVUZSYUZjc1IwRkRVbTlWTEVkQlFWVnVWQ3hIUVVOV05rNHNSMEZCVFN4UFFVRlBMRlZCUVZVc1pVRkZka0p2U0N4SFFVRjNRaXhEUVVONFFpeFRRVUZWTEZOQlFXdENReXhGUVVGUkxFTkJRMmhETEU5QlFVOUJMRVZCUVZNc1NVRkRia0lzUlVGRFJDeE5RVUZQTEZGQlExQXNVVUZCVXl4VFFVRnBRa0VzUlVGQlVUZFRMRVZCUVVzc1EwRkRia01zVDBGQlR6WlRMRVZCUVZNc1NVRkJUVGRUTEVWQlFVMHNSMEZETDBJc1JVRkRSQ3hQUVVGUkxGTkJRV2RDTmxNc1JVRkJVU3hEUVVNMVFpeFBRVUZQUVN4RFFVTldMRU5CUTB3c1JVRkZTV2hZTEVkQlFWVXNUVUZCVFN4UlFVTm9RbWxZTEVkQlFVOHNUVUZCVFN4VlFVRlZMRXRCUTNaQ1F5eEhRVUZqTEZOQlFWVnVWeXhGUVVGTGIxY3NSVUZCWXl4RFFVTXpRMFlzUjBGQlN5eE5RVUZOYkZjc1JVRkJTMllzUjBGQlVXMVlMRU5CUVZrc1JVRkJTVUVzUlVGQlpTeERRVUZEUVN4RFFVRlpMRU5CUVVNc1EwRkRla1VzUlVGRlNVTXNSMEZCVVN4TFFVRkxMRlZCUVZVc1dVRkZka0pETEVkQlFXZENjRU1zUjBGQlVTeFJRVU40UW5GRExFVkJRVmNzUTBGRFdDeGxRVUZuUWl4SFFVTm9RaXhWUVVGWExFZEJRMWdzYVVKQlFXdENMRWRCUTJ4Q0xGbEJRV0VzVlVGRFlpeFJRVUZUTEZGQlExUXNaMEpCUVdsQ0xFZEJRMnBDTEZWQlFWY3NTVUZEV0N4UFFVRlJMRWRCUTFJc1owSkJRV2xDTEVkQlEycENMRkZCUVZOVUxFZEJRVTBzVDBGRFppeHBRa0ZCYTBJc1IwRkRiRUlzVDBGQlVWRXNSMEZEVWl4VlFVRlhjRU1zUjBGQlVTeFhRVUZYYjBNc1JVRkJZU3hGUVVVelF5eFJRVUZUTEVkQlExUXNZMEZCWlN4VFFVRjFRakZVTEVWQlFVMHNRMEZEZUVNc1QwRkJUM2xVTEVkQlFVMHNTMEZCUzNwVUxFTkJRVWtzUTBGRGVrSXNSVUZEUkN4VlFVRlhMRWRCUTFnc2JVSkJRVzlDTEVWQlEzaENMRVZCUlVrMFZDeEhRVUYzUWl4VFFVRXJRbkpYTEVWQlFVY3NRMEZETVVRc1QwRkJUeXhQUVVGUFFTeEhRVUZOTEZWQlEySXNUMEZCVDBFc1IwRkJUU3hWUVVOaUxFOUJRVTlCTEVkQlFVMHNWMEZEWWl4UFFVRlBRU3hIUVVGTkxGVkJRMklzVDBGQlQwRXNSMEZCVFN4UlFVTjRRaXhGUVVWSmMxY3NSMEZCVnl4RFFVRkJMRVZCUlZoRExFZEJRVmtzVTBGQlUwRXNSVUZEY2tKRExFVkJRMEZXTEVWQlEwRlhMRVZCUTBGRExFVkJRMEZETEVWQlEwRkRMRVZCUTBGRExFVkJRMEZETEVWQlEwRkRMRVZCUTBGRExFVkJRMEZETEVWQlEwRkRMRVZCUTBGRExFVkJRMEZzUXl4RlFVTkJiVU1zUlVGRFFVTXNSVUZEUVhwRExFVkJRMEZ5UWl4RlFVTkdMRU5CVFVVc1VVRk1TVGRRTEVWQlFVMDRVeXhGUVVWT1l5eEZRVUZSTDBRc1JVRkRVbWRGTEVWQlFVOHNSVUZEVUVNc1JVRkJWeXhKUVVOUVJpeEZRVUZSUVN4RlFVRk5MRWxCUVVsb1FpeEZRVUZSTEV0QlFVOHNVVUZCYTBJc1EwRkJRMnRDTEVkQlFWVXNRMEZGYkVVc1NVRkJTVU1zUlVGQlRVZ3NSVUZCVFN4SlFVRkpaQ3hEUVVGTkxFVkJSVEZDTEVkQlJFRmxMRWRCUVZFc1JVRkRTaXhQUVVGUFJTeEZRVUZSTEVsQlFXRXNRMEZETlVJc1IwRkJTVUVzU1VGQlVVWXNSVUZEVWl4TlFVRk5MRWxCUVVrc1YwRkJWeXh4UWtGQmNVSXNSVUZGTVVORExFVkJRVmNzUlVGRmJFSXNRMEZEUnl4UFFVRlBSaXhGUVVGTkxFbEJRVWxvUWl4RlFVRlJMRVZCUVUwc1RVRkRMMEpwUWl4RlFVRlBMRVZCUldRc1EwRmxSQ3hIUVdKSkxFOUJRVTlRTEVkQlFWY3NWMEZEYkVKMFZDeEZRVUZOYzFRc1JVRkJUMnhDTEVWQlFWRndVeXhEUVVGSExFVkJRMnBDUVN4aFFVRmxMRXRCUTNSQ1FTeEZRVUZOZVZRc1JVRkJZM3BVTEVOQlFVY3NSVUZEYUVJclV5eEpRVUYzUWl4VFFVRlhNMWdzUjBGQlVUUkZMRU5CUVVjc1NVRkRja1JCTEVWQlFVMXBVeXhIUVVGTkxGTkJRVk5xVXl4RlFVRkxMRk5CUVZVelJTeEhRVUZQTEVOQlEzWkRMRTlCUVVsQkxHTkJRV2xDTEV0QlExWnZXU3hGUVVGamNGa3NSVUZCU3l4RlFVVjJRa0VzUlVGRGJrSXNRMEZCVXl4SFFVZEVNa1VzU1VGQlVTeExRVUZOTEVOQlEyUXNSMEZCU1d0VUxFVkJRMEVzVDBGQlQwY3NSMEZCVnl4RFFVRkRUU3hGUVVGdFFrNHNSVUZCVVdwQ0xFVkJRVkZOTEVWQlFWTXNVVUZCVTNoQ0xFVkJRVk1zVFVGQlQwc3NRMEZCVFN4RlFVRkpZU3hGUVVkMFIzQlRMRVZCUVUwc1JVRkRWQ3hEUVVWRUxFZEJRVWt5VXl4SFFVRnpRak5UTEVOQlFVY3NSMEZCUzJsVExFZEJRVTBzVTBGQlUycFRMRU5CUVVjc1JVRkJSeXhEUVVOdVJDeEhRVUZKY1ZRc1JVRkJVeXhEUVVOVUxFbEJRVWxYTEVWQlFWZE1MRVZCUVcxQ2RrSXNSVUZCVTJsQ0xFVkJRVkZxUWl4RlFVRlJUU3hGUVVGVExGRkJRVk40UWl4RlFVRlRMRTFCUVU5TExFTkJRVTBzUlVGRGJrY3NUVUZCVHl4RFFVRkRiVU1zUlVGQlZVMHNRMEZCVVN4RlFVRkpMRWxCUVUxT0xFVkJRVlZNTEVWQlFWRnlWQ3hGUVVGTE1GTXNSVUZCVXl4UlFVRlRlRUlzUlVGQlV5eFJRVUZUU3l4RFFVRk5MRU5CUVVNc1EwRkJReXhEUVVNeFJ5eERRVU5FTEUxQlFVOHNRMEZCUTIxRExFVkJRVlYwUWl4RFFVRk5MRV
1ZCUVVrc1NVRkJUWE5DTEVWQlFWVXNUMEZCVHpGVUxFTkJRVWNzUTBGQlF5eERRVUZETEVOQlF6TkVMRU5CUlVRc1NVRkJTV2xWTEVWQlFWTXNRMEZCUVN4RlFVVmlMRWRCUVVrc1QwRkJUMnBWTEVWQlFWRXNTVUZEWml4UFFVRlBhVlVzUlVGSFdDeEpRVUZKUXl4SFFVTktMRWRCUVVsdVFpeEpRVUYzUWl4VFFVRlhNMWdzUjBGQlVUUkZMRU5CUVVjc1JVRkZNVU15VkN4SFFVRnZRazRzU1VGRGNFSnlWQ3hGUVVGTmFWTXNSMEZCVFN4VFFVRlRhbE1zUlVGQlMzRlVMRU5CUVU4c1IwRkZja05oTEVkQlFWVXNRMEZCUXl4RFFVRkZMRTFCUVU5c1ZTeEZRVUZKTEU5QlFWTXNSVUZCU1VFc1JVRkJTU3hMUVVGTExFZEJRVWNzUjBGQlN5eExRVUZQTEUxQlFXZENMRU5CUVVFc1ZVRkRkRVUxUlN4SFFVRlJhMWtzUTBGQlRTeEZRVU55UWxrc1IwRkJWVm9zVFVGRFVDeERRVU5JTEVsQlFVbDRTQ3hIUVVGUExFOUJRVThzUzBGQlN6bE1MRU5CUVVjc1JVRkRNVUpyVlN4SFFVRlZXQ3hGUVVGUGVrZ3NSMEZCU3l4TFFVRkxlVWdzUTBGQlNTeEZRVUZKZWtnc1JVRkRkRU1zUTBGRlJDeEpRVUZKY1Vrc1IwRkJaMEptTEVWQlFXdENhRUlzUlVGQlR5eFJRVUZSTEUxQlFVOHNTMEZCU3l4RlFVRkpRU3hGUVVWcVJXZERMRVZCUVdsQ2NFSXNSMEZCYTBJMVdDeEhRVUZSTkVVc1EwRkJSeXhIUVVGTFFTeEZRVUZKTEZOQlFWY3NSVUZCU1cxVkxFZEJRV2RDTEV0QlFVOUJMRWRCUldwSExFZEJRVWxzUWl4SFFVRnZRamRZTEVkQlFWRTBSU3hEUVVGSExFZEJRVXRCTEVWQlFVa3NVMEZCVnl4RlFVTnVSQ3hQUVVGUGIxVXNSVUZCYVVJc1MwRkhOVUlzVVVGQlUyNVVMRVZCUVVrc1JVRkJSMEVzUlVGQlNXbFVMRWRCUVZFc1QwRkJVU3hGUVVGRmFsUXNSVUZCUnl4RFFVTnlReXhKUVVGSk1VSXNSMEZCVFRKVkxFZEJRVkZxVkN4RFFVRkRMRVZCUTJZMVJpeEhRVUZSTEU5QlFVOXJSU3hKUVVGUkxGVkJRVmtzVDBGQlQwRXNSMEZCU1N4TlFVRlZMRWxCUVdOQkxFZEJRVWtzVFVGQlVWTXNSVUZCU1ZRc1JVRkJSeXhGUVVVM1JpeEhRVUZKTEVWQlFVRTBWQ3hIUVVGaE9WZ3NTMEZCVlN4TlFVa3pRaXhMUVVGSloxb3NSMEZCWVdJc1IwRkJZVW9zUlVGQmEwSTNWQ3hIUVVGSkxGRkJRVkVzVFVGQlR5eExRVUZMTEVWQlFVbEJMRWRCUTNoRksxVXNSMEZCV1d4YUxFZEJRVkUwUlN4RFFVRkhMRVZCUTNKQ0xFOUJRVThyVXl4SFFVRjNRaXhYUVVGaFFTeEZRVUZ2UW5GQ0xFVkJRV2RDUXl4RlFVRlZMRVZCUVVsRUxFVkJRemxHUVN4SFFVRnJRbG9zUlVGQldTeEpRVUZOWVN4SFFVRmhMRWxCUVUxQkxFZEJRV0VzUzBGRk1VVjRSU3hGUVVGWkxFbEJRVWxwUkN4RlFVRlJaU3hEUVVGSkxFVkJRelZDTEVsQlFVbFZMRWRCUVcxQ2NrTXNTMEZEZGtKeFF5eEhRVUZwUWl4SlFVRkpNMElzUjBGQlZTOURMRU5CUVZjc1JVRkRNVU41UXl4SFFVRlpNa0lzUlVGQlVYQkNMRVZCUTJoQ2VGZ3NSMEZEUVdsYUxFZEJRMEYyUWl4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOQlF5eEZRVU5CVEN4SlFVRjNRaXhUUVVGWFdTeEhRVUZ2UW5aWkxFZEJRVkUwUlN4RFFVRkhMRVZCUVVrc1MwRkJUM0ZVTEVWQlF6ZEZReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOQmJFTXNSVUZEUVcxRExFVkJRMEZETEVWQlEwRjZReXhGUVVOQmNVUXNSVUZEV2l4RFFVRlRMRVZCUTBvc1EwRkZSQ3hQUVVGUFRpeERRVU5ZTEVWQlJVbFBMRWRCUVRSQ0xGTkJRVzFETVVvc1JVRkJUU3hEUVVOeVJTeEhRVUZKTEVOQlFVTkJMRVZCUTBRc1QwRkJUelJJTEVWQlIxZ3NSMEZCU1N4UFFVRlBOVWdzUlVGQlN5eHBRa0ZCY1VJc1MwRkJaU3hQUVVGUFFTeEZRVUZMTEd0Q1FVRnhRaXhWUVVOcVJpeE5RVUZOTEVsQlFVa3NWVUZCVlN4M1JVRkJkMFVzUlVGSGFFY3NSMEZCU1N4UFFVRlBRU3hGUVVGTExHZENRVUZ2UWl4TFFVRmxMRTlCUVU5QkxFVkJRVXNzYVVKQlFXOUNMRlZCUXk5RkxFMUJRVTBzU1VGQlNTeFZRVUZWTEhWRlFVRjFSU3hGUVVjdlJpeEhRVUZKUVN4RlFVRkxMRlZCUVZrc1RVRkJVU3hQUVVGUFFTeEZRVUZMTEZGQlFWa3NTMEZCWlN4UFFVRlBRU3hGUVVGTExGTkJRVmtzVjBGRGVFWXNUVUZCVFN4SlFVRkpMRlZCUVZVc0swSkJRU3RDTEVWQlIzWkVMRWxCUVVsdlJ5eEZRVUZWY0Vjc1JVRkJTeXhUUVVGWE5FZ3NSVUZCVXl4UlFVTjJReXhIUVVGSkxFOUJRVTgxU0N4RlFVRkxMRkZCUVZrc1MwRkJaVUVzUlVGQlN5eFZRVUZaTEZOQlFWZEJMRVZCUVVzc1ZVRkJXU3hoUVVOd1JpeE5RVUZOTEVsQlFVa3NWVUZCVlN4dFJVRkJiVVVzUlVGSE0wWXNTVUZCU1hsSExFVkJRVk5zUWl4SFFVRlJMRkZCUTNKQ0xFZEJRVWtzVDBGQlQzWkdMRVZCUVVzc1QwRkJWeXhKUVVGaExFTkJRM0JETEVkQlFVa3NRMEZCUTBNc1IwRkJTU3hMUVVGTGMwWXNSMEZCVVN4WFFVRlpka1lzUlVGQlN5eE5RVUZOTEVWQlEzcERMRTFCUVUwc1NVRkJTU3hWUVVGVkxHbERRVUZwUXl4RlFVVjZSSGxITEVWQlFWTjZSeXhGUVVGTExFMUJRMnBDTEVOQlEwUXNTVUZCU1RSSkxFVkJRVmx5UkN4SFFVRlJMRmRCUVZkclFpeERRVUZOTEVWQlJYSkRLMElzUlVGQlUxb3NSVUZCVXl4UlFVTnNRaXhQUVVGUE5VZ3NSVUZCU3l4UlFVRlhMRmxCUVdNeFVDeEhRVUZSTUZBc1JVRkJTeXhOUVVGTkxFdEJRM2hFZDBrc1JVRkJVM2hKTEVWQlFVc3NVVUZIYkVJc1NVRkJTVEpLTEVWQlUwb3NSMEZTU1ROS0xFVkJRVXNzWlVGQlpYRklMRWRCUTNCQ2MwTXNSVUZCWXpOS0xFVkJRVXNzV1VGRFdpeFpRVUZoUVN4RlFVTndRakpLTEVWQlFXTXpTaXhGUVVGTExGRkJRVlVzVlVGQldTeFRRVVY2UXpKS0xFVkJRV012UWl4RlFVRlRMRmxCUjNaQ0xHMUNRVUZ2UWpWSUxFZEJRVkVzVDBGQlQwRXNSVUZCU3l4blFrRkJiVUlzVlVGRE0wUXNUVUZCVFN4SlFVRkpMRlZCUVZVc0swTkJRU3RETEVWQlIzWkZMRWxCUVVrd1NTeEZRVUZaTEU5QlFVOHhTU3hGUVVGTExGVkJRV01zU1VGQlkwRXNSVUZCU3l4clFrRkJiMElzUjBGQlR5eEhRVUZQTkVnc1JVRkJVeXhWUVVGWkxFTkJRVU1zUTBGQlF6VklMRVZCUVVzc1ZVRkZNMGdzVFVGQlR5eERRVU5JTEdWQlFXZENMRTlCUVU5QkxFVkJRVXNzWjBKQlFXMUNMRlZCUVZsQkxFVkJRVXNzWlVGQmFVSTBTQ3hGUVVGVExHVkJRekZHTEZWQlFWZGpMRVZCUTFnc2FVSkJRV3RDTEU5QlFVOHhTU3hGUVVGTExHdENRVUZ4UWl4VlFVRlpMRU5CUVVNc1EwRkJRMEVzUlVGQlN5eHBRa0ZCYlVJMFNDeEZRVUZUTEdsQ1FVTnNSeXhaUVVGaEswSXNSVUZEWWl4UlFVRlRka1FzUlVGRFZDeG5Ra0ZCYVVJc1QwRkJUM0JITEVWQlFVc3NhVUpCUVc5Q0xGVkJRVmxCTEVWQlFVc3NaMEpCUVd0Q05FZ3NSVU
1ZCVXl4blFrRkROMFlzWlVGQlowSTFTQ3hGUVVGTExHVkJRM0pDTEZWQlFWY3NUMEZCVDBFc1JVRkJTeXhWUVVGakxFbEJRV00wU0N4RlFVRlRMRlZCUVZrMVNDeEZRVUZMTEZWQlF6ZEZMRTlCUVZFc1QwRkJUMEVzUlVGQlN5eFJRVUZYTEZWQlFWbEJMRVZCUVVzc1QwRkJVelJJTEVWQlFWTXNUMEZEYkVVc1owSkJRV2xDTEU5QlFVODFTQ3hGUVVGTExHbENRVUZ2UWl4VlFVRlpRU3hGUVVGTExHZENRVUZyUWpSSUxFVkJRVk1zWjBKQlF6ZEdMRkZCUVZNc1QwRkJUelZJTEVWQlFVc3NVMEZCV1N4WFFVRmhRU3hGUVVGTExGRkJRVlUwU0N4RlFVRlRMRkZCUTNSRkxHbENRVUZyUWl4UFFVRlBOVWdzUlVGQlN5eHJRa0ZCY1VJc1ZVRkJXVUVzUlVGQlN5eHBRa0ZCYlVJMFNDeEZRVUZUTEdsQ1FVTm9SeXhQUVVGUldTeEZRVU5TTEU5QlFWRXZRaXhGUVVOU0xGVkJRVmR0UXl4RlFVTllMR05CUVdVc1QwRkJUelZKTEVWQlFVc3NaVUZCYTBJc1YwRkJZVUVzUlVGQlN5eGpRVUZuUWpSSUxFVkJRVk1zWTBGRGVFWXNWVUZCVnl4UFFVRlBOVWdzUlVGQlN5eFhRVUZqTEZWQlFWbEJMRVZCUVVzc1ZVRkJXVFJJTEVWQlFWTXNWVUZETTBVc1MwRkJUU3hQUVVGUE5VZ3NSVUZCU3l4TlFVRlRMRmRCUVdGQkxFVkJRVXNzUzBGQlR5eExRVU53UkN4dFFrRkJiMElzVDBGQlQwRXNSVUZCU3l4dlFrRkJkVUlzVlVGQldVRXNSVUZCU3l4dFFrRkJjVUkwU0N4RlFVRlRMR3RDUVVNNVJ5eERRVU5CTEVWQlJVRm5ReXhIUVVGcFFpeFRRVUZWTlVJc1JVRkJVV2hKTEVWQlFVMHNRMEZEY2tNc1NVRkJTVGxMTEVWQlFVMDRVeXhGUVVOT2Jra3NSVUZCVlRaS0xFZEJRVEJDTVVvc1EwRkJTU3hGUVVWNFEyOUtMRVZCUTBGYUxFVkJSVUVzVDBGQlR6TkpMRVZCUVZFc1VVRkJWeXhaUVVNeFFqSkpMRVZCUVZNelNTeEZRVUZSTEU5QlEycENNMHNzUlVGQlRYTlVMRVZCUVU4c1IwRkJTWFJVTEVOQlFVY3NSMEZEWWpWRkxFZEJRVkYxVUN4RlFVRlJMRTFCUVUwc1NVRkROMEl5U1N4RlFVRlRNMGtzUlVGQlVTeFBRVU5xUW5WS0xFVkJRVlZhTEVkQlIyUXNTVUZCU1hoSUxFVkJRVThzUTBGQlFTeEZRVVZZTEVkQlFVa3NUMEZCVHpsTUxFZEJRVkVzVlVGQldVRXNTVUZCVVN4TFFVTnVReXhOUVVGUExFZEJSMWdzU1VGQlNTdFRMRVZCUVhOQ1dpeEhRVUZ6UW5oSUxFVkJRVkVzVjBGQlZ5eEZRVU12UkhGSkxFVkJRV2xDUkN4SlFVRjNRaXhUUVVGWGNFa3NSVUZCVVN4bFFVVXpSSFZLTEVsQlEwUkJMRVZCUVZVc1QwRkJUeXhMUVVGTGJGVXNRMEZCUnl4SFFVZDZRakpMTEVWQlFWRXNUVUZEVW5WS0xFVkJRVkVzUzBGQlMzWktMRVZCUVZFc1NVRkJTU3hGUVVrM1FpeFJRVVJKYTBZc1JVRkJZM0ZETEV0QlExUXhXQ3hGUVVGSkxFVkJRVWRCTEVWQlFVa3dXaXhGUVVGUkxFOUJRVkVzUlVGQlJURmFMRVZCUVVjc1EwRkRja01zU1VGQlNTdEZMRVZCUVUweVZTeEZRVUZSTVZvc1EwRkJReXhGUVVWbWJWRXNSVUZCVVN4WFFVRmhNMHNzUlVGQlNWUXNRMEZCUnl4SlFVRk5MRTFCUjNSREsxTXNSMEZCV1hoSExFVkJRVTByUnl4SFFVTmtOMU1zUlVGQlNWUXNRMEZCUnl4RlFVTlFRU3hGUVVOQmQxUXNSVUZEUVVNc1JVRkRRWEpKTEVWQlFWRXNhVUpCUTFKQkxFVkJRVkVzYlVKQlExSkJMRVZCUVZFc1ZVRkRVa0VzUlVGQlVTeG5Ra0ZEVWtFc1JVRkJVU3hQUVVGVFFTeEZRVUZSTEZGQlFWVXNTMEZEYmtOQkxFVkJRVkVzVDBGRFVrRXNSVUZCVVN4TFFVTlNRU3hGUVVGUkxGVkJRMUpCTEVWQlFWRXNZMEZEVWtFc1JVRkJVU3hQUVVOU1FTeEZRVUZSTEZWQlExSkJMRVZCUVZFc2FVSkJRMUpCTEVWQlFWRXNVVUZEVW10R0xFTkJRMW9zUTBGQlV5eERRVU5LTEVOQlJVUXNTVUZCU1RoRkxFVkJRVk0zU1N4RlFVRkxMRXRCUVV0dVFpeEZRVUZSTEZOQlFWTXNSVUZEY0VONVNDeEZRVUZUZWtnc1JVRkJVU3hwUWtGQmJVSXNSMEZCVHl4SlFVRk5MRWRCUlhKRUxFOUJRVWxCTEVWQlFWRXNhMEpCUTBwQkxFVkJRVkVzVlVGQldTeGhRVVZ3UW5sSUxFZEJRVlVzZFVKQlIxWkJMRWRCUVZVc2JVSkJTVmgxUXl4RlFVRlBMRTlCUVZNc1JVRkJTWFpETEVWQlFWTjFReXhGUVVGVExFVkJRMnBFTEVWRE5WWkpNVU1zUjBGQlVYQlhMRWRCUlZKclVDeEhRVUZOTEU5QlFVOHNWVUZCVlN4bFFVTjJRak5RTEVkQlFWVXNUVUZCVFN4UlFVVm9Rbk5ZTEVWQlFWY3NRMEZEV0N4VlFVRlhMRWRCUTFnc2FVSkJRV3RDTEVkQlEyeENMR2RDUVVGcFFpeEhRVU5xUWl4WlFVRmhMRWRCUTJJc1YwRkJXU3hIUVVOYUxGRkJRVk1zVVVGRFZDeG5Ra0ZCYVVJc1IwRkRha0lzVFVGQlR5eEhRVU5RTEdkQ1FVRnBRaXhIUVVOcVFpeFJRVUZUVkN4SFFVRk5MRTlCUTJZc1ZVRkJWeXhKUVVOWUxFMUJRVThzUlVGRFVDeFhRVUZaTEZWQlExb3NhMEpCUVcxQ0xFZEJRMjVDTEhsQ1FVRXdRaXhIUVVNeFFpeGxRVUZuUWl4SlFVTm9RaXhaUVVGaExFZEJRMklzWVVGQll5eEhRVU5rTEcxQ1FVRnZRaXhGUVVONFFpeEZRVVZKTWtNc1IwRkJNa0lzVTBGQlZYSlVMRVZCUVVzc1EwRkRNVU1zVDBGQlQwRXNSVUZCU1N4UlFVRlJMRmxCUVdFc1UwRkJWV2xSTEVWQlFVbHhSQ3hGUVVGWExFTkJRM0pFTEU5QlFVOHNUMEZCVHl4aFFVRmhMRk5CUVZOQkxFVkJRVmNzUlVGQlJTeERRVUZETEVOQlF6RkVMRU5CUVVzc1EwRkRUQ3hGUVVWSlF5eEhRVUZyUWl4VFFVRlZiRVFzUlVGQlMycElMRVZCUVZNc1EwRkRNVU1zVDBGQlNXbElMRWRCUVU4c1QwRkJUMEVzUjBGQlVTeFZRVUZaYWtnc1JVRkJVU3hQUVVGVGFVZ3NSVUZCU1N4UlFVRlJMRWRCUVVjc1JVRkJTU3hIUVVNdlJFRXNSVUZCU1N4TlFVRk5MRWRCUVVjc1JVRkhha0pCTEVOQlExZ3NSVUZQU1cxRUxFZEJRV01zYzBKQlIyUkRMRWRCUVd0Q0xHbENRVVZzUWtNc1IwRkJZeXhUUVVGblF6RlVMRVZCUVV0dlNpeEZRVUZUTEVOQlF6VkVMRWxCUVVrelN5eEZRVUZOTEVOQlFVVXNWVUZCVnl4TlFVVnVRbXRXTEVWQlFWZDJTeXhGUVVGUkxHdENRVUZ2UW5CS0xFVkJRVWtzVVVGQlVTeE5RVUZQTEVWQlFVVXNSVUZCU1VFc1JVRkRhRVUwVkN4RlFVRlJlRXNzUlVGQlVTeHBRa0ZCYlVJc1NVRkJWeXhQUVVGWlFTeEZRVUZSTEdWQlEyeEZMMUFzUlVGQlVYTmhMRVZCUVZNc1RVRkJUWFpMTEVWQlFWRXNWVUZCVjNkTExFTkJRVXNzUlVGREwwTkRMRV
1ZCUVZrc1IwRkRXalZoTEVWQlJVRXdWeXhGUVVGVmRrY3NSVUZCVVN4UlFVTjBRaXhIUVVGSlFTeEZRVUZSTEdkQ1FVTlNMRWxCUVV0dVVTeEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVTBzVDBGQlVTeEZRVUZGU2l4RlFVTjRRa2tzUlVGQlRVb3NRMEZCUXl4RlFVRkZMRkZCUVZFc1QwRkJUeXhKUVVGTkxFbEJRekZDU1N4RlFVRk5TaXhEUVVGRExFbEJRVTEzWVN4SFFVTmlPVVFzUlVGQlZTeFJRVU5JZEZjc1JVRkJUVW9zUTBGQlF5eEpRVUZOZFdFc1MwRkRjRUkzUkN4RlFVRlZMR05CUldSclJTeEZRVUZaTldFc1JVRkRXa0VzUlVGQlNVa3NSVUZCVFN4UlFVdDBRaXhKUVVGTFNpeEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVTBzVDBGQlVTeEZRVUZGU2l4RlFVTTFRaXhIUVVGSlFTeEpRVUZOTkdFc1JVRkhWaXhMUVVGSmNsQXNSVUZCVDI1TUxFVkJRVTFLTEVOQlFVTXNSVUZGWkRaaExFVkJRVzFDZEZBc1JVRkJTeXhSUVVGUkxFbEJRVWtzUlVGRGNFTm5UeXhGUVVGTmMwSXNTVUZCY1VJc1IwRkJTM1JRTEVWQlFVc3NVVUZCVVN4SFFVRkhMRVZCUVVselVDeEZRVUZ0UWl4RlFVVjJSVGxXTEVWQlFVdHhVeXhGUVVOTWJVTXNTVUZCVVN4SlFVTlNlRlVzUlVGQlRXOU1MRVZCUVZFc1VVRkJVVFZGTEVWQlFVMHlUU3hGUVVGVExGRkJRVk40UWl4RlFVRlRMRXRCUVVzc1JVRkROVVJWTEVWQlFVMXFTQ3hGUVVGUkxHMUNRVUZ4UWl4TFFVRlBMRXRCUlRGRGNFd3NSVUZCVFc5TUxFVkJRVkVzVVVGQlVUVkZMRVZCUVVzc1RVRkJUU3hGUVVGSFowOHNRMEZCUnl4RlFVRkhja0lzUlVGQlV5eFJRVUZUZUVJc1JVRkJVeXhMUVVGTE
1xFVkJRekZGVlN4RlFVRk5TeXhIUVVGTkxGTkJRMUkyUXl4SFFVRm5RaTlQTEVWQlFVc3NUVUZCVFdkUExFVkJRVTBzUTBGQlF5eEZRVUZIY0Vvc1EwRkJUeXhGUVVNMVF5eFRRVUZWTWtzc1JVRkJXU3hEUVVOc1FpeFBRVUZQTTBzc1JVRkJVU3hSUVVGUk1rc3NSVUZCV1RWRExFVkJRVk1zVVVGQlUzaENMRVZCUVZNc1QwRkJUeXhEUVVONFJTeERRVU5xUWl4SFFVZFpWU3hIUVVGUGFrZ3NSVUZCVVN3d1FrRkJORUoxUnl4SlFVRlpMR1ZCUTNaRVZTeEZRVUZOWjBRc1IwRkJlVUpvUkN4RFFVRkhMRWRCUjJ4RE4wd3NSVUZCU3l4UlFVRlJMRXRCUVVzc1JVRkJTU3hMUVVOMFFqWk1MRVZCUVUxNFZ5eEhRVUZSZDFjc1EwRkJSeXhGUVVGSkxFTkJRVU5CTEVOQlFVY3NSVUZCU1VFc1IwRkhha01zU1VGQlNUSkVMRVZCUVZkNFN5eEhRVUZKTEV0QlFVc3ZTeXhGUVVGTFZDeERRVUZITEVWQlF6VkNaMWNzUjBGQldUVkxMRVZCUVZFc1lVRkJaU3hWUVVOdVF6TkxMRVZCUVVsVUxFTkJRVWNzUlVGQlNUQlRMRWRCUVUwc1VVRkJVV3BUTEVWQlFVbFVMRU5CUVVjc1JVRkJSM0ZUTEVOQlFVY3NSMEZETDBJc1EwRkJRekpFTEVkQlFWazFTeXhGUVVGUkxHRkJRV1VzVlVGRE0wTXpTeXhGUVVGSlZDeERRVUZITEVWQlFVbHhVeXhIUVVsdVFpeFBRVUZQTlZJc1EwRkRXQ3hGUVVWSmQxWXNSMEZCWXl4VFFVRlZReXhGUVVGUE4wUXNSVUZCUzJwSUxFVkJRVk1yU3l4RlFVRmpMRU5CUnpORUxGRkJSa2xETEVWQlFVOUVMRVZCUVdVNVJDeEZRVUZOYTBRc1IwRkJaMEpzUkN4RlFVRkxha2dzUTBGQlR5eEZRVVZ1Ukc1UkxFVkJRVWxwWWl4RlFVRk5MRTlCUVZNc1JVRkJSMnBpTEVkQlFVc3NSVUZCUnl4RlFVRkZRU3hGUVVGSExFTkJRM2hETEVsQlFVbDNSaXhGUVVOQmFFZ3NSVUZCVDNsakxFVkJRVTFxWWl4RFFVRkRMRVZCUld4Q0xFZEJRVWw0UWl4SlFVRlRMRTFCUVZFeVVpeEZRVUZSTEZsQlEzcENNMHNzUlVGQlRUSkxMRVZCUVZFc2EwSkJRVzlDWjB3c1NVRkJVeXhIUVVGTExFTkJRVUVzUlVGQlN5eERRVUZGTEVWQlFVTXNUMEZCVDBFc1EwRkJTU3hOUVVOb1JTeERRVU5JTTFZc1JVRkJUVEpMTEVWQlFWRXNZVUZCWlN4UFFVRlBMRTlCUVU4c1NVRkJTU3hGUVVGSkxFZEJRMjVFTEVsQlFVbHBUQ3hGUVVGWk5XTXNSVUZCU3l4UFFVRlBMRU5CUVVNc1NVRkJUU3hMUVVGUFFTeEZRVUZMTEU5QlFVOUJMRVZCUVVzc1QwRkJVeXhEUVVGRExFbEJRVTBzU1VGQlRVRXNSVUZCU3l4TlFVRk5MRVZCUVVjc1JVRkJSU3hGUVVGSlFTeEZRVU5xUnpaakxFVkJRV05zVEN4RlFVRlJMR2RDUVVGclFtbE1MRVZCUVZVc1VVRkJVU3hQUVVGUkxFZEJRVWNzUlVGQlNVRXNSVUZEZWtWMldDeEZRVUZSTEZOQlFWTjNXQ3hGUVVGaExFVkJRVVVzUlVGRGFFTXNRMEZCUTJ4TUxFVkJRVkVzWVVGQlpXdE1MRWxCUVdkQ0xFZEJRM2hETjFZc1JVRkJUU3hEUVVGRkxFVkJRVWN5Vml4SFFVVllMRU5CUVVNc1RVRkJUWFJZTEVOQlFVc3NSMEZEVkhKR0xFbEJRVk0yWXl4SFFVTlVMRTlCUVU5NFdDeERRVUZMTEVsQlFVMTNXQ3hIUVVOc1FuaFlMRWRCUVZNc1IwRkRVbk5OTEVWQlFWRXNZVUZCWlhSTkxFZEJRVk56VFN4RlFVRlJMRmxCUlRWRE0wc3NSVUZCVFN4RFFVRkJMRVZCUTA1QkxFVkJRVWt6UWl4RFFVRkxMRVZCUVVseldDeEhRVU5PUlN4SlFVRm5RaXhqUVVOMlFqZFdMRVZCUVVrMlZpeERRVUZYTEVWQlFVbEdMRVZCUlRGQ0xFTkJSVVJCTEVWQlFVOHpWaXhEUVVOV0xFTkJSVVFzVDBGQlR6SldMRU5CUTFnc1JVRkZTVWNzUjBGQldTeFRRVUU0UWtNc1JVRkJWVzVGTEVWQlFVdHFTQ3hGUVVGVEswc3NSVUZCWXl4RFFVTm9SaXhIUVVGTFN5eEZRVXRNTEV0QlFVbDRWeXhGUVVGTmIwd3NSVUZCVVN4VlFVRlpiMHdzUlVGQlV5eFJRVUZSTEdOQlFXVXNUVUZCVFN4RlFVRkpRU3hGUVVsd1JVTXNSVUZCVnl4bFFVTllReXhGUVVGUkxHZENRVWxTUXl4RlFVRlZka3dzUlVGQlVTeE5RVUZSTEVkQlFVdHhUQ3hGUVVGVExFdEJRVXQ2Vnl4RFFVRkhMRVZCUTJoRU5GY3NSVUZCVTBRc1JVRkJWVE5YTEVWQlFVa3NUVUZCVFN4RlFVRkhNbGNzUlVGQlVTeExRVUZMTEVWQlFVa3pWeXhGUVVscVJIVk5MRVZCUVU4c1EwRkJRU3hGUVVOWUxFZEJRVWx4U3l4RlFVRlJMRU5CUlZJc1IwRkJTU3hEUVVGRGVFd3NSVUZCVVN4alFVRm5Ra2tzUjBGQlNTeExRVUZMTEU5QlFVOHNWVUZCVjI5TUxFTkJRVTBzUjBGRGRFUXNRMEZCUTNoTUxFVkJRVkVzWjBKQlExUXNUMEZKVW0xQ0xFVkJRVXNzUzBGQlMzRkxMRU5CUVUwc1EwRkRia0lzUTBGTFJDeFJRVVJKTTJJc1JVRkJTU3hGUVVORWJWRXNSVUZCVVN4TlFVRlJMRWxCUVUxMVRDeEZRVUZWUkN4RlFVRk5MRXRCUVVzeFZ5eERRVUZITEV0QlFVOHNUVUZCVVM5RkxFVkJRVWx0VVN4RlFVRlJMRTlCUVU4c1EwRkZia1lzUjBGRVFXNVJMRWRCUVVzc1JVRkRSQ3hEUVVGRGJWRXNSVUZCVVN4alFVRm5Ra2tzUjBGQlNTeExRVUZMTEU5QlFVOHNWVUZCVjIxTUxFVkJRVkVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUnl4RlFVRkZMRU5CUVVNc1IwRkRka1VzUTBGQlEzWk1MRVZCUVZFc1owSkJRMVFzVDBGSFVtMUNMRVZCUVVzc1MwRkJTMjlMTEVWQlFWRXNRMEZCUXl4RFFVRkRMRU5CUTNaQ0xFTkJTVVFzVDBGQlNVRXNSMEZEUVhCTExFVkJRVXNzUzBGQlN5eEpRVUZOZGswc1JVRkJTU3hOUVVGTk1sY3NSVUZCVVN4TFFVRkxMRVZCUVVrc1IwRkJSeXhGUVVjelExWXNSMEZCV1RGS0xFVkJRVTA0Uml4RlFVRkxha2dzUlVGQlV5dExMRU5CUVZrc1JVRkRka1FzUlVGRlNWVXNSMEZCZDBJc1UwRkJLMEowVEN4RlFVRk5MRU5CUXpkRUxFZEJRVWtzUTBGQlEwRXNSVUZEUkN4UFFVRlBORWdzUlVGSFdDeEhRVUZKTEU5QlFVODFTQ3hGUVVGTExHbENRVUZ4UWl4TFFVRmxMRTlCUVU5QkxFVkJRVXNzYTBKQlFYRkNMRlZCUTJwR0xFMUJRVTBzU1VGQlNTeFZRVUZWTEhkRlFVRjNSU3hGUVVkb1J5eEhRVUZKTEU5QlFVOUJMRVZCUVVzc1owSkJRVzlDTEV0QlFXVXNUMEZCVDBFc1JVRkJTeXhwUWtGQmIwSXNWVUZETDBVc1RVRkJUU3hKUVVGSkxGVkJRVlVzZFVWQlFYVkZMRVZCUnk5R0xFZEJRVWxCTEVWQlFVc3NWVUZCV1N4TlFVRlJMRTlCUVU5QkxFVkJRVXNzVVVGQldTeExRVUZsTEU5QlFVOUJMRVZCUVVzc1UwRkJXU3hYUVVONFJpeE5RVUZOTEVsQlFVa3NWVUZCVlN3clFrRkJLMElzUlVGSGRrUXNSMEZCU1N4UFFVRlBRU3hGUVVGTExGRkJRVmtzUzBGQlpVRXNSVUZCU3l4VlFVRlpMRk5CUVZkQkxFVkJRVXNzVlVGQldTeGhRVU53Uml4TlFVRk5MRWxCUVVrc1ZVRkJWU3h0UlVGQmJVVXNSVUZGTTBZc1NVRkJTVzlITEVWQlFWVXNUMEZCVDNCSExFVkJRVXNzVVVGQldTeEpRVUZqTkVnc1JVRkJVeXhSUVVGVk5VZ3NSVUZCU3l4UlFVVjRSWFZNTEVWQlFXRXNUMEZCVDNaTUxFVkJRVXNzVjBGQlpTeEpRVUZqTkVnc1JVRkJVeXhYUVVGaE5VZ3NSVUZCU3l4WFFVVnlSaXhIUVVGSmRVd3NTVUZCWlN4WFFVRmhRU3hKUVVGbExGTkJRVmRCTEVsQlFXVXNUMEZEY2tVc1RVRkJUU3hKUVVGSkxGVkJRVlVzT0VSQlFUaEVMRVZCUjNSR0xFbEJRVWszUXl4RlFVRlpMRTlCUVU4eFNTeEZRVUZMTEZWQlFXTXNTVUZCWTBFc1JVRkJTeXhyUWtGQmIwSXNSMEZCVHl4SFFVRlBORWdzUlVGQlV5eFZRVUZaTEVOQlFVTXNRMEZCUXpWSUxFVkJRVXNzVlVGRk0wZ3NUVUZCVHl4RFFVTklMRlZCUVZjd1NTeEZRVU5ZTEdsQ1FVRnJRaXhQUVVGUE1Va3NSVUZCU3l4clFrRkJjVUlzVlVGQldTeERRVUZETEVOQlFVTkJMRVZCUVVzc2FVSkJRVzFDTkVnc1JVRkJVeXhwUWtGRGJFY3NaMEpCUVdsQ0xFOUJRVTgxU0N4RlFVRkxMR2xDUVVGdlFpeFZRVUZaUVN4RlFVRkxMR2RDUVVGclFqUklMRVZCUVZNc1owSkJRemRHTEZsQlFXRXNUMEZCVHpWSUxFVkJRVXNzWVVGQlowSXNWVUZCV1VFc1JVRkJTeXhaUVVGak5FZ3NSVU
1ZCVXl4WlFVTnFSaXhYUVVGWkxFOUJRVTgxU0N4RlFVRkxMRmxCUVdVc1UwRkJWMEVzUlVGQlN5eFhRVUZoTkVnc1JVRkJVeXhYUVVNM1JTeFJRVUZUZUVJc1JVRkRWQ3huUWtGQmFVSXNUMEZCVDNCSExFVkJRVXNzYVVKQlFXOUNMRlZCUVZsQkxFVkJRVXNzWjBKQlFXdENORWdzUlVGQlV5eG5Ra0ZETjBZc1RVRkJUeXhQUVVGUE5VZ3NSVUZCU3l4UFFVRlZMRlZCUVZsQkxFVkJRVXNzVFVGQlVUUklMRVZCUVZNc1RVRkRMMFFzWjBKQlFXbENMRTlCUVU4MVNDeEZRVUZMTEdsQ1FVRnZRaXhWUVVGWlFTeEZRVUZMTEdkQ1FVRnJRalJJTEVWQlFWTXNaMEpCUXpkR0xGRkJRVk1zVDBGQlR6VklMRVZCUVVzc1UwRkJXU3hYUVVGaFFTeEZRVUZMTEZGQlFWVTBTQ3hGUVVGVExGRkJRM1JGTEZWQlFWY3NUMEZCVHpWSUxFVkJRVXNzVjBGQll5eFZRVUZaYlVnc1IwRkJUU3hUUVVGVGJrZ3NSVUZCU3l4VFFVRlRMRVZCUVVsQkxFVkJRVXNzVlVGQldUUklMRVZCUVZNc1ZVRkZOVWNzVFVGQlVTeFBRVUZQTlVnc1JVRkJTeXhQUVVGVkxGVkJRVmxCTEVWQlFVc3NVVUZCVlN4SFFVRlRMRU5CUVVOQkxFVkJRVXNzVFVGQlVUUklMRVZCUVZNc1RVRkRla1lzVjBGQldUSkVMRVZCUTFvc2EwSkJRVzFDZGt3c1JVRkJTeXh2UWtGQmMwSXNSMEZET1VNc2VVSkJRVEJDTEU5QlFVOUJMRVZCUVVzc01FSkJRVFpDTEZWQlFWbEJMRVZCUVVzc2VVSkJRVEpDTkVnc1JVRkJVeXg1UWtGRGVFZ3NaVUZCWjBJc1QwRkJUelZJTEVWQlFVc3NaMEpCUVcxQ0xGTkJRVmRCTEVWQlFVc3NaVUZCYVVJMFNDeEZRVUZUTEdWQlEzcEdMRmxCUVdFMVNDeEZRVUZMTEdOQlFXZENMRWRCUTJ4RExHRkJRV01zVDBGQlQwRXNSVUZCU3l4alFVRnBRaXhWUVVGWlFTeEZRVUZMTEdGQlFXVTBTQ3hGUVVGVExHRkJRM0JHTEcxQ1FVRnZRaXhQUVVGUE5VZ3NSVUZCU3l4dlFrRkJkVUlzVlVGQldVRXNSVUZCU3l4dFFrRkJjVUkwU0N4RlFVRlRMR3RDUVVNNVJ5eERRVU5CTEVWQlJVRTBSQ3hIUVVGcFFpeFRRVUZWTDFVc1JVRkJTM1ZLTEVWQlFVMHNRMEZEYkVNc1NVRkJTVWdzUlVGQlZYbE1MRWRCUVhOQ2RFd3NRMEZCU1N4RlFVVjRReXhIUVVGSmRrb3NTVUZCVVN4SlFVRk5RU3hKUVVGUkxFMUJRVkVzVDBGQlQwRXNSVUZCVVN4SlFVTTNReXhQUVVGUGIwb3NSVUZCVVN4aFFVRmxMRTlCUVU4c1QwRkJUeXhKUVVGSkxFVkJRVWtzUjBGVGVFUXNVVUZPU1RSTUxFVkJRVlVzVDBGQlQyaFdMRWRCUVZFc1UwRkJWekJVTEVkQlFWa3hWQ3hGUVVGTGIwb3NRMEZCVHl4RlFVRkpjRW9zUlVGRGFFVjJRaXhGUVVGTk1rc3NSVUZCVVN4aFFVRmxMRTlCUVU4c1QwRkJUeXhKUVVGSkxFVkJRVWtzUjBGSmJrUnRRaXhGUVVGUExFOUJRVThzUzBGQlMzbExMRU5CUVU4c1JVRkRja0l2WWl4RlFVRkpMRVZCUVVkQkxFVkJRVWx6VWl4RlFVRkxMRTlCUVZFc1JVRkJSWFJTTEVWQlFVY3NRMEZEYkVNc1NVRkJTU3RGTEVWQlFVMTFUU3hGUVVGTGRGSXNRMEZCUXl4RlFVTmFaMk1zUlVGQlUxWXNSMEZCVlhaWExFVkJRVXRuV0N4RlFVRlJhRmdzUTBGQlJ5eEZRVUZIYjB3c1JVRkJVeXhQUVVGUGNFb3NSMEZCVVN4UlFVRlJMRVZCUXpGRmRrSXNSVUZCVFdsVExFZEJRVTBzVFVGQlRXcFRMRVZCUVV0M1Z5eEZRVUZSTjB3c1EwRkJUeXhEUVVONlF5eERRVVZFTEU5QlFVbEJMRVZCUVZFc1kwRkJaMElzUjBGRGFrSXpTeXhGUVVkS2FWTXNSMEZCVFN4UlFVRlJhbE1zUTBGQlJ5eERRVU0xUWl4RlF6ZFNTVFpUTEVkQlFWbG9XQ3hIUVVOYWVXRXNSMEZCVVhKaExFZEJRMUp2VlN4SFFVRlZibFFzUjBGRlpIVmFMRWRCUVdsQ0xFTkJRMklzVVVGQlUzQkhMRWRCUTFRc1RVRkJUMmxITEVkQlExQXNWVUZCVjNwRUxFVkJRMllzWlVOVVFTeEpRVUZKTmtRc1JVRkJiVUoyWkN4SFFVRlJRU3hGUVVGTExHbENRVUZ2UWl4VFFVRlZkMlFzUlVGQlN5eERRVU51UlN4UFFVRlJRU3hIUVVGUFFTeEZRVUZKTEZkQlFXTkJMRVZCUVUwc1EwRkJSU3hSUVVGWFFTeEZRVU40UkN4RlFVTkJMRTlCUVU4c1pVRkJZME1zUlVGQlZTeGhRVUZqTEVOQlFVVXNUVUZCVHl4RlFVRkpMRU5CUVVVc1JVRkROVVJCTEVWQlFUaENMRzlDUVVGQlFTeEZRVUZCTEhkQ1FVRnJReXhQUVVOb1JTeE5RVUZOUXl4RlFVRlBTQ3hGUVVGblFqZGhMRVZCUVdFc1JVRkRjRU54UkN4RlFVRmpha1FzUjBGRFpHZENMRVZCUVZsRExFZEJRMXBLTEVWQlFXRkxMRWRCUTI1Q2VWb3NSVUZCYTBNc2QwSkJRVUVzUTBGRE9VSXNUMEZCVVN4SFFVTlNMRkZCUVZNc1EwRkJRM0pXTEVWQlFVczRVQ3hGUVVGblFrZ3NSVUZCVTNKWExFbEJRMmhEUVN4SlFVRlRMRkZCUTBaM1Z5eEZRVUZsT1ZBc1JVRkJTemhRTEVWQlFXZENTQ3hEUVVGUExFVkJSUzlETTFBc1JVRkZXQ3hWUVVGWExFZEJRMWdzVlVGQlZ5eEhRVU5ZTEZGQlFWTXNSMEZEVkN4WlFVRmhMRmRCUTJJc1pVRkJaMElzUlVGRGNFSXNSVUZIUVN4VFFVRlRkVllzUlVGQmIwSkRMRVZCUVZGd1RTeEZRVUZWTEVkQlFVa3NRMEZETDBNc1RVRkJUWEZOTEV0QlFYVkNPVmdzUlVGQldTeFhRVUZYTUZnc1JVRkJVU3gzUWtGQmVVSnFUU3hEUVVGUExFVkJRelZHTEZOQlFWRXhUaXhGUVVGVkxGTkJRVk00V2l4RFFVRk5MRVZCUTNSQ0xFMUJSVWhxWVN4RlFVRlhMRlZCUVZWcFlTeERRVUZOTEVWQlEzaENMRWRCUVVkRExFVkJRV2xDTEdWQlFXbENMRWxCUVUwc1JVRkJSU3hIUVVGSFJDeERRVUZOTEVkQlJURkVSaXhGUVVGTExGRkJRVkVzVlVGQlZVVXNSVUZCVVVNc1EwRkJaMElzUTBGRGVrUXNRMEZEUkVvc1JVRkJRU3h2UWtGQk9FSkZMR3RDUTI1RE9VSXNUMEZCVHl4bFFVRmxSeXhIUVVGVExHRkJRV01zUTBGQlJTeE5RVUZQTEVWQlFVa3NRMEZCUlN4RlFVTnNRMEVzUjBGQlFTeHRRa0ZCUnl4UFFVTTNRaXhUUVVGVFF5eEhRVUZ0UW5Sa0xFVkJRVXNzUTBGRE4wSXNSMEZCU1N4RFFVRkRRU3hIUVVGUExFOUJRVTlCTEVkQlFWRXNVMEZEZGtJc1RVRkJUeXhEUVVGRExFZEJRVWtzUlVGQlJTeEZRVVZzUWl4SlFVRkpkV1FzUlVGQldYWmtMRVZCVFdoQ2RXUXNSVUZCV1VFc1JVRkJWU3hOUVVGTkxFZEJRVWNzUlVGQlJTeERRVUZETEVWQlRXeERRU3hGUVVGWlFTeEZRVUZWTEUxQlFVMHNSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRk5iRU1zVFVGQlRVTXNSVUZCWjBKRUxFVkJRVlVzVFVGQlRTeEhRVUZITEVWQlEyNURjRlFzUlVGQlQzRlVMRVZCUVdOQkxFVkJRV01zVDBGQlV5eERRVUZETEVWQlEyNUVMRWRCUVVrc1EwRkJRM0pVTEVWQlFVc3NVMEZCVXl4SFFVRkhMRVZCUTJ4Q0xFMUJRVThzUTBGQlEwRXNSVUZCVFN4RlFVRkZMRVZCVVhCQ0xFMUJRVTF6VkN4RlFVRnJRblJVTEVWQlFVc3NUVUZCVFN4SFFVRkhMRVZCUTJoRExFTkJRVU4xVkN4RlFVRlhMRWRCUVVkRExFTkJRVkVzUlVGQlNVWXNSVUZCWjBJc1VVRkJUeXhGUVVONFJDeE5RVUZQTEVOQlFVTkZMRVZCUVZNc1ZVRkJWU3hMUVVGTExFZEJRVWNzUlVGQlIwUXNSVUZCVlN4clFrRkJhVUlzUTBGQlJTeERRVU4yUlN4RFFVTkJSU3hIUVVGQkxHMUNRVUUyUWs0c1lVTjJRemRDTEU5QlFVOHNaVUZCWlU4c1IwRkJVeXhoUVVGakxFTkJRVVVzVFVGQlR5eEZRVUZKTEVOQlFVVXNSVUZEYmtOQkxFZEJRVUVzYTBKQlFVY3NUMEZETlVJc1NVRkJTVU1zUjBGQlpTeERRVUZCTEVWQlEyNUNMRk5CUVZORExFZEJRV3RDZEdRc1JVRkJSeXhEUVVNeFFpeEpRVUZKZFdRc1JVRkJXU3hIUVVWb1FpeEhRVUZKTEU5QlFVOUdMRWRCUVdFc1JVRkJUU3hMUVVGbExFOUJRVTlCTEVkQlFXRXNSVUZCVFN4SlFVRmhMRU5CUldoR0xFMUJRVTFITEVWQlFWTklMRWRCUVdFc1JVRkJTWEprTEVWQlFVVXNVVUZETlVKNVpDeEZRVUZUU2l4SFFVRmhMRVZCUVVseVpDeEZRVUZGTEZGQlJUbENMRXRCUVVzc1NVRkJTWGRrTEVOQlFVMHNSVUZCU1N4TFFVRkxMRWxCUVVsRExFTkJRVTBzUjBGQlMwUXNSVUZCVXl4RlFVTm9SRVFzUlVGQldTeFBRVVZRTEV0QlFVc3NTVUZCU1VNc1EwRkJUU3hGUVVGSkxFdEJRVXNzU1VGQlNVTXNRMEZCVFN4SFFVRkxS
1Q3hGUVVGVExFVkJRM0pFUkN4RlFVRlpMRkZCUlZBc1MwRkJTeXhKUVVGSlJTeERRVUZOTEVWQlFVa3NTMEZCU3l4SlFVRkpSQ3hEUVVGTkxFZEJRVXRETEVWQlFWTXNSVUZEY2tSR0xFVkJRVmtzUzBGRlVDeExRVUZMTEVsQlFVbEZMRU5CUVUwc1JVRkJTU3hMUVVGTExFbEJRVWxFTEVOQlFVMHNSMEZCUzBNc1JVRkJVeXhKUVVOeVJFWXNSVUZCV1N4UFFVVnVRaXhEUVVWRUxFOUJRVUZHTEVkQlFXVXNRMEZEV0N4RlFVRkhjbVFzUlVGQlJTeFJRVU5NTEVWQlFVZEJMRVZCUVVVc1QwRkRZaXhGUVVOWGRXUXNRMEZEV0N4RFFVTkJSeXhIUVVGQkxHdENRVUUwUWtvc01FSkRMMEkxUWl4UFFVRlBMR1ZCUVdObUxFVkJRVlVzWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUXpWRVFTeEZRVUZCTEdkQ1FVRXdRa0VzUlVGQmFVSXNUMEZCUVVFc1JVRkJRU3hQUVVGcFFpeFBRVU0xUkN4TlFVRk5lbUlzUlVGQldWVXNSMEZEV205Q0xFVkJRVmxvUWl4SFFVTnNRaXhOUVVGTksySXNRMEZCVHl4RFFVVlVMRmxCUVZseVRpeEZRVUZUTEVOQlJISkNjMDRzUlVGQlFTeGpRVUZUTEVsQlRWUkJMRVZCUVVFc1YwRkJUU3hEUVVGRFF5eEZRVUZQUXl4RlFVRlBlbGNzU1VGQlV5eFBRVU14UWl4TlFVRk5NRmNzUlVGQlZTeERRVUZETEVkQlFVY3NTMEZCU3l4UFFVRlRMRWxCUVVrc1MwRkJTeXhOUVVGTkxFdEJRVThzUlVGQlJTeEhRVUZIUkN4RFFVRkxMRVZCUVVVc1MwRkROVVJvWkN4RlFVRlZMRk5CUVZOMVJ5eERRVUZKTEVkQlFVc3NTVUZCUzNwRkxFVkJRVlVzVTBGQlUzbEZMRU5CUVVrc1IwRkROVVJCTEVWQlFVc3NVVUZCVTNKSkxFZEJRVk1zUTBGRGJrSXJaU3hGUVVGUkxFdEJRVXM3UVVGQlFUdEJRVUZCTEVOQlFVMHNSVUZEYmtKQkxFVkJRVkVzUzBGQlN5OWxMRU5CUVVrc1EwRkRha01zUTBGQllTeEhRVWRNT0VVc1JVRkJRU3hSUVVGUksxb3NTMEZCVWl4TlFVRkJMMW9zUlVGQlFTeGhRVUZwUWl4SFFVRkhhV0VzUlVGRE5VSXNSMEZEU1Vnc1JVRkJRU3haUVVGUExFTkJRVU5GTEV0QlFWVkZMRWxCUVdFc1EwRkRNMElzUzBGQlN5eEpRVUZKTEU5QlFWRkdMRVZCUVU5RkxFTkJRVkVzUTBGRGVFTXNSMEZEU1Vvc1JVRkJRU3haUVVGUExFTkJRVU5GTEV0QlFWVkZMRWxCUVdFc1EwRkRNMElzUzBGQlN5eEpRVUZKTEU5QlFWRkdMRVZCUVU5RkxFTkJRVkVzUTBGRGVFTXNSMEZEU1Vvc1JVRkJRU3hoUVVGVE5XVXNSMEZCVXl4RFFVVmtMRkZCUVZFc1RVRkJUVUVzUTBGQlNTeERRVU14UWl4SFFVTkpOR1VzUlVGQlFTeGhRVUZSTEVOQlFVTkZMRXRCUVZWRkxFbEJRV0VzUTBGTE5VSXNSMEZCU1VZc1lVRkJhVUlzVDBGQlUwRXNSVUZCVFN4UlFVRlRMRU5CUTNwRExFdEJRVXNzU1VGQlNTeFJRVUZUUVN4RlFVRk5MRkZCUVZNc1EwRkJRMEVzUlVGQlR5eEhRVUZIUlN4RFFVRlJMRU5CUVVNc1JVRkRja1FzVFVGRFNDeERRVU5FTEV0QlFVc3NTVUZCU1N4UlFVRlRSaXhGUVVGUFJTeERRVUZSTEVOQlEzcERMRWRCYmtOWkxFOUJRVTh4VGl4SFFVRkJMRmxCUVVGQkxFVkJRVk1zVTBGQlZ5eFhRVU16UWl4TFFVRkxMRTlCUVZOQkxFVkJRVkVzVDBGRk4wSXNRMEZwUTBRc1ZVRkJWWGxJTEVWQlFWRXNRMEZEWkN4TFFVRkxMRTlCUVZOQkxFTkJRMnBDTEVOQlEwb3NRMEZEUkhkRkxFVkJRVUVzVDBGQmFVSnZRaXhGUVVOcVFuQkNMRVZCUVdsQ0xFOUJRVUVzU1VGQlNXOUNMRVZCUTNKQ0xGTkJRVk5OTEVWQlFXZENNMDRzUlVGQlV5eERRVU14UWl4UFFVRlBRU3hIUVVGQkxGbEJRVUZCTEVWQlFWTXNVMEZCVnl4VlFVTXpRbWxOTEVWQlFWRXNUMEZCVHl4VlFVRlZhazBzUlVGQlVTeE5RVUZOTEVOQlJUbERMRU5CUTBScFRTeEZRVUZCTEdkQ1FVRXdRakJDTEN0Q1EzUkVNVUlzU1VGQlNUVkNMRVZCUVcxQ2RtUXNSMEZCVVVFc1JVRkJTeXhwUWtGQmIwSXNVMEZCVlhka0xFVkJRVXNzUTBGRGJrVXNUMEZCVVVFc1IwRkJUMEVzUlVGQlNTeFhRVUZqUVN4RlFVRk5MRU5CUVVVc1VVRkJWMEVzUlVGRGVFUXNSVUZEUVN4UFFVRlBMR1ZCUVdORExFVkJRVlVzWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUXpWRVFTeEZRVUV5UWl4cFFrRkJRVUVzUlVGQlFTeHZRa0ZCT0VJc1QwRkRla1FzVFVGQlRVTXNSVUZCVDBnc1JVRkJaMEkzWVN4RlFVRmhMRVZCUTNCRGNVUXNSVUZCWTJwRUxFZEJRMlJoTEVWQlFXRkpMRWRCUTI1Q01Gb3NSVUZCT0VJc2IwSkJRVUVzUTBGRE1VSXNhMEpCUVcxQ0xFZEJRMjVDTEZGQlFWTXNRMEZCUTNKV0xFVkJRVXRuV0N4RlFVRm5RbkpJTEVWQlFWTnlWeXhKUVVOb1EwRXNTVUZCVXl4UlFVTkdNR1FzUlVGQlpXaFlMRVZCUVV0bldDeEZRVUZuUW5KSUxFTkJRVThzUlVGRkwwTXpVQ3hEUVVWbUxFVkJSMEVzVTBGQlUybFlMRVZCUVdsQ1F5eEZRVUZQT1U0c1JVRkJWU3hIUVVGSkxFTkJRek5ETEUxQlFVMHJUaXhMUVVGdFFuaGFMRVZCUVZrc1YwRkJWekJZTEVWQlFWRXNiMEpCUVhGQ2FrMHNRMEZCVHl4RlFVTndSaXhUUVVGVE4wNHNSVUZCVnl4VlFVRlZNbUlzUTBGQlN5eEZRVWMxUWpWQ0xFVkJRVXNzVVVGQlVTeE5RVUZOTEcxQ1FVRnRRalJDTEVOQlFVc3NSVUZCUjBNc1EwRkJXU3hGUVVaMFJDeEZRVWRrTEVOQlEwUTVRaXhGUVVGQkxHbENRVUV5UWpSQ0xHdENRekZDTTBJc1QwRkJUeXhsUVVGbFJ5eEhRVUZUTEdGQlFXTXNRMEZCUlN4TlFVRlBMRVZCUVVrc1EwRkJSU3hGUVVNMVJFRXNSMEZCUVN4dlFrRkJPRUpETEVkQlFVRkVMRWRCUVVFc2IwSkJRVGhDTEU5QlF6VkVMRTFCUVUwdll5eEhRVUZoUXl4SFFVTnVRaXhUUVVGVFoyUXNSMEZCYjBKNFpDeEZRVUZQYzJRc1JVRkJVeXhEUVVONlF5eE5RVUZSTDJNc1IwRkJWeXhWUVVGVksyTXNRMEZCVHl4TlFVRlRMMk1zUjBGQlZ5eFZRVUZWVUN4RFFVRkxMRVZCUTI1RkxFZEJRVWtzUTBGRFFTeFBRVUZSYzJRc1JVRkJWU3hKUVVGUGRHUXNRMEZETlVJc1RVRkRVeXhEUVVWVUxFTkJSVXdzVFVGQlRTeEpRVUZKTEUxQlFVMHNiVUpCUVcxQ0xFTkJRM1pETEVOQlEwRXNTVUZCTWtKMVpDeEhRVUZCUkN4SFFVRkJMRzlDUVVGSFJTeEhRVU01UWl4VFFVRlRReXhIUVVGdlFrTXNSVUZCVHpOYUxFVkJRVkYxVEN4RlFVRlZMRU5CUVVFc1JVRkJTU3hEUVVOMFJDeE5RVUZSTDA4c1IwRkJWeXhWUVVGVmQwUXNRMEZCVFN4TlFVRlRlRVFzUjBGQlZ5eFZRVUZWZDBRc1EwRkJUU3hGUVVOdVJTeEhRVUZKTEVOQlEwRXNTMEZCVFN4RFFVRkZMRkZCUVVFMFdpeEZRVUZWTEVWQlFVMHNSVUZCUjNKUExFVkJRM0pDT1Vrc1JVRkJWWHBETEVWQlFWTXNTVUZCVHpKYUxFVkJRMmhETEU
15QlFVbERMRVZCUTA4c1MwRkJTeXhOUVVGTmJsZ3NRMEZCVFN4RlFVVnlRa0VzUTBGRFZpeE5RVU5UTEVOQlJWUXNRMEZGVEN4TlFVRk5MRWxCUVVrc1RVRkJUU3h0UWtGQmJVSXNRMEZEZGtNc1EwRkRRVGhYTEVkQlFVRXNiMEpCUVRoQ1J5eGhReTlDT1VJc1QwRkJUeXhsUVVGbFJ5eEhRVUZUTEdGQlFXTXNRMEZCUlN4TlFVRlBMRVZCUVVrc1EwRkJSU3hGUVVOeVEwRXNSMEZCUVN4blFrRkJSeXhQUVVNeFFpeE5RVUZOY21Rc1IwRkJZVU1zUjBGRFluRmtMRWRCUVRKQ0xFbEJRVWtzU1VGQlNTeERRVU55UXl4RFFVRkRMRTFCUVU4c1NVRkJTU3hGUVVOYUxFTkJRVU1zVFVGQlR5eEpRVUZKTEVWQlExb3NRMEZCUXl4TlFVRlBMRWxCUVVrc1JVRkRXaXhEUVVGRExGRkJRVk1zU1VGQlNTeERRVU5zUWl4RFFVRkRMRVZCUTBRc1UwRkJVME1zUjBGQlowSTVaQ3hGUVVGUExFTkJSelZDTEVkQlFVa3NRMEZEUVN4TlFVRk5LMlFzUlVGQlpTeFBRVUZQTDJRc1EwRkJTeXhGUVVOcVF5eEhRVUZKTEVOQlFVTXJaQ3hIUVVGblFpeEpRVUZMZUdRc1IwRkJWeXhWUVVGVmQyUXNRMEZCV1N4RlFVTjJSQ3hQUVVGUEwyUXNSVUZGV0N4TlFVRk5aMlVzUlVGQlR5eEpRVUZKTEV0QlFVc3NXVUZCV1N4UlFVRlRMRU5CUVVVc1MwRkJUU3hUUVVGVExFTkJRVVVzUlVGQlJTeFBRVUZQTEU5QlFVOW9aU3hEUVVGTExFTkJRVU1zUlVGRE9VVnBaU3hGUVVGVFNpeEhRVUY1UWl4SlFVRkpSeXhEUVVGSkxFVkJRMmhFTEUxQlFVOHNSMEZCUjJobExFTkJRVXNzUjBGQlIybGxMRU5CUVUwc1JVRkRNMElzVFVGRFV5eERRVU5PTEU5QlFVOXFaU3hEUVVOV0xFTkJRMHdzUTBGRFFUUmtMRWRCUVVFc1owSkJRVEJDUlN4aFEzcENNVUlzVDBGQlR5eGxRVUZsU1N4SFFVRlRMR0ZCUVdNc1EwRkJSU3hOUVVGUExFVkJRVWtzUTBGQlJTeEZRVU4yUTBFc1IwRkJRU3hqUVVGSExFOUJRM2hDTEZOQlFWTk
1RMRWRCUVdORExFVkJRVmNzUTBGRE9VSXNUMEZCUzBFc1NVRkhSRUVzU1VGQll5eEpRVU5RTEVsQlJVb3NTMEZCU3l4TlFVRk5MRXRCUVVzc1ZVRkJWVUVzUTBGQlV5eERRVUZETEVWQlF5OURMRU5CUTBGRExFZEJRVUVzWTBGQmQwSkdMR0ZEV0hoQ0xFOUJRVThzWlVGQlpVY3NSMEZCVXl4aFFVRmpMRU5CUVVVc1RVRkJUeXhGUVVGSkxFTkJRVVVzUlVGRE5VTkJMRWRCUVVFc1UwRkJSeXhQUVVOdVFpeE5RVUZOUXl4SFFVRlhMRU5CUVVFc1JVRkZha0lzVTBGQlUwTXNSMEZCVTBNc1JVRkJWVU1zUlVGQlN5eEZRVUZITEVOQlNXaERMRWRCU0Vrc1QwRkJUMFFzUjBGQllTeFpRVWR3UWl4UFFVRlBReXhIUVVGUExGTkJRMlFzVDBGRlNpeE5RVUZOZEZNc1JVRkJUM0ZUTEVWQlFWTXNWMEZEZEVJc1lVRkJZVVlzUjBGQlUyNVRMRU5CUVVrc1EwRkJReXhGUVVNelFtMVRMRWRCUVZOdVV5eERRVUZKTEVWQlFVa3NWMEZCVnl4SlFVRk5MRU5CUXpsQ2NWTXNTVUZEUVN4aFFVRmhSaXhIUVVGVGJsTXNRMEZCU1N4RFFVRkRMRVZCUXpOQ0xFOUJRVTl0VXl4SFFVRlRibE1zUTBGQlNTeERRVU4yUWl4RlFVRkZjMU1zUTBGQlJTeERRVU5VTEVOQlEwRkRMRWRCUVVFc1UwRkJiVUpJTEdWRGJrSnVRaXhKUVVGSlNTeEZRVUZ0UWpsblFpeEhRVUZSUVN4RlFVRkxMR3RDUVVGeFFpeFBRVUZQTEU5QlFWVXNVMEZCVXl0blFpeEZRVUZIY2swc1JVRkJSMk1zUlVGQlIzZE1MRVZCUVVrc1EwRkRlRVpCTEVsQlFVOHNVMEZCVjBFc1JVRkJTM2hNTEVkQlF6TkNMRWxCUVVrelNTeEZRVUZQTEU5QlFVOHNlVUpCUVhsQ05rZ3NSVUZCUjJNc1EwRkJReXhIUVVNelF5eERRVUZETTBrc1NVRkJVeXhSUVVGVFFTeEZRVUZQTEVOQlFVTTJTQ3hGUVVGRkxGZEJRV0UzU0N4RlFVRkxMRlZCUVZsQkxFVkJRVXNzYVVKQlEyeEZRU3hGUVVGUExFTkJRVVVzVjBGQldTeEhRVUZOTEVsQlFVc3NWVUZCVnl4RFFVRkZMRTlCUVU4MlNDeEZRVUZGWXl4RFFVRkRMRU5CUVVVc1NVRkZNMFFzVDBGQlR5eGxRVUZsZFV3c1JVRkJSME1zUlVGQlNXNVZMRU5CUVVrc1EwRkRjRU1zUlVGQlN5eFRRVUZUYTFVc1JVRkJSM0pOTEVWQlFVZGpMRVZCUVVkM1RDeEZRVUZKTEVOQlEzQkNRU3hKUVVGUExGTkJRVmRCTEVWQlFVdDRUQ3hIUVVNelFuVk1MRVZCUVVWRExFTkJRVVVzUlVGQlNYUk5MRVZCUVVWakxFTkJRVU1zUTBGRFpDeEhRVU5IZVV3c1JVRkJaMEpxYUVJc1IwRkJVVUVzUlVGQlN5eGpRVUZwUWl4VFFVRlRNRlVzUlVGQlJ5dEpMRVZCUVZNc1EwRkRia1VzVVVGQlUzbEVMRXRCUVV0NFRTeEZRVUZQZDAwc1NVRkJUU3hYUVVGaExFTkJRVU1zVDBGQlR5eFZRVUZWTEdWQlFXVXNTMEZCUzNwRUxFVkJRVk41UkN4RFFVRkRMRWRCUVVkS0xFVkJRV2RDY2tRc1JVRkJVeTlKTEVWQlFVZDNUU3hEUVVGRExFTkJRelZJTEVWQlEwRXNUMEZCVHl4bFFVRmpla1FzUlVGQlZTeGhRVUZqTEVOQlFVVXNUVUZCVHl4RlFVRkpMRU5CUVVVc1JVRkROVVJCTEVWQlFVRXNVMEZCYlVKQkxHZENRVUYzUWtFc1JVRkJhVUlzVDBGQlFVRXNSVUZCUVN4UFFVRnBRa0VzYTBKQlFUQkNRU3hGUVVGdFFpeFRRVUZCUVN4RlFVRkJMRTFCUVdkQ1FTeFhRVUZ0UWtFc1JVRkJiVUlzVTBGQlFVRXNSVUZCUVN4TlFVRm5Ra0VzUlVGQmEwSXNVVUZCUVVFc1JVRkJRU3hSUVVGclFrRXNiMEpCUVRSQ1FTeEZRVUUyUWl4dFFrRkJRVUVzUlVGQlFTeFZRVUZ2UWtFc01FSkJRV3REUVN4RlFVRjNRaXhqUVVGQkxFOUJRek5YTEVsQlFVazFZU3hGUVVGclFrZ3NSMEZEZEVJc1QwRkJUeXhsUVVGbEsyRXNSVUZCVXl4blFrRkJhVUlzUTBGQlJTeFhRVUZaTEVkQlFVMHNTVUZCU3l4VlFVRlpMRU5CUVVVc1QwRkJUelZoTEVWQlFXZENMR0ZCUVdNc1EwRkJTU3hEUVVGQkxFVkJRMmhKTEVsQlFVbDFRaXhGUVVFMFFuUkNMRWRCUTJoRExFOUJRVThzWlVGQlpUSmhMRVZCUVZNc01FSkJRVEpDTEVOQlFVVXNWMEZCV1N4SFFVRk5MRWxCUVVzc1ZVRkJXU3hEUVVGRkxFOUJRVTl5V2l4RlFVRXdRaXgxUWtGQmQwSXNRMEZCU1N4RFFVRkJMRVZCUXpsS05tTXNSVUZCWVd4a0xFZEJRVEJDTUZvc1EwRkJUeXhGUVVNNVEzZEVMRVZCUVdGcVpDeEhRVUYzUW5sYUxFTkJRVThzUlVGRE5VTXNTVUZCU1RGWUxFVkJRV001UWl4SFFVTnNRaXhQUVVGUExHVkJRV1YzV2l4RlFVRlRMRmxCUVdFc1EwRkJSU3hYUVVGWkxFZEJRVTBzU1VGQlN5eFZRVUZaTEVOQlFVVXNUMEZCVHpGWUxFVkJRVmtzVTBGQlZTeERRVUZKTEVOQlFVRXNSVUZEY0VocllpeEZRVUZoZGxnc1IwRkJjMFFyVkN4RFFVRlBMRVZCUXpGRkxFbEJRVWxMTEVWQlFYVkNiRlVzUjBGRE0wSXNUMEZCVHl4bFFVRmxObFFzUlVGQlV5eHhRa0ZCYzBJc1EwRkJSU3hYUVVGWkxFZEJRVTBzU1VGQlN5eFZRVUZaTEVOQlFVVXNUMEZCVDBzc1JVRkJjVUlzYTBKQlFXMUNMRU5CUVVrc1EwRkJRU3hGUVVNdlNTeEpRVUZKVVN4RlFVRnpRbTVWTEVkQlF6RkNMRTlCUVU4c1pVRkJaWE5VTEVWQlFWTXNiMEpCUVhGQ0xFTkJRVVVzVjBGQldTeEhRVUZOTEVsQlFVc3NWVUZCV1N4RFFVRkZMRTlCUVU5aExFVkJRVzlDTEdsQ1FVRnJRaXhEUVVGSkxFTkJRVUVzUlVGRE5Va3NTVUZCU1hSakxFVkJRVmx2U1N4SFFVTm9RaXhQUVVGUExHVkJRV1Z4VkN4RlFVRlRMRlZCUVZjc1EwRkJSU3hYUVVGWkxFZEJRVTBzU1VGQlN5eFZRVUZaTEVOQlFVVXNUMEZCVDNwaUxFVkJRVlVzVDBGQlVTeERRVUZKTEVOQlFVRXNSVUZET1Vjc1NVRkJTVGhDTEVWQlFWbHJTQ3hIUVVOb1FpeFBRVUZQTEdWQlFXVjVVeXhGUVVGVExGVkJRVmNzUTBGQlJTeFhRVUZaTEVkQlFVMHNTVUZCU3l4VlFVRlpMRU5CUVVVc1QwRkJUek5hTEVWQlFWVXNUMEZCVVN4RFFVRkpMRU5CUVVFc1JVRkRPVWNzU1VGQlNWUXNSVUZCVlRaSUxFZEJRMlFzVDBGQlR5eGxRVUZsZFZNc1JVRkJVeXhSUVVGVExFTkJRVVVzVjBGQldTeEhRVUZOTEVsQlFVc3NWVUZCV1N4RFFVRkZMRTlCUVU5d1lTeEZRVUZSTEV0QlFVMHNRMEZCU1N4RFFVRkJMRVZCUTNoSExFbEJRVWxhTEVWQlFXRXdaU3hIUVVOcVFpeFBRVUZQTEdWQlFXVXhSQ3hGUVVGVExGZEJRVmtzUTBGQlJTeFhRVUZaTEVkQlFVMHNTVUZCU3l4VlFVRlpMRU5CUVVVc1QwRkJUMmhpTEVWQlFWY3NVVUZCVXl4RFFVRkpMRU5CUVVFc1JVRkRha2dzU1VGQlNVZ3NSVUZCWVRobExFZEJRMnBDTEU5QlFVOHNaVUZCWlRORUxFVkJRVk1zVjBGQldTeERRVUZGTEZkQlFWa3NSMEZCVFN4SlFVRkxMRlZCUVZrc1EwRkJSU3hQUVVGUGJtSXNSVUZCVnl4UlFVRlRMRU5CUVVrc1EwRkJRU3hGUVVOcVNDeEpRVUZKYTBJc1JVRkJWVFprTEVkQlEyUXNUMEZCVHl4bFFVRmxOVVFzUlVGQlV5eFJRVUZUTEVOQlFVVXNWMEZCV1N4SFFVRk5MRWxCUVVzc1ZVRkJXU3hEUVVGRkxFOUJRVTlxWVN4RlFVRlJMRXRCUVUwc1EwRkJTU3hEUVVGQkxFVkJRM2hITEVsQlFVbEhMRVZCUVdFeVpDeEhRVU5xUWl4UFFVRlBMR1ZCUVdVM1JDeEZRVUZUTEZkQlFWa3NRMEZCUlN4WFFVRlpMRWRCUVUwc1NVRkJTeXhWUVVGWkxFTkJRVVVzVDBGQlR6bGFMRVZCUVZjc1VVRkJVeXhEUVVGSkxFTkJRVUVzUlVGRGFrZ3NTVUZCU1RSa0xFVkJRVmRETEVkQlEyWXNUMEZCVHl4bFFVRmxMMFFzUlVGQlV5eHJRa0ZCYlVJc1EwRkJSU3hYUVVGWkxFZEJRVTBzU1VGQlN5eFZRVUZaTEVOQlFVVXNUMEZCVHpoRUxFVkJRVk1zWlVGQlowSXNRMEZCU1N4RFFVRkJMRVZCUXpkSUxFOUJRVThzWlVGQlpUbEVMRVZCUVZNc1UwRkJWU3hEUVVGRkxGZEJRVmtzUjBGQlRTeEpRVUZMTEZWQlFWa3NRMEZCUlN4UFFVRlBPRVFzUlVGQlV5eE5RVUZQTEVOQlFVa3NRMEZCUVN4RlFVTXpSeXhQUVVGUExHVkJRV1U1UkN4RlFVRlRMRk5CUVZVc1EwRkJSU3hYUVVGWkxFZEJRVTBzU1VGQlN5eFZRVUZaTEVOQlFVVXNUMEZCVHpoRUxFVkJRVk1zVFVGQlR5eERRVUZKTEVOQlFVRXNSVUZETTBkT0xFVkJRV0ZSTEVkQlFXZEVhRVVzUTBGQlR5eEZRVU53UlhkRUxFVkJRV0ZUTEVkQlFUaENha1VzUTBGQlR5eEZRVU5zUkhkRUxFVkJRV0ZWTEVkQlFXdERiRVVzUTBGQlR5eEZRVU4wUkN4SlFVRkpNa01zUlVGQmEwSjNRaXhIUVVOMFFpeFBRVUZQTEdWQlFXVnVSU3hGUVVGVExHZENRVUZwUWl4RFFVRkZMRmRCUVZrc1IwRkJUU3hKUVVGTExGVkJRVmtzUTBGQlJTeFBRVUZQTWtNc1JVRkJaMElzWVVGQll5eERRVUZKTEVOQlFVRXNSVUZEYUVrc1NVRkJTVWtzUlVGQllYRkNMRWRCUTJwQ0xFOUJRVThzWlVGQlpYQkZMRVZCUVZNc1YwRkJXU3hEUVVGRkxGZEJRVmtzUjBGQlRTeEpRVUZMTEZWQlFWa3NRMEZCUlN4UFFVRlBLME1zUlVGQlZ5eFJRVUZUTEVOQlFVa3NRMEZCUVN3NFFrTnlSR3BJTEU5QlFVOHNaVUZCWXk5RExFVkJRVlVzWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUXpWRVFTeEZRVUZ0UWl4VFFVRkJMRTlCUTI1Q0xFMUJRVTF4UlN4RlFVRlZjR1lzUjBGRGFFSXNUVUZCVFhGbUxFTkJRVk1zUTBGRFdDeFZRVUZYTEVOQlExQXNUVUZCVFVNc1JVRkJVeXhKUVVGSkxHZENRVUZuUWl4TFFVRkxMRTFCUVUwc1JVRkRPVU1zVDBGQlQwRXNSVUZCVHl4TFFVRlBMRVZCUVVrc1NVRkJTVUVzUlVGQlR5eFRRVUZSTEVOQlFVVXNSMEZCU3l4RlFVTjBSQ3hEUVVORUxFOUJRVTgxWWl4RlFVRkxMRTlCUTFJc1QwRkJUM0JDTEVWQlFVRXNTMEZCU3l4VFFVRk1MRmxCUVVGQkxFVkJRV052UWl4RlFVTjRRaXhEUVVORUxFOUJRVTlCTEVWQlFVdHNSU3hGUVVGUExFTkJRMllzUzBGQlN5eEpRVUZKTEVOQlEwd3NSMEZCUnl4TFFVRkxMRTlCUTFJc1EwRkJRMnRGTEVOQlFVY3NSVUZCUjJ4RkxFTkJRMjVDTEVOQlFWTXNRMEZEU2l4RFFVTkVMRWxCUVVrd1lpeEZRVUZSTEVOQlExSXNSMEZCU1N4RFFVRkRRU3hGUVVORUxFOUJSVW9zVFVGQlRXOUZMRVZCUVZNc1NVRkJTU3huUWtGRGJrSXNUMEZCVHl4TFFVRkxjRVVzUTBGQlRTeEZRVUZGTEZGQlFWTjRXQ3hIUVVGUkxFTkJRemRDZDFnc1JVRkJUM2hZTEVOQlFVY3NTVUZCVFN4UFFVZG9RaXhQUVVGUGQxZ3NSVU
1ZCVDNoWUxFTkJRVWNzUlVGQlRTeExRVWQyUWl4UFFVRlBkMWdzUlVGQlQzaFlMRU5CUVVjc1IwRkJUU3hWUVVGWkxFTkJRVU4zV0N4RlFVRlBlRmdzUTBGQlJ5eEhRVWRzUkRSaUxFVkJRVThzVDBGQlR6VmlMRVZCUVVzc1IwRkJSM2RZTEVWQlFVOTRXQ3hEUVVGSExFTkJRVU1zUlVGQlJTeEZRVU12UXl4RFFVRlRMRVZCUTBRc1MwRkJTeXh0UWtGQmJVSTBZaXhEUVVGTkxFTkJRMnBETEVOQlEwUXNTVUZCU1RWaUxFVkJRVXNzVDBGRFRDeFBRVUZQTEZGQlFVOXdRaXhGUVVGQkxFdEJRVXNzVTBGQlRDeFpRVUZCUVN4RlFVRmpiMElzU1VGQlV5eEhRVU40UXl4RFFVTkVMRWxCUVVrc1VVRkJVeXhEUVVOVUxGTkJRVmN3WWl4RlFVRlJMR3RDUVVGclFpeFRRVUZUTEUxQlFVMHNRMEZEZGtRc1EwRkRSQ3hqUVVGamJFVXNSVUZCVXl4SFFVRkpjRTBzUlVGQlZTeERRVUZCTEVWQlFVa3NRMEZEY2tNc1UwRkJWM05STEVWQlFWRXNjVUpCUVhGQ2JFVXNSVUZCVVhCTkxFTkJRVThzUTBGRE1VUXNRMEZEUkN4dFFrRkJiVUp2VFN4RlFVRlJMRU5CUTNaQ0xGRkJRVkVzWVVGQllTeEhRVUZKTEVkQlFVa3NSMEZCUnl4UFFVRlBMRk5CUVZNc1RVRkJUU3hIUVVGSExFOUJRVThzVTBGQlV5eFJRVUZSTEVkQlFVZElMRVZCUVZFc1UwRkJVeXhqUVVGalJ5eERRVUZOTEVOQlFVTXNSVUZCUlN4RFFVTXZTQ3hEUVVOS0xFTkJRMFJJTEVWQlFXMUNMRk5CUVVFc1NVRkJTWE5GTEZGRGFrUjJRaXhKUVVGSmVFVXNSMEZCYlVKMlpDeEhRVUZSUVN4RlFVRkxMR2xDUVVGdlFpeFRRVUZWZDJRc1JVRkJTeXhEUVVOdVJTeFBRVUZSUVN4SFFVRlBRU3hGUVVGSkxGZEJRV05CTEVWQlFVMHNRMEZCUlN4UlFVRlhRU3hGUVVONFJDeEZRVU5CTEU5QlFVOHNaVUZCWlhsRkxFZEJRVk1zWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUXpWRFFTeEhRVUZCTEZOQlFVY3NUMEZEYmtJc1RVRkJUVU1zUjBGQlpUTkZMRWRCUVdkQ04yRXNSVUZCY1VJc1JVRkRjRVJ2Wml4SFFVRlZhR1lzUjBGRFZuRm1MRWRCUVdGd1pTeEhRVU51UWl4TlFVRk5jV1VzVjBGQmMwSXNTMEZCVFN4RFFVYzVRaXhaUVVGWmJrUXNSVUZCVTI5RUxFVkJRVlVzUTBGRE0wSXNUVUZCVFhCRUxFTkJRVThzUlVGSWFrSklMRVZCUVVFc1owSkJRMEZCTEVWQlFVRXNhVUpCUjBrc1MwRkJTeXhSUVVGVlJ5eEZRVU5tTEV0QlFVc3NVMEZCVjI5RUxFTkJRMjVDTEVOQlEwd3NRMEZEUVN4TlFVRk5ReXhGUVVGaExFTkJSMllzV1VGQldUZG9RaXhGUVVGTEsxRXNSVUZCVXl4RFFVWXhRbk5PTEVWQlFVRXNXVUZEUVVFc1JVRkJRU3huUWtGRlNTeExRVUZMTEVsQlFVMXlaU3hGUVVOWUxFdEJRVXNzVVVGQlZTdFJMRU5CUTJ4Q0xFTkJRMFFzU1VGQlNTeFBRVUZSTEU5QlExSXNUMEZCVDNoTkxFVkJRVUVzUzBGQlN5eFZRVUZNTEZsQlFVRkJMRVZCUVdNc1MwRkRlRUlzUTBGRFJDeE5RVUZQTEVOQlEwZ3NUMEZCVHl4SlFVRkpMRkZCUVZFc1EwRkJRM1ZrTEVWQlFWTkRMRWxCUVZjc1EwRkRjRU1zUzBGQlRTeERRVUZGTEhGQ1FVRkJReXhGUVVGMVFpeEZRVUZITERCQ1FVRkJReXhGUVVFMFFpeERRVUZETEVWQlFVc3NTMEZCU3l4VFFVRlhMRWRCUTNCR0xFbEJRVWxETEVWQlEwRkRMRVZCUTBvc1UwRkJVME1zUlVGQllUTm9RaXhGUVVGSExFTkJRM0pDTEdGQlFXRjVhRUlzUTBGQll5eEZRVU16UWl4aFFVRmhReXhEUVVGWkxFVkJRM3BDU2l4RlFVRlBMRWxCUVVsS0xFZEJRV05zYUVJc1JVRkJSU3hSUVVGVFFTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVTnNSQ3hEUVVORUxFMUJRVTAwYUVJc1JVRkJhVUlzU1VGQlRTeERRVU42UWl4TFFVRkxMR0ZCUVdNc1JVRkRaQ3hMUVVGTlZDeEhRVUZoUlN4RlFVRlJSaXhEUVVGUkxFTkJRVU1zUlVGRGNFTXNUVUZCVDI1b1FpeEhRVUZOTEVOQlJXUXNSMEZCU1VFc1JVRkJSU3hQUVVGVExFZEJSMllzU1VGQlNTeERRVUZEZFdoQ0xFVkJRMFFzVDBGQlQwa3NSVUZCWVROb1FpeERRVUZETEVWQlJYcENNR2hDTEVWQlFXVXNWMEZCVjBVc1JVRkJaMEpLTEVOQlFYbENMRVZCUlRsRVF5eEpRVU5FUVN4RlFVRnBRaXhYUVVGWExFbEJRVTFGTEVWQlFXRXphRUlzUTBGQlF5eEZRVUZIZFdoQ0xFTkJRVzlDTEVkQlJTOUdMRU5CUVdsQ0xFTkJRMnBDTEVWQlExbExMRWRCUTFvc1EwRkJVeXhEUVVOS0xFTkJRMFFzWTBGQlpTeERRVU5ZTEV0QlFVMHNRMEZCUlN4TFFVRkJReXhGUVVGUExFZEJRVWtzVFVGQlFYcEVMRVZCUVU4c1VVRkJRVEJFTEVWQlFWTXNTMEZCUVVNc1JVRkJUU3hoUVVGQlF5eEZRVUZqTEdkQ1FVRkJReXhGUVVGcFFpeEhRVUZIUXl4RFFVRkpMRVZCUVVzc1MwRkJTeXhUUVVGWExFTkJRVUVzUlVGRE9VWkRMRVZCUVZFc1IwRkJSMDRzUTBGQlNTeEhRVUZITEV0QlFVc3NSMEZCUnl4SFFVRkhXaXhIUVVGWExGTkJRVk1zWTBGQll6ZERMRU5CUVVzc1EwRkJReXhIUVVNelJTeFBRVUZQTEUxQlFVMHJSQ3hGUVVGUExFTkJRMmhDTEU5QlFWRXNTMEZCU3l4UlFVRlJMRTlCUTNKQ0xGRkJRVk1zUzBGQlN5eGxRVUZsVEN4RFFVRlBMRVZCUTNCRExFdEJRVTBzUzBGQlN5eFpRVUZaUXl4RFFVRkpMRVZCUXpOQ0xFOUJRVkZGTEVkQlFVRXNXVUZCUVVFc1JVRkJhVUlzVDBGRGVrSXNSMEZCUjBNc1EwRkRaaXhEUVVGVExFVkJRVVVzUzBGQlRXWXNSMEZCWVN4RFFVTnNRaXhIUVVGSkxFTkJRVU5CTEVWQlFWTXNSMEZEVml4UFFVRlBMRXRCUVVzc1lVRkJZVUVzUTBGQlVTeEZRVUZGTEV0QlFVMXBRaXhIUVVGVkxFTkJReTlETEUxQlFVMUJMRU5CUXpGQ0xFTkJRV2xDTEVWQlJVd3NSMEZCU1dwQ0xFVkJRVk1zVTBGQlZ5eEpRVU53UWl4UFFVRlBRU3hGUVVWWUxFOUJRVkZoTEVWQlFWa3NRMEZEYUVJc1NVRkJTeXhQUVVORUxFOUJRVTlpTEVWQlFWTXNUMEZEY0VJc1NVRkJTeXhQUVVORUxFOUJRVTlCTEVWQlFWTXNTMEZCU1N4RlFVRkhMRXRCUVUxclFpeEhRVUZUTEVOQlFVTkJMRVZCUVUxc1FpeERRVUZSTEVOQlFVTXNSVUZETVVRc1NVRkJTeXhqUVVORUxFOUJRVTlCTEVWQlFWTXNZMEZEY0VJc1NVRkJTeXhQUVVOTUxGRkJRMGtzVDBGQlQwRXNSVUZCVXl4TlFVTjJRaXhEUVVOaUxFTkJRVk1zUTBGRFNpeERRVU5FTEdWQlFXVlhMRVZCUVZVc1IwRkJTU3hEUVVsNlFpeE5RVWgxUWl4RFFVTnVRaXhIUVVGSFFTeERRVU5tTEVOQlJVc3NRMEZEUkN4WlFVRlpReXhGUVVGTkxFTkJRMlFzUjBGQlNTeERRVUZEUVN4RlFVTkVMRTlCUlVvc1IwRkJTVUVzWVVGQlowSXNVMEZEYUVJc1QwRkJUMEVzUlVGRldDeE5RVUZSYmtJc1IwRkJVU3hUUVVGVGJVSXNRMEZCU1N4RlFVTjZRaXhUUVVGWGJrSXNSMEZCVVN4bF
1FVRmxiVUlzUTBGQlNTeEZRVVV4UXl4TlFVRk5kbUVzUlVGQlV5eERRVUZCTEVWQlEyWXNZMEZCVHl4UlFVRlRiMW9zUjBGQlVTeGxRVUZsYlVJc1EwRkJTU3hEUVVGRExFVkJRVVVzVVVGQlV6ZGpMRWRCUVZFc1JVRkRka1EyWXl4RlFVRkxOMk1zUTBGQlJ5eEpRVUZOTEVkQlEyUTJZeXhGUVVGTE4yTXNRMEZCUnl4SlFVRk5MRTFCUTJRMll5eEZRVUZMTjJNc1EwRkJSeXhKUVVGTkxFbEJRMkkyWXl4RlFVRkxOMk1zUTBGQlJ5eEpRVUZOTEVkQlFVczJZeXhGUVVGTE4yTXNRMEZCUnl4SFFVTXpRaXhQUVVGUE5tTXNSVUZCU3pkakxFTkJRVWNzUjBGQlRTeFZRVUZaTm1Nc1JVRkJTemRqTEVOQlFVY3NSVUZCUlN4VFFVRlhMRXRCUTNaRWMwTXNSVUZCVDNSRExFTkJRVWNzUlVGQlNUWmpMRVZCUVVzM1l5eERRVUZITEVWQlJYUkRMRU5CUVZNc1JVRkRUU3hMUVVGTExGVkJRVlZ6UXl4RFFVRk5MRU5CUXk5Q0xFTkJRMFFzWVVGQllUSmFMRVZCUVZVc1EwRkRia0lzVDBGQlNVRXNSMEZCUVN4TlFVRkJRU3hGUVVGVkxFdEJRMGhCTEVWQlFWTXNTMEZCU1N4RlFVRkhMRXRCUVUxcFFpeEhRVUZWTEU5QlEyNURMRWxCUVVseVJTeEZRVUZWTEZGQlEyUXNSMEZCU1N4RFFVTkJRU3hKUVVGVmFtRXNSVUZCUVN4TFFVRkxMRTFCUVUxelpTeERRVUZMTEVsQlFXaENMRmxCUVVGMFpTeEZRVUZ0UWl4VlFVRlhhV0VzUTBGRE0wTXNUVUZEVXl4RFFVVlVMRU5CUTBRc1QwRkJUeXhKUVVGSmJVUXNSMEZCWTI1RUxFVkJRVk52UkN4RFFVRlJMRU5CUXpGRUxFTkJRV0VzUlVGRlJFRXNSMEZCUVN4TlFVRkJRU3hGUVVGVkxFdEJRMGhCTEVWQlFWTXNTMEZCVFN4RlFVRkRMRXRCUVUxcFFpeEhRVUZWTEVsQlFVbHNRaXhIUVVGakxGRkJRVk5yUWl4RFFVRkxMRU5CUVVNc1JVRkZja1VzVVVGQlVTeFJRVUZSTEVsQlFVbHNRaXhIUVVGakxHdENRVUZ0UWtNc1EwRkJVU3hEUVVGRExFTkJRM2hGTEVOQlEwd3NRMEZEUVN4TlFVRk5iVUlzUlVGQlV5eERRVUZtTEdOQlEwa3hSU3hGUVVGQkxHZENRVUZYTEVOQlFVRXNSMEZEV0N4SlFVRkpMR05CUVdVc1EwRkRaaXhQUVVGUExFdEJRVXNzVTBGQlV5eEpRVUZKTEVOQlFVTXNRMEZCUlN4SlFVRkJjbVVzUTBGQlJ5eEpRVUZQUVN4RFFVRkhMRU5CUXpWRExFTkJRMFFzU1VGQlNVRXNSVUZCU3pabExFVkJRVkVzUTBGQlFTeEZRVUZKT1U0c1JVRkJWU3hEUVVGQkxFVkJRVWtzUTBGREwwSXNUMEZCVHl4TFFVRkxMRmxCUVZrdlVTeEZRVUZMTEUxQlFVOHNRMEZEYUVNc1IwRkJSeXRSTEVWQlEwZ3NUVUZCUVRoT0xFTkJRMW9zUTBGQlV5eERRVU5LTEVOQlEwUXNTMEZCU3pkbExFVkJRVXNyVVN4RlFVRlZMRWRCUVVrc1EwRkRjRUlzVDBGQlR5eExRVUZMTEZsQlFWa3ZVU3hGUVVGTExFOUJRVkVyVVN4RFFVRlBMRU5CUXk5RExFTkJRMFFzU1VGQlNTOVJMRVZCUVVzclVTeEZRVUZWTEVkQlFVa3NRMEZEYmtJc1QwRkJUeXhMUVVGTExGbEJRVmt2VVN4RlFVRkxMRTFCUVU4clVTeERRVUZQTEVOQlF6bERMRU5CUTBRc1QwRkJUeTlSTEVWQlFVc3JVU3hGUVVGVExFTkJRMnBDTEU5QlFVOHNTMEZCU3l4WlFVRlpMMUVzUlVGQlN5eFRRVUZWSzFFc1EwRkJUeXhEUVVOcVJDeERRVU5FTEUxQlFVMHZVU3hGUVVGTEsxRXNSVUZCVXl4RFFVTm9RaXhQUVVGUExFdEJRVXNzV1VGQldTOVJMRVZCUVVzc1VVRkJVeXRSTEVOQlFVOHNRMEZEYUVRc1EwRkRSQ3hUUVVGVEwxRXNSVUZCU3l0UkxFVkJRVlVzUjBGQlNTeERRVU40UWl4TFFVRk5MRU5CUVVVc1QwRkJRV2xUTEVWQlFWTXNUMEZCVVN4TFFVRkJWaXhEUVVGSkxFVkJRVXQyVWl4RlFVTnNReXhQUVVGUExFdEJRVXNzV1VGQldTOVJMRVZCUVV0bmFrSXNSVUZCVVN4RFFVTnFReXhMUVVGQlZpeEZRVU5CTEV0QlFVMTJVaXhGUVVGUkxFdEJRMlFzVFVGQlQwRXNSVUZCVVN4TlFVTm1MRkZCUVZNc1EwRkRUQ3hsUVVGblFpeEpRVU51UWl4RlFVTkVMR0ZCUVdNc1RVRkRha0lzUTBGQlFTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRLMUlzUlVGQlRXeENMRU5CUVZFc1NVRkJUU3hEUVVNeFFpeE5RVUZOY1VJc1JVRkJVeXhQUVVGUExIbERRVUV3UXl4SFFVRkhMRVZCUXpkRVF5eEZRVUZ4UW5SQ0xFVkJRVk1zVVVGQlVTeEpRVUZKTEhGQ1FVRnhRaXhGUVVOeVJTeEhRVUZKYzBJc1JVRkJiMElzUTBGRGNFSXNUVUZCVFhaR0xFVkJRVmR6Uml4RlFVRlBMRXRCUVV0RExFTkJRV3RDTEVWQlF5OURka1lzVFVGQlowSTRSQ3hIUVVGaExGTkJRVk54UWl4RlFVRk5ia1lzUlVGQlV5eERRVUZETEVWQlFVVXNWMEZCVnl4SlFVRkxMRVZCUVVVc1EwRkJReXhEUVVNNVJTeERRVU5FTEU5QlFVOXBSU3hEUVVOdVFpeERRVUZUTEVOQlEwb3NRMEZEUkN4blFrRkJaMEoxUWl4RlFVRlBMRU5CUTI1Q0xFOUJRVThzUzBGQlN5eFRRVUZUTEU5QlFWRkRMRWRCUVZsQkxFVkJRVkVzVVVGQlZVUXNRMEZCU3l4RFFVTnVSU3hEUVVORUxGbEJRVmx1YWtJc1JVRkJTMmRxUWl4RlFVRlJhbE1zUlVGQlV5eERRVU01UWl4TlFVRk5jVk1zUlVGQlZTeEpRVUZKZGtJc1IwRkJZVGRvUWl4RlFVRkxMRU5CUTJ4RExFOUJRVUZuYWtJc1JVRkRRU3hIUVVGSGFsTXNRMEZEWml4RFFVRlRMRVZCUTBRc1dVRkJTeXhUUVVGVExFdEJRVXR4VXl4RFFVRlBMRVZCUTI1Q1FTeEZRVUZSTEU5QlFVOHNVVUZCVVN4SlFVRk5MRU5CUTJoRExFMUJRVTFETEVWQlFXVXNTMEZCU3l4VFFVRlRMRlZCUVZkRExFZEJRVzFDUVN4SlFVRnRRa1lzUTBGQlR5eEZRVU4yUmtNc1NVRkJhVUlzU1VGRGFrSXNTMEZCU3l4VFFVRlRMRTlCUVU5QkxFVkJRV01zUTBGQlF5eERRVVZ3UkN4RFFVRlRMRU5CUTBvc1EwRkRUQ3hEUVVOblFqZENMRWRCUVVFc1UwRkJSeXhKUVVGSmRVSXNaVU53VFhaQ0xFbEJRVWt4UXl4RlFVRnRRamxuUWl4SFFVRlJRU3hGUVVGTExHdENRVUZ4UWl4UFFVRlBMRTlCUVZVc1UwRkJVeXRuUWl4RlFVRkhjazBzUlVGQlIyTXNSVUZCUjNkTUxFVkJRVWtzUTBGRGVFWkJMRWxCUVU4c1UwRkJWMEVzUlVGQlMzaE1MRWRCUXpOQ0xFbEJRVWt6U1N4RlFVRlBMRTlCUVU4c2VVSkJRWGxDTmtnc1JVRkJSMk1zUTBGQlF5eEhRVU16UXl4RFFVRkRNMGtzU1VGQlV5eFJRVUZUUVN4RlFVRlBMRU5CUVVNMlNDeEZRVUZGTEZkQlFXRTNTQ3hGUVVGTExGVkJRVmxCTEVWQlFVc3NhVUpCUTJ4RlFTeEZRVUZQTEVOQlFVVXNWMEZCV1N4SFFVRk5MRWxCUVVzc1ZVRkJWeXhEUVVGRkxFOUJRVTgyU0N4RlFVRkZZeXhEUVVGRExFTkJRVVVzU1VGRk0wUXNUMEZCVHl4bFFVRmxkVXdzUlVGQlIwTXNSVUZCU1c1VkxFTkJRVWtzUTBGRGNFTXNSVUZCU3l4VFFVRlRhMVVzUlVGQlIzSk5MRVZCUVVkakxFVkJRVWQzVEN4RlFVRkpMRU5CUTNCQ1FTeEpRVUZQTEZOQlFWZEJMRVZCUVV0NFRDeEhRVU16UW5WTUxFVkJRVVZETEVOQlFVVXNSVUZCU1hSTkxFVkJRVVZqTEVOQlFVTXNRMEZEWkN4SFFVTkhlVXdzUlVGQlowSnFhRUlzUjBGQlVVRXNSVUZCU3l4alFVRnBRaXhUUVVGVE1GVXNSVUZCUnl0SkxFVkJRVk1zUTBGRGJrVXNVVUZCVTNsRUxFdEJRVXQ0VFN4RlFVRlBkMDBzU1VGQlRTeFhRVUZoTEVOQlFVTXNUMEZCVHl4VlFVRlZMR1ZCUVdVc1MwRkJTM3BFTEVWQlFWTjVSQ3hEUVVGRExFZEJRVWRLTEVWQlFXZENja1FzUlVGQlV5OUpMRVZCUVVkM1RTeERRVUZETEVOQlF6VklMRVZCUTBFc1QwRkJUeXhsUVVGamVrUXNSVUZCVlN4aFFVRmpMRU5CUVVVc1RVRkJUeXhGUVVGSkxFTkJRVVVzUlVGRE5VUjNSQ3hGUVVGaGRtVXNSMEZCWjBNcllTeERRVUZQTEVWQlEzQkVkMFFzUlVGQllXNWxMRWRCUVdkRE1tRXNRMEZCVHl4cFFrTm9RbkJFTEU5QlFVOHNaVUZCWlhWSExFZEJRVk1zWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUTNoRFFTeEhRVUZCTEdGQlFVY3NUMEZEZGtJc1NVRkJTVU1zU1VGRFNDeFRRVUZWUVN4RlFVRmpMRU5CUTNKQ1FTeEZRVUZoUVN4RlFVRmhMRlZCUVdVc1IwRkJSeXhGUVVGSkxGZEJRM0JFTEVkQlFVZEJMRXRCUVdsQ1JDeEhRVUZCTEdGQlFYVkNReXhIUVVGbExFTkJRVVVzUlVGQlF
15eFpRMHczUkN4UFFVRlBMR1ZCUVdWRExFZEJRVk1zWVVGQll5eERRVUZGTEUxQlFVOHNSVUZCU1N4RFFVRkZMRVZCUTI1RFFTeEhRVUZCTEd0Q1FVRkhMRTlCUTBoQkxFZEJRVUVzYTBKQlFVY3NRMEZCUXl4SFFVRkpMRU5CUVVVc1JVRkJSU3hEUVVGRkxFVkJRVVVzUzBGQlRTeFBRVUZYTEU5QlFVMHNSVUZCU1N4VlFVRlpMRU5CUVVjc1JVRkJSU3hKUVVGSkxFbEJRVThzU1VGQlNTeEpRVUZQTEVkQlFVY3NkMEpEUmpsSExFOUJRVThzWlVGQlpVTXNSMEZCVXl4aFFVRmpMRU5CUVVVc1RVRkJUeXhGUVVGSkxFTkJRVVVzUlVGRGFrTkJMRWRCUVVFc2IwSkJRVWNzVDBGRE9VSkJMRWRCUVVFc2IwSkJRVGhDTEVOQlF6RkNMR0ZCUVdNc2IwTkJRMnhDTEVWRFNrRXNUMEZCVHl4bFFVRmxReXhIUVVGVExHRkJRV01zUTBGQlJTeE5RVUZQTEVWQlFVa3NRMEZCUlN4RlFVTnVRMEVzUjBGQlFTeHJRa0ZCUnl4UFFVTTFRaXhOUVVGTlF5eEhRVUZuUXpOb1FpeEhRVU5vUXpSb1FpeEhRVUYxUWl4dFEwRkROMElzVFVGQlRVTXNSVUZCYTBJc1EwRk5jRUlzV1VGQldTOVRMRVZCUVZVc1IwRkJTU3hEUVV3eFFuTk9MRVZCUVVFc1owSkJRMEZCTEVWQlFVRXNZVUZEUVVFc1JVRkJRU3hwUWtGQldTeE5RVU5hUVN4RlFVRkJMR1ZCUVZVc1RVRkRWa0VzUlVGQlFTeHBRa0ZCV1N4TlFVVlNMRXRCUVVzc1VVRkJWWFJPTEVOQlEyeENMRU5CUTBRc1UwRkJWU3hsUVVOT0xFZEJRVWtzUTBGRFFTeEhRVUZKTEVkQlFVTjRUU3hGUVVGQkxESkNRVUZSTEZWQlFWSXNUVUZCUVVFc1JVRkJhVUlzVTBGQlV5eEZRVU16UW5kbUxFVkJRVUVzUzBGQlN5eFZRVUZNTEUxQlFVRkJMRVZCUVVFc1ZVRkJaU3hKUVVGSkxFMUJRVTFJTEVkQlFUaENMRzlDUVVGdlFpeFpRVUZaTEVkQlEzWkdMRTFCUTBnc1EwRkRSQ3hMUVVGTExFdEJRVThzVDBGQlR5eFJRVUZSTEZWQlFWRkpMRVZCUVVFc1MwRkJTeXhWUVVGTUxGbEJRVUZCTEVWQlFXTXNTMEZCVFVnc1IwRkJjMElzUTBGQlJTeExRVUZOTEdWQlFXbENMRU5CUVVFc1JVRkRkRWNzUzBGQlN5eExRVUZMTEZWQlFWVXNXVUZCWVVrc1IwRkJSeXhQUVVGTExFOUJRVUV4Wml4RlFVRkJMRXRCUVVzc1dVRkJUQ3haUVVGQlFTeEZRVUZCTEZWQlFXbENNR1lzUjBGQlNTeEhRVU01UkVNc1JVRkJRU3hMUVVGTExGbEJRVXdzVFVGQlFVRXNSVUZCUVN4VlFVTklMRTlCUTAxNmFrSXNSVUZCUnl4RlFVTk9NR3BDTEVWQlFVRXNTMEZCU3l4VlFVRk1MRTFCUVVGQkxFVkJRVUVzVlVGQlpURnFRaXhGUVVOc1FpeERRVU5LTEVOQlEwUXNXVUZCV1N0a0xFVkJRVk1zVlVGRGFrSjFSaXhIUVVGQmVHWXNSVUZCUVN4TFFVRkxMRTlCUVV3c1dVRkJRVUVzUlVGQlZ5eGpRVUZZTEUxQlFVRjNaaXhGUVVGQkxFdEJRVUY0Wml4RlFVRjVRbWxoTEVWQlF6VkNMRU5CUTBRc1dVRkJZU3hWUVVOVWRVWXNSMEZCUVhobUxFVkJRVUVzUzBGQlN5eFBRVUZNTEZsQlFVRkJMRVZCUVZjc1lVRkJXQ3hOUVVGQmQyWXNSVUZCUVN4TFFVRkJlR1lzUlVGRFNDeERRVU5NTEVOQlEwRTJaaXhIUVVGQkxHdENRVUUwUWs0c1pVTnNRelZDTEVsQlFVbDZSQ3hGUVVGdFFqbG5RaXhIUVVGUlFTeEZRVUZMTEd0Q1FVRnhRaXhQUVVGUExFOUJRVlVzVTBGQlV5dG5RaXhGUVVGSGNrMHNSVUZCUjJNc1JVRkJSM2RNTEVWQlFVa3NRMEZEZUVaQkxFbEJRVThzVTBGQlYwRXNSVUZCUzNoTUxFZEJRek5DTEVsQlFVa3pTU3hGUVVGUExFOUJRVThzZVVKQlFYbENOa2dzUlVGQlIyTXNRMEZCUXl4SFFVTXpReXhEUVVGRE0wa3NTVUZCVXl4UlFVRlRRU3hGUVVGUExFTkJRVU0yU0N4RlFVRkZMRmRCUVdFM1NDeEZRVUZMTEZWQlFWbEJMRVZCUVVzc2FVSkJRMnhGUVN4RlFVRlBMRU5CUVVVc1YwRkJXU3hIUVVGTkxFbEJRVXNzVlVGQlZ5eERRVUZGTEU5QlFVODJTQ3hGUVVGRll5eERRVUZETEVOQlFVVXNTVUZGTTBRc1QwRkJUeXhsUVVGbGRVd3NSVUZCUjBNc1JVRkJTVzVWTEVOQlFVa3NRMEZEY0VNc1JVRkJTeXhUUVVGVGExVXNSVUZCUjNKTkxFVkJRVWRqTEVWQlFVZDNUQ3hGUVVGSkxFTkJRM0JDUVN4SlFVRlBMRk5CUVZkQkxFVkJRVXQ0VEN4SFFVTXpRblZNTEVWQlFVVkRMRU5CUVVVc1JVRkJTWFJOTEVWQlFVVmpMRU5CUVVNc1EwRkRaQ3hIUVVOSGVVd3NSVUZCWjBKcWFFSXNSMEZCVVVFc1JVRkJTeXhqUVVGcFFpeFRRVUZUTUZVc1JVRkJSeXRKTEVWQlFWTXNRMEZEYmtVc1VVRkJVM2xFTEV0QlFVdDRUU3hGUVVGUGQwMHNTVUZCVFN4WFFVRmhMRU5CUVVNc1QwRkJUeXhWUVVGVkxHVkJRV1VzUzBGQlMzcEVMRVZCUVZONVJDeERRVUZETEVkQlFVZEtMRVZCUVdkQ2NrUXNSVUZCVXk5SkxFVkJRVWQzVFN4RFFVRkRMRU5CUXpWSUxFVkJRMEVzVDBGQlR5eGxRVUZqZWtRc1JVRkJWU3hoUVVGakxFTkJRVVVzVFVGQlR5eEZRVUZKTEVOQlFVVXNSVUZETlVSM1JDeEZRVUZoZG1Vc1IwRkJhMFFyWVN4RFFVRlBMRzFDUTJaMFJTeEpRVUZKY1VRc1JVRkJiVUk1WjBJc1IwRkJVVUVzUlVGQlN5eHJRa0ZCY1VJc1QwRkJUeXhQUVVGVkxGTkJRVk1yWjBJc1JVRkJSM0pOTEVWQlFVZGpMRVZCUVVkM1RDeEZRVUZKTEVOQlEzaEdRU3hKUVVGUExGTkJRVmRCTEVWQlFVdDRUQ3hIUVVNelFpeEpRVUZKTTBrc1JVRkJUeXhQUVVGUExIbENRVUY1UWpaSUxFVkJRVWRqTEVOQlFVTXNSMEZETTBNc1EwRkJRek5KTEVsQlFWTXNVVUZCVTBFc1JVRkJUeXhEUVVGRE5rZ3NSVUZCUlN4WFFVRmhOMGdzUlVGQlN5eFZRVUZaUVN4RlFVRkxMR2xDUVVOc1JVRXNSVUZCVHl4RFFVRkZMRmRCUVZrc1IwRkJUU3hKUVVGTExGVkJRVmNzUTBGQlJTeFBRVUZQTmtnc1JVRkJSV01zUTBGQlF5eERRVUZGTEVsQlJUTkVMRTlCUVU4c1pVRkJaWFZNTEVWQlFVZERMRVZCUVVsdVZTeERRVUZKTEVOQlEzQkRMRVZCUVVzc1UwRkJVMnRWTEVWQlFVZHlUU3hGUVVGSFl5eEZRVUZIZDB3c1JVRkJTU3hEUVVOd1FrRXNTVUZCVHl4VFFVRlhRU3hGUVVGTGVFd3NSMEZETTBKMVRDeEZRVUZGUXl4RFFVRkZMRVZCUVVsMFRTeEZRVUZGWXl4RFFVRkRMRU5CUTJRc1IwRkRSM2xNTEVWQlFXZENhbWhDTEVkQlFWRkJMRVZCUVVzc1kwRkJhVUlzVTBGQlV6QlZMRVZCUVVjclNTeEZRVUZUTEVOQlEyNUZMRkZCUVZONVJDeExRVUZMZUUwc1JVRkJUM2ROTEVsQlFVMHNWMEZCWVN4RFFVRkRMRTlCUVU4c1ZVRkJWU3hsUVVGbExFdEJRVXQ2UkN4RlFVRlRlVVFzUTBGQlF5eEhRVUZIU2l4RlFVRm5RbkpFTEVWQlFWTXZTU3hGUVVGSGQwMHNRMEZCUXl4RFFVTTFTQ3hGUVVOQkxFOUJRVThzWlVGQlkz
1cEVMRVZCUVZVc1lVRkJZeXhEUVVGRkxFMUJRVThzUlVGQlNTeERRVUZGTEVWQlJUVkVkMFFzUlVGQllYWmxMRWRCUVd0Q0syRXNRMEZCVHl4RlFVVjBRM2RFTEVWQlFXRnVaU3hIUVVGblF6SmhMRU5CUVU4c1JVRkRjRVIzUkN4RlFVRmhiR1FzUjBGQlowTXdXaXhEUVVGUExFVkJSWEJFZDBRc1JVRkJZV3BrTEVkQlFXOUNlVm9zUTBGQlR5eEZRVVY0UTNkRUxFVkJRV0ZvWkN4SFFVRjFRbmRhTEVOQlFVOHNUVU40UWk5Q0xFbEJRVUZ4U0N4SFFVRkJRU3hKUVVOV1FTeEZRVUZCTEZOQlFWY3NWMEZEV0VFc1JVRkJRU3hQUVVGVExGTkJRMVJCTEVWQlFVRXNUMEZCVXl4VFFVaERRU3hKUVVGQlFTeEhRVUZCTEVOQlFVRXNRMEZCUVN4RlEzVkNXaXhOUVVGTlF5eEhRVUZ2UWl4SlFVVmlReXhIUVVGakxFOUJRMlJETEVkQlFXTXNUMEZEWkVNc1IwRkJXU3hWUVVOYVF5eEhRVUZ4UWl4SFFVTnlRa01zUlVGQmMwSXNSMEZGTlVJc1RVRkJUVU1zUlVGQlR5eERRVUZpTEdOQlEweDJSeXhGUVVGQkxHVkJSVUVzU1VGQlNTeExRVUZOTEVOQlEwUXNUMEZCUVN4TFFVRkxMRTlCUVZFc1YwRkJWeXhKUVVGSkxFTkJRM0pETEVOQlJVRXNWVUZCVlhkSExFVkJRWGxDTEVOQlEycERMRXRCUVVzc1QwRkJVMEVzUlVGRlpDeExRVUZMTEd0Q1FVRnJRaXhEUVVONlFpeERRVVZCTEdGQlFXRkRMRVZCUVdNc1EwRkRla0lzV1VGQlN5eHJRa0ZCYTBJc1JVRkRhRUlzUzBGQlN5eEpRVUZKTEZsQlFWbEJMRU5CUVVrc1JVRkJSU3hMUVVOd1F5eERRVVZCTEV0QlFVdHFZaXhGUVVGWGEySXNSVUZCVjJ4b1FpeEZRVUZsUXl4RlFVRm5RbWRGTEVWQlFUUkNMRWRCUVVrc1EwRkRlRVlzUzBGQlN5eEpRVUZKTEZsQlEwb3NTMEZCUVN4SlFVRkpMRlZCUVZsQkxFVkJRVXNzVDBGQlUzbGpMRWRCUTI1RExFdEJRVXNzU1VGQlNTeFRRVUZUTVdFc1JVRkJSMnRpTEVWQlFVZHNhRUlzUlVGQlQwTXNRMEZCVFN4RlFVTnlReXhMUVVGTExFbEJRVWtzVDBGRFZDeExRVUZMTEVsQlFVa3NWMEZEV0N4RFFVVkJMRlZCUVZVclJpeEZRVUZYYTJJc1JVRkJWMnhvUWl4RlFVRmxReXhGUVVGblFtZEZMRVZCUVdsRExFZEJRVWtzUTBGRGJFY3NTMEZCU3l4SlFVRkpMRmxCUTBvc1MwRkJRU3hKUVVGSkxGbEJRVmtzUTBGQlFTeERRVUZGTEVWQlEyeENMRXRCUVVFc1NVRkJTU3hWUVVGWlFTeEZRVUZMTEU5QlFWTjVZeXhIUVVNNVFpeExRVUZCTEVsQlFVa3NWVUZCV1hwakxFVkJRVXNzWVVGQlpUUmpMRWRCUTNCRExFdEJRVUVzU1VGQlNTeFpRVUZqTldNc1JVRkJTeXhoUVVGbGVXTXNSMEZETTBNc1MwRkJTeXhKUVVGSkxGVkJRVlV4WVN4RlFVRkhhMklzUlVGQlIyeG9RaXhGUVVGUFF5eEZRVUZSWjBVc1JVRkJTeXhqUVVGblFpeERRVUZETEVWQlFVY3NSVUZCUnl4RlFVRkhMRU5CUVVNc1EwRkJReXhGUVVONlJTeExRVUZMTEVsQlFVa3NUMEZEVkN4TFFVRkxMRWxCUVVrc1UwRkRWQ3hMUVVGTExFbEJRVWtzVjBGRFdDeERRVVZCTEV0QlFVdG5aQ3hGUVVGamFtSXNSVUZCVjJ0aUxFVkJRVmRxWkN4RlFVRTBRaXhEUVVGQkxFVkJRVWtzUTBGRGRrVXNTMEZCU3l4SlFVRkpMRmxCUTBvc1MwRkJRU3hKUVVGSkxGVkJRVmxCTEVWQlFVc3NUMEZCVXpCakxFZEJRMjVETEV0QlFVc3NTVUZCU1N4TFFVRlBMRkZCUVZFeFl5eEZRVUZMTEUxQlFWRjNZeXhGUVVGcFFpeFpRVU5xUkN4TFFVRkJMRWxCUVVrc1ZVRkJXWGhqTEVWQlFVc3NUMEZCVXl4VFFVTTVRaXhMUVVGQkxFbEJRVWtzWVVGQlpVRXNSVUZCU3l4UlFVRlZMRk5CUTNaRExFdEJRVXNzU1VGQlNTeFRRVUZUWjJRc1JVRkJUV3BpTEVWQlFVZHJZaXhEUVVGRExFVkJRelZDTEV0QlFVc3NTVUZCU1N4WFFVTllMRU5CUlVFc1MwRkJTME1zUlVGQlowSkRMRVZCUVdkQ1F5eEZRVUZqUXl4RlFVRmpjbVFzUlVGQk5FSXNSMEZCU1N4RFFVTXZSaXhMUVVGTExFbEJRVWtzV1VGRFNpeExRVUZCTEVsQlFVa3NXVUZCWTBFc1JVRkJTeXhQUVVGVGVXTXNSMEZEY2tNc1MwRkJTeXhKUVVGSkxGbEJRVmw2WXl4RlFVRkxMRTFCUVZFc1EwRkJSU3hEUVVGQkxFVkJReTlDTEV0QlFVRXNTVUZCU1N4UFFVRlBhMlFzUlVGQlVVTXNRMEZCVFN4RlFVTjZRaXhMUVVGQkxFbEJRVWtzVDBGQlQwTXNSVUZCVFVNc1EwRkJTU3hGUVVNeFFpeExRVUZMTEVsQlFVa3NVMEZEVkN4TFFVRkxMRWxCUVVrc1YwRkRXQ3hEUVVWUkxHMUNRVUZ2UWl4RFFVTnlRaXhMUVVGQkxFbEJRVWtzUzBGQlR5eFJRVUZSWWl4RlFVRnBRaXhYUVVNelF5eERRVU5HTEVORGRFVlBMRTFCUVUxakxFVkJRV0VzUTBGcFFuaENMRmxCUVZsRExFVkJRV2RETEVOQmFFSTFRMmhJTEVWQlFVRXNXVUZEUVVFc1JVRkJRU3huUWtGRlFXbElMRVZCUVVFc1MwRkJRVU1zUjBGQlFTeFJRVVZCUkN4RlFVRkJMRXRCUVVGRkxFZEJRVk1zUjBGRFZFWXNSVUZCUVN4TFFVRkJSeXhIUVVGVExFZEJRMVJJTEVWQlFVRXNTMEZCUVVrc1IwRkJaU3hKUVVObVNpeEZRVUZCTEV0QlFVRkxMRWRCUVdNc1IwRkRaRXdzUlVGQlFTeExRVUZCVFN4SFFVRmxMRWRCUTJaT0xFVkJRVUVzUzBGQlFVOHNSMEZCVnl4SlFVTllVQ3hGUVVGQkxFdEJRVUZSTEVkQlFWTXNTVUZEVkZJc1JVRkJRU3hMUVVGQlV5eEhRVUZoTEVkQlEySlVMRVZCUVVFc1MwRkJRVlVzUjBGQll5eEhRVU5rVml4RlFVRkJMRXRCUVVGWExFZEJRWEZDTEVkQlIySXNTMEZCUVN4RFFVRkZMRWxCUVVGcWJVSXNSVUZCU3l4UFFVRkJObXRDTEVWQlFWRXNXVUZCUVhGQ0xFVkJRV0VzV1VGQlFVTXNSVUZCWVN4WFFVRkJReXhGUVVGWkxFMUJRVUZETEVWQlFVOHNUVUZCUVVNc1JVRkJUeXhQUVVGQlF5eERRVUZYTEVWQlFVRnNRaXhGUVVWd1JpeExRVUZMTEVsQlFVMXliRUlzUlVGRFdIZHRRaXhGUVVGQkxFdEJRVXRxUWl4SFFVRlZWaXhIUVVObU1rSXNSVUZCUVN4TFFVRkxaQ3hIUVVGbFV5eEhRVU53UWtzc1JVRkJRU3hMUVVGTFlpeEhRVUZqVXl4SFFVTnVRa2tzUlVGQlFTeExRVUZMV2l4SFFVRmxUU3hIUVVObVRTeEZRVUZCTEV0QlFVRllMRWRCUVZjc1JVRkJVVk1zUjBGRGJrSkZMRVZCUVVFc1MwRkJRVllzUjBGQlV5eEZRVUZSVHl4SFFVVnFRaXhMUVVGQkxGRkJRVlVzU1VGQlNTeGhRVUZoTEVOQlF6bENMRTlCUVZOSkxFZEJRVlVzUTBGRldDeE5RVUZCUXl4RlFVRlhPV2xDTEVWQlFVRkJMSGRDUVVGM1FqWnBRaXhGUVVGTkxHRkJRV05CTEVWQlFVMHNZMEZCWlVVc1JVRkJRU3hMUVVGTFdpeEpRVUZaV1N4RlFVRkJMRXRCUVV0WUxFZEJRVmNzUlVGSGJrZ3NSMEZCU1Zjc1JVRkJRU3hMUVVGTGFrSXNTMEZCWjBKcFFpeEZRVUZCTEV0QlFVdG9RaXhOUVVGblFpeE5RVUZSWjBJc1JVRkJRU3hMUVVGTFZpeEpRVUZ2UWl4RFFVTTNSU3hOUVVGTlZ5eEZRVUZSUkN4RlFVRkJMRXRCUVV0b1FpeEpRVUZqWXl4RlFVRk5MR1ZCUVdsQ1JTeEZRVUZCTEV0QlFVdFdMRWxCUVhGQ1VTeEZRVUZOTEdWQlJYQkdSeXhIUVVGVExFOUJRMWhHTEVWQlFWTXNUMEZCVTBVc1JVRkRiRUpHTEVWQlFWTXNVVUZCVlVVc1JVRkZka0lzUTBGRlRTeE5RVUZCTDJNc1IwRkJTemhqTEVWQlFVRXNTMEZCUzFvc1NVRkJZVmNzUlVGQlV5eFBRVUZUTEVWQlFVbERMRVZCUVVFc1MwRkJTMjVDTEV0QlFWVnRRaXhGUVVGQkxFdEJRVXRrTEVsQlFWZGpMRVZCUVVFc1MwRkJTMllzU1VGQlpTeEhRVU5vUjJJc1IwRkJTelJDTEVWQlFVRXNTMEZCUzFnc1NVRkJZMVVzUlVGQlV5eFJRVUZWTEVWQlFVbERMRVZCUVVFc1MwRkJTMnhDTEVsQlJYQkViMElzUlVGQlRVWXNSVUZCUVN4TFFVRkxjRUlzU1VGQlVTeFhRVUZYTEVsQlFVa3NSVUZEZUVOelFpeEZRVUZKTEZWQlFWVktMRVZCUVU4MVl5eEZRVUZIYTJJc1JVRkJSekpDTEVWQlFWTXNUVUZCVDBFc1JVRkJVeXhOUVVGTkxFVkJSWFJFUXl4RlFVRkJMRXRCUVV0aUxFMUJRMUJsTEVWQlFVa3NWVUZCVlN4RlFVTmtRU3hGUVVGSkxFdEJRVThzWlVGRFdFRXNSVUZCU1N4VlFVRlpMRTFCUTJoQ1FTeEZRVUZKTEZWQlFWa3NVMEZEV2tFc1JVRkJRU3hUUVVGVExGVkJRVlZHTEVWQlFVRXNTMEZCUzJoQ0xFZEJRVmNzUjBGQlNUbGlMRVZCUVVrNFl5eEZRVUZCTEV0QlFVdGFMRWxCUVdFc1JVRkJSMmhDTEVOQlFVTXNSVUZEY2tVNFFpeEZRVUZKTEZWQlFWVXNSMEZIYUVKS0xFVkJRVTBzVFVGQlRTeERRVU5rTEVWQlEwRXNUVUZCVVdodFFpeEhRVUZOY1cxQ0xGTkJRVThzVFVGQlRYSnRR
1aXhEUVVGRExFTkJRVUVzUTBGRE4wSXNSVUZGUnpoc1FpeEhRVU5HTEV0QlFVc3NWVUZCVlVFc1EwRkJUU3hEUVVWNlFpeERRVVZCTEVsQlFVa3NZMEZCWlN4RFFVTldMRTlCUVVFc1MwRkJTeXhSUVVGUkxGRkJRVlVzV1VGRGFFTXNRMEZGUVN4VlFVRlZRU3hGUVVFMFFpeERRVU12UWl4TFFVRkJMRkZCUVZFc1ZVRkJWVUVzUTBGQlRTeERRVU12UWl4RFFVVkJMRXRCUVV0UkxFVkJRVEJDYUZjc1JVRkJjMElzUTBGRGJrUXNSMEZCU1N4RFFVRkRaMWNzUlVGRFNDeFBRVWRKTEV0QlFVRXNRMEZCUlN4TlFVRkJReXhGUVVGUExFMUJRVUZETEVWQlFVOHNWVUZCUVVNc1JVRkJWeXhYUVVGQlF5eEZRVUZaTEZsQlFVRm9RaXhGUVVGakxFZEJRVThzYTBKQlFVRnBRaXhEUVVGelFpeEZRVUZCY2xjc1JVRkZlRVo1Vml4RlFVRkJMRXRCUVV0b1FpeEhRVUZUZDBJc1IwRkRaRklzUlVGQlFTeExRVUZMWml4SFFVRlRkMElzUjBGRFpGUXNSVUZCUVN4TFFVRkxWQ3hIUVVGaGJVSXNSMEZEYkVKV0xFVkJRVUVzUzBGQlMxSXNSMEZCWTIxQ0xFZEJRMjVDV0N4RlFVRkJMRXRCUVV0a0xFZEJRV1ZUTEVkQlEzQkNTeXhGUVVGQkxFdEJRVXRRTEVkQlFYRkNiVUlzUjBGQmNVSXNSMEZGTVVNc1MwRkJRU3hSUVVGUkxFOUJRVTlNTEVOQlFVc3NRMEZETTBJc1EwRkRSaXhEUVhoR1JYaENMRWRCUVVFc1dVRkZRVU1zUjBGQlFTeFpRVU5CUXl4SFFVRkJMRmxCUTBGRExFZEJRVUVzV1VGRFFVTXNSMEZCUVN4WlFVTkJReXhIUVVGQkxGbEJRMEZETEVkQlFVRXNXVUZEUVVNc1IwRkJRU3haUVVOQlF5eEhRVUZCTEZsQlEwRkRMRWRCUVVFc1dVRkRRVU1zUjBGQlFTeFpRMmhEUml4SlFVRkpiMElzUlVGQlR5eFZRVUZYTEVOQlEzQkNMRWxCUVVsRExFVkJRVkVzU1VGQlNTeExRVU5hUXl4RlFVRnJRaXhGUVVOc1FrTXNSVUZCYjBJc1JVRkRjRUpETEVWQlFXbENMRVZCUTJwQ1F5eEZRVUZyUWl4RlFVTnNRa01zUlVGQldVb3NSVUZEV2tzc1JVRkJXU3hEUVVOa0xGbEJRV0VzVTBGQlUzUktMRVZCUVU4c1EwRkRka0pCTEVkQlFWTXNTMEZCU3l4TlFVRlBjVW9zUlVGQldVUXNSVUZETlVKd1NpeEhRVUZUTEV0QlFVc3NTMEZCVFhGS0xFVkJRVmxHTEVWQlEyaERia29zUjBGQlV5eExRVUZMTEV0QlFVMXhTaXhGUVVGWlNDeEhRVU5vUTJ4S0xFZEJRVk1zUzBGQlN5eE5RVUZQY1Vvc1JVRkJXVW9zUlVGRk0wTXNSVUZEUkN4TlFVRlBMRk5CUVZOcWIwSXNSVUZCVVRKclFpeEZRVUZMTEVOQlEzWkNMRkZCUVZFc1VVRkJWU3hUUVVOd1FpeFJRVUZSTEUxQlFWRXNVVUZCVVN4TFFVVjBRbmxFTEVkQlFXMUNReXhIUVVOeVFpeFJRVUZSTEUxQlFVMHNTVUZCVFU0c1JVRkJTU3hyUWtGQmEwSXNTVUZCU1N4TFFVRlRReXhGUVVGUExFZEJRVWtzUlVGQlNTeEpRVUZMTEVsQlFVMW9iMElzUlVGQlV5eEpRVUZMTW10Q0xFTkJRVWNzUTBGRmNrY3NSVUZEUkN4SlFVRkxMRk5CUVZNemEwSXNSVUZCVVRKclFpeEZRVUZMTEVOQlEzcENMRXRCUVVzc1RVRkJUVE5yUWl4RlFVRlBMRWRCUVVjc1EwRkRkRUlzUlVGRFJDeExRVUZOTEZOQlFWTkJMRVZCUVZFeWEwSXNSVUZCU3l4RFFVTjBRbmRFTEVkQlFXdENSU3hIUVVOd1FpeFJRVUZSTEV0QlFVc3NTVUZCVFU0c1JVRkJTU3hyUWtGQmEwSXNTVUZCU1N4TFFVRlRReXhGUVVGUExFZEJRVWtzUlVGQlNTeEpRVUZMTEVsQlFVMW9iMElzUlVGQlV5eEpRVUZMTW10Q0xFTkJRVWNzUTBGRmNFY3NSVUZEUkN4TFFVRk5MRk5CUVZNemEwSXNSVUZCVVRKclFpeEZRVUZMTEVOQlEzUkNkVVFzUjBGQmNVSkhMRWRCUTNaQ0xGRkJRVkVzUzBGQlN5eEpRVUZOVGl4RlFVRkpMR3RDUVVGclFpeEpRVUZKTEV0QlFWTkRMRVZCUVU4c1IwRkJTU3hGUVVGSkxFbEJRVXNzU1VGQlRXaHZRaXhGUVVGVExFbEJRVXN5YTBJc1EwRkJSeXhEUVVWd1J5eEZRVU5FTEUxQlFVOHNVMEZCVXpOclFpeEZRVUZSTW10Q0xFVkJRVXNzUTBGRGRrSnpSQ3hIUVVGdFFra3NSMEZEY2tJc1VVRkJVU3hOUVVGTkxFbEJRVTFPTEVWQlFVa3NhMEpCUVd0Q0xFbEJRVWtzUzBGQlUwTXNSVUZCVHl4SFFVRkpMRVZCUVVrc1NVRkJTeXhKUVVGTmFHOUNMRVZCUVZNc1NVRkJTekpyUWl4RFFVRkhMRU5CUlhKSExFTkJRMHdzUlVGRFJTeFBRVUZQTWtRc1EwRkRWQ3hKUVVkQlVDeEZRVUZKTEd0Q1FVRnZRaXhUUVVGVFVTeEZRVUZWUXl4RlFVRlpMRU5CUTNKRUxFbEJRVWxETEVWQlIwb3NVMEZCVTBNc1JVRkJTVEZqTEVWQlFWRTFTaXhGUVVGUkxFTkJSek5DTEZGQlJrbHBSeXhGUVVGTkxFZEJRVXN5UkN4RlFVTllia3dzUlVGQlNYZElMRVZCUVVrc1RVRkJUU3hIUVVGSExFVkJRMlI0U0N4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGVGRVSXNSMEZEYmtKMlFpeEZRVUZGTEVOQlFVTXNSVUZCU1N4SlFVRk5RU3hGUVVGRkxFTkJRVU1zUlVGRmJFSXNUMEZCVDBFc1JVRkJSU3hMUVVGTExFZEJRVWNzUTBGRGJFSXNRMEZGUnpCdVFpeEZRVUZYTEVkQlEySkZMRVZCUVUwc1IwRkRUa1lzUlVGQlZ5eERRVUZEUVN4SFFVVmFSU3hGUVVGTkxFZEJSVklzU1VGQlNVVXNSVUZCV1Vnc1IwRkJZeXhGUVVNeFFra3NSVUZCWlV3c1JVRkJWMGtzUlVGRE1VSkZMRVZCUVZFc1MwRkJTeXhOUVVGTlJDeEZRVUZsTEVsQlFVa3NSVUZETVVOQkxFZEJRV2RDUXl4RlFVRlJMRXRCUTNoQ0xFbEJRVWxETEVWQlFWVXNTMEZCU3l4TlFVRk5SaXhGUVVGbExFVkJRVVVzUlVGRE1VTkJMRWRCUVdkQ1JTeEZRVUZWTEVkQlF6RkNMRWxCUVVsRExFVkJRVTlJTEVWQlFXVXNTVUZETVVJc1QwRkJRVUVzUlVGQlpTeExRVUZMTEUxQlFVMUJMRU5CUVZrc1JVRkRkRU5ITEVkQlFWRklMRVZCUVdVc1NVRkRka0pITEVWQlFVOHNTMEZCU3l4TlFVRk5RU3hEUVVGSkxFZEJRMlJPTEVWQlFVMHNTVUZCVFN4SlFVRk5TU3hGUVVGUkxFbEJRVTFJTEVWQlFVbEpMRVZCUVZNc1EwRkJReXhGUVVGSkxFbEJRVTFLTEVWQlFVbEZMRVZCUVdNc1EwRkJReXhGUVVGSkxFbEJRVTFHTEVWQlFVbExMRVZCUVUwc1EwRkJReXhEUVVNeFJ5eEZRVWRCYUVJc1JVRkJTU3haUVVGakxGTkJRVk5wUWl4RlFVRlJMRU5CUTJwRExFbEJRVWsxYlVJc1JVRkJVelJ0UWl4RlFVRlBMRTlCUTNCQ0xFZEJRVWsxYlVJc1JVRkJVeXhGUVVGSExFTkJSV1FzVVVGRVNXbEhMRVZCUVUwc1IwRkRSQzlITEVWQlFVa3NSVUZCUjBFc1JVRkJTV01zUlVGQlVXUXNTVUZEZEVKQkxFVkJRVWtzU1VGQlJ5dEhMRWRCUVU4c1MwRkRiRUpCTEVkQlFVOHNTVUZCVFRCbUxFVkJRVWtzYTBKQlFXdENhVUlzUlVGQlR5eE5RVUZOTVc1Q0xFTkJRVU1zUTBGQlF5eEZRVUZKTEVsQlFVMTViVUlzUlVGQlNTeHJRa0ZCYTBKcFFpeEZRVUZQTEVsQlFVa3hia0lzUTBGQlF5eERRVUZETEVWQlFVa3NTVUZGY2tjc1QwRkJUeXRITEVOQlExZ3NTMEZEU1N4UFFVRlBMRk5CUlZnc1JVRkZTU3hQUVVGUExGRkJRVmtzVFVGRGNrSXNVVUZCVVN4SlFVRk5NR1lzUjBGSGFFSXNTVUZCU1d0Q0xFVkJRV1VzVTBGQlUwTXNSVUZCWVN4RFFVTjJReXhIUVVGSlFTeGhRVUYxUWl4WlFVTjZRaXhMUVVGTE
1xFOUJRVk5CTEVWQlEyUXNTMEZCU3l4VFFVRlhMRWxCUVVrc1UwRkJVMEVzUTBGQlZ5eE5RVVY0UXl4TlFVRlBMSGRDUVVWVUxFdEJRVXNzVTBGQlZ5eERRVU5zUWl4RlFVdEJSQ3hGUVVGaExGVkJRVlVzV1VGQll5eFZRVUZYTEVOQlF6bERMRTlCUVU4c1MwRkJTeXhSUVVOa0xFVkJSVUZCTEVWQlFXRXNWVUZCVlN4bFFVRnBRaXhWUVVGWExFTkJRMnBFTEU5QlFVOHNTMEZCU3l4UFFVRlBMRlZCUTNKQ0xFVkJSVUZCTEVWQlFXRXNWVUZCVlN4VlFVRlpMRlZCUVZjc1EwRkROVU1zVDBGQlR5eExRVUZMTEU5QlFVOHNWVUZEY2tJc1JVRkZRVUVzUlVGQllTeFZRVUZWTEV0QlFVOHNVMEZCVTNCUExFVkJRVXNzUTBGRE1VTXNTVUZCU1hOUExFVkJRVThzUzBGQlN5eEpRVUZKTEVWQlFVY3NTMEZCU3l4SlFVRkpMRXRCUVVzc1QwRkJUeXhYUVVGWmRFOHNRMEZCUnl4RFFVRkRMRVZCUXpWRUxGbEJRVXNzVTBGQldTeE5RVUZOYzA4c1EwRkJTU3hIUVVGTExFTkJRVU1zVTBGQlUwRXNRMEZCU1N4RlFVRkxMRVZCUVVsQkxFVkJRMmhFTEVWQlExUXNSVUZGUVVZc1JVRkJZU3hWUVVGVkxFMUJRVkVzVlVGQlZ5eERRVU40UXl4UFFVRlBMRXRCUVVzc1dVRkJWeXhIUVVGTkxFdEJRVXNzWlVGQll5eERRVU5zUkN4RlFVdEJRU3hGUVVGaExGVkJRVlVzVjBGQllTeFRRVUZUTDFRc1JVRkJUV3RWTEVWQlFWRXNRMEZEZWtRc1NVRkJTVU1zUlVGQlRTeEZRVU5XTEVkQlFVa3NTMEZCU3l4VFFVRlhibFVzUjBGQlVTeExRVUZMTEU5QlFVOHNWMEZCV1N4RFFVTnNSQ3hQUVVGUlFTeEZRVUZKTEVOQlExWXNTVUZCU3l4SFFVTkRhMVVzUlVGRFJrTXNSVUZCVFN4TFFVRkxMRk5CUVZNc1VVRkJVU3hMUVVGTExGRkJRVkVzUlVGRmVrTkJMRVZCUVUwc1MwRkJTeXhUUVVGVExGTkJRVk1zUzBGQlN5eFJRVUZSTEVWQlJUVkRMRTFCUTBZc1NVRkJTeXhIUVVORFJDeEZRVU5HUXl4RlFVRk5MRXRCUVVzc1UwRkJVeXhUUVVGVExFdEJRVXNzVVVGQlVTeEZRVVV4UTBFc1JVRkJUU3hMUVVGTExGTkJRVk1zVlVGQlZTeExRVUZMTEZGQlFWRXNSVUZGTjBNc1RVRkRSaXhKUVVGTExFZEJRMGdzUjBGQlNVUXNSVUZEUml4TFFVRlBMRGhEUVVWUVF5eEZRVUZOTEV0QlFVc3NVMEZCVXl4VFFVRlRMRXRCUVVzc1VVRkJVU3hIUVVGTExFZEJReTlEUVN4SFFVRlBMRXRCUVVzc1UwRkJVeXhUUVVGVExFdEJRVXNzVTBGQlZ5eERRVUZETEVkQlFVc3NSVUZEY0VSQkxFZEJRVThzUzBGQlN5eFRRVUZUTEZOQlFWTXNTMEZCU3l4VFFVRlhMRU5CUVVNc1JVRkZha1FzVFVGRFJpeEpRVUZMTEVkQlEwTkVMRVZCUTBaRExFVkJRVTBzUzBGQlN5eFRRVUZUTEZOQlFWTXNTMEZCU3l4UlFVRlJMRVZCUlRGRFFTeEZRVUZOTEV0QlFVc3NVMEZCVXl4VlFVRlZMRXRCUVVzc1VVRkJVU3hGUVVVM1F5eE5RVU5HTEVsQlFVc3NSMEZEU0N4SFFVRkpSQ3hGUVVOR0xFdEJRVThzT0VOQlJWQkRMRVZCUVUwc1MwRkJTeXhUUVVGVExGVkJRVlVzUzBGQlN5eFJRVUZSTEVkQlFVc3NSMEZEYUVSQkxFZEJRVThzUzBGQlN5eFRRVUZUTEZWQlFWVXNTMEZCU3l4VFFVRlhMRU5CUVVNc1JVRkZiRVFzVFVGRFJpeFJRVU5GTEV0QlFVOHNORU5CUVRoRGJsVXNRMEZEZUVRc1EwRkRSQ3haUVVGTExGVkJRVmxCTEVWQlExWnRWU3hEUVVOWUxFdEJRMGtzVFVGQlR5dzBRa0ZGV0N4RlFVVkJTaXhGUVVGaExGVkJRVlVzVlVGQldTeF
1ZRVUZYTEVOQlF6VkRMRTlCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWNzUlVGQlN5eERRVU5xUXl4RlFVVkJRU3hGUVVGaExGVkJRVlVzVjBGQllTeFZRVUZYTEVOQlF6ZERMRTlCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWNzUlVGQlN5eERRVU5xUXl4RlFVVkJRU3hGUVVGaExGVkJRVlVzVjBGQllTeFZRVUZYTEVOQlF6ZERMRTlCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWNzUlVGQlN5eERRVU5xUXl4RlFVVkJRU3hGUVVGaExGVkJRVlVzVjBGQllTeFZRVUZYTEVOQlF6ZERMRTlCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWNzUlVGQlN5eERRVU5xUXl4RlFVVkJRU3hGUVVGaExGVkJRVlVzVjBGQllTeFZRVUZYTEVOQlF6ZERMRTlCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWNzUlVGQlN5eERRVU5xUXl4RlFVVkJRU3hGUVVGaExGVkJRVlVzVjBGQllTeFRRVUZUTjIxQ0xFVkJRVkVzUTBGRGJrUXNSMEZCU1N4TFFVRkxMRk5CUVZkQkxFZEJRVlVzUzBGQlN5eFBRVUZQTEZkQlFWa3NRMEZGY0VRc1VVRkVTVFpSTEVWQlFVa3NSMEZEUXl4RlFVRkpMRVZCUVVjc1JVRkJTVGRSTEVWQlFWRXNTVUZETVVJMlVTeEhRVUZMTEU5QlFVOHNZVUZCWVN4TFFVRkxMRlZCUVZjc1EwRkJRU3hGUVVVelF5eFBRVUZQUVN4RFFVTllMRXRCUTBrc1RVRkJUeXcwUWtGRldDeEZRVVZCWjFjc1JVRkJZU3hWUVVGVkxGbEJRV01zVlVGQlZ5eERRVVU1UXl4UlFVUkphRzFDTEVWQlFVMHNRMEZCUVN4SlFVTkhMRU5CUTFnc1NVRkJTWGRETEVWQlFVa3NTMEZCU3l4WlFVTmlMRWRCUVVsQkxFbEJRVTBzUlVGRFVuaERMRVZCUVVrc1MwRkJTM2RETEVOQlFVTXNUVUZGVml4TlFVVklMRU5CUTBRc1QwRkJUeXhQUVVGUExHRkJRV0VzVFVGQlRTeExRVUZOZUVNc1EwRkJSeXhEUVVNMVF5eEZRVVZCWjIxQ0xFVkJRV0VzVlVGQlZTeFRRVUZYTEZWQlFWY3NRMEZETTBNc1QwRkJUeXhMUVVGTExGZEJRVmNzUlVGQlJ5eEZRVUZKTEVOQlEyaERMRVZCUlVGQkxFVkJRV0VzVlVGQlZTeFZRVUZaTEZWQlFWY3NRMEZETlVNc1QwRkJUeXhMUVVGTExGZEJRVmNzUlVGQlJ5eEZRVUZKTEVOQlEyaERMRVZCUlVGQkxFVkJRV0VzVlVGQlZTeFZRVUZaTEZWQlFWY3NRMEZETlVNc1QwRkJUeXhMUVVGTExGZEJRVmNzUlVGQlJ5eEZRVUZKTEVOQlEyaERMRVZCUlVGQkxFVkJRV0VzVlVGQlZTeFZRVUZaTEZWQlFWY3NRMEZETlVNc1QwRkJUeXhMUVVGTExGZEJRVmNzUlVGQlJ5eEZRVUZMTEVOQlEycERMRVZCUlVGQkxFVkJRV0VzVlVGQlZTeGxRVUZwUWl4VFFVRlROMjFDTEVWQlFWRXNRMEZGZGtRc1VVRkVTV0VzUlVGQlRTeEpRVUZKTEZkQlFWZGlMRU5CUVUwc1JVRkRkRUlzUlVGQlNTeEZRVUZITEVWQlFVbEJMRVZCUVZFc1NVRkRNVUpoTEVWQlFVa3NRMEZCUXl4RlFVRkpMRXRCUVVzc1ZVRkJVeXhGUVVWNlFpeFBRVUZQUVN4RFFVTlVMRVZCUlVGbmJVSXNSVUZCWVN4VlFVRlZMR1ZCUVdsQ0xGTkJRVk0zYlVJc1JVRkJVU3hEUVVWMlJDeFJRVVJKWVN4RlFVRk5MRWxCUVVrc1YwRkJWMklzUTBGQlRTeEZRVU4wUWl4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlVTeEpRVU14UW1Fc1JVRkJTU3hEUVVGRExFVkJRVWtzUzBGQlN5eFZRVUZUTEVWQlJYcENMRTlCUVU5QkxFTkJRMVFzUlVGRlFXZHRRaXhGUVVGaExGVkJRVlVzWjBKQlFXdENMRk5CUVZNM2JVSXNSVUZCVVN4RFFVVjRSQ3hSUVVSSllTeEZRVUZOTEVsQlFVa3NWMEZCVjJJc1EwRkJUU3hGUVVOMFFpeEZRVUZKTEVWQlFVY3NSVUZCU1VFc1JVRkJVU3hKUVVNeFFtRXNSVUZCU1N4RFFVRkRMRVZCUVVrc1MwRkJTeXhYUVVGVkxFVkJSVEZDTEU5QlFVOUJMRU5CUTFRc1JVRkZRV2R0UWl4RlFVRmhMRlZCUVZVc1owSkJRV3RDTEZOQlFWTTNiVUlzUlVGQlVTeERRVVY0UkN4UlFVUkpZU3hGUVVGTkxFbEJRVWtzV1VGQldXSXNRMEZCVFN4RlFVTjJRaXhGUVVGSkxFVkJRVWNzUlVGQlNVRXNSVUZCVVN4SlFVTXhRbUVzUlVGQlNTeERRVUZETEVWQlFVa3NTMEZCU3l4WFFVRlZMRVZCUlRGQ0xFOUJRVTlCTEVOQlExUXNSVUZGUVdkdFFpeEZRVUZoTEZWQlFWVXNaVUZCYVVJc1UwRkJVemR0UWl4RlFVRlJMRU5CUlhaRUxGRkJSRWxoTEVWQlFVMHNTVUZCU1N4WFFVRlhZaXhEUVVGTkxFVkJRM1JDTEVWQlFVa3NSVUZCUnl4RlFVRkpRU3hGUVVGUkxFbEJRekZDWVN4RlFVRkpMRU5CUVVNc1JVRkJTU3hMUVVGTExGVkJRVk1zUlVGRmVrSXNUMEZCVDBFc1EwRkRWQ3hGUVVWSkxFOUJRVThzVVVGQldTeE5RVU55UWl4UlFVRlJMR0ZCUVdWbmJVSXNSMEZWZWtJc1NVRkJTVXNzUlVGQllTeFRRVUZUU2l4RlFVRmhTeXhGUVVGWlF5eEZRVUZaTEVOQlF6ZEVMRXRCUVVzc1dVRkJZMFFzUjBGQll5eEZRVU0zUWt3c1lVRkJkVUlzV1VGRGVrSXNTMEZCU3l4UFFVRlRRU3hGUVVOTUxFOUJRVTlCTEVkQlFXVXNWVUZETDBJc1MwRkJTeXhUUVVGWFFTeEZRVU5hU3l4SlFVTkdMRXRCUVVzc1lVRkJaVUVzU1VGSGRFSXNTMEZCU3l4UFFVRlRMRWxCUVVrc1dVRkJXVXdzUjBGQlpTeERRVUZETEVWQlJXaEVMRXRCUVVzc1UwRkJWeXhGUVVOb1FpeExRVUZMTEZkQlFXRk5MRWRCUVhGQ1JpeEZRVUZYTEdGQlEzQkVMRVZCUTBGQkxFVkJRVmNzVlVGQldTeERRVUZCTEVWQlJYWkNRU3hGUVVGWExGVkJRVlVzV1VGQll5eFZRVUZYTEVOQlF6VkRMRTlCUVU4c1MwRkJTeXhSUVVOa0xFVkJUMEZCTEVWQlFWY3NWVUZCVlN4VFFVRlhMRk5CUVZOSExFVkJRVThzUTBGRE9VTXNSMEZCU3l4TFFVRkxMR0ZCUjFZc1MwRkJTVU1zUlVGQlRTeExRVUZMTEZsQlFXTXNTMEZCU3l4VFFVRlhSQ3hGUVVONlEwVXNSVUZCVHl4TFFVRkxMRkZCUVZFc1YwRkRlRUlzUjBGQlNVUXNSMEZCVDBNc1JVRkJUU3hEUVVOWVJDeEZRVUZOTEV0QlFVc3NZMEZEWWl4TFFVRkxMRmxCUVdOQkxFZEJSWEpDTEUxQlEwUXNRMEZKUkN4SlFVaEpReXhGUVVGUExFbEJRMVJCTEVWQlFVOHNSMEZGUmtRc1JVRkJUVU1zUjBGRFdFRXNSMEZCVVN4RlFVVldMRWxCUVVsRExFVkJRVTBzU1VGQlNTeFpRVUZaUkN4RFFVRkpMRVZCUXpGQ1JTeEZRVUZOTEVsQlFVa3NWMEZCVnl4TFFVRkxMRTlCUVU4c1JVRkRha05ETEVWQlFVMHNTVUZCU1N4WFFVRlhSaXhGUVVGTExFVkJRVWRETEVWQlFVa3NUVUZCVFN4RlFVTXpRME1zUlVGQlNTeEpRVUZKUkN4RFFVRkhMRVZCUTFnc1MwRkJTeXhQUVVGVFJDeEZRVU5rTEV0QlFVc3NXVUZCWTBZc1JVRkRja0lzUlVGVlFVb3NSVUZCVnl4VlFVRlZMRmRCUVdFc1ZVRkJWeXhEUVVNelF5eEhRVUZKTEV0QlFVc3NZVUZCWlN4TFFVRkxMRkZCUVZFc1YwRkhja01zUzBGQlNVMHNSVUZCVFN4SlFVRkpMRmxCUVZrc1MwRkJTeXhYUVVGWExFVkJRM1JEUlN4RlFVRk5MRWxCUVVrc1YwRkJWMFlzUTBGQlJ5eEZRVU40UWtNc1JVRkJUU3hKUVVGSkxGZEJRVmNzUzBGQlN5eFJRVUZUTEVWQlFVZERMRVZCUVVrc1RVRkJUU3hGUVVOd1JFRXNSVUZCU1N4SlFVRkpSQ3hEUVVGSExFVkJRMWdzUzBGQlN5eFBRVUZUUkN4RlFVTm9RaXhGUVU5QlRpeEZRVUZYTEZkQlFXRXNSMEZOZUVKQkxFVkJRVmNzWTBGQlowSXNSMEZSTTBKQkxFVkJRVmNzVlVGQlZTeFpRVUZqTEVWQlRXNURMRTlCUVU4c1pVRkJaVUVzUlVGQlZ5eFZRVUZYTEdGQlF6RkRMRU5CUTBVc1NVRkJTeXhWUVVGWExFTkJRMlFzVDBGQlR5eExRVUZMTEZsQlFXTXNTMEZCU3l4WFFVTm9ReXhEUVVOTUxFTkJRVWNzUlVGUFNDeFBRVUZQTEdWQlFXVkJMRVZCUVZjc1ZVRkJWeXhUUVVNeFF5eERRVU5GTEVsQlFVc3NWVUZCVnl4RFFVTmtMRmxCUVVzc1YwRkJWU3hGUVVOU0xFdEJRVXNzVDBGRFlpeEZRVU5FTEVsQlFVc3NVMEZCVTJ4dFFpeEZRVUZITEVOQlEyWXNTMEZCU3l4UlFVRlZRU3hGUVVObUxFdEJRVXNzVlVGQldTeEpRVUZKTEZOQlFWTXNTMEZCU3l4UlFVRlRMRXRCUVVzc1YwRkJWeXhGUVVNMVJDeExRVUZMTEZsQlFXTXNTMEZCU3l4UlFVRlJMRlZCUTJwRExFTkJRMHdzUTBGQlJ5eEZRVTlJTEU5QlFVOHNaVUZCWld0dFFpeEZRVUZYTEZWQlFWY3NZVUZETVVNc1EwRkRSU3hKUVVGTExGVkJRVmNzUTBGRFpDeFBRVUZQTEV0QlFVc3NWMEZEWWl4RlFVTkVMRWxCUVVzc1UwRkJVMnh0UWl4RlFVRkhMRU5CUTJZc1MwRkJTeXhaUVVGalFTeEZRVU51UWl4TFFVRkxMRlZCUVZrc1NVRkJTU3hUUVVGVExFdEJRVXNzVVVGQlV5eExRVUZMTEZkQlFWY3NSVUZETlVRc1MwRkJTeXhaUVVGakxFdEJRVXNzVVVGQlVTeFZRVU5xUXl4RFFVTk1MRU5CUVVjc1JVRlBTQ3hQUVVGUExHVkJRV1ZyYlVJc1JVRkJWeXhWUVVGWExGZEJRekZETEVOQlEwVXNTVUZCU3l4VlFVRlhMRU5CUTJRc1QwRkJUeXhMUVVGTE
1xGTkJRMklzUlVGRFJDeEpRVUZMTEZOQlFWTnNiVUlzUlVGQlJ5eERRVU5tTEV0QlFVc3NXVUZCWTBFc1JVRkJSU3hYUVVOeVFpeExRVUZMTEZGQlFWVkJMRVZCUVVVc1QwRkRha0lzUzBGQlN5eFZRVUZaTEVsQlFVa3NVMEZCVXl4TFFVRkxMRkZCUVZNc1MwRkJTeXhYUVVGWExFVkJRelZFTEV0QlFVc3NXVUZCWXl4TFFVRkxMRmxCUVdOQkxFVkJRVVVzVlVGRGVrTXNRMEZEVEN4RFFVRkhMRVZCVTBocmJVSXNSVUZCVnl4VlFVRlZMRXRCUVU4c1UwRkJVM3BQTEVWQlFVc3NRMEZEZUVNc1NVRkJTWE5QTEVWQlFVOHNTMEZCU3l4SlFVRkpMRVZCUVVjc1MwRkJTeXhKUVVGSkxFdEJRVXNzVjBGQldYUlBMRU5CUVVjc1EwRkJReXhGUVVOeVJDeExRVUZMTEZOQlFWa3NUVUZCVFhOUExFTkJRVWtzUjBGQlN5eERRVUZETEZOQlFWTkJMRU5CUVVrc1JVRkJTeXhGUVVGSlFTeERRVU42UkN4RlFWRkJSeXhGUVVGWExGVkJRVlVzVFVGQlVTeFZRVUZYTEVOQlEzUkRMRTlCUVZFc1MwRkJTeXhWUVVGWkxFdEJRVXNzVjBGRGFFTXNSVUZaUVVFc1JVRkJWeXhWUVVGVkxHTkJRV2RDTEZOQlFWTnNia0lzUlVGQlVTeERRVU53UkN4TFFVRkxMRk5CUVZOQkxFVkJRVk1zUTBGQlF5eEZRVU40UWl4SlFVRkpZU3hGUVVGTkxFbEJRVWtzVjBGQlZ5eExRVUZMTEZGQlFWTXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkJWV0lzUTBGQlRTeEZRVU01UlN4WlFVRkxMRlZCUVZsQkxFVkJRVk1zUlVGRGJrSmhMRU5CUTFRc1JVRlZRWEZ0UWl4RlFVRlhMRlZCUVZVc1pVRkJhVUlzVTBGQlUyeHVRaXhGUVVGUkxFVkJRVWNzUTBGRGVFUkJMRVZCUVZOQkxFZEJRV3RDTEV0QlFVc3NWMEZCWVN4TFFVRkxMRk5CUVZjc1JVRkROMFFzU1VGQlNXRXNSVUZCVFN4SlFVRkpMRmRCUVZkaUxFTkJRVTBzUlVGREwwSXNUMEZCUVd0dVFpeEZRVUZYTEU5QlFVOXliVUlzUlVGQlNTeFBRVUZSTEVWQlF6VkNMRXRCUVVzc1QwRkJVU3hMUVVGTExGZEJRV0VzUzBGQlN5eFRRVU53UTJJc1JVRkJVMkVzUlVGQlNTeHBRa0ZCYVVJc1JVRkRhRU54YlVJc1JVRkJWeXhqUVVGamNtMUNMRVZCUVVzc1IwRkJXU3hMUVVGTExGVkJRV01zUlVGRE4wUXNTMEZCU3l4VlFVRlpRU3hGUVVGSkxGZEJRMlJCTEVOQlExUXNSVUZUUVhGdFFpeEZRVUZYTEZWQlFWVXNaVUZCYVVJc1UwRkJVMnh1UWl4RlFVRlJMRVZCUVVjc1EwRkRlRVJCTEVWQlFWTkJMRWRCUVd0Q0xFdEJRVXNzVjBGQllTeExRVUZMTEZOQlFWY3NSVUZETjBRc1NVRkJTV0VzUlVGQlRTeEpRVUZKTEZkQlFWZGlMRU5CUVUwc1JVRkRMMElzVDBGQlFXdHVRaXhGUVVGWExFOUJRVTl5YlVJc1JVRkJTU3hQUVVGUkxFVkJRelZDTEV0QlFVc3NUMEZCVVN4TFFVRkxMRmRCUVdFc1MwRkJTeXhUUVVOd1EySXNSVUZCVTJFc1JVRkJTU3hwUWtGQmFVSXNSVUZEYUVOeGJVSXNSVUZCVnl4alFVRmpjbTFDTEVWQlFVc3NSMEZCV1N4TFFVRkxMRlZCUVdNc1JVRkROMFFzUzBGQlN5eFZRVUZaUVN4RlFVRkpMRmRCUTJSQkxFTkJRMVFzUlVGVFFYRnRRaXhGUVVGWExGVkJRVlVzWTBGQlowSXNVMEZCVTJ4dVFpeEZRVUZSTEVOQlEzQkVRU3hGUVVGVFFTeEhRVUZyUWl4TFFVRkxMRmRCUVdFc1MwRkJTeXhUUVVOc1JDeEpRVUZKWVN4RlFVRk5MRWxCUVVrc1ZVRkJWV0lzUTBGQlRTeEZRVU01UWl4UFFVRkJhMjVDTEVWQlFWY3NUMEZCVDNKdFFpeEZRVUZKTEU5QlFWRXNSVUZETlVJc1MwRkJTeXhQUVVGUkxFdEJRVXNzVjBGQllTeExRVUZMTEZOQlEzQkRZaXhGUVVGVFlTeEZRVUZKTEdsQ1FVRnBRaXhGUVVOb1F5eExRVUZMTEZWQlFWbEJMRVZCUVVrc1YwRkRaRUVzUTBGRFZDeEZRVk5CY1cxQ0xFVkJRVmNzVlVGQlZTeG5Ra0ZCYTBJc1UwRkJVMnh1UWl4RlFVRlJMRVZCUVVjc1EwRkRla1JCTEVWQlFWTkJMRWRCUVd0Q0xFdEJRVXNzVjBGQllTeExRVUZMTEZOQlFWY3NSVUZETjBRc1NVRkJTV0VzUlVGQlRTeEpRVUZKTEZsQlFWbGlMRU5CUVUwc1JVRkRhRU1zVDBGQlFXdHVRaXhGUVVGWExFOUJRVTl5YlVJc1JVRkJTU3hQUVVGUkxFVkJRelZDTEV0QlFVc3NUMEZCVVN4TFFVRkxMRmRCUVdFc1MwRkJTeXhUUVVOd1EySXNSVUZCVTJFc1JVRkJTU3hwUWtGQmFVSXNSVUZEYUVOeGJVSXNSVUZCVnl4alFVRmpjbTFDTEVWQlFVc3NSMEZCV1N4TFFVRkxMRlZCUVdNc1JVRkROMFFzUzBGQlN5eFZRVUZaUVN4RlFVRkpMRmRCUTJSQkxFTkJRMVFzUlVGVFFYRnRRaXhGUVVGWExGVkJRVlVzWjBKQlFXdENMRk5CUVZOc2JrSXNSVUZCVVN4RlFVRkhMRU5CUTNwRVFTeEZRVUZUUVN4SFFVRnJRaXhMUVVGTExGZEJRV0VzUzBGQlN5eFRRVUZYTEVWQlF6ZEVMRWxCUVVsaExFVkJRVTBzU1VGQlNTeFpRVUZaWWl4RFFVRk5MRVZCUTJoRExFOUJRVUZyYmtJc1JVRkJWeXhQUVVGUGNtMUNMRVZCUVVrc1QwRkJVU3hGUVVNMVFpeExRVUZMTEU5QlFWRXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkRjRU5pTEVWQlFWTmhMRVZCUVVrc2FVSkJRV2xDTEVWQlEyaERjVzFDTEVWQlFWY3NZMEZCWTNKdFFpeEZRVUZMTEVkQlFWa3NTMEZCU3l4VlFVRmpMRVZCUXpkRUxFdEJRVXNzVlVGQldVRXNSVUZCU1N4WFFVTmtRU3hEUVVOVUxFVkJVMEZ4YlVJc1JVRkJWeXhWUVVGVkxHVkJRV2xDTEZOQlFWTnNia0lzUlVGQlVTeERRVU55UkVFc1JVRkJVMEVzUjBGQmEwSXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkRiRVFzU1VGQlNXRXNSVUZCVFN4SlFVRkpMRmRCUVZkaUxFTkJRVTBzUlVGREwwSXNUMEZCUVd0dVFpeEZRVUZYTEU5QlFVOXliVUlzUlVGQlNTeFBRVUZSTEVWQlF6VkNMRXRCUVVzc1QwRkJVU3hMUVVGTExGZEJRV0VzUzBGQlN5eFRRVU53UTJJc1JVRkJVMkVzUlVGQlNTeHBRa0ZCYVVJc1JVRkRhRU1zUzBGQlN5eFZRVUZaUVN4RlFVRkpMRmRCUTJSQkxFTkJRMVFzUlVGVFFYRnRRaXhGUVVGWExGVkJRVlVzYVVKQlFXMUNMRk5CUVZOc2JrSXNSVUZCVVN4RlFVRkhMRU5CUXpGRVFTeEZRVUZUUVN4SFFVRnJRaXhMUVVGTExGZEJRV0VzUzBGQlN5eFRRVUZYTEVWQlF6ZEVMRWxCUVVsaExFVkJRVTBzU1VGQlNTeGhRVUZoWWl4RFFVRk5MRVZCUTJwRExFOUJRVUZyYmtJc1JVRkJWeXhQUVVGUGNtMUNMRVZCUVVrc1QwRkJVU3hGUVVNMVFpeExRVUZMTEU5QlFWRXNTME
1ZCU3l4WFFVRmhMRXRCUVVzc1UwRkRjRU5pTEVWQlFWTmhMRVZCUVVrc2FVSkJRV2xDTEVWQlEyaERjVzFDTEVWQlFWY3NZMEZCWTNKdFFpeEZRVUZMTEVkQlFWa3NTMEZCU3l4VlFVRmpMRVZCUXpkRUxFdEJRVXNzVlVGQldVRXNSVUZCU1N4WFFVTmtRU3hEUVVOVUxFVkJVMEZ4YlVJc1JVRkJWeXhWUVVGVkxHbENRVUZ0UWl4VFFVRlRiRzVDTEVWQlFWRXNSVUZCUnl4RFFVTXhSRUVzUlVGQlUwRXNSMEZCYTBJc1MwRkJTeXhYUVVGaExFdEJRVXNzVTBGQlZ5eEZRVU0zUkN4SlFVRkpZU3hGUVVGTkxFbEJRVWtzWVVGQllXSXNRMEZCVFN4RlFVTnFReXhQUVVGQmEyNUNMRVZCUVZjc1QwRkJUM0p0UWl4RlFVRkpMRTlCUVZFc1JVRkROVUlzUzBGQlN5eFBRVUZSTEV0QlFVc3NWMEZCWVN4TFFVRkxMRk5CUTNCRFlpeEZRVUZUWVN4RlFVRkpMR2xDUVVGcFFpeEZRVU5vUTNGdFFpeEZRVUZYTEdOQlFXTnliVUlzUlVGQlN5eEhRVUZaTEV0QlFVc3NWVUZCWXl4RlFVTTNSQ3hMUVVGTExGVkJRVmxCTEVWQlFVa3NWMEZEWkVFc1EwRkRWQ3hGUVZOQmNXMUNMRVZCUVZjc1ZVRkJWU3hWUVVGWkxGTkJRVk51YjBJc1JVRkJSeXhEUVVNelF5eEpRVUZKYVVNc1JVRkJTU3hMUVVGTExGVkJRVlVzVTBGQlV5eExRVUZMTEZOQlFWVnFReXhIUVVGWkxFdEJRVXNzVlVGQll5eEZRVU01UlN4WlFVRkxMRlZCUVZrc1JVRkRWbWxETEVOQlExUXNSVUZSUVd0dFFpeEZRVUZYTEZWQlFWVXNWVUZCV1N4VFFVRlRibTlDTEVWQlFVY3NRMEZETTBNc1NVRkJTV2xETEVWQlFVa3NTMEZCU3l4VlFVRlZMRk5CUVZNc1MwRkJTeXhUUVVGVmFrTXNSMEZCV1N4TFFVRkxMRlZCUVdNc1JVRkRPVVVzV1VGQlN5eFZRVUZaTEVWQlExWnBReXhEUVVOVUxFVkJUMEZyYlVJc1JVRkJWeXhWUVVGVkxGTkJRVmNzVlVGQlZ5eERRVU42UXl4SlFVRkpiRzFDTEVWQlFVa3NTMEZCU3l4VlFVRlZMRkZCUVZFc1MwRkJTeXhSUVVGUkxFVkJRelZETEZsQlFVc3NWVUZCV1N4RlFVTldRU3hEUVVOVUxFVkJVVUZyYlVJc1JVRkJWeXhWUVVGVkxGZEJRV0VzVTBGQlUyNXZRaXhGUVVGSExFTkJRelZETEVsQlFVbHBReXhGUVVGSkxFdEJRVXNzVlVGQlZTeFZRVUZWTEV0QlFVc3NVMEZCVldwRExFZEJRVmtzUzBGQlN5eFZRVUZqTEVWQlF5OUZMRmxCUVVzc1ZVRkJXU3hGUVVOV2FVTXNRMEZEVkN4RlFWRkJhMjFDTEVWQlFWY3NWVUZCVlN4WFFVRmhMRk5CUVZOdWIwSXNSVUZCUnl4RFFVTTFReXhKUVVGSmFVTXNSVUZCU1N4TFFVRkxMRlZCUVZVc1ZVRkJWU3hMUVVGTExGTkJRVlZxUXl4SFFVRlpMRXRCUVVzc1ZVRkJZeXhGUVVNdlJTeFpRVUZMTEZWQlFWa3NSVUZEVm1sRExFTkJRMVFzUlVGUFFXdHRRaXhGUVVGWExGVkJRVlVzVlVGQldTeF
1ZRVUZYTEVOQlF6RkRMRWxCUVVsc2JVSXNSVUZCU1N4TFFVRkxMRlZCUVZVc1UwRkJVeXhMUVVGTExGRkJRVkVzUlVGRE4wTXNXVUZCU3l4VlFVRlpMRVZCUTFaQkxFTkJRMVFzUlVGUlFXdHRRaXhGUVVGWExGVkJRVlVzV1VGQll5eFRRVUZUYm05Q0xFVkJRVWNzUTBGRE4wTXNTVUZCU1dsRExFVkJRVWtzUzBGQlN5eFZRVUZWTEZkQlFWY3NTMEZCU3l4VFFVRlZha01zUjBGQldTeExRVUZMTEZWQlFXTXNSVUZEYUVZc1dVRkJTeXhWUVVGWkxFVkJRMVpwUXl4RFFVTlVMRVZCVVVGcmJVSXNSVUZCVnl4VlFVRlZMRmxCUVdNc1UwRkJVMjV2UWl4RlFVRkhMRU5CUXpkRExFbEJRVWxwUXl4RlFVRkpMRXRCUVVzc1ZVRkJWU3hYUVVGWExFdEJRVXNzVTBGQlZXcERMRWRCUVZrc1MwRkJTeXhWUVVGakxFVkJRMmhHTEZsQlFVc3NWVUZCV1N4RlFVTldhVU1zUTBGRFZDeEZRVkZCYTIxQ0xFVkJRVmNzVjBGQllTeEpRVUZKTEZWQlFWVXNTVUZCU1N4WFFVRlhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCU1N4RlFWbDJSVUVzUlVGQlZ5eFBRVUZUTEZOQlFWTlJMRVZCUVV0RExFVkJRVmRHTEVWQlFVdEhMRVZCUVZkRExFVkJRVmtzUTBGRGRrVXNTVUZCU1VNc1JVRkJVU3hKUVVGSkxGZEJRVmRLTEVWQlFVdERMRVZCUVZkRkxFTkJRVlVzUlVGRGFrUkZMRVZCUVZFc1NVRkJTU3hYUVVGWFRpeEZRVUZMUnl4RlFVRlhReXhEUVVGVkxFVkJRM0pFUXl4RlFVRk5MRWxCUVVsRExFTkJRVXNzUTBGRGFrSXNSVUZWUVdJc1JVRkJWeXhqUVVGblFpeFRRVUZUYkd0Q0xFVkJRVTluYkVJc1JVRkJjVUlzUTBGRE9VUXNUMEZCU1VFc1IwRkJkVUlzUzBGQlN5eFhRVU4yUW1oc1FpeEZRVVZCTEV0QlFVc3NiMEpCUVc5Q1FTeERRVUZMTEVOQlJYcERMRVZCVlVGcmEwSXNSVUZCVnl4bFFVRnBRaXhUUVVGVGJHdENMRVZCUVU5cGJFSXNSVUZCWXl4RFFVTjRSQ3hQUVVGSkxFdEJRVXNzV1VGQlkwRXNSVUZEWkdwc1FpeEZRVVZCTEV0QlFVc3NiMEpCUVc5Q1FTeERRVUZMTEVOQlJYcERMRVZCVVVGcmEwSXNSVUZCVnl4dlFrRkJjMElzVTBGQlUyeHJRaXhGUVVGUExFTkJSUzlETEZGQlJFbHJiRUlzUlVGQlN5eEpRVUZKTEZkQlFWZHNiRUlzUlVGQlRTeFBRVUZSUVN4RlFVRk5MRmRCUVZsQkxFVkJRVTBzVlVGQlZTeEZRVU12UkN4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlRTeFhRVUZaTEVkQlFVdEJMRVZCUVUwc2EwSkJReTlETEZGQlFWTXlReXhGUVVGSkxFVkJRVWt6UXl4RlFVRk5MR3RDUVVGdlFpeEZRVUZIY1ZFc1JVRkJTU3hGUVVGSE1VNHNSVUZCU1RCT0xFVkJRVWN4VGl4SlFVRkxNRTRzU1VGQlN5eERRVU53UlN4SlFVRkpPRlVzUlVGQlRVUXNSVUZCUnpkVkxFTkJRVU1zUlVGRFpEWlZMRVZCUVVjM1ZTeERRVUZETEVWQlFVazJWU3hGUVVGSGRtbENMRU5CUVVNc1JVRkRXblZwUWl4RlFVRkhkbWxDTEVOQlFVTXNSVUZCU1hkcFFpeERRVU5VTEVOQlJVZ3NUMEZCVDI1c1FpeERRVU5VTEVWQlVVRnJhMElzUlVGQlZ5eFZRVUZWTEdkQ1FVRnJRaXhGUVVWMlF5eFBRVUZQTEd0Q1FVRnZRaXhUUVVGVGEwSXNSVUZCVlN4RFFVVTFReXhSUVVSSmRtNUNMRVZCUVUwc1EwRkJRU3hGUVVORUxFVkJRVWtzUlVGQlJ5eEZRVUZKZFc1Q0xFVkJRVk1zVDBGQlVTeEpRVU51UTNadVFpeEZRVUZKTEVOQlFVTXNSVUZCU1hWdVFpeEZRVUZUTEVOQlFVTXNSVUZGY2tJc1QwRkJUeXhQUVVGUExHRkJRV0VzVFVGQlRTeExRVUZOZG01Q0xFTkJRVWNzUTBGRE5VTXNSVUZUUVhGdFFpeEZRVUZYTEZWQlFWVXNWMEZCWVN4VFFVRlRiRzVDTEVWQlFWRnhiMElzUlVGQlZTeERRVU16UkN4UFFVRkpRU3hIUVVGWkxFMUJRVkZCTEVkQlFWa3NVVUZETTBJc1QwRkJUeXhyUWtGQmEwSXNUVUZCVFN4TFFVRk5MRU5CUVVNc1MwRkJTeXhqUVVGamNtOUNMRWRCUVdsQ0xFdEJRVXNzVjBGQllTeExRVUZMTEZGQlFXbENMRU5CUVVNc1EwRkJReXhGUVVWdVNDeEpRVUZKTEZsQlFWbHhiMElzUTBGQlVTeEZRVUZITEU5QlFVOHNTMEZCU3l4alFVRmpjbTlDTEVOQlFVMHNRMEZCUXl4RFFVVjRSU3hGUVZOQmEyNUNMRVZCUVZjc1ZVRkJWU3haUVVGakxGTkJRVk5zYmtJc1JVRkJVU3hEUVVOc1JDeEpRVUZKZFc1Q0xFVkJRVThzUzBGQlN5eFhRVUZoTEV0QlFVc3NVMEZET1VKWExFVkJRVXNzU1VGQlNTeFhRVUZYTEV0QlFVc3NVVUZCVXl4TFFVRkxMRmxCUVdNc1MwRkJTeXhSUVVGUkxFVkJRMnhGU1N4RlFVRk5aaXhGUVVOT2RtNUNMRWRCUVZVc1QwRkRXbk52UWl4RlFVRk5MRXRCUVVzc1NVRkJTWFJ2UWl4RlFVRlJkVzVDTEVOQlFVa3NSMEZGTjBJc1VVRkJVM0p2UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWx2Y0VJc1IwRkJUMG9zUlVGQlIyaHdRaXhEUVVGRExFbEJRVTBzUlVGQlIwRXNTVUZCU3l4RFFVTTNReXhKUVVGSk1sSXNSVUZCU1N4UFFVRlBMR3RDUVVGclFpeE5RVUZOTEV0QlFVMHNRMEZCUXl4TFFVRkxMR05CUVdNelVpeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVTndSU3hQUVVGSll5eEhRVUZWTEV0QlExb3NTMEZCU3l4VlFVRlpjMjlDTEVWQlFVMXdjRUlzUlVGRFpFRXNSMEZCUzNGdlFpeEpRVU5rTEV0QlFVc3NWVUZCV1N4SFFVVmFNVmNzUTBGRFZDeEZRVTFCTEVsQlFVa3dXQ3hIUVVGWExFdEJRVXNzU1VGQlNTeEZRVUZITEVWQlFVVXNSVUZGTjBKeVFpeEZRVUZYTEZWQlFWVXNWVUZCV1N4VlFVRlhMRU5CUXpGRExFOUJRVkVzUzBGQlN5eFZRVUZUTEVWQlFVdHhRaXhIUVVGWkxFdEJRVXNzV1VGRE9VTXNSVUZEUVhKQ0xFVkJRVmNzVlVGQlZTeFhRVUZoTEZWQlFWY3NRMEZETTBNc1QwRkJVU3hMUVVGTExGZEJRVlVzUlVGQlMzRkNMRWRCUVZrc1MwRkJTeXhaUVVNdlF5eEZRVVZCY2tJc1JVRkJWeXhWUVVGVkxGVkJRVmtzVlVGQlZ5eERRVU14UXl4UFFVRlJMRXRCUVVzc1YwRkJWU3hGUVVGTGNVSXNSMEZCV1N4TFFVRkxMRmxCUXk5RExFVkJSVUZ5UWl4RlFVRlhMRlZCUVZVc1YwRkJZU3hWUVVGWExFTkJRek5ETEU5QlFWRXNTMEZCU3l4VlFVRlhMRWRCUVVrc1MwRkJUeXhMUVVGTExGVkJRVk1zUjBGQlRTeEhRVUZMTEV0QlFVc3NWVUZCVXl4RFFVTTFSU3hGUVVWSkxFOUJRVThzVVVGQldTeE5RVU55UWl4UlFVRlJMRmRCUVdGQkxFZEJWWFpDUVN4RlFVRlhMRlZCUVZVc1MwRkJUeXhUUVVGVGFrd3NSVUZCVlN4RFFVTTNReXhKUVVGSmNtUXNSVUZCVHl4SlFVRkpMRXRCUVVzc1EwRkJReXhMUVVGTE
1xFMUJRVTBzUTBGQlF5eEZRVU5xUXl4SFFVRkpMRTlCUVU4c1MwRkJUeXhKUVVGSkxHZENRVUZwUWl4RFFVTnlReXhKUVVGSlRpeEZRVUZOTEU5QlFVOHNTVUZCU1N4blFrRkJaMEpOTEVOQlFVa3NSVUZEY2tOSUxFVkJRVWtzVTBGQlV5eGpRVUZqTEVkQlFVY3NSVUZGYkVNc1UwRkJVeXhMUVVGTExGbEJRVmxCTEVOQlFVTXNSVUZETTBKQkxFVkJRVVVzWVVGQllTeFBRVUZSU0N4RFFVRkhMRVZCUXpGQ1J5eEZRVUZGTEdGQlFXRXNWMEZCV1hka0xFTkJRVkVzUlVGRmJrTjRaQ3hGUVVGRkxHRkJRV0VzVTBGQlZTeFBRVUZQTEVWQlEyaERRU3hGUVVGRkxFMUJRVXNzUlVGRFVDeFBRVUZQTEVsQlFVa3NaMEpCUVdkQ1NDeERRVUZITEVOQlEyeERMRXRCUTBrc1RVRkJUeXd5UTBGRldDeEZRVkZCTkc5Q0xFVkJRVmNzVlVGQlZTeGhRVUZsTEVkQlEzQkRMRTlCUVU4c1pVRkJaVUVzUlVGQlZ5eFZRVUZYTEdOQlF6RkRMRU5CUTBVc1NVRkJTeXhWUVVGWExFTkJRMlFzVDBGQlR5eExRVUZMTEZsQlEySXNSVUZEUkN4SlFVRkxMRk5CUVZOc2JVSXNSVUZCUnl4RFFVTldRU3hIUVVOSUxFdEJRVXNzVjBGQlZTeEZRVVZxUWl4TFFVRkxMR0ZCUVdWQkxFTkJRM0pDTEVOQlEwd3NRMEZCUnl4RlFWRklhMjFDTEVWQlFWY3NWVUZCVlN4TlFVRlJMRk5CUVZOd2FFSXNSVUZCVVN4RFFVTTFReXhKUVVGSk1HaENMRVZCUVUwc1NVRkJTU3haUVVGWkxFdEJRVXNzV1VGQll6Rm9RaXhEUVVGTkxFVkJReTlETkdoQ0xFVkJRVTBzU1VGQlNTeFhRVUZYUml4RFFVRkhMRVZCUTNoQ1F5eEZRVUZOTEVsQlFVa3NWMEZCVnl4TFFVRkxMRkZCUVZNemFFSXNSVUZCVVRSb1FpeEZRVUZKTEUxQlFVMHNSVUZEZWtSQkxFVkJRVWtzU1VGQlNVUXNRMEZCUnl4RlFVTllMRXRCUVVzc1QwRkJVMFFzUlVGRFpDeExRVUZMTEZWQlFWa3hhRUlzUTBGRGJrSXNSVUZSUVc5b1FpeEZRVUZYTEZWQlFWVXNaMEpCUVd0Q0xGTkJRVk55YlVJc1JVRkJTeXhGUVVGSExFTkJSWFJFTEVkQlJFRXNTMEZCU3l4VFFVRlRRU3hGUVVGSkxFOUJRVk1zUTBGQlF5eEZRVU40UWtFc1lVRkJaU3haUVVOcVFpeExRVUZMTEZkQlFXRXNTMEZCU3l4VFFVRlhRU3hGUVVGSkxHOUNRVUZ6UWl4RlFVTTFSSEZ0UWl4RlFVRlhMRTlCUVU4c1MwRkJTeXhSUVVGVExFdEJRVXNzVjBGQllTeExRVUZMTEZOQlEzSkVjbTFDTEVWQlFVa3NUMEZCVVN4RlFVTmFRU3hGUVVGSkxGVkJRVlVzUlVGRGFFSXNTMEZCU3l4alFVRmpRU3hGUVVGSkxFOUJRVkVzUTBGQlF5eE5RVVZvUXl4VFFVRlRMRVZCUVVrc1JVRkJSeXhGUVVGSlFTeEZRVUZKTEU5QlFWRXNTVUZET1VJc1MwRkJTeXhYUVVGWFFTeEZRVUZKTEVOQlFVTXNSVUZCUnl4RFFVRkRMRU5CUnk5Q0xFVkJVVUZ4YlVJc1JVRkJWeXhWUVVGVkxHZENRVUZyUWl4VFFVRlRjbTFDTEVWQlFVc3NSVUZCUnl4RFFVVjBSQ3hIUVVSQkxFdEJRVXNzVTBGQlUwRXNSVUZCU1N4UFFVRlRMRU5CUVVNc1JVRkRlRUpCTEdGQlFXVXNXVUZEYWtJc1MwRkJTeXhYUVVGaExFdEJRVXNzVTBGQlYwRXNSVUZCU1N4dlFrRkJjMElzUlVGRE5VUnhiVUlzUlVGQlZ5eFBRVUZQTEV0QlFVc3NVVUZCVXl4TFFVRkxMRmRCUVdFc1MwRkJTeXhUUVVOeVJISnRRaXhGUVVGSkxFOUJRVkVzUlVGRFdrRXNSVUZCU1N4VlFVRlZMRVZCUTJoQ0xFdEJRVXNzWTBGQlkwRXNSVUZCU1N4UFFVRlJMRU5CUVVNc1RVRkZhRU1zVTBGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1VFc1JVRkJTU3hQUVVGUkxFbEJRemxDTEV0QlFVc3NWMEZCVjBFc1JVRkJTU3hEUVVGRExFVkJRVWNzUTBGQlF5eERRVWN2UWl4RlFVOUJjVzFDTEVWQlFWY3NWVUZCVlN4bFFVRnBRaXhUUVVGVGNtMUNMRVZCUVVzc1EwRkZiRVFzUjBGRVFTeExRVUZMTEZOQlFWTkJMRVZCUVVrc1QwRkJVeXhEUVVGRExFVkJRM2hDUVN4aFFVRmxMRmRCUTJwQ0xFdEJRVXNzVjBGQllTeExRVUZMTEZOQlFWZEJMRVZCUVVrc2IwSkJRWE5DTEVWQlF6VkVjVzFDTEVWQlFWY3NUMEZCVHl4TFFVRkxMRkZCUVZNc1MwRkJTeXhYUVVGaExFdEJRVXNzVTBGRGNrUnliVUlzUlVGQlNTeFBRVUZSTEVWQlExcEJMRVZCUVVrc1ZVRkJWU3hGUVVOb1FpeExRVUZMTEdGQlFXRkJMRVZCUVVrc1RVRkJUU3hOUVVVMVFpeFRRVUZUTTBJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTWtJc1JVRkJTU3hQUVVGUk0wSXNTVUZET1VJc1MwRkJTeXhWUVVGVk1rSXNSVUZCU1ROQ0xFTkJRVU1zUTBGQlF5eERRVWN6UWl4RlFWRkJaMjlDTEVWQlFWY3NWVUZCVlN4cFFrRkJiVUlzVTBGQlUzSnRRaXhGUVVGTExFVkJRVWNzUTBGRmRrUXNSMEZFUVN4TFFVRkxMRk5CUVZOQkxFVkJRVWtzVDBGQlV5eERRVUZETEVWQlEzaENRU3hoUVVGbExHRkJRMnBDTEV0QlFVc3NWMEZCWVN4TFFVRkxMRk5CUVZkQkxFVkJRVWtzYjBKQlFYTkNMRVZCUXpWRWNXMUNMRVZCUVZjc1QwRkJUeXhMUVVGTExGRkJRVk1zUzBGQlN5eFhRVUZoTEV0QlFVc3NVMEZEY2tSeWJVSXNSVUZCU1N4UFFVRlJMRVZCUTFwQkxFVkJRVWtzVlVGQlZTeEZRVU5vUWl4TFFVRkxMR1ZCUVdWQkxFVkJRVWtzVDBGQlVTeERRVUZETEUxQlJXcERMRk5CUVZNc1JVRkJTU3hGUVVGSExFVkJRVWxCTEVWQlFVa3NUMEZCVVN4SlFVTTVRaXhMUVVGTExGbEJRVmxCTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUVVNc1EwRkhhRU1zUlVGUlFYRnRRaXhGUVVGWExGVkJRVlVzYVVKQlFXMUNMRk5CUVZOeWJVSXNSVUZCU3l4RlFVRkhMRU5CUlhaRUxFZEJSRUVzUzBGQlN5eFRRVUZUUVN4RlFVRkpMRTlCUVZNc1EwRkJReXhGUVVONFFrRXNZVUZCWlN4aFFVTnFRaXhMUVVGTExGZEJRV0VzUzBGQlN5eFRRVUZYUVN4RlFVRkpMRzlDUVVGelFpeEZRVU0xUkhGdFFpeEZRVUZYTEU5QlFVOHNTMEZCU3l4UlFVRlRMRXRCUVVzc1YwRkJZU3hMUVVGTExGTkJRM0pFY20xQ0xFVkJRVWtzVDBGQlVTeEZRVU5hUVN4RlFVRkpMRlZCUVZVc1JVRkRhRUlzUzBGQlN5eGxRVUZsUVN4RlFVRkpMRTlCUVZFc1EwRkJReXhOUVVWcVF5eFRRVUZUTEVWQlFVa3NSVUZCUnl4RlFVRkpRU3hGUVVGSkxFOUJRVkVzU1VGRE9VSXNTMEZCU3l4WlFVRlpRU3hGUVVGSkxFTkJRVU1zUlVGQlJ5eERRVUZETEVOQlIyaERMRVZCVDBGeGJVSXNSVUZCVnl4VlFVRlZMR2RDUVVGclFpeFRRVUZUY20xQ0xFVkJRVXNzUTBGRmJrUXNSMEZFUVN4TFFVRkxMRk5CUVZOQkxFVkJRVWtzVDBGQlV5eERRVUZETEVWQlEzaENRU3hoUVVGbExGbEJRMnBDTEV0QlFVc3NWMEZCWVN4TFFVRkxMRk5CUVZkQkxFVkJRVWtzYjBKQlFYTkNMRVZCUXpWRWNXMUNMRVZCUVZjc1QwRkJUeXhMUVVGTE
1xGRkJRVk1zUzBGQlN5eFhRVUZoTEV0QlFVc3NVMEZEY2tSeWJVSXNSVUZCU1N4UFFVRlJMRVZCUTFwQkxFVkJRVWtzVlVGQlZTeEZRVU5vUWl4TFFVRkxMR05CUVdOQkxFVkJRVWtzVFVGQlRTeE5RVVUzUWl4VFFVRlRNMElzUlVGQlNTeEZRVUZIUVN4RlFVRkpNa0lzUlVGQlNTeFBRVUZSTTBJc1NVRkRPVUlzUzBGQlN5eFhRVUZYTWtJc1JVRkJTVE5DTEVOQlFVTXNRMEZCUXl4RFFVYzFRaXhGUVZGQloyOUNMRVZCUVZjc1ZVRkJWU3hyUWtGQmIwSXNVMEZCVTNKdFFpeEZRVUZMTEVWQlFVY3NRMEZGZUVRc1IwRkVRU3hMUVVGTExGTkJRVk5CTEVWQlFVa3NUMEZCVXl4RFFVRkRMRVZCUTNoQ1FTeGhRVUZsTEdOQlEycENMRXRCUVVzc1YwRkJZU3hMUVVGTExGTkJRVmRCTEVWQlFVa3NiMEpCUVhOQ0xFVkJRelZFY1cxQ0xFVkJRVmNzVDBGQlR5eExRVUZMTEZGQlFWTXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkRja1J5YlVJc1JVRkJTU3hQUVVGUkxFVkJRMXBCTEVWQlFVa3NWVUZCVlN4RlFVTm9RaXhMUVVGTExHZENRVUZuUWtFc1JVRkJTU3hQUVVGUkxFTkJRVU1zVFVGRmJFTXNVMEZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlNTeFBRVUZSTEVsQlF6bENMRXRCUVVzc1lVRkJZVUVzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZCUXl4RFFVZHFReXhGUVZGQmNXMUNMRVZCUVZjc1ZVRkJWU3hyUWtGQmIwSXNVMEZCVTNKdFFpeEZRVUZMTEVWQlFVY3NRMEZGZUVRc1IwRkVRU3hMUVVGTExGTkJRVk5CTEVWQlFVa3NUMEZCVXl4RFFVRkRMRVZCUTNoQ1FTeGhRVUZsTEdOQlEycENMRXRCUVVzc1YwRkJZU3hMUVVGTExGTkJRVmRCTEVWQlFVa3NiMEpCUVhOQ0xFVkJRelZFY1cxQ0xFVkJRVmNzVDBGQlR5eExRVUZMTEZGQlFWTXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkRja1J5YlVJc1JVRkJTU3hQUVVGUkxFVkJRMXBCTEVWQlFVa3NWVUZCVlN4RlFVTm9RaXhMUVVGTExHZENRVUZuUWtFc1JVRkJTU3hQUVVGUkxFTkJRVU1zVFVGRmJFTXNVMEZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlNTeFBRVUZSTEVsQlF6bENMRXRCUVVzc1lVRkJZVUVzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZCUXl4RFFVZHFReXhGUVZOQmNXMUNMRVZCUVZjc1ZVRkJWU3hYUVVGaExGTkJRVk5zYlVJc1JVRkJSeXhGUVVGSExFTkJReTlETEV0QlFVc3NVMEZCVXl4RFFVRkRMRVZCUTJZc1MwRkJTeXhWUVVGVkxGTkJRVk1zUzBGQlN5eFRRVUZWUVN4RlFVRkhMRWRCUVZrc1MwRkJTeXhWUVVGakxFVkJRM3BGTEV0QlFVc3NWVUZCV1N4RFFVTnVRaXhGUVZGQmEyMUNMRVZCUVZjc1ZVRkJWU3hYUVVGaExGTkJRVk5zYlVJc1JVRkJSeXhGUVVGSExFTkJReTlETEV0QlFVc3NVMEZCVXl4RFFVRkRMRVZCUTJZc1MwRkJTeXhWUVVGVkxGTkJRVk1zUzBGQlN5eFRRVUZWUVN4RlFVRkhMRWRCUVZrc1MwRkJTeXhWUVVGakxFVkJRM3BGTEV0QlFVc3NWVUZCV1N4RFFVTnVRaXhGUVU5QmEyMUNMRVZCUVZjc1ZVRkJWU3hWUVVGWkxGTkJRVk5zYlVJc1JVRkJSeXhEUVVNelF5eExRVUZMTEZOQlFWTXNRMEZCUXl4RlFVTm1MRXRCUVVzc1ZVRkJWU3hSUVVGUkxFdEJRVXNzVTBGQlZVRXNRMEZCUXl4RlFVTjJReXhMUVVGTExGVkJRVmtzUTBGRGJrSXNSVUZSUVd0dFFpeEZRVUZYTEZWQlFWVXNXVUZCWXl4VFFVRlRiRzFDTEVWQlFVY3NSVUZCUnl4RFFVTm9SQ3hMUVVGTExGTkJRVk1zUTBGQlF5eEZRVU5tTEV0QlFVc3NWVUZCVlN4VlFVRlZMRXRCUVVzc1UwRkJWVUVzUlVGQlJ5eEhRVUZaTEV0QlFVc3NWVUZCWXl4RlFVTXhSU3hMUVVGTExGVkJRVmtzUTBGRGJrSXNSVUZSUVd0dFFpeEZRVUZYTEZWQlFWVXNXVUZCWXl4VFFVRlRiRzFDTEVWQlFVY3NSVUZCUnl4RFFVTm9SQ3hMUVVGTExGTkJRVk1zUTBGQlF5eEZRVU5tTEV0QlFVc3NWVUZCVlN4VlFVRlZMRXRCUVVzc1UwRkJWVUVzUlVGQlJ5eEhRVUZaTEV0QlFVc3NWVUZCWXl4RlFVTXhSU3hMUVVGTExGVkJRVmtzUTBGRGJrSXNSVUZQUVd0dFFpeEZRVUZYTEZWQlFWVXNWMEZCWVN4VFFVRlRiRzFDTEVWQlFVY3NRMEZETlVNc1MwRkJTeXhUUVVGVExFTkJRVU1zUlVGRFppeExRVUZMTEZWQlFWVXNVMEZCVXl4TFFVRkxMRk5CUVZWQkxFTkJRVU1zUlVGRGVFTXNTMEZCU3l4VlFVRlpMRU5CUTI1Q0xFVkJVVUZyYlVJc1JVRkJWeXhWUVVGVkxHRkJRV1VzVTBGQlUyeHRRaXhGUVVGSExFVkJRVWNzUTBGRGFrUXNTMEZCU3l4VFFVRlRMRU5CUVVNc1JVRkRaaXhMUVVGTExGVkJRVlVzVjBGQlZ5eExRVUZMTEZOQlFWVkJMRVZCUVVjc1IwRkJXU3hMUVVGTExGVkJRV01zUlVGRE0wVXNTMEZCU3l4VlFVRlpMRU5CUTI1Q0xFVkJVVUZyYlVJc1JVRkJWeXhWUVVGVkxHRkJRV1VzVTBGQlUyeHRRaXhGUVVGSExFVkJRVWNzUTBGRGFrUXNTMEZCU3l4VFFVRlRMRU5CUVVNc1JVRkRaaXhMUVVGTExGVkJRVlVzVjBGQlZ5eExRVUZMTEZOQlFWVkJMRVZCUVVjc1IwRkJXU3hMUVVGTExGVkJRV01zUlVGRE0wVXNTMEZCU3l4VlFVRlpMRU5CUTI1Q0xFVkJXVUZyYlVJc1JVRkJWeXhWUVVGVkxHZENRVUZyUWl4VFFVRlRhbWhDTEVWQlFVdHRhRUlzUlVGQldXOUNMRVZCUVdkQ0xFTkJRek5GUVN4SFFVRnJRaXhQUVVOd1FrRXNSVUZCYVVKMmFVSXNSVUZCU1N4UlFVVjJRaXhSUVVGVEwwY3NSVUZCU1N4RlFVRkhRU3hGUVVGSkswY3NSVUZCU1N4UlFVRlZMMGNzUlVGQlNYTndRaXhGUVVGblFuUndRaXhKUVVOd1JDeExRVUZMTEZsQlFWa3JSeXhGUVVGSkxGZEJRVmN2Unl4RFFVRkRMRVZCUVVkcmIwSXNRMEZCVlN4RlFVVm9SQ3hMUVVGUGJHOUNMRVZCUVVsemNFSXNSVUZCWjBKMGNFSXNTVUZEZWtJc1MwRkJTeXhaUVVGWkxFTkJRVU1zUTBGRmRFSXNSVUZWUVdkdlFpeEZRVUZYTEZWQlFWVXNXVUZCWXl4VFFVRlRjbGNzUlVGQlIzZFlMRVZCUVZWeWIwSXNSVUZCVVN4RFFVTXZSQ3hKUVVGSlpDeEZRVUZKTEVWQlExSXNSMEZCU1cxd1FpeEhRVUZaTEUxQlFWRkJMRWRCUVZrc1VVRkRiRU1zUjBGQlNYSnZRaXhIUVVGVkxFdEJRVTBzUTBGRGJFSXNTVUZCU1hOdlFpeEZRVUZOTEV0QlFVc3NTVUZCU1hwWUxFVkJRVVVzVDBGQlVUZFJMRU5CUVUwc1JVRkRia01zU1VGQlMyUXNSVUZCU1N4RlFVRkhRU3hGUVVGSmIzQkNMRVZCUVV0d2NFSXNTVUZEYmtJc1MwRkJTeXhYUVVGWE1sSXNSVUZCUlN4WFFVRlhNMUlzUTBGQlF5eERRVUZETEVWQlJXcERMRXRCUVU5QkxFVkJRVWxqTEVWQlFWRmtMRWxCUTJwQ0xFdEJRVXNzVjBGQlZ5eERRVUZETEVOQlJYcENMRXRCUTAwc1MwRkJTMEVzUlVGQlNTeEZRVUZIUVN4RlFVRkpNbElzUlVGQlJTeFBRVUZSTTFJc1NVRkRlRUlzUzBGQlN5eFhRVUZYTWxJc1JVRkJSU3hYUVVGWE0xSXNRMEZCUXl4RFFVRkRMRTlCU1c1RExFdEJRVXNzWjBKQlFXbENMRWxCUVVrc1dVRkJXVzF3UWl4RFFVRlJMRVZCUVVjc1QwRkJUM2hZTEVWQlFVVXNWVUZCVlN4RlFVRkhOMUVzUTBGQlRTeERRVUZETEVOQlFVTXNRMEZGYmtZc1JVRlhRV3R1UWl4RlFVRlhMRlZCUVZVc1lVRkJaU3hUUVVGVGNsY3NSVUZCUnpkUkxFVkJRVkVzUTBGRGRFUXNTVUZCU1N4RlFVRkpMRVZCUTFJc1IwRkJTVUVzUjBGQlZTeExRVUZOTEVOQlEyeENMRWxCUVVsemIwSXNSVUZCVFN4TFFVRkxMRWxCUVVsNldDeEZRVUZGTEU5QlFWRTNVU3hEUVVGTkxFVkJRMjVETEVsQlFVc3NSVUZCU1N4RlFVRkhMRVZCUVVsemIwSXNSVUZCU3l4SlFVTnVRaXhMUVVGTE
1xGZEJRVmQ2V0N4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRExFVkJSV3BETEV0QlFVOHNSVUZCU1RkUkxFVkJRVkVzU1VGRGFrSXNTMEZCU3l4WFFVRlhMRU5CUVVNc1EwRkZka0lzUzBGQlV5eERRVU5NTEVsQlFVc3NSVUZCU1N4RlFVRkhMRVZCUVVrMlVTeEZRVUZGTEU5QlFWRXNTVUZEZUVJc1MwRkJTeXhYUVVGWFFTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRMRVZCUldwRExFdEJRVXNzVjBGQlZ5eERRVUZETEVOQlEyeENMRU5CUTBnc1JVRlZRWEZYTEVWQlFWY3NWVUZCVlN4WlFVRmpMRk5CUVZOMVFpeEZRVUZyUWtNc1JVRkJVU3hEUVVOd1JTeFJRVUZUTEVWQlFVa3NSVUZCUnl4RlFVRkpSQ3hGUVVGcFFpeFBRVUZSTEVkQlFVc3NSVUZCUnl4RFFVTnVSQ3hKUVVGSlJTeEZRVUZKUml4RlFVRnBRaXhGUVVGSkxFTkJRVU1zUlVGRE9VSXNTMEZCU3l4VlFVRlZSU3hGUVVGSFJDeEZRVUZQUkN4RlFVRnBRaXhEUVVGRExFTkJRVU1zUlVGQlIwTXNRMEZCVFN4RFFVTjBSQ3hEUVVOSUxFVkJVMEY0UWl4RlFVRlhMRlZCUVZVc1ZVRkJXU3hUUVVGVExFVkJRVWRzYlVJc1JVRkJSekJ1UWl4RlFVRlJMRU5CUTNSRUxFbEJRVWxGTEVWQlEwb3NSMEZCU1N4UFFVRlBMRWRCUVVzc1YwRkRaQ3hQUVVGUExFVkJRVVVzUzBGQlRUVnVRaXhEUVVGRExFVkJRMWdzUjBGQlNTeFBRVUZQTEVkQlFVc3NWVUZCV1N4RlFVRkZMR0ZCUVdFc1QwRkRhRVFzVDBGQlR5eEZRVUZGTEVsQlFVa3NTMEZCVFVFc1JVRkJSekJ1UWl4RFFVRk5MRVZCUlRsQ0xFbEJRVWxHTEVWQlFXbENMRXRCUTJwQ05WTXNSVUZCVlN4UlFVTldOa01zUlVGQlRTeExRVUZMTEZOQldXWXNUMEZZU1N4UFFVRlJMRWRCUVUwc1ZVRkJXU3hKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVU4wUTIxUkxFVkJRVXNzUlVGQlJTeE5RVUZOTEVkQlFVY3NSVUZEYUVJc1JVRkJTVUVzUlVGQlJ5eERRVUZETEVWQlExSktMRVZCUVdsQ0xGTkJRVk5KTEVWQlFVY3NRMEZCUXl4RFFVRkRMRWRCUlRkQ0xFOUJRVThzUjBGQlN5eFZRVUZaTEVsQlFVa3NTMEZCU3l4RFFVRkRMRWxCUTNCRFFTeEZRVUZMTEVWQlFVVXNUVUZCVFN4SFFVRkhMRVZCUTJoQ0xFVkJRVWxCTEVWQlFVY3NRMEZCUXl4RlFVTlNhRlFzUlVGQlZTeFRRVUZUWjFRc1JVRkJSeXhEUVVGRExFTkJRVU1zUjBGSGJFSXNSVUZCUXl4RFFVTlFMRWxCUVVzc1VVRkRTQ3hMUVVGTExGZEJRVmMxYmtJc1EwRkJReXhGUVVOcVFpeE5RVU5HTEVsQlFVc3NUMEZEU0N4TFFVRkxMRlZCUVZWQkxFTkJRVU1zUlVGRGFFSXNUVUZGUml4SlFVRkxMRk5CUTBnc1MwRkJTeXhaUVVGWlFTeEZRVUZITEV0QlFVc3NWVUZCVlN4RlFVTnVReXhOUVVOR0xFbEJRVXNzVVVGRFNDeExRVUZMTEZkQlFWZEJMRVZCUVVjc1MwRkJTeXhWUVVGVkxFVkJRMnhETEUxQlEwWXNTVUZCU3l4VFFVTklMRXRCUVVzc1dVRkJXVUVzUlVGQlJ5eExRVUZMTEZWQlFWVXNSVUZEYmtNc1RVRkRSaXhKUVVGTExGRkJRMGdzUzBGQlN5eFhRVUZYUVN4RlFVRkhMRXRCUVVzc1ZVRkJWU3hGUVVOc1F5eE5RVU5HTEVsQlFVc3NWVUZEU0N4TFFVRkxMR0ZCUVdGQkxFVkJRVWNzUzBGQlN5eFZRVUZWTEVWQlEzQkRMRTFCUTBZc1NVRkJTeXhWUVVOSUxFdEJRVXNzWVVGQllVRXNSVUZCUnl4TFFVRkxMRlZCUVZVc1JVRkRjRU1zVFVGRlJpeEpRVUZMTEZkQlEwZ3NTMEZCU3l4WlFVRlpRU3hGUVVGSGEyMUNMRVZCUVZjc1ZVRkJWU3hGUVVONlF5eE5RVU5HTEVsQlFVc3NWVUZEU0N4TFFVRkxMRmRCUVZkc2JVSXNSVUZCUjJ0dFFpeEZRVUZYTEZWQlFWVXNSVUZEZUVNc1RVRkRSaXhKUVVGTExGZEJRMGdzUzBGQlN5eFpRVUZaYkcxQ0xFVkJRVWRyYlVJc1JVRkJWeXhWUVVGVkxFVkJRM3BETEUxQlEwWXNTVUZCU3l4VlFVTklMRXRCUVVzc1YwRkJWMnh0UWl4RlFVRkhhMjFDTEVWQlFWY3NWVUZCVlN4RlFVTjRReXhOUVVOR0xFbEJRVXNzV1VGRFNDeExRVUZMTEdGQlFXRnNiVUlzUlVGQlIydHRRaXhGUVVGWExGVkJRVlVzUlVGRE1VTXNUVUZEUml4SlFVRkxMRmxCUTBnc1MwRkJTeXhoUVVGaGJHMUNMRVZCUVVkcmJVSXNSVUZCVnl4VlFVRlZMRVZCUXpGRExFMUJSVVlzU1VGQlN5eFhRVU5JTEV0QlFVc3NXVUZCV1d4dFFpeEZRVUZIYTIxQ0xFVkJRVmNzWVVGQllTeEZRVU0xUXl4TlFVTkdMRWxCUVVzc1ZVRkRTQ3hMUVVGTExGZEJRVmRzYlVJc1JVRkJSMnR0UWl4RlFVRlhMR0ZCUVdFc1JVRkRNME1zVFVGRFJpeEpRVUZMTEZkQlEwZ3NTMEZCU3l4WlFVRlpiRzFDTEVWQlFVZHJiVUlzUlVGQlZ5eGhRVUZoTEVWQlF6VkRMRTFCUTBZc1NVRkJTeXhWUVVOSUxFdEJRVXNzVjBGQlYyeHRRaXhGUVVGSGEyMUNMRVZCUVZjc1lVRkJZU3hGUVVNelF5eE5RVU5HTEVsQlFVc3NXVUZEU0N4TFFVRkxMR0ZCUVdGc2JVSXNSVUZCUjJ0dFFpeEZRVUZYTEdGQlFXRXNSVUZETjBNc1RVRkRSaXhKUVVGTExGbEJRMGdzUzBGQlN5eGhRVUZoYkcxQ0xFVkJRVWRyYlVJc1JVRkJWeXhoUVVGaExFVkJRemRETEUxQlJVWXNTVUZCU3l4VlFVTklMRXRCUVVzc1lVRkJZV3h0UWl4RlFVRkhkMjVDTEVOQlFXTXNSVUZEYmtNc1RVRkZSaXhKUVVGTExGTkJRMGdzUzBGQlN5eFpRVUZaZUc1Q0xFVkJRVWMwVlN4RlFVRlRORk1zUTBGQll5eEZRVU16UXl4TlFVVkdMRWxCUVVzc1dVRkRTQ3hMUVVGTExHZENRVUZuUW5odVFpeEZRVUZITEV0QlFVc3NWMEZCV1hkdVFpeERRVUZqTEVWQlEzWkVMRTFCUlVZc1NVRkJTeXhqUVVOSUxFdEJRVXNzWjBKQlFXZENlRzVDTEVWQlFVZHJiVUlzUlVGQlZ5eGpRVUZsYzBJc1EwRkJZeXhGUVVOb1JTeE5RVVZHTEVsQlFVc3NZMEZEU0N4TFFVRkxMR2RDUVVGblFuaHVRaXhGUVVGSGEyMUNMRVZCUVZjc1YwRkJXWE5DTEVOQlFXTXNSVUZETjBRc1RVRkZSaXhSUVVORkxFZEJRVWtzUlVGQlJTeFJRVUZWTEVWQlFVY3NRMEZGYWtJc1VVRkVTVXNzUlVGQlN5eEZRVUZGTEVOQlFVTXNSVUZEU0ROd1FpeEZRVUZKTEVWQlFVZEJMRVZCUVVrNFFpeEZRVUZGTEU5QlFWRTVRaXhKUVVNMVFpeExRVUZMTEZWQlFWVXljRUlzUlVGQlNUZHVRaXhGUVVGRk9VSXNRMEZCUXl4RFFVRkRMRVZCUlhwQ0xFdEJRMUlzUzBGQllTeERRVU5NTEV0QlFVc3NXVUZCV1N4RlFVRkhPRUlzUTBGQlF5eEZRVU55UWl4TFFVTkVMRU5CUTBvc1EwRkRSM2R1UWl4SFFVRnJRaXhQUVVOd1FpeExRVUZMTEZOQlFWY3ZVQ3hGUVVOb1FpeExRVUZMTEZOQlFWTXJVQ3hEUVVGakxFVkJRelZDTEV0QlFVc3NVMEZCVnk5UUxFVkJRVTByVUN4RlFVVXhRaXhGUVVkQmRFSXNSVUZCVnl4VlFVRlZMRmxCUVdNc1UwRkJVMnh0UWl4RlFVRkhMRU5CUXpkRExFbEJRVWs0YmtJc1JVRkJTU3hMUVVGTExFMUJRVTA1YmtJc1JVRkJTWFZ1UWl4RlFVRlJMRVZCUXk5Q0xFdEJRVXNzV1VGQldVOHNRMEZCUXl4RlFVTnNRaXhMUVVGTE
1xGbEJRVms1YmtJc1JVRkJTU3hWUVVGVkxFTkJRMnBETEVWQlJVRnJiVUlzUlVGQlZ5eFZRVUZWTEZsQlFXTXNVMEZCVTJ4dFFpeEZRVUZITEVOQlF6ZERMRXRCUVVzc1dVRkJXVUVzUlVGQlNTeFhRVUZsTEVWQlFVVXNSVUZEZEVNc1MwRkJTeXhaUVVGWlFTeEZRVUZKTEZGQlFXVXNRMEZCUXl4RlFVTnlReXhMUVVGTExGZEJRVmxCTEVWQlFVa3NTVUZEZGtJc1JVRkZRV3R0UWl4RlFVRlhMRlZCUVZVc1lVRkJaU3hUUVVGVE5rSXNSVUZCVldod1FpeEZRVUZQTEVOQlF6VkVMRWxCUVVrd1dTeEZRVUZOTEV0QlFVc3NVMEZEWml4TFFVRkxMRXRCUVV0elVTeERRVUZSTEVWQlEyeENMRXRCUVVzc1dVRkJXV2h3UWl4RFFVRkxMRVZCUTNSQ0xFdEJRVXNzUzBGQlN6QlpMRU5CUVVjc1EwRkRaaXhGUVdOQmVVOHNSVUZCVnl4VlFVRlZMR05CUVdkQ0xGTkJRVk5zYmtJc1JVRkJVU3hGUVVGSExFTkJRM1pFTEV0QlFVc3NVMEZCVTBFc1JVRkJVeXhEUVVGRExFVkJRM2hDTEVsQlFVbGhMRVZCUVUwc1NVRkJTU3hYUVVGWExFdEJRVXNzVVVGQlV5eExRVUZMTEZkQlFXRXNTMEZCU3l4VFFVRlZZaXhEUVVGTkxFVkJRemxGTEU5QlFVRnJia0lzUlVGQlZ5eGpRVUZqY20xQ0xFVkJRVXNzUjBGQldTeExRVUZMTEZWQlFXTXNSVUZETjBRc1MwRkJTeXhWUVVGWllpeEZRVUZUTEVWQlEyNUNZU3hEUVVOVUxFVkJZMEZ4YlVJc1JVRkJWeXhWUVVGVkxHTkJRV2RDTEZOQlFWTnNia0lzUlVGQlVTeEZRVUZITEVOQlEzWkVMRXRCUVVzc1UwRkJVMEVzUlVGQlV5eERRVUZETEVWQlEzaENMRWxCUVVsaExFVkJRVTBzU1VGQlNTeFhRVUZYTEV0QlFVc3NVVUZCVXl4TFFVRkxMRmRCUVdFc1MwRkJTeXhUUVVGVllpeERRVUZOTEVWQlF6bEZMRTlCUVVGcmJrSXNSVUZCVnl4alFVRmpjbTFDTEVWQlFVc3NSMEZCV1N4TFFVRkxMRlZCUVdNc1JVRkROMFFzUzBGQlN5eFZRVUZaWWl4RlFVRlRMRVZCUTI1Q1lTeERRVU5VTEVWQlYwRnhiVUlzUlVGQlZ5eFZRVUZWTEdGQlFXVXNVMEZCVTJ4dVFpeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1UwRkJVMEVzUlVGQlV5eERRVUZETEVWQlEzaENMRWxCUVVsaExFVkJRVTBzU1VGQlNTeFZRVUZWTEV0QlFVc3NVVUZCVXl4TFFVRkxMRmRCUVdFc1MwRkJTeXhUUVVGVllpeERRVUZOTEVWQlF6ZEZMRmxCUVVzc1ZVRkJXVUVzUlVGQlV5eEZRVU51UW1Fc1EwRkRWQ3hGUVdOQmNXMUNMRVZCUVZjc1ZVRkJWU3hsUVVGcFFpeFRRVUZUYkc1Q0xFVkJRVkVzUlVGQlJ5eERRVU40UkN4TFFVRkxMRk5CUVZOQkxFVkJRVk1zUTBGQlF5eEZRVU40UWl4SlFVRkpZU3hGUVVGTkxFbEJRVWtzV1VGQldTeExRVUZMTEZGQlFWTXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkJWV0lzUTBGQlRTeEZRVU12UlN4UFFVRkJhMjVDTEVWQlFWY3NZMEZCWTNKdFFpeEZRVUZMTEVkQlFWa3NTMEZCU3l4VlFVRmpMRVZCUXpkRUxFdEJRVXNzVlVGQldXSXNSVUZCVXl4RlFVTnVRbUVzUTBGRFZDeEZRV05CY1cxQ0xFVkJRVmNzVlVGQlZTeGxRVUZwUWl4VFFVRlRiRzVDTEVWQlFWRXNSVUZCUnl4RFFVTjRSQ3hMUVVGTExGTkJRVk5CTEVWQlFWTXNRMEZCUXl4RlFVTjRRaXhKUVVGSllTeEZRVUZOTEVsQlFVa3NXVUZCV1N4TFFVRkxMRkZCUVZNc1MwRkJTeXhYUVVGaExFdEJRVXNzVTBGQlZXSXNRMEZCVFN4RlFVTXZSU3hQUVVGQmEyNUNMRVZCUVZjc1kwRkJZM0p0UWl4RlFVRkxMRWRCUVZrc1MwRkJTeXhWUVVGakxFVkJRemRFTEV0QlFVc3NWVUZCV1dJc1JVRkJVeXhGUVVOdVFtRXNRMEZEVkN4RlFXTkJjVzFDTEVWQlFWY3NWVUZCVlN4blFrRkJhMElzVTBGQlUyeHVRaXhGUVVGUkxFVkJRVWNzUTBGRGVrUXNTMEZCU3l4VFFVRlRRU3hGUVVGVExFTkJRVU1zUlVGRGVFSXNTVUZCU1dFc1JVRkJUU3hKUVVGSkxHRkJRV0VzUzBGQlN5eFJRVUZUTEV0QlFVc3NWMEZCWVN4TFFVRkxMRk5CUVZWaUxFTkJRVTBzUlVGRGFFWXNUMEZCUVd0dVFpeEZRVUZYTEdOQlFXTnliVUlzUlVGQlN5eEhRVUZaTEV0QlFVc3NWVUZCWXl4RlFVTTNSQ3hMUVVGTExGVkJRVmxpTEVWQlFWTXNSVUZEYmtKaExFTkJRMVFzUlVGalFYRnRRaXhGUVVGWExGVkJRVlVzWjBKQlFXdENMRk5CUVZOc2JrSXNSVUZCVVN4RlFVRkhMRU5CUTNwRUxFdEJRVXNzVTBGQlUwRXNSVUZCVXl4RFFVRkRMRVZCUTNoQ0xFbEJRVWxoTEVWQlFVMHNTVUZCU1N4aFFVRmhMRXRCUVVzc1VVRkJVeXhMUVVGTE
1xGZEJRV0VzUzBGQlN5eFRRVUZWWWl4RFFVRk5MRVZCUTJoR0xFOUJRVUZyYmtJc1JVRkJWeXhqUVVGamNtMUNMRVZCUVVzc1IwRkJXU3hMUVVGTExGVkJRV01zUlVGRE4wUXNTMEZCU3l4VlFVRlpZaXhGUVVGVExFVkJRMjVDWVN4RFFVTlVMRVZCWVVFc1NVRkJTVzF2UWl4RlFVRnZRaXhUUVVGVFF5eEZRVUZSTEVOQlJYWkRMRXRCUVVzc1VVRkJWU3hIUVVObUxFdEJRVXNzV1VGQll5eEhRVU5tUVN4SlFVTkdMRXRCUVVzc1lVRkJZVUVzUTBGQlRTeEZRVU40UWl4TFFVRkxMRmxCUVdNc1JVRkZka0lzUlVGRFFVUXNSVUZCYTBJc1ZVRkJXU3hKUVVGSk9VSXNSVUZCVnl4SlFVRkpMRmxCUVdVc1JVRkJSMEVzUlVGQlZ5eFZRVUZWTEVWQlRYaEdPRUlzUlVGQmEwSXNWVUZCVlN4WlFVRmpMRlZCUVZjc1EwRkRia1FzU1VGQlNVVXNSVUZEU2l4UFFVRkpMRXRCUVVzc1dVRkJZeXhIUVVOa0xFZEJRMFVzUzBGQlN5eFJRVUZSTEU5QlFWTXNSMEZETDBKQkxFVkJRV01zUzBGQlN5eFJRVUZSTEVOQlFVTXNSVUZEZUVKQkxFVkJRVmtzV1VGQll5eEhRVU0xUWl4TFFVRkxMRTlCUVZOQkxFVkJRMlFzUzBGQlN5eFpRVUZqTEVWQlEyNUNka1FzUlVGQlNTeE5RVUZOTEc5Q1FVRnhRaXd3UWtGQk1FSXNSVUZEYkVRc1MwRkZVRUVzUlVGQlNTeExRVUZMTEc5Q1FVRnhRaXdyUTBGQkswTXNSVUZETjBVc1MwRkJTeXhsUVVGakxFVkJRMW9zVFVGSFZFRXNSVUZCU1N4TFFVRkxMRzlDUVVGeFFpeHBRMEZCYVVNc1JVRkRMMFFzUzBGQlN5eGxRVUZqTEVWQlExb3NSMEZGV0N4RlFWRkJMRmxCUVZrc1QwRkJVeXhUUVVGVGQwUXNSVUZCVTBNc1JVRkJVeXhEUVVNNVEzcEVMRVZCUVVrc1RVRkJUU3hqUVVGbExESkRRVUUyUTNkRUxFVkJRVkVzVjBGQllVTXNSVUZCVVN4WFFVRlhMRVZCUXpsSExFbEJRVWxxUWl4RlFVRk5MRWxCUVVrc1YwRkJWMmRDTEVWQlFWRXNWMEZCWVVNc1JVRkJVU3hWUVVGVkxFVkJRMmhGTEU5QlFVRnFRaXhGUVVGSkxFbEJRVWtzU1VGQlNTeFhRVUZYWjBJc1EwRkJUeXhGUVVGSExFTkJRVU1zUlVGRGJFTm9RaXhGUVVGSkxFbEJRVWtzU1VGQlNTeFhRVUZYYVVJc1EwRkJUeXhGUVVGSFJDeEZRVUZSTEZWQlFWVXNSVUZETlVOb1FpeEZRVUZKTEUxQlEySXNSVUZUUVdFc1JVRkJhMElzVlVGQlZTeGhRVUZsTEZOQlFWTkRMRVZCUVZGdWFrSXNSVUZCVVhWcVFpeEZRVUZYTEVOQlF6ZEZMRWxCUVVsRExFVkJRMG9zVDBGQlFVRXNSVUZCVXl4SlFVRkpMRmRCUVZkRUxFTkJRVk1zUlVGRGFrTkRMRVZCUVU4c1NVRkJTU3hKUVVGSkxGZEJRVmRNTEVWQlFWRnVha0lzUlVGQlVYVnFRaXhEUVVGVExFTkJRVU1zUlVGRGNFUkRMRVZCUVU4c1QwRkJUeXhWUVVGWlRDeEZRVUZQTEZWQlFWbHVha0lzUlVGRE4wTjNha0lzUlVGQlR5eFBRVUZQTEZWQlFWa3NSVUZEYmtKQkxFVkJRVThzVFVGRGFFSXNSVUZSUVU0c1JVRkJhMElzVlVGQlZTeGhRVUZsTEZOQlFWTlBMRVZCUVVrc1EwRkhkRVFzVVVGR1NVTXNSVUZCVXl4SFFVVktMRVZCUVVrc1JVRkJSeXhGUVVGSkxFdEJRVXNzVVVGQlVTeFBRVUZSTEVsQlFVc3NRMEZETlVNc1NVRkJTVzV0UWl4RlFVRkpMRXRCUVVzc1VVRkJVU3hEUVVGRExFVkJRM1JDTEVkQlFVbHJiVUlzUlVGQlJ5eFhRVUZoYkcxQ0xFVkJRVVVzVlVGQlZ5eERRVVV2UWl4SFFVRkphMjFDTEVWQlFVY3NXVUZCWTJ4dFFpeEZRVUZGTEZWQlJYSkNMRWRCUVVscmJVSXNSVUZCUnl4WFFVRmhiRzFDTEVWQlFVVXNWMEZCV1N4RFFVbG9ReXhMUVVGTExGRkJRVkVzVDBGQlR5eEZRVUZITEVOQlFVTXNSVUZEZUVJc1NVRkRRU3hSUVVOV0xFMUJSVlZ6YVVJc1JVRkJTU3hMUVVGTExHOUNRVUZ4UWl4elFrRkJkMEkwUkN4RlFVRkhMRlZCUVZrc1kwRkJaMEpCTEVWQlFVY3NWMEZCWVN3NFFrRkJPRUlzVDBGTGFrbEJMRVZCUVVjc1ZVRkJXVUVzUlVGQlJ5eFpRVUZqYkcxQ0xFVkJRVVVzV1VGSmNFTnJiVUlzUlVGQlN5eExRVUZMTEdGQlFXRkJMRVZCUVVrc1JVRkJSMnh0UWl4RlFVRkZMRlZCUVZscmJVSXNSVUZCUnl4VFFVRlRMRWRCUlRGRU5VUXNSVUZCU1N4TlFVRk5MRzlDUVVGeFFpeHZRMEZCYzBNMFJDeEZRVUZITEZWQlFWa3NZMEZCWjBKQkxFVkJRVWNzVjBGQllTeEhRVUZITEVWQlEzWklMRXRCUVVzc1VVRkJVU3hQUVVGUExFVkJRVWNzUlVGQlIwRXNRMEZCUlN4RlFVZDRRaXhKUVVGTkxFbEJRMUlzUzBGQlN5eFBRVUZUUVN4SFFVZHNRa01zUlVGQlV5eEhRVU5VTEV0QlEwNHNVMEZCWlVRc1JVRkJSeXhWUVVGWmJHMUNMRVZCUVVVc1ZVRkJXVUVzUlVGQlJTeFhRVUZaTEVOQlJYQkVMRWxCUVVsNVF5eEZRVUZUZWtNc1JVRkJSU3hWUVVGWlFTeEZRVUZGTEZkQlFXRnJiVUlzUlVGQlJ5eFZRVU42UTBZc1JVRkJXVVVzUlVGQlJ5eFhRVUZoZW1w
1Q0xFVkJRMmhETEVkQlFVbDFha0lzUlVGQldTeEZRVVZrUlN4RlFVRkxMRXRCUVVzc1lVRkJZVUVzUlVGQlNYcHFRaXhGUVVGUmRXcENMRU5CUVZNc1RVRkRka01zUTBGRlRFY3NSVUZCVXl4SFFVTlVMRXRCUTBRc1EwRkRSaXhEUVVOR0xFTkJSVWRCTEVsQlEwWTNSQ3hGUVVGSkxFMUJRVTBzYjBKQlFYRkNMRzlEUVVGelF6UkVMRVZCUVVjc1ZVRkJXU3hqUVVGblFrRXNSVUZCUnl4WFFVRmhMRWRCUVVjc1JVRkRka2dzUzBGQlN5eFJRVUZSTEV0QlFVdEJMRU5CUVVVc1JVRkhhRUlzU1VGQlRTeEpRVU5TTEV0QlFVc3NUMEZCVTBFc1IwRkhjRUlzUlVGTlFWQXNSVUZCYTBJc1ZVRkJWU3hsUVVGcFFpeFRRVUZUVXl4RlFVRk5MRU5CUXpGRUxFbEJRVWwyY1VJc1JVRkRRU3R3UWl4RlFVTkJVeXhGUVVGTmFrMHNSVUZEVG0xS0xFVkJRVk1zUTBGQlFTeEZRVU5VZG1sQ0xFVkJRMEZ6YkVJc1JVRkJhVUlzUjBGSGNrSXNTVUZHUVVRc1JVRkJUeXhGUVVOUWFrMHNSVUZCVVN4RlFVTklkbVVzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRXRCUVVzc1VVRkJVU3hQUVVGUlFTeEpRVU51UXl0d1FpeEZRVUZUTEV0QlFVc3NVVUZCVVM5d1FpeERRVUZETEVWQlEyNUNRU3hKUVVGTkxFZEJRMUp0Uml4RlFVRlJMRU5CUVVFc1JVRkRVblZwUWl4RlFVRlBMRXRCUVV0MmFVSXNRMEZCU3l4RlFVTnFRa0VzUlVGQlRTeE5RVUZSTkd0Q0xFVkJRVThzVlVGRGNrSTFhMElzUlVGQlRTeEpRVUZOTkd0Q0xFVkJRVThzVlVGQldVRXNSVUZCVHl4WFFVTjBRMVVzUjBGQmEwSXNTVUZCVFhSc1FpeEZRVUZOTEUxQlFWRXNTMEZETjBKQkxFVkJRVTBzVFVGQlVUUnJRaXhGUVVGUExGVkJRemxDTld0Q0xFVkJRVTBzU1VGQlRUUnJRaXhGUVVGUExGVkJRVmxCTEVWQlFVOHNXVUZGZEVNMWEwSXNSVUZCVVN4RFFVRkJMRVZCUTFKQkxFVkJRVTBzVFVGQlVUUnJRaXhGUVVGUExGVkJRM0pDVlN4SFFVRnRRaTlETEVWQlFVOUJMRVZCUVU4c1QwRkJVeXhEUVVGRExFVkJRVVVzU1VGQlRTeEZRVUZMTEU5QlFWTjJhVUlzUlVGQlRTeE5RVUZSTEVsQlF5OUZRU3hGUVVGTkxFbEJRVTAwYTBJc1JVRkJUeXhWUVVGWlFTeEZRVUZQTEZkQlEzUkRja01zUlVGQlR5eExRVUZMZG1sQ0xFTkJRVXNzUjBGRmJrSnhiRUlzUjBGQlVWUXNSVUZCVHl4VlFVTm1lRXdzUjBGQlUzZE1MRVZCUVU4c1YwRkZaSEpETEVWQlFVOHNUMEZCVXl4SlFVTnNRaXRETEVkQlFXMUNkR3hDTEVWQlFVMHNTVUZCVFN4RlFVRkxMRXRCUlhSRExFbEJRVWwxYkVJc1JVRkJUMGdzUlVGQlR6bEVMRVZCUVVrc1MwRkJUMEVzUlVGQlNTeE5RVU0zUWl4TFFVRkxMRkZCUVZFc1UwRkJWeXhGUVVNeFFtbEZMRVZCUVVrc2IwSkJRWEZDTERCQ1FVRXdRaXhGUVVWdVJFRXNSVUZCU1N4dlFrRkJjVUlzUjBGQlN5eExRVUZMTEZGQlFWRXNUMEZCVXl4elFrRkJkMEpHTEVWQlFVOHNTVUZCVFdwTkxFVkJRVkVzSzBKQlFXbERhMDBzUTBGQll5eERRVVZ3U2l4RlFVVkJXQ3hGUVVGclFpeFZRVUZWTEdGQlFXVXNWVUZCVnl4RFFVTndSQ3hKUVVGSk9YQkNMRVZCUTBFcmNFSXNSVUZEU2l4SlFVRkxMM0JDTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExGRkJRVkVzVDBGQlVVRXNTVUZEYmtNcmNFSXNSVUZCVXl4TFFVRkxMRkZCUVZFdmNFSXNRMEZCUXl4RlFVTnVRaXR3UWl4RlFVRlBMRmxCUVdOQkxFVkJRVThzWVVGRE9VSjBSQ3hGUVVGSkxFMUJRVTBzYjBKQlFYRkNMRzlDUVVGelFucHRRaXhEUVVGRExFVkJRM1JFTEV0QlFVc3NVVUZCVVN4UFFVRlBRU3hGUVVGSExFTkJRVU1zUlVGRGVFSkJMRWxCUjA0c1JVRkZRVGh3UWl4RlFVRnJRaXhWUVVGVkxHZENRVUZyUWl4VlFVRlhMRU5CUTNaRUxFbEJRVWxoTEVWQlEwb3NSMEZCU1N4TFFVRkxMRmxCUVdNc1JVRkJTU3hMUVVGTExGRkJRVkVzVDBGRmRFTXNSMEZFUVVFc1JVRkJZeXhMUVVGTExGRkJRVkVzUzBGQlN5eFpRVUZqTEVOQlFVTXNSVUZETTBOQkxFVkJRVmtzV1VGQll5eExRVUZMTEU5QlFVOHNWVUZCV1N4TFFVRkxMRTlCUVU4c1YwRkJXU3hEUVVNMVJTeEpRVUZKUXl4RlFVRlpMRXRCUVVzc1QwRkJUeXhYUVVONFFrTXNSVUZCWlN4TFFVRkxMRTlCUVU4c1ZVRkRNMEpETEVWQlFXVXNTMEZCU3l4UFFVRlBMRlZCUXk5Q0xGbEJRVXNzVVVGQlVTeExRVUZMTEZkQlFWY3NSVUZCU1N4WlFVRlpMRTlCUVU4c1MwRkJTeXhQUVVGUlNDeERRVUZYTEVWQlF6VkZMRXRCUVVzc1QwRkJVeXhMUVVGTE
1xGRkJRVkVzUzBGQlN5eFhRVUZYTEVWQlF6TkRMRXRCUVVzc1VVRkJVU3hQUVVGUExFdEJRVXNzV1VGQll5eEZRVUZITEVOQlFVTXNSVUZETTBNc1MwRkJTeXhQUVVGUExGVkJRVmxGTEVWQlEzaENMRXRCUVVzc1QwRkJUeXhWUVVGWlF5eEZRVU40UW5KRkxFVkJRVWtzVFVGQlRTeFZRVUZYTEdsRVFVRnRSRzFGTEVWQlFWa3NTMEZCVHl4TFFVRkxMRTlCUVU4c1YwRkJZU3hIUVVGSExFVkJRMmhJTEVWQlEySXNTMEZEVFN4UFFVRlBMRTlCUjFRc1QwRkJUeXhGUVVWWUxFVkJaMEpCWkN4RlFVRnJRaXhWUVVGVkxHRkJRV1VzVTBGQlUybENMRVZCUVZkRExFVkJRV05ETEVWQlFWa3NRMEZEZGtZc1NVRkJTV3B5UWl4RlFVTkJhM0pDTEVWQlFWVXNTMEZEVm5KdVFpeEZRVUZSTEVkQlZWb3NTVUZRU1d0dVFpeEpRVUZqTEVkQlJXaENMM0ZDTEVWQlFVa3NSVUZGU2tFc1JVRkJTU3hMUVVGTExGbEJSMHBCTEVWQlFVa3NTMEZCU3l4UlFVRlJMRk5CUTNSQ2EzSkNMRVZCUVZVc1MwRkJTeXhSUVVGUmJISkNMRU5CUVVNc1JVRkRjRUpyY2tJc1JVRkJVU3hYUVVGaFJpeEpRVVpMTEVOQlJ6VkNibTVDTEVWQlFWRTNSQ3hGUVVOS2FYSkNMRWxCUTBWRExFVkJRVkVzVlVGQldVRXNSVUZCVVN4WlFVRmpSaXhGUVVNMVEwVXNSVUZCVVN4VlFVRlpRU3hGUVVGUkxGZEJSVFZDUVN4RlFVRlJMRlZCUVZsR0xFVkJRV1ZGTEVWQlFWRXNWVUZGTjBNc1MwRkJTeXhsUVVGakxFZEJTM1pDYkhKQ0xFZEJRMFFzUTBGRlJDeFBRVUZKTmtRc1NVRkJWU3hKUVVOYWNXNUNMRVZCUVZVc1MwRkJTeXhSUVVGUmNtNUNMRU5CUVVzc1JVRkRlRUp4YmtJc1JVRkJVU3hWUVVGWlFTeEZRVUZSTEZsQlFXTkdMRWRCUXpWRGRrVXNSVUZCU1N4TlFVRk5MRzlDUVVGeFFpeHpRMEZCZDBNMWFVSXNRMEZCU3l4RlFVTnlSVUVzUjBGRlFTeEpRVWRHTEVWQlJWZ3NSVUZUUVdsdFFpeEZRVUZyUWl4VlFVRlZMSEZDUVVGMVFpeFRRVUZUY1VJc1JVRkJXU3hEUVVOMFJTeEpRVUZKYm5KQ0xFVkJRMEZ2Y2tJc1JVRkRRVU1zUlVGRFFYaHVRaXhGUVVGVGMyNUNMRWxCUVdVc1QwRkJXVUVzUlVGQllTeExRVUZMTEZsQlJ6RkVMRWRCUmtGRExFVkJRV0VzUzBGQlN5eFJRVUZSZG01Q0xFTkJRVXNzUlVGRk0wSXNTMEZCU3l4UlFVRlJMRTlCUVZOQkxFVkJRVkVzUlVGRGFFTXNTVUZCU3pkRUxFVkJRVWsyUkN4RlFVRlJMRVZCUVVjM1JDeEZRVUZKTEV0QlFVc3NVVUZCVVN4VFFVTnVRM0Z5UWl4RlFVRlZMRXRCUVVzc1VVRkJVWEp5UWl4RFFVRkRMRVZCUTNCQ2NYSkNMRVZCUVZFc1dVRkJZMFFzUlVGQlZ5eFZRVUZaUVN4RlFVRlhMRmxCUm1wQ2NISkNMRWxCUjNwRGIzSkNMRVZCUVdGRExFVkJUMjVDTEU5QlFVOUVMRVZCUVZjc1ZVRkJXVUVzUlVGQlZ5eFZRVU16UXl4RlFWRkJkRUlzUlVGQmEwSXNWVUZCVlN4M1FrRkJNRUlzVTBGQlUzWlJMRVZCUVVzc1EwRkRiRVVzU1VGQlNURldMRVZCUVZFc1MwRkJTeXhoUVVGaExFZEJRVTB3Vml4RlFVRkxMRVZCUVVzc1JVRkRPVU1zVDBGQlNURldMRWxCUVZVc1IwRkRUQ3hMUVVGTExIRkNRVUZ4UWtFc1EwRkJTeXhGUVVVdlFqQldMRU5CUlZnc1JVRlZRWFZSTEVWQlFXdENMRlZCUVZVc1lVRkJaU3hUUVVGVGQwSXNSVUZCVXl4RFFVTXpSQ3hMUVVGTExFOUJRVThzVjBGQllVRXNSVUZEZWtJc1MwRkJTeXhsUVVGakxFTkJRM0pDTEVWQlMwRjRRaXhGUVVGclFpeFZRVUZWTEdkQ1FVRnJRaXhWUVVGWExFTkJRM1pFTEV0QlFVc3NUMEZCVHl4VlFVRlpMRXRCUVVzc1QwRkJUeXhYUVVOd1F5eExRVUZMTEdWQlFXTXNRMEZEY2tJc1JVRnBRa0ZCTEVWQlFXdENMRlZCUVZVc1MwRkJUeXhUUVVGVGEwSXNSVUZCWTBRc1JVRkJWMFVzUlVGQldTeERRVU12UlN4SlFVRkpjRzVDTEVWQlJVb3NUMEZFUVVFc1JVRkJVU3hMUVVGTExHRkJRV0ZyYmtJc1JVRkJWME1zUlVGQlkwTXNRMEZCVlN4RlFVTjZSSEJ1UWl4SlFVRlZMRWxCUTFvc1MwRkJTeXhQUVVGVExFdEJRVXNzVVVGQlVVRXNRMEZCU3l4RlFVTm9ReXhMUVVGTExGbEJRV05CTEVWQlEyNUNMRXRCUVVzc1UwRkJWMjF1UWl4RlFVRmxMRXRCUVVzc1QwRkJUeXhWUVVNelEzWkZMRVZCUVVrc1RVRkJUU3h2UWtGQmNVSXNORU5CUVRoRExFdEJRVXNzVVVGQlVTeEZRVU51Uml4TFFVVlFRU3hGUVVGSkxFMUJRVTBzYjBKQlFYRkNMRmxCUVdOMVJTeEZRVUZsTERaQ1FVRTJRaXhGUVVOc1JpeEhRVVZZTEVWQlRVRnNRaXhGUVVGclFpeFZRVUZWTEZsQlFXTXNWVUZCVnl4RFFVTnVSQ3hIUVVGSkxFdEJRVXNzWTBGQlowSXNTVUZCVFN4TFFVRkxMRkZCUVZFc1MwRkJTeXhYUVVGWExFbEJRVTBzUzBGRGFFVXNTMEZCVFN4dlJFRkZVaXhQUVVGUExFdEJRVXNzVVVGQlVTeExRVUZMTEZkQlFWY3NSVUZCUlN4VlFVRlpMRXRCUVVzc1VVRkRla1FzUlVGTlFVRXNSVUZCYTBJc1ZVRkJWU3hWUVVGWkxGVkJRVmNzUTBGRGFrUXNUMEZCVHl4TFFVRkxMRlZCUTJRc1JVRkZRVUVzUlVGQmEwSXNWVUZCVlN4bFFVRnBRaXhWUVVGWExFTkJRM1JFTEVkQlFVa3NTMEZCU3l4alFVRm5RaXhKUVVGTkxFdEJRVXNzVVVGQlVTeExRVUZMTEZkQlFWY3NTVUZCVFN4TFFVTm9SU3hMUVVGTkxHOUVRVVZTTEU5QlFVOHNTMEZCU3l4UlFVRlJMRXRCUVVzc1YwRkJWeXhGUVVGRkxGVkJRVmtzUzBGQlN5eFZRVU42UkN4RlFVVkpMRTlCUVU4c1VVRkJXU3hOUVVOeVFpeFJRVUZSTEd0Q1FVRnZRa0VzUjBGTk9VSXNTVUZCU1hsQ0xFZEJRWGRDTEZWQlFWY3NRMEZEY2tNc1NVRkJTVU1zUlVGQll5eEZRVU5rUXl4RlFVRjNRaXhGUVVONFFrTXNSVUZCY1VJc1JVRkRja0pETEVWQlFXMUNMRVZCUlc1Q1F5eEZRVUZuUWl4RFFVRkJMRVZCUTNCQ1FTeEZRVUZqU2l4RFFVRlhMRVZCUVVrc1owSkJRemRDU1N4RlFVRmpTQ3hEUVVGeFFpeEZRVUZKTERCQ1FVTjJRMGNzUlVGQlkwWXNRMEZCYTBJc1JVRkJTU3h6UWtGRGNFTkZMRVZCUVdORUxFTkJRV2RDTEVWQlFVa3NjVUpCUld4RExFdEJRVXNzYTBKQlFXOUNMRk5CUVZONldTeEZRVUZMTEVOQlEzSkRMRTlCUVU4d1dTeEZRVUZqTVZrc1EwRkJSeXhEUVVNMVFpeEZRVVZGTEVsQlFVbHFUU3hGUVVGUExFdEJRMUEwYTBJc1JVRkJWU3hEUVVGQkxFVkJSV1FzV1VGQlN5eHRRa0ZCY1VJc1UwRkJVME1zUlVGQlVTeERRVVY2UXl4SlFVRkpiRmtzUlVGQlR5eEZRVU5RVml4RlFVTkJNVWdzUlVGRFFYVm5RaXhGUVV0S0xFbEJTa0UzV1N4RlFVRk5ORmtzUlVGQlR5eFpRVVZpUXl4RlFVRlhSQ3hGUVVGUExGbEJSVmhETEVWQlFWY3NTMEZEYUVKdVdTeEhRVUZSYlZrc1JVRkJWeXhOUVVGVExFVkJRelZDUVN4RlFVRlhSQ3hGUVVGUExGbEJSM0JDTEU
15QlFVRnNXU3hIUVVGUmJWa3NSVUZCVnl4SlFVTnVRblJHTEVWQlFVa3NUVUZCVFN4M1FrRkJlVUlzVlVGQldXMUdMRVZCUVdNeFdTeERRVUZITEVkQlFVc3NZMEZCWjBKQkxFZEJRVThzVlVGQldWVXNSVUZCVHl4blFrRkJhMEpyV1N4RlFVRlBMRmxCUVZjc1EwRkJSU3hGUVVOcVNrWXNSVUZCWXpGWkxFTkJRVWNzUlVGRGJrSXhTQ3hGUVVGUExFbEJRVWx4WjBJc1JVRkJVVVFzUlVGQll6RlpMRU5CUVVjc1EwRkJReXhGUVVGRlZTeERRVUZKTEVWQlJUTkRjRWtzUlVGQlR5eEpRVUZKY1dkQ0xFVkJRVkVzVjBGQlYycFpMRU5CUVVrc1JVRkZjRU53U1N4RlFVRkxMRTFCUVUxelowSXNRMEZCVFN4RlFVTldkR2RDTEVOQlExZ3NSVUZGUlhGblFpeEZRVUZSTEZkQlFXRXNVMEZCVTBjc1JVRkJUVU1zUlVGQlR5eERRVU42UXl4TFFVRkxMRWxCUVUxRUxFVkJRMWdzUzBGQlN5eExRVUZQUXl4RlFVTmFMRXRCUVVzc1RVRkJVU3hGUVVOcVFpeEZRVVZGU2l4RlFVRlJMRmRCUVZjc1ZVRkJWU3hOUVVGUkxGTkJRVk5ETEVWQlFWRXNRMEZEY0VRc1MwRkJTeXhMUVVGUFFTeEZRVUZQTEdWQlFXVXNTMEZCU3l4SlFVRkpMRU5CUXk5RExFVkJSVVZFTEVWQlFWRXNWMEZCVnl4VlFVRlZMR1ZCUVdsQ0xGTkJRVk16V1N4RlFVRkxMRU5CUXpGRUxGRkJRVk5zVkN4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUzBGQlN5eE5RVUZOTEU5QlFWRkJMRWxCUTNKRExFZEJRVWtzUzBGQlN5eE5RVUZOUVN4RFFVRkRMRVZCUVVVc1MwRkJUMnRVTEVWQlEzWkNMRTlCUVU4c1MwRkJTeXhOUVVGTmJGUXNRMEZCUXl4RlFVZDJRaXhQUVVGUExFbEJRMWdzUlVGRlJUWnlRaXhGUVVGUkxGZEJRVmNzVlVGQlZTd3dRa0ZCTkVJc1UwRkJVME1zUlVGQlVTeERRVVY0UlN4UlFVUkpjRVlzUlVGQlVXOUdMRVZCUVU4c1UwRkRXa0VzUlVGQlR5eFRRVUZYY0VZc1JVRkJVU3hMUVVGTExFMUJRVTBzUTBGRE1VTXNTVUZCU1d4aUxFVkJRVTkyUlN4RlFVRkxMRzFDUVVGdFFqWnJRaXhEUVVGTkxFVkJRM3BETEV0QlFVc3NUVUZCVFN4TFFVRkxkR2RDTEVOQlFVa3NRMEZEY2tJc1EwRkRUQ3hGUVVWRmNXZENMRVZCUVZFc1kwRkJaMElzVTBGQlUycFpMRVZCUVUwc1EwRkRja05wV1N4RlFVRlJMRmRCUVZjc1MwRkJTeXhMUVVGTlRDeEZRVUZoTlZnc1EwRkJTU3hEUVVOdVJDeEZRVVZGYVZrc1JVRkJVU3hqUVVGakxGVkJRVmtzU1VGQlNVRXNSVUZCVVN4WFFVVTVRMEVzUlVGQlVTeGpRVUZqTEZWQlFWVXNUVUZCVVN4VFFVRlRReXhGUVVGUkxFTkJWWFpFTEVkQlZFRXNTMEZCU3l4TlFVRlJRU3hGUVVGUExHRkJRM0JDTEV0QlFVc3NUVUZCVVVFc1JVRkJUeXhaUVVOd1FpeExRVUZMTEUxQlFWRXNSVUZEVkN4TFFVRkxMRTFCUVZFc1MwRkRaaXhMUVVGTExHZENRVUZyUWtFc1JVRkJUeXhoUVVNNVFpeExRVUZMTEUxQlFWRXNSMEZGWWl4TFFVRkxMR2RDUVVGclFpeEZRVVZ5UWl4TFFVRkxMRTFCUVZFc1IwRkJUU3hEUVVOeVFpeEpRVUZKZUZrc1JVRkJTWGRaTEVWQlFVOHNXVUZEWml4TFFVRkxMRWxCUVUxQkxFVkJRVThzVjBGQlYzaFpMRU5CUVVNc1JVRkRPVUlzUzBGQlN5eE5RVUZSUVN4RlFVRkpMRU5CUTNaQ0xFMUJRMDBzUzBGQlN5eEpRVUZOTEVkQlJWUXNTMEZCU3l4TlFVRlJMRWxCUTJZc1MwRkJTeXhWUVVGWmQxa3NSVUZCVHl4aFFVTjRRaXhMUVVGTExFMUJRVkVzUjBGRllpeExRVUZMTEZWQlFWa3NSVUZGYmtJc1MwRkJTeXd3UWtGQk1FSkJMRU5CUVUwc1EwRkRla01zUlVGRlJVUXNSVUZCVVN4alFVRmpMRlZCUVZVc1QwRkJVeXhUUVVGVFF5eEZRVUZSTEVOQlEzaEVMRWxCUVVsSkxFVkJRVTBzUzBGQlN5eGxRVUZsVkN4RFFVRnhRaXhGUVVOdVJDeFBRVUZKVXl4RlFVTkxRU3hGUVVGSkxFbEJSVW9zUTBGRllpeEZRVVZGVEN4RlFVRlJMR05CUVdNc1ZVRkJWU3hsUVVGcFFpeFRRVUZUUXl4RlFVRlJMRU5CUTJoRkxFbEJRVWxKTEVWQlFVMHNTMEZCU3l4bFFVRmxWQ3hEUVVGeFFpeEZRVU51UkN4SFFVRkpMRU5CUVVOVExFVkJRVXNzVDBGQlR5eExRVU5xUWl4SlFVRkpReXhGUVVGTlJDeEZRVUZKTEdWQlFXVlNMRU5CUVd0Q0xFVkJReTlETEVkQlFVbFRMRWRCUVU5QkxFVkJRVWtzUzBGQlRTeERRVU51UWl4SlFVRkpReXhIUVVGdFFrUXNSVUZCU1N4TFFVRkxMRU5CUVVNc1JVRkJTU3hOUVVGVExFVkJRemxETEU5QlFVbERMRWxCUVc5Q0xFbEJRVTFFTEVWQlFVa3NTMEZCU3l4UlFVRlZMRWxCUXk5RFF5eEZRVUZyUWl4TFFVRlBSQ3hGUVVGSkxFdEJRVXNzUTBGQlF5eEZRVUZKTEVsQlFWRXNTMEZCVDBFc1JVRkJTU3hMUVVGTExFTkJRVU1zUlVGQlNTeE5RVUZUTEVsQlJYaEZReXhEUVVOaUxFdEJRMDBzVVVGQlR5eEpRVVZpTEVWQlJVVlFMRVZCUVZFc2QwSkJRVEJDTEZOQlFWTnFXU3hGUVVGTkxFTkJReTlEYVZrc1JVRkJVU3hYUVVGWExFdEJRVXNzUzBGQlRVb3NSVUZCZFVJM1dDeERRVUZKTEVOQlF6ZEVMRVZCUTBWcFdTeEZRVUZSTEhkQ1FVRjNRaXhWUVVGWkxFbEJRVWxCTEVWQlFWRXNWMEZGZUVSQkxFVkJRVkVzZDBKQlFYZENMRlZCUVZVc1RVRkJVU3hUUVVGVFF5eEZRVUZSTEVOQlEycEZMRXRCUVVzc1NVRkJUVUVzUlVGQlR5eFpRVU5zUWl4TFFVRkxMRmRCUVdGQkxFVkJRVThzV1VGRGVrSXNTMEZCU3l4WFFVRmhRU3hGUVVGUExHRkJRM3BDTEV0QlFVc3NWMEZCWVVFc1JVRkJUeXhoUVVONlFpeExRVUZMTEZkQlFXRkJMRVZCUVU4c1lVRkRla0lzUzBGQlN5eE5RVUZSTEVkQlEySXNTMEZCU3l3d1FrRkJNRUpCTEVOQlFVMHNRMEZEZWtNc1JVRkZSVVFzUlVGQlVTeHZRa0ZCYzBJc1UwRkJVMnBaTEVWQlFVMHNRMEZETTBOcFdTeEZRVUZSTEZkQlFWY3NTMEZCU3l4TFFVRk5TQ3hGUVVGdlFqbFlMRU5CUVVrc1EwRkRNVVFzUlVGRFJXbFpMRVZCUVZFc2IwSkJRVzlDTEZWQlFWa3NTVUZCU1VFc1JVRkJVU3hYUVVWd1JFRXNSVUZCVVN4dFFrRkJjVUlzVTBGQlUycFpMRVZCUVUwc1EwRkRNVU5wV1N4RlFVRlJMRmRCUVZjc1MwRkJTeXhMUVVGTlJpeEZRVUZyUWk5WUxFTkJRVWtzUTBGRGVFUXNSVUZEUldsWkxFVkJRVkVzYlVKQlFXMUNMRlZCUVZrc1NVRkJTVUVzUlVGQlVTeFhRVVUxUXl4SlFVTlVMRVZCUlVrc1QwRkJUeXhSUVVGWkxFMUJRM0pDTEZGQlFWRXNjMEpCUVhkQ1RpeEpRVTFzUXl4SlFVRkpZeXhGUVVGWkxFTkJRMlFzYVVKQlFXdENMRWRCUTJ4Q0xHOUNRVUZ4UWl4RlFVTnlRaXhIUVVGSkxFVkJSMG9zV1VGQllTeERRVUZETEU5QlFWRXNUMEZCVVN4UFFVRlJMRTlCUVZFc1QwRkJVU3hOUVVGTkxFVkJRelZFTEZkQlFWa3NRMEZCUXl4UFFVRlJMRTlCUVZFc1QwRkJVU3hQUVVGUkxFOUJRVkVzVDBGQlVTeE5RVUZOTEVWQlEyNUZMR2RDUVVGcFFpeERRVU5tTEVOQlFVTXNUMEZCVVN4RFFVRkRMRTlCUVZFc1RVRkJUU3hEUVVGRExFVkJRM3BDTEVOQlFVTXNUVUZCVFN4RlFVTlFMRU5CUVVNc1RVRkJUU3hGUVVOUUxFTkJRVU1zVFVGQlRTeEZRVU5RTEVOQlFVTXNUVUZCVFN4RlFVTlFMRU5CUVVNc1RVRkJUU3hGUVVOUUxFTkJRVU1zVDBGQlVTeERRVUZETEU5QlFWRXNUVUZCVFN4RFFVRkRMRVZCUTNwQ0xFTkJRVU1zVDBGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVTnFRaXhEUVVGRExFOUJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZEYWtJc1EwRkJReXhQUVVGUkxFTkJRVU1zVDBGQlVTeFBRVUZSTEUxQlFVMHNRMEZCUXl4RlFVTnFReXhEUVVGRExFMUJRVTBzUlVGRFVDeERRVUZETEUxQlFVMHNSVUZEVUN4RFFVRkRMRTFCUVUwc1JVRkRVQ3hEUVVGRExFOUJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZEYWtJc1EwRkJReXhOUVVGTkxFVkJRMUFzUTBGQlF5eE5RVUZOTEVWQlExQXNRMEZCUXl4TlFVRk5MRVZCUTFBc1EwRkJReXhOUVVGTkxFVkJRMUFzUTBGQlF5eE5RVUZOTEVWQlExQXNRMEZCUXl4TlFVRk5MRVZCUTFBc1EwRkJReXhOUVVGTkxFVkJRMUFzUTBGQlF5eE5RVUZOTEVWQlExQXNRMEZCUXl4TlFVRk5MRVZCUTFBc1EwRkJReXhQUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlEycENMRU5CUVVNc1QwRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVU5xUWl4RFFVRkRMRTFCUVUwc1EwRkRVaXhGUVVWRUxGTkJRVlVzUTBGQlJTeEZRVU5hTEdGQlFXTXNRMEZCUlN4RlFVTm9RaXhyUWtGQmJVSXNRMEZCUlN4RlFVTnlRaXhwUWtGQmEwSXNRMEZCUlN4RlFVTndRaXh6UWtGQmRVSXNRMEZCUlN4RlFVTjZRaXhuUWtGQmFVSXNRMEZCUlN4RlFVTnVRaXhWUVVGWExFTkJRVVVzUlVGRFlpeE5RVUZQTEVOQlFVVXNSVUZEVkN4WFFVRlpMRlZCUVZjc1EwRkRja0pCTEVWQlFWVXNVVU
1ZCVVN4VlFVRlpMRWxCUVVsQkxFVkJRVlVzU1VGRE5VTkJMRVZCUVZVc1lVRkJZU3hWUVVGWkxFbEJRVWxCTEVWQlFWVXNTVUZEYWtSQkxFVkJRVlVzV1VGQldTeFZRVUZaTEVsQlFVbEJMRVZCUVZVc1NVRkRhRVJCTEVWQlFWVXNhMEpCUVd0Q0xGVkJRVmtzU1VGQlNVRXNSVUZCVlN4UlFVZDBSRUVzUlVGQlZTeFpRVUZaTEZGQlFWRXNVMEZCVTJoelFpeEZRVUZOTEVOQlF6TkRaM05DTEVWQlFWVXNZMEZCWTJoelFpeERRVUZKTEVOQlEyeERMRU5CUVVzc1JVRkRSR2R6UWl4RlFVRlZMRmRCUVZjc1VVRkJVU3hUUVVGVGFITkNMRVZCUVUwc1EwRkRNVU5uYzBJc1JVRkJWU3hyUWtGQmEwSm9jMElzUTBGQlNTeERRVU4wUXl4RFFVRkxMRVZCUTBSbmMwSXNSVUZCVlN4blFrRkJaMElzVVVGQlVTeFRRVUZUUXl4RlFVRlBMRU5CUTJoRVJDeEZRVUZWTEhWQ1FVRjFRa01zUlVGQlRTeERRVUZETEVWQlFVY3NTMEZCVFVFc1JVRkJUU3hEUVVGRExFTkJRVU1zUTBGREwwUXNRMEZCU3l4RFFVTkdMRVZCUTBRc1NVRkJTeXhUUVVGVFF5eEZRVUZQVGl4RlFVRlBUeXhGUVVGUExFTkJRMnBETEV0QlFVc3NTMEZCVDBRc1JVRkRXaXhMUVVGTExFdEJRVTlPTEVWQlExb3NTMEZCU3l4TFFVRlBUeXhEUVVOaUxFVkJRMFFzVVVGQlV5eFRRVUZUYm5OQ0xFVkJRVTExVkN4RlFVRk5ObGtzUlVGQlRTeERRVU5zUTBvc1JVRkJWU3hKUVVGSkxFdEJRVXNzUzBGQlRXaHpRaXhGUVVGTmRWUXNSVUZCVFRaWkxFTkJRVWtzUlVGRGVrTXNTMEZCU3l4TlFVRlJMRVZCUTJJc1MwRkJTeXhSUVVGVkxFTkJRMmhDTEVWQlEwUXNZVUZCWXl4VFFVRlRjSE5DTEVWQlFVMTFWQ3hGUVVGTk5sa3NSVUZCVFN4RFFVTjJRMG9zUlVGQlZTeEpRVUZKTEV0QlFVc3NTMEZCVFdoelFpeEZRVUZOZFZRc1JVRkJUVFpaTEVOQlFVa3NSVUZEZWtNc1MwRkJTeXhOUVVGUkxFVkJRMlFzUlVGRFJDeFpRVUZoTEZOQlFWTndjMElzUlVGQlRYVlVMRVZCUVUwNFdTeEZRVUZWYUVjc1JVRkJUeXhEUVVOcVJESkdMRVZCUVZVc1lVRkJZU3hMUVVGTExFdEJRVTFvYzBJc1JVRkJUWFZVTEVOQlFVa3NSVUZETlVNc1MwRkJTeXhUUVVGWE9Ga3NSVUZEYUVJc1MwRkJTeXhOUVVGUmFFY3NRMEZEWkN4RlFVTkVMR2xDUVVGclFpeFRRVUZUY20xQ0xFVkJRVTBzUTBGREwwSXNTMEZCU3l4alFVRm5Ra0VzUTBGRGRFSXNSVUZEUkN4clFrRkJiVUlzVTBGQlUwRXNSVUZCVFhWVUxFVkJRVTBzUTBGRGRFTjVXU3hGUVVGVkxGRkJRVkVzUzBGQlN5eExRVUZOYUhOQ0xFVkJRVTExVkN4RFFVRkpMRU5CUTNoRExFVkJRMFFzWTBGQlpTeFRRVUZUZGxRc1JVRkJUWE56UWl4RlFVRmhMRU5CUTNwRFRpeEZRVUZWTEZOQlFWTXNTMEZCUzJoelFpeERRVUZKTEVWQlF6VkNaM05DTEVWQlFWVm9jMElzUlVGQlR5eExRVUZMTEVWQlFVa3NVMEZCVTNWVUxFVkJRVTBzUTBGRGRrTjVXU3hGUVVGVkxFbEJRVWtzUzBGQlN5eExRVUZOYUhOQ0xFVkJRVTExVkN4RFFVRkpMRU5CUTNwRExFVkJRMGw1V1N4RlFVRlZhSE5DTEVWQlFVOHNTMEZCU3l4RlFVRkZMRlZCUVZrc1NVRkJTV2R6UWl4RlFVRlZMRWxCUXpsRFRTeEpRVUZoVGl4RlFVRlZhSE5DTEVWQlFVOHNTMEZCU3l4RlFVRkZMRlZCUVZVc1RVRkJVWE56UWl4RlFVTTFSQ3hGUVVORUxHdENRVUZ0UWl4VFFVRlRkSE5DTEVWQlFVMXpjMElzUlVGQllTeERRVVUzUTA0c1JVRkJWV2h6UWl4RlFVRlBMRXRCUVVzc1JVRkJTU3hUUVVGVGRWUXNSVUZCVFN4RFFVTjJRM2xaTEVWQlFWVXNVVUZCVVN4TFFVRkxMRXRCUVUxb2MwSXNSVUZCVFhWVUxFTkJRVWtzUTBGRE4wTXNSVUZEU1hsWkxFVkJRVlZvYzBJc1JVRkJUeXhMUVVGTExFVkJRVVVzVlVGQldTeEpRVUZKWjNOQ0xFVkJRVlVzVVVGRGJFUkJMRVZCUVZWb2MwSXNSVUZCVHl4TFFVRkxMRVZCUVVVc1ZVRkJWU3hOUVVGUkxGTkJRVk41Y2tJc1JVRkJVU3hEUVVONlJDeExRVUZMTEdkQ1FVRm5Ra0VzUTBGQlRTeEZRVU4yUW1Fc1IwRkRSa0VzUlVGQldTeExRVUZMTEV0QlFVMWlMRU5CUVUwc1EwRkZja01zUTBGRFJ5eEZRVU5FTEdkQ1FVRnBRaXhUUVVGVFl5eEZRVUZoTEVOQlEzSkRMRWRCUVVsQkxFVkJRV0VzUTBGRFppeExRVUZMTEZsQlFXTkJMRVZCUlc1Q0xGRkJSRWxETEVWQlFXRkVMRVZCUVZrc1QwRkRjRUo2V1N4RlFVRkpMRVZCUVVkQkxFVkJRVWt3V1N4RlFVRlpNVmtzU1VGRE9VSXNTMEZCUzNsWkxFVkJRVmw2V1N4RFFVRkRMRVZCUVVrc1IwRkJSeXhGUVVGSkxFTkJRVUVzUTBGRmFFTXNRMEZEUml4RlFVTkVMSFZDUVVGM1FpeFRRVUZUT1ZRc1JVRkJUWE56UWl4RlFVRmhReXhGUVVGaExFTkJSUzlFVUN4RlFVRlZhSE5DTEVWQlFVOHNTMEZCU3l4RlFVRkpMRk5CUVZOMVZDeEZRVUZOTEVOQlEzWkRlVmtzUlVGQlZTeGhRVUZoTEV0QlFVc3NTMEZCVFdoelFpeEZRVUZOZFZRc1EwRkJTU3hGUVVNMVEzbFpMRVZCUVZVc1owSkJRV2RDTEV0QlFVc3NTMEZCVFU4c1EwRkJWeXhEUVVOMFJDeEZRVU5KVUN4RlFVRlZhSE5DTEVWQlFVOHNTMEZCU3l4RlFVRkZMRlZCUVZrc1NVRkJTV2R6UWl4RlFVRlZMR0ZCUXpsRFRTeEpRVUZoVGl4RlFVRlZhSE5DTEVWQlFVOHNTMEZCU3l4RlFVRkZMRlZCUVZVc1RVRkJVWE56UWl4RlFVTTFSQ3hGUVVORUxESkNRVUUwUWl4VFFVRlRSeXhGUVVGWFNDeEZRVUZoUXl4RlFVRmhMRU5CUTNoRlVDeEZRVUZWTEdsQ1FVRnBRbE1zUTBGQlV5eEZRVUZKTEVkQlEzaERWQ3hGUVVGVlV5eEZRVUZaTEdGQlFXRXNSVUZCU1N4VFFVRlRlbk5DTEVWQlFVMTFWQ3hGUVVGTkxFTkJRekZFZVZrc1JVRkJWU3haUVVGWkxFdEJRVXNzUzBGQlRXaHpRaXhGUVVGTmRWUXNRMEZCU1N4RlFVTXpRM2xaTEVWQlFWVXNaMEpCUVdkQ0xFdEJRVXNzUzBGQlRVOHNRMEZCVnl4RFFVTjBSQ3hGUVVOSlVDeEZRVUZWVXl4RlFVRlpMR0ZCUVdFc1JVRkJSU3hWUVVGWkxFbEJRVWxVTEVWQlFWVXNXVUZETTBSTkxFbEJRV0ZPTEVWQlFWVlRMRVZCUVZrc1lVRkJZU3hGUVVGRkxGVkJRVlVzVFVGQlVVZ3NSVUZEZWtVc1JVRkRSQ3h6UWtGQmRVSXNVMEZCVTBjc1JVRkJWM3B6UWl4RlFVRk5jM05DTEVWQlFXRkRMRVZCUVdFc1EwRkRla1ZRTEVWQlFWVXNhVUpCUVdsQ1V5eERRVUZUTEVWQlFVVXNTMEZCUzNwelFpeERRVUZKTEVWQlF5OURaM05DTEVWQlFWVm9jMElzUlVGQlR5eGhRVUZoTEVWQlFVa3NVMEZCVTNWVUxFVkJRVTBzUTBGREwwTjVXU3hGUVVGVlV5eEZRVUZaTEdGQlFXRXNSVUZCUlN4TFFVRkxMRXRCUVUxNmMwSXNSVUZCVFhWVUxFTkJRVWtzUlVGRE1VUjVXU3hGUVVGVkxHZENRVUZuUWl4TFFVRkxMRXRCUVUxUExFTkJRVmNzUTBGRGRFUXNSVUZEU1ZBc1JVRkJWV2h6UWl4RlFVRlBMR0ZCUVdFc1JVRkJSU3hWUVVGWkxFbEJRVWxuYzBJc1JVRkJWVk1zUlVGQldTeGhRVUZoTEVWQlF5OUZTQ3hKUVVGaFRpeEZRVUZWYUhOQ0xFVkJRVThzWVVGQllTeEZRVUZGTEZWQlFWVXNUVUZCVVhOelFpeEZRVU53UlN4RlFVTkVMQ3RDUVVGblF5eFRRVUZUUnl4RlFVRlhlbk5DTEVWQlFVMXpjMElzUlVGQllTeERRVU55UlU0c1JVRkJWU3h6UWtGQmMwSXNTMEZCU3l4TFFVRk5VeXhGUVVGWGVuTkNMRVZCUVUxemMwSXNSVUZCWVN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVO
1c1JpeEZRVU5FTEhOQ1FVRjFRaXhUUVVGVGRITkNMRVZCUVUxemMwSXNSVUZCWVN4RFFVVnFSRTRzUlVGQlZXaHpRaXhGUVVGUExHdENRVUZyUWl4RlFVRkpMRk5CUVZOMVZDeEZRVUZOTEVOQlEzQkVlVmtzUlVGQlZTeHBRa0ZCYVVJc1MwRkJTeXhMUVVGTmFITkNMRVZCUVUxMVZDeERRVUZKTEVOQlEzUkVMRVZCUTBsNVdTeEZRVUZWYUhOQ0xFVkJRVThzYTBKQlFXdENMRVZCUVVVc1ZVRkJXU3hKUVVGSlozTkNMRVZCUVZVc2FVSkJRek5FVFN4SlFVRmhUaXhGUVVGVmFITkNMRVZCUVU4c2EwSkJRV3RDTEVWQlFVVXNWVUZCVlN4TlFVRlJjM05DTEVWQlEzcEZMRVZCUTBRc2NVSkJRWE5DTEZOQlFWTjBjMElzUlVGQlRYTnpRaXhGUVVGaExFTkJSV2hFVGl4RlFVRlZhSE5DTEVWQlFVOHNiVUpCUVcxQ0xFVkJRVWtzVTBGQlUzVlVMRVZCUVUwc1EwRkRja1I1V1N4RlFVRlZMR3RDUVVGclFpeExRVUZMTEV0QlFVMW9jMElzUlVGQlRYVlVMRU5CUVVrc1EwRkRka1FzUlVGRFNYbFpMRVZCUVZWb2MwSXNSVUZCVHl4dFFrRkJiVUlzUlVGQlJTeFZRVUZaTEVsQlFVbG5jMElzUlVGQlZTeHJRa0ZETlVSTkxFbEJRV0ZPTEVWQlFWVm9jMElzUlVGQlR5eHRRa0ZCYlVJc1JVRkJSU3hWUVVGVkxFMUJRVkZ6YzBJc1JVRkRNVVVzUlVGRFJDeGpRVUZsTEZOQlFWTkdMRVZCUVUxTkxFVkJRVmRETEVWQlFXZENUQ3hGUVVGaExFTkJRM0JGVGl4RlFVRlZMRTFCUVUwc1MwRkJTMGtzUTBGQlNTeEZRVU42UWtvc1JVRkJWU3hWUVVGVlNTeERRVUZKTEVWQlFVa3NVMEZCVXpkWkxFVkJRVTBzUTBGRGNrTnRXaXhGUVVOR1ZpeEZRVUZWTEZGQlFWRXNTMEZCU3l4TFFVRk5MRTlCUVZGNldTeEZRVUZOTmxrc1EwRkJTU3hGUVVVelEwOHNSVUZEUmxnc1JVRkJWU3hoUVVGaExFdEJRVXNzUzBGQlRTeFBRVUZSZWxrc1JVRkJUVFpaTEVOQlFVa3NSVUZGY0VSS0xFVkJRVlVzU1VGQlNTeExRVUZMTEV0QlFVMHNUMEZCVVhwWkxFVkJRVTAyV1N4RFFVRkpMRU5CUjNKRUxFVkJRMGxLTEVWQlFWVXNWVUZCVlVrc1EwRkJTU3hGUVVGRkxGVkJRV0ZOTEVWQlFWa3NTVUZCU1ZZc1JVRkJWU3hSUVVGaFZ5eEZRVUZwUWl4SlFVRkpXQ3hGUVVGVkxHRkJRV2xDTEVsQlFVbEJMRVZCUVZVc1NVRkRlRWxOTEVsQlEwVkpMRVZCUTBaV0xFVkJRVlVzVlVGQlZVa3NRMEZCU1N4RlFVRkZMRlZCUVZVc1RVRkJVU3hUUVVGVFdDeEZRVUZSTEVOQlF6TkVMRXRCUVVzc1owSkJRV2RDUVN4RFFVRk5MRVZCUTNaQ1lTeEhRVU5HUVN4RlFVRlpMRXRCUVVzc1MwRkJUV0lzUTBGQlRTeERRVVY2UXl4RlFVVlJUeXhGUVVGVkxGVkJRVlZKTEVOQlFVa3NSVUZCUlN4VlFVRlZMRTFCUVZGRkxFVkJSMnBFTEVOQlEwZ3NSVUZGUVU0c1JVRkJWU3hYUVVGVkxFVkJSWEJDUVN4RlFVRlZMR3RDUVVGdlFpeEZRVU01UWtFc1JVRkJWU3h0UWtGQmNVSXNSVUZETDBKQkxFVkJRVlVzY1VKQlFYVkNMRVZCUldwRFFTeEZRVUZWTERKQ1FVRTJRaXhGUVVOMlEwRXNSVUZCVlN4elFrRkJkMElzUlVGRGJFTkJMRVZCUVZVc2NVSkJRWFZDTEVWQlEycERRU3hGUVVGVkxITkNRVUYzUWl4SFFVTnNRMEVzUlVGQlZTeDFRa0ZCZVVJc1IwRkRia05CTEVWQlFWVXNiMEpCUVhOQ0xFMUJRMmhEUVN4RlFVRlZMQ3RDUVVGcFF5eFBRVVV6UTBFc1JVRkJWU3gxUWtGQmVVSXNSVUZEYmtOQkxFVkJRVlVzYzBKQlFYZENMRVZCUTJ4RFFTeEZRVUZWTEc5Q1FVRnpRaXhKUVVOb1EwRXNSVUZCVlN4blFrRkJhMElzU1VGRE5VSkJMRVZCUVZVc2FVSkJRVzFDTEV0QlF6ZENRU3hGUVVGVkxITkNRVUYzUWl4TFFVVnNRMEVzUlVGQlZTeEpRVUZKTEZWQlFWVXNTVUZCVFN4VFFVRlRPV2xDTEVWQlFVMHNRMEZETTBNc1QwRkJUeXhMUVVGTExFOUJRVThzU1VGQlNUaHBRaXhGUVVGVk9XbENMRVZCUVU4c1MwRkJTeXhEUVVGSExFTkJRMnhFTEVWQlJVRTRhVUlzUlVGQlZTeEpRVUZKTEZWQlFWVXNUMEZCVXl4VFFVRlRXU3hGUVVGTExFTkJRemRETEZsQlFVc3NUVUZCVFN4TFFVRkxRU3hEUVVGSExFVkJRMllzUzBGQlMwRXNSVUZCU1N4TFFVRlBMRWRCUVVjc1JVRkRja0lzUzBGQlMwRXNSVUZCU1N4TFFVRlBMRWRCUVVjc1JVRkJSU3hMUVVGTFFTeERRVUZITEVWQlJUZENMRXRCUVV0QkxFVkJRVWtzU1VGQlNTeEZRVUZKUVN4RlFVVmFRU3hEUVVOVUxFVkJSVUZhTEVWQlFWVXNTVUZCU1N4VlFVRlZMRWxCUVUwc1UwRkJVMkVzUlVGQlRYSnpRaXhGUVVGUExFTkJRMnhFTEZsQlFVdHhjMElzUTBGQlNTeEZRVUZKY25OQ0xFVkJRMDRzU1VGRFZDeEZRVVZCZDNKQ0xFVkJRVlVzU1VGQlNTeFZRVUZWTEZOQlFWY3NVMEZCVTNoeVFpeEZRVUZQYzNOQ0xFVkJRVThzUTBGRGVFUXNTVUZCU1VRc1JVRkJUME1zUjBGQlV5eFZRVU53UWl4UFFVRkxMRXRCUVV0RUxFTkJRVWtzU1VGRFdpeExRVUZMUVN4RFFVRkpMRVZCUVVrc1NVRkZaaXhMUVVGTFFTeERRVUZKTEVWQlFVVXNTMEZCUzNKelFpeERRVUZMTEVWQlEyUXNTVUZEVkN4RlFVVkpMRTlCUVU4c1VVRkJXU3hOUVVOeVFpeFJRVUZSTEZWQlFWbDNja0lzUjBGUGRFSkJMRVZCUVZVc1ZVRkJXU3hUUVVGVFVDeEZRVUZSTEVOQlEzSkRMRTlCUVU5UExFVkJRVlVzVjBGQlYxQXNRMEZCVFN4RFFVTndReXhGUVVWQlR5eEZRVUZWTEZkQlFXRXNVMEZCVTFBc1JVRkJVU3hEUVVWMFF5eFJRVVJKYzBJc1JVRkJVU3hIUVVOSUxFVkJRVWtzUlVGQlJ5eEZRVUZKTEVkQlFVa3NTVUZCU3l4RFFVTXpRaXhKUVVGSlF5eEZRVUZOZGtJc1JVRkJUeXhWUVVGWExFVkJRVU1zVTBGQlV5eEZRVUZGTEVWQlEzaERjMElzUjBGQlZVTXNSVUZCU1N4VFFVRlhMRVZCUVVrc1NVRkJUVUVzUlVGQlRVRXNRMEZETVVNc1EwRkRSQ3hQUVVGUFJDeERRVU5VTEVWQlJVRm1MRVZCUVZVc1dVRkJZeXhUUVVGVFVDeEZRVUZSZDBJc1JVRkJXVU1zUlVGQldTeERRVU12UkN4SlFVRkpUaXhGUVVOQmRrY3NSVUZCVVc5R0xFVkJRVThzWTBGRFpsa3NSVUZCVnl4RlFVTllZeXhGUVVOQlppeEZRVU5LTEVkQlFVbFlMRVZCUVU4c2FVSkJRVzFDY0VZc1JVRkJVU3hGUVVOd1F5eFBRVUZCUkN4RlFVRkpMRTFCUVUwc1dVRkJZU3hwUlVGQmFVVXNSVUZEYWtZc1EwRkJSU3hMUVVGTk5FWXNSVUZCVlN4eFFrRkZNMElzUjBGQlNXdENMRWRCUVdOQkxFVkJRV0VzUlVGRE4wSXNUMEZCUVRsSExFVkJRVWtzVFVGQlRTeFpRVUZoTERSRVFVRTBSQ3hGUVVNMVJTeERRVUZGTEV0QlFVMDBSaXhGUVVGVkxIRkNRVVV6UWl4SlFVRkplbGtzUlVGQlQydFpMRVZCUVU4c1lVRkRaSHB5UWl4RlFVRlBlWEpDTEVWQlFVOHNWMEZCVnl4RFFVRkRMRVZCUXpGQ01rSXNSVUZCVjNCMFFpeEZRVWRtTEVkQlJrRnZiVUlzUlVGQlNTeE5RVUZOTEZsQlFXRXNjMEpCUVhkQ2NHMUNMRVZCUVU4c1kwRkJaMEoxVkN4RlFVRlBMR2RDUVVGclFqaFRMRU5CUVVzc1JVRkRjRWRuUnl4RlFVRlhMRVZCUTFCeWMwSXNSMEZCVVN4UFFVRlJMRU5CUTJ4Q0xFZEJRVXQ1Y2tJc1JVRkJUeXhsUVVGblFpeEZRVUZIUVN4RlFVRlBMR05CUVdkQ0xFbEJRVkY1UWl4RlFVRmhZaXhGUVVGWExFZEJRM0JHTEU5QlFVRmFMRVZCUVU4c1MwRkJTM0JHTEVOQlFVc3NSVUZEYWtKRUxFVkJRVWtzVFVGQlRTeFpRVUZoTERaRVFVRTJSQ3hGUVVNM1JTeERRVUZGTEV0QlFVMDBSaXhGUVVGVkxIRkNRVVV6UWtrc1JVRkJUMG9zUlVGQlZTeFZRVUZWVUN4RFFVRk5MRV
1ZCUTJwRFdTeEhRVUZaTEVkQlExcGxMRVZCUVZkb1FpeERRVU5hTEVOQlEwUXNSMEZCU1RkWkxFZEJRVkVzUlVGQlJ5eERRVU5pTEVkQlFVdHJXU3hGUVVGUExHVkJRV2RDTEVWQlFVZEJMRVZCUVU4c1dVRkJWeXhGUVVGTExFZEJRVTk1UWl4SFFVRmxRU3hGUVVGaFlpeEZRVUZaTEVWQlEyNUhMRTlCUVVGYUxFVkJRVThzUzBGQlMzQkdMRU5CUVVzc1JVRkRha0pFTEVWQlFVa3NTMEZCU3l4WlFVRmhMR2RGUVVGdFJYQnRRaXhGUVVGUExFOUJRVkVzUlVGRGFrY3NRMEZCUlN4TFFVRk5aM05DTEVWQlFWVXNjVUpCUlROQ2Vsa3NSVUZCVDJ0WkxFVkJRVThzWVVGRFpGa3NSMEZCV1N4RFFVTm9RaXhUUVVGaE9Wa3NTVUZCVXl4SFFVVnNRaXhIUVVGSk1sb3NSVUZEUmpOYUxFVkJRVTh5V2l4VlFVZEliSFJDTEVsQlFWTXNUMEZEV0N4UFFVRkJiMjFDTEVWQlFVa3NUVUZCVFN4WlFVRmhMQ3REUVVGcFJIQnRRaXhGUVVGUExFZEJRVWNzUlVGRGJFWTBjMElzUlVGQlRTeEpRVUZKV2l4RlFVRlZMRWxCUVVsb2MwSXNSVUZCVFhWVUxFTkJRVWtzUlVGRE0wSXNRMEZCUlN4TFFVRk5lVmtzUlVGQlZTeEhRVUZKTEVsQlFVdFpMRVZCUVVzc1MwRkJUVUVzUlVGQlNTeE5RVWwyUkN4UFFVRkpjbG9zU1VGQlV5eEhRVUZMUVN4RlFVRlBPRmtzUjBGRGRrSnFSeXhGUVVGSkxFMUJRVTBzV1VGQllTeGxRVUZwUW5CdFFpeEZRVUZQTEhkQ1FVRXdRblZVTEVWQlFVOHNNRUpCUVRCQ0xFVkJRMjVITEVOQlFVVXNTMEZCVFhsWkxFVkJRVlVzYjBKQlFYRkNMRXRCUVUxb2MwSXNSVUZCVFN4TFFVRk5kVlFzUlVGQlRTeFRRVUZWT0Zrc1JVRkJWU3hOUVVGUGFFY3NRMEZCU3l4SFFVVndSemxUTEVsQlFWTXNSMEZCU3pKYUxFZEJRV016V2l4RlFVRlBNbG9zUjBGRGNrTTVSeXhGUVVGSkxFMUJRVTBzV1VGQllTeG5Ra0ZCYTBKd2JVSXNSVUZCVHl4blFrRkJhMEoxVkN4RlFVRlBMRzlEUVVGelF6SmFMRU5CUVZVc1JVRkRiRWdzUTBGQlJTeExRVUZOYkVJc1JVRkJWU3h2UWtGQmNVSXNTMEZCVFdoelFpeEZRVUZOTEV0QlFVMTFWQ3hGUVVGTkxGTkJRVlU0V1N4RlFVRlZMRTFCUVU5b1J5eERRVUZMTEVkQlJYQkhPVk1zU1VGQlV5eEhRVUZMT0ZNc1JVRkJVVGxUTEVWQlFVOXJXU3hGUVVGUExHdENRVU4wUTBFc1JVRkJUeXhMUVVGTGNFWXNRMEZCU3l4RlFVTnFRa1FzUlVGQlNTeExRVUZMTEZsQlFXRXNhMFJCUVc5RWNHMUNMRVZCUVU4c1QwRkJUeXhGUVVOcVJpeERRVUZGTEV0QlFVMW5jMElzUlVGQlZTeHZRa0ZCY1VJc1MwRkJUV2h6UWl4RlFVRk5MRXRCUVUxMVZDeEZRVUZOTEZOQlFWVTRXU3hGUVVGVkxFMUJRVTlvUnl4RFFVRkxMRWRCUlhCSE5FY3NSVUZEU3l4RFFVRkZMRXRCUVUxcVFpeEZRVUZWTEVkQlFVa3NTMEZCVFdoelFpeEZRVUZOTEV0QlFVMTFWQ3hGUVVGTkxGTkJRVlU0V1N4RlFVRlZMRTFCUVU5b1J5eERRVUZMTEVkQlJXcEdNa1lzUlVGQlZXaHpRaXhGUVVGUExFdEJRVXNzUlVGRGVFSTBjMElzUlVGQlRTeEpRVUZKV2l4RlFVRlZhSE5DTEVWQlFVOHNTMEZCU3l4RlFVRkZkVlFzUTBGQlNTeEZRVVZzUTNaVUxFbEJRVk1zVVVGRFdHOXRRaXhGUVVGSkxFdEJRVXNzV1VGQllTeHpRa0ZCZDBKd2JVSXNSVUZCVHl4SFFVRkhMRVZCUTNoRU5ITkNMRVZCUVUwc1NVRkJTVm9zUlVGQlZTeEpRVUZKYUhOQ0xFVkJRVTExVkN4RFFVRkpMRVZCUTJ4RGNWb3NSVUZCU1N4clFrRkJiMElzU1VGRmNFSmFMRVZCUVZVc1ZVRkJWVWtzUTBGQlNTeEZRVU14UWxFc1JVRkJUU3hKUVVGSldpeEZRVUZWTEZWQlFWVkpMRU5CUVVrc1JVRkJSVGRaTEVOQlFVa3NSMEZGZUVNMlV5eEZRVUZKTEV0QlFVc3NXVUZCWVN4MVFrRkJlVUpuUnl4RlFVRlBMRWRCUVVjc1JVRkRla1JSTEVWQlFVMHNTVUZCU1Zvc1JVRkJWU3hKUVVGSmFITkNMRVZCUVUxMVZDeERRVUZKTEVWQlEyeERjVm9zUlVGQlNTeExRVUZQVWl4RlFVTllVU3hGUVVGSkxHdENRVUZ2UWl4SlFVdG9RMEVzUlVGQlNTeFRRVUZYVUN4RlFVVm1UeXhGUVVGSkxFMUJRVkYyUnl4RlFVTlNkVWNzUlVGQlNTeFJRVUZWV2l4RlFVRlZMRWxCUVVrc1ZVRkJWU3hQUVVGVFdTeEZRVUZKTEU5QlFWTXNVMEZET1VSNFJ5eEZRVUZKTEV0QlFVc3NXVUZCWVN4SlFVRk5aMGdzUlVGQlZ5eHZSa0ZCYjBZc1JVRkRNMGhTTEVWQlFVa3NiVUpCUVcxQ2JrSXNRMEZCVFN4SFFVVXZRbTFDTEVWQlFVa3NUVUZCVFc1Q0xFTkJRVTBzUlVGRGFFSXdRaXhGUVVGUE1VSXNSVUZCVHl4WlFVRmhMRWRCUVVsdFFpeEZRVUZKTEUxQlFWRkJMRVZCUVVrc1RVRkRNME5QTEVWQlFVOHNSMEZEVkM5SExFVkJRVWtzUzBGQlN5eFpRVUZoTEcxQ1FVRnhRbWRJTEVWQlFWY3NPRVJCUVdsRkxFTkJRVU5FTEVWQlFWRXNNRUpCUVRCQ0xFVkJRekZLTVVJc1JVRkJUeXhMUVVGTGJVSXNSVUZCU1N4TlFVRlJRU3hGUVVGSkxFbEJRVWtzUjBGRGRrSlBMRVZCUVU4c1NVRkRhRUl2Unl4RlFVRkpMRTFCUVUwc1dVRkJZU3h0UWtGQmNVSm5TQ3hGUVVGWExGVkJRVmxFTEVWQlFVOHNhVVZCUVdsRkxFVkJRM1pKVUN4RlFVRkpMRTlCUVZNc1IwRkJSMjVDTEVWQlFVOHNTMEZCUzIxQ0xFVkJRVWtzVFVGQlVVRXNSVUZCU1N4SlFVRkpMRWRCUlM5RExFTkJRVVVzUzBGQlRWb3NSVUZCVlN4SFFVRkpMRWxCUVV0WkxFVkJRVXNzUzBGQlRVRXNSVUZCU1N4TlFVTnVSQ3hGUVVWQldpeEZRVUZWTEVsQlFVa3NWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRE0wTXNTMEZCU3l4TlFVRlJMRTlCUTJZc1MwRkJTeXhMUVVGUFFTeEZRVUZQTEdWQlFXVXNTMEZCU3l4TFFVRlBMRXRCUVVzc1VVRkJVU3hGUVVWMlJDeExRVUZMTEU5QlFWTXNSVUZEYUVKQkxFVkJRVThzUzBGQlMwRXNSVUZCVHl4bFFVRm5RaXhEUVVGQkxFVkJSVzVEUVN4RlFVRlBMRXRCUVVzc1MwRkJTeXhOUVVGUkxFdEJRVXNzU1VGQlNTeERRVWQ0UXl4RlFVbEJUeXhGUVVGVkxFbEJRVWtzVlVGQlZTeHRRa0ZCY1VJc1UwRkJVMUFzUlVGQlVTeERRVU0xUkN4TFFVRkxMRXRCUVU5QkxFVkJRVThzWlVGQlpTeExRVUZMTEV0QlFVOHNTMEZCU3l4UlFVRlJMRVZCUlRORVFTeEZRVUZQTEZWQlFWa3NTMEZCU3l4TFFVRlBMRXRCUVVzc1VVRkRkRU1zUlVGRlFVOHNSVUZCVlN4UlFVRlJMRlZCUVZVc2JVSkJRWEZDTEZOQlFWTlFMRVZCUVZFc1EwRkRhRVVzUzBGQlN5eG5Ra0ZCWjBKQkxFTkJRVTBzUlVGRE0wSXNTMEZCU3l4TFFVRlBRU3hGUVVGUExHVkJRV1VzUzBGQlN5eExRVUZQTEV0QlFVc3NVVUZCVVN4RlFVVXpSQ3hMUVVGTExGVkJRVmtzUlVGRmFrSkJMRVZCUVU4c1ZVRkJXU3hMUVVGTExFdEJRVThzUzBGQlN5eFJRVU4wUXl4RlFVVkJUeXhGUVVGVkxGRkJRVkVzVlVGQlZTeG5Ra0ZCYTBJc1UwRkJVMUFzUlVGQlVTeERRVU0zUkN4TFFVRkxMRkZCUVZWQkxFVkJRVThzV1VGRGRFSXNTME
1ZCU3l4TlFVRlJRU3hGUVVGUExHRkJRM0JDTEV0QlFVc3NWVUZCV1N4RFFVTnVRaXhGUVVWQlR5eEZRVUZWTEZGQlFWRXNWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTMEZCU3l4blFrRkJaMEpCTEVOQlFVMHNSVUZETTBJc1MwRkJTeXhMUVVGUFFTeEZRVUZQTEdWQlFXVXNTMEZCU3l4TFFVRlBMRXRCUVVzc1VVRkJVU3hEUVVNM1JDeEZRVVZCVHl4RlFVRlZMR0ZCUVdFc1ZVRkJWU3hOUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZIZUVRc1VVRkdTVFJDTEVWQlEwRlVMRVZCUTBkdVFpeEZRVUZQTEZsQlFXRXNSVUZCUnl4TFFVRkxMRTFCUVZFc1MwRkJTeXhOUVVVNVF5eEhRVVJCTkVJc1JVRkJUWEpDTEVWQlFWVXNXVUZCV1ZBc1JVRkJVU3hIUVVGUExFdEJRVXNzVFVGQlVVRXNSVUZCVHl4WlFVRmhMRVZCUVVjc1MwRkJTeXhOUVVGTkxFVkJRM1JHTkVJc1JVRkJTU3hQUVVGVGNrSXNSVUZCVlN4SFFVbDZRaXhIUVVoQldTeEZRVUZOVXl4RlFVRkpMRWxCUlZZc1MwRkJTeXhOUVVGTkxFdEJRVXRVTEVOQlFVY3NSVUZEWml4TFFVRkxMR0ZCUVdVc1MwRkJTeXhaUVVGWkxGRkJRVkZCTEVWQlFVa3NTVUZCU1N4SFFVRkxMRWRCUXpWRUxFdEJRVXNzUzBGQlN5eFpRVUZaTEV0QlFVc3NXVUZCV1N4UlFVRlJRU3hGUVVGSkxFbEJRVWtzUTBGQlF5eEZRVUZKTEVkQlFVY3NSVUZCUlN4TFFVRkxRU3hEUVVGSExFMUJRM0JGTEVOQlEwd3NTVUZCU1ZFc1JVRkJWMUlzUlVGQlNTeFBRVUZUTEU5QlFWTkJMRVZCUVVrc1MwRkJUMEVzUlVGQlNTeExRVU5vUkN4TFFVRkxVU3hEUVVGUkxFVkJRMlpvU0N4RlFVRkpMRXRCUVVzc1pVRkJhVUpuU0N4RlFVRlhMSFZEUVVGMVF5eEZRVVUxUlN4TFFVRkxRU3hEUVVGUkxFVkJRVWxTTEVOQlJYQkNMRXRCUlVRc1QwRkhUaXhGUVVWQldpeEZRVUZWTEVsQlFVa3NWVUZCVlN4alFVRm5RaXhUUVVGVFVDeEZRVUZSTEVOQlEzWkVMRXRCUVVzc1UwRkJWMEVzUlVGQlR5eGhRVU4yUWl4SlFVRkpOa0lzUlVGQlVTeERRVUZCTEVWQlExcEJMRVZCUVUwc1EwRkJReXhGUVVGTExFdEJRVXNzVlVGQldTeEhRVUZOTEVkQlEyNURRU3hGUVVGTkxFTkJRVU1zUlVGQlN5eExRVUZMTEZWQlFWa3NSVUZCU3l4SFFVTnNRMEVzUlVGQlRTeERRVUZETEVWQlFVc3NTMEZCU3l4VFFVRlpMRWRCUXpkQ0xFdEJRVXNzWlVGQmFVSXNUMEZCVHl4aFFVRmhRU3hGUVVGTkxFTkJRVU1zUlVGQlNTeEhRVUZOUVN4RlFVRk5MRU5CUVVNc1JVRkJTU3hIUVVGTlFTeEZRVUZOTEVOQlFVTXNSVUZCU1N4RlFVRkpMRU5CUXpkR0xFVkJSMEYwUWl4RlFVRlZMSGxDUVVFeVFpeFRRVU55UTBFc1JVRkJWU3gzUWtGQk1FSXNVVUZEY0VOQkxFVkJRVlVzZFVKQlFYbENMRTlCUTI1RFFTeEZRVUZWTERKQ1FVRTJRaXhYUVVOMlEwRXNSVUZCVlN3eVFrRkJOa0lzVjBGRGRrTkJMRVZCUVZVc2VVSkJRVEpDTEZOQlEzSkRRU3hGUVVGVkxIVkNRVUY1UWl4UFFVVnVRMEVzUlVGQlZTeFpRVUZaTEZWQlFWVXNXVUZCWXl4VFFVRlRVQ3hGUVVGUkxFTkJRemRFUVN4RlFVRlBMR1ZCUVdVc1EwRkJReXhGUVVOMlFpeExRVUZMTEhGQ1FVRjFRa0VzUlVGQlR5eGhRVU51UXl4TFFVRkxMRlZCUVZrc1EwRkRia0lzUlVGRlFVOHNSVUZCVlN4WlFVRlpMRlZCUVZVc1RVRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEzWkVMRXRCUVVzc1dVRkJXVUVzUTBGQlRTeEZRVU4yUWl4TFFVRkxMRXRCUVU5QkxFVkJRVThzWlVGQlpTeExRVUZMTEV0QlFVOHNTMEZCU3l4UlFVRlJMRU5CUXpkRUxFVkJSVUZQTEVWQlFWVXNXVUZCV1N4VlFVRlZMRzFDUVVGeFFpeFRRVUZUVUN4RlFVRlJMRU5CUTNCRkxFdEJRVXNzV1VGQldVRXNRMEZCVFN4RlFVTjJRaXhMUVVGTExFdEJRVTlCTEVWQlFVOHNaVUZCWlN4TFFVRkxMRXRCUVU4c1MwRkJTeXhSUVVGUkxFVkJSVE5FTEV0QlFVc3NWVUZCV1N4RlFVVnFRa0VzUlVGQlR5eFZRVUZaTEV0QlFVc3NTMEZCVHl4TFFVRkxMRkZCUTNSRExFVkJSVUZQTEVWQlFWVXNXVUZCV1N4VlFVRlZMRmxCUVdNc1UwRkJVMUFzUlVGQlVTeERRVU0zUkU4c1JVRkJWU3hoUVVGaExGVkJRVlVzVFVGQlRTeExRVUZMTEV0QlFVMVFMRU5CUVUwc1EwRkRNVVFzUlVGSFFVOHNSVUZCVlN3eVFrRkJNa0pCTEVWQlFWVXNjMEpCUVhOQ0xFVkJRM0pGUVN4RlFVRlZMREpDUVVFeVFrRXNSVUZCVlN3d1FrRkJNRUlzUlVGRGVrVkJMRVZCUVZVc01rSkJRVEpDUVN4RlFVRlZMREJDUVVFd1FpeEZRVU42UlVFc1JVRkJWU3d5UWtGQk1rSkJMRVZCUVZVc2QwSkJRWGRDTEVWQlEzWkZRU3hGUVVGVkxESkNRVUV5UWtFc1JVRkJWU3h6UWtGQmMwSXNSVUZIY2tWQkxFVkJRVlVzTWtKQlFUSkNRU3hGUVVGVkxIbENRVUV3UWl4VFFVRlRVQ3hGUVVGUkxFTkJRM2hHTEVsQlFVazRRaXhGUVVOS0xFdEJRVXNzV1VGQldUbENMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNWMEZCVlN4RlFVTnFRa0VzUlVGQlR5eFhRVUZWTEVWQlEycENRU3hGUVVGUExHZENRVUZuUWl4RFFVRkRMRVZCUTNoQ0xFdEJRVXNzVFVGQlVVRXNSVUZCVHl4aFFVTndRaXhMUVVGTExFOUJRVk5CTEVWQlFVOHNZVUZEY2tJc1MwRkJTeXhuUWtGQmEwSkJMRVZCUVU4c1lVRkRPVUlzUzBGQlN5eGxRVUZwUWtFc1JVRkJUeXhoUVVNM1FrRXNSVUZCVHl4WFFVRlZMRVZCUTJwQ0xFdEJRVXNzV1VGQlkwRXNSVUZCVHl4aFFVTXhRamhDTEVWQlFYZENMRXRCUVVzc1NVRkJTU3hIUVVGSk9VSXNSVUZCVHl4VlFVRlRMRU5CUVVVc1JVRkRka1FzUzBGQlN5eGxRVUZwUWtFc1JVRkJUeXhYUVVGWE9FSXNRMEZCY1VJc1JVRkRla1JCTEVWQlFYZENMRWxCUXpGQ09VSXNSVUZCVHl4WFFVRlhMRWRCUVVzNFFpeERRVUZ4UWl4RlFVVTVReXhMUVVGTExFMUJRVkU1UWl4RlFVRlBMR0ZCUTNCQ1FTeEZRVUZQTEZkQlFWVXNSVUZEYWtJc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVOQlEzcENMRU5CUVVNc1JVRkZSRThzUlVGQlZTd3lRa0ZCTWtKQkxFVkJRVlVzZDBKQlFYbENMRk5CUVZOUUxFVkJRVkVzUTBGRGRrWXNTMEZCU3l4WlFVRlpRU3hEUVVGTkxFVkJRM1pDUVN4RlFVRlBMR2RDUVVGblFpeERRVUZETEVWQlEzaENMRXRCUVVzc1kwRkJaMEpCTEVWQlFVOHNZVUZETlVJc1MwRkJTeXhYUVVGaFFTeEZRVUZQTEdGQlEzcENRU3hGUVVGUExGZEJRVlVzUlVGRGFrSkJMRVZCUVU4c1YwRkJWU3hGUVVOcVFpeExRVUZMTEZkQlFXTkJMRVZCUVU4c1YwRkJXU3hGUVVGSkxFMUJRekZETEV0QlFVc3NXVUZCV1VFc1EwRkJUU3hEUVVONlFpeER
1RVUZETEVWQlIwUlBMRVZCUVZVc2MwSkJRWE5DUVN4RlFVRlZMSGxDUVVFd1FpeE5RVUZOTEVWQlF6RkZRU3hGUVVGVkxITkNRVUZ6UWtFc1JVRkJWU3g1UWtGQk1FSXNUVUZCVFN4RlFVTXhSVUVzUlVGQlZTeHpRa0ZCYzBKQkxFVkJRVlVzZVVKQlFUQkNMRTFCUVUwc1JVRkRNVVZCTEVWQlFWVXNjMEpCUVhOQ1FTeEZRVUZWTEhsQ1FVRXdRaXhOUVVGTkxFVkJRekZGUVN4RlFVRlZMSE5DUVVGelFrRXNSVUZCVlN4NVFrRkJNRUlzVFVGQlRTeEZRVU14UlVFc1JVRkJWU3h6UWtGQmMwSkJMRVZCUVZVc2VVSkJRVEJDTEUxQlFVMHNSVUZETVVWQkxFVkJRVlVzYzBKQlFYTkNRU3hGUVVGVkxIbENRVUV3UWl4TlFVRk5MRVZCUXpGRlFTeEZRVUZWTEhOQ1FVRnpRa0VzUlVGQlZTeDVRa0ZCTUVJc1RVRkJUU3hGUVVNeFJVRXNSVUZCVlN4elFrRkJjMEpCTEVWQlFWVXNlVUpCUVRCQ0xFMUJRVTBzUlVGRE1VVkJMRVZCUVZVc2MwSkJRWE5DUVN4RlFVRlZMSGxDUVVFd1FpeE5RVUZOTEVWQlF6RkZRU3hGUVVGVkxITkNRVUZ6UWtFc1JVRkJWU3g1UWtGQk1FSXNUVUZCVFN4RlFVTXhSVUVzUlVGQlZTeHpRa0ZCYzBKQkxFVkJRVlVzZVVKQlFUQkNMRTFCUVUwc1JVRkRNVVZCTEVWQlFWVXNjMEpCUVhOQ1FTeEZRVUZWTEhsQ1FVRXdRaXhOUVVGTkxFVkJRekZGUVN4RlFVRlZMSE5DUVVGelFrRXNSVUZCVlN4M1FrRkJlVUlzVFVGQlRTeEZRVU42UlVFc1JVRkJWU3h6UWtGQmMwSkJMRVZCUVZVc2QwSkJRWGxDTEUxQlFVMHNSVUZEZWtWQkxFVkJRVlVzYzBKQlFYTkNRU3hGUVVGVkxIZENRVUY1UWl4TlFVRk5MRVZCUTNwRlFTeEZRVUZWTEhOQ1FVRnpRa0VzUlVGQlZTeDNRa0ZCZVVJc1RVRkJUU3hGUVVkNlJVRXNSVUZCVlN3clFrRkJLMEpCTEVWQlFWVXNlVUpCUVRCQ0xFMUJRVTBzUlVGRGJrWkJMRVZCUVZVc0swSkJRU3RDUVN4RlFVRlZMSGRDUVVGNVFpeE5RVUZOTEVWQlEyeEdRU3hGUVVGVkxDdENRVUVyUWtFc1JVRkJWU3d5UWtGQk5FSXNUVUZCVFN4RlFVTnlSa0VzUlVGQlZTd3JRa0ZCSzBKQkxFVkJRVlVzZVVKQlFUQkNMRTFCUVUwc1JVRkRia1pCTEVWQlFWVXNLMEpCUVN0Q1FTeEZRVUZWTEhWQ1FVRjNRaXhOUVVGTkxFVkJRMnBHUVN4RlFVRlZMQ3RDUVVFclFrRXNSVUZCVlN3eVFrRkJORUlzVFVGQlRTeEZRVVZ5UmtFc1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhKUVVGSkswSXNSVUZCWVM5Q0xFVkJRVThzVlVGQlV5eEZRVUZMTEVWQlEyeERaME1zU1VGQlowSkVMRVZCUVdFc1IwRkJTeXhIUVVGTExFZEJRek5ETEV0QlFVc3NWMEZCWVN4SFFVTnNRaXhSUVVGVE4zUkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnFRamgwUWl4SFFVRmxMRWRCUTJwQ0xFdEJRVXNzVjBGQlZ6bDBRaXhEUVVGRExFVkJRVWs0Y2tJc1JVRkJUeXhYUVVGVkxFVkJSWFJETEV0QlFVc3NWMEZCVnpseVFpeERRVUZETEVWQlFVazRja0lzUlVGQlR5eFhRVUZWTEVOQlJ6VkRMRU5CUVVNc1JVRkRSRThzUlVGQlZTeGpRVUZqTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVNdlF5eExRVUZMTEZOQlFWZEJMRVZCUVU4c1YwRkRla0lzUTBGQlF5eEZRVU5FVHl4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzUzBGQlN5eFRRVUZYUVN4RlFVRlBMR05CUTNaQ0xFbEJRVWxwUXl4RlFVRnhRaXhMUVVGTExFdEJRVThzUzBGQlN5eFZRVUZaTEV0QlFVc3NVMEZCVXl4UFFVRlRMRWRCUXpkRkxFdEJRVXNzV1VGQlkycERMRVZCUVU4c1pVRkJaV2xETEVOQlFXdENMRU5CUXpkRUxFTkJRVU1zUlVGRFJERkNMRVZCUVZVc1kwRkJZeXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZITDBNc1NVRkJTVGRETEVWQlFVMDJReXhGUVVGUExGbEJRMnBDTEVkQlFVczNReXhIUVVGUExFVkJRVXNzUjBGQlZ5eERRVU14UW5oRExFVkJRVWtzVFVGQlRTeHhRa0ZCY1VJc1JVRkRMMElzVFVGRFJDeERRVVZFTEVkQlJFRXNTMEZCU3l4UlFVRlZkME1zUlVGQlRTeEpRVU5xUWl4TFFVRkxMRlZCUVZrc1JVRkJSeXhEUVVOMFFuaERMRVZCUVVrc1RVRkJUU3huUWtGQmEwSXNTMEZCU3l4UlFVRlZMR2RDUVVGblFpeEZRVU16UkN4TlFVTkVMRU5CWTBRc1IwRmlRWGRETEVWQlFVMDJReXhGUVVGUExGbEJRMklzUzBGQlN5eFpRVUZsTjBNc1IwRkJUeXhGUVVGTExFVkJRMmhETEV0QlFVc3NaMEpCUVd0Q1FTeEZRVUZOTEVkQlF6ZENRU3hGUVVGTk5rTXNSVUZCVHl4WlFVTmlMRXRCUVVzc1YwRkJZemRETEVkQlFVOHNSVUZCU3l4RlFVTXZRaXhMUVVGTExHTkJRV2xDUVN4SFFVRlBMRVZCUVVzc1JVRkRiRU1zUzBGQlN5eFhRVUZqUVN4SFFVRlBMRVZCUVVzc1JVRkRMMElzUzBGQlN5eFhRVUZqUVN4SFFVRlBMRVZCUVVzc1JVRkRMMElzUzBGQlN5eHhRa0ZCZDBKQkxFZEJRVThzUlVGQlN5eEZRVU42UXl4TFFVRkxMSEZDUVVGM1FrRXNSMEZCVHl4RlFVRkxMRVZCUTNwRExFdEJRVXNzZFVKQlFUQkNRU3hGUVVGTkxFVkJRM0pEUVN4RlFVRk5Oa01zUlVGQlR5eFpRVU5pTEV0QlFVc3NWMEZCWXpkRExFZEJRVThzUlVGQlN5eEZRVU16UWl4TFFVRkxMR0ZCUVdVc1JVRkJSeXhEUVVONlFuaERMRVZCUVVrc1RVRkJUU3hwUTBGQmFVTXNSVUZETTBNc1RVRkRSQ3hEUVVWRUxFZEJSRUVzUzBGQlN5eHRRMEZCYzBOM1F5eEhRVUZQTEVWQlFVc3NSVUZEYmtRc1MwRkJTeXh4UTBGQmRVTXNSVUZET1VNc1MwRkJTeXh4UTBGQmQwTkJMRVZCUVUwc1YwRkZia1FzUzBGQlN5eFhRVUZqUVN4RlFVRk5MRWRCUTNKQ0xFdEJRVXNzWVVGQlpTeEZRVUZITEVOQlEzcENlRU1zUlVGQlNTeE5RVUZOTEdsRFFVRnBReXhGUVVNelF5eE5RVU5FTEVOQlIwZ3NTVUZCU1hWSUxFVkJRVzlDTEV0QlFVc3NTMEZCVHl4TFFVRkxMRk5CUVZjc1JVRkRjRVFzUzBGQlN5eFhRVUZoYkVNc1JVRkJUeXhsUVVGbGEwTXNRMEZCYVVJc1EwRkRNMFFzUTBGQlF5eEZRVWRFTTBJc1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhKUVVGSk9YSkNMRVZCUTBGcGRVSXNSVUZUU2l4SlFWSkJMRXRCUVVzc2NVSkJRWFZDYmtNc1JVRkJUeXhaUVVOdVF5eExRVUZMTEhGQ1FVRjFRa0VzUlVGQlR5eFpRVU51UXl4TFFVRkxMSE5DUVVGM1FrRXNSVUZCVHl4WlFVTndReXhMUVVGTE
1xHMUNRVUZ4UWtFc1JVRkJUeXhaUVVOcVF5eExRVUZMTEcxQ1FVRnpRa0VzUlVGQlR5eFZRVUZYTEVWQlFVY3NSVUZEYUVRc1MwRkJTeXhoUVVGblFrRXNSVUZCVHl4VlFVRlhMRVZCUVVjc1IwRkRNVU50UXl4RlFVRlZMRXRCUVVzc1MwRkJUeXhMUVVGTExGTkJRVmNzUlVGRGRFTXNTMEZCU3l4SlFVRk5MRWRCUTA1cWRVSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzWVVGQlkwRXNTVUZEYWtNc1MwRkJTeXhKUVVGSlFTeERRVUZETEVWQlFVa3NSMEZEWkN4TFFVRkxMRWxCUVVsQkxFTkJRVU1zUlVGQlJTeFBRVUZUT0hKQ0xFVkJRVThzWVVGRE5VSXNTMEZCU3l4SlFVRkpPWEpDTEVOQlFVTXNSVUZCUlN4TFFVRlBPSEpDTEVWQlFVOHNaVUZCWlN4TFFVRkxMRWxCUVVrNWNrSXNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkRNMFJwZFVJc1IwRkJWeXhGUVVGSkxFdEJRVXNzU1VGQlNXcDFRaXhEUVVGRExFVkJRVVVzVDBGTE4wSXNTVUZJUVN4TFFVRkxMR0ZCUVdVNGNrSXNSVUZCVHl4WlFVTXpRbTFETEVsQlEwRXNTMEZCU3l4SlFVRk5MRWRCUTA1cWRVSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzWVVGQlkwRXNTVUZEYWtNc1MwRkJTeXhKUVVGSlFTeERRVUZETEVWQlFVa3NSMEZEWkN4TFFVRkxMRWxCUVVsQkxFTkJRVU1zUlVGQlJTeFBRVUZUT0hKQ0xFVkJRVThzWVVGRE5VSXNTMEZCU3l4SlFVRkpPWEpDTEVOQlFVTXNSVUZCUlN4TFFVRlBPSEpDTEVWQlFVOHNaVUZCWlN4TFFVRkxMRWxCUVVrNWNrSXNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkRNMFJwZFVJc1IwRkJWeXhGUVVGSkxFdEJRVXNzU1VGQlNXcDFRaXhEUVVGRExFVkJRVVVzVDBGRmVrSnBkVUlzUlVGQlZTeEpRVU5hTEV0QlFVc3NTVUZCVFc1RExFVkJRVThzWlVGQlpXMURMRU5CUVU4c1JVRkZOVU1zUTBGQlF5eEZRVWRFTlVJc1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExHRkJRV1ZCTEVWQlFVOHNZVUZETTBJc1MwRkJTeXhYUVVGaFFTeEZRVUZQTEdGQlEzcENMRXRCUVVzc1YwRkJZVUVzUlVGQlR5eFpRVU16UWl4RFFVRkRMRVZCUjBSUExFVkJRVlVzWTBGQll5eFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRMME1zUzBGQlN5eHZRa0ZCYzBKQkxFVkJRVThzWVVGRGJFTXNTMEZCU3l4dlFrRkJjMEpCTEVWQlFVOHNZVUZEYkVNc1MwRkJTeXh4UWtGQmRVSkJMRVZCUVU4c1lVRkRia01zUzBGQlN5eHhRa0ZCZFVKQkxFVkJRVThzWVVGRGJrTXNTMEZCU3l4VlFVRlpRU3hGUVVGUExHRkJRM2hDTEV0QlFVc3NWVUZCV1VFc1JVRkJUeXhoUVVONFFpeExRVUZMTEZOQlFWZEJMRVZCUVU4c1lVRkRka0lzUzBGQlN5eFRRVUZYUVN4RlFVRlBMRmxCUTNwQ0xFTkJRVU1zUlVGRFJFOHNSVUZCVlN4alFVRmpMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMSGRDUVVFd1FrRXNSVUZCVHl4aFFVTjBReXhMUVVGTExEUkNRVUU0UWtFc1JVRkJUeXhaUVVNMVF5eERRVUZETEVWQlIwUlBMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeEpRVUZKYjBNc1JVRkRRU3hGUVVkS0xFZEJSa0ZCTEVWQlFXTndReXhGUVVGUExHRkJRM0pDTEV0QlFVc3NZMEZCWjBJc1IwRkRha0lzUzBGQlN5eFZRVUZaTEVWQlEyNUNMRWxCUVVzc1JVRkJTU3hGUVVGSExFVkJRVWx2UXl4RlFVRmhMRWxCUXpOQ0xFdEJRVXNzWTBGQll5eExRVUZMY0VNc1JVRkJUeXhYUVVGWkxFTkJRVUVzUTBGSGFrUXNRMEZCUXl4RlFVZEVUeXhGUVVGVkxHdENRVUZyUWl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTMEZCU3l4UFFVRlRRU3hGUVVGUExHRkJRM0pDTEV0QlFVc3NVVUZCVlVFc1JVRkJUeXhaUVVONFFpeERRVUZETEVWQlIwUlBMRVZCUVZVc1kwRkJZeXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZGTDBNc1IwRkVRU3hMUVVGTExGbEJRV05CTEVWQlFVOHNWMEZCVnl4RFFVRkRMRVZCUTJ4RExFdEJRVXNzWTBGQlowSXNUMEZCVVN4RFFVTXZRaXhMUVVGTExHbENRVUZ0UWtFc1JVRkJUeXhoUVVNdlFpeExRVUZMTEhsQ1FVRXlRa0VzUlVGQlR5eGhRVU4yUXl4TFFVRkxMRzlDUVVGelFrRXNSVUZCVHl4aFFVTnNReXhKUVVGSk4wTXNSVUZCVFRaRExFVkJRVThzV1VGRGFrSXNTMEZCU3l4blFrRkJhMEkzUXl4SFFVRlBMRU5CUTJ4RExFMUJRV0VzUzBGQlN5eGpRVUZuUWl4UFFVTTVRaXhMUVVGTExGbEJRV00yUXl4RlFVRlBMR1ZCUVdVc1MwRkJTeXhMUVVGUExFTkJRVU1zUlVGRE4wTXNTMEZCU3l4alFVRm5RaXhUUVVNNVFpeExRVUZMTEZsQlFXTkJMRVZCUVU4c1pVRkJaU3hMUVVGTExFdEJRVThzUTBGQlF5eEZRVVV4UkN4RFFVRkRMRVZCUTBSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4TFFVRkxMR05CUVdOQkxFTkJRVTBzUlVGRGVrSXNTMEZCU3l4UFFVRlRRU3hGUVVGUExHRkJRM1pDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJSUzlETEV0QlFVc3NWVUZCV1N4SlFVTnVRaXhMUVVGTExITkNRVUYzUWtFc1JVRkJUeXhaUVVOd1F5eExRVUZMTERCQ1FVRTBRa0VzUlVGQlR5eFpRVU40UXl4TFFVRkxMRFpDUVVFclFrRXNSVUZCVHl4WlFVTXpReXhMUVVGTExIRkNRVUYxUWtFc1JVRkJUeXhaUVVOdVF5eExRVUZMTEcxQ1FVRnhRa0VzUlVGQlR5eFpRVVZ5UXl4RFFVRkRMRVZCUjBSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4SlFVRkpiME1zUlVGRFFTeEZRVWxLTEVkQlNFRkJMRVZCUVdOd1F5eEZRVUZQTEdGQlEzSkNMRXRCUVVzc1kwRkJaMElzUjBGRGNrSXNTMEZCU3l4bFFVRnBRaXhIUVVOc1FpeExRVUZMTEZWQlFWa3NSVUZEYmtJc1NVRkJTeXhGUVVGSkxFVkJRVWNzUlVGQlNXOURMRVZCUVdFc1NVRkJTeXhEUVVOb1F5eExRVUZMTEdOQlFXTXNTMEZCUzNCRExFVkJRVThzVjBGQldTeERRVUZCTEVWQlNUTkRMRWxCUVVscWNrSXNSVUZCVVdseVFpeEZRVUZQTEZsQlEyWnFja0lzUlVGQlVTeEhRVU5XTkd4Q0xFVkJRVWtzUzBGQlN5eFpRVUZoTEhWRVFVRjFSQ3hGUVVVdlJTeExRVUZMTEdWQlFXVXNTMEZCU3pWc1FpeERRVUZMTEVOQlF5OUNMRk5CUTFFc1MwRkJTeXhUUVVGWExFVkJRM3BDTEVsQlFVc3NSVUZCU1N4RlFVRkhMRVZCUVVseGRFSXNSVUZCWVN4SlFVTXpRaXhMUVVGTE
1xHTkJRV01zUzBGQlMzQkRMRVZCUVU4c1YwRkJXU3hEUVVGQkxFVkJRek5ETEV0QlFVc3NaVUZCWlN4TFFVRkxRU3hGUVVGUExGVkJRVmNzUTBGQlFTeERRVWRxUkN4RFFVRkRMRVZCUjBSUExFVkJRVlVzWTBGQll5eFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRMME1zU1VGQlNYRkRMRVZCUVZseVF5eEZRVUZQTEZsQlEyNUNjME1zUlVGQldYUkRMRVZCUVU4c1dVRkRia0oxUXl4RlFVRlpka01zUlVGQlR5eFpRVU4yUWl4TFFVRkxMRTFCUVZGeFF5eEhRVUZoTEVWQlF6RkNMRXRCUVVzc1MwRkJVMEVzUjBGQllTeEZRVUZMTEVkQlEyaERMRXRCUVVzc1QwRkJWVUVzUlVGQldTeEpRVUZSTEVWQlFVOURMRWRCUVdFc1JVRkJTeXhGUVVNMVJDeExRVUZMTEUxQlFWVkJMRWRCUVdFc1JVRkJTeXhGUVVOcVF5eExRVUZMTEUxQlFWVkJMRWRCUVdFc1JVRkJTeXhGUVVOcVF5eExRVUZMTEdOQlFXbENRU3hGUVVGWkxFVkJRVk5ETEVkQlFXRXNSVUZCU3l4RFFVTXZSQ3hEUVVGRExFVkJSMFJvUXl4RlFVRlZMR05CUVdNc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlF5OURMRWxCUVVsM1F5eEZRVUZUZUVNc1JVRkJUeXhoUVVOd1FpeExRVUZMTEZWQlFWbDNReXhIUVVGVkxFVkJRek5DTEV0QlFVc3NXVUZCWTBFc1JVRkJVeXhGUVVNMVFpeExRVUZMTEZOQlFWY3NSMEZEYUVJc1VVRkJVeXhGUVVGSkxFVkJRVWNzUlVGQlNTeExRVUZMTEZsQlFXTXNSVUZCUnl4SlFVRkxMRU5CUXpkRExFbEJRVWxETEVWQlFWVXNRMEZCUVN4RlFVTmtMRXRCUVVzc1UwRkJVeXhMUVVGTFFTeERRVUZQTEVWQlF6RkNMRWxCUVVsS0xFVkJRVmx5UXl4RlFVRlBMRmxCUTI1Q2MwTXNSVUZCV1hSRExFVkJRVThzV1VGRGJrSjFReXhGUVVGWmRrTXNSVUZCVHl4WlFVTjJRbmxETEVWQlFWRXNUVUZCVVVvc1IwRkJZU3hGUVVNM1Fra3NSVUZCVVN4TFFVRlRTaXhIUVVGaExFVkJRVXNzUjBGRGJrTkpMRVZCUVZFc1QwRkJWVW9zUlVGQldTeEpRVUZSTEVWQlFVOURMRWRCUVdFc1JVRkJTeXhIUVVNdlJFY3NSVUZCVVN4TlFVRlZTQ3hIUVVGaExFVkJRVXNzUlVGRGNFTkhMRVZCUVZFc1RVRkJVMGdzUlVGQldTeEZRVU0zUWtjc1JVRkJVU3haUVVGblFrWXNSMEZCWVN4RlFVRkxMRWRCUTNSRFJTeEZRVUZSTEZsQlFXTXNTVUZEZUVKQkxFVkJRVkVzVlVGQllVWXNSVUZCV1N4SlFVRlJMRVZCUVV0MlF5eEZRVUZQTEZsQlJYaEVMRU5CUTBnc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1NVRkJTVEJETEVWQlFXbENMRWxCUTJwQ1F5eEZRVUUyUWl4SlFVVTNRa01zUlVGQllTeERRVUZCTEVWQlEySkRMRVZCUVd0Q0xFTkJRM0JDTEdGQlEwRXNWVUZEUVN4alFVTkJMRmxCUTBFc2FVSkJRMEVzVjBGRFFTeFZRVU5CTEZWQlEwb3NSVUZIUlN4TFFVRkxMR2RDUVVGblFqZERMRU5CUVUwc1JVRkhNMElzUlVGQlJ5eERRVU5FTEVsQlFVazRReXhGUVVGak9VTXNSVUZCVHl4WlFVVnlRbnB5UWl4RlFVRlBMRXRCUVVzc1NVRkRZblYxUWl4RlFVRmpTaXhGUVVOa1J5eEZRVUZuUWl4UFFVRlRMRU5CUTJoRExFVkJiMEpKTEVkQmFFSk5kSFZDTEVWQlYwcDVja0lzUlVGQlR5eGxRVUZsUVN4RlFVRlBMRmRCUVZrc1EwRkJRU3hIUVZSNlEwRXNSVUZCVHl4bFFVRmxMRVZCUVVVc1JVRkhlRUlzUzBGQlN5eFhRVUZqUVN4RlFVRlBMRmRCUVZrc1IwRkJTU3hIUVVjeFEwRXNSVUZCVHl4bFFVRmxMRVZCUVVVc1IwRk5NVUkwUXl4RlFVRlhMRXRCUVV0RExFVkJRV2RDZEhWQ0xFTkJRVWtzUTBGQlF5eEZRVVU1UW5WMVFpeEZRVUZqU0N4RlFVTnVRaXhMUVVWSUxFOUJRVkVzU1VGRlZDeExRVUZMTEd0Q1FVTklReXhGUVVGWExFOUJRVk1zUzBGQlQwRXNSVUZCVnl4TFFVRkxMRWxCUVVrc1JVRkJTU3hIUVVOMlJDeERRVUZETEVWQlJVUnlReXhGUVVGVkxHTkJRV01zVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUXk5RExFdEJRVXNzVlVGQldVRXNSVUZCVHl4WlFVTXhRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTMEZCU3l4TFFVRlBRU3hGUVVGUExGbEJRM0pDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExGVkJRVmxCTEVWQlFVOHNXVUZETVVJc1EwRkJReXhGUVVkRVR5eEZRVUZWTEdOQlFXTXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJUeTlETEVkQlRrRXNTMEZCU3l4UlFVRlZRU3hGUVVGUExGbEJRM1JDTEV0QlFVc3NiVUpCUVhGQ1FTeEZRVUZQTEZsQlEycERMRXRCUVVzc1VVRkJWVUVzUlVGQlR5eGhRVU4wUWl4TFFVRkxMR2RDUVVGclFrRXNSVUZCVHl4aFFVTTVRaXhMUVVGTExGZEJRV0ZCTEVWQlFVOHNXVUZEZWtJc1MwRkJTeXh4UWtGQmRVSkJMRVZCUVU4c1dVRkRMMElzUzBGQlN5eDFRa0ZCZVVJc1JVRkJSeXhEUVVOdVF5eExRVUZMTEZsQlFXTkJMRVZCUVU4c1dVRkRNVUlzUzBGQlN5eGhRVUZsUVN4RlFVRlBMRmxCUXpOQ0xFdEJRVXNzWlVGQmFVSXNSMEZEZEVJc1VVRkJVemx5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUzBGQlN5eHRRa0ZCYjBKQkxFbEJRek5ETEV0QlFVc3NaVUZCWlVFc1EwRkJReXhGUVVGSk9ISkNMRVZCUVU4c1ZVRkJVeXhEUVVVMVF5eERRVU5JTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEVsQlFVazBRaXhGUVVOQlZDeEZRVU5LTEV0QlFVc3NVVUZCVlN4SFFVVm1MRkZCUkVscFFpeEZRVUZqY0VNc1JVRkJUeXhoUVVOb1FqbHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbHJkVUlzUlVGQllXeDFRaXhKUVVVdlFpeEhRVVJCTUhSQ0xFVkJRVTF5UWl4RlFVRlZMRmxCUVZsUUxFVkJRVkVzUjBGQlR5eExRVUZMTEUxQlFWRkJMRVZCUVU4c1dVRkJZU3hGUVVGSExFdEJRVXNzVFVGQlRTeEZRVU4wUmpSQ0xFVkJRVWtzVDBGQlUzSkNMRVZCUVZVc1IwRkRla0paTEVWQlFVMVRMRVZCUVVrc1NVRkRWaXhMUVVGTExGRkJRVkVzUzBGQlMxUXNRMEZCUnl4TlFVVnlRaXhQUVVkT0xFTkJRVU1zUlVGSFJGb3NSVUZCVlN4alFVRmpMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMRlZCUVZsQkxFVkJRVThzV1VGRE1VSXNRMEZCUXl4RlFVZEVUeXhGUVVGVkxHdENRVUZyUWl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTMEZCU3l4clFrRkJiMEpCTEVWQlFVOHNWMEZCVnl4TFFVRkxMRXRCUVU4c1MwRkJTeXhSUVVGUkxFTkJRM1JGTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEV0QlFVc3NVVUZCVlN4SFFVVm1
1MRkZCUkVsdlF5eEZRVUZqY0VNc1JVRkJUeXhoUVVOb1FpeEZRVUZKTEVWQlFVY3NSVUZCU1c5RExFVkJRV0VzU1VGQlN5eERRVU53UXl4SlFVRkpWeXhGUVVGUkxFTkJRVUVzUlVGRFdpeExRVUZMTEZGQlFWRXNTMEZCUzBFc1EwRkJTeXhGUVVOdVFpeExRVUZMTEZWQlFWa3NSMEZEYmtKQkxFVkJRVTBzYVVKQlFXMUNMME1zUlVGQlR5eGhRVU5vUXl0RExFVkJRVTBzVjBGQllTOURMRVZCUVU4c1kwRkZNVUlyUXl4RlFVRk5MR2xDUVVGdFFpOURMRVZCUVU4c1lVRkRhRU1yUXl4RlFVRk5MRmRCUVdFdlF5eEZRVUZQTEdGQlJUVkNLME1zUlVGQlRTeHRRa0ZCY1VJdlF5eEZRVUZQTEZsQlEyeERLME1zUlVGQlRTeHZRa0ZCYzBJdlF5eEZRVUZQTEZkQlEzQkRMRU5CUTBnc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETDBNc1MwRkJTeXhUUVVGWExFZEJRMnhDTEV0QlFVc3NWVUZCV1VFc1JVRkJUeXhoUVVONFFpeExRVUZMTEd0Q1FVRnZRa0VzUlVGQlR5eGhRVU5vUXl4TFFVRkxMR1ZCUVdsQ1FTeEZRVUZQTEdGQlF6ZENMRXRCUVVzc1IwRkJTMEVzUlVGQlR5eGhRVU5xUWl4TFFVRkxMR05CUVdkQ1FTeEZRVUZQTEdOQlF6VkNMRXRCUVVzc1RVRkJVVUVzUlVGQlR5eG5Ra0ZGY0VJc1MwRkJTeXhqUVVGblFrRXNSVUZCVHl4alFVTTFRaXhMUVVGTExFMUJRVkZCTEVWQlFVOHNZMEZEY0VJc1MwRkJTeXhWUVVGWlFTeEZRVUZQTEdGQlEzaENMRXRCUVVzc2QwSkJRVEJDUVN4RlFVRlBMR0ZCUTNSRExFdEJRVXNzWlVGQmFVSkJMRVZCUVU4c1lVRkROMElzUzBGQlN5eEhRVUZMUVN4RlFVRlBMR05CUlc1Q0xFbEJRVWxuUkN4RlFVRmxMRXRCUVVzc1MwRkJUeXhMUVVGTExGVkJRVmtzUlVGQlNTeEhRVUZMTEV0QlFVc3NZMEZCWXl4UFFVRlRMRWxCUVUwc1MwRkJTeXhOUVVGTkxFOUJRVk1zU1VGRE0wY3NTMEZCU3l4VFFVRlhMRWxCUTJ4Q1FTeEhRVUZuUWl4SFFVVnNRaXhMUVVGTExHRkJRV1ZvUkN4RlFVRlBMR1ZCUVdWblJDeERRVUZaTEVOQlEzaEVMRU5CUVVNc1JVRkhSSHBETEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hKUVVGSmFVUXNSVUZCVjJwRUxFVkJRVThzWlVGQlpTeExRVUZMTEV0QlFVOHNTMEZCU3l4UlFVRlJMRVZCUXpsRUxFZEJRVWtzVDBGQlQxQXNSMEZCTUVJc1NVRkJZU3hEUVVOb1JDeEpRVUZKZVVRc1JVRkJZU3hKUVVGSmVrUXNSMEZEY2tJc1MwRkJTeXhKUVVGTmVVUXNSVUZCVnl4dFFrRkJiVUlzU1VGQlNXaElMRVZCUVZjclJ5eEZRVUZUTEU5QlFWRXNSVUZCUnk5SExFVkJRVmNzVlVGQlZTeERRVUZETEVOQlEyNUhMRU5CUTBnc1EwRkJReXhGUVVkRWNVVXNSVUZCVlN4alFVRmpMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMRmRCUVdGQkxFVkJRVThzV1VGRGVrSXNTMEZCU3l4alFVRm5Ra0VzUlVGQlR5eFhRVU01UWl4RFFVRkRMRVZCUjBSUExFVkJRVlVzWTBGQll5eFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRMME1zUzBGQlN5eFpRVUZqUVN4RlFVRlBMRmRCUVZjc1EwRkJReXhEUVVONFF5eERRVUZETEVWQlIwUlBMRVZCUVZVc1kwRkJZeXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETDBNc1NVRkJTVzFETEVWQlFWVXNTMEZCU3l4TFFVRlBMRXRCUVVzc1UwRkRMMElzUzBGQlN5eFpRVUZqYmtNc1JVRkJUeXhYUVVGWExFTkJRVU1zUlVGRGRFTXNTMEZCU3l4alFVRm5Ra0VzUlVGQlR5eGhRVU0xUW0xRExFZEJRVmNzUlVGRFdDeExRVUZMTEd0Q1FVRnZRaXhIUVVWNlFpeFJRVVJKTEVWQlFVa3NSVUZEUkVFc1IwRkJWeXhIUVVOb1FpeExRVUZMTEd0Q1FVRnJRaXhEUVVGRExFVkJRVWx1UXl4RlFVRlBMRmRCUVZjc1EwRkJReXhGUVVNdlEyMURMRWRCUVZjc1JVRkRXQ3hIUVVWS0xFTkJRVU1zUlVGSFJEVkNMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVNdlF5eExRVUZMTEZWQlFWa3NTVUZEYmtKQkxFVkJRVThzVjBGQlZTeEZRVU5xUWl4TFFVRkxMRkZCUVZWQkxFVkJRVThzVjBGQlZ5eERRVUZETEVWQlEyeERRU3hGUVVGUExHZENRVUZuUWl4RFFVRkRMRVZCUTNoQ0xFdEJRVXNzUzBGQlQwRXNSVUZCVHl4WFFVRlhMRXRCUVVzc1MwRkJUeXhMUVVGTExGTkJRVmNzUlVGQlJTeEZRVU40UkN4TFFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExFOUJRVk1zUTBGQlF5eEpRVUZOTEU5QlEzUkRMRXRCUVVzc1MwRkJUeXhMUVVGTExFdEJRVXNzVFVGQlRTeEZRVUZITEVWQlFVVXNSMEZIZGtNc1EwRkJReXhGUVVkRVR5eEZRVUZWTEdOQlFXTXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJReTlETEVsQlFVazVja0lzUlVGQlIzbEhMRVZCUlVnelJpeEZRVU5CYlhWQ0xFVkJRMG9zUzBGQlN5eHhRa0ZCZFVKdVJDeEZRVUZQTEZsQlEyNURiVVFzUlVGQlYyNUVMRVZCUVU4c1dVRkRiRUlzUzBGQlN5eHpRa0ZCZDBKdFJDeEhRVUZaTEVWQlEzcERMRXRCUVVzc2JVSkJRWEZDUVN4RlFVRlhMRXRCUVZNc1JVRkRPVU1zUzBGQlN5eHZRa0ZCZFVKQkxFVkJRVmNzUjBGRGRrTXNTMEZCU3l3NFFrRkJaME51UkN4RlFVRlBMR0ZCUXpWRExFdEJRVXNzTmtKQlFTdENRU3hGUVVGUExHVkJRV1VzUTBGQlF5eEZRVU16UkN4TFFVRkxMR3RDUVVGdlFrRXNSVUZCVHl4WlFVTm9ReXhMUVVGTExEWkNRVUVyUWtFc1JVRkJUeXhYUVVGVkxFVkJRVXNzUzBGRE1VUXNTMEZCU3l4blFrRkJiVUpCTEVWQlFVOHNWVUZCVnl4RlFVRkhMRVZCUXpkRExFdEJRVXNzYTBKQlFYRkNRU3hGUVVGUExGVkJRVmNzUlVGQlJ5eEZRVU12UXl4TFFVRkxMSE5DUVVGNVFrRXNSVUZCVHl4VlFVRlhMRVZCUVVjc1JVRkRia1FzUzBGQlN5eDNRa0ZCTWtKQkxFVkJRVThzVlVGQlZ5eEZRVUZITEVWQlEzSkVMRXRCUVVzc1lVRkJaVUVzUlVGQlR5eGhRVU16UW0xRUxFVkJRVmR1UkN4RlFVRlBMRmxCUTJ4Q0xFdEJRVXNzYTBKQlFYRkNiVVFzUjBGQldTeEZRVU4wUXl4TFFVRkxMRzFDUVVGeFFrRXNSVUZCVnl4TFFVRlJMRVZCUXpkRExFdEJRVXNzYTBKQlFXOUNRU3hGUVVGWExFbEJRVkVzUlVGRE5VTXNTMEZCU3l4dFFrRkJjMEpCTEVWQlFWY3NSVUZGZEVNc1MwRkJTeXhaUVVGakxFZEJRMjVDTEVsQlFVbERMRVZCUVdOd1JDeEZRVUZQTEZsQlEzcENMRWxCUVVzNWNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmEzWkNMRVZCUVdGc2RrSXNTVUZCU3l4RFFVTm9ReXhKUVVGSmJYWkNMRVZCUVdFc1EwRkJRU3hGUVVOcVFpeExRVUZMTEZsQlFWa3NTMEZCUzBFc1EwRkJWU3hGUVVOb1EwWXNSVUZCVjI1RUxFVkJRVThzV1VGRGJFSnhSQ3hGUVVGWExHTkJRV2RDUml4RlFVRlhMRTFCUVZNc1JVRkRMME5GTEVWQlFWY3NWVUZCV1VZc1JVRkJWeXhIUVVOc1F5eEpRVUZKUnl4RlFVRlhkRVFzUlVGQlR5eGhRVU4wUWl4SlFVRkxjbXhDTEVWQlFVa3NSVUZCUjBFc1JVRkJTVEp2UWl4RlFVRlZNMjlDTEVsQlFVc3NRMEZETjBJc1NVRkJTVFJ2UWl4RlFVRlBMRU5CUVVFc1JVRkRXRVlzUlVGQlZ5eExRVUZMUlN4RFFVRkpMRVZCUTNCQ2RuVkNMRVZCUVZObmNrSXNSVUZCVHl4aFFVTm9RblZFTEVWQlFVc3NTMEZCVDNaRUxFVkJRVThzWlVGQlpXaHlRaXhEUVVGTkxFTkJRM3BETEVOQlEwWXNRMEZEU0N4RFFVRkRMRVZCUjBSMWNrSXNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWswUWl4RlFVTkJMRXRCUVVzc1
1ZVRkJXU3hGUVVOdVFpeExRVUZMTEZsQlFXTTFRaXhGUVVGUExHRkJSVEZDTEV0QlFVc3NXVUZCWTBFc1JVRkJUeXhoUVVVMVFpeExRVUZMTEZkQlFXRXNSMEZEYkVJc1VVRkJVeXhGUVVGSkxFVkJRVWNzUlVGQlNTeExRVUZMTEZsQlFXRXNTVUZGY0VNc1IwRkVRVFJDTEVWQlFVMXlRaXhGUVVGVkxGbEJRVmxRTEVWQlFWRXNSMEZCVHl4TFFVRkxMRTFCUVZGQkxFVkJRVThzV1VGQllTeEZRVUZITEV0QlFVc3NUVUZCVFN4RlFVTjBSalJDTEVWQlFVa3NUMEZCVTNKQ0xFVkJRVlVzUjBGRGNrSnhRaXhGUVVGSkxFbEJRVWtzVDBGQlV5eFJRVU51UW1wSUxFVkJRVWtzVFVGQlRTeFpRVUZoTERSQ1FVRTRRbWxJTEVWQlFVa3NTVUZCU1N4SlFVRkpMRVZCUlc1RkxFdEJRVXNzVjBGQlZ5eERRVUZETEVWQlFVbEJMRVZCUVVrc1VVRkZla0lzVDBGSFRpeERRVUZETEVWQlIwUnlRaXhGUVVGVkxHdENRVUZyUWl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTVUZCU1hkRUxFVkJRMHBCTEVWQlFVOTRSQ3hGUVVGUExGbEJRMlFzUzBGQlN5eFpRVUZsZDBRc1IwRkJVU3hGUVVGTExFZEJRMnBETEV0QlFVc3NXVUZCWTBFc1JVRkJUeXhIUVVNeFFrRXNSVUZCVDNoRUxFVkJRVThzV1VGRFpDeExRVUZMTEdsQ1FVRnZRbmRFTEVkQlFWRXNSVUZCU3l4SFFVTnNReXhMUVVGTExGVkJRVmtzUjBGQlN5eExRVUZMTEZWQlFWa3NSVUZEZWtNc1MwRkJTeXhYUVVGaFFTeEZRVUZQTEVkQlJYcENMRXRCUVVzc1YwRkJZU3hGUVVkd1FpeExRVUZMTEUxQlFWRXNSMEZEWWl4SlFVRkpReXhGUVVGaExFVkJRMnBDTEVkQlFVa3NTMEZCU3l4UlFVRlZMRVZCUTJwQ1FTeEZRVUZoZWtRc1JVRkJUeXh4UWtGRFdDeExRVUZMTEZWQlFWa3NSVUZETVVKNVJDeEZRVUZoZWtRc1JVRkJUeXhwUWtGRmNFSXNUVUZCVFN4dlEwRkZVaXhSUVVGVE9YSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNYVjJRaXhGUVVGWmRuWkNMRWxCUVVzc1EwRkRia01zU1VGQlNXbFhMRVZCUVU4c1EwRkJRU3hGUVVWWUxFZEJSRUVzUzBGQlN5eE5RVUZOTEV0QlFVdEJMRU5CUVVrc1JVRkRhRUlzUzBGQlN5eFJRVUZWTEVWQlEycENRU3hGUVVGTExGRkJRVlUyVml4RlFVRlBMSEZDUVVOaUxFdEJRVXNzVlVGQldTeEZRVU14UWpkV0xFVkJRVXNzVVVGQlZUWldMRVZCUVU4c2FVSkJSWFJDTEUxQlFVMHNiME5CVVZJc1QwRk9TU3hMUVVGTExGVkJRVmtzUjBGQlN5eExRVUZMTEZWQlFWa3NSVUZEZWtNM1ZpeEZRVUZMTEc5Q1FVRjFRalpXTEVWQlFVOHNWMEZCV1N4RlFVRkhMRWRCUld4RU4xWXNSVUZCU3l4dlFrRkJjMElzUlVGRk4wSkJMRVZCUVVzc2NVSkJRWFZDTmxZc1JVRkJUeXhoUVVNelFpeExRVUZMTEdsQ1FVRm5RaXhEUVVNelFpeEpRVUZMTEVkQlEwZzNWaXhGUVVGTExGbEJRV01zUlVGRGJrSXNUVUZEUml4SlFVRkxMRWRCUTBoQkxFVkJRVXNzV1VGQll6WldMRVZCUVU4c1lVRkRNVUlzVFVGRFJpeEpRVUZMTEVkQlEwZzNWaXhGUVVGTExGbEJRV00yVml4RlFVRlBMR0ZCUXpGQ0xFMUJRMFlzVVVGRFJTeExRVUZOTEdkRFFVTlVMRU5CUTBRc1NVRkJTVEJFTEVWQlFXVXhSQ3hGUVVGUExHRkJRekZDTjFZc1JVRkJTeXhSUVVGVkxFZEJRMllzVVVGQlUzaFFMRVZCUVVrc1JVRkJSMEVzUlVGQlNTdHZRaXhGUVVGakwyOUNMRWxCUVVzc1EwRkRja01zU1VGQlNXZHdRaXhGUVVGVExFTkJRVUVzUlVGRllpeEhRVVJCZUZvc1JVRkJTeXhSUVVGUkxFdEJRVXQzV2l4RFFVRk5MRVZCUTNCQ0xFdEJRVXNzVlVGQldTeEhRVUZMTEV0QlFVc3NWVUZCV1N4RlFVTjZReXhQUVVGUkxFdEJRVXNzVjBGQlZTeERRVU55UWl4SlFVRkxMRWRCUTBoQkxFVkJRVThzWVVGQlpTeEZRVU4wUWl4TlFVTkdMRWxCUVVzc1IwRkRTRUVzUlVGQlR5eGhRVUZsTTBRc1JVRkJUeXhoUVVNM1FpeE5RVU5HTEVsQlFVc3NSMEZEU0RKRUxFVkJRVThzWVVGQlpUTkVMRVZCUVU4c1lVRkROMElzVFVGRFJpeFJRVU5GTEV0QlFVMHNORUpCUTFRc1EwRkZTQ3hQUVVGUkxFdEJRVXNzV1VGQlZ5eERRVU4wUWl4SlFVRkxMRWRCUTBneVJDeEZRVUZQTEdOQlFXZENMRVZCUTNaQ0xFMUJRMFlzU1VGQlN5eEhRVU5JUVN4RlFVRlBMR05CUVdkQ00wUXNSVUZCVHl4aFFVTTVRaXhOUVVOR0xFbEJRVXNzUjBGRFNESkVMRVZCUVU4c1kwRkJaMEl6UkN4RlFVRlBMR0ZCUXpsQ0xFMUJRMFlzVVVGRFJTeExRVUZOTERSQ1FVTlVMRU5CUTBRc1QwRkJVU3hMUVVGTExGbEJRVmNzUTBGRGRFSXNTVUZCU3l4SFFVTklNa1FzUlVGQlR5eGpRVUZuUWl4RlFVTjJRaXhOUVVOR0xFbEJRVXNzUjBGRFNFRXNSVUZCVHl4alFVRm5Rak5FTEVWQlFVOHNZVUZET1VJc1RVRkRSaXhKUVVGTExFZEJRMGd5UkN4RlFVRlBMR05CUVdkQ00wUXNSVUZCVHl4aFFVTTVRaXhOUVVOR0xGRkJRMFVzUzBGQlRTdzBRa0ZEVkN4RFFVTkdMRU5CUTBZc1EwRkRTQ3hEUVVGRExFVkJSMFJQTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTVUZCU1RkRExFVkJRVTAyUXl4RlFVRlBMRmxCUTJwQ0xFdEJRVXNzVTBGQlZ6ZERMRWRCUVU4c1JVRkRka0lzUzBGQlN5eExRVUZQUVN4RlFVRk5MRU5CUTNCQ0xFTkJRVU1zUlVGRFJHOUVMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVZGdVJDeEpRVkJKTEV0QlFVc3NWVUZCV1N4SFFVRkxMRXRCUVVzc1ZVRkJXU3hMUVVONlF5eExRVUZMTEZGQlFWVkJMRVZCUVU4c1lVRkRkRUlzUzBGQlN5eHpRa0ZCZDBKQkxFVkJRVThzWVVGRGNFTXNTMEZCU3l4VlFVRlpRU3hGUVVGUExHTkJRM2hDTEV0QlFVc3NZVUZCWlVFc1JVRkJUeXhqUVVNelFpeExRVUZMTEdsQ1FVRnRRa0VzUlVGQlR5eGxRVVUzUWl4TFFVRkxMRlZCUVZrc1JVRkJSeXhEUVVOMFFpeExRVUZMTEdWQlFXbENRU3hGUVVGUExGZEJRVmNzUTBGQlF5eEZRVU42UTNKR0xFVkJRVWtzUzBGQlN5eFpRVUZoTERaQ1FVRTJRaXhGUVVOdVJIRkdMRVZCUVU4c1MwRkJTeXhMUVVGTExFMUJRVkVzUzBGQlN5eEpRVUZKTEVWQlEyeERMRTFCUTBRc1EwRkRSeXhMUVVGTExGTkJRVmNzU1VGRFpDeExRVUZMTEZWQlFWa3NSVUZEYmtJc1MwRkJTeXhSUVVGVlFTeEZRVUZQTEdGQlEySXNTMEZCU3l4VlFVRlpMRWxCUXpGQ0xFdEJRVXNzVVVGQlZVRXNSVUZCVHl4alFVVjRRaXhMUVVGTE
1xITkNRVUYzUWtFc1JVRkJUeXhoUVVOd1F5eExRVUZMTEZWQlFWbEJMRVZCUVU4c1YwRkJWeXhEUVVGRExFVkJRM0JETEV0QlFVc3NWVUZCV1VFc1JVRkJUeXhqUVVOd1FpeExRVUZMTEZsQlFXTXNVVUZEY2tJc1MwRkJTeXhoUVVGbFFTeEZRVUZQTEdOQlF6TkNMRXRCUVVzc2FVSkJRVzFDUVN4RlFVRlBMR1ZCUTNSQ0xFdEJRVXNzV1VGQll5eFRRVU0xUWl4TFFVRkxMR05CUVdkQ1FTeEZRVUZQTEdWQlIyeERMRU5CUVVNc1JVRkZSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRWxCUVVrNWNrSXNSVUZCUjNsSExFVkJRMGg1YmtJc1JVRkJZM0JETEVWQlFVOHNZVUZGZWtJc1NVRkVRU3hMUVVGTExHRkJRV1VzUjBGRFpqbHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbHJkVUlzUlVGQllXeDFRaXhKUVVGTExFTkJRMmhETEVsQlFVa3dka0lzUlVGQllTeERRVUZCTEVWQlEycENMRXRCUVVzc1lVRkJZU3hMUVVGTFFTeERRVUZWTEVWQlF6ZENMRXRCUVVzc1VVRkJWU3hGUVVOcVFrRXNSVUZCVnl4SFFVRkxOVVFzUlVGQlR5eGhRVVYyUWpSRUxFVkJRVmNzUjBGQlN6VkVMRVZCUVU4c1lVRkZla0lzU1VGQlNUWkVMRVZCUVc5Q04wUXNSVUZCVHl4WlFVVXZRaXhKUVVSQk5FUXNSVUZCVnl4TlFVRlJMRWRCUTJScWNFSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmEzQkNMRVZCUVcxQ2JIQkNMRWxCUVVzc1EwRkRkRU1zU1VGQlNYZHBRaXhGUVVGTk5rTXNSVUZCVHl4WlFVTmlhazBzUlVGQlNTeERRVUZCTEVWQlExSTJVQ3hGUVVGWExFMUJRVTBzUzBGQlN6ZFFMRU5CUVVNc1JVRkRka0pCTEVWQlFVVXNWMEZCWTI5S0xFVkJRVTBzVFVGQlV5eEpRVUZQTEVWQlEyeERMRXRCUVVzc1RVRkJVU3hGUVVObWNFb3NSVUZCUlN4blFrRkJhMEp2U2l4RlFVRk5MRTFCUVZNc1JVRkJTVFpETEVWQlFVOHNXVUZGT1VOcVRTeEZRVUZGTEdWQlFXdENiMG9zUlVGQlRTeEhRVVUzUWl4RFFVTkdMRU5CUTBnc1EwRkJReXhGUVVkRWIwUXNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWswUWl4RlFVVkJWQ3hGUVVkS0xFbEJSa0VzUzBGQlN5eFhRVUZoTEVkQlJWaHVRaXhGUVVGUExGbEJRV0VzUlVGQlJ5eExRVUZMTEUxQlFWRXNTMEZCU3l4TlFVVTVReXhIUVVSQk5FSXNSVUZCVFhKQ0xFVkJRVlVzV1VGQldWQXNSVUZCVVN4SFFVRk5MRXRCUVVzc1RVRkJVVUVzUlVGQlR5eFpRVUZoTEVWQlFVY3NTMEZCU3l4TlFVRk5MRVZCUTNKR05FSXNSVUZCU1N4UFFVRlRja0lzUlVGQlZTeEhRVU55UWl4TFFVRkxMRlZCUVZrc1JVRkRia0paTEVWQlFVMHNTVUZCU1Zvc1JVRkJWU3d5UWtGQk1rSnhRaXhGUVVGSkxFdEJRVTFCTEVWQlFVa3NTMEZCVFVFc1JVRkJTU3hUUVVGVlFTeEZRVUZKTEV0QlFVc3NSVUZGTVVaVUxFVkJRVTBzU1VGQlNWb3NSVUZCVlN4blEwRkJaME54UWl4RlFVRkpMRXRCUVUxQkxFVkJRVWtzUzBGQlRVRXNSVUZCU1N4VFFVRlZRU3hGUVVGSkxFdEJRVXNzUlVGRk4wWlVMRVZCUVVrc1VVRkJWVm9zUlVGQlZTeEpRVUZKTEZWQlFWVXNUMEZCVTFrc1JVRkJTU3hQUVVGVExGTkJRemxFZUVjc1JVRkJTU3hMUVVGTExGbEJRV0YzUnl4RlFVRkpMRXRCUVU4c2JVWkJRVzFHTEVWQlEzQklRU3hGUVVGSkxHMUNRVUZ0UW01Q0xFTkJRVTBzUjBGRkwwSnRRaXhGUVVGSkxFMUJRVTF1UWl4RFFVRk5MRVZCUTJoQ0xFdEJRVXNzVjBGQlZ5eExRVUZMYlVJc1EwRkJSeXhOUVVWNFFpeFBRVWRPTEVOQlFVTXNSVUZGUkZvc1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExFMUJRVkZCTEVWQlFVOHNWVUZCVXl4RlFVRkxMRU5CUTNCRExFTkJRVU1zUlVGSFJFOHNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFdEJRVXNzV1VGQlkwRXNSVUZCVHl4aFFVTXhRaXhMUVVGTExHRkJRV1ZCTEVWQlFVOHNXVUZETjBJc1EwRkJReXhGUVVORVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1MwRkJTeXhWUVVGWlFTeEZRVUZQTEdOQlEzaENMRXRCUVVzc1RVRkJVVUVzUlVGQlR5eGhRVU4wUWl4RFFVRkRMRVZCUlVSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4SlFVRkpPRVFzUlVGQlVUbEVMRVZCUVU4c1dVRkRia0lzUzBGQlN5eFBRVUZUTEVkQlEyUXNVVUZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTVGhFTEVWQlFVOHNTVUZCU3l4RFFVTTVRaXhKUVVGSmJGTXNSVUZCVVN4RFFVRkJMRVZCUTFvc1MwRkJTeXhQUVVGUExFTkJRVU1zUlVGQlNVRXNSVUZEYWtKQkxFVkJRVTBzVTBGQlYyOVBMRVZCUVU4c1lVRkRlRUlzU1VGQlNXMUVMRVZCUVZkdVJDeEZRVUZQTEZsQlIzUkNMRTlCUmtGd1R5eEZRVUZOTEdGQlFXVjFVaXhIUVVGWkxFVkJRMnBEZGxJc1JVRkJUU3huUWtGQmEwSjFVaXhGUVVGWExFbEJRek5DZGxJc1JVRkJUU3huUWtGQlpTeERRVU16UWl4SlFVRkxMRWRCUTBoQkxFVkJRVTBzWTBGQlowSnZUeXhGUVVGUExGZEJRVmNzUTBGQlF5eEZRVU42UXl4TlFVTkdMRWxCUVVzc1IwRkRTSEJQTEVWQlFVMHNZMEZCWjBKdlR5eEZRVUZQTEZkQlFWY3NRMEZCUXl4RlFVTjZRM0JQTEVWQlFVMHNkMEpCUVRCQ2IwOHNSVUZCVHl4aFFVTjJReXhOUVVOR0xFbEJRVXNzUjBGRFNDeE5RVU5HTEVsQlFVc3NSMEZEU0N4TlFVTkdMRWxCUVVzc1IwRkRTSEJQTEVWQlFVMHNZVUZCWlc5UExFVkJRVThzWVVGRE5VSXNUVUZEUml4UlFVTkZja1lzUlVGQlNTeExRVUZMTEZsQlFXRXNLMEpCUVN0Q0xFTkJRM2hFTEVOQlEwWXNRMEZEU0N4RFFVRkRMRVZCUjBRMFJpeEZRVUZWTEdOQlFXTXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJReTlETEV0QlFVc3NVMEZCVjBFc1JVRkJUeXhaUVVONlFpeERRVUZETEVWQlEwUlBMRVZCUVZVc1kwRkJZeXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETDBNc1MwRkJTeXhQUVVGVFFTeEZRVUZQTEdGQlEzSkNMRXRCUVVzc1RVRkJVVUVzUlVGQlR5eFpRVU4wUWl4RFFVRkRMRVZCUjBSUExFVkJRVlVzWTBGQll5eFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRMME1zUzBGQlN5eHJRa0ZCYjBJc1IwRkRla0lzUzBGQlN5eHJRa0ZCYTBJc1EwRkJReXhGUVVGSkxFZEJRelZDTEV0QlFVc3NhMEpCUVd0Q0xFTkJRVU1zUlVGQlJTeEZRVUZKUVN4RlFVRlBMR0ZCUTNKRExFdEJRVXNzYTBKQlFXdENMRU5CUVVNc1JVRkJSU3hGUVVGSlFTeEZRVUZQTEdGQlEzSkRMRXRCUVVzc2EwSkJRV3RDTEVOQlFVTXNSVUZCU1N4SFFVTTFRaXhMUVVGTE
1xHdENRVUZyUWl4RFFVRkRMRVZCUVVVc1JVRkJTVUVzUlVGQlR5eGhRVU55UXl4TFFVRkxMR3RDUVVGclFpeERRVUZETEVWQlFVVXNSVUZCU1VFc1JVRkJUeXhoUVVOeVF5eExRVUZMTEd0Q1FVRnJRaXhEUVVGRExFVkJRVWtzUjBGRE5VSXNTMEZCU3l4clFrRkJhMElzUTBGQlF5eEZRVUZGTEVWQlFVbEJMRVZCUVU4c1lVRkRja01zUzBGQlN5eHJRa0ZCYTBJc1EwRkJReXhGUVVGRkxFVkJRVWxCTEVWQlFVOHNZVUZEY2tNc1MwRkJTeXhaUVVGakxFZEJRMjVDTEV0QlFVc3NXVUZCV1N4RlFVRkpRU3hGUVVGUExGZEJRVlVzUlVGRGRFTXNTMEZCU3l4WlFVRlpMRVZCUVVsQkxFVkJRVThzVjBGQlZTeEZRVU4wUXl4TFFVRkxMR2REUVVGclEwRXNSVUZCVHl4aFFVTTVReXhMUVVGTExHZERRVUZyUTBFc1JVRkJUeXhaUVVOb1JDeERRVUZETEVWQlIwUlBMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVNdlF5eExRVUZMTEZOQlFWY3NSMEZEYkVJc1MwRkJTeXhqUVVGblFrRXNSVUZCVHl4aFFVTTFRaXhMUVVGTExHdENRVUZ2UWtFc1JVRkJUeXhoUVVOb1F5eExRVUZMTEZWQlFWbEJMRVZCUVU4c1lVRkRlRUlzUzBGQlN5eFRRVUZYUVN4RlFVRlBMR1ZCUlhaQ0xFdEJRVXNzWTBGQlowSkJMRVZCUVU4c1lVRkROVUlzUzBGQlN5eHJRa0ZCYjBKQkxFVkJRVThzWVVGRGFFTXNTMEZCU3l4VlFVRlpRU3hGUVVGUExHRkJRM2hDTEV0QlFVc3NVMEZCVjBFc1JVRkJUeXhqUVVWNlFpeExRVUZMTEdOQlFXTkJMRU5CUVUwc1JVRkRla0pCTEVWQlFVOHNWMEZCVlN4RFFVTnVRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExFMUJRVkVzU1VGRFpuSkdMRVZCUVVrc1MwRkJTeXhaUVVGaExHMUZRVUZ0UlN4RlFVTjZSaXhMUVVGTExGRkJRVlVzUjBGRllpeExRVUZMTEZOQlFWY3NSVUZEYkVJc1MwRkJTeXhyUWtGQmIwSnhSaXhGUVVGUExHRkJSV2hETEV0QlFVc3NhMEpCUVc5Q1FTeEZRVUZQTEZsQlJYQkRMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1RVRkJVU3hIUVVOaVR5eEZRVUZWTEdGQlFXRXNWVUZCVlN4TlFVRk5MRXRCUVVzc1MwRkJUVkFzUTBGQlRTeERRVU14UkN4RFFVRkRMRVZCUlVSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4TFFVRkxMR2RDUVVGclFrRXNSVUZCVHl4WlFVTm9ReXhEUVVGRExFVkJSMFJQTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hMUVVGTExFMUJRVkZCTEVWQlFVOHNXVUZEZEVJc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETDBNc1MwRkJTeXhUUVVGWExFZEJRMnhDTEV0QlFVc3NZMEZCWjBKQkxFVkJRVThzWVVGRE5VSXNTMEZCU3l4clFrRkJiMEpCTEVWQlFVOHNZVUZEYUVNc1MwRkJTeXhWUVVGWlFTeEZRVUZQTEdGQlEzaENMRXRCUVVzc1UwRkJWMEVzUlVGQlR5eGxRVVYyUWl4TFFVRkxMR05CUVdkQ1FTeEZRVUZQTEdGQlF6VkNMRXRCUVVzc2EwSkJRVzlDUVN4RlFVRlBMR0ZCUTJoRExFdEJRVXNzVlVGQldVRXNSVUZCVHl4aFFVTjRRaXhMUVVGTExGTkJRVmRCTEVWQlFVOHNZMEZGZWtJc1MwRkJTeXhMUVVGUFFTeEZRVUZQTEdGQlEyNUNMRXRCUVVzc1QwRkJVMEVzUlVGQlR5eFhRVUZWTEVkQlFVMHNSVUZEY2tOQkxFVkJRVThzVjBGQlZTeEZRVU5xUWtFc1JVRkJUeXhuUWtGQlowSXNRMEZCUXl4RlFVTjRRaXhMUVVGTExFOUJRVk5CTEVWQlFVOHNaMEpCUVdkQ0xFTkJRVU1zUlVGRGRFTkJMRVZCUVU4c1owSkJRV2RDTEVOQlFVTXNSVUZEZUVJc1MwRkJTeXhqUVVGblFrRXNSVUZCVHl4WlFVTTVRaXhEUVVGRExFVkJSVVJQTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTMEZCU3l4WlFVRmpRU3hGUVVGUExGbEJRelZDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExGbEJRV05CTEVWQlFVOHNXVUZETlVJc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1NVRkJTU3RFTEVWQlFXVXZSQ3hGUVVGUExHRkJRekZDTEV0QlFVc3NVVUZCVlN4SFFVTm1MRkZCUVZNc1JVRkJTU3hGUVVGSExFVkJRVWtzUzBGQlN5eFBRVUZQSzBRc1JVRkJaU3hIUVVGTExFTkJRVU1zUlVGQlJ5eEpRVU4wUkN4TFFVRkxMRkZCUVZVdlJDeEZRVUZQTEZkQlJURkNMRU5CUVVNc1JVRkhSRThzUlVGQlZTeGpRVUZqTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVNdlF5eExRVUZMTEZOQlFWZEJMRVZCUVU4c1lVRkRka0lzUzBGQlN5eFRRVUZYUVN4RlFVRlBMRmxCUTNwQ0xFTkJRVU1zUlVGRFJFOHNSVUZCVlN4alFVRmpMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMRXRCUVU5QkxFVkJRVThzVjBGQlZ5eExRVUZMTEV0QlFVOHNTMEZCU3l4UlFVRlJMRU5CUTNwRUxFTkJRVU1zUlVGSFJFOHNSVUZCVlN4alFVRmpMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMRlZCUVZsQkxFVkJRVThzWVVGRGVFSXNTVUZCU1RoRUxFVkJRVkU1UkN4RlFVRlBMRmxCUTI1Q0xFdEJRVXNzWTBGQlowSkJMRVZCUVU4c1YwRkJWemhFTEVOQlFVc3NRMEZET1VNc1EwRkJReXhGUVVkRWRrUXNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWs0UkN4SFFVRlRMRXRCUVVzc1MwRkJUeXhMUVVGTExGVkJRVmtzUlVGRE1VTXNTMEZCU3l4TFFVRlBMRWRCUTFvc1MwRkJTeXhqUVVGblFpeEhRVU55UWl4UlFVRlRMRVZCUVVrc1JVRkJSeXhGUVVGSlFTeEZRVUZQTEVsQlEzcENMRXRCUVVzc1MwRkJTeXhEUVVGRExFVkJRVWs1UkN4RlFVRlBMRmRCUVZVc1JVRkRhRU1zUzBGQlN5eGpRVUZqTEVOQlFVTXNSVUZCU1VFc1JVRkJUeXhYUVVGVkxFTkJSVGRETEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJReTlETEV0QlFVc3NWVUZCV1N4RlFVTnVRaXhMUVVGTE
1xGRkJRVlZCTEVWQlFVOHNZVUZGZEVJc1MwRkJTeXhSUVVGVlFTeEZRVUZQTEZsQlJURkNMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRWxCUVVrNWNrSXNSVUZIU2l4SlFVWkJMRXRCUVVzc1lVRkJaVGh5UWl4RlFVRlBMRmxCUXpOQ0xFdEJRVXNzYTBKQlFXOUNMRWRCUTNCQ09YSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEdGQlFXTkJMRWxCUTJwRExFdEJRVXNzYTBKQlFXdENRU3hEUVVGRExFVkJRVWs0Y2tJc1JVRkJUeXhWUVVGVExFTkJSV2hFTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExFMUJRVkZCTEVWQlFVOHNXVUZEZEVJc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1MwRkJTeXhoUVVGbFFTeEZRVUZQTEdGQlF6TkNMRXRCUVVzc1kwRkJaMEpCTEVWQlFVOHNZVUZEZUVJc1MwRkJTeXhWUVVGWkxFVkJRMjVDTEV0QlFVc3NWMEZCWVVFc1JVRkJUeXhoUVVWNlFpeExRVUZMTEZkQlFXRkJMRVZCUVU4c1dVRkZOMElzUTBGQlF5eEZRVWRFVHl4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkZia1FzUjBGRVFTeExRVUZMTEZWQlFWbFBMRVZCUVZVc1YwRkJWMUFzUTBGQlRTeEZRVU40UXl4TFFVRkxMRkZCUVZVc1JVRkJSeXhEUVVOd1FpeEpRVUZKT0VRc1JVRkJVVGxFTEVWQlFVOHNZVUZEYmtJc1MwRkJTeXhKUVVGTkxFZEJRMWdzVVVGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1RoRUxFVkJRVThzU1VGRGVrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1JVRkJTWFpFTEVWQlFWVXNWMEZCVjFBc1EwRkJUU3hEUVVVMVF5eERRVU5FTEVsQlFVbG5SU3hGUVVGWGFFVXNSVUZCVHl4aFFVTnNRbWRGTEVWQlFWY3NTVUZEWWl4TFFVRkxMRXRCUVU5b1JTeEZRVUZQTEdWQlFXVm5SU3hEUVVGUkxFVkJSVGxETEVOQlFVTXNSVUZIUkhwRUxFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4TFFVRkxMRTFCUVZGQkxFVkJRVThzWVVGRGNFSXNTMEZCU3l4UFFVRlRRU3hGUVVGUExGbEJRM1pDTEVOQlFVTXNSVUZEUkU4c1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEV0QlFVc3NUVUZCVVVFc1JVRkJUeXhoUVVOd1FpeExRVUZMTEU5QlFWTkJMRVZCUVU4c1dVRkRka0lzUTBGQlF5eEZRVU5FVHl4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzUzBGQlN5eE5RVUZSUVN4RlFVRlBMR0ZCUTNCQ0xFdEJRVXNzVDBGQlUwRXNSVUZCVHl4WlFVTjJRaXhEUVVGRExFVkJRMFJQTEVWQlFWVXNkVUpCUVhWQ0xFOUJRVkVzUzBGQlRTeERRVUZETEU5QlFWRXNUMEZCVVN4TlFVRk5MRU5CUVVNc1JVRkRka1ZCTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTMEZCU3l4clFrRkJiMEpCTEVWQlFVOHNWMEZCVnl4RFFVRkRMRVZCUXpWRExFdEJRVXNzVVVGQlZVRXNSVUZCVHl4WFFVRlhMRXRCUVVzc1MwRkJUeXhMUVVGTExGTkJRVmNzUTBGQlF5eERRVU5vUlN4RFFVRkRMRVZCUjBSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMRTFCUVZFc1NVRkRaaXhMUVVGTExHTkJRV2RDUVN4RlFVRlBMR0ZCUXpWQ0xFdEJRVXNzZDBKQlFUQkNRU3hGUVVGUExHTkJSWGhETEVsQlFVazRSQ3hGUVVGUk9VUXNSVUZCVHl4aFFVTnVRaXhMUVVGTExFOUJRVk1zUjBGRFpDeFJRVUZUTEVWQlFVa3NSVUZCUnl4RlFVRkpPRVFzUlVGQlR5eEpRVU55UWl4TFFVRkxMRlZCUVZrc1JVRkRia0lzUzBGQlN5eFBRVUZQTEVOQlFVTXNSVUZCU1RsRUxFVkJRVThzVjBGQlZTeEZRVVZzUXl4TFFVRkxMRTlCUVU4c1EwRkJReXhGUVVGSlFTeEZRVUZQTEZkQlFWVXNRMEZIZUVNc1EwRkJReXhGUVVWRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETDBNc1MwRkJTeXhOUVVGUkxFbEJRMllzUzBGQlN5eGpRVUZuUWtFc1JVRkJUeXhoUVVNMVFpeExRVUZMTEhkQ1FVRXdRa0VzUlVGQlR5eGpRVVY0UXl4TFFVRkxMSGxDUVVFeVFrRXNSVUZCVHl4WlFVTjJReXhKUVVGSk9FUXNSVUZCVVRsRUxFVkJRVThzWVVGRmJrSXNSMEZFUVN4TFFVRkxMR2xDUVVGdFFpeEhRVU53UWl4TFFVRkxMREpDUVVFMlFpeEZRVU53UXl4UlFVRlRMRVZCUVVrc1JVRkJSeXhGUVVGSk9FUXNSVUZCVHl4SlFVTjZRaXhMUVVGTExHbENRVUZwUWl4RFFVRkRMRVZCUVVrNVJDeEZRVUZQTEZWQlFWTXNRMEZIYWtRc1EwRkJReXhGUVVkRVR5eEZRVUZWTEhOQ1FVRnpRa0VzUlVGQlZTd3lRa0ZCTkVJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlF6ZEdMRXRCUVVzc1dVRkJXVUVzUTBGQlRTeEZRVU4yUWl4TFFVRkxMR2xDUVVGdFFrRXNSVUZCVHl4alFVTXZRaXhMUVVGTExGbEJRV05CTEVWQlFVOHNZMEZETVVJc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVOQlEzcENMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHpRa0ZCYzBKQkxFVkJRVlVzTWtKQlFUUkNMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU0zUml4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSXNTMEZCU3l4cFFrRkJiVUpCTEVWQlFVOHNZMEZETDBJc1MwRkJTeXhWUVVGWlFTeEZRVUZQTEdOQlEzaENMRXRCUVVzc1owSkJRV3RDUVN4RlFVRlBMR05CUXpsQ0xFdEJRVXNzV1VGQldVRXNRMEZCVFN4RFFVTjZRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNjMEpCUVhOQ1FTeEZRVUZWTERKQ1FVRTBRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETjBZc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNMRXRCUVVzc2FVSkJRVzFDUVN4RlFVRlBMR05CUXk5Q0xFdEJRVXNzV1VGQlkwRXNSVUZCVHl4alFVTXhRaXhMUVVGTExGbEJRVmxCTEVOQlFVMHNRMEZEZWtJc1EwRkJReXhGUVVkRVR5eEZRVUZWTEhOQ1FVRnpRa0VzUlVGQlZTd3lRa0ZCTkVJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlF6ZEdMRXRCUVVzc1dVRkJXVUVzUTBGQlRTeEZRVU4yUWl4TFFVRkxMRlZCUVZsQkxFVkJRVThzWTBGRGVFSXNTMEZCU3l4blFrRkJhMEpCTEVWQlFVOHNZMEZET1VJc1MwRkJTeXh4UWtGQmRVSkJMRVZCUVU4c1kwRkRia01zUzBGQlN5eFpRVUZaUVN4RFFVRk5MRU5CUTNwQ0xFTkJRVU1zUlVGSFJFOHNSVUZCVlN4elFrRkJjMEpCTEVWQlFWVXNNa0pCUVRSQ0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTTNSaXhMUVVGTE
1xGbEJRVmxCTEVOQlFVMHNSVUZEZGtJc1MwRkJTeXhwUWtGQmJVSkJMRVZCUVU4c1kwRkRMMElzUzBGQlN5eFpRVUZqUVN4RlFVRlBMR05CUXpGQ0xFdEJRVXNzV1VGQldVRXNRMEZCVFN4RFFVTjZRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNjMEpCUVhOQ1FTeEZRVUZWTERKQ1FVRTBRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETjBZc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNMRXRCUVVzc1lVRkJaVUVzUlVGQlR5eGhRVU16UWl4TFFVRkxMSGxDUVVFeVFrRXNSVUZCVHl4WFFVTjJReXhMUVVGTExIVkNRVUY1UWtFc1JVRkJUeXhYUVVOeVF5eExRVUZMTEdOQlFXZENRU3hGUVVGUExHVkJRV1VzUTBGQlF5eEZRVU0xUXl4TFFVRkxMRmRCUVdGQkxFVkJRVThzWlVGQlpTeERRVUZETEVWQlEzcERMRXRCUVVzc1lVRkJaVUVzUlVGQlR5eGxRVUZsTEVWQlFVVXNSVUZETlVNc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVOQlEzcENMRU5CUVVNc1JVRkZSRThzUlVGQlZTeHpRa0ZCYzBKQkxFVkJRVlVzTWtKQlFUUkNMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU0zUml4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSXNTMEZCU3l4WlFVRlpRU3hEUVVGTkxFTkJRM3BDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3h6UWtGQmMwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRM1pFTEVsQlFVazVja0lzUlVGRFFTdDJRaXhGUVVGaGFrVXNSVUZCVHl4aFFVZDRRaXhKUVVaQkxFdEJRVXNzYjBKQlFYTkNRU3hGUVVGUExHRkJRMnhETEV0QlFVc3NZMEZCWjBJc1IwRkRhRUk1Y2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKSzNaQ0xFVkJRVmt2ZGtJc1NVRkRNVUlzUzBGQlN5eGpRVUZqUVN4RFFVRkRMRVZCUVVrNGNrSXNSVUZCVHl4WFFVRlZMRVZCUlRORExFbEJRVWwyV1N4RlFVRlpMRXRCUVVzc2JVSkJRWEZDTEVWQlFVa3NSVUZCU1hkakxFVkJSMnhFTEVsQlJrRXNTMEZCU3l4dFFrRkJjVUlzUjBGRE1VSXNTMEZCU3l4clFrRkJiMElzUjBGRGNFSXZka0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpkVlFzUlVGQldTeEZRVUZIZGxRc1NVRkROMElzUzBGQlN5eHRRa0ZCYlVKQkxFTkJRVU1zUlVGQlNUaHlRaXhGUVVGUExGZEJRVlVzUlVGRE9VTXNTMEZCU3l4clFrRkJhMEk1Y2tJc1EwRkJReXhGUVVGSk9ISkNMRVZCUVU4c1YwRkJWU3hEUVVWcVJDeERRVUZETEVWQlIwUlBMRVZCUVZVc2MwSkJRWE5DTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOMlJDeExRVUZMTEZsQlFXTkJMRVZCUVU4c1dVRkRNVUlzUzBGQlN5eDFRa0ZCZVVKQkxFVkJRVThzV1VGRGNrTXNTMEZCU3l4WFFVRmhRU3hGUVVGUExHRkJRM3BDTEV0QlFVc3NZVUZCWlVFc1JVRkJUeXhaUVVNM1FpeERRVUZETEVWQlIwUlBMRVZCUVZVc2MwSkJRWE5DTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOMlJDeExRVUZMTEhOQ1FVRjNRa0VzUlVGQlR5eGhRVU53UXl4TFFVRkxMRmxCUVdOQkxFVkJRVThzV1VGRE1VSXNTVUZCU1cxRUxFVkJRVmR1UkN4RlFVRlBMRmxCUTNSQ0xFdEJRVXNzWVVGQlpXMUVMRWRCUVZrc1JVRkRhRU1zUzBGQlN5eFpRVUZsUVN4SFFVRlpMRVZCUVVzc1JVRkRha01zUzBGQlN5eGxRVU5RTEV0QlFVc3NVMEZCVjI1RUxFVkJRVThzWTBGRmNrSXNTMEZCU3l4alFVTlFMRXRCUVVzc2RVSkJRWGxDUVN4RlFVRlBMRmxCUTNKRExFdEJRVXNzVjBGQllVRXNSVUZCVHl4aFFVTjZRaXhMUVVGTExHRkJRV1ZCTEVWQlFVOHNZMEZGTjBJc1MwRkJTeXhYUVVGaExFZEJSV3hDTEZGQlJFbHJSU3hGUVVGblFteEZMRVZCUVU4c1dVRkRiRUk1Y2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKWjNkQ0xFVkJRV1ZvZDBJc1NVRkJTeXhEUVVOMFF5eEpRVUZKYVhkQ0xFVkJRV2xDTEVOQlFVRXNSVUZEY2tJc1MwRkJTeXhYUVVGWExFdEJRVXRCTEVOQlFXTXNSVUZEYmtOQkxFVkJRV1VzYjBKQlFYTkNia1VzUlVGQlR5eFpRVU0xUTIxRkxFVkJRV1VzV1VGQlkyNUZMRVZCUVU4c1dVRkRjRU50UlN4RlFVRmxMSE5DUVVGM1FtNUZMRVZCUVU4c1dVRkRMME1zUTBGRFNDeERRVUZETEVWQlIwUlBMRVZCUVZVc2MwSkJRWE5DTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOMlJISkdMRVZCUVVrc1MwRkJTeXhaUVVGaExITkNRVUYzUWl4TFFVRkxMR05CUVdkQ0xHMUNRVUZ0UWl4RFFVTjRSaXhEUVVGRExFVkJSMFEwUml4RlFVRlZMSE5DUVVGelFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRka1J5Uml4RlFVRkpMRXRCUVVzc1dVRkJZU3h6UWtGQmQwSXNTMEZCU3l4alFVRm5RaXh0UWtGQmJVSXNRMEZEZUVZc1EwRkJReXhGUVVkRU5FWXNSVUZCVlN4elFrRkJjMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTNaRUxFdEJRVXNzWTBGQlowSkJMRVZCUVU4c1YwRkRPVUlzUTBGQlF5eEZRVWRFVHl4RlFVRlZMSE5DUVVGelFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRka1FzU1VGQlNXMUVMRVZCUVZkdVJDeEZRVUZQTEZsQlEzUkNMRXRCUVVzc01FSkJRVFJDYlVRc1IwRkJXU3hGUVVNM1F5eExRVUZMTEc5Q1FVRnpRa0VzUlVGQlZ5eEhRVU40UXl4RFFVRkRMRVZCUjBRMVF5eEZRVUZWTEhOQ1FVRnpRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZGZGtRc1IwRkVRU3hMUVVGTExITkNRVUYzUWtFc1JVRkJUeXhoUVVOb1F5eExRVUZMTEhGQ1FVRjFRaXhIUVVGTExFdEJRVXNzZDBKQlFUQkNMRVZCUVVrc1JVRkJTU3hMUVVGTExITkNRVUYzUWl4SFFVRkxMRVZCUXpWSGNrWXNSVUZCU1N4TFFVRkxMRmxCUVdFc1pVRkJhVUlzUzBGQlN5eGpRVUZuUWl4elFrRkJjMElzUlVGRGJFWXNTMEZCU3l4TFFVRlBjVVlzUlVGQlR5eGxRVUZsTEV0QlFVc3NiVUpCUVhGQ0xFTkJRVU1zVFVGRGVFUXNRMEZEVEN4SFFVRkpMRXRCUVVzc2QwSkJRVEJDTEVWQlEycERMRXRCUVVzc2EwSkJRVzlDUVN4RlFVRlBMR2xDUVVNelFpeERRVU5NTEV0QlFVc3NhMEpCUVc5Q0xFZEJRM3BDTEV0QlFVc3NhMEpCUVc5Q0xFZEJRM3BDTEZGQlFWTTVja0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRXRCUVVzc2MwSkJRWFZDUVN4SlFVTTVReXhMUVVGTExHdENRVUZyUWtFc1EwRkJReXhGUVVGSk9ISkNMRVZCUVU4c1YwRkJWU3hGUVVNM1F5eExRVUZMTEd0Q1FVRnJRamx5UWl4RFFVRkRMRVZCUVVrNGNrSXNSVUZCVHl4WFFVRlZMRU5CUldoRUxFTkJRMFFzUzBGQlN5eG5Ra0ZCYTBKQkxFVkJRVThzWVVGRE9VSXNTMEZCU3l4blFrRkJhMEpCTEVWQlFVOHNZVUZET1VJc1MwRkJTeXhwUWtGQmJVSkJMRVZCUVU4c1YwRkRhRU1zUTBGRFNDeERRVUZETEVWQlIwUlBMRVZCUVZVc2MwSkJRWE5DTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOMlJDeExRVUZMTEdOQlFXZENRU3hGUVVGUExGZEJRemxDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hwUWtGQmFVSXNWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRE5VUnlSaXhGUVVGSkxFdEJRVXNzV1VGQllTdzRRa0ZCWjBNc1MwRkJTeXhoUVVGaExFVkJRM2hGTEV0QlFVc3NTMEZCVDNGR0xFVkJRVThzWlVGQlpTeExRVUZMTEd0Q1FVRnJRaXhEUVVNelJDeEZRVWRCVHl4RlFVRlZMSE5DUVVGelFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRka1J5Uml4RlFVRkpMRXRCUVVzc1dVRkJZU3h6UWtGQmQwSXNTMEZCU3l4alFVRm5RaXh0UWtGQmJVSXNRMEZEZUVZc1EwRkJReXhGUVVkRU5FWXNSVUZCVlN4elFrRkJjMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTNaRWNrWXNSVUZCU1N4TFFVRkxMRmxCUVdFc2MwSkJRWGRDTEV0QlFVc3NZMEZCWjBJc2JVSkJRVzFDTEVOQlEzaEdMRU5CUVVNc1JVRkhSRFJHTEVWQlFWVXNjMEpCUVhOQ0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTjJSQ3hMUVVGTExGTkJRVmRCTEVWQlFVOHNXVUZEZGtJc1NVRkJTVGRETEVWQlFVMDJReXhGUVVGUExGbEJRMnBDTEV0QlFVc3NhVUpCUVcxQ04wTXNSMEZCVHl4RlFVTXZRaXhMUVVGTE
1xHZENRVUZyUWtFc1JVRkJUU3hIUVVNM1FpeExRVUZMTEZsQlFXTTJReXhGUVVGUExGbEJRekZDTEV0QlFVc3NiVUpCUVhGQ1FTeEZRVUZQTEZsQlEycERMRXRCUVVzc1NVRkJUVThzUlVGQlZTeFhRVUZYVUN4RFFVRk5MRVZCUTNSRExFdEJRVXNzYVVKQlFXMUNMRVZCUTNoQ0xFdEJRVXNzV1VGQll5eEZRVU5tTEV0QlFVc3NZMEZCWjBJc1IwRkJTeXhMUVVGTExIRkNRVUYxUWl4SlFVTjRSQ3hMUVVGTExHbENRVUZ0UWtFc1JVRkJUeXhaUVVNdlFpeExRVUZMTEZsQlFXTkJMRVZCUVU4c1pVRkJaU3hMUVVGTExHZENRVUZuUWl4RlFVVnNSU3hEUVVGRExFVkJSMFJQTEVWQlFWVXNjMEpCUVhOQ0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTjJSSEpHTEVWQlFVa3NTMEZCU3l4WlFVRmhMSE5DUVVGM1FpeExRVUZMTEdOQlFXZENMRzFDUVVGdFFpeERRVU40Uml4RFFVRkRMRVZCUjBRMFJpeEZRVUZWTEhOQ1FVRnpRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEZGtRc1NVRkJTVzFFTEVWQlFWZHVSQ3hGUVVGUExGbEJRM1JDTEV0QlFVc3NZMEZCWjBKdFJDeEZRVUZYTEVWQlEyeERMRU5CUVVNc1JVRkhSRFZETEVWQlFWVXNjMEpCUVhOQ0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTjJSQ3hKUVVGSmJVUXNSVUZCVjI1RUxFVkJRVThzV1VGRGRFSXNTMEZCU3l3NFFrRkJaME50UkN4SFFVRlpMRU5CUTI1RUxFTkJRVU1zUlVGSFJEVkRMRVZCUVZVc2MwSkJRWE5DTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOMlJISkdMRVZCUVVrc1MwRkJTeXhaUVVGaExITkNRVUYzUWl4TFFVRkxMR05CUVdkQ0xHMUNRVUZ0UWl4RFFVTjRSaXhEUVVGRExFVkJSMFEwUml4RlFVRlZMSE5DUVVGelFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRka1J5Uml4RlFVRkpMRXRCUVVzc1dVRkJZU3h6UWtGQmQwSXNTMEZCU3l4alFVRm5RaXh0UWtGQmJVSXNRMEZEZUVZc1EwRkJReXhGUVVkRU5FWXNSVUZCVlN4elFrRkJjMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTNaRWNrWXNSVUZCU1N4TFFVRkxMRmxCUVdFc2MwSkJRWGRDTEV0QlFVc3NZMEZCWjBJc2JVSkJRVzFDTEVOQlEzaEdMRU5CUVVNc1JVRkhSRFJHTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hMUVVGTExHTkJRV2RDUVN4RlFVRlBMRmRCUVZjc1EwRkJReXhGUVVOd1F5eExRVUZMTEZWQlFWa3NSVUZEYmtJc1MwRkJTeXgzUWtGQk1FSkJMRVZCUVU4c1lVRkZkRU1zUzBGQlN5eDNRa0ZCTUVJc1JVRkZha01zUzBGQlN5eFJRVUZWTEVkQlJXWXNVVUZFU1c5RExFVkJRV053UXl4RlFVRlBMR0ZCUTJoQ0xFVkJRVWtzUlVGQlJ5eEZRVUZKYjBNc1JVRkJZU3hKUVVGTExFTkJRM0JETEVsQlFVbFhMRVZCUVZFc1EwRkJRU3hGUVVOYUxFdEJRVXNzVVVGQlVTeExRVUZMUVN4RFFVRkxMRVZCUTNaQ1FTeEZRVUZOTEdGQlFXVXZReXhGUVVGUExGbEJRelZDSzBNc1JVRkJUU3gzUWtGQk1FSXZReXhGUVVGUExGZEJRM2hETEVOQlEwZ3NRMEZCUXl4RlFVZEVUeXhGUVVGVkxHdENRVUZyUWl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTMEZCU3l4WlFVRmpRU3hGUVVGUExGZEJRVmNzUTBGQlF5eEZRVU4wUXl4TFFVRkxMR1ZCUVdsQ1FTeEZRVUZQTEdGQlEzcENMRXRCUVVzc1RVRkJVU3hKUVVObUxFdEJRVXNzVjBGQllVRXNSVUZCVHl4WFFVRlhMRXRCUVVzc1MwRkJUeXhMUVVGTExGTkJRVmNzUTBGQlF5eEZRVVZ5UlN4RFFVRkRMRVZCUjBSUExFVkJRVlVzWTBGQll5eFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRMME1zUzBGQlN5eFJRVUZWUVN4RlFVRlBMRmRCUVZjc1MwRkJTeXhMUVVGUExFdEJRVXNzVVVGQlVTeERRVU0xUkN4RFFVRkRMRVZCUjBSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4SlFVRkpiVVFzUlVGRFFWY3NSVUZCVXl4TFFVRkxMRXRCUVU4c1MwRkJTeXhUUVVNNVFpeExRVUZMTEZkQlFXRXNSMEZEYkVJc1MwRkJTeXhyUWtGQmIwSXNSMEZEZWtJc1MwRkJTeXh6UWtGQmQwSXNSMEZETjBJc1MwRkJTeXh6UWtGQmQwSXNSMEZETjBJc1VVRkJVelYyUWl4RlFVRkpMRVZCUVVkQkxFVkJRVWswZGtJc1JVRkJUelYyUWl4SlFVTjZRbWwyUWl4RlFVRlhia1FzUlVGQlR5eFpRVU5zUWl4TFFVRkxMRmRCUVZjNWNrSXNRMEZCUXl4RlFVRkphWFpDTEVkQlFWa3NSVUZEYWtNc1MwRkJTeXhyUWtGQmEwSnFka0lzUTBGQlF5eEZRVUZMYVhaQ0xFZEJRVmtzUlVGQlN5eEZRVU01UXl4TFFVRkxMSE5DUVVGelFtcDJRaXhEUVVGRExFVkJRVXRwZGtJc1IwRkJXU3hGUVVGTExFVkJRMnhFTEV0QlFVc3NjMEpCUVhOQ2FuWkNMRU5CUVVNc1JVRkJTV2wyUWl4RlFVRlhMRU5CUlM5RExFTkJRVU1zUlVGSlJEVkRMRVZCUVZVc2EwSkJRV3RDTEUxQmNVSTFRaXhGUVVWQlFTeEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1MwRkJTeXhqUVVGblFrRXNSVUZCVHl4WFFVRlhMRU5CUVVNc1JVRkRlRU55Uml4RlFVRkpMRTFCUVUwc1dVRkJZU3dyUWtGQmFVTXNTMEZCU3l4aFFVRmhMRVZCUTNSRkxFdEJRVXNzVlVGQldTeEZRVU51UWl4TFFVRkxMR1ZCUVdsQ2NVWXNSVUZCVHl4aFFVVTNRaXhMUVVGTExHVkJRV2xDTEVWQlJYQkNMRXRCUVVzc1UwRkJWeXhKUVVOc1FpeExRVUZMTEdkRFFVRnJRMEVzUlVGQlR5eGpRVVZvUkN4TFFVRkxMRkZCUVZVc1IwRkZaaXhSUVVSSmIwTXNSVUZCWTNCRExFVkJRVThzWVVGRGFFSXNSVUZCU1N4RlFVRkhMRVZCUVVsdlF5eEZRVUZoTEVsQlFVc3NRMEZEY0VNc1NVRkJTVmNzUlVGRFFYaERMRVZCUVZVc1MwRkJTeXhqUVVGblFpeHJRa0ZCYTBJc1JVRkRia1IzUXl4RlFVRlJMRWxCUVVsNFF5eEZRVUZWTEV0QlFVc3NZMEZCWjBJc2EwSkJRV3RDTEVWQlFVVXNTMEZCU3l4aFFVRmhMRVZCUldwR2QwTXNSVUZCVVN4SlFVRkplRU1zUlVGQlZTeHBRa0ZCYVVJc1MwRkJTeXhoUVVGaExFVkJSVE5FTEV0QlFVc3NVVUZCVVN4TFFVRkxkME1zUTBGQlN5eEZRVU51UWl4TFFVRkxMRlZCUVZrc1JVRkRaaXhMUVVGTExHbENRVUZ0UWl4RlFVTXhRa0VzUlVGQlRTeHRRa0ZCY1VJdlF5eEZRVUZQTEdGQlJXeERLME1zUlVGQlRTeHRRa0ZCY1VJc1MwRkJTeXhsUVVkc1EwRXNSVUZCVFN4d
1FFrRkJjVUlzUzBGQlN5eGxRVVU1UWtFc1JVRkJUU3hSUVVGVmVFTXNSVUZCVlN4cFFrRkJhVUlzVlVGQlZTeFJRVU4yUkRWR0xFVkJRVWtzUzBGQlN5eFpRVUZoTEhkQ1FVRXdRaXhMUVVGTExHTkJRV2RDTEN0RlFVRXJSU3hGUVVWd1NtOUpMRVZCUVUwc1MwRkJUeTlETEVWQlFVOHNaVUZCWlN0RExFVkJRVTBzYTBKQlFXdENMRVZCUlRORUwwTXNSVUZCVHl4VlFVRlpLME1zUlVGQlRTeHZRa0ZGTTBKQkxFVkJRVTBzVFVGQlRTOURMRU5CUVUwc1EwRkRia0lzUTBGRFNDeERRVUZETEVWQlIwUlBMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeExRVUZMTEdGQlFXVkJMRVZCUVU4c1lVRkRNMElzUzBGQlN5eFZRVUZaUVN4RlFVRlBMR0ZCUTNCQ0xFdEJRVXNzVlVGQldTeEhRVU51UWl4TFFVRkxMREpDUVVFMlFrRXNSVUZCVHl4aFFVTjZReXhMUVVGTExHRkJRV1ZCTEVWQlFVOHNaVUZGTTBJc1MwRkJTeXd5UWtGQk5rSkJMRVZCUVU4c1lVRkRla01zUzBGQlN5eGhRVUZsUVN4RlFVRlBMR05CUlRkQ1FTeEZRVUZQTEZkQlFWVXNSVUZEYWtJc1MwRkJTeXhYUVVGaExFZEJSV3hDTEZGQlJFazRSQ3hGUVVGUk9VUXNSVUZCVHl4aFFVTldMRVZCUVVrc1JVRkJSeXhGUVVGSk9FUXNSVUZCVHl4SlFVRkxMRU5CUXpsQ0xFbEJRVWw0Y1VJc1JVRkJUU3hEUVVGQkxFVkJRMVlzUzBGQlN5eFhRVUZYTEV0QlFVdEJMRU5CUVVjc1JVRkRlRUlzU1VGQlNUaHhRaXhGUVVGVGNFVXNSVUZCVHl4aFFVTndRakZ0UWl4RlFVRkpMR1ZCUVd0Q09IRkNMRWRCUVZVc1IwRkJUU3hGUVVOMFF6bHhRaXhGUVVGSkxHZENRVUZyUWpoeFFpeEZRVUZUTEZkQlF5OUNPWEZDTEVWQlFVa3NiMEpCUVhOQ01HMUNMRVZCUVU4c1lVRkRha052UlN4RlFVRlRjRVVzUlVGQlR5eGhRVU5vUWpGdFFpeEZRVUZKTEdkQ1FVRnRRamh4UWl4SFFVRlZMRWRCUVUwc1JVRkRka001Y1VJc1JVRkJTU3hUUVVGWk9IRkNMRWRCUVZVc1IwRkJUU3hGUVVOb1F6bHhRaXhGUVVGSkxHVkJRV2xDT0hGQ0xFVkJRVk1zVTBGREwwSXNRMEZEU0N4RFFVRkRMRVZCUjBRM1JDeEZRVUZWTERKQ1FVRTJRaXhUUVVGVGFITkNMRVZCUVUxMVZDeEZRVUZOT0Zrc1JVRkJWV2hITEVWQlFVOHNRMEZETTBVeVJpeEZRVUZWTEVsQlFVa3NTMEZCU3l4TFFVRk5hSE5DTEVWQlFVMTFWQ3hEUVVGSkxFVkJRMjVETEV0QlFVc3NVMEZCVnpoWkxFVkJRMmhDTEV0QlFVc3NUVUZCVVdoSExFTkJRMllzUlVGRFFUSkdMRVZCUVZVc01rSkJRVEpDTEZWQlFWa3NTVUZCU1VFc1JVRkJWU3hKUVVNdlJFRXNSVUZCVlN3eVFrRkJNa0lzVlVGQlZTeE5RVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRkRVVzUzBGQlN5eGhRVUZsUVN4RlFVRlBMR0ZCUXpOQ0xFbEJRVWs0UkN4RlFVRlJPVVFzUlVGQlR5eGhRVU51UWl4TFFVRkxMRmRCUVdFc1IwRkRiRUlzVVVGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1RoRUxFVkJRVThzU1VGRGVrSXNTMEZCU3l4WFFVRlhMRU5CUVVNc1JVRkJTVGxFTEVWQlFVOHNWMEZCVlN4RFFVVXhReXhGUVVkQlR5eEZRVUZWTEdkRFFVRnJReXhUUVVGVGFITkNMRVZCUVUxMVZDeEZRVUZOT0Zrc1JVRkJWV2hITEVWQlFVOHNRMEZEYUVZeVJpeEZRVUZWTEVsQlFVa3NTMEZCU3l4TFFVRk5hSE5DTEVWQlFVMTFWQ3hEUVVGSkxFVkJRMjVETEV0QlFVc3NVMEZCVnpoWkxFVkJRMmhDTEV0QlFVc3NUVUZCVVdoSExFTkJRMllzUlVGRFFUSkdMRVZCUVZVc1owTkJRV2RETEZWQlFWa3NTVUZCU1VFc1JVRkJWU3hKUVVOd1JVRXNSVUZCVlN4blEwRkJaME1zVlVGQlZTeE5RVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRNMFVzUzBGQlN5eGhRVUZsUVN4RlFVRlBMR0ZCUXpOQ0xFbEJRVWs0UkN4RlFVRlJPVVFzUlVGQlR5eGhRVU51UWl4TFFVRkxMRmRCUVdFc1IwRkRiRUlzVVVGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1RoRUxFVkJRVThzU1VGRGVrSXNTMEZCU3l4WFFVRlhMRU5CUVVNc1JVRkJTVGxFTEVWQlFVOHNWMEZCVlN4RFFVVXhReXhGUVVkQlR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1MwRkJTeXgxUWtGQmVVSkJMRVZCUVU4c1lVRkRja01zUzBGQlN5eDFRa0ZCZVVKQkxFVkJRVThzWVVGRGNrTXNTMEZCU3l4MVFrRkJlVUpCTEVWQlFVOHNZVUZEY2tNc1MwRkJTeXgxUWtGQmVVSkJMRVZCUVU4c1lVRkRja01zUzBGQlN5eDFRa0ZCZVVKQkxFVkJRVThzWVVGRGNrTXNTMEZCU3l4MVFrRkJlVUpCTEVWQlFVOHNZVUZEY2tNc1MwRkJTeXg1UWtGQk1rSkJMRVZCUVU4c1lVRkRka01zUzBGQlN5eDVRa0ZCTWtKQkxFVkJRVThzWVVGRGRrTXNTMEZCU3l4aFFVRmxRU3hGUVVGUExHRkJRek5DTEV0QlFVc3NZVUZCWlVFc1JVRkJUeXhaUVVNM1FpeERRVUZETEVWQlIwUlBMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeExRVUZMTEZGQlFWVkJMRVZCUVU4c1lVRkRkRUpCTEVWQlFVOHNWMEZCVlN4RFFVTnVRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hMUVVGTExGbEJRV01zUjBGRmJrSXNVVUZFU1hGRkxFVkJRVzFDY2tVc1JVRkJUeXhoUVVOeVFpeEZRVUZKTEVWQlFVY3NSVUZCU1hGRkxFVkJRV3RDTEVsQlFVc3NRMEZEZWtNc1NVRkJTVU1zUlVGQllTeERRVUZCTEVWQlEycENMRXRCUVVzc1dVRkJXU3hMUVVGTFFTeERRVUZWTEVWQlEyaERRU3hGUVVGWExFOUJRVk1zUjBGRmNFSXNVVUZFU1VNc1JVRkJZM1pGTEVWQlFVOHNZVUZEYUVKeWJFSXNSVUZCU1N4RlFVRkhRU3hGUVVGSk5IQkNMRVZCUVdFMWNFSXNTVUZCU3l4RFFVTndReXhKUVVGSmRFSXNSVUZCVVN4RFFVRkJMRVZCUTFwcGNrSXNSVUZCVnl4UFFVRlBMRXRCUVV0cWNrSXNRMEZCU3l4RlFVTTFRa0VzUlVGQlRTeE5RVUZSTW0xQ0xFVkJRVThzV1VGRGNrSXpiVUlzUlVGQlRTeFhRVUZoTW0xQ0xFVkJRVThzV1VGRE0wSXNRMEZEUml4RFFVTklMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRWxCUVVsdlF5eEZRVWRLTEVkQlJrRkJMRVZCUVdOd1F5eEZRVUZQTEdGQlEzSkNMRXRCUVVzc1kwRkJaMElzUjBGRGFrSXNTMEZCU3l4VlFVRlpMRVZCUTI1Q0xGRkJRVk1zUlVGQlNTeEZRVUZITEVWQlFVbHZReXhGUVVGaExFbEJReTlDTEV0QlFVc3NZMEZCWXl4TFFVRkxjRU1zUlVGQlR5eFhRVUZaTEVOQlFVRXNRMEZIYWtRc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1NVRkJTVGhFTEVkQlFWTXNTMEZCU3l4TFFVRlBMRXRCUVVzc1
1ZVRkJXU3hGUVVNeFF5eExRVUZMTEZOQlFWY3NSMEZEYUVJc1VVRkJVeXhGUVVGSkxFVkJRVWNzUlVGQlNVRXNSVUZCVHl4SlFVTjZRaXhMUVVGTExGTkJRVk1zUTBGQlF5eEZRVUZKT1VRc1JVRkJUeXhYUVVGVkxFTkJSWGhETEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hyUWtGQmEwSXNUVUZCVFN4RlFVZHNRMEVzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1lVRkJaVUVzUlVGQlR5eGhRVU16UWl4TFFVRkxMR2RDUVVGclFrRXNSVUZCVHl4aFFVTTVRaXhMUVVGTExHRkJRV1ZCTEVWQlFVOHNZVUZETTBJc1NVRkJTVGhFTEVkQlFWTXNTMEZCU3l4TFFVRlBMRXRCUVVzc1UwRkJWeXhIUVVGTExFVkJRemxETEV0QlFVc3NaVUZCYVVJc1IwRkRkRUlzVVVGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1VFc1JVRkJUeXhKUVVONlFpeExRVUZMTEdWQlFXVXNRMEZCUXl4RlFVRkpPVVFzUlVGQlR5eFhRVUZWTEVOQlJUbERMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRWxCUVVsdlF5eEZRVU5CTEVWQlMwb3NSMEZLUVVFc1JVRkJZM0JETEVWQlFVOHNZVUZEY2tJc1MwRkJTeXhaUVVGakxFZEJRMjVDTEV0QlFVc3NhMEpCUVc5Q0xFZEJRM3BDTEV0QlFVc3NlVUpCUVRKQ0xFZEJRelZDTEV0QlFVc3NWVUZCV1N4RlFVTnVRaXhKUVVGTExFVkJRVWtzUlVGQlJ5eEZRVUZKYjBNc1JVRkJZU3hKUVVNelFpeExRVUZMTEZsQlFWa3NTMEZCUzNCRExFVkJRVThzVjBGQldTeERRVUZCTEVWQlEzcERMRXRCUVVzc2EwSkJRV3RDTEV0QlFVdEJMRVZCUVU4c1YwRkJXU3hEUVVGQkxFVkJReTlETEV0QlFVc3NlVUpCUVhsQ0xFdEJRVXRCTEVWQlFVOHNWMEZCV1N4RFFVRkJMRU5CUnpWRUxFTkJRVU1zUlVGSFJFOHNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWs1Y2tJc1JVRkRRVEIwUWl4RlFVTkJORU1zUlVGRFFYSkVMRVZCUjBvc1NVRkdRU3hMUVVGTExGRkJRVlVzUjBGRFpuRkVMRVZCUVdGNFJTeEZRVUZQTEdGQlEyWTVja0lzUlVGQlNTeEZRVUZIUVN4SFFVRkxjM2RDTEVWQlFWbDBkMElzU1VGRk0wSXNSMEZFUVRCMFFpeEZRVUZOY2tJc1JVRkJWU3haUVVGWlVDeEZRVUZSTEVkQlFVMHNTMEZCU3l4TlFVRlJRU3hGUVVGUExGbEJRV0VzUlVGQlJ5eExRVUZMTEUxQlFVMHNSVUZEY2tZMFFpeEZRVUZKTEU5QlFWTnlRaXhGUVVGVkxFZEJRM0pDUVN4RlFVRlZjVUlzUlVGQlNTeExRVUZQTEdGQlFXRXNSMEZEY0VOVUxFVkJRVTBzU1VGQlNWb3NSVUZCVlhGQ0xFVkJRVWtzUzBGQlR5eGhRVUZoTEVWQlFVVkJMRVZCUVVrc1NVRkJTU3hGUVVOMFJGUXNSVUZCU1N4VFFVRlhVeXhGUVVGSkxGTkJRMjVDVkN4RlFVRkpMRTFCUVZGVExFVkJRVWtzVVVGRmFFSnFTQ3hGUVVGSkxFdEJRVXNzV1VGQllTdzRRa0ZCWjBOcFNDeEZRVUZKTEVsQlFVa3NSVUZET1VSVUxFVkJRVTBzU1VGQlNWb3NSVUZCVlN4WlFVRlpjVUlzUlVGQlNTeExRVUZOUVN4RlFVRkpMRXRCUVUxQkxFVkJRVWtzVTBGQlZVRXNSVUZCU1N4TFFVRkxMRWRCUlhwRlZDeEZRVUZKTEZGQlFWVmFMRVZCUVZVc1dVRkJXU3hWUVVGVkxGRkJRMmhFTlVZc1JVRkJTU3hMUVVGTExGbEJRV0VzWlVGQmFVSjNSeXhGUVVGSkxFdEJRVThzYlVaQlFXMUdMRVZCUTNKSlFTeEZRVUZKTEcxQ1FVRnRRbTVDTEVOQlFVMHNSMEZGTDBKdFFpeEZRVUZKTEUxQlFVMXVRaXhEUVVGTkxFVkJRMmhDTEV0QlFVc3NVVUZCVVN4TFFVRkxiVUlzUTBGQlJ5eE5RVVZ5UWl4UFFVZE9MRU5CUVVNc1JVRkhSRm9zUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1kwRkJaMEpCTEVWQlFVOHNZVUZETlVJc1NVRkJTVGhFTEVWQlFWRTVSQ3hGUVVGUExHRkJRMjVDTEV0QlFVc3NkMEpCUVRCQ0xFZEJReTlDTEZGQlFWTXNSVUZCU1N4RlFVRkhMRVZCUVVrNFJDeEZRVUZQTEVsQlEzcENMRXRCUVVzc2QwSkJRWGRDTEVOQlFVTXNSVUZCU1RsRUxFVkJRVThzVjBGQlZTeERRVVYyUkN4RFFVRkRMRVZCUjBSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4SlFVRkpiME1zUlVGRFFTeEZRVWxLTEVkQlNFRkJMRVZCUVdOd1F5eEZRVUZQTEdGQlEzSkNMRXRCUVVzc2QwSkJRVEJDTEVkQlF5OUNMRXRCUVVzc2IwSkJRWE5DTEVkQlEzWkNMRXRCUVVzc1ZVRkJXU3hGUVVOdVFpeEpRVUZMTEVWQlFVa3NSVUZCUnl4RlFVRkpiME1zUlVGQllTeEpRVU16UWl4TFFVRkxMSGRDUVVGM1FpeExRVUZMY0VNc1JVRkJUeXhYUVVGWkxFTkJRVUVzUlVGRGNrUXNTMEZCU3l4dlFrRkJiMElzUzBGQlMwRXNSVUZCVHl4WFFVRlpMRU5CUVVFc1EwRkhka1FzUTBGQlF5eEZRVWRFVHl4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzU1VGQlNUbHlRaXhGUVVOQmEzVkNMRVZCUlVvc1IwRkVRVUVzUlVGQlkzQkRMRVZCUVU4c1lVRkRha0lzUzBGQlN5eFZRVUZaTEVWQlJXNUNMRWxCUkVFc1MwRkJTeXhsUVVGcFFpeEhRVU5xUWpseVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVscmRVSXNSVUZCWVd4MVFpeEpRVU16UWl4TFFVRkxMR1ZCUVdVc1MwRkJTemh5UWl4RlFVRlBMRmRCUVZrc1EwRkJRU3hEUVVkc1JDeERRVUZETEVWQlIwUlBMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeEpRVUZKT1hKQ0xFVkJSVW9zUjBGRVFTeExRVUZMTEdGQlFXVXNSMEZEYUVJc1MwRkJTeXhWUVVGWkxFVkJSMjVDTEVsQlJrRXNTMEZCU3l4WlFVRmpPSEpDTEVWQlFVOHNZVUZETVVJc1MwRkJTeXhoUVVGbFFTeEZRVUZQTEdGQlEzUkNPWEpDTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExHRkJRV05CTEVsQlF6ZENMRXRCUVVzc1kwRkJaMElzUlVGRGRrSXNTMEZCU3l4aFFVRmhMRXRCUVVzNGNrSXNSVUZCVHl4WFFVRlpMRU5CUVVFc1JVRkZNVU1zUzBGQlN5eGhRVUZoT1hKQ0xFTkJRVU1zUlVGQlNTeExRVUZMTEZkQlNYQkRMRU5CUVVNc1JVRkhSSEZ6UWl4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzU1VGQlNXOURMRVZCUTBFc1JVRkRRWEZETEVWQlNVb3NSMEZJUVhKRExFVkJRV053UXl4RlFVRlBMR0ZCUTNKQ0xFdEJRVXNzWTBGQlowSXNSMEZEY2tJc1MwRkJTeXhqUVVGblFpeEhRVU5xUWl4TFFVRkxMRlZCUVZrc1JVRkRia0lzU1VGQlN5eEZRVUZKTEVWQlFVY3NSVUZCU1c5RExFVkJRV0VzU1VGRE0wSXNTMEZCU3l4alFVRmpMRXRCUVV0d1F5eEZRVUZQTEZkQlFWa3NRMEZCUVN4RlFVTXpRM2xGTEVWQlFWRjZSU3hGUVVGUExGbEJRMWg1UlN4RlFVRlJMRWxCUTFZNVNpeEZRVUZKTEV0QlFVc3NXVUZCWVN4blJrRkJaMFlzUlVGRGRFYzRTaXhGUVVGUkxFZEJSVllzUzBGQlN5eGpRVUZqTEV0QlFVdEJMRU5CUVVzc1EwRkhia01zUTBGQlF5eEZRVWRFYkVVc1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEVsQlFVa3dSU3hGUVVGUk1VVXNSVUZCVHl4aFFVTnVRaXhMUVVGTE
1xHOUNRVUZ6UWpCRkxFVkJRVkVzUlVGRGJrTXNTMEZCU3l4alFVRm5RakZGTEVWQlFVOHNZVUZETlVJc1NVRkJTV2h5UWl4RlFVRlRaM0pDTEVWQlFVOHNZVUZEY0VJc1MwRkJTeXgxUWtGQmVVSkJMRVZCUVU4c1YwRkJWMmh5UWl4RFFVRk5MRVZCUTNSRUxFbEJRVWswYzBJc1JVRkRRVlFzUlVGRlNpeEpRVVJCTEV0QlFVc3NUVUZCVVN4SFFVTk9ia0lzUlVGQlR5eFpRVUZoTEVWQlFVY3NTMEZCU3l4TlFVRlJMRXRCUVVzc1RVRkZPVU1zUjBGRVFUUkNMRVZCUVUxeVFpeEZRVUZWTEZsQlFWbFFMRVZCUVZFc1IwRkJUeXhMUVVGTExFMUJRVkZCTEVWQlFVOHNXVUZCWVN4RlFVRkhMRXRCUVVzc1RVRkJUU3hGUVVOMFJqUkNMRVZCUVVrc1QwRkJVM0pDTEVWQlFWVXNSMEZEZWtKWkxFVkJRVTFUTEVWQlFVa3NTVUZEVml4TFFVRkxMRTFCUVUwc1MwRkJTMVFzUTBGQlJ5eEZRVU51UWl4TFFVRkxRU3hGUVVGSkxFbEJRVWtzUlVGQlNVRXNUVUZGYWtJc1QwRkhUaXhEUVVGRExFVkJSMFJhTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTlBMRVZCUVZVc1VVRkJVU3hWUVVGVkxFMUJRVTBzUzBGQlN5eExRVUZOVUN4RFFVRk5MRU5CUTNKRUxFTkJRVU1zUlVGSFJFOHNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWs1Y2tJc1JVRkZRVFoyUWl4RlFVVktMRWRCUkVFc1MwRkJTeXhoUVVGbExFZEJRMmhDTEV0QlFVc3NWVUZCV1N4RlFVbHVRaXhIUVVoQkxFdEJRVXNzVTBGQlZ5OUVMRVZCUVU4c1lVRkRka0lzUzBGQlN5eFhRVUZoUVN4RlFVRlBMRmxCUTNwQ0swUXNSVUZCWlM5RUxFVkJRVThzWVVGRGJFSXNTMEZCU3l4aFFVRmxMRVZCUTNSQ0xFbEJRVXM1Y2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTm5aQ0xFVkJRV00zZGtJc1IwRkJTeXhGUVVGSExFTkJRM0JETEVsQlFVbHBjRUlzUlVGQlRUWkRMRVZCUVU4c1dVRkRha0lzUzBGQlN5eGhRVUZoT1hKQ0xFTkJRVU1zUlVGQlMybHdRaXhIUVVGUExFVkJRVXNzUjBGRGNFTXNTMEZCU3l4aFFVRmhhbkJDTEVWQlFVa3NRMEZCUXl4RlFVRkphWEJDTEVWQlFVMHNSVUZEYkVNc1UwRkRVU3hMUVVGTExHRkJRV1VzUlVGRE4wSXNTVUZCUzJwd1FpeEZRVUZKTEVWQlFVZEJMRVZCUVVrMmRrSXNSVUZCWXpkMlFpeEpRVU0xUWl4TFFVRkxMR0ZCUVdGQkxFTkJRVU1zUlVGQlNUaHlRaXhGUVVGUExGVkJRVk1zVlVGRmFFTXNTMEZCU3l4aFFVRmxMRWRCUXpkQ0xFbEJRVXM1Y2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTm5aQ0xFVkJRV00zZGtJc1NVRkROVUlzUzBGQlN5eGhRVUZoUVN4RFFVRkRMRVZCUVVrNGNrSXNSVUZCVHl4WFFVRlZMRTlCUnpGRGNrWXNSVUZCU1N4TlFVRk5MRmxCUVdFc2JVTkJRVzFETEVOQlIyaEZMRU5CUVVNc1JVRkhSRFJHTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hKUVVGSk9YSkNMRVZCUVVkNVJ5eEZRVU5JZVc1Q0xFVkJRMEYxUXl4RlFVZEtMRWxCUmtGMlF5eEZRVUZqY0VNc1JVRkJUeXhoUVVOeVFpeExRVUZMTEZGQlFWVXNSMEZEVmpseVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVscmRVSXNSVUZCWVd4MVFpeEpRVUZMTEVOQlEyaERMRWxCUVVrd2QwSXNSVUZCWVN4RFFVRkJMRVZCUzJwQ0xFZEJTa0VzUzBGQlN5eFJRVUZSTVhkQ0xFTkJRVU1zUlVGQlNUQjNRaXhGUVVOc1FrRXNSVUZCVnl4aFFVRmxOVVVzUlVGQlR5eGhRVU5xUXpSRkxFVkJRVmNzVjBGQllTeEhRVU40UWtRc1JVRkJhMEl6UlN4RlFVRlBMR0ZCUTNKQ01rVXNSVUZCYTBJc1JVRkRjRUlzU1VGQlMyaHhRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbG5jVUlzUlVGQmFVSm9jVUlzU1VGQlN5eERRVU53UXl4SlFVRkphM0ZDTEVWQlFWa3NRMEZCUVN4RlFVTm9Ra1FzUlVGQlZ5eFhRVUZYTEV0QlFVdERMRU5CUVZNc1JVRkRhRU1zUzBGQlN5eFRRVUZYTEVWQlEyeENRU3hGUVVGVkxFdEJRVTgzUlN4RlFVRlBMR0ZCUlhoQ05rVXNSVUZCVlN4TFFVRlBOMFVzUlVGQlR5eGhRVVV4UWpaRkxFVkJRVlVzVTBGQlZ6ZEZMRVZCUVU4c1dVRkROVUkyUlN4RlFVRlZMRmxCUVdNM1JTeEZRVUZQTEZsQlF5OUNOa1VzUlVGQlZTd3dRa0ZCTkVJM1JTeEZRVUZQTEZsQlF6bERMRU5CUlVvc1EwRkRTQ3hEUVVGRExFVkJSMFJQTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVVnVSQ3hIUVVSQlFTeEZRVUZQTEZWQlFWTXNSVUZEV2l4TFFVRkxMRlZCUVZrc1JVRkRia0pCTEVWQlFVOHNWVUZCVXl4TlFVTllMRU5CUTB3c1NVRkJTVGRETEVWQlFVMDJReXhGUVVGUExGbEJRMnBDTEV0QlFVc3NlVUpCUVRSQ04wTXNSMEZCVHl4RlFVRkxMRWRCUXpkRExFdEJRVXNzZDBKQlFUQkNRU3hGUVVGTkxFVkJRM1JETEVOQlEwUXNTMEZCU3l4dlFrRkJjMEkyUXl4RlFVRlBMRmxCUTJ4RExFdEJRVXNzTWtKQlFUWkNRU3hGUVVGUExGbEJRM3BETEV0QlFVc3NXVUZCWTA4c1JVRkJWU3hYUVVGWFVDeERRVUZOTEVWQlF6RkRMRXRCUVVzc2MwSkJRWGRDTEVkQlFVc3NTMEZCU3l3MlFrRkJLMElzU1VGRGVFVXNTMEZCU3l4NVFrRkJNa0pCTEVWQlFVOHNXVUZEZGtNc1MwRkJTeXh2UWtGQmMwSkJMRVZCUVU4c1pVRkJaU3hMUVVGTExIZENRVUYzUWl4RlFVVnNSaXhEUVVGRExFVkJRMFJQTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExGTkJRVmNzUlVGRGJFSXNTMEZCU3l4dlFrRkJjMEpCTEVWQlFVOHNZVUZGYkVNc1MwRkJTeXh2UWtGQmMwSkJMRVZCUVU4c1dVRkZkRU1zUTBGQlF5eEZRVWRFVHl4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzU1VGQlNUaEZMRVZCUVZrc1JVRkRhRUlzUzBGQlN5eFRRVUZYT1VVc1JVRkJUeXhoUVVOdVFpeExRVUZMTEV0QlFVOHNTMEZCU3l4VFFVRlhPRVVzUjBGQll5eExRVUZMTEUxQlFWRjJSU3hGUVVGVkxEUkNRVU51UlN4TFFVRkxMR2xDUVVGdFFsQXNSVUZCVHl4aFFVTXZRamhGTEVkQlFXRXNSMEZGWWl4TFFVRkxMR2xDUVVGdFFpeEZRVVYwUWl4TFFVRkxMRXRCUVU4c1MwRkJTeXhUUVVGWFFTeEhRVUZqTEV0QlFVc3NUVUZCVVhaRkxFVkJRVlVzZFVKQlEyNUZMRXRCUVVzc2FVTkJRVzFEVUN4RlFVRlBMR0ZCUXk5RE9FVXNSMEZCWVN4SFFVVmlMRXRCUVVzc2FVTkJRVzFETEVWQlJYUkRMRXRCUVVzc1MwRkJUeXhMUVVGTE
1xGTkJRVmRCTEVkQlFXTXNTMEZCU3l4TlFVRlJka1VzUlVGQlZTeHpRa0ZEYmtVc1MwRkJTeXgzUWtGQk1FSlFMRVZCUVU4c1lVRkRkRU00UlN4SFFVRmhMRWRCUldJc1MwRkJTeXgzUWtGQk1FSXNSVUZGTjBJc1MwRkJTeXhMUVVGUExFdEJRVXNzVTBGQlYwRXNSMEZCWXl4TFFVRkxMRTFCUVZGMlJTeEZRVUZWTEhWQ1FVTnVSU3hMUVVGTExHOUNRVUZ6UWxBc1JVRkJUeXhoUVVOc1F6aEZMRWRCUVdFc1IwRkZZaXhMUVVGTExHOUNRVUZ6UWl4RlFVVjZRaXhMUVVGTExFdEJRVThzUzBGQlN5eFRRVUZYUVN4SFFVRmpMRXRCUVVzc1RVRkJVWFpGTEVWQlFWVXNkMEpCUTI1RkxFdEJRVXNzY1VKQlFYVkNVQ3hGUVVGUExHRkJRMjVET0VVc1IwRkJZU3hIUVVWaUxFdEJRVXNzY1VKQlFYVkNMRU5CUldoRExFTkJRVU1zUlVGSFJIWkZMRVZCUVZVc2EwSkJRV3RDTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeExRVUZMTEZOQlFWZEJMRVZCUVU4c1lVRkRka0pCTEVWQlFVOHNWMEZCVlN4RlFVTnFRaXhKUVVGSmJVUXNSVUZCVjI1RUxFVkJRVThzV1VGRGRFSXNTMEZCU3l4M1FrRkJNa0p0UkN4SFFVRlpMRVZCUVVzc1JVRkRha1FzUzBGQlN5eDNRa0ZCTWtKQkxFZEJRVmtzUlVGQlN5eEZRVU5xUkN4TFFVRkxMREJDUVVFMlFrRXNSVUZCV1N4RlFVTTVReXhMUVVGTExGRkJRVlVzUjBGRlppeFJRVVJKTkVJc1JVRkJiMEl2UlN4RlFVRlBMR0ZCUTNSQ09YSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNUWjNRaXhGUVVGdFFqZDNRaXhKUVVOcVF5eExRVUZMTEZWQlFWa3NSMEZEYmtJc1MwRkJTeXhMUVVGUE9ISkNMRVZCUVU4c1lVRkRia0lzUzBGQlN5eFpRVUZqUVN4RlFVRlBMR1ZCUlRGQ0xFdEJRVXNzUzBGQlQwRXNSVUZCVHl4aFFVTnVRaXhMUVVGTExGbEJRV05CTEVWQlFVOHNZMEZGTlVJc1MwRkJTeXhaUVVGalFTeEZRVUZQTEZkQlFXTXNSMEZCU3l4TFFVRkxMSGRDUVVFd1FpeEZRVUZITEVsQlF5OUZMRXRCUVVzc1dVRkJZMEVzUlVGQlR5eFhRVUZqTEVkQlFVc3NTMEZCU3l4M1FrRkJNRUlzUlVGQlJ5eEpRVU12UlN4TFFVRkxMR05CUVdkQ1FTeEZRVUZQTEZkQlFXTXNSMEZCU3l4TFFVRkxMREJDUVVFMFFpeEZRVUZITEVkQlJYWkdMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlF5OURMRXRCUVVzc1UwRkJWeXhIUVVOc1FpeExRVUZMTEdOQlFXZENRU3hGUVVGUExHRkJRelZDTEV0QlFVc3NhMEpCUVc5Q1FTeEZRVUZQTEdGQlEyaERMRXRCUVVzc1UwRkJWMEVzUlVGQlR5eGhRVU4yUWtFc1JVRkJUeXhYUVVGVkxFVkJRMnBDTEV0QlFVc3NVMEZCVjBFc1JVRkJUeXhsUVVWMlFpeExRVUZMTEdOQlFXZENRU3hGUVVGUExHRkJRelZDTEV0QlFVc3NhMEpCUVc5Q1FTeEZRVUZQTEdGQlEyaERMRXRCUVVzc1UwRkJWMEVzUlVGQlR5eGhRVU4yUWtFc1JVRkJUeXhYUVVGVkxFVkJRMnBDTEV0QlFVc3NVMEZCVjBFc1JVRkJUeXhqUVVWNlFrRXNSVUZCVHl4blFrRkJaMElzUTBGQlF5eEZRVU40UWl4TFFVRkxMRTFCUVZGQkxFVkJRVThzV1VGRGNFSXNTMEZCU3l4blFrRkJhMEpCTEVWQlFVOHNXVUZET1VJc1MwRkJTeXhQUVVGVFFTeEZRVUZQTEZWQlFWTXNSMEZCVFN4RlFVTndRMEVzUlVGQlR5eFhRVUZWTEVWQlEycENMRXRCUVVzc1QwRkJVMEVzUlVGQlR5eGxRVUZsTEVOQlFVTXNSVUZEY2tNc1MwRkJTeXhOUVVGUlFTeEZRVUZQTEdGQlEzQkNMRXRCUVVzc1QwRkJVMEVzUlVGQlR5eFpRVU4yUWl4RFFVRkRMRVZCUjBSUExFVkJRVlVzWTBGQll5eFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRMME1zUzBGQlN5eExRVUZQUVN4RlFVRlBMRmxCUTNKQ0xFTkJRVU1zUlVGSFJFOHNSVUZCVlN4alFVRmpMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU12UXl4TFFVRkxMRXRCUVU5QkxFVkJRVThzV1VGRGNrSXNRMEZCUXl4RlFVZEVUeXhGUVVGVkxHTkJRV01zVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUXk5RExFdEJRVXNzVlVGQldVRXNSVUZCVHl4WlFVTXhRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTMEZCU3l4VlFVRlpRU3hGUVVGUExGbEJRekZDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hqUVVGakxFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTXZReXhMUVVGTExGVkJRVmxCTEVWQlFVOHNXVUZETVVJc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTTNSQ3hMUVVGTExHZENRVUZuUWtFc1EwRkJUU3hGUVVNelFpeExRVUZMTEdWQlFXbENRU3hGUVVGUExGbEJReTlDTEVWQlIwRlBMRVZCUVZVc2NVSkJRWEZDTEUxQlFVMHNSVUZEY2tOQkxFVkJRVlVzYzBKQlFYZENMRk5CUVZOb2MwSXNSVUZCVFhWVUxFVkJRVTA0V1N4RlFVRlZhRWNzUlVGQlR5eERRVU4wUlRKR0xFVkJRVlVzU1VGQlNTeExRVUZMTEV0QlFVMW9jMElzUlVGQlRYVlVMRU5CUVVrc1JVRkRia01zUzBGQlN5eFRRVUZYT0Zrc1JVRkRhRUlzUzBGQlN5eE5RVUZSYUVjc1EwRkRaaXhGUVVOQk1rWXNSVUZCVlN4elFrRkJjMElzVlVGQldTeEpRVUZKUVN4RlFVRlZMRWxCUXpGRVFTeEZRVUZWTEhOQ1FVRnpRaXhWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnFSU3hMUVVGTExGVkJRVmxCTEVWQlFVOHNhVUpCUVdsQ0xFdEJRVXNzUzBGQlR5eExRVUZMTEZWQlFWa3NRMEZCUXl4RFFVTjZSU3hGUVVkQlR5eEZRVUZWTEZGQlFWRXNWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGSGJrUXNVVUZHU1RSQ0xFVkJRMEZVTEVWQlEwZHVRaXhGUVVGUExGbEJRV0VzUlVGQlJ5eExRVUZMTEUxQlFWRXNTMEZCU3l4TlFVVTVReXhIUVVSQk5FSXNSVUZCVFhKQ0xFVkJRVlVzV1VGQldWQXNSVUZCVVN4SFFVRk5MRXRCUVVzc1RVRkJVVUVzUlVGQlR5eFpRVUZoTEVWQlFVY3NTMEZCU3l4TlFVRk5MRVZCUTNKR05FSXNSVUZCU1N4UFFVRlRja0lzUlVGQlZTeEhRVU42UWxrc1JVRkJUU3hKUVVGSldpeEZRVUZWTEhOQ1FVRnpRbkZDTEVWQlFVa3NTMEZCVFVFc1JVRkJTU3hMUVVGTlFTeEZRVUZKTEZOQlFWVkJMRVZCUVVrc1MwRkJTeXhGUVVOcVJsUXNSVUZCU1N4UlFVRlZXaXhGUVVGVkxFbEJRVWtzVlVGQlZTeFBRVUZUV1N4RlFVRkpMRTlCUVZNc1UwRkRPVVI0Unl4RlFVRkpMRXRCUVVzc1dVRkJZU3hyUWtGQmIwSjNSeXhGUVVGSkxFdEJRVThzYlVaQlFXMUdMRVZCUTNoSlFTeEZRVUZKTEcxQ1FVRnRRbTVDTEVOQlFVMHNSMEZGTDBKdFFpeEZRVUZKTEUxQlFVMXVRaXhEUVVGTkxFVkJRMmhDTEV0QlFVc3NUVUZCVFN4TFFVRkxiVUlzUTBGQlJ5eE5RVVZ1UWl4UFFVZE9MRVZCUjBGYUxFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVWR1UkN4SlFVWkJMRXRCUVVzc1UwRkJWMEVzUlVGQlR5eGhRVU4yUWl4TFFVRkxMRTFCUVZFc1IwRkRUa0VzUlVGQlR5eFpRVUZoTEVWQlFVY3NTMEZCU3l4TlFVRlJMRXRCUVVzc1RVRkZPVU1zUjBGRVFTeEpRVUZOVHl4RlFVRlZMRmxCUVZsUUxFVkJRVkVzUjBGQlR5eExRVUZMTEUxQlFWRkJMRVZCUVU4c1dVRkJZU3hGUVVGSExFdEJRVXNzVFVGQlRTeEZRVU4wUml4SlFVRkpMRTlCUVZOUExFVkJRVlVzUjBGRGVrSXNTVUZCVFN4SlFVRkpMRWxCUTFZc1MwRkJTeXhOUVVGTkxFdEJRVXNzUjBGQlJ5eE5RVVZ1UWl4UFFVZE9MRU5CUVVNc1JVRkhSRUVzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1UwRkJWMEVzUlVGQlR5eGhRVU4yUWl4TFFVRkxMR2xEUVVGdFEwRXNSVUZCVHl4aFFVTXZReXhMUVVGTE
1xIZENRVUV3UWtFc1JVRkJUeXhoUVVOMFF5eExRVUZMTEc5Q1FVRnpRa0VzUlVGQlR5eGhRVU5zUXl4TFFVRkxMSEZDUVVGMVFrRXNSVUZCVHl4WlFVTnlReXhEUVVGRExFVkJSMFJQTEVWQlFWVXNZMEZCWXl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTMEZCU3l4VlFVRlpRU3hGUVVGUExGbEJRekZDTEVOQlFVTXNSVUZIUkU4c1JVRkJWU3hyUWtGQmEwSXNUMEZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEVsQlFVazRSU3hGUVVGWkxFVkJiVUpvUWl4SFFXeENRU3hMUVVGTExHRkJRV1U1UlN4RlFVRlBMR0ZCUXpOQ09FVXNSMEZCWVN4RlFVTlVMRXRCUVVzc1MwRkJUeXhMUVVGTExGTkJRVmRCTEVkQlFXTXNTMEZCU3l4TlFVRlJka1VzUlVGQlZTeDNRa0ZEYmtVc1MwRkJTeXhaUVVGalVDeEZRVUZQTEZsQlF6RkNPRVVzUjBGQllTeEhRVVZpTEV0QlFVc3NXVUZCWXl4RlFVVnFRaXhMUVVGTExFdEJRVThzUzBGQlN5eFRRVUZYUVN4SFFVRmpMRXRCUVVzc1RVRkJVWFpGTEVWQlFWVXNkVUpCUTI1RkxFdEJRVXNzYlVKQlFYRkNVQ3hGUVVGUExHRkJRMnBET0VVc1IwRkJZU3hIUVVWaUxFdEJRVXNzYlVKQlFYRkNMRVZCUlRWQ0xFdEJRVXNzWjBKQlFXdENMRWRCUTNaQ0xFdEJRVXNzV1VGQll5eEhRVU51UWl4TFFVRkxMR0ZCUVdVc1IwRkRjRUlzUzBGQlN5d3JRa0ZCYVVNc1IwRkRiRU1zUzBGQlN5eExRVUZQTEV0QlFVc3NVMEZCVjBFc1JVRkRPVUlzVVVGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1N4TFFVRkxMR0ZCUVdNc1NVRkRha01zUzBGQlN5eE5RVUZSZGtVc1JVRkJWU3h6UWtGRGVrSXNTMEZCU3l4blFrRkJaMElzUTBGQlF5eEZRVUZKVUN4RlFVRlBMRmRCUVZVc1IwRkZla01zUzBGQlN5eE5RVUZSVHl4RlFVRlZMR3RDUVVONlFpeExRVUZMTEZsQlFWa3NRMEZCUXl4RlFVRkpVQ3hGUVVGUExGZEJRVlVzUjBGRmNrTXNTMEZCU3l4TlFVRlJUeXhGUVVGVkxHMUNRVU42UWl4TFFVRkxMR0ZCUVdFc1EwRkJReXhGUVVGSlVDeEZRVUZQTEZkQlFWVXNSMEZGZEVNc1MwRkJTeXhOUVVGUlR5eEZRVUZWTEhkQ1FVTnlRaXhMUVVGTExGVkJRVmtzUlVGRGJrSXNTMEZCU3l3clFrRkJLMElzUTBGQlF5eEZRVUZKVUN4RlFVRlBMRmRCUVZVc1JVRkZNVVFzUzBGQlN5d3JRa0ZCSzBJc1EwRkJReXhGUVVGSlFTeEZRVUZQTEZWQlFWTXNSVUZMYmtVc1EwRkJReXhGUVVkRVR5eEZRVUZWTEd0Q1FVRnJRaXhQUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1MwRkJTeXhoUVVGbFFTeEZRVUZQTEdGQlF6TkNMRWxCUVVrNFJDeEhRVUZUTEV0QlFVc3NTMEZCVHl4TFFVRkxMRk5CUVZjc1IwRkJTeXhGUVVNNVF5eExRVUZMTEdWQlFXbENMRWRCUTNSQ0xGRkJRVk1zUlVGQlNTeEZRVUZITEVWQlFVbEJMRVZCUVU4c1NVRkRla0lzUzBGQlN5eGxRVUZsTEVOQlFVTXNSVUZCU1RsRUxFVkJRVThzVjBGQlZTeERRVVU1UXl4RFFVRkRMRVZCUjBSUExFVkJRVlVzYTBKQlFXdENMRTlCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4TFFVRkxMRTlCUVZOQkxFVkJRVThzWVVGRGRrSXNRMEZCUXl4RlFVZEVUeXhGUVVGVkxHdENRVUZyUWl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGREwwTXNTMEZCU3l4UlFVRlZMRWxCUTJwQ0xFdEJRVXNzVTBGQlYwRXNSVUZCVHl4alFVVXpRaXhEUVVGRExFVkJSMFJQTEVWQlFWVXNhMEpCUVd0Q0xFOUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hMUVVGTExFdEJRVTlCTEVWQlFVOHNZMEZEWml4TFFVRkxMRXRCUVU4c1MwRkJTeXhUUVVGWExFdEJRVXNzUzBGQlN5eFBRVUZUTEVWQlFVa3NTVUZEY2tRc1MwRkJTeXhUUVVGWFFTeEZRVUZQTEdOQlJUTkNMRU5CUVVNc1JVRkhSRThzUlVGQlZTeGpRVUZqTEcxRFFVRnZReXhIUVVGTkxFZEJRVThzVTBGQlUxQXNSVUZCVVN4RFFVTjRSaXhMUVVGTExHMUNRVUZ4UWtFc1JVRkJUeXhYUVVGWExFdEJRVXNzUzBGQlR5eExRVUZMTEZGQlFWRXNSVUZEYkVVc1VVRkJVU3hMUVVGTkxFOUJRVThzUlVGRGNrSXNVVUZCVVN4TFFVRk5MRTFCUVUwc1JVRkRjRUlzVVVGQlVTeExRVUZOTEUxQlFVMHNSVUZEY0VJc1VVRkJVU3hMUVVGTkxGRkJRVkVzUlVGRGRFSXNVVUZCVVN4TFFVRk5MRkZCUVZFc1EwRkRNMElzUTBGQlF5eEZRVU5FVHl4RlFVRlZMR05CUVdNc2JVTkJRVzlETEVkQlFVMHNSMEZCVHl4VFFVRlRVQ3hGUVVGUkxFTkJRM2hHTEV0QlFVc3NWVUZCV1U4c1JVRkJWU3hYUVVGWFVDeERRVUZOTEVWQlF6VkRMRWxCUVVsblJTeEZRVUZYYUVVc1JVRkJUeXhoUVVOc1FtZEZMRVZCUVZjc1NVRkRZaXhMUVVGTExFdEJRVTlvUlN4RlFVRlBMR1ZCUVdWblJTeERRVUZSTEVWQlJUbERMRU5CUVVNc1JVRkhSSHBFTEVWQlFWVXNZMEZCWXl4dFEwRkJiME1zUjBGQlRTeEZRWFZDYkVVc1JVRkZRVUVzUlVGQlZTeGpRVUZqTEcxRFFVRnZReXhIUVVGTkxFZEJRVThzVTBGQlUxQXNSVUZCVVN4RFFVTjRSaXhMUVVGTExHOUNRVUZ6UWtFc1JVRkJUeXhoUVVOc1F5eExRVUZMTEdkQ1FVRnJRa0VzUlVGQlR5eFpRVU01UWl4TFFVRkxMRmxCUVdOUExFVkJRVlVzVjBGQlYxQXNRMEZCVFN4RFFVTm9SQ3hEUVVGRExFVkJRMFJQTEVWQlFWVXNZMEZCWXl4dFEwRkJiME1zUjBGQlRTeEhRVUZQTEZOQlFWTlFMRVZCUVZFc1EwRkRlRVlzUzBGQlN5eGxRVUZwUWtFc1JVRkJUeXhaUVVNM1FpeExRVUZMTEZGQlFWVXNSMEZGWml4UlFVRlRPWEpDTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExHVkJRV2RDUVN4SlFVRkxMRU5CUXpWRExFbEJRVWsyZFVJc1JVRkJVU3hEUVVGQkxFVkJRMUpwUXl4RlFVRm5RaXhGUVVOb1FrTXNSVUZCYjBJc1JVRkZjRUlzUzBGQlN5eFZRVUZaTEVkQlEyNUNSQ3hGUVVGblFtaEdMRVZCUVU4c1lVRkRka0pwUml4RlFVRnZRbXBHTEVWQlFVOHNaVUZGTTBKblJpeEZRVUZuUW1oR0xFVkJRVThzWVVGRGRrSnBSaXhGUVVGdlFtcEdMRVZCUVU4c1kwRkhOMElyUXl4RlFVRk5MR05CUVdkQ2FVTXNSVUZEZEVKcVF5eEZRVUZOTEd0Q1FVRnZRbXRETEVWQlJURkNMRXRCUVVzc1VVRkJVU3hMUVVGTGJFTXNRMEZCU3l4RFFVTjRRaXhEUVVOSUxFTkJRVU1zUlVGRFJIaERMRVZCUVZVc1kwRkJZeXh0UTBGQmIwTXNSMEZCVFN4SFFVRlBMRk5CUVZOUUxFVkJRVkVzUTBGRGNFWXNTMEZCU3l4VlFVRlpMRWRCUTI1Q0xFdEJRVXNzWTBGQlowSkJMRVZCUVU4c1lVRkROVUlzUzBGQlN5eFRRVUZYUVN4RlFVRlBMR1ZCUlhaQ0xFdEJRVXNzWTBGQlowSkJMRVZCUVU4c1lVRkROVUlzUzBGQlN5eFRRVUZYUVN4RlFVRlBMR0ZCUlROQ0xFTkJRVU1zUlVGRFJFOHNSVUZCVlN4clFrRkJhMElzVDBGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFdEJRVXNzWVVGQlpVRXNSVUZCVHl4aFFVTXpRaXhMUVVGTE
1xGRkJRVlZCTEVWQlFVOHNaMEpCUVdkQ0xFTkJRVU1zUTBGRGVrTXNRMEZCUXl4RlFVZEVUeXhGUVVGVkxHdENRVUZyUWl4UFFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTVUZCU1RkRExFVkJRMEVzUzBGQlN5eFZRVUZaTEVkQlEyNUNMRXRCUVVzc1VVRkJWVFpETEVWQlFVOHNXVUZEZEVJc1MwRkJTeXhOUVVGUlFTeEZRVUZQTEZsQlEzQkNOME1zUlVGQlRUWkRMRVZCUVU4c1dVRkRZaXhMUVVGTExGTkJRVmMzUXl4SFFVRlBMRVZCUTNaQ0xFdEJRVXNzYTBKQlFYRkNRU3hIUVVGUExFVkJRVXNzUlVGRGRFTXNTMEZCU3l4dFFrRkJjVUpCTEVWQlFVMHNSVUZEYUVNc1MwRkJTeXhuUWtGQmEwSTJReXhGUVVGUExGbEJRemxDTEV0QlFVc3NkMEpCUVRCQ1FTeEZRVUZQTEZsQlEzUkRMRXRCUVVzc2JVSkJRWEZDUVN4RlFVRlBMRmxCUTJwRExFdEJRVXNzTWtKQlFUWkNRU3hGUVVGUExHRkJRM3BETEV0QlFVc3NkVUpCUVhsQ1FTeEZRVUZQTEdWQlFXVXNTMEZCU3l3d1FrRkJNRUlzU1VGRmJrWXNTMEZCU3l4UlFVRlZRU3hGUVVGUExGbEJRM1JDTEV0QlFVc3NUVUZCVVVFc1JVRkJUeXhaUVVOd1FqZERMRVZCUVUwMlF5eEZRVUZQTEZsQlEySXNTMEZCU3l4VFFVRlpOME1zUjBGQlR5eEZRVUZMTEVkQlF6ZENMRXRCUVVzc1YwRkJZVUVzUlVGQlRTeEhRVU40UWtFc1JVRkJUVFpETEVWQlFVOHNXVUZEWWl4TFFVRkxMR3RDUVVGeFFqZERMRWRCUVU4c1JVRkJTeXhIUVVOMFF5eExRVUZMTEdsQ1FVRnZRa0VzUjBGQlR5eEZRVUZMTEVWQlEzSkRMRXRCUVVzc2JVSkJRWEZDUVN4RlFVRk5MRVZCUTJoRExFdEJRVXNzTWtKQlFUWkNOa01zUlVGQlR5eGhRVU42UXl4TFFVRkxMSFZDUVVGNVFrRXNSVUZCVHl4bFFVRmxMRXRCUVVzc01FSkJRVEJDTEVWQlJYWkdMRU5CUVVNc1JVRkRSRThzUlVGQlZTeGpRVUZqTEU5QlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVNdlF5eExRVUZMTEV0QlFVOUJMRVZCUVU4c1YwRkJWeXhMUVVGTExFdEJRVThzUzBGQlN5eFJRVUZSTEVOQlEzcEVMRU5CUVVNc1JVRkhSRThzUlVGQlZTeHJRa0ZCYTBJc1QwRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRWxCUVVrNWNrSXNSVUZCUjNsSExFVkJSMGgxY1VJc1JVRkJXU3hEUVVOa0xGVkJRVmNzVDBGRFdDeGpRVUZsTEVWQlJXWXNiMEpCUVhGQ0xGTkJRVk5ETEVWQlFVMHNRMEZEYkVNc1MwRkJTeXhWUVVGWlFTeEZRVUZMTEZsQlEzUkNMRXRCUVVzc1kwRkJaMElzUTBGRGRFSXNSVUZEUkN4dlFrRkJjVUlzVTBGQlUwRXNSVUZCVFN4RFFVTnNReXhMUVVGTE
1xGVkJRVmxCTEVWQlFVc3NZVUZEZEVJc1MwRkJTeXhqUVVGblFpeEZRVU4wUWl4RlFVVkVMR0ZCUVdNc1UwRkJVME1zUlVGQlZTeERRVU12UWl4SlFVRkplRVFzUlVGQlR5eExRVUZMTEZkQlFXTXNTMEZCU3l4alFVRm5RbmRFTEVkQlFXVXNSMEZCUzBFc1IwRkJXU3hGUVVOdVJpeFpRVUZMTEdWQlFXbENRU3hGUVVObWVFUXNRMEZEVWl4RFFVTk1MRVZCVVVVc1IwRk1RWE5FTEVWQlFWVXNiMEpCUVc5Q2JFWXNRMEZCVFN4RlFVTndRMnRHTEVWQlFWVXNZVUZCWVN4RFFVRkRMRVZCUTNoQ0xFdEJRVXNzYlVKQlFYRkNRU3hGUVVGVkxHRkJRV0VzUTBGQlF5eEZRVU5zUkN4TFFVRkxMR2xDUVVGdFFrRXNSVUZCVlN4aFFVRmhMRU5CUVVNc1JVRkZOVU1zUzBGQlN5eHBRa0ZCYTBJc1EwRkRla0pCTEVWQlFWVXNiMEpCUVc5Q2JFWXNRMEZCVFN4RlFVTndReXhMUVVGTExGRkJRVlZyUml4RlFVRlZMR0ZCUVdFc1EwRkJReXhGUVVOMlF5eExRVUZMTEdOQlFXZENRU3hGUVVGVkxHRkJRV0VzUTBGQlF5eEZRVU0zUXl4TFFVRkxMRzlDUVVGelFrRXNSVUZCVlN4aFFVRmhMRU5CUVVNc1JVRkRia1FzUzBGQlN5eHJRa0ZCYjBKQkxFVkJRVlVzWVVGQllTeERRVUZETEVWQlJXcEVRU3hGUVVGVkxHOUNRVUZ2UW14R0xFTkJRVTBzUlVGRGNFTXNTMEZCU3l4cFFrRkJiVUpyUml4RlFVRlZMR0ZCUVdFc1EwRkJReXhGUVVOb1JFRXNSVUZCVlN4aFFVRmhMRU5CUVVNc1JVRkhlRUlzUTBGalJTeEhRV0pCUVN4RlFVRlZMRzlDUVVGdlFteEdMRU5CUVUwc1JVRkRjRU5yUml4RlFVRlZMR0ZCUVdFc1EwRkJReXhGUVVONFFpeExRVUZMTERCQ1FVRTBRa0VzUlVGQlZTeGhRVUZoTEVOQlFVTXNSVUZEZWtRc1MwRkJTeXh2UWtGQmMwSkJMRVZCUVZVc1lVRkJZU3hEUVVGRExFVkJRMjVFTEV0QlFVc3NhMEpCUVc5Q1FTeEZRVUZWTEdGQlFXRXNRMEZCUXl4RlFVVnFSQ3hMUVVGTExHdENRVUZ2UW14R0xFVkJRVThzV1VGRmFFTnJSaXhGUVVGVkxHOUNRVUZ2UW14R0xFTkJRVTBzUlVGRGNFTXNTMEZCU3l3clFrRkJhVU5yUml4RlFVRlZMR0ZCUVdFc1EwRkJReXhGUVVNNVJDeExRVUZMTERSQ1FVRTRRa0VzUlVGQlZTeGhRVUZoTEVOQlFVTXNSVUZGTTBRc1MwRkJTeXgzUWtGQk1FSXNTVUZCU1N4WFFVRlhMRXRCUVVzc2VVSkJRWGxDTEVWQlEzaEZMRXRCUVVzc01FSkJRVEpDTEVOQlEyeERMRWxCUVV0b2VFSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzTUVKQlFUUkNMRVZCUVVkQkxFbEJRVXNzUTBGRGRrUXNTVUZCU1cxNFFpeEZRVUZUU0N4RlFVRlZMR0ZCUVdFc1EwRkJReXhGUVVOeVEwRXNSVUZCVlN4dlFrRkJiMEpzUml4RFFVRk5MRVZCUTNCRExFbEJRVWx6Uml4RlFVRlRTaXhGUVVGVkxHRkJRV0VzUTBGQlF5eEZRVVZ5UXl4TFFVRkxMSGRDUVVGM1FtaDRRaXhEUVVGRExFVkJRVTF0ZUVJc1IwRkJWU3hGUVVGTFF5eERRVU53UkN4RFFVTkVMRXRCUVVzc2QwSkJRWGRDTEV0QlFVc3NNRUpCUVRSQ0xFTkJRVU1zUlVGQlNVb3NSVUZCVlN4aFFVRmhMRU5CUVVNc1EwRkRia2NzVFVGRlVVRXNSVUZCVlN4aFFVRmhMRU5CUVVNc1JVRkxNVUlzU1VGR1FVRXNSVUZCVlN4dlFrRkJiMEpzUml4RFFVRk5MRVZCUTNCRExFdEJRVXNzTUVKQlFUUkNMRVZCUXpWQ2NteENMRVZCUVVrc1MwRkJTeXhqUVVGblFpeEZRVUZIUVN4SFFVRkxMRVZCUVVjc1JVRkJSVUVzUlVGQlJ5eERRVU0xUXl4SlFVRkpNbEVzUlVGQlRUUmFMRVZCUVZVc1lVRkJZU3hEUVVGRExFVkJRMnhETEV0QlFVc3NNa0pCUVRaQ05Wb3NSMEZCVHpOUkxFTkJRekZETEVOQlEwUXNTVUZCUzBFc1JVRkJTU3hMUVVGTExHTkJRV1ZCTEVkQlFVc3NSMEZCU3l4TFFVRkxMR05CUVdkQ0xFVkJRVWNzUlVGQlJVRXNSVUZETDBSMWNVSXNSVUZCVlN4aFFVRmhMRU5CUVVNc1JVRkhNVUlzU1VGQlMzWnhRaXhGUVVGSkxFdEJRVXNzWTBGQlowSXNSVUZCUjBFc1IwRkJTeXhGUVVGSExFVkJRVVZCTEVWQlEzSkRMRXRCUVVzc01FSkJRVFpDTEVkQlFVdEJMRWxCUTNwRExFdEJRVXNzYlVKQlFXMUNRU3hEUVVGRExFVkJRVWx4YkVJc1JVRkJUeXhWUVVGVExFZEJUV3BFTEVkQlJrRXNTMEZCU3l4eFFrRkJkVUpCTEVWQlFVOHNXVUZEYmtNc1MwRkJTeXgzUWtGQk1FSXNSMEZETTBJc1MwRkJTeXh4UWtGRFVDeEpRVUZMT1hKQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4TFFVRkxMSEZDUVVGelFrRXNTVUZEZWtNc1MwRkJTeXgzUWtGQmQwSXNTMEZCU3poeVFpeEZRVUZQTEZkQlFWa3NRMEZCUVN4RFFVY3hSQ3hEUVVWRUxFdEJRVXNzYTBKQlFXOUNRU3hGUVVGUExHRkJRMmhETEV0QlFVc3NiVUpCUVhGQ1FTeEZRVUZQTEdGQlEycERMRXRCUVVzc1pVRkJhVUpCTEVWQlFVOHNXVUZET1VJc1EwRkZSQ3hKUVVGSmRVWXNSVUZCWlN4SFFVTm1ReXhGUVVGeFFpeEhRVVY2UWl4TFFVRkxMRmxCUVdNc1IwRkRia0lzU1VGQlNVTXNSVUZCWjBKNlJpeEZRVUZQTEZsQlF6TkNMRWxCUVVzNWNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmRYaENMRVZCUVdWMmVFSXNTVUZCU3l4RFFVTnNReXhKUVVGSmJYWkNMRVZCUVdFc1EwRkJRU3hGUVVOcVFpeExRVUZMTEZsQlFWa3NTMEZCUzBFc1EwRkJWU3hGUVVWb1F6WkNMRVZCUVZVc2IwSkJRVzlDYkVZc1EwRkJUU3hGUVVOd1EzRkVMRVZCUVZjc1lVRkJaVFpDTEVWQlFWVXNZVUZCWVN4RFFVRkRMRVZCUTJ4RVFTeEZRVUZWTEdGQlFXRXNRMEZCUXl4RlFVTjRRamRDTEVWQlFWY3NWVUZCV1RaQ0xFVkJRVlVzWVVGQllTeERRVUZETEVWQlJTOURMRWxCUVVrMVFpeEZRVUZYTEVWQlMyWXNTVUZLU1VRc1JVRkJWeXhYUVVGaGJVTXNSMEZCYzBKdVF5eEZRVUZYTEZkQlFXRnJReXhKUVVONFJXcERMRVZCUVZkMFJDeEZRVUZQTEdOQlIyWnliRUlzUlVGQlNTeEZRVUZIUVN4RlFVRkpNbTlDTEVWQlFWVXpiMElzU1VGQlN5eERRVU0zUWl4SlFVRkpNbWxDTEVWQlFVMHdReXhGUVVGUExHRkJRMnBDY1VRc1JVRkJWeXhMUVVGTExFTkJRMlFzUzBGQlRYSkVMRVZCUVU4c1pVRkJaVEZETEVOQlFVY3NSVUZETDBJc1QwRkJVVUVzUTBGRGFFSXNRMEZCVHl4RFFVTkdMRU5CUTBZc1EwRkRTQ3hEUVVGRExFVkJSVVJwUkN4RlFVRlZMR3RDUVVGclFpeFBRVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkZia1FzU1VGQlNUZERMRVZCUVUwc1MwRkJTeXhaUVVObUxFdEJRVXNzYlVKQlFYTkNRU3hGUVVGTkxFTkJRMjVETEVOQlFVTXNSVUZGUkc5RUxFVkJRVlVzV1VGQldTeFZRVUZWTEZGQlFWVXNWVUZCVnl4RFFVTnVSQ3hOUVVGUExFVkJRMVFzUlVGRlFVRXNSVUZCVlN4WlFVRlpMRlZCUVZVc1VVRkJWU3hWUVVGWExFTkJRMjVFTEUxQlFVOHNSVUZEVkN4RlFVVkJRU3hGUVVGVkxGbEJRVmtzVlVGQlZTeFhRVUZoTEZWQlFWY3NRMEZEZEVRc1RVRkJUeXhGUVVOVUxFVkJSVUZCTEVWQlFWVXNXVUZCV1N4VlFVRlZMRmRCUVdFc1ZVRkJWeXhEUVVOMFJDeE5RVUZQTEVWQlExUXNSVUZGUVVFc1JVRkJWU3haUVVGWkxGVkJRVlVzVDBGQlV5eFZRVUZYTEVOQlEyeEVMRTFCUVU4c1JVRkRWQ3hGUVVWQlFTeEZRVUZWTEZsQlFWa3NWVUZCVlN4VFFVRlhMRlZCUVZjc1EwRkRjRVFzVDBGQlR5eExRVUZMTEV0QlFVc3NVVUZCVVN4SlFVRkxMRVZCUVVVc1EwRkRiRU1zUlVGRlFVRXNSVUZCVlN4WlFVRlpMRlZCUVZVc1UwRkJWeXhWUVVGWExFTkJRM0JFTEUxQlFVOHNSVUZEVkN4RlFVVkJRU3hGUVVGVkxGbEJRVmtzVlVGQlZTeFZRVUZaTEZWQlFWY3NRMEZEY2tRc1RVRkJUeXhGUVVOVUxFVkJSVUZCTEVWQlFWVXNXVUZCV1N4VlFVRlZMR2RDUVVGclFpeFZRVUZYTEVOQlF6TkVMRTFCUVU4c1JVRkRWQ3hGUVVWQlFTeEZRVUZWTEZsQlFWa3NWVUZCVlN4alFVRm5RaXhWUVVGWExFTkJRM3BFTEUxQlFVOHNSVUZEVkN4RlFVVkJRU3hGUVVGVkxGbEJRVmtzVlVGQlZTeGpRVUZuUWl4VlFVRlhMRU5CUTNwRUxFMUJRVThzUlVGRFZDeEZRVVZCUVN4RlFVRlZMR3RDUVVGclFpeFZRVUZWTEZGQlFWVXNWVUZCVnl4RFFVTjZSQ3hOUVVGUExFVkJRMVFzUlVGRlFVRXNSVUZCVlN4clFrRkJhMElzVlVGQlZTeFRRVUZYTEZWQlFWY3NRMEZETVVRc1QwRkJUeXhMUVVGTE
1xFdEJRMlFzUlVGRlFVRXNSVUZCVlN4clFrRkJhMElzVlVGQlZTeFZRVUZaTEZWQlFWY3NRMEZETTBRc1QwRkJUeXhMUVVGTExFMUJRMlFzUlVGRlFVRXNSVUZCVlN4cFFrRkJhVUlzVlVGQlZTeFJRVUZWTEZWQlFWY3NRMEZEZUVRc1RVRkJUeXhGUVVOVUxFVkJSVUZCTEVWQlFWVXNhVUpCUVdsQ0xGVkJRVlVzWjBKQlFXdENMRlZCUVZjc1EwRkRhRVVzVDBGQlR5eExRVUZMTEdGQlEyUXNSVUZGUVVFc1JVRkJWU3hwUWtGQmFVSXNWVUZCVlN4alFVRm5RaXhWUVVGWExFTkJRemxFTEU5QlFVOHNTMEZCU3l4VlFVTmtMRVZCUlVGQkxFVkJRVlVzYVVKQlFXbENMRlZCUVZVc1kwRkJaMElzVlVGQlZ5eERRVU01UkN4UFFVRlBMRXRCUVVzc1ZVRkRaQ3hGUVVWQlFTeEZRVUZWTEc5Q1FVRnZRaXhWUVVGVkxGZEJRV0VzVlVGQlZ5eERRVU01UkN4TlFVRlBMRVZCUTFRc1JVRkZRVUVzUlVGQlZTeHZRa0ZCYjBJc1ZVRkJWU3hYUVVGaExGVkJRVmNzUTBGRE9VUXNUVUZCVHl4RlFVTlVMRVZCUjBGQkxFVkJRVlVzWVVGQlpTeFRRVUZUYlVZc1JVRkJSME1zUlVGQlV5eERRVU0xUXl4SlFVRkpjRVVzUlVGQlRTeFBRVUZQYlVVc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeEZRVVV2UWl4SlFVUkJReXhGUVVGVkxFOUJRVkZCTEVWQlFXRXNTMEZCWlVFc1NVRkJXU3hMUVVGUFFTeEZRVUZWTEVWQlFVbEJMRVZCUTNoRmNFVXNSVUZCU1N4UFFVRlRiMFVzUjBGRGJFSndSU3hGUVVGTkxFbEJRVTFCTEVWQlJXUXNUMEZCVDBFc1EwRkRWQ3hGUVVWQmFFSXNSVUZCVlN4blFrRkJaMElzVlVGQlZTeFRRVU5zUTBFc1JVRkJWU3huUWtGQlowSXNWVUZCVlN4VFFVTnNRMEVzUlVGQlZTeG5Ra0ZCWjBJc1ZVRkJWU3hUUVVOc1EwRXNSVUZCVlN4blFrRkJaMElzVlVGQlZTeFRRVUZYTEZWQlFWY3NRMEZEZUVRc1NVRkJTWEZHTEVWQlFWbHlSaXhGUVVGVkxGbEJRVmtzVlVGQlZTeFRRVUZUTEV0QlFVc3NTVUZCU1N4RlFVTnNSU3hQUVVGSkxFdEJRVXNzUzBGRFFYRkdMRVZCUVZrc1NVRkJUWEpHTEVWQlFWVXNZVUZCWVN4TFFVRkxMRXRCUVVzc2IwSkJRVzlDTEVWQlEzWkZRU3hGUVVGVkxHRkJRV0VzUzBGQlN5eExRVUZMTEhGQ1FVRnhRaXhGUVVOMFJFRXNSVUZCVlN4aFFVRmhMRXRCUVVzc1MwRkJTeXhyUWtGQmEwSXNSVUZGYmtSeFJpeERRVVZxUWl4RlFVVkJja1lzUlVGQlZTeG5Ra0ZCWjBJc1ZVRkJWU3hUUVVOc1EwRXNSVUZCVlN4blFrRkJaMElzVlVGQlZTeFRRVUZYTEZWQlFWY3NRMEZEZUVRc1NVRkJTWEp6UWl4RlFVTkJNSGhDTEVWQlFWbHlSaXhGUVVGVkxGbEJRVmtzVlVGQlZTeFRRVUZUTEV0QlFVc3NTVUZCU1N4RlFVTnNSU3hIUVVGSkxFdEJRVXNzUzBGQlRTeERRVVZpTEU5QlJFRnhSaXhIUVVGaExFbEJRMHdzUzBGQlN5eExRVUZMTEhOQ1FVRnhRaXhEUVVOeVF5eEpRVUZMTEVkQlEwaEJMRWRCUVdFc1IwRkRZaXhOUVVOR0xFbEJRVXNzUjBGRFNFRXNSMEZCWVN4SlFVTmlMRTFCUTBZc1NVRkJTeXhIUVVOSVFTeEhRVUZoTEVsQlEySXNUVUZEUml4SlFVRkxMRWRCUTBoQkxFZEJRV0VzU1VGRFlpeExRVU5JTEVOQlEwUkJMRWRCUVdFc1MwRkJTeXhMUVVGTExHOUNRVU4yUWtFc1IwRkJZU3hKUVVOaUxFbEJRVWwwWVN4RlFVRk5MRXRCUVVzc1MwRkJTeXc0UWtGRGFFSjFZU3hGUVVGWExFVkJRMllzU1VGQlN6TjRRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZEWkRKNFFpeEhRVUZaZG1Fc1JVRkJUU3hGUVVOa2NGZ3NSMEZCU3l4SlFVWlRRU3hKUVVkc1FqSjRRaXhKUVVGaExFVkJRMkoyWVN4SlFVRlJMRVZCUlZaellTeEhRVUZoY2tZc1JVRkJWU3hoUVVGaGMwWXNSVUZCVlN4RFFVRkRMRVZCUXk5RFJDeEhRVUZoTEVsQlExUXNTMEZCU3l4TFFVRkxMRzlDUVVGelFpeEZRVU5zUTBFc1IwRkJZU3hKUVVWaVFTeEhRVUZoTEVsQlJXWkJMRWRCUVdFc1MwRkJTeXhMUVVGTExHdENRVU4yUWl4SlFVRkpSU3hGUVVGVkxFZEJRMVpETEVWQlFXOUNMRWRCUTNoQ0xFbEJRVXMzZUVJc1JVRkJTU3hGUVVGSFFTeEhRVUZMTEVWQlFVZEJMRXRCUTJRc1MwRkJTeXhMUVVGTExEWkNRVUUyUWtFc1EwRkJReXhIUVVGTE5IaENMRXRCUXk5RFF5eEZRVUZ2UWl4SlFVRk5lRVlzUlVGQlZTeGhRVUZoTEV0QlFVc3NTMEZCU3l3MlFrRkJOa0p5YzBJc1EwRkJReXhGUVVGSExFTkJRVU1zUlVGQlNUWjRRaXhGUVVOcVIwUXNSVUZCVlN4SlFVZGtSaXhIUVVGaFJ5eERRVU5rTEVOQlEwUXNUMEZCVDBnc1EwRkRXQ3hGUVVWQmNrWXNSVUZCVlN4blFrRkJaMElzVlVGQlZTeFRRVU5zUTBFc1JVRkJWU3huUWtGQlowSXNWVUZCVlN4VFFVRlhMRlZCUVZjc1EwRkRlRVFzU1VGQlNYSnpRaXhGUVVOQk1IaENMRVZCUVZseVJpeEZRVUZWTEZsQlFWa3NWVUZCVlN4VFFVRlRMRXRCUVVzc1NVRkJTU3hGUVVOc1JTeEhRVUZKTEV0QlFVc3NTMEZCVFN4RFFVTmljVVlzUjBGQllTeEpRVUZOTEV0QlFVc3NTMEZCU3l4dlFrRkRla0lzUzBGQlN5eExRVUZMTEd0Q1FVTmFRU3hIUVVGaExFdEJSV0pCTEVkQlFXRXNTMEZGWmtFc1IwRkJZU3hMUVVGTExFdEJRVXNzYTBKQlJYWkNMRWxCUVVsSExFVkJRVzlDTEVkQlEzaENMRWRCUVVrc1MwRkJTeXhMUVVGTExIZENRVUY1UWl4RFFVTnlReXhKUVVGSlF5eEZRVUZSTEVOQlFVRXNSVUZEVW5oRExFVkJRVThzUlVGRFdFRXNSMEZCVVN4TFFVRkxMRXRCUVVzc01rSkJRVFpDTEVWQlF5OURRU3hIUVVGUkxFdEJRVXNzUzBGQlN5eDNRa0ZCTUVJc1JVRkROVU1zU1VGQlNYbERMRVZCUTBvc1NVRkJTeTk0UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUzBGQlN5eExRVUZMTEhkQ1FVRjNRaXhQUVVGUkxFVkJRVVZCTEVWQlF6RkVjM1pDTEVkQlFWTXNTMEZCU3l4TFFVRkxMSGRDUVVGM1FuUjJRaXhEUVVGRExFZEJRVXNzUlVGQlN5eEhRVU4wUkRoNFFpeEZRVUZOTEV0QlFVdDRReXhEUVVGSkxFVkJRMWhCTEVsQlEwWjVReXhGUVVGbEwzaENMRWRCUjJwQ2MzWkNMRVZCUVZFc1MwRkJTeXhMUVVGTExIZENRVUYzUW5SMlFpeERRVUZETEVkQlFVc3NSVUZCU3l4RlFVZDJSQ3hIUVVGSkszaENMRWxCUVdsQ0xFOUJRMjVDUml4RlFVRnZRaXhWUVVObUxFTkJRMHhCTEVWQlFXOUNMRXRCUTNCQ0xFbEJRVWxITEVWQlFXVXNiVU5CUTJaRExFVkJRVmtzUlVGRFdrTXNSVUZCWjBJc1JVRkRjRUlzU1VGQlMyeDVRaXhGUVVGSkxFVkJRVWRCTEVkQlFVc3JlRUlzUlVGQll5eEZRVUZGTDNoQ0xFVkJTUzlDTEVsQlNFRnBlVUlzUlVGQllVRXNSMEZCWVN4RlFVRkxTQ3hGUVVGTk9YaENMRU5CUVVNc1JVRkRkRU5yZVVJc1IwRkJhVUlzUlVGRlZrRXNSMEZCYVVJc1IwRkJSeXhEUVVONlFpeEpRVUZKT1dFc1JVRkJUelpoTEVkQlFXTkRMRVZCUVdkQ0xFVkJRVTBzUjBGREwwTk1MRWRCUVhGQ1J5eEZRVUZoTldFc1EwRkJSeXhGUVVWeVF6aGhMRWRCUVdsQ0xFVkJRMnBDUkN4SlFVRmpMRWRCUVV0RExFZEJRV2xDTEVOQlEzSkRMRU5CUlVOQkxFbEJRMFpFTEVsQlFXVXNSVUZCU1VNc1JVRkRia0pNTEVkQlFYRkNSeXhGUVVGaFF5eEZRVUZaTEVWQlFVa3NSVUZGY2tRc1EwRkRSaXhEUVVORVVDeEhRVUZoUnl4RFFVTmtMRU5CUTBRc1QwRkJUMGdzUTBGRFdDeEZRVVZCY2tZc1JVRkJWU3huUWtGQlowSXNWVUZCVlN4VFFVRlhMRlZCUVZjc1EwRkRlRVFzU1VGQlNYRkdMRVZCUVZseVJpeEZRVUZWTEZsQlFWa3NWVUZCVlN4VFFVRlRMRXRCUVVzc1NVRkJTU3hGUVVOc1JTeEhRVUZKTEV0QlFVc3NUVUZCVVN4TFFVRkxMRXRCUVVzc1NVRkJTeXhEUVVNNVFpeEpRVUZKT0VZc1JVRkJUU3hMUVVGTExFdEJRVXNzU1VGQlNTeFBRVUZOTEVWQlF6RkNhRWNzUlVGQlRTeExRVUZMTEV0QlFVc3NTVUZCU1N4bFFVRmpMRVZCUTNSRExFOUJRVTkxUml4RlFVRlpMRWxCUVUxeVJpeEZRVUZWTEdGQlFXRTRSaXhEUVVGSExFZEJRVXRvUnl4RlFVRk5MRWxCUVUxQkxFVkJRVTBzUjBGRE9VVXNTMEZEU1N4UlFVRlBkVVlzUTBGRldDeEZRVVZCY2tZc1JVRkJWU3huUWtGQlowSXNWVUZCVlN4VFFVRlhMRlZCUVZjc1EwRkRlRVFzU1VGQlNYRkdMRVZCUVZseVJpeEZRVUZWTEZsQlFWa3NWVUZCVlN4VFFVRlRMRXRCUVVzc1NVRkJTU3hGUVVOc1JTeFBRVUZKTEV0QlFVc3NXVUZEUVhGR0xFVkJRVmtzU1VGQlRTeExRVUZMTEZsQlJYWkNRU3hEUVVWWUxFVkJSVUZ5Uml4RlFVRlZMR2RDUVVGblFpeFZRVUZWTEZOQlEyeERRU3hGUVVGVkxHZENRVUZuUWl4VlFVRlZMRk5CUVZjc1ZVRkJWeXhEUVVONFJDeEpRVUZKY1VZc1JVRkJXWEpHTEVWQlFWVXNXVUZCV1N4VlFVRlZMRk5CUVZNc1MwRkJTeXhKUVVGSkxFVkJRemxFTTA4c1JVRkJVU3hMUVVGTExFdEJRVXNzVFVGRGJFSkJMRWRCUVZNc1NVRkRXRUVzUlVGQlVTeE5RVVZXTEVsQlFVa3dWU3hGUVVGWExFdEJRVXNzUzBGQlN5eFRRVU42UWl4UFFVRkpRU3hIUVVGWkxFbEJRMlJCTEVWQlFWY3NUVUZGVGxZc1JVRkJXU3hMUVVGUExFdEJRVXNzUzBGQlN5eFJRVUZWTEVsQlFVMW9WU3hGUVVGUkxFbEJRVTB3VlN4RFFVTjBSU3hGUVVWQkwwWXNSVUZCVlN4blFrRkJaMElzVlVGQlZTeFRRVUZYTEZWQlFWY3NRMEZEZUVRc1NVRkJTWEZHTEVWQlFWbHlSaXhGUVVGVkxGbEJRVmtzVlVGQlZTeFRRVUZUTEV0QlFVc3NTVUZCU1N4RlFVTTVSRE5QTEVWQlFWRXNTME
1ZCU3l4TFFVRkxMR2RDUVVOc1FrRXNSVUZCVVN4TFFVTldRU3hGUVVGUkxFbEJRVTFCTEVkQlJXaENMRWxCUVVreVZTeEZRVU5LTEU5QlFVa3NTMEZCU3l4TFFVRkxMR05CUVdkQ0xFZEJRVXNzUzBGQlN5eExRVUZMTEdkQ1FVRnJRaXhGUVVNM1JFRXNSVUZCV1N4TFFVRkxMRXRCUVVzc1lVRkJaU3hGUVVGTExFdEJRVThzUzBGRGVFTXNTMEZCU3l4TFFVRkxMR0ZCUVdVc1NVRkRiRU5CTEVWQlFWa3NTMEZCU3l4TFFVRkxMR2RDUVVGclFpeEZRVUZMTEV0QlFVOHNUVUZITDBOWUxFVkJRVmtzU1VGQlRTeExRVUZMTEV0QlFVc3NXVUZCWXl4SlFVRk5hRlVzUjBGQlV5eExRVUZMTEV0QlFVc3NWMEZCWVN4SlFVRk5MRXRCUVU4c1NVRkJUVEpWTEVOQlF6VkhMRVZCVFVGb1J5eEZRVUZWTEVsQlFVa3NWVUZCVlN4WlFVRmpMRk5CUVZOUUxFVkJRVkY2U1N4RlFVRkxMRU5CUXpGRUxFdEJRVXNzVFVGQlVTeEZRVU5VTEV0QlFVc3NTMEZCVDJkSExFdEJRMlFzUzBGQlN5eE5RVUZSTEVkQlJWZ3NTMEZCU3l4UFFVRlRMRk5CUTJoQ0xFdEJRVXNzVFVGQlVTeEpRVVZtTlVNc1JVRkJTU3hOUVVGTkxGbEJRV0VzWlVGQmFVSXNTMEZCU3l4TFFVRlBMR0ZCUVdVc1MwRkJTeXhMUVVGUExHZENRVUZyUW5GR0xFVkJRVThzV1VGQllTeEhRVUZKZWtrc1IwRkJUeXhIUVVGSExFVkJReTlJTEV0QlFVc3NTMEZCVDJkSExFZEJRMlI1UXl4RlFVRlBMRmxCUVZrc1EwRkJReXhIUVVWd1FpeExRVUZMTEdGQlFXVkJMRVZCUVU4c1kwRkRNMEpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRWxCUVVrc1IwRkZPVUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRXRCUVUwc1MwRkJUU3hEUVVGRExFVkJRMnBETEV0QlFVc3NUMEZCVXl4UlFVTm9Ra0VzUlVGQlR5eG5Ra0ZCWjBJc1MwRkJTeXhKUVVGSkxFVkJSVGxDTEV0QlFVc3NTMEZCVDNwRExFbEJRMlI1UXl4RlFVRlBMRmxCUVZrc1MwRkJTeXhKUVVGSkxFTkJSV2hETEVWQlJVRlBMRVZCUVZVc1VVRkJVU3hWUVVGVkxGbEJRV01zVTBGQlUxQXNSVUZCVVN4RFFVTjZSQ3hMUVVGTExFMUJRVkVzUlVGRFlrOHNSVUZCVlN4SlFVRkpMRlZCUVZVc1dVRkJXU3hMUVVGTExFdEJRVTFRTEVWQlFWRXNUVUZCVVN4TFFVRkxMRkZCUVZVc1RVRkJVU3hMUVVGTExFdEJRVXNzUlVGRGFFZEJMRVZCUVU4c1YwRkJWeXhMUVVGTExFOUJRVThzUlVGRE9VSkJMRVZCUVU4c1dVRkJXU3hMUVVGTExFdEJRVXNzUTBGREwwSXNSVUZGUVU4c1JVRkJWU3hKUVVGSkxGVkJRVlVzVFVGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUXpORExFdEJRVXNzVDBGQlV5eFBRVVZhTEV0QlFVc3NUMEZEVUN4TFFVRkxMRXRCUVU4c1MwRkJTeXhMUVVGTExFOUJRM1JDTEV0QlFVc3NXVUZCV1VFc1EwRkJUU3hGUVVOMlFrRXNSVUZCVHl4blFrRkJaMElzUzBGQlN5eEpRVUZKTEVsQlIyeERMRXRCUVVzc1MwRkJVU3hMUVVGTExFdEJRVThzUzBGQlN5eExRVUZMTEU5QlFWTXNSVUZETlVNc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEyNUNMRXRCUVVzc1RVRkRVRUVzUlVGQlR5eG5Ra0ZCWjBJc1MwRkJTeXhKUVVGSkxFVkJSM1JETEVWQlJVRlBMRVZCUVZVc1lVRkJZU3hWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTjRSQ3hMUVVGTExFdEJRVThzUlVGRFdpeExRVUZMTEZsQlFWbEJMRU5CUVUwc1JVRkRka0lzVVVGQlV6bHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4TlFVRk5MRTlCUVZGQkxFbEJRMnBETEV0QlFVc3NUVUZCVFVFc1EwRkJReXhKUVVOa0xFdEJRVXNzVFVGQlRVRXNRMEZCUXl4RlFVRkZMRTFCUVUwNGNrSXNRMEZCVFN4RlFVTXhRaXhMUVVGTExFMUJRVkVzUzBGQlN5eE5RVUZOT1hKQ0xFTkJRVU1zUlVGQlJTeE5RVWt2UW5sdFFpeEZRVUZKTEUxQlFVMHNXVUZCWVN4cFFrRkJiVUlzUzBGQlN5eExRVUZQTEd0Q1FVRnZRaXhMUVVGTExFbEJRVWtzUlVGRGJrWnhSaXhGUVVGUExHRkJRV0VzUzBGQlN5eGhRVUZqTEV0QlFVc3NTVUZCU1N4RFFVTnNSQ3hGUVVWQlR5eEZRVUZWTEhOQ1FVRnpRaXhWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnFSU3hMUVVGTExFdEJRVThzUzBGQlN5eFZRVUZWTEU5QlFWTXNSVUZEY0VNc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNRU3hGUVVGUExHbENRVUZwUWl4TFFVRkxMRk5CUVZNc1EwRkRlRU1zUlVGSFFVOHNSVUZCVlN4UlFVRlJMRlZCUVZVc1RVRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRWxCUVVrNWNrSXNSVUZGU2l4SlFVUkJMRXRCUVVzc1MwRkJUeXhGUVVOUVFTeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1MwRkJTeXhKUVVGSkxFOUJRVkZCTEVsQlF5OUNMRXRCUVVzc1RVRkJVU3hGUVVGSkxFdEJRVXNzU1VGQlNVRXNRMEZCUXl4RlFVRkZMRTlCUlM5Q0xFbEJRVXRCTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExFbEJRVWtzVDBGQlVVRXNTVUZETDBJc1MwRkJTeXhOUVVGUkxFVkJRVWtzUzBGQlN5eEpRVUZKUVN4RFFVRkRMRVZCUVVVc1QwRlpMMElzU1VGV1NTeExRVUZMTEUxQlExQXNTMEZCU3l4TlFVRlJMRXRCUVVzc1NVRkJTU3hSUVVWNFFpeExRVUZMTEZsQlFWazRja0lzUTBGQlRTeEZRVU4yUWtFc1JVRkJUeXhYUVVGWExFdEJRVXNzYjBKQlFXOUNMRVZCUXpORFFTeEZRVUZQTEZkQlFWY3NTMEZCU3l4dlFrRkJiMElzUlVGRE0wTkJMRVZCUVU4c1YwRkJWeXhMUVVGTExIRkNRVUZ4UWl4RlFVTTFRMEVzUlVGQlR5eFhRVUZYTEV0QlFVc3NhMEpCUVd0Q0xFVkJRM3BEUVN4RlFVRlBMRmRCUVZjc1MwRkJTeXh0UWtGQmMwSXNSMEZCVVN4RlFVTnlSRUVzUlVGQlR5eFhRVUZYTEV0QlFVc3NTVUZCU1N4UFFVRlZMRWRCUVU4c1JVRkRka001Y2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEV0QlFVc3NTVUZCU1N4UFFVRlJRU3hKUVVNdlFqaHlRaXhGUVVGUExGbEJRVmtzUzBGQlN5eEpRVUZKT1hKQ0xFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlEzSkRPSEpDTEVWQlFVOHNaMEpCUVdkQ0xFdEJRVXNzU1VGQlNUbHlRaXhEUVVGRExFVkJRVVVzU1VGQlNTeEZRVWQ2UXl4SlFVUkJPSEpDTEVWQlFVOHNWMEZCVnl4TFFVRkxMRWxCUVVrc1RVRkJUU3hGUVVNMVFqbHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4SlFVRkpMRTlCUVZGQkxFbEJReTlDT0hK
1Q0xFVkJRVThzV1VGQldTeExRVUZMTEVsQlFVazVja0lzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZEY2tNNGNrSXNSVUZCVHl4blFrRkJaMElzUzBGQlN5eEpRVUZKT1hKQ0xFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlJYSkRMRXRCUVVzc1MwRkRVRGh5UWl4RlFVRlBMR2RDUVVGblFpeExRVUZMTEVkQlFVY3NRMEZGYmtNc1JVRkhRVThzUlVGQlZTeFJRVUZSTEZWQlFWVXNUVUZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEVsQlFVazVja0lzUlVGTlNpeEpRVXhCTEV0QlFVc3NVVUZCVlN4RlFVTm1MRXRCUVVzc1RVRkJVU3hGUVVOaUxFdEJRVXNzUzBGQlR5eEZRVUZKTEVWQlFVa3NTMEZCU3l4alFVRmpMRTlCUTNaRExFdEJRVXNzV1VGQldUaHlRaXhEUVVGTkxFVkJRM1pDUVN4RlFVRlBMRmxCUVZrc1MwRkJTeXhqUVVGakxFMUJRVTBzUlVGRGRrTTVja0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRXRCUVVzc1kwRkJZeXhQUVVGUlFTeEpRVU42UXpoeVFpeEZRVUZQTEZsQlFWa3NTMEZCU3l4alFVRmpPWEpDTEVOQlFVTXNRMEZCUXl4RFFVVTFReXhGUVVkQmNYTkNMRVZCUVZVc1VVRkJVU3hWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVVnVSQ3hMUVVGTExGRkJRVlVzUlVGRFppeExRVUZMTEUxQlFWRXNSVUZEWWl4TFFVRkxMRXRCUVU4c1JVRkJTU3hGUVVOb1FpeExRVUZMTEZsQlFWbEJMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNWMEZCVnl4TFFVRkxMSEZDUVVGeFFpeEZRVU0xUTBFc1JVRkJUeXhYUVVGWExFdEJRVXNzZVVKQlFYbENMRVZCUTJoRVFTeEZRVUZQTEZkQlFWY3NTMEZCU3l3MFFrRkJORUlzUlVGRGJrUkJMRVZCUVU4c1YwRkJWeXhMUVVGTExHOUNRVUZ2UWl4RlFVTXpRMEVzUlVGQlR5eFhRVUZYTEV0QlFVc3NhMEpCUVd0Q0xFTkJRek5ETEVWQlIwRlBMRVZCUVZVc1VVRkJVU3hWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hKUVVGSk9YSkNMRVZCVFVvc1NVRk1RU3hMUVVGTExGRkJRVlVzUlVGRFppeExRVUZMTEUxQlFWRXNSVUZEWWl4TFFVRkxMRXRCUVU4c1JVRkJTU3hGUVVGSkxFdEJRVXNzWTBGQll5eFBRVU4yUXl4TFFVRkxMRmxCUVZrNGNrSXNRMEZCVFN4RlFVTjJRa0VzUlVGQlR5eFpRVUZaTEV0QlFVc3NZMEZCWXl4TlFVRk5MRVZCUTNaRE9YSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEdOQlFXTXNUMEZCVVVFc1NVRkRla000Y2tJc1JVRkJUeXhaUVVGWkxFdEJRVXNzWTBGQll6bHlRaXhEUVVGRExFTkJRVU1zUlVGRGNFTXNTMEZCU3l4VlFVRlpMRVZCUTI1Q09ISkNMRVZCUVU4c1YwRkJWeXhMUVVGTExHVkJRV1U1Y2tJc1EwRkJReXhEUVVGRExFVkJSWGhET0hKQ0xFVkJRVThzV1VGQldTeExRVUZMTEdWQlFXVTVja0lzUTBGQlF5eERRVUZETEVOQlJ5OURMRVZCUjBGeGMwSXNSVUZCVlN4UlFVRlJMRlZCUVZVc1RVRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1VVRkJWU3hGUVVObUxFdEJRVXNzVFVGQlVTeEZRVU5pTEV0QlFVc3NTMEZCVHl4RlFVTmFMRXRCUVVzc1dVRkJXVUVzUTBGQlRTeEZRVU4yUWtFc1JVRkJUeXhaUVVGWkxFdEJRVXNzVVVGQlVTeE5RVUZOTEVWQlEzUkRMRkZCUVZNNWNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzVVVGQlVTeFBRVUZSUVN4SlFVTjJReXhMUVVGTExGRkJRVkZCTEVOQlFVTXNSVUZCUlN4TlFVRk5PSEpDTEVOQlFVMHNSVUZETlVJc1MwRkJTeXhOUVVGUkxFdEJRVXNzVVVGQlVUbHlRaXhEUVVGRExFVkJRVVVzUzBGSEwwSjViVUlzUlVGQlNTeE5RVUZOTEZsQlFXRXNhVUpCUVcxQ0xFdEJRVXNzUzBGQlR5eHJRa0ZCYjBJc1MwRkJTeXhKUVVGSkxFVkJRMjVHY1VZc1JVRkJUeXhoUVVGaExFdEJRVXNzWVVGQll5eExRVUZMTEVsQlFVa3NRMEZEYkVRc1JVRkhRVThzUlVGQlZTeFJRVUZSTEZWQlFWVXNUVUZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEV0QlFVc3NVVUZCVlN4RlFVTm1MRXRCUVVzc1RVRkJVU3hGUVVOaUxFdEJRVXNzUzBGQlR5eExRVUZMTEd0Q1FVRnJRaXhQUVVOdVF5eExRVUZMTEZsQlFWbEJMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR2xDUVVGcFFpeERRVU16UXl4RlFVZEJUeXhGUVVGVkxGRkJRVkVzVlVGQlZTeE5RVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzUzBGQlN5eFJRVUZWTEVWQlEyWXNTMEZCU3l4TlFVRlJMRVZCUTJJc1MwRkJTeXhMUVVGUExFVkJRVWtzUjBGQlN5eExRVUZMTEZGQlFWRXNUMEZEYkVNc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNRU3hGUVVGUExGbEJRVmtzUzBGQlN5eFJRVUZSTEUxQlFVMHNSVUZEZEVNc1VVRkJVemx5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUzBGQlN5eFJRVUZSTEU5QlFWRkJMRWxCUVVzc1EwRkROVU1zU1VGQlNUWjFRaXhGUVVGUkxFdEJRVXNzVVVGQlVUZDFRaXhEUVVGRExFVkJRekZDT0hKQ0xFVkJRVThzV1VGQldTdERMRVZCUVUwc1owSkJRV2RDTEVWQlEzcERMME1zUlVGQlR5eFhRVUZYSzBNc1JVRkJUU3hWUVVGVkxFVkJRMnhETDBNc1JVRkJUeXhYUVVGWEswTXNSVUZCVFN4clFrRkJhMElzUlVGRE1VTXZReXhGUVVGUExGZEJRVmNyUXl4RlFVRk5MRzFDUVVGdFFpeERRVU0xUXl4RFFVTklMRVZCUjBGNFF5eEZRVUZWTEZGQlFWRXNWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTMEZCU3l4UlFVRlZMRVZCUTJZc1MwRkJTeXhOUVVGUkxFVkJRMklzUzBGQlN5eExRVUZQTEVWQlFVa3NSVUZCU1N4TFFVRkxMR0ZCUVdFc1VVRkJWU3hMUVVGTExHTkJRV01zVDBGQlV5eEpRVUZOTEV0QlFVc3NUVUZCVFN4UFFVRlRMRWRCUTNSSExFdEJRVXNzV1VGQldVRXNRMEZCVFN4RlFVTjJRa0VzUlVGQlR5eGhRVUZoTEV0QlFVc3NZVUZCWVN4RlFVTjBRMEVzUlVGQlR5eGhRVUZoTEV0QlFVc3NTMEZCU3l4RlFVTTVRa0VzUlVGQlR5eFpRVUZaTEV0QlFVc3NVMEZCVXl4RlFVTnFRMEVzUlVGQlR5eFpRVUZaTEV0QlFVc3NkVUpCUVhWQ0xFVkJReTlEUVN4RlFVRlBMRmxCUVZrc1MwRkJTeXhqUVVGakxFVkJRM1JEUVN4RlFVRlBMRmxCUVZrc1MwRkJTeXhGUVVGRkxFVkJRekZDUVN4RlFVRlBMR2RDUVVGblFpeExRVUZMTEZsQlFWa3NRMEZETVVNc1JVRkhRVThzUlVGQlZTeFJRVUZSTEZWQlFWVXNUVUZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEV0QlFVc3NTMEZCVHl4RlFVRkpMRVZCUVVrc1MwRkJTeXhyUWtGQmEwSXNUMEZETTBNc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNRU3hGUVVGUExGbEJRVmtzUzBGQlN5eFpRVUZoTEV0QlFVMHNRMEZCUXl4RlFVTTFRMEVzUlVGQlR5eFpRVUZaTEV0QlFVc3NZVUZCWVN4RlFVTnlReXhSUVVGVE9YSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEd0Q1FVRnJRaXhQUVVGUlFTeEpRVU5xUkRoeVFpeEZRVUZQTEZsQlFWa3NTMEZCU3l4clFrRkJhMEk1Y2tJc1EwRkJReXhGUVVGSExFdEJRVTBzUTBGQlF5eERRVVY2UkN4RlFVZEJjWE5DTEVWQlFWVXNVVU
1ZCVVN4VlFVRlZMRTFCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4TFFVRkxMRXRCUVU4c1JVRkJTU3hGUVVGSkxFdEJRVXNzUzBGQlN5eFBRVUZUTEVWQlEzWkRMRXRCUVVzc1VVRkJWU3hGUVVObUxFdEJRVXNzVFVGQlVTeEZRVU5pTEV0QlFVc3NXVUZCV1VFc1EwRkJUU3hGUVVOMlFrRXNSVUZCVHl4WlFVRlpMRU5CUVVNc1JVRkRjRUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRkZCUVZNc1MwRkJUU3hEUVVGRExFVkJRM2hEUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVOd1FrRXNSVUZCVHl4WlFVRlpMRU5CUVVNc1JVRkRjRUpCTEVWQlFVOHNXVUZCV1N4RFFVRkRMRVZCUTNCQ1FTeEZRVUZQTEdGQlFXRXNTMEZCU3l4SlFVRkpMRU5CUXk5Q0xFVkJSMEZQTEVWQlFWVXNVVUZCVVN4VlFVRlZMRTFCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU51UkN4TFFVRkxMRkZCUVZVc1JVRkRaaXhMUVVGTExFMUJRVkVzUlVGRFlpeExRVUZMTEV0QlFWRXNTMEZCU3l4VlFVRlZMRTlCUVZNc1IwRkJUU3hMUVVGTExFMUJRVTBzVDBGQlV5eEhRVU12UkN4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSkJMRVZCUVU4c1lVRkJZU3hMUVVGTExGTkJRVk1zUlVGRGJFTkJMRVZCUVU4c1lVRkJZU3hMUVVGTExFdEJRVXNzUTBGRGFFTXNSVUZIUVU4c1JVRkJWU3hSUVVGUkxGVkJRVlVzVFVGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFdEJRVXNzUzBGQlR5eEZRVUZKTEVWQlFVa3NSVUZCU1N4RlFVTjRRaXhMUVVGTExFMUJRVkVzUlVGRFlpeExRVUZMTEZGQlFWVXNSVUZEWml4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSkJMRVZCUVU4c1dVRkJXU3hMUVVGTExHRkJRV0VzUlVGRGNrTkJMRVZCUVU4c1dVRkJXU3hMUVVGTExHbENRVUZwUWl4RlFVTjZRMEVzUlVGQlR5eFpRVUZaTEV0QlFVc3NVMEZCVXl4RlFVTnFRMEVzUlVGQlR5eFpRVUZaTEV0QlFVc3NVVUZCVVN4RlFVTm9RMEVzUlVGQlR5eFpRVUZaTEV0QlFVc3NVVUZCVVN4RlFVTm9RMEVzUlVGQlR5eFpRVUZaTEVOQlFVTXNRMEZEZEVJc1JVRkhRVThzUlVGQlZTeFJRVUZSTEZWQlFWVXNUVUZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEV0QlFVc3NVVUZCVlN4RlFVTm1MRXRCUVVzc1RVRkJVU3hGUVVOaUxFdEJRVXNzUzBGQlR5eEZRVU5hTEV0QlFVc3NXVUZCV1VFc1EwRkJUU3hGUVVOMlFrRXNSVUZCVHl4WlFVRlpMRXRCUVVzc2FVSkJRV2xDTEVOQlF6TkRMRVZCUjBGUExFVkJRVlVzVVVGQlVTeFZRVUZWTEUxQlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeExRVUZMTEZGQlFWVXNSVUZEWml4TFFVRkxMRTFCUVZFc1JVRkRZaXhMUVVGTExFdEJRVThzUlVGRFdpeExRVUZMTEZsQlFWbEJMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR1ZCUVdVc1EwRkRla01zUlVGSFFVOHNSVUZCVlN4UlFVRlJMRlZCUVZVc1RVRkJVU3hUUVVGVFVDeEZRVUZSTEVOQlEyNUVMRXRCUVVzc1VVRkJWU3hGUVVObUxFdEJRVXNzVFVGQlVTeEZRVU5pTEV0QlFVc3NTMEZCVHl4SFFVRkxMRVZCUVVrc1JVRkJTU3hGUVVONlFpeExRVUZMTEZsQlFWbEJMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR0ZCUVdFc1JVRkRja05CTEVWQlFVOHNXVUZCV1N4TFFVRkxMR2xDUVVGcFFpeEZRVU42UTBFc1JVRkJUeXhaUVVGWkxFdEJRVXNzVTBGQlV5eEZRVU5xUTBFc1JVRkJUeXhaUVVGWkxFdEJRVXNzVVVGQlVTeEZRVU5vUTBFc1JVRkJUeXhaUVVGWkxFdEJRVXNzU1VGQlNTeEZRVU0xUWtFc1JVRkJUeXhaUVVGWkxFdEJRVXNzVVVGQlZTeERRVUZETEVWQlEyNURRU3hGUVVGUExGbEJRVmtzUTBGQlF5eEZRVU53UWtFc1JVRkJUeXhaUVVGWkxFTkJRVU1zUlVGRGNFSkJMRVZCUVU4c1dVRkJXU3hEUVVGRExFVkJRM0JDUVN4RlFVRlBMR2xDUVVGcFFpeExRVUZMTEUxQlFVMHNSVUZEYmtOQkxFVkJRVThzV1VGQldTeERRVUZETEVWQlEzQkNRU3hGUVVGUExGbEJRVmtzUTBGQlF5eEZRVU53UWtFc1JVRkJUeXhaUVVGWkxFTkJRVU1zUlVGRGNFSkJMRVZCUVU4c1dVRkJXU3hEUVVGRExFVkJRM0JDUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVOd1FrRXNSVUZCVHl4WlFVRlpMRU5CUVVNc1JVRkRjRUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR0ZCUVdFc1EwRkRka01zUlVGSFFVOHNSVUZCVlN4WlFVRlpMRlZCUVZVc1dVRkJZeXhUUVVGVFVDeEZRVUZSTEVOQlF6ZEVMRXRCUVVzc1MwRkJUeXhGUVVOYVR5eEZRVUZWTEVsQlFVa3NWVUZCVlN4WlFVRlpMRXRCUVVzc1MwRkJUVkFzUTBGQlRTeEZRVU55UkVFc1JVRkJUeXhYUVVGWExFTkJRVU1zUlVGRGJrSkJMRVZCUVU4c1YwRkJWeXhEUVVGRExFVkJRMjVDUVN4RlFVRlBMRmRCUVZjc1EwRkJReXhGUVVOdVFrRXNSVUZCVHl4WFFVRlhMRU5CUVVNc1JVRkRia0pCTEVWQlFVOHNWMEZCVnl4RFFVRkRMRVZCUTI1Q1FTeEZRVUZQTEZkQlFWY3NRMEZCUXl4RlFVTnVRa0VzUlVGQlR5eFpRVUZaTEV0QlFVc3NiMEpCUVc5Q0xFTkJRemxETEVWQlJVRlBMRVZCUVZVc1dVRkJXU3hWUVVGVkxGbEJRV01zVTBGQlUxQXNSVUZCVVN4RFFVTTNSQ3hSUVVGVE9YSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEUxQlFVMHNUMEZCVVVFc1NVRkRja01zUzBGQlN5eE5RVUZOUVN4RFFVRkRMRVZCUVVVc1RVRkJUVGh5UWl4RFFVRk5MRVZCUXpGQ0xFdEJRVXNzVFVGQlVTeExRVUZMTEUxQlFVMDVja0lzUTBGQlF5eEZRVUZGTEV0QlJUZENlVzFDTEVWQlFVa3NUVUZCVFN4WlFVRmhMR2xDUVVGdFFpeExRVUZMTEV0QlFVOHNhMEpCUVc5Q0xFdEJRVXNzU1VGQlNTeEZRVU51Um5GR0xFVkJRVThzWVVGQllTeExRVUZMTEdGQlFXTXNTMEZCU3l4SlFVRkpMRU5CUTJ4RUxFVkJSVUZQTEVWQlFWVXNXVUZCV1N4VlFVRlZMRTFCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU4yUkN4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSkJMRVZCUVU4c1owSkJRV2RDTEV0QlFVc3NTVUZCU1N4RlFVTm9ReXhMUVVGTExFMUJRVkVzUzBGQlN5eExRVUZMTEU5QlEzWkNja1lzUlVGQlNTeE5RVUZOTEZsQlFXRXNhVUpCUVcxQ0xFdEJRVXNzUzBGQlR5eHJRa0ZCYjBJc1MwRkJTeXhKUVVGSkxFVkJRMjVHY1VZc1JVRkJUeXhoUVVGaExFdEJRVXNzWVVGQll5eExRVUZMTEVsQlFVa3NRMEZEYkVRc1JVRkZRVThzUlVGQlZTeHJRa0ZCYTBJc1ZVRkJWU3hOUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETjBRc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNMRXRCUVVzc1RVRkJVU3hGUVVGSkxFVkJRVWtzUlVGQlNTeEZRVUZKTEVkQlF6ZENRU3hGUVVGUExGbEJRVmtzUTBGQlF5eEZRVU53UWtFc1JVRkJUeXhaUVVGWkxFTkJRVU1zUlVGRGNFSkJMRVZCUVU4c1dVRkJXU3hEUVVGRExFVkJRM0JDUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVOd1FrRXNSVUZCVHl4WlFVRlpMRU5CUVVNc1JVRkRjRUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRXRCUVVzc1JVRkROMEpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRTFCUVUwc1JVRkRPVUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR1ZCUVdVc1JVRkRka05CTEVWQlFVOHNXVUZCV1N4TFFVRkxMR05CUVdNc1JVRkRkRU5CTEVWQlFVOHNXVUZCV1N4RFFVRkRMRVZCUTNCQ1FTeEZRVUZQTEZsQlFWa3NTMEZCU3l4WFFVRlhMRVZCUTI1RFFTeEZRVUZQTEZkQlFWY3NTMEZCU3l4SlFVRkpMRWRCUVVrc1MwRkJTeXhsUVVGbExFMUJRVTBzUTBGQlF5eEZRVU14UkVFc1JVRkJUeXhaUVVGWkxFdEJRVXNzWlVGQlowSXNTMEZCVFN4RlFVRkZMRVZCUTJoRVFTeEZRVUZQTEZsQlFWa3NTMEZCU3l4TFFVRkxMRVZCUXpkQ1FTeEZRVUZQTEZkQlFWY3NSVUZCUlN4RlFVTndRaXhMUVVGTE
1xGbEJRVmxCTEVOQlFVMHNRMEZEZWtJc1JVRkZRVThzUlVGQlZTeHBRa0ZCYVVJc1ZVRkJWU3hOUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZETlVRc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNMRXRCUVVzc1RVRkJVU3hGUVVGSkxFVkJRVWtzUlVGQlNTeEZRVU42UWtFc1JVRkJUeXhaUVVGWkxFTkJRVU1zUlVGRGNFSkJMRVZCUVU4c1dVRkJXU3hEUVVGRExFVkJRM0JDUVN4RlFVRlBMRmxCUVZrc1MwRkJTeXhoUVVGaExFVkJRM0pEUVN4RlFVRlBMRmxCUVZrc1MwRkJTeXhWUVVGVkxFVkJRMnhEUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVOd1FrRXNSVUZCVHl4WlFVRlpMRU5CUVVNc1JVRkRjRUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRmxCUVdNc1JVRkJSU3hGUVVONFF5eExRVUZMTEZsQlFWbEJMRU5CUVUwc1EwRkRla0lzUlVGRlFVOHNSVUZCVlN4blFrRkJaMElzVlVGQlZTeE5RVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRNMFFzUzBGQlN5eFpRVUZaUVN4RFFVRk5MRVZCUTNaQ0xFdEJRVXNzVFVGQlVTeExRVUZMTEZWQlFWVXNUMEZCVXl4RlFVTnVReXhMUVVGTExHZENRVUZuUWl4UFFVRlRMRVZCUXpsQ0xFdEJRVXNzY1VKQlFYRkNMRTlCUVZNc1JVRkRja05CTEVWQlFVOHNZVUZCWVN4TFFVRkxMRk5CUVZNc1JVRkRiRU5CTEVWQlFVOHNZVUZCWVN4TFFVRkxMR1ZCUVdVc1JVRkRlRU5CTEVWQlFVOHNZVUZCWVN4TFFVRkxMRzlDUVVGdlFpeEZRVU0zUXl4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUTBGRGVrSXNSVUZIUVU4c1JVRkJWU3hwUWtGQmFVSXNWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRE5VUkJMRVZCUVU4c1owSkJRV2RDTEV0QlFVc3NTVUZCU1N4RFFVTnNReXhGUVVkQlR5eEZRVUZWTEZGQlFWRXNWVUZCVlN4TlFVRlJMRk5CUVZOUUxFVkJRVkVzUTBGRGJrUXNTMEZCU3l4UlFVRlZMRVZCUTJZc1MwRkJTeXhOUVVGUkxFVkJRMklzUzBGQlN5eExRVUZQTEVkQlFVc3NSVUZCU1N4TFFVRkxMRkZCUVZFc1QwRkRiRU1zUzBGQlN5eFpRVUZaUVN4RFFVRk5MRVZCUTNaQ1FTeEZRVUZQTEZsQlFWa3NTMEZCU3l4alFVRmxMRXRCUVUwc1EwRkJReXhGUVVNNVEwRXNSVUZCVHl4WlFVRlpMRXRCUVVzc2RVSkJRWFZDTEVWQlF5OURRU3hGUVVGUExGbEJRVmtzUzBGQlN5eFJRVUZSTEUxQlFVMHNSVUZEZEVNc1VVRkJVemx5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUzBGQlN5eFJRVUZSTEU5QlFWRkJMRWxCUVVzc1EwRkROVU1zU1VGQlNUWjFRaXhGUVVGUkxFdEJRVXNzVVVGQlVUZDFRaXhEUVVGRExFVkJRekZDT0hKQ0xFVkJRVThzVjBGQlZ5dERMRVZCUVUwc1dVRkJXU3hGUVVOd1F5OURMRVZCUVU4c1YwRkJWeXRETEVWQlFVMHNkVUpCUVhWQ0xFTkJRMmhFTEVOQlEwZ3NSVUZIUVhoRExFVkJRVlVzVVVGQlVTeFZRVUZWTEUxQlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeEpRVUZKT1hKQ0xFVkJRMEUyZFVJc1JVRkxTaXhKUVVaQkxFdEJRVXNzVFVGQlVTeEZRVU5pTEV0QlFVc3NTMEZCVHl4SFFVTlFOM1ZDTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExGRkJRVkVzVDBGQlVVRXNTVUZEYmtNMmRVSXNSVUZCVVN4TFFVRkxMRkZCUVZFM2RVSXNRMEZCUXl4RlFVTnNRaXhMUVVGTExGVkJRVmtzU1VGRFppeExRVUZMTEdsQ1FVRnRRaXhKUVVNeFFpeExRVUZMTEUxQlFWRXNSMEZGWml4TFFVRkxMRTFCUVZFMmRVSXNSVUZCVFN4TFFVRkxMRkZCV1RWQ0xFbEJWRUVzUzBGQlN5eFpRVUZaTDBNc1EwRkJUU3hGUVVOMlFrRXNSVUZCVHl4WlFVRlpMRXRCUVVzc1kwRkJaU3hMUVVGTkxFTkJRVU1zUlVGRE1VTXNTMEZCU3l4VlFVRlpMRWRCUTI1Q1FTeEZRVUZQTEZsQlFWa3NTMEZCU3l4alFVRmpMRVZCUlhCRExFdEJRVXNzVTBGQlZ5eEhRVU5zUWtFc1JVRkJUeXhaUVVGWkxFdEJRVXNzWjBOQlFXZERMRVZCUlRGRVFTeEZRVUZQTEZsQlFWa3NTMEZCU3l4UlFVRlJMRTFCUVUwc1JVRkRha001Y2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEV0QlFVc3NVVUZCVVN4UFFVRlJRU3hKUVVOdVF6WjFRaXhGUVVGUkxFdEJRVXNzVVVGQlVUZDFRaXhEUVVGRExFVkJRMnhDTEV0QlFVc3NWVUZCV1N4SFFVTm1MRXRCUVVzc2FVSkJRVzFDTEVkQlF6RkNPSEpDTEVWQlFVOHNXVUZCV1N0RExFVkJRVTBzYTBKQlFXdENMRVZCUnk5RFFTeEZRVUZOTEUxQlFVMHZReXhEUVVGTkxFTkJSWFJDTEVWQlNVRlBMRVZCUVZVc1VVRkJVU3hWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hMUVVGTExGRkJRVlVzUlVGRFppeExRVUZMTEUxQlFWRXNSVUZEWWl4TFFVRkxMRXRCUVU4c1JVRkJTU3hGUVVGSkxFVkJRVWtzUlVGQlNTeEhRVUZMTEV0QlFVc3NWMEZCVnl4UFFVTnFSQ3hMUVVGTExGbEJRVmxCTEVOQlFVMHNSVUZEZGtKQkxFVkJRVThzV1VGQldTeExRVUZMTEZsQlFWa3NSVUZEY0VOQkxFVkJRVThzV1VGQldTeExRVUZMTEZOQlFWTXNSVUZEYWtOQkxFVkJRVThzV1VGQldTeExRVUZMTERCQ1FVRXdRaXhGUVVOc1JFRXNSVUZCVHl4WlFVRlpMRXRCUVVzc1dVRkJXU3hGUVVOd1EwRXNSVUZCVHl4WlFVRlpMRU5CUVVNc1JVRkRjRUpCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRmRCUVZjc1RVRkJUU3hGUVVONlF5eFJRVUZUT1hKQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4TFFVRkxMRmRCUVZjc1QwRkJVVUVzU1VGQlN5eERRVU12UXl4SlFVRkpiMFlzUlVGQlRTeExRVUZMTEZkQlFWZHdSaXhEUVVGRExFVkJRek5DT0hKQ0xFVkJRVThzV1VGQldURnRRaXhGUVVGSkxHZENRVUZyUWl4SFFVRkxRU3hGUVVGSkxHVkJRV1VzUlVGRGFrVXdiVUlzUlVGQlR5eFpRVUZaTVcxQ0xFVkJRVWtzYlVKQlFXMUNMRVZCUXpGRE1HMUNMRVZCUVU4c1dVRkJXVEZ0UWl4RlFVRkpMR2xDUVVGdFFpeEhRVUZMUVN4RlFVRkpMRlZCUVZrc1IwRkJTMEVzUlVGQlNTeGpRVUZqTEVOQlEzWkdMRU5CUTBnc1JVRkhRV2x1UWl4RlFVRlZMRkZCUVZFc1ZVRkJWU3hOUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZGYmtRc1MwRkJTeXhSUVVGVkxFVkJRMllzUzBGQlN5eE5RVUZSTEVWQlEySXNTMEZCU3l4TFFVRlBMRVZCUTFvc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNRU3hGUVVGUExGbEJRVmtzUzBGQlN5eFBRVUZQTEVWQlF5OUNRU3hGUVVGUExGbEJRVmtzUTBGQlF5eERRVU4wUWl4RlFVVkJUeXhGUVVGVkxGRkJRVkVzVlVGQlZTeE5RVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzUzBGQlN5eFJRVUZWTEVWQlEyWXNTMEZCU3l4TlFVRlJMRVZCUTJJc1MwRkJTeXhMUVVGUExFVkJRVWtzUlVGQlNTeExRVUZMTEdOQlFXTXNUMEZEZGtNc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEzWkNRU3hGUVVGUExGbEJRVmtzUzBGQlN5eGpRVUZqTEUxQlFVMHNSVUZETlVOQkxFVkJRVThzYVVKQlFXbENMRXRCUVVzc1lVRkJZU3hEUVVNMVF5eEZRVWRCVHl4RlFVRlZMRkZCUVZFc1ZVRkJWU3hOUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1NVRkJTVGx5UWl4RlFVMUtMRWxCVEVFc1MwRkJTeXhSUVVGVkxFVkJRMllzUzBGQlN5eE5RVUZSTEVWQlEySXNTMEZCU3l4TFFVRlBMRVZCUVVrc1IwRkJTeXhMUVVGTE
1xGbEJRVmtzVDBGRGRFTXNTMEZCU3l4WlFVRlpPSEpDTEVOQlFVMHNSVUZEZGtKQkxFVkJRVThzV1VGQldTeExRVUZMTEZsQlFWa3NUVUZCVFN4RlFVTnlRemx5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUzBGQlN5eFpRVUZaTEU5QlFWRkJMRWxCUTNaRE9ISkNMRVZCUVU4c1dVRkJXU3hMUVVGTExGbEJRVms1Y2tJc1EwRkJReXhEUVVGRExFVkJRM1JET0hKQ0xFVkJRVThzV1VGQldTeExRVUZMTEd0Q1FVRnJRamx5UWl4RFFVRkRMRU5CUVVNc1JVRkROVU00Y2tJc1JVRkJUeXhaUVVGWkxFdEJRVXNzZVVKQlFYbENPWEpDTEVOQlFVTXNRMEZCUXl4RFFVVjJSQ3hGUVVkQmNYTkNMRVZCUVZVc1VVRkJVU3hWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hKUVVGSk9YSkNMRVZCVDBvc1NVRk9RU3hMUVVGTExGRkJRVlVzUlVGRFppeExRVUZMTEUxQlFWRXNSVUZEWWl4TFFVRkxMRXRCUVU4c1JVRkRXaXhMUVVGTExGbEJRVms0Y2tJc1EwRkJUU3hGUVVOMlFrRXNSVUZCVHl4WlFVRlpMRXRCUVVzc1VVRkJVU3hOUVVGTkxFVkJRM1JETEV0QlFVc3NUVUZCVVN4RlFVTlNPWEpDTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExGRkJRVkVzVDBGQlVVRXNTVUZEYmtNc1MwRkJTeXhSUVVGUlFTeERRVUZETEVWQlFVVXNUVUZCVFRoeVFpeERRVUZOTEVWQlF6VkNMRXRCUVVzc1RVRkJVU3hMUVVGTExGRkJRVkU1Y2tJc1EwRkJReXhGUVVGRkxFdEJSeTlDZVcxQ0xFVkJRVWtzVFVGQlRTeFpRVUZoTEdsQ1FVRnRRaXhMUVVGTExFdEJRVThzYTBKQlFXOUNMRXRCUVVzc1NVRkJTU3hGUVVOdVJuRkdMRVZCUVU4c1lVRkJZU3hMUVVGTExHRkJRV01zUzBGQlN5eEpRVUZKTEVOQlEyeEVMRVZCUjBGUExFVkJRVlVzVVVGQlVTeFZRVUZWTEUxQlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeEpRVUZKT1hKQ0xFVkJUVW9zU1VGTVFTeExRVUZMTEZGQlFWVXNSVUZEWml4TFFVRkxMRTFCUVZFc1JVRkRZaXhMUVVGTExFdEJRVThzUlVGQlNTeEZRVUZKTEV0QlFVc3NkMEpCUVhkQ0xFOUJRMnBFTEV0QlFVc3NXVUZCV1RoeVFpeERRVUZOTEVWQlEzWkNRU3hGUVVGUExGbEJRVmtzUzBGQlN5eDNRa0ZCZDBJc1RVRkJUU3hGUVVOcVJEbHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4M1FrRkJkMElzVDBGQlVVRXNTVUZEYmtRNGNrSXNSVUZCVHl4WlFVRlpMRXRCUVVzc2QwSkJRWGRDT1hKQ0xFTkJRVU1zUTBGQlF5eEZRVU5zUkRoeVFpeEZRVUZQTEZsQlFWa3NTMEZCU3l4dlFrRkJiMEk1Y2tJc1EwRkJReXhEUVVGRExFTkJSV3hFTEVWQlIwRnhjMElzUlVGQlZTeFJRVUZSTEZWQlFWVXNUVUZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRMjVFTEV0QlFVc3NVVUZCVlN4RlFVTm1MRXRCUVVzc1RVRkJVU3hGUVVOaUxFdEJRVXNzUzBGQlR5eEZRVUZKTEVWQlFVa3NTMEZCU3l4bFFVRmxMRTlCUTNoRExFdEJRVXNzV1VGQldVRXNRMEZCVFN4RlFVTjJRa0VzUlVGQlR5eFpRVUZaTEV0QlFVc3NaVUZCWlN4TlFVRk5MRVZCUXpkRFFTeEZRVUZQTEdsQ1FVRnBRaXhMUVVGTExHTkJRV01zUTBGRE4wTXNSVUZIUVU4c1JVRkJWU3hSUVVGUkxGVkJRVlVzVFVGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWs1Y2tJc1JVRkRRWE41UWl4RlFVRlhMRWRCUjJZc1IwRkdRU3hMUVVGTExGRkJRVlVzUlVGRFppeExRVUZMTEUxQlFWRXNSVUZEVkN4TFFVRkxMR0ZCUVdFc1QwRkJVeXhGUVVVM1FpeEpRVVJCZEhsQ0xFVkJRVWtzUlVGRFIwRXNSVUZCU1N4RlFVRkpMRXRCUVVzc1lVRkJZU3hSUVVNdlFpeEhRVUZKTEV0QlFVc3NZVUZCWVVFc1JVRkJTU3hEUVVGRExFbEJRVTBzUzBGQlN5eGhRVUZoTEVOQlFVTXNSVUZCUnl4RFFVTnlSSE41UWl4RlFVRlhMRWRCUTFnc1MwRkRVaXhOUVVOUmRIbENMRk5CU1VwemVVSXNSVUZCVnl4SFFVVmlMRXRCUVVzc1MwRkJUeXhGUVVOUVFTeEpRVU5JTEV0QlFVc3NUVUZCVVN4RlFVRkpMRXRCUVVzc1lVRkJZU3hSUVVWeVF5eExRVUZMTEZsQlFWbDRSeXhEUVVGTkxFVkJRMnhDZDBjc1JVRkhTSGhITEVWQlFVOHNXVUZCV1N4TFFVRkxMR0ZCUVdFc1EwRkJReXhEUVVGRExFVkJSblpEUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVsMFFrRXNSVUZCVHl4WlFVRlpMRXRCUVVzc1lVRkJZU3hOUVVGTkxFVkJRM1JEZDBjc1IwRkRTSGhITEVWQlFVOHNhVUpCUVdsQ0xFdEJRVXNzV1VGQldTeERRVVUzUXl4RlFVZEJUeXhGUVVGVkxGRkJRVkVzVlVGQlZTeE5RVUZSTEZOQlFWTlFMRVZCUVZFc1EwRkRia1FzU1VGQlNUbHlRaXhGUVUxS0xFbEJURUVzUzBGQlN5eFJRVUZWTEVWQlEyWXNTMEZCU3l4TlFVRlJMRVZCUTJJc1MwRkJTeXhMUVVGUExFVkJRVWtzUlVGQlNTeExRVUZMTEdOQlFXTXNUMEZEZGtNc1MwRkJTeXhaUVVGWk9ISkNMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR05CUVdNc1RVRkJUU3hGUVVOMlF6bHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4alFVRmpMRTlCUVZGQkxFbEJRM3BET0hKQ0xFVkJRVThzV1VGQldTeExRVUZMTEdOQlFXTTVja0lzUTBGQlF5eERRVUZETEVWQlEzaERPSEpDTEVWQlFVOHNXVUZCV1N4TFFVRkxMR05CUVdNNWNrSXNRMEZCUXl4RFFVRkRMRU5CUlRWRExFVkJSMEZ4YzBJc1JVRkJWU3hSUVVGUkxGVkJRVlVzVFVGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFbEJRVWw1Unl4RlFVRmhMRXRCUVVzc1NVRkJTU3hGUVVGSExFVkJRVVVzUlVGQlNTeEZRVVZ1UXl4TFFVRkxMRkZCUVZVc1MwRkJTeXh2UWtGQmMwSkJMRVZCUVdFc1JVRkJTU3hGUVVNelJDeExRVUZMTEUxQlFWRXNSVUZEWWl4TFFVRkxMRXRCUVU4c1JVRkRVaXhMUVVGTExGVkJRVmtzU1VGRGJrSXNTMEZCU3l4TlFVRlJMRWRCUldZc1MwRkJTeXhaUVVGWmVrY3NRMEZCVFN4RlFVTnVRaXhMUVVGTExGVkJRVmtzUlVGRGJrSkJMRVZCUVU4c1dVRkJXU3hMUVVGTExHMUNRVUZ0UWl4RlFVVXpRMEVzUlVGQlR5eFpRVUZaTEV0QlFVc3NiVUpCUVcxQ0xFTkJSUzlETEVWQlIwRlBMRVZCUVZVc1VVRkJVU3hWUVVGVkxFMUJRVkVzVTBGQlUxQXNSVUZCVVN4RFFVTnVSQ3hMUVVGTExGRkJRVlVzUlVGRFppeExRVUZMTEV0QlFVOHNSVUZEVWl4TFFVRkxMRTFCUVZGUExFVkJRVlVzTmtKQlEzcENMRXRCUVVzc1RVRkJVU3hIUVVWWUxFdEJRVXNzVFVGQlVVRXNSVUZCVlN4M1FrRkRla0lzUzBGQlN5eE5RVUZSTEVkQlJWZ3NTMEZCU3l4TlFVRlJRU3hGUVVGVkxIVkNRVU42UWl4TFFVRkxMRTFCUVZFc1IwRkZXQ3hMUVVGTExFMUJRVkZCTEVWQlFWVXNkMEpCUTNwQ0xFdEJRVXNzVFVGQlVTeEhRVVZZTEV0QlFVc3NUVUZCVVVFc1JVRkJWU3g1UWtGRGVrSXNTMEZCU3l4TlFVRlJMRWRCUldZc1MwRkJTeXhaUVVGWlVDeERRVUZOTEVWQlEzWkNRU3hGUVVGUExGbEJRVmtzUzBGQlN5eFJRVUZSTEVWQlF6VkNMRXRCUVVzc1RVRkJVVThzUlVGQlZTdzBRa0ZEZWtKUUxFVkJRVThzV1VGQldTeExRVUZMTEdkQ1FVRm5RaXhGUVVWMFF5eExRVUZMTEUxQlFWRlBMRVZCUVZVc2RVSkJRM3BDVUN4RlFVRlBMRmxCUVZrc1MwRkJTeXhuUTBGQlowTXNSVUZGZEVRc1MwRkJTeXhOUVVGUlR5eEZRVUZWTEhOQ1FVTjZRbEFzUlVGQlR5eFpRVUZaTEV0QlFVc3NkVUpCUVhWQ0xFVkJSVGRETEV0QlFVc3NUVUZCVVU4c1JVRkJWU3gxUWtGRGVrSlFMRVZCUVU4c1dVRkJXU3hMUVVGTExHMUNRVUZ0UWl4RlFVVjZReXhMUVVGTE
1xFMUJRVkZQTEVWQlFWVXNkMEpCUTNwQ1VDeEZRVUZQTEZsQlFWa3NTMEZCU3l4dlFrRkJiMElzUTBGRmFFUXNSVUZIUVU4c1JVRkJWU3hSUVVGUkxGVkJRVlVzVFVGQlVTeFRRVUZUVUN4RlFVRlJMRU5CUTI1RUxFdEJRVXNzVVVGQlZTeEZRVVZtTEV0QlFVc3NTMEZCVHl4RlFVRkpMRWRCUVVzc1JVRkJTU3hGUVVONlFpeExRVUZMTEZsQlFWbEJMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNXVUZCV1N4TFFVRkxMR0ZCUVdFc1JVRkRja05CTEVWQlFVOHNXVUZCV1N4TFFVRkxMR2xDUVVGcFFpeEZRVU42UTBFc1JVRkJUeXhaUVVGWkxFdEJRVXNzVVVGQlVTeEZRVU5vUTBFc1JVRkJUeXhaUVVGWkxFTkJRVU1zUlVGRGNFSkJMRVZCUVU4c1dVRkJXU3hMUVVGTExGRkJRVkVzUlVGRGFFTkJMRVZCUVU4c1dVRkJXU3hEUVVGRExFVkJRM0JDUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVOd1FrRXNSVUZCVHl4WFFVRlhMRXRCUVVzc1MwRkJTeXhGUVVNMVFrRXNSVUZCVHl4WFFVRlhMRXRCUVVzc1pVRkJaU3hGUVVOMFEwRXNSVUZCVHl4WFFVRlhMRXRCUVVzc1VVRkJWU3hEUVVGRExFVkJRMnhEUVN4RlFVRlBMRmxCUVZrc1EwRkJReXhGUVVOd1FrRXNSVUZCVHl4blFrRkJaMElzUzBGQlN5eE5RVUZOTEVWQlEyeERRU3hGUVVGUExGbEJRVmtzUzBGQlN5eExRVUZMTEVWQlF6ZENRU3hGUVVGUExGbEJRVmtzUzBGQlN5eE5RVUZOTEVOQlEyaERMRVZCUjBGUExFVkJRVlVzVVVGQlVTeFZRVUZWTEUxQlFWRXNVMEZCVTFBc1JVRkJVU3hEUVVOdVJDeExRVUZMTEZGQlFWVXNSVUZEWml4TFFVRkxMRTFCUVZFc1JVRkRZaXhMUVVGTExFdEJRVThzUlVGQlNTeEZRVU5vUWl4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSkJMRVZCUVU4c1dVRkJXU3hMUVVGTExGRkJRVkVzUlVGRGFFTkJMRVZCUVU4c1dVRkJXU3hMUVVGTExHZERRVUZuUXl4RlFVTjRSRUVzUlVGQlR5eFpRVUZaTEV0QlFVc3NkVUpCUVhWQ0xFVkJReTlEUVN4RlFVRlBMRmxCUVZrc1MwRkJTeXh0UWtGQmJVSXNSVUZETTBOQkxFVkJRVThzV1VGQldTeExRVUZMTEc5Q1FVRnZRaXhEUVVNNVF5eEZRVWRCVHl4RlFVRlZMRkZCUVZFc1ZVRkJWU3hOUVVGUkxGTkJRVk5RTEVWQlFWRXNRMEZEYmtRc1MwRkJTeXhSUVVGVkxFVkJRMllzUzBGQlN5eExRVUZQTEVWQlExSXNTMEZCU3l4TlFVRlJUeXhGUVVGVkxIbENRVU42UWl4TFFVRkxMRTFCUVZFc1IwRkZXQ3hMUVVGTExFMUJRVkZCTEVWQlFWVXNkMEpCUTNwQ0xFdEJRVXNzVFVGQlVTeEhRVVZZTEV0QlFVc3NUVUZCVVVFc1JVRkJWU3h6UWtGRGVrSXNTMEZCU3l4TlFVRlJMRVZCUVVrc1MwRkJTeXhuUWtGQlowSXNVVUZGY0VNc1MwRkJTeXhOUVVGUlFTeEZRVUZWTEd0Q1FVTjZRaXhMUVVGTExFMUJRVkVzUlVGQlNTeExRVUZMTEZsQlFWa3NVVUZGYUVNc1MwRkJTeXhOUVVGUlFTeEZRVUZWTEcxQ1FVTjZRaXhMUVVGTExFMUJRVkVzUlVGQlNTeExRVUZMTEdGQlFXRXNVVUZGYWtNc1MwRkJTeXhOUVVGUlFTeEZRVUZWTEhkQ1FVTjZRaXhMUVVGTExFMUJRVkVzUlVGQlNTeExRVUZMTEN0Q1FVRXJRaXhSUVVWMlJDeExRVUZMTEZsQlFWbFFMRU5CUVUwc1JVRkRka0pCTEVWQlFVOHNXVUZCV1N4TFFVRkxMRmxCUVZrc1JVRkRhRU1zUzBGQlN5eE5RVUZSVHl4RlFVRlZMSGxDUVVONlFpeExRVUZMTEhGQ1FVRjFRbEFzUlVGQlR5eGpRVU51UTBFc1JVRkJUeXhYUVVGWExFdEJRVXNzVjBGQlZ5eEhRVVZvUXl4TFFVRkxMRTFCUVZGUExFVkJRVlVzZFVKQlEzcENVQ3hGUVVGUExGbEJRVmtzUzBGQlN5eHJRa0ZCYTBJc1JVRkZOVU1zVVVGQlV6bHlRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4aFFVRmpRU3hKUVVOcVF5eExRVUZMTEUxQlFWRnhjMElzUlVGQlZTeHhRa0ZEZWtKUUxFVkJRVThzV1VGQldTeExRVUZMTEdkQ1FVRm5Ramx5UWl4RFFVRkRMRU5CUVVNc1JVRkZlRU1zUzBGQlN5eE5RVUZSY1hOQ0xFVkJRVlVzYVVKQlEzcENVQ3hGUVVGUExGbEJRVmtzUzBGQlN5eFpRVUZaT1hKQ0xFTkJRVU1zUTBGQlF5eEZRVVZ3UXl4TFFVRkxMRTFCUVZGeGMwSXNSVUZCVlN4clFrRkRla0pRTEVWQlFVOHNXVUZCV1N4TFFVRkxMR0ZCUVdFNWNrSXNRMEZCUXl4RFFVRkRMRVZCUlhKRExFdEJRVXNzVFVGQlVYRnpRaXhGUVVGVkxIZENRVU55UWl4TFFVRkxMRlZCUVZrc1JVRkRia0pRTEVWQlFVOHNXVUZCV1N4TFFVRkxMQ3RDUVVFclFqbHlRaXhEUVVGRExFTkJRVU1zUlVGRmVrUTRja0lzUlVGQlR5eFhRVUZYTEV0QlFVc3NLMEpCUVN0Q09YSkNMRU5CUVVNc1EwRkJReXhGUVVsb1JTeEZRVWRCY1hOQ0xFVkJRVlVzVTBGQlV5eEZRVUZGTEZWQlFWVXNUVUZCVVN4VFFVRlRVQ3hGUVVGUkxFTkJRM1JFTEV0QlFVc3NVVUZCVlN4RlFVTllMRXRCUVVzc1ZVRkRVQ3hMUVVGTExFMUJRVkVzUlVGRFlpeExRVUZMTEV0QlFVOHNTMEZCU3l4VFFVRlRMRTlCUVZNc1NVRkZia01zUzBGQlN5eE5RVUZSTEVWQlEySXNTMEZCU3l4TFFVRlBMRWRCUldRc1MwRkJTeXhaUVVGWlFTeERRVUZOTEVWQlEyNUNMRXRCUVVzc1ZVRkRVRUVzUlVGQlR5eGhRVUZoTEV0QlFVc3NVVUZCVVN4RFFVVnlReXhGUVVkQlR5eEZRVUZWTEZOQlFWTXNSVUZCUlN4VlFVRlZMRTFCUVZFc1UwRkJVMUFzUlVGQlVTeERRVU4wUkN4TFFVRkxMRkZCUVZVc1JVRkRaaXhMUVVGTExFMUJRVkVzUlVGRFlpeExRVUZMTEV0QlFVOHNTMEZCU3l4TFFVRkxMRTlCUVZNc1IwRkJTeXhMUVVGTExGTkJRVmNzUzBGQlN5eFRRVUZUTEU5QlFWTXNSVUZCU1N4SFFVTXZSU3hMUVVGTExGbEJRVmxCTEVOQlFVMHNSVUZEZGtKQkxFVkJRVThzWVVGQllTeExRVUZMTEVsQlFVa3NSVUZEZWtJc1MwRkJTeXhWUVVOUVFTeEZRVUZQTEdGQlFXRXNTMEZCU3l4UlFVRlJMRU5CUlhKRExFVkJSMEZQTEVWQlFWVXNVVUZCVVN4VlFVRlZMRTFCUVZFc1UwRkJVMUFzUlVGQlVTeERRVVZ1UkN4TFFVRkxMRkZCUVZVc1JVRkRaaXhMUVVGTExFMUJRVkVzUlVGRFlpeExRVUZMTEV0QlFVOHNSVUZEV2l4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSkJMRVZCUVU4c1dVRkJXU3hMUVVGTExGbEJRVmtzUlVGRGNFTkJMRVZCUVU4c2FVSkJRV2xDTEV0QlFVc3NUMEZCVHl4RFFVTjBReXhGUVU5QlR5eEZRVUZWTEZGQlFWRXNWVUZCVlN4UFFVRlRMRk5CUVZOdFJ5eEZRVUZUTEVOQlEzSkVMRWxCUVVsNGVVSXNSVUZCUjNsSExFVkJRVWN3VGl4RlFVVldMRWxCUkVGQkxFVkJRVWtzUlVGRFEyNVZMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEdOQlFXTXNUMEZCVVVFc1NVRkRla01zU1VGQlMzbEhMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEdOQlFXTjZSeXhEUVVGRExFVkJRVWQ1Unl4SlFVTnlReXR5UWl4RlFVRlJjbVVzUTBGQlF5eEZRVUZGTEVsQlFVMXhaU3hGUVVGUmNtVXNR
1MEZCUXl4RlFVRkZMRWxCUVUwc1MwRkJTeXhsUVVGbGJsVXNRMEZCUXl4RlFVTjJSRzFWTEVkQlIwNHNSVUZGUVd0WkxFVkJRVlVzVVVGQlVTeFZRVUZWTEU5QlFWTXNVMEZCVTIxSExFVkJRVk1zUTBGRGNrUXNTVUZCU1hoNVFpeEZRVUZIZVVjc1JVRkJSekJPTEVWQlJWWXNTVUZFUVVFc1JVRkJTU3hGUVVORGJsVXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzWTBGQll5eFBRVUZSUVN4SlFVTjZReXhKUVVGTGVVY3NSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzWTBGQlkzcEhMRU5CUVVNc1JVRkJSM2xITEVsQlEycERNRTRzU1VGQlRTeEZRVU5TY1dVc1JVRkJVWEpsTEVOQlFVTXNSVUZCUlN4SlFVRk5MRVZCUldwQ2NXVXNSVUZCVVhKbExFTkJRVU1zUlVGQlJTeEpRVUZOY1dVc1JVRkJVWEpsTEVWQlFVa3NRMEZCUXl4RlFVRkZMRWxCUVUwc1MwRkJTeXhqUVVGamJsVXNRMEZCUXl4RlFVVTFSRzFWTEVkQlIwNHNSVUZGUVd0WkxFVkJRVlVzVVVGQlVTeFZRVUZWTEU5QlFWTXNVMEZCVTIxSExFVkJRVk1zUTBGRGNrUXNTVUZCU1hoNVFpeEZRVU5LTEVsQlFVdEJMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEdOQlFXTXNUMEZCVVVFc1NVRkRla04zZVVJc1JVRkJVWGg1UWl4RFFVRkRMRVZCUVVVc1QwRkJVeXhMUVVGTExHTkJRV05CTEVOQlFVTXNRMEZGTlVNc1JVRkZRWEZ6UWl4RlFVRlZMRkZCUVZFc1ZVRkJWU3hQUVVGVExGTkJRVk50Unl4RlFVRlRMRU5CUTNKRUxFbEJRVWw0ZVVJc1JVRkJSM2xITEVWQlFVY3dUaXhGUVVGSFlpeEZRVUZIUkN4RlFVZG9RaXhKUVVaQlF5eEZRVUZKTEVWQlEwcEVMRVZCUVVrc1JVRkRRM0pVTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3hMUVVGTExGbEJRVmtzVDBGQlVVRXNTVUZEZGtNc1NVRkJTM2xITEVWQlFVa3NSVUZCUjBFc1IwRkJTM3BITEVWQlFVa3NSVUZCU1N4TFFVRkxMRmxCUVZrc1QwRkJVeXhMUVVGTE
1xGbEJRVmxCTEVWQlFVa3NRMEZCUXl4RlFVRkpMRXRCUVZkNVJ5eEpRVVYwUml4SlFVUkJORTBzU1VGRFMyTXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzYTBKQlFXdENibFVzUTBGQlF5eEZRVUZIYlZVc1NVRkJTeXhEUVVNNVF5eEhRVUZKY1dVc1JVRkJVV3htTEVOQlFVTXNSVUZEV0d0bUxFVkJRVkZzWml4RFFVRkRMRVZCUVVVc2EwSkJRVzlDTEV0QlFVc3NlVUpCUVhsQ2RGUXNRMEZCUXl4RlFVTTVSSGQ1UWl4RlFVRlJiR1lzUTBGQlF5eEZRVUZGTEZsQlFXTkVMRTFCUlhwQ0xGRkJSVVpETEVkQlEwUXNRMEZIVUN4RlFVVkJLMWtzUlVGQlZTeFJRVUZSTEZWQlFWVXNUMEZCVXl4VFFVRlRiVWNzUlVGQlV5eERRVU55UkN4SlFVRkplSGxDTEVWQlEwb3NTVUZCUzBFc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEV0QlFVc3NZVUZCWVN4UFFVRlJRU3hKUVVONFEzZDVRaXhGUVVGUmVIbENMRU5CUVVNc1JVRkJSU3hMUVVGUExFdEJRVXNzWVVGQllVRXNRMEZCUXl4RFFVVjZReXhGUVVkQmNYTkNMRVZCUVZVc2MwSkJRWGRDTEVOQlFVTXNVVUZCVXl4VlFVRlhMR0ZCUVdNc1lVRkRia1VzVVVGQlV5eGhRVUZqTEZWQlFWY3NaVUZEYkVNc1kwRkJaU3hUUVVGVkxGbEJRV0VzWVVGRGRFTXNUVUZCVHl4UlFVRlJMRVZCUldwQ1FTeEZRVUZWTEdkRFFVRnJReXhEUVVGRExHOUNRVUZ4UWl4VFFVRlZMRlZCUVZjc1owSkJRV2xDTEdkQ1FVRnBRaXhuUWtGRGRrZ3NZMEZCWlN4dlFrRkJjVUlzWlVGQlowSXNaMEpCUVdsQ0xHbENRVUZyUWl3eVFrRkJORUlzYVVKQlFXbENMRVZCUlhSSlFTeEZRVUZWTEdWQlFXbENMRk5CUVZOdlJ5eEZRVUZQUXl4RlFVRlBMRU5CUTJoRUxFZEJRVWxFTEVkQlFWTXNRMEZCUTBNc1JVRkJUeXhOUVVGUExFZEJRelZDTEVsQlFVbDRSaXhGUVVOS0xFbEJRVXRCTEV0QlFWRjFSaXhGUVVOWUxFZEJRVWtzUlVGQlFYQkhMRVZCUVZVc2MwSkJRWE5DTEZGQlFWRmhMRU5CUVVrc1JVRkJTU3hKUVVrM1F5eEpRVUZKZFVZc1JVRkJUWFpHTEVOQlFVa3NXVUZCWVdJc1JVRkJWU3hMUVVGUGNVY3NSVUZCVFhoR0xFTkJRVWtzV1VGQllXSXNSVUZCVlN4SlFVTnNSaXhUUVVOTExFZEJRVWtzVDBGQlQyOUhMRVZCUVUxMlJpeERRVUZKTEVWQlFVMHNTMEZCWlN4UFFVRlBkMFlzUlVGQlRYaEdMRU5CUVVrc1JVRkJUU3hKUVVOMFJTeFRRVU5MTEVkQlFVa3NUMEZCVDNWR0xFVkJRVTEyUml4RFFVRkpMRWRCUVUwc1dVRkJZeXhQUVVGUGQwWXNSVUZCVFhoR0xFTkJRVWtzUjBGQlRTeFhRVU55UlN4VFFVTkxMRWRCUTBwMVJpeEZRVUZOTEdGQlFXVkJMRVZCUVUwc1dVRkJXU3hSUVVGUmRrWXNSVUZCU3l4TlFVRk5MRVZCUVVjc1EwRkJReXhEUVVGRExFVkJRVWtzU1VGRGJrVjNSaXhGUVVGTkxHRkJRV1ZCTEVWQlFVMHNXVUZCV1N4UlFVRlJlRVlzUlVGQlN5eE5RVUZOTEVWQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVrc1IwRkRjRVVzVTBGRlFTeEhRVUZKUVN4SlFVRlRMRkZCUVZWQkxFbEJRVk1zVTBGQlYwRXNTVUZCVXl4UlFVRlZRU3hKUVVGVExHbENRVUZ0UWtFc1NVRkJVeXh2UWtGRGFrY3NVMEZEU3l4SFFVRkpZaXhGUVVGVkxHZERRVUZuUXl4UlFVRlJZU3hEUVVGSkxFVkJRVWtzUjBGRGJrVXNVMEZGUVN4SFFVRkpkVVlzUlVGQlRYWkdMRU5CUVVrc1NVRkJUWGRHTEVWQlFVMTRSaXhEUVVGSkxFVkJRelZDTEUxQlFVOHNSMEZMWml4TlFVRlBMRVZCUTFRc1JVRkZRV0lzUlVGQlZTeFRRVUZYTEZOQlFWTnZSeXhGUVVGUFF5eEZRVUZQTEVOQlF6RkRMRWRCUVVrc1EwRkJRM0pITEVWQlFWVXNaVUZCWlc5SExFVkJRVTlETEVOQlFVc3NSVUZEZUVNc1RVRkJUeXhIUVVWVUxGRkJRVk5xYzBJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTkd4Q0xFVkJRVlVzYzBKQlFYTkNMRTlCUVZFMWJFSXNTVUZCU3l4RFFVTXZSQ3hKUVVGSk9FTXNSVUZCVHpocFFpeEZRVUZWTEhOQ1FVRnpRalZzUWl4RFFVRkRMRVZCUXpWRExFZEJRVWxuYzBJc1JVRkJUV3h3UWl4RFFVRkpMRWRCUVV0dGNFSXNSVUZCVFc1d1FpeERRVUZKTEVkQlEzWkNMRU5CUVVNNGFVSXNSVUZCVlN4VFFVRlRiMGNzUlVGQlRXeHdRaXhEUVVGSkxFVkJRVWR0Y0VJc1JVRkJUVzV3UWl4RFFVRkpMRU5CUVVNc1JVRkRPVU1zVFVGQlR5eEZRVWRhTEVOQlEwUXNUVUZCVHl4RlFVTlVMRVZCT0VOQkxFbEJRVWx2Y0VJc1IwRkJkVUlzVlVGQlZ5eERRVU4wUXl4RlFVVkJRU3hIUVVGeFFpeFZRVUZWTEZsQlFXTXNVMEZCVTBNc1JVRkJVU3hEUVVNMVJDeEpRVUZKTjBzc1JVRkJUU3hEUVVGQkxFVkJRMDRzUlVGRFNrRXNSVUZCU1N4VlFVRlpMRWRCUTJoQ0xFbEJRVWtyUkN4RlFVRlRMRWxCUVVsdVJTeEZRVUZoYVV3c1JVRkJUeXhMUVVGTExFMUJRVTBzUlVGRGFFUXNSMEZCU1N4RFFVRkRRU3hGUVVGUExGbEJRV05CTEVWQlFVOHNWMEZCVnl4VFFVRlhMRVZCUTNKRU4wc3NSVUZCU1N4bFFVRnBRaXRFTEVWQlFVOHNWMEZCVnpoSExFVkJRVThzUzBGQlN5eE5RVUZOTEZWQlJYcEVOMHNzUlVGQlNTeGxRVUZwUWl0RUxFVkJRVThzVjBGQlZ6aEhMRVZCUVU4c1YwRkJWeXhEUVVGRExFVkJRVVVzU1VGQlNTeEZRVU0xUkVFc1JVRkJUeXhYUVVGWExFOUJRVk1zUlVGRE4wSXNTVUZCU3l4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlR5eFhRVUZYTEU5QlFWRXNTVUZEZUVNM1N5eEZRVUZKTEZWQlFWVXNRMEZCUXl4RlFVRkpLMFFzUlVGQlR5eGxRVUZsT0Vjc1JVRkJUeXhYUVVGWExFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlNYaEZMRTlCUVVrc1QwRkJVU3hWUVVGbExFMUJRM3BDTjBzc1JVRkJTU3hUUVVGWkxFbEJRVWtzVlVGQlV5eEZRVUZKTEdkQ1FVRm5Ra0VzUlVGQlNTeGxRVUZuUWl4cFFrRkJhVUlzUjBGRmFrWkJMRU5CUTFRc1JVRkZRU3hKUVVGSk9Fc3NSMEZCWjBJc1ZVRkJWeXhEUVVNdlFpeEZRVVZCUVN4SFFVRmpMRlZCUVZVc1dVRkJZeXhUUVVGVFJDeEZRVUZSTEVOQlEzSkVMRWxCUVVsRkxFVkJRMEZvU0N4RlFVRlRMRWxCUVVsdVJTeEZRVUZoYVV3c1JVRkJUeXhMUVVGTExFMUJRVTBzUlVGRGFFUXNUMEZCUVVVc1JVRkJZV2hJTEVWQlFVOHNWMEZCVnpoSExFVkJRVThzUzBGQlN5eE5RVUZOTEVWQlF6RkRSU3hEUVVOVUxFVkJSVUZFTEVkQlFXTXNWVUZCVlN4WlFVRmpMRk5CUVZOb01FSXNSVUZCVFN4RFFVTnVSQ3hKUVVGSmFUQkNMRVZCUTBGb1NDeEZRVUZUTEVsQlFVbHVSU3hGUVVGaE9XOUNMRVZCUVVzc1RVRkJUU3hGUVVONlF5eFBRVUZCYVhSQ0xFVkJRVThzVjBGQlZTeEZRVU5xUW1kSUxFVkJRV0ZvU0N4RlFVRlBMR05CUTJKblNDeERRVU5VTEVWQlJVa3NUMEZCVHl4UlFVRlpMRTFCUTNKQ0xGRkJRVkVzY1VKQlFYVkNTQ3hIUVVNdlFpeFJRVUZSTEdOQlFXZENSU3hKUVU4eFFpeEpRVUZKUlN4RlFVRlZMRk5CUVZOcVNDeEZRVUZSTEVOQlJUZENMRXRCUVVzc1QwRkJVMEVzUjBGQlZTeEpRVUZKYUVNc1JVRkZOVUlzUzBGQlN5eE5RVUZSTEVkQlJXSXNTME
1ZCU3l4TlFVRlJMRWRCUldJc1MwRkJTeXhOUVVGUkxFZEJSV0lzUzBGQlN5eGpRVUZuUWl4SFFVVnlRaXhMUVVGTExHVkJRV2xDTEVkQlJYUkNMRXRCUVVzc1dVRkJZeXhMUVVWdVFpeExRVUZMTEdOQlFXZENMRWRCUlhKQ0xFdEJRVXNzVVVGQlZTeExRVVZtTEV0QlFVc3NWVUZCV1N4SFFVVnFRaXhMUVVGTExGVkJRVmtzUzBGRmFrSXNTMEZCU3l4VlFVRlpMRXRCUldwQ0xFdEJRVXNzVVVGQlZTeExRVVZtTEV0QlFVc3NaMEpCUVd0Q0xFZEJSWFpDTEV0QlFVc3NhVUpCUVcxQ0xFZEJSWGhDTEV0QlFVc3NaMEpCUVd0Q0xFZEJSWFpDTEV0QlFVc3NNa0pCUVRaQ0xFZEJSV3hETEV0QlFVc3NkMEpCUVRCQ0xFZEJSUzlDTEV0QlFVc3NaVUZCYVVJc1JVRkZkRUlzUzBGQlN5eGpRVUZuUWl4SFFVVnlRaXhMUVVGTExFOUJRVk1zUzBGRlpDeExRVUZMTEZOQlFWY3NSVUZEYkVJc1JVRkZRV2xLTEVWQlFWRXNWVUZCVlN4clFrRkJiMElzVTBGQlUwTXNSVUZCU1VNc1JVRkJUVGxwUWl4RlFVRlRMRU5CUTJoRkxFbEJRVWtyYVVJc1JVRkJUeXhMUVVGTExHRkJRV0ZHTEVOQlFVVXNSVUZETDBJc1IwRkJTVVVzUlVGQlRTeERRVU5TTEVsQlFVbERMRVZCUVZrc1EwRkJRU3hGUVVOb1FpeExRVUZMTEdsQ1FVRnBRaXhMUVVGTFFTeERRVUZUTEVWQlEzQkRRU3hGUVVGVkxFZEJRVXRJTEVWQlEyWkhMRVZCUVZVc1MwRkJUMFlzUlVGRGFrSkZMRVZCUVZVc1MwRkJUMFFzUlVGRGFrSkJMRVZCUVVzc1YwRkJZU3hGUVVOc1FrTXNSVUZCVlN4alFVRm5RaXhMUVVNeFFrRXNSVUZCVlN4WFFVRmhMRWxCUTNaQ1FTeEZRVUZWTEdOQlFXZENMRWRCUTNSQ2FHcENMRWxCUTBWQkxFVkJRVkVzV1VGQlYyZHFRaXhGUVVGVkxGZEJRV0ZvYWtJc1JVRkJVU3hYUVVOc1JFRXNSVUZCVVN4blFrRkJaV2RxUWl4RlFVRlZMR05CUVdkQ2FHcENMRVZCUVZFc1pVRkZhRVVzUTBGRFNDeEZRVVZCTkdsQ0xFVkJRVkVzVlVGQlZTeHZRa0ZCYzBJc1UwRkJVME1zUlVGQlNTeERRVVZ1UkN4UlFVUkpiblpDTEVWQlFWRXNSMEZEU0N4RlFVRkpMRVZCUVVjc1JVRkJTU3hMUVVGTExHbENRVUZwUWl4UFFVRlJMRWxCUVVzc1EwRkRja1FzU1VGQlNYTjJRaXhGUVVGWkxFdEJRVXNzYVVKQlFXbENMRU5CUVVNc1JVRkRia05CTEVWQlFWVXNTVUZCVFVnc1NVRkRiRUp1ZGtJc1JVRkJVU3hGUVVWWUxFTkJRMGRCTEVWQlFWRXNTVUZEVml4TFFVRkxMR2xDUVVGcFFpeFBRVUZQUVN4RlFVRlBMRU5CUVVNc1EwRkZla01zUlVGRlFXdDJRaXhGUVVGUkxGVkJRVlVzY1VKQlFYVkNMRk5CUVZORExFVkJRVWxETEVWQlFVMDVhVUlzUlVGQlV5eERRVU51UlN4SlFVRkpLMmxDTEVWQlFVOHNTMEZCU3l4aFFVRmhSaXhEUVVGRkxFVkJReTlDTEVkQlFVbEZMRVZCUVUwc1EwRkRVaXhKUVVGSlJTeEZRVUZsTEVOQlFVRXNSVUZEYmtJc1MwRkJTeXhuUWtGQlowSXNTMEZCUzBFc1EwRkJXU3hGUVVOMFEwRXNSVUZCWVN4SFFVRkxTaXhGUVVOc1Fra3NSVUZCWVN4TFFVRlBTQ3hGUVVOd1FrY3NSVUZCWVN4TFFVRlBSaXhGUVVOd1FrRXNSVUZCU3l4WFFVRmhMRVZCUTJ4Q1JTeEZRVUZoTEZkQlFXRXNTVUZETVVKQkxFVkJRV0VzVVVGQlZTeEhRVU51UW1wcVFpeEhRVU5GUVN4RlFVRlJMRmxCUVZkcGFrSXNSVUZCWVN4WFFVRmhhbXBDTEVWQlFWRXNWVUZGTlVRc1EwRkRTQ3hGUVVWQk5HbENMRVZCUVZFc1ZVRkJWU3gxUWtGQmVVSXNVMEZCVTBNc1JVRkJTU3hEUVVWMFJDeFJRVVJKYm5aQ0xFVkJRVkVzUjBGRFNDeEZRVUZKTEVWQlFVY3NSVUZCU1N4TFFVRkxMR2RDUVVGblFpeFBRVUZSTEVsQlFVc3NRMEZEY0VRc1NVRkJTWFYyUWl4RlFVRmxMRXRCUVVzc1owSkJRV2RDTEVOQlFVTXNSVUZEY2tOQkxFVkJRV0VzU1VGQlRVb3NTVUZEY2tKdWRrSXNSVUZCVVN4RlFVVllMRU5CUTBkQkxFVkJRVkVzU1VGRFZpeExRVUZMTEdkQ1FVRm5RaXhQUVVGUFFTeEZRVUZQTEVOQlFVTXNRMEZGZUVNc1JVRkZRV3QyUWl4RlFVRlJMRlZCUVZVc1RVRkJVU3hWUVVGWExFTkJSVzVETEVsQlFVbHlSaXhGUVVOQlZDeEZRVU5CYjBjc1JVRkJjMElzUjBGRk1VSXNSMEZCU1N4UFFVRkxMSE5DUVVOSUxFTkJRVU1zUzBGQlN5eDNRa0ZMV2l4UFFVVkZMRWRCUVVrc1MwRkJTeXh0UWtGQmNVSXNTMEZCU3l4clFrRkJhVUlzUlVGQlNTeERRVU4wUkN4SFFVRkpMRXRCUVVzc2QwSkJRMUFzVTBGRlFTeE5RVVZTTEZOQlExVXNTMEZCU3l4dFFrRkRVQ3hMUVVGTExHdENRVUZwUWl4RlFVVjRRak5HTEVWQlFVMXlRaXhGUVVGVkxGbEJRVmtzUzBGQlN5eFBRVUZSWjBnc1EwRkJiVUlzUlVGRGVFUXpSaXhGUVVGSkxFOUJRVk55UWl4RlFVRlZMRzlDUVVONlFpeEhRVUZKTEV0QlFVc3NjVUpCUVhOQ0xFTkJRemRDTEVkQlFVa3NTMEZCU3l4eFFrRkJjVUp4UWl4RFFVRkhMRVZCUXk5Q0xGTkJSVUVzVFVGRldpeExRVU5WTEZsQlJVY3NRMEZEVEN4SlFVRkpSQ3hGUVU5S0xFOUJURUZTTEVWQlFVMVRMRVZCUVVrc1NVRkRWa1FzUlVGQldWSXNSVUZCU1N4UFFVRlRMRTlCUVZOQkxFVkJRVWtzUzBGQlQwRXNSVUZCU1N4TFFVVnFSQ3hMUVVGTExFMUJRVTBzUzBGQlMwRXNRMEZCUnl4RlFVVllVU3hGUVVGUkxFTkJRMlFzU1VGQlN5eFBRVU5JTEV0QlFVc3NUVUZCVFN4TFFVRkxVaXhEUVVGSExFVkJRMjVDTEUxQlEwWXNTVUZCU3l4UFFVTklMRXRCUVVzc1RVRkJUU3hMUVVGTFFTeERRVUZITEVWQlEyNUNMRTFCUTBZc1NVRkJTeXhQUVVOSUxFdEJRVXNzWlVGQmFVSXNSMEZEYkVJc1MwRkJTeXhOUVVGTkxGTkJRVmNzU1VGRGVFSXNTMEZCU3l4alFVRm5RaXhKUVVsNlFpeFJRVU5OTEV0QlFVdFJMRU5CUVZFc1NVRkJUU3hSUVVOeVFtaElMRVZCUVVrc1MwRkJTeXhWUVVGWExEQkNRVUUwUW1kSUxFVkJRVmNzYTBOQlFXdERMRVZCUlM5R0xFdEJRVXRCTEVOQlFWRXNSVUZCU1ZJc1JVRkRha0lzUzBGRFNDeERRVU5ITEV0QlFVc3NhVUpCUTFBc1MwRkJTeXhuUWtGQlowSkJMRVZCUVV0VExFTkJRVWNzUTBGRmFFTXNRMEZIVUN4RlFVVkJjVVlzUlVGQlVTeFZRVUZWTEZsQlFXTXNVMEZCVXpGSkxFVkJRVWtzUTBGRE0wTXNSMEZCU1VFc1IwRkJUeXhMUVVOVUxFdEJRVThzZFVOQlJWUXNSMEZCU1VFc1JVRkJSeXhaUVVGakxFOUJRMjVDTEV0QlFVOHNkME5CUlZRc1QwRkJTVUVzUlVGQlJ5eGhRVUZsTEVkQlEzQkNOVVFzUlVGQlNTeExRVUZMTEZWQlFWY3NjVU5CUVhWRE5FUXNSVUZCUnl4VlFVRlpMRWRCUVVjc1JVRkROMFVzUzBGQlN5eFBRVUZQTEdsQ1FVTk1MRXRCUlZRMVJDeEZRVUZKTEV0QlFVc3NWVUZCVnl4cFEwRkJiVU0wUkN4RlFVRkhMRlZCUVZrc1IwRkJSeXhGUVVkNlJVRXNSVUZCUnl4VlFVRlpMRVZCUTJZc1MwRkJTeXhQUVVGUExHRkJRV0ZCTEVOQlFVVXNSVUZETTBJc1MwRkJTeXhQUVVGUExHbENRVVZRTEV0QlFVc3NUMEZCVHl4alFVbFdMRWxCU0V3MVJDeEZRVUZKTEV0QlFVc3NWVUZCVnl3MFFrRkJORUlzUlVGRGVrTXNTVUZIV0N4RlFVbEJjMDBzUlVGQlVTeFZRVUZWTEdGQlFXVXNVMEZCVXpGSkxFVkJRVWszWml4RlFVRk5MRU5CUTJ4RUxFbEJRVWs0YjBJc1JVRkRTaXhIUVVGTE
1xFdEJRVXNzV1VGQldXcEtMRU5CUVVVc1JVRkxlRUlzV1VGQlN5eE5RVUZMTEVWQlIwNHNTMEZCU3l4blFrRkJhMElzUTBGQlF5eExRVUZMTEdkQ1FVTXZRaXhMUVVGTExHTkJRV2RDTEVkQlEycENMRXRCUVVzc1lVRkJZU3hMUVVGTExGbEJRVmNzUjBGSGNFTXNTMEZCU3l4TlFVbEdMRXRCUVVzc2EwSkJRMUlzUzBGQlN5eHBRa0ZCWjBJc1JVRkRja0lzUzBGQlN5eG5Ra0ZCYTBJc1NVRkpla0lzUzBGQlN5eHJRa0ZCYVVJc1JVRkpiRUlzUzBGQlN5eFRRVUZYTEVOQlFVTXNTMEZCU3l4WlFVTjRRaXhMUVVGTExGVkJRVmtzUjBGRGFrSXNTMEZCU3l4UlFVRlJMRXRCUVVzc1VVRkJVeXhEUVVGQkxFZEJTVGRDTEV0QlFVc3NaVUZCWlRkbUxFTkJRVWtzUlVGSGNFSXNTMEZCU3l4clFrRkRVRGh2UWl4RlFVRm5RaXhMUVVGTExHbENRVU55UWl4TFFVRkxMR2xDUVVGdFFpeFJRVVY0UWtFc1JVRkJaMElzUzBGQlN5eHJRa0ZGYmtJc1MwRkJTeXhQUVVGUExEQkNRVU5rUVN4RlFVRm5RaXhMUVVGTExFOUJRVThzZDBKQlFYZENRU3hEUVVGaExFbEJSeTlFTEV0QlFVc3NhMEpCUjFCQkxFVkJRV2RDTEV0QlFVc3NhMEpCUjNKQ1FTeEZRVUZuUWl4RlFVZG9RaXhMUVVGTExFMUJRMGdzUzBGQlN5eFJRVUZWTEVOQlFVTXNTMEZCU3l4WFFVTjJRaXhMUVVGTExFOUJRVThzUzBGQlN5eEpRVUZKTEVWQlEzSkNMRXRCUVVzc1UwRkJWeXhKUVVkb1FpeExRVUZMTEU5QlEwZ3NTMEZCU3l4cFFrRkJiVUlzUTBGQlF5eExRVUZMTEdkQ1FVTm9ReXhMUVVGTExHZENRVUZsTEVWQlEzQkNMRXRCUVVzc1kwRkJaMElzU1VGRmJrSXNTMEZCU3l4alFVTlFMRXRCUVVzc1lVRkJZU3hMUVVGTExFMUJRVTBzUjBGSk4wSXNTMEZCU3l4UFFVRlBMR1ZCUTJRM1RTeEZRVUZKTEV0QlFVc3NWVUZCVnl4elEwRkJkME0wUkN4RlFVRkhMRlZCUVZrc1owVkJRV3RGYVVvc1EwRkJZU3hGUVVNeFNpeExRVUZMTEU5QlFVOHNhVUpCUTFvc1MwRkJTeXhQUVVGUExHVkJRMW9zUzBGQlN5eFBRVUZQTEdWQlFXVXNSVUZCU1N4RlFVTXZRamROTEVWQlFVa3NTMEZCU3l4VlFVRlhMQ3RDUVVGcFF5eExRVUZMTERKQ1FVRXdRaXhEUVVGRkxFZEJSV3BHTmswc1EwRkRWQ3hGUVVWQlVDeEZRVUZSTEZWQlFWVXNVVUZCVlN4VlFVRlhMRU5CUTNKRExFbEJRVWt2ZVVJc1JVRkJSM2xITEVWQlEwZzRjMElzUlVGQlVTeERRVUZCTEVWQlExSk1MRVZCUTBGTkxFVkJRMEZ3ZFVJc1JVRkRRWEYxUWl4RlFVTkJReXhGUVVGVExFbEJRVWtzUzBGQlN5eHpRa0ZCYzBJc1JVRkJSU3hSUVVGVExFVkJSWFpFTEVkQlFVa3NTMEZCU3l4TFFYTkNVQ3hKUVhKQ1FVZ3NSVUZCVFN4UlFVRlZMRWRCUTJoQ1FTeEZRVUZOTEZOQlFWY3NTMEZCU3l4TFFVRkxMRXRCUVVzc1UwRkRhRU5CTEVWQlFVMHNWVUZCV1N4TFFVRkxMRXRCUVVzc1MwRkJTeXhWUVVOcVEwRXNSVUZCVFN4aFFVRm5RaXhMUVVGTExFdEJRVXNzVFVGQlVTeExRVU53UTBFc1JVRkJUU3hqUVVGblFpeExRVUZMTEV0QlFVc3NTMEZCU3l4UFFVTjJRMEVzUlVGQlRTeHJRa0ZCYjBJc1MwRkJTeXhMUVVGTExFdEJRVXNzUzBGQlN5eHRRa0ZGYUVSQkxFVkJRVTBzWTBGQlowSXNTMEZCU3l4alFVTXpRa0VzUlVGQlRTeFBRVUZWTEV0QlFVc3NTMEZCU3l4TlFVRlJMRXRCUTJ4RFFTeEZRVUZOTEU5QlFWTXNSMEZEWmtFc1JVRkJUU3hQUVVGUExFdEJRVXNzUzBGQlN5eExRVUZMTEZkQlFWY3NSVUZEZGtOQkxFVkJRVTBzVDBGQlUwRXNSVUZCVFN4UFFVRlBMRTlCUVU4c1MwRkJTeXhMUVVGTExHbENRVUZwUWl4RlFVTTVSRUVzUlVGQlRTeFJRVUZWTEVsQlFVa3NTMEZCUzBjc1JVRkJVU3hMUVVGTExFdEJRVXNzUzBGQlN5eGpRVUZuUWl4SFFVRkpMRVZCUTNCRlNDeEZRVUZOTEZOQlFWY3NTVUZCU1N4TFFVRkxSeXhGUVVGUkxFdEJRVXNzUzBGQlN5eExRVUZMTEd0Q1FVRnZRaXhIUVVGSkxFVkJRM3BGU0N4RlFVRk5MRTlCUVZNc1IwRkRaa0VzUlVGQlRTeFpRVUZqTEVkQlEzQkNRU3hGUVVGTkxGbEJRV01zUjBGRGNFSkJMRVZCUVUwc1pVRkJhVUlzUjBGRGRrSkJMRVZCUVUwc1pVRkJhVUlzUjBGRGRrSkJMRVZCUVUwc1YwRkJZU3hIUVVOdVFrRXNSVUZCVFN4WlFVRmpMRWRCUTJaMmVrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzUzBGQlN5eE5RVUZOTEU5QlFWRkJMRWxCUVVzc1EwRlJNME1zUjBGUVFXdDZRaXhGUVVGUExFdEJRVXNzUzBGQlN5eE5RVUZOYkhwQ0xFTkJRVU1zUlVGRGVFSjVla0lzUlVGQlkxQXNSVUZCU3l4TFFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExGRkJRVkVzUTBGQlF5eEZRVU5vUkUwc1JVRkJVU3hEUVVGQkxFVkJRMUpFTEVWQlFVMHNUMEZCVHl4TFFVRkxReXhEUVVGTExFVkJRM1pDUVN4RlFVRk5MRWRCUVV0T0xFVkJRVXNzUzBGQlN5eFRRVU55UWswc1JVRkJUU3hMUVVGUFRpeEZRVUZMTEV0QlFVc3NTMEZCU3l4TFFVTTFRazBzUlVGQlRTeFhRVUZoTEVkQlEyWk9MRVZCUVVzc1MwRkRVQ3hKUVVGTGVuTkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNYbHpRaXhGUVVGTExFdEJRVXNzVFVGQlRTeFBRVUZSZW5OQ0xFbEJRM1JEY2tJc1JVRkJUU3hEUVVGQkxFVkJRMDV2ZFVJc1JVRkJUU3hYUVVGWExFdEJRVXR3ZFVJc1EwRkJSeXhGUVVONlFrRXNSVUZCU1N4TFFVRlBPSFJDTEVWQlFVc3NTMEZCU3l4TlFVRk5lbk5DTEVOQlFVTXNSVUZCUlN4TFFVTTVRbkpDTEVWQlFVa3NWVUZCV1RoMFFpeEZRVUZMTEV0QlFVc3NUVUZCVFhwelFpeERRVUZETEVWQlFVVXNWVUZIYmtONWMwSXNSVUZCU3l4UFFVTlFUU3hGUVVGTkxFMUJRVkZPTEVWQlFVc3NTMEZCU3l4TFFVRkxMRk5CUlM5Q1RTeEZRVUZOTEZGQlFWVXNTVUZCU1N4TFFVRkxSU3hGUVVGUlVpeEZRVUZMTEV0QlFVc3NZMEZCWjBJc1IwRkJTU3hGUVVNdlJFMHNSVUZCVFN4VFFVRlhMRWxCUVVrc1MwRkJTMFVzUlVGQlVWSXNSVUZCU3l4TFFVRkxMR3RDUVVGdlFpeEhRVUZKTEVWQlEzQkZUU3hGUVVGTkxHVkJRV2xDVGl4RlFVRkxMRXRCUVVzc1UwRkRha05OTEVWQlFVMHNaMEpCUVd0Q1JDeEZRVUZOTEZWQlF6bENReXhGUVVGTkxFMUJRVkZPTEVWQlFVc3NTMEZCU3l4TlFVTjRRazBzUlVGQlRTeG5Ra0ZCYTBKT0xFVkJRVXNzUzBGQlN5eG5Ra0ZEYkVOTkxFVkJRVTBzVDBGQlUwNHNSVUZCU3l4TFFVRkxMRTlCUTNwQ1RTeEZRVUZOTEU5QlFWTk9MRVZCUVVzc1MwRkJTeXhQUVVONlFrMHNSVUZCVFN4WlFVRmpUaXhGUVVGTExFdEJRVXNzVFVGQlV5eE5RVU4yUTAwc1JVRkJUU3hoUVVGbFRpeEZRVUZMTEV0QlFVc3NUMEZCVlN4TlFVTjZRMDBzUlVGQlRTeF
1ZRVUZaVGl4RlFVRkxMRXRCUVVzc1MwRkJTeXhWUVVOcVEwMHNSVUZCVFN4VlFVRlpUaXhGUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEV0QlEzUkRUU3hGUVVGTkxGTkJRVmRPTEVWQlFVc3NTMEZCU3l4TFFVRkxMRk5CUTJoRFRTeEZRVUZOTEdsQ1FVRnRRazRzUlVGQlN5eHBRa0ZET1VKTkxFVkJRVTBzVFVGQlVVTXNSVUZCV1N4WFFVTXhRa1FzUlVGQlRTeExRVUZSVGl4RlFVRkxMRTFCUVZGQkxFVkJRVXNzUzBGQlN5eE5RVUZOTEU5QlFWTkJMRVZCUVVzc1MwRkJTeXhOUVVGTkxFTkJRVU1zUlVGQlNTeERRVUZGTEZWQlFWY3NSMEZCU1N4TlFVRlBMRVZCUVVVc1JVRkRia2ROTEVWQlFVMHNVMEZCV1U0c1JVRkJTeXhMUVVGTExFdEJRVTlCTEVWQlFVc3NTMEZCU3l4TFFVRkxMR3RDUVVGdlFrRXNSVUZCU3l4TFFVRkxMRXRCUVVzc1pVRkRja1pOTEVWQlFVMHNWMEZCWVU0c1JVRkJTeXhSUVVGUkxFOUJRMmhEVFN4RlFVRk5MRXRCUVU5T0xFVkJRVXNzWVVGRGJFSk5MRVZCUVUwc1VVRkJWMEVzUlVGQlRTeExRVUZQTEVWQlFVbEJMRVZCUVUwc1ZVRkJZVUVzUlVGQlRTeHBRa0ZEZGtSRExFVkJRVmtzVjBGRFpFUXNSVUZCVFN4TFFVRlBMRkZCUTJKRUxFVkJRVTBzV1VGQldTeExRVUZMUXl4RFFVRkxMRVZCUXpWQ1FTeEZRVUZOTEUxQlFWRXNSMEZEWkVFc1JVRkJUU3hOUVVGTkxGbEJRV05ETEVWQlFWa3NZMEZCWVN4RlFVTnVSRVFzUlVGQlRTeE5RVUZOTEdOQlFXZENReXhGUVVGWkxHZENRVUZsTEVWQlEzWkVSQ3hGUVVGTkxFMUJRVTBzV1VGQlkwTXNSVUZCV1N4alFVRmhMRWRCUXpGRFFTeEZRVUZaTEZkQlEzSkNSQ3hGUVVGTkxFdEJRVThzVVVGRFlrUXNSVUZCVFN4WlFVRlpMRXRCUVV0RExFTkJRVXNzUlVGRE5VSkJMRVZCUVUwc1RVRkJVU3hIUVVOa1FTeEZRVUZOTEUxQlFVMHNUVUZCVVVNc1JVRkJXU3hUUVVGUkxFVkJRM2hEUkN4RlFVRk5MRTFCUVUwc1QwRkJVME1zUlVGQldTeFZRVUZUTEVkQlEycERRU3hGUVVGWkxHTkJRM0pDUkN4RlFVRk5MRXRCUVU4c1dVRkRZa1FzUlVGQlRTeGxRVUZsTEV0QlFVdERMRU5CUVVzc1IwRkRkRUpETEVWQlFWa3NWVUZEY2tKRUxFVkJRVTBzUzBGQlR5eFhRVU5pUkN4RlFVRk5MRmRCUVZjc1MwRkJTME1zUTBGQlN5eEhRVU5zUWtNc1JVRkJXU3hqUVVOeVFrUXNSVUZCVFN4TFFVRlBMRmRCUTJKRUxFVkJRVTBzWlVGQlpTeExRVUZMUXl4RFFVRkxMRWxCUlM5Q1FTeEZRVUZOTEV0QlFVOHNWMEZEWWtRc1JVRkJUU3haUVVGWkxFdEJRVXRETEVOQlFVc3NSVUZGTDBJc1RVRkZSRVFzUlVGQlRTeFJRVUZWTEVkQlIyeENMRWRCUkVGQkxFVkJRVTBzUzBGQlR5eEhRVU5VUVN4RlFVRk5MRk5CUVZkQkxFVkJRVTBzVDBGQlVTeERRVkZxUXl4SlFWQkpRU3hGUVVGTkxHRkJRV1ZCTEVWQlFVMHNXVUZCV1N4UFFVRlRMRVZCUTJ4RVFTeEZRVUZOTEUxQlFWRXNjMEpCUTB4QkxFVkJRVTBzWVVGQlpVRXNSVUZCVFN4WlFVRlpMRTlCUVZNc1JVRkRla1JCTEVWQlFVMHNUVUZCVVN4elFrRkZaRUVzUlVGQlRTeE5RVUZSTERSQ1FVVllkbnBDTEVWQlFVa3NSVUZCUjBFc1JVRkJTWFY2UWl4RlFVRk5MRTlCUVU4c1QwRkJVWFo2UWl4SlFVTXZRa0VzU1VGQlRTeEpRVUZIZFhwQ0xFVkJRVTBzVFVGQlVTeExRVU16UWtFc1JVRkJUU3hOUVVGUlFTeEZRVUZOTEU5QlFVOTJla0lzUTBGQlF5eEZRVUZGTEUxQlJXaERkWHBDTEVWQlFVMHNUVUZCVVN4blFrRkRaRUVzUlVGQlRTeE5RVUZSTEV0QlFVc3NTMEZCU3l4clFrRkJhMElzUzBGQlNTeEZRVU01UTBFc1JVRkJUU3hOUVVGUkxFZEJRMllzUTBGRFJDeFBRVUZQUVN4RFFVTlVMRVZCUlVGU0xFVkJRVkVzVlVGQlZTeGxRVUZwUWl4VFFVRlRkbTlDTEVWQlFVMHNRMEZEYUVRc1NVRkJTWGhMTEVWQlEwRnJla0lzUlVGRFNpeEhRVUZMTEV0QlFVc3NkMEpCUzFZc1NVRkJTU3hMUVVGTExEUkNRVUU0UWl4TFFVRkxMRmxCUVdNc1MwRkRlRVFzU1VGQlMyeDZRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4cFFrRkJhVUlzVDBGQlVVRXNTVUZCU3l4RFFVTnFSQ3hKUVVGSk1ucENMRVZCUVZjc1MwRkJTeXhwUWtGQmFVSXpla0lzUTBGQlF5eEZRVVYwUXl4SlFVUkJhM3BDTEVWQlFVOVRMRVZCUVZNc1MwRkRWRlFzUlVGQlN5eFhRVUZoUVN4RlFVRkxMRkZCUVZFc1VVRkJWU3hMUVVGTExIbENRVUY1UWl4RFFVYzFSWHBOTEVWQlFVa3NUVUZCVFN4VlFVRlhMSEZEUVVGMVEydE9MRVZCUVZNc1IwRkJTeXhsUVVGcFFsUXNSVUZCU3l4VlFVRlZMRVZCUXpGSExFbEJRVWszY2tJc1JVRkJVeXhMUVVGTE
1xHVkJRV1Z6YzBJc1JVRkJVeXhIUVVGSlZDeEZRVUZMTEZkQlFWbFRMRVZCUVZNc1lVRkJZU3hGUVVOeVJpeEhRVUZKZEhOQ0xFVkJRMFp6YzBJc1JVRkJVeXhqUVVGblFuUnpRaXhGUVVONlFqWnlRaXhGUVVGTExHbENRVWRNTEU5QlNVWXNTVUZCU1VFc1JVRkJTeXhYUVVGaFV5eEZRVUZUTEdGQlFXVXNSMEZCVFc1d1FpeEhRVUZSTUc5Q0xFVkJRVXNzV1VGQlkwRXNSVUZCU3l4UlFVRlJMRlZCUXpGR2VrMHNSVUZCU1N4TFFVRkxMRlZCUVZjc2NVTkJRWFZEYTA0c1JVRkJVeXhIUVVGTExHbENRVUZ0UWl4TFFVRkxMRWxCUVVrc1JVRkJSMVFzUlVGQlN5eFhRVUZoVXl4RlFVRlRMRlZCUVZVc1JVRkJTU3hMUVVGUFZDeEZRVUZMTEZkQlFXRXNSMEZCU3l4SFFVRkhMRVZCUTJ4TWVrMHNSVUZCU1N4TFFVRkxMRlZCUVZjc0swSkJRV2xETEV0QlFVc3NNa0pCUVRCQ0xFTkJRVVVzUlVGRGJFWXNTMEZCU3l4WFFVTlFMRXRCUVVzc1ZVRkJWV3RPTEVWQlFWTXNSMEZCU1VFc1JVRkJVeXhMUVVGTlFTeEZRVUZUTEdOQlFXTXNUMEZCVVZRc1JVRkJTeXhYUVVGaE1XOUNMRWRCUVZFd2IwSXNSVUZCU3l4WlFVRmpRU3hGUVVGTExGRkJRVkVzVVVGSGRFbFRMRVZCUVZNc1kwRkJaMElzUzBGRGNrSkJMRWxCUVdFc1MwRkJTeXhwUWtGQmFVSXpla0lzUTBGQlF5eEhRVVYwUXl4TFFVZE1MRU5CUTBZc1EwRkhTQ3hIUVVGSkxFdEJRVXNzV1VGQll5eExRVWR5UWl4SlFVRkxRU3hGUVVGSkxFVkJRVWRCTEVWQlFVa3NTMEZCU3l4blFrRkJaMElzVDBGQlVVRXNTVUZCU3l4RFFVTm9SQ3hKUVVGSk5IcENMRVZCUVdNc1MwRkJTeXhuUWtGQlowSTFla0lzUTBGQlF5eEZRVVY0UXl4SlFVUkJhM3BDTEVWQlFVOVZMRVZCUVZrc1MwRkRXbFlzUlVGQlN5eFhRVUZoUVN4RlFVRkxMRkZCUVZFc1VVRkJWU3hMUVVGTExIbENRVUY1UWl4RFFVTTFSWHBOTEVWQlFVa3NUVUZCVFN4VlFVRlhMSFZDUVVGNVFtMU9MRVZCUVZrc1IwRkJTeXhaUVVGalZpeEZRVUZMTEZWQlFWVXNSVUZETlVZc1NVRkJTVTRzUlVGQlV5eExRVUZMTEZWQlFWVk5MRVZCUVUxQkxFVkJRVXNzVlVGQlZTeEZRVU5xUkN4SFFVRkpUaXhGUVVOR1RTeEZRVUZMTEdGQlEweFZMRVZCUVZrc1VVRkJVU3hMUVVGTGFFSXNRMEZCVFN4TlFVVXZRaXhQUVVWR0xFbEJRVWxOTEVWQlFVc3NWMEZCWVZVc1JVRkJXU3hoUVVGbExFZEJRVXRXTEVWQlFVc3NXVUZCWTBFc1JVRkJTeXhSUVVGUkxGVkJRM0JHZWswc1JVRkJTU3hOUVVGTkxGVkJRVmNzTmtKQlFTdENiVTRzUlVGQldTeEhRVUZMTEdWQlFXbENWaXhGUVVGTExGVkJRVlVzUlVGRGFrY3NTMEZCU3l4WFFVTlFMRXRCUVVzc1ZVRkJWVlVzUlVGQldTeEhRVUZKUVN4RlFVRlpMRXRCUVUxQkxFVkJRVmtzVDBGQlR5eEZRVVYwUlVFc1JVRkJXU3hSUVVGVkxFZEJRMnhDUVN4SlFVRm5RaXhMUVVGTExHZENRVUZuUWpWNlFpeERRVUZETEVkQlJYaERMRXRCUjB3c1EwRkRSaXhGUVVWTUxFVkJSMEVyZVVJc1JVRkJVU3hWUVVGVkxFOUJRVk1zVTBGQlV6RjVRaXhGUVVGTkxFTkJRM2hETEVsQlFVbG5TQ3hGUVVGVExFdEJRVXNzVTBGQlUyaElMRVZCUVUwc1JVRkJTU3hGUVVOeVF5eFBRVUZSWjBnc1JVRkJUeXhQUVVGVFFTeEZRVUZQTEVOQlFVTXNSVUZCU1N4SlFVTjBReXhGUVVWQk1ISkNMRVZCUVZFc1ZVRkJWU3hUUVVGWExGTkJRVk14ZVVJc1JVRkJUWGQ2UWl4RlFVRmhMRU5CUTNaRUxFbEJRVWw0YzBJc1JVRkJVeXhEUVVGQkxFVkJRMklzVDBGQlFUQnlRaXhGUVVGUkxFOUJRVThzUzBGQlN5eExRVUZOTVhsQ0xFVkJRVTFuU0N4RlFVRlJkM05DTEVOQlFWY3NSVUZETlVONGMwSXNRMEZEVkN4RlFVVkJNSEpDTEVWQlFWRXNUMEZCVXl4VFFVRlRNWGxDTEVWQlFVMW5TQ3hGUVVGUmQzTkNMRVZCUVdFc1EwRkRMME1zUzBGQlN5eE5RVUZSTEV0QlFVc3NUVUZCVVhoNlFpeEhRVUZOWjBnc1JVRkJUeXhMUVVGTExFbEJRVWtzUlVGRGNFUXNVVUZCVXpSc1FpeExRVUZQTEV0QlFVc3NUVUZCVHl4RFFVTXhRaXhIUVVGSk5XeENMRVZCUVU4c1VVRkJWWGR6UWl4RlFVRmhMRTlCUTJ4RFpDeEZRVUZSTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwNVJpeERRVUZITEVWQlFVYzFjMElzUlVGQlRXZElMRVZCUVZGM2MwSXNRMEZCVnl4RFFVTXZSQ3hEUVVOSUxFVkJSVUZrTEVWQlFWRXNWVUZCVlN4dlFrRkJjMElzVTBGQlUyVXNSVUZCVlN4RFFVTjZSQ3hKUVVGSlRpeEZRVUZSTEV0QlFVc3NZVUZCWVUwc1EwRkJVU3hGUVVOMFF5eEhRVUZKVGl4RlFVTkdMRTlCUVU5QkxFVkJRVTBzVDBGSmFrSXNSVUZGUVZRc1JVRkJVU3hWUVVGVkxHVkJRV2xDTEZOQlFWTmxMRVZCUVZWd2NFSXNSVUZCVVN4RFFVTTFSQ3hKUVVGSk9HOUNMRVZCUVZFc1MwRkJTeXhoUVVGaFRTeERRVUZSTEVWQlEyeERiRUlzUlVGQlV5eExRVUZMTEZWQlFWVlpMRVZCUVU4NWIwSXNRMEZCVFN4RlFVTjZReXhQUVVGUGEyOUNMRU5CUTFRc1JVRkhRVWNzUlVGQlVTeFZRVUZWTEcxQ1FVRnhRaXhUUVVGVFF5eEZRVUZKWlN4RlFVRlhMRU5CUXpkRUxFbEJRVWx1WjBJc1JVRkJUeXhGUVVOUWMyWXNSVUZCVHl4TFFVRkxMR0ZCUVdGR0xFTkJRVVVzUlVGRE1VSkZMRVZCUVVzc2EwSkJRV2xDUVN4RlFVRkxMR2RDUVVGclFpeEhRVU5zUkN4UlFVRlRiSHBDTEVWQlFVbHJla0lzUlVGQlN5eG5Ra0ZCYVVKc2VrSXNSVUZCU1N0NlFpeEZRVUZYTDNwQ0xFbEJRMmhFTkZRc1IwRkJVU3hMUVVGTExHTkJRV056Wml4RlFVRk5iSHBDTEVOQlFVTXNSVUZGY0VONWJVSXNSVUZCU1N4TFFVRkxMRlZCUVZjc1ZVRkJXWFZOTEVWQlFVc3NNa0pCUVRaQ1pTeEZRVUZaTEc5Q1FVRnpRbTVuUWl4RlFVRlBMR2RDUVVGclFpeExRVUZMTEdkQ1FVRnJRaXhIUVVGSExFVkJRM1pLYzJZc1JVRkJTeXhuUWtGQmEwSmhMRU5CUTNwQ0xFVkJSVUZvUWl4RlFVRlJMRlZCUVZVc1RVRkJVU3hWUVVGWExFTkJRMjVETEV0QlFVc3NkMEpCUVRCQ0xFZEJReTlDTEV0QlFVc3NaVUZCWlN4RlFVRkxMRU5CUXpOQ0xFVkJSVUZCTEVWQlFWRXNWVUZCVlN4TFFVRlBMRlZCUVZjc1EwRkRiRU1zUzBGQlN5eDNRa0ZCTUVJc1JVRkRha01zUlVGSFFVRXNSVUZCVVN4VlFVRlZMRTFCUVZFc1ZVRkJWeXhEUVVOdVEzUk5MRVZCUVVrc1MwRkJTeXhWUVVGWExEUkNRVUUwUWl4RlFVTm9SQ3hMUVVGTExHdENRVUZwUWl4RlFVTjBRaXhMUVVGTE
1xHVkJRV1VzUlVGQlNTeEZRVU40UWl4TFFVRkxMRTlCUVU4c1pVRkRXaXhMUVVGTExFOUJRVThzWlVGQlpTeEZRVUZKTEVOQlEycERMRVZCU1VGelRTeEZRVUZSTEZWQlFWVXNWVUZCV1N4VFFVRlRhVUlzUlVGQlRVTXNSVUZCVVdZc1JVRkJUU3hEUVVONlJDeEpRVUZKZW5OQ0xFVkJRMEZ0YzBJc1JVRkRRWE5DTEVWQlFXTXNTVUZEWkVNc1JVRkJjMElzUlVGRGRFSkRMRVZCUVd0Q0xFVkJRMnhDTDAwc1JVRkZTaXhIUVVGSk5rd3NSVUZCU3l4UlFVRlJMRk5CUVZjc1JVRkRNVUlzVDBGQlFYcE5MRVZCUVVrc1MwRkJTeXhWUVVGWExDdERRVUZwUkVFc1JVRkJTU3hyUWtGQmEwSXNSVUZCUnl4RFFVRkRMRVZCUVVrc1owSkJRVzFDTEVWQlF5OUhMRU5CUVVVc1QwRkJVU3hGUVVGSExFdEJRVTBzUTBGQlF5eEZRVWMzUWl4SlFVRkxhR2RDTEVWQlFVa3NSVUZCUjBFc1JVRkJTWGx6UWl4RlFVRkxMRkZCUVZFc1QwRkJVWHB6UWl4SlFVRkxMRU5CUlhoRExFZEJSRUZ0YzBJc1JVRkJVMDBzUlVGQlN5eFJRVUZSZW5OQ0xFTkJRVU1zUlVGRGJrSkJMRWxCUVUwc1JVRkRVakowUWl4RlFVRnJRaXhGUVVOc1FpOU5MRVZCUVZsMVRDeEZRVUZQTEd0Q1FVTldRU3hGUVVGUExFbEJRVTF2UWl4RlFVRlBjRUlzUlVGQlR5eFZRVUZYTEVOQlF5OURkMElzUlVGQmEwSXpkRUlzUlVGQlNTeEZRVU4wUWl4TFFVTkVMRU5CUTBkM2RFSXNSMEZCVlhKQ0xFVkJRVThzVlVGRGJrSjFRaXhGUVVGelFqRjBRaXhGUVVWNlFpeERRVTFFTEVsQlRFbDNkRUlzU1VGRFJrY3NSVUZCYTBKRUxFZEJSWEJDU0N4RlFVRlBaQ3hGUVVGTExGRkJRVkZyUWl4RFFVRmxMRVZCUVVVc1NVRkRja05zUWl4RlFVRkxMRmRCUVdGclFpeEZRVU5ZYkVJc1JVRkJTeXhSUVVGUmEwSXNRMEZCWlN4RlFVRkZMR05CUVdkQ2JFSXNSVUZCU3l4UlFVRlJhMElzUTBGQlpTeEZRVUZGTEUxQlJUVkZiRUlzUlVGQlN5eFJRVUZSYTBJc1JVRkJhMElzUTBGQlF5eEhRVWR5UTBFc1NVRkZSaXhQUVVGQlJpeEZRVUZqYUVJc1JVRkJTeXhSUVVGUmEwSXNRMEZCWlN4RlFVRkZMRTlCUVZOc1FpeEZRVUZMTEZGQlFWRnJRaXhEUVVGbExFVkJRVVVzV1VGRGJrWXpUaXhGUVVGSkxFdEJRVXNzVlVGQlZ5eGxRVUZwUW5kT0xFVkJRVk1zVFVGQlVTeEpRVUZOTEZsQlFXTm1MRVZCUVVzc1YwRkJZU3hoUVVGbFFTeEZRVUZMTEV0QlFVc3NVMEZCVnl4VlFVRlplazBzUlVGQlNTeHJRa0ZCYTBKMVRpeEZRVUZOTTAwc1EwRkJVeXhGUVVGSkxHZENRVUZyUWpaTkxFTkJRVmNzUlVGRE0wMHNRMEZCUlN4UFFVRlJRU3hGUVVGaExFdEJRVTFHTEVWQlFVOHpUU3hEUVVGVExFTkJRM1JFTEVWQlIwRXdUQ3hGUVVGUkxGVkJRVlVzUzBGQlR5eFRRVUZUYVVJc1JVRkJUVU1zUlVGQlVTeERRVU01UXl4SlFVRkpTU3hGUVVGUExFdEJRVXNzUzBGRFdtNUNMRVZCUTBGdlFpeEZRVU5CZERCQ0xFVkJRMEYxTUVJc1JVRkJXU3hEUVVGRkxFOUJRVkVzU1VGQlZTeExRVUZOTEVkQlFWRXNSVUZEYkVRc1IwRkJTeXhMUVVGTExFdEJSVWdzUTBGRFRDeEpRVUZMZGpCQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1hFd1FpeEZRVUZMTEUxQlFVMHNUMEZCVVhJd1FpeEpRVU5xUTJ0NlFpeEZRVUZQYlVJc1JVRkJTeXhOUVVGTmNqQkNMRU5CUVVNc1JVRkRia0p6TUVJc1JVRkJhVUlzUzBGQlN5eFZRVUZWVGl4RlFVRk5ReXhGUVVGUlppeERRVUZKTEVWQlF6bERiMElzUlVGQlpTeFBRVUZUUXl4RlFVRlZMRk5CUTNCRFFTeEZRVUZWTEU5QlFWTkVMRVZCUVdVc1VVRkZhRU5CTEVWQlFXVXNTMEZCVDBNc1JVRkJWU3hQUVVOc1EwRXNSVUZCVlN4TFFVRlBSQ3hGUVVGbExFMUJSM0JETEU5QlFVRTNUaXhGUVVGSkxFdEJRVXNzVlVGQlZ5eHRRa0ZCY1VKQkxFVkJRVWtzYTBKQlFXdENPRTRzUlVGQlZTeExRVUZOTEVOQlFVTXNSVUZCU1N4blJFRkJhMFJCTEVWQlFWVXNUVUZCVFN4RlFVTnNTa0VzUlVGQlZTeFRRVUZYTEVsQlJYWkNRU3hGUVVGWkxFTkJRVVVzVDBGQlVTeExRVUZMTEd0Q1FVRnRRaXhMUVVGTkxFZEJTM0JFUVN4RlFVRlZMRTlCUVZNc1MwRkJTeXhQUVVGUExIZENRVUYzUWtFc1JVRkJWU3hOUVVGTkxFVkJSWHBGT1U0c1JVRkJTU3hMUVVGTExGVkJRVmNzYlVWQlFYRkZPRTRzUlVGQlZTeE5RVUZOTEVWQlEyeEhRU3hEUVVOU0xFdEJlRUpETEUxQlFVMHNhVU5CZVVKV0xFVkJSVUY0UWl4RlFVRlJMRlZCUVZVc1RVRkJVU3hUUVVGVE5YVkNMRVZCUVVjc1EwRkZjRU1zVVVGRVNYRjNRaXhGUVVGWkxFVkJRMVJCTEVWQlFWa3NTMEZCU3l4TlFVRk5MRkZCUVZWQkxFVkJRVmx5ZDBJc1JVRkJSU3hOUVVGTkxGRkJRVkVzUTBGRGJFVXNTVUZCU1hOM1FpeEZRVUZSTEV0QlFVc3NUVUZCVFVRc1EwRkJVeXhGUVVNMVFrVXNSVUZCVVhaM1FpeEZRVUZGTEUxQlFVMXhkMElzUTBGQlV5eEZRVU0zUWl4SFFVRkpMRU5CUVVOdVNTeEZRVUZWTEZOQlFWTnZTU3hGUVVGUFF5eERRVUZMTEVWQlEyeERMRTFCUVU4c1IwRkZWRVlzUjBGRFJDeERRVU5FTEUxQlFVOHNSVUZEVkN4RlFVVkpMRTlCUVU4c1VVRkJXU3hOUVVOeVFpeFJRVUZSTEZGQlFWVjZRaXhIUVVsd1FrRXNSVUZCVVN4VlFVRlZMSEZDUVVGMVFpeEZRVVY2UTBFc1JVRkJVU3hWUVVGVkxGbEJRV01zUzBGTmFFTkJMRVZCUVZFc1ZVRkJWU3hyUWtGQmIwSXNSVUZGZEVOQkxFVkJRVkVzVlVGQlZTeG5Ra0ZCYTBJc1IwRkZjRU5CTEVWQlFWRXNWVUZCVlN4eFFrRkJkVUlzVTBGQlUzSkdMRVZCUVVzc1EwRkRja1FzU1VGQlNWUXNSVUZEUVRCSUxFVkJRMEZETEVWQlIwb3NUMEZCU1d4SUxFVkJRVWtzVDBGQlV5eFJRVXRtVkN4RlFVRk5MRWxCUVVsYUxFVkJRVlZ4UWl4RlFVRkpMRXRCUVU4c1MwRkJTeXhGUVVGRlFTeEZRVUZKTEVsQlFVa3NSVUZET1VNc1MwRkJTeXhaUVVGalZDeEZRVU51UWl4TFFVRkxMRTFCUVUwc1MwRkJTMEVzUTBGQlJ5eEZRVU51UWl4TFFVRkxMRTFCUVUwc1MwRkJTMEVzUTBGQlJ5eEZRVU51UWtFc1JVRkJTU3hOUVVGUlV5eEZRVUZKTEUxQlEyaENWQ3hGUVVGSkxGTkJRVmRUTEVWQlFVa3NVMEZEYmtJc1MwRkJTeXhQUVVGUExHRkJRV0ZVTEVWQlFVa3NVVUZCVVN4RlFVZHlReXhMUVVGTExIRkNRVUYxUWtFc1JVRkJTU3hOUVVGUlFTeEZRVUZKTEV0QlJUVkRNa2dzUlVGQlVTeExRVUZMTEU5QlFVOHNTMEZCU3pOSUxFVkJRVWtzVFVGQlVVRXNSVUZCU1N4TFFVRk5MRWRCUVU4c1MwRkJTeXhsUVVGbExFVkJRM1JGTWtnc1IwRkZSaXhMUVVGTE
1xGbEJRV01zUzBGRldpeExRVWxHTEV0QlFVc3NaVUZSVWl4TFFVRkxMR3RDUVVGdlFpeExRVUZMTEU5QlFVOHNjVUpCUVc5Q0xFVkJTbnBFTEV0QlFVc3NhMEpCUVc5Q00wZ3NSVUZCU1N4TlFVRlJRU3hGUVVGSkxFdEJUM0JETEUxQlNVeFRMRVZCUVVrc1QwRkJVeXhUUVVWbUxFdEJRVXNzWlVGQmFVSXNSMEZEYkVJc1MwRkJTeXhOUVVGTkxGTkJRVmNzU1VGRGVFSXNTMEZCU3l4alFVRm5RaXhMUVU5NlFtbElMRVZCUVZVc1MwRkJTeXhQUVVGUExHZENRVUZyUWl4TFFVRkxMRTlCUVU4c2EwSkJRVzlDTEVkQlEzQkZRU3hIUVVsR0xFdEJRVXNzYTBKQlFXOUNMRXRCUVVzc1QwRkJUeXhsUVVGakxFVkJRelZETEV0QlNVWnFTQ3hGUVVGSkxFdEJVVWdzUzBGQlN5eGxRVU5RTEV0QlFVc3NhMEpCUVc5Q0xFdEJRVXNzVDBGQlR5eGxRVUZqTEVWQlJXNUVMRXRCUVVzc2EwSkJRVzlDTEV0QlFVc3NUMEZCVHl4WlFVRmhMRVZCUVVkQkxFVkJRVWtzUzBGU00wUXNTMEZCU3l4clFrRkJiMElzUzBGQlN5eFBRVUZQTEdWQlFXTXNSVUZYT1VNc1NVRkhZaXhGUVVWQmNVWXNSVUZCVVN4VlFVRlZMR3RDUVVGdlFpeFZRVUZYTEVOQlF5OURMRTlCUVZFc1MwRkJTeXhqUVVGblFpeEpRVU12UWl4RlFVVkJRU3hGUVVGUkxGVkJRVlVzYzBKQlFYZENMRlZCUVZjc1EwRkRia1FzU1VGQlNUbEdMRVZCUTBFeVNDeEZRVTFLTEU5QlNFRXpTQ3hGUVVGTkxFdEJRVXNzV1VGRldESklMRVZCUVZFc1MwRkJTeXhQUVVGUExFdEJRVXN6U0N4RlFVRkpMRTFCUVZGQkxFVkJRVWtzUzBGQlRTeEhRVUZQTEV0QlFVc3NaVUZCWlN4RlFVTjBSVEpJTEVkQlEwWnVUeXhGUVVGSkxFMUJRVTBzVlVGQlZ5eHRRMEZCYlVNc1JVRkZlRVFzUzBGQlN5eFpRVUZqTEV0QlJWb3NTMEZMVUN4TFFVRkxMR3RDUVVGdlFpeExRVUZMTEU5QlFVOHNjVUpCUVc5Q0xFVkJRMnhFTEVkQlJWZ3NSVUZGUVhOTkxFVkJRVkVzVlVGQlZTeHhRa0ZCZFVJc1ZVRkJWeXhEUVVWc1JDeFBRVUZQTEV0QlFVc3NUMEZCVHl4TFFVRkxMRXRCUVVzc2NVSkJRWE5DTEVkQlFVMHNTMEZCU3l4bFFVRmxMRU5CUXk5RkxFVkJSVUZCTEVWQlFWRXNWVUZCVlN4clFrRkJiMElzVlVGQlZ5eERRVVV2UXl4TFFVRkxMSEZDUVVGMVFpeExRVUZMTEU5QlFVOHNXVUZCVnl4RFFVTnlSQ3hGUVVWQlFTeEZRVUZSTEZWQlFWVXNaMEpCUVd0Q0xGTkJRVk01Uml4RlFVRkxVeXhGUVVGTExFTkJRMnBFTEV0QlFVc3NUMEZCVHl4bFFVTldWQ3hGUVVGSkxFOUJRVk1zVVVGRlppeExRVUZMTEU5QlFVOHNZVUZCWVVFc1JVRkJTU3hSUVVGUkxFVkJRMnBETEV0QlFVc3NhVUpCUTFBc1MwRkJTeXhQUVVGUExHRkJRV0ZCTEVWQlFVa3NTMEZCVDBFc1JVRkJTU3hSUVVGUkxFZEJTV3hFTEV0QlFVc3NUMEZCVHl4aFFVRmhRU3hGUVVGSkxFbEJRVWtzUlVGSGRrTXNSVUZGUVRoR0xFVkJRVkVzVlVGQlZTeEpRVUZOTVVjc1JVRkJWU3hKUVVGSkxGVkJRVlVzU1VGRGFFUXdSeXhGUVVGUkxGVkJRVlVzVDBGQlV6RkhMRVZCUVZVc1NVRkJTU3hWUVVGVkxFOUJSVzVFTUVjc1JVRkJVU3hWUVVGVkxFdEJRVThzVTBGQlV6aENMRVZCUVZVc1EwRkRNVU1zU1VGQlNURnJRaXhGUVVGVk1HdENMRWRCUVZrc1IwRkRaaXhMUVVGTExFbEJRVWtzVFVGQlRTeEZRVUZGTEVsQlFVa3NZMEZCWjBJeGEwSXNSVUZCVVN4UlFVRlZRU3hGUVVGUkxFOUJRVThzUTBGQlF5eEhRVUZOTEUxQlFVMHNSVUZETTBZc1NVRkJTU3huUWtGQmFVSXNRMEZCUXl4RlFVTjBRaXhKUVVGSkxHOUNRVUZ4UWtFc1JVRkJVU3hSUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlEzUkVMRWxCUVVscmEwSXNSVUZCVHl4TFFVRkxMRWxCUVVrc1RVRkJUU3hGUVVNeFFpeFBRVUZCUVN4RlFVRkxMRWxCUVVrc1RVRkJUU3hGUVVGRkxFbEJRVWtzV1VGQllXeHJRaXhGUVVGUkxGZEJRV0VzUjBGQlJ5eEZRVU4yUkN4SlFVRkpMRTlCUVZGQkxFVkJRVkVzVFVGQlVTeExRVUZQTEVWQlEyNURMRWxCUVVrc1owSkJRV2xDTEVOQlFVTXNSVUZEZEVJc1NVRkJTU3h2UWtGQmNVSXNRMEZCUXl4RlFVTXhRaXhKUVVGSkxGZEJRVmxCTEVWQlFWRXNWVUZCV1N4RFFVRkRMRVZCUTNKRExFbEJRVWtzVTBGQlYwRXNSVUZCVVN4TlFVRlRMRVZCUVVrc1IwRkJUU3hGUVVNeFF5eEpRVUZKTEZOQlFWVXNRMEZCUXl4TlFVRlRMRVZCUVVjc1JVRkJSeXhGUVVGSExFMUJRVk1zUlVGQlJ5eEZRVUZITEVWQlFVY3NWVUZCVlN4RFFVRkRMRVZCUXpsRUxFbEJRVWtzWjBKQlFXbENMRU5CUVVNc1JVRkRla0pyYTBJc1JVRkJTeXhKUVVGSkxFMUJRVTBzUlVGRFVpeEpRVU5VTEVWQlJVRjBRaXhGUVVGUkxGVkJRVlVzVTBGQlZ5eFRRVUZUT0VJc1JVRkJWU3hEUVVONlF5eExRVUZMTEUxQlExSXNTME
1ZCU3l4TFFVRkxRU3hEUVVGUkxFVkJSM0JDTEVsQlFVa3hhMElzUlVGQlZUQnJRaXhIUVVGWkxFZEJRekZDTVd0Q0xFVkJRVkVzVFVGQlVVRXNSVUZCVVN4UFFVRlRMRWxCUTJwRFFTeEZRVUZSTEU5QlFWTkJMRVZCUVZFc1VVRkJWU3hKUVVOdVEwRXNSVUZCVVN4SFFVRkxRU3hGUVVGUkxFbEJRVTBzUzBGQlN5eExRVUZMTEV0QlFVc3NZMEZETVVOQkxFVkJRVkVzUzBGQlQwRXNSVUZCVVN4TlFVRlJMRTlCUlM5Q0xFbEJRVWtyYVVJc1JVRkJUeXhMUVVGTExFdEJRVXNzU1VGQlNTeE5RVUZOTEVWQlF5OUNMRXRCUVVzc1MwRkJTeXhMUVVGTExHTkJRV2RDTDJsQ0xFVkJRVkVzUjBGQlN5eEZRVU0xUXl0cFFpeEZRVUZMTEVsQlFVa3NUVUZCVFN4RlFVRkZMRWxCUVVrc1VVRkJVemRITEVWQlFWVXNhMEpCUTNSRFFTeEZRVUZWTEcxQ1FVTldRU3hGUVVGVkxHOUNRVUZ2UWl4RlFVTTNRaXhKUVVGSkxHZENRVUZwUWl4RFFVRkRMRVZCUTNSQ0xFbEJRVWtzYjBKQlFYRkNMRU5CUVVNc1JVRkRNVUlzU1VGQlNTeFhRVUZaYkdNc1JVRkJVU3hGUVVGRkxFVkJRekZDTEVsQlFVa3NWMEZCV1VFc1JVRkJVU3hWUVVGWkxFTkJRVU1zUlVGRGNrTXNTVUZCU1N4UlFVRlRRU3hGUVVGUkxFOUJRVk1zUTBGQlF5eEZRVU12UWl4SlFVRkpMR3RDUVVGdFFpeERRVUZETEVWQlEzaENMRWxCUVVrc1UwRkJWU3hEUVVGRExFVkJRMllzU1VGQlNTeFRRVUZWTEVOQlFVTXNSVUZCUnl4RlFVRkhMRVZCUVVjc1JVRkJSeXhGUVVGSExFVkJRVWNzUlVGQlJ5eEZRVUZITEVOQlFVTXNRMEZCUXl4RlFVTjZReXhKUVVGSkxGRkJRVk5CTEVWQlFWRXNUMEZCVXl4RlFVRkZMRVZCUTJoRExFbEJRVWtzVTBGQlZVRXNSVUZCVVN4UlFVRlZMRVZCUVVVc1JVRkZja01zU1VGQlNUSnJRaXhGUVVGUE5VSXNSVUZCU3l4SlFVRkpMRTFCUVUwc1JVRkRNVUkwUWl4RlFVRkxMRWxCUVVrc1RVRkJUU3hGUVVGRkxFbEJRVWtzWjBKQlFXbENMRU5CUVVNc1JVRkRjRU1zU1VGQlNTeHZRa0ZCY1VJc1EwRkJReXhGUVVNeFFpeEpRVUZKTEZsQlFXRXphMElzUlVGQlVTeFhRVUZoTEVOQlFVTXNSVUZEZGtNc1NVRkJTU3hYUVVGWlFTeEZRVUZSTEdkQ1FVRnJRaXhEUVVGRExFVkJRek5ETEVsQlFVa3NWMEZCV1VFc1JVRkJVU3hWUVVGWkxFdEJRVXNzUlVGRk5VTXlhMElzUlVGQlN5eEpRVUZKTEUxQlFVMHNSVUZCUlN4SlFVRkpMRlZCUVZjemEwSXNSVUZCVVN4TlFVRlJMRTFCUVUwc1JVRkRia1FzU1VGQlNTeFBRVUZSUVN4RlFVRlJMRTFCUVZFc09FSkJRVGhDTEVWQlJUZEVNbXRDTEVWQlFVc3NTVUZCU1N4TlFVRk5MRVZCUVVVc1NVRkJTU3h2UWtGQmNVSXphMElzUlVGQlVTeFZRVUZaTEU5QlFVOHNSVUZGY2tVc1NVRkJTVFJyUWl4RlFVRlBSQ3hGUVVGTExFbEJRVWtzVFVGQlRTeEZRVU14UWl4SFFVRkpla2tzUlVGQlZXeGpMRVZCUVZFc1MwRkJUeXhoUVVGaExFbEJRVTBzVDBGRGFFUXNTMEZCU1RaclFpeEZRVUV5UWl4SlFVRkpNMGtzUlVGQlZXeGpMRVZCUVZFc1MwRkJUeXhoUVVGaExFVkJRM3BGTm10Q0xFVkJRWGxDTEhGQ1FVRjFRaXhGUVVOb1JDeEpRVUZKUXl4RlFVRmhMRWRCUTJwQ0xGRkJRVk51U1N4TFFVRmhWQ3hGUVVGVkxHbENRVVU1UWl4UlFVUkpOa2tzUlVGQlVUZEpMRVZCUVZVc2FVSkJRV2xDVXl4RFFVRlRMRVZCUTNaRE9YTkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNXc3hRaXhGUVVGTkxFOUJRVkZzTVVJc1NVRkRhRU1zUjBGQlNXc3hRaXhGUVVGTkxGRkJRVkV2YTBJc1JVRkJVU3hKUVVGSkxFVkJRVWtzUjBGQlNTeERRVU53UXpoclFpeEZRVUZoYmtrc1JVRkRZaXhMUVVORUxFTkJSMHdzVDBGQlVXMUpMRVZCUVZVc1EwRkRhRUlzU1VGQlN5eFRRVk5JTEVkQlVrRkdMRVZCUVVzc1NVRkJTU3hOUVVGTkxFVkJRVVVzU1VGQlNTeGxRVUZuUWl4RFFVRkRMRVZCUVVVc1NVRkJTU3hWUVVGWExFTkJRVU1zUlVGQlJ5eEZRVUZITEVOQlFVTXNRMEZCUXl4RlFVTm9SVU1zUlVGQmVVSXNTVUZCU1N4UlFVRlROMnRDTEVWQlFWRXNTMEZCU3l4RlFVTm9SQ3hKUVVGSkxGTkJRVlZCTEVWQlFWRXNUVUZCVFN4RlFVTTFRaXhKUVVGSkxHdENRVUZ0UWl4SlFVRlJMRVZCUVVVc1JVRkRha01zU1VGQlNTeHBRa0ZCYTBJc1NVRkJVU3hGUVVGRkxFVkJRMmhETEVsQlFVa3NZMEZCWlN4RFFVRkRMRVZCUTNCQ0xFbEJRVWtzYVVKQlFXdENRU3hGUVVGUkxFdEJRVThzWVVGQllTeEZRVU5zUkN4SlFVRkpMRkZCUVZNc1JVRkJTU3hGUVVOb1FrRXNSVUZCVVN4MVFrRkJkMElzUTBGRGJFTXNTVUZCU1dkc1FpeEZRVUZQTEVsQlFVazVTU3hGUVVGVkxGRkJRM0pDVUN4RlFVRlRMRWxCUVVsdVJTeEZRVUZoZUZnc1JVRkJVU3h6UWtGQmMwSXNSVUZETlVSbmJFSXNSVUZCU3l4TlFVRk5ja29zUTBGQlRTeEZRVU5xUW10S0xFVkJRWGxDTEU5QlFVOUhMRU5CUVVrc1EwRkRja01zUTBGRFJDeE5RVU5HTEVsQlFVc3NVVUZEU0Vvc1JVRkJTeXhKUVVGSkxFMUJRVTBzUlVGQlJTeEpRVUZKTEZWQlFWYzFhMElzUlVGQlVTeFRRVUZYTEVOQlFVTXNSVUZEY0VRMmEwSXNSVUZCZVVJc1NVRkJTU3huUWtGQmFVSTNhMElzUlVGQlVTeGxRVUZwUWl4RFFVRkRMRVZCUTNKRkxFbEJRVWtzWVVGQlkwRXNSVUZCVVN4WlFVRmpMRVZCUVVVc1JVRkRNVU1zU1VGQlNTeGhRVUZqUVN4RlFVRlJMRmxCUVdNc1MwRkJUeXhGUVVOc1JDeE5RVU5HTEVsQlFVc3NUMEZEU0RSclFpeEZRVUZMTEVsQlFVa3NUVUZCVFN4RlFVTm1MRTFCUTBZc1NVRkJTeXhYUVVWSUxFOUJSRUZCTEVWQlFVc3NTVUZCU1N4TlFVRk5MRVZCUTFBMWEwSXNSVUZCVVN4TFFVRkpMRU5CUTJ4Q0xFbEJRVXNzVDBGRFNEWnJRaXhGUVVGNVFpeEpRVUZKTEZsQlFXRTNhMElzUlVGQlVTeFhRVUZoTEdGQlFXRXNSVUZEZWtVc1NVRkJTU3hyUWtGQmJVSkJMRVZCUVZFc2FVSkJRVzFDTEVWQlFVVXNSVUZEY0VRc1NVRkJTU3gxUWtGQmQwSkJMRVZCUVZFc2MwSkJRWGRDTEVWQlFVVXNSVUZEYWtVc1MwRkRTQ3hEUVVORUxFMUJRMFlzU1VGQlN5eFhRVU5JTkd0Q0xFVkJRVXNzU1VGQlNTeE5RVUZOTEVWQlEyWXNUVUZEUml4SlFVRkxMRk5CUTBoQkxFVkJRVXNzU1VGQlNTeE5RVUZOTEVWQlEyWXNUVUZEUml4UlFVTkZRU3hGUVVGTExFbEJRVWtzVFVGQlRTeEZRVU5tTEV0QlEwZ3NRMEZEUn
1pWclFpeEZRVUZSTEdGQlExWTJhMElzUlVGQmVVSXNUMEZCVHpkclFpeEZRVUZSTEZkQlFWY3NSVUZGYWtSQkxFVkJRVkVzYlVKQlExWkJMRVZCUVZFc2EwSkJRV3RDTEZGQlFWRXNVMEZCVTJoTkxFVkJRVWNzUTBGRE5VTTJkMElzUlVGQmVVSXNUMEZCVHpkM1FpeERRVUZETEVOQlEzWkRMRU5CUVVzc1JVRkZTRFIzUWl4RlFVRkxMRWxCUVVrc1RVRkJUU3hGUVVGRkxFbEJRVWtzVFVGQlRTeEZRVUZGTEZOQlFWVXNTVUZCU1RGSkxFVkJRVlVzVTBGQlV5eEZRVUZITEVWQlFVVXNTVUZCU1N4UlFVRlRMRU5CUVVjc1EwRkJReXhGUVVOd1JpeEpRVUZKSzBrc1JVRkJUMHdzUlVGQlN5eEpRVUZKTEUxQlFVMHNSVUZETVVJc1QwRkJRVXNzUlVGQlN5eEpRVUZKTEUxQlFVMHNSVUZCUlN4VFFVRlRTaXhEUVVGM1FpeEZRVU5zUkVrc1JVRkJTeXhKUVVGSkxFMUJRVTBzUlVGQlJTeEpRVUZKTEdkQ1FVRnBRaXhEUVVGQkxFTkJRVVVzUlVGRGNrTXNTVUZCU1N4blFrRkJhVUlzUTBGQlFTeERRVUZGTEVWQlF6RkNRU3hGUVVGTExFbEJRVWtzVFVGQlRTeEZRVUZGTEVsQlFVa3NZMEZCWlN4RFFVRkJMRU5CUVVVc1JVRkRia01zU1VGQlNTeHZRa0ZCY1VJc1JVRkJSU3hGUVVNelFpeEpRVUZKTERKQ1FVRTBRaXhEUVVGQkxFTkJRVVVzUlVGRGNrTkJMRVZCUVVzc1NVRkJTU3hOUVVGTkxFVkJRVVVzU1VGQlNTeG5Ra0ZCYVVJc1EwRkJRU3hEUVVGRkxFVkJRM2hEUVN4RlFVRkxMRWxCUVVrc1RVRkJUU3hGUVVGRkxFbEJRVWtzWlVGQlowSXNRMEZCUVN4RFFVRkZMRVZCUlhaRExFdEJRVXNzUzBGQlN5eExRVUZMTEVsQlFVa3NUVUZCVFN4RlFVRkZMRWxCUVVrc1YwRkJXV3BzUWl4RlFVRlJMRVZCUVVVc1JVRkRiRVFzU1VGQlNTeHRRMEZCYjBOQkxFVkJRVkVzYTBOQlFXOURMRU5CUVVNc1JVRkRja1lzU1VGQlNTd3dRa0ZCTWtKQkxFVkJRVkVzZVVKQlFUSkNMRU5CUVVNc1JVRkRia1VzU1VGQlNTeHpRa0ZCZFVKQkxFVkJRVkVzY1VKQlFYVkNMRU5CUVVNc1JVRkRNMFFzU1VGQlNTeDFRa0ZCZDBKQkxFVkJRVkVzYzBKQlFYZENMRU5CUVVNc1JVRkRhRVVzUzBGQlN5eHhRa0ZCY1VJcmFVSXNRMEZCU1N4RlFVTjJRaTlwUWl4RlFVRlJMRWRCUTJwQ0xFVkJSVUZyWXl4RlFVRlZMRWxCUVVrc1ZVRkJWU3haUVVGakxGTkJRVk5uU2l4RlFVRlRMRU5CUTNSRUxFbEJRVWwyU2l4RlFVRlRkVW9zUjBGQlZ5eEpRVUZKY2s0c1JVRkROVUk0UkN4RlFVRlBMRmRCUVdFNVJDeEZRVUZYTEZkQlF5OUNMRXRCUVVzc1RVRkJUVGhFTEVOQlFVMHNRMEZEYmtJc1JVRkZRV2xJTEVWQlFWRXNWVUZCVlN4VlFVRlpMRk5CUVZObExFVkJRVlZxTVVJc1JVRkJUV2N5UWl4RlFVRlZMRU5CUXk5RUxFbEJRVWt4YTBJc1JVRkJWVEJyUWl4SFFVRlpMRWRCUTNSQ2FrTXNSVUZCVXl4RFFVRkJMRVZCUTFSTkxFVkJRVThzUzBGQlN5eGhRVUZoV1N4RFFVRlJMRVZCUTNKRExFZEJRVWxhTEVsQlFWTXNTMEZEWWl4RFFVRkJUaXhGUVVGUExFOUJRVk5OTEVWQlFVc3NVVUZCVVN4UFFVTTNRazRzUlVGQlR5eFRRVUZYVFN4RlFVRkxMRXRCUVVzc1UwRkROVUpPTEVWQlFVOHNWVUZCV1Uwc1JVRkJTeXhMUVVGTExFdEJRVXNzVlVGRGJFTk9MRVZCUVU4c2EwSkJRWEZDZW1sQ0xFVkJRVkVzZVVKQlFUSkNRU3hGUVVGUkxIbENRVUV5UWl4RlFVRkpMRVZCUTNSSGVXbENMRVZCUVU4c1dVRkJZMDBzUlVGQlN5eExRVUZMTEV0QlFVc3NTMEZCU3l4TFFVRkxMRkZCUVZGT0xFVkJRVThzYVVKQlFXbENMRVZCUXpsRlFTeEZRVUZQTEV0QlFVOHZla0lzUlVGRFpDdDZRaXhGUVVGUExFdEJRVTh2ZWtJc1JVRkJTeXhYUVVOdVFpdDZRaXhGUVVGUExGbEJRV05CTEVWQlFVOHNTMEZETlVKQkxFVkJRVThzVTBGQlYzcHBRaXhGUVVGUkxGVkJRVmtzUlVGRGRFTjVhVUlzUlVGQlR5eEpRVUZOZW1sQ0xFVkJRVkVzUzBGQlR5eEZRVU0xUW5scFFpeEZRVUZQTEVsQlFVMTZhVUlzUlVGQlVTeExRVUZQTEVWQlF6VkNlV2xDTEVWQlFVOHNVVUZCVlhwcFFpeEZRVUZSTEZOQlFWY3NSMEZEY0VONWFVSXNSVUZCVHl4WFFVRmhlbWxDTEVWQlFWRXNXVUZCWXl4RlFVTXhRM2xwUWl4RlFVRlBMRmRCUVdGNmFVSXNSVUZCVVN4WlFVRmpMRVZCUXpGRGVXbENMRVZCUVU4c1pVRkJhVUo2YVVJc1JVRkJVU3huUWtGQmEwSXNSVUZEYkVSNWFVSXNSVUZCVHl4bFFVRnBRbnBwUWl4RlFVRlJMR2RDUVVGclFpeEZRVU5zUkhscFFpeEZRVUZQTEhGQ1FVRjFRbnBwUWl4RlFVRlJMSE5DUVVGM1FpeEZRVU01UkhscFFpeEZRVUZQTEU5QlFWTXNSVUZEYUVKQkxFVkJRVThzVjBGQllYcHBRaXhGUVVGUkxGZEJRelZDSzJsQ0xFVkJRVXNzVVVGQlVTeExRVUZMVGl4RFFVRk5MRVZCUTNoQ1RTeEZRVUZMTEdOQlFXZENUaXhGUVVGUExFdEJRelZDVFN4RlFVRkxMR3RDUVVGdlFrNHNSVUZCVHl4VFFVTXpRazBzUlVGQlN5eFpRVU5TUVN4RlFVRkxMRlZCUVZrdmFVSXNSVUZCVVN4TFFVY3pRaXhMUVVGTExHVkJRV01zUlVGRmJrSXNTVUZCU1cxc1FpeEZRVUZQTEV0QlFVc3NkVUpCUVhWQ01VTXNRMEZCVFN4RlFVTTNReXhaUVVGTExFOUJRVTh3UXl4RFFVRkpMRVZCUTJoQ1FTeEZRVUZMTEZsQlFWY3NSVUZGYUVKQkxFVkJRVXNzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1dVRkJZMEVzUlVGQlN5eExRVUZQTEVWQlEycEVMRXRCUVVzc1NVRkJTU3hOUVVGTkxFVkJRVVVzUzBGQlR5eEpRVUZKTEZkQlFWZDZNa0lzUTBGQlNTeEZRVU53UXl0NlFpeEZRVU5VTEVWQlJVRkhMRVZCUVZFc1ZVRkJWU3gxUWtGQmVVSXNVMEZCVTBnc1JVRkJVU3hEUVVNeFJDeEpRVUZKTWtNc1JVRkJaU3hGUVVObU0wTXNSVUZCVHl4UlFVTlVNa01zUlVGQlowSXNSMEZCU3l4SFFVVnlRa0VzUlVGQlowSXNUVUZGYkVJc1NVRkJTVVFzUlVGQlR5eEpRVUZKYWtvc1JVRkJWU3hSUVVONlFtbEtMRVZCUVVzc1NVRkJTU3hOUVVGTkxFVkJRVVVzU1VGQlNTeHJRa0ZCYlVJc1MwRkJTeXhqUVVGakxFVkJRek5FTEV0QlFVc3NhVUpCUTB3c1NVRkJTVVVzUlVGQlQwWXNSVUZCU3l4SlFVRkpMRTFCUVUwc1JVRkRkRUp3UXl4RlFVRlBMRXRCUVVzc1lVRkJZVTRzUlVGQlR5eFJRVUZSTEVWQlF6VkRMRTlCUVVFMFF5eEZRVUZMTEVsQlFVa3NUVUZCVFN4RlFVRkZMRWxCUVVrc1YwRkJXVFZETEVWQlFVOHNVVUZCVVN4RlFVTTNReXhKUVVGSkxGRkJRVk4yUnl4RlFVRlZMRGhDUVVFNFFpeEZRVU40UkcxS0xFVkJRVXNzU1VGQlNTeE5RVUZOTEVWQlFVVXNTVUZCU1N4elFrRkJkMEkxUXl4RlFVRlBMRXRCUVU5TkxFVkJRVXNzVjBGQllTeEZRVUZGTEVWQlF5OUZjME1zUlVGQlN5eEpRVUZKTEUxQlFVMHNSVUZCUlN4SlFVRkpMRkZCUVZOdVNpeEZRVUZWTEhWQ1FVRjVRa0VzUlVGQlZTeHZRa0ZEZWtWQkxFVkJRVlVzWjBKQlFXdENRU3hGUVVGVkxHbENRVU4wUTBFc1JVRkJWU3h4UWtGQmNVSXNSVUZET1VJc1NVRkJTU3hqUVVGbExFTkJRVU1zUlVGRGNFSXNTVUZCU1N4eFFrRkJjMElzUTBGQlF5eEZRVU16UWl4SlFVRkpMR1ZCUVdkQ0xFTkJRVU1zUlVGRGNrSXNTVUZCU1N4clFrRkJiVUlzUTBGQlEzVkhMRVZCUVU4c1VVRkJVU3hEUVVGRExFVkJRM2hETEVsQlFVa3NZMEZCWlN4RFFVRkRRU3hGUVVGUExFbEJRVWtzUTBGQlF5eEZRVU5vUXl4SlFVRkpMR1ZCUVdkQ0xFTkJRVU15UXl4RFFVRlpMRU5CUVVNc1JVRkRiRU1zU1VGQlNTeHBRMEZCYTBNc1EwRkJRek5ETEVWQlFVOHNTVUZCVFVFc1JVRkJUeXhIUVVGSExFTkJRVU1zUlVGRE0wUXdReXhEUVVOVUxFVkJTVUYyUXl4RlFVRlJMRlZCUVZVc1kwRkJaMElzUlVGSGJFTkJMRVZCUVZFc1ZVRkJWU3huUWtGQmEwSXNSVUZIY0VOQkxFVkJRVkVzVlVGQlZTeFpRVUZqTEZWQlFWY3NRMEZEZWtNc1NVRkJTUzk1UWl4RlFVTkJhM3BDTEVWQlFVMTFReXhGUVVGTlF5eEZRVUZOUXl4RlFVRk5ReXhGUVVGTlF5eEZRVUZOUXl4RlFVZDRReXhKUVVaQkxFdEJRVXNzYVVKQlFXMUNMRXRCUVVzc1MwRkJTeXhMUVVGTE
1xGTkJRM1pETEV0QlFVc3NTMEZCU3l4TFFVRkxMRk5CUVZjc1JVRkRja0k1TVVJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEV0QlFVc3NTMEZCU3l4TlFVRk5MRTlCUVZGQkxFbEJRVXNzUTBGRE0wTnJla0lzUlVGQlR5eExRVUZMTEV0QlFVc3NUVUZCVFd4NlFpeERRVUZETEVWQlEzaENhM3BDTEVWQlFVc3NTMEZCU3l4VFFVRlhMRVZCUTNKQ1FTeEZRVUZMTEV0QlFVc3NTMEZCU3l4VFFVRlhMRVZCUXpGQ2RVTXNSVUZCVDNaRExFVkJRVXNzUzBGQlN5eExRVUZMTEV0QlFVc3NUVUZCVVVFc1JVRkJTeXhMUVVGTExFdEJRVXNzUzBGQlN5eExRVU4yUkhWRExFVkJRVXNzWTBGQlowSXNSMEZEY2tKRExFVkJRVTk0UXl4RlFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExFdEJRek5DZDBNc1JVRkJTeXhaUVVGakxFZEJRMjVDUVN4RlFVRkxMR3RDUVVGdlFpeEhRVU42UWtFc1JVRkJTeXg1UWtGQk1rSXNSMEZEYUVORExFVkJRVTk2UXl4RlFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExFMUJRVkZCTEVWQlFVc3NTMEZCU3l4TFFVRkxMRXRCUVVzc1MwRkRka1I1UXl4RlFVRkxMR0ZCUVdVc1IwRkRjRUpETEVWQlFVOHhReXhGUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEV0QlF6TkNNRU1zUlVGQlN5eGpRVUZuUWl4SFFVTnlRa0VzUlVGQlN5eGpRVUZuUWl4SFFVTnlRa01zUlVGQlR6TkRMRVZCUVVzc1MwRkJTeXhMUVVGTExFdEJRVXNzUzBGRGRrSXlReXhKUVVOR1FTeEZRVUZMTEdOQlFXZENMRWRCUTNKQ1FTeEZRVUZMTEdWQlFXbENMRWxCUlhoQ1F5eEZRVUZQTlVNc1JVRkJTeXhMUVVGTExFdEJRVXNzUzBGQlN5eExRVU16UWl4SlFVRkpMMlVzUlVGQlNTdGxMRVZCUVVzc1MwRkJTeXhMUVVGTExFdEJRVXNzVFVGQlRTeFJRVUZSTkVNc1EwRkJTU3hGUVVNeFF6Tm9RaXhIUVVGTExFdEJRVWtyWlN4RlFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExFMUJRVTB2WlN4RFFVRkRMRVZCUVVrc1MwRkROME1zUTBGRFNDeEZRVVZCTkdVc1JVRkJVU3hwUWtGQmJVSXNVMEZCVTBjc1JVRkJUWE5ETEVWQlFVMVBMRVZCUVU5RExFVkJRVmxETEVWQlFWa3NRMEZETjBVc1NVRkJTVE5wUWl4RlFVTkJZU3hGUVVWQksyaENMRVZCUTBGRExFVkJSVW9zVTBGQlUwTXNSVUZCWjBJM1NpeEZRVUZQT0Vvc1JVRkJXVU1zUlVGQlR5eERRVU5xUkN4TFFVRkxMR05CUVdkQ0wwb3NSVUZEY2tJc1MwRkJTeXgzUWtGQk1FSTRTaXhGUVVNdlFpeExRVUZMTEV0QlFVOURMRVZCUTFvc1MwRkJTeXh0UWtGQmNVSXNSMEZETVVJc1MwRkJTeXhaUVVGakxFVkJRM0JDTEVOQlVVUXNTVUZPU1dRc1NVRkRSa0VzUlVGQlN5eHRRa0ZCY1VJc1NVRkZka0owUXl4RlFVRkxMSEZDUVVOU1FTeEZRVUZMTEcxQ1FVRnhRaXhKUVVWMlFpOWxMRVZCUVVrc1JVRkJSMEVzUlVGQlNUUm9RaXhGUVVGTkxFOUJRVkUxYUVJc1NVRkJTeXhEUVZOcVF5eEpRVkpCWjJsQ0xFVkJRVzFDU2l4RlFVRk5OV2hDTEVOQlFVTXNSVUZCUlN4alFVRm5RaXhKUVVGTk5HaENMRVZCUVUwMWFFSXNRMEZCUXl4RlFVRkZMSGRDUVVNelJDdG9RaXhGUVVGdlFpeEpRVUZKUlN4RlFVRm5Ra3dzUlVGQlRUVm9RaXhEUVVGRExFVkJRVVVzWTBGQlpUUm9RaXhGUVVGTk5XaENMRU5CUVVNc1JVRkJSU3gzUWtGQmVVSTBhRUlzUlVGQlRUVm9RaXhEUVVGRExFTkJRVU1zUlVGRGRFZHhhRUlzU1VGRFJrRXNSVUZCU3l4dFFrRkJiVUpYTEVOQlFXZENMRVZCUVVsRUxFZEJSWHBEYUVRc1JVRkJTeXh0UWtGQmJVSnBSQ3hEUVVGblFpeEpRVU16UTJwRUxFVkJRVXNzYlVKQlFXMUNhVVFzUTBGQlowSXNSVUZCU1VRc1IwRkZla00xYVVJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTUdsQ0xFVkJRVmNzVDBGQlVURnBRaXhKUVVNM1FqQnBRaXhGUVVGWE1XbENMRU5CUVVNc1JVRkJSU3huUWtGQmEwSjVhVUlzUlVGQlRUVm9RaXhEUVVGRExFVkJRVVVzWjBKQlF6TkRLMmhDTEVWQlFXdENMRmxCUVdOR0xFVkJRVmN4YVVJc1EwRkJReXhGUVVNMVF6UnBRaXhGUVVGclFpeFpRVUZaTEV0QlFVOHNTVUZIZWtNc1IwRkJTVVFzUlVGRFJpeEpRVUZMTTJsQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1RKcFFpeEZRVUZYTEU5QlFWRXphVUlzU1VGRE4wSXlhVUlzUlVGQlZ6TnBRaXhEUVVGRExFVkJRVVVzWjBKQlFXdENlV2xDTEVWQlFVMDFhRUlzUTBGQlF5eEZRVUZGTEdkQ1FVTXpReXRvUWl4RlFVRnJRaXh4UWtGQmRVSkVMRVZCUVZjemFVSXNRMEZCUXl4RlFVTnlSRFJwUWl4RlFVRnJRaXh4UWtGQmNVSXNTMEZCVHl4SFFVTTVRMEVzUlVGQmEwSXNXVUZCWXl4SFFVbDJReXhEUVVORUxFZEJRVXRXTEVkQlYwZ3NSMEZCU1ZNc1JVRkRSaXhKUVVGTE9XaENMRVZCUVVrc1JVRkJSMEVzUlVGQlNUaG9RaXhGUVVGWExFOUJRVkU1YUVJc1NVRkROMElzUTBGQlF6aG9RaXhGUVVGWE9XaENMRU5CUVVNc1JVRkJSU3hOUVVGUk9HaENMRVZCUVZjNWFFSXNRMEZCUXl4RlFVRkZMRk5CUVZjc1NVRkRiRVJuYVVJc1JVRkJiVUpHTEVWQlFWYzVhRUlzUTBGQlF5eEZRVUZGTEdOQlFXZENMRXRCUTJwRUsyaENMRVZCUVc5Q0xFbEJRVWxGTEVWQlFXZENTQ3hGUVVGWE9XaENMRU5CUVVNc1JVRkJSU3hqUVVGbExFTkJRVU1zUlVGRGRFVXJhRUlzUlVGQmEwSXNXVUZCWXl4SFFVTXpRbFlzUlVGQlN5eHRRa0ZCYlVKWExFTkJRV2RDTEVsQlF6TkRXQ3hGUVVGTExHMUNRVUZ0UWxjc1EwRkJaMElzUlVGQlNVUXNVVUZxUW5CRUxFdEJRVXN2YUVJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTm1oQ0xFVkJRVmNzVDBGQlVUZG9RaXhKUVVNM1FpeERRVUZETm1oQ0xFVkJRVmMzYUVJc1EwRkJReXhGUVVGRkxFMUJRVkUyYUVJc1JVRkJWemRvUWl4RFFVRkRMRVZCUVVVc1UwRkJWeXhKUVVOc1JHZHBRaXhGUVVGdFFrZ3NSVUZCVnpkb1FpeERRVUZETEVWQlFVVXNZMEZCWjBJc1MwRkRha1FyYUVJc1JVRkJiMElzU1VGQlNVVXNSVUZCWjBKS0xFVkJRVmMzYUVJc1EwRkJReXhGUVVGRkxHTkJRV1VzUTBGQlF5eEZRVU5xUlN0bExFVkJRVXNzYlVKQlFXMUNhVVFzUTBGQlowSXNTVUZETTBOcVJDeEZRVUZMTEcxQ1FVRnRRbWxFTEVOQlFXZENMRVZCUVVsRUxFZEJhMEowUkN4RlFVVkJia1FzUlVGQlVTeDVRa0ZCTWtJc1UwRkJVMGNzUlVGQlRVNHNSVUZCVVRKRUxFVkJRV1ZETEVWQlFXOUNMRU5CUXpOR0xFbEJRVWx5YVVJc1JVRkRRWFJSTEVWQlEwb3JkVUlzUlVGQlR5eGpRVUZuUWl4SFFVTjJRaXhKUVVGTGVtVXNTMEZCUzNGcFFpeEZRV3RDVWl4SFFXcENRVFZFTEVWQlFVOHNZMEZCWTNwbExFTkJRVU1zUlVGQlNTeEhRVU14UW5sbExFVkJRVThzWTBGQlkzcGxMRU5CUVVNc1JVRkJSU3hqUVVGblFuRnBRaXhGUVVGdFFuSnBRaXhEUVVGRExFVkJRVVVzWTBGRE9VUjVaU3hGUVVGUExHTkJRV042WlN4RFFVRkRMRVZCUVVVc2QwSkJRVEJDY1dsQ0xFVkJRVzFDY21sQ0xFTkJRVU1zUlVGQlJTeDNRa0ZEY0VWdmFVSXNSMEZCYVVKRExFVkJRVzFDY21sQ0xFTkJRVU1zUlVGQlJTeHhRa0ZEY2tOeGFVSXNSVUZCYlVKeWFVSXNRMEZCUXl4RlFVRkZMRzFDUVVGeFFpeEpRVU0zUTNGcFFpeEZRVUZ0UW5KcFFpeERRVUZETEVWQlFVVXNiVUpCUVhGQ0xFZEJSVGREY1dsQ0xFVkJRVzFDY21sQ0xFTkJRVU1zUlVGQlJTeGpRVU5zUW5GcFFpeEZRVUZ0UW5KcFFpeERRVUZETEVWQlFVVXNZVUZCWlhGcFFpeEZRVUZ0UW5KcFFpeERRVUZETEVWQlFVVXNTMEZCU3l4UlFVRlJMRTlCUVZNc1NVRkRia1p4YVVJc1JVRkJiVUp5YVVJc1EwRkJReXhGUVVGRkxHOUNRVUZ6UW5GcFFpeEZRVUZ0UW5KcFFpeERRVUZETEVWQlFVVXNTMEZCU3l4UlFVRlJjV2xDTEVWQlFXMUNjbWxDTEVOQlFVTXNSVUZCUlN4WFFVRlhMRVZCUVVVc1pVRkhiRWh4YVVJc1JVRkJiVUp5YVVJc1EwRkJReXhGUVVGRkxHRkJRV1Z4YVVJc1JVRkJiVUp5YVVJc1EwRkJReXhGUVVGRkxFdEJRVXNzVVVGQlVTeFBRVUZUTEVWQlEyNUdlV1VzUlVGQlR5eGpRVUZqZW1Vc1EwRkJReXhGUVVGRkxIZENRVUV3UW5GcFFpeEZRVUZ0UW5KcFFpeERRVUZETEVWQlFVVXNTMEZCU3l4UlFVRlJjV2xDTEVWQlFXMUNjbWxDTEVOQlFVTXNSVUZCUlN4WFFVRlhMRVZCUVVVc2QwSkJSWGhJZVdVc1JVRkJUeXhqUVVGamVtVXNRMEZCUXl4RlFVRkZMSGRDUVVFd1FpeEhRVVZvUkhsbExFVkJRVThzWTBGQlkzcGxMRU5CUVVNc1JVRkJSU3d3UWtGQk5FSXNSVUZCUnl4RFFVTjZSQ3hKUVVGSmMybENMRVZCUTBGRUxFVkJRVzFDY21sQ0xFTkJRVU1zUlVGQlJTeHhRa0ZEZUVKemFVSXNSVUZCWTBRc1JVRkJiVUp5YVVJc1EwRkJReXhGUVVGRkxIRkNRVVZ3UTNOcFFpeEZRVUZqUkN4RlFVRnRRbkpwUWl4RFFVRkRMRVZCUVVVc1dVRkZiRU41WlN4RlFVRlBMR05CUVdONlpTeERRVUZETEVWQlFVVXNkMEpCUVRCQ0xFZEJRMmhFZVdVc1JVRkJUeXhqUVVGamVtVXNRMEZCUXl4RlFVRkZMSGRDUVVFd1FpeE5RVU53UkhSUkxFZEJRVk1yZFVJc1JVRkJUeXhqUVVGamVtVXNRMEZCUXl4RlFVRkZMSGxDUVVFeVFpeEpRVUZOTEVWQlJXeEZkRkVzUlVGQlVTdDFRaXhGUVVGUExHTkJRV042WlN4RFFVRkRMRVZCUVVVc2QwSkJRVEJDTEVWQlJYaEVjMmxDTEVkQlFXVTFlVUlzUjBGQlV5eEpRVU14UWl0MVFpeEZRVUZQTEdOQlFXTjZaU3hEUVVGRExFVkJRVVVzV1VGQlkzTnBRaXhGUVVGWkxGRkJRVkUxZVVJc1EwRkJTeXhKUVVjM1JEUjVRaXhIUVVGbFFTeEZRVUZaTEZOQlFWY3NSMEZEY0VOQkxFVkJRVmtzWjBOQlFXdERMRWxCUTJoRU4wUXNSVUZCVHl4alFVRmplbVVzUTBGQlF5eEZRVUZGTEZsQlFXTnphVUlzUlVGQldTeFJRVUZSUVN4RlFVRlpMR2REUVVGclF5eERRVUZETEVWQlNXaElMRU5CUlV3c1JVRkZRVEZFTEVWQlFWRXNZVUZCWlN4VFFVRlRNa1FzUlVGQlRUbEVMRVZCUVZGc2IwSXNSVUZCVVN4RFFVTXZRMnR2UWl4SlFVZEVPRVFzUjBGRFJqbEVMRVZCUVU4c1YwRkJZVGhFTEVWQlFVc3NWMEZCVjJoelFpeERRVUZOTEVWQlF6RkRhMjlDTEVWQlFVOHNWMEZCWVRoRUxFVkJRVXNzYTBKQlFXdENhSE5DTEVOQlFVMHNSVUZEYWtScmIwSXNSVUZCVHl4bFFVRnBRamhFTEVWQlFVc3NjMEpCUVhOQ2FITkNMRU5CUVUwc1JVRkRla1JyYjBJc1JVRkJUeXhsUVVGcFFqaEVMRVZCUVVzc2MwSkJRWE5DYUhOQ0xFTkJRVTBzU1VGRmVrUnJiMElzUlVGQlR5eFhRVUZoTEVWQlEzQkNRU3hGUVVGUExGZEJRV0VzUlVGRGNFSkJMRVZCUVU4c1pVRkJhVUlzUlVGRGVFSkJMRVZCUVU4c1pVRkJhVUlzUjBGRk5VSXNSVUZIUVVjc1JVRkJVU3hWUVVGVkxHbENRVUZ0UWl4VlFVRlhMRU5CUXpsRExFbEJRVWt2ZVVJc1JVRkRRV3Q2UWl4RlFVTktMRWxCUVV0c2VrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzUzBGQlN5eE5RVUZOTEU5QlFWRkJMRWxCUTNSRGEzcENMRVZCUVU4c1MwRkJTeXhMUVVGTE
1xFMUJRVTFzZWtJc1EwRkJReXhGUVVONFFpeExRVUZMTEhGQ1FVRnhRbXQ2UWl4RFFVRkpMRU5CUld4RExFVkJSVUZJTEVWQlFWRXNWVUZCVlN4eFFrRkJkVUlzVTBGQlUwY3NSVUZCVFN4RFFVTnVSQ3hKUVVGRGVuTkNMRVZCUTBGbmRrSXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRXRXNSVUZCVFVNc1JVRkJUV0lzUlVGQlQyTXNSVUZCVDBNc1JVRkRPVVJETEVWQlFXbENReXhGUVVGaFF5eEZRVUZ0UWtNc1JVRkJhVUpETEVWQlEyeEZReXhGUVVGNVFrTXNSVUZCWjBKRExFVkJRWGxDUXl4RlFVRm5Ra01zUlVGRGJrVkRMRVZCUVd0Q1F5eEZRVEpDY2tNc1IwRjZRa0Y0UlN4RlFVRkxMRkZCUVZVc1IwRkRaa0VzUlVGQlN5eHBRa0ZCYlVJc1JVRkRlRUpCTEVWQlFVc3NZVUZCWlN4RlFVTndRblZETEVWQlFVOTJReXhGUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEUxQlFWRkJMRVZCUVVzc1MwRkJTeXhMUVVGTExFdEJRVXNzUzBGRGRrUjNReXhGUVVGUGVFTXNSVUZCU3l4TFFVRkxMRXRCUVVzc1MwRkJTeXhMUVVNelFubERMRVZCUVU5NlF5eEZRVUZMTEV0QlFVc3NTMEZCU3l4TFFVRkxMRTFCUVZGQkxFVkJRVXNzUzBGQlN5eExRVUZMTEV0QlFVc3NTMEZEZGtRd1F5eEZRVUZQTVVNc1JVRkJTeXhMUVVGTExFdEJRVXNzUzBGQlN5eExRVU16UWpKRExFVkJRVTh6UXl4RlFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExFdEJRek5DTkVNc1JVRkJUelZETEVWQlFVc3NTMEZCU3l4TFFVRkxMRXRCUVVzc1MwRkRNMEo1UkN4RlFVRlBla1FzUlVGQlN5eExRVUZMTEV0QlFVc3NTMEZCU3l4TFFVTXpRakJFTEVWQlFVOHhSQ3hGUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEV0QlF6TkNORVFzUlVGQlR6VkVMRVZCUVVzc1MwRkJTeXhMUVVGTExFdEJRVXNzUzBGRE0wSTJReXhGUVVGUk4wTXNSVUZCU3l4TFFVRkxMRXRCUVVzc1MwRkJTeXhOUVVNMVFqSkVMRVZCUVZFelJDeEZRVUZMTEV0QlFVc3NTMEZCU3l4TFFVRkxMRTFCUlRWQ2EwVXNSVUZCTUVJc1IwRkRNVUpETEVWQlFXbENMRWRCUTJwQ1F5eEZRVUV3UWl4SFFVTXhRa01zUlVGQmFVSXNSMEZEYWtKRExFVkJRV3RDTEVWQlEyeENReXhGUVVGdFFpeEZRVU51UWtNc1JVRkJlVUlzUlVGRmVrSXpSU3hGUVVGUkxHbENRVUZwUWtjc1JVRkJUU3hMUVVGTk5rTXNSVUZCVDJNc1EwRkJTeXhGUVVVM1F5eFRRVUZQYkVJc1JVRkJVeXhMUVV0d1FpeExRVUZMYkhaQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1d0MlFpeEZRVUZMTEdGQlFXRXNUMEZCVVd4MlFpeEpRVUZMTEVOQlF6ZERMRWxCUVVsdGMwSXNSVUZCVXl4RFFVRkJMRVZCUTJKQkxFVkJRVThzVDBGQlUyNXpRaXhGUVVOb1FtMXpRaXhGUVVGUExGTkJRVmROTEVWQlFVc3NTMEZCU3l4VFFVTTFRazRzUlVGQlR5eFZRVUZaVFN4RlFVRkxMRXRCUVVzc1MwRkJTeXhWUVVOc1EwNHNSVUZCVHl4WlFVRmpMRVZCUTNKQ1RTeEZRVUZMTEZGQlFWRjZjMElzUTBGQlF5eEZRVUZKYlhOQ0xFVkJSV3hDUVN4RlFVRlBMRXRCUVU4clF5eEZRVUZMTEdGQlFXRnNka0lzUTBGQlF5eEZRVU5xUTNselFpeEZRVUZMTEdOQlFXZENUaXhGUVVGUExFdEJSWGhDYm5OQ0xFbEJRVTBzUjBGRFVuVjNRaXhGUVVGakxFVkJRMlJFTEVWQlFXdENMRVZCUTJ4Q2JrVXNSVUZCVHl4WlFVRmpiMFVzUlVGRGNrSndSU3hGUVVGUExHZENRVUZyUW0xRkxFVkJRM3BDU1N4RlFVRjFRbnBDTEVWQlFVc3NhMEpCUVd0Q2NVSXNRMEZCWlN4RlFVTTNSRWNzUlVGQmEwSXNSVUZIWkVnc1JVRkJhMElzUlVGQlNYSkNMRVZCUVVzc1dVRkJXU3hQUVVWNlEzVkNMRVZCUVc5Q2RrSXNSVUZCU3l4WlFVRlpjVUlzUlVGQmEwSXNRMEZCUXl4RlFVRkpMRVZCUnpWRVJTeEZRVUZ2UWl4TFFVZHNRbmgzUWl4RlFVRkpNSGRDTEVkQlJVNTJSU3hGUVVGUExGbEJRV052UlN4RlFVTnlRbkJGTEVWQlFVOHNaMEpCUVd0Q2JVVXNTVUZIZWtKRExFbEJRMEZ3UlN4RlFVRlBMRmxCUVdOdlJTeEZRVVZ5UWtVc1JVRkJhMElzUlVGRFpFWXNSMEZCWlVNc1NVRkpha0pHTEVsQlJVbEJMRVZCUVd0Q0xFVkJRVWx5UWl4RlFVRkxMRmxCUVZrc1QwRkZla04xUWl4RlFVRnZRblpDTEVWQlFVc3NXVUZCV1hGQ0xFVkJRV3RDTEVOQlFVTXNSVUZCU1N4RlFVYzFSRVVzUlVGQmIwSXNTMEZKZUVKeVJTeEZRVUZQTEdkQ1FVRnJRbTFGTEVWQlEzcENTU3hIUVVGM1FucENMRVZCUVVzc2EwSkJRV3RDY1VJc1EwRkJaU3hIUVVsc1JXNUZMRVZCUVU4c2EwSkJRVzlDT0VNc1JVRkJTeXg1UWtGQmVVSTVReXhGUVVGUExHVkJRV1VzUlVGQlNTeEZRVU51UmtFc1JVRkJUeXhaUVVGakswUXNSVUZCU3l4UlFVRlJMMFFzUlVGQlR5eHBRa0ZCYVVJc1JVRkRNVVJCTEVWQlFVOHNUMEZCVXpaRExFVkJRVXNzWTBGQll6ZERMRVZCUVU4c1dVRkJZeXhEUVVGRExFVkJRVWx6UlN4RlFVTTNSRUVzUjBGQmJVSjBSU3hGUVVGUExFdEJSM1JDYm5OQ0xFVkJRVWt5ZDBJc1NVRkRUa01zU1VGRFNVUXNSVUZCTUVJc1NVRkROVUpCTEVWQlFUQkNMRWRCUlRWQ1FTeEhRVUV5UW5oQ0xFVkJRVXNzWTBGQlkzbENMRU5CUVdNc1IwRkZNVVExZDBJc1JVRkJTU3hIUVVOT2VYTkNMRVZCUVVzc1VVRkJVWHB6UWl4RlFVRkpMRU5CUVVNc1JVRkJSU3hUUVVGWGJYWkNMRVZCUVVzc1kwRkJZM2xDTEVOQlFXTXNSVUZEYUVWdVJTeEZRVUZMTEd0Q1FVRnZRa0VzUlVGQlN5eFJRVUZSZW5OQ0xFVkJRVWtzUTBGQlF5eEZRVUZGTEZOQlF6ZERiWE5DTEVWQlFVOHNTVUZCVFUwc1JVRkJTeXhSUVVGUmVuTkNMRVZCUVVrc1EwRkJReXhGUVVGRkxFbEJRVTE1YzBJc1JVRkJTeXhSUVVGUmVuTkNMRVZCUVVrc1EwRkJReXhGUVVGRkxGVkJSVE5FYlhOQ0xFVkJRVThzU1VGQlRTeEZRVVZZYVVRc1IwRkRSWEIyUWl4SFFVRkxObmRDTEVsQlExQkRMRWxCUTBsRUxFVkJRVEJDTEVsQlF6VkNRU3hGUVVFd1FpeEhRVVUxUWtFc1IwRkJNa0o2UWl4RlFVRkxMR05CUVdNd1FpeERRVUZqTEVkQlJUbEVNMFVzUlVGQlR5eEpRVUZOVFN4RlFVRkxMRkZCUVZGNmMwSXNRMEZCUXl4RlFVRkZMRWxCUVUxdmRrSXNSVUZCU3l4bFFVRmxNRUlzUTBGQll5eEhRVVZ5UlRORkxFVkJRVThzU1VGQlRVRXNSVUZCVHl4SlFVVnNRbXRFTEVkQlEwVnlka0lzUjBGQlMzRjJRaXhGUVVGTExHVkJRV1V3UWl4RFFVRmxMRVZCUVVrc1IwRkRPVU0xUlN4RlFVRlBMRkZCUVZVc1IwRkRha0kwUlN4TlFVVkJOVVVzUlVGQlR5eFJRVUZWTEVkQlEycENRU3hGUVVGUExIRkNRVUYxUWl4SFFVVTFRbWRGTEVkQlEwVkJMRVZCUVVzc1VVRkJVV0VzUTBGQlowSXNSVUZCUlN4aFFVRmxReXhIUVVFd1FtcDR
1RaXhGUVVGSkxFbEJRemxGYlhOQ0xFVkJRVThzVjBGQllXZEZMRVZCUVVzc1VVRkJVV0VzUTBGQlowSXNSVUZCUlN4WFFVTnVSRU1zUjBGQk1FSmtMRVZCUVVzc1VVRkJVV0VzUTBGQlowSXNSVUZCUlN4aFFVTjZSRUVzVFVGSlNqZEZMRVZCUVU4c1VVRkJWU3hIUVVWdVFrY3NSVUZCVVN4aFFVRmhSeXhGUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEV0QlFVMU9MRVZCUVZGQkxFVkJRVThzVFVGQlRTeEZRVU5vUld0RkxFVkJRMFpzUlN4RlFVRlBMSEZDUVVGMVFtdEZMRVZCUVVzc1UwRkJVM0ozUWl4RFFVRkRMRVZCUlRkRGJYTkNMRVZCUVU4c2NVSkJRWFZDTEVWQlJUVkNaMFVzUjBGRFJVRXNSVUZCU3l4UlFVRlJZU3hEUVVGblFpeEZRVUZGTEdGQlFXVkRMRWRCUVRCQ2FuaENMRWxCUXpGRmJYTkNMRVZCUVU4c1YwRkJZV2RGTEVWQlFVc3NVVUZCVVdFc1EwRkJaMElzUlVGQlJTeFhRVU51UkVNc1IwRkJNRUprTEVWQlFVc3NVVUZCVVdFc1EwRkJaMElzUlVGQlJTeGxRVWQ2UkRGQ0xFVkJRVTBzVDBGQlV5eEhRVUZMWXl4RlFVRk5MRTlCUVZNc1NVRkRja001UkN4RlFVRlJMSGxDUVVGNVFrY3NSVUZCVFU0c1JVRkJVVzV6UWl4RlFVRkhlWE5DTEVWQlFVc3NhMEpCUVd0Q0xFTkJSVFZGTEVOQlEwZDZjMElzUlVGQlNTeEpRVU5PZVhOQ0xFVkJRVXNzVVVGQlVYcHpRaXhGUVVGSkxFTkJRVU1zUlVGQlJTeFRRVUZYTEV0QlFVc3NTVUZCU1hselFpeEZRVUZMTEV0QlFVc3NTMEZCU3l4VFFVRlhRU3hGUVVGTExGRkJRVkY2YzBJc1JVRkJTU3hEUVVGRExFVkJRVVVzU1VGQlN5eERRVUZETEVWQlF6VkdlWE5DTEVWQlFVc3NhMEpCUVc5Q1FTeEZRVUZMTEZGQlFWRjZjMElzUlVGQlNTeERRVUZETEVWQlFVVXNWVUZGYWtRc1JVRkhRWE56UWl4RlFVRlJMRlZCUVZVc2EwSkJRVzlDTEZWQlFWY3NRMEZETDBNc1NVRkJTUzk1UWl4RlFVRkhlVWNzUlVGQlJ6Qk9MRVZCUTA1M2FrSXNSVUZCYTBORExFVkJRWGxDUXl4RlFVRnhRa01zUlVGRGFFWkRMRVZCUTBFNVN5eEZRVUZMY1Vrc1JVRkJUVVVzUlVGQlRYUkRMRVZCUVUwNFJTeEZRVU4yUW5CR0xFVkJRMEV5UXl4RlFVVktMRWRCUVVrc1MwRkJTeXhQUVVGVExGRkJTV3hDTEV0QlFVOHNTMEZCU3l4alFVRm5RaXhMUVVGTExFMUJRVTBzVVVGSGNrTXNSMEZHUVhSSkxFVkJRVTBzUzBGQlN5eE5RVUZOTEV0QlFVc3NZVUZCWVN4RlFVTnVReXhMUVVGTE
1xHZENRVU5FUVN4RlFVRkpMRTFCUVZFc1QwRkZaQ3hKUVVSQmNVa3NSVUZCVDNKSkxFVkJRMFpxZEVJc1JVRkJTU3hGUVVGSFFTeEZRVUZKY3pGQ0xFVkJRVXNzVFVGQlRTeFBRVUZSZERGQ0xFbEJRVXNzUTBFMlFuUkRMRWxCTlVKQmR6RkNMRVZCUVU5R0xFVkJRVXNzVFVGQlRYUXhRaXhEUVVGRExFVkJRMjVDYTNwQ0xFVkJRVThzUzBGQlN5eGhRVUZoYzBNc1JVRkJTeXhMUVVGTExGRkJRVkVzUlVGRE0wTjNReXhGUVVGUExFdEJRVXNzV1VGQldYaERMRVZCUVVzc1MwRkJTeXhSUVVGUkxFVkJRM1JEUVN4RlFVRkxMRXRCUVVzc1RVRkJVVzVLTEVWQlFWVXNjMEpCUXpsQ2Mwd3NSVUZCYlVOdVF5eEZRVUZMTEV0QlFVc3NhVU5CUlRkRGJVTXNSVUZCYjBOTExFVkJRVTlCTEVWQlFVc3NhVU5CUVcxRExFVkJSV3BHZUVNc1JVRkJTeXhMUVVGTExFMUJRVkZ1U2l4RlFVRlZMSEZDUVVNNVFuVk1MRVZCUVRCQ2NFTXNSVUZCU3l4TFFVRkxMSGRDUVVWd1EyOURMRVZCUVRKQ1NTeEZRVUZQUVN4RlFVRkxMSGRDUVVFd1FpeEZRVVV2UkhoRExFVkJRVXNzUzBGQlN5eE5RVUZSYmtvc1JVRkJWU3h6UWtGRE9VSjNUQ3hGUVVGelFuSkRMRVZCUVVzc1MwRkJTeXh2UWtGRmFFTnhReXhGUVVGMVFrY3NSVUZCVDBFc1JVRkJTeXh2UWtGQmMwSXNSVUZGZGtSNFF5eEZRVUZMTEV0QlFVc3NUVUZCVVc1S0xFVkJRVlVzZFVKQlF6bENlVXdzUlVGQmRVSjBReXhGUVVGTExFdEJRVXNzY1VKQlJXcERjME1zUlVGQmQwSkZMRVZCUVU5QkxFVkJRVXNzY1VKQlFYVkNMRVZCUlRkRWVFTXNSVUZCU3l4alFVRm5RaXhGUVVWcVFrRXNSVUZCU3l4TlFVRk5MRTlCUVZNc1IwRkRkRUo2UXl4RlFVRlJMR2xDUVVGcFFrY3NSVUZCVFhORExFVkJRVTFCTEVWQlFVc3NUVUZCVDNSRExFVkJRVXNzUzBGQlN5eExRVUZMTEV0QlFVc3NUVUZCVDNORExFVkJRVXNzUzBGQlN5eEZRVVZ1Umk5MVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrcmRVSXNSVUZCU3l4TlFVRk5MRTlCUVZFdmRVSXNTVUZCU3l4RFFVTjBReXhKUVVGSmQzaENMRVZCUVU5NlF5eEZRVUZMTEUxQlFVMHZkVUlzUTBGQlF5eEZRVU4yUWl4SlFVRkxNRTRzUlVGQlNTeEZRVUZIUVN4RlFVRkpPR3BDTEVWQlFVc3NZVUZCWXpscVFpeEpRVUZMTEVOQlEzUkRlV1VzUlVGQlV5eERRVUZCTEVWQlExUkJMRVZCUVU4c1dVRkJZeXhMUVVGTExHTkJRekZDUVN4RlFVRlBMR1ZCUVdsQ05FTXNSVUZCU3l4alFVTTNRa0VzUlVGQlN5eG5Ra0ZEVERWRExFVkJRVThzVDBGQlUwMHNSVUZCU3l4UlFVRlJMRTlCUXpkQ2MwTXNSVUZCU3l4dFFrRkJjVUowUXl4RlFVRkxMRkZCUVZFc1QwRkRka05CTEVWQlFVc3NVVUZCVVN4TFFVRkxUaXhEUVVGTkxFVkJRM2hDUVN4RlFVRlBMRk5CUVZkTkxFVkJRVXNzUzBGQlN5eFRRVU0xUWs0c1JVRkJUeXhWUVVGWlRTeEZRVUZMTEV0QlFVc3NTMEZCU3l4VlFVTnNRMDRzUlVGQlR5eHJRa0ZCYjBJclJTeEZRVUZ0UXl4RlFVTTVSQzlGTEVWQlFVOHNXVUZCWTAwc1JVRkJTeXhMUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEZGQlFWRk9MRVZCUVU4c2FVSkJRV2xDTEVWQlF6bEZRU3hGUVVGUExFdEJRVTlwUml4RlFVTldTU3hGUVVGTExFMUJRVkUxVEN4RlFVRlZMR3RDUVVONlFuVkhMRVZCUVU4c1MwRkJUM0ZHTEVWQlFVc3NXVUZCV1RscVFpeERRVUZETEVkQlJXeERLMlVzUlVGQlN5eGpRVUZuUWs0c1JVRkJUeXhMUVVNMVFrRXNSVUZCVHl4VFFVRlhaMFlzUlVGRFpFc3NSVUZCU3l4TlFVRlJOVXdzUlVGQlZTeHpRa0ZEZWtKMVJ5eEZRVUZQTEZOQlFWZHhSaXhGUVVGTExHZENRVUZuUWpscVFpeERRVUZETEVkQlJURkRLMlVzUlVGQlN5eHJRa0ZCYjBKT0xFVkJRVThzVTBGRE5VSk5MRVZCUVVzc2JVSkJRWEZDTDJVc1JVRkJTU3hGUVVOb1EzbGxMRVZCUVU4c1NVRkJUVTBzUlVGQlN5eFJRVUZSUVN4RlFVRkxMRkZCUVZFc1QwRkJVeXhEUVVGRExFVkJRVVVzU1VGQlRVRXNSVUZCU3l4UlFVRlJRU3hGUVVGTExGRkJRVkVzVDBGQlV5eERRVUZETEVWQlFVVXNWVUZGTTBaelF5eEZRVUZMTEV0QlExQTFReXhGUVVGUExFbEJRVTAwUXl4RlFVRkxMRXRCUVVzc2IwSkJSWFpDTlVNc1JVRkJUeXhKUVVGTkxFVkJSV1pOTEVWQlFVc3NhMEpCUVc5Q0xFbEJSVE5DVGl4RlFVRlBMRWxCUVUxQkxFVkJRVThzU1VGRGFFSnhSaXhGUVVGTExFMUJRVkUxVEN4RlFVRlZMSGRDUVVONlFuVkhMRVZCUVU4c1NVRkJUVUVzUlVGQlR5eEpRVUZOY1VZc1JVRkJTeXdyUWtGQkswSTVha0lzUTBGQlF5eEhRVVZxUlc5b1FpeEZRVUZsZFVNc1JVRkRXRWNzUlVGQlN5eE5RVUZSTlV3c1JVRkJWU3hwUWtGRGVrSnJTaXhGUVVGbE1FTXNSVUZCU3l4aFFVRmhPV3BDTEVOQlFVTXNSVUZEZWtKQkxFbEJRVTBzUjBGQlRUaHFRaXhGUVVGTExFMUJRVkUxVEN4RlFVRlZMSGRDUVVNMVEydEtMRVZCUVdVd1F5eEZRVUZMTEc5Q1FVVjBRbkpHTEVWQlFVOHNVVUZCV1N4RlFVRkJNa01zUjBGQlowSXNSMEZCU3l4SFFVTjRRek5ETEVWQlFVOHNWMEZCWXpKRExFZEJRV2RDTEVkQlFVc3NSVUZETVVNelF5eEZRVUZQTEZkQlFXTXlReXhIUVVGblFpeEhRVUZMTEVWQlF6RkRNME1zUlVGQlR5eGxRVUZyUWpKRExFZEJRV2RDTEVkQlFVc3NSVUZET1VNelF5eEZRVUZQTEdWQlFXdENNa01zUjBGQlowSXNSMEZCU3l4RlFVTTVRek5ETEVWQlFVOHNjVUpCUVhkQ01rTXNSVUZCWlN4TlFVVTVReXhKUVVGSk1rTXNSVUZCVVN4SFFVRkJNVU1zUlVGQlN5eExRVUZMTEUxQlFWRnVTaXhGUVVGVkxEUkNRVU53UXpoTUxFVkJRVkVzUjBGQlFUTkRMRVZCUVVzc1MwRkJTeXhOUVVGUmJrb3NSVUZCVlN4blEwRkRjRU1yVEN4RlFVRlBMRWRCUVVGSUxFVkJRVXNzVFVGQlVUVk1MRVZCUVZVc2QwSkJRemxDWjAwc1JVRkJUU3hGUVVOTVNDeEZRVmRJUnl4RlFVRk5OME1zUlVGQlN5eExRVUZMTEdsQ1FWWllNa01zUjBGRFF6RjRRaXhKUVVGTkxFVkJUVlkwZUVJc1JVRkJUUzlETEVWQlFVc3NUVUZJVkN0RExFVkJRVTFPTEVWQlVWSjBlRUlzU1VGQlRTeEhRVUZMTUU0c1NVRkJUU3hGUVVObWFXdENMRVZCUTBaNFJpeEZRVUZQTEU5QlFWTjVSaXhGUVVGTlNpeEZRVUZMTEZsQlJUTkNja1lzUlVGQlR5eFBRVUZUZVVZc1JVRkhiRUo2Uml4RlFVRlBMRTlCUVZOdFJpeEZRVVZzUWtFc1JVRkJiMEp1Uml4RlFVRlBMRTlCUVZOQkxFVkJRVThzVFVGRGRrTTBReXhGUVVGTExFMUJRVTBzVDBGQlV5eEhRVUZMUVN4RlFVRkxMRTFCUVUwc1QwRkJVeXhIUVVNdlEzUkRMRVZCUVVzc1MwRkJTeXhMUVVGTE
1xFdEJRVXNzVFVGQlRTeFBRVUZUTEVkQlFVdEJMRVZCUVVzc1MwRkJTeXhMUVVGTExFdEJRVXNzVFVGQlRTeFBRVUZUTEVsQlF6TkZTQ3hGUVVGUkxIbENRVUY1UWtjc1JVRkJUVTRzUlVGQlVVRXNSVUZCVHl4bFFVRm5RalJETEVWQlFVc3NhMEpCUVd0Q0xFTkJSV2hITEVOQlEwWXNRMEZEUkN4SFFVRkpRU3hGUVVGTExFdEJRVTBzUTBGRFluUkRMRVZCUVVzc2QwSkJRVEJDTEVkQlF5OUNMRWxCUVVsdlJpeEZRVUZsT1VNc1JVRkJTeXh0UWtGRGVFSXNTVUZCU3k5MVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrcmRVSXNSVUZCU3l4TFFVRkxMRkZCUVZFc1QwRkJVUzkxUWl4SlFVTjRRelo0UWl4SFFVRm5RamxETEVWQlFVc3NTMEZCU3l4UlFVRlJMM1ZDTEVOQlFVTXNSVUZCUlN4aFFVTnlRMjF6UWl4RlFVRlRUU3hGUVVGTExGRkJRVkZ2Uml4RlFVRmxMRU5CUVVNc1JVRkRkRU14Uml4RlFVRlBMRmRCUVdFMFF5eEZRVUZMTEV0QlFVc3NVVUZCVVM5MVFpeERRVUZETEVWQlFVVXNWVUZGTlVNc1EwRkRSaXhGUVVkUUxFVkJUVUZ6YzBJc1JVRkJVU3hWUVVGVkxGVkJRVmtzVTBGQlUwY3NSVUZCVFdFc1JVRkJWeXhEUVVOMFJDeEpRVUZKYUVzc1JVRkRRVFpKTEVWQlFWTk5MRVZCUVVzc1VVRkJVV0VzUTBGQlV5eEZRVVZ1UXl4SFFVRkpMRU5CUVVNc1MwRkJTeXhMUVVOU0xFOUJRVThzUzBGSFZDeEhRVUZKTEVOQlFVTnVRaXhGUVVGUExFdEJSVlpCTEVWQlFVOHNTMEZCVHl4SlFVRkpMRmRCUVZkQkxFVkJRVThzU1VGQlNTeEZRVU40UTBFc1JVRkJUeXhaUVVGakxFVkJRM0pDTEV0QlFVc3NhVUpCUVcxQ1FTeEZRVUZQTEV0QlF5OUNiazBzUlVGQlNTeE5RVUZOTEZWQlFWY3NjMEpCUVhkQ2MwNHNSVUZCV1N4alFVRm5RbUlzUlVGQlN5eExRVUZMTEZOQlFWY3NXVUZCWTA0c1JVRkJUeXhMUVVGUExGbEJRV01zUzBGQlN5eG5Ra0ZCYTBJc1IwRkJSeXhWUVVONlNrRXNSVUZCVHl4aFFVRmxRU3hGUVVGUExFdEJSWFJETEU5QlFVOUJMRVZCU1ZRc1QwRkJZU3hEUVVOWUxFbEJRVWt2ZFVJc1JVRkJVU3hMUVVGTExFOUJRVThzWVVGQllTeEhRVUZOSzNWQ0xFVkJRVThzVDBGQlUwRXNSVUZCVHl4WlFVRmhMRVZCUVVzc1JVRkRjRVlzUjBGQlNTOTFRaXhGUVVGUkxFZEJRVWtzUTBGRFpHdHRRaXhGUVVGVExFdEJRVXNzVDBGQlR5eFJRVUZSYkcxQ0xFTkJRVXNzUlVGRGJFTXNTVUZCU1RBd1FpeEZRVUZ0UW5oUExFVkJRVThzV1VGQll6WkpMRVZCUVU4c1QwRkJVMEVzUlVGQlR5eFpRVUZqTjBrc1JVRkJUeXhYUVVONFJpeEhRVUZKTmtrc1JVRkJUeXhMUVVGUFFTeEZRVUZQTEdGQlFXVXlSaXhGUVVkMFF5eFBRVUZCT1ZJc1JVRkJTU3hOUVVGTkxGVkJRVmNzYlVKQlFYRkNjMDRzUlVGQldTeDFRa0ZCZVVKdVFpeEZRVUZQTEZsQlFXTXNZVUZEYWtkQkxFVkJRVThzVDBGQlUwRXNSVUZCVHl4WlFVRmpOMGtzUlVGQlR5eFhRVUZoTEdkQ1FVRnJRalpKTEVWQlFVOHNTMEZCVDBFc1JVRkJUeXhoUVVGbExHVkJRV2xDUVN4RlFVRlBMRXRCUVU4c1IwRkJSeXhGUVVWd1NqVkxMRVZCUVZjc1QwRkJUelJMTEVWQlFVOHNTMEZCU3l4UFFVRlJRU3hGUVVGUExGbEJRek5ETjBrc1JVRkJVVFpKTEVWQlFVOHNUMEZCVTBFc1JVRkJUeXhaUVVGak4wa3NSVUZCVHl4VlFVRlhOa2tzUlVGQlR5eExRVUZQUVN4RlFVRlBMRmRCUVZjc1JVRkhha2MzU1N4RlFVRlBMRmRCUVdFMlNTeEZRVUZQTEV0QlFVOUJMRVZCUVU4c1dVRkRla01zUzBGQlN5eFBRVUZQTEdsQ1FVVmFRU3hGUVVGUExGbEJRV05CTEVWQlFVOHNTMEZGY2tKQkxFVkJTVkFzUjBGQlNUSkdMRWxCUVhGQ0xFVkJRVWNzVDBGQlR5eExRVVZ1UXpsU0xFVkJRVWtzVFVGQlRTeFZRVUZYTEcxQ1FVRnhRbk5PTEVWQlFWa3NLMEpCUVdsRGJrSXNSVUZCVHl4WlFVRmpMR0ZCUTNwSFFTeEZRVUZQTEU5QlFWTkJMRVZCUVU4c1dVRkJZemRKTEVWQlFVOHNWMEZCWVN4bFFVRnBRbmRQTEVWQlFXMUNMR1ZCUVdsQ00wWXNSVUZCVHl4TFFVRlBMRWRCUVVjc1JVRkZiRWsxU3l4RlFVRlhMRTlCUVU4MFN5eEZRVUZQTEV0QlFVc3NUMEZCVVVFc1JVRkJUeXhaUVVNelF6ZEpMRVZCUVZFMlNTeEZRVUZQTEU5QlFWTkJMRVZCUVU4c1dVRkJZemRKTEVWQlFVOHNWVUZCVjNkUExFTkJRV2RDTEVWQlEycEdNMFlzUlVGQlR5eGhRVUZsTWtZc1JVRkhkRUo0VHl4RlFVRlBMRmRCUVdGM1R5eEZRVU53UWl4TFFVRkxMRTlCUVU4c1owSkJTWEJDTEV0QlEwMHNVVUZCVHl4SlFVVldMRU5CUTBnc1JVRkhRWGhHTEVWQlFWRXNWVUZCVlN4alFVRm5RaXhUUVVGVFJ5eEZRVUZOWVN4RlFVRlhMRU5CUXpGRUxFbEJRVWx1UWl4RlFVRlRUU3hGUVVGTExGRkJRVkZoTEVOQlFWTXNSVUZEYmtNc1QwRkJTVzVDTEVWQlFVOHNUVUZEVkN4TFFVRkxMR2xDUVVGdFFrRXNSVUZCVHl4TFFVTXZRa0VzUlVGQlR5eExRVUZQTEV0QlEyUkJMRVZCUVU4c1dVRkJZeXhGUVVOa1FTeEZRVUZQTEUxQlJWQXNRMEZGV0N4RlFVVkJSeXhGUVVGUkxGVkJRVlVzTWtKQlFUWkNMRlZCUVZjc1EwRkRlRVFzVDBGQlR5eExRVUZMTEdWQlEyUXNSVUZIUVVFc1JVRkJVU3hWUVVGVkxGVkJRVmtzVlVGQlZ5eERRVU4yUXl4SlFVRkpMM2xDTEVWQlEwRjNORUlzUlVGQlV5eEhRVU5pTEVsQlFVdDRORUlzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRXRCUVVzc1MwRkJTeXhOUVVGTkxFOUJRVkZCTEVsQlFVc3NRMEZETTBNc1NVRkJTV3Q2UWl4RlFVRlBMRXRCUVVzc1MwRkJTeXhOUVVGTmJIcENMRU5CUVVNc1JVRkRlRUpCTEVWQlFVa3NTVUZEVG5jMFFpeEhRVUZWTEV0QlJWcEJMRWRCUVZWMFJpeEZRVUZMTEV0QlFVc3NTMEZCU3l4TFFVRkxMRXRCUVVzc1VVRkJVU3hEUVVGRExFVkJRVVVzVlVGREwwTXNRMEZEUkN4UFFVRlBjMFlzUTBGRFZDeEZRVWRCZWtZc1JVRkJVU3hWUVVGVkxGbEJRV01zVTBGQlUwTXNSVUZCU1N4RFFVTXpReXhKUVVGSmFIcENMRVZCUTBvc1IwRkJTU3hEUVVGRExFdEJRVXNzVFVGQlVTeERRVUZETEV0QlFVc3NTMEZCU3l4TFFVRk5MRTlCUVU4c1MwRkRNVU1zU1VGQlMwRXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFdEJRVXNzUzBGQlN5eExRVUZMTEUxQlFVMHNUMEZCVVVFc1NVRkJTeXhEUVVOb1JDeEpRVUZKWnpSQ0xFVkJRVThzUzBGQlN5eExRVUZMTEV0QlFVc3NUVUZCVFdnMFFpeERRVUZETEVWQlEycERMRWRCUVVsbk5FSXNSVUZCU3l4VlFVRlphRVlzUlVGQlNTeFBRVUZQWjBZc1EwRkRha01zUTBGRFJDeFBRVUZQTEVsQlExUXNSVUZIUVdwR0xFVkJRVkVzVlVGQlZTeGhRVUZsTEZOQlFWTk
1RMRVZCUVVrc1EwRkROVU1zUjBGQlNTeExRVUZMTEU5QlFWTXNUMEZEYUVJc1QwRkJUeXhMUVVWVUxGRkJRVk4yYzBJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEV0QlFVc3NTMEZCU3l4TlFVRk5MRTlCUVZGQkxFbEJRVXNzUTBGREwwTXNTVUZCU1hselFpeEZRVUZQTEV0QlFVc3NTMEZCU3l4TlFVRk5lbk5DTEVOQlFVTXNSVUZETlVJc1IwRkJTWGx6UWl4RlFVRkxMRXRCUVVzc1ZVRkJXVVlzUlVGQlNTeFBRVUZQUlN4RFFVTjBReXhEUVVORUxFOUJRVThzU1VGRFZDeEZRVVZCU0N4RlFVRlJMRlZCUVZVc1RVRkJVU3hIUVVVeFFrRXNSVUZCVVN4VlFVRlZMR05CUVdkQ0xFVkJSV3hEUVN4RlFVRlJMRlZCUVZVc1owSkJRV3RDTEZWQlFWY3NRMEZETjBNc1NVRkJTVEJHTEVWQlFWRXNTMEZCU3l4TlFVTmllalJDTEVWQlFVZDVSeXhGUVVOSWQxQXNSVUZEUVhscFFpeEZRVUZQTEV0QlFVc3NTMEZEYUVJc1IwRkJTVUVzUjBGQlV5eE5RVU5VUVN4RlFVRkxMRTlCUVZNc1VVRkRaRUVzUlVGQlN5eFBRVUZUTEU5QlEyeENMRXRCUVVzeE5FSXNSVUZCU1N4RlFVRkhRU3hGUVVGSk1EUkNMRVZCUVVzc1MwRkJTeXhYUVVGWExFOUJRVkV4TkVJc1NVRkRNME5wVnl4RlFVRlBMRU5CUVVFc1JVRkRVRUVzUlVGQlN5eEhRVUZMZVdsQ0xFVkJRVXNzUzBGQlN5eFhRVUZYTVRSQ0xFTkJRVU1zUlVGQlJTeFJRVU5zUTNrMFFpeEZRVUZOZUdsQ0xFVkJRVXNzUlVGQlJTeEZRVUZKUVN4RlFVTnFRa0VzUlVGQlN5eFBRVUZUTEVkQlEyUkJMRVZCUVVzc1MwRkJUM2xwUWl4RlFVRkxMRXRCUVVzc1YwRkJWekUwUWl4RFFVRkRMRVZCUVVVc1ZVRkRhRU13TkVJc1JVRkJTeXhMUVVGTExGZEJRVmN4TkVJc1EwRkJReXhGUVVGRkxHbENRVUZ0UWl4SlFVTTNRMmxYTEVWQlFVc3NWMEZCWVhscFFpeEZRVUZMTEV0QlFVc3NXVUZCV1VFc1JVRkJTeXhMUVVGTExGZEJRVmN4TkVJc1EwRkJReXhGUVVGRkxHbENRVUZ0UWl4RFFVRkRMRWRCUld4R01EUkNMRVZCUVVzc1MwRkJTeXhYUVVGWE1UUkNMRU5CUVVNc1JVRkJSU3hWUVVNeFFtbFhMRV
1ZCUVVzc1MwRkJUM2xwUWl4RlFVRkxMRXRCUVVzc1YwRkJWekUwUWl4RFFVRkRMRVZCUVVVc1ZVRkZjRU5wVnl4RlFVRkxMRXRCUVU4c1QwRkZaRUVzUlVGQlN5eGhRVUZsZVdsQ0xFVkJRVXNzUzBGQlN5eFhRVUZYTVRSQ0xFTkJRVU1zUlVGQlJTeGhRVU0xUTJsWExFVkJRVXNzYVVKQlFXMUNlV2xDTEVWQlFVc3NTMEZCU3l4WFFVRlhNVFJDTEVOQlFVTXNSVUZCUlN4cFFrRkZiRVFzUjBGQlNUQTBRaXhGUVVGTExFdEJRMUFzU1VGQlN6RTBRaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3dORUlzUlVGQlN5eExRVUZMTEUxQlFVMHNUMEZCVVRFMFFpeEpRVUZMTEVOQlJUTkRMRWxCUVVreU5FSXNSVUZCVlVRc1JVRkJTeXhMUVVGTExFMUJRVTB4TkVJc1EwRkJReXhGUVUwdlFpeFBRVXhCYVZjc1JVRkJUM2RwUWl4RlFVRk5SU3hGUVVGUkxFOUJRVThzUlVGRGVFSkJMRVZCUVZFc2RVSkJRWGxDTEVsQlEyNURiRk1zUlVGQlNTeExRVUZMTERKRVFVRXlSQ3hGUVVOd1JYaFJMRVZCUVVzc1QwRkJVM2xwUWl4RlFVRkxMRXRCUVVzc1RVRkJUVU1zUlVGQlVTeHhRa0ZCZFVJc1EwRkJReXhIUVVWNFJFRXNSVUZCVVN4dlFrRkJiVUlzUTBGRGFrTXNTVUZCU3l4SFFVTklMRTFCUTBZc1NVRkJTeXhIUVVOSWJGTXNSVUZCU1N4TFFVRkxMSFZFUVVGMVJDeEZRVU5vUlN4TlFVTkdMRWxCUVVzc1IwRkRTRUVzUlVGQlNTeExRVUZMTEhWRVFVRjFSQ3hGUVVOb1JTeExRVU5JTEVOQlIwUXNTVUZHUVhoUkxFVkJRVXNzVVVGQlZTeEhRVU5tUVN4RlFVRkxMRXRCUVU4c1JVRkRVSGhRTEVWQlFVa3NSVUZCUjBFc1JVRkJTV3Q1UWl4RlFVRlJMRkZCUVZFc1QwRkJVV3g1UWl4SlFVTjBRM2RRTEVWQlFVc3NVVUZCVVhoUUxFTkJRVU1zUlVGQlNTeEhRVU5zUW5kUUxFVkJRVXNzVVVGQlVYaFFMRU5CUVVNc1JVRkJSU3hQUVVGVGEzbENMRVZCUVZFc1VVRkJVV3g1UWl4RFFVRkRMRVZCUVVVc1kwRkJaMEpyZVVJc1JVRkJVU3haUVVOd1JURnBRaXhGUVVGTExGRkJRVkY0VUN4RFFVRkRMRVZCUVVVc1QwRkJVMnQ1UWl4RlFVRlJMRkZCUVZGc2VVSXNRMEZCUXl4RlFVRkZMR05CUXpWRGQxQXNSVUZCU3l4UlFVRlJlRkFzUTBGQlF5eEZRVUZGTEZsQlFXTXNSVUZET1VKM1VDeEZRVUZMTEUxQlFWRkJMRVZCUVVzc1VVRkJVWGhRTEVOQlFVTXNSVUZCUlN4TlFVVm9ReXhEUVV0SUxFZEJTRWxwZVVJc1JVRkJTeXhQUVVOUVJDeEZRVUZOUXl4RlFVRkxMRXRCUVVzc1QwRkJUeXhGUVVGRkxGRkJRVlVzU1VGRmFrTkJMRVZCUVVzc1MwRkRVQ3hKUVVGTE1UUkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNUQTBRaXhGUVVGTExFdEJRVXNzVjBGQlZ5eFBRVUZSTVRSQ0xFbEJRVXNzUTBGRGFFUXNTVUZCU1c5R0xFVkJRVTF6ZWtJc1JVRkJTeXhMUVVGTExGZEJRVmN4TkVJc1EwRkJReXhGUVVOb1F5eEpRVUZMZVVjc1JVRkJTU3hGUVVGSFFTeEZRVUZKY2tJc1JVRkJTU3hYUVVGWExFOUJRVkZ4UWl4SlFVTnlRMmQ1UWl4RlFVRk5jbnBDTEVWQlFVa3NXVUZCV1N4RlFVRkZMRTlCUVU4c1MwRkJTeXhEUVVGRkxFdEJRVTFCTEVWQlFVa3NTMEZCVFN4SFFVRkpRU3hGUVVGSkxGZEJRVmR4UWl4RFFVRkRMRU5CUVVjc1EwRkJRU3hEUVVWb1JpeERRVVZJTEVkQlFVbHBlVUlzUlVGQlN5eExRVU5RTEZGQlFWTjJhMElzUlVGQlNTeEZRVUZIUVN4RlFVRkpkV3RDTEVWQlFVc3NTMEZCU3l4TlFVRk5MRTlCUVZGMmEwSXNTVUZCU3l4RFFVTXZReXhKUVVGSmVXdENMRVZCUVU5R0xFVkJRVXNzUzBGQlN5eE5RVUZOZG10Q0xFTkJRVU1zUlVGRE5VSXNTVUZCUzI1VkxFVkJRVWtzUlVGQlIwRXNSVUZCU1RRMFFpeEZRVUZMTEdGQlFXRXNUMEZCVVRVMFFpeEpRVUZMTEVOQlF6ZERMRWxCUVVrMk5FSXNSVUZCWTBRc1JVRkJTeXhoUVVGaE5UUkNMRU5CUVVNc1JVRk5ja01zU1VGTVFXbFhMRVZCUVU5M2FVSXNSVUZCVFVrc1JVRkJXU3hGUVVGRkxFVkJRM1pDTldsQ0xFVkJRVXNzWVVGQlpTeFRRVU4wUWtFc1JVRkJTeXhYUVVGaExFZEJRMnhDUVN4RlFVRkxMRmRCUVZjc1RVRkJVU3hKUVVWeVFuaFFMRVZCUVVrc1JVRkJSMEVzUlVGQlNXOTVRaXhGUVVGWkxFMUJRVTBzVDBGQlVYQjVRaXhKUVVGTExFTkJRemRETEVsQlFVbHhlVUlzUlVGQldVUXNSVUZCV1N4TlFVRk5jSGxDTEVOQlFVTXNSVUZEYmtNc1IwRkJTWEY1UWl4RlFVRlZMR1ZCUVdsQ0xFZEJRVXRCTEVWQlFWVXNaVUZCYVVJc1JVRkJTVW9zUlVGQlN5eExRVUZMTEV0QlFVc3NUVUZCVFN4UFFVRlJMRU5CUXpsR0xFbEJRVWxMTEVWQlFWVk1MRVZCUVVzc1MwRkJTeXhMUVVGTExFMUJRVTFKTEVWQlFWVXNaVUZCYVVJc1EwRkJReXhGUVVNdlJEZHBRaXhGUVVGTExGZEJRVmM0YVVJc1JVRkJVU3hKUVVGSkxFVkJRVWxCTEVWQlEyaERPV2xDTEVWQlFVc3NWMEZCVnl4TlFVRk5MRXRCUVVzNGFVSXNRMEZCVHl4RFFVTnVReXhEUVVOR0xFTkJRMFlzUTBGRFJpeEZRVVZNTEVWQlJVRm9SeXhGUVVGUkxGVkJRVlVzVVVGQlZTeFRRVUZUYVVjc1JVRkJVeXhEUVVNMVF5eEpRVUZKYWxBc1JVRkRRVGxVTEVWQlJVb3NSMEZCU1N4RFFVRkRMRXRCUVVzc1MwRkRVaXhQUVVGUExFdEJTVlFzUjBGRVFVRXNSVUZCVHl4TFFVRkxMRTFCUVUwcmFVSXNRMEZCVHl4RlFVTnlRaXhEUVVGREwybENMRVZCUVVzc1RVRkJVVUVzUlVGQlN5eExRVVZ5UWtFc1JVRkJTeXhMUVVGUExFbEJRVWtzVjBGQlYwRXNSVUZCU3l4SlFVRkpMRVZCUTNCRFFTeEZRVUZMTEZsQlFXTXNSVUZEYmtJc1MwRkJTeXhsUVVGcFFrRXNSVUZCU3l4TFFVTXpRbmRSTEVWQlFVa3NUVUZCVFN4VlFVRlhMRzlDUVVGelFuVlRMRVZCUVZVc1dVRkJZeTlwUWl4RlFVRkxMRXRCUVU4c1dVRkJZeXhMUVVGTExHTkJRV2RDTEVkQlFVY3NWVUZETlVkQkxFVkJRVXNzWTBGQlowSkJMRVZCUVVzc1MwRkZia01zVDBGQlQwRXNSVUZMVkN4UlFVRlRhbGNzUlVGQlNTeEZRVUZIUVN4RlFVRkphVmNzUlVGQlN5eFJRVUZSTEU5QlFWRnFWeXhKUVVGTExFTkJRelZETEVsQlFVbDVka0lzUlVGQlUzaGFMRVZCUVVzc1VVRkJVV3BYTEVOQlFVTXNSVUZETTBJc1IwRkJTWGwyUWl4RlFVRlBMR05CUVdkQ1FTeEZRVUZQTEU5QlJUTkNMRU5CUTB3c1NVRkJTVFZ5UWl4RlFVRlJMRXRCUVVzc1QwRkJUeXhoUVVGaExFZEJRVTAwY2tJc1JVRkJUeXhQUVVGVFFTeEZRVUZQTEZsQlFXRXNSVUZCU3l4RlFVTndSaXhIUVVGSk5YSkNMRVZCUVZFc1IwRkJTU3hEUVVOa2EyMUNMRVZCUVZNc1MwRkJTeXhQUVVGUExGRkJRVkZzYlVJc1EwRkJTeXhGUVVOc1F5eEpRVUZKTURCQ0xFVkJRVzFDZUU4c1JVRkJUeXhaUVVGak1FWXNSVUZCVHl4UFFVRlRRU3hGUVVGUExGbEJRV014Uml4RlFVRlBMRmRCUTNoR0xFZEJRVWt3Uml4RlFVRlBMRTlCUVZOQkxFVkJRVThzWVVGQlpUaEpMRVZCUjNoRE9WSXNSVUZCU1N4TlFVRk5MRlZCUVZjc2FVSkJRVzFDZFZNc1JVRkJWU3haUVVGamFEVkNMRVZCUVVrc2RVSkJRWGxDZVhaQ0xFVkJRVThzV1VGRGJFY3NZVUZCWlVFc1JVRkJUeXhQUVVGVFFTeEZRVUZQTEZsQlFXTXhSaXhGUVVGUExGZEJRV0VzWjBKQlFXdENNRVlzUlVGQlR5eFBRVUZUUVN4RlFVRlBMR0ZCUTJwSUxITkNRVUYzUWtFc1JVRkJUeXhQUVVGVExHOUNRVUZ6UW5oYUxFVkJRVXNzUzBGQlR5eEhRVUZITEVWQlJTOUZLMUlzUlVGQlZ5eFBRVUZQTDFJc1JVRkJTeXhMUVVGTE
1xFOUJRVkZCTEVWQlFVc3NXVUZEZGtNNFZDeEZRVUZSTUVZc1JVRkJUeXhQUVVGVFFTeEZRVUZQTEZsQlFXTXhSaXhGUVVGUExGVkJRVmN3Uml4RlFVRlBMRTlCUVZOQkxFVkJRVThzVjBGQlZ5eEZRVWR1UnpGR0xFVkJRVThzVjBGQllUQkdMRVZCUVU4c1QwRkJVMEVzUlVGQlR5eFpRVU16UXl4TFFVRkxMRTlCUVU4c2FVSkJSVnA0V2l4RlFVRkxMR0ZCUVdkQ2Qxb3NSVUZCVHl4UFFVRlRRU3hGUVVGUExGbEJRelZEUVN4RlFVRlBMRmxCUVdOQkxFVkJRVThzVjBGSk5VSXNVVUZCUVdoS0xFVkJRVWtzVFVGQlRTeFZRVUZYTEdsQ1FVRnRRblZUTEVWQlFWVXNXVUZCWTJnMVFpeEZRVUZKTEN0Q1FVRnBRM2wyUWl4RlFVRlBMRmxCUVdNc1lVRkRka2hCTEVWQlFVOHNUMEZCVTBFc1JVRkJUeXhaUVVGak1VWXNSVUZCVHl4WFFVRmhMR1ZCUVdsQ2QwOHNSVUZETTBVc2MwSkJRWGRDT1Vrc1JVRkJUeXhQUVVGVExHOUNRVUZ6UW5oYUxFVkJRVXNzUzBGQlR5eEhRVUZITEVWQlJTOUZLMUlzUlVGQlZ5eFBRVUZQTDFJc1JVRkJTeXhMUVVGTExFOUJRVkZCTEVWQlFVc3NXVUZEZGtNNFZDeEZRVUZSTUVZc1JVRkJUeXhQUVVGVFFTeEZRVUZQTEZsQlFXTXhSaXhGUVVGUExGVkJRVmQzVHl4RFFVRm5RaXhGUVVOcVJqbEpMRVZCUVU4c1lVRkJaVGhKTEVWQlEzUkNkR2xDTEVWQlFVc3NZVUZCWlhOcFFpeEZRVWR3UW5oUExFVkJRVThzVjBGQllYZFBMRVZCUTNCQ0xFdEJRVXNzVDBGQlR5eHBRa0ZEVEN4SlFVVnFRaXhMUVVOUkxGRkJRVThzU1VGRlZpeERRVU5HTEVOQlEwUXNUMEZCU1hScFFpeEZRVUZMTEdOQlFXZENRU3hGUVVGTExFdEJSWEpDUVN4RlFVVkJMRWxCUlZnc1JVRkhRVGhqTEVWQlFWRXNWVUZCVlN4WlFVRmpMRk5CUVZOcFJ5eEZRVUZUTEVOQlEyaEVMRWxCUVVrdmFVSXNSVUZCVHl4TFFVRkxMRTFCUVUwcmFVSXNRMEZCVHl4RlFVTTNRaXhIUVVGSkwybENMRVZCUVVzc1MwRkJUU3hEUVVOaUxFdEJRVXNzWlVGQmFVSkJMRVZCUVVzc1MwRkRNMEpCTEVWQlFVc3NTMEZCVHl4TFFVTmFRU3hGUVVGTExGbEJRV01zUlVGRGJrSXNVVUZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlN5eFJRVUZSTEU5QlFWRXNTVUZCU3l4RFFVTTFReXhKUVVGSmQxb3NSVUZCVTNoYUxFVkJRVXNzVVVGQlVTeERRVUZETEVWQlF6TkNkMW9zUlVGQlR5eFpRVUZqTEVOQlEzUkNMRU5CUTBRc1QwRkJUM2hhTEVWQlFVc3NTVUZEYUVJc1MwRkRTU3hQUVVGUExFVkJSVmdzUlVGSFFUaGpMRVZCUVZFc1ZVRkJWU3hoUVVGbExGTkJRVk42VkN4RlFVRlZMRU5CUTJ4RUxGRkJRVk4wWml4TFFVRkxMRXRCUVVzc1RVRkJUeXhEUVVONFFpeEpRVUZKYVZjc1JVRkJUeXhMUVVGTExFMUJRVTFxVnl4RFFVRkRMRVZCUTNaQ0xFdEJRVXNzVVVGQlVXbFhMRVZCUVVzc1JVRkJSU3hGUVVOb1FuRktMRWRCUVZrc1EwRkJRM0pLTEVWQlFVc3NUMEZEY0VKeFNpeEZRVUZUY2tvc1EwRkJTU3hGUVVOaVFTeEZRVUZMTEV0QlFVOHNSMEZEV2tFc1JVRkJTeXhMUVVGUExFdEJSV1lzUTBGRFNDeEZRVVZCT0dNc1JVRkJVU3hWUVVGVkxGRkJRVlVzVTBGQlUzaHdRaXhGUVVGTkxFTkJRM3BETEZGQlFWTjJTaXhMUVVGTExFdEJRVXNzVFVGQlR5eERRVU40UWl4SlFVRkphVmNzUlVGQlR5eExRVUZMTEUxQlFVMXFWeXhEUVVGRExFVkJRM1pDTEVkQlFVbHBWeXhGUVVGTExFOUJRVk14VFN4RlFVTm9RaXhQUVVGUE1FMHNSVUZCU3l4RlFVVm1MRU5CUTBRc1RVRkJUeXhGUVVOVUxFVkJSVUU0WXl4RlFVRlJMRlZCUVZVc1pVRkJhVUlzVlVGQlZ5eERRVU0xUXl4UFFVRkxMRXRCUVVzc1MwRkhSQ3hMUVVGTExFdEJRVXNzUzBGQlN5eFJRVVptTEVsQlNWZ3NSVUZGUVVFc1JVRkJVU3hWUVVGVkxHVkJRV2xDTEZWQlFWY3NRMEZETlVNc1RVRkJTU3hEUVVGRExFdEJRVXNzVFVGQlVTeERRVUZETEV0QlFVc3NTMEZCU3l4TFFVTndRaXhMUVVWQkxFdEJRVXNzVVVGQlVTeExRVUZMTEV0QlFVc3NTMEZCU3l4UFFVRlBMRU5CUlRsRExFVkJSVUZCTEVWQlFWRXNWVUZCVlN3d1FrRkJORUlzVTBGQlV6aENMRVZCUVZVc1EwRkRMMFFzU1VGQlNURnJRaXhGUVVGVk1HdENMRWRCUVZrc1IwRkRkRUkxWlN4RlFVRlBMRXRCVFZnc1IwRk1TVGxHTEVWQlFWRXNUMEZEVmpoR0xFVkJRVThzUzBGQlN5eFJRVUZST1VZc1JVRkJVU3hOUVVGTkxFVkJSV3hET0VZc1JVRkJUeXhMUVVGTExHbENRVVZXUVN4SFFVRlJMRXRCUVUwc1QwRkJUeXhMUVVWNlFpeEpRVUZKYVUwc1JVRkJUeXhKUVVGSk5sRXNSVUZEWmpkUkxFVkJRVXNzWjBKQlFXdENMRWRCUlhaQ0xFbEJRVWtyVnl4RlFVRmxMRU5CUVVVc1MwRkJUV2hxUWl4RlFVRkxMRXRCUVUwc2EwSkJRVzFDUVN4RlFVRkxMRmRCUVZjc1QwRkRja1ZCTEVWQlFVc3NWMEZCVnl4UFFVTnNRbWRxUWl4RlFVRmhMRTFCUVZGb2FrSXNSVUZCU3l4WFFVRlhMRXRCUVVzc1dVRkRNVU5uYWtJc1JVRkJZU3hQUVVGVGFHcENMRVZCUVVzc1YwRkJWeXhMUVVGTExHTkJSVGRETEVsQlFVbHBha0lzUlVGQlZXaFlMRVZCUVVzc1UwRkJVeXRYTEVOQlFWa3NSVUZEZUVNc1QwRkJTVU1zUjBGRFJtaFlMRVZCUVVzc1ZVRkJWV2RZTEVWQlFWTnFha0lzUlVGQlN5eEpRVUZKTEVWQlF6RkNhVTBzUjBGRlFTeEpRVVZZTEVWQlNVRTJVU3hGUVVGUkxGVkJRVlVzVFVGQlVTeFRRVUZUYjBjc1JVRkJWeXhEUVVNMVF5eFJRVUZUYmpWQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4TFFVRkxMRTFCUVUwc1QwRkJVVUVzU1VGRGNrTXNTMEZCU3l4TlFVRk5RU3hEUVVGRExFVkJRVVVzVFVGQlRXMDFRaXhEUVVGVExFTkJSV3BETEVWQlJVRndSeXhGUVVGUkxGVkJRVlVzWlVGQmFVSXNVMEZCVTJVc1JVRkJWWE5HTEVWQlFXTXZSQ3hGUVVGVExFTkJRek5GTEVsQlFVbHVReXhGUVVGUExFdEJRVXNzWVVGQllWa3NRMEZCVVN4RlFVTnFRMnhDTEVWQlFWTXNTMEZCU3l4VlFVRlZUU3hGUVVGTmEwY3NRMEZCV1N4RlFVTTVReXhIUVVGSmVFY3NSMEZCVlN4TFFVTmFMRTlCUVVGQkxFVkJRVk5OTEVWQlFVc3NVVUZCVVd0SExFTkJRVmtzUlVGRE9VSXNTMEZCU3l4cFFrRkRVQ3hMUVVGTExHbENRVUZ0UWl4TFFVRkxMRWxCUVVsNFJ5eEZRVUZQTEU5QlFWTkJMRVZCUVU4c1dVRkJZU3hMUVVGTExHZENRVUZuUWl4RlFVVXhSaXhMUVVGTE
1xHbENRVUZ0UWswc1JVRkJTeXhSUVVGUmEwY3NRMEZCV1N4RlFVRkZMRTlCUVZONFJ5eEZRVUZQTEZsQlJUbEVMRXRCUjFRc1NVRkJTVGxITEVWQlFWTjFTaXhIUVVGWExFbEJRVWx5VGl4RlFVTTFRamhFTEVWQlFVOHNWMEZCWVRsRUxFVkJRVmNzVjBGRkwwSXNTVUZCU1hOT0xFVkJRVThzUzBGQlN5eDFRa0ZCZFVJeFF5eERRVUZOTEVWQlF6ZERNRU1zUlVGQlN5eE5RVUZOZUVvc1EwRkJUU3hGUVVkcVFuZEtMRVZCUVVzc1RVRkJUU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVWQlFVVXNXVUZCWTBFc1JVRkJTeXhMUVVGUExFVkJRMnBFTjA4c1JVRkJTU3hOUVVGTkxGTkJRVlVzZDBOQlFUQkROazhzUlVGQlN5eE5RVUZOTEVOQlFVTXNSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkJSU3hYUVVGWExFVkJRMmhIZUVvc1JVRkJUeXhoUVVGaGQwb3NSVUZCU3l4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zUlVGQlJTeHhRa0ZCYzBKQkxFVkJRVXNzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVWdVJ5eEpRVUZKSzBRc1JVRkJUeXhKUVVGSmFFNHNSVUZCVlN4UlFVTjZRaXhQUVVGQlowNHNSVUZCU3l4TFFVRlBla2NzUlVGQlR5eExRVU51UW5sSExFVkJRVXNzVFVGQlRYWk9MRU5CUVUwc1JVRkRWa0VzUTBGRFZDeEZRVWRCYVVnc1JVRkJVU3d5UWtGQk5rSXNVMEZCVTNWSExFVkJRVTFxUml4RlFVRk5hMFlzUlVGQlowSkRMRVZCUVdsQ0xFTkJRM3BHTEVsQlFVbDROVUlzUlVGTFNubHRRaXhGUVVGSkxFMUJRVTBzVlVGQlZ5eHRRMEZCYlVNc1JVRkZlRVFzU1VGQlNYRkdMRVZCUVZNc1NVRkJTVGxFTEVWQlEycENPRVFzUlVGQlR5eFhRVUZoT1VRc1JVRkJWeXhYUVVNdlFuTlNMRVZCUVVzc1RVRkJUWGhPTEVOQlFVMHNSVUZIYWtJc1NVRkJTVEpPTEVWQlFVOXdSaXhGUVVGTExFbEJRVWtzVFVGQlRTeEZRVWt4UWl4SlFVaEphMFlzUjBGRFJrVXNSVUZCU3l4SlFVRkpMRTFCUVUwc1JVRkJSU3hKUVVGSkxHOUNRVUZ4UWtZc1EwRkJZeXhGUVVWeVJIWTFRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbHhNRUlzUlVGQlN5eE5RVUZOTEU5QlFWRnlNRUlzU1VGRGFrTjVOVUlzUlVGQlN5eEpRVUZKTEUxQlFVMHNSVUZCUlN4SlFVRkpMRmRCUVZsd1JpeEZRVUZMTEUxQlFVMXlNRUlzUTBGQlF5eEZRVUZGTEV0QlFVc3NVVUZCVVN4RlFVTjZSQ3hKUVVGSkxHMURRVUZ2UXl4RFFVRkRMRVZCUTNwRExFbEJRVWtzTUVKQlFUSkNkelZDTEVOQlFXVXNSVUZET1VNc1NVRkJTU3h6UWtGQmRVSXNRMEZCUXl4RlFVTTFRaXhKUVVGSkxIVkNRVUYzUWl4TFFVRlBMRVZCUlhoRExFOUJRVUZ1Uml4RlFVRkxMRTFCUVUxMlNTeERRVUZOTEVWQlJWWkJMRVZCUVU4c1RVRkZhRUlzUlVGRlFXbElMRVZCUVZFc1ZVRkJWU3hMUVVGUExGTkJRVk40Y0VJc1JVRkJUU3hEUVVOMFF5eEpRVUZKZFdsQ0xFVkJRVk1zU1VGQlNUbEVMRVZCUTJwQ09FUXNSVUZCVHl4WFFVRmhPVVFzUlVGQlZ5eFhRVU12UWl4TFFVRkxMRTFCUVUwNFJDeERRVUZOTEVWQlEycENRU3hGUVVGUExFdEJRVXQyYVVJc1EwRkJTU3hEUVVOc1FpeEZRVVZCZDNCQ0xFVkJRVkVzVlVGQlZTeFZRVUZaTEZWQlFWY3NRMEZEZGtNc1NVRkJTV3BJTEVWQlFWTXNTVUZCU1RsRUxFVkJRMnBDTEU5QlFVRTRSQ3hGUVVGUExGZEJRV0U1UkN4RlFVRlhMRmRCUXk5Q0xFdEJRVXNzVFVGQlRUaEVMRU5CUVUwc1JVRkRWa0VzUlVGQlR5eE5RVU5vUWl4RlFVVkJhVWdzUlVGQlVTeFZRVUZWTEhWQ1FVRjVRaXhWUVVGWExFTkJRM0JFTEVsQlFVa3ZlVUlzUlVGSFFUQTFRaXhGUVVOQmVFY3NSVUZEUVhsSExFVkJWVW9zU1VGVVNTeExRVUZMTEZsQlFXTXNUVUZEY2tKc1ZDeEZRVUZKTEV0QlFVc3NVMEZCVlN3clFrRkJLMElzUlVGRkwwTXNTMEZCU3l3MlFrRkRVaXhMUVVGTExESkNRVUUyUWl4SFFVTnNReXhMUVVGTE
1xHVkJRV2xDTEVWQlEzUkNMRXRCUVVzc1dVRkJWeXhIUVVWc1FtbFVMRVZCUVZjc1EwRkJRU3hGUVVOT01UVkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeExRVUZMTEdsQ1FVRnBRaXhQUVVGUlFTeEpRVUZMTEVOQlEycEVMRWxCUVVseE1FSXNSVUZCVHl4SlFVRkphRWtzUlVGQlZTeFJRVU42UW1kSkxFVkJRVXNzUzBGQlR5eExRVUZMTEV0QlFVc3NTMEZEZEVKQkxFVkJRVXNzVFVGQlRTeExRVUZMUVN4RlFVRkxMRWxCUVVrc1JVRkRla0p1UWl4RlFVRlBMRXRCUVVzc1lVRkJZU3hMUVVGTExHbENRVUZwUW14NlFpeERRVUZETEVWQlFVVXNSVUZCUlN4RlFVTndSSEV3UWl4RlFVRkxMRTFCUVUwc1MwRkJTMjVDTEVOQlFVa3NSVUZEY0VKdFFpeEZRVUZMTEUxQlFVMHNTMEZCUzI1Q0xFTkJRVWtzUlVGRGNFSjVSeXhGUVVGTkxFTkJRVUVzUlVGRFRrRXNSVUZCU1N4SFFVRkxla2NzUlVGQlN5eExRVUZMTEZOQlEyNUNlVWNzUlVGQlNTeExRVUZQTEV0QlFVc3NhVUpCUVdsQ016VkNMRU5CUVVNc1JVRkJSU3hMUVVOd1F6STFRaXhGUVVGSkxFOUJRVk0xUnl4RlFVRlJMREpDUVVFeVFpeExRVUZMTEV0QlFVMXpRaXhGUVVGUExFdEJRVXNzUzBGQlN5eE5RVUZSTEV0QlFVc3NTMEZCU3l4TFFVRkxMRXRCUVU4c1MwRkJTeXhMUVVGTExFdEJRVXNzUzBGQlN5eHJRa0ZCYjBJc1QwRkJZU3hMUVVGTExFdEJRVXNzVFVGQlRYSXdRaXhEUVVGRExFVkJRVVVzVVVGQlVTeFBRVUZUTEVWQlFVa3NTMEZCU3l4TFFVRkxMRTFCUVUxQkxFTkJRVU1zUlVGQlJTeFJRVUZSTEVOQlFVTXNSVUZCUlN4VFFVRlhMRWRCUTJoUU1EVkNMRVZCUVZNc1MwRkJTME1zUTBGQlJ5eERRVU5zUWl4RFFVTkVMRTlCUVU5RUxFTkJRMVFzUlVGUFFYSk9MRVZCUVZVc1NVRkJTU3hWUVVGVkxGbEJRV01zVTBGQlUzWnVRaXhGUVVGUkxFTkJRM0pFTEV0QlFVc3NUVUZCVVN4RlFVTlVMRXRCUVVzc1MwRkJUM1ZyUWl4TFFVTmtMRXRCUVVzc1RVRkJVU3hIUVVWWUxFdEJRVXNzVDBGQlV5eFRRVU5vUWl4TFFVRkxMRTFCUVZFc1NVRkZablpyUWl4RlFVRlBMRWxCUVVsQkxFVkJRVThzVDBGQlV5eFJRVUZWTEV0QlFVc3NTVUZCU1N4RlFVTTVRMEVzUlVGQlR5eEpRVUZKUVN4RlFVRlBMRTlCUVZNc1VVRkJWU3hMUVVGTExFbEJRVWtzUTBGRGFFUXNSVUZGUVhWdVFpeEZRVUZWTEZGQlFWRXNWVUZCVlN4WlFVRmpMRk5CUVZOMmJrSXNSVUZCVVN4RFFVTjZSQ3hMUVVGTExFMUJRVkVzUlVGRFluVnVRaXhGUVVGVkxFbEJRVWtzVlVGQlZTeFpRVUZaTEV0QlFVc3NTMEZCVFhadVFpeERRVUZOTEVWQlEzSkVRU3hGUVVGUExFbEJRVWxCTEVWQlFVOHNUMEZCVXl4WFFVRmhMRXRCUVVzc1QwRkJUeXhGUVVOd1JFRXNSVUZCVHl4SlFVRkpRU3hGUVVGUExFOUJRVk1zVTBGQlZ5eExRVUZMTEV0QlFVc3NRMEZEYkVRc1JVRkZRWFZ1UWl4RlFVRlZMRWxCUVVrc1ZVRkJWU3hOUVVGUkxGTkJRVk4yYmtJc1JVRkJVU3hEUVVNdlF5eExRVUZMTEZsQlFWbEJMRU5CUVUwc1EwRkRla0lzUlVGRlFYVnVRaXhGUVVGVkxHRkJRV0VzVlVGQlZTeE5RVUZSTEZOQlFWTjJia0lzUlVGQlVTeERRVU40UkN4TFFVRkxMRmxCUVZsQkxFTkJRVTBzUlVGRGRrSXNVVUZCVXpsRkxFVkJRVWtzUlVGQlIwRXNSVUZCU1N4TFFVRkxMRTFCUVUwc1QwRkJVVUVzU1VGRGNrTXNSMEZCU1N4TFFVRkxMRTFCUVUxQkxFTkJRVU1zUlVGQlJ5eERRVU5xUWl4SlFVRkpORFZDTEVWQlFXTTVNRUlzUlVGQlR5eFBRVU42UWtFc1JVRkJUeXhSUVVGVkxFbEJRMnBDTEV0QlFVc3NUVUZCVFRsRkxFTkJRVU1zUlVGQlJTeE5RVUZOT0VVc1EwRkJUU3hGUVVNeFFrRXNSVUZCVHl4UFFVRlRPREJDTEVOQlEycENMRU5CUlV3c1JVRkZRVGRITEVWQlFWRXNWVUZCVlN4TlFVRlJMRk5CUVZOcWRVSXNSVUZCVVN4RFFVTjZRMEVzUlVGQlR5eFBRVUZUTEVkQlEyaENMRkZCUVZNNVJTeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1MwRkJTeXhOUVVGTkxFOUJRVkZCTEVsQlEycERMRXRCUVVzc1RVRkJUVUVzUTBGQlF5eEhRVU5rTEV0QlFVc3NUVUZCVFVFc1EwRkJReXhGUVVGRkxFMUJRVTA0UlN4RFFVRk5MRU5CUjJoRExFVkJSVUYxYmtJc1JVRkJWU3hSUVVGUkxGVkJRVlVzVFVGQlVTeFRRVUZUZG01Q0xFVkJRVkVzUTBGRGJrUjFia0lzUlVGQlZTeFJRVUZSTEZWQlFWVXNXVUZCV1N4TFFVRkxMRXRCUVUxMmJrSXNRMEZCVFN4RlFVTjZSRUVzUlVGQlR5eEpRVUZKUVN4RlFVRlBMRTlCUVZNc2EwSkJRVzlDTEV0QlFVc3NZVUZCWVN4RlFVTnFSVUVzUlVGQlR5eEpRVUZKUVN4RlFVRlBMRTlCUVZNc2MwSkJRWGRDTEV0QlFVc3NhVUpCUVdsQ0xFVkJRM3BGUVN4RlFVRlBMRWxCUVVsQkxFVkJRVThzVDBGQlV5eGpRVUZuUWl4TFFVRkxMRk5CUVZNc1JVRkRla1JCTEVWQlFVOHNTVUZCU1VFc1JVRkJUeXhQUVVGVExHRkJRV1VzUzBGQlN5eFJRVUZSTEVWQlEzWkVRU3hGUVVGUExFbEJRVWxCTEVWQlFVOHNUMEZCVXl4VFFVRlhMRXRCUVVzc1NVRkJTU3hGUVVNdlEwRXNSVUZCVHl4SlFVRkpRU3hGUVVGUExFOUJRVk1zV1VGQll5eExRVUZMTEZGQlFWVXNSVUZCUlN4RlFVTXhSRUVzUlVGQlR5eEpRVUZKUVN4RlFVRlBMRTlCUVZNc1YwRkJZU3hMUVVGTExFOUJRVThzUzBGQlN5eEpRVUZKTEVOQlFVTXNSVUZET1VSQkxFVkJRVThzU1VGQlNVRXNSVUZCVHl4UFFVRlRMR3RDUVVGdlFpeExRVUZMTEdGQlFXRXNRMEZEYmtVc1JVRkZRWFZ1UWl4RlFVRlZMRkZCUVZFc1ZVRkJWU3hOUVVGUkxGTkJRVk4yYmtJc1JVRkJVU3hEUVVOdVJIVnVRaXhGUVVGVkxGRkJRVkVzVlVGQlZTeFpRVUZaTEV0QlFVc3NTMEZCVFhadVFpeERRVUZOTEVWQlEzcEVRU3hGUVVGUExFbEJRVWxCTEVWQlFVOHNUMEZCVXl4clFrRkJiMElzUzBGQlN5eGhRVUZoTEVWQlEycEZRU3hGUVVGUExFbEJRVWxCTEVWQlFVOHNUMEZCVXl4elFrRkJkMElzUzBGQlN5eHBRa0ZCYVVJc1JVRkRla1ZCTEVWQlFVOHNTVUZCU1VFc1JVRkJUeXhQUVVGVExHRkJRV1VzUzBGQlN5eFJRVUZSTEVWQlEzWkVRU3hGUVVGUExFbEJRVWxCTEVWQlFVOHNUMEZCVXl4aFFVRmxMRXRCUVVzc1VVRkJVU3hGUVVOMlJFRXNSVUZCVHl4SlFVRkpRU3hGUVVGUExFOUJRVk1zV1VGQll5eExRVUZMTEZGQlFWVXNSVUZCUlN4RlFVTXhSRUVzUlVGQlR5eEpRVUZKUVN4RlFVRlBMRTlCUVZNc1YwRkJZU3hMUVVGTExFOUJRVThzUzBGQlN5eEpRVUZKTEVOQlFVTXNSVUZET1VSQkxFVkJRVThzU1VGQlNVRXNSVUZCVHl4UFFVRlRMRlZCUVZrc1MwRkJTeXhMUVVGTE
1xFVkJRMnBFUVN4RlFVRlBMRWxCUVVsQkxFVkJRVThzVDBGQlV5eHZRa0ZCYzBJc1MwRkJTeXhsUVVGbExFVkJRM0pGUVN4RlFVRlBMRWxCUVVsQkxFVkJRVThzVDBGQlV5eFZRVUZaTEV0QlFVc3NTMEZCU3l4RlFVTnFSRUVzUlVGQlR5eEpRVUZKUVN4RlFVRlBMRTlCUVZNc1YwRkJZU3hMUVVGTExFMUJRVTBzUTBGRGNrUXNSVUZMUVN4SlFVRkpLekJDTEVkQlFWTXNRMEZCUVN4RlFVVmlRU3hIUVVGUExGZEJRV0VzVTBGQlUwTXNSVUZCWlVNc1JVRkJVeXhEUVVWdVJDeEpRVUZKUXl4RlFVRm5Ra1lzU1VGQmEwSXNUMEZCV1VFc1JVRkJaMElzUjBGRE9VUTFXQ3hGUVVGUExFbEJRVWsyVVN4RlFVRlJaMGdzUTBGQlR5eEZRVU01UWl4UFFVRkJOMWdzUlVGQlN5eG5Ra0ZCYlVJc1EwRkJRVGhZTEVWQlEycENPVmdzUTBGRFZDeEZRemxxVVVFc1RVRkJUU3RZTEVWQlFWTXNRMEZKWWl4WlFVRlpMMWdzUlVGQlpTeERRVWd6UW5kRExFVkJRVUVzUzBGQlFYZFdMRWRCUVVFc1VVRkRRWGhXTEVWQlFVRXNTMEZCUVhsV0xFZEJRVlVzUjBGSFVuWlZMRVZCUVVFc1MwRkJTM05WTEVkQlFWRm9XU3hGUVVObUxFTkJSVUVzVFVGQlRXbEZMRVZCUVcxQ0xFTkJRM1pDTEUxQlFVMDBSQ3hGUVVGVExFbEJRVWtzV1VGQldUVkVMRVZCUVUwc1ZVRkJWU3hGUVVVdlF5eEpRVUZKTEZkQlFWYzBSQ3hEUVVGTkxFVkJRVVVzU1VGQlNUVkVMRU5CUVVzc1JVRkhhRU0wUkN4RlFVRlBMRlZCUVZsb1JTeEZRVUZCTEV0QlFVdHZWU3hKUVVONFFuWlZMRVZCUVVFc1MwRkJTM1ZWTEVkQlFVeHdWU3hGUVVGQkxFdEJRVXR2VlN4SlFVRlhjRkVzUlVGQlR5eFpRVVZzUW1oRkxFVkJRVUVzUzBGQlFXMVZMRWxCUVUwc1lVRkJZVzVSTEVOQlFVMHNRMEZEYUVNc1EwRkRSaXhEUVd4Q1JXMVJMRWRCUVVFc1dVRkRRVU1zUjBGQlFTeFpRVFpDUml4TlFVRk5ReXhGUVVGWkxFTkJUMmhDTEZsQlFWazVNRUlzUlVGQllYRm5RaXhGUVVFeVFpeERRV2xDY0VScVFpeEZRVUZCTEV0QlFVRXlWaXhKUVdsQ1FUTldMRVZCUVVFc1MwRkJRVFJXTEVsQmVFTkJOMk1zUlVGQlFTeHBRa0ZCV1N4SFFVTmFRU3hGUVVGQkxHbENRVUZaTEVkQlJWcHBTQ3hGUVVGQkxFdEJRVUYzVml4SFFVRkJMRkZCUTBGNFZpeEZRVUZCTEV0QlFVRTJWaXhIUVVGQkxGRkJSMFV6VlN4RlFVRkJMRXRCUVVzeVZTeEhRVUZWTlZVc1IwRkhWa01zUlVGQlFTeExRVUZCYzFVc1IwRkJVVXdzUjBGQlR5eGpRVU53UWpsVUxFVkJRVUVzUzBGQlMyMVZMRWxCUVUwc1VVRkJWVTBzUjBGQlFTeExRVUZMU0N4SFFVRkJTU3hKUVVGVExFdEJRVXNzU1VGQlNTeEZRVU0xUXpGVkxFVkJRVUVzUzBGQlMyMVZMRWxCUVUwc1ZVRkJXVTBzUjBGQlFTeExRVUZMUml4SFFVRkJTU3hKUVVGVkxFdEJRVXNzU1VGQlNTeEZRVVV2UXl4TlFVRk5ReXhGUVVGWExFbEJRVWxXTEVkQlFWTnNWU3hGUVVGQkxFdEJRVXR0VlN4SFFVRkxMRVZCUlc1RExFdEJRVUVzVlVGQldTeFpRVUZaTEUxQlJUZENMRTFCUVUwMU1FSXNRMEZCUnl4RlFVRkZMRXRCUVUwd1lpeEhRVUZoTEZGQlEyNUNjbVFzUlVGQlFYRmtMRVZCUVVFc1QwRkJRU3hOUVVGQmNtUXNSVUZCVFN4UFFVRlBMRWxCUVVrc1pVRkJaV2N6UWl4RlFVRlZMRU5CUVVVc1kwRkJaU3hEUVVGSExFTkJRVUVzUlVGQlF5eERRVU42UlN4RFFVTklMRU5CYjBOR0xFTkJkRVJGVkN4SFFVRkJMRmxCUTBGTExFZEJRVUVzV1VGdFFrRkdMRWRCUVVFc1dVRkJRVWtzV1VGQlUyeFJMRVZCUVZjc1EwRkRXaXhOUVVGQmFVb3NSVUZCVVdwS0xFVkJRVXNzV1VGQldTeERRVUZETEVWQlIyaERlRVVzUlVGQlFTeExRVUZMZDFVc1NVRkJVU3hUUVVGVExFTkJSM0JDTEUxQlFVOHZSeXhGUVVGTkxFMUJRVTBzVjBGQlZ5eE5RVUZOTEVWQlFVa3NUVUZCVVVFc1JVRkJUU3hMUVVGQkxFTkJRM1pFTEVWQlJVUXNTMEZCU3l4VlFVRlpMRmxCUVZrc1NVRkJTU3hGUVVGSkxFdEJRVXNzVlVGSGNrTjZUaXhGUVVGQkxFdEJRVUZ0VlN4SlFVRk5MSEZDUVVGeFFqRkhMRVZCUVUwc1JVRkJSU3hGUVVONFEzcE9MRVZCUVVFc1MwRkJTMjFWTEVsQlFVMHNUMEZEWWl4RlFVVkJTU3hIUVVGQkxGbEJRVUZKTEVkQlFVRXNVMEZCVlVVc1JVRkJWVU1zUlVGQlYzSkpMRVZCUVdkRExFTkJRemRFZWswc1JVRkJRU3hMUVVGTGQxVXNTVUZCVVN4VFFVTllMMGdzUlVGQlVTeEpRVU5NU1N4SFFVTkRMRWxCUVVrc2EwSkJRV3RDTEVOQlEzQkNMRXRCUVUxQkxFVkJRVThzVVVGQlZTeE5RVUZSTEZGQlF5OUNMRlZCUVZrc1NVRkJUVUVzUlVGQlR5eEpRVUZQUVN4RlFVRlBMRlZCUTNaRExGTkJRVmNzU1VGQlRVRXNSVUZCVHl4VFFVRlpRU3hGUVVGUExGVkJRek5ETEV0QlFVMUJMRVZCUVU4c1NVRkJRU3hEUVVOa0xFTkJRMHdzUlVGRFFTeERRVU5GTEZWQlFWY3NTMEZCU3l4VlFVTm9RaXhaUVVGaExGbEJRVmtzU1VGQlNTeEZRVUZKTEV0QlFVc3NVMEZEZUVNc1EwRkJRU3hEUVVWS0xFVkJSMHNzVFVGQlRXdEpMRVZCUVdFc1EwRlJlRUlzV1VGQldURTNRaXhGUVVGaExFTkJVSHBDY1dVc1JVRkJRU3haUVVOQlFTeEZRVUZCTEdsQ1FVRlpMRWxCUlZwcFNDeEZRVUZCTEV0QlFVRTJWaXhIUVVGQkxGRkJRMEUzVml4RlFVRkJMRXRCUVVGeFZ5eEhRVUVyUWl4RFFVRkJMRWRCUXk5Q2NsY3NSVUZCUVN4TFFVRkJjMWNzUjBGQlFTeFJRVWRGTEV0QlFVc3NTVUZCVFRVM1FpeERRVU5pTEVOQlJVRXNTVUZCU1N4WlFVRmhMRU5CUTJZc1QwRkJUeXhMUVVGTExFOUJRVThzVFVGRGNrSXNRMEZGUVN4SlFVRkpMRmRCUVZrc1QwRkRaQ3hQUVVGUGIwWXNSVUZCVlN4WlFVRkJZaXhGUVVGQmIybENMRVZCUVVFc1MwRkJTMmxXTEUxQlFVd3NXVUZCUVhJelFpeEZRVUYzUWl4WlFVRmhMRU5CUVVNc1EwRkRla1FzUTBGRlFTeEpRVUZKTEZsQlFXRXNUMEZEWml4UFFVRlBZU3hGUVVGVkxGbEJRVUZpTEVWQlFVRnZhVUlzUlVGQlFTeExRVUZMYVZZc1RVRkJUQ3haUVVGQmNqTkNMRVZCUVhkQ0xHTkJRV1VzUTBGQlF5eERRVU16UkN4RFFVVkJMRWxCUVVrc1VVRkJVeXhEUVVOWUxFOUJRVTl2YVVJc1JVRkJRU3hMUVVGTFoxWXNSMEZEWkN4RFFVVkJMRWxCUVVrc1VVRkJVeXhEUVVOWUxFOUJRVTlvVml4RlFVRkJMRXRCUVV0M1ZTeEhRVU5rTEVOQlJVRXNUVUZCVFN4UFFVRlJMRU5CUTFvc1QwRkJTU3hMUVVGTExGVkJRMEVzVVVGQlVTeFZRVWRXTEVsQlFVa3NVVUZCZFVKeVdpeEhRVUZaTEVOQlEzaERMRWxCUVVGcldpeEhRVUZaTEV0QlFVc3NTVUZCU3l4RFFVTjRRaXhUUVVGWGVsVXNSMEZCSzBJc1EwRkRlRU5ETEVWQlFVRXNTMEZCU3pKVkxFZEJRVlUxVlN4RlFVTnFRaXhGUVVOQkxGTkJRVlVzUTBGQlEzTldMRVZCUVZGRExFbEJRVlVzUTBGRE0wSjBWaXhGUVVGQkxFdEJRVXR0Vml4SFFVRlZSU3hIUVVObWNsWXNSVUZCUVN4TFFVRkxiMVlzUjBGQmIwSkZMRWRCUlhwQ0xFdEJRVXNzVlVGQldTeEhRVVZxUW1oaExFVkJRVkVzU1VGQlNTeERRVU5rTEVOQlFVRXNRMEZEUkN4RFFVRkJMRU5CUTBZc1EwRkRTQ3hEUVVOR0xFTkJha1JGY1Zvc1IwRkJRU3haUVVOQlVTeEhRVUZCTEZsQlEwRkRMRWRCUVVFc1dVTnFSMk1zVTBGQlFVY3NSMEZCYTBKRExFVkJRVzFEYWpSQ0xFVkJRWEZDUXl4RlFVRnpRaXhEUVVNNVJ5eEhRVUZKTEVOQlFVTjRReXhGUVVGQlFTeFJRVUZSZHpaQ0xFTkJRVTBzUjBGQlMzWTBRaXhGUVVGQkxGRkJRVkYxTkVJc1EwRkJUU3hGUVVNM1FpeE5RVUZCTEVOQlEwd3NUVUZCVHl4RlFVTlFMRTlCUVZFc1EwRkJRU3hGUVVsYUxFbEJRVWxETEVWQlFXZENMRVZCUldKRUxFVkJRVUVzVVVGQlUwVXNSMEZCY1VNc1EwRkRMME5CTEVWQlFWRXNUMEZCVTBRc1NVRkRia0pCTEVWQlFXZENReXhGUVVGUkxFOUJRekZDTEVOQlEwUXNSVUZGUkN4TFFVRk5MRU5CUVVONk5VSXNSVUZCVFVRc1EwRkJUeXhGUVVGSkxFTkJRVU4zTlVJc1JVRkJUeXhQUVVGUlF5eERRVUZoTEVWQlJUbERMRTFCUVVFc1EwRkRUQ3hOUVVGUGJEUkNMRVZCUVdOMlFpeEZRVU55UWl4UFFVRlJkMElzUlVGQlpYWkNMRU5CUVVFc1EwRkZNMElzUTBORlFTeE5RVUZOTURWQ0xFVkJRV0VzUTBFNFFtcENMR0ZCUVdNc1EwRnpjRUprTjFjc1JVRkJRU3hMUVVGQk9GY3NTVUZ1Y2tKQkwyUXNSVUZCUVN4cFFrRkRRVUVzUlVGQlFTeHhRa0ZGUVdsSUxFVkJRVUVzUzBGQlFTdFhMRWRCUVdNc1IwRkRaQzlYTEVWQlFVRXNTMEZCUVdkWUxFVkJRV2RDTEVkQlJXaENhRmdzUlVGQlFTeExRVUZCVXl4RlFVRmhMRWRCUTJKVUxFVkJRVUVzUzBGQlFWVXNSVUZCWXl4SFFVTmtWaXhGUVVGQkxFdEJRVUZwV0N4SFFVRnJRaXhIUVVOc1FtcFlMRVZCUVVFc1MwRkJRV3RZTEVkQlFXMUNMRWRCUlc1Q2JGZ3NSVUZCUVN4TFFVRkJiVmdzVFVGQmJVSXNTME
1ZEYmtKdVdDeEZRVUZCTEV0QlFVRnZXQ3hIUVVGelF5eERRVUZCTEVkQlEzUkRjRmdzUlVGQlFTeExRVUZCY1Znc1IwRkJNRU1zUTBGQlFTeEhRVVV4UTNKWUxFVkJRVUVzUzBGQlFYTllMRWRCUVdsQ0xFbEJRMnBDZEZnc1JVRkJRU3hMUVVGQmRWZ3NSMEZCZFVJc1NVRkRka0oyV0N4RlFVRkJMRXRCUVVGM1dDeEhRVUZ0UWl4SFFVVnVRbmhZTEVWQlFVRXNTMEZCUVhsWUxFZEJRVmtzUjBGRFducFlMRVZCUVVFc1MwRkJRVEJZTEVWQlFWRXNSMEZEVWpGWUxFVkJRVUVzUzBGQlFUSllMRWRCUVZNc1IwRkRWRE5ZTEVWQlFVRXNTMEZCUVRSWUxFVkJRVmtzUjBGRFdqVllMRVZCUVVFc1MwRkJRVFpZTEVkQlFXTXNSMEZGWkRkWUxFVkJRVUVzUzBGQlFUaFlMRWRCUVcxRExFMUJSVE5DTDJVc1JVRkJRU3hsUVVkRUxFdEJRVUVzVDBGQlV5eEpRVUZKZFVjc1JVRkRjRUlzUTBGRlFTeEpRVUZKTEdGQlFXTXNRMEZEYUVJc1QwRkJUeXhMUVVGTExGTkJRVk1zVjBGRGRrSXNRMEZGUVN4SlFVRkpMR05CUVdVc1EwRkRha0lzVDBGQlR5eExRVUZMTEZOQlFWTXNXVUZEZGtJc1EwRkZRU3hKUVVGSkxHRkJRV01zUTBGRFZDeFBRVUZCTEV0QlFVc3NVMEZCVXl4UlFVRlJMRXRCUVVzc1JVRkJSU3hQUVVGUmNsTXNSMEZCVFN4RFFVRkRMRU5CUVVOQkxFTkJRVU1zUTBGRGRrUXNRMEZGUVN4SlFVRkpMR2xDUVVGclFpeERRVU5pTEU5QlFVRXNTMEZCU3l4TFFVRkxiMVVzUlVGQlFTeExRVUZMYlZjc1NVRkJiVUlzUzBGQlN5eFBRVUZQTEdGQlFXRXNTMEZCU3l4elFrRkJjMElzUTBGQlF5eERRVU5vUnl4RFFVVkJMRWxCUVVrc2JVSkJRVzlDTEVOQlEyWXNUMEZCUVRka0xFZEJRVzlDTEV0QlFVc3NZVUZCWXl4RlFVRkZMRU5CUTJ4RUxFTkJSVUVzU1VGQlNTeFJRVUZUTEU5QlExZ3NVVUZCVHpGaExFVkJRVUVzUzBGQlN5eFRRVUZUTEdsQ1FVRmtMRmxCUVVGQkxFVkJRVGhDTEZOQlFWVXNRMEZCUVN4RFFVTnFSQ3hEUVVWQkxFbEJRVWtzZDBKQlFYbENMRU5CUXpOQ0xFOUJRVThzUzBGQlN5eFBRVUZQTEU5QlFVOHNRMEZCUXpCRUxFVkJRVkZ2TVVJc1NVRkJWMEVzUlVGQlRTeFBRVUZUUVN4RlFVRk5MRTFCUVUwc1QwRkJVM0F4UWl4RlFVRlBMRTlCUVZOdk1VSXNSVUZCVFN4TlFVRlJjREZDTEVWQlFWTXNSVUZCUlN4RFFVTTNTQ3hEUVVWQkxFbEJRVWtzYTBKQlFXMUNMRTlCUTJRc1VVRkJRVEZFTEVWQlFVRXNTMEZCU3l4VFFVRlRMR2xDUVVGa0xGbEJRVUZCTEVWQlFUaENMRk5CUVZVc1ZVRkRha1FzUTBGRlFTeEpRVUZKTEc5Q1FVRnhRaXhQUVVOb1FpeFJRVUZCUVN4RlFVRkJMRXRCUVVzc1UwRkJVeXhwUWtGQlpDeFpRVUZCUVN4RlFVRTRRaXhUUVVGVkxGbEJRMnBFTEVOQlJVRXNXVUZCV1RsRkxFVkJRVmNzUTBGRFppeExRVUZCTEVOQlFVVXNUMEZCUVc5c1FpeERRVUZYTEVWQlFVRndiRUlzUlVGRlppeEhRVUZCTEVOQlEwVnZiRUlzUjBGQlZTeERRVUZETEV0QlFVc3NUMEZCVHl4UlFVTndRaXhMUVVGQkxFOUJRVThzVlVGQlZVRXNRMEZCVFN4RlFVZDZRblZYTEVkQlFVRXNTMEZCUVdkQ0xFZEJRVUZyUWl4SlFVRkJMRlZCUVZOcVdpeEZRVUZoTEdkQ1FVTndRbmhDTEVWQlFVOHNRMEZEWkdsRkxGTkJRVThzVFVGQlRXcEZMRU5CUVVzc1JVRkZiRUoxV1N4SFFVRkJMRXRCUVV0blFpeEhRVUZCYTBJc1NVRkJUQ3hWUVVGamFsb3NSVUZCWVN4VFFVRlZMRU5CUVVVc1RVRkJRWGhDTEVOQlFVOHNSVUZEYUVRc1EwRkRSaXhEUVVWQkxFMUJRVTBzVDBGQlQzQnFRaXhGUVVGWExFOUJRMnhDTEVkQlFVRXNRMEZKUlN4SFFVaERMRXRCUVVFc1lVRkJaU3hMUVVGTExGVkJRVmtzUTBGQlFTeEZRVU55UXl4TFFVRkxMRk5CUVZjNFJpeFpRVUZWTEV0QlFVc3NWVUZCV1N4RFFVRkJMRVZCUVVrNVJpeERRVUZKTEVWQlJTOURMRU5CUVVNclFpeEZRVUZCUVN4UlFVRlJMRXRCUVVzc1UwRkJVeXhQUVVGUExFZEJRVXRwUXl4RlFVRkJRU3hSUVVGUkxFdEJRVXNzVTBGQlV5eFBRVUZQTEVWQlFVY3NRMEZEYUVVeU0wSXNSMEZCUVN4TFFVRkJaMElzUjBGQlFXdENMRWxCUVVFc1ZVRkJVMnBhTEVWQlFXRXNVVUZGTTBJc1RVRkRSaXhEUVVWTkxFMUJRVUZwUkN4RlFVRlJMRmxCUVZrc1RVRkZja0lzUzBGQlFTeFpRVUZaTEZGQlFWTTNhRUlzUjBGQlZ5eERRVU01UWtFc1NVRkpRV3RvUWl4RlFVRkJMRXRCUVVzNFZpeEhRVUZoTEVsQlFVbG9NMElzUlVGQlR5eEpRVUZKTEVkQlF5OUNhMmhDTEVWQlFVRXNTMEZCUVRoV0xFZEJRV0VzU1VGQlNXZ3pRaXhGUVVGUExFdEJRVTBzU1VGQlNXa3lRaXhIUVVGaGFqSkNMRVZCUVU4c1NVRkJTU3hEUVVGRExFVkJSemRFYTJoQ0xFVkJRVUVzUzBGQlN6aFdMRWRCUVdFc1NVRkJTV2d6UWl4RlFVRlBMRXRCUVVzc1IwRkRhRU5yYUVJc1JVRkJRU3hMUVVGQk9GWXNSMEZCWVN4SlFVRkphRE5DTEVWQlFVOHNUVUZCVHl4SlFVRkphVEpDTEVkQlFXRnFNa0lzUlVGQlR5eExRVUZMTEVOQlFVTXNSVUZEY0VVc1EwRkRSQ3hGUVVWSksyZENMRVZCUVVFc1MwRkJRVzlYTEVkQlFXbENMRXRCUVVzc1UwRkJVeXhSUVVGUkxGTkJRVmNzUjBGQlN5eERRVUZEYmpWQ0xFVkJRVkVzVVVGQlFTeExRVUZMTEUxQlFVMHNSMEZCU3l4TFFVRkxMR3RDUVVNeFJpdHBRaXhGUVVGQkxFdEJRVXR4Vnl4SFFVRjFRaXhEUVVGRGNEVkNMRVZCUVVFc1VVRkJVU3hMUVVGTExFMUJRVTBzUjBGQlN5eExRVUZMTEc5Q1FVTXhSQ3RwUWl4RlFVRkJMRXRCUVV0elZ5eEhRVUZ0UWpka0xFZEJRVzlDTEV0QlFVc3NXVUZCWVN4RFFVRkRMRWRCUlM5RUxFdEJRVTBzUTBGQlJTeExRVUZCYzJVc1JVRkJUU3hQUVVGQlF5eERRVUZQTEVWQlFVa3NTMEZCU3l4VlFVRlZMRVZCUTNoRGFGZ3NSVUZCUVN4TFFVRkxObFlzUjBGQlkydENMRWRCUTI1Q0wxY3NSVUZCUVN4TFFVRkxPRllzUlVGQlowSnJRaXhIUVVWb1FtaFlMRVZCUVVFc1MwRkJRU3RXTEVkQlFXdENMRXRCUVVzc1dVRkJZelZXTEVWQlFVRXNTMEZCU3pCV0xFdEJRekZETjFZc1JVRkJRU3hMUVVGQloxY3NSMEZCYlVJc1MwRkJTeXhoUVVGbE4xWXNSVUZCUVN4TFFVRkxNbFlzU1VGRmFrUXNTMEZCVFN4RFFVRkZMRlZCUVVGd1ZpeEZRVUZYTEZkQlFVRkRMRU5CUVZjc1JVRkJTU3hMUVVGTExGbEJRVmtzUlVGVkwwTXNSMEZTU2xnc1JVRkJRU3hMUVVGTFZDeEZRVUZoYlVJc1IwRkRiRUpXTEVWQlFVRXNTMEZCUzFJc1JVRkJZMjFDTEVkQlJXNUNXQ3hGUVVGQkxFdEJRVXN3Vnl4RlFVRlpMRXRCUVVzc1RVRkJUWFpYTEVWQlFVRXNTMEZCU3pSV0xFbEJRV3RDTlZZc1JVRkJRU3hMUVVGTFdpeEZRVUZWTEVkQlF6ZEVVeXhGUVVGQkxFdEJRVUY1Vnl4SFFVRlRMRXRCUVVzc1dVRkRia0o2Vnl4RlFVRkJMRXRCUVV0MVZ5eEhRVUZaY0Zjc1JVRkJRU3hMUVVGTG
1NWY3NTVUZEYWtKNFZ5eEZRVUZCTEV0QlFVRjNWeXhGUVVGUkxFdEJRVXNzVTBGQlV5eE5RVVYyUWl4TFFVRkxMRk5CUVZNc1pVRkhXaXhMUVVGTExGTkJRVk1zVTBGQlZ5eExRVUZMTEZOQlFWTXNVVUZCVVN4UFFVRlRMRVZCUVVjc1EwRkROMFFzVFVGQlRYWXpRaXhGUVVGVExFdEJRVXNzVTBGQlV5eFJRVUZSTEVOQlFVTXNSVUZGZEVNc1VVRkJVemRGTEVWQlFVa3NSVUZCUjBFc1JVRkJTU3RzUWl4RlFVRkJMRXRCUVV0elZ5eEpRVUZSTEVWQlFVVnlPRUlzUlVGQlJ5eERRVU01UWpCdFFpeE5RVUZCUVN4RlFVRlJNVzFDTEVWQlFVa3JiRUlzUlVGQlFTeExRVUZMZFZjc1IwRkhia0lzUjBGR1ZYb3pRaXhGUVVGUExFMUJRVTAzUlN4RlFVRkpLMnhDTEVWQlFVRXNTMEZCUzNWWExFZEJRVmMxVml4RlFVRlJXQ3hGUVVGQkxFdEJRVXQxVnl4RlFVRlRMRVZCUlRORUxFOUJRVkV6Y1VJc1IwRkJUU3hEUVVGRExFTkJRVU5CTEVOQlFVTXNSVUZCUlN4UFFVRlRMRVZCUVVjc1EwRkRka05wVlN4RlFVRkJMRXRCUVV0M1Z5eEZRVUZSY0RoQ0xFVkJRVWtzUjBGRmFrSXNTMEZEUml4RFFVTkdMRU5CUTBZc1EwRkhSU3RzUWl4RlFVRkJMRXRCUVV0eFZ5eEhRVUZSY2xjc1JVRkJRU3hMUVVGTGMxY3NTMEZEY0VKNlZ5eEZRVUZCTEV0QlFVdDNWeXhGUVVGUmNsY3NSVUZCUVN4TFFVRkxjMWNzUzBGSGNFSjZWeXhGUVVGQkxFdEJRVXN5Vnl4SlFVRmxlRmNzUlVGQlFTeExRVUZMY1Zjc1IwRkJVU3hIUVVGTGNsY3NSVUZCUVN4TFFVRkxkVmNzU1VGRmRrTjJWeXhGUVVGQkxFdEJRVXR6Vnl4SlFVRlRMRWRCUVV0MFZ5eEZRVUZCTEV0QlFVdGFMRWRCUVdGWkxFVkJRVUVzUzBGQlMzVlhMRWRCUVZsMlZ5eEZRVUZCTEV0QlFVczBWaXhMUVVONFJDOVdMRVZCUVVFc1MwRkJRVlFzUlVGQllWa3NSVUZCUVN4TFFVRkxORllzU1VGQmEwSTFWaXhGUVVGQkxFdEJRVXQxVnl4SlFVY3pRekZYTEVWQlFVRXNTMEZCUVRSWExFZEJRV2xDTEV0QlFVc3NiMEpCUlROQ05WY3NSVUZCUVN4TFFVRkxiVmNzUjBGQlkyaFhMRVZCUVVFc1MwRkJTeXRXTEV0QlEyNUNiRmNzUlVGQlFTeExRVUZCYTFjc1IwRkJWU3hMUVVGTExGTkJRVk1zVVVGQlVTeEpRVUZKTEVOQlFVTnFOa0lzUlVGQlRUZENMRVZCUVVkdk4wSXNTVUZEYWtSMk5VSXNSVUZCU3l4TlFVRk5hMnRDTEVWQlFVRXNTMEZCUzNkWExFbEJRV0Y0Vnl4RlFVRkJMRXRCUVV0M1Z5eEpRVUZqZUZjc1JVRkJRU3hMUVVGTGRWY3NSVUZCVXl4RlFVRkZMRWxCUVVrc1EwRkJRM296UWl4RlFVRlJORUlzUlVGQlJ6bEZMRWxCUVZFc1EwRkRkRVlzUjBGQlNTeERRVUZEYTBRc1JVRkRTU3hQUVVGQkxFdEJSMVFzVFVGQlRUZ3pRaXhGUVVGUE5WY3NSVUZCUVN4TFFVRkxPRllzUjBGQllTeEpRVUZKYUROQ0xFVkJRVThzU1VGQlNTeEZRVU40UXpablFpeEZRVUZSU3l4RlFVRkJMRXRCUVVzNFZpeEhRVUZoTEVsQlFVbG9NMElzUlVGQlR5eExRVUZMTEVWQlJUVkRMRWRCUVVFc1EwRkJRemd6UWl4SFFVRlJMRU5CUVVOcVdDeEZRVU5NTEU5QlFVRXNTMEZIVkN4TlFVRk5iVmdzUlVGQlZ5eERRVU5tTEU5QlFWRXNTMEZCU3l4UFFVRlBMRTlCUTNCQ0xGbEJRV0VzUzBGQlN5eFpRVU5zUWl4WlFVRmhMRVZCUVZFc1MwRkJTeXhUUVVGVExGbEJRMjVETEZkQlFWbG9ORUlzUlVGQlR5eFhRVU51UWl4TlFVRlBMRXRCUVVzc1UwRkJVeXhMUVVGQkxFVkJSMnBDTEVOQlFVVXNSVUZCUVc5RkxFVkJRVWNzUlVGQlFXdGlMRVZCUVVjc1RVRkJRV3hvUWl4RlFVRlBMRTlCUVVGRExFTkJRVThzUlVGQlNTeExRVUZMTEdOQlFXTnNSQ3hGUVVGSGVVY3NSVUZCUnpJd1FpeEZRVUZQTEU5QlFWRjZOVUlzUlVGQlNTeE5RVUZOTEVWQlJUTkZMRTFCUVVFc1EwRkRUQ3hMUVVGTkxFbEJRVWsyYVVJc1IwRkJZU3hEUVVGRkxFZEJRVWR4V1N4RlFVRlZMRWxCUVV0b05FSXNSVUZCVHl4TFFVRk5MRTFCUVU4c1IwRkJUeXhQUVVGUk9ETkNMRVZCUVVzc1QwRkJVU3hGUVVNelJpeE5RVUZQTEVsQlFVbHVXU3hIUVVGaExFTkJRVVVzUjBGQlIzRlpMRVZCUVZVc1NVRkJTMmcwUWl4RlFVRlBMRTFCUVU4c1RVRkJUeXhIUVVGTkxFOUJRVkUyWjBJc1JVRkJUU3hQUVVGUkxFVkJRemRHTEUxQlFVODNaMElzUlVGQlR5eE5RVU5rTEVWQlFVRnZSU3hGUVVOQkxFVkJRVUZyWWl4RlFVTkJMRTFCUVVGc2FFSXNSVUZEUVN4UFFVRkJReXhEUVVGQkxFTkJRMFlzUTBGRFJDeERRVUZCTEVkQlIwZ3NTMEZCU3l4alFVRmpMRWRCUjJwQ0xFdEJRVXNzVlVGQlZTeExRVUZMTEdGQlFXRXNZMEZCWXl4SlFVRk5MRXRCUVVzc1ZVRkJWU3hMUVVGTExGTkJRVk1zWTBGQll5eEhRVU5vUnl4TFFVRkxMRlZCUVZVc1MwRkJTeXhoUVVGaExFbEJRVWtzU1VGQlRTeExRVUZMTEZWQlFWVXNTMEZCU3l4VFFVRlRMRWxCUVVrc1IwRkROVVVzUzBGQlN5eFRRVUZUTEU5QlFWTTJhVUlzUlVGQlFTeExRVUZMY1Zjc1MwRkZOVUlzUzBGQlN5eFpRVUZaTEVWQlNXWnlWeXhGUVVGQkxFdEJRVXR4Vnl4TFFVRlZjbGNzUlVGQlFTeExRVUZMYjFjc1MwRkRha0lzUzBGQlFTeFBRVUZQTEV0QlFVc3NSVUZCUnl4RlFVRkhMRXRCUVVzc1dVRkJZeXhGUVVGSExFdEJRVXNzV1VGQldTeEZRVWRvUlN4TlFVRk5WeXhGUVVGbExFTkJRVU1zUjBGQlJ5OVhMRVZCUVVFc1MwRkJTemhXTEVkQlFXRXNUMEZCVVN4RFFVRkJMRVZCUlRkRGEwSXNSVUZCVlVRc1JVRkJZU3hQUVVGUlJTeEhRVUZaTEVOQlFVTkJMRVZCUVZFc1UwRkJVeXhGUVVVM1JDeE5RVUZCTEZGQlFWRXNTVUZCU1VRc1JVRkJVU3hKUVVGTFF5eEhRVUZaUVN4RlFVRlJMRTFCUVU4c1EwRkJRU3hEUVVGRExFVkJSek5FYWxnc1JVRkJRU3hMUVVGTEsxWXNTVUZCVVN4UlFVRlJMRU5CUVVOcU5rSXNSVUZCVFRkQ0xFbEJRekZDTmtJc1JVRkJTeXhSUVVGUkxFTkJRVU5uUkN4RlFVRlJORUlzU1VGQlRTeGhRVU14UWl4SFFVRkpMRU5CUVVNMVFpeEZRVU5JTEU5QlIwWXNUVUZCVFRnelFpeEZRVUZQTlZjc1JVRkJRU3hMUVVGTE9GWXNSMEZCWVN4SlFVRkphRE5DTEVWQlFVOHNTMEZCU3l4SFFVRkhMRVZCUXpWRE5tZENMRVZCUVZGTExFVkJRVUVzUzBGQlN6aFdMRWRCUVdFc1NVRkJTV2d6UWl4RlFVRlBMRTFCUVUwc1IwRkJSeXhGUVVWb1JDeEhRVUZCTEVOQlFVTTRNMElzUjBGQlVTeERRVUZEYWxnc1JVRkRXaXhQUVVkR0xFMUJRVTExV0N4RlFVRlBiRmdzUlVGQlFTeExRVUZMSzFZc1NVRkJVVGszUWl4RFFVRkRMRVZCUVVWNVJ5eERRVUZETEVkQlJYcENPVU1zUlVGQlFYTTFRaXhIUVVGQkxGbEJRVUZCTEVWQlFVMHNUMEZCVGl4TlFVRkJkRFZDTEVWQlFWa3NaVUZEVkhkbUxFVkJRVUU0V2l4SFFVRkJMRmxCUVVGQkxFVkJRVUVzVDBGQlFTeE5RVUZCT1Zvc1JVRkJUU3hWUVVGVmQxb3NSVUZCU3l4VFFVZDRRblphTEVWQlFVRTJXaXhIUVVGQkxGbEJRVUZCTEVWQlFVMHNVVUZCVGl4TlFVRkJOMW9zUlVGQllTeGxRVU5XUlN4RlFVRkJNbG9zUjBGQlFTeFpRVUZCUVN4RlFVRkJMRkZCUVVFc1RVRkJRVE5hTEVWQlFVOHNWVUZCVlc5RExFVkJRVTBzVDBGREwwSXNRMEZEUkN4RFFVRkJMRVZCUjBOeFdDeEZRVUZSTEU5QlFWTXNTVUZEV2pkWExFVkJRVUZCTEU5QlFVRXNUVUZEVERaWExFVkJRVkVzU1VGQlMwTXNTVUZCWVN4RFFVTjRRaXhKUVVGTFFTeEZRVUZSTEVsQlEySXNWVUZCVjBFc1JVRkJVU3hWUVVOdVFpeFhRVUZaUVN4RlFVRlJMRlZCUVVFc1JVRkRjRUlzUTBGQlFTeEZRVWRLT1Zjc1UwRkJUeXhMUVVGTE
1xGVkJRVmN4YUVJc1JVRkJRU3hWUVVGVkxGbEJRVmtzU1VGQlNTeEZRVUZKYTJsQ0xFTkJRVXNzUTBGQlF5eEhRVWQ0UkRoVUxFZEJRVUVzUzBGQlFXZENMRWRCUVVGclFpeEpRVUZCTEZWQlFWTnFXaXhGUVVGaExFOUJRVkVzUTBGRGFrTXNZVUZCV1RsbUxFVkJRVUZ0TlVJc1IwRkJRU3haUVVGQlFTeEZRVUZsTEV0QlFXWXNXVUZCUVc0MVFpeEZRVUZ0UWl4aFFVRmpMRVZCUXpkRExFdEJRVTF2YVVJc1JVRkJRU3hMUVVGTGNWY3NSMEZEV0N4TlFVRlBjbGNzUlVGQlFTeExRVUZMYzFjc1NVRkRXaXhUUVVGVmRGY3NSVUZCUVN4TFFVRkxkVmNzUlVGQlFTeFRRVVZXY21Fc1JVRkJUeXhEUVVOa2FVVXNVMEZCVHl4TlFVRk5ha1VzUTBGQlN5eEZRVVZzUW5WWkxFZEJRVUVzUzBGQlMyZENMRWRCUVVGclFpeEpRVUZNTEZWQlFXTnFXaXhGUVVGaExFOUJRVkVzUTBGQlJTeE5RVUZCZUVJc1EwRkJUeXhGUVVNNVF5eERRVU5HTEVOQlJVRXNUVUZCVFN4UFFVRlBjR3BDTEVWQlFWY3NRMEZEYUVJc1MwRkJRU3hEUVVGRkxFMUJRVUZuYmtJc1JVRkJUeXhaUVVGQlRpeERRVUZuUWl4RlFVRkJNVzFDTEVWQlJUTkNMRWRCUVVFc1EwRkZSaXhMUVVGTExGTkJRVk1zV1VGQll6QnRRaXhGUVVWMlFsRXNSVUZCUVN4TFFVRkJLMVlzU1VGQlVTeFJRVUZUYjBJc1IwRkJVU3hEUVVONFFrRXNSVUZCUVN4UlFVRlRSQ3hIUVVGVExFTkJRM0JDTEVkQlFVa3NSVUZCUTBFc1IwRkJRU3hOUVVGQlFTeEZRVUZOTEU5QlFWRXNSVUZCUTBFc1IwRkJRU3hOUVVGQlFTeEZRVUZOTEU5QlEzaENMRTlCUjBZc1RVRkJUVTRzUlVGQlR6VlhMRVZCUVVFc1MwRkJTemhXTEVkQlFXRXNTVUZCU1c5Q0xFVkJRVXNzUzBGQlN5eEhRVUZITEVWQlF6RkRkbGdzUlVGQlVVc3NSVUZCUVN4TFFVRkxPRllzUjBGQllTeEpRVUZKYjBJc1JVRkJTeXhOUVVGTkxFZEJRVWNzUlVGRk9VTXNSMEZCUVN4RFFVRkRUaXhIUVVGUkxFTkJRVU5xV0N4RlFVTmFMRTlCUjBZc1RVRkJUVU1zUlVGQlV5eERRVU5pTEUxQlFVOXpXQ3hGUVVGTExFVkJRMW9zVFVGQlQwRXNSVUZCU3l4RlFVTmFMRlZCUVZkQkxFVkJRVXNzVFVGRGFFSXNWMEZCV1VFc1JVRkJTeXhQUVVOcVFpeFpRVUZCTVZnc1JVRkRRU3hyUWtGQmJVSlJMRVZCUVVFc1MwRkJTM2xYTEVkQlFVRXNSVUZKTVVJc1IwRkJTU3hEUVVGRFJ5eEZRVUZMTEU5QlFVOU5MRVZCUVVzc1QwRkJVM0JZTEVOQlFVc3NSMEZCU3l4RFFVRkRTQ3hGUVVGTkxFOUJRVTkxV0N4RlFVRkxMRTlCUVZOd1dDeERRVUZMTEVWQlFVY3NRMEZETTBVc1RVRkJUVFZqTEVWQlFVa3dZeXhGUVVGUExFMUJRVkZCTEVWQlFVOHNWVUZCV1N4RlFVTjBRM2hDTEVWQlFVbDNRaXhGUVVGUExFMUJRVkZCTEVWQlFVOHNWMEZCWVN4RlFVVTNReXhMUVVGTExFOUJRVThzUzBGQlN5eFZRVUZYTVdNc1JVRkJSMnRpTEVOQlFVTXNSVUZEYUVNc1MwRkJTeXhQUVVGUExFdEJRVXNzVlVGQlYyeGlMRVZCUVVrc1MwRkJTeXhaUVVGaGEySXNRMEZCUXl4RlFVVnVSQ3hOUVVOR0xFTkJSVXM0V1N4RlFVRkJMRXRCUVVzc1MwRkJTMDRzUlVGQlN5eFBRVUZQVFN4RlFVRkxMRTlCUVZOd1dDeERRVUZMTEVWQlFVZEdMRU5CUVUwc1JVRkRiRVJ6V0N4RlFVRkJMRTFCUVUwc1MwRkJTM1pZTEVWQlFVMHNUMEZCVDNWWUxFVkJRVXNzVDBGQlUzQllMRU5CUVVzc1JVRkJSMFlzUTBGQlRTeERRVUZCTEVOQlF6RkVMRU5CUVVFc1EwRkRSaXhGUVVWSk9XbENMRVZCUVVFc1VVRkJVU3hMUVVGTExFMUJRVTBzU1VGRGJFSXNTMEZCU3l4clFrRkRVQ3hMUVVGTExFOUJRVThzVFVGQlRXdHFRaXhGUVVGQkxFdEJRVXQzVnl4SlFVRmhlRmNzUlVGQlFTeExRVUZMZDFjc1NVRkJZM2hYTEVWQlFVRXNTMEZCUzNWWExFVkJRVk1zUlVGQlJTeFJRVUZSTEVOQlFVTkh
1MRVZCUVU5Nk9FSXNSVUZCUnpKQ0xFbEJRVkVzUTBGRGFFY3NUVUZCVFdsR0xFVkJRVk1zUzBGQlN5eHZRa0ZCYjBKcVJpeEZRVUZKTEUxQlFVMHNSVUZGTlVOelNDeEZRVUZKT0dNc1JVRkJRU3hMUVVGTFdpeEhRVUZoYm14Q0xFVkJRVWswUnl4RlFVTXhRblZrTEVWQlFVa3NTMEZCU3l4aFFVRmxORUlzUlVGQlFTeExRVUZMTWxZc1IwRlJia01zUjBGS1FTeExRVUZMTEU5QlFVOHNTMEZCUzNwNVFpeEZRVUZIYTJJc1JVRkJSelJDTEVWQlFVRXNTMEZCUzFvc1IwRkJXVmtzUlVGQlFTeExRVUZMTWxZc1JVRkJZU3hGUVVWeVJDeExRVUZCTEU5QlFVOHNTMEZCUzNwNVFpeEZRVUZKTEV0QlFVc3NXVUZCWVd0aUxFVkJRVWMwUWl4RlFVRkJMRXRCUVV0YUxFZEJRVmxaTEVWQlFVRXNTMEZCU3pKV0xFVkJRV0VzUlVGRmVrVXNRMEZCUTJVc1JVRkRTQ3hQUVVkR0xFMUJRVTFWTEVWQlFWVTVaU3hIUVVGdlFqQklMRVZCUVVFc1MwRkJTekpXTEVkQlFXVXNSVUZCUlN4RlFVTndSREJDTEVWQlFWY3ZaU3hIUVVGdlFqQklMRVZCUVVFc1MwRkJTekpXTEVkQlFXVXNSVUZCUlN4RlFVTnlSREpDTEVWQlFXTm9aaXhIUVVGdlFqQklMRVZCUVVFc1MwRkJTekpXTEVkQlFXVXNSVUZCUlN4RlFVVTVSQ3hIUVVGSlpTeEZRVUZOTEU5QlFWTXNhVUpCUVcxQ1FTeEZRVUZOTEU5QlFWTkJMRVZCUVUwc1RVRkJUeXhEUVVOb1JTeEhRVUZKUVN4RlFVRk5MRlZCUVZjc1EwRkRZaXhOUVVGQllTeEZRVUZQY2pCQ0xFVkJRVWs0WXl4RlFVRkJMRXRCUVV0YUxFZEJRV0VzUlVGRE4wSnZXU3hGUVVGUGNGb3NSVUZCU1dkYUxFVkJRVlVzUlVGSGRFSXNTMEZCUVN4UFFVRlBMRXRCUVV0V0xFVkJRVTBzVlVGQlYyRXNSVUZCVFVNc1JVRkJUU3hEUVVGRkxFdEJRVTBzUjBGQlFTeERRVUZMTEVWQlJYUkVMRXRCUVVFc1QwRkJUeXhMUVVGTFpDeEZRVUZOTEZWQlFWZGhMRVZCUVU4c1MwRkJTeXhaUVVGaFF5eEZRVUZOTEVOQlFVVXNTMEZCVFN4SFFVRkxMRU5CUVVFc1EwRkRhRVlzUTBGalFTeEhRVlpCTEV0QlFVc3NUMEZCVHl4VlFVRlZkREJDTEVWQlFVZHJZaXhGUVVGSloxb3NSVUZCVTNCWUxFVkJRVUVzUzBGQlMxb3NSMEZCV1d0WkxFVkJRV0VzUTBGRGJFVXNZVUZCWXl4RFFVRkRkRm9zUlVGQmNVSkJMRVZCUVhGQ0xFVkJRVWNzUTBGQlF5eEZRVU0zUkN4TlFVRlBNRmtzUlVGQlRTeExRVUZCTEVOQlEyUXNSVUZGU1N4TFFVRkJMRTlCUVU4c1ZVRkJWWGg2UWl4RlFVRkpMRXRCUVVzc1dVRkJZV3RpTEVWQlFVbG5XaXhGUVVGVGNGZ3NSVUZCUVN4TFFVRkxXaXhIUVVGWmExa3NSVUZCWVN4RFFVTnlSaXhoUVVGakxFTkJRVU4wV2l4RlFVRnhRa0VzUlVGQmNVSXNSVUZCUnl4RFFVRkRMRVZCUXpkRUxFMUJRVTh3V1N4RlFVRk5MRXRCUVVFc1EwRkRaQ3hGUVVWSFFTeEZRVUZOTEUxQlFVOHNRMEZEVkN4TlFVRkJaU3hGUVVGVGRqQkNMRVZCUVVrNFl5eEZRVUZCTEV0QlFVdGFMRWRCUVdFc1JVRkRMMEp6V1N4RlFVRlRkRm9zUlVGQlNXZGFMRVZCUVZWRExFVkJRVmNzUlVGSmJrTXNTMEZCUVN4UFFVRlBMRXRCUVV0WUxFVkJRVTBzVFVGQlQyVXNSVUZCVVVNc1JVRkJVU3hEUVVGRkxFMUJRVTg1V2l4RlFVRkJMRU5CUVdFc1JVRkZMMFFzUzBGQlFTeFBRVUZQTEV0QlFVczRXU3hGUVVGTkxFMUJRVTlsTEVWQlFWTXNTMEZCU3l4WlFVRmhReXhGUVVGUkxFTkJRVVVzVFVGQlR6bGFMRVZCUVdFc1EwRkJRU3hEUVVONlJpeERRVU5HTEVOQlJVRXNSMEZCU1RoWkxFVkJRVTBzVDBGQlV5eGhRVUZsUVN4RlFVRk5MRTlCUVZOQkxFVkJRVTBzVFVGQlR5eERRVU0xUkN4SFFVRkpRU3hGUVVGTkxGVkJRVmNzUTBGRFlpeE5RVUZCWVN4RlFVRlBjakJDTEVWQlFVazRZeXhGUVVGQkxFdEJRVXRhTEVkQlFXRXNSVUZETjBKdldTeEZRVUZQY0Zvc1JVRkJTV2RhTEVWQlFWVXNSVUZIZEVJc1MwRkJRU3hQUVVGUExFdEJRVXRXTEVWQlFVMHNWVUZCVjJFc1JVRkJUVU1zUlVGQlRTeERRVUZGTEV0QlFVMHNSMEZCUVN4RFFVRkxMRVZCUlhSRUxFdEJRVUVzVDBGQlR5eExRVUZMWkN4RlFVRk5MRlZCUVZkaExFVkJRVThzUzBGQlN5eFpRVUZoUXl4RlFVRk5MRU5CUVVVc1MwRkJUU3hIUVVGTExFTkJRVUVzUTBGRGFFWXNRMEZqUVN4SFFWWkJMRXRCUVVzc1QwRkJUeXhWUVVGVmREQkNMRVZCUVVkcllpeEZRVUZKWjFvc1JVRkJVM0JZTEVWQlFVRXNTMEZCUzFvc1IwRkJXV2xaTEVWQlFWVXNRMEZETDBRc1lVRkJZeXhEUVVGRGNsb3NSVUZCY1VKQkxFVkJRWEZDTEVWQlFVY3NRMEZCUXl4RlFVTTNSQ3hOUVVGUE1Ga3NSVUZCVFN4TFFVRkJMRU5CUTJRc1JVRkZTU3hMUVVGQkxFOUJRVThzVlVGQlZYaDZRaXhGUVVGSkxFdEJRVXNzV1VGQllXdGlMRVZCUVVsbldpeEZRVUZUY0Znc1JVRkJRU3hMUVVGTFdpeEhRVUZaYVZrc1JVRkJWU3hEUVVOc1JpeGhRVUZqTEVOQlFVTnlXaXhGUVVGeFFrRXNSVUZCY1VJc1JVRkJSeXhEUVVGRExFVkJRemRFTEUxQlFVOHdXU3hGUVVGTkxFdEJRVUVzUTBGRFpDeEZRVVZIUVN4RlFVRk5MRTFCUVU4c1EwRkRWQ3hOUVVGQlpTeEZRVUZUZGpCQ0xFVkJRVWs0WXl4RlFVRkJMRXRCUVV0YUxFZEJRV0VzUlVGREwwSnpXU3hGUVVGVGRGb3NSVUZCU1dkYUxFVkJRVlZETEVWQlFWY3NSVUZIYmtNc1MwRkJRU3hQUVVGUExFdEJRVXRZTEVWQlFVMHNUVUZCVDJVc1JVRkJVVU1zUlVGQlVTeERRVUZGTEUxQlFVODVXaXhGUVVGQkxFTkJRV0VzUlVGRkwwUXNTMEZCUVN4UFFVRlBMRXRCUVVzNFdTeEZRVUZOTEUxQlFVOWxMRVZCUVZNc1MwRkJTeXhaUVVGaFF5eEZRVUZSTEVOQlFVVXNUVUZCVHpsYUxFVkJRV0VzUTBGQlFTeERRVU42Uml4RFFVTkdMRU5CUlVFc1IwRkJTVGhaTEVWQlFVMHNUMEZCVXl4aFFVRmxMRU5CUVVOQkxFVkJRVTBzVFVGQlR5eERRVU40UXl4TlFVRkJZU3hGUVVGUGNqQkNMRVZCUVVrNFl5eEZRVUZCTEV0QlFVdGFMRWRCUVdFc1JVRkROMEp2V1N4RlFVRlBMRXRCUVVzc1lVRkJaWGhZTEVWQlFVRXNTMEZCU3pKV0xFZEJRV2RDZVVJc1JVRkZiRVJXTEVWQlFVMHNXVUZGVWl4TFFVRkxMRTlCUVU4c1MwRkJTMEVzUlVGQlRTeFZRVUZYZUhwQ0xFVkJRVWs0WXl4RlFVRkJMRXRCUVV0YUxFZEJRV0VzUlVGQlIyaENMRVZCUVVsbldpeEZRVUZWTEVWQlFVY3NRMEZCUlN4TFFVRk5MRWxCUVVzc1JVRkZla1lzUzBGQlN5eFBRVUZQTEV0QlFVdFdMRVZCUVUwc1ZVRkJWM2g2UWl4RlFVRkpPR01zUlVGQlFTeExRVUZMV2l4SFFVRmhMRVZCUVVrc1MwRkJTeXhaUVVGaGFFSXNSVUZCU1dkYUxFVkJRVlVzUlVGQlJ5eERRVUZGTEV0QlFVMHNTVUZCU3l4SFFVazVSeXhMUVVGTE
1xFOUJRVThzUzBGQlMwY3NSVUZCVFVNc1JVRkJUVVFzUlVGQlRTeExRVUZMTEdGQlFXTXNRMEZCUlN4TFFVRk5MRU5CUVVNc1JVRkJSeXhEUVVGRExFVkJRVWNzVFVGQlQzcGFMRWRCUVZjc1JVRkZia1lzUzBGQlFTeFBRVUZQTEV0QlFVdDVXaXhGUVVGUExFdEJRVXNzV1VGQllVTXNSVUZCVFVRc1JVRkJUeXhMUVVGTExGbEJRV0VzUzBGQlN5eGhRVUZqTEVOQlF6RkdMRXRCUVUwc1EwRkJReXhGUVVGSExFTkJRVU1zUlVGRFdDeE5RVUZQZWxvc1JVRkJRU3hEUVVOU0xFTkJRMGdzUTBGQlFTeERRVU5FTEVWQlIwTXNTMEZCU3l4dlFrRkRVQ3hMUVVGTExFOUJRVThzVVVGQlVTeERRVUZETkZrc1JVRkJUM280UWl4SlFVRk5MRU5CUlRGQ0xFMUJRVUZ0YTBJc1JVRkJTVFJDTEVWQlFVRXNTMEZCUzFnc1IwRkJZM0JzUWl4RlFVazNRaXhMUVVGTExFOUJRVThzUzBGQlN5eEZRVUZIYld0Q0xFVkJRVWMwUWl4RlFVRkJMRXRCUVVzd1ZpeEpRVUZoTVZZc1JVRkJRU3hMUVVGTFdDeEZRVUZYTEVWQlJYQkVMRXRCUVVFc1QwRkJUeXhWUVVGVkxFVkJRVWtzUzBGQlN5eFpRVUZoYWtJc1JVRkJSelJDTEVWQlFVRXNTMEZCU3pCV0xFbEJRV0V4Vml4RlFVRkJMRXRCUVV0WUxFVkJRVmNzUlVGRk5VVnhXQ3hIUVVsRVFTeEZRVUZOTEU5QlFWTXNhVUpCUVcxQ1FTeEZRVUZOTEZGQlJ6RkRMRXRCUVVzc1QwRkJUeXhWUVVGVkxFVkJRVWQwV1N4RlFVRkhORUlzUlVGQlFTeExRVUZMYlZjc1NVRkJhMEp1Vnl4RlFVRkJMRXRCUVV0WUxFZEJRV0VzUTBGRGJrVXNZVUZCWXl4RFFVRkRMRVZCUVVkeVFpeEZRVUZ4UWtFc1JVRkJjVUlzUTBGQlF5eEZRVU0zUkN4TlFVRlBNRmtzUlVGQlRTeExRVUZCTEVOQlEyUXNSVUZGU1N4TFFVRkJMRTlCUVU4c1ZVRkJWU3hGUVVGSkxFdEJRVXNzV1VGQllYUlpMRVZCUVVjMFFpeEZRVUZCTEV0QlFVdHRWeXhKUVVGclFtNVhMRVZCUVVFc1MwRkJTMWdzUjBGQllTeERRVU4wUml4aFFVRmpMRU5CUVVNc1JVRkJSM0pDTEVWQlFYRkNRU3hGUVVGeFFpeERRVUZETEVWQlF6ZEVMRTFCUVU4d1dTeEZRVUZOTEV0QlFVRXNRMEZEWkN4RlFVVkhRU3hGUVVGTkxGRkJSVklzUzBGQlN5eFBRVUZQTEV0QlFVdEJMRVZCUVUwc1RVRkJUeXhGUVVGSk1WY3NSVUZCUVN4TFFVRkxiVmNzU1VGQmEwSXZXQ3hGUVVGSk5FSXNSVUZCUVN4TFFVRkxXQ3hIUVVGakxFVkJRVWNzUTBGQlJTeE5RVUZQZUVJc1IwRkJZU3hOUVVGUExFOUJRVkVzUlVGRmVFZ3NTMEZCU3l4UFFVRlBMRXRCUVVzMldTeEZRVUZOTEUxQlFVOHNSVUZCU1RGWExFVkJRVUVzUzBGQlMyMVhMRWxCUVcxQ0xFdEJRVXNzV1VGQllTOVlMRVZCUVVrMFFpeEZRVUZCTEV0QlFVdFlMRWRCUVdNc1JVRkJSeXhEUVVGRkxFMUJRVTk0UWl4SFFVRmhMRTFCUVU4c1QwRkJVU3hIUVVVdlNTeERRVU5FTEVkQlNVRTBWeXhIUVVGQkxFdEJRVUZuUWl4SFFVRkJhMElzU1VGQlFTeFZRVUZUYWxvc1JVRkJZU3hqUVVOd1FuaENMRVZCUVU4c1EwRkRaR2xGTEZOQlFVOHNUVUZCVFdwRkxFTkJRVXNzUlVGRmJFSjFXU3hIUVVGQkxFdEJRVXRuUWl4SFFVRkJhMElzU1VGQlRDeFZRVUZqYWxvc1JVRkJZU3hQUVVGUkxFTkJRVVVzVFVGQlFYaENMRU5CUVU4c1JVRkRPVU1zUTBGRFJpeERRVVZSTEdWQlFXZENMRk5CUTNSQ0xFMUJRVTE1WWl4SlFVRnhRaTgxUWl4RlFVRkJMRXRCUVVzc1lVRkJZU3hwUWtGQmJFSXNXVU
1ZCUVVFc1JVRkJhME1zVjBGQlZYZG1MRVZCUVVFc1MwRkJTeXhUUVVGVExHbENRVUZrTEZsQlFVRkJMRVZCUVRoQ0xFOUJSM0pITkVNc1JVRkJRU3hMUVVGTFoxY3NTVUZCV1N4UlFVRlJMRU5CUVVOdFFpeEZRVUZMYkRsQ0xFbEJRVTBzUTBGREwwSnJPVUlzUlVGQlFTeFJRVUZSTEVOQlFVTlRMRVZCUVZWc00wSXNTVUZCVFN4UFFVTXpRaXhIUVVGSkxFTkJRVU5yTTBJc1JVRkRTQ3hQUVVkR0xFMUJRVTFETEVkQlFWZHFOa0lzUlVGQlFXOXBRaXhGUVVGQkxFdEJRVXNyVml4SlFVRlJPVGRDTEVOQlFVTXNTVUZCWkN4WlFVRkJNa1FzUlVGQmEwSTRReXhIUVVWdVF5eEpRVUZKYnpOQ0xFVkJRV05JTEVWQlIyUkRMRWRCUVZrc1EwRkJRME1zU1VGRFJFTXNSVUZCUVN4TFFVbGFSaXhGUVVGVExFdEJRVTFETEVkQlFVRXNXVUZCUVVFc1JVRkJWU3hKUVVGTFJDeEZRVUZUTEV0QlFVMURMRWRCUVVFc1dVRkJRVUVzUlVGQlZTeE5RVU16UTBNc1JVRkJRU3hOUVVsYVJpeEhRVUZCTEZsQlFVRkJMRVZCUVZVc1MwRkJTeXhSUVVGUlF5eEhRVUZCTEZsQlFVRkJMRVZCUVZVc1MwRkJTeXhQUVVGUFJDeEhRVUZCTEZsQlFVRkJMRVZCUVZVc1RVRkJUU3hSUVVGUlF5eEhRVUZCTEZsQlFVRkJMRVZCUVZVc1RVRkJUU3hQUVVGUFJDeEhRVUZCTEZsQlFVRkJMRVZCUVZVc1ZVRkJWVU1zUjBGQlFTeFpRVUZCUVN4RlFVRlZMRlZCUXpsSFF5eEZRVUZCTEVsQlNWb3NTMEZCU3l4aFFVRmhMR05CUVdkQ0xFdEJRVXNzVTBGQlV5eGpRVU53UTBFc1JVRkJRU3hKUVVsYUxFdEJRVXNzWVVGQllTeFBRVUZUTEV0QlFVc3NVMEZCVXl4UFFVTTNRa0VzUlVGQlFTeEpRVWRhUVN4SlFVTkhMRXRCUVVFc1QwRkJUeXhMUVVGTFJpeEZRVUZUTEVWQlFVZEJMRVZCUVZNc1JVRkJSMEVzUlVGQlV5eE5RVUZQUVN4RlFVRlRMRTFCUVUwc1JVRkRia1VzUzBGQlFTeFBRVUZQTEV0QlFVdEJMRVZCUVZNc1JVRkJTU3hMUVVGTExGbEJRV0ZCTEVWQlFWTXNSVUZCUjBFc1JVRkJVeXhOUVVGUFFTeEZRVUZUTEUxQlFVMHNSMEZIYmtaQkxFZEJRVUVzVFVGQlFVRXNSVUZCUVN4TFFVRkxMRkZCUVZFc1VVRkRZa0VzUjBGQlFTeE5RVUZCUVN4RlFVRkJMRTFCUVUwc1VVRkJVU3hQUVVGTkxFTkJReTlDTEVOQlFVRXNRMEZEUml4RFFVTklMRU5CUlZFc1lVRkJZeXhQUVVOd1FpeE5RVUZOUnl4TFFVRm5RbTQyUWl4RlFVRkJMRXRCUVVzc1lVRkJZU3hwUWtGQmJFSXNXVU
1ZCUVVFc1JVRkJhME1zVTBGQlZTeERRVUZCTEVkQlFVa3NUMEZEY0VVc1EwRkJRekJFTEVWQlFWRnZNVUlzU1VGQlYwRXNSVUZCVFN4UFFVRlRRU3hGUVVGTkxFMUJRVTBzVDBGQlUzQXhRaXhGUVVGUExFOUJRVk52TVVJc1JVRkJUU3hOUVVGUmNERkNMRVZCUTNSR0xFVkJRVUVzUlVGSFNYTXhRaXhGUVVGUExFdEJRVXNzUzBGQlN6VlhMRVZCUVVFc1MwRkJTMjFYTEVsQlFXMUNMRXRCUVVzc1QwRkJUeXhoUVVGaE5FSXNRMEZCV1N4RFFVRkRMRVZCUXk5RmJFSXNSVUZCVXl4TFFVRkxMR3RDUVVsd1FpeExRVUZMTEU5QlFVOHNTMEZCU3l4RlFVRkhMRVZCUVVkRUxFVkJRVTBzUzBGQlN5eFpRVUZaTEVWQlJUbERMRXRCUVVzc1QwRkJUeXhMUVVGTExFdEJRVXNzV1VGQllTeEZRVUZIUVN4RlFVRk5MRXRCUVVzc1dVRkJXU3hGUVVsNFJDeExRVUZCTEU5QlFVOHNTMEZCU3l4RlFVRkhMRXRCUVVzc1lVRkJaVU1zUlVGQlVTeExRVUZMTEZsQlFXRkJMRU5CUVUwc1JVRkZia1VzUzBGQlFTeFBRVUZQTEV0QlFVc3NTMEZCU3l4WlFVRmhMRXRCUVVzc1lVRkJaVUVzUlVGQlVTeExRVUZMTEZsQlFXRkJMRU5CUVUwc1EwRkRla1lzUTBGRlVTeFhRVUZaTEVOQlEyeENMRWxCUVVsRUxFVkJRVThzUlVGRFVFTXNSVUZCVXl4RlFVVmlMRTlCUVVzdk5VSXNSVUZCUVN4UlFVRlJMRXRCUVVzc1RVRkJUU3hKUVVOc1FpeExRVUZMTEcxQ1FVTlFLelZDTEVWQlFWTXNTMEZCU3l4dFFrRkhXaXhMUVVGTExIRkNRVU5RUkN4RlFVRlBMRXRCUVVzc2EwSkJTVlFzUTBGQlJTeExRVUZCUVN4RlFVRk5MRTlCUVVGRExFVkJRMnBDTEVOQlJWRXNiMEpCUVc5Q09UZENMRVZCUVdkQ0xFTkJRekZETEVsQlFVazRSaXhGUVVGVGJXWXNSVUZCUVN4TFFVRkxNRllzU1VGRlpDeEhRVUZCTEVOQlFVTXhWaXhGUVVGQkxFdEJRVXRyVnl4SlFVRnpRaXhEUVVONFFpeE5RVUZCT0VJc1JVRkJZV2haTEVWQlFVRXNTMEZCUzFvc1IwRkJZWEpyUWl4RlFVZHFRMms1UWl4RlFVRmhhRmtzUlVGQlFTeExRVUZMTkZZc1RVRkRWQzh3UWl4SlFVRkJiV1lzUlVGQlFTeExRVUZMTkZZc1NVRkJhMEp2UXl4SFFVRmpMRVZCUlhCRUxFTkJSVThzVDBGQlFXNHpRaXhEUVVOVUxFTkJSVkVzYTBKQlFXdENPVVlzUlVGQlowSXNRMEZEZUVNc1NVRkJTVGhHTEVWQlFWTXNSVUZGVkN4SFFVRkJMRU5CUVVOdFppeEZRVUZCTEV0QlFVdHJWeXhKUVVGelFpeERRVU40UWl4TlFVRkJLMElzUlVGQlkycFpMRVZCUVVFc1MwRkJTMWdzUjBGQlkzUnJRaXhGUVVkdVEyczVRaXhGUVVGamFsa3NSVUZCUVN4TFFVRkxObFlzVFVGRFZtZ3hRaXhKUVVGQmJXWXNSVUZCUVN4TFFVRkxObFlzU1VGQmJVSnZReXhIUVVGbExFVkJSWFJFTEVOQlJVOHNUMEZCUVhBelFpeERRVU5VTEVOQlJWRXNWVUZCVnl4RFFVTmlMRWRCUVVFc1MwRkJTeXhUUVVGVExFbEJRMVFzVFVGQlFTeEhRVWRVTEUxQlFVMTVNRUlzUlVGQlowSXNTMEZCU3l4VFFVRlRMRkZCUVZFc1QwRkJUeXhEUVVGRGFEQkNMRVZCUVZGcE1FSXNTVUZCWVVFc1JVRkJVU3hQUVVGVGFqQkNMRVZCUVZOcE1FSXNSVUZCVVN4UFFVRlRhakJDTEVWQlFWTXNRMEZCUXl4RlFVVTVTQ3hQUVVGUExFdEJRVXNzUzBGQlMyY3dRaXhGUVVGblFuUldMRVZCUVVFc1MwRkJTM1ZYTEVWQlFWTXNRMEZEYWtRc1EwRkZVU3hoUVVGakxFTkJRMlFzUzBGQlFTeERRVUZGTEUxQlFVRnlOVUlzUlVGQlR5eFBRVUZCUXl4RFFVRlhMRVZCUVVGcE5FSXNSMEZCYTBJc1MwRkJTeXhUUVVGVExGRkJRVk53Vml4RlFVRkJMRXRCUVVzMFZpeEpRVUZwUWpWV0xFVkJRVUVzUzBGQlN6WldMRWRCUVdkQ0xFVkJSVEZITEVsQlFVRjBWaXhGUVVGWkxFdEJRVXNzVFVGQlRYSnFRaXhEUVVGTExFVkJRelZDYzJwQ0xFVkJRV0VzUzBGQlN5eE5RVUZOY21wQ0xFTkJRVTBzUlVGRmJFTXNUMEZCU1RacFFpeEZRVUZCTEV0QlFVdHJWeXhKUVVOTE0xWXNSVUZCUVVNc1JVRkZVaXhMUVVGTExGTkJRVk1zU1VGRFdpeExRVUZMTEhWQ1FVRjFRa1FzUTBGQlV5eEpRVU14UWtNc1JVRkJRVVFzUjBGSFdDeExRVUZMTEZOQlFWTXNUVUZCVVdoc1FpeFhRVUZUTEV0QlFVc3NVMEZCVXl4SlFVRkpMRWxCUTI1RVoyeENMRVZCUVZrc1MwRkJTeXhUUVVGVExFdEJSWFJDTEV0QlFVc3NkVUpCUVhWQ0xFdEJRVXNzVTBGQlV5eEpRVUZKTEVsQlEyaEVReXhGUVVGaExFdEJRVXNzVTBGQlV5eFBRVTAxUWl4RFFVRkZMRlZCUVVGRUxFVkJRVmNzVjBGQlFVTXNSVUZEZEVJc1EwRkZVU3hyUWtGQmJVSXNRMEZEZWtJc1NVRkJTVEJZTEVWQlFWY3NTMEZGV0N4SFFVRkJMRXRCUVVzc1UwRkJVeXhUUVVGVkxFTkJRM0JDTEUxQlFVRkRMRVZCUVd0Q0xFTkJRVU1zUzBGQlN5eFRRVUZUTEZOQlJXeERMRTFCUVUxQkxFTkJRV1VzU1VGRFlrUXNSVUZCUVVNc1JVRkRZaXhMUVVOTExFTkJRMHdzVFVGQlRVTXNSVUZCZDBJc1MwRkJTeXhaUVVGWkxGRkJRVkVzUzBGQlN5eERRVUZETlN0Q0xFVkJRV2RDTkVVc1NVRkJiVUpCTEVWQlFVVXNWMEZCWVRWRkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVOQlFVTXNSVUZGTVVnMEswSXNTVUZEUmtZc1JVRkJWMFVzUlVGQmMwSXNWMEZGY2tNc1EwRkZUeXhQUVVGQlJpeERRVU5VTEVOQlJWRXNkVUpCUVhWQ2NuRkNMRVZCUVdNc1EwRkRNME1zVDBGQlR5eExRVUZMTEZOQlFWTXNVVUZCVVN4UFFVRlRRU3hIUVVGUmJWTXNSVUZCUVN4TFFVRkxObFlzUjBGRGNrUXNRMEZGVVN4alFVRmpOVGRDTEVWQlFWZDVSeXhGUVVGWE5VVXNSVUZCWTBRc1JVRkJhVUlzUTBGRGJrVXNUVUZCUVhjNFFpeEZRVUZaTEV0QlFVc3NhMEpCUVd0Q2RqaENMRU5CUVVrc1JVRkRka04zT0VJc1JVRkJZU3hMUVVGTExHOUNRVUZ2UW5vNFFpeERRVUZQTEVWQlJUZERNRGhDTEVWQlFXTXNRMEZEYkVJc1JVRkJSemN6UWl4RlFVRkpjMllzUlVGQlFTeExRVUZMV2l4SFFVRmhhMW9zUlVGRGVrSXNSVUZCUjNJclFpeEZRVUZKSzJ4Q0xFVkJRVUVzUzBGQlMxZ3NSMEZCWTJkYUxFVkJRekZDTEUxQlFVOXlXU3hGUVVGQkxFdEJRVXRhTEVkQlExb3NUMEZCVVZrc1JVRkJRU3hMUVVGTFdDeEZRVUZCTEVWQlIyWXNSMEZCU1Zjc1JVRkJRU3hMUVVGTGFWY3NTVUZCWjBJc1EwRkRka0lzU1VGQlNYVkRMRVZCUVdWc1owSXNSMEZCYjBJd1NDeEZRVUZCTEV0QlFVczJWaXhKUVVGclFpeEZRVUZGTEVWQlJUVkVMRXRCUVVzc1UwRkJVeXhOUVVGUk1rTXNSVUZCWlN4TFFVRkxMRk5CUVZNc1QwRkRja1JCTEVWQlFXVXNTMEZCU3l4VFFVRlRMRTFCUjNwQ0xFMUJRVUZETEVWQlFXbENlbGtzUlVGQlFTeExRVUZMTmxZc1NVRkJiVUl5UXl4RlFVVXpRM1lyUWl4SlFVRk5MRWxCUTFKekswSXNSVUZCV1N4RlFVRkpkQ3RDTEVWQlEyaENjeXRDTEVWQlFWa3NUMEZCVTBVc1IwRkhia0o0SzBJc1NVRkJUU3hKUVVOU2N5dENMRVZCUVZrc1JVRkJTWFFyUWl4RlFVRkpkeXRDTEVWQlEzQkNSaXhGUVVGWkxFOUJRVk5ETEVWQlJYcENMRU5CUlU4c1QwRkJRVVFzUTBGRFZDeERRVXRHTEVOQmJuSkNSVGRETEVkQlFVRXNXVUZEUVVNc1JVRkJRU3haUVVWQmRsY3NSVUZCUVN4WlFVTkJReXhGUVVGQkxGbEJRMEYxVnl4SFFVRkJMRmxCUTBGRExFZEJRVUVzV1VGRlFVTXNSVUZCUVN4WlFVTkJReXhIUVVGQkxGbEJRMEZETEVkQlFVRXNXVUZGUVVNc1IwRkJRU3haUVVOQlF5eEhRVUZCTEZsQlEwRkRMRWRCUVVFc1dVRkZRVU1zUjBGQlFTeFpRVU5CUXl4RlFVRkJMRmxCUTBGRExFZEJRVUVzV1VGRFFVTXNSVUZCUVN4WlFVTkJReXhIUVVGQkxGbEJSVUZETEVkQlFVRXNXVUV3Y0VKQmFFSXNSMEZCUVN4WlFVRkJhMElzUjBGQlV5eFRRVUZCSzBJc1JVRkJjMEkxTDBJc1JVRkJUeXhIUVVGSkxFTkJRM2hETEV0QlFVc3NXVUZCV1N4RFFVRkZMRTlCUVVFMEwwSXNSVUZCVVN4TFFVRkJOUzlDTEVOQlFVMHNRMEZCUVN4RFFVTnVReXhGUVVkR0xFMUJRVTAyTDBJc1IwRkJVeXhKUVVGSmJrUXNSMEZGYmtJc1MwRkJTeXhwUWtGQmFVSXNWVUZCV1c5RUxFZEJRVlVzUTBGRE1VTXNTMEZCVFN4RFFVRkZMRTlCUVVGR0xFVkJRVkVzUzBGQlFUVXZRaXhIUVVGVE9DOUNMRVZCUVUwc1MwRkZMMElzVDBGQlVVWXNSVUZCVVN4RFFVTmtMRXRCUVV0b1lpeEZRVUZoTEZOQlEyaENhV0lzUjBGQlR5eFpRVUZaTnk5Q0xFTkJRVWtzUlVGRmRrSXNUVUZEUml4TFFVRkxOR3RDTEVWQlFXRXNUMEZEYUVKcFlpeEhRVUZQTEU5QlFVODNMMElzUTBGQlNTeEZRVVZzUWl4TlFVTkdMRXRCUVVzMGEwSXNSVUZCWVN4UFFVTm9RbWxpTEVkQlFVOHNUMEZCVHpjdlFpeER
1RVUZKTEVWQlJXeENMRXRCUjBvc1EwRkRSaXhEUVVGRElpd2llRjluYjI5bmJHVmZhV2R1YjNKbFRHbHpkQ0k2V3pBc01Td3lMRE1zTkN3MUxEWXNOeXc0TERrc01UQXNNVEVzTVRJc01UTXNNVFFzTVRVc01UWXNNVGNzTVRnc01Ua3NNakFzTWpFc01qSXNNak1zTWpRc01qVXNNallzTWpjc01qZ3NNamtzTXpBc016RXNNeklzTXpNc016VXNNellzTXpjc016Z3NNemtzTkRBc05ERXNORElzTkRNc05EUXNORFVzTkRZc05EY3NORGdzTkRrc05UQXNOVEVzTlRJc05UTXNOVFFzTlRVc05UWXNOVGNzTlRnc05Ua3NOakJkZlE9PQo=",Cn=typeof window<"u"&&window.Blob&&new Blob([(e=>Uint8Array.from(atob(e),(e=>e.charCodeAt(0))))(yn)],{type:"text/javascript;charset=utf-8"});function jn(e){let t;try{if(t=Cn&&(window.URL||window.webkitURL).createObjectURL(Cn),!t)throw"";const l=new Worker(t,{name:null==e?void 0:e.name});return l.addEventListener("error",(()=>{(window.URL||window.webkitURL).revokeObjectURL(t)})),l}catch{return new Worker("data:text/javascript;base64,"+yn,{name:null==e?void 0:e.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var gn=(e=>(e[e.OK=0]="OK",e[e.NoExtension=1]="NoExtension",e[e.NoHead=2]="NoHead",e[e.TakeDirection=3]="TakeDirection",e))(gn||{}),Bn=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.Up=2]="Up",e[e.Down=3]="Down",e[e.Closer=4]="Closer",e[e.Back=5]="Back",e))(Bn||{});const Hn="player-head-status";var vn=(e=>(e[e.Play=0]="Play",e[e.Stop=1]="Stop",e[e.Paused=2]="Paused",e))(vn||{}),In=(e=>(e.Ready="ready",e.Params="params",e.HeadDetection="head-detection",e.ShiftStart="shift-start",e.ShiftFinish="shift-finish",e))(In||{});const Dn="stereo-frames",On="stereo-pagination";var _n,Ln,Kn,Pn=(e=>(e.Transfer="transfer",e.Decode="decode",e.Render="render",e))(Pn||{});class An{constructor(e){r(this,Ln),V(this,"canvas"),r(this,_n,void 0),s(this,_n,e),this.canvas=h(this,Ln,Kn).call(this)}get context(){return this.canvas.getContext("2d")}draw(e,t=0,l=0,n=this.context.canvas.width,V=this.context.canvas.height){var i;null==(i=this.context)||i.drawImage(e,t,l,n,V)}clear(){var e;null==(e=this.context)||e.clearRect(0,0,this.canvas.width,this.canvas.height)}toDataURL(e="image/jpeg",t=.85){return this.canvas.toDataURL(e,t)}remove(){this.canvas.remove()}}_n=new WeakMap,Ln=new WeakSet,Kn=function(){const e=document.createElement("canvas");return e.width=a(this,_n).width,e.height=a(this,_n).height,e};var qn=typeof Float32Array<"u"?Float32Array:Array;function $n(){var e=new qn(16);return qn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var eV,tV,lV,nV,VV,iV,aV,rV,sV,oV,hV,dV,RV,UV,cV,pV,ZV,WV;class mV{constructor(e){V(this,"canvas"),r(this,eV,void 0),s(this,eV,e),this.canvas=new OffscreenCanvas(a(this,eV).width,a(this,eV).height)}get context2d(){return this.canvas.getContext("2d",{alpha:!1})}get contextWebGL(){return this.canvas.getContext("webgl",{alpha:!1})}get width(){return this.canvas.width}set width(e){this.canvas.width=e}get height(){return this.canvas.height}set height(e){this.canvas.height=e}draw(e,t,l,n,V){var i;null==(i=this.context2d)||i.drawImage(e,t,l,n,V)}drawImageData(e,t,l){var n;null==(n=this.context2d)||n.putImageData(e,t,l)}getImageData(){var e;return null==(e=this.context2d)?void 0:e.getImageData(0,0,this.width,this.height)}convertToBlob(e="image/jpeg",t=.85){return this.canvas.convertToBlob({type:e,quality:t})}clear(){var e;null==(e=this.context2d)||e.clearRect(0,0,this.canvas.width,this.canvas.height)}}eV=new WeakMap;class FV{constructor(){r(this,hV),r(this,RV),r(this,cV),r(this,ZV),r(this,tV,new mV({width:1,height:1})),r(this,lV,null),r(this,nV,null),r(this,VV,null),r(this,iV,{screenWidth:window.screen.width,screenHeight:window.screen.height,shaderParams:!0,shaderVer:"1.4.1",showTestFrame:0,showTestStripe:0,testGapWidth:0,blur:0,leftLensOrientation:0,BGRPixelLayout:0,leftViewportPosition:0,bottomViewportPosition:0,nativeViewCount:0,angleRatioNumerator:0,angleRatioDenominator:0,hqViewCount:0,hviews1:0,hviews2:0,blackBorder:0,blackSpace:0,bls:0,ble:0,brs:0,bre:0,mstart:0,track:0,zCorrectionValue:0,zCompensationValue:0}),r(this,aV,window.screen.width),r(this,rV,window.screen.height),r(this,sV,-1),r(this,oV,-1)}get mstart(){return a(this,iV).mstart}
1async init(){if(!a(this,hV,dV))throw new Error("Failed to create WebGL context. Check that WebGL is supported by your browser and hardware.");const e=h(this,RV,UV).call(this,a(this,hV,dV).VERTEX_SHADER,"precision mediump float;\r\nuniform mat4 mvp_matrix;\n\nattribute vec4 a_position;\r\nattribute vec2 a_texcoord;\n\nvarying vec2 v_texcoord;\n\nvoid main()\r\n{\r\n    \n    gl_Position = mvp_matrix * a_position;\n\n    \n    \n    v_texcoord = a_texcoord;\r\n}"),t=h(this,RV,UV).call(this,a(this,hV,dV).FRAGMENT_SHADER,"precision mediump int;\r\nprecision mediump float;\n\nvarying vec2 v_texcoord;\r\nuniform sampler2D texture0; \nuniform int viewcount;      \nuniform int zwinkel;        \nuniform int nwinkel;        \nuniform int isleft;         \nuniform int test;           \nuniform int stest;          \nuniform int testgap;        \nuniform int track;          \nuniform int mstart;         \nuniform int blur;           \nuniform int hqview;\r\nuniform int hviews1;\r\nuniform int hviews2;\r\nuniform int bls;\r\nuniform int ble;\r\nuniform int brs;\r\nuniform int bre;\r\nuniform int bborder;\r\nuniform int bspace;\r\nuniform int s_width;        \nuniform int s_height;       \nuniform int v_pos_x;        \nuniform int v_pos_y;        \nuniform int tvx;            \nuniform int zkom;           \n\nint random3dg(int blu)\r\n{\r\n    vec2 uv = gl_FragCoord.xy / vec2(float(s_width), float(s_height));\r\n    return int((fract(sin(dot(uv,vec2(12.9898,78.233))) * 43758.5453123)) * float(blu));\r\n}\n\nint modg3d(int a, int b)\r\n{\r\n    return (a-((a/b) * b));\r\n}\n\nivec3 modiv3g3d(ivec3 a, int b)\r\n{\r\n    return (a-((a/b) * b));\r\n}\r\n\nvoid main()\r\n{\r\n    \n    int x = int(gl_FragCoord.x) + v_pos_x;     \n    int y = int(gl_FragCoord.y) + v_pos_y;     \n    if (isleft == 0) y = s_height - y ;        \n    int yw = ((y * zwinkel) / nwinkel);        \n\n    \n    int sr = ((x * 3) + yw);\r\n    ivec3 xwert = modiv3g3d( ivec3(sr + 0, sr + 1, sr + 2), viewcount);                              \n\n    \n\n    int hqwert = modg3d((modg3d(y, nwinkel) * zwinkel), nwinkel);\r\n    if (isleft == 1) { hqwert=(nwinkel-1)-hqwert ; }\r\n    if (hqwert<0) hqwert=hqwert * -1 ;\r\n    \n    \n    \n    int zwert = 0;\r\n    if (tvx != 0) {\r\n        zwert = (sr / tvx) - zkom;\r\n    }\n\n    int tr2d = 0;\r\n    if (track < 0) {\r\n        tr2d = track;\r\n    }\n\n    ivec3 mtmp = ((hviews1 - xwert) * nwinkel) + hqwert + track + mstart + zwert;\r\n    xwert = hviews1 - modiv3g3d(mtmp, hqview);\n\n    \n    vec2 stex = v_texcoord / vec2(2.000000, 1.000000);                  \n    vec2 ctextl=vec2(stex.x,stex.y) ;                                   \n    vec2 ctextr=vec2((stex.x + 0.5),stex.y) ;                           \n    vec4 colrechts = vec4( texture2D( texture0,ctextr ) ) ;             \n    vec4 collinks = vec4( texture2D( texture0,ctextl ) ) ;              \n    float cor=0.0, cog=0.0 , cob=0.0 ;\n\n    if ( (xwert.r >= bls) && (xwert.r <= ble) )  cor = colrechts.r ;\r\n    if ( (xwert.g >= bls) && (xwert.g <= ble) )  cog = colrechts.g ;\r\n    if ( (xwert.b >= bls) && (xwert.b <= ble) )  cob = colrechts.b ;\r\n    if ( (xwert.r >= brs) && (xwert.r <= bre) )  cor = collinks.r ;\r\n    if ( (xwert.g >= brs) && (xwert.g <= bre) )  cog = collinks.g ;\r\n    if ( (xwert.b >= brs) && (xwert.b <= bre) )  cob = collinks.b ;\n\n    vec4 color = vec4(cor, cog, cob, 1.0); \n    if (0 == tvx) {\r\n        color = colrechts;\r\n    }\n\n    if (tr2d == -1) {\r\n        color = colrechts;\r\n    }\r\n    if (tr2d == -2) {\r\n        color = collinks;\r\n    }\n\n    \n    if (test==1)  {  \n        color = vec4(0.0, 0.0, 0.0, 1.0);\r\n        if ((xwert.r > (hviews2 - testgap)) && (xwert.r <= hviews2)) color.r = 1.0 ;\r\n        if ((xwert.g > hviews2)             && (xwert.g < (hviews2 + testgap)) ) color.g = 1.0 ;\r\n    }\n\n    \n    if (y > (s_height - 200) && stest == 1) {\r\n        color = vec4(0.0,0.0,0.0,1.0);\r\n        if (xwert.r<=hviews2) color = vec4(1.0, 0.0, 0.0, 1.0);     \n        if (xwert.g>hviews2) color = vec4(0.0, 1.0, 0.0, 1.0);\r\n    }  \r\n\n    \n    gl_FragColor = color;\r\n}");if(e&&t){if(s(this,nV,a(this,hV,dV).createProgram()),a(this,hV,dV).attachShader(a(this,nV),e),a(this,hV,dV).attachShader(a(this,nV),t),a(this,hV,dV).linkProgram(a(this,nV)),!a(this,hV,dV).getProgramParameter(a(this,nV),a(this,hV,dV).LINK_STATUS))throw a(this,hV,dV).deleteProgram(a(this,nV)),new Error(`Error linking program: ${a(this,hV,dV).getProgramInfoLog(a(this,nV))}`);a(this,hV,dV).deleteShader(e),a(this,hV,dV).deleteShader(t),s(this,lV,a(this,hV,dV).getUniformLocation(a(this,nV),"texture0")),h(this,ZV,WV).call(this,"a_texcoord",2,[0,0,1,0,0,1,1,1]),s(this,VV,a(this,hV,dV).createTexture()),a(this,hV,dV).bindTexture(a(this,hV,dV).TEXTURE_2D,a(this,VV)),a(this,hV,dV).texImage2D(a(this,hV,dV).TEXTURE_2D,0,a(this,hV,dV).RGBA,1,1,0,a(this,hV,dV).RGBA,a(this,hV,dV).UNSIGNED_BYTE,new Uint8Array([0,0,255,255])),a(this,hV,dV).texParameteri(a(this,hV,dV).TEXTURE_2D,a(this,hV,dV).TEXTURE_WRAP_S,a(this,hV,dV).CLAMP_TO_EDGE),a(this,hV,dV).texParameteri(a(this,hV,dV).TEXTURE_2D,a(this,hV,dV).TEXTURE_WRAP_T,a(this,hV,dV).CLAMP_TO_EDGE),a(this,hV,dV).texParameteri(a(this,hV,dV).TEXTURE_2D,a(this,hV,dV).TEXTURE_MIN_FILTER,a(this,hV,dV).LINEAR),c.logger.info("WebGL initialized")}}transform(e){if(!a(this,hV,dV)||!a(this,tV)||!a(this,nV))throw new Error("Context not exists");
1if(-1==a(this,aV)&&-1==a(this,rV))throw new Error("Params not set");(a(this,sV)!==e.width/2||a(this,oV)!==e.height)&&(s(this,sV,e.width/2),s(this,oV,e.height),h(this,cV,pV).call(this)),(a(this,tV).width!==a(this,aV)||a(this,tV).height!=a(this,rV))&&(a(this,tV).width=a(this,aV),a(this,tV).height=a(this,rV),h(this,cV,pV).call(this),a(this,hV,dV).viewport(0,0,a(this,aV),a(this,rV))),a(this,hV,dV).activeTexture(a(this,hV,dV).TEXTURE0),a(this,hV,dV).bindTexture(a(this,hV,dV).TEXTURE_2D,a(this,VV)),a(this,hV,dV).pixelStorei(a(this,hV,dV).UNPACK_FLIP_Y_WEBGL,!0),a(this,hV,dV).texImage2D(a(this,hV,dV).TEXTURE_2D,0,a(this,hV,dV).RGBA,a(this,hV,dV).RGBA,a(this,hV,dV).UNSIGNED_BYTE,e),a(this,hV,dV).useProgram(a(this,nV));const t=$n();!function(e,t){e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1}(t,[0,0,-1]);const l=$n();!function(e){e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1}(l);const n=$n();return function(e,t,l){var n=t[0],V=t[1],i=t[2],a=t[3],r=t[4],s=t[5],o=t[6],h=t[7],d=t[8],R=t[9],U=t[10],c=t[11],p=t[12],Z=t[13],W=t[14],m=t[15],F=l[0],N=l[1],u=l[2],E=l[3];e[0]=F*n+N*r+u*d+E*p,e[1]=F*V+N*s+u*R+E*Z,e[2]=F*i+N*o+u*U+E*W,e[3]=F*a+N*h+u*c+E*m,F=l[4],N=l[5],u=l[6],E=l[7],e[4]=F*n+N*r+u*d+E*p,e[5]=F*V+N*s+u*R+E*Z,e[6]=F*i+N*o+u*U+E*W,e[7]=F*a+N*h+u*c+E*m,F=l[8],N=l[9],u=l[10],E=l[11],e[8]=F*n+N*r+u*d+E*p,e[9]=F*V+N*s+u*R+E*Z,e[10]=F*i+N*o+u*U+E*W,e[11]=F*a+N*h+u*c+E*m,F=l[12],N=l[13],u=l[14],E=l[15],e[12]=F*n+N*r+u*d+E*p,e[13]=F*V+N*s+u*R+E*Z,e[14]=F*i+N*o+u*U+E*W,e[15]=F*a+N*h+u*c+E*m}(n,t,l),a(this,hV,dV).uniformMatrix4fv(a(this,hV,dV).getUniformLocation(a(this,nV),"mvp_matrix"),!1,n),a(this,hV,dV).uniform1i(a(this,lV),0),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"viewcount"),a(this,iV).nativeViewCount),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"zwinkel"),a(this,iV).angleRatioNumerator),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"nwinkel"),a(this,iV).angleRatioDenominator),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"isleft"),a(this,iV).leftLensOrientation),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"isbgr"),a(this,iV).BGRPixelLayout),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"mstart"),a(this,iV).mstart),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"test"),a(this,iV).showTestFrame),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"stest"),a(this,iV).showTestStripe),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"testgap"),a(this,iV).testGapWidth),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"track"),a(this,iV).track),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"hqview"),a(this,iV).hqViewCount),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"hviews1"),a(this,iV).hviews1),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"hviews2"),a(this,iV).hviews2),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"blur"),a(this,iV).blur),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"bborder"),a(this,iV).blackBorder),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"bspace"),a(this,iV).blackSpace),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"bls"),a(this,iV).bls),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"ble"),a(this,iV).ble),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"brs"),a(this,iV).brs),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"bre"),a(this,iV).bre),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"s_width"),a(this,iV).screenWidth),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"s_height"),a(this,iV).screenHeight),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"v_pos_x"),(a(this,aV)-a(this,sV))/2),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"v_pos_y"),a(this,iV).bottomViewportPosition),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"tvx"),a(this,iV).zCorrectionValue),a(this,hV,dV).uniform1i(a(this,hV,dV).getUniformLocation(a(this,nV),"zkom"),a(this,iV).zCompensationValue),a(this,hV,dV).drawArrays(a(this,hV,dV).TRIANGLE_STRIP,0,4),a(this,hV,dV).bindTexture(a(this,hV,dV).TEXTURE_2D,null),a(this,tV).canvas}setParameters(e){s(this,aV,e.screenWidth),s(this,rV,e.screenHeight),s(this,iV,e)}destroy(){var e,t;null==(t=null==(e=a(this,hV,dV))?void 0:e.getExtension("WEBGL_lose_context"))||t.loseContext()}}tV=new WeakMap,lV=new WeakMap,nV=new WeakMap,VV=new WeakMap,iV=new WeakMap,aV=new WeakMap,rV=new WeakMap,sV=new WeakMap,oV=new WeakMap,hV=new WeakSet,dV=function(){return a(this,tV).contextWebGL},RV=new WeakSet,UV=function(e,t){const l=a(this,hV,dV).createShader(e);if(a(this,hV,dV).shaderSource(l,t),a(this,hV,dV).compileShader(l),!a(this,hV,dV).getShaderParameter(l,a(this,hV,dV).COMPILE_STATUS))throw a(this,hV,dV).deleteShader(l),new Error(`Error c
1ompiling shader: ${a(this,hV,dV).getShaderInfoLog(l)}`);return l},cV=new WeakSet,pV=function(){const e=a(this,aV)/a(this,rV),t=a(this,sV)/a(this,oV)/e;h(this,ZV,WV).call(this,"a_position",3,[-t,-1,1,t,-1,1,-t,1,1,t,1,1])},ZV=new WeakSet,WV=function(e,t,l){a(this,hV,dV).bindBuffer(a(this,hV,dV).ARRAY_BUFFER,a(this,hV,dV).createBuffer()),a(this,hV,dV).bufferData(a(this,hV,dV).ARRAY_BUFFER,new Float32Array(l),a(this,hV,dV).STATIC_DRAW);const n=a(this,hV,dV).getAttribLocation(a(this,nV),e);a(this,hV,dV).enableVertexAttribArray(n),a(this,hV,dV).vertexAttribPointer(n,t,a(this,hV,dV).FLOAT,!1,0,0)};var NV,uV,EV,bV,SV,JV,TV,GV,MV,kV,YV,xV,QV,XV,wV,fV,zV,yV,CV,jV,gV,BV,HV,vV,IV,DV,OV,_V,LV,KV,PV,AV,qV,$V,ei,ti,li,ni,Vi,ii,ai,ri,si,oi,hi,di,Ri,Ui,ci,pi,Zi;c.configureLogger({prefix:"PLAYER"});const Wi=class e{constructor(e){r(this,vV),r(this,DV),r(this,_V),r(this,KV),r(this,AV),r(this,$V),r(this,ti),r(this,ni),r(this,ii),r(this,ri),r(this,oi),r(this,di),r(this,Ui),r(this,pi),V(this,"onMessage"),r(this,NV,void 0),r(this,uV,void 0),r(this,EV,void 0),r(this,bV,vn.Play),r(this,SV,gn.OK),r(this,JV,[]),r(this,TV,null),r(this,GV,null),r(this,MV,void 0),r(this,kV,void 0),r(this,YV,void 0),r(this,xV,void 0),r(this,QV,void 0),r(this,XV,0),r(this,wV,0),r(this,fV,1),r(this,zV,1),r(this,yV,0),r(this,CV,0),r(this,jV,0),r(this,gV,0),r(this,BV,0),r(this,HV,!1),c.logger.info("Stereo Player version:",this.packageVersion);const{onMessage:t,container:l,...n}=e;this.onMessage=t,s(this,NV,l),s(this,uV,s(this,EV,n)),this.onKeyUpEvent=this.onKeyUpEvent.bind(this),this.navigate=this.navigate.bind(this),this.onResize=this.onResize.bind(this),h(this,vV,IV).call(this)}static fillMatrix(e,t){return c.arrayToMatrix(e,t??Math.ceil(Math.sqrt(e.length)))}static calculateCellSize(t,l=e.screenWidth,n=e.screenHeight){return function(e,t,l){if(!c.isArray(e)||c.isEmpty(e))return{width:0,height:0};let n=0;e.forEach((e=>{e.length>n&&(n=e.length)}));const[V,i]=[e.length,n];return{width:t/i,height:l/V}}(t,l,n)}static isMatrix(e=[]){return e.every((e=>c.isArray(e)))}static get screenWidth(){return window.screen.width}static get screenHeight(){return window.screen.height}get packageVersion(){return"0.2.13"}get isAutostereoMode(){return"string"!=typeof a(this,uV).mode||"autostereo"===a(this,uV).mode}get shouldRenderHeadDirection(){return("boolean"!=typeof a(this,uV).useHeadDirection||a(this,uV).useHeadDirection)&&this.isAutostereoMode}play(){s(this,bV,vn.Play)}stop(){s(this,bV,vn.Stop)}pause(){s(this,bV,vn.Paused)}prevPage(){1!==a(this,fV)&&(s(this,fV,a(this,fV)-1),h(this,DV,OV).call(this,!1))}nextPage(){a(this,fV)!==a(this,zV)&&(s(this,fV,a(this,fV)+1),h(this,DV,OV).call(this,!1))}apply(e){!e||!c.isObject(e)||(s(this,EV,structuredClone(a(this,uV))),s(this,uV,c.deepMerge(a(this,uV)||{},e)),a(this,uV).debug&&c.logger.info("Settings",a(this,uV)),JSON.stringify(a(this,EV))!==JSON.stringify(a(this,uV))&&h(this,DV,OV).call(this))}dispose(){var e;null==(e=a(this,GV))||e.replaceChildren(),a(this,QV).disconnect(),a(this,xV).destroy(),document.removeEventListener("keyup",this.onKeyUpEvent),window.removeEventListener("resize",this.onResize)}onKeyUpEvent(e){const{code:t,shiftKey:l}=e;switch(t){case"Space":a(this,bV)===vn.Play?this.pause():this.play();break;case"ArrowLeft":l&&(e.stopPropagation(),h(this,ri,si).call(this,"left"));break;case"ArrowRight":l&&(e.stopPropagation(),h(this,ri,si).call(this,"right"));break;case"KeyR":h(this,_V,LV).call(this);break;case"PageUp":this.prevPage();break;case"PageDown":this.nextPage()}}navigate(e){const t=e.target;"next"===t.dataset.type&&this.nextPage(),"prev"===t.dataset.type&&this.prevPage(),h(this,ti,li).call(this)}onResize(){c.throttle((()=>{window.innerWidth===e.screenWidth&&window.innerHeight===e.screenHeight&&(a(this,kV).canvas.width!==e.screenWidth||a(this,kV).canvas.height!==e.screenHeight)&&h(this,_V,LV).call(this)}),100)}};NV=new WeakMap,uV=new WeakMap,EV=new WeakMap,bV=new WeakMap,SV=new WeakMap,JV=new WeakMap,TV=new WeakMap,GV=new WeakMap,MV=new WeakMap,kV=new WeakMap,YV=new WeakMap,xV=new WeakMap,QV=new WeakMap,XV=new WeakMap,wV=new WeakMap,fV=new WeakMap,zV=new WeakMap,yV=new WeakMap,CV=new WeakMap,jV=new WeakMap,gV=new WeakMap,BV=new WeakMap,HV=new WeakMap,vV=new WeakSet,IV=async function(){try{if(s(this,GV,document.querySelector(a(this,NV))),!a(this,GV))return void c.logger.error("Container element not found");s(this,kV,new An({width:Wi.screenWidth,height:Wi.screenHeight})),s(this,MV,new An({width:2*Wi.screenWidth,height:Wi.screenHeight})),a(this,GV).appendChild(a(this,kV).canvas),s(this,xV,new FV),await a(this,xV).init(),s(this,QV,new c.EyeTrackingClient),a(this,QV).onError=()=>{c.logger.error("Eye tracking extensions is not available!"),s(this,SV,gn.NoExtension)},a(this,QV).onSuccess=()=>c.logger.info("Eye tracking extensions is connected!"),a(this,QV).onMessage=e=>h(this,oi,hi).call(this,e),a(this,QV).connect(),s(this,YV,new jn),h(this,KV,PV).call(this),s(this,gV,performance.now()),s(this,CV,a(this,gV)),s(this,yV,1e3/30),s(this,MV,new An({width:2*Wi.screenWidth,height:Wi.screenHeight}));const e=a(this,MV).canvas.transferControlToOffscreen();await h(this,pi,Zi).call(this,Pn.Transfer,{canvas:e},e),await h(this,DV,OV).call(this),s(this,gV,0),h(this,AV,qV).call(this,a(this,gV))}catch(e){c.logger.error(e)}},DV=new WeakSet,OV=async function(e=!0){try{a(this,uV).sources&&a(this,uV).sources.length>0&&(a(this,uV).sources&&!Wi.isMatrix(a(this,uV).sources)&&(a(this,uV).sources=Wi.fillMatrix(a(this,uV).sources)),s(this,XV,0),h(this,pi,Zi).call(this,Pn.Decode,{...a(this,uV),page:a(this,fV),calculatePage:e,screenWidth:Wi.screenWidth,screenHeight:Wi.screenHeight}).then((({frameCount:e,pages:t,page:l})=>{s(this,XV,0),s(this,wV,e),s(this,zV,t??1),s(this,fV,l),a(this,zV)>1?h(this,$V,ei).call(this):h(this,ni,Vi).call(this),this.play(),h(this,Ui,ci).call(this,In.Ready)})))}catch(e){c.logger.error(e)}},_V=new WeakSet,LV=function(){this.stop(),this.dispose(),h(this,vV,IV).call(this)},KV=new WeakSet,PV=function(){document.addEventListener("keyup",this.onKeyUpEvent),window.addEventListener("resize",this.onResize)},AV=new WeakSet,qV=function(e){if(s(this,BV,e-a(this,gV)),a(this,BV)>a(this,yV)){s(this,gV,e-a(this,BV)%a(this,yV));const t=Math.round(1e3/((e-a(this,CV))/++o(this,jV)._)*100)/100;a(this,bV)===vn.Play&&a(this,wV)>0&&(a(this,HV)||(s(this,HV,!0),h(this,pi,Zi).call(this,Pn.Render,{frame:a(this,XV),singleScale:a(this,uV).singleScale}),a(this,kV).draw(this.isAutostereoMode?a(this,xV).transform(a(this,MV).canvas):a(this,MV).canvas),s(this,HV,!1),a(this,uV).debug&&h(this,ii,ai).call(this,t)),++o(this,XV)._,a(this,XV)>=a(this,wV)&&s(this,XV,0))}window.requestAnimationFrame((e=>h(this,AV,qV).call(this,e)))},$V=new WeakSet,ei=function(){if(!a(this,GV))return;let e=document.getElementById(On);e||(e=document.createElement("div"),e.setAttribute("id",On),e.classList.add(zn)),e.innerHTML="",e.innerHTML+='<button type="button" data-type="prev">&lt;</button>',e.innerHTML+=`<div data-type="count">${a(this,fV)}/${a(this,zV)}</div>`,e.innerHTML+='<button type="button" data-type="next">&gt;</button>',e.addEventListener("click",this.navigate),a(this,GV).appendChild(e)},ti=new WeakSet,li=function(){if(!a(this,GV))return;const e=document.getElementById(On);if(!e)return;const t=e.querySelector('[data-type="count"]');t&&(t.innerHTML=`<div data-type="count">${a(this,fV)}/${a(this,zV)}</div>`)},ni=new WeakSet,Vi=function(){const e=document.getElementById(On);null==e||e.removeEventListener("click",this.navigate),null==e||e.remove()},ii=new WeakSet,ai=function(e){return new Promise((t=>{if(!a(this,GV))return;
1let l=document.getElementById(Dn);l||(l=document.createElement("div"),l.setAttribute("id",Dn),l.classList.add(fn)),l.innerText=`FPS: ${e}`,a(this,GV).appendChild(l),t()}))},ri=new WeakSet,si=function(e){const t={};"left"===e&&(t.ShiftLeft=!0),"right"===e&&(t.ShiftRight=!0),a(this,QV).sendMessage(JSON.stringify(t)),s(this,TV,e),h(this,Ui,ci).call(this,In.ShiftStart,t),setTimeout((()=>{s(this,TV,null),h(this,Ui,ci).call(this,In.ShiftFinish,t)}),300)},oi=new WeakSet,hi=function(e){if(e.shaderParams){if("1.4.1"!==e.shaderVer)return void c.logger.error("Wrong shader parameters version!");h(this,Ui,ci).call(this,In.Params,e),a(this,xV).setParameters(e)}else if(e.headPosition){if(s(this,SV,gn.OK),s(this,JV,[]),e.headDetected)if(c.isArray(e.directions)){const t=[];e.directions.map((e=>{switch(e){case"left":t.push(Bn.Left);break;case"right":t.push(Bn.Right);break;case"up":t.push(Bn.Up);break;case"down":t.push(Bn.Down);break;case"closer":t.push(Bn.Closer);break;case"back":t.push(Bn.Back)}})),t.length>0&&(s(this,SV,gn.TakeDirection),s(this,JV,t))}else s(this,SV,gn.OK);else s(this,SV,gn.NoHead);h(this,Ui,ci).call(this,In.HeadDetection,{status:a(this,SV),direction:a(this,JV)}),this.shouldRenderHeadDirection&&h(this,di,Ri).call(this)}else e.error&&c.logger.error(e.error)},di=new WeakSet,Ri=function(){if(!a(this,GV))return;let e=document.getElementById(Hn);if(!e){e=document.createElement("div"),e.setAttribute("id",Hn),e.classList.add(wn);const t=a(this,uV).headDirectionClassname;t&&e.classList.add(t)}const t=document.createElement("div");if(a(this,SV)===gn.NoExtension&&(t.innerHTML="<div>No Octonus 3D global head tracking extension!</div>"),a(this,SV)===gn.NoHead&&(t.innerHTML="<div>Head is not tracked!</div>"),a(this,SV)===gn.TakeDirection&&(t.innerHTML=`\n        <div>${function(e){return e.map((e=>{switch(e){case Bn.Left:return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 12h12M6 12l5-5m-5 5 5 5"/></svg>\r\n';case Bn.Right:return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 12h12m0 0-5-5m5 5-5 5"/></svg>\r\n';case Bn.Up:return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 5v14m0-14-6 6m6-6 6 6"/></svg>\r\n';case Bn.Down:return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v12m0 0-5-5m5 5 5-5"/></svg>\r\n';case Bn.Closer:return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M316.16 438.479c0-28.392 12.205-53.92 31.551-71.838-18.452-7.164-38.356-17.934-38.356-31.703v-37.782c6.996-19.393 17.51-20.781 22.768-50.546 12.254-4.379 19.258-11.384 28.009-42.026 6.574-23.064-3.112-29.254-9.382-30.905.128-1.229.256-2.466.359-3.917 2.369-34.543 22.425-137.078-47.012-149.332-18.38-14.296-30.043-20.774-69.436-18.38-24.938-.008-43.893 5.497-70.306-2.05-35.245 29.565-25.561 126.66-20.63 173.504-6.199 1.388-16.889 7.148-10.052 31.08 8.743 30.642 15.747 37.646 28.001 42.026 5.258 29.765 21.253 39.322 22.418 50.546v37.782c0 14.4-23.494 26.55-40.877 32.676C109.78 379.397 16.634 414.275 24.795 512h324.766c-20.43-17.982-33.401-44.235-33.401-73.521z" class="st0"/><path d="M414.188 364.958c-40.606 0-73.521 32.916-73.521 73.521S373.582 512 414.188 512s73.521-32.916 73.521-73.521-32.915-73.521-73.521-73.521zm40.845 83.732h-30.634v30.634h-20.422V448.69h-30.634v-20.422h30.634v-30.634h20.422v30.634h30.634v20.422z" /></svg>\r\n';case Bn.Back:return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M316.16 438.479c0-28.392 12.205-53.92 31.551-71.838-18.452-7.164-38.356-17.934-38.356-31.704v-37.782c6.996-19.393 17.51-20.781 22.768-50.546 12.254-4.379 19.258-11.384 28.009-42.026 6.574-23.063-3.112-29.253-9.382-30.905.128-1.229.256-2.466.36-3.917 2.369-34.543 22.425-137.079-47.012-149.332C285.717 6.134 274.054-.343 234.66 2.05c-24.937-.008-43.892 5.496-70.306-2.05-35.245 29.564-25.56 126.659-20.63 173.504-6.199 1.388-16.889 7.148-10.052 31.081 8.743 30.642 15.748 37.646 28.001 42.026 5.258 29.765 21.253 39.322 22.418 50.546v37.782c0 14.4-23.494 26.55-40.877 32.676C109.78 379.397 16.634 414.276 24.795 512h324.766c-20.43-17.981-33.401-44.235-33.401-73.521z" class="st0"/><path d="M414.188 364.957c-40.606 0-73.521 32.916-73.521 73.522 0 40.606 32.916 73.521 73.521 73.521 40.606 0 73.521-32.916 73.521-73.521 0-40.606-32.915-73.522-73.521-73.522zm40.845 83.733h-81.69v-20.423h81.69v20.423z" /></svg>\r\n';default:return""}})).join("")}(a(this,JV))}</div>\n        <div>Move your head ${function(e){let t="";if(!c.isArray(e))return t;const l=e.filter((e=>Object.values(Bn).some((t=>t===e))));for(let e=0;e<l.length;e++)0!==e&&(t+=" and "),l[e]===Bn.Left?t+="to the left":l[e]===Bn.Right?t+="to the right":l[e]===Bn.Up?t+="upwards":l[e]===Bn.Down?t+="downwards":l[e]===Bn.Closer?t+="closer to the screen":l[e]===Bn.Back&&(t+="backwards from the screen");return t}(a(this,JV))}.</div>\n      `.trim()),null!==a(this,TV)&&(t.innerHTML=`<div>mstart: ${a(this,xV).mstart}</div>`),t.children.length>0)return e.replaceChildren(t),void a(this,GV).appendChild(e);c.throttle((()=>e.remove()),0)},Ui=new WeakSet,ci=function(e,t={}){var l;null==(l=this.onMessage)||l.call(this,e,t)},pi=new WeakSet,Zi=function(e,t={}
1,l){return new Promise(((n,V)=>{a(this,YV).addEventListener("message",(t=>{t.data.action===e&&(t.data.error?V(t.data.error):n(t.data.data))})),a(this,YV).postMessage({action:e,data:t},l?[l]:[])}))};let mi=Wi}}]);
2//# sourceMappingURL=npm.cutwise.27e91cd9220060f589a5.bundle.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.