376 lines
1.8 MiB
376 lines
1.8 MiB
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Panzoom=e()}(this,function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function e(t,e){for(var n=t.length;n--;)if(t[n].pointerId===e.pointerId)return n;return-1}function n(t,o){var r;if(o.touches){r=0;for(var a=0,i=o.touches;a<i.length;a++){var c=i[a];c.pointerId=r++,n(t,c)}}else(r=e(t,o))>-1&&t.splice(r,1),t.push(o)}function o(t){for(var e,n=(t=t.slice(0)).pop();e=t.pop();)n={clientX:(e.clientX-n.clientX)/2+n.clientX,clientY:(e.clientY-n.clientY)/2+n.clientY};return n}function r(t){if(t.length<2)return 0;var e=t[0],n=t[1];return Math.sqrt(Math.pow(Math.abs(n.clientX-e.clientX),2)+Math.pow(Math.abs(n.clientY-e.clientY),2))}"undefined"!=typeof window&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}));var a={down:"mousedown",move:"mousemove",up:"mouseup mouseleave"};function i(t,e,n,o){a[t].split(" ").forEach(function(t){e.addEventListener(t,n,o)})}function c(t,e,n){a[t].split(" ").forEach(function(t){e.removeEventListener(t,n)})}"undefined"!=typeof window&&("function"==typeof window.PointerEvent?a={down:"pointerdown",move:"pointermove",up:"pointerup pointerleave pointercancel"}:"function"==typeof window.TouchEvent&&(a={down:"touchstart",move:"touchmove",up:"touchend touchcancel"}));var l,p="undefined"!=typeof document&&!!document.documentMode;function u(){return l||(l=document.createElement("div").style)}var d=["webkit","moz","ms"],s={};function f(t){if(s[t])return s[t];var e=u();if(t in e)return s[t]=t;for(var n=t[0].toUpperCase()+t.slice(1),o=d.length;o--;){var r=""+d[o]+n;if(r in e)return s[t]=r}}function m(t,e){return parseFloat(e[f(t)])||0}function h(t,e,n){void 0===n&&(n=window.getComputedStyle(t));var o="border"===e?"Width":"";return{left:m(e+"Left"+o,n),right:m(e+"Right"+o,n),top:m(e+"Top"+o,n),bottom:m(e+"Bottom"+o,n)}}function v(t,e,n){t.style[f(e)]=n}function g(t){var e=t.parentNode,n=window.getComputedStyle(t),o=window.getComputedStyle(e),r=t.getBoundingClientRect(),a=e.getBoundingClientRect();return{elem:{style:n,width:r.width,height:r.height,top:r.top,bottom:r.bottom,left:r.left,right:r.right,margin:h(t,"margin",n),border:h(t,"border",n)},parent:{style:o,width:a.width,height:a.height,top:a.top,bottom:a.bottom,left:a.left,right:a.right,padding:h(e,"padding",o),border:h(e,"border",o)}}}function y(t,e){return 1===t.nodeType&&(" "+function(t){return(t.getAttribute("class")||"").trim()}(t)+" ").indexOf(" "+e+" ")>-1}var w=/^http:[\w\.\/]+svg$/;var b={animate:!1,canvas:!1,cursor:"move",disablePan:!1,disableZoom:!1,disableXAxis:!1,disableYAxis:!1,duration:200,easing:"ease-in-out",exclude:[],excludeClass:"panzoom-exclude",handleStartEvent:function(t){t.preventDefault(),t.stopPropagation()},maxScale:4,minScale:.125,overflow:"hidden",panOnlyWhenZoomed:!1,relative:!1,setTransform:function(t,e,n){var o=e.x,r=e.y,a=e.scale,i=e.isSVG;if(v(t,"transform","scale("+a+") translate("+o+"px, "+r+"px)"),i&&p){var c=window.getComputedStyle(t).getPropertyValue("transform");t.setAttribute("transform",c)}},startX:0,startY:0,startScale:1,step:.3,touchAction:"none"};function x(l,p){if(!l)throw new Error("Panzoom requires an element as an argument");if(1!==l.nodeType)throw new Error("Panzoom requires an element with a nodeType of 1");if(!function(t){var e=t.ownerDocument,n=t.parentNode;return e&&n&&9===e.nodeType&&1===n.nodeType&&e.documentElement.contains(n)}(l))throw new Error("Panzoom should be called on elements that have been attached to the DOM");p=t(t({},b),p);var u=function(t){return w.test(t.namespaceURI)&&"svg"!==t.nodeName.toLowerCase()}(l),d=l.parentNode;d.style.overflow=p.overflow,d.style.userSelect="none",d.style.touchAction=p.touchAction,(p.canvas?d:l).style.cursor=p.cursor,l.style.userSelect="none",l.style.touchAction=p.touchAction,v(l,"transformOrigin","string"==typeof p.origin?p.origin:u?"0 0":"50% 50%");var s,m,h,x,S,E,M=0,O=0,P=1,z=!1;function A(t,e,n){if(!n.silent){var o=new CustomEvent(t,{detail:e});l.dispatchEvent(o)}}function X(t,e){var n={x:M,y:O,scale:P,isSVG:u};return requestAnimationFrame(function(){"boolean"==typeof e.animate&&(e.animate?function(t,e){v(t,"transition",f("transform")+" "+e.duration+"ms "+e.easing)}(l,e):v(l,"transition","none")),e.setTransform(l,n,e)}),A(t,n,e),A("panzoomchange",n,e),n}function Y(){if(p.contain){var t=g(l),e=t.parent.width-t.parent.border.left-t.parent.border.right,n=t.parent.height-t.parent.border.top-t.parent.border.bottom,o=e/(t.elem.width/P),r=n/(t.elem.height/P);"inside"===p.contain?p.maxScale=Math.min(o,r):"outside"===p.contain&&(p.minScale=Math.max(o,r))}}function C(e,n,o,r){var a=t(t({},p),r),i={x:M,y:O,opts:a};if(!a.force&&(a.disablePan||a.panOnlyWhenZoomed&&P===a.startScale))return i;if(e=parseFloat(e),n=parseFloat(n),a.disableXAxis||(i.x=(a.relative?M:0)+e),a.disableYAxis||(i.y=(a.relative?O:0)+n),"inside"===a.contain){var c=g(l);i.x=Math.max(-c.elem.margin.left-c.parent.padding.left,Math.min(c.parent.width-c.elem.width/o-c.parent.padding.left-c.elem.margin.left-c.parent.border.left-c.parent.border.right,i.x)),i.y=Math.max(-c.elem.margin.top-c.parent.padding.top,Math.min(c.parent.height-c.elem.height/o-c.parent.padding.top-c.elem.margin.top-c.parent.border.top-c.parent.border.bottom,i.y))}else if("outside"===a.contain){var u=(c=g(l)).elem.width/P,d=c.elem.height/P,s=u*o,f=d*o,m=(s-u)/2,h=(f-d)/2,v=(-(s-c.parent.width)-c.parent.padding.left-c.parent.border.left-c.parent.border.right+m)/o,y=(m-c.parent.padding.left)/o;i.x=Math.max(Math.min(i.x,y),v);var w=(-(f-c.parent.height)-c.parent.padding.top-c.parent.border.top-c.parent.border.bottom+h)/o,b=(h-c.parent.padding.top)/o;i.y=Math.max(Math.min(i.y,b),w)}return i}function T(e,n){var o=t(t({},p),n),r={scale:P,opts:o};return!o.force&&o.disableZoom?r:(r.scale=Math.min(Math.max(e,o.minScale),o.maxScale),r)}function N(t,e,n){var o=C(t,e,P,n),r=o.opts;return M=o.x,O=o.y,X("panzoompan",r)}function L(t,e){var n=T(t,e),o=n.opts;if(o.force||!o.disableZoom){t=n.scale;var r=M,a=O;if(o.focal){var i=o.focal;r=(i.x/t-i.x/P+M*t)/t,a=(i.y/t-i.y/P+O*t)/t}var c=C(r,a,t,{relative:!1,force:!0});return M=c.x,O=c.y,P=t,X("panzoomzoom",o)}}function I(e,n){var o=t(t(t({},p),{animate:!0}),n);return L(P*Math.exp((e?1:-1)*o.step),o)}function W(e,n,o){var r=g(l),a=r.parent.width-r.parent.padding.left-r.parent.padding.right-r.parent.border.left-r.parent.border.right,i=r.parent.height-r.parent.padding.top-r.parent.padding.bottom-r.parent.border.top-r.parent.border.bottom,c=n.clientX-r.parent.left-r.parent.padding.left-r.parent.border.left-r.elem.margin.left,p=n.clientY-r.parent.top-r.parent.padding.top-r.parent.border.top-r.elem.margin.top;u||(c-=r.elem.width/P/2,p-=r.elem.height/P/2);var d={x:c/a*(a*e),y:p/i*(i*e)};return L(e,t(t({animate:!1},o),{focal:d}))}L(p.startScale,{animate:!1}),setTimeout(function(){Y(),N(p.startX,p.startY,{animate:!1})});var Z=[];function q(t){if(!function(t,e){for(var n=t;null!=n;n=n.parentNode)if(y(n,e.excludeClass)||e.exclude.indexOf(n)>-1)return!0;return!1}(t.target,p)){n(Z,t),z=!0,p.handleStartEvent(t),s=M,m=O,A("panzoomstart",{x:M,y:O,scale:P},p);var e=o(Z);h=e.clientX,x=e.clientY,S=P,E=r(Z)}}function B(t){if(z&&void 0!==s&&void 0!==m&&void 0!==h&&void 0!==x){n(Z,t);var e=o(Z);if(Z.length>1)W(T((r(Z)-E)*p.step/80+S).scale,e);N(s+(e.clientX-h)/P,m+(e.clientY-x)/P,{animate:!1})}}function D(t){1===Z.length&&A("panzoomend",{x:M,y:O,scale:P},p),function(t,n){if(n.touches)for(;t.length;)t.pop();else{var o=e(t,n);o>-1&&t.splice(o,1)}}(Z,t),z&&(z=!1,s=m=h=x=void 0)}var F=!1;function R(){F||(F=!0,i("down",p.canvas?d:l,q),i("move",document,B,{passive:!0}),i("up",document,D,{passive:!0}))}return p.noBind||R(),{bind:R,destroy:function(){F=!1,c("down",p.canvas?d:l,q),c("move",document,B),c("up",document,D)},eventNames:a,getPan:function(){return{x:M,y:O}},getScale:function(){return P},getOptions:function(){return function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(p)},pan:N,reset:function(e){var n=t(t(t({},p),{animate:!0,force:!0}),e);P=T(n.startScale,n).scale;var o=C(n.startX,n.startY,P,n);return M=o.x,O=o.y,X("panzoomreset",n)},setOptions:function(t){for(var e in void 0===t&&(t={}),t)t.hasOwnProperty(e)&&(p[e]=t[e]);t.hasOwnProperty("cursor")&&(l.style.cursor=t.cursor),t.hasOwnProperty("overflow")&&(d.style.overflow=t.overflow),t.hasOwnProperty("touchAction")&&(d.style.touchAction=t.touchAction,l.style.touchAction=t.touchAction),(t.hasOwnProperty("minScale")||t.hasOwnProperty("maxScale")||t.hasOwnProperty("contain"))&&Y()},setStyle:function(t,e){return v(l,t,e)},zoom:L,zoomIn:function(t){return I(!0,t)},zoomOut:function(t){return I(!1,t)},zoomToPoint:W,zoomWithWheel:function(e,n){e.preventDefault();var o=t(t({},p),n),r=(0===e.deltaY&&e.deltaX?e.deltaX:e.deltaY)<0?1:-1;return W(T(P*Math.exp(r*o.step/3),o).scale,e,o)}}}return x.defaultOptions=b,x});
|
||
|
||
},{}],2:[function(require,module,exports){
|
||
module.exports=require("./lib/axios");
|
||
|
||
},{"./lib/axios":4}],3:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),settle=require("./../core/settle"),cookies=require("./../helpers/cookies"),buildURL=require("./../helpers/buildURL"),buildFullPath=require("../core/buildFullPath"),parseHeaders=require("./../helpers/parseHeaders"),isURLSameOrigin=require("./../helpers/isURLSameOrigin"),createError=require("../core/createError");module.exports=function(e){return new Promise(function(r,t){var s=e.data,o=e.headers;utils.isFormData(s)&&delete o["Content-Type"];var a=new XMLHttpRequest;if(e.auth){var n=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(n+":"+i)}var u=buildFullPath(e.baseURL,e.url);if(a.open(e.method.toUpperCase(),buildURL(u,e.params,e.paramsSerializer),!0),a.timeout=e.timeout,a.onreadystatechange=function(){if(a&&4===a.readyState&&(0!==a.status||a.responseURL&&0===a.responseURL.indexOf("file:"))){var s="getAllResponseHeaders"in a?parseHeaders(a.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:s,config:e,request:a};settle(r,t,o),a=null}},a.onabort=function(){a&&(t(createError("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){t(createError("Network Error",e,null,a)),a=null},a.ontimeout=function(){var r="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(r=e.timeoutErrorMessage),t(createError(r,e,"ECONNABORTED",a)),a=null},utils.isStandardBrowserEnv()){var l=(e.withCredentials||isURLSameOrigin(u))&&e.xsrfCookieName?cookies.read(e.xsrfCookieName):void 0;l&&(o[e.xsrfHeaderName]=l)}if("setRequestHeader"in a&&utils.forEach(o,function(e,r){void 0===s&&"content-type"===r.toLowerCase()?delete o[r]:a.setRequestHeader(r,e)}),utils.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(r){if("json"!==e.responseType)throw r}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){a&&(a.abort(),t(e),a=null)}),s||(s=null),a.send(s)})};
|
||
|
||
},{"../core/buildFullPath":10,"../core/createError":11,"./../core/settle":15,"./../helpers/buildURL":19,"./../helpers/cookies":21,"./../helpers/isURLSameOrigin":24,"./../helpers/parseHeaders":26,"./../utils":28}],4:[function(require,module,exports){
|
||
"use strict";var utils=require("./utils"),bind=require("./helpers/bind"),Axios=require("./core/Axios"),mergeConfig=require("./core/mergeConfig"),defaults=require("./defaults");function createInstance(e){var r=new Axios(e),i=bind(Axios.prototype.request,r);return utils.extend(i,Axios.prototype,r),utils.extend(i,r),i}var axios=createInstance(defaults);axios.Axios=Axios,axios.create=function(e){return createInstance(mergeConfig(axios.defaults,e))},axios.Cancel=require("./cancel/Cancel"),axios.CancelToken=require("./cancel/CancelToken"),axios.isCancel=require("./cancel/isCancel"),axios.all=function(e){return Promise.all(e)},axios.spread=require("./helpers/spread"),axios.isAxiosError=require("./helpers/isAxiosError"),module.exports=axios,module.exports.default=axios;
|
||
|
||
},{"./cancel/Cancel":5,"./cancel/CancelToken":6,"./cancel/isCancel":7,"./core/Axios":8,"./core/mergeConfig":14,"./defaults":17,"./helpers/bind":18,"./helpers/isAxiosError":23,"./helpers/spread":27,"./utils":28}],5:[function(require,module,exports){
|
||
"use strict";function Cancel(e){this.message=e}Cancel.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Cancel.prototype.__CANCEL__=!0,module.exports=Cancel;
|
||
|
||
},{}],6:[function(require,module,exports){
|
||
"use strict";var Cancel=require("./Cancel");function CancelToken(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var o=this;e(function(e){o.reason||(o.reason=new Cancel(e),n(o.reason))})}CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var e;return{token:new CancelToken(function(n){e=n}),cancel:e}},module.exports=CancelToken;
|
||
|
||
},{"./Cancel":5}],7:[function(require,module,exports){
|
||
"use strict";module.exports=function(t){return!(!t||!t.__CANCEL__)};
|
||
|
||
},{}],8:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),buildURL=require("../helpers/buildURL"),InterceptorManager=require("./InterceptorManager"),dispatchRequest=require("./dispatchRequest"),mergeConfig=require("./mergeConfig");function Axios(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[dispatchRequest,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},Axios.prototype.getUri=function(e){return e=mergeConfig(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils.forEach(["delete","get","head","options"],function(e){Axios.prototype[e]=function(t,r){return this.request(mergeConfig(r||{},{method:e,url:t,data:(r||{}).data}))}}),utils.forEach(["post","put","patch"],function(e){Axios.prototype[e]=function(t,r,o){return this.request(mergeConfig(o||{},{method:e,url:t,data:r}))}}),module.exports=Axios;
|
||
|
||
},{"../helpers/buildURL":19,"./../utils":28,"./InterceptorManager":9,"./dispatchRequest":12,"./mergeConfig":14}],9:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},InterceptorManager.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager.prototype.forEach=function(e){utils.forEach(this.handlers,function(t){null!==t&&e(t)})},module.exports=InterceptorManager;
|
||
|
||
},{"./../utils":28}],10:[function(require,module,exports){
|
||
"use strict";var isAbsoluteURL=require("../helpers/isAbsoluteURL"),combineURLs=require("../helpers/combineURLs");module.exports=function(e,s){return e&&!isAbsoluteURL(s)?combineURLs(e,s):s};
|
||
|
||
},{"../helpers/combineURLs":20,"../helpers/isAbsoluteURL":22}],11:[function(require,module,exports){
|
||
"use strict";var enhanceError=require("./enhanceError");module.exports=function(r,e,n,o,a){var c=new Error(r);return enhanceError(c,e,n,o,a)};
|
||
|
||
},{"./enhanceError":13}],12:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),transformData=require("./transformData"),isCancel=require("../cancel/isCancel"),defaults=require("../defaults");function throwIfCancellationRequested(e){e.cancelToken&&e.cancelToken.throwIfRequested()}module.exports=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData(e.data,e.headers,e.transformRequest),e.headers=utils.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils.forEach(["delete","get","head","post","put","patch","common"],function(a){delete e.headers[a]}),(e.adapter||defaults.adapter)(e).then(function(a){return throwIfCancellationRequested(e),a.data=transformData(a.data,a.headers,e.transformResponse),a},function(a){return isCancel(a)||(throwIfCancellationRequested(e),a&&a.response&&(a.response.data=transformData(a.response.data,a.response.headers,e.transformResponse))),Promise.reject(a)})};
|
||
|
||
},{"../cancel/isCancel":7,"../defaults":17,"./../utils":28,"./transformData":16}],13:[function(require,module,exports){
|
||
"use strict";module.exports=function(e,i,s,t,n){return e.config=i,s&&(e.code=s),e.request=t,e.response=n,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e};
|
||
|
||
},{}],14:[function(require,module,exports){
|
||
"use strict";var utils=require("../utils");module.exports=function(e,t){t=t||{};var i={},s=["url","method","data"],n=["headers","auth","proxy","params"],r=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function a(e,t){return utils.isPlainObject(e)&&utils.isPlainObject(t)?utils.merge(e,t):utils.isPlainObject(t)?utils.merge({},t):utils.isArray(t)?t.slice():t}function u(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(e[s],t[s])}utils.forEach(s,function(e){utils.isUndefined(t[e])||(i[e]=a(void 0,t[e]))}),utils.forEach(n,u),utils.forEach(r,function(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(void 0,t[s])}),utils.forEach(o,function(s){s in t?i[s]=a(e[s],t[s]):s in e&&(i[s]=a(void 0,e[s]))});var c=s.concat(n).concat(r).concat(o),l=Object.keys(e).concat(Object.keys(t)).filter(function(e){return-1===c.indexOf(e)});return utils.forEach(l,u),i};
|
||
|
||
},{"../utils":28}],15:[function(require,module,exports){
|
||
"use strict";var createError=require("./createError");module.exports=function(t,r,e){var s=e.config.validateStatus;e.status&&s&&!s(e.status)?r(createError("Request failed with status code "+e.status,e.config,null,e.request,e)):t(e)};
|
||
|
||
},{"./createError":11}],16:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");module.exports=function(t,u,r){return utils.forEach(r,function(r){t=r(t,u)}),t};
|
||
|
||
},{"./../utils":28}],17:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";var utils=require("./utils"),normalizeHeaderName=require("./helpers/normalizeHeaderName"),DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(e,t){!utils.isUndefined(e)&&utils.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function getDefaultAdapter(){var e;return"undefined"!=typeof XMLHttpRequest?e=require("./adapters/xhr"):"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process)&&(e=require("./adapters/http")),e}var defaults={adapter:getDefaultAdapter(),transformRequest:[function(e,t){return normalizeHeaderName(t,"Accept"),normalizeHeaderName(t,"Content-Type"),utils.isFormData(e)||utils.isArrayBuffer(e)||utils.isBuffer(e)||utils.isStream(e)||utils.isFile(e)||utils.isBlob(e)?e:utils.isArrayBufferView(e)?e.buffer:utils.isURLSearchParams(e)?(setContentTypeIfUnset(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):utils.isObject(e)?(setContentTypeIfUnset(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};utils.forEach(["delete","get","head"],function(e){defaults.headers[e]={}}),utils.forEach(["post","put","patch"],function(e){defaults.headers[e]=utils.merge(DEFAULT_CONTENT_TYPE)}),module.exports=defaults;
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"./adapters/http":3,"./adapters/xhr":3,"./helpers/normalizeHeaderName":25,"./utils":28,"_process":37}],18:[function(require,module,exports){
|
||
"use strict";module.exports=function(r,n){return function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];return r.apply(n,t)}};
|
||
|
||
},{}],19:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}module.exports=function(e,i,r){if(!i)return e;var t;if(r)t=r(i);else if(utils.isURLSearchParams(i))t=i.toString();else{var n=[];utils.forEach(i,function(e,i){null!=e&&(utils.isArray(e)?i+="[]":e=[e],utils.forEach(e,function(e){utils.isDate(e)?e=e.toISOString():utils.isObject(e)&&(e=JSON.stringify(e)),n.push(encode(i)+"="+encode(e))}))}),t=n.join("&")}if(t){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e};
|
||
|
||
},{"./../utils":28}],20:[function(require,module,exports){
|
||
"use strict";module.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e};
|
||
|
||
},{}],21:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?{write:function(e,t,n,i,u,o){var r=[];r.push(e+"="+encodeURIComponent(t)),utils.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),utils.isString(i)&&r.push("path="+i),utils.isString(u)&&r.push("domain="+u),!0===o&&r.push("secure"),document.cookie=r.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};
|
||
|
||
},{"./../utils":28}],22:[function(require,module,exports){
|
||
"use strict";module.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)};
|
||
|
||
},{}],23:[function(require,module,exports){
|
||
"use strict";module.exports=function(o){return"object"==typeof o&&!0===o.isAxiosError};
|
||
|
||
},{}],24:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function o(t){var o=t;return r&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=o(window.location.href),function(r){var e=utils.isString(r)?o(r):r;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};
|
||
|
||
},{"./../utils":28}],25:[function(require,module,exports){
|
||
"use strict";var utils=require("../utils");module.exports=function(e,t){utils.forEach(e,function(r,s){s!==t&&s.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[s])})};
|
||
|
||
},{"../utils":28}],26:[function(require,module,exports){
|
||
"use strict";var utils=require("./../utils"),ignoreDuplicateOf=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];module.exports=function(t){var e,i,r,o={};return t?(utils.forEach(t.split("\n"),function(t){if(r=t.indexOf(":"),e=utils.trim(t.substr(0,r)).toLowerCase(),i=utils.trim(t.substr(r+1)),e){if(o[e]&&ignoreDuplicateOf.indexOf(e)>=0)return;o[e]="set-cookie"===e?(o[e]?o[e]:[]).concat([i]):o[e]?o[e]+", "+i:i}}),o):o};
|
||
|
||
},{"./../utils":28}],27:[function(require,module,exports){
|
||
"use strict";module.exports=function(n){return function(t){return n.apply(null,t)}};
|
||
|
||
},{}],28:[function(require,module,exports){
|
||
"use strict";var bind=require("./helpers/bind"),toString=Object.prototype.toString;function isArray(r){return"[object Array]"===toString.call(r)}function isUndefined(r){return void 0===r}function isBuffer(r){return null!==r&&!isUndefined(r)&&null!==r.constructor&&!isUndefined(r.constructor)&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)}function isArrayBuffer(r){return"[object ArrayBuffer]"===toString.call(r)}function isFormData(r){return"undefined"!=typeof FormData&&r instanceof FormData}function isArrayBufferView(r){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer&&r.buffer instanceof ArrayBuffer}function isString(r){return"string"==typeof r}function isNumber(r){return"number"==typeof r}function isObject(r){return null!==r&&"object"==typeof r}function isPlainObject(r){if("[object Object]"!==toString.call(r))return!1;var e=Object.getPrototypeOf(r);return null===e||e===Object.prototype}function isDate(r){return"[object Date]"===toString.call(r)}function isFile(r){return"[object File]"===toString.call(r)}function isBlob(r){return"[object Blob]"===toString.call(r)}function isFunction(r){return"[object Function]"===toString.call(r)}function isStream(r){return isObject(r)&&isFunction(r.pipe)}function isURLSearchParams(r){return"undefined"!=typeof URLSearchParams&&r instanceof URLSearchParams}function trim(r){return r.replace(/^\s*/,"").replace(/\s*$/,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(r,e){if(null!=r)if("object"!=typeof r&&(r=[r]),isArray(r))for(var t=0,n=r.length;t<n;t++)e.call(null,r[t],t,r);else for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.call(null,r[i],i,r)}function merge(){var r={};function e(e,t){isPlainObject(r[t])&&isPlainObject(e)?r[t]=merge(r[t],e):isPlainObject(e)?r[t]=merge({},e):isArray(e)?r[t]=e.slice():r[t]=e}for(var t=0,n=arguments.length;t<n;t++)forEach(arguments[t],e);return r}function extend(r,e,t){return forEach(e,function(e,n){r[n]=t&&"function"==typeof e?bind(e,t):e}),r}function stripBOM(r){return 65279===r.charCodeAt(0)&&(r=r.slice(1)),r}module.exports={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM};
|
||
|
||
},{"./helpers/bind":18}],29:[function(require,module,exports){
|
||
"use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){var r,e,t=getLens(o),n=t[0],u=t[1],p=new Arr(_byteLength(o,n,u)),a=0,h=u>0?n-4:n;for(e=0;e<h;e+=4)r=revLookup[o.charCodeAt(e)]<<18|revLookup[o.charCodeAt(e+1)]<<12|revLookup[o.charCodeAt(e+2)]<<6|revLookup[o.charCodeAt(e+3)],p[a++]=r>>16&255,p[a++]=r>>8&255,p[a++]=255&r;return 2===u&&(r=revLookup[o.charCodeAt(e)]<<2|revLookup[o.charCodeAt(e+1)]>>4,p[a++]=255&r),1===u&&(r=revLookup[o.charCodeAt(e)]<<10|revLookup[o.charCodeAt(e+1)]<<4|revLookup[o.charCodeAt(e+2)]>>2,p[a++]=r>>8&255,p[a++]=255&r),p}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;u<e;u+=3)t=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(255&o[u+2]),n.push(tripletToBase64(t));return n.join("")}function fromByteArray(o){for(var r,e=o.length,t=e%3,n=[],u=0,p=e-t;u<p;u+=16383)n.push(encodeChunk(o,u,u+16383>p?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63;
|
||
|
||
},{}],30:[function(require,module,exports){
|
||
|
||
},{}],31:[function(require,module,exports){
|
||
(function (Buffer){(function (){
|
||
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function fromArrayBuffer(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r)).__proto__=Buffer.prototype,n}function fromObject(e){if(Buffer.isBuffer(e)){var t=0|checked(e.length),r=createBuffer(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||numberIsNaN(e.length)?createBuffer(0):fromArrayLike(e):"Buffer"===e.type&&Array.isArray(e.data)?fromArrayLike(e.data):void 0}function checked(e){if(e>=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;i<u;i++)if(a(e,i)===a(t,-1===h?0:i-h)){if(-1===h&&(h=i),i-h+1===s)return h*o}else-1!==h&&(i-=i-h),h=-1}else for(r+s>u&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;l<s;l++)if(a(e,i+l)!==a(t,l)){c=!1;break}if(c)return i}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var f=e.length-r;n?(n=Number(n))>f&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var u=parseInt(t.substr(2*o,2),16);if(numberIsNaN(u))return o;e[r+o]=u}return o}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?base64.fromByteArray(e):base64.fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],f=t;f<r;){var i,o,u,s,a=e[f],h=null,c=a>239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);f<i;++f)if(e[f]!==t[f]){r=e[f],n=t[f];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),f=0;for(r=0;r<e.length;++r){var i=e[r];if(isInstance(i,Uint8Array)&&(i=Buffer.from(i)),!Buffer.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(e){if(!Buffer.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=exports.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h<u;++h)if(s[h]!==a[h]){i=s[h],o=a[h];break}return i<o?-1:o<i?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(127&e[f]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(e[f]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var f="",i=t;i<r;++i)f+=toHex(e[i]);return f}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=Buffer.prototype,n},Buffer.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n},Buffer.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n>=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i<r&&(f*=256);)this[t+i]=e/f&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===u&&0!==this[t+i-1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var f=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var i=f-1;i>=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=Buffer.isBuffer(e)?e:Buffer.from(e,n),u=o.length;if(0===u)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(e){if((e=(e=e.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,f=null,i=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,f,i=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f<n&&!(f+r>=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}
|
||
|
||
}).call(this)}).call(this,require("buffer").Buffer)
|
||
|
||
},{"base64-js":29,"buffer":31,"ieee754":33}],32:[function(require,module,exports){
|
||
"use strict";var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var NumberIsNaN=Number.isNaN||function(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter,module.exports.once=once,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,n,r){var i,o,s;if(checkListener(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=_getMaxListeners(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,ProcessEmitWarning(u)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=onceWrapper.bind(r);return i.listener=n,r.wrapFn=i,i}function _listeners(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?unwrapListeners(i):arrayClone(i,i.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function arrayClone(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function unwrapListeners(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function once(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}eventTargetAgnosticAddListener(e,t,o,{once:!0}),"error"!==t&&addErrorHandlerIfEventEmitter(e,i,{once:!0})})}function addErrorHandlerIfEventEmitter(e,t,n){"function"==typeof e.on&&eventTargetAgnosticAddListener(e,"error",t,n)}function eventTargetAgnosticAddListener(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function i(o){r.once&&e.removeEventListener(t,i),n(o)})}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");defaultMaxListeners=e}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},EventEmitter.prototype.getMaxListeners=function(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)ReflectApply(u,this,t);else{var f=u.length,v=arrayClone(u,f);for(n=0;n<f;++n)ReflectApply(v[n],this,t)}return!0},EventEmitter.prototype.addListener=function(e,t){return _addListener(this,e,t,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(e,t){return _addListener(this,e,t,!0)},EventEmitter.prototype.once=function(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.prependOnceListener=function(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.removeListener=function(e,t){var n,r,i,o,s;if(checkListener(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():spliceOne(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};
|
||
|
||
},{}],33:[function(require,module,exports){
|
||
exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
|
||
|
||
},{}],34:[function(require,module,exports){
|
||
"function"==typeof Object.create?module.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}};
|
||
|
||
},{}],35:[function(require,module,exports){
|
||
function jBoxWrapper(t){function i(o,s){return this.options={id:null,width:"auto",height:"auto",minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,responsiveWidth:!0,responsiveHeight:!0,responsiveMinWidth:100,responsiveMinHeight:100,attach:null,trigger:"click",preventDefault:!1,content:null,getContent:null,title:null,getTitle:null,footer:null,isolateScroll:!0,ajax:{url:null,data:"",reload:!1,getURL:"data-url",getData:"data-ajax",setContent:!0,loadingClass:!0,spinner:!0,spinnerDelay:300,spinnerReposition:!0},cancelAjaxOnClose:!0,target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},fixed:!1,adjustPosition:!0,adjustTracker:!1,adjustDistance:5,reposition:!0,repositionOnOpen:!0,repositionOnContent:!0,holdPosition:!0,pointer:!1,pointTo:"target",fade:180,animation:null,theme:"Default",addClass:null,overlay:!1,overlayClass:null,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:!1,closeOnClick:!1,closeOnMouseleave:!1,closeButton:!1,appendTo:t("body"),createOnInit:!1,blockScroll:!1,blockScrollAdjust:!0,draggable:!1,dragOver:!0,autoClose:!1,delayOnHover:!1,showCountdown:!1,preloadAudio:!0,audio:null,volume:100,onInit:null,onAttach:null,onPosition:null,onCreated:null,onOpen:null,onClose:null,onCloseComplete:null,onDragStart:null,onDragEnd:null},this._pluginOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:!0},Mouse:{responsiveWidth:!1,responsiveHeight:!1,adjustPosition:"flip",target:"mouse",trigger:"mouseenter",position:{x:"right",y:"bottom"},outside:"xy",offset:5},Modal:{target:t(window),fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomIn"}},this.options=t.extend(!0,this.options,this._pluginOptions[o]||i._pluginOptions[o],s),"string"==t.type(o)&&(this.type=o),this.isTouchDevice=function(){var t,i=" -webkit- -moz- -o- -ms- ".split(" ");return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)||(t=i=["(",i.join("touch-enabled),("),"heartz",")"].join(""),window.matchMedia(t).matches)}(),this.isTouchDevice&&"mouseenter"===this.options.trigger&&!1===this.options.closeOnClick&&(this.options.closeOnClick="body"),this._fireEvent=function(t,i){this.options["_"+t]&&this.options["_"+t].bind(this)(i),this.options[t]&&this.options[t].bind(this)(i)},null===this.options.id&&(this.options.id="jBox"+i._getUniqueID()),this.id=this.options.id,("center"==this.options.position.x&&"x"==this.options.outside||"center"==this.options.position.y&&"y"==this.options.outside)&&(this.options.outside=null),"target"!=this.options.pointTo||this.options.outside&&"xy"!=this.options.outside||(this.options.pointer=!1),"object"!=t.type(this.options.offset)?this.options.offset={x:this.options.offset,y:this.options.offset}:this.options.offset=t.extend({x:0,y:0},this.options.offset),"object"!=t.type(this.options.adjustDistance)?this.options.adjustDistance={top:this.options.adjustDistance,right:this.options.adjustDistance,bottom:this.options.adjustDistance,left:this.options.adjustDistance}:this.options.adjustDistance=t.extend({top:5,left:5,right:5,bottom:5},this.options.adjustDistance),this.outside=!(!this.options.outside||"xy"==this.options.outside)&&this.options.position[this.options.outside],this.align=this.outside||("center"!=this.options.position.y&&"number"!=t.type(this.options.position.y)?this.options.position.x:"center"!=this.options.position.x&&"number"!=t.type(this.options.position.x)?this.options.position.y:this.options.attributes.x),i.zIndexMax=Math.max(i.zIndexMax||0,"auto"===this.options.zIndex?1e4:this.options.zIndex),"auto"===this.options.zIndex&&(this.adjustZIndexOnOpen=!0,i.zIndexMax+=2,this.options.zIndex=i.zIndexMax,this.trueModal=this.options.overlay),this._getOpp=function(t){return{left:"right",right:"left",top:"bottom",bottom:"top",x:"y",y:"x"}[t]},this._getXY=function(t){return{left:"x",right:"x",top:"y",bottom:"y",center:"x"}[t]},this._getTL=function(t){return{left:"left",right:"left",top:"top",bottom:"top",center:"left",x:"left",y:"top"}[t]},this._getInt=function(i,o){return"auto"==i?"auto":i&&"string"==t.type(i)&&"%"==i.slice(-1)?t(window)["height"==o?"innerHeight":"innerWidth"]()*parseInt(i.replace("%",""))/100:i},this._createSVG=function(i,o){var s=document.createElementNS("http://www.w3.org/2000/svg",i);return t.each(o,function(t,i){s.setAttribute(i[0],i[1]||"")}),s},this._isolateScroll=function(t){t&&t.length&&t.on("DOMMouseScroll.jBoxIsolateScroll mousewheel.jBoxIsolateScroll",function(i){var o=i.wheelDelta||i.originalEvent&&i.originalEvent.wheelDelta||-i.detail,s=0<=this.scrollTop+t.outerHeight()-this.scrollHeight,e=this.scrollTop<=0;(o<0&&s||0<o&&e)&&i.preventDefault()})},this._setTitleWidth=function(){if(!this.titleContainer||"auto"==this.content[0].style.width&&!this.content[0].style.maxWidth)return null;var t;"none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=this.content.outerWidth(),this.wrapper.css("display","none")):t=this.content.outerWidth(),this.titleContainer.css({maxWidth:Math.max(t,parseInt(this.content[0].style.maxWidth))||null})},this._draggable=function(){if(!this.options.draggable)return!1;var o="title"==this.options.draggable?this.titleContainer:this.options.draggable instanceof t?this.options.draggable:"string"==t.type(this.options.draggable)?t(this.options.draggable):this.wrapper;return!(!(o&&o instanceof t&&o.length)||o.data("jBox-draggable"))&&(o.addClass("jBox-draggable").data("jBox-draggable",!0).on("touchstart mousedown",function(o){var s,e,n,a,h,r;2==o.button||t(o.target).hasClass("jBox-noDrag")||t(o.target).parents(".jBox-noDrag").length?"touchstart"==o.type&&(t(o.target).hasClass("jBox-closeButton")||t(o.target).parents(".jBox-closeButton").length)&&this.close({ignoreDelay:!0}):(e="touchstart"==o.type&&o.touches&&o.touches[0]?(s=o.touches[0].pageX,o.touches[0].pageY):(s=o.pageX,o.pageY),this.draggingStartX=s,this.draggingStartY=e,this.options.dragOver&&!this.trueModal&&parseInt(this.wrapper.css("zIndex"),10)<=i.zIndexMaxDragover&&(i.zIndexMaxDragover+=1,this.wrapper.css("zIndex",i.zIndexMaxDragover)),n=this.wrapper.outerHeight(),a=this.wrapper.outerWidth(),h=this.wrapper.offset().top+n-e,r=this.wrapper.offset().left+a-s,t(document).on("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id,function(t){var i;t="touchmove"==t.type&&t.touches&&t.touches[0]?(i=t.touches[0].pageX,t.touches[0].pageY):(i=t.pageX,t.pageY);this.dragging||this.draggingStartX==i||this.draggingStartY==t||(this._fireEvent("onDragStart"),this.dragging=!0),this.wrapper.offset({top:t+h-n,left:i+r-a})}.bind(this)),o.preventDefault())}.bind(this)).on("touchend mouseup",function(){var i;t(document).off("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id),this.dragging&&this._fireEvent("onDragEnd"),this.dragging=!1,"Modal"!=this.type&&"Confirm"!=this.type||!this.options.holdPosition||(i={x:(i=t("#"+this.id).offset()).left-t(document).scrollLeft(),y:i.top-t(document).scrollTop()},this.position({position:i,offset:{x:0,y:0}}))}.bind(this)),this.trueModal||(i.zIndexMaxDragover=i.zIndexMaxDragover?Math.max(i.zIndexMaxDragover,this.options.zIndex):this.options.zIndex),this)},this._create=function(){var i;this.wrapper||(this.wrapper=t("<div/>",{id:this.id,class:"jBox-wrapper"+(this.type?" jBox-"+this.type:"")+(this.options.theme?" jBox-"+this.options.theme:"")+(this.options.addClass?" "+this.options.addClass:"")}).css({position:this.options.fixed?"fixed":"absolute",display:"none",opacity:0,zIndex:this.options.zIndex}).data("jBox",this),this.options.closeOnMouseleave&&this.wrapper.on("mouseleave",function(i){!this.source||i.relatedTarget!=this.source[0]&&-1===t.inArray(this.source[0],t(i.relatedTarget).parents("*"))&&this.close()}.bind(this)),"box"==this.options.closeOnClick&&this.wrapper.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),this.container=t('<div class="jBox-container"/>').appendTo(this.wrapper),this.content=t('<div class="jBox-content"/>').appendTo(this.container),this.options.footer&&(this.footer=t('<div class="jBox-footer"/>').append(this.options.footer).appendTo(this.container)),this.options.isolateScroll&&this._isolateScroll(this.content),this.options.closeButton&&((i=this._createSVG("svg",[["viewBox","0 0 24 24"]])).appendChild(this._createSVG("path",[["d","M22.2,4c0,0,0.5,0.6,0,1.1l-6.8,6.8l6.9,6.9c0.5,0.5,0,1.1,0,1.1L20,22.3c0,0-0.6,0.5-1.1,0L12,15.4l-6.9,6.9c-0.5,0.5-1.1,0-1.1,0L1.7,20c0,0-0.5-0.6,0-1.1L8.6,12L1.7,5.1C1.2,4.6,1.7,4,1.7,4L4,1.7c0,0,0.6-0.5,1.1,0L12,8.5l6.8-6.8c0.5-0.5,1.1,0,1.1,0L22.2,4z"]])),this.closeButton=t('<div class="jBox-closeButton jBox-noDrag"/>').on("click tap",function(t){this.close({ignoreDelay:!0})}.bind(this)).append(i),"box"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay||this.options.title||this.options.getTitle)||(this.wrapper.addClass("jBox-closeButton-box"),this.closeButton.appendTo(this.container))),this.wrapper.appendTo(this.options.appendTo),this.wrapper.find(".jBox-closeButton").length&&t.each(["top","right","bottom","left"],function(t,i){this.wrapper.find(".jBox-closeButton").css(i)&&"auto"!=this.wrapper.find(".jBox-closeButton").css(i)&&(this.options.adjustDistance[i]=Math.max(this.options.adjustDistance[i],this.options.adjustDistance[i]+-1*((parseInt(this.wrapper.find(".jBox-closeButton").css(i))||0)+(parseInt(this.container.css("border-"+i+"-width"))||0))))}.bind(this)),this.options.pointer&&(this.pointer={position:"target"!=this.options.pointTo?this.options.pointTo:this._getOpp(this.outside),xy:"target"!=this.options.pointTo?this._getXY(this.options.pointTo):this._getXY(this.outside),align:"center",offset:0},this.pointer.element=t('<div class="jBox-pointer jBox-pointer-'+this.pointer.position+'"/>').appendTo(this.wrapper),this.pointer.dimensions={x:this.pointer.element.outerWidth(),y:this.pointer.element.outerHeight()},"string"==t.type(this.options.pointer)&&((i=this.options.pointer.split(":"))[0]&&(this.pointer.align=i[0]),i[1]&&(this.pointer.offset=parseInt(i[1]))),this.pointer.alignAttribute="x"==this.pointer.xy?"bottom"==this.pointer.align?"bottom":"top":"right"==this.pointer.align?"right":"left",this.wrapper.css("padding-"+this.pointer.position,this.pointer.dimensions[this.pointer.xy]),this.pointer.element.css(this.pointer.alignAttribute,"center"==this.pointer.align?"50%":0).css("margin-"+this.pointer.alignAttribute,this.pointer.offset),this.pointer.margin={},this.pointer.margin["margin-"+this.pointer.alignAttribute]=this.pointer.offset,"center"==this.pointer.align&&this.pointer.element.css("transform","translate("+("y"==this.pointer.xy?-.5*this.pointer.dimensions.x+"px":0)+", "+("x"==this.pointer.xy?-.5*this.pointer.dimensions.y+"px":0)+")"),this.pointer.element.css("x"==this.pointer.xy?"width":"height",parseInt(this.pointer.dimensions[this.pointer.xy])+parseInt(this.container.css("border-"+this.pointer.alignAttribute+"-width"))),this.wrapper.addClass("jBox-pointerPosition-"+this.pointer.position)),this.setContent(this.options.content,!0),this.setTitle(this.options.title,!0),this.options.draggable&&this._draggable(),this._fireEvent("onCreated"))},this.options.createOnInit&&this._create(),this.options.attach&&this.attach(),this._attachEvents=function(){this.options.delayOnHover&&t("#"+this.id).on("mouseenter",function(t){this.isHovered=!0}.bind(this)),this.options.delayOnHover&&t("#"+this.id).on("mouseleave",function(t){this.isHovered=!1}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&!this.fixed&&this.outside&&(this.options.adjustTracker&&t(window).on("scroll.jBox-"+this.id,function(t){this.position()}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&t(window).on("resize.jBox-"+this.id,function(t){this.position()}.bind(this))),"mouse"==this.options.target&&t("body").on("mousemove.jBox-"+this.id,function(t){this.position({mouseTarget:{top:t.pageY,left:t.pageX}})}.bind(this))},this._detachEvents=function(){this.options.closeOnEsc&&t(document).off("keyup.jBox-"+this.id),!0!==this.options.closeOnClick&&"body"!=this.options.closeOnClick||t(document).off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.options.adjustTracker&&t(window).off("scroll.jBox-"+this.id),(this.options.adjustPosition||this.options.reposition)&&t(window).off("resize.jBox-"+this.id),"mouse"==this.options.target&&t("body").off("mousemove.jBox-"+this.id)},this._showOverlay=function(){this.overlay||(this.overlay=t('<div id="'+this.id+'-overlay"/>').addClass("jBox-overlay"+(this.type?" jBox-overlay-"+this.type:"")).css({display:"none",opacity:0,zIndex:this.options.zIndex-1}).appendTo(this.options.appendTo),this.options.overlayClass&&this.overlay.addClass(this.options.overlayClass),"overlay"!=this.options.closeButton&&!0!==this.options.closeButton||this.overlay.append(this.closeButton),"overlay"==this.options.closeOnClick&&this.overlay.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),t("#"+this.id+"-overlay .jBox-closeButton").length&&(this.options.adjustDistance.top=Math.max(t("#"+this.id+"-overlay .jBox-closeButton").outerHeight(),this.options.adjustDistance.top))),!0===this.adjustZIndexOnOpen&&this.overlay.css("zIndex",parseInt(this.wrapper.css("zIndex"),10)-1),"block"!=this.overlay.css("display")&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.overlay.css({display:"block"})}.bind(this)}):this.overlay.css({display:"block",opacity:1}))},this._hideOverlay=function(){this.overlay&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:0},{queue:!1,duration:this.options.fade,complete:function(){this.overlay.css({display:"none"})}.bind(this)}):this.overlay.css({display:"none",opacity:0}))},this._exposeDimensions=function(){this.wrapper.css({top:-1e4,left:-1e4,right:"auto",bottom:"auto"});var t={x:this.wrapper.outerWidth(),y:this.wrapper.outerHeight()};return this.wrapper.css({top:"auto",left:"auto"}),t},this._generateAnimationCSS=function(){if("object"!=t.type(this.options.animation)&&(this.options.animation={pulse:{open:"pulse",close:"zoomOut"},zoomIn:{open:"zoomIn",close:"zoomIn"},zoomOut:{open:"zoomOut",close:"zoomOut"},move:{open:"move",close:"move"},slide:{open:"slide",close:"slide"},flip:{open:"flip",close:"flip"},tada:{open:"tada",close:"zoomOut"}}[this.options.animation]),!this.options.animation)return null;this.options.animation.open&&(this.options.animation.open=this.options.animation.open.split(":")),this.options.animation.close&&(this.options.animation.close=this.options.animation.close.split(":")),this.options.animation.openDirection=this.options.animation.open[1]||null,this.options.animation.closeDirection=this.options.animation.close[1]||null,this.options.animation.open&&(this.options.animation.open=this.options.animation.open[0]),this.options.animation.close&&(this.options.animation.close=this.options.animation.close[0]),this.options.animation.open&&(this.options.animation.open+="Open"),this.options.animation.close&&(this.options.animation.close+="Close");var i={pulse:{duration:350,css:[["0%","scale(1)"],["50%","scale(1.1)"],["100%","scale(1)"]]},zoomInOpen:{duration:this.options.fade||180,css:[["0%","scale(0.9)"],["100%","scale(1)"]]},zoomInClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(0.9)"]]},zoomOutOpen:{duration:this.options.fade||180,css:[["0%","scale(1.1)"],["100%","scale(1)"]]},zoomOutClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(1.1)"]]},moveOpen:{duration:this.options.fade||180,positions:{top:{"0%":-12},right:{"0%":12},bottom:{"0%":12},left:{"0%":-12}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},moveClose:{duration:this.options.fade||180,timing:"ease-in",positions:{top:{"100%":-12},right:{"100%":12},bottom:{"100%":12},left:{"100%":-12}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},slideOpen:{duration:400,positions:{top:{"0%":-400},right:{"0%":400},bottom:{"0%":400},left:{"0%":-400}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},slideClose:{duration:400,timing:"ease-in",positions:{top:{"100%":-400},right:{"100%":400},bottom:{"100%":400},left:{"100%":-400}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},flipOpen:{duration:600,css:[["0%","perspective(400px) rotateX(90deg)"],["40%","perspective(400px) rotateX(-15deg)"],["70%","perspective(400px) rotateX(15deg)"],["100%","perspective(400px) rotateX(0deg)"]]},flipClose:{duration:this.options.fade||300,css:[["0%","perspective(400px) rotateX(0deg)"],["100%","perspective(400px) rotateX(90deg)"]]},tada:{duration:800,css:[["0%","scale(1)"],["10%, 20%","scale(0.9) rotate(-3deg)"],["30%, 50%, 70%, 90%","scale(1.1) rotate(3deg)"],["40%, 60%, 80%","scale(1.1) rotate(-3deg)"],["100%","scale(1) rotate(0)"]]}};t.each(["pulse","tada"],function(t,o){i[o+"Open"]=i[o+"Close"]=i[o]});var o=function(o,s){var e="@keyframes jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {";return t.each(i[this.options.animation[o]].css,function(t,n){var a=s?n[1].replace("%XY",this._getXY(s).toUpperCase()):n[1];i[this.options.animation[o]].positions&&(a=a.replace("%V",i[this.options.animation[o]].positions[s][n[0]])),e+=n[0]+" {transform:"+a+";}"}.bind(this)),e+="}",e+=".jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {",e+="animation-duration: "+i[this.options.animation[o]].duration+"ms;",e+="animation-name: jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+";",e+=i[this.options.animation[o]].timing?"animation-timing-function: "+i[this.options.animation[o]].timing+";":"",e+="}"}.bind(this);this._animationCSS="",t.each(["open","close"],function(s,e){if(!this.options.animation[e]||!i[this.options.animation[e]]||"close"==e&&!this.options.fade)return"";i[this.options.animation[e]].positions?t.each(["top","right","bottom","left"],function(t,i){this._animationCSS+=o(e,i)}.bind(this)):this._animationCSS+=o(e)}.bind(this))},this.options.animation&&this._generateAnimationCSS(),this._blockBodyClick=function(){this.blockBodyClick=!0,setTimeout(function(){this.blockBodyClick=!1}.bind(this),10)},this._animate=function(t){if(t=t||(this.isOpen?"open":"close"),!this.options.fade&&"close"==t)return null;var i=this.options.animation[t+"Direction"]||("center"!=this.align?this.align:this.options.attributes.x);this.flipped&&this._getXY(i)==this._getXY(this.align)&&(i=this._getOpp(i));var o="jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+" jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+"-"+i;this.wrapper.addClass(o),i=1e3*parseFloat(this.wrapper.css("animation-duration")),"close"==t&&(i=Math.min(i,this.options.fade)),setTimeout(function(){this.wrapper.removeClass(o)}.bind(this),i)},this._abortAnimation=function(){var t=this.wrapper.attr("class").split(" ").filter(function(t){return 0!==t.lastIndexOf("jBox-"+this.id+"-animation",0)}.bind(this));this.wrapper.attr("class",t.join(" "))},(this.options.responsiveWidth||this.options.responsiveHeight)&&t(window).on("resize.responsivejBox-"+this.id,function(t){this.isOpen&&this.position()}.bind(this)),"string"===t.type(this.options.preloadAudio)&&(this.options.preloadAudio=[this.options.preloadAudio]),"string"===t.type(this.options.audio)&&(this.options.audio={open:this.options.audio}),"number"===t.type(this.options.volume)&&(this.options.volume={open:this.options.volume,close:this.options.volume}),!0===this.options.preloadAudio&&this.options.audio&&(this.options.preloadAudio=[],t.each(this.options.audio,function(t,i){this.options.preloadAudio.push(i+".mp3"),this.options.preloadAudio.push(i+".ogg")}.bind(this))),this.options.preloadAudio.length&&t.each(this.options.preloadAudio,function(t,i){var o=new Audio;o.src=i,o.preload="auto"}),this._fireEvent("onInit"),this}var o,s;return i.prototype.attach=function(i,o){return i=i||this.options.attach,"string"==t.type(i)&&(i=t(i)),o=o||this.options.trigger,i&&i.length&&t.each(i,function(i,s){(s=t(s)).data("jBox-attached-"+this.id)||("title"==this.options.getContent&&null!=s.attr("title")&&s.data("jBox-getContent",s.attr("title")).removeAttr("title"),this.attachedElements||(this.attachedElements=[]),this.attachedElements.push(s[0]),s.on(o+".jBox-attach-"+this.id,function(t){var i;this.timer&&clearTimeout(this.timer),"mouseenter"==o&&this.isOpen&&this.source[0]==s[0]||(this.isOpen&&this.source&&this.source[0]!=s[0]&&(i=!0),this.source=s,this.options.target||(this.target=s),"click"==o&&this.options.preventDefault&&t.preventDefault(),this["click"!=o||i?"open":"toggle"]())}.bind(this)),"mouseenter"==this.options.trigger&&s.on("mouseleave",function(i){if(!this.wrapper)return null;this.options.closeOnMouseleave&&(i.relatedTarget==this.wrapper[0]||t(i.relatedTarget).parents("#"+this.id).length)||this.close()}.bind(this)),s.data("jBox-attached-"+this.id,o),this._fireEvent("onAttach",s))}.bind(this)),this},i.prototype.detach=function(i){return(i=i||this.attachedElements||[])&&i.length&&t.each(i,function(i,o){(o=t(o)).data("jBox-attached-"+this.id)&&(o.off(o.data("jBox-attached-"+this.id)+".jBox-attach-"+this.id),o.data("jBox-attached-"+this.id,null)),this.attachedElements=t.grep(this.attachedElements,function(t){return t!=o[0]})}.bind(this)),this},i.prototype.setTitle=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();return this.title||(this.titleContainer=t('<div class="jBox-title"/>'),this.title=t("<div/>").appendTo(this.titleContainer),"title"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay)||(this.wrapper.addClass("jBox-closeButton-title"),this.closeButton.appendTo(this.titleContainer)),this.titleContainer.insertBefore(this.content),this._setTitleWidth()),this.wrapper[i?"addClass":"removeClass"]("jBox-hasTitle"),this.title.html(i),e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setContent=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();switch(this.content.children("[data-jbox-content-appended]").appendTo("body").css({display:"none"}),t.type(i)){case"string":this.content.html(i);break;case"object":i&&(i instanceof t||i.constructor.prototype.jquery)?(this.content.html(""),i.attr("data-jbox-content-appended",1).appendTo(this.content).css({display:"block"})):this.content.html(JSON.stringify(i))}return e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setDimensions=function(t,i,o){this.wrapper||this._create(),null==i&&(i="auto"),this.content.css(t,this._getInt(i)),"width"==t&&this._setTitleWidth(),this.options[t]=i,null!=o&&!o||this.position()},i.prototype.setWidth=function(t,i){this.setDimensions("width",t,i)},i.prototype.setHeight=function(t,i){this.setDimensions("height",t,i)},i.prototype.position=function(i){if(i=i||{},i=t.extend(!0,this.options,i),this.target=i.target||this.target||t(window),this.target instanceof t||"mouse"==this.target||(this.target=t(this.target)),!this.target.length)return this;this.content.css({width:this._getInt(i.width,"width"),height:this._getInt(i.height,"height"),minWidth:this._getInt(i.minWidth,"width"),minHeight:this._getInt(i.minHeight,"height"),maxWidth:this._getInt(i.maxWidth,"width"),maxHeight:this._getInt(i.maxHeight,"height")}),this._setTitleWidth();var o=this._exposeDimensions();"mouse"==this.target||this.target.data("jBox-"+this.id+"-fixed")||this.target.data("jBox-"+this.id+"-fixed",this.target[0]!=t(window)[0]&&("fixed"==this.target.css("position")||0<this.target.parents().filter(function(){return"fixed"==t(this).css("position")}).length)?"fixed":"static");var s={x:t(window).outerWidth(),y:t(window).outerHeight(),top:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollTop(),left:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollLeft()};s.bottom=s.top+s.y,s.right=s.left+s.x;try{var e=this.target.offset()}catch(s){e={top:0,left:0}}"mouse"!=this.target&&"fixed"==this.target.data("jBox-"+this.id+"-fixed")&&i.fixed&&(e.top=e.top-t(window).scrollTop(),e.left=e.left-t(window).scrollLeft());var n={x:"mouse"==this.target?12:this.target.outerWidth(),y:"mouse"==this.target?20:this.target.outerHeight(),top:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.top:e?e.top:0,left:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.left:e?e.left:0},a=i.outside&&!("center"==i.position.x&&"center"==i.position.y),h={x:s.x-i.adjustDistance.left-i.adjustDistance.right,y:s.y-i.adjustDistance.top-i.adjustDistance.bottom,left:a?n.left-t(window).scrollLeft()-i.adjustDistance.left:0,right:a?s.x-n.left+t(window).scrollLeft()-n.x-i.adjustDistance.right:0,top:a?n.top-t(window).scrollTop()-this.options.adjustDistance.top:0,bottom:a?s.y-n.top+t(window).scrollTop()-n.y-i.adjustDistance.bottom:0},r={x:"x"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.x)?null:i.position.x,y:"y"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.y)?null:i.position.y},p={x:!1,y:!1};r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),(i.responsiveWidth||i.responsiveHeight)&&(x=function(){var t;i.responsiveWidth&&o.x>h[r.x||"x"]&&(t=h[r.x||"x"]-(this.pointer&&a&&"x"==i.outside?this.pointer.dimensions.x:0)-parseInt(this.container.css("border-left-width"))-parseInt(this.container.css("border-right-width")),this.content.css({width:t>this.options.responsiveMinWidth?t:null,minWidth:t<parseInt(this.content.css("minWidth"))?0:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveWidth&&x(),i.responsiveWidth&&!p.y&&r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),y=function(){var t;i.responsiveHeight&&o.y>h[r.y||"y"]&&(t=function(){return this.titleContainer||this.footer?("none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),this.wrapper.css("display","none")):t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),t||0):0;var t}.bind(this),t=h[r.y||"y"]-(this.pointer&&a&&"y"==i.outside?this.pointer.dimensions.y:0)-t()-parseInt(this.container.css("border-top-width"))-parseInt(this.container.css("border-bottom-width")),this.content.css({height:t>this.options.responsiveMinHeight?t:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveHeight&&y(),i.responsiveHeight&&!p.x&&r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),i.adjustPosition&&"move"!=i.adjustPosition&&(p.x&&x(),p.y&&y()));var l={},d=function(s){if("number"!=t.type(i.position[s])){var e=i.attributes[s]="x"==s?"left":"top";if(l[e]=n[e],"center"==i.position[s])return l[e]+=Math.ceil((n[s]-o[s])/2),void("mouse"!=this.target&&this.target[0]&&this.target[0]==t(window)[0]&&(l[e]+=.5*(i.adjustDistance[e]-i.adjustDistance[this._getOpp(e)])));e!=i.position[s]&&(l[e]+=n[s]-o[s]),i.outside!=s&&"xy"!=i.outside||(l[e]+=o[s]*(e!=i.position[s]?1:-1))}else l[i.attributes[s]]=i.position[s]}.bind(this);if(d("x"),d("y"),this.pointer&&"target"==i.pointTo&&"number"!=t.type(i.position.x)&&"number"!=t.type(i.position.y)&&(j=0,"center"===this.pointer.align?"center"!=i.position[this._getOpp(i.outside)]&&(j+=o[this._getOpp(i.outside)]/2):"center"===i.position[this._getOpp(i.outside)]?j+=(o[this._getOpp(i.outside)]/2-this.pointer.dimensions[this._getOpp(i.outside)]/2)*(this.pointer.align==this._getTL(this.pointer.align)?1:-1):j+=this.pointer.align!=i.position[this._getOpp(i.outside)]?this.dimensions[this._getOpp(i.outside)]*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1)+this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?-1:1):this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1),j*=i.position[this._getOpp(i.outside)]==this.pointer.alignAttribute?-1:1,j+=this.pointer.offset*(this.pointer.align==this._getOpp(this._getTL(this.pointer.align))?1:-1),l[this._getTL(this._getOpp(this.pointer.xy))]+=j),l[i.attributes.x]+=i.offset.x,l[i.attributes.y]+=i.offset.y,this.wrapper.css(l),i.adjustPosition){this.positionAdjusted&&(this.pointer&&this.wrapper.css("padding",0).css("padding-"+this._getOpp(this.outside),this.pointer.dimensions[this._getXY(this.outside)]).removeClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).addClass("jBox-pointerPosition-"+this.pointer.position),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+this._getOpp(this.outside)).css(this.pointer.margin),this.positionAdjusted=!1,this.flipped=!1);var c=s.top>l.top-(i.adjustDistance.top||0),u=s.right<l.left+o.x+(i.adjustDistance.right||0),g=s.bottom<l.top+o.y+(i.adjustDistance.bottom||0),m=s.left>l.left-(i.adjustDistance.left||0),f=m?"left":u?"right":null,x=c?"top":g?"bottom":null;if(f||x){if(("Modal"==this.type||"Confirm"==this.type)&&"number"==t.type(this.options.position.x)&&"number"==t.type(this.options.position.y)){var y=0,j=0;return this.options.holdPosition&&(m?y=s.left-(l.left-(i.adjustDistance.left||0)):u&&(y=s.right-(l.left+o.x+(i.adjustDistance.right||0))),c?j=s.top-(l.top-(i.adjustDistance.top||0)):g&&(j=s.bottom-(l.top+o.y+(i.adjustDistance.bottom||0))),this.options.position.x=Math.max(s.top,this.options.position.x+y),this.options.position.y=Math.max(s.left,this.options.position.y+j),d("x"),d("y"),this.wrapper.css(l)),this._fireEvent("onPosition"),this}!0!==i.adjustPosition&&"flip"!==i.adjustPosition||(b=function(t){this.wrapper.css(this._getTL(t),l[this._getTL(t)]+(o[this._getXY(t)]+i.offset[this._getXY(t)]*("top"==t||"left"==t?-2:2)+n[this._getXY(t)])*("top"==t||"left"==t?1:-1)),this.pointer&&this.wrapper.removeClass("jBox-pointerPosition-"+this.pointer.position).addClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).css("padding",0).css("padding-"+t,this.pointer.dimensions[this._getXY(t)]),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+t),this.positionAdjusted=!0,this.flipped=!0}.bind(this),p.x&&b(this.options.position.x),p.y&&b(this.options.position.y));var b="x"==this._getXY(this.outside)?x:f;this.pointer&&"target"==i.pointTo&&"flip"!=i.adjustPosition&&this._getXY(b)==this._getOpp(this._getXY(this.outside))&&(x="center"==this.pointer.align?o[this._getXY(b)]/2-this.pointer.dimensions[this._getOpp(this.pointer.xy)]/2-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))*(b!=this._getTL(b)?-1:1):b==this.pointer.alignAttribute?parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute)):o[this._getXY(b)]-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-this.pointer.dimensions[this._getXY(b)],f=b==this._getTL(b)?s[this._getTL(b)]-l[this._getTL(b)]+i.adjustDistance[b]:-1*(s[this._getOpp(this._getTL(b))]-l[this._getTL(b)]-i.adjustDistance[b]-o[this._getXY(b)]),b==this._getOpp(this._getTL(b))&&l[this._getTL(b)]-f<s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]&&(f-=s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]-(l[this._getTL(b)]-f)),(f=Math.min(f,x))<=x&&0<f&&(this.pointer.element.css("margin-"+this.pointer.alignAttribute,parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-f*(b!=this.pointer.alignAttribute?-1:1)),this.wrapper.css(this._getTL(b),l[this._getTL(b)]+f*(b!=this._getTL(b)?-1:1)),this.positionAdjusted=!0))}}return this._fireEvent("onPosition"),this},(i.prototype.unscroll=function(t){if(this.set=function(t,i){window.unscrollStore||(window.unscrollStore={}),window.unscrollStore[t]=i},this.get=function(t){return window.unscrollStore?window.unscrollStore[t]:null},this.getScrollbarWidth=function(){if(this.get("scrollbarWidth"))return this.get("scrollbarWidth")+"px";var t=document.createElement("div");t.style.width="100px",t.style.height="100px",t.style.overflow="scroll",t.style.position="absolute",t.style.top="-10000",document.body.appendChild(t);var i=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),this.set("scrollbarWidth",i),i+"px"},this.getElementsToAdjust=function(t){(t="string"==typeof(t=t||[])?[[t,"padding-right"]]:t).forEach(function(i,o){"string"==typeof i&&(t[o]=[i,"padding-right"])});for(var i=!1,o=0;o<t.length;o++)-1!==t[o][0].indexOf("body")&&(i=!0);return!1===i&&t.push(["body","padding-right"]),t},this.pageHasScrollbar=function(){return this.getScrollbarWidth()&&document.body.offsetHeight>window.innerHeight},this.pageHasScrollbar()){t=this.getElementsToAdjust(t);for(var i=0;i<t.length;i++)for(var o=document.querySelectorAll(t[i][0]),s=0;s<o.length;s++){if(o[s].getAttribute("data-unscroll"))return;var e=t[i][1],n=window.getComputedStyle(o[s]).getPropertyValue(e);o[s].setAttribute("data-unscroll",e),n=n||"0px";var a="padding-right"==e||"right"==e?"+":"-";o[s].style[e]="calc("+n+" "+a+" "+this.getScrollbarWidth()+")"}}var h,r;document.getElementById("unscroll-class-name")||(h=document.head||document.getElementsByTagName("head")[0],(r=document.createElement("style")).type="text/css",r.setAttribute("id","unscroll-class-name"),r.appendChild(document.createTextNode(".unscrollable { overflow: hidden !important; }")),h.appendChild(r)),document.body.classList.add("unscrollable")}).reset=function(){for(var t=document.querySelectorAll("[data-unscroll]"),i=0;i<t.length;i++){var o=t[i].getAttribute("data-unscroll");t[i].style[o]=null,t[i].removeAttribute("data-unscroll")}document.body.classList.remove("unscrollable")},i.prototype.open=function(o){if(o=o||{},this.isDestroyed)return this;if(this.wrapper||this._create(),this._styles||(this._styles=t("<style/>").append(this._animationCSS).appendTo(t("head"))),this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;this.options.closeOnEsc&&t(document).on("keyup.jBox-"+this.id,function(t){27==t.keyCode&&this.close({ignoreDelay:!0})}.bind(this)),!0!==this.options.closeOnClick&&"body"!==this.options.closeOnClick||(t("body").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(t){this.blockBodyClick||"body"==this.options.closeOnClick&&(t.target==this.wrapper[0]||this.wrapper.has(t.target).length)||this.close({ignoreDelay:!0})}.bind(this)),this.isTouchDevice&&t("body > *").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(){return!0}));var s=function(){!0===this.adjustZIndexOnOpen&&(i.zIndexMax=Math.max(parseInt(this.wrapper.css("zIndex"),10),this.options.zIndex,i.zIndexMax||0,i.zIndexMaxDragover||0)+2,this.wrapper.css("zIndex",i.zIndexMax),this.options.zIndex=i.zIndexMax),this.source&&this.options.getTitle&&this.source.attr(this.options.getTitle)&&this.setTitle(this.source.attr(this.options.getTitle),!0),this.source&&this.options.getContent&&(this.source.data("jBox-getContent")?this.setContent(this.source.data("jBox-getContent"),!0):this.source.attr(this.options.getContent)?this.setContent(this.source.attr(this.options.getContent),!0):"html"==this.options.getContent&&this.setContent(this.source.html(),!0)),this._fireEvent("onOpen"),(this.options.ajax&&(this.options.ajax.url||this.source&&this.source.attr(this.options.ajax.getURL))&&(!this.ajaxLoaded||this.options.ajax.reload)||o.ajax&&(o.ajax.url||o.ajax.data))&&("strict"==this.options.ajax.reload||!this.source||!this.source.data("jBox-ajax-data")||o.ajax&&(o.ajax.url||o.ajax.data)?this.ajax(o.ajax||null,!0):this.setContent(this.source.data("jBox-ajax-data"))),this.positionedOnOpen&&!this.options.repositionOnOpen||!this.position(o)||(this.positionedOnOpen=!0),this.isClosing&&this._abortAnimation(),this.isOpen||(this.isOpen=!0,this.options.autoClose&&(this.options.delayClose=this.options.autoClose)&&this.close(),this._attachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?i.blockScrollScopes?i.blockScrollScopes++:(i.blockScrollScopes=1,this.unscroll(Array.isArray(this.options.blockScrollAdjust)||"string"==typeof this.options.blockScrollAdjust?this.options.blockScrollAdjust:null)):t("body").addClass("jBox-blockScroll-"+this.id)),this.options.overlay&&(this._showOverlay(),this.position()),this.options.animation&&!this.isClosing&&this._animate("open"),this.options.audio&&this.options.audio.open&&this.audio(this.options.audio.open,this.options.volume.open),this.options.fade?this.wrapper.stop().animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.isOpening=!0,this.wrapper.css({display:"block"})}.bind(this),always:function(){this.isOpening=!1,setTimeout(function(){this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)}.bind(this),10)}.bind(this)}):(this.wrapper.css({display:"block",opacity:1}),this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)))}.bind(this);return!this.options.delayOpen||this.isOpen||this.isClosing||o.ignoreDelay?s():this.timer=setTimeout(s,this.options.delayOpen),this},i.prototype.close=function(o){if(o=o||{},t("body").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isTouchDevice&&t("body > *").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isDestroyed||this.isClosing)return this;if(this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;var s,e,n,a=function(){var o;this._fireEvent("onClose"),this.options.cancelAjaxOnClose&&this.cancelAjax(),this.isOpen&&(this.isOpen=!1,this._detachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?(i.blockScrollScopes=i.blockScrollScopes?--i.blockScrollScopes:0)||this.unscroll.reset():t("body").removeClass("jBox-blockScroll-"+this.id)),this.options.overlay&&this._hideOverlay(),this.options.animation&&!this.isOpening&&this._animate("close"),this.options.audio&&this.options.audio.close&&this.audio(this.options.audio.close,this.options.volume.close),(o=this.isTouchDevice&&"mouse"==this.options.target?0:this.options.fade)?this.wrapper.stop().animate({opacity:0},{queue:!1,duration:o,start:function(){this.isClosing=!0}.bind(this),complete:function(){this.wrapper.css({display:"none"}),this._fireEvent("onCloseComplete")}.bind(this),always:function(){this.isClosing=!1}.bind(this)}):(this.wrapper.css({display:"none",opacity:0}),this._fireEvent("onCloseComplete")))}.bind(this);return o.ignoreDelay||this.isTouchDevice&&"mouse"==this.options.target?a():(this.options.delayOnHover||this.options.showCountdown)&&10<this.options.delayClose?(e=(s=this).options.delayClose,n=Date.now(),this.options.showCountdown&&!this.inner&&(o=t('<div class="jBox-countdown" />'),this.inner=t('<div class="jBox-countdown-inner" />'),o.prepend(this.inner),t("#"+this.id).append(o)),this.countdown=function(){var t=Date.now();s.isHovered||(e-=t-n),n=t,0<e?(s.options.showCountdown&&s.inner.css("width",100*e/s.options.delayClose+"%"),window.requestAnimationFrame(s.countdown)):a()},window.requestAnimationFrame(this.countdown)):this.timer=setTimeout(a,Math.max(this.options.delayClose,10)),this},i.prototype.toggle=function(t){return this[this.isOpen?"close":"open"](t),this},i.prototype.disable=function(){return this.isDisabled=!0,this},i.prototype.enable=function(){return this.isDisabled=!1,this},i.prototype.hide=function(){return this.disable(),this.wrapper&&(this.cacheWrapperDisplay=this.wrapper.css("display"),this.wrapper.css({display:"none"})),this.overlay&&(this.cacheOverlayDisplay=this.overlay.css("display"),this.overlay.css({display:"none"})),this},i.prototype.show=function(){return this.enable(),this.wrapper&&this.cacheWrapperDisplay&&(this.wrapper.css({display:this.cacheWrapperDisplay}),this.cacheWrapperDisplay=null),this.overlay&&this.cacheOverlayDisplay&&(this.overlay.css({display:this.cacheOverlayDisplay}),this.cacheOverlayDisplay=null),this},i.prototype.ajax=function(i,o){i=i||{},t.each([["getData","data"],["getURL","url"]],function(t,o){this.options.ajax[o[0]]&&!i[o[1]]&&this.source&&null!=this.source.attr(this.options.ajax[o[0]])&&(i[o[1]]=this.source.attr(this.options.ajax[o[0]])||"")}.bind(this));var s=t.extend(!0,{},this.options.ajax);this.cancelAjax();var e=i.beforeSend||s.beforeSend||function(){},n=i.complete||s.complete||function(){},a=i.success||s.success||function(){},h=i.error||s.error||function(){},r=t.extend(!0,s,i);return r.beforeSend=function(i){r.loadingClass&&this.wrapper.addClass(!0===r.loadingClass?"jBox-loading":r.loadingClass),r.spinner&&(this.spinnerDelay=setTimeout(function(){this.wrapper.addClass("jBox-loading-spinner"),r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.spinner=t(!0!==r.spinner?r.spinner:'<div class="jBox-spinner"></div>').appendTo(this.container),this.titleContainer&&"absolute"==this.spinner.css("position")&&this.spinner.css({transform:"translateY("+.5*this.titleContainer.outerHeight()+"px)"})}.bind(this),""!=this.content.html()&&r.spinnerDelay||0)),e.bind(this)(i)}.bind(this),r.complete=function(t){this.spinnerDelay&&clearTimeout(this.spinnerDelay),this.wrapper.removeClass("jBox-loading jBox-loading-spinner jBox-loading-spinner-delay"),this.spinner&&this.spinner.length&&this.spinner.remove()&&r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.ajaxLoaded=!0,n.bind(this)(t)}.bind(this),r.success=function(t){r.setContent&&this.setContent(t,!0)&&(o?this.positionOnFadeComplete=!0:this.position()),r.setContent&&this.source&&this.source.data("jBox-ajax-data",t),a.bind(this)(t)}.bind(this),r.error=function(t){h.bind(this)(t)}.bind(this),this.ajaxRequest=t.ajax(r),this},i.prototype.cancelAjax=function(){this.ajaxRequest&&(this.ajaxRequest.abort(),this.ajaxLoaded=!1)},i.prototype.audio=function(o,s){if(!o)return this;var e;(i._audio=i._audio?i._audio:{})[o]||(e=t("<audio/>"),t("<source/>",{src:o+".mp3"}).appendTo(e),t("<source/>",{src:o+".ogg"}).appendTo(e),i._audio[o]=e[0]),i._audio[o].volume=Math.min((null!=s?s:100)/100,1);try{i._audio[o].pause(),i._audio[o].currentTime=0}catch(o){}return i._audio[o].play(),this},i._animationSpeeds={tada:1e3,tadaSmall:1e3,flash:500,shake:400,pulseUp:250,pulseDown:250,popIn:250,popOut:250,fadeIn:200,fadeOut:200,slideUp:400,slideRight:400,slideLeft:400,slideDown:400},i.prototype.animate=function(t,o){o=o||{},this.animationTimeout||(this.animationTimeout={}),o.element||(o.element=this.wrapper),o.element.data("jBox-animating-id")||o.element.data("jBox-animating-id",i._getUniqueElementID()),o.element.data("jBox-animating")&&(o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),this.animationTimeout[o.element.data("jBox-animating-id")]&&clearTimeout(this.animationTimeout[o.element.data("jBox-animating-id")])),o.element.addClass("jBox-animated-"+t).data("jBox-animating","jBox-animated-"+t),this.animationTimeout[o.element.data("jBox-animating-id")]=setTimeout(function(){o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),o.complete&&o.complete()},i._animationSpeeds[t])},i.prototype.swipeDetector=function(i,o){var s=0,e=0,n=0,a=0,h=0;return o=t.extend({swipeThreshold:70,useOnlyTouch:!1},o),i.on("mousedown touchstart",function(t){o.useOnlyTouch&&!t.originalEvent.touches||(t.originalEvent.touches&&(t=t.originalEvent.touches[0]),0===s&&(s=1,e=t.clientX,n=t.clientY))}),t("html").on("mouseup touchend",function(e){2===s&&(s=0,Math.abs(a)>Math.abs(h)&&Math.abs(a)>o.swipeThreshold?a<0?i.trigger(t.Event("swipeLeft.sd")):i.trigger(t.Event("swipeRight.sd")):Math.abs(h)>o.swipeThreshold&&(h<0?i.trigger(t.Event("swipeUp.sd")):i.trigger(t.Event("swipeDown.sd"))))}),t("html").on("mousemove touchmove",function(t){var i;1===s&&(i=(t=t.originalEvent.touches?t.originalEvent.touches[0]:t).clientX-e,t=t.clientY-n,(Math.abs(i)>o.swipeThreshold||Math.abs(t)>o.swipeThreshold)&&(s=2,a=i,h=t))}),i},i.prototype.destroy=function(){return this.detach(),this.isOpen&&this.close({ignoreDelay:!0}),this.wrapper&&this.wrapper.remove(),this.overlay&&this.overlay.remove(),this._styles&&this._styles.remove(),this.isDestroyed=!0,this},i._getUniqueID=(o=1,function(){return o++}),i._getUniqueElementID=(s=1,function(){return s++}),i._pluginOptions={},i.plugin=function(t,o){i._pluginOptions[t]=o},t.fn.jBox=function(o,s){return s=s||{},new i(o=o||{},t.extend(s,{attach:this}))},i}function jBoxConfirmWrapper(jBox,jQuery){new jBox.plugin("Confirm",{confirmButton:"Submit",cancelButton:"Cancel",confirm:null,cancel:null,closeOnConfirm:!0,target:window,fixed:!0,attach:"[data-confirm]",getContent:"data-confirm",content:"Do you really want to do this?",minWidth:360,maxWidth:500,blockScroll:!0,closeOnEsc:!0,closeOnClick:!1,closeButton:!1,overlay:!0,animation:"zoomIn",preventDefault:!0,_onAttach:function(t){var i;this.options.confirm||(i=t.attr("onclick")?t.attr("onclick"):t.attr("href")?t.attr("target")?'window.open("'+t.attr("href")+'", "'+t.attr("target")+'");':'window.location.href = "'+t.attr("href")+'";':"",t.prop("onclick",null).data("jBox-Confirm-submit",i))},_onCreated:function(){this.wrapper.addClass("jBox-Modal"),this.footer=jQuery('<div class="jBox-Confirm-footer"/>'),jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-cancel"/>').html(this.options.cancelButton).on("click tap",function(){this.options.cancel&&this.options.cancel(this.source),this.close()}.bind(this)).appendTo(this.footer),this.submitButton=jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-submit"/>').html(this.options.confirmButton).appendTo(this.footer),this.footer.appendTo(this.container)},_onOpen:function(){this.submitButton.off("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id).on("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id,function(){this.options.confirm?this.options.confirm(this.source):eval(this.source.data("jBox-Confirm-submit")),this.options.closeOnConfirm&&this.close()}.bind(this))}})}function jBoxImageWrapper(t,i){new t.plugin("Image",{src:"href",gallery:"data-jbox-image",imageLabel:"title",imageFade:360,imageSize:"contain",imageCounter:!1,imageCounterSeparator:"/",downloadButton:!1,downloadButtonText:null,downloadButtonUrl:null,mobileImageAttr:null,mobileImageBreakpoint:null,preloadFirstImage:!1,target:window,attach:"[data-jbox-image]",fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"button",closeButton:!0,overlay:!0,animation:"zoomIn",preventDefault:!0,width:"100%",height:"100%",adjustDistance:{top:40,right:0,bottom:40,left:0},_onInit:function(){this.images=this.currentImage={},this.imageZIndex=1,this.initImage=function(t){var o,s;(t=i(t)).data("jBox-image-gallery")||(o=t.attr(this.options.src),this.options.mobileImageAttr&&this.options.mobileImageBreakpoint&&t.attr(this.options.mobileImageAttr)&&i(window).width()<=this.options.mobileImageBreakpoint&&(o=t.attr(this.options.mobileImageAttr)),s=t.attr(this.options.gallery)||"default",this.images[s]||(this.images[s]=[]),this.images[s].push({src:o,label:t.attr(this.options.imageLabel)||"",downloadUrl:this.options.downloadButtonUrl&&t.attr(this.options.downloadButtonUrl)?t.attr(this.options.downloadButtonUrl):null}),"title"==this.options.imageLabel&&t.removeAttr("title"),t.data("jBox-image-gallery",s),t.data("jBox-image-id",this.images[s].length-1))}.bind(this),this.attachedElements&&this.attachedElements.length&&i.each(this.attachedElements,function(t,i){this.initImage(i)}.bind(this));var t=function(t,o,s,e){if(!i("#jBox-image-"+t+"-"+o).length){var n=i("<div/>",{id:"jBox-image-"+t+"-"+o,class:"jBox-image-container"+(s?" jBox-image-"+t+"-current":"")}).css({backgroundSize:this.options.imageSize,opacity:e?1:0,zIndex:s?this.imageZIndex++:0}).appendTo(this.content);return this.swipeDetector(n).on("swipeLeft.sd swipeRight.sd",function(t){"swipeLeft"===t.type?this.showImage("next"):"swipeRight"===t.type&&this.showImage("prev")}.bind(this)),i("<div/>",{id:"jBox-image-label-"+t+"-"+o,class:"jBox-image-label"+(s?" active":"")}).html(this.images[t][o].label).on("click tap",function(){i(this).toggleClass("expanded")}).appendTo(this.imageLabelContainer),s&&n.animate({opacity:1},e?0:this.options.imageFade),n}}.bind(this);this.downloadImage=function(t){var i=document.createElement("a");i.href=t,i.setAttribute("download",t.substring(t.lastIndexOf("/")+1)),document.body.appendChild(i),i.click()};var o=function(o,s,e,n){var a=t(o,s,e,n);a.addClass("jBox-image-loading"),i('<img src="'+this.images[o][s].src+'" />').each(function(){var t=new Image;t.onload=function(){a.removeClass("jBox-image-loading"),a.css({backgroundImage:'url("'+this.images[o][s].src+'")'})}.bind(this),t.onerror=function(){a.removeClass("jBox-image-loading"),a.addClass("jBox-image-not-found")}.bind(this),t.src=this.images[o][s].src}.bind(this))}.bind(this);this.showImage=function(t){var s,e,n;if("open"!=t)s=this.currentImage.gallery,n=(n=this.currentImage.id+(+("prev"==t)?-1:1))>this.images[s].length-1?0:n<0?this.images[s].length-1:n;else{if(this.source)s=this.source.data("jBox-image-gallery"),n=this.source.data("jBox-image-id");else{if(!this.attachedElements||!this.attachedElements.length)return;s=i(this.attachedElements[0]).data("jBox-image-gallery"),n=i(this.attachedElements[0]).data("jBox-image-id")}this.images&&this.images[s]&&i(".jBox-image-pointer-prev, .jBox-image-pointer-next").css({display:1<this.images[s].length?"block":"none"})}i(".jBox-image-"+s+"-current").length&&i(".jBox-image-"+s+"-current").removeClass("jBox-image-"+s+"-current").animate({opacity:0},"open"==t?0:this.options.imageFade),this.currentImage={gallery:s,id:n},i("#jBox-image-"+s+"-"+n).length?i("#jBox-image-"+s+"-"+n).addClass("jBox-image-"+s+"-current").css({zIndex:this.imageZIndex++,opacity:0}).animate({opacity:1},"open"==t?0:this.options.imageFade):o(s,n,!0,"open"===t),e=s,t=n,i(".jBox-image-label.active").removeClass("active expanded"),i("#jBox-image-label-"+e+"-"+t).addClass("active"),this.imageCounter&&(this.images[s]&&1<this.images[s].length?(this.wrapper.addClass("jBox-image-has-counter"),this.imageCounter.find(".jBox-image-counter-all").html(this.images[s].length),this.imageCounter.find(".jBox-image-counter-current").html(n+1)):this.wrapper.removeClass("jBox-image-has-counter")),this.images[s]&&this.images[s].length-1&&(n=(n+=1)>this.images[s].length-1?0:n<0?this.images[s].length-1:n,i("#jBox-image-"+s+"-"+n).length||o(s,n,!1,!1))},this.options.preloadFirstImage&&i(window).on("load",function(){this.showImage("open")}.bind(this))},_onAttach:function(t){this.initImage&&this.initImage(t)},_onCreated:function(){this.imageLabelWrapper=i('<div class="jBox-image-label-wrapper"/>').appendTo(this.wrapper),this.imagePrevButton=i('<div class="jBox-image-pointer-prev"/>').on("click tap",function(){this.showImage("prev")}.bind(this)),this.imageNextButton=i('<div class="jBox-image-pointer-next"/>').on("click tap",function(){this.showImage("next")}.bind(this)),this.imageLabelContainer=i('<div class="jBox-image-label-container"/>'),this.imageLabelWrapper.append(this.imagePrevButton).append(this.imageLabelContainer).append(this.imageNextButton),this.options.downloadButton&&(this.downloadButton=i("<div/>",{class:"jBox-image-download-button-wrapper"}).appendTo(this.wrapper).append(this.options.downloadButtonText?i("<div/>",{class:"jBox-image-download-button-text"}).html(this.options.downloadButtonText):null).append(i("<div/>",{class:"jBox-image-download-button-icon"})).on("click tap",function(){var t;t=this.images[this.currentImage.gallery][this.currentImage.id].downloadUrl||this.wrapper.find(".jBox-image-"+this.currentImage.gallery+"-current")[0].style.backgroundImage.slice(4,-1).replace(/["']/g,""),this.downloadImage(t)}.bind(this))),this.options.imageCounter&&(this.imageCounter=i("<div/>",{class:"jBox-image-counter-container"}).insertAfter(this.imageLabelContainer),this.imageCounter.append(i("<span/>",{class:"jBox-image-counter-current"})).append(i("<span/>").html(this.options.imageCounterSeparator)).append(i("<span/>",{class:"jBox-image-counter-all"})))},_onOpen:function(){i(document).on("keyup.jBox-Image-"+this.id,function(t){37==t.keyCode&&this.showImage("prev"),39==t.keyCode&&this.showImage("next")}.bind(this)),this.showImage("open")},_onClose:function(){i(document).off("keyup.jBox-Image-"+this.id)},_onCloseComplete:function(){this.wrapper.find(".jBox-image-container").css("opacity",0)}})}function jBoxNoticeWrapper(t,i){new t.plugin("Notice",{color:null,stack:!0,stackSpacing:10,autoClose:6e3,attributes:{x:"right",y:"top"},position:{x:15,y:15},responsivePositions:{500:{x:5,y:5},768:{x:10,y:10}},target:window,fixed:!0,animation:"zoomIn",closeOnClick:"box",zIndex:12e3,_onInit:function(){this.defaultNoticePosition=i.extend({},this.options.position),this._adjustNoticePositon=function(){var t=i(window),o=t.width();t.height(),this.options.position=i.extend({},this.defaultNoticePosition),i.each(this.options.responsivePositions,function(t,i){if(o<=t)return this.options.position=i,!1}.bind(this)),this.options.adjustDistance={top:this.options.position.y,right:this.options.position.x,bottom:this.options.position.y,left:this.options.position.x}},this.options.content instanceof i&&(this.options.content=this.options.content.clone().attr("id","")),i(window).on("resize.responsivejBoxNotice-"+this.id,function(t){this.isOpen&&this._adjustNoticePositon()}.bind(this)),this.open()},_onCreated:function(){this.wrapper.addClass("jBox-Notice-color jBox-Notice-"+(this.options.color||"gray")),this.wrapper.data("jBox-Notice-position",this.options.attributes.x+"-"+this.options.attributes.y)},_onOpen:function(){this.options.stack||(this._adjustNoticePositon(),i.each(i(".jBox-Notice"),function(t,o){(o=i(o)).attr("id")!=this.id&&o.data("jBox-Notice-position")==this.options.attributes.x+"-"+this.options.attributes.y&&(this.options.stack||o.data("jBox").close({ignoreDelay:!0}))}.bind(this)))},_onPosition:function(){var t,o={};for(t in i.each(i(".jBox-Notice"),function(t,s){var e=(s=i(s)).data("jBox-Notice-position");o[e]||(o[e]=[]),o[e].push(s)}),o){var s=t.split("-")[1];o[t].reverse();var e,n=0;for(e in o[t]){var a=i(o[t][e]);a.css("margin-"+s,n),n+=a.outerHeight()+this.options.stackSpacing}}},_onCloseComplete:function(){this.destroy(),this.options._onPosition.bind(this).call()}})}!function(t,i){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.jBox=i(o)}):"object"==typeof module&&module.exports?module.exports=t.jBox=i(require("jquery")):t.jBox=i(t.jQuery)}(this,function(t){var i=jBoxWrapper(t);try{void 0!==jBoxConfirmWrapper&&jBoxConfirmWrapper&&jBoxConfirmWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxImageWrapper&&jBoxImageWrapper&&jBoxImageWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxNoticeWrapper&&jBoxNoticeWrapper&&jBoxNoticeWrapper(i,t)}catch(t){console.error(t)}return i});
|
||
|
||
},{"jquery":36}],36:[function(require,module,exports){
|
||
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b=function(e,t){return new b.fn.init(e,t)};function w(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}b.fn=b.prototype={jquery:"3.6.0",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(b.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},b.extend=b.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(b.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||b.isPlainObject(n)?n:{},i=!1,a[t]=b.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},b.extend({expando:"jQuery"+("3.6.0"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(w(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(w(Object(e))?b.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(w(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(b.fn[Symbol.iterator]=n[Symbol.iterator]),b.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){u["[object "+t+"]"]=t.toLowerCase()});var T=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},j={}.hasOwnProperty,D=[],q=D.pop,L=D.push,H=D.push,O=D.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le(function(t){return t=+t,le(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce(function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ce(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce(function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:le(function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return se(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:le(function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c--;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c--;)(f=y[c])&&(l=i?P(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be(function(e){return e===t},s,!0),f=be(function(e){return P(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=G[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);(s=k(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(e);b.find=T,b.expr=T.selectors,b.expr[":"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?b.grep(e,function(e){return e===t!==n}):"string"!=typeof t?b.grep(e,function(e){return s.call(t,e)>-1!==n}):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,function(e){return 1===e.nodeType}))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(b(e).filter(function(){for(t=0;t<r;t++)if(b.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)b.find(e,i[t],n);return r>1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var j,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,j=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(b.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&b(e);if(!S.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,"template")&&(e=e.content||e),b.merge([],e.childNodes))}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}});var O=/[^\x20\t\r\n\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return b.each(e.match(O)||[],function(e,n){t[n]=!0}),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){b.each(n,function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return b.each(arguments,function(e,t){for(var n;(n=b.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[["notify","progress",b.Callbacks("memory"),b.Callbacks("memory"),2],["resolve","done",b.Callbacks("once memory"),b.Callbacks("once memory"),0,"resolved"],["reject","fail",b.Callbacks("once memory"),b.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred(function(t){b.each(n,function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,P,i),a(o,n,R,i)):(o++,l.call(e,a(o,n,P,i),a(o,n,R,i),a(o,n,P,n.notifyWith))):(r!==P&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){b.Deferred.exceptionHook&&b.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred(function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))}).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout(function(){throw t})};var W=b.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),e.removeEventListener("load",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch(function(e){b.readyException(e)}),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener("DOMContentLoaded",F),e.addEventListener("load",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},$=/^-ms-/,_=/-([a-z])/g;function z(e,t){return t.toUpperCase()}function U(e){return e.replace($,"ms-").replace(_,z)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function V(){this.expando=b.expando+V.uid++}V.uid=1,V.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[U(t)]=n;else for(r in t)i[U(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][U(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(U):(t=U(t))in r?[t]:t.match(O)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||b.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!b.isEmptyObject(t)}};var G=new V,Y=new V,Q=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function K(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Q.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}b.extend({hasData:function(e){return Y.hasData(e)||G.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),b.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Y.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=U(r.slice(5)),K(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Y.set(this,e)}):B(this,function(t){var n;if(o&&void 0===t)return void 0!==(n=Y.get(o,e))?n:void 0!==(n=K(o,e))?n:void 0;this.each(function(){Y.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Y.remove(this,e)})}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){b.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),b.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?b.queue(this[0],e):void 0===t?this:this.each(function(){var n=b.queue(this,e,t);b._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=b.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Z=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ee=new RegExp("^(?:([+-])=|)("+Z+")([a-z%]*)$","i"),te=["Top","Right","Bottom","Left"],ne=v.documentElement,re=function(e){return b.contains(e.ownerDocument,e)},ie={composed:!0};ne.getRootNode&&(re=function(e){return b.contains(e.ownerDocument,e)||e.getRootNode(ie)===e.ownerDocument});var oe=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&re(e)&&"none"===b.css(e,"display")};function ae(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return b.css(e,t,"")},u=s(),l=n&&n[3]||(b.cssNumber[t]?"":"px"),c=e.nodeType&&(b.cssNumber[t]||"px"!==l&&+u)&&ee.exec(b.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)b.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,b.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var se={};function ue(e){var t,n=e.ownerDocument,r=e.nodeName,i=se[r];return i||(t=n.body.appendChild(n.createElement(r)),i=b.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),se[r]=i,i)}function le(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=G.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&oe(r)&&(i[o]=ue(r))):"none"!==n&&(i[o]="none",G.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}b.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){oe(this)?b(this).show():b(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement("div")),(fe=v.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",d.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,d.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))b.merge(p,o.nodeType?[o]:o);else if(me.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+b.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;b.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&b.inArray(o,r)>-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each(function(){b.event.add(this,t,i,r,n)})}function Se(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,we)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(O)||[""]).length;l--;)d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(O)||[""]).length;l--;)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=b.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((b.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?b(i,this).index(l)>-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(b.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[b.expando]?e:new b.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&k(t,"input")&&G.get(t,"click")||k(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},b.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},b.Event=function(e,t){if(!(this instanceof b.Event))return new b.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&b.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[b.expando]=!0},b.Event.prototype={constructor:b.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},b.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},b.event.addProp),b.each({focus:"focusin",blur:"focusout"},function(e,t){b.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),b.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||b.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),b.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,b(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){b.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return k(e,"table")&&k(11!==t.nodeType?t:t.firstChild,"tr")&&b(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)b.event.add(t,i,s[i][n]);Y.hasData(e)&&(o=Y.access(e),a=b.extend({},o),Y.set(t,a))}}function He(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&Ae.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),He(o,t,n,r)});if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,"script"),De)).length;f<p;f++)l=i,f!==g&&(l=b.clone(l,!0,!0),u&&b.merge(s,ve(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,b.map(s,qe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!G.access(l,"globalEval")&&b.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?b._evalUrl&&!l.noModule&&b._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(Ne,""),l,c))}return e}function Oe(e,t,n){for(var r,i=t?b.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||b.cleanData(ve(r)),r.parentNode&&(n&&re(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}b.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=re(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],l=void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return(a=ve(c,"script")).length>0&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?b.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(b.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return He(this,arguments,function(t){var n=this.parentNode;b.inArray(this,e)<0&&(b.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){for(var n,r=[],i=b(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),b(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}});var Pe=new RegExp("^("+Z+")(?!px)[a-z%]+$","i"),Re=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(te.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||re(e)||(a=b.style(e,t)),!d.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ne.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),ne.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,b.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px;border-collapse:separate",n.style.cssText="border:1px solid",n.style.height="1px",r.style.height="9px",r.style.display="block",ne.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===n.offsetHeight,ne.removeChild(t)),s}}))}();var Be=["Webkit","Moz","ms"],$e=v.createElement("div").style,_e={};function ze(e){var t=b.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Be.length;n--;)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=b.css(e,n+te[a],!0,i)),r?("content"===n&&(u-=b.css(e,"padding"+te[a],!0,i)),"margin"!==n&&(u-=b.css(e,"border"+te[a]+"Width",!0,i))):(u+=b.css(e,"padding"+te[a],!0,i),"padding"!==n?u+=b.css(e,"border"+te[a]+"Width",!0,i):s+=b.css(e,"border"+te[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!d.boxSizingReliable()||n)&&"border-box"===b.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===b.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===b.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Xe.test(t)||(t=ze(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each(["height","width"],function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ue.test(b.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,t,r):Me(e,Ve,function(){return Je(e,t,r)})},set:function(e,n,r){var i,o=Re(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===b.css(e,"boxSizing",!1,o),u=r?Qe(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Qe(e,t,"border",!1,o)-.5)),u&&(i=ee.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=b.css(e,t)),Ye(0,n,u)}}}),b.cssHooks.marginLeft=Fe(d.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(b.cssHooks[e+t].set=Ye)}),b.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=b.css(e,t[a],!1,r);return o}return void 0!==n?b.style(e,t,n):b.css(e,t)},e,t,arguments.length>1)}}),b.Tween=Ke,Ke.prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}},Ke.prototype.init.prototype=Ke.prototype,Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},Ke.propHooks.scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},b.fx=Ke.prototype.init,b.fx.step={};var Ze,et,tt=/^(?:toggle|show|hide)$/,nt=/queueHooks$/;function rt(){et&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(rt):e.setTimeout(rt,b.fx.interval),b.fx.tick())}function it(){return e.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function ot(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=te[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function at(e,t,n){for(var r,i=(st.tweeners[t]||[]).concat(st.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function st(e,t,n){var r,i,o=0,a=st.prefilters.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Ze||it(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{},easing:b.easing._default},n),originalProperties:t,originalOptions:n,startTime:Ze||it(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=U(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=b.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=st.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(b._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return b.map(c,at,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}b.Animation=b.extend(st,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ae(n.elem,e,ee.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(O);for(var n,r=0,i=e.length;r<i;r++)n=e[r],st.tweeners[n]=st.tweeners[n]||[],st.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&oe(e),v=G.get(e,"fxshow");for(r in n.queue||(null==(a=b._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,b.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],tt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||b.style(e,r)}if((u=!b.isEmptyObject(t))||!b.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=G.get(e,"display")),"none"===(c=b.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=b.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===b.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=G.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),G.remove(e,"fxshow"),d)b.style(e,r,d[r])})),u=at(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?st.prefilters.unshift(e):st.prefilters.push(e)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return b.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in b.fx.speeds?r.duration=b.fx.speeds[r.duration]:r.duration=b.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(oe).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=st(this,b.extend({},e),o);(i||G.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=b.timers,a=G.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&nt.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||b.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=G.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ot(t,!0),e,r,i)}}),b.each({slideDown:ot("show"),slideUp:ot("hide"),slideToggle:ot("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.timers=[],b.fx.tick=function(){var e,t=0,n=b.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||b.fx.stop(),Ze=void 0},b.fx.timer=function(e){b.timers.push(e),b.fx.start()},b.fx.interval=13,b.fx.start=function(){et||(et=!0,rt())},b.fx.stop=function(){et=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fn.delay=function(t,n){return t=b.fx&&b.fx.speeds[t]||t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var ut,lt=b.expr.attrHandle;b.fn.extend({attr:function(e,t){return B(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ut:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&k(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ut={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\w+/g),function(e,t){var n=lt[t]||b.find.attr;lt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=lt[a],lt[a]=i,i=null!=n(e,t,r)?a:null,lt[a]=o),i}});var ct=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function pt(e){return(e.match(O)||[]).join(" ")}function dt(e){return e.getAttribute&&e.getAttribute("class")||""}function ht(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[b.propFix[e]||e]})}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,"tabindex");return t?parseInt(t,10):ct.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){b.propFix[this.toLowerCase()]=this}),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).addClass(e.call(this,t,dt(this)))});if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).removeClass(e.call(this,t,dt(this)))});if(!arguments.length)return this.attr("class","");if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,dt(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=ht(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=dt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+pt(dt(n))+" ").indexOf(t)>-1)return!0;return!1}});var gt=/\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=b.map(i,function(e){return null==e?"":e+""})),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(gt,""):null==n?"":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,"value");return null!=t?t:pt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!k(n.parentNode,"optgroup"))){if(t=b(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=b.makeArray(t),a=i.length;a--;)((r=i[a]).selected=b.inArray(b.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),d.focusin="onfocusin"in e;var vt=/^(?:focusinfocus|focusoutblur)$/,yt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!vt.test(m+b.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[b.expando]?t:new b.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,vt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,yt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,yt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}});var mt=e.location,xt={guid:Date.now()},bt=/\?/;b.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||b.error("Invalid XML: "+(r?b.map(r.childNodes,function(e){return e.textContent}).join("\n"):t)),n};var wt=/\[\]$/,Tt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,Et=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var i;if(Array.isArray(t))b.each(t,function(t,i){n||wt.test(e)?r(e,i):St(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)St(e+"["+i+"]",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){i(this.name,this.value)});else for(n in e)St(n,e[n],t,i);return r.join("&")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&Et.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var kt=/%20/g,At=/#.*$/,Nt=/([?&])_=[^&]*/,jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Ht={},Ot="*/".concat("*"),Pt=v.createElement("a");function Rt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Mt(e,t,n,r){var i={},o=e===Ht;function a(s){var u;return i[s]=!0,b.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function It(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}Pt.href=mt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:mt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(mt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ot,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?It(It(e,b.ajaxSettings),t):It(b.ajaxSettings,e)},ajaxPrefilter:Rt(Lt),ajaxTransport:Rt(Ht),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks("once memory"),x=d.statusCode||{},w={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=jt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||mt.href)+"").replace(qt,mt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(O)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Pt.protocol+"//"+Pt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Mt(Lt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Dt.test(d.type),i=d.url.replace(At,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(kt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(bt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Nt,"$1"),p=(bt.test(i)?"&":"?")+"_="+xt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader("If-Modified-Since",b.lastModified[i]),b.etag[i]&&E.setRequestHeader("If-None-Match",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Ot+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Mt(Ht,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout(function(){E.abort("timeout")},d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray("script",d.dataTypes)>-1&&b.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(b.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(b.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--b.active||b.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,"json")},getScript:function(e,t){return b.get(e,void 0,t,"script")}}),b.each(["get","post"],function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}}),b.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return h(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=h(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){b(this).replaceWith(this.childNodes)}),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Ft=b.ajaxSettings.xhr();d.cors=!!Ft&&"withCredentials"in Ft,d.ajax=Ft=!!Ft,b.ajaxTransport(function(t){var n,r;if(d.cors||Ft&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Wt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),b.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),b.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}});var Bt,$t=[],_t=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=$t.pop()||b.expando+"_"+xt.guid++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(_t.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&_t.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(_t,"$1"+i):!1!==t.jsonp&&(t.url+=(bt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||b.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?b(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,$t.push(i)),a&&h(o)&&o(a[0]),a=o=void 0}),"script"}),d.createHTMLDocument=((Bt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Bt.childNodes.length),b.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=A.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&b(o).remove(),b.merge([],i.childNodes)));var r,i,o},b.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pt(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&b.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?b("<div>").append(b.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},b.expr.pseudos.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length},b.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=b.css(e,"position"),c=b(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=b.css(e,"top"),u=b.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,b.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},b.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){b.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===b.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===b.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=b(e).offset()).top+=b.css(e,"borderTopWidth",!0),i.left+=b.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-b.css(r,"marginTop",!0),left:t.left-i.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===b.css(e,"position");)e=e.offsetParent;return e||ne})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;b.fn[e]=function(r){return B(this,function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),b.each(["top","left"],function(e,t){b.cssHooks[t]=Fe(d.pixelPosition,function(e,n){if(n)return n=We(e,t),Pe.test(n)?b(e).position()[t]+"px":n})}),b.each({Height:"height",Width:"width"},function(e,t){b.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){b.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return B(this,function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?b.css(t,n,s):b.style(t,n,i,s)},t,a?i:void 0,a)}})}),b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),b.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}});var zt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;b.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(i.call(arguments)))}).guid=e.guid=e.guid||b.guid++,o},b.holdReady=function(e){e?b.readyWait++:b.ready(!0)},b.isArray=Array.isArray,b.parseJSON=JSON.parse,b.nodeName=k,b.isFunction=h,b.isWindow=g,b.camelCase=U,b.type=x,b.now=Date.now,b.isNumeric=function(e){var t=b.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},b.trim=function(e){return null==e?"":(e+"").replace(zt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return b});var Ut=e.jQuery,Xt=e.$;return b.noConflict=function(t){return e.$===b&&(e.$=Xt),t&&e.jQuery===b&&(e.jQuery=Ut),b},void 0===t&&(e.jQuery=e.$=b),b});
|
||
|
||
},{}],37:[function(require,module,exports){
|
||
var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
|
||
|
||
},{}],38:[function(require,module,exports){
|
||
var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(f,e){for(var r in f)e[r]=f[r]}function SafeBuffer(f,e,r){return Buffer(f,e,r)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer.prototype),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(f,e,r){if("number"==typeof f)throw new TypeError("Argument must not be a number");return Buffer(f,e,r)},SafeBuffer.alloc=function(f,e,r){if("number"!=typeof f)throw new TypeError("Argument must be a number");var u=Buffer(f);return void 0!==e?"string"==typeof r?u.fill(e,r):u.fill(e):u.fill(0),u},SafeBuffer.allocUnsafe=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return Buffer(f)},SafeBuffer.allocUnsafeSlow=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(f)};
|
||
|
||
},{"buffer":31}],39:[function(require,module,exports){
|
||
(function (Buffer){(function (){
|
||
!function(t){t.parser=function(t,e){return new s(t,e)},t.SAXParser=s,t.SAXStream=n,t.createStream=function(t,e){return new n(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function s(e,a){if(!(this instanceof s))return new s(e,a);!function(t){for(var e=0,s=i.length;e<s;e++)t[i[e]]=""}(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=a||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!(!e&&!this.opt.noscript),this.state=D.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(h)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),C(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(t){function e(){}return e.prototype=t,new e}),Object.keys||(Object.keys=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e}),s.prototype={end:function(){v(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return R(this,"Cannot write after close. Assign an onready handler.");if(null===e)return v(this);"object"==typeof e&&(e=e.toString());var s=0,a="";for(;a=M(e,s++),this.c=a,a;)switch(this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++),this.state){case D.BEGIN:if(this.state=D.BEGIN_WHITESPACE,"\ufeff"===a)continue;G(this,a);continue;case D.BEGIN_WHITESPACE:G(this,a);continue;case D.TEXT:if(this.sawRoot&&!this.closedRoot){for(var n=s-1;a&&"<"!==a&&"&"!==a;)(a=M(e,s++))&&this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(n,s-1)}"<"!==a||this.sawRoot&&this.closedRoot&&!this.strict?(m(a)||this.sawRoot&&!this.closedRoot||P(this,"Text data outside of root node."),"&"===a?this.state=D.TEXT_ENTITY:this.textNode+=a):(this.state=D.OPEN_WAKA,this.startTagPosition=this.position);continue;case D.SCRIPT:"<"===a?this.state=D.SCRIPT_ENDING:this.script+=a;continue;case D.SCRIPT_ENDING:"/"===a?this.state=D.CLOSE_TAG:(this.script+="<"+a,this.state=D.SCRIPT);continue;case D.OPEN_WAKA:if("!"===a)this.state=D.SGML_DECL,this.sgmlDecl="";else if(m(a));else if(_(l,a))this.state=D.OPEN_TAG,this.tagName=a;else if("/"===a)this.state=D.CLOSE_TAG,this.tagName="";else if("?"===a)this.state=D.PROC_INST,this.procInstName=this.procInstBody="";else{if(P(this,"Unencoded <"),this.startTagPosition+1<this.position){var c=this.position-this.startTagPosition;a=new Array(c).join(" ")+a}this.textNode+="<"+a,this.state=D.TEXT}continue;case D.SGML_DECL:(this.sgmlDecl+a).toUpperCase()===r?(O(this,"onopencdata"),this.state=D.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+a==="--"?(this.state=D.COMMENT,this.comment="",this.sgmlDecl=""):(this.sgmlDecl+a).toUpperCase()===o?(this.state=D.DOCTYPE,(this.doctype||this.sawRoot)&&P(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===a?(O(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=D.TEXT):N(a)?(this.state=D.SGML_DECL_QUOTED,this.sgmlDecl+=a):this.sgmlDecl+=a;continue;case D.SGML_DECL_QUOTED:a===this.q&&(this.state=D.SGML_DECL,this.q=""),this.sgmlDecl+=a;continue;case D.DOCTYPE:">"===a?(this.state=D.TEXT,O(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=a,"["===a?this.state=D.DOCTYPE_DTD:N(a)&&(this.state=D.DOCTYPE_QUOTED,this.q=a));continue;case D.DOCTYPE_QUOTED:this.doctype+=a,a===this.q&&(this.q="",this.state=D.DOCTYPE);continue;case D.DOCTYPE_DTD:this.doctype+=a,"]"===a?this.state=D.DOCTYPE:N(a)&&(this.state=D.DOCTYPE_DTD_QUOTED,this.q=a);continue;case D.DOCTYPE_DTD_QUOTED:this.doctype+=a,a===this.q&&(this.state=D.DOCTYPE_DTD,this.q="");continue;case D.COMMENT:"-"===a?this.state=D.COMMENT_ENDING:this.comment+=a;continue;case D.COMMENT_ENDING:"-"===a?(this.state=D.COMMENT_ENDED,this.comment=S(this.opt,this.comment),this.comment&&O(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+a,this.state=D.COMMENT);continue;case D.COMMENT_ENDED:">"!==a?(P(this,"Malformed comment"),this.comment+="--"+a,this.state=D.COMMENT):this.state=D.TEXT;continue;case D.CDATA:"]"===a?this.state=D.CDATA_ENDING:this.cdata+=a;continue;case D.CDATA_ENDING:"]"===a?this.state=D.CDATA_ENDING_2:(this.cdata+="]"+a,this.state=D.CDATA);continue;case D.CDATA_ENDING_2:">"===a?(this.cdata&&O(this,"oncdata",this.cdata),O(this,"onclosecdata"),this.cdata="",this.state=D.TEXT):"]"===a?this.cdata+="]":(this.cdata+="]]"+a,this.state=D.CDATA);continue;case D.PROC_INST:"?"===a?this.state=D.PROC_INST_ENDING:m(a)?this.state=D.PROC_INST_BODY:this.procInstName+=a;continue;case D.PROC_INST_BODY:if(!this.procInstBody&&m(a))continue;"?"===a?this.state=D.PROC_INST_ENDING:this.procInstBody+=a;continue;case D.PROC_INST_ENDING:">"===a?(O(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=D.TEXT):(this.procInstBody+="?"+a,this.state=D.PROC_INST_BODY);continue;case D.OPEN_TAG:_(T,a)?this.tagName+=a:(y(this),">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:(m(a)||P(this,"Invalid character in tag name"),this.state=D.ATTRIB));continue;case D.OPEN_TAG_SLASH:">"===a?(U(this,!0),x(this)):(P(this,"Forward-slash in opening tag not followed by >"),this.state=D.ATTRIB);continue;case D.ATTRIB:if(m(a))continue;">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME:"="===a?this.state=D.ATTRIB_VALUE:">"===a?(P(this,"Attribute without value"),this.attribValue=this.attribName,B(this),U(this)):m(a)?this.state=D.ATTRIB_NAME_SAW_WHITE:_(T,a)?this.attribName+=a:P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME_SAW_WHITE:if("="===a)this.state=D.ATTRIB_VALUE;else{if(m(a))continue;P(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",O(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===a?U(this):_(l,a)?(this.attribName=a,this.state=D.ATTRIB_NAME):(P(this,"Invalid attribute name"),this.state=D.ATTRIB)}continue;case D.ATTRIB_VALUE:if(m(a))continue;N(a)?(this.q=a,this.state=D.ATTRIB_VALUE_QUOTED):(P(this,"Unquoted attribute value"),this.state=D.ATTRIB_VALUE_UNQUOTED,this.attribValue=a);continue;case D.ATTRIB_VALUE_QUOTED:if(a!==this.q){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=a;continue}B(this),this.q="",this.state=D.ATTRIB_VALUE_CLOSED;continue;case D.ATTRIB_VALUE_CLOSED:m(a)?this.state=D.ATTRIB:">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(P(this,"No whitespace between attributes"),this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_VALUE_UNQUOTED:if(!f(a)){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_U:this.attribValue+=a;continue}B(this),">"===a?U(this):this.state=D.ATTRIB;continue;case D.CLOSE_TAG:if(this.tagName)">"===a?x(this):_(T,a)?this.tagName+=a:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=D.SCRIPT):(m(a)||P(this,"Invalid tagname in closing tag"),this.state=D.CLOSE_TAG_SAW_WHITE);else{if(m(a))continue;d(l,a)?this.script?(this.script+="</"+a,this.state=D.SCRIPT):P(this,"Invalid tagname in closing tag."):this.tagName=a}continue;case D.CLOSE_TAG_SAW_WHITE:if(m(a))continue;">"===a?x(this):P(this,"Invalid characters in closing tag");continue;case D.TEXT_ENTITY:case D.ATTRIB_VALUE_ENTITY_Q:case D.ATTRIB_VALUE_ENTITY_U:var u,h;switch(this.state){case D.TEXT_ENTITY:u=D.TEXT,h="textNode";break;case D.ATTRIB_VALUE_ENTITY_Q:u=D.ATTRIB_VALUE_QUOTED,h="attribValue";break;case D.ATTRIB_VALUE_ENTITY_U:u=D.ATTRIB_VALUE_UNQUOTED,h="attribValue"}";"===a?(this[h]+=w(this),this.entity="",this.state=u):_(this.entity.length?p:E,a)?this.entity+=a:(P(this,"Invalid character in entity name"),this[h]+="&"+this.entity+a,this.entity="",this.state=u);continue;default:throw new Error(this,"Unknown state: "+this.state)}this.position>=this.bufferCheckPosition&&function(e){for(var s=Math.max(t.MAX_BUFFER_LENGTH,10),a=0,n=0,r=i.length;n<r;n++){var o=e[i[n]].length;if(o>s)switch(i[n]){case"textNode":F(e);break;case"cdata":O(e,"oncdata",e.cdata),e.cdata="";break;case"script":O(e,"onscript",e.script),e.script="";break;default:R(e,"Max buffer length exceeded: "+i[n])}a=Math.max(a,o)}var c=t.MAX_BUFFER_LENGTH-a;e.bufferCheckPosition=c+e.position}(this);return this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;F(t=this),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}};try{e=require("stream").Stream}catch(t){e=function(){}}var a=t.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function n(t,i){if(!(this instanceof n))return new n(t,i);e.apply(this),this._parser=new s(t,i),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(t){r.emit("error",t),r._parser.error=null},this._decoder=null,a.forEach(function(t){Object.defineProperty(r,"on"+t,{get:function(){return r._parser["on"+t]},set:function(e){if(!e)return r.removeAllListeners(t),r._parser["on"+t]=e,e;r.on(t,e)},enumerable:!0,configurable:!1})})}n.prototype=Object.create(e.prototype,{constructor:{value:n}}),n.prototype.write=function(t){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(t)){if(!this._decoder){var e=require("string_decoder").StringDecoder;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},n.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},n.prototype.on=function(t,i){var s=this;return s._parser["on"+t]||-1===a.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,i)};var r="[CDATA[",o="DOCTYPE",c="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",h={xml:c,xmlns:u},l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,T=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,E=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function N(t){return'"'===t||"'"===t}function f(t){return">"===t||m(t)}function _(t,e){return t.test(e)}function d(t,e){return!_(t,e)}var g,A,I,D=0;for(var b in t.STATE={BEGIN:D++,BEGIN_WHITESPACE:D++,TEXT:D++,TEXT_ENTITY:D++,OPEN_WAKA:D++,SGML_DECL:D++,SGML_DECL_QUOTED:D++,DOCTYPE:D++,DOCTYPE_QUOTED:D++,DOCTYPE_DTD:D++,DOCTYPE_DTD_QUOTED:D++,COMMENT_STARTING:D++,COMMENT:D++,COMMENT_ENDING:D++,COMMENT_ENDED:D++,CDATA:D++,CDATA_ENDING:D++,CDATA_ENDING_2:D++,PROC_INST:D++,PROC_INST_BODY:D++,PROC_INST_ENDING:D++,OPEN_TAG:D++,OPEN_TAG_SLASH:D++,ATTRIB:D++,ATTRIB_NAME:D++,ATTRIB_NAME_SAW_WHITE:D++,ATTRIB_VALUE:D++,ATTRIB_VALUE_QUOTED:D++,ATTRIB_VALUE_CLOSED:D++,ATTRIB_VALUE_UNQUOTED:D++,ATTRIB_VALUE_ENTITY_Q:D++,ATTRIB_VALUE_ENTITY_U:D++,CLOSE_TAG:D++,CLOSE_TAG_SAW_WHITE:D++,SCRIPT:D++,SCRIPT_ENDING:D++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var i=t.ENTITIES[e],s="number"==typeof i?String.fromCharCode(i):i;t.ENTITIES[e]=s}),t.STATE)t.STATE[t.STATE[b]]=b;function C(t,e,i){t[e]&&t[e](i)}function O(t,e,i){t.textNode&&F(t),C(t,e,i)}function F(t){t.textNode=S(t.opt,t.textNode),t.textNode&&C(t,"ontext",t.textNode),t.textNode=""}function S(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function R(t,e){return F(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,C(t,"onerror",e),t}function v(t){return t.sawRoot&&!t.closedRoot&&P(t,"Unclosed root tag"),t.state!==D.BEGIN&&t.state!==D.BEGIN_WHITESPACE&&t.state!==D.TEXT&&R(t,"Unexpected end"),F(t),t.c="",t.closed=!0,C(t,"onend"),s.call(t,t.strict,t.opt),t}function P(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&R(t,e)}function y(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,i=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(i.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",i)}function L(t,e){var i=t.indexOf(":")<0?["",t]:t.split(":"),s=i[0],a=i[1];return e&&"xmlns"===t&&(s="xmlns",a=""),{prefix:s,local:a}}function B(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=L(t.attribName,!0),i=e.prefix,s=e.local;if("xmlns"===i)if("xml"===s&&t.attribValue!==c)P(t,"xml: prefix must be bound to "+c+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==u)P(t,"xmlns: prefix must be bound to "+u+"\nActual: "+t.attribValue);else{var a=t.tag,n=t.tags[t.tags.length-1]||t;a.ns===n.ns&&(a.ns=Object.create(n.ns)),a.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function U(t,e){if(t.opt.xmlns){var i=t.tag,s=L(t.tagName);i.prefix=s.prefix,i.local=s.local,i.uri=i.ns[s.prefix]||"",i.prefix&&!i.uri&&(P(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),i.uri=s.prefix);var a=t.tags[t.tags.length-1]||t;i.ns&&a.ns!==i.ns&&Object.keys(i.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:i.ns[e]})});for(var n=0,r=t.attribList.length;n<r;n++){var o=t.attribList[n],c=o[0],u=o[1],h=L(c,!0),l=h.prefix,T=h.local,E=""===l?"":i.ns[l]||"",p={name:c,value:u,prefix:l,local:T,uri:E};l&&"xmlns"!==l&&!E&&(P(t,"Unbound namespace prefix: "+JSON.stringify(l)),p.uri=l),t.tag.attributes[c]=p,O(t,"onattribute",p)}t.attribList.length=0}t.tag.isSelfClosing=!!e,t.sawRoot=!0,t.tags.push(t.tag),O(t,"onopentag",t.tag),e||(t.noscript||"script"!==t.tagName.toLowerCase()?t.state=D.TEXT:t.state=D.SCRIPT,t.tag=null,t.tagName=""),t.attribName=t.attribValue="",t.attribList.length=0}function x(t){if(!t.tagName)return P(t,"Weird empty close tag."),t.textNode+="</>",void(t.state=D.TEXT);if(t.script){if("script"!==t.tagName)return t.script+="</"+t.tagName+">",t.tagName="",void(t.state=D.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,i=t.tagName;t.strict||(i=i[t.looseCase]());for(var s=i;e--;){if(t.tags[e].name===s)break;P(t,"Unexpected close tag")}if(e<0)return P(t,"Unmatched closing tag: "+t.tagName),t.textNode+="</"+t.tagName+">",void(t.state=D.TEXT);t.tagName=i;for(var a=t.tags.length;a-- >e;){var n=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var r={};for(var o in n.ns)r[o]=n.ns[o];var c=t.tags[t.tags.length-1]||t;t.opt.xmlns&&n.ns!==c.ns&&Object.keys(n.ns).forEach(function(e){var i=n.ns[e];O(t,"onclosenamespace",{prefix:e,uri:i})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=D.TEXT}function w(t){var e,i=t.entity,s=i.toLowerCase(),a="";return t.ENTITIES[i]?t.ENTITIES[i]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(i=s).charAt(0)&&("x"===i.charAt(1)?(i=i.slice(2),a=(e=parseInt(i,16)).toString(16)):(i=i.slice(1),a=(e=parseInt(i,10)).toString(10))),i=i.replace(/^0+/,""),isNaN(e)||a.toLowerCase()!==i?(P(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function G(t,e){"<"===e?(t.state=D.OPEN_WAKA,t.startTagPosition=t.position):m(e)||(P(t,"Non-whitespace before first tag."),t.textNode=e,t.state=D.TEXT)}function M(t,e){var i="";return e<t.length&&(i=t.charAt(e)),i}D=t.STATE,String.fromCodePoint||(g=String.fromCharCode,A=Math.floor,I=function(){var t,e,i=[],s=-1,a=arguments.length;if(!a)return"";for(var n="";++s<a;){var r=Number(arguments[s]);if(!isFinite(r)||r<0||r>1114111||A(r)!==r)throw RangeError("Invalid code point: "+r);r<=65535?i.push(r):(t=55296+((r-=65536)>>10),e=r%1024+56320,i.push(t,e)),(s+1===a||i.length>16384)&&(n+=g.apply(null,i),i.length=0)}return n},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I)}("undefined"==typeof exports?this.sax={}:exports);
|
||
|
||
}).call(this)}).call(this,require("buffer").Buffer)
|
||
|
||
},{"buffer":31,"stream":40,"string_decoder":55}],40:[function(require,module,exports){
|
||
module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");function Stream(){EE.call(this)}inherits(Stream,EE),Stream.Readable=require("readable-stream/lib/_stream_readable.js"),Stream.Writable=require("readable-stream/lib/_stream_writable.js"),Stream.Duplex=require("readable-stream/lib/_stream_duplex.js"),Stream.Transform=require("readable-stream/lib/_stream_transform.js"),Stream.PassThrough=require("readable-stream/lib/_stream_passthrough.js"),Stream.finished=require("readable-stream/lib/internal/streams/end-of-stream.js"),Stream.pipeline=require("readable-stream/lib/internal/streams/pipeline.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){var t=this;function a(r){e.writable&&!1===e.write(r)&&t.pause&&t.pause()}function i(){t.readable&&t.resume&&t.resume()}t.on("data",a),e.on("drain",i),e._isStdio||r&&!1===r.end||(t.on("end",s),t.on("close",o));var n=!1;function s(){n||(n=!0,e.end())}function o(){n||(n=!0,"function"==typeof e.destroy&&e.destroy())}function m(e){if(l(),0===EE.listenerCount(this,"error"))throw e}function l(){t.removeListener("data",a),e.removeListener("drain",i),t.removeListener("end",s),t.removeListener("close",o),t.removeListener("error",m),e.removeListener("error",m),t.removeListener("end",l),t.removeListener("close",l),e.removeListener("close",l)}return t.on("error",m),e.on("error",m),t.on("end",l),t.on("close",l),e.on("close",l),e.emit("pipe",t),e};
|
||
|
||
},{"events":32,"inherits":34,"readable-stream/lib/_stream_duplex.js":42,"readable-stream/lib/_stream_passthrough.js":43,"readable-stream/lib/_stream_readable.js":44,"readable-stream/lib/_stream_transform.js":45,"readable-stream/lib/_stream_writable.js":46,"readable-stream/lib/internal/streams/end-of-stream.js":50,"readable-stream/lib/internal/streams/pipeline.js":52}],41:[function(require,module,exports){
|
||
"use strict";function _inheritsLoose(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r}var codes={};function createErrorType(e,r,t){t||(t=Error);var n=function(e){function t(t,n,o){return e.call(this,function(e,t,n){return"string"==typeof r?r:r(e,t,n)}(t,n,o))||this}return _inheritsLoose(t,e),t}(t);n.prototype.name=t.name,n.prototype.code=e,codes[e]=n}function oneOf(e,r){if(Array.isArray(e)){var t=e.length;return e=e.map(function(e){return String(e)}),t>2?"one of ".concat(r," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(r," ").concat(e[0]," or ").concat(e[1]):"of ".concat(r," ").concat(e[0])}return"of ".concat(r," ").concat(String(e))}function startsWith(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function endsWith(e,r,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-r.length,t)===r}function includes(e,r,t){return"number"!=typeof t&&(t=0),!(t+r.length>e.length)&&-1!==e.indexOf(r,t)}createErrorType("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(e,r,t){var n,o;if("string"==typeof r&&startsWith(r,"not ")?(n="must not be",r=r.replace(/^not /,"")):n="must be",endsWith(e," argument"))o="The ".concat(e," ").concat(n," ").concat(oneOf(r,"type"));else{var c=includes(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(oneOf(r,"type"))}return o+=". Received type ".concat(typeof t)},TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=codes;
|
||
|
||
},{}],42:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);Readable.call(this,e),Writable.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",onend)))}function onend(){this._writableState.ended||process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}});
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"./_stream_readable":44,"./_stream_writable":46,"_process":37,"inherits":34}],43:[function(require,module,exports){
|
||
"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform");function PassThrough(r){if(!(this instanceof PassThrough))return new PassThrough(r);Transform.call(this,r)}require("inherits")(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,o){o(null,r)};
|
||
|
||
},{"./_stream_transform":45,"inherits":34}],44:[function(require,module,exports){
|
||
(function (process,global){(function (){
|
||
"use strict";var Duplex;module.exports=Readable,Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter,EElistenerCount=function(e,t){return e.listeners(t).length},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var debug,debugUtil=require("util");debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,createReadableStreamAsyncIterator,from,BufferList=require("./internal/streams/buffer_list"),destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;require("inherits")(Readable,Stream);var errorOrDestroy=destroyImpl.errorOrDestroy,kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function ReadableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"readableHighWaterMark",r),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){if(Duplex=Duplex||require("./_stream_duplex"),!(this instanceof Readable))return new Readable(e);var t=this instanceof Duplex;this._readableState=new ReadableState(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),Stream.call(this)}function readableAddChunk(e,t,r,a,n){debug("readableAddChunk",t);var i,d=e._readableState;if(null===t)d.reading=!1,onEofChunk(e,d);else if(n||(i=chunkInvalid(d,t)),i)errorOrDestroy(e,i);else if(d.objectMode||t&&t.length>0)if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===Buffer.prototype||(t=_uint8ArrayToBuffer(t)),a)d.endEmitted?errorOrDestroy(e,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT):addChunk(e,d,t,!0);else if(d.ended)errorOrDestroy(e,new ERR_STREAM_PUSH_AFTER_EOF);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?addChunk(e,d,t,!1):maybeReadMore(e,d)):addChunk(e,d,t,!1)}else a||(d.reading=!1,maybeReadMore(e,d));return!d.ended&&(d.length<d.highWaterMark||0===d.length)}function addChunk(e,t,r,a){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e)),maybeReadMore(e,t)}function chunkInvalid(e,t){var r;return _isUint8Array(t)||"string"==typeof t||void 0===t||e.objectMode||(r=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],t)),r}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(e,t){t(e)},Readable.prototype.push=function(e,t){var r,a=this._readableState;return a.objectMode?r=!0:"string"==typeof e&&((t=t||a.defaultEncoding)!==a.encoding&&(e=Buffer.from(e,t),t=""),r=!0),readableAddChunk(this,e,t,!1,r)},Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(e){StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder);var t=new StringDecoder(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,a="";null!==r;)a+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==a&&this._readableState.buffer.push(a),this._readableState.length=a.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function onEofChunk(e,t){if(debug("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?emitReadable(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,emitReadable_(e)))}}function emitReadable(e){var t=e._readableState;debug("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(emitReadable_,e))}function emitReadable_(e){var t=e._readableState;debug("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(debug("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(resume_,e,t))}function resume_(e,t){debug("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;for(debug("flow",t.flowing);t.flowing&&null!==e.read(););}function fromList(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function endReadable(e){var t=e._readableState;debug("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(endReadableNT,t,e))}function endReadableNT(e,t){if(debug("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function indexOf(e,t){for(var r=0,a=e.length;r<a;r++)if(e[r]===t)return r;return-1}Readable.prototype.read=function(e){debug("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(0===(e=howMuchToRead(e,t))&&t.ended)return 0===t.length&&endReadable(this),null;var a,n=t.needReadable;return debug("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&debug("length less than watermark",n=!0),t.ended||t.reading?debug("reading or ended",n=!1):n&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=howMuchToRead(r,t))),null===(a=e>0?fromList(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&endReadable(this)),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))},Readable.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,debug("pipe count=%d opts=%j",a.pipesCount,t);var n=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?d:f;function i(t,n){debug("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,debug("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",d),r.removeListener("end",f),r.removeListener("data",l),s=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||o())}function d(){debug("onend"),e.end()}a.endEmitted?process.nextTick(n):r.once("end",n),e.on("unpipe",i);var o=pipeOnDrain(r);e.on("drain",o);var s=!1;function l(t){debug("ondata");var n=e.write(t);debug("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==indexOf(a.pipes,e))&&!s&&(debug("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function u(t){debug("onerror",t),f(),e.removeListener("error",u),0===EElistenerCount(e,"error")&&errorOrDestroy(e,t)}function b(){e.removeListener("finish",p),f()}function p(){debug("onfinish"),e.removeListener("close",b),f()}function f(){debug("unpipe"),r.unpipe(e)}return r.on("data",l),prependListener(e,"error",u),e.once("close",b),e.once("finish",p),e.emit("pipe",r),a.flowing||(debug("pipe resume"),r.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var a=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)a[i].emit("unpipe",this,{hasUnpiped:!1});return this}var d=indexOf(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t),a=this._readableState;return"data"===e?(a.readableListening=this.listenerCount("readable")>0,!1!==a.flowing&&this.resume()):"readable"===e&&(a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.flowing=!1,a.emittedReadable=!1,debug("on readable",a.length,a.reading),a.length?emitReadable(this):a.reading||process.nextTick(nReadingNextTick,this))),r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(e,t){var r=Stream.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(updateReadableListening,this),r},Readable.prototype.removeAllListeners=function(e){var t=Stream.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(updateReadableListening,this),t},Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!e.readableListening,resume(this,e)),e.paused=!1,this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(e){var t=this,r=this._readableState,a=!1;for(var n in e.on("end",function(){if(debug("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(n){(debug("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(a=!0,e.pause()))}),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var i=0;i<kProxyEvents.length;i++)e.on(kProxyEvents[i],this.emit.bind(this,kProxyEvents[i]));return this._read=function(t){debug("wrapped _read",t),a&&(a=!1,e.resume())},this},"function"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===createReadableStreamAsyncIterator&&(createReadableStreamAsyncIterator=require("./internal/streams/async_iterator")),createReadableStreamAsyncIterator(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Readable.from=function(e,t){return void 0===from&&(from=require("./internal/streams/from")),from(Readable,e,t)});
|
||
|
||
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||
|
||
},{"../errors":41,"./_stream_duplex":42,"./internal/streams/async_iterator":47,"./internal/streams/buffer_list":48,"./internal/streams/destroy":49,"./internal/streams/from":51,"./internal/streams/state":53,"./internal/streams/stream":54,"_process":37,"buffer":31,"events":32,"inherits":34,"string_decoder/":55,"util":30}],45:[function(require,module,exports){
|
||
"use strict";module.exports=Transform;var _require$codes=require("../errors").codes,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,ERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0,Duplex=require("./_stream_duplex");function afterTransform(r,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(null===n)return this.emit("error",new ERR_MULTIPLE_CALLBACK);t.writechunk=null,t.writecb=null,null!=e&&this.push(e),n(r);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",prefinish)}function prefinish(){var r=this;"function"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush(function(e,t){done(r,e,t)})}function done(r,e,t){if(e)return r.emit("error",e);if(null!=t&&r.push(t),r._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0;if(r._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING;return r.push(null)}require("inherits")(Transform,Duplex),Transform.prototype.push=function(r,e){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,e)},Transform.prototype._transform=function(r,e,t){t(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"))},Transform.prototype._write=function(r,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=r,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},Transform.prototype._destroy=function(r,e){Duplex.prototype._destroy.call(this,r,function(r){e(r)})};
|
||
|
||
},{"../errors":41,"./_stream_duplex":42,"inherits":34}],46:[function(require,module,exports){
|
||
(function (process,global){(function (){
|
||
"use strict";function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(t,e)}}var Duplex;module.exports=Writable,Writable.WritableState=WritableState;var internalUtil={deprecate:require("util-deprecate")},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var realHasInstance,destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED,ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING,errorOrDestroy=destroyImpl.errorOrDestroy;function nop(){}function WritableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(e){var t=this instanceof(Duplex=Duplex||require("./_stream_duplex"));if(!t&&!realHasInstance.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),Stream.call(this)}function writeAfterEnd(e,t){var r=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(e,r),process.nextTick(t,r)}function validChunk(e,t,r,i){var n;return null===r?n=new ERR_STREAM_NULL_VALUES:"string"==typeof r||t.objectMode||(n=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],r)),!n||(errorOrDestroy(e,n),process.nextTick(i,n),!1)}function decodeChunk(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Buffer.from(t,r)),t}function writeOrBuffer(e,t,r,i,n,o){if(!r){var s=decodeChunk(t,i,n);i!==s&&(r=!0,n="buffer",i=s)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length<t.highWaterMark;if(u||(t.needDrain=!0),t.writing||t.corked){var f=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},f?f.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,a,i,n,o);return u}function doWrite(e,t,r,i,n,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new ERR_STREAM_DESTROYED("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?(process.nextTick(n,i),process.nextTick(finishMaybe,e,t),e._writableState.errorEmitted=!0,errorOrDestroy(e,i)):(n(i),e._writableState.errorEmitted=!0,errorOrDestroy(e,i),finishMaybe(e,t))}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new ERR_MULTIPLE_CALLBACK;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var o=needFinish(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?process.nextTick(afterWrite,e,r,o,n):afterWrite(e,r,o,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,a=!0;r;)n[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;n.allBuffers=a,doWrite(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new CorkedRequest(t),t.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(doWrite(e,t,!1,t.objectMode?1:u.length,u,f,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function callFinal(e,t){e._final(function(r){t.pendingcb--,r&&errorOrDestroy(e,r),t.prefinished=!0,e.emit("prefinish"),finishMaybe(e,t)})}function prefinish(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(callFinal,e,t)))}function finishMaybe(e,t){var r=needFinish(t);if(r&&(prefinish(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function onCorkedFinish(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}require("inherits")(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){return!!realHasInstance.call(this,e)||this===Writable&&(e&&e._writableState instanceof WritableState)}})):realHasInstance=function(e){return e instanceof this},Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1,o=!i.objectMode&&_isUint8Array(e);return o&&!Buffer.isBuffer(e)&&(e=_uint8ArrayToBuffer(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ending?writeAfterEnd(this,r):(o||validChunk(this,i,e,r))&&(i.pendingcb++,n=writeOrBuffer(this,i,o,e,t,r)),n},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(e,t,r){r(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||endWritable(this,i,r),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(e,t){t(e)};
|
||
|
||
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||
|
||
},{"../errors":41,"./_stream_duplex":42,"./internal/streams/destroy":49,"./internal/streams/state":53,"./internal/streams/stream":54,"_process":37,"buffer":31,"inherits":34,"util-deprecate":57}],47:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";var _Object$setPrototypeO;function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var finished=require("./end-of-stream"),kLastResolve=Symbol("lastResolve"),kLastReject=Symbol("lastReject"),kError=Symbol("error"),kEnded=Symbol("ended"),kLastPromise=Symbol("lastPromise"),kHandlePromise=Symbol("handlePromise"),kStream=Symbol("stream");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[kLastResolve];if(null!==t){var r=e[kStream].read();null!==r&&(e[kLastPromise]=null,e[kLastResolve]=null,e[kLastReject]=null,t(createIterResult(r,!1)))}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,o){e.then(function(){t[kEnded]?r(createIterResult(void 0,!0)):t[kHandlePromise](r,o)},o)}}var AsyncIteratorPrototype=Object.getPrototypeOf(function(){}),ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_defineProperty(_Object$setPrototypeO={get stream(){return this[kStream]},next:function(){var e=this,t=this[kError];if(null!==t)return Promise.reject(t);if(this[kEnded])return Promise.resolve(createIterResult(void 0,!0));if(this[kStream].destroyed)return new Promise(function(t,r){process.nextTick(function(){e[kError]?r(e[kError]):t(createIterResult(void 0,!0))})});var r,o=this[kLastPromise];if(o)r=new Promise(wrapForNext(o,this));else{var n=this[kStream].read();if(null!==n)return Promise.resolve(createIterResult(n,!1));r=new Promise(this[kHandlePromise])}return this[kLastPromise]=r,r}},Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",function(){var e=this;return new Promise(function(t,r){e[kStream].destroy(null,function(e){e?r(e):t(createIterResult(void 0,!0))})})}),_Object$setPrototypeO),AsyncIteratorPrototype),createReadableStreamAsyncIterator=function(e){var t,r=Object.create(ReadableStreamAsyncIteratorPrototype,(_defineProperty(t={},kStream,{value:e,writable:!0}),_defineProperty(t,kLastResolve,{value:null,writable:!0}),_defineProperty(t,kLastReject,{value:null,writable:!0}),_defineProperty(t,kError,{value:null,writable:!0}),_defineProperty(t,kEnded,{value:e._readableState.endEmitted,writable:!0}),_defineProperty(t,kHandlePromise,{value:function(e,t){var o=r[kStream].read();o?(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,e(createIterResult(o,!1))):(r[kLastResolve]=e,r[kLastReject]=t)},writable:!0}),t));return r[kLastPromise]=null,finished(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[kLastReject];return null!==t&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,t(e)),void(r[kError]=e)}var o=r[kLastResolve];null!==o&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,o(createIterResult(void 0,!0))),r[kEnded]=!0}),e.on("readable",onReadable.bind(null,r)),r};module.exports=createReadableStreamAsyncIterator;
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"./end-of-stream":50,"_process":37}],48:[function(require,module,exports){
|
||
"use strict";function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}var _require=require("buffer"),Buffer=_require.Buffer,_require2=require("util"),inspect=_require2.inspect,custom=inspect&&inspect.custom||"inspect";function copyBuffer(e,t,n){Buffer.prototype.copy.call(e,t,n)}module.exports=function(){function e(){_classCallCheck(this,e),this.head=null,this.tail=null,this.length=0}return _createClass(e,[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return Buffer.alloc(0);for(var t=Buffer.allocUnsafe(e>>>0),n=this.head,r=0;n;)copyBuffer(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var a=t.data,i=e>a.length?a.length:e;if(i===a.length?r+=a:r+=a.slice(0,e),0===(e-=i)){i===a.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=a.slice(i));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=Buffer.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(a.copy(t,t.length-e,0,i),0===(e-=i)){i===a.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=a.slice(i));break}++r}return this.length-=r,t}},{key:custom,value:function(e,t){return inspect(this,_objectSpread({},t,{depth:0,customInspect:!1}))}}]),e}();
|
||
|
||
},{"buffer":31,"util":30}],49:[function(require,module,exports){
|
||
(function (process){(function (){
|
||
"use strict";function destroy(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return i||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,t)):process.nextTick(emitErrorNT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?r._writableState?r._writableState.errorEmitted?process.nextTick(emitCloseNT,r):(r._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,r,t)):process.nextTick(emitErrorAndCloseNT,r,t):e?(process.nextTick(emitCloseNT,r),e(t)):process.nextTick(emitCloseNT,r)}),this)}function emitErrorAndCloseNT(t,e){emitErrorNT(t,e),emitCloseNT(t)}function emitCloseNT(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(t,e){t.emit("error",e)}function errorOrDestroy(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};
|
||
|
||
}).call(this)}).call(this,require('_process'))
|
||
|
||
},{"_process":37}],50:[function(require,module,exports){
|
||
"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e.apply(this,n)}}}function noop(){}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function eos(e,r,t){if("function"==typeof r)return eos(e,null,r);r||(r={}),t=once(t||noop);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,i=function(){e.writable||l()},a=e._writableState&&e._writableState.finished,l=function(){o=!1,a=!0,n||t.call(e)},s=e._readableState&&e._readableState.endEmitted,c=function(){n=!1,s=!0,o||t.call(e)},u=function(r){t.call(e,r)},f=function(){var r;return n&&!s?(e._readableState&&e._readableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):o&&!a?(e._writableState&&e._writableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):void 0},d=function(){e.req.on("finish",l)};return isRequest(e)?(e.on("complete",l),e.on("abort",f),e.req?d():e.on("request",d)):o&&!e._writableState&&(e.on("end",i),e.on("close",i)),e.on("end",c),e.on("finish",l),!1!==r.error&&e.on("error",u),e.on("close",f),function(){e.removeListener("complete",l),e.removeListener("abort",f),e.removeListener("request",d),e.req&&e.req.removeListener("finish",l),e.removeListener("end",i),e.removeListener("close",i),e.removeListener("finish",l),e.removeListener("end",c),e.removeListener("error",u),e.removeListener("close",f)}}module.exports=eos;
|
||
|
||
},{"../../../errors":41}],51:[function(require,module,exports){
|
||
module.exports=function(){throw new Error("Readable.from is not available in the browser")};
|
||
|
||
},{}],52:[function(require,module,exports){
|
||
"use strict";var eos;function once(e){var r=!1;return function(){r||(r=!0,e.apply(void 0,arguments))}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function destroyer(e,r,n,o){o=once(o);var t=!1;e.on("close",function(){t=!0}),void 0===eos&&(eos=require("./end-of-stream")),eos(e,{readable:r,writable:n},function(e){if(e)return o(e);t=!0,o()});var i=!1;return function(r){if(!t&&!i)return i=!0,isRequest(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(r||new ERR_STREAM_DESTROYED("pipe"))}}function call(e){e()}function pipe(e,r){return e.pipe(r)}function popCallback(e){return e.length?"function"!=typeof e[e.length-1]?noop:e.pop():noop}function pipeline(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o,t=popCallback(r);if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new ERR_MISSING_ARGS("streams");var i=r.map(function(e,n){var u=n<r.length-1;return destroyer(e,u,n>0,function(e){o||(o=e),e&&i.forEach(call),u||(i.forEach(call),t(o))})});return r.reduce(pipe)}module.exports=pipeline;
|
||
|
||
},{"../../../errors":41,"./end-of-stream":50}],53:[function(require,module,exports){
|
||
"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function getHighWaterMark(r,e,t,a){var i=highWaterMarkFrom(e,a,t);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new ERR_INVALID_OPT_VALUE(a?t:"highWaterMark",i);return Math.floor(i)}return r.objectMode?16:16384}module.exports={getHighWaterMark:getHighWaterMark};
|
||
|
||
},{"../../../errors":41}],54:[function(require,module,exports){
|
||
module.exports=require("events").EventEmitter;
|
||
|
||
},{"events":32}],55:[function(require,module,exports){
|
||
"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i<s)return 0;var n=utf8CheckByte(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"<22>";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"<22>";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"<22>"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"<22>":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
|
||
|
||
},{"safe-buffer":38}],56:[function(require,module,exports){
|
||
(function (setImmediate,clearImmediate){(function (){
|
||
var nextTick=require("process/browser.js").nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;function Timeout(e,t){this._id=e,this._clearFn=t}exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(e){e.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},exports.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},exports._unrefActive=exports.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},exports.setImmediate="function"==typeof setImmediate?setImmediate:function(e){var t=nextImmediateId++,i=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[t]=!0,nextTick(function(){immediateIds[t]&&(i?e.apply(null,i):e.call(null),exports.clearImmediate(t))}),t},exports.clearImmediate="function"==typeof clearImmediate?clearImmediate:function(e){delete immediateIds[e]};
|
||
|
||
}).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate)
|
||
|
||
},{"process/browser.js":37,"timers":56}],57:[function(require,module,exports){
|
||
(function (global){(function (){
|
||
function deprecate(r,e){if(config("noDeprecation"))return r;var o=!1;return function(){if(!o){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),o=!0}return r.apply(this,arguments)}}function config(r){try{if(!global.localStorage)return!1}catch(r){return!1}var e=global.localStorage[r];return null!=e&&"true"===String(e).toLowerCase()}module.exports=deprecate;
|
||
|
||
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||
|
||
},{}],58:[function(require,module,exports){
|
||
(function(){"use strict";exports.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this);
|
||
|
||
},{}],59:[function(require,module,exports){
|
||
(function(){"use strict";var t,e,o,i,r,n={}.hasOwnProperty;t=require("xmlbuilder"),e=require("./defaults").defaults,i=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},r=function(t){return"<![CDATA["+o(t)+"]]>"},o=function(t){return t.replace("]]>","]]]]><![CDATA[>")},exports.Builder=function(){function o(t){var o,i,r;for(o in this.options={},i=e[.2])n.call(i,o)&&(r=i[o],this.options[o]=r);for(o in t)n.call(t,o)&&(r=t[o],this.options[o]=r)}return o.prototype.buildObject=function(o){var s,a,l,p,f,u;return s=this.options.attrkey,a=this.options.charkey,1===Object.keys(o).length&&this.options.rootName===e[.2].rootName?o=o[f=Object.keys(o)[0]]:f=this.options.rootName,u=this,l=function(t,e){var o,p,f,c,h,d;if("object"!=typeof e)u.options.cdata&&i(e)?t.raw(r(e)):t.txt(e);else if(Array.isArray(e)){for(c in e)if(n.call(e,c))for(h in p=e[c])f=p[h],t=l(t.ele(h),f).up()}else for(h in e)if(n.call(e,h))if(p=e[h],h===s){if("object"==typeof p)for(o in p)d=p[o],t=t.att(o,d)}else if(h===a)t=u.options.cdata&&i(p)?t.raw(r(p)):t.txt(p);else if(Array.isArray(p))for(c in p)n.call(p,c)&&(t="string"==typeof(f=p[c])?u.options.cdata&&i(f)?t.ele(h).raw(r(f)).up():t.ele(h,f).up():l(t.ele(h),f).up());else"object"==typeof p?t=l(t.ele(h),p).up():"string"==typeof p&&u.options.cdata&&i(p)?t=t.ele(h).raw(r(p)).up():(null==p&&(p=""),t=t.ele(h,p.toString()).up());return t},p=t.create(f,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(p,o).end(this.options.renderOpts)},o}()}).call(this);
|
||
|
||
},{"./defaults":60,"xmlbuilder":96}],60:[function(require,module,exports){
|
||
(function(){exports.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this);
|
||
|
||
},{}],61:[function(require,module,exports){
|
||
(function(){"use strict";var t,r,s,e,i,n,o,a,h=function(t,r){return function(){return t.apply(r,arguments)}},p={}.hasOwnProperty;o=require("sax"),s=require("events"),t=require("./bom"),n=require("./processors"),a=require("timers").setImmediate,r=require("./defaults").defaults,e=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},i=function(t,r,s){var e,i;for(e=0,i=t.length;e<i;e++)r=(0,t[e])(r,s);return r},exports.Parser=function(c){function u(t){var s,e,i;if(this.parseStringPromise=h(this.parseStringPromise,this),this.parseString=h(this.parseString,this),this.reset=h(this.reset,this),this.assignOrPush=h(this.assignOrPush,this),this.processAsync=h(this.processAsync,this),!(this instanceof exports.Parser))return new exports.Parser(t);for(s in this.options={},e=r[.2])p.call(e,s)&&(i=e[s],this.options[s]=i);for(s in t)p.call(t,s)&&(i=t[s],this.options[s]=i);this.options.xmlns&&(this.options.xmlnskey=this.options.attrkey+"ns"),this.options.normalizeTags&&(this.options.tagNameProcessors||(this.options.tagNameProcessors=[]),this.options.tagNameProcessors.unshift(n.normalize)),this.reset()}return function(t,r){for(var s in r)p.call(r,s)&&(t[s]=r[s]);function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e,t.__super__=r.prototype}(u,s),u.prototype.processAsync=function(){var t,r;try{return this.remaining.length<=this.options.chunkSize?(t=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(t),this.saxParser.close()):(t=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(t),a(this.processAsync))}catch(t){if(r=t,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(r)}},u.prototype.assignOrPush=function(t,r,s){return r in t?(t[r]instanceof Array||(t[r]=[t[r]]),t[r].push(s)):this.options.explicitArray?t[r]=[s]:t[r]=s},u.prototype.reset=function(){var t,r,s,n,a;return this.removeAllListeners(),this.saxParser=o.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=(a=this,function(t){if(a.saxParser.resume(),!a.saxParser.errThrown)return a.saxParser.errThrown=!0,a.emit("error",t)}),this.saxParser.onend=function(t){return function(){if(!t.saxParser.ended)return t.saxParser.ended=!0,t.emit("end",t.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,n=[],t=this.options.attrkey,r=this.options.charkey,this.saxParser.onopentag=function(s){return function(e){var o,a,h,c,u;if((h={})[r]="",!s.options.ignoreAttrs)for(o in u=e.attributes)p.call(u,o)&&(t in h||s.options.mergeAttrs||(h[t]={}),a=s.options.attrValueProcessors?i(s.options.attrValueProcessors,e.attributes[o],o):e.attributes[o],c=s.options.attrNameProcessors?i(s.options.attrNameProcessors,o):o,s.options.mergeAttrs?s.assignOrPush(h,c,a):h[t][c]=a);return h["#name"]=s.options.tagNameProcessors?i(s.options.tagNameProcessors,e.name):e.name,s.options.xmlns&&(h[s.options.xmlnskey]={uri:e.uri,local:e.local}),n.push(h)}}(this),this.saxParser.onclosetag=function(t){return function(){var s,o,a,h,c,u,l,m,f,P;if(u=n.pop(),c=u["#name"],t.options.explicitChildren&&t.options.preserveChildrenOrder||delete u["#name"],!0===u.cdata&&(s=u.cdata,delete u.cdata),f=n[n.length-1],u[r].match(/^\s*$/)&&!s?(o=u[r],delete u[r]):(t.options.trim&&(u[r]=u[r].trim()),t.options.normalize&&(u[r]=u[r].replace(/\s{2,}/g," ").trim()),u[r]=t.options.valueProcessors?i(t.options.valueProcessors,u[r],c):u[r],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])),e(u)&&(u=""!==t.options.emptyTag?t.options.emptyTag:o),null!=t.options.validator&&(P="/"+function(){var t,r,s;for(s=[],t=0,r=n.length;t<r;t++)h=n[t],s.push(h["#name"]);return s}().concat(c).join("/"),function(){var r;try{u=t.options.validator(P,f&&f[c],u)}catch(s){return r=s,t.emit("error",r)}}()),t.options.explicitChildren&&!t.options.mergeAttrs&&"object"==typeof u)if(t.options.preserveChildrenOrder){if(f){for(a in f[t.options.childkey]=f[t.options.childkey]||[],l={},u)p.call(u,a)&&(l[a]=u[a]);f[t.options.childkey].push(l),delete u["#name"],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])}}else h={},t.options.attrkey in u&&(h[t.options.attrkey]=u[t.options.attrkey],delete u[t.options.attrkey]),!t.options.charsAsChildren&&t.options.charkey in u&&(h[t.options.charkey]=u[t.options.charkey],delete u[t.options.charkey]),Object.getOwnPropertyNames(u).length>0&&(h[t.options.childkey]=u),u=h;return n.length>0?t.assignOrPush(f,c,u):(t.options.explicitRoot&&(m=u,(u={})[c]=m),t.resultObject=u,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),s=function(t){return function(s){var e,i;if(i=n[n.length-1])return i[r]+=s,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==s.replace(/\\n/g,"").trim())&&(i[t.options.childkey]=i[t.options.childkey]||[],(e={"#name":"__text__"})[r]=s,t.options.normalize&&(e[r]=e[r].replace(/\s{2,}/g," ").trim()),i[t.options.childkey].push(e)),i}}(this),this.saxParser.ontext=s,this.saxParser.oncdata=function(t){var r;if(r=s(t))return r.cdata=!0}},u.prototype.parseString=function(r,s){var e;null!=s&&"function"==typeof s&&(this.on("end",function(t){return this.reset(),s(null,t)}),this.on("error",function(t){return this.reset(),s(t)}));try{return""===(r=r.toString()).trim()?(this.emit("end",null),!0):(r=t.stripBOM(r),this.options.async?(this.remaining=r,a(this.processAsync),this.saxParser):this.saxParser.write(r).close())}catch(t){if(e=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",e),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw e}},u.prototype.parseStringPromise=function(t){return new Promise((r=this,function(s,e){return r.parseString(t,function(t,r){return t?e(t):s(r)})}));var r},u}(),exports.parseString=function(t,r,s){var e,i;return null!=s?("function"==typeof s&&(e=s),"object"==typeof r&&(i=r)):("function"==typeof r&&(e=r),i={}),new exports.Parser(i).parseString(t,e)},exports.parseStringPromise=function(t,r){var s;return"object"==typeof r&&(s=r),new exports.Parser(s).parseStringPromise(t)}}).call(this);
|
||
|
||
},{"./bom":58,"./defaults":60,"./processors":62,"events":32,"sax":39,"timers":56}],62:[function(require,module,exports){
|
||
(function(){"use strict";var e;e=new RegExp(/(?!xmlns)^.*:/),exports.normalize=function(e){return e.toLowerCase()},exports.firstCharLowerCase=function(e){return e.charAt(0).toLowerCase()+e.slice(1)},exports.stripPrefix=function(r){return r.replace(e,"")},exports.parseNumbers=function(e){return isNaN(e)||(e=e%1==0?parseInt(e,10):parseFloat(e)),e},exports.parseBooleans=function(e){return/^(?:true|false)$/i.test(e)&&(e="true"===e.toLowerCase()),e}}).call(this);
|
||
|
||
},{}],63:[function(require,module,exports){
|
||
(function(){"use strict";var r,e,t,s,o={}.hasOwnProperty;e=require("./defaults"),r=require("./builder"),t=require("./parser"),s=require("./processors"),exports.defaults=e.defaults,exports.processors=s,exports.ValidationError=function(r){function e(r){this.message=r}return function(r,e){for(var t in e)o.call(e,t)&&(r[t]=e[t]);function s(){this.constructor=r}s.prototype=e.prototype,r.prototype=new s,r.__super__=e.prototype}(e,Error),e}(),exports.Builder=r.Builder,exports.Parser=t.Parser,exports.parseString=t.parseString,exports.parseStringPromise=t.parseStringPromise}).call(this);
|
||
|
||
},{"./builder":59,"./defaults":60,"./parser":61,"./processors":62}],64:[function(require,module,exports){
|
||
(function(){module.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this);
|
||
|
||
},{}],65:[function(require,module,exports){
|
||
(function(){module.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this);
|
||
|
||
},{}],66:[function(require,module,exports){
|
||
(function(){var t,r,n,e,o,i,c,l=[].slice,u={}.hasOwnProperty;t=function(){var t,r,n,e,i,c;if(c=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],o(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t<n;t++)if(null!=(e=i[t]))for(r in e)u.call(e,r)&&(c[r]=e[r]);return c},o=function(t){return!!t&&"[object Function]"===Object.prototype.toString.call(t)},i=function(t){var r;return!!t&&("function"==(r=typeof t)||"object"===r)},n=function(t){return o(Array.isArray)?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)},e=function(t){var r;if(n(t))return!t.length;for(r in t)if(u.call(t,r))return!1;return!0},c=function(t){var r,n;return i(t)&&(n=Object.getPrototypeOf(t))&&(r=n.constructor)&&"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)},r=function(t){return o(t.valueOf)?t.valueOf():t},module.exports.assign=t,module.exports.isFunction=o,module.exports.isObject=i,module.exports.isArray=n,module.exports.isEmpty=e,module.exports.isPlainObject=c,module.exports.getValue=r}).call(this);
|
||
|
||
},{}],67:[function(require,module,exports){
|
||
(function(){module.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(this);
|
||
|
||
},{}],68:[function(require,module,exports){
|
||
(function(){var t;t=require("./NodeType"),require("./XMLNode"),module.exports=function(){function e(e,n,r){if(this.parent=e,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),null==n)throw new Error("Missing attribute name. "+this.debugInfo(n));this.name=this.stringify.name(n),this.value=this.stringify.attValue(r),this.type=t.Attribute,this.isId=!1,this.schemaTypeInfo=null}return Object.defineProperty(e.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(e.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(e.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(e.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(e.prototype,"specified",{get:function(){return!0}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.toString=function(t){return this.options.writer.attribute(this,this.options.writer.filterOptions(t))},e.prototype.debugInfo=function(t){return null==(t=t||this.name)?"parent: <"+this.parent.name+">":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},e.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&(t.prefix===this.prefix&&(t.localName===this.localName&&t.value===this.value))},e}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLNode":87}],69:[function(require,module,exports){
|
||
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=t.CData,this.value=this.stringify.cdata(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},i}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLCharacterData":70}],70:[function(require,module,exports){
|
||
(function(){var t,e={}.hasOwnProperty;t=require("./XMLNode"),module.exports=function(o){function n(t){n.__super__.constructor.call(this,t),this.value=""}return function(t,o){for(var n in o)e.call(o,n)&&(t[n]=o[n]);function r(){this.constructor=t}r.prototype=o.prototype,t.prototype=new r,t.__super__=o.prototype}(n,t),Object.defineProperty(n.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(n.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(n.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),n.prototype.clone=function(){return Object.create(this)},n.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.replaceData=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.isEqualNode=function(t){return!!n.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},n}()}).call(this);
|
||
|
||
},{"./XMLNode":87}],71:[function(require,module,exports){
|
||
(function(){var t,o,r={}.hasOwnProperty;t=require("./NodeType"),o=require("./XMLCharacterData"),module.exports=function(e){function n(o,r){if(n.__super__.constructor.call(this,o),null==r)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=t.Comment,this.value=this.stringify.comment(r)}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLCharacterData":70}],72:[function(require,module,exports){
|
||
(function(){var e,t;e=require("./XMLDOMErrorHandler"),t=require("./XMLDOMStringList"),module.exports=function(){function a(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(a.prototype,"parameterNames",{get:function(){return new t(Object.keys(this.defaultParams))}}),a.prototype.getParameter=function(e){return this.params.hasOwnProperty(e)?this.params[e]:null},a.prototype.canSetParameter=function(e,t){return!0},a.prototype.setParameter=function(e,t){return null!=t?this.params[e]=t:delete this.params[e]},a}()}).call(this);
|
||
|
||
},{"./XMLDOMErrorHandler":73,"./XMLDOMStringList":75}],73:[function(require,module,exports){
|
||
(function(){module.exports=function(){function n(){}return n.prototype.handleError=function(n){throw new Error(n)},n}()}).call(this);
|
||
|
||
},{}],74:[function(require,module,exports){
|
||
(function(){module.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this);
|
||
|
||
},{}],75:[function(require,module,exports){
|
||
(function(){module.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this);
|
||
|
||
},{}],76:[function(require,module,exports){
|
||
(function(){var t,e,i={}.hasOwnProperty;e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function n(e,i,r,o,s,u){if(n.__super__.constructor.call(this,e),null==i)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==r)throw new Error("Missing DTD attribute name. "+this.debugInfo(i));if(!o)throw new Error("Missing DTD attribute type. "+this.debugInfo(i));if(!s)throw new Error("Missing DTD attribute default. "+this.debugInfo(i));if(0!==s.indexOf("#")&&(s="#"+s),!s.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(i));if(u&&!s.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(i));this.elementName=this.stringify.name(i),this.type=t.AttributeDeclaration,this.attributeName=this.stringify.name(r),this.attributeType=this.stringify.dtdAttType(o),u&&(this.defaultValue=this.stringify.dtdAttDefault(u)),this.defaultValueType=s}return function(t,e){for(var r in e)i.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(n,e),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLNode":87}],77:[function(require,module,exports){
|
||
(function(){var t,r,e={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(i){function n(r,e,i){if(n.__super__.constructor.call(this,r),null==e)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(e),this.type=t.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,r){for(var i in r)e.call(r,i)&&(t[i]=r[i]);function n(){this.constructor=t}n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype}(n,r),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLNode":87}],78:[function(require,module,exports){
|
||
(function(){var t,e,i,n={}.hasOwnProperty;i=require("./Utility").isObject,e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function o(e,n,r,s){if(o.__super__.constructor.call(this,e),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==s)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!n,this.name=this.stringify.name(r),this.type=t.EntityDeclaration,i(s)){if(!s.pubID&&!s.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(s.pubID&&!s.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=s.pubID&&(this.pubID=this.stringify.dtdPubID(s.pubID)),null!=s.sysID&&(this.sysID=this.stringify.dtdSysID(s.sysID)),null!=s.nData&&(this.nData=this.stringify.dtdNData(s.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(s),this.internal=!0}return function(t,e){for(var i in e)n.call(e,i)&&(t[i]=e[i]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(o,e),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(o.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(o.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlVersion",{get:function(){return null}}),o.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},o}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./XMLNode":87}],79:[function(require,module,exports){
|
||
(function(){var t,r,i={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing DTD notation name. "+this.debugInfo(i));if(!e.pubID&&!e.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(i));this.name=this.stringify.name(i),this.type=t.NotationDeclaration,null!=e.pubID&&(this.pubID=this.stringify.dtdPubID(e.pubID)),null!=e.sysID&&(this.sysID=this.stringify.dtdSysID(e.sysID))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),o.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},o}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLNode":87}],80:[function(require,module,exports){
|
||
(function(){var t,i,n,o={}.hasOwnProperty;n=require("./Utility").isObject,i=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function e(i,o,r,s){var l;e.__super__.constructor.call(this,i),n(o)&&(o=(l=o).version,r=l.encoding,s=l.standalone),o||(o="1.0"),this.type=t.Declaration,this.version=this.stringify.xmlVersion(o),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=s&&(this.standalone=this.stringify.xmlStandalone(s))}return function(t,i){for(var n in i)o.call(i,n)&&(t[n]=i[n]);function r(){this.constructor=t}r.prototype=i.prototype,t.prototype=new r,t.__super__=i.prototype}(e,i),e.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},e}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./XMLNode":87}],81:[function(require,module,exports){
|
||
(function(){var t,e,n,i,r,o,s,p,u={}.hasOwnProperty;p=require("./Utility").isObject,s=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLDTDAttList"),i=require("./XMLDTDEntity"),n=require("./XMLDTDElement"),r=require("./XMLDTDNotation"),o=require("./XMLNamedNodeMap"),module.exports=function(h){function c(e,n,i){var r,o,s,u,h,y;if(c.__super__.constructor.call(this,e),this.type=t.DocType,e.children)for(o=0,s=(u=e.children).length;o<s;o++)if((r=u[o]).type===t.Element){this.name=r.name;break}this.documentObject=e,p(n)&&(n=(h=n).pubID,i=h.sysID),null==i&&(i=(y=[n,i])[0],n=y[1]),null!=n&&(this.pubID=this.stringify.dtdPubID(n)),null!=i&&(this.sysID=this.stringify.dtdSysID(i))}return function(t,e){for(var n in e)u.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(c,s),Object.defineProperty(c.prototype,"entities",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type!==t.EntityDeclaration||e.pe||(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"notations",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type===t.NotationDeclaration&&(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(c.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(c.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),c.prototype.element=function(t,e){var i;return i=new n(this,t,e),this.children.push(i),this},c.prototype.attList=function(t,n,i,r,o){var s;return s=new e(this,t,n,i,r,o),this.children.push(s),this},c.prototype.entity=function(t,e){var n;return n=new i(this,!1,t,e),this.children.push(n),this},c.prototype.pEntity=function(t,e){var n;return n=new i(this,!0,t,e),this.children.push(n),this},c.prototype.notation=function(t,e){var n;return n=new r(this,t,e),this.children.push(n),this},c.prototype.toString=function(t){return this.options.writer.docType(this,this.options.writer.filterOptions(t))},c.prototype.ele=function(t,e){return this.element(t,e)},c.prototype.att=function(t,e,n,i,r){return this.attList(t,e,n,i,r)},c.prototype.ent=function(t,e){return this.entity(t,e)},c.prototype.pent=function(t,e){return this.pEntity(t,e)},c.prototype.not=function(t,e){return this.notation(t,e)},c.prototype.up=function(){return this.root()||this.documentObject},c.prototype.isEqualNode=function(t){return!!c.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&(t.name===this.name&&(t.publicId===this.publicId&&t.systemId===this.systemId))},c}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./XMLDTDAttList":76,"./XMLDTDElement":77,"./XMLDTDEntity":78,"./XMLDTDNotation":79,"./XMLNamedNodeMap":86,"./XMLNode":87}],82:[function(require,module,exports){
|
||
(function(){var t,e,o,n,r,i,p,h={}.hasOwnProperty;p=require("./Utility").isPlainObject,o=require("./XMLDOMImplementation"),e=require("./XMLDOMConfiguration"),n=require("./XMLNode"),t=require("./NodeType"),i=require("./XMLStringifier"),r=require("./XMLStringWriter"),module.exports=function(s){function u(o){u.__super__.constructor.call(this,null),this.name="#document",this.type=t.Document,this.documentURI=null,this.domConfig=new e,o||(o={}),o.writer||(o.writer=new r),this.options=o,this.stringify=new i(o)}return function(t,e){for(var o in e)h.call(e,o)&&(t[o]=e[o]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(u,n),Object.defineProperty(u.prototype,"implementation",{value:new o}),Object.defineProperty(u.prototype,"doctype",{get:function(){var e,o,n,r;for(o=0,n=(r=this.children).length;o<n;o++)if((e=r[o]).type===t.DocType)return e;return null}}),Object.defineProperty(u.prototype,"documentElement",{get:function(){return this.rootObject||null}}),Object.defineProperty(u.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(u.prototype,"strictErrorChecking",{get:function(){return!1}}),Object.defineProperty(u.prototype,"xmlEncoding",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].encoding:null}}),Object.defineProperty(u.prototype,"xmlStandalone",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration&&"yes"===this.children[0].standalone}}),Object.defineProperty(u.prototype,"xmlVersion",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].version:"1.0"}}),Object.defineProperty(u.prototype,"URL",{get:function(){return this.documentURI}}),Object.defineProperty(u.prototype,"origin",{get:function(){return null}}),Object.defineProperty(u.prototype,"compatMode",{get:function(){return null}}),Object.defineProperty(u.prototype,"characterSet",{get:function(){return null}}),Object.defineProperty(u.prototype,"contentType",{get:function(){return null}}),u.prototype.end=function(t){var e;return e={},t?p(t)&&(e=t,t=this.options.writer):t=this.options.writer,t.document(this,t.filterOptions(e))},u.prototype.toString=function(t){return this.options.writer.document(this,this.options.writer.filterOptions(t))},u.prototype.createElement=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createDocumentFragment=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTextNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createComment=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createCDATASection=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createProcessingInstruction=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttribute=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEntityReference=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.importNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createElementNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementById=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.adoptNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.normalizeDocument=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.renameNode=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEvent=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createRange=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createNodeIterator=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTreeWalker=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./XMLDOMConfiguration":72,"./XMLDOMImplementation":74,"./XMLNode":87,"./XMLStringWriter":92,"./XMLStringifier":93}],83:[function(require,module,exports){
|
||
(function(){var t,e,r,i,n,o,s,h,u,c,a,p,l,d,w,y,f,v,L,m,N,D,O,b={}.hasOwnProperty;O=require("./Utility"),N=O.isObject,m=O.isFunction,D=O.isPlainObject,L=O.getValue,t=require("./NodeType"),p=require("./XMLDocument"),l=require("./XMLElement"),i=require("./XMLCData"),n=require("./XMLComment"),w=require("./XMLRaw"),v=require("./XMLText"),d=require("./XMLProcessingInstruction"),c=require("./XMLDeclaration"),a=require("./XMLDocType"),o=require("./XMLDTDAttList"),h=require("./XMLDTDEntity"),s=require("./XMLDTDElement"),u=require("./XMLDTDNotation"),r=require("./XMLAttribute"),f=require("./XMLStringifier"),y=require("./XMLStringWriter"),e=require("./WriterState"),module.exports=function(){function O(e,r,i){var n;this.name="?xml",this.type=t.Document,e||(e={}),n={},e.writer?D(e.writer)&&(n=e.writer,e.writer=new y):e.writer=new y,this.options=e,this.writer=e.writer,this.writerOptions=this.writer.filterOptions(n),this.stringify=new f(e),this.onDataCallback=r||function(){},this.onEndCallback=i||function(){},this.currentNode=null,this.currentLevel=-1,this.openTags={},this.documentStarted=!1,this.documentCompleted=!1,this.root=null}return O.prototype.createChildNode=function(e){var r,i,n,o,s,h,u,c;switch(e.type){case t.CData:this.cdata(e.value);break;case t.Comment:this.comment(e.value);break;case t.Element:for(i in n={},u=e.attribs)b.call(u,i)&&(r=u[i],n[i]=r.value);this.node(e.name,n);break;case t.Dummy:this.dummy();break;case t.Raw:this.raw(e.value);break;case t.Text:this.text(e.value);break;case t.ProcessingInstruction:this.instruction(e.target,e.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+e.constructor.name)}for(s=0,h=(c=e.children).length;s<h;s++)o=c[s],this.createChildNode(o),o.type===t.Element&&this.up();return this},O.prototype.dummy=function(){return this},O.prototype.node=function(t,e,r){var i;if(null==t)throw new Error("Missing node name.");if(this.root&&-1===this.currentLevel)throw new Error("Document can only have one root node. "+this.debugInfo(t));return this.openCurrent(),t=L(t),null==e&&(e={}),e=L(e),N(e)||(r=(i=[e,r])[0],e=i[1]),this.currentNode=new l(this,t,e),this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,null!=r&&this.text(r),this},O.prototype.element=function(e,r,i){var n,o,s,h,u,c;if(this.currentNode&&this.currentNode.type===t.DocType)this.dtdElement.apply(this,arguments);else if(Array.isArray(e)||N(e)||m(e))for(h=this.options.noValidation,this.options.noValidation=!0,(c=new p(this.options).element("TEMP_ROOT")).element(e),this.options.noValidation=h,o=0,s=(u=c.children).length;o<s;o++)n=u[o],this.createChildNode(n),n.type===t.Element&&this.up();else this.node(e,r,i);return this},O.prototype.attribute=function(t,e){var i,n;if(!this.currentNode||this.currentNode.children)throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(t));if(null!=t&&(t=L(t)),N(t))for(i in t)b.call(t,i)&&(n=t[i],this.attribute(i,n));else m(e)&&(e=e.apply()),this.options.keepNullAttributes&&null==e?this.currentNode.attribs[t]=new r(this,t,""):null!=e&&(this.currentNode.attribs[t]=new r(this,t,e));return this},O.prototype.text=function(t){var e;return this.openCurrent(),e=new v(this,t),this.onData(this.writer.text(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.cdata=function(t){var e;return this.openCurrent(),e=new i(this,t),this.onData(this.writer.cdata(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.comment=function(t){var e;return this.openCurrent(),e=new n(this,t),this.onData(this.writer.comment(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.raw=function(t){var e;return this.openCurrent(),e=new w(this,t),this.onData(this.writer.raw(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.instruction=function(t,e){var r,i,n,o,s;if(this.openCurrent(),null!=t&&(t=L(t)),null!=e&&(e=L(e)),Array.isArray(t))for(r=0,o=t.length;r<o;r++)i=t[r],this.instruction(i);else if(N(t))for(i in t)b.call(t,i)&&(n=t[i],this.instruction(i,n));else m(e)&&(e=e.apply()),s=new d(this,t,e),this.onData(this.writer.processingInstruction(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this},O.prototype.declaration=function(t,e,r){var i;if(this.openCurrent(),this.documentStarted)throw new Error("declaration() must be the first node.");return i=new c(this,t,e,r),this.onData(this.writer.declaration(i,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.doctype=function(t,e,r){if(this.openCurrent(),null==t)throw new Error("Missing root node name.");if(this.root)throw new Error("dtd() must come before the root node.");return this.currentNode=new a(this,e,r),this.currentNode.rootNodeName=t,this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,this},O.prototype.dtdElement=function(t,e){var r;return this.openCurrent(),r=new s(this,t,e),this.onData(this.writer.dtdElement(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.attList=function(t,e,r,i,n){var s;return this.openCurrent(),s=new o(this,t,e,r,i,n),this.onData(this.writer.dtdAttList(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.entity=function(t,e){var r;return this.openCurrent(),r=new h(this,!1,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.pEntity=function(t,e){var r;return this.openCurrent(),r=new h(this,!0,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.notation=function(t,e){var r;return this.openCurrent(),r=new u(this,t,e),this.onData(this.writer.dtdNotation(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.up=function(){if(this.currentLevel<0)throw new Error("The document node has no parent.");return this.currentNode?(this.currentNode.children?this.closeNode(this.currentNode):this.openNode(this.currentNode),this.currentNode=null):this.closeNode(this.openTags[this.currentLevel]),delete this.openTags[this.currentLevel],this.currentLevel--,this},O.prototype.end=function(){for(;this.currentLevel>=0;)this.up();return this.onEnd()},O.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},O.prototype.openNode=function(r){var i,n,o,s;if(!r.isOpen){if(this.root||0!==this.currentLevel||r.type!==t.Element||(this.root=r),n="",r.type===t.Element){for(o in this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<"+r.name,s=r.attribs)b.call(s,o)&&(i=s[o],n+=this.writer.attribute(i,this.writerOptions,this.currentLevel));n+=(r.children?">":"/>")+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.InsideTag}else this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+r.rootNodeName,r.pubID&&r.sysID?n+=' PUBLIC "'+r.pubID+'" "'+r.sysID+'"':r.sysID&&(n+=' SYSTEM "'+r.sysID+'"'),r.children?(n+=" [",this.writerOptions.state=e.InsideTag):(this.writerOptions.state=e.CloseTag,n+=">"),n+=this.writer.endline(r,this.writerOptions,this.currentLevel);return this.onData(n,this.currentLevel),r.isOpen=!0}},O.prototype.closeNode=function(r){var i;if(!r.isClosed)return i="",this.writerOptions.state=e.CloseTag,i=r.type===t.Element?this.writer.indent(r,this.writerOptions,this.currentLevel)+"</"+r.name+">"+this.writer.endline(r,this.writerOptions,this.currentLevel):this.writer.indent(r,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.None,this.onData(i,this.currentLevel),r.isClosed=!0},O.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},O.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},O.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},O.prototype.ele=function(){return this.element.apply(this,arguments)},O.prototype.nod=function(t,e,r){return this.node(t,e,r)},O.prototype.txt=function(t){return this.text(t)},O.prototype.dat=function(t){return this.cdata(t)},O.prototype.com=function(t){return this.comment(t)},O.prototype.ins=function(t,e){return this.instruction(t,e)},O.prototype.dec=function(t,e,r){return this.declaration(t,e,r)},O.prototype.dtd=function(t,e,r){return this.doctype(t,e,r)},O.prototype.e=function(t,e,r){return this.element(t,e,r)},O.prototype.n=function(t,e,r){return this.node(t,e,r)},O.prototype.t=function(t){return this.text(t)},O.prototype.d=function(t){return this.cdata(t)},O.prototype.c=function(t){return this.comment(t)},O.prototype.r=function(t){return this.raw(t)},O.prototype.i=function(t,e){return this.instruction(t,e)},O.prototype.att=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.a=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.ent=function(t,e){return this.entity(t,e)},O.prototype.pent=function(t,e){return this.pEntity(t,e)},O.prototype.not=function(t,e){return this.notation(t,e)},O}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./WriterState":67,"./XMLAttribute":68,"./XMLCData":69,"./XMLComment":71,"./XMLDTDAttList":76,"./XMLDTDElement":77,"./XMLDTDEntity":78,"./XMLDTDNotation":79,"./XMLDeclaration":80,"./XMLDocType":81,"./XMLDocument":82,"./XMLElement":85,"./XMLProcessingInstruction":89,"./XMLRaw":90,"./XMLStringWriter":92,"./XMLStringifier":93,"./XMLText":94}],84:[function(require,module,exports){
|
||
(function(){var t,o,r={}.hasOwnProperty;o=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function n(o){n.__super__.constructor.call(this,o),this.type=t.Dummy}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLNode":87}],85:[function(require,module,exports){
|
||
(function(){var t,e,r,o,i,n,s,h,u={}.hasOwnProperty;h=require("./Utility"),s=h.isObject,n=h.isFunction,i=h.getValue,o=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLAttribute"),r=require("./XMLNamedNodeMap"),module.exports=function(h){function p(e,r,o){var i,n,s,h;if(p.__super__.constructor.call(this,e),null==r)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(r),this.type=t.Element,this.attribs={},this.schemaTypeInfo=null,null!=o&&this.attribute(o),e.type===t.Document&&(this.isRoot=!0,this.documentObject=e,e.rootObject=this,e.children))for(n=0,s=(h=e.children).length;n<s;n++)if((i=h[n]).type===t.DocType){i.name=this.name;break}}return function(t,e){for(var r in e)u.call(e,r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype}(p,o),Object.defineProperty(p.prototype,"tagName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(p.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(p.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"attributes",{get:function(){return this.attributeMap&&this.attributeMap.nodes||(this.attributeMap=new r(this.attribs)),this.attributeMap}}),p.prototype.clone=function(){var t,e,r,o;for(e in(r=Object.create(this)).isRoot&&(r.documentObject=null),r.attribs={},o=this.attribs)u.call(o,e)&&(t=o[e],r.attribs[e]=t.clone());return r.children=[],this.children.forEach(function(t){var e;return(e=t.clone()).parent=r,r.children.push(e)}),r},p.prototype.attribute=function(t,r){var o,h;if(null!=t&&(t=i(t)),s(t))for(o in t)u.call(t,o)&&(h=t[o],this.attribute(o,h));else n(r)&&(r=r.apply()),this.options.keepNullAttributes&&null==r?this.attribs[t]=new e(this,t,""):null!=r&&(this.attribs[t]=new e(this,t,r));return this},p.prototype.removeAttribute=function(t){var e,r,o;if(null==t)throw new Error("Missing attribute name. "+this.debugInfo());if(t=i(t),Array.isArray(t))for(r=0,o=t.length;r<o;r++)e=t[r],delete this.attribs[e];else delete this.attribs[t];return this},p.prototype.toString=function(t){return this.options.writer.element(this,this.options.writer.filterOptions(t))},p.prototype.att=function(t,e){return this.attribute(t,e)},p.prototype.a=function(t,e){return this.attribute(t,e)},p.prototype.getAttribute=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t].value:null},p.prototype.setAttribute=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNode=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t]:null},p.prototype.setAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNodeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNodeNS=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.hasAttribute=function(t){return this.attribs.hasOwnProperty(t)},p.prototype.hasAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttribute=function(t,e){return this.attribs.hasOwnProperty(t)?this.attribs[t].isId:e},p.prototype.setIdAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttributeNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isEqualNode=function(t){var e,r,o;if(!p.__super__.isEqualNode.apply(this,arguments).isEqualNode(t))return!1;if(t.namespaceURI!==this.namespaceURI)return!1;if(t.prefix!==this.prefix)return!1;if(t.localName!==this.localName)return!1;if(t.attribs.length!==this.attribs.length)return!1;for(e=r=0,o=this.attribs.length-1;0<=o?r<=o:r>=o;e=0<=o?++r:--r)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},p}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./XMLAttribute":68,"./XMLNamedNodeMap":86,"./XMLNode":87}],86:[function(require,module,exports){
|
||
(function(){module.exports=function(){function e(e){this.nodes=e}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),e.prototype.clone=function(){return this.nodes=null},e.prototype.getNamedItem=function(e){return this.nodes[e]},e.prototype.setNamedItem=function(e){var t;return t=this.nodes[e.nodeName],this.nodes[e.nodeName]=e,t||null},e.prototype.removeNamedItem=function(e){var t;return t=this.nodes[e],delete this.nodes[e],t||null},e.prototype.item=function(e){return this.nodes[Object.keys(this.nodes)[e]]||null},e.prototype.getNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e.prototype.setNamedItemNS=function(e){throw new Error("This DOM method is not implemented.")},e.prototype.removeNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e}()}).call(this);
|
||
|
||
},{}],87:[function(require,module,exports){
|
||
(function(){var t,e,n,r,i,o,s,h,p,u,c,l,d,a,f,y,m,g={}.hasOwnProperty;m=require("./Utility"),y=m.isObject,f=m.isFunction,a=m.isEmpty,d=m.getValue,h=null,n=null,r=null,i=null,o=null,c=null,l=null,u=null,s=null,e=null,p=null,t=null,module.exports=function(){function m(d){this.parent=d,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,h||(h=require("./XMLElement"),n=require("./XMLCData"),r=require("./XMLComment"),i=require("./XMLDeclaration"),o=require("./XMLDocType"),c=require("./XMLRaw"),l=require("./XMLText"),u=require("./XMLProcessingInstruction"),s=require("./XMLDummy"),e=require("./NodeType"),p=require("./XMLNodeList"),require("./XMLNamedNodeMap"),t=require("./DocumentPosition"))}return Object.defineProperty(m.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(m.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(m.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(m.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(m.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new p(this.children)),this.childNodeList}}),Object.defineProperty(m.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(m.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(m.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(m.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(m.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(m.prototype,"textContent",{get:function(){var t,n,r,i,o;if(this.nodeType===e.Element||this.nodeType===e.DocumentFragment){for(o="",n=0,r=(i=this.children).length;n<r;n++)(t=i[n]).textContent&&(o+=t.textContent);return o}return null},set:function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),m.prototype.setParent=function(t){var e,n,r,i,o;for(this.parent=t,t&&(this.options=t.options,this.stringify=t.stringify),o=[],n=0,r=(i=this.children).length;n<r;n++)e=i[n],o.push(e.setParent(this));return o},m.prototype.element=function(t,e,n){var r,i,o,s,h,p,u,c,l,m,w;if(p=null,null===e&&null==n&&(e=(l=[{},null])[0],n=l[1]),null==e&&(e={}),e=d(e),y(e)||(n=(m=[e,n])[0],e=m[1]),null!=t&&(t=d(t)),Array.isArray(t))for(o=0,u=t.length;o<u;o++)i=t[o],p=this.element(i);else if(f(t))p=this.element(t.apply());else if(y(t)){for(h in t)if(g.call(t,h))if(w=t[h],f(w)&&(w=w.apply()),!this.options.ignoreDecorators&&this.stringify.convertAttKey&&0===h.indexOf(this.stringify.convertAttKey))p=this.attribute(h.substr(this.stringify.convertAttKey.length),w);else if(!this.options.separateArrayItems&&Array.isArray(w)&&a(w))p=this.dummy();else if(y(w)&&a(w))p=this.element(h);else if(this.options.keepNullNodes||null!=w)if(!this.options.separateArrayItems&&Array.isArray(w))for(s=0,c=w.length;s<c;s++)i=w[s],(r={})[h]=i,p=this.element(r);else y(w)?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===h.indexOf(this.stringify.convertTextKey)?p=this.element(w):(p=this.element(h)).element(w):p=this.element(h,w);else p=this.dummy()}else p=this.options.keepNullNodes||null!==n?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===t.indexOf(this.stringify.convertTextKey)?this.text(n):!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&0===t.indexOf(this.stringify.convertCDataKey)?this.cdata(n):!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&0===t.indexOf(this.stringify.convertCommentKey)?this.comment(n):!this.options.ignoreDecorators&&this.stringify.convertRawKey&&0===t.indexOf(this.stringify.convertRawKey)?this.raw(n):!this.options.ignoreDecorators&&this.stringify.convertPIKey&&0===t.indexOf(this.stringify.convertPIKey)?this.instruction(t.substr(this.stringify.convertPIKey.length),n):this.node(t,e,n):this.dummy();if(null==p)throw new Error("Could not create any elements with: "+t+". "+this.debugInfo());return p},m.prototype.insertBefore=function(t,e,n){var r,i,o,s,h;if(null!=t?t.type:void 0)return s=e,(o=t).setParent(this),s?(i=children.indexOf(s),h=children.splice(i),children.push(o),Array.prototype.push.apply(children,h)):children.push(o),o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),h=this.parent.children.splice(i),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,h),r},m.prototype.insertAfter=function(t,e,n){var r,i,o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),o=this.parent.children.splice(i+1),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,o),r},m.prototype.remove=function(){var t;if(this.isRoot)throw new Error("Cannot remove the root element. "+this.debugInfo());return t=this.parent.children.indexOf(this),[].splice.apply(this.parent.children,[t,t-t+1].concat([])),this.parent},m.prototype.node=function(t,e,n){var r,i;return null!=t&&(t=d(t)),e||(e={}),e=d(e),y(e)||(n=(i=[e,n])[0],e=i[1]),r=new h(this,t,e),null!=n&&r.text(n),this.children.push(r),r},m.prototype.text=function(t){var e;return y(t)&&this.element(t),e=new l(this,t),this.children.push(e),this},m.prototype.cdata=function(t){var e;return e=new n(this,t),this.children.push(e),this},m.prototype.comment=function(t){var e;return e=new r(this,t),this.children.push(e),this},m.prototype.commentBefore=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.commentAfter=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e+1),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.raw=function(t){var e;return e=new c(this,t),this.children.push(e),this},m.prototype.dummy=function(){return new s(this)},m.prototype.instruction=function(t,e){var n,r,i,o,s;if(null!=t&&(t=d(t)),null!=e&&(e=d(e)),Array.isArray(t))for(o=0,s=t.length;o<s;o++)n=t[o],this.instruction(n);else if(y(t))for(n in t)g.call(t,n)&&(r=t[n],this.instruction(n,r));else f(e)&&(e=e.apply()),i=new u(this,t,e),this.children.push(i);return this},m.prototype.instructionBefore=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.instructionAfter=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n+1),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.declaration=function(t,n,r){var o,s;return o=this.document(),s=new i(o,t,n,r),0===o.children.length?o.children.unshift(s):o.children[0].type===e.Declaration?o.children[0]=s:o.children.unshift(s),o.root()||o},m.prototype.dtd=function(t,n){var r,i,s,h,p,u,c,l,d;for(r=this.document(),i=new o(r,t,n),s=h=0,u=(l=r.children).length;h<u;s=++h)if(l[s].type===e.DocType)return r.children[s]=i,i;for(s=p=0,c=(d=r.children).length;p<c;s=++p)if(d[s].isRoot)return r.children.splice(s,0,i),i;return r.children.push(i),i},m.prototype.up=function(){if(this.isRoot)throw new Error("The root node has no parent. Use doc() if you need to get the document object.");return this.parent},m.prototype.root=function(){var t;for(t=this;t;){if(t.type===e.Document)return t.rootObject;if(t.isRoot)return t;t=t.parent}},m.prototype.document=function(){var t;for(t=this;t;){if(t.type===e.Document)return t;t=t.parent}},m.prototype.end=function(t){return this.document().end(t)},m.prototype.prev=function(){var t;if((t=this.parent.children.indexOf(this))<1)throw new Error("Already at the first node. "+this.debugInfo());return this.parent.children[t-1]},m.prototype.next=function(){var t;if(-1===(t=this.parent.children.indexOf(this))||t===this.parent.children.length-1)throw new Error("Already at the last node. "+this.debugInfo());return this.parent.children[t+1]},m.prototype.importDocument=function(t){var e;return(e=t.root().clone()).parent=this,e.isRoot=!1,this.children.push(e),this},m.prototype.debugInfo=function(t){var e,n;return null!=(t=t||this.name)||(null!=(e=this.parent)?e.name:void 0)?null==t?"parent: <"+this.parent.name+">":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},m.prototype.ele=function(t,e,n){return this.element(t,e,n)},m.prototype.nod=function(t,e,n){return this.node(t,e,n)},m.prototype.txt=function(t){return this.text(t)},m.prototype.dat=function(t){return this.cdata(t)},m.prototype.com=function(t){return this.comment(t)},m.prototype.ins=function(t,e){return this.instruction(t,e)},m.prototype.doc=function(){return this.document()},m.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},m.prototype.e=function(t,e,n){return this.element(t,e,n)},m.prototype.n=function(t,e,n){return this.node(t,e,n)},m.prototype.t=function(t){return this.text(t)},m.prototype.d=function(t){return this.cdata(t)},m.prototype.c=function(t){return this.comment(t)},m.prototype.r=function(t){return this.raw(t)},m.prototype.i=function(t,e){return this.instruction(t,e)},m.prototype.u=function(){return this.up()},m.prototype.importXMLBuilder=function(t){return this.importDocument(t)},m.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.hasChildNodes=function(){return 0!==this.children.length},m.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isSupported=function(t,e){return!0},m.prototype.hasAttributes=function(){return 0!==this.attribs.length},m.prototype.compareDocumentPosition=function(e){var n;return this,this===e?0:this.document()!==e.document()?(n=t.Disconnected|t.ImplementationSpecific,Math.random()<.5?n|=t.Preceding:n|=t.Following,n):this.isAncestor(e)?t.Contains|t.Preceding:this.isDescendant(e)?t.Contains|t.Following:this.isPreceding(e)?t.Preceding:t.Following},m.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isEqualNode=function(t){var e,n,r;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,r=this.children.length-1;0<=r?n<=r:n>=r;e=0<=r?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},m.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},m.prototype.isDescendant=function(t){var e,n,r,i;for(n=0,r=(i=this.children).length;n<r;n++){if(t===(e=i[n]))return!0;if(e.isDescendant(t))return!0}return!1},m.prototype.isAncestor=function(t){return t.isDescendant(this)},m.prototype.isPreceding=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e<n},m.prototype.isFollowing=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e>n},m.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),function(r){if(n++,!e&&r===t)return e=!0}),e?n:-1},m.prototype.foreachTreeNode=function(t,e){var n,r,i,o,s;for(t||(t=this.document()),r=0,i=(o=t.children).length;r<i;r++){if(s=e(n=o[r]))return s;if(s=this.foreachTreeNode(n,e))return s}},m}()}).call(this);
|
||
|
||
},{"./DocumentPosition":64,"./NodeType":65,"./Utility":66,"./XMLCData":69,"./XMLComment":71,"./XMLDeclaration":80,"./XMLDocType":81,"./XMLDummy":84,"./XMLElement":85,"./XMLNamedNodeMap":86,"./XMLNodeList":88,"./XMLProcessingInstruction":89,"./XMLRaw":90,"./XMLText":94}],88:[function(require,module,exports){
|
||
(function(){module.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return this.nodes.length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.item=function(t){return this.nodes[t]||null},t}()}).call(this);
|
||
|
||
},{}],89:[function(require,module,exports){
|
||
(function(){var t,r,i={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing instruction target. "+this.debugInfo());this.type=t.ProcessingInstruction,this.target=this.stringify.insTarget(i),this.name=this.target,e&&(this.value=this.stringify.insValue(e))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),o.prototype.clone=function(){return Object.create(this)},o.prototype.toString=function(t){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(t))},o.prototype.isEqualNode=function(t){return!!o.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.target===this.target},o}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLCharacterData":70}],90:[function(require,module,exports){
|
||
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLNode"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing raw text. "+this.debugInfo());this.type=t.Raw,this.value=this.stringify.raw(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.raw(this,this.options.writer.filterOptions(t))},i}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLNode":87}],91:[function(require,module,exports){
|
||
(function(){var t,e,r,s={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLWriterBase"),e=require("./WriterState"),module.exports=function(i){function n(t,e){this.stream=t,n.__super__.constructor.call(this,e)}return function(t,e){for(var r in e)s.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(n,r),n.prototype.endline=function(t,r,s){return t.isLastRootNode&&r.state===e.CloseTag?"":n.__super__.endline.call(this,t,r,s)},n.prototype.document=function(t,e){var r,s,i,n,o,a,h,l,p;for(s=i=0,o=(h=t.children).length;i<o;s=++i)(r=h[s]).isLastRootNode=s===t.children.length-1;for(e=this.filterOptions(e),p=[],n=0,a=(l=t.children).length;n<a;n++)r=l[n],p.push(this.writeChildNode(r,e,0));return p},n.prototype.attribute=function(t,e,r){return this.stream.write(n.__super__.attribute.call(this,t,e,r))},n.prototype.cdata=function(t,e,r){return this.stream.write(n.__super__.cdata.call(this,t,e,r))},n.prototype.comment=function(t,e,r){return this.stream.write(n.__super__.comment.call(this,t,e,r))},n.prototype.declaration=function(t,e,r){return this.stream.write(n.__super__.declaration.call(this,t,e,r))},n.prototype.docType=function(t,r,s){var i,n,o,a;if(s||(s=0),this.openNode(t,r,s),r.state=e.OpenTag,this.stream.write(this.indent(t,r,s)),this.stream.write("<!DOCTYPE "+t.root().name),t.pubID&&t.sysID?this.stream.write(' PUBLIC "'+t.pubID+'" "'+t.sysID+'"'):t.sysID&&this.stream.write(' SYSTEM "'+t.sysID+'"'),t.children.length>0){for(this.stream.write(" ["),this.stream.write(this.endline(t,r,s)),r.state=e.InsideTag,n=0,o=(a=t.children).length;n<o;n++)i=a[n],this.writeChildNode(i,r,s+1);r.state=e.CloseTag,this.stream.write("]")}return r.state=e.CloseTag,this.stream.write(r.spaceBeforeSlash+">"),this.stream.write(this.endline(t,r,s)),r.state=e.None,this.closeNode(t,r,s)},n.prototype.element=function(r,i,n){var o,a,h,l,p,u,c,d,_;for(c in n||(n=0),this.openNode(r,i,n),i.state=e.OpenTag,this.stream.write(this.indent(r,i,n)+"<"+r.name),d=r.attribs)s.call(d,c)&&(o=d[c],this.attribute(o,i,n));if(l=0===(h=r.children.length)?null:r.children[0],0===h||r.children.every(function(e){return(e.type===t.Text||e.type===t.Raw)&&""===e.value}))i.allowEmpty?(this.stream.write(">"),i.state=e.CloseTag,this.stream.write("</"+r.name+">")):(i.state=e.CloseTag,this.stream.write(i.spaceBeforeSlash+"/>"));else if(!i.pretty||1!==h||l.type!==t.Text&&l.type!==t.Raw||null==l.value){for(this.stream.write(">"+this.endline(r,i,n)),i.state=e.InsideTag,p=0,u=(_=r.children).length;p<u;p++)a=_[p],this.writeChildNode(a,i,n+1);i.state=e.CloseTag,this.stream.write(this.indent(r,i,n)+"</"+r.name+">")}else this.stream.write(">"),i.state=e.InsideTag,i.suppressPrettyCount++,!0,this.writeChildNode(l,i,n+1),i.suppressPrettyCount--,!1,i.state=e.CloseTag,this.stream.write("</"+r.name+">");return this.stream.write(this.endline(r,i,n)),i.state=e.None,this.closeNode(r,i,n)},n.prototype.processingInstruction=function(t,e,r){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,r))},n.prototype.raw=function(t,e,r){return this.stream.write(n.__super__.raw.call(this,t,e,r))},n.prototype.text=function(t,e,r){return this.stream.write(n.__super__.text.call(this,t,e,r))},n.prototype.dtdAttList=function(t,e,r){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,r))},n.prototype.dtdElement=function(t,e,r){return this.stream.write(n.__super__.dtdElement.call(this,t,e,r))},n.prototype.dtdEntity=function(t,e,r){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,r))},n.prototype.dtdNotation=function(t,e,r){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,r))},n}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./WriterState":67,"./XMLWriterBase":95}],92:[function(require,module,exports){
|
||
(function(){var t,e={}.hasOwnProperty;t=require("./XMLWriterBase"),module.exports=function(n){function r(t){r.__super__.constructor.call(this,t)}return function(t,n){for(var r in n)e.call(n,r)&&(t[r]=n[r]);function o(){this.constructor=t}o.prototype=n.prototype,t.prototype=new o,t.__super__=n.prototype}(r,t),r.prototype.document=function(t,e){var n,r,o,i,l;for(e=this.filterOptions(e),i="",r=0,o=(l=t.children).length;r<o;r++)n=l[r],i+=this.writeChildNode(n,e,0);return e.pretty&&i.slice(-e.newline.length)===e.newline&&(i=i.slice(0,-e.newline.length)),i},r}()}).call(this);
|
||
|
||
},{"./XMLWriterBase":95}],93:[function(require,module,exports){
|
||
(function(){var t=function(t,o){return function(){return t.apply(o,arguments)}},o={}.hasOwnProperty;module.exports=function(){function n(n){var r,i,e;for(r in this.assertLegalName=t(this.assertLegalName,this),this.assertLegalChar=t(this.assertLegalChar,this),n||(n={}),this.options=n,this.options.version||(this.options.version="1.0"),i=n.stringify||{})o.call(i,r)&&(e=i[r],this[r]=e)}return n.prototype.name=function(t){return this.options.noValidation?t:this.assertLegalName(""+t||"")},n.prototype.text=function(t){return this.options.noValidation?t:this.assertLegalChar(this.textEscape(""+t||""))},n.prototype.cdata=function(t){return this.options.noValidation?t:(t=(t=""+t||"").replace("]]>","]]]]><![CDATA[>"),this.assertLegalChar(t))},n.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},n.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},n.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},n.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},n.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},n.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},n.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},n.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.convertAttKey="@",n.prototype.convertPIKey="?",n.prototype.convertTextKey="#text",n.prototype.convertCDataKey="#cdata",n.prototype.convertCommentKey="#comment",n.prototype.convertRawKey="#raw",n.prototype.assertLegalChar=function(t){var o,n;if(this.options.noValidation)return t;if(o="","1.0"===this.options.version){if(o=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(o=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},n.prototype.assertLegalName=function(t){var o;if(this.options.noValidation)return t;if(this.assertLegalChar(t),o=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(o))throw new Error("Invalid character in name");return t},n.prototype.textEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&").replace(/</g,"<").replace(/>/g,">").replace(/\r/g,"
"))},n.prototype.attEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&").replace(/</g,"<").replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
"))},n}()}).call(this);
|
||
|
||
},{}],94:[function(require,module,exports){
|
||
(function(){var t,e,o={}.hasOwnProperty;t=require("./NodeType"),e=require("./XMLCharacterData"),module.exports=function(r){function i(e,o){if(i.__super__.constructor.call(this,e),null==o)throw new Error("Missing element text. "+this.debugInfo());this.name="#text",this.type=t.Text,this.value=this.stringify.text(o)}return function(t,e){for(var r in e)o.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(i,e),Object.defineProperty(i.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(i.prototype,"wholeText",{get:function(){var t,e,o;for(o="",e=this.previousSibling;e;)o=e.data+o,e=e.previousSibling;for(o+=this.data,t=this.nextSibling;t;)o+=t.data,t=t.nextSibling;return o}}),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.text(this,this.options.writer.filterOptions(t))},i.prototype.splitText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.replaceWholeText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./XMLCharacterData":70}],95:[function(require,module,exports){
|
||
(function(){var e,t,n,s={}.hasOwnProperty;n=require("./Utility").assign,e=require("./NodeType"),require("./XMLDeclaration"),require("./XMLDocType"),require("./XMLCData"),require("./XMLComment"),require("./XMLElement"),require("./XMLRaw"),require("./XMLText"),require("./XMLProcessingInstruction"),require("./XMLDummy"),require("./XMLDTDAttList"),require("./XMLDTDElement"),require("./XMLDTDEntity"),require("./XMLDTDNotation"),t=require("./WriterState"),module.exports=function(){function o(e){var t,n,o;for(t in e||(e={}),this.options=e,n=e.writer||{})s.call(n,t)&&(o=n[t],this["_"+t]=this[t],this[t]=o)}return o.prototype.filterOptions=function(e){var s,o,a,i,r,l,u,p;return e||(e={}),e=n({},this.options,e),(s={writer:this}).pretty=e.pretty||!1,s.allowEmpty=e.allowEmpty||!1,s.indent=null!=(o=e.indent)?o:" ",s.newline=null!=(a=e.newline)?a:"\n",s.offset=null!=(i=e.offset)?i:0,s.dontPrettyTextNodes=null!=(r=null!=(l=e.dontPrettyTextNodes)?l:e.dontprettytextnodes)?r:0,s.spaceBeforeSlash=null!=(u=null!=(p=e.spaceBeforeSlash)?p:e.spacebeforeslash)?u:"",!0===s.spaceBeforeSlash&&(s.spaceBeforeSlash=" "),s.suppressPrettyCount=0,s.user={},s.state=t.None,s},o.prototype.indent=function(e,t,n){var s;return!t.pretty||t.suppressPrettyCount?"":t.pretty&&(s=(n||0)+t.offset+1)>0?new Array(s).join(t.indent):""},o.prototype.endline=function(e,t,n){return!t.pretty||t.suppressPrettyCount?"":t.newline},o.prototype.attribute=function(e,t,n){var s;return this.openAttribute(e,t,n),s=" "+e.name+'="'+e.value+'"',this.closeAttribute(e,t,n),s},o.prototype.cdata=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<![CDATA[",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+="]]>"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.comment=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"\x3c!-- ",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=" --\x3e"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.declaration=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?xml",n.state=t.InsideTag,o+=' version="'+e.version+'"',null!=e.encoding&&(o+=' encoding="'+e.encoding+'"'),null!=e.standalone&&(o+=' standalone="'+e.standalone+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.docType=function(e,n,s){var o,a,i,r,l;if(s||(s=0),this.openNode(e,n,s),n.state=t.OpenTag,r=this.indent(e,n,s),r+="<!DOCTYPE "+e.root().name,e.pubID&&e.sysID?r+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(r+=' SYSTEM "'+e.sysID+'"'),e.children.length>0){for(r+=" [",r+=this.endline(e,n,s),n.state=t.InsideTag,a=0,i=(l=e.children).length;a<i;a++)o=l[a],r+=this.writeChildNode(o,n,s+1);n.state=t.CloseTag,r+="]"}return n.state=t.CloseTag,r+=n.spaceBeforeSlash+">",r+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),r},o.prototype.element=function(n,o,a){var i,r,l,u,p,d,h,c,y,T,f,N,g,D;for(y in a||(a=0),T=!1,f="",this.openNode(n,o,a),o.state=t.OpenTag,f+=this.indent(n,o,a)+"<"+n.name,N=n.attribs)s.call(N,y)&&(i=N[y],f+=this.attribute(i,o,a));if(u=0===(l=n.children.length)?null:n.children[0],0===l||n.children.every(function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value}))o.allowEmpty?(f+=">",o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a)):(o.state=t.CloseTag,f+=o.spaceBeforeSlash+"/>"+this.endline(n,o,a));else if(!o.pretty||1!==l||u.type!==e.Text&&u.type!==e.Raw||null==u.value){if(o.dontPrettyTextNodes)for(p=0,h=(g=n.children).length;p<h;p++)if(((r=g[p]).type===e.Text||r.type===e.Raw)&&null!=r.value){o.suppressPrettyCount++,T=!0;break}for(f+=">"+this.endline(n,o,a),o.state=t.InsideTag,d=0,c=(D=n.children).length;d<c;d++)r=D[d],f+=this.writeChildNode(r,o,a+1);o.state=t.CloseTag,f+=this.indent(n,o,a)+"</"+n.name+">",T&&o.suppressPrettyCount--,f+=this.endline(n,o,a),o.state=t.None}else f+=">",o.state=t.InsideTag,o.suppressPrettyCount++,T=!0,f+=this.writeChildNode(u,o,a+1),o.suppressPrettyCount--,T=!1,o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a);return this.closeNode(n,o,a),f},o.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},o.prototype.processingInstruction=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?",n.state=t.InsideTag,o+=e.target,e.value&&(o+=" "+e.value),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.raw=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.text=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdAttList=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ATTLIST",n.state=t.InsideTag,o+=" "+e.elementName+" "+e.attributeName+" "+e.attributeType,"#DEFAULT"!==e.defaultValueType&&(o+=" "+e.defaultValueType),e.defaultValue&&(o+=' "'+e.defaultValue+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdElement=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ELEMENT",n.state=t.InsideTag,o+=" "+e.name+" "+e.value,n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdEntity=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ENTITY",n.state=t.InsideTag,e.pe&&(o+=" %"),o+=" "+e.name,e.value?o+=' "'+e.value+'"':(e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),e.nData&&(o+=" NDATA "+e.nData)),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdNotation=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!NOTATION",n.state=t.InsideTag,o+=" "+e.name,e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.pubID?o+=' PUBLIC "'+e.pubID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.openNode=function(e,t,n){},o.prototype.closeNode=function(e,t,n){},o.prototype.openAttribute=function(e,t,n){},o.prototype.closeAttribute=function(e,t,n){},o}()}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./WriterState":67,"./XMLCData":69,"./XMLComment":71,"./XMLDTDAttList":76,"./XMLDTDElement":77,"./XMLDTDEntity":78,"./XMLDTDNotation":79,"./XMLDeclaration":80,"./XMLDocType":81,"./XMLDummy":84,"./XMLElement":85,"./XMLProcessingInstruction":89,"./XMLRaw":90,"./XMLText":94}],96:[function(require,module,exports){
|
||
(function(){var e,r,t,n,i,o,u,l,m,s;s=require("./Utility"),l=s.assign,m=s.isFunction,t=require("./XMLDOMImplementation"),n=require("./XMLDocument"),i=require("./XMLDocumentCB"),u=require("./XMLStringWriter"),o=require("./XMLStreamWriter"),e=require("./NodeType"),r=require("./WriterState"),module.exports.create=function(e,r,t,i){var o,u;if(null==e)throw new Error("Root element needs a name.");return i=l({},r,t,i),u=(o=new n(i)).element(e),i.headless||(o.declaration(i),null==i.pubID&&null==i.sysID||o.dtd(i)),u},module.exports.begin=function(e,r,t){var o;return m(e)&&(r=(o=[e,r])[0],t=o[1],e={}),r?new i(e,r,t):new n(e)},module.exports.stringWriter=function(e){return new u(e)},module.exports.streamWriter=function(e,r){return new o(e,r)},module.exports.implementation=new t,module.exports.nodeType=e,module.exports.writerState=r}).call(this);
|
||
|
||
},{"./NodeType":65,"./Utility":66,"./WriterState":67,"./XMLDOMImplementation":74,"./XMLDocument":82,"./XMLDocumentCB":83,"./XMLStreamWriter":91,"./XMLStringWriter":92}],97:[function(require,module,exports){
|
||
|
||
},{}],98:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t),Object.defineProperty(e,i,{enumerable:!0,get:function(){return n[t]}})}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(n,e,t);return __setModuleDefault(n,e),n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.showSeatmapBtnParent=exports.injectBookingBtn=void 0;var Communication=__importStar(require("./communication"));function injectBookingBtn(){jQuery(".flash_seat_map_box").remove(),changeBookingBtnCSS(),appendBookingBtnHTML()}function showSeatmapBtnParent(){Communication.sendEventToParent("child_seatmap_ready")}function appendBookingBtnHTML(){jQuery("#flash_seat_map_box_id").append('\n <div class="row_space"></div>\n <div class="row_space"></div>\n <div id="containerBookingBtn">\n <a class="continue" id="openSeatmap">\n <span>Saalplanbuchung</span>\n </a>\n <div id="dialogSeatmap" hidden="hidden"></div>\n </div>\n ')}function changeBookingBtnCSS(){jQuery("#flash_seat_map_box_id").css({display:"block",position:"relative",width:"100%"})}exports.injectBookingBtn=injectBookingBtn,exports.showSeatmapBtnParent=showSeatmapBtnParent;
|
||
|
||
},{"./communication":102}],99:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateCheckoutUrl=exports.initModalCart=exports.generateCartItems=exports.calcOverallPrice=exports.changedDropdownBuyerType=exports.removeCartItems=exports.addItem=void 0;var XMLHelper=__importStar(require("./xmlhelper")),config_1=require("./config"),Events=__importStar(require("./events")),CartButtons=__importStar(require("./cartButtons"));function addItem(e){var t="#"+XMLHelper.getVenuePricescalePropertyByPricescaleID("color",e.data.seatsObj.id[0]),r=XMLHelper.getVenuePricescalePropertyByPricescaleID("desc",e.data.seatsObj.id[0]),a=config_1.config.state.layoutRows[e.id][5],n=config_1.config.state.layoutRows[e.id][4],o=config_1.config.state.layoutRows[e.id][3],c=XMLHelper.getSectionDescBySectionID(o)+"<br/>Reihe "+n+" Platz "+a,i=XMLHelper.getBuyerTypesByPricescaleID(e.data.seatsObj.id[0]),s="cartItem-"+e.id,d="#"+s+" .dropdownBuyerTypes";appendHTML(s,t,r,c),addDropdownBuyerTypeOptions(i,d),Events.addCartDropdownBuyerTypes(d,e)}function removeCartItems(){jQuery("#cartItemHTML .cartItem").each(function(){this.remove()})}function changedDropdownBuyerType(e,t){var r=config_1.config.state.selectedSeatsArr.findIndex(function(e){return e[0]===t.id});config_1.config.state.selectedSeatsArr[r][1]=e.value;var a=XMLHelper.getBuyerTypeCodeByBuyerTypeID(e.value);a&&(config_1.config.state.selectedSeatsArr[r][2]=a),calcOverallPrice(),CartButtons.setBtnCartText();var n=generateCheckoutUrl();Events.addRedirectCheckout(n)}function calcOverallPrice(){return config_1.config.state.selectedSeatsArr.length?(config_1.config.state.priceOverall=sumSeatPrices(),config_1.config.state.priceOverall):(config_1.config.state.priceOverall="0","0")}function generateCartItems(){if(config_1.config.state.selectedSeatsArr.length)for(var e in config_1.config.state.selectedSeatsObj){if(Object.prototype.hasOwnProperty.call(config_1.config.state.selectedSeatsObj,e))addItem(config_1.config.state.selectedSeatsObj[e])}}function initModalCart(){jQuery("#modalCart-overlay").hide(),Events.addCartBack(),Events.addCartClose()}function generateCheckoutUrl(){if(config_1.config.state.selectedSeatsArr.length){var e=config_1.config.state.inputsWithValue,t=XMLHelper.generateSelectedSeatIndexes();return e.ticketPurchaseUrl+"?user_context="+e.user_context+"&pid="+e.pid+"&selected_seat_indexes="+t+"&trxstate=148"}}function appendHTML(e,t,r,a){jQuery("#cartItemHTML .fl-html").append('\n <div class="cartItem" id="'+e+'">\n <div class="cartItemColoredSquare" style="background: '+t+';"></div>\n <div class="cartItemCategory">'+r+'</div>\n <h5 class="cartItemSeat">'+a+'</h5>\n <select name="dropdownBuyerTypes" class="dropdownBuyerTypes"></select>\n </div>')}function addDropdownBuyerTypeOptions(e,t){e&&e.forEach(function(e){e[0]&&appendOption(t,e)})}function appendOption(e,t){var r=jQuery(e).get(0),a=document.createElement("option");a.value=t[0],a.innerHTML=t[2]+" €"+t[1],r.appendChild(a)}function sumSeatPrices(){return config_1.config.state.selectedSeatsArr.map(getSeatPrice).reduce(function(e,t){return e+t}).toFixed(2)}function getSeatPrice(e){var t=e[0],r=e[1],a=config_1.config.state.selectedSeatsObj[t].data.seatsObj.id[0],n=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(a);if(n){var o=XMLHelper.getPriceByBuyerTypeID(r,n);if(o)return o}return 0}exports.addItem=addItem,exports.removeCartItems=removeCartItems,exports.changedDropdownBuyerType=changedDropdownBuyerType,exports.calcOverallPrice=calcOverallPrice,exports.generateCartItems=generateCartItems,exports.initModalCart=initModalCart,exports.generateCheckoutUrl=generateCheckoutUrl;
|
||
|
||
},{"./cartButtons":100,"./config":103,"./events":104,"./xmlhelper":114}],100:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.showHideBtnCartLoading=exports.setBtnCartText=void 0;var config_1=require("./config");function setBtnCartText(){jQuery("#modalCart .uabb-button-text")[0].innerText=createCartBtnText(),jQuery("#modalCartSum .uabb-heading-text")[0].textContent=createModalCartBtnText()}function createCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?1===t?t+" Ticket für €"+config_1.config.state.priceOverall:t+" Tickets für €"+config_1.config.state.priceOverall:"0 Tickets für €0.00"}function createModalCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?"Summe ("+t+" Plätze) €"+config_1.config.state.priceOverall:"Summe (0 Plätze) €0,00"}function showHideBtnCartLoading(t){"show"===t?(jQuery("#modalCart .uabb-button").css("pointer-events","none"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")):"hide"===t&&(jQuery("#modalCart i").show(),jQuery("#modalCart .uabb-button-text").removeClass("dot-pulse"),jQuery("#modalCart .uabb-button").css("pointer-events","all"))}exports.setBtnCartText=setBtnCartText,exports.showHideBtnCartLoading=showHideBtnCartLoading;
|
||
|
||
},{"./config":103}],101:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.injectResources=exports.sendCheckoutResponse=exports.sendSeatmapXML=exports.initSendInputsWithValue=exports.initSendVenueXML=exports.initVenue=void 0;var Communication=__importStar(require("./communication")),UI=__importStar(require("./ui")),config_1=require("./config"),utils_1=__importDefault(require("./utils")),Parser=__importStar(require("./parser")),JSC=__importStar(require("./jsc")),Legend=__importStar(require("./legend")),Events=__importStar(require("./events")),Trims=__importStar(require("./trims")),XMLHelper=__importStar(require("./xmlhelper")),Panzoom=__importStar(require("./panzoom")),jBoxHelper=__importStar(require("./jBoxHelper")),Cart=__importStar(require("./cart")),CartButtons=__importStar(require("./cartButtons"));function initVenue(){UI.controlLoftloader("show"),Communication.sendEventToParent("child_init_needInputsWithValue")}function initSendVenueXML(e){var t=JSON.parse(e.data);config_1.config.state.inVenueXML=t.message.map_response;var n=config_1.config.state.inVenueXML,i=UI.generatePricescaleCSS();utils_1.default.inject(i,"cssCustom","body");var o=Parser.getEventInfo();UI.setEventInfo(o);var a=n.seatmap_config[0].seatmap;UI.setOptionSelect(a,"dropdownSeatmap");var r=a[0].id[0];jQuery("#dropdownSeatmap").val(r),Communication.needSeatmapXML(r),utils_1.default.consoleLog(i),utils_1.default.consoleLog(a)}function initSendInputsWithValue(e){var t=JSON.parse(e.data);config_1.config.state.inputsWithValue=t.message,UI.changeVenueImage(),Communication.sendEventToParent("child_init_needVenueXML")}function sendSeatmapXML(e){var t=JSON.parse(e.data);config_1.config.state.seatmapXML=t.message.map_response;var n=JSC.generateMap(),i=JSC.getRowsNaming(),o=JSC.getSeats(),a=JSC.generateLegend("#JSCLegendInner");JSC.addSeatmap("#containerSeatmapInner",n,i,o,a),JSC.setUnavailableSeats(),JSC.selectSeatsInCart(),Legend.convertLegendToDropdown("dropdownLegend"),Events.dropdownLegendOnChange("#dropdownLegend"),Trims.addTrims(),XMLHelper.processSMAP(),config_1.config.state.panzoom=Panzoom.addPanzoom("#containerSeatmapInner",".panzoomZoomIn",".panzoomZoomOut","#panzoomResetZoom"),UI.controlLoftloader("hide"),jBoxHelper.createSeatTooltips()}function sendCheckoutResponse(e){var t=JSON.parse(e.data);if(config_1.config.state.isValidSeatSelection=t.message.isValidSeatSelection,utils_1.default.consoleLog(t.message),config_1.config.state.isValidSeatSelection){Cart.removeCartItems(),Cart.generateCartItems();var n=Cart.generateCheckoutUrl();Events.addRedirectCheckout(n),UI.fadeInCartModal(),CartButtons.showHideBtnCartLoading("hide")}else jBoxHelper.showJBoxNotice("Auswahl nicht möglich: Bitte lassen Sie keinen einzelnen Platz frei."),CartButtons.showHideBtnCartLoading("hide");config_1.config.state.cartChanged=!1}function injectResources(){var e=config_1.config.branch,t=config_1.config.resources[e];utils_1.default.inject(t.JSC,"js","head"),utils_1.default.inject(t.CSSJSC,"css","body"),utils_1.default.inject(t.CSSjQueryUI,"css","body"),utils_1.default.inject(t.CSSChild,"css","body")}exports.initVenue=initVenue,exports.initSendVenueXML=initSendVenueXML,exports.initSendInputsWithValue=initSendInputsWithValue,exports.sendSeatmapXML=sendSeatmapXML,exports.sendCheckoutResponse=sendCheckoutResponse,exports.injectResources=injectResources;
|
||
|
||
},{"./cart":99,"./cartButtons":100,"./communication":102,"./config":103,"./events":104,"./jBoxHelper":105,"./jsc":106,"./legend":107,"./panzoom":108,"./parser":109,"./trims":111,"./ui":112,"./utils":113,"./xmlhelper":114}],102:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.isValidSeatSelection=exports.cancelCheckout=exports.needSeatmapXML=exports.sendEventToParent=exports.sendEventToChild=exports.sendXML=exports.listenToMessages=exports.sendMessage=void 0;var axios_1=__importDefault(require("axios")),xml2jsParser=require("xml2js").parseString,UI=__importStar(require("./ui")),config_1=require("./config"),Cart=__importStar(require("./cart")),utils_1=__importDefault(require("./utils"));function sendMessage(e,t){if("parent"===t)window.parent.postMessage(JSON.stringify(e),"*");else{var n=document.getElementById(t);null!==n&&null!==n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(e),"*")}}function listenToMessages(e){window.addEventListener("message",function(t){e(t)})}function sendXML(e,t,n,s,o){void 0===o&&(o=Date.now()),getXMLPromise(e).then(function(e){sendMessage({date:o,from:s,message:e,event:n},t)}).catch(function(e){console.error(e)})}function sendEventToChild(e){sendMessage({message:null,from:"parent",event:e,date:Date.now()},"iframeSeatmap")}function sendEventToParent(e){sendMessage({message:null,from:"child",event:e,date:Date.now()},"parent")}function needSeatmapXML(e){sendMessage({message:e,from:"child",event:"child_needSeatmapXML",date:Date.now()},"parent")}function cancelCheckout(e){fetch(e,{redirect:"manual"}).then(function(){return utils_1.default.consoleLog(e+" canceled")}).catch(function(e){return utils_1.default.consoleLog(e)})}function isValidSeatSelection(){(jQuery("#modalCart-overlay").hide(),config_1.config.state.selectedSeatsArr.length)&&(UI.adjustUIToLoading(),sendMessage({message:{url:Cart.generateCheckoutUrl()},from:"child",event:"child_needCheckoutResponse",date:Date.now()},"parent"))}function getXMLPromise(e){return axios_1.default.get(e).then(function(e){return new Promise(function(t,n){var s=e;200===s.status&&"text/xml;charset=utf-8"===s.headers["content-type"]&&xml2jsParser(s.data,{normalizeTags:!0,normalize:!0,mergeAttrs:!0},function(e,s){e?n(e):t(s)})})}).catch(function(e){return utils_1.default.consoleLog(e)})}exports.sendMessage=sendMessage,exports.listenToMessages=listenToMessages,exports.sendXML=sendXML,exports.sendEventToChild=sendEventToChild,exports.sendEventToParent=sendEventToParent,exports.needSeatmapXML=needSeatmapXML,exports.cancelCheckout=cancelCheckout,exports.isValidSeatSelection=isValidSeatSelection;
|
||
|
||
},{"./cart":99,"./config":103,"./ui":112,"./utils":113,"axios":2,"xml2js":63}],103:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.config=void 0,exports.config={childHasVenueXML:!1,debug:!0,branch:"staging",version:"0.0.1",maxSelectedSeats:10,resources:{master:{seatmap:"https://tickets.zinomedia.de",JSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://tickets.zinomedia.de/dist/jBox.all.min.css"},staging:{seatmap:"https://staging.tickets.zinomedia.de",JSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://staging.tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://staging.tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://staging.tickets.zinomedia.de/dist/jBox.all.min.css"}},state:{priceOverall:"",cartChanged:!1,selectedSeatsArr:[],selectedSeatsObj:{},layoutRows:{},isValidSeatSelection:!1,inputsWithValue:void 0,seatmap:void 0,panzoom:void 0,inVenueXML:void 0,seatmapXML:void 0}};
|
||
|
||
},{}],104:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addOpenSeatmap=exports.addCartDropdownBuyerTypes=exports.dropdownLegendOnChange=exports.addCartBack=exports.addCartClose=exports.addRedirectCheckout=exports.addModalCart=exports.addDropdownSeatmap=exports.addCloseModal=void 0;var Communication=__importStar(require("./communication")),UI=__importStar(require("./ui")),config_1=require("./config"),JSC=__importStar(require("./jsc")),Cart=__importStar(require("./cart")),Legend=__importStar(require("./legend")),jBoxHelper=__importStar(require("./jBoxHelper"));function addCloseModal(){var e=jQuery("#btnCloseModal").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_closeDialog")})}function addDropdownSeatmap(){var e=document.getElementById("dropdownSeatmap");e&&e.addEventListener("change",function(){UI.controlLoftloader("show"),UI.destroyCurrentSeatmap("#containerSeatmapInner"),Communication.needSeatmapXML(this.value)})}function addModalCart(){var e=jQuery("#modalCart .uabb-button").get(0);e&&e.addEventListener("click",function(){config_1.config.state.selectedSeatsArr.length?config_1.config.state.cartChanged?Communication.isValidSeatSelection():!config_1.config.state.cartChanged&&config_1.config.state.isValidSeatSelection?UI.fadeInCartModal():config_1.config.state.cartChanged||config_1.config.state.isValidSeatSelection||jBoxHelper.showJBoxNotice("Auswahl nicht möglich: Bitte lassen Sie keinen einzelnen Platz frei."):jBoxHelper.showJBoxNotice("Sie haben bislang keinen Platz ausgewählt.")})}function addRedirectCheckout(e){if(e){var t=jQuery("#modalCart-overlay #checkout .fl-button").get(0);t&&t.addEventListener("click",function(){var t={message:{url:e},from:"child",event:"child_click_checkout",date:Date.now()};Communication.sendMessage(t,"parent")})}}function addCartClose(){var e=jQuery("#modalCart-overlay .uabb-close-icon").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_show_dialog_titlebar")})}function addCartBack(){var e=jQuery("#modalCart-overlay #goBack .fl-button").get(0);e&&e.addEventListener("click",function(){return jQuery("#modalCart-overlay .uabb-close-icon").trigger("click")})}function dropdownLegendOnChange(e){var t=config_1.config.state.seatmap;jQuery(e).get(0).addEventListener("change",function(){var a=this.value,n="._"+a;Legend.changeDropdownLegendBGColor(e,a,n),"all"===a?(t.find("unavailable").status("available"),JSC.setUnavailableSeats()):(t.find("available").status("unavailable"),JSC.activateSeatsBySectionID(a),JSC.setUnavailableSeats())})}function addCartDropdownBuyerTypes(e,t){jQuery(e).on("change",function(){Cart.changedDropdownBuyerType(this,t)})}function addOpenSeatmap(){jQuery("#openSeatmap").on("click",function(){config_1.config.childHasVenueXML||Communication.sendEventToChild("parent_init_venue"),jQuery("html, body").css("overflow","hidden"),jQuery("#dialogSeatmap").dialog("open")})}exports.addCloseModal=addCloseModal,exports.addDropdownSeatmap=addDropdownSeatmap,exports.addModalCart=addModalCart,exports.addRedirectCheckout=addRedirectCheckout,exports.addCartClose=addCartClose,exports.addCartBack=addCartBack,exports.dropdownLegendOnChange=dropdownLegendOnChange,exports.addCartDropdownBuyerTypes=addCartDropdownBuyerTypes,exports.addOpenSeatmap=addOpenSeatmap;
|
||
|
||
},{"./cart":99,"./communication":102,"./config":103,"./jBoxHelper":105,"./jsc":106,"./legend":107,"./ui":112}],105:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,i){void 0===i&&(i=o),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,i){void 0===i&&(i=o),e[i]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createSeatTooltips=exports.showJBoxNotice=void 0;var jbox_1=__importDefault(require("jbox")),config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper"));function showJBoxNotice(e,t){void 0===t&&(t=5e3),new jbox_1.default("Notice",{position:{x:"center",y:"top"},offset:{x:0,y:320},content:e,autoClose:t,animation:{open:"zoomIn",close:"zoomOut"},closeOnEsc:!1,closeButton:!0,closeOnMouseleave:!1,closeOnClick:!1,draggable:!1,color:"red",stack:!0,showCountdown:!0,reposition:!0,responsiveWidth:!0,responsiveHeight:!0})}function createSeatTooltips(){new jbox_1.default("Tooltip",{attach:jQuery(".seatCharts-seat"),onOpen:function(){showSeatTooltip(this)}})}function showSeatTooltip(e){var t=e.source[0].id,o=config_1.config.state.layoutRows[t][5],i=config_1.config.state.layoutRows[t][4],n=config_1.config.state.layoutRows[t][3],r=XMLHelper.getSectionDescBySectionID(n)+"<br/>Reihe "+i+" Platz "+o;e.setContent(r)}exports.showJBoxNotice=showJBoxNotice,exports.createSeatTooltips=createSeatTooltips;
|
||
|
||
},{"./config":103,"./xmlhelper":114,"jbox":35}],106:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addSeatmap=exports.selectSeatsInCart=exports.createArrMatrix=exports.splitSeatStr=exports.getSeatsKey=exports.setUnavailableSeats=exports.generateLegend=exports.generateMap=exports.getRowsNaming=exports.activateSeatsBySectionID=exports.getSeats=void 0;var config_1=require("./config"),State=__importStar(require("./state")),Cart=__importStar(require("./cart")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function getSeats(){var e=config_1.config.state.seatmapXML.seatmap[0].pricescale_config[0].pricescale,t={};for(var a in e){var r={classes:"_"+e[a].id[0],seatsObj:e[a]};t[String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()]=r}return t}function activateSeatsBySectionID(e){var t,a=config_1.config.state.seatmapXML,r=config_1.config.state.seatmap,i=null===(t=a.seatmap[0].pricescale_config[0].pricescale.find(function(t){return t.id[0]===e}))||void 0===t?void 0:t.mask[0].split(",");r.status(i,"available")}function getRowsNaming(){var e=config_1.config.state.seatmapXML.seatmap[0].layouts[0].layout[0],t=parseInt(e.height[0]),a=Array.from({length:t},function(e){return""});return e.rows[0].row.forEach(function(e){var t=parseInt(e.y_cell_coord[0]),r=splitSeatStr(e.seats[0].split("|")[0])[4];a[t]=r}),a}function generateMap(){var e=config_1.config.state.seatmapXML,t=e.seatmap[0].layouts[0].layout[0],a=t.rows[0].row,r=e.seatmap[0].pricescale_config[0].pricescale,i=e.seatmap[0].view_modes[0].view_mode[0].availability[0],n=createArrMatrix(parseInt(t.height[0]),parseInt(t.width[0]),"_");return(n=enterSeatsInMatrix(a,n,r,i)).map(function(e){return e.join("")})}function generateLegend(e){var t=config_1.config.state.seatmapXML,a=config_1.config.state.inVenueXML,r=t.seatmap[0].pricescale_config[0].pricescale,i=a.venue[0].pricescales[0].pricescale;return{node:jQuery(e),items:createLegendItems(r,i)}}function setUnavailableSeats(){var e=config_1.config.state.seatmapXML,t=config_1.config.state.seatmap,a=e.seatmap[0].view_modes[0].view_mode[0].availability[0];if(""!==a.unavailable_unselectable_mask[0]){var r=a.unavailable_unselectable_mask[0].split(",");t.status(r,"unavailable")}}function getSeatsKey(e,t){for(var a in t)if(t[a].mask[0].includes(e))return String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()}function splitSeatStr(e){return e.split(",").map(function(e){return e.trim()})}function createArrMatrix(e,t,a){return Array(e).fill(null).map(function(){return Array(t).fill(a)})}function selectSeatsInCart(){var e=config_1.config.state.seatmap;config_1.config.state.selectedSeatsArr.forEach(function(t){var a=t[0];e.get(a)&&e.status(a,"selected")})}function addSeatmap(e,t,a,r,i){var n=window.jQuery(e);config_1.config.state.seatmap=n.seatCharts({naming:{top:!1,left:!1,rows:a},map:t,seats:r,legend:i,click:function(){return clickedSeat(this)}})}function createLegendItems(e,t){return e.map(function(a,r){var i,n=a.id[0];return[String.fromCharCode(97+r).toLocaleUpperCase(),"available",(null===(i=t.find(function(e){return e.id[0]===n}))||void 0===i?void 0:i.desc[0])+" €"+e[r].ref_price[0]]})}function enterSeatsInMatrix(e,t,a,r){var i=r.available_selectable_mask[0].split(","),n=r.unavailable_unselectable_mask[0].split(",");return e.forEach(function(e){var r=e,s=parseInt(r.y_cell_coord[0])-1;r.seats[0].split("|").forEach(function(e){var r=splitSeatStr(e);if(i.includes(r[0])||n.includes(r[0])){var o=parseInt(r[2])-1,c=getSeatsKey(r[0],a);c&&(t[s][o]=c+"["+r[0]+", ]"),config_1.config.state.layoutRows[r[0]]=r}})}),t}function clickedSeat(e){return"available"==e.status()?clickAvailableSeat(e):"selected"===e.status()?clickedSelectedSeat(e):"unavailable"==e.status()?"unavailable":e.style()}function clickAvailableSeat(e){var t=e.settings;return utils_1.default.consoleLog(t),State.maximumSelectedSeatsReached(t)?"available":(State.addSeatToState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"selected")}function clickedSelectedSeat(e){var t=e.settings;return State.removeSeatFromState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"available"}exports.getSeats=getSeats,exports.activateSeatsBySectionID=activateSeatsBySectionID,exports.getRowsNaming=getRowsNaming,exports.generateMap=generateMap,exports.generateLegend=generateLegend,exports.setUnavailableSeats=setUnavailableSeats,exports.getSeatsKey=getSeatsKey,exports.splitSeatStr=splitSeatStr,exports.createArrMatrix=createArrMatrix,exports.selectSeatsInCart=selectSeatsInCart,exports.addSeatmap=addSeatmap;
|
||
|
||
},{"./cart":99,"./cartButtons":100,"./config":103,"./state":110,"./utils":113}],107:[function(require,module,exports){
|
||
"use strict";function convertLegendToDropdown(e){jQuery("ul.seatCharts-legendList").each(function(){var n=jQuery(document.createElement("select")).insertBefore(jQuery(this).hide());n.attr({id:e}),appendFirstLegendOption(n),appendLegendOptions(this,n)})}function appendLegendOptions(e,n){jQuery(">li",e).each(function(){var e=jQuery(this)[0].children[0].classList[3],o=e.substring(1),r=jQuery(this)[0].children[1].innerText;appendLegendOption(n,e,o,r)})}function appendLegendOption(e,n,o,r){var t=jQuery("<option/>");t.attr({value:o,class:n}).text(r),e.append(t)}function appendFirstLegendOption(e){var n=jQuery("<option/>");n.attr({value:"all"}).text("Alle Preiskategorien"),n.css("color","#5c5c5c"),e.append(n)}function changeDropdownLegendBGColor(e,n,o){var r="#fafafa",t="#5c5c5c";"all"!==n&&(t="white",r=jQuery(o).css("background-color")),jQuery(e).css("color",t),jQuery(e).css("background-color",r),jQuery(e+' option[value="all"]').css("color",t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.changeDropdownLegendBGColor=exports.convertLegendToDropdown=void 0,exports.convertLegendToDropdown=convertLegendToDropdown,exports.changeDropdownLegendBGColor=changeDropdownLegendBGColor;
|
||
|
||
},{}],108:[function(require,module,exports){
|
||
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.unbindPanzoomEvents=exports.addPanzoom=void 0;var panzoom_1=__importDefault(require("@panzoom/panzoom")),config_1=require("./config");function addPanzoom(e,o,n,t){void 0===o&&(o=void 0),void 0===n&&(n=void 0),void 0===t&&(t=void 0);var a=jQuery(e).get(0);if(a){var i=panzoom_1.default(a,{maxScale:5,animate:!1,overflow:"hidden",startScale:"0.66"});return addPanzoomEvents(o,n,t,a.parentElement,i),i}}function addPanzoomEvents(e,o,n,t,a){[{Selector:e,PanzoomFunction:a.zoomIn,Type:"click"},{Selector:o,PanzoomFunction:a.zoomOut,Type:"click"},{Selector:n,PanzoomFunction:a.reset,Type:"click"},{HTMLElement:t,PanzoomFunction:a.zoomWithWheel,Type:"wheel"}].map(function(e){if(e.Selector){var o=jQuery(e.Selector).get(0);o&&o.addEventListener(e.Type,e.PanzoomFunction)}else e.HTMLElement&&"wheel"===e.Type&&e.HTMLElement.addEventListener(e.Type,e.PanzoomFunction)})}function unbindPanzoomEvents(e){var o;null===(o=jQuery(e).get(0).parentElement)||void 0===o||o.removeEventListener("wheel",config_1.config.state.panzoom.zoomWithWheel)}exports.addPanzoom=addPanzoom,exports.unbindPanzoomEvents=unbindPanzoomEvents;
|
||
|
||
},{"./config":103,"@panzoom/panzoom":1}],109:[function(require,module,exports){
|
||
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEventInfo=exports.getSMAP=exports.getVenueImage=exports.getAdditionalInputs=exports.getImportantNote=exports.getInputs=exports.getVenueLocation=void 0;var config_1=require("./config"),jQuery=require("jquery"),utils_1=__importDefault(require("./utils"));function getVenueLocation(){var e=[];return jQuery(".venue span").each(function(){e.push(jQuery(this).text())}),e.join(", ")}function getInputs(e){var t=jQuery.parseHTML(e),n={};return jQuery(t).find("input").each(function(){var e=this.name,t=this.value;""!==t&&(n[e]=t)}),n}function getImportantNote(){if(jQuery(".important_note").length){var e=jQuery(".important_note")[0].textContent;if(null==e?void 0:e.trim().length)return{importantNote:e,importantNoteEncoded:encodeURIComponent(e)}}}function getAdditionalInputs(e){var t=e.match(/event:"(.+?)"/)[1],n=e.match(/holdcode:"(.+?)"/)[1],i=e.match(/posturl:"(.+?)"/)[1],o=decodeURIComponent(i),a=decodeURIComponent(i+"&event="+t+"&holdcode="+n+"&nocache=0&inclpkg=Y&incloffer=Y&inclcartdetails=Y&inclCart=Y&inclvenue=Y"),r=getVenueLocation(),u=o.split("?")[0].split("/").slice(0,-1).join("/")+"/TicketPurchase";return{event:t,holdcode:n,posturlRaw:i,posturlRawDecoded:o,posturl:a,venueLocation:r,ticketPurchaseUrl:u}}function getVenueImage(){var e=jQuery("#static_venue_map img").get(0);if(e)return{venueImageSrc:e.src,venueImageHeight:e.height,venueImageWidth:e.width}}function getSMAP(){if(jQuery("#seating_map_url").length){var e=jQuery("#seating_map_url a").attr("onclick").match(/openNewWindow\(\'(\d+)\'/);return e?e[1]:void 0}}function getEventInfo(){var e=config_1.config.state.inVenueXML,t=e.master_config[0].section_inventory[0].section,n=e.event[0],i=e.event[0],o=e.venue_config[0],a=new Date(parseInt(i.year[0]),parseInt(i.month[0])-1,parseInt(i.day[0]),parseInt(i.hour[0]),parseInt(i.minute[0])),r=[a.toLocaleString(["de-DE"],{weekday:"long",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})],u=[utils_1.default.getDayName(a,"de-DE")],s=t.map(function(e){return parseInt(e.available[0])}).reduce(function(e,t){return e+t}),c={venue_config_capacity:o.capacity,venue_config_code:o.code,venue_config_desc:o.desc,venue_config_id:o.id,venue_config_nav_image:o.nav_image,venue_config_nav_image_height:o.nav_image_height,venue_config_nav_image_width:o.nav_image_width,start:r,weekday:u,seats_available:s};return __assign(__assign({},n),c)}exports.getVenueLocation=getVenueLocation,exports.getInputs=getInputs,exports.getImportantNote=getImportantNote,exports.getAdditionalInputs=getAdditionalInputs,exports.getVenueImage=getVenueImage,exports.getSMAP=getSMAP,exports.getEventInfo=getEventInfo;
|
||
|
||
},{"./config":103,"./utils":113,"jquery":36}],110:[function(require,module,exports){
|
||
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.maximumSelectedSeatsReached=exports.removeSeatFromState=exports.addSeatToState=void 0;var config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper")),jBoxHelper=__importStar(require("./jBoxHelper"));function addSeatToState(e){addSeatObjToState(e);var t=config_1.config.state.selectedSeatsObj[e.id].data.seatsObj.id[0],a=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(t);if(a){var r=a.buyer_type[0].id[0],i=XMLHelper.getBuyerTypeCodeByBuyerTypeID(r);addSeatsItemToState([e.id,r,i])}else console.warn("Cannot find corresponding venueXML pricescaleObj for pricescale with ID "+t)}function removeSeatFromState(e){delete config_1.config.state.selectedSeatsObj[e.id];var t=config_1.config.state.selectedSeatsArr.findIndex(function(t){return t[0]===e.id});config_1.config.state.selectedSeatsArr.splice(t,1),config_1.config.state.cartChanged=!0,config_1.config.state.selectedSeatsArr.length||jQuery("#modalCart-overlay").hide()}function maximumSelectedSeatsReached(e){var t=config_1.config.state.seatmap;return config_1.config.state.selectedSeatsArr.length>=config_1.config.maxSelectedSeats&&(jBoxHelper.showJBoxNotice("Sie können maximal "+config_1.config.maxSelectedSeats+" Plätze auswählen."),t.status(e.id,"available"),!0)}function addSeatsItemToState(e){e.every(function(e){return null!==e})&&(config_1.config.state.selectedSeatsArr.push(e),config_1.config.state.cartChanged=!0)}function addSeatObjToState(e){var t,a=((t={})[e.id]=e,t);config_1.config.state.selectedSeatsObj=__assign(__assign({},config_1.config.state.selectedSeatsObj),a)}exports.addSeatToState=addSeatToState,exports.removeSeatFromState=removeSeatFromState,exports.maximumSelectedSeatsReached=maximumSelectedSeatsReached;
|
||
|
||
},{"./config":103,"./jBoxHelper":105,"./xmlhelper":114}],111:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.addTrims=void 0;var config_1=require("./config");function addTrims(){config_1.config.state.seatmapXML.seatmap[0].trims[0].trim.forEach(function(r){var e=r.coord[0].split(",").map(Number),t=e[0],a=e[1];decodeTrim(r.text[0].split(";").filter(Boolean),t/20,Math.round(a/21.25))})}function decodeTrim(r,e,t){var a=new Map([["Ž","Ä"],["™","Ö"],["š","Ü"],["„","ä"],["”","ö"],["","ü"],["á","ß"]]);r.map(function(r,i){var o=a.has(r)?a.get(r):decodeNormalTrim(r);o&&applyTrim(o,getJSCTrimPos(e,t,i))})}function decodeNormalTrim(r){var e=r.replace(/^\&\#/,"0");return String.fromCharCode(parseInt(e,16))}function applyTrim(r,e){/[^a-zA-Z0-9äöüÄÖÜß$]/.test(r)||(jQuery(".seatCharts-row")[e.yJSC].children[e.xJSC].innerHTML='<span class="trimChar">'+r+"</span>")}function getJSCTrimPos(r,e,t){return{x:r,y:e,xJSC:r-1+t,yJSC:e-1}}exports.addTrims=addTrims;
|
||
|
||
},{"./config":103}],112:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.appendVersion=exports.adjustUIToLoading=exports.generatePricescaleCSS=exports.fadeInCartModal=exports.changeVenueImage=exports.controlLoftloader=exports.destroyCurrentSeatmap=exports.createDialog=exports.setEventInfo=exports.setOptionSelect=void 0;var Communication=__importStar(require("./communication")),config_1=require("./config"),Events=__importStar(require("./events")),Panzoom=__importStar(require("./panzoom")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function setOptionSelect(e,t){var n=document.getElementById(t);if(n)for(var o=0,r=e;o<r.length;o++){var a=r[o],i=document.createElement("option");i.value=a.id[0],i.innerHTML=a.desc[0],n.appendChild(i)}}function setEventInfo(e){var t=config_1.config.state.inputsWithValue;jQuery("#eventInfoDesc span.fl-heading-text")[0].childNodes[0].textContent=e.desc[0],jQuery("#eventInfoDate p")[0].childNodes[0].textContent=e.start[0],jQuery("#eventInfoLocation p")[0].childNodes[0].textContent=t.venueLocation,jQuery("#eventInfoCapacity p")[0].childNodes[0].textContent="Verfügbare Plätze: "+e.seats_available+" von "+e.venue_config_capacity[0]}function createDialog(){var e=utils_1.default.getConfigValue("seatmap");jQuery("#dialogSeatmap").append(jQuery("<iframe id='iframeSeatmap' scrolling='no' frameborder='0' marginwidth='0' marginheight='0' allowfullscreen width='100%' />").attr("src",e)).dialog({modal:!0,autoOpen:!1,closeOnEscape:!0,draggable:!1,hide:!0,show:!0,resizable:!1,title:"",width:"100%",height:"auto",close:function(){return jQuery("html, body").css("overflow","auto")}}),Events.addOpenSeatmap()}function destroyCurrentSeatmap(e){config_1.config.state.panzoom&&Panzoom.unbindPanzoomEvents(e),jQuery("#containerSeatmapInner").remove(),jQuery("#htmlSeatmapInner .fl-html").removeAttr("style"),jQuery("#htmlSeatmapInner .fl-html").append('<div id="containerSeatmapInner"></div>'),jQuery("#JSCLegendInner").remove(),jQuery("#JSCLegend .fl-html").append('<div id="JSCLegendInner"></div>')}function controlLoftloader(e){"show"===e?jQuery("body").removeClass("loaded loftloader-loaded"):"hide"===e&&jQuery("body").addClass("loaded loftloader-loaded")}function changeVenueImage(){var e=config_1.config.state.inputsWithValue;void 0!==e.venueImageSrc&&jQuery("#venueImage img").attr("src",e.venueImageSrc)}function fadeInCartModal(){jQuery("#modalCart-overlay").fadeIn(300),Communication.sendEventToParent("child_hide_dialog_titlebar")}function generatePricescaleCSS(){return config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.map(function(e){return"._"+e.id[0]+" { background-color: "+("#"+e.color[0]+" !important")+"; }"}).join("\r\n")}function adjustUIToLoading(){CartButtons.showHideBtnCartLoading("show"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")}function appendVersion(){jQuery("#bottomHTMLVersion")[0].innerText=config_1.config.version,jQuery("#bottomHTMLBranch")[0].innerText="("+config_1.config.branch+")"}exports.setOptionSelect=setOptionSelect,exports.setEventInfo=setEventInfo,exports.createDialog=createDialog,exports.destroyCurrentSeatmap=destroyCurrentSeatmap,exports.controlLoftloader=controlLoftloader,exports.changeVenueImage=changeVenueImage,exports.fadeInCartModal=fadeInCartModal,exports.generatePricescaleCSS=generatePricescaleCSS,exports.adjustUIToLoading=adjustUIToLoading,exports.appendVersion=appendVersion;
|
||
|
||
},{"./cartButtons":100,"./communication":102,"./config":103,"./events":104,"./panzoom":108,"./utils":113}],113:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var config_1=require("./config"),Utils=function(){function e(){}return e.waitForElement=function(t,n,o,c,r){void 0===o&&(o="selector"),void 0===c&&(c=1e3),void 0===r&&(r=1e4);var a=Date.now();!function i(){("selector"===o?jQuery(t).get(0):e.getSeatmapElement())?(e.consoleLog("ready"),n()):(e.consoleLog("Repeating for "+o),setTimeout(function(){r&&Date.now()-a>r||i()},c))}()},e.getSeatmapElement=function(){var t=window.jQuery("#containerSeatmap").seatCharts;return e.isFunction(t)},e.waitForSeatmap=function(e){var t=window.jQuery("#containerSeatmap").seatCharts;this.waitForElement(t,e,"seatmap")},e.querySelector=function(e){return null!=document.querySelector(e)},e.isFunction=function(e){return"function"==typeof e},e.inject=function(t,n,o){var c;switch(void 0===n&&(n="js"),void 0===o&&(o="head"),n){case"js":(c=document.createElement("script")).type="text/javascript",c.src=t;break;case"css":(c=document.createElement("link")).type="text/css",c.rel="stylesheet",c.href=t;break;case"cssCustom":(c=document.createElement("style")).type="text/css",c.innerHTML=t;break;case"script":(c=document.createElement("script")).type="text/javascript",c.innerHTML=t;break;default:c=void 0}c&&e.appendScript(c,o)},e.appendScript=function(e,t){"body"===t?document.body.appendChild(e):"head"===t&&document.head.appendChild(e)},e.getDayName=function(e,t){return e.toLocaleDateString(t,{weekday:"long"})},e.consoleLog=function(e){console.log(e)},e.getConfigValue=function(e){var t=config_1.config.branch;return config_1.config.resources[t][e]},e}();exports.default=Utils;
|
||
|
||
},{"./config":103}],114:[function(require,module,exports){
|
||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateSelectedSeatIndexes=exports.getBuyerTypesByPricescaleID=exports.getVenuePriceStructurePropertyByPricescaleID=exports.getPriceByBuyerTypeID=exports.getBuyerTypeCodeByBuyerTypeID=exports.getVenuePricescalePropertyByPricescaleID=exports.getSectionDescBySectionID=exports.processSMAP=void 0;var config_1=require("./config");function processSMAP(){var e=config_1.config.state.inputsWithValue;e.smap&&(e.smap.split("").map(Number)[0]||jQuery("#eventInfoCapacity").hide())}function getSectionDescBySectionID(e){var r;return null===(r=config_1.config.state.inVenueXML.master_config[0].section_config[0].section.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.desc[0]}function getVenuePricescalePropertyByPricescaleID(e,r){var t;return null===(t=config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.find(function(e){return e.id[0]===r?e:void 0}))||void 0===t?void 0:t[e][0]}function getBuyerTypeCodeByBuyerTypeID(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.code[0]}function getPriceByBuyerTypeID(e,r){var t,n=null===(t=null==r?void 0:r.buyer_type.find(function(r){return r.id[0]===e}))||void 0===t?void 0:t.price[0];return n?parseFloat(n):void 0}function getVenuePriceStructurePropertyByPricescaleID(e){return config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e})}function getBuyerTypesByPricescaleID(e){var r=findBuyerTypesArrByPricescaleID(e);return r?r.map(function(e){return[e.id[0],e.price[0],getBuyerTypeDesc(e)]}):void 0}function generateSelectedSeatIndexes(){return config_1.config.state.selectedSeatsArr.map(function(e){return e.join(",")}).join("|")}function findBuyerTypesArrByPricescaleID(e){var r;return null===(r=config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e}))||void 0===r?void 0:r.buyer_type}function getBuyerTypeDesc(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return r.id[0]===e.id[0]?r.desc[0]:void 0}))||void 0===r?void 0:r.desc[0]}exports.processSMAP=processSMAP,exports.getSectionDescBySectionID=getSectionDescBySectionID,exports.getVenuePricescalePropertyByPricescaleID=getVenuePricescalePropertyByPricescaleID,exports.getBuyerTypeCodeByBuyerTypeID=getBuyerTypeCodeByBuyerTypeID,exports.getPriceByBuyerTypeID=getPriceByBuyerTypeID,exports.getVenuePriceStructurePropertyByPricescaleID=getVenuePriceStructurePropertyByPricescaleID,exports.getBuyerTypesByPricescaleID=getBuyerTypesByPricescaleID,exports.generateSelectedSeatIndexes=generateSelectedSeatIndexes;
|
||
|
||
},{"./config":103}],115:[function(require,module,exports){
|
||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var jQuery=require("jquery"),Communication=__importStar(require("./modules/communication")),config_1=require("./modules/config"),utils_1=__importDefault(require("./modules/utils")),Events=__importStar(require("./modules/events")),Cart=__importStar(require("./modules/cart")),BookingBtn=__importStar(require("./modules/bookingButton")),Child=__importStar(require("./modules/child")),UI=__importStar(require("./modules/ui"));function messageHandler(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(utils_1.default.consoleLog("child: received from "+t.from),utils_1.default.consoleLog(t),t.event){case"parent_init_venue":Child.initVenue();break;case"parent_init_sendVenueXML":Child.initSendVenueXML(e);break;case"parent_init_sendInputsWithValue":Child.initSendInputsWithValue(e);break;case"parent_sendSeatmapXML":Child.sendSeatmapXML(e);break;case"parent_sendCheckoutResponse":Child.sendCheckoutResponse(e)}}}require("../src/css/seatmap.css"),window.addEventListener("load",function(){Child.injectResources(),Communication.listenToMessages(messageHandler),utils_1.default.waitForSeatmap(BookingBtn.showSeatmapBtnParent),utils_1.default.waitForElement("#modalCart-overlay",Cart.initModalCart),Events.addCloseModal(),Events.addModalCart(),Events.addDropdownSeatmap(),UI.appendVersion()}),window.onresize=function(){var e=config_1.config.state.panzoom,t=window.innerHeight;t<576?(jQuery("#containerEventInfoRow").hide(),null==e||e.reset()):t>=576&&(jQuery("#containerEventInfoRow").show(),null==e||e.reset())};
|
||
|
||
},{"../src/css/seatmap.css":97,"./modules/bookingButton":98,"./modules/cart":99,"./modules/child":101,"./modules/communication":102,"./modules/config":103,"./modules/events":104,"./modules/ui":112,"./modules/utils":113,"jquery":36}]},{},[115])
|
||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvQHBhbnpvb20vcGFuem9vbS9kaXN0L3Bhbnpvb20uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQXhpb3NFcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9wYXJzZUhlYWRlcnMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYnJvd3Nlci1yZXNvbHZlL2VtcHR5LmpzIiwibm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzIiwibm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9qYm94L2Rpc3QvakJveC5hbGwubWluLmpzIiwibm9kZV9tb2R1bGVzL2pxdWVyeS9kaXN0L2pxdWVyeS5qcyIsIm5vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCJub2RlX21vZHVsZXMvc2F4L2xpYi9zYXguanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3QuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3BpcGVsaW5lLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanMiLCJub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcyIsIm5vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYm9tLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYnVpbGRlci5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcGFyc2VyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcHJvY2Vzc29ycy5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL3htbDJqcy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9Eb2N1bWVudFBvc2l0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL05vZGVUeXBlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1V0aWxpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvV3JpdGVyU3RhdGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQXR0cmlidXRlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENEYXRhLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENoYXJhY3RlckRhdGEuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ29tbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01Db25maWd1cmF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUVycm9ySGFuZGxlci5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01JbXBsZW1lbnRhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01TdHJpbmdMaXN0LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERUREF0dExpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRERWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVERFbnRpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRETm90YXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRGVjbGFyYXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRG9jVHlwZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudENCLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTER1bW15LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTEVsZW1lbnQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTmFtZWROb2RlTWFwLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTE5vZGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTm9kZUxpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFJhdy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxTdHJlYW1Xcml0ZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MU3RyaW5nV3JpdGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFN0cmluZ2lmaWVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFRleHQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MV3JpdGVyQmFzZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9pbmRleC5qcyIsInNyYy9jc3Mvc2VhdG1hcC5jc3MiLCJzcmMvbW9kdWxlcy9ib29raW5nQnV0dG9uLnRzIiwic3JjL21vZHVsZXMvY2FydC50cyIsInNyYy9tb2R1bGVzL2NhcnRCdXR0b25zLnRzIiwic3JjL21vZHVsZXMvY2hpbGQudHMiLCJzcmMvbW9kdWxlcy9jb21tdW5pY2F0aW9uLnRzIiwic3JjL21vZHVsZXMvY29uZmlnLnRzIiwic3JjL21vZHVsZXMvZXZlbnRzLnRzIiwic3JjL21vZHVsZXMvakJveEhlbHBlci50cyIsInNyYy9tb2R1bGVzL2pzYy50cyIsInNyYy9tb2R1bGVzL2xlZ2VuZC50cyIsInNyYy9tb2R1bGVzL3Bhbnpvb20udHMiLCJzcmMvbW9kdWxlcy9wYXJzZXIudHMiLCJzcmMvbW9kdWxlcy9zdGF0ZS50cyIsInNyYy9tb2R1bGVzL3RyaW1zLnRzIiwic3JjL21vZHVsZXMvdWkudHMiLCJzcmMvbW9kdWxlcy91dGlscy50cyIsInNyYy9tb2R1bGVzL3htbGhlbHBlci50cyIsInNyYy9zZWF0bWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0EsdXVCQ0ZBLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBRUEsU0FBZ0IsbUJBQ1osT0FBTyx1QkFBdUIsU0FDOUIsc0JBQ0EsdUJBR0osU0FBZ0IsdUJBQ1osY0FBYyxrQkFBa0IsdUJBR3BDLFNBQVMsdUJBQ0wsT0FBTywwQkFBMEIsT0FBTywrUkFZNUMsU0FBUyxzQkFDTCxPQUFPLDBCQUEwQixJQUFJLENBQ2pDLFFBQVcsUUFDWCxTQUFZLFdBQ1osTUFBUyxTQTNCakIsUUFBQSxpQkFBQSxpQkFNQSxRQUFBLHFCQUFBOzs7KzFCQ1JBLElBQUEsVUFBQSxhQUFBLFFBQUEsZ0JBQ0EsU0FBQSxRQUFBLFlBRUEsT0FBQSxhQUFBLFFBQUEsYUFDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixRQUFRLEdBQ3BCLElBQU0sRUFBZ0IsSUFBSSxVQUFVLHlDQUF5QyxRQUFTLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDM0csRUFBK0IsVUFBVSx5Q0FBeUMsT0FBUSxFQUFVLEtBQUssU0FBUyxHQUFHLElBQ3JILEVBQWUsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFVLElBQUksR0FDckQsRUFBYyxTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUNwRCxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUUxRCxFQURrQyxVQUFVLDBCQUEwQixHQUMxQixjQUFjLEVBQUcsVUFBVSxFQUN2RSxFQUE4QixVQUFVLDRCQUE0QixFQUFVLEtBQUssU0FBUyxHQUFHLElBQy9GLEVBQWlCLFlBQVksRUFBVSxHQUN2QyxFQUFxQyxJQUFJLEVBQU0sdUJBRXJELFdBQVcsRUFBUSxFQUFPLEVBQVUsR0FDcEMsNEJBQTRCLEVBQVksR0FDeEMsT0FBTywwQkFBMEIsRUFBNEIsR0FHakUsU0FBZ0Isa0JBQ1osT0FBTywyQkFBMkIsS0FBSyxXQUNuQyxLQUFLLFdBSWIsU0FBZ0IseUJBQXlCLEVBQTZCLEdBQ2xFLElBQU0sRUFBZ0IsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFVBQVUsU0FBQSxHQUMxRCxPQUFBLEVBQUksS0FBTyxFQUFVLEtBRXpCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUFPLEdBQUssRUFBUyxNQUNuRCxJQUFNLEVBQWdCLFVBQVUsOEJBQThCLEVBQVMsT0FFbkUsSUFDQSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsR0FBTyxHQUFLLEdBRTlDLG1CQUNBLFlBQVksaUJBRVosSUFBTSxFQUFNLHNCQUNaLE9BQU8sb0JBQW9CLEdBRy9CLFNBQWdCLG1CQUNaLE9BQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBS25DLFNBQUEsT0FBTyxNQUFNLGFBQWUsZ0JBQ3JCLFNBQUEsT0FBTyxNQUFNLGVBTGhCLFNBQUEsT0FBTyxNQUFNLGFBQWUsSUFDckIsS0FRZixTQUFnQixvQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUduQyxJQUFLLElBQU0sS0FBTyxTQUFBLE9BQU8sTUFBTSxpQkFBa0IsQ0FDN0MsR0FBSSxPQUFPLFVBQVUsZUFBZSxLQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFrQixHQUVwRSxRQURnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FNMUQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsT0FDN0IsT0FBTyxjQUNQLE9BQU8sZUFHWCxTQUFnQixzQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFuQyxDQUdBLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBQy9CLEVBQThCLFVBQVUsOEJBQzlDLE9BQVUsRUFBbUMsa0JBQUMsaUJBQWlCLEVBQWdCLGFBQVksUUFBUSxFQUFxQixJQUFDLDBCQUEwQixFQUFtQixpQkFHMUssU0FBUyxXQUFXLEVBQWtCLEVBQWlCLEVBQWdDLEdBQ25GLE9BQU8sMEJBQTBCLE9BQU8sbUNBQ1osRUFBUSxxRUFDd0IsRUFBTyxvREFDL0IsRUFBVSw0Q0FDZixFQUFTLHFHQU01QyxTQUFTLDRCQUE0QixFQUErQixHQUMzRCxHQUdMLEVBQWEsUUFBUSxTQUFBLEdBQ2IsRUFBSSxJQUNKLGFBQWEsRUFBWSxLQUlyQyxTQUFTLGFBQWEsRUFBb0IsR0FDdEMsSUFBTSxFQUFrQyxPQUFPLEdBQVksSUFBSSxHQUMzRCxFQUF5QixTQUFTLGNBQWMsVUFDcEQsRUFBSSxNQUFnQixFQUFNLEdBQzFCLEVBQUksVUFBZSxFQUFNLEdBQUUsS0FBSyxFQUFNLEdBQ3RDLEVBQW1CLFlBQVksR0FHbkMsU0FBUyxnQkFDTCxPQUFPLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixJQUFJLGNBQ3BDLE9BQU8sU0FBQyxFQUFNLEdBQVMsT0FBQSxFQUFPLElBQzlCLFFBQVEsR0FHakIsU0FBUyxhQUFhLEdBQ2xCLElBQU0sRUFBaUIsRUFBSSxHQUNqQixFQUFzQixFQUFJLEdBRTFCLEVBRGtDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUM1QixLQUFLLFNBQVMsR0FBRyxHQUNyRCxFQUEyQyxVQUFVLDZDQUE2QyxHQUV4RyxHQUFJLEVBQWUsQ0FDZixJQUFNLEVBQWdDLFVBQVUsc0JBQXNCLEVBQWEsR0FFbkYsR0FBSSxFQUNBLE9BQU8sRUFHZixPQUFPLEVBL0hmLFFBQUEsUUFBQSxRQWlCQSxRQUFBLGdCQUFBLGdCQU1BLFFBQUEseUJBQUEseUJBaUJBLFFBQUEsaUJBQUEsaUJBV0EsUUFBQSxrQkFBQSxrQkFZQSxRQUFBLGNBQUEsY0FNQSxRQUFBLG9CQUFBOzs7aUlDM0VBLElBQUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsaUJBQ1osT0FBTyxnQ0FBZ0MsR0FBRyxVQUFZLG9CQUN0RCxPQUFPLG9DQUFvQyxHQUFHLFlBQWMseUJBR2hFLFNBQVMsb0JBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDUyxJQUFmLEVBQXNCLEVBQVUsZ0JBQWdCLFNBQUEsT0FBTyxNQUFNLGFBQW9CLEVBQVUsaUJBQWlCLFNBQUEsT0FBTyxNQUFNLGFBRXpILHNCQUdmLFNBQVMseUJBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDTixVQUFVLEVBQVUsYUFBYSxTQUFBLE9BQU8sTUFBTSxhQUU5Qyx5QkFHZixTQUFnQix1QkFBdUIsR0FDbEIsU0FBYixHQUNBLE9BQU8sMkJBQTJCLElBQUksaUJBQWtCLFFBQ3hELE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsY0FFOUIsU0FBYixJQUNMLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFlBQVksYUFDbkQsT0FBTywyQkFBMkIsSUFBSSxpQkFBa0IsUUFoQ2hFLFFBQUEsZUFBQSxlQXVCQSxRQUFBLHVCQUFBOzs7czZCQ3pCQSxJQUFBLGNBQUEsYUFBQSxRQUFBLG9CQUNBLEdBQUEsYUFBQSxRQUFBLFNBQ0EsU0FBQSxRQUFBLFlBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBQ0EsT0FBQSxhQUFBLFFBQUEsYUFFQSxJQUFBLGFBQUEsUUFBQSxVQUNBLE9BQUEsYUFBQSxRQUFBLGFBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUNBLFFBQUEsYUFBQSxRQUFBLGNBQ0EsV0FBQSxhQUFBLFFBQUEsaUJBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixZQUNaLEdBQUcsa0JBQWtCLFFBQ3JCLGNBQWMsa0JBQWtCLGtDQUdwQyxTQUFnQixpQkFBaUIsR0FDN0IsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUN2QyxTQUFBLE9BQU8sTUFBTSxXQUFhLEVBQUssUUFBUSxhQUN2QyxJQUFNLEVBQVcsU0FBQSxPQUFPLE1BQU0sV0FHeEIsRUFBTSxHQUFHLHdCQUNmLFFBQUEsUUFBTSxPQUFPLEVBQUssWUFBYSxRQUcvQixJQUFNLEVBQVksT0FBTyxlQUN6QixHQUFHLGFBQWEsR0FHaEIsSUFBTSxFQUE4QixFQUFTLGVBQWUsR0FBRyxRQUMvRCxHQUFHLGdCQUFnQixFQUFnQixtQkFHbkMsSUFBTSxFQUFhLEVBQWUsR0FBRyxHQUFHLEdBQ3hDLE9BQU8sb0JBQW9CLElBQUksR0FDL0IsY0FBYyxlQUFlLEdBRTdCLFFBQUEsUUFBTSxXQUFXLEdBQ2pCLFFBQUEsUUFBTSxXQUFXLEdBR3JCLFNBQWdCLHdCQUF3QixHQUNwQyxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFJLE1BQ3ZDLFNBQUEsT0FBTyxNQUFNLGdCQUFrQixFQUFLLFFBQ3BDLEdBQUcsbUJBQ0gsY0FBYyxrQkFBa0IsMkJBSXBDLFNBQWdCLGVBQWUsR0FDM0IsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUN2QyxTQUFBLE9BQU8sTUFBTSxXQUFhLEVBQUssUUFBUSxhQUN2QyxJQUFNLEVBQWdCLElBQUksY0FDcEIsRUFBdUIsSUFBSSxnQkFDM0IsRUFBb0IsSUFBSSxXQUN4QixFQUFzQixJQUFJLGVBQWUsbUJBRS9DLElBQUksV0FBVyx5QkFBMEIsRUFBSyxFQUFZLEVBQU8sR0FDakUsSUFBSSxzQkFDSixJQUFJLG9CQUNKLE9BQU8sd0JBQXdCLGtCQUMvQixPQUFPLHVCQUF1QixtQkFDOUIsTUFBTSxXQUNOLFVBQVUsY0FDVixTQUFBLE9BQU8sTUFBTSxRQUFVLFFBQVEsV0FBVyx5QkFBMEIsaUJBQWtCLGtCQUFtQixxQkFDekcsR0FBRyxrQkFBa0IsUUFDckIsV0FBVyxxQkFHZixTQUFnQixxQkFBcUIsR0FDakMsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUt2QyxHQUpBLFNBQUEsT0FBTyxNQUFNLHFCQUF1QixFQUFLLFFBQVEscUJBRWpELFFBQUEsUUFBTSxXQUFXLEVBQUssU0FFakIsU0FBQSxPQUFPLE1BQU0scUJBSWIsQ0FDRCxLQUFLLGtCQUNMLEtBQUssb0JBQ0wsSUFBTSxFQUFNLEtBQUssc0JBQ2pCLE9BQU8sb0JBQW9CLEdBQzNCLEdBQUcsa0JBQ0gsWUFBWSx1QkFBdUIsYUFUbkMsV0FBVyxlQUFlLHdFQUMxQixZQUFZLHVCQUF1QixRQVd2QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEVBRy9CLFNBQWdCLGtCQUNaLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BQ3BDLEVBQVksU0FBQSxPQUFPLFVBQVUsR0FFbkMsUUFBQSxRQUFNLE9BQU8sRUFBVSxJQUFLLEtBQU0sUUFDbEMsUUFBQSxRQUFNLE9BQU8sRUFBVSxPQUFRLE1BQU8sUUFDdEMsUUFBQSxRQUFNLE9BQU8sRUFBVSxZQUFhLE1BQU8sUUFDM0MsUUFBQSxRQUFNLE9BQU8sRUFBVSxTQUFVLE1BQU8sUUF4RjVDLFFBQUEsVUFBQSxVQUtBLFFBQUEsaUJBQUEsaUJBMEJBLFFBQUEsd0JBQUEsd0JBUUEsUUFBQSxlQUFBLGVBb0JBLFFBQUEscUJBQUEscUJBc0JBLFFBQUEsZ0JBQUE7OzswOEJDaEdBLElBQUEsUUFBQSxnQkFBQSxRQUFBLFVBQ00sYUFBZSxRQUFRLFVBQVUsWUFDdkMsR0FBQSxhQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFDQSxLQUFBLGFBQUEsUUFBQSxXQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUdBLFNBQWdCLFlBQVksRUFBbUIsR0FDM0MsR0FBYSxXQUFULEVBQ0EsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFVLEdBQVMsU0FDakQsQ0FDRCxJQUFNLEVBQWEsU0FBUyxlQUFlLEdBRTdCLE9BQVYsR0FBMEMsT0FBeEIsRUFBTSxlQUN4QixFQUFNLGNBQWMsWUFBWSxLQUFLLFVBQVUsR0FBUyxNQUlwRSxTQUFnQixpQkFBaUIsR0FDN0IsT0FBTyxpQkFBaUIsVUFBVyxTQUFDLEdBQ2hDLEVBQVUsS0FJbEIsU0FBZ0IsUUFBUSxFQUFlLEVBQWMsRUFBaUIsRUFBZ0IsUUFBQSxJQUFBLElBQUEsRUFBaUIsS0FBSyxPQUN4RyxjQUFjLEdBQU8sS0FBSyxTQUFDLEdBT3ZCLFlBTjJCLENBQ3ZCLEtBQU0sRUFDTixLQUFNLEVBQ04sUUFBUyxFQUNULE1BQU8sR0FFVSxLQUVwQixNQUFNLFNBQVUsR0FDYixRQUFRLE1BQU0sS0FJMUIsU0FBZ0IsaUJBQWlCLEdBTzdCLFlBTjJCLENBQ3ZCLFFBQVMsS0FDVCxLQUFNLFNBQ04sTUFBTyxFQUNQLEtBQU0sS0FBSyxPQUVNLGlCQUd6QixTQUFnQixrQkFBa0IsR0FPOUIsWUFOMkIsQ0FDdkIsUUFBUyxLQUNULEtBQU0sUUFDTixNQUFPLEVBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQU8zQixZQU4yQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxRQUNOLE1BQU8sdUJBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQUczQixNQUFNLEVBQU8sQ0FDVCxTQUFVLFdBRVQsS0FBSyxXQUFNLE9BQUEsUUFBQSxRQUFNLFdBQWMsRUFBSyxlQUNwQyxNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBRzNDLFNBQWdCLHdCQUNaLE9BQU8sc0JBQXNCLE9BRXhCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUduQyxHQUFHLG9CQVlILFlBVDJCLENBQ3ZCLFFBQVMsQ0FDTCxJQUp3QixLQUFLLHVCQU1qQyxLQUFNLFFBQ04sTUFBTyw2QkFDUCxLQUFNLEtBQUssT0FHTSxXQUd6QixTQUFTLGNBQWMsR0FDbkIsT0FBTyxRQUFBLFFBQU0sSUFBSSxHQUNaLEtBQUssU0FBQyxHQUNILE9BQU8sSUFBSSxRQUFRLFNBQUMsRUFBYyxHQUM5QixJQUFNLEVBQStCLEVBQ1IsTUFBekIsRUFBYyxRQUE0RCwyQkFBMUMsRUFBYyxRQUFRLGlCQUN0RCxhQUFhLEVBQWMsS0FDdkIsQ0FBRSxlQUFlLEVBQU0sV0FBVyxFQUFNLFlBQVksR0FDcEQsU0FBQyxFQUFVLEdBQ0gsRUFDQSxFQUFPLEdBRVAsRUFBUSxTQUsvQixNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBOUczQyxRQUFBLFlBQUEsWUFXQSxRQUFBLGlCQUFBLGlCQU1BLFFBQUEsUUFBQSxRQWVBLFFBQUEsaUJBQUEsaUJBVUEsUUFBQSxrQkFBQSxrQkFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLHFCQUFBOzs7MEZDL0VhLFFBQUEsT0FBbUIsQ0FDNUIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFRLFVBQ1IsUUFBUyxRQUNULGlCQUFrQixHQUNsQixVQUFXLENBQ1AsT0FBUSxDQUNKLFFBQVMsK0JBQ1QsSUFBSyxpRkFDTCxTQUFVLGdEQUNWLE9BQVEsOEVBQ1IsVUFBVywrQ0FDWCxZQUFhLDhEQUNiLFFBQVMsc0RBRWIsUUFBUyxDQUNMLFFBQVMsdUNBQ1QsSUFBSyx5RkFDTCxTQUFVLHdEQUNWLE9BQVEsc0ZBQ1IsVUFBVyx1REFDWCxZQUFhLDhEQUNiLFFBQVMsK0RBR2pCLE1BQU8sQ0FDSCxhQUFjLEdBQ2QsYUFBYSxFQUNiLGlCQUFrQixHQUNsQixpQkFBa0IsR0FDbEIsV0FBWSxHQUNaLHNCQUFzQixFQUN0QixxQkFBaUIsRUFDakIsYUFBUyxFQUNULGFBQVMsRUFDVCxnQkFBWSxFQUNaLGdCQUFZOzs7bzVCQ3ZDcEIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUVBLElBQUEsYUFBQSxRQUFBLFVBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFdBQUEsYUFBQSxRQUFBLGlCQUVBLFNBQWdCLGdCQUNaLElBQU0sRUFBeUMsT0FBTyxrQkFBa0IsSUFBSSxHQUN4RSxHQUNBLEVBQWMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLHVCQUd0RixTQUFnQixxQkFDWixJQUFNLEVBQXNDLFNBQVMsZUFBZSxtQkFFaEUsR0FDQSxFQUFnQixpQkFBaUIsU0FBVSxXQUN2QyxHQUFHLGtCQUFrQixRQUNyQixHQUFHLHNCQUFzQiwwQkFDekIsY0FBYyxlQUFlLEtBQUssU0FLOUMsU0FBZ0IsZUFDWixJQUFNLEVBQW1DLE9BQU8sMkJBQTJCLElBQUksR0FFM0UsR0FDQSxFQUFRLGlCQUFpQixRQUFTLFdBQ3pCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUUxQixTQUFBLE9BQU8sTUFBTSxZQUNsQixjQUFjLHdCQUNSLFNBQUEsT0FBTyxNQUFNLGFBQWUsU0FBQSxPQUFPLE1BQU0scUJBQy9DLEdBQUcsa0JBQ0csU0FBQSxPQUFPLE1BQU0sYUFBZ0IsU0FBQSxPQUFPLE1BQU0sc0JBQ2hELFdBQVcsZUFBZSx3RUFOMUIsV0FBVyxlQUFlLGdEQVcxQyxTQUFnQixvQkFBb0IsR0FDaEMsR0FBSyxFQUFMLENBR0EsSUFBTSxFQUFjLE9BQU8sMkNBQTJDLElBQUksR0FDdEUsR0FDQSxFQUFZLGlCQUFpQixRQUFTLFdBQ2xDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxDQUNMLElBQUssR0FFVCxLQUFNLFFBQ04sTUFBTyx1QkFDUCxLQUFNLEtBQUssT0FFZixjQUFjLFlBQVksRUFBUyxhQUsvQyxTQUFnQixlQUNaLElBQU0sRUFBd0IsT0FBTyx1Q0FBdUMsSUFBSSxHQUM1RSxHQUNBLEVBQVMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLGdDQUdqRixTQUFnQixjQUNaLElBQU0sRUFBdUIsT0FBTyx5Q0FBeUMsSUFBSSxHQUM3RSxHQUNBLEVBQVEsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLE9BQU8sdUNBQXVDLFFBQVEsV0FHdEcsU0FBZ0IsdUJBQXVCLEdBQ25DLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUNFLE9BQU8sR0FBWSxJQUFJLEdBRTVDLGlCQUFpQixTQUFVLFdBQ3RDLElBQU0sRUFBZ0IsS0FBSyxNQUNyQixFQUFvQixLQUFLLEVBRS9CLE9BQU8sNEJBQTRCLEVBQVksRUFBTyxHQUV4QyxRQUFWLEdBQ0EsRUFBUSxLQUFLLGVBQWUsT0FBTyxhQUNuQyxJQUFJLHdCQUdKLEVBQVEsS0FBSyxhQUFhLE9BQU8sZUFDakMsSUFBSSx5QkFBeUIsR0FDN0IsSUFBSSx5QkFLaEIsU0FBZ0IsMEJBQTBCLEVBQW9CLEdBRTFELE9BQU8sR0FBWSxHQUFHLFNBQVUsV0FDNUIsS0FBSyx5QkFBeUIsS0FBTSxLQUk1QyxTQUFnQixpQkFDWixPQUFPLGdCQUFnQixHQUFHLFFBQVMsV0FDMUIsU0FBQSxPQUFPLGtCQUNSLGNBQWMsaUJBQWlCLHFCQUVuQyxPQUFPLGNBQWMsSUFBSSxXQUFZLFVBQ3JDLE9BQU8sa0JBQWtCLE9BQU8sVUF0R3hDLFFBQUEsY0FBQSxjQU1BLFFBQUEsbUJBQUEsbUJBWUEsUUFBQSxhQUFBLGFBaUJBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsYUFBQSxhQU1BLFFBQUEsWUFBQSxZQU1BLFFBQUEsdUJBQUEsdUJBc0JBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSxlQUFBOzs7aTBCQ3pHQSxJQUFBLE9BQUEsZ0JBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUVBLFNBQWdCLGVBQWUsRUFBbUIsUUFBQSxJQUFBLElBQUEsRUFBQSxLQUM5QyxJQUFJLE9BQUEsUUFBZ0IsU0FBVSxDQUMxQixTQUFVLENBQUUsRUFBRyxTQUFVLEVBQUcsT0FDNUIsT0FBUSxDQUFFLEVBQUcsRUFBRyxFQUFHLEtBQ25CLFFBQVMsRUFDVCxVQUFXLEVBQ1gsVUFBVyxDQUFFLEtBQU0sU0FBVSxNQUFPLFdBQ3BDLFlBQVksRUFDWixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsTUFBTyxNQUNQLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsSUFJMUIsU0FBZ0IscUJBQ1osSUFBSSxPQUFBLFFBQWlCLFVBQVcsQ0FDNUIsT0FBUSxPQUFPLG9CQUNmLE9BQVEsV0FDSixnQkFBZ0IsU0FLNUIsU0FBUyxnQkFBZ0IsR0FDckIsSUFBTSxFQUFpQixFQUFLLE9BQU8sR0FBRyxHQUNoQyxFQUFlLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUMvQyxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUM5QyxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FFcEQsRUFEa0MsVUFBVSwwQkFBMEIsR0FDL0IsY0FBYyxFQUFHLFVBQVUsRUFFeEUsRUFBSyxXQUFXLEdBdENwQixRQUFBLGVBQUEsZUFxQkEsUUFBQSxtQkFBQTs7OzRnQ0N4QkEsSUFBQSxTQUFBLFFBQUEsWUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLEtBQUEsYUFBQSxRQUFBLFdBQ0EsWUFBQSxhQUFBLFFBQUEsa0JBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsV0FDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ21CLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNwRixFQUErQixHQUVuQyxJQUFLLElBQUksS0FBTyxFQUFlLENBQzNCLElBQU0sRUFBd0IsQ0FDMUIsUUFBVyxJQUFJLEVBQWMsR0FBSyxHQUFHLEdBQ3JDLFNBQVksRUFBYyxJQUc5QixFQUR5QixPQUFPLGFBQWEsR0FBSyxTQUFTLElBQU0scUJBQ3BDLEVBR2pDLE9BQU8sRUFHWCxTQUFnQix5QkFBeUIsU0FDL0IsRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUc1QixFQUVKLFFBRnFDLEVBRk0sRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FFbkMsS0FBSyxTQUFBLEdBQ3RELE9BQU8sRUFBSSxHQUFHLEtBQU8sV0FDdkIsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBQUcsTUFBTSxLQUVsQixFQUFRLE9BQU8sRUFBVSxhQUc3QixTQUFnQixnQkFDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ00sUUFBUSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQ2xFLEVBQWlCLFNBQVMsRUFBTyxPQUFPLElBQ3hDLEVBQXNCLE1BQU0sS0FBSyxDQUFFLE9BQVEsR0FBVSxTQUFDLEdBQU0sTUFBQSxLQVdsRSxPQVZnQyxFQUFPLEtBQUssR0FBRyxJQUV2QyxRQUFRLFNBQUEsR0FDWixJQUFNLEVBQWdCLFNBQVMsRUFBUSxhQUFhLElBRzlDLEVBRG9CLGFBREMsRUFBUSxNQUFNLEdBQUcsTUFBTSxLQUNGLElBQ3BCLEdBQzVCLEVBQVUsR0FBUyxJQUdoQixFQUdYLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUEwQixFQUFXLFFBQVEsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUNsRSxFQUF1QixFQUFPLEtBQUssR0FBRyxJQUN0QyxFQUF1QyxFQUFXLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNsRixFQUFxQyxFQUFXLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FHckcsRUFBd0IsZ0JBQ3hCLFNBQVMsRUFBTyxPQUFPLElBQ3ZCLFNBQVMsRUFBTyxNQUFNLElBQ3RCLEtBSUosT0FEQSxFQUFZLG1CQUFtQixFQUFNLEVBQVcsRUFBZSxJQUM5QyxJQUFJLFNBQUEsR0FBVyxPQUFBLEVBQVEsS0FBSyxNQUdqRCxTQUFnQixlQUFlLEdBQzNCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBdUMsRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDbEYsRUFBc0MsRUFBUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRTdFLE1BQW9CLENBQ2hCLEtBQU0sT0FBTyxHQUNiLE1BQU8sa0JBQWtCLEVBQWUsSUFNaEQsU0FBZ0Isc0JBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQzVCLEVBQXFDLEVBQVcsUUFBUSxHQUFHLFdBQVcsR0FBRyxVQUFVLEdBQUcsYUFBYSxHQUV6RyxHQUF5RCxLQUFyRCxFQUFnQiw4QkFBOEIsR0FBVyxDQUN6RCxJQUFNLEVBQTJCLEVBQWdCLDhCQUE4QixHQUFHLE1BQU0sS0FDeEYsRUFBUSxPQUFPLEVBQWdCLGdCQUl2QyxTQUFnQixZQUFZLEVBQWtCLEdBQzFDLElBQUssSUFBSSxLQUFPLEVBQ1osR0FBSSxFQUFnQixHQUFLLEtBQUssR0FBRyxTQUFTLEdBQ3RDLE9BQU8sT0FBTyxhQUFhLEdBQUssU0FBUyxJQUFNLG9CQU0zRCxTQUFnQixhQUFhLEdBQ3pCLE9BQU8sRUFBVSxNQUFNLEtBQUssSUFBSSxTQUFDLEdBQVMsT0FBQSxFQUFLLFNBR25ELFNBQWdCLGdCQUFnQixFQUFtQixFQUFtQixHQUNsRSxPQUFPLE1BQU0sR0FBVyxLQUFLLE1BQU0sSUFBSSxXQUFNLE9BQUEsTUFBTSxHQUFXLEtBQUssS0FHdkUsU0FBZ0Isb0JBQ1osSUFBTSxFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQ2xDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFRLFNBQUEsR0FDbEMsSUFBTSxFQUFpQixFQUFJLEdBRXZCLEVBQVEsSUFBSSxJQUNaLEVBQVEsT0FBTyxFQUFRLGNBSW5DLFNBQWdCLFdBQVcsRUFBb0IsRUFBaUIsRUFBd0IsRUFBcUIsR0FDekcsSUFBTSxFQUE4QixPQUFRLE9BQU8sR0FFbkQsU0FBQSxPQUFPLE1BQU0sUUFBVSxFQUFpQixXQUFXLENBQy9DLE9BQVEsQ0FDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQU0sR0FFVixJQUFLLEVBQ0wsTUFBTyxFQUNQLE9BQVEsRUFDUixNQUFPLFdBQ0gsT0FBTyxZQUFZLFNBSy9CLFNBQVMsa0JBQWtCLEVBQXNDLEdBQzdELE9BQU8sRUFBYyxJQUFJLFNBQUMsRUFBSyxTQUNyQixFQUFhLEVBQUksR0FBRyxHQUkxQixNQUFPLENBSGtCLE9BQU8sYUFBYSxHQUFLLEdBQU8sb0JBR3ZDLGFBRitELFFBQWhELEVBQUEsRUFBbUIsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxJQUNyRCxLQUFLLEVBQWMsR0FBTyxVQUFVLE1BSy9FLFNBQVMsbUJBQW1CLEVBQXdCLEVBQXlCLEVBQXdDLEdBQ2pILElBQU0sRUFBeUIsRUFBa0IsMEJBQTBCLEdBQUcsTUFBTSxLQUM5RSxFQUEyQixFQUFrQiw4QkFBOEIsR0FBRyxNQUFNLEtBc0MxRixPQXBDQSxFQUFPLFFBQVEsU0FBQSxHQUNYLElBQU0sRUFBb0IsRUFDcEIsRUFBWSxTQUFTLEVBQUksYUFBYSxJQUFNLEVBQ3ZCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FFckMsUUFBUSxTQUFBLEdBQ2IsSUFJTSxFQUFvQixhQUpGLEdBY3hCLEdBQUssRUFBYSxTQUFTLEVBQVEsS0FBUSxFQUFlLFNBQVMsRUFBUSxJQUEzRSxDQUlBLElBQU0sRUFBWSxTQUFTLEVBQVEsSUFBTSxFQUNuQyxFQUErQixZQUFZLEVBQVEsR0FBSSxHQUV6RCxJQUNBLEVBQVksR0FBRyxHQUFRLEVBQVEsSUFBSSxFQUFRLEdBQUUsT0FJakQsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFRLElBQU0sT0FJdkMsRUFHWCxTQUFTLFlBQVksR0FDakIsTUFBMEIsYUFBdEIsRUFBVSxTQUNILG1CQUFtQixHQUVFLGFBQXZCLEVBQVUsU0FDUixvQkFBb0IsR0FFQSxlQUF0QixFQUFVLFNBQ1IsY0FHQSxFQUFVLFFBSXpCLFNBQVMsbUJBQW1CLEdBQ3hCLElBQU0sRUFBa0MsRUFBVSxTQUlsRCxPQUZBLFFBQUEsUUFBTSxXQUFXLEdBRWIsTUFBTSw0QkFBNEIsR0FDM0IsYUFFWCxNQUFNLGVBQWUsR0FDckIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBR1gsU0FBUyxvQkFBb0IsR0FDekIsSUFBTSxFQUFrQyxFQUFVLFNBS2xELE9BSkEsTUFBTSxvQkFBb0IsR0FDMUIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBaE9YLFFBQUEsU0FBQSxTQWlCQSxRQUFBLHlCQUFBLHlCQVlBLFFBQUEsY0FBQSxjQWtCQSxRQUFBLFlBQUEsWUFrQkEsUUFBQSxlQUFBLGVBY0EsUUFBQSxvQkFBQSxvQkFXQSxRQUFBLFlBQUEsWUFTQSxRQUFBLGFBQUEsYUFJQSxRQUFBLGdCQUFBLGdCQUlBLFFBQUEsa0JBQUEsa0JBVUEsUUFBQSxXQUFBOzs7YUM1SEEsU0FBZ0Isd0JBQXdCLEdBQ3BDLE9BQU8sNEJBQTRCLEtBQUssV0FDcEMsSUFBSSxFQUFvQyxPQUFPLFNBQVMsY0FBYyxXQUNqRSxhQUNHLE9BQU8sTUFBTSxRQUdyQixFQUFPLEtBQUssQ0FBRSxHQUFJLElBQ2xCLHdCQUF3QixHQUN4QixvQkFBb0IsS0FBTSxLQUlsQyxTQUFTLG9CQUFvQixFQUFzQixHQUMvQyxPQUFPLE1BQU8sR0FBUyxLQUFLLFdBQ3hCLElBQU0sRUFBb0IsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FDMUQsRUFBYyxFQUFVLFVBQVUsR0FDbEMsRUFBNkIsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFJLFVBRWhFLG1CQUFtQixFQUFVLEVBQVcsRUFBSyxLQUlyRCxTQUFTLG1CQUFtQixFQUFxQyxFQUFtQixFQUFhLEdBQzdGLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLEVBQUssTUFBUyxJQUFhLEtBQUssR0FDdkQsRUFBUyxPQUFPLEdBR3BCLFNBQVMsd0JBQXdCLEdBQzdCLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLFFBQVMsS0FBSyx3QkFDckMsRUFBTyxJQUFJLFFBQVMsV0FDcEIsRUFBUyxPQUFPLEdBR3BCLFNBQWdCLDRCQUE0QixFQUFvQixFQUFpQixHQUM3RSxJQUFJLEVBQWtCLFVBQ2xCLEVBQWdCLFVBRUosUUFBWixJQUNBLEVBQVEsUUFDUixFQUFVLE9BQU8sR0FBYSxJQUFJLHFCQUd0QyxPQUFPLEdBQVksSUFBSSxRQUFTLEdBQ2hDLE9BQU8sR0FBWSxJQUFJLG1CQUFvQixHQUMzQyxPQUFVLEVBQVUsd0JBQXdCLElBQUksUUFBUyxxSUEvQzdELFFBQUEsd0JBQUEsd0JBb0NBLFFBQUEsNEJBQUE7Ozs0TkNwQ0EsSUFBQSxVQUFBLGdCQUFBLFFBQUEscUJBRUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsV0FBVyxFQUFvQixFQUE2QyxFQUE4QyxRQUEzRixJQUFBLElBQUEsT0FBQSxRQUE2QyxJQUFBLElBQUEsT0FBQSxRQUE4QyxJQUFBLElBQUEsT0FBQSxHQUN0SSxJQUFNLEVBQXlCLE9BQU8sR0FBWSxJQUFJLEdBRXRELEdBQUksRUFBVyxDQUNYLElBQU0sRUFBeUIsVUFBQSxRQUFRLEVBQVcsQ0FDOUMsU0FBVSxFQUNWLFNBQVMsRUFDVCxTQUFVLFNBQ1YsV0FBWSxTQUloQixPQURBLGlCQUFpQixFQUFhLEVBQWMsRUFBZ0IsRUFBVSxjQUFnQixHQUMvRSxHQU1mLFNBQVMsaUJBQWlCLEVBQWlDLEVBQWtDLEVBQW9DLEVBQThCLEdBQ3RJLENBQ2pCLENBQUUsU0FBVSxFQUFhLGdCQUFpQixFQUFRLE9BQVEsS0FBTSxTQUNoRSxDQUFFLFNBQVUsRUFBYyxnQkFBaUIsRUFBUSxRQUFTLEtBQU0sU0FDbEUsQ0FBRSxTQUFVLEVBQWdCLGdCQUFpQixFQUFRLE1BQU8sS0FBTSxTQUNsRSxDQUFFLFlBQWEsRUFBaUIsZ0JBQWlCLEVBQVEsY0FBZSxLQUFNLFVBR3JFLElBQUksU0FBQSxHQUNiLEdBQUksRUFBTSxTQUFVLENBQ2hCLElBQU0sRUFBK0IsT0FBTyxFQUFNLFVBQVUsSUFBSSxHQUM1RCxHQUNBLEVBQUksaUJBQWlCLEVBQU0sS0FBTSxFQUFNLHNCQUV0QyxFQUFNLGFBQ1EsVUFBZixFQUFNLE1BQ04sRUFBTSxZQUFZLGlCQUFpQixFQUFNLEtBQU0sRUFBTSxtQkFLckUsU0FBZ0Isb0JBQW9CLFNBRVQsUUFBdkIsRUFEK0IsT0FBTyxHQUFZLElBQUksR0FDNUMscUJBQWEsSUFBQSxHQUFBLEVBQUUsb0JBQW9CLFFBQVMsU0FBQSxPQUFPLE1BQU0sUUFBUyxlQXpDaEYsUUFBQSxXQUFBLFdBdUNBLFFBQUEsb0JBQUE7OzswakJDMUNBLElBQUEsU0FBQSxRQUFBLFlBQ0ksT0FBUyxRQUFRLFVBQ3JCLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLG1CQUNaLElBQUksRUFBb0IsR0FLeEIsT0FKQSxPQUFPLGVBQWUsS0FBSyxXQUN2QixFQUFRLEtBQUssT0FBTyxNQUFNLFVBR3ZCLEVBQVEsS0FBSyxNQUd4QixTQUFnQixVQUFVLEdBQ3RCLElBQU0sRUFBcUIsT0FBTyxVQUFVLEdBQ3hDLEVBQW1CLEdBVXZCLE9BUkEsT0FBTyxHQUFZLEtBQUssU0FBUyxLQUFLLFdBQ2xDLElBQU0sRUFBZSxLQUFLLEtBQ3BCLEVBQWdCLEtBQUssTUFFYixLQUFWLElBQ0EsRUFBTyxHQUFRLEtBR2hCLEVBSVgsU0FBZ0IsbUJBQ1osR0FBSSxPQUFPLG1CQUFtQixPQUFRLENBQ2xDLElBQU0sRUFBK0IsT0FBTyxtQkFBbUIsR0FBRyxZQUVsRSxHQUFJLE1BQUEsT0FBYSxFQUFiLEVBQWUsT0FBTyxPQUV0QixNQUF5QixDQUNyQixjQUFpQixFQUNqQixxQkFIaUMsbUJBQW1CLEtBV3BFLFNBQWdCLG9CQUFvQixHQUNoQyxJQUFNLEVBQVEsRUFBVSxNQUFNLGlCQUFrQixHQUMxQyxFQUFXLEVBQVUsTUFBTSxvQkFBcUIsR0FDaEQsRUFBYSxFQUFVLE1BQU0sbUJBQW9CLEdBQ2pELEVBQW9CLG1CQUFtQixHQUN2QyxFQUFVLG1CQUFzQixFQUFVLFVBQVUsRUFBSyxhQUFhLEVBQVEsNkVBQzlFLEVBQWdCLG1CQUNoQixFQUF1QixFQUFrQixNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssTUFBTSxHQUFHLEdBQUcsS0FBSyxLQUFJLGtCQUU3RixNQUFrQixDQUNkLE1BQVMsRUFDVCxTQUFZLEVBQ1osV0FBYyxFQUNkLGtCQUFxQixFQUNyQixRQUFXLEVBQ1gsY0FBaUIsRUFDakIsa0JBQXFCLEdBSTdCLFNBQWdCLGdCQUNaLElBQU0sRUFBd0IsT0FBTyx5QkFBeUIsSUFBSSxHQUVsRSxHQUFJLEVBQ0EsTUFBc0IsQ0FDbEIsY0FBZSxFQUFJLElBQ25CLGlCQUFrQixFQUFJLE9BQ3RCLGdCQUFpQixFQUFJLE9BT2pDLFNBQWdCLFVBQ1osR0FBSyxPQUFPLG9CQUFvQixPQUFoQyxDQUdBLElBRU0sRUFGYyxPQUFPLHNCQUFzQixLQUFLLFdBRVgsTUFEaEMsNEJBR1gsT0FBTyxFQUFRLEVBQU0sUUFBSyxHQUc5QixTQUFnQixlQUNaLElBQU0sRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBMkIsRUFBUyxjQUFjLEdBQUcsa0JBQWtCLEdBQUcsUUFDMUUsRUFBb0IsRUFBUyxNQUFNLEdBQ25DLEVBQWlCLEVBQVMsTUFBTSxHQUNoQyxFQUE4QixFQUFTLGFBQWEsR0FDcEQsRUFBZ0IsSUFBSSxLQUFLLFNBQVMsRUFBTSxLQUFLLElBQUssU0FBUyxFQUFNLE1BQU0sSUFBTSxFQUFHLFNBQVMsRUFBTSxJQUFJLElBQUssU0FBUyxFQUFNLEtBQUssSUFBSyxTQUFTLEVBQU0sT0FBTyxLQUN2SixFQUFrQixDQUFDLEVBQVEsZUFBZSxDQUFDLFNBQVUsQ0FBRSxRQUFTLE9BQVEsSUFBSyxVQUFXLE1BQU8sVUFBVyxLQUFNLFVBQVcsS0FBTSxVQUFXLE9BQVEsVUFBVyxhQUFjLFdBQzdLLEVBQW9CLENBQUMsUUFBQSxRQUFNLFdBQVcsRUFBUyxVQUMvQyxFQUFrQixFQUFXLElBQUksU0FBQSxHQUFRLE9BQUEsU0FBUyxFQUFLLFVBQVUsTUFBSyxPQUFPLFNBQUMsRUFBTSxHQUFTLE9BQUEsRUFBTyxJQUVwRyxFQUE2QixDQUMvQixzQkFBdUIsRUFBYSxTQUNwQyxrQkFBbUIsRUFBYSxLQUNoQyxrQkFBbUIsRUFBYSxLQUNoQyxnQkFBaUIsRUFBYSxHQUM5Qix1QkFBd0IsRUFBYSxVQUNyQyw4QkFBK0IsRUFBYSxpQkFDNUMsNkJBQThCLEVBQWEsZ0JBQzNDLE1BQU8sRUFDUCxRQUFTLEVBQ1QsZ0JBQWlCLEdBR3JCLE9BQU8sU0FBQSxTQUFBLEdBQWtCLEdBQWEsR0E5RzFDLFFBQUEsaUJBQUEsaUJBU0EsUUFBQSxVQUFBLFVBZ0JBLFFBQUEsaUJBQUEsaUJBZ0JBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsY0FBQSxjQWNBLFFBQUEsUUFBQSxRQVdBLFFBQUEsYUFBQTs7OzAvQkMzRkEsSUFBQSxTQUFBLFFBQUEsWUFFQSxVQUFBLGFBQUEsUUFBQSxnQkFDQSxXQUFBLGFBQUEsUUFBQSxpQkFFQSxTQUFnQixlQUFlLEdBQzNCLGtCQUFrQixHQUNsQixJQUFNLEVBQXVCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixFQUFlLElBQUksS0FBSyxTQUFTLEdBQUcsR0FDekYsRUFBMkMsVUFBVSw2Q0FBNkMsR0FFeEcsR0FBSSxFQUFlLENBQ2YsSUFBTSxFQUEyQixFQUFjLFdBQVcsR0FBRyxHQUFHLEdBQzFELEVBQW9DLFVBQVUsOEJBQThCLEdBRWxGLG9CQURxRCxDQUFDLEVBQWUsR0FBSSxFQUFrQixTQUkzRixRQUFRLEtBQUssMkVBQTJFLEdBR2hHLFNBQWdCLG9CQUFvQixVQUN6QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsRUFBZSxJQUVwRCxJQUFNLEVBQWdCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUFVLFNBQUEsR0FBTyxPQUFBLEVBQUksS0FBTyxFQUFlLEtBQy9GLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFPLEVBQU8sR0FFNUMsU0FBQSxPQUFPLE1BQU0sYUFBYyxFQUV0QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFDL0IsT0FBTyxzQkFBc0IsT0FHckMsU0FBZ0IsNEJBQTRCLEdBQ3hDLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUVsQyxPQUFJLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFVLFNBQUEsT0FBTyxtQkFDL0MsV0FBVyxlQUFlLHNCQUFzQixTQUFBLE9BQU8saUJBQWdCLHNCQUN2RSxFQUFRLE9BQU8sRUFBVSxHQUFJLGNBQ3RCLEdBTWYsU0FBUyxvQkFBb0IsR0FDckIsRUFBTyxNQUFNLFNBQUEsR0FBSyxPQUEwQixPQUExQixNQUNsQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FBZSxHQUM3QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEdBSW5DLFNBQVMsa0JBQWtCLFNBRWpCLElBQU8sRUFBQSxJQURVLEVBQWUsSUFFeEIsS0FHZCxTQUFBLE9BQU8sTUFBTSxpQkFBZ0IsU0FBQSxTQUFBLEdBQVEsU0FBQSxPQUFPLE1BQU0sa0JBQXFCLEdBcEQzRSxRQUFBLGVBQUEsZUFlQSxRQUFBLG9CQUFBLG9CQVlBLFFBQUEsNEJBQUE7Ozs0RkNoQ0EsSUFBQSxTQUFBLFFBQUEsWUFHQSxTQUFnQixXQUNZLFNBQUEsT0FBTyxNQUFNLFdBQ0EsUUFBUSxHQUFHLE1BQU0sR0FBRyxLQUVqRCxRQUFRLFNBQUEsR0FDTixJQUFBLEVBQWlCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FBSyxJQUFJLFFBQTVDLEVBQUssRUFBQSxHQUFFLEVBQUssRUFBQSxHQUtuQixXQUowQixFQUFJLEtBQUssR0FBRyxNQUFNLEtBQUssT0FBTyxTQUN0QyxFQUFRLEdBQ1IsS0FBSyxNQUFNLEVBQVEsVUFNN0MsU0FBUyxXQUFXLEVBQW1CLEVBQVcsR0FDOUMsSUFBTSxFQUFtQyxJQUFJLElBQUksQ0FDN0MsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLE9BR2QsRUFBUSxJQUFJLFNBQUMsRUFBUyxHQUNsQixJQUFNLEVBQWdDLEVBQVksSUFBSSxHQUFXLEVBQVksSUFBSSxHQUFXLGlCQUFpQixHQUV6RyxHQUVBLFVBQVUsRUFEaUIsY0FBYyxFQUFHLEVBQUcsTUFNM0QsU0FBUyxpQkFBaUIsR0FDdEIsSUFBTSxFQUFtQixFQUFRLFFBQVEsUUFBUyxLQUNsRCxPQUFPLE9BQU8sYUFBYSxTQUFTLEVBQVUsS0FHbEQsU0FBUyxVQUFVLEVBQXFCLEdBQ2QsdUJBRVgsS0FBSyxLQUNaLE9BQU8sbUJBQW1CLEVBQVUsTUFBTSxTQUFTLEVBQVUsTUFBTSxVQUFZLDBCQUEwQixFQUFXLFdBRzVILFNBQVMsY0FBYyxFQUFhLEVBQWEsR0FDN0MsTUFBbUIsQ0FDZixFQUFHLEVBQ0gsRUFBRyxFQUNILEtBQU8sRUFBTSxFQUFLLEVBQ2xCLEtBQU0sRUFBTSxHQXBEcEIsUUFBQSxTQUFBOzs7d2dDQ0ZBLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBQ0EsU0FBQSxRQUFBLFlBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxRQUFBLGFBQUEsUUFBQSxjQUNBLFlBQUEsYUFBQSxRQUFBLGtCQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLGdCQUFnQixFQUErQixHQUMzRCxJQUFNLEVBQXNDLFNBQVMsZUFBZSxHQUVwRSxHQUFJLEVBQ0EsSUFBdUIsSUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQWtCLENBQXBDLElBQUksRUFBVSxFQUFBLEdBQ1gsRUFBeUIsU0FBUyxjQUFjLFVBQ3BELEVBQUksTUFBUSxFQUFXLEdBQUcsR0FDMUIsRUFBSSxVQUFZLEVBQVcsS0FBSyxHQUNoQyxFQUFnQixZQUFZLElBS3hDLFNBQWdCLGFBQWEsR0FDekIsSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFFckMsT0FBTyx1Q0FBdUMsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFZLEtBQUssR0FDOUYsT0FBTyxvQkFBb0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFZLE1BQU0sR0FDNUUsT0FBTyx3QkFBd0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFnQixjQUM5RSxPQUFPLHdCQUF3QixHQUFHLFdBQVcsR0FBRyxZQUFjLHNCQUFzQixFQUFZLGdCQUFlLFFBQVEsRUFBWSxzQkFBc0IsR0FHN0osU0FBZ0IsZUFDWixJQUNNLEVBQWMsUUFBQSxRQUFNLGVBQWUsV0FFekMsT0FBTyxrQkFBa0IsT0FDckIsT0FKdUIsOEhBS2xCLEtBQUssTUFBTyxJQUNoQixPQUFPLENBQ0osT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2YsV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU8sR0FDUCxNQUFPLE9BQ1AsT0FBUSxPQUNSLE1BQU8sV0FBTSxPQUFBLE9BQU8sY0FBYyxJQUFJLFdBQVksV0FHMUQsT0FBTyxpQkFHWCxTQUFnQixzQkFBc0IsR0FDOUIsU0FBQSxPQUFPLE1BQU0sU0FDYixRQUFRLG9CQUFvQixHQUVoQyxPQUFPLDBCQUEwQixTQUNqQyxPQUFPLDhCQUE4QixXQUFXLFNBQ2hELE9BQU8sOEJBQThCLE9BQU8sMENBQzVDLE9BQU8sbUJBQW1CLFNBQzFCLE9BQU8sdUJBQXVCLE9BQU8sbUNBR3pDLFNBQWdCLGtCQUFrQixHQUNiLFNBQWIsRUFDQSxPQUFPLFFBQVEsWUFBWSw0QkFDVCxTQUFiLEdBQ0wsT0FBTyxRQUFRLFNBQVMsNEJBR2hDLFNBQWdCLG1CQUNaLElBQU0sRUFBcUMsU0FBQSxPQUFPLE1BQU0scUJBRWxCLElBQWxDLEVBQWdCLGVBQ2hCLE9BQU8sbUJBQW1CLEtBQUssTUFBTyxFQUFnQixlQUc5RCxTQUFnQixrQkFDWixPQUFPLHNCQUFzQixPQUFPLEtBQ3BDLGNBQWMsa0JBQWtCLDhCQUdwQyxTQUFnQix3QkFJWixPQUg2QixTQUFBLE9BQU8sTUFBTSxXQUNZLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbkQsSUFBSSxTQUFBLEdBRzNCLE1BQU8sS0FGWSxFQUFJLEdBQUcsR0FFWix5QkFETSxJQUFJLEVBQUksTUFBTSxHQUFFLGVBQ08sUUFDNUMsS0FBSyxRQUdaLFNBQWdCLG9CQUNaLFlBQVksdUJBQXVCLFFBQ25DLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsYUFHcEQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsR0FBRyxVQUFZLFNBQUEsT0FBTyxRQUNuRCxPQUFPLHFCQUFxQixHQUFHLFVBQVksSUFBSSxTQUFBLE9BQU8sT0FBTSxJQS9GaEUsUUFBQSxnQkFBQSxnQkFhQSxRQUFBLGFBQUEsYUFTQSxRQUFBLGFBQUEsYUF3QkEsUUFBQSxzQkFBQSxzQkFXQSxRQUFBLGtCQUFBLGtCQU9BLFFBQUEsaUJBQUEsaUJBT0EsUUFBQSxnQkFBQSxnQkFLQSxRQUFBLHNCQUFBLHNCQVdBLFFBQUEsa0JBQUEsa0JBTUEsUUFBQSxjQUFBOzs7b0VDcEdBLElBQUEsU0FBQSxRQUFBLFlBRUEsTUFBQSxXQUFBLFNBQUEsS0F3R0EsT0F0R1csRUFBQSxlQUFQLFNBQXNCLEVBQXVDLEVBQXNCLEVBQW1ELEVBQW9DLFFBQXZGLElBQUEsSUFBQSxFQUFBLGlCQUFtRCxJQUFBLElBQUEsRUFBQSxVQUFvQyxJQUFBLElBQUEsRUFBQSxLQUN0SyxJQUFNLEVBQXdCLEtBQUssT0FFbkMsU0FBVSxLQUM4QyxhQUFiLEVBQTBCLE9BQWUsR0FBWSxJQUFJLEdBQUssRUFBTSxzQkFHdkcsRUFBTSxXQUFXLFNBQ2pCLE1BR0EsRUFBTSxXQUFXLGlCQUFpQixHQUNsQyxXQUFXLFdBQ0gsR0FBaUIsS0FBSyxNQUFRLEVBQWdCLEdBR2xELEtBQ0QsSUFkWCxJQW1CRyxFQUFBLGtCQUFQLFdBQ0ksSUFBTSxFQUFxQyxPQUFRLE9BQU8scUJBQXFCLFdBQy9FLE9BQU8sRUFBTSxXQUFXLElBR3JCLEVBQUEsZUFBUCxTQUFzQixHQUNsQixJQUFNLEVBQXFDLE9BQVEsT0FBTyxxQkFBcUIsV0FDL0UsS0FBSyxlQUFlLEVBQVksRUFBWSxZQUd6QyxFQUFBLGNBQVAsU0FBcUIsR0FDakIsT0FBd0MsTUFBcEMsU0FBUyxjQUFjLElBTXhCLEVBQUEsV0FBUCxTQUFrQixHQUNkLE1BQTZCLG1CQUFmLEdBR1gsRUFBQSxPQUFQLFNBQWMsRUFBbUIsRUFBdUIsR0FDcEQsSUFBSSxFQUVKLFlBSDZCLElBQUEsSUFBQSxFQUFBLFdBQXVCLElBQUEsSUFBQSxFQUFBLFFBRzVDLEdBQ0osSUFBSyxNQUNELEVBQVMsU0FBUyxjQUFjLFdBQ3pCLEtBQU8sa0JBQ2QsRUFBTyxJQUFNLEVBQ2IsTUFFSixJQUFLLE9BQ0QsRUFBUyxTQUFTLGNBQWMsU0FDekIsS0FBTyxXQUNJLEVBQVEsSUFBTSxhQUNkLEVBQVEsS0FBTyxFQUNqQyxNQUVKLElBQUssYUFDRCxFQUFTLFNBQVMsY0FBYyxVQUN6QixLQUFPLFdBQ2QsRUFBTyxVQUFZLEVBQ25CLE1BRUosSUFBSyxVQUNELEVBQVMsU0FBUyxjQUFjLFdBQ3pCLEtBQU8sa0JBQ2QsRUFBTyxVQUFZLEVBQ25CLE1BRUosUUFDSSxPQUFTLEVBSWIsR0FDQSxFQUFNLGFBQWEsRUFBUSxJQUc1QixFQUFBLGFBQVAsU0FBb0IsRUFBOEIsR0FDaEMsU0FBVixFQUNBLFNBQVMsS0FBSyxZQUFZLEdBQ1gsU0FBVixHQUNMLFNBQVMsS0FBSyxZQUFZLElBRzNCLEVBQUEsV0FBUCxTQUFrQixFQUFjLEdBQzVCLE9BQU8sRUFBTyxtQkFBbUIsRUFBVSxDQUFFLFFBQVMsVUFHbkQsRUFBQSxXQUFQLFNBQWtCLEdBRVYsUUFBUSxJQUFJLElBR2IsRUFBQSxlQUFQLFNBQXNCLEdBQ2xCLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BRTFDLE9BRGtCLFNBQUEsT0FBTyxVQUFVLEdBQ2xCLElBRXpCLEVBeEdBOzs7bVhDREEsSUFBQSxTQUFBLFFBQUEsWUFFQSxTQUFnQixjQUNaLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBRWhDLEVBQWdCLE9BR0ssRUFBZ0IsS0FBSyxNQUFNLElBQUksSUFBSSxRQUVoRCxJQUNULE9BQU8sc0JBQXNCLFFBR3JDLFNBQWdCLDBCQUEwQixTQUl0QyxPQUF3RCxRQUFqRCxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNELGNBQWMsR0FBRyxlQUFlLEdBQUcsUUFFMUQsS0FBSyxTQUFBLEdBQU8sT0FBQSxJQUFnQixFQUFJLEdBQUcsWUFBRyxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssR0FHbkUsU0FBZ0IseUNBQXlDLEVBQXFDLFNBSTFGLE9BQXFGLFFBQTlFLEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ1csTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVuRCxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLEVBQWlCLE9BQU0sV0FBVSxJQUFBLE9BQUEsRUFBQSxFQUFHLEdBQVksR0FHeEcsU0FBZ0IsOEJBQThCLFNBSTFDLE9BQWlFLFFBQTFELEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ1MsTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVsRCxLQUFLLFNBQUEsR0FBTyxPQUFBLElBQWtCLEVBQUksR0FBRyxZQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQUc1RSxTQUFnQixzQkFBc0IsRUFBdUIsU0FDbkQsRUFBNEUsUUFBcEUsRUFBQSxNQUFBLE9BQWUsRUFBZixFQUFpQixXQUFXLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sV0FBYyxJQUFBLE9BQUEsRUFBQSxFQUFFLE1BQU0sR0FDMUYsT0FBTyxFQUFRLFdBQVcsUUFBUyxFQUd2QyxTQUFnQiw2Q0FBNkMsR0FHekQsT0FGNkIsU0FBQSxPQUFPLE1BQU0sV0FDVyxnQkFBZ0IsR0FBRyxXQUM5QyxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLElBR3hELFNBQWdCLDRCQUE0QixHQUN4QyxJQUFNLEVBQTRDLGdDQUFnQyxHQUNsRixPQUFPLEVBQWdCLEVBQWMsSUFBSSxTQUFBLEdBQU8sTUFBQSxDQUFDLEVBQUksR0FBRyxHQUFJLEVBQUksTUFBTSxHQUFJLGlCQUFpQixXQUFTLEVBR3hHLFNBQWdCLDhCQUNaLE9BQVEsU0FBQSxPQUFPLE1BQU0saUJBQWlCLElBQUksU0FBQSxHQUFPLE9BQUEsRUFBSSxLQUFLLE9BQU8sS0FBSyxLQUcxRSxTQUFTLGdDQUFnQyxTQUlyQyxPQUFtRSxRQUE1RCxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNXLGdCQUFnQixHQUFHLFdBRTlDLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sV0FBZSxJQUFBLE9BQUEsRUFBQSxFQUFFLFdBR3pFLFNBQVMsaUJBQWlCLFNBSXRCLE9BQW9GLFFBQTdFLEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ0ksTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVsRCxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLEVBQU0sR0FBRyxHQUFLLEVBQUksS0FBSyxRQUFLLFdBQVUsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBaEUvRixRQUFBLFlBQUEsWUFZQSxRQUFBLDBCQUFBLDBCQU9BLFFBQUEseUNBQUEseUNBT0EsUUFBQSw4QkFBQSw4QkFPQSxRQUFBLHNCQUFBLHNCQUtBLFFBQUEsNkNBQUEsNkNBTUEsUUFBQSw0QkFBQSw0QkFLQSxRQUFBLDRCQUFBOzs7d3dCQ3JEQSxJQUFBLE9BQUEsUUFBQSxVQUNBLGNBQUEsYUFBQSxRQUFBLDRCQUVBLFNBQUEsUUFBQSxvQkFDQSxRQUFBLGdCQUFBLFFBQUEsb0JBQ0EsT0FBQSxhQUFBLFFBQUEscUJBQ0EsS0FBQSxhQUFBLFFBQUEsbUJBQ0EsV0FBQSxhQUFBLFFBQUEsNEJBQ0EsTUFBQSxhQUFBLFFBQUEsb0JBQ0EsR0FBQSxhQUFBLFFBQUEsaUJBMENBLFNBQVMsZUFBZSxHQUNwQixHQUEwQixpQkFBZCxFQUFRLEtBQXBCLENBR0EsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUt2QyxPQUhBLFFBQUEsUUFBTSxXQUFXLHdCQUF3QixFQUFLLE1BQzlDLFFBQUEsUUFBTSxXQUFXLEdBRVQsRUFBSyxPQUNULElBQUssb0JBQ0QsTUFBTSxZQUNOLE1BRUosSUFBSywyQkFDRCxNQUFNLGlCQUFpQixHQUN2QixNQUVKLElBQUssa0NBQ0QsTUFBTSx3QkFBd0IsR0FDOUIsTUFFSixJQUFLLHdCQUNELE1BQU0sZUFBZSxHQUNyQixNQUVKLElBQUssOEJBQ0QsTUFBTSxxQkFBcUIsS0FwRXZDLFFBQVEsMEJBRVIsT0FBTyxpQkFBaUIsT0FBUSxXQUc1QixNQUFNLGtCQUdOLGNBQWMsaUJBQWlCLGdCQUcvQixRQUFBLFFBQU0sZUFBZSxXQUFXLHNCQUdoQyxRQUFBLFFBQU0sZUFBZSxxQkFBc0IsS0FBSyxlQUdoRCxPQUFPLGdCQUNQLE9BQU8sZUFDUCxPQUFPLHFCQUdQLEdBQUcsa0JBS1AsT0FBTyxTQUFXLFdBQ2QsSUFBTSxFQUFVLFNBQUEsT0FBTyxNQUFNLFFBQ3ZCLEVBQWMsT0FBTyxZQUV2QixFQUFjLEtBQ2QsT0FBTywwQkFBMEIsT0FDakMsTUFBQSxHQUFBLEVBQVMsU0FFSixHQUFlLE1BQ3BCLE9BQU8sMEJBQTBCLE9BQ2pDLE1BQUEsR0FBQSxFQUFTIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiIWZ1bmN0aW9uKHQsZSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczp0fHxzZWxmKS5QYW56b29tPWUoKX0odGhpcyxmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0PWZ1bmN0aW9uKCl7cmV0dXJuKHQ9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49MSxvPWFyZ3VtZW50cy5sZW5ndGg7bjxvO24rKylmb3IodmFyIHIgaW4gZT1hcmd1bWVudHNbbl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikmJih0W3JdPWVbcl0pO3JldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBlKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYodFtuXS5wb2ludGVySWQ9PT1lLnBvaW50ZXJJZClyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiBuKHQsbyl7dmFyIHI7aWYoby50b3VjaGVzKXtyPTA7Zm9yKHZhciBhPTAsaT1vLnRvdWNoZXM7YTxpLmxlbmd0aDthKyspe3ZhciBjPWlbYV07Yy5wb2ludGVySWQ9cisrLG4odCxjKX19ZWxzZShyPWUodCxvKSk+LTEmJnQuc3BsaWNlKHIsMSksdC5wdXNoKG8pfWZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlLG49KHQ9dC5zbGljZSgwKSkucG9wKCk7ZT10LnBvcCgpOyluPXtjbGllbnRYOihlLmNsaWVudFgtbi5jbGllbnRYKS8yK24uY2xpZW50WCxjbGllbnRZOihlLmNsaWVudFktbi5jbGllbnRZKS8yK24uY2xpZW50WX07cmV0dXJuIG59ZnVuY3Rpb24gcih0KXtpZih0Lmxlbmd0aDwyKXJldHVybiAwO3ZhciBlPXRbMF0sbj10WzFdO3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3coTWF0aC5hYnMobi5jbGllbnRYLWUuY2xpZW50WCksMikrTWF0aC5wb3coTWF0aC5hYnMobi5jbGllbnRZLWUuY2xpZW50WSksMikpfVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuTm9kZUxpc3QmJiFOb2RlTGlzdC5wcm90b3R5cGUuZm9yRWFjaCYmKE5vZGVMaXN0LnByb3RvdHlwZS5mb3JFYWNoPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoKSxcImZ1bmN0aW9uXCIhPXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQmJih3aW5kb3cuQ3VzdG9tRXZlbnQ9ZnVuY3Rpb24odCxlKXtlPWV8fHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOm51bGx9O3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiQ3VzdG9tRXZlbnRcIik7cmV0dXJuIG4uaW5pdEN1c3RvbUV2ZW50KHQsZS5idWJibGVzLGUuY2FuY2VsYWJsZSxlLmRldGFpbCksbn0pKTt2YXIgYT17ZG93bjpcIm1vdXNlZG93blwiLG1vdmU6XCJtb3VzZW1vdmVcIix1cDpcIm1vdXNldXAgbW91c2VsZWF2ZVwifTtmdW5jdGlvbiBpKHQsZSxuLG8pe2FbdF0uc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5hZGRFdmVudExpc3RlbmVyKHQsbixvKX0pfWZ1bmN0aW9uIGModCxlLG4pe2FbdF0uc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9KX1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiYoXCJmdW5jdGlvblwiPT10eXBlb2Ygd2luZG93LlBvaW50ZXJFdmVudD9hPXtkb3duOlwicG9pbnRlcmRvd25cIixtb3ZlOlwicG9pbnRlcm1vdmVcIix1cDpcInBvaW50ZXJ1cCBwb2ludGVybGVhdmUgcG9pbnRlcmNhbmNlbFwifTpcImZ1bmN0aW9uXCI9PXR5cGVvZiB3aW5kb3cuVG91Y2hFdmVudCYmKGE9e2Rvd246XCJ0b3VjaHN0YXJ0XCIsbW92ZTpcInRvdWNobW92ZVwiLHVwOlwidG91Y2hlbmQgdG91Y2hjYW5jZWxcIn0pKTt2YXIgbCxwPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCYmISFkb2N1bWVudC5kb2N1bWVudE1vZGU7ZnVuY3Rpb24gdSgpe3JldHVybiBsfHwobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlKX12YXIgZD1bXCJ3ZWJraXRcIixcIm1velwiLFwibXNcIl0scz17fTtmdW5jdGlvbiBmKHQpe2lmKHNbdF0pcmV0dXJuIHNbdF07dmFyIGU9dSgpO2lmKHQgaW4gZSlyZXR1cm4gc1t0XT10O2Zvcih2YXIgbj10WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKSxvPWQubGVuZ3RoO28tLTspe3ZhciByPVwiXCIrZFtvXStuO2lmKHIgaW4gZSlyZXR1cm4gc1t0XT1yfX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIHBhcnNlRmxvYXQoZVtmKHQpXSl8fDB9ZnVuY3Rpb24gaCh0LGUsbil7dm9pZCAwPT09biYmKG49d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkpO3ZhciBvPVwiYm9yZGVyXCI9PT1lP1wiV2lkdGhcIjpcIlwiO3JldHVybntsZWZ0Om0oZStcIkxlZnRcIitvLG4pLHJpZ2h0Om0oZStcIlJpZ2h0XCIrbyxuKSx0b3A6bShlK1wiVG9wXCIrbyxuKSxib3R0b206bShlK1wiQm90dG9tXCIrbyxuKX19ZnVuY3Rpb24gdih0LGUsbil7dC5zdHlsZVtmKGUpXT1ufWZ1bmN0aW9uIGcodCl7dmFyIGU9dC5wYXJlbnROb2RlLG49d2luZG93LmdldENvbXB1dGVkU3R5bGUodCksbz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKSxyPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybntlbGVtOntzdHlsZTpuLHdpZHRoOnIud2lkdGgsaGVpZ2h0OnIuaGVpZ2h0LHRvcDpyLnRvcCxib3R0b206ci5ib3R0b20sbGVmdDpyLmxlZnQscmlnaHQ6ci5yaWdodCxtYXJnaW46aCh0LFwibWFyZ2luXCIsbiksYm9yZGVyOmgodCxcImJvcmRlclwiLG4pfSxwYXJlbnQ6e3N0eWxlOm8sd2lkdGg6YS53aWR0aCxoZWlnaHQ6YS5oZWlnaHQsdG9wOmEudG9wLGJvdHRvbTphLmJvdHRvbSxsZWZ0OmEubGVmdCxyaWdodDphLnJpZ2h0LHBhZGRpbmc6aChlLFwicGFkZGluZ1wiLG8pLGJvcmRlcjpoKGUsXCJib3JkZXJcIixvKX19fWZ1bmN0aW9uIHkodCxlKXtyZXR1cm4gMT09PXQubm9kZVR5cGUmJihcIiBcIitmdW5jdGlvbih0KXtyZXR1cm4odC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIikudHJpbSgpfSh0KStcIiBcIikuaW5kZXhPZihcIiBcIitlK1wiIFwiKT4tMX12YXIgdz0vXmh0dHA6W1xcd1xcLlxcL10rc3ZnJC87dmFyIGI9e2FuaW1hdGU6ITEsY2FudmFzOiExLGN1cnNvcjpcIm1vdmVcIixkaXNhYmxlUGFuOiExLGRpc2FibGVab29tOiExLGRpc2FibGVYQXhpczohMSxkaXNhYmxlWUF4aXM6ITEsZHVyYXRpb246MjAwLGVhc2luZzpcImVhc2UtaW4tb3V0XCIsZXhjbHVkZTpbXSxleGNsdWRlQ2xhc3M6XCJwYW56b29tLWV4Y2x1ZGVcIixoYW5kbGVTdGFydEV2ZW50OmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpfSxtYXhTY2FsZTo0LG1pblNjYWxlOi4xMjUsb3ZlcmZsb3c6XCJoaWRkZW5cIixwYW5Pbmx5V2hlblpvb21lZDohMSxyZWxhdGl2ZTohMSxzZXRUcmFuc2Zvcm06ZnVuY3Rpb24odCxlLG4pe3ZhciBvPWUueCxyPWUueSxhPWUuc2NhbGUsaT1lLmlzU1ZHO2lmKHYodCxcInRyYW5zZm9ybVwiLFwic2NhbGUoXCIrYStcIikgdHJhbnNsYXRlKFwiK28rXCJweCwgXCIrcitcInB4KVwiKSxpJiZwKXt2YXIgYz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKFwidHJhbnNmb3JtXCIpO3Quc2V0QXR0cmlidXRlKFwidHJhbnNmb3JtXCIsYyl9fSxzdGFydFg6MCxzdGFydFk6MCxzdGFydFNjYWxlOjEsc3RlcDouMyx0b3VjaEFjdGlvbjpcIm5vbmVcIn07ZnVuY3Rpb24geChsLHApe2lmKCFsKXRocm93IG5ldyBFcnJvcihcIlBhbnpvb20gcmVxdWlyZXMgYW4gZWxlbWVudCBhcyBhbiBhcmd1bWVudFwiKTtpZigxIT09bC5ub2RlVHlwZSl0aHJvdyBuZXcgRXJyb3IoXCJQYW56b29tIHJlcXVpcmVzIGFuIGVsZW1lbnQgd2l0aCBhIG5vZGVUeXBlIG9mIDFcIik7aWYoIWZ1bmN0aW9uKHQpe3ZhciBlPXQub3duZXJEb2N1bWVudCxuPXQucGFyZW50Tm9kZTtyZXR1cm4gZSYmbiYmOT09PWUubm9kZVR5cGUmJjE9PT1uLm5vZGVUeXBlJiZlLmRvY3VtZW50RWxlbWVudC5jb250YWlucyhuKX0obCkpdGhyb3cgbmV3IEVycm9yKFwiUGFuem9vbSBzaG91bGQgYmUgY2FsbGVkIG9uIGVsZW1lbnRzIHRoYXQgaGF2ZSBiZWVuIGF0dGFjaGVkIHRvIHRoZSBET01cIik7cD10KHQoe30sYikscCk7dmFyIHU9ZnVuY3Rpb24odCl7cmV0dXJuIHcudGVzdCh0Lm5hbWVzcGFjZVVSSSkmJlwic3ZnXCIhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9KGwpLGQ9bC5wYXJlbnROb2RlO2Quc3R5bGUub3ZlcmZsb3c9cC5vdmVyZmxvdyxkLnN0eWxlLnVzZXJTZWxlY3Q9XCJub25lXCIsZC5zdHlsZS50b3VjaEFjdGlvbj1wLnRvdWNoQWN0aW9uLChwLmNhbnZhcz9kOmwpLnN0eWxlLmN1cnNvcj1wLmN1cnNvcixsLnN0eWxlLnVzZXJTZWxlY3Q9XCJub25lXCIsbC5zdHlsZS50b3VjaEFjdGlvbj1wLnRvdWNoQWN0aW9uLHYobCxcInRyYW5zZm9ybU9yaWdpblwiLFwic3RyaW5nXCI9PXR5cGVvZiBwLm9yaWdpbj9wLm9yaWdpbjp1P1wiMCAwXCI6XCI1MCUgNTAlXCIpO3ZhciBzLG0saCx4LFMsRSxNPTAsTz0wLFA9MSx6PSExO2Z1bmN0aW9uIEEodCxlLG4pe2lmKCFuLnNpbGVudCl7dmFyIG89bmV3IEN1c3RvbUV2ZW50KHQse2RldGFpbDplfSk7bC5kaXNwYXRjaEV2ZW50KG8pfX1mdW5jdGlvbiBYKHQsZSl7dmFyIG49e3g6TSx5Ok8sc2NhbGU6UCxpc1NWRzp1fTtyZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7XCJib29sZWFuXCI9PXR5cGVvZiBlLmFuaW1hdGUmJihlLmFuaW1hdGU/ZnVuY3Rpb24odCxlKXt2KHQsXCJ0cmFuc2l0aW9uXCIsZihcInRyYW5zZm9ybVwiKStcIiBcIitlLmR1cmF0aW9uK1wibXMgXCIrZS5lYXNpbmcpfShsLGUpOnYobCxcInRyYW5zaXRpb25cIixcIm5vbmVcIikpLGUuc2V0VHJhbnNmb3JtKGwsbixlKX0pLEEodCxuLGUpLEEoXCJwYW56b29tY2hhbmdlXCIsbixlKSxufWZ1bmN0aW9uIFkoKXtpZihwLmNvbnRhaW4pe3ZhciB0PWcobCksZT10LnBhcmVudC53aWR0aC10LnBhcmVudC5ib3JkZXIubGVmdC10LnBhcmVudC5ib3JkZXIucmlnaHQsbj10LnBhcmVudC5oZWlnaHQtdC5wYXJlbnQuYm9yZGVyLnRvcC10LnBhcmVudC5ib3JkZXIuYm90dG9tLG89ZS8odC5lbGVtLndpZHRoL1ApLHI9bi8odC5lbGVtLmhlaWdodC9QKTtcImluc2lkZVwiPT09cC5jb250YWluP3AubWF4U2NhbGU9TWF0aC5taW4obyxyKTpcIm91dHNpZGVcIj09PXAuY29udGFpbiYmKHAubWluU2NhbGU9TWF0aC5tYXgobyxyKSl9fWZ1bmN0aW9uIEMoZSxuLG8scil7dmFyIGE9dCh0KHt9LHApLHIpLGk9e3g6TSx5Ok8sb3B0czphfTtpZighYS5mb3JjZSYmKGEuZGlzYWJsZVBhbnx8YS5wYW5Pbmx5V2hlblpvb21lZCYmUD09PWEuc3RhcnRTY2FsZSkpcmV0dXJuIGk7aWYoZT1wYXJzZUZsb2F0KGUpLG49cGFyc2VGbG9hdChuKSxhLmRpc2FibGVYQXhpc3x8KGkueD0oYS5yZWxhdGl2ZT9NOjApK2UpLGEuZGlzYWJsZVlBeGlzfHwoaS55PShhLnJlbGF0aXZlP086MCkrbiksXCJpbnNpZGVcIj09PWEuY29udGFpbil7dmFyIGM9ZyhsKTtpLng9TWF0aC5tYXgoLWMuZWxlbS5tYXJnaW4ubGVmdC1jLnBhcmVudC5wYWRkaW5nLmxlZnQsTWF0aC5taW4oYy5wYXJlbnQud2lkdGgtYy5lbGVtLndpZHRoL28tYy5wYXJlbnQucGFkZGluZy5sZWZ0LWMuZWxlbS5tYXJnaW4ubGVmdC1jLnBhcmVudC5ib3JkZXIubGVmdC1jLnBhcmVudC5ib3JkZXIucmlnaHQsaS54KSksaS55PU1hdGgubWF4KC1jLmVsZW0ubWFyZ2luLnRvcC1jLnBhcmVudC5wYWRkaW5nLnRvcCxNYXRoLm1pbihjLnBhcmVudC5oZWlnaHQtYy5lbGVtLmhlaWdodC9vLWMucGFyZW50LnBhZGRpbmcudG9wLWMuZWxlbS5tYXJnaW4udG9wLWMucGFyZW50LmJvcmRlci50b3AtYy5wYXJlbnQuYm9yZGVyLmJvdHRvbSxpLnkpKX1lbHNlIGlmKFwib3V0c2lkZVwiPT09YS5jb250YWluKXt2YXIgdT0oYz1nKGwpKS5lbGVtLndpZHRoL1AsZD1jLmVsZW0uaGVpZ2h0L1Ascz11Km8sZj1kKm8sbT0ocy11KS8yLGg9KGYtZCkvMix2PSgtKHMtYy5wYXJlbnQud2lkdGgpLWMucGFyZW50LnBhZGRpbmcubGVmdC1jLnBhcmVudC5ib3JkZXIubGVmdC1jLnBhcmVudC5ib3JkZXIucmlnaHQrbSkvbyx5PShtLWMucGFyZW50LnBhZGRpbmcubGVmdCkvbztpLng9TWF0aC5tYXgoTWF0aC5taW4oaS54LHkpLHYpO3ZhciB3PSgtKGYtYy5wYXJlbnQuaGVpZ2h0KS1jLnBhcmVudC5wYWRkaW5nLnRvcC1jLnBhcmVudC5ib3JkZXIudG9wLWMucGFyZW50LmJvcmRlci5ib3R0b20raCkvbyxiPShoLWMucGFyZW50LnBhZGRpbmcudG9wKS9vO2kueT1NYXRoLm1heChNYXRoLm1pbihpLnksYiksdyl9cmV0dXJuIGl9ZnVuY3Rpb24gVChlLG4pe3ZhciBvPXQodCh7fSxwKSxuKSxyPXtzY2FsZTpQLG9wdHM6b307cmV0dXJuIW8uZm9yY2UmJm8uZGlzYWJsZVpvb20/cjooci5zY2FsZT1NYXRoLm1pbihNYXRoLm1heChlLG8ubWluU2NhbGUpLG8ubWF4U2NhbGUpLHIpfWZ1bmN0aW9uIE4odCxlLG4pe3ZhciBvPUModCxlLFAsbikscj1vLm9wdHM7cmV0dXJuIE09by54LE89by55LFgoXCJwYW56b29tcGFuXCIscil9ZnVuY3Rpb24gTCh0LGUpe3ZhciBuPVQodCxlKSxvPW4ub3B0cztpZihvLmZvcmNlfHwhby5kaXNhYmxlWm9vbSl7dD1uLnNjYWxlO3ZhciByPU0sYT1PO2lmKG8uZm9jYWwpe3ZhciBpPW8uZm9jYWw7cj0oaS54L3QtaS54L1ArTSp0KS90LGE9KGkueS90LWkueS9QK08qdCkvdH12YXIgYz1DKHIsYSx0LHtyZWxhdGl2ZTohMSxmb3JjZTohMH0pO3JldHVybiBNPWMueCxPPWMueSxQPXQsWChcInBhbnpvb216b29tXCIsbyl9fWZ1bmN0aW9uIEkoZSxuKXt2YXIgbz10KHQodCh7fSxwKSx7YW5pbWF0ZTohMH0pLG4pO3JldHVybiBMKFAqTWF0aC5leHAoKGU/MTotMSkqby5zdGVwKSxvKX1mdW5jdGlvbiBXKGUsbixvKXt2YXIgcj1nKGwpLGE9ci5wYXJlbnQud2lkdGgtci5wYXJlbnQucGFkZGluZy5sZWZ0LXIucGFyZW50LnBhZGRpbmcucmlnaHQtci5wYXJlbnQuYm9yZGVyLmxlZnQtci5wYXJlbnQuYm9yZGVyLnJpZ2h0LGk9ci5wYXJlbnQuaGVpZ2h0LXIucGFyZW50LnBhZGRpbmcudG9wLXIucGFyZW50LnBhZGRpbmcuYm90dG9tLXIucGFyZW50LmJvcmRlci50b3Atci5wYXJlbnQuYm9yZGVyLmJvdHRvbSxjPW4uY2xpZW50WC1yLnBhcmVudC5sZWZ0LXIucGFyZW50LnBhZGRpbmcubGVmdC1yLnBhcmVudC5ib3JkZXIubGVmdC1yLmVsZW0ubWFyZ2luLmxlZnQscD1uLmNsaWVudFktci5wYXJlbnQudG9wLXIucGFyZW50LnBhZGRpbmcudG9wLXIucGFyZW50LmJvcmRlci50b3Atci5lbGVtLm1hcmdpbi50b3A7dXx8KGMtPXIuZWxlbS53aWR0aC9QLzIscC09ci5lbGVtLmhlaWdodC9QLzIpO3ZhciBkPXt4OmMvYSooYSplKSx5OnAvaSooaSplKX07cmV0dXJuIEwoZSx0KHQoe2FuaW1hdGU6ITF9LG8pLHtmb2NhbDpkfSkpfUwocC5zdGFydFNjYWxlLHthbmltYXRlOiExfSksc2V0VGltZW91dChmdW5jdGlvbigpe1koKSxOKHAuc3RhcnRYLHAuc3RhcnRZLHthbmltYXRlOiExfSl9KTt2YXIgWj1bXTtmdW5jdGlvbiBxKHQpe2lmKCFmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10O251bGwhPW47bj1uLnBhcmVudE5vZGUpaWYoeShuLGUuZXhjbHVkZUNsYXNzKXx8ZS5leGNsdWRlLmluZGV4T2Yobik+LTEpcmV0dXJuITA7cmV0dXJuITF9KHQudGFyZ2V0LHApKXtuKFosdCksej0hMCxwLmhhbmRsZVN0YXJ0RXZlbnQodCkscz1NLG09TyxBKFwicGFuem9vbXN0YXJ0XCIse3g6TSx5Ok8sc2NhbGU6UH0scCk7dmFyIGU9byhaKTtoPWUuY2xpZW50WCx4PWUuY2xpZW50WSxTPVAsRT1yKFopfX1mdW5jdGlvbiBCKHQpe2lmKHomJnZvaWQgMCE9PXMmJnZvaWQgMCE9PW0mJnZvaWQgMCE9PWgmJnZvaWQgMCE9PXgpe24oWix0KTt2YXIgZT1vKFopO2lmKFoubGVuZ3RoPjEpVyhUKChyKFopLUUpKnAuc3RlcC84MCtTKS5zY2FsZSxlKTtOKHMrKGUuY2xpZW50WC1oKS9QLG0rKGUuY2xpZW50WS14KS9QLHthbmltYXRlOiExfSl9fWZ1bmN0aW9uIEQodCl7MT09PVoubGVuZ3RoJiZBKFwicGFuem9vbWVuZFwiLHt4Ok0seTpPLHNjYWxlOlB9LHApLGZ1bmN0aW9uKHQsbil7aWYobi50b3VjaGVzKWZvcig7dC5sZW5ndGg7KXQucG9wKCk7ZWxzZXt2YXIgbz1lKHQsbik7bz4tMSYmdC5zcGxpY2UobywxKX19KFosdCkseiYmKHo9ITEscz1tPWg9eD12b2lkIDApfXZhciBGPSExO2Z1bmN0aW9uIFIoKXtGfHwoRj0hMCxpKFwiZG93blwiLHAuY2FudmFzP2Q6bCxxKSxpKFwibW92ZVwiLGRvY3VtZW50LEIse3Bhc3NpdmU6ITB9KSxpKFwidXBcIixkb2N1bWVudCxELHtwYXNzaXZlOiEwfSkpfXJldHVybiBwLm5vQmluZHx8UigpLHtiaW5kOlIsZGVzdHJveTpmdW5jdGlvbigpe0Y9ITEsYyhcImRvd25cIixwLmNhbnZhcz9kOmwscSksYyhcIm1vdmVcIixkb2N1bWVudCxCKSxjKFwidXBcIixkb2N1bWVudCxEKX0sZXZlbnROYW1lczphLGdldFBhbjpmdW5jdGlvbigpe3JldHVybnt4Ok0seTpPfX0sZ2V0U2NhbGU6ZnVuY3Rpb24oKXtyZXR1cm4gUH0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT17fTtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZX0ocCl9LHBhbjpOLHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciBuPXQodCh0KHt9LHApLHthbmltYXRlOiEwLGZvcmNlOiEwfSksZSk7UD1UKG4uc3RhcnRTY2FsZSxuKS5zY2FsZTt2YXIgbz1DKG4uc3RhcnRYLG4uc3RhcnRZLFAsbik7cmV0dXJuIE09by54LE89by55LFgoXCJwYW56b29tcmVzZXRcIixuKX0sc2V0T3B0aW9uczpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdm9pZCAwPT09dCYmKHQ9e30pLHQpdC5oYXNPd25Qcm9wZXJ0eShlKSYmKHBbZV09dFtlXSk7dC5oYXNPd25Qcm9wZXJ0eShcImN1cnNvclwiKSYmKGwuc3R5bGUuY3Vyc29yPXQuY3Vyc29yKSx0Lmhhc093blByb3BlcnR5KFwib3ZlcmZsb3dcIikmJihkLnN0eWxlLm92ZXJmbG93PXQub3ZlcmZsb3cpLHQuaGFzT3duUHJvcGVydHkoXCJ0b3VjaEFjdGlvblwiKSYmKGQuc3R5bGUudG91Y2hBY3Rpb249dC50b3VjaEFjdGlvbixsLnN0eWxlLnRvdWNoQWN0aW9uPXQudG91Y2hBY3Rpb24pLCh0Lmhhc093blByb3BlcnR5KFwibWluU2NhbGVcIil8fHQuaGFzT3duUHJvcGVydHkoXCJtYXhTY2FsZVwiKXx8dC5oYXNPd25Qcm9wZXJ0eShcImNvbnRhaW5cIikpJiZZKCl9LHNldFN0eWxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYobCx0LGUpfSx6b29tOkwsem9vbUluOmZ1bmN0aW9uKHQpe3JldHVybiBJKCEwLHQpfSx6b29tT3V0OmZ1bmN0aW9uKHQpe3JldHVybiBJKCExLHQpfSx6b29tVG9Qb2ludDpXLHpvb21XaXRoV2hlZWw6ZnVuY3Rpb24oZSxuKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIG89dCh0KHt9LHApLG4pLHI9KDA9PT1lLmRlbHRhWSYmZS5kZWx0YVg/ZS5kZWx0YVg6ZS5kZWx0YVkpPDA/MTotMTtyZXR1cm4gVyhUKFAqTWF0aC5leHAocipvLnN0ZXAvMyksbykuc2NhbGUsZSxvKX19fXJldHVybiB4LmRlZmF1bHRPcHRpb25zPWIseH0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CaGJucHZiMjB1YW5NaVhTd2libUZ0WlhNaU9sc2laMnh2WW1Gc0lpd2labUZqZEc5eWVTSXNJbVY0Y0c5eWRITWlMQ0p0YjJSMWJHVWlMQ0prWldacGJtVWlMQ0poYldRaUxDSm5iRzlpWVd4VWFHbHpJaXdpYzJWc1ppSXNJbEJoYm5wdmIyMGlMQ0owYUdseklpd2lYMTloYzNOcFoyNGlMQ0pQWW1wbFkzUWlMQ0poYzNOcFoyNGlMQ0owSWl3aWN5SXNJbWtpTENKdUlpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpY0NJc0luQnliM1J2ZEhsd1pTSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2lZMkZzYkNJc0ltRndjR3g1SWl3aVptbHVaRVYyWlc1MFNXNWtaWGdpTENKd2IybHVkR1Z5Y3lJc0ltVjJaVzUwSWl3aWNHOXBiblJsY2tsa0lpd2lZV1JrVUc5cGJuUmxjaUlzSW5SdmRXTm9aWE1pTENKZmFTSXNJbDloSWl3aWRHOTFZMmdpTENKemNHeHBZMlVpTENKd2RYTm9JaXdpWjJWMFRXbGtaR3hsSWl3aVpYWmxiblF5SWl3aVpYWmxiblF4SWl3aWMyeHBZMlVpTENKd2IzQWlMQ0pqYkdsbGJuUllJaXdpWTJ4cFpXNTBXU0lzSW1kbGRFUnBjM1JoYm1ObElpd2lUV0YwYUNJc0luTnhjblFpTENKd2IzY2lMQ0poWW5NaUxDSjNhVzVrYjNjaUxDSk9iMlJsVEdsemRDSXNJbVp2Y2tWaFkyZ2lMQ0pCY25KaGVTSXNJa04xYzNSdmJVVjJaVzUwSWl3aWNHRnlZVzF6SWl3aVluVmlZbXhsY3lJc0ltTmhibU5sYkdGaWJHVWlMQ0prWlhSaGFXd2lMQ0psZG5RaUxDSmtiMk4xYldWdWRDSXNJbU55WldGMFpVVjJaVzUwSWl3aWFXNXBkRU4xYzNSdmJVVjJaVzUwSWl3aVpYWmxiblJ6SWl3aVpHOTNiaUlzSW0xdmRtVWlMQ0oxY0NJc0ltOXVVRzlwYm5SbGNpSXNJbVZzWlcwaUxDSm9ZVzVrYkdWeUlpd2laWFpsYm5SUGNIUnpJaXdpYzNCc2FYUWlMQ0p1WVcxbElpd2lZV1JrUlhabGJuUk1hWE4wWlc1bGNpSXNJbVJsYzNSeWIzbFFiMmx1ZEdWeUlpd2ljbVZ0YjNabFJYWmxiblJNYVhOMFpXNWxjaUlzSWxCdmFXNTBaWEpGZG1WdWRDSXNJbFJ2ZFdOb1JYWmxiblFpTENKa2FYWlRkSGxzWlNJc0ltbHpTVVVpTENKa2IyTjFiV1Z1ZEUxdlpHVWlMQ0pqY21WaGRHVlRkSGxzWlNJc0ltTnlaV0YwWlVWc1pXMWxiblFpTENKemRIbHNaU0lzSW5CeVpXWnBlR1Z6SWl3aWNISmxabWw0UTJGamFHVWlMQ0puWlhSUWNtVm1hWGhsWkU1aGJXVWlMQ0pqWVhCT1lXMWxJaXdpZEc5VmNIQmxja05oYzJVaUxDSndjbVZtYVhobFpFNWhiV1VpTENKblpYUkRVMU5PZFcwaUxDSndZWEp6WlVac2IyRjBJaXdpWjJWMFFtOTRVM1I1YkdVaUxDSm5aWFJEYjIxd2RYUmxaRk4wZVd4bElpd2ljM1ZtWm1sNElpd2liR1ZtZENJc0luSnBaMmgwSWl3aWRHOXdJaXdpWW05MGRHOXRJaXdpYzJWMFUzUjViR1VpTENKMllXeDFaU0lzSW1kbGRFUnBiV1Z1YzJsdmJuTWlMQ0p3WVhKbGJuUWlMQ0p3WVhKbGJuUk9iMlJsSWl3aWNHRnlaVzUwVTNSNWJHVWlMQ0p5WldOMFJXeGxiU0lzSW1kbGRFSnZkVzVrYVc1blEyeHBaVzUwVW1WamRDSXNJbkpsWTNSUVlYSmxiblFpTENKM2FXUjBhQ0lzSW1obGFXZG9kQ0lzSW0xaGNtZHBiaUlzSW1KdmNtUmxjaUlzSW5CaFpHUnBibWNpTENKb1lYTkRiR0Z6Y3lJc0ltTnNZWE56VG1GdFpTSXNJbTV2WkdWVWVYQmxJaXdpWjJWMFFYUjBjbWxpZFhSbElpd2lkSEpwYlNJc0ltZGxkRU5zWVhOeklpd2lhVzVrWlhoUFppSXNJbkp6ZG1jaUxDSmtaV1poZFd4MFQzQjBhVzl1Y3lJc0ltRnVhVzFoZEdVaUxDSmpZVzUyWVhNaUxDSmpkWEp6YjNJaUxDSmthWE5oWW14bFVHRnVJaXdpWkdsellXSnNaVnB2YjIwaUxDSmthWE5oWW14bFdFRjRhWE1pTENKa2FYTmhZbXhsV1VGNGFYTWlMQ0prZFhKaGRHbHZiaUlzSW1WaGMybHVaeUlzSW1WNFkyeDFaR1VpTENKbGVHTnNkV1JsUTJ4aGMzTWlMQ0pvWVc1a2JHVlRkR0Z5ZEVWMlpXNTBJaXdpWlNJc0luQnlaWFpsYm5SRVpXWmhkV3gwSWl3aWMzUnZjRkJ5YjNCaFoyRjBhVzl1SWl3aWJXRjRVMk5oYkdVaUxDSnRhVzVUWTJGc1pTSXNJbTkyWlhKbWJHOTNJaXdpY0dGdVQyNXNlVmRvWlc1YWIyOXRaV1FpTENKeVpXeGhkR2wyWlNJc0luTmxkRlJ5WVc1elptOXliU0lzSWw5dmNIUnBiMjV6SWl3aWVDSXNJbmtpTENKelkyRnNaU0lzSW1selUxWkhJaXdpYldGMGNtbDRWbUZzZFdVaUxDSm5aWFJRY205d1pYSjBlVlpoYkhWbElpd2ljMlYwUVhSMGNtbGlkWFJsSWl3aWMzUmhjblJZSWl3aWMzUmhjblJaSWl3aWMzUmhjblJUWTJGc1pTSXNJbk4wWlhBaUxDSjBiM1ZqYUVGamRHbHZiaUlzSW05d2RHbHZibk1pTENKRmNuSnZjaUlzSW1Sdll5SXNJbTkzYm1WeVJHOWpkVzFsYm5RaUxDSmtiMk4xYldWdWRFVnNaVzFsYm5RaUxDSmpiMjUwWVdsdWN5SXNJbWx6UVhSMFlXTm9aV1FpTENKMFpYTjBJaXdpYm1GdFpYTndZV05sVlZKSklpd2libTlrWlU1aGJXVWlMQ0owYjB4dmQyVnlRMkZ6WlNJc0ltbHpVMVpIUld4bGJXVnVkQ0lzSW5WelpYSlRaV3hsWTNRaUxDSnZjbWxuYVc0aUxDSnZjbWxuV0NJc0ltOXlhV2RaSWl3aWMzUmhjblJEYkdsbGJuUllJaXdpYzNSaGNuUkRiR2xsYm5SWklpd2ljM1JoY25SRWFYTjBZVzVqWlNJc0ltbHpVR0Z1Ym1sdVp5SXNJblJ5YVdkblpYSWlMQ0psZG1WdWRFNWhiV1VpTENKdmNIUnpJaXdpYzJsc1pXNTBJaXdpWkdsemNHRjBZMmhGZG1WdWRDSXNJbk5sZEZSeVlXNXpabTl5YlZkcGRHaEZkbVZ1ZENJc0luSmxjWFZsYzNSQmJtbHRZWFJwYjI1R2NtRnRaU0lzSW5ObGRGUnlZVzV6YVhScGIyNGlMQ0p6WlhSTmFXNU5ZWGdpTENKamIyNTBZV2x1SWl3aVpHbHRjeUlzSW5CaGNtVnVkRmRwWkhSb0lpd2ljR0Z5Wlc1MFNHVnBaMmgwSWl3aVpXeGxiVk5qWVd4bFpGZHBaSFJvSWl3aVpXeGxiVk5qWVd4bFpFaGxhV2RvZENJc0ltMXBiaUlzSW0xaGVDSXNJbU52Ym5OMGNtRnBibGhaSWl3aWRHOVlJaXdpZEc5Wklpd2lkRzlUWTJGc1pTSXNJbkJoYms5d2RHbHZibk1pTENKeVpYTjFiSFFpTENKbWIzSmpaU0lzSW5KbFlXeFhhV1IwYUNJc0luSmxZV3hJWldsbmFIUWlMQ0p6WTJGc1pXUlhhV1IwYUNJc0luTmpZV3hsWkVobGFXZG9kQ0lzSW1ScFptWkliM0pwZW05dWRHRnNJaXdpWkdsbVpsWmxjblJwWTJGc0lpd2liV2x1V0NJc0ltMWhlRmdpTENKdGFXNVpJaXdpYldGNFdTSXNJbU52Ym5OMGNtRnBibE5qWVd4bElpd2llbTl2YlU5d2RHbHZibk1pTENKd1lXNGlMQ0o2YjI5dElpd2labTlqWVd3aUxDSndZVzVTWlhOMWJIUWlMQ0o2YjI5dFNXNVBkWFFpTENKcGMwbHVJaXdpWlhod0lpd2llbTl2YlZSdlVHOXBiblFpTENKd2IybHVkQ0lzSW1WbVptVmpkR2wyWlVGeVpXRWlMQ0p6WlhSVWFXMWxiM1YwSWl3aWFHRnVaR3hsUkc5M2JpSXNJbU4xY2lJc0ltbHpSWGhqYkhWa1pXUWlMQ0owWVhKblpYUWlMQ0oxYm1SbFptbHVaV1FpTENKamRYSnlaVzUwSWl3aWFHRnVaR3hsVlhBaUxDSnlaVzF2ZG1WUWIybHVkR1Z5SWl3aVltOTFibVFpTENKaWFXNWtJaXdpY0dGemMybDJaU0lzSW01dlFtbHVaQ0lzSW1SbGMzUnliM2tpTENKbGRtVnVkRTVoYldWeklpd2laMlYwVUdGdUlpd2laMlYwVTJOaGJHVWlMQ0puWlhSUGNIUnBiMjV6SWl3aWIySnFJaXdpWTJ4dmJtVWlMQ0pyWlhraUxDSnphR0ZzYkc5M1EyeHZibVVpTENKeVpYTmxkQ0lzSW5KbGMyVjBUM0IwYVc5dWN5SXNJbk5sZEU5d2RHbHZibk1pTENKNmIyOXRTVzRpTENKNmIyOXRUM1YwSWl3aWVtOXZiVmRwZEdoWGFHVmxiQ0lzSW5kb1pXVnNJaXdpWkdWc2RHRlpJaXdpWkdWc2RHRllJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkxReXhUUVVGVlFTeEZRVUZSUXl4SFFVTkpMR2xDUVVGYVF5eFRRVUV3UXl4dlFrRkJXRU1zVDBGQmVVSkJMRTlCUVU5RUxGRkJRVlZFTEVsQlF6bEVMRzFDUVVGWVJ5eFJRVUY1UWtFc1QwRkJUME1zU1VGQlRVUXNUMEZCVDBnc1NVRkRia1JFTEVWQlFTdENMRzlDUVVGbVRTeFhRVUUyUWtFc1YwRkJZVTRzUjBGQlZVOHNUVUZCWVVNc1VVRkJWVkFzU1VGSWFFY3NRMEZKUlZFc1MwRkJUU3hYUVVGbExHRkJhVUp1UWl4SlFVRkpReXhGUVVGWExGZEJVVmdzVDBGUVFVRXNSVUZCVjBNc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1IwRkRNVU1zU1VGQlN5eEpRVUZKUXl4RlFVRkhReXhGUVVGSkxFVkJRVWRETEVWQlFVbERMRlZCUVZWRExFOUJRVkZJTEVWQlFVbERMRVZCUVVkRUxFbEJSVFZETEVsQlFVc3NTVUZCU1Vrc1MwRkVWRXdzUlVGQlNVY3NWVUZCVlVZc1IwRkRUMG9zVDBGQlQxTXNWVUZCVlVNc1pVRkJaVU1zUzBGQlMxSXNSVUZCUjBzc1MwRkJTVTRzUlVGQlJVMHNSMEZCUzB3c1JVRkJSVXNzU1VGRk9VVXNUMEZCVDA0c1NVRkZTMVVzVFVGQlRXUXNTMEZCVFZFc1dVRjNRbWhETEZOQlFWTlBMRVZCUVdWRExFVkJRVlZETEVkQlJUbENMRWxCUkVFc1NVRkJTVmdzUlVGQlNWVXNSVUZCVTFBc1QwRkRWa2dzUzBGRFNDeEhRVUZKVlN4RlFVRlRWaXhIUVVGSFdTeFpRVUZqUkN4RlFVRk5ReXhWUVVOb1F5eFBRVUZQV2l4RlFVZG1MRTlCUVZFc1JVRkZXaXhUUVVGVFlTeEZRVUZYU0N4RlFVRlZReXhIUVVNeFFpeEpRVUZKV0N4RlFVVktMRWRCUVVsWExFVkJRVTFITEZGQlFWWXNRMEZEU1dRc1JVRkJTU3hGUVVOS0xFbEJRVXNzU1VGQlNXVXNSVUZCU3l4RlFVRkhReXhGUVVGTFRDeEZRVUZOUnl4UlFVRlRReXhGUVVGTFF5eEZRVUZIWWl4UFFVRlJXU3hKUVVGTkxFTkJRM1pFTEVsQlFVbEZMRVZCUVZGRUxFVkJRVWRFTEVkQlEyWkZMRVZCUVUxTUxGVkJRVmxhTEVsQlEyeENZU3hGUVVGWFNDeEZRVUZWVHl4VFFVazNRbXBDTEVWQlFVbFRMRVZCUVdWRExFVkJRVlZETEV0QlJYQkNMRWRCUTB4RUxFVkJRVk5STEU5QlFVOXNRaXhGUVVGSExFZEJSWFpDVlN4RlFVRlRVeXhMUVVGTFVpeEhRWEZDYkVJc1UwRkJVMU1zUlVGQlZWWXNSMEZMWml4SlFVWkJMRWxCUTBsWExFVkJSRUZETEVkQlJFcGFMRVZCUVZkQkxFVkJRVk5oTEUxQlFVMHNTVUZEU2tNc1RVRkZaRWdzUlVGQlUxZ3NSVUZCVTJNc1QwRkRkRUpHTEVWQlFWTXNRMEZEVEVjc1UwRkJWVW9zUlVGQlQwa3NVVUZCVlVnc1JVRkJUMGNzVTBGQlZ5eEZRVUZKU0N4RlFVRlBSeXhSUVVONFJFTXNVMEZCVlV3c1JVRkJUMHNzVVVGQlZVb3NSVUZCVDBrc1UwRkJWeXhGUVVGSlNpeEZRVUZQU1N4VFFVZG9SU3hQUVVGUFNpeEZRVTlZTEZOQlFWTkxMRVZCUVZscVFpeEhRVU5xUWl4SFFVRkpRU3hGUVVGVFVDeFBRVUZUTEVWQlEyeENMRTlCUVU4c1JVRkZXQ3hKUVVGSmJVSXNSVUZCVTFvc1JVRkJVeXhIUVVOc1FsY3NSVUZCVTFnc1JVRkJVeXhIUVVOMFFpeFBRVUZQYTBJc1MwRkJTME1zUzBGQlMwUXNTMEZCUzBVc1NVRkJTVVlzUzBGQlMwY3NTVUZCU1ZZc1JVRkJUMGtzVVVGQlZVZ3NSVUZCVDBjc1UwRkJWU3hIUVVOcVJVY3NTMEZCUzBVc1NVRkJTVVlzUzBGQlMwY3NTVUZCU1ZZc1JVRkJUMHNzVVVGQlZVb3NSVUZCVDBrc1UwRkJWU3hKUVRWR2RFTXNiMEpCUVZoTkxGTkJSVXhCTEU5QlFVOURMRmRCUVdGQkxGTkJRVk0xUWl4VlFVRlZOa0lzVlVGRGVrTkVMRk5CUVZNMVFpeFZRVUZWTmtJc1VVRkJWVU1zVFVGQlRUbENMRlZCUVZVMlFpeFRRVWxpTEcxQ1FVRjJRa1lzVDBGQlQwa3NZMEZEYUVKS0xFOUJRVTlKTEZsQlFXTXNVMEZCY1VKNlFpeEZRVUZQTUVJc1IwRkRMME5CTEVWQlFWTkJMRWRCUVZVc1EwRkJSVU1zVTBGQlV5eEZRVUZQUXl4WlFVRlpMRVZCUVU5RExFOUJRVkVzVFVGRGFFVXNTVUZCU1VNc1JVRkJUVU1zVTBGQlUwTXNXVUZCV1N4bFFVVXZRaXhQUVVSQlJpeEZRVUZKUnl4blFrRkJaMEpxUXl4RlFVRlBNRUlzUlVGQlQwTXNVVUZCVTBRc1JVRkJUMFVzVjBGQldVWXNSVUZCVDBjc1VVRkRPVVJETEV0QmJVWmlMRWxCUVVsSkxFVkJRVk1zUTBGRFZFTXNTMEZCVFN4WlFVTk9ReXhMUVVGTkxGbEJRMDVETEVkQlFVa3NjMEpCYTBKU0xGTkJRVk5ETEVWQlFWVjBReXhGUVVGUGRVTXNSVUZCVFVNc1JVRkJVME1zUjBGRGNrTlFMRVZCUVU5c1F5eEhRVUZQTUVNc1RVRkJUU3hMUVVGTGJrSXNVVUZCVVN4VFFVRlZiMElzUjBGRGRrTktMRVZCUVV0TExHbENRVUZwUWtRc1JVRkJUVWdzUlVGQlUwTXNTMEZITjBNc1UwRkJVMGtzUlVGQlpUZERMRVZCUVU5MVF5eEZRVUZOUXl4SFFVTnFRMDRzUlVGQlQyeERMRWRCUVU4d1F5eE5RVUZOTEV0QlFVdHVRaXhSUVVGUkxGTkJRVlZ2UWl4SFFVTjJRMG9zUlVGQlMwOHNiMEpCUVc5Q1NDeEZRVUZOU0N4TFFYWkNha0lzYjBKQlFWaHVRaXhUUVVNMFFpeHRRa0ZCZUVKQkxFOUJRVTh3UWl4aFFVTmtZaXhGUVVGVExFTkJRMHhETEV0QlFVMHNZMEZEVGtNc1MwRkJUU3hqUVVOT1F5eEhRVUZKTEhkRFFVY3dRaXh0UWtGQmRFSm9RaXhQUVVGUE1rSXNZVUZEYmtKa0xFVkJRVk1zUTBGRFRFTXNTMEZCVFN4aFFVTk9ReXhMUVVGTkxGbEJRMDVETEVkQlFVa3NNRUpCWldoQ0xFbEJTVWxaTEVWQlNrRkRMRVZCUVRKQ0xHOUNRVUZpYmtJc1dVRkJPRUpCTEZOQlFWTnZRaXhoUVV0NlJDeFRRVUZUUXl4SlFVTk1MRTlCUVVsSUxFbEJSMGxCTEVWQlFWZHNRaXhUUVVGVGMwSXNZMEZCWXl4UFFVRlBReXhQUVV0eVJDeEpRVUZKUXl4RlFVRlhMRU5CUVVNc1UwRkJWU3hOUVVGUExFMUJRemRDUXl4RlFVRmpMRWRCUTJ4Q0xGTkJRVk5ETEVWQlFXZENaQ3hIUVVOeVFpeEhRVUZKWVN4RlFVRlpZaXhIUVVOYUxFOUJRVTloTEVWQlFWbGlMRWRCUlhaQ0xFbEJRVWxOTEVWQlFWZEhMRWxCUTJZc1IwRkJTVlFzUzBGQlVVMHNSVUZEVWl4UFFVRlJUeXhGUVVGWllpeEhRVUZSUVN4RlFVbG9ReXhKUVVaQkxFbEJRVWxsTEVWQlFWVm1MRVZCUVVzc1IwRkJSMmRDTEdOQlFXZENhRUlzUlVGQlN5OUNMRTFCUVUwc1IwRkROME4yUWl4RlFVRkphMFVzUlVGQlV5OUVMRTlCUTFaSUxFdEJRVXNzUTBGRFVpeEpRVUZKZFVVc1JVRkJaU3hIUVVGTFRDeEZRVUZUYkVVc1IwRkJTM0ZGTEVWQlEzUkRMRWRCUVVsRkxFdEJRV2RDV0N4RlFVTm9RaXhQUVVGUlR5eEZRVUZaWWl4SFFVRlJhVUlzUjBGUGVFTXNVMEZCVTBNc1JVRkJWV3hDTEVWQlFVMVhMRWRCUTNKQ0xFOUJRVTlSTEZkQlFWZFNMRVZCUVUxSExFVkJRV2RDWkN4TlFVRlhMRVZCUlhaRUxGTkJRVk52UWl4RlFVRlplRUlzUlVGQlRVa3NSVUZCVFZjc1VVRkRaaXhKUVVGV1FTeEpRVUZ2UWtFc1JVRkJVV3BETEU5QlFVOHlReXhwUWtGQmFVSjZRaXhKUVVkNFJDeEpRVUZKTUVJc1JVRkJhMElzVjBGQlZIUkNMRVZCUVc5Q0xGRkJRVlVzUjBGRE0wTXNUVUZCVHl4RFFVTklkVUlzUzBGQlRVd3NSVUZCVld4Q0xFVkJRVThzVDBGQlUzTkNMRVZCUVZGWUxFZEJRM2hEWVN4TlFVRlBUaXhGUVVGVmJFSXNSVUZCVHl4UlFVRlZjMElzUlVGQlVWZ3NSMEZETVVOakxFbEJRVXRRTEVWQlFWVnNRaXhGUVVGUExFMUJRVkZ6UWl4RlFVRlJXQ3hIUVVOMFEyVXNUMEZCVVZJc1JVRkJWV3hDTEVWQlFVOHNVMEZCVjNOQ0xFVkJRVkZZTEVsQlRYQkVMRk5CUVZOblFpeEZRVUZUTDBJc1JVRkJUVWtzUlVGQlRUUkNMRWRCUlRGQ2FFTXNSVUZCUzJVc1RVRkJUVWNzUlVGQlowSmtMRWxCUVZNMFFpeEZRWGRDZUVNc1UwRkJVME1zUlVGQlkycERMRWRCUTI1Q0xFbEJRVWxyUXl4RlFVRlRiRU1zUlVGQlMyMURMRmRCUTJSd1FpeEZRVUZSYWtNc1QwRkJUekpETEdsQ1FVRnBRbnBDTEVkQlEyaERiME1zUlVGQlkzUkVMRTlCUVU4eVF5eHBRa0ZCYVVKVExFZEJRM1JEUnl4RlFVRlhja01zUlVGQlMzTkRMSGRDUVVOb1FrTXNSVUZCWVV3c1JVRkJUMGtzZDBKQlEzaENMRTFCUVU4c1EwRkRTSFJETEV0QlFVMHNRMEZEUm1Vc1RVRkJUMEVzUlVGRFVIbENMRTFCUVU5SUxFVkJRVk5ITEUxQlEyaENReXhQUVVGUlNpeEZRVUZUU1N4UFFVTnFRbG9zU1VGQlMxRXNSVUZCVTFJc1NVRkRaRU1zVDBGQlVVOHNSVUZCVTFBc1QwRkRha0pJTEV0QlFVMVZMRVZCUVZOV0xFdEJRMlpETEUxQlFVOVRMRVZCUVZOVUxFMUJRMmhDWXl4UFFVRlJiRUlzUlVGQldYaENMRVZCUVUwc1UwRkJWV1VzUjBGRGNFTTBRaXhQUVVGUmJrSXNSVUZCV1hoQ0xFVkJRVTBzVTBGQlZXVXNTVUZGZUVOdFFpeFBRVUZSTEVOQlEwcHVRaXhOUVVGUGNVSXNSVUZEVUVrc1RVRkJUMFFzUlVGQlYwTXNUVUZEYkVKRExFOUJRVkZHTEVWQlFWZEZMRTlCUTI1Q1dpeEpRVUZMVlN4RlFVRlhWaXhKUVVOb1FrTXNUMEZCVVZNc1JVRkJWMVFzVDBGRGJrSklMRXRCUVUxWkxFVkJRVmRhTEV0QlEycENReXhOUVVGUFZ5eEZRVUZYV0N4TlFVTnNRbWRDTEZGQlFWTndRaXhGUVVGWlZTeEZRVUZSTEZWQlFWZEZMRWRCUTNoRFR5eFBRVUZSYmtJc1JVRkJXVlVzUlVGQlVTeFRRVUZWUlN4TFFYTkNiRVFzVTBGQlUxTXNSVUZCVXpkRExFVkJRVTA0UXl4SFFVTndRaXhQUVVGNVFpeEpRVUZzUWpsRExFVkJRVXNyUXl4WFFVRnRRaXhKUVVwdVF5eFRRVUZyUWk5RExFZEJRMlFzVDBGQlVVRXNSVUZCUzJkRUxHRkJRV0VzVlVGQldTeEpRVUZKUXl4UFFVZE1ReXhEUVVGVGJFUXNSMEZCVVN4TFFVRkxiVVFzVVVGQlVTeEpRVUZOVEN4RlFVRlpMRTFCUVZFc1JVRmxha2NzU1VGQlNVMHNSVUZCVHl4elFrRmxXQ3hKUVVGSlF5eEZRVUZwUWl4RFFVTnFRa01zVTBGQlV5eEZRVU5VUXl4UlFVRlJMRVZCUTFKRExFOUJRVkVzVDBGRFVrTXNXVUZCV1N4RlFVTmFReXhoUVVGaExFVkJRMkpETEdOQlFXTXNSVUZEWkVNc1kwRkJZeXhGUVVOa1F5eFRRVUZWTEVsQlExWkRMRTlCUVZFc1kwRkRVa01zVVVGQlV5eEhRVU5VUXl4aFFVRmpMR3RDUVVOa1F5eHBRa0ZCYTBJc1UwRkJWVU1zUjBGRGVFSkJMRVZCUVVWRExHbENRVU5HUkN4RlFVRkZSU3h0UWtGRlRrTXNVMEZCVlN4RlFVTldReXhUUVVGVkxFdEJRMVpETEZOQlFWVXNVMEZEVmtNc2JVSkJRVzFDTEVWQlEyNUNReXhWUVVGVkxFVkJRMVpETEdGQmFFaEtMRk5CUVhOQ01VVXNSVUZCVFd4RExFVkJRVWsyUnl4SFFVTTFRaXhKUVVGSlF5eEZRVUZKT1Vjc1JVRkJSemhITEVWQlFVZERMRVZCUVVrdlJ5eEZRVUZISzBjc1JVRkJSME1zUlVGQlVXaElMRVZCUVVkblNDeE5RVUZQUXl4RlFVRlJha2dzUlVGQlIybElMRTFCUlhKRUxFZEJSRUZvUkN4RlFVRlRMMElzUlVGQlRTeFpRVUZoTEZOQlFWYzRSU3hGUVVGUkxHVkJRV2xDUml4RlFVRkpMRTlCUVZORExFVkJRVWtzVDBGRE4wVkZMRWRCUVZOd1JTeEZRVUZOTEVOQlEyWXNTVUZCU1hGRkxFVkJRV05zUnl4UFFVRlBNa01zYVVKQlFXbENla0lzUjBGQlRXbEdMR2xDUVVGcFFpeGhRVU5xUldwR0xFVkJRVXRyUml4aFFVRmhMRmxCUVdGR0xFdEJORWR1UTBjc1QwRkJVU3hGUVVOU1F5eFBRVUZSTEVWQlExSkRMRmRCUVZrc1JVRkRXa01zUzBGQlRTeEhRVU5PUXl4WlFVRmhMRkZCUldwQ0xGTkJRVk5vU2l4RlFVRlJlVVFzUlVGQlRYZEdMRWRCUTI1Q0xFbEJRVXQ0Uml4RlFVTkVMRTFCUVUwc1NVRkJTWGxHTEUxQlFVMHNPRU5CUlhCQ0xFZEJRWE5DTEVsQlFXeENla1lzUlVGQlN5dERMRk5CUTB3c1RVRkJUU3hKUVVGSk1FTXNUVUZCVFN4dlJFRkZjRUlzU1VFdlJVb3NVMEZCYjBKNlJpeEhRVU5vUWl4SlFVRkpNRVlzUlVGQlRURkdMRVZCUVVzeVJpeGpRVU5ZZWtRc1JVRkJVMnhETEVWQlFVdHRReXhYUVVOc1FpeFBRVUZSZFVRc1IwRkRTbmhFTEVkQlEybENMRWxCUVdwQ2QwUXNSVUZCU1RORExGVkJRMmRDTEVsQlFYQkNZaXhGUVVGUFlTeFZRVU5RTWtNc1JVRkJTVVVzWjBKQlFXZENReXhUUVVGVE0wUXNSMEYzUlRWQ05FUXNRMEZCVnpsR0xFZEJRMW9zVFVGQlRTeEpRVUZKZVVZc1RVRkJUU3d5UlVGRmNFSkVMRVZCUVZVdlNTeEZRVUZUUVN4RlFVRlRMRWRCUVVrMFJ5eEhRVUZwUW0xRExFZEJRMnBFTEVsQlFVbFVMRVZCY2tSU0xGTkJRWE5DTDBVc1IwRkRiRUlzVDBGQlQyOUVMRVZCUVVzeVF5eExRVUZMTDBZc1JVRkJTMmRITEdWQlFXbEVMRkZCUVdoRGFFY3NSVUZCUzJsSExGTkJRVk5ETEdOQmIwUjZRME1zUTBGQllXNUhMRWRCUTNKQ2EwTXNSVUZCVTJ4RExFVkJRVXR0UXl4WFFVVnNRa1FzUlVGQlQyNUNMRTFCUVUxM1JDeFRRVUZYYVVJc1JVRkJVV3BDTEZOQlEyaERja01zUlVGQlQyNUNMRTFCUVUxeFJpeFhRVUZoTEU5QlJ6RkNiRVVzUlVGQlQyNUNMRTFCUVUxM1JTeFpRVUZqUXl4RlFVRlJSQ3hoUVVOc1EwTXNSVUZCVVdwRExFOUJRVk55UWl4RlFVRlRiRU1zUjBGQlRXVXNUVUZCVFhsRExFOUJRVk5uUXl4RlFVRlJhRU1zVDBGRmVFUjRSQ3hGUVVGTFpTeE5RVUZOY1VZc1YwRkJZU3hQUVVONFFuQkhMRVZCUVV0bExFMUJRVTEzUlN4WlFVRmpReXhGUVVGUlJDeFpRVWRxUTNoRUxFVkJRVk12UWl4RlFVRk5MR3RDUVVFMlF5eHBRa0ZCYmtKM1JpeEZRVUZSWVN4UFFVRnpRbUlzUlVGQlVXRXNUMEZCVTNSQ0xFVkJRVkVzVFVGQlVTeFhRWGxDZUVjc1NVRXJUa2wxUWl4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJjRUlzUlVGRFFYRkNMRVZCY0U5Qk9VSXNSVUZCU1N4RlFVTktReXhGUVVGSkxFVkJRMHBETEVWQlFWRXNSVUZEVWpaQ0xFZEJRVmtzUlVGVmFFSXNVMEZCVTBNc1JVRkJVVU1zUlVGQlYzWklMRVZCUVZGM1NDeEhRVU5vUXl4SlFVRkpRU3hGUVVGTFF5eFBRVUZVTEVOQlIwRXNTVUZCU1hSS0xFVkJRVkVzU1VGQlNYbENMRmxCUVZreVNDeEZRVUZYTEVOQlFVVjJTQ3hQUVVGUlFTeEpRVU5xUkZVc1JVRkJTMmRJTEdOQlFXTjJTaXhKUVVWMlFpeFRRVUZUZDBvc1JVRkJjMEpLTEVWQlFWZERMRWRCUTNSRExFbEJRVWs1UlN4RlFVRlJMRU5CUVVVMFF5eEZRVUZIUVN4RlFVRkhReXhGUVVGSFFTeEZRVUZIUXl4TlFVRlBRU3hGUVVGUFF5eE5RVUZQUVN4SFFXTXZReXhQUVdKQmJVTXNjMEpCUVhOQ0xGZEJRMVVzYTBKQlFXcENTaXhGUVVGTGVFUXNWVUZEVW5kRUxFVkJRVXQ0UkN4UlFYaE5la0lzVTBGQmRVSjBSQ3hGUVVGTmQwWXNSMEZGZWtKNlJDeEZRVUZUTDBJc1JVRkJUU3hoUVVSRGEwSXNSVUZCWjBJc1lVRkRVeXhKUVVGTmMwVXNSVUZCVVROQ0xGTkJRVmNzVFVGQlVUSkNMRVZCUVZFeFFpeFJRWFZOYkVWeFJDeERRVUZqYmtnc1JVRkJUVGhITEVkQlIzQkNMMFVzUlVGQlV5OUNMRVZCUVUwc1lVRkJZeXhUUVVkeVF6aEhMRVZCUVV0d1F5eGhRVUZoTVVVc1JVRkJUV2RETEVWQlFVODRSU3hMUVVWdVEwWXNSVUZCVVVNc1JVRkJWemRGTEVWQlFVODRSU3hIUVVNeFFrWXNSVUZCVVN4blFrRkJhVUkxUlN4RlFVRlBPRVVzUjBGRGVrSTVSU3hGUVVWWUxGTkJRVk52Uml4SlFVTk1MRWRCUVVrMVFpeEZRVUZSTmtJc1VVRkJVeXhEUVVOcVFpeEpRVUZKUXl4RlFVRlBja1lzUlVGQlkycERMRWRCUTNKQ2RVZ3NSVUZCWTBRc1JVRkJTM0JHTEU5QlFVOU5MRTFCUVZFNFJTeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyaENMRXRCUVU4eVJpeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyWXNUVUZETDBVMFJpeEZRVUZsUml4RlFVRkxjRVlzVDBGQlQwOHNUMEZCVXpaRkxFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUFpDeEpRVUZOZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5aUxFOUJSMmhHTWtZc1JVRkJhMEpHTEVkQlJrNUVMRVZCUVV0MFNDeExRVUZMZDBNc1RVRkJVWE5ETEVkQlJ6bENORU1zUlVGQmJVSkdMRWRCUms1R0xFVkJRVXQwU0N4TFFVRkxlVU1zVDBGQlUzRkRMRWRCUjFvc1YwRkJjRUpWTEVWQlFWRTJRaXhSUVVOU04wSXNSVUZCVVc1Q0xGTkJRVmN6Uml4TFFVRkxhVW9zU1VGQlNVWXNSVUZCYVVKRExFZEJSWEJDTEZsQlFYQkNiRU1zUlVGQlVUWkNMRlZCUTJJM1FpeEZRVUZSYkVJc1UwRkJWelZHTEV0QlFVdHJTaXhKUVVGSlNDeEZRVUZwUWtNc1MwRkpla1FzVTBGQlUwY3NSVUZCV1VNc1JVRkJTME1zUlVGQlMwTXNSVUZCVTBNc1IwRkRjRU1zU1VGQlNXNUNMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWZVVNc1IwRkRka05ETEVWQlFWTXNRMEZCUlhSRUxFVkJRVWRCTEVWQlFVZERMRVZCUVVkQkxFVkJRVWRwUXl4TFFVRk5RU3hIUVVOcVF5eEpRVUZMUVN4RlFVRkxjVUlzVVVGQlZYSkNMRVZCUVV0eVJDeFpRVUZsY1VRc1JVRkJTM1JETEcxQ1FVRnhRazBzU1VGQlZXZERMRVZCUVV0NlFpeFpRVU0zUlN4UFFVRlBOa01zUlVGVldDeEhRVkpCU2l4RlFVRk5ka2NzVjBGQlYzVkhMRWRCUTJwQ1F5eEZRVUZOZUVjc1YwRkJWM2RITEVkQlExcHFRaXhGUVVGTGJrUXNaVUZEVG5WRkxFVkJRVTkwUkN4SFFVRkxhME1zUlVGQlMzSkRMRk5CUVZkSExFVkJRVWtzUjBGQlMydEVMRWRCUlhCRGFFSXNSVUZCUzJ4RUxHVkJRMDV6UlN4RlFVRlBja1FzUjBGQlMybERMRVZCUVV0eVF5eFRRVUZYU1N4RlFVRkpMRWRCUVV0clJDeEhRVVZ3UWl4WFFVRnFRbXBDTEVWQlFVdFBMRkZCUVhOQ0xFTkJRek5DTEVsQlFVbERMRVZCUVU5eVJpeEZRVUZqYWtNc1IwRkRla0pyU1N4RlFVRlBkRVFzUlVGQlNXeEhMRXRCUVV0clNpeExRVUZMVGl4RlFVRkxkRWdzUzBGQlN6QkRMRTlCUVU5bUxFdEJRVTh5Uml4RlFVRkxjRVlzVDBGQlQxVXNVVUZCVVdwQ0xFdEJRVTFxUkN4TFFVRkxhVW9zU1VGQlNVd3NSVUZCUzNCR0xFOUJRVTlOTEUxQlEzaEdPRVVzUlVGQlMzUklMRXRCUVV0M1F5eE5RVUZSZDBZc1JVRkRiRUpXTEVWQlFVdHdSaXhQUVVGUFZTeFJRVUZSYWtJc1MwRkRjRUl5Uml4RlFVRkxkRWdzUzBGQlN6QkRMRTlCUVU5bUxFdEJRMnBDTWtZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5b1FpeExRVU51UWpKR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUFppeE5RVUZQYzBjc1JVRkJUM1JFTEVsQlEzSkRjMFFzUlVGQlQzSkVMRVZCUVVsdVJ5eExRVUZMYTBvc1MwRkJTMDRzUlVGQlMzUklMRXRCUVVzd1F5eFBRVUZQWWl4SlFVRk5lVVlzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlFVdHVSQ3hMUVVGTGFVb3NTVUZCU1V3c1JVRkJTM0JHTEU5QlFVOVBMRTlCUTNSR05rVXNSVUZCUzNSSUxFdEJRVXQ1UXl4UFFVRlRkVVlzUlVGRGJrSldMRVZCUVV0d1JpeFBRVUZQVlN4UlFVRlJaaXhKUVVOd1FubEdMRVZCUVV0MFNDeExRVUZMTUVNc1QwRkJUMklzU1VGRGFrSjVSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMlFzU1VGRGJrSjVSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMklzVDBGQlVXOUhMRVZCUVU5eVJDeFRRVVZ5UXl4SFFVRnhRaXhaUVVGcVFtbERMRVZCUVV0UExGRkJRWFZDTEVOQlEycERMRWxCUTBsbExFZEJSRUZrTEVWQlFVOXlSaXhGUVVGamFrTXNTVUZEU2tFc1MwRkJTM2RETEUxQlFWRnpReXhGUVVNNVFuVkVMRVZCUVdGbUxFVkJRVXQwU0N4TFFVRkxlVU1zVDBGQlUzRkRMRVZCUTJoRGQwUXNSVUZCWTBZc1JVRkJXVW9zUlVGRE1VSlBMRVZCUVdWR0xFVkJRV0ZNTEVWQlF6VkNVU3hIUVVGclFrWXNSVUZCWTBZc1IwRkJZU3hGUVVNM1Ewc3NSMEZCWjBKR0xFVkJRV1ZHTEVkQlFXTXNSVUZETjBOTExFdEJRVlZLTEVWQlFXTm9RaXhGUVVGTGNFWXNUMEZCVDAwc1QwRkRjRU00UlN4RlFVRkxjRVlzVDBGQlQxVXNVVUZCVVdwQ0xFdEJRM0JDTWtZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5b1FpeExRVU51UWpKR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUFppeE5RVU51UWpSSExFZEJRMEZTTEVWQlEwRlhMRWRCUVZGSUxFVkJRV2xDYkVJc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGcVFpeE5RVUZSY1Vjc1JVRkRla1JGTEVWQlFVOTBSQ3hGUVVGSmJFY3NTMEZCUzJ0S0xFbEJRVWxzU2l4TFFVRkxhVW9zU1VGQlNVOHNSVUZCVDNSRUxFVkJRVWNyUkN4SFFVRlBSQ3hIUVVNNVF5eEpRVUZKUlN4TFFVRlZUQ3hGUVVGbGFrSXNSVUZCUzNCR0xFOUJRVTlQTEZGQlEzSkROa1VzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlEzQkNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlrTEVsQlEyNUNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlpTEU5QlEyNUNNa2NzUjBGRFFWUXNSVUZEUVdFc1IwRkJVVW9zUlVGQlpXNUNMRVZCUVV0d1JpeFBRVUZQVlN4UlFVRlJaaXhMUVVGUGJVY3NSVUZEZEVSRkxFVkJRVTl5UkN4RlFVRkpia2NzUzBGQlMydEtMRWxCUVVsc1NpeExRVUZMYVVvc1NVRkJTVThzUlVGQlQzSkVMRVZCUVVkblJTeEhRVUZQUkN4SFFVVnNSQ3hQUVVGUFZpeEZRVVZZTEZOQlFWTlpMRVZCUVdWa0xFVkJRVk5sTEVkQlF6ZENMRWxCUVVscVF5eEZRVUZQY2tzc1JVRkJVMEVzUlVGQlV5eEhRVUZKSzBrc1IwRkJWWFZFTEVkQlEzWkRZaXhGUVVGVExFTkJRVVZ3UkN4TlFVRlBRU3hGUVVGUFowTXNTMEZCVFVFc1IwRkRia01zVDBGQlMwRXNSVUZCUzNGQ0xFOUJRVk55UWl4RlFVRkxjRVFzV1VGRFluZEZMRWRCUlZoQkxFVkJRVTl3UkN4TlFVRlJjRWNzUzBGQlMybEtMRWxCUVVscVNpeExRVUZMYTBvc1NVRkJTVWtzUlVGQlUyeENMRVZCUVV0NFF5eFZRVUZYZDBNc1JVRkJTM3BETEZWQlEzaEVOa1FzUjBGRldDeFRRVUZUWXl4RlFVRkpiRUlzUlVGQlMwTXNSVUZCUzBVc1IwRkRia0lzU1VGQlNVTXNSVUZCVTB3c1JVRkJXVU1zUlVGQlMwTXNSVUZCUzJwRUxFVkJRVTl0UkN4SFFVTjBRMjVDTEVWQlFVOXZRaXhGUVVGUGNFSXNTMEZIYkVJc1QwRkdRV3hETEVWQlFVbHpSQ3hGUVVGUGRFUXNSVUZEV0VNc1JVRkJTWEZFTEVWQlFVOXlSQ3hGUVVOS2IwTXNSVUZCYzBJc1lVRkJZMGdzUjBGRkwwTXNVMEZCVTIxRExFVkJRVXRxUWl4RlFVRlRaU3hIUVVOdVFpeEpRVUZKWWl4RlFVRlRXU3hGUVVGbFpDeEZRVUZUWlN4SFFVTnFRMnBETEVWQlFVOXZRaXhGUVVGUGNFSXNTMEZEYkVJc1IwRkJTMEVzUlVGQlMzRkNMRkZCUVZOeVFpeEZRVUZMY0VRc1dVRkJlRUlzUTBGSFFYTkZMRVZCUVZWRkxFVkJRVTl3UkN4TlFVTnFRaXhKUVVGSlowUXNSVUZCVFd4RUxFVkJRMDV0UkN4RlFVRk5iRVFzUlVGRFZpeEhRVUZKYVVNc1JVRkJTMjlETEUxQlFVOHNRMEZKV2l4SlFVRkpRU3hGUVVGUmNFTXNSVUZCUzI5RExFMUJRMnBDY0VJc1IwRkJUMjlDTEVWQlFVMTBSU3hGUVVGSmIwUXNSVUZCVld0Q0xFVkJRVTEwUlN4RlFVRkpSU3hGUVVGUlJpeEZRVUZKYjBRc1IwRkJWMEVzUlVGRE5VUkVMRWRCUVU5dFFpeEZRVUZOY2tVc1JVRkJTVzFFTEVWQlFWVnJRaXhGUVVGTmNrVXNSVUZCU1VNc1JVRkJVVVFzUlVGQlNXMUVMRWRCUVZkQkxFVkJSV2hGTEVsQlFVbHRRaXhGUVVGWmRFSXNSVUZCV1VNc1JVRkJTME1zUlVGQlMwTXNSVUZCVXl4RFFVRkZka1FzVlVGQlZTeEZRVUZQTUVRc1QwRkJUeXhKUVVsNlJTeFBRVWhCZGtRc1JVRkJTWFZGTEVWQlFWVjJSU3hGUVVOa1F5eEZRVUZKYzBVc1JVRkJWWFJGTEVWQlEyUkRMRVZCUVZGclJDeEZRVU5FWml4RlFVRnpRaXhqUVVGbFNDeEpRVVZvUkN4VFFVRlRjME1zUlVGQlZVTXNSVUZCVFU0c1IwRkRja0lzU1VGQlNXcERMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRRU3hGUVVGVExFZEJRVWtyU1N4SFFVRlZMRU5CUVVWc1F5eFRRVUZUTEVsQlFWTjVSaXhIUVVONFJTeFBRVUZQUlN4RlFVRkxia1VzUlVGQlVYQkhMRXRCUVVzMFN5eExRVUZMUkN4RlFVRlBMRWRCUVVzc1IwRkJTM1pETEVWQlFVdDRRaXhOUVVGUGQwSXNSMEZSTDBRc1UwRkJVM2xETEVWQlFWbDJRaXhGUVVGVGQwSXNSVUZCVDFRc1IwRkRha01zU1VGQlNYcENMRVZCUVU5eVJpeEZRVUZqYWtNc1IwRkxja0o1U2l4RlFVTlBia01zUlVGQlMzQkdMRTlCUVU5TkxFMUJRMlk0UlN4RlFVRkxjRVlzVDBGQlQxVXNVVUZCVVdwQ0xFdEJRM0JDTWtZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGb1FpeE5RVU53UWpCR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUGFFSXNTMEZEYmtJeVJpeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyWXNUVUZNZGtJMlNDeEZRVTFSYmtNc1JVRkJTM0JHTEU5QlFVOVBMRTlCUTJoQ05rVXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm1MRWxCUTNCQ2VVWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRmtMRTlCUTNCQ2QwWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWtMRWxCUTI1Q2VVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWlMRTlCU1haQ2RrUXNSVUZCVldsTUxFVkJRVTFxVEN4UlFVTm9RaXRKTEVWQlFVdHdSaXhQUVVGUFVDeExRVU5hTWtZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGcVFpeExRVU53UWpKR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUGFFSXNTMEZEYmtJeVJpeEZRVUZMZEVnc1MwRkJTekJETEU5QlFVOW1MRXRCUTJwQ2JrUXNSVUZCVldkTUxFVkJRVTFvVEN4UlFVTm9RamhKTEVWQlFVdHdSaXhQUVVGUFRDeEpRVU5hZVVZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRM0JDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5a0xFbEJRMjVDZVVZc1JVRkJTM1JJTEV0QlFVc3dReXhQUVVGUFlpeEpRVWRvUW10RUxFbEJRMFI0Unl4SFFVRlhLMGtzUlVGQlMzUklMRXRCUVV0M1F5eE5RVUZSYzBNc1JVRkJVU3hGUVVOeVEzUkhMRWRCUVZjNFNTeEZRVUZMZEVnc1MwRkJTM2xETEU5QlFWTnhReXhGUVVGUkxFZEJTekZETEVsQlFVbHZSU3hGUVVGUkxFTkJRMUowUlN4RlFVRkpja2NzUlVGQlZXdE1MRWRCUVhkQ1FTeEZRVUZ6UW5wQ0xFZEJRelZFYmtRc1JVRkJTWEpITEVWQlFWVnBUQ3hIUVVGNVFrRXNSVUZCZFVKNlFpeEpRVVZzUlN4UFFVRlBhVUlzUlVGQlMycENMRVZCUVZOMlRDeEZRVUZUUVN4RlFVRlRMRU5CUVVVMlJ5eFRRVUZUTEVkQlFWTjVSaXhIUVVGakxFTkJRVVZITEUxQlFVOUJMRXRCZEUxMFJrUXNSVUZCUzNwRUxFVkJRVkZJTEZkQlFWa3NRMEZCUlM5Q0xGTkJRVk1zU1VGSmNFTnZSeXhYUVVGWExGZEJRMUIwUXl4SlFVTkJORUlzUlVGQlNYaEVMRVZCUVZGTUxFOUJRVkZMTEVWQlFWRktMRTlCUVZFc1EwRkJSVGxDTEZOQlFWTXNUVUV5VG01RUxFbEJRVWs1Uml4RlFVRlhMRWRCUTJZc1UwRkJVMjFOTEVWQlFWZHNUU3hIUVVWb1FpeEpRV3hXVWl4VFFVRnZRblZETEVWQlFVMTNSaXhIUVVOMFFpeEpRVUZMTEVsQlFVbHZSU3hGUVVGTk5Vb3NSVUZCWVN4TlFVRlFORW9zUlVGQllVRXNSVUZCVFVFc1JVRkJTWHBJTEZkQlEzaERMRWRCUVVsVkxFVkJRVk1yUnl4RlFVRkxjRVVzUlVGQlVYaENMR1ZCUVdsQ2QwSXNSVUZCVVhwQ0xGRkJRVkZhTEZGQlFWRjVSeXhKUVVGUkxFVkJRM1pGTEU5QlFVOHNSVUZIWml4UFFVRlBMRVZCTkZWRFF5eERRVUZYY0Uwc1JVRkJUWEZOTEU5QlFWRjBSU3hIUVVFM1FpeERRVWRCTjBnc1JVRkJWMGdzUlVGQlZVTXNSMEZEY2tKclNpeEhRVUZaTEVWQlExcHVRaXhGUVVGUmRrSXNhVUpCUVdsQ2VFY3NSMEZEZWtJMlNTeEZRVUZSTVVJc1JVRkRVakpDTEVWQlFWRXhRaXhGUVVOU0swSXNSVUZCVVN4bFFVRm5RaXhEUVVGRmFFTXNSVUZCUjBFc1JVRkJSME1zUlVGQlIwRXNSVUZCUjBNc1RVRkJUMEVzUjBGQlUxVXNSMEZIZEVRc1NVRkJTV2RGTEVWQlFWRjBUQ3hGUVVGVlZpeEhRVU4wUW1kS0xFVkJRV1ZuUkN4RlFVRk5ha3dzVVVGRGNrSnJTU3hGUVVGbEswTXNSVUZCVFdoTUxGRkJRM0pDTmtjc1JVRkJZVkFzUlVGRFlqUkNMRVZCUVdkQ2Fra3NSVUZCV1dwQ0xFbEJSV2hETEZOQlFWTnhReXhGUVVGTGNFTXNSMEZEVml4SFFVRkxhMG9zVVVGRFUyOUVMRWxCUVZaNlJDeFJRVU5WZVVRc1NVRkJWbmhFTEZGQlEybENkMFFzU1VGQmFrSjJSQ3hSUVVOcFFuVkVMRWxCUVdwQ2RFUXNSVUZLU2l4RFFVOUJPVWtzUlVGQlYwZ3NSVUZCVlVNc1IwRkRja0lzU1VGQlNYVk5MRVZCUVZVNVRDeEZRVUZWVml4SFFVTjRRaXhIUVVGSlFTeEZRVUZUVUN4UFFVRlRMRVZCUzJ4Q2MwMHNSVUZFWTFRc1IwRkVTSEpMTEVWQlFWbHFRaXhIUVVGWmEwb3NSMEZEUld4Q0xFVkJRVkZHTEV0QlFWRXNSMEZCUzBRc1IwRkJXVkFzVFVGRGFrUnJSaXhIUVVWNlFtaENMRVZCUVVreFF5eEhRVUZUTUVRc1JVRkJVWHBNTEZGQlFWVnBTU3hIUVVGblFqRkNMRVZCUVU5NVFpeEhRVUZUZVVRc1JVRkJVWGhNTEZGQlFWVnBTU3hIUVVGblFqTkNMRVZCUVU4c1EwRkRjRWQ0UWl4VFFVRlRMRXRCUjJwQ0xGTkJRVk15Unl4RlFVRlRlRTBzUjBGSFZTeEpRVUZ3UWtRc1JVRkJVMUFzVVVGRFZESktMRVZCUVZFc1lVRkJZeXhEUVVGRmFFTXNSVUZCUjBFc1JVRkJSME1zUlVGQlIwRXNSVUZCUjBNc1RVRkJUMEVzUjBGQlUxVXNSMEV2YTBKb1JTeFRRVUYxUW1oSkxFVkJRVlZETEVkQlJUZENMRWRCUVVsQkxFVkJRVTFITEZGQlJVNHNTMEZCVDBvc1JVRkJVMUFzVVVGRFdrOHNSVUZCVTJNc1ZVRklha0lzUTBGUFFTeEpRVUZKZUVJc1JVRkJTVk1zUlVGQlpVTXNSVUZCVlVNc1IwRkROMEpZTEVkQlFVc3NSMEZEVEZVc1JVRkJVMUVzVDBGQlQyeENMRVZCUVVjc1NVRjVhMEp1UW05T0xFTkJRV014VFN4RlFVRlZReXhIUVVOdVFtdEtMRWxCUjB4QkxFZEJRVmtzUlVGRFdrd3NSVUZCVVVNc1JVRkJVVU1zUlVGQlpVTXNUMEZCWlhORUxFZEJSV3hFTEVsQlFVbEpMRWRCUVZFc1JVRkRXaXhUUVVGVFF5eEpRVU5FUkN4SlFVZEtRU3hIUVVGUkxFVkJRMUp3U3l4RlFVRlZMRTlCUVZGNVJpeEZRVUZSYWtNc1QwRkJVM0pDTEVWQlFWTnNReXhGUVVGTk1rb3NSMEZEYkVRMVNpeEZRVUZWTEU5QlFWRlFMRk5CUVZWTExFVkJRVTBzUTBGQlJYZExMRk5CUVZNc1NVRkROME4wU3l4RlFVRlZMRXRCUVUxUUxGTkJRVlY1U3l4RlFVRlZMRU5CUVVWSkxGTkJRVk1zUzBGWGJrUXNUMEZJU3pkRkxFVkJRVkU0UlN4UlFVTlVSaXhKUVVWSExFTkJRMGhCTEV0QlFVMUJMRVZCUTA1SExGRkJXRW9zVjBGRFNVb3NSMEZCVVN4RlFVTlNOMG9zUlVGQlpTeFBRVUZSYTBZc1JVRkJVV3BETEU5QlFWTnlRaXhGUVVGVGJFTXNSVUZCVFRKS0xFZEJRM1pFY2tvc1JVRkJaU3hQUVVGUlpDeFRRVUZWU3l4SFFVTnFRMU1zUlVGQlpTeExRVUZOWkN4VFFVRlZlVXNzU1VGUkwwSlBMRmRCUVZrM1N5eEZRVU5hT0Vzc1QwRkJVU3hYUVVGakxFMUJRVThzUTBGQlJ6ZEdMRVZCUVVkQkxFVkJRVWRETEVWQlFVZEJMRWxCUTNwRE5rWXNVMEZCVlN4WFFVRmpMRTlCUVU4MVJpeEhRVU12UWpaR0xGZEJRVmtzVjBGQll5eFBRUzlaYkVNc1UwRkJjMEpETEVkQlEyeENMRWxCUVVsRExFVkJRVkVzUjBGRFdpeEpRVUZMTEVsQlFVbERMRXRCUVU5R0xFVkJRMUpCTEVWQlFVbDRUaXhsUVVGbE1FNHNTMEZEYmtKRUxFVkJRVTFETEVkQlFVOUdMRVZCUVVsRkxFbEJSM3BDTEU5QlFVOUVMRVZCZDFrNFFrVXNRMEZCWVhaR0xFbEJRemxEZDBRc1NVRkJTMEVzUlVGRFRHZERMRTFCYkVkS0xGTkJRV1ZETEVkQlExZ3NTVUZCU1c1RkxFVkJRVTl5U3l4RlFVRlRRU3hGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVkxFTkJRVVZzUXl4VFFVRlRMRVZCUVUwMlJTeFBRVUZQTEVsQlFWTTRReXhIUVVOeVJtNUhMRVZCUVZGblJTeEZRVUZsYUVNc1JVRkJTM3BDTEZkQlFWbDVRaXhIUVVGTmFFTXNUVUZET1VNc1NVRkJTWEZGTEVWQlFWbDBRaXhGUVVGWlppeEZRVUZMTTBJc1QwRkJVVEpDTEVWQlFVc3hRaXhQUVVGUlRpeEZRVUZQWjBNc1IwRkhOMFFzVDBGR1FXeERMRVZCUVVsMVJTeEZRVUZWZGtVc1JVRkRaRU1zUlVGQlNYTkZMRVZCUVZWMFJTeEZRVU5RYjBNc1JVRkJjMElzWlVGQlowSklMRWxCTmtZM1EyOUZMRmRCYkZaS0xGTkJRVzlDY0VVc1IwRkZhRUlzU1VGQlN5eEpRVUZKWjBVc1ZVRkVTU3hKUVVGVWFFVXNTVUZCYlVKQkxFVkJRVThzU1VGRFpFRXNSVUZEVWtFc1JVRkJTekZLTEdWQlFXVXdUaXhMUVVOd1FuUkdMRVZCUVZGelJpeEhRVUZQYUVVc1JVRkJTMmRGTEVsQlNYaENhRVVzUlVGQlN6RktMR1ZCUVdVc1dVRkRjRUkwUXl4RlFVRkxaU3hOUVVGTmVVTXNUMEZCVTNORUxFVkJRVXQwUkN4UlFVVjZRbk5FTEVWQlFVc3hTaXhsUVVGbExHTkJRM0JDT0VVc1JVRkJUMjVDTEUxQlFVMTNSQ3hUUVVGWGRVTXNSVUZCUzNaRExGVkJSVGRDZFVNc1JVRkJTekZLTEdWQlFXVXNhVUpCUTNCQ09FVXNSVUZCVDI1Q0xFMUJRVTEzUlN4WlFVRmpkVUlzUlVGQlMzWkNMRmxCUTJoRGRrWXNSVUZCUzJVc1RVRkJUWGRGTEZsQlFXTjFRaXhGUVVGTGRrSXNZMEZGT1VKMVFpeEZRVUZMTVVvc1pVRkJaU3hoUVVOd1FqQktMRVZCUVVzeFNpeGxRVUZsTEdGQlEzQkNNRW9zUlVGQlN6RktMR1ZCUVdVc1lVRkRjRUpuU3l4TFFUaFVTbkpHTEZOQlFWVXNVMEZCVlROQ0xFVkJRVTAwUWl4SFFVRlRMRTlCUVU5RUxFVkJRVk12UWl4RlFVRk5TU3hGUVVGTk5FSXNTVUZETDBScFNDeExRVUZOUVN4RlFVTk9hME1zVDBGd1Mwb3NVMEZCWjBKd1F5eEhRVU5hTEU5QlFVOUxMRWRCUVZVc1JVRkJUVXdzU1VGdlMzWkNjVU1zVVVGc1Mwb3NVMEZCYVVKeVF5eEhRVU5pTEU5QlFVOUxMRWRCUVZVc1JVRkJUMHdzU1VGclMzaENVU3haUVVGaFFTeEZRVU5pT0VJc1kwRndTRW9zVTBGQmRVSTFUaXhGUVVGUGMwd3NSMEZITVVKMFRDeEZRVUZOTUVjc2FVSkJRMDRzU1VGQlNUSkRMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWZFVRc1IwRkhka04xUXl4SFFVUjVRaXhKUVVGcVFqZE9MRVZCUVUwNFRpeFJRVUZuUWpsT0xFVkJRVTByVGl4UFFVRlRMMDRzUlVGQlRTdE9MRTlCUVZNdlRpeEZRVUZOT0U0c1VVRkRiRVFzUlVGQlNTeEhRVUZMTEVWQlJUZENMRTlCUVU5b1F5eEZRVVJQVkN4RlFVRmxhRVVzUlVGQlVYQkhMRXRCUVVzMFN5eEpRVUZMWjBNc1JVRkJVWGhGTEVWQlFVdDRRaXhMUVVGUkxFZEJRVWwzUWl4SFFVRk5hRU1zVFVGRGJFUnlTQ3hGUVVGUGNVb3NTMEZuU0RORExFOUJSa0YyU3l4RlFVRlJPRWNzWlVGQmFVSkJMRVZCUld4Q09VY2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5QWNHRnVlbTl2YlM5d1lXNTZiMjl0TDJScGMzUXZjR0Z1ZW05dmJTNXFjeUo5IiwibW9kdWxlLmV4cG9ydHM9cmVxdWlyZShcIi4vbGliL2F4aW9zXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnlaWEYxYVhKbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFVRXNUMEZCVDBNc1VVRkJWVU1zVVVGQlVTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMmx1WkdWNExtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLHNldHRsZT1yZXF1aXJlKFwiLi8uLi9jb3JlL3NldHRsZVwiKSxjb29raWVzPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvY29va2llc1wiKSxidWlsZFVSTD1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL2J1aWxkVVJMXCIpLGJ1aWxkRnVsbFBhdGg9cmVxdWlyZShcIi4uL2NvcmUvYnVpbGRGdWxsUGF0aFwiKSxwYXJzZUhlYWRlcnM9cmVxdWlyZShcIi4vLi4vaGVscGVycy9wYXJzZUhlYWRlcnNcIiksaXNVUkxTYW1lT3JpZ2luPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvaXNVUkxTYW1lT3JpZ2luXCIpLGNyZWF0ZUVycm9yPXJlcXVpcmUoXCIuLi9jb3JlL2NyZWF0ZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLHQpe3ZhciBzPWUuZGF0YSxvPWUuaGVhZGVyczt1dGlscy5pc0Zvcm1EYXRhKHMpJiZkZWxldGUgb1tcIkNvbnRlbnQtVHlwZVwiXTt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoZS5hdXRoKXt2YXIgbj1lLmF1dGgudXNlcm5hbWV8fFwiXCIsaT1lLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUuYXV0aC5wYXNzd29yZCkpOlwiXCI7by5BdXRob3JpemF0aW9uPVwiQmFzaWMgXCIrYnRvYShuK1wiOlwiK2kpfXZhciB1PWJ1aWxkRnVsbFBhdGgoZS5iYXNlVVJMLGUudXJsKTtpZihhLm9wZW4oZS5tZXRob2QudG9VcHBlckNhc2UoKSxidWlsZFVSTCh1LGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplciksITApLGEudGltZW91dD1lLnRpbWVvdXQsYS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZihhJiY0PT09YS5yZWFkeVN0YXRlJiYoMCE9PWEuc3RhdHVzfHxhLnJlc3BvbnNlVVJMJiYwPT09YS5yZXNwb25zZVVSTC5pbmRleE9mKFwiZmlsZTpcIikpKXt2YXIgcz1cImdldEFsbFJlc3BvbnNlSGVhZGVyc1wiaW4gYT9wYXJzZUhlYWRlcnMoYS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk6bnVsbCxvPXtkYXRhOmUucmVzcG9uc2VUeXBlJiZcInRleHRcIiE9PWUucmVzcG9uc2VUeXBlP2EucmVzcG9uc2U6YS5yZXNwb25zZVRleHQsc3RhdHVzOmEuc3RhdHVzLHN0YXR1c1RleHQ6YS5zdGF0dXNUZXh0LGhlYWRlcnM6cyxjb25maWc6ZSxyZXF1ZXN0OmF9O3NldHRsZShyLHQsbyksYT1udWxsfX0sYS5vbmFib3J0PWZ1bmN0aW9uKCl7YSYmKHQoY3JlYXRlRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIixlLFwiRUNPTk5BQk9SVEVEXCIsYSkpLGE9bnVsbCl9LGEub25lcnJvcj1mdW5jdGlvbigpe3QoY3JlYXRlRXJyb3IoXCJOZXR3b3JrIEVycm9yXCIsZSxudWxsLGEpKSxhPW51bGx9LGEub250aW1lb3V0PWZ1bmN0aW9uKCl7dmFyIHI9XCJ0aW1lb3V0IG9mIFwiK2UudGltZW91dCtcIm1zIGV4Y2VlZGVkXCI7ZS50aW1lb3V0RXJyb3JNZXNzYWdlJiYocj1lLnRpbWVvdXRFcnJvck1lc3NhZ2UpLHQoY3JlYXRlRXJyb3IocixlLFwiRUNPTk5BQk9SVEVEXCIsYSkpLGE9bnVsbH0sdXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSl7dmFyIGw9KGUud2l0aENyZWRlbnRpYWxzfHxpc1VSTFNhbWVPcmlnaW4odSkpJiZlLnhzcmZDb29raWVOYW1lP2Nvb2tpZXMucmVhZChlLnhzcmZDb29raWVOYW1lKTp2b2lkIDA7bCYmKG9bZS54c3JmSGVhZGVyTmFtZV09bCl9aWYoXCJzZXRSZXF1ZXN0SGVhZGVyXCJpbiBhJiZ1dGlscy5mb3JFYWNoKG8sZnVuY3Rpb24oZSxyKXt2b2lkIDA9PT1zJiZcImNvbnRlbnQtdHlwZVwiPT09ci50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBvW3JdOmEuc2V0UmVxdWVzdEhlYWRlcihyLGUpfSksdXRpbHMuaXNVbmRlZmluZWQoZS53aXRoQ3JlZGVudGlhbHMpfHwoYS53aXRoQ3JlZGVudGlhbHM9ISFlLndpdGhDcmVkZW50aWFscyksZS5yZXNwb25zZVR5cGUpdHJ5e2EucmVzcG9uc2VUeXBlPWUucmVzcG9uc2VUeXBlfWNhdGNoKHIpe2lmKFwianNvblwiIT09ZS5yZXNwb25zZVR5cGUpdGhyb3cgcn1cImZ1bmN0aW9uXCI9PXR5cGVvZiBlLm9uRG93bmxvYWRQcm9ncmVzcyYmYS5hZGRFdmVudExpc3RlbmVyKFwicHJvZ3Jlc3NcIixlLm9uRG93bmxvYWRQcm9ncmVzcyksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5vblVwbG9hZFByb2dyZXNzJiZhLnVwbG9hZCYmYS51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsZS5vblVwbG9hZFByb2dyZXNzKSxlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnByb21pc2UudGhlbihmdW5jdGlvbihlKXthJiYoYS5hYm9ydCgpLHQoZSksYT1udWxsKX0pLHN8fChzPW51bGwpLGEuc2VuZChzKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluaG9jaTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSnpaWFIwYkdVaUxDSmpiMjlyYVdWeklpd2lZblZwYkdSVlVrd2lMQ0ppZFdsc1pFWjFiR3hRWVhSb0lpd2ljR0Z5YzJWSVpXRmtaWEp6SWl3aWFYTlZVa3hUWVcxbFQzSnBaMmx1SWl3aVkzSmxZWFJsUlhKeWIzSWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWTI5dVptbG5JaXdpVUhKdmJXbHpaU0lzSW5KbGMyOXNkbVVpTENKeVpXcGxZM1FpTENKeVpYRjFaWE4wUkdGMFlTSXNJbVJoZEdFaUxDSnlaWEYxWlhOMFNHVmhaR1Z5Y3lJc0ltaGxZV1JsY25NaUxDSnBjMFp2Y20xRVlYUmhJaXdpY21WeGRXVnpkQ0lzSWxoTlRFaDBkSEJTWlhGMVpYTjBJaXdpWVhWMGFDSXNJblZ6WlhKdVlXMWxJaXdpY0dGemMzZHZjbVFpTENKMWJtVnpZMkZ3WlNJc0ltVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDSXNJa0YxZEdodmNtbDZZWFJwYjI0aUxDSmlkRzloSWl3aVpuVnNiRkJoZEdnaUxDSmlZWE5sVlZKTUlpd2lkWEpzSWl3aWIzQmxiaUlzSW0xbGRHaHZaQ0lzSW5SdlZYQndaWEpEWVhObElpd2ljR0Z5WVcxeklpd2ljR0Z5WVcxelUyVnlhV0ZzYVhwbGNpSXNJblJwYldWdmRYUWlMQ0p2Ym5KbFlXUjVjM1JoZEdWamFHRnVaMlVpTENKeVpXRmtlVk4wWVhSbElpd2ljM1JoZEhWeklpd2ljbVZ6Y0c5dWMyVlZVa3dpTENKcGJtUmxlRTltSWl3aWNtVnpjRzl1YzJWSVpXRmtaWEp6SWl3aVoyVjBRV3hzVW1WemNHOXVjMlZJWldGa1pYSnpJaXdpY21WemNHOXVjMlVpTENKeVpYTndiMjV6WlZSNWNHVWlMQ0p5WlhOd2IyNXpaVlJsZUhRaUxDSnpkR0YwZFhOVVpYaDBJaXdpYjI1aFltOXlkQ0lzSW05dVpYSnliM0lpTENKdmJuUnBiV1Z2ZFhRaUxDSjBhVzFsYjNWMFJYSnliM0pOWlhOellXZGxJaXdpYVhOVGRHRnVaR0Z5WkVKeWIzZHpaWEpGYm5ZaUxDSjRjM0ptVm1Gc2RXVWlMQ0ozYVhSb1EzSmxaR1Z1ZEdsaGJITWlMQ0o0YzNKbVEyOXZhMmxsVG1GdFpTSXNJbkpsWVdRaUxDSjFibVJsWm1sdVpXUWlMQ0o0YzNKbVNHVmhaR1Z5VG1GdFpTSXNJbVp2Y2tWaFkyZ2lMQ0oyWVd3aUxDSnJaWGtpTENKMGIweHZkMlZ5UTJGelpTSXNJbk5sZEZKbGNYVmxjM1JJWldGa1pYSWlMQ0pwYzFWdVpHVm1hVzVsWkNJc0ltVWlMQ0p2YmtSdmQyNXNiMkZrVUhKdlozSmxjM01pTENKaFpHUkZkbVZ1ZEV4cGMzUmxibVZ5SWl3aWIyNVZjR3h2WVdSUWNtOW5jbVZ6Y3lJc0luVndiRzloWkNJc0ltTmhibU5sYkZSdmEyVnVJaXdpY0hKdmJXbHpaU0lzSW5Sb1pXNGlMQ0pqWVc1alpXd2lMQ0poWW05eWRDSXNJbk5sYm1RaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hqUVVOb1FrTXNUMEZCVTBRc1VVRkJVU3h2UWtGRGFrSkZMRkZCUVZWR0xGRkJRVkVzZDBKQlEyeENSeXhUUVVGWFNDeFJRVUZSTEhsQ1FVTnVRa2tzWTBGQlowSktMRkZCUVZFc2VVSkJRM2hDU3l4aFFVRmxUQ3hSUVVGUkxEWkNRVU4yUWswc1owSkJRV3RDVGl4UlFVRlJMR2REUVVNeFFrOHNXVUZCWTFBc1VVRkJVU3gxUWtGRk1VSlJMRTlCUVU5RExGRkJRVlVzVTBGQmIwSkRMRWRCUTI1RExFOUJRVThzU1VGQlNVTXNVVUZCVVN4VFFVRTBRa01zUlVGQlUwTXNSMEZEZEVRc1NVRkJTVU1zUlVGQlkwb3NSVUZCVDBzc1MwRkRja0pETEVWQlFXbENUaXhGUVVGUFR5eFJRVVY0UW14Q0xFMUJRVTF0UWl4WFFVRlhTaXhYUVVOYVJTeEZRVUZsTEdkQ1FVZDRRaXhKUVVGSlJ5eEZRVUZWTEVsQlFVbERMR1ZCUjJ4Q0xFZEJRVWxXTEVWQlFVOVhMRXRCUVUwc1EwRkRaaXhKUVVGSlF5eEZRVUZYV2l4RlFVRlBWeXhMUVVGTFF5eFZRVUZaTEVkQlEyNURReXhGUVVGWFlpeEZRVUZQVnl4TFFVRkxSU3hUUVVGWFF5eFRRVUZUUXl4dFFrRkJiVUptTEVWQlFVOVhMRXRCUVV0RkxGZEJRV0VzUjBGRE0wWlFMRVZCUVdWVkxHTkJRV2RDTEZOQlFWZERMRXRCUVV0TUxFVkJRVmNzU1VGQlRVTXNSMEZIYkVVc1NVRkJTVXNzUlVGQlYzaENMR05CUVdOTkxFVkJRVTl0UWl4UlFVRlRia0lzUlVGQlQyOUNMRXRCTkVWd1JDeEhRVE5GUVZnc1JVRkJVVmtzUzBGQlMzSkNMRVZCUVU5elFpeFBRVUZQUXl4alFVRmxPVUlzVTBGQlUzbENMRVZCUVZWc1FpeEZRVUZQZDBJc1QwRkJVWGhDTEVWQlFVOTVRaXh0UWtGQmJVSXNSMEZIZEVkb1FpeEZRVUZSYVVJc1VVRkJWVEZDTEVWQlFVOHdRaXhSUVVkNlFtcENMRVZCUVZGclFpeHRRa0ZCY1VJc1YwRkRNMElzUjBGQlMyeENMRWRCUVd0RExFbEJRWFpDUVN4RlFVRlJiVUlzWVVGUlJDeEpRVUZ1UW01Q0xFVkJRVkZ2UWl4UlFVRnJRbkJDTEVWQlFWRnhRaXhoUVVGM1JDeEpRVUY2UTNKQ0xFVkJRVkZ4UWl4WlFVRlpReXhSUVVGUkxGVkJRV3BHTEVOQlMwRXNTVUZCU1VNc1JVRkJhMElzTUVKQlFUSkNka0lzUlVGQlZXUXNZVUZCWVdNc1JVRkJVWGRDTEhsQ1FVRXlRaXhMUVVWMlIwTXNSVUZCVnl4RFFVTmlOMElzUzBGR2EwSk1MRVZCUVU5dFF5eGpRVUYzUXl4VFFVRjRRbTVETEVWQlFVOXRReXhoUVVGcFJERkNMRVZCUVZGNVFpeFRRVUV2UW5wQ0xFVkJRVkV5UWl4aFFVZHNSbEFzVDBGQlVYQkNMRVZCUVZGdlFpeFBRVU5vUWxFc1YwRkJXVFZDTEVWQlFWRTBRaXhYUVVOd1FqbENMRkZCUVZONVFpeEZRVU5VYUVNc1QwRkJVVUVzUlVGRFVsTXNVVUZCVTBFc1IwRkhXR3hDTEU5QlFVOVhMRVZCUVZORExFVkJRVkVyUWl4SFFVZDRRbnBDTEVWQlFWVXNUMEZKV2tFc1JVRkJVVFpDTEZGQlFWVXNWMEZEV0RkQ0xFbEJTVXhPTEVWQlFVOU9MRmxCUVZrc2EwSkJRVzFDUnl4RlFVRlJMR1ZCUVdkQ1V5eEpRVWM1UkVFc1JVRkJWU3hQUVVsYVFTeEZRVUZST0VJc1VVRkJWU3hYUVVkb1FuQkRMRVZCUVU5T0xGbEJRVmtzWjBKQlFXbENSeXhGUVVGUkxFdEJRVTFUTEVsQlIyeEVRU3hGUVVGVkxFMUJTVnBCTEVWQlFWRXJRaXhWUVVGWkxGZEJRMnhDTEVsQlFVbERMRVZCUVhOQ0xHTkJRV2RDZWtNc1JVRkJUekJDTEZGQlFWVXNZMEZEZGtReFFpeEZRVUZQZVVNc2MwSkJRMVJCTEVWQlFYTkNla01zUlVGQlQzbERMSEZDUVVVdlFuUkRMRVZCUVU5T0xGbEJRVmswUXl4RlFVRnhRbnBETEVWQlFWRXNaVUZET1VOVExFbEJSMFpCTEVWQlFWVXNUVUZOVW5CQ0xFMUJRVTF4UkN4MVFrRkJkMElzUTBGRmFFTXNTVUZCU1VNc1IwRkJZVE5ETEVWQlFVODBReXhwUWtGQmJVSm9SQ3huUWtGQlowSnpRaXhMUVVGamJFSXNSVUZCVHpaRExHVkJRemxGY2tRc1VVRkJVWE5FTEV0QlFVczVReXhGUVVGUE5rTXNjVUpCUTNCQ1JTeEZRVVZGU2l4SlFVTkdja01zUlVGQlpVNHNSVUZCVDJkRUxHZENRVUZyUWt3c1IwRjFRalZETEVkQmJFSkpMSEZDUVVGelFteERMRWRCUTNoQ2NFSXNUVUZCVFRSRUxGRkJRVkV6UXl4RlFVRm5RaXhUUVVFd1FqUkRMRVZCUVV0RExGRkJRMmhETEVsQlFXaENMME1zUjBGQmNVUXNhVUpCUVhSQ0swTXNSVUZCU1VNc2NVSkJSWEpET1VNc1JVRkJaVFpETEVkQlIzUkNNVU1zUlVGQlVUUkRMR2xDUVVGcFFrWXNSVUZCUzBRc1MwRk5MMEkzUkN4TlFVRk5hVVVzV1VGQldYUkVMRVZCUVU4MFF5eHRRa0ZETlVKdVF5eEZRVUZSYlVNc2EwSkJRVzlDTlVNc1JVRkJUelJETEdsQ1FVbHFRelZETEVWQlFVOXRReXhoUVVOVUxFbEJRMFV4UWl4RlFVRlJNRUlzWVVGQlpXNURMRVZCUVU5dFF5eGhRVU01UWl4TlFVRlBiMElzUjBGSFVDeEhRVUUwUWl4VFFVRjRRblpFTEVWQlFVOXRReXhoUVVOVUxFMUJRVTF2UWl4RlFVMDJRaXh0UWtGQk9VSjJSQ3hGUVVGUGQwUXNiMEpCUTJoQ0wwTXNSVUZCVVdkRUxHbENRVUZwUWl4WFFVRlpla1FzUlVGQlQzZEVMRzlDUVVsUUxHMUNRVUUxUW5oRUxFVkJRVTh3UkN4clFrRkJiVU5xUkN4RlFVRlJhMFFzVVVGRE0wUnNSQ3hGUVVGUmEwUXNUMEZCVDBZc2FVSkJRV2xDTEZkQlFWbDZSQ3hGUVVGUE1FUXNhMEpCUjJwRU1VUXNSVUZCVHpSRUxHRkJSVlExUkN4RlFVRlBORVFzV1VGQldVTXNVVUZCVVVNc1MwRkJTeXhUUVVGdlFrTXNSMEZETjBOMFJDeEpRVWxNUVN4RlFVRlJkVVFzVVVGRFVqZEVMRVZCUVU4MFJDeEhRVVZRZEVRc1JVRkJWU3hSUVVsVVRDeEpRVU5JUVN4RlFVRmpMRTFCU1doQ1N5eEZRVUZSZDBRc1MwRkJTemRFSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMkZrWVhCMFpYSnpMM2hvY2k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vdXRpbHNcIiksYmluZD1yZXF1aXJlKFwiLi9oZWxwZXJzL2JpbmRcIiksQXhpb3M9cmVxdWlyZShcIi4vY29yZS9BeGlvc1wiKSxtZXJnZUNvbmZpZz1yZXF1aXJlKFwiLi9jb3JlL21lcmdlQ29uZmlnXCIpLGRlZmF1bHRzPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpO2Z1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKGUpe3ZhciByPW5ldyBBeGlvcyhlKSxpPWJpbmQoQXhpb3MucHJvdG90eXBlLnJlcXVlc3Qscik7cmV0dXJuIHV0aWxzLmV4dGVuZChpLEF4aW9zLnByb3RvdHlwZSxyKSx1dGlscy5leHRlbmQoaSxyKSxpfXZhciBheGlvcz1jcmVhdGVJbnN0YW5jZShkZWZhdWx0cyk7YXhpb3MuQXhpb3M9QXhpb3MsYXhpb3MuY3JlYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBjcmVhdGVJbnN0YW5jZShtZXJnZUNvbmZpZyhheGlvcy5kZWZhdWx0cyxlKSl9LGF4aW9zLkNhbmNlbD1yZXF1aXJlKFwiLi9jYW5jZWwvQ2FuY2VsXCIpLGF4aW9zLkNhbmNlbFRva2VuPXJlcXVpcmUoXCIuL2NhbmNlbC9DYW5jZWxUb2tlblwiKSxheGlvcy5pc0NhbmNlbD1yZXF1aXJlKFwiLi9jYW5jZWwvaXNDYW5jZWxcIiksYXhpb3MuYWxsPWZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLmFsbChlKX0sYXhpb3Muc3ByZWFkPXJlcXVpcmUoXCIuL2hlbHBlcnMvc3ByZWFkXCIpLGF4aW9zLmlzQXhpb3NFcnJvcj1yZXF1aXJlKFwiLi9oZWxwZXJzL2lzQXhpb3NFcnJvclwiKSxtb2R1bGUuZXhwb3J0cz1heGlvcyxtb2R1bGUuZXhwb3J0cy5kZWZhdWx0PWF4aW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1GNGFXOXpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltSnBibVFpTENKQmVHbHZjeUlzSW0xbGNtZGxRMjl1Wm1sbklpd2laR1ZtWVhWc2RITWlMQ0pqY21WaGRHVkpibk4wWVc1alpTSXNJbVJsWm1GMWJIUkRiMjVtYVdjaUxDSmpiMjUwWlhoMElpd2lhVzV6ZEdGdVkyVWlMQ0p3Y205MGIzUjVjR1VpTENKeVpYRjFaWE4wSWl3aVpYaDBaVzVrSWl3aVlYaHBiM01pTENKamNtVmhkR1VpTENKcGJuTjBZVzVqWlVOdmJtWnBaeUlzSWtOaGJtTmxiQ0lzSWtOaGJtTmxiRlJ2YTJWdUlpd2lhWE5EWVc1alpXd2lMQ0poYkd3aUxDSndjbTl0YVhObGN5SXNJbEJ5YjIxcGMyVWlMQ0p6Y0hKbFlXUWlMQ0pwYzBGNGFXOXpSWEp5YjNJaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laR1ZtWVhWc2RDSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEZkQlEyaENReXhMUVVGUFJDeFJRVUZSTEd0Q1FVTm1SU3hOUVVGUlJpeFJRVUZSTEdkQ1FVTm9Ra2NzV1VGQlkwZ3NVVUZCVVN4elFrRkRkRUpKTEZOQlFWZEtMRkZCUVZFc1kwRlJka0lzVTBGQlUwc3NaVUZCWlVNc1IwRkRkRUlzU1VGQlNVTXNSVUZCVlN4SlFVRkpUQ3hOUVVGTlNTeEhRVU53UWtVc1JVRkJWMUFzUzBGQlMwTXNUVUZCVFU4c1ZVRkJWVU1zVVVGQlUwZ3NSMEZSTjBNc1QwRk1RVklzVFVGQlRWa3NUMEZCVDBnc1JVRkJWVTRzVFVGQlRVOHNWVUZCVjBZc1IwRkhlRU5TTEUxQlFVMVpMRTlCUVU5SUxFVkJRVlZFTEVkQlJXaENReXhGUVVsVUxFbEJRVWxKTEUxQlFWRlFMR1ZCUVdWRUxGVkJSek5DVVN4TlFVRk5WaXhOUVVGUlFTeE5RVWRrVlN4TlFVRk5ReXhQUVVGVExGTkJRV2RDUXl4SFFVTTNRaXhQUVVGUFZDeGxRVUZsUml4WlFVRlpVeXhOUVVGTlVpeFRRVUZWVlN4TFFVbHdSRVlzVFVGQlRVY3NUMEZCVTJZc1VVRkJVU3h0UWtGRGRrSlpMRTFCUVUxSkxGbEJRV05vUWl4UlFVRlJMSGRDUVVNMVFsa3NUVUZCVFVzc1UwRkJWMnBDTEZGQlFWRXNjVUpCUjNwQ1dTeE5RVUZOVFN4SlFVRk5MRk5CUVdGRExFZEJRM1pDTEU5QlFVOURMRkZCUVZGR0xFbEJRVWxETEVsQlJYSkNVQ3hOUVVGTlV5eFBRVUZUY2tJc1VVRkJVU3h2UWtGSGRrSlpMRTFCUVUxVkxHRkJRV1YwUWl4UlFVRlJMREJDUVVVM1FuVkNMRTlCUVU5RExGRkJRVlZhTEUxQlIycENWeXhQUVVGUFF5eFJRVUZSUXl4UlFVRlZZaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOWhlR2x2Y3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBDYW5jZWwoZSl7dGhpcy5tZXNzYWdlPWV9Q2FuY2VsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiQ2FuY2VsXCIrKHRoaXMubWVzc2FnZT9cIjogXCIrdGhpcy5tZXNzYWdlOlwiXCIpfSxDYW5jZWwucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsbW9kdWxlLmV4cG9ydHM9Q2FuY2VsO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtOaGJtTmxiQzVxY3lKZExDSnVZVzFsY3lJNld5SkRZVzVqWld3aUxDSnRaWE56WVdkbElpd2lkR2hwY3lJc0luQnliM1J2ZEhsd1pTSXNJblJ2VTNSeWFXNW5JaXdpWDE5RFFVNURSVXhmWHlJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJVVUVzVTBGQlUwRXNUMEZCVDBNc1IwRkRaRU1zUzBGQlMwUXNVVUZCVlVFc1JVRkhha0pFTEU5QlFVOUhMRlZCUVZWRExGTkJRVmNzVjBGRE1VSXNUVUZCVHl4VlFVRlpSaXhMUVVGTFJDeFJRVUZWTEV0QlFVOURMRXRCUVV0RUxGRkJRVlVzUzBGSE1VUkVMRTlCUVU5SExGVkJRVlZGTEZsQlFXRXNSVUZGT1VKRExFOUJRVTlETEZGQlFWVlFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTmhibU5sYkM5RFlXNWpaV3d1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgQ2FuY2VsPXJlcXVpcmUoXCIuL0NhbmNlbFwiKTtmdW5jdGlvbiBDYW5jZWxUb2tlbihlKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoXCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uXCIpO3ZhciBuO3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtuPWV9KTt2YXIgbz10aGlzO2UoZnVuY3Rpb24oZSl7by5yZWFzb258fChvLnJlYXNvbj1uZXcgQ2FuY2VsKGUpLG4oby5yZWFzb24pKX0pfUNhbmNlbFRva2VuLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LENhbmNlbFRva2VuLnNvdXJjZT1mdW5jdGlvbigpe3ZhciBlO3JldHVybnt0b2tlbjpuZXcgQ2FuY2VsVG9rZW4oZnVuY3Rpb24obil7ZT1ufSksY2FuY2VsOmV9fSxtb2R1bGUuZXhwb3J0cz1DYW5jZWxUb2tlbjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrTmhibU5sYkZSdmEyVnVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrTmhibU5sYkNJc0luSmxjWFZwY21VaUxDSkRZVzVqWld4VWIydGxiaUlzSW1WNFpXTjFkRzl5SWl3aVZIbHdaVVZ5Y205eUlpd2ljbVZ6YjJ4MlpWQnliMjFwYzJVaUxDSjBhR2x6SWl3aWNISnZiV2x6WlNJc0lsQnliMjFwYzJVaUxDSnlaWE52YkhabElpd2lkRzlyWlc0aUxDSnRaWE56WVdkbElpd2ljbVZoYzI5dUlpd2ljSEp2ZEc5MGVYQmxJaXdpZEdoeWIzZEpabEpsY1hWbGMzUmxaQ0lzSW5OdmRYSmpaU0lzSW1OaGJtTmxiQ0lzSW1NaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTlCUVZORExGRkJRVkVzV1VGUmNrSXNVMEZCVTBNc1dVRkJXVU1zUjBGRGJrSXNSMEZCZDBJc2JVSkJRV0pCTEVWQlExUXNUVUZCVFN4SlFVRkpReXhWUVVGVkxHZERRVWQwUWl4SlFVRkpReXhGUVVOS1F5eExRVUZMUXl4UlFVRlZMRWxCUVVsRExGRkJRVkVzVTBGQmVVSkRMRWRCUTJ4RVNpeEZRVUZwUWtrc1NVRkhia0lzU1VGQlNVTXNSVUZCVVVvc1MwRkRXa2dzUlVGQlV5eFRRVUZuUWxFc1IwRkRia0pFTEVWQlFVMUZMRk5CUzFaR0xFVkJRVTFGTEU5QlFWTXNTVUZCU1Zvc1QwRkJUMWNzUjBGRE1VSk9MRVZCUVdWTExFVkJRVTFGTEZkQlQzcENWaXhaUVVGWlZ5eFZRVUZWUXl4cFFrRkJiVUlzVjBGRGRrTXNSMEZCU1ZJc1MwRkJTMDBzVDBGRFVDeE5RVUZOVGl4TFFVRkxUU3hSUVZGbVZpeFpRVUZaWVN4UFFVRlRMRmRCUTI1Q0xFbEJRVWxETEVWQlNVb3NUVUZCVHl4RFFVTk1UaXhOUVVwVkxFbEJRVWxTTEZsQlFWa3NVMEZCYTBKbExFZEJRelZEUkN4RlFVRlRReXhKUVVsVVJDeFBRVUZSUVN4SlFVbGFSU3hQUVVGUFF5eFJRVUZWYWtJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMME5oYm1ObGJGUnZhMlZ1TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hKCF0fHwhdC5fX0NBTkNFTF9fKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6UTJGdVkyVnNMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSjJZV3gxWlNJc0lsOWZRMEZPUTBWTVgxOGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVGQkxFOUJRVTlETEZGQlFWVXNVMEZCYTBKRExFZEJRMnBETEZOQlFWVkJMRWxCUVZOQkxFVkJRVTFESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk5oYm1ObGJDOXBjME5oYm1ObGJDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLGJ1aWxkVVJMPXJlcXVpcmUoXCIuLi9oZWxwZXJzL2J1aWxkVVJMXCIpLEludGVyY2VwdG9yTWFuYWdlcj1yZXF1aXJlKFwiLi9JbnRlcmNlcHRvck1hbmFnZXJcIiksZGlzcGF0Y2hSZXF1ZXN0PXJlcXVpcmUoXCIuL2Rpc3BhdGNoUmVxdWVzdFwiKSxtZXJnZUNvbmZpZz1yZXF1aXJlKFwiLi9tZXJnZUNvbmZpZ1wiKTtmdW5jdGlvbiBBeGlvcyhlKXt0aGlzLmRlZmF1bHRzPWUsdGhpcy5pbnRlcmNlcHRvcnM9e3JlcXVlc3Q6bmV3IEludGVyY2VwdG9yTWFuYWdlcixyZXNwb25zZTpuZXcgSW50ZXJjZXB0b3JNYW5hZ2VyfX1BeGlvcy5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihlKXtcInN0cmluZ1wiPT10eXBlb2YgZT8oZT1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOmU9ZXx8e30sKGU9bWVyZ2VDb25maWcodGhpcy5kZWZhdWx0cyxlKSkubWV0aG9kP2UubWV0aG9kPWUubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/ZS5tZXRob2Q9dGhpcy5kZWZhdWx0cy5tZXRob2QudG9Mb3dlckNhc2UoKTplLm1ldGhvZD1cImdldFwiO3ZhciB0PVtkaXNwYXRjaFJlcXVlc3Qsdm9pZCAwXSxyPVByb21pc2UucmVzb2x2ZShlKTtmb3IodGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QudW5zaGlmdChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKX0pLHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goZnVuY3Rpb24oZSl7dC5wdXNoKGUuZnVsZmlsbGVkLGUucmVqZWN0ZWQpfSk7dC5sZW5ndGg7KXI9ci50aGVuKHQuc2hpZnQoKSx0LnNoaWZ0KCkpO3JldHVybiByfSxBeGlvcy5wcm90b3R5cGUuZ2V0VXJpPWZ1bmN0aW9uKGUpe3JldHVybiBlPW1lcmdlQ29uZmlnKHRoaXMuZGVmYXVsdHMsZSksYnVpbGRVUkwoZS51cmwsZS5wYXJhbXMsZS5wYXJhbXNTZXJpYWxpemVyKS5yZXBsYWNlKC9eXFw/LyxcIlwiKX0sdXRpbHMuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiLFwib3B0aW9uc1wiXSxmdW5jdGlvbihlKXtBeGlvcy5wcm90b3R5cGVbZV09ZnVuY3Rpb24odCxyKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KG1lcmdlQ29uZmlnKHJ8fHt9LHttZXRob2Q6ZSx1cmw6dCxkYXRhOihyfHx7fSkuZGF0YX0pKX19KSx1dGlscy5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sZnVuY3Rpb24oZSl7QXhpb3MucHJvdG90eXBlW2VdPWZ1bmN0aW9uKHQscixvKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KG1lcmdlQ29uZmlnKG98fHt9LHttZXRob2Q6ZSx1cmw6dCxkYXRhOnJ9KSl9fSksbW9kdWxlLmV4cG9ydHM9QXhpb3M7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa0Y0YVc5ekxtcHpJbDBzSW01aGJXVnpJanBiSW5WMGFXeHpJaXdpY21WeGRXbHlaU0lzSW1KMWFXeGtWVkpNSWl3aVNXNTBaWEpqWlhCMGIzSk5ZVzVoWjJWeUlpd2laR2x6Y0dGMFkyaFNaWEYxWlhOMElpd2liV1Z5WjJWRGIyNW1hV2NpTENKQmVHbHZjeUlzSW1sdWMzUmhibU5sUTI5dVptbG5JaXdpZEdocGN5SXNJbVJsWm1GMWJIUnpJaXdpYVc1MFpYSmpaWEIwYjNKeklpd2ljbVZ4ZFdWemRDSXNJbkpsYzNCdmJuTmxJaXdpY0hKdmRHOTBlWEJsSWl3aVkyOXVabWxuSWl3aVlYSm5kVzFsYm5Seklpd2lkWEpzSWl3aWJXVjBhRzlrSWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0pqYUdGcGJpSXNJblZ1WkdWbWFXNWxaQ0lzSW5CeWIyMXBjMlVpTENKUWNtOXRhWE5sSWl3aWNtVnpiMngyWlNJc0ltWnZja1ZoWTJnaUxDSnBiblJsY21ObGNIUnZjaUlzSW5WdWMyaHBablFpTENKbWRXeG1hV3hzWldRaUxDSnlaV3BsWTNSbFpDSXNJbkIxYzJnaUxDSnNaVzVuZEdnaUxDSjBhR1Z1SWl3aWMyaHBablFpTENKblpYUlZjbWtpTENKd1lYSmhiWE1pTENKd1lYSmhiWE5UWlhKcFlXeHBlbVZ5SWl3aWNtVndiR0ZqWlNJc0ltUmhkR0VpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxFMUJRVkZETEZGQlFWRXNZMEZEYUVKRExGTkJRVmRFTEZGQlFWRXNkVUpCUTI1Q1JTeHRRa0ZCY1VKR0xGRkJRVkVzZDBKQlF6ZENSeXhuUWtGQmEwSklMRkZCUVZFc2NVSkJRekZDU1N4WlFVRmpTaXhSUVVGUkxHbENRVTh4UWl4VFFVRlRTeXhOUVVGTlF5eEhRVU5pUXl4TFFVRkxReXhUUVVGWFJpeEZRVU5vUWtNc1MwRkJTMFVzWVVGQlpTeERRVU5zUWtNc1VVRkJVeXhKUVVGSlVpeHRRa0ZEWWxNc1UwRkJWU3hKUVVGSlZDeHZRa0ZUYkVKSExFMUJRVTFQTEZWQlFWVkdMRkZCUVZVc1UwRkJhVUpITEVkQlIyNUNMR2xDUVVGWVFTeEhRVU5VUVN4RlFVRlRReXhWUVVGVkxFbEJRVTBzU1VGRGJFSkRMRWxCUVUxRUxGVkJRVlVzUjBGRmRrSkVMRVZCUVZOQkxFZEJRVlVzU1VGSGNrSkJMRVZCUVZOVUxGbEJRVmxITEV0QlFVdERMRk5CUVZWTExFbEJSM3BDUnl4UFFVTlVTQ3hGUVVGUFJ5eFBRVUZUU0N4RlFVRlBSeXhQUVVGUFF5eGpRVU55UWxZc1MwRkJTME1zVTBGQlUxRXNUMEZEZGtKSUxFVkJRVTlITEU5QlFWTlVMRXRCUVV0RExGTkJRVk5STEU5QlFVOURMR05CUlhKRFNpeEZRVUZQUnl4UFFVRlRMRTFCU1d4Q0xFbEJRVWxGTEVWQlFWRXNRMEZCUTJZc2NVSkJRV2xDWjBJc1IwRkRNVUpETEVWQlFWVkRMRkZCUVZGRExGRkJRVkZVTEVkQlZUbENMRWxCVWtGT0xFdEJRVXRGTEdGQlFXRkRMRkZCUVZGaExGRkJRVkVzVTBGQmIwTkRMRWRCUTNCRlRpeEZRVUZOVHl4UlFVRlJSQ3hGUVVGWlJTeFZRVUZYUml4RlFVRlpSeXhaUVVkdVJIQkNMRXRCUVV0RkxHRkJRV0ZGTEZOQlFWTlpMRkZCUVZFc1UwRkJhME5ETEVkQlEyNUZUaXhGUVVGTlZTeExRVUZMU2l4RlFVRlpSU3hWUVVGWFJpeEZRVUZaUnl4WlFVZDZRMVFzUlVGQlRWY3NVVUZEV0ZRc1JVRkJWVUVzUlVGQlVWVXNTMEZCUzFvc1JVRkJUV0VzVVVGQlUySXNSVUZCVFdFc1UwRkhPVU1zVDBGQlQxZ3NSMEZIVkdZc1RVRkJUVThzVlVGQlZXOUNMRTlCUVZNc1UwRkJaMEp1UWl4SFFVVjJReXhQUVVSQlFTeEZRVUZUVkN4WlFVRlpSeXhMUVVGTFF5eFRRVUZWU3l4SFFVTTNRbG9zVTBGQlUxa3NSVUZCVDBVc1NVRkJTMFlzUlVGQlQyOUNMRTlCUVZGd1FpeEZRVUZQY1VJc2EwSkJRV3RDUXl4UlFVRlJMRTFCUVU4c1MwRkpja1p3UXl4TlFVRk5kMElzVVVGQlVTeERRVUZETEZOQlFWVXNUVUZCVHl4UFFVRlJMRmRCUVZrc1UwRkJOa0pRTEVkQlJTOUZXQ3hOUVVGTlR5eFZRVUZWU1N4SFFVRlZMRk5CUVZORUxFVkJRVXRHTEVkQlEzUkRMRTlCUVU5T0xFdEJRVXRITEZGQlFWRk9MRmxCUVZsVExFZEJRVlVzUjBGQlNTeERRVU0xUTBjc1QwRkJVVUVzUlVGRFVrUXNTVUZCUzBFc1JVRkRUSEZDTEUxQlFVOTJRaXhIUVVGVkxFbEJRVWwxUWl4WFFVc3pRbkpETEUxQlFVMTNRaXhSUVVGUkxFTkJRVU1zVDBGQlVTeE5RVUZQTEZOQlFWVXNVMEZCSzBKUUxFZEJSWEpGV0N4TlFVRk5UeXhWUVVGVlNTeEhRVUZWTEZOQlFWTkVMRVZCUVV0eFFpeEZRVUZOZGtJc1IwRkROVU1zVDBGQlQwNHNTMEZCUzBjc1VVRkJVVTRzV1VGQldWTXNSMEZCVlN4SFFVRkpMRU5CUXpWRFJ5eFBRVUZSUVN4RlFVTlNSQ3hKUVVGTFFTeEZRVU5NY1VJc1MwRkJUVUVzVVVGTFdrTXNUMEZCVDBNc1VVRkJWV3BESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlFYaHBiM011YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7ZnVuY3Rpb24gSW50ZXJjZXB0b3JNYW5hZ2VyKCl7dGhpcy5oYW5kbGVycz1bXX1JbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLnVzZT1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmhhbmRsZXJzLnB1c2goe2Z1bGZpbGxlZDplLHJlamVjdGVkOnR9KSx0aGlzLmhhbmRsZXJzLmxlbmd0aC0xfSxJbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKGUpe3RoaXMuaGFuZGxlcnNbZV0mJih0aGlzLmhhbmRsZXJzW2VdPW51bGwpfSxJbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSl7dXRpbHMuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLGZ1bmN0aW9uKHQpe251bGwhPT10JiZlKHQpfSl9LG1vZHVsZS5leHBvcnRzPUludGVyY2VwdG9yTWFuYWdlcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrbHVkR1Z5WTJWd2RHOXlUV0Z1WVdkbGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKSmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJaUxDSjBhR2x6SWl3aWFHRnVaR3hsY25NaUxDSndjbTkwYjNSNWNHVWlMQ0oxYzJVaUxDSm1kV3htYVd4c1pXUWlMQ0p5WldwbFkzUmxaQ0lzSW5CMWMyZ2lMQ0pzWlc1bmRHZ2lMQ0psYW1WamRDSXNJbWxrSWl3aVptOXlSV0ZqYUNJc0ltWnVJaXdpYUNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hqUVVWd1FpeFRRVUZUUXl4eFFrRkRVRU1zUzBGQlMwTXNVMEZCVnl4SFFWZHNRa1lzYlVKQlFXMUNSeXhWUVVGVlF5eEpRVUZOTEZOQlFXRkRMRVZCUVZkRExFZEJTM3BFTEU5QlNrRk1MRXRCUVV0RExGTkJRVk5MTEV0QlFVc3NRMEZEYWtKR0xGVkJRVmRCTEVWQlExaERMRk5CUVZWQkxFbEJSVXhNTEV0QlFVdERMRk5CUVZOTkxFOUJRVk1zUjBGUmFFTlNMRzFDUVVGdFFrY3NWVUZCVlUwc1RVRkJVU3hUUVVGbFF5eEhRVU01UTFRc1MwRkJTME1zVTBGQlUxRXNTMEZEYUVKVUxFdEJRVXRETEZOQlFWTlJMRWRCUVUwc1QwRlplRUpXTEcxQ1FVRnRRa2NzVlVGQlZWRXNVVUZCVlN4VFFVRnBRa01zUjBGRGRFUmtMRTFCUVUxaExGRkJRVkZXTEV0QlFVdERMRk5CUVZVc1UwRkJkMEpYTEVkQlEzcERMRTlCUVU1QkxFZEJRMFpFTEVWQlFVZERMRTFCUzFSRExFOUJRVTlETEZGQlFWVm1JaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2U1c1MFpYSmpaWEIwYjNKTllXNWhaMlZ5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgaXNBYnNvbHV0ZVVSTD1yZXF1aXJlKFwiLi4vaGVscGVycy9pc0Fic29sdXRlVVJMXCIpLGNvbWJpbmVVUkxzPXJlcXVpcmUoXCIuLi9oZWxwZXJzL2NvbWJpbmVVUkxzXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUscyl7cmV0dXJuIGUmJiFpc0Fic29sdXRlVVJMKHMpP2NvbWJpbmVVUkxzKGUscyk6c307XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1JuVnNiRkJoZEdndWFuTWlYU3dpYm1GdFpYTWlPbHNpYVhOQlluTnZiSFYwWlZWU1RDSXNJbkpsY1hWcGNtVWlMQ0pqYjIxaWFXNWxWVkpNY3lJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmlZWE5sVlZKTUlpd2ljbVZ4ZFdWemRHVmtWVkpNSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxHTkJRV2RDUXl4UlFVRlJMRFJDUVVONFFrTXNXVUZCWTBRc1VVRkJVU3d3UWtGWE1VSkZMRTlCUVU5RExGRkJRVlVzVTBGQmRVSkRMRVZCUVZORExFZEJReTlETEU5QlFVbEVMRWxCUVZsTUxHTkJRV05OTEVkQlEzSkNTaXhaUVVGWlJ5eEZRVUZUUXl4SFFVVjJRa0VpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5aWRXbHNaRVoxYkd4UVlYUm9MbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBlbmhhbmNlRXJyb3I9cmVxdWlyZShcIi4vZW5oYW5jZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIsZSxuLG8sYSl7dmFyIGM9bmV3IEVycm9yKHIpO3JldHVybiBlbmhhbmNlRXJyb3IoYyxlLG4sbyxhKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbU55WldGMFpVVnljbTl5TG1weklsMHNJbTVoYldWeklqcGJJbVZ1YUdGdVkyVkZjbkp2Y2lJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2liV1Z6YzJGblpTSXNJbU52Ym1acFp5SXNJbU52WkdVaUxDSnlaWEYxWlhOMElpd2ljbVZ6Y0c5dWMyVWlMQ0psY25KdmNpSXNJa1Z5Y205eUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMR0ZCUVdWRExGRkJRVkVzYTBKQldUTkNReXhQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEZRVUZSUXl4RlFVRk5ReXhGUVVGVFF5eEhRVU53UlN4SlFVRkpReXhGUVVGUkxFbEJRVWxETEUxQlFVMU9MRWRCUTNSQ0xFOUJRVTlLTEdGQlFXRlRMRVZCUVU5S0xFVkJRVkZETEVWQlFVMURMRVZCUVZORElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZZM0psWVhSbFJYSnliM0l1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIiksdHJhbnNmb3JtRGF0YT1yZXF1aXJlKFwiLi90cmFuc2Zvcm1EYXRhXCIpLGlzQ2FuY2VsPXJlcXVpcmUoXCIuLi9jYW5jZWwvaXNDYW5jZWxcIiksZGVmYXVsdHM9cmVxdWlyZShcIi4uL2RlZmF1bHRzXCIpO2Z1bmN0aW9uIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSl7ZS5jYW5jZWxUb2tlbiYmZS5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCl9bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSksZS5oZWFkZXJzPWUuaGVhZGVyc3x8e30sZS5kYXRhPXRyYW5zZm9ybURhdGEoZS5kYXRhLGUuaGVhZGVycyxlLnRyYW5zZm9ybVJlcXVlc3QpLGUuaGVhZGVycz11dGlscy5tZXJnZShlLmhlYWRlcnMuY29tbW9ufHx7fSxlLmhlYWRlcnNbZS5tZXRob2RdfHx7fSxlLmhlYWRlcnMpLHV0aWxzLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIixcImNvbW1vblwiXSxmdW5jdGlvbihhKXtkZWxldGUgZS5oZWFkZXJzW2FdfSksKGUuYWRhcHRlcnx8ZGVmYXVsdHMuYWRhcHRlcikoZSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChlKSxhLmRhdGE9dHJhbnNmb3JtRGF0YShhLmRhdGEsYS5oZWFkZXJzLGUudHJhbnNmb3JtUmVzcG9uc2UpLGF9LGZ1bmN0aW9uKGEpe3JldHVybiBpc0NhbmNlbChhKXx8KHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSksYSYmYS5yZXNwb25zZSYmKGEucmVzcG9uc2UuZGF0YT10cmFuc2Zvcm1EYXRhKGEucmVzcG9uc2UuZGF0YSxhLnJlc3BvbnNlLmhlYWRlcnMsZS50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChhKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUnBjM0JoZEdOb1VtVnhkV1Z6ZEM1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0owY21GdWMyWnZjbTFFWVhSaElpd2lhWE5EWVc1alpXd2lMQ0prWldaaGRXeDBjeUlzSW5Sb2NtOTNTV1pEWVc1alpXeHNZWFJwYjI1U1pYRjFaWE4wWldRaUxDSmpiMjVtYVdjaUxDSmpZVzVqWld4VWIydGxiaUlzSW5Sb2NtOTNTV1pTWlhGMVpYTjBaV1FpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWFHVmhaR1Z5Y3lJc0ltUmhkR0VpTENKMGNtRnVjMlp2Y20xU1pYRjFaWE4wSWl3aWJXVnlaMlVpTENKamIyMXRiMjRpTENKdFpYUm9iMlFpTENKbWIzSkZZV05vSWl3aVlXUmhjSFJsY2lJc0luUm9aVzRpTENKeVpYTndiMjV6WlNJc0luUnlZVzV6Wm05eWJWSmxjM0J2Ym5ObElpd2ljbVZoYzI5dUlpd2lVSEp2YldselpTSXNJbkpsYW1WamRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEdOQlEyaENReXhqUVVGblFrUXNVVUZCVVN4dFFrRkRlRUpGTEZOQlFWZEdMRkZCUVZFc2MwSkJRMjVDUnl4VFFVRlhTQ3hSUVVGUkxHVkJTM1pDTEZOQlFWTkpMRFpDUVVFMlFrTXNSMEZEYUVOQkxFVkJRVTlETEdGQlExUkVMRVZCUVU5RExGbEJRVmxETEcxQ1FWVjJRa01zVDBGQlQwTXNVVUZCVlN4VFFVRjVRa29zUjBFMlFuaERMRTlCTlVKQlJDdzJRa0ZCTmtKRExFZEJSemRDUVN4RlFVRlBTeXhSUVVGVlRDeEZRVUZQU3l4VFFVRlhMRWRCUjI1RFRDeEZRVUZQVFN4TFFVRlBWaXhqUVVOYVNTeEZRVUZQVFN4TFFVTlFUaXhGUVVGUFN5eFJRVU5RVEN4RlFVRlBUeXhyUWtGSlZGQXNSVUZCVDBzc1VVRkJWVmdzVFVGQlRXTXNUVUZEY2tKU0xFVkJRVTlMTEZGQlFWRkpMRkZCUVZVc1IwRkRla0pVTEVWQlFVOUxMRkZCUVZGTUxFVkJRVTlWTEZOQlFWY3NSMEZEYWtOV0xFVkJRVTlMTEZOQlIxUllMRTFCUVUxcFFpeFJRVU5LTEVOQlFVTXNVMEZCVlN4TlFVRlBMRTlCUVZFc1QwRkJVU3hOUVVGUExGRkJRVk1zVlVGRGJFUXNVMEZCTWtKRUxGVkJRMnhDVml4RlFVRlBTeXhSUVVGUlN5eE5RVWxhVml4RlFVRlBXU3hUUVVGWFpDeFRRVUZUWXl4VFFVVXhRbG9zUjBGQlVXRXNTMEZCU3l4VFFVRTJRa01zUjBGVmRrUXNUMEZVUVdZc05rSkJRVFpDUXl4SFFVYzNRbU1zUlVGQlUxSXNTMEZCVDFZc1kwRkRaR3RDTEVWQlFWTlNMRXRCUTFSUkxFVkJRVk5VTEZGQlExUk1MRVZCUVU5bExHMUNRVWRHUkN4SFFVTk9MRk5CUVRSQ1JTeEhRV00zUWl4UFFXSkxia0lzVTBGQlUyMUNMRXRCUTFwcVFpdzJRa0ZCTmtKRExFZEJSM3BDWjBJc1IwRkJWVUVzUlVGQlQwWXNWMEZEYmtKRkxFVkJRVTlHTEZOQlFWTlNMRXRCUVU5V0xHTkJRM0pDYjBJc1JVRkJUMFlzVTBGQlUxSXNTMEZEYUVKVkxFVkJRVTlHTEZOQlFWTlVMRkZCUTJoQ1RDeEZRVUZQWlN4eFFrRkxUa1VzVVVGQlVVTXNUMEZCVDBZaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOWthWE53WVhSamFGSmxjWFZsYzNRdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSxpLHMsdCxuKXtyZXR1cm4gZS5jb25maWc9aSxzJiYoZS5jb2RlPXMpLGUucmVxdWVzdD10LGUucmVzcG9uc2U9bixlLmlzQXhpb3NFcnJvcj0hMCxlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnttZXNzYWdlOnRoaXMubWVzc2FnZSxuYW1lOnRoaXMubmFtZSxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9uLG51bWJlcjp0aGlzLm51bWJlcixmaWxlTmFtZTp0aGlzLmZpbGVOYW1lLGxpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbk51bWJlcjp0aGlzLmNvbHVtbk51bWJlcixzdGFjazp0aGlzLnN0YWNrLGNvbmZpZzp0aGlzLmNvbmZpZyxjb2RlOnRoaXMuY29kZX19LGV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1WdWFHRnVZMlZGY25KdmNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVpYSnliM0lpTENKamIyNW1hV2NpTENKamIyUmxJaXdpY21WeGRXVnpkQ0lzSW5KbGMzQnZibk5sSWl3aWFYTkJlR2x2YzBWeWNtOXlJaXdpZEc5S1UwOU9JaXdpYldWemMyRm5aU0lzSW5Sb2FYTWlMQ0p1WVcxbElpd2laR1Z6WTNKcGNIUnBiMjRpTENKdWRXMWlaWElpTENKbWFXeGxUbUZ0WlNJc0lteHBibVZPZFcxaVpYSWlMQ0pqYjJ4MWJXNU9kVzFpWlhJaUxDSnpkR0ZqYXlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRlpRVUVzVDBGQlQwTXNVVUZCVlN4VFFVRnpRa01zUlVGQlQwTXNSVUZCVVVNc1JVRkJUVU1zUlVGQlUwTXNSMEUwUW01RkxFOUJNMEpCU2l4RlFVRk5ReXhQUVVGVFFTeEZRVU5ZUXl4SlFVTkdSaXhGUVVGTlJTeExRVUZQUVN4SFFVZG1SaXhGUVVGTlJ5eFJRVUZWUVN4RlFVTm9Ra2dzUlVGQlRVa3NVMEZCVjBFc1JVRkRha0pLTEVWQlFVMUxMR05CUVdVc1JVRkZja0pNTEVWQlFVMU5MRTlCUVZNc1YwRkRZaXhOUVVGUExFTkJSVXhETEZGQlFWTkRMRXRCUVV0RUxGRkJRMlJGTEV0QlFVMUVMRXRCUVV0RExFdEJSVmhETEZsQlFXRkdMRXRCUVV0RkxGbEJRMnhDUXl4UFFVRlJTQ3hMUVVGTFJ5eFBRVVZpUXl4VFFVRlZTaXhMUVVGTFNTeFRRVU5tUXl4WFFVRlpUQ3hMUVVGTFN5eFhRVU5xUWtNc1lVRkJZMDRzUzBGQlMwMHNZVUZEYmtKRExFMUJRVTlRTEV0QlFVdFBMRTFCUlZwa0xFOUJRVkZQTEV0QlFVdFFMRTlCUTJKRExFdEJRVTFOTEV0QlFVdE9MRTlCUjFKR0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZaVzVvWVc1alpVVnljbTl5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4uL3V0aWxzXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dD10fHx7fTt2YXIgaT17fSxzPVtcInVybFwiLFwibWV0aG9kXCIsXCJkYXRhXCJdLG49W1wiaGVhZGVyc1wiLFwiYXV0aFwiLFwicHJveHlcIixcInBhcmFtc1wiXSxyPVtcImJhc2VVUkxcIixcInRyYW5zZm9ybVJlcXVlc3RcIixcInRyYW5zZm9ybVJlc3BvbnNlXCIsXCJwYXJhbXNTZXJpYWxpemVyXCIsXCJ0aW1lb3V0XCIsXCJ0aW1lb3V0TWVzc2FnZVwiLFwid2l0aENyZWRlbnRpYWxzXCIsXCJhZGFwdGVyXCIsXCJyZXNwb25zZVR5cGVcIixcInhzcmZDb29raWVOYW1lXCIsXCJ4c3JmSGVhZGVyTmFtZVwiLFwib25VcGxvYWRQcm9ncmVzc1wiLFwib25Eb3dubG9hZFByb2dyZXNzXCIsXCJkZWNvbXByZXNzXCIsXCJtYXhDb250ZW50TGVuZ3RoXCIsXCJtYXhCb2R5TGVuZ3RoXCIsXCJtYXhSZWRpcmVjdHNcIixcInRyYW5zcG9ydFwiLFwiaHR0cEFnZW50XCIsXCJodHRwc0FnZW50XCIsXCJjYW5jZWxUb2tlblwiLFwic29ja2V0UGF0aFwiLFwicmVzcG9uc2VFbmNvZGluZ1wiXSxvPVtcInZhbGlkYXRlU3RhdHVzXCJdO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4gdXRpbHMuaXNQbGFpbk9iamVjdChlKSYmdXRpbHMuaXNQbGFpbk9iamVjdCh0KT91dGlscy5tZXJnZShlLHQpOnV0aWxzLmlzUGxhaW5PYmplY3QodCk/dXRpbHMubWVyZ2Uoe30sdCk6dXRpbHMuaXNBcnJheSh0KT90LnNsaWNlKCk6dH1mdW5jdGlvbiB1KHMpe3V0aWxzLmlzVW5kZWZpbmVkKHRbc10pP3V0aWxzLmlzVW5kZWZpbmVkKGVbc10pfHwoaVtzXT1hKHZvaWQgMCxlW3NdKSk6aVtzXT1hKGVbc10sdFtzXSl9dXRpbHMuZm9yRWFjaChzLGZ1bmN0aW9uKGUpe3V0aWxzLmlzVW5kZWZpbmVkKHRbZV0pfHwoaVtlXT1hKHZvaWQgMCx0W2VdKSl9KSx1dGlscy5mb3JFYWNoKG4sdSksdXRpbHMuZm9yRWFjaChyLGZ1bmN0aW9uKHMpe3V0aWxzLmlzVW5kZWZpbmVkKHRbc10pP3V0aWxzLmlzVW5kZWZpbmVkKGVbc10pfHwoaVtzXT1hKHZvaWQgMCxlW3NdKSk6aVtzXT1hKHZvaWQgMCx0W3NdKX0pLHV0aWxzLmZvckVhY2gobyxmdW5jdGlvbihzKXtzIGluIHQ/aVtzXT1hKGVbc10sdFtzXSk6cyBpbiBlJiYoaVtzXT1hKHZvaWQgMCxlW3NdKSl9KTt2YXIgYz1zLmNvbmNhdChuKS5jb25jYXQocikuY29uY2F0KG8pLGw9T2JqZWN0LmtleXMoZSkuY29uY2F0KE9iamVjdC5rZXlzKHQpKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT1jLmluZGV4T2YoZSl9KTtyZXR1cm4gdXRpbHMuZm9yRWFjaChsLHUpLGl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW0xbGNtZGxRMjl1Wm1sbkxtcHpJbDBzSW01aGJXVnpJanBiSW5WMGFXeHpJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKamIyNW1hV2N4SWl3aVkyOXVabWxuTWlJc0ltTnZibVpwWnlJc0luWmhiSFZsUm5KdmJVTnZibVpwWnpKTFpYbHpJaXdpYldWeVoyVkVaV1Z3VUhKdmNHVnlkR2xsYzB0bGVYTWlMQ0prWldaaGRXeDBWRzlEYjI1bWFXY3lTMlY1Y3lJc0ltUnBjbVZqZEUxbGNtZGxTMlY1Y3lJc0ltZGxkRTFsY21kbFpGWmhiSFZsSWl3aWRHRnlaMlYwSWl3aWMyOTFjbU5sSWl3aWFYTlFiR0ZwYms5aWFtVmpkQ0lzSW0xbGNtZGxJaXdpYVhOQmNuSmhlU0lzSW5Oc2FXTmxJaXdpYldWeVoyVkVaV1Z3VUhKdmNHVnlkR2xsY3lJc0luQnliM0FpTENKcGMxVnVaR1ZtYVc1bFpDSXNJblZ1WkdWbWFXNWxaQ0lzSW1admNrVmhZMmdpTENKaGVHbHZjMHRsZVhNaUxDSmpiMjVqWVhRaUxDSnZkR2hsY2t0bGVYTWlMQ0pQWW1wbFkzUWlMQ0pyWlhseklpd2labWxzZEdWeUlpd2lhMlY1SWl3aWFXNWtaWGhQWmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMRmxCVlhCQ1F5eFBRVUZQUXl4UlFVRlZMRk5CUVhGQ1F5eEZRVUZUUXl4SFFVVTNRMEVzUlVGQlZVRXNSMEZCVnl4SFFVTnlRaXhKUVVGSlF5eEZRVUZUTEVkQlJWUkRMRVZCUVhWQ0xFTkJRVU1zVFVGQlR5eFRRVUZWTEZGQlEzcERReXhGUVVFd1FpeERRVUZETEZWQlFWY3NUMEZCVVN4UlFVRlRMRlZCUTNaRVF5eEZRVUYxUWl4RFFVTjZRaXhWUVVGWExHMUNRVUZ2UWl4dlFrRkJjVUlzYlVKQlEzQkVMRlZCUVZjc2FVSkJRV3RDTEd0Q1FVRnRRaXhWUVVGWExHVkJRV2RDTEdsQ1FVTXpSU3hwUWtGQmEwSXNiVUpCUVc5Q0xIRkNRVUZ6UWl4aFFVTTFSQ3h0UWtGQmIwSXNaMEpCUVdsQ0xHVkJRV2RDTEZsQlFXRXNXVUZEYkVVc1lVRkJZeXhqUVVGbExHRkJRV01zYjBKQlJYcERReXhGUVVGclFpeERRVUZETEd0Q1FVVjJRaXhUUVVGVFF5eEZRVUZsUXl4RlFVRlJReXhIUVVNNVFpeFBRVUZKWWl4TlFVRk5ZeXhqUVVGalJpeEpRVUZYV2l4TlFVRk5ZeXhqUVVGalJDeEhRVU01UTJJc1RVRkJUV1VzVFVGQlRVZ3NSVUZCVVVNc1IwRkRiRUppTEUxQlFVMWpMR05CUVdORUxFZEJRM1JDWWl4TlFVRk5aU3hOUVVGTkxFZEJRVWxHTEVkQlEyUmlMRTFCUVUxblFpeFJRVUZSU0N4SFFVTm9Ra0VzUlVGQlQwa3NVVUZGVkVvc1JVRkhWQ3hUUVVGVFN5eEZRVUZ2UWtNc1IwRkRkRUp1UWl4TlFVRk5iMElzV1VGQldXWXNSVUZCVVdNc1NVRkZia0p1UWl4TlFVRk5iMElzV1VGQldXaENMRVZCUVZGbExFMUJRM0JEWWl4RlFVRlBZU3hIUVVGUlVpeFBRVUZsVlN4RlFVRlhha0lzUlVGQlVXVXNTMEZHYWtSaUxFVkJRVTloTEVkQlFWRlNMRVZCUVdWUUxFVkJRVkZsTEVkQlFVOWtMRVZCUVZGakxFbEJUWHBFYmtJc1RVRkJUWE5DTEZGQlFWRm1MRVZCUVhOQ0xGTkJRVEJDV1N4SFFVTjJSRzVDTEUxQlFVMXZRaXhaUVVGWlppeEZRVUZSWXl4TlFVTTNRbUlzUlVGQlQyRXNSMEZCVVZJc1QwRkJaVlVzUlVGQlYyaENMRVZCUVZGakxFOUJTWEpFYmtJc1RVRkJUWE5DTEZGQlFWRmtMRVZCUVhsQ1ZTeEhRVVYyUTJ4Q0xFMUJRVTF6UWl4UlFVRlJZaXhGUVVGelFpeFRRVUV3UWxVc1IwRkRka1J1UWl4TlFVRk5iMElzV1VGQldXWXNSVUZCVVdNc1NVRkZia0p1UWl4TlFVRk5iMElzV1VGQldXaENMRVZCUVZGbExFMUJRM0JEWWl4RlFVRlBZU3hIUVVGUlVpeFBRVUZsVlN4RlFVRlhha0lzUlVGQlVXVXNTMEZHYWtSaUxFVkJRVTloTEVkQlFWRlNMRTlCUVdWVkxFVkJRVmRvUWl4RlFVRlJZeXhOUVUxeVJHNUNMRTFCUVUxelFpeFJRVUZSV2l4RlFVRnBRaXhUUVVGbFV5eEhRVU40UTBFc1MwRkJVV1FzUlVGRFZrTXNSVUZCVDJFc1IwRkJVVklzUlVGQlpWQXNSVUZCVVdVc1IwRkJUMlFzUlVGQlVXTXNTVUZETlVOQkxFdEJRVkZtTEVsQlEycENSU3hGUVVGUFlTeEhRVUZSVWl4UFFVRmxWU3hGUVVGWGFrSXNSVUZCVVdVc1QwRkpja1FzU1VGQlNVa3NSVUZCV1doQ0xFVkJRMkpwUWl4UFFVRlBhRUlzUjBGRFVHZENMRTlCUVU5bUxFZEJRMUJsTEU5QlFVOWtMRWRCUlU1bExFVkJRVmxETEU5QlEySkRMRXRCUVV0MlFpeEhRVU5NYjBJc1QwRkJUMFVzVDBGQlQwTXNTMEZCUzNSQ0xFbEJRMjVDZFVJc1QwRkJUeXhUUVVGNVFrTXNSMEZETDBJc1QwRkJiVU1zU1VGQk5VSk9MRVZCUVZWUExGRkJRVkZFTEV0QlN6ZENMRTlCUmtFM1FpeE5RVUZOYzBJc1VVRkJVVWNzUlVGQlYxQXNSMEZGYkVKYUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZiV1Z5WjJWRGIyNW1hV2N1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgY3JlYXRlRXJyb3I9cmVxdWlyZShcIi4vY3JlYXRlRXJyb3JcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxyLGUpe3ZhciBzPWUuY29uZmlnLnZhbGlkYXRlU3RhdHVzO2Uuc3RhdHVzJiZzJiYhcyhlLnN0YXR1cyk/cihjcmVhdGVFcnJvcihcIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgXCIrZS5zdGF0dXMsZS5jb25maWcsbnVsbCxlLnJlcXVlc3QsZSkpOnQoZSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5ObGRIUnNaUzVxY3lKZExDSnVZVzFsY3lJNld5SmpjbVZoZEdWRmNuSnZjaUlzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWNtVnpiMngyWlNJc0luSmxhbVZqZENJc0luSmxjM0J2Ym5ObElpd2lkbUZzYVdSaGRHVlRkR0YwZFhNaUxDSmpiMjVtYVdjaUxDSnpkR0YwZFhNaUxDSnlaWEYxWlhOMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRmxCUVdORExGRkJRVkVzYVVKQlV6RkNReXhQUVVGUFF5eFJRVUZWTEZOQlFXZENReXhGUVVGVFF5eEZRVUZSUXl4SFFVTm9SQ3hKUVVGSlF5eEZRVUZwUWtRc1JVRkJVMFVzVDBGQlQwUXNaVUZEYUVORUxFVkJRVk5ITEZGQlFWZEdMRWxCUVd0Q1FTeEZRVUZsUkN4RlFVRlRSeXhSUVVkcVJVb3NSVUZCVDB3c1dVRkRUQ3h0UTBGQmNVTk5MRVZCUVZOSExFOUJRemxEU0N4RlFVRlRSU3hQUVVOVUxFdEJRMEZHTEVWQlFWTkpMRkZCUTFSS0xFbEJVRVpHTEVWQlFWRkZJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2YzJWMGRHeGxMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LHUscil7cmV0dXJuIHV0aWxzLmZvckVhY2gocixmdW5jdGlvbihyKXt0PXIodCx1KX0pLHR9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5SeVlXNXpabTl5YlVSaGRHRXVhbk1pWFN3aWJtRnRaWE1pT2xzaWRYUnBiSE1pTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltUmhkR0VpTENKb1pXRmtaWEp6SWl3aVptNXpJaXdpWm05eVJXRmphQ0lzSW1adUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGVmNFSkRMRTlCUVU5RExGRkJRVlVzVTBGQmRVSkRMRVZCUVUxRExFVkJRVk5ETEVkQlRYSkVMRTlCU2tGT0xFMUJRVTFQTEZGQlFWRkVMRVZCUVVzc1UwRkJiVUpGTEVkQlEzQkRTaXhGUVVGUFNTeEZRVUZIU2l4RlFVRk5ReXhMUVVkWVJDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5amIzSmxMM1J5WVc1elptOXliVVJoZEdFdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuL3V0aWxzXCIpLG5vcm1hbGl6ZUhlYWRlck5hbWU9cmVxdWlyZShcIi4vaGVscGVycy9ub3JtYWxpemVIZWFkZXJOYW1lXCIpLERFRkFVTFRfQ09OVEVOVF9UWVBFPXtcIkNvbnRlbnQtVHlwZVwiOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJ9O2Z1bmN0aW9uIHNldENvbnRlbnRUeXBlSWZVbnNldChlLHQpeyF1dGlscy5pc1VuZGVmaW5lZChlKSYmdXRpbHMuaXNVbmRlZmluZWQoZVtcIkNvbnRlbnQtVHlwZVwiXSkmJihlW1wiQ29udGVudC1UeXBlXCJdPXQpfWZ1bmN0aW9uIGdldERlZmF1bHRBZGFwdGVyKCl7dmFyIGU7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0P2U9cmVxdWlyZShcIi4vYWRhcHRlcnMveGhyXCIpOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZcIltvYmplY3QgcHJvY2Vzc11cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzKSYmKGU9cmVxdWlyZShcIi4vYWRhcHRlcnMvaHR0cFwiKSksZX12YXIgZGVmYXVsdHM9e2FkYXB0ZXI6Z2V0RGVmYXVsdEFkYXB0ZXIoKSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihlLHQpe3JldHVybiBub3JtYWxpemVIZWFkZXJOYW1lKHQsXCJBY2NlcHRcIiksbm9ybWFsaXplSGVhZGVyTmFtZSh0LFwiQ29udGVudC1UeXBlXCIpLHV0aWxzLmlzRm9ybURhdGEoZSl8fHV0aWxzLmlzQXJyYXlCdWZmZXIoZSl8fHV0aWxzLmlzQnVmZmVyKGUpfHx1dGlscy5pc1N0cmVhbShlKXx8dXRpbHMuaXNGaWxlKGUpfHx1dGlscy5pc0Jsb2IoZSk/ZTp1dGlscy5pc0FycmF5QnVmZmVyVmlldyhlKT9lLmJ1ZmZlcjp1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhlKT8oc2V0Q29udGVudFR5cGVJZlVuc2V0KHQsXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOFwiKSxlLnRvU3RyaW5nKCkpOnV0aWxzLmlzT2JqZWN0KGUpPyhzZXRDb250ZW50VHlwZUlmVW5zZXQodCxcImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtOFwiKSxKU09OLnN0cmluZ2lmeShlKSk6ZX1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSl0cnl7ZT1KU09OLnBhcnNlKGUpfWNhdGNoKGUpe31yZXR1cm4gZX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcIlhTUkYtVE9LRU5cIix4c3JmSGVhZGVyTmFtZTpcIlgtWFNSRi1UT0tFTlwiLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihlKXtyZXR1cm4gZT49MjAwJiZlPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLypcIn19fTt1dGlscy5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCJdLGZ1bmN0aW9uKGUpe2RlZmF1bHRzLmhlYWRlcnNbZV09e319KSx1dGlscy5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sZnVuY3Rpb24oZSl7ZGVmYXVsdHMuaGVhZGVyc1tlXT11dGlscy5tZXJnZShERUZBVUxUX0NPTlRFTlRfVFlQRSl9KSxtb2R1bGUuZXhwb3J0cz1kZWZhdWx0cztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxabUYxYkhSekxtcHpJbDBzSW01aGJXVnpJanBiSW5WMGFXeHpJaXdpY21WeGRXbHlaU0lzSW01dmNtMWhiR2w2WlVobFlXUmxjazVoYldVaUxDSkVSVVpCVlV4VVgwTlBUbFJGVGxSZlZGbFFSU0lzSWtOdmJuUmxiblF0Vkhsd1pTSXNJbk5sZEVOdmJuUmxiblJVZVhCbFNXWlZibk5sZENJc0ltaGxZV1JsY25NaUxDSjJZV3gxWlNJc0ltbHpWVzVrWldacGJtVmtJaXdpWjJWMFJHVm1ZWFZzZEVGa1lYQjBaWElpTENKaFpHRndkR1Z5SWl3aVdFMU1TSFIwY0ZKbGNYVmxjM1FpTENKd2NtOWpaWE56SWl3aVQySnFaV04wSWl3aWNISnZkRzkwZVhCbElpd2lkRzlUZEhKcGJtY2lMQ0pqWVd4c0lpd2laR1ZtWVhWc2RITWlMQ0owY21GdWMyWnZjbTFTWlhGMVpYTjBJaXdpWkdGMFlTSXNJbWx6Um05eWJVUmhkR0VpTENKcGMwRnljbUY1UW5WbVptVnlJaXdpYVhOQ2RXWm1aWElpTENKcGMxTjBjbVZoYlNJc0ltbHpSbWxzWlNJc0ltbHpRbXh2WWlJc0ltbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM0lpd2lZblZtWm1WeUlpd2lhWE5WVWt4VFpXRnlZMmhRWVhKaGJYTWlMQ0pwYzA5aWFtVmpkQ0lzSWtwVFQwNGlMQ0p6ZEhKcGJtZHBabmtpTENKMGNtRnVjMlp2Y20xU1pYTndiMjV6WlNJc0luQmhjbk5sSWl3aVpTSXNJblJwYldWdmRYUWlMQ0o0YzNKbVEyOXZhMmxsVG1GdFpTSXNJbmh6Y21aSVpXRmtaWEpPWVcxbElpd2liV0Y0UTI5dWRHVnVkRXhsYm1kMGFDSXNJbTFoZUVKdlpIbE1aVzVuZEdnaUxDSjJZV3hwWkdGMFpWTjBZWFIxY3lJc0luTjBZWFIxY3lJc0ltTnZiVzF2YmlJc0lrRmpZMlZ3ZENJc0ltWnZja1ZoWTJnaUxDSnRaWFJvYjJRaUxDSnRaWEpuWlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hYUVVOb1FrTXNiMEpCUVhOQ1JDeFJRVUZSTEdsRFFVVTVRa1VzY1VKQlFYVkNMRU5CUTNwQ1F5eGxRVUZuUWl4eFEwRkhiRUlzVTBGQlUwTXNjMEpCUVhOQ1F5eEZRVUZUUXl4SlFVTnFRMUFzVFVGQlRWRXNXVUZCV1VZc1NVRkJXVTRzVFVGQlRWRXNXVUZCV1VZc1JVRkJVU3h0UWtGRE0wUkJMRVZCUVZFc1owSkJRV3RDUXl4SFFVazVRaXhUUVVGVFJTeHZRa0ZEVUN4SlFVRkpReXhGUVZGS0xFMUJVRGhDTEc5Q1FVRnVRa01zWlVGRlZFUXNSVUZCVlZRc1VVRkJVU3hyUWtGRFZTeHZRa0ZCV2xjc1UwRkJkVVVzY1VKQlFUVkRReXhQUVVGUFF5eFZRVUZWUXl4VFFVRlRReXhMUVVGTFNpeFhRVVV4UlVZc1JVRkJWVlFzVVVGQlVTeHZRa0ZGWWxNc1JVRkhWQ3hKUVVGSlR5eFRRVUZYTEVOQlEySlFMRkZCUVZORUxHOUNRVVZVVXl4cFFrRkJhMElzUTBGQlF5eFRRVUV3UWtNc1JVRkJUV0lzUjBGSGFrUXNUMEZHUVVvc2IwSkJRVzlDU1N4RlFVRlRMRlZCUXpkQ1NpeHZRa0ZCYjBKSkxFVkJRVk1zWjBKQlEzcENUaXhOUVVGTmIwSXNWMEZCVjBRc1NVRkRia0p1UWl4TlFVRk5jVUlzWTBGQlkwWXNTVUZEY0VKdVFpeE5RVUZOYzBJc1UwRkJVMGdzU1VGRFptNUNMRTFCUVUxMVFpeFRRVUZUU2l4SlFVTm1ia0lzVFVGQlRYZENMRTlCUVU5TUxFbEJRMkp1UWl4TlFVRk5lVUlzVDBGQlQwNHNSMEZGVGtFc1JVRkZURzVDTEUxQlFVMHdRaXhyUWtGQmEwSlFMRWRCUTI1Q1FTeEZRVUZMVVN4UFFVVldNMElzVFVGQlRUUkNMR3RDUVVGclFsUXNTVUZETVVKa0xITkNRVUZ6UWtNc1JVRkJVeXh0UkVGRGVFSmhMRVZCUVV0S0xGbEJSVlptTEUxQlFVMDJRaXhUUVVGVFZpeEpRVU5xUW1Rc2MwSkJRWE5DUXl4RlFVRlRMR3REUVVONFFuZENMRXRCUVV0RExGVkJRVlZhTEVsQlJXcENRU3hKUVVkVVlTeHJRa0ZCYlVJc1EwRkJReXhUUVVFeVFtSXNSMEZGTjBNc1IwRkJiMElzYVVKQlFWUkJMRVZCUTFRc1NVRkRSVUVzUlVGQlQxY3NTMEZCUzBjc1RVRkJUV1FzUjBGRGJFSXNUVUZCVDJVc1NVRkZXQ3hQUVVGUFppeEpRVTlVWjBJc1VVRkJVeXhGUVVWVVF5eGxRVUZuUWl4aFFVTm9Ra01zWlVGQlowSXNaVUZGYUVKRExHdENRVUZ0UWl4RlFVTnVRa01zWlVGQlowSXNSVUZGYUVKRExHVkJRV2RDTEZOQlFYZENReXhIUVVOMFF5eFBRVUZQUVN4SFFVRlZMRXRCUVU5QkxFVkJRVk1zUzBGSmNrTnVReXhSUVVGdFFpeERRVU5xUW05RExFOUJRVkVzUTBGRFRrTXNUMEZCVlN4MVEwRkpaRE5ETEUxQlFVMDBReXhSUVVGUkxFTkJRVU1zVTBGQlZTeE5RVUZQTEZGQlFWTXNVMEZCTmtKRExFZEJRM0JGTlVJc1UwRkJVMWdzVVVGQlVYVkRMRWRCUVZVc1MwRkhOMEkzUXl4TlFVRk5ORU1zVVVGQlVTeERRVUZETEU5QlFWRXNUVUZCVHl4VFFVRlZMRk5CUVN0Q1F5eEhRVU55UlRWQ0xGTkJRVk5ZTEZGQlFWRjFReXhIUVVGVk4wTXNUVUZCVFRoRExFMUJRVTB6UXl4M1FrRkhla00wUXl4UFFVRlBReXhSUVVGVkwwSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlpHVm1ZWFZzZEhNdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocixuKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gci5hcHBseShuLHQpfX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUpwYm1RdWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1adUlpd2lkR2hwYzBGeVp5SXNJbUZ5WjNNaUxDSkJjbkpoZVNJc0ltRnlaM1Z0Wlc1MGN5SXNJbXhsYm1kMGFDSXNJbWtpTENKaGNIQnNlU0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFVRXNUMEZCVDBNc1VVRkJWU3hUUVVGalF5eEZRVUZKUXl4SFFVTnFReXhQUVVGUExGZEJSVXdzU1VGRVFTeEpRVUZKUXl4RlFVRlBMRWxCUVVsRExFMUJRVTFETEZWQlFWVkRMRkZCUTNSQ1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVsS0xFVkJRVXRITEU5QlFWRkRMRWxCUXk5Q1NpeEZRVUZMU1N4SFFVRkxSaXhWUVVGVlJTeEhRVVYwUWl4UFFVRlBUaXhGUVVGSFR5eE5RVUZOVGl4RlFVRlRReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOW9aV3h3WlhKekwySnBibVF1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7ZnVuY3Rpb24gZW5jb2RlKGUpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvJTNBL2dpLFwiOlwiKS5yZXBsYWNlKC8lMjQvZyxcIiRcIikucmVwbGFjZSgvJTJDL2dpLFwiLFwiKS5yZXBsYWNlKC8lMjAvZyxcIitcIikucmVwbGFjZSgvJTVCL2dpLFwiW1wiKS5yZXBsYWNlKC8lNUQvZ2ksXCJdXCIpfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsaSxyKXtpZighaSlyZXR1cm4gZTt2YXIgdDtpZihyKXQ9cihpKTtlbHNlIGlmKHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKGkpKXQ9aS50b1N0cmluZygpO2Vsc2V7dmFyIG49W107dXRpbHMuZm9yRWFjaChpLGZ1bmN0aW9uKGUsaSl7bnVsbCE9ZSYmKHV0aWxzLmlzQXJyYXkoZSk/aSs9XCJbXVwiOmU9W2VdLHV0aWxzLmZvckVhY2goZSxmdW5jdGlvbihlKXt1dGlscy5pc0RhdGUoZSk/ZT1lLnRvSVNPU3RyaW5nKCk6dXRpbHMuaXNPYmplY3QoZSkmJihlPUpTT04uc3RyaW5naWZ5KGUpKSxuLnB1c2goZW5jb2RlKGkpK1wiPVwiK2VuY29kZShlKSl9KSl9KSx0PW4uam9pbihcIiZcIil9aWYodCl7dmFyIHM9ZS5pbmRleE9mKFwiI1wiKTstMSE9PXMmJihlPWUuc2xpY2UoMCxzKSksZSs9KC0xPT09ZS5pbmRleE9mKFwiP1wiKT9cIj9cIjpcIiZcIikrdH1yZXR1cm4gZX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1ZWSk1MbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltVnVZMjlrWlNJc0luWmhiQ0lzSW1WdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENJc0luSmxjR3hoWTJVaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lkWEpzSWl3aWNHRnlZVzF6SWl3aWNHRnlZVzF6VTJWeWFXRnNhWHBsY2lJc0luTmxjbWxoYkdsNlpXUlFZWEpoYlhNaUxDSnBjMVZTVEZObFlYSmphRkJoY21GdGN5SXNJblJ2VTNSeWFXNW5JaXdpY0dGeWRITWlMQ0ptYjNKRllXTm9JaXdpYTJWNUlpd2lhWE5CY25KaGVTSXNJbllpTENKcGMwUmhkR1VpTENKMGIwbFRUMU4wY21sdVp5SXNJbWx6VDJKcVpXTjBJaXdpU2xOUFRpSXNJbk4wY21sdVoybG1lU0lzSW5CMWMyZ2lMQ0pxYjJsdUlpd2lhR0Z6YUcxaGNtdEpibVJsZUNJc0ltbHVaR1Y0VDJZaUxDSnpiR2xqWlNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMR05CUlhCQ0xGTkJRVk5ETEU5QlFVOURMRWRCUTJRc1QwRkJUME1zYlVKQlFXMUNSQ3hIUVVONFFrVXNVVUZCVVN4UlFVRlRMRXRCUTJwQ1FTeFJRVUZSTEU5QlFWRXNTMEZEYUVKQkxGRkJRVkVzVVVGQlV5eExRVU5xUWtFc1VVRkJVU3hQUVVGUkxFdEJRMmhDUVN4UlFVRlJMRkZCUVZNc1MwRkRha0pCTEZGQlFWRXNVVUZCVXl4TFFWVnlRa01zVDBGQlQwTXNVVUZCVlN4VFFVRnJRa01zUlVGQlMwTXNSVUZCVVVNc1IwRkZPVU1zU1VGQlMwUXNSVUZEU0N4UFFVRlBSQ3hGUVVkVUxFbEJRVWxITEVWQlEwb3NSMEZCU1VRc1JVRkRSa01zUlVGQmJVSkVMRVZCUVdsQ1JDeFJRVU12UWl4SFFVRkpWQ3hOUVVGTldTeHJRa0ZCYTBKSUxFZEJRMnBEUlN4RlFVRnRRa1lzUlVGQlQwa3NaVUZEY2tJc1EwRkRUQ3hKUVVGSlF5eEZRVUZSTEVkQlJWcGtMRTFCUVUxbExGRkJRVkZPTEVWQlFWRXNVMEZCYlVKT0xFVkJRVXRoTEVkQlEzaERZaXhOUVVGQlFTeEpRVWxCU0N4TlFVRk5hVUlzVVVGQlVXUXNSMEZEYUVKaExFZEJRVmtzUzBGRldtSXNSVUZCVFN4RFFVRkRRU3hIUVVkVVNDeE5RVUZOWlN4UlFVRlJXaXhGUVVGTExGTkJRVzlDWlN4SFFVTnFRMnhDTEUxQlFVMXRRaXhQUVVGUFJDeEhRVU5tUVN4RlFVRkpRU3hGUVVGRlJTeGpRVU5IY0VJc1RVRkJUWEZDTEZOQlFWTklMRXRCUTNoQ1FTeEZRVUZKU1N4TFFVRkxReXhWUVVGVlRDeEpRVVZ5UWtvc1JVRkJUVlVzUzBGQlMzUkNMRTlCUVU5akxFZEJRVThzU1VGQlRXUXNUMEZCVDJkQ0xGTkJTVEZEVUN4RlFVRnRRa2NzUlVGQlRWY3NTMEZCU3l4TFFVZG9ReXhIUVVGSlpDeEZRVUZyUWl4RFFVTndRaXhKUVVGSlpTeEZRVUZuUW14Q0xFVkJRVWx0UWl4UlFVRlJMRTFCUTFRc1NVRkJia0pFTEVsQlEwWnNRaXhGUVVGTlFTeEZRVUZKYjBJc1RVRkJUU3hGUVVGSFJpeEpRVWR5UW14Q0xFdEJRVGhDTEVsQlFYUkNRU3hGUVVGSmJVSXNVVUZCVVN4TFFVRmpMRWxCUVUwc1MwRkJUMmhDTEVWQlIycEVMRTlCUVU5SUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12WW5WcGJHUlZVa3d1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHIpe3JldHVybiByP2UucmVwbGFjZSgvXFwvKyQvLFwiXCIpK1wiL1wiK3IucmVwbGFjZSgvXlxcLysvLFwiXCIpOmV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OdmJXSnBibVZWVWt4ekxtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKaVlYTmxWVkpNSWl3aWNtVnNZWFJwZG1WVlVrd2lMQ0p5WlhCc1lXTmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVZOQlFTeFBRVUZQUXl4UlFVRlZMRk5CUVhGQ1F5eEZRVUZUUXl4SFFVTTNReXhQUVVGUFFTeEZRVU5JUkN4RlFVRlJSU3hSUVVGUkxFOUJRVkVzU1VGQlRTeEpRVUZOUkN4RlFVRlpReXhSUVVGUkxFOUJRVkVzU1VGRGFFVkdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdlkyOXRZbWx1WlZWU1RITXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz11dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpP3t3cml0ZTpmdW5jdGlvbihlLHQsbixpLHUsbyl7dmFyIHI9W107ci5wdXNoKGUrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KHQpKSx1dGlscy5pc051bWJlcihuKSYmci5wdXNoKFwiZXhwaXJlcz1cIituZXcgRGF0ZShuKS50b0dNVFN0cmluZygpKSx1dGlscy5pc1N0cmluZyhpKSYmci5wdXNoKFwicGF0aD1cIitpKSx1dGlscy5pc1N0cmluZyh1KSYmci5wdXNoKFwiZG9tYWluPVwiK3UpLCEwPT09byYmci5wdXNoKFwic2VjdXJlXCIpLGRvY3VtZW50LmNvb2tpZT1yLmpvaW4oXCI7IFwiKX0scmVhZDpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cChcIihefDtcXFxccyopKFwiK2UrXCIpPShbXjtdKilcIikpO3JldHVybiB0P2RlY29kZVVSSUNvbXBvbmVudCh0WzNdKTpudWxsfSxyZW1vdmU6ZnVuY3Rpb24oZSl7dGhpcy53cml0ZShlLFwiXCIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbU52YjJ0cFpYTXVhbk1pWFN3aWJtRnRaWE1pT2xzaWRYUnBiSE1pTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltbHpVM1JoYm1SaGNtUkNjbTkzYzJWeVJXNTJJaXdpZDNKcGRHVWlMQ0p1WVcxbElpd2lkbUZzZFdVaUxDSmxlSEJwY21Weklpd2ljR0YwYUNJc0ltUnZiV0ZwYmlJc0luTmxZM1Z5WlNJc0ltTnZiMnRwWlNJc0luQjFjMmdpTENKbGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5RaUxDSnBjMDUxYldKbGNpSXNJa1JoZEdVaUxDSjBiMGROVkZOMGNtbHVaeUlzSW1selUzUnlhVzVuSWl3aVpHOWpkVzFsYm5RaUxDSnFiMmx1SWl3aWNtVmhaQ0lzSW0xaGRHTm9JaXdpVW1WblJYaHdJaXdpWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwSWl3aWNtVnRiM1psSWl3aWRHaHBjeUlzSW01dmR5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEdOQlJYQkNReXhQUVVGUFF5eFJRVU5NU0N4TlFVRk5TU3gxUWtGSlN5eERRVU5NUXl4TlFVRlBMRk5CUVdWRExFVkJRVTFETEVWQlFVOURMRVZCUVZORExFVkJRVTFETEVWQlFWRkRMRWRCUTNoRUxFbEJRVWxETEVWQlFWTXNSMEZEWWtFc1JVRkJUME1zUzBGQlMxQXNSVUZCVHl4SlFVRk5VU3h0UWtGQmJVSlFMRWxCUlhoRFVDeE5RVUZOWlN4VFFVRlRVQ3hKUVVOcVFra3NSVUZCVDBNc1MwRkJTeXhYUVVGaExFbEJRVWxITEV0QlFVdFNMRWRCUVZOVExHVkJSM3BEYWtJc1RVRkJUV3RDTEZOQlFWTlVMRWxCUTJwQ1J5eEZRVUZQUXl4TFFVRkxMRkZCUVZWS0xFZEJSM0JDVkN4TlFVRk5hMElzVTBGQlUxSXNTVUZEYWtKRkxFVkJRVTlETEV0QlFVc3NWVUZCV1Vnc1NVRkhXQ3hKUVVGWVF5eEhRVU5HUXl4RlFVRlBReXhMUVVGTExGVkJSMlJOTEZOQlFWTlFMRTlCUVZOQkxFVkJRVTlSTEV0QlFVc3NUMEZIYUVORExFdEJRVTBzVTBGQlkyWXNSMEZEYkVJc1NVRkJTV2RDTEVWQlFWRklMRk5CUVZOUUxFOUJRVTlWTEUxQlFVMHNTVUZCU1VNc1QwRkJUeXhoUVVGbGFrSXNSVUZCVHl4alFVTnVSU3hQUVVGUlowSXNSVUZCVVVVc2JVSkJRVzFDUml4RlFVRk5MRWxCUVUwc1RVRkhha1JITEU5QlFWRXNVMEZCWjBKdVFpeEhRVU4wUW05Q0xFdEJRVXR5UWl4TlFVRk5ReXhGUVVGTkxFZEJRVWxWTEV0QlFVdFhMRTFCUVZFc1UwRlBMMElzUTBGRFRIUkNMRTFCUVU4c1lVRkRVR2RDTEV0QlFVMHNWMEZCYTBJc1QwRkJUeXhOUVVNdlFra3NUMEZCVVNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMk52YjJ0cFpYTXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybi9eKFthLXpdW2EtelxcZFxcK1xcLVxcLl0qOik/XFwvXFwvL2kudGVzdCh0KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6UVdKemIyeDFkR1ZWVWt3dWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5WeWJDSXNJblJsYzNRaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJVVUZCTEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVkQlNYUkRMRTFCUVU4c1owTkJRV2REUXl4TFFVRkxSQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOW9aV3h3WlhKekwybHpRV0p6YjJ4MWRHVlZVa3d1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihvKXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgbyYmITA9PT1vLmlzQXhpb3NFcnJvcn07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6UVhocGIzTkZjbkp2Y2k1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpY0dGNWJHOWhaQ0lzSW1selFYaHBiM05GY25KdmNpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZSUVVFc1QwRkJUME1zVVVGQlZTeFRRVUZ6UWtNc1IwRkRja01zVFVGQk1rSXNhVUpCUVZwQkxFbEJRVzFFTEVsQlFYcENRU3hGUVVGUlF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDJselFYaHBiM05GY25KdmNpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO21vZHVsZS5leHBvcnRzPXV0aWxzLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgdCxyPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBvKHQpe3ZhciBvPXQ7cmV0dXJuIHImJihlLnNldEF0dHJpYnV0ZShcImhyZWZcIixvKSxvPWUuaHJlZiksZS5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsbykse2hyZWY6ZS5ocmVmLHByb3RvY29sOmUucHJvdG9jb2w/ZS5wcm90b2NvbC5yZXBsYWNlKC86JC8sXCJcIik6XCJcIixob3N0OmUuaG9zdCxzZWFyY2g6ZS5zZWFyY2g/ZS5zZWFyY2gucmVwbGFjZSgvXlxcPy8sXCJcIik6XCJcIixoYXNoOmUuaGFzaD9lLmhhc2gucmVwbGFjZSgvXiMvLFwiXCIpOlwiXCIsaG9zdG5hbWU6ZS5ob3N0bmFtZSxwb3J0OmUucG9ydCxwYXRobmFtZTpcIi9cIj09PWUucGF0aG5hbWUuY2hhckF0KDApP2UucGF0aG5hbWU6XCIvXCIrZS5wYXRobmFtZX19cmV0dXJuIHQ9byh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24ocil7dmFyIGU9dXRpbHMuaXNTdHJpbmcocik/byhyKTpyO3JldHVybiBlLnByb3RvY29sPT09dC5wcm90b2NvbCYmZS5ob3N0PT09dC5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHpWVkpNVTJGdFpVOXlhV2RwYmk1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYVhOVGRHRnVaR0Z5WkVKeWIzZHpaWEpGYm5ZaUxDSnZjbWxuYVc1VlVrd2lMQ0p0YzJsbElpd2lkR1Z6ZENJc0ltNWhkbWxuWVhSdmNpSXNJblZ6WlhKQloyVnVkQ0lzSW5WeWJGQmhjbk5wYm1kT2IyUmxJaXdpWkc5amRXMWxiblFpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpY21WemIyeDJaVlZTVENJc0luVnliQ0lzSW1oeVpXWWlMQ0p6WlhSQmRIUnlhV0oxZEdVaUxDSndjbTkwYjJOdmJDSXNJbkpsY0d4aFkyVWlMQ0pvYjNOMElpd2ljMlZoY21Ob0lpd2lhR0Z6YUNJc0ltaHZjM1J1WVcxbElpd2ljRzl5ZENJc0luQmhkR2h1WVcxbElpd2lZMmhoY2tGMElpd2lkMmx1Wkc5M0lpd2liRzlqWVhScGIyNGlMQ0p5WlhGMVpYTjBWVkpNSWl3aWNHRnljMlZrSWl3aWFYTlRkSEpwYm1jaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hqUVVWd1FrTXNUMEZCVDBNc1VVRkRURWdzVFVGQlRVa3NkVUpCU1Vvc1YwRkRSU3hKUVVWSlF5eEZRVVpCUXl4RlFVRlBMR3RDUVVGclFrTXNTMEZCUzBNc1ZVRkJWVU1zVjBGRGVFTkRMRVZCUVdsQ1F5eFRRVUZUUXl4alFVRmpMRXRCVXpWRExGTkJRVk5ETEVWQlFWZERMRWRCUTJ4Q0xFbEJRVWxETEVWQlFVOUVMRVZCVjFnc1QwRlVTVklzU1VGRlJra3NSVUZCWlUwc1lVRkJZU3hQUVVGUlJDeEhRVU53UTBFc1JVRkJUMHdzUlVGQlpVc3NUVUZIZUVKTUxFVkJRV1ZOTEdGQlFXRXNUMEZCVVVRc1IwRkhOMElzUTBGRFRFRXNTMEZCVFV3c1JVRkJaVXNzUzBGRGNrSkZMRk5CUVZWUUxFVkJRV1ZQTEZOQlFWZFFMRVZCUVdWUExGTkJRVk5ETEZGQlFWRXNTMEZCVFN4SlFVRk5MRWRCUTJoR1F5eExRVUZOVkN4RlFVRmxVeXhMUVVOeVFrTXNUMEZCVVZZc1JVRkJaVlVzVDBGQlUxWXNSVUZCWlZVc1QwRkJUMFlzVVVGQlVTeE5RVUZQTEVsQlFVMHNSMEZETTBWSExFdEJRVTFZTEVWQlFXVlhMRXRCUVU5WUxFVkJRV1ZYTEV0QlFVdElMRkZCUVZFc1MwRkJUU3hKUVVGTkxFZEJRM0JGU1N4VFFVRlZXaXhGUVVGbFdTeFRRVU42UWtNc1MwRkJUV0lzUlVGQlpXRXNTMEZEY2tKRExGTkJRV2xFTEUxQlFYUkRaQ3hGUVVGbFl5eFRRVUZUUXl4UFFVRlBMRWRCUTNoRFppeEZRVUZsWXl4VFFVTm1MRWxCUVUxa0xFVkJRV1ZqTEZWQldUTkNMRTlCVWtGdVFpeEZRVUZaVVN4RlFVRlhZU3hQUVVGUFF5eFRRVUZUV2l4TlFWRm9ReXhUUVVGNVFtRXNSMEZET1VJc1NVRkJTVU1zUlVGQlZUZENMRTFCUVUwNFFpeFRRVUZUUml4SFFVRmxaaXhGUVVGWFpTeEhRVUZqUVN4RlFVTnlSU3hQUVVGUlF5eEZRVUZQV2l4WFFVRmhXaXhGUVVGVldTeFZRVU5zUTFrc1JVRkJUMVlzVDBGQlUyUXNSVUZCVldNc1RVRm9SR3hETEVkQmMwUlRMRmRCUTB3c1QwRkJUeUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOW9aV3h3WlhKekwybHpWVkpNVTJGdFpVOXlhV2RwYmk1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4uL3V0aWxzXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dXRpbHMuZm9yRWFjaChlLGZ1bmN0aW9uKHIscyl7cyE9PXQmJnMudG9VcHBlckNhc2UoKT09PXQudG9VcHBlckNhc2UoKSYmKGVbdF09cixkZWxldGUgZVtzXSl9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbTV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1V1YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbWhsWVdSbGNuTWlMQ0p1YjNKdFlXeHBlbVZrVG1GdFpTSXNJbVp2Y2tWaFkyZ2lMQ0oyWVd4MVpTSXNJbTVoYldVaUxDSjBiMVZ3Y0dWeVEyRnpaU0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxGbEJSWEJDUXl4UFFVRlBReXhSUVVGVkxGTkJRVFpDUXl4RlFVRlRReXhIUVVOeVJFd3NUVUZCVFUwc1VVRkJVVVlzUlVGQlV5eFRRVUYxUWtjc1JVRkJUME1zUjBGREwwTkJMRWxCUVZOSUxFZEJRV3RDUnl4RlFVRkxReXhuUWtGQmEwSktMRVZCUVdWSkxHZENRVU51UlV3c1JVRkJVVU1zUjBGQmEwSkZMRk5CUTI1Q1NDeEZRVUZSU1NJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMjV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1V1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIiksaWdub3JlRHVwbGljYXRlT2Y9W1wiYWdlXCIsXCJhdXRob3JpemF0aW9uXCIsXCJjb250ZW50LWxlbmd0aFwiLFwiY29udGVudC10eXBlXCIsXCJldGFnXCIsXCJleHBpcmVzXCIsXCJmcm9tXCIsXCJob3N0XCIsXCJpZi1tb2RpZmllZC1zaW5jZVwiLFwiaWYtdW5tb2RpZmllZC1zaW5jZVwiLFwibGFzdC1tb2RpZmllZFwiLFwibG9jYXRpb25cIixcIm1heC1mb3J3YXJkc1wiLFwicHJveHktYXV0aG9yaXphdGlvblwiLFwicmVmZXJlclwiLFwicmV0cnktYWZ0ZXJcIixcInVzZXItYWdlbnRcIl07bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUsaSxyLG89e307cmV0dXJuIHQ/KHV0aWxzLmZvckVhY2godC5zcGxpdChcIlxcblwiKSxmdW5jdGlvbih0KXtpZihyPXQuaW5kZXhPZihcIjpcIiksZT11dGlscy50cmltKHQuc3Vic3RyKDAscikpLnRvTG93ZXJDYXNlKCksaT11dGlscy50cmltKHQuc3Vic3RyKHIrMSkpLGUpe2lmKG9bZV0mJmlnbm9yZUR1cGxpY2F0ZU9mLmluZGV4T2YoZSk+PTApcmV0dXJuO29bZV09XCJzZXQtY29va2llXCI9PT1lPyhvW2VdP29bZV06W10pLmNvbmNhdChbaV0pOm9bZV0/b1tlXStcIiwgXCIraTppfX0pLG8pOm99O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CaGNuTmxTR1ZoWkdWeWN5NXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKcFoyNXZjbVZFZFhCc2FXTmhkR1ZQWmlJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSm9aV0ZrWlhKeklpd2lhMlY1SWl3aWRtRnNJaXdpYVNJc0luQmhjbk5sWkNJc0ltWnZja1ZoWTJnaUxDSnpjR3hwZENJc0lteHBibVVpTENKcGJtUmxlRTltSWl3aWRISnBiU0lzSW5OMVluTjBjaUlzSW5SdlRHOTNaWEpEWVhObElpd2lZMjl1WTJGMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGSmFFSkRMR3RDUVVGdlFpeERRVU4wUWl4TlFVRlBMR2RDUVVGcFFpeHBRa0ZCYTBJc1pVRkJaMElzVDBGRE1VUXNWVUZCVnl4UFFVRlJMRTlCUVZFc2IwSkJRWEZDTEhOQ1FVTm9SQ3huUWtGQmFVSXNWMEZCV1N4bFFVRm5RaXh6UWtGRE4wTXNWVUZCVnl4alFVRmxMR05CWjBJMVFrTXNUMEZCVDBNc1VVRkJWU3hUUVVGelFrTXNSMEZEY2tNc1NVRkRTVU1zUlVGRFFVTXNSVUZEUVVNc1JVRklRVU1zUlVGQlV5eEhRVXRpTEU5QlFVdEtMRWRCUlV4TUxFMUJRVTFWTEZGQlFWRk1MRVZCUVZGTkxFMUJRVTBzVFVGQlR5eFRRVUZuUWtNc1IwRkxha1FzUjBGS1FVb3NSVUZCU1Vrc1JVRkJTME1zVVVGQlVTeExRVU5xUWxBc1JVRkJUVTRzVFVGQlRXTXNTMEZCUzBZc1JVRkJTMGNzVDBGQlR5eEZRVUZIVUN4SlFVRkpVU3hqUVVOd1ExUXNSVUZCVFZBc1RVRkJUV01zUzBGQlMwWXNSVUZCUzBjc1QwRkJUMUFzUlVGQlNTeEpRVVUzUWtZc1JVRkJTeXhEUVVOUUxFZEJRVWxITEVWQlFVOUlMRWxCUVZGS0xHdENRVUZyUWxjc1VVRkJVVkFzU1VGQlVTeEZRVU51UkN4UFFVZEJSeXhGUVVGUFNDeEhRVVJITEdWQlFWSkJMRWRCUTJGSExFVkJRVTlJTEVkQlFVOUhMRVZCUVU5SUxFZEJRVThzU1VGQlNWY3NUMEZCVHl4RFFVRkRWaXhKUVVWNlEwVXNSVUZCVDBnc1IwRkJUMGNzUlVGQlQwZ3NSMEZCVHl4TFFVRlBReXhGUVVGTlFTeExRVXQwUkVVc1IwRnVRbWRDUVNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMM0JoY25ObFNHVmhaR1Z5Y3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4uYXBwbHkobnVsbCx0KX19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5Od2NtVmhaQzVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lZMkZzYkdKaFkyc2lMQ0poY25JaUxDSmhjSEJzZVNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRnpRa0ZCTEU5QlFVOURMRkZCUVZVc1UwRkJaMEpETEVkQlF5OUNMRTlCUVU4c1UwRkJZME1zUjBGRGJrSXNUMEZCVDBRc1JVRkJVMFVzVFVGQlRTeExRVUZOUkNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMM053Y21WaFpDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGJpbmQ9cmVxdWlyZShcIi4vaGVscGVycy9iaW5kXCIpLHRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gaXNBcnJheShyKXtyZXR1cm5cIltvYmplY3QgQXJyYXldXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzVW5kZWZpbmVkKHIpe3JldHVybiB2b2lkIDA9PT1yfWZ1bmN0aW9uIGlzQnVmZmVyKHIpe3JldHVybiBudWxsIT09ciYmIWlzVW5kZWZpbmVkKHIpJiZudWxsIT09ci5jb25zdHJ1Y3RvciYmIWlzVW5kZWZpbmVkKHIuY29uc3RydWN0b3IpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiByLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZyLmNvbnN0cnVjdG9yLmlzQnVmZmVyKHIpfWZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIocil7cmV0dXJuXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0Zvcm1EYXRhKHIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBGb3JtRGF0YSYmciBpbnN0YW5jZW9mIEZvcm1EYXRhfWZ1bmN0aW9uIGlzQXJyYXlCdWZmZXJWaWV3KHIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhyKTpyJiZyLmJ1ZmZlciYmci5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn1mdW5jdGlvbiBpc1N0cmluZyhyKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc051bWJlcihyKXtyZXR1cm5cIm51bWJlclwiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc09iamVjdChyKXtyZXR1cm4gbnVsbCE9PXImJlwib2JqZWN0XCI9PXR5cGVvZiByfWZ1bmN0aW9uIGlzUGxhaW5PYmplY3Qocil7aWYoXCJbb2JqZWN0IE9iamVjdF1cIiE9PXRvU3RyaW5nLmNhbGwocikpcmV0dXJuITE7dmFyIGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpO3JldHVybiBudWxsPT09ZXx8ZT09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gaXNEYXRlKHIpe3JldHVyblwiW29iamVjdCBEYXRlXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0ZpbGUocil7cmV0dXJuXCJbb2JqZWN0IEZpbGVdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzQmxvYihyKXtyZXR1cm5cIltvYmplY3QgQmxvYl1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGdW5jdGlvbihyKXtyZXR1cm5cIltvYmplY3QgRnVuY3Rpb25dXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzU3RyZWFtKHIpe3JldHVybiBpc09iamVjdChyKSYmaXNGdW5jdGlvbihyLnBpcGUpfWZ1bmN0aW9uIGlzVVJMU2VhcmNoUGFyYW1zKHIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJnIgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9ZnVuY3Rpb24gdHJpbShyKXtyZXR1cm4gci5yZXBsYWNlKC9eXFxzKi8sXCJcIikucmVwbGFjZSgvXFxzKiQvLFwiXCIpfWZ1bmN0aW9uIGlzU3RhbmRhcmRCcm93c2VyRW52KCl7cmV0dXJuKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFwiUmVhY3ROYXRpdmVcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5hdGl2ZVNjcmlwdFwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTlNcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCl9ZnVuY3Rpb24gZm9yRWFjaChyLGUpe2lmKG51bGwhPXIpaWYoXCJvYmplY3RcIiE9dHlwZW9mIHImJihyPVtyXSksaXNBcnJheShyKSlmb3IodmFyIHQ9MCxuPXIubGVuZ3RoO3Q8bjt0KyspZS5jYWxsKG51bGwsclt0XSx0LHIpO2Vsc2UgZm9yKHZhciBpIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkmJmUuY2FsbChudWxsLHJbaV0saSxyKX1mdW5jdGlvbiBtZXJnZSgpe3ZhciByPXt9O2Z1bmN0aW9uIGUoZSx0KXtpc1BsYWluT2JqZWN0KHJbdF0pJiZpc1BsYWluT2JqZWN0KGUpP3JbdF09bWVyZ2Uoclt0XSxlKTppc1BsYWluT2JqZWN0KGUpP3JbdF09bWVyZ2Uoe30sZSk6aXNBcnJheShlKT9yW3RdPWUuc2xpY2UoKTpyW3RdPWV9Zm9yKHZhciB0PTAsbj1hcmd1bWVudHMubGVuZ3RoO3Q8bjt0KyspZm9yRWFjaChhcmd1bWVudHNbdF0sZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gZXh0ZW5kKHIsZSx0KXtyZXR1cm4gZm9yRWFjaChlLGZ1bmN0aW9uKGUsbil7cltuXT10JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2JpbmQoZSx0KTplfSkscn1mdW5jdGlvbiBzdHJpcEJPTShyKXtyZXR1cm4gNjUyNzk9PT1yLmNoYXJDb2RlQXQoMCkmJihyPXIuc2xpY2UoMSkpLHJ9bW9kdWxlLmV4cG9ydHM9e2lzQXJyYXk6aXNBcnJheSxpc0FycmF5QnVmZmVyOmlzQXJyYXlCdWZmZXIsaXNCdWZmZXI6aXNCdWZmZXIsaXNGb3JtRGF0YTppc0Zvcm1EYXRhLGlzQXJyYXlCdWZmZXJWaWV3OmlzQXJyYXlCdWZmZXJWaWV3LGlzU3RyaW5nOmlzU3RyaW5nLGlzTnVtYmVyOmlzTnVtYmVyLGlzT2JqZWN0OmlzT2JqZWN0LGlzUGxhaW5PYmplY3Q6aXNQbGFpbk9iamVjdCxpc1VuZGVmaW5lZDppc1VuZGVmaW5lZCxpc0RhdGU6aXNEYXRlLGlzRmlsZTppc0ZpbGUsaXNCbG9iOmlzQmxvYixpc0Z1bmN0aW9uOmlzRnVuY3Rpb24saXNTdHJlYW06aXNTdHJlYW0saXNVUkxTZWFyY2hQYXJhbXM6aXNVUkxTZWFyY2hQYXJhbXMsaXNTdGFuZGFyZEJyb3dzZXJFbnY6aXNTdGFuZGFyZEJyb3dzZXJFbnYsZm9yRWFjaDpmb3JFYWNoLG1lcmdlOm1lcmdlLGV4dGVuZDpleHRlbmQsdHJpbTp0cmltLHN0cmlwQk9NOnN0cmlwQk9NfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluVjBhV3h6TG1weklsMHNJbTVoYldWeklqcGJJbUpwYm1RaUxDSnlaWEYxYVhKbElpd2lkRzlUZEhKcGJtY2lMQ0pQWW1wbFkzUWlMQ0p3Y205MGIzUjVjR1VpTENKcGMwRnljbUY1SWl3aWRtRnNJaXdpWTJGc2JDSXNJbWx6Vlc1a1pXWnBibVZrSWl3aWFYTkNkV1ptWlhJaUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1selFYSnlZWGxDZFdabVpYSWlMQ0pwYzBadmNtMUVZWFJoSWl3aVJtOXliVVJoZEdFaUxDSnBjMEZ5Y21GNVFuVm1abVZ5Vm1sbGR5SXNJa0Z5Y21GNVFuVm1abVZ5SWl3aWFYTldhV1YzSWl3aVluVm1abVZ5SWl3aWFYTlRkSEpwYm1jaUxDSnBjMDUxYldKbGNpSXNJbWx6VDJKcVpXTjBJaXdpYVhOUWJHRnBiazlpYW1WamRDSXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2lhWE5FWVhSbElpd2lhWE5HYVd4bElpd2lhWE5DYkc5aUlpd2lhWE5HZFc1amRHbHZiaUlzSW1selUzUnlaV0Z0SWl3aWNHbHdaU0lzSW1selZWSk1VMlZoY21Ob1VHRnlZVzF6SWl3aVZWSk1VMlZoY21Ob1VHRnlZVzF6SWl3aWRISnBiU0lzSW5OMGNpSXNJbkpsY0d4aFkyVWlMQ0pwYzFOMFlXNWtZWEprUW5KdmQzTmxja1Z1ZGlJc0ltNWhkbWxuWVhSdmNpSXNJbkJ5YjJSMVkzUWlMQ0ozYVc1a2IzY2lMQ0prYjJOMWJXVnVkQ0lzSW1admNrVmhZMmdpTENKdlltb2lMQ0ptYmlJc0lta2lMQ0pzSWl3aWJHVnVaM1JvSWl3aWEyVjVJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p0WlhKblpTSXNJbkpsYzNWc2RDSXNJbUZ6YzJsbmJsWmhiSFZsSWl3aWMyeHBZMlVpTENKaGNtZDFiV1Z1ZEhNaUxDSmxlSFJsYm1RaUxDSmhJaXdpWWlJc0luUm9hWE5CY21jaUxDSnpkSEpwY0VKUFRTSXNJbU52Ym5SbGJuUWlMQ0pqYUdGeVEyOWtaVUYwSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeExRVUZQUXl4UlFVRlJMR3RDUVUxbVF5eFRRVUZYUXl4UFFVRlBReXhWUVVGVlJpeFRRVkZvUXl4VFFVRlRSeXhSUVVGUlF5eEhRVU5tTEUxQlFUaENMRzFDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTBVc1dVRkJXVVlzUjBGRGJrSXNXVUZCYzBJc1NVRkJVa0VzUlVGVGFFSXNVMEZCVTBjc1UwRkJVMGdzUjBGRGFFSXNUMEZCWlN4UFFVRlNRU3hKUVVGcFFrVXNXVUZCV1VZc1NVRkJORUlzVDBGQmNFSkJMRVZCUVVsSkxHTkJRWGxDUml4WlFVRlpSaXhGUVVGSlNTeGpRVU5vUkN4dFFrRkJOMEpLTEVWQlFVbEpMRmxCUVZsRUxGVkJRVEpDU0N4RlFVRkpTU3haUVVGWlJDeFRRVUZUU0N4SFFWTnNSaXhUUVVGVFN5eGpRVUZqVEN4SFFVTnlRaXhOUVVFNFFpeDVRa0ZCZGtKS0xGTkJRVk5MTEV0QlFVdEVMRWRCVTNaQ0xGTkJRVk5OTEZkQlFWZE9MRWRCUTJ4Q0xFMUJRVFJDTEc5Q1FVRmlUeXhWUVVFNFFsQXNZVUZCWlU4c1UwRlRPVVFzVTBGQlUwTXNhMEpCUVd0Q1VpeEhRVTk2UWl4TlFVdzBRaXh2UWtGQmFFSlRMR0ZCUVdsRFFTeFpRVUZyUWl4UFFVTndSRUVzV1VGQldVTXNUMEZCVDFZc1IwRkZia0lzUjBGQlZVRXNSVUZCVlN4UlFVRk5RU3hGUVVGSlZ5eHJRa0ZCYTBKR0xGbEJWemRFTEZOQlFWTkhMRk5CUVZOYUxFZEJRMmhDTEUxQlFYTkNMR2xDUVVGU1FTeEZRVk5vUWl4VFFVRlRZU3hUUVVGVFlpeEhRVU5vUWl4TlFVRnpRaXhwUWtGQlVrRXNSVUZUYUVJc1UwRkJVMk1zVTBGQlUyUXNSMEZEYUVJc1QwRkJaU3hQUVVGU1FTeEhRVUVyUWl4cFFrRkJVa0VzUlVGVGFFTXNVMEZCVTJVc1kwRkJZMllzUjBGRGNrSXNSMEZCTWtJc2IwSkJRWFpDU2l4VFFVRlRTeXhMUVVGTFJDeEhRVU5vUWl4UFFVRlBMRVZCUjFRc1NVRkJTVVlzUlVGQldVUXNUMEZCVDIxQ0xHVkJRV1ZvUWl4SFFVTjBReXhQUVVGeFFpeFBRVUZrUml4SFFVRnpRa0VzU1VGQlkwUXNUMEZCVDBNc1ZVRlRjRVFzVTBGQlUyMUNMRTlCUVU5cVFpeEhRVU5rTEUxQlFUaENMR3RDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTJ0Q0xFOUJRVTlzUWl4SFFVTmtMRTFCUVRoQ0xHdENRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMjFDTEU5QlFVOXVRaXhIUVVOa0xFMUJRVGhDTEd0Q1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUyOUNMRmRCUVZkd1FpeEhRVU5zUWl4TlFVRTRRaXh6UWtGQmRrSktMRk5CUVZOTExFdEJRVXRFTEVkQlUzWkNMRk5CUVZOeFFpeFRRVUZUY2tJc1IwRkRhRUlzVDBGQlQyTXNVMEZCVTJRc1NVRkJVVzlDTEZkQlFWZHdRaXhGUVVGSmMwSXNUVUZUZWtNc1UwRkJVME1zYTBKQlFXdENka0lzUjBGRGVrSXNUVUZCYTBNc2IwSkJRWEJDZDBJc2FVSkJRVzFEZUVJc1lVRkJaWGRDTEdkQ1FWTnNSU3hUUVVGVFF5eExRVUZMUXl4SFFVTmFMRTlCUVU5QkxFVkJRVWxETEZGQlFWRXNUMEZCVVN4SlFVRkpRU3hSUVVGUkxFOUJRVkVzU1VGclFtcEVMRk5CUVZORExIVkNRVU5RTEU5QlFYbENMRzlDUVVGa1F5eFhRVUZ2UkN4blFrRkJkRUpCTEZWQlFWVkRMRk5CUTFrc2FVSkJRWFJDUkN4VlFVRlZReXhUUVVOWkxFOUJRWFJDUkN4VlFVRlZReXhYUVVrdlFpeHZRa0ZCV0VNc1VVRkRZU3h2UWtGQllrTXNWVUZuUWxnc1UwRkJVME1zVVVGQlVVTXNSVUZCUzBNc1IwRkZjRUlzUjBGQlNVUXNUVUZCUVVFc1JVRlZTaXhIUVV4dFFpeHBRa0ZCVWtFc1NVRkZWRUVzUlVGQlRTeERRVUZEUVN4SlFVZE1ia01zVVVGQlVXMURMRWRCUlZZc1NVRkJTeXhKUVVGSlJTeEZRVUZKTEVWQlFVZERMRVZCUVVsSUxFVkJRVWxKTEU5QlFWRkdMRVZCUVVsRExFVkJRVWRFTEVsQlEzSkRSQ3hGUVVGSGJFTXNTMEZCU3l4TFFVRk5hVU1zUlVGQlNVVXNSMEZCU1VFc1JVRkJSMFlzVVVGSk0wSXNTVUZCU3l4SlFVRkpTeXhMUVVGUFRDeEZRVU5XY2tNc1QwRkJUME1zVlVGQlZUQkRMR1ZCUVdWMlF5eExRVUZMYVVNc1JVRkJTMHNzU1VGRE5VTktMRVZCUVVkc1F5eExRVUZMTEV0QlFVMXBReXhGUVVGSlN5eEhRVUZOUVN4RlFVRkxUQ3hIUVhWQ2NrTXNVMEZCVTA4c1VVRkRVQ3hKUVVGSlF5eEZRVUZUTEVkQlEySXNVMEZCVTBNc1JVRkJXVE5ETEVWQlFVdDFReXhIUVVOd1FuaENMR05CUVdNeVFpeEZRVUZQU0N4TFFVRlRlRUlzWTBGQlkyWXNSMEZET1VNd1F5eEZRVUZQU0N4SFFVRlBSU3hOUVVGTlF5eEZRVUZQU0N4SFFVRk5ka01zUjBGRGVFSmxMR05CUVdObUxFZEJRM1pDTUVNc1JVRkJUMGdzUjBGQlQwVXNUVUZCVFN4SFFVRkpla01zUjBGRFprUXNVVUZCVVVNc1IwRkRha0l3UXl4RlFVRlBTQ3hIUVVGUGRrTXNSVUZCU1RSRExGRkJSV3hDUml4RlFVRlBTQ3hIUVVGUGRrTXNSVUZKYkVJc1NVRkJTeXhKUVVGSmIwTXNSVUZCU1N4RlFVRkhReXhGUVVGSlVTeFZRVUZWVUN4UFFVRlJSaXhGUVVGSlF5eEZRVUZIUkN4SlFVTXpRMGdzVVVGQlVWa3NWVUZCVlZRc1IwRkJTVThzUjBGRmVFSXNUMEZCVDBRc1JVRlhWQ3hUUVVGVFNTeFBRVUZQUXl4RlFVRkhReXhGUVVGSFF5eEhRVkZ3UWl4UFFWQkJhRUlzVVVGQlVXVXNSVUZCUnl4VFFVRnhRbWhFTEVWQlFVdDFReXhIUVVWcVExRXNSVUZCUlZJc1IwRkVRVlVzUjBGQk1FSXNiVUpCUVZKcVJDeEZRVU5ZVGl4TFFVRkxUU3hGUVVGTGFVUXNSMEZGVm1wRUxFbEJSMDRyUXl4RlFWTlVMRk5CUVZOSExGTkJRVk5ETEVkQlNXaENMRTlCU0RoQ0xGRkJRVEZDUVN4RlFVRlJReXhYUVVGWExFdEJRM0pDUkN4RlFVRlZRU3hGUVVGUlVDeE5RVUZOTEVsQlJXNUNUeXhGUVVkVVJTeFBRVUZQUXl4UlFVRlZMRU5CUTJaMlJDeFJRVUZUUVN4UlFVTlVUU3hqUVVGbFFTeGpRVU5tUml4VFFVRlZRU3hUUVVOV1J5eFhRVUZaUVN4WFFVTmFSU3hyUWtGQmJVSkJMR3RDUVVOdVFra3NVMEZCVlVFc1UwRkRWa01zVTBGQlZVRXNVMEZEVmtNc1UwRkJWVUVzVTBGRFZrTXNZMEZCWlVFc1kwRkRabUlzV1VGQllVRXNXVUZEWW1Vc1QwRkJVVUVzVDBGRFVrTXNUMEZCVVVFc1QwRkRVa01zVDBGQlVVRXNUMEZEVWtNc1YwRkJXVUVzVjBGRFdrTXNVMEZCVlVFc1UwRkRWa1VzYTBKQlFXMUNRU3hyUWtGRGJrSkxMSEZDUVVGelFrRXNjVUpCUTNSQ1N5eFJRVUZUUVN4UlFVTlVVU3hOUVVGUFFTeE5RVU5RU3l4UFFVRlJRU3hQUVVOU2NrSXNTMEZCVFVFc1MwRkRUbmxDTEZOQlFWVkJJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwzVjBhV3h6TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjtleHBvcnRzLmJ5dGVMZW5ndGg9Ynl0ZUxlbmd0aCxleHBvcnRzLnRvQnl0ZUFycmF5PXRvQnl0ZUFycmF5LGV4cG9ydHMuZnJvbUJ5dGVBcnJheT1mcm9tQnl0ZUFycmF5O2Zvcih2YXIgbG9va3VwPVtdLHJldkxvb2t1cD1bXSxBcnI9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVpbnQ4QXJyYXk/VWludDhBcnJheTpBcnJheSxjb2RlPVwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL1wiLGk9MCxsZW49Y29kZS5sZW5ndGg7aTxsZW47KytpKWxvb2t1cFtpXT1jb2RlW2ldLHJldkxvb2t1cFtjb2RlLmNoYXJDb2RlQXQoaSldPWk7ZnVuY3Rpb24gZ2V0TGVucyhvKXt2YXIgcj1vLmxlbmd0aDtpZihyJTQ+MCl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0XCIpO3ZhciBlPW8uaW5kZXhPZihcIj1cIik7cmV0dXJuLTE9PT1lJiYoZT1yKSxbZSxlPT09cj8wOjQtZSU0XX1mdW5jdGlvbiBieXRlTGVuZ3RoKG8pe3ZhciByPWdldExlbnMobyksZT1yWzBdLHQ9clsxXTtyZXR1cm4gMyooZSt0KS80LXR9ZnVuY3Rpb24gX2J5dGVMZW5ndGgobyxyLGUpe3JldHVybiAzKihyK2UpLzQtZX1mdW5jdGlvbiB0b0J5dGVBcnJheShvKXt2YXIgcixlLHQ9Z2V0TGVucyhvKSxuPXRbMF0sdT10WzFdLHA9bmV3IEFycihfYnl0ZUxlbmd0aChvLG4sdSkpLGE9MCxoPXU+MD9uLTQ6bjtmb3IoZT0wO2U8aDtlKz00KXI9cmV2TG9va3VwW28uY2hhckNvZGVBdChlKV08PDE4fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsxKV08PDEyfHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsyKV08PDZ8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzMpXSxwW2ErK109cj4+MTYmMjU1LHBbYSsrXT1yPj44JjI1NSxwW2ErK109MjU1JnI7cmV0dXJuIDI9PT11JiYocj1yZXZMb29rdXBbby5jaGFyQ29kZUF0KGUpXTw8MnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPj40LHBbYSsrXT0yNTUmciksMT09PXUmJihyPXJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSldPDwxMHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPDw0fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsyKV0+PjIscFthKytdPXI+PjgmMjU1LHBbYSsrXT0yNTUmcikscH1mdW5jdGlvbiB0cmlwbGV0VG9CYXNlNjQobyl7cmV0dXJuIGxvb2t1cFtvPj4xOCY2M10rbG9va3VwW28+PjEyJjYzXStsb29rdXBbbz4+NiY2M10rbG9va3VwWzYzJm9dfWZ1bmN0aW9uIGVuY29kZUNodW5rKG8scixlKXtmb3IodmFyIHQsbj1bXSx1PXI7dTxlO3UrPTMpdD0ob1t1XTw8MTYmMTY3MTE2ODApKyhvW3UrMV08PDgmNjUyODApKygyNTUmb1t1KzJdKSxuLnB1c2godHJpcGxldFRvQmFzZTY0KHQpKTtyZXR1cm4gbi5qb2luKFwiXCIpfWZ1bmN0aW9uIGZyb21CeXRlQXJyYXkobyl7Zm9yKHZhciByLGU9by5sZW5ndGgsdD1lJTMsbj1bXSx1PTAscD1lLXQ7dTxwO3UrPTE2MzgzKW4ucHVzaChlbmNvZGVDaHVuayhvLHUsdSsxNjM4Mz5wP3A6dSsxNjM4MykpO3JldHVybiAxPT09dD8ocj1vW2UtMV0sbi5wdXNoKGxvb2t1cFtyPj4yXStsb29rdXBbcjw8NCY2M10rXCI9PVwiKSk6Mj09PXQmJihyPShvW2UtMl08PDgpK29bZS0xXSxuLnB1c2gobG9va3VwW3I+PjEwXStsb29rdXBbcj4+NCY2M10rbG9va3VwW3I8PDImNjNdK1wiPVwiKSksbi5qb2luKFwiXCIpfXJldkxvb2t1cFtcIi1cIi5jaGFyQ29kZUF0KDApXT02MixyZXZMb29rdXBbXCJfXCIuY2hhckNvZGVBdCgwKV09NjM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKaWVYUmxUR1Z1WjNSb0lpd2lkRzlDZVhSbFFYSnlZWGtpTENKbWNtOXRRbmwwWlVGeWNtRjVJaXdpYkc5dmEzVndJaXdpY21WMlRHOXZhM1Z3SWl3aVFYSnlJaXdpVldsdWREaEJjbkpoZVNJc0lrRnljbUY1SWl3aVkyOWtaU0lzSW1raUxDSnNaVzRpTENKc1pXNW5kR2dpTENKamFHRnlRMjlrWlVGMElpd2laMlYwVEdWdWN5SXNJbUkyTkNJc0lrVnljbTl5SWl3aWRtRnNhV1JNWlc0aUxDSnBibVJsZUU5bUlpd2liR1Z1Y3lJc0luQnNZV05sU0c5c1pHVnljMHhsYmlJc0lsOWllWFJsVEdWdVozUm9JaXdpZEcxd0lpd2lZWEp5SWl3aVkzVnlRbmwwWlNJc0luUnlhWEJzWlhSVWIwSmhjMlUyTkNJc0ltNTFiU0lzSW1WdVkyOWtaVU5vZFc1cklpd2lkV2x1ZERnaUxDSnpkR0Z5ZENJc0ltVnVaQ0lzSW05MWRIQjFkQ0lzSW5CMWMyZ2lMQ0pxYjJsdUlpd2laWGgwY21GQ2VYUmxjeUlzSW5CaGNuUnpJaXdpYkdWdU1pSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVVFc1VVRkJVVU1zVjBGQllVRXNWMEZEY2tKRUxGRkJRVkZGTEZsQlFXTkJMRmxCUTNSQ1JpeFJRVUZSUnl4alFVRm5Ra0VzWTBGUGVFSXNTVUZNUVN4SlFVRkpReXhQUVVGVExFZEJRMVJETEZWQlFWa3NSMEZEV2tNc1NVRkJORUlzYjBKQlFXWkRMRmRCUVRaQ1FTeFhRVUZoUXl4TlFVVjJSRU1zUzBGQlR5eHRSVUZEUmtNc1JVRkJTU3hGUVVGSFF5eEpRVUZOUml4TFFVRkxSeXhQUVVGUlJpeEZRVUZKUXl4TlFVRlBSQ3hGUVVNMVEwNHNUMEZCVDAwc1IwRkJTMFFzUzBGQlMwTXNSMEZEYWtKTUxGVkJRVlZKTEV0QlFVdEpMRmRCUVZkSUxFbEJRVTFCTEVWQlVXeERMRk5CUVZOSkxGRkJRVk5ETEVkQlEyaENMRWxCUVVsS0xFVkJRVTFKTEVWQlFVbElMRTlCUldRc1IwRkJTVVFzUlVGQlRTeEZRVUZKTEVWQlExb3NUVUZCVFN4SlFVRkpTeXhOUVVGTkxHdEVRVXRzUWl4SlFVRkpReXhGUVVGWFJpeEZRVUZKUnl4UlFVRlJMRXRCVHpOQ0xFOUJUbXRDTEVsQlFXUkVMRWxCUVdsQ1FTeEZRVUZYVGl4SFFVMTZRaXhEUVVGRFRTeEZRVXBqUVN4SlFVRmhUaXhGUVVNdlFpeEZRVU5CTEVWQlFVdE5MRVZCUVZjc1IwRk5kRUlzVTBGQlUyaENMRmRCUVZsakxFZEJRMjVDTEVsQlFVbEpMRVZCUVU5TUxGRkJRVkZETEVkQlEyWkZMRVZCUVZkRkxFVkJRVXNzUjBGRGFFSkRMRVZCUVd0Q1JDeEZRVUZMTEVkQlF6TkNMRTlCUVhWRExFZEJRVGxDUml4RlFVRlhSeXhIUVVGMVFpeEZRVUZMUVN4RlFVZHNSQ3hUUVVGVFF5eFpRVUZoVGl4RlFVRkxSU3hGUVVGVlJ5eEhRVU51UXl4UFFVRjFReXhIUVVFNVFrZ3NSVUZCVjBjc1IwRkJkVUlzUlVGQlMwRXNSVUZIYkVRc1UwRkJVMnhDTEZsQlFXRmhMRWRCUTNCQ0xFbEJRVWxQTEVWQlkwRmFMRVZCWWtGVExFVkJRVTlNTEZGQlFWRkRMRWRCUTJaRkxFVkJRVmRGTEVWQlFVc3NSMEZEYUVKRExFVkJRV3RDUkN4RlFVRkxMRWRCUlhaQ1NTeEZRVUZOTEVsQlFVbHFRaXhKUVVGSlpTeFpRVUZaVGl4RlFVRkxSU3hGUVVGVlJ5eEpRVVY2UTBrc1JVRkJWU3hGUVVkV1lpeEZRVUZOVXl4RlFVRnJRaXhGUVVONFFrZ3NSVUZCVnl4RlFVTllRU3hGUVVkS0xFbEJRVXRRTEVWQlFVa3NSVUZCUjBFc1JVRkJTVU1zUlVGQlMwUXNSMEZCU3l4RlFVTjRRbGtzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1IwRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4SFFVTndRMHdzVlVGQlZWVXNSVUZCU1VZc1YwRkJWMGdzUlVGQlNTeExRVUZQTEVWQlEzSkRUQ3hWUVVGVlZTeEZRVUZKUml4WFFVRlhTQ3hGUVVGSkxFbEJReTlDWVN4RlFVRkpReXhMUVVGalJpeEhRVUZQTEVkQlFVMHNTVUZETDBKRExFVkJRVWxETEV0QlFXTkdMRWRCUVU4c1JVRkJTeXhKUVVNNVFrTXNSVUZCU1VNc1MwRkJiVUlzU1VGQlRrWXNSVUZ0UW01Q0xFOUJhRUozUWl4SlFVRndRa1lzU1VGRFJrVXNSVUZEUjJwQ0xGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFdEJRVThzUlVGRGFFTk1MRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRVZCUVVrc1MwRkJUeXhGUVVOMlEyRXNSVUZCU1VNc1MwRkJiVUlzU1VGQlRrWXNSMEZIU3l4SlFVRndRa1lzU1VGRFJrVXNSVUZEUjJwQ0xGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFdEJRVThzUjBGRGFFTk1MRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRVZCUVVrc1MwRkJUeXhGUVVOd1Ewd3NWVUZCVlZVc1JVRkJTVVlzVjBGQlYwZ3NSVUZCU1N4TFFVRlBMRVZCUTNaRFlTeEZRVUZKUXl4TFFVRmpSaXhIUVVGUExFVkJRVXNzU1VGRE9VSkRMRVZCUVVsRExFdEJRVzFDTEVsQlFVNUdMRWRCUjFwRExFVkJSMVFzVTBGQlUwVXNaMEpCUVdsQ1F5eEhRVU40UWl4UFFVRlBkRUlzVDBGQlQzTkNMRWRCUVU4c1IwRkJTeXhKUVVONFFuUkNMRTlCUVU5elFpeEhRVUZQTEVkQlFVc3NTVUZEYmtKMFFpeFBRVUZQYzBJc1IwRkJUeXhGUVVGSkxFbEJRMnhDZEVJc1QwRkJZU3hIUVVGT2MwSXNSMEZIV0N4VFFVRlRReXhaUVVGaFF5eEZRVUZQUXl4RlFVRlBReXhIUVVkc1F5eEpRVVpCTEVsQlFVbFNMRVZCUTBGVExFVkJRVk1zUjBGRFNuSkNMRVZCUVVsdFFpeEZRVUZQYmtJc1JVRkJTVzlDTEVWQlFVdHdRaXhIUVVGTExFVkJRMmhEV1N4SFFVTkpUU3hGUVVGTmJFSXNTVUZCVFN4SFFVRk5MRmRCUTJ4Q2EwSXNSVUZCVFd4Q0xFVkJRVWtzU1VGQlRTeEZRVUZMTEZGQlExQXNTVUZCWm10Q0xFVkJRVTFzUWl4RlFVRkpMRWxCUTJKeFFpeEZRVUZQUXl4TFFVRkxVQ3huUWtGQlowSklMRWxCUlRsQ0xFOUJRVTlUTEVWQlFVOUZMRXRCUVVzc1NVRkhja0lzVTBGQlV6bENMR05CUVdWNVFpeEhRVkYwUWl4SlFWQkJMRWxCUVVsT0xFVkJRMEZZTEVWQlFVMXBRaXhGUVVGTmFFSXNUMEZEV25OQ0xFVkJRV0YyUWl4RlFVRk5MRVZCUTI1Q2QwSXNSVUZCVVN4SFFVbElla0lzUlVGQlNTeEZRVUZITUVJc1JVRkJUM3BDTEVWQlFVMTFRaXhGUVVGWmVFSXNSVUZCU1RCQ0xFVkJRVTB4UWl4SFFVZzVRaXhOUVVsdVFubENMRVZCUVUxSUxFdEJRVXRNTEZsQlFWbERMRVZCUVU5c1FpeEZRVUZKUVN4RlFVcG1MRTFCU1hGRE1FSXNSVUZCVDBFc1JVRkJVVEZDTEVWQlNuQkVMRkZCZVVKeVFpeFBRV3BDYlVJc1NVRkJabmRDTEVkQlEwWmFMRVZCUVUxTkxFVkJRVTFxUWl4RlFVRk5MRWRCUTJ4Q2QwSXNSVUZCVFVnc1MwRkRTalZDTEU5QlFVOXJRaXhIUVVGUExFZEJRMlJzUWl4UFFVRlJhMElzUjBGQlR5eEZRVUZMTEVsQlEzQkNMRTlCUlhOQ0xFbEJRV1paTEVsQlExUmFMRWRCUVU5TkxFVkJRVTFxUWl4RlFVRk5MRWxCUVUwc1IwRkJTMmxDTEVWQlFVMXFRaXhGUVVGTkxFZEJRekZEZDBJc1JVRkJUVWdzUzBGRFNqVkNMRTlCUVU5clFpeEhRVUZQTEVsQlEyUnNRaXhQUVVGUmEwSXNSMEZCVHl4RlFVRkxMRWxCUTNCQ2JFSXNUMEZCVVd0Q0xFZEJRVThzUlVGQlN5eEpRVU53UWl4TlFVbEhZU3hGUVVGTlJpeExRVUZMTEVsQmJFbHdRalZDTEZWQlFWVXNTVUZCU1ZFc1YwRkJWeXhKUVVGTkxFZEJReTlDVWl4VlFVRlZMRWxCUVVsUkxGZEJRVmNzU1VGQlRTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJKaGMyVTJOQzFxY3k5cGJtUmxlQzVxY3lKOSIsIlxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1WdGNIUjVMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUlpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeUxYSmxjMjlzZG1VdlpXMXdkSGt1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgYmFzZTY0PXJlcXVpcmUoXCJiYXNlNjQtanNcIiksaWVlZTc1ND1yZXF1aXJlKFwiaWVlZTc1NFwiKTtleHBvcnRzLkJ1ZmZlcj1CdWZmZXIsZXhwb3J0cy5TbG93QnVmZmVyPVNsb3dCdWZmZXIsZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUz01MDt2YXIgS19NQVhfTEVOR1RIPTIxNDc0ODM2NDc7ZnVuY3Rpb24gdHlwZWRBcnJheVN1cHBvcnQoKXt0cnl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGUuX19wcm90b19fPXtfX3Byb3RvX186VWludDhBcnJheS5wcm90b3R5cGUsZm9vOmZ1bmN0aW9uKCl7cmV0dXJuIDQyfX0sNDI9PT1lLmZvbygpfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBjcmVhdGVCdWZmZXIoZSl7aWYoZT5LX01BWF9MRU5HVEgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJyk7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSk7cmV0dXJuIHQuX19wcm90b19fPUJ1ZmZlci5wcm90b3R5cGUsdH1mdW5jdGlvbiBCdWZmZXIoZSx0LHIpe2lmKFwibnVtYmVyXCI9PXR5cGVvZiBlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJzdHJpbmdcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLiBSZWNlaXZlZCB0eXBlIG51bWJlcicpO3JldHVybiBhbGxvY1Vuc2FmZShlKX1yZXR1cm4gZnJvbShlLHQscil9ZnVuY3Rpb24gZnJvbShlLHQscil7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIGZyb21TdHJpbmcoZSx0KTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpcmV0dXJuIGZyb21BcnJheUxpa2UoZSk7aWYobnVsbD09ZSl0aHJvdyBUeXBlRXJyb3IoXCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSBcIit0eXBlb2YgZSk7aWYoaXNJbnN0YW5jZShlLEFycmF5QnVmZmVyKXx8ZSYmaXNJbnN0YW5jZShlLmJ1ZmZlcixBcnJheUJ1ZmZlcikpcmV0dXJuIGZyb21BcnJheUJ1ZmZlcihlLHQscik7aWYoXCJudW1iZXJcIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwidmFsdWVcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTt2YXIgbj1lLnZhbHVlT2YmJmUudmFsdWVPZigpO2lmKG51bGwhPW4mJm4hPT1lKXJldHVybiBCdWZmZXIuZnJvbShuLHQscik7dmFyIGY9ZnJvbU9iamVjdChlKTtpZihmKXJldHVybiBmO2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC50b1ByaW1pdGl2ZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZVtTeW1ib2wudG9QcmltaXRpdmVdKXJldHVybiBCdWZmZXIuZnJvbShlW1N5bWJvbC50b1ByaW1pdGl2ZV0oXCJzdHJpbmdcIiksdCxyKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgXCIrdHlwZW9mIGUpfWZ1bmN0aW9uIGFzc2VydFNpemUoZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlcicpO2lmKGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIFwiJytlKydcIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gXCJzaXplXCInKX1mdW5jdGlvbiBhbGxvYyhlLHQscil7cmV0dXJuIGFzc2VydFNpemUoZSksZTw9MD9jcmVhdGVCdWZmZXIoZSk6dm9pZCAwIT09dD9cInN0cmluZ1wiPT10eXBlb2Ygcj9jcmVhdGVCdWZmZXIoZSkuZmlsbCh0LHIpOmNyZWF0ZUJ1ZmZlcihlKS5maWxsKHQpOmNyZWF0ZUJ1ZmZlcihlKX1mdW5jdGlvbiBhbGxvY1Vuc2FmZShlKXtyZXR1cm4gYXNzZXJ0U2l6ZShlKSxjcmVhdGVCdWZmZXIoZTwwPzA6MHxjaGVja2VkKGUpKX1mdW5jdGlvbiBmcm9tU3RyaW5nKGUsdCl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJlwiXCIhPT10fHwodD1cInV0ZjhcIiksIUJ1ZmZlci5pc0VuY29kaW5nKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIit0KTt2YXIgcj0wfGJ5dGVMZW5ndGgoZSx0KSxuPWNyZWF0ZUJ1ZmZlcihyKSxmPW4ud3JpdGUoZSx0KTtyZXR1cm4gZiE9PXImJihuPW4uc2xpY2UoMCxmKSksbn1mdW5jdGlvbiBmcm9tQXJyYXlMaWtlKGUpe2Zvcih2YXIgdD1lLmxlbmd0aDwwPzA6MHxjaGVja2VkKGUubGVuZ3RoKSxyPWNyZWF0ZUJ1ZmZlcih0KSxuPTA7bjx0O24rPTEpcltuXT0yNTUmZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIoZSx0LHIpe2lmKHQ8MHx8ZS5ieXRlTGVuZ3RoPHQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1wib2Zmc2V0XCIgaXMgb3V0c2lkZSBvZiBidWZmZXIgYm91bmRzJyk7aWYoZS5ieXRlTGVuZ3RoPHQrKHJ8fDApKXRocm93IG5ldyBSYW5nZUVycm9yKCdcImxlbmd0aFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO3ZhciBuO3JldHVybihuPXZvaWQgMD09PXQmJnZvaWQgMD09PXI/bmV3IFVpbnQ4QXJyYXkoZSk6dm9pZCAwPT09cj9uZXcgVWludDhBcnJheShlLHQpOm5ldyBVaW50OEFycmF5KGUsdCxyKSkuX19wcm90b19fPUJ1ZmZlci5wcm90b3R5cGUsbn1mdW5jdGlvbiBmcm9tT2JqZWN0KGUpe2lmKEJ1ZmZlci5pc0J1ZmZlcihlKSl7dmFyIHQ9MHxjaGVja2VkKGUubGVuZ3RoKSxyPWNyZWF0ZUJ1ZmZlcih0KTtyZXR1cm4gMD09PXIubGVuZ3RoP3I6KGUuY29weShyLDAsMCx0KSxyKX1yZXR1cm4gdm9pZCAwIT09ZS5sZW5ndGg/XCJudW1iZXJcIiE9dHlwZW9mIGUubGVuZ3RofHxudW1iZXJJc05hTihlLmxlbmd0aCk/Y3JlYXRlQnVmZmVyKDApOmZyb21BcnJheUxpa2UoZSk6XCJCdWZmZXJcIj09PWUudHlwZSYmQXJyYXkuaXNBcnJheShlLmRhdGEpP2Zyb21BcnJheUxpa2UoZS5kYXRhKTp2b2lkIDB9ZnVuY3Rpb24gY2hlY2tlZChlKXtpZihlPj1LX01BWF9MRU5HVEgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4XCIrS19NQVhfTEVOR1RILnRvU3RyaW5nKDE2KStcIiBieXRlc1wiKTtyZXR1cm4gMHxlfWZ1bmN0aW9uIFNsb3dCdWZmZXIoZSl7cmV0dXJuK2UhPWUmJihlPTApLEJ1ZmZlci5hbGxvYygrZSl9ZnVuY3Rpb24gYnl0ZUxlbmd0aChlLHQpe2lmKEJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gZS5sZW5ndGg7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpfHxpc0luc3RhbmNlKGUsQXJyYXlCdWZmZXIpKXJldHVybiBlLmJ5dGVMZW5ndGg7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic3RyaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgb3IgQXJyYXlCdWZmZXIuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSk7dmFyIHI9ZS5sZW5ndGgsbj1hcmd1bWVudHMubGVuZ3RoPjImJiEwPT09YXJndW1lbnRzWzJdO2lmKCFuJiYwPT09cilyZXR1cm4gMDtmb3IodmFyIGY9ITE7Oylzd2l0Y2godCl7Y2FzZVwiYXNjaWlcIjpjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm4gcjtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm4gdXRmOFRvQnl0ZXMoZSkubGVuZ3RoO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiAyKnI7Y2FzZVwiaGV4XCI6cmV0dXJuIHI+Pj4xO2Nhc2VcImJhc2U2NFwiOnJldHVybiBiYXNlNjRUb0J5dGVzKGUpLmxlbmd0aDtkZWZhdWx0OmlmKGYpcmV0dXJuIG4/LTE6dXRmOFRvQnl0ZXMoZSkubGVuZ3RoO3Q9KFwiXCIrdCkudG9Mb3dlckNhc2UoKSxmPSEwfX1mdW5jdGlvbiBzbG93VG9TdHJpbmcoZSx0LHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT10fHx0PDApJiYodD0wKSx0PnRoaXMubGVuZ3RoKXJldHVyblwiXCI7aWYoKHZvaWQgMD09PXJ8fHI+dGhpcy5sZW5ndGgpJiYocj10aGlzLmxlbmd0aCkscjw9MClyZXR1cm5cIlwiO2lmKChyPj4+PTApPD0odD4+Pj0wKSlyZXR1cm5cIlwiO2ZvcihlfHwoZT1cInV0ZjhcIik7Oylzd2l0Y2goZSl7Y2FzZVwiaGV4XCI6cmV0dXJuIGhleFNsaWNlKHRoaXMsdCxyKTtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm4gdXRmOFNsaWNlKHRoaXMsdCxyKTtjYXNlXCJhc2NpaVwiOnJldHVybiBhc2NpaVNsaWNlKHRoaXMsdCxyKTtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm4gbGF0aW4xU2xpY2UodGhpcyx0LHIpO2Nhc2VcImJhc2U2NFwiOnJldHVybiBiYXNlNjRTbGljZSh0aGlzLHQscik7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLHQscik7ZGVmYXVsdDppZihuKXRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIitlKTtlPShlK1wiXCIpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gc3dhcChlLHQscil7dmFyIG49ZVt0XTtlW3RdPWVbcl0sZVtyXT1ufWZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mKGUsdCxyLG4sZil7aWYoMD09PWUubGVuZ3RoKXJldHVybi0xO2lmKFwic3RyaW5nXCI9PXR5cGVvZiByPyhuPXIscj0wKTpyPjIxNDc0ODM2NDc/cj0yMTQ3NDgzNjQ3OnI8LTIxNDc0ODM2NDgmJihyPS0yMTQ3NDgzNjQ4KSxudW1iZXJJc05hTihyPStyKSYmKHI9Zj8wOmUubGVuZ3RoLTEpLHI8MCYmKHI9ZS5sZW5ndGgrcikscj49ZS5sZW5ndGgpe2lmKGYpcmV0dXJuLTE7cj1lLmxlbmd0aC0xfWVsc2UgaWYocjwwKXtpZighZilyZXR1cm4tMTtyPTB9aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsbikpLEJ1ZmZlci5pc0J1ZmZlcih0KSlyZXR1cm4gMD09PXQubGVuZ3RoPy0xOmFycmF5SW5kZXhPZihlLHQscixuLGYpO2lmKFwibnVtYmVyXCI9PXR5cGVvZiB0KXJldHVybiB0Jj0yNTUsXCJmdW5jdGlvblwiPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mP1VpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChlLHQscik6VWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChlLHQscik6YXJyYXlJbmRleE9mKGUsW3RdLHIsbixmKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwidmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyXCIpfWZ1bmN0aW9uIGFycmF5SW5kZXhPZihlLHQscixuLGYpe3ZhciBpLG89MSx1PWUubGVuZ3RoLHM9dC5sZW5ndGg7aWYodm9pZCAwIT09biYmKFwidWNzMlwiPT09KG49U3RyaW5nKG4pLnRvTG93ZXJDYXNlKCkpfHxcInVjcy0yXCI9PT1ufHxcInV0ZjE2bGVcIj09PW58fFwidXRmLTE2bGVcIj09PW4pKXtpZihlLmxlbmd0aDwyfHx0Lmxlbmd0aDwyKXJldHVybi0xO289Mix1Lz0yLHMvPTIsci89Mn1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIDE9PT1vP2VbdF06ZS5yZWFkVUludDE2QkUodCpvKX1pZihmKXt2YXIgaD0tMTtmb3IoaT1yO2k8dTtpKyspaWYoYShlLGkpPT09YSh0LC0xPT09aD8wOmktaCkpe2lmKC0xPT09aCYmKGg9aSksaS1oKzE9PT1zKXJldHVybiBoKm99ZWxzZS0xIT09aCYmKGktPWktaCksaD0tMX1lbHNlIGZvcihyK3M+dSYmKHI9dS1zKSxpPXI7aT49MDtpLS0pe2Zvcih2YXIgYz0hMCxsPTA7bDxzO2wrKylpZihhKGUsaStsKSE9PWEodCxsKSl7Yz0hMTticmVha31pZihjKXJldHVybiBpfXJldHVybi0xfWZ1bmN0aW9uIGhleFdyaXRlKGUsdCxyLG4pe3I9TnVtYmVyKHIpfHwwO3ZhciBmPWUubGVuZ3RoLXI7bj8obj1OdW1iZXIobikpPmYmJihuPWYpOm49Zjt2YXIgaT10Lmxlbmd0aDtuPmkvMiYmKG49aS8yKTtmb3IodmFyIG89MDtvPG47KytvKXt2YXIgdT1wYXJzZUludCh0LnN1YnN0cigyKm8sMiksMTYpO2lmKG51bWJlcklzTmFOKHUpKXJldHVybiBvO2VbcitvXT11fXJldHVybiBvfWZ1bmN0aW9uIHV0ZjhXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBhc2NpaVdyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKGFzY2lpVG9CeXRlcyh0KSxlLHIsbil9ZnVuY3Rpb24gbGF0aW4xV3JpdGUoZSx0LHIsbil7cmV0dXJuIGFzY2lpV3JpdGUoZSx0LHIsbil9ZnVuY3Rpb24gYmFzZTY0V3JpdGUoZSx0LHIsbil7cmV0dXJuIGJsaXRCdWZmZXIoYmFzZTY0VG9CeXRlcyh0KSxlLHIsbil9ZnVuY3Rpb24gdWNzMldyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKHV0ZjE2bGVUb0J5dGVzKHQsZS5sZW5ndGgtciksZSxyLG4pfWZ1bmN0aW9uIGJhc2U2NFNsaWNlKGUsdCxyKXtyZXR1cm4gMD09PXQmJnI9PT1lLmxlbmd0aD9iYXNlNjQuZnJvbUJ5dGVBcnJheShlKTpiYXNlNjQuZnJvbUJ5dGVBcnJheShlLnNsaWNlKHQscikpfWZ1bmN0aW9uIHV0ZjhTbGljZShlLHQscil7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIG49W10sZj10O2Y8cjspe3ZhciBpLG8sdSxzLGE9ZVtmXSxoPW51bGwsYz1hPjIzOT80OmE+MjIzPzM6YT4xOTE/MjoxO2lmKGYrYzw9cilzd2l0Y2goYyl7Y2FzZSAxOmE8MTI4JiYoaD1hKTticmVhaztjYXNlIDI6MTI4PT0oMTkyJihpPWVbZisxXSkpJiYocz0oMzEmYSk8PDZ8NjMmaSk+MTI3JiYoaD1zKTticmVhaztjYXNlIDM6aT1lW2YrMV0sbz1lW2YrMl0sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJihzPSgxNSZhKTw8MTJ8KDYzJmkpPDw2fDYzJm8pPjIwNDcmJihzPDU1Mjk2fHxzPjU3MzQzKSYmKGg9cyk7YnJlYWs7Y2FzZSA0Omk9ZVtmKzFdLG89ZVtmKzJdLHU9ZVtmKzNdLDEyOD09KDE5MiZpKSYmMTI4PT0oMTkyJm8pJiYxMjg9PSgxOTImdSkmJihzPSgxNSZhKTw8MTh8KDYzJmkpPDwxMnwoNjMmbyk8PDZ8NjMmdSk+NjU1MzUmJnM8MTExNDExMiYmKGg9cyl9bnVsbD09PWg/KGg9NjU1MzMsYz0xKTpoPjY1NTM1JiYoaC09NjU1MzYsbi5wdXNoKGg+Pj4xMCYxMDIzfDU1Mjk2KSxoPTU2MzIwfDEwMjMmaCksbi5wdXNoKGgpLGYrPWN9cmV0dXJuIGRlY29kZUNvZGVQb2ludHNBcnJheShuKX1leHBvcnRzLmtNYXhMZW5ndGg9S19NQVhfTEVOR1RILEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUPXR5cGVkQXJyYXlTdXBwb3J0KCksQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlR8fFwidW5kZWZpbmVkXCI9PXR5cGVvZiBjb25zb2xlfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBjb25zb2xlLmVycm9yfHxjb25zb2xlLmVycm9yKFwiVGhpcyBicm93c2VyIGxhY2tzIHR5cGVkIGFycmF5IChVaW50OEFycmF5KSBzdXBwb3J0IHdoaWNoIGlzIHJlcXVpcmVkIGJ5IGBidWZmZXJgIHY1LnguIFVzZSBgYnVmZmVyYCB2NC54IGlmIHlvdSByZXF1aXJlIG9sZCBicm93c2VyIHN1cHBvcnQuXCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLFwicGFyZW50XCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoQnVmZmVyLmlzQnVmZmVyKHRoaXMpKXJldHVybiB0aGlzLmJ1ZmZlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSxcIm9mZnNldFwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKEJ1ZmZlci5pc0J1ZmZlcih0aGlzKSlyZXR1cm4gdGhpcy5ieXRlT2Zmc2V0fX0pLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC5zcGVjaWVzJiZCdWZmZXJbU3ltYm9sLnNwZWNpZXNdPT09QnVmZmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExfSksQnVmZmVyLnBvb2xTaXplPTgxOTIsQnVmZmVyLmZyb209ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBmcm9tKGUsdCxyKX0sQnVmZmVyLnByb3RvdHlwZS5fX3Byb3RvX189VWludDhBcnJheS5wcm90b3R5cGUsQnVmZmVyLl9fcHJvdG9fXz1VaW50OEFycmF5LEJ1ZmZlci5hbGxvYz1mdW5jdGlvbihlLHQscil7cmV0dXJuIGFsbG9jKGUsdCxyKX0sQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe3JldHVybiBhbGxvY1Vuc2FmZShlKX0sQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihlKXtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9LEJ1ZmZlci5pc0J1ZmZlcj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmITA9PT1lLl9pc0J1ZmZlciYmZSE9PUJ1ZmZlci5wcm90b3R5cGV9LEJ1ZmZlci5jb21wYXJlPWZ1bmN0aW9uKGUsdCl7aWYoaXNJbnN0YW5jZShlLFVpbnQ4QXJyYXkpJiYoZT1CdWZmZXIuZnJvbShlLGUub2Zmc2V0LGUuYnl0ZUxlbmd0aCkpLGlzSW5zdGFuY2UodCxVaW50OEFycmF5KSYmKHQ9QnVmZmVyLmZyb20odCx0Lm9mZnNldCx0LmJ5dGVMZW5ndGgpKSwhQnVmZmVyLmlzQnVmZmVyKGUpfHwhQnVmZmVyLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImJ1ZjFcIiwgXCJidWYyXCIgYXJndW1lbnRzIG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXknKTtpZihlPT09dClyZXR1cm4gMDtmb3IodmFyIHI9ZS5sZW5ndGgsbj10Lmxlbmd0aCxmPTAsaT1NYXRoLm1pbihyLG4pO2Y8aTsrK2YpaWYoZVtmXSE9PXRbZl0pe3I9ZVtmXSxuPXRbZl07YnJlYWt9cmV0dXJuIHI8bj8tMTpuPHI/MTowfSxCdWZmZXIuaXNFbmNvZGluZz1mdW5jdGlvbihlKXtzd2l0Y2goU3RyaW5nKGUpLnRvTG93ZXJDYXNlKCkpe2Nhc2VcImhleFwiOmNhc2VcInV0ZjhcIjpjYXNlXCJ1dGYtOFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6Y2FzZVwiYmFzZTY0XCI6Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19LEJ1ZmZlci5jb25jYXQ9ZnVuY3Rpb24oZSx0KXtpZighQXJyYXkuaXNBcnJheShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTt2YXIgcjtpZih2b2lkIDA9PT10KWZvcih0PTAscj0wO3I8ZS5sZW5ndGg7KytyKXQrPWVbcl0ubGVuZ3RoO3ZhciBuPUJ1ZmZlci5hbGxvY1Vuc2FmZSh0KSxmPTA7Zm9yKHI9MDtyPGUubGVuZ3RoOysrcil7dmFyIGk9ZVtyXTtpZihpc0luc3RhbmNlKGksVWludDhBcnJheSkmJihpPUJ1ZmZlci5mcm9tKGkpKSwhQnVmZmVyLmlzQnVmZmVyKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2kuY29weShuLGYpLGYrPWkubGVuZ3RofXJldHVybiBufSxCdWZmZXIuYnl0ZUxlbmd0aD1ieXRlTGVuZ3RoLEJ1ZmZlci5wcm90b3R5cGUuX2lzQnVmZmVyPSEwLEJ1ZmZlci5wcm90b3R5cGUuc3dhcDE2PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSUyIT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTIpc3dhcCh0aGlzLHQsdCsxKTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS5zd2FwMzI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTQhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0c1wiKTtmb3IodmFyIHQ9MDt0PGU7dCs9NClzd2FwKHRoaXMsdCx0KzMpLHN3YXAodGhpcyx0KzEsdCsyKTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0c1wiKTtmb3IodmFyIHQ9MDt0PGU7dCs9OClzd2FwKHRoaXMsdCx0KzcpLHN3YXAodGhpcyx0KzEsdCs2KSxzd2FwKHRoaXMsdCsyLHQrNSksc3dhcCh0aGlzLHQrMyx0KzQpO3JldHVybiB0aGlzfSxCdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7cmV0dXJuIDA9PT1lP1wiXCI6MD09PWFyZ3VtZW50cy5sZW5ndGg/dXRmOFNsaWNlKHRoaXMsMCxlKTpzbG93VG9TdHJpbmcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxCdWZmZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nPUJ1ZmZlci5wcm90b3R5cGUudG9TdHJpbmcsQnVmZmVyLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oZSl7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlclwiKTtyZXR1cm4gdGhpcz09PWV8fDA9PT1CdWZmZXIuY29tcGFyZSh0aGlzLGUpfSxCdWZmZXIucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXt2YXIgZT1cIlwiLHQ9ZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gZT10aGlzLnRvU3RyaW5nKFwiaGV4XCIsMCx0KS5yZXBsYWNlKC8oLnsyfSkvZyxcIiQxIFwiKS50cmltKCksdGhpcy5sZW5ndGg+dCYmKGUrPVwiIC4uLiBcIiksXCI8QnVmZmVyIFwiK2UrXCI+XCJ9LEJ1ZmZlci5wcm90b3R5cGUuY29tcGFyZT1mdW5jdGlvbihlLHQscixuLGYpe2lmKGlzSW5zdGFuY2UoZSxVaW50OEFycmF5KSYmKGU9QnVmZmVyLmZyb20oZSxlLm9mZnNldCxlLmJ5dGVMZW5ndGgpKSwhQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInRhcmdldFwiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXkuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSk7aWYodm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09ciYmKHI9ZT9lLmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1mJiYoZj10aGlzLmxlbmd0aCksdDwwfHxyPmUubGVuZ3RofHxuPDB8fGY+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvdXQgb2YgcmFuZ2UgaW5kZXhcIik7aWYobj49ZiYmdD49cilyZXR1cm4gMDtpZihuPj1mKXJldHVybi0xO2lmKHQ+PXIpcmV0dXJuIDE7aWYodGhpcz09PWUpcmV0dXJuIDA7Zm9yKHZhciBpPShmPj4+PTApLShuPj4+PTApLG89KHI+Pj49MCktKHQ+Pj49MCksdT1NYXRoLm1pbihpLG8pLHM9dGhpcy5zbGljZShuLGYpLGE9ZS5zbGljZSh0LHIpLGg9MDtoPHU7KytoKWlmKHNbaF0hPT1hW2hdKXtpPXNbaF0sbz1hW2hdO2JyZWFrfXJldHVybiBpPG8/LTE6bzxpPzE6MH0sQnVmZmVyLnByb3RvdHlwZS5pbmNsdWRlcz1mdW5jdGlvbihlLHQscil7cmV0dXJuLTEhPT10aGlzLmluZGV4T2YoZSx0LHIpfSxCdWZmZXIucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLGUsdCxyLCEwKX0sQnVmZmVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihlLHQscil7cmV0dXJuIGJpZGlyZWN0aW9uYWxJbmRleE9mKHRoaXMsZSx0LHIsITEpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKHZvaWQgMD09PXQpbj1cInV0ZjhcIixyPXRoaXMubGVuZ3RoLHQ9MDtlbHNlIGlmKHZvaWQgMD09PXImJlwic3RyaW5nXCI9PXR5cGVvZiB0KW49dCxyPXRoaXMubGVuZ3RoLHQ9MDtlbHNle2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgRXJyb3IoXCJCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZFwiKTt0Pj4+PTAsaXNGaW5pdGUocik/KHI+Pj49MCx2b2lkIDA9PT1uJiYobj1cInV0ZjhcIikpOihuPXIscj12b2lkIDApfXZhciBmPXRoaXMubGVuZ3RoLXQ7aWYoKHZvaWQgMD09PXJ8fHI+ZikmJihyPWYpLGUubGVuZ3RoPjAmJihyPDB8fHQ8MCl8fHQ+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kc1wiKTtufHwobj1cInV0ZjhcIik7Zm9yKHZhciBpPSExOzspc3dpdGNoKG4pe2Nhc2VcImhleFwiOnJldHVybiBoZXhXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm4gdXRmOFdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImFzY2lpXCI6cmV0dXJuIGFzY2lpV3JpdGUodGhpcyxlLHQscik7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIGxhdGluMVdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImJhc2U2NFwiOnJldHVybiBiYXNlNjRXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm4gdWNzMldyaXRlKHRoaXMsZSx0LHIpO2RlZmF1bHQ6aWYoaSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrbik7bj0oXCJcIituKS50b0xvd2VyQ2FzZSgpLGk9ITB9fSxCdWZmZXIucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOlwiQnVmZmVyXCIsZGF0YTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnJ8fHRoaXMsMCl9fTt2YXIgTUFYX0FSR1VNRU5UU19MRU5HVEg9NDA5NjtmdW5jdGlvbiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkoZSl7dmFyIHQ9ZS5sZW5ndGg7aWYodDw9TUFYX0FSR1VNRU5UU19MRU5HVEgpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUpO2Zvcih2YXIgcj1cIlwiLG49MDtuPHQ7KXIrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUuc2xpY2UobixuKz1NQVhfQVJHVU1FTlRTX0xFTkdUSCkpO3JldHVybiByfWZ1bmN0aW9uIGFzY2lpU2xpY2UoZSx0LHIpe3ZhciBuPVwiXCI7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIGY9dDtmPHI7KytmKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUoMTI3JmVbZl0pO3JldHVybiBufWZ1bmN0aW9uIGxhdGluMVNsaWNlKGUsdCxyKXt2YXIgbj1cIlwiO3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBmPXQ7ZjxyOysrZiluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGVbZl0pO3JldHVybiBufWZ1bmN0aW9uIGhleFNsaWNlKGUsdCxyKXt2YXIgbj1lLmxlbmd0aDsoIXR8fHQ8MCkmJih0PTApLCghcnx8cjwwfHxyPm4pJiYocj1uKTtmb3IodmFyIGY9XCJcIixpPXQ7aTxyOysraSlmKz10b0hleChlW2ldKTtyZXR1cm4gZn1mdW5jdGlvbiB1dGYxNmxlU2xpY2UoZSx0LHIpe2Zvcih2YXIgbj1lLnNsaWNlKHQsciksZj1cIlwiLGk9MDtpPG4ubGVuZ3RoO2krPTIpZis9U3RyaW5nLmZyb21DaGFyQ29kZShuW2ldKzI1NipuW2krMV0pO3JldHVybiBmfWZ1bmN0aW9uIGNoZWNrT2Zmc2V0KGUsdCxyKXtpZihlJTEhPTB8fGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIm9mZnNldCBpcyBub3QgdWludFwiKTtpZihlK3Q+cil0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGhcIil9ZnVuY3Rpb24gY2hlY2tJbnQoZSx0LHIsbixmLGkpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJidWZmZXJcIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7aWYodD5mfHx0PGkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYocituPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpfWZ1bmN0aW9uIGNoZWNrSUVFRTc1NChlLHQscixuLGYsaSl7aWYocituPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKX1mdW5jdGlvbiB3cml0ZUZsb2F0KGUsdCxyLG4sZil7cmV0dXJuIHQ9K3Qscj4+Pj0wLGZ8fGNoZWNrSUVFRTc1NChlLHQsciw0LDMuNDAyODIzNDY2Mzg1Mjg4NmUzOCwtMy40MDI4MjM0NjYzODUyODg2ZTM4KSxpZWVlNzU0LndyaXRlKGUsdCxyLG4sMjMsNCkscis0fWZ1bmN0aW9uIHdyaXRlRG91YmxlKGUsdCxyLG4sZil7cmV0dXJuIHQ9K3Qscj4+Pj0wLGZ8fGNoZWNrSUVFRTc1NChlLHQsciw4LDEuNzk3NjkzMTM0ODYyMzE1N2UzMDgsLTEuNzk3NjkzMTM0ODYyMzE1N2UzMDgpLGllZWU3NTQud3JpdGUoZSx0LHIsbiw1Miw4KSxyKzh9QnVmZmVyLnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMubGVuZ3RoOyhlPX5+ZSk8MD8oZSs9cik8MCYmKGU9MCk6ZT5yJiYoZT1yKSwodD12b2lkIDA9PT10P3I6fn50KTwwPyh0Kz1yKTwwJiYodD0wKTp0PnImJih0PXIpLHQ8ZSYmKHQ9ZSk7dmFyIG49dGhpcy5zdWJhcnJheShlLHQpO3JldHVybiBuLl9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRMRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2VdLGY9MSxpPTA7KytpPHQmJihmKj0yNTYpOyluKz10aGlzW2UraV0qZjtyZXR1cm4gbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbZSstLXRdLGY9MTt0PjAmJihmKj0yNTYpOyluKz10aGlzW2UrLS10XSpmO3JldHVybiBufSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OD1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwxLHRoaXMubGVuZ3RoKSx0aGlzW2VdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKSx0aGlzW2VdfHRoaXNbZSsxXTw8OH0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXTw8OHx0aGlzW2UrMV19LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLCh0aGlzW2VdfHRoaXNbZSsxXTw8OHx0aGlzW2UrMl08PDE2KSsxNjc3NzIxNip0aGlzW2UrM119LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQzMkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLDE2Nzc3MjE2KnRoaXNbZV0rKHRoaXNbZSsxXTw8MTZ8dGhpc1tlKzJdPDw4fHRoaXNbZSszXSl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbZV0sZj0xLGk9MDsrK2k8dCYmKGYqPTI1Nik7KW4rPXRoaXNbZStpXSpmO3JldHVybiBuPj0oZio9MTI4KSYmKG4tPU1hdGgucG93KDIsOCp0KSksbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50QkU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dCxmPTEsaT10aGlzW2UrLS1uXTtuPjAmJihmKj0yNTYpOylpKz10aGlzW2UrLS1uXSpmO3JldHVybiBpPj0oZio9MTI4KSYmKGktPU1hdGgucG93KDIsOCp0KSksaX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwxLHRoaXMubGVuZ3RoKSwxMjgmdGhpc1tlXT8tMSooMjU1LXRoaXNbZV0rMSk6dGhpc1tlXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbihlLHQpe2U+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbZV18dGhpc1tlKzFdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7ZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1tlKzFdfHRoaXNbZV08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDMyTEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNnx0aGlzW2UrM108PDI0fSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDI0fHRoaXNbZSsxXTw8MTZ8dGhpc1tlKzJdPDw4fHRoaXNbZSszXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRmxvYXRMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCEwLDIzLDQpfSxCdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITEsMjMsNCl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDgsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITAsNTIsOCl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDgsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITEsNTIsOCl9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50TEU9ZnVuY3Rpb24oZSx0LHIsbil7KGU9K2UsdD4+Pj0wLHI+Pj49MCxuKXx8Y2hlY2tJbnQodGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgZj0xLGk9MDtmb3IodGhpc1t0XT0yNTUmZTsrK2k8ciYmKGYqPTI1Nik7KXRoaXNbdCtpXT1lL2YmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7KGU9K2UsdD4+Pj0wLHI+Pj49MCxuKXx8Y2hlY2tJbnQodGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgZj1yLTEsaT0xO2Zvcih0aGlzW3QrZl09MjU1JmU7LS1mPj0wJiYoaSo9MjU2KTspdGhpc1t0K2ZdPWUvaSYyNTU7cmV0dXJuIHQrcn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQ4PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMSwyNTUsMCksdGhpc1t0XT0yNTUmZSx0KzF9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDIsNjU1MzUsMCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDY1NTM1LDApLHRoaXNbdF09ZT4+PjgsdGhpc1t0KzFdPTI1NSZlLHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbdCszXT1lPj4+MjQsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrMV09ZT4+PjgsdGhpc1t0XT0yNTUmZSx0KzR9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx0aGlzW3RdPWU+Pj4yNCx0aGlzW3QrMV09ZT4+PjE2LHRoaXNbdCsyXT1lPj4+OCx0aGlzW3QrM109MjU1JmUsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0Pj4+PTAsIW4pe3ZhciBmPU1hdGgucG93KDIsOCpyLTEpO2NoZWNrSW50KHRoaXMsZSx0LHIsZi0xLC1mKX12YXIgaT0wLG89MSx1PTA7Zm9yKHRoaXNbdF09MjU1JmU7KytpPHImJihvKj0yNTYpOyllPDAmJjA9PT11JiYwIT09dGhpc1t0K2ktMV0mJih1PTEpLHRoaXNbdCtpXT0oZS9vPj4wKS11JjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0Pj4+PTAsIW4pe3ZhciBmPU1hdGgucG93KDIsOCpyLTEpO2NoZWNrSW50KHRoaXMsZSx0LHIsZi0xLC1mKX12YXIgaT1yLTEsbz0xLHU9MDtmb3IodGhpc1t0K2ldPTI1NSZlOy0taT49MCYmKG8qPTI1Nik7KWU8MCYmMD09PXUmJjAhPT10aGlzW3QraSsxXSYmKHU9MSksdGhpc1t0K2ldPShlL28+PjApLXUmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQ4PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMSwxMjcsLTEyOCksZTwwJiYoZT0yNTUrZSsxKSx0aGlzW3RdPTI1NSZlLHQrMX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDMyNzY3LC0zMjc2OCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDIsMzI3NjcsLTMyNzY4KSx0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSx0KzJ9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0aGlzW3RdPTI1NSZlLHRoaXNbdCsxXT1lPj4+OCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCszXT1lPj4+MjQsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksZTwwJiYoZT00Mjk0OTY3Mjk1K2UrMSksdGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlLHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZUZsb2F0KHRoaXMsZSx0LCEwLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHdyaXRlRmxvYXQodGhpcyxlLHQsITEscil9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHdyaXRlRG91YmxlKHRoaXMsZSx0LCEwLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZURvdWJsZSh0aGlzLGUsdCwhMSxyKX0sQnVmZmVyLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUsdCxyLG4pe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHNob3VsZCBiZSBhIEJ1ZmZlclwiKTtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHNcIik7aWYocjwwfHxyPj10aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kc1wiKTtuPnRoaXMubGVuZ3RoJiYobj10aGlzLmxlbmd0aCksZS5sZW5ndGgtdDxuLXImJihuPWUubGVuZ3RoLXQrcik7dmFyIGY9bi1yO2lmKHRoaXM9PT1lJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKXRoaXMuY29weVdpdGhpbih0LHIsbik7ZWxzZSBpZih0aGlzPT09ZSYmcjx0JiZ0PG4pZm9yKHZhciBpPWYtMTtpPj0wOy0taSllW2krdF09dGhpc1tpK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIsbiksdCk7cmV0dXJuIGZ9LEJ1ZmZlci5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihlLHQscixuKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQ/KG49dCx0PTAscj10aGlzLmxlbmd0aCk6XCJzdHJpbmdcIj09dHlwZW9mIHImJihuPXIscj10aGlzLmxlbmd0aCksdm9pZCAwIT09biYmXCJzdHJpbmdcIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcImVuY29kaW5nIG11c3QgYmUgYSBzdHJpbmdcIik7aWYoXCJzdHJpbmdcIj09dHlwZW9mIG4mJiFCdWZmZXIuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrbik7aWYoMT09PWUubGVuZ3RoKXt2YXIgZj1lLmNoYXJDb2RlQXQoMCk7KFwidXRmOFwiPT09biYmZjwxMjh8fFwibGF0aW4xXCI9PT1uKSYmKGU9Zil9fWVsc2VcIm51bWJlclwiPT10eXBlb2YgZSYmKGUmPTI1NSk7aWYodDwwfHx0aGlzLmxlbmd0aDx0fHx0aGlzLmxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKFwiT3V0IG9mIHJhbmdlIGluZGV4XCIpO2lmKHI8PXQpcmV0dXJuIHRoaXM7dmFyIGk7aWYodD4+Pj0wLHI9dm9pZCAwPT09cj90aGlzLmxlbmd0aDpyPj4+MCxlfHwoZT0wKSxcIm51bWJlclwiPT10eXBlb2YgZSlmb3IoaT10O2k8cjsrK2kpdGhpc1tpXT1lO2Vsc2V7dmFyIG89QnVmZmVyLmlzQnVmZmVyKGUpP2U6QnVmZmVyLmZyb20oZSxuKSx1PW8ubGVuZ3RoO2lmKDA9PT11KXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3IgYXJndW1lbnQgXCJ2YWx1ZVwiJyk7Zm9yKGk9MDtpPHItdDsrK2kpdGhpc1tpK3RdPW9baSV1XX1yZXR1cm4gdGhpc307dmFyIElOVkFMSURfQkFTRTY0X1JFPS9bXisvMC05QS1aYS16LV9dL2c7ZnVuY3Rpb24gYmFzZTY0Y2xlYW4oZSl7aWYoKGU9KGU9ZS5zcGxpdChcIj1cIilbMF0pLnRyaW0oKS5yZXBsYWNlKElOVkFMSURfQkFTRTY0X1JFLFwiXCIpKS5sZW5ndGg8MilyZXR1cm5cIlwiO2Zvcig7ZS5sZW5ndGglNCE9MDspZSs9XCI9XCI7cmV0dXJuIGV9ZnVuY3Rpb24gdG9IZXgoZSl7cmV0dXJuIGU8MTY/XCIwXCIrZS50b1N0cmluZygxNik6ZS50b1N0cmluZygxNil9ZnVuY3Rpb24gdXRmOFRvQnl0ZXMoZSx0KXt2YXIgcjt0PXR8fDEvMDtmb3IodmFyIG49ZS5sZW5ndGgsZj1udWxsLGk9W10sbz0wO288bjsrK28pe2lmKChyPWUuY2hhckNvZGVBdChvKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFmKXtpZihyPjU2MzE5KXsodC09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYobysxPT09bil7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWY9cjtjb250aW51ZX1pZihyPDU2MzIwKXsodC09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSksZj1yO2NvbnRpbnVlfXI9NjU1MzYrKGYtNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgZiYmKHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2lmKGY9bnVsbCxyPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7aS5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigodC09Mik8MClicmVhaztpLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7aS5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjb2RlIHBvaW50XCIpO2lmKCh0LT00KTwwKWJyZWFrO2kucHVzaChyPj4xOHwyNDAscj4+MTImNjN8MTI4LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX19cmV0dXJuIGl9ZnVuY3Rpb24gYXNjaWlUb0J5dGVzKGUpe2Zvcih2YXIgdD1bXSxyPTA7cjxlLmxlbmd0aDsrK3IpdC5wdXNoKDI1NSZlLmNoYXJDb2RlQXQocikpO3JldHVybiB0fWZ1bmN0aW9uIHV0ZjE2bGVUb0J5dGVzKGUsdCl7Zm9yKHZhciByLG4sZixpPVtdLG89MDtvPGUubGVuZ3RoJiYhKCh0LT0yKTwwKTsrK28pbj0ocj1lLmNoYXJDb2RlQXQobykpPj44LGY9ciUyNTYsaS5wdXNoKGYpLGkucHVzaChuKTtyZXR1cm4gaX1mdW5jdGlvbiBiYXNlNjRUb0J5dGVzKGUpe3JldHVybiBiYXNlNjQudG9CeXRlQXJyYXkoYmFzZTY0Y2xlYW4oZSkpfWZ1bmN0aW9uIGJsaXRCdWZmZXIoZSx0LHIsbil7Zm9yKHZhciBmPTA7ZjxuJiYhKGYrcj49dC5sZW5ndGh8fGY+PWUubGVuZ3RoKTsrK2YpdFtmK3JdPWVbZl07cmV0dXJuIGZ9ZnVuY3Rpb24gaXNJbnN0YW5jZShlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgdHx8bnVsbCE9ZSYmbnVsbCE9ZS5jb25zdHJ1Y3RvciYmbnVsbCE9ZS5jb25zdHJ1Y3Rvci5uYW1lJiZlLmNvbnN0cnVjdG9yLm5hbWU9PT10Lm5hbWV9ZnVuY3Rpb24gbnVtYmVySXNOYU4oZSl7cmV0dXJuIGUhPWV9XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1KaGMyVTJOQ0lzSW5KbGNYVnBjbVVpTENKcFpXVmxOelUwSWl3aVpYaHdiM0owY3lJc0lrSjFabVpsY2lJc0lsTnNiM2RDZFdabVpYSWlMQ0pKVGxOUVJVTlVYMDFCV0Y5Q1dWUkZVeUlzSWt0ZlRVRllYMHhGVGtkVVNDSXNJblI1Y0dWa1FYSnlZWGxUZFhCd2IzSjBJaXdpWVhKeUlpd2lWV2x1ZERoQmNuSmhlU0lzSWw5ZmNISnZkRzlmWHlJc0luQnliM1J2ZEhsd1pTSXNJbVp2YnlJc0ltVWlMQ0pqY21WaGRHVkNkV1ptWlhJaUxDSnNaVzVuZEdnaUxDSlNZVzVuWlVWeWNtOXlJaXdpWW5WbUlpd2lZWEpuSWl3aVpXNWpiMlJwYm1kUGNrOW1abk5sZENJc0lsUjVjR1ZGY25KdmNpSXNJbUZzYkc5alZXNXpZV1psSWl3aVpuSnZiU0lzSW5aaGJIVmxJaXdpWm5KdmJWTjBjbWx1WnlJc0lrRnljbUY1UW5WbVptVnlJaXdpYVhOV2FXVjNJaXdpWm5KdmJVRnljbUY1VEdsclpTSXNJbWx6U1c1emRHRnVZMlVpTENKaWRXWm1aWElpTENKbWNtOXRRWEp5WVhsQ2RXWm1aWElpTENKMllXeDFaVTltSWl3aVlpSXNJbVp5YjIxUFltcGxZM1FpTENKVGVXMWliMndpTENKMGIxQnlhVzFwZEdsMlpTSXNJbUZ6YzJWeWRGTnBlbVVpTENKemFYcGxJaXdpWVd4c2IyTWlMQ0ptYVd4c0lpd2laVzVqYjJScGJtY2lMQ0oxYm1SbFptbHVaV1FpTENKamFHVmphMlZrSWl3aWMzUnlhVzVuSWl3aWFYTkZibU52WkdsdVp5SXNJbUo1ZEdWTVpXNW5kR2dpTENKaFkzUjFZV3dpTENKM2NtbDBaU0lzSW5Oc2FXTmxJaXdpWVhKeVlYa2lMQ0pwSWl3aVlubDBaVTltWm5ObGRDSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2liR1Z1SWl3aVkyOXdlU0lzSW01MWJXSmxja2x6VG1GT0lpd2lkSGx3WlNJc0lrRnljbUY1SWl3aWFYTkJjbkpoZVNJc0ltUmhkR0VpTENKMGIxTjBjbWx1WnlJc0ltMTFjM1JOWVhSamFDSXNJbUZ5WjNWdFpXNTBjeUlzSW14dmQyVnlaV1JEWVhObElpd2lkWFJtT0ZSdlFubDBaWE1pTENKaVlYTmxOalJVYjBKNWRHVnpJaXdpZEc5TWIzZGxja05oYzJVaUxDSnpiRzkzVkc5VGRISnBibWNpTENKemRHRnlkQ0lzSW1WdVpDSXNJblJvYVhNaUxDSm9aWGhUYkdsalpTSXNJblYwWmpoVGJHbGpaU0lzSW1GelkybHBVMnhwWTJVaUxDSnNZWFJwYmpGVGJHbGpaU0lzSW1KaGMyVTJORk5zYVdObElpd2lkWFJtTVRac1pWTnNhV05sSWl3aWMzZGhjQ0lzSW00aUxDSnRJaXdpWW1sa2FYSmxZM1JwYjI1aGJFbHVaR1Y0VDJZaUxDSjJZV3dpTENKa2FYSWlMQ0poY25KaGVVbHVaR1Y0VDJZaUxDSnBibVJsZUU5bUlpd2lZMkZzYkNJc0lteGhjM1JKYm1SbGVFOW1JaXdpYVc1a1pYaFRhWHBsSWl3aVlYSnlUR1Z1WjNSb0lpd2lkbUZzVEdWdVozUm9JaXdpVTNSeWFXNW5JaXdpY21WaFpDSXNJbkpsWVdSVlNXNTBNVFpDUlNJc0ltWnZkVzVrU1c1a1pYZ2lMQ0ptYjNWdVpDSXNJbW9pTENKb1pYaFhjbWwwWlNJc0ltOW1abk5sZENJc0lrNTFiV0psY2lJc0luSmxiV0ZwYm1sdVp5SXNJbk4wY2t4bGJpSXNJbkJoY25ObFpDSXNJbkJoY25ObFNXNTBJaXdpYzNWaWMzUnlJaXdpZFhSbU9GZHlhWFJsSWl3aVlteHBkRUoxWm1abGNpSXNJbUZ6WTJscFYzSnBkR1VpTENKaGMyTnBhVlJ2UW5sMFpYTWlMQ0pzWVhScGJqRlhjbWwwWlNJc0ltSmhjMlUyTkZkeWFYUmxJaXdpZFdOek1sZHlhWFJsSWl3aWRYUm1NVFpzWlZSdlFubDBaWE1pTENKbWNtOXRRbmwwWlVGeWNtRjVJaXdpVFdGMGFDSXNJbTFwYmlJc0luSmxjeUlzSW5ObFkyOXVaRUo1ZEdVaUxDSjBhR2x5WkVKNWRHVWlMQ0ptYjNWeWRHaENlWFJsSWl3aWRHVnRjRU52WkdWUWIybHVkQ0lzSW1acGNuTjBRbmwwWlNJc0ltTnZaR1ZRYjJsdWRDSXNJbUo1ZEdWelVHVnlVMlZ4ZFdWdVkyVWlMQ0p3ZFhOb0lpd2laR1ZqYjJSbFEyOWtaVkJ2YVc1MGMwRnljbUY1SWl3aWEwMWhlRXhsYm1kMGFDSXNJbFJaVUVWRVgwRlNVa0ZaWDFOVlVGQlBVbFFpTENKamIyNXpiMnhsSWl3aVpYSnliM0lpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1WdWRXMWxjbUZpYkdVaUxDSm5aWFFpTENKemNHVmphV1Z6SWl3aVkyOXVabWxuZFhKaFlteGxJaXdpZDNKcGRHRmliR1VpTENKd2IyOXNVMmw2WlNJc0ltRnNiRzlqVlc1ellXWmxVMnh2ZHlJc0lsOXBjMEoxWm1abGNpSXNJbU52YlhCaGNtVWlMQ0poSWl3aWVDSXNJbmtpTENKamIyNWpZWFFpTENKc2FYTjBJaXdpY0c5eklpd2ljM2RoY0RFMklpd2ljM2RoY0RNeUlpd2ljM2RoY0RZMElpd2lZWEJ3YkhraUxDSjBiMHh2WTJGc1pWTjBjbWx1WnlJc0ltVnhkV0ZzY3lJc0ltbHVjM0JsWTNRaUxDSnpkSElpTENKdFlYZ2lMQ0p5WlhCc1lXTmxJaXdpZEhKcGJTSXNJblJoY21kbGRDSXNJblJvYVhOVGRHRnlkQ0lzSW5Sb2FYTkZibVFpTENKMGFHbHpRMjl3ZVNJc0luUmhjbWRsZEVOdmNIa2lMQ0pwYm1Oc2RXUmxjeUlzSW1selJtbHVhWFJsSWl3aVJYSnliM0lpTENKMGIwcFRUMDRpTENKZllYSnlJaXdpVFVGWVgwRlNSMVZOUlU1VVUxOU1SVTVIVkVnaUxDSmpiMlJsVUc5cGJuUnpJaXdpWm5KdmJVTm9ZWEpEYjJSbElpd2ljbVYwSWl3aWIzVjBJaXdpZEc5SVpYZ2lMQ0ppZVhSbGN5SXNJbU5vWldOclQyWm1jMlYwSWl3aVpYaDBJaXdpWTJobFkydEpiblFpTENKamFHVmphMGxGUlVVM05UUWlMQ0ozY21sMFpVWnNiMkYwSWl3aWJHbDBkR3hsUlc1a2FXRnVJaXdpYm05QmMzTmxjblFpTENKM2NtbDBaVVJ2ZFdKc1pTSXNJbTVsZDBKMVppSXNJbk4xWW1GeWNtRjVJaXdpY21WaFpGVkpiblJNUlNJc0ltMTFiQ0lzSW5KbFlXUlZTVzUwUWtVaUxDSnlaV0ZrVlVsdWREZ2lMQ0p5WldGa1ZVbHVkREUyVEVVaUxDSnlaV0ZrVlVsdWRETXlURVVpTENKeVpXRmtWVWx1ZERNeVFrVWlMQ0p5WldGa1NXNTBURVVpTENKd2IzY2lMQ0p5WldGa1NXNTBRa1VpTENKeVpXRmtTVzUwT0NJc0luSmxZV1JKYm5ReE5reEZJaXdpY21WaFpFbHVkREUyUWtVaUxDSnlaV0ZrU1c1ME16Sk1SU0lzSW5KbFlXUkpiblF6TWtKRklpd2ljbVZoWkVac2IyRjBURVVpTENKeVpXRmtSbXh2WVhSQ1JTSXNJbkpsWVdSRWIzVmliR1ZNUlNJc0luSmxZV1JFYjNWaWJHVkNSU0lzSW5keWFYUmxWVWx1ZEV4Rklpd2lkM0pwZEdWVlNXNTBRa1VpTENKM2NtbDBaVlZKYm5RNElpd2lkM0pwZEdWVlNXNTBNVFpNUlNJc0luZHlhWFJsVlVsdWRERTJRa1VpTENKM2NtbDBaVlZKYm5Rek1reEZJaXdpZDNKcGRHVlZTVzUwTXpKQ1JTSXNJbmR5YVhSbFNXNTBURVVpTENKc2FXMXBkQ0lzSW5OMVlpSXNJbmR5YVhSbFNXNTBRa1VpTENKM2NtbDBaVWx1ZERnaUxDSjNjbWwwWlVsdWRERTJURVVpTENKM2NtbDBaVWx1ZERFMlFrVWlMQ0ozY21sMFpVbHVkRE15VEVVaUxDSjNjbWwwWlVsdWRETXlRa1VpTENKM2NtbDBaVVpzYjJGMFRFVWlMQ0ozY21sMFpVWnNiMkYwUWtVaUxDSjNjbWwwWlVSdmRXSnNaVXhGSWl3aWQzSnBkR1ZFYjNWaWJHVkNSU0lzSW5SaGNtZGxkRk4wWVhKMElpd2lZMjl3ZVZkcGRHaHBiaUlzSW5ObGRDSXNJbU52WkdVaUxDSmphR0Z5UTI5a1pVRjBJaXdpU1U1V1FVeEpSRjlDUVZORk5qUmZVa1VpTENKaVlYTmxOalJqYkdWaGJpSXNJbk53YkdsMElpd2lkVzVwZEhNaUxDSkpibVpwYm1sMGVTSXNJbXhsWVdSVGRYSnliMmRoZEdVaUxDSmllWFJsUVhKeVlYa2lMQ0pqSWl3aWFHa2lMQ0pzYnlJc0luUnZRbmwwWlVGeWNtRjVJaXdpYzNKaklpd2laSE4wSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0p1WVcxbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGUlFTeGhRVVZCTEVsQlFVbEJMRTlCUVZORExGRkJRVkVzWVVGRGFrSkRMRkZCUVZWRUxGRkJRVkVzVjBGRmRFSkZMRkZCUVZGRExFOUJRVk5CTEU5QlEycENSQ3hSUVVGUlJTeFhRVUZoUVN4WFFVTnlRa1lzVVVGQlVVY3NhMEpCUVc5Q0xFZEJSVFZDTEVsQlFVbERMR0ZCUVdVc1YwRXlRbTVDTEZOQlFWTkRMRzlDUVVWUUxFbEJRMFVzU1VGQlNVTXNSVUZCVFN4SlFVRkpReXhYUVVGWExFZEJSWHBDTEU5QlJFRkVMRVZCUVVsRkxGVkJRVmtzUTBGQlJVRXNWVUZCVjBRc1YwRkJWMFVzVlVGQlYwTXNTVUZCU3l4WFFVRmpMRTlCUVU4c1MwRkRlRVFzUzBGQlpFb3NSVUZCU1Vrc1RVRkRXQ3hOUVVGUFF5eEhRVU5RTEU5QlFVOHNSMEZ2UWxnc1UwRkJVME1zWVVGQlkwTXNSMEZEY2tJc1IwRkJTVUVzUlVGQlUxUXNZVUZEV0N4TlFVRk5MRWxCUVVsVkxGZEJRVmNzWTBGQlowSkVMRVZCUVZNc2EwTkJSMmhFTEVsQlFVbEZMRVZCUVUwc1NVRkJTVklzVjBGQlYwMHNSMEZGZWtJc1QwRkVRVVVzUlVGQlNWQXNWVUZCV1ZBc1QwRkJUMUVzVlVGRGFFSk5MRVZCWVZRc1UwRkJVMlFzVDBGQlVXVXNSVUZCUzBNc1JVRkJhMEpLTEVkQlJYUkRMRWRCUVcxQ0xHbENRVUZTUnl4RlFVRnJRaXhEUVVNelFpeEhRVUZuUXl4cFFrRkJja0pETEVWQlExUXNUVUZCVFN4SlFVRkpReXhWUVVOU0xITkZRVWRLTEU5QlFVOURMRmxCUVZsSUxFZEJSWEpDTEU5QlFVOUpMRXRCUVV0S0xFVkJRVXRETEVWQlFXdENTaXhIUVdkQ2NrTXNVMEZCVTA4c1MwRkJUVU1zUlVGQlQwb3NSVUZCYTBKS0xFZEJRM1JETEVkQlFYRkNMR2xDUVVGV1VTeEZRVU5VTEU5QlFVOURMRmRCUVZkRUxFVkJRVTlLTEVkQlJ6TkNMRWRCUVVsTkxGbEJRVmxETEU5QlFVOUlMRWRCUTNKQ0xFOUJRVTlKTEdOQlFXTktMRWRCUjNaQ0xFZEJRV0VzVFVGQlZFRXNSVUZEUml4TlFVRk5TQ3hWUVVOS0xIbElRVU5wUkVjc1IwRkpja1FzUjBGQlNVc3NWMEZCVjB3c1JVRkJUMFVzWTBGRGFrSkdMRWRCUVZOTExGZEJRVmRNTEVWQlFVMU5MRTlCUVZGS0xHRkJRM0pETEU5QlFVOUxMR2RDUVVGblFsQXNSVUZCVDBvc1JVRkJhMEpLTEVkQlIyeEVMRWRCUVhGQ0xHbENRVUZXVVN4RlFVTlVMRTFCUVUwc1NVRkJTVWdzVlVGRFVpeDVSVUZKU2l4SlFVRkpWeXhGUVVGVlVpeEZRVUZOVVN4VFFVRlhVaXhGUVVGTlVTeFZRVU55UXl4SFFVRmxMRTFCUVZoQkxFZEJRVzFDUVN4SlFVRlpVaXhGUVVOcVF5eFBRVUZQY0VJc1QwRkJUMjFDTEV0QlFVdFRMRVZCUVZOYUxFVkJRV3RDU2l4SFFVZG9SQ3hKUVVGSmFVSXNSVUZCU1VNc1YwRkJWMVlzUjBGRGJrSXNSMEZCU1ZNc1JVRkJSeXhQUVVGUFFTeEZRVVZrTEVkQlFYTkNMRzlDUVVGWVJTeFJRVUZuUkN4TlFVRjBRa0VzVDBGQlQwTXNZVUZEU0N4dFFrRkJPVUphTEVWQlFVMVhMRTlCUVU5RExHRkJRM1JDTEU5QlFVOW9ReXhQUVVGUGJVSXNTMEZEV2tNc1JVRkJUVmNzVDBGQlQwTXNZVUZCWVN4VlFVRlhhRUlzUlVGQmEwSktMRWRCU1RORUxFMUJRVTBzU1VGQlNVc3NWVUZEVWl4NVNFRkRhVVJITEVkQmNVSnlSQ3hUUVVGVFlTeFhRVUZaUXl4SFFVTnVRaXhIUVVGdlFpeHBRa0ZCVkVFc1JVRkRWQ3hOUVVGTkxFbEJRVWxxUWl4VlFVRlZMREJEUVVObUxFZEJRVWxwUWl4RlFVRlBMRVZCUTJoQ0xFMUJRVTBzU1VGQlNYSkNMRmRCUVZjc1kwRkJaMEp4UWl4RlFVRlBMR3REUVVsb1JDeFRRVUZUUXl4TlFVRlBSQ3hGUVVGTlJTeEZRVUZOUXl4SFFVVXhRaXhQUVVSQlNpeFhRVUZYUXl4SFFVTlFRU3hIUVVGUkxFVkJRMGgyUWl4aFFVRmhkVUlzVVVGRlZFa3NTVUZCVkVZc1JVRkplVUlzYVVKQlFXSkRMRVZCUTFZeFFpeGhRVUZoZFVJc1IwRkJUVVVzUzBGQlMwRXNSVUZCVFVNc1IwRkRPVUl4UWl4aFFVRmhkVUlzUjBGQlRVVXNTMEZCUzBFc1IwRkZka0o2UWl4aFFVRmhkVUlzUjBGWGRFSXNVMEZCVTJoQ0xGbEJRV0ZuUWl4SFFVVndRaXhQUVVSQlJDeFhRVUZYUXl4SFFVTktka0lzWVVGQllYVkNMRVZCUVU4c1JVRkJTU3hGUVVGdlFpeEZRVUZvUWtzc1VVRkJVVXdzU1VGblFqZERMRk5CUVZOaUxGZEJRVmx0UWl4RlFVRlJTQ3hIUVVzelFpeEhRVXAzUWl4cFFrRkJZa0VzUjBGQmMwTXNTMEZCWWtFc1NVRkRiRU5CTEVWQlFWY3NVMEZIVW5KRExFOUJRVTk1UXl4WFFVRlhTaXhIUVVOeVFpeE5RVUZOTEVsQlFVbHdRaXhWUVVGVkxIRkNRVUYxUW05Q0xFZEJSemRETEVsQlFVbDZRaXhGUVVGM1F5eEZRVUV2UWpoQ0xGZEJRVmRHTEVWQlFWRklMRWRCUXpWQ2RrSXNSVUZCVFVnc1lVRkJZVU1zUjBGRmJrSXJRaXhGUVVGVE4wSXNSVUZCU1RoQ0xFMUJRVTFLTEVWQlFWRklMRWRCVXk5Q0xFOUJVRWxOTEVsQlFWY3ZRaXhKUVVsaVJTeEZRVUZOUVN4RlFVRkpLMElzVFVGQlRTeEZRVUZIUml4SlFVZGtOMElzUlVGSFZDeFRRVUZUVlN4alFVRmxjMElzUjBGSGRFSXNTVUZHUVN4SlFVRkpiRU1zUlVGQlUydERMRVZCUVUxc1F5eFBRVUZUTEVWQlFVa3NSVUZCTkVJc1JVRkJlRUl5UWl4UlFVRlJUeXhGUVVGTmJFTXNVVUZET1VORkxFVkJRVTFJTEdGQlFXRkRMRWRCUTJSdFF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsdVF5eEZRVUZSYlVNc1IwRkJTeXhGUVVNdlFtcERMRVZCUVVscFF5eEhRVUZuUWl4SlFVRllSQ3hGUVVGTlF5eEhRVVZxUWl4UFFVRlBha01zUlVGSFZDeFRRVUZUWVN4blFrRkJhVUp0UWl4RlFVRlBSU3hGUVVGWmNFTXNSMEZETTBNc1IwRkJTVzlETEVWQlFXRXNSMEZCUzBZc1JVRkJUVW9zVjBGQllVMHNSVUZEZGtNc1RVRkJUU3hKUVVGSmJrTXNWMEZCVnl4M1EwRkhka0lzUjBGQlNXbERMRVZCUVUxS0xGZEJRV0ZOTEVkQlFXTndReXhIUVVGVkxFZEJRemRETEUxQlFVMHNTVUZCU1VNc1YwRkJWeXgzUTBGSGRrSXNTVUZCU1VNc1JVRlhTaXhQUVZSRlFTeFBRVVJwUW5kQ0xFbEJRV1pWTEZGQlFYVkRWaXhKUVVGWU1VSXNSVUZEZUVJc1NVRkJTVTRzVjBGQlYzZERMRkZCUTBSU0xFbEJRVmd4UWl4RlFVTklMRWxCUVVsT0xGZEJRVmQzUXl4RlFVRlBSU3hIUVVWMFFpeEpRVUZKTVVNc1YwRkJWM2RETEVWQlFVOUZMRVZCUVZsd1F5eEpRVWwwUTB3c1ZVRkJXVkFzVDBGQlQxRXNWVUZEYUVKTkxFVkJSMVFzVTBGQlUyZENMRmRCUVZsdFFpeEhRVU51UWl4SFFVRkpha1FzVDBGQlQydEVMRk5CUVZORUxFZEJRVTBzUTBGRGVFSXNTVUZCU1VVc1JVRkJORUlzUlVGQmRFSmFMRkZCUVZGVkxFVkJRVWx5UXl4UlFVTnNRa1VzUlVGQlRVZ3NZVUZCWVhkRExFZEJSWFpDTEU5QlFXMUNMRWxCUVdaeVF5eEZRVUZKUml4UFFVTkRSU3hIUVVkVWJVTXNSVUZCU1Vjc1MwRkJTM1JETEVWQlFVc3NSVUZCUnl4RlFVRkhjVU1zUjBGRFluSkRMRWRCUjFRc1dVRkJiVUozUWl4SlFVRm1WeXhGUVVGSmNrTXNUMEZEYjBJc2FVSkJRV1p4UXl4RlFVRkpja01zVVVGQmRVSjVReXhaUVVGWlNpeEZRVUZKY2tNc1VVRkROME5FTEdGQlFXRXNSMEZGWm1Fc1kwRkJZM2xDTEVkQlIwNHNWMEZCWWtFc1JVRkJTVXNzVFVGQmNVSkRMRTFCUVUxRExGRkJRVkZRTEVWQlFVbFJMRTFCUTNSRGFrTXNZMEZCWTNsQ0xFVkJRVWxSTEZkQlJETkNMRVZCUzBZc1UwRkJVMnhDTEZGQlFWTXpRaXhIUVVkb1FpeEhRVUZKUVN4SFFVRlZWQ3hoUVVOYUxFMUJRVTBzU1VGQlNWVXNWMEZCVnl3d1JFRkRZVllzWVVGQllYVkVMRk5CUVZNc1NVRkJUU3hWUVVWb1JTeFBRVUZuUWl4RlFVRlVPVU1zUlVGSFZDeFRRVUZUV0N4WFFVRlpWeXhIUVVsdVFpeFBRVWhMUVN4SFFVRlZRU3hKUVVOaVFTeEZRVUZUTEVkQlJVcGFMRTlCUVU5dFF5eFBRVUZQZGtJc1IwRjFSblpDTEZOQlFWTTRRaXhYUVVGWlJpeEZRVUZSU0N4SFFVTXpRaXhIUVVGSmNrTXNUMEZCVDJ0RUxGTkJRVk5XTEVkQlEyeENMRTlCUVU5QkxFVkJRVTgxUWl4UFFVVm9RaXhIUVVGSlZTeFpRVUZaUXl4UFFVRlBhVUlzU1VGQlYyWXNWMEZCVjJVc1JVRkJVV3hDTEdGQlEyNUVMRTlCUVU5clFpeEZRVUZQUlN4WFFVVm9RaXhIUVVGelFpeHBRa0ZCV0VZc1JVRkRWQ3hOUVVGTkxFbEJRVWwyUWl4VlFVTlNMR3RIUVVNd1FuVkNMRWRCU1RsQ0xFbEJRVWxYTEVWQlFVMVlMRVZCUVU4MVFpeFBRVU5pSzBNc1JVRkJZVU1zVlVGQlZXaEVMRTlCUVZNc1NVRkJjMElzU1VGQmFrSm5SQ3hWUVVGVkxFZEJRMjVFTEVsQlFVdEVMRWRCUVhGQ0xFbEJRVkpTTEVWQlFWY3NUMEZCVHl4RlFVbHdReXhKUVVSQkxFbEJRVWxWTEVkQlFXTXNTVUZGYUVJc1QwRkJVWGhDTEVkQlEwNHNTVUZCU3l4UlFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMGdzVDBGQlQyTXNSVUZEVkN4SlFVRkxMRTlCUTB3c1NVRkJTeXhSUVVOSUxFOUJRVTlYTEZsQlFWbDBRaXhIUVVGUk5VSXNUMEZETjBJc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTlCUVdFc1JVRkJUblZETEVWQlExUXNTVUZCU3l4TlFVTklMRTlCUVU5QkxFbEJRVkVzUlVGRGFrSXNTVUZCU3l4VFFVTklMRTlCUVU5WkxHTkJRV04yUWl4SFFVRlJOVUlzVDBGREwwSXNVVUZEUlN4SFFVRkphVVFzUlVGRFJpeFBRVUZQUml4SFFVRmhMRVZCUVVsSExGbEJRVmwwUWl4SFFVRlJOVUlzVDBGRk9VTjVRaXhIUVVGWkxFZEJRVXRCTEVkQlFWVXlRaXhqUVVNelFrZ3NSMEZCWXl4SFFVMTBRaXhUUVVGVFNTeGhRVUZqTlVJc1JVRkJWVFpDTEVWQlFVOURMRWRCUTNSRExFbEJRVWxPTEVkQlFXTXNSVUZqYkVJc1UwRk1ZM1pDTEVsQlFWWTBRaXhIUVVGMVFrRXNSVUZCVVN4TFFVTnFRMEVzUlVGQlVTeEhRVWxPUVN4RlFVRlJSU3hMUVVGTGVFUXNUMEZEWml4TlFVRlBMRWRCVDFRc1UwRktXVEJDTEVsQlFWSTJRaXhIUVVGeFFrRXNSVUZCVFVNc1MwRkJTM2hFTEZWQlEyeERkVVFzUlVGQlRVTXNTMEZCUzNoRUxGRkJSMVIxUkN4SFFVRlBMRVZCUTFRc1RVRkJUeXhIUVU5VUxFbEJTRUZCTEV0QlFWTXNTMEZEVkVRc1MwRkJWeXhIUVVkVUxFMUJRVThzUjBGTFZDeEpRVVpMTjBJc1NVRkJWVUVzUlVGQlZ5eFZRVWQ0UWl4UFFVRlJRU3hIUVVOT0xFbEJRVXNzVFVGRFNDeFBRVUZQWjBNc1UwRkJVMFFzUzBGQlRVWXNSVUZCVDBNc1IwRkZMMElzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEU0N4UFFVRlBSeXhWUVVGVlJpeExRVUZOUml4RlFVRlBReXhIUVVWb1F5eEpRVUZMTEZGQlEwZ3NUMEZCVDBrc1YwRkJWMGdzUzBGQlRVWXNSVUZCVDBNc1IwRkZha01zU1VGQlN5eFRRVU5NTEVsQlFVc3NVMEZEU0N4UFFVRlBTeXhaUVVGWlNpeExRVUZOUml4RlFVRlBReXhIUVVWc1F5eEpRVUZMTEZOQlEwZ3NUMEZCVDAwc1dVRkJXVXdzUzBGQlRVWXNSVUZCVDBNc1IwRkZiRU1zU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFOUJRVTlQTEdGQlFXRk9MRXRCUVUxR0xFVkJRVTlETEVkQlJXNURMRkZCUTBVc1IwRkJTVTRzUlVGQllTeE5RVUZOTEVsQlFVazFReXhWUVVGVkxIRkNRVUYxUW05Q0xFZEJRelZFUVN4SFFVRlpRU3hGUVVGWExFbEJRVWt5UWl4alFVTXpRa2dzUjBGQll5eEhRV0YwUWl4VFFVRlRZeXhMUVVGTk9VTXNSVUZCUnl0RExFVkJRVWRETEVkQlEyNUNMRWxCUVVrNVFpeEZRVUZKYkVJc1JVRkJSU3RETEVkQlExWXZReXhGUVVGRkswTXNSMEZCU3k5RExFVkJRVVZuUkN4SFFVTlVhRVFzUlVGQlJXZEVMRWRCUVVzNVFpeEZRWGxKVkN4VFFVRlRLMElzY1VKQlFYTkNjRVFzUlVGQlVYRkVMRVZCUVVzdlFpeEZRVUZaV0N4RlFVRlZNa01zUjBGRmFFVXNSMEZCYzBJc1NVRkJiRUowUkN4RlFVRlBaQ3hQUVVGakxFOUJRVkVzUlVGdFFtcERMRWRCYUVJd1FpeHBRa0ZCWm05RExFZEJRMVJZTEVWQlFWZFhMRVZCUTFoQkxFVkJRV0VzUjBGRFNrRXNSVUZCWVN4WFFVTjBRa0VzUlVGQllTeFhRVU5LUVN4SFFVRmpMR0ZCUTNaQ1FTeEhRVUZqTEZsQlIxcExMRmxCUkVwTUxFZEJRV05CTEV0QlIxcEJMRVZCUVdGblF5eEZRVUZOTEVWQlFVdDBSQ3hGUVVGUFpDeFBRVUZUTEVkQlNYUkRiME1zUlVGQllTeEpRVUZIUVN4RlFVRmhkRUlzUlVGQlQyUXNUMEZCVTI5RExFZEJRemREUVN4SFFVRmpkRUlzUlVGQlQyUXNUMEZCVVN4RFFVTXZRaXhIUVVGSmIwVXNSVUZCU3l4UFFVRlJMRVZCUTFwb1F5eEZRVUZoZEVJc1JVRkJUMlFzVDBGQlV5eFBRVU0zUWl4SFFVRkpiME1zUlVGQllTeEZRVUZITEVOQlEzcENMRWxCUVVsblF5eEZRVU5ETEU5QlFWRXNSVUZFU21oRExFVkJRV0VzUlVGVmVFSXNSMEZNYlVJc2FVSkJRVklyUWl4SlFVTlVRU3hGUVVGTkwwVXNUMEZCVDIxQ0xFdEJRVXMwUkN4RlFVRkxNVU1zU1VGSmNrSnlReXhQUVVGUGEwUXNVMEZCVXpaQ0xFZEJSV3hDTEU5QlFXMUNMRWxCUVdaQkxFVkJRVWx1UlN4UlFVTkZMRVZCUlVoeFJTeGhRVUZoZGtRc1JVRkJVWEZFTEVWQlFVc3ZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkRiRVFzUjBGQmJVSXNhVUpCUVZKRUxFVkJSV2hDTEU5QlJFRkJMRWRCUVZrc1NVRkRaME1zYlVKQlFXcERla1VzVjBGQlYwVXNWVUZCVlRCRkxGRkJRekZDUml4RlFVTkxNVVVzVjBGQlYwVXNWVUZCVlRCRkxGRkJRVkZETEV0QlFVdDZSQ3hGUVVGUmNVUXNSVUZCU3k5Q0xFZEJSUzlETVVNc1YwRkJWMFVzVlVGQlZUUkZMRmxCUVZsRUxFdEJRVXQ2UkN4RlFVRlJjVVFzUlVGQlN5OUNMRWRCUjNaRWFVTXNZVUZCWVhaRUxFVkJRVkVzUTBGQlJYRkVMRWRCUVU4dlFpeEZRVUZaV0N4RlFVRlZNa01zUjBGSE4wUXNUVUZCVFN4SlFVRkpMMFFzVlVGQlZTeDNRMEZIZEVJc1UwRkJVMmRGTEdGQlFXTTFSU3hGUVVGTE1FVXNSVUZCU3k5Q0xFVkJRVmxZTEVWQlFWVXlReXhIUVVOeVJDeEpRVEJDU1dwRExFVkJNVUpCYzBNc1JVRkJXU3hGUVVOYVF5eEZRVUZaYWtZc1JVRkJTVThzVDBGRGFFSXlSU3hGUVVGWlVpeEZRVUZKYmtVc1QwRkZjRUlzVVVGQmFVSXdRaXhKUVVGaVJDeEpRVVZsTEZWQlJHcENRU3hGUVVGWGJVUXNUMEZCVDI1RUxFZEJRVlV5UWl4blFrRkRXU3hWUVVGaU0wSXNSMEZEVml4WlFVRmlRU3hIUVVGMVF5eGhRVUZpUVN4SFFVRjVRaXhEUVVOeVJDeEhRVUZKYUVNc1JVRkJTVThzVDBGQlV5eEhRVUZMYlVVc1JVRkJTVzVGTEU5QlFWTXNSVUZEYWtNc1QwRkJVU3hGUVVWV2VVVXNSVUZCV1N4RlFVTmFReXhIUVVGaExFVkJRMkpETEVkQlFXRXNSVUZEWW5aRExFZEJRV01zUlVGSmJFSXNVMEZCVTNsRExFVkJRVTB6UlN4RlFVRkxhVU1zUjBGRGJFSXNUMEZCYTBJc1NVRkJaSE5ETEVWQlEwdDJSU3hGUVVGSmFVTXNSMEZGU21wRExFVkJRVWswUlN4aFFVRmhNME1zUlVGQlNYTkRMRWRCUzJoRExFZEJRVWxNTEVWQlFVc3NRMEZEVUN4SlFVRkpWeXhIUVVGakxFVkJRMnhDTEVsQlFVczFReXhGUVVGSlF5eEZRVUZaUkN4RlFVRkpkVU1zUlVGQlYzWkRMRWxCUTJ4RExFZEJRVWt3UXl4RlFVRkxjRVlzUlVGQlN6QkRMRXRCUVU4d1F5eEZRVUZMVml4SFFVRnhRaXhKUVVGb1Fsa3NSVUZCYjBJc1JVRkJTVFZETEVWQlFVazBReXhKUVVWNlJDeEpRVVJ2UWl4SlFVRm9Ra0VzU1VGQmJVSkJMRVZCUVdFMVF5eEhRVU5vUTBFc1JVRkJTVFJETEVWQlFXRXNTVUZCVFVvc1JVRkJWeXhQUVVGUFNTeEZRVUZoVGl4UFFVVjBReXhKUVVGb1FrMHNTVUZCYlVJMVF5eEhRVUZMUVN4RlFVRkpORU1zUjBGRGFFTkJMRWRCUVdNc1QwRkxiRUlzU1VGRVNUTkRMRVZCUVdGMVF5eEZRVUZaUkN4SlFVRlhkRU1zUlVGQllYTkRMRVZCUVZsRExFZEJRelZFZUVNc1JVRkJTVU1zUlVGQldVUXNSMEZCU3l4RlFVRkhRU3hKUVVGTExFTkJSV2hETEVsQlJFRXNTVUZCU1RaRExFZEJRVkVzUlVGRFNFTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlRpeEZRVUZYVFN4SlFVTTNRaXhIUVVGSlNpeEZRVUZMY0VZc1JVRkJTekJETEVWQlFVazRReXhMUVVGUFNpeEZRVUZMVml4RlFVRkxZeXhIUVVGSkxFTkJRM0pEUkN4SFFVRlJMRVZCUTFJc1RVRkhTaXhIUVVGSlFTeEZRVUZQTEU5QlFVODNReXhGUVVsMFFpeFBRVUZSTEVWQlpWWXNVMEZCVXl0RExGTkJRVlZvUml4RlFVRkxNRUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVU4wUTIxR0xFVkJRVk5ETEU5QlFVOUVMRWxCUVZjc1JVRkRNMElzU1VGQlNVVXNSVUZCV1c1R0xFVkJRVWxHTEU5QlFWTnRSaXhGUVVONFFtNUdMRWRCUjBoQkxFVkJRVk52Uml4UFFVRlBjRVlzU1VGRFNIRkdMRWxCUTFoeVJpeEZRVUZUY1VZc1IwRktXSEpHTEVWQlFWTnhSaXhGUVZGWUxFbEJRVWxETEVWQlFWTXhSQ3hGUVVGUE5VSXNUMEZGYUVKQkxFVkJRVk56Uml4RlFVRlRMRWxCUTNCQ2RFWXNSVUZCVTNOR0xFVkJRVk1zUjBGRmNFSXNTVUZCU3l4SlFVRkpia1FzUlVGQlNTeEZRVUZIUVN4RlFVRkpia01zU1VGQlZXMURMRVZCUVVjc1EwRkRMMElzU1VGQlNXOUVMRVZCUVZORExGTkJRVk0xUkN4RlFVRlBOa1FzVDBGQlZ5eEZRVUZLZEVRc1JVRkJUeXhIUVVGSkxFbEJReTlETEVkQlFVbE5MRmxCUVZrNFF5eEhRVUZUTEU5QlFVOXdSQ3hGUVVOb1EycERMRVZCUVVscFJpeEZRVUZUYUVRc1IwRkJTMjlFTEVWQlJYQkNMRTlCUVU5d1JDeEZRVWRVTEZOQlFWTjFSQ3hWUVVGWGVFWXNSVUZCU3pCQ0xFVkJRVkYxUkN4RlFVRlJia1lzUjBGRGRrTXNUMEZCVHpKR0xGZEJRVmQ2UXl4WlFVRlpkRUlzUlVGQlVURkNMRVZCUVVsR0xFOUJRVk50Uml4SFFVRlRha1lzUlVGQlMybEdMRVZCUVZGdVJpeEhRVWN6UlN4VFFVRlRORVlzVjBGQldURkdMRVZCUVVzd1FpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlEzaERMRTlCUVU4eVJpeFhRVUZYUlN4aFFVRmhha1VzUjBGQlV6RkNMRVZCUVV0cFJpeEZRVUZSYmtZc1IwRkhka1FzVTBGQlV6aEdMRmxCUVdFMVJpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVONlF5eFBRVUZQTkVZc1YwRkJWekZHTEVWQlFVc3dRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJSM3BETEZOQlFWTXJSaXhaUVVGaE4wWXNSVUZCU3pCQ0xFVkJRVkYxUkN4RlFVRlJia1lzUjBGRGVrTXNUMEZCVHpKR0xGZEJRVmQ0UXl4alFVRmpka0lzUjBGQlV6RkNMRVZCUVV0cFJpeEZRVUZSYmtZc1IwRkhlRVFzVTBGQlUyZEhMRlZCUVZjNVJpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVOMlF5eFBRVUZQTWtZc1YwRkJWMDBzWlVGQlpYSkZMRVZCUVZFeFFpeEZRVUZKUml4UFFVRlRiVVlzUjBGQlUycEdMRVZCUVV0cFJpeEZRVUZSYmtZc1IwRnBSamxGTEZOQlFWTTJSQ3haUVVGaE0wUXNSVUZCUzI5RUxFVkJRVTlETEVkQlEyaERMRTlCUVdNc1NVRkJWa1FzUjBGQlpVTXNTVUZCVVhKRUxFVkJRVWxHTEU5QlEzUkNhRUlzVDBGQlQydElMR05CUVdOb1J5eEhRVVZ5UW14Q0xFOUJRVTlyU0N4alFVRmphRWNzUlVGQlNTdENMRTFCUVUxeFFpeEZRVUZQUXl4SlFVbHFSQ3hUUVVGVFJ5eFZRVUZYZUVRc1JVRkJTMjlFTEVWQlFVOURMRWRCUXpsQ1FTeEZRVUZOTkVNc1MwRkJTME1zU1VGQlNXeEhMRVZCUVVsR0xFOUJRVkYxUkN4SFFVa3pRaXhKUVVoQkxFbEJRVWs0UXl4RlFVRk5MRWRCUlU1c1JTeEZRVUZKYlVJc1JVRkRSRzVDTEVWQlFVbHZRaXhIUVVGTExFTkJRMlFzU1VGUlRTdERMRVZCUVZsRExFVkJRVmRETEVWQlFWbERMRVZCVW5KRFF5eEZRVUZaZUVjc1JVRkJTV2xETEVkQlEyaENkMFVzUlVGQldTeExRVU5hUXl4RlFVRnZRa1lzUlVGQldTeEpRVUZSTEVWQlEzWkRRU3hGUVVGWkxFbEJRVkVzUlVGRGJFSkJMRVZCUVZrc1NVRkJVU3hGUVVOdVFpeEZRVVZTTEVkQlFVbDJSU3hGUVVGSmVVVXNSMEZCYjBKeVJDeEZRVWN4UWl4UFFVRlJjVVFzUjBGRFRpeExRVUZMTEVWQlEwTkdMRVZCUVZrc1RVRkRaRU1zUlVGQldVUXNSMEZGWkN4TlFVTkdMRXRCUVVzc1JVRkZlVUlzVFVGQlZpeExRVVJzUWtvc1JVRkJZWEJITEVWQlFVbHBReXhGUVVGSkxFOUJSVzVDYzBVc1IwRkJOa0lzUjBGQldrTXNTVUZCY1VJc1JVRkJiMElzUjBGQllrb3NSMEZEZWtJc1RVRkRiRUpMTEVWQlFWbEdMRWRCUjJoQ0xFMUJRMFlzUzBGQlN5eEZRVU5JU0N4RlFVRmhjRWNzUlVGQlNXbERMRVZCUVVrc1IwRkRja0p2UlN4RlFVRlpja2NzUlVGQlNXbERMRVZCUVVrc1IwRkRVU3hOUVVGV0xFbEJRV0p0UlN4SlFVRnpSQ3hOUVVGV0xFbEJRVnBETEV0QlEyNURSU3hIUVVFMlFpeEhRVUZhUXl4SlFVRnZRaXhKUVVGdlFpeEhRVUZpU2l4SlFVRnpRaXhGUVVGdFFpeEhRVUZhUXl4SFFVTnlSQ3hQUVVGVlJTeEZRVUZuUWl4UFFVRlZRU3hGUVVGblFpeFRRVU4wUlVVc1JVRkJXVVlzUjBGSGFFSXNUVUZEUml4TFFVRkxMRVZCUTBoSUxFVkJRV0Z3Unl4RlFVRkphVU1zUlVGQlNTeEhRVU55UW05RkxFVkJRVmx5Unl4RlFVRkphVU1zUlVGQlNTeEhRVU53UW5GRkxFVkJRV0YwUnl4RlFVRkphVU1zUlVGQlNTeEhRVU5QTEUxQlFWWXNTVUZCWW0xRkxFbEJRWE5FTEUxQlFWWXNTVUZCV2tNc1NVRkJjMFFzVFVGQlZpeEpRVUZpUXl4TFFVTnNSVU1zUjBGQk5rSXNSMEZCV2tNc1NVRkJiMElzU1VGQmNVSXNSMEZCWWtvc1NVRkJjMElzU1VGQmJVSXNSMEZCV2tNc1NVRkJjVUlzUlVGQmIwSXNSMEZCWWtNc1IwRkRiRVlzVDBGQlZVTXNSVUZCWjBJc1ZVRkROVU5GTEVWQlFWbEdMRWRCVFVvc1QwRkJaRVVzUjBGSFJrRXNSVUZCV1N4TlFVTmFReXhGUVVGdFFpeEhRVU5XUkN4RlFVRlpMRkZCUlhKQ1FTeEhRVUZoTEUxQlEySk9MRVZCUVVsUkxFdEJRVXRHTEVsQlFXTXNSMEZCU3l4TFFVRlJMRTlCUTNCRFFTeEZRVUZaTEUxQlFYRkNMRXRCUVZwQkxFZEJSM1pDVGl4RlFVRkpVU3hMUVVGTFJpeEhRVU5VZUVVc1IwRkJTM2xGTEVWQlIxQXNUMEZCVDBVc2MwSkJRWE5DVkN4SFFUVTVRaTlDYkVnc1VVRkJVVFJJTEZkQlFXRjRTQ3hoUVdkQ2NrSklMRTlCUVU4MFNDeHZRa0ZCYzBKNFNDeHZRa0ZGZUVKS0xFOUJRVTgwU0N4eFFrRkJNRU1zYjBKQlFWcERMRk5CUTJJc2JVSkJRV3hDUVN4UlFVRlJReXhQUVVOcVFrUXNVVUZCVVVNc1RVRkRUaXhwU2tGblFrcERMRTlCUVU5RExHVkJRV1ZvU1N4UFFVRlBVU3hWUVVGWExGTkJRVlVzUTBGRGFFUjVTQ3haUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4SFFVRkxiRWtzVDBGQlQydEVMRk5CUVZOclFpeE5RVU55UWl4UFFVRlBRU3hMUVVGTE1VTXNWVUZKYUVKeFJ5eFBRVUZQUXl4bFFVRmxhRWtzVDBGQlQxRXNWVUZCVnl4VFFVRlZMRU5CUTJoRWVVZ3NXVUZCV1N4RlFVTmFReXhKUVVGTExGZEJRMGdzUjBGQlMyeEpMRTlCUVU5clJDeFRRVUZUYTBJc1RVRkRja0lzVDBGQlQwRXNTMEZCUzNCQ0xHTkJjME5OTEc5Q1FVRllha0lzVVVGQk5FTXNUVUZCYkVKQkxFOUJRVTl2Unl4VFFVTjRRMjVKTEU5QlFVOHJRaXhQUVVGUGIwY3NWMEZCWVc1SkxGRkJRemRDSzBnc1QwRkJUME1zWlVGQlpXaEpMRTlCUVZFclFpeFBRVUZQYjBjc1VVRkJVeXhEUVVNMVF5OUhMRTFCUVU4c1MwRkRVR2RJTEdOQlFXTXNSVUZEWkVnc1dVRkJXU3hGUVVOYVNTeFZRVUZWTEVsQlNXUnlTU3hQUVVGUGMwa3NVMEZCVnl4TFFUQkViRUowU1N4UFFVRlBiVUlzUzBGQlR5eFRRVUZWUXl4RlFVRlBTaXhGUVVGclFrb3NSMEZETDBNc1QwRkJUMDhzUzBGQlMwTXNSVUZCVDBvc1JVRkJhMEpLTEVsQlMzWkRXaXhQUVVGUFVTeFZRVUZWUkN4VlFVRlpSQ3hYUVVGWFJTeFZRVU40UTFJc1QwRkJUMDhzVlVGQldVUXNWMEU0UW01Q1RpeFBRVUZQYlVNc1RVRkJVU3hUUVVGVlJDeEZRVUZOUlN4RlFVRk5ReXhIUVVOdVF5eFBRVUZQUml4TlFVRk5SQ3hGUVVGTlJTeEZRVUZOUXl4SlFWY3pRbkpETEU5QlFVOXJRaXhaUVVGakxGTkJRVlZuUWl4SFFVTTNRaXhQUVVGUGFFSXNXVUZCV1dkQ0xFbEJTM0pDYkVNc1QwRkJUM1ZKTEdkQ1FVRnJRaXhUUVVGVmNrY3NSMEZEYWtNc1QwRkJUMmhDTEZsQlFWbG5RaXhKUVhGSGNrSnNReXhQUVVGUGEwUXNVMEZCVnl4VFFVRnRRbkpDTEVkQlEyNURMRTlCUVZrc1RVRkJURUVzU1VGQk5rSXNTVUZCYUVKQkxFVkJRVVV5Unl4WFFVTndRak5ITEVsQlFVMDNRaXhQUVVGUFVTeFhRVWRxUWxJc1QwRkJUM2xKTEZGQlFWVXNVMEZCYTBKRExFVkJRVWMzUnl4SFFVZHdReXhIUVVaSlNpeFhRVUZYYVVnc1JVRkJSM0JKTEdOQlFXRnZTU3hGUVVGSk1Va3NUMEZCVDIxQ0xFdEJRVXQxU0N4RlFVRkhRU3hGUVVGRk0wTXNUMEZCVVRKRExFVkJRVVZvUnl4aFFVTXhSR3BDTEZkQlFWZEpMRVZCUVVkMlFpeGpRVUZoZFVJc1JVRkJTVGRDTEU5QlFVOXRRaXhMUVVGTFZTeEZRVUZIUVN4RlFVRkZhMFVzVDBGQlVXeEZMRVZCUVVWaExHTkJRM3BFTVVNc1QwRkJUMnRFTEZOQlFWTjNSaXhMUVVGUE1Va3NUMEZCVDJ0RUxGTkJRVk55UWl4SFFVTXhReXhOUVVGTkxFbEJRVWxhTEZWQlExSXNlVVZCU1Vvc1IwRkJTWGxJTEVsQlFVMDNSeXhGUVVGSExFOUJRVThzUlVGTGNFSXNTVUZJUVN4SlFVRkpPRWNzUlVGQlNVUXNSVUZCUlRsSUxFOUJRMDVuU1N4RlFVRkpMMGNzUlVGQlJXcENMRTlCUlVSdFF5eEZRVUZKTEVWQlFVZEpMRVZCUVUwMFJDeExRVUZMUXl4SlFVRkpNa0lzUlVGQlIwTXNSMEZCU1RkR0xFVkJRVWxKTEVsQlFVOUtMRVZCUXk5RExFZEJRVWt5Uml4RlFVRkZNMFlzUzBGQlQyeENMRVZCUVVWclFpeEhRVUZKTEVOQlEycENORVlzUlVGQlNVUXNSVUZCUlROR0xFZEJRMDQyUml4RlFVRkpMMGNzUlVGQlJXdENMRWRCUTA0c1RVRkpTaXhQUVVGSk5FWXNSVUZCU1VNc1IwRkJWeXhGUVVObVFTeEZRVUZKUkN4RlFVRlZMRVZCUTFnc1IwRkhWRE5KTEU5QlFVOTVReXhYUVVGaExGTkJRWEZDU2l4SFFVTjJReXhQUVVGUmJVUXNUMEZCVDI1RUxFZEJRVlV5UWl4bFFVTjJRaXhKUVVGTExFMUJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRkZCUTB3c1NVRkJTeXhUUVVOTUxFbEJRVXNzVTBGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEU5QlFVOHNSVUZEVkN4UlFVTkZMRTlCUVU4c1NVRkpZbWhGTEU5QlFVODJTU3hQUVVGVExGTkJRV2xDUXl4RlFVRk5iRWtzUjBGRGNrTXNTVUZCU3pKRExFMUJRVTFETEZGQlFWRnpSaXhIUVVOcVFpeE5RVUZOTEVsQlFVazNTQ3hWUVVGVkxDdERRVWQwUWl4SFFVRnZRaXhKUVVGb1FqWklMRVZCUVV0c1NTeFBRVU5RTEU5QlFVOWFMRTlCUVU5dFF5eE5RVUZOTEVkQlIzUkNMRWxCUVVsWkxFVkJRMG9zVVVGQlpWUXNTVUZCV0RGQ0xFVkJSVVlzU1VGRVFVRXNSVUZCVXl4RlFVTktiVU1zUlVGQlNTeEZRVUZIUVN4RlFVRkpLMFlzUlVGQlMyeEpMRk5CUVZWdFF5eEZRVU0zUW01RExFZEJRVlZyU1N4RlFVRkxMMFlzUjBGQlIyNURMRTlCU1hSQ0xFbEJRVWxqTEVWQlFWTXhRaXhQUVVGUGEwSXNXVUZCV1U0c1IwRkROVUp0U1N4RlFVRk5MRVZCUTFZc1NVRkJTMmhITEVWQlFVa3NSVUZCUjBFc1JVRkJTU3RHTEVWQlFVdHNTU3hUUVVGVmJVTXNSVUZCUnl4RFFVTm9ReXhKUVVGSmFrTXNSVUZCVFdkSkxFVkJRVXN2Uml4SFFVbG1MRWRCU0VsMFFpeFhRVUZYV0N4RlFVRkxVaXhqUVVOc1FsRXNSVUZCVFdRc1QwRkJUMjFDTEV0QlFVdE1MRXRCUldaa0xFOUJRVTlyUkN4VFFVRlRjRU1zUjBGRGJrSXNUVUZCVFN4SlFVRkpSeXhWUVVGVkxDdERRVVYwUWtnc1JVRkJTWE5ETEV0QlFVc3hRaXhGUVVGUmNVZ3NSMEZEYWtKQkxFZEJRVTlxU1N4RlFVRkpSaXhQUVVWaUxFOUJRVTlqTEVkQmEwUlVNVUlzVDBGQlR6QkRMRmRCUVdGQkxGZEJPRVZ3UWpGRExFOUJRVTlSTEZWQlFWVm5TU3hYUVVGWkxFVkJVVGRDZUVrc1QwRkJUMUVzVlVGQlZYZEpMRTlCUVZNc1YwRkRlRUlzU1VGQlNUZEdMRVZCUVUxcFFpeExRVUZMZUVRc1QwRkRaaXhIUVVGSmRVTXNSVUZCVFN4SFFVRk5MRVZCUTJRc1RVRkJUU3hKUVVGSmRFTXNWMEZCVnl3MlEwRkZka0lzU1VGQlN5eEpRVUZKYTBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKU1N4RlFVRkxTaXhIUVVGTExFVkJRelZDTkVJc1MwRkJTMUFzUzBGQlRYSkNMRVZCUVVkQkxFVkJRVWtzUjBGRmNFSXNUMEZCVDNGQ0xFMUJSMVJ3UlN4UFFVRlBVU3hWUVVGVmVVa3NUMEZCVXl4WFFVTjRRaXhKUVVGSk9VWXNSVUZCVFdsQ0xFdEJRVXQ0UkN4UFFVTm1MRWRCUVVsMVF5eEZRVUZOTEVkQlFVMHNSVUZEWkN4TlFVRk5MRWxCUVVsMFF5eFhRVUZYTERaRFFVVjJRaXhKUVVGTExFbEJRVWxyUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxKTEVWQlFVdEtMRWRCUVVzc1JVRkROVUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCUjBFc1JVRkJTU3hIUVVOc1FqUkNMRXRCUVV0UUxFdEJRVTF5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUjBGRmVFSXNUMEZCVDNGQ0xFMUJSMVJ3UlN4UFFVRlBVU3hWUVVGVk1Fa3NUMEZCVXl4WFFVTjRRaXhKUVVGSkwwWXNSVUZCVFdsQ0xFdEJRVXQ0UkN4UFFVTm1MRWRCUVVsMVF5eEZRVUZOTEVkQlFVMHNSVUZEWkN4TlFVRk5MRWxCUVVsMFF5eFhRVUZYTERaRFFVVjJRaXhKUVVGTExFbEJRVWxyUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxKTEVWQlFVdEtMRWRCUVVzc1JVRkROVUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCUjBFc1JVRkJTU3hIUVVOc1FqUkNMRXRCUVV0UUxFdEJRVTF5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUjBGRGRFSTBRaXhMUVVGTFVDeExRVUZOY2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEVkQlEzUkNORUlzUzBGQlMxQXNTMEZCVFhKQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SFFVVjRRaXhQUVVGUGNVSXNUVUZIVkhCRkxFOUJRVTlSTEZWQlFWVnJSQ3hUUVVGWExGZEJRekZDTEVsQlFVazVReXhGUVVGVGQwUXNTMEZCUzNoRUxFOUJRMnhDTEU5QlFXVXNTVUZCV0VFc1JVRkJjVUlzUjBGRFFTeEpRVUZ5UW1kRUxGVkJRVlZvUkN4UFFVRnhRakJFTEZWQlFWVkdMRXRCUVUwc1JVRkJSM2hFTEVkQlF5OURjVVFzWVVGQllXdEdMRTFCUVUwdlJTeExRVUZOVWl4WlFVZHNRelZFTEU5QlFVOVJMRlZCUVZVMFNTeGxRVUZwUW5CS0xFOUJRVTlSTEZWQlFWVnJSQ3hUUVVWdVJERkVMRTlCUVU5UkxGVkJRVlUyU1N4UFFVRlRMRk5CUVdsQ2VFZ3NSMEZEZWtNc1NVRkJTemRDTEU5QlFVOXJSQ3hUUVVGVGNrSXNSMEZCU1N4TlFVRk5MRWxCUVVsYUxGVkJRVlVzTmtKQlF6ZERMRTlCUVVsdFJDeFBRVUZUZGtNc1IwRkRjMElzU1VGQk5VSTNRaXhQUVVGUGVVa3NVVUZCVVhKRkxFdEJRVTEyUXl4SlFVYzVRamRDTEU5QlFVOVJMRlZCUVZVNFNTeFJRVUZWTEZkQlEzcENMRWxCUVVsRExFVkJRVTBzUjBGRFRrTXNSVUZCVFhwS0xGRkJRVkZITEd0Q1FVZHNRaXhQUVVaQmNVb3NSVUZCVFc1R0xFdEJRVXRXTEZOQlFWTXNUVUZCVHl4RlFVRkhPRVlzUjBGQlMwTXNVVUZCVVN4VlFVRlhMRTlCUVU5RExFOUJRM3BFZEVZc1MwRkJTM2hFTEU5QlFWTTBTU3hKUVVGTFJDeEhRVUZQTEZOQlEzWkNMRmRCUVdGQkxFVkJRVTBzUzBGSE5VSjJTaXhQUVVGUFVTeFZRVUZWYVVrc1VVRkJWU3hUUVVGclFtdENMRVZCUVZGNlJpeEZRVUZQUXl4RlFVRkxlVVlzUlVGQlYwTXNSMEZKTVVVc1IwRklTWEJKTEZkQlFWZHJTU3hGUVVGUmNrb3NZMEZEY2tKeFNpeEZRVUZUTTBvc1QwRkJUMjFDTEV0QlFVdDNTU3hGUVVGUlFTeEZRVUZQTlVRc1QwRkJVVFJFTEVWQlFVOXFTQ3hqUVVWb1JERkRMRTlCUVU5clJDeFRRVUZUZVVjc1IwRkRia0lzVFVGQlRTeEpRVUZKTVVrc1ZVRkRVaXgzUmtGRE1rSXdTU3hIUVdsQ0wwSXNVVUZpWTNKSUxFbEJRVlkwUWl4SlFVTkdRU3hGUVVGUkxGRkJSVVUxUWl4SlFVRlNOa0lzU1VGRFJrRXNSVUZCVFhkR0xFVkJRVk5CTEVWQlFVOHZTU3hQUVVGVExGRkJSV1l3UWl4SlFVRmtjMGdzU1VGRFJrRXNSVUZCV1N4UlFVVkZkRWdzU1VGQlduVklMRWxCUTBaQkxFVkJRVlY2Uml4TFFVRkxlRVFzVVVGSFluTkVMRVZCUVZFc1IwRkJTME1zUlVGQlRYZEdMRVZCUVU4dlNTeFJRVUZWWjBvc1JVRkJXU3hIUVVGTFF5eEZRVUZWZWtZc1MwRkJTM2hFTEU5QlEzUkZMRTFCUVUwc1NVRkJTVU1zVjBGQlZ5eHpRa0ZIZGtJc1IwRkJTU3RKTEVkQlFXRkRMRWRCUVZjelJpeEhRVUZUUXl4RlFVTnVReXhQUVVGUExFVkJSVlFzUjBGQlNYbEdMRWRCUVdGRExFVkJRMllzVDBGQlVTeEZRVVZXTEVkQlFVa3pSaXhIUVVGVFF5eEZRVU5ZTEU5QlFVOHNSVUZSVkN4SFFVRkpReXhQUVVGVGRVWXNSVUZCVVN4UFFVRlBMRVZCVXpWQ0xFbEJVRUVzU1VGQlNXaENMRWRCU2twclFpeExRVUZoTEVsQlJHSkVMRXRCUVdVc1IwRk5XR2hDTEVkQlVFcDZSU3hMUVVGVExFbEJSRlJFTEV0QlFWY3NSMEZUVUdZc1JVRkJUVFJFTEV0QlFVdERMRWxCUVVreVFpeEZRVUZIUXl4SFFVVnNRbXRDTEVWQlFWY3hSaXhMUVVGTGRrSXNUVUZCVFN0SExFVkJRVmRETEVkQlEycERSU3hGUVVGaFNpeEZRVUZQT1Vjc1RVRkJUWEZDTEVWQlFVOURMRWRCUlRWQ2NFSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlNTeEpRVUZQU2l4RlFVTjZRaXhIUVVGSkswY3NSVUZCVXk5SExFdEJRVTluU0N4RlFVRlhhRWdzUjBGQlNTeERRVU5xUXpSR0xFVkJRVWx0UWl4RlFVRlRMMGNzUjBGRFlqWkdMRVZCUVVsdFFpeEZRVUZYYUVnc1IwRkRaaXhOUVVsS0xFOUJRVWswUml4RlFVRkpReXhIUVVGWExFVkJRMlpCTEVWQlFVbEVMRVZCUVZVc1JVRkRXQ3hIUVRSSVZETkpMRTlCUVU5UkxGVkJRVlYzU2l4VFFVRlhMRk5CUVcxQ2FrWXNSVUZCU3k5Q0xFVkJRVmxZTEVkQlF6bEVMRTlCUVc5RUxFbEJRVGRESzBJc1MwRkJTMk1zVVVGQlVVZ3NSVUZCU3k5Q0xFVkJRVmxZTEVsQlIzWkRja01zVDBGQlQxRXNWVUZCVlRCRkxGRkJRVlVzVTBGQmEwSklMRVZCUVVzdlFpeEZRVUZaV0N4SFFVTTFSQ3hQUVVGUGVVTXNjVUpCUVhGQ1ZpeExRVUZOVnl4RlFVRkxMMElzUlVGQldWZ3NSMEZCVlN4SlFVY3ZSSEpETEU5QlFVOVJMRlZCUVZVMFJTeFpRVUZqTEZOQlFYTkNUQ3hGUVVGTEwwSXNSVUZCV1Znc1IwRkRjRVVzVDBGQlQzbERMSEZDUVVGeFFsWXNTMEZCVFZjc1JVRkJTeTlDTEVWQlFWbFlMRWRCUVZVc1NVRm5SQzlFY2tNc1QwRkJUMUVzVlVGQlZXOURMRTFCUVZFc1UwRkJaMEpLTEVWQlFWRjFSQ3hGUVVGUmJrWXNSVUZCVVhsQ0xFZEJSUzlFTEZGQlFXVkRMRWxCUVZoNVJDeEZRVU5HTVVRc1JVRkJWeXhQUVVOWWVrSXNSVUZCVTNkRUxFdEJRVXQ0UkN4UFFVTmtiVVlzUlVGQlV5eFBRVVZLTEZGQlFXVjZSQ3hKUVVGWU1VSXNSMEZCTUVNc2FVSkJRVmh0Uml4RlFVTjRRekZFTEVWQlFWY3dSQ3hGUVVOWWJrWXNSVUZCVTNkRUxFdEJRVXQ0UkN4UFFVTmtiVVlzUlVGQlV5eE5RVVZLTEVOQlFVRXNTVUZCU1d0RkxGTkJRVk5zUlN4SFFWVnNRaXhOUVVGTkxFbEJRVWx0UlN4TlFVTlNMREpGUVZaR2JrVXNTMEZCYjBJc1JVRkRhRUpyUlN4VFFVRlRja29zU1VGRFdFRXNTMEZCYjBJc1QwRkRTREJDTEVsQlFXSkVMRWxCUVhkQ1FTeEZRVUZYTEZWQlJYWkRRU3hGUVVGWGVrSXNSVUZEV0VFc1QwRkJVekJDTEVkQlVXSXNTVUZCU1RKRUxFVkJRVmszUWl4TFFVRkxlRVFzVDBGQlUyMUdMRVZCUnpsQ0xGTkJSbVY2UkN4SlFVRllNVUlzUjBGQmQwSkJMRVZCUVZOeFJpeExRVUZYY2tZc1JVRkJVM0ZHTEVkQlJYQkVla1FzUlVGQlR6VkNMRTlCUVZNc1NVRkJUVUVzUlVGQlV5eEhRVUZMYlVZc1JVRkJVeXhKUVVGUFFTeEZRVUZUTTBJc1MwRkJTM2hFTEU5QlEzSkZMRTFCUVUwc1NVRkJTVU1zVjBGQlZ5d3dRMEZIYkVKM1FpeEpRVUZWUVN4RlFVRlhMRkZCUnpGQ0xFbEJSRUVzU1VGQlNYZENMRWRCUVdNc1NVRkZhRUlzVDBGQlVYaENMRWRCUTA0c1NVRkJTeXhOUVVOSUxFOUJRVTk1UkN4VFFVRlRNVUlzUzBGQlRUVkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkZlRU1zU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEU0N4UFFVRlBNRVlzVlVGQlZXeERMRXRCUVUwMVFpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlJYcERMRWxCUVVzc1VVRkRTQ3hQUVVGUE5FWXNWMEZCVjNCRExFdEJRVTAxUWl4RlFVRlJkVVFzUlVGQlVXNUdMRWRCUlRGRExFbEJRVXNzVTBGRFRDeEpRVUZMTEZOQlEwZ3NUMEZCVHpoR0xGbEJRVmwwUXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVV6UXl4SlFVRkxMRk5CUlVnc1QwRkJUeXRHTEZsQlFWbDJReXhMUVVGTk5VSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVVXpReXhKUVVGTExFOUJRMHdzU1VGQlN5eFJRVU5NTEVsQlFVc3NWVUZEVEN4SlFVRkxMRmRCUTBnc1QwRkJUMmRITEZWQlFWVjRReXhMUVVGTk5VSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVVjZReXhSUVVORkxFZEJRVWxwUkN4RlFVRmhMRTFCUVUwc1NVRkJTVFZETEZWQlFWVXNjVUpCUVhWQ2IwSXNSMEZETlVSQkxFZEJRVmtzUjBGQlMwRXNSMEZCVlRKQ0xHTkJRek5DU0N4SFFVRmpMRWxCUzNSQ04wUXNUMEZCVDFFc1ZVRkJWVEpLTEU5QlFWTXNWMEZEZUVJc1RVRkJUeXhEUVVOTU4wY3NTMEZCVFN4VFFVTk9SeXhMUVVGTlJpeE5RVUZOTDBNc1ZVRkJWWEZETEUxQlFVMXpReXhMUVVGTFppeExRVUZMWjBjc1RVRkJVV2hITEV0QlFVMHNTMEYzUm5oRUxFbEJRVWxwUnl4eFFrRkJkVUlzUzBGRk0wSXNVMEZCVXpORExITkNRVUYxUWpSRExFZEJRemxDTEVsQlFVbHVTQ3hGUVVGTmJVZ3NSVUZCVnpGS0xFOUJRM0pDTEVkQlFVbDFReXhIUVVGUGEwZ3NjVUpCUTFRc1QwRkJUemRGTEU5QlFVOHJSU3hoUVVGaGNFSXNUVUZCVFRORUxFOUJRVkU0UlN4SFFVMHpReXhKUVVaQkxFbEJRVWx5UkN4RlFVRk5MRWRCUTA1c1JTeEZRVUZKTEVWQlEwUkJMRVZCUVVsSkxFZEJRMVE0UkN4SFFVRlBla0lzVDBGQlR5dEZMR0ZCUVdGd1FpeE5RVU42UWpORUxFOUJRMEU0UlN4RlFVRlhla2dzVFVGQlRVVXNSVUZCUjBFc1IwRkJTM05JTEhWQ1FVYzNRaXhQUVVGUGNFUXNSVUZIVkN4VFFVRlRNVU1zVjBGQldYcEVMRVZCUVV0dlJDeEZRVUZQUXl4SFFVTXZRaXhKUVVGSmNVY3NSVUZCVFN4SFFVTldja2NzUlVGQlRUUkRMRXRCUVV0RExFbEJRVWxzUnl4RlFVRkpSaXhQUVVGUmRVUXNSMEZGTTBJc1NVRkJTeXhKUVVGSmNFSXNSVUZCU1cxQ0xFVkJRVTl1UWl4RlFVRkpiMElzU1VGQlQzQkNMRVZCUXpkQ2VVZ3NSMEZCVDJoR0xFOUJRVThyUlN4aFFVRnpRaXhKUVVGVWVrb3NSVUZCU1dsRExFbEJSV3BETEU5QlFVOTVTQ3hGUVVkVUxGTkJRVk5vUnl4WlFVRmhNVVFzUlVGQlMyOUVMRVZCUVU5RExFZEJRMmhETEVsQlFVbHhSeXhGUVVGTkxFZEJRMVp5Unl4RlFVRk5ORU1zUzBGQlMwTXNTVUZCU1d4SExFVkJRVWxHTEU5QlFWRjFSQ3hIUVVVelFpeEpRVUZMTEVsQlFVbHdRaXhGUVVGSmJVSXNSVUZCVDI1Q0xFVkJRVWx2UWl4SlFVRlBjRUlzUlVGRE4wSjVTQ3hIUVVGUGFFWXNUMEZCVHl0RkxHRkJRV0Y2U2l4RlFVRkphVU1zU1VGRmFrTXNUMEZCVDNsSUxFVkJSMVFzVTBGQlUyNUhMRk5CUVZWMlJDeEZRVUZMYjBRc1JVRkJUME1zUjBGRE4wSXNTVUZCU1doQ0xFVkJRVTF5UXl4RlFVRkpSaXhUUVVWVWMwUXNSMEZCVTBFc1JVRkJVU3hMUVVGSFFTeEZRVUZSTEV0QlF6VkNReXhIUVVGUFFTeEZRVUZOTEVkQlFVdEJMRVZCUVUxb1FpeExRVUZMWjBJc1JVRkJUV2hDTEVkQlIzaERMRWxCUkVFc1NVRkJTWE5JTEVWQlFVMHNSMEZEUkRGSUxFVkJRVWx0UWl4RlFVRlBia0lzUlVGQlNXOUNMRWxCUVU5d1FpeEZRVU0zUWpCSUxFZEJRVTlETEUxQlFVMDFTaXhGUVVGSmFVTXNTVUZGYmtJc1QwRkJUekJJTEVWQlIxUXNVMEZCVXk5R0xHRkJRV00xUkN4RlFVRkxiMFFzUlVGQlQwTXNSMEZIYWtNc1NVRkdRU3hKUVVGSmQwY3NSVUZCVVRkS0xFVkJRVWtyUWl4TlFVRk5jVUlzUlVGQlQwTXNSMEZEZWtJNFF5eEZRVUZOTEVkQlEwUnNSU3hGUVVGSkxFVkJRVWRCTEVWQlFVazBTQ3hGUVVGTkwwb3NUMEZCVVcxRExFZEJRVXNzUlVGRGNrTnJSU3hIUVVGUGVrSXNUMEZCVHl0RkxHRkJRV0ZKTEVWQlFVMDFTQ3hIUVVGeFFpeEpRVUZtTkVnc1JVRkJUVFZJTEVWQlFVa3NTVUZGYmtRc1QwRkJUMnRGTEVWQmFVTlVMRk5CUVZNeVJDeFpRVUZoTjBVc1JVRkJVVGhGTEVWQlFVdHFTeXhIUVVOcVF5eEhRVUZMYlVZc1JVRkJVeXhIUVVGUExFZEJRVXRCTEVWQlFWTXNSVUZCUnl4TlFVRk5MRWxCUVVsc1JpeFhRVUZYTEhOQ1FVTXpSQ3hIUVVGSmEwWXNSVUZCVXpoRkxFVkJRVTFxU3l4RlFVRlJMRTFCUVUwc1NVRkJTVU1zVjBGQlZ5eDVRMEUyUzJ4RUxGTkJRVk5wU3l4VFFVRlZhRXNzUlVGQlMwMHNSVUZCVHpKRkxFVkJRVkU0UlN4RlFVRkxja0lzUlVGQlMzaERMRWRCUXk5RExFbEJRVXRvU0N4UFFVRlBhMFFzVTBGQlUzQkRMRWRCUVUwc1RVRkJUU3hKUVVGSlJ5eFZRVUZWTEN0RFFVTXZReXhIUVVGSlJ5eEZRVUZSYjBrc1IwRkJUM0JKTEVWQlFWRTBSaXhGUVVGTExFMUJRVTBzU1VGQlNXNUhMRmRCUVZjc2NVTkJRM0pFTEVkQlFVbHJSaXhGUVVGVE9FVXNSVUZCVFM5S0xFVkJRVWxHTEU5QlFWRXNUVUZCVFN4SlFVRkpReXhYUVVGWExITkNRWGxNZEVRc1UwRkJVMnRMTEdGQlFXTnFTeXhGUVVGTFRTeEZRVUZQTWtVc1JVRkJVVGhGTEVWQlFVdHlRaXhGUVVGTGVFTXNSMEZEYmtRc1IwRkJTV3BDTEVWQlFWTTRSU3hGUVVGTkwwb3NSVUZCU1VZc1QwRkJVU3hOUVVGTkxFbEJRVWxETEZkQlFWY3NjMEpCUTNCRUxFZEJRVWxyUml4RlFVRlRMRVZCUVVjc1RVRkJUU3hKUVVGSmJFWXNWMEZCVnl4elFrRkhka01zVTBGQlUyMUxMRmRCUVZsc1N5eEZRVUZMVFN4RlFVRlBNa1VzUlVGQlVXdEdMRVZCUVdORExFZEJUM0pFTEU5QlRrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUTBoSUxHRkJRV0ZxU3l4RlFVRkxUU3hGUVVGUE1rVXNSVUZCVVN4RlFVRkhMSFZDUVVGNVFpeDFRa0ZGTDBScVJ5eFJRVUZST0VNc1RVRkJUVGxDTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSYTBZc1JVRkJZeXhIUVVGSkxFZEJRemREYkVZc1JVRkJVeXhGUVZkc1FpeFRRVUZUYjBZc1dVRkJZWEpMTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSYTBZc1JVRkJZME1zUjBGUGRFUXNUMEZPUVRsS0xFZEJRVk5CTEVWQlExUXlSU3hMUVVGdlFpeEZRVU5tYlVZc1IwRkRTRWdzWVVGQllXcExMRVZCUVV0TkxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc2QwSkJRVEJDTEhkQ1FVVm9SV3BITEZGQlFWRTRReXhOUVVGTk9VSXNSVUZCUzAwc1JVRkJUekpGTEVWQlFWRnJSaXhGUVVGakxFZEJRVWtzUjBGRE4wTnNSaXhGUVVGVExFVkJkbUZzUWk5R0xFOUJRVTlSTEZWQlFWVnhReXhOUVVGUkxGTkJRV2RDY1VJc1JVRkJUME1zUjBGRE9VTXNTVUZCU1doQ0xFVkJRVTFwUWl4TFFVRkxlRVFzVVVGRFpuTkVMRWxCUVZWQkxFZEJSMFVzUjBGRFZrRXNSMEZCVTJZc1IwRkRSeXhKUVVGSFpTeEZRVUZSTEVkQlEyUkJMRVZCUVZGbUxFbEJRMnBDWlN4RlFVRlJaaXhKUVU1V1owSXNUMEZCWXpkQ0xFbEJRVkkyUWl4RlFVRnZRbWhDTEVsQlFWRm5RaXhIUVZONFFpeEhRVU5TUVN4SFFVRlBhRUlzUjBGRFJ5eEpRVUZIWjBJc1JVRkJUU3hIUVVOV1FTeEZRVUZOYUVJc1NVRkRabWRDTEVWQlFVMW9RaXhIUVVkS1owSXNSVUZCVFVRc1NVRkJUME1zUlVGQlRVUXNSMEZGZGtJc1NVRkJTV3RJTEVWQlFWTm9TQ3hMUVVGTGFVZ3NVMEZCVTI1SUxFVkJRVTlETEVkQlIyeERMRTlCUkVGcFNDeEZRVUZQTjBzc1ZVRkJXVkFzVDBGQlQxRXNWVUZEYmtJMFN5eEhRVmRVY0V3c1QwRkJUMUVzVlVGQlZUaExMRmRCUVdFc1UwRkJjVUoyUml4RlFVRlJja1FzUlVGQldYZEpMRWRCUTNKRmJrWXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJja1FzUlVGQldUQkNMRXRCUVV0NFJDeFJRVXR3UkN4SlFVaEJMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGRFdIZEdMRVZCUVUwc1JVRkRUbmhKTEVWQlFVa3NTVUZEUTBFc1JVRkJTVXdzU1VGQlpUWkpMRWRCUVU4c1RVRkRha040Unl4SFFVRlBXQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVXQzU1N4RlFVYzFRaXhQUVVGUGVFY3NSMEZIVkM5RkxFOUJRVTlSTEZWQlFWVm5UQ3hYUVVGaExGTkJRWEZDZWtZc1JVRkJVWEpFTEVWQlFWbDNTU3hIUVVOeVJXNUdMRXRCUVc5Q0xFVkJRM0JDY2tRc1MwRkJORUlzUlVGRGRrSjNTU3hIUVVOSVRpeFpRVUZaTjBVc1JVRkJVWEpFTEVWQlFWa3dRaXhMUVVGTGVFUXNVVUZMZGtNc1NVRkdRU3hKUVVGSmJVVXNSVUZCVFZnc1MwRkJTekpDTEVsQlFWZHlSQ3hIUVVOMFFqWkpMRVZCUVUwc1JVRkRTRGRKTEVWQlFXRXNTVUZCVFRaSkxFZEJRVThzVFVGREwwSjRSeXhIUVVGUFdDeExRVUZMTWtJc1NVRkJWM0pFTEVkQlFXTTJTU3hGUVVkMlF5eFBRVUZQZUVjc1IwRkhWQzlGTEU5QlFVOVJMRlZCUVZWcFRDeFZRVUZaTEZOQlFXOUNNVVlzUlVGQlVXMUdMRWRCUjNaRUxFOUJSa0Z1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTndRM2RFTEV0QlFVc3lRaXhKUVVka0wwWXNUMEZCVDFFc1ZVRkJWV3RNTEdGQlFXVXNVMEZCZFVJelJpeEZRVUZSYlVZc1IwRkhOMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRGQwUXNTMEZCU3pKQ0xFZEJRVmN6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVUZOTEVkQlJ6ZERMMFlzVDBGQlQxRXNWVUZCVld0R0xHRkJRV1VzVTBGQmRVSkxMRVZCUVZGdFJpeEhRVWMzUkN4UFFVWkJia1lzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZPTEZsQlFWazNSU3hGUVVGUkxFVkJRVWN6UWl4TFFVRkxlRVFzVVVGRGJrTjNSQ3hMUVVGTE1rSXNTVUZCVnl4RlFVRkxNMElzUzBGQlN6SkNMRVZCUVZNc1NVRkhOME12Uml4UFFVRlBVU3hWUVVGVmJVd3NZVUZCWlN4VFFVRjFRalZHTEVWQlFWRnRSaXhIUVVrM1JDeFBRVWhCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1UwRkZiRU4zUkN4TFFVRkxNa0lzUjBGRFZETkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSVUZEY0VJelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFbEJRMFFzVTBGQmJrSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVZHlRaTlHTEU5QlFVOVJMRlZCUVZWdlRDeGhRVUZsTEZOQlFYVkNOMFlzUlVGQlVXMUdMRWRCU1RkRUxFOUJTRUZ1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVVndRaXhUUVVGbWQwUXNTMEZCU3pKQ0xFbEJRMVF6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVUZOTEVkQlEzSkNNMElzUzBGQlN6SkNMRVZCUVZNc1NVRkJUU3hGUVVOeVFqTkNMRXRCUVVzeVFpeEZRVUZUTEV0QlIyeENMMFlzVDBGQlQxRXNWVUZCVlhGTUxGVkJRVmtzVTBGQmIwSTVSaXhGUVVGUmNrUXNSVUZCV1hkSkxFZEJRMjVGYmtZc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFZEJRVlZPTEZsQlFWazNSU3hGUVVGUmNrUXNSVUZCV1RCQ0xFdEJRVXQ0UkN4UlFVdHdSQ3hKUVVoQkxFbEJRVWx0UlN4RlFVRk5XQ3hMUVVGTE1rSXNSMEZEV0hkR0xFVkJRVTBzUlVGRFRuaEpMRVZCUVVrc1NVRkRRMEVzUlVGQlNVd3NTVUZCWlRaSkxFZEJRVThzVFVGRGFrTjRSeXhIUVVGUFdDeExRVUZMTWtJc1JVRkJVMmhFTEVkQlFVdDNTU3hGUVUwMVFpeFBRVVpKZUVjc1NVRkdTbmRITEVkQlFVOHNUMEZGVTNoSExFZEJRVTluUXl4TFFVRkxLMFVzU1VGQlNTeEZRVUZITEVWQlFVbHdTaXhKUVVWb1EzRkRMRWRCUjFRdlJTeFBRVUZQVVN4VlFVRlZkVXdzVlVGQldTeFRRVUZ2UW1oSExFVkJRVkZ5UkN4RlFVRlpkMGtzUjBGRGJrVnVSaXhMUVVGdlFpeEZRVU53UW5KRUxFdEJRVFJDTEVWQlEzWkNkMGtzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkZ5UkN4RlFVRlpNRUlzUzBGQlMzaEVMRkZCUzNCRUxFbEJTRUVzU1VGQlNXMURMRVZCUVVsTUxFVkJRMG8yU1N4RlFVRk5MRVZCUTA1NFJ5eEZRVUZOV0N4TFFVRkxNa0lzU1VGQlYyaEVMRWRCUTI1Q1FTeEZRVUZKTEVsQlFVMTNTU3hIUVVGUExFMUJRM1JDZUVjc1IwRkJUMWdzUzBGQlN6SkNMRWxCUVZkb1JDeEhRVUZMZDBrc1JVRk5PVUlzVDBGR1NYaEhMRWxCUmtwM1J5eEhRVUZQTEU5QlJWTjRSeXhIUVVGUFowTXNTMEZCU3l0RkxFbEJRVWtzUlVGQlJ5eEZRVUZKY0Vvc1NVRkZhRU54UXl4SFFVZFVMMFVzVDBGQlQxRXNWVUZCVlhkTUxGTkJRVmNzVTBGQmJVSnFSeXhGUVVGUmJVWXNSMEZIY2tRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzUkNMRWxCUVdaM1JDeExRVUZMTWtJc1NVRkRNRUlzUjBGQk5VSXNTVUZCVHpOQ0xFdEJRVXN5UWl4SFFVRlZMRWRCUkVzelFpeExRVUZMTWtJc1NVRkpNME12Uml4UFFVRlBVU3hWUVVGVmVVd3NXVUZCWXl4VFFVRnpRbXhITEVWQlFWRnRSaXhIUVVNelJHNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUXpORExFbEJRVWx0UlN4RlFVRk5XQ3hMUVVGTE1rSXNSMEZCVnpOQ0xFdEJRVXN5UWl4RlFVRlRMRWxCUVUwc1JVRkRPVU1zVDBGQll5eE5RVUZPYUVJc1JVRkJjMElzVjBGQlRrRXNSVUZCYlVKQkxFZEJSemRETDBVc1QwRkJUMUVzVlVGQlZUQk1MRmxCUVdNc1UwRkJjMEp1Unl4RlFVRlJiVVlzUjBGRE0wUnVSaXhMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZFc1JVRkJSek5DTEV0QlFVdDRSQ3hSUVVNelF5eEpRVUZKYlVVc1JVRkJUVmdzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5DTEV0QlFVc3lRaXhKUVVGWExFVkJRemxETEU5QlFXTXNUVUZCVG1oQ0xFVkJRWE5DTEZkQlFVNUJMRVZCUVcxQ1FTeEhRVWMzUXk5RkxFOUJRVTlSTEZWQlFWVXlUQ3haUVVGakxGTkJRWE5DY0Vjc1JVRkJVVzFHTEVkQlNUTkVMRTlCU0VGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVVZ1UTNkRUxFdEJRVXN5UWl4SFFVTldNMElzUzBGQlN6SkNMRVZCUVZNc1NVRkJUU3hGUVVOd1FqTkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSMEZEY0VJelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFbEJSM3BDTDBZc1QwRkJUMUVzVlVGQlZUUk1MRmxCUVdNc1UwRkJjMEp5Unl4RlFVRlJiVVlzUjBGSk0wUXNUMEZJUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJSVzVEZDBRc1MwRkJTekpDTEVsQlFWY3NSMEZEY2tJelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJRM0JDTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTndRak5DTEV0QlFVc3lRaXhGUVVGVExFbEJSMjVDTDBZc1QwRkJUMUVzVlVGQlZUWk1MRmxCUVdNc1UwRkJjMEowUnl4RlFVRlJiVVlzUjBGSE0wUXNUMEZHUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJRM0JEWkN4UlFVRlJNa1lzUzBGQlMzSkNMRXRCUVUweVFpeEhRVUZSTEVWQlFVMHNSMEZCU1N4SlFVYzVReTlHTEU5QlFVOVJMRlZCUVZVNFRDeFpRVUZqTEZOQlFYTkNka2NzUlVGQlVXMUdMRWRCUnpORUxFOUJSa0Z1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTndRMlFzVVVGQlVUSkdMRXRCUVV0eVFpeExRVUZOTWtJc1IwRkJVU3hGUVVGUExFZEJRVWtzU1VGSEwwTXZSaXhQUVVGUFVTeFZRVUZWSzB3c1lVRkJaU3hUUVVGMVFuaEhMRVZCUVZGdFJpeEhRVWMzUkN4UFFVWkJia1lzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZPTEZsQlFWazNSU3hGUVVGUkxFVkJRVWN6UWl4TFFVRkxlRVFzVVVGRGNFTmtMRkZCUVZFeVJpeExRVUZMY2tJc1MwRkJUVEpDTEVkQlFWRXNSVUZCVFN4SFFVRkpMRWxCUnpsREwwWXNUMEZCVDFFc1ZVRkJWV2ROTEdGQlFXVXNVMEZCZFVKNlJ5eEZRVUZSYlVZc1IwRkhOMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRFpDeFJRVUZSTWtZc1MwRkJTM0pDTEV0QlFVMHlRaXhIUVVGUkxFVkJRVThzUjBGQlNTeEpRVk12UXk5R0xFOUJRVTlSTEZWQlFWVnBUU3haUVVGakxGTkJRWE5DY2t3c1JVRkJUekpGTEVWQlFWRnlSQ3hGUVVGWmQwa3NTVUZET1VVNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEY0VKeVJDeExRVUUwUWl4RlFVTjJRbmRKTEVsQlJVaEtMRk5CUVZNeFJ5eExRVUZOYUVRc1JVRkJUekpGTEVWQlFWRnlSQ3hGUVVSbWNVVXNTMEZCU3l0RkxFbEJRVWtzUlVGQlJ5eEZRVUZKY0Vvc1IwRkJZeXhGUVVOUExFZEJSM1JFTEVsQlFVazJTU3hGUVVGTkxFVkJRMDU0U1N4RlFVRkpMRVZCUlZJc1NVRkVRWEZDTEV0QlFVc3lRaXhIUVVGclFpeEpRVUZTTTBVc1NVRkRUakpDTEVWQlFVbE1MRWxCUVdVMlNTeEhRVUZQTEUxQlEycERia2dzUzBGQlN6SkNMRVZCUVZOb1JDeEhRVUZOTTBJc1JVRkJVVzFMTEVWQlFVOHNTVUZIY2tNc1QwRkJUM2hHTEVWQlFWTnlSQ3hIUVVkc1FqRkRMRTlCUVU5UkxGVkJRVlZyVFN4WlFVRmpMRk5CUVhOQ2RFd3NSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVRlpkMGtzU1VGRE9VVTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFbEJSVWhLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVUm1jVVVzUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NSMEZCWXl4RlFVTlBMRWRCUjNSRUxFbEJRVWxMTEVWQlFVbE1MRVZCUVdFc1JVRkRha0kyU1N4RlFVRk5MRVZCUlZZc1NVRkVRVzVJTEV0QlFVc3lRaXhGUVVGVGFFUXNSMEZCWVN4SlFVRlNNMElzU1VGRFZqSkNMRWRCUVVzc1NVRkJUWGRKTEVkQlFVOHNUVUZEZWtKdVNDeExRVUZMTWtJc1JVRkJVMmhFTEVkQlFVMHpRaXhGUVVGUmJVc3NSVUZCVHl4SlFVZHlReXhQUVVGUGVFWXNSVUZCVTNKRUxFZEJSMnhDTVVNc1QwRkJUMUVzVlVGQlZXMU5MRmRCUVdFc1UwRkJjVUoyVEN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUzJoRkxFOUJTa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRabTFHTEVkQlFWVktMRk5CUVZNeFJ5eExRVUZOYUVRc1JVRkJUekpGTEVWQlFWRXNSVUZCUnl4SlFVRk5MRWRCUTNSRU0wSXNTMEZCU3pKQ0xFZEJRVzFDTEVsQlFWSXpSU3hGUVVOVU1rVXNSVUZCVXl4SFFVZHNRaTlHTEU5QlFVOVJMRlZCUVZWdlRTeGpRVUZuUWl4VFFVRjNRbmhNTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZOZEVVc1QwRk1RVGxLTEVkQlFWTkJMRVZCUTFReVJTeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVb3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEUxQlFWRXNSMEZEZUVRelFpeExRVUZMTWtJc1IwRkJiVUlzU1VGQlVqTkZMRVZCUTJoQ1owUXNTMEZCU3pKQ0xFVkJRVk1zUjBGQlRUTkZMRWxCUVZVc1JVRkRka0l5UlN4RlFVRlRMRWRCUjJ4Q0wwWXNUMEZCVDFFc1ZVRkJWWEZOTEdOQlFXZENMRk5CUVhkQ2Vrd3NSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMTBSU3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NUVUZCVVN4SFFVTjRSRE5DTEV0QlFVc3lRaXhIUVVGWE0wVXNTVUZCVlN4RlFVTXhRbWRFTEV0QlFVc3lRaXhGUVVGVExFZEJRV01zU1VGQlVqTkZMRVZCUTJJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhOTkxHTkJRV2RDTEZOQlFYZENNVXdzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVkYwUlN4UFFWQkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzVjBGQldTeEhRVU0xUkROQ0xFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVkQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZET1VKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGTk0wVXNTVUZCVlN4RlFVTTVRbWRFTEV0QlFVc3lRaXhIUVVGdFFpeEpRVUZTTTBVc1JVRkRWREpGTEVWQlFWTXNSMEZIYkVJdlJpeFBRVUZQVVN4VlFVRlZkVTBzWTBGQlowSXNVMEZCZDBJelRDeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlVYUkZMRTlCVUVFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eFhRVUZaTEVkQlF6VkVNMElzUzBGQlN6SkNMRWRCUVZjelJTeEpRVUZWTEVkQlF6RkNaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZET1VKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGTk0wVXNTVUZCVlN4RlFVTTVRbWRFTEV0QlFVc3lRaXhGUVVGVExFZEJRV01zU1VGQlVqTkZMRVZCUTJJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhkTkxGZEJRV0VzVTBGQmNVSTFUQ3hGUVVGUE1rVXNSVUZCVVhKRUxFVkJRVmwzU1N4SFFVYzFSU3hIUVVaQk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRWRCUTJadFJpeEZRVUZWTEVOQlEySXNTVUZCU1N0Q0xFVkJRVkZzUnl4TFFVRkxLMFVzU1VGQlNTeEZRVUZKTEVWQlFVbHdTaXhGUVVGakxFZEJSVE5EYjBrc1UwRkJVekZITEV0QlFVMW9SQ3hGUVVGUE1rVXNSVUZCVVhKRUxFVkJRVmwxU3l4RlFVRlJMRWRCUVVsQkxFZEJSM2hFTEVsQlFVbHNTeXhGUVVGSkxFVkJRMHAzU1N4RlFVRk5MRVZCUTA0eVFpeEZRVUZOTEVWQlJWWXNTVUZFUVRsSkxFdEJRVXN5UWl4SFFVRnJRaXhKUVVGU00wVXNTVUZEVGpKQ0xFVkJRVWxNTEVsQlFXVTJTU3hIUVVGUExFMUJRemRDYmtzc1JVRkJVU3hIUVVGaExFbEJRVkk0VEN4SFFVRnpReXhKUVVGNlFqbEpMRXRCUVVzeVFpeEZRVUZUYUVRc1JVRkJTU3hMUVVNNVEyMUxMRVZCUVUwc1IwRkZVamxKTEV0QlFVc3lRaXhGUVVGVGFFUXNTVUZCVHpOQ0xFVkJRVkZ0U3l4SFFVRlJMRWRCUVVzeVFpeEZRVUZOTEVsQlIyeEVMRTlCUVU5dVNDeEZRVUZUY2tRc1IwRkhiRUl4UXl4UFFVRlBVU3hWUVVGVk1rMHNWMEZCWVN4VFFVRnhRaTlNTEVWQlFVOHlSU3hGUVVGUmNrUXNSVUZCV1hkSkxFZEJSelZGTEVkQlJrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUjBGRFptMUdMRVZCUVZVc1EwRkRZaXhKUVVGSkswSXNSVUZCVVd4SExFdEJRVXNyUlN4SlFVRkpMRVZCUVVrc1JVRkJTWEJLTEVWQlFXTXNSMEZGTTBOdlNTeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUmNrUXNSVUZCV1hWTExFVkJRVkVzUjBGQlNVRXNSMEZIZUVRc1NVRkJTV3hMTEVWQlFVbE1MRVZCUVdFc1JVRkRha0kyU1N4RlFVRk5MRVZCUTA0eVFpeEZRVUZOTEVWQlJWWXNTVUZFUVRsSkxFdEJRVXN5UWl4RlFVRlRhRVFzUjBGQllTeEpRVUZTTTBJc1NVRkRWakpDTEVkQlFVc3NTVUZCVFhkSkxFZEJRVThzVFVGRGNrSnVTeXhGUVVGUkxFZEJRV0VzU1VGQlVqaE1MRWRCUVhORExFbEJRWHBDT1Vrc1MwRkJTekpDTEVWQlFWTm9SQ3hGUVVGSkxFdEJRemxEYlVzc1JVRkJUU3hIUVVWU09Va3NTMEZCU3pKQ0xFVkJRVk5vUkN4SlFVRlBNMElzUlVGQlVXMUxMRWRCUVZFc1IwRkJTekpDTEVWQlFVMHNTVUZIYkVRc1QwRkJUMjVJTEVWQlFWTnlSQ3hIUVVkc1FqRkRMRTlCUVU5UkxGVkJRVlUwVFN4VlFVRlpMRk5CUVc5Q2FFMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMDVSQ3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NTMEZCVHl4TFFVTnVSRE5GTEVWQlFWRXNTVUZCUjBFc1JVRkJVU3hKUVVGUFFTeEZRVUZSTEVkQlEzUkRaMFFzUzBGQlN6SkNMRWRCUVcxQ0xFbEJRVkl6UlN4RlFVTlVNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVTJUU3hoUVVGbExGTkJRWFZDYWswc1JVRkJUekpGTEVWQlFWRnRSaXhIUVUxd1JTeFBRVXhCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1QwRkJVeXhQUVVONlJETkNMRXRCUVVzeVFpeEhRVUZ0UWl4SlFVRlNNMFVzUlVGRGFFSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU4yUWpKRkxFVkJRVk1zUjBGSGJFSXZSaXhQUVVGUFVTeFZRVUZWT0Uwc1lVRkJaU3hUUVVGMVFteE5MRVZCUVU4eVJTeEZRVUZSYlVZc1IwRk5jRVVzVDBGTVFUbEtMRWRCUVZOQkxFVkJRMVF5UlN4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlVvc1UwRkJVekZITEV0QlFVMW9SQ3hGUVVGUE1rVXNSVUZCVVN4RlFVRkhMRTlCUVZNc1QwRkRla1F6UWl4TFFVRkxNa0lzUjBGQlZ6TkZMRWxCUVZVc1JVRkRNVUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZqTEVsQlFWSXpSU3hGUVVOaU1rVXNSVUZCVXl4SFFVZHNRaTlHTEU5QlFVOVJMRlZCUVZVclRTeGhRVUZsTEZOQlFYVkNiazBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVkZ3UlN4UFFWQkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzV1VGQllTeFpRVU0zUkROQ0xFdEJRVXN5UWl4SFFVRnRRaXhKUVVGU00wVXNSVUZEYUVKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGTk0wVXNTVUZCVlN4RlFVTTVRbWRFTEV0QlFVc3lRaXhGUVVGVExFZEJRVTB6UlN4SlFVRlZMRWRCUXpsQ1owUXNTMEZCU3pKQ0xFVkJRVk1zUjBGQlRUTkZMRWxCUVZVc1IwRkRka0l5UlN4RlFVRlRMRWRCUjJ4Q0wwWXNUMEZCVDFFc1ZVRkJWV2RPTEdGQlFXVXNVMEZCZFVKd1RTeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlUzQkZMRTlCVWtFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eFpRVUZoTEZsQlEzcEVNMFVzUlVGQlVTeEpRVUZIUVN4RlFVRlJMRmRCUVdGQkxFVkJRVkVzUjBGRE5VTm5SQ3hMUVVGTE1rSXNSMEZCVnpORkxFbEJRVlVzUjBGRE1VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEhRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVWQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJZeXhKUVVGU00wVXNSVUZEWWpKRkxFVkJRVk1zUjBGclFteENMMFlzVDBGQlQxRXNWVUZCVldsT0xHRkJRV1VzVTBGQmRVSnlUU3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJRM0JGTEU5QlFVOUdMRmRCUVZjMVJ5eExRVUZOYUVRc1JVRkJUekpGTEVkQlFWRXNSVUZCVFcxR0xFbEJSeTlEYkV3c1QwRkJUMUVzVlVGQlZXdE9MR0ZCUVdVc1UwRkJkVUowVFN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUTNCRkxFOUJRVTlHTEZkQlFWYzFSeXhMUVVGTmFFUXNSVUZCVHpKRkxFZEJRVkVzUlVGQlQyMUdMRWxCWVdoRWJFd3NUMEZCVDFFc1ZVRkJWVzFPTEdOQlFXZENMRk5CUVhkQ2RrMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVTjBSU3hQUVVGUFF5eFpRVUZaTDBjc1MwRkJUV2hFTEVWQlFVOHlSU3hIUVVGUkxFVkJRVTF0Uml4SlFVZG9SR3hNTEU5QlFVOVJMRlZCUVZWdlRpeGpRVUZuUWl4VFFVRjNRbmhOTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZEZEVVc1QwRkJUME1zV1VGQldTOUhMRXRCUVUxb1JDeEZRVUZQTWtVc1IwRkJVU3hGUVVGUGJVWXNTVUZKYWtSc1RDeFBRVUZQVVN4VlFVRlZORU1zUzBGQlR5eFRRVUZsZFVjc1JVRkJVV3RGTEVWQlFXRXpTaXhGUVVGUFF5eEhRVU5xUlN4SlFVRkxia1VzVDBGQlQydEVMRk5CUVZONVJ5eEhRVUZUTEUxQlFVMHNTVUZCU1RGSkxGVkJRVlVzSzBKQlVXeEVMRWRCVUV0cFJDeEpRVUZQUVN4RlFVRlJMRWRCUTJaRExFZEJRV1VzU1VGQlVrRXNTVUZCVjBFc1JVRkJUVU1zUzBGQlMzaEVMRkZCUXpsQ2FVNHNSMEZCWld4RkxFVkJRVTh2U1N4VFFVRlJhVTRzUlVGQlkyeEZMRVZCUVU4dlNTeFJRVU5zUkdsT0xFbEJRV0ZCTEVWQlFXTXNSMEZETlVJeFNpeEZRVUZOTEVkQlFVdEJMRVZCUVUxRUxFbEJRVTlETEVWQlFVMUVMRWRCUnpsQ1F5eEpRVUZSUkN4RlFVRlBMRTlCUVU4c1JVRkRNVUlzUjBGQmMwSXNTVUZCYkVKNVJpeEZRVUZQTDBrc1VVRkJaME1zU1VGQmFFSjNSQ3hMUVVGTGVFUXNUMEZCWXl4UFFVRlBMRVZCUjNKRUxFZEJRVWxwVGl4RlFVRmpMRVZCUTJoQ0xFMUJRVTBzU1VGQlNXaE9MRmRCUVZjc05rSkJSWFpDTEVkQlFVbHhSQ3hGUVVGUkxFZEJRVXRCTEVkQlFWTkZMRXRCUVV0NFJDeFBRVUZSTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXh6UWtGRE5VUXNSMEZCU1hORUxFVkJRVTBzUlVGQlJ5eE5RVUZOTEVsQlFVbDBSQ3hYUVVGWExESkNRVWM1UW5ORUxFVkJRVTFETEV0QlFVdDRSQ3hUUVVGUmRVUXNSVUZCVFVNc1MwRkJTM2hFTEZGQlF6bENLMGtzUlVGQlR5OUpMRTlCUVZOcFRpeEZRVUZqTVVvc1JVRkJUVVFzU1VGRGRFTkRMRVZCUVUxM1JpeEZRVUZQTDBrc1QwRkJVMmxPTEVWQlFXTXpTaXhIUVVkMFF5eEpRVUZKWml4RlFVRk5aMElzUlVGQlRVUXNSVUZGYUVJc1IwRkJTVVVzVDBGQlUzVkdMRWRCUVhGRUxHMUNRVUZ3UTNKS0xGZEJRVmRGTEZWQlFWVnpUaXhYUVVWcVJERktMRXRCUVVzd1NpeFhRVUZYUkN4RlFVRmhNMG9zUlVGQlQwTXNVVUZETDBJc1IwRkJTVU1zVDBGQlUzVkdMRWRCUVZWNlJpeEZRVUZSTWtvc1IwRkJaVUVzUlVGQll6RktMRVZCUldwRkxFbEJRVXNzU1VGQlNYQkNMRVZCUVVsSkxFVkJRVTBzUlVGQlIwb3NSMEZCU3l4SlFVRkxRU3hGUVVNNVFqUkhMRVZCUVU4MVJ5eEZRVUZKT0Vzc1IwRkJaWHBLTEV0QlFVdHlRaXhGUVVGSmJVSXNVVUZIY2tNMVJDeFhRVUZYUlN4VlFVRlZkVTRzU1VGQlNUVkpMRXRCUTNaQ2QwVXNSVUZEUVhaR0xFdEJRVXRwU0N4VFFVRlRia2dzUlVGQlQwTXNSMEZEY2tJd1NpeEhRVWxLTEU5QlFVOHhTeXhIUVU5VWJrUXNUMEZCVDFFc1ZVRkJWVFJDTEV0QlFVOHNVMEZCWlRKRExFVkJRVXRpTEVWQlFVOURMRVZCUVVzNVFpeEhRVVYwUkN4SFFVRnRRaXhwUWtGQlVqQkRMRVZCUVd0Q0xFTkJVek5DTEVkQlVuRkNMR2xDUVVGV1lpeEhRVU5VTjBJc1JVRkJWelpDTEVWQlExaEJMRVZCUVZFc1JVRkRVa01zUlVGQlRVTXNTMEZCUzNoRUxGRkJRMkVzYVVKQlFWSjFSQ3hKUVVOb1FqbENMRVZCUVZjNFFpeEZRVU5ZUVN4RlFVRk5ReXhMUVVGTGVFUXNZVUZGU1RCQ0xFbEJRV0pFTEVkQlFUaERMR2xDUVVGaVFTeEZRVU51UXl4TlFVRk5MRWxCUVVsd1FpeFZRVUZWTERaQ1FVVjBRaXhIUVVGM1FpeHBRa0ZCWW05Q0xFbEJRVEJDY2tNc1QwRkJUM2xETEZkQlFWZEtMRWRCUTNKRUxFMUJRVTBzU1VGQlNYQkNMRlZCUVZVc2NVSkJRWFZDYjBJc1IwRkZOME1zUjBGQmJVSXNTVUZCWmpCRExFVkJRVWx1UlN4UFFVRmpMRU5CUTNCQ0xFbEJRVWx2VGl4RlFVRlBha29zUlVGQlNXdEtMRmRCUVZjc1NVRkRVaXhUUVVGaU5Vd3NSMEZCZFVJeVRDeEZRVUZQTEV0QlEyeENMRmRCUVdJelRDeExRVVZHTUVNc1JVRkJUV2xLTEZGQlIyTXNhVUpCUVZKcVNpeEpRVU5vUWtFc1IwRkJXU3hMUVVsa0xFZEJRVWxpTEVWQlFWRXNSMEZCUzBVc1MwRkJTM2hFTEU5QlFWTnpSQ3hIUVVGVFJTeExRVUZMZUVRc1QwRkJVM1ZFTEVWQlEzQkVMRTFCUVUwc1NVRkJTWFJFTEZkQlFWY3NjMEpCUjNaQ0xFZEJRVWx6UkN4SFFVRlBSQ3hGUVVOVUxFOUJRVTlGTEV0QlVWUXNTVUZCU1hKQ0xFVkJRMG9zUjBGT1FXMUNMRXRCUVd0Q0xFVkJRMnhDUXl4UFFVRmpOMElzU1VGQlVqWkNMRVZCUVc5Q1F5eExRVUZMZUVRc1QwRkJVM1ZFTEVsQlFWRXNSVUZGTTBOWkxFbEJRVXRCTEVWQlFVMHNSMEZIUnl4cFFrRkJVa0VzUlVGRFZDeEpRVUZMYUVNc1JVRkJTVzFDTEVWQlFVOXVRaXhGUVVGSmIwSXNTVUZCVDNCQ0xFVkJRM3BDY1VJc1MwRkJTM0pDTEVkQlFVdG5ReXhOUVVWUUxFTkJRMHdzU1VGQlNUUkdMRVZCUVZFelN5eFBRVUZQYTBRc1UwRkJVelpDTEVkQlEzaENRU3hGUVVOQkwwVXNUMEZCVDIxQ0xFdEJRVXMwUkN4RlFVRkxNVU1zUjBGRGFrSmpMRVZCUVUxM1NDeEZRVUZOTDBvc1QwRkRhRUlzUjBGQldTeEpRVUZTZFVNc1JVRkRSaXhOUVVGTkxFbEJRVWxzUXl4VlFVRlZMR05CUVdkQ09FUXNSVUZEYkVNc2NVTkJSVW9zU1VGQlMyaERMRVZCUVVrc1JVRkJSMEVzUlVGQlNXOUNMRVZCUVUxRUxFbEJRVk51UWl4RlFVTTNRbkZDTEV0QlFVdHlRaXhGUVVGSmJVSXNSMEZCVTNsSExFVkJRVTAxU0N4RlFVRkpTU3hIUVVsb1F5eFBRVUZQYVVJc1RVRk5WQ3hKUVVGSk9Fb3NhMEpCUVc5Q0xHOUNRVVY0UWl4VFFVRlRReXhaUVVGaE5VVXNSMEZOY0VJc1NVRkdRVUVzUjBGR1FVRXNSVUZCVFVFc1JVRkJTVFpGTEUxQlFVMHNTMEZCU3l4SlFVVllNVVVzVDBGQlQwUXNVVUZCVVhsRkxHdENRVUZ0UWl4TFFVVndRM1JPTEU5QlFWTXNSVUZCUnl4TlFVRlBMRWRCUlROQ0xFdEJRVTh5U1N4RlFVRkpNMGtzVDBGQlV5eEhRVUZOTEVkQlEzaENNa2tzUjBGQldTeEpRVVZrTEU5QlFVOUJMRVZCUjFRc1UwRkJVMjFDTEUxQlFVODVSaXhIUVVOa0xFOUJRVWxCTEVWQlFVa3NSMEZCVnl4SlFVRk5RU3hGUVVGRmJFSXNVMEZCVXl4SlFVTTNRbXRDTEVWQlFVVnNRaXhUUVVGVExFbEJSM0JDTEZOQlFWTkpMRmxCUVdGMFFpeEZRVUZSTmt3c1IwRkZOVUlzU1VGQlNUbEhMRVZCUkVvNFJ5eEZRVUZSUVN4SFFVRlRReXhGUVVGQlFTeEZRVTFxUWl4SlFVcEJMRWxCUVVreFRpeEZRVUZUTkVJc1JVRkJUelZDTEU5QlEyaENNazRzUlVGQlowSXNTMEZEYUVJMVJDeEZRVUZSTEVkQlJVZzFTQ3hGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhKUVVGVmJVTXNSVUZCUnl4RFFVa3ZRaXhKUVVoQmQwVXNSVUZCV1M5RkxFVkJRVTk1VEN4WFFVRlhiRXdzU1VGSFpDeFBRVUZWZDBVc1JVRkJXU3hOUVVGUkxFTkJSVFZETEVsQlFVdG5TQ3hGUVVGbExFTkJSV3hDTEVkQlFVbG9TQ3hGUVVGWkxFMUJRVkVzUlVGRmFrSTRSeXhIUVVGVExFbEJRVTBzUjBGQlJ6RkVMRVZCUVUxc1JDeExRVUZMTEVsQlFVMHNTVUZCVFN4TFFVTTVReXhUUVVOTExFZEJRVWt4UlN4RlFVRkpMRWxCUVUxdVF5eEZRVUZSTEVWQlJYUkNlVTRzUjBGQlV5eEpRVUZOTEVkQlFVY3hSQ3hGUVVGTmJFUXNTMEZCU3l4SlFVRk5MRWxCUVUwc1MwRkRPVU1zVTBGSlJqaEhMRVZCUVdkQ2FFZ3NSVUZGYUVJc1UwRkpSaXhIUVVGSlFTeEZRVUZaTEUxQlFWRXNSVUZEYWtJNFJ5eEhRVUZUTEVsQlFVMHNSMEZCUnpGRUxFVkJRVTFzUkN4TFFVRkxMRWxCUVUwc1NVRkJUU3hMUVVNNVF6aEhMRVZCUVdkQ2FFZ3NSVUZEYUVJc1UwRkpSa0VzUlVGQmEwVXNUMEZCY2tSblNDeEZRVUZuUWl4UFFVRlZMRWRCUVV0b1NDeEZRVUZaTEZsQlF5OURaMGdzU1VGRlNrWXNSMEZCVXl4SlFVRk5MRWRCUVVjeFJDeEZRVUZOYkVRc1MwRkJTeXhKUVVGTkxFbEJRVTBzUzBGTmFFUXNSMEZJUVRoSExFVkJRV2RDTEV0QlIxcG9TQ3hGUVVGWkxFbEJRVTBzUTBGRGNFSXNTVUZCU3poSExFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUVV0R0xGRkJRMDRzUjBGQlNVRXNSVUZCV1N4TFFVRlBMRU5CUXpWQ0xFbEJRVXM0Unl4SFFVRlRMRWRCUVVzc1JVRkJSeXhOUVVOMFFqRkVMRVZCUVUxc1JDeExRVU5LUml4SFFVRmhMRVZCUVUwc1NVRkRVQ3hIUVVGYVFTeEZRVUZ0UWl4VlFVVm9RaXhIUVVGSlFTeEZRVUZaTEUxQlFWTXNRMEZET1VJc1NVRkJTemhITEVkQlFWTXNSMEZCU3l4RlFVRkhMRTFCUTNSQ01VUXNSVUZCVFd4RUxFdEJRMHBHTEVkQlFXRXNSMEZCVFN4SlFVTnVRa0VzUjBGQllTeEZRVUZOTEVkQlFVOHNTVUZEWkN4SFFVRmFRU3hGUVVGdFFpeFRRVVZvUWl4RFFVRkJMRXRCUVVsQkxFVkJRVmtzVTBGVGNrSXNUVUZCVFN4SlFVRkpNa01zVFVGQlRTeHpRa0ZTYUVJc1NVRkJTMjFGTEVkQlFWTXNSMEZCU3l4RlFVRkhMRTFCUTNSQ01VUXNSVUZCVFd4RUxFdEJRMHBHTEVkQlFXRXNSMEZCVHl4SlFVTndRa0VzUjBGQllTeEhRVUZOTEVkQlFVOHNTVUZETVVKQkxFZEJRV0VzUlVGQlRTeEhRVUZQTEVsQlEyUXNSMEZCV2tFc1JVRkJiVUlzVFVGUGVrSXNUMEZCVDI5RUxFVkJSMVFzVTBGQlUyeEZMR0ZCUVdNNFF5eEhRVVZ5UWl4SlFVUkJMRWxCUVVscFJpeEZRVUZaTEVkQlExQjZUQ3hGUVVGSkxFVkJRVWRCTEVWQlFVbDNSeXhGUVVGSk0wa3NVMEZCVlcxRExFVkJSV2hEZVV3c1JVRkJWUzlITEV0QlFYbENMRWxCUVhCQ09FSXNSVUZCU1RCRkxGZEJRVmRzVEN4SlFVVm9ReXhQUVVGUGVVd3NSVUZIVkN4VFFVRlRNMGdzWlVGQlowSXdReXhGUVVGTE9FVXNSMEZITlVJc1NVRkdRU3hKUVVGSlNTeEZRVUZIUXl4RlFVRkpReXhGUVVOUVNDeEZRVUZaTEVkQlExQjZUQ3hGUVVGSkxFVkJRVWRCTEVWQlFVbDNSeXhGUVVGSk0wa3NWMEZEYWtKNVRpeEhRVUZUTEVkQlFVc3NTMEZFWVhSTUxFVkJTV2hETWt3c1IwRkVRVVFzUlVGQlNXeEdMRVZCUVVrd1JTeFhRVUZYYkV3c1MwRkRWQ3hGUVVOV05Fd3NSVUZCUzBZc1JVRkJTU3hKUVVOVVJDeEZRVUZWTDBjc1MwRkJTMnRJTEVkQlEyWklMRVZCUVZVdlJ5eExRVUZMYVVnc1IwRkhha0lzVDBGQlQwWXNSVUZIVkN4VFFVRlRla3NzWTBGQlpYZEdMRWRCUTNSQ0xFOUJRVTh6U2l4UFFVRlBaMUFzV1VGQldWUXNXVUZCV1RWRkxFbEJSM2hETEZOQlFWTm9SQ3hYUVVGWmMwa3NSVUZCUzBNc1JVRkJTeTlKTEVWQlFWRnVSaXhIUVVOeVF5eEpRVUZMTEVsQlFVbHRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhMUVVOaWJVTXNSVUZCU1dkRUxFZEJRVlVyU1N4RlFVRkpiRThzVVVGQldXMURMRWRCUVVzNFRDeEZRVUZKYWs4c1ZVRkVhRUp0UXl4RlFVVTFRaXRNTEVWQlFVa3ZUQ3hGUVVGSlowUXNSMEZCVlRoSkxFVkJRVWs1VEN4SFFVVjRRaXhQUVVGUFFTeEZRVTFVTEZOQlFWTjBRaXhYUVVGWmQwSXNSVUZCUzBzc1IwRkRlRUlzVDBGQlQwd3NZVUZCWlVzc1IwRkRXaXhOUVVGUVRDeEhRVUZyUXl4TlFVRnVRa0VzUlVGQlNUaE1MR0ZCUVN0RExFMUJRWGhDT1V3c1JVRkJTVGhNTEZsQlFWbERMRTFCUTNwRUwwd3NSVUZCU1RoTUxGbEJRVmxETEU5QlFWTXhUQ3hGUVVGTE1Fd3NTMEZGY0VNc1UwRkJVek5NTEZsQlFXRktMRWRCUlhCQ0xFOUJRVTlCTEVkQlFWRkJJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdlluVm1abVZ5TDJsdVpHVjRMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBSZWZsZWN0T3duS2V5cyxSPVwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0P1JlZmxlY3Q6bnVsbCxSZWZsZWN0QXBwbHk9UiYmXCJmdW5jdGlvblwiPT10eXBlb2YgUi5hcHBseT9SLmFwcGx5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoZSx0LG4pfTtmdW5jdGlvbiBQcm9jZXNzRW1pdFdhcm5pbmcoZSl7Y29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oZSl9UmVmbGVjdE93bktleXM9UiYmXCJmdW5jdGlvblwiPT10eXBlb2YgUi5vd25LZXlzP1Iub3duS2V5czpPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2Z1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKSl9OmZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKX07dmFyIE51bWJlcklzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9O2Z1bmN0aW9uIEV2ZW50RW1pdHRlcigpe0V2ZW50RW1pdHRlci5pbml0LmNhbGwodGhpcyl9bW9kdWxlLmV4cG9ydHM9RXZlbnRFbWl0dGVyLG1vZHVsZS5leHBvcnRzLm9uY2U9b25jZSxFdmVudEVtaXR0ZXIuRXZlbnRFbWl0dGVyPUV2ZW50RW1pdHRlcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50c0NvdW50PTAsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMDt2YXIgZGVmYXVsdE1heExpc3RlbmVycz0xMDtmdW5jdGlvbiBjaGVja0xpc3RlbmVyKGUpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSl9ZnVuY3Rpb24gX2dldE1heExpc3RlbmVycyhlKXtyZXR1cm4gdm9pZCAwPT09ZS5fbWF4TGlzdGVuZXJzP0V2ZW50RW1pdHRlci5kZWZhdWx0TWF4TGlzdGVuZXJzOmUuX21heExpc3RlbmVyc31mdW5jdGlvbiBfYWRkTGlzdGVuZXIoZSx0LG4scil7dmFyIGksbyxzO2lmKGNoZWNrTGlzdGVuZXIobiksdm9pZCAwPT09KG89ZS5fZXZlbnRzKT8obz1lLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLl9ldmVudHNDb3VudD0wKToodm9pZCAwIT09by5uZXdMaXN0ZW5lciYmKGUuZW1pdChcIm5ld0xpc3RlbmVyXCIsdCxuLmxpc3RlbmVyP24ubGlzdGVuZXI6biksbz1lLl9ldmVudHMpLHM9b1t0XSksdm9pZCAwPT09cylzPW9bdF09biwrK2UuX2V2ZW50c0NvdW50O2Vsc2UgaWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygcz9zPW9bdF09cj9bbixzXTpbcyxuXTpyP3MudW5zaGlmdChuKTpzLnB1c2gobiksKGk9X2dldE1heExpc3RlbmVycyhlKSk+MCYmcy5sZW5ndGg+aSYmIXMud2FybmVkKXtzLndhcm5lZD0hMDt2YXIgdT1uZXcgRXJyb3IoXCJQb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuIFwiK3MubGVuZ3RoK1wiIFwiK1N0cmluZyh0KStcIiBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0XCIpO3UubmFtZT1cIk1heExpc3RlbmVyc0V4Y2VlZGVkV2FybmluZ1wiLHUuZW1pdHRlcj1lLHUudHlwZT10LHUuY291bnQ9cy5sZW5ndGgsUHJvY2Vzc0VtaXRXYXJuaW5nKHUpfXJldHVybiBlfWZ1bmN0aW9uIG9uY2VXcmFwcGVyKCl7aWYoIXRoaXMuZmlyZWQpcmV0dXJuIHRoaXMudGFyZ2V0LnJlbW92ZUxpc3RlbmVyKHRoaXMudHlwZSx0aGlzLndyYXBGbiksdGhpcy5maXJlZD0hMCwwPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLmxpc3RlbmVyLmNhbGwodGhpcy50YXJnZXQpOnRoaXMubGlzdGVuZXIuYXBwbHkodGhpcy50YXJnZXQsYXJndW1lbnRzKX1mdW5jdGlvbiBfb25jZVdyYXAoZSx0LG4pe3ZhciByPXtmaXJlZDohMSx3cmFwRm46dm9pZCAwLHRhcmdldDplLHR5cGU6dCxsaXN0ZW5lcjpufSxpPW9uY2VXcmFwcGVyLmJpbmQocik7cmV0dXJuIGkubGlzdGVuZXI9bixyLndyYXBGbj1pLGl9ZnVuY3Rpb24gX2xpc3RlbmVycyhlLHQsbil7dmFyIHI9ZS5fZXZlbnRzO2lmKHZvaWQgMD09PXIpcmV0dXJuW107dmFyIGk9clt0XTtyZXR1cm4gdm9pZCAwPT09aT9bXTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBpP24/W2kubGlzdGVuZXJ8fGldOltpXTpuP3Vud3JhcExpc3RlbmVycyhpKTphcnJheUNsb25lKGksaS5sZW5ndGgpfWZ1bmN0aW9uIGxpc3RlbmVyQ291bnQoZSl7dmFyIHQ9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PXQpe3ZhciBuPXRbZV07aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgbilyZXR1cm4gMTtpZih2b2lkIDAhPT1uKXJldHVybiBuLmxlbmd0aH1yZXR1cm4gMH1mdW5jdGlvbiBhcnJheUNsb25lKGUsdCl7Zm9yKHZhciBuPW5ldyBBcnJheSh0KSxyPTA7cjx0OysrciluW3JdPWVbcl07cmV0dXJuIG59ZnVuY3Rpb24gc3BsaWNlT25lKGUsdCl7Zm9yKDt0KzE8ZS5sZW5ndGg7dCsrKWVbdF09ZVt0KzFdO2UucG9wKCl9ZnVuY3Rpb24gdW53cmFwTGlzdGVuZXJzKGUpe2Zvcih2YXIgdD1uZXcgQXJyYXkoZS5sZW5ndGgpLG49MDtuPHQubGVuZ3RoOysrbil0W25dPWVbbl0ubGlzdGVuZXJ8fGVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gb25jZShlLHQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Z1bmN0aW9uIGkobil7ZS5yZW1vdmVMaXN0ZW5lcih0LG8pLHIobil9ZnVuY3Rpb24gbygpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGUucmVtb3ZlTGlzdGVuZXImJmUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLGkpLG4oW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKX1ldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZSx0LG8se29uY2U6ITB9KSxcImVycm9yXCIhPT10JiZhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlLGkse29uY2U6ITB9KX0pfWZ1bmN0aW9uIGFkZEVycm9ySGFuZGxlcklmRXZlbnRFbWl0dGVyKGUsdCxuKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLm9uJiZldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZSxcImVycm9yXCIsdCxuKX1mdW5jdGlvbiBldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZSx0LG4scil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbilyLm9uY2U/ZS5vbmNlKHQsbik6ZS5vbih0LG4pO2Vsc2V7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZS5hZGRFdmVudExpc3RlbmVyKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImVtaXR0ZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRXZlbnRFbWl0dGVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO2UuYWRkRXZlbnRMaXN0ZW5lcih0LGZ1bmN0aW9uIGkobyl7ci5vbmNlJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxpKSxuKG8pfSl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFdmVudEVtaXR0ZXIsXCJkZWZhdWx0TWF4TGlzdGVuZXJzXCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGRlZmF1bHRNYXhMaXN0ZW5lcnN9LHNldDpmdW5jdGlvbihlKXtpZihcIm51bWJlclwiIT10eXBlb2YgZXx8ZTwwfHxOdW1iZXJJc05hTihlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mIFwiZGVmYXVsdE1heExpc3RlbmVyc1wiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcrZStcIi5cIik7ZGVmYXVsdE1heExpc3RlbmVycz1lfX0pLEV2ZW50RW1pdHRlci5pbml0PWZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHMhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2V2ZW50c3x8KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApLHRoaXMuX21heExpc3RlbmVycz10aGlzLl9tYXhMaXN0ZW5lcnN8fHZvaWQgMH0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5zZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGV8fGU8MHx8TnVtYmVySXNOYU4oZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcIm5cIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrXCIuXCIpO3JldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM9ZSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmdldE1heExpc3RlbmVycz1mdW5jdGlvbigpe3JldHVybiBfZ2V0TWF4TGlzdGVuZXJzKHRoaXMpfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQucHVzaChhcmd1bWVudHNbbl0pO3ZhciByPVwiZXJyb3JcIj09PWUsaT10aGlzLl9ldmVudHM7aWYodm9pZCAwIT09aSlyPXImJnZvaWQgMD09PWkuZXJyb3I7ZWxzZSBpZighcilyZXR1cm4hMTtpZihyKXt2YXIgbztpZih0Lmxlbmd0aD4wJiYobz10WzBdKSxvIGluc3RhbmNlb2YgRXJyb3IpdGhyb3cgbzt2YXIgcz1uZXcgRXJyb3IoXCJVbmhhbmRsZWQgZXJyb3IuXCIrKG8/XCIgKFwiK28ubWVzc2FnZStcIilcIjpcIlwiKSk7dGhyb3cgcy5jb250ZXh0PW8sc312YXIgdT1pW2VdO2lmKHZvaWQgMD09PXUpcmV0dXJuITE7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdSlSZWZsZWN0QXBwbHkodSx0aGlzLHQpO2Vsc2V7dmFyIGY9dS5sZW5ndGgsdj1hcnJheUNsb25lKHUsZik7Zm9yKG49MDtuPGY7KytuKVJlZmxlY3RBcHBseSh2W25dLHRoaXMsdCl9cmV0dXJuITB9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gX2FkZExpc3RlbmVyKHRoaXMsZSx0LCExKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbj1FdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyLEV2ZW50RW1pdHRlci5wcm90b3R5cGUucHJlcGVuZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLGUsdCwhMCl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQpe3JldHVybiBjaGVja0xpc3RlbmVyKHQpLHRoaXMub24oZSxfb25jZVdyYXAodGhpcyxlLHQpKSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY2hlY2tMaXN0ZW5lcih0KSx0aGlzLnByZXBlbmRMaXN0ZW5lcihlLF9vbmNlV3JhcCh0aGlzLGUsdCkpLHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxzO2lmKGNoZWNrTGlzdGVuZXIodCksdm9pZCAwPT09KHI9dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZih2b2lkIDA9PT0obj1yW2VdKSlyZXR1cm4gdGhpcztpZihuPT09dHx8bi5saXN0ZW5lcj09PXQpMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKTooZGVsZXRlIHJbZV0sci5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KFwicmVtb3ZlTGlzdGVuZXJcIixlLG4ubGlzdGVuZXJ8fHQpKTtlbHNlIGlmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIG4pe2ZvcihpPS0xLG89bi5sZW5ndGgtMTtvPj0wO28tLSlpZihuW29dPT09dHx8bltvXS5saXN0ZW5lcj09PXQpe3M9bltvXS5saXN0ZW5lcixpPW87YnJlYWt9aWYoaTwwKXJldHVybiB0aGlzOzA9PT1pP24uc2hpZnQoKTpzcGxpY2VPbmUobixpKSwxPT09bi5sZW5ndGgmJihyW2VdPW5bMF0pLHZvaWQgMCE9PXIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsZSxzfHx0KX1yZXR1cm4gdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vZmY9RXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuLHI7aWYodm9pZCAwPT09KG49dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZih2b2lkIDA9PT1uLnJlbW92ZUxpc3RlbmVyKXJldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD8odGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCk6dm9pZCAwIT09bltlXSYmKDA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6ZGVsZXRlIG5bZV0pLHRoaXM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciBpLG89T2JqZWN0LmtleXMobik7Zm9yKHI9MDtyPG8ubGVuZ3RoOysrcilcInJlbW92ZUxpc3RlbmVyXCIhPT0oaT1vW3JdKSYmdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoaSk7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFwicmVtb3ZlTGlzdGVuZXJcIiksdGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCx0aGlzfWlmKFwiZnVuY3Rpb25cIj09dHlwZW9mKHQ9bltlXSkpdGhpcy5yZW1vdmVMaXN0ZW5lcihlLHQpO2Vsc2UgaWYodm9pZCAwIT09dClmb3Iocj10Lmxlbmd0aC0xO3I+PTA7ci0tKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0W3JdKTtyZXR1cm4gdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIF9saXN0ZW5lcnModGhpcyxlLCEwKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIF9saXN0ZW5lcnModGhpcyxlLCExKX0sRXZlbnRFbWl0dGVyLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmxpc3RlbmVyQ291bnQ/ZS5saXN0ZW5lckNvdW50KHQpOmxpc3RlbmVyQ291bnQuY2FsbChlLHQpfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9bGlzdGVuZXJDb3VudCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9SZWZsZWN0T3duS2V5cyh0aGlzLl9ldmVudHMpOltdfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVjJaVzUwY3k1cWN5SmRMQ0p1WVcxbGN5STZXeUpTWldac1pXTjBUM2R1UzJWNWN5SXNJbElpTENKU1pXWnNaV04wSWl3aVVtVm1iR1ZqZEVGd2NHeDVJaXdpWVhCd2JIa2lMQ0owWVhKblpYUWlMQ0p5WldObGFYWmxjaUlzSW1GeVozTWlMQ0pHZFc1amRHbHZiaUlzSW5CeWIzUnZkSGx3WlNJc0ltTmhiR3dpTENKUWNtOWpaWE56UlcxcGRGZGhjbTVwYm1jaUxDSjNZWEp1YVc1bklpd2lZMjl1YzI5c1pTSXNJbmRoY200aUxDSnZkMjVMWlhseklpd2lUMkpxWldOMElpd2laMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6SWl3aVoyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN5SXNJbU52Ym1OaGRDSXNJazUxYldKbGNrbHpUbUZPSWl3aVRuVnRZbVZ5SWl3aWFYTk9ZVTRpTENKMllXeDFaU0lzSWtWMlpXNTBSVzFwZEhSbGNpSXNJbWx1YVhRaUxDSjBhR2x6SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltOXVZMlVpTENKZlpYWmxiblJ6SWl3aWRXNWtaV1pwYm1Wa0lpd2lYMlYyWlc1MGMwTnZkVzUwSWl3aVgyMWhlRXhwYzNSbGJtVnljeUlzSW1SbFptRjFiSFJOWVhoTWFYTjBaVzVsY25NaUxDSmphR1ZqYTB4cGMzUmxibVZ5SWl3aWJHbHpkR1Z1WlhJaUxDSlVlWEJsUlhKeWIzSWlMQ0pmWjJWMFRXRjRUR2x6ZEdWdVpYSnpJaXdpZEdoaGRDSXNJbDloWkdSTWFYTjBaVzVsY2lJc0luUjVjR1VpTENKd2NtVndaVzVrSWl3aWJTSXNJbVYyWlc1MGN5SXNJbVY0YVhOMGFXNW5JaXdpWTNKbFlYUmxJaXdpYm1WM1RHbHpkR1Z1WlhJaUxDSmxiV2wwSWl3aWRXNXphR2xtZENJc0luQjFjMmdpTENKc1pXNW5kR2dpTENKM1lYSnVaV1FpTENKM0lpd2lSWEp5YjNJaUxDSlRkSEpwYm1jaUxDSnVZVzFsSWl3aVpXMXBkSFJsY2lJc0ltTnZkVzUwSWl3aWIyNWpaVmR5WVhCd1pYSWlMQ0ptYVhKbFpDSXNJbkpsYlc5MlpVeHBjM1JsYm1WeUlpd2lkM0poY0VadUlpd2lZWEpuZFcxbGJuUnpJaXdpWDI5dVkyVlhjbUZ3SWl3aWMzUmhkR1VpTENKM2NtRndjR1ZrSWl3aVltbHVaQ0lzSWw5c2FYTjBaVzVsY25NaUxDSjFibmR5WVhBaUxDSmxkbXhwYzNSbGJtVnlJaXdpZFc1M2NtRndUR2x6ZEdWdVpYSnpJaXdpWVhKeVlYbERiRzl1WlNJc0lteHBjM1JsYm1WeVEyOTFiblFpTENKaGNuSWlMQ0p1SWl3aVkyOXdlU0lzSWtGeWNtRjVJaXdpYVNJc0luTndiR2xqWlU5dVpTSXNJbXhwYzNRaUxDSnBibVJsZUNJc0luQnZjQ0lzSW5KbGRDSXNJbEJ5YjIxcGMyVWlMQ0p5WlhOdmJIWmxJaXdpY21WcVpXTjBJaXdpWlhKeWIzSk1hWE4wWlc1bGNpSXNJbVZ5Y2lJc0luSmxjMjlzZG1WeUlpd2ljMnhwWTJVaUxDSmxkbVZ1ZEZSaGNtZGxkRUZuYm05emRHbGpRV1JrVEdsemRHVnVaWElpTENKaFpHUkZjbkp2Y2toaGJtUnNaWEpKWmtWMlpXNTBSVzFwZEhSbGNpSXNJbWhoYm1Sc1pYSWlMQ0ptYkdGbmN5SXNJbTl1SWl3aVlXUmtSWFpsYm5STWFYTjBaVzVsY2lJc0luZHlZWEJNYVhOMFpXNWxjaUlzSW1GeVp5SXNJbkpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1WdWRXMWxjbUZpYkdVaUxDSm5aWFFpTENKelpYUWlMQ0pTWVc1blpVVnljbTl5SWl3aVoyVjBVSEp2ZEc5MGVYQmxUMllpTENKelpYUk5ZWGhNYVhOMFpXNWxjbk1pTENKblpYUk5ZWGhNYVhOMFpXNWxjbk1pTENKa2IwVnljbTl5SWl3aVpYSnliM0lpTENKbGNpSXNJbTFsYzNOaFoyVWlMQ0pqYjI1MFpYaDBJaXdpYkdWdUlpd2liR2x6ZEdWdVpYSnpJaXdpWVdSa1RHbHpkR1Z1WlhJaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSndjbVZ3Wlc1a1QyNWpaVXhwYzNSbGJtVnlJaXdpY0c5emFYUnBiMjRpTENKdmNtbG5hVzVoYkV4cGMzUmxibVZ5SWl3aWMyaHBablFpTENKdlptWWlMQ0p5WlcxdmRtVkJiR3hNYVhOMFpXNWxjbk1pTENKclpYa2lMQ0pyWlhseklpd2ljbUYzVEdsemRHVnVaWEp6SWl3aVpYWmxiblJPWVcxbGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQmNVSkJMR0ZCUlVFc1NVRlBTVUVzWlVGUVFVTXNSVUZCZFVJc2FVSkJRVnBETEZGQlFYVkNRU3hSUVVGVkxFdEJRelZEUXl4aFFVRmxSaXhIUVVGM1FpeHRRa0ZCV2tFc1JVRkJSVWNzVFVGRE4wSklMRVZCUVVWSExFMUJRMFlzVTBGQmMwSkRMRVZCUVZGRExFVkJRVlZETEVkQlEzaERMRTlCUVU5RExGTkJRVk5ETEZWQlFWVk1MRTFCUVUxTkxFdEJRVXRNTEVWQlFWRkRMRVZCUVZWRExFbEJhVUl6UkN4VFFVRlRTU3h0UWtGQmJVSkRMRWRCUTNSQ1F5eFRRVUZYUVN4UlFVRlJReXhOUVVGTlJDeFJRVUZSUXl4TFFVRkxSaXhIUVdJeFExb3NaVUZFUlVNc1IwRkJNRUlzYlVKQlFXUkJMRVZCUVVWakxGRkJRME5rTEVWQlFVVmpMRkZCUTFaRExFOUJRVTlETEhOQ1FVTkRMRk5CUVhkQ1dpeEhRVU4yUXl4UFFVRlBWeXhQUVVGUFJTeHZRa0ZCYjBKaUxFZEJReTlDWXl4UFFVRlBTQ3hQUVVGUFF5eHpRa0ZCYzBKYUxFdEJSM2hDTEZOQlFYZENRU3hIUVVOMlF5eFBRVUZQVnl4UFFVRlBSU3h2UWtGQmIwSmlMRWxCVVhSRExFbEJRVWxsTEZsQlFXTkRMRTlCUVU5RExFOUJRVk1zVTBGQmNVSkRMRWRCUTNKRUxFOUJRVTlCTEVkQlFWVkJMRWRCUjI1Q0xGTkJRVk5ETEdWQlExQkJMR0ZCUVdGRExFdEJRVXRtTEV0QlFVdG5RaXhOUVVWNlFrTXNUMEZCVDBNc1VVRkJWVW9zWVVGRGFrSkhMRTlCUVU5RExGRkJRVkZETEV0QlFVOUJMRXRCUjNSQ1RDeGhRVUZoUVN4aFFVRmxRU3hoUVVVMVFrRXNZVUZCWVdZc1ZVRkJWWEZDTEdGQlFWVkRMRVZCUTJwRFVDeGhRVUZoWml4VlFVRlZkVUlzWVVGQlpTeEZRVU4wUTFJc1lVRkJZV1lzVlVGQlZYZENMRzFDUVVGblFrWXNSVUZKZGtNc1NVRkJTVWNzYjBKQlFYTkNMRWRCUlRGQ0xGTkJRVk5ETEdOQlFXTkRMRWRCUTNKQ0xFZEJRWGRDTEcxQ1FVRmlRU3hGUVVOVUxFMUJRVTBzU1VGQlNVTXNWVUZCVlN3d1JVRkJORVZFTEVkQmMwTndSeXhUUVVGVFJTeHBRa0ZCYVVKRExFZEJRM2hDTEZsQlFUSkNVaXhKUVVGMlFsRXNSVUZCUzA0c1kwRkRRVlFzWVVGQllWVXNiMEpCUTJaTExFVkJRVXRPTEdOQmJVUmtMRk5CUVZOUExHRkJRV0Z1UXl4RlFVRlJiME1zUlVGQlRVd3NSVUZCVlUwc1IwRkROVU1zU1VGQlNVTXNSVUZEUVVNc1JVRkRRVU1zUlVGelFrb3NSMEZ3UWtGV0xHTkJRV05ETEZGQlIwTk1MRXRCUkdaaExFVkJRVk4yUXl4RlFVRlBlVUlzVlVGRlpHTXNSVUZCVTNaRExFVkJRVTk1UWl4UlFVRlZaQ3hQUVVGUE9FSXNUMEZCVHl4TlFVTjRRM3BETEVWQlFVOHlRaXhoUVVGbExGTkJTVXRFTEVsQlFYWkNZU3hGUVVGUFJ5eGpRVU5VTVVNc1JVRkJUekpETEV0QlFVc3NZMEZCWlZBc1JVRkRaa3dzUlVGQlUwRXNVMEZCVjBFc1JVRkJVMEVzVTBGQlYwRXNSMEZKY0VSUkxFVkJRVk4yUXl4RlFVRlBlVUlzVTBGRmJFSmxMRVZCUVZkRUxFVkJRVTlJTEZOQlIwaFdMRWxCUVdKakxFVkJSVVpCTEVWQlFWZEVMRVZCUVU5SUxFZEJRVkZNTEVsQlEzaENMMElzUlVGQlR6SkNMR3RDUVdWVUxFZEJZbmRDTEcxQ1FVRmlZU3hGUVVWVVFTeEZRVUZYUkN4RlFVRlBTQ3hIUVVOb1FrTXNSVUZCVlN4RFFVRkRUaXhGUVVGVlV5eEhRVUZaTEVOQlFVTkJMRVZCUVZWVUxFZEJSWEpEVFN4RlFVTlVSeXhGUVVGVFNTeFJRVUZSWWl4SFFVVnFRbE1zUlVGQlUwc3NTMEZCUzJRc1NVRkphRUpQTEVWQlFVbE1MR2xDUVVGcFFtcERMRWxCUTJJc1IwRkJTM2RETEVWQlFWTk5MRTlCUVZOU0xFbEJRVTFGTEVWQlFWTlBMRTlCUVZFc1EwRkRjRVJRTEVWQlFWTlBMRkZCUVZNc1JVRkhiRUlzU1VGQlNVTXNSVUZCU1N4SlFVRkpReXhOUVVGTkxDdERRVU5GVkN4RlFVRlRUU3hQUVVGVExFbEJRVTFKTEU5QlFVOWtMRWRCUVZFc2NVVkJSek5FV1N4RlFVRkZSeXhMUVVGUExEaENRVU5VU0N4RlFVRkZTU3hSUVVGVmNFUXNSVUZEV21kRUxFVkJRVVZhTEV0QlFVOUJMRVZCUTFSWkxFVkJRVVZMTEUxQlFWRmlMRVZCUVZOTkxFOUJRMjVDZUVNc2JVSkJRVzFDTUVNc1IwRkpka0lzVDBGQlQyaEVMRVZCWTFRc1UwRkJVM05FTEdOQlExQXNTVUZCUzJwRExFdEJRVXRyUXl4TlFVZFNMRTlCUmtGc1F5eExRVUZMY2tJc1QwRkJUM2RFTEdWQlFXVnVReXhMUVVGTFpTeExRVUZOWml4TFFVRkxiME1zVVVGRE0wTndReXhMUVVGTGEwTXNUMEZCVVN4RlFVTlpMRWxCUVhKQ1J5eFZRVUZWV2l4UFFVTk1la0lzUzBGQlMxVXNVMEZCVXpGQ0xFdEJRVXRuUWl4TFFVRkxja0lzVVVGRE1VSnhRaXhMUVVGTFZTeFRRVUZUYUVNc1RVRkJUWE5DTEV0QlFVdHlRaXhQUVVGUk1FUXNWMEZKTlVNc1UwRkJVME1zVlVGQlZUTkVMRVZCUVZGdlF5eEZRVUZOVEN4SFFVTXZRaXhKUVVGSk5rSXNSVUZCVVN4RFFVRkZUQ3hQUVVGUExFVkJRVTlGTEZsQlFWRXZRaXhGUVVGWE1VSXNUMEZCVVVFc1JVRkJVVzlETEV0QlFVMUJMRVZCUVUxTUxGTkJRVlZCTEVkQlEycEdPRUlzUlVGQlZWQXNXVUZCV1ZFc1MwRkJTMFlzUjBGSEwwSXNUMEZHUVVNc1JVRkJVVGxDTEZOQlFWZEJMRVZCUTI1Q05rSXNSVUZCVFVnc1QwRkJVMGtzUlVGRFVrRXNSVUV3U0ZRc1UwRkJVMFVzVjBGQlZ5OUVMRVZCUVZGdlF5eEZRVUZOTkVJc1IwRkRhRU1zU1VGQlNYcENMRVZCUVZOMlF5eEZRVUZQZVVJc1VVRkZjRUlzVVVGQlpVTXNTVUZCV0dFc1JVRkRSaXhOUVVGUExFZEJSVlFzU1VGQlNUQkNMRVZCUVdFeFFpeEZRVUZQU0N4SFFVTjRRaXhaUVVGdFFsWXNTVUZCWm5WRExFVkJRMHNzUjBGRmFVSXNiVUpCUVdaQkxFVkJRMFpFTEVWQlFWTXNRMEZCUTBNc1JVRkJWMnhETEZWQlFWbHJReXhIUVVGakxFTkJRVU5CTEVkQlJXeEVSQ3hGUVVOTVJTeG5Ra0ZCWjBKRUxFZEJRV05GTEZkQlFWZEdMRVZCUVZsQkxFVkJRVmR1UWl4UlFXOUNjRVVzVTBGQlUzTkNMR05CUVdOb1F5eEhRVU55UWl4SlFVRkpSeXhGUVVGVGJFSXNTMEZCUzBrc1VVRkZiRUlzVVVGQlpVTXNTVUZCV0dFc1JVRkJjMElzUTBGRGVFSXNTVUZCU1RCQ0xFVkJRV0V4UWl4RlFVRlBTQ3hIUVVWNFFpeEhRVUV3UWl4dFFrRkJaalpDTEVWQlExUXNUMEZCVHl4RlFVTkdMRkZCUVcxQ2RrTXNTVUZCWm5WRExFVkJRMVFzVDBGQlQwRXNSVUZCVjI1Q0xFOUJTWFJDTEU5QlFVOHNSVUZQVkN4VFFVRlRjVUlzVjBGQlYwVXNSVUZCUzBNc1IwRkZka0lzU1VGRVFTeEpRVUZKUXl4RlFVRlBMRWxCUVVsRExFMUJRVTFHTEVkQlExcEhMRVZCUVVrc1JVRkJSMEVzUlVGQlNVZ3NTVUZCUzBjc1JVRkRka0pHTEVWQlFVdEZMRWRCUVV0S0xFVkJRVWxKTEVkQlEyaENMRTlCUVU5R0xFVkJSMVFzVTBGQlUwY3NWVUZCVlVNc1JVRkJUVU1zUjBGRGRrSXNTMEZCVDBFc1JVRkJVU3hGUVVGSlJDeEZRVUZMTjBJc1QwRkJVVGhDTEVsQlF6bENSQ3hGUVVGTFF5eEhRVUZUUkN4RlFVRkxReXhGUVVGUkxFZEJRemRDUkN4RlFVRkxSU3hOUVVkUUxGTkJRVk5ZTEdkQ1FVRm5Ra2NzUjBGRmRrSXNTVUZFUVN4SlFVRkpVeXhGUVVGTkxFbEJRVWxPTEUxQlFVMUlMRVZCUVVsMlFpeFJRVU5tTWtJc1JVRkJTU3hGUVVGSFFTeEZRVUZKU3l4RlFVRkphRU1zVTBGQlZUSkNMRVZCUTJoRFN5eEZRVUZKVEN4SFFVRkxTaXhGUVVGSlNTeEhRVUZITVVNc1ZVRkJXWE5ETEVWQlFVbEpMRWRCUld4RExFOUJRVTlMTEVWQlIxUXNVMEZCVTNSRUxFdEJRVXMwUWl4RlFVRlRSQ3hIUVVOeVFpeFBRVUZQTEVsQlFVazBRaXhSUVVGUkxGTkJRVlZETEVWQlFWTkRMRWRCUTNCRExGTkJRVk5ETEVWQlFXTkRMRWRCUTNKQ0wwSXNSVUZCVVVrc1pVRkJaVXdzUlVGQlRXbERMRWRCUXpkQ1NDeEZRVUZQUlN4SFFVZFVMRk5CUVZORExFbEJReXRDTEcxQ1FVRXpRbWhETEVWQlFWRkpMR2RDUVVOcVFrb3NSVUZCVVVrc1pVRkJaU3hSUVVGVE1FSXNSMEZGYkVOR0xFVkJRVkVzUjBGQlIwc3NUVUZCVFdoR0xFdEJRVXR4UkN4WlFVZDRRalJDTEN0Q1FVRXJRbXhETEVWQlFWTkVMRVZCUVUxcFF5eEZRVUZWTEVOQlFVVTFSQ3hOUVVGTkxFbEJRMjVFTEZWQlFWUXlRaXhIUVVOR2IwTXNPRUpCUVRoQ2JrTXNSVUZCVXpoQ0xFVkJRV1VzUTBGQlJURkVMRTFCUVUwc1RVRkxjRVVzVTBGQlV5dEVMRGhDUVVFNFFtNURMRVZCUVZOdlF5eEZRVUZUUXl4SFFVTTNRaXh0UWtGQlpuSkRMRVZCUVZGelF5eEpRVU5xUWtvc0swSkJRU3RDYkVNc1JVRkJVeXhSUVVGVGIwTXNSVUZCVTBNc1IwRkpPVVFzVTBGQlUwZ3NLMEpCUVN0Q2JFTXNSVUZCVTBRc1JVRkJUWEJDTEVWQlFWVXdSQ3hIUVVNdlJDeEhRVUV3UWl4dFFrRkJabkpETEVWQlFWRnpReXhIUVVOaVJDeEZRVUZOYWtVc1MwRkRValJDTEVWQlFWRTFRaXhMUVVGTE1rSXNSVUZCVFhCQ0xFZEJSVzVDY1VJc1JVRkJVWE5ETEVkQlFVZDJReXhGUVVGTmNFSXNUMEZGWkN4RFFVRkJMRWRCUVhkRExHMUNRVUUzUW5GQ0xFVkJRVkYxUXl4cFFrRlplRUlzVFVGQlRTeEpRVUZKTTBRc1ZVRkJWU3cyUlVGQkswVnZRaXhIUVZSdVIwRXNSVUZCVVhWRExHbENRVUZwUW5oRExFVkJRVTBzVTBGQlUzbERMRVZCUVdGRExFZEJSeTlEU2l4RlFVRk5ha1VzVFVGRFVqUkNMRVZCUVZFd1F5eHZRa0ZCYjBJelF5eEZRVUZOZVVNc1IwRkZjRU0zUkN4RlFVRlRPRVFzVFVGb1lXWnNSaXhQUVVGUGIwWXNaVUZCWlRWRkxHRkJRV01zYzBKQlFYVkNMRU5CUTNwRU5rVXNXVUZCV1N4RlFVTmFReXhKUVVGTExGZEJRMGdzVDBGQlQzQkZMSEZDUVVWVWNVVXNTVUZCU3l4VFFVRlRUQ3hIUVVOYUxFZEJRVzFDTEdsQ1FVRlNRU3hIUVVGdlFrRXNSVUZCVFN4SFFVRkxPVVVzV1VGQldUaEZMRWRCUTNCRUxFMUJRVTBzU1VGQlNVMHNWMEZCVnl4clIwRkJiMGRPTEVWQlFVMHNTMEZGYWtsb1JTeHZRa0ZCYzBKblJTeExRVWt4UWpGRkxHRkJRV0ZETEV0QlFVOHNaMEpCUlVkTkxFbEJRV3BDVEN4TFFVRkxTU3hUUVVOTVNpeExRVUZMU1N4VlFVRlpaQ3hQUVVGUGVVWXNaVUZCWlM5RkxFMUJRVTFKTEZWQlF5OURTaXhMUVVGTFNTeFJRVUZWWkN4UFFVRlBPRUlzVDBGQlR5eE5RVU0zUW5CQ0xFdEJRVXROTEdGQlFXVXNSMEZIZEVKT0xFdEJRVXRQTEdOQlFXZENVQ3hMUVVGTFR5eHZRa0ZCYVVKR0xFZEJTemREVUN4aFFVRmhaaXhWUVVGVmFVY3NaMEpCUVd0Q0xGTkJRWGxDTDBJc1IwRkRhRVVzUjBGQmFVSXNhVUpCUVU1QkxFZEJRV3RDUVN4RlFVRkpMRWRCUVV0MlJDeFpRVUZaZFVRc1IwRkRhRVFzVFVGQlRTeEpRVUZKTmtJc1YwRkJWeXhuUmtGQmEwWTNRaXhGUVVGSkxFdEJSemRITEU5QlJFRnFSQ3hMUVVGTFR5eGpRVUZuUWpCRExFVkJRMlJxUkN4TlFWTlVSaXhoUVVGaFppeFZRVUZWYTBjc1owSkJRV3RDTEZkQlEzWkRMRTlCUVU5eVJTeHBRa0ZCYVVKYUxFOUJSekZDUml4aFFVRmhaaXhWUVVGVmRVTXNTMEZCVHl4VFFVRmpVQ3hIUVVVeFF5eEpRVVJCTEVsQlFVbHNReXhGUVVGUExFZEJRMFoxUlN4RlFVRkpMRVZCUVVkQkxFVkJRVWxtTEZWQlFWVmFMRTlCUVZFeVFpeEpRVUZMZGtVc1JVRkJTekpETEV0QlFVdGhMRlZCUVZWbExFbEJReTlFTEVsQlFVazRRaXhGUVVGdlFpeFZRVUZVYmtVc1JVRkZXRWNzUlVGQlUyeENMRXRCUVV0SkxGRkJRMnhDTEZGQlFXVkRMRWxCUVZoaExFVkJRMFpuUlN4RlFVRlhRU3hSUVVFMFFqZEZMRWxCUVdwQ1lTeEZRVUZQYVVVc1YwRkRNVUlzU1VGQlMwUXNSVUZEVWl4UFFVRlBMRVZCUjFRc1IwRkJTVUVzUlVGQlV5eERRVU5ZTEVsQlFVbEZMRVZCUjBvc1IwRkdTWFpITEVWQlFVczBReXhQUVVGVExFbEJRMmhDTWtRc1JVRkJTM1pITEVWQlFVc3NTVUZEVW5WSExHRkJRV040UkN4TlFVZG9RaXhOUVVGTmQwUXNSVUZIVWl4SlFVRkpkRUlzUlVGQlRTeEpRVUZKYkVNc1RVRkJUU3h2UWtGQmMwSjNSQ3hGUVVGTExFdEJRVTlCTEVWQlFVZERMRkZCUVZVc1NVRkJUU3hMUVVWNlJTeE5RVVJCZGtJc1JVRkJTWGRDTEZGQlFWVkdMRVZCUTFKMFFpeEZRVWRTTEVsQlFVbExMRVZCUVZWcVJDeEZRVUZQU0N4SFFVVnlRaXhSUVVGblFsWXNTVUZCV2poRUxFVkJRMFlzVDBGQlR5eEZRVVZVTEVkQlFYVkNMRzFDUVVGYVFTeEZRVU5VTVVZc1lVRkJZVEJHTEVWQlFWTnVSU3hMUVVGTmJrSXNUMEZGTlVJc1EwRkJRU3hKUVVGSk1FY3NSVUZCVFhCQ0xFVkJRVkV4UXl4UFFVTmtLMFFzUlVGQldURkRMRmRCUVZkeFFpeEZRVUZUYjBJc1IwRkRjRU1zU1VGQlUyNURMRVZCUVVrc1JVRkJSMEVzUlVGQlNXMURMRWxCUVU5dVF5eEZRVU42UWpORkxHRkJRV0VyUnl4RlFVRlZjRU1zUjBGQlNYQkVMRXRCUVUxdVFpeEhRVWR5UXl4UFFVRlBMRWRCYVVWVWFVSXNZVUZCWVdZc1ZVRkJWVEJITEZsQlFXTXNVMEZCY1VJeFJTeEZRVUZOVEN4SFFVTTVSQ3hQUVVGUFNTeGhRVUZoWkN4TFFVRk5aU3hGUVVGTlRDeEhRVUZWTEVsQlJ6VkRXaXhoUVVGaFppeFZRVUZWYzBZc1IwRkJTM1pGTEdGQlFXRm1MRlZCUVZVd1J5eFpRVVZ1UkROR0xHRkJRV0ZtTEZWQlFWVXlSeXhuUWtGRGJrSXNVMEZCZVVJelJTeEZRVUZOVEN4SFFVTTNRaXhQUVVGUFNTeGhRVUZoWkN4TFFVRk5aU3hGUVVGTlRDeEhRVUZWTEVsQmNVSm9SRm9zWVVGQllXWXNWVUZCVlc5Q0xFdEJRVThzVTBGQlkxa3NSVUZCVFV3c1IwRkhhRVFzVDBGR1FVUXNZMEZCWTBNc1IwRkRaRllzUzBGQlMzRkZMRWRCUVVkMFJDeEZRVUZOZFVJc1ZVRkJWWFJETEV0QlFVMWxMRVZCUVUxTUxFbEJRemRDVml4TlFVZFVSaXhoUVVGaFppeFZRVUZWTkVjc2IwSkJRMjVDTEZOQlFUWkNOVVVzUlVGQlRVd3NSMEZIYWtNc1QwRkdRVVFzWTBGQlkwTXNSMEZEWkZZc1MwRkJTekJHTEdkQ1FVRm5Rak5GTEVWQlFVMTFRaXhWUVVGVmRFTXNTMEZCVFdVc1JVRkJUVXdzU1VGRE1VTldMRTFCU1dKR0xHRkJRV0ZtTEZWQlFWVnZSQ3hsUVVOdVFpeFRRVUYzUW5CQ0xFVkJRVTFNTEVkQlF6VkNMRWxCUVVrMFF5eEZRVUZOY0VNc1JVRkJVVEJGTEVWQlFWVjRReXhGUVVGSGVVTXNSVUZMTDBJc1IwRklRWEJHTEdOQlFXTkRMRkZCUjBOTUxFdEJSR1poTEVWQlFWTnNRaXhMUVVGTFNTeFRRVVZhTEU5QlFVOUtMRXRCUjFRc1VVRkJZVXNzUzBGRVltbEVMRVZCUVU5d1F5eEZRVUZQU0N4SlFVVmFMRTlCUVU5bUxFdEJSVlFzUjBGQlNYTkVMRWxCUVZNMVF5eEhRVUZaTkVNc1JVRkJTelZETEZkQlFXRkJMRVZCUTJJc1MwRkJkRUpXTEV0QlFVdE5MR0ZCUTFST0xFdEJRVXRKTEZGQlFWVmtMRTlCUVU4NFFpeFBRVUZQTEdOQlJYUkNSaXhGUVVGUFNDeEhRVU5XUnl4RlFVRlBhVUlzWjBKQlExUnVReXhMUVVGTGMwSXNTMEZCU3l4cFFrRkJhMEpRTEVWQlFVMTFReXhGUVVGTE5VTXNWVUZCV1VFc1UwRkZiRVFzUjBGQmIwSXNiVUpCUVZRMFF5eEZRVUZ4UWl4RFFVZHlReXhKUVVaQmMwTXNSMEZCV1N4RlFVVlFlRU1zUlVGQlNVVXNSVUZCU3pkQ0xFOUJRVk1zUlVGQlJ6SkNMRWRCUVVzc1JVRkJSMEVzU1VGRGFFTXNSMEZCU1VVc1JVRkJTMFlzUzBGQlR6RkRMRWRCUVZrMFF5eEZRVUZMUml4SFFVRkhNVU1zVjBGQllVRXNSVUZCVlN4RFFVTjZSRzFHTEVWQlFXMUNka01zUlVGQlMwWXNSMEZCUnpGRExGTkJRek5DYTBZc1JVRkJWM2hETEVWQlExZ3NUVUZKU2l4SFFVRkpkME1zUlVGQlZ5eEZRVU5pTEU5QlFVODFSaXhMUVVWUkxFbEJRV0kwUml4RlFVTkdkRU1zUlVGQlMzZERMRkZCUlV4NlF5eFZRVUZWUXl4RlFVRk5jME1zUjBGSFJTeEpRVUZvUW5SRExFVkJRVXMzUWl4VFFVTlFVQ3hGUVVGUFNDeEhRVUZSZFVNc1JVRkJTeXhUUVVWUmFrUXNTVUZCTVVKaExFVkJRVTlwUWl4blFrRkRWRzVETEV0QlFVdHpRaXhMUVVGTExHbENRVUZyUWxBc1JVRkJUVGhGTEVkQlFXOUNia1lzUjBGSE1VUXNUMEZCVDFZc1RVRkhZa1lzWVVGQllXWXNWVUZCVldkSUxFbEJRVTFxUnl4aFFVRmhaaXhWUVVGVmIwUXNaVUZGY0VSeVF5eGhRVUZoWml4VlFVRlZhVWdzYlVKQlEyNUNMRk5CUVRSQ2FrWXNSMEZETVVJc1NVRkJTWGxGTEVWQlFWZDBSU3hGUVVGUmEwTXNSVUZIZGtJc1VVRkJaUzlETEV0QlJHWmhMRVZCUVZOc1FpeExRVUZMU1N4VFFVVmFMRTlCUVU5S0xFdEJSMVFzVVVGQk9FSkxMRWxCUVRGQ1lTeEZRVUZQYVVJc1pVRlZWQ3hQUVZSNVFpeEpRVUZ5UWtVc1ZVRkJWVm9zVVVGRFducENMRXRCUVV0SkxGRkJRVlZrTEU5QlFVODRRaXhQUVVGUExFMUJRemRDY0VJc1MwRkJTMDBzWVVGQlpTeFJRVU5OUkN4SlFVRnFRbUVzUlVGQlQwZ3NTMEZEV1N4TFFVRjBRbVlzUzBGQlMwMHNZVUZEVkU0c1MwRkJTMGtzVVVGQlZXUXNUMEZCVHpoQ0xFOUJRVThzWVVGRmRFSkdMRVZCUVU5SUxFbEJSVmhtTEV0QlNWUXNSMEZCZVVJc1NVRkJja0p4UXl4VlFVRlZXaXhQUVVGakxFTkJRekZDTEVsQlEwbDNSU3hGUVVSQlF5eEZRVUZQTlVjc1QwRkJUelJITEV0QlFVdG9SaXhIUVVWMlFpeEpRVUZMYTBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKT0VNc1JVRkJTM3BGTEZOQlFWVXlRaXhGUVVWcVFpeHZRa0ZFV2paRExFVkJRVTFETEVWQlFVczVReXhMUVVWWWNFUXNTMEZCUzJkSExHMUNRVUZ0UWtNc1IwRkxNVUlzVDBGSVFXcEhMRXRCUVV0blJ5eHRRa0ZCYlVJc2EwSkJRM2hDYUVjc1MwRkJTMGtzVVVGQlZXUXNUMEZCVHpoQ0xFOUJRVThzVFVGRE4wSndRaXhMUVVGTFRTeGhRVUZsTEVWQlEySk9MRXRCUzFRc1IwRkJlVUlzYlVKQlJucENkMFlzUlVGQldYUkZMRVZCUVU5SUxFbEJSMnBDWml4TFFVRkxiVU1zWlVGQlpYQkNMRVZCUVUxNVJTeFJRVU55UWl4UlFVRnJRbTVHTEVsQlFXUnRSaXhGUVVWVUxFbEJRVXR3UXl4RlFVRkpiME1zUlVGQlZTOUVMRTlCUVZNc1JVRkJSekpDTEVkQlFVc3NSVUZCUjBFc1NVRkRja053UkN4TFFVRkxiVU1zWlVGQlpYQkNMRVZCUVUxNVJTeEZRVUZWY0VNc1NVRkplRU1zVDBGQlQzQkVMRTFCYjBKaVJpeGhRVUZoWml4VlFVRlZlVWNzVlVGQldTeFRRVUZ0UW5wRkxFZEJRM0JFTEU5QlFVOHlRaXhYUVVGWE1VTXNTMEZCVFdVc1IwRkJUU3hKUVVkb1EycENMR0ZCUVdGbUxGVkJRVlZ2U0N4aFFVRmxMRk5CUVhOQ2NFWXNSMEZETVVRc1QwRkJUekpDTEZkQlFWY3hReXhMUVVGTlpTeEhRVUZOTEVsQlIyaERha0lzWVVGQllXbEVMR05CUVdkQ0xGTkJRVk5vUWl4RlFVRlRhRUlzUjBGRE4wTXNUVUZCY1VNc2JVSkJRVEZDWjBJc1JVRkJVV2RDTEdOQlExWm9RaXhGUVVGUlowSXNZMEZCWTJoRExFZEJSWFJDWjBNc1kwRkJZeTlFTEV0QlFVc3JReXhGUVVGVGFFSXNTVUZKZGtOcVFpeGhRVUZoWml4VlFVRlZaMFVzWTBGQlowSkJMR05CYVVKMlEycEVMR0ZCUVdGbUxGVkJRVlZ4U0N4WFFVRmhMRmRCUTJ4RExFOUJRVTl3Unl4TFFVRkxUU3hoUVVGbExFVkJRVWxvUXl4bFFVRmxNRUlzUzBGQlMwa3NVMEZCVnlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMlYyWlc1MGN5OWxkbVZ1ZEhNdWFuTWlmUT09IiwiZXhwb3J0cy5yZWFkPWZ1bmN0aW9uKGEsbyx0LHIsaCl7dmFyIE0scCx3PTgqaC1yLTEsZj0oMTw8dyktMSxlPWY+PjEsaT0tNyxOPXQ/aC0xOjAsbj10Py0xOjEscz1hW28rTl07Zm9yKE4rPW4sTT1zJigxPDwtaSktMSxzPj49LWksaSs9dztpPjA7TT0yNTYqTSthW28rTl0sTis9bixpLT04KTtmb3IocD1NJigxPDwtaSktMSxNPj49LWksaSs9cjtpPjA7cD0yNTYqcCthW28rTl0sTis9bixpLT04KTtpZigwPT09TSlNPTEtZTtlbHNle2lmKE09PT1mKXJldHVybiBwP05hTjoxLzAqKHM/LTE6MSk7cCs9TWF0aC5wb3coMixyKSxNLT1lfXJldHVybihzPy0xOjEpKnAqTWF0aC5wb3coMixNLXIpfSxleHBvcnRzLndyaXRlPWZ1bmN0aW9uKGEsbyx0LHIsaCxNKXt2YXIgcCx3LGYsZT04Kk0taC0xLGk9KDE8PGUpLTEsTj1pPj4xLG49MjM9PT1oP01hdGgucG93KDIsLTI0KS1NYXRoLnBvdygyLC03Nyk6MCxzPXI/MDpNLTEsdT1yPzE6LTEsbD1vPDB8fDA9PT1vJiYxL288MD8xOjA7Zm9yKG89TWF0aC5hYnMobyksaXNOYU4obyl8fG89PT0xLzA/KHc9aXNOYU4obyk/MTowLHA9aSk6KHA9TWF0aC5mbG9vcihNYXRoLmxvZyhvKS9NYXRoLkxOMiksbyooZj1NYXRoLnBvdygyLC1wKSk8MSYmKHAtLSxmKj0yKSwobys9cCtOPj0xP24vZjpuKk1hdGgucG93KDIsMS1OKSkqZj49MiYmKHArKyxmLz0yKSxwK04+PWk/KHc9MCxwPWkpOnArTj49MT8odz0obypmLTEpKk1hdGgucG93KDIsaCkscCs9Tik6KHc9bypNYXRoLnBvdygyLE4tMSkqTWF0aC5wb3coMixoKSxwPTApKTtoPj04O2FbdCtzXT0yNTUmdyxzKz11LHcvPTI1NixoLT04KTtmb3IocD1wPDxofHcsZSs9aDtlPjA7YVt0K3NdPTI1NSZwLHMrPXUscC89MjU2LGUtPTgpO2FbdCtzLXVdfD0xMjgqbH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKeVpXRmtJaXdpWW5WbVptVnlJaXdpYjJabWMyVjBJaXdpYVhOTVJTSXNJbTFNWlc0aUxDSnVRbmwwWlhNaUxDSmxJaXdpYlNJc0ltVk1aVzRpTENKbFRXRjRJaXdpWlVKcFlYTWlMQ0p1UW1sMGN5SXNJbWtpTENKa0lpd2ljeUlzSWs1aFRpSXNJa2x1Wm1sdWFYUjVJaXdpVFdGMGFDSXNJbkJ2ZHlJc0luZHlhWFJsSWl3aWRtRnNkV1VpTENKaklpd2ljblFpTENKaFluTWlMQ0pwYzA1aFRpSXNJbVpzYjI5eUlpd2liRzluSWl3aVRFNHlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkRRVUVzVVVGQlVVTXNTMEZCVHl4VFFVRlZReXhGUVVGUlF5eEZRVUZSUXl4RlFVRk5ReXhGUVVGTlF5eEhRVU51UkN4SlFVRkpReXhGUVVGSFF5eEZRVU5JUXl4RlFVRnBRaXhGUVVGVVNDeEZRVUZqUkN4RlFVRlBMRVZCUXpkQ1N5eEhRVUZSTEVkQlFVdEVMRWRCUVZFc1JVRkRja0pGTEVWQlFWRkVMRWRCUVZFc1JVRkRhRUpGTEVkQlFWTXNSVUZEVkVNc1JVRkJTVlFzUlVGQlVVVXNSVUZCVXl4RlFVRkxMRVZCUXpGQ1VTeEZRVUZKVml4SFFVRlJMRVZCUVVrc1JVRkRhRUpYTEVWQlFVbGlMRVZCUVU5RExFVkJRVk5WTEVkQlQzaENMRWxCVEVGQkxFZEJRVXRETEVWQlJVeFFMRVZCUVVsUkxFZEJRVTBzU1VGQlQwZ3NSMEZCVlN4RlFVTXpRa2NzUzBGQlVVZ3NSVUZEVWtFc1IwRkJVMGdzUlVGRFJrY3NSVUZCVVN4RlFVRkhUQ3hGUVVGVExFbEJRVXBCTEVWQlFWZE1MRVZCUVU5RExFVkJRVk5WTEVkQlFVbEJMRWRCUVV0RExFVkJRVWRHTEVkQlFWTXNSMEZMZGtVc1NVRklRVW9zUlVGQlNVUXNSMEZCVFN4SlFVRlBTeXhIUVVGVkxFVkJRek5DVEN4TFFVRlJTeXhGUVVOU1FTeEhRVUZUVUN4RlFVTkdUeXhGUVVGUkxFVkJRVWRLTEVWQlFWTXNTVUZCU2tFc1JVRkJWMDRzUlVGQlQwTXNSVUZCVTFVc1IwRkJTVUVzUjBGQlMwTXNSVUZCUjBZc1IwRkJVeXhIUVVWMlJTeEhRVUZWTEVsQlFVNU1MRVZCUTBaQkxFVkJRVWtzUlVGQlNVa3NUVUZEU0N4RFFVRkJMRWRCUVVsS0xFbEJRVTFITEVWQlEyWXNUMEZCVDBZc1JVRkJTVkVzU1VGQmMwSkRMRVZCUVVGQkxFZEJRV1JHTEVkQlFVc3NSVUZCU1N4SFFVVTFRbEFzUjBGQlVWVXNTMEZCUzBNc1NVRkJTU3hGUVVGSFpDeEhRVU53UWtVc1IwRkJVVWtzUlVGRlZpeFBRVUZSU1N4SFFVRkxMRVZCUVVrc1IwRkJTMUFzUlVGQlNWVXNTMEZCUzBNc1NVRkJTU3hGUVVGSFdpeEZRVUZKUml4SlFVYzFRMHdzVVVGQlVXOUNMRTFCUVZFc1UwRkJWV3hDTEVWQlFWRnRRaXhGUVVGUGJFSXNSVUZCVVVNc1JVRkJUVU1zUlVGQlRVTXNSMEZETTBRc1NVRkJTVU1zUlVGQlIwTXNSVUZCUjJNc1JVRkRUbUlzUlVGQmFVSXNSVUZCVkVnc1JVRkJZMFFzUlVGQlR5eEZRVU0zUWtzc1IwRkJVU3hIUVVGTFJDeEhRVUZSTEVWQlEzSkNSU3hGUVVGUlJDeEhRVUZSTEVWQlEyaENZU3hGUVVGbExFdEJRVlJzUWl4RlFVRmpZU3hMUVVGTFF5eEpRVUZKTEVkQlFVa3NTVUZCVFVRc1MwRkJTME1zU1VGQlNTeEhRVUZKTEVsQlFVMHNSVUZETVVST0xFVkJRVWxVTEVWQlFVOHNSVUZCUzBVc1JVRkJVeXhGUVVONlFsRXNSVUZCU1ZZc1JVRkJUeXhIUVVGTExFVkJRMmhDVnl4RlFVRkpUU3hGUVVGUkxFZEJRV2RDTEVsQlFWWkJMRWRCUVdVc1JVRkJTVUVzUlVGQlVTeEZRVUZMTEVWQlFVa3NSVUZ0UXpGRUxFbEJha05CUVN4RlFVRlJTQ3hMUVVGTFRTeEpRVUZKU0N4SFFVVmlTU3hOUVVGTlNpeEpRVUZWUVN4SlFVRlZTaXhGUVVGQlFTeEhRVU0xUWxRc1JVRkJTV2xDTEUxQlFVMUtMRWRCUVZNc1JVRkJTU3hGUVVOMlFtUXNSVUZCU1Vjc1NVRkZTa2dzUlVGQlNWY3NTMEZCUzFFc1RVRkJUVklzUzBGQlMxTXNTVUZCU1U0c1IwRkJVMGdzUzBGQlMxVXNTMEZEYkVOUUxFZEJRVk5ETEVWQlFVbEtMRXRCUVV0RExFbEJRVWtzUjBGQlNWb3NTVUZCVFN4SlFVTnNRMEVzU1VGRFFXVXNSMEZCU3l4SlFVZE1SQ3hIUVVSRlpDeEZRVUZKU1N4SFFVRlRMRVZCUTA1WkxFVkJRVXRFTEVWQlJVeERMRVZCUVV0TUxFdEJRVXRETEVsQlFVa3NSVUZCUnl4RlFVRkpVaXhKUVVWd1FsY3NSMEZCU3l4SlFVTm1aaXhKUVVOQlpTeEhRVUZMTEVkQlIwaG1MRVZCUVVsSkxFZEJRVk5FTEVkQlEyWkdMRVZCUVVrc1JVRkRTa1FzUlVGQlNVY3NSMEZEUzBnc1JVRkJTVWtzUjBGQlV5eEhRVU4wUWtnc1IwRkJUV0VzUlVGQlVVTXNSVUZCU3l4SFFVRkxTaXhMUVVGTFF5eEpRVUZKTEVWQlFVZGtMRWRCUTNCRFJTeEhRVUZSU1N4SlFVVlNTQ3hGUVVGSllTeEZRVUZSU0N4TFFVRkxReXhKUVVGSkxFVkJRVWRTTEVWQlFWRXNSMEZCUzA4c1MwRkJTME1zU1VGQlNTeEZRVUZIWkN4SFFVTnFSRVVzUlVGQlNTeEpRVWxFUml4SFFVRlJMRVZCUVVkSUxFVkJRVTlETEVWQlFWTlZMRWRCUVZNc1NVRkJTa3dzUlVGQlZVc3NSMEZCUzBNc1JVRkJSMDRzUjBGQlN5eEpRVUZMU0N4SFFVRlJMRWRCU1RORkxFbEJSa0ZGTEVWQlFVdEJMRWRCUVV0R0xFVkJRVkZITEVWQlEyeENReXhIUVVGUlNpeEZRVU5FU1N4RlFVRlBMRVZCUVVkUUxFVkJRVTlETEVWQlFWTlZMRWRCUVZNc1NVRkJTazRzUlVGQlZVMHNSMEZCUzBNc1JVRkJSMUFzUjBGQlN5eEpRVUZMUlN4SFFVRlJMRWRCUlRGRlVDeEZRVUZQUXl4RlFVRlRWU3hGUVVGSlF5eEpRVUZWTEVsQlFVcERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmFXVmxaVGMxTkM5cGJtUmxlQzVxY3lKOSIsIlwiZnVuY3Rpb25cIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlJiYodC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSl9Om1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoZSl7dC5zdXBlcl89ZTt2YXIgbz1mdW5jdGlvbigpe307by5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdWFHVnlhWFJ6WDJKeWIzZHpaWEl1YW5NaVhTd2libUZ0WlhNaU9sc2lUMkpxWldOMElpd2lZM0psWVhSbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbU4wYjNJaUxDSnpkWEJsY2tOMGIzSWlMQ0p6ZFhCbGNsOGlMQ0p3Y205MGIzUjVjR1VpTENKamIyNXpkSEoxWTNSdmNpSXNJblpoYkhWbElpd2laVzUxYldWeVlXSnNaU0lzSW5keWFYUmhZbXhsSWl3aVkyOXVabWxuZFhKaFlteGxJaXdpVkdWdGNFTjBiM0lpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUUyUWl4dFFrRkJiRUpCTEU5QlFVOURMRTlCUldoQ1F5eFBRVUZQUXl4UlFVRlZMRk5CUVd0Q1F5eEZRVUZOUXl4SFFVTnVRMEVzU1VGRFJrUXNSVUZCUzBVc1QwRkJVMFFzUlVGRFpFUXNSVUZCUzBjc1ZVRkJXVkFzVDBGQlQwTXNUMEZCVDBrc1JVRkJWVVVzVlVGQlZ5eERRVU5zUkVNc1dVRkJZU3hEUVVOWVF5eE5RVUZQVEN4RlFVTlFUU3haUVVGWkxFVkJRMXBETEZWQlFWVXNSVUZEVmtNc1kwRkJZeXhQUVU5MFFsWXNUMEZCVDBNc1VVRkJWU3hUUVVGclFrTXNSVUZCVFVNc1IwRkRka01zUjBGQlNVRXNSVUZCVnl4RFFVTmlSQ3hGUVVGTFJTeFBRVUZUUkN4RlFVTmtMRWxCUVVsUkxFVkJRVmNzWVVGRFprRXNSVUZCVTA0c1ZVRkJXVVlzUlVGQlZVVXNWVUZETDBKSUxFVkJRVXRITEZWQlFWa3NTVUZCU1Uwc1JVRkRja0pVTEVWQlFVdEhMRlZCUVZWRExGbEJRV05LSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZhVzVvWlhKcGRITXZhVzVvWlhKcGRITmZZbkp2ZDNObGNpNXFjeUo5IiwiZnVuY3Rpb24gakJveFdyYXBwZXIodCl7ZnVuY3Rpb24gaShvLHMpe3JldHVybiB0aGlzLm9wdGlvbnM9e2lkOm51bGwsd2lkdGg6XCJhdXRvXCIsaGVpZ2h0OlwiYXV0b1wiLG1pbldpZHRoOm51bGwsbWluSGVpZ2h0Om51bGwsbWF4V2lkdGg6bnVsbCxtYXhIZWlnaHQ6bnVsbCxyZXNwb25zaXZlV2lkdGg6ITAscmVzcG9uc2l2ZUhlaWdodDohMCxyZXNwb25zaXZlTWluV2lkdGg6MTAwLHJlc3BvbnNpdmVNaW5IZWlnaHQ6MTAwLGF0dGFjaDpudWxsLHRyaWdnZXI6XCJjbGlja1wiLHByZXZlbnREZWZhdWx0OiExLGNvbnRlbnQ6bnVsbCxnZXRDb250ZW50Om51bGwsdGl0bGU6bnVsbCxnZXRUaXRsZTpudWxsLGZvb3RlcjpudWxsLGlzb2xhdGVTY3JvbGw6ITAsYWpheDp7dXJsOm51bGwsZGF0YTpcIlwiLHJlbG9hZDohMSxnZXRVUkw6XCJkYXRhLXVybFwiLGdldERhdGE6XCJkYXRhLWFqYXhcIixzZXRDb250ZW50OiEwLGxvYWRpbmdDbGFzczohMCxzcGlubmVyOiEwLHNwaW5uZXJEZWxheTozMDAsc3Bpbm5lclJlcG9zaXRpb246ITB9LGNhbmNlbEFqYXhPbkNsb3NlOiEwLHRhcmdldDpudWxsLHBvc2l0aW9uOnt4OlwiY2VudGVyXCIseTpcImNlbnRlclwifSxvdXRzaWRlOm51bGwsb2Zmc2V0OjAsYXR0cmlidXRlczp7eDpcImxlZnRcIix5OlwidG9wXCJ9LGZpeGVkOiExLGFkanVzdFBvc2l0aW9uOiEwLGFkanVzdFRyYWNrZXI6ITEsYWRqdXN0RGlzdGFuY2U6NSxyZXBvc2l0aW9uOiEwLHJlcG9zaXRpb25Pbk9wZW46ITAscmVwb3NpdGlvbk9uQ29udGVudDohMCxob2xkUG9zaXRpb246ITAscG9pbnRlcjohMSxwb2ludFRvOlwidGFyZ2V0XCIsZmFkZToxODAsYW5pbWF0aW9uOm51bGwsdGhlbWU6XCJEZWZhdWx0XCIsYWRkQ2xhc3M6bnVsbCxvdmVybGF5OiExLG92ZXJsYXlDbGFzczpudWxsLHpJbmRleDoxZTQsZGVsYXlPcGVuOjAsZGVsYXlDbG9zZTowLGNsb3NlT25Fc2M6ITEsY2xvc2VPbkNsaWNrOiExLGNsb3NlT25Nb3VzZWxlYXZlOiExLGNsb3NlQnV0dG9uOiExLGFwcGVuZFRvOnQoXCJib2R5XCIpLGNyZWF0ZU9uSW5pdDohMSxibG9ja1Njcm9sbDohMSxibG9ja1Njcm9sbEFkanVzdDohMCxkcmFnZ2FibGU6ITEsZHJhZ092ZXI6ITAsYXV0b0Nsb3NlOiExLGRlbGF5T25Ib3ZlcjohMSxzaG93Q291bnRkb3duOiExLHByZWxvYWRBdWRpbzohMCxhdWRpbzpudWxsLHZvbHVtZToxMDAsb25Jbml0Om51bGwsb25BdHRhY2g6bnVsbCxvblBvc2l0aW9uOm51bGwsb25DcmVhdGVkOm51bGwsb25PcGVuOm51bGwsb25DbG9zZTpudWxsLG9uQ2xvc2VDb21wbGV0ZTpudWxsLG9uRHJhZ1N0YXJ0Om51bGwsb25EcmFnRW5kOm51bGx9LHRoaXMuX3BsdWdpbk9wdGlvbnM9e1Rvb2x0aXA6e2dldENvbnRlbnQ6XCJ0aXRsZVwiLHRyaWdnZXI6XCJtb3VzZWVudGVyXCIscG9zaXRpb246e3g6XCJjZW50ZXJcIix5OlwidG9wXCJ9LG91dHNpZGU6XCJ5XCIscG9pbnRlcjohMH0sTW91c2U6e3Jlc3BvbnNpdmVXaWR0aDohMSxyZXNwb25zaXZlSGVpZ2h0OiExLGFkanVzdFBvc2l0aW9uOlwiZmxpcFwiLHRhcmdldDpcIm1vdXNlXCIsdHJpZ2dlcjpcIm1vdXNlZW50ZXJcIixwb3NpdGlvbjp7eDpcInJpZ2h0XCIseTpcImJvdHRvbVwifSxvdXRzaWRlOlwieHlcIixvZmZzZXQ6NX0sTW9kYWw6e3RhcmdldDp0KHdpbmRvdyksZml4ZWQ6ITAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6XCJvdmVybGF5XCIsY2xvc2VCdXR0b246ITAsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIn19LHRoaXMub3B0aW9ucz10LmV4dGVuZCghMCx0aGlzLm9wdGlvbnMsdGhpcy5fcGx1Z2luT3B0aW9uc1tvXXx8aS5fcGx1Z2luT3B0aW9uc1tvXSxzKSxcInN0cmluZ1wiPT10LnR5cGUobykmJih0aGlzLnR5cGU9byksdGhpcy5pc1RvdWNoRGV2aWNlPWZ1bmN0aW9uKCl7dmFyIHQsaT1cIiAtd2Via2l0LSAtbW96LSAtby0gLW1zLSBcIi5zcGxpdChcIiBcIik7cmV0dXJuISEoXCJvbnRvdWNoc3RhcnRcImluIHdpbmRvd3x8d2luZG93LkRvY3VtZW50VG91Y2gmJmRvY3VtZW50IGluc3RhbmNlb2YgRG9jdW1lbnRUb3VjaCl8fCh0PWk9W1wiKFwiLGkuam9pbihcInRvdWNoLWVuYWJsZWQpLChcIiksXCJoZWFydHpcIixcIilcIl0uam9pbihcIlwiKSx3aW5kb3cubWF0Y2hNZWRpYSh0KS5tYXRjaGVzKX0oKSx0aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VlbnRlclwiPT09dGhpcy5vcHRpb25zLnRyaWdnZXImJiExPT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmKHRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2s9XCJib2R5XCIpLHRoaXMuX2ZpcmVFdmVudD1mdW5jdGlvbih0LGkpe3RoaXMub3B0aW9uc1tcIl9cIit0XSYmdGhpcy5vcHRpb25zW1wiX1wiK3RdLmJpbmQodGhpcykoaSksdGhpcy5vcHRpb25zW3RdJiZ0aGlzLm9wdGlvbnNbdF0uYmluZCh0aGlzKShpKX0sbnVsbD09PXRoaXMub3B0aW9ucy5pZCYmKHRoaXMub3B0aW9ucy5pZD1cImpCb3hcIitpLl9nZXRVbmlxdWVJRCgpKSx0aGlzLmlkPXRoaXMub3B0aW9ucy5pZCwoXCJjZW50ZXJcIj09dGhpcy5vcHRpb25zLnBvc2l0aW9uLngmJlwieFwiPT10aGlzLm9wdGlvbnMub3V0c2lkZXx8XCJjZW50ZXJcIj09dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkmJlwieVwiPT10aGlzLm9wdGlvbnMub3V0c2lkZSkmJih0aGlzLm9wdGlvbnMub3V0c2lkZT1udWxsKSxcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUb3x8dGhpcy5vcHRpb25zLm91dHNpZGUmJlwieHlcIiE9dGhpcy5vcHRpb25zLm91dHNpZGV8fCh0aGlzLm9wdGlvbnMucG9pbnRlcj0hMSksXCJvYmplY3RcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5vZmZzZXQpP3RoaXMub3B0aW9ucy5vZmZzZXQ9e3g6dGhpcy5vcHRpb25zLm9mZnNldCx5OnRoaXMub3B0aW9ucy5vZmZzZXR9OnRoaXMub3B0aW9ucy5vZmZzZXQ9dC5leHRlbmQoe3g6MCx5OjB9LHRoaXMub3B0aW9ucy5vZmZzZXQpLFwib2JqZWN0XCIhPXQudHlwZSh0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UpP3RoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT17dG9wOnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxyaWdodDp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UsYm90dG9tOnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxsZWZ0OnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZX06dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXQuZXh0ZW5kKHt0b3A6NSxsZWZ0OjUscmlnaHQ6NSxib3R0b206NX0sdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlKSx0aGlzLm91dHNpZGU9ISghdGhpcy5vcHRpb25zLm91dHNpZGV8fFwieHlcIj09dGhpcy5vcHRpb25zLm91dHNpZGUpJiZ0aGlzLm9wdGlvbnMucG9zaXRpb25bdGhpcy5vcHRpb25zLm91dHNpZGVdLHRoaXMuYWxpZ249dGhpcy5vdXRzaWRlfHwoXCJjZW50ZXJcIiE9dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkmJlwibnVtYmVyXCIhPXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueSk/dGhpcy5vcHRpb25zLnBvc2l0aW9uLng6XCJjZW50ZXJcIiE9dGhpcy5vcHRpb25zLnBvc2l0aW9uLngmJlwibnVtYmVyXCIhPXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueCk/dGhpcy5vcHRpb25zLnBvc2l0aW9uLnk6dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCksaS56SW5kZXhNYXg9TWF0aC5tYXgoaS56SW5kZXhNYXh8fDAsXCJhdXRvXCI9PT10aGlzLm9wdGlvbnMuekluZGV4PzFlNDp0aGlzLm9wdGlvbnMuekluZGV4KSxcImF1dG9cIj09PXRoaXMub3B0aW9ucy56SW5kZXgmJih0aGlzLmFkanVzdFpJbmRleE9uT3Blbj0hMCxpLnpJbmRleE1heCs9Mix0aGlzLm9wdGlvbnMuekluZGV4PWkuekluZGV4TWF4LHRoaXMudHJ1ZU1vZGFsPXRoaXMub3B0aW9ucy5vdmVybGF5KSx0aGlzLl9nZXRPcHA9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJyaWdodFwiLHJpZ2h0OlwibGVmdFwiLHRvcDpcImJvdHRvbVwiLGJvdHRvbTpcInRvcFwiLHg6XCJ5XCIseTpcInhcIn1bdF19LHRoaXMuX2dldFhZPWZ1bmN0aW9uKHQpe3JldHVybntsZWZ0OlwieFwiLHJpZ2h0OlwieFwiLHRvcDpcInlcIixib3R0b206XCJ5XCIsY2VudGVyOlwieFwifVt0XX0sdGhpcy5fZ2V0VEw9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJsZWZ0XCIscmlnaHQ6XCJsZWZ0XCIsdG9wOlwidG9wXCIsYm90dG9tOlwidG9wXCIsY2VudGVyOlwibGVmdFwiLHg6XCJsZWZ0XCIseTpcInRvcFwifVt0XX0sdGhpcy5fZ2V0SW50PWZ1bmN0aW9uKGksbyl7cmV0dXJuXCJhdXRvXCI9PWk/XCJhdXRvXCI6aSYmXCJzdHJpbmdcIj09dC50eXBlKGkpJiZcIiVcIj09aS5zbGljZSgtMSk/dCh3aW5kb3cpW1wiaGVpZ2h0XCI9PW8/XCJpbm5lckhlaWdodFwiOlwiaW5uZXJXaWR0aFwiXSgpKnBhcnNlSW50KGkucmVwbGFjZShcIiVcIixcIlwiKSkvMTAwOml9LHRoaXMuX2NyZWF0ZVNWRz1mdW5jdGlvbihpLG8pe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsaSk7cmV0dXJuIHQuZWFjaChvLGZ1bmN0aW9uKHQsaSl7cy5zZXRBdHRyaWJ1dGUoaVswXSxpWzFdfHxcIlwiKX0pLHN9LHRoaXMuX2lzb2xhdGVTY3JvbGw9ZnVuY3Rpb24odCl7dCYmdC5sZW5ndGgmJnQub24oXCJET01Nb3VzZVNjcm9sbC5qQm94SXNvbGF0ZVNjcm9sbCBtb3VzZXdoZWVsLmpCb3hJc29sYXRlU2Nyb2xsXCIsZnVuY3Rpb24oaSl7dmFyIG89aS53aGVlbERlbHRhfHxpLm9yaWdpbmFsRXZlbnQmJmkub3JpZ2luYWxFdmVudC53aGVlbERlbHRhfHwtaS5kZXRhaWwscz0wPD10aGlzLnNjcm9sbFRvcCt0Lm91dGVySGVpZ2h0KCktdGhpcy5zY3JvbGxIZWlnaHQsZT10aGlzLnNjcm9sbFRvcDw9MDsobzwwJiZzfHwwPG8mJmUpJiZpLnByZXZlbnREZWZhdWx0KCl9KX0sdGhpcy5fc2V0VGl0bGVXaWR0aD1mdW5jdGlvbigpe2lmKCF0aGlzLnRpdGxlQ29udGFpbmVyfHxcImF1dG9cIj09dGhpcy5jb250ZW50WzBdLnN0eWxlLndpZHRoJiYhdGhpcy5jb250ZW50WzBdLnN0eWxlLm1heFdpZHRoKXJldHVybiBudWxsO3ZhciB0O1wibm9uZVwiPT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKT8odGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcImJsb2NrXCIpLHQ9dGhpcy5jb250ZW50Lm91dGVyV2lkdGgoKSx0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwibm9uZVwiKSk6dD10aGlzLmNvbnRlbnQub3V0ZXJXaWR0aCgpLHRoaXMudGl0bGVDb250YWluZXIuY3NzKHttYXhXaWR0aDpNYXRoLm1heCh0LHBhcnNlSW50KHRoaXMuY29udGVudFswXS5zdHlsZS5tYXhXaWR0aCkpfHxudWxsfSl9LHRoaXMuX2RyYWdnYWJsZT1mdW5jdGlvbigpe2lmKCF0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKXJldHVybiExO3ZhciBvPVwidGl0bGVcIj09dGhpcy5vcHRpb25zLmRyYWdnYWJsZT90aGlzLnRpdGxlQ29udGFpbmVyOnRoaXMub3B0aW9ucy5kcmFnZ2FibGUgaW5zdGFuY2VvZiB0P3RoaXMub3B0aW9ucy5kcmFnZ2FibGU6XCJzdHJpbmdcIj09dC50eXBlKHRoaXMub3B0aW9ucy5kcmFnZ2FibGUpP3QodGhpcy5vcHRpb25zLmRyYWdnYWJsZSk6dGhpcy53cmFwcGVyO3JldHVybiEoIShvJiZvIGluc3RhbmNlb2YgdCYmby5sZW5ndGgpfHxvLmRhdGEoXCJqQm94LWRyYWdnYWJsZVwiKSkmJihvLmFkZENsYXNzKFwiakJveC1kcmFnZ2FibGVcIikuZGF0YShcImpCb3gtZHJhZ2dhYmxlXCIsITApLm9uKFwidG91Y2hzdGFydCBtb3VzZWRvd25cIixmdW5jdGlvbihvKXt2YXIgcyxlLG4sYSxoLHI7Mj09by5idXR0b258fHQoby50YXJnZXQpLmhhc0NsYXNzKFwiakJveC1ub0RyYWdcIil8fHQoby50YXJnZXQpLnBhcmVudHMoXCIuakJveC1ub0RyYWdcIikubGVuZ3RoP1widG91Y2hzdGFydFwiPT1vLnR5cGUmJih0KG8udGFyZ2V0KS5oYXNDbGFzcyhcImpCb3gtY2xvc2VCdXR0b25cIil8fHQoby50YXJnZXQpLnBhcmVudHMoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgpJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pOihlPVwidG91Y2hzdGFydFwiPT1vLnR5cGUmJm8udG91Y2hlcyYmby50b3VjaGVzWzBdPyhzPW8udG91Y2hlc1swXS5wYWdlWCxvLnRvdWNoZXNbMF0ucGFnZVkpOihzPW8ucGFnZVgsby5wYWdlWSksdGhpcy5kcmFnZ2luZ1N0YXJ0WD1zLHRoaXMuZHJhZ2dpbmdTdGFydFk9ZSx0aGlzLm9wdGlvbnMuZHJhZ092ZXImJiF0aGlzLnRydWVNb2RhbCYmcGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCk8PWkuekluZGV4TWF4RHJhZ292ZXImJihpLnpJbmRleE1heERyYWdvdmVyKz0xLHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIixpLnpJbmRleE1heERyYWdvdmVyKSksbj10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSxhPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCksaD10aGlzLndyYXBwZXIub2Zmc2V0KCkudG9wK24tZSxyPXRoaXMud3JhcHBlci5vZmZzZXQoKS5sZWZ0K2Etcyx0KGRvY3VtZW50KS5vbihcInRvdWNobW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkK1wiIG1vdXNlbW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3ZhciBpO3Q9XCJ0b3VjaG1vdmVcIj09dC50eXBlJiZ0LnRvdWNoZXMmJnQudG91Y2hlc1swXT8oaT10LnRvdWNoZXNbMF0ucGFnZVgsdC50b3VjaGVzWzBdLnBhZ2VZKTooaT10LnBhZ2VYLHQucGFnZVkpO3RoaXMuZHJhZ2dpbmd8fHRoaXMuZHJhZ2dpbmdTdGFydFg9PWl8fHRoaXMuZHJhZ2dpbmdTdGFydFk9PXR8fCh0aGlzLl9maXJlRXZlbnQoXCJvbkRyYWdTdGFydFwiKSx0aGlzLmRyYWdnaW5nPSEwKSx0aGlzLndyYXBwZXIub2Zmc2V0KHt0b3A6dCtoLW4sbGVmdDppK3ItYX0pfS5iaW5kKHRoaXMpKSxvLnByZXZlbnREZWZhdWx0KCkpfS5iaW5kKHRoaXMpKS5vbihcInRvdWNoZW5kIG1vdXNldXBcIixmdW5jdGlvbigpe3ZhciBpO3QoZG9jdW1lbnQpLm9mZihcInRvdWNobW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkK1wiIG1vdXNlbW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkKSx0aGlzLmRyYWdnaW5nJiZ0aGlzLl9maXJlRXZlbnQoXCJvbkRyYWdFbmRcIiksdGhpcy5kcmFnZ2luZz0hMSxcIk1vZGFsXCIhPXRoaXMudHlwZSYmXCJDb25maXJtXCIhPXRoaXMudHlwZXx8IXRoaXMub3B0aW9ucy5ob2xkUG9zaXRpb258fChpPXt4OihpPXQoXCIjXCIrdGhpcy5pZCkub2Zmc2V0KCkpLmxlZnQtdChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLHk6aS50b3AtdChkb2N1bWVudCkuc2Nyb2xsVG9wKCl9LHRoaXMucG9zaXRpb24oe3Bvc2l0aW9uOmksb2Zmc2V0Ont4OjAseTowfX0pKX0uYmluZCh0aGlzKSksdGhpcy50cnVlTW9kYWx8fChpLnpJbmRleE1heERyYWdvdmVyPWkuekluZGV4TWF4RHJhZ292ZXI/TWF0aC5tYXgoaS56SW5kZXhNYXhEcmFnb3Zlcix0aGlzLm9wdGlvbnMuekluZGV4KTp0aGlzLm9wdGlvbnMuekluZGV4KSx0aGlzKX0sdGhpcy5fY3JlYXRlPWZ1bmN0aW9uKCl7dmFyIGk7dGhpcy53cmFwcGVyfHwodGhpcy53cmFwcGVyPXQoXCI8ZGl2Lz5cIix7aWQ6dGhpcy5pZCxjbGFzczpcImpCb3gtd3JhcHBlclwiKyh0aGlzLnR5cGU/XCIgakJveC1cIit0aGlzLnR5cGU6XCJcIikrKHRoaXMub3B0aW9ucy50aGVtZT9cIiBqQm94LVwiK3RoaXMub3B0aW9ucy50aGVtZTpcIlwiKSsodGhpcy5vcHRpb25zLmFkZENsYXNzP1wiIFwiK3RoaXMub3B0aW9ucy5hZGRDbGFzczpcIlwiKX0pLmNzcyh7cG9zaXRpb246dGhpcy5vcHRpb25zLmZpeGVkP1wiZml4ZWRcIjpcImFic29sdXRlXCIsZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjAsekluZGV4OnRoaXMub3B0aW9ucy56SW5kZXh9KS5kYXRhKFwiakJveFwiLHRoaXMpLHRoaXMub3B0aW9ucy5jbG9zZU9uTW91c2VsZWF2ZSYmdGhpcy53cmFwcGVyLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKGkpeyF0aGlzLnNvdXJjZXx8aS5yZWxhdGVkVGFyZ2V0IT10aGlzLnNvdXJjZVswXSYmLTE9PT10LmluQXJyYXkodGhpcy5zb3VyY2VbMF0sdChpLnJlbGF0ZWRUYXJnZXQpLnBhcmVudHMoXCIqXCIpKSYmdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKSxcImJveFwiPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiZ0aGlzLndyYXBwZXIub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLHRoaXMuY29udGFpbmVyPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvbnRhaW5lclwiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMuY29udGVudD10KCc8ZGl2IGNsYXNzPVwiakJveC1jb250ZW50XCIvPicpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSx0aGlzLm9wdGlvbnMuZm9vdGVyJiYodGhpcy5mb290ZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtZm9vdGVyXCIvPicpLmFwcGVuZCh0aGlzLm9wdGlvbnMuZm9vdGVyKS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcikpLHRoaXMub3B0aW9ucy5pc29sYXRlU2Nyb2xsJiZ0aGlzLl9pc29sYXRlU2Nyb2xsKHRoaXMuY29udGVudCksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoKGk9dGhpcy5fY3JlYXRlU1ZHKFwic3ZnXCIsW1tcInZpZXdCb3hcIixcIjAgMCAyNCAyNFwiXV0pKS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTVkcoXCJwYXRoXCIsW1tcImRcIixcIk0yMi4yLDRjMCwwLDAuNSwwLjYsMCwxLjFsLTYuOCw2LjhsNi45LDYuOWMwLjUsMC41LDAsMS4xLDAsMS4xTDIwLDIyLjNjMCwwLTAuNiwwLjUtMS4xLDBMMTIsMTUuNGwtNi45LDYuOWMtMC41LDAuNS0xLjEsMC0xLjEsMEwxLjcsMjBjMCwwLTAuNS0wLjYsMC0xLjFMOC42LDEyTDEuNyw1LjFDMS4yLDQuNiwxLjcsNCwxLjcsNEw0LDEuN2MwLDAsMC42LTAuNSwxLjEsMEwxMiw4LjVsNi44LTYuOGMwLjUtMC41LDEuMSwwLDEuMSwwTDIyLjIsNHpcIl1dKSksdGhpcy5jbG9zZUJ1dHRvbj10KCc8ZGl2IGNsYXNzPVwiakJveC1jbG9zZUJ1dHRvbiBqQm94LW5vRHJhZ1wiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKHQpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLmFwcGVuZChpKSxcImJveFwiIT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJighMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vcHRpb25zLm92ZXJsYXl8fHRoaXMub3B0aW9ucy50aXRsZXx8dGhpcy5vcHRpb25zLmdldFRpdGxlKXx8KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtY2xvc2VCdXR0b24tYm94XCIpLHRoaXMuY2xvc2VCdXR0b24uYXBwZW5kVG8odGhpcy5jb250YWluZXIpKSksdGhpcy53cmFwcGVyLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5hcHBlbmRUbyksdGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgmJnQuZWFjaChbXCJ0b3BcIixcInJpZ2h0XCIsXCJib3R0b21cIixcImxlZnRcIl0sZnVuY3Rpb24odCxpKXt0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSYmXCJhdXRvXCIhPXRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpJiYodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlW2ldPU1hdGgubWF4KHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZVtpXSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2VbaV0rLTEqKChwYXJzZUludCh0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSl8fDApKyhwYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItXCIraStcIi13aWR0aFwiKSl8fDApKSkpfS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnMucG9pbnRlciYmKHRoaXMucG9pbnRlcj17cG9zaXRpb246XCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG8/dGhpcy5vcHRpb25zLnBvaW50VG86dGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSkseHk6XCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG8/dGhpcy5fZ2V0WFkodGhpcy5vcHRpb25zLnBvaW50VG8pOnRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSksYWxpZ246XCJjZW50ZXJcIixvZmZzZXQ6MH0sdGhpcy5wb2ludGVyLmVsZW1lbnQ9dCgnPGRpdiBjbGFzcz1cImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItJyt0aGlzLnBvaW50ZXIucG9zaXRpb24rJ1wiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMucG9pbnRlci5kaW1lbnNpb25zPXt4OnRoaXMucG9pbnRlci5lbGVtZW50Lm91dGVyV2lkdGgoKSx5OnRoaXMucG9pbnRlci5lbGVtZW50Lm91dGVySGVpZ2h0KCl9LFwic3RyaW5nXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9pbnRlcikmJigoaT10aGlzLm9wdGlvbnMucG9pbnRlci5zcGxpdChcIjpcIikpWzBdJiYodGhpcy5wb2ludGVyLmFsaWduPWlbMF0pLGlbMV0mJih0aGlzLnBvaW50ZXIub2Zmc2V0PXBhcnNlSW50KGlbMV0pKSksdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPVwieFwiPT10aGlzLnBvaW50ZXIueHk/XCJib3R0b21cIj09dGhpcy5wb2ludGVyLmFsaWduP1wiYm90dG9tXCI6XCJ0b3BcIjpcInJpZ2h0XCI9PXRoaXMucG9pbnRlci5hbGlnbj9cInJpZ2h0XCI6XCJsZWZ0XCIsdGhpcy53cmFwcGVyLmNzcyhcInBhZGRpbmctXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uLHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMucG9pbnRlci54eV0pLHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyh0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUsXCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduP1wiNTAlXCI6MCkuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSx0aGlzLnBvaW50ZXIub2Zmc2V0KSx0aGlzLnBvaW50ZXIubWFyZ2luPXt9LHRoaXMucG9pbnRlci5tYXJnaW5bXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlXT10aGlzLnBvaW50ZXIub2Zmc2V0LFwiY2VudGVyXCI9PXRoaXMucG9pbnRlci5hbGlnbiYmdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwidHJhbnNmb3JtXCIsXCJ0cmFuc2xhdGUoXCIrKFwieVwiPT10aGlzLnBvaW50ZXIueHk/LS41KnRoaXMucG9pbnRlci5kaW1lbnNpb25zLngrXCJweFwiOjApK1wiLCBcIisoXCJ4XCI9PXRoaXMucG9pbnRlci54eT8tLjUqdGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueStcInB4XCI6MCkrXCIpXCIpLHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcInhcIj09dGhpcy5wb2ludGVyLnh5P1wid2lkdGhcIjpcImhlaWdodFwiLHBhcnNlSW50KHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMucG9pbnRlci54eV0pK3BhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUrXCItd2lkdGhcIikpKSx0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pKSx0aGlzLnNldENvbnRlbnQodGhpcy5vcHRpb25zLmNvbnRlbnQsITApLHRoaXMuc2V0VGl0bGUodGhpcy5vcHRpb25zLnRpdGxlLCEwKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUoKSx0aGlzLl9maXJlRXZlbnQoXCJvbkNyZWF0ZWRcIikpfSx0aGlzLm9wdGlvbnMuY3JlYXRlT25Jbml0JiZ0aGlzLl9jcmVhdGUoKSx0aGlzLm9wdGlvbnMuYXR0YWNoJiZ0aGlzLmF0dGFjaCgpLHRoaXMuX2F0dGFjaEV2ZW50cz1mdW5jdGlvbigpe3RoaXMub3B0aW9ucy5kZWxheU9uSG92ZXImJnQoXCIjXCIrdGhpcy5pZCkub24oXCJtb3VzZWVudGVyXCIsZnVuY3Rpb24odCl7dGhpcy5pc0hvdmVyZWQ9ITB9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5kZWxheU9uSG92ZXImJnQoXCIjXCIrdGhpcy5pZCkub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24odCl7dGhpcy5pc0hvdmVyZWQ9ITF9LmJpbmQodGhpcykpLCh0aGlzLm9wdGlvbnMuYWRqdXN0UG9zaXRpb258fHRoaXMub3B0aW9ucy5yZXBvc2l0aW9uKSYmIXRoaXMuZml4ZWQmJnRoaXMub3V0c2lkZSYmKHRoaXMub3B0aW9ucy5hZGp1c3RUcmFja2VyJiZ0KHdpbmRvdykub24oXCJzY3JvbGwuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSksKHRoaXMub3B0aW9ucy5hZGp1c3RQb3NpdGlvbnx8dGhpcy5vcHRpb25zLnJlcG9zaXRpb24pJiZ0KHdpbmRvdykub24oXCJyZXNpemUuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSkpLFwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldCYmdChcImJvZHlcIikub24oXCJtb3VzZW1vdmUuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oe21vdXNlVGFyZ2V0Ont0b3A6dC5wYWdlWSxsZWZ0OnQucGFnZVh9fSl9LmJpbmQodGhpcykpfSx0aGlzLl9kZXRhY2hFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuY2xvc2VPbkVzYyYmdChkb2N1bWVudCkub2ZmKFwia2V5dXAuakJveC1cIit0aGlzLmlkKSwhMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJlwiYm9keVwiIT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrfHx0KGRvY3VtZW50KS5vZmYoXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCksdGhpcy5vcHRpb25zLmFkanVzdFRyYWNrZXImJnQod2luZG93KS5vZmYoXCJzY3JvbGwuakJveC1cIit0aGlzLmlkKSwodGhpcy5vcHRpb25zLmFkanVzdFBvc2l0aW9ufHx0aGlzLm9wdGlvbnMucmVwb3NpdGlvbikmJnQod2luZG93KS5vZmYoXCJyZXNpemUuakJveC1cIit0aGlzLmlkKSxcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQmJnQoXCJib2R5XCIpLm9mZihcIm1vdXNlbW92ZS5qQm94LVwiK3RoaXMuaWQpfSx0aGlzLl9zaG93T3ZlcmxheT1mdW5jdGlvbigpe3RoaXMub3ZlcmxheXx8KHRoaXMub3ZlcmxheT10KCc8ZGl2IGlkPVwiJyt0aGlzLmlkKyctb3ZlcmxheVwiLz4nKS5hZGRDbGFzcyhcImpCb3gtb3ZlcmxheVwiKyh0aGlzLnR5cGU/XCIgakJveC1vdmVybGF5LVwiK3RoaXMudHlwZTpcIlwiKSkuY3NzKHtkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MCx6SW5kZXg6dGhpcy5vcHRpb25zLnpJbmRleC0xfSkuYXBwZW5kVG8odGhpcy5vcHRpb25zLmFwcGVuZFRvKSx0aGlzLm9wdGlvbnMub3ZlcmxheUNsYXNzJiZ0aGlzLm92ZXJsYXkuYWRkQ2xhc3ModGhpcy5vcHRpb25zLm92ZXJsYXlDbGFzcyksXCJvdmVybGF5XCIhPXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3ZlcmxheS5hcHBlbmQodGhpcy5jbG9zZUJ1dHRvbiksXCJvdmVybGF5XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJnRoaXMub3ZlcmxheS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksdChcIiNcIit0aGlzLmlkK1wiLW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b25cIikubGVuZ3RoJiYodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcD1NYXRoLm1heCh0KFwiI1wiK3RoaXMuaWQrXCItb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvblwiKS5vdXRlckhlaWdodCgpLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3ApKSksITA9PT10aGlzLmFkanVzdFpJbmRleE9uT3BlbiYmdGhpcy5vdmVybGF5LmNzcyhcInpJbmRleFwiLHBhcnNlSW50KHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIiksMTApLTEpLFwiYmxvY2tcIiE9dGhpcy5vdmVybGF5LmNzcyhcImRpc3BsYXlcIikmJih0aGlzLm9wdGlvbnMuZmFkZT90aGlzLm92ZXJsYXkuc3RvcCgpJiZ0aGlzLm92ZXJsYXkuYW5pbWF0ZSh7b3BhY2l0eToxfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pfS5iaW5kKHRoaXMpfSk6dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcImJsb2NrXCIsb3BhY2l0eToxfSkpfSx0aGlzLl9oaWRlT3ZlcmxheT1mdW5jdGlvbigpe3RoaXMub3ZlcmxheSYmKHRoaXMub3B0aW9ucy5mYWRlP3RoaXMub3ZlcmxheS5zdG9wKCkmJnRoaXMub3ZlcmxheS5hbmltYXRlKHtvcGFjaXR5OjB9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxjb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KX0uYmluZCh0aGlzKX0pOnRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowfSkpfSx0aGlzLl9leHBvc2VEaW1lbnNpb25zPWZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmNzcyh7dG9wOi0xZTQsbGVmdDotMWU0LHJpZ2h0OlwiYXV0b1wiLGJvdHRvbTpcImF1dG9cIn0pO3ZhciB0PXt4OnRoaXMud3JhcHBlci5vdXRlcldpZHRoKCkseTp0aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKX07cmV0dXJuIHRoaXMud3JhcHBlci5jc3Moe3RvcDpcImF1dG9cIixsZWZ0OlwiYXV0b1wifSksdH0sdGhpcy5fZ2VuZXJhdGVBbmltYXRpb25DU1M9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiIT10LnR5cGUodGhpcy5vcHRpb25zLmFuaW1hdGlvbikmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uPXtwdWxzZTp7b3BlbjpcInB1bHNlXCIsY2xvc2U6XCJ6b29tT3V0XCJ9LHpvb21Jbjp7b3BlbjpcInpvb21JblwiLGNsb3NlOlwiem9vbUluXCJ9LHpvb21PdXQ6e29wZW46XCJ6b29tT3V0XCIsY2xvc2U6XCJ6b29tT3V0XCJ9LG1vdmU6e29wZW46XCJtb3ZlXCIsY2xvc2U6XCJtb3ZlXCJ9LHNsaWRlOntvcGVuOlwic2xpZGVcIixjbG9zZTpcInNsaWRlXCJ9LGZsaXA6e29wZW46XCJmbGlwXCIsY2xvc2U6XCJmbGlwXCJ9LHRhZGE6e29wZW46XCJ0YWRhXCIsY2xvc2U6XCJ6b29tT3V0XCJ9fVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uXSksIXRoaXMub3B0aW9ucy5hbmltYXRpb24pcmV0dXJuIG51bGw7dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuPXRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbi5zcGxpdChcIjpcIikpLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlPXRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2Uuc3BsaXQoXCI6XCIpKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5EaXJlY3Rpb249dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuWzFdfHxudWxsLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2VEaXJlY3Rpb249dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZVsxXXx8bnVsbCx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW49dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuWzBdKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlWzBdKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4rPVwiT3BlblwiKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSs9XCJDbG9zZVwiKTt2YXIgaT17cHVsc2U6e2R1cmF0aW9uOjM1MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCI1MCVcIixcInNjYWxlKDEuMSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tSW5PcGVuOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDAuOSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tSW5DbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgwLjkpXCJdXX0sem9vbU91dE9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMS4xKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21PdXRDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxLjEpXCJdXX0sbW92ZU9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAscG9zaXRpb25zOnt0b3A6e1wiMCVcIjotMTJ9LHJpZ2h0OntcIjAlXCI6MTJ9LGJvdHRvbTp7XCIwJVwiOjEyfSxsZWZ0OntcIjAlXCI6LTEyfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdXX0sbW92ZUNsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLHRpbWluZzpcImVhc2UtaW5cIixwb3NpdGlvbnM6e3RvcDp7XCIxMDAlXCI6LTEyfSxyaWdodDp7XCIxMDAlXCI6MTJ9LGJvdHRvbTp7XCIxMDAlXCI6MTJ9LGxlZnQ6e1wiMTAwJVwiOi0xMn19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXV19LHNsaWRlT3Blbjp7ZHVyYXRpb246NDAwLHBvc2l0aW9uczp7dG9wOntcIjAlXCI6LTQwMH0scmlnaHQ6e1wiMCVcIjo0MDB9LGJvdHRvbTp7XCIwJVwiOjQwMH0sbGVmdDp7XCIwJVwiOi00MDB9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl1dfSxzbGlkZUNsb3NlOntkdXJhdGlvbjo0MDAsdGltaW5nOlwiZWFzZS1pblwiLHBvc2l0aW9uczp7dG9wOntcIjEwMCVcIjotNDAwfSxyaWdodDp7XCIxMDAlXCI6NDAwfSxib3R0b206e1wiMTAwJVwiOjQwMH0sbGVmdDp7XCIxMDAlXCI6LTQwMH19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXV19LGZsaXBPcGVuOntkdXJhdGlvbjo2MDAsY3NzOltbXCIwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpXCJdLFtcIjQwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTE1ZGVnKVwiXSxbXCI3MCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDE1ZGVnKVwiXSxbXCIxMDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKVwiXV19LGZsaXBDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDMwMCxjc3M6W1tcIjAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKVwiXSxbXCIxMDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZylcIl1dfSx0YWRhOntkdXJhdGlvbjo4MDAsY3NzOltbXCIwJVwiLFwic2NhbGUoMSlcIl0sW1wiMTAlLCAyMCVcIixcInNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKVwiXSxbXCIzMCUsIDUwJSwgNzAlLCA5MCVcIixcInNjYWxlKDEuMSkgcm90YXRlKDNkZWcpXCJdLFtcIjQwJSwgNjAlLCA4MCVcIixcInNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKSByb3RhdGUoMClcIl1dfX07dC5lYWNoKFtcInB1bHNlXCIsXCJ0YWRhXCJdLGZ1bmN0aW9uKHQsbyl7aVtvK1wiT3BlblwiXT1pW28rXCJDbG9zZVwiXT1pW29dfSk7dmFyIG89ZnVuY3Rpb24obyxzKXt2YXIgZT1cIkBrZXlmcmFtZXMgakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIiB7XCI7cmV0dXJuIHQuZWFjaChpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLmNzcyxmdW5jdGlvbih0LG4pe3ZhciBhPXM/blsxXS5yZXBsYWNlKFwiJVhZXCIsdGhpcy5fZ2V0WFkocykudG9VcHBlckNhc2UoKSk6blsxXTtpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnBvc2l0aW9ucyYmKGE9YS5yZXBsYWNlKFwiJVZcIixpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnBvc2l0aW9uc1tzXVtuWzBdXSkpLGUrPW5bMF0rXCIge3RyYW5zZm9ybTpcIithK1wiO31cIn0uYmluZCh0aGlzKSksZSs9XCJ9XCIsZSs9XCIuakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIiB7XCIsZSs9XCJhbmltYXRpb24tZHVyYXRpb246IFwiK2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0uZHVyYXRpb24rXCJtcztcIixlKz1cImFuaW1hdGlvbi1uYW1lOiBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiO1wiLGUrPWlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0udGltaW5nP1wiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogXCIraVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS50aW1pbmcrXCI7XCI6XCJcIixlKz1cIn1cIn0uYmluZCh0aGlzKTt0aGlzLl9hbmltYXRpb25DU1M9XCJcIix0LmVhY2goW1wib3BlblwiLFwiY2xvc2VcIl0sZnVuY3Rpb24ocyxlKXtpZighdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXXx8IWlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXV18fFwiY2xvc2VcIj09ZSYmIXRoaXMub3B0aW9ucy5mYWRlKXJldHVyblwiXCI7aVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdXS5wb3NpdGlvbnM/dC5lYWNoKFtcInRvcFwiLFwicmlnaHRcIixcImJvdHRvbVwiLFwibGVmdFwiXSxmdW5jdGlvbih0LGkpe3RoaXMuX2FuaW1hdGlvbkNTUys9byhlLGkpfS5iaW5kKHRoaXMpKTp0aGlzLl9hbmltYXRpb25DU1MrPW8oZSl9LmJpbmQodGhpcykpfSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uJiZ0aGlzLl9nZW5lcmF0ZUFuaW1hdGlvbkNTUygpLHRoaXMuX2Jsb2NrQm9keUNsaWNrPWZ1bmN0aW9uKCl7dGhpcy5ibG9ja0JvZHlDbGljaz0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5ibG9ja0JvZHlDbGljaz0hMX0uYmluZCh0aGlzKSwxMCl9LHRoaXMuX2FuaW1hdGU9ZnVuY3Rpb24odCl7aWYodD10fHwodGhpcy5pc09wZW4/XCJvcGVuXCI6XCJjbG9zZVwiKSwhdGhpcy5vcHRpb25zLmZhZGUmJlwiY2xvc2VcIj09dClyZXR1cm4gbnVsbDt2YXIgaT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uW3QrXCJEaXJlY3Rpb25cIl18fChcImNlbnRlclwiIT10aGlzLmFsaWduP3RoaXMuYWxpZ246dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCk7dGhpcy5mbGlwcGVkJiZ0aGlzLl9nZXRYWShpKT09dGhpcy5fZ2V0WFkodGhpcy5hbGlnbikmJihpPXRoaXMuX2dldE9wcChpKSk7dmFyIG89XCJqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bdF0rXCItXCIrdCtcIiBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bdF0rXCItXCIrdCtcIi1cIitpO3RoaXMud3JhcHBlci5hZGRDbGFzcyhvKSxpPTFlMypwYXJzZUZsb2F0KHRoaXMud3JhcHBlci5jc3MoXCJhbmltYXRpb24tZHVyYXRpb25cIikpLFwiY2xvc2VcIj09dCYmKGk9TWF0aC5taW4oaSx0aGlzLm9wdGlvbnMuZmFkZSkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3Mobyl9LmJpbmQodGhpcyksaSl9LHRoaXMuX2Fib3J0QW5pbWF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53cmFwcGVyLmF0dHIoXCJjbGFzc1wiKS5zcGxpdChcIiBcIikuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5sYXN0SW5kZXhPZihcImpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb25cIiwwKX0uYmluZCh0aGlzKSk7dGhpcy53cmFwcGVyLmF0dHIoXCJjbGFzc1wiLHQuam9pbihcIiBcIikpfSwodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVXaWR0aHx8dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVIZWlnaHQpJiZ0KHdpbmRvdykub24oXCJyZXNpemUucmVzcG9uc2l2ZWpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmdGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSxcInN0cmluZ1wiPT09dC50eXBlKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8pJiYodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbz1bdGhpcy5vcHRpb25zLnByZWxvYWRBdWRpb10pLFwic3RyaW5nXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLmF1ZGlvKSYmKHRoaXMub3B0aW9ucy5hdWRpbz17b3Blbjp0aGlzLm9wdGlvbnMuYXVkaW99KSxcIm51bWJlclwiPT09dC50eXBlKHRoaXMub3B0aW9ucy52b2x1bWUpJiYodGhpcy5vcHRpb25zLnZvbHVtZT17b3Blbjp0aGlzLm9wdGlvbnMudm9sdW1lLGNsb3NlOnRoaXMub3B0aW9ucy52b2x1bWV9KSwhMD09PXRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8mJnRoaXMub3B0aW9ucy5hdWRpbyYmKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW89W10sdC5lYWNoKHRoaXMub3B0aW9ucy5hdWRpbyxmdW5jdGlvbih0LGkpe3RoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ucHVzaChpK1wiLm1wM1wiKSx0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLnB1c2goaStcIi5vZ2dcIil9LmJpbmQodGhpcykpKSx0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLmxlbmd0aCYmdC5lYWNoKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8sZnVuY3Rpb24odCxpKXt2YXIgbz1uZXcgQXVkaW87by5zcmM9aSxvLnByZWxvYWQ9XCJhdXRvXCJ9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkluaXRcIiksdGhpc312YXIgbyxzO3JldHVybiBpLnByb3RvdHlwZS5hdHRhY2g9ZnVuY3Rpb24oaSxvKXtyZXR1cm4gaT1pfHx0aGlzLm9wdGlvbnMuYXR0YWNoLFwic3RyaW5nXCI9PXQudHlwZShpKSYmKGk9dChpKSksbz1vfHx0aGlzLm9wdGlvbnMudHJpZ2dlcixpJiZpLmxlbmd0aCYmdC5lYWNoKGksZnVuY3Rpb24oaSxzKXsocz10KHMpKS5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKXx8KFwidGl0bGVcIj09dGhpcy5vcHRpb25zLmdldENvbnRlbnQmJm51bGwhPXMuYXR0cihcInRpdGxlXCIpJiZzLmRhdGEoXCJqQm94LWdldENvbnRlbnRcIixzLmF0dHIoXCJ0aXRsZVwiKSkucmVtb3ZlQXR0cihcInRpdGxlXCIpLHRoaXMuYXR0YWNoZWRFbGVtZW50c3x8KHRoaXMuYXR0YWNoZWRFbGVtZW50cz1bXSksdGhpcy5hdHRhY2hlZEVsZW1lbnRzLnB1c2goc1swXSkscy5vbihvK1wiLmpCb3gtYXR0YWNoLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dmFyIGk7dGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLFwibW91c2VlbnRlclwiPT1vJiZ0aGlzLmlzT3BlbiYmdGhpcy5zb3VyY2VbMF09PXNbMF18fCh0aGlzLmlzT3BlbiYmdGhpcy5zb3VyY2UmJnRoaXMuc291cmNlWzBdIT1zWzBdJiYoaT0hMCksdGhpcy5zb3VyY2U9cyx0aGlzLm9wdGlvbnMudGFyZ2V0fHwodGhpcy50YXJnZXQ9cyksXCJjbGlja1wiPT1vJiZ0aGlzLm9wdGlvbnMucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSx0aGlzW1wiY2xpY2tcIiE9b3x8aT9cIm9wZW5cIjpcInRvZ2dsZVwiXSgpKX0uYmluZCh0aGlzKSksXCJtb3VzZWVudGVyXCI9PXRoaXMub3B0aW9ucy50cmlnZ2VyJiZzLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKGkpe2lmKCF0aGlzLndyYXBwZXIpcmV0dXJuIG51bGw7dGhpcy5vcHRpb25zLmNsb3NlT25Nb3VzZWxlYXZlJiYoaS5yZWxhdGVkVGFyZ2V0PT10aGlzLndyYXBwZXJbMF18fHQoaS5yZWxhdGVkVGFyZ2V0KS5wYXJlbnRzKFwiI1wiK3RoaXMuaWQpLmxlbmd0aCl8fHRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSkscy5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkLG8pLHRoaXMuX2ZpcmVFdmVudChcIm9uQXR0YWNoXCIscykpfS5iaW5kKHRoaXMpKSx0aGlzfSxpLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oaSl7cmV0dXJuKGk9aXx8dGhpcy5hdHRhY2hlZEVsZW1lbnRzfHxbXSkmJmkubGVuZ3RoJiZ0LmVhY2goaSxmdW5jdGlvbihpLG8peyhvPXQobykpLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpJiYoby5vZmYoby5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKStcIi5qQm94LWF0dGFjaC1cIit0aGlzLmlkKSxvLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQsbnVsbCkpLHRoaXMuYXR0YWNoZWRFbGVtZW50cz10LmdyZXAodGhpcy5hdHRhY2hlZEVsZW1lbnRzLGZ1bmN0aW9uKHQpe3JldHVybiB0IT1vWzBdfSl9LmJpbmQodGhpcykpLHRoaXN9LGkucHJvdG90eXBlLnNldFRpdGxlPWZ1bmN0aW9uKGksbyl7aWYobnVsbD09aXx8bnVsbD09aSlyZXR1cm4gdGhpczt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGU9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKTtyZXR1cm4gdGhpcy50aXRsZXx8KHRoaXMudGl0bGVDb250YWluZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtdGl0bGVcIi8+JyksdGhpcy50aXRsZT10KFwiPGRpdi8+XCIpLmFwcGVuZFRvKHRoaXMudGl0bGVDb250YWluZXIpLFwidGl0bGVcIiE9dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3B0aW9ucy5vdmVybGF5KXx8KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtY2xvc2VCdXR0b24tdGl0bGVcIiksdGhpcy5jbG9zZUJ1dHRvbi5hcHBlbmRUbyh0aGlzLnRpdGxlQ29udGFpbmVyKSksdGhpcy50aXRsZUNvbnRhaW5lci5pbnNlcnRCZWZvcmUodGhpcy5jb250ZW50KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLHRoaXMud3JhcHBlcltpP1wiYWRkQ2xhc3NcIjpcInJlbW92ZUNsYXNzXCJdKFwiakJveC1oYXNUaXRsZVwiKSx0aGlzLnRpdGxlLmh0bWwoaSksZSE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLG98fCF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uQ29udGVudHx8cz09dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCkmJmU9PXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCl8fHRoaXMucG9zaXRpb24oKSx0aGlzfSxpLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKGksbyl7aWYobnVsbD09aXx8bnVsbD09aSlyZXR1cm4gdGhpczt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGU9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKTtzd2l0Y2godGhpcy5jb250ZW50LmNoaWxkcmVuKFwiW2RhdGEtamJveC1jb250ZW50LWFwcGVuZGVkXVwiKS5hcHBlbmRUbyhcImJvZHlcIikuY3NzKHtkaXNwbGF5Olwibm9uZVwifSksdC50eXBlKGkpKXtjYXNlXCJzdHJpbmdcIjp0aGlzLmNvbnRlbnQuaHRtbChpKTticmVhaztjYXNlXCJvYmplY3RcIjppJiYoaSBpbnN0YW5jZW9mIHR8fGkuY29uc3RydWN0b3IucHJvdG90eXBlLmpxdWVyeSk/KHRoaXMuY29udGVudC5odG1sKFwiXCIpLGkuYXR0cihcImRhdGEtamJveC1jb250ZW50LWFwcGVuZGVkXCIsMSkuYXBwZW5kVG8odGhpcy5jb250ZW50KS5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSkpOnRoaXMuY29udGVudC5odG1sKEpTT04uc3RyaW5naWZ5KGkpKX1yZXR1cm4gZSE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLG98fCF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uQ29udGVudHx8cz09dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCkmJmU9PXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCl8fHRoaXMucG9zaXRpb24oKSx0aGlzfSxpLnByb3RvdHlwZS5zZXREaW1lbnNpb25zPWZ1bmN0aW9uKHQsaSxvKXt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpLG51bGw9PWkmJihpPVwiYXV0b1wiKSx0aGlzLmNvbnRlbnQuY3NzKHQsdGhpcy5fZ2V0SW50KGkpKSxcIndpZHRoXCI9PXQmJnRoaXMuX3NldFRpdGxlV2lkdGgoKSx0aGlzLm9wdGlvbnNbdF09aSxudWxsIT1vJiYhb3x8dGhpcy5wb3NpdGlvbigpfSxpLnByb3RvdHlwZS5zZXRXaWR0aD1mdW5jdGlvbih0LGkpe3RoaXMuc2V0RGltZW5zaW9ucyhcIndpZHRoXCIsdCxpKX0saS5wcm90b3R5cGUuc2V0SGVpZ2h0PWZ1bmN0aW9uKHQsaSl7dGhpcy5zZXREaW1lbnNpb25zKFwiaGVpZ2h0XCIsdCxpKX0saS5wcm90b3R5cGUucG9zaXRpb249ZnVuY3Rpb24oaSl7aWYoaT1pfHx7fSxpPXQuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyxpKSx0aGlzLnRhcmdldD1pLnRhcmdldHx8dGhpcy50YXJnZXR8fHQod2luZG93KSx0aGlzLnRhcmdldCBpbnN0YW5jZW9mIHR8fFwibW91c2VcIj09dGhpcy50YXJnZXR8fCh0aGlzLnRhcmdldD10KHRoaXMudGFyZ2V0KSksIXRoaXMudGFyZ2V0Lmxlbmd0aClyZXR1cm4gdGhpczt0aGlzLmNvbnRlbnQuY3NzKHt3aWR0aDp0aGlzLl9nZXRJbnQoaS53aWR0aCxcIndpZHRoXCIpLGhlaWdodDp0aGlzLl9nZXRJbnQoaS5oZWlnaHQsXCJoZWlnaHRcIiksbWluV2lkdGg6dGhpcy5fZ2V0SW50KGkubWluV2lkdGgsXCJ3aWR0aFwiKSxtaW5IZWlnaHQ6dGhpcy5fZ2V0SW50KGkubWluSGVpZ2h0LFwiaGVpZ2h0XCIpLG1heFdpZHRoOnRoaXMuX2dldEludChpLm1heFdpZHRoLFwid2lkdGhcIiksbWF4SGVpZ2h0OnRoaXMuX2dldEludChpLm1heEhlaWdodCxcImhlaWdodFwiKX0pLHRoaXMuX3NldFRpdGxlV2lkdGgoKTt2YXIgbz10aGlzLl9leHBvc2VEaW1lbnNpb25zKCk7XCJtb3VzZVwiPT10aGlzLnRhcmdldHx8dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKXx8dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiLHRoaXMudGFyZ2V0WzBdIT10KHdpbmRvdylbMF0mJihcImZpeGVkXCI9PXRoaXMudGFyZ2V0LmNzcyhcInBvc2l0aW9uXCIpfHwwPHRoaXMudGFyZ2V0LnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm5cImZpeGVkXCI9PXQodGhpcykuY3NzKFwicG9zaXRpb25cIil9KS5sZW5ndGgpP1wiZml4ZWRcIjpcInN0YXRpY1wiKTt2YXIgcz17eDp0KHdpbmRvdykub3V0ZXJXaWR0aCgpLHk6dCh3aW5kb3cpLm91dGVySGVpZ2h0KCksdG9wOmkuZml4ZWQmJnRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIik/MDp0KHdpbmRvdykuc2Nyb2xsVG9wKCksbGVmdDppLmZpeGVkJiZ0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpPzA6dCh3aW5kb3cpLnNjcm9sbExlZnQoKX07cy5ib3R0b209cy50b3Arcy55LHMucmlnaHQ9cy5sZWZ0K3MueDt0cnl7dmFyIGU9dGhpcy50YXJnZXQub2Zmc2V0KCl9Y2F0Y2gocyl7ZT17dG9wOjAsbGVmdDowfX1cIm1vdXNlXCIhPXRoaXMudGFyZ2V0JiZcImZpeGVkXCI9PXRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIikmJmkuZml4ZWQmJihlLnRvcD1lLnRvcC10KHdpbmRvdykuc2Nyb2xsVG9wKCksZS5sZWZ0PWUubGVmdC10KHdpbmRvdykuc2Nyb2xsTGVmdCgpKTt2YXIgbj17eDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0PzEyOnRoaXMudGFyZ2V0Lm91dGVyV2lkdGgoKSx5OlwibW91c2VcIj09dGhpcy50YXJnZXQ/MjA6dGhpcy50YXJnZXQub3V0ZXJIZWlnaHQoKSx0b3A6XCJtb3VzZVwiPT10aGlzLnRhcmdldCYmaS5tb3VzZVRhcmdldD9pLm1vdXNlVGFyZ2V0LnRvcDplP2UudG9wOjAsbGVmdDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0JiZpLm1vdXNlVGFyZ2V0P2kubW91c2VUYXJnZXQubGVmdDplP2UubGVmdDowfSxhPWkub3V0c2lkZSYmIShcImNlbnRlclwiPT1pLnBvc2l0aW9uLngmJlwiY2VudGVyXCI9PWkucG9zaXRpb24ueSksaD17eDpzLngtaS5hZGp1c3REaXN0YW5jZS5sZWZ0LWkuYWRqdXN0RGlzdGFuY2UucmlnaHQseTpzLnktaS5hZGp1c3REaXN0YW5jZS50b3AtaS5hZGp1c3REaXN0YW5jZS5ib3R0b20sbGVmdDphP24ubGVmdC10KHdpbmRvdykuc2Nyb2xsTGVmdCgpLWkuYWRqdXN0RGlzdGFuY2UubGVmdDowLHJpZ2h0OmE/cy54LW4ubGVmdCt0KHdpbmRvdykuc2Nyb2xsTGVmdCgpLW4ueC1pLmFkanVzdERpc3RhbmNlLnJpZ2h0OjAsdG9wOmE/bi50b3AtdCh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3A6MCxib3R0b206YT9zLnktbi50b3ArdCh3aW5kb3cpLnNjcm9sbFRvcCgpLW4ueS1pLmFkanVzdERpc3RhbmNlLmJvdHRvbTowfSxyPXt4OlwieFwiIT1pLm91dHNpZGUmJlwieHlcIiE9aS5vdXRzaWRlfHxcIm51bWJlclwiPT10LnR5cGUoaS5wb3NpdGlvbi54KT9udWxsOmkucG9zaXRpb24ueCx5OlwieVwiIT1pLm91dHNpZGUmJlwieHlcIiE9aS5vdXRzaWRlfHxcIm51bWJlclwiPT10LnR5cGUoaS5wb3NpdGlvbi55KT9udWxsOmkucG9zaXRpb24ueX0scD17eDohMSx5OiExfTtyLngmJm8ueD5oW3IueF0mJmhbdGhpcy5fZ2V0T3BwKHIueCldPmhbci54XSYmKHIueD10aGlzLl9nZXRPcHAoci54KSkmJihwLng9ITApLHIueSYmby55Pmhbci55XSYmaFt0aGlzLl9nZXRPcHAoci55KV0+aFtyLnldJiYoci55PXRoaXMuX2dldE9wcChyLnkpKSYmKHAueT0hMCksKGkucmVzcG9uc2l2ZVdpZHRofHxpLnJlc3BvbnNpdmVIZWlnaHQpJiYoeD1mdW5jdGlvbigpe3ZhciB0O2kucmVzcG9uc2l2ZVdpZHRoJiZvLng+aFtyLnh8fFwieFwiXSYmKHQ9aFtyLnh8fFwieFwiXS0odGhpcy5wb2ludGVyJiZhJiZcInhcIj09aS5vdXRzaWRlP3RoaXMucG9pbnRlci5kaW1lbnNpb25zLng6MCktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLWxlZnQtd2lkdGhcIikpLXBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1yaWdodC13aWR0aFwiKSksdGhpcy5jb250ZW50LmNzcyh7d2lkdGg6dD50aGlzLm9wdGlvbnMucmVzcG9uc2l2ZU1pbldpZHRoP3Q6bnVsbCxtaW5XaWR0aDp0PHBhcnNlSW50KHRoaXMuY29udGVudC5jc3MoXCJtaW5XaWR0aFwiKSk/MDpudWxsfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSxvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKX0uYmluZCh0aGlzKSxpLnJlc3BvbnNpdmVXaWR0aCYmeCgpLGkucmVzcG9uc2l2ZVdpZHRoJiYhcC55JiZyLnkmJm8ueT5oW3IueV0mJmhbdGhpcy5fZ2V0T3BwKHIueSldPmhbci55XSYmKHIueT10aGlzLl9nZXRPcHAoci55KSkmJihwLnk9ITApLHk9ZnVuY3Rpb24oKXt2YXIgdDtpLnJlc3BvbnNpdmVIZWlnaHQmJm8ueT5oW3IueXx8XCJ5XCJdJiYodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpdGxlQ29udGFpbmVyfHx0aGlzLmZvb3Rlcj8oXCJub25lXCI9PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpPyh0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwiYmxvY2tcIiksdD0odGhpcy50aXRsZUNvbnRhaW5lcj90aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCk6MCkrKHRoaXMuZm9vdGVyP3RoaXMuZm9vdGVyLm91dGVySGVpZ2h0KCk6MCksdGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcIm5vbmVcIikpOnQ9KHRoaXMudGl0bGVDb250YWluZXI/dGhpcy50aXRsZUNvbnRhaW5lci5vdXRlckhlaWdodCgpOjApKyh0aGlzLmZvb3Rlcj90aGlzLmZvb3Rlci5vdXRlckhlaWdodCgpOjApLHR8fDApOjA7dmFyIHR9LmJpbmQodGhpcyksdD1oW3IueXx8XCJ5XCJdLSh0aGlzLnBvaW50ZXImJmEmJlwieVwiPT1pLm91dHNpZGU/dGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueTowKS10KCktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLXRvcC13aWR0aFwiKSktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLWJvdHRvbS13aWR0aFwiKSksdGhpcy5jb250ZW50LmNzcyh7aGVpZ2h0OnQ+dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVNaW5IZWlnaHQ/dDpudWxsfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSxvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKX0uYmluZCh0aGlzKSxpLnJlc3BvbnNpdmVIZWlnaHQmJnkoKSxpLnJlc3BvbnNpdmVIZWlnaHQmJiFwLngmJnIueCYmby54Pmhbci54XSYmaFt0aGlzLl9nZXRPcHAoci54KV0+aFtyLnhdJiYoci54PXRoaXMuX2dldE9wcChyLngpKSYmKHAueD0hMCksaS5hZGp1c3RQb3NpdGlvbiYmXCJtb3ZlXCIhPWkuYWRqdXN0UG9zaXRpb24mJihwLngmJngoKSxwLnkmJnkoKSkpO3ZhciBsPXt9LGQ9ZnVuY3Rpb24ocyl7aWYoXCJudW1iZXJcIiE9dC50eXBlKGkucG9zaXRpb25bc10pKXt2YXIgZT1pLmF0dHJpYnV0ZXNbc109XCJ4XCI9PXM/XCJsZWZ0XCI6XCJ0b3BcIjtpZihsW2VdPW5bZV0sXCJjZW50ZXJcIj09aS5wb3NpdGlvbltzXSlyZXR1cm4gbFtlXSs9TWF0aC5jZWlsKChuW3NdLW9bc10pLzIpLHZvaWQoXCJtb3VzZVwiIT10aGlzLnRhcmdldCYmdGhpcy50YXJnZXRbMF0mJnRoaXMudGFyZ2V0WzBdPT10KHdpbmRvdylbMF0mJihsW2VdKz0uNSooaS5hZGp1c3REaXN0YW5jZVtlXS1pLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldE9wcChlKV0pKSk7ZSE9aS5wb3NpdGlvbltzXSYmKGxbZV0rPW5bc10tb1tzXSksaS5vdXRzaWRlIT1zJiZcInh5XCIhPWkub3V0c2lkZXx8KGxbZV0rPW9bc10qKGUhPWkucG9zaXRpb25bc10/MTotMSkpfWVsc2UgbFtpLmF0dHJpYnV0ZXNbc11dPWkucG9zaXRpb25bc119LmJpbmQodGhpcyk7aWYoZChcInhcIiksZChcInlcIiksdGhpcy5wb2ludGVyJiZcInRhcmdldFwiPT1pLnBvaW50VG8mJlwibnVtYmVyXCIhPXQudHlwZShpLnBvc2l0aW9uLngpJiZcIm51bWJlclwiIT10LnR5cGUoaS5wb3NpdGlvbi55KSYmKGo9MCxcImNlbnRlclwiPT09dGhpcy5wb2ludGVyLmFsaWduP1wiY2VudGVyXCIhPWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldJiYoais9b1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMik6XCJjZW50ZXJcIj09PWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldP2orPShvW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yLXRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKSoodGhpcy5wb2ludGVyLmFsaWduPT10aGlzLl9nZXRUTCh0aGlzLnBvaW50ZXIuYWxpZ24pPzE6LTEpOmorPXRoaXMucG9pbnRlci5hbGlnbiE9aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0/dGhpcy5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXSooLTEhPT10LmluQXJyYXkodGhpcy5wb2ludGVyLmFsaWduLFtcInRvcFwiLFwibGVmdFwiXSk/MTotMSkrdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIqKC0xIT09dC5pbkFycmF5KHRoaXMucG9pbnRlci5hbGlnbixbXCJ0b3BcIixcImxlZnRcIl0pPy0xOjEpOnRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKigtMSE9PXQuaW5BcnJheSh0aGlzLnBvaW50ZXIuYWxpZ24sW1widG9wXCIsXCJsZWZ0XCJdKT8xOi0xKSxqKj1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXT09dGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPy0xOjEsais9dGhpcy5wb2ludGVyLm9mZnNldCoodGhpcy5wb2ludGVyLmFsaWduPT10aGlzLl9nZXRPcHAodGhpcy5fZ2V0VEwodGhpcy5wb2ludGVyLmFsaWduKSk/MTotMSksbFt0aGlzLl9nZXRUTCh0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnh5KSldKz1qKSxsW2kuYXR0cmlidXRlcy54XSs9aS5vZmZzZXQueCxsW2kuYXR0cmlidXRlcy55XSs9aS5vZmZzZXQueSx0aGlzLndyYXBwZXIuY3NzKGwpLGkuYWRqdXN0UG9zaXRpb24pe3RoaXMucG9zaXRpb25BZGp1c3RlZCYmKHRoaXMucG9pbnRlciYmdGhpcy53cmFwcGVyLmNzcyhcInBhZGRpbmdcIiwwKS5jc3MoXCJwYWRkaW5nLVwiK3RoaXMuX2dldE9wcCh0aGlzLm91dHNpZGUpLHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldFhZKHRoaXMub3V0c2lkZSldKS5yZW1vdmVDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIucG9zaXRpb24pKS5hZGRDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbiksdGhpcy5wb2ludGVyJiZ0aGlzLnBvaW50ZXIuZWxlbWVudC5hdHRyKFwiY2xhc3NcIixcImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItXCIrdGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSkpLmNzcyh0aGlzLnBvaW50ZXIubWFyZ2luKSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITEsdGhpcy5mbGlwcGVkPSExKTt2YXIgYz1zLnRvcD5sLnRvcC0oaS5hZGp1c3REaXN0YW5jZS50b3B8fDApLHU9cy5yaWdodDxsLmxlZnQrby54KyhpLmFkanVzdERpc3RhbmNlLnJpZ2h0fHwwKSxnPXMuYm90dG9tPGwudG9wK28ueSsoaS5hZGp1c3REaXN0YW5jZS5ib3R0b218fDApLG09cy5sZWZ0PmwubGVmdC0oaS5hZGp1c3REaXN0YW5jZS5sZWZ0fHwwKSxmPW0/XCJsZWZ0XCI6dT9cInJpZ2h0XCI6bnVsbCx4PWM/XCJ0b3BcIjpnP1wiYm90dG9tXCI6bnVsbDtpZihmfHx4KXtpZigoXCJNb2RhbFwiPT10aGlzLnR5cGV8fFwiQ29uZmlybVwiPT10aGlzLnR5cGUpJiZcIm51bWJlclwiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLngpJiZcIm51bWJlclwiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLnkpKXt2YXIgeT0wLGo9MDtyZXR1cm4gdGhpcy5vcHRpb25zLmhvbGRQb3NpdGlvbiYmKG0/eT1zLmxlZnQtKGwubGVmdC0oaS5hZGp1c3REaXN0YW5jZS5sZWZ0fHwwKSk6dSYmKHk9cy5yaWdodC0obC5sZWZ0K28ueCsoaS5hZGp1c3REaXN0YW5jZS5yaWdodHx8MCkpKSxjP2o9cy50b3AtKGwudG9wLShpLmFkanVzdERpc3RhbmNlLnRvcHx8MCkpOmcmJihqPXMuYm90dG9tLShsLnRvcCtvLnkrKGkuYWRqdXN0RGlzdGFuY2UuYm90dG9tfHwwKSkpLHRoaXMub3B0aW9ucy5wb3NpdGlvbi54PU1hdGgubWF4KHMudG9wLHRoaXMub3B0aW9ucy5wb3NpdGlvbi54K3kpLHRoaXMub3B0aW9ucy5wb3NpdGlvbi55PU1hdGgubWF4KHMubGVmdCx0aGlzLm9wdGlvbnMucG9zaXRpb24ueStqKSxkKFwieFwiKSxkKFwieVwiKSx0aGlzLndyYXBwZXIuY3NzKGwpKSx0aGlzLl9maXJlRXZlbnQoXCJvblBvc2l0aW9uXCIpLHRoaXN9ITAhPT1pLmFkanVzdFBvc2l0aW9uJiZcImZsaXBcIiE9PWkuYWRqdXN0UG9zaXRpb258fChiPWZ1bmN0aW9uKHQpe3RoaXMud3JhcHBlci5jc3ModGhpcy5fZ2V0VEwodCksbFt0aGlzLl9nZXRUTCh0KV0rKG9bdGhpcy5fZ2V0WFkodCldK2kub2Zmc2V0W3RoaXMuX2dldFhZKHQpXSooXCJ0b3BcIj09dHx8XCJsZWZ0XCI9PXQ/LTI6Mikrblt0aGlzLl9nZXRYWSh0KV0pKihcInRvcFwiPT10fHxcImxlZnRcIj09dD8xOi0xKSksdGhpcy5wb2ludGVyJiZ0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pLmFkZENsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci5wb3NpdGlvbikpLmNzcyhcInBhZGRpbmdcIiwwKS5jc3MoXCJwYWRkaW5nLVwiK3QsdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0WFkodCldKSx0aGlzLnBvaW50ZXImJnRoaXMucG9pbnRlci5lbGVtZW50LmF0dHIoXCJjbGFzc1wiLFwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci1cIit0KSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITAsdGhpcy5mbGlwcGVkPSEwfS5iaW5kKHRoaXMpLHAueCYmYih0aGlzLm9wdGlvbnMucG9zaXRpb24ueCkscC55JiZiKHRoaXMub3B0aW9ucy5wb3NpdGlvbi55KSk7dmFyIGI9XCJ4XCI9PXRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSk/eDpmO3RoaXMucG9pbnRlciYmXCJ0YXJnZXRcIj09aS5wb2ludFRvJiZcImZsaXBcIiE9aS5hZGp1c3RQb3NpdGlvbiYmdGhpcy5fZ2V0WFkoYik9PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRYWSh0aGlzLm91dHNpZGUpKSYmKHg9XCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduP29bdGhpcy5fZ2V0WFkoYildLzItdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci54eSldLzItcGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpKihiIT10aGlzLl9nZXRUTChiKT8tMToxKTpiPT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/cGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpOm9bdGhpcy5fZ2V0WFkoYildLXBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKS10aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRYWShiKV0sZj1iPT10aGlzLl9nZXRUTChiKT9zW3RoaXMuX2dldFRMKGIpXS1sW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW2JdOi0xKihzW3RoaXMuX2dldE9wcCh0aGlzLl9nZXRUTChiKSldLWxbdGhpcy5fZ2V0VEwoYildLWkuYWRqdXN0RGlzdGFuY2VbYl0tb1t0aGlzLl9nZXRYWShiKV0pLGI9PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRUTChiKSkmJmxbdGhpcy5fZ2V0VEwoYildLWY8c1t0aGlzLl9nZXRUTChiKV0raS5hZGp1c3REaXN0YW5jZVt0aGlzLl9nZXRUTChiKV0mJihmLT1zW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldFRMKGIpXS0obFt0aGlzLl9nZXRUTChiKV0tZikpLChmPU1hdGgubWluKGYseCkpPD14JiYwPGYmJih0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlLHBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKS1mKihiIT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/LTE6MSkpLHRoaXMud3JhcHBlci5jc3ModGhpcy5fZ2V0VEwoYiksbFt0aGlzLl9nZXRUTChiKV0rZiooYiE9dGhpcy5fZ2V0VEwoYik/LTE6MSkpLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMCkpfX1yZXR1cm4gdGhpcy5fZmlyZUV2ZW50KFwib25Qb3NpdGlvblwiKSx0aGlzfSwoaS5wcm90b3R5cGUudW5zY3JvbGw9ZnVuY3Rpb24odCl7aWYodGhpcy5zZXQ9ZnVuY3Rpb24odCxpKXt3aW5kb3cudW5zY3JvbGxTdG9yZXx8KHdpbmRvdy51bnNjcm9sbFN0b3JlPXt9KSx3aW5kb3cudW5zY3JvbGxTdG9yZVt0XT1pfSx0aGlzLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gd2luZG93LnVuc2Nyb2xsU3RvcmU/d2luZG93LnVuc2Nyb2xsU3RvcmVbdF06bnVsbH0sdGhpcy5nZXRTY3JvbGxiYXJXaWR0aD1mdW5jdGlvbigpe2lmKHRoaXMuZ2V0KFwic2Nyb2xsYmFyV2lkdGhcIikpcmV0dXJuIHRoaXMuZ2V0KFwic2Nyb2xsYmFyV2lkdGhcIikrXCJweFwiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5zdHlsZS53aWR0aD1cIjEwMHB4XCIsdC5zdHlsZS5oZWlnaHQ9XCIxMDBweFwiLHQuc3R5bGUub3ZlcmZsb3c9XCJzY3JvbGxcIix0LnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIix0LnN0eWxlLnRvcD1cIi0xMDAwMFwiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGk9dC5vZmZzZXRXaWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLHRoaXMuc2V0KFwic2Nyb2xsYmFyV2lkdGhcIixpKSxpK1wicHhcIn0sdGhpcy5nZXRFbGVtZW50c1RvQWRqdXN0PWZ1bmN0aW9uKHQpeyh0PVwic3RyaW5nXCI9PXR5cGVvZih0PXR8fFtdKT9bW3QsXCJwYWRkaW5nLXJpZ2h0XCJdXTp0KS5mb3JFYWNoKGZ1bmN0aW9uKGksbyl7XCJzdHJpbmdcIj09dHlwZW9mIGkmJih0W29dPVtpLFwicGFkZGluZy1yaWdodFwiXSl9KTtmb3IodmFyIGk9ITEsbz0wO288dC5sZW5ndGg7bysrKS0xIT09dFtvXVswXS5pbmRleE9mKFwiYm9keVwiKSYmKGk9ITApO3JldHVybiExPT09aSYmdC5wdXNoKFtcImJvZHlcIixcInBhZGRpbmctcmlnaHRcIl0pLHR9LHRoaXMucGFnZUhhc1Njcm9sbGJhcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFNjcm9sbGJhcldpZHRoKCkmJmRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodH0sdGhpcy5wYWdlSGFzU2Nyb2xsYmFyKCkpe3Q9dGhpcy5nZXRFbGVtZW50c1RvQWRqdXN0KHQpO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWZvcih2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRbaV1bMF0pLHM9MDtzPG8ubGVuZ3RoO3MrKyl7aWYob1tzXS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpKXJldHVybjt2YXIgZT10W2ldWzFdLG49d2luZG93LmdldENvbXB1dGVkU3R5bGUob1tzXSkuZ2V0UHJvcGVydHlWYWx1ZShlKTtvW3NdLnNldEF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIixlKSxuPW58fFwiMHB4XCI7dmFyIGE9XCJwYWRkaW5nLXJpZ2h0XCI9PWV8fFwicmlnaHRcIj09ZT9cIitcIjpcIi1cIjtvW3NdLnN0eWxlW2VdPVwiY2FsYyhcIituK1wiIFwiK2ErXCIgXCIrdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpK1wiKVwifX12YXIgaCxyO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidW5zY3JvbGwtY2xhc3MtbmFtZVwiKXx8KGg9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLChyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkudHlwZT1cInRleHQvY3NzXCIsci5zZXRBdHRyaWJ1dGUoXCJpZFwiLFwidW5zY3JvbGwtY2xhc3MtbmFtZVwiKSxyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiLnVuc2Nyb2xsYWJsZSB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVwiKSksaC5hcHBlbmRDaGlsZChyKSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwidW5zY3JvbGxhYmxlXCIpfSkucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLXVuc2Nyb2xsXVwiKSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBvPXRbaV0uZ2V0QXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiKTt0W2ldLnN0eWxlW29dPW51bGwsdFtpXS5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpfWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcInVuc2Nyb2xsYWJsZVwiKX0saS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihvKXtpZihvPW98fHt9LHRoaXMuaXNEZXN0cm95ZWQpcmV0dXJuIHRoaXM7aWYodGhpcy53cmFwcGVyfHx0aGlzLl9jcmVhdGUoKSx0aGlzLl9zdHlsZXN8fCh0aGlzLl9zdHlsZXM9dChcIjxzdHlsZS8+XCIpLmFwcGVuZCh0aGlzLl9hbmltYXRpb25DU1MpLmFwcGVuZFRvKHQoXCJoZWFkXCIpKSksdGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMuX2Jsb2NrQm9keUNsaWNrKCksdGhpcy5pc0Rpc2FibGVkKXJldHVybiB0aGlzO3RoaXMub3B0aW9ucy5jbG9zZU9uRXNjJiZ0KGRvY3VtZW50KS5vbihcImtleXVwLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXsyNz09dC5rZXlDb2RlJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSwhMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJlwiYm9keVwiIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGlja3x8KHQoXCJib2R5XCIpLm9uKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5ibG9ja0JvZHlDbGlja3x8XCJib2R5XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJih0LnRhcmdldD09dGhpcy53cmFwcGVyWzBdfHx0aGlzLndyYXBwZXIuaGFzKHQudGFyZ2V0KS5sZW5ndGgpfHx0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSx0aGlzLmlzVG91Y2hEZXZpY2UmJnQoXCJib2R5ID4gKlwiKS5vbihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKCl7cmV0dXJuITB9KSk7dmFyIHM9ZnVuY3Rpb24oKXshMD09PXRoaXMuYWRqdXN0WkluZGV4T25PcGVuJiYoaS56SW5kZXhNYXg9TWF0aC5tYXgocGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCksdGhpcy5vcHRpb25zLnpJbmRleCxpLnpJbmRleE1heHx8MCxpLnpJbmRleE1heERyYWdvdmVyfHwwKSsyLHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIixpLnpJbmRleE1heCksdGhpcy5vcHRpb25zLnpJbmRleD1pLnpJbmRleE1heCksdGhpcy5zb3VyY2UmJnRoaXMub3B0aW9ucy5nZXRUaXRsZSYmdGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpJiZ0aGlzLnNldFRpdGxlKHRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldFRpdGxlKSwhMCksdGhpcy5zb3VyY2UmJnRoaXMub3B0aW9ucy5nZXRDb250ZW50JiYodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiKT90aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiKSwhMCk6dGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0Q29udGVudCk/dGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldENvbnRlbnQpLCEwKTpcImh0bWxcIj09dGhpcy5vcHRpb25zLmdldENvbnRlbnQmJnRoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5odG1sKCksITApKSx0aGlzLl9maXJlRXZlbnQoXCJvbk9wZW5cIiksKHRoaXMub3B0aW9ucy5hamF4JiYodGhpcy5vcHRpb25zLmFqYXgudXJsfHx0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuYWpheC5nZXRVUkwpKSYmKCF0aGlzLmFqYXhMb2FkZWR8fHRoaXMub3B0aW9ucy5hamF4LnJlbG9hZCl8fG8uYWpheCYmKG8uYWpheC51cmx8fG8uYWpheC5kYXRhKSkmJihcInN0cmljdFwiPT10aGlzLm9wdGlvbnMuYWpheC5yZWxvYWR8fCF0aGlzLnNvdXJjZXx8IXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWFqYXgtZGF0YVwiKXx8by5hamF4JiYoby5hamF4LnVybHx8by5hamF4LmRhdGEpP3RoaXMuYWpheChvLmFqYXh8fG51bGwsITApOnRoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1hamF4LWRhdGFcIikpKSx0aGlzLnBvc2l0aW9uZWRPbk9wZW4mJiF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uT3Blbnx8IXRoaXMucG9zaXRpb24obyl8fCh0aGlzLnBvc2l0aW9uZWRPbk9wZW49ITApLHRoaXMuaXNDbG9zaW5nJiZ0aGlzLl9hYm9ydEFuaW1hdGlvbigpLHRoaXMuaXNPcGVufHwodGhpcy5pc09wZW49ITAsdGhpcy5vcHRpb25zLmF1dG9DbG9zZSYmKHRoaXMub3B0aW9ucy5kZWxheUNsb3NlPXRoaXMub3B0aW9ucy5hdXRvQ2xvc2UpJiZ0aGlzLmNsb3NlKCksdGhpcy5fYXR0YWNoRXZlbnRzKCksdGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsJiYodGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0P2kuYmxvY2tTY3JvbGxTY29wZXM/aS5ibG9ja1Njcm9sbFNjb3BlcysrOihpLmJsb2NrU2Nyb2xsU2NvcGVzPTEsdGhpcy51bnNjcm9sbChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdCl8fFwic3RyaW5nXCI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/dGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0Om51bGwpKTp0KFwiYm9keVwiKS5hZGRDbGFzcyhcImpCb3gtYmxvY2tTY3JvbGwtXCIrdGhpcy5pZCkpLHRoaXMub3B0aW9ucy5vdmVybGF5JiYodGhpcy5fc2hvd092ZXJsYXkoKSx0aGlzLnBvc2l0aW9uKCkpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJiF0aGlzLmlzQ2xvc2luZyYmdGhpcy5fYW5pbWF0ZShcIm9wZW5cIiksdGhpcy5vcHRpb25zLmF1ZGlvJiZ0aGlzLm9wdGlvbnMuYXVkaW8ub3BlbiYmdGhpcy5hdWRpbyh0aGlzLm9wdGlvbnMuYXVkaW8ub3Blbix0aGlzLm9wdGlvbnMudm9sdW1lLm9wZW4pLHRoaXMub3B0aW9ucy5mYWRlP3RoaXMud3JhcHBlci5zdG9wKCkuYW5pbWF0ZSh7b3BhY2l0eToxfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmlzT3BlbmluZz0hMCx0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pfS5iaW5kKHRoaXMpLGFsd2F5czpmdW5jdGlvbigpe3RoaXMuaXNPcGVuaW5nPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGUmJnRoaXMucG9zaXRpb24oKSYmKHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMSl9LmJpbmQodGhpcyksMTApfS5iaW5kKHRoaXMpfSk6KHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJibG9ja1wiLG9wYWNpdHk6MX0pLHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZSYmdGhpcy5wb3NpdGlvbigpJiYodGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSExKSkpfS5iaW5kKHRoaXMpO3JldHVybiF0aGlzLm9wdGlvbnMuZGVsYXlPcGVufHx0aGlzLmlzT3Blbnx8dGhpcy5pc0Nsb3Npbmd8fG8uaWdub3JlRGVsYXk/cygpOnRoaXMudGltZXI9c2V0VGltZW91dChzLHRoaXMub3B0aW9ucy5kZWxheU9wZW4pLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKG8pe2lmKG89b3x8e30sdChcImJvZHlcIikub2ZmKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQpLHRoaXMuaXNUb3VjaERldmljZSYmdChcImJvZHkgPiAqXCIpLm9mZihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkKSx0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmlzQ2xvc2luZylyZXR1cm4gdGhpcztpZih0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5fYmxvY2tCb2R5Q2xpY2soKSx0aGlzLmlzRGlzYWJsZWQpcmV0dXJuIHRoaXM7dmFyIHMsZSxuLGE9ZnVuY3Rpb24oKXt2YXIgbzt0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlXCIpLHRoaXMub3B0aW9ucy5jYW5jZWxBamF4T25DbG9zZSYmdGhpcy5jYW5jZWxBamF4KCksdGhpcy5pc09wZW4mJih0aGlzLmlzT3Blbj0hMSx0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGwmJih0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/KGkuYmxvY2tTY3JvbGxTY29wZXM9aS5ibG9ja1Njcm9sbFNjb3Blcz8tLWkuYmxvY2tTY3JvbGxTY29wZXM6MCl8fHRoaXMudW5zY3JvbGwucmVzZXQoKTp0KFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImpCb3gtYmxvY2tTY3JvbGwtXCIrdGhpcy5pZCkpLHRoaXMub3B0aW9ucy5vdmVybGF5JiZ0aGlzLl9oaWRlT3ZlcmxheSgpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJiF0aGlzLmlzT3BlbmluZyYmdGhpcy5fYW5pbWF0ZShcImNsb3NlXCIpLHRoaXMub3B0aW9ucy5hdWRpbyYmdGhpcy5vcHRpb25zLmF1ZGlvLmNsb3NlJiZ0aGlzLmF1ZGlvKHRoaXMub3B0aW9ucy5hdWRpby5jbG9zZSx0aGlzLm9wdGlvbnMudm9sdW1lLmNsb3NlKSwobz10aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldD8wOnRoaXMub3B0aW9ucy5mYWRlKT90aGlzLndyYXBwZXIuc3RvcCgpLmFuaW1hdGUoe29wYWNpdHk6MH0se3F1ZXVlOiExLGR1cmF0aW9uOm8sc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmlzQ2xvc2luZz0hMH0uYmluZCh0aGlzKSxjb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlQ29tcGxldGVcIil9LmJpbmQodGhpcyksYWx3YXlzOmZ1bmN0aW9uKCl7dGhpcy5pc0Nsb3Npbmc9ITF9LmJpbmQodGhpcyl9KToodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjB9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlQ29tcGxldGVcIikpKX0uYmluZCh0aGlzKTtyZXR1cm4gby5pZ25vcmVEZWxheXx8dGhpcy5pc1RvdWNoRGV2aWNlJiZcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQ/YSgpOih0aGlzLm9wdGlvbnMuZGVsYXlPbkhvdmVyfHx0aGlzLm9wdGlvbnMuc2hvd0NvdW50ZG93bikmJjEwPHRoaXMub3B0aW9ucy5kZWxheUNsb3NlPyhlPShzPXRoaXMpLm9wdGlvbnMuZGVsYXlDbG9zZSxuPURhdGUubm93KCksdGhpcy5vcHRpb25zLnNob3dDb3VudGRvd24mJiF0aGlzLmlubmVyJiYobz10KCc8ZGl2IGNsYXNzPVwiakJveC1jb3VudGRvd25cIiAvPicpLHRoaXMuaW5uZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtY291bnRkb3duLWlubmVyXCIgLz4nKSxvLnByZXBlbmQodGhpcy5pbm5lciksdChcIiNcIit0aGlzLmlkKS5hcHBlbmQobykpLHRoaXMuY291bnRkb3duPWZ1bmN0aW9uKCl7dmFyIHQ9RGF0ZS5ub3coKTtzLmlzSG92ZXJlZHx8KGUtPXQtbiksbj10LDA8ZT8ocy5vcHRpb25zLnNob3dDb3VudGRvd24mJnMuaW5uZXIuY3NzKFwid2lkdGhcIiwxMDAqZS9zLm9wdGlvbnMuZGVsYXlDbG9zZStcIiVcIiksd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShzLmNvdW50ZG93bikpOmEoKX0sd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmNvdW50ZG93bikpOnRoaXMudGltZXI9c2V0VGltZW91dChhLE1hdGgubWF4KHRoaXMub3B0aW9ucy5kZWxheUNsb3NlLDEwKSksdGhpc30saS5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzW3RoaXMuaXNPcGVuP1wiY2xvc2VcIjpcIm9wZW5cIl0odCksdGhpc30saS5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRGlzYWJsZWQ9ITAsdGhpc30saS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNEaXNhYmxlZD0hMSx0aGlzfSxpLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzYWJsZSgpLHRoaXMud3JhcHBlciYmKHRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKSx0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5Olwibm9uZVwifSkpLHRoaXMub3ZlcmxheSYmKHRoaXMuY2FjaGVPdmVybGF5RGlzcGxheT10aGlzLm92ZXJsYXkuY3NzKFwiZGlzcGxheVwiKSx0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5Olwibm9uZVwifSkpLHRoaXN9LGkucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmFibGUoKSx0aGlzLndyYXBwZXImJnRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheSYmKHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6dGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5fSksdGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5PW51bGwpLHRoaXMub3ZlcmxheSYmdGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5JiYodGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTp0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXl9KSx0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXk9bnVsbCksdGhpc30saS5wcm90b3R5cGUuYWpheD1mdW5jdGlvbihpLG8pe2k9aXx8e30sdC5lYWNoKFtbXCJnZXREYXRhXCIsXCJkYXRhXCJdLFtcImdldFVSTFwiLFwidXJsXCJdXSxmdW5jdGlvbih0LG8pe3RoaXMub3B0aW9ucy5hamF4W29bMF1dJiYhaVtvWzFdXSYmdGhpcy5zb3VyY2UmJm51bGwhPXRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmFqYXhbb1swXV0pJiYoaVtvWzFdXT10aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5hamF4W29bMF1dKXx8XCJcIil9LmJpbmQodGhpcykpO3ZhciBzPXQuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9ucy5hamF4KTt0aGlzLmNhbmNlbEFqYXgoKTt2YXIgZT1pLmJlZm9yZVNlbmR8fHMuYmVmb3JlU2VuZHx8ZnVuY3Rpb24oKXt9LG49aS5jb21wbGV0ZXx8cy5jb21wbGV0ZXx8ZnVuY3Rpb24oKXt9LGE9aS5zdWNjZXNzfHxzLnN1Y2Nlc3N8fGZ1bmN0aW9uKCl7fSxoPWkuZXJyb3J8fHMuZXJyb3J8fGZ1bmN0aW9uKCl7fSxyPXQuZXh0ZW5kKCEwLHMsaSk7cmV0dXJuIHIuYmVmb3JlU2VuZD1mdW5jdGlvbihpKXtyLmxvYWRpbmdDbGFzcyYmdGhpcy53cmFwcGVyLmFkZENsYXNzKCEwPT09ci5sb2FkaW5nQ2xhc3M/XCJqQm94LWxvYWRpbmdcIjpyLmxvYWRpbmdDbGFzcyksci5zcGlubmVyJiYodGhpcy5zcGlubmVyRGVsYXk9c2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtbG9hZGluZy1zcGlubmVyXCIpLHIuc3Bpbm5lclJlcG9zaXRpb24mJihvP3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMDp0aGlzLnBvc2l0aW9uKCkpLHRoaXMuc3Bpbm5lcj10KCEwIT09ci5zcGlubmVyP3Iuc3Bpbm5lcjonPGRpdiBjbGFzcz1cImpCb3gtc3Bpbm5lclwiPjwvZGl2PicpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSx0aGlzLnRpdGxlQ29udGFpbmVyJiZcImFic29sdXRlXCI9PXRoaXMuc3Bpbm5lci5jc3MoXCJwb3NpdGlvblwiKSYmdGhpcy5zcGlubmVyLmNzcyh7dHJhbnNmb3JtOlwidHJhbnNsYXRlWShcIisuNSp0aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCkrXCJweClcIn0pfS5iaW5kKHRoaXMpLFwiXCIhPXRoaXMuY29udGVudC5odG1sKCkmJnIuc3Bpbm5lckRlbGF5fHwwKSksZS5iaW5kKHRoaXMpKGkpfS5iaW5kKHRoaXMpLHIuY29tcGxldGU9ZnVuY3Rpb24odCl7dGhpcy5zcGlubmVyRGVsYXkmJmNsZWFyVGltZW91dCh0aGlzLnNwaW5uZXJEZWxheSksdGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1sb2FkaW5nIGpCb3gtbG9hZGluZy1zcGlubmVyIGpCb3gtbG9hZGluZy1zcGlubmVyLWRlbGF5XCIpLHRoaXMuc3Bpbm5lciYmdGhpcy5zcGlubmVyLmxlbmd0aCYmdGhpcy5zcGlubmVyLnJlbW92ZSgpJiZyLnNwaW5uZXJSZXBvc2l0aW9uJiYobz90aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITA6dGhpcy5wb3NpdGlvbigpKSx0aGlzLmFqYXhMb2FkZWQ9ITAsbi5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHIuc3VjY2Vzcz1mdW5jdGlvbih0KXtyLnNldENvbnRlbnQmJnRoaXMuc2V0Q29udGVudCh0LCEwKSYmKG8/dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSEwOnRoaXMucG9zaXRpb24oKSksci5zZXRDb250ZW50JiZ0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2UuZGF0YShcImpCb3gtYWpheC1kYXRhXCIsdCksYS5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHIuZXJyb3I9ZnVuY3Rpb24odCl7aC5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHRoaXMuYWpheFJlcXVlc3Q9dC5hamF4KHIpLHRoaXN9LGkucHJvdG90eXBlLmNhbmNlbEFqYXg9ZnVuY3Rpb24oKXt0aGlzLmFqYXhSZXF1ZXN0JiYodGhpcy5hamF4UmVxdWVzdC5hYm9ydCgpLHRoaXMuYWpheExvYWRlZD0hMSl9LGkucHJvdG90eXBlLmF1ZGlvPWZ1bmN0aW9uKG8scyl7aWYoIW8pcmV0dXJuIHRoaXM7dmFyIGU7KGkuX2F1ZGlvPWkuX2F1ZGlvP2kuX2F1ZGlvOnt9KVtvXXx8KGU9dChcIjxhdWRpby8+XCIpLHQoXCI8c291cmNlLz5cIix7c3JjOm8rXCIubXAzXCJ9KS5hcHBlbmRUbyhlKSx0KFwiPHNvdXJjZS8+XCIse3NyYzpvK1wiLm9nZ1wifSkuYXBwZW5kVG8oZSksaS5fYXVkaW9bb109ZVswXSksaS5fYXVkaW9bb10udm9sdW1lPU1hdGgubWluKChudWxsIT1zP3M6MTAwKS8xMDAsMSk7dHJ5e2kuX2F1ZGlvW29dLnBhdXNlKCksaS5fYXVkaW9bb10uY3VycmVudFRpbWU9MH1jYXRjaChvKXt9cmV0dXJuIGkuX2F1ZGlvW29dLnBsYXkoKSx0aGlzfSxpLl9hbmltYXRpb25TcGVlZHM9e3RhZGE6MWUzLHRhZGFTbWFsbDoxZTMsZmxhc2g6NTAwLHNoYWtlOjQwMCxwdWxzZVVwOjI1MCxwdWxzZURvd246MjUwLHBvcEluOjI1MCxwb3BPdXQ6MjUwLGZhZGVJbjoyMDAsZmFkZU91dDoyMDAsc2xpZGVVcDo0MDAsc2xpZGVSaWdodDo0MDAsc2xpZGVMZWZ0OjQwMCxzbGlkZURvd246NDAwfSxpLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQsbyl7bz1vfHx7fSx0aGlzLmFuaW1hdGlvblRpbWVvdXR8fCh0aGlzLmFuaW1hdGlvblRpbWVvdXQ9e30pLG8uZWxlbWVudHx8KG8uZWxlbWVudD10aGlzLndyYXBwZXIpLG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIil8fG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIixpLl9nZXRVbmlxdWVFbGVtZW50SUQoKSksby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiKSYmKG8uZWxlbWVudC5yZW1vdmVDbGFzcyhvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpKS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixudWxsKSx0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV0mJmNsZWFyVGltZW91dCh0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV0pKSxvLmVsZW1lbnQuYWRkQ2xhc3MoXCJqQm94LWFuaW1hdGVkLVwiK3QpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLFwiakJveC1hbmltYXRlZC1cIit0KSx0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV09c2V0VGltZW91dChmdW5jdGlvbigpe28uZWxlbWVudC5yZW1vdmVDbGFzcyhvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpKS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixudWxsKSxvLmNvbXBsZXRlJiZvLmNvbXBsZXRlKCl9LGkuX2FuaW1hdGlvblNwZWVkc1t0XSl9LGkucHJvdG90eXBlLnN3aXBlRGV0ZWN0b3I9ZnVuY3Rpb24oaSxvKXt2YXIgcz0wLGU9MCxuPTAsYT0wLGg9MDtyZXR1cm4gbz10LmV4dGVuZCh7c3dpcGVUaHJlc2hvbGQ6NzAsdXNlT25seVRvdWNoOiExfSxvKSxpLm9uKFwibW91c2Vkb3duIHRvdWNoc3RhcnRcIixmdW5jdGlvbih0KXtvLnVzZU9ubHlUb3VjaCYmIXQub3JpZ2luYWxFdmVudC50b3VjaGVzfHwodC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMmJih0PXQub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdKSwwPT09cyYmKHM9MSxlPXQuY2xpZW50WCxuPXQuY2xpZW50WSkpfSksdChcImh0bWxcIikub24oXCJtb3VzZXVwIHRvdWNoZW5kXCIsZnVuY3Rpb24oZSl7Mj09PXMmJihzPTAsTWF0aC5hYnMoYSk+TWF0aC5hYnMoaCkmJk1hdGguYWJzKGEpPm8uc3dpcGVUaHJlc2hvbGQ/YTwwP2kudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVMZWZ0LnNkXCIpKTppLnRyaWdnZXIodC5FdmVudChcInN3aXBlUmlnaHQuc2RcIikpOk1hdGguYWJzKGgpPm8uc3dpcGVUaHJlc2hvbGQmJihoPDA/aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZVVwLnNkXCIpKTppLnRyaWdnZXIodC5FdmVudChcInN3aXBlRG93bi5zZFwiKSkpKX0pLHQoXCJodG1sXCIpLm9uKFwibW91c2Vtb3ZlIHRvdWNobW92ZVwiLGZ1bmN0aW9uKHQpe3ZhciBpOzE9PT1zJiYoaT0odD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlcz90Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXTp0KS5jbGllbnRYLWUsdD10LmNsaWVudFktbiwoTWF0aC5hYnMoaSk+by5zd2lwZVRocmVzaG9sZHx8TWF0aC5hYnModCk+by5zd2lwZVRocmVzaG9sZCkmJihzPTIsYT1pLGg9dCkpfSksaX0saS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRldGFjaCgpLHRoaXMuaXNPcGVuJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pLHRoaXMud3JhcHBlciYmdGhpcy53cmFwcGVyLnJlbW92ZSgpLHRoaXMub3ZlcmxheSYmdGhpcy5vdmVybGF5LnJlbW92ZSgpLHRoaXMuX3N0eWxlcyYmdGhpcy5fc3R5bGVzLnJlbW92ZSgpLHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpc30saS5fZ2V0VW5pcXVlSUQ9KG89MSxmdW5jdGlvbigpe3JldHVybiBvKyt9KSxpLl9nZXRVbmlxdWVFbGVtZW50SUQ9KHM9MSxmdW5jdGlvbigpe3JldHVybiBzKyt9KSxpLl9wbHVnaW5PcHRpb25zPXt9LGkucGx1Z2luPWZ1bmN0aW9uKHQsbyl7aS5fcGx1Z2luT3B0aW9uc1t0XT1vfSx0LmZuLmpCb3g9ZnVuY3Rpb24obyxzKXtyZXR1cm4gcz1zfHx7fSxuZXcgaShvPW98fHt9LHQuZXh0ZW5kKHMse2F0dGFjaDp0aGlzfSkpfSxpfWZ1bmN0aW9uIGpCb3hDb25maXJtV3JhcHBlcihqQm94LGpRdWVyeSl7bmV3IGpCb3gucGx1Z2luKFwiQ29uZmlybVwiLHtjb25maXJtQnV0dG9uOlwiU3VibWl0XCIsY2FuY2VsQnV0dG9uOlwiQ2FuY2VsXCIsY29uZmlybTpudWxsLGNhbmNlbDpudWxsLGNsb3NlT25Db25maXJtOiEwLHRhcmdldDp3aW5kb3csZml4ZWQ6ITAsYXR0YWNoOlwiW2RhdGEtY29uZmlybV1cIixnZXRDb250ZW50OlwiZGF0YS1jb25maXJtXCIsY29udGVudDpcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkbyB0aGlzP1wiLG1pbldpZHRoOjM2MCxtYXhXaWR0aDo1MDAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6ITEsY2xvc2VCdXR0b246ITEsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIixwcmV2ZW50RGVmYXVsdDohMCxfb25BdHRhY2g6ZnVuY3Rpb24odCl7dmFyIGk7dGhpcy5vcHRpb25zLmNvbmZpcm18fChpPXQuYXR0cihcIm9uY2xpY2tcIik/dC5hdHRyKFwib25jbGlja1wiKTp0LmF0dHIoXCJocmVmXCIpP3QuYXR0cihcInRhcmdldFwiKT8nd2luZG93Lm9wZW4oXCInK3QuYXR0cihcImhyZWZcIikrJ1wiLCBcIicrdC5hdHRyKFwidGFyZ2V0XCIpKydcIik7Jzond2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIicrdC5hdHRyKFwiaHJlZlwiKSsnXCI7JzpcIlwiLHQucHJvcChcIm9uY2xpY2tcIixudWxsKS5kYXRhKFwiakJveC1Db25maXJtLXN1Ym1pdFwiLGkpKX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtTW9kYWxcIiksdGhpcy5mb290ZXI9alF1ZXJ5KCc8ZGl2IGNsYXNzPVwiakJveC1Db25maXJtLWZvb3RlclwiLz4nKSxqUXVlcnkoJzxkaXYgY2xhc3M9XCJqQm94LUNvbmZpcm0tYnV0dG9uIGpCb3gtQ29uZmlybS1idXR0b24tY2FuY2VsXCIvPicpLmh0bWwodGhpcy5vcHRpb25zLmNhbmNlbEJ1dHRvbikub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jYW5jZWwmJnRoaXMub3B0aW9ucy5jYW5jZWwodGhpcy5zb3VyY2UpLHRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSkuYXBwZW5kVG8odGhpcy5mb290ZXIpLHRoaXMuc3VibWl0QnV0dG9uPWpRdWVyeSgnPGRpdiBjbGFzcz1cImpCb3gtQ29uZmlybS1idXR0b24gakJveC1Db25maXJtLWJ1dHRvbi1zdWJtaXRcIi8+JykuaHRtbCh0aGlzLm9wdGlvbnMuY29uZmlybUJ1dHRvbikuYXBwZW5kVG8odGhpcy5mb290ZXIpLHRoaXMuZm9vdGVyLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKX0sX29uT3BlbjpmdW5jdGlvbigpe3RoaXMuc3VibWl0QnV0dG9uLm9mZihcImNsaWNrLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQpLm9uKFwiY2xpY2suakJveC1Db25maXJtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1Db25maXJtXCIrdGhpcy5pZCxmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jb25maXJtP3RoaXMub3B0aW9ucy5jb25maXJtKHRoaXMuc291cmNlKTpldmFsKHRoaXMuc291cmNlLmRhdGEoXCJqQm94LUNvbmZpcm0tc3VibWl0XCIpKSx0aGlzLm9wdGlvbnMuY2xvc2VPbkNvbmZpcm0mJnRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSl9fSl9ZnVuY3Rpb24gakJveEltYWdlV3JhcHBlcih0LGkpe25ldyB0LnBsdWdpbihcIkltYWdlXCIse3NyYzpcImhyZWZcIixnYWxsZXJ5OlwiZGF0YS1qYm94LWltYWdlXCIsaW1hZ2VMYWJlbDpcInRpdGxlXCIsaW1hZ2VGYWRlOjM2MCxpbWFnZVNpemU6XCJjb250YWluXCIsaW1hZ2VDb3VudGVyOiExLGltYWdlQ291bnRlclNlcGFyYXRvcjpcIi9cIixkb3dubG9hZEJ1dHRvbjohMSxkb3dubG9hZEJ1dHRvblRleHQ6bnVsbCxkb3dubG9hZEJ1dHRvblVybDpudWxsLG1vYmlsZUltYWdlQXR0cjpudWxsLG1vYmlsZUltYWdlQnJlYWtwb2ludDpudWxsLHByZWxvYWRGaXJzdEltYWdlOiExLHRhcmdldDp3aW5kb3csYXR0YWNoOlwiW2RhdGEtamJveC1pbWFnZV1cIixmaXhlZDohMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazpcImJ1dHRvblwiLGNsb3NlQnV0dG9uOiEwLG92ZXJsYXk6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIscHJldmVudERlZmF1bHQ6ITAsd2lkdGg6XCIxMDAlXCIsaGVpZ2h0OlwiMTAwJVwiLGFkanVzdERpc3RhbmNlOnt0b3A6NDAscmlnaHQ6MCxib3R0b206NDAsbGVmdDowfSxfb25Jbml0OmZ1bmN0aW9uKCl7dGhpcy5pbWFnZXM9dGhpcy5jdXJyZW50SW1hZ2U9e30sdGhpcy5pbWFnZVpJbmRleD0xLHRoaXMuaW5pdEltYWdlPWZ1bmN0aW9uKHQpe3ZhciBvLHM7KHQ9aSh0KSkuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiKXx8KG89dC5hdHRyKHRoaXMub3B0aW9ucy5zcmMpLHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHImJnRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUJyZWFrcG9pbnQmJnQuYXR0cih0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyKSYmaSh3aW5kb3cpLndpZHRoKCk8PXRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUJyZWFrcG9pbnQmJihvPXQuYXR0cih0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyKSkscz10LmF0dHIodGhpcy5vcHRpb25zLmdhbGxlcnkpfHxcImRlZmF1bHRcIix0aGlzLmltYWdlc1tzXXx8KHRoaXMuaW1hZ2VzW3NdPVtdKSx0aGlzLmltYWdlc1tzXS5wdXNoKHtzcmM6byxsYWJlbDp0LmF0dHIodGhpcy5vcHRpb25zLmltYWdlTGFiZWwpfHxcIlwiLGRvd25sb2FkVXJsOnRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCYmdC5hdHRyKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCk/dC5hdHRyKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCk6bnVsbH0pLFwidGl0bGVcIj09dGhpcy5vcHRpb25zLmltYWdlTGFiZWwmJnQucmVtb3ZlQXR0cihcInRpdGxlXCIpLHQuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiLHMpLHQuZGF0YShcImpCb3gtaW1hZ2UtaWRcIix0aGlzLmltYWdlc1tzXS5sZW5ndGgtMSkpfS5iaW5kKHRoaXMpLHRoaXMuYXR0YWNoZWRFbGVtZW50cyYmdGhpcy5hdHRhY2hlZEVsZW1lbnRzLmxlbmd0aCYmaS5lYWNoKHRoaXMuYXR0YWNoZWRFbGVtZW50cyxmdW5jdGlvbih0LGkpe3RoaXMuaW5pdEltYWdlKGkpfS5iaW5kKHRoaXMpKTt2YXIgdD1mdW5jdGlvbih0LG8scyxlKXtpZighaShcIiNqQm94LWltYWdlLVwiK3QrXCItXCIrbykubGVuZ3RoKXt2YXIgbj1pKFwiPGRpdi8+XCIse2lkOlwiakJveC1pbWFnZS1cIit0K1wiLVwiK28sY2xhc3M6XCJqQm94LWltYWdlLWNvbnRhaW5lclwiKyhzP1wiIGpCb3gtaW1hZ2UtXCIrdCtcIi1jdXJyZW50XCI6XCJcIil9KS5jc3Moe2JhY2tncm91bmRTaXplOnRoaXMub3B0aW9ucy5pbWFnZVNpemUsb3BhY2l0eTplPzE6MCx6SW5kZXg6cz90aGlzLmltYWdlWkluZGV4Kys6MH0pLmFwcGVuZFRvKHRoaXMuY29udGVudCk7cmV0dXJuIHRoaXMuc3dpcGVEZXRlY3RvcihuKS5vbihcInN3aXBlTGVmdC5zZCBzd2lwZVJpZ2h0LnNkXCIsZnVuY3Rpb24odCl7XCJzd2lwZUxlZnRcIj09PXQudHlwZT90aGlzLnNob3dJbWFnZShcIm5leHRcIik6XCJzd2lwZVJpZ2h0XCI9PT10LnR5cGUmJnRoaXMuc2hvd0ltYWdlKFwicHJldlwiKX0uYmluZCh0aGlzKSksaShcIjxkaXYvPlwiLHtpZDpcImpCb3gtaW1hZ2UtbGFiZWwtXCIrdCtcIi1cIitvLGNsYXNzOlwiakJveC1pbWFnZS1sYWJlbFwiKyhzP1wiIGFjdGl2ZVwiOlwiXCIpfSkuaHRtbCh0aGlzLmltYWdlc1t0XVtvXS5sYWJlbCkub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe2kodGhpcykudG9nZ2xlQ2xhc3MoXCJleHBhbmRlZFwiKX0pLmFwcGVuZFRvKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcikscyYmbi5hbmltYXRlKHtvcGFjaXR5OjF9LGU/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKSxufX0uYmluZCh0aGlzKTt0aGlzLmRvd25sb2FkSW1hZ2U9ZnVuY3Rpb24odCl7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7aS5ocmVmPXQsaS5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLHQuc3Vic3RyaW5nKHQubGFzdEluZGV4T2YoXCIvXCIpKzEpKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpLGkuY2xpY2soKX07dmFyIG89ZnVuY3Rpb24obyxzLGUsbil7dmFyIGE9dChvLHMsZSxuKTthLmFkZENsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGkoJzxpbWcgc3JjPVwiJyt0aGlzLmltYWdlc1tvXVtzXS5zcmMrJ1wiIC8+JykuZWFjaChmdW5jdGlvbigpe3ZhciB0PW5ldyBJbWFnZTt0Lm9ubG9hZD1mdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksYS5jc3Moe2JhY2tncm91bmRJbWFnZTondXJsKFwiJyt0aGlzLmltYWdlc1tvXVtzXS5zcmMrJ1wiKSd9KX0uYmluZCh0aGlzKSx0Lm9uZXJyb3I9ZnVuY3Rpb24oKXthLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGEuYWRkQ2xhc3MoXCJqQm94LWltYWdlLW5vdC1mb3VuZFwiKX0uYmluZCh0aGlzKSx0LnNyYz10aGlzLmltYWdlc1tvXVtzXS5zcmN9LmJpbmQodGhpcykpfS5iaW5kKHRoaXMpO3RoaXMuc2hvd0ltYWdlPWZ1bmN0aW9uKHQpe3ZhciBzLGUsbjtpZihcIm9wZW5cIiE9dClzPXRoaXMuY3VycmVudEltYWdlLmdhbGxlcnksbj0obj10aGlzLmN1cnJlbnRJbWFnZS5pZCsoKyhcInByZXZcIj09dCk/LTE6MSkpPnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xPzA6bjwwP3RoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xOm47ZWxzZXtpZih0aGlzLnNvdXJjZSlzPXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIiksbj10aGlzLnNvdXJjZS5kYXRhKFwiakJveC1pbWFnZS1pZFwiKTtlbHNle2lmKCF0aGlzLmF0dGFjaGVkRWxlbWVudHN8fCF0aGlzLmF0dGFjaGVkRWxlbWVudHMubGVuZ3RoKXJldHVybjtzPWkodGhpcy5hdHRhY2hlZEVsZW1lbnRzWzBdKS5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIpLG49aSh0aGlzLmF0dGFjaGVkRWxlbWVudHNbMF0pLmRhdGEoXCJqQm94LWltYWdlLWlkXCIpfXRoaXMuaW1hZ2VzJiZ0aGlzLmltYWdlc1tzXSYmaShcIi5qQm94LWltYWdlLXBvaW50ZXItcHJldiwgLmpCb3gtaW1hZ2UtcG9pbnRlci1uZXh0XCIpLmNzcyh7ZGlzcGxheToxPHRoaXMuaW1hZ2VzW3NdLmxlbmd0aD9cImJsb2NrXCI6XCJub25lXCJ9KX1pKFwiLmpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmxlbmd0aCYmaShcIi5qQm94LWltYWdlLVwiK3MrXCItY3VycmVudFwiKS5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmFuaW1hdGUoe29wYWNpdHk6MH0sXCJvcGVuXCI9PXQ/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKSx0aGlzLmN1cnJlbnRJbWFnZT17Z2FsbGVyeTpzLGlkOm59LGkoXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmxlbmd0aD9pKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmNzcyh7ekluZGV4OnRoaXMuaW1hZ2VaSW5kZXgrKyxvcGFjaXR5OjB9KS5hbmltYXRlKHtvcGFjaXR5OjF9LFwib3BlblwiPT10PzA6dGhpcy5vcHRpb25zLmltYWdlRmFkZSk6byhzLG4sITAsXCJvcGVuXCI9PT10KSxlPXMsdD1uLGkoXCIuakJveC1pbWFnZS1sYWJlbC5hY3RpdmVcIikucmVtb3ZlQ2xhc3MoXCJhY3RpdmUgZXhwYW5kZWRcIiksaShcIiNqQm94LWltYWdlLWxhYmVsLVwiK2UrXCItXCIrdCkuYWRkQ2xhc3MoXCJhY3RpdmVcIiksdGhpcy5pbWFnZUNvdW50ZXImJih0aGlzLmltYWdlc1tzXSYmMTx0aGlzLmltYWdlc1tzXS5sZW5ndGg/KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtaGFzLWNvdW50ZXJcIiksdGhpcy5pbWFnZUNvdW50ZXIuZmluZChcIi5qQm94LWltYWdlLWNvdW50ZXItYWxsXCIpLmh0bWwodGhpcy5pbWFnZXNbc10ubGVuZ3RoKSx0aGlzLmltYWdlQ291bnRlci5maW5kKFwiLmpCb3gtaW1hZ2UtY291bnRlci1jdXJyZW50XCIpLmh0bWwobisxKSk6dGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1oYXMtY291bnRlclwiKSksdGhpcy5pbWFnZXNbc10mJnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xJiYobj0obis9MSk+dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE/MDpuPDA/dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE6bixpKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5sZW5ndGh8fG8ocyxuLCExLCExKSl9LHRoaXMub3B0aW9ucy5wcmVsb2FkRmlyc3RJbWFnZSYmaSh3aW5kb3cpLm9uKFwibG9hZFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJvcGVuXCIpfS5iaW5kKHRoaXMpKX0sX29uQXR0YWNoOmZ1bmN0aW9uKHQpe3RoaXMuaW5pdEltYWdlJiZ0aGlzLmluaXRJbWFnZSh0KX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuaW1hZ2VMYWJlbFdyYXBwZXI9aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtbGFiZWwtd3JhcHBlclwiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMuaW1hZ2VQcmV2QnV0dG9uPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLXBvaW50ZXItcHJldlwiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJwcmV2XCIpfS5iaW5kKHRoaXMpKSx0aGlzLmltYWdlTmV4dEJ1dHRvbj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1wb2ludGVyLW5leHRcIi8+Jykub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuc2hvd0ltYWdlKFwibmV4dFwiKX0uYmluZCh0aGlzKSksdGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLWxhYmVsLWNvbnRhaW5lclwiLz4nKSx0aGlzLmltYWdlTGFiZWxXcmFwcGVyLmFwcGVuZCh0aGlzLmltYWdlUHJldkJ1dHRvbikuYXBwZW5kKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcikuYXBwZW5kKHRoaXMuaW1hZ2VOZXh0QnV0dG9uKSx0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b24mJih0aGlzLmRvd25sb2FkQnV0dG9uPWkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi13cmFwcGVyXCJ9KS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLmFwcGVuZCh0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25UZXh0P2koXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi10ZXh0XCJ9KS5odG1sKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblRleHQpOm51bGwpLmFwcGVuZChpKFwiPGRpdi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1kb3dubG9hZC1idXR0b24taWNvblwifSkpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt2YXIgdDt0PXRoaXMuaW1hZ2VzW3RoaXMuY3VycmVudEltYWdlLmdhbGxlcnldW3RoaXMuY3VycmVudEltYWdlLmlkXS5kb3dubG9hZFVybHx8dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1pbWFnZS1cIit0aGlzLmN1cnJlbnRJbWFnZS5nYWxsZXJ5K1wiLWN1cnJlbnRcIilbMF0uc3R5bGUuYmFja2dyb3VuZEltYWdlLnNsaWNlKDQsLTEpLnJlcGxhY2UoL1tcIiddL2csXCJcIiksdGhpcy5kb3dubG9hZEltYWdlKHQpfS5iaW5kKHRoaXMpKSksdGhpcy5vcHRpb25zLmltYWdlQ291bnRlciYmKHRoaXMuaW1hZ2VDb3VudGVyPWkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWNvdW50ZXItY29udGFpbmVyXCJ9KS5pbnNlcnRBZnRlcih0aGlzLmltYWdlTGFiZWxDb250YWluZXIpLHRoaXMuaW1hZ2VDb3VudGVyLmFwcGVuZChpKFwiPHNwYW4vPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1jdXJyZW50XCJ9KSkuYXBwZW5kKGkoXCI8c3Bhbi8+XCIpLmh0bWwodGhpcy5vcHRpb25zLmltYWdlQ291bnRlclNlcGFyYXRvcikpLmFwcGVuZChpKFwiPHNwYW4vPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1hbGxcIn0pKSl9LF9vbk9wZW46ZnVuY3Rpb24oKXtpKGRvY3VtZW50KS5vbihcImtleXVwLmpCb3gtSW1hZ2UtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXszNz09dC5rZXlDb2RlJiZ0aGlzLnNob3dJbWFnZShcInByZXZcIiksMzk9PXQua2V5Q29kZSYmdGhpcy5zaG93SW1hZ2UoXCJuZXh0XCIpfS5iaW5kKHRoaXMpKSx0aGlzLnNob3dJbWFnZShcIm9wZW5cIil9LF9vbkNsb3NlOmZ1bmN0aW9uKCl7aShkb2N1bWVudCkub2ZmKFwia2V5dXAuakJveC1JbWFnZS1cIit0aGlzLmlkKX0sX29uQ2xvc2VDb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtaW1hZ2UtY29udGFpbmVyXCIpLmNzcyhcIm9wYWNpdHlcIiwwKX19KX1mdW5jdGlvbiBqQm94Tm90aWNlV3JhcHBlcih0LGkpe25ldyB0LnBsdWdpbihcIk5vdGljZVwiLHtjb2xvcjpudWxsLHN0YWNrOiEwLHN0YWNrU3BhY2luZzoxMCxhdXRvQ2xvc2U6NmUzLGF0dHJpYnV0ZXM6e3g6XCJyaWdodFwiLHk6XCJ0b3BcIn0scG9zaXRpb246e3g6MTUseToxNX0scmVzcG9uc2l2ZVBvc2l0aW9uczp7NTAwOnt4OjUseTo1fSw3Njg6e3g6MTAseToxMH19LHRhcmdldDp3aW5kb3csZml4ZWQ6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIsY2xvc2VPbkNsaWNrOlwiYm94XCIsekluZGV4OjEyZTMsX29uSW5pdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdE5vdGljZVBvc2l0aW9uPWkuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucy5wb3NpdGlvbiksdGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbj1mdW5jdGlvbigpe3ZhciB0PWkod2luZG93KSxvPXQud2lkdGgoKTt0LmhlaWdodCgpLHRoaXMub3B0aW9ucy5wb3NpdGlvbj1pLmV4dGVuZCh7fSx0aGlzLmRlZmF1bHROb3RpY2VQb3NpdGlvbiksaS5lYWNoKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlUG9zaXRpb25zLGZ1bmN0aW9uKHQsaSl7aWYobzw9dClyZXR1cm4gdGhpcy5vcHRpb25zLnBvc2l0aW9uPWksITF9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT17dG9wOnRoaXMub3B0aW9ucy5wb3NpdGlvbi55LHJpZ2h0OnRoaXMub3B0aW9ucy5wb3NpdGlvbi54LGJvdHRvbTp0aGlzLm9wdGlvbnMucG9zaXRpb24ueSxsZWZ0OnRoaXMub3B0aW9ucy5wb3NpdGlvbi54fX0sdGhpcy5vcHRpb25zLmNvbnRlbnQgaW5zdGFuY2VvZiBpJiYodGhpcy5vcHRpb25zLmNvbnRlbnQ9dGhpcy5vcHRpb25zLmNvbnRlbnQuY2xvbmUoKS5hdHRyKFwiaWRcIixcIlwiKSksaSh3aW5kb3cpLm9uKFwicmVzaXplLnJlc3BvbnNpdmVqQm94Tm90aWNlLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5pc09wZW4mJnRoaXMuX2FkanVzdE5vdGljZVBvc2l0b24oKX0uYmluZCh0aGlzKSksdGhpcy5vcGVuKCl9LF9vbkNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LU5vdGljZS1jb2xvciBqQm94LU5vdGljZS1cIisodGhpcy5vcHRpb25zLmNvbG9yfHxcImdyYXlcIikpLHRoaXMud3JhcHBlci5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIix0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54K1wiLVwiK3RoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLnkpfSxfb25PcGVuOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnN0YWNrfHwodGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbigpLGkuZWFjaChpKFwiLmpCb3gtTm90aWNlXCIpLGZ1bmN0aW9uKHQsbyl7KG89aShvKSkuYXR0cihcImlkXCIpIT10aGlzLmlkJiZvLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiKT09dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCtcIi1cIit0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy55JiYodGhpcy5vcHRpb25zLnN0YWNrfHxvLmRhdGEoXCJqQm94XCIpLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pKX0uYmluZCh0aGlzKSkpfSxfb25Qb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0LG89e307Zm9yKHQgaW4gaS5lYWNoKGkoXCIuakJveC1Ob3RpY2VcIiksZnVuY3Rpb24odCxzKXt2YXIgZT0ocz1pKHMpKS5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIik7b1tlXXx8KG9bZV09W10pLG9bZV0ucHVzaChzKX0pLG8pe3ZhciBzPXQuc3BsaXQoXCItXCIpWzFdO29bdF0ucmV2ZXJzZSgpO3ZhciBlLG49MDtmb3IoZSBpbiBvW3RdKXt2YXIgYT1pKG9bdF1bZV0pO2EuY3NzKFwibWFyZ2luLVwiK3Msbiksbis9YS5vdXRlckhlaWdodCgpK3RoaXMub3B0aW9ucy5zdGFja1NwYWNpbmd9fX0sX29uQ2xvc2VDb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMuZGVzdHJveSgpLHRoaXMub3B0aW9ucy5fb25Qb3NpdGlvbi5iaW5kKHRoaXMpLmNhbGwoKX19KX0hZnVuY3Rpb24odCxpKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtcImpxdWVyeVwiXSxmdW5jdGlvbihvKXtyZXR1cm4gdC5qQm94PWkobyl9KTpcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz10LmpCb3g9aShyZXF1aXJlKFwianF1ZXJ5XCIpKTp0LmpCb3g9aSh0LmpRdWVyeSl9KHRoaXMsZnVuY3Rpb24odCl7dmFyIGk9akJveFdyYXBwZXIodCk7dHJ5e3ZvaWQgMCE9PWpCb3hDb25maXJtV3JhcHBlciYmakJveENvbmZpcm1XcmFwcGVyJiZqQm94Q29uZmlybVdyYXBwZXIoaSx0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfXRyeXt2b2lkIDAhPT1qQm94SW1hZ2VXcmFwcGVyJiZqQm94SW1hZ2VXcmFwcGVyJiZqQm94SW1hZ2VXcmFwcGVyKGksdCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX10cnl7dm9pZCAwIT09akJveE5vdGljZVdyYXBwZXImJmpCb3hOb3RpY2VXcmFwcGVyJiZqQm94Tm90aWNlV3JhcHBlcihpLHQpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9cmV0dXJuIGl9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltcENiM2d1WVd4c0xtMXBiaTVxY3lKZExDSnVZVzFsY3lJNld5SnFRbTk0VjNKaGNIQmxjaUlzSW1JaUxDSm9JaXdpZENJc0lta2lMQ0owYUdseklpd2liM0IwYVc5dWN5SXNJbWxrSWl3aWQybGtkR2dpTENKb1pXbG5hSFFpTENKdGFXNVhhV1IwYUNJc0ltMXBia2hsYVdkb2RDSXNJbTFoZUZkcFpIUm9JaXdpYldGNFNHVnBaMmgwSWl3aWNtVnpjRzl1YzJsMlpWZHBaSFJvSWl3aWNtVnpjRzl1YzJsMlpVaGxhV2RvZENJc0luSmxjM0J2Ym5OcGRtVk5hVzVYYVdSMGFDSXNJbkpsYzNCdmJuTnBkbVZOYVc1SVpXbG5hSFFpTENKaGRIUmhZMmdpTENKMGNtbG5aMlZ5SWl3aWNISmxkbVZ1ZEVSbFptRjFiSFFpTENKamIyNTBaVzUwSWl3aVoyVjBRMjl1ZEdWdWRDSXNJblJwZEd4bElpd2laMlYwVkdsMGJHVWlMQ0ptYjI5MFpYSWlMQ0pwYzI5c1lYUmxVMk55YjJ4c0lpd2lZV3BoZUNJc0luVnliQ0lzSW1SaGRHRWlMQ0p5Wld4dllXUWlMQ0puWlhSVlVrd2lMQ0puWlhSRVlYUmhJaXdpYzJWMFEyOXVkR1Z1ZENJc0lteHZZV1JwYm1kRGJHRnpjeUlzSW5Od2FXNXVaWElpTENKemNHbHVibVZ5UkdWc1lYa2lMQ0p6Y0dsdWJtVnlVbVZ3YjNOcGRHbHZiaUlzSW1OaGJtTmxiRUZxWVhoUGJrTnNiM05sSWl3aWRHRnlaMlYwSWl3aWNHOXphWFJwYjI0aUxDSjRJaXdpZVNJc0ltOTFkSE5wWkdVaUxDSnZabVp6WlhRaUxDSmhkSFJ5YVdKMWRHVnpJaXdpWm1sNFpXUWlMQ0poWkdwMWMzUlFiM05wZEdsdmJpSXNJbUZrYW5WemRGUnlZV05yWlhJaUxDSmhaR3AxYzNSRWFYTjBZVzVqWlNJc0luSmxjRzl6YVhScGIyNGlMQ0p5WlhCdmMybDBhVzl1VDI1UGNHVnVJaXdpY21Wd2IzTnBkR2x2Yms5dVEyOXVkR1Z1ZENJc0ltaHZiR1JRYjNOcGRHbHZiaUlzSW5CdmFXNTBaWElpTENKd2IybHVkRlJ2SWl3aVptRmtaU0lzSW1GdWFXMWhkR2x2YmlJc0luUm9aVzFsSWl3aVlXUmtRMnhoYzNNaUxDSnZkbVZ5YkdGNUlpd2liM1psY214aGVVTnNZWE56SWl3aWVrbHVaR1Y0SWl3aVpHVnNZWGxQY0dWdUlpd2laR1ZzWVhsRGJHOXpaU0lzSW1Oc2IzTmxUMjVGYzJNaUxDSmpiRzl6WlU5dVEyeHBZMnNpTENKamJHOXpaVTl1VFc5MWMyVnNaV0YyWlNJc0ltTnNiM05sUW5WMGRHOXVJaXdpWVhCd1pXNWtWRzhpTENKamNtVmhkR1ZQYmtsdWFYUWlMQ0ppYkc5amExTmpjbTlzYkNJc0ltSnNiMk5yVTJOeWIyeHNRV1JxZFhOMElpd2laSEpoWjJkaFlteGxJaXdpWkhKaFowOTJaWElpTENKaGRYUnZRMnh2YzJVaUxDSmtaV3hoZVU5dVNHOTJaWElpTENKemFHOTNRMjkxYm5Sa2IzZHVJaXdpY0hKbGJHOWhaRUYxWkdsdklpd2lZWFZrYVc4aUxDSjJiMngxYldVaUxDSnZia2x1YVhRaUxDSnZia0YwZEdGamFDSXNJbTl1VUc5emFYUnBiMjRpTENKdmJrTnlaV0YwWldRaUxDSnZiazl3Wlc0aUxDSnZia05zYjNObElpd2liMjVEYkc5elpVTnZiWEJzWlhSbElpd2liMjVFY21GblUzUmhjblFpTENKdmJrUnlZV2RGYm1RaUxDSmZjR3gxWjJsdVQzQjBhVzl1Y3lJc0lsUnZiMngwYVhBaUxDSk5iM1Z6WlNJc0lrMXZaR0ZzSWl3aWQybHVaRzkzSWl3aVpYaDBaVzVrSWl3aWRIbHdaU0lzSW1selZHOTFZMmhFWlhacFkyVWlMQ0p6Y0d4cGRDSXNJa1J2WTNWdFpXNTBWRzkxWTJnaUxDSmtiMk4xYldWdWRDSXNJbXB2YVc0aUxDSnRZWFJqYUUxbFpHbGhJaXdpYldGMFkyaGxjeUlzSWw5bWFYSmxSWFpsYm5RaUxDSmlhVzVrSWl3aVgyZGxkRlZ1YVhGMVpVbEVJaXdpZEc5d0lpd2ljbWxuYUhRaUxDSmliM1IwYjIwaUxDSnNaV1owSWl3aVlXeHBaMjRpTENKNlNXNWtaWGhOWVhnaUxDSk5ZWFJvSWl3aWJXRjRJaXdpWVdScWRYTjBXa2x1WkdWNFQyNVBjR1Z1SWl3aWRISjFaVTF2WkdGc0lpd2lYMmRsZEU5d2NDSXNJbDluWlhSWVdTSXNJbU5sYm5SbGNpSXNJbDluWlhSVVRDSXNJbDluWlhSSmJuUWlMQ0p6YkdsalpTSXNJbkJoY25ObFNXNTBJaXdpY21Wd2JHRmpaU0lzSWw5amNtVmhkR1ZUVmtjaUxDSnZJaXdpWTNKbFlYUmxSV3hsYldWdWRFNVRJaXdpWldGamFDSXNJbk5sZEVGMGRISnBZblYwWlNJc0lsOXBjMjlzWVhSbFUyTnliMnhzSWl3aVpTSXNJbXhsYm1kMGFDSXNJbTl1SWl3aWQyaGxaV3hFWld4MFlTSXNJbTl5YVdkcGJtRnNSWFpsYm5RaUxDSmtaWFJoYVd3aUxDSnpZM0p2Ykd4VWIzQWlMQ0p2ZFhSbGNraGxhV2RvZENJc0luTmpjbTlzYkVobGFXZG9kQ0lzSW5NaUxDSmZjMlYwVkdsMGJHVlhhV1IwYUNJc0luUnBkR3hsUTI5dWRHRnBibVZ5SWl3aWMzUjViR1VpTENKM2NtRndjR1Z5SWl3aVkzTnpJaXdpYjNWMFpYSlhhV1IwYUNJc0lsOWtjbUZuWjJGaWJHVWlMQ0p1SWl3aVlTSXNJbUoxZEhSdmJpSXNJbWhoYzBOc1lYTnpJaXdpY0dGeVpXNTBjeUlzSW1Oc2IzTmxJaXdpYVdkdWIzSmxSR1ZzWVhraUxDSjBiM1ZqYUdWeklpd2ljR0ZuWlZnaUxDSndZV2RsV1NJc0ltUnlZV2RuYVc1blUzUmhjblJZSWl3aVpISmhaMmRwYm1kVGRHRnlkRmtpTENKNlNXNWtaWGhOWVhoRWNtRm5iM1psY2lJc0ltUnlZV2RuYVc1bklpd2liMlptSWl3aWMyTnliMnhzVEdWbWRDSXNJbDlqY21WaGRHVWlMQ0pqYkdGemN5SXNJbVJwYzNCc1lYa2lMQ0p2Y0dGamFYUjVJaXdpYzI5MWNtTmxJaXdpY21Wc1lYUmxaRlJoY21kbGRDSXNJbWx1UVhKeVlYa2lMQ0pqYjI1MFlXbHVaWElpTENKaGNIQmxibVFpTENKaGNIQmxibVJEYUdsc1pDSXNJbVpwYm1RaUxDSjRlU0lzSW1Wc1pXMWxiblFpTENKa2FXMWxibk5wYjI1eklpd2lZV3hwWjI1QmRIUnlhV0oxZEdVaUxDSnRZWEpuYVc0aUxDSnpaWFJVYVhSc1pTSXNJbDloZEhSaFkyaEZkbVZ1ZEhNaUxDSnBjMGh2ZG1WeVpXUWlMQ0p0YjNWelpWUmhjbWRsZENJc0lsOWtaWFJoWTJoRmRtVnVkSE1pTENKZmMyaHZkMDkyWlhKc1lYa2lMQ0p6ZEc5d0lpd2lZVzVwYldGMFpTSXNJbkYxWlhWbElpd2laSFZ5WVhScGIyNGlMQ0p6ZEdGeWRDSXNJbDlvYVdSbFQzWmxjbXhoZVNJc0ltTnZiWEJzWlhSbElpd2lYMlY0Y0c5elpVUnBiV1Z1YzJsdmJuTWlMQ0pmWjJWdVpYSmhkR1ZCYm1sdFlYUnBiMjVEVTFNaUxDSndkV3h6WlNJc0ltOXdaVzRpTENKNmIyOXRTVzRpTENKNmIyOXRUM1YwSWl3aWJXOTJaU0lzSW5Oc2FXUmxJaXdpWm14cGNDSXNJblJoWkdFaUxDSnZjR1Z1UkdseVpXTjBhVzl1SWl3aVkyeHZjMlZFYVhKbFkzUnBiMjRpTENKNmIyOXRTVzVQY0dWdUlpd2llbTl2YlVsdVEyeHZjMlVpTENKNmIyOXRUM1YwVDNCbGJpSXNJbnB2YjIxUGRYUkRiRzl6WlNJc0ltMXZkbVZQY0dWdUlpd2ljRzl6YVhScGIyNXpJaXdpTUNVaUxDSnRiM1psUTJ4dmMyVWlMQ0owYVcxcGJtY2lMQ0l4TURBbElpd2ljMnhwWkdWUGNHVnVJaXdpYzJ4cFpHVkRiRzl6WlNJc0ltWnNhWEJQY0dWdUlpd2labXhwY0VOc2IzTmxJaXdpZEc5VmNIQmxja05oYzJVaUxDSmZZVzVwYldGMGFXOXVRMU5USWl3aVgySnNiMk5yUW05a2VVTnNhV05ySWl3aVlteHZZMnRDYjJSNVEyeHBZMnNpTENKelpYUlVhVzFsYjNWMElpd2lYMkZ1YVcxaGRHVWlMQ0pwYzA5d1pXNGlMQ0ptYkdsd2NHVmtJaXdpY0dGeWMyVkdiRzloZENJc0ltMXBiaUlzSW5KbGJXOTJaVU5zWVhOeklpd2lYMkZpYjNKMFFXNXBiV0YwYVc5dUlpd2lZWFIwY2lJc0ltWnBiSFJsY2lJc0lteGhjM1JKYm1SbGVFOW1JaXdpY0hWemFDSXNJa0YxWkdsdklpd2ljM0pqSWl3aWNISmxiRzloWkNJc0luQnliM1J2ZEhsd1pTSXNJbkpsYlc5MlpVRjBkSElpTENKaGRIUmhZMmhsWkVWc1pXMWxiblJ6SWl3aWRHbHRaWElpTENKamJHVmhjbFJwYldWdmRYUWlMQ0prWlhSaFkyZ2lMQ0puY21Wd0lpd2lhVzV6WlhKMFFtVm1iM0psSWl3aWFIUnRiQ0lzSW1Ob2FXeGtjbVZ1SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pxY1hWbGNua2lMQ0pLVTA5T0lpd2ljM1J5YVc1bmFXWjVJaXdpYzJWMFJHbHRaVzV6YVc5dWN5SXNJbk5sZEZkcFpIUm9JaXdpYzJWMFNHVnBaMmgwSWl3aWNpSXNJbVlpTENKd0lpd2liQ0lzSW1ObGFXd2lMQ0p3YjNOcGRHbHZia0ZrYW5WemRHVmtJaXdpWkNJc0ltTWlMQ0oxSWl3aVp5SXNJbTBpTENKcUlpd2lkVzV6WTNKdmJHd2lMQ0p6WlhRaUxDSjFibk5qY205c2JGTjBiM0psSWl3aVoyVjBJaXdpWjJWMFUyTnliMnhzWW1GeVYybGtkR2dpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpYjNabGNtWnNiM2NpTENKaWIyUjVJaXdpYjJabWMyVjBWMmxrZEdnaUxDSmpiR2xsYm5SWGFXUjBhQ0lzSW5KbGJXOTJaVU5vYVd4a0lpd2laMlYwUld4bGJXVnVkSE5VYjBGa2FuVnpkQ0lzSW1admNrVmhZMmdpTENKcGJtUmxlRTltSWl3aWNHRm5aVWhoYzFOamNtOXNiR0poY2lJc0ltOW1abk5sZEVobGFXZG9kQ0lzSW1sdWJtVnlTR1ZwWjJoMElpd2ljWFZsY25sVFpXeGxZM1J2Y2tGc2JDSXNJbWRsZEVGMGRISnBZblYwWlNJc0ltZGxkRU52YlhCMWRHVmtVM1I1YkdVaUxDSm5aWFJRY205d1pYSjBlVlpoYkhWbElpd2laMlYwUld4bGJXVnVkRUo1U1dRaUxDSm9aV0ZrSWl3aVoyVjBSV3hsYldWdWRITkNlVlJoWjA1aGJXVWlMQ0pqY21WaGRHVlVaWGgwVG05a1pTSXNJbU5zWVhOelRHbHpkQ0lzSW1Ga1pDSXNJbkpsYzJWMElpd2ljbVZ0YjNabFFYUjBjbWxpZFhSbElpd2ljbVZ0YjNabElpd2lhWE5FWlhOMGNtOTVaV1FpTENKZmMzUjViR1Z6SWl3aWFYTkVhWE5oWW14bFpDSXNJbXRsZVVOdlpHVWlMQ0pvWVhNaUxDSmhhbUY0VEc5aFpHVmtJaXdpY0c5emFYUnBiMjVsWkU5dVQzQmxiaUlzSW1selEyeHZjMmx1WnlJc0ltSnNiMk5yVTJOeWIyeHNVMk52Y0dWeklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lhWE5QY0dWdWFXNW5JaXdpWVd4M1lYbHpJaXdpY0c5emFYUnBiMjVQYmtaaFpHVkRiMjF3YkdWMFpTSXNJbU5oYm1ObGJFRnFZWGdpTENKRVlYUmxJaXdpYm05M0lpd2lhVzV1WlhJaUxDSndjbVZ3Wlc1a0lpd2lZMjkxYm5Sa2IzZHVJaXdpY21WeGRXVnpkRUZ1YVcxaGRHbHZia1p5WVcxbElpd2lkRzluWjJ4bElpd2laR2x6WVdKc1pTSXNJbVZ1WVdKc1pTSXNJbWhwWkdVaUxDSmpZV05vWlZkeVlYQndaWEpFYVhOd2JHRjVJaXdpWTJGamFHVlBkbVZ5YkdGNVJHbHpjR3hoZVNJc0luTm9iM2NpTENKaVpXWnZjbVZUWlc1a0lpd2ljM1ZqWTJWemN5SXNJbVZ5Y205eUlpd2lkSEpoYm5ObWIzSnRJaXdpWVdwaGVGSmxjWFZsYzNRaUxDSmhZbTl5ZENJc0lsOWhkV1JwYnlJc0luQmhkWE5sSWl3aVkzVnljbVZ1ZEZScGJXVWlMQ0p3YkdGNUlpd2lYMkZ1YVcxaGRHbHZibE53WldWa2N5SXNJblJoWkdGVGJXRnNiQ0lzSW1ac1lYTm9JaXdpYzJoaGEyVWlMQ0p3ZFd4elpWVndJaXdpY0hWc2MyVkViM2R1SWl3aWNHOXdTVzRpTENKd2IzQlBkWFFpTENKbVlXUmxTVzRpTENKbVlXUmxUM1YwSWl3aWMyeHBaR1ZWY0NJc0luTnNhV1JsVW1sbmFIUWlMQ0p6Ykdsa1pVeGxablFpTENKemJHbGtaVVJ2ZDI0aUxDSmhibWx0WVhScGIyNVVhVzFsYjNWMElpd2lYMmRsZEZWdWFYRjFaVVZzWlcxbGJuUkpSQ0lzSW5OM2FYQmxSR1YwWldOMGIzSWlMQ0p6ZDJsd1pWUm9jbVZ6YUc5c1pDSXNJblZ6WlU5dWJIbFViM1ZqYUNJc0ltTnNhV1Z1ZEZnaUxDSmpiR2xsYm5SWklpd2lZV0p6SWl3aVJYWmxiblFpTENKa1pYTjBjbTk1SWl3aWNHeDFaMmx1SWl3aVptNGlMQ0pxUW05NElpd2lha0p2ZUVOdmJtWnBjbTFYY21Gd2NHVnlJaXdpYWxGMVpYSjVJaXdpWTI5dVptbHliVUoxZEhSdmJpSXNJbU5oYm1ObGJFSjFkSFJ2YmlJc0ltTnZibVpwY20waUxDSmpZVzVqWld3aUxDSmpiRzl6WlU5dVEyOXVabWx5YlNJc0lsOXZia0YwZEdGamFDSXNJbkJ5YjNBaUxDSmZiMjVEY21WaGRHVmtJaXdpYzNWaWJXbDBRblYwZEc5dUlpd2lYMjl1VDNCbGJpSXNJbVYyWVd3aUxDSnFRbTk0U1cxaFoyVlhjbUZ3Y0dWeUlpd2laMkZzYkdWeWVTSXNJbWx0WVdkbFRHRmlaV3dpTENKcGJXRm5aVVpoWkdVaUxDSnBiV0ZuWlZOcGVtVWlMQ0pwYldGblpVTnZkVzUwWlhJaUxDSnBiV0ZuWlVOdmRXNTBaWEpUWlhCaGNtRjBiM0lpTENKa2IzZHViRzloWkVKMWRIUnZiaUlzSW1SdmQyNXNiMkZrUW5WMGRHOXVWR1Y0ZENJc0ltUnZkMjVzYjJGa1FuVjBkRzl1VlhKc0lpd2liVzlpYVd4bFNXMWhaMlZCZEhSeUlpd2liVzlpYVd4bFNXMWhaMlZDY21WaGEzQnZhVzUwSWl3aWNISmxiRzloWkVacGNuTjBTVzFoWjJVaUxDSmZiMjVKYm1sMElpd2lhVzFoWjJWeklpd2lZM1Z5Y21WdWRFbHRZV2RsSWl3aWFXMWhaMlZhU1c1a1pYZ2lMQ0pwYm1sMFNXMWhaMlVpTENKc1lXSmxiQ0lzSW1SdmQyNXNiMkZrVlhKc0lpd2lZbUZqYTJkeWIzVnVaRk5wZW1VaUxDSnphRzkzU1cxaFoyVWlMQ0owYjJkbmJHVkRiR0Z6Y3lJc0ltbHRZV2RsVEdGaVpXeERiMjUwWVdsdVpYSWlMQ0prYjNkdWJHOWhaRWx0WVdkbElpd2lhSEpsWmlJc0luTjFZbk4wY21sdVp5SXNJbU5zYVdOcklpd2lTVzFoWjJVaUxDSnZibXh2WVdRaUxDSmlZV05yWjNKdmRXNWtTVzFoWjJVaUxDSnZibVZ5Y205eUlpd2lhVzFoWjJWTVlXSmxiRmR5WVhCd1pYSWlMQ0pwYldGblpWQnlaWFpDZFhSMGIyNGlMQ0pwYldGblpVNWxlSFJDZFhSMGIyNGlMQ0pwYm5ObGNuUkJablJsY2lJc0lsOXZia05zYjNObElpd2lYMjl1UTJ4dmMyVkRiMjF3YkdWMFpTSXNJbXBDYjNoT2IzUnBZMlZYY21Gd2NHVnlJaXdpWTI5c2IzSWlMQ0p6ZEdGamF5SXNJbk4wWVdOclUzQmhZMmx1WnlJc0luSmxjM0J2Ym5OcGRtVlFiM05wZEdsdmJuTWlMQ0kxTURBaUxDSTNOamdpTENKa1pXWmhkV3gwVG05MGFXTmxVRzl6YVhScGIyNGlMQ0pmWVdScWRYTjBUbTkwYVdObFVHOXphWFJ2YmlJc0ltTnNiMjVsSWl3aVgyOXVVRzl6YVhScGIyNGlMQ0p5WlhabGNuTmxJaXdpWTJGc2JDSXNJbVJsWm1sdVpTSXNJbUZ0WkNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnlaWEYxYVhKbElpd2lZMjl1YzI5c1pTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNVMEZCVTBFc1dVRkJXVU1zUjBGQlJ5eFRRVUZUUXl4RlFVRkZReXhGUVVGRlF5eEhRVUZITEU5QlFVOURMRXRCUVV0RExGRkJRVkVzUTBGQlEwTXNSMEZCUnl4TFFVRkxReXhOUVVGTkxFOUJRVTlETEU5QlFVOHNUMEZCVDBNc1UwRkJVeXhMUVVGTFF5eFZRVUZWTEV0QlFVdERMRk5CUVZNc1MwRkJTME1zVlVGQlZTeExRVUZMUXl4cFFrRkJaMElzUlVGQlIwTXNhMEpCUVdsQ0xFVkJRVWRETEcxQ1FVRnRRaXhKUVVGSlF5eHZRa0ZCYjBJc1NVRkJTVU1zVDBGQlR5eExRVUZMUXl4UlFVRlJMRkZCUVZGRExHZENRVUZsTEVWQlFVZERMRkZCUVZFc1MwRkJTME1zVjBGQlZ5eExRVUZMUXl4TlFVRk5MRXRCUVV0RExGTkJRVk1zUzBGQlMwTXNUMEZCVHl4TFFVRkxReXhsUVVGakxFVkJRVWRETEV0QlFVc3NRMEZCUTBNc1NVRkJTU3hMUVVGTFF5eExRVUZMTEVkQlFVZERMRkZCUVU4c1JVRkJSME1zVDBGQlR5eFhRVUZYUXl4UlFVRlJMRmxCUVZsRExGbEJRVmNzUlVGQlIwTXNZMEZCWVN4RlFVRkhReXhUUVVGUkxFVkJRVWRETEdGQlFXRXNTVUZCU1VNc2JVSkJRV3RDTEVkQlFVbERMRzFDUVVGclFpeEZRVUZIUXl4UFFVRlBMRXRCUVV0RExGTkJRVk1zUTBGQlEwTXNSVUZCUlN4VFFVRlRReXhGUVVGRkxGVkJRVlZETEZGQlFWRXNTMEZCUzBNc1QwRkJUeXhGUVVGRlF5eFhRVUZYTEVOQlFVTktMRVZCUVVVc1QwRkJUME1zUlVGQlJTeFBRVUZQU1N4UFFVRk5MRVZCUVVkRExHZENRVUZsTEVWQlFVZERMR1ZCUVdNc1JVRkJSME1zWlVGQlpTeEZRVUZGUXl4WlFVRlhMRVZCUVVkRExHdENRVUZwUWl4RlFVRkhReXh4UWtGQmIwSXNSVUZCUjBNc1kwRkJZU3hGUVVGSFF5eFRRVUZSTEVWQlFVZERMRkZCUVZFc1UwRkJVME1zUzBGQlN5eEpRVUZKUXl4VlFVRlZMRXRCUVV0RExFMUJRVTBzVlVGQlZVTXNVMEZCVXl4TFFVRkxReXhUUVVGUkxFVkJRVWRETEdGQlFXRXNTMEZCUzBNc1QwRkJUeXhKUVVGSlF5eFZRVUZWTEVWQlFVVkRMRmRCUVZjc1JVRkJSVU1zV1VGQlZ5eEZRVUZIUXl4alFVRmhMRVZCUVVkRExHMUNRVUZyUWl4RlFVRkhReXhoUVVGWkxFVkJRVWRETEZOQlFWTndSU3hGUVVGRkxGRkJRVkZ4UlN4alFVRmhMRVZCUVVkRExHRkJRVmtzUlVGQlIwTXNiVUpCUVd0Q0xFVkJRVWRETEZkQlFWVXNSVUZCUjBNc1ZVRkJVeXhGUVVGSFF5eFhRVUZWTEVWQlFVZERMR05CUVdFc1JVRkJSME1zWlVGQll5eEZRVUZIUXl4alFVRmhMRVZCUVVkRExFMUJRVTBzUzBGQlMwTXNUMEZCVHl4SlFVRkpReXhQUVVGUExFdEJRVXRETEZOQlFWTXNTMEZCUzBNc1YwRkJWeXhMUVVGTFF5eFZRVUZWTEV0QlFVdERMRTlCUVU4c1MwRkJTME1zVVVGQlVTeExRVUZMUXl4blFrRkJaMElzUzBGQlMwTXNXVUZCV1N4TFFVRkxReXhWUVVGVkxFMUJRVTF3Uml4TFFVRkxjVVlzWlVGQlpTeERRVUZEUXl4UlFVRlJMRU5CUVVOeVJTeFhRVUZYTEZGQlFWRklMRkZCUVZFc1lVRkJZWEZDTEZOQlFWTXNRMEZCUTBNc1JVRkJSU3hUUVVGVFF5eEZRVUZGTEU5QlFVOURMRkZCUVZFc1NVRkJTVmNzVTBGQlVTeEhRVUZKYzBNc1RVRkJUU3hEUVVGRE9VVXNhVUpCUVdkQ0xFVkJRVWRETEd0Q1FVRnBRaXhGUVVGSFowTXNaVUZCWlN4UFFVRlBVaXhQUVVGUExGRkJRVkZ3UWl4UlFVRlJMR0ZCUVdGeFFpeFRRVUZUTEVOQlFVTkRMRVZCUVVVc1VVRkJVVU1zUlVGQlJTeFZRVUZWUXl4UlFVRlJMRXRCUVV0RExFOUJRVThzUjBGQlIybEVMRTFCUVUwc1EwRkJRM1JFTEU5QlFVOTBReXhGUVVGRk5rWXNVVUZCVVdoRUxFOUJRVTBzUlVGQlIzbENMR0ZCUVZrc1JVRkJSMDRzV1VGQlZ5eEZRVUZIUXl4aFFVRmhMRlZCUVZWRkxHRkJRVmtzUlVGQlIxSXNVMEZCVVN4RlFVRkhTQ3hWUVVGVkxGZEJRVmR3UkN4TFFVRkxReXhSUVVGUlRDeEZRVUZGT0VZc1VVRkJUeXhGUVVGSE1VWXNTMEZCUzBNc1VVRkJVVVFzUzBGQlMzRkdMR1ZCUVdWMlJpeEpRVUZKUkN4RlFVRkZkMFlzWlVGQlpYWkdMRWRCUVVkRExFZEJRVWNzVlVGQlZVZ3NSVUZCUlN0R0xFdEJRVXMzUml4TFFVRkxSU3hMUVVGTE1rWXNTMEZCU3pkR0xFZEJRVWRGTEV0QlFVczBSaXhqUVVGakxGZEJRVmNzU1VGQk9FazNSaXhGUVVFeFNVUXNSVUZCUlN3MFFrRkJORUlyUml4TlFVRk5MRXRCUVVzc1UwRkJSeXhwUWtGQmFVSktMRkZCUVZGQkxFOUJRVTlMTEdWQlFXVkRMRzlDUVVGdlFrUXNhVUpCUVRaR0wwWXNSVUZCYUVWRUxFVkJRVVVzUTBGQlF5eEpRVUZKUVN4RlFVRkZhMGNzUzBGQlN5eHZRa0ZCYjBJc1UwRkJVeXhMUVVGTFFTeExRVUZMTEVsQlFXVlFMRTlCUVU5UkxGZEJRVmRzUnl4SFFVRkhiVWNzVTBGQmNGQXNSMEZCSzFCc1J5eExRVUZMTkVZc1pVRkJaU3hsUVVGbE5VWXNTMEZCUzBNc1VVRkJVV0VzVlVGQlV5eEpRVUZMWkN4TFFVRkxReXhSUVVGUk5FUXNaVUZCWlRkRUxFdEJRVXRETEZGQlFWRTBSQ3hoUVVGaExGRkJRVkUzUkN4TFFVRkxiVWNzVjBGQlZ5eFRRVUZUY2tjc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzBNc1VVRkJVU3hKUVVGSlNDeEpRVUZKUlN4TFFVRkxReXhSUVVGUkxFbEJRVWxJTEVkQlFVZHpSeXhMUVVGTGNFY3NTMEZCZWtKQkxFTkJRU3RDUkN4SFFVRkhReXhMUVVGTFF5eFJRVUZSU0N4SlFVRkpSU3hMUVVGTFF5eFJRVUZSU0N4SFFVRkhjMGNzUzBGQlMzQkhMRXRCUVhKQ1FTeERRVUV5UWtRc1NVRkJTU3hQUVVGUFF5eExRVUZMUXl4UlFVRlJReXhMUVVGTFJpeExRVUZMUXl4UlFVRlJReXhIUVVGSExFOUJRVTlNTEVWQlFVVjNSeXhuUWtGQlowSnlSeXhMUVVGTFJTeEhRVUZIUml4TFFVRkxReXhSUVVGUlF5eEpRVUZKTEZWQlFWVkdMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhIUVVGSExFdEJRVXR3UXl4TFFVRkxReXhSUVVGUmNVTXNVMEZCVXl4VlFVRlZkRU1zUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVkQlFVY3NTMEZCUzNKRExFdEJRVXRETEZGQlFWRnhReXhYUVVGWGRFTXNTMEZCUzBNc1VVRkJVWEZETEZGQlFWRXNUVUZCVFN4VlFVRlZkRU1zUzBGQlMwTXNVVUZCVVdsRUxGTkJRVk5zUkN4TFFVRkxReXhSUVVGUmNVTXNVMEZCVXl4TlFVRk5kRU1zUzBGQlMwTXNVVUZCVVhGRExGVkJRVlYwUXl4TFFVRkxReXhSUVVGUlowUXNVMEZCVVN4SFFVRkpMRlZCUVZWeVJDeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGelF5eFJRVUZSZGtNc1MwRkJTME1zVVVGQlVYTkRMRTlCUVU4c1EwRkJRMGdzUlVGQlJYQkRMRXRCUVV0RExGRkJRVkZ6UXl4UFFVRlBSaXhGUVVGRmNrTXNTMEZCUzBNc1VVRkJVWE5ETEZGQlFWRjJReXhMUVVGTFF5eFJRVUZSYzBNc1QwRkJUek5ETEVWQlFVVTRSaXhQUVVGUExFTkJRVU4wUkN4RlFVRkZMRVZCUVVWRExFVkJRVVVzUjBGQlIzSkRMRXRCUVV0RExGRkJRVkZ6UXl4UlFVRlJMRlZCUVZVelF5eEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpTeERRVUZETUVRc1NVRkJTWFJITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTWtRc1RVRkJUWFpITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTkVRc1QwRkJUM2hITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTmtRc1MwRkJTM3BITEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpXaEVMRVZCUVVVNFJpeFBRVUZQTEVOQlFVTlpMRWxCUVVrc1JVRkJSVWNzUzBGQlN5eEZRVUZGUml4TlFVRk5MRVZCUVVWRExFOUJRVThzUjBGQlIzaEhMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxjME1zVjBGQlYzUkRMRXRCUVV0RExGRkJRVkZ4UXl4VFFVRlRMRTFCUVUxMFF5eExRVUZMUXl4UlFVRlJjVU1zVlVGQlZYUkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRia01zUzBGQlMwTXNVVUZCVVhGRExGTkJRVk4wUXl4TFFVRkxNRWNzVFVGQlRURkhMRXRCUVV0elF5eFZRVUZWTEZWQlFWVjBReXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlJ5eFZRVUZWZWtNc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlIzSkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhGUVVGRkxGVkJRVlZ3UXl4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1IwRkJSeXhWUVVGVmVFTXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1IwRkJSM0JETEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUlN4RlFVRkZja01zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRLTEVkQlFVZDJReXhGUVVGRk9FY3NWVUZCVlVNc1MwRkJTME1zU1VGQlNXaElMRVZCUVVVNFJ5eFhRVUZYTEVWQlFVVXNVMEZCVXpOSExFdEJRVXRETEZGQlFWRjNSQ3hQUVVGUExFbEJRVWw2UkN4TFFVRkxReXhSUVVGUmQwUXNVVUZCVVN4VFFVRlRla1FzUzBGQlMwTXNVVUZCVVhkRUxGTkJRVk42UkN4TFFVRkxPRWNzYjBKQlFXMUNMRVZCUVVkcVNDeEZRVUZGT0Vjc1YwRkJWeXhGUVVGRk0wY3NTMEZCUzBNc1VVRkJVWGRFTEU5QlFVODFSQ3hGUVVGRk9FY3NWVUZCVlROSExFdEJRVXNyUnl4VlFVRlZMMGNzUzBGQlMwTXNVVUZCVVhORUxGTkJRVk4yUkN4TFFVRkxaMGdzVVVGQlVTeFRRVUZUYkVnc1IwRkJSeXhOUVVGTkxFTkJRVU15Unl4TFFVRkxMRkZCUVZGR0xFMUJRVTBzVDBGQlQwUXNTVUZCU1N4VFFVRlRSU3hQUVVGUExFMUJRVTF3UlN4RlFVRkZMRWxCUVVsRExFVkJRVVVzUzBGQlMzWkRMRWxCUVVsRkxFdEJRVXRwU0N4UFFVRlBMRk5CUVZOdVNDeEhRVUZITEUxQlFVMHNRMEZCUXpKSExFdEJRVXNzU1VGQlNVWXNUVUZCVFN4SlFVRkpSQ3hKUVVGSkxFbEJRVWxGTEU5QlFVOHNTVUZCU1ZVc1QwRkJUeXhMUVVGTGNFZ3NTVUZCU1VVc1MwRkJTMjFJTEU5QlFVOHNVMEZCVTNKSUxFZEJRVWNzVFVGQlRTeERRVUZETWtjc1MwRkJTeXhQUVVGUFJpeE5RVUZOTEU5QlFVOUVMRWxCUVVrc1RVRkJUVVVzVDBGQlR5eE5RVUZOVlN4UFFVRlBMRTlCUVU4NVJTeEZRVUZGTEU5QlFVOURMRVZCUVVVc1QwRkJUM1pETEVsQlFVbEZMRXRCUVV0dlNDeFJRVUZSTEZOQlFWTjBTQ3hGUVVGRlF5eEhRVUZITEUxQlFVMHNVVUZCVVVRc1JVRkJSU3hQUVVGUFFTeEhRVUZITEZWQlFWVkdMRVZCUVVVclJpeExRVUZMTjBZc1NVRkJTU3hMUVVGTFFTeEZRVUZGZFVnc1QwRkJUeXhIUVVGSGVrZ3NSVUZCUlRaR0xGRkJRVkVzVlVGQlZURkdMRVZCUVVVc1kwRkJZeXhuUWtGQlowSjFTQ3hUUVVGVGVFZ3NSVUZCUlhsSUxGRkJRVkVzU1VGQlNTeExRVUZMTEVsQlFVbDZTQ3hIUVVGSFJTeExRVUZMZDBnc1YwRkJWeXhUUVVGVE1VZ3NSVUZCUlVNc1IwRkJSeXhKUVVGSk1FZ3NSVUZCUlRGQ0xGTkJRVk15UWl4blFrRkJaMElzTmtKQlFUWkNOVWdzUjBGQlJ5eFBRVUZQUml4RlFVRkZLMGdzUzBGQlN6VklMRVZCUVVVc1UwRkJVMFFzUlVGQlJVTXNSMEZCUnpCSUxFVkJRVVZITEdGQlFXRTNTQ3hGUVVGRkxFZEJRVWRCTEVWQlFVVXNTVUZCU1N4TlFVRk5NRWdzUjBGQlIzcElMRXRCUVVzMlNDeGxRVUZsTEZOQlFWTkRMRWRCUVVkQkxFZEJRVWRCTEVWQlFVVkRMRkZCUVZGRUxFVkJRVVZGTEVkQlFVY3NaMFZCUVdkRkxGTkJRVk5zU1N4SFFVRkhMRWxCUVVsRExFVkJRVVZFTEVWQlFVVnRTU3haUVVGWmJra3NSVUZCUlc5SkxHVkJRV1Z3U1N4RlFVRkZiMGtzWTBGQlkwUXNZVUZCWVc1SkxFVkJRVVZ4U1N4UFFVRlBWaXhGUVVGRkxFZEJRVWQ2U0N4TFFVRkxiMGtzVlVGQlZVNHNSVUZCUlU4c1kwRkJZM0pKTEV0QlFVdHpTU3hoUVVGaFF5eEZRVUZGZGtrc1MwRkJTMjlKTEZkQlFWY3NSMEZCUjNKSkxFVkJRVVVzUjBGQlJ6QklMRWRCUVVjc1JVRkJSVEZJTEVkQlFVZDNTU3hKUVVGSmVra3NSVUZCUldsQ0xHOUNRVUZ2UW1Zc1MwRkJTM2RKTEdWQlFXVXNWMEZCVnl4SlFVRkplRWtzUzBGQlMzbEpMR2RDUVVGblFpeFJRVUZSZWtrc1MwRkJTMmRDTEZGQlFWRXNSMEZCUnpCSUxFMUJRVTEyU1N4UlFVRlJTQ3hMUVVGTFowSXNVVUZCVVN4SFFVRkhNRWdzVFVGQlRXNUpMRk5CUVZNc1QwRkJUeXhMUVVGTExFbEJRVWxVTEVWQlFVVXNVVUZCVVVVc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrc1dVRkJXVFZKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNVMEZCVXpsSkxFVkJRVVZGTEV0QlFVdG5RaXhSUVVGUk5rZ3NZVUZCWVRkSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzVTBGQlV6bEpMRVZCUVVWRkxFdEJRVXRuUWl4UlFVRlJOa2dzWVVGQllUZEpMRXRCUVV0NVNTeGxRVUZsUnl4SlFVRkpMRU5CUVVOeVNTeFRRVUZUY1Vjc1MwRkJTME1zU1VGQlNTOUhMRVZCUVVWM1NDeFRRVUZUZEVnc1MwRkJTMmRDTEZGQlFWRXNSMEZCUnpCSUxFMUJRVTF1U1N4WlFVRlpMRkZCUVZGUUxFdEJRVXM0U1N4WFFVRlhMRmRCUVZjc1NVRkJTVGxKTEV0QlFVdERMRkZCUVZGdFJTeFZRVUZWTEU5QlFVMHNSVUZCUnl4SlFVRkpkRVVzUlVGQlJTeFRRVUZUUlN4TFFVRkxReXhSUVVGUmJVVXNWVUZCVlhCRkxFdEJRVXQ1U1N4bFFVRmxla2tzUzBGQlMwTXNVVUZCVVcxRkxIRkNRVUZ4UW5oRkxFVkJRVVZKTEV0QlFVdERMRkZCUVZGdFJTeFZRVUZWTEZWQlFWVjRSU3hGUVVGRkswWXNTMEZCU3pOR0xFdEJRVXRETEZGQlFWRnRSU3hYUVVGWGVFVXNSVUZCUlVrc1MwRkJTME1zVVVGQlVXMUZMRmRCUVZkd1JTeExRVUZMTWtrc1VVRkJVU3hWUVVGVk4wa3NSMEZCUjBFc1lVRkJZVVlzUjBGQlIwVXNSVUZCUldsSkxGTkJRVk5xU1N4RlFVRkZNRUlzUzBGQlN5eHhRa0ZCY1VJeFFpeEZRVUZGZDBRc1UwRkJVeXhyUWtGQmEwSTVRaXhMUVVGTExHdENRVUZwUWl4SFFVRkpkMGNzUjBGQlJ5eDFRa0ZCZFVJc1UwRkJVMnhKTEVkQlFVY3NTVUZCU1VNc1JVRkJSVEJJTEVWQlFVVmpMRVZCUVVWVUxFVkJRVVZwUWl4RlFVRkZReXhGUVVGRkxFZEJRVWRzU2l4RlFVRkZiVW9zVVVGQlVYSktMRVZCUVVWRkxFVkJRVVZ2UXl4UlFVRlJaMGdzVTBGQlV5eG5Ra0ZCWjBKMFNpeEZRVUZGUlN4RlFVRkZiME1zVVVGQlVXbElMRkZCUVZFc1owSkJRV2RDY0VJc1QwRkJUeXhqUVVGamFra3NSVUZCUlRaR0xFOUJRVTh2Uml4RlFVRkZSU3hGUVVGRmIwTXNVVUZCVVdkSUxGTkJRVk1zY1VKQlFYRkNkRW9zUlVGQlJVVXNSVUZCUlc5RExGRkJRVkZwU0N4UlFVRlJMSEZDUVVGeFFuQkNMRk5CUVZNdlNDeExRVUZMYjBvc1RVRkJUU3hEUVVGRFF5eGhRVUZaTEV0QlFVMDFRaXhGUVVGRkxHTkJRV016U0N4RlFVRkZOa1lzVFVGQlRUZEdMRVZCUVVWM1NpeFRRVUZUZUVvc1JVRkJSWGRLTEZGQlFWRXNTVUZCU1haS0xFVkJRVVZFTEVWQlFVVjNTaXhSUVVGUkxFZEJRVWRETEUxQlFVMTZTaXhGUVVGRmQwb3NVVUZCVVN4SFFVRkhSU3hSUVVGUmVrb3NSVUZCUlVRc1JVRkJSWGxLTEUxQlFVMTZTaXhGUVVGRk1Fb3NUMEZCVDNoS0xFdEJRVXQ1U2l4bFFVRmxNVW9zUlVGQlJVTXNTMEZCU3pCS0xHVkJRV1ZxUXl4RlFVRkZla2dzUzBGQlMwTXNVVUZCVVc5RkxGZEJRVmR5UlN4TFFVRkxLMGNzVjBGQlYwOHNVMEZCVTNSSUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzUzBGQlN5OUpMRVZCUVVVNFNpeHZRa0ZCYjBJNVNpeEZRVUZGT0Vvc2JVSkJRVzFDTEVWQlFVVXpTaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hUUVVGVEwwa3NSVUZCUlRoS0xHOUNRVUZ2UW5CQ0xFVkJRVVYyU1N4TFFVRkxNa2tzVVVGQlVVNHNZMEZCWTFBc1JVRkJSVGxJTEV0QlFVc3lTU3hSUVVGUlJTeGhRVUZoUlN4RlFVRkZMMGtzUzBGQlN6SkpMRkZCUVZGd1J5eFRRVUZUSzBRc1NVRkJTV2xETEVWQlFVVmtMRVZCUVVWMVFpeEZRVUZGYUVvc1MwRkJTekpKTEZGQlFWRndSeXhUUVVGVGEwVXNTMEZCUzNGQ0xFVkJRVVV2U0N4RlFVRkZTQ3hGUVVGRmJVY3NWVUZCVldsRExFZEJRVWNzTkVKQlFUUkNhRWtzUzBGQlMwVXNSMEZCUnl3MlFrRkJOa0pHTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlJ5eEpRVUZKUXl4RlFVRkZSQ3hGUVVGRkxHRkJRV0ZCTEVWQlFVVTJSaXhOUVVGTk4wWXNSVUZCUlhkS0xGTkJRVk40U2l4RlFVRkZkMG9zVVVGQlVTeEpRVUZKZGtvc1JVRkJSVVFzUlVGQlJYZEtMRkZCUVZFc1IwRkJSME1zVFVGQlRYcEtMRVZCUVVWM1NpeFJRVUZSTEVkQlFVZEZMRkZCUVZGNlNpeEZRVUZGUkN4RlFVRkZlVW9zVFVGQlRYcEtMRVZCUVVVd1NpeFBRVUZQZUVvc1MwRkJTelJLTEZWQlFWVTFTaXhMUVVGTGVVb3NaMEpCUVdkQ01Vb3NSMEZCUjBNc1MwRkJTekJLTEdkQ1FVRm5RalZLTEVsQlFVbEZMRXRCUVV0dFJ5eFhRVUZYTEdWQlFXVnVSeXhMUVVGTE5Fb3NWVUZCVXl4SFFVRkpOVW9zUzBGQlN6SkpMRkZCUVZGd1J5eFBRVUZQTEVOQlFVTXJSQ3hKUVVGSmVFY3NSVUZCUldsS0xFVkJRVVZTTEVWQlFVVTVRaXhMUVVGTE1VY3NSVUZCUldsS0xFVkJRVVZzUWl4TFFVRkxNVUlzUzBGQlMzQkhMRTlCUVU5R0xFVkJRVVZwUWl4dFFrRkJiVUp4Uml4TFFVRkxjRWNzVDBGQlQyZEpMRWRCUVVjc2JVSkJRVzFDTEZkQlFWY3NTVUZCU1d4SkxFVkJRVVZHTEVWQlFVVnRSeXhWUVVGVk9FUXNTVUZCU1N3MFFrRkJORUkzU2l4TFFVRkxSU3hIUVVGSExEWkNRVUUyUWtZc1MwRkJTMFVzU1VGQlNVWXNTMEZCU3pSS0xGVkJRVlUxU2l4TFFVRkxiVWNzVjBGQlZ5eGhRVUZoYmtjc1MwRkJTelJLTEZWQlFWTXNSVUZCUnl4VFFVRlROVW9zUzBGQlN6SkdMRTFCUVUwc1YwRkJWek5HTEV0QlFVc3lSaXhQUVVGUE0wWXNTMEZCUzBNc1VVRkJVU3RETEdWQlFXVnNSQ3hGUVVGRkxFTkJRVU56UXl4SFFVRkhkRU1zUlVGQlJVWXNSVUZCUlN4SlFVRkpTU3hMUVVGTFJTeEpRVUZKY1VNc1ZVRkJWV3RGTEV0QlFVczNSeXhGUVVGRmJVY3NWVUZCVlN0RUxHRkJRV0Y2U0N4RlFVRkZka01zUlVGQlJYZEhMRWxCUVVreFJ5eEZRVUZGYlVjc1ZVRkJWWEZETEdGQlFXRndTU3hMUVVGTGJVTXNVMEZCVXl4RFFVRkRRU3hUUVVGVGNrTXNSVUZCUlhsRExFOUJRVThzUTBGQlEwZ3NSVUZCUlN4RlFVRkZReXhGUVVGRkxFOUJRVThyUkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCU3l0SExGbEJRVmxzU0N4RlFVRkZPRW9zYTBKQlFXdENPVW9zUlVGQlJUaEtMR3RDUVVGclFpOURMRXRCUVV0RExFbEJRVWxvU0N4RlFVRkZPRW9zYTBKQlFXdENNMG9zUzBGQlMwTXNVVUZCVVhkRUxGRkJRVkY2UkN4TFFVRkxReXhSUVVGUmQwUXNVVUZCVVhwRUxFOUJRVTlCTEV0QlFVc3JTaXhSUVVGUkxGZEJRVmNzU1VGQlNXcExMRVZCUVVWRkxFdEJRVXN5U1N4VlFVRlZNMGtzUzBGQlN6SkpMRkZCUVZFdlNTeEZRVUZGTEZOQlFWTXNRMEZCUTAwc1IwRkJSMFlzUzBGQlMwVXNSMEZCUnpoS0xFMUJRVTBzWjBKQlFXZENhRXNzUzBGQlN6SkdMRXRCUVVzc1UwRkJVek5HTEV0QlFVc3lSaXhMUVVGTExFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmIwUXNUVUZCVFN4VFFVRlRja1FzUzBGQlMwTXNVVUZCVVc5RUxFMUJRVTBzUzBGQlMzSkVMRXRCUVV0RExGRkJRVkZ4UkN4VFFVRlRMRWxCUVVsMFJDeExRVUZMUXl4UlFVRlJjVVFzVTBGQlV5eE5RVUZOYzBZc1NVRkJTU3hEUVVGRGVrY3NVMEZCVTI1RExFdEJRVXRETEZGQlFWRjNReXhOUVVGTkxGRkJRVkVzVjBGQlYzZElMRkZCUVZFc1QwRkJUME1zVVVGQlVTeEZRVUZGZWtjc1QwRkJUM3BFTEV0QlFVdERMRkZCUVZGM1JDeFRRVUZUYWtNc1MwRkJTeXhQUVVGUGVFSXNUVUZCVFVFc1MwRkJTME1zVVVGQlVUWkVMRzFDUVVGdFFqbEVMRXRCUVVzeVNTeFJRVUZSV0N4SFFVRkhMR0ZCUVdFc1UwRkJVMnhKTEVsQlFVbEZMRXRCUVV0dFN5eFJRVUZSY2tzc1JVRkJSWE5MTEdWQlFXVndTeXhMUVVGTGJVc3NUMEZCVHl4TFFVRkxMRWxCUVVsMlN5eEZRVUZGZVVzc1VVRkJVWEpMTEV0QlFVdHRTeXhQUVVGUExFZEJRVWQyU3l4RlFVRkZSU3hGUVVGRmMwc3NaVUZCWldwQ0xGRkJRVkVzVDBGQlQyNUtMRXRCUVV0dlNpeFRRVUZUYUVRc1MwRkJTM0JITEU5QlFVOHNUMEZCVDBFc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNM1JDeExRVUZMTWtrc1VVRkJVVmdzUjBGQlJ5eFpRVUZaTEZkQlFWZG9TU3hMUVVGTGIwb3NUVUZCVFN4RFFVRkRReXhoUVVGWkxFdEJRVTFxUkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzNOTExGVkJRVlV4U3l4RlFVRkZMR2xEUVVGcFEyOUZMRk5CUVZOb1JTeExRVUZMTWtrc1UwRkJVek5KTEV0QlFVdG5RaXhSUVVGUmNFSXNSVUZCUlN3clFrRkJLMEp2UlN4VFFVRlRhRVVzUzBGQlMzTkxMRmRCUVZkMFN5eExRVUZMUXl4UlFVRlJiVUlzVTBGQlUzQkNMRXRCUVV0dlFpeFBRVUZQZUVJc1JVRkJSU3c0UWtGQk9FSXlTeXhQUVVGUGRrc3NTMEZCUzBNc1VVRkJVVzFDTEZGQlFWRTBReXhUUVVGVGFFVXNTMEZCUzNOTExGbEJRVmwwU3l4TFFVRkxReXhSUVVGUmIwSXNaVUZCWlhKQ0xFdEJRVXMyU0N4bFFVRmxOMGdzUzBGQlMyZENMRk5CUVZOb1FpeExRVUZMUXl4UlFVRlJPRVFzWlVGQlpXcEZMRVZCUVVWRkxFdEJRVXQzU0N4WFFVRlhMRTFCUVUwc1EwRkJReXhEUVVGRExGVkJRVlVzWjBKQlFXZENaMFFzV1VGQldYaExMRXRCUVV0M1NDeFhRVUZYTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc2IxRkJRVzlSZUVnc1MwRkJTeXRFTEZsQlFWbHVSU3hGUVVGRkxDdERRVUVyUTI5SkxFZEJRVWNzV1VGQldTeFRRVUZUYkVrc1IwRkJSMFVzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOTFTeXhQUVVGUGVrc3NSMEZCUnl4UFFVRlBSU3hMUVVGTFF5eFJRVUZST0VRc1pVRkJZeXhKUVVGTEwwUXNTMEZCUzBNc1VVRkJVVGhFTEdGQlFXRXZSQ3hMUVVGTFF5eFJRVUZSYzBRc1UwRkJVM1pFTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZQYkVJc1MwRkJTME1zVVVGQlVXdENMRmxCUVZsdVFpeExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNkMEpCUVhkQ2RFUXNTMEZCU3l0RUxGbEJRVmxETEZOQlFWTm9SU3hMUVVGTGMwc3NZVUZCWVhSTExFdEJRVXN5U1N4UlFVRlJNMFVzVTBGQlUyaEZMRXRCUVV0RExGRkJRVkVyUkN4VlFVRlZhRVVzUzBGQlN6SkpMRkZCUVZFNFFpeExRVUZMTEhGQ1FVRnhRakZETEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3l4RFFVRkRMRTFCUVUwc1VVRkJVU3hUUVVGVExGRkJRVkVzVTBGQlV6ZElMRVZCUVVWRExFZEJRVWRETEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4eFFrRkJjVUkzUWl4SlFVRkpOMGtzU1VGQlNTeFJRVUZSUXl4TFFVRkxNa2tzVVVGQlVUaENMRXRCUVVzc2NVSkJRWEZDTjBJc1NVRkJTVGRKTEV0QlFVdERMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOME1zUjBGQlJ6WkhMRXRCUVV0RExFbEJRVWszUnl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlRkRExFZEJRVWRETEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTjBNc1NVRkJTU3hKUVVGSmRVZ3NVMEZCVTNSSUxFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eHhRa0ZCY1VJM1FpeEpRVUZKTjBrc1MwRkJTeXhKUVVGSmRVZ3NVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeFZRVUZWTjBrc1JVRkJSU3haUVVGWkxFOUJRVTl4Unl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzBNc1VVRkJVV2RFTEZWQlFWVnFSQ3hMUVVGTGFVUXNVVUZCVVN4RFFVRkRaQ3hUUVVGVExGVkJRVlZ1UXl4TFFVRkxReXhSUVVGUmFVUXNVVUZCVVd4RUxFdEJRVXRETEZGQlFWRnBSQ3hSUVVGUmJFUXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVTBGQlUyOUpMRWRCUVVjc1ZVRkJWVEZMTEV0QlFVdERMRkZCUVZGcFJDeFJRVUZSYkVRc1MwRkJTMmxJTEU5QlFVOXFTQ3hMUVVGTFF5eFJRVUZSYVVRc1UwRkJVMnhFTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGTkJRVk52UlN4TlFVRk5MRk5CUVZOdVJTeFBRVUZQTEVkQlFVZDJReXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2U3l4RlFVRkZMSGxEUVVGNVEwa3NTMEZCUzJsRUxGRkJRVkZrTEZOQlFWTXNUMEZCVHpaQ0xGTkJRVk5vUlN4TFFVRkxNa2tzVTBGQlV6TkpMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWeXhEUVVGRGVFa3NSVUZCUlhCRExFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVUbENMR0ZCUVdGNFJ5eEZRVUZGY2tNc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUmRFTXNaVUZCWlN4VlFVRlZla2tzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJaMFFzV1VGQldXNUVMRVZCUVVWRkxFdEJRVXRETEZGQlFWRm5SQ3hSUVVGUk5FTXNUVUZCVFN4TlFVRk5MRXRCUVVzM1JpeExRVUZMYVVRc1VVRkJVWGxFTEUxQlFVMDFSeXhGUVVGRkxFbEJRVWxCTEVWQlFVVXNTMEZCUzBVc1MwRkJTMmxFTEZGQlFWRldMRTlCUVU4clJTeFRRVUZUZUVnc1JVRkJSU3hOUVVGTlJTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVXNTMEZCU3pkTExFdEJRVXRwUkN4UlFVRlJlVWdzUjBGQlJ5eFZRVUZWTVVzc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxGTkJRVk1zVFVGQlRTeFRRVUZUTVVjc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxGRkJRVkVzVDBGQlR6RkhMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRmRCUVZjMVNTeExRVUZMYVVRc1VVRkJVV1FzVTBGQlUyNURMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NTMEZCU3pGTExFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVTOUNMRWxCUVVrMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVXNWVUZCVlRkTExFdEJRVXRwUkN4UlFVRlJlVVFzVFVGQlRTeE5RVUZOTEVkQlFVZHJReXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVM1N5eExRVUZMYVVRc1VVRkJVVllzVVVGQlVYWkRMRXRCUVV0cFJDeFJRVUZSTmtnc1QwRkJUeXhIUVVGSE9Vc3NTMEZCUzJsRUxGRkJRVkUyU0N4UFFVRlBMRlZCUVZVNVN5eExRVUZMYVVRc1VVRkJVVFJJTEdkQ1FVRm5RamRMTEV0QlFVdHBSQ3hSUVVGUlZpeFBRVUZQTEZWQlFWVjJReXhMUVVGTGFVUXNVVUZCVVhsRUxFOUJRVTh4Unl4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZsQlFWa3NZMEZCWXl4TFFVRkxOVWtzUzBGQlMybEVMRkZCUVZGNVNDeEpRVUZKTEVkQlFVY3hTeXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmQ0U1N4RlFVRkZMRXRCUVVzc1IwRkJSeXhOUVVGTkxFdEJRVXR3UXl4TFFVRkxhVVFzVVVGQlVYbElMRWxCUVVrc1IwRkJSekZMTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVjNaSkxFVkJRVVVzUzBGQlN5eEhRVUZITEV0QlFVdHlReXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRXRCUVVzMVNTeExRVUZMYVVRc1VVRkJVWGxJTEVkQlFVY3NVVUZCVVN4VFFVRlRjRVFzVTBGQlUzUklMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NTMEZCUzNCRUxGTkJRVk4wU0N4TFFVRkxjMHNzVlVGQlZURkNMRWxCUVVrc1ZVRkJWVFZKTEV0QlFVdHBSQ3hSUVVGUk5FZ3NaVUZCWlN4WlFVRlpOMHNzUzBGQlN6SkpMRkZCUVZGeVJpeFRRVUZUTEhkQ1FVRjNRblJFTEV0QlFVdHBSQ3hSUVVGUlpDeFhRVUZYYmtNc1MwRkJTelJDTEZkQlFWYzFRaXhMUVVGTFF5eFJRVUZSWlN4VFFVRlJMRWRCUVVsb1FpeExRVUZMSzBzc1UwRkJVeTlMTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZOTEVkQlFVbHNRaXhMUVVGTFF5eFJRVUZSYlVVc1YwRkJWM0JGTEV0QlFVczRTU3hoUVVGaE9Va3NTMEZCUzIxSExGZEJRVmNzWlVGQlpXNUhMRXRCUVV0RExGRkJRVkZuUlN4alFVRmpha1VzUzBGQlN5dEtMRlZCUVZVdlNpeExRVUZMUXl4UlFVRlJXU3hSUVVGUllpeExRVUZMWVN4VFFVRlRZaXhMUVVGTFowd3NZMEZCWXl4WFFVRlhhRXdzUzBGQlMwTXNVVUZCVVhORkxHTkJRV016UlN4RlFVRkZMRWxCUVVsSkxFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWRCUVVkRkxFdEJRVXRwVEN4WFFVRlZMRWRCUVVrM1JTeExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMwTXNVVUZCVVhORkxHTkJRV016UlN4RlFVRkZMRWxCUVVsSkxFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWRCUVVkRkxFdEJRVXRwVEN4WFFVRlZMRWRCUVVrM1JTeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMwTXNVVUZCVVhsRExHZENRVUZuUWpGRExFdEJRVXRETEZGQlFWRTBReXhqUVVGak4wTXNTMEZCUzNsRExFOUJRVTk2UXl4TFFVRkxjME1zVlVGQlZYUkRMRXRCUVV0RExGRkJRVkV3UXl4bFFVRmxMME1zUlVGQlJUWkdMRkZCUVZGMVF5eEhRVUZITEdWQlFXVm9TU3hMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXR0UXl4WlFVRlphVVVzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXRETEZGQlFWRjVReXhuUWtGQlowSXhReXhMUVVGTFF5eFJRVUZSTkVNc1lVRkJZV3BFTEVWQlFVVTJSaXhSUVVGUmRVTXNSMEZCUnl4bFFVRmxhRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSFJTeExRVUZMYlVNc1dVRkJXV2xGTEV0QlFVdHdSeXhSUVVGUkxGTkJRVk5CTEV0QlFVdERMRkZCUVZGcFF5eFJRVUZSZEVNc1JVRkJSU3hSUVVGUmIwa3NSMEZCUnl4clFrRkJhMEpvU1N4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVZEZMRXRCUVV0dFF5eFRRVUZUTEVOQlFVTXJTU3haUVVGWkxFTkJRVU0xUlN4SlFVRkplRWNzUlVGQlJUQktMRTFCUVUwdlF5eExRVUZMTTBjc1JVRkJSWGxLTEZWQlFWVnVSQ3hMUVVGTGNFY3NVVUZCVVVFc1MwRkJTMjFNTEdOQlFXTXNWMEZCVjI1TUxFdEJRVXRETEZGQlFWRXlSQ3haUVVGWmFFVXNSVUZCUlcxSExGVkJRVlU0UkN4SlFVRkpMR05CUVdNM1NpeExRVUZMUlN4TFFVRkpMRWxCUVV0R0xFdEJRVXRETEZGQlFWRTBSQ3hqUVVGakxGRkJRVkUzUkN4TFFVRkxReXhSUVVGUk5FUXNZMEZCWTJwRkxFVkJRVVZ0Unl4VlFVRlZPRVFzU1VGQlNTeGpRVUZqTjBvc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hKUVVGSlJpeExRVUZMUXl4UlFVRlJNRU1zWlVGQlpTOURMRVZCUVVVMlJpeFJRVUZSYjBVc1NVRkJTU3hsUVVGbE4wb3NTMEZCUzBVc1MwRkJTMFlzUzBGQlMwTXNVVUZCVVhsRExHZENRVUZuUWpGRExFdEJRVXRETEZGQlFWRTBReXhoUVVGaGFrUXNSVUZCUlRaR0xGRkJRVkZ2UlN4SlFVRkpMR1ZCUVdVM1NpeExRVUZMUlN4SlFVRkpMRk5CUVZOR0xFdEJRVXRETEZGQlFWRnBReXhSUVVGUmRFTXNSVUZCUlN4UlFVRlJhVXNzU1VGQlNTeHJRa0ZCYTBJM1NpeExRVUZMUlN4TFFVRkxSaXhMUVVGTGIwd3NZVUZCWVN4WFFVRlhjRXdzUzBGQlMzVkVMRlZCUVZWMlJDeExRVUZMZFVRc1VVRkJVVE5FTEVWQlFVVXNXVUZCV1Vrc1MwRkJTMFVzUjBGQlJ5eGxRVUZsYjBRc1UwRkJVeXhuUWtGQlowSjBSQ3hMUVVGTE1rWXNTMEZCU3l4cFFrRkJhVUl6Uml4TFFVRkxNa1lzUzBGQlN5eExRVUZMYVVRc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFVkJRVVY2Unl4UFFVRlBla1FzUzBGQlMwTXNVVUZCVVhkRUxFOUJRVThzU1VGQlNVOHNVMEZCVTJoRkxFdEJRVXRETEZGQlFWRXJSQ3hWUVVGVmFFVXNTMEZCUzBNc1VVRkJVWFZFTEdOQlFXTjRSQ3hMUVVGTGRVUXNVVUZCVVVRc1UwRkJVM1JFTEV0QlFVdERMRkZCUVZGMVJDeGpRVUZqTEZkQlFWZDRSQ3hMUVVGTFF5eFJRVUZST0VRc1kwRkJZU3hKUVVGTEwwUXNTMEZCUzBNc1VVRkJVVGhFTEdGQlFXRXZSQ3hMUVVGTGRVUXNVVUZCVVdkSUxFOUJRVTkyU3l4TFFVRkxLMFFzWVVGQllTeFhRVUZYTDBRc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNM1JDeExRVUZMZFVRc1VVRkJVWGxGTEVkQlFVY3NXVUZCV1N4WFFVRlhhRWtzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOUtMRVZCUVVVc1NVRkJTVWtzUzBGQlMwVXNSMEZCUnl3NFFrRkJPRUkyU0N4VFFVRlRMMGdzUzBGQlMwTXNVVUZCVVRKRExHVkJRV1V3UkN4SlFVRkpUU3hMUVVGTFF5eEpRVUZKYWtnc1JVRkJSU3hKUVVGSlNTeExRVUZMUlN4SFFVRkhMRGhDUVVFNFFtMUpMR05CUVdOeVNTeExRVUZMUXl4UlFVRlJNa01zWlVGQlpUQkVMRkZCUVU4c1NVRkJTM1JITEV0QlFVczRSeXh2UWtGQmIwSTVSeXhMUVVGTGRVUXNVVUZCVVhGR0xFbEJRVWtzVTBGQlUzUkNMRk5CUVZOMFNDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFZRVUZWTEVsQlFVa3NSMEZCUnl4VFFVRlROVWtzUzBGQlMzVkVMRkZCUVZGeFJpeEpRVUZKTEdGQlFXRTFTU3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTMjVFTEV0QlFVdDFSQ3hSUVVGUk9FZ3NVVUZCVVhKTUxFdEJRVXQxUkN4UlFVRlJLMGdzVVVGQlVTeERRVUZEY0VJc1VVRkJVU3hIUVVGSExFTkJRVU54UWl4UFFVRk5MRVZCUVVkRExGTkJRVk40VEN4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzNOSkxFMUJRVTBzVjBGQlYzcE1MRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4WFFVRlhOMFFzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hSUVVGUlF5eFJRVUZSTEUxQlFVMXNTeXhMUVVGTE1Fd3NZVUZCWVN4WFFVRlhNVXdzUzBGQlMzVkVMRlZCUVZWMlJDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMyNUVMRXRCUVV0MVJDeFJRVUZST0Vnc1VVRkJVWEpNTEV0QlFVdDFSQ3hSUVVGUkswZ3NVVUZCVVN4RFFVRkRjRUlzVVVGQlVTeEhRVUZITEVOQlFVTnhRaXhQUVVGTkxFVkJRVWRETEZOQlFWTjRUQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTM2RKTEZOQlFWTXNWMEZCVnpOTUxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hWUVVGVk4wUXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRTFCUVUxc1N5eExRVUZMTkV3c2EwSkJRV3RDTEZkQlFWYzFUQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGRFTXNTMEZCU3l4SlFVRkpSeXhOUVVGTkxFbEJRVWxHTEUxQlFVMHNUMEZCVDBNc1QwRkJUeXhUUVVGVExFbEJRVWt4Unl4RlFVRkZMRU5CUVVOelF5eEZRVUZGY0VNc1MwRkJTekpKTEZGQlFWRkZMR0ZCUVdGNFJ5eEZRVUZGY2tNc1MwRkJTekpKTEZGQlFWRk9MR1ZCUVdVc1QwRkJUM0pKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTjBReXhKUVVGSkxFOUJRVTlITEV0QlFVc3NVMEZCVXpOSExFZEJRVWRGTEV0QlFVczJUQ3h6UWtGQmMwSXNWMEZCVnl4SFFVRkhMRlZCUVZWcVRTeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGdFJDeGhRVUZoY0VRc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZVc1EwRkJRekJKTEUxQlFVMHNRMEZCUTBNc1MwRkJTeXhSUVVGUk0wTXNUVUZCVFN4WFFVRlhORU1zVDBGQlR5eERRVUZEUkN4TFFVRkxMRk5CUVZNelF5eE5RVUZOTEZWQlFWVTJReXhSUVVGUkxFTkJRVU5HTEV0QlFVc3NWVUZCVlRORExFMUJRVTBzVjBGQlZ6aERMRXRCUVVzc1EwRkJRMGdzUzBGQlN5eFBRVUZQTTBNc1RVRkJUU3hSUVVGUkswTXNUVUZCVFN4RFFVRkRTaXhMUVVGTExGRkJRVkV6UXl4TlFVRk5MRk5CUVZOblJDeExRVUZMTEVOQlFVTk1MRXRCUVVzc1QwRkJUek5ETEUxQlFVMHNVVUZCVVdsRUxFdEJRVXNzUTBGQlEwNHNTMEZCU3l4UFFVRlBNME1zVFVGQlRTeFpRVUZaY0Vvc1MwRkJTME1zVVVGQlVXMUVMR0ZCUVdGd1JDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZTeFBRVUZQTEV0QlFVdHdSQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEU5QlFVOHZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVc3ZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVdHNSeXhOUVVGTkxFMUJRVTAzUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExGRkJRVkZ3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExFMUJRVTF3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExFMUJRVTEyUkN4TlFVRk5MRTFCUVUwM1JpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXdEtMR05CUVdOMFRTeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVVzc1NVRkJTU3hMUVVGTEwwd3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRTaXhsUVVGbGRrMHNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVm5SeXhOUVVGTkxFbEJRVWtzUzBGQlMzQktMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzVDBGQlR5OU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzUzBGQlN5eEpRVUZKTDB3c1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eFJRVUZSY0Vvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOY0Vvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOTEVsQlFVbHdTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEU5QlFVOHZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEUxQlFVMHNVVUZCVVM5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVlowY3NVVUZCVVhCS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVlowY3NUMEZCVHl4VFFVRlRMRWxCUVVsS0xFVkJRVVVzUTBGQlF6aERMRTFCUVUwc1EwRkJRMDRzVTBGQlV5eEpRVUZKTlVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUzBGQlN5eFpRVUZaTEVOQlFVTXNUVUZCVFN4alFVRmpMRU5CUVVNc1QwRkJUeXhqUVVGak5FUXNWMEZCVnl4RFFVRkRhRUlzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVsNVJpeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMR05CUVdNc1EwRkJReXhQUVVGUExHTkJRV00yUkN4WlFVRlpMRU5CUVVOcVFpeFRRVUZUZUV3c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1NVRkJTWGxHTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExFOUJRVThzWjBKQlFXZENPRVFzV1VGQldTeERRVUZEYkVJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVbDVSaXhKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEdOQlFXTXNRMEZCUXl4UFFVRlBMR05CUVdNclJDeGhRVUZoTEVOQlFVTnVRaXhUUVVGVGVFd3NTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNTVUZCU1hsR0xFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRTlCUVU4c1owSkJRV2RDWjBVc1UwRkJVeXhEUVVGRGNFSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWt3U2l4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTjNSeXhOUVVGTkxFbEJRVWwyUnl4TlFVRk5MRU5CUVVOMVJ5eExRVUZMTEVsQlFVbDBSeXhQUVVGUExFTkJRVU56Unl4TFFVRkxMRWxCUVVseVJ5eExRVUZMTEVOQlFVTnhSeXhOUVVGTkxFdEJRVXRzUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTlCUVU4c2RVSkJRWFZDYlVVc1ZVRkJWU3hEUVVGRGRrSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWsyU2l4UFFVRlBMRlZCUVZWSUxGVkJRVlVzUTBGQlEzWkhMRWxCUVVrc1EwRkJRekpITEZGQlFWRXNTVUZCU1RGSExFMUJRVTBzUTBGQlF6QkhMRTlCUVU4c1NVRkJTWHBITEU5QlFVOHNRMEZCUTNsSExFOUJRVThzU1VGQlNYaEhMRXRCUVVzc1EwRkJRM2RITEZGQlFWRXNTMEZCUzNKRkxFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR5eDNRa0ZCZDBKelJTeFZRVUZWTEVOQlFVTXhRaXhUUVVGVExFbEJRVWx4UWl4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTjNSeXhOUVVGTkxFdEJRVXQyUnl4TlFVRk5MRU5CUVVOMVJ5eExRVUZMTEV0QlFVdDBSeXhQUVVGUExFTkJRVU56Unl4TFFVRkxMRXRCUVV0eVJ5eExRVUZMTEVOQlFVTnhSeXhOUVVGTkxFMUJRVTFzUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTlCUVU4c2RVSkJRWFZDZFVVc1YwRkJWeXhEUVVGRE0wSXNVMEZCVXl4SlFVRkpkMElzVDBGQlR5eFZRVUZWU0N4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTXlSeXhSUVVGUkxFdEJRVXN4Unl4TlFVRk5MRU5CUVVNd1J5eFBRVUZQTEV0QlFVdDZSeXhQUVVGUExFTkJRVU41Unl4UFFVRlBMRXRCUVV0NFJ5eExRVUZMTEVOQlFVTjNSeXhSUVVGUkxFMUJRVTF5UlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRTlCUVU4c2QwSkJRWGRDZDBVc1UwRkJVeXhEUVVGRE5VSXNVMEZCVXl4SlFVRkpOVU1zU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4eFEwRkJjVU1zUTBGQlF5eE5RVUZOTEhORFFVRnpReXhEUVVGRExFMUJRVTBzY1VOQlFYRkRMRU5CUVVNc1QwRkJUeXh6UTBGQmMwTjVSU3hWUVVGVkxFTkJRVU0zUWl4VFFVRlRlRXdzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzU1VGQlNYbEdMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzYjBOQlFXOURMRU5CUVVNc1QwRkJUeXgxUTBGQmRVTjVSQ3hMUVVGTExFTkJRVU5pTEZOQlFWTXNTVUZCU1RWRExFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRmRCUVZjc05FSkJRVFJDTEVOQlFVTXNjVUpCUVhGQ0xESkNRVUV5UWl4RFFVRkRMR2RDUVVGblFpdzBRa0ZCTkVJc1EwRkJReXhQUVVGUExIbENRVUY1UW1oS0xFVkJRVVVyU0N4TFFVRkxMRU5CUVVNc1VVRkJVU3hSUVVGUkxGTkJRVk0zU0N4RlFVRkZReXhIUVVGSGFVb3NSVUZCUldwS0xFVkJRVVVzVVVGQlVXbEtMRVZCUVVWcVNpeEZRVUZGTEZOQlFWTnBTaXhGUVVGRmFrb3NTMEZCU3l4SlFVRkpkMGtzUlVGQlJTeFRRVUZUUVN4RlFVRkZWQ3hIUVVGSExFbEJRVWxwUWl4RlFVRkZMRzFDUVVGdFFpOUpMRXRCUVV0RkxFZEJRVWNzWTBGQlkwWXNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRSaXhIUVVGSExFbEJRVWxCTEVkQlFVZFVMRVZCUVVVc1NVRkJTVUVzUlVGQlJTeEpRVUZKTEV0QlFVc3NUMEZCVDJ4SkxFVkJRVVVyU0N4TFFVRkxjVUlzUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNVc3NTVUZCU1N4VFFVRlRPVWtzUlVGQlJVTXNSMEZCUnl4SlFVRkpNRWdzUlVGQlJVc3NSVUZCUlM5SUxFVkJRVVVzUjBGQlIzZElMRkZCUVZFc1RVRkJUWFpJTEV0QlFVdHBTQ3hQUVVGUFlTeEhRVUZIZDBZc1pVRkJaWFpPTEVWQlFVVXNSMEZCUjJsS0xFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWx6UlN4WlFVRlpjRVlzUlVGQlJVRXNSVUZCUlVZc1VVRkJVU3hMUVVGTGVVSXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1hORkxGVkJRVlV2UlN4SFFVRkhMMGdzUlVGQlJTeE5RVUZOWjBvc1IwRkJSMmhLTEVWQlFVVXNSMEZCUnl4bFFVRmxNRWdzUlVGQlJTeE5RVUZOY2tJc1MwRkJTM0JITEU5QlFVOHJTU3hIUVVGSExFbEJRVWxCTEVkQlFVY3NVMEZCVXk5SkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFJpeEhRVUZITEVsQlFVbEJMRWRCUVVkVUxFVkJRVVVzU1VGQlNVRXNSVUZCUlN4SlFVRkpMRXRCUVV0cFFpeEhRVUZITEhWQ1FVRjFRa01zUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNXbEVMRk5CUVZNc1RVRkJUWHBETEVkQlFVY3NkMEpCUVhkQ0wwa3NTMEZCUzBVc1IwRkJSeXhqUVVGalJpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWRCUVVjc1NVRkJTVUVzUjBGQlIxUXNSVUZCUlN4SlFVRkpRU3hGUVVGRkxFbEJRVWtzU1VGQlNXbENMRWRCUVVkRExFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWw1UlN4UFFVRlBMRGhDUVVFNFFtaEZMRVZCUVVWb1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWxCUVVsNVJTeFBRVUZQTEVsQlFVa3NSMEZCUjJwRkxFZEJRVWNzUzBGQlN6TkRMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxkVTRzWTBGQll5eEhRVUZITTA0c1JVRkJSU3RJTEV0QlFVc3NRMEZCUXl4UFFVRlBMRk5CUVZNc1UwRkJVemRJTEVWQlFVVXlTQ3hIUVVGSExFbEJRVWw2U0N4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlhGRkxFdEJRVXQxUWl4RlFVRkZhRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ4UlN4TFFVRkxMRk5CUVZOQkxFbEJRVWw2U0N4TFFVRkxReXhSUVVGUmEwUXNTMEZCU3l4TlFVRk5MRWRCUVVjMlJpeEZRVUZGYUVvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWeFJTeEpRVUZKYjBZc1ZVRkJWV3BPTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zVFVGQlRTeFJRVUZSTEZOQlFWTXNVVUZCVVN4VFFVRlROMGdzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZPTEdWQlFXVm9SaXhGUVVGRlpDeEZRVUZGTVVnc1NVRkJTWEZITEV0QlFVdHdSeXhQUVVGUFFTeExRVUZMZFU0c1pVRkJaV2hHTEVWQlFVVmtMRWxCUVVseVFpeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMwTXNVVUZCVVcxRUxGZEJRVmR3UkN4TFFVRkxOa3dzZDBKQlFYZENOMHdzUzBGQlMzZE9MR2RDUVVGblFpeFhRVUZYZUU0c1MwRkJTM2xPTEdkQ1FVRmxMRVZCUVVkRExGZEJRVmNzVjBGQlZ6Rk9MRXRCUVV0NVRpeG5Ra0ZCWlN4SFFVRkpja2dzUzBGQlMzQkhMRTFCUVUwc1MwRkJTMEVzUzBGQlN6Sk9MRk5CUVZNc1UwRkJVemRPTEVkQlFVY3NSMEZCUjBFc1JVRkJSVUVzU1VGQlNVVXNTMEZCU3pST0xFOUJRVThzVDBGQlR5eFZRVUZWTlU0c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1UwRkJVM0pFTEVWQlFVVXNUMEZCVHl4TFFVRkxMRWxCUVVsRExFVkJRVVZETEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWZEVRc1JVRkJSU3hsUVVGbExGVkJRVlZGTEV0QlFVc3dSeXhOUVVGTk1VY3NTMEZCU3pCSExFMUJRVTB4Unl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1IwRkJSM0JETEV0QlFVczJUaXhUUVVGVE4wNHNTMEZCUzJsSUxFOUJRVTlzU0N4SlFVRkpReXhMUVVGTGFVZ3NUMEZCVDJwSUxFdEJRVXN3Unl4VFFVRlRNMGNzUlVGQlJVTXNTMEZCUzJkSUxGRkJRVkZxU0N4SlFVRkpMRWxCUVVrd1NDeEZRVUZGTEZGQlFWRjZTQ3hMUVVGTFJTeEhRVUZITEdOQlFXTkdMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZkRVFzUjBGQlJ5eEpRVUZKUVN4RlFVRkZMRk5CUVZORkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWMFJDeEhRVUZITEVsQlFVbEJMRVZCUVVVc1NVRkJTVU1zUlVGQlJVTXNTMEZCU3pKSkxGRkJRVkZ5Uml4VFFVRlRiVVVzUjBGQlJ6RklMRVZCUVVVc1NVRkJTU3RPTEZkQlFWYzVUaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3gxUWtGQmRVSXNVMEZCVXpsSkxFbEJRVWxETEVWQlFVVTJSeXhMUVVGTGJVZ3NTVUZCU1doUExFVkJRVVZETEV0QlFVdERMRkZCUVZGclJDeFBRVUZQZFVzc1YwRkJWeXhYUVVGWE1VNHNTMEZCU3pKSkxGRkJRVkZ4Uml4WlFVRlpka2NzU1VGQlNYSkNMRXRCUVV0d1J5eE5RVUZOUkN4SlFVRkpReXhMUVVGTGFVOHNaMEpCUVdkQ0xGZEJRVmNzU1VGQlNXNVBMRVZCUVVWRkxFdEJRVXN5U1N4UlFVRlJkVVlzUzBGQlN5eFRRVUZUY2trc1RVRkJUU3hMUVVGTGMwa3NUMEZCVHl4VFFVRlRjazhzUjBGQlJ5eFBRVUZQTEVsQlFVbEJMRVZCUVVWelR5eFpRVUZaTEZGQlFWRndUeXhMUVVGTFJTeEhRVUZITEdGQlFXRXNTVUZCU1d0SExFdEJRVXR3Unl4UFFVRlBRU3hMUVVGTE1ra3NVVUZCVVhWR0xFdEJRVXNzVVVGQlVYQlBMRVZCUVVWclJ5eExRVUZMTEZGQlFWRm9SeXhMUVVGTFF5eFJRVUZSVVN4cFFrRkJhVUpVTEV0QlFVdERMRkZCUVZGVExHMUNRVUZ0UW1Rc1JVRkJSVFpHTEZGQlFWRjFReXhIUVVGSExIbENRVUY1UW1oSkxFdEJRVXRGTEVkQlFVY3NVMEZCVTBvc1IwRkJSMFVzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVNc1dVRkJXV2xGTEV0QlFVdHdSeXhQUVVGUExGZEJRVmRLTEVWQlFVVXJSaXhMUVVGTE0wWXNTMEZCUzBNc1VVRkJVWGRGTEdkQ1FVRm5RbnBGTEV0QlFVdERMRkZCUVZGM1JTeGhRVUZoTEVOQlFVTjZSU3hMUVVGTFF5eFJRVUZSZDBVc1pVRkJaU3hYUVVGWE4wVXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmVVVXNVMEZCVXpGRkxFdEJRVXRETEZGQlFWRjVSU3hOUVVGTkxFTkJRVU54U0N4TFFVRkxMMHdzUzBGQlMwTXNVVUZCVVhsRkxGRkJRVkVzVjBGQlZ6bEZMRVZCUVVVclJpeExRVUZMTTBZc1MwRkJTME1zVVVGQlVUQkZMRlZCUVZVelJTeExRVUZMUXl4UlFVRlJNRVVzVDBGQlR5eERRVUZEYjBnc1MwRkJTeTlNTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQZVVVc1RVRkJUWEJLTEV0QlFVdERMRkZCUVZFd1JTeFZRVUZUTEVsQlFVc3pSU3hMUVVGTFF5eFJRVUZSZDBVc1kwRkJZM3BGTEV0QlFVdERMRkZCUVZGNVJTeFJRVUZSTVVVc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFc1IwRkJSemRGTEVWQlFVVXJTQ3hMUVVGTE0wZ3NTMEZCUzBNc1VVRkJVWGxGTEUxQlFVMHNVMEZCVXpWRkxFVkJRVVZETEVkQlFVZERMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhORW9zUzBGQlMzUlBMRVZCUVVVc1VVRkJVVU1zUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0UwU2l4TFFVRkxkRThzUlVGQlJTeFRRVUZUY1Vjc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhjMFFzVVVGQlVXNUpMRVZCUVVVclNDeExRVUZMTTBnc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFc1UwRkJVek5GTEVWQlFVVkRMRWRCUVVjc1NVRkJTVEJJTEVWQlFVVXNTVUZCU1RaSExFMUJRVTAzUnl4RlFVRkZPRWNzU1VGQlNYaFBMRVZCUVVVd1NDeEZRVUZGSzBjc1VVRkJVU3hUUVVGVGVFOHNTMEZCUzIxSExGZEJRVmNzVlVGQlZXNUhMRXRCUVVzc1NVRkJTVVlzUlVGQlJVTXNSVUZCUlN4UFFVRlBSaXhGUVVGRk5FOHNWVUZCVlRWT0xFOUJRVThzVTBGQlUyWXNSVUZCUlhsSkxFZEJRVWNzVDBGQlQzcEpMRVZCUVVWQkxFZEJRVWRGTEV0QlFVdERMRkZCUVZGWkxFOUJRVThzVlVGQlZXcENMRVZCUVVVclJpeExRVUZMTjBZc1MwRkJTMEVzUlVGQlJVWXNSVUZCUlVVc1NVRkJTWGxKTEVWQlFVVkJMRWRCUVVkMlNTeExRVUZMUXl4UlFVRlJZU3hSUVVGUmFFSXNSMEZCUjBFc1JVRkJSV2xKTEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3pkSUxFVkJRVVVzVTBGQlUwRXNSVUZCUlRKSUxFbEJRVWxCTEVWQlFVVTNTQ3hGUVVGRk5rZ3NTVUZCU1dwSExFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNUVUZCVFN4VFFVRlRSaXhMUVVGTFF5eFJRVUZSWjBJc1dVRkJXU3hOUVVGTmQwY3NSVUZCUlhsSExFdEJRVXNzVlVGQlZYcEhMRVZCUVVWcVJ5eExRVUZMTEd0Q1FVRnJRbWxITEVWQlFVVjVSeXhMUVVGTExGVkJRVlZSTEZkQlFWY3NVMEZCVXpGUExFdEJRVXN5VHl4dFFrRkJiVUl6VHl4TFFVRkxNazhzYVVKQlFXbENMRWxCUVVrelR5eExRVUZMTWs4c2FVSkJRV2xDVGl4TFFVRkxOVWNzUlVGQlJTeEpRVUZKUVN4RlFVRkZUeXhIUVVGSFR5eEZRVUZGTEdkQ1FVRm5RblpKTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlJ5eEpRVUZKUXl4RlFVRkZReXhMUVVGTE5FOHNUMEZCVDBNc1lVRkJZVGRQTEV0QlFVczBUeXhQUVVGUExHTkJRV055Unl4SFFVRkhka2tzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVzc1QwRkJUeXhKUVVGSk1VTXNSVUZCUlN4TFFVRkxla2dzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdHRTeXhQUVVGUExFbEJRVWt4UXl4RlFVRkZMRXRCUVVzeFNDeEhRVUZGTEVkQlFVbERMRXRCUVV0dFN5eFBRVUZQTVVNc1JVRkJSWHBJTEV0QlFVdERMRkZCUVZGcFF5eFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOTFSaXhIUVVGSExGTkJRVk5qTEVkQlFVZDJTU3hMUVVGTFF5eFJRVUZSWXl4blFrRkJaMEpxUWl4RlFVRkZhVUlzYVVKQlFXbENaaXhMUVVGTExGTkJRVk4xU1N4SFFVRkhlRWtzUlVGQlJTeFBRVUZQTEdOQlFXTnhSeXhMUVVGTGNFY3NUMEZCVHl4alFVRmpRU3hMUVVGTFF5eFJRVUZSWVN4VFFVRlRNa2NzUlVGQlJVOHNSMEZCUnl4aFFVRmhMRk5CUVZOc1NTeEhRVUZITEVsQlFVbEZMRXRCUVVzeVNTeFJRVUZSTEU5QlFVOHNTMEZCU3pOSkxFdEJRVXRETEZGQlFWRTJSQ3h2UWtGQmIwSm9SU3hGUVVGRmMwc3NaVUZCWlhCTExFdEJRVXN5U1N4UlFVRlJMRWxCUVVrdlNTeEZRVUZGUlN4RlFVRkZjMHNzWlVGQlpXcENMRkZCUVZFc1NVRkJTVzVLTEV0QlFVdEZMRWxCUVVrMlNDeFRRVUZUTDBnc1MwRkJTMjlLTEZOQlFWTm9SQ3hMUVVGTGNFY3NUMEZCVDNsSUxFVkJRVVZxUnl4TFFVRkxMR2xDUVVGcFFuaENMRXRCUVV0RkxFZEJRVWR4U1N4SFFVRkhka2tzUzBGQlMyMUhMRmRCUVZjc1YwRkJWM05DTEV0QlFVdHlRaXhMUVVGTGNFY3NUMEZCVDBFc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWTExFOUJRVThzVTBGQlUyaFFMRWRCUVVjc1QwRkJUMEVzUlVGQlJVRXNSMEZCU1VVc1MwRkJTekpQTEd0Q1FVRnJRaXhMUVVGTk4wOHNSVUZCUldsSkxGRkJRVkZ1U1N4RlFVRkZLMGdzUzBGQlN6ZElMRVZCUVVVc1UwRkJVMEVzUlVGQlJVTXNTVUZCU1VFc1JVRkJSVWdzUlVGQlJVY3NTVUZCU1hsQ0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNUVUZCVFVnc1JVRkJSVGhLTEVsQlFVazVTaXhGUVVGRmVVSXNTMEZCU3l4cFFrRkJhVUo0UWl4TFFVRkxSU3hKUVVGSkxHZENRVUZuUWtZc1MwRkJTMFVzU1VGQlNVZ3NSVUZCUlhsQ0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNSMEZCUnl4UFFVRlBSaXhMUVVGTE1rOHNhVUpCUVdsQ0wwOHNSVUZCUlcxUUxFdEJRVXN2VHl4TFFVRkxNazhzYVVKQlFXbENMRk5CUVZNM1R5eEhRVUZITEU5QlFVOUJMRWRCUVVkRExFVkJRVVVzVFVGQlRYRkhMRXRCUVV0d1J5eFBRVUZQUVN4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlRGRUxGTkJRVk1zVTBGQlUycE1MRVZCUVVWRExFZEJRVWNzUjBGQlJ5eE5RVUZOUkN4SFFVRkhMRTFCUVUxQkxFVkJRVVVzVDBGQlQwVXNTMEZCUzBFc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTEswb3NWVUZCVlN4SlFVRkpkRU1zUlVGQlJYcElMRXRCUVVzeVNTeFJRVUZSVGl4alFVRmpSU3hGUVVGRmRra3NTMEZCU3pKSkxGRkJRVkZGTEdGQlFXRXNUMEZCVHpkSkxFdEJRVXRyUWl4UlFVRlJiRUlzUzBGQlMzbEpMR1ZCUVdVM1NTeEZRVUZGTERaQ1FVRTJRa2tzUzBGQlMydENMRTFCUVUxMFFpeEZRVUZGTEZWQlFWVnZSU3hUUVVGVGFFVXNTMEZCUzNsSkxHZENRVUZuUWl4VFFVRlRla2tzUzBGQlMwTXNVVUZCVVRoRUxHVkJRV01zU1VGQlN5OUVMRXRCUVV0RExGRkJRVkU0UkN4aFFVRmhMMFFzUzBGQlMwTXNVVUZCVVhORUxGZEJRVmQyUkN4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc01FSkJRVEJDZEVRc1MwRkJTeXRFTEZsQlFWbERMRk5CUVZOb1JTeExRVUZMZVVrc2FVSkJRV2xDZWtrc1MwRkJTM2xKTEdWQlFXVjFSeXhoUVVGaGFGQXNTMEZCUzJkQ0xGTkJRVk5vUWl4TFFVRkxkMGtzYTBKQlFXdENlRWtzUzBGQlN6SkpMRkZCUVZFM1NTeEZRVUZGTEZkQlFWY3NaVUZCWlN4cFFrRkJhVUpGTEV0QlFVdHJRaXhOUVVGTkswNHNTMEZCUzI1UUxFZEJRVWQ1U1N4SFFVRkhka2tzUzBGQlN6SkpMRkZCUVZGRkxHTkJRV00zU1N4TFFVRkxkMGtzYVVKQlFXbENlRWtzUzBGQlMwTXNVVUZCVVcxRkxGZEJRVmR3UlN4TFFVRkxPRWtzWVVGQllTOUpMRWxCUVVsRExFdEJRVXRETEZGQlFWRTRReXh4UWtGQmNVSXdSU3hIUVVGSGVrZ3NTMEZCU3pKSkxGRkJRVkZPTEdWQlFXVkZMRWRCUVVkMlNTeExRVUZMTWtrc1VVRkJVVVVzWTBGQll6ZEpMRXRCUVV0dFF5eFhRVUZYYmtNc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZVM1RTeFhRVUZYTEZOQlFWTTVRaXhGUVVGRlF5eEhRVUZITEVkQlFVY3NUVUZCVFVRc1IwRkJSeXhOUVVGTlFTeEZRVUZGTEU5QlFVOUZMRXRCUVV0QkxFdEJRVXN5U1N4VFFVRlRNMGtzUzBGQlN5dEtMRlZCUVZVc1NVRkJTWFJETEVWQlFVVjZTQ3hMUVVGTE1ra3NVVUZCVVU0c1kwRkJZMFVzUlVGQlJYWkpMRXRCUVVzeVNTeFJRVUZSUlN4aFFVRmhMRTlCUVU4M1NTeExRVUZMWjBJc1VVRkJVV3RQTEZOQlFWTXNaME5CUVdkRGJFd3NVMEZCVXl4UlFVRlJORVVzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hUUVVGVGNrc3NSVUZCUlN0R0xFdEJRVXMzUml4SlFVRkpMRWxCUVVrc1UwRkJVMFVzUzBGQlMyZENMRkZCUVZGcFR5eExRVUZMYmxBc1IwRkJSeXhOUVVGTkxFbEJRVWtzVTBGQlUwRXNTVUZCU1VFc1lVRkJZVVlzUjBGQlIwVXNSVUZCUlhGUUxGbEJRVmxXTEZWQlFWVlhMRk5CUVZOd1VDeExRVUZMWjBJc1VVRkJVV2xQTEV0QlFVc3NTVUZCU1c1UUxFVkJRVVZ2VHl4TFFVRkxMRFpDUVVFMlFpeEhRVUZIYkVzc1UwRkJVMmhGTEV0QlFVdG5RaXhUUVVGVE5FZ3NTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFhRVUZYYWtzc1MwRkJTMmRDTEZGQlFWRnBUeXhMUVVGTFNTeExRVUZMUXl4VlFVRlZlRkFzU1VGQlNTeFBRVUZQZVVrc1IwRkJSM1pKTEV0QlFVc3lTU3hSUVVGUlJTeGpRVUZqTjBrc1MwRkJTM2RKTEdsQ1FVRnBRbmhKTEV0QlFVdERMRkZCUVZGdFJTeFhRVUZYY0VVc1MwRkJTemhKTEdGQlFXRXZTU3hKUVVGSlF5eExRVUZMUXl4UlFVRlJPRU1zY1VKQlFYRkNNRVVzUjBGQlIzcElMRXRCUVVzeVNTeFJRVUZSVGl4bFFVRmxSU3hIUVVGSGRra3NTMEZCU3pKSkxGRkJRVkZGTEdOQlFXTTNTU3hMUVVGTGJVTXNWMEZCVjI1RExFMUJRVTFJTEVWQlFVVTBUeXhWUVVGVll5eGpRVUZqTEZOQlFWTjZVQ3hGUVVGRlF5eEZRVUZGTUVnc1IwRkJSM3BJTEV0QlFVc3lTU3hUUVVGVE0wa3NTMEZCU3l0S0xGVkJRVlVzVFVGQlRXaExMRWxCUVVsQkxFVkJRVVVzVVVGQlVVTXNTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpPVWtzUlVGQlJVVXNTMEZCUzI5SUxGRkJRVkZ5U0N4SlFVRkpMRk5CUVZORUxFZEJRVWRGTEV0QlFVdDNTU3hwUWtGQmFVSjRTU3hMUVVGTFF5eFJRVUZSU0N4SFFVRkhReXhGUVVGRkxFMUJRVTB3U0N4SlFVRkpRU3hIUVVGSGVrZ3NTMEZCUzIxRExGbEJRVmwwUXl4RlFVRkZORThzVlVGQlZXVXNVMEZCVXl4VFFVRlRNVkFzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZRTEdOQlFXTXNVVUZCVVhwUUxFVkJRVVZETEVsQlFVbEdMRVZCUVVVMFR5eFZRVUZWWjBJc1ZVRkJWU3hUUVVGVE0xQXNSVUZCUlVNc1IwRkJSME1zUzBGQlMzVlFMR05CUVdNc1UwRkJVM3BRTEVWQlFVVkRMRWxCUVVsR0xFVkJRVVUwVHl4VlFVRlZkRTBzVTBGQlV5eFRRVUZUYzBZc1IwRkJSeXhIUVVGSFFTeEZRVUZGUVN4SFFVRkhMRWRCUVVkQkxFVkJRVVUzU0N4RlFVRkZPRVlzVVVGQlR5eEZRVUZITVVZc1MwRkJTME1zVVVGQlVYZElMRWRCUVVkNlNDeExRVUZMYTBNc1QwRkJUM1ZHTEVWQlFVVjJSaXhSUVVGUmJFTXNTMEZCUzJ0RExGRkJRVkYwUXl4RlFVRkZOa1lzVVVGQlVYcEdMRXRCUVV0clF5eHJRa0ZCYTBKMFF5eEhRVUZITEZOQlFWTkpMRXRCUVV0clF5eFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOTBReXhGUVVGRlNTeExRVUZMYTBNc1ZVRkJWV3hETEV0QlFVdHJReXhQUVVGUE5rWXNUMEZCVHl4UFFVRlBMMGdzUzBGQlMwRXNTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpMRU5CUVVONlNTeE5RVUZOU0N4TFFVRkxiMGdzVVVGQlVVc3NSVUZCUlhSSUxFMUJRVTBzVTBGQlUwTXNUMEZCVDBvc1MwRkJTMjlJTEZGQlFWRkxMRVZCUVVWeVNDeFBRVUZQTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXR2U0N4UlFVRlJTeXhGUVVGRmNFZ3NVMEZCVXl4VFFVRlRReXhWUVVGVlRpeExRVUZMYjBnc1VVRkJVVXNzUlVGQlJXNUlMRlZCUVZVc1ZVRkJWVU1zVTBGQlUxQXNTMEZCUzI5SUxGRkJRVkZMTEVWQlFVVnNTQ3hUUVVGVExGTkJRVk5ETEZWQlFWVlNMRXRCUVV0dlNDeFJRVUZSU3l4RlFVRkZha2dzVlVGQlZTeFpRVUZaVWl4TFFVRkxkMGtzYVVKQlFXbENMRWxCUVVsRUxFVkJRVVYyU1N4TFFVRkxORXdzYjBKQlFXOUNMRk5CUVZNMVRDeExRVUZMYTBNc1VVRkJVV3hETEV0QlFVdHJReXhQUVVGUFZpeExRVUZMTEZGQlFWRjRRaXhMUVVGTFJTeEhRVUZITEZkQlFWZEdMRXRCUVV0clF5eFBRVUZQVml4TFFVRkxMRkZCUVZGNFFpeExRVUZMUlN4SFFVRkhMRk5CUVZOR0xFdEJRVXRyUXl4UFFVRlBMRWxCUVVsMFF5eEZRVUZGTmtZc1VVRkJVU3hMUVVGTExGTkJRVk42Uml4TFFVRkxhME1zVDBGQlR6QkhMRWxCUVVrc1lVRkJZU3hGUVVGRk5Va3NTMEZCUzJ0RExFOUJRVTlwU0N4VlFVRlZaMFlzVDBGQlR5eFhRVUZYTEUxQlFVMHNVMEZCVTNaUExFVkJRVVZKTEUxQlFVMDBTU3hKUVVGSkxHTkJRV05pTEZGQlFWRXNVVUZCVVN4VlFVRlZMRWxCUVVscVNTeEZRVUZGTEVOQlFVTnpReXhGUVVGRmVFTXNSVUZCUlRaR0xGRkJRVkZ2UkN4aFFVRmhlRWNzUlVGQlJYcERMRVZCUVVVMlJpeFJRVUZSTkVNc1kwRkJZeTlDTEVsQlFVbHRRaXhGUVVGRmFFWXNUMEZCVDNwRExFdEJRVXRyUXl4UFFVRlBWaXhMUVVGTExGRkJRVkY0UWl4TFFVRkxSU3hIUVVGSExGVkJRVlVzUlVGQlJVNHNSVUZCUlRaR0xGRkJRVkV5UXl4WlFVRlpNMElzUzBGQlMyZENMRVZCUVVWb1JpeFBRVUZQZWtNc1MwRkJTMnRETEU5QlFVOVdMRXRCUVVzc1VVRkJVWGhDTEV0QlFVdEZMRWRCUVVjc1ZVRkJWU3hGUVVGRlRpeEZRVUZGTmtZc1VVRkJVWEZGTEdOQlFXTm9TeXhGUVVGRk1FY3NUMEZCVHpGSExFVkJRVVYzUnl4SlFVRkplRWNzUlVGQlJYVkRMRVZCUVVWMlF5eEZRVUZGZVVjc1RVRkJUWHBITEVWQlFVVXlSeXhMUVVGTE0wY3NSVUZCUlhORExFVkJRVVVzU1VGQlNTeEpRVUZKY2tNc1JVRkJSVU1zUzBGQlMydERMRTlCUVU5TExGTkJRVk1zVFVGQlRYcERMRWRCUVVkRExFVkJRVVVzUTBGQlEzVkhMRWxCUVVrc1JVRkJSVWNzUzBGQlN5eEhRVUZITEZOQlFWTjZSeXhMUVVGTGEwTXNVVUZCVVN4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5V0xFdEJRVXNzVVVGQlVYaENMRXRCUVV0RkxFZEJRVWNzVjBGQlYzVklMRVZCUVVWb1JpeFJRVUZSTVVNc1JVRkJSWFZITEVsQlFVbDJSeXhGUVVGRmRVY3NTVUZCU1RGSExFVkJRVVUyUml4UlFVRlJNa01zV1VGQldYSkpMRVZCUVVVd1J5eExRVUZMTVVjc1JVRkJSVEJITEV0QlFVczNSeXhGUVVGRk5rWXNVVUZCVVhGRkxHTkJRV01zU1VGQlNXaERMRVZCUVVVc1EwRkJRekZHTEVWQlFVVXNVMEZCVTNCRExFdEJRVXRyUXl4UFFVRlBMRWRCUVVkc1F5eExRVUZMYTBNc1QwRkJUekpITEdGQlFXRjRSeXhGUVVGRkxGTkJRVk55UXl4TFFVRkxhME1zVDBGQlR5eEhRVUZIYkVNc1MwRkJTMnRETEU5QlFVOXRSeXhqUVVGakwwSXNTVUZCU1N4VFFVRlRkRWNzUzBGQlMydERMRkZCUVZGMVJpeEZRVUZGZVVRc1dVRkJXWHBFTEVWQlFVVjVSQ3haUVVGWk5VVXNTVUZCU1haSExFVkJRVVZCTEVWQlFVVjFSeXhKUVVGSkxFVkJRVVZITEV0QlFVc3NVMEZCVTNwSExFdEJRVXRyUXl4UlFVRlJkVVlzUlVGQlJYbEVMRmxCUVZsNlJDeEZRVUZGZVVRc1dVRkJXWHBGTEV0QlFVc3hSeXhGUVVGRlFTeEZRVUZGTUVjc1MwRkJTeXhIUVVGSGMwTXNSVUZCUlhSQ0xFVkJRVVZ1Uml4WFFVRlhMRlZCUVZWdFJpeEZRVUZGZEVZc1UwRkJVME1zUjBGQlJ5eFZRVUZWY1VZc1JVRkJSWFJHTEZOQlFWTkZMRWRCUVVjeVJ5eEZRVUZGTEVOQlFVTTFSeXhGUVVGRmRFTXNSVUZCUlhORExFVkJRVVZ4Uml4RlFVRkZOMFVzWlVGQlpUWkVMRXRCUVV0blFpeEZRVUZGTjBVc1pVRkJaVEpFTEUxQlFVMXNSU3hGUVVGRmRrTXNSVUZCUlhWRExFVkJRVVZ2Uml4RlFVRkZOMFVzWlVGQlpUQkVMRWxCUVVsdFFpeEZRVUZGTjBVc1pVRkJaVFJFTEU5QlFVOURMRXRCUVV0elF5eEZRVUZGYWtJc1JVRkJSWEpDTEV0QlFVczNSeXhGUVVGRk5rWXNVVUZCVVhGRkxHRkJRV0Z5UXl4RlFVRkZOMFVzWlVGQlpUWkVMRXRCUVVzc1JVRkJSVVlzVFVGQlRYZERMRVZCUVVWcVNpeEZRVUZGYzBNc1JVRkJSVEJHTEVWQlFVVnlRaXhMUVVGTE4wY3NSVUZCUlRaR0xGRkJRVkZ4UlN4aFFVRmhhRU1zUlVGQlJURkdMRVZCUVVWeFJpeEZRVUZGTjBVc1pVRkJaVEpFTEUxQlFVMHNSVUZCUlVRc1NVRkJTWGxETEVWQlFVVnFRaXhGUVVGRmVFSXNTVUZCU1RGSExFVkJRVVUyUml4UlFVRlJNa01zV1VGQldYQkpMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxNRVFzU1VGQlNTeEZRVUZGUlN4UFFVRlBkVU1zUlVGQlJXcEtMRVZCUVVWMVF5eEZRVUZGZVVZc1JVRkJSWGhDTEVsQlFVa3hSeXhGUVVGRk5rWXNVVUZCVVRKRExGbEJRVmxPTEVWQlFVVjZSaXhGUVVGRmIwWXNSVUZCUlRkRkxHVkJRV1UwUkN4UFFVRlBMRWRCUVVjelJ5eEZRVUZGTEVOQlFVTjFReXhGUVVGRkxFdEJRVXR4Uml4RlFVRkZia1lzVTBGQlV5eE5RVUZOYlVZc1JVRkJSVzVHTEZOQlFWTXNWVUZCVlRGRExFVkJRVVVyUml4TFFVRkxPRUlzUlVGQlJYUkdMRk5CUVZORExFZEJRVWNzUzBGQlMzRkdMRVZCUVVWMFJpeFRRVUZUUXl4RlFVRkZReXhGUVVGRkxFdEJRVXR2Uml4RlFVRkZia1lzVTBGQlV5eE5RVUZOYlVZc1JVRkJSVzVHTEZOQlFWTXNWVUZCVlRGRExFVkJRVVVyUml4TFFVRkxPRUlzUlVGQlJYUkdMRk5CUVZORkxFZEJRVWNzUzBGQlMyOUdMRVZCUVVWMFJpeFRRVUZUUlN4SFFVRkhjVTRzUlVGQlJTeERRVUZEZEU0c1IwRkJSU3hGUVVGSFF5eEhRVUZGTEVkQlFVbDRReXhGUVVGRmRVTXNSMEZCUjIxSExFVkJRVVZ1Unl4RlFVRkZORWNzUlVGQlJXNUtMRVZCUVVWMVF5eEpRVUZKTkVjc1JVRkJSV2hLTEV0QlFVdG5TQ3hSUVVGUmJrZ3NSVUZCUlhWRExFbEJRVWswUnl4RlFVRkZia29zUlVGQlJYVkRMRXRCUVV0MlF5eEZRVUZGZFVNc1JVRkJSWEJETEV0QlFVdG5TQ3hSUVVGUmJrZ3NSVUZCUlhWRExFMUJRVTF6VGl4RlFVRkZkRTRzUjBGQlJTeEhRVUZKZGtNc1JVRkJSWGRETEVkQlFVZHJSeXhGUVVGRmJFY3NSVUZCUlRKSExFVkJRVVZ1U2l4RlFVRkZkME1zU1VGQlNUSkhMRVZCUVVWb1NpeExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhKUVVGSk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4TFFVRkxlRU1zUlVGQlJYZERMRVZCUVVWeVF5eExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhOUVVGTmNVNHNSVUZCUlhKT0xFZEJRVVVzU1VGQlMyOUdMRVZCUVVWb1NDeHBRa0ZCYVVKblNDeEZRVUZGTDBjc2IwSkJRVzlDYVZBc1JVRkJSU3hYUVVGWExFbEJRVWszVUN4RlFVRkZNa2dzUlVGQlJXaElMR2xDUVVGcFFqaElMRVZCUVVWdVJ5eEZRVUZGTkVjc1JVRkJSVzVLTEVWQlFVVjFReXhIUVVGSExFOUJRVTkwUXl4RlFVRkZhMG9zUlVGQlJXNUtMRVZCUVVWMVF5eEhRVUZITEUxQlFVMXdReXhMUVVGTGFVUXNVMEZCVXpoR0xFZEJRVWNzUzBGQlMzUkNMRVZCUVVWdVJpeFJRVUZSZEVNc1MwRkJTMmxFTEZGQlFWRXlTQ3hYUVVGWGVFa3NSVUZCUlN4SFFVRkhhMFlzVTBGQlUzUklMRXRCUVV0elN5eFZRVUZWTVVJc1NVRkJTU3h6UWtGQmMwSjBRaXhUUVVGVGRFZ3NTMEZCUzNOTExGVkJRVlV4UWl4SlFVRkpMSFZDUVVGMVFqVkpMRXRCUVV0blFpeFJRVUZSTkVnc1NVRkJTU3hEUVVGRGVra3NUVUZCVFV3c1JVRkJSVVVzUzBGQlMwTXNVVUZCVVZVc2JVSkJRVzFDWWl4RlFVRkZMRXRCUVV0UExGTkJRVk5RTEVWQlFVVjNTQ3hUUVVGVGRFZ3NTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpMR0ZCUVdFc1JVRkJSU3hQUVVGUE5Va3NTMEZCUzNkSkxHdENRVUZyUWtRc1JVRkJSWFpKTEV0QlFVczBUQ3h4UWtGQmNVSjRSaXhMUVVGTGNFY3NUVUZCVFhsSUxFVkJRVVZvU0N4cFFrRkJhVUpyVUN4SlFVRkpiRWtzUlVGQlJXaElMR3RDUVVGclFtbFFMRVZCUVVWeVRpeEhRVUZIZUVNc1JVRkJSWGRETEVkQlFVZHJSeXhGUVVGRmJFY3NSVUZCUlRKSExFVkJRVVZ1U2l4RlFVRkZkME1zU1VGQlNUSkhMRVZCUVVWb1NpeExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhKUVVGSk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4TFFVRkxlRU1zUlVGQlJYZERMRVZCUVVWeVF5eExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhOUVVGTmNVNHNSVUZCUlhKT0xFZEJRVVVzUjBGQlNVUXNSVUZCUlN4WFFVRlhMRWxCUVVsMFF5eEZRVUZGTWtnc1JVRkJSUzlITEd0Q1FVRnJRalpJTEVWQlFVVnNSeXhGUVVGRk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4SFFVRkhMRTlCUVU5MlF5eEZRVUZGTEZkQlFWY3NUMEZCVDBVc1MwRkJTM2xKTEdkQ1FVRm5RbnBKTEV0QlFVdHZRaXhSUVVGUkxGRkJRVkZ3UWl4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4WlFVRlpOVWtzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWtzVlVGQlZTeFRRVUZUT1Vrc1IwRkJSMFVzUzBGQlMzbEpMR1ZCUVdWNlNTeExRVUZMZVVrc1pVRkJaVW9zWTBGQll5eEpRVUZKY2trc1MwRkJTMjlDTEU5QlFVOXdRaXhMUVVGTGIwSXNUMEZCVDJsSUxHTkJRV01zUjBGQlIzSkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1UwRkJVemxKTEVkQlFVZEZMRXRCUVV0NVNTeGxRVUZsZWtrc1MwRkJTM2xKTEdWQlFXVktMR05CUVdNc1NVRkJTWEpKTEV0QlFVdHZRaXhQUVVGUGNFSXNTMEZCUzI5Q0xFOUJRVTlwU0N4alFVRmpMRWRCUVVkMlNTeEhRVUZITEVkQlFVY3NSVUZCUlN4SlFVRkpRU3hIUVVGSGMwY3NTMEZCUzNCSExFMUJRVTFHTEVWQlFVVnJTaXhGUVVGRmJrb3NSVUZCUlhkRExFZEJRVWNzVFVGQlRYSkRMRXRCUVV0cFJDeFRRVUZUT0VZc1IwRkJSeXhMUVVGTGRFSXNSVUZCUlc1R0xGRkJRVkYwUXl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZkMlNTeEZRVUZGTEVkQlFVZDJReXhKUVVGSmQwZ3NVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeHhRa0ZCY1VKMFFpeFRRVUZUZEVnc1MwRkJTM05MTEZWQlFWVXhRaXhKUVVGSkxIZENRVUYzUWpWSkxFdEJRVXRuUWl4UlFVRlJORWdzU1VGQlNTeERRVUZEZUVrc1QwRkJUMDRzUlVGQlJVVXNTMEZCUzBNc1VVRkJVVmNzYjBKQlFXOUNaQ3hGUVVGRkxFOUJRVTlGTEV0QlFVdDNTU3hyUWtGQmEwSkVMRVZCUVVWMlNTeExRVUZMTkV3c2NVSkJRWEZDZUVZc1MwRkJTM0JITEUxQlFVMTVTQ3hGUVVGRkwwY3NhMEpCUVd0Q01FSXNTVUZCU1hGR0xFVkJRVVV2Unl4dFFrRkJiVUpuVUN4RlFVRkZkRTRzUjBGQlIzWkRMRVZCUVVWMVF5eEhRVUZIYlVjc1JVRkJSVzVITEVWQlFVVTBSeXhGUVVGRmJrb3NSVUZCUlhWRExFbEJRVWswUnl4RlFVRkZhRW9zUzBGQlMyZElMRkZCUVZGdVNDeEZRVUZGZFVNc1NVRkJTVFJITEVWQlFVVnVTaXhGUVVGRmRVTXNTMEZCUzNaRExFVkJRVVYxUXl4RlFVRkZjRU1zUzBGQlMyZElMRkZCUVZGdVNDeEZRVUZGZFVNc1RVRkJUWE5PTEVWQlFVVjBUaXhIUVVGRkxFZEJRVWx4Uml4RlFVRkZMMFVzWjBKQlFXZENMRkZCUVZFclJTeEZRVUZGTDBVc2FVSkJRV2xDWjA0c1JVRkJSWFJPTEVkQlFVZDFUaXhKUVVGSlJDeEZRVUZGY2s0c1IwRkJSMFFzVFVGQlRTeEpRVUZKZDA0c1JVRkJSU3hIUVVGSFF5eEZRVUZGTEZOQlFWTXZVQ3hIUVVGSExFZEJRVWNzVlVGQlZVWXNSVUZCUlN0R0xFdEJRVXM0UWl4RlFVRkZkRVlzVTBGQlUzSkRMRWxCUVVrc1EwRkJReXhKUVVGSlF5eEZRVUZGTUVnc1JVRkJSV3BHTEZkQlFWY3hReXhIUVVGSExFdEJRVXRCTEVWQlFVVXNUMEZCVHl4TlFVRk5MRWRCUVVjNFVDeEZRVUZGTjFBc1IwRkJSeXRJTEVWQlFVVXZTQ3hIUVVGSExGVkJRVlV3U0N4RlFVRkZkRVlzVTBGQlUzSkRMRWRCUVVjc1QwRkJUemhRTEVWQlFVVTNVQ3hKUVVGSk5rY3NTMEZCUzJ0S0xFMUJRVTFvU1N4RlFVRkZhRWtzUjBGQlIzbEpMRVZCUVVWNlNTeEpRVUZKTEZGQlFWRXNVMEZCVTBVc1MwRkJTMnRETEZGQlFWRnNReXhMUVVGTGEwTXNUMEZCVHl4SlFVRkpiRU1zUzBGQlMydERMRTlCUVU4c1NVRkJTWFJETEVWQlFVVTJSaXhSUVVGUkxFdEJRVXR0U3l4RlFVRkZOMUFzU1VGQlNTeEpRVUZKTUVnc1JVRkJSVGRGTEdWQlFXVTNReXhIUVVGSE1FZ3NSVUZCUlRkRkxHVkJRV1UxUXl4TFFVRkxaMGdzVVVGQlVXcElMRTlCUVU5QkxFZEJRVWN3U0N4RlFVRkZkRVlzVTBGQlUzSkRMRXRCUVVzNFVDeEZRVUZGTjFBc1NVRkJTU3RJTEVWQlFVVm9TU3hIUVVGSGVVa3NSVUZCUlhwSkxFbEJRVWt5U0N4RlFVRkZia1lzVTBGQlUzaERMRWRCUVVjc1RVRkJUVEpJTEVWQlFVVnVSaXhWUVVGVmMwNHNSVUZCUlRkUUxFbEJRVWwzU1N4RlFVRkZla2tzU1VGQlNVTXNSMEZCUnpCSUxFVkJRVVYwUml4VFFVRlRja01zUjBGQlJ5eEhRVUZITEZOQlFWTTRVQ3hGUVVGRmJra3NSVUZCUldwR0xGZEJRVmN4UXl4SlFVRkpNa2dzUlVGQlJYUkdMRk5CUVZOeVF5eEpRVUZKYzBjc1MwRkJTM0JITEUxQlFVMHNSMEZCUnpaUUxFVkJRVVVzUzBGQlMwRXNSVUZCUlN4TFFVRkxOMUFzUzBGQlMybEVMRk5CUVZNc1ZVRkJWWGRGTEVWQlFVVjJSU3hUUVVGVExGVkJRVlYwUkN4RlFVRkZLMFlzUzBGQlN6aENMRVZCUVVWMFJpeFRRVUZUUXl4SlFVRkpMRlZCUVZWNFF5eEZRVUZGSzBZc1MwRkJTemhDTEVWQlFVVjBSaXhUUVVGVFJTeExRVUZMUVN4RlFVRkZMRVZCUVVVc1YwRkJWM0pETEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4VlFVRlZaU3hGUVVGRmRFWXNVMEZCVTI1RExFdEJRVXRuU0N4UlFVRlJVeXhGUVVGRmJrWXNXVUZCV1VRc1IwRkJSMnRITEVWQlFVVjJTU3hMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNSMEZCUnl4WFFVRlhiVVlzUlVGQlJYUkdMRk5CUVZOdVF5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZWRUxFbEJRVWxyUnl4RlFVRkZka2tzUzBGQlMyZElMRkZCUVZGVExFVkJRVVZ1Uml4VlFVRlZMRVZCUVVWMFF5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNTVUZCU1hSRExFdEJRVXRwUkN4UlFVRlJlVVFzVDBGQlR6RkhMRXRCUVV0dFNDeFBRVUZQYmtnc1MwRkJTMmxFTEZGQlFWRjVSQ3hQUVVGUExFZEJRVWNzUjBGQlIzSkZMRWRCUVVkeVF5eExRVUZMYVVRc1VVRkJVWGxFTEU5QlFVOWxMRVZCUVVWMFJpeFRRVUZUYmtNc1MwRkJTMmRJTEZGQlFWRlRMRVZCUVVWdVJpeFZRVUZWZEVNc1MwRkJTelJMTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZsQlFWa3NTVUZCU1RGRExFVkJRVVY1U3l4UlFVRlJja3NzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4VFFVRlRMRWRCUVVjc1IwRkJSekZITEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRuU0N4UlFVRlJVeXhGUVVGRmJrWXNWVUZCVlN4SlFVRkpMRWxCUVVreFF5eEZRVUZGZVVzc1VVRkJVWEpMTEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4RFFVRkRMRTFCUVUwc1ZVRkJWU3hGUVVGRkxFZEJRVWN4Unl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1NVRkJTU3hKUVVGSk1VTXNSVUZCUlhsTExGRkJRVkZ5U3l4TFFVRkxhVVFzVVVGQlVYbEVMRTFCUVUwc1EwRkJReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEhRVUZIY2tVc1IwRkJSMjlHTEVWQlFVVjBSaXhUUVVGVGJrTXNTMEZCUzJkSUxGRkJRVkZUTEVWQlFVVnVSaXhYUVVGWGRFTXNTMEZCUzJsRUxGRkJRVkUwU0N4blFrRkJaMElzUlVGQlJTeEZRVUZGZUVrc1IwRkJSM0pETEV0QlFVdHBSQ3hSUVVGUlZpeFJRVUZSZGtNc1MwRkJTMmxFTEZGQlFWRjVSQ3hQUVVGUE1VY3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxiVWdzVDBGQlQyNUlMRXRCUVV0cFJDeFJRVUZSZVVRc1VVRkJVU3hIUVVGSExFZEJRVWRyU2l4RlFVRkZOVkFzUzBGQlMyMUlMRTlCUVU5dVNDeExRVUZMWjBnc1VVRkJVV2hJTEV0QlFVdHBSQ3hSUVVGUmVVZ3NUMEZCVDNKSkxFZEJRVWQxVGl4RlFVRkZia2tzUlVGQlJXcEdMRmRCUVZkS0xFbEJRVWx4Uml4RlFVRkZiRVlzVDBGQlQwZ3NSVUZCUlhkT0xFVkJRVVZ1U1N4RlFVRkZha1lzVjBGQlYwZ3NTVUZCU1c5R0xFVkJRVVZzUml4UFFVRlBSaXhGUVVGRmNrTXNTMEZCU3pKSkxGRkJRVkZETEVsQlFVbG5TQ3hIUVVGSGJra3NSVUZCUlM5RkxHVkJRV1VzUTBGQlF6RkRMRXRCUVVzclVDeHRRa0ZCYlVJdlVDeExRVUZMYVVRc1UwRkJVMnBFTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNSMEZCUjBFc1NVRkJTU3hYUVVGWE5Va3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVTBGQlUzUkRMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGZEJRVmN3VEN4WlFVRlpMSGRDUVVGM1FtaFBMRXRCUVV0blNDeFJRVUZSYUVnc1MwRkJTMmxFTEZGQlFWRmtMRmRCUVZkdFFpeFRRVUZUTEhkQ1FVRjNRblJFTEV0QlFVdHBSQ3hSUVVGUlpDeFZRVUZWYmtNc1MwRkJTMmxFTEZOQlFWTnFSQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkYxUkN4TFFVRkxMRkZCUVZFc05rSkJRVFpDYkU4c1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNWVUZCVlhOSExFbEJRVWsxU1N4TFFVRkxhVVFzVVVGQlVUWklMRkZCUVZFNVN5eExRVUZMSzFBc2EwSkJRV2xDTEVWQlFVY3ZVQ3hMUVVGTE5rNHNVMEZCVVN4SFFVRkpMRWxCUVVsdFF5eEZRVUZGYkZFc1JVRkJSWGRITEVsQlFVbHpTaXhGUVVGRmRFb3NTMEZCUzIxQ0xFVkJRVVUzUlN4bFFVRmxNRVFzUzBGQlN5eEhRVUZITWtvc1JVRkJSVzVSTEVWQlFVVjVSeXhOUVVGTmNVb3NSVUZCUlc1S0xFdEJRVXM0UWl4RlFVRkZia2NzUjBGQlIzRkdMRVZCUVVVM1JTeGxRVUZsTWtRc1QwRkJUeXhIUVVGSE1rb3NSVUZCUlhCUkxFVkJRVVV3Unl4UFFVRlBiMG9zUlVGQlJYUktMRWxCUVVscFF5eEZRVUZGYkVjc1IwRkJSMjlHTEVWQlFVVTNSU3hsUVVGbE5FUXNVVUZCVVN4SFFVRkhNa29zUlVGQlJYSlJMRVZCUVVVeVJ5eExRVUZMYlVvc1JVRkJSVzVLTEUxQlFVMW5RaXhGUVVGRk4wVXNaVUZCWlRaRUxFMUJRVTBzUjBGQlJ6SktMRVZCUVVWRUxFVkJRVVVzVDBGQlQwWXNSVUZCUlN4UlFVRlJMRXRCUVV0T0xFVkJRVVZMTEVWQlFVVXNUVUZCVFVVc1JVRkJSU3hUUVVGVExFdEJRVXNzUjBGQlIwVXNSMEZCUjFRc1JVRkJSU3hEUVVGRExFbEJRVWtzVTBGQlV6TlFMRXRCUVVzeVJpeE5RVUZOTEZkQlFWY3pSaXhMUVVGTE1rWXNUMEZCVHl4VlFVRlZMMFlzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwTXNTVUZCU1N4VlFVRlZlRU1zUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUnl4RFFVRkRMRWxCUVVsRUxFVkJRVVVzUlVGQlJVTXNSVUZCUlN4RlFVRkZMRTlCUVU5eVF5eExRVUZMUXl4UlFVRlJLME1zWlVGQlpXMU9MRVZCUVVVdlRpeEZRVUZGZEVNc1JVRkJSVEpITEUxQlFVMXRTaXhGUVVGRmJrb3NUVUZCVFdkQ0xFVkJRVVUzUlN4bFFVRmxOa1FzVFVGQlRTeEpRVUZKZDBvc1NVRkJTVGRPTEVWQlFVVjBReXhGUVVGRmVVY3NUMEZCVDNGS0xFVkJRVVZ1U2l4TFFVRkxPRUlzUlVGQlJXNUhMRWRCUVVkeFJpeEZRVUZGTjBVc1pVRkJaVEpFTEU5QlFVOHNTMEZCUzNsS0xFVkJRVVV6VGl4RlFVRkZka01zUlVGQlJYZEhMRXRCUVV0elNpeEZRVUZGZEVvc1MwRkJTMjFDTEVWQlFVVTNSU3hsUVVGbE1FUXNTMEZCU3l4SlFVRkpORW9zU1VGQlNUZE9MRVZCUVVWMlF5eEZRVUZGTUVjc1VVRkJVVzlLTEVWQlFVVjBTaXhKUVVGSmFVTXNSVUZCUld4SExFZEJRVWR2Uml4RlFVRkZOMFVzWlVGQlpUUkVMRkZCUVZFc1MwRkJTM2hITEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4RlFVRkZkMFVzUzBGQlMwTXNTVUZCU1M5SExFVkJRVVYzUnl4SlFVRkpkRWNzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVWQlFVVkJMRWRCUVVkd1F5eExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSVUZCUlhWRkxFdEJRVXRETEVsQlFVa3ZSeXhGUVVGRk1rY3NTMEZCUzNwSExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFJTeEZRVUZGUVN4SFFVRkhkMDRzUlVGQlJTeExRVUZMUVN4RlFVRkZMRXRCUVVzM1VDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNXZElMRWxCUVVrMVVDeExRVUZMYlVjc1YwRkJWeXhqUVVGamJrY3NUVUZCU3l4SlFVRkxlVWdzUlVGQlJTOUZMR2RDUVVGblFpeFRRVUZUSzBVc1JVRkJSUzlGTEdsQ1FVRnBRakpPTEVWQlFVVXNVMEZCVTNaUkxFZEJRVWRGTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTlVrc1MwRkJTMjFJTEU5QlFVOXlTQ3hIUVVGSE9GQXNSVUZCUlRWUUxFdEJRVXR0U0N4UFFVRlBja2dzUzBGQlMzbEpMRVZCUVVWMlNTeExRVUZMYVVnc1QwRkJUMjVJTEVsQlFVa3lTQ3hGUVVGRmJFWXNUMEZCVDNaRExFdEJRVXRwU0N4UFFVRlBia2dzUzBGQlN5eFBRVUZQUVN4SFFVRkhMRkZCUVZGQkxFZEJRVWNzUlVGQlJTeEhRVUZIWjBrc1JVRkJSVGxJTEV0QlFVdHBTQ3hQUVVGUGJrZ3NUVUZCVFN4UFFVRlBRU3hIUVVGSExGRkJRVkZCTEVWQlFVVXNSMEZCUnl4SlFVRkpSU3hMUVVGTGFVUXNVMEZCVTJwRUxFdEJRVXN5U1N4UlFVRlJjVVlzV1VGQldTeDNRa0ZCZDBKb1R5eExRVUZMYVVRc1VVRkJVV1FzVlVGQlZXMUNMRk5CUVZNc2QwSkJRWGRDZEVRc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVUXNVVUZCVVdRc1YwRkJWM2xITEVsQlFVa3NWVUZCVlN4SFFVRkhRU3hKUVVGSkxGZEJRVmM1U1N4RlFVRkZSU3hMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmMxU3l4TFFVRkxhVWdzVDBGQlQyNUlMRXRCUVV0RkxFdEJRVXRwUkN4VFFVRlRha1FzUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSZFVRc1MwRkJTeXhSUVVGUkxEWkNRVUUyUW5CUExFZEJRVWRGTEV0QlFVc3JVQ3hyUWtGQmFVSXNSVUZCUnk5UUxFdEJRVXMyVGl4VFFVRlJMRWRCUVVsNlNDeExRVUZMY0Vjc1RVRkJUVEJRTEVWQlFVVjBUaXhIUVVGSGFVOHNSVUZCUlhKUkxFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEhRVUZIYzA0c1JVRkJSWEpPTEVkQlFVZG5UeXhGUVVGRmNsRXNTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRWxCUVVrc1NVRkJTV2RQTEVWQlFVVXNTMEZCUzNKUkxFdEJRVXRwU0N4UFFVRlBha2dzUzBGQlMzTkRMRk5CUVZOeFRpeEZRVUZGVXl4RlFVRkZjRkVzUzBGQlMybEVMRk5CUVZNc1ZVRkJWWGRGTEVWQlFVVjJSU3hUUVVGVExGRkJRVkYxUlN4RlFVRkZMMFVzWjBKQlFXZENNVU1zUzBGQlMybElMRTlCUVU5dlNpeEpRVUZKY2xFc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVZ3NUMEZCVDJwSUxFdEJRVXR6UXl4WlFVRlpjVTRzUlVGQlJTeFZRVUZWTTFBc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTk5rSXNSVUZCUlhaSkxFdEJRVXRwU0N4UFFVRlBiMG9zU1VGQlNTeEZRVUZGY2xFc1MwRkJTMmxFTEZGQlFWRXlTQ3hYUVVGWE5Vc3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxhVVFzVVVGQlVYbElMRXRCUVVzc1JVRkJSWEJFTEZOQlFWTjBTQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEd0Q1FVRnJRbmRHTEVkQlFVZHlVU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWtzUlVGQlJTeEhRVUZIUVN4SFFVRkhjbEVzUzBGQlMybEVMRkZCUVZFMFNDeGxRVUZsZGtRc1UwRkJVM1JJTEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVM5Q0xFbEJRVWtzVlVGQlZUVkpMRXRCUVV0cFJDeFJRVUZSTkVnc2FVSkJRV2xDZEVNc1JVRkJSWFpKTEV0QlFVdHBTQ3hQUVVGUGIwb3NTVUZCU1M5SkxGTkJRVk4wU0N4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHbENRVUZwUWpkTExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFNDeFBRVUZQYjBvc1NVRkJTVVFzUlVGQlJVTXNSMEZCUjNKUkxFdEJRVXR0U0N4UFFVRlBhMG9zUjBGQlIzWlJMRVZCUVVWRkxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNWUXNSVUZCUlRWUUxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNUVkpMRVZCUVVVM1JTeGxRVUZsZVU0c1NVRkJTU3hIUVVGSGRsRXNSVUZCUlVVc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFdEJRVXRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWsxU1N4RlFVRkZOMFVzWlVGQlpYbE9MRWRCUVVjNVNDeEZRVUZGZGtrc1MwRkJTMmxJTEU5QlFVOXZTaXhMUVVGTFFTeEhRVUZIY2xFc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFdEJRVXRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWxFTEVWQlFVVjBVU3hGUVVGRlJTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVazFTU3hGUVVGRk4wVXNaVUZCWlRWRExFdEJRVXR0U0N4UFFVRlBhMG9zVFVGQlRVUXNSMEZCUjNSUkxFVkJRVVZGTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1RWSkxFVkJRVVUzUlN4bFFVRmxOVU1zUzBGQlMyMUlMRTlCUVU5clNpeExRVUZMVkN4RlFVRkZOVkFzUzBGQlMyMUlMRTlCUVU5clNpeEpRVUZKUkN4TFFVRkxRU3hGUVVGRmVFb3NTMEZCUzIxSUxFbEJRVWx4UXl4RlFVRkZWQ3hMUVVGTFFTeEhRVUZITEVWQlFVVlRMRWxCUVVsd1VTeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdWMlJDeFRRVUZUZEVnc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUkwwSXNTVUZCU1N4VlFVRlZOVWtzUzBGQlMybEVMRkZCUVZFMFNDeHBRa0ZCYVVKMVJpeEhRVUZIUXl4SFFVRkhjbEVzUzBGQlMybEVMRkZCUVZFMFNDeG5Ra0ZCWjBJc1JVRkJSU3hKUVVGSk4wc3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVazFTU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFZEJRVWRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWxFTEVkQlFVZERMRWRCUVVkeVVTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVa3NSVUZCUlN4SlFVRkpjbEVzUzBGQlN5dFFMR3RDUVVGcFFpeExRVUZOTEU5QlFVOHZVQ3hMUVVGTGJVY3NWMEZCVnl4alFVRmpia2NzVDBGQlQwZ3NSVUZCUlRSUExGVkJRVlUyUWl4VFFVRlRMRk5CUVZONFVTeEhRVUZITEVkQlFVZEZMRXRCUVV0MVVTeEpRVUZKTEZOQlFWTjZVU3hGUVVGRlF5eEhRVUZITUVZc1QwRkJUeXRMTEdkQ1FVRm5RaTlMTEU5QlFVOHJTeXhqUVVGakxFbEJRVWt2U3l4UFFVRlBLMHNzWTBGQll6RlJMRWRCUVVkRExFZEJRVWRETEV0QlFVdDVVU3hKUVVGSkxGTkJRVk16VVN4SFFVRkhMRTlCUVU4eVJpeFBRVUZQSzBzc1kwRkJZeTlMTEU5QlFVOHJTeXhqUVVGak1WRXNSMEZCUnl4TlFVRk5SU3hMUVVGTE1GRXNhMEpCUVd0Q0xGZEJRVmNzUjBGQlJ6RlJMRXRCUVV0NVVTeEpRVUZKTEd0Q1FVRnJRaXhQUVVGUGVsRXNTMEZCUzNsUkxFbEJRVWtzYTBKQlFXdENMRXRCUVVzc1NVRkJTVE5STEVWQlFVVnBSeXhUUVVGVE5Fc3NZMEZCWXl4UFFVRlBOMUVzUlVGQlJUUkpMRTFCUVUxMlNTeE5RVUZOTEZGQlFWRk1MRVZCUVVVMFNTeE5RVUZOZEVrc1QwRkJUeXhSUVVGUlRpeEZRVUZGTkVrc1RVRkJUV3RKTEZOQlFWTXNVMEZCVXpsUkxFVkJRVVUwU1N4TlFVRk5ka2NzVTBGQlV5eFhRVUZYY2tNc1JVRkJSVFJKTEUxQlFVMXdReXhKUVVGSkxGTkJRVk5RTEZOQlFWTTRTeXhMUVVGTGNrY3NXVUZCV1RGTExFZEJRVWNzU1VGQlNVTXNSVUZCUlVRc1JVRkJSV2RTTEZsQlFWbG9VaXhGUVVGRmFWSXNXVUZCV1N4UFFVRlBhRXdzVTBGQlV6aExMRXRCUVV0SExGbEJRVmxzVWl4SFFVRkhSU3hMUVVGTGRWRXNTVUZCU1N4cFFrRkJhVUo0VVN4SFFVRkhRU3hGUVVGRkxFMUJRVTFETEV0QlFVdHBVaXh2UWtGQmIwSXNVMEZCVTNoS0xFbEJRVWxCTEVWQlFVVXNhVUpCUVdsQ1FTeEZRVUZGUVN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRFFTeEZRVUZGTEd0Q1FVRnJRa0VzUjBGQlIzbEtMRkZCUVZFc1UwRkJVM0JTTEVWQlFVVkRMRWRCUVVjc2FVSkJRV2xDUkN4SlFVRkpNa2dzUlVGQlJURklMRWRCUVVjc1EwRkJRMFFzUlVGQlJTeHZRa0ZCYjBJc1NVRkJTU3hKUVVGSlFTeEhRVUZGTEVWQlFVZERMRVZCUVVVc1JVRkJSVUVzUlVGQlJUQklMRVZCUVVWTkxFOUJRVTlvU1N4TFFVRkxMRWxCUVVrd1NDeEZRVUZGTVVnc1IwRkJSeXhIUVVGSGIxSXNVVUZCVVN4VlFVRlZjbElzUjBGQlJTeEhRVUZKTEU5QlFVMHNTVUZCUzBFc1IwRkJSekpJTEVWQlFVVTBSeXhMUVVGTExFTkJRVU1zVDBGQlR5eHJRa0ZCYTBJMVJ5eEhRVUZIZWtnc1MwRkJTMjlTTEdsQ1FVRnBRaXhYUVVGWExFOUJRVTl3VWl4TFFVRkxNRkVzY1VKQlFYRkNNMHNzVTBGQlV6aExMRXRCUVV0UkxHRkJRV0UxVEN4UFFVRlBOa3dzWVVGQllYUlNMRXRCUVV0dlVpeHRRa0ZCYlVJc1EwRkJRM1JTTEVWQlFVVkZMRXRCUVV0cFVpeHZRa0ZCYjBKdVVpeEhRVUZITEVsQlFVa3NTVUZCU1VNc1JVRkJSU3hGUVVGRlFTeEZRVUZGUkN4RlFVRkZhVWtzVDBGQlQyaEpMRWxCUVVrc1NVRkJTU3hKUVVGSk1FZ3NSVUZCUlRGQ0xGTkJRVk4zVEN4cFFrRkJhVUo2VWl4RlFVRkZReXhIUVVGSExFbEJRVWwzU1N4RlFVRkZMRVZCUVVWQkxFVkJRVVZrTEVWQlFVVk5MRTlCUVU5UkxFbEJRVWtzUTBGQlF5eEhRVUZIWkN4RlFVRkZZeXhIUVVGSGFVb3NZVUZCWVN4cFFrRkJhVUlzVDBGQlR5eEpRVUZKTVVvc1JVRkJSV2hKTEVWQlFVVkRMRWRCUVVjc1IwRkJSMmRLTEVWQlFVVjBSQ3hQUVVGUFowMHNhVUpCUVdsQ2FFc3NSVUZCUldNc1NVRkJTVzFLTEdsQ1FVRnBRalZLTEVkQlFVZE1MRVZCUVVWakxFZEJRVWRZTEdGQlFXRXNaMEpCUVdkQ1JTeEhRVUZIYVVJc1JVRkJSVUVzUjBGQlJ5eE5RVUZOTEVsQlFVbERMRVZCUVVVc2FVSkJRV2xDYkVJc1IwRkJSeXhUUVVGVFFTeEZRVUZGTEVsQlFVa3NTVUZCU1V3c1JVRkJSV01zUjBGQlIwY3NUVUZCVFZvc1IwRkJSeXhSUVVGUmFVSXNSVUZCUlN4SlFVRkpReXhGUVVGRkxFbEJRVWxvU2l4TFFVRkxNRkVzYjBKQlFXOUNMRXRCUVVzc1NVRkJTVGRSTEVWQlFVVTJVQ3hGUVVGRk0wb3NVMEZCVXpSTUxHVkJRV1VzZVVKQlFYbENPVklzUlVGQlJXdEhMRk5CUVZNMlRDeE5RVUZOTjB3c1UwRkJVemhNTEhGQ1FVRnhRaXhSUVVGUkxFbEJRVWx1UXl4RlFVRkZNMG9zVTBGQlV6UkxMR05CUVdNc1ZVRkJWV2hNTEV0QlFVc3NWMEZCVnl0S0xFVkJRVVU1U0N4aFFVRmhMRXRCUVVzc2RVSkJRWFZDT0Vnc1JVRkJSV3hHTEZsQlFWbDZSU3hUUVVGVEswd3NaVUZCWlN4dFJFRkJiVVJxVXl4RlFVRkZNa3NzV1VGQldXdEdMRWxCUVVrelNpeFRRVUZUT0Vzc1MwRkJTMnRDTEZWQlFWVkRMRWxCUVVrc2EwSkJRV3RDUXl4TlFVRk5MRmRCUVZjc1NVRkJTU3hKUVVGSmJsTXNSVUZCUldsSExGTkJRVk4zVEN4cFFrRkJhVUlzYlVKQlFXMUNlRklzUlVGQlJTeEZRVUZGUVN4RlFVRkZSQ3hGUVVGRmFVa3NUMEZCVDJoSkxFbEJRVWtzUTBGQlF5eEpRVUZKTUVnc1JVRkJSVE5JTEVWQlFVVkRMRWRCUVVkNVVpeGhRVUZoTEdsQ1FVRnBRakZTTEVWQlFVVkRMRWRCUVVjeVNTeE5RVUZOYWtJc1IwRkJSeXhMUVVGTE0wZ3NSVUZCUlVNc1IwRkJSMjFUTEdkQ1FVRm5RaXhwUWtGQmFVSnVUU3hUUVVGVE9Fc3NTMEZCUzJ0Q0xGVkJRVlZKTEU5QlFVOHNhVUpCUVdsQ2RGTXNSVUZCUlRSUExGVkJRVlV4UXl4TFFVRkxMRk5CUVZOcVRTeEhRVUZITEVkQlFVZEJMRVZCUVVWQkxFZEJRVWNzUjBGQlIwVXNTMEZCUzI5VExGbEJRVmtzVDBGQlQzQlRMRXRCUVVzc1IwRkJSMEVzUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMSzBvc1ZVRkJWUzlLTEV0QlFVdHhVeXhWUVVGVmNsTXNTMEZCUzNGVExGRkJRVkY2VXl4RlFVRkZMRmxCUVZreVN5eFBRVUZQZGtzc1MwRkJTM1ZPTEdWQlFXVjJTaXhUUVVGVGNFVXNSVUZCUlN4VlFVRlZTU3hMUVVGTE5FOHNUMEZCVDBNc1lVRkJZVGRQTEV0QlFVczBUeXhQUVVGUE5VOHNTMEZCUzNkT0xHdENRVUZyUW5oT0xFdEJRVXR6VXl4WFFVRlhMRTlCUVU5MFV5eExRVUZMUVN4TFFVRkxReXhSUVVGUk1rUXNXVUZCV1doRkxFVkJRVVZ0Unl4VlFVRlZhVU1zUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhMRWxCUVVsQkxFVkJRVVY1VXl4VFFVRlRkbE1zUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEZGQlFVOHNTVUZCUzBFc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNc1UwRkJVemRFTEV0QlFVdERMRkZCUVZFMFJDeGxRVUZsYWtVc1JVRkJSU3hSUVVGUmIwa3NSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXQ1VGl4blFrRkJaMElzVVVGQlVYcE9MRXRCUVV0RExGRkJRVkUwUkN4bFFVRmxMMFFzUlVGQlJXOURMRkZCUVZGc1F5eExRVUZMTWtrc1VVRkJVU3hKUVVGSk0wa3NTMEZCU3pKSkxGRkJRVkUyU2l4SlFVRkpNVk1zUlVGQlJXOURMRkZCUVZFMlJpeFRRVUZUTDBnc1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hMUVVGTmFrUXNTMEZCUzNCSExFOUJRVTlCTEV0QlFVczBSaXhsUVVGbGFFY3NSVUZCUlN4WlFVRlpiMGtzUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hIUVVGSExGZEJRVmNzVDBGQlRTeExRVUZOTEVsQlFVbElMRVZCUVVVc1dVRkJWeXhKUVVGTFF5eExRVUZMT0Vjc2NVSkJRWEZDYWtnc1JVRkJSVGhITEZWQlFWVkRMRXRCUVV0RExFbEJRVWxUTEZOQlFWTjBTQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hWUVVGVkxFbEJRVWsxU1N4TFFVRkxReXhSUVVGUmQwUXNUMEZCVHpWRUxFVkJRVVU0Unl4WFFVRlhMRVZCUVVVNVJ5eEZRVUZGT0Vvc2JVSkJRVzFDTEVkQlFVY3NSVUZCUlROS0xFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGTkJRVk12U1N4RlFVRkZPRWNzVjBGQlZ6TkhMRXRCUVV0RExGRkJRVkYzUkN4UFFVRlBOVVFzUlVGQlJUaEhMRmRCUVZjelJ5eExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdERMRkZCUVZGclFpeFZRVUZWYmtJc1MwRkJTMjFMTEU5QlFVOHJSQ3hMUVVGTGJFOHNTMEZCUzBNc1VVRkJVV3RDTEZkQlFWZHVRaXhMUVVGTEswc3NVMEZCVXk5TExFdEJRVXR0U3l4UFFVRlBLMFFzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZyUWl4WFFVRlZMRWRCUVVsdVFpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdERMRkZCUVZGblFpeGhRVUZoYWtJc1MwRkJTMjFMTEU5QlFVOHpTU3hMUVVGTExHMUNRVUZ0UW5oQ0xFdEJRVXMwUWl4WFFVRlhOVUlzUzBGQlMyMUxMRTlCUVU4elNTeExRVUZMTEc5Q1FVRnRRaXhIUVVGSmVFSXNTMEZCUzIxTExFOUJRVThyUkN4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVdkQ0xGbEJRVmxxUWl4TFFVRkxORUlzVjBGQlZ6VkNMRXRCUVV0dFN5eFBRVUZQSzBRc1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGblFpeGhRVUZaTEVkQlFVa3NVVUZCVVdwQ0xFdEJRVXRETEZGQlFWRm5RaXhaUVVGWmFrSXNTMEZCU3pSQ0xGZEJRVmMxUWl4TFFVRkxiVXNzVDBGQlR6aEZMRkZCUVU4c1NVRkJTMnBRTEV0QlFVdHRSeXhYUVVGWExGZEJRVmR1Unl4TFFVRkxReXhSUVVGUmNVSXNUMEZCVDNSQ0xFdEJRVXRETEZGQlFWRnhRaXhMUVVGTFF5eExRVUZMZGtJc1MwRkJTMjFMTEZGQlFWRnVTeXhMUVVGTGJVc3NUMEZCVHl0RUxFdEJRVXRzVHl4TFFVRkxReXhSUVVGUmNVSXNTMEZCUzBrc1dVRkJXVEZDTEV0QlFVdDVVeXhaUVVGWmVsTXNTMEZCUzBNc1VVRkJVWEZDTEV0QlFVdEhMRk5CUVZNelFpeEZRVUZGZDBJc1QwRkJUM2hDTEVWQlFVVjNRaXhMUVVGTFF5eExRVUZMZWtJc1JVRkJSWGRDTEV0QlFVdEZMRk5CUVZNc1ZVRkJWWGhDTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMUnl4VFFVRlRla0lzUzBGQlMyMUxMRk5CUVZOdVN5eExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NiVUpCUVcxQ01VSXNSVUZCUlhkQ0xFOUJRVTk0UWl4RlFVRkZkMElzUzBGQlMwTXNTMEZCUzNwQ0xFVkJRVVYzUWl4TFFVRkxSU3hOUVVGTmVFSXNTMEZCUzNOQ0xFdEJRVXQ0UWl4RlFVRkZkMElzVFVGQlRTeE5RVUZMTEVkQlFVbDBRaXhMUVVGTE5FSXNWMEZCVnpWQ0xFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHZRa0ZCYjBKNFFpeExRVUZMTUZNc2JVSkJRVzFDTVZNc1MwRkJTME1zVVVGQlVUWkRMRzFDUVVGdFFqbERMRXRCUVV0dFF5eFRRVUZUY2tNc1MwRkJTMFVzUzBGQlN6QlRMR3RDUVVGcFFpeEhRVUZKTVZNc1MwRkJTekpUTEZkQlFWY3pVeXhMUVVGTGFVOHNhMEpCUVd0Q2FrOHNTMEZCU3pST0xGTkJRVk0xVGl4TFFVRkxORTRzVVVGQlR5eEZRVUZITlU0c1MwRkJTME1zVVVGQlVYRkZMRmxCUVZsMFJTeExRVUZMUXl4UlFVRlJNRVFzVjBGQlZ6TkVMRXRCUVV0RExGRkJRVkZ4UlN4WlFVRlpkRVVzUzBGQlMyOUtMRkZCUVZGd1NpeExRVUZMWjB3c1owSkJRV2RDYUV3c1MwRkJTME1zVVVGQlVXbEZMR05CUVdOc1JTeExRVUZMUXl4UlFVRlJhMFVzYTBKQlFXdENkRVVzUlVGQlJTdFRMR3RDUVVGclFpOVRMRVZCUVVVclV5eHhRa0ZCY1VJdlV5eEZRVUZGSzFNc2EwSkJRV3RDTEVWQlFVVTFVeXhMUVVGTGMxRXNVMEZCVTNWRExFMUJRVTFETEZGQlFWRTVVeXhMUVVGTFF5eFJRVUZSYTBVc2IwSkJRVzlDTEdsQ1FVRnBRbTVGTEV0QlFVdERMRkZCUVZGclJTeHJRa0ZCYTBKdVJTeExRVUZMUXl4UlFVRlJhMFVzYTBKQlFXdENMRTlCUVU5MlJTeEZRVUZGTEZGQlFWRXdSQ3hUUVVGVExHOUNRVUZ2UW5SRUxFdEJRVXRGTEV0QlFVdEdMRXRCUVV0RExGRkJRVkZ6UkN4VlFVRlZka1FzUzBGQlMyOU1MR1ZCUVdWd1RDeExRVUZMYlVNc1dVRkJXVzVETEV0QlFVdERMRkZCUVZGdFJDeFpRVUZaY0VRc1MwRkJTekpUTEZkQlFWY3pVeXhMUVVGTE1rNHNVMEZCVXl4UlFVRlJNMDRzUzBGQlMwTXNVVUZCVVhsRkxFOUJRVTh4UlN4TFFVRkxReXhSUVVGUmVVVXNUVUZCVFhGSUxFMUJRVTB2VEN4TFFVRkxNRVVzVFVGQlRURkZMRXRCUVV0RExGRkJRVkY1UlN4TlFVRk5jVWdzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBiMGdzVFVGQlRTOU1MRXRCUVV0RExGRkJRVkZyUkN4TFFVRkxia1FzUzBGQlN6SkpMRkZCUVZFd1F5eFBRVUZQUXl4UlFVRlJMRU5CUVVOd1FpeFJRVUZSTEVkQlFVY3NRMEZCUTNGQ0xFOUJRVTBzUlVGQlIwTXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hMUVVGTGMwa3NUVUZCVFN4WFFVRlhla3dzUzBGQlN5dFRMRmRCUVZVc1JVRkJSeTlUTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGZEJRVmMzUkN4TFFVRkxjRWNzVFVGQlRXZFVMRTlCUVU4c1YwRkJWMmhVTEV0QlFVc3JVeXhYUVVGVkxFVkJRVWR5Uml4WFFVRlhMRmRCUVZjeFRpeExRVUZMYVZRc2QwSkJRWGRDYWxRc1MwRkJTMjFETEdGQlFXRnVReXhMUVVGTGFWUXNkMEpCUVhWQ0xFbEJRVXMzVFN4TFFVRkxjRWNzVFVGQlRTeExRVUZMYjBjc1MwRkJTM0JITEZOQlFWTkJMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZGQlFWRkRMRkZCUVZFc1NVRkJTV3hMTEV0QlFVdHBWQ3gzUWtGQmQwSnFWQ3hMUVVGTGJVTXNZVUZCWVc1RExFdEJRVXRwVkN4M1FrRkJkVUlzVFVGQlR6ZE5MRXRCUVV0d1J5eE5RVUZOTEU5QlFVOUJMRXRCUVV0RExGRkJRVkY1UkN4WFFVRlhNVVFzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMTWxNc1YwRkJWemRUTEVWQlFVVjFTaXhaUVVGWmRFb3NTVUZCU1VNc1MwRkJTelJQTEUxQlFVMXNRaXhYUVVGWE0wNHNSVUZCUlVNc1MwRkJTME1zVVVGQlVYbEVMRmRCUVZjeFJDeE5RVUZOU0N4RlFVRkZORThzVlVGQlZYSkdMRTFCUVUwc1UwRkJVM1JLTEVkQlFVY3NSMEZCUjBFc1JVRkJSVUVzUjBGQlJ5eEhRVUZIUml4RlFVRkZMRkZCUVZGcFN5eEpRVUZKTEdOQlFXTTNTaXhMUVVGTFJTeEhRVUZITEdGQlFXRkdMRXRCUVV0RkxFbEJRVWxHTEV0QlFVczBSaXhsUVVGbGFFY3NSVUZCUlN4WlFVRlphVXNzU1VGQlNTeGpRVUZqTjBvc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hKUVVGSlJpeExRVUZMYjFNc1lVRkJZWEJUTEV0QlFVc3lVeXhWUVVGVkxFOUJRVTh6VXl4TFFVRkxMRWRCUVVkQkxFdEJRVXMwVHl4UFFVRlBReXhoUVVGaE4wOHNTMEZCU3pSUExFOUJRVTgxVHl4TFFVRkxkMDRzYTBKQlFXdENlRTRzUzBGQlMzTlRMRmRCUVZjc1QwRkJUM1JUTEV0QlFVc3NTVUZCU1VRc1JVRkJSVEJJTEVWQlFVVmpMRVZCUVVWVUxFVkJRVVVzVjBGQlZ5eEpRVUZKYUVrc1JVRkJSVVVzUzBGQlMyMUhMRmRCUVZjc1YwRkJWMjVITEV0QlFVdERMRkZCUVZGblF5eHRRa0ZCYlVKcVF5eExRVUZMYTFRc1lVRkJZV3hVTEV0QlFVczBUaXhUUVVGVE5VNHNTMEZCU3pST0xGRkJRVThzUlVGQlJ6Vk9MRXRCUVV0dFRDeG5Ra0ZCWjBKdVRDeExRVUZMUXl4UlFVRlJhVVVzWTBGQlkyeEZMRXRCUVV0RExGRkJRVkZyUlN4dFFrRkJiVUowUlN4RlFVRkZLMU1zYTBKQlFXdENMMU1zUlVGQlJTdFRMRzlDUVVGdlFpOVRMRVZCUVVVclV5eHJRa0ZCYTBJc1NVRkJTVFZUTEV0QlFVdHpVU3hUUVVGVE1rSXNVVUZCVVhKVExFVkJRVVVzVVVGQlVXOVBMRmxCUVZrc2IwSkJRVzlDYUU4c1MwRkJTMFVzUzBGQlMwWXNTMEZCUzBNc1VVRkJVWE5FTEZOQlFWTjJSQ3hMUVVGTE1Fd3NaVUZCWlRGTUxFdEJRVXRETEZGQlFWRnRSQ3haUVVGWmNFUXNTMEZCU3l0VExGZEJRVmN2VXl4TFFVRkxNazRzVTBGQlV5eFRRVUZUTTA0c1MwRkJTME1zVVVGQlVYbEZMRTlCUVU4eFJTeExRVUZMUXl4UlFVRlJlVVVzVFVGQlRUQkZMRTlCUVU5d1NpeExRVUZMTUVVc1RVRkJUVEZGTEV0QlFVdERMRkZCUVZGNVJTeE5RVUZOTUVVc1RVRkJUWEJLTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQZVVVc1VVRkJVWFJLTEVWQlFVVkZMRXRCUVVzMFJpeGxRVUZsTEZOQlFWTTFSaXhMUVVGTFF5eFJRVUZSYVVNc1QwRkJUeXhGUVVGRmJFTXNTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMXVSQ3hMUVVGTE1ra3NVVUZCVVRCRExFOUJRVTlETEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ5eERRVUZEY1VJc1QwRkJUU3hGUVVGSFF5eFRRVUZUTVV3c1JVRkJSVEpNTEUxQlFVMHNWMEZCVjNwTUxFdEJRVXN5VXl4WFFVRlZMRWRCUVVsMlRTeExRVUZMY0Vjc1RVRkJUVEpNTEZOQlFWTXNWMEZCVnpOTUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRk5CUVZOcVN5eExRVUZMYlVjc1YwRkJWeXh2UWtGQmIwSkRMRXRCUVV0d1J5eE5RVUZOWjFRc1QwRkJUeXhYUVVGWGFGUXNTMEZCU3pKVExGZEJRVlVzUjBGQlNYWk5MRXRCUVV0d1J5eFRRVUZUUVN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRWxCUVVsc1N5eExRVUZMYlVjc1YwRkJWeXh6UWtGQmMwSkRMRXRCUVV0d1J5eE5RVUZOTEU5QlFVOUdMRVZCUVVWMVNpeGhRVUZoY2tvc1MwRkJTelJHTEdWQlFXVXNVMEZCVXpWR0xFdEJRVXRETEZGQlFWRnBReXhQUVVGUE5FWXNTMEZCU3psSUxFdEJRVXRETEZGQlFWRnpSU3hqUVVGamRrVXNTMEZCUzBNc1VVRkJVWFZGTEdkQ1FVRm5RaXhIUVVGSGVFVXNTMEZCUzBNc1VVRkJVVEJFTEZsQlFWazRSQ3hIUVVGSE1VZ3NSVUZCUlVNc1RVRkJUVU1zVVVGQlVUQkVMRmRCUVZjMFJTeEZRVUZGTkVzc1MwRkJTME1zVFVGQlRYQlVMRXRCUVV0RExGRkJRVkYxUlN4blFrRkJaMEo0UlN4TFFVRkxjVlFzVVVGQlVYWlVMRVZCUVVWR0xFVkJRVVVzYTBOQlFXdERTU3hMUVVGTGNWUXNUVUZCVFhwVUxFVkJRVVVzZDBOQlFYZERSU3hGUVVGRmQxUXNVVUZCVVhSVUxFdEJRVXR4VkN4UFFVRlBlbFFzUlVGQlJTeEpRVUZKU1N4TFFVRkxSU3hKUVVGSmNVc3NUMEZCVDNwTExFbEJRVWxGTEV0QlFVdDFWQ3hWUVVGVkxGZEJRVmNzU1VGQlNYcFVMRVZCUVVWeFZDeExRVUZMUXl4TlFVRk5jbFFzUlVGQlJXdE1MRmxCUVZsNFJDeEhRVUZITTBnc1JVRkJSWGxKTEVkQlFVZEJMRVZCUVVWNlNTeEZRVUZGTEVWQlFVVXlTQ3hIUVVGSE1VZ3NSVUZCUlVVc1VVRkJVWFZGTEdWQlFXVjZSU3hGUVVGRmMxUXNUVUZCVFhwTExFbEJRVWtzVVVGQlVTeEpRVUZKYmtJc1JVRkJSVEZJTEVWQlFVVkZMRkZCUVZFd1JDeFhRVUZYTEV0QlFVczRRaXhQUVVGUEswNHNjMEpCUVhOQ2VsUXNSVUZCUlhkVUxGbEJRVmw2VEN4TFFVRkxja01zVDBGQlR5dE9MSE5DUVVGelFuaFVMRXRCUVV0MVZDeFpRVUZaZGxRc1MwRkJTelJQTEUxQlFVMXNRaXhYUVVGWE5VWXNSVUZCUld4Q0xFdEJRVXRETEVsQlFVazNSeXhMUVVGTFF5eFJRVUZSTUVRc1YwRkJWeXhMUVVGTE0wUXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVm5SaXhQUVVGUExGTkJRVk16VkN4SFFVRkhMRTlCUVU5RkxFdEJRVXRCTEV0QlFVczBUaXhQUVVGUExGRkJRVkVzVVVGQlVUbE9MRWRCUVVkRkxFMUJRVTFJTEVWQlFVVTBUeXhWUVVGVmFVWXNVVUZCVVN4WFFVRlhMRTlCUVU4eFZDeExRVUZMYzFNc1dVRkJWeXhGUVVGSGRGTXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVnJSaXhQUVVGUExGZEJRVmNzVDBGQlR6TlVMRXRCUVV0elV5eFpRVUZYTEVWQlFVZDBVeXhOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWVzFHTEV0QlFVc3NWMEZCVnl4UFFVRlBOVlFzUzBGQlN6QlVMRlZCUVZVeFZDeExRVUZMTWtrc1ZVRkJWVE5KTEV0QlFVczJWQ3h2UWtGQmIwSTNWQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hYUVVGWE5Va3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVa3NRMEZCUTNGQ0xGRkJRVkVzVlVGQlZXcExMRXRCUVV0MVJDeFZRVUZWZGtRc1MwRkJTemhVTEc5Q1FVRnZRamxVTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4WFFVRlhOVWtzUzBGQlMzVkVMRkZCUVZGeFJpeEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGVkJRVlZxU3l4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlhOR0xFdEJRVXNzVjBGQlZ5eFBRVUZQTDFRc1MwRkJTekpVTEZOQlFWTXpWQ3hMUVVGTE1ra3NVMEZCVXpOSkxFdEJRVXMyVkN4elFrRkJjMEkzVkN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVXcExMRXRCUVVzMlZDeHpRa0ZCYzBJM1ZDeExRVUZMTmxRc2IwSkJRVzlDTEUxQlFVMDNWQ3hMUVVGTGRVUXNVMEZCVTNaRUxFdEJRVXM0VkN4elFrRkJjMEk1VkN4TFFVRkxkVVFzVVVGQlVYRkdMRWxCUVVrc1EwRkJRM0ZDTEZGQlFWRnFTeXhMUVVGTE9GUXNjMEpCUVhOQ09WUXNTMEZCU3poVUxHOUNRVUZ2UWl4TlFVRk5PVlFzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZ1VGl4TFFVRkxMRk5CUVZOdFJ5eEZRVUZGTVVnc1IwRkJSekJJTEVWQlFVVkJMRWRCUVVjc1IwRkJSemRJTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zUTBGQlF5eFZRVUZWTEZGQlFWRXNRMEZCUXl4VFFVRlRMRkZCUVZFc1UwRkJVemRJTEVWQlFVVkRMRWRCUVVkRExFdEJRVXRETEZGQlFWRnhRaXhMUVVGTGRrSXNSVUZCUlN4TlFVRk5NRWdzUlVGQlJURklMRVZCUVVVc1MwRkJTME1zUzBGQlMyMUxMRkZCUVZFc1RVRkJUVzVMTEV0QlFVdHRTeXhQUVVGUEswUXNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnhRaXhMUVVGTGRrSXNSVUZCUlN4UFFVRlBNRWdzUlVGQlJURklMRVZCUVVVc1NVRkJTVU1zUzBGQlMyMUxMRTlCUVU4clJDeExRVUZMYkU4c1MwRkJTME1zVVVGQlVYRkNMRXRCUVV0MlFpeEZRVUZGTEUxQlFVMHNTMEZCUzNGSExFdEJRVXR3Unl4UFFVRlBMRWxCUVVsR0xFVkJRVVZHTEVWQlFVVTRSaXhSUVVGUExFVkJRVWNzUjBGQlJ6RkdMRXRCUVV0RExGRkJRVkZ4UWl4TlFVRk5kRUlzUzBGQlMydFVMR0ZCUVdFc1NVRkJTVE5MTEVWQlFVVmtMRVZCUVVWMVRTeFpRVUZaYkZVc1JVRkJSV3RWTEZsQlFWa3NZVUZCWVd4TkxFVkJRVVZNTEVWQlFVVnJSU3hWUVVGVk4wd3NSVUZCUlRaTUxGVkJRVlVzWVVGQllUVkRMRVZCUVVWMFFpeEZRVUZGZDAwc1UwRkJVMjVWTEVWQlFVVnRWU3hUUVVGVExHRkJRV0ZxVEN4RlFVRkZka0lzUlVGQlJYbE5MRTlCUVU5d1ZTeEZRVUZGYjFVc1QwRkJUeXhoUVVGaGNsVXNSVUZCUlVRc1JVRkJSVGhHTEZGQlFVOHNSVUZCUnpWR0xFVkJRVVV5U0N4SFFVRkhMRTlCUVU4MVNDeEZRVUZGYlZVc1YwRkJWeXhUUVVGVGJGVXNSMEZCUjBRc1JVRkJSV2RETEdOQlFXTTNRaXhMUVVGTE1ra3NVVUZCVVhKR0xGVkJRVk1zU1VGQlMzcEVMRVZCUVVWblF5eGhRVUZoTEdWQlFXVm9ReXhGUVVGRlowTXNZMEZCWTJoRExFVkJRVVZwUXl4VlFVRlZPVUlzUzBGQlN5dENMR0ZCUVdFeVRDeFhRVUZYTEZkQlFWY3hUaXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zZDBKQlFYZENla1FzUlVGQlJXMURMRzlDUVVGdlFtcERMRVZCUVVWRExFdEJRVXRwVkN4M1FrRkJkVUlzUlVGQlIycFVMRXRCUVV0dFF5eFpRVUZaYmtNc1MwRkJTemhDTEZGQlFWRnNReXhIUVVGRkxFbEJRVXRETEVWQlFVVnBReXhSUVVGUmFrTXNSVUZCUldsRExGRkJRVkVzYjBOQlFXOURhME1zVTBGQlUyaEZMRXRCUVV0elN5eFhRVUZYZEVzc1MwRkJTM2xKTEdkQ1FVRm5RaXhaUVVGWmVra3NTMEZCU3poQ0xGRkJRVkU0Unl4SlFVRkpMR0ZCUVdFMVNTeExRVUZMT0VJc1VVRkJVVGhITEVsQlFVa3NRMEZCUTNWTUxGVkJRVlVzWTBGQll5eEhRVUZIYmxVc1MwRkJTM2xKTEdWQlFXVktMR05CUVdNc1UwRkJVMnBETEV0QlFVdHdSeXhOUVVGTkxFbEJRVWxCTEV0QlFVdG5RaXhSUVVGUmFVOHNVVUZCVVhCUUxFVkJRVVZyUXl4alFVRmpMRWxCUVVsM1J5eEZRVUZGYmtNc1MwRkJTM0JITEV0QlFWQjFTU3hEUVVGaGVra3NTVUZCU1hOSExFdEJRVXR3Unl4TlFVRk5TQ3hGUVVGRk9Fd3NVMEZCVXl4VFFVRlROMHdzUjBGQlIwVXNTMEZCU3l0Q0xHTkJRV000VFN4aFFVRmhOMDhzUzBGQlN5dENMR05CUVdNdlFpeExRVUZMTWtrc1VVRkJVWEZHTEZsQlFWa3NaMFZCUVdkRmFFOHNTMEZCU3poQ0xGTkJRVk01UWl4TFFVRkxPRUlzVVVGQlVXbEhMRkZCUVZFdlNDeExRVUZMT0VJc1VVRkJVWEZSTEZWQlFWVjBVeXhGUVVGRmJVTXNiMEpCUVc5Q2FrTXNSVUZCUlVNc1MwRkJTMmxVTEhkQ1FVRjFRaXhGUVVGSGFsUXNTMEZCUzIxRExGbEJRVmx1UXl4TFFVRkxlVk1zV1VGQlZ5eEZRVUZITTBzc1JVRkJSVEZDTEV0QlFVdHdSeXhMUVVGUU9FZ3NRMEZCWVdoSkxFbEJRVWx6Unl4TFFVRkxjRWNzVFVGQlRVZ3NSVUZCUlc5VkxGRkJRVkVzVTBGQlUyNVZMRWRCUVVkRUxFVkJRVVVyUWl4WlFVRlpOVUlzUzBGQlN6UkNMRmRCUVZjNVFpeEhRVUZGTEV0QlFVMURMRVZCUVVWRExFdEJRVXRwVkN4M1FrRkJkVUlzUlVGQlIycFVMRXRCUVV0dFF5eFpRVUZaZEVNc1JVRkJSU3RDTEZsQlFWazFRaXhMUVVGTGJVc3NVVUZCVVc1TExFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHBRa0ZCYVVJeFFpeEhRVUZIYVVvc1JVRkJSVE5ETEV0QlFVdHdSeXhMUVVGUUswa3NRMEZCWVdwS0xFbEJRVWx6Unl4TFFVRkxjRWNzVFVGQlRVZ3NSVUZCUlhGVkxFMUJRVTBzVTBGQlUzQlZMRWRCUVVkclNpeEZRVUZGTlVNc1MwRkJTM0JITEV0QlFWQm5TaXhEUVVGaGJFb3NTVUZCU1hOSExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGIxVXNXVUZCV1hoVkxFVkJRVVV3UWl4TFFVRkxla0lzUjBGQlIwY3NUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVjVSU3hYUVVGWExGZEJRVmRzVkN4TFFVRkxiMVVzWTBGQlkzQlZMRXRCUVV0dlZTeFpRVUZaUXl4UlFVRlJjbFVzUzBGQlMzbFRMRmxCUVZjc1NVRkJTelZUTEVWQlFVVTBUeXhWUVVGVkwwb3NUVUZCVFN4VFFVRlROVVVzUlVGQlJVTXNSMEZCUnl4SlFVRkpSQ3hGUVVGRkxFOUJRVTlGTEV0QlFVc3NTVUZCU1hsSUxFZEJRVWMxU0N4RlFVRkZlVlVzVDBGQlVYcFZMRVZCUVVWNVZTeFBRVUZWZWxVc1JVRkJSWGxWTEU5QlFVd3NTVUZCWVhoVkxFdEJRVXN5U0N4RlFVRkZOMGdzUlVGQlJTeFpRVUZaUVN4RlFVRkZMRmxCUVZrc1EwRkJRekpQTEVsQlFVbDZUeXhGUVVGRkxGTkJRVk5yUlN4VFFVRlRlVVFzUjBGQlJ6ZElMRVZCUVVVc1dVRkJXU3hEUVVGRE1rOHNTVUZCU1hwUExFVkJRVVVzVTBGQlUydEZMRk5CUVZONVJDeEhRVUZITlVnc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE1rZ3NSVUZCUlN4SlFVRkpOVWdzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITmtVc1QwRkJUMmxETEV0QlFVdHRTQ3hMUVVGTExFMUJRVTFvVHl4RlFVRkZRU3hGUVVGRkxFdEJRVXNzU1VGQlNTeEhRVUZITEVsQlFVbEdMRVZCUVVWNVZTeFBRVUZQZUZVc1IwRkJSM2xWTEZGQlFWRXhWU3hGUVVGRmVWVXNUMEZCVDNoVkxFZEJRVWN3VlN4WlFVRlpMRVZCUVVVc1RVRkJUVEZWTEVsQlFVa3NUMEZCVDBRc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE1sVXNUMEZCVDNwVkxFMUJRVTFJTEVWQlFVVTJWU3hwUWtGQmFVSXNRMEZCUTNKSkxFdEJRVXNzU1VGQlNYTkpMRlZCUVZVc1NVRkJTVU1zVFVGQlRTeEpRVUZKUXl4TlFVRk5MRWxCUVVsRExGRkJRVkVzU1VGQlNVTXNWVUZCVlN4SlFVRkpReXhOUVVGTkxFbEJRVWxETEU5QlFVOHNTVUZCU1VNc1QwRkJUeXhKUVVGSlF5eFJRVUZSTEVsQlFVbERMRkZCUVZFc1NVRkJTVU1zVjBGQlZ5eEpRVUZKUXl4VlFVRlZMRWxCUVVsRExGVkJRVlVzUzBGQlN6RldMRVZCUVVVMFR5eFZRVUZWYmtRc1VVRkJVU3hUUVVGVGVFd3NSVUZCUlVNc1IwRkJSMEVzUlVGQlJVRXNSMEZCUnl4SFFVRkhReXhMUVVGTGQxWXNiVUpCUVcxQ2VGWXNTMEZCUzNkV0xHbENRVUZwUWl4SlFVRkplbFlzUlVGQlJUUkxMRlZCUVZVMVN5eEZRVUZGTkVzc1VVRkJVVE5MTEV0QlFVc3lTU3hUUVVGVE5Va3NSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSE5DUVVGelFucENMRVZCUVVVMFN5eFJRVUZSYmtvc1MwRkJTeXh2UWtGQmIwSXpRaXhGUVVGRk5GWXNkVUpCUVhWQ01WWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMRzlDUVVGdlFucENMRVZCUVVVMFN5eFJRVUZSY1VRc1dVRkJXV3BQTEVWQlFVVTBTeXhSUVVGUmJrb3NTMEZCU3l4dFFrRkJiVUpCTEV0QlFVc3NhVUpCUVdsQ0xFMUJRVTE0UWl4TFFVRkxkMVlzYVVKQlFXbENlbFlzUlVGQlJUUkxMRkZCUVZGdVNpeExRVUZMTEhWQ1FVRjFRbkZPTEdGQlFXRTNUeXhMUVVGTGQxWXNhVUpCUVdsQ2VsWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSGRDUVVGM1FucENMRVZCUVVVMFN5eFJRVUZSY2tnc1UwRkJVeXhwUWtGQmFVSjRSQ3hIUVVGSE1FSXNTMEZCU3l4cFFrRkJhVUlzYVVKQlFXbENNVUlzUjBGQlIwVXNTMEZCUzNkV0xHbENRVUZwUW5wV0xFVkJRVVUwU3l4UlFVRlJia29zUzBGQlN5eHpRa0ZCYzBKclRTeFhRVUZYTEZkQlFWY3pUaXhGUVVGRk5Fc3NVVUZCVVhGRUxGbEJRVmxxVHl4RlFVRkZORXNzVVVGQlVXNUtMRXRCUVVzc2JVSkJRVzFDUVN4TFFVRkxMR2xDUVVGcFFpeE5RVUZOZWtJc1JVRkJSVFJNTEZWQlFWVTFUQ3hGUVVGRk5Fd3NXVUZCV1RsTUxFVkJRVVUyVlN4cFFrRkJhVUkxVlN4TFFVRkxSQ3hGUVVGRk5FOHNWVUZCVldsSUxHTkJRV01zVTBGQlV6TldMRVZCUVVVd1NDeEhRVUZITEVsQlFVbGpMRVZCUVVVc1JVRkJSVlFzUlVGQlJTeEZRVUZGYVVJc1JVRkJSU3hGUVVGRlF5eEZRVUZGTEVWQlFVVnVTaXhGUVVGRkxFVkJRU3R1UWl4UFFVRlBORWdzUlVGQlJUZElMRVZCUVVVNFJpeFBRVUYwYjBJc1EwRkJRMmxSTEdWQlFXVXNSMEZCUjBNc1kwRkJZU3hIUVVFcmJVSnVUeXhIUVVGSE1VZ3NSVUZCUldsSkxFZEJRVWNzZFVKQlFXNXVRaXhUUVVGWGJFa3NSMEZCUnpKSUxFVkJRVVZ0VHl4bFFVRmxPVllzUlVGQlJXOUpMR05CUVdOdlFpeFZRVUZWZUVvc1JVRkJSVzlKTEdOQlFXTnZRaXhWUVVGVmVFb3NSVUZCUlVFc1JVRkJSVzlKTEdOQlFXTnZRaXhSUVVGUkxFbEJRVWtzU1VGQlNXWXNTVUZCU1VFc1JVRkJSU3hGUVVGRlZDeEZRVUZGYUVrc1JVRkJSU3RXTEZGQlFWRTVUU3hGUVVGRmFrb3NSVUZCUldkWExGbEJRV2RuUW14WExFVkJRVVVzVVVGQlVXOUpMRWRCUVVjc2JVSkJRVzVuUWl4VFFVRlhiRWtzUjBGQlJ5eEpRVUZKZVVrc1NVRkJTVUVzUlVGQlJTeEZRVUZGTTBJc1MwRkJTMjFRTEVsQlFVa3ZUU3hIUVVGSGNFTXNTMEZCUzIxUUxFbEJRVWxzVnl4SlFVRkpLMGNzUzBGQlMyMVFMRWxCUVVrdlRTeEhRVUZIZGtJc1JVRkJSV3RQTEdWQlFXVXpUU3hGUVVGRkxFVkJRVVZxU2l4RlFVRkZaU3hSUVVGUmJFSXNSVUZCUlc5WExFMUJRVTBzYVVKQlFXbENhbGNzUlVGQlJXVXNVVUZCVVd4Q0xFVkJRVVZ2Vnl4TlFVRk5MR3RDUVVGclFuQlFMRXRCUVV0dFVDeEpRVUZKYkZjc1IwRkJSelJJTEVWQlFVVnJUeXhwUWtGQmFVSTVWaXhGUVVGRkxFVkJRVVZGTEVWQlFVVmxMRkZCUVZGc1FpeEZRVUZGYjFjc1RVRkJUU3hsUVVGbGFsY3NSVUZCUldVc1VVRkJVV3hDTEVWQlFVVnZWeXhOUVVGTkxIRkNRVUYzVTNCWExFVkJRVVVzVVVGQlVXOUpMRWRCUVVjc2MwSkJRV3hUTEZOQlFWZHNTU3hIUVVGSExFbEJRVWxETEVWQlFVVXNTVUZCU1hkSkxFbEJRVWw0U1N4SFFVRkhSQ3hGUVVGRlFTeEZRVUZGYjBrc1kwRkJZMjlDTEZGQlFWRjRTaXhGUVVGRmIwa3NZMEZCWTI5Q0xGRkJRVkVzUjBGQlIzaEtMRWRCUVVjclZpeFJRVUZSTDA0c1JVRkJSV2hKTEVWQlFVVkJMRVZCUVVWblZ5eFJRVUZSTDAwc1IwRkJSMjVETEV0QlFVdHRVQ3hKUVVGSmFGY3NSMEZCUnpCSUxFVkJRVVZyVHl4blFrRkJaMEl2VHl4TFFVRkxiVkFzU1VGQlNXcFhMRWRCUVVjeVNDeEZRVUZGYTA4c2EwSkJRV3RDY0U0c1JVRkJSU3hGUVVGRlV5eEZRVUZGYWtvc1JVRkJSVVlzUlVGQlJVTXNUVUZCYlVsRExFZEJRVWRHTEVWQlFVVTBUeXhWUVVGVmQwZ3NVVUZCVVN4WFFVRlhMRTlCUVU5cVZ5eExRVUZMT0U4c1UwRkJVemxQTEV0QlFVczBUaXhSUVVGUk5VNHNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4SlFVRkxja29zUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMTWtrc1VVRkJVWGRLTEZOQlFWTnVVeXhMUVVGTGRVUXNVMEZCVTNaRUxFdEJRVXQxUkN4UlFVRlJORThzVTBGQlUyNVRMRXRCUVV0eFV5eFRRVUZUY2xNc1MwRkJTM0ZUTEZGQlFWRkdMRk5CUVZOdVV5eExRVUZMYjFNc1lVRkJXU3hGUVVGSGNGTXNUVUZCVFVnc1JVRkJSWGRITEdOQlFXTjJSeXhGUVVGRkxFVkJRVVVzVjBGQlZ5eFBRVUZQUVN4TlFVRk5SQ3hGUVVGRk5GWXNjVUpCUVhGQ01WWXNSVUZCUlN4RlFVRkZMRmRCUVZjc1QwRkJUMEVzVFVGQlRVWXNSVUZCUlhkR0xHVkJRV1VzUjBGQlIzaEdMRVZCUVVWeFZ5eFBRVUZQTEZOQlFWTndWeXhGUVVGRlF5eEhRVUZIUml4RlFVRkZkMFlzWlVGQlpYWkdMRWRCUVVkRExFZEJRVWRJTEVWQlFVVjFWeXhIUVVGSFF5eExRVUZMTEZOQlFWTjBWeXhGUVVGRlF5eEhRVUZITEU5QlFVOUJMRVZCUVVWQkxFZEJRVWNzUjBGQlJ5eEpRVUZKUml4RlFVRkZReXhGUVVGRlFTeEhRVUZITEVkQlFVZEdMRVZCUVVVNFJpeFBRVUZQTTBZc1JVRkJSU3hEUVVGRFl5eFBRVUZQWWl4VFFVRlRTQ3hGUVVGRkxGTkJRVk4zVnl4dFFrRkJiVUpFTEV0QlFVdEZMRkZCUVZFc1NVRkJTVVlzUzBGQlMwWXNUMEZCVHl4VlFVRlZMRU5CUVVOTExHTkJRV01zVTBGQlUwTXNZVUZCWVN4VFFVRlRReXhSUVVGUkxFdEJRVXRETEU5QlFVOHNTMEZCUzBNc1owSkJRV1VzUlVGQlIzcFZMRTlCUVU5MVJDeFBRVUZQYUVRc1QwRkJUU3hGUVVGSE5VSXNUMEZCVHl4cFFrRkJhVUpKTEZkQlFWY3NaVUZCWlVRc1VVRkJVU3hwUTBGQmFVTllMRk5CUVZNc1NVRkJTVVVzVTBGQlV5eEpRVUZKTWtRc1lVRkJXU3hGUVVGSFRpeFpRVUZYTEVWQlFVZERMR05CUVdFc1JVRkJSMFVzWVVGQldTeEZRVUZIVWl4VFFVRlJMRVZCUVVkSUxGVkJRVlVzVTBGQlUzSkRMR2RDUVVGbExFVkJRVWMyVml4VlFVRlZMRk5CUVZNNVZ5eEhRVUZITEVsQlFVbERMRVZCUVVWRExFdEJRVXRETEZGQlFWRjNWeXhWUVVGVk1WY3NSVUZCUlVRc1JVRkJSVzlQTEV0QlFVc3NWMEZCVjNCUExFVkJRVVZ2VHl4TFFVRkxMRmRCUVZkd1R5eEZRVUZGYjA4c1MwRkJTeXhSUVVGUmNFOHNSVUZCUlc5UExFdEJRVXNzVlVGQlZTeG5Ra0ZCWjBKd1R5eEZRVUZGYjA4c1MwRkJTeXhSUVVGUkxFOUJRVTl3VHl4RlFVRkZiMDhzUzBGQlN5eFZRVUZWTEUxQlFVMHNNa0pCUVRKQ2NFOHNSVUZCUlc5UExFdEJRVXNzVVVGQlVTeExRVUZMTEVkQlFVZHdUeXhGUVVGRksxY3NTMEZCU3l4VlFVRlZMRTFCUVUxeVZpeExRVUZMTEhOQ1FVRnpRbnBDTEV0QlFVc3JWeXhYUVVGWExGZEJRVmM1Vnl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc1kwRkJZM1JFTEV0QlFVdHZRaXhQUVVGUGExWXNUMEZCVHl4elEwRkJjME5CTEU5QlFVOHNhVVZCUVdsRmNrZ3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjFWeXhqUVVGamVFOHNSMEZCUnl4WlFVRlpMRmRCUVZkb1NTeExRVUZMUXl4UlFVRlJlVmNzVVVGQlVURlhMRXRCUVV0RExGRkJRVkY1Vnl4UFFVRlBNVmNzUzBGQlMyMUxMRkZCUVZGdVN5eExRVUZMYjBvc1UwRkJVMmhFTEV0QlFVdHdSeXhQUVVGUFowVXNVMEZCVTJoRkxFdEJRVXR2UWl4UlFVRlJjRUlzUzBGQlN5dFhMR0ZCUVdGVUxFOUJRVThzYVVWQlFXbEZja2dzUzBGQlMycFFMRXRCUVV0RExGRkJRVkZ6Vnl4bFFVRmxkbE1zVTBGQlUyaEZMRXRCUVV0dlFpeFJRVUZSY0VJc1MwRkJTMjlDTEU5QlFVODBReXhUUVVGVGFFVXNTMEZCUzNOTExGbEJRVmt3VFN4UlFVRlJMRmRCUVZkb1dDeExRVUZMSzFjc1lVRkJZV3hPTEVsQlFVa3NjVUpCUVhGQ04wb3NTMEZCUzBVc1IwRkJSeXh2UWtGQmIwSkdMRXRCUVV0RkxFbEJRVWs0U0N4SFFVRkhMSEZDUVVGeFFtaEpMRXRCUVV0RkxFZEJRVWNzYjBKQlFXOUNSaXhMUVVGTFJTeEhRVUZITEZkQlFWZEdMRXRCUVV0RExGRkJRVkYzVnl4UlFVRlJlbGNzUzBGQlMwTXNVVUZCVVhkWExGRkJRVkY2Vnl4TFFVRkxiVXNzVVVGQlVUaE5MRXRCUVV0cVdDeExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NkMEpCUVhkQ2VFSXNTMEZCUzBNc1VVRkJVVEJYTEdkQ1FVRm5Rak5YTEV0QlFVdHZTaXhUUVVGVGFFUXNTMEZCUzNCSExGVkJRVlVzVTBGQlUydFlMR2xDUVVGcFFuQllMRVZCUVVWclNpeEhRVUZITEVsQlFVbHNTaXhGUVVGRmIxY3NUMEZCVHl4UlFVRlJMRU5CUVVNelNDeEpRVUZKTEU5QlFVODBTU3hSUVVGUkxHdENRVUZyUWtNc1YwRkJWeXhSUVVGUlF5eFZRVUZWTEVsQlFVbERMRlZCUVZVc1ZVRkJWVU1zWTBGQllTeEZRVUZIUXl4elFrRkJjMElzU1VGQlNVTXNaMEpCUVdVc1JVRkJSME1zYlVKQlFXMUNMRXRCUVV0RExHdENRVUZyUWl4TFFVRkxReXhuUWtGQlowSXNTMEZCUzBNc2MwSkJRWE5DTEV0QlFVdERMRzFDUVVGclFpeEZRVUZITlZZc1QwRkJUM1ZFTEU5QlFVODFSU3hQUVVGUExHOUNRVUZ2UWpSQ0xFOUJRVTBzUlVGQlIzbENMR0ZCUVZrc1JVRkJSMDRzV1VGQlZ5eEZRVUZIUXl4aFFVRmhMRk5CUVZORkxHRkJRVmtzUlVGQlIxSXNVMEZCVVN4RlFVRkhTQ3hWUVVGVkxGTkJRVk55UXl4blFrRkJaU3hGUVVGSFdpeE5RVUZOTEU5QlFVOURMRTlCUVU4c1QwRkJUM2RETEdWQlFXVXNRMEZCUXpCRUxFbEJRVWtzUjBGQlIwTXNUVUZCVFN4RlFVRkZReXhQUVVGUExFZEJRVWRETEV0QlFVc3NSMEZCUjNOU0xGRkJRVkVzVjBGQlZ5OVlMRXRCUVV0bldTeFBRVUZQYUZrc1MwRkJTMmxaTEdGQlFXRXNSMEZCUjJwWkxFdEJRVXRyV1N4WlFVRlpMRVZCUVVWc1dTeExRVUZMYlZrc1ZVRkJWU3hUUVVGVGNsa3NSMEZCUnl4SlFVRkpReXhGUVVGRk1FZ3NSMEZCUnpOSUxFVkJRVVZyU2l4RlFVRkZiRW9zU1VGQlNUQkNMRXRCUVVzc2QwSkJRWGRDZWtJc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJjMDhzUzBGQlMzWlBMRXRCUVV0RExGRkJRVkV5V0N4cFFrRkJhVUkxV0N4TFFVRkxReXhSUVVGUk5GZ3NkVUpCUVhWQ0wxZ3NSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUk1sZ3NhMEpCUVd0Q05VOHNSVUZCUlhaRUxGRkJRVkYwUml4VFFVRlRTQ3hMUVVGTFF5eFJRVUZSTkZnc2QwSkJRWGRDT1Znc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJNbGdzYTBKQlFXdENibEVzUlVGQlJUTklMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVXdFlMRlZCUVZVc1ZVRkJWVzVZTEV0QlFVdG5XU3hQUVVGUGRsRXNTMEZCUzNwSUxFdEJRVXRuV1N4UFFVRlBkbEVzUjBGQlJ5eEpRVUZKZWtnc1MwRkJTMmRaTEU5QlFVOTJVU3hIUVVGSE5FY3NTMEZCU3l4RFFVRkRSU3hKUVVGSmVFOHNSVUZCUlhGWkxFMUJRVTEwV1N4RlFVRkZiMDhzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZ0V0N4aFFVRmhMRWRCUVVkcFFpeFpRVUZaY2xrc1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFqZFlMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFqZFlMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFpeFBRVUZQTEZOQlFWTXpXQ3hMUVVGTFF5eFJRVUZSYlZnc1dVRkJXWFJZTEVWQlFVVTBUeXhYUVVGWExGTkJRVk0xVHl4RlFVRkZNRUlzUzBGQlN5eHhRa0ZCY1VKcFJ5eEhRVUZITTBnc1JVRkJSVEJDTEV0QlFVc3NaMEpCUVdkQ2VFSXNTMEZCUzJkWkxFOUJRVTkyVVN4SFFVRkhUU3hQUVVGUExFdEJRVXN6UWl4TFFVRkxjRWNzVFVGQlRVRXNTMEZCU3pKUExHdENRVUZyUWpOUExFdEJRVXN5VHl4cFFrRkJhVUkxUnl4UlFVRlJhVUlzUlVGQlJYSkNMRXRCUVVzelNDeExRVUZMTWs4c2FVSkJRV2xDTEZOQlFWTTNUeXhGUVVGRlF5eEhRVUZIUXl4TFFVRkxiVmtzVlVGQlZYQlpMRWxCUVVseFJ5eExRVUZMY0Vjc1QwRkJUeXhKUVVGSkswa3NSVUZCUlN4VFFVRlRha29zUlVGQlJVTXNSVUZCUlRCSUxFVkJRVVZqTEVkQlFVY3NTVUZCU1ZNc1JVRkJSU3hsUVVGbGJFb3NSVUZCUlN4SlFVRkpReXhIUVVGSFowa3NUMEZCVHl4RFFVRkRMRWxCUVVsRUxFVkJRVVZyUWl4RlFVRkZMRk5CUVZNc1EwRkJRemxKTEVkQlFVY3NZMEZCWTBvc1JVRkJSU3hKUVVGSlF5eEZRVUZGYVVzc1RVRkJUU3gzUWtGQmQwSjJReXhGUVVGRkxHVkJRV1V6U0N4RlFVRkZMRmRCUVZjc1RVRkJUVGhKTEVsQlFVa3NRMEZCUXpCUUxHVkJRV1YwV1N4TFFVRkxReXhSUVVGUmNWZ3NWVUZCVlhCT0xGRkJRVkV6UWl4RlFVRkZMRVZCUVVVc1JVRkJSVGxGTEU5QlFVOW5SU3hGUVVGRmVrZ3NTMEZCUzJ0WkxHTkJRV01zU1VGQlNXeFZMRk5CUVZOb1JTeExRVUZMWjBJc1UwRkJVeXhQUVVGUGFFSXNTMEZCU3pCV0xHTkJRV00xVGl4SFFVRkhSU3hIUVVGSExEWkNRVUUyUWl4VFFVRlRiRWtzUjBGQlJ5eGpRVUZqUVN4RlFVRkZOa1lzUzBGQlN6TkdMRXRCUVV0MVdTeFZRVUZWTEZGQlFWRXNaVUZCWlhwWkxFVkJRVVUyUml4TlFVRk5NMFlzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMjVUTEV0QlFVdHdSeXhQUVVGUFowb3NSVUZCUlN4VFFVRlRMRU5CUVVNNVNTeEhRVUZITEc5Q1FVRnZRa29zUlVGQlJTeEpRVUZKUXl4RlFVRkZhVXNzVFVGQlRTeHZRa0ZCYjBKMlF5eEZRVUZGTEZWQlFWVXNUVUZCVFhkSUxFdEJRVXRxVUN4TFFVRkxaMWtzVDBGQlQyeFpMRWRCUVVkRExFZEJRVWR4V1N4UFFVRlBjRkVzUjBGQlJ5eFpRVUZaTEZkQlFWZG5RaXhGUVVGRmFFb3NUVUZCVFhkWkxGbEJRVmtzWTBGQlkzaFZMRk5CUVZOb1JTeExRVUZMZVZrc2NVSkJRWEZDYUZJc1IwRkJSMHNzUlVGQlJYZEVMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnpOQ0xFVkJRVVVzUlVGQlJYWkpMRXRCUVV0RExGRkJRVkZ2V0N4WFFVRlhkbEFzU1VGQlNURkNMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxNRmtzWTBGQll5eFRRVUZUTlZrc1IwRkJSeXhKUVVGSlF5eEZRVUZGWjBjc1UwRkJVelJMTEdOQlFXTXNTMEZCU3pWUkxFVkJRVVUwV1N4TFFVRkxOMWtzUlVGQlJVTXNSVUZCUlRaSUxHRkJRV0VzVjBGQlZ6bElMRVZCUVVVNFdTeFZRVUZWT1Zrc1JVRkJSWE5QTEZsQlFWa3NTMEZCU3l4SlFVRkpja2tzVTBGQlV6aExMRXRCUVV0eVJ5eFpRVUZaZWtzc1IwRkJSMEVzUlVGQlJUaFpMRk5CUVZNc1NVRkJTUzlSTEVWQlFVVXNVMEZCVXk5SUxFVkJRVVV3U0N4RlFVRkZNMGdzUlVGQlJYbEpMRWRCUVVjc1NVRkJTVlFzUlVGQlJXbENMRVZCUVVWb1NpeEZRVUZGTUVnc1JVRkJSVE5JTEVWQlFVVjVTU3hIUVVGSFZDeEZRVUZGZUVVc1UwRkJVeXh6UWtGQmMwSXdSaXhGUVVGRkxHRkJRV0ZvU2l4TFFVRkxaMWtzVDBGQlQycFpMRWRCUVVjd1NDeEhRVUZIT0Vjc1NVRkJTU3hSUVVGUk5VY3NTMEZCU3l4WFFVRlhMRWxCUVVrM1NDeEZRVUZGTEVsQlFVbG5XaXhOUVVGTmFGb3NSVUZCUldsYUxFOUJRVThzVjBGQlYycFNMRVZCUVVWclJ5eFpRVUZaTEhOQ1FVRnpRbXhITEVWQlFVVmpMRWxCUVVrc1EwRkJRMjlSTEdkQ1FVRm5RaXhSUVVGUmFGb3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhNRWdzUjBGQlJ6aEhMRWxCUVVrc1VVRkJVVzVKTEV0QlFVdHdSeXhOUVVGTlJpeEZRVUZGYlZvc1VVRkJVU3hYUVVGWGJsSXNSVUZCUld0SExGbEJRVmtzYzBKQlFYTkNiRWNzUlVGQlJYaEZMRk5CUVZNc2VVSkJRWGxDT0VNc1MwRkJTM0JITEUxQlFVMUdMRVZCUVVWNVR5eEpRVUZKZGs4c1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSE1FZ3NSMEZCUnpoSExFdEJRVXR1U1N4TFFVRkxjRWNzVVVGQlVXOUhMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxkVmtzVlVGQlZTeFRRVUZUZWxrc1IwRkJSeXhKUVVGSlF5eEZRVUZGTUVnc1JVRkJSV01zUlVGQlJTeEhRVUZITEZGQlFWRjZTU3hGUVVGRlF5eEZRVUZGUXl4TFFVRkxhVmtzWVVGQllXUXNVVUZCVVRWUExFZEJRVWRCTEVWQlFVVjJTU3hMUVVGTGFWa3NZVUZCWVM5WUxFMUJRVTBzVVVGQlVVb3NTVUZCU1N4RlFVRkZMRWxCUVVsRkxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRTlCUVU4c1JVRkJSU3hGUVVGRlVTeEZRVUZGTEVWQlFVVjJTU3hMUVVGTFoxa3NUMEZCVDJwWkxFZEJRVWRuU1N4UFFVRlBMRVZCUVVWUkxFMUJRVTBzUTBGQlF5eEhRVUZIZGtrc1MwRkJTMjFMTEU5QlFVOXdTeXhGUVVGRlF5eExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NjMEpCUVhOQ0swY3NSVUZCUlhaSkxFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSmVFSXNTMEZCU3pKUExHMUNRVUZ0UWpOUExFdEJRVXN5VHl4cFFrRkJhVUkxUnl4UFFVRlBMRTlCUVU5b1NTeEZRVUZGYVVvc1JVRkJSV2hLTEV0QlFVc3lUeXhwUWtGQmFVSXNTVUZCU1c1T0xFdEJRVXNzYzBKQlFYTkNLMGNzUlVGQlJWTXNSVUZCUldoS0xFdEJRVXN5VHl4cFFrRkJhVUlzU1VGQlNXNU9MRXRCUVVzc2FVSkJRV2xDZUVJc1MwRkJTMmRaTEZGQlFWRm9XU3hMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWxwU2l4RlFVRkZMSE5FUVVGelJFb3NTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeEZRVUZGYWtzc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NUMEZCVHl4UlFVRlJMRk5CUVZOcFFpeEZRVUZGTEdWQlFXVnFTaXhGUVVGRkxGbEJRVmxuU1N4UlFVRlJhVUlzUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3haUVVGWmFVOHNXVUZCV1N4alFVRmphazhzUlVGQlJTeFpRVUZaZFV3c1VVRkJVU3hEUVVGRGNFSXNVVUZCVVN4SFFVRkhMRkZCUVZGd1N5eEZRVUZGTEVWQlFVVkZMRXRCUVV0RExGRkJRVkZ2V0N4WFFVRlhjbGdzUzBGQlMybFpMR0ZCUVdFc1EwRkJRMlFzVVVGQlVYQllMRVZCUVVWSExFZEJRVWR4U1N4SFFVRkhVeXhGUVVGRkxHVkJRV1ZxU2l4RlFVRkZMRWxCUVVsM1NTeEhRVUZIVWl4UFFVRlBhVUlzUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3hKUVVGSmQwa3NSMEZCUjJwR0xGTkJRVk1zWTBGQlkzWkVMRVZCUVVVc1dVRkJXVFpKTEVsQlFVa3NRMEZCUTI1R0xFOUJRVTk2UkN4TFFVRkxhMWtzWTBGQlkyaFBMRkZCUVZFc1NVRkJTVzlDTEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ5eFJRVUZSY0Vzc1JVRkJSU3hGUVVGRlJTeExRVUZMUXl4UlFVRlJiMWdzVjBGQlYzWlFMRVZCUVVVdlNDeEZRVUZGZDBrc1IwRkJSU3hGUVVGSExGTkJRVk42U1N4SFFVRkhNa2dzUlVGQlJURklMRVZCUVVWRUxFVkJRVVY1U1N4RlFVRkZVeXhGUVVGRkxEUkNRVUUwUW1kR0xGbEJRVmtzYlVKQlFXMUNhRVlzUlVGQlJTeHhRa0ZCY1VKMlFpeEZRVUZGTEVsQlFVa3pTQ3hIUVVGSGQwUXNVMEZCVXl4VlFVRlZkRVFzUzBGQlMzVllMR1ZCUVdWMldDeExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVa3NSVUZCUlVNc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NVVUZCVVM5SUxFdEJRVXN5U1N4UlFVRlJja1lzVTBGQlV5d3dRa0ZCTUVKMFJDeExRVUZMZFZnc1lVRkJZVGxOTEV0QlFVc3NNa0pCUVRKQ2QwVXNTMEZCUzJwUUxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRkZCUVZFdlNDeExRVUZMZFZnc1lVRkJZVGxOTEV0QlFVc3NLMEpCUVN0Q2QwVXNTMEZCU3pGSExFVkJRVVVzU1VGQlNYWkpMRXRCUVVzeVNTeFJRVUZSY1VZc1dVRkJXU3d5UWtGQk1rSm9UeXhMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWxETEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzU1VGQlNWRXNSMEZCUjBFc1IwRkJTU3hIUVVGSGRra3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhaMGtzVDBGQlR5eEZRVUZGTEVWQlFVVlJMRVZCUVVVc1JVRkJSWFpKTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzUlVGQlJWRXNSVUZCUlZNc1JVRkJSU3hsUVVGbGFrb3NSVUZCUlN4SlFVRkpkMGtzUjBGQlIxSXNVVUZCVVVRc1JVRkJSUzlJTEVWQlFVVjNTU3hIUVVGRkxFZEJRVWNzUzBGQlRYWkpMRXRCUVV0RExGRkJRVkUyV0N4dFFrRkJiVUk1VHl4RlFVRkZka1FzVVVGQlVYVkRMRWRCUVVjc1QwRkJUeXhYUVVGWGFFa3NTMEZCUzNWWkxGVkJRVlVzVTBGQlUyNVRMRXRCUVV0d1J5eFJRVUZSTkZjc1ZVRkJWU3hUUVVGVE9WY3NSMEZCUjBVc1MwRkJTMjFaTEZkQlFWZHVXU3hMUVVGTGJWa3NWVUZCVlhKWkxFbEJRVWxuV0N4WFFVRlhMRmRCUVZjNVZ5eExRVUZMYTFvc2EwSkJRV3RDYkZFc1JVRkJSU3d5UTBGQk1rTm9SaXhUUVVGVGFFVXNTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxiVm9zWjBKQlFXZENibEVzUlVGQlJTd3dRMEZCTUVOb1FpeEhRVUZITEZsQlFWa3NWMEZCVjJoSkxFdEJRVXQxV1N4VlFVRlZMRk5CUVZOdVV5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMyOWFMR2RDUVVGblFuQlJMRVZCUVVVc01FTkJRVEJEYUVJc1IwRkJSeXhaUVVGWkxGZEJRVmRvU1N4TFFVRkxkVmtzVlVGQlZTeFRRVUZUYmxNc1MwRkJTM0JITEU5QlFVOUJMRXRCUVV0NVdTeHZRa0ZCYjBKNlVDeEZRVUZGTERaRFFVRTJRMmhLTEV0QlFVdHJXaXhyUWtGQmEwSXpUeXhQUVVGUGRrc3NTMEZCUzIxYUxHbENRVUZwUWpWUExFOUJRVTkyU3l4TFFVRkxlVmtzY1VKQlFYRkNiRThzVDBGQlQzWkxMRXRCUVV0dldpeHBRa0ZCYVVKd1dpeExRVUZMUXl4UlFVRlJkMWdzYVVKQlFXbENlbGdzUzBGQlMzbFlMR1ZCUVdWNlR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzZFVOQlFYVkRhRWNzVTBGQlUyaEZMRXRCUVVzeVNTeFRRVUZUTkVJc1QwRkJUM1pMTEV0QlFVdERMRkZCUVZGNVdDeHRRa0ZCYlVJeFR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzYjBOQlFXOURhVVlzUzBGQlMycFFMRXRCUVV0RExGRkJRVkY1V0N4dlFrRkJiMElzVFVGQlRXNU9MRTlCUVU5MlFpeEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzY1VOQlFYRkRhRU1zUjBGQlJ5eFpRVUZaTEZkQlFWY3NTVUZCU1d4SkxFVkJRVVZCTEVWQlFVVkZMRXRCUVV0bldTeFBRVUZQYUZrc1MwRkJTMmxaTEdGQlFXRmtMRk5CUVZOdVdDeExRVUZMYVZrc1lVRkJZUzlZTEVsQlFVbHRXU3hoUVVGaGNsa3NTMEZCU3pKSkxGRkJRVkU0UWl4TFFVRkxMR1ZCUVdWNlN5eExRVUZMYVZrc1lVRkJZV1FzVVVGQlVTeFpRVUZaTEVkQlFVZDZUeXhOUVVGTmMxRXNaMEpCUVdkQ00xSXNUVUZCVFN4SFFVRkhMRWRCUVVkRkxGRkJRVkVzVVVGQlVTeEpRVUZKZGtnc1MwRkJTekJaTEdOQlFXTTFXU3hKUVVGSmMwY3NTMEZCUzNCSExGRkJRVkZCTEV0QlFVdERMRkZCUVZGeldDeGxRVUZsZGxnc1MwRkJTM1ZZTEdGQlFXRjJUeXhGUVVGRkxGTkJRVk1zUTBGQlEyZENMRTFCUVUwc2FVTkJRV2xEY1ZBc1dVRkJXWEphTEV0QlFVdDVXU3h4UWtGQmNVSjZXU3hMUVVGTGRWZ3NZVUZCWVdoT0xFOUJRVTkyUWl4RlFVRkZMRlZCUVZVc1EwRkJRMmRDTEUxQlFVMHNaME5CUVdkRFR5eFBRVUZQZGtJc1JVRkJSU3hYUVVGWGFVY3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjFXQ3gzUWtGQmQwSnFUaXhQUVVGUGRrSXNSVUZCUlN4VlFVRlZMRU5CUVVOblFpeE5RVUZOTERoQ1FVRTRRbWRPTEZGQlFWRXNWMEZCVjJoUExFVkJRVVZxUkN4VlFVRlZhVU1zUjBGQlJ5eHZRa0ZCYjBKb1NTeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWNzU1VGQlNVRXNSVUZCUlhsVExGTkJRVk4yVXl4TFFVRkxkVmtzVlVGQlZTeFJRVUZSTEVsQlFVbDZXU3hGUVVGRmVWTXNVMEZCVTNaVExFdEJRVXQxV1N4VlFVRlZMRk5CUVZOdVV5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMlVzVTBGQlV5eFhRVUZYZEZFc1JVRkJSV3BFTEZWQlFWVTRSQ3hKUVVGSkxHOUNRVUZ2UWpkS0xFdEJRVXRGTEV0QlFVdHhXaXhwUWtGQmFVSXNWMEZCVjNaYUxFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eDVRa0ZCZVVJM1FpeEpRVUZKTEZWQlFWVXNUVUZCVFN4VFFVRlRORkVzYTBKQlFXdENNVm9zUlVGQlJXdEtMRWRCUVVjc1NVRkJTV3hLTEVWQlFVVnZWeXhQUVVGUExGTkJRVk1zUTBGQlEzVkVMRTFCUVUwc1MwRkJTME1zVDBGQlRTeEZRVUZIUXl4aFFVRmhMRWRCUVVkeVZpeFZRVUZWTEVsQlFVazVRaXhYUVVGWExFTkJRVU5LTEVWQlFVVXNVVUZCVVVNc1JVRkJSU3hQUVVGUFJpeFRRVUZUTEVOQlFVTkRMRVZCUVVVc1IwRkJSME1zUlVGQlJTeEpRVUZKZFZnc2IwSkJRVzlDTEVOQlFVTkRMRWxCUVVrc1EwRkJRM3BZTEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hIUVVGSGVWZ3NTVUZCU1N4RFFVRkRNVmdzUlVGQlJTeEhRVUZIUXl4RlFVRkZMRXRCUVV0SUxFOUJRVTkxUkN4UFFVRlBhRVFzVDBGQlRTeEZRVUZIVnl4VlFVRlZMRk5CUVZOVExHRkJRV0VzVFVGQlRVb3NUMEZCVHl4TFFVRkxjMVVzVVVGQlVTeFhRVUZYTDFnc1MwRkJTeXRhTEhOQ1FVRnpRaTlSTEVWQlFVVjBSQ3hQUVVGUExFZEJRVWN4Uml4TFFVRkxReXhSUVVGUmEwTXNWVUZCVlc1RExFdEJRVXRuWVN4eFFrRkJjVUlzVjBGQlZ5eEpRVUZKYkdFc1JVRkJSV3RLTEVWQlFVVjJSQ3hSUVVGUlowTXNSVUZCUlROSUxFVkJRVVZMTEZGQlFWRk1MRVZCUVVWTkxGTkJRVk5LTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUTmtjc1JVRkJSWFJFTEU5QlFVOHNSMEZCUnpGR0xFdEJRVXNyV2l4MVFrRkJkVUl2VVN4RlFVRkZja0lzUzBGQlN6TklMRXRCUVV0RExGRkJRVkV5V2l4dlFrRkJiMElzVTBGQlV6bGFMRVZCUVVWRExFZEJRVWNzUjBGQlJ6QklMRWRCUVVjelNDeEZRVUZGTEU5QlFVOUZMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRjRU1zUjBGQlJTeEhRVUZKY1Vjc1MwRkJTM0JITEU5QlFVOUJMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxMRU5CUVVNd1JDeEpRVUZKZEVjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFVkJRVVZyUlN4TlFVRk5ka2NzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVWQlFVVnZSU3hQUVVGUGVFY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRVZCUVVWdlJTeExRVUZMZWtjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORExFbEJRVWx3UXl4TFFVRkxReXhSUVVGUlpTeHRRa0ZCYlVKblNTeEpRVUZKYUVvc1MwRkJTME1zVVVGQlVXVXNVVUZCVVdoQ0xFdEJRVXRETEZGQlFWRmxMRkZCUVZGcFdpeFJRVUZSTDB3c1MwRkJTeXhMUVVGTExFdEJRVXRzUml4RlFVRkZka1FzVVVGQlVYVkRMRWRCUVVjc0swSkJRU3RDYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhSU3hMUVVGTE5FNHNVVUZCVVRWT0xFdEJRVXRuWVN4M1FrRkJkMEkxVkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCU3l0TUxGRkJRVkVyU3l4WFFVRlhMRmRCUVZjNVZ5eExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNhME5CUVd0RGRFUXNTMEZCUzBNc1VVRkJVWGRhTEU5QlFVOHNVMEZCVTNwYUxFdEJRVXN5U1N4UlFVRlJia2dzUzBGQlN5eDFRa0ZCZFVKNFFpeExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSVUZCUlN4SlFVRkpjRU1zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRJTEVsQlFVa3lWU3hSUVVGUkxGZEJRVmRvV0N4TFFVRkxReXhSUVVGUmVWb3NVVUZCVVRGYUxFdEJRVXRuWVN4MVFrRkJkVUpvVWl4RlFVRkZja0lzUzBGQlMzRkNMRVZCUVVVc1owSkJRV2RDTEZOQlFWTnNTaXhGUVVGRlF5eEpRVUZKUVN4RlFVRkZhVW9zUlVGQlJXcEtMRWxCUVVsdFR5eExRVUZMTEU5QlFVOXNUeXhMUVVGTFJTeEpRVUZKU0N4RlFVRkZlVUlzUzBGQlN5eDVRa0ZCZVVKNFFpeExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSVUZCUlN4SlFVRkpjRU1zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRJTEVsQlFVbHlReXhMUVVGTFF5eFJRVUZSZVZvc1QwRkJUek5hTEVWQlFVVjVRaXhMUVVGTExGRkJRVkUwU0N4TlFVRk5MRU5CUVVORExHRkJRVmtzVFVGQlQycEVMRXRCUVV0d1J5eFRRVUZUYTJFc1dVRkJXU3hYUVVGWExFbEJRVWx3WVN4RlFVRkZlVWtzUlVGQlJTeEhRVUZITEVsQlFVbDZTU3hMUVVGTGEwb3NSVUZCUlhKQ0xFdEJRVXR4UWl4RlFVRkZMR2RDUVVGblFpeFRRVUZUYkVvc1JVRkJSVU1zUjBGQlJ5eEpRVUZKTUVnc1IwRkJSekZJTEVWQlFVVnBTaXhGUVVGRmFrb3NTVUZCU1hsQ0xFdEJRVXNzZDBKQlFYZENLMGNzUlVGQlJXUXNTMEZCUzJNc1JVRkJSV1FzUjBGQlJ5eEpRVUZKWXl4RlFVRkZaQ3hIUVVGSE5FY3NTMEZCUzNSUExFdEJRVXQzU1N4RlFVRkZMRU5CUVVNc1NVRkJTWGhKTEVWQlFVVkVMRVZCUVVVclJpeE5RVUZOTEV0QlFVc3NSMEZCUnpCRExFVkJRVVY2U1N4SFFVRkhjV0VzVlVGQlZTeEpRVUZKTVZNc1JVRkJSVXNzUlVGQlJTeEZRVUZGTEVsQlFVbE1MRXRCUVV0akxFVkJRVVY2U1N4SFFVRkhMRU5CUVVNc1NVRkJTV2xLTEVWQlFVVkRMRVZCUVVWVUxFVkJRVVY2U1N4SFFVRkhNa2dzU1VGQlNYTkNMRVZCUVVWSUxFbEJRVWtzVlVGQlZUZEpMRVZCUVVVclNDeEhRVUZIUVN4SFFVRkhhVUlzUlVGQlJWWXNZMEZCWTNKSkxFdEJRVXRETEZGQlFWRXdXaXhuUWtGQlowSktMR2xDUVVGcFFpeFhRVUZYZGxvc1MwRkJTMmxYTEZWQlFWVnFWeXhMUVVGTFF5eFJRVUZSYVdFc1dVRkJXVGxVTEV0QlFVdHdSeXhOUVVGTmIyRXNWMEZCVnl4VFFVRlRjbUVzUlVGQlJUQklMRWRCUVVjc2JVSkJRVzFDTkZNc1VVRkJVVUVzVDBGQlQwTXNTVUZCU1VRc1QwRkJUeXhEUVVGRExGVkJRVlVzVTBGQlUzWmhMRWRCUVVjc1QwRkJUME1zUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGTTBnc1MwRkJTeXhwUWtGQmFVSjVZU3hSUVVGUlFTeFBRVUZQUXl4UlFVRlJSQ3hQUVVGUFF5eFJRVUZSZW1Fc1JVRkJSWEZYTEV0QlFVc3pUeXhGUVVGRloxUXNVVUZCVVN4WFFVRlhNV0VzUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGTVVnc1JVRkJSWFZYTEZGQlFYSk5MRU5CUVRoTmRGY3NTMEZCU3l4VFFVRlRSaXhIUVVGSExFbEJRVWxETEVWQlFVVktMRmxCUVZsSExFZEJRVWNzVTBGQlNTeEpRVUZUZFZjc2IwSkJRVzlDUVN4dlFrRkJiMEpCTEcxQ1FVRnRRblJYTEVWQlFVVkVMRWRCUVVjc1RVRkJUVUVzUjBGQlJ6UmhMRkZCUVZGNFJ5eE5RVUZOY0ZVc1IwRkJSeXhUUVVGSkxFbEJRVk52V0N4clFrRkJhMEpCTEd0Q1FVRnJRa0VzYVVKQlFXbENibGdzUlVGQlJVUXNSMEZCUnl4TlFVRk5RU3hIUVVGSE5HRXNVVUZCVVhoSExFMUJRVTF3VlN4SFFVRkhMRk5CUVVrc1NVRkJVekJhTEcxQ1FVRnRRa0VzYlVKQlFXMUNRU3hyUWtGQmEwSjZXaXhGUVVGRlJDeEhRVUZITEUxQlFVMUJMRWRCUVVjMFlTeFJRVUZSZUVjc1RVRkJUWEJWTEVkQlFVY3NUMEZCVDBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTlxWW05NEwyUnBjM1F2YWtKdmVDNWhiR3d1YldsdUxtcHpJbjA9IiwiIWZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7XCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZSYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUuZG9jdW1lbnQ/dChlLCEwKTpmdW5jdGlvbihlKXtpZighZS5kb2N1bWVudCl0aHJvdyBuZXcgRXJyb3IoXCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50XCIpO3JldHVybiB0KGUpfTp0KGUpfShcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49W10scj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsaT1uLnNsaWNlLG89bi5mbGF0P2Z1bmN0aW9uKGUpe3JldHVybiBuLmZsYXQuY2FsbChlKX06ZnVuY3Rpb24oZSl7cmV0dXJuIG4uY29uY2F0LmFwcGx5KFtdLGUpfSxhPW4ucHVzaCxzPW4uaW5kZXhPZix1PXt9LGw9dS50b1N0cmluZyxjPXUuaGFzT3duUHJvcGVydHksZj1jLnRvU3RyaW5nLHA9Zi5jYWxsKE9iamVjdCksZD17fSxoPWZ1bmN0aW9uKGUpe3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJlwibnVtYmVyXCIhPXR5cGVvZiBlLm5vZGVUeXBlJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLml0ZW19LGc9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJmU9PT1lLndpbmRvd30sdj1lLmRvY3VtZW50LHk9e3R5cGU6ITAsc3JjOiEwLG5vbmNlOiEwLG5vTW9kdWxlOiEwfTtmdW5jdGlvbiBtKGUsdCxuKXt2YXIgcixpLG89KG49bnx8dikuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIHkpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB4KGUpe3JldHVybiBudWxsPT1lP2UrXCJcIjpcIm9iamVjdFwiPT10eXBlb2YgZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZT91W2wuY2FsbChlKV18fFwib2JqZWN0XCI6dHlwZW9mIGV9dmFyIGI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGIuZm4uaW5pdChlLHQpfTtmdW5jdGlvbiB3KGUpe3ZhciB0PSEhZSYmXCJsZW5ndGhcImluIGUmJmUubGVuZ3RoLG49eChlKTtyZXR1cm4haChlKSYmIWcoZSkmJihcImFycmF5XCI9PT1ufHwwPT09dHx8XCJudW1iZXJcIj09dHlwZW9mIHQmJnQ+MCYmdC0xIGluIGUpfWIuZm49Yi5wcm90b3R5cGU9e2pxdWVyeTpcIjMuNi4wXCIsY29uc3RydWN0b3I6YixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP2kuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIubWFwKHRoaXMsZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4+PTAmJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6YSxzb3J0Om4uc29ydCxzcGxpY2U6bi5zcGxpY2V9LGIuZXh0ZW5kPWIuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLGE9YXJndW1lbnRzWzBdfHx7fSxzPTEsdT1hcmd1bWVudHMubGVuZ3RoLGw9ITE7Zm9yKFwiYm9vbGVhblwiPT10eXBlb2YgYSYmKGw9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSxcIm9iamVjdFwiPT10eXBlb2YgYXx8aChhKXx8KGE9e30pLHM9PT11JiYoYT10aGlzLHMtLSk7czx1O3MrKylpZihudWxsIT0oZT1hcmd1bWVudHNbc10pKWZvcih0IGluIGUpcj1lW3RdLFwiX19wcm90b19fXCIhPT10JiZhIT09ciYmKGwmJnImJihiLmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8obj1hW3RdLG89aSYmIUFycmF5LmlzQXJyYXkobik/W106aXx8Yi5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPWIuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSxiLmV4dGVuZCh7ZXhwYW5kbzpcImpRdWVyeVwiKyhcIjMuNi4wXCIrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXFxEL2csXCJcIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4hKCFlfHxcIltvYmplY3QgT2JqZWN0XVwiIT09bC5jYWxsKGUpKSYmKCEodD1yKGUpKXx8XCJmdW5jdGlvblwiPT10eXBlb2Yobj1jLmNhbGwodCxcImNvbnN0cnVjdG9yXCIpJiZ0LmNvbnN0cnVjdG9yKSYmZi5jYWxsKG4pPT09cCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZSlyZXR1cm4hMTtyZXR1cm4hMH0sZ2xvYmFsRXZhbDpmdW5jdGlvbihlLHQsbil7bShlLHtub25jZTp0JiZ0Lm5vbmNlfSxuKX0sZWFjaDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MDtpZih3KGUpKWZvcihuPWUubGVuZ3RoO3I8biYmITEhPT10LmNhbGwoZVtyXSxyLGVbcl0pO3IrKyk7ZWxzZSBmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVhaztyZXR1cm4gZX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJih3KE9iamVjdChlKSk/Yi5tZXJnZShuLFwic3RyaW5nXCI9PXR5cGVvZiBlP1tlXTplKTphLmNhbGwobixlKSksbn0saW5BcnJheTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PXQ/LTE6cy5jYWxsKHQsZSxuKX0sbWVyZ2U6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49K3QubGVuZ3RoLHI9MCxpPWUubGVuZ3RoO3I8bjtyKyspZVtpKytdPXRbcl07cmV0dXJuIGUubGVuZ3RoPWksZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9MCxvPWUubGVuZ3RoLGE9IW47aTxvO2krKykhdChlW2ldLGkpIT09YSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksYT0wLHM9W107aWYodyhlKSlmb3Iocj1lLmxlbmd0aDthPHI7YSsrKW51bGwhPShpPXQoZVthXSxhLG4pKSYmcy5wdXNoKGkpO2Vsc2UgZm9yKGEgaW4gZSludWxsIT0oaT10KGVbYV0sYSxuKSkmJnMucHVzaChpKTtyZXR1cm4gbyhzKX0sZ3VpZDoxLHN1cHBvcnQ6ZH0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKGIuZm5bU3ltYm9sLml0ZXJhdG9yXT1uW1N5bWJvbC5pdGVyYXRvcl0pLGIuZWFjaChcIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sXCIuc3BsaXQoXCIgXCIpLGZ1bmN0aW9uKGUsdCl7dVtcIltvYmplY3QgXCIrdCtcIl1cIl09dC50b0xvd2VyQ2FzZSgpfSk7dmFyIFQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdSxsLGMsZixwLGQsaCxnLHYseSxtLHgsYj1cInNpenpsZVwiKzEqbmV3IERhdGUsdz1lLmRvY3VtZW50LFQ9MCxDPTAsRT11ZSgpLFM9dWUoKSxrPXVlKCksQT11ZSgpLE49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXQmJihmPSEwKSwwfSxqPXt9Lmhhc093blByb3BlcnR5LEQ9W10scT1ELnBvcCxMPUQucHVzaCxIPUQucHVzaCxPPUQuc2xpY2UsUD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylpZihlW25dPT09dClyZXR1cm4gbjtyZXR1cm4tMX0sUj1cImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkXCIsTT1cIltcXFxceDIwXFxcXHRcXFxcclxcXFxuXFxcXGZdXCIsST1cIig/OlxcXFxcXFxcW1xcXFxkYS1mQS1GXXsxLDZ9XCIrTStcIj98XFxcXFxcXFxbXlxcXFxyXFxcXG5cXFxcZl18W1xcXFx3LV18W15cXDAtXFxcXHg3Zl0pK1wiLFc9XCJcXFxcW1wiK00rXCIqKFwiK0krXCIpKD86XCIrTStcIiooWypeJHwhfl0/PSlcIitNK1wiKig/OicoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcInwoXCIrSStcIikpfClcIitNK1wiKlxcXFxdXCIsRj1cIjooXCIrSStcIikoPzpcXFxcKCgoJygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwiKXwoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKVtcXFxcXV18XCIrVytcIikqKXwuKilcXFxcKXwpXCIsQj1uZXcgUmVnRXhwKE0rXCIrXCIsXCJnXCIpLCQ9bmV3IFJlZ0V4cChcIl5cIitNK1wiK3woKD86XnxbXlxcXFxcXFxcXSkoPzpcXFxcXFxcXC4pKilcIitNK1wiKyRcIixcImdcIiksXz1uZXcgUmVnRXhwKFwiXlwiK00rXCIqLFwiK00rXCIqXCIpLHo9bmV3IFJlZ0V4cChcIl5cIitNK1wiKihbPit+XXxcIitNK1wiKVwiK00rXCIqXCIpLFU9bmV3IFJlZ0V4cChNK1wifD5cIiksWD1uZXcgUmVnRXhwKEYpLFY9bmV3IFJlZ0V4cChcIl5cIitJK1wiJFwiKSxHPXtJRDpuZXcgUmVnRXhwKFwiXiMoXCIrSStcIilcIiksQ0xBU1M6bmV3IFJlZ0V4cChcIl5cXFxcLihcIitJK1wiKVwiKSxUQUc6bmV3IFJlZ0V4cChcIl4oXCIrSStcInxbKl0pXCIpLEFUVFI6bmV3IFJlZ0V4cChcIl5cIitXKSxQU0VVRE86bmV3IFJlZ0V4cChcIl5cIitGKSxDSElMRDpuZXcgUmVnRXhwKFwiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFxcXChcIitNK1wiKihldmVufG9kZHwoKFsrLV18KShcXFxcZCopbnwpXCIrTStcIiooPzooWystXXwpXCIrTStcIiooXFxcXGQrKXwpKVwiK00rXCIqXFxcXCl8KVwiLFwiaVwiKSxib29sOm5ldyBSZWdFeHAoXCJeKD86XCIrUitcIikkXCIsXCJpXCIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKFwiXlwiK00rXCIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXFxcKFwiK00rXCIqKCg/Oi1cXFxcZCk/XFxcXGQqKVwiK00rXCIqXFxcXCl8KSg/PVteLV18JClcIixcImlcIil9LFk9L0hUTUwkL2ksUT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEo9L15oXFxkJC9pLEs9L15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxaPS9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKFwiXFxcXFxcXFxbXFxcXGRhLWZBLUZdezEsNn1cIitNK1wiP3xcXFxcXFxcXChbXlxcXFxyXFxcXG5cXFxcZl0pXCIsXCJnXCIpLG5lPWZ1bmN0aW9uKGUsdCl7dmFyIG49XCIweFwiK2Uuc2xpY2UoMSktNjU1MzY7cmV0dXJuIHR8fChuPDA/U3RyaW5nLmZyb21DaGFyQ29kZShuKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKG4+PjEwfDU1Mjk2LDEwMjMmbnw1NjMyMCkpfSxyZT0vKFtcXDAtXFx4MWZcXHg3Zl18Xi0/XFxkKXxeLSR8W15cXDAtXFx4MWZcXHg3Zi1cXHVGRkZGXFx3LV0vZyxpZT1mdW5jdGlvbihlLHQpe3JldHVybiB0P1wiXFwwXCI9PT1lP1wi77+9XCI6ZS5zbGljZSgwLC0xKStcIlxcXFxcIitlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkudG9TdHJpbmcoMTYpK1wiIFwiOlwiXFxcXFwiK2V9LG9lPWZ1bmN0aW9uKCl7cCgpfSxhZT1iZShmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuZGlzYWJsZWQmJlwiZmllbGRzZXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0se2RpcjpcInBhcmVudE5vZGVcIixuZXh0OlwibGVnZW5kXCJ9KTt0cnl7SC5hcHBseShEPU8uY2FsbCh3LmNoaWxkTm9kZXMpLHcuY2hpbGROb2RlcyksRFt3LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlKXtIPXthcHBseTpELmxlbmd0aD9mdW5jdGlvbihlLHQpe0wuYXBwbHkoZSxPLmNhbGwodCkpfTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aCxyPTA7ZVtuKytdPXRbcisrXTspO2UubGVuZ3RoPW4tMX19fWZ1bmN0aW9uIHNlKGUsdCxyLGkpe3ZhciBvLHMsbCxjLGYsaCx5LG09dCYmdC5vd25lckRvY3VtZW50LHc9dD90Lm5vZGVUeXBlOjk7aWYocj1yfHxbXSxcInN0cmluZ1wiIT10eXBlb2YgZXx8IWV8fDEhPT13JiY5IT09dyYmMTEhPT13KXJldHVybiByO2lmKCFpJiYocCh0KSx0PXR8fGQsZykpe2lmKDExIT09dyYmKGY9Wi5leGVjKGUpKSlpZihvPWZbMV0pe2lmKDk9PT13KXtpZighKGw9dC5nZXRFbGVtZW50QnlJZChvKSkpcmV0dXJuIHI7aWYobC5pZD09PW8pcmV0dXJuIHIucHVzaChsKSxyfWVsc2UgaWYobSYmKGw9bS5nZXRFbGVtZW50QnlJZChvKSkmJngodCxsKSYmbC5pZD09PW8pcmV0dXJuIHIucHVzaChsKSxyfWVsc2V7aWYoZlsyXSlyZXR1cm4gSC5hcHBseShyLHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSkpLHI7aWYoKG89ZlszXSkmJm4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KHIsdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG8pKSxyfWlmKG4ucXNhJiYhQVtlK1wiIFwiXSYmKCF2fHwhdi50ZXN0KGUpKSYmKDEhPT13fHxcIm9iamVjdFwiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSl7aWYoeT1lLG09dCwxPT09dyYmKFUudGVzdChlKXx8ei50ZXN0KGUpKSl7Zm9yKChtPWVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpPT09dCYmbi5zY29wZXx8KChjPXQuZ2V0QXR0cmlidXRlKFwiaWRcIikpP2M9Yy5yZXBsYWNlKHJlLGllKTp0LnNldEF0dHJpYnV0ZShcImlkXCIsYz1iKSkscz0oaD1hKGUpKS5sZW5ndGg7cy0tOyloW3NdPShjP1wiI1wiK2M6XCI6c2NvcGVcIikrXCIgXCIreGUoaFtzXSk7eT1oLmpvaW4oXCIsXCIpfXRyeXtyZXR1cm4gSC5hcHBseShyLG0ucXVlcnlTZWxlY3RvckFsbCh5KSkscn1jYXRjaCh0KXtBKGUsITApfWZpbmFsbHl7Yz09PWImJnQucmVtb3ZlQXR0cmlidXRlKFwiaWRcIil9fX1yZXR1cm4gdShlLnJlcGxhY2UoJCxcIiQxXCIpLHQscixpKX1mdW5jdGlvbiB1ZSgpe3ZhciBlPVtdO3JldHVybiBmdW5jdGlvbiB0KG4saSl7cmV0dXJuIGUucHVzaChuK1wiIFwiKT5yLmNhY2hlTGVuZ3RoJiZkZWxldGUgdFtlLnNoaWZ0KCldLHRbbitcIiBcIl09aX19ZnVuY3Rpb24gbGUoZSl7cmV0dXJuIGVbYl09ITAsZX1mdW5jdGlvbiBjZShlKXt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoXCJmaWVsZHNldFwiKTt0cnl7cmV0dXJuISFlKHQpfWNhdGNoKGUpe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlvbiBmZShlLHQpe2Zvcih2YXIgbj1lLnNwbGl0KFwifFwiKSxpPW4ubGVuZ3RoO2ktLTspci5hdHRySGFuZGxlW25baV1dPXR9ZnVuY3Rpb24gcGUoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJiZlLnNvdXJjZUluZGV4LXQuc291cmNlSW5kZXg7aWYocilyZXR1cm4gcjtpZihuKWZvcig7bj1uLm5leHRTaWJsaW5nOylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm5cImlucHV0XCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJnQudHlwZT09PWV9fWZ1bmN0aW9uIGhlKGUpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKFwiaW5wdXRcIj09PW58fFwiYnV0dG9uXCI9PT1uKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVyblwiZm9ybVwiaW4gdD90LnBhcmVudE5vZGUmJiExPT09dC5kaXNhYmxlZD9cImxhYmVsXCJpbiB0P1wibGFiZWxcImluIHQucGFyZW50Tm9kZT90LnBhcmVudE5vZGUuZGlzYWJsZWQ9PT1lOnQuZGlzYWJsZWQ9PT1lOnQuaXNEaXNhYmxlZD09PWV8fHQuaXNEaXNhYmxlZCE9PSFlJiZhZSh0KT09PWU6dC5kaXNhYmxlZD09PWU6XCJsYWJlbFwiaW4gdCYmdC5kaXNhYmxlZD09PWV9fWZ1bmN0aW9uIHZlKGUpe3JldHVybiBsZShmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCxsZShmdW5jdGlvbihuLHIpe2Zvcih2YXIgaSxvPWUoW10sbi5sZW5ndGgsdCksYT1vLmxlbmd0aDthLS07KW5baT1vW2FdXSYmKG5baV09IShyW2ldPW5baV0pKX0pfSl9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUmJnZvaWQgMCE9PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmV9Zm9yKHQgaW4gbj1zZS5zdXBwb3J0PXt9LG89c2UuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5uYW1lc3BhY2VVUkksbj1lJiYoZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIVkudGVzdCh0fHxuJiZuLm5vZGVOYW1lfHxcIkhUTUxcIil9LHA9c2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsaSxhPWU/ZS5vd25lckRvY3VtZW50fHxlOnc7cmV0dXJuIGEhPWQmJjk9PT1hLm5vZGVUeXBlJiZhLmRvY3VtZW50RWxlbWVudD8oaD0oZD1hKS5kb2N1bWVudEVsZW1lbnQsZz0hbyhkKSx3IT1kJiYoaT1kLmRlZmF1bHRWaWV3KSYmaS50b3AhPT1pJiYoaS5hZGRFdmVudExpc3RlbmVyP2kuYWRkRXZlbnRMaXN0ZW5lcihcInVubG9hZFwiLG9lLCExKTppLmF0dGFjaEV2ZW50JiZpLmF0dGFjaEV2ZW50KFwib251bmxvYWRcIixvZSkpLG4uc2NvcGU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGguYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSx2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwmJiFlLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6c2NvcGUgZmllbGRzZXQgZGl2XCIpLmxlbmd0aH0pLG4uYXR0cmlidXRlcz1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9XCJpXCIsIWUuZ2V0QXR0cmlidXRlKFwiY2xhc3NOYW1lXCIpfSksbi5nZXRFbGVtZW50c0J5VGFnTmFtZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUNvbW1lbnQoXCJcIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiKlwiKS5sZW5ndGh9KSxuLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Sy50ZXN0KGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksbi5nZXRCeUlkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBoLmFwcGVuZENoaWxkKGUpLmlkPWIsIWQuZ2V0RWxlbWVudHNCeU5hbWV8fCFkLmdldEVsZW1lbnRzQnlOYW1lKGIpLmxlbmd0aH0pLG4uZ2V0QnlJZD8oci5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKFwiaWRcIik9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG49dC5nZXRFbGVtZW50QnlJZChlKTtyZXR1cm4gbj9bbl06W119fSk6KHIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlTm9kZSYmZS5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIik7cmV0dXJuIG4mJm4udmFsdWU9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG4scixpLG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXTtmb3IoaT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDtvPWlbcisrXTspaWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0dXJuW119fSksci5maW5kLlRBRz1uLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTpuLnFzYT90LnF1ZXJ5U2VsZWN0b3JBbGwoZSk6dm9pZCAwfTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT0wLG89dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTtpZihcIipcIj09PWUpe2Zvcig7bj1vW2krK107KTE9PT1uLm5vZGVUeXBlJiZyLnB1c2gobik7cmV0dXJuIHJ9cmV0dXJuIG99LHIuZmluZC5DTEFTUz1uLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZnKXJldHVybiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZSl9LHk9W10sdj1bXSwobi5xc2E9Sy50ZXN0KGQucXVlcnlTZWxlY3RvckFsbCkpJiYoY2UoZnVuY3Rpb24oZSl7dmFyIHQ7aC5hcHBlbmRDaGlsZChlKS5pbm5lckhUTUw9XCI8YSBpZD0nXCIrYitcIic+PC9hPjxzZWxlY3QgaWQ9J1wiK2IrXCItXFxyXFxcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIixlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbXNhbGxvd2NhcHR1cmVePScnXVwiKS5sZW5ndGgmJnYucHVzaChcIlsqXiRdPVwiK00rXCIqKD86Jyd8XFxcIlxcXCIpXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltzZWxlY3RlZF1cIikubGVuZ3RofHx2LnB1c2goXCJcXFxcW1wiK00rXCIqKD86dmFsdWV8XCIrUitcIilcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW2lkfj1cIitiK1wiLV1cIikubGVuZ3RofHx2LnB1c2goXCJ+PVwiKSwodD1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwiXCIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9JyddXCIpLmxlbmd0aHx8di5wdXNoKFwiXFxcXFtcIitNK1wiKm5hbWVcIitNK1wiKj1cIitNK1wiKig/OicnfFxcXCJcXFwiKVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6Y2hlY2tlZFwiKS5sZW5ndGh8fHYucHVzaChcIjpjaGVja2VkXCIpLGUucXVlcnlTZWxlY3RvckFsbChcImEjXCIrYitcIisqXCIpLmxlbmd0aHx8di5wdXNoKFwiLiMuK1srfl1cIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiXFxcXFxcZlwiKSx2LnB1c2goXCJbXFxcXHJcXFxcblxcXFxmXVwiKX0pLGNlKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPVwiPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT48c2VsZWN0IGRpc2FibGVkPSdkaXNhYmxlZCc+PG9wdGlvbi8+PC9zZWxlY3Q+XCI7dmFyIHQ9ZC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJoaWRkZW5cIiksZS5hcHBlbmRDaGlsZCh0KS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJEXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltuYW1lPWRdXCIpLmxlbmd0aCYmdi5wdXNoKFwibmFtZVwiK00rXCIqWypeJHwhfl0/PVwiKSwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKFwiOmVuYWJsZWRcIikubGVuZ3RoJiZ2LnB1c2goXCI6ZW5hYmxlZFwiLFwiOmRpc2FibGVkXCIpLGguYXBwZW5kQ2hpbGQoZSkuZGlzYWJsZWQ9ITAsMiE9PWUucXVlcnlTZWxlY3RvckFsbChcIjpkaXNhYmxlZFwiKS5sZW5ndGgmJnYucHVzaChcIjplbmFibGVkXCIsXCI6ZGlzYWJsZWRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiKiw6eFwiKSx2LnB1c2goXCIsLio6XCIpfSkpLChuLm1hdGNoZXNTZWxlY3Rvcj1LLnRlc3QobT1oLm1hdGNoZXN8fGgud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxoLm1vek1hdGNoZXNTZWxlY3Rvcnx8aC5vTWF0Y2hlc1NlbGVjdG9yfHxoLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmNlKGZ1bmN0aW9uKGUpe24uZGlzY29ubmVjdGVkTWF0Y2g9bS5jYWxsKGUsXCIqXCIpLG0uY2FsbChlLFwiW3MhPScnXTp4XCIpLHkucHVzaChcIiE9XCIsRil9KSx2PXYubGVuZ3RoJiZuZXcgUmVnRXhwKHYuam9pbihcInxcIikpLHk9eS5sZW5ndGgmJm5ldyBSZWdFeHAoeS5qb2luKFwifFwiKSksdD1LLnRlc3QoaC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikseD10fHxLLnRlc3QoaC5jb250YWlucyk/ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLHI9dCYmdC5wYXJlbnROb2RlO3JldHVybiBlPT09cnx8ISghcnx8MSE9PXIubm9kZVR5cGV8fCEobi5jb250YWlucz9uLmNvbnRhaW5zKHIpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocikpKX06ZnVuY3Rpb24oZSx0KXtpZih0KWZvcig7dD10LnBhcmVudE5vZGU7KWlmKHQ9PT1lKXJldHVybiEwO3JldHVybiExfSxOPXQ/ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciByPSFlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiByfHwoMSYocj0oZS5vd25lckRvY3VtZW50fHxlKT09KHQub3duZXJEb2N1bWVudHx8dCk/ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IW4uc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpPT09cj9lPT1kfHxlLm93bmVyRG9jdW1lbnQ9PXcmJngodyxlKT8tMTp0PT1kfHx0Lm93bmVyRG9jdW1lbnQ9PXcmJngodyx0KT8xOmM/UChjLGUpLVAoYyx0KTowOjQmcj8tMToxKX06ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciBuLHI9MCxpPWUucGFyZW50Tm9kZSxvPXQucGFyZW50Tm9kZSxhPVtlXSxzPVt0XTtpZighaXx8IW8pcmV0dXJuIGU9PWQ/LTE6dD09ZD8xOmk/LTE6bz8xOmM/UChjLGUpLVAoYyx0KTowO2lmKGk9PT1vKXJldHVybiBwZShlLHQpO2ZvcihuPWU7bj1uLnBhcmVudE5vZGU7KWEudW5zaGlmdChuKTtmb3Iobj10O249bi5wYXJlbnROb2RlOylzLnVuc2hpZnQobik7Zm9yKDthW3JdPT09c1tyXTspcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09dz8tMTpzW3JdPT13PzE6MH0sZCk6ZH0sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2UubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYocChlKSxuLm1hdGNoZXNTZWxlY3RvciYmZyYmIUFbdCtcIiBcIl0mJigheXx8IXkudGVzdCh0KSkmJighdnx8IXYudGVzdCh0KSkpdHJ5e3ZhciByPW0uY2FsbChlLHQpO2lmKHJ8fG4uZGlzY29ubmVjdGVkTWF0Y2h8fGUuZG9jdW1lbnQmJjExIT09ZS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gcn1jYXRjaChlKXtBKHQsITApfXJldHVybiBzZSh0LGQsbnVsbCxbZV0pLmxlbmd0aD4wfSxzZS5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybihlLm93bmVyRG9jdW1lbnR8fGUpIT1kJiZwKGUpLHgoZSx0KX0sc2UuYXR0cj1mdW5jdGlvbihlLHQpeyhlLm93bmVyRG9jdW1lbnR8fGUpIT1kJiZwKGUpO3ZhciBpPXIuYXR0ckhhbmRsZVt0LnRvTG93ZXJDYXNlKCldLG89aSYmai5jYWxsKHIuYXR0ckhhbmRsZSx0LnRvTG93ZXJDYXNlKCkpP2koZSx0LCFnKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PW8/bzpuLmF0dHJpYnV0ZXN8fCFnP2UuZ2V0QXR0cmlidXRlKHQpOihvPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJm8uc3BlY2lmaWVkP28udmFsdWU6bnVsbH0sc2UuZXNjYXBlPWZ1bmN0aW9uKGUpe3JldHVybihlK1wiXCIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiBcIitlKX0sc2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxyPVtdLGk9MCxvPTA7aWYoZj0hbi5kZXRlY3REdXBsaWNhdGVzLGM9IW4uc29ydFN0YWJsZSYmZS5zbGljZSgwKSxlLnNvcnQoTiksZil7Zm9yKDt0PWVbbysrXTspdD09PWVbb10mJihpPXIucHVzaChvKSk7Zm9yKDtpLS07KWUuc3BsaWNlKHJbaV0sMSl9cmV0dXJuIGM9bnVsbCxlfSxpPXNlLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1cIlwiLHI9MCxvPWUubm9kZVR5cGU7aWYobyl7aWYoMT09PW98fDk9PT1vfHwxMT09PW8pe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1pKGUpfWVsc2UgaWYoMz09PW98fDQ9PT1vKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcig7dD1lW3IrK107KW4rPWkodCk7cmV0dXJuIG59LChyPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOntcIj5cIjp7ZGlyOlwicGFyZW50Tm9kZVwiLGZpcnN0OiEwfSxcIiBcIjp7ZGlyOlwicGFyZW50Tm9kZVwifSxcIitcIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCIsZmlyc3Q6ITB9LFwiflwiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UodGUsbmUpLGVbM109KGVbM118fGVbNF18fGVbNV18fFwiXCIpLnJlcGxhY2UodGUsbmUpLFwifj1cIj09PWVbMl0mJihlWzNdPVwiIFwiK2VbM10rXCIgXCIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLFwibnRoXCI9PT1lWzFdLnNsaWNlKDAsMyk/KGVbM118fHNlLmVycm9yKGVbMF0pLGVbNF09KyhlWzRdP2VbNV0rKGVbNl18fDEpOjIqKFwiZXZlblwiPT09ZVszXXx8XCJvZGRcIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHxcIm9kZFwiPT09ZVszXSkpOmVbM10mJnNlLmVycm9yKGVbMF0pLGV9LFBTRVVETzpmdW5jdGlvbihlKXt2YXIgdCxuPSFlWzZdJiZlWzJdO3JldHVybiBHLkNISUxELnRlc3QoZVswXSk/bnVsbDooZVszXT9lWzJdPWVbNF18fGVbNV18fFwiXCI6biYmWC50ZXN0KG4pJiYodD1hKG4sITApKSYmKHQ9bi5pbmRleE9mKFwiKVwiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVyblwiKlwiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PUVbZStcIiBcIl07cmV0dXJuIHR8fCh0PW5ldyBSZWdFeHAoXCIoXnxcIitNK1wiKVwiK2UrXCIoXCIrTStcInwkKVwiKSkmJkUoZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KFwic3RyaW5nXCI9PXR5cGVvZiBlLmNsYXNzTmFtZSYmZS5jbGFzc05hbWV8fHZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKX0pfSxBVFRSOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGk9c2UuYXR0cihyLGUpO3JldHVybiBudWxsPT1pP1wiIT1cIj09PXQ6IXR8fChpKz1cIlwiLFwiPVwiPT09dD9pPT09bjpcIiE9XCI9PT10P2khPT1uOlwiXj1cIj09PXQ/biYmMD09PWkuaW5kZXhPZihuKTpcIio9XCI9PT10P24mJmkuaW5kZXhPZihuKT4tMTpcIiQ9XCI9PT10P24mJmkuc2xpY2UoLW4ubGVuZ3RoKT09PW46XCJ+PVwiPT09dD8oXCIgXCIraS5yZXBsYWNlKEIsXCIgXCIpK1wiIFwiKS5pbmRleE9mKG4pPi0xOlwifD1cIj09PXQmJihpPT09bnx8aS5zbGljZSgwLG4ubGVuZ3RoKzEpPT09bitcIi1cIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz1cIm50aFwiIT09ZS5zbGljZSgwLDMpLGE9XCJsYXN0XCIhPT1lLnNsaWNlKC00KSxzPVwib2YtdHlwZVwiPT09dDtyZXR1cm4gMT09PXImJjA9PT1pP2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHAsZCxoLGc9byE9PWE/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIsdj10LnBhcmVudE5vZGUseT1zJiZ0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbT0hdSYmIXMseD0hMTtpZih2KXtpZihvKXtmb3IoO2c7KXtmb3IocD10O3A9cFtnXTspaWYocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT15OjE9PT1wLm5vZGVUeXBlKXJldHVybiExO2g9Zz1cIm9ubHlcIj09PWUmJiFoJiZcIm5leHRTaWJsaW5nXCJ9cmV0dXJuITB9aWYoaD1bYT92LmZpcnN0Q2hpbGQ6di5sYXN0Q2hpbGRdLGEmJm0pe2Zvcih4PShkPShsPShjPShmPShwPXYpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSYmbFsyXSxwPWQmJnYuY2hpbGROb2Rlc1tkXTtwPSsrZCYmcCYmcFtnXXx8KHg9ZD0wKXx8aC5wb3AoKTspaWYoMT09PXAubm9kZVR5cGUmJisreCYmcD09PXQpe2NbZV09W1QsZCx4XTticmVha319ZWxzZSBpZihtJiYoeD1kPShsPShjPShmPShwPXQpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSwhMT09PXgpZm9yKDsocD0rK2QmJnAmJnBbZ118fCh4PWQ9MCl8fGgucG9wKCkpJiYoKHM/cC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09eToxIT09cC5ub2RlVHlwZSl8fCErK3h8fChtJiYoKGM9KGY9cFtiXXx8KHBbYl09e30pKVtwLnVuaXF1ZUlEXXx8KGZbcC51bmlxdWVJRF09e30pKVtlXT1bVCx4XSkscCE9PXQpKTspO3JldHVybih4LT1pKT09PXJ8fHglcj09MCYmeC9yPj0wfX19LFBTRVVETzpmdW5jdGlvbihlLHQpe3ZhciBuLGk9ci5wc2V1ZG9zW2VdfHxyLnNldEZpbHRlcnNbZS50b0xvd2VyQ2FzZSgpXXx8c2UuZXJyb3IoXCJ1bnN1cHBvcnRlZCBwc2V1ZG86IFwiK2UpO3JldHVybiBpW2JdP2kodCk6aS5sZW5ndGg+MT8obj1bZSxlLFwiXCIsdF0sci5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9Mb3dlckNhc2UoKSk/bGUoZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIsbz1pKGUsdCksYT1vLmxlbmd0aDthLS07KWVbcj1QKGUsb1thXSldPSEobltyXT1vW2FdKX0pOmZ1bmN0aW9uKGUpe3JldHVybiBpKGUsMCxuKX0pOml9fSxwc2V1ZG9zOntub3Q6bGUoZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1bXSxyPXMoZS5yZXBsYWNlKCQsXCIkMVwiKSk7cmV0dXJuIHJbYl0/bGUoZnVuY3Rpb24oZSx0LG4saSl7Zm9yKHZhciBvLGE9cihlLG51bGwsaSxbXSkscz1lLmxlbmd0aDtzLS07KShvPWFbc10pJiYoZVtzXT0hKHRbc109bykpfSk6ZnVuY3Rpb24oZSxpLG8pe3JldHVybiB0WzBdPWUscih0LG51bGwsbyxuKSx0WzBdPW51bGwsIW4ucG9wKCl9fSksaGFzOmxlKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gc2UoZSx0KS5sZW5ndGg+MH19KSxjb250YWluczpsZShmdW5jdGlvbihlKXtyZXR1cm4gZT1lLnJlcGxhY2UodGUsbmUpLGZ1bmN0aW9uKHQpe3JldHVybih0LnRleHRDb250ZW50fHxpKHQpKS5pbmRleE9mKGUpPi0xfX0pLGxhbmc6bGUoZnVuY3Rpb24oZSl7cmV0dXJuIFYudGVzdChlfHxcIlwiKXx8c2UuZXJyb3IoXCJ1bnN1cHBvcnRlZCBsYW5nOiBcIitlKSxlPWUucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbih0KXt2YXIgbjtkb3tpZihuPWc/dC5sYW5nOnQuZ2V0QXR0cmlidXRlKFwieG1sOmxhbmdcIil8fHQuZ2V0QXR0cmlidXRlKFwibGFuZ1wiKSlyZXR1cm4obj1uLnRvTG93ZXJDYXNlKCkpPT09ZXx8MD09PW4uaW5kZXhPZihlK1wiLVwiKX13aGlsZSgodD10LnBhcmVudE5vZGUpJiYxPT09dC5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKHQpe3ZhciBuPWUubG9jYXRpb24mJmUubG9jYXRpb24uaGFzaDtyZXR1cm4gbiYmbi5zbGljZSgxKT09PXQuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1ofSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWQuYWN0aXZlRWxlbWVudCYmKCFkLmhhc0ZvY3VzfHxkLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09dCYmISFlLmNoZWNrZWR8fFwib3B0aW9uXCI9PT10JiYhIWUuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LCEwPT09ZS5zZWxlY3RlZH0sZW1wdHk6ZnVuY3Rpb24oZSl7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKWlmKGUubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiFyLnBzZXVkb3MuZW1wdHkoZSl9LGhlYWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gSi50ZXN0KGUubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihlKXtyZXR1cm4gUS50ZXN0KGUubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PXQmJlwiYnV0dG9uXCI9PT1lLnR5cGV8fFwiYnV0dG9uXCI9PT10fSx0ZXh0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVyblwiaW5wdXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmXCJ0ZXh0XCI9PT1lLnR5cGUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZShcInR5cGVcIikpfHxcInRleHRcIj09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDpuPnQ/dDpuOy0tcj49MDspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPXIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pci5wc2V1ZG9zW3RdPWRlKHQpO2Zvcih0IGlue3N1Ym1pdDohMCxyZXNldDohMH0pci5wc2V1ZG9zW3RdPWhlKHQpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj1cIlwiO3Q8bjt0Kyspcis9ZVt0XS52YWx1ZTtyZXR1cm4gcn1mdW5jdGlvbiBiZShlLHQsbil7dmFyIHI9dC5kaXIsaT10Lm5leHQsbz1pfHxyLGE9biYmXCJwYXJlbnROb2RlXCI9PT1vLHM9QysrO3JldHVybiB0LmZpcnN0P2Z1bmN0aW9uKHQsbixpKXtmb3IoO3Q9dFtyXTspaWYoMT09PXQubm9kZVR5cGV8fGEpcmV0dXJuIGUodCxuLGkpO3JldHVybiExfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHA9W1Qsc107aWYodSl7Zm9yKDt0PXRbcl07KWlmKCgxPT09dC5ub2RlVHlwZXx8YSkmJmUodCxuLHUpKXJldHVybiEwfWVsc2UgZm9yKDt0PXRbcl07KWlmKDE9PT10Lm5vZGVUeXBlfHxhKWlmKGM9KGY9dFtiXXx8KHRbYl09e30pKVt0LnVuaXF1ZUlEXXx8KGZbdC51bmlxdWVJRF09e30pLGkmJmk9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpdD10W3JdfHx0O2Vsc2V7aWYoKGw9Y1tvXSkmJmxbMF09PT1UJiZsWzFdPT09cylyZXR1cm4gcFsyXT1sWzJdO2lmKGNbb109cCxwWzJdPWUodCxuLHUpKXJldHVybiEwfXJldHVybiExfX1mdW5jdGlvbiB3ZShlKXtyZXR1cm4gZS5sZW5ndGg+MT9mdW5jdGlvbih0LG4scil7Zm9yKHZhciBpPWUubGVuZ3RoO2ktLTspaWYoIWVbaV0odCxuLHIpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZSx0LG4scixpLG8pe3JldHVybiByJiYhcltiXSYmKHI9Q2UocikpLGkmJiFpW2JdJiYoaT1DZShpLG8pKSxsZShmdW5jdGlvbihvLGEscyx1KXt2YXIgbCxjLGYscD1bXSxkPVtdLGg9YS5sZW5ndGgsZz1vfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0odHx8XCIqXCIscy5ub2RlVHlwZT9bc106cyxbXSksdj0hZXx8IW8mJnQ/ZzpUZShnLHAsZSxzLHUpLHk9bj9pfHwobz9lOmh8fHIpP1tdOmE6djtpZihuJiZuKHYseSxzLHUpLHIpZm9yKGw9VGUoeSxkKSxyKGwsW10scyx1KSxjPWwubGVuZ3RoO2MtLTspKGY9bFtjXSkmJih5W2RbY11dPSEodltkW2NdXT1mKSk7aWYobyl7aWYoaXx8ZSl7aWYoaSl7Zm9yKGw9W10sYz15Lmxlbmd0aDtjLS07KShmPXlbY10pJiZsLnB1c2godltjXT1mKTtpKG51bGwseT1bXSxsLHUpfWZvcihjPXkubGVuZ3RoO2MtLTspKGY9eVtjXSkmJihsPWk/UChvLGYpOnBbY10pPi0xJiYob1tsXT0hKGFbbF09ZikpfX1lbHNlIHk9VGUoeT09PWE/eS5zcGxpY2UoaCx5Lmxlbmd0aCk6eSksaT9pKG51bGwsYSx5LHUpOkguYXBwbHkoYSx5KX0pfWZ1bmN0aW9uIEVlKGUpe2Zvcih2YXIgdCxuLGksbz1lLmxlbmd0aCxhPXIucmVsYXRpdmVbZVswXS50eXBlXSxzPWF8fHIucmVsYXRpdmVbXCIgXCJdLHU9YT8xOjAsYz1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9LHMsITApLGY9YmUoZnVuY3Rpb24oZSl7cmV0dXJuIFAodCxlKT4tMX0scywhMCkscD1bZnVuY3Rpb24oZSxuLHIpe3ZhciBpPSFhJiYocnx8biE9PWwpfHwoKHQ9bikubm9kZVR5cGU/YyhlLG4scik6ZihlLG4scikpO3JldHVybiB0PW51bGwsaX1dO3U8bzt1KyspaWYobj1yLnJlbGF0aXZlW2VbdV0udHlwZV0pcD1bYmUod2UocCksbildO2Vsc2V7aWYoKG49ci5maWx0ZXJbZVt1XS50eXBlXS5hcHBseShudWxsLGVbdV0ubWF0Y2hlcykpW2JdKXtmb3IoaT0rK3U7aTxvJiYhci5yZWxhdGl2ZVtlW2ldLnR5cGVdO2krKyk7cmV0dXJuIENlKHU+MSYmd2UocCksdT4xJiZ4ZShlLnNsaWNlKDAsdS0xKS5jb25jYXQoe3ZhbHVlOlwiIFwiPT09ZVt1LTJdLnR5cGU/XCIqXCI6XCJcIn0pKS5yZXBsYWNlKCQsXCIkMVwiKSxuLHU8aSYmRWUoZS5zbGljZSh1LGkpKSxpPG8mJkVlKGU9ZS5zbGljZShpKSksaTxvJiZ4ZShlKSl9cC5wdXNoKG4pfXJldHVybiB3ZShwKX1yZXR1cm4gbWUucHJvdG90eXBlPXIuZmlsdGVycz1yLnBzZXVkb3Msci5zZXRGaWx0ZXJzPW5ldyBtZSxhPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvLGEscyx1LGwsYz1TW2UrXCIgXCJdO2lmKGMpcmV0dXJuIHQ/MDpjLnNsaWNlKDApO2ZvcihzPWUsdT1bXSxsPXIucHJlRmlsdGVyO3M7KXtmb3IoYSBpbiBuJiYhKGk9Xy5leGVjKHMpKXx8KGkmJihzPXMuc2xpY2UoaVswXS5sZW5ndGgpfHxzKSx1LnB1c2gobz1bXSkpLG49ITEsKGk9ei5leGVjKHMpKSYmKG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOmlbMF0ucmVwbGFjZSgkLFwiIFwiKX0pLHM9cy5zbGljZShuLmxlbmd0aCkpLHIuZmlsdGVyKSEoaT1HW2FdLmV4ZWMocykpfHxsW2FdJiYhKGk9bFthXShpKSl8fChuPWkuc2hpZnQoKSxvLnB1c2goe3ZhbHVlOm4sdHlwZTphLG1hdGNoZXM6aX0pLHM9cy5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P3MubGVuZ3RoOnM/c2UuZXJyb3IoZSk6UyhlLHUpLnNsaWNlKDApfSxzPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpPVtdLG89W10scz1rW2UrXCIgXCJdO2lmKCFzKXtmb3IodHx8KHQ9YShlKSksbj10Lmxlbmd0aDtuLS07KShzPUVlKHRbbl0pKVtiXT9pLnB1c2gocyk6by5wdXNoKHMpOyhzPWsoZSxmdW5jdGlvbihlLHQpe3ZhciBuPXQubGVuZ3RoPjAsaT1lLmxlbmd0aD4wLG89ZnVuY3Rpb24obyxhLHMsdSxjKXt2YXIgZixoLHYseT0wLG09XCIwXCIseD1vJiZbXSxiPVtdLHc9bCxDPW98fGkmJnIuZmluZC5UQUcoXCIqXCIsYyksRT1UKz1udWxsPT13PzE6TWF0aC5yYW5kb20oKXx8LjEsUz1DLmxlbmd0aDtmb3IoYyYmKGw9YT09ZHx8YXx8Yyk7bSE9PVMmJm51bGwhPShmPUNbbV0pO20rKyl7aWYoaSYmZil7Zm9yKGg9MCxhfHxmLm93bmVyRG9jdW1lbnQ9PWR8fChwKGYpLHM9IWcpO3Y9ZVtoKytdOylpZih2KGYsYXx8ZCxzKSl7dS5wdXNoKGYpO2JyZWFrfWMmJihUPUUpfW4mJigoZj0hdiYmZikmJnktLSxvJiZ4LnB1c2goZikpfWlmKHkrPW0sbiYmbSE9PXkpe2ZvcihoPTA7dj10W2grK107KXYoeCxiLGEscyk7aWYobyl7aWYoeT4wKWZvcig7bS0tOyl4W21dfHxiW21dfHwoYlttXT1xLmNhbGwodSkpO2I9VGUoYil9SC5hcHBseSh1LGIpLGMmJiFvJiZiLmxlbmd0aD4wJiZ5K3QubGVuZ3RoPjEmJnNlLnVuaXF1ZVNvcnQodSl9cmV0dXJuIGMmJihUPUUsbD13KSx4fTtyZXR1cm4gbj9sZShvKTpvfShvLGkpKSkuc2VsZWN0b3I9ZX1yZXR1cm4gc30sdT1zZS5zZWxlY3Q9ZnVuY3Rpb24oZSx0LG4saSl7dmFyIG8sdSxsLGMsZixwPVwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJmUsZD0haSYmYShlPXAuc2VsZWN0b3J8fGUpO2lmKG49bnx8W10sMT09PWQubGVuZ3RoKXtpZigodT1kWzBdPWRbMF0uc2xpY2UoMCkpLmxlbmd0aD4yJiZcIklEXCI9PT0obD11WzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmZyYmci5yZWxhdGl2ZVt1WzFdLnR5cGVdKXtpZighKHQ9KHIuZmluZC5JRChsLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47cCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2UodS5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9Zm9yKG89Ry5uZWVkc0NvbnRleHQudGVzdChlKT8wOnUubGVuZ3RoO28tLSYmKGw9dVtvXSwhci5yZWxhdGl2ZVtjPWwudHlwZV0pOylpZigoZj1yLmZpbmRbY10pJiYoaT1mKGwubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KHVbMF0udHlwZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYodS5zcGxpY2UobywxKSwhKGU9aS5sZW5ndGgmJnhlKHUpKSlyZXR1cm4gSC5hcHBseShuLGkpLG47YnJlYWt9fXJldHVybihwfHxzKGUsZCkpKGksdCwhZyxuLCF0fHxlZS50ZXN0KGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSxufSxuLnNvcnRTdGFibGU9Yi5zcGxpdChcIlwiKS5zb3J0KE4pLmpvaW4oXCJcIik9PT1iLG4uZGV0ZWN0RHVwbGljYXRlcz0hIWYscCgpLG4uc29ydERldGFjaGVkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZC5jcmVhdGVFbGVtZW50KFwiZmllbGRzZXRcIikpfSksY2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJIVE1MPVwiPGEgaHJlZj0nIyc+PC9hPlwiLFwiI1wiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZShcImhyZWZcIil9KXx8ZmUoXCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoXCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LFwidHlwZVwiPT09dC50b0xvd2VyQ2FzZSgpPzE6Mil9KSxuLmF0dHJpYnV0ZXMmJmNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD1cIjxpbnB1dC8+XCIsZS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZShcInZhbHVlXCIsXCJcIiksXCJcIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiKX0pfHxmZShcInZhbHVlXCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuJiZcImlucHV0XCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIGUuZGVmYXVsdFZhbHVlfSksY2UoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWUuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIil9KXx8ZmUoUixmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxzZX0oZSk7Yi5maW5kPVQsYi5leHByPVQuc2VsZWN0b3JzLGIuZXhwcltcIjpcIl09Yi5leHByLnBzZXVkb3MsYi51bmlxdWVTb3J0PWIudW5pcXVlPVQudW5pcXVlU29ydCxiLnRleHQ9VC5nZXRUZXh0LGIuaXNYTUxEb2M9VC5pc1hNTCxiLmNvbnRhaW5zPVQuY29udGFpbnMsYi5lc2NhcGVTZWxlY3Rvcj1ULmVzY2FwZTt2YXIgQz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9dm9pZCAwIT09bjsoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGU7KWlmKDE9PT1lLm5vZGVUeXBlKXtpZihpJiZiKGUpLmlzKG4pKWJyZWFrO3IucHVzaChlKX1yZXR1cm4gcn0sRT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXTtlO2U9ZS5uZXh0U2libGluZykxPT09ZS5ub2RlVHlwZSYmZSE9PXQmJm4ucHVzaChlKTtyZXR1cm4gbn0sUz1iLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0O2Z1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfXZhciBBPS9ePChbYS16XVteXFwvXFwwPjpcXHgyMFxcdFxcclxcblxcZl0qKVtcXHgyMFxcdFxcclxcblxcZl0qXFwvPz4oPzo8XFwvXFwxPnwpJC9pO2Z1bmN0aW9uIE4oZSx0LG4pe3JldHVybiBoKHQpP2IuZ3JlcChlLGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpIT09bn0pOnQubm9kZVR5cGU/Yi5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10IT09bn0pOlwic3RyaW5nXCIhPXR5cGVvZiB0P2IuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBzLmNhbGwodCxlKT4tMSE9PW59KTpiLmZpbHRlcih0LGUsbil9Yi5maWx0ZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRbMF07cmV0dXJuIG4mJihlPVwiOm5vdChcIitlK1wiKVwiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBlP2IuZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bcl06W106Yi5maW5kLm1hdGNoZXMoZSxiLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9KSl9LGIuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzLmxlbmd0aCxpPXRoaXM7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUpcmV0dXJuIHRoaXMucHVzaFN0YWNrKGIoZSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHQ9MDt0PHI7dCsrKWlmKGIuY29udGFpbnMoaVt0XSx0aGlzKSlyZXR1cm4hMH0pKTtmb3Iobj10aGlzLnB1c2hTdGFjayhbXSksdD0wO3Q8cjt0KyspYi5maW5kKGUsaVt0XSxuKTtyZXR1cm4gcj4xP2IudW5pcXVlU29ydChuKTpufSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKE4odGhpcyxlfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKE4odGhpcyxlfHxbXSwhMCkpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4hIU4odGhpcyxcInN0cmluZ1wiPT10eXBlb2YgZSYmUy50ZXN0KGUpP2IoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgaixEPS9eKD86XFxzKig8W1xcd1xcV10rPilbXj5dKnwjKFtcXHctXSspKSQvOyhiLmZuLmluaXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoIWUpcmV0dXJuIHRoaXM7aWYobj1ufHxqLFwic3RyaW5nXCI9PXR5cGVvZiBlKXtpZighKHI9XCI8XCI9PT1lWzBdJiZcIj5cIj09PWVbZS5sZW5ndGgtMV0mJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06RC5leGVjKGUpKXx8IXJbMV0mJnQpcmV0dXJuIXR8fHQuanF1ZXJ5Pyh0fHxuKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTtpZihyWzFdKXtpZih0PXQgaW5zdGFuY2VvZiBiP3RbMF06dCxiLm1lcmdlKHRoaXMsYi5wYXJzZUhUTUwoclsxXSx0JiZ0Lm5vZGVUeXBlP3Qub3duZXJEb2N1bWVudHx8dDp2LCEwKSksQS50ZXN0KHJbMV0pJiZiLmlzUGxhaW5PYmplY3QodCkpZm9yKHIgaW4gdCloKHRoaXNbcl0pP3RoaXNbcl0odFtyXSk6dGhpcy5hdHRyKHIsdFtyXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGk9di5nZXRFbGVtZW50QnlJZChyWzJdKSkmJih0aGlzWzBdPWksdGhpcy5sZW5ndGg9MSksdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpc1swXT1lLHRoaXMubGVuZ3RoPTEsdGhpcyk6aChlKT92b2lkIDAhPT1uLnJlYWR5P24ucmVhZHkoZSk6ZShiKTpiLm1ha2VBcnJheShlLHRoaXMpfSkucHJvdG90eXBlPWIuZm4saj1iKHYpO3ZhciBxPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEw9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSChlLHQpe2Zvcig7KGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlOyk7cmV0dXJuIGV9Yi5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihlKXt2YXIgdD1iKGUsdGhpcyksbj10Lmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPG47ZSsrKWlmKGIuY29udGFpbnModGhpcyx0W2VdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dGhpcy5sZW5ndGgsbz1bXSxhPVwic3RyaW5nXCIhPXR5cGVvZiBlJiZiKGUpO2lmKCFTLnRlc3QoZSkpZm9yKDtyPGk7cisrKWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/YS5pbmRleChuKT4tMToxPT09bi5ub2RlVHlwZSYmYi5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhvLmxlbmd0aD4xP2IudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/XCJzdHJpbmdcIj09dHlwZW9mIGU/cy5jYWxsKGIoZSksdGhpc1swXSk6cy5jYWxsKHRoaXMsZS5qcXVlcnk/ZVswXTplKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnB1c2hTdGFjayhiLnVuaXF1ZVNvcnQoYi5tZXJnZSh0aGlzLmdldCgpLGIoZSx0KSkpKX0sYWRkQmFjazpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9fSksYi5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJwYXJlbnROb2RlXCIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBDKGUsXCJwYXJlbnROb2RlXCIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEgoZSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBIKGUsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcIm5leHRTaWJsaW5nXCIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcInByZXZpb3VzU2libGluZ1wiLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gRSgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIEUoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZyKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooayhlLFwidGVtcGxhdGVcIikmJihlPWUuY29udGVudHx8ZSksYi5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBpPWIubWFwKHRoaXMsdCxuKTtyZXR1cm5cIlVudGlsXCIhPT1lLnNsaWNlKC01KSYmKHI9biksciYmXCJzdHJpbmdcIj09dHlwZW9mIHImJihpPWIuZmlsdGVyKHIsaSkpLHRoaXMubGVuZ3RoPjEmJihMW2VdfHxiLnVuaXF1ZVNvcnQoaSkscS50ZXN0KGUpJiZpLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soaSl9fSk7dmFyIE89L1teXFx4MjBcXHRcXHJcXG5cXGZdKy9nO2Z1bmN0aW9uIFAoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gUihlKXt0aHJvdyBlfWZ1bmN0aW9uIE0oZSx0LG4scil7dmFyIGk7dHJ5e2UmJmgoaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmaChpPWUudGhlbik/aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9pZCAwLFtlXSl9fWIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGUpe2U9XCJzdHJpbmdcIj09dHlwZW9mIGU/ZnVuY3Rpb24oZSl7dmFyIHQ9e307cmV0dXJuIGIuZWFjaChlLm1hdGNoKE8pfHxbXSxmdW5jdGlvbihlLG4pe3Rbbl09ITB9KSx0fShlKTpiLmV4dGVuZCh7fSxlKTt2YXIgdCxuLHIsaSxvPVtdLGE9W10scz0tMSx1PWZ1bmN0aW9uKCl7Zm9yKGk9aXx8ZS5vbmNlLHI9dD0hMDthLmxlbmd0aDtzPS0xKWZvcihuPWEuc2hpZnQoKTsrK3M8by5sZW5ndGg7KSExPT09b1tzXS5hcHBseShuWzBdLG5bMV0pJiZlLnN0b3BPbkZhbHNlJiYocz1vLmxlbmd0aCxuPSExKTtlLm1lbW9yeXx8KG49ITEpLHQ9ITEsaSYmKG89bj9bXTpcIlwiKX0sbD17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIG8mJihuJiYhdCYmKHM9by5sZW5ndGgtMSxhLnB1c2gobikpLGZ1bmN0aW9uIHQobil7Yi5lYWNoKG4sZnVuY3Rpb24obixyKXtoKHIpP2UudW5pcXVlJiZsLmhhcyhyKXx8by5wdXNoKHIpOnImJnIubGVuZ3RoJiZcInN0cmluZ1wiIT09eChyKSYmdChyKX0pfShhcmd1bWVudHMpLG4mJiF0JiZ1KCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBiLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuOyhuPWIuaW5BcnJheSh0LG8sbikpPi0xOylvLnNwbGljZShuLDEpLG48PXMmJnMtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT9iLmluQXJyYXkoZSxvKT4tMTpvLmxlbmd0aD4wfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBvJiYobz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbz1uPVwiXCIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hb30sbG9jazpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbnx8dHx8KG89bj1cIlwiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWl9LGZpcmVXaXRoOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGl8fChuPVtlLChuPW58fFtdKS5zbGljZT9uLnNsaWNlKCk6bl0sYS5wdXNoKG4pLHR8fHUoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBsLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhcn19O3JldHVybiBsfSxiLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24odCl7dmFyIG49W1tcIm5vdGlmeVwiLFwicHJvZ3Jlc3NcIixiLkNhbGxiYWNrcyhcIm1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm1lbW9yeVwiKSwyXSxbXCJyZXNvbHZlXCIsXCJkb25lXCIsYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLDAsXCJyZXNvbHZlZFwiXSxbXCJyZWplY3RcIixcImZhaWxcIixiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksMSxcInJlamVjdGVkXCJdXSxyPVwicGVuZGluZ1wiLGk9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBvLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sY2F0Y2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGkudGhlbihudWxsLGUpfSxwaXBlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzO3JldHVybiBiLkRlZmVycmVkKGZ1bmN0aW9uKHQpe2IuZWFjaChuLGZ1bmN0aW9uKG4scil7dmFyIGk9aChlW3JbNF1dKSYmZVtyWzRdXTtvW3JbMV1dKGZ1bmN0aW9uKCl7dmFyIGU9aSYmaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmaChlLnByb21pc2UpP2UucHJvbWlzZSgpLnByb2dyZXNzKHQubm90aWZ5KS5kb25lKHQucmVzb2x2ZSkuZmFpbCh0LnJlamVjdCk6dFtyWzBdK1wiV2l0aFwiXSh0aGlzLGk/W2VdOmFyZ3VtZW50cyl9KX0pLGU9bnVsbH0pLnByb21pc2UoKX0sdGhlbjpmdW5jdGlvbih0LHIsaSl7dmFyIG89MDtmdW5jdGlvbiBhKHQsbixyLGkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBzPXRoaXMsdT1hcmd1bWVudHMsbD1mdW5jdGlvbigpe3ZhciBlLGw7aWYoISh0PG8pKXtpZigoZT1yLmFwcGx5KHMsdSkpPT09bi5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvblwiKTtsPWUmJihcIm9iamVjdFwiPT10eXBlb2YgZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZSkmJmUudGhlbixoKGwpP2k/bC5jYWxsKGUsYShvLG4sUCxpKSxhKG8sbixSLGkpKToobysrLGwuY2FsbChlLGEobyxuLFAsaSksYShvLG4sUixpKSxhKG8sbixQLG4ubm90aWZ5V2l0aCkpKToociE9PVAmJihzPXZvaWQgMCx1PVtlXSksKGl8fG4ucmVzb2x2ZVdpdGgpKHMsdSkpfX0sYz1pP2w6ZnVuY3Rpb24oKXt0cnl7bCgpfWNhdGNoKGUpe2IuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayYmYi5EZWZlcnJlZC5leGNlcHRpb25Ib29rKGUsYy5zdGFja1RyYWNlKSx0KzE+PW8mJihyIT09UiYmKHM9dm9pZCAwLHU9W2VdKSxuLnJlamVjdFdpdGgocyx1KSl9fTt0P2MoKTooYi5EZWZlcnJlZC5nZXRTdGFja0hvb2smJihjLnN0YWNrVHJhY2U9Yi5EZWZlcnJlZC5nZXRTdGFja0hvb2soKSksZS5zZXRUaW1lb3V0KGMpKX19cmV0dXJuIGIuRGVmZXJyZWQoZnVuY3Rpb24oZSl7blswXVszXS5hZGQoYSgwLGUsaChpKT9pOlAsZS5ub3RpZnlXaXRoKSksblsxXVszXS5hZGQoYSgwLGUsaCh0KT90OlApKSxuWzJdWzNdLmFkZChhKDAsZSxoKHIpP3I6UikpfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lP2IuZXh0ZW5kKGUsaSk6aX19LG89e307cmV0dXJuIGIuZWFjaChuLGZ1bmN0aW9uKGUsdCl7dmFyIGE9dFsyXSxzPXRbNV07aVt0WzFdXT1hLmFkZCxzJiZhLmFkZChmdW5jdGlvbigpe3I9c30sblszLWVdWzJdLmRpc2FibGUsblszLWVdWzNdLmRpc2FibGUsblswXVsyXS5sb2NrLG5bMF1bM10ubG9jayksYS5hZGQodFszXS5maXJlKSxvW3RbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIG9bdFswXStcIldpdGhcIl0odGhpcz09PW8/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxvW3RbMF0rXCJXaXRoXCJdPWEuZmlyZVdpdGh9KSxpLnByb21pc2UobyksdCYmdC5jYWxsKG8sbyksb30sd2hlbjpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49dCxyPUFycmF5KG4pLG89aS5jYWxsKGFyZ3VtZW50cyksYT1iLkRlZmVycmVkKCkscz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obil7cltlXT10aGlzLG9bZV09YXJndW1lbnRzLmxlbmd0aD4xP2kuY2FsbChhcmd1bWVudHMpOm4sLS10fHxhLnJlc29sdmVXaXRoKHIsbyl9fTtpZih0PD0xJiYoTShlLGEuZG9uZShzKG4pKS5yZXNvbHZlLGEucmVqZWN0LCF0KSxcInBlbmRpbmdcIj09PWEuc3RhdGUoKXx8aChvW25dJiZvW25dLnRoZW4pKSlyZXR1cm4gYS50aGVuKCk7Zm9yKDtuLS07KU0ob1tuXSxzKG4pLGEucmVqZWN0KTtyZXR1cm4gYS5wcm9taXNlKCl9fSk7dmFyIEk9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87Yi5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKHQsbil7ZS5jb25zb2xlJiZlLmNvbnNvbGUud2FybiYmdCYmSS50ZXN0KHQubmFtZSkmJmUuY29uc29sZS53YXJuKFwialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogXCIrdC5tZXNzYWdlLHQuc3RhY2ssbil9LGIucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24odCl7ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0pfTt2YXIgVz1iLkRlZmVycmVkKCk7ZnVuY3Rpb24gRigpe3YucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixGKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsRiksYi5yZWFkeSgpfWIuZm4ucmVhZHk9ZnVuY3Rpb24oZSl7cmV0dXJuIFcudGhlbihlKS5jYXRjaChmdW5jdGlvbihlKXtiLnJlYWR5RXhjZXB0aW9uKGUpfSksdGhpc30sYi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEscmVhZHk6ZnVuY3Rpb24oZSl7KCEwPT09ZT8tLWIucmVhZHlXYWl0OmIuaXNSZWFkeSl8fChiLmlzUmVhZHk9ITAsITAhPT1lJiYtLWIucmVhZHlXYWl0PjB8fFcucmVzb2x2ZVdpdGgodixbYl0pKX19KSxiLnJlYWR5LnRoZW49Vy50aGVuLFwiY29tcGxldGVcIj09PXYucmVhZHlTdGF0ZXx8XCJsb2FkaW5nXCIhPT12LnJlYWR5U3RhdGUmJiF2LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9lLnNldFRpbWVvdXQoYi5yZWFkeSk6KHYuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixGKSxlLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsRikpO3ZhciBCPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoXCJvYmplY3RcIj09PXgobikpZm9yKHMgaW4gaT0hMCxuKUIoZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09ciYmKGk9ITAsaChyKXx8KGE9ITApLGwmJihhPyh0LmNhbGwoZSxyKSx0PW51bGwpOihsPXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwuY2FsbChiKGUpLG4pfSkpLHQpKWZvcig7czx1O3MrKyl0KGVbc10sbixhP3I6ci5jYWxsKGVbc10scyx0KGVbc10sbikpKTtyZXR1cm4gaT9lOmw/dC5jYWxsKGUpOnU/dChlWzBdLG4pOm99LCQ9L14tbXMtLyxfPS8tKFthLXpdKS9nO2Z1bmN0aW9uIHooZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUucmVwbGFjZSgkLFwibXMtXCIpLnJlcGxhY2UoXyx6KX12YXIgWD1mdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwhK2Uubm9kZVR5cGV9O2Z1bmN0aW9uIFYoKXt0aGlzLmV4cGFuZG89Yi5leHBhbmRvK1YudWlkKyt9Vi51aWQ9MSxWLnByb3RvdHlwZT17Y2FjaGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB0fHwodD17fSxYKGUpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dDpPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0aGlzLmV4cGFuZG8se3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwfSkpKSx0fSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9dGhpcy5jYWNoZShlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgdClpW1UodCldPW47ZWxzZSBmb3IociBpbiB0KWlbVShyKV09dFtyXTtyZXR1cm4gaX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5jYWNoZShlKTplW3RoaXMuZXhwYW5kb10mJmVbdGhpcy5leHBhbmRvXVtVKHQpXX0sYWNjZXNzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dHx8dCYmXCJzdHJpbmdcIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFUpOih0PVUodCkpaW4gcj9bdF06dC5tYXRjaChPKXx8W10pLmxlbmd0aDtmb3IoO24tLTspZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09PXR8fGIuaXNFbXB0eU9iamVjdChyKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09dCYmIWIuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBHPW5ldyBWLFk9bmV3IFYsUT0vXig/Olxce1tcXHdcXFddKlxcfXxcXFtbXFx3XFxXXSpcXF0pJC8sSj0vW0EtWl0vZztmdW5jdGlvbiBLKGUsdCxuKXt2YXIgcjtpZih2b2lkIDA9PT1uJiYxPT09ZS5ub2RlVHlwZSlpZihyPVwiZGF0YS1cIit0LnJlcGxhY2UoSixcIi0kJlwiKS50b0xvd2VyQ2FzZSgpLFwic3RyaW5nXCI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5e249ZnVuY3Rpb24oZSl7cmV0dXJuXCJ0cnVlXCI9PT1lfHxcImZhbHNlXCIhPT1lJiYoXCJudWxsXCI9PT1lP251bGw6ZT09PStlK1wiXCI/K2U6US50ZXN0KGUpP0pTT04ucGFyc2UoZSk6ZSl9KG4pfWNhdGNoKGUpe31ZLnNldChlLHQsbil9ZWxzZSBuPXZvaWQgMDtyZXR1cm4gbn1iLmV4dGVuZCh7aGFzRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gWS5oYXNEYXRhKGUpfHxHLmhhc0RhdGEoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBZLmFjY2VzcyhlLHQsbil9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtZLnJlbW92ZShlLHQpfSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEcuYWNjZXNzKGUsdCxuKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtHLnJlbW92ZShlLHQpfX0pLGIuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG89dGhpc1swXSxhPW8mJm8uYXR0cmlidXRlcztpZih2b2lkIDA9PT1lKXtpZih0aGlzLmxlbmd0aCYmKGk9WS5nZXQobyksMT09PW8ubm9kZVR5cGUmJiFHLmdldChvLFwiaGFzRGF0YUF0dHJzXCIpKSl7Zm9yKG49YS5sZW5ndGg7bi0tOylhW25dJiYwPT09KHI9YVtuXS5uYW1lKS5pbmRleE9mKFwiZGF0YS1cIikmJihyPVUoci5zbGljZSg1KSksSyhvLHIsaVtyXSkpO0cuc2V0KG8sXCJoYXNEYXRhQXR0cnNcIiwhMCl9cmV0dXJuIGl9cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIGU/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5zZXQodGhpcyxlKX0pOkIodGhpcyxmdW5jdGlvbih0KXt2YXIgbjtpZihvJiZ2b2lkIDA9PT10KXJldHVybiB2b2lkIDAhPT0obj1ZLmdldChvLGUpKT9uOnZvaWQgMCE9PShuPUsobyxlKSk/bjp2b2lkIDA7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5zZXQodGhpcyxlLHQpfSl9LG51bGwsdCxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1kucmVtb3ZlKHRoaXMsZSl9KX19KSxiLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fFwiZnhcIikrXCJxdWV1ZVwiLHI9Ry5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1HLmFjY2VzcyhlLHQsYi5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fFwiZnhcIjt2YXIgbj1iLnF1ZXVlKGUsdCkscj1uLmxlbmd0aCxpPW4uc2hpZnQoKSxvPWIuX3F1ZXVlSG9va3MoZSx0KTtcImlucHJvZ3Jlc3NcIj09PWkmJihpPW4uc2hpZnQoKSxyLS0pLGkmJihcImZ4XCI9PT10JiZuLnVuc2hpZnQoXCJpbnByb2dyZXNzXCIpLGRlbGV0ZSBvLnN0b3AsaS5jYWxsKGUsZnVuY3Rpb24oKXtiLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10K1wicXVldWVIb29rc1wiO3JldHVybiBHLmdldChlLG4pfHxHLmFjY2VzcyhlLG4se2VtcHR5OmIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIikuYWRkKGZ1bmN0aW9uKCl7Ry5yZW1vdmUoZSxbdCtcInF1ZXVlXCIsbl0pfSl9KX19KSxiLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlJiYodD1lLGU9XCJmeFwiLG4tLSksYXJndW1lbnRzLmxlbmd0aDxuP2IucXVldWUodGhpc1swXSxlKTp2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49Yi5xdWV1ZSh0aGlzLGUsdCk7Yi5fcXVldWVIb29rcyh0aGlzLGUpLFwiZnhcIj09PWUmJlwiaW5wcm9ncmVzc1wiIT09blswXSYmYi5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5kZXF1ZXVlKHRoaXMsZSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHxcImZ4XCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Yi5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLXJ8fGkucmVzb2x2ZVdpdGgobyxbb10pfTtmb3IoXCJzdHJpbmdcIiE9dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLGU9ZXx8XCJmeFwiO2EtLTspKG49Ry5nZXQob1thXSxlK1wicXVldWVIb29rc1wiKSkmJm4uZW1wdHkmJihyKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksaS5wcm9taXNlKHQpfX0pO3ZhciBaPS9bKy1dPyg/OlxcZCpcXC58KVxcZCsoPzpbZUVdWystXT9cXGQrfCkvLnNvdXJjZSxlZT1uZXcgUmVnRXhwKFwiXig/OihbKy1dKT18KShcIitaK1wiKShbYS16JV0qKSRcIixcImlcIiksdGU9W1wiVG9wXCIsXCJSaWdodFwiLFwiQm90dG9tXCIsXCJMZWZ0XCJdLG5lPXYuZG9jdW1lbnRFbGVtZW50LHJlPWZ1bmN0aW9uKGUpe3JldHVybiBiLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX0saWU9e2NvbXBvc2VkOiEwfTtuZS5nZXRSb290Tm9kZSYmKHJlPWZ1bmN0aW9uKGUpe3JldHVybiBiLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShpZSk9PT1lLm93bmVyRG9jdW1lbnR9KTt2YXIgb2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm5cIm5vbmVcIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fFwiXCI9PT1lLnN0eWxlLmRpc3BsYXkmJnJlKGUpJiZcIm5vbmVcIj09PWIuY3NzKGUsXCJkaXNwbGF5XCIpfTtmdW5jdGlvbiBhZShlLHQsbixyKXt2YXIgaSxvLGE9MjAscz1yP2Z1bmN0aW9uKCl7cmV0dXJuIHIuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIGIuY3NzKGUsdCxcIlwiKX0sdT1zKCksbD1uJiZuWzNdfHwoYi5jc3NOdW1iZXJbdF0/XCJcIjpcInB4XCIpLGM9ZS5ub2RlVHlwZSYmKGIuY3NzTnVtYmVyW3RdfHxcInB4XCIhPT1sJiYrdSkmJmVlLmV4ZWMoYi5jc3MoZSx0KSk7aWYoYyYmY1szXSE9PWwpe2Zvcih1Lz0yLGw9bHx8Y1szXSxjPSt1fHwxO2EtLTspYi5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLGIuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgc2U9e307ZnVuY3Rpb24gdWUoZSl7dmFyIHQsbj1lLm93bmVyRG9jdW1lbnQscj1lLm5vZGVOYW1lLGk9c2Vbcl07cmV0dXJuIGl8fCh0PW4uYm9keS5hcHBlbmRDaGlsZChuLmNyZWF0ZUVsZW1lbnQocikpLGk9Yi5jc3ModCxcImRpc3BsYXlcIiksdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLFwibm9uZVwiPT09aSYmKGk9XCJibG9ja1wiKSxzZVtyXT1pLGkpfWZ1bmN0aW9uIGxlKGUsdCl7Zm9yKHZhciBuLHIsaT1bXSxvPTAsYT1lLmxlbmd0aDtvPGE7bysrKShyPWVbb10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oXCJub25lXCI9PT1uJiYoaVtvXT1HLmdldChyLFwiZGlzcGxheVwiKXx8bnVsbCxpW29dfHwoci5zdHlsZS5kaXNwbGF5PVwiXCIpKSxcIlwiPT09ci5zdHlsZS5kaXNwbGF5JiZvZShyKSYmKGlbb109dWUocikpKTpcIm5vbmVcIiE9PW4mJihpW29dPVwibm9uZVwiLEcuc2V0KHIsXCJkaXNwbGF5XCIsbikpKTtmb3Iobz0wO288YTtvKyspbnVsbCE9aVtvXSYmKGVbb10uc3R5bGUuZGlzcGxheT1pW29dKTtyZXR1cm4gZX1iLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgZT9lP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe29lKHRoaXMpP2IodGhpcykuc2hvdygpOmIodGhpcykuaGlkZSgpfSl9fSk7dmFyIGNlLGZlLHBlPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLGRlPS88KFthLXpdW15cXC9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XFwvKD86amF2YXxlY21hKXNjcmlwdC9pO2NlPXYuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmFwcGVuZENoaWxkKHYuY3JlYXRlRWxlbWVudChcImRpdlwiKSksKGZlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJyYWRpb1wiKSxmZS5zZXRBdHRyaWJ1dGUoXCJjaGVja2VkXCIsXCJjaGVja2VkXCIpLGZlLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcInRcIiksY2UuYXBwZW5kQ2hpbGQoZmUpLGQuY2hlY2tDbG9uZT1jZS5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsY2UuaW5uZXJIVE1MPVwiPHRleHRhcmVhPng8L3RleHRhcmVhPlwiLGQubm9DbG9uZUNoZWNrZWQ9ISFjZS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsY2UuaW5uZXJIVE1MPVwiPG9wdGlvbj48L29wdGlvbj5cIixkLm9wdGlvbj0hIWNlLmxhc3RDaGlsZDt2YXIgZ2U9e3RoZWFkOlsxLFwiPHRhYmxlPlwiLFwiPC90YWJsZT5cIl0sY29sOlsyLFwiPHRhYmxlPjxjb2xncm91cD5cIixcIjwvY29sZ3JvdXA+PC90YWJsZT5cIl0sdHI6WzIsXCI8dGFibGU+PHRib2R5PlwiLFwiPC90Ym9keT48L3RhYmxlPlwiXSx0ZDpbMyxcIjx0YWJsZT48dGJvZHk+PHRyPlwiLFwiPC90cj48L3Rib2R5PjwvdGFibGU+XCJdLF9kZWZhdWx0OlswLFwiXCIsXCJcIl19O2Z1bmN0aW9uIHZlKGUsdCl7dmFyIG47cmV0dXJuIG49dm9pZCAwIT09ZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fFwiKlwiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fFwiKlwiKTpbXSx2b2lkIDA9PT10fHx0JiZrKGUsdCk/Yi5tZXJnZShbZV0sbik6bn1mdW5jdGlvbiB5ZShlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylHLnNldChlW25dLFwiZ2xvYmFsRXZhbFwiLCF0fHxHLmdldCh0W25dLFwiZ2xvYmFsRXZhbFwiKSl9Z2UudGJvZHk9Z2UudGZvb3Q9Z2UuY29sZ3JvdXA9Z2UuY2FwdGlvbj1nZS50aGVhZCxnZS50aD1nZS50ZCxkLm9wdGlvbnx8KGdlLm9wdGdyb3VwPWdlLm9wdGlvbj1bMSxcIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz5cIixcIjwvc2VsZWN0PlwiXSk7dmFyIG1lPS88fCYjP1xcdys7LztmdW5jdGlvbiB4ZShlLHQsbixyLGkpe2Zvcih2YXIgbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKFwib2JqZWN0XCI9PT14KG8pKWIubWVyZ2UocCxvLm5vZGVUeXBlP1tvXTpvKTtlbHNlIGlmKG1lLnRlc3Qobykpe2ZvcihhPWF8fGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSxzPShkZS5leGVjKG8pfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKSx1PWdlW3NdfHxnZS5fZGVmYXVsdCxhLmlubmVySFRNTD11WzFdK2IuaHRtbFByZWZpbHRlcihvKSt1WzJdLGM9dVswXTtjLS07KWE9YS5sYXN0Q2hpbGQ7Yi5tZXJnZShwLGEuY2hpbGROb2RlcyksKGE9Zi5maXJzdENoaWxkKS50ZXh0Q29udGVudD1cIlwifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2ZvcihmLnRleHRDb250ZW50PVwiXCIsZD0wO289cFtkKytdOylpZihyJiZiLmluQXJyYXkobyxyKT4tMSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPXJlKG8pLGE9dmUoZi5hcHBlbmRDaGlsZChvKSxcInNjcmlwdFwiKSxsJiZ5ZShhKSxuKWZvcihjPTA7bz1hW2MrK107KWhlLnRlc3Qoby50eXBlfHxcIlwiKSYmbi5wdXNoKG8pO3JldHVybiBmfXZhciBiZT0vXihbXi5dKikoPzpcXC4oLispfCkvO2Z1bmN0aW9uIHdlKCl7cmV0dXJuITB9ZnVuY3Rpb24gVGUoKXtyZXR1cm4hMX1mdW5jdGlvbiBDZShlLHQpe3JldHVybiBlPT09ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHYuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fSgpPT0oXCJmb2N1c1wiPT09dCl9ZnVuY3Rpb24gRWUoZSx0LG4scixpLG8pe3ZhciBhLHM7aWYoXCJvYmplY3RcIj09dHlwZW9mIHQpe2ZvcihzIGluXCJzdHJpbmdcIiE9dHlwZW9mIG4mJihyPXJ8fG4sbj12b2lkIDApLHQpRWUoZSxzLG4scix0W3NdLG8pO3JldHVybiBlfWlmKG51bGw9PXImJm51bGw9PWk/KGk9bixyPW49dm9pZCAwKTpudWxsPT1pJiYoXCJzdHJpbmdcIj09dHlwZW9mIG4/KGk9cixyPXZvaWQgMCk6KGk9cixyPW4sbj12b2lkIDApKSwhMT09PWkpaT1UZTtlbHNlIGlmKCFpKXJldHVybiBlO3JldHVybiAxPT09byYmKGE9aSwoaT1mdW5jdGlvbihlKXtyZXR1cm4gYigpLm9mZihlKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWIuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC5hZGQodGhpcyx0LGkscixuKX0pfWZ1bmN0aW9uIFNlKGUsdCxuKXtuPyhHLnNldChlLHQsITEpLGIuZXZlbnQuYWRkKGUsdCx7bmFtZXNwYWNlOiExLGhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIHIsbyxhPUcuZ2V0KHRoaXMsdCk7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1t0XSl7aWYoYS5sZW5ndGgpKGIuZXZlbnQuc3BlY2lhbFt0XXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGE9aS5jYWxsKGFyZ3VtZW50cyksRy5zZXQodGhpcyx0LGEpLHI9bih0aGlzLHQpLHRoaXNbdF0oKSxhIT09KG89Ry5nZXQodGhpcyx0KSl8fHI/Ry5zZXQodGhpcyx0LCExKTpvPXt9LGEhPT1vKXJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxvJiZvLnZhbHVlfWVsc2UgYS5sZW5ndGgmJihHLnNldCh0aGlzLHQse3ZhbHVlOmIuZXZlbnQudHJpZ2dlcihiLmV4dGVuZChhWzBdLGIuRXZlbnQucHJvdG90eXBlKSxhLnNsaWNlKDEpLHRoaXMpfSksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fSkpOnZvaWQgMD09PUcuZ2V0KGUsdCkmJmIuZXZlbnQuYWRkKGUsdCx3ZSl9Yi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1HLmdldChlKTtpZihYKGUpKWZvcihuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZiLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG5lLGkpLG4uZ3VpZHx8KG4uZ3VpZD1iLmd1aWQrKyksKHU9di5ldmVudHMpfHwodT12LmV2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpKSwoYT12LmhhbmRsZSl8fChhPXYuaGFuZGxlPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT1iJiZiLmV2ZW50LnRyaWdnZXJlZCE9PXQudHlwZT9iLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGUsYXJndW1lbnRzKTp2b2lkIDB9KSxsPSh0PSh0fHxcIlwiKS5tYXRjaChPKXx8W1wiXCJdKS5sZW5ndGg7bC0tOylkPWc9KHM9YmUuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksZCYmKGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxkPShpP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkLGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxjPWIuZXh0ZW5kKHt0eXBlOmQsb3JpZ1R5cGU6ZyxkYXRhOnIsaGFuZGxlcjpuLGd1aWQ6bi5ndWlkLHNlbGVjdG9yOmksbmVlZHNDb250ZXh0OmkmJmIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSxuYW1lc3BhY2U6aC5qb2luKFwiLlwiKX0sbyksKHA9dVtkXSl8fCgocD11W2RdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwoZSxyLGgsYSl8fGUuYWRkRXZlbnRMaXN0ZW5lciYmZS5hZGRFdmVudExpc3RlbmVyKGQsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbChlLGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSksaT9wLnNwbGljZShwLmRlbGVnYXRlQ291bnQrKywwLGMpOnAucHVzaChjKSxiLmV2ZW50Lmdsb2JhbFtkXT0hMCl9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1HLmhhc0RhdGEoZSkmJkcuZ2V0KGUpO2lmKHYmJih1PXYuZXZlbnRzKSl7Zm9yKGw9KHQ9KHR8fFwiXCIpLm1hdGNoKE8pfHxbXCJcIl0pLmxlbmd0aDtsLS07KWlmKGQ9Zz0ocz1iZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSxkKXtmb3IoZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LHA9dVtkPShyP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkXXx8W10scz1zWzJdJiZuZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIraC5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIiksYT1vPXAubGVuZ3RoO28tLTspYz1wW29dLCFpJiZnIT09Yy5vcmlnVHlwZXx8biYmbi5ndWlkIT09Yy5ndWlkfHxzJiYhcy50ZXN0KGMubmFtZXNwYWNlKXx8ciYmciE9PWMuc2VsZWN0b3ImJihcIioqXCIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx2LmhhbmRsZSl8fGIucmVtb3ZlRXZlbnQoZSxkLHYuaGFuZGxlKSxkZWxldGUgdVtkXSl9ZWxzZSBmb3IoZCBpbiB1KWIuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7Yi5pc0VtcHR5T2JqZWN0KHUpJiZHLnJlbW92ZShlLFwiaGFuZGxlIGV2ZW50c1wiKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx1PWIuZXZlbnQuZml4KGUpLGw9KEcuZ2V0KHRoaXMsXCJldmVudHNcIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW3UudHlwZV18fFtdLGM9Yi5ldmVudC5zcGVjaWFsW3UudHlwZV18fHt9O2ZvcihzWzBdPXUsdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspc1t0XT1hcmd1bWVudHNbdF07aWYodS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHUpKXtmb3IoYT1iLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyx1LGwpLHQ9MDsoaT1hW3QrK10pJiYhdS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IodS5jdXJyZW50VGFyZ2V0PWkuZWxlbSxuPTA7KG89aS5oYW5kbGVyc1tuKytdKSYmIXUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTspdS5ybmFtZXNwYWNlJiYhMSE9PW8ubmFtZXNwYWNlJiYhdS5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwodS5oYW5kbGVPYmo9byx1LmRhdGE9by5kYXRhLHZvaWQgMCE9PShyPSgoYi5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSxzKSkmJiExPT09KHUucmVzdWx0PXIpJiYodS5wcmV2ZW50RGVmYXVsdCgpLHUuc3RvcFByb3BhZ2F0aW9uKCkpKTtyZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc3BhdGNoLmNhbGwodGhpcyx1KSx1LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmIShcImNsaWNrXCI9PT1lLnR5cGUmJmUuYnV0dG9uPj0xKSlmb3IoO2whPT10aGlzO2w9bC5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1sLm5vZGVUeXBlJiYoXCJjbGlja1wiIT09ZS50eXBlfHwhMCE9PWwuZGlzYWJsZWQpKXtmb3Iobz1bXSxhPXt9LG49MDtuPHU7bisrKXZvaWQgMD09PWFbaT0ocj10W25dKS5zZWxlY3RvcitcIiBcIl0mJihhW2ldPXIubmVlZHNDb250ZXh0P2IoaSx0aGlzKS5pbmRleChsKT4tMTpiLmZpbmQoaSx0aGlzLG51bGwsW2xdKS5sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfXJldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pLHN9LGFkZFByb3A6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5FdmVudC5wcm90b3R5cGUsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmgodCk/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHQodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFtlXX0sc2V0OmZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnR9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVybiBlW2IuZXhwYW5kb10/ZTpuZXcgYi5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOntzZXR1cDpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZTZSh0LFwiY2xpY2tcIix3ZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmU2UodCxcImNsaWNrXCIpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmRy5nZXQodCxcImNsaWNrXCIpfHxrKHQsXCJhXCIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dm9pZCAwIT09ZS5yZXN1bHQmJmUub3JpZ2luYWxFdmVudCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX19LGIucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9LGIuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBiLkV2ZW50KSlyZXR1cm4gbmV3IGIuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1lLmRlZmF1bHRQcmV2ZW50ZWQmJiExPT09ZS5yZXR1cm5WYWx1ZT93ZTpUZSx0aGlzLnRhcmdldD1lLnRhcmdldCYmMz09PWUudGFyZ2V0Lm5vZGVUeXBlP2UudGFyZ2V0LnBhcmVudE5vZGU6ZS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWUuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9ZS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9ZSx0JiZiLmV4dGVuZCh0aGlzLHQpLHRoaXMudGltZVN0YW1wPWUmJmUudGltZVN0YW1wfHxEYXRlLm5vdygpLHRoaXNbYi5leHBhbmRvXT0hMH0sYi5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmIuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOlRlLGlzUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD13ZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sYi5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLGNoYXI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDohMH0sYi5ldmVudC5hZGRQcm9wKSxiLmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihlLHQpe2IuZXZlbnQuc3BlY2lhbFtlXT17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gU2UodGhpcyxlLENlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBTZSh0aGlzLGUpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiEwfSxkZWxlZ2F0ZVR5cGU6dH19KSxiLmVhY2goe21vdXNlZW50ZXI6XCJtb3VzZW92ZXJcIixtb3VzZWxlYXZlOlwibW91c2VvdXRcIixwb2ludGVyZW50ZXI6XCJwb2ludGVyb3ZlclwiLHBvaW50ZXJsZWF2ZTpcInBvaW50ZXJvdXRcIn0sZnVuY3Rpb24oZSx0KXtiLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTp0LGJpbmRUeXBlOnQsaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciBuLHI9ZS5yZWxhdGVkVGFyZ2V0LGk9ZS5oYW5kbGVPYmo7cmV0dXJuIHImJihyPT09dGhpc3x8Yi5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1pLm9yaWdUeXBlLG49aS5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSksYi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBFZSh0aGlzLGUsdCxuLHIpfSxvbmU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEVlKHRoaXMsZSx0LG4sciwxKX0sb2ZmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXJldHVybiByPWUuaGFuZGxlT2JqLGIoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlP3Iub3JpZ1R5cGUrXCIuXCIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpcztpZihcIm9iamVjdFwiPT10eXBlb2YgZSl7Zm9yKGkgaW4gZSl0aGlzLm9mZihpLHQsZVtpXSk7cmV0dXJuIHRoaXN9cmV0dXJuITEhPT10JiZcImZ1bmN0aW9uXCIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPVRlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pfX0pO3ZhciBrZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxBZT0vY2hlY2tlZFxccyooPzpbXj1dfD1cXHMqLmNoZWNrZWQuKS9pLE5lPS9eXFxzKjwhKD86XFxbQ0RBVEFcXFt8LS0pfCg/OlxcXVxcXXwtLSk+XFxzKiQvZztmdW5jdGlvbiBqZShlLHQpe3JldHVybiBrKGUsXCJ0YWJsZVwiKSYmaygxMSE9PXQubm9kZVR5cGU/dDp0LmZpcnN0Q2hpbGQsXCJ0clwiKSYmYihlKS5jaGlsZHJlbihcInRib2R5XCIpWzBdfHxlfWZ1bmN0aW9uIERlKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZShcInR5cGVcIikpK1wiL1wiK2UudHlwZSxlfWZ1bmN0aW9uIHFlKGUpe3JldHVyblwidHJ1ZS9cIj09PShlLnR5cGV8fFwiXCIpLnNsaWNlKDAsNSk/ZS50eXBlPWUudHlwZS5zbGljZSg1KTplLnJlbW92ZUF0dHJpYnV0ZShcInR5cGVcIiksZX1mdW5jdGlvbiBMZShlLHQpe3ZhciBuLHIsaSxvLGEscztpZigxPT09dC5ub2RlVHlwZSl7aWYoRy5oYXNEYXRhKGUpJiYocz1HLmdldChlKS5ldmVudHMpKWZvcihpIGluIEcucmVtb3ZlKHQsXCJoYW5kbGUgZXZlbnRzXCIpLHMpZm9yKG49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspYi5ldmVudC5hZGQodCxpLHNbaV1bbl0pO1kuaGFzRGF0YShlKSYmKG89WS5hY2Nlc3MoZSksYT1iLmV4dGVuZCh7fSxvKSxZLnNldCh0LGEpKX19ZnVuY3Rpb24gSGUoZSx0LG4scil7dD1vKHQpO3ZhciBpLGEscyx1LGwsYyxmPTAscD1lLmxlbmd0aCxnPXAtMSx2PXRbMF0seT1oKHYpO2lmKHl8fHA+MSYmXCJzdHJpbmdcIj09dHlwZW9mIHYmJiFkLmNoZWNrQ2xvbmUmJkFlLnRlc3QodikpcmV0dXJuIGUuZWFjaChmdW5jdGlvbihpKXt2YXIgbz1lLmVxKGkpO3kmJih0WzBdPXYuY2FsbCh0aGlzLGksby5odG1sKCkpKSxIZShvLHQsbixyKX0pO2lmKHAmJihhPShpPXhlKHQsZVswXS5vd25lckRvY3VtZW50LCExLGUscikpLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWEpLGF8fHIpKXtmb3IodT0ocz1iLm1hcCh2ZShpLFwic2NyaXB0XCIpLERlKSkubGVuZ3RoO2Y8cDtmKyspbD1pLGYhPT1nJiYobD1iLmNsb25lKGwsITAsITApLHUmJmIubWVyZ2Uocyx2ZShsLFwic2NyaXB0XCIpKSksbi5jYWxsKGVbZl0sbCxmKTtpZih1KWZvcihjPXNbcy5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxiLm1hcChzLHFlKSxmPTA7Zjx1O2YrKylsPXNbZl0saGUudGVzdChsLnR5cGV8fFwiXCIpJiYhRy5hY2Nlc3MobCxcImdsb2JhbEV2YWxcIikmJmIuY29udGFpbnMoYyxsKSYmKGwuc3JjJiZcIm1vZHVsZVwiIT09KGwudHlwZXx8XCJcIikudG9Mb3dlckNhc2UoKT9iLl9ldmFsVXJsJiYhbC5ub01vZHVsZSYmYi5fZXZhbFVybChsLnNyYyx7bm9uY2U6bC5ub25jZXx8bC5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKX0sYyk6bShsLnRleHRDb250ZW50LnJlcGxhY2UoTmUsXCJcIiksbCxjKSl9cmV0dXJuIGV9ZnVuY3Rpb24gT2UoZSx0LG4pe2Zvcih2YXIgcixpPXQ/Yi5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fGIuY2xlYW5EYXRhKHZlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZyZShyKSYmeWUodmUocixcInNjcmlwdFwiKSksci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKTtyZXR1cm4gZX1iLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sY2xvbmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGM9ZS5jbG9uZU5vZGUoITApLGY9cmUoZSk7aWYoIShkLm5vQ2xvbmVDaGVja2VkfHwxIT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlfHxiLmlzWE1MRG9jKGUpKSlmb3IoYT12ZShjKSxyPTAsaT0obz12ZShlKSkubGVuZ3RoO3I8aTtyKyspcz1vW3JdLHU9YVtyXSxsPXZvaWQgMCxcImlucHV0XCI9PT0obD11Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpJiZwZS50ZXN0KHMudHlwZSk/dS5jaGVja2VkPXMuY2hlY2tlZDpcImlucHV0XCIhPT1sJiZcInRleHRhcmVhXCIhPT1sfHwodS5kZWZhdWx0VmFsdWU9cy5kZWZhdWx0VmFsdWUpO2lmKHQpaWYobilmb3Iobz1vfHx2ZShlKSxhPWF8fHZlKGMpLHI9MCxpPW8ubGVuZ3RoO3I8aTtyKyspTGUob1tyXSxhW3JdKTtlbHNlIExlKGUsYyk7cmV0dXJuKGE9dmUoYyxcInNjcmlwdFwiKSkubGVuZ3RoPjAmJnllKGEsIWYmJnZlKGUsXCJzY3JpcHRcIikpLGN9LGNsZWFuRGF0YTpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLGk9Yi5ldmVudC5zcGVjaWFsLG89MDt2b2lkIDAhPT0obj1lW29dKTtvKyspaWYoWChuKSl7aWYodD1uW0cuZXhwYW5kb10pe2lmKHQuZXZlbnRzKWZvcihyIGluIHQuZXZlbnRzKWlbcl0/Yi5ldmVudC5yZW1vdmUobixyKTpiLnJlbW92ZUV2ZW50KG4scix0LmhhbmRsZSk7bltHLmV4cGFuZG9dPXZvaWQgMH1uW1kuZXhwYW5kb10mJihuW1kuZXhwYW5kb109dm9pZCAwKX19fSksYi5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gT2UodGhpcyxlLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3JldHVybiBPZSh0aGlzLGUpfSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/Yi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWUpfSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHxqZSh0aGlzLGUpLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0PWplKHRoaXMsZSk7dC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD0wO251bGwhPShlPXRoaXNbdF0pO3QrKykxPT09ZS5ub2RlVHlwZSYmKGIuY2xlYW5EYXRhKHZlKGUsITEpKSxlLnRleHRDb250ZW50PVwiXCIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWUmJmUsdD1udWxsPT10P2U6dCx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBiLmNsb25lKHRoaXMsZSx0KX0pfSxodG1sOmZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc1swXXx8e30sbj0wLHI9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09ZSYmMT09PXQubm9kZVR5cGUpcmV0dXJuIHQuaW5uZXJIVE1MO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlJiYha2UudGVzdChlKSYmIWdlWyhkZS5leGVjKGUpfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9Yi5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGIuY2xlYW5EYXRhKHZlKHQsITEpKSx0LmlubmVySFRNTD1lKTt0PTB9Y2F0Y2goZSl7fX10JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMucGFyZW50Tm9kZTtiLmluQXJyYXkodGhpcyxlKTwwJiYoYi5jbGVhbkRhdGEodmUodGhpcykpLG4mJm4ucmVwbGFjZUNoaWxkKHQsdGhpcykpfSxlKX19KSxiLmVhY2goe2FwcGVuZFRvOlwiYXBwZW5kXCIscHJlcGVuZFRvOlwicHJlcGVuZFwiLGluc2VydEJlZm9yZTpcImJlZm9yZVwiLGluc2VydEFmdGVyOlwiYWZ0ZXJcIixyZXBsYWNlQWxsOlwicmVwbGFjZVdpdGhcIn0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbixyPVtdLGk9YihlKSxvPWkubGVuZ3RoLTEscz0wO3M8PW87cysrKW49cz09PW8/dGhpczp0aGlzLmNsb25lKCEwKSxiKGlbc10pW3RdKG4pLGEuYXBwbHkocixuLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2socil9fSk7dmFyIFBlPW5ldyBSZWdFeHAoXCJeKFwiK1orXCIpKD8hcHgpW2EteiVdKyRcIixcImlcIiksUmU9ZnVuY3Rpb24odCl7dmFyIG49dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiBuJiZuLm9wZW5lcnx8KG49ZSksbi5nZXRDb21wdXRlZFN0eWxlKHQpfSxNZT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn0sSWU9bmV3IFJlZ0V4cCh0ZS5qb2luKFwifFwiKSxcImlcIik7ZnVuY3Rpb24gV2UoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxSZShlKSkmJihcIlwiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8cmUoZSl8fChhPWIuc3R5bGUoZSx0KSksIWQucGl4ZWxCb3hTdHlsZXMoKSYmUGUudGVzdChhKSYmSWUudGVzdCh0KSYmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zLndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAwIT09YT9hK1wiXCI6YX1mdW5jdGlvbiBGZShlLHQpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtpZighZSgpKXJldHVybih0aGlzLmdldD10KS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZGVsZXRlIHRoaXMuZ2V0fX19IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2lmKGMpe2wuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjBcIixjLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpzY3JvbGw7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo2MCU7dG9wOjElXCIsbmUuYXBwZW5kQ2hpbGQobCkuYXBwZW5kQ2hpbGQoYyk7dmFyIHQ9ZS5nZXRDb21wdXRlZFN0eWxlKGMpO3I9XCIxJVwiIT09dC50b3AsdT0xMj09PW4odC5tYXJnaW5MZWZ0KSxjLnN0eWxlLnJpZ2h0PVwiNjAlXCIsYT0zNj09PW4odC5yaWdodCksaT0zNj09PW4odC53aWR0aCksYy5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsbz0xMj09PW4oYy5vZmZzZXRXaWR0aC8zKSxuZS5yZW1vdmVDaGlsZChsKSxjPW51bGx9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlKSl9dmFyIHIsaSxvLGEscyx1LGw9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGM9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Muc3R5bGUmJihjLnN0eWxlLmJhY2tncm91bmRDbGlwPVwiY29udGVudC1ib3hcIixjLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJcIixkLmNsZWFyQ2xvbmVTdHlsZT1cImNvbnRlbnQtYm94XCI9PT1jLnN0eWxlLmJhY2tncm91bmRDbGlwLGIuZXh0ZW5kKGQse2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxpfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiB0KCksYX0scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiB0KCkscn0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSx1fSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxvfSxyZWxpYWJsZVRyRGltZW5zaW9uczpmdW5jdGlvbigpe3ZhciB0LG4scixpO3JldHVybiBudWxsPT1zJiYodD12LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKSxuPXYuY3JlYXRlRWxlbWVudChcInRyXCIpLHI9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHQuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlXCIsbi5zdHlsZS5jc3NUZXh0PVwiYm9yZGVyOjFweCBzb2xpZFwiLG4uc3R5bGUuaGVpZ2h0PVwiMXB4XCIsci5zdHlsZS5oZWlnaHQ9XCI5cHhcIixyLnN0eWxlLmRpc3BsYXk9XCJibG9ja1wiLG5lLmFwcGVuZENoaWxkKHQpLmFwcGVuZENoaWxkKG4pLmFwcGVuZENoaWxkKHIpLGk9ZS5nZXRDb21wdXRlZFN0eWxlKG4pLHM9cGFyc2VJbnQoaS5oZWlnaHQsMTApK3BhcnNlSW50KGkuYm9yZGVyVG9wV2lkdGgsMTApK3BhcnNlSW50KGkuYm9yZGVyQm90dG9tV2lkdGgsMTApPT09bi5vZmZzZXRIZWlnaHQsbmUucmVtb3ZlQ2hpbGQodCkpLHN9fSkpfSgpO3ZhciBCZT1bXCJXZWJraXRcIixcIk1velwiLFwibXNcIl0sJGU9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlLF9lPXt9O2Z1bmN0aW9uIHplKGUpe3ZhciB0PWIuY3NzUHJvcHNbZV18fF9lW2VdO3JldHVybiB0fHwoZSBpbiAkZT9lOl9lW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPUJlLmxlbmd0aDtuLS07KWlmKChlPUJlW25dK3QpaW4gJGUpcmV0dXJuIGV9KGUpfHxlKX12YXIgVWU9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLFhlPS9eLS0vLFZlPXtwb3NpdGlvbjpcImFic29sdXRlXCIsdmlzaWJpbGl0eTpcImhpZGRlblwiLGRpc3BsYXk6XCJibG9ja1wifSxHZT17bGV0dGVyU3BhY2luZzpcIjBcIixmb250V2VpZ2h0OlwiNDAwXCJ9O2Z1bmN0aW9uIFllKGUsdCxuKXt2YXIgcj1lZS5leGVjKHQpO3JldHVybiByP01hdGgubWF4KDAsclsyXS0obnx8MCkpKyhyWzNdfHxcInB4XCIpOnR9ZnVuY3Rpb24gUWUoZSx0LG4scixpLG8pe3ZhciBhPVwid2lkdGhcIj09PXQ/MTowLHM9MCx1PTA7aWYobj09PShyP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpKXJldHVybiAwO2Zvcig7YTw0O2ErPTIpXCJtYXJnaW5cIj09PW4mJih1Kz1iLmNzcyhlLG4rdGVbYV0sITAsaSkpLHI/KFwiY29udGVudFwiPT09biYmKHUtPWIuY3NzKGUsXCJwYWRkaW5nXCIrdGVbYV0sITAsaSkpLFwibWFyZ2luXCIhPT1uJiYodS09Yi5jc3MoZSxcImJvcmRlclwiK3RlW2FdK1wiV2lkdGhcIiwhMCxpKSkpOih1Kz1iLmNzcyhlLFwicGFkZGluZ1wiK3RlW2FdLCEwLGkpLFwicGFkZGluZ1wiIT09bj91Kz1iLmNzcyhlLFwiYm9yZGVyXCIrdGVbYV0rXCJXaWR0aFwiLCEwLGkpOnMrPWIuY3NzKGUsXCJib3JkZXJcIit0ZVthXStcIldpZHRoXCIsITAsaSkpO3JldHVybiFyJiZvPj0wJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVtcIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpXS1vLXUtcy0uNSkpfHwwKSx1fWZ1bmN0aW9uIEplKGUsdCxuKXt2YXIgcj1SZShlKSxpPSghZC5ib3hTaXppbmdSZWxpYWJsZSgpfHxuKSYmXCJib3JkZXItYm94XCI9PT1iLmNzcyhlLFwiYm94U2l6aW5nXCIsITEsciksbz1pLGE9V2UoZSx0LHIpLHM9XCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtpZihQZS50ZXN0KGEpKXtpZighbilyZXR1cm4gYTthPVwiYXV0b1wifXJldHVybighZC5ib3hTaXppbmdSZWxpYWJsZSgpJiZpfHwhZC5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZrKGUsXCJ0clwiKXx8XCJhdXRvXCI9PT1hfHwhcGFyc2VGbG9hdChhKSYmXCJpbmxpbmVcIj09PWIuY3NzKGUsXCJkaXNwbGF5XCIsITEscikpJiZlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYoaT1cImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxyKSwobz1zIGluIGUpJiYoYT1lW3NdKSksKGE9cGFyc2VGbG9hdChhKXx8MCkrUWUoZSx0LG58fChpP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpLG8scixhKStcInB4XCJ9ZnVuY3Rpb24gS2UoZSx0LG4scixpKXtyZXR1cm4gbmV3IEtlLnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9Yi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1XZShlLFwib3BhY2l0eVwiKTtyZXR1cm5cIlwiPT09bj9cIjFcIjpufX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7fSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBpLG8sYSxzPVUodCksdT1YZS50ZXN0KHQpLGw9ZS5zdHlsZTtpZih1fHwodD16ZShzKSksYT1iLmNzc0hvb2tzW3RdfHxiLmNzc0hvb2tzW3NdLHZvaWQgMD09PW4pcmV0dXJuIGEmJlwiZ2V0XCJpbiBhJiZ2b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07XCJzdHJpbmdcIj09PShvPXR5cGVvZiBuKSYmKGk9ZWUuZXhlYyhuKSkmJmlbMV0mJihuPWFlKGUsdCxpKSxvPVwibnVtYmVyXCIpLG51bGwhPW4mJm49PW4mJihcIm51bWJlclwiIT09b3x8dXx8KG4rPWkmJmlbM118fChiLmNzc051bWJlcltzXT9cIlwiOlwicHhcIikpLGQuY2xlYXJDbG9uZVN0eWxlfHxcIlwiIT09bnx8MCE9PXQuaW5kZXhPZihcImJhY2tncm91bmRcIil8fChsW3RdPVwiaW5oZXJpdFwiKSxhJiZcInNldFwiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzPVUodCk7cmV0dXJuIFhlLnRlc3QodCl8fCh0PXplKHMpKSwoYT1iLmNzc0hvb2tzW3RdfHxiLmNzc0hvb2tzW3NdKSYmXCJnZXRcImluIGEmJihpPWEuZ2V0KGUsITAsbikpLHZvaWQgMD09PWkmJihpPVdlKGUsdCxyKSksXCJub3JtYWxcIj09PWkmJnQgaW4gR2UmJihpPUdlW3RdKSxcIlwiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEwPT09bnx8aXNGaW5pdGUobyk/b3x8MDppKTppfX0pLGIuZWFjaChbXCJoZWlnaHRcIixcIndpZHRoXCJdLGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1t0XT17Z2V0OmZ1bmN0aW9uKGUsbixyKXtpZihuKXJldHVybiFVZS50ZXN0KGIuY3NzKGUsXCJkaXNwbGF5XCIpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD9KZShlLHQscik6TWUoZSxWZSxmdW5jdGlvbigpe3JldHVybiBKZShlLHQscil9KX0sc2V0OmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvPVJlKGUpLGE9IWQuc2Nyb2xsYm94U2l6ZSgpJiZcImFic29sdXRlXCI9PT1vLnBvc2l0aW9uLHM9KGF8fHIpJiZcImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxvKSx1PXI/UWUoZSx0LHIscyxvKTowO3JldHVybiBzJiZhJiYodS09TWF0aC5jZWlsKGVbXCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tcGFyc2VGbG9hdChvW3RdKS1RZShlLHQsXCJib3JkZXJcIiwhMSxvKS0uNSkpLHUmJihpPWVlLmV4ZWMobikpJiZcInB4XCIhPT0oaVszXXx8XCJweFwiKSYmKGUuc3R5bGVbdF09bixuPWIuY3NzKGUsdCkpLFllKDAsbix1KX19fSksYi5jc3NIb29rcy5tYXJnaW5MZWZ0PUZlKGQucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGUsdCl7aWYodClyZXR1cm4ocGFyc2VGbG9hdChXZShlLFwibWFyZ2luTGVmdFwiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1NZShlLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKStcInB4XCJ9KSxiLmVhY2goe21hcmdpbjpcIlwiLHBhZGRpbmc6XCJcIixib3JkZXI6XCJXaWR0aFwifSxmdW5jdGlvbihlLHQpe2IuY3NzSG9va3NbZSt0XT17ZXhwYW5kOmZ1bmN0aW9uKG4pe2Zvcih2YXIgcj0wLGk9e30sbz1cInN0cmluZ1wiPT10eXBlb2Ygbj9uLnNwbGl0KFwiIFwiKTpbbl07cjw0O3IrKylpW2UrdGVbcl0rdF09b1tyXXx8b1tyLTJdfHxvWzBdO3JldHVybiBpfX0sXCJtYXJnaW5cIiE9PWUmJihiLmNzc0hvb2tzW2UrdF0uc2V0PVllKX0pLGIuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPVJlKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPWIuY3NzKGUsdFthXSwhMSxyKTtyZXR1cm4gb31yZXR1cm4gdm9pZCAwIT09bj9iLnN0eWxlKGUsdCxuKTpiLmNzcyhlLHQpfSxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX19KSxiLlR3ZWVuPUtlLEtlLnByb3RvdHlwZT17Y29uc3RydWN0b3I6S2UsaW5pdDpmdW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wPW4sdGhpcy5lYXNpbmc9aXx8Yi5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fChiLmNzc051bWJlcltuXT9cIlwiOlwicHhcIil9LGN1cjpmdW5jdGlvbigpe3ZhciBlPUtlLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTpLZS5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oZSl7dmFyIHQsbj1LZS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPXQ9Yi5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOktlLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LEtlLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1LZS5wcm90b3R5cGUsS2UucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtW2UucHJvcF06KHQ9Yi5jc3MoZS5lbGVtLGUucHJvcCxcIlwiKSkmJlwiYXV0b1wiIT09dD90OjB9LHNldDpmdW5jdGlvbihlKXtiLmZ4LnN0ZXBbZS5wcm9wXT9iLmZ4LnN0ZXBbZS5wcm9wXShlKToxIT09ZS5lbGVtLm5vZGVUeXBlfHwhYi5jc3NIb29rc1tlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbemUoZS5wcm9wKV0/ZS5lbGVtW2UucHJvcF09ZS5ub3c6Yi5zdHlsZShlLmVsZW0sZS5wcm9wLGUubm93K2UudW5pdCl9fX0sS2UucHJvcEhvb2tzLnNjcm9sbFRvcD1LZS5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGUpe2UuZWxlbS5ub2RlVHlwZSYmZS5lbGVtLnBhcmVudE5vZGUmJihlLmVsZW1bZS5wcm9wXT1lLm5vdyl9fSxiLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9LF9kZWZhdWx0Olwic3dpbmdcIn0sYi5meD1LZS5wcm90b3R5cGUuaW5pdCxiLmZ4LnN0ZXA9e307dmFyIFplLGV0LHR0PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxudD0vcXVldWVIb29rcyQvO2Z1bmN0aW9uIHJ0KCl7ZXQmJighMT09PXYuaGlkZGVuJiZlLnJlcXVlc3RBbmltYXRpb25GcmFtZT9lLnJlcXVlc3RBbmltYXRpb25GcmFtZShydCk6ZS5zZXRUaW1lb3V0KHJ0LGIuZnguaW50ZXJ2YWwpLGIuZngudGljaygpKX1mdW5jdGlvbiBpdCgpe3JldHVybiBlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtaZT12b2lkIDB9KSxaZT1EYXRlLm5vdygpfWZ1bmN0aW9uIG90KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3IodD10PzE6MDtyPDQ7cis9Mi10KWlbXCJtYXJnaW5cIisobj10ZVtyXSldPWlbXCJwYWRkaW5nXCIrbl09ZTtyZXR1cm4gdCYmKGkub3BhY2l0eT1pLndpZHRoPWUpLGl9ZnVuY3Rpb24gYXQoZSx0LG4pe2Zvcih2YXIgcixpPShzdC50d2VlbmVyc1t0XXx8W10pLmNvbmNhdChzdC50d2VlbmVyc1tcIipcIl0pLG89MCxhPWkubGVuZ3RoO288YTtvKyspaWYocj1pW29dLmNhbGwobix0LGUpKXJldHVybiByfWZ1bmN0aW9uIHN0KGUsdCxuKXt2YXIgcixpLG89MCxhPXN0LnByZWZpbHRlcnMubGVuZ3RoLHM9Yi5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoaSlyZXR1cm4hMTtmb3IodmFyIHQ9WmV8fGl0KCksbj1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tdCkscj0xLShuL2wuZHVyYXRpb258fDApLG89MCxhPWwudHdlZW5zLmxlbmd0aDtvPGE7bysrKWwudHdlZW5zW29dLnJ1bihyKTtyZXR1cm4gcy5ub3RpZnlXaXRoKGUsW2wscixuXSkscjwxJiZhP246KGF8fHMubm90aWZ5V2l0aChlLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgoZSxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06ZSxwcm9wczpiLmV4dGVuZCh7fSx0KSxvcHRzOmIuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpiLmVhc2luZy5fZGVmYXVsdH0sbiksb3JpZ2luYWxQcm9wZXJ0aWVzOnQsb3JpZ2luYWxPcHRpb25zOm4sc3RhcnRUaW1lOlplfHxpdCgpLGR1cmF0aW9uOm4uZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIHI9Yi5Ud2VlbihlLGwub3B0cyx0LG4sbC5vcHRzLnNwZWNpYWxFYXNpbmdbdF18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKHIpLHJ9LHN0b3A6ZnVuY3Rpb24odCl7dmFyIG49MCxyPXQ/bC50d2VlbnMubGVuZ3RoOjA7aWYoaSlyZXR1cm4gdGhpcztmb3IoaT0hMDtuPHI7bisrKWwudHdlZW5zW25dLnJ1bigxKTtyZXR1cm4gdD8ocy5ub3RpZnlXaXRoKGUsW2wsMSwwXSkscy5yZXNvbHZlV2l0aChlLFtsLHRdKSk6cy5yZWplY3RXaXRoKGUsW2wsdF0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcighZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYoaT10W3I9VShuKV0sbz1lW25dLEFycmF5LmlzQXJyYXkobykmJihpPW9bMV0sbz1lW25dPW9bMF0pLG4hPT1yJiYoZVtyXT1vLGRlbGV0ZSBlW25dKSwoYT1iLmNzc0hvb2tzW3JdKSYmXCJleHBhbmRcImluIGEpZm9yKG4gaW4gbz1hLmV4cGFuZChvKSxkZWxldGUgZVtyXSxvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpO2Vsc2UgdFtyXT1pfShjLGwub3B0cy5zcGVjaWFsRWFzaW5nKTtvPGE7bysrKWlmKHI9c3QucHJlZmlsdGVyc1tvXS5jYWxsKGwsZSxjLGwub3B0cykpcmV0dXJuIGgoci5zdG9wKSYmKGIuX3F1ZXVlSG9va3MobC5lbGVtLGwub3B0cy5xdWV1ZSkuc3RvcD1yLnN0b3AuYmluZChyKSkscjtyZXR1cm4gYi5tYXAoYyxhdCxsKSxoKGwub3B0cy5zdGFydCkmJmwub3B0cy5zdGFydC5jYWxsKGUsbCksbC5wcm9ncmVzcyhsLm9wdHMucHJvZ3Jlc3MpLmRvbmUobC5vcHRzLmRvbmUsbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cyksYi5meC50aW1lcihiLmV4dGVuZCh1LHtlbGVtOmUsYW5pbTpsLHF1ZXVlOmwub3B0cy5xdWV1ZX0pKSxsfWIuQW5pbWF0aW9uPWIuZXh0ZW5kKHN0LHt0d2VlbmVyczp7XCIqXCI6W2Z1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jcmVhdGVUd2VlbihlLHQpO3JldHVybiBhZShuLmVsZW0sZSxlZS5leGVjKHQpLG4pLG59XX0sdHdlZW5lcjpmdW5jdGlvbihlLHQpe2goZSk/KHQ9ZSxlPVtcIipcIl0pOmU9ZS5tYXRjaChPKTtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluPWVbcl0sc3QudHdlZW5lcnNbbl09c3QudHdlZW5lcnNbbl18fFtdLHN0LnR3ZWVuZXJzW25dLnVuc2hpZnQodCl9LHByZWZpbHRlcnM6W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjLGY9XCJ3aWR0aFwiaW4gdHx8XCJoZWlnaHRcImluIHQscD10aGlzLGQ9e30saD1lLnN0eWxlLGc9ZS5ub2RlVHlwZSYmb2UoZSksdj1HLmdldChlLFwiZnhzaG93XCIpO2ZvcihyIGluIG4ucXVldWV8fChudWxsPT0oYT1iLl9xdWV1ZUhvb2tzKGUsXCJmeFwiKSkudW5xdWV1ZWQmJihhLnVucXVldWVkPTAscz1hLmVtcHR5LmZpcmUsYS5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7YS51bnF1ZXVlZHx8cygpfSksYS51bnF1ZXVlZCsrLHAuYWx3YXlzKGZ1bmN0aW9uKCl7cC5hbHdheXMoZnVuY3Rpb24oKXthLnVucXVldWVkLS0sYi5xdWV1ZShlLFwiZnhcIikubGVuZ3RofHxhLmVtcHR5LmZpcmUoKX0pfSkpLHQpaWYoaT10W3JdLHR0LnRlc3QoaSkpe2lmKGRlbGV0ZSB0W3JdLG89b3x8XCJ0b2dnbGVcIj09PWksaT09PShnP1wiaGlkZVwiOlwic2hvd1wiKSl7aWYoXCJzaG93XCIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb250aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Yi5zdHlsZShlLHIpfWlmKCh1PSFiLmlzRW1wdHlPYmplY3QodCkpfHwhYi5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvdz1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYmKGw9Ry5nZXQoZSxcImRpc3BsYXlcIikpLFwibm9uZVwiPT09KGM9Yi5jc3MoZSxcImRpc3BsYXlcIikpJiYobD9jPWw6KGxlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz1iLmNzcyhlLFwiZGlzcGxheVwiKSxsZShbZV0pKSksKFwiaW5saW5lXCI9PT1jfHxcImlubGluZS1ibG9ja1wiPT09YyYmbnVsbCE9bCkmJlwibm9uZVwiPT09Yi5jc3MoZSxcImZsb2F0XCIpJiYodXx8KHAuZG9uZShmdW5jdGlvbigpe2guZGlzcGxheT1sfSksbnVsbD09bCYmKGM9aC5kaXNwbGF5LGw9XCJub25lXCI9PT1jP1wiXCI6YykpLGguZGlzcGxheT1cImlubGluZS1ibG9ja1wiKSksbi5vdmVyZmxvdyYmKGgub3ZlcmZsb3c9XCJoaWRkZW5cIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSksdT0hMSxkKXV8fCh2P1wiaGlkZGVuXCJpbiB2JiYoZz12LmhpZGRlbik6dj1HLmFjY2VzcyhlLFwiZnhzaG93XCIse2Rpc3BsYXk6bH0pLG8mJih2LmhpZGRlbj0hZyksZyYmbGUoW2VdLCEwKSxwLmRvbmUoZnVuY3Rpb24oKXtmb3IociBpbiBnfHxsZShbZV0pLEcucmVtb3ZlKGUsXCJmeHNob3dcIiksZCliLnN0eWxlKGUscixkW3JdKX0pKSx1PWF0KGc/dltyXTowLHIscCksciBpbiB2fHwodltyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCkpfV0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9zdC5wcmVmaWx0ZXJzLnVuc2hpZnQoZSk6c3QucHJlZmlsdGVycy5wdXNoKGUpfX0pLGIuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJlwib2JqZWN0XCI9PXR5cGVvZiBlP2IuZXh0ZW5kKHt9LGUpOntjb21wbGV0ZTpufHwhbiYmdHx8aChlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaCh0KSYmdH07cmV0dXJuIGIuZngub2ZmP3IuZHVyYXRpb249MDpcIm51bWJlclwiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gYi5meC5zcGVlZHM/ci5kdXJhdGlvbj1iLmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTpyLmR1cmF0aW9uPWIuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPVwiZnhcIiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRlPWZ1bmN0aW9uKCl7aChyLm9sZCkmJnIub2xkLmNhbGwodGhpcyksci5xdWV1ZSYmYi5kZXF1ZXVlKHRoaXMsci5xdWV1ZSl9LHJ9LGIuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKG9lKS5jc3MoXCJvcGFjaXR5XCIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6dH0sZSxuLHIpfSxhbmltYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPWIuaXNFbXB0eU9iamVjdChlKSxvPWIuc3BlZWQodCxuLHIpLGE9ZnVuY3Rpb24oKXt2YXIgdD1zdCh0aGlzLGIuZXh0ZW5kKHt9LGUpLG8pOyhpfHxHLmdldCh0aGlzLFwiZmluaXNoXCIpKSYmdC5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8ITE9PT1vLnF1ZXVlP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQobil9O3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlJiYobj10LHQ9ZSxlPXZvaWQgMCksdCYmdGhpcy5xdWV1ZShlfHxcImZ4XCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PSEwLGk9bnVsbCE9ZSYmZStcInF1ZXVlSG9va3NcIixvPWIudGltZXJzLGE9Ry5nZXQodGhpcyk7aWYoaSlhW2ldJiZhW2ldLnN0b3AmJnIoYVtpXSk7ZWxzZSBmb3IoaSBpbiBhKWFbaV0mJmFbaV0uc3RvcCYmbnQudGVzdChpKSYmcihhW2ldKTtmb3IoaT1vLmxlbmd0aDtpLS07KW9baV0uZWxlbSE9PXRoaXN8fG51bGwhPWUmJm9baV0ucXVldWUhPT1lfHwob1tpXS5hbmltLnN0b3AobiksdD0hMSxvLnNwbGljZShpLDEpKTshdCYmbnx8Yi5kZXF1ZXVlKHRoaXMsZSl9KX0sZmluaXNoOmZ1bmN0aW9uKGUpe3JldHVybiExIT09ZSYmKGU9ZXx8XCJmeFwiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxuPUcuZ2V0KHRoaXMpLHI9bltlK1wicXVldWVcIl0saT1uW2UrXCJxdWV1ZUhvb2tzXCJdLG89Yi50aW1lcnMsYT1yP3IubGVuZ3RoOjA7Zm9yKG4uZmluaXNoPSEwLGIucXVldWUodGhpcyxlLFtdKSxpJiZpLnN0b3AmJmkuc3RvcC5jYWxsKHRoaXMsITApLHQ9by5sZW5ndGg7dC0tOylvW3RdLmVsZW09PT10aGlzJiZvW3RdLnF1ZXVlPT09ZSYmKG9bdF0uYW5pbS5zdG9wKCEwKSxvLnNwbGljZSh0LDEpKTtmb3IodD0wO3Q8YTt0Kyspclt0XSYmclt0XS5maW5pc2gmJnJbdF0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIG4uZmluaXNofSl9fSksYi5lYWNoKFtcInRvZ2dsZVwiLFwic2hvd1wiLFwiaGlkZVwiXSxmdW5jdGlvbihlLHQpe3ZhciBuPWIuZm5bdF07Yi5mblt0XT1mdW5jdGlvbihlLHIsaSl7cmV0dXJuIG51bGw9PWV8fFwiYm9vbGVhblwiPT10eXBlb2YgZT9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUob3QodCwhMCksZSxyLGkpfX0pLGIuZWFjaCh7c2xpZGVEb3duOm90KFwic2hvd1wiKSxzbGlkZVVwOm90KFwiaGlkZVwiKSxzbGlkZVRvZ2dsZTpvdChcInRvZ2dsZVwiKSxmYWRlSW46e29wYWNpdHk6XCJzaG93XCJ9LGZhZGVPdXQ6e29wYWNpdHk6XCJoaWRlXCJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6XCJ0b2dnbGVcIn19LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihlLG4scil7cmV0dXJuIHRoaXMuYW5pbWF0ZSh0LGUsbixyKX19KSxiLnRpbWVycz1bXSxiLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsbj1iLnRpbWVycztmb3IoWmU9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxiLmZ4LnN0b3AoKSxaZT12b2lkIDB9LGIuZngudGltZXI9ZnVuY3Rpb24oZSl7Yi50aW1lcnMucHVzaChlKSxiLmZ4LnN0YXJ0KCl9LGIuZnguaW50ZXJ2YWw9MTMsYi5meC5zdGFydD1mdW5jdGlvbigpe2V0fHwoZXQ9ITAscnQoKSl9LGIuZnguc3RvcD1mdW5jdGlvbigpe2V0PW51bGx9LGIuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LGIuZm4uZGVsYXk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD1iLmZ4JiZiLmZ4LnNwZWVkc1t0XXx8dCxuPW58fFwiZnhcIix0aGlzLnF1ZXVlKG4sZnVuY3Rpb24obixyKXt2YXIgaT1lLnNldFRpbWVvdXQobix0KTtyLnN0b3A9ZnVuY3Rpb24oKXtlLmNsZWFyVGltZW91dChpKX19KX0sZnVuY3Rpb24oKXt2YXIgZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSx0PXYuY3JlYXRlRWxlbWVudChcInNlbGVjdFwiKS5hcHBlbmRDaGlsZCh2LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIikpO2UudHlwZT1cImNoZWNrYm94XCIsZC5jaGVja09uPVwiXCIhPT1lLnZhbHVlLGQub3B0U2VsZWN0ZWQ9dC5zZWxlY3RlZCwoZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkudmFsdWU9XCJ0XCIsZS50eXBlPVwicmFkaW9cIixkLnJhZGlvVmFsdWU9XCJ0XCI9PT1lLnZhbHVlfSgpO3ZhciB1dCxsdD1iLmV4cHIuYXR0ckhhbmRsZTtiLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsYi5hdHRyLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLnJlbW92ZUF0dHIodGhpcyxlKX0pfX0pLGIuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiB2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9iLnByb3AoZSx0LG4pOigxPT09byYmYi5pc1hNTERvYyhlKXx8KGk9Yi5hdHRySG9va3NbdC50b0xvd2VyQ2FzZSgpXXx8KGIuZXhwci5tYXRjaC5ib29sLnRlc3QodCk/dXQ6dm9pZCAwKSksdm9pZCAwIT09bj9udWxsPT09bj92b2lkIGIucmVtb3ZlQXR0cihlLHQpOmkmJlwic2V0XCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6KGUuc2V0QXR0cmlidXRlKHQsbitcIlwiKSxuKTppJiZcImdldFwiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6bnVsbD09KHI9Yi5maW5kLmF0dHIoZSx0KSk/dm9pZCAwOnIpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKCFkLnJhZGlvVmFsdWUmJlwicmFkaW9cIj09PXQmJmsoZSxcImlucHV0XCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZShcInR5cGVcIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dCYmdC5tYXRjaChPKTtpZihpJiYxPT09ZS5ub2RlVHlwZSlmb3IoO249aVtyKytdOyllLnJlbW92ZUF0dHJpYnV0ZShuKX19KSx1dD17c2V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hMT09PXQ/Yi5yZW1vdmVBdHRyKGUsbik6ZS5zZXRBdHRyaWJ1dGUobixuKSxufX0sYi5lYWNoKGIuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXFx3Ky9nKSxmdW5jdGlvbihlLHQpe3ZhciBuPWx0W3RdfHxiLmZpbmQuYXR0cjtsdFt0XT1mdW5jdGlvbihlLHQscil7dmFyIGksbyxhPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gcnx8KG89bHRbYV0sbHRbYV09aSxpPW51bGwhPW4oZSx0LHIpP2E6bnVsbCxsdFthXT1vKSxpfX0pO3ZhciBjdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGZ0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiBwdChlKXtyZXR1cm4oZS5tYXRjaChPKXx8W10pLmpvaW4oXCIgXCIpfWZ1bmN0aW9uIGR0KGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSYmZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn1mdW5jdGlvbiBodChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOlwic3RyaW5nXCI9PXR5cGVvZiBlJiZlLm1hdGNoKE8pfHxbXX1iLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsYi5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tiLnByb3BGaXhbZV18fGVdfSl9fSksYi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIDE9PT1vJiZiLmlzWE1MRG9jKGUpfHwodD1iLnByb3BGaXhbdF18fHQsaT1iLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9pJiZcInNldFwiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiZcImdldFwiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6ZVt0XX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWIuZmluZC5hdHRyKGUsXCJ0YWJpbmRleFwiKTtyZXR1cm4gdD9wYXJzZUludCh0LDEwKTpjdC50ZXN0KGUubm9kZU5hbWUpfHxmdC50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDotMX19fSxwcm9wRml4Ontmb3I6XCJodG1sRm9yXCIsY2xhc3M6XCJjbGFzc05hbWVcIn19KSxkLm9wdFNlbGVjdGVkfHwoYi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTt0JiYodC5zZWxlY3RlZEluZGV4LHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLGIuZWFjaChbXCJ0YWJJbmRleFwiLFwicmVhZE9ubHlcIixcIm1heExlbmd0aFwiLFwiY2VsbFNwYWNpbmdcIixcImNlbGxQYWRkaW5nXCIsXCJyb3dTcGFuXCIsXCJjb2xTcGFuXCIsXCJ1c2VNYXBcIixcImZyYW1lQm9yZGVyXCIsXCJjb250ZW50RWRpdGFibGVcIl0sZnVuY3Rpb24oKXtiLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSksYi5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHU9MDtpZihoKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS5hZGRDbGFzcyhlLmNhbGwodGhpcyx0LGR0KHRoaXMpKSl9KTtpZigodD1odChlKSkubGVuZ3RoKWZvcig7bj10aGlzW3UrK107KWlmKGk9ZHQobikscj0xPT09bi5ub2RlVHlwZSYmXCIgXCIrcHQoaSkrXCIgXCIpe2ZvcihhPTA7bz10W2ErK107KXIuaW5kZXhPZihcIiBcIitvK1wiIFwiKTwwJiYocis9bytcIiBcIik7aSE9PShzPXB0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1PTA7aWYoaChlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2IodGhpcykucmVtb3ZlQ2xhc3MoZS5jYWxsKHRoaXMsdCxkdCh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cihcImNsYXNzXCIsXCJcIik7aWYoKHQ9aHQoZSkpLmxlbmd0aClmb3IoO249dGhpc1t1KytdOylpZihpPWR0KG4pLHI9MT09PW4ubm9kZVR5cGUmJlwiIFwiK3B0KGkpK1wiIFwiKXtmb3IoYT0wO289dFthKytdOylmb3IoO3IuaW5kZXhPZihcIiBcIitvK1wiIFwiKT4tMTspcj1yLnJlcGxhY2UoXCIgXCIrbytcIiBcIixcIiBcIik7aSE9PShzPXB0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlLHI9XCJzdHJpbmdcIj09PW58fEFycmF5LmlzQXJyYXkoZSk7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiB0JiZyP3Q/dGhpcy5hZGRDbGFzcyhlKTp0aGlzLnJlbW92ZUNsYXNzKGUpOmgoZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKG4pe2IodGhpcykudG9nZ2xlQ2xhc3MoZS5jYWxsKHRoaXMsbixkdCh0aGlzKSx0KSx0KX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0LGksbyxhO2lmKHIpZm9yKGk9MCxvPWIodGhpcyksYT1odChlKTt0PWFbaSsrXTspby5oYXNDbGFzcyh0KT9vLnJlbW92ZUNsYXNzKHQpOm8uYWRkQ2xhc3ModCk7ZWxzZSB2b2lkIDAhPT1lJiZcImJvb2xlYW5cIiE9PW58fCgodD1kdCh0aGlzKSkmJkcuc2V0KHRoaXMsXCJfX2NsYXNzTmFtZV9fXCIsdCksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIix0fHwhMT09PWU/XCJcIjpHLmdldCh0aGlzLFwiX19jbGFzc05hbWVfX1wiKXx8XCJcIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj0wO2Zvcih0PVwiIFwiK2UrXCIgXCI7bj10aGlzW3IrK107KWlmKDE9PT1uLm5vZGVUeXBlJiYoXCIgXCIrcHQoZHQobikpK1wiIFwiKS5pbmRleE9mKHQpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBndD0vXFxyL2c7Yi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaT10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWgoZSksdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBpOzE9PT10aGlzLm5vZGVUeXBlJiYobnVsbD09KGk9cj9lLmNhbGwodGhpcyxuLGIodGhpcykudmFsKCkpOmUpP2k9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgaT9pKz1cIlwiOkFycmF5LmlzQXJyYXkoaSkmJihpPWIubWFwKGksZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/XCJcIjplK1wiXCJ9KSksKHQ9Yi52YWxIb29rc1t0aGlzLnR5cGVdfHxiLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiZcInNldFwiaW4gdCYmdm9pZCAwIT09dC5zZXQodGhpcyxpLFwidmFsdWVcIil8fCh0aGlzLnZhbHVlPWkpKX0pKTppPyh0PWIudmFsSG9va3NbaS50eXBlXXx8Yi52YWxIb29rc1tpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmXCJnZXRcImluIHQmJnZvaWQgMCE9PShuPXQuZ2V0KGksXCJ2YWx1ZVwiKSk/bjpcInN0cmluZ1wiPT10eXBlb2Yobj1pLnZhbHVlKT9uLnJlcGxhY2UoZ3QsXCJcIik6bnVsbD09bj9cIlwiOm46dm9pZCAwfX0pLGIuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5maW5kLmF0dHIoZSxcInZhbHVlXCIpO3JldHVybiBudWxsIT10P3Q6cHQoYi50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPVwic2VsZWN0LW9uZVwiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKzE6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9PT1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhayhuLnBhcmVudE5vZGUsXCJvcHRncm91cFwiKSkpe2lmKHQ9YihuKS52YWwoKSxhKXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gc30sc2V0OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuLHIsaT1lLm9wdGlvbnMsbz1iLm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO2EtLTspKChyPWlbYV0pLnNlbGVjdGVkPWIuaW5BcnJheShiLnZhbEhvb2tzLm9wdGlvbi5nZXQociksbyk+LTEpJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX19KSxiLmVhY2goW1wicmFkaW9cIixcImNoZWNrYm94XCJdLGZ1bmN0aW9uKCl7Yi52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGUsdCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWIuaW5BcnJheShiKGUpLnZhbCgpLHQpPi0xfX0sZC5jaGVja09ufHwoYi52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpP1wib25cIjplLnZhbHVlfSl9KSxkLmZvY3VzaW49XCJvbmZvY3VzaW5cImluIGU7dmFyIHZ0PS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyx5dD1mdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpfTtiLmV4dGVuZChiLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKHQsbixyLGkpe3ZhciBvLGEscyx1LGwsZixwLGQseT1bcnx8dl0sbT1jLmNhbGwodCxcInR5cGVcIik/dC50eXBlOnQseD1jLmNhbGwodCxcIm5hbWVzcGFjZVwiKT90Lm5hbWVzcGFjZS5zcGxpdChcIi5cIik6W107aWYoYT1kPXM9cj1yfHx2LDMhPT1yLm5vZGVUeXBlJiY4IT09ci5ub2RlVHlwZSYmIXZ0LnRlc3QobStiLmV2ZW50LnRyaWdnZXJlZCkmJihtLmluZGV4T2YoXCIuXCIpPi0xJiYoeD1tLnNwbGl0KFwiLlwiKSxtPXguc2hpZnQoKSx4LnNvcnQoKSksbD1tLmluZGV4T2YoXCI6XCIpPDAmJlwib25cIittLCh0PXRbYi5leHBhbmRvXT90Om5ldyBiLkV2ZW50KG0sXCJvYmplY3RcIj09dHlwZW9mIHQmJnQpKS5pc1RyaWdnZXI9aT8yOjMsdC5uYW1lc3BhY2U9eC5qb2luKFwiLlwiKSx0LnJuYW1lc3BhY2U9dC5uYW1lc3BhY2U/bmV3IFJlZ0V4cChcIihefFxcXFwuKVwiK3guam9pbihcIlxcXFwuKD86LipcXFxcLnwpXCIpK1wiKFxcXFwufCQpXCIpOm51bGwsdC5yZXN1bHQ9dm9pZCAwLHQudGFyZ2V0fHwodC50YXJnZXQ9ciksbj1udWxsPT1uP1t0XTpiLm1ha2VBcnJheShuLFt0XSkscD1iLmV2ZW50LnNwZWNpYWxbbV18fHt9LGl8fCFwLnRyaWdnZXJ8fCExIT09cC50cmlnZ2VyLmFwcGx5KHIsbikpKXtpZighaSYmIXAubm9CdWJibGUmJiFnKHIpKXtmb3IodT1wLmRlbGVnYXRlVHlwZXx8bSx2dC50ZXN0KHUrbSl8fChhPWEucGFyZW50Tm9kZSk7YTthPWEucGFyZW50Tm9kZSl5LnB1c2goYSkscz1hO3M9PT0oci5vd25lckRvY3VtZW50fHx2KSYmeS5wdXNoKHMuZGVmYXVsdFZpZXd8fHMucGFyZW50V2luZG93fHxlKX1mb3Iobz0wOyhhPXlbbysrXSkmJiF0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWQ9YSx0LnR5cGU9bz4xP3U6cC5iaW5kVHlwZXx8bSwoZj0oRy5nZXQoYSxcImV2ZW50c1wiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbdC50eXBlXSYmRy5nZXQoYSxcImhhbmRsZVwiKSkmJmYuYXBwbHkoYSxuKSwoZj1sJiZhW2xdKSYmZi5hcHBseSYmWChhKSYmKHQucmVzdWx0PWYuYXBwbHkoYSxuKSwhMT09PXQucmVzdWx0JiZ0LnByZXZlbnREZWZhdWx0KCkpO3JldHVybiB0LnR5cGU9bSxpfHx0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxwLl9kZWZhdWx0JiYhMSE9PXAuX2RlZmF1bHQuYXBwbHkoeS5wb3AoKSxuKXx8IVgocil8fGwmJmgoclttXSkmJiFnKHIpJiYoKHM9cltsXSkmJihyW2xdPW51bGwpLGIuZXZlbnQudHJpZ2dlcmVkPW0sdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZkLmFkZEV2ZW50TGlzdGVuZXIobSx5dCksclttXSgpLHQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZC5yZW1vdmVFdmVudExpc3RlbmVyKG0seXQpLGIuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxzJiYocltsXT1zKSksdC5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9Yi5leHRlbmQobmV3IGIuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7Yi5ldmVudC50cmlnZ2VyKHIsbnVsbCx0KX19KSxiLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpc1swXTtpZihuKXJldHVybiBiLmV2ZW50LnRyaWdnZXIoZSx0LG4sITApfX0pLGQuZm9jdXNpbnx8Yi5lYWNoKHtmb2N1czpcImZvY3VzaW5cIixibHVyOlwiZm9jdXNvdXRcIn0sZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbihlKXtiLmV2ZW50LnNpbXVsYXRlKHQsZS50YXJnZXQsYi5ldmVudC5maXgoZSkpfTtiLmV2ZW50LnNwZWNpYWxbdF09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLGk9Ry5hY2Nlc3Mocix0KTtpfHxyLmFkZEV2ZW50TGlzdGVuZXIoZSxuLCEwKSxHLmFjY2VzcyhyLHQsKGl8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciByPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyxpPUcuYWNjZXNzKHIsdCktMTtpP0cuYWNjZXNzKHIsdCxpKTooci5yZW1vdmVFdmVudExpc3RlbmVyKGUsbiwhMCksRy5yZW1vdmUocix0KSl9fX0pO3ZhciBtdD1lLmxvY2F0aW9uLHh0PXtndWlkOkRhdGUubm93KCl9LGJ0PS9cXD8vO2IucGFyc2VYTUw9ZnVuY3Rpb24odCl7dmFyIG4scjtpZighdHx8XCJzdHJpbmdcIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dHJ5e249KG5ldyBlLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsXCJ0ZXh0L3htbFwiKX1jYXRjaChlKXt9cmV0dXJuIHI9biYmbi5nZXRFbGVtZW50c0J5VGFnTmFtZShcInBhcnNlcmVycm9yXCIpWzBdLG4mJiFyfHxiLmVycm9yKFwiSW52YWxpZCBYTUw6IFwiKyhyP2IubWFwKHIuY2hpbGROb2RlcyxmdW5jdGlvbihlKXtyZXR1cm4gZS50ZXh0Q29udGVudH0pLmpvaW4oXCJcXG5cIik6dCkpLG59O3ZhciB3dD0vXFxbXFxdJC8sVHQ9L1xccj9cXG4vZyxDdD0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksRXQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFN0KGUsdCxuLHIpe3ZhciBpO2lmKEFycmF5LmlzQXJyYXkodCkpYi5lYWNoKHQsZnVuY3Rpb24odCxpKXtufHx3dC50ZXN0KGUpP3IoZSxpKTpTdChlK1wiW1wiKyhcIm9iamVjdFwiPT10eXBlb2YgaSYmbnVsbCE9aT90OlwiXCIpK1wiXVwiLGksbixyKX0pO2Vsc2UgaWYobnx8XCJvYmplY3RcIiE9PXgodCkpcihlLHQpO2Vsc2UgZm9yKGkgaW4gdClTdChlK1wiW1wiK2krXCJdXCIsdFtpXSxuLHIpfWIucGFyYW09ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1oKHQpP3QoKTp0O3Jbci5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChlKStcIj1cIitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj9cIlwiOm4pfTtpZihudWxsPT1lKXJldHVyblwiXCI7aWYoQXJyYXkuaXNBcnJheShlKXx8ZS5qcXVlcnkmJiFiLmlzUGxhaW5PYmplY3QoZSkpYi5lYWNoKGUsZnVuY3Rpb24oKXtpKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKG4gaW4gZSlTdChuLGVbbl0sdCxpKTtyZXR1cm4gci5qb2luKFwiJlwiKX0sYi5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBiLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9Yi5wcm9wKHRoaXMsXCJlbGVtZW50c1wiKTtyZXR1cm4gZT9iLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFiKHRoaXMpLmlzKFwiOmRpc2FibGVkXCIpJiZFdC50ZXN0KHRoaXMubm9kZU5hbWUpJiYhQ3QudGVzdChlKSYmKHRoaXMuY2hlY2tlZHx8IXBlLnRlc3QoZSkpfSkubWFwKGZ1bmN0aW9uKGUsdCl7dmFyIG49Yih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOkFycmF5LmlzQXJyYXkobik/Yi5tYXAobixmdW5jdGlvbihlKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKFR0LFwiXFxyXFxuXCIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoVHQsXCJcXHJcXG5cIil9fSkuZ2V0KCl9fSk7dmFyIGt0PS8lMjAvZyxBdD0vIy4qJC8sTnQ9LyhbPyZdKV89W14mXSovLGp0PS9eKC4qPyk6WyBcXHRdKihbXlxcclxcbl0qKSQvZ20sRHQ9L14oPzpHRVR8SEVBRCkkLyxxdD0vXlxcL1xcLy8sTHQ9e30sSHQ9e30sT3Q9XCIqL1wiLmNvbmNhdChcIipcIiksUHQ9di5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBSdChlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtcInN0cmluZ1wiIT10eXBlb2YgdCYmKG49dCx0PVwiKlwiKTt2YXIgcixpPTAsbz10LnRvTG93ZXJDYXNlKCkubWF0Y2goTyl8fFtdO2lmKGgobikpZm9yKDtyPW9baSsrXTspXCIrXCI9PT1yWzBdPyhyPXIuc2xpY2UoMSl8fFwiKlwiLChlW3JdPWVbcl18fFtdKS51bnNoaWZ0KG4pKTooZVtyXT1lW3JdfHxbXSkucHVzaChuKX19ZnVuY3Rpb24gTXQoZSx0LG4scil7dmFyIGk9e30sbz1lPT09SHQ7ZnVuY3Rpb24gYShzKXt2YXIgdTtyZXR1cm4gaVtzXT0hMCxiLmVhY2goZVtzXXx8W10sZnVuY3Rpb24oZSxzKXt2YXIgbD1zKHQsbixyKTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgbHx8b3x8aVtsXT9vPyEodT1sKTp2b2lkIDA6KHQuZGF0YVR5cGVzLnVuc2hpZnQobCksYShsKSwhMSl9KSx1fXJldHVybiBhKHQuZGF0YVR5cGVzWzBdKXx8IWlbXCIqXCJdJiZhKFwiKlwiKX1mdW5jdGlvbiBJdChlLHQpe3ZhciBuLHIsaT1iLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKG4gaW4gdCl2b2lkIDAhPT10W25dJiYoKGlbbl0/ZTpyfHwocj17fSkpW25dPXRbbl0pO3JldHVybiByJiZiLmV4dGVuZCghMCxlLHIpLGV9UHQuaHJlZj1tdC5ocmVmLGIuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDptdC5ocmVmLHR5cGU6XCJHRVRcIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QobXQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZTpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOFwiLGFjY2VwdHM6e1wiKlwiOk90LHRleHQ6XCJ0ZXh0L3BsYWluXCIsaHRtbDpcInRleHQvaHRtbFwiLHhtbDpcImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWxcIixqc29uOlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0XCJ9LGNvbnRlbnRzOnt4bWw6L1xcYnhtbFxcYi8saHRtbDovXFxiaHRtbC8sanNvbjovXFxianNvblxcYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6XCJyZXNwb25zZVhNTFwiLHRleHQ6XCJyZXNwb25zZVRleHRcIixqc29uOlwicmVzcG9uc2VKU09OXCJ9LGNvbnZlcnRlcnM6e1wiKiB0ZXh0XCI6U3RyaW5nLFwidGV4dCBodG1sXCI6ITAsXCJ0ZXh0IGpzb25cIjpKU09OLnBhcnNlLFwidGV4dCB4bWxcIjpiLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9JdChJdChlLGIuYWpheFNldHRpbmdzKSx0KTpJdChiLmFqYXhTZXR0aW5ncyxlKX0sYWpheFByZWZpbHRlcjpSdChMdCksYWpheFRyYW5zcG9ydDpSdChIdCksYWpheDpmdW5jdGlvbih0LG4pe1wib2JqZWN0XCI9PXR5cGVvZiB0JiYobj10LHQ9dm9pZCAwKSxuPW58fHt9O3ZhciByLGksbyxhLHMsdSxsLGMsZixwLGQ9Yi5hamF4U2V0dXAoe30sbiksaD1kLmNvbnRleHR8fGQsZz1kLmNvbnRleHQmJihoLm5vZGVUeXBlfHxoLmpxdWVyeSk/YihoKTpiLmV2ZW50LHk9Yi5EZWZlcnJlZCgpLG09Yi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSx4PWQuc3RhdHVzQ29kZXx8e30sdz17fSxUPXt9LEM9XCJjYW5jZWxlZFwiLEU9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihlKXt2YXIgdDtpZihsKXtpZighYSlmb3IoYT17fTt0PWp0LmV4ZWMobyk7KWFbdFsxXS50b0xvd2VyQ2FzZSgpK1wiIFwiXT0oYVt0WzFdLnRvTG93ZXJDYXNlKCkrXCIgXCJdfHxbXSkuY29uY2F0KHRbMl0pO3Q9YVtlLnRvTG93ZXJDYXNlKCkrXCIgXCJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKFwiLCBcIil9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiBsP286bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1sJiYoZT1UW2UudG9Mb3dlckNhc2UoKV09VFtlLnRvTG93ZXJDYXNlKCldfHxlLHdbZV09dCksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09bCYmKGQubWltZVR5cGU9ZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihlKXt2YXIgdDtpZihlKWlmKGwpRS5hbHdheXMoZVtFLnN0YXR1c10pO2Vsc2UgZm9yKHQgaW4gZSl4W3RdPVt4W3RdLGVbdF1dO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXt2YXIgdD1lfHxDO3JldHVybiByJiZyLmFib3J0KHQpLFMoMCx0KSx0aGlzfX07aWYoeS5wcm9taXNlKEUpLGQudXJsPSgodHx8ZC51cmx8fG10LmhyZWYpK1wiXCIpLnJlcGxhY2UocXQsbXQucHJvdG9jb2wrXCIvL1wiKSxkLnR5cGU9bi5tZXRob2R8fG4udHlwZXx8ZC5tZXRob2R8fGQudHlwZSxkLmRhdGFUeXBlcz0oZC5kYXRhVHlwZXx8XCIqXCIpLnRvTG93ZXJDYXNlKCkubWF0Y2goTyl8fFtcIlwiXSxudWxsPT1kLmNyb3NzRG9tYWluKXt1PXYuY3JlYXRlRWxlbWVudChcImFcIik7dHJ5e3UuaHJlZj1kLnVybCx1LmhyZWY9dS5ocmVmLGQuY3Jvc3NEb21haW49UHQucHJvdG9jb2wrXCIvL1wiK1B0Lmhvc3QhPXUucHJvdG9jb2wrXCIvL1wiK3UuaG9zdH1jYXRjaChlKXtkLmNyb3NzRG9tYWluPSEwfX1pZihkLmRhdGEmJmQucHJvY2Vzc0RhdGEmJlwic3RyaW5nXCIhPXR5cGVvZiBkLmRhdGEmJihkLmRhdGE9Yi5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25hbCkpLE10KEx0LGQsbixFKSxsKXJldHVybiBFO2ZvcihmIGluKGM9Yi5ldmVudCYmZC5nbG9iYWwpJiYwPT1iLmFjdGl2ZSsrJiZiLmV2ZW50LnRyaWdnZXIoXCJhamF4U3RhcnRcIiksZC50eXBlPWQudHlwZS50b1VwcGVyQ2FzZSgpLGQuaGFzQ29udGVudD0hRHQudGVzdChkLnR5cGUpLGk9ZC51cmwucmVwbGFjZShBdCxcIlwiKSxkLmhhc0NvbnRlbnQ/ZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiYwPT09KGQuY29udGVudFR5cGV8fFwiXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIikmJihkLmRhdGE9ZC5kYXRhLnJlcGxhY2Uoa3QsXCIrXCIpKToocD1kLnVybC5zbGljZShpLmxlbmd0aCksZC5kYXRhJiYoZC5wcm9jZXNzRGF0YXx8XCJzdHJpbmdcIj09dHlwZW9mIGQuZGF0YSkmJihpKz0oYnQudGVzdChpKT9cIiZcIjpcIj9cIikrZC5kYXRhLGRlbGV0ZSBkLmRhdGEpLCExPT09ZC5jYWNoZSYmKGk9aS5yZXBsYWNlKE50LFwiJDFcIikscD0oYnQudGVzdChpKT9cIiZcIjpcIj9cIikrXCJfPVwiK3h0Lmd1aWQrKytwKSxkLnVybD1pK3ApLGQuaWZNb2RpZmllZCYmKGIubGFzdE1vZGlmaWVkW2ldJiZFLnNldFJlcXVlc3RIZWFkZXIoXCJJZi1Nb2RpZmllZC1TaW5jZVwiLGIubGFzdE1vZGlmaWVkW2ldKSxiLmV0YWdbaV0mJkUuc2V0UmVxdWVzdEhlYWRlcihcIklmLU5vbmUtTWF0Y2hcIixiLmV0YWdbaV0pKSwoZC5kYXRhJiZkLmhhc0NvbnRlbnQmJiExIT09ZC5jb250ZW50VHlwZXx8bi5jb250ZW50VHlwZSkmJkUuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLGQuY29udGVudFR5cGUpLEUuc2V0UmVxdWVzdEhlYWRlcihcIkFjY2VwdFwiLGQuZGF0YVR5cGVzWzBdJiZkLmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dP2QuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0rKFwiKlwiIT09ZC5kYXRhVHlwZXNbMF0/XCIsIFwiK090K1wiOyBxPTAuMDFcIjpcIlwiKTpkLmFjY2VwdHNbXCIqXCJdKSxkLmhlYWRlcnMpRS5zZXRSZXF1ZXN0SGVhZGVyKGYsZC5oZWFkZXJzW2ZdKTtpZihkLmJlZm9yZVNlbmQmJighMT09PWQuYmVmb3JlU2VuZC5jYWxsKGgsRSxkKXx8bCkpcmV0dXJuIEUuYWJvcnQoKTtpZihDPVwiYWJvcnRcIixtLmFkZChkLmNvbXBsZXRlKSxFLmRvbmUoZC5zdWNjZXNzKSxFLmZhaWwoZC5lcnJvcikscj1NdChIdCxkLG4sRSkpe2lmKEUucmVhZHlTdGF0ZT0xLGMmJmcudHJpZ2dlcihcImFqYXhTZW5kXCIsW0UsZF0pLGwpcmV0dXJuIEU7ZC5hc3luYyYmZC50aW1lb3V0PjAmJihzPWUuc2V0VGltZW91dChmdW5jdGlvbigpe0UuYWJvcnQoXCJ0aW1lb3V0XCIpfSxkLnRpbWVvdXQpKTt0cnl7bD0hMSxyLnNlbmQodyxTKX1jYXRjaChlKXtpZihsKXRocm93IGU7UygtMSxlKX19ZWxzZSBTKC0xLFwiTm8gVHJhbnNwb3J0XCIpO2Z1bmN0aW9uIFModCxuLGEsdSl7dmFyIGYscCx2LHcsVCxDPW47bHx8KGw9ITAscyYmZS5jbGVhclRpbWVvdXQocykscj12b2lkIDAsbz11fHxcIlwiLEUucmVhZHlTdGF0ZT10PjA/NDowLGY9dD49MjAwJiZ0PDMwMHx8MzA0PT09dCxhJiYodz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByLGksbyxhLHM9ZS5jb250ZW50cyx1PWUuZGF0YVR5cGVzO1wiKlwiPT09dVswXTspdS5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LVR5cGVcIikpO2lmKHIpZm9yKGkgaW4gcylpZihzW2ldJiZzW2ldLnRlc3Qocikpe3UudW5zaGlmdChpKTticmVha31pZih1WzBdaW4gbilvPXVbMF07ZWxzZXtmb3IoaSBpbiBuKXtpZighdVswXXx8ZS5jb252ZXJ0ZXJzW2krXCIgXCIrdVswXV0pe289aTticmVha31hfHwoYT1pKX1vPW98fGF9aWYobylyZXR1cm4gbyE9PXVbMF0mJnUudW5zaGlmdChvKSxuW29dfShkLEUsYSkpLCFmJiZiLmluQXJyYXkoXCJzY3JpcHRcIixkLmRhdGFUeXBlcyk+LTEmJmIuaW5BcnJheShcImpzb25cIixkLmRhdGFUeXBlcyk8MCYmKGQuY29udmVydGVyc1tcInRleHQgc2NyaXB0XCJdPWZ1bmN0aW9uKCl7fSksdz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07Zm9yKG89Yy5zaGlmdCgpO287KWlmKGUucmVzcG9uc2VGaWVsZHNbb10mJihuW2UucmVzcG9uc2VGaWVsZHNbb11dPXQpLCF1JiZyJiZlLmRhdGFGaWx0ZXImJih0PWUuZGF0YUZpbHRlcih0LGUuZGF0YVR5cGUpKSx1PW8sbz1jLnNoaWZ0KCkpaWYoXCIqXCI9PT1vKW89dTtlbHNlIGlmKFwiKlwiIT09dSYmdSE9PW8pe2lmKCEoYT1sW3UrXCIgXCIrb118fGxbXCIqIFwiK29dKSlmb3IoaSBpbiBsKWlmKChzPWkuc3BsaXQoXCIgXCIpKVsxXT09PW8mJihhPWxbdStcIiBcIitzWzBdXXx8bFtcIiogXCIrc1swXV0pKXshMD09PWE/YT1sW2ldOiEwIT09bFtpXSYmKG89c1swXSxjLnVuc2hpZnQoc1sxXSkpO2JyZWFrfWlmKCEwIT09YSlpZihhJiZlLnRocm93cyl0PWEodCk7ZWxzZSB0cnl7dD1hKHQpfWNhdGNoKGUpe3JldHVybntzdGF0ZTpcInBhcnNlcmVycm9yXCIsZXJyb3I6YT9lOlwiTm8gY29udmVyc2lvbiBmcm9tIFwiK3UrXCIgdG8gXCIrb319fXJldHVybntzdGF0ZTpcInN1Y2Nlc3NcIixkYXRhOnR9fShkLHcsRSxmKSxmPyhkLmlmTW9kaWZpZWQmJigoVD1FLmdldFJlc3BvbnNlSGVhZGVyKFwiTGFzdC1Nb2RpZmllZFwiKSkmJihiLmxhc3RNb2RpZmllZFtpXT1UKSwoVD1FLmdldFJlc3BvbnNlSGVhZGVyKFwiZXRhZ1wiKSkmJihiLmV0YWdbaV09VCkpLDIwND09PXR8fFwiSEVBRFwiPT09ZC50eXBlP0M9XCJub2NvbnRlbnRcIjozMDQ9PT10P0M9XCJub3Rtb2RpZmllZFwiOihDPXcuc3RhdGUscD13LmRhdGEsZj0hKHY9dy5lcnJvcikpKToodj1DLCF0JiZDfHwoQz1cImVycm9yXCIsdDwwJiYodD0wKSkpLEUuc3RhdHVzPXQsRS5zdGF0dXNUZXh0PShufHxDKStcIlwiLGY/eS5yZXNvbHZlV2l0aChoLFtwLEMsRV0pOnkucmVqZWN0V2l0aChoLFtFLEMsdl0pLEUuc3RhdHVzQ29kZSh4KSx4PXZvaWQgMCxjJiZnLnRyaWdnZXIoZj9cImFqYXhTdWNjZXNzXCI6XCJhamF4RXJyb3JcIixbRSxkLGY/cDp2XSksbS5maXJlV2l0aChoLFtFLENdKSxjJiYoZy50cmlnZ2VyKFwiYWpheENvbXBsZXRlXCIsW0UsZF0pLC0tYi5hY3RpdmV8fGIuZXZlbnQudHJpZ2dlcihcImFqYXhTdG9wXCIpKSl9cmV0dXJuIEV9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBiLmdldChlLHQsbixcImpzb25cIil9LGdldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBiLmdldChlLHZvaWQgMCx0LFwic2NyaXB0XCIpfX0pLGIuZWFjaChbXCJnZXRcIixcInBvc3RcIl0sZnVuY3Rpb24oZSx0KXtiW3RdPWZ1bmN0aW9uKGUsbixyLGkpe3JldHVybiBoKG4pJiYoaT1pfHxyLHI9bixuPXZvaWQgMCksYi5hamF4KGIuZXh0ZW5kKHt1cmw6ZSx0eXBlOnQsZGF0YVR5cGU6aSxkYXRhOm4sc3VjY2VzczpyfSxiLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxiLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKVwiY29udGVudC10eXBlXCI9PT10LnRvTG93ZXJDYXNlKCkmJihlLmNvbnRlbnRUeXBlPWUuaGVhZGVyc1t0XXx8XCJcIil9KSxiLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYi5hamF4KHt1cmw6ZSx0eXBlOlwiR0VUXCIsZGF0YVR5cGU6XCJzY3JpcHRcIixjYWNoZTohMCxhc3luYzohMSxnbG9iYWw6ITEsY29udmVydGVyczp7XCJ0ZXh0IHNjcmlwdFwiOmZ1bmN0aW9uKCl7fX0sZGF0YUZpbHRlcjpmdW5jdGlvbihlKXtiLmdsb2JhbEV2YWwoZSx0LG4pfX0pfSxiLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpc1swXSYmKGgoZSkmJihlPWUuY2FsbCh0aGlzWzBdKSksdD1iKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzO2UuZmlyc3RFbGVtZW50Q2hpbGQ7KWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUpP3RoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1iKHRoaXMpLG49dC5jb250ZW50cygpO24ubGVuZ3RoP24ud3JhcEFsbChlKTp0LmFwcGVuZChlKX0pfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWgoZSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXtiKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyZW50KGUpLm5vdChcImJvZHlcIikuZWFjaChmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLHRoaXN9fSksYi5leHByLnBzZXVkb3MuaGlkZGVuPWZ1bmN0aW9uKGUpe3JldHVybiFiLmV4cHIucHNldWRvcy52aXNpYmxlKGUpfSxiLmV4cHIucHNldWRvcy52aXNpYmxlPWZ1bmN0aW9uKGUpe3JldHVybiEhKGUub2Zmc2V0V2lkdGh8fGUub2Zmc2V0SGVpZ2h0fHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoKX0sYi5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgZS5YTUxIdHRwUmVxdWVzdH1jYXRjaChlKXt9fTt2YXIgV3Q9ezA6MjAwLDEyMjM6MjA0fSxGdD1iLmFqYXhTZXR0aW5ncy54aHIoKTtkLmNvcnM9ISFGdCYmXCJ3aXRoQ3JlZGVudGlhbHNcImluIEZ0LGQuYWpheD1GdD0hIUZ0LGIuYWpheFRyYW5zcG9ydChmdW5jdGlvbih0KXt2YXIgbixyO2lmKGQuY29yc3x8RnQmJiF0LmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGksbyl7dmFyIGEscz10LnhocigpO2lmKHMub3Blbih0LnR5cGUsdC51cmwsdC5hc3luYyx0LnVzZXJuYW1lLHQucGFzc3dvcmQpLHQueGhyRmllbGRzKWZvcihhIGluIHQueGhyRmllbGRzKXNbYV09dC54aHJGaWVsZHNbYV07Zm9yKGEgaW4gdC5taW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUodC5taW1lVHlwZSksdC5jcm9zc0RvbWFpbnx8aVtcIlgtUmVxdWVzdGVkLVdpdGhcIl18fChpW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXT1cIlhNTEh0dHBSZXF1ZXN0XCIpLGkpcy5zZXRSZXF1ZXN0SGVhZGVyKGEsaVthXSk7bj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtuJiYobj1yPXMub25sb2FkPXMub25lcnJvcj1zLm9uYWJvcnQ9cy5vbnRpbWVvdXQ9cy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxcImFib3J0XCI9PT1lP3MuYWJvcnQoKTpcImVycm9yXCI9PT1lP1wibnVtYmVyXCIhPXR5cGVvZiBzLnN0YXR1cz9vKDAsXCJlcnJvclwiKTpvKHMuc3RhdHVzLHMuc3RhdHVzVGV4dCk6byhXdFtzLnN0YXR1c118fHMuc3RhdHVzLHMuc3RhdHVzVGV4dCxcInRleHRcIiE9PShzLnJlc3BvbnNlVHlwZXx8XCJ0ZXh0XCIpfHxcInN0cmluZ1wiIT10eXBlb2Ygcy5yZXNwb25zZVRleHQ/e2JpbmFyeTpzLnJlc3BvbnNlfTp7dGV4dDpzLnJlc3BvbnNlVGV4dH0scy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0scy5vbmxvYWQ9bigpLHI9cy5vbmVycm9yPXMub250aW1lb3V0PW4oXCJlcnJvclwiKSx2b2lkIDAhPT1zLm9uYWJvcnQ/cy5vbmFib3J0PXI6cy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09cy5yZWFkeVN0YXRlJiZlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuJiZyKCl9KX0sbj1uKFwiYWJvcnRcIik7dHJ5e3Muc2VuZCh0Lmhhc0NvbnRlbnQmJnQuZGF0YXx8bnVsbCl9Y2F0Y2goZSl7aWYobil0aHJvdyBlfX0sYWJvcnQ6ZnVuY3Rpb24oKXtuJiZuKCl9fX0pLGIuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXtlLmNyb3NzRG9tYWluJiYoZS5jb250ZW50cy5zY3JpcHQ9ITEpfSksYi5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDpcInRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0XCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xcYig/OmphdmF8ZWNtYSlzY3JpcHRcXGIvfSxjb252ZXJ0ZXJzOntcInRleHQgc2NyaXB0XCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZ2xvYmFsRXZhbChlKSxlfX19KSxiLmFqYXhQcmVmaWx0ZXIoXCJzY3JpcHRcIixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT1cIkdFVFwiKX0pLGIuYWpheFRyYW5zcG9ydChcInNjcmlwdFwiLGZ1bmN0aW9uKGUpe3ZhciB0LG47aWYoZS5jcm9zc0RvbWFpbnx8ZS5zY3JpcHRBdHRycylyZXR1cm57c2VuZDpmdW5jdGlvbihyLGkpe3Q9YihcIjxzY3JpcHQ+XCIpLmF0dHIoZS5zY3JpcHRBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6ZS5zY3JpcHRDaGFyc2V0LHNyYzplLnVybH0pLm9uKFwibG9hZCBlcnJvclwiLG49ZnVuY3Rpb24oZSl7dC5yZW1vdmUoKSxuPW51bGwsZSYmaShcImVycm9yXCI9PT1lLnR5cGU/NDA0OjIwMCxlLnR5cGUpfSksdi5oZWFkLmFwcGVuZENoaWxkKHRbMF0pfSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fSk7dmFyIEJ0LCR0PVtdLF90PS8oPSlcXD8oPz0mfCQpfFxcP1xcPy87Yi5hamF4U2V0dXAoe2pzb25wOlwiY2FsbGJhY2tcIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9JHQucG9wKCl8fGIuZXhwYW5kbytcIl9cIit4dC5ndWlkKys7cmV0dXJuIHRoaXNbZV09ITAsZX19KSxiLmFqYXhQcmVmaWx0ZXIoXCJqc29uIGpzb25wXCIsZnVuY3Rpb24odCxuLHIpe3ZhciBpLG8sYSxzPSExIT09dC5qc29ucCYmKF90LnRlc3QodC51cmwpP1widXJsXCI6XCJzdHJpbmdcIj09dHlwZW9mIHQuZGF0YSYmMD09PSh0LmNvbnRlbnRUeXBlfHxcIlwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpJiZfdC50ZXN0KHQuZGF0YSkmJlwiZGF0YVwiKTtpZihzfHxcImpzb25wXCI9PT10LmRhdGFUeXBlc1swXSlyZXR1cm4gaT10Lmpzb25wQ2FsbGJhY2s9aCh0Lmpzb25wQ2FsbGJhY2spP3QuanNvbnBDYWxsYmFjaygpOnQuanNvbnBDYWxsYmFjayxzP3Rbc109dFtzXS5yZXBsYWNlKF90LFwiJDFcIitpKTohMSE9PXQuanNvbnAmJih0LnVybCs9KGJ0LnRlc3QodC51cmwpP1wiJlwiOlwiP1wiKSt0Lmpzb25wK1wiPVwiK2kpLHQuY29udmVydGVyc1tcInNjcmlwdCBqc29uXCJdPWZ1bmN0aW9uKCl7cmV0dXJuIGF8fGIuZXJyb3IoaStcIiB3YXMgbm90IGNhbGxlZFwiKSxhWzBdfSx0LmRhdGFUeXBlc1swXT1cImpzb25cIixvPWVbaV0sZVtpXT1mdW5jdGlvbigpe2E9YXJndW1lbnRzfSxyLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PW8/YihlKS5yZW1vdmVQcm9wKGkpOmVbaV09byx0W2ldJiYodC5qc29ucENhbGxiYWNrPW4uanNvbnBDYWxsYmFjaywkdC5wdXNoKGkpKSxhJiZoKG8pJiZvKGFbMF0pLGE9bz12b2lkIDB9KSxcInNjcmlwdFwifSksZC5jcmVhdGVIVE1MRG9jdW1lbnQ9KChCdD12LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKS5ib2R5KS5pbm5lckhUTUw9XCI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPlwiLDI9PT1CdC5jaGlsZE5vZGVzLmxlbmd0aCksYi5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlP1tdOihcImJvb2xlYW5cIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KGQuY3JlYXRlSFRNTERvY3VtZW50Pygocj0odD12LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKSkuY3JlYXRlRWxlbWVudChcImJhc2VcIikpLmhyZWY9di5sb2NhdGlvbi5ocmVmLHQuaGVhZC5hcHBlbmRDaGlsZChyKSk6dD12KSxvPSFuJiZbXSwoaT1BLmV4ZWMoZSkpP1t0LmNyZWF0ZUVsZW1lbnQoaVsxXSldOihpPXhlKFtlXSx0LG8pLG8mJm8ubGVuZ3RoJiZiKG8pLnJlbW92ZSgpLGIubWVyZ2UoW10saS5jaGlsZE5vZGVzKSkpO3ZhciByLGksb30sYi5mbi5sb2FkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT10aGlzLHM9ZS5pbmRleE9mKFwiIFwiKTtyZXR1cm4gcz4tMSYmKHI9cHQoZS5zbGljZShzKSksZT1lLnNsaWNlKDAscykpLGgodCk/KG49dCx0PXZvaWQgMCk6dCYmXCJvYmplY3RcIj09dHlwZW9mIHQmJihpPVwiUE9TVFwiKSxhLmxlbmd0aD4wJiZiLmFqYXgoe3VybDplLHR5cGU6aXx8XCJHRVRcIixkYXRhVHlwZTpcImh0bWxcIixkYXRhOnR9KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLGEuaHRtbChyP2IoXCI8ZGl2PlwiKS5hcHBlbmQoYi5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3Rpb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV0pfSl9KSx0aGlzfSxiLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gYi5ncmVwKGIudGltZXJzLGZ1bmN0aW9uKHQpe3JldHVybiBlPT09dC5lbGVtfSkubGVuZ3RofSxiLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1iLmNzcyhlLFwicG9zaXRpb25cIiksYz1iKGUpLGY9e307XCJzdGF0aWNcIj09PWwmJihlLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIikscz1jLm9mZnNldCgpLG89Yi5jc3MoZSxcInRvcFwiKSx1PWIuY3NzKGUsXCJsZWZ0XCIpLChcImFic29sdXRlXCI9PT1sfHxcImZpeGVkXCI9PT1sKSYmKG8rdSkuaW5kZXhPZihcImF1dG9cIik+LTE/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSxoKHQpJiYodD10LmNhbGwoZSxuLGIuZXh0ZW5kKHt9LHMpKSksbnVsbCE9dC50b3AmJihmLnRvcD10LnRvcC1zLnRvcCthKSxudWxsIT10LmxlZnQmJihmLmxlZnQ9dC5sZWZ0LXMubGVmdCtpKSxcInVzaW5nXCJpbiB0P3QudXNpbmcuY2FsbChlLGYpOmMuY3NzKGYpfX0sYi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1lP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2Iub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KTt2YXIgdCxuLHI9dGhpc1swXTtyZXR1cm4gcj9yLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyh0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDp0LnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6dC5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfTp2b2lkIDB9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuLHI9dGhpc1swXSxpPXt0b3A6MCxsZWZ0OjB9O2lmKFwiZml4ZWRcIj09PWIuY3NzKHIsXCJwb3NpdGlvblwiKSl0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZWxzZXtmb3IodD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZzZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O2UmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bWVudEVsZW1lbnQpJiZcInN0YXRpY1wiPT09Yi5jc3MoZSxcInBvc2l0aW9uXCIpOyllPWUucGFyZW50Tm9kZTtlJiZlIT09ciYmMT09PWUubm9kZVR5cGUmJigoaT1iKGUpLm9mZnNldCgpKS50b3ArPWIuY3NzKGUsXCJib3JkZXJUb3BXaWR0aFwiLCEwKSxpLmxlZnQrPWIuY3NzKGUsXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCkpfXJldHVybnt0b3A6dC50b3AtaS50b3AtYi5jc3MocixcIm1hcmdpblRvcFwiLCEwKSxsZWZ0OnQubGVmdC1pLmxlZnQtYi5jc3MocixcIm1hcmdpbkxlZnRcIiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMub2Zmc2V0UGFyZW50O2UmJlwic3RhdGljXCI9PT1iLmNzcyhlLFwicG9zaXRpb25cIik7KWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fG5lfSl9fSksYi5lYWNoKHtzY3JvbGxMZWZ0OlwicGFnZVhPZmZzZXRcIixzY3JvbGxUb3A6XCJwYWdlWU9mZnNldFwifSxmdW5jdGlvbihlLHQpe3ZhciBuPVwicGFnZVlPZmZzZXRcIj09PXQ7Yi5mbltlXT1mdW5jdGlvbihyKXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUscixpKXt2YXIgbztpZihnKGUpP289ZTo5PT09ZS5ub2RlVHlwZSYmKG89ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09aSlyZXR1cm4gbz9vW3RdOmVbcl07bz9vLnNjcm9sbFRvKG4/by5wYWdlWE9mZnNldDppLG4/aTpvLnBhZ2VZT2Zmc2V0KTplW3JdPWl9LGUscixhcmd1bWVudHMubGVuZ3RoKX19KSxiLmVhY2goW1widG9wXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1t0XT1GZShkLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZSxuKXtpZihuKXJldHVybiBuPVdlKGUsdCksUGUudGVzdChuKT9iKGUpLnBvc2l0aW9uKClbdF0rXCJweFwiOm59KX0pLGIuZWFjaCh7SGVpZ2h0OlwiaGVpZ2h0XCIsV2lkdGg6XCJ3aWR0aFwifSxmdW5jdGlvbihlLHQpe2IuZWFjaCh7cGFkZGluZzpcImlubmVyXCIrZSxjb250ZW50OnQsXCJcIjpcIm91dGVyXCIrZX0sZnVuY3Rpb24obixyKXtiLmZuW3JdPWZ1bmN0aW9uKGksbyl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aCYmKG58fFwiYm9vbGVhblwiIT10eXBlb2YgaSkscz1ufHwoITA9PT1pfHwhMD09PW8/XCJtYXJnaW5cIjpcImJvcmRlclwiKTtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKHQsbixpKXt2YXIgbztyZXR1cm4gZyh0KT8wPT09ci5pbmRleE9mKFwib3V0ZXJcIik/dFtcImlubmVyXCIrZV06dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbXCJjbGllbnRcIitlXTo5PT09dC5ub2RlVHlwZT8obz10LmRvY3VtZW50RWxlbWVudCxNYXRoLm1heCh0LmJvZHlbXCJzY3JvbGxcIitlXSxvW1wic2Nyb2xsXCIrZV0sdC5ib2R5W1wib2Zmc2V0XCIrZV0sb1tcIm9mZnNldFwiK2VdLG9bXCJjbGllbnRcIitlXSkpOnZvaWQgMD09PWk/Yi5jc3ModCxuLHMpOmIuc3R5bGUodCxuLGkscyl9LHQsYT9pOnZvaWQgMCxhKX19KX0pLGIuZWFjaChbXCJhamF4U3RhcnRcIixcImFqYXhTdG9wXCIsXCJhamF4Q29tcGxldGVcIixcImFqYXhFcnJvclwiLFwiYWpheFN1Y2Nlc3NcIixcImFqYXhTZW5kXCJdLGZ1bmN0aW9uKGUsdCl7Yi5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0LGUpfX0pLGIuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLFwiKipcIik6dGhpcy5vZmYodCxlfHxcIioqXCIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLGIuZWFjaChcImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCByZXNpemUgc2Nyb2xsIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnVcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oZSx0KXtiLmZuW3RdPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKHQsbnVsbCxlLG4pOnRoaXMudHJpZ2dlcih0KX19KTt2YXIgenQ9L15bXFxzXFx1RkVGRlxceEEwXSt8W1xcc1xcdUZFRkZcXHhBMF0rJC9nO2IucHJveHk9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG87aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksaChlKSlyZXR1cm4gcj1pLmNhbGwoYXJndW1lbnRzLDIpLChvPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodHx8dGhpcyxyLmNvbmNhdChpLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxiLmd1aWQrKyxvfSxiLmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP2IucmVhZHlXYWl0Kys6Yi5yZWFkeSghMCl9LGIuaXNBcnJheT1BcnJheS5pc0FycmF5LGIucGFyc2VKU09OPUpTT04ucGFyc2UsYi5ub2RlTmFtZT1rLGIuaXNGdW5jdGlvbj1oLGIuaXNXaW5kb3c9ZyxiLmNhbWVsQ2FzZT1VLGIudHlwZT14LGIubm93PURhdGUubm93LGIuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PWIudHlwZShlKTtyZXR1cm4oXCJudW1iZXJcIj09PXR8fFwic3RyaW5nXCI9PT10KSYmIWlzTmFOKGUtcGFyc2VGbG9hdChlKSl9LGIudHJpbT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9cIlwiOihlK1wiXCIpLnJlcGxhY2UoenQsXCJcIil9LFwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKFwianF1ZXJ5XCIsW10sZnVuY3Rpb24oKXtyZXR1cm4gYn0pO3ZhciBVdD1lLmpRdWVyeSxYdD1lLiQ7cmV0dXJuIGIubm9Db25mbGljdD1mdW5jdGlvbih0KXtyZXR1cm4gZS4kPT09YiYmKGUuJD1YdCksdCYmZS5qUXVlcnk9PT1iJiYoZS5qUXVlcnk9VXQpLGJ9LHZvaWQgMD09PXQmJihlLmpRdWVyeT1lLiQ9YiksYn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1weGRXVnllUzVxY3lKZExDSnVZVzFsY3lJNld5Sm5iRzlpWVd3aUxDSm1ZV04wYjNKNUlpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVJ2WTNWdFpXNTBJaXdpZHlJc0lrVnljbTl5SWl3aWQybHVaRzkzSWl3aWRHaHBjeUlzSW01dlIyeHZZbUZzSWl3aVlYSnlJaXdpWjJWMFVISnZkRzhpTENKUFltcGxZM1FpTENKblpYUlFjbTkwYjNSNWNHVlBaaUlzSW5Oc2FXTmxJaXdpWm14aGRDSXNJbUZ5Y21GNUlpd2lZMkZzYkNJc0ltTnZibU5oZENJc0ltRndjR3g1SWl3aWNIVnphQ0lzSW1sdVpHVjRUMllpTENKamJHRnpjekowZVhCbElpd2lkRzlUZEhKcGJtY2lMQ0pvWVhOUGQyNGlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbVp1Vkc5VGRISnBibWNpTENKUFltcGxZM1JHZFc1amRHbHZibE4wY21sdVp5SXNJbk4xY0hCdmNuUWlMQ0pwYzBaMWJtTjBhVzl1SWl3aWIySnFJaXdpYm05a1pWUjVjR1VpTENKcGRHVnRJaXdpYVhOWGFXNWtiM2NpTENKd2NtVnpaWEoyWldSVFkzSnBjSFJCZEhSeWFXSjFkR1Z6SWl3aWRIbHdaU0lzSW5OeVl5SXNJbTV2Ym1ObElpd2libTlOYjJSMWJHVWlMQ0pFVDAxRmRtRnNJaXdpWTI5a1pTSXNJbTV2WkdVaUxDSmtiMk1pTENKcElpd2lkbUZzSWl3aWMyTnlhWEIwSWl3aVkzSmxZWFJsUld4bGJXVnVkQ0lzSW5SbGVIUWlMQ0puWlhSQmRIUnlhV0oxZEdVaUxDSnpaWFJCZEhSeWFXSjFkR1VpTENKb1pXRmtJaXdpWVhCd1pXNWtRMmhwYkdRaUxDSndZWEpsYm5ST2IyUmxJaXdpY21WdGIzWmxRMmhwYkdRaUxDSjBiMVI1Y0dVaUxDSnFVWFZsY25raUxDSnpaV3hsWTNSdmNpSXNJbU52Ym5SbGVIUWlMQ0ptYmlJc0ltbHVhWFFpTENKcGMwRnljbUY1VEdsclpTSXNJbXhsYm1kMGFDSXNJbkJ5YjNSdmRIbHdaU0lzSW1weGRXVnllU0lzSW1OdmJuTjBjblZqZEc5eUlpd2lkRzlCY25KaGVTSXNJbWRsZENJc0ltNTFiU0lzSW5CMWMyaFRkR0ZqYXlJc0ltVnNaVzF6SWl3aWNtVjBJaXdpYldWeVoyVWlMQ0p3Y21WMlQySnFaV04wSWl3aVpXRmphQ0lzSW1OaGJHeGlZV05ySWl3aWJXRndJaXdpWld4bGJTSXNJbUZ5WjNWdFpXNTBjeUlzSW1acGNuTjBJaXdpWlhFaUxDSnNZWE4wSWl3aVpYWmxiaUlzSW1keVpYQWlMQ0pmWld4bGJTSXNJbTlrWkNJc0lteGxiaUlzSW1vaUxDSmxibVFpTENKemIzSjBJaXdpYzNCc2FXTmxJaXdpWlhoMFpXNWtJaXdpYjNCMGFXOXVjeUlzSW01aGJXVWlMQ0pqYjNCNUlpd2lZMjl3ZVVselFYSnlZWGtpTENKamJHOXVaU0lzSW5SaGNtZGxkQ0lzSW1SbFpYQWlMQ0pwYzFCc1lXbHVUMkpxWldOMElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lkVzVrWldacGJtVmtJaXdpWlhod1lXNWtieUlzSWsxaGRHZ2lMQ0p5WVc1a2IyMGlMQ0p5WlhCc1lXTmxJaXdpYVhOU1pXRmtlU0lzSW1WeWNtOXlJaXdpYlhObklpd2libTl2Y0NJc0luQnliM1J2SWl3aVEzUnZjaUlzSW1selJXMXdkSGxQWW1wbFkzUWlMQ0puYkc5aVlXeEZkbUZzSWl3aWJXRnJaVUZ5Y21GNUlpd2ljbVZ6ZFd4MGN5SXNJbWx1UVhKeVlYa2lMQ0p6WldOdmJtUWlMQ0pwYm5abGNuUWlMQ0p0WVhSamFHVnpJaXdpWTJGc2JHSmhZMnRGZUhCbFkzUWlMQ0poY21jaUxDSjJZV3gxWlNJc0ltZDFhV1FpTENKVGVXMWliMndpTENKcGRHVnlZWFJ2Y2lJc0luTndiR2wwSWl3aVgya2lMQ0owYjB4dmQyVnlRMkZ6WlNJc0lsTnBlbnBzWlNJc0lrVjRjSElpTENKblpYUlVaWGgwSWl3aWFYTllUVXdpTENKMGIydGxibWw2WlNJc0ltTnZiWEJwYkdVaUxDSnpaV3hsWTNRaUxDSnZkWFJsY20xdmMzUkRiMjUwWlhoMElpd2ljMjl5ZEVsdWNIVjBJaXdpYUdGelJIVndiR2xqWVhSbElpd2ljMlYwUkc5amRXMWxiblFpTENKa2IyTkZiR1Z0SWl3aVpHOWpkVzFsYm5SSmMwaFVUVXdpTENKeVluVm5aM2xSVTBFaUxDSnlZblZuWjNsTllYUmphR1Z6SWl3aVkyOXVkR0ZwYm5NaUxDSkVZWFJsSWl3aWNISmxabVZ5Y21Wa1JHOWpJaXdpWkdseWNuVnVjeUlzSW1SdmJtVWlMQ0pqYkdGemMwTmhZMmhsSWl3aVkzSmxZWFJsUTJGamFHVWlMQ0owYjJ0bGJrTmhZMmhsSWl3aVkyOXRjR2xzWlhKRFlXTm9aU0lzSW01dmJtNWhkR2wyWlZObGJHVmpkRzl5UTJGamFHVWlMQ0p6YjNKMFQzSmtaWElpTENKaElpd2lZaUlzSW5CdmNDSXNJbkIxYzJoT1lYUnBkbVVpTENKc2FYTjBJaXdpWW05dmJHVmhibk1pTENKM2FHbDBaWE53WVdObElpd2lhV1JsYm5ScFptbGxjaUlzSW1GMGRISnBZblYwWlhNaUxDSndjMlYxWkc5eklpd2ljbmRvYVhSbGMzQmhZMlVpTENKU1pXZEZlSEFpTENKeWRISnBiU0lzSW5KamIyMXRZU0lzSW5KamIyMWlhVzVoZEc5eWN5SXNJbkprWlhOalpXNWtJaXdpY25CelpYVmtieUlzSW5KcFpHVnVkR2xtYVdWeUlpd2liV0YwWTJoRmVIQnlJaXdpU1VRaUxDSkRURUZUVXlJc0lsUkJSeUlzSWtGVVZGSWlMQ0pRVTBWVlJFOGlMQ0pEU0VsTVJDSXNJbUp2YjJ3aUxDSnVaV1ZrYzBOdmJuUmxlSFFpTENKeWFIUnRiQ0lzSW5KcGJuQjFkSE1pTENKeWFHVmhaR1Z5SWl3aWNtNWhkR2wyWlNJc0luSnhkV2xqYTBWNGNISWlMQ0p5YzJsaWJHbHVaeUlzSW5KMWJtVnpZMkZ3WlNJc0ltWjFibVZ6WTJGd1pTSXNJbVZ6WTJGd1pTSXNJbTV2YmtobGVDSXNJbWhwWjJnaUxDSlRkSEpwYm1jaUxDSm1jbTl0UTJoaGNrTnZaR1VpTENKeVkzTnpaWE5qWVhCbElpd2labU56YzJWelkyRndaU0lzSW1Ob0lpd2lZWE5EYjJSbFVHOXBiblFpTENKamFHRnlRMjlrWlVGMElpd2lkVzVzYjJGa1NHRnVaR3hsY2lJc0ltbHVSR2x6WVdKc1pXUkdhV1ZzWkhObGRDSXNJbUZrWkVOdmJXSnBibUYwYjNJaUxDSmthWE5oWW14bFpDSXNJbTV2WkdWT1lXMWxJaXdpWkdseUlpd2libVY0ZENJc0ltTm9hV3hrVG05a1pYTWlMQ0psSWl3aVpXeHpJaXdpYzJWbFpDSXNJbTBpTENKdWFXUWlMQ0p0WVhSamFDSXNJbWR5YjNWd2N5SXNJbTVsZDFObGJHVmpkRzl5SWl3aWJtVjNRMjl1ZEdWNGRDSXNJbTkzYm1WeVJHOWpkVzFsYm5RaUxDSmxlR1ZqSWl3aVoyVjBSV3hsYldWdWRFSjVTV1FpTENKcFpDSXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsSWl3aVoyVjBSV3hsYldWdWRITkNlVU5zWVhOelRtRnRaU0lzSW5GellTSXNJblJsYzNRaUxDSjBaWE4wUTI5dWRHVjRkQ0lzSW5OamIzQmxJaXdpZEc5VFpXeGxZM1J2Y2lJc0ltcHZhVzRpTENKeGRXVnllVk5sYkdWamRHOXlRV3hzSWl3aWNYTmhSWEp5YjNJaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdVaUxDSnJaWGx6SWl3aVkyRmphR1VpTENKclpYa2lMQ0pqWVdOb1pVeGxibWQwYUNJc0luTm9hV1owSWl3aWJXRnlhMFoxYm1OMGFXOXVJaXdpWVhOelpYSjBJaXdpWld3aUxDSmhaR1JJWVc1a2JHVWlMQ0poZEhSeWN5SXNJbWhoYm1Sc1pYSWlMQ0poZEhSeVNHRnVaR3hsSWl3aWMybGliR2x1WjBOb1pXTnJJaXdpWTNWeUlpd2laR2xtWmlJc0luTnZkWEpqWlVsdVpHVjRJaXdpYm1WNGRGTnBZbXhwYm1jaUxDSmpjbVZoZEdWSmJuQjFkRkJ6WlhWa2J5SXNJbU55WldGMFpVSjFkSFJ2YmxCelpYVmtieUlzSW1OeVpXRjBaVVJwYzJGaWJHVmtVSE5sZFdSdklpd2lhWE5FYVhOaFlteGxaQ0lzSW1OeVpXRjBaVkJ2YzJsMGFXOXVZV3hRYzJWMVpHOGlMQ0poY21kMWJXVnVkQ0lzSW0xaGRHTm9TVzVrWlhobGN5SXNJbTVoYldWemNHRmpaU0lzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbVJ2WTNWdFpXNTBSV3hsYldWdWRDSXNJbWhoYzBOdmJYQmhjbVVpTENKemRXSlhhVzVrYjNjaUxDSmtaV1poZFd4MFZtbGxkeUlzSW5SdmNDSXNJbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSWlMQ0poZEhSaFkyaEZkbVZ1ZENJc0ltTnNZWE56VG1GdFpTSXNJbU55WldGMFpVTnZiVzFsYm5RaUxDSm5aWFJDZVVsa0lpd2laMlYwUld4bGJXVnVkSE5DZVU1aGJXVWlMQ0ptYVd4MFpYSWlMQ0poZEhSeVNXUWlMQ0ptYVc1a0lpd2laMlYwUVhSMGNtbGlkWFJsVG05a1pTSXNJblJoWnlJc0luUnRjQ0lzSW1sdWNIVjBJaXdpYVc1dVpYSklWRTFNSWl3aWJXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWQyVmlhMmwwVFdGMFkyaGxjMU5sYkdWamRHOXlJaXdpYlc5NlRXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWIwMWhkR05vWlhOVFpXeGxZM1J2Y2lJc0ltMXpUV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2laR2x6WTI5dWJtVmpkR1ZrVFdGMFkyZ2lMQ0pqYjIxd1lYSmxSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJbUZrYjNkdUlpd2lZblZ3SWl3aVkyOXRjR0Z5WlNJc0luTnZjblJFWlhSaFkyaGxaQ0lzSW1GMWNDSXNJbUZ3SWl3aVluQWlMQ0oxYm5Ob2FXWjBJaXdpWlhod2NpSXNJbVZzWlcxbGJuUnpJaXdpWVhSMGNpSXNJbk53WldOcFptbGxaQ0lzSW5ObGJDSXNJblZ1YVhGMVpWTnZjblFpTENKa2RYQnNhV05oZEdWeklpd2laR1YwWldOMFJIVndiR2xqWVhSbGN5SXNJbk52Y25SVGRHRmliR1VpTENKMFpYaDBRMjl1ZEdWdWRDSXNJbVpwY25OMFEyaHBiR1FpTENKdWIyUmxWbUZzZFdVaUxDSnpaV3hsWTNSdmNuTWlMQ0pqY21WaGRHVlFjMlYxWkc4aUxDSnlaV3hoZEdsMlpTSXNJajRpTENJZ0lpd2lLeUlzSW40aUxDSndjbVZHYVd4MFpYSWlMQ0psZUdObGMzTWlMQ0oxYm5GMWIzUmxaQ0lzSW01dlpHVk9ZVzFsVTJWc1pXTjBiM0lpTENKd1lYUjBaWEp1SWl3aWIzQmxjbUYwYjNJaUxDSmphR1ZqYXlJc0luSmxjM1ZzZENJc0luZG9ZWFFpTENKZllYSm5kVzFsYm5RaUxDSnphVzF3YkdVaUxDSm1iM0ozWVhKa0lpd2liMlpVZVhCbElpd2lYMk52Ym5SbGVIUWlMQ0o0Yld3aUxDSjFibWx4ZFdWRFlXTm9aU0lzSW05MWRHVnlRMkZqYUdVaUxDSnViMlJsU1c1a1pYZ2lMQ0p6ZEdGeWRDSXNJbkJoY21WdWRDSXNJblZ6WlVOaFkyaGxJaXdpYkdGemRFTm9hV3hrSWl3aWRXNXBjWFZsU1VRaUxDSndjMlYxWkc4aUxDSmhjbWR6SWl3aWMyVjBSbWxzZEdWeWN5SXNJbWxrZUNJc0ltMWhkR05vWldRaUxDSnViM1FpTENKdFlYUmphR1Z5SWl3aWRXNXRZWFJqYUdWa0lpd2lhR0Z6SWl3aWJHRnVaeUlzSW1Wc1pXMU1ZVzVuSWl3aWFHRnphQ0lzSW14dlkyRjBhVzl1SWl3aWNtOXZkQ0lzSW1adlkzVnpJaXdpWVdOMGFYWmxSV3hsYldWdWRDSXNJbWhoYzBadlkzVnpJaXdpYUhKbFppSXNJblJoWWtsdVpHVjRJaXdpWlc1aFlteGxaQ0lzSW1Ob1pXTnJaV1FpTENKelpXeGxZM1JsWkNJc0luTmxiR1ZqZEdWa1NXNWtaWGdpTENKbGJYQjBlU0lzSW1obFlXUmxjaUlzSW1KMWRIUnZiaUlzSWw5dFlYUmphRWx1WkdWNFpYTWlMQ0pzZENJc0ltZDBJaXdpY21Ga2FXOGlMQ0pqYUdWamEySnZlQ0lzSW1acGJHVWlMQ0p3WVhOemQyOXlaQ0lzSW1sdFlXZGxJaXdpYzNWaWJXbDBJaXdpY21WelpYUWlMQ0owYjJ0bGJuTWlMQ0pqYjIxaWFXNWhkRzl5SWl3aVltRnpaU0lzSW5OcmFYQWlMQ0pqYUdWamEwNXZia1ZzWlcxbGJuUnpJaXdpWkc5dVpVNWhiV1VpTENKdmJHUkRZV05vWlNJc0ltNWxkME5oWTJobElpd2laV3hsYldWdWRFMWhkR05vWlhJaUxDSnRZWFJqYUdWeWN5SXNJbU52Ym1SbGJuTmxJaXdpYm1WM1ZXNXRZWFJqYUdWa0lpd2liV0Z3Y0dWa0lpd2ljMlYwVFdGMFkyaGxjaUlzSW5CdmMzUkdhV3gwWlhJaUxDSndiM04wUm1sdVpHVnlJaXdpY0c5emRGTmxiR1ZqZEc5eUlpd2lkR1Z0Y0NJc0luQnlaVTFoY0NJc0luQnZjM1JOWVhBaUxDSndjbVZsZUdsemRHbHVaeUlzSW1OdmJuUmxlSFJ6SWl3aWJYVnNkR2x3YkdWRGIyNTBaWGgwY3lJc0ltMWhkR05vWlhKSmJpSXNJbTFoZEdOb1pYSlBkWFFpTENKdFlYUmphR1Z5Um5KdmJWUnZhMlZ1Y3lJc0ltTm9aV05yUTI5dWRHVjRkQ0lzSW14bFlXUnBibWRTWld4aGRHbDJaU0lzSW1sdGNHeHBZMmwwVW1Wc1lYUnBkbVVpTENKdFlYUmphRU52Ym5SbGVIUWlMQ0p0WVhSamFFRnVlVU52Ym5SbGVIUWlMQ0ptYVd4MFpYSnpJaXdpY0dGeWMyVlBibXg1SWl3aWMyOUdZWElpTENKd2NtVkdhV3gwWlhKeklpd2lZMkZqYUdWa0lpd2ljMlYwVFdGMFkyaGxjbk1pTENKbGJHVnRaVzUwVFdGMFkyaGxjbk1pTENKaWVWTmxkQ0lzSW1KNVJXeGxiV1Z1ZENJc0luTjFjR1Z5VFdGMFkyaGxjaUlzSW05MWRHVnliVzl6ZENJc0ltMWhkR05vWldSRGIzVnVkQ0lzSW5ObGRFMWhkR05vWldRaUxDSmpiMjUwWlhoMFFtRmphM1Z3SWl3aVpHbHljblZ1YzFWdWFYRjFaU0lzSW0xaGRHTm9aWEpHY205dFIzSnZkWEJOWVhSamFHVnljeUlzSW5SdmEyVnVJaXdpWTI5dGNHbHNaV1FpTENKZmJtRnRaU0lzSW1SbFptRjFiSFJXWVd4MVpTSXNJblZ1YVhGMVpTSXNJbWx6V0UxTVJHOWpJaXdpWlhOallYQmxVMlZzWldOMGIzSWlMQ0oxYm5ScGJDSXNJblJ5ZFc1allYUmxJaXdpYVhNaUxDSnphV0pzYVc1bmN5SXNJbTRpTENKeWJtVmxaSE5EYjI1MFpYaDBJaXdpY25OcGJtZHNaVlJoWnlJc0luZHBibTV2ZHlJc0luRjFZV3hwWm1sbGNpSXNJbk5sYkdZaUxDSnliMjkwYWxGMVpYSjVJaXdpY0dGeWMyVklWRTFNSWl3aWNtVmhaSGtpTENKeWNHRnlaVzUwYzNCeVpYWWlMQ0puZFdGeVlXNTBaV1ZrVlc1cGNYVmxJaXdpWTJocGJHUnlaVzRpTENKamIyNTBaVzUwY3lJc0luQnlaWFlpTENKemFXSnNhVzVuSWl3aWRHRnlaMlYwY3lJc0ltd2lMQ0pqYkc5elpYTjBJaXdpYVc1a1pYZ2lMQ0p3Y21WMlFXeHNJaXdpWVdSa0lpd2lZV1JrUW1GamF5SXNJbkJoY21WdWRITWlMQ0p3WVhKbGJuUnpWVzUwYVd3aUxDSnVaWGgwUVd4c0lpd2libVY0ZEZWdWRHbHNJaXdpY0hKbGRsVnVkR2xzSWl3aVkyOXVkR1Z1ZEVSdlkzVnRaVzUwSWl3aVkyOXVkR1Z1ZENJc0luSmxkbVZ5YzJVaUxDSnlibTkwYUhSdGJIZG9hWFJsSWl3aVNXUmxiblJwZEhraUxDSjJJaXdpVkdoeWIzZGxjaUlzSW1WNElpd2lZV1J2Y0hSV1lXeDFaU0lzSW5KbGMyOXNkbVVpTENKeVpXcGxZM1FpTENKdWIxWmhiSFZsSWl3aWJXVjBhRzlrSWl3aWNISnZiV2x6WlNJc0ltWmhhV3dpTENKMGFHVnVJaXdpUTJGc2JHSmhZMnR6SWl3aWIySnFaV04wSWl3aVh5SXNJbVpzWVdjaUxDSmpjbVZoZEdWUGNIUnBiMjV6SWl3aVptbHlhVzVuSWl3aWJXVnRiM0o1SWl3aVptbHlaV1FpTENKc2IyTnJaV1FpTENKeGRXVjFaU0lzSW1acGNtbHVaMGx1WkdWNElpd2labWx5WlNJc0ltOXVZMlVpTENKemRHOXdUMjVHWVd4elpTSXNJbkpsYlc5MlpTSXNJbVJwYzJGaWJHVWlMQ0pzYjJOcklpd2labWx5WlZkcGRHZ2lMQ0pFWldabGNuSmxaQ0lzSW1aMWJtTWlMQ0owZFhCc1pYTWlMQ0p6ZEdGMFpTSXNJbUZzZDJGNWN5SXNJbVJsWm1WeWNtVmtJaXdpWTJGMFkyZ2lMQ0p3YVhCbElpd2labTV6SWl3aWJtVjNSR1ZtWlhJaUxDSjBkWEJzWlNJc0luSmxkSFZ5Ym1Wa0lpd2ljSEp2WjNKbGMzTWlMQ0p1YjNScFpua2lMQ0p2YmtaMWJHWnBiR3hsWkNJc0ltOXVVbVZxWldOMFpXUWlMQ0p2YmxCeWIyZHlaWE56SWl3aWJXRjRSR1Z3ZEdnaUxDSmtaWEIwYUNJc0luTndaV05wWVd3aUxDSjBhR0YwSWl3aWJXbG5hSFJVYUhKdmR5SXNJbFI1Y0dWRmNuSnZjaUlzSW01dmRHbG1lVmRwZEdnaUxDSnlaWE52YkhabFYybDBhQ0lzSW5CeWIyTmxjM01pTENKbGVHTmxjSFJwYjI1SWIyOXJJaXdpYzNSaFkydFVjbUZqWlNJc0luSmxhbVZqZEZkcGRHZ2lMQ0puWlhSVGRHRmphMGh2YjJzaUxDSnpaWFJVYVcxbGIzVjBJaXdpYzNSaGRHVlRkSEpwYm1jaUxDSjNhR1Z1SWl3aWMybHVaMnhsVm1Gc2RXVWlMQ0p5WlcxaGFXNXBibWNpTENKeVpYTnZiSFpsUTI5dWRHVjRkSE1pTENKeVpYTnZiSFpsVm1Gc2RXVnpJaXdpY0hKcGJXRnllU0lzSW5Wd1pHRjBaVVoxYm1NaUxDSnlaWEp5YjNKT1lXMWxjeUlzSW5OMFlXTnJJaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p0WlhOellXZGxJaXdpY21WaFpIbEZlR05sY0hScGIyNGlMQ0p5WldGa2VVeHBjM1FpTENKamIyMXdiR1YwWldRaUxDSnlaVzF2ZG1WRmRtVnVkRXhwYzNSbGJtVnlJaXdpY21WaFpIbFhZV2wwSWl3aWQyRnBkQ0lzSW5KbFlXUjVVM1JoZEdVaUxDSmtiMU5qY205c2JDSXNJbUZqWTJWemN5SXNJbU5vWVdsdVlXSnNaU0lzSW1WdGNIUjVSMlYwSWl3aWNtRjNJaXdpWW5Wc2F5SXNJbDlyWlhraUxDSnliWE5RY21WbWFYZ2lMQ0p5WkdGemFFRnNjR2hoSWl3aVptTmhiV1ZzUTJGelpTSXNJbDloYkd3aUxDSnNaWFIwWlhJaUxDSjBiMVZ3Y0dWeVEyRnpaU0lzSW1OaGJXVnNRMkZ6WlNJc0luTjBjbWx1WnlJc0ltRmpZMlZ3ZEVSaGRHRWlMQ0p2ZDI1bGNpSXNJa1JoZEdFaUxDSjFhV1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbk5sZENJc0ltUmhkR0VpTENKd2NtOXdJaXdpYUdGelJHRjBZU0lzSW1SaGRHRlFjbWwySWl3aVpHRjBZVlZ6WlhJaUxDSnlZbkpoWTJVaUxDSnliWFZzZEdsRVlYTm9JaXdpWkdGMFlVRjBkSElpTENKS1UwOU9JaXdpY0dGeWMyVWlMQ0puWlhSRVlYUmhJaXdpY21WdGIzWmxSR0YwWVNJc0lsOWtZWFJoSWl3aVgzSmxiVzkyWlVSaGRHRWlMQ0prWlhGMVpYVmxJaXdpYzNSaGNuUk1aVzVuZEdnaUxDSm9iMjlyY3lJc0lsOXhkV1YxWlVodmIydHpJaXdpYzNSdmNDSXNJbk5sZEhSbGNpSXNJbU5zWldGeVVYVmxkV1VpTENKamIzVnVkQ0lzSW1SbFptVnlJaXdpY0c1MWJTSXNJbk52ZFhKalpTSXNJbkpqYzNOT2RXMGlMQ0pqYzNORmVIQmhibVFpTENKcGMwRjBkR0ZqYUdWa0lpd2lZMjl0Y0c5elpXUWlMQ0puWlhSU2IyOTBUbTlrWlNJc0ltbHpTR2xrWkdWdVYybDBhR2x1VkhKbFpTSXNJbk4wZVd4bElpd2laR2x6Y0d4aGVTSXNJbU56Y3lJc0ltRmthblZ6ZEVOVFV5SXNJblpoYkhWbFVHRnlkSE1pTENKMGQyVmxiaUlzSW1Ga2FuVnpkR1ZrSWl3aWMyTmhiR1VpTENKdFlYaEpkR1Z5WVhScGIyNXpJaXdpWTNWeWNtVnVkRlpoYkhWbElpd2lhVzVwZEdsaGJDSXNJblZ1YVhRaUxDSmpjM05PZFcxaVpYSWlMQ0pwYm1sMGFXRnNTVzVWYm1sMElpd2laR1ZtWVhWc2RFUnBjM0JzWVhsTllYQWlMQ0puWlhSRVpXWmhkV3gwUkdsemNHeGhlU0lzSW1KdlpIa2lMQ0p6YUc5M1NHbGtaU0lzSW5Ob2IzY2lMQ0oyWVd4MVpYTWlMQ0pvYVdSbElpd2lkRzluWjJ4bElpd2laR2wySWl3aWNtTm9aV05yWVdKc1pWUjVjR1VpTENKeWRHRm5UbUZ0WlNJc0luSnpZM0pwY0hSVWVYQmxJaXdpWTNKbFlYUmxSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJbU5vWldOclEyeHZibVVpTENKamJHOXVaVTV2WkdVaUxDSnViME5zYjI1bFEyaGxZMnRsWkNJc0ltOXdkR2x2YmlJc0luZHlZWEJOWVhBaUxDSjBhR1ZoWkNJc0ltTnZiQ0lzSW5SeUlpd2lkR1FpTENKZlpHVm1ZWFZzZENJc0ltZGxkRUZzYkNJc0luTmxkRWRzYjJKaGJFVjJZV3dpTENKeVpXWkZiR1Z0Wlc1MGN5SXNJblJpYjJSNUlpd2lkR1p2YjNRaUxDSmpiMnhuY205MWNDSXNJbU5oY0hScGIyNGlMQ0owYUNJc0ltOXdkR2R5YjNWd0lpd2lZblZwYkdSR2NtRm5iV1Z1ZENJc0luTmpjbWx3ZEhNaUxDSnpaV3hsWTNScGIyNGlMQ0pwWjI1dmNtVmtJaXdpZDNKaGNDSXNJbUYwZEdGamFHVmtJaXdpWm5KaFoyMWxiblFpTENKdWIyUmxjeUlzSW1oMGJXeFFjbVZtYVd4MFpYSWlMQ0pqY21WaGRHVlVaWGgwVG05a1pTSXNJbkowZVhCbGJtRnRaWE53WVdObElpd2ljbVYwZFhKdVZISjFaU0lzSW5KbGRIVnlia1poYkhObElpd2laWGh3WldOMFUzbHVZeUlzSW1WeWNpSXNJbk5oWm1WQlkzUnBkbVZGYkdWdFpXNTBJaXdpYjI0aUxDSjBlWEJsY3lJc0ltOXVaU0lzSW05eWFXZEdiaUlzSW1WMlpXNTBJaXdpYjJabUlpd2liR1YyWlhKaFoyVk9ZWFJwZG1VaUxDSnViM1JCYzNsdVl5SXNJbk5oZG1Wa0lpd2lhWE5VY21sbloyVnlJaXdpWkdWc1pXZGhkR1ZVZVhCbElpd2ljM1J2Y0ZCeWIzQmhaMkYwYVc5dUlpd2ljM1J2Y0VsdGJXVmthV0YwWlZCeWIzQmhaMkYwYVc5dUlpd2ljSEpsZG1WdWRFUmxabUYxYkhRaUxDSjBjbWxuWjJWeUlpd2lSWFpsYm5RaUxDSm9ZVzVrYkdWUFltcEpiaUlzSW1WMlpXNTBTR0Z1Wkd4bElpd2laWFpsYm5Seklpd2lkQ0lzSW1oaGJtUnNaVTlpYWlJc0ltaGhibVJzWlhKeklpd2libUZ0WlhOd1lXTmxjeUlzSW05eWFXZFVlWEJsSWl3aVpXeGxiVVJoZEdFaUxDSmpjbVZoZEdVaUxDSm9ZVzVrYkdVaUxDSjBjbWxuWjJWeVpXUWlMQ0prYVhOd1lYUmphQ0lzSW1KcGJtUlVlWEJsSWl3aVpHVnNaV2RoZEdWRGIzVnVkQ0lzSW5ObGRIVndJaXdpYldGd2NHVmtWSGx3WlhNaUxDSnZjbWxuUTI5MWJuUWlMQ0owWldGeVpHOTNiaUlzSW5KbGJXOTJaVVYyWlc1MElpd2libUYwYVhabFJYWmxiblFpTENKb1lXNWtiR1Z5VVhWbGRXVWlMQ0ptYVhnaUxDSmtaV3hsWjJGMFpWUmhjbWRsZENJc0luQnlaVVJwYzNCaGRHTm9JaXdpYVhOUWNtOXdZV2RoZEdsdmJsTjBiM0J3WldRaUxDSmpkWEp5Wlc1MFZHRnlaMlYwSWl3aWFYTkpiVzFsWkdsaGRHVlFjbTl3WVdkaGRHbHZibE4wYjNCd1pXUWlMQ0p5Ym1GdFpYTndZV05sSWl3aWNHOXpkRVJwYzNCaGRHTm9JaXdpYldGMFkyaGxaRWhoYm1Sc1pYSnpJaXdpYldGMFkyaGxaRk5sYkdWamRHOXljeUlzSW1Ga1pGQnliM0FpTENKb2IyOXJJaXdpWlc1MWJXVnlZV0pzWlNJc0ltOXlhV2RwYm1Gc1JYWmxiblFpTENKM2NtbDBZV0pzWlNJc0lteHZZV1FpTENKdWIwSjFZbUpzWlNJc0ltTnNhV05ySWl3aVltVm1iM0psZFc1c2IyRmtJaXdpY21WMGRYSnVWbUZzZFdVaUxDSndjbTl3Y3lJc0ltbHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDSXNJbVJsWm1GMWJIUlFjbVYyWlc1MFpXUWlMQ0p5Wld4aGRHVmtWR0Z5WjJWMElpd2lkR2x0WlZOMFlXMXdJaXdpYm05M0lpd2lhWE5UYVcxMWJHRjBaV1FpTENKaGJIUkxaWGtpTENKaWRXSmliR1Z6SWl3aVkyRnVZMlZzWVdKc1pTSXNJbU5vWVc1blpXUlViM1ZqYUdWeklpd2lZM1J5YkV0bGVTSXNJbVJsZEdGcGJDSXNJbVYyWlc1MFVHaGhjMlVpTENKdFpYUmhTMlY1SWl3aWNHRm5aVmdpTENKd1lXZGxXU0lzSW5Ob2FXWjBTMlY1SWl3aWRtbGxkeUlzSW1Ob1lYSWlMQ0pqYUdGeVEyOWtaU0lzSW10bGVVTnZaR1VpTENKaWRYUjBiMjV6SWl3aVkyeHBaVzUwV0NJc0ltTnNhV1Z1ZEZraUxDSnZabVp6WlhSWUlpd2liMlptYzJWMFdTSXNJbkJ2YVc1MFpYSkpaQ0lzSW5CdmFXNTBaWEpVZVhCbElpd2ljMk55WldWdVdDSXNJbk5qY21WbGJsa2lMQ0owWVhKblpYUlViM1ZqYUdWeklpd2lkRzlGYkdWdFpXNTBJaXdpZEc5MVkyaGxjeUlzSW5kb2FXTm9JaXdpWW14MWNpSXNJbTF2ZFhObFpXNTBaWElpTENKdGIzVnpaV3hsWVhabElpd2ljRzlwYm5SbGNtVnVkR1Z5SWl3aWNHOXBiblJsY214bFlYWmxJaXdpYjNKcFp5SXNJbkpsYkdGMFpXUWlMQ0p5Ym05SmJtNWxjbWgwYld3aUxDSnlZMmhsWTJ0bFpDSXNJbkpqYkdWaGJsTmpjbWx3ZENJc0ltMWhibWx3ZFd4aGRHbHZibFJoY21kbGRDSXNJbVJwYzJGaWJHVlRZM0pwY0hRaUxDSnlaWE4wYjNKbFUyTnlhWEIwSWl3aVkyeHZibVZEYjNCNVJYWmxiblFpTENKa1pYTjBJaXdpZFdSaGRHRlBiR1FpTENKMVpHRjBZVU4xY2lJc0ltUnZiVTFoYm1sd0lpd2lZMjlzYkdWamRHbHZiaUlzSW1oaGMxTmpjbWx3ZEhNaUxDSnBUbTlEYkc5dVpTSXNJblpoYkhWbFNYTkdkVzVqZEdsdmJpSXNJbWgwYld3aUxDSmZaWFpoYkZWeWJDSXNJbXRsWlhCRVlYUmhJaXdpWTJ4bFlXNUVZWFJoSWl3aVpHRjBZVUZ1WkVWMlpXNTBjeUlzSW1SbFpYQkVZWFJoUVc1a1JYWmxiblJ6SWl3aWMzSmpSV3hsYldWdWRITWlMQ0prWlhOMFJXeGxiV1Z1ZEhNaUxDSnBibEJoWjJVaUxDSmtaWFJoWTJnaUxDSmhjSEJsYm1RaUxDSndjbVZ3Wlc1a0lpd2lhVzV6WlhKMFFtVm1iM0psSWl3aVltVm1iM0psSWl3aVlXWjBaWElpTENKeVpYQnNZV05sVjJsMGFDSXNJbkpsY0d4aFkyVkRhR2xzWkNJc0ltRndjR1Z1WkZSdklpd2ljSEpsY0dWdVpGUnZJaXdpYVc1elpYSjBRV1owWlhJaUxDSnlaWEJzWVdObFFXeHNJaXdpYjNKcFoybHVZV3dpTENKcGJuTmxjblFpTENKeWJuVnRibTl1Y0hnaUxDSm5aWFJUZEhsc1pYTWlMQ0p2Y0dWdVpYSWlMQ0puWlhSRGIyMXdkWFJsWkZOMGVXeGxJaXdpYzNkaGNDSXNJbTlzWkNJc0luSmliM2hUZEhsc1pTSXNJbU4xY2tOVFV5SXNJbU52YlhCMWRHVmtJaXdpZDJsa2RHZ2lMQ0p0YVc1WGFXUjBhQ0lzSW0xaGVGZHBaSFJvSWl3aVoyVjBVSEp2Y0dWeWRIbFdZV3gxWlNJc0luQnBlR1ZzUW05NFUzUjViR1Z6SWl3aVlXUmtSMlYwU0c5dmEwbG1JaXdpWTI5dVpHbDBhVzl1Um00aUxDSm9iMjlyUm00aUxDSmpiMjF3ZFhSbFUzUjViR1ZVWlhOMGN5SXNJbU52Ym5SaGFXNWxjaUlzSW1OemMxUmxlSFFpTENKa2FYWlRkSGxzWlNJc0luQnBlR1ZzVUc5emFYUnBiMjVXWVd3aUxDSnlaV3hwWVdKc1pVMWhjbWRwYmt4bFpuUldZV3dpTENKeWIzVnVaRkJwZUdWc1RXVmhjM1Z5WlhNaUxDSnRZWEpuYVc1TVpXWjBJaXdpY21sbmFIUWlMQ0p3YVhobGJFSnZlRk4wZVd4bGMxWmhiQ0lzSW1KdmVGTnBlbWx1WjFKbGJHbGhZbXhsVm1Gc0lpd2ljRzl6YVhScGIyNGlMQ0p6WTNKdmJHeGliM2hUYVhwbFZtRnNJaXdpYjJabWMyVjBWMmxrZEdnaUxDSnRaV0Z6ZFhKbElpd2ljbTkxYm1RaUxDSndZWEp6WlVac2IyRjBJaXdpY21Wc2FXRmliR1ZVY2tScGJXVnVjMmx2Ym5OV1lXd2lMQ0ppWVdOclozSnZkVzVrUTJ4cGNDSXNJbU5zWldGeVEyeHZibVZUZEhsc1pTSXNJbUp2ZUZOcGVtbHVaMUpsYkdsaFlteGxJaXdpY0dsNFpXeFFiM05wZEdsdmJpSXNJbkpsYkdsaFlteGxUV0Z5WjJsdVRHVm1kQ0lzSW5OamNtOXNiR0p2ZUZOcGVtVWlMQ0p5Wld4cFlXSnNaVlJ5UkdsdFpXNXphVzl1Y3lJc0luUmhZbXhsSWl3aWRISkRhR2xzWkNJc0luUnlVM1I1YkdVaUxDSm9aV2xuYUhRaUxDSndZWEp6WlVsdWRDSXNJbUp2Y21SbGNsUnZjRmRwWkhSb0lpd2lZbTl5WkdWeVFtOTBkRzl0VjJsa2RHZ2lMQ0p2Wm1aelpYUklaV2xuYUhRaUxDSmpjM05RY21WbWFYaGxjeUlzSW1WdGNIUjVVM1I1YkdVaUxDSjJaVzVrYjNKUWNtOXdjeUlzSW1acGJtRnNVSEp2Y0U1aGJXVWlMQ0ptYVc1aGJDSXNJbU56YzFCeWIzQnpJaXdpWTJGd1RtRnRaU0lzSW5abGJtUnZjbEJ5YjNCT1lXMWxJaXdpY21ScGMzQnNZWGx6ZDJGd0lpd2ljbU4xYzNSdmJWQnliM0FpTENKamMzTlRhRzkzSWl3aWRtbHphV0pwYkdsMGVTSXNJbU56YzA1dmNtMWhiRlJ5WVc1elptOXliU0lzSW14bGRIUmxjbE53WVdOcGJtY2lMQ0ptYjI1MFYyVnBaMmgwSWl3aWMyVjBVRzl6YVhScGRtVk9kVzFpWlhJaUxDSnpkV0owY21GamRDSXNJbTFoZUNJc0ltSnZlRTF2WkdWc1FXUnFkWE4wYldWdWRDSXNJbVJwYldWdWMybHZiaUlzSW1KdmVDSXNJbWx6UW05eVpHVnlRbTk0SWl3aWMzUjViR1Z6SWl3aVkyOXRjSFYwWldSV1lXd2lMQ0psZUhSeVlTSXNJbVJsYkhSaElpd2lZMlZwYkNJc0ltZGxkRmRwWkhSb1QzSklaV2xuYUhRaUxDSjJZV3gxWlVselFtOXlaR1Z5UW05NElpd2liMlptYzJWMFVISnZjQ0lzSW1kbGRFTnNhV1Z1ZEZKbFkzUnpJaXdpVkhkbFpXNGlMQ0psWVhOcGJtY2lMQ0pqYzNOSWIyOXJjeUlzSW05d1lXTnBkSGtpTENKaGJtbHRZWFJwYjI1SmRHVnlZWFJwYjI1RGIzVnVkQ0lzSW1OdmJIVnRia052ZFc1MElpd2labWxzYkU5d1lXTnBkSGtpTENKbWJHVjRSM0p2ZHlJc0ltWnNaWGhUYUhKcGJtc2lMQ0puY21sa1FYSmxZU0lzSW1keWFXUkRiMngxYlc0aUxDSm5jbWxrUTI5c2RXMXVSVzVrSWl3aVozSnBaRU52YkhWdGJsTjBZWEowSWl3aVozSnBaRkp2ZHlJc0ltZHlhV1JTYjNkRmJtUWlMQ0puY21sa1VtOTNVM1JoY25RaUxDSnNhVzVsU0dWcFoyaDBJaXdpYjNKa1pYSWlMQ0p2Y25Cb1lXNXpJaXdpZDJsa2IzZHpJaXdpZWtsdVpHVjRJaXdpZW05dmJTSXNJbTl5YVdkT1lXMWxJaXdpYVhORGRYTjBiMjFRY205d0lpd2ljMlYwVUhKdmNHVnlkSGtpTENKcGMwWnBibWwwWlNJc0ltZGxkRUp2ZFc1a2FXNW5RMnhwWlc1MFVtVmpkQ0lzSW5OamNtOXNiR0p2ZUZOcGVtVkNkV2RuZVNJc0lteGxablFpTENKdFlYSm5hVzRpTENKd1lXUmthVzVuSWl3aVltOXlaR1Z5SWl3aWNISmxabWw0SWl3aWMzVm1abWw0SWl3aVpYaHdZVzVrSWl3aVpYaHdZVzVrWldRaUxDSndZWEowY3lJc0luQnliM0JJYjI5cmN5SXNJbkoxYmlJc0luQmxjbU5sYm5RaUxDSmxZWE5sWkNJc0ltUjFjbUYwYVc5dUlpd2ljRzl6SWl3aWMzUmxjQ0lzSW1aNElpd2ljMk55YjJ4c1ZHOXdJaXdpYzJOeWIyeHNUR1ZtZENJc0lteHBibVZoY2lJc0luQWlMQ0p6ZDJsdVp5SXNJbU52Y3lJc0lsQkpJaXdpWm5oT2IzY2lMQ0pwYmxCeWIyZHlaWE56SWl3aWNtWjRkSGx3WlhNaUxDSnljblZ1SWl3aWMyTm9aV1IxYkdVaUxDSm9hV1JrWlc0aUxDSnlaWEYxWlhOMFFXNXBiV0YwYVc5dVJuSmhiV1VpTENKcGJuUmxjblpoYkNJc0luUnBZMnNpTENKamNtVmhkR1ZHZUU1dmR5SXNJbWRsYmtaNElpd2lhVzVqYkhWa1pWZHBaSFJvSWl3aVkzSmxZWFJsVkhkbFpXNGlMQ0poYm1sdFlYUnBiMjRpTENKQmJtbHRZWFJwYjI0aUxDSjBkMlZsYm1WeWN5SXNJbkJ5YjNCbGNuUnBaWE1pTENKemRHOXdjR1ZrSWl3aWNISmxabWxzZEdWeWN5SXNJbU4xY25KbGJuUlVhVzFsSWl3aWMzUmhjblJVYVcxbElpd2lkSGRsWlc1eklpd2liM0IwY3lJc0luTndaV05wWVd4RllYTnBibWNpTENKdmNtbG5hVzVoYkZCeWIzQmxjblJwWlhNaUxDSnZjbWxuYVc1aGJFOXdkR2x2Ym5NaUxDSm5iM1J2Ulc1a0lpd2ljSEp2Y0VacGJIUmxjaUlzSW1KcGJtUWlMQ0pqYjIxd2JHVjBaU0lzSW5ScGJXVnlJaXdpWVc1cGJTSXNJaW9pTENKMGQyVmxibVZ5SWl3aWIyeGtabWx5WlNJc0luQnliM0JVZDJWbGJpSXNJbkpsYzNSdmNtVkVhWE53YkdGNUlpd2lhWE5DYjNnaUxDSmtZWFJoVTJodmR5SXNJblZ1Y1hWbGRXVmtJaXdpYjNabGNtWnNiM2NpTENKdmRtVnlabXh2ZDFnaUxDSnZkbVZ5Wm14dmQxa2lMQ0p3Y21WbWFXeDBaWElpTENKemNHVmxaQ0lzSW05d2RDSXNJbk53WldWa2N5SXNJbVpoWkdWVWJ5SXNJblJ2SWl3aVlXNXBiV0YwWlNJc0ltOXdkR0ZzYkNJc0ltUnZRVzVwYldGMGFXOXVJaXdpWm1sdWFYTm9JaXdpYzNSdmNGRjFaWFZsSWl3aWRHbHRaWEp6SWl3aVkzTnpSbTRpTENKemJHbGtaVVJ2ZDI0aUxDSnpiR2xrWlZWd0lpd2ljMnhwWkdWVWIyZG5iR1VpTENKbVlXUmxTVzRpTENKbVlXUmxUM1YwSWl3aVptRmtaVlJ2WjJkc1pTSXNJbk5zYjNjaUxDSm1ZWE4wSWl3aVpHVnNZWGtpTENKMGFXMWxJaXdpZEdsdFpXOTFkQ0lzSW1Oc1pXRnlWR2x0Wlc5MWRDSXNJbU5vWldOclQyNGlMQ0p2Y0hSVFpXeGxZM1JsWkNJc0luSmhaR2x2Vm1Gc2RXVWlMQ0ppYjI5c1NHOXZheUlzSW5KbGJXOTJaVUYwZEhJaUxDSnVWSGx3WlNJc0ltRjBkSEpJYjI5cmN5SXNJbUYwZEhKT1lXMWxjeUlzSW1kbGRIUmxjaUlzSW14dmQyVnlZMkZ6WlU1aGJXVWlMQ0p5Wm05amRYTmhZbXhsSWl3aWNtTnNhV05yWVdKc1pTSXNJbk4wY21sd1FXNWtRMjlzYkdGd2MyVWlMQ0puWlhSRGJHRnpjeUlzSW1Oc1lYTnpaWE5VYjBGeWNtRjVJaXdpY21WdGIzWmxVSEp2Y0NJc0luQnliM0JHYVhnaUxDSjBZV0pwYm1SbGVDSXNJbVp2Y2lJc0ltTnNZWE56SWl3aVlXUmtRMnhoYzNNaUxDSmpiR0Z6YzJWeklpd2lZM1Z5Vm1Gc2RXVWlMQ0pqYkdGNmVpSXNJbVpwYm1Gc1ZtRnNkV1VpTENKeVpXMXZkbVZEYkdGemN5SXNJblJ2WjJkc1pVTnNZWE56SWl3aWMzUmhkR1ZXWVd3aUxDSnBjMVpoYkdsa1ZtRnNkV1VpTENKamJHRnpjMDVoYldWeklpd2lhR0Z6UTJ4aGMzTWlMQ0p5Y21WMGRYSnVJaXdpZG1Gc1NHOXZhM01pTENKdmNIUnBiMjVUWlhRaUxDSm1iMk4xYzJsdUlpd2ljbVp2WTNWelRXOXljR2dpTENKemRHOXdVSEp2Y0dGbllYUnBiMjVEWVd4c1ltRmpheUlzSW05dWJIbElZVzVrYkdWeWN5SXNJbUoxWW1Kc1pWUjVjR1VpTENKdmJuUjVjR1VpTENKc1lYTjBSV3hsYldWdWRDSXNJbVYyWlc1MFVHRjBhQ0lzSW5CaGNtVnVkRmRwYm1SdmR5SXNJbk5wYlhWc1lYUmxJaXdpZEhKcFoyZGxja2hoYm1Sc1pYSWlMQ0poZEhSaFkyaGxjeUlzSW5KeGRXVnllU0lzSW5CaGNuTmxXRTFNSWl3aWNHRnljMlZ5UlhKeWIzSkZiR1Z0SWl3aVJFOU5VR0Z5YzJWeUlpd2ljR0Z5YzJWR2NtOXRVM1J5YVc1bklpd2ljbUp5WVdOclpYUWlMQ0p5UTFKTVJpSXNJbkp6ZFdKdGFYUjBaWEpVZVhCbGN5SXNJbkp6ZFdKdGFYUjBZV0pzWlNJc0ltSjFhV3hrVUdGeVlXMXpJaXdpZEhKaFpHbDBhVzl1WVd3aUxDSndZWEpoYlNJc0luTWlMQ0oyWVd4MVpVOXlSblZ1WTNScGIyNGlMQ0psYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFpTENKelpYSnBZV3hwZW1VaUxDSnpaWEpwWVd4cGVtVkJjbkpoZVNJc0luSXlNQ0lzSW5Kb1lYTm9JaXdpY21GdWRHbERZV05vWlNJc0luSm9aV0ZrWlhKeklpd2ljbTV2UTI5dWRHVnVkQ0lzSW5Kd2NtOTBiMk52YkNJc0luUnlZVzV6Y0c5eWRITWlMQ0poYkd4VWVYQmxjeUlzSW05eWFXZHBia0Z1WTJodmNpSXNJbUZrWkZSdlVISmxabWxzZEdWeWMwOXlWSEpoYm5Od2IzSjBjeUlzSW5OMGNuVmpkSFZ5WlNJc0ltUmhkR0ZVZVhCbFJYaHdjbVZ6YzJsdmJpSXNJbVJoZEdGVWVYQmxJaXdpWkdGMFlWUjVjR1Z6SWl3aWFXNXpjR1ZqZEZCeVpXWnBiSFJsY25OUGNsUnlZVzV6Y0c5eWRITWlMQ0pxY1ZoSVVpSXNJbWx1YzNCbFkzUmxaQ0lzSW5ObFpXdHBibWRVY21GdWMzQnZjblFpTENKcGJuTndaV04wSWl3aWNISmxabWxzZEdWeVQzSkdZV04wYjNKNUlpd2laR0YwWVZSNWNHVlBjbFJ5WVc1emNHOXlkQ0lzSW1GcVlYaEZlSFJsYm1RaUxDSm1iR0YwVDNCMGFXOXVjeUlzSW1GcVlYaFRaWFIwYVc1bmN5SXNJbUZqZEdsMlpTSXNJbXhoYzNSTmIyUnBabWxsWkNJc0ltVjBZV2NpTENKMWNtd2lMQ0pwYzB4dlkyRnNJaXdpY0hKdmRHOWpiMndpTENKd2NtOWpaWE56UkdGMFlTSXNJbUZ6ZVc1aklpd2lZMjl1ZEdWdWRGUjVjR1VpTENKaFkyTmxjSFJ6SWl3aWFuTnZiaUlzSW5KbGMzQnZibk5sUm1sbGJHUnpJaXdpWTI5dWRtVnlkR1Z5Y3lJc0lpb2dkR1Y0ZENJc0luUmxlSFFnYUhSdGJDSXNJblJsZUhRZ2FuTnZiaUlzSW5SbGVIUWdlRzFzSWl3aVlXcGhlRk5sZEhWd0lpd2ljMlYwZEdsdVozTWlMQ0poYW1GNFVISmxabWxzZEdWeUlpd2lZV3BoZUZSeVlXNXpjRzl5ZENJc0ltRnFZWGdpTENKMGNtRnVjM0J2Y25RaUxDSmpZV05vWlZWU1RDSXNJbkpsYzNCdmJuTmxTR1ZoWkdWeWMxTjBjbWx1WnlJc0luSmxjM0J2Ym5ObFNHVmhaR1Z5Y3lJc0luUnBiV1Z2ZFhSVWFXMWxjaUlzSW5WeWJFRnVZMmh2Y2lJc0ltWnBjbVZIYkc5aVlXeHpJaXdpZFc1allXTm9aV1FpTENKallXeHNZbUZqYTBOdmJuUmxlSFFpTENKbmJHOWlZV3hGZG1WdWRFTnZiblJsZUhRaUxDSmpiMjF3YkdWMFpVUmxabVZ5Y21Wa0lpd2ljM1JoZEhWelEyOWtaU0lzSW5KbGNYVmxjM1JJWldGa1pYSnpJaXdpY21WeGRXVnpkRWhsWVdSbGNuTk9ZVzFsY3lJc0luTjBja0ZpYjNKMElpd2laMlYwVW1WemNHOXVjMlZJWldGa1pYSWlMQ0puWlhSQmJHeFNaWE53YjI1elpVaGxZV1JsY25NaUxDSnpaWFJTWlhGMVpYTjBTR1ZoWkdWeUlpd2liM1psY25KcFpHVk5hVzFsVkhsd1pTSXNJbTFwYldWVWVYQmxJaXdpYzNSaGRIVnpJaXdpWVdKdmNuUWlMQ0p6ZEdGMGRYTlVaWGgwSWl3aVptbHVZV3hVWlhoMElpd2lZM0p2YzNORWIyMWhhVzRpTENKb2IzTjBJaXdpYUdGelEyOXVkR1Z1ZENJc0ltbG1UVzlrYVdacFpXUWlMQ0pvWldGa1pYSnpJaXdpWW1WbWIzSmxVMlZ1WkNJc0luTjFZMk5sYzNNaUxDSnpaVzVrSWl3aWJtRjBhWFpsVTNSaGRIVnpWR1Y0ZENJc0luSmxjM0J2Ym5ObGN5SXNJbWx6VTNWalkyVnpjeUlzSW5KbGMzQnZibk5sSWl3aWJXOWthV1pwWldRaUxDSmpkQ0lzSW1acGJtRnNSR0YwWVZSNWNHVWlMQ0ptYVhKemRFUmhkR0ZVZVhCbElpd2lZV3BoZUVoaGJtUnNaVkpsYzNCdmJuTmxjeUlzSW1OdmJuWXlJaXdpWTNWeWNtVnVkQ0lzSW1OdmJuWWlMQ0prWVhSaFJtbHNkR1Z5SWl3aWRHaHliM2R6SWl3aVlXcGhlRU52Ym5abGNuUWlMQ0puWlhSS1UwOU9JaXdpWjJWMFUyTnlhWEIwSWl3aWRHVjRkQ0J6WTNKcGNIUWlMQ0ozY21Gd1FXeHNJaXdpWm1seWMzUkZiR1Z0Wlc1MFEyaHBiR1FpTENKM2NtRndTVzV1WlhJaUxDSm9kRzFzU1hOR2RXNWpkR2x2YmlJc0luVnVkM0poY0NJc0luWnBjMmxpYkdVaUxDSjRhSElpTENKWVRVeElkSFJ3VW1WeGRXVnpkQ0lzSW5ob2NsTjFZMk5sYzNOVGRHRjBkWE1pTENJd0lpd2lNVEl5TXlJc0luaG9jbE4xY0hCdmNuUmxaQ0lzSW1OdmNuTWlMQ0psY25KdmNrTmhiR3hpWVdOcklpd2liM0JsYmlJc0luVnpaWEp1WVcxbElpd2llR2h5Um1sbGJHUnpJaXdpYjI1c2IyRmtJaXdpYjI1bGNuSnZjaUlzSW05dVlXSnZjblFpTENKdmJuUnBiV1Z2ZFhRaUxDSnZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWlMQ0p5WlhOd2IyNXpaVlI1Y0dVaUxDSnlaWE53YjI1elpWUmxlSFFpTENKaWFXNWhjbmtpTENKelkzSnBjSFJCZEhSeWN5SXNJbU5vWVhKelpYUWlMQ0p6WTNKcGNIUkRhR0Z5YzJWMElpd2laWFowSWl3aWIyeGtRMkZzYkdKaFkydHpJaXdpY21wemIyNXdJaXdpYW5OdmJuQWlMQ0pxYzI5dWNFTmhiR3hpWVdOcklpd2liM0pwWjJsdVlXeFRaWFIwYVc1bmN5SXNJbU5oYkd4aVlXTnJUbUZ0WlNJc0ltOTJaWEozY21sMGRHVnVJaXdpY21WemNHOXVjMlZEYjI1MFlXbHVaWElpTENKcWMyOXVVSEp2Y0NJc0ltTnlaV0YwWlVoVVRVeEViMk4xYldWdWRDSXNJbWx0Y0d4bGJXVnVkR0YwYVc5dUlpd2lhMlZsY0ZOamNtbHdkSE1pTENKd1lYSnpaV1FpTENKd1lYSmhiWE1pTENKaGJtbHRZWFJsWkNJc0ltOW1abk5sZENJc0luTmxkRTltWm5ObGRDSXNJbU4xY2xCdmMybDBhVzl1SWl3aVkzVnlUR1ZtZENJc0ltTjFja05UVTFSdmNDSXNJbU4xY2xSdmNDSXNJbU4xY2s5bVpuTmxkQ0lzSW1OMWNrTlRVMHhsWm5RaUxDSmpkWEpGYkdWdElpd2lkWE5wYm1jaUxDSnlaV04wSWl3aWQybHVJaXdpY0dGblpWbFBabVp6WlhRaUxDSndZV2RsV0U5bVpuTmxkQ0lzSW05bVpuTmxkRkJoY21WdWRDSXNJbkJoY21WdWRFOW1abk5sZENJc0luTmpjbTlzYkZSdklpd2lTR1ZwWjJoMElpd2lWMmxrZEdnaUxDSWlMQ0prWldaaGRXeDBSWGgwY21FaUxDSm1kVzVqVG1GdFpTSXNJblZ1WW1sdVpDSXNJbVJsYkdWbllYUmxJaXdpZFc1a1pXeGxaMkYwWlNJc0ltaHZkbVZ5SWl3aVptNVBkbVZ5SWl3aVptNVBkWFFpTENKd2NtOTRlU0lzSW1odmJHUlNaV0ZrZVNJc0ltaHZiR1FpTENKd1lYSnpaVXBUVDA0aUxDSnBjMDUxYldWeWFXTWlMQ0pwYzA1aFRpSXNJblJ5YVcwaUxDSmtaV1pwYm1VaUxDSmhiV1FpTENKZmFsRjFaWEo1SWl3aVh5UWlMQ0lrSWl3aWJtOURiMjVtYkdsamRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQllVRXNVMEZCV1VFc1JVRkJVVU1zUjBGRmJrSXNZVUZGZFVJc2FVSkJRVmhETEZGQlFXbEVMR2xDUVVGdVFrRXNUMEZCVDBNc1VVRlRhRVJFTEU5QlFVOURMRkZCUVZWSUxFVkJRVTlKTEZOQlEzWkNTQ3hGUVVGVFJDeEhRVUZSTEVkQlEycENMRk5CUVZWTExFZEJRMVFzU1VGQlRVRXNSVUZCUlVRc1UwRkRVQ3hOUVVGTkxFbEJRVWxGTEUxQlFVOHNORU5CUld4Q0xFOUJRVTlNTEVWQlFWTkpMRWxCUjJ4Q1NpeEZRVUZUUkN4SFFYUkNXQ3hEUVRCQ2RVSXNiMEpCUVZoUExFOUJRWGxDUVN4UFFVRlRReXhMUVVGTkxGTkJRVlZFTEVWQlFWRkZMRWRCVFhSRkxHRkJSVUVzU1VGQlNVTXNSVUZCVFN4SFFVVk9ReXhGUVVGWFF5eFBRVUZQUXl4bFFVVnNRa01zUlVGQlVVb3NSVUZCU1Vrc1RVRkZXa01zUlVGQlQwd3NSVUZCU1Vzc1MwRkJUeXhUUVVGVlF5eEhRVU12UWl4UFFVRlBUaXhGUVVGSlN5eExRVUZMUlN4TFFVRk5SQ3hKUVVOdVFpeFRRVUZWUVN4SFFVTmlMRTlCUVU5T0xFVkJRVWxSTEU5QlFVOURMRTFCUVU4c1IwRkJTVWdzU1VGSk1VSkpMRVZCUVU5V0xFVkJRVWxWTEV0QlJWaERMRVZCUVZWWUxFVkJRVWxYTEZGQlJXUkRMRVZCUVdFc1IwRkZZa01zUlVGQlYwUXNSVUZCVjBNc1UwRkZkRUpETEVWQlFWTkdMRVZCUVZkSExHVkJSWEJDUXl4RlFVRmhSaXhGUVVGUFJDeFRRVVZ3UWtrc1JVRkJkVUpFTEVWQlFWZFVMRXRCUVUxTUxGRkJSWGhEWjBJc1JVRkJWU3hIUVVWV1F5eEZRVUZoTEZOQlFYRkNReXhIUVZOd1F5eE5RVUZ6UWl4dFFrRkJVa0VzUjBGQk9FTXNhVUpCUVdwQ1FTeEZRVUZKUXl4VlFVTXhRaXh0UWtGQllrUXNSVUZCU1VVc1RVRkpWa01zUlVGQlZ5eFRRVUZ0UWtnc1IwRkRhRU1zVDBGQll5eE5RVUZRUVN4SFFVRmxRU3hKUVVGUlFTeEZRVUZKZGtJc1VVRkphRU5JTEVWQlFWZEhMRVZCUVU5SUxGTkJTV3BDT0VJc1JVRkJORUlzUTBGREwwSkRMRTFCUVUwc1JVRkRUa01zUzBGQlN5eEZRVU5NUXl4UFFVRlBMRVZCUTFCRExGVkJRVlVzUjBGSFdDeFRRVUZUUXl4RlFVRlRReXhGUVVGTlF5eEZRVUZOUXl4SFFVYzNRaXhKUVVGSlF5eEZRVUZIUXl4RlFVTk9ReXhIUVVoRVNDeEZRVUZOUVN4SFFVRlBkRU1zUjBGSFF6QkRMR05CUVdVc1ZVRkhOMElzUjBGRVFVUXNSVUZCVDBVc1MwRkJUMUFzUlVGRFZFTXNSVUZEU2l4SlFVRk5SU3hMUVVGTFZDeEhRVmxXVlN4RlFVRk5TQ3hGUVVGTlJTeEpRVUZQUml4RlFVRkxUeXhqUVVGblFsQXNSVUZCUzA4c1lVRkJZMHdzUzBGRk1VUkZMRVZCUVU5SkxHRkJRV05PTEVWQlFVZERMRWRCU1ROQ1JpeEZRVUZKVVN4TFFVRkxReXhaUVVGaFRpeEhRVUZUVHl4WFFVRlhReXhaUVVGaFVpeEhRVWw2UkN4VFFVRlRVeXhGUVVGUmVFSXNSMEZEYUVJc1QwRkJXU3hOUVVGUVFTeEZRVU5IUVN4RlFVRk5MRWRCU1ZFc2FVSkJRVkpCTEVkQlFXMURMRzFDUVVGU1FTeEZRVU40UTFJc1JVRkJXVU1zUlVGQlUwNHNTMEZCVFdFc1MwRkJWeXhuUWtGREwwSkJMRVZCVVZRc1NVRkpRM2xDTEVWQlFWTXNVMEZCVlVNc1JVRkJWVU1zUjBGSk5VSXNUMEZCVHl4SlFVRkpSaXhGUVVGUFJ5eEhRVUZIUXl4TFFVRk5TQ3hGUVVGVlF5eEpRVEJXZGtNc1UwRkJVMGNzUlVGQllUbENMRWRCVFhKQ0xFbEJRVWtyUWl4SlFVRlhMMElzUjBGQlR5eFhRVUZaUVN4SFFVRlBRU3hGUVVGSkswSXNUMEZETlVNeFFpeEZRVUZQYlVJc1JVRkJVWGhDTEVkQlJXaENMRTlCUVV0RUxFVkJRVmxETEV0QlFWTkhMRVZCUVZWSUxFdEJTWEJDTEZWQlFWUkxMRWRCUVN0Q0xFbEJRVmd3UWl4SFFVTlNMR2xDUVVGWVFTeEhRVUYxUWtFc1JVRkJVeXhIUVVGUFFTeEZRVUZUTEV0QlFVOHZRaXhIUVhKWGFFVjVRaXhGUVVGUFJ5eEhRVUZMU0N4RlFVRlBUeXhWUVVGWkxFTkJSemxDUXl4UFFXSlZMRkZCWlZaRExGbEJRV0ZVTEVWQlIySk5MRTlCUVZFc1JVRkZVa2tzVVVGQlV5eFhRVU5TTEU5QlFVOXVSQ3hGUVVGTlJ5eExRVUZOVkN4UFFVdHdRakJFTEVsQlFVc3NVMEZCVlVNc1IwRkhaQ3hQUVVGWkxFMUJRVkJCTEVWQlEwZHlSQ3hGUVVGTlJ5eExRVUZOVkN4TlFVbGlNa1FzUlVGQlRTeEZRVUZKTTBRc1MwRkJUVEpFTEVWQlFVMHpSQ3hMUVVGTGNVUXNVVUZCVjNKRUxFdEJRVTB5UkN4SlFVdHdSRU1zVlVGQlZ5eFRRVUZWUXl4SFFVZHdRaXhKUVVGSlF5eEZRVUZOWml4RlFVRlBaMElzVFVGQlR5OUVMRXRCUVV0M1JDeGpRVUZsU3l4SFFVMDFReXhQUVVoQlF5eEZRVUZKUlN4WFFVRmhhRVVzUzBGSFZqaEVMRWRCU1ZKSExFdEJRVTBzVTBGQlZVTXNSMEZEWml4UFFVRlBia0lzUlVGQlQydENMRXRCUVUxcVJTeExRVUZOYTBVc1NVRkhNMEpETEVsQlFVc3NVMEZCVlVRc1IwRkRaQ3hQUVVGUGJFVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOXZRaXhKUVVGTGJrVXNTMEZCVFN4VFFVRlZiMFVzUlVGQlRXcERMRWRCUTNoRUxFOUJRVThyUWl4RlFVRlRla1FzUzBGQlRUSkVMRVZCUVUxcVF5eEZRVUZIYVVNc1QwRkpha001UkN4TlFVRlBMRmRCUTA0c1QwRkJUMDRzUzBGQlN6UkVMRlZCUVZkMFJDeEZRVUZOU3l4TlFVRlBXQ3hMUVVGTmNVVXNZVUZITTBORExFMUJRVThzVjBGRFRpeFBRVUZQZEVVc1MwRkJTM1ZGTEVkQlFVa3NTVUZIYWtKRExFdEJRVTBzVjBGRFRDeFBRVUZQZUVVc1MwRkJTM1ZGTEVsQlFVc3NTVUZIYkVKRkxFdEJRVTBzVjBGRFRDeFBRVUZQZWtVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU4eVFpeExRVUZOTVVVc1MwRkJUU3hUUVVGVk1rVXNSVUZCVDNoRExFZEJRekZFTEU5QlFWTkJMRVZCUVVrc1IwRkJUU3hOUVVseVFubERMRWxCUVVzc1YwRkRTaXhQUVVGUE5VVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOHlRaXhMUVVGTk1VVXNTMEZCVFN4VFFVRlZNa1VzUlVGQlQzaERMRWRCUXpGRUxFOUJRVTlCTEVWQlFVa3NUVUZKWW05RExFZEJRVWtzVTBGQlZYQkRMRWRCUTJJc1NVRkJTVEJETEVWQlFVMDNSU3hMUVVGTGNVUXNUMEZEWkhsQ0xFZEJRVXN6UXl4SFFVRk5RU3hGUVVGSkxFVkJRVWt3UXl4RlFVRk5MRWRCUXpGQ0xFOUJRVTgzUlN4TFFVRkxORVFzVlVGQlYydENMRWRCUVVzc1IwRkJTMEVzUlVGQlNVUXNSVUZCVFN4RFFVRkZOMFVzUzBGQlRUaEZMRWxCUVZFc1MwRkhOVVJETEVsQlFVc3NWMEZEU2l4UFFVRlBMMFVzUzBGQlMyZEZMRmxCUVdOb1JTeExRVUZMZDBRc1pVRkxhRU0xUXl4TFFVRk5RU3hGUVVOT2IwVXNTMEZCVFRsRkxFVkJRVWs0UlN4TFFVTldReXhQUVVGUkwwVXNSVUZCU1N0RkxGRkJSMkpzUXl4RlFVRlBiVU1zVDBGQlUyNURMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlRMRmRCUTJ4RExFbEJRVWxETEVWQlFWTkRMRVZCUVUxNFJDeEZRVUZMZVVRc1JVRkJUVU1zUlVGQllVTXNSVUZETVVORExFVkJRVk51UWl4VlFVRlhMRWxCUVU4c1IwRkRNMEpzUXl4RlFVRkpMRVZCUTBwclFpeEZRVUZUWjBJc1ZVRkJWV2hDTEU5QlEyNUNiME1zUjBGQlR5eEZRWE5DVWl4SlFXNUNkVUlzYTBKQlFWaEVMRWxCUTFoRExFVkJRVTlFTEVWQlIxQkJMRVZCUVZOdVFpeFZRVUZYYkVNc1NVRkJUeXhIUVVNelFrRXNTMEZKYzBJc2FVSkJRVmh4UkN4SFFVRjNRbTVGTEVWQlFWbHRSU3hMUVVNdlEwRXNSVUZCVXl4SlFVbE1ja1FzU1VGQlRXdENMRWxCUTFadFF5eEZRVUZUZUVZc1MwRkRWRzFETEV0QlIwOUJMRVZCUVVsclFpeEZRVUZSYkVJc1NVRkhia0lzUjBGQmNVTXNUMEZCT1VKblJDeEZRVUZWWkN4VlFVRlhiRU1zU1VGSE0wSXNTVUZCVFdsRUxFdEJRVkZFTEVWQlEySkZMRVZCUVU5R0xFVkJRVk5ETEVkQlNVWXNZMEZCVkVFc1IwRkJkMEpKTEVsQlFWZElMRWxCUzI1RFNTeEhRVUZSU2l4SlFVRlZkRU1zUlVGQlR6SkRMR05CUVdWTUxFdEJRekZEUXl4RlFVRmpTeXhOUVVGTlF5eFJRVUZUVUN4TlFVTXZRbnBFTEVWQlFVMDBSQ3hGUVVGUlNpeEhRVWxpUnl4RlFVUkpSQ3hKUVVGblFrc3NUVUZCVFVNc1VVRkJVMmhGTEVkQlF6TkNMRWRCUTBrd1JDeEhRVUZuUW5aRExFVkJRVTh5UXl4alFVRmxPVVFzUjBGSE1VTkJMRVZCUmtFc1IwRkpWREJFTEVkQlFXTXNSVUZIWkVVc1JVRkJVVW9zUjBGQlUzSkRMRVZCUVU5dFF5eFBRVUZSVHl4RlFVRk5SaXhGUVVGUFJpeFRRVWQ2UWxFc1NVRkJWRklzU1VGRFdFY3NSVUZCVVVvc1IwRkJVME1zU1VGUGNrSXNUMEZCVDBjc1IwRkhVbnBETEVWQlFVOXRReXhQUVVGUkxFTkJSMlJaTEZGQlFWTXNWVUZzVEVNc1VVRnJUSE5DUXl4TFFVRkxReXhWUVVGWFF5eFJRVUZUTEUxQlFVOHNTVUZIYUVWRExGTkJRVk1zUlVGRlZFTXNUVUZCVHl4VFFVRlZReXhIUVVOb1FpeE5RVUZOTEVsQlFVbDBSeXhOUVVGUGMwY3NTVUZIYkVKRExFdEJRVTBzWVVGRlRsZ3NZMEZCWlN4VFFVRlZjRVVzUjBGRGVFSXNTVUZCU1dkR0xFVkJRVTlETEVWQlNWZ3NVMEZCVFdwR0xFZEJRV2RETEc5Q1FVRjZRbEFzUlVGQlUwNHNTMEZCVFdFc1VVRkpOVUpuUml4RlFVRlJia2NzUlVGQlZXMUNMRXRCVTBzc2JVSkJSSFpDYVVZc1JVRkJUM1pHTEVWQlFVOVFMRXRCUVUwMlJpeEZRVUZQTEdkQ1FVRnRRa0VzUlVGQlRUbERMR05CUTJaMFF5eEZRVUZYVkN4TFFVRk5PRVlzUzBGQlYzQkdMRWxCUjJ4RmNVWXNZMEZCWlN4VFFVRlZiRVlzUjBGRGVFSXNTVUZCU1RoRUxFVkJSVW9zU1VGQlRVRXNTMEZCVVRsRUxFVkJRMklzVDBGQlR5eEZRVVZTTEU5QlFVOHNSMEZMVW0xR0xGZEJRVmtzVTBGQlZYcEZMRVZCUVUxdFJDeEZRVUZUYWtRc1IwRkRjRU5JTEVWQlFWTkRMRVZCUVUwc1EwRkJSVWdzVFVGQlQzTkVMRWRCUVZkQkxFVkJRVkYwUkN4UFFVRlRTeXhKUVVkeVJDdENMRXRCUVUwc1UwRkJWVE5ETEVWQlFVczBReXhIUVVOd1FpeEpRVUZKWWl4RlFVRlJiRUlzUlVGQlNTeEZRVVZvUWl4SFFVRkxhVUlzUlVGQllUbENMRWRCUldwQ0xFbEJSRUVyUWl4RlFVRlRMMElzUlVGQlNTdENMRTlCUTB4c1FpeEZRVUZKYTBJc1NVRkRjVU1zU1VGQk0wTmhMRVZCUVZONlJDeExRVUZOWVN4RlFVRkxZU3hIUVVGTFFTeEZRVUZIWWl4RlFVRkxZU3hKUVVSdVFrRXNWVUZOY0VJc1NVRkJUVUVzUzBGQlMySXNSVUZEVml4SlFVRm5SQ3hKUVVFelF6UkRMRVZCUVZONlJDeExRVUZOWVN4RlFVRkxZU3hIUVVGTFFTeEZRVUZIWWl4RlFVRkxZU3hKUVVOeVF5eE5RVXRJTEU5QlFVOWlMRWRCU1ZKdlJpeFZRVUZYTEZOQlFWVjRSeXhGUVVGTGVVY3NSMEZEZWtJc1NVRkJTVGRETEVWQlFVMDJReXhIUVVGWExFZEJZWEpDTEU5QldGa3NUVUZCVUhwSExFbEJRME5yUkN4RlFVRmhhRVFzVDBGQlVVWXNTVUZEZWtJMlF5eEZRVUZQWjBJc1RVRkJUMFFzUlVGRFJTeHBRa0ZCVWpWRUxFVkJRMDRzUTBGQlJVRXNSMEZCVVVFc1IwRkhXbFVzUlVGQlMwZ3NTMEZCVFhGRUxFVkJRVXMxUkN4SlFVbFlORVFzUjBGSFVqaERMRkZCUVZNc1UwRkJWWGhETEVWQlFVMXNSU3hGUVVGTGFVTXNSMEZETjBJc1QwRkJZeXhOUVVGUWFrTXNSMEZCWlN4RlFVRkpWeXhGUVVGUlNpeExRVUZOVUN4RlFVRkxhMFVzUlVGQlRXcERMRWxCUzNCRU5FSXNUVUZCVHl4VFFVRlZUeXhGUVVGUGRVTXNSMEZMZGtJc1NVRktRU3hKUVVGSmFFTXNSMEZCVDJkRExFVkJRVTk0UkN4UFFVTnFRbmxDTEVWQlFVa3NSVUZEU2pORExFVkJRVWx0UXl4RlFVRk5ha0lzVDBGRlNIbENMRVZCUVVsRUxFVkJRVXRETEVsQlEyaENVaXhGUVVGUGJrTXNTMEZCVVRCRkxFVkJRVkV2UWl4SFFVdDRRaXhQUVVaQlVpeEZRVUZOYWtJc1QwRkJVMnhDTEVWQlJWSnRReXhIUVVkU1NTeExRVUZOTEZOQlFWVmlMRVZCUVU5TExFVkJRVlUwUXl4SFFWTm9ReXhKUVZKQkxFbEJRME5ETEVWQlFWVXNSMEZEVmpWRkxFVkJRVWtzUlVGRFNtdENMRVZCUVZOUkxFVkJRVTFTTEU5QlEyWXlSQ3hIUVVGclFrWXNSVUZKV0RORkxFVkJRVWxyUWl4RlFVRlJiRUlzUzBGRFFTdENMRVZCUVZWTUxFVkJRVTh4UWl4SFFVRkxRU3hMUVVOb1FqWkZMRWRCUTNoQ1JDeEZRVUZSYmtjc1MwRkJUV2xFTEVWQlFVOHhRaXhKUVVsMlFpeFBRVUZQTkVVc1IwRkpValZETEVsQlFVc3NVMEZCVlU0c1JVRkJUMHNzUlVGQlZTdERMRWRCUXk5Q0xFbEJRVWsxUkN4RlFVRlJOa1FzUlVGRFdDOUZMRVZCUVVrc1JVRkRTakpDTEVWQlFVMHNSMEZIVUN4SFFVRkxWaXhGUVVGaFV5eEhRVVZxUWl4SlFVUkJVaXhGUVVGVFVTeEZRVUZOVWl4UFFVTlFiRUlzUlVGQlNXdENMRVZCUVZGc1FpeEpRVWRNTEU5QlJtUXJSU3hGUVVGUmFFUXNSVUZCVlV3c1JVRkJUekZDTEVkQlFVdEJMRVZCUVVjNFJTeExRVWRvUTI1RUxFVkJRVWxzUkN4TFFVRk5jMGNzVVVGTldpeEpRVUZOTDBVc1MwRkJTekJDTEVWQlIwa3NUMEZHWkhGRUxFVkJRVkZvUkN4RlFVRlZUQ3hGUVVGUE1VSXNSMEZCUzBFc1JVRkJSemhGTEV0QlIyaERia1FzUlVGQlNXeEVMRXRCUVUxelJ5eEhRVTFpTEU5QlFVOHpSeXhGUVVGTmRVUXNTVUZKWkhGRUxFdEJRVTBzUlVGSlRpOUdMRkZCUVZOQkxFbEJSMkVzYlVKQlFWaG5SeXhUUVVOWWNrVXNSVUZCVDBjc1IwRkJTV3RGTEU5QlFVOURMRlZCUVdGdVNDeEZRVUZMYTBnc1QwRkJUME1zVjBGSk5VTjBSU3hGUVVGUGEwSXNTMEZCVFN4MVJVRkJkVVZ4UkN4TlFVRlBMRXRCUXpGR0xGTkJRVlZETEVWQlFVbHVReXhIUVVOaWRFVXNSVUZCV1N4WFFVRmhjMFVzUlVGQlR5eExRVUZSUVN4RlFVRkxiME1zWjBKQmJVSXZReXhKUVVGSlF5eEZRVmRLTEZOQlFWa3hTQ3hIUVVOYUxFbEJRVWx2UXl4RlFVTklaaXhGUVVOQmMwY3NSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGSFFVTXNSVUZEUVhaSkxFVkJRMEYzU1N4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJlRUlzUlVGRFFYbENMRVZCUjBFeFF5eEZRVUZWTEZOQlFWY3NSVUZCU1N4SlFVRkpNa01zUzBGRE4wSkRMRVZCUVdVelNTeEZRVUZQU0N4VFFVTjBRaXRKTEVWQlFWVXNSVUZEVmtNc1JVRkJUeXhGUVVOUVF5eEZRVUZoUXl4TFFVTmlReXhGUVVGaFJDeExRVU5pUlN4RlFVRm5Ra1lzUzBGRGFFSkhMRVZCUVhsQ1NDeExRVU42UWtrc1JVRkJXU3hUUVVGVlF5eEZRVUZIUXl4SFFVbDRRaXhQUVVoTFJDeEpRVUZOUXl4SlFVTldiRUlzUjBGQlpTeEhRVVZVTEVkQlNWSnNTQ3hGUVVGVExFZEJRVTlETEdWQlEyaENaaXhGUVVGTkxFZEJRMDV0U2l4RlFVRk5ia29zUlVGQlNXMUtMRWxCUTFaRExFVkJRV0Z3U2l4RlFVRkpWU3hMUVVOcVFrRXNSVUZCVDFZc1JVRkJTVlVzUzBGRFdFNHNSVUZCVVVvc1JVRkJTVWtzVFVGSldrOHNSVUZCVlN4VFFVRlZNRWtzUlVGQlRXNUdMRWRCUjNwQ0xFbEJSa0VzU1VGQlNXcERMRVZCUVVrc1JVRkRVREJETEVWQlFVMHdSU3hGUVVGTGJFY3NUMEZEU214Q0xFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSXNSMEZCUzI5SUxFVkJRVTF3U0N4TFFVRlJhVU1zUlVGRGJFSXNUMEZCVDJwRExFVkJSMVFzVDBGQlVTeEhRVWRVY1Vnc1JVRkJWeXcyU0VGTldFTXNSVUZCWVN4elFrRkhZa01zUlVGQllTd3dRa0ZCTkVKRUxFVkJRM2hETERCRFFVZEVSU3hGUVVGaExFMUJRVkZHTEVWQlFXRXNTMEZCVDBNc1JVRkJZU3hQUVVGVFJDeEZRVWM1UkN4blFrRkJhMEpCTEVWQlNXeENMREpFUVVFMlJFTXNSVUZCWVN4UFFVTXhSVVFzUlVGQllTeFBRVVZrUnl4RlFVRlZMRXRCUVU5R0xFVkJRV0VzZDBaQlQwRkRMRVZCUVdFc1pVRlBNME5GTEVWQlFXTXNTVUZCU1VNc1QwRkJVVXdzUlVGQllTeEpRVUZMTEV0QlF6VkRUU3hGUVVGUkxFbEJRVWxFTEU5QlFWRXNTVUZCVFV3c1JVRkJZU3c0UWtGRGRFTkJMRVZCUVdFc1MwRkJUU3hMUVVWd1FrOHNSVUZCVXl4SlFVRkpSaXhQUVVGUkxFbEJRVTFNTEVWQlFXRXNTMEZCVDBFc1JVRkJZU3hMUVVNMVJGRXNSVUZCWlN4SlFVRkpTQ3hQUVVGUkxFbEJRVTFNTEVWQlFXRXNWMEZCWVVFc1JVRkJZU3hKUVVGTlFTeEZRVU0zUlN4TFFVTkVVeXhGUVVGWExFbEJRVWxLTEU5QlFWRk1MRVZCUVdFc1RVRkZjRU5WTEVWQlFWVXNTVUZCU1V3c1QwRkJVVVlzUjBGRGRFSlJMRVZCUVdNc1NVRkJTVTRzVDBGQlVTeEpRVUZOU2l4RlFVRmhMRXRCUlRkRFZ5eEZRVUZaTEVOQlExaERMRWRCUVUwc1NVRkJTVklzVDBGQlVTeE5RVUZSU2l4RlFVRmhMRXRCUTNaRFlTeE5RVUZUTEVsQlFVbFVMRTlCUVZFc1VVRkJWVW9zUlVGQllTeExRVU0xUTJNc1NVRkJUeXhKUVVGSlZpeFBRVUZSTEV0QlFVOUtMRVZCUVdFc1UwRkRka05sTEV0QlFWRXNTVUZCU1Znc1QwRkJVU3hKUVVGTlNDeEhRVU14UW1Vc1QwRkJWU3hKUVVGSldpeFBRVUZSTEVsQlFVMUdMRWRCUXpWQ1pTeE5RVUZUTEVsQlFVbGlMRTlCUVZFc2VVUkJRM0JDVEN4RlFVRmhMQ3RDUVVGcFEwRXNSVUZCWVN4alFVTXpSRUVzUlVGQllTeGhRVUZsUVN4RlFVRmhMRk5CUVZVc1MwRkRjRVJ0UWl4TFFVRlJMRWxCUVVsa0xFOUJRVkVzVDBGQlUwNHNSVUZCVnl4TFFVRk5MRXRCU1RsRGNVSXNZVUZCWjBJc1NVRkJTV1lzVDBGQlVTeEpRVUZOVEN4RlFVTnFReXh0UkVGQmNVUkJMRVZCUTNKRUxHMUNRVUZ4UWtFc1JVRkJZU3h0UWtGQmIwSXNUVUZIZUVSeFFpeEZRVUZSTEZOQlExSkRMRVZCUVZVc2MwTkJRMVpETEVWQlFWVXNVMEZGVmtNc1JVRkJWU3g1UWtGSFZrTXNSVUZCWVN4dFEwRkZZa01zUjBGQlZ5eFBRVWxZUXl4SFFVRlpMRWxCUVVsMFFpeFBRVUZSTEhWQ1FVRjVRa3dzUlVGQllTeDFRa0ZCZDBJc1MwRkRkRVkwUWl4SFFVRlpMRk5CUVZWRExFVkJRVkZETEVkQlF6ZENMRWxCUVVsRExFVkJRVThzUzBGQlQwWXNSVUZCVDJoTUxFMUJRVThzUjBGQlRTeE5RVVYwUXl4UFFVRlBhVXdzU1VGVFRrTXNSVUZCVHl4RlFVTk9ReXhQUVVGUFF5eGhRVUZqUml4RlFVRlBMRTlCUXpWQ1F5eFBRVUZQUXl4aFFVRmpSaXhIUVVGUkxFZEJRVXNzVFVGQlpTeExRVUZRUVN4RlFVRmxMRk5CU3pWRVJ5eEhRVUZoTEhORVFVTmlReXhIUVVGaExGTkJRVlZETEVWQlFVbERMRWRCUXpGQ0xFOUJRVXRCTEVWQlIxRXNUMEZCVUVRc1JVRkRSeXhKUVVsRVFTeEZRVUZIZGt3c1RVRkJUeXhIUVVGSkxFZEJRVTBzUzBGRE1VSjFUQ3hGUVVGSFJTeFhRVUZaUml4RlFVRkhlRWtzVDBGQlV5eEhRVUZKZEVNc1UwRkJWU3hKUVVGUExFbEJTVE5ETEV0QlFVODRTeXhIUVU5bVJ5eEhRVUZuUWl4WFFVTm1OMFFzUzBGSFJEaEVMRWRCUVhGQ1F5eEhRVU53UWl4VFFVRlZPVWdzUjBGRFZDeFBRVUY1UWl4SlFVRnNRa0VzUlVGQlN5dElMRlZCUVhGRUxHRkJRV2hETDBnc1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVWb1JDeERRVUZGTmtVc1NVRkJTeXhoUVVGalF5eExRVUZOTEZkQlNUZENMRWxCUTBNeFRDeEZRVUZMUkN4TlFVTkdWQ3hGUVVGTlNTeEZRVUZOUnl4TFFVRk5hVWtzUlVGQllUWkVMRmxCUTJwRE4wUXNSVUZCWVRaRUxGbEJUV1J5VFN4RlFVRkxkMGtzUlVGQllUWkVMRmRCUVZkc1NpeFJRVUZUT1VJc1UwRkRja01zVFVGQlVXbE1MRWRCUTFRMVRDeEZRVUZQTEVOQlFVVkVMRTFCUVU5VUxFVkJRVWx0UkN4UFFVZHVRaXhUUVVGVmJVTXNSVUZCVVdsSUxFZEJRMnBDYmtRc1JVRkJWek5KTEUxQlFVODJSU3hGUVVGUmJFWXNSVUZCVFVjc1MwRkJUV2ROTEV0QlMzWkRMRk5CUVZWcVNDeEZRVUZSYVVnc1IwRkxha0lzU1VGS1FTeEpRVUZKTTBnc1JVRkJTVlVzUlVGQlQyNURMRTlCUTJSc1FpeEZRVUZKTEVWQlIwdHhSQ3hGUVVGUlZpeExRVUZSTWtnc1JVRkJTM1JMTEU5QlF5OUNjVVFzUlVGQlQyNURMRTlCUVZONVFpeEZRVUZKTEVsQlMzWkNMRk5CUVZNeVF5eEhRVUZSZWtVc1JVRkJWVU1zUlVGQlV6QkVMRVZCUVZNclJpeEhRVU0xUXl4SlFVRkpReXhGUVVGSGVFc3NSVUZCUjJsRExFVkJRVTEzU1N4RlFVRkxReXhGUVVGUFF5eEZRVUZSUXl4RlFVTnVRME1zUlVGQllTOUtMRWRCUVZkQkxFVkJRVkZuU3l4alFVZG9RekZNTEVWQlFWY3dRaXhGUVVGVlFTeEZRVUZSTVVJc1UwRkJWeXhGUVV0NlF5eEhRVWhCYjBZc1JVRkJWVUVzUjBGQlZ5eEhRVWRKTEdsQ1FVRmlNMFFzU1VGQk1FSkJMRWRCUTNoQ0xFbEJRV0o2UWl4SFFVRXJRaXhKUVVGaVFTeEhRVUVyUWl4TFFVRmlRU3hGUVVWd1F5eFBRVUZQYjBZc1JVRkpVaXhKUVVGTkswWXNTVUZEVEhaRkxFVkJRV0ZzUml4SFFVTmlRU3hGUVVGVlFTeEhRVUZYY2tRc1JVRkZhRUo1U1N4SFFVRnBRaXhEUVVseVFpeEhRVUZyUWl4TFFVRmlPVWNzU1VGQmNVSnpUQ3hGUVVGUk0wSXNSVUZCVjJkRExFdEJRVTFzU3l4SlFVZHNSQ3hIUVVGUE1rb3NSVUZCU1VVc1JVRkJUeXhKUVVkcVFpeEhRVUZyUWl4SlFVRmlkRXdzUlVGQmFVSXNRMEZEY2tJc1MwRkJUelpETEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKU0xFbEJWWEpETEU5QlFVOW9SeXhGUVV4UUxFZEJRVXQyUXl4RlFVRkxaMG9zUzBGQlQxUXNSVUZGYUVJc1QwRkVRV2hITEVWQlFWRXZSaXhMUVVGTmQwUXNSMEZEVUhWRExFOUJXVlFzUjBGQlMzRkhMRWxCUVdkQ05Va3NSVUZCVHpSSkxFVkJRVmRITEdWQlFXZENVaXhMUVVOMFJHNUZMRVZCUVZWMlJpeEZRVUZUYlVJc1NVRkRia0pCTEVWQlFVdG5TaXhMUVVGUFZDeEZRVWRhTEU5QlJFRm9SeXhGUVVGUkwwWXNTMEZCVFhkRUxFZEJRMUIxUXl4TlFVdElMRU5CUVVFc1IwRkJTMnRITEVWQlFVOHNSMEZGYkVJc1QwRkVRV3BOTEVWQlFVdEVMRTFCUVU5blJ5eEZRVUZUTVVRc1JVRkJVVzlMTEhGQ1FVRnpRbkpMTEVsQlF6VkRNa1FzUlVGSFJDeEpRVUZQWjBjc1JVRkJTVVVzUlVGQlR5eExRVUZUZWt3c1JVRkJVV3ROTEhkQ1FVTjZRM0pMTEVWQlFWRnhTeXgxUWtGSFVpeFBRVVJCTVUwc1JVRkJTMFFzVFVGQlQyZEhMRVZCUVZNeFJDeEZRVUZSY1Vzc2RVSkJRWGRDV0N4SlFVTTVRMmhITEVWQlMxUXNSMEZCUzNaR0xFVkJRVkZ0VFN4TlFVTllkRVVzUlVGQmQwSnFSeXhGUVVGWExGRkJRMnBEYzBZc1NVRkJZMEVzUlVGQlZXdEdMRXRCUVUxNFN5eE5RVWxzUWl4SlFVRmlla0lzUjBGQmNVUXNWMEZCYmtNd1FpeEZRVUZSYlVvc1UwRkJVelZGTEdWQlFTdENMRU5CV1hCRkxFZEJWa0YxUml4RlFVRmpMMG9zUlVGRFpHZExMRVZCUVdFdlNpeEZRVk5MTEVsQlFXSXhRaXhKUVVOR01ra3NSVUZCVTNORUxFdEJRVTE0U3l4SlFVRmphVWdzUlVGQllYVkVMRXRCUVUxNFN5eEpRVUZsTEVOQmNVSnFSU3hMUVd4Q1FXZExMRVZCUVdFM1FpeEhRVUZUY1VNc1MwRkJUWGhMTEVsQlFXTjVTeXhIUVVGaGVFc3NSVUZCVVV3c1lVRkRPVVJMTEV0QlNXMUNRU3hIUVVGWk4wSXNSVUZCVVhOTkxGTkJSMmhEWkN4RlFVRk5NMG9zUlVGQlVWUXNZVUZCWXl4UFFVTnNRMjlMTEVWQlFVMUJMRVZCUVVrelJ5eFJRVUZUTUVZc1IwRkJXVU1zU1VGRkwwSXpTU3hGUVVGUlVpeGhRVUZqTEV0QlFWRnRTeXhGUVVGTk9VY3NTVUZOZEVNelJDeEhRVVJCTWtzc1JVRkJVMnBHTEVWQlFWVTNSU3hKUVVOU1N5eFBRVU5JYkVJc1MwRkRVREpMTEVWQlFWRXpTeXhKUVVGUmVVc3NSVUZCVFN4SlFVRk5RU3hGUVVGTkxGVkJRV0VzU1VGRE9VTmxMRWRCUVZsaUxFVkJRVkV6U3l4SlFVVjBRalJMTEVWQlFXTkVMRVZCUVU5akxFdEJRVTBzUzBGSE5VSXNTVUZKUXl4UFFVaEJhRTRzUlVGQlMwUXNUVUZCVDJkSExFVkJRMWh4Unl4RlFVRlhZU3hwUWtGQmEwSmtMRWxCUlhaQ2NFY3NSVUZEVGl4TlFVRlJiVWdzUjBGRFZEZEZMRVZCUVhkQ2FrY3NSMEZCVlN4SFFVTnFReXhSUVVOSk5Fb3NTVUZCVVRsSExFZEJRMW8zUXl4RlFVRlJPRXNzWjBKQlFXbENMRkZCVVRsQ0xFOUJRVTlvUnl4RlFVRlJMMFVzUlVGQlUybEVMRkZCUVZNNFJDeEZRVUZQTEUxQlFWRTVSeXhGUVVGVE1FUXNSVUZCVXl0R0xFZEJVMjVGTEZOQlFWTTFSQ3hMUVVOU0xFbEJRVWxyUml4RlFVRlBMRWRCV1Znc1QwRldRU3hUUVVGVFF5eEZRVUZQUXl4RlFVRkxhRWdzUjBGUmNFSXNUMEZNU3poSExFVkJRVXR3VGl4TFFVRk5jMDRzUlVGQlRTeExRVUZSZUVjc1JVRkJTM2xITEc5Q1FVY3pRa1lzUlVGQlQwUXNSVUZCUzBrc1UwRkZXRWdzUlVGQlQwTXNSVUZCVFN4TFFVRlJhRWdzUjBGVGFFTXNVMEZCVTIxSUxFZEJRV051VEN4SFFVVjBRaXhQUVVSQlFTeEZRVUZKTkVNc1NVRkJXU3hGUVVOVU5VTXNSVUZQVWl4VFFVRlRiMHdzUjBGQlVYQk1MRWRCUTJoQ0xFbEJRVWx4VEN4RlFVRkxNMDhzUlVGQlV6QkRMR05CUVdVc1dVRkZha01zU1VGRFF5eFJRVUZUV1N4RlFVRkpjVXdzUjBGRFdpeE5RVUZSTDBJc1IwRkRWQ3hQUVVGUExFVkJRMDRzVVVGSFNTdENMRVZCUVVjelRDeFpRVU5RTWt3c1JVRkJSek5NTEZkQlFWZERMRmxCUVdFd1RDeEhRVWsxUWtFc1JVRkJTeXhOUVZOUUxGTkJRVk5ETEVkQlFWZERMRVZCUVU5RExFZEJTVEZDTEVsQlNFRXNTVUZCU1hoUExFVkJRVTExVHl4RlFVRk5ia2dzVFVGQlR5eExRVU4wUW01R0xFVkJRVWxxUXl4RlFVRkpiVVFzVDBGRlJHeENMRXRCUTFCMVJpeEZRVUZMYVVnc1YwRkJXWHBQTEVWQlFVdHBReXhKUVVGUmRVMHNSVUZWYUVNc1UwRkJVMFVzUjBGQlkzcEdMRVZCUVVkRExFZEJRM3BDTEVsQlFVbDVSaXhGUVVGTmVrWXNSMEZCUzBRc1JVRkRaREpHTEVWQlFVOUVMRWRCUVhOQ0xFbEJRV1l4Uml4RlFVRkZOVWdzVlVGQmFVTXNTVUZCWmpaSUxFVkJRVVUzU0N4VlFVTnVRelJJTEVWQlFVVTBSaXhaUVVGak0wWXNSVUZCUlRKR0xGbEJSM0JDTEVkQlFVdEVMRVZCUTBvc1QwRkJUMEVzUlVGSlVpeEhRVUZMUkN4RlFVTktMRXRCUVZWQkxFVkJRVTFCTEVWQlFVbEhMR0ZCUTI1Q0xFZEJRVXRJTEVsQlFWRjZSaXhGUVVOYUxFOUJRVkVzUlVGTFdDeFBRVUZQUkN4RlFVRkpMRWRCUVVzc1JVRlBha0lzVTBGQlV6aEdMRWRCUVcxQ2RFNHNSMEZETTBJc1QwRkJUeXhUUVVGVmVVTXNSMEZGYUVJc1RVRkJaMElzVlVGRVRFRXNSVUZCUzJkSkxGTkJRVk0xUlN4bFFVTkZjRVFzUlVGQlMzcERMRTlCUVZOQkxFZEJVVE5ETEZOQlFWTjFUaXhIUVVGdlFuWk9MRWRCUXpWQ0xFOUJRVThzVTBGQlZYbERMRWRCUTJoQ0xFbEJRVWxuUWl4RlFVRlBhRUlzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU42UWl4UFFVRnJRaXhWUVVGVWNFTXNSMEZCTmtJc1YwRkJWRUVzU1VGQmRVSm9RaXhGUVVGTGVrTXNUMEZCVTBFc1IwRlJjRVVzVTBGQlUzZE9MRWRCUVhOQ2FFUXNSMEZIT1VJc1QwRkJUeXhUUVVGVkwwZ3NSMEZMYUVJc1RVRkJTeXhUUVVGVlFTeEZRVk5VUVN4RlFVRkxlRUlzWVVGQlowTXNTVUZCYkVKM1FpeEZRVUZMSzBnc1UwRkhka0lzVlVGQlZ5OUlMRVZCUTFZc1ZVRkJWMEVzUlVGQlMzaENMRmRCUTJKM1FpeEZRVUZMZUVJc1YwRkJWM1ZLTEZkQlFXRkJMRVZCUlRkQ0wwZ3NSVUZCU3l0SUxGZEJRV0ZCTEVWQlRYQkNMMGdzUlVGQlMyZE1MR0ZCUVdWcVJDeEhRVWt4UWk5SUxFVkJRVXRuVEN4alFVRm5RbXBFTEVkQlEzSkNSaXhIUVVGdlFqZElMRXRCUVZjclNDeEZRVWN4UWk5SUxFVkJRVXNyU0N4WFFVRmhRU3hGUVV0a0xGVkJRVmN2U0N4SFFVTm1RU3hGUVVGTEswZ3NWMEZCWVVFc1IwRlpOVUlzVTBGQlUydEVMRWRCUVhkQ2JrMHNSMEZEYUVNc1QwRkJUMjFNTEVkQlFXTXNVMEZCVldsQ0xFZEJSVGxDTEU5QlJFRkJMRWRCUVZsQkxFVkJRMHhxUWl4SFFVRmpMRk5CUVZVelFpeEZRVUZOTTBZc1IwRk5jRU1zU1VGTVFTeEpRVUZKYWtNc1JVRkRTSGxMTEVWQlFXVnlUU3hGUVVGSkxFZEJRVWwzU2l4RlFVRkxja29zVDBGQlVXbE5MRWRCUTNCRGJrNHNSVUZCU1c5T0xFVkJRV0ZzVFN4UFFVZFdiRUlzUzBGRFJuVkxMRVZCUVZFMVNDeEZRVUZKZVVzc1JVRkJZM0JPTEUxQlF6bENkVXNzUlVGQlRUVklMRXRCUVZOcFF5eEZRVUZUYWtNc1IwRkJUVFJJTEVWQlFVMDFTQ3hUUVZsNlF5eFRRVUZUTWtrc1IwRkJZWGhMTEVkQlEzSkNMRTlCUVU5QkxGRkJRVzFFTEVsQlFXcERRU3hGUVVGUmIwc3NjMEpCUVhkRGNFc3NSVUZyY2tNeFJTeEpRVUZOWkN4TFFUbHhRMDVtTEVWQlFWVnhSeXhIUVVGUGNrY3NVVUZCVlN4SFFVOHpRbmRITEVWQlFWRklMRWRCUVU5SExFMUJRVkVzVTBGQlZYaEVMRWRCUTJoRExFbEJRVWx2VEN4RlFVRlpjRXdzUjBGQlVVRXNSVUZCUzNGTUxHRkJRelZDY2tnc1JVRkJWV2hGTEVsQlFWVkJMRVZCUVVzMlNTeGxRVUZwUWpkSkxFZEJRVTl6VEN4blFrRkxiRVFzVDBGQlVUVkZMRVZCUVUwd1F5eExRVUZOWjBNc1IwRkJZWEJJTEVkQlFWZEJMRVZCUVZGblJTeFZRVUZaTEZOQlVXcEZha1VzUlVGQlkxWXNSMEZCVDFVc1dVRkJZeXhUUVVGVmJFY3NSMEZETlVNc1NVRkJTVEJPTEVWQlFWbERMRVZCUTJZeFRpeEZRVUZOUkN4RlFVRlBRU3hGUVVGTFowd3NaVUZCYVVKb1RDeEZRVUZQZVVjc1JVRlBNME1zVDBGQlMzaEhMRWRCUVU5MFF5eEhRVUUyUWl4SlFVRnFRbk5ETEVWQlFVbFlMRlZCUVcxQ1Z5eEZRVUZKZDA0c2FVSkJUVzVFZEVnc1IwRkVRWGhKTEVWQlFWZHpReXhIUVVOUmQwNHNaMEpCUTI1Q2NrZ3NSMEZCYTBKVUxFVkJRVTlvU1N4SFFWRndRamhKTEVkQlFXZENPVWtzU1VGRGJFSm5VU3hGUVVGWmFGRXNSVUZCVTJsUkxHTkJRV2xDUkN4RlFVRlZSU3hOUVVGUlJpeEpRVWR5UkVFc1JVRkJWVWNzYVVKQlEyUklMRVZCUVZWSExHbENRVUZyUWl4VFFVRlZMMFFzU1VGQlpTeEhRVWN4UXpSRUxFVkJRVlZKTEdGQlEzSkNTaXhGUVVGVlNTeFpRVUZoTEZkQlFWbG9SU3hMUVZOeVF6VkxMRVZCUVZGelRTeE5RVUZSV1N4SFFVRlJMRk5CUVZWRExFZEJSV3BETEU5QlJFRnVSeXhGUVVGUmVrWXNXVUZCWVRSTUxFZEJRVXMxVEN4WlFVRmhMME1zUlVGQlV6QkRMR05CUVdVc1lVRkRla0lzU1VGQmVFSnBUU3hGUVVGSFZpeHRRa0ZEWmxVc1JVRkJSMVlzYVVKQlFXdENMSFZDUVVGM1FuaExMRk5CVTJoRWFrTXNSVUZCVVhWSkxGZEJRV0V5UlN4SFFVRlJMRk5CUVZWRExFZEJSWFJETEU5QlJFRkJMRVZCUVVjd1FpeFZRVUZaTEV0QlExQXhRaXhGUVVGSEwwd3NZVUZCWXl4bFFVOHhRbkJDTEVWQlFWRnBUU3h4UWtGQmRVSnBRaXhIUVVGUkxGTkJRVlZETEVkQlJXaEVMRTlCUkVGQkxFVkJRVWMxVEN4WlFVRmhMME1zUlVGQlUzTlJMR05CUVdVc1RVRkRhRU16UWl4RlFVRkhiRUlzY1VKQlFYTkNMRXRCUVUxb1N5eFRRVWw0UTJwRExFVkJRVkZyVFN4MVFrRkJlVUp5UXl4RlFVRlJkVU1zUzBGQlRUVk9MRVZCUVZNd1RpeDNRa0ZOZUVSc1RTeEZRVUZSSzA4c1VVRkJWVGRDTEVkQlFWRXNVMEZCVlVNc1IwRkZia01zVDBGRVFXNUhMRVZCUVZGNlJpeFpRVUZoTkV3c1IwRkJTMjVDTEVkQlFVdDBTQ3hIUVVOMlFteEhMRVZCUVZOM1VTeHZRa0ZCYzBKNFVTeEZRVUZUZDFFc2EwSkJRVzFDZEVzc1IwRkJWWHBETEZOQlNYcEZha01zUlVGQlVTdFBMRk5CUTFwNlNTeEZRVUZMTWtrc1QwRkJZU3hIUVVGSkxGTkJRVlZxUkN4SFFVTXZRaXhKUVVGSmEwUXNSVUZCVTJ4RUxFVkJRVWR1U0N4UlFVRlRiVVlzUjBGQlYwTXNTVUZEY0VNc1QwRkJUeXhUUVVGVmFrZ3NSMEZEYUVJc1QwRkJUMEVzUlVGQlN6VkNMR0ZCUVdNc1VVRkJWemhPTEVsQlIzWkROVWtzUlVGQlN6WkpMRXRCUVZjc1IwRkJTU3hUUVVGVmJrUXNSVUZCU1c1TExFZEJRMnBETEZGQlFYVkRMRWxCUVROQ1FTeEZRVUZSYTBzc1owSkJRV3RET1VVc1JVRkJhVUlzUTBGRGRFVXNTVUZCU1dwRkxFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSkRMRWRCUTI1RExFOUJRVTlvU2l4RlFVRlBMRU5CUVVWQkxFZEJRVk1zVDBGSk0wSnpSQ3hGUVVGTE1ra3NUMEZCWVN4SFFVRkxMRk5CUVZWcVJDeEhRVU5vUXl4SlFVRkphMFFzUlVGQlUyeEVMRVZCUVVkdVNDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGNFTXNUMEZCVHl4VFFVRlZha2dzUjBGRGFFSXNTVUZCU1c1RExFOUJRWGRETEVsQlFURkNiVU1zUlVGQlMyOU5MR3RDUVVOMFFuQk5MRVZCUVV0dlRTeHBRa0ZCYTBJc1RVRkRlRUlzVDBGQlQzWlBMRWRCUVZGQkxFVkJRVXRwUml4UlFVRlZiMG9zU1VGTmFFTTFTU3hGUVVGTE5ra3NTMEZCVnl4SFFVRkpMRk5CUVZWdVJDeEZRVUZKYmtzc1IwRkRha01zVVVGQmRVTXNTVUZCTTBKQkxFVkJRVkZyU3l4blFrRkJhME01UlN4RlFVRnBRaXhEUVVOMFJTeEpRVUZKY0Vjc1JVRkJUVVVzUlVGQlJ6QkNMRVZCUTFwUExFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSkRMRWRCUldoRExFZEJRVXRvU2l4RlFVRlBMRU5CU1Znc1NVRkVRVzVETEVWQlFVOXRReXhGUVVGTGIwMHNhVUpCUVd0Q0xGRkJRMnBDZGs4c1JVRkJTMmxHTEZGQlFWVnJSeXhGUVVNelFpeE5RVUZQTEVOQlFVVm9TaXhIUVUxV0xFbEJSa0ZRTEVWQlFWRmFMRVZCUVZGdFRpeHJRa0ZCYlVKb1JDeEhRVU51UTJwTUxFVkJRVWtzUlVGRFRXbERMRVZCUVU5UUxFVkJRVTh4UWl4TlFVVjJRaXhKUVVSQlJpeEZRVUZQYlVNc1JVRkJTMjlOTEdsQ1FVRnJRaXhSUVVOcVFuWlBMRVZCUVV0cFJpeFJRVUZWYTBjc1JVRkRNMElzVFVGQlR5eERRVUZGYUVvc1IwRkxXaXhOUVVGUExFMUJUVlp6UkN4RlFVRkxOa2tzUzBGQldTeEpRVUZKYmxBc1JVRkJVV2xOTEhGQ1FVTTFRaXhUUVVGVmIwUXNSVUZCUzNoT0xFZEJRMlFzV1VGQk5rTXNTVUZCYWtOQkxFVkJRVkZ2U3l4eFFrRkRXbkJMTEVWQlFWRnZTeXh4UWtGQmMwSnZSQ3hIUVVjeFFuSlFMRVZCUVZGdFRTeEpRVU5hZEVzc1JVRkJVVFJMTEdsQ1FVRnJRalJETEZGQlJETkNMRWRCUzFJc1UwRkJWVUVzUlVGQlMzaE9MRWRCUTJRc1NVRkJTVzFDTEVWQlEwaHpUU3hGUVVGTkxFZEJRMDUyVHl4RlFVRkpMRVZCUjBwM1JTeEZRVUZWTVVRc1JVRkJVVzlMTEhGQ1FVRnpRbTlFTEVkQlIzcERMRWRCUVdFc1RVRkJVa0VzUlVGQll5eERRVU5zUWl4TFFVRlZjazBzUlVGQlQzVkRMRVZCUVZONFJTeE5RVU5HTEVsQlFXeENhVU1zUlVGQlN6ZERMRlZCUTFSdFVDeEZRVUZKT1ZBc1MwRkJUWGRFTEVkQlNWb3NUMEZCVDNOTkxFVkJSVklzVDBGQlR5OUtMRWRCU1ZSbExFVkJRVXMyU1N4TFFVRmpMRTFCUVVsdVVDeEZRVUZSYTAwc2QwSkJRVEJDTEZOQlFWVXlReXhGUVVGWGFFNHNSMEZETjBVc1VVRkJLME1zU1VGQmJrTkJMRVZCUVZGeFN5eDNRa0ZCTUVOcVJpeEZRVU0zUkN4UFFVRlBjRVlzUlVGQlVYRkxMSFZDUVVGM1FqSkRMRWxCVlhwRE1VZ3NSVUZCWjBJc1IwRlBhRUpFTEVWQlFWa3NTVUZGVEd4SUxFVkJRVkZ0VFN4SlFVRk5kRU1zUlVGQlVYVkRMRXRCUVUwMVRpeEZRVUZUYVU4c2NVSkJTVE5EVXl4SFFVRlJMRk5CUVZWRExFZEJSV3BDTEVsQlFVbHZReXhGUVU5S2Rra3NSVUZCVVhwR0xGbEJRV0UwVEN4SFFVRkxjVU1zVlVGQldTeFZRVUZaT1Vzc1JVRkJWU3h4UWtGRE1VTkJMRVZCUVZVc2EwVkJUM1pDZVVrc1JVRkJSMVlzYVVKQlFXdENMSGRDUVVGNVFuaExMRkZCUTJ4RWFVWXNSVUZCVlRGSUxFdEJRVTBzVTBGQlZ6WkpMRVZCUVdFc1owSkJTMjVET0VVc1JVRkJSMVlzYVVKQlFXdENMR05CUVdWNFN5eFJRVU42UTJsR0xFVkJRVlV4U0N4TFFVRk5MRTFCUVZFMlNTeEZRVUZoTEdGQlFXVkVMRVZCUVZjc1MwRkpNVVFyUlN4RlFVRkhWaXhwUWtGQmEwSXNVVUZCVlM5SUxFVkJRVlVzVFVGQlQzcERMRkZCUTNKRWFVWXNSVUZCVlRGSUxFdEJRVTBzVDBGUmFrSXJVQ3hGUVVGUkwxRXNSVUZCVXpCRExHTkJRV1VzVlVGRE1VSkhMR0ZCUVdNc1QwRkJVU3hKUVVNMVFqaE1MRVZCUVVjMVRDeFpRVUZoWjA4c1IwRkRWbkJETEVWQlFVZFdMR2xDUVVGclFpeGhRVUZqZUVzc1VVRkRlRU5wUml4RlFVRlZNVWdzUzBGQlRTeE5RVUZSTmtrc1JVRkJZU3hSUVVGVlFTeEZRVUZoTEV0QlF6TkVRU3hGUVVGaExHZENRVTFVT0VVc1JVRkJSMVlzYVVKQlFXdENMRmxCUVdGNFN5eFJRVU4yUTJsR0xFVkJRVlV4U0N4TFFVRk5MRmxCVFZneVRpeEZRVUZIVml4cFFrRkJhMElzUzBGQlR5OUlMRVZCUVZVc1RVRkJUM3BETEZGQlEyeEVhVVlzUlVGQlZURklMRXRCUVUwc1dVRkxha0l5VGl4RlFVRkhWaXhwUWtGQmEwSXNVVUZEY2tKMlJpeEZRVUZWTVVnc1MwRkJUU3hwUWtGSGFrSXdUaXhIUVVGUkxGTkJRVlZETEVkQlEycENRU3hGUVVGSGNVTXNWVUZCV1N4dlJrRkxaaXhKUVVGSlJDeEZRVUZSTDFFc1JVRkJVekJETEdOQlFXVXNVMEZEY0VOeFR5eEZRVUZOYkU4c1lVRkJZeXhQUVVGUkxGVkJRelZDT0V3c1JVRkJSelZNTEZsQlFXRm5UeXhIUVVGUmJFOHNZVUZCWXl4UFFVRlJMRXRCU1hwRE9Fd3NSVUZCUjFZc2FVSkJRV3RDTEZsQlFXRjRTeXhSUVVOMFEybEdMRVZCUVZVeFNDeExRVUZOTEU5QlFWTTJTU3hGUVVGaExHVkJTMWNzU1VGQk4wTTRSU3hGUVVGSFZpeHBRa0ZCYTBJc1dVRkJZWGhMTEZGQlEzUkRhVVlzUlVGQlZURklMRXRCUVUwc1YwRkJXU3hoUVVzM1FuZElMRVZCUVZGNlJpeFpRVUZoTkV3c1IwRkJTM0JETEZWQlFWY3NSVUZEWXl4SlFVRTVRMjlETEVWQlFVZFdMR2xDUVVGclFpeGhRVUZqZUVzc1VVRkRka05wUml4RlFVRlZNVWdzUzBGQlRTeFhRVUZaTEdGQlN6ZENNazRzUlVGQlIxWXNhVUpCUVd0Q0xGRkJRM0pDZGtZc1JVRkJWVEZJTEV0QlFVMHNXVUZKV0ZFc1JVRkJVWGxRTEdkQ1FVRnJRalZHTEVWQlFWRjFReXhMUVVGUmVrY3NSVUZCVlhGQ0xFVkJRVkZ5UWl4VFFVTnNSWEZDTEVWQlFWRXdTU3gxUWtGRFVqRkpMRVZCUVZFeVNTeHZRa0ZEVWpOSkxFVkJRVkUwU1N4clFrRkRValZKTEVWQlFWRTJTU3h4UWtGRlVqTkRMRWRCUVZFc1UwRkJWVU1zUjBGSmFrSnVUaXhGUVVGUk9GQXNhMEpCUVc5Q2Jrc3NSVUZCVVhSSExFdEJRVTA0VGl4RlFVRkpMRXRCU1RsRGVFZ3NSVUZCVVhSSExFdEJRVTA0VGl4RlFVRkpMR0ZCUTJ4Q2FFY3NSVUZCWXpOSUxFdEJRVTBzUzBGQlRXZEtMRXRCU1RWQ2RFSXNSVUZCV1VFc1JVRkJWV3BHTEZGQlFWVXNTVUZCU1hsSExFOUJRVkY0UWl4RlFVRlZjMFlzUzBGQlRTeE5RVU0xUkhKR0xFVkJRV2RDUVN4RlFVRmpiRVlzVVVGQlZTeEpRVUZKZVVjc1QwRkJVWFpDTEVWQlFXTnhSaXhMUVVGTkxFMUJTWGhGSzBJc1JVRkJZVEZGTEVWQlFWRjFReXhMUVVGTmNFWXNSVUZCVVN0SkxIbENRVXR1UXpOSkxFVkJRVmR0U0N4SFFVRmpNVVVzUlVGQlVYVkRMRXRCUVUxd1JpeEZRVUZSU1N4VlFVTTVReXhUUVVGVlZ5eEZRVUZIUXl4SFFVTmFMRWxCUVVsblNTeEZRVUYxUWl4SlFVRm1ha2tzUlVGQlJUVklMRk5CUVdsQ05FZ3NSVUZCUlhWSExHZENRVUZyUW5aSExFVkJRMnhFYTBrc1JVRkJUV3BKTEVkQlFVdEJMRVZCUVVWNFJ5eFhRVU5rTEU5QlFVOTFSeXhKUVVGTmEwa3NUVUZCVjBFc1IwRkJkMElzU1VGQmFrSkJMRVZCUVVrNVVDeFpRVU5zUXpaUUxFVkJRVTAxU1N4VFFVTk1ORWtzUlVGQlRUVkpMRk5CUVZVMlNTeEhRVU5vUW14SkxFVkJRVVZuU1N4NVFrRkJPRVFzUjBGQmJrTm9TU3hGUVVGRlowa3NkMEpCUVhsQ1JTeE5RVWN6UkN4VFFVRlZiRWtzUlVGQlIwTXNSMEZEV2l4SFFVRkxRU3hGUVVOS0xFdEJRVlZCTEVWQlFVbEJMRVZCUVVWNFJ5eFpRVU5tTEVkQlFVdDNSeXhKUVVGTlJDeEZRVU5XTEU5QlFVOHNSVUZKVml4UFFVRlBMRWRCVDFSRUxFVkJRVmw1Unl4RlFVTmFMRk5CUVZWNFJ5eEZRVUZIUXl4SFFVZGFMRWRCUVV0RUxFbEJRVTFETEVWQlJWWXNUMEZFUVd4Q0xFZEJRV1VzUlVGRFVpeEZRVWxTTEVsQlFVbHZTaXhIUVVGWGJra3NSVUZCUldkSkxIbENRVUV5UWk5SUxFVkJRVVVyU0N4M1FrRkRPVU1zVDBGQlMwY3NTVUZuUWxVc1IwRlFaa0VzUjBGQldXNUpMRVZCUVVVNFJDeGxRVUZwUWpsRUxFdEJRVk5ETEVWQlFVVTJSQ3hsUVVGcFFqZEVMRWRCUXpGRVJDeEZRVUZGWjBrc2QwSkJRWGxDTDBnc1IwRkhNMElzUzBGSlIyaEpMRVZCUVZGdFVTeGpRVUZuUW01SkxFVkJRVVVyU0N4M1FrRkJlVUpvU1N4TFFVRlJiVWtzUlVGUGVrUnVTU3hIUVVGTGRrb3NSMEZCV1hWS0xFVkJRVVU0UkN4bFFVRnBRblpGTEVkQlEzaERSaXhGUVVGVlJTeEZRVUZqVXl4SlFVTm9RaXhGUVU5S1F5eEhRVUZMZUVvc1IwRkJXWGRLTEVWQlFVVTJSQ3hsUVVGcFFuWkZMRWRCUTNoRFJpeEZRVUZWUlN4RlFVRmpWU3hIUVVOcVFpeEZRVWxFYmtJc1JVRkRTbkJJTEVWQlFWTnZTQ3hGUVVGWGEwSXNSMEZCVFhSSkxFVkJRVk52U0N4RlFVRlhiVUlzUjBGRGFFUXNSVUZIWlN4RlFVRldhMGtzUjBGQlpTeEZRVUZKTEVsQlJUTkNMRk5CUVZWdVNTeEZRVUZIUXl4SFFVZGFMRWRCUVV0RUxFbEJRVTFETEVWQlJWWXNUMEZFUVd4Q0xFZEJRV1VzUlVGRFVpeEZRVWRTTEVsQlFVa3lSeXhGUVVOSU1VMHNSVUZCU1N4RlFVTktjVkFzUlVGQlRYSkpMRVZCUVVWMlJ5eFhRVU5TZVU4c1JVRkJUV3BKTEVWQlFVVjRSeXhYUVVOU05rOHNSVUZCU3l4RFFVRkZkRWtzUjBGRFVIVkpMRVZCUVVzc1EwRkJSWFJKTEVkQlIxSXNTVUZCVFc5SkxFbEJRVkZJTEVWQlRXSXNUMEZCVDJ4SkxFZEJRVXQyU2l4SFFVRlpMRVZCUTNaQ2Qwb3NSMEZCUzNoS0xFVkJRVmNzUlVGRmFFSTBVaXhIUVVGUExFVkJRMUJJTEVWQlFVMHNSVUZEVG5CS0xFVkJRMFZ3U0N4RlFVRlRiMGdzUlVGQlYydENMRWRCUVUxMFNTeEZRVUZUYjBnc1JVRkJWMjFDTEVkQlEyaEVMRVZCUjBzc1IwRkJTMjlKTEVsQlFWRklMRVZCUTI1Q0xFOUJRVTk2UXl4SFFVRmpla1lzUlVGQlIwTXNSMEZMZWtJc1NVRkVRWGxHTEVWQlFVMHhSaXhGUVVOSk1FWXNSVUZCVFVFc1JVRkJTV3BOTEZsQlEyNUNOazhzUlVGQlIwVXNVVUZCVXpsRExFZEJSMklzU1VGRVFVRXNSVUZCVFhwR0xFVkJRMGw1Uml4RlFVRk5RU3hGUVVGSmFrMHNXVUZEYmtJNFR5eEZRVUZIUXl4UlFVRlRPVU1zUjBGSllpeExRVUZSTkVNc1JVRkJTWFJRTEV0QlFWRjFVQ3hGUVVGSmRsQXNTVUZEZGtKQkxFbEJSMFFzVDBGQlQwRXNSVUZIVG5sTkxFZEJRV00yUXl4RlFVRkpkRkFzUjBGQlMzVlFMRVZCUVVsMlVDeEpRVTh6UW5OUUxFVkJRVWwwVUN4SlFVRlBkVWNzUjBGQlowSXNSVUZETTBKblNpeEZRVUZKZGxBc1NVRkJUM1ZITEVWQlFXVXNSVUZGTVVJc1IwRkhTemxKTEVkQkwyTkRRU3hIUVd0a1ZEWklMRWRCUVU5V0xGRkJRVlVzVTBGQlZUWkxMRVZCUVUxRExFZEJRMmhETEU5QlFVOXdTeXhIUVVGUmJVc3NSVUZCVFN4TFFVRk5MRXRCUVUxRExFbEJSMnhEY0Vzc1IwRkJUMjlLTEdkQ1FVRnJRaXhUUVVGVmVrMHNSVUZCVFhkT0xFZEJSM2hETEVkQlJrRjZTaXhGUVVGaEwwUXNSMEZGVW1oRUxFVkJRVkY1VUN4cFFrRkJiVUo0U1N4SlFVTTVRbGtzUlVGQmQwSXlTU3hGUVVGUExGRkJRemRDY2tvc1NVRkJhMEpCTEVWQlFXTnBSaXhMUVVGTmIwVXNUMEZEZEVOMFNpeEpRVUZyUWtFc1JVRkJWV3RHTEV0QlFVMXZSU3hKUVVWeVF5eEpRVU5ETEVsQlFVazVUaXhGUVVGTmFVUXNSVUZCVVhSSExFdEJRVTB5UkN4RlFVRk5kMDRzUjBGSE9VSXNSMEZCU3psT0xFZEJRVTh4UXl4RlFVRlJPRkFzYlVKQlNXNUNPVTBzUlVGQlMzaEZMRlZCUVhWRExFdEJRVE5DZDBVc1JVRkJTM2hGTEZOQlFWTXlRaXhUUVVNdlFpeFBRVUZQZFVNc1JVRkZVQ3hOUVVGUk1Fa3NSMEZEVkhaRUxFVkJRWGRDTWtrc1IwRkJUU3hIUVVsb1F5eFBRVUZQYmtzc1IwRkJVVzFMTEVWQlFVMW9VeXhGUVVGVkxFdEJRVTBzUTBGQlJYZEZMRWxCUVZObUxFOUJRVk1zUjBGSE1VUnZSU3hIUVVGUFpTeFRRVUZYTEZOQlFWVjJSaXhGUVVGVGJVSXNSMEZWY0VNc1QwRklUMjVDTEVWQlFWRm5TeXhsUVVGcFFtaExMRWxCUVdGeVJDeEhRVU0xUTNWSkxFVkJRV0ZzUml4SFFVVlFkVVlzUlVGQlZYWkdMRVZCUVZOdFFpeEpRVWN6UW5GRUxFZEJRVTl4U3l4TFFVRlBMRk5CUVZVeFRpeEZRVUZOWjBJc1NVRlBkRUpvUWl4RlFVRkxOa2tzWlVGQmFVSTNTU3hKUVVGVmVFVXNSMEZEZEVOMVNTeEZRVUZoTDBRc1IwRkhaQ3hKUVVGSmJFSXNSVUZCUzNkRkxFVkJRVXRwU0N4WFFVRlpka29zUlVGQlMyOURMR1ZCUnpsQ2NFWXNSVUZCVFdNc1IwRkJUV3hETEVWQlFVOVFMRXRCUVUxcFNDeEZRVUZMYVVnc1YwRkJXWFpLTEVWQlFVdHZReXhsUVVNNVEzUkZMRVZCUVVsclFpeEZRVUZOWjBJc1IwRkJUMmxFTEZGQlEycENlRU1zUlVGRlJpeFpRVUZsUVN4SlFVRlNla1FzUlVGRFRrRXNSVUZEUVdoQ0xFVkJRVkYxU1N4aFFVRmxkRUlzUlVGRGRFSnFSU3hGUVVGTE5VSXNZVUZCWXpSRExFbEJRMnBDYUVRc1JVRkJUV2RETEVWQlFVdHZUU3hwUWtGQmEwSndUQ3hMUVVGWmFFUXNSVUZCU1RKUUxGVkJRemxETTFBc1JVRkJTVGhGTEUxQlEwb3NUVUZIU2s4c1IwRkJUelpFTEU5QlFWTXNVMEZCVlRCSExFZEJRM3BDTEU5QlFWTkJMRVZCUVUwc1NVRkJTeTlNTEZGQlFWTXdSaXhIUVVGWlF5eExRVWN4UTI1RkxFZEJRVTkwUWl4TlFVRlJMRk5CUVZWRExFZEJRM2hDTEUxQlFVMHNTVUZCU1hSSExFMUJRVThzTUVOQlFUUkRjMGNzU1VGUE9VUnhRaXhIUVVGUGQwc3NWMEZCWVN4VFFVRlZkRXdzUjBGRE4wSXNTVUZCU1haRExFVkJRMGc0VGl4RlFVRmhMRWRCUTJKd1RpeEZRVUZKTEVWQlEwb3pReXhGUVVGSkxFVkJUMHdzUjBGS1FTdEdMRWRCUVdkQ09VY3NSVUZCVVN0UkxHbENRVU40UW14TExFZEJRV0UzUnl4RlFVRlJaMUlzV1VGQlkzcE1MRVZCUVZGeVJ5eE5RVUZQTEVkQlEyeEVjVWNzUlVGQlVUTkNMRXRCUVUxclJTeEhRVVZVYUVJc1JVRkJaU3hEUVVOdVFpeExRVUZWT1VRc1JVRkJUM1ZETEVWQlFWTjRSU3hOUVVOd1FtbERMRWxCUVZOMVF5eEZRVUZUZUVVc1MwRkRkRUl5UXl4RlFVRkpiMDRzUlVGQlYzUlNMRXRCUVUxMVFpeEpRVWQyUWl4TFFVRlJNa01zUzBGRFVEWkNMRVZCUVZFeFFpeFBRVUZSYVU0c1JVRkJXWEJPTEVkQlFVc3NSMEZSYmtNc1QwRkdRVzFFTEVWQlFWa3NTMEZGVEhSQ0xFZEJUMUpuUWl4RlFVRlZSaXhIUVVGUFJTeFJRVUZWTEZOQlFWVjJSQ3hIUVVOd1F5eEpRVUZKYmtNc1JVRkRTRFpDTEVWQlFVMHNSMEZEVGpOQ0xFVkJRVWtzUlVGRFNsb3NSVUZCVnpaRExFVkJRVXMzUXl4VFFVVnFRaXhIUVVGTlFTeEhRVkZETEVkQlFXdENMRWxCUVdKQkxFZEJRU3RDTEVsQlFXSkJMRWRCUVN0Q0xFdEJRV0pCTEVWQlFXdENMRU5CU1dwRkxFZEJRV2xETEdsQ1FVRnlRalpETEVWQlFVdHBUeXhaUVVOb1FpeFBRVUZQYWs4c1JVRkJTMmxQTEZsQlNWb3NTVUZCVFdwUExFVkJRVTlCTEVWQlFVdHJUeXhYUVVGWmJFOHNSVUZCVFVFc1JVRkJUMEVzUlVGQlN6UkxMRmxCUXk5RGJFd3NSMEZCVHpaRUxFVkJRVk4yUkN4UlFVZGFMRWRCUVd0Q0xFbEJRV0kzUXl4SFFVRXJRaXhKUVVGaVFTeEZRVU0zUWl4UFFVRlBOa01zUlVGQlMyMVBMR1ZCYmtKYUxFdEJRVlYwVVN4RlFVRlBiVU1zUlVGQlRXcERMRTFCUjNSQ01rSXNSMEZCVHpaRUxFVkJRVk14Uml4SFFYRkNiRUlzVDBGQlR6WkNMRWxCUjFJMFJDeEZRVUZQUkN4SFFVRlBLMHNzVlVGQldTeERRVWQ2UW5KRkxGbEJRV0VzUjBGRlluTkZMR0ZCUVdOd1JTeEhRVVZrZUVJc1RVRkJUM2hETEVWQlJWQnpSU3hYUVVGWkxFZEJSVm8wUWl4TFFVRk5MRWRCUlU1dFF5eFRRVUZWTEVOQlExUkRMRWxCUVVzc1EwRkJSWFJITEVsQlFVc3NZVUZCWXk5SUxFOUJRVThzUjBGRGFrTnpUeXhKUVVGTExFTkJRVVYyUnl4SlFVRkxMR05CUTFwM1J5eEpRVUZMTEVOQlFVVjRSeXhKUVVGTExHdENRVUZ0UWk5SUxFOUJRVThzUjBGRGRFTjNUeXhKUVVGTExFTkJRVVY2Unl4SlFVRkxMRzlDUVVkaU1FY3NWVUZCVnl4RFFVTldkRWtzUzBGQlVTeFRRVUZWYjBNc1IwRlhha0lzVDBGV1FVRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWsxUnl4UlFVRlRiVVlzUjBGQlYwTXNTVUZITlVOM1FpeEZRVUZQTEVsQlFWRkJMRVZCUVU4c1NVRkJUMEVzUlVGQlR5eEpRVU51UTBFc1JVRkJUeXhKUVVGUExFbEJRVXMxUnl4UlFVRlRiVVlzUjBGQlYwTXNTVUZGY0VJc1QwRkJabmRDTEVWQlFVOHNTMEZEV0VFc1JVRkJUeXhIUVVGTkxFbEJRVTFCTEVWQlFVOHNSMEZCVFN4TFFVY3hRa0VzUlVGQlRYWk5MRTFCUVU4c1JVRkJSeXhKUVVkNFFuRkxMRTFCUVZNc1UwRkJWV3RETEVkQmFVTnNRaXhQUVhKQ1FVRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWx5Uml4alFVVlZMRkZCUVRkQ2NVWXNSVUZCVHl4SFFVRkpkazBzVFVGQlR5eEZRVUZITEVsQlIyNUNkVTBzUlVGQlR5eEpRVU5hY0VZc1IwRkJUM1JDTEUxQlFVOHdSeXhGUVVGUExFbEJTM1JDUVN4RlFVRlBMRXRCUVZOQkxFVkJRVThzUjBGRGRFSkJMRVZCUVU4c1NVRkJVVUVzUlVGQlR5eEpRVUZQTEVkQlF6ZENMRWRCUVhGQ0xGTkJRV1pCTEVWQlFVOHNTVUZCYVVNc1VVRkJaa0VzUlVGQlR5eExRVU4yUTBFc1JVRkJUeXhMUVVGWFFTeEZRVUZQTEVkQlFVMUJMRVZCUVU4c1NVRkJkMElzVVVGQlprRXNSVUZCVHl4TFFVY3pRMEVzUlVGQlR5eEpRVU5zUW5CR0xFZEJRVTkwUWl4TlFVRlBNRWNzUlVGQlR5eEpRVWRtUVN4SFFVZFNia01zVDBGQlZTeFRRVUZWYlVNc1IwRkRia0lzU1VGQlNXMUhMRVZCUTBoRExFZEJRVmx3Unl4RlFVRlBMRWxCUVU5QkxFVkJRVThzUjBGRmJFTXNUMEZCUzNoRExFVkJRVzFDTEUxQlFVVnRSQ3hMUVVGTldDeEZRVUZQTEVsQlF5OUNMRTFCU1VoQkxFVkJRVThzUjBGRFdFRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFbEJRVTlCTEVWQlFVOHNTVUZCVHl4SFFVYzVRbTlITEVkQlFWazVTU3hGUVVGUmNVUXNTMEZCVFhsR0xFdEJSMjVEUkN4RlFVRlRia3dzUlVGQlZXOU1MRWRCUVZVc1RVRkhOMEpFTEVWQlFWTkRMRVZCUVZOd1V5eFJRVUZUTEVsQlFVdHZVeXhGUVVGVE5WQXNUMEZCVXpKUUxFZEJRVmRETEVWQlFWTTFVQ3hWUVVkNFJYZEtMRVZCUVU4c1IwRkJUVUVzUlVGQlR5eEhRVUZKZGswc1RVRkJUeXhGUVVGSE1GTXNSMEZEYkVOdVJ5eEZRVUZQTEVkQlFVMXZSeXhGUVVGVE0xTXNUVUZCVHl4RlFVRkhNRk1zU1VGSk1VSnVSeXhGUVVGTmRrMHNUVUZCVHl4RlFVRkhMRTFCU1hwQ0sxQXNUMEZCVVN4RFFVVlFOMFlzU1VGQlR5eFRRVUZWTUVrc1IwRkRhRUlzU1VGQlNUbEhMRVZCUVZjNFJ5eEZRVUZwUW1wT0xGRkJRVk50Uml4SFFVRlhReXhKUVVGWk4wUXNZMEZEYUVVc1RVRkJORUlzVFVGQmNrSXdUQ3hGUVVOT0xGZEJRME1zVDBGQlR5eEhRVVZTTEZOQlFWVTVUeXhIUVVOVUxFOUJRVTlCTEVWQlFVdG5TU3hWUVVGWmFFa3NSVUZCUzJkSkxGTkJRVk0xUlN4blFrRkJhMEkwUlN4SlFVa3pSRGRDTEUxQlFWTXNVMEZCVlRCR0xFZEJRMnhDTEVsQlFVbHJSQ3hGUVVGVmRFc3NSVUZCV1c5SUxFVkJRVmtzUzBGRmRFTXNUMEZCVDJ0RUxFbEJRMHBCTEVWQlFWVXNTVUZCU1hKS0xFOUJRVkVzVFVGQlVVd3NSVUZETDBJc1NVRkJUWGRITEVWQlFWa3NTVUZCVFhoSExFVkJRV0VzVTBGQllWb3NSVUZEYWtSdlNDeEZRVUZYTEZOQlFWVTNUQ3hIUVVOd1FpeFBRVUZQSzA4c1JVRkJVVE5HTEV0QlExa3NhVUpCUVc1Q2NFb3NSVUZCU3paTUxGZEJRVEJDTjB3c1JVRkJTelpNTEdkQ1FVTmtMRWxCUVhSQ04wd3NSVUZCU3pWQ0xHTkJRMWcwUWl4RlFVRkxOVUlzWVVGQll5eFZRVU53UWl4UFFVdE9hVWtzUzBGQlVTeFRRVUZWY2tZc1JVRkJUV2RQTEVWQlFWVkRMRWRCUTJwRExFOUJRVThzVTBGQlZXcFFMRWRCUTJoQ0xFbEJRVWxyVUN4RlFVRlROMHdzUjBGQlQzRkxMRXRCUVUweFRpeEZRVUZOWjBJc1IwRkZhRU1zVDBGQlpTeE5RVUZXYTA4c1JVRkRaMElzVDBGQllrWXNSMEZGUmtFc1NVRkpUa1VzUjBGQlZTeEhRVWxWTEUxQlFXSkdMRVZCUVcxQ1JTeEpRVUZYUkN4RlFVTjJRaXhQUVVGaVJDeEZRVUZ2UWtVc1NVRkJWMFFzUlVGRGJFSXNUMEZCWWtRc1JVRkJiMEpETEVkQlFYRkRMRWxCUVRWQ1F5eEZRVUZQZWxNc1VVRkJVM2RUTEVkQlEyaERMRTlCUVdKRUxFVkJRVzlDUXl4SFFVRlRReXhGUVVGUGVsTXNVVUZCVTNkVExFbEJRVmNzUlVGRE0wTXNUMEZCWWtRc1JVRkJiMEpETEVkQlFWTkRMRVZCUVU5b1ZDeFBRVUZSSzFNc1JVRkJUV2hSTEZWQlFXRm5VU3hGUVVOc1JDeFBRVUZpUkN4SFFVRnpRaXhKUVVGTlJTeEZRVUZQY2s0c1VVRkJVelJFTEVWQlFXRXNTMEZCVVN4TFFVRk5hRW9zVVVGQlUzZFRMRWxCUVZjc1JVRkRPVVVzVDBGQllrUXNTVUZCYjBKRkxFbEJRVmRFTEVkQlFWTkRMRVZCUVU5b1ZDeE5RVUZQTEVWQlFVY3JVeXhGUVVGTmFGRXNUMEZCVXl4TFFVRlJaMUVzUlVGQlVTeFJRVTh6UmpGSkxFMUJRVk1zVTBGQlZXaEtMRVZCUVUwMFVpeEZRVUZOUXl4RlFVRlhiRkFzUlVGQlQwVXNSMEZEYUVRc1NVRkJTV2xRTEVWQlFXZERMRkZCUVhaQ09WSXNSVUZCUzNKQ0xFMUJRVThzUlVGQlJ5eEhRVU16UW05VUxFVkJRU3RDTEZOQlFYSkNMMUlzUlVGQlMzSkNMRTlCUVZFc1IwRkRka0p4VkN4RlFVRnJRaXhaUVVGVVNpeEZRVVZXTEU5QlFXbENMRWxCUVZacVVDeEhRVUYzUWl4SlFVRlVSU3hGUVVkeVFpeFRRVUZWU2l4SFFVTlVMRkZCUVZOQkxFVkJRVXQ0UWl4WlFVZG1MRk5CUVZWM1FpeEZRVUZOZDFBc1JVRkJWVU1zUjBGRGVrSXNTVUZCU1RWR0xFVkJRVTgyUml4RlFVRmhReXhGUVVGWk9WSXNSVUZCVFN0U0xFVkJRVmRETEVWQlEzQkVOVWdzUlVGQlRXOUlMRWxCUVZkRExFVkJRVlVzWTBGQlowSXNhMEpCUXpORFVTeEZRVUZUT1ZBc1JVRkJTM2hDTEZkQlEyUjNReXhGUVVGUGRVOHNSMEZCVlhaUUxFVkJRVXRuU1N4VFFVRlROVVVzWTBGREwwSXlUU3hIUVVGWlRpeEpRVUZSUml4RlFVTndRamRGTEVkQlFVOHNSVUZGVWl4SFFVRkxiMFlzUlVGQlV5eERRVWRpTEVkQlFVdFVMRVZCUVZNc1EwRkRZaXhMUVVGUmNFZ3NSMEZCVFN4RFFVVmlMRWxCUkVGd1N5eEZRVUZQYlVNc1JVRkRSMjVETEVWQlFVOUJMRVZCUVUxdlN5eEpRVU4wUWl4SFFVRkxjMGdzUlVGRFNqRlNMRVZCUVV0dFN5eFRRVUZUTlVVc1owSkJRV3RDY0VNc1JVRkRaQ3hKUVVGc1FtNUVMRVZCUVV0V0xGTkJSVXdzVDBGQlR5eEZRVXRVTUZNc1JVRkJVVFZJTEVWQlFXVXNVMEZCVkRGTExFbEJRVzlDYzFNc1IwRkJVeXhqUVVVMVF5eFBRVUZQTEVWQlRWSXNSMEZJUVVFc1JVRkJVU3hEUVVGRlVDeEZRVUZWVVN4RlFVRlBOVUlzVjBGQllUUkNMRVZCUVU5RkxGZEJSekZEVml4SFFVRlhVeXhIUVd0Q1ppeEpRVWhCY2tZc1IwRkVRV3RHTEVkQlJFRXZSaXhIUVVoQk5rWXNSMEZLUVVNc1IwRkVRVGxTTEVWQlFVOXBVeXhIUVVOWmNFOHNTMEZCWlRkRUxFVkJRVTAyUkN4SFFVRlpMRXRCU1RGQ04wUXNSVUZCUzI5VExGbEJRelZDVGl4RlFVRlpPVklzUlVGQlMyOVRMRlZCUVdFc1MwRkZXakZUTEVsQlFWVXNTVUZEV2l4TFFVRlJaMGdzUjBGQlYzTkdMRVZCUVU4c1MwRkRla0pCTEVWQlFVOHNSMEZETTBKb1RTeEZRVUZQSzFJc1IwRkJZVVVzUlVGQlR6TklMRmRCUVZsNVNDeEhRVVUzUWk5U0xFbEJRVk1yVWl4SFFVRmhMMUlzUjBGQlVVRXNSVUZCVFc5TExFdEJSek5EZVVNc1JVRkJUMnRHTEVWQlFWa3NTVUZCVDBNc1JVRkJUVFZMTEU5QlIyeERMRWRCUVhWQ0xFbEJRV3hDY0Vnc1JVRkJTMVlzV1VGQmIwSjFUaXhIUVVGUk4wMHNTVUZCVTIxRExFVkJRVThzUTBGRGNrUXdVQ3hGUVVGaGJsTXNSMEZCVXl4RFFVRkZaMGdzUlVGQlUzRk1MRVZCUVZkc1JpeEhRVU0xUXl4WlFYbENSaXhIUVd4Q1MzRkdMRWxCWVVweVJpeEZRVVJCYTBZc1IwRkVRUzlHTEVkQlNFRTJSaXhIUVVwQlF5eEhRVVJCT1ZJc1JVRkJUMjFETEVkQlExa3dRaXhMUVVGbE4wUXNSVUZCVFRaRUxFZEJRVmtzUzBGSk1VSTNSQ3hGUVVGTGIxTXNXVUZETlVKT0xFVkJRVms1VWl4RlFVRkxiMU1zVlVGQllTeExRVVZhTVZNc1NVRkJWU3hKUVVOYUxFdEJRVkZuU0N4SFFVRlhjMFlzUlVGQlR5eExRVTFvUXl4SlFVRlVZU3hGUVVkS0xFMUJRVlUzVFN4SlFVRlRLMUlzUjBGQllTOVNMRWRCUVZGQkxFVkJRVTF2U3l4TFFVTXpRM2xETEVWQlFVOXJSaXhGUVVGWkxFbEJRVTlETEVWQlFVMDFTeXhWUVVVelFuTkxMRVZCUTA0eFVpeEZRVUZMYlVzc1UwRkJVelZGTEdkQ1FVRnJRbkJETEVWQlEyUXNTVUZCYkVKdVJDeEZRVUZMVml4alFVTklkVTRzU1VGSFIzRkdMRXRCVFVwTUxFZEJURUZETEVWQlFXRTVVaXhGUVVGTk5rUXNTMEZEYUVJM1JDeEZRVUZOTmtRc1IwRkJXU3hMUVVsTE4wUXNSVUZCUzI5VExGbEJRelZDVGl4RlFVRlpPVklzUlVGQlMyOVRMRlZCUVdFc1MwRkZjRUl4VXl4SFFVRlRMRU5CUVVWblNDeEZRVUZUYlVjc1NVRkhOMEkzVFN4SlFVRlRiVU1zVFVGVmJFSXNUMEZFUVRCTExFZEJRVkYwU3l4TFFVTlJSaXhIUVVGWGQwc3NSVUZCVDNoTExFZEJRVlVzUjBGQlMzZExMRVZCUVU5NFN5eEhRVUZUTEV0QlMzSkZiMGNzVDBGQlZTeFRRVUZWTkVvc1JVRkJVV2hHTEVkQlRUTkNMRWxCUVVscFJpeEZRVU5JY2xJc1JVRkJTM2RGTEVWQlFVdHJReXhSUVVGVE1Fc3NTVUZCV1RWTkxFVkJRVXM0VFN4WFFVRlpSaXhGUVVGUE9VMHNaMEpCUTNSRVF5eEhRVUZQZEVJc1RVRkJUeXgxUWtGQmVVSnRUeXhIUVV0NlF5eFBRVUZMY0ZJc1JVRkJTVFJETEVkQlEwUTFReXhGUVVGSmIwMHNSMEZKVUhCTkxFVkJRVWRITEU5QlFWTXNSMEZEYUVKclVpeEZRVUZQTEVOQlFVVkVMRVZCUVZGQkxFVkJRVkVzUjBGQlNXaEdMRWRCUTNSQ05VZ3NSVUZCU3poTkxGZEJRVmQyVkN4bFFVRm5RbkZVTEVWQlFVODVUU3hsUVVNM1F6WkhMRWRCUVdNc1UwRkJWVE5DTEVWQlFVMHpSaXhIUVVrM1FpeEpRVWhCTEVsQlFVa3dUaXhGUVVOSVF5eEZRVUZWZUZJc1JVRkJTWGRLTEVWQlFVMDBReXhIUVVOd1FtNU9MRVZCUVVsMVV5eEZRVUZSY2xJc1QwRkRUR3hDTEV0QlJWQjFTeXhGUVVSQkswZ3NSVUZCVFRWVUxFVkJRVk0yVEN4RlFVRk5aMGtzUlVGQlUzWlRMRTlCUTJJMFJTeEZRVUZUTUU0c1IwRkJVVU1zUlVGQlUzWlRMRTFCUnpkRExGTkJRVlZwUXl4SFFVTlVMRTlCUVU5c1FpeEZRVUZKYTBJc1JVRkJUU3hGUVVGSGJWRXNTMEZKYUVKeVVpeEpRVWxVTUVjc1VVRkJVeXhEUVVkU0swc3NTVUZCVDNSSExFZEJRV01zVTBGQlZYSk1MRWRCU3psQ0xFbEJRVWt5VGl4RlFVRlJMRWRCUTFob1N5eEZRVUZWTEVkQlExWnBUeXhGUVVGVk9VMHNSVUZCVXpsRkxFVkJRVk5wUkN4UlFVRlRPRVFzUlVGQlR5eFBRVVUzUXl4UFFVRlBOa3NzUlVGQlV6bFBMRWRCUTJaMVNTeEhRVUZqTEZOQlFWVXpRaXhGUVVGTk0wWXNSVUZCVXpaTkxFVkJRVlZETEVkQlRXaEVMRWxCVEVFc1NVRkJTWHBRTEVWQlEwaDVVU3hGUVVGWlJDeEZRVUZUYkVrc1JVRkJUU3hMUVVGTmJVZ3NSVUZCU3l4SlFVTjBRekZTTEVWQlFVbDFTeXhGUVVGTGNrb3NUMEZIUm14Q0xFMUJRMEZwUXl4RlFVRlBlVkVzUlVGQlZ6RlRMRTFCUTNoQ2RVc3NSVUZCVFhaTExFdEJRVk0wUlN4RlFVRlROVVVzUjBGQlRXbERMRTFCU1dwRExGTkJRVlZCTEVWQlFVMTNVQ3hGUVVGVlF5eEhRVTE2UWl4UFFVeEJiRVFzUlVGQlR5eEhRVUZOZGswc1JVRkRZbmRSTEVWQlFWTnFSU3hGUVVGUExFdEJRVTFyUkN4RlFVRkxiRTRzUjBGSE0wSm5TeXhGUVVGUExFZEJRVTBzVFVGRFRHaExMRVZCUVZFd1F5eFRRVWx1UW5sTUxFbEJRVTk2Unl4SFFVRmpMRk5CUVZWeVRDeEhRVU01UWl4UFFVRlBMRk5CUVZWdlFpeEhRVU5vUWl4UFFVRlBjVVFzUjBGQlVYcEZMRVZCUVZWdlFpeEhRVUZQWml4UFFVRlRMRXRCU1RORGJVWXNVMEZCV1RaR0xFZEJRV01zVTBGQlZUbE1MRWRCUlc1RExFOUJSRUZCTEVWQlFVOUJMRVZCUVVzd1JDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGVrSXNVMEZCVldwSUxFZEJRMmhDTEU5QlFWTkJMRVZCUVV0cFR5eGhRVUZsTVVzc1JVRkJVM1pFTEVsQlFWTjJSQ3hSUVVGVE1FSXNTVUZCVlN4TFFWZHdSWGRUTEV0QlFWRXhSeXhIUVVGakxGTkJRVlV3Unl4SFFVOHZRaXhQUVVwTk0wc3NSVUZCV1c5RUxFdEJRVTExU0N4SFFVRlJMRXRCUXk5Q2RFNHNSMEZCVDNSQ0xFMUJRVThzY1VKQlFYVkNORThzUjBGRmRFTkJMRVZCUVU5QkxFVkJRVXM1VHl4UlFVRlRiVVlzUjBGQlYwTXNTVUZCV1RkRUxHTkJRM0pETEZOQlFWVndSQ3hIUVVOb1FpeEpRVUZKTkZFc1JVRkRTaXhIUVVORExFZEJRVTlCTEVWQlFWY3pUU3hGUVVOcVFtcEZMRVZCUVVzeVVTeExRVU5NTTFFc1JVRkJTelZDTEdGQlFXTXNZVUZCWjBJMFFpeEZRVUZMTlVJc1lVRkJZeXhSUVVkMFJDeFBRVVJCZDFNc1JVRkJWMEVzUlVGQlUzaE9MR2xDUVVOQmRVNHNSMEZCTWtNc1NVRkJia05ETEVWQlFWTnVWU3hSUVVGVGExVXNSVUZCVHl4WlFVVXpRek5STEVWQlFVOUJMRVZCUVV0NFFpeGhRVUZyUXl4SlFVRnNRbmRDTEVWQlFVczNReXhWUVVNM1F5eFBRVUZQTEV0QlMxUnBSU3hQUVVGVkxGTkJRVlZ3UWl4SFFVTnVRaXhKUVVGSk5sRXNSVUZCVDJ4V0xFVkJRVTl0Vml4VlFVRlpibFlzUlVGQlQyMVdMRk5CUVZORUxFdEJRemxETEU5QlFVOUJMRWRCUVZGQkxFVkJRVXN6VlN4TlFVRlBMRXRCUVZFNFJDeEZRVUZMWjBvc1NVRkhla01yU0N4TFFVRlJMRk5CUVZVdlVTeEhRVU5xUWl4UFFVRlBRU3hKUVVGVFowVXNSMEZIYWtKblRpeE5RVUZUTEZOQlFWVm9VaXhIUVVOc1FpeFBRVUZQUVN4SlFVRlRlRVVzUlVGQlUzbFdMR2xDUVVOeVFucFdMRVZCUVZNd1ZpeFZRVUZaTVZZc1JVRkJVekJXTEdkQ1FVTTNRbXhTTEVWQlFVdDZReXhOUVVGUmVVTXNSVUZCUzIxU0xFOUJRVk51VWl4RlFVRkxiMUlzVjBGSmRFTkRMRkZCUVZkMFJ5eEpRVUZ6UWl4SFFVTnFRMmhFTEZOQlFWbG5SQ3hKUVVGelFpeEhRVVZzUTNWSExGRkJRVmNzVTBGQlZYUlNMRWRCU1hCQ0xFbEJRVWxuU1N4RlFVRlhhRWtzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU0zUWl4TlFVRnpRaXhWUVVGaU5FVXNTMEZCTUVKb1NTeEZRVUZMYzFJc1UwRkRlRUlzVjBGQlluUktMRXRCUVRKQ2FFa3NSVUZCUzNWU0xGVkJSM0JEUVN4VFFVRlpMRk5CUVZWMlVpeEhRVk55UWl4UFFVeExRU3hGUVVGTGVFSXNXVUZGVkhkQ0xFVkJRVXQ0UWl4WFFVRlhaMVFzWlVGSFVTeEpRVUZzUW5oU0xFVkJRVXQxVWl4VlFVbGlSU3hOUVVGVExGTkJRVlY2VWl4SFFVMXNRaXhKUVVGTlFTeEZRVUZQUVN4RlFVRkxhMDhzVjBGQldXeFBMRVZCUVUxQkxFVkJRVTlCTEVWQlFVczBTeXhaUVVNdlF5eEhRVUZMTlVzc1JVRkJTemRETEZOQlFWY3NSVUZEY0VJc1QwRkJUeXhGUVVkVUxFOUJRVThzUjBGSFVqSlRMRTlCUVZVc1UwRkJWVGxRTEVkQlEyNUNMRTlCUVZGelJDeEZRVUZMYTBNc1VVRkJhVUlzVFVGQlIzaEdMRWxCU1d4RE1GSXNUMEZCVlN4VFFVRlZNVklzUjBGRGJrSXNUMEZCVHpSSExFVkJRVkYzUXl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUnpOQ2RVVXNUVUZCVXl4VFFVRlZkazBzUjBGRGJFSXNUMEZCVHpKSExFVkJRVkY1UXl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUnpOQ01rb3NUMEZCVlN4VFFVRlZNMUlzUjBGRGJrSXNTVUZCU1dkQ0xFVkJRVTlvUWl4RlFVRkxaMGtzVTBGQlV6VkZMR05CUTNwQ0xFMUJRV2RDTEZWQlFWUndReXhIUVVGclF5eFhRVUZrYUVJc1JVRkJTM3BETEUxQlFUaENMRmRCUVZSNVJDeEhRVWQwUkRkRExFdEJRVkVzVTBGQlZUWkNMRWRCUTJwQ0xFbEJRVWt3VGl4RlFVTktMRTFCUVhWRExGVkJRV2hETVU0c1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVOT0xGTkJRV1J3UkN4RlFVRkxla01zVDBGSmRVTXNUMEZCZUVOdFVTeEZRVUZQTVU0c1JVRkJTelZDTEdGQlFXTXNWVUZEVGl4VFFVRjJRbk5RTEVWQlFVdDBTeXhuUWtGSlVteEVMRTFCUVZNclN5eEhRVUYzUWl4WFFVTm9ReXhOUVVGUExFTkJRVVVzUzBGSFZqZExMRXRCUVZFMlN5eEhRVUYzUWl4VFFVRlZNa2NzUlVGQlpUTlRMRWRCUTNoRUxFMUJRVThzUTBGQlJVRXNSVUZCVXl4TFFVZHVRbXRDTEVkQlFVMDRTeXhIUVVGM1FpeFRRVUZWTWtjc1JVRkJaVE5UTEVWQlFWRnBUU3hIUVVNNVJDeE5RVUZQTEVOQlFVVkJMRVZCUVZjc1JVRkJTVUVzUlVGQlYycE5MRVZCUVZOcFRTeExRVWMzUXpkTExFdEJRVkUwU3l4SFFVRjNRaXhUUVVGVlJTeEZRVUZqYkUwc1IwRkZka1FzU1VGRVFTeEpRVUZKYkVJc1JVRkJTU3hGUVVOQlFTeEZRVUZKYTBJc1JVRkJVV3hDTEVkQlFVc3NSVUZEZUVKdlRpeEZRVUZoTTA4c1MwRkJUWFZDTEVkQlJYQkNMRTlCUVU5dlRpeEpRVWRTTTBzc1NVRkJUM2xMTEVkQlFYZENMRk5CUVZWRkxFVkJRV05zVFN4SFFVVjBSQ3hKUVVSQkxFbEJRVWxzUWl4RlFVRkpMRVZCUTBGQkxFVkJRVWxyUWl4RlFVRlJiRUlzUjBGQlN5eEZRVU40UW05T0xFVkJRV0V6VHl4TFFVRk5kVUlzUjBGRmNFSXNUMEZCVDI5T0xFbEJSMUl3Unl4SFFVRk5OVWNzUjBGQmQwSXNVMEZCVlVVc1JVRkJZMnhOTEVWQlFWRnBUU3hIUVUwM1JDeEpRVXhCTEVsQlFVbHVUaXhGUVVGSmJVNHNSVUZCVnl4RlFVTnNRa0VzUlVGQlYycE5MRVZCUTFocFRTeEZRVUZYYWswc1JVRkRWa0VzUlVGRFFXbE5MRWxCUTFGdVRpeEhRVUZMTEVkQlEyUnZUaXhGUVVGaE0wOHNTMEZCVFhWQ0xFZEJSWEJDTEU5QlFVOXZUaXhKUVVkU01rY3NSMEZCVFRkSExFZEJRWGRDTEZOQlFWVkZMRVZCUVdOc1RTeEZRVUZSYVUwc1IwRkZOMFFzU1VGRVFTeEpRVUZKYms0c1JVRkJTVzFPTEVWQlFWY3NSVUZCU1VFc1JVRkJWMnBOTEVWQlFWTnBUU3hKUVVOcVEyNU9MRVZCUVVsclFpeEhRVU5pYTAwc1JVRkJZVE5QTEV0QlFVMTFRaXhIUVVWd1FpeFBRVUZQYjA0c1QwRkxURE5HTEZGQlFXVXNTVUZCU1d4RExFVkJRVXRyUXl4UlFVRmpMRWRCUjJoRExFTkJRVVYxVFN4UFFVRlBMRVZCUVUxRExGVkJRVlVzUlVGQlRVTXNUVUZCVFN4RlFVRk5ReXhWUVVGVkxFVkJRVTFETEU5QlFVOHNSMEZETlVVM1R5eEZRVUZMYTBNc1VVRkJVM3BJTEVkQlFVMDRUU3hIUVVGdFFqbE5MRWRCUlhoRExFbEJRVTFCTEVsQlFVc3NRMEZCUlhGVkxGRkJRVkVzUlVGQlRVTXNUMEZCVHl4SFFVTnFReTlQTEVWQlFVdHJReXhSUVVGVGVrZ3NSMEZCVFN0TkxFZEJRVzlDTDAwc1IwRkpla01zVTBGQlUzRlRMRTFCTUVWVUxGTkJRVk0zUnl4SFFVRlpLMGtzUjBGSmNFSXNTVUZJUVN4SlFVRkpkbFVzUlVGQlNTeEZRVU5RTUVNc1JVRkJUVFpTTEVWQlFVOXlWQ3hQUVVOaVRDeEZRVUZYTEVkQlEwcGlMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRhRUpoTEVkQlFWa3dWQ3hGUVVGUmRsVXNSMEZCU1N0RkxFMUJSWHBDTEU5QlFVOXNSU3hGUVVkU0xGTkJRVk5yU2l4SFFVRmxNRWtzUlVGQlV5dENMRVZCUVZsRExFZEJRelZETEVsQlFVbDJTeXhGUVVGTmMwc3NSVUZCVjNSTExFbEJRM0JDZDBzc1JVRkJUMFlzUlVGQlYzSkxMRXRCUTJ4Q05FSXNSVUZCVFRKSkxFZEJRVkY0U3l4RlFVTmtlVXNzUlVGQmJVSkdMRWRCUVdkQ0xHVkJRVkl4U1N4RlFVTXpRalpKTEVWQlFWZHVUeXhKUVVWYUxFOUJRVThyVGl4RlFVRlhjbE1zVFVGSGFrSXNVMEZCVlVZc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVONFFpeExRVUZWZWxBc1JVRkJUMEVzUlVGQlRXbEpMRWxCUTNSQ0xFZEJRWFZDTEVsQlFXeENha2tzUlVGQlN6ZERMRlZCUVd0Q2RWWXNSVUZETTBJc1QwRkJUMnhETEVWQlFWTjRVU3hGUVVGTmJrSXNSVUZCVXpSUkxFZEJSMnBETEU5QlFVOHNSMEZKVWl4VFFVRlZlbEFzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU40UWl4SlFVRkpiVVFzUlVGQlZXeEVMRVZCUVdGRExFVkJRekZDYTBRc1JVRkJWeXhEUVVGRmRFOHNSVUZCVTI5UExFZEJSM1pDTEVkQlFVdHNSQ3hIUVVOS0xFdEJRVlY2VUN4RlFVRlBRU3hGUVVGTmFVa3NTVUZEZEVJc1NVRkJkVUlzU1VGQmJFSnFTU3hGUVVGTE4wTXNWVUZCYTBKMVZpeEpRVU4wUW14RExFVkJRVk40VVN4RlFVRk5ia0lzUlVGQlV6UlJMRWRCUXpWQ0xFOUJRVThzVDBGTFZpeExRVUZWZWxBc1JVRkJUMEVzUlVGQlRXbEpMRWxCUTNSQ0xFZEJRWFZDTEVsQlFXeENha2tzUlVGQlN6ZERMRlZCUVd0Q2RWWXNSVUZSTTBJc1IwRklRV2hFTEVkQlNrRkRMRVZCUVdFelVDeEZRVUZOTUVJc1MwRkJaVEZDTEVWQlFVMHdRaXhIUVVGWkxFdEJTVEZDTVVJc1JVRkJTMmxSTEZsQlF6VkNUaXhGUVVGWk0xQXNSVUZCUzJsUkxGVkJRV0VzU1VGRk5VSjNReXhIUVVGUlFTeEpRVUZUZWxNc1JVRkJTMmRKTEZOQlFWTTFSU3hqUVVOdVEzQkVMRVZCUVU5QkxFVkJRVTFwU1N4SlFVRlRha2tzVFVGRGFFSXNRMEZCUVN4SlFVRlBORk1zUlVGQlYyeEVMRVZCUVdFMVJpeExRVU55UXpoSkxFVkJRVlVzUzBGQlVYSlBMRWRCUVZkeFR5eEZRVUZWTEV0QlFWRkVMRVZCUnk5RExFOUJRVk5GTEVWQlFWVXNSMEZCVFVRc1JVRkJWU3hIUVU5dVF5eEhRVWhCYkVRc1JVRkJZVFZHTEVkQlFWRXJTU3hGUVVka1FTeEZRVUZWTEVkQlFVMXlReXhGUVVGVGVGRXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTTVReXhQUVVGUExFVkJUVm9zVDBGQlR5eEhRVWxXTEZOQlFWTnhSQ3hIUVVGblFrTXNSMEZEZUVJc1QwRkJUMEVzUlVGQlV6bFVMRTlCUVZNc1JVRkRlRUlzVTBGQlZXVXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVVjRRaXhKUVVSQkxFbEJRVWt4VWl4RlFVRkpaMVlzUlVGQlV6bFVMRTlCUTFSc1FpeExRVU5RTEVsQlFVMW5WaXhGUVVGVmFGWXNSMEZCUzJsRExFVkJRVTF1UWl4RlFVRlRORkVzUjBGRGJrTXNUMEZCVHl4RlFVZFVMRTlCUVU4c1IwRkZVbk5FTEVWQlFWVXNSMEZaV2l4VFFVRlRReXhIUVVGVmRrTXNSVUZCVnpGUkxFVkJRVXRyVFN4RlFVRlJjRTRzUlVGQlV6UlJMRWRCVDI1RUxFbEJUa0VzU1VGQlNYcFFMRVZCUTBocFZDeEZRVUZsTEVkQlEyWnNWaXhGUVVGSkxFVkJRMG93UXl4RlFVRk5aMUVzUlVGQlZYaFNMRTlCUTJoQ2FWVXNSVUZCWjBJc1RVRkJVRzVVTEVWQlJVWm9ReXhGUVVGSk1FTXNSVUZCU3pGRExFdEJRMVJwUXl4RlFVRlBlVkVzUlVGQlZ6RlRMRTFCUTJ4Q2EwOHNTVUZCVlVFc1JVRkJVV3BOTEVWQlFVMXVRaXhGUVVGVE5GRXNTMEZEZEVOM1JDeEZRVUZoZWxjc1MwRkJUWGRFTEVkQlEyUnJWQ3hIUVVOS2JsUXNSVUZCU1haRUxFdEJRVTExUWl4TFFVMWtMRTlCUVU5clZpeEZRVWRTTEZOQlFWTkZMRWRCUVZsNFJTeEZRVUZYTDFBc1JVRkJWVFJTTEVWQlFWTTBReXhGUVVGWlF5eEZRVUZaUXl4SFFVOHhSU3hQUVU1TFJpeEpRVUZsUVN4RlFVRlpNVklzUzBGREwwSXdVaXhGUVVGaFJDeEhRVUZaUXl4SlFVVnlRa01zU1VGQlpVRXNSVUZCV1ROU0xFdEJReTlDTWxJc1JVRkJZVVlzUjBGQldVVXNSVUZCV1VNc1NVRkZMMEp5U2l4SFFVRmpMRk5CUVZVelFpeEZRVUZOTDBZc1JVRkJVekZFTEVWQlFWTTBVU3hIUVVOMFJDeEpRVUZKT0VRc1JVRkJUWGhXTEVWQlFVZHBReXhGUVVOYWQxUXNSVUZCVXl4SFFVTlVReXhGUVVGVkxFZEJRMVpETEVWQlFXTnVVaXhGUVVGUmRFUXNUMEZIZEVKUkxFVkJRVkUyU1N4SFFUVkRXQ3hUUVVFeVFqRktMRVZCUVZVclZTeEZRVUZWY0ZJc1IwRkhPVU1zU1VGR1FTeEpRVUZKZUVVc1JVRkJTU3hGUVVOUU1FTXNSVUZCVFd0VUxFVkJRVk14VlN4UFFVTlNiRUlzUlVGQlNUQkRMRVZCUVVzeFF5eEpRVU5vUW5OR0xFZEJRVkY2UlN4RlFVRlZLMVVzUlVGQlZUVldMRWRCUVV0M1JTeEhRVVZzUXl4UFFVRlBRU3hGUVhORFYzRlNMRU5CUTJab1ZpeEhRVUZaTEVsQlExcERMRVZCUVZFeFFpeFRRVUZYTEVOQlFVVXdRaXhIUVVGWlFTeEZRVU5xUXl4SlFVbEVaMVlzUjBGQldXeEdMRWxCUVdWeVJ5eEhRVUZUTVVvc1JVRkZia05oTEVWQlJFRjFWQ3hIUVVGVmRsUXNSVUZCVHl0VUxFVkJRVkUzUlN4RlFVRlhPVkFzUlVGQlV6UlJMRWRCUnpsRGNVVXNSVUZCWVhSRUxFVkJSMW8yUXl4SlFVRm5RaTlMTEVWQlFVOXhSeXhGUVVGWkswVXNSMEZCWlU0c1IwRkhha1FzUjBGSFFUZFJMRVZCUTBSelVpeEZRVkZHTEVkQlRFdHlSQ3hIUVVOS1FTeEZRVUZUY1VRc1JVRkJWME1zUlVGQldXcFdMRVZCUVZNMFVTeEhRVWx5UXpKRUxFVkJUVW9zU1VGTVFVY3NSVUZCVDFBc1IwRkJWV01zUlVGQldVd3NSMEZETjBKTUxFVkJRVmxITEVWQlFVMHNSMEZCU1RGVkxFVkJRVk0wVVN4SFFVY3ZRakZTTEVWQlFVbDNWaXhGUVVGTGRGVXNUMEZEUkd4Q0xFMUJRMEZwUXl4RlFVRlBkVlFzUlVGQlRYaFdMRTFCUTI1Q0sxWXNSVUZCV1V3c1JVRkJVekZXTEUxQlFWYzRWaXhGUVVGWFNpeEZRVUZUTVZZc1NVRkJVV2xETEVsQlN5OUVMRWRCUVV0elNTeEhRVU5LTEVkQlFVc3JTeXhIUVVGak1VVXNSVUZCV1N4RFFVTTVRaXhIUVVGTE1FVXNSVUZCWVN4RFFVdHFRaXhKUVVaQlJTeEZRVUZQTEVkQlExQjRWaXhGUVVGSksxWXNSVUZCVnpkVkxFOUJRMUJzUWl4TlFVTkJhVU1zUlVGQlR6aFVMRVZCUVZrdlZpeExRVWQ2UW5kV0xFVkJRVXN2Vnl4TFFVRlJjVmdzUlVGQlZ6bFdMRWRCUVUxcFF5eEhRVWRvUTNGVUxFVkJRVmtzUzBGQlVWTXNSVUZCWVN4SFFVRk5VQ3hGUVVGTk9VUXNSMEZMT1VNc1NVRkVRVEZTTEVWQlFVa3JWaXhGUVVGWE4xVXNUMEZEVUd4Q0xFMUJRMEZwUXl4RlFVRlBPRlFzUlVGQldTOVdMRTFCUTNaQ2QxWXNSVUZCVDBZc1JVRkJZVFZYTEVWQlFWTTJUQ3hGUVVGTmRFa3NSMEZCVTNkVUxFVkJRVkY2Vml4TFFVRlRMRWxCUlM5RWRVc3NSVUZCVFdsTUxFdEJRVmxvVWl4RlFVRlRaMUlzUjBGQlUzWlVMRlZCVDNaRE9GUXNSVUZCWVdRc1IwRkRXbU1zU1VGQlpYWlNMRVZCUTJSMVVpeEZRVUZYYWxRc1QwRkJVVFpUTEVWQlFXRkpMRVZCUVZjM1ZTeFJRVU16UXpaVkxFZEJSVWRVTEVWQlEwcEJMRVZCUVZrc1MwRkJUVGxSTEVWQlFWTjFVaXhGUVVGWmNrVXNSMEZGZGtOcVZDeEZRVUZMUkN4TlFVRlBaMGNzUlVGQlUzVlNMRXRCVFhwQ0xGTkJRVk5ETEVkQlFXMUNla0lzUjBGNVFqTkNMRWxCZUVKQkxFbEJRVWt3UWl4RlFVRmplRVFzUlVGQlV6bFFMRVZCUXpGQ1JDeEZRVUZOTmxJc1JVRkJUM0pVTEU5QlEySm5WaXhGUVVGclFqTlJMRVZCUVV0blRDeFRRVUZWWjBVc1JVRkJVU3hIUVVGSkwxVXNUVUZETjBNeVZ5eEZRVUZ0UWtRc1IwRkJiVUl6VVN4RlFVRkxaMHdzVTBGQlZTeExRVU55UkhaUkxFVkJRVWxyVnl4RlFVRnJRaXhGUVVGSkxFVkJSekZDUlN4RlFVRmxjazBzUjBGQlpTeFRRVUZWT1Vnc1IwRkRka01zVDBGQlQwRXNTVUZCVTJkVkxFZEJRMlJGTEVkQlFXdENMRWRCUTNKQ1JTeEZRVUZyUW5STkxFZEJRV1VzVTBGQlZUbElMRWRCUXpGRExFOUJRVTkyUkN4RlFVRlRkVmdzUlVGQlkyaFZMRWxCUVZVc1IwRkRkRU5yVlN4SFFVRnJRaXhIUVVOeVFtNUNMRVZCUVZjc1EwRkJSU3hUUVVGVkwxTXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTnlReXhKUVVGSkwxQXNSMEZCVTNWVkxFbEJRWEZDZUVVc1IwRkJUelZSTEVsQlFWa3JSU3hOUVVOc1JHOVJMRVZCUVdWdVZpeEhRVUZWTVVJc1UwRkRNVUpuV0N4RlFVRmpibFVzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU0zUWpKRkxFVkJRV2xDY0ZVc1JVRkJUVzVDTEVWQlFWTTBVU3hKUVVsc1F5eFBRVVJCZFVVc1JVRkJaU3hMUVVOU2RGVXNTVUZIUkROQ0xFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSXNSMEZCVDNsVExFVkJRVlZzVGl4RlFVRkxaMHdzVTBGQlZXZEZMRVZCUVZGMlZTeEhRVUZKVWl4TlFVTXpRM2RXTEVWQlFWY3NRMEZCUldwTUxFZEJRV1ZuVEN4SFFVRm5Ra01zUjBGQldYWkRMRkZCUTJ4RUxFTkJTVTRzU1VGSVFVRXNSVUZCVld4T0xFVkJRVXN5U1N4UFFVRlJjVWNzUlVGQlVYWlZMRWRCUVVsU0xFMUJRVTlvUWl4TlFVRlBMRXRCUVUwclZpeEZRVUZSZGxVc1IwRkJTVFJGTEZWQlIzSkVha0lzUjBGQldTeERRVWw2UWl4SlFVUkJhRUlzU1VGQlRUTkRMRVZCUTBVeVF5eEZRVUZKUkN4SlFVTk9Oa01zUlVGQlMyZE1MRk5CUVZWblJTeEZRVUZSTlZJc1IwRkJTVzVFTEUxQlJHaENiVVFzUzBGTGFrSXNUMEZCVDNsVExFZEJRMDV3Vml4RlFVRkpMRWRCUVVzclZTeEhRVUZuUWtNc1IwRkRla0pvVml4RlFVRkpMRWRCUVV0M1RDeEhRVWRVSzBrc1JVRkRSWEJYTEUxQlFVOHNSVUZCUnpaQ0xFVkJRVWtzUjBGRFpIcENMRTlCUVZFc1EwRkJSWGRITEUxQlFXZERMRTFCUVhwQ2QxQXNSVUZCVVhaVkxFVkJRVWtzUjBGQlNWSXNTMEZCWlN4SlFVRk5MRTFCUTNSRWMwVXNVVUZCVXpoRUxFVkJRVThzVFVGRGJFSTJTeXhGUVVOQmVsTXNSVUZCU1RKRExFZEJRVXR4VkN4SFFVRnRRbnBDTEVWQlFVOXdWeXhOUVVGUE5rSXNSVUZCUnpKRExFbEJRemREUVN4RlFVRkpSQ3hIUVVGUGMxUXNSMEZCY1VKNlFpeEZRVUZUUVN4RlFVRlBjRmNzVFVGQlQzZEZMRWxCUTNaRVFTeEZRVUZKUkN4SFFVRlBPRWtzUjBGQldTdEpMRWxCUjNwQ1V5eEZRVUZUZGxjc1MwRkJUV2RWTEVkQlNXcENMRTlCUVU5elF5eEhRVUZuUWtNc1IwRnZWSGhDTEU5QmRIQkNRVE5ETEVkQlFWZHNVaXhWUVVGWmIwVXNSVUZCU3l0UkxGRkJRVlV2VVN4RlFVRkxhME1zVVVGRE0wTnNReXhGUVVGTE9FMHNWMEZCWVN4SlFVRkpRU3hIUVVWMFFqTk5MRVZCUVZkS0xFZEJRVTlKTEZOQlFWY3NVMEZCVlRkRkxFVkJRVlV3Vml4SFFVTm9SQ3hKUVVGSmFFVXNSVUZCVXpkSUxFVkJRVTgyU2l4RlFVRlJMMVVzUlVGRE0wSm5XQ3hGUVVGUE4wd3NSVUZCVVRoTUxFVkJRMlpETEVWQlFWTTVVQ3hGUVVGWkwwWXNSVUZCVnl4TFFVVnFReXhIUVVGTE5sWXNSVUZEU2l4UFFVRlBTQ3hGUVVGWkxFVkJRVWxITEVWQlFVOTJXU3hOUVVGUExFZEJUM1JETEVsQlNrRnhXU3hGUVVGUk0xWXNSVUZEVWpoS0xFVkJRVk1zUjBGRFZEaE1MRVZCUVdGc1VpeEZRVUZMY1V3c1ZVRkZWalJHTEVkQlFWRXNRMEV5UW1Zc1NVRkJUV2hZTEV0QmVFSkJLMU1zUzBGQllUZElMRVZCUVZFM1F5eEZRVUZQYTBRc1MwRkJUWGxNTEUxQlEyeERPVXdzU1VGSFNqaE1MRVZCUVZGQkxFVkJRVTF5V1N4TlFVRlBkVTBzUlVGQlR5eEhRVUZKZUVvc1UwRkJXWE5XTEVkQlJUZEROMHdzUlVGQlQyeE5MRXRCUVZFNFZpeEZRVUZUTEV0QlIzcENhRU1zUjBGQlZTeEhRVWRJTjBnc1JVRkJVVFZETEVWQlFXRnBSQ3hMUVVGTmVVd3NUVUZEYWtOcVJTeEZRVUZWTjBnc1JVRkJUWFZDTEZGQlEyaENjMGtzUlVGQlR6bFdMRXRCUVUwc1EwRkRXbk5ITEUxQlFVOTNUaXhGUVVkUUwxTXNTMEZCVFd0TUxFVkJRVThzUjBGQlNUVkhMRkZCUVZNNFJDeEZRVUZQTEU5QlJXeERORThzUlVGQlVVRXNSVUZCVFhKWkxFMUJRVTl2VlN4RlFVRlJjbElzVTBGSmFFSnhSU3hGUVVGTE1ra3NVMEZEV0hoRUxFVkJRVkY0UXl4RlFVRlhNVWtzUjBGQlQzVk1MRXRCUVUxNVRDeExRVUZuUWtNc1JVRkJXV3BZTEUxQlEyaEZhMHdzUlVGQlVTdE1MRVZCUVZscVdDeEhRVUZSYTB3c1RVRkRPVUkyU0N4RlFVRlZOMGdzUlVGQlRYVkNMRkZCUTJoQ2Mwa3NSVUZCVHpsV0xFdEJRVTBzUTBGRFduTkhMRTFCUVU5M1RpeEZRVU5RTDFNc1MwRkJUVUVzUlVGRFRtOUdMRkZCUVZNNFJpeEpRVVZXT0V3c1JVRkJVVUVzUlVGQlRYSlpMRTFCUVU5dlZTeEZRVUZSY2xJc1UwRkpMMElzU1VGQlRYRlNMRVZCUTB3c1RVRlBSaXhQUVVGUFowVXNSVUZEVGtNc1JVRkJUWFJXTEU5QlEwNXpWaXhGUVVORGJGSXNSMEZCVDNSQ0xFMUJRVTl1UkN4SFFVZGtLMFlzUlVGQldTOUdMRVZCUVZVNFNpeEhRVUZUZUUwc1RVRkJUeXhKUVRSYWVrTjNTQ3hGUVVGVlRDeEhRVUZQU3l4UlFVRlZMRk5CUVZVNVJTeEZRVUZWTmtvc1IwRkRPVU1zU1VGQlNURkxMRVZCUTBneVZ5eEZRVUZqTEVkQlEyUkRMRVZCUVd0Q0xFZEJRMnhDUml4RlFVRlROMUFzUlVGQlpXaEhMRVZCUVZjc1MwRkZjRU1zU1VGQlRUWldMRVZCUVZNc1EwRlBaQ3hKUVVwTmFFMHNTVUZEVEVFc1JVRkJVV2hHTEVWQlFWVTNSU3hKUVVWdVFtSXNSVUZCU1RCTExFVkJRVTE0U2l4UFFVTkdiRUlzVFVGRFVEQlhMRVZCUVZOV0xFZEJRVzFDZEV3c1JVRkJUekZMTEV0QlEzUkNNa1FzUjBGRFdtZFVMRVZCUVZsc1dTeExRVUZOYVZrc1IwRkZiRUpGTEVWQlFXZENibGtzUzBGQlRXbFpMRWxCUzNoQ1FTeEZRVUZUTjFBc1JVRkRVbWhITEVWQmNrcElMRk5CUVcxREsxWXNSVUZCYVVKRUxFZEJRMjVFTEVsQlFVbEZMRVZCUVZGR0xFVkJRVmw2Vml4UFFVRlRMRVZCUTJoRE5GWXNSVUZCV1VZc1JVRkJaMEl4Vml4UFFVRlRMRVZCUTNKRE5sWXNSVUZCWlN4VFFVRlZlRTBzUlVGQlRYcEtMRVZCUVZNMFVTeEZRVUZMYkU0c1JVRkJVM2RUTEVkQlEzSkVMRWxCUVVrdlZTeEZRVUZOVlN4RlFVRkhPRkFzUlVGRFduZEZMRVZCUVdVc1JVRkRabXBZTEVWQlFVa3NTVUZEU2pCVExFVkJRVmx1U1N4SFFVRlJMRWRCUTNCQ01rMHNSVUZCWVN4SFFVTmlReXhGUVVGblFuUlNMRVZCUjJoQ2JrVXNSVUZCVVRaSkxFZEJRVkYxVFN4SFFVRmhkbElzUlVGQlN6WkpMRXRCUVZrc1NVRkJSeXhKUVVGTE5Fa3NSMEZIZEVSSkxFVkJRV3RDTlZFc1IwRkJORUlzVFVGQmFrSXlVU3hGUVVGM1FpeEZRVUZKZGxRc1MwRkJTME1zVlVGQldTeEhRVU14Ulc1Q0xFVkJRVTFvUWl4RlFVRk5VaXhQUVdOaUxFbEJXa3M0Vml4SlFVMUtibElzUlVGQmJVSXZSU3hIUVVGWGNrUXNSMEZCV1hGRUxFZEJRVmRyVnl4SFFVMDVRMmhZTEVsQlFVMHdReXhIUVVGblF5eFBRVUYyUWxRc1JVRkJUMUFzUlVGQlR6RkNMRWxCUVdWQkxFbEJRVTBzUTBGRGVrUXNSMEZCU3poWExFZEJRV0UzVlN4RlFVRlBMRU5CVjNoQ0xFbEJWa0ZWTEVWQlFVa3NSVUZOUlRkQ0xFZEJRVmR0UWl4RlFVRkxOa2tzWlVGQmFVSnlUaXhKUVVOMFEzVkpMRVZCUVdFdlJDeEhRVU5pZVZBc1IwRkJUM2hNTEVkQlJVVjFUU3hGUVVGVmJVVXNSVUZCYVVKcVZTeE5RVU53UXl4SFFVRkxPRkFzUlVGQlUzaFJMRVZCUVUxdVFpeEhRVUZYY2tRc1JVRkJWV2xWTEVkQlFWRXNRMEZEYUVSc1RpeEZRVUZSTDBZc1MwRkJUWGRFTEVkQlEyUXNUVUZIUnl0VkxFbEJRMHA0VVN4RlFVRlZORkVzUjBGTFVGQXNTMEZIUnpWVkxFZEJRVkYzVVN4SFFVRlhlRkVzU1VGRGVrSm5WaXhKUVVsSk1VMHNSMEZEU20xSkxFVkJRVlZxVlN4TFFVRk5kMFFzU1VGblFtNUNMRWRCVkVGblZpeEhRVUZuUW1wWUxFVkJVMWcyVnl4SFFVRlROMWNzU1VGQlRXbFlMRVZCUVdVc1EwRkZiRU1zU1VGRVFYUlZMRVZCUVVrc1JVRkRUVGhRTEVWQlFWVnJSU3hGUVVGaGFGVXNUVUZEYUVNNFVDeEZRVUZUUXl4RlFVRlhkMFVzUlVGQldYQlhMRVZCUVZNMFVTeEhRVWN4UXl4SFFVRkxia2dzUlVGQlR5eERRVWRZTEVkQlFVc3dUU3hGUVVGbExFVkJRMjVDTEV0QlFWRnFXQ3hMUVVORE1GTXNSVUZCVnpGVExFbEJRVTlyV0N4RlFVRlpiRmdzUzBGRGNrTnJXQ3hGUVVGWmJGZ3NSMEZCVFd0SUxFVkJRVWsxU1N4TFFVRk5hMGNzU1VGTkwwSXdVeXhGUVVGaGFrTXNSMEZCVldsRExFZEJTWGhDZWxrc1JVRkJTMFFzVFVGQlQyZEhMRVZCUVZNd1V5eEhRVWRvUWtZc1NVRkJZM3BOTEVkQlFWRXlUU3hGUVVGWGFGY3NUMEZCVXl4SFFVTTFReXRXTEVWQlFXVk9MRVZCUVZsNlZpeFBRVUZYTEVkQlJYaERiMFVzUjBGQlQzZExMRmRCUVZsMFRDeEhRVlZ5UWl4UFFVeExkMU1zU1VGRFNuaFJMRVZCUVZVMFVTeEZRVU5XZGxJc1JVRkJiVUp6VWl4SFFVZGlla1VzUjBGSFZDeFBRVUZQYlVVc1JVRkRUak5MTEVkQlFXTTJTeXhIUVVOa1FTeEZRVFJDUTAwc1EwRkJNRUpVTEVWQlFXbENSQ3hMUVVseVF6bFdMRk5CUVZkQkxFVkJSVzVDTEU5QlFVODJWaXhIUVZsU09WRXNSVUZCVTA0c1IwRkJUMDBzVDBGQlV5eFRRVUZWTDBVc1JVRkJWVU1zUlVGQlV6QkVMRVZCUVZNclJpeEhRVU01UkN4SlFVRkpka3NzUlVGQlIzVlZMRVZCUVZFclF5eEZRVUZQT1Znc1JVRkJUVFJQTEVWQlF6TkNiVW9zUlVGQkswSXNiVUpCUVdJeFZ5eEhRVUV5UWtFc1JVRkROME0yU2l4SFFVRlRTQ3hIUVVGUk4wVXNSVUZCV1RkRkxFVkJRVmN3Vnl4RlFVRlRNVmNzVlVGQldVRXNSMEZOT1VRc1IwRktRVEpFTEVWQlFWVkJMRWRCUVZjc1IwRkpReXhKUVVGcVFtdEhMRVZCUVUxNFNpeFBRVUZsTEVOQlNYcENMRWxCUkVGeFZDeEZRVUZUTjBvc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVbDJUU3hOUVVGUExFbEJRelZDSzBNc1QwRkJVeXhIUVVGelF5eFJRVUV2UW05WExFVkJRVkV2UXl4RlFVRlJMRWxCUVUwdlZTeE5RVU0xUWl4SlFVRnlRbk5DTEVWQlFWRXhRaXhWUVVGclFqaEhMRWRCUVd0Q1dDeEZRVUZMWjB3c1UwRkJWV2RGTEVWQlFWRXNSMEZCU1M5VkxFMUJRVk1zUTBGSmFFWXNTMEZHUVhOQ0xFZEJRVmw1UlN4RlFVRkxOa2tzUzBGQlZ5eEhRVUZIYTBvc1JVRkJUVEZUTEZGQlFWTXNSMEZETlVOa0xGRkJRVk50Uml4SFFVRlhReXhKUVVGaGNFa3NTVUZCWVN4SlFVRk5MRWxCUlhKRUxFOUJRVTh3UkN4RlFVZEpLMU1zU1VGRFdIcFhMRVZCUVZWQkxFVkJRVkZNTEZsQlIyNUNTU3hGUVVGWFFTeEZRVUZUTVVNc1RVRkJUMjlYTEVWQlFVOTBTU3hSUVVGUmJFZ3NUVUZCVFRkRUxGRkJTMnBFTEVsQlJFRnNRaXhGUVVGSmEwa3NSVUZCTUVJc1lVRkJSVzFFTEV0QlFVMTRTeXhIUVVGaExFVkJRVWt3VkN4RlFVRlBjbFFzVDBGRGRFUnNRaXhOUVVOUWMxZ3NSVUZCVVM5RExFVkJRVkYyVlN4SlFVZFlkVVlzUlVGQlMyZE1MRk5CUVZrdlVTeEZRVUZQT0Znc1JVRkJUVGxZTEZGQlIyNURMRWxCUVU4MFR5eEZRVUZQTjBrc1JVRkJTelpKTEV0QlFVMDFUeXhOUVVkcVFpdExMRVZCUVU4MlJDeEZRVU5pYTBvc1JVRkJUVEZUTEZGQlFWTXNSMEZCU1dRc1VVRkJVMjFHTEVkQlFWZERMRWxCUTNaRFJpeEhRVUZUY1VNc1MwRkJUV3RLTEVWQlFWRXNSMEZCU1M5VkxFOUJRVlU0VEN4SFFVRmhlRXNzUlVGQlVVd3NZVUZEZWtSTExFbEJRMGtzUTBGTFRDeEhRVVpCZVZRc1JVRkJUM3BTTEU5QlFWRTVReXhGUVVGSExFdEJRMnhDWVN4RlFVRlhNRW9zUlVGQlMzSktMRkZCUVZWelN5eEhRVUZaSzBrc1NVRkhja01zVDBGRVFUbFdMRVZCUVV0RUxFMUJRVTluUnl4RlFVRlRLMFlzUjBGRFpDOUdMRVZCUjFJc1QwRmxTaXhQUVZCRksxTXNSMEZCV1RWU0xFVkJRVk01UlN4RlFVRlZOa29zU1VGRGFFTklMRVZCUTBGNlNpeEhRVU5EYjBZc1JVRkRSREZDTEVkQlEwTXhSQ3hIUVVGWGEwa3NSMEZCVTNGRExFdEJRVTE0U3l4SlFVRmplVXNzUjBGQllYaExMRVZCUVZGTUxHRkJRV2RDU3l4SFFVVjRSVEJFTEVkQlRWSjJSaXhGUVVGUloxSXNWMEZCWVhSTkxFVkJRVkYzUWl4TlFVRlBMRWxCUVV0MFF5eExRVUZOYTBVc1IwRkJXVEJGTEV0QlFVMHNUVUZCVXpsSUxFVkJTVEZGTVVVc1JVRkJVU3RSTEcxQ1FVRnhRbXBMTEVWQlJ6ZENReXhKUVVsQkwwY3NSVUZCVVcxUkxHRkJRV1ZxUkN4SFFVRlJMRk5CUVZWRExFZEJSM2hETEU5QlFUUkZMRVZCUVhKRlFTeEZRVUZITkVNc2QwSkJRWGxDZGxJc1JVRkJVekJETEdOQlFXVXNaVUZOZEVSblRTeEhRVUZSTEZOQlFWVkRMRWRCUlhaQ0xFOUJSRUZCTEVWQlFVZHhReXhWUVVGWkxHMUNRVU5wUXl4TlFVRjZRM0pETEVWQlFVY3JSQ3hYUVVGWE9WQXNZVUZCWXl4WFFVVnVRMmROTEVkQlFWY3NlVUpCUVRCQ0xGTkJRVlZ3U3l4RlFVRk5aMElzUlVGQlRYZERMRWRCUXpGRUxFbEJRVTFCTEVWQlEwd3NUMEZCVDNoRUxFVkJRVXMxUWl4aFFVRmpORU1zUlVGQk5rSXNVMEZCZGtKQkxFVkJRVXR2UXl4alFVRXlRaXhGUVVGSkxFdEJUMnBGY0Vjc1JVRkJVWFZKTEZsQlFXVXlSU3hIUVVGUkxGTkJRVlZETEVkQlJ6bERMRTlCUmtGQkxFVkJRVWR4UXl4VlFVRlpMRmRCUTJaeVF5eEZRVUZISzBRc1YwRkJWemRRTEdGQlFXTXNVVUZCVXl4SlFVTlpMRXRCUVRGRE9Fd3NSVUZCUnl0RUxGZEJRVmM1VUN4aFFVRmpMRmxCUlc1RFowMHNSMEZCVnl4UlFVRlRMRk5CUVZWd1N5eEZRVUZOZFZZc1JVRkJUeTlTTEVkQlF6RkRMRWxCUVUxQkxFZEJRWGxETEZWQlFXaERlRVFzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU0xUWl4UFFVRlBjRVFzUlVGQlMzZFdMR1ZCVDFSMFRDeEhRVUZSTEZOQlFWVkRMRWRCUTNaQ0xFOUJRWGRETEUxQlFXcERRU3hGUVVGSEwwd3NZVUZCWXl4bFFVVjRRbWROTEVkQlFWZG9SaXhGUVVGVkxGTkJRVlZ3Uml4RlFVRk5aMElzUlVGQlRYZERMRWRCUXpGRExFbEJRVWw0Uml4RlFVTktMRWxCUVUxM1JpeEZRVU5NTEU5QlFYZENMRWxCUVdwQ2VFUXNSVUZCVFdkQ0xFZEJRV3RDUVN4RlFVRkxiME1zWlVGRGFrTndSaXhGUVVGTlowTXNSVUZCUzI5TkxHbENRVUZyUW5CTUxFdEJRVmxvUkN4RlFVRkpNbEFzVlVGRE9VTXpVQ3hGUVVGSk9FVXNUVUZEU2l4UFFVdEZUeXhIUVRFMFJWQXNRMEUwTkVWTE1VZ3NSMEZKVEdkRUxFVkJRVTkzVGl4TFFVRlBPVWtzUlVGRFpERkZMRVZCUVU4MlR5eExRVUZQYmtzc1JVRkJUeXRMTEZWQlIzSkNlbEFzUlVGQlR6WlBMRXRCUVUwc1MwRkJVVGRQTEVWQlFVODJUeXhMUVVGTGFFa3NVVUZEYWtNM1J5eEZRVUZQYTFBc1YwRkJZV3hRTEVWQlFVODRWeXhQUVVGVGNGTXNSVUZCVDNkTExGZEJRek5EYkZBc1JVRkJUMUlzUzBGQlQydEdMRVZCUVU5RkxGRkJRM0pDTlVVc1JVRkJUeXRYTEZOQlFWZHlVeXhGUVVGUFJ5eE5RVU42UWpkRkxFVkJRVTk1Uml4VFFVRlhaaXhGUVVGUFpTeFRRVU42UW5wR0xFVkJRVTluV0N4bFFVRnBRblJUTEVWQlFVODJSQ3hQUVVzdlFpeEpRVUZKWlN4RlFVRk5MRk5CUVZWcVNTeEZRVUZOYVVrc1JVRkJTekpPTEVkQlNUbENMRWxCU0VFc1NVRkJTWFJHTEVWQlFWVXNSMEZEWW5WR0xFOUJRWEZDY0ZVc1NVRkJWbTFWTEVkQlJVWTFWaXhGUVVGUFFTeEZRVUZOYVVrc1MwRkJOa0lzU1VGQmJFSnFTU3hGUVVGTE4wTXNWVUZEZEVNc1IwRkJkVUlzU1VGQmJFSTJReXhGUVVGTE4wTXNVMEZCYVVJc1EwRkRNVUlzUjBGQlN6QlpMRWRCUVZsc1dDeEZRVUZSY1VJc1IwRkJUemhXTEVkQlFVbEdMRWRCUTI1RExFMUJSVVIwUml4RlFVRlJPVlFzUzBGQlRYZEVMRWRCUjJoQ0xFOUJRVTl6VVN4SFFVbEtlVVlzUlVGQlZ5eFRRVUZWUXl4RlFVRkhhRmNzUjBGSE0wSXNTVUZHUVN4SlFVRkpjMUVzUlVGQlZTeEhRVVZPTUVZc1JVRkJSMEVzUlVGQlNVRXNSVUZCUlhCTUxGbEJRMGtzU1VGQlptOU1MRVZCUVVVM1dTeFZRVUZyUWpaWkxFbEJRVTFvVnl4SFFVTTVRbk5STEVWQlFWRTVWQ3hMUVVGTmQxb3NSMEZKYUVJc1QwRkJUekZHTEVkQlNVb3lSaXhGUVVGblFuUllMRVZCUVU4MlR5eExRVUZMTDBVc1RVRkJUV2hETEdGQlNYUkRMRk5CUVZOMVFpeEZRVUZWYUVrc1JVRkJUV2RDTEVkQlJYaENMRTlCUVU5b1FpeEZRVUZMWjBrc1ZVRkJXV2hKTEVWQlFVdG5TU3hUUVVGVE5VVXNaMEpCUVd0Q2NFTXNSVUZCUzI5RExHTkJSemxFTEVsQlFVazRVeXhGUVVGaExHdEZRVXRxUWl4VFFVRlRReXhGUVVGUk1Va3NSVUZCVlRKSkxFVkJRVmMzUml4SFFVTnlReXhQUVVGTGRGUXNSVUZCV1cxYUxFZEJRMVI2V0N4RlFVRlBNa0lzUzBGQlRXMU9MRVZCUVZVc1UwRkJWWHBPTEVWQlFVMXFReXhIUVVNM1F5eFJRVUZUY1Zrc1JVRkJWUzlhTEV0QlFVMHlSQ3hGUVVGTmFrTXNSVUZCUjJsRExFdEJRVmQxVVN4SlFVc3hRelpHTEVWQlFWVnFXaXhUUVVOUWQwSXNSVUZCVHpKQ0xFdEJRVTF0VGl4RlFVRlZMRk5CUVZWNlRpeEhRVU4yUXl4UFFVRlRRU3hKUVVGVGIxY3NTVUZCWjBJM1JpeEpRVXRXTEdsQ1FVRmtOa1lzUlVGRFNucFlMRVZCUVU4eVFpeExRVUZOYlU0c1JVRkJWU3hUUVVGVmVrNHNSMEZEZGtNc1QwRkJVM1pFTEVWQlFWRktMRXRCUVUwcldpeEZRVUZYY0Zjc1NVRkJWU3hKUVVGUmRWRXNTVUZMTDBNMVVpeEZRVUZQYzA0c1QwRkJVVzFMTEVWQlFWY3pTU3hGUVVGVk9FTXNSMEZITlVNMVVpeEZRVUZQYzA0c1QwRkJVeXhUUVVGVmRVSXNSVUZCVFM5T0xFVkJRVTg0VVN4SFFVTjBReXhKUVVGSmRsRXNSVUZCVDFBc1JVRkJUeXhIUVUxc1FpeFBRVXBMT0ZFc1NVRkRTaTlETEVWQlFVOHNVVUZCVlVFc1JVRkJUeXhMUVVkSUxFbEJRV3BDTDA0c1JVRkJUVklzVVVGQmEwTXNTVUZCYkVKbExFVkJRVXMzUXl4VFFVTjRRbmRDTEVWQlFVOTNUaXhMUVVGTFRTeG5Ra0ZCYVVKNlRTeEZRVUZOZDA0c1IwRkJVeXhEUVVGRmVFNHNSMEZCVXl4SFFVZDRSSEpDTEVWQlFVOTNUaXhMUVVGTGVFb3NVVUZCVXpaTExFVkJRVTAzVHl4RlFVRlBNa0lzUzBGQlRXSXNSVUZCVHl4VFFVRlZUeXhIUVVNdlJDeFBRVUY1UWl4SlFVRnNRa0VzUlVGQlN6ZERMR0ZCU1dSM1FpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5GTUxFdEJRVTBzVTBGQlZYWk9MRWRCUTJZc1NVRkJTV0lzUlVGQlJ6SkNMRVZCUTA1bExFVkJRVTAzUlN4TFFVRkxjVVFzVDBGRFdHOVlMRVZCUVU5NllTeExRVVZTTEVkQlFYbENMR2xDUVVGaVowUXNSVUZEV0N4UFFVRlBhRVFzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVkZETEVkQlFWZHhUaXhQUVVGUkxGZEJRMnBFTEVsQlFVMXNUeXhGUVVGSkxFVkJRVWRCTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEY2tJc1IwRkJTMWtzUlVGQlQzbEdMRk5CUVZWcFV5eEZRVUZOZEZrc1IwRkJTMjVETEUxQlEyaERMRTlCUVU4c1MwRlJXQ3hKUVVaQk9FUXNSVUZCVFRsRUxFdEJRVXMwUkN4VlFVRlhMRWxCUldoQ2VrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSk1FTXNSVUZCU3pGRExFbEJRM0pDV1N4RlFVRlBkMDRzUzBGQlRYWk9MRVZCUVZWNVdDeEZRVUZOZEZrc1IwRkJTekpDTEVkQlIyNURMRTlCUVU5bExFVkJRVTBzUlVGQlNUbENMRVZCUVU5clVDeFhRVUZaYms4c1IwRkJVVUVzUjBGRk4wTjFUU3hQUVVGUkxGTkJRVlZ5VGl4SFFVTnFRaXhQUVVGUGFFUXNTMEZCU3pSRUxGVkJRVmN5Vnl4RlFVRlJkbUVzUzBGQlRXZEVMRWRCUVZrc1NVRkJTU3hMUVVWMFJESlNMRWxCUVVzc1UwRkJWVE5TTEVkQlEyUXNUMEZCVDJoRUxFdEJRVXMwUkN4VlFVRlhNbGNzUlVGQlVYWmhMRXRCUVUxblJDeEhRVUZaTEVsQlFVa3NTMEZGZEVScldDeEhRVUZKTEZOQlFWVnNXQ3hIUVVOaUxGRkJRVk4xV0N4RlFVTlNkbUVzUzBGSmIwSXNhVUpCUVdKblJDeEhRVUY1UW5GWUxFVkJRV00zVFN4TFFVRk5lRXNzUjBGRGJrUkVMRVZCUVZGRExFZEJRMUpCTEVkQlFWa3NTVUZEWWl4SFFVTkRTeXhWUVZOS0xFbEJRVWx4V0N4RlFVMUllRkFzUlVGQllTeDFRMEZGVG01SkxFVkJRVTlITEVkQlFVZERMRXRCUVU4c1UwRkJWVWdzUlVGQlZVTXNSVUZCVTJ0VExFZEJRM0JFTEVsQlFVbDBTU3hGUVVGUGVra3NSVUZIV0N4SlFVRk5jRUlzUlVGRFRDeFBRVUZQYUVRc1MwRlJVaXhIUVVoQmJWWXNSVUZCVDBFc1IwRkJVWFZHTEVWQlIxVXNhVUpCUVdJeFdDeEZRVUYzUWl4RFFXRnVReXhMUVZCRE5rb3NSVUZNYzBJc1RVRkJiRUkzU2l4RlFVRlZMRWxCUTNOQ0xFMUJRWEJEUVN4RlFVRlZRU3hGUVVGVFN5eFBRVUZUTEVsQlF6VkNUQ3hGUVVGVFN5eFJRVUZWTEVWQlIxZ3NRMEZCUlN4TFFVRk5UQ3hGUVVGVkxFMUJSMnhDYTBrc1JVRkJWMmRETEV0QlFVMXNTeXhOUVVsV05rb3NSVUZCVHl4SlFVRlJOVW9zUlVFMlEzaENMRTlCUVUxQkxFZEJRVmRCTEVWQlFWRk5MRkZCUTNSQ1RpeEhRVUZYYTFNc1IwRkJUelZGTEV0QlFVMTJUaXhIUVVzeFFtaEVMRXRCUVV0M1JDeFpRVUZoVUN4SFFVRlZjMDRzUzBGQlRYWk9MRWRCYUVSNlF5eEhRVUZMTmtvc1JVRkJUeXhIUVVGTkxFTkJXV3BDTEVkQldFRTFTaXhGUVVGVlFTeGhRVUZ0UWtZc1JVRkJVMFVzUlVGQlV5eEhRVUZOUVN4RlFVbHlSRVlzUlVGQlQyZENMRTFCUVU4dlJDeExRVUZOSzBNc1JVRkJUelJZTEZWQlF6RkNPVTRzUlVGQlR5eEhRVU5RTlVvc1IwRkJWMEVzUlVGQlVURkNMRk5CUVZjd1FpeEZRVUZSWjBzc1pVRkJhVUpvU3l4RlFVRlZja1FzUjBGRGFrVXNTVUZKU1RCaExFVkJRVmM1VFN4TFFVRk5XQ3hGUVVGUExFdEJRVk01U2l4RlFVRlBNa01zWTBGQlpYcERMRWRCUXpORUxFbEJRVTAwU2l4TFFVRlROVW9zUlVGSFZEVkNMRVZCUVZseVFpeExRVUZOTmswc1NVRkRkRUkzVFN4TFFVRk5OazBzUjBGQlV6VktMRVZCUVZNMFNpeEpRVWw0UWpkTkxFdEJRVXM0VWl4TFFVRk5ha1lzUlVGQlR6VktMRVZCUVZNMFNpeEpRVXM1UWl4UFFVRlBOMDBzUzBGWlVDeFBRVkpCYjBVc1JVRkJUM2hGTEVWQlFWTjFUaXhsUVVGblFrNHNSVUZCVHl4UFFVdDBRemROTEV0QlFVMHNSMEZCVFc5RkxFVkJRMXB3UlN4TFFVRkxjVVFzVDBGQlV5eEhRVVZTY2tRc1MwRmpTQ3hQUVVGTFowUXNSVUZCVTNwQ0xGVkJRM0JDZGtJc1MwRkJUU3hIUVVGTlowUXNSVUZEV21oRUxFdEJRVXR4UkN4UFFVRlRMRVZCUTFCeVJDeE5RVWxKY1VJc1JVRkJXVEpDTEZGQlEwUTJReXhKUVVGbWMxQXNSVUZCUzNsR0xFMUJRMWg2Uml4RlFVRkxlVVlzVFVGQlR6VllMRWRCUjFwQkxFVkJRVlZFTEVkQlIweEJMRVZCUVU4eVJDeFZRVUZYTVVRc1JVRkJWV2hFTEZGQlNXaERjMFFzVlVGQldWQXNSVUZCVDBjc1IwRkhlRUozV0N4RlFVRmhNMWdzUlVGQlVXNUVMRWRCUjNKQ0xFbEJRVWxwWWl4RlFVRmxMR2xEUVVkc1FrTXNSVUZCYlVJc1EwRkRiRUpETEZWQlFWVXNSVUZEVmtNc1ZVRkJWU3hGUVVOV01VOHNUVUZCVFN4RlFVTk9NazhzVFVGQlRTeEhRVzlHVWl4VFFVRlRReXhGUVVGVGNrMHNSVUZCUzNoRExFZEJRM1JDTEUxQlFWVjNReXhGUVVGTlFTeEZRVUZMZUVNc1MwRkJORUlzU1VGQmFrSjNReXhGUVVGSmRFNHNWMEZEY0VNc1QwRkJUM05PTEVWQmJrWlNPVXdzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRGFrSTBVQ3hKUVVGTExGTkJRVlYwVUN4SFFVTmtMRWxCUVVreVZpeEZRVUZWY0Zrc1JVRkJVWGxETEVWQlFWRjRSaXhOUVVNM1FtOWlMRVZCUVVsRUxFVkJRVkU1V0N4UFFVVmlMRTlCUVU5eVJDeExRVUZMY1ZFc1QwRkJVU3hYUVVWdVFpeEpRVVJCTEVsQlFVbHNUeXhGUVVGSkxFVkJRMEZCTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZEWkN4SFFVRkxXU3hGUVVGUGVVWXNVMEZCVlhoSkxFdEJRVTF0WWl4RlFVRlRhRm9zU1VGRGNFTXNUMEZCVHl4TFFVMVlhMW9zVVVGQlV5eFRRVUZWTjBrc1JVRkJWM1pRTEVkQlF6ZENMRWxCUVVrMFRDeEZRVU5JTVUwc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1hCaUxFdEJRVXR4UkN4UFFVTlVjVklzUlVGQlZTeEhRVU5XZVVjc1JVRkJLMElzYVVKQlFXUXpTU3hIUVVFd1FucFFMRVZCUVZGNVVDeEhRVWR3UkN4SlFVRk5Oa2dzUlVGQll6ZE5MRXRCUVUxblJpeEhRVU42UWl4TFFVRlJjbEVzUlVGQlNXbGFMRVZCUVVkcVdpeEpRVU5rTEVsQlFVMHdUU3hGUVVGTk4wOHNTMEZCVFcxRExFZEJRVXN3VFN4SFFVRlBRU3hKUVVGUk5Vd3NSVUZCVXpSTUxFVkJRVTFCTEVWQlFVbHFUU3hYUVVkNFJDeEhRVUZMYVUwc1JVRkJTWFJPTEZOQlFWY3NTMEZCVVRSYUxFVkJRek5DUVN4RlFVRlJSeXhOUVVGUGVrMHNTVUZCVXl4RlFVZFFMRWxCUVdwQ1FTeEZRVUZKZEU0c1ZVRkRTSGRDTEVWQlFVOTNUaXhMUVVGTFRTeG5Ra0ZCYVVKb1F5eEZRVUZMTWtRc1NVRkJaMElzUTBGRmJrUnJReXhGUVVGUk9WUXNTMEZCVFdsUExFZEJRMlFzVFVGTlNpeFBRVUZQTjA4c1MwRkJTelJFTEZWQlFWYzRVU3hGUVVGUmNsSXNUMEZCVXl4RlFVRkpUaXhGUVVGUGExQXNWMEZCV1hsRExFZEJRVmxCTEVsQlNUVkZORWNzVFVGQlR5eFRRVUZWYkZnc1IwRkhhRUlzVDBGQlRVRXNSVUZMWlN4cFFrRkJWRUVzUlVGRFNuWkVMRVZCUVZGS0xFdEJRVTF6UXl4RlFVRlJjVUlzUjBGQlVYQkZMRXRCUVUwc1NVRkpja05oTEVWQlFWRktMRXRCUVUxVUxFdEJSM0JDYjBVc1JVRkJTMklzVDBGQlUyRXNSVUZCVFN4SFFVRk5RU3hIUVZwcVFuQkZMRXRCUVUwc1NVRkJUMEVzUzBGQlRTeEhRVUZKTkVNc1YwRkJaVFZETEV0QlFVdHpSU3hSUVVGUmFWZ3NWVUZCVld4WkxGRkJRVlVzUjBGblFteEdiVmtzU1VGQlN5eFRRVUZWZUZrc1JVRkJWVU1zUjBGRGVFSXNUMEZCVDJwRUxFdEJRVXMwUkN4VlFVTllZaXhGUVVGUGExQXNWMEZEVG14UUxFVkJRVTluUWl4TlFVRlBMMFFzUzBGQlN6QkVMRTFCUVU5WUxFVkJRVkZETEVWQlFWVkRMRTlCU3k5RGQxa3NVVUZCVXl4VFFVRlZlbGtzUjBGRGJFSXNUMEZCVDJoRUxFdEJRVXQzWWl4SlFVRnBRaXhOUVVGYWVGa3NSVUZEYUVKb1JDeExRVUZMWjBVc1YwRkJZV2hGTEV0QlFVdG5SU3hYUVVGWGNVMHNUMEZCVVhKT0xFOUJWVGREUkN4RlFVRlBhMElzUzBGQlRTeERRVU5hYVZFc1QwRkJVU3hUUVVGVk9WQXNSMEZEYWtJc1NVRkJTVGhRTEVWQlFWTTVVQ3hGUVVGTGVFSXNWMEZEYkVJc1QwRkJUM05TTEVkQlFUaENMRXRCUVhCQ1FTeEZRVUZQTTFNc1UwRkJhMEl5VXl4RlFVRlRMRTFCUlhCRWQwZ3NVVUZCVXl4VFFVRlZkRmdzUjBGRGJFSXNUMEZCVDJsSkxFVkJRVXRxU1N4RlFVRk5MR1ZCUlc1Q2RWZ3NZVUZCWXl4VFFVRlZkbGdzUlVGQlRXMUVMRVZCUVVsNVV5eEhRVU5xUXl4UFFVRlBNMDRzUlVGQlMycEpMRVZCUVUwc1lVRkJZelJXTEVsQlJXcERNVTRzUzBGQlRTeFRRVUZWYkVrc1IwRkRaaXhQUVVGUE9GY3NSVUZCVXpsWExFVkJRVTBzWjBKQlJYWkNObGNzUzBGQlRTeFRRVUZWTjFjc1IwRkRaaXhQUVVGUE9GY3NSVUZCVXpsWExFVkJRVTBzYjBKQlJYWkNkMWdzVVVGQlV5eFRRVUZWZUZnc1IwRkRiRUlzVDBGQlQybEpMRVZCUVV0cVNTeEZRVUZOTEdkQ1FVVnVRbTFZTEZGQlFWTXNVMEZCVlc1WUxFZEJRMnhDTEU5QlFVOXBTU3hGUVVGTGFra3NSVUZCVFN4dlFrRkZia0o1V0N4VlFVRlhMRk5CUVZWNldDeEZRVUZOYlVRc1JVRkJTWGxUTEVkQlF6bENMRTlCUVU4elRpeEZRVUZMYWtrc1JVRkJUU3hqUVVGbE5GWXNTVUZGYkVNNFFpeFZRVUZYTEZOQlFWVXhXQ3hGUVVGTmJVUXNSVUZCU1hsVExFZEJRemxDTEU5QlFVOHpUaXhGUVVGTGFra3NSVUZCVFN4clFrRkJiVUkwVml4SlFVVjBRMGNzVTBGQlZTeFRRVUZWTDFZc1IwRkRia0lzVDBGQlR5dFdMRWRCUVZrdlZpeEZRVUZMZUVJc1dVRkJZeXhKUVVGTE1GQXNWMEZCV1d4UExFbEJSWGhFTWxjc1UwRkJWU3hUUVVGVk0xY3NSMEZEYmtJc1QwRkJUeXRXTEVWQlFWVXZWaXhGUVVGTGEwOHNZVUZGZGtJd1NTeFRRVUZWTEZOQlFWVTFWeXhIUVVOdVFpeFBRVUUyUWl4TlFVRjRRa0VzUlVGQlN6SllMR2xDUVV0VU5XSXNSVUZCVldsRkxFVkJRVXN5V0N4cFFrRkZVak5ZTEVWQlFVc3lXQ3hwUWtGTlVqTlFMRVZCUVZWb1NTeEZRVUZOTEdOQlEzQkNRU3hGUVVGUFFTeEZRVUZMTkZnc1UwRkJWelZZTEVkQlIycENja0lzUlVGQlQyZENMRTFCUVU4c1IwRkJTVXNzUlVGQlMyMUpMR1ZCUlRkQ0xGTkJRVlZ1U0N4RlFVRk5iRU1zUjBGRGJFSklMRVZCUVU5SExFZEJRVWxyUXl4SFFVRlRMRk5CUVZVMFZTeEZRVUZQYUZnc1IwRkRjRU1zU1VGQlNUQlNMRVZCUVZVelVpeEZRVUZQYjBJc1NVRkJTMjVGTEV0QlFVMXJSQ3hGUVVGSk9GY3NSMEYxUW5CRExFMUJja0l3UWl4VlFVRnlRalZWTEVWQlFVczVSU3hQUVVGUkxFdEJRMnBDTUVNc1JVRkJWMmRZTEVkQlIxQm9XQ3hIUVVGblF5eHBRa0ZCWWtFc1NVRkRka0l3VWl4RlFVRlZNMUlzUlVGQlQzTk9MRTlCUVZGeVRpeEZRVUZWTUZJc1NVRkhMMEl4VlN4TFFVRkxjVVFzVDBGQlV5eEpRVWRhZVZnc1JVRkJhMEl4Vml4SlFVTjJRbkpETEVWQlFVOXJVQ3hYUVVGWmVVTXNSMEZKWm0xSExFVkJRV0Z5VGl4TFFVRk5jRWtzU1VGRGRrSnpVQ3hGUVVGUmRVZ3NWMEZKU0dwakxFdEJRVXMwUkN4VlFVRlhPRkVzVFVGSGVrSXNTVUZCU1hkSUxFVkJRV2RDTEc5Q1FYTlBjRUlzVTBGQlUwTXNSVUZCVlVNc1IwRkRiRUlzVDBGQlQwRXNSVUZGVWl4VFFVRlRReXhGUVVGVFF5eEhRVU5xUWl4TlFVRk5RU3hGUVVkUUxGTkJRVk5ETEVWQlFWbHlWaXhGUVVGUGMxWXNSVUZCVTBNc1JVRkJVVU1zUjBGRE5VTXNTVUZCU1VNc1JVRkZTaXhKUVVkTmVsWXNSMEZCVXpkR0xFVkJRV056WWl4RlFVRlRlbFlzUlVGQlRUQldMRk5CUXpGRFJDeEZRVUZQYkdNc1MwRkJUWGxITEVkQlFWRXdRaXhMUVVGTk5GUXNSMEZCVlVzc1MwRkJUVW9zUjBGSGFFTjJWaXhIUVVGVE4wWXNSVUZCWTNOaUxFVkJRVk42Vml4RlFVRk5ORllzVFVGRGFrUklMRVZCUVU5c1l5eExRVUZOZVVjc1JVRkJUM05XTEVWQlFWTkRMRWRCVVRkQ1JDeEZRVUZSTjJJc1YwRkJUMnRHTEVWQlFWY3NRMEZCUlhGQ0xFZEJRVkUxUnl4TlFVRlBiMk1zU1VGTk0wTXNUVUZCVVhoV0xFZEJTVlIxVml4RlFVRlBPV0lzVjBGQlQydEdMRVZCUVZjc1EwRkJSWEZDTEV0QmRrODNRbTVGTEVWQlFVOW5ZU3hWUVVGWkxGTkJRVlUxV0N4SFFVazFRa0VzUlVGQk5rSXNhVUpCUVZwQkxFVkJiRU5zUWl4VFFVRjNRa0VzUjBGRGRrSXNTVUZCU1RaWUxFVkJRVk1zUjBGSllpeFBRVWhCYW1Fc1JVRkJUMnRDTEV0QlFVMXJRaXhGUVVGUk1FZ3NUVUZCVDNGUUxFbEJRVzFDTEVkQlFVa3NVMEZCVldVc1JVRkJSME1zUjBGREwwUkdMRVZCUVZGRkxFbEJRVk1zU1VGRldFWXNSVUU0UWs1SExFTkJRV1ZvV1N4SFFVTm1jRU1zUlVGQlQyMURMRTlCUVZFc1IwRkJTVU1zUjBGRmNFSXNTVUZEUTJsWkxFVkJSMEZETEVWQlIwRkRMRVZCUjBGRExFVkJSMEZvVlN4RlFVRlBMRWRCUjFCcFZTeEZRVUZSTEVkQlIxSkRMRWRCUVdVc1JVRkhaa01zUlVGQlR5eFhRVkZPTEVsQlRFRklMRVZCUVZOQkxFZEJRVlZ3V1N4RlFVRlJkMWtzUzBGSk0wSk1MRVZCUVZGR0xFZEJRVk1zUlVGRFZFa3NSVUZCVFc1aExFOUJRVkZ2WVN4SFFVRmxMRVZCUlhCRExFbEJSRUZLTEVWQlFWTkhMRVZCUVUxd1VDeFZRVU5NY1ZBc1JVRkJZMnhWTEVWQlFVdHNSeXhUUVVkdFF5eEpRVUV4Ukd0SExFVkJRVTFyVlN4SFFVRmpPV01zVFVGQlR6QmpMRVZCUVZFc1IwRkJTMEVzUlVGQlVTeExRVU53Ukd4WkxFVkJRVkY1V1N4alFVZFNTQ3hGUVVGamJGVXNSVUZCUzJ4SExFOUJRMjVDWjJFc1IwRkJVeXhIUVUxT2JGa3NSVUZCVVd0WkxGTkJRMkpCTEVkQlFWTXNSMEZIVmtRc1IwRkJVeXhGUVVkS1J5eEpRVWxJYUZVc1JVRkVTVGhVTEVWQlEwY3NSMEZKUVN4TFFVMVdOVU1zUlVGQlR5eERRVWRPWlN4SlFVRkxMRmRCTWtKS0xFOUJNVUpMYWxNc1NVRkhRemhVTEVsQlFWZEVMRWxCUTJaTExFVkJRV05zVlN4RlFVRkxiRWNzVDBGQlV5eEZRVU0xUW0xaExFVkJRVTAxWXl4TFFVRk5lV01zU1VGSFlpeFRRVUZYTjBJc1JVRkJTMnBJTEVkQlEyWjRVaXhGUVVGUGEwSXNTMEZCVFhOUkxFVkJRVTBzVTBGQlZUQkpMRVZCUVVkb1Z5eEhRVU14UWpWR0xFVkJRVmswUml4SFFVTldPVUlzUlVGQlVUQlZMRkZCUVZkWkxFVkJRVXN6Uml4SlFVRkxOMDRzU1VGRGJFTnpReXhGUVVGTE0wa3NTMEZCVFhGSExFZEJSVVJCTEVkQlFVOUJMRVZCUVVrMVJDeFJRVUUwUWl4WFFVRnNRbEFzUlVGQlVXMUZMRWxCUjNoRGRWVXNSVUZCUzNaVkxFdEJWRklzUTBGWlN6VkRMRmRCUlVGbldpeEpRVUZYUkN4SFFVTm1UU3hMUVVkTE1XUXNUVUZKVWpaa0xFOUJRVkVzVjBGWlVDeFBRVmhCT1dFc1JVRkJUMnRDTEV0QlFVMUpMRlZCUVZjc1UwRkJWVFJaTEVWQlFVZG9WeXhIUVVWd1F5eEpRVVJCTEVsQlFVbHhWU3hIUVVOTlFTeEZRVUZSZGxrc1JVRkJUelpFTEZGQlFWTkxMRVZCUVV0elF5eEZRVUZOSzFJc1MwRkJZU3hIUVVONlJDOVNMRVZCUVV0MFJTeFBRVUZSY1Zjc1JVRkJUeXhIUVVkbVFTeEhRVUZUYlVNc1IwRkRZa0VzVFVGSlNYcGtMRTFCUzFJNFZTeEpRVUZMTEZOQlFWVTFVaXhIUVVOa0xFOUJRVTlCTEVWQlEwNUlMRVZCUVU4MlJDeFJRVUZUTVVRc1JVRkJTWEZITEVsQlFWVXNSVUZET1VKQkxFVkJRVXRzUnl4UFFVRlRMRWRCU1doQ2QxTXNUVUZCVHl4WFFVbE9MRTlCU0V0MFRTeEpRVU5LUVN4RlFVRlBMRWxCUlVSMlNpeE5RVTFTT0dRc1VVRkJVeXhYUVVkU0xFOUJSa0ZRTEVWQlFWTkRMRVZCUVZFc1IwRkRha0pxVlN4RlFVRlBPRlFzUlVGQlV5eEhRVU5VY21Rc1RVRkZVbTFOTEZOQlFWVXNWMEZEVkN4UFFVRlJOVU1zUjBGTlZIZFZMRXRCUVUwc1YwRkxUQ3hQUVVwQlVpeEZRVUZUUXl4RlFVRlJMRWRCUTFoSUxFZEJRVmRFTEVsQlEyaENOMVFzUlVGQlR6aFVMRVZCUVZNc1NVRkZWbkprTEUxQlJWSjFaQ3hQUVVGUkxGZEJRMUFzVVVGQlUwRXNSMEZKVmxNc1UwRkJWU3hUUVVGVkwyRXNSVUZCVTNOU0xFZEJVelZDTEU5QlVrMW5TaXhKUVVWTWFFb3NSVUZCVHl4RFFVRkZkRklzUjBGRVZITlNMRVZCUVU5QkxFZEJRVkVzU1VGRFVXcFZMRTFCUVZGcFZTeEZRVUZMYWxVc1VVRkJWV2xWTEVkQlF6bERhVW9zUlVGQlRUVmpMRXRCUVUweVZDeEhRVU5PTmtrc1IwRkRURTBzUzBGSFN6RmtMRTFCU1ZJd1pDeExRVUZOTEZkQlJVd3NUMEZFUVdwRUxFVkJRVXQxUkN4VFFVRlZhR1VzUzBGQlRYRkZMRmRCUTJSeVJTeE5RVWxTYzJRc1RVRkJUeXhYUVVOT0xGRkJRVk5CTEVsQlNWb3NUMEZCVHpkRExFZEJORU5TTVZnc1JVRkJUMjFETEU5QlFWRXNRMEZGWkN0WkxGTkJRVlVzVTBGQlZVTXNSMEZEYmtJc1NVRkJTVU1zUlVGQlV5eERRVWxZTEVOQlFVVXNVMEZCVlN4WFFVRlpjR0lzUlVGQlQyZGhMRlZCUVZjc1ZVRkRla05vWVN4RlFVRlBaMkVzVlVGQlZ5eFZRVUZaTEVkQlF5OUNMRU5CUVVVc1ZVRkJWeXhQUVVGUmFHRXNSVUZCVDJkaExGVkJRVmNzWlVGRGRFTm9ZU3hGUVVGUFoyRXNWVUZCVnl4bFFVRnBRaXhGUVVGSExGbEJRM1pETEVOQlFVVXNVMEZCVlN4UFFVRlJhR0VzUlVGQlQyZGhMRlZCUVZjc1pVRkRja05vWVN4RlFVRlBaMkVzVlVGQlZ5eGxRVUZwUWl4RlFVRkhMR0ZCUlhoRGNVSXNSVUZCVVN4VlFVTlNlRUlzUlVGQlZTeERRVU5VZDBJc1RVRkJUeXhYUVVOT0xFOUJRVTlCTEVkQlJWSkRMRTlCUVZFc1YwRkZVQ3hQUVVSQlF5eEZRVUZUTVZZc1MwRkJUWFpGTEZkQlFWbDNXU3hMUVVGTmVGa3NWMEZETVVKeVJTeE5RVVZTZFdVc1RVRkJVeXhUUVVGVmNtSXNSMEZEYkVJc1QwRkJUekJhTEVWQlFWRkZMRXRCUVUwc1MwRkJUVFZhTEVsQlNUVkNjMklzUzBGQlRTeFhRVU5NTEVsQlFVbERMRVZCUVUxd1lTeFZRVVZXTEU5QlFVOTBRaXhGUVVGUGEySXNVMEZCVlN4VFFVRlZVeXhIUVVOcVF6TmlMRVZCUVU5clFpeExRVUZOYTJFc1JVRkJVU3hUUVVGVk5WY3NSVUZCU1c5WUxFZEJSMnhETEVsQlFVbDZZaXhGUVVGTE4wSXNSVUZCV1c5a0xFVkJRVXRGTEVWQlFVOHNUVUZCVjBZc1JVRkJTMFVzUlVGQlR5eEpRVXQ0UkV3c1JVRkJWVXNzUlVGQlR5eEpRVUZQTEZkQlEzWkNMRWxCUVVsRExFVkJRVmN4WWl4SFFVRk5RU3hGUVVGSGRrTXNUVUZCVDFnc1MwRkJUWEZGTEZkQlEyaERkV0VzUjBGQldYWmtMRVZCUVZsMVpDeEZRVUZUYUVNc1UwRkRja05uUXl4RlFVRlRhRU1zVlVGRFVHbERMRk5CUVZWSUxFVkJRVk5KTEZGQlEyNUNiRmNzUzBGQlRUaFdMRVZCUVZOc1F5eFRRVU5tU3l4TFFVRk5Oa0lzUlVGQlUycERMRkZCUldwQ2FVTXNSVUZCVlVNc1JVRkJUeXhIUVVGTkxGRkJRM1JDTTJVc1MwRkRRV3RFTEVWQlFVc3NRMEZCUlRCaUxFZEJRV0YyWVN4bFFVdDRRbTloTEVWQlFVMHNUMEZEU0RkQ0xGZEJSVXhGTEV0QlFVMHNVMEZCVldsRExFVkJRV0ZETEVWQlFWbERMRWRCUTNoRExFbEJRVWxETEVWQlFWY3NSVUZEWml4VFFVRlRNVU1zUlVGQlV6SkRMRVZCUVU5aUxFVkJRVlUxVUN4RlFVRlRNRkVzUjBGRE0wTXNUMEZCVHl4WFFVTk9MRWxCUVVsRExFVkJRVTl5Wml4TFFVTldkVlVzUlVGQlQyeFJMRlZCUTFCcFlpeEZRVUZoTEZkQlExb3NTVUZCU1ZZc1JVRkJWVGxDTEVWQlMyUXNTMEZCUzNGRExFVkJRVkZFTEVkQlFXSXNRMEZSUVN4SlFVcEJUaXhGUVVGWGJGRXNSVUZCVVM5T0xFMUJRVTh3WlN4RlFVRk5PVXNzVFVGSlpDdEtMRVZCUVZNeFFpeFZRVU14UWl4TlFVRk5MRWxCUVVreVF5eFZRVUZYTERSQ1FVOTBRbnBETEVWQlFVODRRaXhKUVV0blFpeHBRa0ZCWWtFc1IwRkRXU3h0UWtGQllrRXNTVUZEVWtFc1JVRkJVemxDTEV0QlIweDZZaXhGUVVGWmVXSXNSMEZIV0hORExFVkJRMHAwUXl4RlFVRkxjbU1zUzBGRFNtMWxMRVZCUTBGd1F5eEZRVUZUTUVNc1JVRkJWVm9zUlVGQlZXNURMRVZCUVZWcFJDeEhRVU4yUXpWRExFVkJRVk13UXl4RlFVRlZXaXhGUVVGVmFrTXNSVUZCVXl0RExFdEJUM1pEUml4SlFVVkJjRU1zUlVGQlMzSmpMRXRCUTBwdFpTeEZRVU5CY0VNc1JVRkJVekJETEVWQlFWVmFMRVZCUVZWdVF5eEZRVUZWYVVRc1IwRkRka00xUXl4RlFVRlRNRU1zUlVGQlZWb3NSVUZCVldwRExFVkJRVk1yUXl4SFFVTjBRelZETEVWQlFWTXdReXhGUVVGVldpeEZRVUZWYmtNc1JVRkROVUp0UXl4RlFVRlRhMElzWlVGVFVEbFJMRWxCUVZsNVRpeEpRVU5vUW10RUxFOUJRVTk0V2l4RlFVTlFNRThzUlVGQlR5eERRVUZGY1Vzc1MwRkxVbEVzUjBGQlYyUXNSVUZCVTIxQ0xHRkJRV1ZLTEVWQlFVMDVTeXhOUVVzM1EyMU1MRVZCUVZWT0xFVkJRMVJGTEVWQlEwRXNWMEZEUXl4SlFVTkRRU3hKUVVORExFMUJRVkU1VXl4SFFVVktla29zUlVGQlQydGlMRk5CUVZNd1FpeGxRVU53UWpWakxFVkJRVTlyWWl4VFFVRlRNRUlzWTBGQlpXNVVMRVZCUXpsQ2ExUXNSVUZCVVVVc1dVRk5URlFzUlVGQlVTeEhRVUZMUkN4SlFVbGFlRkVzU1VGQldUSk9MRWxCUTJoQ1owUXNUMEZCVDNoYUxFVkJRMUF3VHl4RlFVRlBMRU5CUVVVdlNDeEpRVWRXT0ZJc1JVRkJVM1ZDTEZkQlFWbFNMRVZCUVUwNVN5eE5RVk16UWpSTExFVkJRMHBQTEV0QlMwc3pZeXhGUVVGUGEySXNVMEZCVXpaQ0xHVkJRM0JDU2l4RlFVRlJSU3hYUVVGaE4yTXNSVUZCVDJ0aUxGTkJRVk0yUWl4blFrRkZkRU12Wml4RlFVRlBaMmRDTEZkQlFWbE1MRXRCUzNSQ0xFOUJRVTh6WXl4RlFVRlBhMklzVTBGQlZTeFRRVUZWVXl4SFFVZHFRMUFzUlVGQlVTeEhRVUZMTEVkQlFVa3pReXhKUVVOb1FtZENMRVZCUTBNc1JVRkRRV3RETEVWQlEwRnlaQ3hGUVVGWk5HUXNSMEZEV0VFc1JVRkRRVGxETEVWQlEwUjFReXhGUVVGVFl5eGhRVXRZY2tJc1JVRkJVU3hIUVVGTExFZEJRVWt6UXl4SlFVTm9RbWRDTEVWQlEwTXNSVUZEUVd0RExFVkJRMEZ5WkN4RlFVRlpNR1FzUjBGRFdFRXNSVUZEUVRWRExFbEJTMGhuUXl4RlFVRlJMRWRCUVVzc1IwRkJTVE5ETEVsQlEyaENaMElzUlVGRFF5eEZRVU5CYTBNc1JVRkRRWEprTEVWQlFWa3laQ3hIUVVOWVFTeEZRVU5CTTBNc1RVRkhRVThzVjBGTFRFRXNVVUZCVXl4VFFVRlZkR0lzUjBGRGJFSXNUMEZCWXl4TlFVRlFRU3hGUVVGamVVSXNSVUZCVDIxRExFOUJRVkUxUkN4RlFVRkxjMklzUjBGQldVRXNTVUZIZGtRd1FpeEZRVUZYTEVkQmEwVmFMRTlCTDBSQmRtSXNSVUZCVDJ0Q0xFdEJRVTFyWVN4RlFVRlJMRk5CUVZWb1l5eEZRVUZIZDJNc1IwRkRha01zU1VGQlNYQldMRVZCUVU5dlZpeEZRVUZQTEVkQlEycENjVUlzUlVGQlkzSkNMRVZCUVU4c1IwRkxkRUl2UWl4RlFVRlRLMElzUlVGQlR5eEpRVUZSY0ZZc1JVRkJTMmxUTEVsQlIzaENkMFVzUjBGRFNucFhMRVZCUVV0cFV5eEpRVU5LTEZkQlNVTTBReXhGUVVGUk5FSXNSMEZMVkRkQ0xFVkJRVkVzUlVGQlNXaGpMRWRCUVVzc1IwRkJTVEppTEZGQlNYSkNTeXhGUVVGUkxFVkJRVWxvWXl4SFFVRkxMRWRCUVVreVlpeFJRVWR5UWtzc1JVRkJVU3hIUVVGTExFZEJRVWxLTEV0QlIycENTU3hGUVVGUkxFZEJRVXNzUjBGQlNVb3NUVUZQYmtKNFZTeEZRVUZMYVZNc1NVRkJTMjFFTEVWQlFVOHNSMEZCU1dwQ0xFMUJTM0pDV1N4RlFVRlZTeXhGUVVGUExFbEJRVkVzVjBGRmVFSXNUMEZFUVV3c1JVRkJWVXNzUlVGQlR5eEhRVUZOTEZGQlFWVXpaU3hQUVVGVGMyVXNUMEZCVjNwWkxFVkJRVmszUml4TFFVRk5jVVVzVjBGRGFFVnlSU3hOUVUxU2MyVXNSVUZCVlVzc1JVRkJUeXhIUVVGTkxGRkJRVmR3Vml4RlFVRkxlVlVzVjBGSmVFTndRaXhGUVVGUlFTeFJRVUZUTUVJc1IwRkhXa29zUjBGRFNrRXNSVUZCUzNwa0xFdEJRVTAyWkN4RlFVRlZRU3hIUVVsbVFTeEhRVWxTTWtJc1MwRkJUU3hUUVVGVlF5eEhRVU5tTEVsQlIwTkRMRVZCUVZrNVlpeFZRVUZWYUVJc1QwRkhkRUpzUWl4RlFVRkpaMlVzUlVGSFNrTXNSVUZCYTBKNllTeE5RVUZQZUVRc1IwRkRla0pyWlN4RlFVRm5RaTltTEVWQlFVMUhMRXRCUVUwMFJDeFhRVWMxUW1sakxFVkJRVlYyWkN4RlFVRlBhMklzVjBGSGFrSnpReXhGUVVGaExGTkJRVlZ3WlN4SFFVTjBRaXhQUVVGUExGTkJRVlVyUlN4SFFVTm9RbXRhTEVWQlFXbENhbVVzUjBGQlRXNURMRXRCUTNaQ2NXZENMRVZCUVdWc1pTeEhRVUZOYTBNc1ZVRkJWV2hDTEU5QlFWTXNSVUZCU1M5RExFVkJRVTFITEV0QlFVMDBSQ3hYUVVGak5rTXNTVUZETlVScFdpeEhRVU5VUnl4RlFVRlJZaXhaUVVGaFZ5eEZRVUZwUWtNc1MwRk5NVU1zUjBGQlMwWXNSMEZCWVN4SlFVTnFRalZFTEVWQlFWa3lSQ3hGUVVGaFNTeEZRVUZSTVZnc1MwRkJUVEpZTEVWQlFWbHdaU3hKUVVGTmNXRXNVVUZCVXpoRUxFVkJRVkUzUkN4UlFVTjRSVEJFTEVkQlIzVkNMRmxCUVhCQ1J5eEZRVUZSYkVNc1UwRkRXaTlqTEVWQlFWbG5aaXhGUVVGbGJHVXNTVUZCVDJ0bExFVkJRV1ZzWlN4SFFVRkpNbUVzVDBGRmNrUXNUMEZCVDNkRUxFVkJRVkY0UkN4UFFVdHFRaXhMUVVGUk0yRXNTMEZEVUc5aExFVkJRVms0UkN4RlFVRmxiR1VzUjBGQlMyOWxMRVZCUVZsd1pTeEhRVUZMYldVc1JVRkJVVGRFTEZGQlJ6RkVMRTlCUVU4MlJDeEZRVUZSTVVRc1lVRlBha0lzU1VGQlNUUkVMRVZCUVdNc2VVUkJSV3hDZW1Rc1JVRkJUMnRpTEZOQlFWTXdRaXhqUVVGblFpeFRRVUZWZUZvc1JVRkJUM05oTEVkQlNUTkRNV2RDTEVWQlFVOHlaMElzVTBGQlZ6Tm5RaXhGUVVGUE1tZENMRkZCUVZGRExFMUJRVkY0WVN4SFFVRlRjV0VzUlVGQldXaFVMRXRCUVUxeVNDeEZRVUZOWml4UFFVTTVSWEpHTEVWQlFVOHlaMElzVVVGQlVVTXNTMEZCVFN3NFFrRkJaME40WVN4RlFVRk5lV0VzVVVGQlUzcGhMRVZCUVUxellTeE5RVUZQUVN4SlFVOXVSakZrTEVWQlFVODRaQ3hsUVVGcFFpeFRRVUZWTVdFc1IwRkRha053Unl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEYkVJc1RVRkJUVFZhTEV0QlVWSXNTVUZCU1RKaExFVkJRVmt2WkN4RlFVRlBhMklzVjBGclJIWkNMRk5CUVZNNFF5eEpRVU5TYm1oQ0xFVkJRVk52YUVJc2IwSkJRWEZDTEcxQ1FVRnZRa1FzUjBGRGJFUm9hRUlzUlVGQlQybG9RaXh2UWtGQmNVSXNUMEZCVVVRc1IwRkRjRU5vWlN4RlFVRlBObGdzVVVGdVJGSTNXQ3hGUVVGUFJ5eEhRVUZITUZnc1RVRkJVU3hUUVVGVk1WZ3NSMEZaTTBJc1QwRldRVFJrTEVWQlEwVm9SU3hMUVVGTk5Wb3NSMEZMVG5GaUxFMUJRVThzVTBGQlZYQlpMRWRCUTJwQ2NFUXNSVUZCVHpoa0xHVkJRV2RDTVdFc1MwRkhiRUp1Unl4TlFVZFNLME1zUlVGQlQyMURMRTlCUVZFc1EwRkhaR2RDTEZOQlFWTXNSVUZKVkN0aExGVkJRVmNzUlVGSFdISkhMRTFCUVU4c1UwRkJWWE5ITEV0QlIwWXNTVUZCVkVFc1NVRkJhMEp1WlN4RlFVRlBhMlVzVlVGQldXeGxMRVZCUVU5dFJDeFhRVXRxUkc1RUxFVkJRVTl0UkN4VFFVRlZMRWRCUjBnc1NVRkJWR2RpTEV0QlFXMUNibVVzUlVGQlQydGxMRlZCUVZrc1IwRkxNME5JTEVWQlFWVnlRaXhaUVVGaE4yWXNSVUZCVlN4RFFVRkZiVVFzVVVGSmNrTkJMRVZCUVU4MldDeE5RVUZOYTBNc1MwRkJUMmRGTEVWQlFWVm9SU3hMUVdGRUxHRkJRWGhDYkdRc1JVRkJVM1ZvUWl4WlFVTmhMRmxCUVhoQ2RtaENMRVZCUVZOMWFFSXNZVUZCTmtKMmFFSXNSVUZCVXpoUUxHZENRVUZuUWpCU0xGTkJSMnBGY21oQ0xFVkJRVTluWjBJc1YwRkJXV2hrTEVWQlFVODJXQ3hSUVVzeFFtaGlMRVZCUVZOdFVTeHBRa0ZCYTBJc2JVSkJRVzlDWjFJc1IwRkhMME5vYUVJc1JVRkJUMmRSTEdsQ1FVRnJRaXhQUVVGUloxSXNTVUZSYkVNc1NVRkJTVTBzUlVGQlV5eFRRVUZWZUdRc1JVRkJUMWdzUlVGQlNXZE1MRVZCUVV0b1NDeEZRVUZQYjJFc1JVRkJWME1zUlVGQlZVTXNSMEZEYkVVc1NVRkJTWEptTEVWQlFVa3NSVUZEVURCRExFVkJRVTFvUWl4RlFVRk5VaXhQUVVOYWIyVXNSVUZCWXl4TlFVRlFkbFFzUlVGSFVpeEhRVUYxUWl4WFFVRnNRbkJNTEVWQlFWRnZUQ3hIUVVWYUxFbEJRVTB2VEN4TFFVUk9iV1lzUjBGQldTeEZRVU5FY0ZRc1JVRkRWbTFVTEVWQlFWRjRaQ3hGUVVGUFdDeEZRVUZKWml4RlFVRkhLMHdzUlVGQlN5OU1MRWxCUVVzc1JVRkJUVzltTEVWQlFWVkRMRkZCU1RORExGRkJRV1V6WWl4SlFVRldjVUlzU1VGRFdHOWhMRWRCUVZrc1JVRkZUbXBuUWl4RlFVRlpOa1lzUzBGRGFrSnpZU3hIUVVGTkxFZEJSMFpETEVsQlIwTkVMRWRCUTBwMFpTeEZRVUZIZWtNc1MwRkJUVzlFTEVWQlFVOXhSQ3hIUVVOb1FtaEZMRVZCUVVzc1QwRkpUSFZsTEVWQlFVOTJaU3hGUVVOUVFTeEZRVUZMTEZOQlFWVnJRaXhGUVVGTmMyUXNSVUZCVFhoaExFZEJRekZDTEU5QlFVOTFZU3hGUVVGTGFHaENMRXRCUVUxelF5eEZRVUZSY1VJc1IwRkJVVGhETEUxQlMyaERhRVVzUjBGRFNpeExRVUZSWml4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTJoQ1pTeEZRVU5EVnl4RlFVRlBNVUlzUjBGQlN5dE1MRVZCUVV0elZDeEZRVU5vUW5SaExFVkJRMEZCTEVWQlFVMTZSeXhMUVVGTmIwUXNSVUZCVHpGQ0xFZEJRVXRCTEVWQlFVZGxMRVZCUVVsWExFVkJRVTh4UWl4SFFVRkxLMHdzUzBGTmFFUXNUMEZCUzI5VUxFVkJRMGQ2WkN4RlFVbElOR1FzUlVGRFIzWmxMRVZCUVVkNlF5eExRVUZOYjBRc1IwRkhWbWRDTEVWQlFVMHpRaXhGUVVGSlZ5eEZRVUZQTEVkQlFVdHhTeXhIUVVGUmNWUXNSMEZMYkVOSkxFVkJRVmtzVVVGRFprTXNSVUZCWVN4WlFVZGtMRk5CUVZORExFVkJRVmxETEVWQlFVMURMRWRCUXpGQ0xFOUJRVTlCTEVWQlFVOURMR05CVFdZc1UwRkJVME1zUlVGQlYwTXNSMEZEYmtJc1QwRkJUMEVzUlVGQlQycGpMRkZCUVZNd1lpeEZRVUZYTEU5QlFWRXhZaXhSUVVGVE1tSXNSVUZCV1VNc1IwRkZhRVVzU1VGQlNVMHNSVUZCWVN4VFFVRlZReXhIUVZFeFFpeFBRVUV3UWl4SlFVRnVRa0VzUlVGQlRUZG5RaXhWUVVGeFF5eEpRVUZ1UWpablFpeEZRVUZOTjJkQ0xGbEJRWE5DTm1kQ0xFVkJRVTAzWjBJc1ZVRk5iRVVzVTBGQlV6aG5RaXhKUVVOU2NtbENMRXRCUVVzNFJpeFJRVUZWTDBNc1JVRkJUeXRETEZGQlFWVjFZeXhGUVVGTFF5eE5RVWQwUTBRc1JVRkJTME1zU1VGQlRTeEZRVVZZUkN4RlFVRkxMMlVzVlVGQldTeERRVVZvUWpKTExFMUJRVThzVTBGQlZXMVZMRWRCUjJoQ0xFbEJRVWxzWWl4RlFVRlJhMklzUlVGQlQzQnBRaXhMUVVGTE9FWXNVMEUwUW5oQ0xFOUJla0pOYjBJc1NVRkRURUVzUlVGQlVTeEhRVXRJYVdJc1JVRkJXVU1zUzBGSldFRXNSVUZCVFRkblFpeFRRVU5XTm1kQ0xFVkJRVTl3YVVJc1MwRkJTemhHTEZOQlFWbHZRaXhGUVUxNFFqbEhMRTlCUVU5dGFVSXNaVUZCWjBKSUxFVkJRVTl3YVVJc1MwRkJTemhHTEZGQlFWTXNRMEZETTBOdlFpeE5RVUZQUVN4RlFVTlFjMklzWTBGQll5eE5RVTFZZEdJc1IwRkZVblZpTEVsQlFVc3NVMEZCVlV3c1JVRkJUMDBzUlVGQlRYaGlMRWRCUXpOQ0xFbEJRVWw1WWl4RlFVTklNVlVzUlVGQlVXcFBMRXRCUVV0cFR5eE5RVUZQYlZVc1IwRkpja0lzUjBGQmNVSXNhVUpCUVZSTkxFVkJRMWg2VlN4RlFVRlBaMVVzUlVGQlYxTXNTVUZCVjNoaUxFOUJUVGRDTEVsQlFVMTVZaXhMUVVGUlJDeEZRVU5pZWxVc1JVRkJUMmRWTEVWQlFWZFZMRWxCUVZkRUxFVkJRVTFETEVkQlIzSkRMRTlCUVU4eFZTeEhRVVZTZGtzc1NVRkJTeXhUUVVGVk1HVXNSVUZCVDJ4VkxFZEJRM0pDTEZsQlFXVnlTU3hKUVVGU2NVa3NSVUZEVG14UExFdEJRVXRwVHl4TlFVRlBiVlVzUjBGSFdrRXNSVUZCVDNCcFFpeExRVUZMT0VZc1ZVRkJZWE5qTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUVZkdFl5eEZRVUZYTDFRc1MwRkZOMFJ0VkN4UFFVRlJMRk5CUVZWbExFVkJRVTlzVlN4RlFVRkxhRWdzUjBGaE4wSXNXVUZCWVhKQ0xFbEJRVkp4U1N4SFFVTkRRU3hIUVVGelFpeHBRa0ZCVWtFc1VVRkJaME55U1N4SlFVRldjVUlzUlVGRmJFTnNTQ3hMUVVGTE1FUXNTVUZCU3pCbExFVkJRVTlzVlN4SlFWTjZRbXhQTEV0QlFVdDVhVUlzU1VGQlMwd3NSVUZCVDJ4VkxFVkJRVXRvU0N4UlFVbE1ja0lzU1VGQlZuRkNMRVZCUVhOQ1FTeEZRVUZSWjBnc1NVRkZkRU15VUN4UFFVRlJMRk5CUVZWMVJTeEZRVUZQYkZVc1IwRkRlRUlzU1VGQlNTOU1MRVZCUTBnNFRDeEZRVUZSYlZVc1JVRkJUM0JwUWl4TFFVRkxPRVlzVTBGRmNrSXNVVUZCWlVRc1NVRkJWbTlKTEVWQlFVd3NRMEZKUVN4UlFVRmhjRWtzU1VGQlVuRkpMRVZCUVc5Q0xFTkJhMEo0UWk5TUxFZEJXRU1yVEN4RlFVcEpka2tzVFVGQlRVTXNVVUZCVTNOSkxFZEJTV0pCTEVWQlFVa3ZTaXhKUVVGTE9HUXNTVUZGWmk5VUxFVkJRVTByVkN4RlFVRlhMMVFzVFVGSlNrUXNSVUZEV2l4RFFVRkZReXhIUVVOQlFTeEZRVUZKY2tJc1RVRkJUM0ZRTEVsQlFXMUNMRWxCUnpGQ04xa3NUMEZGVWl4TFFVRlJiRUlzV1VGRFFUaE1MRVZCUVU5RExFVkJRVXN2VEN4VlFVdFNNRVFzU1VGQlVuRkpMRWRCUVhGQ2Jrd3NSVUZCVDNsRUxHTkJRV1Y1U0N4TlFVMHhRMjFWTEVWQlFVMDNaMElzVTBGRFZqWm5RaXhGUVVGUGNHbENMRXRCUVVzNFJpeGpRVUZaUkN4VFFVVnFRblZqTEVWQlFVOXdhVUlzUzBGQlN6aEdMRmxCU1hSQ09HTXNVVUZCVXl4VFFVRlZVaXhIUVVOc1FpeEpRVUZKYmxVc1JVRkJVVzFWTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUTNoQ0xGbEJRV2xDUkN4SlFVRldiMGtzU1VGQmQwSnNUQ3hGUVVGUGVVUXNZMEZCWlhsSUxFdEJSM1pFTEVsQlFVazBWU3hGUVVGWExFbEJRVWxTTEVWQlJXWlRMRVZCUVZjc1NVRkJTVlFzUlVGalpsVXNSVUZCVXl4blEwRkRXa01zUlVGQllTeFRRVEpDWkN4VFFVRlRReXhGUVVGVk4yVXNSVUZCVFRoS0xFVkJRVXQzVlN4SFFVTTNRaXhKUVVGSmRHUXNSVUZKU2l4UlFVRmpVeXhKUVVGVU5tTXNSMEZCZDBNc1NVRkJiRUowWlN4RlFVRkxOME1zVTBGSkwwSXNSMEZJUVRaRUxFVkJRVThzVVVGQlZUaEpMRVZCUVVscVNTeFJRVUZUSzJNc1JVRkJXU3hQUVVGUmVHSXNZMEZITjBJc2FVSkJSbkpDYTJJc1JVRkJUM1JsTEVWQlFVczFRaXhoUVVGak5FTXNTVUZGVFN4RFFVTXZRaXhKUVVORGMyUXNSVUZ3UTBvc1UwRkJhMEpCTEVkQlEycENMRTFCUVdNc1UwRkJWRUVzUjBGSlV5eFZRVUZVUVN4SlFVbFRMRk5CUVZSQkxFVkJRMGNzUzBGSlNFRXNTMEZCVlVFc1JVRkJUeXhKUVVOaVFTeEZRVWRLU3l4RlFVRlBkbFlzUzBGQlRXdFdMRWRCUTFaUkxFdEJRVXRETEUxQlFVOVVMRWRCUjJKQkxFZEJZMGRWTEVOQlFWTldMRWRCUTJZc1RVRkJVV3hYTEVsQlIxWnpWeXhGUVVGVFRDeEpRVUZMY21Vc1JVRkJUVGhLTEVWQlFVdDNWU3hSUVVWNlFrRXNUMEZCVHpkakxFVkJSMVFzVDBGQlR6WmpMRVZCUjFJelppeEZRVUZQYlVNc1QwRkJVU3hEUVVOa01HUXNVVUZCVXl4VFFVRlZlR1VzUjBGRGJFSXNUMEZCVHpCbExFVkJRVk5HTEZGQlFWTjRaU3hKUVVGVmVXVXNSVUZCVTBRc1VVRkJVM2hsTEVsQlIzUkVjMlVzUzBGQlRTeFRRVUZWZEdVc1JVRkJUV2RDTEVWQlFVMXpaQ3hIUVVNelFpeFBRVUZQU1N4RlFVRlRla0lzVDBGQlVXcGtMRVZCUVUxblFpeEZRVUZOYzJRc1NVRkhja05YTEZkQlFWa3NVMEZCVldwbUxFVkJRVTFuUWl4SFFVTXpRakJrTEVWQlFWTnFSaXhQUVVGUmVsb3NSVUZCVFdkQ0xFbEJTM2hDYTJVc1RVRkJUeXhUUVVGVmJHWXNSVUZCVFdkQ0xFVkJRVTF6WkN4SFFVTTFRaXhQUVVGUFJ5eEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMW5RaXhGUVVGTmMyUXNTVUZIY2tOaExGbEJRV0VzVTBGQlZXNW1MRVZCUVUxblFpeEhRVU0xUW5sa0xFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRXZENMRTFCU1hwQ2NrTXNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZEYWtKM1pDeExRVUZOTEZOQlFWVjRWU3hGUVVGTGFFZ3NSMEZEY0VJc1NVRkJTUzlGTEVWQlFVZHBSQ3hGUVVGTmMyUXNSVUZEV25SbExFVkJRVTl3UlN4TFFVRk5MRWRCUTJKNVR5eEZRVUZSY2tzc1IwRkJVVUVzUlVGQlMzVkdMRmRCUjNSQ0xGRkJRV0U1UkN4SlFVRlNjVWtzUlVGQmIwSXNRMEZEZUVJc1IwRkJTMnhQTEV0QlFVdHhSQ3hUUVVOVWNXWXNSVUZCVDBrc1JVRkJVM0JtTEVsQlFVdFZMRWRCUlVVc1NVRkJiRUpCTEVWQlFVczNReXhYUVVGdFFuTm9RaXhGUVVGVGJtWXNTVUZCUzFVc1JVRkJUU3hwUWtGQmJVSXNRMEZGYmtVc1NVRkVRV3BETEVWQlFVbHpUU3hGUVVGTmNFd3NUMEZEUm14Q0xFdEJTVVp6VFN4RlFVRlBkRTBzU1VGRmMwSXNTMEZFYWtOcFJDeEZRVUZQY1Vvc1JVRkJUM1JOTEVkQlFVbHBSQ3hOUVVOU2RrVXNVVUZCVXl4WFFVTnNRblZGTEVWQlFVODJZeXhGUVVGWE4yTXNSVUZCU3psRkxFMUJRVThzU1VGRE9VSXlhVUlzUlVGQlZUZGxMRVZCUVUxblFpeEZRVUZOYzJRc1JVRkJUWFJrTEV0QlNTOUNlV1FzUlVGQlUwb3NTVUZCUzNKbExFVkJRVTBzWjBKQlFXZENMRWRCU1hSRExFOUJRVTl6WlN4RlFVbFNMRTFCUVc5Q0xHbENRVUZTZUZVc1JVRkRTbXhQTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTm1Vc1JVRkJVMHdzU1VGQlMzcHBRaXhMUVVGTmEwOHNTMEZKWm0xVUxFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmEwZ3NSMEZET1VJc1NVRkJTWGRpTEVWQlQwb3NSMEZCUzNSbExGRkJRV3RDZVVJc1NVRkJWbkZDTEVWQlMxb3NXVUZCWTNKQ0xFdEJSR1EyWXl4RlFVRlBTU3hGUVVGVGNHWXNTVUZCUzFVc1JVRkJUVGhLTEVsQlJXNUNkMVVzVDBGTlRUZGpMRXRCUkdRMll5eEZRVUZQVHl4RlFVRlZOMlVzUlVGQlRUaEtMRWxCUldaM1ZTeFBRVWxTTEVWQlNVUXhhVUlzUzBGQlMybEZMRXRCUVUwc1YwRkhWalpsTEVWQlFWTk1MRWxCUVV0NmFVSXNTMEZCVFd0UExFVkJRVXRvU0N4TlFVVjRRaXhMUVVGTlFTeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNSVUZCUnl4TlFVRk5MRWxCUnpkRFoyZENMRmRCUVZrc1UwRkJWVzVXTEVkQlEzSkNMRTlCUVU5c1R5eExRVUZMYVVVc1MwRkJUU3hYUVVOcVFqWmxMRVZCUVZOcVJpeFBRVUZSTjJRc1MwRkJUV3RQTEZGQlRURkNia3dzUlVGQlQyMURMRTlCUVZFc1EwRkRaSE5aTEUxQlFVOHNVMEZCVlhCYUxFVkJRVTE2UXl4RlFVRk5LMmRDTEVkQlF6VkNMRWxCUVVsc1JpeEZRVVZLTEVkQlFVdHdXaXhGUVZsS0xFOUJXRUY2UXl4SFFVRlRRU3hIUVVGUkxFMUJRVk1zVVVGRE1VSTJZaXhGUVVGUmNVWXNSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMTZReXhIUVVkMlFpdG5RaXhMUVVORmJFWXNSMEZCVXpkWUxFMUJRVTFETEZGQlFWTTRZeXhIUVVNM1FteEdMRVZCUVZGeFJpeEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMTZReXhGUVVGTmIwSXNSVUZCVHpKRUxGVkJRVmRuWXl4SlFVVjJSR3hHTEVWQlFVMDFZeXhMUVVGTk9HaENMRWxCUjFCc1JpeEhRVUZUTEVsQlNXeENaMGNzVVVGQlV5eFRRVUZWY0dZc1JVRkJUWHBETEVkQlEzaENRU3hGUVVGUFFTeEhRVUZSTEV0QlJXWXNTVUZCU1RaaUxFVkJRVkY2WVN4RlFVRlBlV0VzVFVGQlQzQmFMRVZCUVUxNlF5eEhRVU12UWpob1FpeEZRVUZqYWtjc1JVRkJUVzVoTEU5QlEzQkNTQ3hGUVVGTGMyRXNSVUZCVFhCUUxGRkJRMWh6Vml4RlFVRlJNMmRDTEVWQlFVODBaMElzV1VGQllYWm1MRVZCUVUxNlF5eEhRVTEyUWl4bFFVRlFkVUlzU1VGRFNrRXNSVUZCUzNOaExFVkJRVTF3VUN4UlFVTlljVllzUzBGSFNYWm5RaXhKUVVsVkxFOUJRVlIyUWl4SFFVTktObUlzUlVGQlRUZE1MRkZCUVZNc2NVSkJTVlFyVWl4RlFVRk5SU3hMUVVOaU1XZENMRVZCUVVkNlF5eExRVUZOTWtRc1JVRndRa1lzVjBGRFRuSkNMRVZCUVU5NVowSXNVVUZCVTNCbUxFVkJRVTE2UXl4SlFXMUNSaXRvUWl4TFFVZG9Ra1FzUjBGQlpVTXNSMEZEY0VKQkxFVkJRVTAzVGl4TlFVRk5Oa2dzVVVGTFpHbEhMRmxCUVdFc1UwRkJWWFptTEVWQlFVMTZReXhIUVVNMVFpeEpRVUZKZFUwc1JVRkJUWFpOTEVWQlFVOHNZVUZEYWtJc1QwRkJUMnRvUWl4RlFVRlRibVlzU1VGQlMxVXNSVUZCVFRoS0xFbEJRVk15VlN4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUwNFNpeEZRVUZMTEVOQlF5OUVNa2dzVFVGQlR6bFRMRVZCUVU5bllTeFZRVUZYTEdWQlFXZENka0lzU1VGQlN5eFhRVU0zUTNGSUxFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRTeERRVUZGZWtNc1JVRkJUeXhSUVVGVGRVMHNWMEZOTjBOdVRDeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5OWkxFMUJRVThzVTBGQlZUZGlMRVZCUVUwclowSXNSMEZEZEVJc1NVRkJTVzFDTEVWQlFWTXNSVUZSWWl4TlFVNXhRaXhwUWtGQlZHeHBRaXhKUVVOWUsyZENMRVZCUVU4dlowSXNSVUZEVUVFc1JVRkJUeXhMUVVOUWEybENMRXRCUjBsNFppeFZRVUZWYUVJc1QwRkJVM2RuUWl4RlFVTm9RamxuUWl4RlFVRlBlV0VzVFVGQlQzaGtMRXRCUVUwc1IwRkJTekpDTEZGQlIycENhMFVzU1VGQlZEWmpMRVZCUTA0eGFVSXNTMEZEUVVFc1MwRkJTMmxGTEV0QlFVMHNWMEZEVml4SlFVRkpkVm9zUlVGQlVYcGhMRVZCUVU5NVlTeE5RVUZQZUdRc1MwRkJUVEpDTEVWQlFVMHJaMElzUjBGSGRFTXpaaXhGUVVGUE5HZENMRmxCUVdFemFrSXNTMEZCVFRKQ0xFZEJSVm9zVDBGQlZFRXNSMEZCWjBNc1pVRkJaalppTEVWQlFVOHNTVUZETlVKNllTeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlNURkNObWhDTEZGQlFWTXNVMEZCVlRkb1FpeEhRVU5zUWl4UFFVRlBNMElzUzBGQlMybEZMRXRCUVUwc1YwRkRha0pzUWl4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCUjNoQ2JXbENMRmRCUVZrc1UwRkJWVzVwUWl4SFFVTnlRaXhQUVVGUE0wSXNTMEZCUzNka0xFMUJRVTgzWWl4SFFVRlJMRXRCUVUwc1MwRkxiRU5wWWl4UlFVRlRMRk5CUVZWcVlpeEZRVUZOVEN4SFFVTjRRaXhKUVVGSmIxQXNSVUZEU0hGVUxFVkJRVkVzUlVGRFVrTXNSVUZCVVdwb1FpeEZRVUZQYTJJc1YwRkRabkJOTEVWQlFWYzNVaXhMUVVOWWJVTXNSVUZCU1c1RExFdEJRVXR4UkN4UFFVTlViVm9zUlVGQlZTeGhRVU5EZFVnc1IwRkRWRU1zUlVGQlRYWkZMRmxCUVdFMVRpeEZRVUZWTEVOQlFVVkJMRXRCVld4RExFbEJUbkZDTEdsQ1FVRlViRkVzU1VGRFdFd3NSVUZCVFVzc1JVRkRUa0VzVDBGQlQydEZMRWRCUlZKc1JTeEZRVUZQUVN4SFFVRlJMRXRCUlZCUkxFMUJRMUIxVHl4RlFVRk5iVk1zUlVGQlUyNW1MRWxCUVV0dFR5eEZRVUZWTVZBc1IwRkJTMUlzUlVGQlR5eG5Ra0ZET1VJclR5eEZRVUZKYlVZc1VVRkRabXRQTEVsQlEwRnlWQ3hGUVVGSmJVWXNUVUZCVFRKR0xFbEJRVXRuUWl4SlFVbHFRaXhQUVVSQlFTeEpRVU5QZDBnc1JVRkJUWEJJTEZGQlFWTjBZaXhOUVVkNFFpeEpRVUZKTW1sQ0xFVkJRVThzYzBOQlFUQkRReXhQUVVWcVJFTXNSMEZCVlN4SlFVRkpjbUVzVDBGQlVTeHBRa0ZCYlVKdFlTeEZRVUZQTEdOQlFXVXNTMEZITDBSSExFZEJRVmtzUTBGQlJTeE5RVUZQTEZGQlFWTXNVMEZCVlN4UlFVVjRRekZWTEVkQlFXdENPVkFzUlVGQlV6aFFMR2RDUVVreFFqSlZMRWRCUVdFc1UwRkJWV3BuUWl4SFFVTjZRaXhQUVVGUGNrSXNSVUZCVDNsR0xGTkJRVlZ3UlN4RlFVRkxOa2tzWTBGQlpUZEpMRWxCUlRkRGEyZENMRWRCUVZjc1EwRkJSVUVzVlVGQlZTeEhRVTl1UWpWVkxFZEJRV2RDTmxVc1kwRkRjRUpHTEVkQlFXRXNVMEZCVldwblFpeEhRVU4wUWl4UFFVRlBja0lzUlVGQlQzbEdMRk5CUVZWd1JTeEZRVUZMTmtrc1kwRkJaVGRKTEVsQlF6TkRRU3hGUVVGTGJXZENMRmxCUVdGRUxFMUJRV1ZzWjBJc1JVRkJTelpKTEdkQ1FVY3hReXhKUVVGSmRWZ3NSMEZCY1VJc1UwRkJWWEJuUWl4RlFVRk5iVXNzUjBGUGRrTXNUVUZCT0VJc1ZVRklPVUp1U3l4RlFVRlBiVXNzUjBGQlRXNUxMRWRCUjBSeFowSXNUVUZCVFVNc1UwRkRUU3hMUVVGMlFuUm5RaXhGUVVGTGNXZENMRTFCUVUxRExGTkJUVmhNTEVkQlFWbHFaMElzU1VGRmMwSXNVMEZCYkVOeVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3haUVV0eVFpeFRRVUZUZDJkQ0xFZEJRVmQ0WjBJc1JVRkJUWFZsTEVWQlFVMXJReXhGUVVGWlF5eEhRVU16UXl4SlFVRkpReXhGUVVGVlF5eEZRVU5pUXl4RlFVRm5RaXhIUVVOb1FrTXNSVUZCWlVvc1JVRkRaQ3hYUVVORExFOUJRVTlCTEVWQlFVMXFWeXhQUVVWa0xGZEJRME1zVDBGQlR6bE1MRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOZFdVc1JVRkJUU3hMUVVWcVEzZERMRVZCUVZWRUxFbEJRMVpGTEVWQlFVOVFMRWRCUVdOQkxFVkJRVmtzUzBGQlV6bG9RaXhGUVVGUGMybENMRlZCUVZjeFF5eEhRVUZUTEVkQlFVc3NUVUZITVVVeVF5eEZRVUZuUW14b1FpeEZRVUZMTjBNc1YwRkRiRUozUWl4RlFVRlBjMmxDTEZWQlFWY3hReXhKUVVGdFFpeFBRVUZVZVVNc1NVRkJhMEpFTEVsQlEyaEVhRUlzUjBGQlVXcFlMRXRCUVUxdVN5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUWFZsTEVsQlJXeERMRWRCUVVzeVF5eEhRVUZwUWtFc1JVRkJaU3hMUVVGUlJpeEZRVUZQTEVOQldXNUVMRWxCVWtGRUxFZEJRVzlDTEVWQlIzQkNReXhGUVVGUFFTeEhRVUZSUlN4RlFVRmxMRWRCUnpsQ1FTeEhRVUZwUWtnc1IwRkJWeXhGUVVWd1FrWXNTMEZKVUd4cFFpeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUWFZsTEVWQlFVMHlReXhGUVVGblFrWXNTVUZEYmtNc1JVRkJTVW9zU1VGQldTeEhRVUZOUVN4RlFVRlJSU3hKUVVGcFFrTXNSMEZCVnl4TlFVRlhMRWxCUXpORlJpeEZRVUZuUWl4SFFVVnFRa3NzUjBGQlowTk9MRVZCU1dwRFRTeEhRVUZuUXl4RlFVTm9RM1pwUWl4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRYVmxMRVZCUVUweVF5eEZRVUZuUWtZc1IwRkhNVU5RTEVWQlFXRkJMRWRCUVdNc1IwRm5RalZDTEU5QllrdEJMRWxCUTBwVExFZEJRV2xDUVN4SlFVRnJRa2dzUjBGQlZ5eEZRVWM1UTBvc1JVRkJWMFlzUlVGQldTeEhRVU4wUWxNc1IwRkJhMEpVTEVWQlFWa3NSMEZCVFN4SFFVRk5RU3hGUVVGWkxFbEJRM0pFUVN4RlFVRlpMRWRCUTFSRExFbEJRMHBCTEVWQlFVMU5MRXRCUVU5QkxFVkJRMkpPTEVWQlFVMDNVU3hOUVVGUmNWSXNSVUZEWkZJc1JVRkJUUzltTEVsQlFVMW5aMElzU1VGSFVFRXNSVUZKVWl4SlFVRkpVU3hIUVVGdlFpeEhRVVY0UWl4VFFVRlRReXhIUVVGdFFuQm9RaXhIUVVNelFpeEpRVUZKZFZRc1JVRkRTSHBXTEVWQlFVMXJReXhGUVVGTE5ra3NZMEZEV0dJc1JVRkJWMmhKTEVWQlFVdG5TU3hUUVVOb1FuTlpMRVZCUVZWaExFZEJRVzFDYmxvc1IwRkZPVUlzVDBGQlMzTlpMRWxCU1V3dlRTeEZRVUZQZWxZc1JVRkJTWFZxUWl4TFFVRkxPV2xDTEZsQlFXRlVMRVZCUVVsSkxHTkJRV1U0U2l4SlFVTm9SSE5aTEVWQlFWVXphRUlzUlVGQlR6Um9RaXhKUVVGTGFFNHNSVUZCVFN4WFFVVTFRa0VzUlVGQlN5OVZMRmRCUVZkRExGbEJRV0U0VlN4SFFVVmFMRk5CUVZvclRTeEpRVU5LUVN4RlFVRlZMRk5CUlZoaExFZEJRVzFDYmxvc1IwRkJZWE5aTEVWQlJYcENRU3hIUVVkU0xGTkJRVk5uUWl4SFFVRlZOMVFzUlVGQlZUaFVMRWRCVHpWQ0xFbEJUa0VzU1VGQlNXcENMRVZCUVZOMFowSXNSVUZEV25kb1FpeEZRVUZUTEVkQlExUjBTeXhGUVVGUkxFVkJRMUpxV1N4RlFVRlRkMDhzUlVGQlUzaFBMRTlCUjFocFdTeEZRVUZSYWxrc1JVRkJVV2xaTEV0QlEzWkNiRmdzUlVGQlQzbE9MRVZCUVZWNVNpeEpRVU5PYlVvc1VVRkpXRU1zUlVGQlZYUm5RaXhGUVVGTGNXZENMRTFCUVUxRExGRkJRMmhDYVVJc1IwRkxZU3hUUVVGYWFrSXNTVUZEU210Q0xFVkJRVkYwU3l4SFFVRlZkVWdzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzV1VGQlpTeExRVU12UTNkb1FpeEZRVUZSZEVzc1MwRkRZbXhZTEVWQlFVdHhaMElzVFVGQlRVTXNVVUZCVlN4TFFVZExMRXRCUVhaQ2RHZENMRVZCUVV0eFowSXNUVUZCVFVNc1UwRkJhMEpHTEVkQlFXOUNjR2RDTEV0QlEzSkVkMmhDTEVWQlFWRjBTeXhIUVVGVmEwc3NSMEZCYlVKd2FFSXNTMEZIY2tJc1UwRkJXbk5uUWl4SlFVTkthMElzUlVGQlVYUkxMRWRCUVZVc1QwRkhiRUoxU0N4RlFVRlRTaXhKUVVGTGNtVXNSVUZCVFN4VlFVRlhjMmRDTEV0QlRXeERMRWxCUVUxd1NpeEZRVUZSTEVWQlFVZEJMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRVaXhOUVVGdVFuTkxMRVZCUVZGMFN5eExRVU5hZWtvc1JVRkJWWGxLTEVkQlFWRnRTaXhOUVVGTlF5eFJRVUZWYTBJc1JVRkJVWFJMTEVsQlNUVkRMRTlCUVU5NlNpeEZRVWRTT1U4c1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkRha0o1WjBJc1MwRkJUU3hYUVVOTUxFOUJRVTlFTEVkQlFWVXhiRUlzVFVGQlRTeEpRVVY0UWpac1FpeExRVUZOTEZkQlEwd3NUMEZCVDBnc1IwRkJWVEZzUWl4UFFVVnNRamhzUWl4UFFVRlJMRk5CUVZVeFNDeEhRVU5xUWl4TlFVRnpRaXhyUWtGQlZrRXNSVUZEU2tFc1JVRkJVWEJsTEV0QlFVc3liRUlzVDBGQlV6TnNRaXhMUVVGTE5teENMRTlCUnpWQ04yeENMRXRCUVV0cFJTeExRVUZOTEZkQlExcDFaMElzUjBGQmIwSjRhMElzVFVGRGVFSXJReXhGUVVGUkwwTXNUVUZCVHpKc1FpeFBRVVZtTldsQ0xFVkJRVkV2UXl4TlFVRlBObXhDTEZsQlMyNUNMRWxCVlVWRkxFZEJRMEZ3Vml4SFFWaEZjVllzUjBGQmFVSXNkMEpCUldwQ1F5eEhRVUZYTEdsRFFVVllReXhIUVVGakxIRkRRVTFvUWtnc1IwRkVZMjV0UWl4RlFVRlRkVzFDTEhsQ1FVTlNlR3BDTEZsQlFXRXZReXhGUVVGVE1FTXNZMEZCWlN4VFFVTndSSEZQTEVkQlFWRXZVU3hGUVVGVE1FTXNZMEZCWlN4VlFVMHpRa2NzWVVGQll5eFBRVUZSTEZOQlF6VkNhMDhzUjBGQlRXeFBMR0ZCUVdNc1ZVRkJWeXhYUVVNdlFtdFBMRWRCUVUxc1R5eGhRVUZqTEU5QlFWRXNTMEZGTlVKemFrSXNSMEZCU1hCcVFpeFpRVUZoWjA4c1NVRkpha0oyVUN4RlFVRlJaMnhDTEZkQlFXRk1MRWRCUVVsTkxGZEJRVmNzUjBGQlQwRXNWMEZCVnl4SFFVRlBhbE1zVlVGQlZYTkNMRkZCU1haRmNWRXNSMEZCU1c1V0xGVkJRVmtzZVVKQlEyaENlRkFzUlVGQlVXdHNRaXhwUWtGQmJVSlFMRWRCUVVsTkxGZEJRVmNzUjBGQlQycFRMRlZCUVZWM1JpeGhRVXN6UkcxTkxFZEJRVWx1Vml4VlFVRlpMRzlDUVVOb1FuaFFMRVZCUVZGdGJFSXNVMEZCVjFJc1IwRkJTVE5TTEZWQlMzaENMRWxCUVVsdlV5eEhRVUZWTEVOQlMySkRMRTFCUVU4c1EwRkJSU3hGUVVGSExGVkJRVmNzV1VGRGRrSkRMRWxCUVVzc1EwRkJSU3hGUVVGSExHOUNRVUZ4UWl4MVFrRkRMMEpETEVkQlFVa3NRMEZCUlN4RlFVRkhMR2xDUVVGclFpeHZRa0ZETTBKRExFZEJRVWtzUTBGQlJTeEZRVUZITEhGQ1FVRnpRaXg1UWtGRkwwSkRMRk5CUVZVc1EwRkJSU3hGUVVGSExFZEJRVWtzUzBGWmNFSXNVMEZCVTBNc1IwRkJVVGRxUWl4RlFVRlRkMDRzUjBGSmVrSXNTVUZCU1ROTkxFVkJXVW9zVDBGVVEwRXNUMEZFTkVNc1NVRkJha05pTEVWQlFWRnZTeXh4UWtGRFluQkxMRVZCUVZGdlN5eHhRa0ZCYzBKdlJDeEhRVUZQTEZWQlJVa3NTVUZCTjBKNFRpeEZRVUZSTkVzc2FVSkJRM0JDTlVzc1JVRkJVVFJMTEdsQ1FVRnJRalJETEVkQlFVOHNTMEZIYWtNc1VVRkhUVFZMTEVsQlFWSTBTeXhIUVVGeFFrRXNSMEZCVDNKRkxFVkJRVlZ1U2l4RlFVRlRkMDRzUjBGRE5VTXhUaXhGUVVGUFowSXNUVUZCVHl4RFFVRkZaQ3hIUVVGWFlTeEhRVWMxUWtFc1JVRkxVaXhUUVVGVGFXcENMRWRCUVdWc2FrSXNSVUZCVDIxcVFpeEhRVWs1UWl4SlFVaEJMRWxCUVVrM2EwSXNSVUZCU1N4RlFVTlFhVm9zUlVGQlNYWllMRVZCUVUxU0xFOUJSVWhzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUTJRd1owSXNSVUZCVTBvc1NVRkRValZsTEVWQlFVOHhRaXhIUVVOUUxHTkJRME0yYTBJc1IwRkJaVzVGTEVWQlFWTnVaaXhKUVVGTGMycENMRVZCUVdFM2EwSXNSMEZCU3l4bFFURkRia1J4YTBJc1IwRkJVVk1zVFVGQlVWUXNSMEZCVVZVc1RVRkJVVllzUjBGQlVWY3NVMEZCVjFnc1IwRkJVVmtzVVVGQlZWb3NSMEZCVVVNc1RVRkROMFZFTEVkQlFWRmhMRWRCUVV0aUxFZEJRVkZKTEVkQlIyWjRiRUlzUlVGQlVXMXNRaXhUUVVOaVF5eEhRVUZSWXl4VFFVRlhaQ3hIUVVGUlJDeFBRVUZUTEVOQlFVVXNSVUZCUnl3clFrRkJaME1zWTBFeVF6RkZMRWxCUVVsNllpeEhRVUZSTEZsQlJWb3NVMEZCVTNsakxFZEJRV1V4YWtJc1JVRkJUMW9zUlVGQlUzVnJRaXhGUVVGVFF5eEZRVUZYUXl4SFFVOHpSQ3hKUVU1QkxFbEJRVWwwYWtJc1JVRkJUWE5OTEVWQlFVdEVMRVZCUVV0cldDeEZRVUZOUXl4RlFVRlZPV2xDTEVWQlEyNURLMmxDTEVWQlFWYzFhMElzUlVGQlVXdHFRaXg1UWtGRGJrSXlRaXhGUVVGUkxFZEJRMUl6YkVJc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1haWUxFVkJRVTFTTEU5QlJVaHNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJSMlFzU1VGR1FXbERMRVZCUVU5UUxFVkJRVTh4UWl4TFFVVlJMRWxCUVZScFF5eEZRVWRhTEVkQlFYZENMRmRCUVc1Q2RFSXNSVUZCVVhOQ0xFZEJTVnB5UWl4RlFVRlBaMElzVFVGQlR5dHFRaXhGUVVGUE1XcENMRVZCUVVzM1F5eFRRVUZYTEVOQlFVVTJReXhIUVVGVFFTeFJRVWN4UXl4SFFVRk5NRWNzUjBGQlRUQkRMRXRCUVUxd1NpeEhRVWxzUWl4RFFWVk9MRWxCVkVGelRTeEZRVUZOUVN4SFFVRlBiVmdzUlVGQlUyeHNRaXhaUVVGaFRTeEZRVUZSV0N4alFVRmxMRkZCUnpGRWJVOHNSMEZCVVhkV0xFZEJRVk12V1N4TFFVRk5PVWtzU1VGQlZTeERRVUZGTEVkQlFVa3NTMEZCVVN4SFFVRkpiMFFzWTBGRGJrUnRaMElzUlVGQlQyNUNMRWRCUVZNdlZpeEpRVUZUSzFZc1IwRkJVVXNzVTBGRGFrTnVWeXhGUVVGSlJTeFZRVUZaSzFjc1JVRkJUU3hIUVVGTk5XdENMRVZCUVU5bmJFSXNZMEZCWlROcVFpeEhRVUZUZFdwQ0xFVkJRVTBzUjBGSGFrVTNhVUlzUlVGQlNUWnBRaXhGUVVGTkxFZEJRMFkzYVVJc1MwRkRVRFJNTEVWQlFVMUJMRVZCUVVrd1JDeFZRVXRZY2xJc1JVRkJUMmRDTEUxQlFVOHJha0lzUlVGQlQzQllMRVZCUVVsdVJTeGhRVWQ2UW0xRkxFVkJRVTF0V0N4RlFVRlRkbFlzV1VGSFdFUXNXVUZCWXl4UlFYcENiRUo1Vml4RlFVRk5iRzVDTEV0QlFVMXhReXhGUVVGUksydENMR1ZCUVdkQ05XcENMRWxCYTBOMlF5eEpRVWhCZVdwQ0xFVkJRVk40Vml4WlFVRmpMRWRCUlhaQ2JGRXNSVUZCU1N4RlFVTk5hVU1zUlVGQlR6QnFRaXhGUVVGUE0yeENMRTFCUjNaQ0xFZEJRVXR6YkVJc1IwRkJZVEZyUWl4RlFVRlBOa1FzVVVGQlUzaERMRVZCUVUxeGFrSXNTVUZCWlN4RlFVTnFSRU1zUjBGRFNrRXNSVUZCVVRsdFFpeExRVUZOZDBRc1VVRm5RbWhDTEVkQldFRjNha0lzUlVGQlYzWkVMRWRCUVZscVowSXNSMEZIZGtKelRTeEZRVUZOYjFjc1IwRkJVV1VzUlVGQlUyeHNRaXhaUVVGaGVVSXNSMEZCVVN4VlFVZDJRM2RxUWl4SFFVTktZaXhIUVVGbGNsY3NSMEZKV0RoWExFVkJSVW9zU1VGRVFURnBRaXhGUVVGSkxFVkJRMDFXTEVWQlFVOXpUU3hGUVVGTE5Vd3NUVUZEYUVKdmFFSXNSMEZCV1RGWkxFdEJRVTF3U2l4RlFVRkxla01zVFVGQlVTeExRVU51UXpac1FpeEZRVUZSTlcxQ0xFdEJRVTEzUkN4SFFVMXNRaXhQUVVGUGVXcENMRVZCU1ZJc1NVRkJTVWtzUjBGQmFVSXNjMEpCUlhKQ0xGTkJRVk5ETEV0QlExSXNUMEZCVHl4RlFVZFNMRk5CUVZORExFdEJRMUlzVDBGQlR5eEZRVk5TTEZOQlFWTkRMRWRCUVZsb2EwSXNSVUZCVFhwRExFZEJRekZDTEU5QlFWTjVReXhKUVUxV0xGZEJRME1zU1VGRFF5eFBRVUZQZUVVc1JVRkJVM2xXTEdOQlEyWXNUVUZCVVdkVUxFdEJWRkZETEV0QlFYRkRMRlZCUVZRemJVSXNSMEZaTDBNc1UwRkJVelJ0UWl4SFFVRkpibXRDTEVWQlFVMXZhMElzUlVGQlQzaHNRaXhGUVVGVk1HWXNSVUZCVFhobUxFVkJRVWwxYkVJc1IwRkROME1zU1VGQlNVTXNSVUZCVVM5dFFpeEZRVWRhTEVkQlFYTkNMR2xDUVVGV05tMUNMRVZCUVhGQ0xFTkJVMmhETEVsQlFVMDNiVUlzU1VGT2JVSXNhVUpCUVdKeFFpeEpRVWRZTUdZc1JVRkJUMEVzUjBGQlVURm1MRVZCUTJaQkxFOUJRVmMyUXl4SFFVVkZNbWxDTEVWQlEySkVMRWRCUVVsdWEwSXNSVUZCVFhwRExFVkJRVTF4UWl4RlFVRlZNR1lzUlVGQlRUaEdMRVZCUVU4M2JVSXNSMEZCVVRodFFpeEhRVVZvUkN4UFFVRlBjbXRDTEVWQmMwSlNMRWRCYmtKaExFMUJRVkp6WlN4SFFVRnpRaXhOUVVGT2VHWXNSMEZIY0VKQkxFVkJRVXRHTEVWQlEwd3daaXhGUVVGUE1XWXNUMEZCVnpaRExFZEJRMFFzVFVGQlRqTkRMRWxCUTJNc2FVSkJRV0pHTEVkQlIxaEZMRVZCUVV0M1ppeEZRVU5NUVN4UFFVRlBOMk1zU1VGSlVETkRMRVZCUVV0M1ppeEZRVU5NUVN4RlFVRlBNV1lzUlVGRFVFRXNUMEZCVnpaRExFdEJSMFFzU1VGQlVETkRMRVZCUTBwQkxFVkJRVXRwYkVJc1VVRkRReXhKUVVGTmFteENMRVZCUTFvc1QwRkJUMnRDTEVWQlpWSXNUMEZhWVN4SlFVRlNjV3RDTEVsQlEwcERMRVZCUVZONGJFSXNSMEZEVkVFc1JVRkJTeXhUUVVGVmVXeENMRWRCU1dRc1QwRkVRVFZzUWl4SlFVRlRObXhDTEVsQlFVdEVMRWRCUTFCRUxFVkJRVTh2YmtJc1RVRkJUMWdzUzBGQlRYRkZMR0ZCU1hwQ09FTXNTMEZCVDNWb1FpeEZRVUZQZG1oQ0xFOUJRVlYxYUVJc1JVRkJUM1pvUWl4TFFVRlBjRVVzUlVGQlQyOUZMRk5CUlRGREwwTXNSVUZCUzBnc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXQ0WWl4TFFVRk5kMjlDTEVWQlFVOTBiRUlzUlVGQlNYZG1MRVZCUVUweFppeExRU3RoTTBNc1UwRkJVelpzUWl4SFFVRm5RblJoTEVWQlFVazFUU3hGUVVGTmVXMUNMRWRCUnpWQ1FTeEhRVkZPZGtZc1JVRkJVMG9zU1VGQlMyeFZMRVZCUVVrMVRTeEhRVUZOTEVkQlEzaENiMElzUlVGQlR6UnNRaXhOUVVGTmJrNHNTVUZCUzJwT0xFVkJRVWsxVFN4RlFVRk5MRU5CUXpOQ05rNHNWMEZCVnl4RlFVTllaQ3hSUVVGVExGTkJRVlZwWVN4SFFVTnNRaXhKUVVGSlJ5eEZRVUZWZUZZc1JVRkRZbmxXTEVWQlFWRnNSeXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTB5UWl4SFFVVTNRaXhIUVVGNVFpeEZRVUZzUW1kdVFpeEZRVUZOU3l4WFFVRnRRbWh3UWl4TFFVRk5Na0lzU1VGTGNrTXNSMEZCVFc5dVFpeEZRVUZOTVd4Q0xGRkJkVU5GVGl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SlFVRkxjMjVDTEdOQlEyeEVUaXhGUVVGTlR5eDFRa0Z5UWs0c1IwRmtRVWdzUlVGQlVYcHZRaXhGUVVGTlJ5eExRVUZOTkVRc1YwRkRjRUozWlN4RlFVRlRTaXhKUVVGTGVtbENMRXRCUVUweVFpeEZRVUZOYjI1Q0xFZEJTekZDUkN4RlFVRlhWaXhGUVVGWmNHOUNMRXRCUVUweVFpeEhRVU0zUWpOQ0xFdEJRVTB5UWl4TFFVVkViMjVDTEV0QlJFeDZWaXhGUVVGVGRWQXNSVUZCVTI1bUxFbEJRVXN4UkN4TFFVRk5Na0lzUzBGRFNtMXVRaXhGUVVONFFtcEhMRVZCUVZOS0xFbEJRVXQ2YVVJc1MwRkJUVEpDTEVkQlFVMHNSMEZGTVVJeVVpeEZRVUZUTEVkQlJVeDVWaXhKUVVGVmVsWXNSVUZYWkN4UFFWSkJjVllzUlVGQlRWRXNNa0pCUTA1U0xFVkJRVTFUTEdsQ1FVOURPVllzUjBGQlZVRXNSVUZCVDNCTkxGZEJaV1kyYUVJc1JVRkJUVEZzUWl4VFFVZHFRbmRtTEVWQlFWTktMRWxCUVV0NmFVSXNTMEZCVFRKQ0xFVkJRVTBzUTBGRGVrSjFSaXhOUVVGUGJrVXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVbHVRblJ0UWl4RlFVRlBiVU1zVDBGQlVUWnFRaXhGUVVGUExFZEJRVXRvYlVJc1JVRkJUM1Z0UWl4TlFVRk5hRzFDTEZkQlEzaERlV3hDTEVWQlFVMTZiMElzVFVGQlR5eEhRVU5pVGl4UlFVdEdNbTlDTEVWQlFVMVJMSEZEUVM5Rk1FSjBha0lzU1VGQk4wSm5aQ3hGUVVGVGJtWXNTVUZCU3paTExFVkJRVWsxVFN4SlFVTjBRbTlDTEVWQlFVODBiRUlzVFVGQlRXNU9MRWxCUVV0cVRpeEZRVUZKTlUwc1JVRkJUWFZ0UWl4SlFUVmhMMEp1YkVJc1JVRkJUelJzUWl4TlFVRlJMRU5CUldSdWNFSXNUMEZCVVN4SFFVVlNaMk1zU1VGQlN5eFRRVUZWY0Znc1JVRkJUVzlyUWl4RlFVRlBPVm9zUlVGQlUyZFZMRVZCUVUweFppeEhRVVV4UXl4SlFVRkpkVzFDTEVWQlFXRkRMRVZCUVdFNVdTeEZRVU0zUWl0WkxFVkJRVkZETEVWQlFVZERMRVZCUTFoMlN5eEZRVUZUZDBzc1JVRkJWV3B2UWl4RlFVRk5hMjlDTEVWQlFWbERMRVZCUTNKRFF5eEZRVUZYYkVnc1JVRkJVMjVtTEVsQlFVdFZMRWRCUnpGQ0xFZEJRVTByWkN4RlFVRlpMMlFzUjBGMVEyeENMRWxCYkVOTGMwc3NSVUZCVVVFc1ZVRkZXa0VzUjBGRVFUWmhMRVZCUVdNM1lTeEhRVU5SUVN4UlFVTjBRakZNTEVWQlFWZDFiVUlzUlVGQldYWnRRaXhWUVV0dVFrRXNSMEZEU2tRc1JVRkJUM2RPTEV0QlFVdE5MR2RDUVVGcFFtNUNMRWRCUVdsQ01VMHNSMEZKZWtNd1RDeEZRVUZSZGtnc1QwRkRZblZJTEVWQlFWRjJTQ3hMUVVGUGNFVXNSVUZCVDI5RkxGTkJTV1p6YVVJc1JVRkJVMDBzUlVGQlUwNHNWVUZEZWtKQkxFVkJRVk5OTEVWQlFWTk9MRTlCUVZOeWNFSXNUMEZCVHpSd1FpeFBRVUZSTEZGQlJXNURVaXhGUVVGalR5eEZRVUZUUlN4VlFVTTVRbFFzUlVGQlkwOHNSVUZCVTBVc1QwRkJVeXhUUVVGVmVtUXNSMEZKZWtNc1dVRkJlVUlzU1VGQldIcEtMRWRCUVRCQ1FTeEZRVUZQTkd4Q0xFMUJRVTExUWl4WlFVRmpNV1FzUlVGQlJUZExMRXRCUTNCRmIwSXNSVUZCVHpSc1FpeE5RVUZOZDBJc1UwRkJVM2h3UWl4TlFVRlBlVVFzUlVGQlRVTXNaMEpCUVdOM1FpeEpRVTF3UkRacVFpeEhRVVJCYkVJc1IwRkJWVUVzUjBGQlV5eEpRVUZMTTJJc1RVRkJUM0ZRTEVsQlFXMUNMRU5CUVVVc1MwRkRNVU0zV1N4UFFVTkdjVzFDTEV0QlJWQXZia0lzUlVGQlQyMXZRaXhIUVVSUWNGb3NSVUZCVFhWWUxFZEJRV1V2WVN4TFFVRk5jMklzUlVGQlQydENMRXRCUVZNc1NVRkRjRUlzUjBGRGRrSkhMRWRCUVdWdVdpeEZRVUZMTEVsQlFVOHNTVUZCUzNCS0xFMUJRVThzUzBGQlRYUkRMRTlCUjNaRGNrUXNTVUZMVG5sa0xFVkJRVlZ5WXl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SFFVY3hRMEVzUjBGQlUzRkNMRVZCUVZkdll5eEZRVUZSTmtvc1lVRkJaVGRLTEVWQlFWRm5UQ3hYUVVGamVtOUNMRVZCUjJwRmVXUXNSVUZCVlhKakxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjZaQ3hKUVVGVkxFZEJSekZEWjI5Q0xFVkJRVmsxYlVJc1JVRkJUMjFETEU5QlFWRXNRMEZETVVKMlJDeExRVUZOUVN4RlFVTk9iVzlDTEZOQlFWVkJMRVZCUTFad1NDeExRVUZOUVN4RlFVTk9hRlVzVVVGQlUwRXNSVUZEVkhaSUxFdEJRVTExU0N4RlFVRlJka2dzUzBGRFpHNUZMRk5CUVZWQkxFVkJRMVkyU0N4aFFVRmpOMGdzUjBGQldVUXNSVUZCVHpaUExFdEJRVXN2UlN4TlFVRk5hRU1zWVVGQllUSkRMRXRCUVUxNFN5eEhRVU12UkhkTkxGVkJRVmR4WVN4RlFVRlhhbU1zUzBGQlRTeE5RVU14UWpKaUxFbEJSMHRMTEVWQlFWZElMRVZCUVZFNWJrSXNUMEZETVVKcGIwSXNSVUZCVjBnc1JVRkJVVGx1UWl4SFFVRlRMRWxCUTI1Q01HOUNMR05CUVdkQ0xFVkJSMjVDYWt3c1JVRkJVV3RNTEZGQlEybEVMRWxCUVRsRWJFd3NSVUZCVVd0TUxFMUJRVTAzY0VJc1MwRkJUVEpFTEVWQlFVMXpaU3hGUVVGTmJVZ3NSVUZCV1V3c1NVRkZka053YkVJc1JVRkJTekpNTEd0Q1FVTlVNMHdzUlVGQlN6Sk1MR2xDUVVGclFuQlBMRVZCUVUwMmJrSXNTVUZMTTBKd1N5eEZRVUZSTlVRc1RVRkRXalJFTEVWQlFWRTFSQ3hKUVVGSkwyRXNTMEZCVFRKRUxFVkJRVTExYkVJc1IwRkZiRUpCTEVWQlFWVnFZaXhSUVVGUmRrZ3NUMEZEZGtKM2FVSXNSVUZCVldwaUxGRkJRVkYyU0N4TFFVRlBkVWdzUlVGQlVYWklMRTlCU3psQ2JrVXNSVUZEU2pSdFFpeEZRVUZUTTJ0Q0xFOUJRVkV5YTBJc1JVRkJVMU1zWjBKQlFXbENMRVZCUVVkV0xFZEJSVGxEUXl4RlFVRlRhSEJDTEV0QlFVMHJiMElzUjBGSmFFSTFiVUlzUlVGQlR6UnNRaXhOUVVGTmJuQkNMRTlCUVZGdFF5eEpRVUZUTEVsQlRXaERhMk1zVDBGQlVTeFRRVUZWZWxvc1JVRkJUVzlyUWl4RlFVRlBPVm9zUlVGQlV6Rk1MRVZCUVZWMWJrSXNSMEZGYWtRc1NVRkJTWHBzUWl4RlFVRkhNR3hDTEVWQlFWYzVXaXhGUVVOcVFpdFpMRVZCUVZGRExFVkJRVWRETEVWQlExaDJTeXhGUVVGVGQwc3NSVUZCVldwdlFpeEZRVUZOYTI5Q0xFVkJRVmxETEVWQlEzSkRReXhGUVVGWGJFZ3NSVUZCVTBRc1VVRkJVM2hsTEVsQlFWVjVaU3hGUVVGVGJtWXNTVUZCUzFVc1IwRkZkRVFzUjBGQlRUSnNRaXhKUVVGbFRpeEZRVUZUVFN4RlFVRlRUaXhSUVVGMlF5eERRVTlCTEVsQlJFRkRMRWRCUkVGc1FpeEhRVUZWUVN4SFFVRlRMRWxCUVVzellpeE5RVUZQY1ZBc1NVRkJiVUlzUTBGQlJTeExRVU14UXpkWkxFOUJRMFp4YlVJc1MwRk5VQ3hIUVVwQkwyNUNMRVZCUVU5dGIwSXNSMEZFVUhCYUxFVkJRVTExV0N4SFFVRmxMMkVzUzBGQlRYTmlMRVZCUVU5clFpeExRVUZUTEVsQlEzQkNMRWRCUTNaQ1J5eEhRVUZsYmxvc1JVRkJTeXhKUVVGUExFbEJRVXR3U2l4TlFVRlBMRXRCUVUxMFF5eFBRVWQyUTNKRUxFVkJRVTRzUTBGbFFTeEpRVkpCZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONlpDeEpRVUZWTEVkQlJURkRhVzlDTEVWQlFWZElMRVZCUkZnNWJrSXNSMEZCVTNGQ0xFVkJRVmR2WXl4RlFVRlJOa29zWVVGQlpUZEtMRVZCUVZGblRDeFhRVUZqZW05Q0xFbEJRM0JETEVkQlF6ZENLMDhzUlVGQlRVRXNSVUZCU3l4SlFVTldMRWxCUVVrMVJ5eFBRVUZSTEZWQlFWa3JaaXhGUVVGWGFtTXNTMEZCVFN4cFFrRkJiMElzVjBGSE9VUTBZeXhGUVVGWk1XeENMRVZCUVVrNGEwSXNSVUZCVTNadFFpeFBRVU5xUW5sQ0xFdEJRMUEyYTBJc1JVRkJXVU1zUlVGQlZUbHJRaXhKUVVWbWVXeENMRWRCUVdWVUxFbEJRV0ZJTEVWQlFWVkhMRlZCUTNwRGNHSXNSMEZCVjBFc1JVRkJVWFpJTEU5QlFWTjNhVUlzUlVGQlZYaHBRaXhOUVVOMFEzVktMRWxCUVU5QkxFVkJRVWxzUkN4TFFVRk5iV01zUlVGQlZXNWhMRmxCUXpOQ2VFMHNSMEZCV1VFc1NVRkJZVEp0UWl4RlFVRlZNMjFDTEZkQlEzaENMRTlCUVdKQkxFbEJRWEZDTW0xQ0xFVkJRVlV6YlVJc1dVRkRhRU0wYlVJc1JVRkJVek5yUWl4UFFVRlJTQ3hGUVVGSExFZEJSV1kyYTBJc1JVRkJWVE50UWl4VlFVTmtORzFDTEVWQlFWTlRMR2RDUVVWTWFrd3NSVUZCVVhaQ0xGRkJRMXAxUWl4RlFVRlJka0lzVDBGQlQzQmtMRXRCUVUweVJDeEZRVUZOZFd4Q0xFbEJUM3BDWVN4SlFVRmpXaXhGUVVGVGRtMUNMRk5CUTNKQ0sySXNSVUZCVVhGTUxGZEJRMnRFTEVsQlFTOUVja3dzUlVGQlVYRk1MRk5CUVZOb2NVSXNTMEZCVFRKRUxFVkJRVTE1YkVJc1JVRkJXVVVzUlVGQlUwVXNVMEZGYkVSc2JrSXNSVUZCVHpKdVFpeFpRVUZoZEcxQ0xFVkJRVTE2UXl4RlFVRk5iMjlDTEVWQlFWTkZMR1ZCUjI1RFVpeEZRVUZST1c1Q0xGTkJNVU5tTEVsQlFVMUJMRXRCUVZFNGJrSXNSVUZEWWpGdFFpeEZRVUZQTkd4Q0xFMUJRVTA1U3l4UFFVRlJlbG9zUlVGQlRYcERMRVZCUVU4MmJVSXNSVUZCVDJ0Q0xFZEJRVXRvWWl4RlFVRlRNVXdzUjBGQlZTeEhRVGhETDBSRUxFVkJRVTk1UkN4alFVRmxhV3BDTEVsQlF6RkNOVWNzUlVGQlUyaEdMRTlCUVZGNldpeEZRVUZOTEcxQ1FVbDZRaXRzUWl4VFFVRlZMRk5CUVZWUkxFZEJSVzVDTEVsQlFVbDRiMElzUlVGQlJ6SkRMRVZCUVVkb1FpeEZRVUZMTkZFc1JVRkJVMmxXTEVWQlFWZHBRaXhGUVVOc1EzSlhMRVZCUVU4c1NVRkJTVFZQTEUxQlFVOTBRaXhWUVVGVmFFSXNVVUZITlVKemJFSXNSVUZCVVRWc1FpeEZRVUZQTkd4Q0xFMUJRVTFyUXl4SlFVRkxSaXhIUVVVeFFtWXNSMEZEUXk5SExFVkJRVk51Wml4SlFVRkxNVVFzUzBGQlRTeFhRVUZqU1N4UFFVRlBOSEJDTEU5QlFWRXNUMEZETDBOeVFpeEZRVUZOYUc1Q0xFOUJRVlVzUjBGRGJrSjVaQ3hGUVVGVmNtTXNSVUZCVHpSc1FpeE5RVUZOZGtvc1VVRkJVM1ZLTEVWQlFVMW9ia0lzVDBGQlZTeEhRVXRxUkN4SlFVWkJORk1zUlVGQlRTeEhRVUZOYjFVc1JVRkZUbmh0UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWxyUXl4VlFVRlZhRUlzVDBGQlVXeENMRWxCUTJ4RGIxTXNSVUZCVFhCVExFZEJRVTFyUXl4VlFVRlhiRU1zUjBGTmVFSXNSMEZJUVhkdFFpeEZRVUZOYlVNc1pVRkJhVUk1Y1VJc1RVRkhiRUp2Wml4RlFVRlJNa3dzWTBGQk1rUXNTVUZCTlVNelRDeEZRVUZSTWt3c1dVRkJXWFJ4UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRWRCUVRWRUxFTkJVMEVzU1VGS1FXbERMRVZCUVdVM2JrSXNSVUZCVHpSc1FpeE5RVUZOYVVJc1UwRkJVMjV3UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRVZCUVU5cFFpeEhRVWQ0UkhwdVFpeEZRVUZKTEVkQlEwMTFVeXhGUVVGVmExY3NSVUZCWTNwdlFpeFJRVUZaZDIxQ0xFVkJRVTF4UXl4M1FrRkpia1FzU1VGSVFYSkRMRVZCUVUxelF5eGpRVUZuUW5aWExFVkJRVkYwVVN4TFFVVTVRbFVzUlVGQlNTeEhRVU5OTm10Q0xFVkJRVmxxVml4RlFVRlJhMVlzVTBGQlZUbHJRaXhSUVVOMFF6WnFRaXhGUVVGTmRVTXNhVU5CU1VSMlF5eEZRVUZOZDBNc1lVRkJjME1zU1VGQmVFSjRRaXhGUVVGVmJtRXNXVUZEYmtOdFdpeEZRVUZOZDBNc1YwRkJWek5rTEV0QlFVMXRZeXhGUVVGVmJtRXNZVUZGYWtOdFdpeEZRVUZOWjBJc1ZVRkJXVUVzUlVGRGJFSm9RaXhGUVVGTmFrY3NTMEZCVDJsSUxFVkJRVlZxU0N4VlFVdFdOMk1zUzBGSVlpOUNMRWxCUVZWbUxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjFTeXhGUVVGVlJ5eFhRVUZqTEVsQlFVdEhMRkZCUXpWRVRpeEZRVUZWYW1Jc1UwRkJWUzlPTEUxQlFVOHJWQ3hGUVVGUmRGRXNTMEZCVFcxUkxFMUJSMVFzUzBGQmVrSnZWU3hGUVVGTmNsWXNUMEZCVTNoUUxFdEJRM0pDTm10Q0xFVkJRVTFUTEdsQ1FVTk9WQ3hGUVVGTlR5eHZRa0ZaV0N4UFFVcExPVW9zUlVGQlVXZE5MR05CUTFwb1RTeEZRVUZSWjAwc1lVRkJZVE54UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRWRCUnpOQ1FTeEZRVUZOY2xZc1UwRkhaSE5YTEZOQlFWVXNVMEZCVldwQ0xFVkJRVTlwUWl4SFFVTXhRaXhKUVVGSmVtNUNMRVZCUVVkM2JrSXNSVUZCVnpOWUxFVkJRVXR4V2l4RlFVRnBRa01zUlVGRGRrTldMRVZCUVdVc1IwRkRabEFzUlVGQlowSlVMRVZCUVZOVExHTkJRM3BDZUdJc1JVRkJUVGhhTEVWQlFVMXVha0lzVDBGSFlpeEhRVUZMTm10Q0xFZEJTVXA0WWl4RlFVRkpkRTRzV1VGUFl5eFZRVUZtYjI1Q0xFVkJRVTFvYmtJc1RVRkJiMEpuYmtJc1JVRkJUVFZUTEZGQlFWVXNSMEZGTjBNc1MwRkJVV3hJTEVsQlFWRTNUeXhMUVVGTk5rOHNSVUZCVFVFc1JVRkJTV3BOTEZsQlFXTTFReXhMUVVrM1F5eEhRVUZ6UWl4SlFVRnFRalpQTEVWQlFVbDBUaXhYUVVGdlF5eFZRVUZtYjI1Q0xFVkJRVTFvYmtJc1QwRkJjVU1zU1VGQmFrSnJUaXhGUVVGSk1VTXNWVUZCYzBJc1EwRkhha1lzU1VGR1FXdG1MRVZCUVd0Q0xFZEJRMnhDUXl4RlFVRnRRaXhIUVVOaWJuQkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNXdHZRaXhGUVVGbGJHOUNMRk5CVFVVd1JDeEpRVUUxUW5sc1FpeEZRVVpNZEZvc1IwRklRVEpZTEVWQlFWbERMRVZCUVZWNmJrSXNTVUZIVG1Fc1UwRkJWeXhQUVVjeFFuTnZRaXhGUVVGclFuUmFMRWRCUVZFeVdDeEZRVUZWT1dVc1lVRkRia001U0N4RlFVRlJhVkFzUlVGQlMyaFRMRTFCUVU5ellpeE5RVUZQZWswc1NVRkJVeXhGUVVOd1F6bE1MRVZCUVU5M1RpeExRVUZOZVVJc1JVRkJTMmhUTEV0QlFVMHNTMEZCVFN4RFFVRkZOazhzU1VGQlVYaE1MRkZCUlhKRGFXOUNMRVZCUVd0Q2RGb3NTVUZEZEVKeFdpeEZRVUZuUW5weFFpeExRVUZOSzI5Q0xFZEJSMjVDTUVJc1JVRkJaMEpvYjBJc1VVRkRjRUoxYmtJc1JVRkJZV2h4UWl4TFFVRk5MRU5CUVVWM1JDeExRVUZOZVVzc1JVRkJTeXRoTEZOQlFWVjVRaXhKUVZrNVF5eFBRVXhCZUdNc1JVRkJUVGRQTEV0QlEwUnhjVUlzUlVGQlowSlVMRVZCUVZOMmJVSXNVVUZETjBKMWJrSXNSVUZCWVdoeFFpeExRVUZOTEVOQlFVVjNSQ3hMUVVGTmVVc3NSVUZCU3l0aExGTkJRVlZCTEVWQlFWTjBjRUlzVFVGQlR5dHdRaXhMUVVkd1JFOHNSMEZIVWxjc1VVRkJVeXhUUVVGVmJtMUNMRVZCUVUxdmJVSXNSMEZEZUVKd2NrSXNUMEZCVDIxcFFpeGxRVUZuUW5obUxFVkJRVTkxYlVJc1RVRkJUV2h0UWl4VlFVRlhPRUlzUlVGQlRTeERRVU53UkhGdFFpeFpRVUZaTEVWQlExcHFTaXhqUVVGakxFVkJSV1E1WlN4SlFVRkxja01zUlVGQldXMXhRaXhIUVVOb1FpeFhRVU5ETEVkQlFVdDRja0lzUzBGQlN6QnlRaXhqUVVOVUxFOUJRVTlHTEVWQlFVMTRja0lzUzBGQlN6QnlRaXhuUWtGSGNFSXNWMEZEUXl4SFFVRkxNWEpDTEV0QlFVc3dja0lzWTBGRFZDeFBRVUZQTVhKQ0xFdEJRVXN3Y2tJc1kwRkJaWFJ0UWl4SlFVazVRbkZrTEVsQlFVc3NVMEZCVlhaaUxFZEJRMlE1Unl4UFFVRlBiV2xDTEdWQlFXZENkbWxDTEV0QlFVMXZSaXhGUVVGTkxFTkJRMnhEY1cxQ0xGbEJRVmtzUlVGRFdtcEtMR05CUVdNc1JVRkRaRzFLTEZWQlFWVXNSVUZEVm5wclFpeE5RVUZQUVN4UlFVMVlNbXBDTEVsQlFVc3NVMEZCVldFc1IwRkRaQ3hQUVVGUFFTeEZRVUZsTTI5Q0xFVkJRVThyUXl4VFFVTTFRalJzUWl4RlFVTkJMRWxCUVVremIwSXNSVUZCVDNWdFFpeE5RVUZQYjBNc1NVRkhjRUowVFN4UlFVRlRMRU5CUTFKM1RTeExRVUZOTEVOQlIweERMRlZCUVZVc1IwRkZXRU1zVFVGQlR5eERRVWRPZUVJc1RVRkJUeXhUUVVGVk5VZ3NSMEZKYUVJc1NVRkJTVzVWTEVWQlFVdDJUeXhOUVVGUk1HbENMRVZCVjJwQ0xFOUJVa3R6UkN4SFFVRmxlRmtzUzBGQlRXVXNSVUZCUnpWTkxFOUJRelZDTkUwc1JVRkJSM1ZrTEU5QlFWTXhaaXhGUVVGVmJVTXNSVUZCU1N4VlFVY3hRbk5oTEVkQlFXZENkR0VzUlVGQlNTeFJRVUZUTWxvc1MwRkpka0lzUjBGRlVtMUNMRkZCUVZNc1UwRkJWVE5ITEVkQlNXeENMRWxCUVVsdVZTeEZRVUZMZGs4c1RVRkJVVEJwUWl4RlFWVnFRaXhQUVZCTGMwUXNSMEZCWlhoWkxFdEJRVTFsTEVWQlFVYzFUU3hQUVVNMVFqUk5MRVZCUVVkMVpDeFBRVUZUTVdZc1JVRkJWVzFETEVWQlFVa3NWVUZGTVVKellTeEhRVUZuUW5SaExFVkJRVWtzVlVGSlpDeEhRVXRTYzFrc1UwRkJWU3hUUVVGVk9FSXNSMEZEYmtJc1NVRkJTVzVxUWl4RlFVRlRiV3BDTEVWQlFVMXVha0lzVDBGRGJrSXNUMEZCVDNkblFpeEhRVUZsZUZrc1MwRkJUV2hKTEVWQlFVODNSQ3hQUVVOc1F6WkVMRVZCUVU5emJVSXNUMEZCVXpGbUxFVkJRVlUxUnl4RlFVRlJMRlZCUTJ4RGNXUXNSVUZCVTI1bUxFbEJRVXM0UWl4RlFVRlJMRlZCUTNSQ05FY3NSVUZCVlRWSExFVkJRVkVzVDBGSmNrSjFiVUlzWVVGQll5eERRVU5pV0N4aFFVRmpMRk5CUVZWNlF5eFJRVWxFT1dsQ0xFbEJRV3BDT0dsQ0xFVkJRVTF5Vml4UlFVRjNRbkZXTEVWQlFVMHJReXhuUWtGRGVFTXZReXhGUVVGTkswTXNZMEZCWTAwc1dVRkJZM0pFTEVWQlFVMXlWaXhaUVc5SE4wTjJVU3hGUVVGUE1tNUNMRmxCUVdNc1UwRkJWWFJ0UWl4RlFVRk5la01zUlVGQlRYTnZRaXhIUVVkeVF6ZHNRaXhGUVVGTE5HTXNjVUpCUTFRMVl5eEZRVUZMTkdNc2IwSkJRWEZDY21Zc1JVRkJUWE52UWl4SlFVbHNRMnh1UWl4RlFVRlBkVzFDTEUxQlFWRXNVMEZCVlRGdVFpeEZRVUZMY1hGQ0xFZEJSemRDTEV0QlFWRnFjMElzWjBKQlFXZENLME1zUlVGQlQzVnRRaXhQUVVNNVFpeFBRVUZQTEVsQlFVbDJiVUlzUlVGQlQzVnRRaXhOUVVGUE1XNUNMRVZCUVV0eGNVSXNSMEZKTVVKeWNVSXNSMEZCVDBFc1JVRkJTVVFzVFVGRFpqTkNMRXRCUVVzd2NrSXNZMEZCWjBJNWNFSXNSVUZEY2tJMVFpeExRVUZMTWtJc1MwRkJUME1zUlVGQlNVUXNTMEZKYUVJelFpeExRVUZMYTNOQ0xHMUNRVUZ4UW5SeFFpeEZRVUZKZFhGQ0xIVkNRVU5JZEcxQ0xFbEJRWHBDYWtVc1JVRkJTWFZ4UWl4dFFrRkhaMElzU1VGQmNFSjJjVUlzUlVGQlNXOXhRaXhaUVVOTU9VUXNSMEZEUVVNc1IwRkxSRzV2UWl4TFFVRkxkMFlzVDBGQlZ6VkVMRVZCUVVrMFJDeFJRVUZyUXl4SlFVRjRRalZFTEVWQlFVazBSQ3hQUVVGUGFrVXNVMEZEZUVOTExFVkJRVWswUkN4UFFVRlBOVU1zVjBGRFdHaENMRVZCUVVrMFJDeFBRVVZNZUVZc1MwRkJTMmx5UWl4alFVRm5Rbkp3UWl4RlFVRkpjWEJDTEdOQlEzcENhbkpDTEV0QlFVdHZjMElzWTBGQlowSjRjVUlzUlVGQlNYZHhRaXhsUVVsNlFuQnpRaXhMUVVGTE1rSXNTMEZCVDBNc1JVRkpVbkZ4UWl4SFFVTktiSEJDTEVWQlFVOXRReXhQUVVGUmJFWXNTMEZCVFdselFpeEhRVWwwUW1welFpeExRVUZMY1hOQ0xGVkJRVmw2Y1VJc1IwRkJUMEVzUlVGQlNYbHhRaXhYUVVGaE5XcENMRXRCUVVzMmFrSXNUVUZIT1VOMGMwSXNTMEZCVFN0RExFVkJRVThyUXl4VlFVRlpMRWRCU3pGQ0wwTXNSVUZCVDNWdFFpeE5RVUZOYUcxQ0xGVkJRVmtzUTBGRGVFSkZMRmxCUVdGVUxFVkJRVTkxYlVJc1RVRkRjRUkwUXl4dFFrRkJiMEl2UkN4SFFVTndRalpETEhGQ1FVRnpRamRETEVkQlEzUkNLME1zT0VKQlFTdENMME1zUjBGREwwSnZSU3hoUVVGaExFVkJSV0p1UkN4bFFVRm5RaXhYUVVObUxFbEJRVWsxWXl4RlFVRkplRTBzUzBGQlN6QnlRaXhqUVVWaU1YSkNMRXRCUVV0cmMwSXNiVUpCUVhGQ2FFVXNSMEZGY2tJeFlpeEpRVUZOZUUwc1MwRkJTM1Z6UWl4aFFVTm1MMllzUlVGQlJUUmpMR3RDUVVkS1JpeG5Ra0ZCYVVJc1YwRkRhRUlzU1VGQlNURmpMRVZCUVVsNFRTeExRVUZMTUhKQ0xHTkJSV0l4Y2tJc1MwRkJTMmR5UWl4eFFrRkJkVUk1UXl4SFFVVjJRakZpTEVsQlFVMTRUU3hMUVVGTGRYTkNMR0ZCUTJZdlppeEZRVUZGTUdNc2JVSkJSMHBETEhsQ1FVRXdRaXhYUVVONlFpeEpRVUZKTTJNc1JVRkJTWGhOTEV0QlFVc3dja0lzWTBGRllqRnlRaXhMUVVGTGEzSkNMRGhDUVVGblEyaEVMRWRCUldoRE1XSXNTVUZCVFhoTkxFdEJRVXQxYzBJc1lVRkRaaTltTEVWQlFVVXlZeXd5UWtGSFNHNXdRaXhMUVVGTGEzQkNMRzlDUVV0UWJtMUNMRVZCUVU5clFpeExRVUZOTEVOQlExcDFiMElzVVVGQlVTeEZRVU5TUXl4VFFVRlRMRVZCUTFSRExGbEJRVmtzUlVGRFdrTXNaMEpCUVdkQ0xFVkJRMmhDUXl4VFFVRlRMRVZCUTFSRExGRkJRVkVzUlVGRFVrTXNXVUZCV1N4RlFVTmFReXhUUVVGVExFVkJRMVJETEU5QlFVOHNSVUZEVUVNc1QwRkJUeXhGUVVOUVF5eFZRVUZWTEVWQlExWkRMRTFCUVUwc1JVRkRUa01zVFVGQlVTeEZRVU5TY0hKQ0xFMUJRVTBzUlVGRFRuRnlRaXhWUVVGVkxFVkJRMVp1Wml4TFFVRkxMRVZCUTB4dlppeFRRVUZUTEVWQlExUjJXQ3hSUVVGUkxFVkJRMUozV0N4VFFVRlRMRVZCUTFSRExGTkJRVk1zUlVGRFZFTXNVMEZCVXl4RlFVTlVReXhUUVVGVExFVkJRMVJETEZOQlFWTXNSVUZEVkVNc1YwRkJWeXhGUVVOWVF5eGhRVUZoTEVWQlEySkRMRk5CUVZNc1JVRkRWRU1zVTBGQlV5eEZRVU5VUXl4bFFVRmxMRVZCUTJaRExGZEJRVmNzUlVGRFdFTXNVMEZCVXl4RlFVTlVReXhQUVVGUExFZEJRMHh3Y2tJc1JVRkJUelJzUWl4TlFVRk5ORU1zVTBGRmFFSjRiMElzUlVGQlQydENMRXRCUVUwc1EwRkJSVzFTTEUxQlFVOHNWVUZCVjJkYUxFdEJRVTBzV1VGQll5eFRRVUZWZW5OQ0xFVkJRVTF6YmtJc1IwRkRjRVZzYlVJc1JVRkJUelJzUWl4TlFVRk5ka29zVVVGQlUzcGtMRWRCUVZNc1EwRkhPVUl5YjBJc1RVRkJUeXhYUVZGT0xFOUJTRUY2UWl4SFFVRm5RamR2UWl4TFFVRk5Na0lzUlVGQlRYbHRRaXhMUVVkeVFpeEhRVVZTYVVJc1VVRkJVeXhYUVUxU0xFOUJTRUZTTEVkQlFXZENOMjlDTEV0QlFVMHlRaXhKUVVkbUxFZEJTMUpyYkVJc1UwRkJWU3hYUVVOVUxFOUJRVThzUjBGSFVtOURMR0ZCUVdOQkxFdEJXV2hDYkcxQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFwdmNVSXNWMEZCV1N4WlFVTmFReXhYUVVGWkxGZEJRMXBETEdGQlFXTXNZMEZEWkVNc1lVRkJZeXhqUVVOYUxGTkJRVlZETEVWQlFVMDFSQ3hIUVVOc1FqbHVRaXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUY1ZBc1IwRkJVeXhEUVVNNVFuaEdMR0ZCUVdNMFFpeEZRVU5rVkN4VFFVRlZVeXhGUVVWV1dpeFBRVUZSTEZOQlFWVjBRaXhIUVVOcVFpeEpRVUZKTjJ0Q0xFVkJSVWcwY1VJc1JVRkJWUzlHTEVWQlFVMTVSQ3hqUVVOb1FucERMRVZCUVZsb1FpeEZRVUZOWjBJc1ZVRlRia0lzVDBGTVRTdEZMRWxCUVdGQkxFbEJUbFF4ZFVJc1RVRk5aME1yUXl4RlFVRlBlVVlzVTBGT2RrTjRTU3hMUVUxNVJEQjFRaXhOUVVOc1JTOUdMRVZCUVUxb2JrSXNTMEZCVDJkdlFpeEZRVUZWUnl4VFFVTjJRbWh0UWl4RlFVRk5ObXhDTEVWQlFWVnFZaXhSUVVGUkwwNHNUVUZCVDFnc1MwRkJUWEZGTEZkQlEzSkRjMnRDTEVWQlFVMW9ia0lzUzBGQlQydHdRaXhIUVVWUUwyMUNMRTFCUzFabUxFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJSV3BDY1dwQ0xFZEJRVWtzVTBGQlZVTXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVkQlEzQkRMRTlCUVU5eGJFSXNSMEZCU1hadlFpeExRVUZOZDI5Q0xFVkJRVTk0YkVJc1JVRkJWVEJtTEVWQlFVMTRaaXhKUVVWNlEzVnNRaXhKUVVGTExGTkJRVlZFTEVWQlFVOTRiRUlzUlVGQlZUQm1MRVZCUVUxNFppeEhRVU55UXl4UFFVRlBjV3hDTEVkQlFVbDJiMElzUzBGQlRYZHZRaXhGUVVGUGVHeENMRVZCUVZVd1ppeEZRVUZOZUdZc1JVRkJTU3hKUVVVM1F6QnNRaXhKUVVGTExGTkJRVlZLTEVWQlFVOTRiRUlzUlVGQlZVVXNSMEZETDBJc1NVRkJTWGx0UWl4RlFVRlhhRzlDTEVWQlEyWXNSMEZCU3padFFpeEhRVUZUUVN4RlFVRk5XU3huUWtGQmEwSmFMRVZCUVUxdFFpeFZRVmN6UXl4UFFWSkJRU3hGUVVGWmJrSXNSVUZCVFcxQ0xGVkJRMnhDTlcxQ0xFVkJRVkY1YkVJc1JVRkJUWE5ETEdkQ1FVRnBRbXhETEVsQlF6bENaU3hGUVVGVmJtRXNWVUZEVkcxaExFVkJRVlZITEZOQlFWY3NTVUZCVFVnc1JVRkJWVzVoTEZWQlEzSkRiV0VzUlVGQlZVY3NVMEZEV0Vnc1JVRkJWVE50UWl4VFFVTldNbTFDTEVWQlFWVnFZaXhUUVVWS01VOHNTMEZGVWl4SFFVRnpRaXhwUWtGQlZuZHZRaXhGUVVGeFFpeERRVWRvUXl4SlFVRk5OMjFDTEV0QlFWRTJiVUlzUlVGRFluaHZRaXhMUVVGTE5HOUNMRWxCUVV0cWJrSXNSVUZCVFhGQ0xFVkJRVlYzYkVJc1JVRkJUemR0UWl4SlFVVnNReXhQUVVGUE0wSXNTMEZYVWl4UFFWUnJRaXhKUVVGaVowUXNSMEZCTUVNc2JVSkJRV0pCTEVsQlIycERSU3hGUVVGTFJpeEZRVU5NUVN4UFFVRlhOa01zU1VGRlFTeEpRVUZRTTBNc1NVRkRTa0VzUlVGQlMybHNRaXhKUVVWRGJtOUNMRXRCUVV0cFJTeExRVUZOTEZkQlEycENiRUlzUlVGQlR6UnNRaXhOUVVGTk9Vc3NUMEZCVVRka0xFdEJRVTEzYjBJc1JVRkJUM1JzUWl4RlFVRkpSaXhSUVUxNlF5eEpRVXRETW5KQ0xFZEJRV1VzZDBKQlIyWkRMRWRCUVZjc2IwTkJRMWhETEVkQlFXVXNNa05CUjJoQ0xGTkJRVk5ETEVkQlFXOUNNWEZDTEVWQlFVMDBXQ3hIUVVOc1F5eFBRVUZMTlZBc1JVRkJWV2hKTEVWQlFVMHNWVUZEY0VKblNTeEZRVUVyUWl4TFFVRnlRalJRTEVWQlFWRjZZU3hUUVVGclFubGhMRVZCUVZWQkxFVkJRVkV4U2l4WFFVRlpMRTlCUlRORWRsQXNSVUZCVVhGQ0xFZEJRVTh5Vnl4VFFVRlZMRk5CUVZjc1NVRkhja016Vnl4RlFVbFNMRk5CUVZNeWNVSXNSMEZCWlROeFFpeEhRVVYyUWl4UFFVUkJRU3hGUVVGTGVrTXNUVUZCZVVNc1QwRkJhRU41UXl4RlFVRkxOVUlzWVVGQll5eFRRVUZ6UWl4SlFVRk5ORUlzUlVGQlMzcERMRXRCUXpORWVVTXNSVUZGVWl4VFFVRlROSEZDTEVkQlFXVTFjVUlzUjBGUGRrSXNUVUZPTWtNc1YwRkJjRU5CTEVWQlFVdDZReXhOUVVGUkxFbEJRVXR5UWl4TlFVRlBMRVZCUVVjc1IwRkRiRU00UkN4RlFVRkxla01zUzBGQlQzbERMRVZCUVV0NlF5eExRVUZMY2tJc1RVRkJUeXhIUVVVM1FqaEVMRVZCUVVzeVNpeG5Ra0ZCYVVJc1VVRkhhRUl6U2l4RlFVZFNMRk5CUVZNMmNVSXNSMEZCWjBKeWRFSXNSVUZCUzNOMFFpeEhRVU0zUWl4SlFVRkpMM05DTEVWQlFVZHBXaXhGUVVGSGVsb3NSVUZCWjBKM2RFSXNSVUZCVlVNc1JVRkJWVE5HTEVWQlJUbERMRWRCUVhWQ0xFbEJRV3hDZVVZc1JVRkJTek4wUWl4VFFVRldMRU5CUzBFc1IwRkJTM05vUWl4RlFVRlRSQ3hSUVVGVGFHaENMRXRCUlhSQ05tNUNMRVZCUkZjMVJ5eEZRVUZUYm1Zc1NVRkJTemxDTEVkQlExQTJia0lzVVVGTGFrSXNTVUZCVFRsdVFpeExRVVpPYTJoQ0xFVkJRVk5vUml4UFFVRlJjVklzUlVGQlRTeHBRa0ZGVkhwR0xFVkJRMklzU1VGQlRYUnVRaXhGUVVGSkxFVkJRVWRwV2l4RlFVRkpjVThzUlVGQlVUbHVRaXhIUVVGUE1FSXNUMEZCVVd4Q0xFVkJRVWxwV2l4RlFVRkhhbG9zU1VGRE9VTlpMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXN3VkN4RlFVRk5kblJDTEVWQlFVMDRia0lzUlVGQlVUbHVRaXhIUVVGUlVTeEpRVTgzUXpKblFpeEZRVUZUUml4UlFVRlRhR2hDTEV0QlEzUkNkWFJDTEVWQlFWZHlUU3hGUVVGVGVrSXNUMEZCVVhwbUxFZEJRelZDZDNSQ0xFVkJRVmR5YzBJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1dseFFpeEhRVVU1UW5KTkxFVkJRVk5NTEVsQlFVdDVUU3hGUVVGTlJTeExRV3RDZEVJc1UwRkJVME1zUjBGQlZVTXNSVUZCV1M5aExFVkJRVTF5VVN4RlFVRlZkMnBDTEVkQlJ6bERibFFzUlVGQlQyaFZMRVZCUVUxblZTeEhRVVZpTEVsQlFVbHpWQ3hGUVVGVmRtcENMRVZCUVU5cmFrSXNSVUZCVXl0SUxFVkJRVmwwZEVJc1JVRkJUVU1zUlVGREwwTkRMRVZCUVVrc1JVRkRTbWxhTEVWQlFVbHJWU3hGUVVGWGFuTkNMRTlCUTJadGMwSXNSVUZCVjNCVkxFVkJRVWtzUlVGRFpteFZMRVZCUVZGeFRpeEZRVUZOTEVkQlEyUnJZaXhGUVVGclFuQjFRaXhGUVVGWk5rWXNSMEZITDBJc1IwRkJTM1Z2UWl4SFFVTkVjbFVzUlVGQlNTeEhRVUZ6UWl4cFFrRkJWbXhWTEVsQlEyaENPVVlzUlVGQlVXZHNRaXhaUVVGamQwa3NSMEZCVTNCb1FpeExRVUZOZEVjc1IwRkRlRU1zVDBGQlQyOXZRaXhGUVVGWGNuSkNMRXRCUVUwc1UwRkJWWEZZTEVkQlEycERMRWxCUVVsaUxFVkJRVTgyVlN4RlFVRlhMM0ZDTEVkQlFVa3JWeXhIUVVOeVFtMVZMRWxCUTBwc1lpeEZRVUZOTEVkQlFVMXlUaXhGUVVGTmVrY3NTMEZCVFZRc1MwRkJUWE5pTEVWQlFVOWlMRVZCUVV0cFZpeFRRVVV6UTB3c1IwRkJWVFZWTEVWQlFVMXNSeXhGUVVGTmNsRXNSVUZCVlhkcVFpeExRVWxzUXl4SFFVRkxkRTBzU1VGRlNqbFhMRWRCUkVGMWFrSXNSVUZCVjA0c1IwRkJaV2hVTEVWQlFVMHJZU3hGUVVGWkxFZEJRVWx5YVVJc1pVRkJaU3hGUVVGUGNXbENMRVZCUVZrMVNDeEpRVU5xUlhCV0xGZEJSVzFDTEVsQlFTOUNkVllzUlVGQlUzUmlMRmRCUVZkc1NpeFRRVU40UW5kclFpeEZRVUZYZG1wQ0xFZEJTVkJCTEVkQlFWTnZha0lzUjBGQlZTeERRVTkyUWl4SlFVeEJOa2dzUjBGRVFTOUlMRVZCUVZWNmEwSXNSVUZCVDI5Q0xFbEJRVXN5YVVJc1IwRkJVV1VzUlVGQlZTeFZRVUZaYTBnc1MwRkRMMEl4Y2tJc1QwRkxZbXhDTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZEWkVZc1JVRkJUelJzUWl4RlFVVkdNV3hDTEVsQlFVMXhkRUlzU1VGRFZuWjBRaXhGUVVGUFl5eEZRVUZQZDBNc1RVRkJUM1JFTEVkQlFVMHNSMEZCVFN4SFFVYzFRbk4wUWl4SFFVbEtlSE5DTEVWQlFVOW5RaXhOUVVGUGVXcENMRVZCUVZOV0xFZEJRVkUzYTBJc1JVRkJUU3haUVVsMlEybERMRVZCUVZONlJDeExRVUZOTm5WQ0xFVkJRVmx1ZEVJc1IwRkJTMFlzUlVGQlRVVXNSMEZIZGtNc1IwRkJTMjkwUWl4RlFVOUtMRWxCVGtGeWRFSXNSVUZCVFhOc1FpeEZRVUZUUVN4RlFVRlJibXRDTEU5QlFWTXNSMEZCU1RSS0xHTkJSM0JEYkVzc1JVRkJUMjlDTEVsQlFVdHhha0lzUlVGQlUzZElMRWxCUjJZM2MwSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmIzUkNMRVZCUVZsd2RFSXNTVUZETlVKR0xFVkJRVTkxYkVJc1JVRkJVM0pzUWl4SFFVTllLMnBDTEVkQlFWa3hXU3hMUVVGTmRrd3NSVUZCUzA0c1RVRkJVU3hOUVVOc1EydG9RaXhGUVVGVGVFSXNUMEZCVVhCbUxFVkJRVTBzWlVGRGVFSmpMRVZCUVU5NVJpeFRRVUZWZEVjc1JVRkJTMFFzUzBGRmFrSkJMRVZCUVV0TUxFdEJRVGhETEZsQlFYSkRTeXhGUVVGTFRpeE5RVUZSTEVsQlFVczJSaXhqUVVjdlFucEZMRVZCUVU4MGMwSXNWMEZCWVRGMFFpeEZRVUZMU0N4VlFVTTNRbWxDTEVWQlFVODBjMElzVTBGQlZURjBRaXhGUVVGTFRDeEpRVUZMTEVOQlF6RkNReXhOUVVGUFNTeEZRVUZMU2l4UFFVRlRTU3hGUVVGTFR5eGhRVUZqTEZWQlEzUkRUaXhIUVVkS1NDeEZRVUZUUlN4RlFVRkxiMUVzV1VGQldYQk5MRkZCUVZNMGIwSXNSMEZCWXl4SlFVRk5OWE5DTEVWQlFVMURMRWxCVVc1RkxFOUJRVTl2ZEVJc1JVRkhVaXhUUVVGVGVsSXNSMEZCVVhwYUxFVkJRVTF3UWl4RlFVRlZOSE5DTEVkQlMyaERMRWxCU2tFc1NVRkJTVE4wUWl4RlFVTklObXhDTEVWQlFWRTVhMElzUlVGQlYwUXNSVUZCVDNOT0xFOUJRVkZ5VGl4RlFVRlZiMElzUjBGQlUwRXNSVUZEY2tScVF5eEZRVUZKTEVWQlJUUkNMRTlCUVhaQ1JpeEZRVUZQTm14Q0xFVkJRVTh6YkVJc1NVRkJaVUVzU1VGRGFFTjVkRUlzUjBGQk9FSXNTVUZCYkVJemRFSXNSVUZCUzFZc1ZVRkRkRUozUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk4ydENMRWxCUjNSQ1FTeEZRVUZMVnl4aFFVTktaM1JDTEVkQlFWbDJUQ3hIUVVGWmNHbENMRWxCUXpWQ09HdENMRWRCUVdWRUxFZEJRVkUzYTBJc1JVRkJUU3hYUVVVNVFrRXNSVUZCUzFjc1YwRkJWME1zV1VGQllWb3NTVUZKTDBJc1QwRkJUMjFETEVWQlIxSnlRaXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtObWxDTEdOQlFXVXNVMEZCVlRKSUxFZEJRM2hDTEU5QlFVOUJMRWRCUjFKdWNVSXNUVUZCVHl4VFFVRlZia0lzUlVGQlRUQnlRaXhGUVVGbFF5eEhRVU55UXl4SlFVRkpOWFJDTEVWQlFVZHBXaXhGUVVGSE5GVXNSVUZCWVVNc1JVRndTVTV5ZFVJc1JVRkJTM04wUWl4RlFVTnVRamxwUWl4RlFXOUpSamRITEVWQlFWRnVRaXhGUVVGTGFXbENMRmRCUVZjc1IwRkRlRUkyU2l4RlFVRlROMHdzUjBGQldXcG5RaXhIUVVkMFFpeExRVUZOYUVRc1JVRkJVV3RzUWl4blFrRkJjME1zU1VGQmJFSnNhVUlzUlVGQlN6ZERMRlZCUVc5RExFdEJRV3hDTmtNc1JVRkJTemRETEZWQlF6TkVkMElzUlVGQlR5dFhMRk5CUVZVeFZpeEpRVTF1UWl4SlFVaEJObkpDTEVWQlFXVnVTaXhIUVVGUmRtaENMRWRCUjJwQ2NFUXNSVUZCU1N4RlFVRkhhVm9zUjBGR1lqUlZMRVZCUVdOc1NpeEhRVUZSTVdsQ0xFbEJSVTltTEU5QlFWRnNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJhRW8xUWxBc1JVRnBTa3h2ZFVJc1JVRkJZVGQwUWl4SFFXcEtTQ3R6UWl4RlFXbEtVV1VzUlVGQll6bDBRaXhIUVdoS2VrTnBTeXhQUVVGQlFTeEZRVWRqTEZkQlNHUkJMRVZCUVZjNGFVSXNSVUZCU3pscFFpeFRRVUZUTlVVc1owSkJSMEYzWlN4SFFVRmxlRmtzUzBGQlRUVk1MRVZCUVVsRUxFMUJRM0pFZFhSQ0xFVkJRVXQ0V2l4UlFVRlZPVlFzUlVGQlNUaFVMRkZCUjBzc1ZVRkJZblJLTEVkQlFYRkRMR0ZCUVdKQkxFbEJRMjVET0dsQ0xFVkJRVXQwVml4aFFVRmxhRmtzUlVGQlNXZFpMR05CTmtsNFFpeEhRVUZMYTFjc1JVRkRTaXhIUVVGTFF5eEZRVWxLTEVsQlNFRkRMRVZCUVdOQkxFZEJRV1ZzU2l4SFFVRlJNV2xDTEVkQlEzSkRObkpDTEVWQlFXVkJMRWRCUVdkQ2Jrb3NSMEZCVVhab1FpeEhRVVZxUTNCRUxFVkJRVWtzUlVGQlIybGFMRVZCUVVrMFZTeEZRVUZaTTNOQ0xFOUJRVkZzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUXpORE9ITkNMRWRCUVdkQ1pTeEZRVUZoTjNSQ0xFZEJRVXM0ZEVJc1JVRkJZemwwUWl4VFFVZHFSRGh6UWl4SFFVRm5RamR4UWl4RlFVRk5iVUlzUjBGWGVFSXNUMEZPUVRCeFFpeEZRVUZsYmtvc1IwRkJVWFpvUWl4RlFVRlBMRmRCUTFwc1F5eFBRVUZUTEVkQlF6RkNNR3BDTEVkQlFXVnJTaXhIUVVGbFF5eEhRVUZWY0Vvc1IwRkJVVEZwUWl4RlFVRk5MRmRCU1doRWJVSXNSMEZIVW5OeFFpeFZRVUZYTEZOQlFWVm9jMElzUjBGTGNFSXNTVUZLUVN4SlFVRkpObVVzUlVGQlRYUmxMRVZCUVUxNlF5eEZRVU5tZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUTNaQ2FtUXNSVUZCU1N4UFFVVTJRakJFTEV0QlFYaENla0lzUlVGQlQxQXNSVUZCVHpGQ0xFbEJRWEZDUVN4SlFVTTFReXhIUVVGTFoyZENMRVZCUVZrdlpDeEhRVUZUTEVOQlEzcENMRWRCUVU5elpTeEZRVUZQZEdVc1JVRkJUWGxsTEVWQlFWTXZZeXhUUVVGakxFTkJRekZETEVkQlFVczBZeXhGUVVGTEswY3NUMEZEVkN4SlFVRk5PVzVDTEV0QlFWRXJaMElzUlVGQlN5dEhMRTlCUTJKeVN5eEZRVUZUZW1Rc1IwRkRZbTlDTEVWQlFVODBiRUlzVFVGQlRUbExMRTlCUVZGNldpeEZRVUZOZWtNc1IwRkpNMEp2UWl4RlFVRlBNbTVDTEZsQlFXRjBiVUlzUlVGQlRYcERMRVZCUVUwclowSXNSVUZCUzNWSUxGRkJUM2hETjJ4Q0xFVkJRVTE1WlN4RlFVRlRMMk1zWTBGQldVUXNSVUZGZGtKNlFpeEZRVUZOTUdVc1JVRkJVMmhrTEZkQlNXNUNNVUlzUlVGQlRUQmxMRVZCUVZOb1pDeGpRVUZaUkN4UFFVOW9RemxETEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENhWEpDTEU5QlFWRXNVMEZCVlc1MFFpeEhRVU5xUWl4UFFVRlBObUVzUjBGQlVUZGtMRXRCUVUxblJDeEhRVUZWTEVsQlIyaERObUVzVDBGQlVTeFRRVUZWTjJFc1IwRkRha0lzVDBGQlR6WmhMRWRCUVZFM1pDeExRVUZOWjBRc1NVRkhkRUpVTEV0QlFVMHNVMEZCVlRKRkxFZEJRMllzVDBGQlQyMWhMRVZCUVZGeWFFSXNTMEZCVFN4VFFVRlZhMGdzUjBGRE9VSXNXVUZCYVVKeVFpeEpRVUZXY1VJc1JVRkRUbTVGTEVWQlFVOVNMRXRCUVUxMlF5eE5RVU5pUVN4TFFVRkxObFlzVVVGQlVUVlNMRXRCUVUwc1YwRkRTeXhKUVVGc1FtcEZMRXRCUVV0MVFpeFZRVUZ2UXl4TFFVRnNRblpDTEV0QlFVdDFRaXhWUVVGeFF5eEpRVUZzUW5aQ0xFdEJRVXQxUWl4WFFVTjRSSFpDTEV0QlFVdHhVeXhaUVVGamJrd3NUVUZIY0VJc1MwRkJUVUVzUlVGQlR6ZERMRlZCUVZWb1FpeFRRVWN6UWl0elFpeFBRVUZSTEZkQlExQXNUMEZCVDJZc1IwRkJWWEoyUWl4TFFVRk5jVVVzVlVGQlZ5eFRRVUZWUkN4SFFVTndRaXhKUVVGc1FuQkZMRXRCUVV0MVFpeFZRVUZ2UXl4TFFVRnNRblpDTEV0QlFVdDFRaXhWUVVGeFF5eEpRVUZzUW5aQ0xFdEJRVXQxUWl4VlFVTXpRM1YwUWl4SFFVRnZRamwxUWl4TFFVRk5iMFVzUjBGRGFFTjZRaXhaUVVGaGVVSXNUVUZMZGtKcGMwSXNVVUZCVXl4WFFVTlNMRTlCUVU5b1FpeEhRVUZWY25aQ0xFdEJRVTF4UlN4VlFVRlhMRk5CUVZWRUxFZEJRek5ETEVkQlFYVkNMRWxCUVd4Q2NFVXNTMEZCUzNWQ0xGVkJRVzlETEV0QlFXeENka0lzUzBGQlMzVkNMRlZCUVhGRExFbEJRV3hDZGtJc1MwRkJTM1ZDTEZOQlFXbENMRU5CUTNwRkxFbEJRVWxwUlN4RlFVRlRjM0JDTEVkQlFXOUNPWFZDTEV0QlFVMXZSU3hIUVVOMlEyOUNMRVZCUVU4NGNVSXNZVUZCWTJ4elFpeEZRVUZOYjBJc1JVRkJUemhOTEdkQ1FVdHlRMmxsTEU5QlFWRXNWMEZEVUN4UFFVRlBiRUlzUjBGQlZYSjJRaXhMUVVGTmNVVXNWVUZCVnl4VFFVRlZSQ3hIUVVOMFEzQkZMRXRCUVVzMFF5eFpRVU5VTlVNc1MwRkJTelJETEZkQlFWY3dkRUlzWVVGQlkyeHpRaXhGUVVGTmNFVXNVMEZMZGtOM2QwSXNUVUZCVHl4WFFVTk9MRTlCUVU5dVFpeEhRVUZWY25aQ0xFdEJRVTF4UlN4VlFVRlhMRk5CUVZWRUxFZEJRM1JEY0VVc1MwRkJTelJETEZsQlExUTFReXhMUVVGTE5FTXNWMEZCVnpCMFFpeGhRVUZqYkhOQ0xFVkJRVTF3UlN4TFFVRkxaMUFzWjBKQlN6VkROa2NzVFVGQlR5eFhRVWxPTEVsQlNFRXNTVUZCU1hwU0xFVkJRMGhxUXl4RlFVRkpMRVZCUlRKQ0xFOUJRWFJDYVVNc1JVRkJUM0JGTEV0QlFVMXRReXhKUVVGbFFTeEpRVU5rTEVsQlFXeENhVU1zUlVGQlN6ZERMRmRCUjFSM1FpeEZRVUZQT0hOQ0xGVkJRVmN2U1N4SFFVRlJNV2xDTEVkQlFVMHNTVUZIYUVOQkxFVkJRVXRwVHl4WlFVRmpMRWxCU1hKQ0xFOUJRVTl5VXl4TlFVZFNkVVlzVFVGQlR5eFRRVUZWZFhGQ0xFVkJRV1ZETEVkQlNTOUNMRTlCU0VGRUxFVkJRV2xETEUxQlFXcENRU3hIUVVGblEwRXNSVUZEYUVSRExFVkJRWGxETEUxQlFYSkNRU3hGUVVFMFFrUXNSVUZCWjBKRExFVkJSWHBFTDNaQ0xFdEJRVXR0UlN4SlFVRkxMRmRCUTJoQ0xFOUJRVTl3UWl4RlFVRlBkME1zVFVGQlQzWkdMRXRCUVUwNGRrSXNSVUZCWlVNc1RVRkpOVU5NTEV0QlFVMHNVMEZCVlhodlFpeEhRVU5tTEU5QlFVOXRZU3hGUVVGUmNtaENMRXRCUVUwc1UwRkJWV3RJTEVkQlF6bENMRWxCUVVrNVF5eEZRVUZQY0VVc1MwRkJUU3hKUVVGUExFZEJRM1pDYlVNc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1hCaUxFdEJRVXR4UkN4UFFVVldMRkZCUVdWM1F5eEpRVUZXY1VJc1IwRkJlVU1zU1VGQmJFSTVReXhGUVVGTE4wTXNVMEZEYUVNc1QwRkJUelpETEVWQlFVdDNUU3hWUVVsaUxFZEJRWE5DTEdsQ1FVRldNVW9zU1VGQmRVSjVia0lzUjBGQllXNW9RaXhMUVVGTmRFY3NTMEZEY0VSelppeEpRVUZYVUN4SFFVRlRMMWtzUzBGQlRXaEhMRWxCUVZjc1EwRkJSU3hIUVVGSkxFdEJRVkVzUjBGQlNVMHNaVUZCYTBJc1EwRkZNVVZPTEVWQlFWRnVSU3hGUVVGUFoyeENMR05CUVdVM1owSXNSMEZGT1VJc1NVRkRReXhMUVVGUkwwVXNSVUZCU1dsYUxFVkJRVWRxV2l4SlFVbFRMRXRCU0haQ2FVTXNSVUZCVDNCRkxFdEJRVTF0UXl4SlFVRlBMRWxCUjFaYUxGZEJRMVIzUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk1XbENMRWRCUVUwc1NVRkRhRU5CTEVWQlFVdDNUU3hWUVVGWk1Vb3NSMEZKYmtJNVF5eEZRVUZQTEVWQlIwNHNUVUZCVVc5SkxFdEJSMDV3U1N4SFFVTktjRVVzUzBGQlN6WldMRkZCUVZGMVlTeFBRVUZSYkhCQ0xFbEJSWEJDTEV0QlFVMUJMRVZCUVU4M1F5eFZRVUZWYUVJc1UwRkhNMEp2ZEVJc1dVRkJZU3hYUVVOYUxFbEJRVWt2U1N4RlFVRlZMRWRCUjJRc1QwRkJUekpJTEVkQlFWVnlka0lzUzBGQlRYRkZMRlZCUVZjc1UwRkJWVVFzUjBGRE0wTXNTVUZCU1RoUUxFVkJRVk5zVlN4TFFVRkxORU1zVjBGRllrY3NSVUZCVHpaRUxGRkJRVk0xUnl4TFFVRk5NRzVDTEVkQlFWa3NTVUZEZEVNemEwSXNSVUZCVHpoelFpeFZRVUZYTDBrc1IwRkJVVGx0UWl4UFFVTnlRbXRWTEVkQlEwcEJMRVZCUVU5M1l5eGhRVUZqZEhOQ0xFVkJRVTF3UlN4UlFVc3pRakJ1UWl4TlFVbE1NMnRDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMW93YzBJc1UwRkJWU3hUUVVOV1F5eFZRVUZYTEZWQlExaE9MR0ZCUVdNc1UwRkRaRThzV1VGQllTeFJRVU5pUXl4WFFVRlpMR1ZCUTFZc1UwRkJWVEZ5UWl4RlFVRk5NbkpDTEVkQlEyeENhSFZDTEVWQlFVOUhMRWRCUVVsclF5eEhRVUZUTEZOQlFWVndReXhIUVU4M1FpeEpRVTVCTEVsQlFVbGhMRVZCUTBoRExFVkJRVTBzUjBGRFRtdDBRaXhGUVVGVGFuVkNMRVZCUVZGRExFZEJRMnBDZDBJc1JVRkJUM2R6UWl4RlFVRlBNM1JDTEU5QlFWTXNSVUZEZGtKc1FpeEZRVUZKTEVWQlJVZEJMRWRCUVV0eFF5eEZRVUZOY2tNc1NVRkRiRUl3UWl4RlFVRlJNVUlzU1VGQlRYRkRMRVZCUVU5NFJTeExRVUZQUVN4TFFVRkxkVVlzVDBGQlR5eEhRVU40UTNoRExFVkJRVkZwZFVJc1JVRkJVVGQxUWl4SlFVRlBOSFZDTEVkQlFWbHNkRUlzUjBGSmJrTnFSQ3hGUVVGTFJDeE5RVUZQYlVRc1JVRkJTMFFzUlVGQlRVZ3NUMEZIZUVJc1QwRkJUekZFTEV0QlFVczBSQ3hWUVVGWFJTeE5RVWQ2UWl4SlFVRkpiWFJDTEVkQlFWa3NTVUZCU1c1dVFpeFBRVUZSTEV0QlFVOXRZU3hGUVVGUExHdENRVUZ0UWl4TFFVVjZSR2xPTEVkQlFWa3NVMEZCVlRselFpeEhRVXQ0UWl4SlFVRkpLMjlDTEVWQlFVOHZiMElzUlVGQlN6WkpMR05CUVdNMFF5eFpRVTA1UWl4UFFVcE5jMlFzUjBGQlUwRXNSVUZCUzJkRkxGTkJRMjVDYUVVc1JVRkJUM0IwUWl4SFFVZEViM1JDTEVWQlFVdHBSU3hwUWtGQmEwSm9kRUlzU1VGSE5VSnBkRUlzUjBGQlR5eFRRVUZWYW5SQ0xFVkJRVTFsTEVWQlFWTnFRaXhIUVVOdVF5eEpRVUZKU2l4RlFVRkxjMElzUlVGRFVtdHpRaXhGUVVGTkxFZEJSMUFzU1VGQlRXeHpRaXhMUVVGUlJDeEZRVU5pYlhOQ0xFVkJRVXRzYzBJc1IwRkJVMmhDTEVWQlFVdHhaMElzVFVGQlQzSm1MRWRCUXpGQ2FFSXNSVUZCUzNGblFpeE5RVUZQY21Zc1IwRkJVMFFzUlVGQlUwTXNSMEZOTDBJc1NVRkJUVUVzUzBGSVRuUkNMRVZCUVUxSkxFVkJRVk42UkN4TFFVRk5Na1FzUjBGSFVHVXNSVUZEWW1Zc1JVRkJTM0ZuUWl4TlFVRlBjbVlzUjBGQlUydHpRaXhGUVVGTGJITkNMRWRCUnpOQ0xFOUJRVTkwUWl4SFFVbEtlWFJDTEVkQlFWa3NTVUZCU1hwdVFpeFBRVUZSYzJFc1IwRkJWWGhYTEV0QlFVMHNTMEZCVHl4TFFXbEtia1FzVTBGQlV6UnFRaXhIUVVGUmNIUkNMRVZCUVUxblFpeEZRVUZOY1hOQ0xFZEJRelZDTEVsQlFVbERMRVZCUVU5RExFVkJRVlZETEVWQlFWVTVkRUlzUlVGTk9VSXlaMElzUlVGQlVYSm5RaXhGUVVGTGNXZENMRTFCY1VOa0xFOUJia05CWjA0c1JVRkJWMEVzUjBGQldWQXNSMEZCVnpselFpeE5RVkZ3UWl4TlFVWmlUaXhGUVVGTk1uUkNMRVZCUVZOSkxHbENRVUZyUW5welFpeEpRVUZWY1hOQ0xFVkJRVlZ5YzBJc1MwRkZha05wWml4SFFVRlphbWRDTEV0QlF5OUNUaXhGUVVGTlppeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUV2RDTEV0QlVYSkNhRVVzUlVGQlVUQjNRaXhyUWtGQmIwSmlMRWRCUVZWNmFrSXNTMEZCVFRGS0xFbEJRVk41ZEVJc1IwRkJWUzlxUWl4TFFVRk5jRWtzUzBGSE1VVnpjMElzUlVGQlVXcE9MRVZCUVUxcFRpeE5RVU5rUXl4RlFVRlhiRTRzUlVGQlRXdE9MRk5CUTJwQ1F5eEZRVUZYYms0c1JVRkJUVzFPTEZOQlIycENiazRzUlVGQlRXdE9MRk5CUVZkc1RpeEZRVUZOYlU0c1UwRkJWMjVPTEVWQlFVMXBUaXhOUVVGUk5YUkNMRVZCUTJoRVFTeEZRVUZOTW5SQ0xFVkJRVk5ETEUxQlIyWnFUaXhGUVVGTmFVNHNUVUZCVVVFc1JVRkRaR3BPTEVWQlFVMXJUaXhUUVVGWFFTeEZRVU5xUW14T0xFVkJRVTF0VGl4VFFVRlhRU3hUUVVsS0wzSkNMRWxCUVZJdlFpeEZRVWxPUVN4RlFVRk5MRWRCUTA1QkxFVkJTVVlzVTBGQlUybDFRaXhIUVVGalF5eEZRVUZoUXl4SFFVZHVReXhOUVVGUExFTkJRMDUyZFVJc1NVRkJTeXhYUVVOS0xFbEJRVXR6ZFVJc1NVRlRUQ3hQUVVGVGFIbENMRXRCUVVzd1JDeEpRVUZOZFhWQ0xFZEJRVk4wZUVJc1RVRkJUMWdzUzBGQlRYRkZMR3RDUVV4c1EzSkZMRXRCUVVzd1JDeFBRVE5OYUVJc1YwRkpReXhUUVVGVGQzVkNMRWxCUjFJc1IwRkJUVzVOTEVWQlFVNHNRMEZKUVc5TkxFVkJRVlV4VGl4TlFVRk5NazRzVVVGQlZTd3JSVUZGTVVKeVRTeEZRVUZKZEVJc1RVRkJUVEpPTEZGQlExUXNORWhCUjBReGFVSXNSMEZCWjBJdlRTeFpRVUZoZDNaQ0xFZEJRVmw0ZGtJc1dVRkJZVzlxUWl4SFFVVjBSQ3hKUVVGSmMwMHNSVUZCVjNSNVFpeEZRVUZQY1hoQ0xHbENRVUZyUW5KTUxFZEJRM2hEZFUwc1JVRkJiME1zVDBGQmFrSkVMRVZCUVZOMmFVSXNTVUZITlVKNWFVSXNSVUZCYzBVc1MwRkJPVU5ETEVWQlFXOUNTQ3hGUVVGVFNTeFpRVWx5UkRGTkxFVkJRVWwwUWl4TlFVRk5hVThzVFVGQlVTeE5RVU5zUWtNc1JVRkJOa1FzUzBGQmVrTklMRVZCUVc5Q1NDeEZRVUZUU3l4UFFVbHFSRVVzUlVGQlowVXNTMEZCZWtOS0xFVkJRVzlDU0N4RlFVRlRXQ3hQUVUxd1JETk1MRVZCUVVsMFFpeE5RVUZOYjA4c1UwRkJWeXhYUVVOeVFrTXNSVUZCYVVVc1MwRkJPVU5PTEVWQlFXOUNlazBzUlVGQlNXZE9MRmxCUVdNc1IwRkZla1J5YWtJc1IwRkJaMEkzVFN4WlFVRmhjM1pDTEVkQlNUZENjRTBzUlVGQlRTeE5RVWRRTEZOQlFWTjVUU3hGUVVGdlFsRXNSMEZETlVJc1QwRkJUMnAwUWl4TFFVRkxhM1JDTEUxQlFVOURMRmRCUVZsR0xFbEJSMmhETEVsQlFVbFdMRVZCUVd0Q1RTeEZRVUZ6UWtVc1JVRkJhMEpJTEVWQlF6ZEVVU3hGUVVGNVFsb3NSVUZEZWtKS0xFVkJRVmwyZVVJc1JVRkJVekJETEdOQlFXVXNUMEZEY0VONWFrSXNSVUZCVFc1dFFpeEZRVUZUTUVNc1kwRkJaU3hQUVVkNlFubHFRaXhGUVVGSmRFSXNVVUZOVm5OQ0xFVkJRVWwwUWl4TlFVRk5NazhzWlVGQmFVSXNZMEZETTBKeVRpeEZRVUZKVFN4WFFVRlhMRWRCUVU4MVFpeE5RVUZOTWs4c1pVRkJhVUlzUjBGRE4wTm9lVUlzUlVGQlVXbDVRaXhuUWtGQkswTXNaMEpCUVRkQ2RFNHNSVUZCU1hSQ0xFMUJRVTB5VHl4bFFVVndRM0ozUWl4RlFVRlBiVU1zVDBGQlVUbEVMRVZCUVZNc1EwRkRka0pyZVVJc2EwSkJRVzFDTEZkQlJXeENMRTlCUkVGd1FpeEpRVU5QVlN4SFFVVlNaQ3hsUVVGblFpeFhRVVZtTEU5QlJFRkpMRWxCUTA5VExFZEJSVkpaTEdOQlFXVXNWMEZGWkN4UFFVUkJja0lzU1VGRFQwa3NSMEZGVW10Q0xHMUNRVUZ2UWl4WFFVVnVRaXhQUVVSQmRFSXNTVUZEVDBzc1IwRkZVbXRDTEdOQlFXVXNWMEZGWkN4UFFVUkJka0lzU1VGRFQxa3NSMEZaVWxrc2NVSkJRWE5DTEZkQlEzSkNMRWxCUVVsRExFVkJRVTlvVGl4RlFVRkphVTRzUlVGQlUwTXNSVUZ0UTNoQ0xFOUJiRU5uUXl4TlFVRXpRbFlzU1VGRFNsRXNSVUZCVVM5NlFpeEZRVUZUTUVNc1kwRkJaU3hUUVVOb1EzRnJRaXhGUVVGTEwyMUNMRVZCUVZNd1F5eGpRVUZsTEUxQlF6ZENjM2hDTEVWQlFWVm9NRUlzUlVGQlV6QkRMR05CUVdVc1QwRkZiRU54ZUVJc1JVRkJUV3hRTEUxQlFVMHlUaXhSUVVGVkxESkVRVU4wUW5wTUxFVkJRVWRzUXl4TlFVRk5NazRzVVVGQlZTeHRRa0ZMYmtKNlRDeEZRVUZIYkVNc1RVRkJUWEZRTEU5QlFWTXNUVUZEYkVKR0xFVkJRVkZ1VUN4TlFVRk5jVkFzVDBGQlV5eE5RVkYyUWtZc1JVRkJVVzVRTEUxQlFVMURMRkZCUVZVc1VVRkZlRUpvVml4SFFVTkZMMDBzV1VGQllXZDRRaXhIUVVOaWFIaENMRmxCUVdGbmEwSXNSMEZEWW1oclFpeFpRVUZoYVhoQ0xFZEJSV1pETEVWQlFWVTVla0lzUlVGQlQzRjRRaXhwUWtGQmEwSjZTeXhIUVVOdVEzZE5MRVZCUVRSQ1dTeFRRVUZWUml4RlFVRlJReXhQUVVGUkxFbEJRM0pFUXl4VFFVRlZSaXhGUVVGUlJ5eGxRVUZuUWl4SlFVTnNRMFFzVTBGQlZVWXNSVUZCVVVrc2EwSkJRVzFDTEUxQlFWZDBUaXhGUVVGSGRVNHNZVUZGY0VSNGEwSXNSMEZCWjBJM1RTeFpRVUZoT0hkQ0xFbEJSWFpDVWl4TlFYWkpWaXhIUVhOT1FTeEpRVUZKWjBJc1IwRkJZeXhEUVVGRkxGTkJRVlVzVFVGQlR5eE5RVU53UTBNc1IwRkJZWGd3UWl4RlFVRlRNRU1zWTBGQlpTeFBRVUZSYldsQ0xFMUJRemRETkZBc1IwRkJZeXhIUVd0Q1ppeFRRVUZUUXl4SFFVRmxiSFpDTEVkQlEzWkNMRWxCUVVsdGRrSXNSVUZCVVhoNFFpeEZRVUZQZVhoQ0xGTkJRVlZ3ZGtJc1NVRkJWV2wyUWl4SFFVRmhhblpDTEVkQlJYQkVMRTlCUVV0dGRrSXNTVUZIUVc1MlFpeExRVUZSWjNaQ0xFZEJRMHhvZGtJc1JVRkZSR2wyUWl4SFFVRmhhblpDTEVkQmVFSnlRaXhUUVVGNVFrRXNSMEZOZUVJc1NVRklRU3hKUVVGSmNYWkNMRVZCUVZWeWRrSXNSVUZCVFN4SFFVRkpOR01zWTBGQlowSTFZeXhGUVVGTE9VVXNUVUZCVHl4SFFVTnVSRFpDTEVWQlFVbG5lVUlzUjBGQldUbDNRaXhQUVVWVWJFSXNTMEZGVUN4SlFVUkJhVVFzUlVGQlR5dDFRaXhIUVVGaGFIbENMRWRCUVUxemVVSXNTMEZEWWt3c1IwRkRXaXhQUVVGUGFIWkNMRVZCWlc5Q2MzWkNMRU5CUVdkQ2RIWkNMRWxCUVZWQkxFZEJTWGhFTEVsQlMwTjFka0lzUjBGQlpTdzBRa0ZEWmtNc1IwRkJZeXhOUVVOa1F5eEhRVUZWTEVOQlFVVm9ReXhUUVVGVkxGZEJRVmxwUXl4WFFVRlpMRk5CUVZWd1VTeFJRVUZUTEZOQlEycEZjVkVzUjBGQmNVSXNRMEZEY0VKRExHTkJRV1VzU1VGRFprTXNWMEZCV1N4UFFVZGtMRk5CUVZORExFZEJRVzFDZG5kQ0xFVkJRVTkxUXl4RlFVRlBhWFZDTEVkQlNYcERMRWxCUVVsd2RVSXNSVUZCVlc5a0xFZEJRVkZxV0N4TFFVRk5hRWNzUjBGRE5VSXNUMEZCVDBnc1JVRkhUbWhDTEV0QlFVdHhka0lzU1VGQlN5eEZRVUZIY25WQ0xFVkJRVk1zU1VGQlVXOTFRaXhIUVVGWkxFdEJRVlZ3ZFVJc1JVRkJVeXhKUVVGUExFMUJRM0JGUnl4RlFVZEdMRk5CUVZOdGRVSXNSMEZCYjBKcWVFSXNSVUZCVFd0NFFpeEZRVUZYUXl4RlFVRkxReXhGUVVGaFF5eEZRVUZSUXl4SFFVTjJSU3hKUVVGSmRucENMRVZCUVd0Q0xGVkJRV1J0ZWtJc1JVRkJkMElzUlVGQlNTeEZRVU51UTBzc1JVRkJVU3hGUVVOU1F5eEZRVUZSTEVWQlIxUXNSMEZCUzB3c1MwRkJWVU1zUlVGQll5eFRRVUZYTEZkQlEzWkRMRTlCUVU4c1JVRkhVaXhMUVVGUmNucENMRVZCUVVrc1JVRkJSMEVzUjBGQlN5eEZRVWRPTEZkQlFWSnZla0lzU1VGRFNrc3NSMEZCVXpkNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUVzE0UWl4RlFVRk5ibElzUjBGQlYycHBRaXhKUVVGTExFVkJRVTF6ZWtJc1NVRkpiRVJFTEVkQmJVSlJMRmxCUVZKRUxFbEJRMHBMTEVkQlFWTTNlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1ZVRkJXV2RuUWl4SFFVRlhhbWxDTEVsQlFVc3NSVUZCVFhONlFpeEpRVWxxUkN4WFFVRlNSaXhKUVVOS1N5eEhRVUZUTjNsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUVZkblowSXNSMEZCVjJwcFFpeEhRVUZOTEZOQlFWTXNSVUZCVFhONlFpeE5RWFJDZGtWSExFZEJRVk0zZVVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNWVUZCV1dkblFpeEhRVUZYYW1sQ0xFbEJRVXNzUlVGQlRYTjZRaXhIUVVkb1JDeFpRVUZTUml4RlFVTktTeXhIUVVGVE4zbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlFWZG5aMElzUjBGQlYycHBRaXhIUVVGTkxGTkJRVk1zUlVGQlRYTjZRaXhIUVVsMFJVVXNSMEZCVXpWNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hUUVVGWFoyZENMRWRCUVZkcWFVSXNSMEZCVFN4VFFVRlRMRVZCUVUxemVrSXNTVUZ2UTNwRkxFOUJhRUpOUkN4SFFVRmxSU3hIUVVGbExFbEJTVzVEUlN4SFFVRlROM1pDTEV0QlFVdHhka0lzU1VGQlN5eEZRVUZIY25aQ0xFdEJRVXM0ZGtJc1MwRkRNVUo2ZUVJc1JVRkJUU3hUUVVGWGEzaENMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFbEJRMnBGYnpGQ0xFVkJRMEZGTEVWQlEwRkVMRVZCUTBFc1RVRkpUU3hIUVVkRVF5eEZRVWRTTEZOQlFWTkZMRWRCUVd0Q01YaENMRVZCUVUxcmVFSXNSVUZCVjBzc1IwRkhNME1zU1VGQlNVWXNSVUZCVTNaRkxFZEJRVmM1YzBJc1IwRkxka0p2ZUVJc1NVRkViVUp3TUVJc1JVRkJVV3Q1UWl4eFFrRkJkVUp4UXl4SlFVVkZMR1ZCUVc1RU5YbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEdGQlFXRXNSVUZCVDNGNFFpeEhRVU4yUTAwc1JVRkJiVUpRTEVWQlJXNUNjSHBDTEVWQlFVMXZka0lzUjBGQlVYQjBRaXhGUVVGTmEzaENMRVZCUVZkSExFZEJReTlDVHl4RlFVRmhMRk5CUVZkV0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVkQlNYcEZMRWRCUVVzeWQwSXNSMEZCVlhwcVFpeExRVUZOY0V3c1IwRkJVU3hEUVVNMVFpeEpRVUZOZFhwQ0xFVkJRMHdzVDBGQlQzWjZRaXhGUVVWU1FTeEZRVUZOTEU5QmVVTlFMRkZCYkVOUmFFSXNSVUZCVVd0NVFpeHhRa0ZCZFVKclF5eEpRVTF5UTNBd1FpeEZRVUZSYzNsQ0xIZENRVUV3UW5SdVFpeEZRVUZWYUVrc1JVRkJUU3hQUVVrelF5eFRRVUZTYUVNc1NVRkpRemgzUWl4WFFVRlpPWGRDTEVsQlFUQkVMRmRCUVdwRVZ5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hYUVVGWExFVkJRVTl4ZUVJc1MwRkhNVVJ5ZUVJc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1UwRkZkRUp0ZVVJc1JVRkJhVVVzWlVGQmJrUjZlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1lVRkJZU3hGUVVGUGNYaENMRWxCUzNCRVRTeEZRVUZ0UWtNc1MwRkJZelY0UWl4TFFVVm9RMmhETEVWQlFVMW5ReXhGUVVGTk5IaENMRTFCUzJRMWVrSXNSVUZCVFRoM1FpeFhRVUZaT1hkQ0xFbEJRVk1zUjBGSk1VSnBla0lzUjBGRFEycDRRaXhGUVVOQmEzaENMRVZCUTBGTExFbEJRVmRJTEVWQlFXTXNVMEZCVnl4WFFVTndRMDhzUlVGRFFVNHNSVUZIUVhKNlFpeEhRVVZGTEV0QksxTk1MRk5CUVZNNGVrSXNSMEZCVHpsNFFpeEZRVUZOWlN4RlFVRlRkMlFzUlVGQlRUVmtMRVZCUVV0dmVFSXNSMEZEZWtNc1QwRkJUeXhKUVVGSlJDeEhRVUZOTlhsQ0xGVkJRVlZJTEV0QlFVMXBRaXhGUVVGTlpTeEZRVUZUZDJRc1JVRkJUVFZrTEVWQlFVdHZlRUlzUjBFM1V6VkVjSHBDTEVWQlFVOXRReXhQUVVGUkxFTkJTV1JyZUVJc1UwRkJWU3hEUVVOVVF5eFJRVUZUTEVOQlExSXplVUlzU1VGQlN5eFRRVUZWVlN4RlFVRk5jWFJDTEVkQlEzQkNMRWRCUVV0QkxFVkJRVmNzUTBGSFppeEpRVUZKTTNSQ0xFVkJRVTB3ZEVJc1IwRkJVWEIwUWl4RlFVRk5MRmRCUTNoQ0xFMUJRV1VzUzBGQlVrNHNSVUZCWVN4SlFVRk5RU3hOUVU4NVFuVm9RaXhWUVVGWExFTkJRMVpwVWl4NVFrRkJNa0lzUlVGRE0wSkRMR0ZCUVdVc1JVRkRaa01zWVVGQlpTeEZRVU5tUXl4VlFVRlpMRVZCUTFwRExGbEJRV01zUlVGRFpIcENMRmxCUVdNc1JVRkRaREJDTEZWQlFWa3NSVUZEV2tNc1dVRkJZeXhGUVVOa1F5eGxRVUZwUWl4RlFVTnFRa01zYVVKQlFXMUNMRVZCUTI1Q1F5eFRRVUZYTEVWQlExaERMRmxCUVdNc1JVRkRaRU1zWTBGQlowSXNSVUZEYUVKRExGbEJRV01zUlVGRFpHSXNVMEZCVnl4RlFVTllZeXhQUVVGVExFVkJRMVJETEZOQlFWY3NSVUZEV0VNc1VVRkJWU3hGUVVOV1F5eFJRVUZWTEVWQlExWkRMRTFCUVZFc1IwRkxWQzlETEZOQlFWVXNSMEZIVmk5UUxFMUJRVThzVTBGQlZYSm5RaXhGUVVGTlowSXNSVUZCVFRoQ0xFVkJRVTk1ZFVJc1IwRkhia01zUjBGQlRYWjRRaXhIUVVFd1FpeEpRVUZzUWtFc1JVRkJTemRETEZWQlFXOURMRWxCUVd4Q05rTXNSVUZCU3pkRExGVkJRVzFDTmtNc1JVRkJTM0ZuUWl4TlFVRnNSU3hEUVV0QkxFbEJRVWt6WjBJc1JVRkJTMjVETEVWQlFVMHJhRUlzUlVGRFpEaFVMRVZCUVZkMlZpeEZRVUZYTjJNc1IwRkRkRUp4ZVVJc1JVRkJaVGRETEVkQlFWbHdia0lzUzBGQlRYQkpMRWRCUTJwRGNXWXNSVUZCVVhKblFpeEZRVUZMY1dkQ0xFMUJZV1FzUjBGU1RXZFVMRWxCUTB4eWVVSXNSVUZCVDJ0MlFpeEhRVUZsYTBRc1NVRkpka0k1VkN4RlFVRlJNMmRDTEVWQlFVOXhla0lzVTBGQlZXaDRRaXhKUVVGVmNrTXNSVUZCVDNGNlFpeFRRVUZWYjBJc1VVRkhja016ZUVJc1NVRkJWbkZDTEVWQk1FTktMRTlCUVV0M1l5eEhRVUZUTEZGQlFWTkJMRkZCUTNkQ04yUXNTMEZCTlVNdlFpeEZRVUZOTkdZc1JVRkJUV2huUWl4SlFVRkxWU3hIUVVGTkxFVkJRVTkxZUVJc1NVRkZla0kzZUVJc1JVRkpSREpuUWl4RlFVRlBjbVlzUjBFM1EwRXNXVUZJWkhwRUxGTkJRV04xUml4TFFVZGpjRVFzUlVGQlRYRm5RaXhIUVVGUmFsZ3NTMEZCVFdoSExFdEJRV0Z3UkN4RlFVRkxMRXRCUTJwRmIwUXNSVUZCVVRCa0xFZEJRVmQ0WjBJc1JVRkJUV2RDTEVWQlFVMTBRaXhIUVVjdlFtNURMRVZCUVU4c1ZVRkpUU3hOUVVGVWRVWXNSMEZCYVVKQkxFZEJRVlZCTEVsQlQyeENMRmRCUVZSMlJpeEhRVUZ6UWpneFFpeEpRVU14UW5aM1FpeEhRVUZUY0VRc1IwRkJUMEVzUlVGQlN5eExRVUZUWml4RlFVRlBjMmxDTEZWQlFWZHRVeXhIUVVGaExFZEJRVXNzVDBGSk4wUndNa0lzUlVGQlVXbDVRaXhwUWtGQk5rSXNTMEZCVm01elFpeEhRVUZwUkN4SlFVRnFRemxDTEVWQlFVdDJSU3hSUVVGVExHZENRVU01UkRScVFpeEZRVUZQY21Zc1IwRkJVeXhYUVVsWWMyVXNSMEZCV1N4UlFVRlRRU3hSUVVOelFqZGtMRXRCUVRsRGNVSXNSVUZCVVhkakxFVkJRVTFxUWl4SlFVRkxjbVVzUlVGQlRUaERMRVZCUVU5NWRVSXNUVUZGTjBJNFFpeEZRVU5LYUZRc1JVRkJUV2xVTEZsQlFXRjBlVUlzUlVGQlRUaENMRWRCUlhwQ2RXUXNSVUZCVDNKbUxFZEJRVk00UWl4TlFXdENjRUo1WkN4SlFVRkxMRk5CUVZWMlowSXNSVUZCVFdkQ0xFVkJRVTExZDBJc1JVRkJUMFlzUjBGRGFrTXNTVUZCU1hKNlFpeEZRVUZMZFVJc1JVRkJTeXRtTEVWQlEySTRWQ3hGUVVGWGRsWXNSVUZCVnpkakxFZEJOa0oyUWl4UFFUVkNaMEozZGtJc1IwRkJXWEJ1UWl4TFFVRk5jRWtzUzBGTmFrTkJMRVZCUVU5cmRrSXNSMEZCWld0RUxFdEJTWFpDT1ZRc1JVRkJVVE5uUWl4RlFVRlBjWHBDTEZOQlFWVm9lRUlzU1VGQlZYSkRMRVZCUVU5eGVrSXNVMEZCVlc5Q0xFdEJSM1JETEZGQlFWTTVWQ3hKUVVOMFFuUm9RaXhGUVVGTmMyaENMRVZCUVUxb1owSXNTVUZCUzFVc1IwRkJUU3hGUVVGTmRYaENMRk5CU1dwQ09YWkNMRWxCUVZKNlJDeEpRVU5LUVN4RlFVRk5iM1pDTEVkQlFWRndkRUlzUlVGQlRXZENMRVZCUVUxeGQwSXNTVUZKWkN4WFFVRlNjbnBDTEVkQlFXOUNaMFFzUzBGQlVUSjJRaXhMUVVOb1F6TjVRaXhGUVVGTk1ubENMRWRCUVc5Q00zWkNMRWxCU1Zvc1MwRkJWblYzUWl4SFFVRm5Ra0VzUjBGRGNFSm9lVUlzUlVGQlRYVjJRaXhYUVVGWk9YZENMRWxCUTBRc1NVRkJWblY2UWl4SFFVRnJRbWRETEZOQlFWVm9NRUlzUjBGQlVVRXNSMEZCVHl4RlFVRkpka0lzUjBGSGFFUkJMRXRCU1ZSWExFVkJRVTlyUWl4TFFVRk5MRU5CUVVVc1UwRkJWU3hUUVVGWExGTkJRVlZ6UkN4RlFVRkpLM1JDTEVkQlEycEVkbmxDTEVWQlFVOXhla0lzVTBGQlZXUXNSMEZCWXl4RFFVTTVRalY0UWl4SlFVRkxMRk5CUVZWVkxFVkJRVTF4ZEVJc1JVRkJWV3RGTEVkQlF6bENMRWRCUVV0c1JTeEZRVWxLTEU5QlFVOXJSQ3hIUVVGaGJtNUNMRXRCUVUxNlN5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hoUVZGNFEwRXNSVUZCU3paNFFpeHBRa0ZCYVVJMWVVSXNVVUZCVjJVc1JVRkJTM2Q2UWl4M1FrRkJkMEpzUnl4TlFVbHFSVzlGTEVkQlFXdENNWGhDTEVWQlFVMXJlRUlzUlVGQlYwc3NSMEZJYmtOMFJTeEhRVUZOYW5SQ0xFVkJRVTE1ZDBJc1IwRkJVeXhYUVVOd1FpeFBRVUZQYVVJc1IwRkJhMEl4ZUVJc1JVRkJUV3Q0UWl4RlFVRlhTeXhOUVUwNVEyeFVMRWxCUVVzc1UwRkJWWEpsTEVWQlFVMDRReXhGUVVGUGVYVkNMRWRCUXpOQ0xFbEJRVWsxZFVJc1JVRkRTREIxUWl4RlFVRlRka1VzUjBGQlZ6bHpRaXhIUVVsd1FubDZRaXhIUVVGelFub3lRaXhGUVVGUmNYbENMR2xDUVVOVUxHRkJRWEJDWjBNc1JVRkJUelZETEZOQlNWSXlReXhIUVVSclFuRkRMRWRCUVhOQ2JFTXNTVUZGV1N4bFFVRnVSRFY1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGhRVUZoTEVWQlFVOXhlRUlzUjBGRGRrTk9MRVZCUVZkUkxFVkJRMVpPTEVkQlEwTnFlRUlzUlVGRFFXdDRRaXhGUVVOQlN5eEZRVU5CU0N4RlFVTkJReXhIUVVWRUxFVkJjVUpHTEU5QmFrSkxSQ3hIUVVGbGNVTXNTVUZEYmtJeFF5eEhRVUZaY0haQ0xFdEJRVXM0ZGtJc1MwRkRhRUo2ZUVJc1JVRkJUU3hUUVVGWGEzaENMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFbEJRMnBGTkhsQ0xGZEJRVmwxUXl4RlFVRlJTQ3hKUVVOd1FrUXNSMEZCYjBKcWVFSXNSVUZCVFd0NFFpeEZRVUZYTEZWQlFWVXNSVUZCVDBjc1IwRkRkRVFzUzBGTFIwNHNTVUZCWTNCMVFpeEZRVUZWYjJRc1IwRkJVV3BZTEV0QlFVMW9SeXhMUVVOaUxGRkJRVE5DU0N4RlFVRlRMRWxCUVU4c1VVRkZiRUl6UXl4RlFVRkxjV2RDTEUxQlFVODJVU3hIUVVGamNIVkNMRVZCUXpGQ1FTeEZRVUZSYmtVc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMXJlRUlzU1VGSGNFSktMRWRCUVcxQ09YZENMRVZCUVUwNFF5eEZRVUZQYVhWQ0xFOUJTekZEY0hsQ0xFVkJRVTl4ZWtJc1UwRkJVek5FTEZkQlFXRldMRWRCUVdNemQwSXNSVUZCVVc5NVFpeHRRa0ZEYkVRc1UwRkJWWEIyUWl4RlFVRk5jWFJDTEVkQlEyWXNSMEZCUzBFc1JVRkRTaXhQUVVGVGVVSXNWMEZCV1RGQ0xFZEJRVkZ3ZEVJc1JVRkJUU3huUWtGRGJFTkJMRVZCUVV0M2VrSXNkMEpCUVhkQ1JTeExRVU0xUW5wSExFZEJRVTFxZEVJc1JVRkJUU3hEUVVGRmNYVkNMRmRCUVZrc1IwRkJTeXhYUVVNNVFpeFBRVUZQY25WQ0xFVkJRVXQzZWtJc2QwSkJRWGRDUlN4UlFVVnVReXhQUVUxUUx6QkNMRVZCUVU5clFpeExRVUZOTEVOQlExbzRla0lzVDBGQlVTeEhRVU5TUXl4UlFVRlRMRWRCUTFSRExFOUJRVkVzVTBGRFRpeFRRVUZWUXl4RlFVRlJReXhIUVVOd1FuQXhRaXhGUVVGUGNYcENMRk5CUVZVNFFpeEZRVUZUUXl4SFFVRlhMRU5CUTNCRFF5eFBRVUZSTEZOQlFWVnNlRUlzUjBGUGFrSXNTVUZPUVN4SlFVRkpMMFVzUlVGQlNTeEZRVU5RYXpKQ0xFVkJRVmNzUjBGSFdFTXNSVUZCZVVJc2FVSkJRVlp3ZUVJc1JVRkJjVUpCTEVWQlFVMUpMRTFCUVU4c1MwRkJVU3hEUVVGRlNpeEhRVVZ3UkM5RkxFVkJRVWtzUlVGQlIwRXNTVUZEWkdzeVFpeEZRVUZWU0N4RlFVRlRPVlFzUjBGQlYycHBRaXhIUVVGTlp6SkNMRWRCUTI1RFJ5eEZRVUZQYmpKQ0xFbEJRVTl0TWtJc1JVRkJUMjR5UWl4RlFVRkpMRWxCUVU5dE1rSXNSVUZCVHl4SFFVZDZReXhQUVVGUFJDeEpRVWxQTEZkQlFWaElMRWxCUTBwdU1VSXNSVUZCVDNGNlFpeFRRVUZWT0VJc1JVRkJVME1zUjBGQlV6RldMRWxCUVUxNVV5eE5RVWt6UTI1NVFpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5sbUxFbEJRVXNzVTBGQlZYWm1MRVZCUVUwNFFpeEhRVU53UWl4UFFVRlBiV0VzUlVGQlVYSm9RaXhMUVVGTkxGTkJRVlZ2UlN4RlFVRk5aMElzUlVGQlRUaENMRWRCUXpGRExFbEJRVWwxZFVJc1JVRkJVVFYzUWl4RlFVTllWaXhGUVVGTkxFZEJRMDVvUXl4RlFVRkpMRVZCUlV3c1IwRkJTM2RFTEUxQlFVMURMRkZCUVZOU0xFZEJRVk1zUTBGSk5VSXNTVUZJUVhGM1FpeEZRVUZUZGtVc1IwRkJWemx6UWl4SFFVTndRbE1zUlVGQlRVOHNSVUZCU3k5Q0xFOUJSVWhzUWl4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTJoQ1owTXNSVUZCUzJsQ0xFVkJRVTFxUkN4SlFVRlJXU3hGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFdkQ0xFVkJRVTFxUkN4SlFVRkxMRVZCUVU5emVrSXNSMEZIZUVRc1QwRkJUM1I0UWl4RlFVZFNMRmxCUVdsQ01FSXNTVUZCVm5GQ0xFVkJRMDV1UlN4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRXZENMRVZCUVUwNFFpeEhRVU14UW01RkxFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5aMElzU1VGRGFrSkJMRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNUVUZSY2tOT0xFVkJRVTl0ZWtJc1RVRkJVVUVzUjBGRlprRXNSMEZCVFRWNVFpeFZRVUZaTEVOQlEycENSU3haUVVGaE1IbENMRWRCUTJJdmVVSXNTMEZCVFN4VFFVRlZhVUlzUlVGQlRXVXNSVUZCVTNka0xFVkJRVTAxWkN4RlFVRkxiM2hDTEVWQlFWRXZVU3hIUVVOcVJIQnNRaXhMUVVGTGIwVXNTMEZCVDBFc1JVRkRXbkJGTEV0QlFVc3lhVUlzUzBGQlQwRXNSVUZEV2pOcFFpeExRVUZMYlRKQ0xFOUJRVk5CTEVkQlFWVndla0lzUlVGQlQyOTZRaXhQUVVGUGRGQXNVMEZEZEVNM2JVSXNTMEZCUzIxR0xGRkJRVlZCTEVWQlEyWnVSaXhMUVVGTGFWVXNUVUZCVVdwVkxFdEJRVXR6YzBJc1NVRkJUWFJ6UWl4TFFVRkxOazhzVFVGRE4wSTNUeXhMUVVGTEswVXNTVUZCVFVFc1JVRkRXQzlGTEV0QlFVdHZiRUlzUzBGQlQwRXNTVUZCVlhKcFFpeEZRVUZQYzJsQ0xGVkJRVmN4UXl4SFFVRlRMRWRCUVVzc1QwRkZka1E1VkN4SlFVRkxMRmRCUTBvc1NVRkJTVFpWTEVWQlFWRjNVeXhIUVVGTmNVTXNWVUZCVjNZMFFpeExRVUZMTW1sQ0xFMUJSV3hETEU5QlFVOWxMRWRCUVZOQkxFVkJRVTFvWjBJc1NVRkRja0puWjBJc1JVRkJUV2huUWl4SlFVRkxNVVFzVFVGRFdHc3lRaXhIUVVGTmNVTXNWVUZCVlRGU0xGTkJRVk51YWtJc1NVRkJTekZFTEU5QlJXaERkelJDTEVsQlFVc3NVMEZCVlVNc1IwRkRaQ3hKUVVGSlF5eEZRVU5JYUZZc1JVRkJVWGRUTEVkQlFVMXhReXhWUVVGWGRqUkNMRXRCUVVzeWFVSXNUVUZ2UWk5Q0xFOUJiRUpMTTJsQ0xFdEJRVXR0Uml4UlFVRlJkM3BDTEZOQlEycENNelJDTEV0QlFVczBORUlzU1VGQlRVWXNSVUZCVVRNeFFpeEZRVUZQYjNwQ0xFOUJRVkZ1TWtJc1MwRkJTMjB5UWl4UlFVTjBRM05ETEVWQlFWTjZORUlzUzBGQlMyMUdMRkZCUVZGM2VrSXNVMEZCVjBZc1JVRkJVeXhGUVVGSExFVkJRVWQ2TkVJc1MwRkJTMjFHTEZGQlFWRjNla0lzVlVGSE9VUXpORUlzUzBGQlN6UTBRaXhKUVVGTlJpeEZRVUZSUkN4RlFVVndRbm8wUWl4TFFVRkxjM05DTEV0QlFWRjBjMElzUzBGQlN5dEZMRWxCUVUwdlJTeExRVUZMYVZVc1QwRkJWWGxyUWl4RlFVRlJNVFJDTEV0QlFVdHBWU3hOUVVVdlEycFZMRXRCUVV0dFJpeFJRVUZSTUhwQ0xFMUJRMnBDTnpSQ0xFdEJRVXR0Uml4UlFVRlJNSHBDTEV0QlFVdHdORUlzUzBGQlRWUXNTMEZCUzI5RkxFdEJRVTF3UlN4TFFVRkxjM05DTEVsQlFVdDBjMElzVFVGSGVrTXdha0lzUjBGQlUwRXNSVUZCVFdwQ0xFbEJRMjVDYVVJc1JVRkJUV3BDTEVsQlFVdDZhVUlzVFVGRldHc3lRaXhIUVVGTmNVTXNWVUZCVlRGU0xGTkJRVk53UlN4SlFVRkxlbWxDTEUxQlJYaENRU3hQUVVsVWF6SkNMRWRCUVUwMWVVSXNWVUZCVlVnc1MwRkJTMGNzVlVGQldUUjVRaXhIUVVGTk5YbENMRlZCUlhaRE5IbENMRWRCUVUxeFF5eFZRVUZaTEVOQlEycENNVklzVTBGQlZTeERRVU5VYm1wQ0xFbEJRVXNzVTBGQlZXOW9RaXhIUVVOa0xFbEJRVWw0VWl4RlFVbEtMRTlCUVRaQ0xFbEJRWGhDZDFJc1JVRkJUVEZuUWl4TFFVRkxOME1zVlVGRFlTeE5RVUUxUW5WcVFpeEZRVUZOTVdkQ0xFdEJRVTB3WjBJc1JVRkJUVzVETEU5QlFXOUVMRTFCUVd4RGJVTXNSVUZCVFRGblFpeExRVUZMY1dkQ0xFMUJRVTlMTEVWQlFVMXVReXhOUVVOeVJHMURMRVZCUVUweFowSXNTMEZCVFRCblFpeEZRVUZOYmtNc1QwRlBNVUp5VUN4RlFVRlRkbEVzUlVGQlR6Um9RaXhKUVVGTFJ5eEZRVUZOTVdkQ0xFdEJRVTB3WjBJc1JVRkJUVzVETEV0QlFVMHNUVUZIYUVJc1UwRkJXSEpRTEVWQlFYZENRU3hGUVVGS0xFZEJSWFpEYlZBc1NVRkJTeXhUUVVGVmNVTXNSMEZMVkM5b1FpeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVMHZWQ3hGUVVGTmJrTXNUVUZETVVJMVppeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVMHZWQ3hGUVVGTmJrTXNUVUZCVVcxRExFZEJRMHNzU1VGQmVFSkJMRVZCUVUweFowSXNTMEZCU3pkRExGZEJRM1JDZDBJc1JVRkJUM0Y2UWl4VFFVRlZkRklzUlVGQlRXNURMRTlCUXpaQ0xFMUJRVzVFYlVNc1JVRkJUVEZuUWl4TFFVRkxjV2RDTEUxQlFVODJVQ3hIUVVGbGVGQXNSVUZCVFc1RExFOUJSM2hEYlVNc1JVRkJUVEZuUWl4TFFVRk5NR2RDTEVWQlFVMXVReXhOUVVGVGJVTXNSVUZCVFhkSUxFbEJSbXBEZG5CQ0xFVkJRVTh3YUVJc1RVRkJUMHNzUlVGQlRURm5RaXhMUVVGTk1HZENMRVZCUVUxdVF5eExRVUZOYlVNc1JVRkJUWGRJTEVsQlFVMTRTQ3hGUVVGTlRTeFRRVlUxUkRoUkxFZEJRVTF4UXl4VlFVRlZVU3hWUVVGWk4wTXNSMEZCVFhGRExGVkJRVlZUTEZkQlFXRXNRMEZEZUVSMlZ5eEpRVUZMTEZOQlFWVnhReXhIUVVOVVFTeEZRVUZOTVdkQ0xFdEJRVXMzUXl4VlFVRlpkV3BDTEVWQlFVMHhaMElzUzBGQlMzaENMR0ZCUTNSRGEybENMRVZCUVUweFowSXNTMEZCVFRCblFpeEZRVUZOYmtNc1RVRkJVMjFETEVWQlFVMTNTQ3hQUVV0d1EzWndRaXhGUVVGUGIzcENMRTlCUVZNc1EwRkRaamhETEU5QlFWRXNVMEZCVlVNc1IwRkRha0lzVDBGQlQwRXNSMEZGVWtNc1RVRkJUeXhUUVVGVlJDeEhRVU5vUWl4TlFVRlBMRWRCUVUxdWVrSXNTMEZCUzNGNlFpeEpRVUZMUml4RlFVRkpibnBDTEV0QlFVdHpla0lzU1VGQlR5eEhRVVY0UTNoVExGTkJRVlVzVTBGSFdEbHFRaXhGUVVGUEt6RkNMRWRCUVVzMVF5eEhRVUZOTlhsQ0xGVkJRVlZJTEV0QlJ6VkNTaXhGUVVGUEt6RkNMRWRCUVVkRUxFdEJRVThzUjBGTGFrSXNTVUZEUTFNc1IwRkJUME1zUjBGRFVFTXNSMEZCVnl4NVFrRkRXRU1zUjBGQlR5eGpRVVZTTEZOQlFWTkRMRXRCUTBoSUxFMUJRM0ZDTEVsQlFYQkNNelZDTEVWQlFWTXJOVUlzVVVGQmIwSTFOVUlzUlVGQlR6WTFRaXh6UWtGRGVFTTNOVUlzUlVGQlR6WTFRaXh6UWtGQmRVSkdMRWxCUlRsQ016VkNMRVZCUVU5blowSXNWMEZCV1RKYUxFZEJRVlV6TWtJc1JVRkJUeXN4UWl4SFFVRkhaU3hWUVVkNFF6a3lRaXhGUVVGUEt6RkNMRWRCUVVkblFpeFJRVXRhTEZOQlFWTkRMRXRCU1ZJc1QwRklRV2cyUWl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEYkVKMVdpeFJRVUZSZW5wQ0xFbEJSVUY1ZWtJc1IwRkJVVGQzUWl4TFFVRkxObXBDTEUxQlNYWkNMRk5CUVZNd1RpeEhRVUZQY2pSQ0xFVkJRVTF6TkVJc1IwRkRja0lzU1VGQlNUbE1MRVZCUTBob2MwSXNSVUZCU1N4RlFVTktjMDBzUlVGQlVTeERRVUZGY1d4Q0xFOUJRVkZ1ZVVJc1IwRkxia0lzU1VGRVFYTTBRaXhGUVVGbFFTeEZRVUZsTEVWQlFVa3NSVUZETVVJNU0wSXNSVUZCU1N4RlFVRkhRU3hIUVVGTExFVkJRVWs0TTBJc1JVRkZka0o0Y2tJc1JVRkJUeXhWUVVSUU1HWXNSVUZCVVM5S0xFZEJRVmRxYVVJc1MwRkRVM05OTEVWQlFVOHNWVUZCV1RCbUxFZEJRVlY0YzBJc1JVRlBNVVFzVDBGS1MzTTBRaXhKUVVOS2VISkNMRVZCUVUwMGJrSXNVVUZCVlRWdVFpeEZRVUZOYVdwQ0xFMUJRVkV2ZGtJc1IwRkhlRUk0VFN4RlFVZFNMRk5CUVZONWNrSXNSMEZCWVdoNlFpeEZRVUZQZVdJc1JVRkJUWGRZTEVkQlMyeERMRWxCU2tFc1NVRkJTWEpXTEVWQlEwaDNTeXhIUVVGbE9Fc3NSMEZCVlVNc1UwRkJWVEZZTEVsQlFWVXNTVUZCUzJwcFFpeFBRVUZSTURWQ0xFZEJRVlZETEZOQlFWVXNUVUZET1VVdlpTeEZRVUZSTEVWQlExSnFXU3hGUVVGVGFYTkNMRVZCUVZkcWMwSXNUMEZEWW1sWkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSXNSMEZCVDNkS0xFVkJRVkYzU3l4RlFVRlphRlVzUjBGQlVUZGhMRXRCUVUwd05VSXNSVUZCVjNoWUxFVkJRVTE2WWl4SFFVZDZSQ3hQUVVGUE5HUXNSVUZ6VGxZc1UwRkJVM05XTEVkQlFWZG9Na0lzUlVGQlRXc3lRaXhGUVVGWmJqRkNMRWRCUTNKRExFbEJRVWx0VHl4RlFVTklhVzVDTEVWQlEwRnFaaXhGUVVGUkxFVkJRMUpxV1N4RlFVRlRLekpDTEVkQlFWVkpMRmRCUVZkdU0wSXNUMEZET1VKcFlpeEZRVUZYZG1Jc1JVRkJUMnRpTEZkQlFWZEpMRTlCUVZFc2EwSkJSemRDZVdJc1JVRkJTekV4UWl4UFFVVmlNREZDTEVWQlFVOHNWMEZEVGl4SFFVRkxVeXhGUVVOS0xFOUJRVThzUlVGWlVpeEpRVlpCTEVsQlFVbEZMRVZCUVdOdVFpeEpRVUZUVXl4TFFVTXhRalZhTEVWQlFWbHdZU3hMUVVGTGNYWkNMRWxCUVVzc1JVRkJSeXRGTEVWQlFWVlBMRlZCUVZsUUxFVkJRVlY0UWl4VFFVRlhPRUlzUjBGTGNFVm9ReXhGUVVGVkxFZEJSRWgwV1N4RlFVRlpaMkVzUlVGQlZYaENMRlZCUVZrc1IwRkZla055WkN4RlFVRlJMRVZCUTFKcVdTeEZRVUZUT0RKQ0xFVkJRVlZSTEU5QlFVOTBNMElzVDBGRmJrSnBXU3hGUVVGUmFsa3NSVUZCVVdsWkxFbEJRM1pDTm1Vc1JVRkJWVkVzVDBGQlVYSm1MRWRCUVZGclpDeEpRVUZMUXl4SFFVMW9ReXhQUVVoQmJtRXNSVUZCVTJ0Q0xGZEJRVmx3WWl4RlFVRk5MRU5CUVVVck1VSXNSVUZCVnpGQ0xFVkJRVk4wV1N4SlFVYzFRM05aTEVWQlFWVXNSMEZCUzNBeFFpeEZRVU5hT0dNc1IwRkpSamxqTEVkQlEweHBZaXhGUVVGVGEwSXNWMEZCV1hCaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWExFVkJRVWNzU1VGSk5VTTNZaXhGUVVGVGJVSXNXVUZCWVhKaUxFVkJRVTBzUTBGQlJTc3hRaXhMUVVOMlFpeEpRVVZTUVN4RlFVRlpOMklzUlVGQlV6RkNMRkZCUVZNc1EwRkROMEo0V1N4TFFVRk5RU3hGUVVOT05tNUNMRTFCUVU5c2NFSXNSVUZCVDIxRExFOUJRVkVzUjBGQlNXOHhRaXhIUVVNeFFrMHNTMEZCVFRjelFpeEZRVUZQYlVNc1VVRkJVU3hGUVVGTkxFTkJRekZDTWpGQ0xHTkJRV1VzUjBGRFpqRkZMRTlCUVZGd2VrSXNSVUZCVDI5NlFpeFBRVUZQZEZBc1ZVRkRjRUl4YUVJc1IwRkRTREl4UWl4dFFrRkJiMEpTTEVWQlEzQkNVeXhuUWtGQmFVSTFNVUlzUlVGRGFrSjFNVUlzVlVGQlYzQkNMRWxCUVZOVExFdEJRM0JDY0VJc1UwRkJWWGg2UWl4RlFVRlJkM3BDTEZOQlEyeENaME1zVDBGQlVTeEhRVU5TVkN4WlFVRmhMRk5CUVZWMldDeEZRVUZOTldRc1IwRkROVUlzU1VGQlNTdG1MRVZCUVZFdmFFSXNSVUZCVDIxNlFpeE5RVUZQT1hoQ0xFVkJRVTByTVVJc1JVRkJWVk1zUzBGQlRXcFpMRVZCUVUwMVpDeEZRVU55Ukc4eFFpeEZRVUZWVXl4TFFVRkxReXhqUVVGbGJGa3NTVUZCVlhkWUxFVkJRVlZUTEV0QlFVdDZSU3hSUVVWNFJDeFBRVVJCWjBVc1JVRkJWVkVzVDBGQlR5ODFRaXhMUVVGTmEydENMRWRCUTJoQ1FTeEhRVVZTYkVJc1MwRkJUU3hUUVVGVmIxZ3NSMEZEWml4SlFVRkpNV1lzUlVGQlVTeEZRVWxZYWxrc1JVRkJVekl6UWl4RlFVRlZZaXhGUVVGVlVTeFBRVUZQZEROQ0xFOUJRVk1zUlVGRE9VTXNSMEZCUzJzelFpeEZRVU5LTEU5QlFVOTJOa0lzUzBGSFVpeEpRVVJCZFRaQ0xFZEJRVlVzUlVGRFJtcG1MRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRka0kyWlN4RlFVRlZVU3hQUVVGUmNtWXNSMEZCVVd0a0xFbEJRVXNzUjBGVmFFTXNUMEZPUzNkRExFZEJRMG94WXl4RlFVRlRhMElzVjBGQldYQmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhMRVZCUVVjc1NVRkRNME0zWWl4RlFVRlRiVUlzV1VGQllYSmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhZU3hMUVVWNlF6RmpMRVZCUVZOMVFpeFhRVUZaZW1Jc1JVRkJUU3hEUVVGRkt6RkNMRVZCUVZkaExFbEJSV3hEYURkQ0xGRkJSMVJwYzBJc1JVRkJVV3RQTEVWQlFWVnNUeXhOUVVsdVFpeExRUzlJUkN4VFFVRnhRa0VzUlVGQlR6UlBMRWRCUXpOQ0xFbEJRVWwyWml4RlFVRlBiRmNzUlVGQlRTdDNRaXhGUVVGUmFuWkNMRVZCUVU5M1l5eEZRVWRvUXl4SlFVRk5jRWtzUzBGQlV6SlJMRVZCWldRc1IwRmlRV3RMTEVWQlFWTXdSU3hGUVVSVWVqRkNMRVZCUVU4Mll5eEZRVUZYTTBjc1NVRkZiRUp3VlN4RlFVRlJLMnRDTEVWQlFVOHpVU3hIUVVOV00xWXNUVUZCVFVNc1VVRkJVM05DTEV0QlEyNUNhWFpDTEVWQlFWTnFka0lzUlVGQlR5eEhRVU5vUWtFc1JVRkJVU3RyUWl4RlFVRlBNMUVzUjBGQlZYQlZMRVZCUVU4c1NVRkhOVUp2VlN4SlFVRlZiRmNzU1VGRFpEWnRRaXhGUVVGUE4yMUNMRWRCUVZNNFFpeFRRVU5VSzJ0Q0xFVkJRVTh6VVN4TFFVZG1iMGtzUlVGQlVUTm5RaXhGUVVGUGNYcENMRk5CUVZWb2VFSXNTMEZEV0N4WFFVRlpjMlVzUlVGTmVrSXNTVUZCVFhCSkxFdEJURTV3VlN4RlFVRlJkMk1zUlVGQlRUQlZMRTlCUVZGc2VFSXNWVUZEWml0clFpeEZRVUZQTjIxQ0xFZEJTVU00UWl4RlFVTk9iMVVzUzBGQlV6SlJMRWxCUTJoQ1FTeEZRVUZQTTFFc1IwRkJWWEJWTEVWQlFVOXZWU3hIUVVONFFuVm1MRVZCUVdWMlppeEhRVUZWTm1Fc1VVRkpNMEl3UlN4RlFVRmxlakZDTEVkQlFWTXJkMElzUlVFMlJqRkNPRVVzUTBGQldXaFFMRVZCUVU5clR5eEZRVUZWVXl4TFFVRkxReXhsUVVVeFFuWm1MRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkZka0lzUjBGRVFXaEpMRVZCUVZNNGJVSXNSMEZCVlVrc1YwRkJXV3htTEVkQlFWRTNZU3hMUVVGTk1EVkNMRVZCUVZjdk1VSXNSVUZCVFRadVFpeEZRVUZQYTA4c1JVRkJWVk1zVFVGTk9VVXNUMEZLUzNZMVFpeEZRVUZaYVZNc1JVRkJUM05STEZGQlEzWkNOMmRDTEVWQlFVODBaMElzV1VGQllYZFhMRVZCUVZVdk1VSXNTMEZCVFNzeFFpeEZRVUZWVXl4TFFVRkxjR1FzVDBGQlVXOUhMRXRCUXpGRWRGRXNSVUZCVDNOUkxFdEJRVXR6V0N4TFFVRk5OVzVDTEVsQlJXSkJMRVZCZVVKVUxFOUJja0pCZGxFc1JVRkJUMjlDTEVsQlFVczRia0lzUlVGQlQybFBMRWRCUVdGRExFZEJSVE5DT1RSQ0xFVkJRVms0TkVJc1JVRkJWVk1zUzBGQlN6TnRRaXhSUVVNdlFtdHRRaXhGUVVGVlV5eExRVUZMTTIxQ0xFMUJRVTE0VkN4TFFVRk5Na1FzUlVGQlRTc3hRaXhIUVVsc1EwRXNSVUZEUlhSaUxGTkJRVlZ6WWl4RlFVRlZVeXhMUVVGTEwySXNWVUZEZWtKcVZ5eExRVUZOZFhoQ0xFVkJRVlZUTEV0QlFVdG9lVUlzUzBGQlRYVjRRaXhGUVVGVlV5eExRVUZMVHl4VlFVTXhRM1JsTEV0QlFVMXpaQ3hGUVVGVlV5eExRVUZMTDJRc1RVRkRja0ozUWl4UFFVRlJPR0lzUlVGQlZWTXNTMEZCUzNaakxGRkJSWHBDZEdJc1JVRkJUeXN4UWl4SFFVRkhjME1zVFVGRFZISTBRaXhGUVVGUGJVTXNUMEZCVVRRd1FpeEZRVUZOTEVOQlEzQkNNVEZDTEV0QlFVMUJMRVZCUTA1cE0wSXNTMEZCVFd4Q0xFVkJRMDR6WXl4TlFVRlBNbU1zUlVGQlZWTXNTMEZCUzNCa0xGTkJTV3BDTW1Nc1JVRkhVbkF6UWl4RlFVRlBjVE5DTEZWQlFWbHlNMElzUlVGQlQyMURMRTlCUVZGck1VSXNSMEZCVnl4RFFVVTFRME1zVTBGQlZTeERRVU5VYVVJc1NVRkJTeXhEUVVGRkxGTkJRVlV6V1N4RlFVRk5lbUlzUjBGRGRFSXNTVUZCU1RSa0xFVkJRVkU1YTBJc1MwRkJTMnMyUWl4WlFVRmhkbGdzUlVGQlRYcGlMRWRCUlhCRExFOUJSRUV3WkN4SFFVRlhSU3hGUVVGTk1XZENMRXRCUVUxMVpTeEZRVUZOZDBJc1IwRkJVV3BZTEV0QlFVMW9SeXhIUVVGVE5HUXNSMEZETjBOQkxFdEJTVlI1Vnl4UlFVRlRMRk5CUVZWMFVDeEZRVUZQTDI1Q0xFZEJRM0JDTjBNc1JVRkJXVFJ4UWl4SlFVTm9RaTl1UWl4RlFVRlhLMjVDTEVWQlExaEJMRVZCUVZFc1EwRkJSU3hOUVVWV1FTeEZRVUZSUVN4RlFVRk5jR1lzVFVGQlQzRlFMRWRCVDNSQ0xFbEJTa0VzU1VGQlNYbEhMRVZCUTBoeVNDeEZRVUZSTEVWQlExSnFXU3hGUVVGVE5HOUNMRVZCUVUwMWIwSXNUMEZGVW1sWkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSnhTQ3hGUVVGUGMwb3NSVUZCVHpOUkxFZEJRMlE0WlN4SFFVRlZReXhUUVVGVk1WZ3NSMEZCVTNsWUxFZEJRVlZETEZOQlFWVXhXQ3hKUVVGVkxFZEJRek5FZVZnc1IwRkJWVU1zVTBGQlZURllMRWRCUVU5b1VpeFJRVUZUZWs0c1NVRkpkRU56TWtJc1YwRkJXU3hEUVROWFlpeFRRVUV5UW5BeVFpeEZRVUZOTm01Q0xFVkJRVTh5VHl4SFFVTjJReXhKUVVGSmFsa3NSVUZCVFhwaUxFVkJRVTgwWlN4RlFVRlJjRU1zUlVGQlR6aFlMRVZCUVZORExFVkJRVmRETEVWQlFXZENhRmdzUlVGRGJrVnBXQ3hGUVVGUkxGVkJRVmN4VUN4SFFVRlRMRmRCUVZsQkxFVkJRM2hEYjFBc1JVRkJUM0kzUWl4TFFVTlFlWFZDTEVWQlFVOHNSMEZEVUdoTExFVkJRVkZ5WjBJc1JVRkJTM0ZuUWl4TlFVTmlhMVlzUlVGQlUzWXhRaXhGUVVGTE4wTXNWVUZCV1dscVFpeEhRVUZ2UW5CblFpeEhRVU01UTNjelFpeEZRVUZYTDFrc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1ZVRTJRbWhETEVsQlFVMTFaU3hMUVRGQ1FXbFpMRVZCUVV0d1pDeFJRVVZoTEU5QlJIWkNhMGNzUlVGQlVUTm5RaXhGUVVGUE5HZENMRmxCUVdGMlppeEZRVUZOTEU5QlEzWkNlVE5DTEZkQlExWnVXU3hGUVVGTmJWa3NVMEZCVnl4RlFVTnFRa3dzUlVGQlZUbFlMRVZCUVUwM1RpeE5RVUZOTmtnc1MwRkRkRUpuUnl4RlFVRk5OMDRzVFVGQlRUWklMRXRCUVU4c1YwRkRXbWRITEVWQlFVMXRXU3hWUVVOWVRDeE5RVWxJT1Znc1JVRkJUVzFaTEZkQlJVNVNMRVZCUVV0b1pDeFBRVUZSTEZkQlIxcG5aQ3hGUVVGTGFHUXNUMEZCVVN4WFFVTmFjVVlzUlVGQlRXMVpMRmRCUTBFNU5FSXNSVUZCVDNsaExFMUJRVTl3V2l4RlFVRk5MRTFCUVU5bUxGRkJRMmhEY1dkQ0xFVkJRVTAzVGl4TlFVRk5Oa2dzV1VGUFJuVlBMRVZCUldJc1IwRkVRUzlyUWl4RlFVRlJLMnRDTEVWQlFVOTBTaXhIUVVOV05sY3NSMEZCVTJoelFpeExRVUZOZEVjc1IwRkJWU3hEUVVjM1FpeFZRVVpQSzJ0Q0xFVkJRVTkwU2l4SFFVTmtiVVFzUlVGQlUwRXNSMEZCYjBJc1YwRkJWalZsTEVWQlEyUkJMRXRCUVZsNWVVSXNSVUZCVXl4UFFVRlRMRkZCUVZjc1EwRkpOME1zUjBGQlpTeFRRVUZXZW5sQ0xFbEJRVzlDTURCQ0xGRkJRV2xETHpGQ0xFbEJRWEpDS3pGQ0xFVkJRVlZxV2l4SFFVczVReXhUUVVwQloxZ3NSMEZCVXl4RlFVOVliRXdzUlVGQlRUbE1MRWRCUVZOcFdpeEhRVUZaUVN4RlFVRlZhbG9zU1VGQlZUVm1MRVZCUVU4d2FFSXNUVUZCVDNKblFpeEZRVUZOZFdVc1IwRk5ja1VzU1VGRVFUaFpMRWRCUVdFeE5FSXNSVUZCVDNsRUxHTkJRV1Y1YkVJc1RVRkRhRUpzY0VJc1JVRkJUM2xFTEdOQlFXVnBiMElzUjBFNFJIcERMRWxCUVUwNVRDeExRWHBFUkdkYUxFZEJRVEpDTEVsQlFXeENkak5DTEVWQlFVczNReXhYUVUxc1FuRTFRaXhGUVVGTGEwSXNVMEZCVnl4RFFVRkZjbGdzUlVGQlRYRllMRk5CUVZWeVdDeEZRVUZOYzFnc1ZVRkJWM1JZTEVWQlFVMTFXQ3hYUVVsc1F5eFBRVVIyUWs0c1JVRkJhVUpGTEVkQlFWbEJMRVZCUVZOc1dDeFhRVVZ5UTJkWUxFVkJRV2xDTjFrc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1dVRkhja0lzVlVGRWFrSnpaMElzUlVGQlZUTm9RaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4alFVVjBRbk16UWl4RlFVTkthRmdzUlVGQlZXZFlMRWRCU1Zab1Z5eEhRVUZWTEVOQlFVVjBhRUlzU1VGQlVTeEhRVU53UW5NelFpeEZRVUZwUW5RelFpeEZRVUZMY1dkQ0xFMUJRVTFETEZOQlFWZG5XQ3hGUVVOMlEyaFlMRVZCUVZVemFFSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzVjBGRE5VSnphRUlzUjBGQlZTeERRVUZGZEdoQ0xFOUJTMGNzVjBGQlduTm5RaXhIUVVGdlF5eHBRa0ZCV2tFc1IwRkJaMFFzVFVGQmJFSm5XQ3hKUVVOeVFpeFRRVUZvUXpNMFFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hYUVVkb1FuRXpRaXhKUVVOTVNpeEZRVUZMZW5sQ0xFdEJRVTBzVjBGRFZqWmlMRVZCUVUxRExGRkJRVlZuV0N4SlFVVk5MRTFCUVd4Q1FTeEpRVU5LYUZnc1JVRkJWVVFzUlVGQlRVTXNVVUZEYUVKbldDeEZRVUUyUWl4VFFVRmFhRmdzUlVGQmNVSXNSMEZCUzBFc1NVRkhOME5FTEVWQlFVMURMRkZCUVZVc2FVSkJTMlJyVnl4RlFVRkxhMElzVjBGRFZISllMRVZCUVUxeFdDeFRRVUZYTEZOQlEycENWQ3hGUVVGTGFHUXNUMEZCVVN4WFFVTmFiMGNzUlVGQlRYRllMRk5CUVZkc1FpeEZRVUZMYTBJc1UwRkJWU3hIUVVOb1EzSllMRVZCUVUxeldDeFZRVUZaYmtJc1JVRkJTMnRDTEZOQlFWVXNSMEZEYWtOeVdDeEZRVUZOZFZnc1ZVRkJXWEJDTEVWQlFVdHJRaXhUUVVGVkxFMUJTMjVEVEN4SFFVRlpMRVZCUTBWb1RpeEZRVWRRWjA0c1NVRkRRVWNzUlVGRFF5eFhRVUZaUVN4SlFVTm9RbXBETEVWQlFWTnBReXhGUVVGVGFrTXNVVUZIYmtKcFF5eEZRVUZYTDFrc1JVRkJVM2hDTEU5QlFWRnFaQ3hGUVVGTkxGTkJRVlVzUTBGQlJYTm5RaXhSUVVGVFoxZ3NTVUZKYmtRMVZpeEpRVU5LT0ZZc1JVRkJVMnBETEZGQlFWVkJMRWRCU1daQkxFZEJRMHBxVlN4SFFVRlZMRU5CUVVWMGFFSXNTVUZCVVN4SFFVdHlRbWt6UWl4RlFVRkxlbmxDTEV0QlFVMHNWMEZUVml4SlFVRk5LMW9zUzBGS1FXZFlMRWRCUTB4cVZTeEhRVUZWTEVOQlFVVjBhRUlzU1VGRllubGxMRVZCUVZOb1JpeFBRVUZSZWxvc1JVRkJUU3hWUVVOVWNYRkNMRVZCUTJJeGNrSXNSVUZCVHpCb1FpeE5RVUZQY21kQ0xFVkJRVTExWlN4RlFVRk5PRXdzUlVGQlRUbE1MRTlCVFc1RE9Ga3NSVUZCV1haQ0xFZEJRV0ZRTEVWQlFWTnBReXhGUVVGVmFsb3NSMEZCVXl4RlFVRkhRU3hGUVVGTk1Ga3NSMEZEZEVReFdTeExRVUZSYVZvc1NVRkRaa0VzUlVGQlZXcGFMRWRCUVZNNFdTeEZRVUZWZUc1Q0xFMUJRM2hDTUd4Q0xFbEJRMG80UWl4RlFVRlZNVEpDTEVsQlFVMHdNa0lzUlVGQlZYaHVRaXhOUVVNeFFuZHVRaXhGUVVGVmVHNUNMRTFCUVZFc1RVRjFUWEpDWjI5Q0xGVkJRVmNzVTBGQlZTOHpRaXhGUVVGVmJYTkNMRWRCUTNwQ1FTeEZRVU5LSzBvc1IwRkJWVWtzVjBGQlZ6ZHZRaXhSUVVGVGVrNHNSMEZGT1VKck1rSXNSMEZCVlVrc1YwRkJWelUxUWl4TFFVRk5jMFFzVFVGTE9VSnVRaXhGUVVGUGJUVkNMRTFCUVZFc1UwRkJWVUVzUlVGQlR5OUdMRVZCUVZGcWVrSXNSMEZEZGtNc1NVRkJTV2sxUWl4RlFVRk5SQ3hIUVVFd1FpeHBRa0ZCVmtFc1JVRkJjVUp1TlVJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1djelFpeEhRVUZWTEVOQlF6TkZaaXhUUVVGVmFqUkNMRWxCUVU5QkxFZEJRVTFwZWtJc1IwRkRkRUk1TUVJc1JVRkJXVFkyUWl4SlFVRlhRU3hGUVVONFFuWkVMRk5CUVZWMVJDeEZRVU5XTDBZc1QwRkJVV3A2UWl4SFFVRk5hWHBDTEVkQlFWVkJMRWxCUVZjNU1FSXNSVUZCV1Rnd1FpeEpRVUZaUVN4SFFXOUROVVFzVDBGb1EwdHdla0lzUlVGQlR5c3hRaXhIUVVGSGJGRXNTVUZEWkhWVUxFVkJRVWw0UkN4VFFVRlhMRVZCUjJNc2FVSkJRV3BDZDBRc1JVRkJTWGhFTEZkQlExWjNSQ3hGUVVGSmVFUXNXVUZCV1RVeFFpeEZRVUZQS3pGQ0xFZEJRVWR6UkN4UFFVTTVRa1FzUlVGQlNYaEVMRk5CUVZjMU1VSXNSVUZCVHlzeFFpeEhRVUZIYzBRc1QwRkJVVVFzUlVGQlNYaEVMRlZCUjNKRGQwUXNSVUZCU1hoRUxGTkJRVmMxTVVJc1JVRkJUeXN4UWl4SFFVRkhjMFFzVDBGQlQzWldMRlZCVFdwQ0xFMUJRV0p6Vml4RlFVRkpNMlVzVVVGQkswSXNTVUZCWkRKbExFVkJRVWt6WlN4UlFVTTNRakpsTEVWQlFVa3paU3hOUVVGUkxFMUJTV0l5WlN4RlFVRkpOMHNzU1VGQlRUWkxMRVZCUVVsb1FpeFRRVVZrWjBJc1JVRkJTV2hDTEZOQlFWY3NWMEZEVkRrMVFpeEZRVUZaT0RaQ0xFVkJRVWszU3l4TlFVTndRalpMTEVWQlFVazNTeXhKUVVGSk4zZENMRXRCUVUxVUxFMUJSMVp0T0VJc1JVRkJTVE5sTEU5QlExSjZZU3hGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFcwNFFpeEZRVUZKTTJVc1VVRkpja0l5WlN4SFFVZFNjRFZDTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENiVE5DTEU5QlFWRXNVMEZCVlVnc1JVRkJUMGtzUlVGQlNXNUhMRVZCUVZGcWVVSXNSMEZIY0VNc1QwRkJUMnhGTEV0QlFVdHhVU3hQUVVGUmJWVXNTVUZCY1VKSExFbEJRVXNzVlVGQlZ5eEhRVUZKWjBJc1QwRkhNMFExWjBJc1RVRkJUWGN6UWl4UlFVRlRMRU5CUVVWc1J5eFJRVUZUYVVjc1IwRkJUVW9zUlVGQlR5OUdMRVZCUVZGcWVVSXNTVUZGYkVSeE5FSXNVVUZCVXl4VFFVRlZOVm9zUlVGQlRYVmFMRVZCUVU4dlJpeEZRVUZSYW5sQ0xFZEJRM1pETEVsQlFVa3lVaXhGUVVGUk9WTXNSVUZCVDNsRUxHTkJRV1Z0WXl4SFFVTnFRelphTEVWQlFWTjZOVUlzUlVGQlQyMDFRaXhOUVVGUFFTeEZRVUZQTDBZc1JVRkJVV3A1UWl4SFFVTjBRM1UwUWl4RlFVRmpMRmRCUjJJc1NVRkJTWEJDTEVWQlFVOXFRaXhIUVVGWGNEWkNMRXRCUVUwclF5eEZRVUZQYlVNc1QwRkJVU3hIUVVGSmVXUXNSMEZCVVRaYUxFbEJSMnhFTTIxQ0xFZEJRVk5uVGl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUwc1dVRkRha054TjBJc1JVRkJTM3BZTEUxQlFVMHNTVUZOWkN4UFFVWkJObGtzUlVGQldVTXNUMEZCVTBRc1JVRkZaRFZ0UWl4SlFVRXdRaXhKUVVGcVFqSnRRaXhGUVVGUGFHWXNUVUZEZEVKNFpDeExRVUZMYVVVc1MwRkJUWGMwUWl4SFFVTlllamhDTEV0QlFVdDNaQ3hOUVVGUFoyWXNSVUZCVDJobUxFMUJRVTlwWml4SlFVVTFRamRaTEV0QlFVMHNVMEZCVldwcFFpeEZRVUZOYldsQ0xFVkJRVmxyV0N4SFFVTnFReXhKUVVGSk1rSXNSVUZCV1N4VFFVRlZhbG9zUjBGRGVrSXNTVUZCU1VVc1JVRkJUMFlzUlVGQlRVVXNXVUZEVmtZc1JVRkJUVVVzUzBGRFlrRXNSVUZCVFc5WUxFbEJXVkFzVFVGVWNVSXNhVUpCUVZSeU5VSXNTVUZEV0hFMVFpeEZRVUZWYkZnc1JVRkRWa0VzUlVGQllXNXBRaXhGUVVOaVFTeFBRVUZQYTBVc1IwRkZTR2xsTEVkQlEwbzVha0lzUzBGQlMzZGtMRTFCUVU4M1lpeEhRVUZSTEV0QlFVMHNTVUZIY0VJelFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFpeEpRVUZKZFdZc1IwRkJWU3hGUVVOaWJFa3NSVUZCWjBJc1RVRkJVak5hTEVkQlFXZENRU3hGUVVGUExHRkJReTlDYVRkQ0xFVkJRVk0zTlVJc1JVRkJUelkxUWl4UFFVTm9RbXhoTEVWQlFVOUhMRVZCUVZOdVppeEpRVUZMTVVRc1RVRkZkRUlzUjBGQlMzTmlMRVZCUTBOdlNDeEZRVUZOY0Vnc1NVRkJWMjlJTEVWQlFVMXdTQ3hIUVVGUmMwa3NUVUZEYmtNcldTeEZRVUZYYW1Fc1JVRkJUWEJJTEZOQlIyeENMRWxCUVUxQkxFdEJRVk52U0N4RlFVTlVRU3hGUVVGTmNFZ3NTVUZCVjI5SUxFVkJRVTF3U0N4SFFVRlJjMGtzVFVGQlVUWldMRWRCUVV0cWMwSXNTMEZCVFRoT0xFbEJRM1JFY1doQ0xFVkJRVmRxWVN4RlFVRk5jRWdzU1VGTGNFSXNTVUZCVFVFc1JVRkJVWE5vUWl4RlFVRlBkalZDTEU5QlFWRnBXU3hMUVVOMlFuTm9RaXhGUVVGUmRHaENMRWRCUVZGc1dDeFBRVUZUY0VVc1RVRkRia0lzVFVGQlVqSkNMRWRCUVdkQ2FUZENMRVZCUVZGMGFFSXNSMEZCVVd0RExGRkJRVlUzWWl4SlFVVTFRMmszUWl4RlFVRlJkR2hDTEVkQlFWRXJaaXhMUVVGTGVsZ3NTMEZCVFc5WUxFZEJRek5DZUZnc1IwRkJWU3hGUVVOV2Ixb3NSVUZCVHpNelFpeFBRVUZSY1Zjc1JVRkJUeXhMUVU5dVFtdEpMRWRCUVZsM1dDeEhRVU5vUW1vMFFpeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlNYcENLelpDTEU5QlFWRXNVMEZCVlM4MlFpeEhRVWxxUWl4UFFVaGpMRWxCUVZSQkxFbEJRMHBCTEVWQlFVOUJMRWRCUVZFc1RVRkZWRE5DTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTEVsQlFVbHhXQ3hGUVVOSWIwZ3NSVUZCVDBjc1JVRkJVMjVtTEVsQlFVc3hSQ3hOUVVOeVFuZGtMRVZCUVZGclJpeEZRVUZOTDJkQ0xFVkJRVThzVTBGRGNrSXJhRUlzUlVGQlVXaENMRVZCUVUwdlowSXNSVUZCVHl4alFVTnlRbWszUWl4RlFVRlROelZDTEVWQlFVODJOVUlzVDBGRGFFSjJOVUlzUlVGQlUyMWhMRVZCUVZGQkxFVkJRVTF1WVN4UFFVRlRMRVZCWVdwRExFbEJWa0Z4Wml4RlFVRkxaMkVzVVVGQlV5eEZRVWRrTXpWQ0xFVkJRVTk1WVN4TlFVRlBlR1FzUzBGQlRUSkNMRVZCUVUwc1NVRkZja0lyYUVJc1IwRkJVMEVzUlVGQlRVVXNUVUZEYmtKR0xFVkJRVTFGTEV0QlFVdHVha0lzUzBGQlRWUXNUVUZCVFN4SFFVbHNRbk5pTEVWQlFWRnphRUlzUlVGQlQzWTFRaXhQUVVGUmFWa3NTMEZEZGtKemFFSXNSVUZCVVhSb1FpeEhRVUZSYkZnc1QwRkJVM0JGTEUxQlFWRTBPRUlzUlVGQlVYUm9RaXhIUVVGUmEwTXNVVUZCVlRkaUxFbEJReTlFYVRkQ0xFVkJRVkYwYUVJc1IwRkJVU3RtTEV0QlFVdDZXQ3hOUVVGTkxFZEJRek5DWjFvc1JVRkJUek16UWl4UFFVRlJjVmNzUlVGQlR5eEpRVXQ0UWl4SlFVRk5RU3hGUVVGUkxFVkJRVWRCTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZETTBKclF5eEZRVUZQYkVNc1NVRkJWMnRETEVWQlFVOXNReXhIUVVGUmIyaENMRkZCUTNKRGJHWXNSVUZCVDJ4RExFZEJRVkZ2YUVJc1QwRkJUMm80UWl4TFFVRk5WQ3hoUVV0MlFqQnBRaXhGUVVGTFoyRXNXVUZMWmpNMVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRkxGTkJRVlVzVDBGQlVTeFJRVUZWTEZOQlFWVnpSQ3hGUVVGSmJrTXNSMEZEZUVRc1NVRkJTWGt6UWl4RlFVRlJPVFZDTEVWQlFVOUhMRWRCUVVsclF5eEhRVU4yUW5KRExFVkJRVTlITEVkQlFVbHJReXhIUVVGVExGTkJRVlU0TWtJc1JVRkJUeTlHTEVWQlFWRnFlVUlzUjBGRE5VTXNUMEZCWjBJc1RVRkJWR2MwUWl4SFFVRnJReXhyUWtGQlZrRXNSVUZET1VKWExFVkJRVTFzT0VJc1RVRkJUMWdzUzBGQlRYRkZMRmRCUTI1Q2NrVXNTMEZCUzNVNFFpeFJRVUZUZGtNc1IwRkJUelV3UWl4SFFVRk5MRWRCUVZFNE1rSXNSVUZCVHk5R0xFVkJRVkZxZVVJc1RVRkxja1J1UWl4RlFVRlBhMElzUzBGQlRTeERRVU5hTmpSQ0xGVkJRVmM1UXl4SFFVRlBMRkZCUTJ4Q0swTXNVVUZCVXk5RExFZEJRVThzVVVGRGFFSm5SQ3haUVVGaGFFUXNSMEZCVHl4VlFVTndRbWxFTEU5QlFWRXNRMEZCUlRWSExGRkJRVk1zVVVGRGJrSTJSeXhSUVVGVExFTkJRVVUzUnl4UlFVRlRMRkZCUTNCQ09FY3NWMEZCV1N4RFFVRkZPVWNzVVVGQlV5eFhRVU55UWl4VFFVRlZhbmhDTEVWQlFVMDJiVUlzUjBGRGJFSnNjRUlzUlVGQlQwY3NSMEZCU1d0RExFZEJRVk1zVTBGQlZUZ3lRaXhGUVVGUEwwWXNSVUZCVVdwNVFpeEhRVU0xUXl4UFFVRlBiRVVzUzBGQlMzVTRRaXhSUVVGVGRGRXNSVUZCVDJsUkxFVkJRVTh2Uml4RlFVRlJhbmxDTEUxQlNUZERia0lzUlVGQlR6WTFRaXhQUVVGVExFZEJRMmhDTnpWQ0xFVkJRVThyTVVJc1IwRkJSMmRDTEV0QlFVOHNWMEZEYUVJc1NVRkJTWE5DTEVWQlEwaHFOVUlzUlVGQlNTeEZRVU5LZVRaQ0xFVkJRVk0zTlVJc1JVRkJUelkxUWl4UFFVbHFRaXhKUVVaQmRFUXNSMEZCVVRkM1FpeExRVUZMTm1wQ0xFMUJSVXh1Y1VJc1JVRkJTWGsyUWl4RlFVRlBkalZDTEU5QlFWRnNRaXhMUVVNeFFtazFRaXhGUVVGUmQwSXNSVUZCVVhvMlFpeFBRVWREZVRaQ0xFVkJRVkY2TmtJc1MwRkJVV2sxUWl4SFFVTm9RM2RDTEVWQlFVOHpNMElzVDBGQlVUbERMRWxCUVVzc1IwRkphRUo1TmtJc1JVRkJUM1kxUWl4UlFVTmFUaXhGUVVGUEt6RkNMRWRCUVVkc1ZpeFBRVVZZTUZZc1VVRkJVWHA2UWl4SFFVZFVPVU1zUlVGQlR5c3hRaXhIUVVGSGMwTXNUVUZCVVN4VFFVRlZRU3hIUVVNelFuSTBRaXhGUVVGUE5qVkNMRTlCUVU5b09FSXNTMEZCVFhjMlFpeEhRVU53UW5JMFFpeEZRVUZQS3pGQ0xFZEJRVWMzYTBJc1UwRkhXR3hTTEVWQlFVOHJNVUlzUjBGQlIyVXNVMEZCVnl4SFFVTnlRamt5UWl4RlFVRlBLekZDTEVkQlFVYzNhMElzVFVGQlVTeFhRVU5hYzJ4Q0xFdEJTVXhCTEVsQlFXRXNSVUZEWWtjc1QwRkhSRE15UWl4RlFVRlBLekZDTEVkQlFVZHNWaXhMUVVGUExGZEJRMmhDTWxZc1IwRkJZU3hOUVVka2VESkNMRVZCUVU4ck1VSXNSMEZCUjNORUxFOUJRVk1zUTBGRGJFSm5RaXhMUVVGTkxFbEJRMDVETEV0QlFVMHNTVUZIVG5oWExGTkJRVlVzUzBGTldEbHFRaXhGUVVGUFJ5eEhRVUZIYnpaQ0xFMUJRVkVzVTBGQlZVTXNSVUZCVFRVM1FpeEhRVWxxUXl4UFFVaEJORGRDTEVWQlFVOTROa0lzUlVGQlR5c3hRaXhKUVVGTEx6RkNMRVZCUVU4ck1VSXNSMEZCUjNORUxFOUJRVkZ0UWl4SlFVRnBRa0VzUlVGRGRFUTFOMElzUlVGQlQwRXNSMEZCVVN4TFFVVlNNMElzUzBGQlMzZGtMRTFCUVU4M1lpeEZRVUZOTEZOQlFWVXlTeXhGUVVGTmIxZ3NSMEZEZUVNc1NVRkJTVGhhTEVWQlFWVjZPVUlzUlVGQlQyZG5RaXhYUVVGWmVsUXNSVUZCVFdsNFFpeEhRVU4yUXpkYUxFVkJRVTFGTEV0QlFVOHNWMEZEV2pkcVFpeEZRVUZQTURsQ0xHRkJRV05FTEU5QlRYaENMRmRCUTBNc1NVRkJTVGR6UWl4RlFVRlJMMUVzUlVGQlV6QkRMR05CUVdVc1UwRkZia00yTlVJc1JVRkVVM1k0UWl4RlFVRlRNRU1zWTBGQlpTeFZRVU53UWtzc1dVRkJZUzlETEVWQlFWTXdReXhqUVVGbExGZEJSVzVFY1U4c1JVRkJUV2hRTEV0QlFVOHNWMEZKWWxBc1JVRkJVWE00UWl4UlFVRXdRaXhMUVVGb1FpOXpRaXhGUVVGTmVrb3NUVUZKZUVJNVJpeEZRVUZSZFRoQ0xGbEJRV040UWl4RlFVRkplRzFDTEZWQlNURkNhRVlzUlVGQlVTOVJMRVZCUVZNd1F5eGpRVUZsTEZWQlF6RkNORVVzVFVGQlVTeEpRVU5rZVVvc1JVRkJUV2hRTEV0QlFVOHNVVUZEWWxBc1JVRkJVWGM0UWl4WFFVRTJRaXhOUVVGb1FtcDBRaXhGUVVGTmVrb3NUVUZ3UWpWQ0xFZEJkMEpCTEVsQlFVa3lNa0lzUjBGRFNHeDJRaXhIUVVGaE5Vd3NSVUZCVHpaUExFdEJRVXRxUkN4WFFVVXhRalZNTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENORTBzUzBGQlRTeFRRVUZWTVUwc1JVRkJUVGhDTEVkQlEzSkNMRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTByUXl4RlFVRlBLMDhzUzBGQlRURk5MRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNTVUZIYmtWNU5rSXNWMEZCV1N4VFFVRlZNVFJDTEVkQlEzSkNMRTlCUVU5d1JpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4ck5rSXNWMEZCV1RrNVFpeExRVUZOYjBZc1VVRkxOVUp5UXl4RlFVRlBiVU1zVDBGQlVTeERRVU5rTkUwc1MwRkJUU3hUUVVGVk1VNHNSVUZCVFdkQ0xFVkJRVTA0UWl4SFFVTXpRaXhKUVVGSmNFUXNSVUZCU3pSbUxFVkJRMUp4WVN4RlFVRlJNelZDTEVWQlFVczNReXhUUVVka0xFZEJRV1VzU1VGQlZuYzRRaXhIUVVGNVFpeEpRVUZXUVN4SFFVRjVRaXhKUVVGV1FTeEZRVXR1UXl4WlFVRnJReXhKUVVGMFFqTTFRaXhGUVVGTE5VSXNZVUZEVkU4c1JVRkJUelJtTEV0QlFVMTJaU3hGUVVGTlowSXNSVUZCVFRoQ0xFbEJTMnhDTEVsQlFWWTJNa0lzUjBGQlowSm9OMElzUlVGQlR5dFhMRk5CUVZVeFZpeExRVU55UTNObUxFVkJRVkV6WjBJc1JVRkJUMmszUWl4VlFVRlhOVFJDTEVWQlFVdHZReXhwUWtGRE5VSjZSU3hGUVVGUE5rOHNTMEZCU3k5RkxFMUJRVTFxUXl4TFFVRkxORU1zUzBGQlRYQkpMRWRCUVZONU5FSXNVVUZCVjJnMFFpeFRRVWQwUTBFc1NVRkJWbkZDTEVWQlExY3NUMEZCVmtFc1QwRkRTbTVGTEVWQlFVOHJOa0lzVjBGQldURTFRaXhGUVVGTlowSXNSMEZKY2tKelpTeEhRVUZUTEZGQlFWTkJMRkZCUTNWQ04yUXNTMEZCTTBNdlFpeEZRVUZOTkdZc1JVRkJUV3BDTEVsQlFVdHlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFbEJRM3BDZEVJc1IwRkhVazBzUlVGQlN6TkNMR0ZCUVdNeVF5eEZRVUZOT0VJc1JVRkJVU3hKUVVNeFFrRXNSMEZIU0hkakxFZEJRVk1zVVVGQlUwRXNSMEZCSzBNc1VVRkJjRU0xWml4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEZRVUZOWjBJc1NVRkRha1IwUWl4RlFVMU5MRTlCU0dSQkxFVkJRVTFtTEVWQlFVOTNUaXhMUVVGTGRVSXNTMEZCVFRGT0xFVkJRVTFuUWl4VFFVZFVVeXhGUVVGWkwwSXNTVUZIYkVOck5rSXNWVUZCVnl4RFFVTldjamhDTEV0QlFVMHNRMEZEVERoblFpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZEY0VJc1NVRkJUVGxHTEVWQlFWRjNPRUlzV1VGQmQwSXNWVUZCVmpFeVFpeEhRVU16UW10R0xFVkJRVlZvU1N4RlFVRk5MRk5CUVZrc1EwRkROVUlzU1VGQlNXaERMRVZCUVUxblF5eEZRVUZMT0VNc1RVRkxaaXhQUVVwQk9VTXNSVUZCU3pOQ0xHRkJRV01zVDBGQlVYbEZMRWRCUTNSQ09VVXNTVUZEU21kRExFVkJRVXM0UXl4TlFVRlJPVVVzUjBGRlVEaEZMRTFCVFZnME1rSXNWMEZCV1N4VFFVRlZNVFZDTEVWQlFVMDRReXhIUVVNelFpeEpRVUZKT1VJc1JVRkRTR3BFTEVWQlFVa3NSVUZKU2pnM1FpeEZRVUZaTHpKQ0xFZEJRVk5CTEVWQlFVMHlSaXhOUVVGUGNWQXNSMEZGYmtNc1IwRkJTeXRvUWl4SFFVRXJRaXhKUVVGc1FqYzFRaXhGUVVGTE4wTXNVMEZEZEVJc1MwRkJWVFpFTEVWQlFVODJORUlzUlVGQlZ6azNRaXhOUVVNelFtbERMRVZCUVVzeVNpeG5Ra0ZCYVVJelNTeE5RVTh4UW5rMFFpeEhRVUZYTEVOQlExWndZaXhKUVVGTExGTkJRVlZ5WlN4RlFVRk5PRU1zUlVGQlR6bENMRWRCVVROQ0xFOUJVR1VzU1VGQlZqaENMRVZCUjBwdVJTeEZRVUZQS3paQ0xGZEJRVmt4TlVJc1JVRkJUV2RDTEVkQlJYcENhRUlzUlVGQlN6TkNMR0ZCUVdNeVF5eEZRVUZOUVN4SFFVVnVRa0VzU1VGSlZISkRMRVZCUVU5clFpeExRVUZOYkVJc1JVRkJUelpQTEV0QlFVc3ZSU3hOUVVGTmFrTXNTMEZCUzNOYUxFOUJRVTl5V0N4TlFVRlBMRkZCUVZVc1UwRkJWWFJHTEVWQlFVbHVReXhIUVVONlJTeEpRVUZKT0RSQ0xFVkJRVk4yZGtJc1IwRkJXWFpLTEVsQlFWVnlReXhGUVVGUGQwNHNTMEZCUzNWQ0xFdEJSUzlEYmtRc1IwRkJXWFpLTEVkQlFWTXNVMEZCVldoQ0xFVkJRVTFuUWl4RlFVRk5kME1zUjBGRE1VTXNTVUZCU1RsRUxFVkJRVXR0YlVJc1JVRkRVbXRWTEVWQlFXZENMelJDTEVWQlFVdHZReXhqUVZsMFFpeFBRVlpOU1N4SlFVZE1jV2xDTEVWQlFWTjBZaXhIUVVGWmQzWkNMRWRCUTNKQ2VIWkNMRWRCUVZsM2RrSXNSMEZCYTBKeU5rSXNSVUZET1VKQkxFVkJRWEZETEUxQlFTOUNielpDTEVWQlFWRTVOVUlzUlVGQlRXZENMRVZCUVUxM1F5eEhRVU42UW5VeVFpeEZRVU5CTEV0QlEwUjRka0lzUjBGQldYZDJRaXhIUVVGclFteFZMRWRCUlhoQ2JtMUNMRXRCVDFRc1NVRkJTWE0yUWl4SFFVRmhMSE5EUVVOb1FrTXNSMEZCWVN4blFrRjVTV0lzVTBGQlUwTXNSMEZCYTBKd00wSXNSMEZGTVVJc1QwRkVZVUVzUlVGQlRUSkdMRTFCUVU5eFVDeEpRVUZ0UWl4SlFVTXZRblJQTEV0QlFVMHNTMEZKZEVJc1UwRkJVekozUWl4SFFVRlZialpDTEVkQlEyeENMRTlCUVU5QkxFVkJRVXMxUWl4alFVRm5RalJDTEVWQlFVczFRaXhoUVVGakxGVkJRV0VzUjBGSE4wUXNVMEZCVTJjNFFpeEhRVUZuUW5RelFpeEhRVU40UWl4UFFVRkxka0lzVFVGQlRVTXNVVUZCVTNOQ0xFZEJRMXBCTEVWQlJXTXNhVUpCUVZaQkxFZEJRMHBCTEVWQlFVMHlSaXhOUVVGUGNWQXNTVUZGWkN4SFFYaEtVbTVhTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENlV1FzUzBGQlRTeFRRVUZWZG1Rc1JVRkJUVGhDTEVkQlEzSkNMRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTByUXl4RlFVRlBOR1lzUzBGQlRYWmtMRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNTVUZIYmtWdk4wSXNWMEZCV1N4VFFVRlZjalZDTEVkQlEzSkNMRTlCUVU5d1JpeExRVUZMYVVVc1MwRkJUU3hyUWtGRFZtcEZMRXRCUVUwclF5eEZRVUZQTWpkQ0xGRkJRVk4wTlVJc1NVRkJWVUVzVVVGTE1VTnlReXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtlV1FzUzBGQlRTeFRRVUZWZG1Vc1JVRkJUV2RDTEVWQlFVMDRRaXhIUVVNelFpeEpRVUZKY0VRc1JVRkJTelJtTEVWQlExSnhZU3hGUVVGUk16VkNMRVZCUVVzM1F5eFRRVWRrTEVkQlFXVXNTVUZCVm5jNFFpeEhRVUY1UWl4SlFVRldRU3hIUVVGNVFpeEpRVUZXUVN4RlFWZHVReXhQUVZCbExFbEJRVlpCTEVkQlFXZENhRGRDTEVWQlFVOHJWeXhUUVVGVk1WWXNTMEZIY2tOblFpeEZRVUZQY2tNc1JVRkJUekkzUWl4UlFVRlRkRFZDTEVsQlFWVkJMRVZCUTJwRGMyVXNSVUZCVVROblFpeEZRVUZQZHpGQ0xGVkJRVmR1ZWtJc1UwRkhXbE1zU1VGQlZuRkNMRVZCUTBOM1l5eEhRVUZUTEZGQlFWTkJMRkZCUTNWQ04yUXNTMEZCTTBNdlFpeEZRVUZOTkdZc1JVRkJUV3BDTEVsQlFVdHlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFbEJRM3BDZEVJc1JVRkhRMDBzUlVGQlRXZENMRWRCUVZNNFFpeEZRVWR3UW5kakxFZEJRVk1zVVVGQlUwRXNSMEZCSzBNc1VVRkJjRU0xWml4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEZRVUZOWjBJc1NVRkRha1IwUWl4RlFVZEVUU3hGUVVGTlowSXNTVUZIWkcxNlFpeFZRVUZYTEVOQlExWXZhVUlzVTBGQlZTeERRVU5VT1ZJc1NVRkJTeXhUUVVGVlZTeEhRVTlrTEVsQlFVbDFOa0lzUlVGQlZ6VTNRaXhGUVVGUGQwNHNTMEZCUzNWQ0xFdEJRVTB4VGl4RlFVRk5MRmxCUlhaRExFOUJRVXQxTmtJc1JVRkRSelZMTEZOQlFWVTBTeXhGUVVGVkxFbEJTVE5DVUN4SFFVRlhOWGRDTEV0QlFVMXdTaXhGUVVGTFowa3NWMEZEZEVKcGVVSXNSMEZCVnpkM1FpeExRVUZOY0Vvc1JVRkJTMmRKTEZkQlEzUkNhRWtzUlVGQlMyMVNMRXRCUlVVc1IwRkhRU3hMUVV0WWJYQkNMRkZCUVZNc1EwRkRVa1VzU1VGQlR5eFZRVU5RUXl4TlFVRlRMR1ZCV1V4Nk9VSXNSVUZCVVhVNFFpeGpRVU5pTlRaQ0xFVkJRVTkzTVVJc1ZVRkJWVFZwUWl4VFFVRlhMRU5CUXpOQ2FsTXNTVUZCU3l4VFFVRlZWU3hIUVVsa0xFbEJRVWs0VUN4RlFVRlRPVkFzUlVGQlMzaENMRmRCU1d4Q0xFOUJTRXR6VWl4SFFVRlZRU3hGUVVGUGRGSXNXVUZEY2tKelVpeEZRVUZQZEZJc1YwRkJWMmRVTEdOQlJWb3NUVUZGVWpaTkxFbEJRVXNzVTBGQlZYSmxMRWRCU1dRc1NVRkJTVGhRTEVWQlFWTTVVQ3hGUVVGTGVFSXNWMEZEWW5OU0xFbEJRMHBCTEVWQlFVOHdRaXhqUVVWR01VSXNSVUZCVDNSU0xGbEJRMWh6VWl4RlFVRlBkRklzVjBGQlYyZFVMR3RDUVU5MlFqZFRMRVZCUVU5clFpeExRVUZOTEVOQlExb3NWMEZEUVN4WFFVTkJMRmxCUTBFc1kwRkRRU3hqUVVOQkxGVkJRMEVzVlVGRFFTeFRRVU5CTEdOQlEwRXNiVUpCUTBVc1YwRkRSbXhDTEVWQlFVOHlOMElzVVVGQlV6RXJRaXhMUVVGTGQwZ3NaVUZCYTBKNFNDeFBRVFJDZUVNclF5eEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUWpRMVFpeFRRVUZWTEZOQlFWVTFNMElzUjBGRGJrSXNTVUZCU1RZelFpeEZRVUZUTXpaQ0xFVkJRVTE1U3l4RlFVRkxiWGRDTEVWQlFWVkRMRVZCUVU5dU5rSXNSVUZCUjI4MlFpeEZRVU16UXk4NFFpeEZRVUZKTEVWQlJVd3NSMEZCUzJRc1JVRkJXVFpHTEVkQlEyaENMRTlCUVU5c1NDeExRVUZMYVVVc1MwRkJUU3hUUVVGVllTeEhRVU16UWk5Q0xFVkJRVkV2UXl4TlFVRlBPQ3RDTEZOQlFWVTFNMElzUlVGQlRYcEhMRXRCUVUxVUxFdEJRVTA0UlN4RlFVRkhlVFZDTEVkQlFWVjJLMElzVlVGTk1VUXNTVUZHUVNzclFpeEZRVUZWVUN4SFFVRm5RblF6UWl4SlFVVmlOMFFzVDBGRFdpeExRVUZWWlN4RlFVRlBjRVVzUzBGQlRXMURMRTFCU1hSQ0xFZEJTRUUyT0VJc1JVRkJWMVFzUjBGQlZXNDJRaXhIUVVOeVFubExMRVZCUVhkQ0xFbEJRV3hDZWtzc1JVRkJTemRETEZWQlFXOUNMRWxCUVUwck9FSXNSMEZCYTBKVkxFZEJRV0VzU1VGRmVrUXNRMEZGVml4SlFVUkJiRFpDTEVWQlFVa3NSVUZEVFcwMlFpeEZRVUZSUml4RlFVRlRhalpDTEUxQlEzSkNLMG9zUlVGQlNXaFBMRkZCUVZNc1NVRkJUVzhyUWl4RlFVRlJMRXRCUVZFc1NVRkRka053ZDBJc1IwRkJUMjkzUWl4RlFVRlJMRXRCVFZwRUxFdEJSRXhGTEVWQlFXRmFMRWRCUVd0Q2VuWkNMRXRCUlRsQ2Vrc3NSVUZCU3pOQ0xHRkJRV01zVVVGQlUzazRRaXhIUVUxb1F5eFBRVUZQYkM5Q0xFMUJSMUp0TDBJc1dVRkJZU3hUUVVGVmFqUkNMRWRCUTNSQ0xFbEJRVWsyTTBJc1JVRkJVek0yUWl4RlFVRk5lVXNzUlVGQlMyMTNRaXhGUVVGVlF5eEZRVUZQYmpaQ0xFVkJRVWR2TmtJc1JVRkRNME12T0VJc1JVRkJTU3hGUVVWTUxFZEJRVXRrTEVWQlFWazJSaXhIUVVOb1FpeFBRVUZQYkVnc1MwRkJTMmxGTEV0QlFVMHNVMEZCVldFc1IwRkRNMEl2UWl4RlFVRlJMME1zVFVGQlQyMHZRaXhaUVVGaGFqUkNMRVZCUVUxNlJ5eExRVUZOVkN4TFFVRk5PRVVzUlVGQlIzazFRaXhIUVVGVmRpdENMRlZCU1RkRUxFbEJRVTF4UlN4VlFVRlZhRUlzVDBGRFppeFBRVUZQY2tRc1MwRkJTemhTTEV0QlFVMHNVVUZCVXl4SlFVczFRaXhKUVVaQmFYUkNMRVZCUVZWUUxFZEJRV2RDZEROQ0xFbEJSV0kzUkN4UFFVTmFMRXRCUVZWbExFVkJRVTl3UlN4TFFVRk5iVU1zVFVGTmRFSXNSMEZNUVRZNFFpeEZRVUZYVkN4SFFVRlZialpDTEVkQlIzSkNlVXNzUlVGQmQwSXNTVUZCYkVKNlN5eEZRVUZMTjBNc1ZVRkJiMElzU1VGQlRTczRRaXhIUVVGclFsVXNSMEZCWVN4SlFVVjZSQ3hEUVVWV0xFbEJSRUZzTmtJc1JVRkJTU3hGUVVOTmJUWkNMRVZCUVZGR0xFVkJRVk5xTmtJc1RVRkhNVUlzUzBGQlVTdEtMRVZCUVVsb1R5eFJRVUZUTEVsQlFVMXZLMElzUlVGQlVTeE5RVUZUTEVkQlF6TkRjSGRDTEVWQlFVMUJMRVZCUVVrMVNTeFJRVUZUTEVsQlFVMW5OVUlzUlVGQlVTeEpRVUZMTEV0QlRXNURSQ3hMUVVSTVJTeEZRVUZoV2l4SFFVRnJRbnAyUWl4TFFVVTVRbnBMTEVWQlFVc3pRaXhoUVVGakxGRkJRVk41T0VJc1IwRk5hRU1zVDBGQlQyd3ZRaXhOUVVkU2J5OUNMRmxCUVdFc1UwRkJWV3cwUWl4RlFVRlBiVFJDTEVkQlF6ZENMRWxCUVVreE9VSXNVMEZCWTNWR0xFVkJRMnBDYnpSQ0xFVkJRWGRDTEZkQlFWUXpPVUlzUjBGQmNVSm5SU3hOUVVGTlF5eFJRVUZUYzBJc1IwRkZjRVFzVFVGQmVVSXNhMEpCUVdKdE5FSXNSMEZCTUVKRExFVkJRemxDUkN4RlFVRlhjaTlDTEV0QlFVczRLMElzVTBGQlZUVXpRaXhIUVVGVmJFZ3NTMEZCUzIwdlFpeFpRVUZoYWpSQ0xFZEJSM3BFTjBZc1JVRkJXVFpHTEVkQlExUnNTQ3hMUVVGTGFVVXNTMEZCVFN4VFFVRlZPVUlzUjBGRE0wSlpMRVZCUVZFdlF5eE5RVUZQYnk5Q0xGbEJRMlJzTkVJc1JVRkJUWHBITEV0QlFVMVVMRXRCUVUxdFF5eEZRVUZIYnpoQ0xFZEJRVlYySzBJc1RVRkJVWEV2UWl4SFFVTjJRMEVzUzBGTFNYSXZRaXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRaXhKUVVGSlowMHNSVUZCVnpsT0xFVkJRVWR6V1N4RlFVRk5PR3RDTEVWQlJYaENMRWRCUVV0RUxFVkJUMG9zU1VGS1FXNDVRaXhGUVVGSkxFVkJRMHB6V1N4RlFVRlBNVmdzUlVGQlVTOURMRTFCUTJaMUwwSXNSVUZCWVdZc1IwRkJaMEowTTBJc1IwRkZia0lyU1N4RlFVRlpjM1pDTEVWQlFWbHdPVUlzVFVGSE5VSnpXU3hGUVVGTEsydENMRk5CUVZWMmRrSXNSMEZEYmtKM1N5eEZRVUZMTUd0Q0xGbEJRV0ZzZGtJc1IwRkZiRUozU3l4RlFVRkxjV3RDTEZOQlFWVTNkVUlzWVVGTFNYQkxMRWxCUVZaeFFpeEhRVUZuUXl4WlFVRlVka1lzUzBGRGJFTnpUeXhGUVVGWmMzVkNMRWRCUVZWMkswSXNVVUZKY2tJMmFVSXNSVUZCVTBvc1NVRkJTM3BwUWl4TFFVRk5MR2RDUVVGcFFtbFJMRWRCVDJwRGFsRXNTMEZCUzNsRExHTkJRMVI2UXl4TFFVRkxlVU1zWVVGQll5eFJRVU5zUW5kT0xFbEJRWFZDTEVsQlFWWXZTU3hGUVVOYUxFZEJRMEV5WWl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUwc2EwSkJRWEZDTEZGQlR5OURkeTlDTEZOQlFWVXNVMEZCVlhnNFFpeEhRVU51UWl4SlFVRkphVTRzUlVGQlZ6ZE1MRVZCUTJScVF5eEZRVUZKTEVWQlIwd3NTVUZFUVRoT0xFVkJRVmtzU1VGQlRXcE9MRVZCUVZjc1NVRkRia0p2UWl4RlFVRlBjRVVzUzBGQlRXMURMRTFCUTNSQ0xFZEJRWFZDTEVsQlFXeENhVU1zUlVGQlN6ZERMRmRCUTFBc1NVRkJUU3M0UWl4SFFVRnJRa01zUjBGQlZXNDJRaXhKUVVGWExFdEJRVTEyUkN4UlFVRlRiMUFzU1VGQlpTeEZRVU0zUlN4UFFVRlBMRVZCU1ZRc1QwRkJUeXhMUVU5VUxFbEJRVWwzZGtJc1IwRkJWU3hOUVVWa01UaENMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ09VTXNTVUZCU3l4VFFVRlZPRVVzUjBGRFpDeEpRVUZKZDJNc1JVRkJUelZtTEVWQlFVc3lja0lzUlVGRFpuSnlRaXhGUVVGUGNFVXNTMEZCVFN4SFFVVmtMRTlCUVUxeFJTeFZRVUZWYUVJc1VVRXdRbWhDYjNOQ0xFVkJRV3RDY0hWQ0xFVkJRVmsyUml4SFFVVjJRbXhJTEV0QlFVdHBSU3hMUVVGTkxGTkJRVlU1UWl4SFFVTXpRaXhKUVVGSlF5eEZRVVZ0UWl4SlFVRnNRbkJETEV0QlFVdDFRaXhYUVZkRkxFOUJUbGhoTEVWQlJFbHhkRUlzUlVGRFJYWnZRaXhGUVVGTmVrY3NTMEZCVFZRc1MwRkJUVzFETEVWQlFVZFpMRVZCUVZFdlF5eE5RVUZQYjBNc1QwRkZjRU00UlN4SFFVdE9PVVVzUlVGQlRTeEhRVVZ2UWl4cFFrRkJVa0VzUlVGRGJFSkJMRWRCUVU4c1IwRkZTWFZFTEUxQlFVMURMRkZCUVZONFJDeExRVU14UWtFc1JVRkJUVmNzUlVGQlQyOUNMRWxCUVVzdlFpeEZRVUZMTEZOQlFWVTRSU3hIUVVOb1F5eFBRVUZuUWl4TlFVRlVRU3hGUVVGblFpeEhRVUZMUVN4RlFVRlJMRTlCU1hSRGQyTXNSVUZCVVROblFpeEZRVUZQTWpoQ0xGTkJRVlV4TDBJc1MwRkJTekpDTEU5QlFWVnZRaXhGUVVGUE1qaENMRk5CUVZVeEwwSXNTMEZCUzI5TkxGTkJRVk0xUlN4cFFrRkhja1FzVVVGQlUydGpMRkZCUVN0RE4yUXNTVUZCY0VNMlpDeEZRVUZOYWtJc1NVRkJTM3BwUWl4TFFVRk5iME1zUlVGQlN5eFhRVU16UkhCRExFdEJRVXRyU0N4TlFVRlJPVVVzVDBGNlJGUm5ReXhIUVVOS2MyWXNSVUZCVVROblFpeEZRVUZQTWpoQ0xGTkJRVlYwTjBJc1JVRkJTM3BETEU5QlF6ZENiMElzUlVGQlR6STRRaXhUUVVGVmREZENMRVZCUVV0blNTeFRRVUZUTlVVc2FVSkJSeTlDTEZGQlFWTnJZeXhSUVVOblF6ZGtMRXRCUVhaREwwSXNSVUZCVFRSbUxFVkJRVTFvWjBJc1NVRkJTMVVzUlVGQlRTeFZRVVZzUWs0c1JVRk5XU3hwUWtGSWNFSkJMRVZCUVUxTkxFVkJRVXM0UXl4UFFVbEljRVFzUlVGQlNXMURMRkZCUVZOM05VSXNSMEZCVXl4SlFVbG9RaXhOUVVGUU16ZENMRVZCUVdNc1IwRkJTMEVzVDBGSE0wSXNTMEY1UTBobUxFVkJRVTl0UXl4UFFVRlJMRU5CUTJSM05rSXNVMEZCVlN4RFFVTlVibG9zVDBGQlVTeERRVU5RTjJsQ0xFbEJRVXNzVTBGQlZWVXNSMEZGWkN4SlFVRkphRU1zUlVGQlRWY3NSVUZCVDNkT0xFdEJRVXQxUWl4TFFVRk5NVTRzUlVGQlRTeFRRVU5zUXl4UFFVRmpMRTFCUVZCb1F5eEZRVU5PUVN4RlFVMUJhemhDTEVkQlFXdENkamRDTEVWQlFVOVNMRXRCUVUwMlFpeE5RVWRzUXpKRUxFOUJRVkVzUTBGRFVISkZMRWxCUVVzc1UwRkJWVlVzUjBGRFpDeEpRVUZKT0VNc1JVRkJUM0ZtTEVWQlFWRndhMElzUlVGRGJFSm5SQ3hGUVVGVlppeEZRVUZMWlN4UlFVTm1iVmNzUlVGQlVXeFlMRVZCUVV0M1VpeGpRVU5pTmxNc1JVRkJiMElzWlVGQlpISnJRaXhGUVVGTGVrTXNTMEZEV0dsclFpeEZRVUZUTmtNc1JVRkJUU3hMUVVGUExFZEJRM1JDTWswc1JVRkJUVE5OTEVWQlFVMXVUaXhGUVVGUkxFVkJRVWx1Vnl4RlFVRlJPVUlzVDBGVmFrTXNTVUZRUTJ4Q0xFVkJSRWx0V2l4RlFVRlJMRVZCUTFJNFdpeEZRVWRCTTAwc1JVRkJUVzVPTEVWQlFWRXNSVUZKV0c1YUxFVkJRVWxwZWtJc1JVRkJTMnA2UWl4SlFVdG9RaXhMUVVwQmIydENMRVZCUVZOd2FFSXNSVUZCVTJoRUxFbEJTVXAzVkN4VlFVRlplRlFzU1VGQlRXMWFMRXRCUnpkQ2FVd3NSVUZCVDNCaExGbEJRMHh2WVN4RlFVRlBNMnBDTEZkQlFWZDFTaXhYUVVOdVFrTXNSVUZCVlcxaExFVkJRVTh6YWtJc1YwRkJXU3hoUVVGcFFpeERRVTFxUkN4SFFVaEJjMFVzUlVGQlVXNUZMRVZCUVZGM2FrSXNSMEZCVTI1clFpeE5RVWR3UW5GdFFpeEZRVU5LTEU5QlFVOTJhRUlzUlVGSlVqQmxMRVZCUVU5b2JFSXNTMEZCVFhOSExFZEJTV1lzVDBGQlR6QmxMRWRCUjFKdVJDeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZOY0VJc1NVRk1RU3hKUVVGSmVUUkNMRVZCUVZkd1dpeEZRVU5rY0doQ0xFVkJRVlZtTEVWQlFVdGxMRkZCUTJaNVowSXNSVUZCVXpkcFFpeEZRVUZQTWtRc1ZVRkJWMUVzUjBGRE0wSXZSU3hGUVVGSlowUXNSVUZCVVRsQ0xFOUJSVXhzUWl4UFFVTlFiMnRDTEVWQlFWTndhRUlzUlVGQlUyaEVMRWxCU1U1M1ZDeFRRVU5ZTlZNc1JVRkJUelpFTEZGQlFWTTNSQ3hGUVVGUE1qaENMRk5CUVZOdVdpeFBRVUZQTjJsQ0xFbEJRVXMyYVVJc1IwRkJWVmdzU1VGQldTeExRVVZzUlN0YUxFZEJRVmtzUjBGVlpDeFBRVWhOUVN4SlFVTk1kamRDTEVWQlFVdDNVaXhsUVVGcFFpeEhRVVZvUW1kUkxFOUJUMWczYVVJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlN4UlFVRlRMRmxCUVdNc1YwRkRja05zUWl4RlFVRlBNamhDTEZOQlFWVXhMMElzVFVGQlV5eERRVU42UW5scFFpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZEY0VJc1IwRkJTM1pDTEUxQlFVMURMRkZCUVZOelFpeEhRVU51UWl4UFFVRlRPVU1zUlVGQlMzTlNMRkZCUVZVelV5eEZRVUZQTmtRc1VVRkJVemRFTEVWQlFWRnhRaXhIUVVGUGFFTXNUVUZCVHpoRkxFbEJRVmNzU1VGSmRFVTVSaXhGUVVGUmN6aENMRlZCUTJJek5rSXNSVUZCVHpJNFFpeFRRVUZWTVM5Q0xFMUJRVTh3UkN4SlFVRk5MRk5CUVZWVkxFZEJRM1pETEU5QlFYZERMRTlCUVdwRFFTeEZRVUZMTlVJc1lVRkJZeXhUUVVGeFFpeExRVUZQTkVJc1JVRkJTemhETEZWQlZ6bEVPVVlzUlVGQlVYY3JRaXhSUVVGVkxHTkJRV1UzTDBJc1JVRkhha01zU1VGQlNUZ3ZRaXhIUVVGakxHdERRVU5xUWtNc1IwRkJNRUlzVTBGQlZYUjZRaXhIUVVOdVEwRXNSVUZCUlRCakxHMUNRVWRLYm0xQ0xFVkJRVTl0UXl4UFFVRlJia01zUlVGQlR6UnNRaXhOUVVGUExFTkJSVFZDVlN4UlFVRlRMRk5CUVZWV0xFVkJRVTlxUnl4RlFVRk5kR1VzUlVGQlRUSTNRaXhIUVVWeVF5eEpRVUZKTlRsQ0xFVkJRVWN3VFN4RlFVRkxOa0lzUlVGQlMzTjJRaXhGUVVGWlF5eEZRVUZSYUZjc1JVRkJVVGRMTEVWQlFWTTRaMElzUlVGRGNrUkRMRVZCUVZrc1EwRkJSUzgzUWl4SFFVRlJlRVVzUjBGRGRFSXJRaXhGUVVGUFdDeEZRVUZQVUN4TFFVRk5hMjlDTEVWQlFVOHNVVUZCVjBFc1JVRkJUV2h1UWl4TFFVRlBaMjVDTEVWQlEyNUVhMElzUlVGQllUZHZRaXhGUVVGUFVDeExRVUZOYTI5Q0xFVkJRVThzWVVGQlowSkJMRVZCUVUxdVdpeFZRVUZWYkVrc1RVRkJUeXhMUVVGUkxFZEJTMnBHTEVkQlNFRjFTQ3hGUVVGTmNYaENMRVZCUVdONGRrSXNSVUZCVFhSTkxFVkJRVTlCTEVkQlFWRjRSU3hGUVVkc1FpeEpRVUZzUW5kRkxFVkJRVXMzUXl4VlFVRnZReXhKUVVGc1FqWkRMRVZCUVVzM1F5eFhRVXMxUW5NclFpeEhRVUZaY25sQ0xFdEJRVTAzVEN4RlFVRlBiMElzUlVGQlR6UnNRaXhOUVVGTmRVSXNZVUZKZEVOMmIwSXNSVUZCUzJRc1VVRkJVeXhOUVVGVExFbEJSek5DWjNCQ0xFVkJRV0ZzYjBJc1JVRkJTekpHTEUxQlFVOHNTMEZEZWtJelJpeEZRVUZQYTI5Q0xFVkJRVmQ2WWl4UlFVTnNRbmxpTEVWQlFWYzNhMElzVVVGRldtazNRaXhGUVVGVGRDdENMRVZCUVV0a0xGRkJRVk1zUzBGQlVTeEhRVUZMTEV0QlFVOWpMRWRCUnpORFoyNUNMRVZCUVZGQkxFVkJRVTgxYkVJc1JVRkJUeXRETEZOQlEzSkNObWxDTEVWQlEwRXNTVUZCU1RWc1FpeEZRVUZQZFcxQ0xFMUJRVTh6YmtJc1JVRkJkVUlzYVVKQlFWWm5ia0lzUjBGQmMwSkJMRWxCUjJoRVN5eFZRVUZaSzFjc1JVRkJaU3hGUVVGSkxFVkJRM0pEY0Znc1JVRkJUVzVhTEZWQlFWbHhZU3hGUVVGWGFtTXNTMEZCVFN4TFFVTnVReXRoTEVWQlFVMTNReXhYUVVGaGVFTXNSVUZCVFc1YUxGVkJRM2hDTEVsQlFVa3hSaXhQUVVGUkxGVkJRVmtyWml4RlFVRlhhbU1zUzBGQlRTeHBRa0ZCYjBJc1YwRkROMFFzUzBGSFJDdGhMRVZCUVUxeVZpeFpRVUZUZWs0c1JVRkRWRGhwUWl4RlFVRk5ibXBDTEZOQlExaHRha0lzUlVGQlRXNXFRaXhQUVVGVGNFSXNSMEZKYUVKelpTeEZRVUZsTEUxQlFWSkJMRVZCUTA0c1EwRkJSV2xITEVkQlEwWTFiRUlzUlVGQlR6SkVMRlZCUVZkbll5eEZRVUZOTEVOQlFVVnBSeXhKUVVjelFuWktMRVZCUVZWeVl5eEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRlbVFzU1VGQlZTeEhRVU53UTI4clFpeEpRVUZuUWpOblFpeEZRVUZSYVVzc1ZVRkJiVVFzU1VGQmVFTnFTeXhGUVVGUmFVc3NVVUZCVVRGdlFpeE5RVUZQZVVRc1JVRkJUWE5sTEVsQlFYUkZMRU5CVFVFc1NVRkJUWEZrTEVsQlFXbENNMmRDTEVWQlFWRjVUU3hYUVVGaGNIRkNMRVZCUVZVeVF5eEhRVUZUTEVOQlRUbEVMRWxCU2tFME4wSXNSVUZCWVRWblFpeEZRVUZSTmtvc1kwRkJaMEowYmtJc1JVRkRMMEpySzBJc1IwRkJXWEo1UWl4TFFVRk5kM2xDTEVWQlFXRnlLMElzUzBGRGNFTnJUaXhGUVVGTlFTeEZRVUZKYWswc1dVRkZTR2xOTEVWQlFVdEJMRVZCUVUxQkxFVkJRVWxxVFN4WFFVTjBRblU1UWl4RlFVRlZkaTlDTEV0QlFVMXBUeXhIUVVOb1FqWkNMRVZCUVUwM1FpeEZRVWxHTmtJc1MwRkJWWFJOTEVWQlFVczJTU3hsUVVGcFFuSk9MRWxCUTNCRGRXZERMRVZCUVZWMkwwSXNTMEZCVFRoUUxFVkJRVWxpTEdGQlFXVmhMRVZCUVVrd2RrSXNZMEZCWjBKeVowTXNSMEZOZWtRc1NVRkVRVzlETEVWQlFVa3NSMEZEVFRCTkxFVkJRVTF6ZUVJc1JVRkJWMmdyUWl4UlFVRlpkMjFDTEVWQlFVMXhReXgzUWtGRE5VTnJWaXhGUVVGamNuaENMRVZCUTJRNFdpeEZRVUZOYUc1Q0xFdEJRVTlSTEVWQlFVa3NSVUZEYUVJMk9VSXNSVUZEUVRWblFpeEZRVUZSWjB3c1ZVRkJXWHB2UWl4SFFVZHlRbk52UWl4SFFVRlhjRWdzUlVGQlUyNW1MRWxCUVV0dFRDeEZRVUZMTEZkQlFXTjZUeXhQUVVGUE5IQkNMRTlCUVZFc1QwRkJWWEpDTEVWQlFVMW9ia0lzVDBGRE1VVnJhRUlzUlVGQlUyNW1MRWxCUVV0dFRDeEZRVUZMTEZsQlJXNUNiMklzUlVGQlQzUndRaXhOUVVGUGEwOHNSVUZCU3paVUxFbEJTWEJDZFVnc1JVRkJVMmRYTEVkQlFWVndlRUlzUlVGQlMyOTRRaXhMUVVOVWFGY3NSVUZCVDNSd1FpeFBRVUZUZDJoQ0xFVkJRVmwwVkN4TFFVTXhRemhhTEVWQlFVMXlWaXhQUVVGVE1sY3NSVUZCVDNSd1FpeE5RVUZQYTA4c1JVRkJTelpVTEVsQlExb3NTVUZCYWtKcFJ5eEZRVUZOY2xZc1VVRkRWbkZXTEVWQlFVMVRMR3RDUVRoRFZDeFBRVEZEUVZRc1JVRkJUV2h1UWl4TFFVRlBRU3hGUVVkUWJ5dENMRWRCUVdsQ2NGZ3NSVUZCVFhWRUxITkNRVVZ3UWpsTkxFVkJRVkY1U0N4WFFVTnhReXhKUVVGd1JIcElMRVZCUVZGNVNDeFRRVUZUYkcxQ0xFMUJRVTkzTDBJc1JVRkJWVGt5UWl4TlFVRlBjVm9zUzBGRGVrTlFMRVZCUVZrdlpDeEpRVWxRTmpkQ0xFZEJRVlUxSzBJc1JVRkJXU3RETEVWQlFVMTZReXhOUVVGaFJpeEZRVUZWTWtNc1RVRkhka1J6VFN4RlFVRk5kRTBzUlVGQlRUWTNRaXhOUVVkWU56ZENMRVZCUVUwMk4wSXNSMEZCVnl4TlFVbHNRbXc1UWl4RlFVRlBOR3hDTEUxQlFVMTFRaXhWUVVGWmRtOUNMRVZCUlhCQ1oyNUNMRVZCUVUxeFF5eDNRa0ZEVm10V0xFVkJRVmx1ZDBJc2FVSkJRV3RDY0U4c1JVRkJUVzByUWl4SlFVZHlRekUzUWl4RlFVRk5la01zUzBGRlJHZHVRaXhGUVVGTmNVTXNkMEpCUTFaclZpeEZRVUZaYkdZc2IwSkJRWEZDY21Zc1JVRkJUVzByUWl4SlFVZDRReTg0UWl4RlFVRlBOR3hDTEUxQlFVMTFRaXhsUVVGWmNtdENMRVZCUlhCQ05rc3NTVUZEU25STkxFVkJRVTAyTjBJc1IwRkJWM1oyUWl4SlFVMWthVmtzUlVGQlRYSldMRk5CUzJRcmMwSXNVMEZCVlN4VFFVRlZNU3RDTEVWQlFVMTVReXhGUVVGTmRXdENMRWRCUXk5Q0xFbEJRVWx1WXl4RlFVRkpla29zUlVGQlQyMURMRTlCUTJRc1NVRkJTVzVETEVWQlFVOTFiVUlzVFVGRFdGZ3NSVUZEUVN4RFFVTkRhRzVDTEV0QlFVMUJMRVZCUTA0MGNVSXNZVUZCWVN4SlFVbG1lSEJDTEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXpkakxFVkJRVWNzUzBGQlRYQkpMRTFCUzJwRGNrSXNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZGYWtKdGEwSXNVVUZCVXl4VFFVRlZNVzVDTEVWQlFVMHJaMElzUjBGRGVFSXNUMEZCVHpGcFFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVekZ1UWl4RlFVRk5LMmRDTEVWQlFVMHhhVUlzVTBGSGNFTnpaME1zWlVGQlowSXNVMEZCVlRNclFpeEZRVUZOSzJkQ0xFZEJReTlDTEVsQlFVbDBaU3hGUVVGUGNFVXNTMEZCVFN4SFFVTnFRaXhIUVVGTGIwVXNSVUZEU2l4UFFVRlBja0lzUlVGQlR6UnNRaXhOUVVGTlZTeFJRVUZUTVc1Q0xFVkJRVTByWjBJc1JVRkJUWFJsTEVkQlFVMHNUVUZqTlVOb1JDeEZRVUZSZHl0Q0xGTkJRMkkzT0VJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlcxU0xFMUJRVThzVlVGQlYyZGFMRXRCUVUwc1dVRkJZeXhUUVVGVlN5eEZRVUZOTlVRc1IwRkhjRVVzU1VGQlNXNWpMRVZCUVZVc1UwRkJWV2xoTEVkQlEzWkNOV3hDTEVWQlFVODBiRUlzVFVGQlRUQllMRk5CUVZWNFZpeEZRVUZMYkVNc1JVRkJUVzVxUWl4UFFVRlJla01zUlVGQlR6UnNRaXhOUVVGTmEwTXNTVUZCUzJ4RExFdEJSemRFTld4Q0xFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjVUQ3hIUVVGUkxFTkJRemRDVUN4TlFVRlBMRmRCU1U0c1NVRkJTWEJ2UWl4RlFVRk5iRU1zUzBGQlMybE9MR1ZCUVdsQ2FrNHNTMEZCUzBvc1ZVRkJXVWtzUzBGRGFFUjFaME1zUlVGQlZ6RmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4SFFVVTFRakJXTEVkQlEweHlLMElzUlVGQlNUWk9MR2xDUVVGclFqQmxMRVZCUVUwdlppeEhRVUZUTEVkQlJYUkRiVlVzUlVGQlUzaENMRTlCUVZGdVppeEZRVUZMTW05Q0xFZEJRVTh3Vml4SFFVRlpMRWRCUVUwc1NVRkZhRVE1Vml4VFFVRlZMRmRCUTFRc1NVRkJTWFp2UWl4RlFVRk5iRU1zUzBGQlMybE9MR1ZCUVdsQ2FrNHNTMEZCUzBvc1ZVRkJXVWtzUzBGRGFFUjFaME1zUlVGQlZ6RmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4SFFVRlJMRVZCUlhCRE1GWXNSVUZMVERGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhGUVVGTE1GWXNTVUZLTTBKeUswSXNSVUZCU1RobExHOUNRVUZ4UW5sT0xFVkJRVTB2Wml4SFFVRlRMRWRCUTNoRGJWVXNSVUZCVTJoR0xFOUJRVkV6WWl4RlFVRkxNbTlDTEZGQlV6TkNMRWxCUVVrelZpeEhRVUZYYmxZc1JVRkJUMjFXTEZOQlJXeENjbFFzUjBGQlVTeERRVUZGYzBZc1MwRkJUWE5DTEV0QlFVczJha0lzVDBGRmNrSnJWU3hIUVVGVExFdEJTMko2T1VJc1JVRkJUekE1UWl4VFFVRlhMRk5CUVZVdlpDeEhRVU16UWl4SlFVRkpOMDhzUlVGQlN6WnpRaXhGUVVOVUxFbEJRVTFvWlN4SFFVRjNRaXhwUWtGQlZFRXNSVUZEY0VJc1QwRkJUeXhMUVV0U0xFbEJRME0zVHl4SFFVRk5MRWxCUVUwNVZDeEZRVUZQTkdkRExGZEJRV05ETEdkQ1FVRnBRbXhsTEVWQlFVMHNXVUZEZGtRc1RVRkJVV3hYTEVsQldWWXNUMEZXUVdzd1FpeEZRVUZyUWpkelFpeEhRVUZQUVN4RlFVRkplRWNzY1VKQlFYTkNMR1ZCUVdsQ0xFZEJRemxFZDBjc1NVRkJUelp6UWl4SFFVTmFNemxDTEVWQlFVOXZSQ3hOUVVGUExHbENRVU5pZFRaQ0xFVkJRME16T1VJc1JVRkJUMjlDTEVsQlFVdDFPRUlzUlVGQlowSnVNRUlzVjBGQldTeFRRVUZWWjBNc1IwRkRha1FzVDBGQlQwRXNSVUZCUnpoRUxHTkJRMUI2UlN4TFFVRk5MRTFCUTFZNFZTeEpRVWRKTjA4c1IwRkpVaXhKUVVORFozUkNMRWRCUVZjc1VVRkRXRU1zUjBGQlVTeFRRVU5TUXl4SFFVRnJRaXgzUTBGRGJFSkRMRWRCUVdVc2NVTkJSV2hDTEZOQlFWTkRMRWRCUVdFdlNTeEZRVUZSTlRKQ0xFVkJRVXMwTDBJc1JVRkJZVEZzUWl4SFFVTXZReXhKUVVGSmNGY3NSVUZGU2l4SFFVRkxUeXhOUVVGTlF5eFJRVUZUZEVVc1IwRkhia0o1UWl4RlFVRlBhMElzUzBGQlRUTkRMRVZCUVVzc1UwRkJWV0VzUlVGQlIybGhMRWRCUTNwQ09HdENMRWRCUVdWTUxFZEJRVk55ZWtJc1MwRkJUVEJ4UWl4SFFVZHNRekZqTEVWQlFVc3dZeXhGUVVGUk9XSXNSMEZMWWpaclFpeEhRVU5ETDBrc1JVRkJVeXhMUVVGeFFpeHBRa0ZCVGpsaUxFZEJRWFZDTEUxQlFVeEJMRVZCUVZscVlTeEZRVUZKTEVsQlFVOHNTVUZEYWtWcFlTeEZRVU5CT0d0Q0xFVkJRMEV4YkVJc1ZVRkxSeXhIUVVGTk1HeENMRWRCUVdsRExGZEJRV3hDY0N0Q0xFVkJRVkY0UWl4SFFWVnVRMnRoTEVWQlFVc3dZeXhGUVVGUk5USkNMRkZCVUdJc1NVRkJUVGhFTEV0QlFWRTVSQ3hGUVVOaU1pOUNMRWRCUVdFdlNTeEZRVUZUTEVsQlFVMDVlVUlzUlVGQlR5eEpRVUZMT1VRc1JVRkJTemhFTEVkQlFWRTROMElzUlVGQllURnNRaXhIUVZseVJYcFpMRVZCUVU5dkswSXNUVUZCVVN4VFFVRlZhRFJDTEVWQlFVY3JNMElzUjBGRE0wSXNTVUZCU1doS0xFVkJRMGhyU2l4RlFVRkpMRWRCUTBvMWJFSXNSVUZCVFN4VFFVRlZkRTRzUlVGQlMyMTZRaXhIUVVkd1FpeEpRVUZKYmpaQ0xFVkJRVkUzUml4RlFVRlpaMmRETEVkQlEzWkNRU3hKUVVOQlFTeEZRVVZFUkN4RlFVRkhRU3hGUVVGRkx6bENMRkZCUVZkcEswSXNiVUpCUVc5Q2NIcENMRWRCUVZFc1NVRkRNME52ZWtJc2JVSkJRVFpDTEUxQlFWUndOa0lzUlVGQlowSXNSMEZCUzBFc1NVRkhOVU1zUjBGQlZTeE5RVUZNYVVNc1JVRkRTaXhOUVVGUExFZEJTVklzUjBGQlMzaEVMRTFCUVUxRExGRkJRVk4xUkN4SlFVRlRRU3hGUVVGRk5VWXNVMEZCVjFJc1JVRkJUekpETEdOQlFXVjVSQ3hIUVVjdlJIQkhMRVZCUVU5clFpeExRVUZOYTBZc1JVRkJSeXhYUVVObWNWTXNSVUZCUzNoaUxFdEJRVXR2Uml4TFFVRk5jRVlzUzBGQlMydElMR05CVDNSQ0xFbEJRVTFuZUVJc1MwRkJWUzkxUWl4RlFVTm1PRE5DTEVkQlFXRXZTU3hGUVVGUkwzVkNMRVZCUVVjcmRVSXNSMEZCVldkS0xFVkJRV0V4YkVJc1IwRkxha1FzVDBGQlR6UnNRaXhGUVVGRmVIcENMRXRCUVUwc1RVRkhhRUkzU3l4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbkU0UWl4VlFVRlhMRmRCUTFZc1QwRkJUM2dyUWl4RlFVRlBieXRDTEUxQlFVOXVhRU1zUzBGQlMzZG9ReXh0UWtGRk0wSkJMR1ZCUVdkQ0xGZEJRMllzVDBGQlQzaG9ReXhMUVVGTGJVVXNTVUZCU3l4WFFVZG9RaXhKUVVGSk1FNHNSVUZCVnpsUExFVkJRVTgwWml4TFFVRk5NMmxDTEV0QlFVMHNXVUZEYkVNc1QwRkJUelpTTEVWQlFWYzVUeXhGUVVGUE1rUXNWVUZCVjIxTUxFZEJRV0UzVWl4UFFVTTVRM0ZSTEU5QlFWRXNWMEZEV0N4SlFVRkpNVThzUlVGQlR6TkNMRXRCUVVzeVFpeExRVWRvUWl4UFFVRlBNMElzUzBGQlMyOUdMRTlCUVZOeVF5eEZRVUZSTDBNc1RVRkJUMnRoTEVkQlFVa3NZMEZEZGtNNGJVSXNSMEZCWVhoNlFpeExRVUZOZUU0c1MwRkJTMjlOTEZsQlFXVXlNRUlzUjBGQlowSjJla0lzUzBGQlRUZE1MRXRCUXpORU0wSXNTMEZCU3pCV0xGVkJRVmx6VVN4SFFVRmxlRmtzUzBGQlRUZE1MRTFCUTNSRGQwTXNTVUZCU3l4VFFVRlZiMFFzUlVGQlNXNUVMRWRCUTNSQ0xFbEJRVWxvUXl4RlFVRk5WeXhGUVVGUkwwTXNUVUZCVDI5RExFMUJSWHBDTEU5QlFWa3NUVUZCVUVFc1JVRkRSeXhMUVVkSWRVUXNUVUZCVFVNc1VVRkJVM2hFTEVkQlExcFhMRVZCUVU5dlFpeEpRVUZMTDBJc1JVRkJTeXhUUVVGVlFTeEhRVU5xUXl4TlFVRlBMRU5CUVVWblJDeExRVUZOYUVJc1JVRkJTMmRDTEV0QlFVMDRRaXhOUVVGUE9VVXNSVUZCU1RaRUxGRkJRVk0yTmtJc1IwRkJUeXhYUVVsb1JDeERRVUZGTVRkQ0xFdEJRVTFvUWl4RlFVRkxaMElzUzBGQlRUaENMRTFCUVU4NVJTeEZRVUZKTmtRc1VVRkJVelkyUWl4SFFVRlBMRmRCUTJ4RWNEbENMRk5CUzA0c1NVRkRReXM1UWl4SFFVRk5MRTlCUTA1RExFZEJRVkVzVDBGRFVrTXNSMEZCWVN4blFrRkRZa01zUjBGQlZ5dzJRa0ZKV0VNc1IwRkJZU3hwUWtGRFlrTXNSMEZCV1N4UlFWZGFkRWdzUjBGQllTeEhRVTlpZFVnc1IwRkJZU3hIUVVkaVF5eEhRVUZYTEV0QlFVdDBhRU1zVDBGQlVTeExRVWQ0UW5Wb1F5eEhRVUZsY21sRExFVkJRVk13UXl4alFVRmxMRXRCUzNoRExGTkJRVk0wTDBJc1IwRkJOa0pETEVkQlIzSkRMRTlCUVU4c1UwRkJWVU1zUlVGQmIwSnNhMElzUjBGRlJDeHBRa0ZCZGtKcmEwSXNTVUZEV0d4clFpeEZRVUZQYTJ0Q0xFVkJRMUJCTEVWQlFYRkNMRXRCUjNSQ0xFbEJRVWxETEVWQlEwaHNaME1zUlVGQlNTeEZRVU5LYldkRExFVkJRVmxHTEVWQlFXMUNOVFpDTEdOQlFXTnhSaXhOUVVGUGNWQXNTVUZCYlVJc1IwRkZlRVVzUjBGQlN6ZGhMRVZCUVZrMll5eEhRVWRvUWl4TFFVRlZiV3RDTEVWQlFWZERMRVZCUVZkdVowTXNUVUZIVWl4TlFVRnNRbXRuUXl4RlFVRlZMRWxCUTJSQkxFVkJRVmRCTEVWQlFWTXZhRU1zVFVGQlR5eEpRVUZQTEV0QlEyaERObWhETEVWQlFWZEZMRWRCUVdGR0xFVkJRVmRGTEVsQlFXTXNTVUZCU3pGM1FpeFJRVUZUZFUwc1MwRkpMMFJwYTBJc1JVRkJWMFVzUjBGQllVWXNSVUZCVjBVc1NVRkJZeXhKUVVGTGVtaERMRXRCUVUxelpDeEpRVkZ1UlN4VFFVRlRjV3RDTEVkQlFTdENTaXhGUVVGWGFEbENMRVZCUVZNME1VSXNSVUZCYVVKNVNDeEhRVVUxUlN4SlFVRkpReXhGUVVGWkxFZEJRMlpETEVWQlFYRkNVQ3hKUVVGalNpeEhRVVZ3UXl4VFFVRlRXU3hGUVVGVFRpeEhRVU5xUWl4SlFVRkpNWE5DTEVWQlkwb3NUMEZpUVRoelFpeEZRVUZYU2l4SlFVRmhMRVZCUTNoQ2RDOUNMRVZCUVU5clFpeExRVUZOYXl0Q0xFVkJRVmRGTEVsQlFXTXNSMEZCU1N4VFFVRlZjR3hDTEVWQlFVY3liRUlzUjBGRGRFUXNTVUZCU1VNc1JVRkJjMEpFTEVWQlFXOUNlamxDTEVWQlFWTTBNVUlzUlVGQmFVSjVTQ3hIUVVONFJTeE5RVUZ2UXl4cFFrRkJlRUpMTEVkQlExWklMRWRCUVhGQ1JDeEZRVUZYU1N4SFFVdDBRa2dzU1VGRFJDOXpRaXhGUVVGWGEzUkNMRkZCUkdZc1IwRklUakU1UWl4RlFVRlJiVGxDTEZWQlFWVXpkMElzVVVGQlUydDRRaXhIUVVNelFrWXNSVUZCVTBVc1NVRkRSaXhMUVV0R2JIUkNMRVZCUjFJc1QwRkJUMmQwUWl4RlFVRlRlRGxDTEVWQlFWRnRPVUlzVlVGQlZ5eE5RVUZWUnl4RlFVRlhMRTFCUVZORkxFVkJRVk1zUzBGTk0wVXNVMEZCVTBjc1IwRkJXWFE1UWl4RlFVRlJOVVFzUjBGRE5VSXNTVUZCU1hOTkxFVkJRVXQ2U1N4RlFVTlNjemxDTEVWQlFXTm9aME1zUlVGQlQybG5ReXhoUVVGaFJDeGhRVUZsTEVkQlJXeEVMRWxCUVUwM01FSXNTMEZCVDNSTkxFOUJRMUZwUlN4SlFVRm1ha1VzUlVGQlMzTk5MRTFCUTFBMk1FSXNSVUZCWVRjd1FpeEhRVUZSTVVrc1JVRkJWME1zU1VGQlZVRXNSVUZCVHl4TFFVRlZlVWtzUjBGQlVYUk5MRVZCUVV0elRTeEpRVTgxUlN4UFFVcExla2tzUjBGRFNqRkRMRVZCUVU5dFF5eFJRVUZSTEVWQlFVMU5MRVZCUVZGRExFZEJSM1pDUkN4RlFTOUZVbms0UWl4SFFVRmhNWE5DTEV0QlFVOU1MRWRCUVZOTExFdEJaMUEzUW5oVExFVkJRVTl0UXl4UFFVRlJMRU5CUjJRck9VSXNUMEZCVVN4RlFVZFNReXhoUVVGakxFZEJRMlJETEV0QlFVMHNSMEZGVGtnc1lVRkJZeXhEUVVOaVNTeEpRVUZMYkhWQ0xFZEJRVk5MTEV0QlEyUTFWQ3hMUVVGTkxFMUJRMDR3YUVNc1VVRjRVbWRDTERSRVFYZFNVVGN4UWl4TFFVRk5NRWdzUjBGQlUyOTFRaXhWUVVOMlF6bHFReXhSUVVGUkxFVkJRMUlyYWtNc1lVRkJZU3hGUVVOaVF5eFBRVUZQTEVWQlExQkRMRmxCUVdFc2JVUkJZMkpETEZGQlFWTXNRMEZEVW5CSkxFbEJRVXN3Unl4SFFVTk1laTlDTEV0QlFVMHNZVUZEVG0xMFFpeExRVUZOTEZsQlEwNDNZaXhKUVVGTExEUkNRVU5NT0haQ0xFdEJRVTBzY1VOQlIxQXpiMElzVTBGQlZTeERRVU5VYmtnc1NVRkJTeXhWUVVOTU5tSXNTMEZCVFN4VFFVTk9hVlVzUzBGQlRTeFpRVWRRUXl4bFFVRm5RaXhEUVVObUwzWkNMRWxCUVVzc1kwRkRUSFJTTEV0QlFVMHNaVUZEVG05b1F5eExRVUZOTEdkQ1FVdFFSU3hYUVVGWkxFTkJSMWhETEZOQlFWVnlORUlzVDBGSFZuTTBRaXhoUVVGaExFVkJSMkpETEZsQlFXRTVaMElzUzBGQlMwTXNUVUZIYkVJNFowSXNWMEZCV1d4b1F5eEZRVUZQTURsQ0xGVkJUM0JDYzBNc1dVRkJZU3hEUVVOYVN5eExRVUZMTEVWQlEweHVaME1zVTBGQlV5eEpRVTlZYVdoRExGVkJRVmNzVTBGQlZURXJRaXhGUVVGUk1pdENMRWRCUXpWQ0xFOUJRVTlCTEVWQlIwNXlRaXhIUVVGWlFTeEhRVUZaZERsQ0xFVkJRVkY2UXl4RlFVRlBhV2RETEdOQlFXZENiVUlzUjBGSGRrUnlRaXhIUVVGWkx5OUNMRVZCUVU5cFowTXNZVUZCWTNnNVFpeEpRVWR1UXpRclFpeGpRVUZsYkVNc1IwRkJOa0l4U0N4SlFVTTFRelpLTEdOQlFXVnVReXhIUVVFMlFrZ3NTVUZITlVOMVF5eExRVUZOTEZOQlFWVnNRaXhGUVVGTGFpdENMRWRCUjBFc2FVSkJRVkpwSzBJc1NVRkRXR29yUWl4RlFVRlZhU3RDTEVWQlExWkJMRTlCUVUxMk9VSXNSMEZKVUZZc1JVRkJWVUVzUjBGQlZ5eEhRVVZ5UWl4SlFVRkpieTlDTEVWQlIwaERMRVZCUjBGRExFVkJRMEZETEVWQlIwRkRMRVZCUjBGRExFVkJSMEUzYWtJc1JVRkhRVGhxUWl4RlFVZEJNV2xETEVWQlIwRXlhVU1zUlVGSFFURkVMRVZCUVVseUswSXNSVUZCVDIxb1F5eFZRVUZYTEVkQlFVa3ZLMElzUjBGSE1VSTBMMElzUlVGQmEwSXpSQ3hGUVVGRmJpdENMRk5CUVZkdEswSXNSVUZITDBJMFJDeEZRVUZ4UWpWRUxFVkJRVVZ1SzBJc1ZVRkRjRUk0YUVNc1JVRkJaMEo0YWtNc1ZVRkJXWGRxUXl4RlFVRm5RbmhvUXl4UlFVTTVRMUlzUlVGQlVXZHBReXhIUVVOU2FHbERMRVZCUVU4MGJFSXNUVUZIVW5KTExFVkJRVmQyWWl4RlFVRlBhMklzVjBGRGJFSm5ia0lzUlVGQmJVSnNhVU1zUlVGQlQyZGhMRlZCUVZjc1pVRkhja050YjBJc1JVRkJZVGxFTEVWQlFVVTRSQ3haUVVGakxFZEJSemRDUXl4RlFVRnBRaXhIUVVOcVFrTXNSVUZCYzBJc1IwRkhkRUpETEVWQlFWY3NWMEZIV0RkRExFVkJRVkVzUTBGRFVISm9RaXhYUVVGWkxFVkJSMXB0YTBJc2EwSkJRVzFDTEZOQlFWVndNMElzUjBGRE5VSXNTVUZCU1hKQ0xFVkJRMG9zUjBGQlMydFZMRVZCUVZrc1EwRkRhRUlzU1VGQlRUSnFRaXhGUVVWTUxFbEJSRUZCTEVWQlFXdENMRWRCUTFJM00wSXNSVUZCVVNzd1FpeEhRVUZUTVRCQ0xFdEJRVTExTTBJc1NVRkRhRU5ETEVWQlFXbENOek5DTEVWQlFVOHNSMEZCU1hKR0xHTkJRV2RDTEUxQlEzcERhemxDTEVWQlFXbENOek5DTEVWQlFVOHNSMEZCU1hKR0xHTkJRV2RDTEUxQlFWTXNTVUZEY2tRNVJ5eFBRVUZSYlUwc1JVRkJUeXhKUVVkd1FrRXNSVUZCVVRZelFpeEZRVUZwUW5neVFpeEZRVUZKTVVjc1kwRkJaMElzUzBGRk9VTXNUMEZCWjBJc1RVRkJWSEZHTEVWQlFXZENMRXRCUVU5QkxFVkJRVTFsTEV0QlFVMHNUMEZKTTBNeU0wSXNjMEpCUVhWQ0xGZEJRM1JDTEU5QlFVOTRhMElzUlVGQldUQnFRaXhGUVVGM1FpeE5RVWsxUTJVc2FVSkJRV3RDTEZOQlFWVndaME1zUlVGQlRUaENMRWRCVFdwRExFOUJUR3RDTEUxQlFXSTJXaXhKUVVOS00ySXNSVUZCVDJkblF5eEZRVUZ4UW1oblF5eEZRVUZMYjBNc1pVRkRhRU0wT1VJc1JVRkJjVUpvWjBNc1JVRkJTMjlETEdkQ1FVRnRRbkJETEVWQlF6bERLeTlDTEVWQlFXZENMeTlDTEVkQlFWTTRRaXhIUVVWdVFteElMRTFCU1ZKNWJFTXNhVUpCUVd0Q0xGTkJRVlU1YWtNc1IwRkpNMElzVDBGSWEwSXNUVUZCWW05bUxFbEJRMHB4WjBJc1JVRkJSWE5GTEZOQlFWY3Zha01zUjBGRlVETkNMRTFCU1ZKcmJFTXNWMEZCV1N4VFFVRlZMMmRETEVkQlEzSkNMRWxCUVVsdVF5eEZRVU5LTEVkQlFVdHRReXhGUVVOS0xFZEJRVXMwWXl4RlFVZEtlV2hDTEVWQlFVMXVhMElzVDBGQlVXeGhMRVZCUVV0eEswSXNSVUZCVFcxRUxHTkJTWHBDTEVsQlFVMHpha01zUzBGQlVXMURMRVZCUTJJclowTXNSVUZCV1d4cVF5eEhRVUZUTEVOQlFVVnJha01zUlVGQldXeHFReXhIUVVGUmJVTXNSVUZCUzI1RExFbEJTVzVFTEU5QlFVOW9ReXhOUVVsU05HeERMRTFCUVU4c1UwRkJWVU1zUjBGRGFFSXNTVUZCU1VNc1JVRkJXVVFzUjBGQlkxSXNSVUZMT1VJc1QwRktTMlFzUjBGRFNrRXNSVUZCVlhGQ0xFMUJRVTlGTEVkQlJXeENiRGxDTEVWQlFVMHNSVUZCUjJzNVFpeEhRVU5HT1d4RExFOUJiMEpXTEVkQlprRnpaU3hGUVVGVE1VSXNVVUZCVXpSc1FpeEhRVXRzUW5CQ0xFVkJRVVZuUXl4TlFVRlZRU3hIUVVGUGFFTXNSVUZCUldkRExFdEJRVTlzZFVJc1IwRkJVMHNzVFVGQlV5eEpRVU0xUTNSUUxGRkJRVk0yTjBJc1IwRkJWelZ6UWl4SFFVRlRiM1ZDTEZOQlFWY3NUVUZITVVOc1F5eEZRVUZGZWk5Q0xFdEJRVTkzUkN4RlFVRlJkMWdzVVVGQlZYaFlMRVZCUVZGNFJDeE5RVUZSZVM5Q0xFVkJRVVY2YTBJc1VVRkJWWGxyUWl4RlFVRkZlaTlDTEV0QlIzcEVlUzlDTEVWQlFVVnJRaXhYUVVGamJFSXNSVUZCUldsQ0xGVkJRVmtzUzBGQlRUYzJRaXhqUVVGamNVWXNUVUZCVDNGUUxFbEJRVzFDTEVOQlFVVXNTVUZIZUVRc1RVRkJha0pyYkVJc1JVRkJSVEpGTEZsQlFYTkNMRU5CUXpWQ2JrSXNSVUZCV1doc1F5eEZRVUZUTUVNc1kwRkJaU3hMUVV0d1F5eEpRVU5EYzJsRExFVkJRVlZ5ZGtJc1MwRkJUelp5UWl4RlFVRkZaME1zU1VGSmJrSjNRaXhGUVVGVmNuWkNMRXRCUVU5eGRrSXNSVUZCVlhKMlFpeExRVU16UWpaeVFpeEZRVUZGTWtVc1dVRkJZemxFTEVkQlFXRnhRaXhUUVVGWExFdEJRVTl5UWl4SFFVRmhLMFFzVFVGRE0wUndRaXhGUVVGVmRFSXNVMEZCVnl4TFFVRlBjMElzUlVGQlZXOUNMRXRCUTNSRExFMUJRVkY0TlVJc1IwRkpWRFF3UWl4RlFVRkZNa1VzWVVGQll5eEhRV0ZzUWl4SFFWSkxNMFVzUlVGQlJURmxMRTFCUVZFd1pTeEZRVUZGYlVNc1lVRkJhVU1zYVVKQlFWaHVReXhGUVVGRk1XVXNUMEZEZUVNd1pTeEZRVUZGTVdVc1MwRkJUek5tTEVWQlFVOXZLMElzVFVGQlQwTXNSVUZCUlRGbExFdEJRVTB3WlN4RlFVRkZSaXhqUVVsc1EzRkNMRWRCUVN0Q0wwZ3NSMEZCV1RSSExFVkJRVWRxT0VJc1JVRkJVM0U1UWl4SFFVZHNSSHBvUWl4RlFVTktMRTlCUVU5NWFFSXNSVUU0UlZJc1NVRkJUWEpuUXl4TFFYcEZUakJwUXl4RlFVRmpPV2hETEVWQlFVODBiRUlzVDBGQlUzbFpMRVZCUVVVMWFFTXNVMEZIVVN4SFFVRndRblZFTEVWQlFVOXJaME1zVlVGRE1VSnNaME1zUlVGQlR6UnNRaXhOUVVGTlZTeFJRVUZUTEdGQlNYWkNLMWdzUlVGQlJYb3ZRaXhMUVVGUGVTOUNMRVZCUVVWNkwwSXNTMEZCUzNGblFpeGpRVWRvUW05bUxFVkJRVVUyUlN4WlFVRmpjRVVzUjBGQlYzSXdRaXhMUVVGTk5IcENMRVZCUVVWNkwwSXNUVUZMYmtNMmFVTXNSVUZCVjNCRUxFVkJRVVZuUXl4SlFVRkpiamxDTEZGQlFWTjVOMElzUjBGQlR5eEpRVWN6UWs0c1JVRkJSVFpGTEZkQmQwSkpOMFVzUlVGQlJURmxMRTFCUVZFd1pTeEZRVUZGYlVNc1lVRkRiMFFzUzBGQmVrVnVReXhGUVVGRmNVTXNZVUZCWlN4SlFVRkxOV2xETEZGQlFWTXNkVU5CUTJwRGRXZERMRVZCUVVVeFpTeExRVUZQTUdVc1JVRkJSVEZsTEV0QlFVdDZZeXhSUVVGVGR6ZENMRWRCUVVzc1QwRjJRamxDY1VRc1JVRkJWekZFTEVWQlFVVm5ReXhKUVVGSk9XbERMRTFCUVU5cmEwTXNSVUZCVTI1b1F5eFJRVWMxUWlzNVFpeEZRVUZGTVdVc1QwRkJWVEJsTEVWQlFVVnRReXhoUVVGcFF5eHBRa0ZCV0c1RExFVkJRVVV4WlN4UlFVTXhRemhvUWl4SlFVRmphRVVzUjBGQlQyaDZRaXhMUVVGTlp6TkNMRWRCUVdFc1NVRkJUU3hMUVVGUmNFUXNSVUZCUlRGbExGbEJSMnBFTUdVc1JVRkJSVEZsTEU5QlNVOHNTVUZCV2pCbExFVkJRVVZ1ZWtJc1VVRkRUblV5UWl4RlFVRlhRU3hGUVVGVGRpdENMRkZCUVZNd04wSXNSMEZCV1N4TlFVTjZRMjFFTEVkQlFXRjBSU3hIUVVGUGFIcENMRXRCUVUxbk0wSXNSMEZCWVN4SlFVRk5MRXRCUVZFc1MwRkJVek5wUXl4SFFVRk5jMFlzVDBGRGJrVXlPVUlzUjBGSlJqRkVMRVZCUVVWblF5eEpRVUZOYjBJc1JVRkJWMDBzUjBGVFpqRkVMRVZCUVVVNFJTeGhRVU5FYm1wRExFVkJRVTl0WjBNc1lVRkJZM05DTEVsQlEzcENhRU1zUlVGQlRXZEVMR2xDUVVGclFpeHZRa0ZCY1VKNmFVTXNSVUZCVDIxblF5eGhRVUZqYzBJc1NVRkZPVVI2YUVNc1JVRkJUMjluUXl4TFFVRk5jVUlzU1VGRGFrSm9ReXhGUVVGTlowUXNhVUpCUVd0Q0xHZENRVUZwUW5wcFF5eEZRVUZQYjJkRExFdEJRVTF4UWl4TlFVdHVSSEJFTEVWQlFVVXhaU3hOUVVGUk1HVXNSVUZCUlRaRkxHRkJRV2RETEVsQlFXeENOMFVzUlVGQlJYRkRMR0ZCUVhsQ2RDdENMRVZCUVZGekswSXNZMEZEYWtWcVFpeEZRVUZOWjBRc2FVSkJRV3RDTEdWQlFXZENjRVVzUlVGQlJYRkRMR0ZCU1RORGFrSXNSVUZCVFdkRUxHbENRVU5NTEZOQlEwRndSU3hGUVVGRmEwSXNWVUZCVnl4SlFVRlBiRUlzUlVGQlJYTkRMRkZCUVZOMFF5eEZRVUZGYTBJc1ZVRkJWeXhKUVVNelEyeENMRVZCUVVWelF5eFJRVUZUZEVNc1JVRkJSV3RDTEZWQlFWY3NTMEZEUVN4TlFVRnlRbXhDTEVWQlFVVnJRaXhWUVVGWExFZEJRV01zUzBGQlQwNHNSMEZCVnl4WFFVRmhMRWxCUXpkRVdpeEZRVUZGYzBNc1VVRkJVeXhOUVVsR2RFTXNSVUZCUlN0RkxGRkJRMW96UkN4RlFVRk5aMFFzYVVKQlFXdENjbXBETEVWQlFVZHBMMElzUlVGQlJTdEZMRkZCUVZOb2EwTXNTVUZKZGtNc1IwRkJTMmt2UWl4RlFVRkZaMFlzWTBGREswTXNTVUZCYmtSb1JpeEZRVUZGWjBZc1YwRkJWek5zUXl4TFFVRk5jMnRETEVWQlFXbENka01zUlVGQlQzQkNMRWxCUVdsQ2NtZENMRWRCUnpsRUxFOUJRVTk1YUVJc1JVRkJUVzlFTEZGQlpXUXNSMEZZUVZBc1JVRkJWeXhSUVVkWVNpeEZRVUZwUW5wd1FpeEpRVUZMTkd4Q0xFVkJRVVZxUnl4VlFVTjRRbkZJTEVWQlFVMDFOVUlzUzBGQlRYYzBRaXhGUVVGRmFVWXNVMEZEWkRkRUxFVkJRVTB6YkVJc1MwRkJUWFZyUWl4RlFVRkZhamRDTEU5QlIyUnZLMElzUlVGQldXaERMRWRCUVN0Q1VpeEhRVUZaV0N4RlFVRkhhamhDTEVWQlFWTnhPVUlzUjBGTE5VUXNRMEZUVGl4SFFWSkJRU3hGUVVGTmNtaENMRmRCUVdFc1JVRkhaREJxUWl4SFFVTktSeXhGUVVGdFFqTmlMRkZCUVZNc1YwRkJXU3hEUVVGRmJWb3NSVUZCVDNCQ0xFbEJTVGREY21kQ0xFVkJRMG9zVDBGQlQzbG9RaXhGUVVsSWNFSXNSVUZCUlc5RExFOUJRVk53UXl4RlFVRkZOVVFzVVVGQlZTeEpRVU16UW0xSUxFVkJRV1UxYTBNc1JVRkJUMmRuUWl4WFFVRlpMRmRCUTJwRGVXbENMRVZCUVUxdlJDeE5RVUZQTEZsQlExaDRSU3hGUVVGRk5VUXNWVUZIVGl4SlFVTkRlbU1zUjBGQldTeEZRVU5hZDJwQ0xFVkJRVlVyUWl4TFFVRk5ia0lzUlVGQlowSjJPRUlzUjBGREwwSXNUVUZCVVRSRUxFZEJSMVFzUjBGQlMzVlZMRVZCUTBvc1RVRkJUWFpWTEVWQlNWQTFSQ3hIUVVGUExFVkJRVWMwUkN4VFFXaERXRFZFTEVkQlFVOHNSVUZCUnl4blFrRnhRMWdzVTBGQlUwRXNSVUZCVFNzNFFpeEZRVUZSV1N4RlFVRnJRa01zUlVGQlYwd3NSMEZEYmtRc1NVRkJTVTBzUlVGQlYwb3NSVUZCVTJ4blF5eEZRVUZQZFdkRExFVkJRVlZETEVWQlEzaERaQ3hGUVVGaFZTeEZRVWRVZUd4Q0xFbEJTVXhCTEVkQlFWa3NSVUZIVURScVFpeEhRVU5LTld0RExFVkJRVTh3T1VJc1lVRkJZMnRJTEVkQlMzUkNTaXhQUVVGWk1TdENMRVZCUjFvMEswSXNSVUZCZDBJd1FpeEhRVUZYTEVkQlIyNURNMFFzUlVGQlRYSm9RaXhYUVVGaGQydENMRVZCUVZNc1JVRkJTU3hGUVVGSkxFVkJSM0JEWXl4RlFVRlpaQ3hIUVVGVkxFdEJRVTlCTEVWQlFWTXNTMEZCYTBJc1RVRkJXRUVzUlVGSGVFTmhMRWxCUTBwRkxFVkJOMnhDU2l4VFFVRTRRblJHTEVWQlFVZHZRaXhGUVVGUFowVXNSMEZQZGtNc1NVRk1RU3hKUVVGSlNTeEZRVUZKYW14RExFVkJRVTFyYkVNc1JVRkJaVU1zUlVGRE5VSTVja0lzUlVGQlYyOXRRaXhGUVVGRmNHMUNMRk5CUTJKemJrSXNSVUZCV1d4Q0xFVkJRVVZyUWl4VlFVZFpMRTFCUVc1Q1FTeEZRVUZYTEVsQlEyeENRU3hGUVVGVmJEQkNMR0ZCUTBWMlNTeEpRVUZRSzJkRExFbEJRMHBCTEVWQlFVdDRSaXhGUVVGRmMwVXNWVUZCV1d4RUxFVkJRVTA0UXl4clFrRkJiVUlzYVVKQlN6bERMRWRCUVV0elFpeEZRVU5LTEVsQlFVMXFiRU1zUzBGQlVYRmFMRVZCUTJJc1IwRkJTMEVzUlVGQlZYSmFMRWxCUVZWeFdpeEZRVUZWY2xvc1IwRkJUelpNTEV0QlFVMXZOVUlzUjBGQlR5eERRVU4wUkhSRkxFVkJRVlV6ZDBJc1VVRkJVMmhSTEVkQlEyNUNMRTFCVFVnc1IwRkJTekpuUXl4RlFVRlhMRXRCUVU5clJTeEZRVU4wUWtzc1JVRkJaMEoyUlN4RlFVRlhMRTlCUTNKQ0xFTkJSMDRzU1VGQlRUTm5ReXhMUVVGUk5tdERMRVZCUVZrc1EwRkRla0lzU1VGQlRXeEZMRVZCUVZjc1NVRkJUMnhDTEVWQlFVVjVReXhYUVVGWmJHbERMRVZCUVU4c1NVRkJUVEpuUXl4RlFVRlhMRWxCUVZFc1EwRkRja1YxUlN4RlFVRm5RbXhzUXl4RlFVTm9RaXhOUVVWTGJXeERMRWxCUTB4QkxFVkJRV2RDYm14RExFZEJTMnhDYTJ4RExFVkJRV2RDUVN4SFFVRnBRa01zUlVGTmJFTXNSMEZCUzBRc1JVRkpTaXhQUVVoTFFTeEpRVUZyUW5aRkxFVkJRVmNzU1VGRGFrTkJMRVZCUVZVemQwSXNVVUZCVTJzeFFpeEhRVVZpVEN4RlFVRlhTeXhIUVRCcFFreEZMRU5CUVhGQ00wWXNSVUZCUjI5Q0xFVkJRVTluUlN4TFFVbHlRME1zUjBGRFRERnFReXhGUVVGUE5rUXNVVUZCVXl4VFFVRlZkelpDTEVWQlFVVnJRaXhaUVVGbExFZEJRek5EZGk5Q0xFVkJRVTgyUkN4UlFVRlRMRTlCUVZGM05rSXNSVUZCUld0Q0xGZEJRV01zU1VGRGVFTnNRaXhGUVVGRmVVTXNWMEZCV1N4bFFVRnJRaXhqUVVscVF6WkRMRVZCT1dsQ1NDeFRRVUZ6UW5SR0xFVkJRVWR6Uml4RlFVRlZiRVVzUlVGQlQybEZMRWRCUTNwRExFbEJRVWxQTEVWQlFVOURMRVZCUVZORExFVkJRVTE0TWtJc1JVRkJTM1ZMTEVWQlF6bENORzlDTEVWQlFXRXNSMEZIWW5aQ0xFVkJRVmxzUWl4RlFVRkZhMElzVlVGQlZXaHBReXhSUVVkNlFpeEhRVUZMWjJsRExFVkJRVmNzUjBGRFppeEpRVUZOTkVVc1MwRkJVVGxHTEVWQlFVVjVReXhYUVVObVFTeEZRVUZaY1VRc1JVRkJTekV2UWl4bFFVRnJRalExUWl4RlFVRkZlVU1zVjBGQldYRkVMRWRCVDI1RUxFbEJTRUZFTEVWQlFWVXpSU3hGUVVGVmJEQkNMRkZCUjFvMk5FSXNSMEZqVUN4SFFWcExOMFlzUlVGQlJYZERMR1ZCUVdkQ2NVUXNTMEZEZEVKNlJTeEZRVUZQY0VJc1JVRkJSWGRETEdWQlFXZENjVVFzU1VGQlkxQXNTVUZKYkVONmNrSXNSMEZCVVhkeVFpeEhRVUZoY2tZc1JVRkJSU3RHTEdGQlF6VkNWQ3hGUVVGWGRFWXNSVUZCUlN0R0xGZEJRVmxVTEVWQlFWVjBSaXhGUVVGRmFVSXNWMEZIZEVOd2JrSXNSVUZCVDJkelFpeEZRVU5RUVN4RlFVRlZNMFVzUlVGQlZXd3dRaXhSUVV0dVFpeEhRVUZwUWl4TlFVRmFOalJDTEVWQlJVcEJMRVZCUVZWb2MwSXNUMEZIU2l4SFFVRmpMRTFCUVZSQkxFZEJRV2RDUVN4SlFVRlRaM05DTEVWQlFWVXNRMEZOT1VNc1MwRklRVU1zUlVGQlQzSkVMRVZCUVZrMWIwSXNSVUZCVHl4SlFVRk5aM05DTEVsQlFXRndSQ3hGUVVGWkxFdEJRVTl2UkN4SlFVa3ZSQ3hKUVVGTlJDeExRVUZUYmtRc1JVRkpaQ3hKUVVSQmJucENMRVZCUVUxek1rSXNSVUZCVFRFdlFpeE5RVUZQTEUxQlExUXNTMEZCVVRJdlFpeEpRVWRxUWtNc1JVRkJUM0pFTEVWQlFWazFiMElzUlVGQlR5eEpRVUZOZGtzc1JVRkJTeXhMUVVOd1EyMTZRaXhGUVVGWkxFdEJRVTl1ZWtJc1JVRkJTeXhMUVVOaUxFVkJSMGNzU1VGQlZIY3lRaXhGUVVOS1FTeEZRVUZQY2tRc1JVRkJXVzFFTEVsQlIyZENMRWxCUVhoQ2JrUXNSVUZCV1cxRUxFdEJRM1pDUXl4RlFVRlZkakpDTEVWQlFVc3NSMEZEWmpSNFFpeEZRVUZWTTNkQ0xGRkJRVk5xUWl4RlFVRkxMRXRCUlhwQ0xFMUJUMG9zU1VGQll5eEpRVUZVZHpKQ0xFVkJSMG9zUjBGQlMwRXNSMEZCVVRsR0xFVkJRVVZuUnl4UFFVTmtWaXhGUVVGWFVTeEZRVUZOVWl4UlFVVnFRaXhKUVVORFFTeEZRVUZYVVN4RlFVRk5VaXhIUVVOb1FpeE5RVUZSYkRaQ0xFZEJRMVFzVFVGQlR5eERRVU5PTkZJc1RVRkJUeXhqUVVOUWFsa3NUVUZCVHl0blF5eEZRVUZQTVRaQ0xFVkJRVWtzYzBKQlFYZENlVThzUlVGQlR5eFBRVUZUWjNOQ0xFbEJVMnBGTEUxQlFVOHNRMEZCUlRkdlFpeE5RVUZQTEZWQlFWZHpSU3hMUVVGTloydENMRWRCYVdSd1FsY3NRMEZCWVdwSExFVkJRVWR6Uml4RlFVRlZiRVVzUlVGQlQybEZMRWRCUjNaRFFTeEhRVWREY2tZc1JVRkJSVGhGTEdOQlEwNVRMRVZCUVZkdVJTeEZRVUZOT0VNc2EwSkJRVzFDTEc5Q1FVVnVRM1pwUXl4RlFVRlBiV2RETEdGQlFXTnpRaXhIUVVGaGJVTXNTVUZGYmtOQkxFVkJRVmR1UlN4RlFVRk5PRU1zYTBKQlFXMUNMRmRCUlc1RGRtbERMRVZCUVU5dlowTXNTMEZCVFhGQ0xFZEJRV0Z0UXl4SlFVdGFMRTFCUVZob1FpeEhRVUUyUWl4VFFVRllka1VzUlVGQlJYb3ZRaXhMUVVONFFtdHJReXhGUVVGaExGbEJSMU1zVFVGQldFWXNSVUZEV0VVc1JVRkJZU3hsUVVsaVFTeEZRVUZoWVN4RlFVRlRkRzlDTEUxQlEzUkNhVzlDTEVWQlFWVkxMRVZCUVZOb2EwSXNTMEZGYmtJcmFrSXNTVUZFUVhSblF5eEZRVUZSZFdkRExFVkJRVk4yWjBNc1ZVRk5iRUpCTEVWQlFWRXdMMElzUjBGRFNFWXNSMEZCVjBVc1NVRkRaa0VzUlVGQllTeFJRVU5TUml4RlFVRlRMRWxCUTJKQkxFVkJRVk1zUzBGTldtNUVMRVZCUVUxdFJDeFBRVUZUUVN4RlFVTm1ia1FzUlVGQlRYRkVMRmxCUVdWVkxFZEJRVzlDVml4SFFVRmxMRWRCUjI1RVdTeEZRVU5LYm05Q0xFVkJRVk50UWl4WlFVRmhjMnhDTEVWQlFXbENMRU5CUVVWelFpeEZRVUZUVWl4RlFVRlpja1FzU1VGRk9VUnNhMElzUlVGQlUzVkNMRmRCUVZscmJFSXNSVUZCYVVJc1EwRkJSWFpETEVWQlFVOXhSQ3hGUVVGWk1TOUNMRWxCU1RWRWNUaENMRVZCUVUwd1F5eFhRVUZaUVN4SFFVTnNRa0VzVDBGQllYSXZRaXhGUVVWU1p5OUNMRWRCUTBwSExFVkJRVzFDTTJJc1VVRkJVMjlrTEVWQlFWa3NZMEZCWjBJc1dVRkRka1FzUTBGQlJXcEZMRVZCUVU5d1FpeEZRVUZIY1VZc1JVRkJXVW9zUlVGQlZXeG5ReXhKUVVsd1F6Z3JRaXhGUVVGcFFtcHVRaXhUUVVGVksyMUNMRVZCUVdsQ0xFTkJRVVYyUXl4RlFVRlBjVVFzU1VGRmFFUm9RaXhKUVVOS1J5eEZRVUZ0UWpOaUxGRkJRVk1zWlVGQlowSXNRMEZCUlcxYUxFVkJRVTl3UWl4TlFVY3pRM0lyUWl4RlFVRlBhMmRETEZGQlEyaENiR2RETEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXl4alFVdDZRaXhQUVVGUGJWb3NSMEZIVWpoRkxGRkJRVk1zVTBGQlZXeEZMRVZCUVVzeFowSXNSVUZCVFhobExFZEJRemRDTEU5QlFVOXVRaXhGUVVGUFZ5eEpRVUZMTUM5Q0xFVkJRVXN4WjBJc1JVRkJUWGhsTEVWQlFWVXNVMEZIZWtOeGFrTXNWVUZCVnl4VFFVRlZia1VzUlVGQlMyd3ZRaXhIUVVONlFpeFBRVUZQYmtJc1JVRkJUMWNzU1VGQlN6QXZRaXhQUVVGTGRqbENMRVZCUVZjelFpeEZRVUZWTEdGQlNTOURia0lzUlVGQlQydENMRXRCUVUwc1EwRkJSU3hOUVVGUExGRkJRVlVzVTBGQlZYTkVMRVZCUVVsdlZpeEhRVU0zUXpWYUxFVkJRVkUwV2l4SFFVRlhMRk5CUVZWNWJVSXNSVUZCU3pGblFpeEZRVUZOZUdVc1JVRkJWWFpETEVkQlZXcEVMRTlCVUV0T0xFVkJRVmx4YUVJc1MwRkRhRUl2WjBJc1JVRkJUMEVzUjBGQlVYVkRMRVZCUTJaQkxFVkJRVmQzWlN4RlFVTllRU3hQUVVGUE4yTXNSMEZKUkRsRExFVkJRVTkxYUVNc1MwRkJUWFpvUXl4RlFVRlBiVU1zVDBGQlVTeERRVU5zUTJzclFpeEpRVUZMUVN4RlFVTk1lbWhETEV0QlFVMW5ZaXhGUVVOT01HeENMRk5CUVZVeFowTXNSVUZEVml0blFpeExRVUZOUVN4RlFVTk9NbXBDTEZGQlFWTnVhVU1zUjBGRFVHNUNMRVZCUVU4eVF5eGpRVUZsTURsQ0xFbEJRVk5CTEU5QlNYQkRjbWRETEVWQlFVOXhhRU1zWTBGQlpTeFRRVUZWYUVRc1IwRkRMMElzU1VGQlNXb3ZRaXhGUVVOS0xFbEJRVTFCTEV0QlFVdHBMMElzUlVGQlJTdEZMRkZCUTJFc2FVSkJRWEJDYUd0RExFVkJRVVZ4Uml4blFrRkRUalExUWl4RlFVRkZjVU1zV1VGQlkzSkRMRVZCUVVVclJTeFJRVUZUYUd0RExFbEJRVThzVFVGTmNrTlpMRVZCUVU4MGMwSXNVMEZCVnl4VFFVRlZlVlFzUlVGQlMyb3JRaXhGUVVGVGFrUXNSMEZEZWtNc1QwRkJUMkVzUlVGQlQzVm9ReXhMUVVGTkxFTkJRMjVDYkVJc1NVRkJTMEVzUlVGSFRIcG9ReXhMUVVGTkxFMUJRMDR3WjBNc1UwRkJWU3hUUVVOV2NEQkNMRTlCUVU4c1JVRkRVSFV4UWl4UFFVRlBMRVZCUTFCb2EwTXNVVUZCVVN4RlFVdFNjV3RETEZkQlFWa3NRMEZEV0RKRUxHTkJRV1VzWTBGRmFFSk1MRmRCUVZrc1UwRkJWVlFzUjBGRGNrSXpha01zUlVGQlR6QkVMRmRCUVZscFowTXNSVUZCVlhab1F5eEZRVUZUYWtRc1QwRk5la05oTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENkV2xETEZGQlFWTXNVMEZCVlM5WUxFZEJRMnhDTEVsQlFVa3ZTQ3hGUVhsQ1NpeFBRWFpDU3pOdVFpeExRVUZOTEV0QlEweHhRaXhGUVVGWmNYVkNMRXRCUTJoQ1FTeEZRVUZQUVN4RlFVRkxhblpDTEV0QlFVMVVMRXRCUVUwc1MwRkpla0l5YmtJc1JVRkJUelZyUWl4RlFVRlJNbk5DTEVWQlFVMHhka0lzUzBGQlRTeEhRVUZKYVU0c1pVRkJaMEl4U1N4SFFVRkpMRWRCUVVsblFpeFBRVUZQTEVkQlJYcEVka1lzUzBGQlRTeEhRVUZKTkVNc1dVRkRaQ3RyUWl4RlFVRkxNa2tzWVVGQlkzUjNRaXhMUVVGTkxFbEJSekZDTW01Q0xFVkJRVXQ0YWtJc1NVRkJTeXhYUVVkVUxFbEJSa0VzU1VGQlNVTXNSVUZCVDNCRkxFdEJSVWh2UlN4RlFVRkxjMnBETEcxQ1FVTmFkR3BETEVWQlFVOUJMRVZCUVV0emFrTXNhMEpCUjJJc1QwRkJUM1JxUXl4SlFVTktaM05DTEU5QlFWRndkMElzVDBGSFRrRXNUVUZIVWpKdVF5eFZRVUZYTEZOQlFWVnFXU3hIUVVOd1FpeFBRVUZMY25WQ0xFVkJRVmx4ZFVJc1IwRkRWREYyUWl4TFFVRkxhVVVzUzBGQlRTeFRRVUZWT1VJc1IwRkRNMEpaTEVWQlFWRXZReXhOUVVGUE1tNURMRlZCUVZkcVdTeEZRVUZMYW5aQ0xFdEJRVTFVTEV0QlFVMXRReXhOUVVsMFEyNURMRXRCUVV0cFJTeExRVUZOTEZkQlEycENMRWxCUVVsM1Z5eEZRVUZQTVZnc1JVRkJVUzlETEUxQlEyeENaMklzUlVGQlYxQXNSVUZCUzA4c1YwRkZXa0VzUlVGQlV6TllMRTlCUTJJeVdDeEZRVUZUZVhOQ0xGRkJRVk12V0N4SFFVZHNRbXBXTEVWQlFVc3lWaXhQUVVGUlZpeE5RVXRvUWk5SUxFdEJRVTBzVTBGQlZTdElMRWRCUTJZc1NVRkJTV3RaTEVWQlFXbENkbTFETEVWQlFWbHhkVUlzUjBGRmFrTXNUMEZCVHpGMlFpeExRVUZMYVVVc1MwRkJUU3hUUVVGVk9VSXNSMEZETTBKWkxFVkJRVkV2UXl4TlFVRlBlVzVETEZGQlFWTkhMRVZCUVdsQ2JGa3NSVUZCUzJwMlFpeExRVUZOVkN4TFFVRk5iVU1zUjBGQlRYVjBRaXhOUVVsc1JXMVpMRTlCUVZFc1UwRkJWVGRyUXl4SFFVbHFRaXhQUVVoQmFFUXNTMEZCUzJ0VkxFOUJRVkZzVWl4SFFVRlhNbElzU1VGQlN5eFJRVUZUTVZFc1MwRkJUU3hYUVVNelEyeENMRVZCUVZFdlF5eE5RVUZQZVhkQ0xGbEJRV0Y2ZDBJc1MwRkJTM1ZOTEdOQlJUTkNkazBzVVVGTFZDdERMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkJVU3QyUWl4UFFVRlRMRk5CUVZWMk1VSXNSMEZEZEVNc1QwRkJVWEpDTEVWQlFVODJUeXhMUVVGTGFFa3NVVUZCVVdzclFpeFJRVUZUTVdwRExFbEJSWFJEY2tJc1JVRkJUelpQTEV0QlFVdG9TU3hSUVVGUmF5dENMRkZCUVZVc1UwRkJWVEZxUXl4SFFVTjJReXhUUVVGWFFTeEZRVUZMTW5WQ0xHRkJRV1V6ZFVJc1JVRkJTemgyUWl4alFVRm5RamwyUWl4RlFVRkxObmhDTEdsQ1FVRnBRalY1UWl4VFFVMHpSVTRzUlVGQlQybG5ReXhoUVVGaEswVXNTVUZCVFN4WFFVTjZRaXhKUVVORExFOUJRVThzU1VGQlNXaHZReXhGUVVGUGFXOURMR1ZCUTJwQ0xFMUJRVkY0TjBJc1RVRkhXQ3hKUVVGSmVUZENMRWRCUVcxQ0xFTkJSM0pDUXl4RlFVRkhMRWxCU1VoRExFdEJRVTBzUzBGRlVFTXNSMEZCWlhKc1F5eEZRVUZQYVdkRExHRkJRV0VyUlN4TlFVVndRek50UXl4RlFVRlJhVzVETEU5QlFWTkVMRWxCUVd0Q0xHOUNRVUZ4UWtFc1IwRkRlRVJvYmtNc1JVRkJVV3RxUXl4TFFVRlBPRVFzUzBGQmFVSkJMRWRCUldoRGNteERMRVZCUVU5emFFTXNZMEZCWlN4VFFVRlZiQzlDTEVkQlF5OUNMRWxCUVVscVFpeEZRVUZWYjJ0RExFVkJSMlFzUjBGQlMyeHVReXhGUVVGUmFXNURMRTFCUVZGRUxFdEJRV2xDYW1wRExFVkJRVkUwWjBNc1dVRkROME1zVFVGQlR5eERRVU5PVHl4TFFVRk5MRk5CUVZWSUxFVkJRVk5vVEN4SFFVTjRRaXhKUVVGSmFEVkNMRVZCUTBnMGJFTXNSVUZCVFRWcFF5eEZRVUZSTkdsRExFMUJWMllzUjBGVVFVRXNSVUZCU1ZFc1MwRkRTSEJxUXl4RlFVRlJlRVFzUzBGRFVuZEVMRVZCUVZGcEswSXNTVUZEVW1vclFpeEZRVUZSY1N0Q0xFMUJRMUp5SzBJc1JVRkJVWEZxUXl4VFFVTlNjbXBETEVWQlFWRnRVaXhWUVVsS2JsSXNSVUZCVVhOcVF5eFZRVU5hTEVsQlFVMTBiVU1zUzBGQlMyZEVMRVZCUVZGemFrTXNWVUZEYkVKV0xFVkJRVXMxYkVNc1IwRkJUV2RFTEVWQlFWRnpha01zVlVGQlYzUnRReXhIUVcxQ2FFTXNTVUZCVFVFc1MwRmtSR2RFTEVWQlFWRjFaME1zVlVGQldYRkRMRVZCUVVsMFF5eHJRa0ZETlVKelF5eEZRVUZKZEVNc2FVSkJRV3RDZEdkRExFVkJRVkYxWjBNc1ZVRlJla0oyWjBNc1JVRkJVVFJuUXl4aFFVRm5Ra2tzUlVGQlV5eHpRa0ZEZEVOQkxFVkJRVk1zYjBKQlFYVkNMR3RDUVVsMFFrRXNSVUZEVmpSQ0xFVkJRVWwyUXl4cFFrRkJhMEp5YWtNc1JVRkJSMmRyUXl4RlFVRlRhR3RETEVsQlNXNURLMElzUlVGQlZ5eFRRVUZWZGtNc1IwRkRjRUlzVDBGQlR5eFhRVU5FZFVNc1NVRkRTa0VzUlVGQlYyOXJReXhGUVVGblFsQXNSVUZCU1Zjc1QwRkRPVUpZTEVWQlFVbFpMRkZCUVZWYUxFVkJRVWxoTEZGQlFWVmlMRVZCUVVsakxGVkJReTlDWkN4RlFVRkpaU3h0UWtGQmNVSXNTMEZGWWl4VlFVRlVibTVETEVWQlEwcHZiVU1zUlVGQlNXNURMRkZCUTJkQ0xGVkJRVlJxYTBNc1JVRkxaMElzYVVKQlFXWnZiVU1zUlVGQlNYQkRMRTlCUTJaNFN5eEZRVUZWTEVWQlFVY3NVMEZGWWtFc1JVRkhRelJOTEVWQlFVbHdReXhQUVVOS2IwTXNSVUZCU1d4RExGbEJTVTR4U3l4RlFVTkRPRTBzUjBGQmEwSkdMRVZCUVVsd1F5eFRRVUZaYjBNc1JVRkJTWEJETEU5QlEzUkRiME1zUlVGQlNXeERMRmRCU3l0Q0xGVkJRV3BEYTBNc1JVRkJTV2RDTEdOQlFXZENMRk5CUTAwc2FVSkJRWEpDYUVJc1JVRkJTV2xDTEdGQlExWXNRMEZCUlVNc1QwRkJVV3hDTEVWQlFVbHlRaXhWUVVOa0xFTkJRVVZ1YTBNc1MwRkJUWGRzUXl4RlFVRkphVUlzWTBGRFltcENMRVZCUVVsNFF5dzBRa0ZSVkhkRExFVkJRVWxYTEU5QlFWTjRhME1zU1VGRFltOXJReXhGUVVGblFsQXNSVUZCU1Zrc1VVRkJWVm9zUlVGQlNXTXNWVUZCV1ROclF5eEZRVUZWTEdOQlMyNURNa0lzU1VGQmFFSnJhVU1zUlVGQlNXRXNVVUZEVW1Jc1JVRkJTV0VzVVVGQlZVNHNSVUZGWkZBc1JVRkJTV1VzYlVKQlFYRkNMRmRCUjBFc1NVRkJia0ptTEVWQlFVazFiVUlzV1VGTlVuQm9RaXhGUVVGUFoyZENMRmRCUVZrc1YwRkRZamRpTEVkQlEwcHZhME1zVDBGUlRIQnJReXhGUVVGWFFTeEZRVUZWTEZOQlJYSkNMRWxCUjBNMmFrTXNSVUZCU1hwQ0xFdEJRVTF1YUVNc1JVRkJVVGhuUXl4WlFVRmpPV2RETEVWQlFWRjFaQ3hOUVVGUkxFMUJReTlETEUxQlFWRnNWeXhIUVVkVUxFZEJRVXQwU1N4RlFVTktMRTFCUVUxelNTeEpRVXRVYnpWQ0xFMUJRVThzVjBGRFJERm9ReXhIUVVOS1FTeFJRVmRNYmtJc1JVRkJUM0ZvUXl4alFVRmxMRk5CUVZWb1JDeEhRVU14UWtFc1JVRkJSVEpGTEdOQlEwNHpSU3hGUVVGRmNHMUNMRk5CUVZNeldTeFJRVUZUTEV0QlMzUkNWU3hGUVVGUGJXaERMRlZCUVZjc1EwRkRha0pTTEZGQlFWTXNRMEZEVW5Kb1F5eFBRVUZSTERaR1FVZFVNbGtzVTBGQlZTeERRVU5VTTFrc1QwRkJVU3d5UWtGRlZIZG9ReXhYUVVGWkxFTkJRMWd5UkN4alFVRmxMRk5CUVZWcWJFTXNSMEZGZUVJc1QwRkVRVkVzUlVGQlR6QkVMRmRCUVZsc1JTeEhRVU5hUVN4TlFVMVdVU3hGUVVGUGNXaERMR05CUVdVc1UwRkJWU3hUUVVGVmFFUXNVVUZEZUVKMk4wSXNTVUZCV25VM1FpeEZRVUZGYm5wQ0xGRkJRMDV0ZWtJc1JVRkJSVzU2UWl4UFFVRlJMRWRCUlU1dGVrSXNSVUZCUlRKRkxHTkJRMDR6UlN4RlFVRkZlaTlDTEV0QlFVOHNVMEZMV0c5Q0xFVkJRVTl6YUVNc1kwRkJaU3hUUVVGVkxGTkJRVlZxUkN4SFFVbDRReXhKUVVGSkx5dENMRVZCUVZFMlFpeEZRVVJpTEVkQlFVdHJPVUlzUlVGQlJUSkZMR0ZCUVdVelJTeEZRVUZGT0Vnc1dVRkZka0lzVFVGQlR5eERRVU5PTlVNc1MwRkJUU3hUUVVGVmNuQkNMRVZCUVVkclpTeEhRVU5zUWprMFFpeEZRVUZUVlN4RlFVRlJMRmxCUTJZclR5eExRVUZOYzNaQ0xFVkJRVVU0U0N4aFFVRmxMRWxCUTNaQ2RtMUNMRXRCUVUwc1EwRkJSWGR0UWl4UlFVRlRMMGdzUlVGQlJXZEpMR05CUVdWNGJrTXNTVUZCUzNjdlFpeEZRVUZGWjBNc1RVRkRla00zWVN4SFFVRkpMR0ZCUVdOeWEwSXNSVUZCVnl4VFFVRlZiV3hETEVkQlEzWkRhRzVETEVWQlFVOTNZaXhUUVVOUU0xb3NSVUZCVnl4TFFVTk9iV3hETEVkQlEwcHNUeXhGUVVGMVFpeFZRVUZpYTA4c1JVRkJTVEZ1UXl4TFFVRnRRaXhKUVVGTkxFbEJRVXN3YmtNc1JVRkJTVEZ1UXl4UlFVdHVSQzlDTEVWQlFWTTRReXhMUVVGTFF5eFpRVUZoVGl4RlFVRlJMRXRCUlhCRGRXcERMRTFCUVU4c1YwRkRSREZvUXl4SFFVTktRU3hSUVZWTUxFbEJjVWRMZFdoQ0xFZEJja2RFTm1wQ0xFZEJRV1VzUjBGRGJFSkRMRWRCUVZNc2IwSkJSMVo0YlVNc1JVRkJUMjFvUXl4VlFVRlhMRU5CUTJwQ2MwWXNUVUZCVHl4WFFVTlFReXhqUVVGbExGZEJRMlFzU1VGQlNYWnNReXhGUVVGWGIyeERMRWRCUVdGcVowTXNUMEZCVjNSSExFVkJRVThyUXl4UlFVRlZMRWxCUVZGcVJTeEhRVUZOYzBZc1QwRkZkRVVzVDBGRVFXNUlMRXRCUVUxclJTeEpRVUZoTEVWQlExcEJMRXRCUzFSdVFpeEZRVUZQY1doRExHTkJRV1VzWVVGQll5eFRRVUZWYUVRc1JVRkJSM05KTEVWQlFXdENiRWdzUjBGRmJFVXNTVUZCU1cxSUxFVkJRV05ETEVWQlFXRkRMRVZCUXpsQ1F5eEhRVUYxUWl4SlFVRmFNVWtzUlVGQlJXOUpMRkZCUVhGQ1JDeEhRVUZQTHpkQ0xFdEJRVTAwZWtJc1JVRkJSV2RETEV0QlEyaEVMRTFCUTJ0Q0xHbENRVUZZYUVNc1JVRkJSVEZsTEUxQlJUWkRMRXRCUkc1RU1HVXNSVUZCUlhGRExHRkJRV1VzU1VGRGFrSTFhVU1zVVVGQlV5eHpRMEZEV0RCdlF5eEhRVUZQTHpkQ0xFdEJRVTAwZWtJc1JVRkJSVEZsTEU5QlFWVXNVVUZKTlVJc1IwRkJTMjl1UWl4SFFVRnBReXhWUVVGeVFqRkpMRVZCUVVWclFpeFZRVUZYTEVkQk9FUTNRaXhQUVRORVFYRklMRVZCUVdWMlNTeEZRVUZGY1Vrc1kwRkJaMEp3YjBNc1JVRkJXU3N2UWl4RlFVRkZjVWtzWlVGRE9VTnlTU3hGUVVGRmNVa3NaMEpCUTBaeVNTeEZRVUZGY1Vrc1kwRkhSVXNzUlVGRFNqRkpMRVZCUVVjd1NTeEhRVUZoTVVrc1JVRkJSekJKTEVkQlFWYzNha01zVVVGQlUzTnFReXhIUVVGUkxFdEJRVTlKTEVsQlF5OUNMRWxCUVZwMlNTeEZRVUZGYjBrc1VVRkRZbkJKTEVWQlFVVm5ReXhOUVVGVE5VTXNSMEZCVDJoNlFpeExRVUZOTkhwQ0xFVkJRVVZuUXl4TFFVRlJMRWxCUVUwc1MwRkJVV2hETEVWQlFVVnZTU3hOUVVGUkxFbEJRVTFITEVkQlNXcEZka2tzUlVGQlJYbERMRmRCUVZrc1pVRkJhMElzVjBGSkwwSXNUMEZJVFdkSExFZEJRMHc1YlVNc1JVRkJUMjlFTEUxQlFVOTNha01zUlVGQlpTeHRRa0ZGZGtKRkxFVkJRVzFDTEVsQlNUTkNla2tzUlVGQlJXdENMRlZCUVZjc1IwRkJUU3hQUVVkdVFuTklMRVZCUVdNM2NFTXNSVUZCVVRSd1F5eEhRVU4wUWpWd1F5eEZRVUZSTkhCRExFZEJRV2xDTEZkQlEzaENSU3hGUVVGdlFuaHNReXhYUVVseVFtMHJRaXhGUVVGTmJtdENMRTlCUVZFc1owSkJSMUY0V1N4SlFVRm9RaXRxUXl4RlFVTktOMjFETEVWQlFWRm9SQ3hIUVVGVE1DdENMRmRCUVZsclRDeEhRVWszUWpWd1F5eEZRVUZSTkhCRExFZEJRV2xDUXl4RlFVbHlRbmhKTEVWQlFVZDFTU3hMUVVkUWRra3NSVUZCUlhGSkxHTkJRV2RDUXl4RlFVRnBRa1FzWTBGSGJrTklMRWRCUVdFeGIwTXNTMEZCVFN0dlF5eEpRVWxtUlN4SFFVRnhRbmh2UXl4RlFVRlpkVzlETEVsQlEzSkRRU3hGUVVGaFF5eEZRVUZ0UWl4SlFVZHFRMEVzUlVGQmIwSkVMRTlCUVdNdmFrTXNTVUZKTlVJc1YwRlpWSHBGTEVWQlFWRXliME1zY1VKQlEwaDBhMElzUjBGQlR6ZHNRaXhGUVVGVGIzRkRMR1ZCUVdWRUxHMUNRVUZ2UWl4SlFVRkxkR3RDTEUxQlEzWkVOMVVzVlVGQldTdzJRa0ZEYVVJc1NVRkJNMEkyVlN4SFFVRkxiRm9zVjBGQlYyeEtMRkZCVVhoQ1RpeEZRVUZQTkZnc1ZVRkJXU3hUUVVGVkswZ3NSVUZCVFhwbUxFVkJRVk5uYmtNc1IwRkRNME1zVFVGQmNVSXNhVUpCUVZSMmJrSXNSVUZEU2l4SlFVVm5RaXhyUWtGQlducG1MRWxCUTFobmJrTXNSVUZCWTJodVF5eEZRVU5rUVN4SFFVRlZMRWRCUzB4QkxFbEJTVUUzUWl4RlFVRlJNbTlETEhGQ1FVMWFibnBDTEVkQlRFRXpWQ3hGUVVGVmNrUXNSVUZCVTI5eFF5eGxRVUZsUkN4dFFrRkJiMElzUzBGTGRrTjZia01zWTBGQlpTeFRRVU42UW1sVUxFdEJRVTh6Vml4RlFVRlRjMVlzVTBGQlUwc3NTMEZET1VKMFV5eEZRVUZSVUN4TFFVRkxReXhaUVVGaGFWVXNTVUZGTVVJelZDeEZRVUZWY2tRc1IwRkxXalJ1UWl4SFFVRlhlV2xDTEVkQlFXVXNTVUZFTVVKRExFVkJRVk0xZGtJc1JVRkJWM0JPTEV0QlFVMTNWaXhKUVV0c1FpeERRVUZGZW1Zc1JVRkJVVmdzWTBGQlpUUnVReXhGUVVGUkxFMUJSM3BEUVN4RlFVRlRNMmxDTEVkQlFXVXNRMEZCUlRkRkxFZEJRVkY2Wml4RlFVRlRkV3RDTEVkQlJYUkRRU3hIUVVGWFFTeEZRVUZSYm10Q0xGRkJRM1pDVGl4RlFVRlJlV3RDTEVkQlFWVXpTaXhUUVVkYU9XRXNSVUZCVDJkQ0xFMUJRVThzUjBGQlNXMXRReXhGUVVGUE16bENMR05CYkVOb1F5eEpRVUZKY1Vzc1JVRkJUWE42UWl4RlFVRlJNV2xDTEVkQmVVTnVRbnByUWl4RlFVRlBSeXhIUVVGSE1HOUNMRXRCUVU4c1UwRkJWWGRZTEVWQlFVc3JSeXhGUVVGUmFtMURMRWRCUTNaRExFbEJRVWxzUWl4RlFVRlZja0lzUlVGQlRTdHJReXhGUVVOdVFtcHpRaXhGUVVGUGVtRXNTMEZEVURSdlFpeEZRVUZOZDJFc1JVRkJTWFpwUXl4UlFVRlRMRXRCYzBSd1FpeFBRWEJFU3l0dVFpeEhRVUZQTEVsQlExZzFiRUlzUlVGQlYzTTNRaXhIUVVGclFqaEZMRVZCUVVrNWFVTXNUVUZCVDNOdlFpeEpRVU40UTNkaExFVkJRVTFCTEVWQlFVazVhVU1zVFVGQlR5eEZRVUZIYzI5Q0xFbEJTV2hDZG01Q0xFVkJRVms0YjBNc1NVRkhhRUpxYlVNc1JVRkJWMmx0UXl4RlFVTllRU3hQUVVGVGRHdERMRWRCUjBWemEwTXNSMEZCTkVJc2FVSkJRVmhCTEVsQlF6VkNlRzlETEVWQlFVOHNVVUZKU0RoWkxFVkJRVXR3V0N4UFFVRlRMRWRCUTJ4Q1RpeEZRVUZQZFdoRExFdEJRVTBzUTBGRFdteENMRWxCUVV0QkxFVkJTMHg2YUVNc1MwRkJUVUVzUjBGQlVTeE5RVU5rTUdkRExGTkJRVlVzVDBGRFZqTm1MRXRCUVUxNWJrSXNTVUZEU0hab1F5eExRVUZOTEZOQlFWVnZaME1zUjBGSGJrSjBReXhGUVVGWGNtbERMRlZCUlZodlZ5eEZRVUZMYVZZc1MwRkJUVEZ6UWl4RlFVbFdSQ3hGUVVGUkxGTkJRVlZ4ZEVJc1QwRkJVWEowUWl4RlFVRlBORmdzVlVGQlYzRjFRaXhKUVVGcFFubzBRaXhMUVVGTmRrNHNSMEZIYmtWbmJVTXNTMEZMUlROeFFpeFBRVUZSYm1Fc1IwRkJXU3hUUVVGVmN5dENMRVZCUVU5dFJDeEhRVU40UTJ4eVFpeEZRVUZMZUZjc1MwRkJUU3hYUVVOV1F5eEZRVUZUZGtRc1RVRkJUMWdzUzBGQlRUQnRReXhIUVVGWkxFTkJRVVZzUlN4RlFVRk5kMGNzWVVGQlkzSkVMRVZCUVZGdVJDeFJRVXMxUkhocFF5eE5RVTFTSzBNc1JVRkJUelpQTEV0QlFVdG9TU3hSUVVGUmQyZERMRk5CUVZjc1UwRkJWV2h0UXl4SFFVTjRReXhQUVVGUGNrSXNSVUZCVHpKQ0xFdEJRVTB6UWl4RlFVRlBOalZDTEU5QlFWRXNVMEZCVlRFMVFpeEhRVU0xUXl4UFFVRlBhMElzU1VGQlUyeENMRVZCUVVkclFpeFBRVU5vUW1Zc1VVRk5URTRzUlVGQlQzTnVReXhQUVVGVExFTkJRMlpETEZWQlFWY3NVMEZCVld4dFF5eEZRVUZOWlN4RlFVRlRhRVFzUjBGRGJrTXNTVUZCU1c5dlF5eEZRVUZoUXl4RlFVRlRReXhGUVVGWFF5eEZRVUZSUXl4RlFVRlhReXhGUVVOMlJDOVlMRVZCUVZjNWRrSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzV1VGRE4wSjViVU1zUlVGQlZUbHVReXhGUVVGUmNVSXNSMEZEYkVJMmJrSXNSVUZCVVN4SFFVZFRMRmRCUVdJMFJ5eEpRVU5LZW5WQ0xFVkJRVXR4WjBJc1RVRkJUVzlQTEZOQlFWY3NXVUZIZGtJNFdDeEZRVUZaUlN4RlFVRlJVaXhUUVVOd1Fra3NSVUZCV1RGdVF5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hQUVVNNVFuZHRReXhGUVVGaE4yNURMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlEwa3NZVUZCWW5sMVFpeEhRVUYzUXl4VlFVRmlRU3hMUVVNNVF6UllMRVZCUVZsSExFZEJRV0V2Y0VNc1VVRkJVeXhUUVVGWkxFZEJUV2hFTm5CRExFZEJSRUZJTEVWQlFXTk5MRVZCUVZGb1dTeFpRVU5FTDJsQ0xFbEJRM0pDTURaQ0xFVkJRVlZFTEVWQlFWbDZVeXhQUVVkMFFqUlRMRVZCUVZONFdDeFhRVUZaZFZnc1NVRkJaU3hGUVVOd1EwUXNSVUZCVlhSWUxGZEJRVmt3V0N4SlFVRm5RaXhIUVVkc1EzWndReXhGUVVGWk9FUXNTMEZIYUVKQkxFVkJRVlZCTEVWQlFWRXhSU3hMUVVGTk1rUXNSVUZCVFdwRExFVkJRVWRaTEVWQlFVOXRReXhQUVVGUkxFZEJRVWw1YkVNc1MwRkhha01zVFVGQlpuaHNReXhGUVVGUk1rc3NUVUZEV20xakxFVkJRVTF1WXl4SlFVRlJNMHNzUlVGQlVUSkxMRWxCUVUwMk5rSXNSVUZCVlRjMlFpeEpRVUZSTkRaQ0xFZEJSVEZDTEUxQlFXaENkbXhETEVWQlFWRXllVUlzVDBGRFdqZE1MRVZCUVUwMlRDeExRVUZUTTNsQ0xFVkJRVkV5ZVVJc1MwRkJUelpUTEVWQlFWVTNVeXhMUVVGVE1GTXNSMEZITjBNc1ZVRkJWM0pzUXl4RlFVTm1RU3hGUVVGUk1teERMRTFCUVUxeWNVTXNTMEZCVFRKRUxFVkJRVTAyYmtJc1IwRkhNVUkwWlN4RlFVRlJiRzFDTEVsQlFVdHpTQ3hMUVV0b1FteHdRaXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVkcVFtMXNReXhQUVVGUkxGTkJRVlZzYkVNc1IwRkhha0lzUjBGQlMyUXNWVUZCVldoQ0xFOUJRMlFzV1VGQmJVSjNReXhKUVVGYVZpeEZRVU5PYmtZc1MwRkRRVUVzUzBGQlMybEZMRXRCUVUwc1UwRkJWVGxDTEVkQlEzQkNXU3hGUVVGUGMyNURMRTlCUVU5RExGVkJRVmQwY1VNc1MwRkJUVzFHTEVWQlFWTm9SQ3hMUVVrelF5eEpRVUZKTkc5RExFVkJRVTFETEVWQlExUTFiVU1zUlVGQlQzQkZMRXRCUVUwc1IwRkZaQ3hQUVVGTmIwVXNSVUZSUVVFc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1VVRkxOVUl3YmtNc1JVRkJUek50UXl4RlFVRkxkM3BDTEhkQ1FVTmFiMVFzUlVGQlRUVnRReXhGUVVGTE5ra3NZMEZCWXpSRExGbEJRMnhDTEVOQlEwNURMRWxCUVV0cE4wSXNSVUZCUzJvM1FpeEpRVUZOYXpkQ0xFVkJRVWxETEZsQlEzQkNibFFzUzBGQlRXbFVMRVZCUVV0cVZDeExRVUZQYTFRc1JVRkJTVVVzWTBGU1ppeERRVUZGY0RkQ0xFbEJRVXNzUlVGQlIyZHZRaXhMUVVGTkxGRkJWSGhDTEVkQmRVSkVha1lzVTBGQlZTeFhRVU5VTEVkQlFVMDNlVUlzUzBGQlRTeEhRVUZhTEVOQlNVRXNTVUZCU1cxeVF5eEZRVUZqWkN4RlFVRlJibTlETEVWQlEzcENhME1zUlVGQlQzQkZMRXRCUVUwc1IwRkRZbTl5UXl4RlFVRmxMRU5CUVVWME4wSXNTVUZCU3l4RlFVRkhaMjlDTEV0QlFVMHNSMEZIYUVNc1IwRkJkME1zVlVGQmJrTXZNRUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1dVRkhkRUpwYlVNc1JVRkJVMnB0UXl4RlFVRkxkM3BDTERSQ1FVVlNMRU5CVDA0c1NVRk9RWGxUTEVWQlFWTnljVU1zUzBGQlMzRnhReXhUUVVsa2JtOURMRVZCUVUxclF5eEZRVUZMTmtrc1kwRkRXR3NyUWl4RlFVRmxMMjFETEVWQlFVc3JiVU1zWTBGQlowSnFjRU1zUlVGQlNYZE9MR2RDUVVOb1EzazNRaXhKUVVOTVFTeEpRVUZwUW1wd1F5eEZRVUZKZFdwQ0xFMUJRVkV3YkVJc1NVRkJhVUpxY0VNc1JVRkJTWGRPTEd0Q1FVTlVMRmRCUVRORE0wMHNSVUZCVHpSb1FpeEpRVUZMZDIxQ0xFVkJRV01zWVVGRk1VSkJMRVZCUVdWQkxFVkJRV0YyYjBNc1YwRkZlRUoxYjBNc1IwRkJaMEpCTEVsQlFXbENMMjFETEVkQlFXdERMRWxCUVRGQ0syMURMRVZCUVdFMWNFTXNXVUZITVVRMmNFTXNSVUZCWlhKdlF5eEZRVUZSYjI5RExFZEJRV1ZrTEZWQlEzcENkalpDTEV0QlFVOHZUU3hGUVVGUE5HaENMRWxCUVV0M2JVSXNSVUZCWXl4clFrRkJhMElzUjBGRGFFVkRMRVZCUVdGMFZDeE5RVUZSTHpCQ0xFVkJRVTgwYUVJc1NVRkJTM2R0UWl4RlFVRmpMRzFDUVVGdFFpeEpRVXR3UlN4TlFVRlBMRU5CUTA1eU4wSXNTVUZCUzNVMlFpeEZRVUZQZGpaQ0xFbEJRVTF6TjBJc1JVRkJZWFEzUWl4SlFVRk5MMDBzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1lVRkJZU3hIUVVOd1JUQjZRaXhMUVVGTmRWTXNSVUZCVDNaVExFdEJRVTl6VkN4RlFVRmhkRlFzUzBGQlR5OHdRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4alFVRmpMRTFCWXpGRksyMURMR0ZCUVdNc1YwRkRZaXhQUVVGUGJuSkRMRXRCUVV0dFJTeEpRVUZMTEZkQlIyaENMRWxCUmtFc1NVRkJTV2R1UXl4RlFVRmxibkpETEV0QlFVdHRja01zWVVGRmFFSkJMRWRCUVRKRUxGZEJRVE5EY0c5RExFVkJRVTgwYUVJc1NVRkJTM2R0UWl4RlFVRmpMR0ZCUTJwRVFTeEZRVUZsUVN4RlFVRmhRU3hoUVVjM1FpeFBRVUZQUVN4SFFVRm5Rbm8zUWl4UlFVMHhRak5OTEVWQlFVOXJRaXhMUVVGTkxFTkJRVVVyTUVJc1YwRkJXU3hqUVVGbFJDeFZRVUZYTEdWQlFXbENMRk5CUVZWd1l5eEZRVUZSWjBjc1IwRkRka1lzU1VGQlNUZFRMRVZCUVUwc1owSkJRV3RDTmxNc1JVRkZOVUkxWml4RlFVRlBSeXhIUVVGSmVWb3NSMEZCVnl4VFFVRlZkbUVzUjBGREwwSXNUMEZCVDJsbUxFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmIwVXNSVUZCVFhWWkxFVkJRVkYyWVN4SFFVYzFReXhKUVVGSk5HOURMRVZCVDBvc1IwRk9TM1p3UXl4RlFVRlZNa01zUjBGRFpEUnRReXhGUVVGTk5XMURMRVZCUTNWQ0xFbEJRV3hDUVN4RlFVRkxOME1zVjBGRGFFSjVjRU1zUlVGQlRUVnRReXhGUVVGTGVVd3NhMEpCUjBOb1N5eEpRVUZTZWtRc1JVRkRTaXhQUVVGUE5HOURMRVZCUVUxQkxFVkJRVXR5YjBJc1IwRkJVM1psTEVWQlFVMTFXU3hIUVVjM1FuRjFRaXhGUVVOS1FTeEZRVUZKU3l4VFFVTkdkamRDTEVWQlFWbHJOMElzUlVGQlNVVXNXVUZCVmpsdlF5eEZRVU5RTUU0c1JVRkJUVEZPTEVWQlFVMDBiME1zUlVGQlNVTXNZVUZKYWtJM2JVTXNSVUZCVFhWWkxFZEJRVmQyWVN4SFFVVm9RblZoTEVWQlFWRjJZU3hGUVVGTGFVTXNWVUZCVldoQ0xGZEJWVFZDVGl4RlFVRlBhMElzUzBGQlRTeERRVUZGTEUxQlFVOHNVVUZCVlN4VFFVRlZjMFFzUlVGQlNXOWlMRWRCUXpkRE5XWXNSVUZCVDNGNlFpeFRRVUZWZWxRc1IwRkJVMjlRTEVkQlFXTXpkMElzUlVGQlVXMTVRaXhqUVVNdlF5eFRRVUZWYm5aQ0xFVkJRVTF4ZEVJc1IwRkRaaXhIUVVGTFFTeEZRVWxLTEU5QlNFRkJMRVZCUVZkRUxFZEJRVkZ3ZEVJc1JVRkJUWFZsTEVkQlIyeENjMDhzUjBGQlZYcHFRaXhMUVVGTmFXdENMRWRCUTNSQ01YVkNMRVZCUVZGeFFpeEhRVUZQZVhWQ0xGZEJRVmxzVVN4SFFVRlRMRXRCUTNCRE9FOHNUVUZSVERGMVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRmNXNURMRTlCUVZFc1UwRkJWVU1zVFVGQlR5eFRRVUZYTEZOQlFWVnViVU1zUlVGQlRYcEVMRWRCUTJ4RmIwSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGRFdpdDZRaXhSUVVGVExGRkJRVlUxZVVJc1JVRkRia0kwVnl4UlFVRlRjbUVzUlVGRFZEWndReXhIUVVGSkxGRkJRVlZ3YlVNc1IwRkRXaXhUUVVGVmNXMURMRVZCUVdORExFZEJSekZDTTI5RExFVkJRVTlITEVkQlFVbDNiME1zUjBGQllTeFRRVUZWTTFRc1JVRkJVVGQzUWl4SFFVTjZReXhKUVVGSmIyRXNSVUZCV1dwa0xGVkJRVlZvUWl4VFFVRlpiMjlETEVkQlFXdERMR3RDUVVGWU1WUXNSMEZETlVSd1F5eEZRVUZST0ZZc1MwRkJOa0lzU1VGQldERlVMRWxCUVRaQ0xFbEJRVlkzZDBJc1JVRkJhVUlzVTBGQlZ5eFZRVVV4UlN4UFFVRlBiV0VzUlVGQlVYSm9RaXhMUVVGTkxGTkJRVlZ2UlN4RlFVRk5la01zUlVGQlRYVkdMRWRCUXpGRExFbEJRVWxvUml4RlFVVktMRTlCUVV0VUxFVkJRVlV5UXl4SFFVZDVRaXhKUVVGb1EzTnVReXhGUVVGVE4zRkRMRkZCUVZNc1UwRkRlRUoxUkN4RlFVRk5MRkZCUVZWblFpeEhRVU5vUW1oQ0xFVkJRVXQ0UlN4VFFVRlRPRkFzWjBKQlFXbENMRk5CUVZkMFN5eEhRVWx5UWl4SlFVRnNRbWhDTEVWQlFVczNReXhWUVVOVVZ5eEZRVUZOYTBNc1JVRkJTM05NTEdkQ1FVbEtNMG9zUzBGQlMzRjJRaXhKUVVOWWFIaENMRVZCUVV0eGFFSXNTMEZCVFN4VFFVRlhjbWRDTEVkQlFWRnNSQ3hGUVVGTExGTkJRVmRyUkN4SFFVTTVRMmhDTEVWQlFVdHhhRUlzUzBGQlRTeFRRVUZYY21kQ0xFZEJRVkZzUkN4RlFVRkxMRk5CUVZkclJDeEhRVU01UTJ4RUxFVkJRVXNzVTBGQlYydEVMRlZCU1VSVExFbEJRVlp4UWl4RlFVZE9ia1VzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUxNlF5eEZRVUZOWnpCQ0xFZEJSM2hDTlhsQ0xFVkJRVTh3YUVJc1RVRkJUM0puUWl4RlFVRk5la01zUlVGQlRYVkdMRVZCUVU5NWRVSXNTVUZEYUVOb01FSXNSVUZCVFRKbUxFVkJRVmw1Vnl4UFFVRlRiSGxDTEVWQlFWZDVZaXhSUVUwMVEzWmxMRVZCUVU5clFpeExRVUZOTEVOQlExb3NXVUZEUVN4WFFVTkJMR1ZCUTBFc1dVRkRRU3hqUVVOQkxGbEJRMFVzVTBGQlZYTkVMRVZCUVVrMVJpeEhRVU5vUW05Q0xFVkJRVTlITEVkQlFVbDJRaXhIUVVGVExGTkJRVlYxUWl4SFFVTTNRaXhQUVVGUGJFUXNTMEZCUzNWdlFpeEhRVUZKTlcxQ0xFVkJRVTExUWl4TlFVOTRRa2dzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRmFrSm5Na0lzUzBGQlRTeFRRVUZWTVZNc1JVRkJUemxHTEVWQlFVMTRaaXhIUVVNMVFpeFBRVUZQYkVRc1MwRkJTM1Z2UWl4SFFVRkpReXhGUVVGUExFdEJRVTA1Uml4RlFVRk5lR1lzU1VGRmNFTjViME1zVDBGQlVTeFRRVUZWYm1wQ0xFVkJRVTkwYkVJc1IwRkRlRUlzVDBGQlQyeEVMRXRCUVVzMGIwSXNTVUZCUzBvc1JVRkJUeXhMUVVGTmRHeENMRWxCUnk5Q01HOURMRk5CUVZVc1UwRkJWVFZ2UXl4RlFVRlZkMnhDTEVWQlFVODVSaXhGUVVGTmVHWXNSMEZETVVNc1QwRkJUMnhFTEV0QlFVdDFiMElzUjBGQlNVTXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVsQlJYaERNbTlETEZkQlFWa3NVMEZCVlRkdlF5eEZRVUZWZDJ4Q0xFVkJRVTkwYkVJc1IwRkhkRU1zVDBGQk5FSXNTVUZCY2tKdFFpeFZRVUZWYUVJc1QwRkRhRUp5UkN4TFFVRkxORzlDTEVsQlFVczFiRUlzUlVGQlZTeE5RVU53UW1oRUxFdEJRVXMwYjBJc1NVRkJTMG9zUlVGQlQzaHNRaXhIUVVGWkxFdEJRVTFGTEVsQlIzSkRORzlETEUxQlFVOHNVMEZCVlVNc1JVRkJVVU1zUjBGRGVFSXNUMEZCVDJoelF5eExRVUZMY1hWQ0xGZEJRVmt3WkN4SFFVRlRlbVFzVjBGQldUQmtMRWRCUVZORUxFMUJTWGhFYUhCRExFVkJRVTlyUWl4TFFVTk9MSGRNUVVVMFJIRkVMRTFCUVU4c1MwRkRia1VzVTBGQlZVTXNSVUZCU1c1RExFZEJSMkp5UXl4RlFVRlBSeXhIUVVGSmEwTXNSMEZCVXl4VFFVRlZjMlFzUlVGQlRYaG1MRWRCUTI1RExFOUJRVTl0UWl4VlFVRlZhRUlzVDBGQlV5eEZRVU42UW5KRUxFdEJRVXQxYjBJc1IwRkJTVzVxUWl4RlFVRk5MRXRCUVUxelpDeEZRVUZOZUdZc1IwRkRNMEpzUkN4TFFVRkxjWEJDTEZGQlFWTnFhMElzVFVGVmJFSXNTVUZCU1RKRkxFZEJRVkVzY1VOQlRWcG9TQ3hGUVVGUGEzQkRMRTFCUVZFc1UwRkJWUzl2UXl4RlFVRkpSQ3hIUVVNMVFpeEpRVUZKZVU0c1JVRkJTelpFTEVWQlFVMHdNMElzUlVGVlppeEhRVkozUWl4cFFrRkJXbWh3UXl4SlFVTlllVTRzUlVGQlRYaE9MRVZCUVVsRUxFZEJRMVpCTEVWQlFWVkRMRVZCUTFaQkxFVkJRVXQzVGl4SFFVdEJjbEFzUlVGQldUWkNMRWRCWVd4Q0xFOUJVa0Z4VWl4RlFVRlBhbFVzUlVGQlRVY3NTMEZCVFRSRUxGVkJRVmNzU1VGRE9VSTBia01zUlVGQlVTeFhRVU5RTEU5QlFVOHZiME1zUlVGQlIzWkRMRTFCUVU5elF5eEhRVUZYYWtRc1MwRkJUWFZWTEVWQlFVczNWQ3hQUVVGUlNpeEZRVUZOUnl4TFFVRk5ORVFzWlVGSmRFUTRReXhMUVVGUGFrVXNSVUZCUjJsRkxFdEJRVTlxUlN4RlFVRkhhVVVzVFVGQlVYQkZMRVZCUVU5dlJTeFBRVVZzUXpoclF5eEhRVWRTYkhCRExFVkJRVTl0Y0VNc1ZVRkJXU3hUUVVGVlF5eEhRVU4yUWtFc1JVRkRTbkJ3UXl4RlFVRlBhMlVzV1VGRlVHeGxMRVZCUVU4MldDeFBRVUZQTEVsQlIyaENOMWdzUlVGQlR6WkRMRkZCUVZWRUxFMUJRVTFETEZGQlEzWkNOME1zUlVGQlQzRndReXhWUVVGWmJIQkNMRXRCUVV0RExFMUJRM2hDY0dkQ0xFVkJRVTl4U2l4VFFVRlhRU3hGUVVOc1FuSktMRVZCUVU4eFFpeFhRVUZoUVN4RlFVTndRakJDTEVWQlFVOTBRaXhUUVVGWFFTeEZRVU5zUW5OQ0xFVkJRVTlyWml4VlFVRlpRU3hGUVVOdVFteG1MRVZCUVU5d1FpeExRVUZQYlVJc1JVRkZaRU1zUlVGQlQzVndRaXhKUVVGTk4ycENMRXRCUVVzMmFrSXNTVUZGYkVKMmNFSXNSVUZCVDNOd1F5eFZRVUZaTEZOQlFWVXZjVU1zUjBGTE5VSXNTVUZCU1Vzc1JVRkJUMjlDTEVWQlFVOXdRaXhMUVVGTlRDeEhRVU40UWl4UFFVRnJRaXhYUVVGVVN5eEhRVUU0UWl4WFFVRlVRU3hMUVVzMVFqSnhReXhOUVVGUGFISkRMRVZCUVUwMGVFSXNWMEZCV1RWNFFpeExRVWMxUW5sQ0xFVkJRVTkzY0VNc1MwRkJUeXhUUVVGVmFIRkRMRWRCUTNaQ0xFOUJRV1VzVFVGQlVrRXNSVUZEVGl4SlFVTkZRU3hGUVVGUExFbEJRVXN3UkN4UlFVRlRPRVFzUjBGQlR5eExRV3RDVkN4dFFrRkJXSGxwUXl4UlFVRjVRa0VzVDBGQlQwTXNTMEZETTBORUxFOUJRVkVzVTBGQlZTeEhRVUZKTEZkQlEzSkNMRTlCUVU5NmNFTXNTVUZQVkN4SlFVZERNbkJETEVkQlFWVXpjME1zUlVGQlQyZEVMRTlCUjJwQ05IQkRMRWRCUVVzMWMwTXNSVUZCVHpaelF5eEZRWGRDWWl4UFFYUkNRVGR3UXl4RlFVRlBPSEJETEZkQlFXRXNVMEZCVlhCdVF5eEhRVk0zUWl4UFFWSkxNVVlzUlVGQlR6WnpReXhKUVVGTk4zQkRMRWxCUTJwQ2FFUXNSVUZCVHpaelF5eEZRVUZKUkN4SlFVZFFiRzVETEVkQlFWRXhSaXhGUVVGUFowUXNVMEZCVjBFc1NVRkRPVUpvUkN4RlFVRlBaMFFzVDBGQlV6SndReXhKUVVkV00zQkRMRkZCVFdsQ0xFbEJRV0k1UXl4SlFVTllSaXhGUVVGUFowUXNUMEZCVTJoRUxFVkJRVTgyYzBNc1JVRkJTVGR3UXl4SFFVMXlRa0VpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXFjWFZsY25rdlpHbHpkQzlxY1hWbGNua3Vhbk1pZlE9PSIsInZhciBjYWNoZWRTZXRUaW1lb3V0LGNhY2hlZENsZWFyVGltZW91dCxwcm9jZXNzPW1vZHVsZS5leHBvcnRzPXt9O2Z1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9ZnVuY3Rpb24gcnVuVGltZW91dChlKXtpZihjYWNoZWRTZXRUaW1lb3V0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKChjYWNoZWRTZXRUaW1lb3V0PT09ZGVmYXVsdFNldFRpbW91dHx8IWNhY2hlZFNldFRpbWVvdXQpJiZzZXRUaW1lb3V0KXJldHVybiBjYWNoZWRTZXRUaW1lb3V0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gY2FjaGVkU2V0VGltZW91dChlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsZSwwKX19fWZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChlKXtpZihjYWNoZWRDbGVhclRpbWVvdXQ9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dChlKTtpZigoY2FjaGVkQ2xlYXJUaW1lb3V0PT09ZGVmYXVsdENsZWFyVGltZW91dHx8IWNhY2hlZENsZWFyVGltZW91dCkmJmNsZWFyVGltZW91dClyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0PWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQoZSk7dHJ5e3JldHVybiBjYWNoZWRDbGVhclRpbWVvdXQoZSl9Y2F0Y2godCl7dHJ5e3JldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLGUpfWNhdGNoKHQpe3JldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLGUpfX19IWZ1bmN0aW9uKCl7dHJ5e2NhY2hlZFNldFRpbWVvdXQ9XCJmdW5jdGlvblwiPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OmRlZmF1bHRTZXRUaW1vdXR9Y2F0Y2goZSl7Y2FjaGVkU2V0VGltZW91dD1kZWZhdWx0U2V0VGltb3V0fXRyeXtjYWNoZWRDbGVhclRpbWVvdXQ9XCJmdW5jdGlvblwiPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpkZWZhdWx0Q2xlYXJUaW1lb3V0fWNhdGNoKGUpe2NhY2hlZENsZWFyVGltZW91dD1kZWZhdWx0Q2xlYXJUaW1lb3V0fX0oKTt2YXIgY3VycmVudFF1ZXVlLHF1ZXVlPVtdLGRyYWluaW5nPSExLHF1ZXVlSW5kZXg9LTE7ZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCl7ZHJhaW5pbmcmJmN1cnJlbnRRdWV1ZSYmKGRyYWluaW5nPSExLGN1cnJlbnRRdWV1ZS5sZW5ndGg/cXVldWU9Y3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk6cXVldWVJbmRleD0tMSxxdWV1ZS5sZW5ndGgmJmRyYWluUXVldWUoKSl9ZnVuY3Rpb24gZHJhaW5RdWV1ZSgpe2lmKCFkcmFpbmluZyl7dmFyIGU9cnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO2RyYWluaW5nPSEwO2Zvcih2YXIgdD1xdWV1ZS5sZW5ndGg7dDspe2ZvcihjdXJyZW50UXVldWU9cXVldWUscXVldWU9W107KytxdWV1ZUluZGV4PHQ7KWN1cnJlbnRRdWV1ZSYmY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO3F1ZXVlSW5kZXg9LTEsdD1xdWV1ZS5sZW5ndGh9Y3VycmVudFF1ZXVlPW51bGwsZHJhaW5pbmc9ITEscnVuQ2xlYXJUaW1lb3V0KGUpfX1mdW5jdGlvbiBJdGVtKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24gbm9vcCgpe31wcm9jZXNzLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0xXT1hcmd1bWVudHNbcl07cXVldWUucHVzaChuZXcgSXRlbShlLHQpKSwxIT09cXVldWUubGVuZ3RofHxkcmFpbmluZ3x8cnVuVGltZW91dChkcmFpblF1ZXVlKX0sSXRlbS5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0scHJvY2Vzcy50aXRsZT1cImJyb3dzZXJcIixwcm9jZXNzLmJyb3dzZXI9ITAscHJvY2Vzcy5lbnY9e30scHJvY2Vzcy5hcmd2PVtdLHByb2Nlc3MudmVyc2lvbj1cIlwiLHByb2Nlc3MudmVyc2lvbnM9e30scHJvY2Vzcy5vbj1ub29wLHByb2Nlc3MuYWRkTGlzdGVuZXI9bm9vcCxwcm9jZXNzLm9uY2U9bm9vcCxwcm9jZXNzLm9mZj1ub29wLHByb2Nlc3MucmVtb3ZlTGlzdGVuZXI9bm9vcCxwcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycz1ub29wLHByb2Nlc3MuZW1pdD1ub29wLHByb2Nlc3MucHJlcGVuZExpc3RlbmVyPW5vb3AscHJvY2Vzcy5wcmVwZW5kT25jZUxpc3RlbmVyPW5vb3AscHJvY2Vzcy5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119LHByb2Nlc3MuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZFwiKX0scHJvY2Vzcy5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm5cIi9cIn0scHJvY2Vzcy5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWRcIil9LHByb2Nlc3MudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVkyRmphR1ZrVTJWMFZHbHRaVzkxZENJc0ltTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDSXNJbkJ5YjJObGMzTWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWkdWbVlYVnNkRk5sZEZScGJXOTFkQ0lzSWtWeWNtOXlJaXdpWkdWbVlYVnNkRU5zWldGeVZHbHRaVzkxZENJc0luSjFibFJwYldWdmRYUWlMQ0ptZFc0aUxDSnpaWFJVYVcxbGIzVjBJaXdpWlNJc0ltTmhiR3dpTENKMGFHbHpJaXdpY25WdVEyeGxZWEpVYVcxbGIzVjBJaXdpYldGeWEyVnlJaXdpWTJ4bFlYSlVhVzFsYjNWMElpd2lZM1Z5Y21WdWRGRjFaWFZsSWl3aWNYVmxkV1VpTENKa2NtRnBibWx1WnlJc0luRjFaWFZsU1c1a1pYZ2lMQ0pqYkdWaGJsVndUbVY0ZEZScFkyc2lMQ0pzWlc1bmRHZ2lMQ0pqYjI1allYUWlMQ0prY21GcGJsRjFaWFZsSWl3aWRHbHRaVzkxZENJc0lteGxiaUlzSW5KMWJpSXNJa2wwWlcwaUxDSmhjbkpoZVNJc0ltNXZiM0FpTENKdVpYaDBWR2xqYXlJc0ltRnlaM01pTENKQmNuSmhlU0lzSW1GeVozVnRaVzUwY3lJc0lta2lMQ0p3ZFhOb0lpd2ljSEp2ZEc5MGVYQmxJaXdpWVhCd2JIa2lMQ0owYVhSc1pTSXNJbUp5YjNkelpYSWlMQ0psYm5ZaUxDSmhjbWQySWl3aWRtVnljMmx2YmlJc0luWmxjbk5wYjI1eklpd2liMjRpTENKaFpHUk1hWE4wWlc1bGNpSXNJbTl1WTJVaUxDSnZabVlpTENKeVpXMXZkbVZNYVhOMFpXNWxjaUlzSW5KbGJXOTJaVUZzYkV4cGMzUmxibVZ5Y3lJc0ltVnRhWFFpTENKd2NtVndaVzVrVEdsemRHVnVaWElpTENKd2NtVndaVzVrVDI1alpVeHBjM1JsYm1WeUlpd2liR2x6ZEdWdVpYSnpJaXdpYm1GdFpTSXNJbUpwYm1ScGJtY2lMQ0pqZDJRaUxDSmphR1JwY2lJc0ltUnBjaUlzSW5WdFlYTnJJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkRRU3hKUVU5SlFTeHBRa0ZEUVVNc2JVSkJVa0ZETEZGQlFWVkRMRTlCUVU5RExGRkJRVlVzUjBGVkwwSXNVMEZCVTBNc2JVSkJRMHdzVFVGQlRTeEpRVUZKUXl4TlFVRk5MRzFEUVVWd1FpeFRRVUZUUXl4elFrRkRUQ3hOUVVGTkxFbEJRVWxFTEUxQlFVMHNjVU5CYzBKd1FpeFRRVUZUUlN4WFFVRlhReXhIUVVOb1FpeEhRVUZKVkN4dFFrRkJjVUpWTEZkQlJYSkNMRTlCUVU5QkxGZEJRVmRFTEVWQlFVc3NSMEZITTBJc1NVRkJTMVFzYlVKQlFYRkNTeXh0UWtGQmNVSk1MRzFDUVVGeFFsVXNWMEZGYUVVc1QwRkVRVllzYVVKQlFXMUNWU3hYUVVOYVFTeFhRVUZYUkN4RlFVRkxMRWRCUlROQ0xFbEJSVWtzVDBGQlQxUXNhVUpCUVdsQ1V5eEZRVUZMTEVkQlF5OUNMRTFCUVUxRkxFZEJRMG9zU1VGRlNTeFBRVUZQV0N4cFFrRkJhVUpaTEV0QlFVc3NTMEZCVFVnc1JVRkJTeXhIUVVNeFF5eE5RVUZOUlN4SFFVVktMRTlCUVU5WUxHbENRVUZwUWxrc1MwRkJTME1zUzBGQlRVb3NSVUZCU3l4TFFVMXdSQ3hUUVVGVFN5eG5Ra0ZCWjBKRExFZEJRM0pDTEVkQlFVbGtMSEZDUVVGMVFtVXNZVUZGZGtJc1QwRkJUMEVzWVVGQllVUXNSMEZIZUVJc1NVRkJTMlFzY1VKQlFYVkNUU3h6UWtGQmQwSk9MSEZDUVVGMVFtVXNZVUZGZGtVc1QwRkVRV1lzYlVKQlFYRkNaU3hoUVVOa1FTeGhRVUZoUkN4SFFVVjRRaXhKUVVWSkxFOUJRVTlrTEcxQ1FVRnRRbU1zUjBGRE5VSXNUVUZCVDBvc1IwRkRUQ3hKUVVWSkxFOUJRVTlXTEcxQ1FVRnRRbGNzUzBGQlN5eExRVUZOUnl4SFFVTjJReXhOUVVGUFNpeEhRVWRNTEU5QlFVOVdMRzFDUVVGdFFsY3NTMEZCUzBNc1MwRkJUVVVzVFVGcVJXaEVMRmRCUTBjc1NVRkZVV1lzYVVKQlJITkNMRzFDUVVGbVZTeFhRVU5aUVN4WFFVVkJUQ3hwUWtGRmVrSXNUVUZCVDAwc1IwRkRURmdzYVVKQlFXMUNTeXhwUWtGRmRrSXNTVUZGVVVvc2JVSkJSSGRDTEcxQ1FVRnFRbVVzWVVGRFkwRXNZVUZGUVZRc2IwSkJSVE5DTEUxQlFVOUpMRWRCUTB4V0xHMUNRVUZ4UWswc2NVSkJha0kzUWl4SFFYZEZRU3hKUVVWSlZTeGhRVVpCUXl4TlFVRlJMRWRCUTFKRExGVkJRVmNzUlVGRldFTXNXVUZCWXl4RlFVVnNRaXhUUVVGVFF5eHJRa0ZEUVVZc1ZVRkJZVVlzWlVGSGJFSkZMRlZCUVZjc1JVRkRVRVlzWVVGQllVc3NUMEZEWWtvc1RVRkJVVVFzWVVGQllVMHNUMEZCVDB3c1QwRkZOVUpGTEZsQlFXTXNSVUZGWkVZc1RVRkJUVWtzVVVGRFRrVXNZMEZKVWl4VFFVRlRRU3hoUVVOTUxFbEJRVWxNTEZOQlFVb3NRMEZIUVN4SlFVRkpUU3hGUVVGVmFrSXNWMEZCVjJFc2FVSkJRM3BDUml4VlFVRlhMRVZCUjFnc1NVRkVRU3hKUVVGSlR5eEZRVUZOVWl4TlFVRk5TU3hQUVVOV1NTeEhRVUZMTEVOQlIxQXNTVUZHUVZRc1lVRkJaVU1zVFVGRFprRXNUVUZCVVN4TFFVTkRSU3hYUVVGaFRTeEhRVU5rVkN4alFVTkJRU3hoUVVGaFJ5eFpRVUZaVHl4TlFVZHFRMUFzV1VGQll5eEZRVU5rVFN4RlFVRk5VaXhOUVVGTlNTeFBRVVZvUWt3c1lVRkJaU3hMUVVObVJTeFZRVUZYTEVWQlExaE1MR2RDUVVGblFsY3NTVUZwUW5CQ0xGTkJRVk5ITEV0QlFVdHVRaXhGUVVGTGIwSXNSMEZEWm1oQ0xFdEJRVXRLTEVsQlFVMUJMRVZCUTFoSkxFdEJRVXRuUWl4TlFVRlJRU3hGUVZscVFpeFRRVUZUUXl4UlFUVkNWRFZDTEZGQlFWRTJRaXhUUVVGWExGTkJRVlYwUWl4SFFVTjZRaXhKUVVGSmRVSXNSVUZCVHl4SlFVRkpReXhOUVVGTlF5eFZRVUZWV2l4UFFVRlRMRWRCUTNoRExFZEJRVWxaTEZWQlFWVmFMRTlCUVZNc1JVRkRia0lzU1VGQlN5eEpRVUZKWVN4RlFVRkpMRVZCUVVkQkxFVkJRVWxFTEZWQlFWVmFMRTlCUVZGaExFbEJRMnhEU0N4RlFVRkxSeXhGUVVGSkxFZEJRVXRFTEZWQlFWVkRMRWRCUjJoRGFrSXNUVUZCVFd0Q0xFdEJRVXNzU1VGQlNWSXNTMEZCUzI1Q0xFVkJRVXQxUWl4SlFVTktMRWxCUVdwQ1pDeE5RVUZOU1N4UlFVRnBRa2dzVlVGRGRrSllMRmRCUVZkblFpeGhRVk51UWtrc1MwRkJTMU1zVlVGQlZWWXNTVUZCVFN4WFFVTnFRbVFzUzBGQlMwb3NTVUZCU1RaQ0xFMUJRVTBzUzBGQlRYcENMRXRCUVV0blFpeFJRVVU1UWpOQ0xGRkJRVkZ4UXl4TlFVRlJMRlZCUTJoQ2NrTXNVVUZCVVhORExGTkJRVlVzUlVGRGJFSjBReXhSUVVGUmRVTXNTVUZCVFN4SFFVTmtka01zVVVGQlVYZERMRXRCUVU4c1IwRkRabmhETEZGQlFWRjVReXhSUVVGVkxFZEJRMnhDZWtNc1VVRkJVVEJETEZOQlFWY3NSMEZKYmtJeFF5eFJRVUZSTWtNc1IwRkJTMllzUzBGRFlqVkNMRkZCUVZFMFF5eFpRVUZqYUVJc1MwRkRkRUkxUWl4UlFVRlJOa01zUzBGQlQycENMRXRCUTJZMVFpeFJRVUZST0VNc1NVRkJUV3hDTEV0QlEyUTFRaXhSUVVGUkswTXNaVUZCYVVKdVFpeExRVU42UWpWQ0xGRkJRVkZuUkN4dFFrRkJjVUp3UWl4TFFVTTNRalZDTEZGQlFWRnBSQ3hMUVVGUGNrSXNTMEZEWmpWQ0xGRkJRVkZyUkN4blFrRkJhMEowUWl4TFFVTXhRalZDTEZGQlFWRnRSQ3h2UWtGQmMwSjJRaXhMUVVVNVFqVkNMRkZCUVZGdlJDeFZRVUZaTEZOQlFWVkRMRWRCUVZFc1RVRkJUeXhKUVVVM1EzSkVMRkZCUVZGelJDeFJRVUZWTEZOQlFWVkVMRWRCUTNoQ0xFMUJRVTBzU1VGQlNXcEVMRTFCUVUwc2NVTkJSM0JDU2l4UlFVRlJkVVFzU1VGQlRTeFhRVUZqTEUxQlFVOHNTMEZEYmtOMlJDeFJRVUZSZDBRc1RVRkJVU3hUUVVGVlF5eEhRVU4wUWl4TlFVRk5MRWxCUVVseVJDeE5RVUZOTEcxRFFVVndRa29zVVVGQlVUQkVMRTFCUVZFc1YwRkJZU3hQUVVGUElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12Y0hKdlkyVnpjeTlpY205M2MyVnlMbXB6SW4wPSIsInZhciBidWZmZXI9cmVxdWlyZShcImJ1ZmZlclwiKSxCdWZmZXI9YnVmZmVyLkJ1ZmZlcjtmdW5jdGlvbiBjb3B5UHJvcHMoZixlKXtmb3IodmFyIHIgaW4gZillW3JdPWZbcl19ZnVuY3Rpb24gU2FmZUJ1ZmZlcihmLGUscil7cmV0dXJuIEJ1ZmZlcihmLGUscil9QnVmZmVyLmZyb20mJkJ1ZmZlci5hbGxvYyYmQnVmZmVyLmFsbG9jVW5zYWZlJiZCdWZmZXIuYWxsb2NVbnNhZmVTbG93P21vZHVsZS5leHBvcnRzPWJ1ZmZlcjooY29weVByb3BzKGJ1ZmZlcixleHBvcnRzKSxleHBvcnRzLkJ1ZmZlcj1TYWZlQnVmZmVyKSxTYWZlQnVmZmVyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEJ1ZmZlci5wcm90b3R5cGUpLGNvcHlQcm9wcyhCdWZmZXIsU2FmZUJ1ZmZlciksU2FmZUJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGYsZSxyKXtpZihcIm51bWJlclwiPT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXJcIik7cmV0dXJuIEJ1ZmZlcihmLGUscil9LFNhZmVCdWZmZXIuYWxsb2M9ZnVuY3Rpb24oZixlLHIpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO3ZhciB1PUJ1ZmZlcihmKTtyZXR1cm4gdm9pZCAwIT09ZT9cInN0cmluZ1wiPT10eXBlb2Ygcj91LmZpbGwoZSxyKTp1LmZpbGwoZSk6dS5maWxsKDApLHV9LFNhZmVCdWZmZXIuYWxsb2NVbnNhZmU9ZnVuY3Rpb24oZil7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7cmV0dXJuIEJ1ZmZlcihmKX0sU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oZil7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7cmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKGYpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbUoxWm1abGNpSXNJbkpsY1hWcGNtVWlMQ0pDZFdabVpYSWlMQ0pqYjNCNVVISnZjSE1pTENKemNtTWlMQ0prYzNRaUxDSnJaWGtpTENKVFlXWmxRblZtWm1WeUlpd2lZWEpuSWl3aVpXNWpiMlJwYm1kUGNrOW1abk5sZENJc0lteGxibWQwYUNJc0ltWnliMjBpTENKaGJHeHZZeUlzSW1Gc2JHOWpWVzV6WVdabElpd2lZV3hzYjJOVmJuTmhabVZUYkc5M0lpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbkJ5YjNSdmRIbHdaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSWxSNWNHVkZjbkp2Y2lJc0luTnBlbVVpTENKbWFXeHNJaXdpWlc1amIyUnBibWNpTENKaWRXWWlMQ0oxYm1SbFptbHVaV1FpTENKVGJHOTNRblZtWm1WeUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFTeEpRVUZKUVN4UFFVRlRReXhSUVVGUkxGVkJRMnBDUXl4UFFVRlRSaXhQUVVGUFJTeFBRVWR3UWl4VFFVRlRReXhWUVVGWFF5eEZRVUZMUXl4SFFVTjJRaXhKUVVGTExFbEJRVWxETEV0QlFVOUdMRVZCUTJSRExFVkJRVWxETEVkQlFVOUdMRVZCUVVsRkxFZEJWMjVDTEZOQlFWTkRMRmRCUVZsRExFVkJRVXRETEVWQlFXdENReXhIUVVNeFF5eFBRVUZQVWl4UFFVRlBUU3hGUVVGTFF5eEZRVUZyUWtNc1IwRlVia05TTEU5QlFVOVRMRTFCUVZGVUxFOUJRVTlWTEU5QlFWTldMRTlCUVU5WExHRkJRV1ZZTEU5QlFVOVpMR2RDUVVNNVJFTXNUMEZCVDBNc1VVRkJWV2hDTEZGQlIycENSeXhWUVVGVlNDeFBRVUZSWjBJc1UwRkRiRUpCTEZGQlFWRmtMRTlCUVZOTExGbEJUMjVDUVN4WFFVRlhWU3hWUVVGWlF5eFBRVUZQUXl4UFFVRlBha0lzVDBGQlQyVXNWMEZITlVOa0xGVkJRVlZFTEU5QlFWRkxMRmxCUld4Q1FTeFhRVUZYU1N4TFFVRlBMRk5CUVZWSUxFVkJRVXRETEVWQlFXdENReXhIUVVOcVJDeEhRVUZ0UWl4cFFrRkJVa1lzUlVGRFZDeE5RVUZOTEVsQlFVbFpMRlZCUVZVc2FVTkJSWFJDTEU5QlFVOXNRaXhQUVVGUFRTeEZRVUZMUXl4RlFVRnJRa01zU1VGSGRrTklMRmRCUVZkTExFMUJRVkVzVTBGQlZWTXNSVUZCVFVNc1JVRkJUVU1zUjBGRGRrTXNSMEZCYjBJc2FVSkJRVlJHTEVWQlExUXNUVUZCVFN4SlFVRkpSQ3hWUVVGVkxEWkNRVVYwUWl4SlFVRkpTU3hGUVVGTmRFSXNUMEZCVDIxQ0xFZEJWV3BDTEZsQlZHRkpMRWxCUVZSSUxFVkJRM05DTEdsQ1FVRmlReXhGUVVOVVF5eEZRVUZKUml4TFFVRkxRU3hGUVVGTlF5eEhRVVZtUXl4RlFVRkpSaXhMUVVGTFFTeEhRVWRZUlN4RlFVRkpSaXhMUVVGTExFZEJSVXBGTEVkQlIxUnFRaXhYUVVGWFRTeFpRVUZqTEZOQlFWVlJMRWRCUTJwRExFZEJRVzlDTEdsQ1FVRlVRU3hGUVVOVUxFMUJRVTBzU1VGQlNVUXNWVUZCVlN3MlFrRkZkRUlzVDBGQlQyeENMRTlCUVU5dFFpeEpRVWRvUW1Rc1YwRkJWMDhzWjBKQlFXdENMRk5CUVZWUExFZEJRM0pETEVkQlFXOUNMR2xDUVVGVVFTeEZRVU5VTEUxQlFVMHNTVUZCU1VRc1ZVRkJWU3cyUWtGRmRFSXNUMEZCVDNCQ0xFOUJRVTh3UWl4WFFVRlhUQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTmhabVV0WW5WbVptVnlMMmx1WkdWNExtcHpJbjA9IiwiIWZ1bmN0aW9uKHQpe3QucGFyc2VyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBzKHQsZSl9LHQuU0FYUGFyc2VyPXMsdC5TQVhTdHJlYW09bix0LmNyZWF0ZVN0cmVhbT1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgbih0LGUpfSx0Lk1BWF9CVUZGRVJfTEVOR1RIPTY1NTM2O3ZhciBlLGk9W1wiY29tbWVudFwiLFwic2dtbERlY2xcIixcInRleHROb2RlXCIsXCJ0YWdOYW1lXCIsXCJkb2N0eXBlXCIsXCJwcm9jSW5zdE5hbWVcIixcInByb2NJbnN0Qm9keVwiLFwiZW50aXR5XCIsXCJhdHRyaWJOYW1lXCIsXCJhdHRyaWJWYWx1ZVwiLFwiY2RhdGFcIixcInNjcmlwdFwiXTtmdW5jdGlvbiBzKGUsYSl7aWYoISh0aGlzIGluc3RhbmNlb2YgcykpcmV0dXJuIG5ldyBzKGUsYSk7IWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHM9aS5sZW5ndGg7ZTxzO2UrKyl0W2lbZV1dPVwiXCJ9KHRoaXMpLHRoaXMucT10aGlzLmM9XCJcIix0aGlzLmJ1ZmZlckNoZWNrUG9zaXRpb249dC5NQVhfQlVGRkVSX0xFTkdUSCx0aGlzLm9wdD1hfHx7fSx0aGlzLm9wdC5sb3dlcmNhc2U9dGhpcy5vcHQubG93ZXJjYXNlfHx0aGlzLm9wdC5sb3dlcmNhc2V0YWdzLHRoaXMubG9vc2VDYXNlPXRoaXMub3B0Lmxvd2VyY2FzZT9cInRvTG93ZXJDYXNlXCI6XCJ0b1VwcGVyQ2FzZVwiLHRoaXMudGFncz1bXSx0aGlzLmNsb3NlZD10aGlzLmNsb3NlZFJvb3Q9dGhpcy5zYXdSb290PSExLHRoaXMudGFnPXRoaXMuZXJyb3I9bnVsbCx0aGlzLnN0cmljdD0hIWUsdGhpcy5ub3NjcmlwdD0hKCFlJiYhdGhpcy5vcHQubm9zY3JpcHQpLHRoaXMuc3RhdGU9RC5CRUdJTix0aGlzLnN0cmljdEVudGl0aWVzPXRoaXMub3B0LnN0cmljdEVudGl0aWVzLHRoaXMuRU5USVRJRVM9dGhpcy5zdHJpY3RFbnRpdGllcz9PYmplY3QuY3JlYXRlKHQuWE1MX0VOVElUSUVTKTpPYmplY3QuY3JlYXRlKHQuRU5USVRJRVMpLHRoaXMuYXR0cmliTGlzdD1bXSx0aGlzLm9wdC54bWxucyYmKHRoaXMubnM9T2JqZWN0LmNyZWF0ZShoKSksdGhpcy50cmFja1Bvc2l0aW9uPSExIT09dGhpcy5vcHQucG9zaXRpb24sdGhpcy50cmFja1Bvc2l0aW9uJiYodGhpcy5wb3NpdGlvbj10aGlzLmxpbmU9dGhpcy5jb2x1bW49MCksQyh0aGlzLFwib25yZWFkeVwiKX10LkVWRU5UUz1bXCJ0ZXh0XCIsXCJwcm9jZXNzaW5naW5zdHJ1Y3Rpb25cIixcInNnbWxkZWNsYXJhdGlvblwiLFwiZG9jdHlwZVwiLFwiY29tbWVudFwiLFwib3BlbnRhZ3N0YXJ0XCIsXCJhdHRyaWJ1dGVcIixcIm9wZW50YWdcIixcImNsb3NldGFnXCIsXCJvcGVuY2RhdGFcIixcImNkYXRhXCIsXCJjbG9zZWNkYXRhXCIsXCJlcnJvclwiLFwiZW5kXCIsXCJyZWFkeVwiLFwic2NyaXB0XCIsXCJvcGVubmFtZXNwYWNlXCIsXCJjbG9zZW5hbWVzcGFjZVwiXSxPYmplY3QuY3JlYXRlfHwoT2JqZWN0LmNyZWF0ZT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7fXJldHVybiBlLnByb3RvdHlwZT10LG5ldyBlfSksT2JqZWN0LmtleXN8fChPYmplY3Qua2V5cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiZlLnB1c2goaSk7cmV0dXJuIGV9KSxzLnByb3RvdHlwZT17ZW5kOmZ1bmN0aW9uKCl7dih0aGlzKX0sd3JpdGU6ZnVuY3Rpb24oZSl7aWYodGhpcy5lcnJvcil0aHJvdyB0aGlzLmVycm9yO2lmKHRoaXMuY2xvc2VkKXJldHVybiBSKHRoaXMsXCJDYW5ub3Qgd3JpdGUgYWZ0ZXIgY2xvc2UuIEFzc2lnbiBhbiBvbnJlYWR5IGhhbmRsZXIuXCIpO2lmKG51bGw9PT1lKXJldHVybiB2KHRoaXMpO1wib2JqZWN0XCI9PXR5cGVvZiBlJiYoZT1lLnRvU3RyaW5nKCkpO3ZhciBzPTAsYT1cIlwiO2Zvcig7YT1NKGUscysrKSx0aGlzLmM9YSxhOylzd2l0Y2godGhpcy50cmFja1Bvc2l0aW9uJiYodGhpcy5wb3NpdGlvbisrLFwiXFxuXCI9PT1hPyh0aGlzLmxpbmUrKyx0aGlzLmNvbHVtbj0wKTp0aGlzLmNvbHVtbisrKSx0aGlzLnN0YXRlKXtjYXNlIEQuQkVHSU46aWYodGhpcy5zdGF0ZT1ELkJFR0lOX1dISVRFU1BBQ0UsXCJcXHVmZWZmXCI9PT1hKWNvbnRpbnVlO0codGhpcyxhKTtjb250aW51ZTtjYXNlIEQuQkVHSU5fV0hJVEVTUEFDRTpHKHRoaXMsYSk7Y29udGludWU7Y2FzZSBELlRFWFQ6aWYodGhpcy5zYXdSb290JiYhdGhpcy5jbG9zZWRSb290KXtmb3IodmFyIG49cy0xO2EmJlwiPFwiIT09YSYmXCImXCIhPT1hOykoYT1NKGUscysrKSkmJnRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb24rKyxcIlxcblwiPT09YT8odGhpcy5saW5lKyssdGhpcy5jb2x1bW49MCk6dGhpcy5jb2x1bW4rKyk7dGhpcy50ZXh0Tm9kZSs9ZS5zdWJzdHJpbmcobixzLTEpfVwiPFwiIT09YXx8dGhpcy5zYXdSb290JiZ0aGlzLmNsb3NlZFJvb3QmJiF0aGlzLnN0cmljdD8obShhKXx8dGhpcy5zYXdSb290JiYhdGhpcy5jbG9zZWRSb290fHxQKHRoaXMsXCJUZXh0IGRhdGEgb3V0c2lkZSBvZiByb290IG5vZGUuXCIpLFwiJlwiPT09YT90aGlzLnN0YXRlPUQuVEVYVF9FTlRJVFk6dGhpcy50ZXh0Tm9kZSs9YSk6KHRoaXMuc3RhdGU9RC5PUEVOX1dBS0EsdGhpcy5zdGFydFRhZ1Bvc2l0aW9uPXRoaXMucG9zaXRpb24pO2NvbnRpbnVlO2Nhc2UgRC5TQ1JJUFQ6XCI8XCI9PT1hP3RoaXMuc3RhdGU9RC5TQ1JJUFRfRU5ESU5HOnRoaXMuc2NyaXB0Kz1hO2NvbnRpbnVlO2Nhc2UgRC5TQ1JJUFRfRU5ESU5HOlwiL1wiPT09YT90aGlzLnN0YXRlPUQuQ0xPU0VfVEFHOih0aGlzLnNjcmlwdCs9XCI8XCIrYSx0aGlzLnN0YXRlPUQuU0NSSVBUKTtjb250aW51ZTtjYXNlIEQuT1BFTl9XQUtBOmlmKFwiIVwiPT09YSl0aGlzLnN0YXRlPUQuU0dNTF9ERUNMLHRoaXMuc2dtbERlY2w9XCJcIjtlbHNlIGlmKG0oYSkpO2Vsc2UgaWYoXyhsLGEpKXRoaXMuc3RhdGU9RC5PUEVOX1RBRyx0aGlzLnRhZ05hbWU9YTtlbHNlIGlmKFwiL1wiPT09YSl0aGlzLnN0YXRlPUQuQ0xPU0VfVEFHLHRoaXMudGFnTmFtZT1cIlwiO2Vsc2UgaWYoXCI/XCI9PT1hKXRoaXMuc3RhdGU9RC5QUk9DX0lOU1QsdGhpcy5wcm9jSW5zdE5hbWU9dGhpcy5wcm9jSW5zdEJvZHk9XCJcIjtlbHNle2lmKFAodGhpcyxcIlVuZW5jb2RlZCA8XCIpLHRoaXMuc3RhcnRUYWdQb3NpdGlvbisxPHRoaXMucG9zaXRpb24pe3ZhciBjPXRoaXMucG9zaXRpb24tdGhpcy5zdGFydFRhZ1Bvc2l0aW9uO2E9bmV3IEFycmF5KGMpLmpvaW4oXCIgXCIpK2F9dGhpcy50ZXh0Tm9kZSs9XCI8XCIrYSx0aGlzLnN0YXRlPUQuVEVYVH1jb250aW51ZTtjYXNlIEQuU0dNTF9ERUNMOih0aGlzLnNnbWxEZWNsK2EpLnRvVXBwZXJDYXNlKCk9PT1yPyhPKHRoaXMsXCJvbm9wZW5jZGF0YVwiKSx0aGlzLnN0YXRlPUQuQ0RBVEEsdGhpcy5zZ21sRGVjbD1cIlwiLHRoaXMuY2RhdGE9XCJcIik6dGhpcy5zZ21sRGVjbCthPT09XCItLVwiPyh0aGlzLnN0YXRlPUQuQ09NTUVOVCx0aGlzLmNvbW1lbnQ9XCJcIix0aGlzLnNnbWxEZWNsPVwiXCIpOih0aGlzLnNnbWxEZWNsK2EpLnRvVXBwZXJDYXNlKCk9PT1vPyh0aGlzLnN0YXRlPUQuRE9DVFlQRSwodGhpcy5kb2N0eXBlfHx0aGlzLnNhd1Jvb3QpJiZQKHRoaXMsXCJJbmFwcHJvcHJpYXRlbHkgbG9jYXRlZCBkb2N0eXBlIGRlY2xhcmF0aW9uXCIpLHRoaXMuZG9jdHlwZT1cIlwiLHRoaXMuc2dtbERlY2w9XCJcIik6XCI+XCI9PT1hPyhPKHRoaXMsXCJvbnNnbWxkZWNsYXJhdGlvblwiLHRoaXMuc2dtbERlY2wpLHRoaXMuc2dtbERlY2w9XCJcIix0aGlzLnN0YXRlPUQuVEVYVCk6TihhKT8odGhpcy5zdGF0ZT1ELlNHTUxfREVDTF9RVU9URUQsdGhpcy5zZ21sRGVjbCs9YSk6dGhpcy5zZ21sRGVjbCs9YTtjb250aW51ZTtjYXNlIEQuU0dNTF9ERUNMX1FVT1RFRDphPT09dGhpcy5xJiYodGhpcy5zdGF0ZT1ELlNHTUxfREVDTCx0aGlzLnE9XCJcIiksdGhpcy5zZ21sRGVjbCs9YTtjb250aW51ZTtjYXNlIEQuRE9DVFlQRTpcIj5cIj09PWE/KHRoaXMuc3RhdGU9RC5URVhULE8odGhpcyxcIm9uZG9jdHlwZVwiLHRoaXMuZG9jdHlwZSksdGhpcy5kb2N0eXBlPSEwKToodGhpcy5kb2N0eXBlKz1hLFwiW1wiPT09YT90aGlzLnN0YXRlPUQuRE9DVFlQRV9EVEQ6TihhKSYmKHRoaXMuc3RhdGU9RC5ET0NUWVBFX1FVT1RFRCx0aGlzLnE9YSkpO2NvbnRpbnVlO2Nhc2UgRC5ET0NUWVBFX1FVT1RFRDp0aGlzLmRvY3R5cGUrPWEsYT09PXRoaXMucSYmKHRoaXMucT1cIlwiLHRoaXMuc3RhdGU9RC5ET0NUWVBFKTtjb250aW51ZTtjYXNlIEQuRE9DVFlQRV9EVEQ6dGhpcy5kb2N0eXBlKz1hLFwiXVwiPT09YT90aGlzLnN0YXRlPUQuRE9DVFlQRTpOKGEpJiYodGhpcy5zdGF0ZT1ELkRPQ1RZUEVfRFREX1FVT1RFRCx0aGlzLnE9YSk7Y29udGludWU7Y2FzZSBELkRPQ1RZUEVfRFREX1FVT1RFRDp0aGlzLmRvY3R5cGUrPWEsYT09PXRoaXMucSYmKHRoaXMuc3RhdGU9RC5ET0NUWVBFX0RURCx0aGlzLnE9XCJcIik7Y29udGludWU7Y2FzZSBELkNPTU1FTlQ6XCItXCI9PT1hP3RoaXMuc3RhdGU9RC5DT01NRU5UX0VORElORzp0aGlzLmNvbW1lbnQrPWE7Y29udGludWU7Y2FzZSBELkNPTU1FTlRfRU5ESU5HOlwiLVwiPT09YT8odGhpcy5zdGF0ZT1ELkNPTU1FTlRfRU5ERUQsdGhpcy5jb21tZW50PVModGhpcy5vcHQsdGhpcy5jb21tZW50KSx0aGlzLmNvbW1lbnQmJk8odGhpcyxcIm9uY29tbWVudFwiLHRoaXMuY29tbWVudCksdGhpcy5jb21tZW50PVwiXCIpOih0aGlzLmNvbW1lbnQrPVwiLVwiK2EsdGhpcy5zdGF0ZT1ELkNPTU1FTlQpO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UX0VOREVEOlwiPlwiIT09YT8oUCh0aGlzLFwiTWFsZm9ybWVkIGNvbW1lbnRcIiksdGhpcy5jb21tZW50Kz1cIi0tXCIrYSx0aGlzLnN0YXRlPUQuQ09NTUVOVCk6dGhpcy5zdGF0ZT1ELlRFWFQ7Y29udGludWU7Y2FzZSBELkNEQVRBOlwiXVwiPT09YT90aGlzLnN0YXRlPUQuQ0RBVEFfRU5ESU5HOnRoaXMuY2RhdGErPWE7Y29udGludWU7Y2FzZSBELkNEQVRBX0VORElORzpcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkNEQVRBX0VORElOR18yOih0aGlzLmNkYXRhKz1cIl1cIithLHRoaXMuc3RhdGU9RC5DREFUQSk7Y29udGludWU7Y2FzZSBELkNEQVRBX0VORElOR18yOlwiPlwiPT09YT8odGhpcy5jZGF0YSYmTyh0aGlzLFwib25jZGF0YVwiLHRoaXMuY2RhdGEpLE8odGhpcyxcIm9uY2xvc2VjZGF0YVwiKSx0aGlzLmNkYXRhPVwiXCIsdGhpcy5zdGF0ZT1ELlRFWFQpOlwiXVwiPT09YT90aGlzLmNkYXRhKz1cIl1cIjoodGhpcy5jZGF0YSs9XCJdXVwiK2EsdGhpcy5zdGF0ZT1ELkNEQVRBKTtjb250aW51ZTtjYXNlIEQuUFJPQ19JTlNUOlwiP1wiPT09YT90aGlzLnN0YXRlPUQuUFJPQ19JTlNUX0VORElORzptKGEpP3RoaXMuc3RhdGU9RC5QUk9DX0lOU1RfQk9EWTp0aGlzLnByb2NJbnN0TmFtZSs9YTtjb250aW51ZTtjYXNlIEQuUFJPQ19JTlNUX0JPRFk6aWYoIXRoaXMucHJvY0luc3RCb2R5JiZtKGEpKWNvbnRpbnVlO1wiP1wiPT09YT90aGlzLnN0YXRlPUQuUFJPQ19JTlNUX0VORElORzp0aGlzLnByb2NJbnN0Qm9keSs9YTtjb250aW51ZTtjYXNlIEQuUFJPQ19JTlNUX0VORElORzpcIj5cIj09PWE/KE8odGhpcyxcIm9ucHJvY2Vzc2luZ2luc3RydWN0aW9uXCIse25hbWU6dGhpcy5wcm9jSW5zdE5hbWUsYm9keTp0aGlzLnByb2NJbnN0Qm9keX0pLHRoaXMucHJvY0luc3ROYW1lPXRoaXMucHJvY0luc3RCb2R5PVwiXCIsdGhpcy5zdGF0ZT1ELlRFWFQpOih0aGlzLnByb2NJbnN0Qm9keSs9XCI/XCIrYSx0aGlzLnN0YXRlPUQuUFJPQ19JTlNUX0JPRFkpO2NvbnRpbnVlO2Nhc2UgRC5PUEVOX1RBRzpfKFQsYSk/dGhpcy50YWdOYW1lKz1hOih5KHRoaXMpLFwiPlwiPT09YT9VKHRoaXMpOlwiL1wiPT09YT90aGlzLnN0YXRlPUQuT1BFTl9UQUdfU0xBU0g6KG0oYSl8fFAodGhpcyxcIkludmFsaWQgY2hhcmFjdGVyIGluIHRhZyBuYW1lXCIpLHRoaXMuc3RhdGU9RC5BVFRSSUIpKTtjb250aW51ZTtjYXNlIEQuT1BFTl9UQUdfU0xBU0g6XCI+XCI9PT1hPyhVKHRoaXMsITApLHgodGhpcykpOihQKHRoaXMsXCJGb3J3YXJkLXNsYXNoIGluIG9wZW5pbmcgdGFnIG5vdCBmb2xsb3dlZCBieSA+XCIpLHRoaXMuc3RhdGU9RC5BVFRSSUIpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUI6aWYobShhKSljb250aW51ZTtcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOl8obCxhKT8odGhpcy5hdHRyaWJOYW1lPWEsdGhpcy5hdHRyaWJWYWx1ZT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRSk6UCh0aGlzLFwiSW52YWxpZCBhdHRyaWJ1dGUgbmFtZVwiKTtjb250aW51ZTtjYXNlIEQuQVRUUklCX05BTUU6XCI9XCI9PT1hP3RoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUU6XCI+XCI9PT1hPyhQKHRoaXMsXCJBdHRyaWJ1dGUgd2l0aG91dCB2YWx1ZVwiKSx0aGlzLmF0dHJpYlZhbHVlPXRoaXMuYXR0cmliTmFtZSxCKHRoaXMpLFUodGhpcykpOm0oYSk/dGhpcy5zdGF0ZT1ELkFUVFJJQl9OQU1FX1NBV19XSElURTpfKFQsYSk/dGhpcy5hdHRyaWJOYW1lKz1hOlAodGhpcyxcIkludmFsaWQgYXR0cmlidXRlIG5hbWVcIik7Y29udGludWU7Y2FzZSBELkFUVFJJQl9OQU1FX1NBV19XSElURTppZihcIj1cIj09PWEpdGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRTtlbHNle2lmKG0oYSkpY29udGludWU7UCh0aGlzLFwiQXR0cmlidXRlIHdpdGhvdXQgdmFsdWVcIiksdGhpcy50YWcuYXR0cmlidXRlc1t0aGlzLmF0dHJpYk5hbWVdPVwiXCIsdGhpcy5hdHRyaWJWYWx1ZT1cIlwiLE8odGhpcyxcIm9uYXR0cmlidXRlXCIse25hbWU6dGhpcy5hdHRyaWJOYW1lLHZhbHVlOlwiXCJ9KSx0aGlzLmF0dHJpYk5hbWU9XCJcIixcIj5cIj09PWE/VSh0aGlzKTpfKGwsYSk/KHRoaXMuYXR0cmliTmFtZT1hLHRoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRSk6KFAodGhpcyxcIkludmFsaWQgYXR0cmlidXRlIG5hbWVcIiksdGhpcy5zdGF0ZT1ELkFUVFJJQil9Y29udGludWU7Y2FzZSBELkFUVFJJQl9WQUxVRTppZihtKGEpKWNvbnRpbnVlO04oYSk/KHRoaXMucT1hLHRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfUVVPVEVEKTooUCh0aGlzLFwiVW5xdW90ZWQgYXR0cmlidXRlIHZhbHVlXCIpLHRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfVU5RVU9URUQsdGhpcy5hdHRyaWJWYWx1ZT1hKTtjb250aW51ZTtjYXNlIEQuQVRUUklCX1ZBTFVFX1FVT1RFRDppZihhIT09dGhpcy5xKXtcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9FTlRJVFlfUTp0aGlzLmF0dHJpYlZhbHVlKz1hO2NvbnRpbnVlfUIodGhpcyksdGhpcy5xPVwiXCIsdGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9DTE9TRUQ7Y29udGludWU7Y2FzZSBELkFUVFJJQl9WQUxVRV9DTE9TRUQ6bShhKT90aGlzLnN0YXRlPUQuQVRUUklCOlwiPlwiPT09YT9VKHRoaXMpOlwiL1wiPT09YT90aGlzLnN0YXRlPUQuT1BFTl9UQUdfU0xBU0g6XyhsLGEpPyhQKHRoaXMsXCJObyB3aGl0ZXNwYWNlIGJldHdlZW4gYXR0cmlidXRlc1wiKSx0aGlzLmF0dHJpYk5hbWU9YSx0aGlzLmF0dHJpYlZhbHVlPVwiXCIsdGhpcy5zdGF0ZT1ELkFUVFJJQl9OQU1FKTpQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUVfVU5RVU9URUQ6aWYoIWYoYSkpe1wiJlwiPT09YT90aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX0VOVElUWV9VOnRoaXMuYXR0cmliVmFsdWUrPWE7Y29udGludWV9Qih0aGlzKSxcIj5cIj09PWE/VSh0aGlzKTp0aGlzLnN0YXRlPUQuQVRUUklCO2NvbnRpbnVlO2Nhc2UgRC5DTE9TRV9UQUc6aWYodGhpcy50YWdOYW1lKVwiPlwiPT09YT94KHRoaXMpOl8oVCxhKT90aGlzLnRhZ05hbWUrPWE6dGhpcy5zY3JpcHQ/KHRoaXMuc2NyaXB0Kz1cIjwvXCIrdGhpcy50YWdOYW1lLHRoaXMudGFnTmFtZT1cIlwiLHRoaXMuc3RhdGU9RC5TQ1JJUFQpOihtKGEpfHxQKHRoaXMsXCJJbnZhbGlkIHRhZ25hbWUgaW4gY2xvc2luZyB0YWdcIiksdGhpcy5zdGF0ZT1ELkNMT1NFX1RBR19TQVdfV0hJVEUpO2Vsc2V7aWYobShhKSljb250aW51ZTtkKGwsYSk/dGhpcy5zY3JpcHQ/KHRoaXMuc2NyaXB0Kz1cIjwvXCIrYSx0aGlzLnN0YXRlPUQuU0NSSVBUKTpQKHRoaXMsXCJJbnZhbGlkIHRhZ25hbWUgaW4gY2xvc2luZyB0YWcuXCIpOnRoaXMudGFnTmFtZT1hfWNvbnRpbnVlO2Nhc2UgRC5DTE9TRV9UQUdfU0FXX1dISVRFOmlmKG0oYSkpY29udGludWU7XCI+XCI9PT1hP3godGhpcyk6UCh0aGlzLFwiSW52YWxpZCBjaGFyYWN0ZXJzIGluIGNsb3NpbmcgdGFnXCIpO2NvbnRpbnVlO2Nhc2UgRC5URVhUX0VOVElUWTpjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9ROmNhc2UgRC5BVFRSSUJfVkFMVUVfRU5USVRZX1U6dmFyIHUsaDtzd2l0Y2godGhpcy5zdGF0ZSl7Y2FzZSBELlRFWFRfRU5USVRZOnU9RC5URVhULGg9XCJ0ZXh0Tm9kZVwiO2JyZWFrO2Nhc2UgRC5BVFRSSUJfVkFMVUVfRU5USVRZX1E6dT1ELkFUVFJJQl9WQUxVRV9RVU9URUQsaD1cImF0dHJpYlZhbHVlXCI7YnJlYWs7Y2FzZSBELkFUVFJJQl9WQUxVRV9FTlRJVFlfVTp1PUQuQVRUUklCX1ZBTFVFX1VOUVVPVEVELGg9XCJhdHRyaWJWYWx1ZVwifVwiO1wiPT09YT8odGhpc1toXSs9dyh0aGlzKSx0aGlzLmVudGl0eT1cIlwiLHRoaXMuc3RhdGU9dSk6Xyh0aGlzLmVudGl0eS5sZW5ndGg/cDpFLGEpP3RoaXMuZW50aXR5Kz1hOihQKHRoaXMsXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBlbnRpdHkgbmFtZVwiKSx0aGlzW2hdKz1cIiZcIit0aGlzLmVudGl0eSthLHRoaXMuZW50aXR5PVwiXCIsdGhpcy5zdGF0ZT11KTtjb250aW51ZTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcih0aGlzLFwiVW5rbm93biBzdGF0ZTogXCIrdGhpcy5zdGF0ZSl9dGhpcy5wb3NpdGlvbj49dGhpcy5idWZmZXJDaGVja1Bvc2l0aW9uJiZmdW5jdGlvbihlKXtmb3IodmFyIHM9TWF0aC5tYXgodC5NQVhfQlVGRkVSX0xFTkdUSCwxMCksYT0wLG49MCxyPWkubGVuZ3RoO248cjtuKyspe3ZhciBvPWVbaVtuXV0ubGVuZ3RoO2lmKG8+cylzd2l0Y2goaVtuXSl7Y2FzZVwidGV4dE5vZGVcIjpGKGUpO2JyZWFrO2Nhc2VcImNkYXRhXCI6TyhlLFwib25jZGF0YVwiLGUuY2RhdGEpLGUuY2RhdGE9XCJcIjticmVhaztjYXNlXCJzY3JpcHRcIjpPKGUsXCJvbnNjcmlwdFwiLGUuc2NyaXB0KSxlLnNjcmlwdD1cIlwiO2JyZWFrO2RlZmF1bHQ6UihlLFwiTWF4IGJ1ZmZlciBsZW5ndGggZXhjZWVkZWQ6IFwiK2lbbl0pfWE9TWF0aC5tYXgoYSxvKX12YXIgYz10Lk1BWF9CVUZGRVJfTEVOR1RILWE7ZS5idWZmZXJDaGVja1Bvc2l0aW9uPWMrZS5wb3NpdGlvbn0odGhpcyk7cmV0dXJuIHRoaXN9LHJlc3VtZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVycm9yPW51bGwsdGhpc30sY2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53cml0ZShudWxsKX0sZmx1c2g6ZnVuY3Rpb24oKXt2YXIgdDtGKHQ9dGhpcyksXCJcIiE9PXQuY2RhdGEmJihPKHQsXCJvbmNkYXRhXCIsdC5jZGF0YSksdC5jZGF0YT1cIlwiKSxcIlwiIT09dC5zY3JpcHQmJihPKHQsXCJvbnNjcmlwdFwiLHQuc2NyaXB0KSx0LnNjcmlwdD1cIlwiKX19O3RyeXtlPXJlcXVpcmUoXCJzdHJlYW1cIikuU3RyZWFtfWNhdGNoKHQpe2U9ZnVuY3Rpb24oKXt9fXZhciBhPXQuRVZFTlRTLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm5cImVycm9yXCIhPT10JiZcImVuZFwiIT09dH0pO2Z1bmN0aW9uIG4odCxpKXtpZighKHRoaXMgaW5zdGFuY2VvZiBuKSlyZXR1cm4gbmV3IG4odCxpKTtlLmFwcGx5KHRoaXMpLHRoaXMuX3BhcnNlcj1uZXcgcyh0LGkpLHRoaXMud3JpdGFibGU9ITAsdGhpcy5yZWFkYWJsZT0hMDt2YXIgcj10aGlzO3RoaXMuX3BhcnNlci5vbmVuZD1mdW5jdGlvbigpe3IuZW1pdChcImVuZFwiKX0sdGhpcy5fcGFyc2VyLm9uZXJyb3I9ZnVuY3Rpb24odCl7ci5lbWl0KFwiZXJyb3JcIix0KSxyLl9wYXJzZXIuZXJyb3I9bnVsbH0sdGhpcy5fZGVjb2Rlcj1udWxsLGEuZm9yRWFjaChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkocixcIm9uXCIrdCx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHIuX3BhcnNlcltcIm9uXCIrdF19LHNldDpmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gci5yZW1vdmVBbGxMaXN0ZW5lcnModCksci5fcGFyc2VyW1wib25cIit0XT1lLGU7ci5vbih0LGUpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMX0pfSl9bi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOm59fSksbi5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgQnVmZmVyJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcih0KSl7aWYoIXRoaXMuX2RlY29kZXIpe3ZhciBlPXJlcXVpcmUoXCJzdHJpbmdfZGVjb2RlclwiKS5TdHJpbmdEZWNvZGVyO3RoaXMuX2RlY29kZXI9bmV3IGUoXCJ1dGY4XCIpfXQ9dGhpcy5fZGVjb2Rlci53cml0ZSh0KX1yZXR1cm4gdGhpcy5fcGFyc2VyLndyaXRlKHQudG9TdHJpbmcoKSksdGhpcy5lbWl0KFwiZGF0YVwiLHQpLCEwfSxuLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubGVuZ3RoJiZ0aGlzLndyaXRlKHQpLHRoaXMuX3BhcnNlci5lbmQoKSwhMH0sbi5wcm90b3R5cGUub249ZnVuY3Rpb24odCxpKXt2YXIgcz10aGlzO3JldHVybiBzLl9wYXJzZXJbXCJvblwiK3RdfHwtMT09PWEuaW5kZXhPZih0KXx8KHMuX3BhcnNlcltcIm9uXCIrdF09ZnVuY3Rpb24oKXt2YXIgZT0xPT09YXJndW1lbnRzLmxlbmd0aD9bYXJndW1lbnRzWzBdXTpBcnJheS5hcHBseShudWxsLGFyZ3VtZW50cyk7ZS5zcGxpY2UoMCwwLHQpLHMuZW1pdC5hcHBseShzLGUpfSksZS5wcm90b3R5cGUub24uY2FsbChzLHQsaSl9O3ZhciByPVwiW0NEQVRBW1wiLG89XCJET0NUWVBFXCIsYz1cImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZVwiLHU9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zL1wiLGg9e3htbDpjLHhtbG5zOnV9LGw9L1s6X0EtWmEtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF0vLFQ9L1s6X0EtWmEtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDAuXFxkLV0vLEU9L1sjOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdLyxwPS9bIzpfQS1aYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFx1MDBCN1xcdTAzMDAtXFx1MDM2RlxcdTIwM0YtXFx1MjA0MC5cXGQtXS87ZnVuY3Rpb24gbSh0KXtyZXR1cm5cIiBcIj09PXR8fFwiXFxuXCI9PT10fHxcIlxcclwiPT09dHx8XCJcXHRcIj09PXR9ZnVuY3Rpb24gTih0KXtyZXR1cm4nXCInPT09dHx8XCInXCI9PT10fWZ1bmN0aW9uIGYodCl7cmV0dXJuXCI+XCI9PT10fHxtKHQpfWZ1bmN0aW9uIF8odCxlKXtyZXR1cm4gdC50ZXN0KGUpfWZ1bmN0aW9uIGQodCxlKXtyZXR1cm4hXyh0LGUpfXZhciBnLEEsSSxEPTA7Zm9yKHZhciBiIGluIHQuU1RBVEU9e0JFR0lOOkQrKyxCRUdJTl9XSElURVNQQUNFOkQrKyxURVhUOkQrKyxURVhUX0VOVElUWTpEKyssT1BFTl9XQUtBOkQrKyxTR01MX0RFQ0w6RCsrLFNHTUxfREVDTF9RVU9URUQ6RCsrLERPQ1RZUEU6RCsrLERPQ1RZUEVfUVVPVEVEOkQrKyxET0NUWVBFX0RURDpEKyssRE9DVFlQRV9EVERfUVVPVEVEOkQrKyxDT01NRU5UX1NUQVJUSU5HOkQrKyxDT01NRU5UOkQrKyxDT01NRU5UX0VORElORzpEKyssQ09NTUVOVF9FTkRFRDpEKyssQ0RBVEE6RCsrLENEQVRBX0VORElORzpEKyssQ0RBVEFfRU5ESU5HXzI6RCsrLFBST0NfSU5TVDpEKyssUFJPQ19JTlNUX0JPRFk6RCsrLFBST0NfSU5TVF9FTkRJTkc6RCsrLE9QRU5fVEFHOkQrKyxPUEVOX1RBR19TTEFTSDpEKyssQVRUUklCOkQrKyxBVFRSSUJfTkFNRTpEKyssQVRUUklCX05BTUVfU0FXX1dISVRFOkQrKyxBVFRSSUJfVkFMVUU6RCsrLEFUVFJJQl9WQUxVRV9RVU9URUQ6RCsrLEFUVFJJQl9WQUxVRV9DTE9TRUQ6RCsrLEFUVFJJQl9WQUxVRV9VTlFVT1RFRDpEKyssQVRUUklCX1ZBTFVFX0VOVElUWV9ROkQrKyxBVFRSSUJfVkFMVUVfRU5USVRZX1U6RCsrLENMT1NFX1RBRzpEKyssQ0xPU0VfVEFHX1NBV19XSElURTpEKyssU0NSSVBUOkQrKyxTQ1JJUFRfRU5ESU5HOkQrK30sdC5YTUxfRU5USVRJRVM9e2FtcDpcIiZcIixndDpcIj5cIixsdDpcIjxcIixxdW90OidcIicsYXBvczpcIidcIn0sdC5FTlRJVElFUz17YW1wOlwiJlwiLGd0OlwiPlwiLGx0OlwiPFwiLHF1b3Q6J1wiJyxhcG9zOlwiJ1wiLEFFbGlnOjE5OCxBYWN1dGU6MTkzLEFjaXJjOjE5NCxBZ3JhdmU6MTkyLEFyaW5nOjE5NyxBdGlsZGU6MTk1LEF1bWw6MTk2LENjZWRpbDoxOTksRVRIOjIwOCxFYWN1dGU6MjAxLEVjaXJjOjIwMixFZ3JhdmU6MjAwLEV1bWw6MjAzLElhY3V0ZToyMDUsSWNpcmM6MjA2LElncmF2ZToyMDQsSXVtbDoyMDcsTnRpbGRlOjIwOSxPYWN1dGU6MjExLE9jaXJjOjIxMixPZ3JhdmU6MjEwLE9zbGFzaDoyMTYsT3RpbGRlOjIxMyxPdW1sOjIxNCxUSE9STjoyMjIsVWFjdXRlOjIxOCxVY2lyYzoyMTksVWdyYXZlOjIxNyxVdW1sOjIyMCxZYWN1dGU6MjIxLGFhY3V0ZToyMjUsYWNpcmM6MjI2LGFlbGlnOjIzMCxhZ3JhdmU6MjI0LGFyaW5nOjIyOSxhdGlsZGU6MjI3LGF1bWw6MjI4LGNjZWRpbDoyMzEsZWFjdXRlOjIzMyxlY2lyYzoyMzQsZWdyYXZlOjIzMixldGg6MjQwLGV1bWw6MjM1LGlhY3V0ZToyMzcsaWNpcmM6MjM4LGlncmF2ZToyMzYsaXVtbDoyMzksbnRpbGRlOjI0MSxvYWN1dGU6MjQzLG9jaXJjOjI0NCxvZ3JhdmU6MjQyLG9zbGFzaDoyNDgsb3RpbGRlOjI0NSxvdW1sOjI0NixzemxpZzoyMjMsdGhvcm46MjU0LHVhY3V0ZToyNTAsdWNpcmM6MjUxLHVncmF2ZToyNDksdXVtbDoyNTIseWFjdXRlOjI1Myx5dW1sOjI1NSxjb3B5OjE2OSxyZWc6MTc0LG5ic3A6MTYwLGlleGNsOjE2MSxjZW50OjE2Mixwb3VuZDoxNjMsY3VycmVuOjE2NCx5ZW46MTY1LGJydmJhcjoxNjYsc2VjdDoxNjcsdW1sOjE2OCxvcmRmOjE3MCxsYXF1bzoxNzEsbm90OjE3MixzaHk6MTczLG1hY3I6MTc1LGRlZzoxNzYscGx1c21uOjE3NyxzdXAxOjE4NSxzdXAyOjE3OCxzdXAzOjE3OSxhY3V0ZToxODAsbWljcm86MTgxLHBhcmE6MTgyLG1pZGRvdDoxODMsY2VkaWw6MTg0LG9yZG06MTg2LHJhcXVvOjE4NyxmcmFjMTQ6MTg4LGZyYWMxMjoxODksZnJhYzM0OjE5MCxpcXVlc3Q6MTkxLHRpbWVzOjIxNSxkaXZpZGU6MjQ3LE9FbGlnOjMzOCxvZWxpZzozMzksU2Nhcm9uOjM1MixzY2Fyb246MzUzLFl1bWw6Mzc2LGZub2Y6NDAyLGNpcmM6NzEwLHRpbGRlOjczMixBbHBoYTo5MTMsQmV0YTo5MTQsR2FtbWE6OTE1LERlbHRhOjkxNixFcHNpbG9uOjkxNyxaZXRhOjkxOCxFdGE6OTE5LFRoZXRhOjkyMCxJb3RhOjkyMSxLYXBwYTo5MjIsTGFtYmRhOjkyMyxNdTo5MjQsTnU6OTI1LFhpOjkyNixPbWljcm9uOjkyNyxQaTo5MjgsUmhvOjkyOSxTaWdtYTo5MzEsVGF1OjkzMixVcHNpbG9uOjkzMyxQaGk6OTM0LENoaTo5MzUsUHNpOjkzNixPbWVnYTo5MzcsYWxwaGE6OTQ1LGJldGE6OTQ2LGdhbW1hOjk0NyxkZWx0YTo5NDgsZXBzaWxvbjo5NDksemV0YTo5NTAsZXRhOjk1MSx0aGV0YTo5NTIsaW90YTo5NTMsa2FwcGE6OTU0LGxhbWJkYTo5NTUsbXU6OTU2LG51Ojk1Nyx4aTo5NTgsb21pY3Jvbjo5NTkscGk6OTYwLHJobzo5NjEsc2lnbWFmOjk2MixzaWdtYTo5NjMsdGF1Ojk2NCx1cHNpbG9uOjk2NSxwaGk6OTY2LGNoaTo5NjcscHNpOjk2OCxvbWVnYTo5NjksdGhldGFzeW06OTc3LHVwc2loOjk3OCxwaXY6OTgyLGVuc3A6ODE5NCxlbXNwOjgxOTUsdGhpbnNwOjgyMDEsenduajo4MjA0LHp3ajo4MjA1LGxybTo4MjA2LHJsbTo4MjA3LG5kYXNoOjgyMTEsbWRhc2g6ODIxMixsc3F1bzo4MjE2LHJzcXVvOjgyMTcsc2JxdW86ODIxOCxsZHF1bzo4MjIwLHJkcXVvOjgyMjEsYmRxdW86ODIyMixkYWdnZXI6ODIyNCxEYWdnZXI6ODIyNSxidWxsOjgyMjYsaGVsbGlwOjgyMzAscGVybWlsOjgyNDAscHJpbWU6ODI0MixQcmltZTo4MjQzLGxzYXF1bzo4MjQ5LHJzYXF1bzo4MjUwLG9saW5lOjgyNTQsZnJhc2w6ODI2MCxldXJvOjgzNjQsaW1hZ2U6ODQ2NSx3ZWllcnA6ODQ3MixyZWFsOjg0NzYsdHJhZGU6ODQ4MixhbGVmc3ltOjg1MDEsbGFycjo4NTkyLHVhcnI6ODU5MyxyYXJyOjg1OTQsZGFycjo4NTk1LGhhcnI6ODU5NixjcmFycjo4NjI5LGxBcnI6ODY1Nix1QXJyOjg2NTcsckFycjo4NjU4LGRBcnI6ODY1OSxoQXJyOjg2NjAsZm9yYWxsOjg3MDQscGFydDo4NzA2LGV4aXN0Ojg3MDcsZW1wdHk6ODcwOSxuYWJsYTo4NzExLGlzaW46ODcxMixub3Rpbjo4NzEzLG5pOjg3MTUscHJvZDo4NzE5LHN1bTo4NzIxLG1pbnVzOjg3MjIsbG93YXN0Ojg3MjcscmFkaWM6ODczMCxwcm9wOjg3MzMsaW5maW46ODczNCxhbmc6ODczNixhbmQ6ODc0Myxvcjo4NzQ0LGNhcDo4NzQ1LGN1cDo4NzQ2LGludDo4NzQ3LHRoZXJlNDo4NzU2LHNpbTo4NzY0LGNvbmc6ODc3Myxhc3ltcDo4Nzc2LG5lOjg4MDAsZXF1aXY6ODgwMSxsZTo4ODA0LGdlOjg4MDUsc3ViOjg4MzQsc3VwOjg4MzUsbnN1Yjo4ODM2LHN1YmU6ODgzOCxzdXBlOjg4Mzksb3BsdXM6ODg1MyxvdGltZXM6ODg1NSxwZXJwOjg4Njksc2RvdDo4OTAxLGxjZWlsOjg5NjgscmNlaWw6ODk2OSxsZmxvb3I6ODk3MCxyZmxvb3I6ODk3MSxsYW5nOjkwMDEscmFuZzo5MDAyLGxvejo5Njc0LHNwYWRlczo5ODI0LGNsdWJzOjk4MjcsaGVhcnRzOjk4MjksZGlhbXM6OTgzMH0sT2JqZWN0LmtleXModC5FTlRJVElFUykuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgaT10LkVOVElUSUVTW2VdLHM9XCJudW1iZXJcIj09dHlwZW9mIGk/U3RyaW5nLmZyb21DaGFyQ29kZShpKTppO3QuRU5USVRJRVNbZV09c30pLHQuU1RBVEUpdC5TVEFURVt0LlNUQVRFW2JdXT1iO2Z1bmN0aW9uIEModCxlLGkpe3RbZV0mJnRbZV0oaSl9ZnVuY3Rpb24gTyh0LGUsaSl7dC50ZXh0Tm9kZSYmRih0KSxDKHQsZSxpKX1mdW5jdGlvbiBGKHQpe3QudGV4dE5vZGU9Uyh0Lm9wdCx0LnRleHROb2RlKSx0LnRleHROb2RlJiZDKHQsXCJvbnRleHRcIix0LnRleHROb2RlKSx0LnRleHROb2RlPVwiXCJ9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiB0LnRyaW0mJihlPWUudHJpbSgpKSx0Lm5vcm1hbGl6ZSYmKGU9ZS5yZXBsYWNlKC9cXHMrL2csXCIgXCIpKSxlfWZ1bmN0aW9uIFIodCxlKXtyZXR1cm4gRih0KSx0LnRyYWNrUG9zaXRpb24mJihlKz1cIlxcbkxpbmU6IFwiK3QubGluZStcIlxcbkNvbHVtbjogXCIrdC5jb2x1bW4rXCJcXG5DaGFyOiBcIit0LmMpLGU9bmV3IEVycm9yKGUpLHQuZXJyb3I9ZSxDKHQsXCJvbmVycm9yXCIsZSksdH1mdW5jdGlvbiB2KHQpe3JldHVybiB0LnNhd1Jvb3QmJiF0LmNsb3NlZFJvb3QmJlAodCxcIlVuY2xvc2VkIHJvb3QgdGFnXCIpLHQuc3RhdGUhPT1ELkJFR0lOJiZ0LnN0YXRlIT09RC5CRUdJTl9XSElURVNQQUNFJiZ0LnN0YXRlIT09RC5URVhUJiZSKHQsXCJVbmV4cGVjdGVkIGVuZFwiKSxGKHQpLHQuYz1cIlwiLHQuY2xvc2VkPSEwLEModCxcIm9uZW5kXCIpLHMuY2FsbCh0LHQuc3RyaWN0LHQub3B0KSx0fWZ1bmN0aW9uIFAodCxlKXtpZihcIm9iamVjdFwiIT10eXBlb2YgdHx8ISh0IGluc3RhbmNlb2YgcykpdGhyb3cgbmV3IEVycm9yKFwiYmFkIGNhbGwgdG8gc3RyaWN0RmFpbFwiKTt0LnN0cmljdCYmUih0LGUpfWZ1bmN0aW9uIHkodCl7dC5zdHJpY3R8fCh0LnRhZ05hbWU9dC50YWdOYW1lW3QubG9vc2VDYXNlXSgpKTt2YXIgZT10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dCxpPXQudGFnPXtuYW1lOnQudGFnTmFtZSxhdHRyaWJ1dGVzOnt9fTt0Lm9wdC54bWxucyYmKGkubnM9ZS5ucyksdC5hdHRyaWJMaXN0Lmxlbmd0aD0wLE8odCxcIm9ub3BlbnRhZ3N0YXJ0XCIsaSl9ZnVuY3Rpb24gTCh0LGUpe3ZhciBpPXQuaW5kZXhPZihcIjpcIik8MD9bXCJcIix0XTp0LnNwbGl0KFwiOlwiKSxzPWlbMF0sYT1pWzFdO3JldHVybiBlJiZcInhtbG5zXCI9PT10JiYocz1cInhtbG5zXCIsYT1cIlwiKSx7cHJlZml4OnMsbG9jYWw6YX19ZnVuY3Rpb24gQih0KXtpZih0LnN0cmljdHx8KHQuYXR0cmliTmFtZT10LmF0dHJpYk5hbWVbdC5sb29zZUNhc2VdKCkpLC0xIT09dC5hdHRyaWJMaXN0LmluZGV4T2YodC5hdHRyaWJOYW1lKXx8dC50YWcuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eSh0LmF0dHJpYk5hbWUpKXQuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCI7ZWxzZXtpZih0Lm9wdC54bWxucyl7dmFyIGU9TCh0LmF0dHJpYk5hbWUsITApLGk9ZS5wcmVmaXgscz1lLmxvY2FsO2lmKFwieG1sbnNcIj09PWkpaWYoXCJ4bWxcIj09PXMmJnQuYXR0cmliVmFsdWUhPT1jKVAodCxcInhtbDogcHJlZml4IG11c3QgYmUgYm91bmQgdG8gXCIrYytcIlxcbkFjdHVhbDogXCIrdC5hdHRyaWJWYWx1ZSk7ZWxzZSBpZihcInhtbG5zXCI9PT1zJiZ0LmF0dHJpYlZhbHVlIT09dSlQKHQsXCJ4bWxuczogcHJlZml4IG11c3QgYmUgYm91bmQgdG8gXCIrdStcIlxcbkFjdHVhbDogXCIrdC5hdHRyaWJWYWx1ZSk7ZWxzZXt2YXIgYT10LnRhZyxuPXQudGFnc1t0LnRhZ3MubGVuZ3RoLTFdfHx0O2EubnM9PT1uLm5zJiYoYS5ucz1PYmplY3QuY3JlYXRlKG4ubnMpKSxhLm5zW3NdPXQuYXR0cmliVmFsdWV9dC5hdHRyaWJMaXN0LnB1c2goW3QuYXR0cmliTmFtZSx0LmF0dHJpYlZhbHVlXSl9ZWxzZSB0LnRhZy5hdHRyaWJ1dGVzW3QuYXR0cmliTmFtZV09dC5hdHRyaWJWYWx1ZSxPKHQsXCJvbmF0dHJpYnV0ZVwiLHtuYW1lOnQuYXR0cmliTmFtZSx2YWx1ZTp0LmF0dHJpYlZhbHVlfSk7dC5hdHRyaWJOYW1lPXQuYXR0cmliVmFsdWU9XCJcIn19ZnVuY3Rpb24gVSh0LGUpe2lmKHQub3B0LnhtbG5zKXt2YXIgaT10LnRhZyxzPUwodC50YWdOYW1lKTtpLnByZWZpeD1zLnByZWZpeCxpLmxvY2FsPXMubG9jYWwsaS51cmk9aS5uc1tzLnByZWZpeF18fFwiXCIsaS5wcmVmaXgmJiFpLnVyaSYmKFAodCxcIlVuYm91bmQgbmFtZXNwYWNlIHByZWZpeDogXCIrSlNPTi5zdHJpbmdpZnkodC50YWdOYW1lKSksaS51cmk9cy5wcmVmaXgpO3ZhciBhPXQudGFnc1t0LnRhZ3MubGVuZ3RoLTFdfHx0O2kubnMmJmEubnMhPT1pLm5zJiZPYmplY3Qua2V5cyhpLm5zKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe08odCxcIm9ub3Blbm5hbWVzcGFjZVwiLHtwcmVmaXg6ZSx1cmk6aS5uc1tlXX0pfSk7Zm9yKHZhciBuPTAscj10LmF0dHJpYkxpc3QubGVuZ3RoO248cjtuKyspe3ZhciBvPXQuYXR0cmliTGlzdFtuXSxjPW9bMF0sdT1vWzFdLGg9TChjLCEwKSxsPWgucHJlZml4LFQ9aC5sb2NhbCxFPVwiXCI9PT1sP1wiXCI6aS5uc1tsXXx8XCJcIixwPXtuYW1lOmMsdmFsdWU6dSxwcmVmaXg6bCxsb2NhbDpULHVyaTpFfTtsJiZcInhtbG5zXCIhPT1sJiYhRSYmKFAodCxcIlVuYm91bmQgbmFtZXNwYWNlIHByZWZpeDogXCIrSlNPTi5zdHJpbmdpZnkobCkpLHAudXJpPWwpLHQudGFnLmF0dHJpYnV0ZXNbY109cCxPKHQsXCJvbmF0dHJpYnV0ZVwiLHApfXQuYXR0cmliTGlzdC5sZW5ndGg9MH10LnRhZy5pc1NlbGZDbG9zaW5nPSEhZSx0LnNhd1Jvb3Q9ITAsdC50YWdzLnB1c2godC50YWcpLE8odCxcIm9ub3BlbnRhZ1wiLHQudGFnKSxlfHwodC5ub3NjcmlwdHx8XCJzY3JpcHRcIiE9PXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpP3Quc3RhdGU9RC5URVhUOnQuc3RhdGU9RC5TQ1JJUFQsdC50YWc9bnVsbCx0LnRhZ05hbWU9XCJcIiksdC5hdHRyaWJOYW1lPXQuYXR0cmliVmFsdWU9XCJcIix0LmF0dHJpYkxpc3QubGVuZ3RoPTB9ZnVuY3Rpb24geCh0KXtpZighdC50YWdOYW1lKXJldHVybiBQKHQsXCJXZWlyZCBlbXB0eSBjbG9zZSB0YWcuXCIpLHQudGV4dE5vZGUrPVwiPC8+XCIsdm9pZCh0LnN0YXRlPUQuVEVYVCk7aWYodC5zY3JpcHQpe2lmKFwic2NyaXB0XCIhPT10LnRhZ05hbWUpcmV0dXJuIHQuc2NyaXB0Kz1cIjwvXCIrdC50YWdOYW1lK1wiPlwiLHQudGFnTmFtZT1cIlwiLHZvaWQodC5zdGF0ZT1ELlNDUklQVCk7Tyh0LFwib25zY3JpcHRcIix0LnNjcmlwdCksdC5zY3JpcHQ9XCJcIn12YXIgZT10LnRhZ3MubGVuZ3RoLGk9dC50YWdOYW1lO3Quc3RyaWN0fHwoaT1pW3QubG9vc2VDYXNlXSgpKTtmb3IodmFyIHM9aTtlLS07KXtpZih0LnRhZ3NbZV0ubmFtZT09PXMpYnJlYWs7UCh0LFwiVW5leHBlY3RlZCBjbG9zZSB0YWdcIil9aWYoZTwwKXJldHVybiBQKHQsXCJVbm1hdGNoZWQgY2xvc2luZyB0YWc6IFwiK3QudGFnTmFtZSksdC50ZXh0Tm9kZSs9XCI8L1wiK3QudGFnTmFtZStcIj5cIix2b2lkKHQuc3RhdGU9RC5URVhUKTt0LnRhZ05hbWU9aTtmb3IodmFyIGE9dC50YWdzLmxlbmd0aDthLS0gPmU7KXt2YXIgbj10LnRhZz10LnRhZ3MucG9wKCk7dC50YWdOYW1lPXQudGFnLm5hbWUsTyh0LFwib25jbG9zZXRhZ1wiLHQudGFnTmFtZSk7dmFyIHI9e307Zm9yKHZhciBvIGluIG4ubnMpcltvXT1uLm5zW29dO3ZhciBjPXQudGFnc1t0LnRhZ3MubGVuZ3RoLTFdfHx0O3Qub3B0LnhtbG5zJiZuLm5zIT09Yy5ucyYmT2JqZWN0LmtleXMobi5ucykuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgaT1uLm5zW2VdO08odCxcIm9uY2xvc2VuYW1lc3BhY2VcIix7cHJlZml4OmUsdXJpOml9KX0pfTA9PT1lJiYodC5jbG9zZWRSb290PSEwKSx0LnRhZ05hbWU9dC5hdHRyaWJWYWx1ZT10LmF0dHJpYk5hbWU9XCJcIix0LmF0dHJpYkxpc3QubGVuZ3RoPTAsdC5zdGF0ZT1ELlRFWFR9ZnVuY3Rpb24gdyh0KXt2YXIgZSxpPXQuZW50aXR5LHM9aS50b0xvd2VyQ2FzZSgpLGE9XCJcIjtyZXR1cm4gdC5FTlRJVElFU1tpXT90LkVOVElUSUVTW2ldOnQuRU5USVRJRVNbc10/dC5FTlRJVElFU1tzXTooXCIjXCI9PT0oaT1zKS5jaGFyQXQoMCkmJihcInhcIj09PWkuY2hhckF0KDEpPyhpPWkuc2xpY2UoMiksYT0oZT1wYXJzZUludChpLDE2KSkudG9TdHJpbmcoMTYpKTooaT1pLnNsaWNlKDEpLGE9KGU9cGFyc2VJbnQoaSwxMCkpLnRvU3RyaW5nKDEwKSkpLGk9aS5yZXBsYWNlKC9eMCsvLFwiXCIpLGlzTmFOKGUpfHxhLnRvTG93ZXJDYXNlKCkhPT1pPyhQKHQsXCJJbnZhbGlkIGNoYXJhY3RlciBlbnRpdHlcIiksXCImXCIrdC5lbnRpdHkrXCI7XCIpOlN0cmluZy5mcm9tQ29kZVBvaW50KGUpKX1mdW5jdGlvbiBHKHQsZSl7XCI8XCI9PT1lPyh0LnN0YXRlPUQuT1BFTl9XQUtBLHQuc3RhcnRUYWdQb3NpdGlvbj10LnBvc2l0aW9uKTptKGUpfHwoUCh0LFwiTm9uLXdoaXRlc3BhY2UgYmVmb3JlIGZpcnN0IHRhZy5cIiksdC50ZXh0Tm9kZT1lLHQuc3RhdGU9RC5URVhUKX1mdW5jdGlvbiBNKHQsZSl7dmFyIGk9XCJcIjtyZXR1cm4gZTx0Lmxlbmd0aCYmKGk9dC5jaGFyQXQoZSkpLGl9RD10LlNUQVRFLFN0cmluZy5mcm9tQ29kZVBvaW50fHwoZz1TdHJpbmcuZnJvbUNoYXJDb2RlLEE9TWF0aC5mbG9vcixJPWZ1bmN0aW9uKCl7dmFyIHQsZSxpPVtdLHM9LTEsYT1hcmd1bWVudHMubGVuZ3RoO2lmKCFhKXJldHVyblwiXCI7Zm9yKHZhciBuPVwiXCI7KytzPGE7KXt2YXIgcj1OdW1iZXIoYXJndW1lbnRzW3NdKTtpZighaXNGaW5pdGUocil8fHI8MHx8cj4xMTE0MTExfHxBKHIpIT09cil0aHJvdyBSYW5nZUVycm9yKFwiSW52YWxpZCBjb2RlIHBvaW50OiBcIityKTtyPD02NTUzNT9pLnB1c2gocik6KHQ9NTUyOTYrKChyLT02NTUzNik+PjEwKSxlPXIlMTAyNCs1NjMyMCxpLnB1c2godCxlKSksKHMrMT09PWF8fGkubGVuZ3RoPjE2Mzg0KSYmKG4rPWcuYXBwbHkobnVsbCxpKSxpLmxlbmd0aD0wKX1yZXR1cm4gbn0sT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcsXCJmcm9tQ29kZVBvaW50XCIse3ZhbHVlOkksY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6U3RyaW5nLmZyb21Db2RlUG9pbnQ9SSl9KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBleHBvcnRzP3RoaXMuc2F4PXt9OmV4cG9ydHMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OaGVDNXFjeUpkTENKdVlXMWxjeUk2V3lKellYZ2lMQ0p3WVhKelpYSWlMQ0p6ZEhKcFkzUWlMQ0p2Y0hRaUxDSlRRVmhRWVhKelpYSWlMQ0pUUVZoVGRISmxZVzBpTENKamNtVmhkR1ZUZEhKbFlXMGlMQ0pOUVZoZlFsVkdSa1ZTWDB4RlRrZFVTQ0lzSWxOMGNtVmhiU0lzSW1KMVptWmxjbk1pTENKMGFHbHpJaXdpYVNJc0ltd2lMQ0pzWlc1bmRHZ2lMQ0pqYkdWaGNrSjFabVpsY25NaUxDSnhJaXdpWXlJc0ltSjFabVpsY2tOb1pXTnJVRzl6YVhScGIyNGlMQ0pzYjNkbGNtTmhjMlVpTENKc2IzZGxjbU5oYzJWMFlXZHpJaXdpYkc5dmMyVkRZWE5sSWl3aWRHRm5jeUlzSW1Oc2IzTmxaQ0lzSW1Oc2IzTmxaRkp2YjNRaUxDSnpZWGRTYjI5MElpd2lkR0ZuSWl3aVpYSnliM0lpTENKdWIzTmpjbWx3ZENJc0luTjBZWFJsSWl3aVV5SXNJa0pGUjBsT0lpd2ljM1J5YVdOMFJXNTBhWFJwWlhNaUxDSkZUbFJKVkVsRlV5SXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJbGhOVEY5RlRsUkpWRWxGVXlJc0ltRjBkSEpwWWt4cGMzUWlMQ0o0Yld4dWN5SXNJbTV6SWl3aWNtOXZkRTVUSWl3aWRISmhZMnRRYjNOcGRHbHZiaUlzSW5CdmMybDBhVzl1SWl3aWJHbHVaU0lzSW1OdmJIVnRiaUlzSW1WdGFYUWlMQ0pGVmtWT1ZGTWlMQ0p2SWl3aVJpSXNJbkJ5YjNSdmRIbHdaU0lzSW10bGVYTWlMQ0poSWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKd2RYTm9JaXdpWlc1a0lpd2lkM0pwZEdVaUxDSmphSFZ1YXlJc0luUnZVM1J5YVc1bklpd2lZMmhoY2tGMElpd2lRa1ZIU1U1ZlYwaEpWRVZUVUVGRFJTSXNJbUpsWjJsdVYyaHBkR1ZUY0dGalpTSXNJbFJGV0ZRaUxDSnpkR0Z5ZEdraUxDSjBaWGgwVG05a1pTSXNJbk4xWW5OMGNtbHVaeUlzSW1selYyaHBkR1Z6Y0dGalpTSXNJbk4wY21samRFWmhhV3dpTENKVVJWaFVYMFZPVkVsVVdTSXNJazlRUlU1ZlYwRkxRU0lzSW5OMFlYSjBWR0ZuVUc5emFYUnBiMjRpTENKVFExSkpVRlFpTENKVFExSkpVRlJmUlU1RVNVNUhJaXdpYzJOeWFYQjBJaXdpUTB4UFUwVmZWRUZISWl3aVUwZE5URjlFUlVOTUlpd2ljMmR0YkVSbFkyd2lMQ0pwYzAxaGRHTm9JaXdpYm1GdFpWTjBZWEowSWl3aVQxQkZUbDlVUVVjaUxDSjBZV2RPWVcxbElpd2lVRkpQUTE5SlRsTlVJaXdpY0hKdlkwbHVjM1JPWVcxbElpd2ljSEp2WTBsdWMzUkNiMlI1SWl3aWNHRmtJaXdpUVhKeVlYa2lMQ0pxYjJsdUlpd2lkRzlWY0hCbGNrTmhjMlVpTENKRFJFRlVRU0lzSW1WdGFYUk9iMlJsSWl3aVkyUmhkR0VpTENKRFQwMU5SVTVVSWl3aVkyOXRiV1Z1ZENJc0lrUlBRMVJaVUVVaUxDSmtiMk4wZVhCbElpd2lhWE5SZFc5MFpTSXNJbE5IVFV4ZlJFVkRURjlSVlU5VVJVUWlMQ0pFVDBOVVdWQkZYMFJVUkNJc0lrUlBRMVJaVUVWZlVWVlBWRVZFSWl3aVJFOURWRmxRUlY5RVZFUmZVVlZQVkVWRUlpd2lRMDlOVFVWT1ZGOUZUa1JKVGtjaUxDSkRUMDFOUlU1VVgwVk9SRVZFSWl3aWRHVjRkRzl3ZEhNaUxDSkRSRUZVUVY5RlRrUkpUa2NpTENKRFJFRlVRVjlGVGtSSlRrZGZNaUlzSWxCU1QwTmZTVTVUVkY5RlRrUkpUa2NpTENKUVVrOURYMGxPVTFSZlFrOUVXU0lzSW01aGJXVWlMQ0ppYjJSNUlpd2libUZ0WlVKdlpIa2lMQ0p1WlhkVVlXY2lMQ0p2Y0dWdVZHRm5JaXdpVDFCRlRsOVVRVWRmVTB4QlUwZ2lMQ0pCVkZSU1NVSWlMQ0pqYkc5elpWUmhaeUlzSW1GMGRISnBZazVoYldVaUxDSmhkSFJ5YVdKV1lXeDFaU0lzSWtGVVZGSkpRbDlPUVUxRklpd2lRVlJVVWtsQ1gxWkJURlZGSWl3aVlYUjBjbWxpSWl3aVFWUlVVa2xDWDA1QlRVVmZVMEZYWDFkSVNWUkZJaXdpWVhSMGNtbGlkWFJsY3lJc0luWmhiSFZsSWl3aVFWUlVVa2xDWDFaQlRGVkZYMUZWVDFSRlJDSXNJa0ZVVkZKSlFsOVdRVXhWUlY5VlRsRlZUMVJGUkNJc0lrRlVWRkpKUWw5V1FVeFZSVjlGVGxSSlZGbGZVU0lzSWtGVVZGSkpRbDlXUVV4VlJWOURURTlUUlVRaUxDSnBjMEYwZEhKcFlrVnVaQ0lzSWtGVVZGSkpRbDlXUVV4VlJWOUZUbFJKVkZsZlZTSXNJa05NVDFORlgxUkJSMTlUUVZkZlYwaEpWRVVpTENKdWIzUk5ZWFJqYUNJc0luSmxkSFZ5YmxOMFlYUmxJaXdpWW5WbVptVnlJaXdpY0dGeWMyVkZiblJwZEhraUxDSmxiblJwZEhraUxDSmxiblJwZEhsQ2IyUjVJaXdpWlc1MGFYUjVVM1JoY25RaUxDSkZjbkp2Y2lJc0ltMWhlRUZzYkc5M1pXUWlMQ0pOWVhSb0lpd2liV0Y0SWl3aWJXRjRRV04wZFdGc0lpd2liR1Z1SWl3aVkyeHZjMlZVWlhoMElpd2liU0lzSW1Ob1pXTnJRblZtWm1WeVRHVnVaM1JvSWl3aWNtVnpkVzFsSWl3aVkyeHZjMlVpTENKbWJIVnphQ0lzSW5KbGNYVnBjbVVpTENKbGVDSXNJbk4wY21WaGJWZHlZWEJ6SWl3aVptbHNkR1Z5SWl3aVpYWWlMQ0poY0hCc2VTSXNJbDl3WVhKelpYSWlMQ0ozY21sMFlXSnNaU0lzSW5KbFlXUmhZbXhsSWl3aWJXVWlMQ0p2Ym1WdVpDSXNJbTl1WlhKeWIzSWlMQ0psY2lJc0lsOWtaV052WkdWeUlpd2labTl5UldGamFDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWMyVjBJaXdpYUNJc0luSmxiVzkyWlVGc2JFeHBjM1JsYm1WeWN5SXNJbTl1SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbU52Ym1acFozVnlZV0pzWlNJc0ltTnZibk4wY25WamRHOXlJaXdpWkdGMFlTSXNJa0oxWm1abGNpSXNJbWx6UW5WbVptVnlJaXdpVTBRaUxDSlRkSEpwYm1kRVpXTnZaR1Z5SWl3aWFHRnVaR3hsY2lJc0ltbHVaR1Y0VDJZaUxDSmhjbWR6SWl3aVlYSm5kVzFsYm5Seklpd2ljM0JzYVdObElpd2lZMkZzYkNJc0lsaE5URjlPUVUxRlUxQkJRMFVpTENKWVRVeE9VMTlPUVUxRlUxQkJRMFVpTENKNGJXd2lMQ0p5WldkbGVDSXNJblJsYzNRaUxDSnpkSEpwYm1kR2NtOXRRMmhoY2tOdlpHVWlMQ0ptYkc5dmNpSXNJbVp5YjIxRGIyUmxVRzlwYm5RaUxDSnpJaXdpVTFSQlZFVWlMQ0pEVDAxTlJVNVVYMU5VUVZKVVNVNUhJaXdpWVcxd0lpd2laM1FpTENKc2RDSXNJbkYxYjNRaUxDSmhjRzl6SWl3aVFVVnNhV2NpTENKQllXTjFkR1VpTENKQlkybHlZeUlzSWtGbmNtRjJaU0lzSWtGeWFXNW5JaXdpUVhScGJHUmxJaXdpUVhWdGJDSXNJa05qWldScGJDSXNJa1ZVU0NJc0lrVmhZM1YwWlNJc0lrVmphWEpqSWl3aVJXZHlZWFpsSWl3aVJYVnRiQ0lzSWtsaFkzVjBaU0lzSWtsamFYSmpJaXdpU1dkeVlYWmxJaXdpU1hWdGJDSXNJazUwYVd4a1pTSXNJazloWTNWMFpTSXNJazlqYVhKaklpd2lUMmR5WVhabElpd2lUM05zWVhOb0lpd2lUM1JwYkdSbElpd2lUM1Z0YkNJc0lsUklUMUpPSWl3aVZXRmpkWFJsSWl3aVZXTnBjbU1pTENKVlozSmhkbVVpTENKVmRXMXNJaXdpV1dGamRYUmxJaXdpWVdGamRYUmxJaXdpWVdOcGNtTWlMQ0poWld4cFp5SXNJbUZuY21GMlpTSXNJbUZ5YVc1bklpd2lZWFJwYkdSbElpd2lZWFZ0YkNJc0ltTmpaV1JwYkNJc0ltVmhZM1YwWlNJc0ltVmphWEpqSWl3aVpXZHlZWFpsSWl3aVpYUm9JaXdpWlhWdGJDSXNJbWxoWTNWMFpTSXNJbWxqYVhKaklpd2lhV2R5WVhabElpd2lhWFZ0YkNJc0ltNTBhV3hrWlNJc0ltOWhZM1YwWlNJc0ltOWphWEpqSWl3aWIyZHlZWFpsSWl3aWIzTnNZWE5vSWl3aWIzUnBiR1JsSWl3aWIzVnRiQ0lzSW5ONmJHbG5JaXdpZEdodmNtNGlMQ0oxWVdOMWRHVWlMQ0oxWTJseVl5SXNJblZuY21GMlpTSXNJblYxYld3aUxDSjVZV04xZEdVaUxDSjVkVzFzSWl3aVkyOXdlU0lzSW5KbFp5SXNJbTVpYzNBaUxDSnBaWGhqYkNJc0ltTmxiblFpTENKd2IzVnVaQ0lzSW1OMWNuSmxiaUlzSW5sbGJpSXNJbUp5ZG1KaGNpSXNJbk5sWTNRaUxDSjFiV3dpTENKdmNtUm1JaXdpYkdGeGRXOGlMQ0p1YjNRaUxDSnphSGtpTENKdFlXTnlJaXdpWkdWbklpd2ljR3gxYzIxdUlpd2ljM1Z3TVNJc0luTjFjRElpTENKemRYQXpJaXdpWVdOMWRHVWlMQ0p0YVdOeWJ5SXNJbkJoY21FaUxDSnRhV1JrYjNRaUxDSmpaV1JwYkNJc0ltOXlaRzBpTENKeVlYRjFieUlzSW1aeVlXTXhOQ0lzSW1aeVlXTXhNaUlzSW1aeVlXTXpOQ0lzSW1seGRXVnpkQ0lzSW5ScGJXVnpJaXdpWkdsMmFXUmxJaXdpVDBWc2FXY2lMQ0p2Wld4cFp5SXNJbE5qWVhKdmJpSXNJbk5qWVhKdmJpSXNJbGwxYld3aUxDSm1ibTltSWl3aVkybHlZeUlzSW5ScGJHUmxJaXdpUVd4d2FHRWlMQ0pDWlhSaElpd2lSMkZ0YldFaUxDSkVaV3gwWVNJc0lrVndjMmxzYjI0aUxDSmFaWFJoSWl3aVJYUmhJaXdpVkdobGRHRWlMQ0pKYjNSaElpd2lTMkZ3Y0dFaUxDSk1ZVzFpWkdFaUxDSk5kU0lzSWs1MUlpd2lXR2tpTENKUGJXbGpjbTl1SWl3aVVHa2lMQ0pTYUc4aUxDSlRhV2R0WVNJc0lsUmhkU0lzSWxWd2MybHNiMjRpTENKUWFHa2lMQ0pEYUdraUxDSlFjMmtpTENKUGJXVm5ZU0lzSW1Gc2NHaGhJaXdpWW1WMFlTSXNJbWRoYlcxaElpd2laR1ZzZEdFaUxDSmxjSE5wYkc5dUlpd2llbVYwWVNJc0ltVjBZU0lzSW5Sb1pYUmhJaXdpYVc5MFlTSXNJbXRoY0hCaElpd2liR0Z0WW1SaElpd2liWFVpTENKdWRTSXNJbmhwSWl3aWIyMXBZM0p2YmlJc0luQnBJaXdpY21odklpd2ljMmxuYldGbUlpd2ljMmxuYldFaUxDSjBZWFVpTENKMWNITnBiRzl1SWl3aWNHaHBJaXdpWTJocElpd2ljSE5wSWl3aWIyMWxaMkVpTENKMGFHVjBZWE41YlNJc0luVndjMmxvSWl3aWNHbDJJaXdpWlc1emNDSXNJbVZ0YzNBaUxDSjBhR2x1YzNBaUxDSjZkMjVxSWl3aWVuZHFJaXdpYkhKdElpd2ljbXh0SWl3aWJtUmhjMmdpTENKdFpHRnphQ0lzSW14emNYVnZJaXdpY25OeGRXOGlMQ0p6WW5GMWJ5SXNJbXhrY1hWdklpd2ljbVJ4ZFc4aUxDSmlaSEYxYnlJc0ltUmhaMmRsY2lJc0lrUmhaMmRsY2lJc0ltSjFiR3dpTENKb1pXeHNhWEFpTENKd1pYSnRhV3dpTENKd2NtbHRaU0lzSWxCeWFXMWxJaXdpYkhOaGNYVnZJaXdpY25OaGNYVnZJaXdpYjJ4cGJtVWlMQ0ptY21GemJDSXNJbVYxY204aUxDSnBiV0ZuWlNJc0luZGxhV1Z5Y0NJc0luSmxZV3dpTENKMGNtRmtaU0lzSW1Gc1pXWnplVzBpTENKc1lYSnlJaXdpZFdGeWNpSXNJbkpoY25JaUxDSmtZWEp5SWl3aWFHRnljaUlzSW1OeVlYSnlJaXdpYkVGeWNpSXNJblZCY25JaUxDSnlRWEp5SWl3aVpFRnljaUlzSW1oQmNuSWlMQ0ptYjNKaGJHd2lMQ0p3WVhKMElpd2laWGhwYzNRaUxDSmxiWEIwZVNJc0ltNWhZbXhoSWl3aWFYTnBiaUlzSW01dmRHbHVJaXdpYm1raUxDSndjbTlrSWl3aWMzVnRJaXdpYldsdWRYTWlMQ0pzYjNkaGMzUWlMQ0p5WVdScFl5SXNJbkJ5YjNBaUxDSnBibVpwYmlJc0ltRnVaeUlzSW1GdVpDSXNJbTl5SWl3aVkyRndJaXdpWTNWd0lpd2lhVzUwSWl3aWRHaGxjbVUwSWl3aWMybHRJaXdpWTI5dVp5SXNJbUZ6ZVcxd0lpd2libVVpTENKbGNYVnBkaUlzSW14bElpd2laMlVpTENKemRXSWlMQ0p6ZFhBaUxDSnVjM1ZpSWl3aWMzVmlaU0lzSW5OMWNHVWlMQ0p2Y0d4MWN5SXNJbTkwYVcxbGN5SXNJbkJsY25BaUxDSnpaRzkwSWl3aWJHTmxhV3dpTENKeVkyVnBiQ0lzSW14bWJHOXZjaUlzSW5KbWJHOXZjaUlzSW14aGJtY2lMQ0p5WVc1bklpd2liRzk2SWl3aWMzQmhaR1Z6SWl3aVkyeDFZbk1pTENKb1pXRnlkSE1pTENKa2FXRnRjeUlzSW10bGVTSXNJbVVpTENKVGRISnBibWNpTENKbWNtOXRRMmhoY2tOdlpHVWlMQ0psZG1WdWRDSXNJbTV2WkdWVWVYQmxJaXdpZEdWNGRDSXNJblJ5YVcwaUxDSnViM0p0WVd4cGVtVWlMQ0p5WlhCc1lXTmxJaXdpYldWemMyRm5aU0lzSW5CaGNtVnVkQ0lzSW5GdVlXMWxJaXdpWVhSMGNtbGlkWFJsSWl3aWNYVmhiRTVoYldVaUxDSnpjR3hwZENJc0luQnlaV1pwZUNJc0lteHZZMkZzSWl3aWNXNGlMQ0p6Wld4bVEyeHZjMmx1WnlJc0luVnlhU0lzSWtwVFQwNGlMQ0p6ZEhKcGJtZHBabmtpTENKd0lpd2libllpTENKcGMxTmxiR1pEYkc5emFXNW5JaXdpZEc5TWIzZGxja05oYzJVaUxDSjBJaXdpWTJ4dmMyVlVieUlzSW5CdmNDSXNJbmdpTENKdUlpd2liblZ0SWl3aVpXNTBhWFI1VEVNaUxDSnVkVzFUZEhJaUxDSnpiR2xqWlNJc0luQmhjbk5sU1c1MElpd2lhWE5PWVU0aUxDSnlaWE4xYkhRaUxDSm9hV2RvVTNWeWNtOW5ZWFJsSWl3aWJHOTNVM1Z5Y205bllYUmxJaXdpWTI5a1pWVnVhWFJ6SWl3aWFXNWtaWGdpTENKamIyUmxVRzlwYm5RaUxDSk9kVzFpWlhJaUxDSnBjMFpwYm1sMFpTSXNJbEpoYm1kbFJYSnliM0lpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZCUXl4VFFVRlhRU3hIUVVOV1FTeEZRVUZKUXl4UFFVRlRMRk5CUVZWRExFVkJRVkZETEVkQlFVOHNUMEZCVHl4SlFVRkpReXhGUVVGVlJpeEZRVUZSUXl4SlFVTnVSVWdzUlVGQlNVa3NWVUZCV1VFc1JVRkRhRUpLTEVWQlFVbExMRlZCUVZsQkxFVkJRMmhDVEN4RlFVRkpUU3hoUVhWTFNpeFRRVUYxUWtvc1JVRkJVVU1zUjBGRE4wSXNUMEZCVHl4SlFVRkpSU3hGUVVGVlNDeEZRVUZSUXl4SlFUZEtMMEpJTEVWQlFVbFBMR3RDUVVGdlFpeE5RVVY0UWl4SlFTdEpTVU1zUlVFdlNVRkRMRVZCUVZVc1EwRkRXaXhWUVVGWExGZEJRVmtzVjBGQldTeFZRVUZYTEZWQlF6bERMR1ZCUVdkQ0xHVkJRV2RDTEZOQlFWVXNZVUZETVVNc1kwRkJaU3hSUVVGVExGVkJkMEl4UWl4VFFVRlRUQ3hGUVVGWFJpeEZRVUZSUXl4SFFVTXhRaXhMUVVGTlR5eG5Ra0ZCWjBKT0xFZEJRM0JDTEU5QlFVOHNTVUZCU1VFc1JVRkJWVVlzUlVGQlVVTXNTVUYzUm1wRExGTkJRWFZDUml4SFFVTnlRaXhKUVVGTExFbEJRVWxWTEVWQlFVa3NSVUZCUjBNc1JVRkJTVWdzUlVGQlVVa3NUMEZCVVVZc1JVRkJTVU1zUlVGQlIwUXNTVUZEZWtOV0xFVkJRVTlSTEVWQlFWRkZMRWxCUVUwc1IwRjBSblpDUnl4RFFVUmhTaXhOUVVGQlFTeExRVVZPU3l4RlFVWk5UQ3hMUVVWTFRTeEZRVUZKTEVkQlJsUk9MRXRCUjA1UExHOUNRVUZ6UW1wQ0xFVkJRVWxQTEd0Q1FVaHdRa2NzUzBGSlRsQXNTVUZCVFVFc1IwRkJUeXhIUVVwUVR5eExRVXRPVUN4SlFVRkpaU3hWUVV4RlVpeExRVXRwUWxBc1NVRkJTV1VzVjBGTWNrSlNMRXRCUzNsRFVDeEpRVUZKWjBJc1kwRk1OME5VTEV0QlRVNVZMRlZCVGsxV0xFdEJUV0ZRTEVsQlFVbGxMRlZCUVZrc1kwRkJaMElzWTBGT04wTlNMRXRCVDA1WExFdEJRVThzUjBGUVJGZ3NTMEZSVGxrc1QwRlNUVm9zUzBGUlZXRXNWMEZTVm1Jc1MwRlJPRUpqTEZOQlFWVXNSVUZTZUVOa0xFdEJVMDVsTEVsQlZFMW1MRXRCVTA5blFpeE5RVUZSTEV0QlZHWm9RaXhMUVZWT1VpeFRRVUZYUVN4RlFWWk1VU3hMUVZkT2FVSXNXVUZCWTNwQ0xFbEJXRkpSTEV0QlYzbENVQ3hKUVVGSmQwSXNWVUZZTjBKcVFpeExRVmxPYTBJc1RVRkJVVU1zUlVGQlJVTXNUVUZhU25CQ0xFdEJZVTV4UWl4bFFXSk5ja0lzUzBGaGEwSlFMRWxCUVVrMFFpeGxRV0owUW5KQ0xFdEJZMDV6UWl4VFFXUk5kRUlzUzBGaldYRkNMR1ZCUVdsQ1JTeFBRVUZQUXl4UFFVRlBiRU1zUlVGQlNXMURMR05CUVdkQ1JpeFBRVUZQUXl4UFFVRlBiRU1zUlVGQlNXZERMRlZCWkdwR2RFSXNTMEZsVGpCQ0xGZEJRV0VzUjBGbVVERkNMRXRCYjBKR1VDeEpRVUZKYTBNc1VVRndRa1l6UWl4TFFYRkNTalJDTEVkQlFVdE1MRTlCUVU5RExFOUJRVTlMTEVsQmNrSm1OMElzUzBGNVFrNDRRaXhsUVVGM1F5eEpRWHBDYkVNNVFpeExRWGxDYVVKUUxFbEJRVWx6UXl4VFFYcENja0l2UWl4TFFUQkNSamhDTEdkQ1FURkNSVGxDTEV0Qk1rSktLMElzVTBFelFra3ZRaXhMUVRKQ1kyZERMRXRCTTBKa2FFTXNTMEV5UWpSQ2FVTXNUMEZCVXl4SFFVVnNSRU1zUlVFM1FtRnNReXhMUVRaQ1FTeFhRWFpFWmxZc1JVRkJTVFpETEU5QlFWTXNRMEZEV0N4UFFVTkJMSGRDUVVOQkxHdENRVU5CTEZWQlEwRXNWVUZEUVN4bFFVTkJMRmxCUTBFc1ZVRkRRU3hYUVVOQkxGbEJRMEVzVVVGRFFTeGhRVU5CTEZGQlEwRXNUVUZEUVN4UlFVTkJMRk5CUTBFc1owSkJRMEVzYTBKQmQwTkhXaXhQUVVGUFF5eFRRVU5XUkN4UFFVRlBReXhQUVVGVExGTkJRVlZaTEVkQlEzaENMRk5CUVZORExFdEJSMVFzVDBGR1FVRXNSVUZCUlVNc1ZVRkJXVVlzUlVGRFNDeEpRVUZKUXl4SlFVdGtaQ3hQUVVGUFowSXNUMEZEVm1oQ0xFOUJRVTluUWl4TFFVRlBMRk5CUVZWSUxFZEJRM1JDTEVsQlFVbEpMRVZCUVVrc1IwRkRVaXhKUVVGTExFbEJRVWwyUXl4TFFVRkxiVU1zUlVGQlQwRXNSVUZCUlVzc1pVRkJaWGhETEVsQlFVbDFReXhGUVVGRlJTeExRVUZMZWtNc1IwRkRha1FzVDBGQlQzVkRMRWxCTUVSWU9VTXNSVUZCVlRSRExGVkJRVmtzUTBGRGNFSkxMRWxCUVVzc1YwRkJZMEVzUlVGQlNUTkRMRTlCUTNaQ05FTXNUVUV3ZVVKR0xGTkJRV2RDUXl4SFFVVmtMRWRCUVVrM1F5eExRVUZMWjBJc1RVRkRVQ3hOUVVGTmFFSXNTMEZCUzJkQ0xFMUJSV0lzUjBGS1lXaENMRXRCU1VaWkxFOUJRMVFzVDBGQlQwa3NSVUZNU1doQ0xFdEJUVlFzZDBSQlJVb3NSMEZCWXl4UFFVRldOa01zUlVGRFJpeFBRVUZQUml4RlFWUkpNME1zVFVGWFVTeHBRa0ZCVmpaRExFbEJRMVJCTEVWQlFWRkJMRVZCUVUxRExGbEJSV2hDTEVsQlFVazNReXhGUVVGSkxFVkJRMHBMTEVWQlFVa3NSMEZEVWl4TFFVTkZRU3hGUVVGSmVVTXNSVUZCVDBZc1JVRkJUelZETEV0QmFrSlFSQ3hMUVd0Q1NrMHNSVUZCU1VFc1JVRkZUa0VzUjBGalRDeFBRV3hEVjA0c1MwRjNRa0U0UWl4blFrRjRRa0U1UWl4TFFYbENSaXRDTEZkQlEwY3NUMEZCVG5wQ0xFZEJNVUpMVGl4TFFUSkNRV2RETEU5Qk0wSkJhRU1zUzBFMFFrRnBReXhQUVVGVExFZEJOVUpVYWtNc1MwRTRRa0ZwUXl4VlFUbENRV3BETEV0QmEwTkphMElzVDBGRFlpeExRVUZMUXl4RlFVRkZReXhOUVVWTUxFZEJja05QY0VJc1MwRnZRMEZyUWl4TlFVRlJReXhGUVVGRk5rSXNhVUpCUTFBc1YwRkJUakZETEVWQlEwWXNVMEZGUmpKRExFVkJlRU5QYWtRc1MwRjNRMmxDVFN4SFFVTjRRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVTJRaXhwUWtGRFRFTXNSVUUxUTA5cVJDeExRVFJEYVVKTkxFZEJRM2hDTEZOQlJVWXNTMEZCUzJFc1JVRkJSU3RDTEV0QlEwd3NSMEZvUkU5c1JDeExRV2RFU1dNc1ZVRm9SRXBrTEV0QlowUjFRbUVzVjBGQldTeERRVVY0UXl4SlFVUkJMRWxCUVVselF5eEZRVUZUYkVRc1JVRkJTU3hGUVVOV1N5eEhRVUZYTEUxQlFVNUJMRWRCUVcxQ0xFMUJRVTVCTEVsQlEzWkNRU3hGUVVGSmVVTXNSVUZCVDBZc1JVRkJUelZETEU5QmJrUm1SQ3hMUVc5RVlUaENMR2RDUVhCRVlqbENMRXRCY1VSTkswSXNWMEZEUnl4UFFVRk9la0lzUjBGMFJFaE9MRXRCZFVSUlowTXNUMEYyUkZKb1F5eExRWGRFVVdsRExFOUJRVk1zUjBGNFJHcENha01zUzBFd1JGRnBReXhWUVRGRVVtcERMRXRCT0VSRmIwUXNWVUZCV1ZBc1JVRkJUVkVzVlVGQlZVWXNSVUZCVVd4RUxFVkJRVWtzUjBGRmRrTXNUVUZCVGtzc1IwRm9SVWRPTEV0QlowVnRRbU1zVTBGb1JXNUNaQ3hMUVdkRmNVTmhMR0ZCYUVWeVEySXNTMEZuUlRKRVVpeFJRVWt6UkRoRUxFVkJRV0ZvUkN4SlFYQkZZazRzUzBGdlJUUkNZeXhWUVhCRk5VSmtMRXRCYjBVNFEyRXNXVUZEYWtRd1F5eEZRWEpGUjNaRUxFdEJjVVZuUWl4dFEwRkZXQ3hOUVVGT1RTeEZRWFpGUTA0c1MwRjNSVWxyUWl4TlFVRlJReXhGUVVGRmNVTXNXVUY0UldSNFJDeExRVEJGU1c5RUxGVkJRVms1UXl4SlFURkZhRUpPTEV0QmFVVkZhMElzVFVGQlVVTXNSVUZCUlhORExGVkJha1ZhZWtRc1MwRnJSVVV3UkN4cFFrRnNSVVl4UkN4TFFXdEZORUlyUWl4VlFWZHVReXhUUVVWR0xFdEJRVXRhTEVWQlFVVjNReXhQUVVWTExFMUJRVTV5UkN4RlFXcEdSMDRzUzBGclJrVnJRaXhOUVVGUlF5eEZRVUZGZVVNc1kwRnNSbG8xUkN4TFFXOUdSVFpFTEZGQlFWVjJSQ3hGUVVWdVFpeFRRVVZHTEV0QlFVdGhMRVZCUVVWNVF5eGpRVU5MTEUxQlFVNTBSQ3hGUVhwR1IwNHNTMEV3UmtWclFpeE5RVUZSUXl4RlFVRkZNa01zVjBFeFJsbzVSQ3hMUVRSR1JUWkVMRkZCUVZVc1NVRkJUWFpFTEVWQk5VWnNRazRzUzBFMlJrVnJRaXhOUVVGUlF5eEZRVUZGZDBNc1VVRkZia0lzVTBGRlJpeExRVUZMZUVNc1JVRkJSWE5ETEZWQlJVd3NSMEZCVlN4TlFVRk9ia1FzUlVGdVIwZE9MRXRCYjBkRmEwSXNUVUZCVVVNc1JVRkJSVFJETEZWQmNFZGFMMFFzUzBGeFIwVm5SU3hUUVVGWExGRkJRMklzUjBGQlNWWXNSVUZCWVdoRUxGTkJSV3BDTEVkQlFVa3lSQ3hGUVVGUlF5eEZRVUZYTlVRc1IwRjRSM1pDVGl4TFFYbEhSV3RDTEUxQlFWRkRMRVZCUVVWblJDeFRRWHBIV201RkxFdEJNRWRGYjBVc1VVRkJWVGxFTEU5QlExb3NSMEZCVlN4TlFVRk9RU3hGUVROSFNrNHNTMEUwUjBWclFpeE5RVUZSUXl4RlFVRkZNa01zVlVFMVIxbzVSQ3hMUVRaSFJXOUZMRkZCUVZVc1VVRkRXaXhIUVVGVkxFMUJRVTQ1UkN4RlFUbEhTazRzUzBFclIwVnJRaXhOUVVGUlF5eEZRVUZGYTBRc1ZVRXZSMXB5UlN4TFFXZElSWE5GTEdGQmFFaEdkRVVzUzBGblNIZENkVVVzWVVGQlpTeFBRVU4yUXl4RFFVZE1MRWRCUmtGb1FpeEZRV3hJUzNaRUxFdEJhMGhqTEdWQmJFaGtRU3hMUVc5SVRUQkVMR2xDUVVGdFFpeEZRWEJJZWtJeFJDeExRVzlJYjBNclFpeFRRVUZWTEVOQlEycEVMRWxCUVVsNVF5eEZRWEpJUkhoRkxFdEJjVWhqSzBJc1UwRnlTR1F2UWl4TFFYRklaME13UkN4cFFrRkRia053UkN4RlFVRkpMRWxCUVVsdFJTeE5RVUZOUkN4SFFVRkxSU3hMUVVGTExFdEJRVTl3UlN4RlFYUklOVUpPTEV0QmQwaEZiMFFzVlVGQldTeEpRVUZOT1VNc1JVRjRTSEJDVGl4TFFYbElSV3RDTEUxQlFWRkRMRVZCUVVVclFpeExRVVZ1UWl4VFFVVkdMRXRCUVVzdlFpeEZRVUZGTkVNc1YwRTNTRVV2UkN4TFFUaElTMmRGTEZOQlFWY3hSQ3hIUVVGSGNVVXNaMEpCUVd0Q1F5eEhRVU14UTBNc1JVRXZTRXMzUlN4TFFTdElXU3hsUVM5SVdrRXNTMEZuU1VWclFpeE5RVUZSUXl4RlFVRkZlVVFzVFVGb1NWbzFSU3hMUVdsSlJXZEZMRk5CUVZjc1IwRnFTV0pvUlN4TFFXdEpSVGhGTEUxQlFWRXNTVUZzU1ZZNVJTeExRVzFKVjJkRkxGTkJRVmN4UkN4SlFVRk5MRTFCYmtrMVFrNHNTMEZ2U1VWclFpeE5RVUZSUXl4RlFVRkZORVFzVVVGd1NWb3ZSU3hMUVhGSlJXZEdMRkZCUVZVc1IwRnlTVnBvUml4TFFYTkpSV2RGTEZOQlFWY3NTMEYwU1dKb1JTeExRWFZKV1dkRkxGTkJRVmN4UkN4SFFVRkhjVVVzWjBKQlFXdENUU3hIUVhaSk5VTnFSaXhMUVhkSlJXdENMRTFCUVZGRExFVkJRVVU0UkN4VFFYaEpXbXBHTEV0QmVVbE5hMFlzVTBGNlNVNXNSaXhMUVhsSmQwSmpMRlZCUXpOQ2VVTXNSVUV4U1VkMlJDeExRVEpKUkN3clEwRXpTVU5CTEV0Qk5rbEZhMFlzVVVGQlZTeEhRVGRKV214R0xFdEJPRWxGWjBVc1UwRkJWeXhKUVVOSUxFMUJRVTR4UkN4SFFVTlVkVVVzUlVGb1NrczNSU3hMUVdkS1dTeHZRa0ZvU2xwQkxFdEJaMHAzUTJkRkxGVkJhRXA0UTJoRkxFdEJhVXBGWjBVc1UwRkJWeXhIUVdwS1ltaEZMRXRCYTBwRmEwSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlExSnBReXhGUVVGUk4wVXNTVUZ1U2xwT0xFdEJiMHBGYTBJc1RVRkJVVU1zUlVGQlJXbEZMR2xDUVhCS1duQkdMRXRCY1VwRlowVXNWVUZCV1RGRUxFZEJja3BrVGl4TFFYVktSV2RGTEZWQlFWa3hSQ3hGUVVWeVFpeFRRVVZHTEV0QlFVdGhMRVZCUVVWcFJTeHBRa0ZEUkRsRkxFbEJOVXBIVGl4TFFUUktWVXNzU1VFMVNsWk1MRXRCTmtwRmEwSXNUVUZCVVVNc1JVRkJSVFJETEZWQk4wcGFMMFFzUzBFNFNrVkxMRVZCUVVrc1NVRTVTazVNTEV0QlowdEJaMFVzVlVGQldURkVMRVZCUTI1Q0xGTkJSVVlzUzBGQlMyRXNSVUZCUlRoRUxGRkJRMHNzVFVGQlRqTkZMRWRCY0V0SFRpeExRWEZMUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhMUVVOcVFqSkNMRVZCZEV0TE4wVXNTMEZ6UzFrc1dVRjBTMXBCTEV0QmMwdG5RMnRHTEZOQmRFdG9RMnhHTEV0QmRVdEZhMFlzVTBGQlZTeEpRWFpMV214R0xFdEJlVXRGYTBZc1UwRkJWelZGTEVWQlExSXNUVUZCVGtFc1JVRXhTME5PTEV0Qk1rdEphMElzVFVGQlVVTXNSVUZCUld0RkxGbEJRMUpHTEVWQlFWRTNSU3hMUVRWTFpFNHNTMEUyUzBsclFpeE5RVUZSUXl4RlFVRkZiVVVzWlVFM1MyUjBSaXhMUVRoTFNVc3NSVUZCU1VNc1NVRkhaaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnRSU3hsUVc1TVJYUkdMRXRCYjB4QmEwWXNVMEZCVnpWRkxFVkJRMlJCTEVsQmNreEhUaXhMUVhGTVZVc3NTVUZ5VEZaTUxFdEJjMHhGU3l4RlFVRkpMRWRCZEV4T1RDeExRWFZNUld0Q0xFMUJRVkZETEVWQlFVVTRSQ3hUUVVWdVFpeFRRVVZHTEV0QlFVczVSQ3hGUVVGRmEwVXNXVUV6VEVWeVJpeExRVFJNUVd0R0xGTkJRVmMxUlN4RlFVTlNMRTFCUVU1QkxFVkJOMHhIVGl4TFFUaE1SV3RDTEUxQlFWRkRMRVZCUVVVNFJDeFJRVU5TUlN4RlFVRlJOMFVzUzBFdlRGcE9MRXRCWjAxRmEwSXNUVUZCVVVNc1JVRkJSVzlGTEcxQ1FXaE5XblpHTEV0QmFVMUZTeXhGUVVGSlF5eEhRVVZpTEZOQlJVWXNTMEZCUzJFc1JVRkJSVzlGTEcxQ1FYSk5SWFpHTEV0QmMwMUJhMFlzVTBGQlZ6VkZMRVZCUTJSQkxFbEJkazFIVGl4TFFYVk5WVXNzU1VGMlRWWk1MRXRCZDAxRmEwSXNUVUZCVVVNc1JVRkJSV3RGTEZsQmVFMWFja1lzUzBGNVRVVkxMRVZCUVVrc1NVRkZZaXhUUVVWR0xFdEJRVXRqTEVWQlFVVTBSQ3hSUVVOTExFMUJRVTU2UlN4RlFUbE5SMDRzUzBFclRVVnJRaXhOUVVGUlF5eEZRVUZGY1VVc1pVRXZUVnA0Uml4TFFXbE9SV2RHTEZOQlFWY3hSU3hGUVVWd1FpeFRRVVZHTEV0QlFVdGhMRVZCUVVWeFJTeGxRVU5MTEUxQlFVNXNSaXhIUVhST1IwNHNTMEYxVGtWclFpeE5RVUZSUXl4RlFVRkZjMFVzWTBGMlRscDZSaXhMUVhkT1JXZEdMRkZCUVZWVkxFVkJlRTVhTVVZc1MwRjNUalJDVUN4SlFYaE9OVUpQTEV0QmQwNTNRMmRHTEZOQmVFNTRRMmhHTEV0QmVVNU5aMFlzVTBGRFZFZ3NSVUV4VGtjM1JTeExRVEJPWXl4WlFURk9aRUVzUzBFd1RtdERaMFlzVTBFeFRteERhRVlzUzBFMFRrVm5SaXhSUVVGVkxFdEJOVTVhYUVZc1MwRTRUa1ZuUml4VFFVRlhMRWxCUVUweFJTeEZRVGxPYmtKT0xFdEJLMDVGYTBJc1RVRkJVVU1zUlVGQlJUUkVMRk5CUlc1Q0xGTkJSVVlzUzBGQlN6VkVMRVZCUVVWelJTeGpRVU5MTEUxQlFVNXVSaXhIUVVOR2FVUXNSVUZ5VDB0MlJDeExRWEZQWXl4eFFrRnlUMlJCTEV0QmQwOUZaMFlzVTBGQlZ5eExRVUZQTVVVc1JVRjRUM0JDVGl4TFFYbFBSV3RDTEUxQlFWRkRMRVZCUVVVMFJDeFRRWHBQV2k5RkxFdEJNazlGYTBJc1RVRkJVVU1zUlVGQlJTdENMRXRCUlc1Q0xGTkJSVVlzUzBGQlN5OUNMRVZCUVVWNVJDeE5RVU5MTEUxQlFVNTBSU3hGUVdoUVIwNHNTMEZwVUVWclFpeE5RVUZSUXl4RlFVRkZkMFVzWVVGcVVGb3pSaXhMUVcxUVJUaEZMRTlCUVZONFJTeEZRVVZzUWl4VFFVVkdMRXRCUVV0aExFVkJRVVYzUlN4aFFVTkxMRTFCUVU1eVJpeEZRWGhRUjA0c1MwRjVVRVZyUWl4TlFVRlJReXhGUVVGRmVVVXNaMEpCZWxCYU5VWXNTMEV5VUVVNFJTeFBRVUZUTEVsQlFVMTRSU3hGUVROUWFrSk9MRXRCTkZCRmEwSXNUVUZCVVVNc1JVRkJSWGxFTEU5QlJXNUNMRk5CUlVZc1MwRkJTM3BFTEVWQlFVVjVSU3hsUVVOTExFMUJRVTUwUml4SFFXcFJSMDRzUzBGclVVMDRSU3hQUVVOVVJDeEZRVzVSUnpkRkxFdEJiVkZqTEZWQmJsRmtRU3hMUVcxUlowTTRSU3hQUVVWeVEwUXNSVUZ5VVVzM1JTeExRWEZSV1N4blFrRnlVVnBCTEV0QmMxRkZPRVVzVFVGQlVTeEhRWFJSVmpsRkxFdEJkVkZGYTBJc1RVRkJVVU1zUlVGQlJTdENMRTFCUTBZc1RVRkJUalZETEVWQmVGRktUaXhMUVhsUlJUaEZMRTlCUVZNc1MwRjZVVmc1UlN4TFFUSlJSVGhGTEU5QlFWTXNTMEZCVDNoRkxFVkJNMUZzUWs0c1MwRTBVVVZyUWl4TlFVRlJReXhGUVVGRmVVUXNUMEZGYmtJc1UwRkZSaXhMUVVGTGVrUXNSVUZCUld0RUxGVkJRMHNzVFVGQlRpOUVMRVZCYWxKSFRpeExRV3RTUld0Q0xFMUJRVkZETEVWQlFVVXdSU3hwUWtGRFVuWkRMRVZCUVdGb1JDeEhRVzVTYWtKT0xFdEJiMUpGYTBJc1RVRkJVVU1zUlVGQlJUSkZMR1ZCY0ZKYU9VWXNTMEZ6VWtWelJTeGpRVUZuUW1oRkxFVkJSWHBDTEZOQlJVWXNTMEZCUzJFc1JVRkJSVEpGTEdWQlEwd3NTVUV6VWs4NVJpeExRVEpTUzNWRkxHTkJRV2RDYWtJc1JVRkJZV2hFTEVkQlEzWkRMRk5CUTJVc1RVRkJUa0VzUlVFM1VrcE9MRXRCT0ZKRmEwSXNUVUZCVVVNc1JVRkJSVEJGTEdsQ1FUbFNXamRHTEV0QloxTkZkVVVzWTBGQlowSnFSU3hGUVVWNlFpeFRRVVZHTEV0QlFVdGhMRVZCUVVVd1JTeHBRa0ZEU3l4TlFVRk9ka1lzUjBGRFJuVkZMRVZCZEZOTE4wVXNTMEZ6VTFrc01FSkJRVEpDTEVOQlF6RkRLMFlzUzBGMlUwY3ZSaXhMUVhWVFZYTkZMR0ZCUTJJd1FpeExRWGhUUjJoSExFdEJkMU5WZFVVc1pVRjRVMVoyUlN4TFFUQlRSWE5GTEdGQk1WTkdkRVVzUzBFd1UzZENkVVVzWVVGQlpTeEhRVEZUZGtOMlJTeExRVEpUUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhQUVROVFdteEVMRXRCTmxORmRVVXNZMEZCWjBJc1NVRkJUV3BGTEVWQk4xTjRRazRzUzBFNFUwVnJRaXhOUVVGUlF5eEZRVUZGTWtVc1owSkJSVzVDTEZOQlJVWXNTMEZCU3pORkxFVkJRVVZuUkN4VFFVTkVSaXhGUVVGUlowTXNSVUZCVlROR0xFZEJibFJtVGl4TFFXOVVSVzlGTEZOQlFWYzVSQ3hIUVVWc1FqUkdMRVZCZEZSTGJFY3NUVUYxVkVzc1RVRkJUazBzUlVGRFJqWkdMRVZCZUZSSGJrY3NUVUY1VkZrc1RVRkJUazBzUlVGNlZFNU9MRXRCTUZSSmEwSXNUVUZCVVVNc1JVRkJSV2xHTEdkQ1FVVmFPVU1zUlVGQllXaEVMRWxCUTJoQ2FVUXNSVUUzVkVOMlJDeExRVFpVYTBJc2FVTkJOMVJzUWtFc1MwRXJWRWxyUWl4TlFVRlJReXhGUVVGRmEwWXNVMEZIY2tJc1UwRkZSaXhMUVVGTGJFWXNSVUZCUldsR0xHVkJRMHNzVFVGQlRqbEdMRWRCUTBZMlJpeEZRWFJWUzI1SExFMUJjMVZYTEVkQlEyaENjMGNzUlVGMlZVdDBSeXhSUVhsVlRIVkVMRVZCZWxWTGRrUXNTMEY1VldNc2EwUkJlbFZrUVN4TFFUQlZSV3RDTEUxQlFWRkRMRVZCUVVWclJpeFJRVVZ1UWl4VFFVVkdMRXRCUVV0c1JpeEZRVUZGYTBZc1QwRkZUQ3hIUVVGSkwwTXNSVUZCWVdoRUxFZEJRMllzVTBGRFpTeE5RVUZPUVN4RlFVTlVOa1lzUlVGdVZrdHVSeXhOUVc5V1ZTeE5RVUZPVFN4RlFYQldTazRzUzBGeFZrVnJRaXhOUVVGUlF5eEZRVUZGYVVZc1pVRkRVbTVETEVWQlFWRkRMRVZCUVZjMVJDeEpRWFJXZGtKT0xFdEJkVlpGZFVjc1YwRkJZV3BITEVWQmRsWm1UaXhMUVhkV1JYZEhMRmxCUVdNc1IwRjRWbWhDZUVjc1MwRjVWa1ZyUWl4TlFVRlJReXhGUVVGRmMwWXNZVUZGYWtKc1JDeEZRVE5XUzNaRUxFdEJNbFpqTERCQ1FVVnlRaXhUUVVWR0xFdEJRVXR0UWl4RlFVRkZjMFlzV1VGRFN5eE5RVUZPYmtjc1JVRm9WMGRPTEV0QmFWZEZhMElzVFVGQlVVTXNSVUZCUlhWR0xHRkJRMFlzVFVGQlRuQkhMRWRCUTFScFJDeEZRVzVYUzNaRUxFdEJiVmRqTERKQ1FXNVhaRUVzUzBGdlYwVjNSeXhaUVhCWFJuaEhMRXRCYjFkMVFuVkhMRmRCUXpWQ1NTeEZRWEpYU3pOSExFMUJjMWRNYlVjc1JVRjBWMHR1Unl4UFFYVlhTWE5FTEVWQlFXRm9SQ3hIUVhaWGFrSk9MRXRCZDFkRmEwSXNUVUZCVVVNc1JVRkJSWGxHTEhOQ1FVTlNNME1zUlVGQlVXZERMRVZCUVZVelJpeEhRWHBYZEVKT0xFdEJNRmRGZFVjc1dVRkJZMnBITEVWQlJYSkNhVVFzUlVFMVYwdDJSQ3hMUVRSWFl5d3dRa0ZGY2tJc1UwRkZSaXhMUVVGTGJVSXNSVUZCUlhsR0xITkNRVU5NTEVkQlFWVXNUVUZCVG5SSExFVkJhbGhIVGl4TFFXdFlSV3RDTEUxQlFWRkRMRVZCUVVWMVJpeHBRa0ZEV2l4RFFVRkJMRWRCUVVsd1JDeEZRVUZoYUVRc1IwRkRkRUlzVTBGRlFXbEVMRVZCZEZoTGRrUXNTMEZ6V0dNc01rSkJkRmhrUVN4TFFYVllSV1VzU1VGQlNUaEdMRmRCZGxoT04wY3NTMEYxV0hkQ2RVY3NXVUZCWXl4SFFYWllkRU4yUnl4TFFYZFlSWGRITEZsQlFXTXNSMEZEY2tJelFpeEZRWHBZU3pkRkxFdEJlVmhaTEdOQlFXVXNRMEZET1VJclJpeExRVEZZUnk5R0xFdEJNRmhWZFVjc1YwRkRZazhzVFVGQlR5eExRVE5ZU2psSExFdEJObGhGZFVjc1YwRkJZU3hIUVVOV0xFMUJRVTVxUnl4RlFVTkdOa1lzUlVFdldFZHVSeXhOUVdkWlRXbEZMRVZCUVZGRExFVkJRVmMxUkN4SlFXaFpla0pPTEV0QmFWbEpkVWNzVjBGQllXcEhMRVZCYWxscVFrNHNTMEZyV1VsclFpeE5RVUZSUXl4RlFVRkZjMFlzWTBGRmFrSnNSQ3hGUVhCWlIzWkVMRXRCYjFsblFpd3dRa0Z3V1doQ1FTeExRWEZaU1d0Q0xFMUJRVkZETEVWQlFVVnJSaXhSUVVkeVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRmRVWXNZVUZEVEN4SFFVRkpjRVFzUlVGQllXaEVMRWRCUTJZc1UwRkRVelpGTEVWQlFWRTNSU3hKUVRkWldrNHNTMEU0V1VWTExFVkJRVWxETEVWQk9WbE9UaXhMUVN0WlJXdENMRTFCUVZGRExFVkJRVVUwUml4elFrRkZha0o0UkN4RlFXcGFTM1pFTEV0QmFWcGpMRFJDUVdwYVpFRXNTMEZyV2tWclFpeE5RVUZSUXl4RlFVRkZOa1lzYzBKQmJGcGFhRWdzUzBGdFdrVjNSeXhaUVVGamJFY3NSMEZGZGtJc1UwRkZSaXhMUVVGTFlTeEZRVUZGTkVZc2IwSkJRMHdzUjBGQlNYcEhMRWxCZUZwSFRpeExRWGRhVlVzc1JVRkJSeXhEUVVOU0xFMUJRVTVETEVWQmVscERUaXhMUVRCYVNXdENMRTFCUVZGRExFVkJRVVU0Uml4elFrRXhXbVJxU0N4TFFUUmFTWGRITEdGQlFXVnNSeXhGUVVWNFFpeFRRVVZHY1Vjc1JVRm9ZVTh6Unl4TlFVRkJRU3hMUVdsaFFVc3NSVUZCU1N4SFFXcGhTa3dzUzBGcllVRnJRaXhOUVVGUlF5eEZRVUZGSzBZc2IwSkJRMnBDTEZOQlJVWXNTMEZCU3k5R0xFVkJRVVVyUml4dlFrRkRSRFZFTEVWQlFXRm9SQ3hIUVhSaFZrNHNTMEYxWVVWclFpeE5RVUZSUXl4RlFVRkZhMFlzVDBGRFJpeE5RVUZPTDBZc1JVRkRWRFpHTEVWQmVtRkxia2NzVFVFd1lWVXNUVUZCVGswc1JVRXhZVXBPTEV0Qk1tRkZhMElzVFVGQlVVTXNSVUZCUldsR0xHVkJRMUp1UXl4RlFVRlJReXhGUVVGWE5VUXNTVUZETlVKcFJDeEZRVGRoUzNaRUxFdEJObUZqTEc5RFFUZGhaRUVzUzBFNFlVVjFSeXhYUVVGaGFrY3NSVUU1WVdaT0xFdEJLMkZGZDBjc1dVRkJZeXhIUVM5aGFFSjRSeXhMUVdkaVJXdENMRTFCUVZGRExFVkJRVVZ6Uml4aFFVVnFRbXhFTEVWQmJHSkxka1FzUzBGclltTXNNRUpCUlhKQ0xGTkJSVVlzUzBGQlMyMUNMRVZCUVVVMlJpeHpRa0ZEVEN4SlFVRkxSeXhGUVVGWk4wY3NSMEZCU1N4RFFVTlVMRTFCUVU1QkxFVkJlR0pEVGl4TFFYbGlTV3RDTEUxQlFWRkRMRVZCUVVWcFJ5eHpRa0Y2WW1Sd1NDeExRVEppU1hkSExHRkJRV1ZzUnl4RlFVVjRRaXhUUVVWR2NVY3NSVUV2WWs4elJ5eE5RV2RqUnl4TlFVRk9UU3hGUVVOR05rWXNSVUZxWTB0dVJ5eE5RVUZCUVN4TFFXMWpSV3RDTEUxQlFWRkRMRVZCUVVWclJpeFBRVVZ1UWl4VFFVVkdMRXRCUVV0c1JpeEZRVUZGTWtNc1ZVRkRUQ3hIUVhoalR6bEVMRXRCZDJOTGIwVXNVVUZoU3l4TlFVRk9PVVFzUlVGRFZHZEhMRVZCZEdSTGRFY3NUVUYxWkVscFJTeEZRVUZSWjBNc1JVRkJWVE5HTEVkQmRtUjBRazRzUzBGM1pFVnZSU3hUUVVGWE9VUXNSVUY0WkdKT0xFdEJlV1JYTmtRc1VVRjZaRmczUkN4TFFUQmtSVFpFTEZGQlFWVXNTMEV4WkZvM1JDeExRVEJrTUVKdlJTeFJRVEZrTVVKd1JTeExRVEprUlc5RkxGRkJRVlVzUjBFelpGcHdSU3hMUVRSa1JXdENMRTFCUVZGRExFVkJRVVYzUXl4VFFVVmFUQ3hGUVVGaGFFUXNTVUZEYUVKcFJDeEZRUzlrUjNaRUxFdEJLMlJuUWl4clEwRXZaR2hDUVN4TFFXbGxSV3RDTEUxQlFWRkRMRVZCUVVWclJ5eDVRa0Y2UWtVc1EwRkRia0lzUjBGQlNTOUVMRVZCUVdGb1JDeEhRVU5tTEZOQlExTm5TQ3hGUVVGVGNFUXNSVUZCVnpWRUxFZEJNMk14UWs0c1MwRTBZMUUyUkN4UlFUVmpVamRFTEV0Qk5tTk5Oa1FzVVVGQlZTeExRVUZQZGtRc1JVRTNZM1pDVGl4TFFUaGpUV3RDTEUxQlFWRkRMRVZCUVVWM1F5eFJRVVZxUWtvc1JVRm9aRU4yUkN4TFFXZGthMElzYlVOQmFHUnNRa0VzUzBGdFpFbHZSU3hSUVVGVk9VUXNSVUZuUW5KQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUld0SExHOUNRVU5NTEVkQlFVa3ZSQ3hGUVVGaGFFUXNSMEZEWml4VFFVVlJMRTFCUVU1QkxFVkJRMFpuUnl4RlFURmxTM1JITEUxQk5HVk1kVVFzUlVFMVpVdDJSQ3hMUVRSbFl5eHhRMEZGY2tJc1UwRkZSaXhMUVVGTGJVSXNSVUZCUlhGRExGbEJRMUFzUzBGQlMzSkRMRVZCUVVVNFJpeHpRa0ZEVUN4TFFVRkxPVVlzUlVGQlJXbEhMSE5DUVVOTUxFbEJRVWxITEVWQlEwRkRMRVZCUTBvc1QwRnlaazk0U0N4TFFYRm1VV3RDTEU5QlEySXNTMEZCUzBNc1JVRkJSWEZETEZsQlEwd3JSQ3hGUVVGamNFY3NSVUZCUlN0Q0xFdEJRMmhDYzBVc1JVRkJVeXhYUVVOVUxFMUJSVVlzUzBGQlMzSkhMRVZCUVVVNFJpeHpRa0ZEVEUwc1JVRkJZM0JITEVWQlFVVTBSaXh2UWtGRGFFSlRMRVZCUVZNc1kwRkRWQ3hOUVVWR0xFdEJRVXR5Unl4RlFVRkZhVWNzYzBKQlEweEhMRVZCUVdOd1J5eEZRVUZGTmtZc2MwSkJRMmhDVVN4RlFVRlRMR05CU1Vnc1RVRkJUbXhJTEVkQmRHZENSMDRzUzBGMVowSkZkMGdzU1VGQlYwTXNSVUYyWjBKaWVrZ3NUVUZCUVVFc1MwRjNaMEpGTUVnc1QwRkJVeXhIUVhoblFsZ3hTQ3hMUVhsblFrVnJRaXhOUVVGUmNVY3NSMEZEVG5SRUxFVkJNV2RDU21wRkxFdEJNR2RDYlVJd1NDeFBRVUZQZGtnc1QwRkJVM2RJTEVWQlFXRkRMRVZCUVdGMFNDeEhRVEZuUWpkRVRpeExRVEpuUWtVd1NDeFJRVUZWY0Vnc1IwRkZha0pwUkN4RlFUZG5Ra3QyUkN4TFFUWm5RbU1zYjBOQk4yZENaRUVzUzBFNFowSkZkMGdzU1VGQlZ5eEpRVGxuUW1KNFNDeExRVGhuUWpCQ01FZ3NUMEZCVTNCSUxFVkJPV2RDYmtOT0xFdEJLMmRDUlRCSUxFOUJRVk1zUjBFdlowSllNVWdzUzBGbmFFSkZhMElzVFVGQlVYRkhMRWRCUjJwQ0xGTkJSVVlzVVVGRFJTeE5RVUZOTEVsQlFVbE5MRTFCZEdoQ1NEZElMRXRCYzJoQ2FVSXNhMEpCZEdoQ2FrSkJMRXRCYzJoQ05FTnJRaXhQUVhSb1FqVkRiRUlzUzBFd2FFSkdLMElzVlVFeGFFSkZMMElzUzBFd2FFSnBRazhzY1VKQk56TkRhRU1zVTBGQk5FSm9RaXhIUVVjeFFpeEpRVVpCTEVsQlFVbDFTU3hGUVVGaFF5eExRVUZMUXl4SlFVRkpNVWtzUlVGQlNVOHNhMEpCUVcxQ0xFbEJRemREYjBrc1JVRkJXU3hGUVVOUWFFa3NSVUZCU1N4RlFVRkhReXhGUVVGSlNDeEZRVUZSU1N4UFFVRlJSaXhGUVVGSlF5eEZRVUZIUkN4SlFVRkxMRU5CUXpsRExFbEJRVWxwU1N4RlFVRk5NMGtzUlVGQlQxRXNSVUZCVVVVc1NVRkJTVVVzVDBGRE4wSXNSMEZCU1N0SUxFVkJRVTFLTEVWQlMxSXNUMEZCVVM5SUxFVkJRVkZGTEVsQlEyUXNTVUZCU3l4WFFVTklhMGtzUlVGQlZUVkpMRWRCUTFZc1RVRkZSaXhKUVVGTExGRkJRMGh6Uml4RlFVRlRkRVlzUlVGQlVTeFZRVUZYUVN4RlFVRlBkVVlzVDBGRGJrTjJSaXhGUVVGUGRVWXNUVUZCVVN4SFFVTm1MRTFCUlVZc1NVRkJTeXhUUVVOSVJDeEZRVUZUZEVZc1JVRkJVU3hYUVVGWlFTeEZRVUZQYzBVc1VVRkRjRU4wUlN4RlFVRlBjMFVzVDBGQlV5eEhRVU5vUWl4TlFVVkdMRkZCUTBVM1F5eEZRVUZOZWtJc1JVRkJVU3dyUWtGQmFVTlJMRVZCUVZGRkxFbEJSemRFWjBrc1JVRkJXVVlzUzBGQlMwTXNTVUZCU1VNc1JVRkJWME1zUjBGSGJFTXNTVUZCU1VVc1JVRkJTVGxKTEVWQlFVbFBMR3RDUVVGdlFtOUpMRVZCUTJoRE1Va3NSVUZCVDJkQ0xHOUNRVUZ6UWpaSUxFVkJRVWszU1N4RlFVRlBkME1zVTBFMk1VTjBRM05ITEVOQk0yaENWM0pKTEUxQk5taENZaXhQUVRkb1FtRkJMRTFCTVhsQ1luTkpMRTlCUVZFc1YwRkJhVU1zVDBGQmJrSjBTU3hMUVVGTFowSXNUVUZCVVN4TFFVRmhhRUlzVFVGRGFFUjFTU3hOUVVGUExGZEJRV01zVDBGQlQzWkpMRXRCUVVzMFF5eE5RVUZOTEU5QlEzWkRORVlzVFVGQlR5eFhRV3BDVkN4SlFVRjFRbXBLTEVWQlEzSkNORWtzUlVGRWNVSTFTU3hGUVdsQ1lWTXNUVUZtWWl4TFFVRnFRbFFzUlVGQlQzVkdMRkZCUTFSRUxFVkJRVk4wUml4RlFVRlJMRlZCUVZkQkxFVkJRVTkxUml4UFFVTnVRM1pHTEVWQlFVOTFSaXhOUVVGUkxFbEJSVXNzUzBGQmJFSjJSaXhGUVVGUGMwVXNVMEZEVkdkQ0xFVkJRVk4wUml4RlFVRlJMRmRCUVZsQkxFVkJRVTl6UlN4UlFVTndRM1JGTEVWQlFVOXpSU3hQUVVGVExFMUJZWEJDTEVsQlEwVXZSQ3hGUVVGVE1ra3NVVUZCVVN4VlFVRlZNMGtzVDBGRE0wSXNUVUZCVHpSSkxFZEJRMUExU1N4RlFVRlRMR0ZCUjFnc1NVRkJTVFpKTEVWQlFXTnlTaXhGUVVGSk5rTXNUMEZCVDNsSExFOUJRVThzVTBGQlZVTXNSMEZETlVNc1RVRkJZeXhWUVVGUVFTeEhRVUY1UWl4UlFVRlFRU3hKUVU4elFpeFRRVUZUYkVvc1JVRkJWMGdzUlVGQlVVTXNSMEZETVVJc1MwRkJUVThzWjBKQlFXZENUQ3hIUVVOd1FpeFBRVUZQTEVsQlFVbEJMRVZCUVZWSUxFVkJRVkZETEVkQlJ5OUNTeXhGUVVGUFowb3NUVUZCVFRsSkxFMUJSV0pCTEV0QlFVc3JTU3hSUVVGVkxFbEJRVWx5U2l4RlFVRlZSaXhGUVVGUlF5eEhRVU55UTA4c1MwRkJTMmRLTEZWQlFWY3NSVUZEYUVKb1NpeExRVUZMYVVvc1ZVRkJWeXhGUVVWb1FpeEpRVUZKUXl4RlFVRkxiRW9zUzBGRlZFRXNTMEZCU3l0SkxGRkJRVkZKTEUxQlFWRXNWMEZEYmtKRUxFVkJRVWRvU0N4TFFVRkxMRkZCUjFac1F5eExRVUZMSzBrc1VVRkJVVXNzVVVGQlZTeFRRVUZWUXl4SFFVTXZRa2dzUlVGQlIyaElMRXRCUVVzc1VVRkJVMjFJTEVkQlNXcENTQ3hGUVVGSFNDeFJRVUZSTDBnc1RVRkJVU3hOUVVkeVFtaENMRXRCUVV0elNpeFRRVUZYTEV0QlJXaENXQ3hGUVVGWldTeFJRVUZSTEZOQlFWVldMRWRCUXpWQ2RFZ3NUMEZCVDJsSkxHVkJRV1ZPTEVWQlFVa3NTMEZCVDB3c1JVRkJTU3hEUVVOdVExa3NTVUZCU3l4WFFVTklMRTlCUVU5UUxFVkJRVWRJTEZGQlFWRXNTMEZCVDBZc1NVRkZNMEpoTEVsQlFVc3NVMEZCVlVNc1IwRkRZaXhKUVVGTFFTeEZRVWRJTEU5QlJrRlVMRVZCUVVkVkxHMUNRVUZ0UW1Zc1IwRkRkRUpMTEVWQlFVZElMRkZCUVZFc1MwRkJUMFlzUjBGQlRXTXNSVUZEYWtKQkxFVkJSVlJVTEVWQlFVZFhMRWRCUVVkb1FpeEZRVUZKWXl4SlFVVmFSeXhaUVVGWkxFVkJRMXBETEdOQlFXTXNUVUZMY0VKd1N5eEZRVUZWTWtNc1ZVRkJXV1lzVDBGQlQwTXNUMEZCVHpGQ0xFVkJRVTkzUXl4VlFVRlhMRU5CUTNCRU1FZ3NXVUZCWVN4RFFVTlliRVFzVFVGQlQyNUlMRXRCU1ZoQkxFVkJRVlV5UXl4VlFVRlZUU3hOUVVGUkxGTkJRVlZ4U0N4SFFVTndReXhIUVVGelFpeHRRa0ZCV0VNc1VVRkRhMElzYlVKQlFYQkNRU3hQUVVGUFF5eFZRVU5rUkN4UFFVRlBReXhUUVVGVFJpeEhRVUZQTEVOQlEzWkNMRWxCUVV0cVN5eExRVUZMYzBvc1UwRkJWU3hEUVVOc1FpeEpRVUZKWXl4RlFVRkxNMElzVVVGQlVTeHJRa0ZCYTBJMFFpeGpRVU51UTNKTExFdEJRVXR6U2l4VFFVRlhMRWxCUVVsakxFVkJRVWNzVVVGRmVrSklMRVZCUVU5cVN5eExRVUZMYzBvc1UwRkJVekZITEUxQlFVMXhTQ3hIUVVzM1FpeFBRVVpCYWtzc1MwRkJTeXRKTEZGQlFWRnVSeXhOUVVGTmNVZ3NSVUZCUzI1SUxGbEJRM2hDT1VNc1MwRkJTMnRETEV0QlFVc3NUMEZCVVN0SUxFbEJRMWdzUjBGSFZIUkxMRVZCUVZVeVF5eFZRVUZWU3l4SlFVRk5MRk5CUVZWRkxFZEJTMnhETEU5QlNrbEJMRWRCUVZOQkxFVkJRVTB4UXl4UlFVTnFRa2dzUzBGQlN6UkRMRTFCUVUxRExFZEJSV0kzUXl4TFFVRkxLMGtzVVVGQlVYQkhMRTlCUTA0c1IwRkhWR2hFTEVWQlFWVXlReXhWUVVGVmRVZ3NSMEZCU3l4VFFVRlZhRUlzUlVGQlNYbENMRWRCUTNKRExFbEJRVWx3UWl4RlFVRkxiRW9zUzBGVFZDeFBRVkpMYTBvc1JVRkJSMGdzVVVGQlVTeExRVUZQUml4TFFVRnZReXhKUVVFM1FrWXNSVUZCV1RSQ0xGRkJRVkV4UWl4TFFVTm9SRXNzUlVGQlIwZ3NVVUZCVVN4TFFVRlBSaXhIUVVGTkxGZEJRM1JDTEVsQlFVa3lRaXhGUVVFMFFpeEpRVUZ5UWtNc1ZVRkJWWFJMTEU5QlFXVXNRMEZCUTNOTExGVkJRVlVzU1VGQlRXaEhMRTFCUVUxeFJTeE5RVUZOTEV0QlFVMHlRaXhYUVVOMlJVUXNSVUZCUzBVc1QwRkJUeXhGUVVGSExFVkJRVWMzUWl4SFFVTnNRa3NzUlVGQlIyaElMRXRCUVVzMFJ5eE5RVUZOU1N4RlFVRkpjMElzUzBGSlpqRkxMRVZCUVU5M1F5eFZRVUZWZFVnc1IwRkJSMk1zUzBGQlMzcENMRVZCUVVsTUxFVkJRVWw1UWl4SlFVc3hReXhKUVVGSk1VWXNSVUZCVVN4VlFVTlNTeXhGUVVGVkxGVkJRMVl5Uml4RlFVRm5RaXgxUTBGRGFFSkRMRVZCUVd0Q0xHZERRVU5zUW1oS0xFVkJRVk1zUTBGQlJXbEtMRWxCUVV0R0xFVkJRV1ZxU2l4TlFVRlBhMG9zUjBGUmRFTXpSeXhGUVVGWkxEUktRVVZhSzBJc1JVRkJWeXhuVFVGRldESkNMRVZCUVdNc05rcEJRMlJFTEVWQlFXRXNhVTFCUldwQ0xGTkJRVk55UlN4RlFVRmphRVFzUjBGRGNrSXNUVUZCWVN4TlFVRk9RU3hIUVVGdFFpeFBRVUZPUVN4SFFVRnZRaXhQUVVGT1FTeEhRVUZ2UWl4UFFVRk9RU3hGUVVkc1JDeFRRVUZUTmtVc1JVRkJVemRGTEVkQlEyaENMRTFCUVdFc1RVRkJUa0VzUjBGQmJVSXNUVUZCVGtFc1JVRkhkRUlzVTBGQlV6WkhMRVZCUVdFM1J5eEhRVU53UWl4TlFVRmhMRTFCUVU1QkxFZEJRV0ZuUkN4RlFVRmhhRVFzUjBGSGJrTXNVMEZCVXpKRUxFVkJRVk00Unl4RlFVRlBla3NzUjBGRGRrSXNUMEZCVDNsTExFVkJRVTFETEV0QlFVc3hTeXhIUVVkd1FpeFRRVUZUWjBnc1JVRkJWWGxFTEVWQlFVOTZTeXhIUVVONFFpeFBRVUZSTWtRc1JVRkJVVGhITEVWQlFVOTZTeXhIUVVkNlFpeEpRWGR5UTFFeVN5eEZRVU5CUXl4RlFVTkJReXhGUVRGeVEwcG9TeXhGUVVGSkxFVkJjMVJTTEVsQlFVc3NTVUZCU1dsTExFdEJjbFJVT1V3c1JVRkJTU3RNTEUxQlFWRXNRMEZEVm1wTExFMUJRVTlFTEVsQlExQTJRaXhwUWtGQmEwSTNRaXhKUVVOc1FpdENMRXRCUVUwdlFpeEpRVU5PY1VNc1dVRkJZWEpETEVsQlEySnpReXhWUVVGWGRFTXNTVUZEV0RSRExGVkJRVmMxUXl4SlFVTllhVVVzYVVKQlFXdENha1VzU1VGRGJFSTRSQ3hSUVVGVE9VUXNTVUZEVkcxRkxHVkJRV2RDYmtVc1NVRkRhRUpyUlN4WlFVRmhiRVVzU1VGRFltOUZMRzFDUVVGdlFuQkZMRWxCUTNCQ2JVc3NhVUpCUVd0Q2Jrc3NTVUZEYkVJMFJDeFJRVUZUTlVRc1NVRkRWSEZGTEdWQlFXZENja1VzU1VGRGFFSnpSU3hqUVVGbGRFVXNTVUZEWm5sRUxFMUJRVTk2UkN4SlFVTlFkMFVzWVVGQlkzaEZMRWxCUTJSNVJTeGxRVUZuUW5wRkxFbEJRMmhDYTBRc1ZVRkJWMnhFTEVsQlExZ3lSU3hsUVVGblFqTkZMRWxCUTJoQ01FVXNhVUpCUVd0Q01VVXNTVUZEYkVKblJDeFRRVUZWYUVRc1NVRkRWbWxHTEdWQlFXZENha1lzU1VGRGFFSnJSaXhQUVVGUmJFWXNTVUZEVW5OR0xGbEJRV0YwUml4SlFVTmllVVlzYzBKQlFYVkNla1lzU1VGRGRrSjFSaXhoUVVGamRrWXNTVUZEWkRSR0xHOUNRVUZ4UWpWR0xFbEJRM0pDSzBZc2IwSkJRWEZDTDBZc1NVRkRja0kyUml4elFrRkJkVUkzUml4SlFVTjJRamhHTEhOQ1FVRjFRamxHTEVsQlEzWkNhVWNzYzBKQlFYVkNha2NzU1VGRGRrSXlReXhWUVVGWE0wTXNTVUZEV0d0SExHOUNRVUZ4UW14SExFbEJRM0pDZDBNc1QwRkJVWGhETEVsQlExSjVReXhqUVVGbGVrTXNTMEZIYWtJM1FpeEZRVUZKYlVNc1lVRkJaU3hEUVVOcVFqaEtMRWxCUVU4c1NVRkRVRU1zUjBGQlRTeEpRVU5PUXl4SFFVRk5MRWxCUTA1RExFdEJRVkVzU1VGRFVrTXNTMEZCVVN4TFFVZFdjazBzUlVGQlNXZERMRk5CUVZjc1EwRkRZbWxMTEVsQlFVOHNTVUZEVUVNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zU1VGQlR5eEpRVU5RUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1NVRkJUeXhKUVVOUVF5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4TlFVRlRMRWxCUTFSRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4SlFVRlBMRWxCUTFCRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4SlFVRlBMRWxCUTFCRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhKUVVGUExFbEJRMUJETEVsQlFVOHNTVUZEVUVNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4TFFVRlJMRWxCUTFKRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFOUJRVlVzU1VGRFZrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eE5RVUZUTEVsQlExUkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNTMEZCVVN4SlFVTlNReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eExRVUZSTEVsQlExSkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4UlFVRlhMRWxCUTFoRExFdEJRVkVzU1VGRFVrTXNTVUZCVHl4SlFVTlFReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRWRCUVUwc1NVRkRUa01zUjBGQlRTeEpRVU5PUXl4SFFVRk5MRWxCUTA1RExGRkJRVmNzU1VGRFdFTXNSMEZCVFN4SlFVTk9ReXhKUVVGUExFbEJRMUJETEUxQlFWTXNTVUZEVkVNc1NVRkJUeXhKUVVOUVF5eFJRVUZYTEVsQlExaERMRWxCUVU4c1NVRkRVRU1zU1VGQlR5eEpRVU5RUXl4SlFVRlBMRWxCUTFCRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFJRVUZYTEVsQlExaERMRXRCUVZFc1NVRkRVa01zU1VGQlR5eEpRVU5RUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEVkQlFVMHNTVUZEVGtNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRkZCUVZjc1NVRkRXRU1zUjBGQlRTeEpRVU5PUXl4SlFVRlBMRWxCUTFCRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhKUVVGUExFbEJRMUJETEZGQlFWY3NTVUZEV0VNc1NVRkJUeXhKUVVOUVF5eEpRVUZQTEVsQlExQkRMRWxCUVU4c1NVRkRVRU1zVFVGQlV5eEpRVU5VUXl4VFFVRlpMRWxCUTFwRExFMUJRVk1zU1VGRFZFTXNTVUZCVHl4SlFVTlFReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1QwRkJWU3hMUVVOV1F5eExRVUZSTEV0QlExSkRMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SlFVRlBMRXRCUTFCRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhQUVVGVkxFdEJRMVpETEU5QlFWVXNTMEZEVmtNc1RVRkJVeXhMUVVOVVF5eE5RVUZUTEV0QlExUkRMRTlCUVZVc1MwRkRWa01zVDBGQlZTeExRVU5XUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEU5QlFWVXNTMEZEVmtNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRkZCUVZjc1MwRkRXRU1zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eExRVUZSTEV0QlExSkRMRTFCUVZNc1MwRkRWRU1zUjBGQlRTeExRVU5PUXl4TFFVRlJMRXRCUTFKRExFbEJRVThzUzBGRFVFTXNUVUZCVXl4TFFVTlVReXhQUVVGVkxFdEJRMVpETEUxQlFWTXNTMEZEVkVNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SFFVRk5MRXRCUTA1RExFbEJRVThzUzBGRFVFTXNTVUZCVHl4TFFVTlFReXhKUVVGUExFdEJRMUJETEU5QlFWVXNTMEZEVmtNc1NVRkJUeXhMUVVOUVF5eExRVUZSTEV0QlExSkRMRTFCUVZNc1MwRkRWRU1zUjBGQlRTeExRVU5PUXl4TlFVRlRMRXRCUTFSRExFZEJRVTBzUzBGRFRrTXNSMEZCVFN4TFFVTk9ReXhKUVVGUExFdEJRMUJETEVsQlFVOHNTMEZEVUVNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFdEJRVkVzUzBGRFVrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1QwRkJWU3hMUVVOV1F5eFBRVUZWTEV0QlExWkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4SlFVRlBMRXRCUTFCRExFOUJRVlVzUzBGRFZrTXNUVUZCVXl4TFFVTlVReXhQUVVGVkxFdEJRMVpETEUxQlFWTXNUVUZIV0RWYUxFOUJRVTluUWl4TFFVRkxha1FzUlVGQlNXZERMRlZCUVZWcFNTeFJRVUZSTEZOQlFWVTJVaXhIUVVNeFF5eEpRVUZKUXl4RlFVRkpMMklzUlVGQlNXZERMRk5CUVZNNFdpeEhRVU5xUW1oUkxFVkJRV2xDTEdsQ1FVRk9hVkVzUlVGQmFVSkRMRTlCUVU5RExHRkJRV0ZHTEVkQlFVdEJMRVZCUTNwRUwySXNSVUZCU1dkRExGTkJRVk00V2l4SFFVRlBhRkVzU1VGSFVqbE1MRVZCUVVrclRDeE5RVU5vUWk5TUxFVkJRVWtyVEN4TlFVRk5MMHdzUlVGQlNTdE1MRTFCUVUxRUxFbEJRVTFCTEVWQlRUVkNMRk5CUVZOc1NpeEZRVUZOTTBNc1JVRkJVV2xqTEVWQlFVOTJVaXhIUVVNMVFqRkxMRVZCUVU5cFl5eEpRVUZWYW1Nc1JVRkJUMmxqTEVkQlFVOTJVaXhIUVVkcVF5eFRRVUZUY0VZc1JVRkJWWFJHTEVWQlFWRnJZeXhGUVVGVmVGSXNSMEZETDBJeFN5eEZRVUZQTmtRc1ZVRkJWU3RGTEVWQlFWVTFTU3hIUVVNdlFqSkRMRVZCUVVzelF5eEZRVUZSYTJNc1JVRkJWWGhTTEVkQlIzcENMRk5CUVZNNVFpeEZRVUZYTlVrc1IwRkRiRUpCTEVWQlFVODJSQ3hUUVVGWGMwTXNSVUZCVTI1SExFVkJRVTlGTEVsQlFVdEdMRVZCUVU4MlJDeFZRVU14UXpkRUxFVkJRVTgyUkN4VlFVRlZiRUlzUlVGQlN6TkRMRVZCUVZFc1UwRkJWVUVzUlVGQlR6WkVMRlZCUTI1RU4wUXNSVUZCVHpaRUxGTkJRVmNzUjBGSGNFSXNVMEZCVTNORExFVkJRVlZxUnl4RlFVRkxhV01zUjBGSGRFSXNUMEZHU1dwakxFVkJRVWxyWXl4UFFVRk5SQ3hGUVVGUFFTeEZRVUZMUXl4UlFVTjBRbXhqTEVWQlFVbHRZeXhaUVVGWFJpeEZRVUZQUVN4RlFVRkxSeXhSUVVGUkxFOUJRVkVzVFVGRGVFTklMRVZCUjFRc1UwRkJVekZoTEVWQlFVOTZRaXhGUVVGUk9Fb3NSMEZWZEVJc1QwRlVRV3hDTEVWQlFWVTFTU3hIUVVOT1FTeEZRVUZQZFVNc1owSkJRMVIxU0N4SFFVRk5MRmRCUVdFNVNpeEZRVUZQZVVNc1MwRkRlRUlzWVVGQlpYcERMRVZCUVU4d1F5eFBRVU4wUWl4WFFVRmhNVU1zUlVGQlQyVXNSMEZGZUVJclNTeEZRVUZMTEVsQlFVbDRRaXhOUVVGTmQwSXNSMEZEWmpsS0xFVkJRVTk1UWl4TlFVRlJjVWtzUlVGRFptNUlMRVZCUVVzelF5eEZRVUZSTEZWQlFWYzRTaXhIUVVOcVFqbEtMRVZCUjFRc1UwRkJVMjlFTEVWQlFVdHdSQ3hIUVZsYUxFOUJXRWxCTEVWQlFVOTFRaXhWUVVGWmRrSXNSVUZCVDNOQ0xGbEJRVmt3UXl4RlFVRlhhRVVzUlVGQlVTeHhRa0ZEZUVSQkxFVkJRVTh5UWl4UlFVRlZReXhGUVVGRlF5eFBRVU55UWpkQ0xFVkJRVTh5UWl4UlFVRlZReXhGUVVGRk5rSXNhMEpCUTI1Q2VrUXNSVUZCVHpKQ0xGRkJRVlZETEVWQlFVVXJRaXhOUVVOd1FteERMRVZCUVUxNlFpeEZRVUZSTEd0Q1FVVm9RalJKTEVWQlFWVTFTU3hIUVVOV1FTeEZRVUZQWlN4RlFVRkpMRWRCUTFobUxFVkJRVTl4UWl4UlFVRlRMRVZCUTJoQ2MwSXNSVUZCU3pORExFVkJRVkVzVTBGRFlrY3NSVUZCVldsTUxFdEJRVXR3VEN4RlFVRlJRU3hGUVVGUFF5eFBRVUZSUkN4RlFVRlBSU3hMUVVOMFEwWXNSVUZIVkN4VFFVRlRaMFVzUlVGQldXaEZMRVZCUVZGMVl5eEhRVU16UWl4SFFVRnpRaXhwUWtGQldIWmpMRXRCUVhsQ1FTeGhRVUZyUWtjc1IwRkRjRVFzVFVGQlRTeEpRVUZKYlVrc1RVRkJUU3d3UWtGRlpIUkpMRVZCUVU5RExGRkJRMVIzUWl4RlFVRk5la0lzUlVGQlVYVmpMRWRCU1d4Q0xGTkJRVk0xVml4RlFVRlJNMGNzUjBGRFZrRXNSVUZCVDBNc1UwRkJVVVFzUlVGQlR6WkZMRkZCUVZVM1JTeEZRVUZQTmtVc1VVRkJVVGRGTEVWQlFVOXRRaXhqUVVNelJDeEpRVUZKY1dJc1JVRkJVM2hqTEVWQlFVOXZRaXhMUVVGTGNFSXNSVUZCVDI5Q0xFdEJRVXRTTEU5QlFWTXNTVUZCVFZvc1JVRkRhRVIzUWl4RlFVRk5lRUlzUlVGQlQzZENMRWxCUVUwc1EwRkJSV2RHTEV0QlFVMTRSeXhGUVVGUE5rVXNVVUZCVTNsRExGZEJRVmtzU1VGSGRrUjBTQ3hGUVVGUFJTeEpRVUZKYTBNc1VVRkRZbG9zUlVGQlNXRXNSMEZCUzIxaExFVkJRVTl1WVN4SlFVVnNRbkpETEVWQlFVOXRReXhYUVVGWGRrSXNUMEZCVXl4RlFVTXpRakJGTEVWQlFWTjBSaXhGUVVGUkxHbENRVUZyUW5kQ0xFZEJSM0pETEZOQlFWTnBZaXhGUVVGUGFsY3NSVUZCVFd0WExFZEJRM0JDTEVsQlEwbERMRVZCUkVsdVZ5eEZRVUZMZDBVc1VVRkJVU3hMUVVOR0xFVkJRVWtzUTBGQlJTeEhRVUZKZUVVc1IwRkJVMEVzUlVGQlMyOVhMRTFCUVUwc1MwRkROME5ETEVWQlFWTkdMRVZCUVZNc1IwRkRiRUpITEVWQlFWRklMRVZCUVZNc1IwRlJja0lzVDBGTVNVUXNSMEZCYzBJc1ZVRkJWR3hYTEVsQlEyWnhWeXhGUVVGVExGRkJRMVJETEVWQlFWRXNTVUZIU0N4RFFVRkZSQ3hQUVVGUlFTeEZRVUZSUXl4TlFVRlBRU3hIUVVkc1F5eFRRVUZUTVZZc1JVRkJVWEJJTEVkQlMyWXNSMEZLUzBFc1JVRkJUME1zVTBGRFZrUXNSVUZCVDJkSUxGZEJRV0ZvU0N4RlFVRlBaMGdzVjBGQlYyaElMRVZCUVU5dFFpeGxRVWRQTEVsQlFXeEVia0lzUlVGQlQyMURMRmRCUVZjMlNTeFJRVUZSYUV3c1JVRkJUMmRJTEdGQlEyNURhRWdzUlVGQlQzZENMRWxCUVVrNFJpeFhRVUZYY0VVc1pVRkJaV3hFTEVWQlFVOW5TQ3haUVVNMVEyaElMRVZCUVU5blNDeFhRVUZoYUVnc1JVRkJUMmxJTEZsQlFXTXNUMEZHTTBNc1EwRk5RU3hIUVVGSmFrZ3NSVUZCVDBVc1NVRkJTV3RETEUxQlFVOHNRMEZEY0VJc1NVRkJTVEpoTEVWQlFVdE9MRVZCUVUxNll5eEZRVUZQWjBnc1dVRkJXU3hIUVVNNVFqWldMRVZCUVZORkxFVkJRVWRHTEU5QlExcERMRVZCUVZGRExFVkJRVWRFTEUxQlJXWXNSMEZCWlN4VlFVRllSQ3hGUVVWR0xFZEJRV01zVVVGQlZrTXNSMEZCYlVJNVl5eEZRVUZQYVVnc1kwRkJaMEp2UlN4RlFVTTFRM0pJTEVWQlFWZG9SU3hGUVVOVUxHZERRVUZyUTNGTUxFVkJRV2RDTEdGQlEzSkRja3dzUlVGQlQybElMR3RDUVVOcVFpeEhRVUZqTEZWQlFWWTJWaXhIUVVGeFFqbGpMRVZCUVU5cFNDeGpRVUZuUW5GRkxFVkJRM0pFZEVnc1JVRkJWMmhGTEVWQlExUXNhME5CUVc5RGMwd3NSVUZCYTBJc1lVRkRla04wVEN4RlFVRlBhVWdzYVVKQlEycENMRU5CUTB3c1NVRkJTWHBHTEVWQlFVMTRRaXhGUVVGUGQwSXNTVUZEWW1kaUxFVkJRVk40WXl4RlFVRlBiMElzUzBGQlMzQkNMRVZCUVU5dlFpeExRVUZMVWl4UFFVRlRMRWxCUVUxYUxFVkJRMmhFZDBJc1JVRkJTV0VzUzBGQlQyMWhMRVZCUVU5dVlTeExRVU53UW1Jc1JVRkJTV0VzUjBGQlMwd3NUMEZCVDBNc1QwRkJUM1ZoTEVWQlFVOXVZU3hMUVVWb1EySXNSVUZCU1dFc1IwRkJSM2xoTEVkQlFWTTVZeXhGUVVGUGFVZ3NXVUZQTTBKcVNDeEZRVUZQYlVNc1YwRkJWMmRDTEV0QlFVc3NRMEZCUTI1RUxFVkJRVTluU0N4WFFVRlphRWdzUlVGQlQybElMRzFDUVVkc1JHcElMRVZCUVU5M1FpeEpRVUZKT0VZc1YwRkJWM1JJTEVWQlFVOW5TQ3haUVVGamFFZ3NSVUZCVDJsSUxGbEJRMnhFTTBJc1JVRkJVM1JHTEVWQlFWRXNZMEZCWlN4RFFVTTVRbmRITEV0QlFVMTRSeXhGUVVGUFowZ3NWMEZEWWs4c1RVRkJUM1pJTEVWQlFVOXBTQ3hqUVVsc1FtcElMRVZCUVU5blNDeFhRVUZoYUVnc1JVRkJUMmxJTEZsQlFXTXNTVUZITTBNc1UwRkJVMHdzUlVGQlV6VkhMRVZCUVZGblpDeEhRVU40UWl4SFFVRkphR1FzUlVGQlQwVXNTVUZCU1d0RExFMUJRVThzUTBGRmNFSXNTVUZCU1Zvc1JVRkJUWGhDTEVWQlFVOTNRaXhKUVVkaWRXSXNSVUZCUzA0c1JVRkJUWHBqTEVWQlFVODJSU3hUUVVOMFFuSkVMRVZCUVVseFlpeFBRVUZUUlN4RlFVRkhSaXhQUVVOb1FuSmlMRVZCUVVsellpeE5RVUZSUXl4RlFVRkhSQ3hOUVVObWRHSXNSVUZCU1hsaUxFbEJRVTE2WWl4RlFVRkpZU3hIUVVGSE1HRXNSVUZCUjBZc1UwRkJWeXhIUVVVelFuSmlMRVZCUVVseFlpeFRRVUZYY21Jc1JVRkJTWGxpTEUxQlEzSkNhbG9zUlVGQlYyaEZMRVZCUVZFc05rSkJRMnBDYTJRc1MwRkJTME1zVlVGQlZXNWtMRVZCUVU4MlJTeFZRVU40UW5KRUxFVkJRVWw1WWl4SlFVRk5SaXhGUVVGSFJpeFJRVWRtTEVsQlFVbE1MRVZCUVZONFl5eEZRVUZQYjBJc1MwRkJTM0JDTEVWQlFVOXZRaXhMUVVGTFVpeFBRVUZUTEVsQlFVMWFMRVZCUTJoRWQwSXNSVUZCU1dFc1NVRkJUVzFoTEVWQlFVOXVZU3hMUVVGUFlpeEZRVUZKWVN4SlFVTTVRa3dzVDBGQlQyZENMRXRCUVV0NFFpeEZRVUZKWVN4SlFVRkpNa2dzVVVGQlVTeFRRVUZWYjFRc1IwRkRjRU01V0N4RlFVRlRkRVlzUlVGQlVTeHJRa0ZCYlVJc1EwRkRiRU0yWXl4UFFVRlJUeXhGUVVOU1NDeEpRVUZMZW1Jc1JVRkJTV0VzUjBGQlJ5dGhMRTlCVVd4Q0xFbEJRVXNzU1VGQlNURmpMRVZCUVVrc1JVRkJSME1zUlVGQlNWZ3NSVUZCVDIxRExGZEJRVmQyUWl4UFFVRlJSaXhGUVVGSlF5eEZRVUZIUkN4SlFVRkxMRU5CUTNoRUxFbEJRVWt5WXl4RlFVRkxjbVFzUlVGQlQyMURMRmRCUVZkNlFpeEhRVU4yUWpoR0xFVkJRVTgyVnl4RlFVRkhMRWRCUTFZNVZpeEZRVUZST0ZZc1JVRkJSeXhIUVVOWVZpeEZRVUZYUml4RlFVRk5hbGNzUjBGQlRTeEhRVU4yUW5GWExFVkJRVk5HTEVWQlFWTkZMRTlCUTJ4Q1F5eEZRVUZSU0N4RlFVRlRSeXhOUVVOcVFrY3NSVUZCYVVJc1MwRkJXRW9zUlVGQlowSXNSMEZCVFhKaUxFVkJRVWxoTEVkQlFVZDNZU3hKUVVGWExFZEJRemxETlZvc1JVRkJTU3hEUVVOT2RVUXNTMEZCVFVFc1JVRkRUbVVzVFVGQlQwRXNSVUZEVUhOV0xFOUJRVkZCTEVWQlExSkRMRTFCUVU5QkxFVkJRMUJITEVsQlFVdEJMRWRCUzBoS0xFZEJRWEZDTEZWQlFWaEJMRWxCUVhWQ1NTeEpRVU51UTJwYUxFVkJRVmRvUlN4RlFVRlJMRFpDUVVOcVFtdGtMRXRCUVV0RExGVkJRVlZPTEVsQlEycENOVm9zUlVGQlJXZGhMRWxCUVUxS0xFZEJSVlkzWXl4RlFVRlBkMElzU1VGQlNUaEdMRmRCUVZka0xFZEJRVkYyUkN4RlFVTTVRbkZETEVWQlFWTjBSaXhGUVVGUkxHTkJRV1ZwUkN4SFFVVnNRMnBFTEVWQlFVOXRReXhYUVVGWGRrSXNUMEZCVXl4RlFVYzNRbG9zUlVGQlQzZENMRWxCUVVrNFlpeG5Ra0ZCYTBKT0xFVkJSemRDYUdRc1JVRkJUM1ZDTEZOQlFWVXNSVUZEYWtKMlFpeEZRVUZQYjBJc1MwRkJTeXRDTEV0QlFVdHVSQ3hGUVVGUGQwSXNTMEZEZUVJNFJDeEZRVUZUZEVZc1JVRkJVU3haUVVGaFFTeEZRVUZQZDBJc1MwRkRhRU4zWWl4SlFVVkZhR1FzUlVGQlR6QkNMRlZCUVRaRExGZEJRV3BETVVJc1JVRkJUelpGTEZGQlFWRXdXU3hqUVVkeVEzWmtMRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZLMElzUzBGR2FrSXpSQ3hGUVVGUE1rSXNUVUZCVVVNc1JVRkJSWGRETEU5QlNXNUNjRVVzUlVGQlQzZENMRWxCUVUwc1MwRkRZbmhDTEVWQlFVODJSU3hSUVVGVkxFbEJSVzVDTjBVc1JVRkJUMmRJTEZkQlFXRm9TQ3hGUVVGUGFVZ3NXVUZCWXl4SFFVTjZRMnBJTEVWQlFVOXRReXhYUVVGWGRrSXNUMEZCVXl4RlFVYzNRaXhUUVVGVGJVY3NSVUZCVlM5SExFZEJRMnBDTEVsQlFVdEJMRVZCUVU4MlJTeFJRVWxXTEU5QlNFRmlMRVZCUVZkb1JTeEZRVUZSTERCQ1FVTnVRa0VzUlVGQlR6WkVMRlZCUVZrc1YwRkRia0kzUkN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJTVzVDTEVkQlFVa3pSQ3hGUVVGUGMwVXNUMEZCVVN4RFFVTnFRaXhIUVVGMVFpeFhRVUZ1UW5SRkxFVkJRVTgyUlN4UlFVbFVMRTlCU0VFM1JTeEZRVUZQYzBVc1VVRkJWU3hMUVVGUGRFVXNSVUZCVHpaRkxGRkJRVlVzU1VGRGVrTTNSU3hGUVVGUE5rVXNVVUZCVlN4UlFVTnFRamRGTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGZDBNc1VVRkhia0pyUWl4RlFVRlRkRVlzUlVGQlVTeFhRVUZaUVN4RlFVRlBjMFVzVVVGRGNFTjBSU3hGUVVGUGMwVXNUMEZCVXl4SFFVdHNRaXhKUVVGSmExb3NSVUZCU1hoa0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVOb1FtbEZMRVZCUVZVM1JTeEZRVUZQTmtVc1VVRkRhRUkzUlN4RlFVRlBReXhUUVVOV05FVXNSVUZCVlVFc1JVRkJVVGRGTEVWQlFVOXRRaXhqUVVjelFpeEpRVVJCTEVsQlFVbHpZeXhGUVVGVk5Wa3NSVUZEVURKWkxFdEJRVXNzUTBGRlZpeEhRVVJaZUdRc1JVRkJUMjlDTEV0QlFVdHZZeXhIUVVOa2FGZ3NUMEZCVTJsWUxFVkJTV3BDTEUxQlJrRjZXaXhGUVVGWGFFVXNSVUZCVVN4M1FrRlBka0lzUjBGQlNYZGtMRVZCUVVrc1JVRkpUaXhQUVVoQmVGb3NSVUZCVjJoRkxFVkJRVkVzTUVKQlFUUkNRU3hGUVVGUE5rVXNVMEZEZEVRM1JTeEZRVUZQTmtRc1ZVRkJXU3hMUVVGUE4wUXNSVUZCVHpaRkxGRkJRVlVzVTBGRE0wTTNSU3hGUVVGUE1rSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlIyNUNNMFFzUlVGQlR6WkZMRkZCUVZWQkxFVkJSV3BDTEVsQlJFRXNTVUZCU1dkSUxFVkJRVWszVEN4RlFVRlBiMElzUzBGQlMxSXNUMEZEWW1sTUxFdEJRVTB5VWl4SFFVRkhMRU5CUTJRc1NVRkJTV2hqTEVWQlFVMTRRaXhGUVVGUGQwSXNTVUZCVFhoQ0xFVkJRVTl2UWl4TFFVRkxjMk1zVFVGRGJrTXhaQ3hGUVVGUE5rVXNVVUZCVlRkRkxFVkJRVTkzUWl4SlFVRkpaMFlzUzBGRE5VSnNRaXhGUVVGVGRFWXNSVUZCVVN4aFFVRmpRU3hGUVVGUE5rVXNVMEZGZEVNc1NVRkJTVGhaTEVWQlFVa3NSMEZEVWl4SlFVRkxMRWxCUVVscVpDeExRVUZMWXl4RlFVRkpZU3hIUVVOb1FuTmlMRVZCUVVWcVpDeEhRVUZMWXl4RlFVRkpZU3hIUVVGSE0wSXNSMEZIYUVJc1NVRkJTVGhpTEVWQlFWTjRZeXhGUVVGUGIwSXNTMEZCUzNCQ0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVGVExFbEJRVTFhTEVWQlEyaEVRU3hGUVVGUFJTeEpRVUZKYTBNc1QwRkJVMW9zUlVGQlNXRXNTMEZCVDIxaExFVkJRVTl1WVN4SlFVVjRRMHdzVDBGQlQyZENMRXRCUVV0NFFpeEZRVUZKWVN4SlFVRkpNa2dzVVVGQlVTeFRRVUZWYjFRc1IwRkRjRU1zU1VGQlNWRXNSVUZCU1hCakxFVkJRVWxoTEVkQlFVY3JZU3hIUVVObU9WZ3NSVUZCVTNSR0xFVkJRVkVzYlVKQlFXOUNMRU5CUVVVMll5eFBRVUZSVHl4RlFVRkhTQ3hKUVVGTFZ5eE5RVWx1UkN4SlFVRk9TaXhKUVVGVGVHUXNSVUZCVDNOQ0xGbEJRV0VzUjBGRGFrTjBRaXhGUVVGUE5rVXNVVUZCVlRkRkxFVkJRVTlwU0N4WlFVRmpha2dzUlVGQlQyZElMRmRCUVdFc1IwRkRNVVJvU0N4RlFVRlBiVU1zVjBGQlYzWkNMRTlCUVZNc1JVRkRNMEphTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGSzBJc1MwRkhia0lzVTBGQlUzVkZMRVZCUVdGc1NTeEhRVU53UWl4SlFVVkpObVFzUlVGR1FURldMRVZCUVZOdVNTeEZRVUZQYlVrc1QwRkRhRUl5Vml4RlFVRlhNMVlzUlVGQlQyOVdMR05CUld4Q1VTeEZRVUZUTEVkQlJXSXNUMEZCU1M5a0xFVkJRVThyUWl4VFFVRlRiMGNzUjBGRFdHNUpMRVZCUVU4clFpeFRRVUZUYjBjc1IwRkZja0p1U1N4RlFVRlBLMElzVTBGQlV5dGlMRWRCUTFnNVpDeEZRVUZQSzBJc1UwRkJVeXRpTEVsQlIwRXNUMEZFZWtJelZpeEZRVUZUTWxZc1IwRkRSWFJoTEU5QlFVOHNTMEZEVXl4TlFVRnlRakpGTEVWQlFVOHpSU3hQUVVGUExFbEJRMmhDTWtVc1JVRkJVMEVzUlVGQlR6WldMRTFCUVUwc1IwRkZkRUpFTEVkQlJFRkdMRVZCUVUxSkxGTkJRVk01Vml4RlFVRlJMRXRCUTFZMVJTeFRRVUZUTEUxQlJYUkNORVVzUlVGQlUwRXNSVUZCVHpaV0xFMUJRVTBzUjBGRmRFSkVMRWRCUkVGR0xFVkJRVTFKTEZOQlFWTTVWaXhGUVVGUkxFdEJRMVkxUlN4VFFVRlRMRTFCUnpGQ05FVXNSVUZCVTBFc1JVRkJUMjFWTEZGQlFWRXNUVUZCVHl4SlFVTXpRalJDTEUxQlFVMU1MRWxCUVZGRkxFVkJRVTlTTEdkQ1FVRnJRbkJXTEVkQlEzcERia1VzUlVGQlYyaEZMRVZCUVZFc05FSkJRMW9zU1VGQlRVRXNSVUZCVDIxSkxFOUJRVk1zUzBGSGVFSTBWQ3hQUVVGUGJsRXNZMEZCWTJsVExFbEJSemxDTEZOQlFWTnVZU3hGUVVGcFFqRkVMRVZCUVZGbExFZEJRM1JDTEUxQlFVNUJMRWRCUTBabUxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRmMwTXNWVUZEYWtKc1JTeEZRVUZQYlVVc2FVSkJRVzFDYmtVc1JVRkJUM2RETEZWQlEzWkNkVUlzUlVGQllXaEVMRXRCUjNaQ2FVUXNSVUZCVjJoRkxFVkJRVkVzYjBOQlEyNUNRU3hGUVVGUE5rUXNVMEZCVnpsRExFVkJRMnhDWml4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJTWEpDTEZOQlFWTklMRVZCUVZGR0xFVkJRVTgxUXl4SFFVTjBRaXhKUVVGSmVXUXNSVUZCVXl4SFFVbGlMRTlCU0VsNlpDeEZRVUZKTkVNc1JVRkJUVEZETEZOQlExcDFaQ3hGUVVGVE4yRXNSVUZCVFVVc1QwRkJUemxETEVsQlJXcENlV1FzUlVGeVZsUjJZeXhGUVVGSk4wSXNSVUZCU1N0TUxFMUJNak5DU0dsUkxFOUJRVTl1VVN4blFrRkZTa1lzUlVGQmNVSnhVU3hQUVVGUFF5eGhRVU0xUW5KUkxFVkJRVkZ1UkN4TFFVRkxiVVFzVFVGRFlrTXNSVUZCWjBJc1YwRkRiRUlzU1VGRlNYZFRMRVZCUTBGRExFVkJSa0ZETEVWQlFWa3NSMEZIV2tNc1IwRkJVeXhGUVVOVU0yUXNSVUZCVTNOTExGVkJRVlYwU3l4UFFVTjJRaXhKUVVGTFFTeEZRVU5JTEUxQlFVOHNSMEZIVkN4SlFVUkJMRWxCUVVsMVpDeEZRVUZUTEV0QlEwcEpMRVZCUVZFelpDeEhRVUZSTEVOQlEzWkNMRWxCUVVrMFpDeEZRVUZaUXl4UFFVRlBkbFFzVlVGQlZYRlVMRWxCUTJwRExFbEJRMGRITEZOQlFWTkdMRWxCUTFaQkxFVkJRVmtzUjBGRFdrRXNSVUZCV1N4VFFVTmFOMU1zUlVGQlRUWlRMRXRCUVdWQkxFVkJSWEpDTEUxQlFVMUhMRmRCUVZjc2RVSkJRWGxDU0N4SFFVVjRRMEVzUjBGQllTeE5RVU5tUml4RlFVRlZibUlzUzBGQlMzRmlMRWxCU1daS0xFVkJRVzlETEZGQlJIQkRTU3hIUVVGaExGRkJRMmxDTEVsQlF6bENTQ3hGUVVGblFrY3NSVUZCV1N4TFFVRlRMRTFCUTNKRFJpeEZRVUZWYm1Jc1MwRkJTMmxpTEVWQlFXVkRMRXRCUlRWQ1JTeEZRVUZSTEVsQlFVMHpaQ3hIUVVGVk1HUXNSVUZCVlRGa0xFOUJOMEo2UWl4VFFUaENXSFZrTEVkQlFWVjZVeXhGUVVGdFFtNURMRTFCUVUwc1MwRkJUU3RWTEVkQlEzcERRU3hGUVVGVk1XUXNUMEZCVXl4SFFVZDJRaXhQUVVGUGRXUXNSMEZIVEc1akxFOUJRVTlwU1N4bFFVTlVha2tzVDBGQlQybEpMR1ZCUVdVNFVpeFBRVUZSTEdkQ1FVRnBRaXhEUVVNM1EzaFZMRTFCUVU5eFJTeEZRVU5RY0VJc1kwRkJZeXhGUVVOa1ppeFZRVUZWTEVsQlIxcHpVeXhQUVVGUGJsRXNZMEZCWjBKQkxFZEJlR2hFT1VJc1EwRTBhRVJ4UWl4dlFrRkJXbWRVTEZGQlFUQkNibVVzUzBGQlMxWXNTVUZCVFN4SFFVRkxObVVpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpZWGd2YkdsaUwzTmhlQzVxY3lKOSIsIm1vZHVsZS5leHBvcnRzPVN0cmVhbTt2YXIgRUU9cmVxdWlyZShcImV2ZW50c1wiKS5FdmVudEVtaXR0ZXIsaW5oZXJpdHM9cmVxdWlyZShcImluaGVyaXRzXCIpO2Z1bmN0aW9uIFN0cmVhbSgpe0VFLmNhbGwodGhpcyl9aW5oZXJpdHMoU3RyZWFtLEVFKSxTdHJlYW0uUmVhZGFibGU9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qc1wiKSxTdHJlYW0uV3JpdGFibGU9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1wiKSxTdHJlYW0uRHVwbGV4PXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXCIpLFN0cmVhbS5UcmFuc2Zvcm09cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanNcIiksU3RyZWFtLlBhc3NUaHJvdWdoPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanNcIiksU3RyZWFtLmZpbmlzaGVkPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qc1wiKSxTdHJlYW0ucGlwZWxpbmU9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1wiKSxTdHJlYW0uU3RyZWFtPVN0cmVhbSxTdHJlYW0ucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSxyKXt2YXIgdD10aGlzO2Z1bmN0aW9uIGEocil7ZS53cml0YWJsZSYmITE9PT1lLndyaXRlKHIpJiZ0LnBhdXNlJiZ0LnBhdXNlKCl9ZnVuY3Rpb24gaSgpe3QucmVhZGFibGUmJnQucmVzdW1lJiZ0LnJlc3VtZSgpfXQub24oXCJkYXRhXCIsYSksZS5vbihcImRyYWluXCIsaSksZS5faXNTdGRpb3x8ciYmITE9PT1yLmVuZHx8KHQub24oXCJlbmRcIixzKSx0Lm9uKFwiY2xvc2VcIixvKSk7dmFyIG49ITE7ZnVuY3Rpb24gcygpe258fChuPSEwLGUuZW5kKCkpfWZ1bmN0aW9uIG8oKXtufHwobj0hMCxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmRlc3Ryb3kmJmUuZGVzdHJveSgpKX1mdW5jdGlvbiBtKGUpe2lmKGwoKSwwPT09RUUubGlzdGVuZXJDb3VudCh0aGlzLFwiZXJyb3JcIikpdGhyb3cgZX1mdW5jdGlvbiBsKCl7dC5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIixhKSxlLnJlbW92ZUxpc3RlbmVyKFwiZHJhaW5cIixpKSx0LnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIscyksdC5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbyksdC5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsbSksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsbSksdC5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGwpLHQucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGwpfXJldHVybiB0Lm9uKFwiZXJyb3JcIixtKSxlLm9uKFwiZXJyb3JcIixtKSx0Lm9uKFwiZW5kXCIsbCksdC5vbihcImNsb3NlXCIsbCksZS5vbihcImNsb3NlXCIsbCksZS5lbWl0KFwicGlwZVwiLHQpLGV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSlRkSEpsWVcwaUxDSkZSU0lzSW5KbGNYVnBjbVVpTENKRmRtVnVkRVZ0YVhSMFpYSWlMQ0pwYm1obGNtbDBjeUlzSW1OaGJHd2lMQ0owYUdseklpd2lVbVZoWkdGaWJHVWlMQ0pYY21sMFlXSnNaU0lzSWtSMWNHeGxlQ0lzSWxSeVlXNXpabTl5YlNJc0lsQmhjM05VYUhKdmRXZG9JaXdpWm1sdWFYTm9aV1FpTENKd2FYQmxiR2x1WlNJc0luQnliM1J2ZEhsd1pTSXNJbkJwY0dVaUxDSmtaWE4wSWl3aWIzQjBhVzl1Y3lJc0luTnZkWEpqWlNJc0ltOXVaR0YwWVNJc0ltTm9kVzVySWl3aWQzSnBkR0ZpYkdVaUxDSjNjbWwwWlNJc0luQmhkWE5sSWl3aWIyNWtjbUZwYmlJc0luSmxZV1JoWW14bElpd2ljbVZ6ZFcxbElpd2liMjRpTENKZmFYTlRkR1JwYnlJc0ltVnVaQ0lzSW05dVpXNWtJaXdpYjI1amJHOXpaU0lzSW1ScFpFOXVSVzVrSWl3aVpHVnpkSEp2ZVNJc0ltOXVaWEp5YjNJaUxDSmxjaUlzSW1Oc1pXRnVkWEFpTENKc2FYTjBaVzVsY2tOdmRXNTBJaXdpY21WdGIzWmxUR2x6ZEdWdVpYSWlMQ0psYldsMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGeFFrRkJMRTlCUVU5RExGRkJRVlZETEU5QlJXcENMRWxCUVVsRExFZEJRVXRETEZGQlFWRXNWVUZCVlVNc1lVRkRka0pETEZOQlFWZEdMRkZCUVZFc1dVRnRRblpDTEZOQlFWTkdMRk5CUTFCRExFZEJRVWRKTEV0QlFVdERMRTFCYkVKV1JpeFRRVUZUU2l4UFFVRlJReXhKUVVOcVFrUXNUMEZCVDA4c1UwRkJWMHdzVVVGQlVTd3lRMEZETVVKR0xFOUJRVTlSTEZOQlFWZE9MRkZCUVZFc01rTkJRekZDUml4UFFVRlBVeXhQUVVGVFVDeFJRVUZSTEhsRFFVTjRRa1lzVDBGQlQxVXNWVUZCV1ZJc1VVRkJVU3cwUTBGRE0wSkdMRTlCUVU5WExGbEJRV05VTEZGQlFWRXNPRU5CUXpkQ1JpeFBRVUZQV1N4VFFVRlhWaXhSUVVGUkxIbEVRVU14UWtZc1QwRkJUMkVzVTBGQlYxZ3NVVUZCVVN4dlJFRkhNVUpHTEU5QlFVOUJMRTlCUVZOQkxFOUJWMmhDUVN4UFFVRlBZeXhWUVVGVlF5eExRVUZQTEZOQlFWTkRMRVZCUVUxRExFZEJRM0pETEVsQlFVbERMRVZCUVZOYUxFdEJSV0lzVTBGQlUyRXNSVUZCVDBNc1IwRkRWa29zUlVGQlMwc3NWMEZEU0N4SlFVRlZUQ3hGUVVGTFRTeE5RVUZOUml4SlFVRlZSaXhGUVVGUFN5eFBRVU40UTB3c1JVRkJUMHNzVVVGUFlpeFRRVUZUUXl4SlFVTklUaXhGUVVGUFR5eFZRVUZaVUN4RlFVRlBVU3hSUVVNMVFsSXNSVUZCVDFFc1UwRktXRklzUlVGQlQxTXNSMEZCUnl4UFFVRlJVaXhIUVZGc1FrZ3NSVUZCUzFjc1IwRkJSeXhSUVVGVFNDeEhRVWxhVWl4RlFVRkxXU3hWUVVGaldDeEpRVUV5UWl4SlFVRm9Ra0VzUlVGQlVWa3NUVUZEZWtOWUxFVkJRVTlUTEVkQlFVY3NUVUZCVDBjc1IwRkRha0phTEVWQlFVOVRMRWRCUVVjc1VVRkJVMGtzU1VGSGNrSXNTVUZCU1VNc1IwRkJWeXhGUVVObUxGTkJRVk5HTEVsQlEwaEZMRWxCUTBwQkxFZEJRVmNzUlVGRldHaENMRVZCUVV0aExFOUJTVkFzVTBGQlUwVXNTVUZEU0VNc1NVRkRTa0VzUjBGQlZ5eEZRVVZwUWl4dFFrRkJha0pvUWl4RlFVRkxhVUlzVTBGQmQwSnFRaXhGUVVGTGFVSXNWMEZKTDBNc1UwRkJVME1zUlVGQlVVTXNSMEZGWml4SFFVUkJReXhKUVVOM1F5eEpRVUZ3UTI1RExFZEJRVWR2UXl4alFVRmpMMElzUzBGQlRTeFRRVU42UWl4TlFVRk5Oa0lzUlVGUlZpeFRRVUZUUXl4SlFVTlFiRUlzUlVGQlQyOUNMR1ZCUVdVc1QwRkJVVzVDTEVkQlF6bENTQ3hGUVVGTGMwSXNaVUZCWlN4UlFVRlRaQ3hIUVVVM1FrNHNSVUZCVDI5Q0xHVkJRV1VzVFVGQlQxSXNSMEZETjBKYUxFVkJRVTl2UWl4bFFVRmxMRkZCUVZOUUxFZEJSUzlDWWl4RlFVRlBiMElzWlVGQlpTeFJRVUZUU2l4SFFVTXZRbXhDTEVWQlFVdHpRaXhsUVVGbExGRkJRVk5LTEVkQlJUZENhRUlzUlVGQlQyOUNMR1ZCUVdVc1RVRkJUMFlzUjBGRE4wSnNRaXhGUVVGUGIwSXNaVUZCWlN4UlFVRlRSaXhIUVVVdlFuQkNMRVZCUVV0elFpeGxRVUZsTEZGQlFWTkdMRWRCVnk5Q0xFOUJOVUpCYkVJc1JVRkJUMU1zUjBGQlJ5eFJRVUZUVHl4SFFVTnVRbXhDTEVWQlFVdFhMRWRCUVVjc1VVRkJVMDhzUjBGdFFtcENhRUlzUlVGQlQxTXNSMEZCUnl4TlFVRlBVeXhIUVVOcVFteENMRVZCUVU5VExFZEJRVWNzVVVGQlUxTXNSMEZGYmtKd1FpeEZRVUZMVnl4SFFVRkhMRkZCUVZOVExFZEJSV3BDY0VJc1JVRkJTM1ZDTEV0QlFVc3NUMEZCVVhKQ0xFZEJSMWhHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZhVzVrWlhndWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gX2luaGVyaXRzTG9vc2UoZSxyKXtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHIucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUuX19wcm90b19fPXJ9dmFyIGNvZGVzPXt9O2Z1bmN0aW9uIGNyZWF0ZUVycm9yVHlwZShlLHIsdCl7dHx8KHQ9RXJyb3IpO3ZhciBuPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCxuLG8pe3JldHVybiBlLmNhbGwodGhpcyxmdW5jdGlvbihlLHQsbil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHI/cjpyKGUsdCxuKX0odCxuLG8pKXx8dGhpc31yZXR1cm4gX2luaGVyaXRzTG9vc2UodCxlKSx0fSh0KTtuLnByb3RvdHlwZS5uYW1lPXQubmFtZSxuLnByb3RvdHlwZS5jb2RlPWUsY29kZXNbZV09bn1mdW5jdGlvbiBvbmVPZihlLHIpe2lmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciB0PWUubGVuZ3RoO3JldHVybiBlPWUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBTdHJpbmcoZSl9KSx0PjI/XCJvbmUgb2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlLnNsaWNlKDAsdC0xKS5qb2luKFwiLCBcIiksXCIsIG9yIFwiKStlW3QtMV06Mj09PXQ/XCJvbmUgb2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlWzBdLFwiIG9yIFwiKS5jb25jYXQoZVsxXSk6XCJvZiBcIi5jb25jYXQocixcIiBcIikuY29uY2F0KGVbMF0pfXJldHVyblwib2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChTdHJpbmcoZSkpfWZ1bmN0aW9uIHN0YXJ0c1dpdGgoZSxyLHQpe3JldHVybiBlLnN1YnN0cighdHx8dDwwPzA6K3Qsci5sZW5ndGgpPT09cn1mdW5jdGlvbiBlbmRzV2l0aChlLHIsdCl7cmV0dXJuKHZvaWQgMD09PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCksZS5zdWJzdHJpbmcodC1yLmxlbmd0aCx0KT09PXJ9ZnVuY3Rpb24gaW5jbHVkZXMoZSxyLHQpe3JldHVyblwibnVtYmVyXCIhPXR5cGVvZiB0JiYodD0wKSwhKHQrci5sZW5ndGg+ZS5sZW5ndGgpJiYtMSE9PWUuaW5kZXhPZihyLHQpfWNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX09QVF9WQUxVRVwiLGZ1bmN0aW9uKGUscil7cmV0dXJuJ1RoZSB2YWx1ZSBcIicrcisnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwiJytlKydcIid9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX0lOVkFMSURfQVJHX1RZUEVcIixmdW5jdGlvbihlLHIsdCl7dmFyIG4sbztpZihcInN0cmluZ1wiPT10eXBlb2YgciYmc3RhcnRzV2l0aChyLFwibm90IFwiKT8obj1cIm11c3Qgbm90IGJlXCIscj1yLnJlcGxhY2UoL15ub3QgLyxcIlwiKSk6bj1cIm11c3QgYmVcIixlbmRzV2l0aChlLFwiIGFyZ3VtZW50XCIpKW89XCJUaGUgXCIuY29uY2F0KGUsXCIgXCIpLmNvbmNhdChuLFwiIFwiKS5jb25jYXQob25lT2YocixcInR5cGVcIikpO2Vsc2V7dmFyIGM9aW5jbHVkZXMoZSxcIi5cIik/XCJwcm9wZXJ0eVwiOlwiYXJndW1lbnRcIjtvPSdUaGUgXCInLmNvbmNhdChlLCdcIiAnKS5jb25jYXQoYyxcIiBcIikuY29uY2F0KG4sXCIgXCIpLmNvbmNhdChvbmVPZihyLFwidHlwZVwiKSl9cmV0dXJuIG8rPVwiLiBSZWNlaXZlZCB0eXBlIFwiLmNvbmNhdCh0eXBlb2YgdCl9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRlwiLFwic3RyZWFtLnB1c2goKSBhZnRlciBFT0ZcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URURcIixmdW5jdGlvbihlKXtyZXR1cm5cIlRoZSBcIitlK1wiIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWRcIn0pLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFXCIsXCJQcmVtYXR1cmUgY2xvc2VcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9ERVNUUk9ZRURcIixmdW5jdGlvbihlKXtyZXR1cm5cIkNhbm5vdCBjYWxsIFwiK2UrXCIgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZFwifSksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX01VTFRJUExFX0NBTExCQUNLXCIsXCJDYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXNcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9DQU5OT1RfUElQRVwiLFwiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZVwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORFwiLFwid3JpdGUgYWZ0ZXIgZW5kXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fTlVMTF9WQUxVRVNcIixcIk1heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtXCIsVHlwZUVycm9yKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfVU5LTk9XTl9FTkNPRElOR1wiLGZ1bmN0aW9uKGUpe3JldHVyblwiVW5rbm93biBlbmNvZGluZzogXCIrZX0sVHlwZUVycm9yKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UXCIsXCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudFwiKSxtb2R1bGUuZXhwb3J0cy5jb2Rlcz1jb2RlcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnljbTl5Y3kxaWNtOTNjMlZ5TG1weklsMHNJbTVoYldWeklqcGJJbDlwYm1obGNtbDBjMHh2YjNObElpd2ljM1ZpUTJ4aGMzTWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWNISnZkRzkwZVhCbElpd2lUMkpxWldOMElpd2lZM0psWVhSbElpd2lZMjl1YzNSeWRXTjBiM0lpTENKZlgzQnliM1J2WDE4aUxDSmpiMlJsY3lJc0ltTnlaV0YwWlVWeWNtOXlWSGx3WlNJc0ltTnZaR1VpTENKdFpYTnpZV2RsSWl3aVFtRnpaU0lzSWtWeWNtOXlJaXdpVG05a1pVVnljbTl5SWl3aVgwSmhjMlVpTENKaGNtY3hJaXdpWVhKbk1pSXNJbUZ5WnpNaUxDSmpZV3hzSWl3aWRHaHBjeUlzSW1kbGRFMWxjM05oWjJVaUxDSnVZVzFsSWl3aWIyNWxUMllpTENKbGVIQmxZM1JsWkNJc0luUm9hVzVuSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWJHVnVJaXdpYkdWdVozUm9JaXdpYldGd0lpd2lhU0lzSWxOMGNtbHVaeUlzSW1OdmJtTmhkQ0lzSW5Oc2FXTmxJaXdpYW05cGJpSXNJbk4wWVhKMGMxZHBkR2dpTENKemRISWlMQ0p6WldGeVkyZ2lMQ0p3YjNNaUxDSnpkV0p6ZEhJaUxDSmxibVJ6VjJsMGFDSXNJblJvYVhOZmJHVnVJaXdpZFc1a1pXWnBibVZrSWl3aWMzVmljM1J5YVc1bklpd2lhVzVqYkhWa1pYTWlMQ0p6ZEdGeWRDSXNJbWx1WkdWNFQyWWlMQ0oyWVd4MVpTSXNJbFI1Y0dWRmNuSnZjaUlzSW1GamRIVmhiQ0lzSW1SbGRHVnliV2x1WlhJaUxDSnRjMmNpTENKeVpYQnNZV05sSWl3aWRIbHdaU0lzSW1GeVp5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1UwRkJVMEVzWlVGQlpVTXNSVUZCVlVNc1IwRkJZMFFzUlVGQlUwVXNWVUZCV1VNc1QwRkJUME1zVDBGQlQwZ3NSVUZCVjBNc1YwRkJXVVlzUlVGQlUwVXNWVUZCVlVjc1dVRkJZMHdzUlVGQlZVRXNSVUZCVTAwc1ZVRkJXVXdzUlVGRk1Vc3NTVUZCU1Uwc1RVRkJVU3hIUVVWYUxGTkJRVk5ETEdkQ1FVRm5Ra01zUlVGQlRVTXNSVUZCVTBNc1IwRkRha05CTEVsQlEwaEJMRVZCUVU5RExFOUJWMVFzU1VGQlNVTXNSVUZGU2l4VFFVRlZReXhIUVVkU0xGTkJRVk5FTEVWQlFWVkZMRVZCUVUxRExFVkJRVTFETEVkQlF6ZENMRTlCUVU5SUxFVkJRVTFKTEV0QlFVdERMRXRCWkhSQ0xGTkJRVzlDU2l4RlFVRk5ReXhGUVVGTlF5eEhRVU01UWl4TlFVRjFRaXhwUWtGQldsQXNSVUZEUmtFc1JVRkZRVUVzUlVGQlVVc3NSVUZCVFVNc1JVRkJUVU1zUjBGVlNFY3NRMEZCVjB3c1JVRkJUVU1zUlVGQlRVTXNTMEZCVlVVc1MwRkhNMFFzVDBGT1FYQkNMR1ZCUVdWakxFVkJRVmRETEVkQlRXNUNSQ3hGUVZCVUxFTkJVVVZHTEVkQlJVWkZMRVZCUVZWWUxGVkJRVlZ0UWl4TFFVRlBWaXhGUVVGTFZTeExRVU5vUTFJc1JVRkJWVmdzVlVGQlZVOHNTMEZCVDBFc1JVRkRNMEpHTEUxQlFVMUZMRWRCUVZGSkxFVkJTV2hDTEZOQlFWTlRMRTFCUVUxRExFVkJRVlZETEVkQlEzWkNMRWRCUVVsRExFMUJRVTFETEZGQlFWRklMRWRCUVZjc1EwRkRNMElzU1VGQlNVa3NSVUZCVFVvc1JVRkJVMHNzVDBGTGJrSXNUMEZLUVV3c1JVRkJWMEVzUlVGQlUwMHNTVUZCU1N4VFFVRlZReXhIUVVOb1F5eFBRVUZQUXl4UFFVRlBSQ3hMUVVkYVNDeEZRVUZOTEVWQlEwUXNWVUZCVlVzc1QwRkJUMUlzUlVGQlR5eExRVUZMVVN4UFFVRlBWQ3hGUVVGVFZTeE5RVUZOTEVWQlFVZE9MRVZCUVUwc1IwRkJSMDhzUzBGQlN5eE5RVUZQTEZOQlFWZFlMRVZCUVZOSkxFVkJRVTBzUjBGRE0wWXNTVUZCVWtFc1JVRkRSaXhWUVVGVlN5eFBRVUZQVWl4RlFVRlBMRXRCUVV0UkxFOUJRVTlVTEVWQlFWTXNSMEZCU1N4UlFVRlJVeXhQUVVGUFZDeEZRVUZUTEVsQlJYcEZMRTFCUVUxVExFOUJRVTlTTEVWQlFVOHNTMEZCUzFFc1QwRkJUMVFzUlVGQlV5eEpRVWRzUkN4TlFVRlBMRTFCUVUxVExFOUJRVTlTTEVWQlFVOHNTMEZCUzFFc1QwRkJUMFFzVDBGQlQxSXNTVUZMYkVRc1UwRkJVMWtzVjBGQlYwTXNSVUZCUzBNc1JVRkJVVU1zUjBGREwwSXNUMEZCVDBZc1JVRkJTVWNzVVVGQlVVUXNSMEZCVDBFc1JVRkJUU3hGUVVGSkxFZEJRVXRCTEVWQlFVdEVMRVZCUVU5VUxGVkJRVmxUTEVWQlNXNUZMRk5CUVZOSExGTkJRVk5LTEVWQlFVdERMRVZCUVZGSkxFZEJTemRDTEZsQlNtbENReXhKUVVGaVJDeEhRVUV3UWtFc1JVRkJWMHdzUlVGQlNWSXNWVUZETTBOaExFVkJRVmRNTEVWQlFVbFNMRkZCUjFaUkxFVkJRVWxQTEZWQlFWVkdMRVZCUVZkS0xFVkJRVTlVTEU5QlFWRmhMRXRCUVdOS0xFVkJTUzlFTEZOQlFWTlBMRk5CUVZOU0xFVkJRVXRETEVWQlFWRlJMRWRCU3pkQ0xFMUJTbkZDTEdsQ1FVRldRU3hKUVVOVVFTeEZRVUZSTEV0QlIwNUJMRVZCUVZGU0xFVkJRVTlVTEU5QlFWTlJMRVZCUVVsU0xGVkJSMU1zU1VGQmFFTlJMRVZCUVVsVkxGRkJRVkZVTEVWQlFWRlJMRWRCU1M5Q2NrTXNaMEpCUVdkQ0xIZENRVUY1UWl4VFFVRlZZU3hGUVVGTk1FSXNSMEZEZGtRc1RVRkJUeXhqUVVGblFrRXNSVUZCVVN3MFFrRkJPRUl4UWl4RlFVRlBMRXRCUTI1Rk1rSXNWMEZEU0hoRExHZENRVUZuUWl4MVFrRkJkMElzVTBGQlZXRXNSVUZCVFVVc1JVRkJWVEJDTEVkQlJXaEZMRWxCUVVsRExFVkJVMEZETEVWQlJVb3NSMEZVZDBJc2FVSkJRV0kxUWl4SFFVRjVRbGtzVjBGQlYxb3NSVUZCVlN4VFFVTjJSREpDTEVWQlFXRXNZMEZEWWpOQ0xFVkJRVmRCTEVWQlFWTTJRaXhSUVVGUkxGRkJRVk1zUzBGRmNrTkdMRVZCUVdFc1ZVRkxXRllzVTBGQlUyNUNMRVZCUVUwc1lVRkZha0k0UWl4RlFVRk5MRTlCUVU5dVFpeFBRVUZQV0N4RlFVRk5MRXRCUVV0WExFOUJRVTlyUWl4RlFVRlpMRXRCUVV0c1FpeFBRVUZQVml4TlFVRk5ReXhGUVVGVkxHRkJRM3BGTEVOQlEwd3NTVUZCU1RoQ0xFVkJRVTlVTEZOQlFWTjJRaXhGUVVGTkxFdEJRVThzVjBGQllTeFhRVU01UXpoQ0xFVkJRVTBzVVVGQlUyNUNMRTlCUVU5WUxFVkJRVTBzVFVGQlQxY3NUMEZCVDNGQ0xFVkJRVTBzUzBGQlMzSkNMRTlCUVU5clFpeEZRVUZaTEV0QlFVdHNRaXhQUVVGUFZpeE5RVUZOUXl4RlFVRlZMRk5CU1hSSExFOUJSRUUwUWl4SFFVRlBMRzFDUVVGdFFtNUNMR05CUVdOcFFpeEpRVVYyUTBRc1YwRkRTSGhETEdkQ1FVRm5RaXcwUWtGQk5rSXNNa0pCUXpkRFFTeG5Ra0ZCWjBJc05rSkJRVGhDTEZOQlFWVmhMRWRCUTNSRUxFMUJRVThzVDBGQlUwRXNSVUZCVHl3clFrRkZla0ppTEdkQ1FVRm5RaXcyUWtGQk9FSXNiVUpCUXpsRFFTeG5Ra0ZCWjBJc2RVSkJRWGRDTEZOQlFWVmhMRWRCUTJoRUxFMUJRVThzWlVGQmFVSkJMRVZCUVU4c2EwTkJSV3BEWWl4blFrRkJaMElzZDBKQlFYbENMR3REUVVONlEwRXNaMEpCUVdkQ0xIbENRVUV3UWl3MlFrRkRNVU5CTEdkQ1FVRm5RaXcyUWtGQk9FSXNiVUpCUXpsRFFTeG5Ra0ZCWjBJc2VVSkJRVEJDTEhORFFVRjFRM2RETEZkQlEycEdlRU1zWjBKQlFXZENMSFZDUVVGM1FpeFRRVUZWT0VNc1IwRkRhRVFzVFVGQlR5eHhRa0ZCZFVKQkxFZEJRemRDVGl4WFFVTkllRU1zWjBKQlFXZENMSEZEUVVGelF5eHZRMEZEZEVRclF5eFBRVUZQUXl4UlFVRlJha1FzVFVGQlVVRWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyVnljbTl5Y3kxaWNtOTNjMlZ5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgb2JqZWN0S2V5cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpdC5wdXNoKHIpO3JldHVybiB0fTttb2R1bGUuZXhwb3J0cz1EdXBsZXg7dmFyIFJlYWRhYmxlPXJlcXVpcmUoXCIuL19zdHJlYW1fcmVhZGFibGVcIiksV3JpdGFibGU9cmVxdWlyZShcIi4vX3N0cmVhbV93cml0YWJsZVwiKTtyZXF1aXJlKFwiaW5oZXJpdHNcIikoRHVwbGV4LFJlYWRhYmxlKTtmb3IodmFyIGtleXM9b2JqZWN0S2V5cyhXcml0YWJsZS5wcm90b3R5cGUpLHY9MDt2PGtleXMubGVuZ3RoO3YrKyl7dmFyIG1ldGhvZD1rZXlzW3ZdO0R1cGxleC5wcm90b3R5cGVbbWV0aG9kXXx8KER1cGxleC5wcm90b3R5cGVbbWV0aG9kXT1Xcml0YWJsZS5wcm90b3R5cGVbbWV0aG9kXSl9ZnVuY3Rpb24gRHVwbGV4KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpcmV0dXJuIG5ldyBEdXBsZXgoZSk7UmVhZGFibGUuY2FsbCh0aGlzLGUpLFdyaXRhYmxlLmNhbGwodGhpcyxlKSx0aGlzLmFsbG93SGFsZk9wZW49ITAsZSYmKCExPT09ZS5yZWFkYWJsZSYmKHRoaXMucmVhZGFibGU9ITEpLCExPT09ZS53cml0YWJsZSYmKHRoaXMud3JpdGFibGU9ITEpLCExPT09ZS5hbGxvd0hhbGZPcGVuJiYodGhpcy5hbGxvd0hhbGZPcGVuPSExLHRoaXMub25jZShcImVuZFwiLG9uZW5kKSkpfWZ1bmN0aW9uIG9uZW5kKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8cHJvY2Vzcy5uZXh0VGljayhvbkVuZE5ULHRoaXMpfWZ1bmN0aW9uIG9uRW5kTlQoZSl7ZS5lbmQoKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJkZXN0cm95ZWRcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCl9LHNldDpmdW5jdGlvbihlKXt2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSx0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZlpIVndiR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTlpYW1WamRFdGxlWE1pTENKUFltcGxZM1FpTENKclpYbHpJaXdpYjJKcUlpd2lhMlY1SWl3aWNIVnphQ0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKRWRYQnNaWGdpTENKU1pXRmtZV0pzWlNJc0luSmxjWFZwY21VaUxDSlhjbWwwWVdKc1pTSXNJbkJ5YjNSdmRIbHdaU0lzSW5ZaUxDSnNaVzVuZEdnaUxDSnRaWFJvYjJRaUxDSnZjSFJwYjI1eklpd2lkR2hwY3lJc0ltTmhiR3dpTENKaGJHeHZkMGhoYkdaUGNHVnVJaXdpY21WaFpHRmliR1VpTENKM2NtbDBZV0pzWlNJc0ltOXVZMlVpTENKdmJtVnVaQ0lzSWw5M2NtbDBZV0pzWlZOMFlYUmxJaXdpWlc1a1pXUWlMQ0p3Y205alpYTnpJaXdpYm1WNGRGUnBZMnNpTENKdmJrVnVaRTVVSWl3aWMyVnNaaUlzSW1WdVpDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laVzUxYldWeVlXSnNaU0lzSW1kbGRDSXNJbWhwWjJoWFlYUmxjazFoY21zaUxDSm5aWFJDZFdabVpYSWlMQ0oxYm1SbFptbHVaV1FpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW1SbGMzUnliM2xsWkNJc0luTmxkQ0lzSW5aaGJIVmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRjNRa0VzWVVGSFFTeEpRVUZKUVN4WFFVRmhReXhQUVVGUFF5eE5RVUZSTEZOQlFWVkRMRWRCUTNoRExFbEJRVWxFTEVWQlFVOHNSMEZGV0N4SlFVRkxMRWxCUVVsRkxFdEJRVTlFTEVWQlEyUkVMRVZCUVV0SExFdEJRVXRFTEVkQlIxb3NUMEZCVDBZc1IwRkxWRWtzVDBGQlQwTXNVVUZCVlVNc1QwRkZha0lzU1VGQlNVTXNVMEZCVjBNc1VVRkJVU3h6UWtGRmJrSkRMRk5CUVZkRUxGRkJRVkVzYzBKQlJYWkNRU3hSUVVGUkxGZEJRVkpCTEVOQlFXOUNSaXhQUVVGUlF5eFZRVTB4UWl4SlFVWkJMRWxCUVVsUUxFdEJRVTlHTEZkQlFWZFhMRk5CUVZORExGZEJSWFJDUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxZTEV0QlFVdFpMRTlCUVZGRUxFbEJRVXNzUTBGRGNFTXNTVUZCU1VVc1QwRkJVMklzUzBGQlMxY3NSMEZEWWt3c1QwRkJUMGtzVlVGQlZVY3NWVUZCVTFBc1QwRkJUMGtzVlVGQlZVY3NVVUZCVlVvc1UwRkJVME1zVlVGQlZVY3NVMEZKYWtZc1UwRkJVMUFzVDBGQlQxRXNSMEZEWkN4TFFVRk5ReXhuUWtGQlowSlVMRkZCUVZNc1QwRkJUeXhKUVVGSlFTeFBRVUZQVVN4SFFVTnFSRkFzVTBGQlUxTXNTMEZCUzBRc1MwRkJUVVFzUjBGRGNFSk1MRk5CUVZOUExFdEJRVXRFTEV0QlFVMUVMRWRCUTNCQ1F5eExRVUZMUlN4bFFVRm5RaXhGUVVWcVFrZ3NTMEZEZFVJc1NVRkJja0pCTEVWQlFWRkpMRmRCUVc5Q1NDeExRVUZMUnl4VlFVRlhMRWxCUTNaQ0xFbEJRWEpDU2l4RlFVRlJTeXhYUVVGdlFrb3NTMEZCUzBrc1ZVRkJWeXhKUVVWc1FpeEpRVUV4UWt3c1JVRkJVVWNzWjBKQlExWkdMRXRCUVV0RkxHVkJRV2RDTEVWQlEzSkNSaXhMUVVGTFN5eExRVUZMTEUxQlFVOURMRk5CYVVOMlFpeFRRVUZUUVN4UlFVVklUaXhMUVVGTFR5eGxRVUZsUXl4UFFVZDRRa01zVVVGQlVVTXNVMEZCVTBNc1VVRkJVMWdzVFVGSE5VSXNVMEZCVTFjc1VVRkJVVU1zUjBGRFprRXNSVUZCUzBNc1RVRnlRMUEzUWl4UFFVRlBPRUlzWlVGQlpYWkNMRTlCUVU5SkxGVkJRVmNzZDBKQlFYbENMRU5CU1M5RWIwSXNXVUZCV1N4RlFVTmFReXhKUVVGTExGZEJRMGdzVDBGQlQyaENMRXRCUVV0UExHVkJRV1ZWTEdsQ1FVY3ZRbXBETEU5QlFVODRRaXhsUVVGbGRrSXNUMEZCVDBrc1ZVRkJWeXhwUWtGQmEwSXNRMEZKZUVSdlFpeFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGFFSXNTMEZCUzA4c1owSkJRV3RDVUN4TFFVRkxUeXhsUVVGbFZ5eGxRVWQwUkd4RExFOUJRVTg0UWl4bFFVRmxka0lzVDBGQlQwa3NWVUZCVnl4cFFrRkJhMElzUTBGSmVFUnZRaXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBhRUlzUzBGQlMwOHNaVUZCWlZZc1ZVRm5RaTlDWWl4UFFVRlBPRUlzWlVGQlpYWkNMRTlCUVU5SkxGVkJRVmNzV1VGQllTeERRVWx1Ukc5Q0xGbEJRVmtzUlVGRFdrTXNTVUZCU3l4WFFVTklMRmxCUVRSQ1J5eEpRVUY0UW01Q0xFdEJRVXR2UWl4eFFrRkJkMFJFTEVsQlFYaENia0lzUzBGQlMwOHNhVUpCU1haRFVDeExRVUZMYjBJc1pVRkJaVU1zVjBGQllYSkNMRXRCUVV0UExHVkJRV1ZqTEZsQlJUbEVReXhKUVVGTExGTkJRV0ZETEZGQlIxbEtMRWxCUVhoQ2JrSXNTMEZCUzI5Q0xIRkNRVUYzUkVRc1NVRkJlRUp1UWl4TFFVRkxUeXhwUWtGTk9VTlFMRXRCUVV0dlFpeGxRVUZsUXl4VlFVRlpSU3hGUVVOb1EzWkNMRXRCUVV0UExHVkJRV1ZqTEZWQlFWbEZJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjlrZFhCc1pYZ3Vhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPVBhc3NUaHJvdWdoO3ZhciBUcmFuc2Zvcm09cmVxdWlyZShcIi4vX3N0cmVhbV90cmFuc2Zvcm1cIik7ZnVuY3Rpb24gUGFzc1Rocm91Z2gocil7aWYoISh0aGlzIGluc3RhbmNlb2YgUGFzc1Rocm91Z2gpKXJldHVybiBuZXcgUGFzc1Rocm91Z2gocik7VHJhbnNmb3JtLmNhbGwodGhpcyxyKX1yZXF1aXJlKFwiaW5oZXJpdHNcIikoUGFzc1Rocm91Z2gsVHJhbnNmb3JtKSxQYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihyLHMsbyl7byhudWxsLHIpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmNHRnpjM1JvY205MVoyZ3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsQmhjM05VYUhKdmRXZG9JaXdpVkhKaGJuTm1iM0p0SWl3aWNtVnhkV2x5WlNJc0ltOXdkR2x2Ym5NaUxDSjBhR2x6SWl3aVkyRnNiQ0lzSW5CeWIzUnZkSGx3WlNJc0lsOTBjbUZ1YzJadmNtMGlMQ0pqYUhWdWF5SXNJbVZ1WTI5a2FXNW5JaXdpWTJJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVhWQ1FTeGhRVVZCUVN4UFFVRlBReXhSUVVGVlF5eFpRVVZxUWl4SlFVRkpReXhWUVVGWlF5eFJRVUZSTEhWQ1FVbDRRaXhUUVVGVFJpeFpRVUZaUnl4SFFVTnVRaXhMUVVGTlF5eG5Ra0ZCWjBKS0xHRkJRV01zVDBGQlR5eEpRVUZKUVN4WlFVRlpSeXhIUVVNelJFWXNWVUZCVlVrc1MwRkJTMFFzUzBGQlRVUXNSMEZLZGtKRUxGRkJRVkVzVjBGQlVrRXNRMEZCYjBKR0xGbEJRV0ZETEZkQlQycERSQ3haUVVGWlRTeFZRVUZWUXl4WFFVRmhMRk5CUVZWRExFVkJRVTlETEVWQlFWVkRMRWRCUXpWRVFTeEZRVUZITEV0QlFVMUdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl3WVhOemRHaHliM1ZuYUM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgRHVwbGV4O21vZHVsZS5leHBvcnRzPVJlYWRhYmxlLFJlYWRhYmxlLlJlYWRhYmxlU3RhdGU9UmVhZGFibGVTdGF0ZTt2YXIgRUU9cmVxdWlyZShcImV2ZW50c1wiKS5FdmVudEVtaXR0ZXIsRUVsaXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUubGlzdGVuZXJzKHQpLmxlbmd0aH0sU3RyZWFtPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtXCIpLEJ1ZmZlcj1yZXF1aXJlKFwiYnVmZmVyXCIpLkJ1ZmZlcixPdXJVaW50OEFycmF5PWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gQnVmZmVyLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpfHxlIGluc3RhbmNlb2YgT3VyVWludDhBcnJheX12YXIgZGVidWcsZGVidWdVdGlsPXJlcXVpcmUoXCJ1dGlsXCIpO2RlYnVnPWRlYnVnVXRpbCYmZGVidWdVdGlsLmRlYnVnbG9nP2RlYnVnVXRpbC5kZWJ1Z2xvZyhcInN0cmVhbVwiKTpmdW5jdGlvbigpe307dmFyIFN0cmluZ0RlY29kZXIsY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yLGZyb20sQnVmZmVyTGlzdD1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0XCIpLGRlc3Ryb3lJbXBsPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveVwiKSxfcmVxdWlyZT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlXCIpLGdldEhpZ2hXYXRlck1hcms9X3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyayxfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9JTlZBTElEX0FSR19UWVBFPV9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0Y9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7cmVxdWlyZShcImluaGVyaXRzXCIpKFJlYWRhYmxlLFN0cmVhbSk7dmFyIGVycm9yT3JEZXN0cm95PWRlc3Ryb3lJbXBsLmVycm9yT3JEZXN0cm95LGtQcm94eUV2ZW50cz1bXCJlcnJvclwiLFwiY2xvc2VcIixcImRlc3Ryb3lcIixcInBhdXNlXCIsXCJyZXN1bWVcIl07ZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGUsdCxyKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnByZXBlbmRMaXN0ZW5lcilyZXR1cm4gZS5wcmVwZW5kTGlzdGVuZXIodCxyKTtlLl9ldmVudHMmJmUuX2V2ZW50c1t0XT9BcnJheS5pc0FycmF5KGUuX2V2ZW50c1t0XSk/ZS5fZXZlbnRzW3RdLnVuc2hpZnQocik6ZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV06ZS5vbih0LHIpfWZ1bmN0aW9uIFJlYWRhYmxlU3RhdGUoZSx0LHIpe0R1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLGU9ZXx8e30sXCJib29sZWFuXCIhPXR5cGVvZiByJiYocj10IGluc3RhbmNlb2YgRHVwbGV4KSx0aGlzLm9iamVjdE1vZGU9ISFlLm9iamVjdE1vZGUsciYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS5yZWFkYWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1nZXRIaWdoV2F0ZXJNYXJrKHRoaXMsZSxcInJlYWRhYmxlSGlnaFdhdGVyTWFya1wiLHIpLHRoaXMuYnVmZmVyPW5ldyBCdWZmZXJMaXN0LHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLnBhdXNlZD0hMCx0aGlzLmVtaXRDbG9zZT0hMSE9PWUuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISFlLmF1dG9EZXN0cm95LHRoaXMuZGVzdHJveWVkPSExLHRoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIix0aGlzLmF3YWl0RHJhaW49MCx0aGlzLnJlYWRpbmdNb3JlPSExLHRoaXMuZGVjb2Rlcj1udWxsLHRoaXMuZW5jb2Rpbmc9bnVsbCxlLmVuY29kaW5nJiYoU3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZShcInN0cmluZ19kZWNvZGVyL1wiKS5TdHJpbmdEZWNvZGVyKSx0aGlzLmRlY29kZXI9bmV3IFN0cmluZ0RlY29kZXIoZS5lbmNvZGluZyksdGhpcy5lbmNvZGluZz1lLmVuY29kaW5nKX1mdW5jdGlvbiBSZWFkYWJsZShlKXtpZihEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSwhKHRoaXMgaW5zdGFuY2VvZiBSZWFkYWJsZSkpcmV0dXJuIG5ldyBSZWFkYWJsZShlKTt2YXIgdD10aGlzIGluc3RhbmNlb2YgRHVwbGV4O3RoaXMuX3JlYWRhYmxlU3RhdGU9bmV3IFJlYWRhYmxlU3RhdGUoZSx0aGlzLHQpLHRoaXMucmVhZGFibGU9ITAsZSYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUucmVhZCYmKHRoaXMuX3JlYWQ9ZS5yZWFkKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLFN0cmVhbS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoZSx0LHIsYSxuKXtkZWJ1ZyhcInJlYWRhYmxlQWRkQ2h1bmtcIix0KTt2YXIgaSxkPWUuX3JlYWRhYmxlU3RhdGU7aWYobnVsbD09PXQpZC5yZWFkaW5nPSExLG9uRW9mQ2h1bmsoZSxkKTtlbHNlIGlmKG58fChpPWNodW5rSW52YWxpZChkLHQpKSxpKWVycm9yT3JEZXN0cm95KGUsaSk7ZWxzZSBpZihkLm9iamVjdE1vZGV8fHQmJnQubGVuZ3RoPjApaWYoXCJzdHJpbmdcIj09dHlwZW9mIHR8fGQub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09QnVmZmVyLnByb3RvdHlwZXx8KHQ9X3VpbnQ4QXJyYXlUb0J1ZmZlcih0KSksYSlkLmVuZEVtaXR0ZWQ/ZXJyb3JPckRlc3Ryb3koZSxuZXcgRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCk6YWRkQ2h1bmsoZSxkLHQsITApO2Vsc2UgaWYoZC5lbmRlZCllcnJvck9yRGVzdHJveShlLG5ldyBFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GKTtlbHNle2lmKGQuZGVzdHJveWVkKXJldHVybiExO2QucmVhZGluZz0hMSxkLmRlY29kZXImJiFyPyh0PWQuZGVjb2Rlci53cml0ZSh0KSxkLm9iamVjdE1vZGV8fDAhPT10Lmxlbmd0aD9hZGRDaHVuayhlLGQsdCwhMSk6bWF5YmVSZWFkTW9yZShlLGQpKTphZGRDaHVuayhlLGQsdCwhMSl9ZWxzZSBhfHwoZC5yZWFkaW5nPSExLG1heWJlUmVhZE1vcmUoZSxkKSk7cmV0dXJuIWQuZW5kZWQmJihkLmxlbmd0aDxkLmhpZ2hXYXRlck1hcmt8fDA9PT1kLmxlbmd0aCl9ZnVuY3Rpb24gYWRkQ2h1bmsoZSx0LHIsYSl7dC5mbG93aW5nJiYwPT09dC5sZW5ndGgmJiF0LnN5bmM/KHQuYXdhaXREcmFpbj0wLGUuZW1pdChcImRhdGFcIixyKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxhP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmZW1pdFJlYWRhYmxlKGUpKSxtYXliZVJlYWRNb3JlKGUsdCl9ZnVuY3Rpb24gY2h1bmtJbnZhbGlkKGUsdCl7dmFyIHI7cmV0dXJuIF9pc1VpbnQ4QXJyYXkodCl8fFwic3RyaW5nXCI9PXR5cGVvZiB0fHx2b2lkIDA9PT10fHxlLm9iamVjdE1vZGV8fChyPW5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRShcImNodW5rXCIsW1wic3RyaW5nXCIsXCJCdWZmZXJcIixcIlVpbnQ4QXJyYXlcIl0sdCkpLHJ9T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KSxSZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveT1kZXN0cm95SW1wbC5kZXN0cm95LFJlYWRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95PWRlc3Ryb3lJbXBsLnVuZGVzdHJveSxSZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0KGUpfSxSZWFkYWJsZS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHQpe3ZhciByLGE9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gYS5vYmplY3RNb2RlP3I9ITA6XCJzdHJpbmdcIj09dHlwZW9mIGUmJigodD10fHxhLmRlZmF1bHRFbmNvZGluZykhPT1hLmVuY29kaW5nJiYoZT1CdWZmZXIuZnJvbShlLHQpLHQ9XCJcIikscj0hMCkscmVhZGFibGVBZGRDaHVuayh0aGlzLGUsdCwhMSxyKX0sUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLG51bGwsITAsITEpfSxSZWFkYWJsZS5wcm90b3R5cGUuaXNQYXVzZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hMT09PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nPWZ1bmN0aW9uKGUpe1N0cmluZ0RlY29kZXJ8fChTdHJpbmdEZWNvZGVyPXJlcXVpcmUoXCJzdHJpbmdfZGVjb2Rlci9cIikuU3RyaW5nRGVjb2Rlcik7dmFyIHQ9bmV3IFN0cmluZ0RlY29kZXIoZSk7dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPXQsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmNvZGluZz10aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXIuZW5jb2Rpbmc7Zm9yKHZhciByPXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQsYT1cIlwiO251bGwhPT1yOylhKz10LndyaXRlKHIuZGF0YSkscj1yLm5leHQ7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCksXCJcIiE9PWEmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2goYSksdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg9YS5sZW5ndGgsdGhpc307dmFyIE1BWF9IV009MTA3Mzc0MTgyNDtmdW5jdGlvbiBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKXtyZXR1cm4gZT49TUFYX0hXTT9lPU1BWF9IV006KGUtLSxlfD1lPj4+MSxlfD1lPj4+MixlfD1lPj4+NCxlfD1lPj4+OCxlfD1lPj4+MTYsZSsrKSxlfWZ1bmN0aW9uIGhvd011Y2hUb1JlYWQoZSx0KXtyZXR1cm4gZTw9MHx8MD09PXQubGVuZ3RoJiZ0LmVuZGVkPzA6dC5vYmplY3RNb2RlPzE6ZSE9ZT90LmZsb3dpbmcmJnQubGVuZ3RoP3QuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg6dC5sZW5ndGg6KGU+dC5oaWdoV2F0ZXJNYXJrJiYodC5oaWdoV2F0ZXJNYXJrPWNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKGUpKSxlPD10Lmxlbmd0aD9lOnQuZW5kZWQ/dC5sZW5ndGg6KHQubmVlZFJlYWRhYmxlPSEwLDApKX1mdW5jdGlvbiBvbkVvZkNodW5rKGUsdCl7aWYoZGVidWcoXCJvbkVvZkNodW5rXCIpLCF0LmVuZGVkKXtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKHQuYnVmZmVyLnB1c2gociksdC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX10LmVuZGVkPSEwLHQuc3luYz9lbWl0UmVhZGFibGUoZSk6KHQubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwodC5lbWl0dGVkUmVhZGFibGU9ITAsZW1pdFJlYWRhYmxlXyhlKSkpfX1mdW5jdGlvbiBlbWl0UmVhZGFibGUoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVtaXRSZWFkYWJsZVwiLHQubmVlZFJlYWRhYmxlLHQuZW1pdHRlZFJlYWRhYmxlKSx0Lm5lZWRSZWFkYWJsZT0hMSx0LmVtaXR0ZWRSZWFkYWJsZXx8KGRlYnVnKFwiZW1pdFJlYWRhYmxlXCIsdC5mbG93aW5nKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMCxwcm9jZXNzLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sZSkpfWZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVtaXRSZWFkYWJsZV9cIix0LmRlc3Ryb3llZCx0Lmxlbmd0aCx0LmVuZGVkKSx0LmRlc3Ryb3llZHx8IXQubGVuZ3RoJiYhdC5lbmRlZHx8KGUuZW1pdChcInJlYWRhYmxlXCIpLHQuZW1pdHRlZFJlYWRhYmxlPSExKSx0Lm5lZWRSZWFkYWJsZT0hdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyayxmbG93KGUpfWZ1bmN0aW9uIG1heWJlUmVhZE1vcmUoZSx0KXt0LnJlYWRpbmdNb3JlfHwodC5yZWFkaW5nTW9yZT0hMCxwcm9jZXNzLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLGUsdCkpfWZ1bmN0aW9uIG1heWJlUmVhZE1vcmVfKGUsdCl7Zm9yKDshdC5yZWFkaW5nJiYhdC5lbmRlZCYmKHQubGVuZ3RoPHQuaGlnaFdhdGVyTWFya3x8dC5mbG93aW5nJiYwPT09dC5sZW5ndGgpOyl7dmFyIHI9dC5sZW5ndGg7aWYoZGVidWcoXCJtYXliZVJlYWRNb3JlIHJlYWQgMFwiKSxlLnJlYWQoMCkscj09PXQubGVuZ3RoKWJyZWFrfXQucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gcGlwZU9uRHJhaW4oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcInBpcGVPbkRyYWluXCIsdC5hd2FpdERyYWluKSx0LmF3YWl0RHJhaW4mJnQuYXdhaXREcmFpbi0tLDA9PT10LmF3YWl0RHJhaW4mJkVFbGlzdGVuZXJDb3VudChlLFwiZGF0YVwiKSYmKHQuZmxvd2luZz0hMCxmbG93KGUpKX19ZnVuY3Rpb24gdXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTt0LnJlYWRhYmxlTGlzdGVuaW5nPWUubGlzdGVuZXJDb3VudChcInJlYWRhYmxlXCIpPjAsdC5yZXN1bWVTY2hlZHVsZWQmJiF0LnBhdXNlZD90LmZsb3dpbmc9ITA6ZS5saXN0ZW5lckNvdW50KFwiZGF0YVwiKT4wJiZlLnJlc3VtZSgpfWZ1bmN0aW9uIG5SZWFkaW5nTmV4dFRpY2soZSl7ZGVidWcoXCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDBcIiksZS5yZWFkKDApfWZ1bmN0aW9uIHJlc3VtZShlLHQpe3QucmVzdW1lU2NoZWR1bGVkfHwodC5yZXN1bWVTY2hlZHVsZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhyZXN1bWVfLGUsdCkpfWZ1bmN0aW9uIHJlc3VtZV8oZSx0KXtkZWJ1ZyhcInJlc3VtZVwiLHQucmVhZGluZyksdC5yZWFkaW5nfHxlLnJlYWQoMCksdC5yZXN1bWVTY2hlZHVsZWQ9ITEsZS5lbWl0KFwicmVzdW1lXCIpLGZsb3coZSksdC5mbG93aW5nJiYhdC5yZWFkaW5nJiZlLnJlYWQoMCl9ZnVuY3Rpb24gZmxvdyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihkZWJ1ZyhcImZsb3dcIix0LmZsb3dpbmcpO3QuZmxvd2luZyYmbnVsbCE9PWUucmVhZCgpOyk7fWZ1bmN0aW9uIGZyb21MaXN0KGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOih0Lm9iamVjdE1vZGU/cj10LmJ1ZmZlci5zaGlmdCgpOiFlfHxlPj10Lmxlbmd0aD8ocj10LmRlY29kZXI/dC5idWZmZXIuam9pbihcIlwiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmZpcnN0KCk6dC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKSx0LmJ1ZmZlci5jbGVhcigpKTpyPXQuYnVmZmVyLmNvbnN1bWUoZSx0LmRlY29kZXIpLHIpO3ZhciByfWZ1bmN0aW9uIGVuZFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7ZGVidWcoXCJlbmRSZWFkYWJsZVwiLHQuZW5kRW1pdHRlZCksdC5lbmRFbWl0dGVkfHwodC5lbmRlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGVuZFJlYWRhYmxlTlQsdCxlKSl9ZnVuY3Rpb24gZW5kUmVhZGFibGVOVChlLHQpe2lmKGRlYnVnKFwiZW5kUmVhZGFibGVOVFwiLGUuZW5kRW1pdHRlZCxlLmxlbmd0aCksIWUuZW5kRW1pdHRlZCYmMD09PWUubGVuZ3RoJiYoZS5lbmRFbWl0dGVkPSEwLHQucmVhZGFibGU9ITEsdC5lbWl0KFwiZW5kXCIpLGUuYXV0b0Rlc3Ryb3kpKXt2YXIgcj10Ll93cml0YWJsZVN0YXRlOyghcnx8ci5hdXRvRGVzdHJveSYmci5maW5pc2hlZCkmJnQuZGVzdHJveSgpfX1mdW5jdGlvbiBpbmRleE9mKGUsdCl7Zm9yKHZhciByPTAsYT1lLmxlbmd0aDtyPGE7cisrKWlmKGVbcl09PT10KXJldHVybiByO3JldHVybi0xfVJlYWRhYmxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe2RlYnVnKFwicmVhZFwiLGUpLGU9cGFyc2VJbnQoZSwxMCk7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPWU7aWYoMCE9PWUmJih0LmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWUmJnQubmVlZFJlYWRhYmxlJiYoKDAhPT10LmhpZ2hXYXRlck1hcms/dC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFyazp0Lmxlbmd0aD4wKXx8dC5lbmRlZCkpcmV0dXJuIGRlYnVnKFwicmVhZDogZW1pdFJlYWRhYmxlXCIsdC5sZW5ndGgsdC5lbmRlZCksMD09PXQubGVuZ3RoJiZ0LmVuZGVkP2VuZFJlYWRhYmxlKHRoaXMpOmVtaXRSZWFkYWJsZSh0aGlzKSxudWxsO2lmKDA9PT0oZT1ob3dNdWNoVG9SZWFkKGUsdCkpJiZ0LmVuZGVkKXJldHVybiAwPT09dC5sZW5ndGgmJmVuZFJlYWRhYmxlKHRoaXMpLG51bGw7dmFyIGEsbj10Lm5lZWRSZWFkYWJsZTtyZXR1cm4gZGVidWcoXCJuZWVkIHJlYWRhYmxlXCIsbiksKDA9PT10Lmxlbmd0aHx8dC5sZW5ndGgtZTx0LmhpZ2hXYXRlck1hcmspJiZkZWJ1ZyhcImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrXCIsbj0hMCksdC5lbmRlZHx8dC5yZWFkaW5nP2RlYnVnKFwicmVhZGluZyBvciBlbmRlZFwiLG49ITEpOm4mJihkZWJ1ZyhcImRvIHJlYWRcIiksdC5yZWFkaW5nPSEwLHQuc3luYz0hMCwwPT09dC5sZW5ndGgmJih0Lm5lZWRSZWFkYWJsZT0hMCksdGhpcy5fcmVhZCh0LmhpZ2hXYXRlck1hcmspLHQuc3luYz0hMSx0LnJlYWRpbmd8fChlPWhvd011Y2hUb1JlYWQocix0KSkpLG51bGw9PT0oYT1lPjA/ZnJvbUxpc3QoZSx0KTpudWxsKT8odC5uZWVkUmVhZGFibGU9dC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyayxlPTApOih0Lmxlbmd0aC09ZSx0LmF3YWl0RHJhaW49MCksMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmZW5kUmVhZGFibGUodGhpcykpLG51bGwhPT1hJiZ0aGlzLmVtaXQoXCJkYXRhXCIsYSksYX0sUmVhZGFibGUucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGUpe2Vycm9yT3JEZXN0cm95KHRoaXMsbmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKFwiX3JlYWQoKVwiKSl9LFJlYWRhYmxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxhPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKGEucGlwZXNDb3VudCl7Y2FzZSAwOmEucGlwZXM9ZTticmVhaztjYXNlIDE6YS5waXBlcz1bYS5waXBlcyxlXTticmVhaztkZWZhdWx0OmEucGlwZXMucHVzaChlKX1hLnBpcGVzQ291bnQrPTEsZGVidWcoXCJwaXBlIGNvdW50PSVkIG9wdHM9JWpcIixhLnBpcGVzQ291bnQsdCk7dmFyIG49KCF0fHwhMSE9PXQuZW5kKSYmZSE9PXByb2Nlc3Muc3Rkb3V0JiZlIT09cHJvY2Vzcy5zdGRlcnI/ZDpmO2Z1bmN0aW9uIGkodCxuKXtkZWJ1ZyhcIm9udW5waXBlXCIpLHQ9PT1yJiZuJiYhMT09PW4uaGFzVW5waXBlZCYmKG4uaGFzVW5waXBlZD0hMCxkZWJ1ZyhcImNsZWFudXBcIiksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsYiksZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLHApLGUucmVtb3ZlTGlzdGVuZXIoXCJkcmFpblwiLG8pLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLHUpLGUucmVtb3ZlTGlzdGVuZXIoXCJ1bnBpcGVcIixpKSxyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsZCksci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGYpLHIucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsbCkscz0hMCwhYS5hd2FpdERyYWlufHxlLl93cml0YWJsZVN0YXRlJiYhZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fG8oKSl9ZnVuY3Rpb24gZCgpe2RlYnVnKFwib25lbmRcIiksZS5lbmQoKX1hLmVuZEVtaXR0ZWQ/cHJvY2Vzcy5uZXh0VGljayhuKTpyLm9uY2UoXCJlbmRcIixuKSxlLm9uKFwidW5waXBlXCIsaSk7dmFyIG89cGlwZU9uRHJhaW4ocik7ZS5vbihcImRyYWluXCIsbyk7dmFyIHM9ITE7ZnVuY3Rpb24gbCh0KXtkZWJ1ZyhcIm9uZGF0YVwiKTt2YXIgbj1lLndyaXRlKHQpO2RlYnVnKFwiZGVzdC53cml0ZVwiLG4pLCExPT09biYmKCgxPT09YS5waXBlc0NvdW50JiZhLnBpcGVzPT09ZXx8YS5waXBlc0NvdW50PjEmJi0xIT09aW5kZXhPZihhLnBpcGVzLGUpKSYmIXMmJihkZWJ1ZyhcImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZVwiLGEuYXdhaXREcmFpbiksYS5hd2FpdERyYWluKyspLHIucGF1c2UoKSl9ZnVuY3Rpb24gdSh0KXtkZWJ1ZyhcIm9uZXJyb3JcIix0KSxmKCksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksMD09PUVFbGlzdGVuZXJDb3VudChlLFwiZXJyb3JcIikmJmVycm9yT3JEZXN0cm95KGUsdCl9ZnVuY3Rpb24gYigpe2UucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixwKSxmKCl9ZnVuY3Rpb24gcCgpe2RlYnVnKFwib25maW5pc2hcIiksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsYiksZigpfWZ1bmN0aW9uIGYoKXtkZWJ1ZyhcInVucGlwZVwiKSxyLnVucGlwZShlKX1yZXR1cm4gci5vbihcImRhdGFcIixsKSxwcmVwZW5kTGlzdGVuZXIoZSxcImVycm9yXCIsdSksZS5vbmNlKFwiY2xvc2VcIixiKSxlLm9uY2UoXCJmaW5pc2hcIixwKSxlLmVtaXQoXCJwaXBlXCIsciksYS5mbG93aW5nfHwoZGVidWcoXCJwaXBlIHJlc3VtZVwiKSxyLnJlc3VtZSgpKSxlfSxSZWFkYWJsZS5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PXQucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09dC5waXBlc0NvdW50KXJldHVybiBlJiZlIT09dC5waXBlcz90aGlzOihlfHwoZT10LnBpcGVzKSx0LnBpcGVzPW51bGwsdC5waXBlc0NvdW50PTAsdC5mbG93aW5nPSExLGUmJmUuZW1pdChcInVucGlwZVwiLHRoaXMsciksdGhpcyk7aWYoIWUpe3ZhciBhPXQucGlwZXMsbj10LnBpcGVzQ291bnQ7dC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMTtmb3IodmFyIGk9MDtpPG47aSsrKWFbaV0uZW1pdChcInVucGlwZVwiLHRoaXMse2hhc1VucGlwZWQ6ITF9KTtyZXR1cm4gdGhpc312YXIgZD1pbmRleE9mKHQucGlwZXMsZSk7cmV0dXJuLTE9PT1kP3RoaXM6KHQucGlwZXMuc3BsaWNlKGQsMSksdC5waXBlc0NvdW50LT0xLDE9PT10LnBpcGVzQ291bnQmJih0LnBpcGVzPXQucGlwZXNbMF0pLGUuZW1pdChcInVucGlwZVwiLHRoaXMsciksdGhpcyl9LFJlYWRhYmxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQpe3ZhciByPVN0cmVhbS5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCksYT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVyblwiZGF0YVwiPT09ZT8oYS5yZWFkYWJsZUxpc3RlbmluZz10aGlzLmxpc3RlbmVyQ291bnQoXCJyZWFkYWJsZVwiKT4wLCExIT09YS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpKTpcInJlYWRhYmxlXCI9PT1lJiYoYS5lbmRFbWl0dGVkfHxhLnJlYWRhYmxlTGlzdGVuaW5nfHwoYS5yZWFkYWJsZUxpc3RlbmluZz1hLm5lZWRSZWFkYWJsZT0hMCxhLmZsb3dpbmc9ITEsYS5lbWl0dGVkUmVhZGFibGU9ITEsZGVidWcoXCJvbiByZWFkYWJsZVwiLGEubGVuZ3RoLGEucmVhZGluZyksYS5sZW5ndGg/ZW1pdFJlYWRhYmxlKHRoaXMpOmEucmVhZGluZ3x8cHJvY2Vzcy5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLHRoaXMpKSkscn0sUmVhZGFibGUucHJvdG90eXBlLmFkZExpc3RlbmVyPVJlYWRhYmxlLnByb3RvdHlwZS5vbixSZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj1TdHJlYW0ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLmNhbGwodGhpcyxlLHQpO3JldHVyblwicmVhZGFibGVcIj09PWUmJnByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsdGhpcykscn0sUmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1TdHJlYW0ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuXCJyZWFkYWJsZVwiIT09ZSYmdm9pZCAwIT09ZXx8cHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKSx0fSxSZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gZS5mbG93aW5nfHwoZGVidWcoXCJyZXN1bWVcIiksZS5mbG93aW5nPSFlLnJlYWRhYmxlTGlzdGVuaW5nLHJlc3VtZSh0aGlzLGUpKSxlLnBhdXNlZD0hMSx0aGlzfSxSZWFkYWJsZS5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXtyZXR1cm4gZGVidWcoXCJjYWxsIHBhdXNlIGZsb3dpbmc9JWpcIix0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpLCExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiYoZGVidWcoXCJwYXVzZVwiKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ITEsdGhpcy5lbWl0KFwicGF1c2VcIikpLHRoaXMuX3JlYWRhYmxlU3RhdGUucGF1c2VkPSEwLHRoaXN9LFJlYWRhYmxlLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMscj10aGlzLl9yZWFkYWJsZVN0YXRlLGE9ITE7Zm9yKHZhciBuIGluIGUub24oXCJlbmRcIixmdW5jdGlvbigpe2lmKGRlYnVnKFwid3JhcHBlZCBlbmRcIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIGU9ci5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9dC5wdXNoKG51bGwpfSksZS5vbihcImRhdGFcIixmdW5jdGlvbihuKXsoZGVidWcoXCJ3cmFwcGVkIGRhdGFcIiksci5kZWNvZGVyJiYobj1yLmRlY29kZXIud3JpdGUobikpLHIub2JqZWN0TW9kZSYmbnVsbD09bil8fChyLm9iamVjdE1vZGV8fG4mJm4ubGVuZ3RoKSYmKHQucHVzaChuKXx8KGE9ITAsZS5wYXVzZSgpKSl9KSxlKXZvaWQgMD09PXRoaXNbbl0mJlwiZnVuY3Rpb25cIj09dHlwZW9mIGVbbl0mJih0aGlzW25dPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlW3RdLmFwcGx5KGUsYXJndW1lbnRzKX19KG4pKTtmb3IodmFyIGk9MDtpPGtQcm94eUV2ZW50cy5sZW5ndGg7aSsrKWUub24oa1Byb3h5RXZlbnRzW2ldLHRoaXMuZW1pdC5iaW5kKHRoaXMsa1Byb3h5RXZlbnRzW2ldKSk7cmV0dXJuIHRoaXMuX3JlYWQ9ZnVuY3Rpb24odCl7ZGVidWcoXCJ3cmFwcGVkIF9yZWFkXCIsdCksYSYmKGE9ITEsZS5yZXN1bWUoKSl9LHRoaXN9LFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKFJlYWRhYmxlLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09Y3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yJiYoY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3JcIikpLGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcih0aGlzKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVGbG93aW5nXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ZSl9fSksUmVhZGFibGUuX2Zyb21MaXN0PWZyb21MaXN0LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aH19KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihSZWFkYWJsZS5mcm9tPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PWZyb20mJihmcm9tPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvZnJvbVwiKSksZnJvbShSZWFkYWJsZSxlLHQpfSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZjbVZoWkdGaWJHVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVJIVndiR1Y0SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsSmxZV1JoWW14bElpd2lVbVZoWkdGaWJHVlRkR0YwWlNJc0lrVkZJaXdpY21WeGRXbHlaU0lzSWtWMlpXNTBSVzFwZEhSbGNpSXNJa1ZGYkdsemRHVnVaWEpEYjNWdWRDSXNJbVZ0YVhSMFpYSWlMQ0owZVhCbElpd2liR2x6ZEdWdVpYSnpJaXdpYkdWdVozUm9JaXdpVTNSeVpXRnRJaXdpUW5WbVptVnlJaXdpVDNWeVZXbHVkRGhCY25KaGVTSXNJbWRzYjJKaGJDSXNJbFZwYm5RNFFYSnlZWGtpTENKZmRXbHVkRGhCY25KaGVWUnZRblZtWm1WeUlpd2lZMmgxYm1zaUxDSm1jbTl0SWl3aVgybHpWV2x1ZERoQmNuSmhlU0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpWkdWaWRXY2lMQ0prWldKMVoxVjBhV3dpTENKa1pXSjFaMnh2WnlJc0lsTjBjbWx1WjBSbFkyOWtaWElpTENKamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lpTENKQ2RXWm1aWEpNYVhOMElpd2laR1Z6ZEhKdmVVbHRjR3dpTENKZmNtVnhkV2x5WlNJc0ltZGxkRWhwWjJoWFlYUmxjazFoY21zaUxDSmZjbVZ4ZFdseVpTUmpiMlJsY3lJc0ltTnZaR1Z6SWl3aVJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVWlMQ0pGVWxKZlUxUlNSVUZOWDFCVlUwaGZRVVpVUlZKZlJVOUdJaXdpUlZKU1gwMUZWRWhQUkY5T1QxUmZTVTFRVEVWTlJVNVVSVVFpTENKRlVsSmZVMVJTUlVGTlgxVk9VMGhKUmxSZlFVWlVSVkpmUlU1RVgwVldSVTVVSWl3aVpYSnliM0pQY2tSbGMzUnliM2tpTENKclVISnZlSGxGZG1WdWRITWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0psZG1WdWRDSXNJbVp1SWl3aVgyVjJaVzUwY3lJc0lrRnljbUY1SWl3aWFYTkJjbkpoZVNJc0luVnVjMmhwWm5RaUxDSnZiaUlzSW05d2RHbHZibk1pTENKemRISmxZVzBpTENKcGMwUjFjR3hsZUNJc0luUm9hWE1pTENKdlltcGxZM1JOYjJSbElpd2ljbVZoWkdGaWJHVlBZbXBsWTNSTmIyUmxJaXdpYUdsbmFGZGhkR1Z5VFdGeWF5SXNJbUoxWm1abGNpSXNJbkJwY0dWeklpd2ljR2x3WlhORGIzVnVkQ0lzSW1ac2IzZHBibWNpTENKbGJtUmxaQ0lzSW1WdVpFVnRhWFIwWldRaUxDSnlaV0ZrYVc1bklpd2ljM2x1WXlJc0ltNWxaV1JTWldGa1lXSnNaU0lzSW1WdGFYUjBaV1JTWldGa1lXSnNaU0lzSW5KbFlXUmhZbXhsVEdsemRHVnVhVzVuSWl3aWNtVnpkVzFsVTJOb1pXUjFiR1ZrSWl3aWNHRjFjMlZrSWl3aVpXMXBkRU5zYjNObElpd2lZWFYwYjBSbGMzUnliM2tpTENKa1pYTjBjbTk1WldRaUxDSmtaV1poZFd4MFJXNWpiMlJwYm1jaUxDSmhkMkZwZEVSeVlXbHVJaXdpY21WaFpHbHVaMDF2Y21VaUxDSmtaV052WkdWeUlpd2laVzVqYjJScGJtY2lMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbkpsWVdSaFlteGxJaXdpY21WaFpDSXNJbDl5WldGa0lpd2laR1Z6ZEhKdmVTSXNJbDlrWlhOMGNtOTVJaXdpWTJGc2JDSXNJbkpsWVdSaFlteGxRV1JrUTJoMWJtc2lMQ0poWkdSVWIwWnliMjUwSWl3aWMydHBjRU5vZFc1clEyaGxZMnNpTENKbGNpSXNJbk4wWVhSbElpd2liMjVGYjJaRGFIVnVheUlzSW1Ob2RXNXJTVzUyWVd4cFpDSXNJazlpYW1WamRDSXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2ljSEp2ZEc5MGVYQmxJaXdpWVdSa1EyaDFibXNpTENKM2NtbDBaU0lzSW0xaGVXSmxVbVZoWkUxdmNtVWlMQ0psYldsMElpd2ljSFZ6YUNJc0ltVnRhWFJTWldGa1lXSnNaU0lzSW5WdVpHVm1hVzVsWkNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbWRsZENJc0luTmxkQ0lzSW5aaGJIVmxJaXdpWDNWdVpHVnpkSEp2ZVNJc0luVnVaR1Z6ZEhKdmVTSXNJbVZ5Y2lJc0ltTmlJaXdpYVhOUVlYVnpaV1FpTENKelpYUkZibU52WkdsdVp5SXNJbVZ1WXlJc0luQWlMQ0pvWldGa0lpd2lZMjl1ZEdWdWRDSXNJbVJoZEdFaUxDSnVaWGgwSWl3aVkyeGxZWElpTENKTlFWaGZTRmROSWl3aVkyOXRjSFYwWlU1bGQwaHBaMmhYWVhSbGNrMWhjbXNpTENKdUlpd2lhRzkzVFhWamFGUnZVbVZoWkNJc0ltVnVaQ0lzSW1WdGFYUlNaV0ZrWVdKc1pWOGlMQ0p3Y205alpYTnpJaXdpYm1WNGRGUnBZMnNpTENKbWJHOTNJaXdpYldGNVltVlNaV0ZrVFc5eVpWOGlMQ0pzWlc0aUxDSndhWEJsVDI1RWNtRnBiaUlzSW5OeVl5SXNJblZ3WkdGMFpWSmxZV1JoWW14bFRHbHpkR1Z1YVc1bklpd2ljMlZzWmlJc0lteHBjM1JsYm1WeVEyOTFiblFpTENKeVpYTjFiV1VpTENKdVVtVmhaR2x1WjA1bGVIUlVhV05ySWl3aWNtVnpkVzFsWHlJc0ltWnliMjFNYVhOMElpd2ljbVYwSWl3aWMyaHBablFpTENKcWIybHVJaXdpWm1seWMzUWlMQ0pqYjI1allYUWlMQ0pqYjI1emRXMWxJaXdpWlc1a1VtVmhaR0ZpYkdVaUxDSmxibVJTWldGa1lXSnNaVTVVSWl3aWQxTjBZWFJsSWl3aVgzZHlhWFJoWW14bFUzUmhkR1VpTENKbWFXNXBjMmhsWkNJc0ltbHVaR1Y0VDJZaUxDSjRjeUlzSW5naUxDSnBJaXdpYkNJc0luQmhjbk5sU1c1MElpd2liazl5YVdjaUxDSmtiMUpsWVdRaUxDSndhWEJsSWl3aVpHVnpkQ0lzSW5CcGNHVlBjSFJ6SWl3aVpXNWtSbTRpTENKemRHUnZkWFFpTENKemRHUmxjbklpTENKdmJtVnVaQ0lzSW5WdWNHbHdaU0lzSW05dWRXNXdhWEJsSWl3aWRXNXdhWEJsU1c1bWJ5SXNJbWhoYzFWdWNHbHdaV1FpTENKeVpXMXZkbVZNYVhOMFpXNWxjaUlzSW05dVkyeHZjMlVpTENKdmJtWnBibWx6YUNJc0ltOXVaSEpoYVc0aUxDSnZibVZ5Y205eUlpd2liMjVrWVhSaElpd2lZMnhsWVc1bFpGVndJaXdpYm1WbFpFUnlZV2x1SWl3aWIyNWpaU0lzSW5CaGRYTmxJaXdpWkdWemRITWlMQ0pwYm1SbGVDSXNJbk53YkdsalpTSXNJbVYySWl3aWNtVnpJaXdpWVdSa1RHbHpkR1Z1WlhJaUxDSnlaVzF2ZG1WQmJHeE1hWE4wWlc1bGNuTWlMQ0poY0hCc2VTSXNJbUZ5WjNWdFpXNTBjeUlzSW5keVlYQWlMQ0pmZEdocGN5SXNJbTFsZEdodlpDSXNJbUpwYm1RaUxDSlRlVzFpYjJ3aUxDSmhjM2x1WTBsMFpYSmhkRzl5SWl3aVgyWnliMjFNYVhOMElpd2lhWFJsY21GaWJHVWlMQ0p2Y0hSeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGdlFrRXNZVUZMUVN4SlFVRkpRU3hQUVVoS1F5eFBRVUZQUXl4UlFVRlZReXhUUVUxcVFrRXNVMEZCVTBNc1kwRkJaMEpCTEdOQlIzcENMRWxCUVVsRExFZEJRVXRETEZGQlFWRXNWVUZCVlVNc1lVRkZka0pETEdkQ1FVRnJRaXhUUVVGNVFrTXNSVUZCVTBNc1IwRkRkRVFzVDBGQlQwUXNSVUZCVVVVc1ZVRkJWVVFzUjBGQlRVVXNVVUZQTjBKRExFOUJRVk5RTEZGQlFWRXNOa0pCU1dwQ1VTeFBRVUZUVWl4UlFVRlJMRlZCUVZWUkxFOUJSVE5DUXl4alFVRm5Ra01zVDBGQlQwTXNXVUZCWXl4aFFVVjZReXhUUVVGVFF5eHZRa0ZCYjBKRExFZEJRek5DTEU5QlFVOU1MRTlCUVU5TkxFdEJRVXRFTEVkQlIzSkNMRk5CUVZORkxHTkJRV05ETEVkQlEzSkNMRTlCUVU5U0xFOUJRVTlUTEZOQlFWTkVMRWxCUVZGQkxHRkJRV1ZRTEdOQlMyaEVMRWxCUlVsVExFMUJSa0ZETEZWQlFWbHVRaXhSUVVGUkxGRkJTM1JDYTBJc1RVRkVSVU1zVjBGQllVRXNWVUZCVlVNc1UwRkRha0pFTEZWQlFWVkRMRk5CUVZNc1ZVRkZia0lzWVVGTFZpeEpRV05KUXl4alFVTkJReXhyUTBGRFFWSXNTMEZvUWtGVExGZEJRV0YyUWl4UlFVRlJMR3REUVVWeVFuZENMRmxCUVdONFFpeFJRVUZSTERoQ1FVVjBRbmxDTEZOQlFWZDZRaXhSUVVGUkxEUkNRVU51UWpCQ0xHbENRVUZ0UWtRc1UwRkJVME1zYVVKQlJUVkNReXhsUVVGcFFqTkNMRkZCUVZFc1lVRkJZVFJDTEUxQlEzUkRReXh4UWtGQmRVSkdMR1ZCUVdWRkxIRkNRVU4wUTBNc01FSkJRVFJDU0N4bFFVRmxSeXd3UWtGRE0wTkRMREpDUVVFMlFrb3NaVUZCWlVrc01rSkJRelZEUXl4dFEwRkJjVU5NTEdWQlFXVkxMRzFEUVU5NFJHaERMRkZCUVZFc1YwRkJVa0VzUTBGQmIwSklMRk5CUVZWVkxGRkJSVGxDTEVsQlFVa3dRaXhsUVVGcFFsUXNXVUZCV1ZNc1pVRkROMEpETEdGQlFXVXNRMEZCUXl4UlFVRlRMRkZCUVZNc1ZVRkJWeXhSUVVGVExGVkJSVEZFTEZOQlFWTkRMR2RDUVVGblFtaERMRVZCUVZOcFF5eEZRVUZQUXl4SFFVZDJReXhIUVVGMVF5eHRRa0ZCTlVKc1F5eEZRVUZSWjBNc1owSkJRV2RETEU5QlFVOW9ReXhGUVVGUlowTXNaMEpCUVdkQ1F5eEZRVUZQUXl4SFFVdHdSbXhETEVWQlFWRnRReXhUUVVGWmJrTXNSVUZCVVcxRExGRkJRVkZHTEVkQlFYVkRSeXhOUVVGTlF5eFJRVUZSY2tNc1JVRkJVVzFETEZGQlFWRkdMRWxCUVZOcVF5eEZRVUZSYlVNc1VVRkJVVVlzUjBGQlQwc3NVVUZCVVVvc1IwRkJVMnhETEVWQlFWRnRReXhSUVVGUlJpeEhRVUZUTEVOQlFVTkRMRVZCUVVsc1F5eEZRVUZSYlVNc1VVRkJVVVlzU1VGQk5VcHFReXhGUVVGUmRVTXNSMEZCUjA0c1JVRkJUME1zUjBGSGNrVXNVMEZCVTNaRExHTkJRV00yUXl4RlFVRlRReXhGUVVGUlF5eEhRVU4wUTI1RUxFOUJRVk5CTEZGQlFWVk5MRkZCUVZFc2IwSkJRek5DTWtNc1JVRkJWVUVzUjBGQlZ5eEhRVTFITEd0Q1FVRmlSU3hKUVVGM1FrRXNSVUZCVjBRc1lVRkJhMEpzUkN4UlFVZG9SVzlFTEV0QlFVdERMR0ZCUVdWS0xFVkJRVkZKTEZkQlEzaENSaXhKUVVGVlF5eExRVUZMUXl4WFFVRmhSQ3hMUVVGTFF5eGpRVUZuUWtvc1JVRkJVVXNzYjBKQlJ6ZEVSaXhMUVVGTFJ5eGpRVUZuUW5aQ0xHbENRVUZwUW05Q0xFdEJRVTFJTEVWQlFWTXNkMEpCUVhsQ1JTeEhRVWs1UlVNc1MwRkJTMGtzVDBGQlV5eEpRVUZKTTBJc1YwRkRiRUoxUWl4TFFVRkxlRU1zVDBGQlV5eEZRVU5rZDBNc1MwRkJTMHNzVFVGQlVTeExRVU5pVEN4TFFVRkxUU3hYUVVGaExFVkJRMnhDVGl4TFFVRkxUeXhSUVVGVkxFdEJRMlpRTEV0QlFVdFJMRTlCUVZFc1JVRkRZbElzUzBGQlMxTXNXVUZCWVN4RlFVTnNRbFFzUzBGQlMxVXNVMEZCVlN4RlFVdG1WaXhMUVVGTFZ5eE5RVUZQTEVWQlIxcFlMRXRCUVV0WkxHTkJRV1VzUlVGRGNFSmFMRXRCUVV0aExHbENRVUZyUWl4RlFVTjJRbUlzUzBGQlMyTXNiVUpCUVc5Q0xFVkJRM3BDWkN4TFFVRkxaU3hwUWtGQmEwSXNSVUZEZGtKbUxFdEJRVXRuUWl4UlFVRlRMRVZCUldSb1FpeExRVUZMYVVJc1YwRkJhME1zU1VGQmRFSndRaXhGUVVGUmIwSXNWVUZGZWtKcVFpeExRVUZMYTBJc1kwRkJaMEp5UWl4RlFVRlJjVUlzV1VGRk4wSnNRaXhMUVVGTGJVSXNWMEZCV1N4RlFVbHFRbTVDTEV0QlFVdHZRaXhuUWtGQmEwSjJRaXhGUVVGUmRVSXNhVUpCUVcxQ0xFOUJSV3hFY0VJc1MwRkJTM0ZDTEZkQlFXRXNSVUZGYkVKeVFpeExRVUZMYzBJc1lVRkJZeXhGUVVOdVFuUkNMRXRCUVV0MVFpeFJRVUZWTEV0QlEyWjJRaXhMUVVGTGQwSXNVMEZCVnl4TFFVVmFNMElzUlVGQlVUSkNMRmRCUTB4cVJDeG5Ra0ZCWlVFc1kwRkJaMEp5UWl4UlFVRlJMRzFDUVVGdFFuRkNMR1ZCUXk5RWVVSXNTMEZCUzNWQ0xGRkJRVlVzU1VGQlNXaEVMR05CUVdOelFpeEZRVUZSTWtJc1ZVRkRla040UWl4TFFVRkxkMElzVTBGQlZ6TkNMRVZCUVZFeVFpeFZRVWsxUWl4VFFVRlRla1VzVTBGQlV6aERMRWRCUldoQ0xFZEJSRUZxUkN4UFFVRlRRU3hSUVVGVlRTeFJRVUZSTEhOQ1FVTnlRamhETEdkQ1FVRm5RbXBFTEZWQlFWY3NUMEZCVHl4SlFVRkpRU3hUUVVGVE9FTXNSMEZIY2tRc1NVRkJTVVVzUlVGQlYwTXNaMEpCUVdkQ2NFUXNUMEZETDBKdlJDeExRVUZMZVVJc1pVRkJhVUlzU1VGQlNYcEZMR05CUVdNMlF5eEZRVUZUUnl4TFFVRk5SQ3hIUVVWMlJFTXNTMEZCU3pCQ0xGVkJRVmNzUlVGRldqZENMRWxCUXpCQ0xHMUNRVUZxUWtFc1JVRkJVVGhDTEU5QlFYRkNNMElzUzBGQlN6UkNMRTFCUVZFdlFpeEZRVUZST0VJc1RVRkRPVUlzYlVKQlFYQkNPVUlzUlVGQlVXZERMRlZCUVhkQ04wSXNTMEZCU3poQ0xGTkJRVmRxUXl4RlFVRlJaME1zVlVGSGNrVndSU3hQUVVGUGMwVXNTMEZCU3k5Q0xFMUJhVVZrTEZOQlFWTm5ReXhwUWtGQmFVSnNReXhGUVVGUkwwSXNSVUZCVDNsRUxFVkJRVlZUTEVWQlFWbERMRWRCUXpkRU9VUXNUVUZCVFN4dFFrRkJiMEpNTEVkQlF6RkNMRWxCVFUxdlJTeEZRVTVHUXl4RlFVRlJkRU1zUlVGQlR6SkNMR1ZCUlc1Q0xFZEJRV01zVDBGQlZqRkVMRVZCUTBaeFJTeEZRVUZOTVVJc1UwRkJWU3hGUVVOb1FqSkNMRmRCUVZkMlF5eEZRVUZSYzBNc1VVRkxia0lzUjBGR1MwWXNTVUZCWjBKRExFVkJRVXRITEdGQlFXRkdMRVZCUVU5eVJTeEpRVVV4UTI5RkxFVkJRMFpvUkN4bFFVRmxWeXhGUVVGUmNVTXNVVUZEYkVJc1IwRkJTVU1zUlVGQlRXNURMRmxCUVdOc1F5eEhRVUZUUVN4RlFVRk5VQ3hQUVVGVExFVkJTM0pFTEVkQlNuRkNMR2xDUVVGV1R5eEhRVUYxUW5GRkxFVkJRVTF1UXl4WlFVRmpjME1zVDBGQlQwTXNaVUZCWlhwRkxFdEJRVmRNTEU5QlFVOHJSU3haUVVNMVJqRkZMRVZCUVZGRUxHOUNRVUZ2UWtNc1NVRkhNVUpyUlN4RlFVTkZSeXhGUVVGTk0wSXNWMEZCV1hSQ0xHVkJRV1ZYTEVWQlFWRXNTVUZCU1Zvc2IwTkJRVEpEZDBRc1UwRkJVelZETEVWQlFWRnpReXhGUVVGUGNrVXNSMEZCVHl4UlFVTjBTQ3hIUVVGSmNVVXNSVUZCVFRWQ0xFMUJRMlp5UWl4bFFVRmxWeXhGUVVGUkxFbEJRVWxrTEN0Q1FVTjBRaXhEUVVGQkxFZEJRVWx2UkN4RlFVRk5ha0lzVlVGRFppeFBRVUZQTEVWQlJWQnBRaXhGUVVGTk1VSXNVMEZCVlN4RlFVVmFNRUlzUlVGQlRXSXNWVUZCV1VNc1IwRkRjRUo2UkN4RlFVRlJjVVVzUlVGQlRXSXNVVUZCVVc5Q0xFMUJRVTAxUlN4SFFVTjRRbkZGTEVWQlFVMXVReXhaUVVFclFpeEpRVUZxUW14RExFVkJRVTFRTEU5QlFXTnJSaXhUUVVGVE5VTXNSVUZCVVhORExFVkJRVTl5UlN4SFFVRlBMRWRCUVZrMlJTeGpRVUZqT1VNc1JVRkJVWE5ETEVsQlJUZEhUU3hUUVVGVE5VTXNSVUZCVVhORExFVkJRVTl5UlN4SFFVRlBMRkZCUjNwQ2EwVXNTVUZEVmtjc1JVRkJUVEZDTEZOQlFWVXNSVUZEYUVKclF5eGpRVUZqT1VNc1JVRkJVWE5ETEVsQlR6RkNMRTlCUVZGQkxFVkJRVTAxUWl4UlFVRlZORUlzUlVGQlRUVkZMRTlCUVZNMFJTeEZRVUZOYWtNc1pVRkJhME1zU1VGQmFrSnBReXhGUVVGTk5VVXNVVUZIZEVVc1UwRkJVMnRHTEZOQlFWTTFReXhGUVVGUmMwTXNSVUZCVDNKRkxFVkJRVTlyUlN4SFFVTnNRMGNzUlVGQlRUZENMRk5CUVRSQ0xFbEJRV3BDTmtJc1JVRkJUVFZGTEZOQlFXbENORVVzUlVGQlRYcENMRTFCUTJoRWVVSXNSVUZCVFdZc1YwRkJZU3hGUVVOdVFuWkNMRVZCUVU4clF5eExRVUZMTEU5QlFWRTVSU3hMUVVkd1FuRkZMRVZCUVUwMVJTeFJRVUZWTkVVc1JVRkJUVzVETEZkQlFXRXNSVUZCU1d4RExFVkJRVTFRTEU5QlEzcERlVVVzUlVGQldVY3NSVUZCVFdoRExFOUJRVTlVTEZGQlFWRTFRaXhIUVVGWmNVVXNSVUZCVFdoRExFOUJRVTh3UXl4TFFVRkxMMFVzUjBGREwwUnhSU3hGUVVGTmVFSXNZMEZCWTIxRExHRkJRV0ZxUkN4SlFVZDJRemhETEdOQlFXTTVReXhGUVVGUmMwTXNSMEZIZUVJc1UwRkJVMFVzWVVGQllVWXNSVUZCVDNKRkxFZEJRek5DTEVsQlFVbHZSU3hGUVUxS0xFOUJTa3RzUlN4alFVRmpSaXhKUVVFeVFpeHBRa0ZCVmtFc1VVRkJaME5wUml4SlFVRldha1lzUjBGQmQwSnhSU3hGUVVGTmJrTXNZVUZEZEVaclF5eEZRVUZMTEVsQlFVbHdSQ3h4UWtGQmNVSXNVVUZCVXl4RFFVRkRMRk5CUVZVc1UwRkJWU3hqUVVGbGFFSXNTVUZIZEVWdlJTeEZRV3BKVkVrc1QwRkJUMVVzWlVGQlpXeEhMRk5CUVZNd1JpeFZRVUZYTEZsQlFXRXNRMEZKY2tSVExGbEJRVmtzUlVGRFdrTXNTVUZCU3l4WFFVTklMRmxCUVRSQ1NDeEpRVUY0UW1oRUxFdEJRVXQ1UWl4blFrRkpSbnBDTEV0QlFVdDVRaXhsUVVGbFRpeFhRVVUzUW1sRExFbEJRVXNzVTBGQllVTXNSMEZIV0hKRUxFdEJRVXQ1UWl4cFFrRk5WbnBDTEV0QlFVdDVRaXhsUVVGbFRpeFZRVUZaYTBNc1RVRkhjRU4wUnl4VFFVRlRNRVlzVlVGQlZWb3NVVUZCVlc1RUxGbEJRVmx0UkN4UlFVTjZRemxGTEZOQlFWTXdSaXhWUVVGVllTeFhRVUZoTlVVc1dVRkJXVFpGTEZWQlJUVkRlRWNzVTBGQlV6QkdMRlZCUVZWWUxGTkJRVmNzVTBGQlZUQkNMRVZCUVV0RExFZEJRek5EUVN4RlFVRkhSQ3hKUVU5TWVrY3NVMEZCVXpCR0xGVkJRVlZMTEV0QlFVOHNVMEZCVlM5RkxFVkJRVTk1UkN4SFFVTjZReXhKUVVOSlZTeEZRVVJCUlN4RlFVRlJjRU1zUzBGQlMzbENMR1ZCYTBKcVFpeFBRV1pMVnl4RlFVRk5ia01zVjBGWlZHbERMRWRCUVdsQ0xFVkJXRWtzYVVKQlFWWnVSU3hMUVVOVWVVUXNSVUZCVjBFc1IwRkJXVmtzUlVGQlRXaENMRzFDUVVWYVowSXNSVUZCVFZvc1YwRkRja0o2UkN4RlFVRlJUQ3hQUVVGUFRTeExRVUZMUkN4RlFVRlBlVVFzUjBGRE0wSkJMRVZCUVZjc1NVRkhZbFVzUjBGQmFVSXNSMEZOWkVZc2FVSkJRV2xDYUVNc1MwRkJUV3BETEVWQlFVOTVSQ3hIUVVGVkxFVkJRVTlWTEVsQlNYaEVia1lzVTBGQlV6QkdMRlZCUVZVNVF5eFJRVUZWTEZOQlFWVTFRaXhIUVVOeVF5eFBRVUZQYVVVc2FVSkJRV2xDYUVNc1MwRkJUV3BETEVWQlFVOHNUVUZCVFN4SFFVRk5MRWxCZVVWdVJHaENMRk5CUVZNd1JpeFZRVUZWYVVJc1UwRkJWeXhYUVVNMVFpeFBRVUYxUXl4SlFVRm9RekZFTEV0QlFVdDVRaXhsUVVGbGJFSXNVMEZKTjBKNFJDeFRRVUZUTUVZc1ZVRkJWV3RDTEZsQlFXTXNVMEZCVlVNc1IwRkRjRU55Uml4blFrRkJaVUVzWTBGQlowSnlRaXhSUVVGUkxHMUNRVUZ0UW5GQ0xHVkJReTlFTEVsQlFVbG5SQ3hGUVVGVkxFbEJRVWxvUkN4alFVRmpjVVlzUjBGRGFFTTFSQ3hMUVVGTGVVSXNaVUZCWlVZc1VVRkJWVUVzUlVGRk9VSjJRaXhMUVVGTGVVSXNaVUZCWlVRc1UwRkJWM2hDTEV0QlFVdDVRaXhsUVVGbFJpeFJRVUZSUXl4VFFVc3pSQ3hKUVVoQkxFbEJRVWx4UXl4RlFVRkpOMFFzUzBGQlMzbENMR1ZCUVdWeVFpeFBRVUZQTUVRc1MwRkRMMEpETEVWQlFWVXNSMEZGUkN4UFFVRk9SaXhIUVVOTVJTeEhRVUZYZUVNc1JVRkJVVzlDTEUxQlFVMXJRaXhGUVVGRlJ5eE5RVU16UWtnc1JVRkJTVUVzUlVGQlJVa3NTMEZQVWl4UFFVcEJha1VzUzBGQlMzbENMR1ZCUVdWeVFpeFBRVUZQT0VRc1VVRkZXQ3hMUVVGYVNDeEhRVUZuUWk5RUxFdEJRVXQ1UWl4bFFVRmxja0lzVDBGQlR6QkRMRXRCUVV0cFFpeEhRVU53UkM5RUxFdEJRVXQ1UWl4bFFVRmxha1VzVDBGQlUzVkhMRVZCUVZGMlJ5eFBRVU01UW5kRExFMUJTVlFzU1VGQlNXMUZMRkZCUVZVc1YwRkZaQ3hUUVVGVFF5eDNRa0ZCZDBKRExFZEJaMEl2UWl4UFFXWkpRU3hIUVVGTFJpeFJRVVZRUlN4RlFVRkpSaXhUUVVsS1JTeEpRVU5CUVN4SFFVRkxRU3hKUVVGTkxFVkJRMWhCTEVkQlFVdEJMRWxCUVUwc1JVRkRXRUVzUjBGQlMwRXNTVUZCVFN4RlFVTllRU3hIUVVGTFFTeEpRVUZOTEVWQlExaEJMRWRCUVV0QkxFbEJRVTBzUjBGRFdFRXNTMEZIUzBFc1JVRkxWQ3hUUVVGVFF5eGpRVUZqUkN4RlFVRkhha01zUjBGRGVFSXNUMEZCU1dsRExFZEJRVXNzUjBGQmMwSXNTVUZCYWtKcVF5eEZRVUZOTlVVc1VVRkJaMEkwUlN4RlFVRk5OVUlzVFVGQll5eEZRVU53UkRSQ0xFVkJRVTF1UXl4WFFVRnRRaXhGUVVWNlFtOUZMRWRCUVUxQkxFVkJSVXBxUXl4RlFVRk5OMElzVTBGQlZ6WkNMRVZCUVUwMVJTeFBRVUZsTkVVc1JVRkJUV2hETEU5QlFVOHdSQ3hMUVVGTFJTeExRVUZMZUVjc1QwRkJiVUkwUlN4RlFVRk5OVVVzVVVGSmVFWTJSeXhGUVVGSmFrTXNSVUZCVFdwRExHZENRVUZsYVVNc1JVRkJUV3BETEdOQlFXZENhVVVzZDBKQlFYZENReXhKUVVOMlJVRXNSMEZCUzJwRExFVkJRVTAxUlN4UFFVRmxOa2NzUlVGRmVrSnFReXhGUVVGTk5VSXNUVUZMU2pSQ0xFVkJRVTAxUlN4UlFVcFlORVVzUlVGQlRYaENMR05CUVdVc1JVRkRaQ3hKUVhOSFdDeFRRVUZUZVVJc1YwRkJWM1pETEVWQlFWRnpReXhIUVVVeFFpeEhRVVJCYUVVc1RVRkJUU3hsUVVOR1owVXNSVUZCVFRWQ0xFMUJRVllzUTBGRlFTeEhRVUZKTkVJc1JVRkJUV0lzVVVGQlV5eERRVU5xUWl4SlFVRkplRVFzUlVGQlVYRkZMRVZCUVUxaUxGRkJRVkZuUkN4TlFVVjBRbmhITEVkQlFWTkJMRVZCUVUxUUxGTkJRMnBDTkVVc1JVRkJUV2hETEU5QlFVOHdReXhMUVVGTEwwVXNSMEZEYkVKeFJTeEZRVUZOTlVVc1VVRkJWVFJGTEVWQlFVMXVReXhYUVVGaExFVkJRVWxzUXl4RlFVRk5VQ3hSUVVscVJEUkZMRVZCUVUwMVFpeFBRVUZSTEVWQlJWWTBRaXhGUVVGTmVrSXNTMEZKVW05RExHRkJRV0ZxUkN4SlFVZGljME1zUlVGQlRYaENMR05CUVdVc1JVRkZhRUozUWl4RlFVRk5ka0lzYTBKQlExUjFRaXhGUVVGTmRrSXNhVUpCUVd0Q0xFVkJRM2hDTWtRc1kwRkJZekZGTEUxQlVYQkNMRk5CUVZOcFJDeGhRVUZoYWtRc1IwRkRjRUlzU1VGQlNYTkRMRVZCUVZGMFF5eEZRVUZQTWtJc1pVRkRia0p5UkN4TlFVRk5MR1ZCUVdkQ1owVXNSVUZCVFhoQ0xHRkJRV04zUWl4RlFVRk5ka0lzYVVKQlEyaEVkVUlzUlVGQlRYaENMR05CUVdVc1JVRkZhRUozUWl4RlFVRk5ka0lzYTBKQlExUjZReXhOUVVGTkxHVkJRV2RDWjBVc1JVRkJUVGRDTEZOQlF6VkNOa0lzUlVGQlRYWkNMR2xDUVVGclFpeEZRVU40UWpSRUxGRkJRVkZETEZOQlFWTkdMR05CUVdVeFJTeEpRVWx3UXl4VFFVRlRNRVVzWTBGQll6RkZMRWRCUTNKQ0xFbEJRVWx6UXl4RlFVRlJkRU1zUlVGQlR6SkNMR1ZCUTI1Q2NrUXNUVUZCVFN4blFrRkJhVUpuUlN4RlFVRk5ha0lzVlVGQlYybENMRVZCUVUwMVJTeFBRVUZSTkVVc1JVRkJUVFZDTEU5QlJYWkVORUlzUlVGQlRXcENMRmxCUVdOcFFpeEZRVUZOTlVVc1UwRkJWVFJGTEVWQlFVMDFRaXhSUVVNM1ExWXNSVUZCVHl0RExFdEJRVXNzV1VGRFdsUXNSVUZCVFhaQ0xHbENRVUZyUWl4SFFWTXhRblZDTEVWQlFVMTRRaXhqUVVGblFuZENMRVZCUVUwM1FpeFZRVUZaTmtJc1JVRkJUVFZDTEU5QlFWTTBRaXhGUVVGTk5VVXNVVUZCVlRSRkxFVkJRVTFxUXl4alFVTTNSWGRGTEV0QlFVczNSU3hIUVZOUUxGTkJRVk00UXl4alFVRmpPVU1zUlVGQlVYTkRMRWRCUTNoQ1FTeEZRVUZOWkN4alFVTlVZeXhGUVVGTlpDeGhRVUZqTEVWQlEzQkNiVVFzVVVGQlVVTXNVMEZCVTBVc1pVRkJaMEk1UlN4RlFVRlJjME1zU1VGSk4wTXNVMEZCVTNkRExHVkJRV1U1UlN4RlFVRlJjME1zUjBGM1FqbENMRTFCUVZGQkxFVkJRVTB4UWl4VlFVRlpNRUlzUlVGQlRUVkNMRkZCUVZVMFFpeEZRVUZOTlVVc1QwRkJVelJGTEVWQlFVMXFReXhsUVVGcFFtbERMRVZCUVUwM1FpeFRRVUUwUWl4SlFVRnFRalpDTEVWQlFVMDFSU3hUUVVGbExFTkJRM0JJTEVsQlFVbHhTQ3hGUVVGTmVrTXNSVUZCVFRWRkxFOUJSMmhDTEVkQlJrRlpMRTFCUVUwc2QwSkJRMDR3UWl4RlFVRlBOa0lzUzBGQlN5eEhRVU5TYTBRc1NVRkJVWHBETEVWQlFVMDFSU3hQUVVOb1FpeE5RVWRLTkVVc1JVRkJUV1FzWVVGQll5eEZRV2RLZEVJc1UwRkJVM2RFTEZsQlFWbERMRWRCUTI1Q0xFOUJRVThzVjBGRFRDeEpRVUZKTTBNc1JVRkJVVEpETEVWQlFVbDBSQ3hsUVVOb1FuSkVMRTFCUVUwc1kwRkJaV2RGTEVWQlFVMW1MRmxCUTNaQ1pTeEZRVUZOWml4WlFVRlpaU3hGUVVGTlppeGhRVVZJTEVsQlFYSkNaU3hGUVVGTlppeFpRVUZ2UW1wRkxHZENRVUZuUWpKSUxFVkJRVXNzVlVGRGFrUXpReXhGUVVGTk4wSXNVMEZCVlN4RlFVTm9RbTlGTEV0QlFVdEpMRXRCY1VoWUxGTkJRVk5ETEhkQ1FVRjNRa01zUjBGREwwSXNTVUZCU1RkRExFVkJRVkUyUXl4RlFVRkxlRVFzWlVGRGFrSlhMRVZCUVUxMFFpeHJRa0ZCYjBKdFJTeEZRVUZMUXl4alFVRmpMRmxCUVdNc1JVRkZka1E1UXl4RlFVRk5ja0lzYTBKQlFXOUNjVUlzUlVGQlRYQkNMRTlCUjJ4RGIwSXNSVUZCVFRkQ0xGTkJRVlVzUlVGRFVEQkZMRVZCUVV0RExHTkJRV01zVVVGQlZTeEhRVU4wUTBRc1JVRkJTMFVzVTBGSlZDeFRRVUZUUXl4cFFrRkJhVUpJTEVkQlEzaENOMGNzVFVGQlRTdzBRa0ZEVGpaSExFVkJRVXQwUkN4TFFVRkxMRWRCY1VKYUxGTkJRVk4zUkN4UFFVRlBja1lzUlVGQlVYTkRMRWRCUTJwQ1FTeEZRVUZOY2tJc2EwSkJRMVJ4UWl4RlFVRk5ja0lzYVVKQlFXdENMRVZCUTNoQ01FUXNVVUZCVVVNc1UwRkJVMWNzVVVGQlUzWkdMRVZCUVZGelF5eEpRVWwwUXl4VFFVRlRhVVFzVVVGQlVYWkdMRVZCUVZGelF5eEhRVU4yUW1oRkxFMUJRVTBzVTBGQlZXZEZMRVZCUVUweFFpeFRRVVZxUWpCQ0xFVkJRVTB4UWl4VFFVTlVXaXhGUVVGUE5rSXNTMEZCU3l4SFFVZGtVeXhGUVVGTmNrSXNhVUpCUVd0Q0xFVkJRM2hDYWtJc1JVRkJUeXRETEV0QlFVc3NWVUZEV2poQ0xFdEJRVXMzUlN4SFFVTkVjME1zUlVGQlRUZENMRlZCUVZrMlFpeEZRVUZOTVVJc1UwRkJVMW9zUlVGQlR6WkNMRXRCUVVzc1IwRm5RbTVFTEZOQlFWTm5SQ3hMUVVGTE4wVXNSMEZEV2l4SlFVRkpjME1zUlVGQlVYUkRMRVZCUVU4eVFpeGxRVWR1UWl4SlFVWkJja1FzVFVGQlRTeFBRVUZSWjBVc1JVRkJUVGRDTEZOQlJXSTJRaXhGUVVGTk4wSXNVMEZCTmtJc1QwRkJiRUpVTEVWQlFVODJRaXhWUVRSSWFrTXNVMEZCVXpKRUxGTkJRVk5xUWl4RlFVRkhha01zUjBGRmJrSXNUMEZCY1VJc1NVRkJha0pCTEVWQlFVMDFSU3hQUVVGeFFpeE5RVVV6UWpSRkxFVkJRVTF1UXl4WFFVRlpjMFlzUlVGQlRXNUVMRVZCUVUxb1F5eFBRVUZQYjBZc1UwRkJhMEp1UWl4SFFVRkxRU3hIUVVGTGFrTXNSVUZCVFRWRkxGRkJSWFJFSzBnc1JVRkJabTVFTEVWQlFVMWlMRkZCUVdWaExFVkJRVTFvUXl4UFFVRlBjVVlzUzBGQlN5eEpRVUZ4UXl4SlFVRjRRbkpFTEVWQlFVMW9ReXhQUVVGUE5VTXNUMEZCYjBJMFJTeEZRVUZOYUVNc1QwRkJUM05HTEZGQlFXMUNkRVFzUlVGQlRXaERMRTlCUVU5MVJpeFBRVUZQZGtRc1JVRkJUVFZGTEZGQlEyNUtORVVzUlVGQlRXaERMRTlCUVU4NFJDeFRRVWRpY1VJc1JVRkJUVzVFTEVWQlFVMW9ReXhQUVVGUGQwWXNVVUZCVVhaQ0xFVkJRVWRxUXl4RlFVRk5ZaXhUUVVVdlFtZEZMRWRCVkZBc1NVRkJTVUVzUlVGWlRpeFRRVUZUVFN4WlFVRlpMMFlzUjBGRGJrSXNTVUZCU1hORExFVkJRVkYwUXl4RlFVRlBNa0lzWlVGRGJrSnlSQ3hOUVVGTkxHTkJRV1ZuUlN4RlFVRk5NMElzV1VGRmRFSXlRaXhGUVVGTk0wSXNZVUZEVkRKQ0xFVkJRVTAxUWl4UFFVRlJMRVZCUTJScFJTeFJRVUZSUXl4VFFVRlRiMElzWTBGQlpURkVMRVZCUVU5MFF5eEpRVWt6UXl4VFFVRlRaMGNzWTBGQll6RkVMRVZCUVU5MFF5eEhRVWMxUWl4SFFVWkJNVUlzVFVGQlRTeG5Ra0ZCYVVKblJTeEZRVUZOTTBJc1YwRkJXVEpDTEVWQlFVMDFSU3hUUVVVeFF6UkZMRVZCUVUwelFpeFpRVUVyUWl4SlFVRnFRakpDTEVWQlFVMDFSU3hUUVVNM1FqUkZMRVZCUVUwelFpeFpRVUZoTEVWQlEyNUNXQ3hGUVVGUE5FSXNWVUZCVnl4RlFVTnNRalZDTEVWQlFVOHJReXhMUVVGTExFOUJSVkpVTEVWQlFVMXNRaXhoUVVGaExFTkJSM0pDTEVsQlFVazJSU3hGUVVGVGFrY3NSVUZCVDJ0SExHbENRVVZtUkN4SFFVRlZRU3hGUVVGUE4wVXNZVUZCWlRaRkxFVkJRVTlGTEZkQlF6RkRia2NzUlVGQlR5dENMRmRCWjBKbUxGTkJRVk54UlN4UlFVRlJReXhGUVVGSlF5eEhRVU51UWl4SlFVRkxMRWxCUVVsRExFVkJRVWtzUlVGQlIwTXNSVUZCU1Vnc1JVRkJSek5KTEU5QlFWRTJTU3hGUVVGSlF5eEZRVUZIUkN4SlFVTndReXhIUVVGSlJpeEZRVUZIUlN4TFFVRlBSQ3hGUVVGSExFOUJRVTlETEVWQlJ6RkNMRTlCUVZFc1JVRXpkRUpXZEVvc1UwRkJVekJHTEZWQlFWVmtMRXRCUVU4c1UwRkJWVEJETEVkQlEyeERha2NzVFVGQlRTeFBRVUZSYVVjc1IwRkRaRUVzUlVGQlNXdERMRk5CUVZOc1F5eEZRVUZITEVsQlEyaENMRWxCUVVscVF5eEZRVUZSY0VNc1MwRkJTM2xDTEdWQlEySXJSU3hGUVVGUmJrTXNSVUZMV2l4SFFVcFZMRWxCUVU1QkxFbEJRVk5xUXl4RlFVRk5ka0lzYVVKQlFXdENMRWRCU1ROQ0xFbEJRVTUzUkN4SFFVRlhha01zUlVGQlRYaENMR2RDUVVFd1F5eEpRVUY0UW5kQ0xFVkJRVTFxUXl4alFVRnpRbWxETEVWQlFVMDFSU3hSUVVGVk5FVXNSVUZCVFdwRExHTkJRV2RDYVVNc1JVRkJUVFZGTEU5QlFWTXNTVUZCVFRSRkxFVkJRVTAxUWl4UFFVZHNTU3hQUVVaQmNFTXNUVUZCVFN4eFFrRkJjMEpuUlN4RlFVRk5OVVVzVDBGQlVUUkZMRVZCUVUwMVFpeFBRVU16UWl4SlFVRnFRalJDTEVWQlFVMDFSU3hSUVVGblFqUkZMRVZCUVUwMVFpeE5RVUZQY1VZc1dVRkJXVGRHTEUxQlFWY3JReXhoUVVGaEwwTXNUVUZEY0VVc1MwRkxWQ3hIUVVGVkxFdEJSbFp4UlN4RlFVRkpReXhqUVVGalJDeEZRVUZIYWtNc1MwRkZUa0VzUlVGQlRUVkNMRTFCUlc1Q0xFOUJSSEZDTEVsQlFXcENORUlzUlVGQlRUVkZMRkZCUVdOeFNTeFpRVUZaTjBZc1RVRkROMElzUzBGNVFsUXNTVUUwUWtsMVJpeEZRVFZDUVd0Q0xFVkJRVk55UlN4RlFVRk5lRUlzWVVGblJHNUNMRTlCTDBOQmVFTXNUVUZCVFN4blFrRkJhVUp4U1N4SlFVVkdMRWxCUVdwQ2NrVXNSVUZCVFRWRkxGRkJRV2RDTkVVc1JVRkJUVFZGTEU5QlFWTTJSeXhGUVVGSmFrTXNSVUZCVFdwRExHZENRVVZxUkM5Q0xFMUJRVTBzTmtKQlJFNXhTU3hIUVVGVExFZEJUVkJ5UlN4RlFVRk5OVUlzVDBGQlV6UkNMRVZCUVUweFFpeFJRVVYyUW5SRExFMUJRVTBzYlVKQlJFNXhTU3hIUVVGVExFZEJSVUZCTEVsQlExUnlTU3hOUVVGTkxGZEJRMDVuUlN4RlFVRk5NVUlzVTBGQlZTeEZRVU5vUWpCQ0xFVkJRVTE2UWl4TlFVRlBMRVZCUlZFc1NVRkJha0o1UWl4RlFVRk5OVVVzVTBGQll6UkZMRVZCUVUxNFFpeGpRVUZsTEVkQlJUZERXaXhMUVVGTE5FSXNUVUZCVFZFc1JVRkJUV3BETEdWQlJXcENhVU1zUlVGQlRYcENMRTFCUVU4c1JVRkhVbmxDTEVWQlFVMHhRaXhWUVVGVE1rUXNSVUZCU1VNc1kwRkJZMnRETEVWQlFVOXdSU3hMUVUxdVF5eFJRVVpFYlVRc1JVRkJVR3hDTEVWQlFVa3NSVUZCVTJsQ0xGTkJRVk5xUWl4RlFVRkhha01zUjBGQmEwSXNUMEZITjBOQkxFVkJRVTE0UWl4aFFVRmxkMElzUlVGQlRUVkZMRkZCUVZVMFJTeEZRVUZOYWtNc1kwRkRNME5yUlN4RlFVRkpMRWxCUlVwcVF5eEZRVUZOTlVVc1VVRkJWVFpITEVWQlEyaENha01zUlVGQlRXWXNWMEZCWVN4SFFVZEJMRWxCUVdwQ1pTeEZRVUZOTlVVc1UwRkhTRFJGTEVWQlFVMDFRaXhSUVVGUE5FSXNSVUZCVFhoQ0xHTkJRV1VzUjBGRmJrTTBSaXhKUVVGVmJrTXNSMEZCUzJwRExFVkJRVTAxUWl4UFFVRlBjVVlzV1VGQldUZEdMRTlCUjJ4RExFOUJRVkoxUml4SFFVRmpka1lzUzBGQlN6WkRMRXRCUVVzc1QwRkJVVEJETEVkQlF6ZENRU3hIUVhkSVZIaEpMRk5CUVZNd1JpeFZRVUZWWWl4TlFVRlJMRk5CUVZWNVF5eEhRVU51UTJ4R0xHVkJRV1ZoTEV0QlFVMHNTVUZCU1dZc01rSkJRVEpDTEdGQlIzUkViRU1zVTBGQlV6QkdMRlZCUVZWcFJTeExRVUZQTEZOQlFWVkRMRVZCUVUxRExFZEJRM2hETEVsQlFVazNRaXhGUVVGTkwwVXNTMEZEVG05RExFVkJRVkZ3UXl4TFFVRkxlVUlzWlVGRmFrSXNUMEZCVVZjc1JVRkJUVGxDTEZsQlExb3NTMEZCU3l4RlFVTklPRUlzUlVGQlRTOUNMRTFCUVZGelJ5eEZRVU5rTEUxQlJVWXNTMEZCU3l4RlFVTklka1VzUlVGQlRTOUNMRTFCUVZFc1EwRkJReXRDTEVWQlFVMHZRaXhOUVVGUGMwY3NSMEZETlVJc1RVRkZSaXhSUVVORmRrVXNSVUZCVFM5Q0xFMUJRVTE1UXl4TFFVRkxOa1FzUjBGSmNrSjJSU3hGUVVGTk9VSXNXVUZCWXl4RlFVTndRbXhETEUxQlFVMHNkMEpCUVhsQ1owVXNSVUZCVFRsQ0xGZEJRVmx6Unl4SFFVTnFSQ3hKUVVOSlF5eEpRVVJWUkN4SlFVRTJRaXhKUVVGcVFrRXNSVUZCVTNKRExFMUJRV3RDYjBNc1NVRkJVMnhETEZGQlFWRnhReXhSUVVGVlNDeEpRVUZUYkVNc1VVRkJVWE5ETEU5QlF6ZEZReXhGUVVGUlF5eEZRVWsxUWl4VFFVRlRReXhGUVVGVGVFWXNSVUZCVlhsR0xFZEJRekZDTDBrc1RVRkJUU3haUVVWR2MwUXNTVUZCWVhGRUxFZEJRMWh2UXl4SlFVRjNReXhKUVVFeFFrRXNSVUZCVjBNc1lVRkRNMEpFTEVWQlFWZERMRmxCUVdFc1JVRnZRalZDYUVvc1RVRkJUU3hYUVVWT2RVa3NSVUZCUzFVc1pVRkJaU3hSUVVGVFF5eEhRVU0zUWxnc1JVRkJTMVVzWlVGQlpTeFRRVUZWUlN4SFFVTTVRbG9zUlVGQlMxVXNaVUZCWlN4UlFVRlRSeXhIUVVNM1FtSXNSVUZCUzFVc1pVRkJaU3hSUVVGVFNTeEhRVU0zUW1Rc1JVRkJTMVVzWlVGQlpTeFRRVUZWU0N4SFFVTTVRbTVETEVWQlFVbHpReXhsUVVGbExFMUJRVTlNTEVkQlF6RkNha01zUlVGQlNYTkRMR1ZCUVdVc1RVRkJUMG9zUjBGRE1VSnNReXhGUVVGSmMwTXNaVUZCWlN4UFFVRlJTeXhIUVVNelFrTXNSMEZCV1N4SFFVMVNka1lzUlVGQlRXWXNXVUZCWjBKelJpeEZRVUZMV0N4cFFrRkJhMEpYTEVWQlFVdFlMR1ZCUVdVMFFpeFhRVUZaU2l4TFFUbENia1lzVTBGQlUxSXNTVUZEVURWSkxFMUJRVTBzVTBGRFRuVkpMRVZCUVV0d1F5eE5RV2hDU0c1RExFVkJRVTB6UWl4WFFVRlpaMFVzVVVGQlVVTXNVMEZCVTIxRExFZEJRVms1UWl4RlFVRkpPRU1zUzBGQlN5eE5RVUZQYUVJc1IwRkRia1ZHTEVWQlFVc3ZSeXhIUVVGSExGTkJRVlZ6U0N4SFFYTkNiRUlzU1VGQlNVMHNSVUZCVlRGRExGbEJRVmxETEVkQlF6RkNORUlzUlVGQlN5OUhMRWRCUVVjc1VVRkJVelJJTEVkQlEycENMRWxCUVVsSExFZEJRVmtzUlVGM1FtaENMRk5CUVZORUxFVkJRVTh6U2l4SFFVTmtTeXhOUVVGTkxGVkJRMDRzU1VGQlNXMUlMRVZCUVUxdlFpeEZRVUZMYUVVc1RVRkJUVFZGTEVkQlEzSkNTeXhOUVVGTkxHRkJRV050U0N4SlFVVlNMRWxCUVZKQkxFdEJTM2RDTEVsQlFYSkNia1FzUlVGQlRUbENMRmxCUVc5Q09FSXNSVUZCVFM5Q0xGRkJRVlZ6Unl4SFFVRlJka1VzUlVGQlRUbENMRmRCUVdFc1NVRkJjVU1zU1VGQmFFTTBSaXhSUVVGUk9VUXNSVUZCVFM5Q0xFMUJRVTl6Unl4TlFVRnJRbWRDTEVsQlEzQklka29zVFVGQlRTdzRRa0ZCSzBKblJTeEZRVUZOWml4WlFVTXpRMlVzUlVGQlRXWXNZMEZIVWpCRUxFVkJRVWtyUXl4VFFVMVNMRk5CUVZOTUxFVkJRVkYwUml4SFFVTm1MMFFzVFVGQlRTeFZRVUZYSzBRc1IwRkRha0k0UlN4SlFVTkJUaXhGUVVGTFZTeGxRVUZsTEZGQlFWTkpMRWRCUTFVc1NVRkJia055U3l4blFrRkJaMEoxU2l4RlFVRk5MRlZCUVdkQ2VFZ3NaVUZCWlhkSUxFVkJRVTE0UlN4SFFVMXFSU3hUUVVGVGJVWXNTVUZEVUZnc1JVRkJTMVVzWlVGQlpTeFRRVUZWUlN4SFFVTTVRazRzU1VGTFJpeFRRVUZUVFN4SlFVTlFia29zVFVGQlRTeFpRVU5PZFVrc1JVRkJTMVVzWlVGQlpTeFJRVUZUUXl4SFFVTTNRa3dzU1VGTFJpeFRRVUZUUVN4SlFVTlFOMGtzVFVGQlRTeFZRVU5PTWtjc1JVRkJTV3RETEU5QlFVOU9MRWRCVjJJc1QwRTNSRUUxUWl4RlFVRkpia1lzUjBGQlJ5eFBRVUZST0Vnc1IwRXJRbVp5U1N4blFrRkJaMEp6U0N4RlFVRk5MRkZCUVZOakxFZEJUeTlDWkN4RlFVRkxhMElzUzBGQlN5eFJRVUZUVUN4SFFWRnVRbGdzUlVGQlMydENMRXRCUVVzc1UwRkJWVTRzUjBGUmNFSmFMRVZCUVVzNVJDeExRVUZMTEU5QlFWRnJReXhIUVVWaU0wTXNSVUZCVFRkQ0xGVkJRMVJ1UXl4TlFVRk5MR1ZCUTA0eVJ5eEZRVUZKU1N4VlFVZERkMElzUjBGblFsUTFTaXhUUVVGVE1FWXNWVUZCVlhkRkxFOUJRVk1zVTBGQlZVNHNSMEZEY0VNc1NVRkJTWFpGTEVWQlFWRndReXhMUVVGTGVVSXNaVUZEWWpCR0xFVkJRV0VzUTBGRFprTXNXVUZCV1N4SFFVZGtMRWRCUVhsQ0xFbEJRWEpDYUVZc1JVRkJUVGxDTEZkQlFXdENMRTlCUVU5T0xFdEJSVzVETEVkQlFYbENMRWxCUVhKQ2IwTXNSVUZCVFRsQ0xGZEJSVklzVDBGQlNYRkhMRWRCUVZGQkxFbEJRVk4yUlN4RlFVRk5MMElzVFVGQlkwd3NUVUZEY0VNeVJ5eEpRVUZOUVN4RlFVRlBka1VzUlVGQlRTOUNMRTlCUlhoQ0swSXNSVUZCVFM5Q0xFMUJRVkVzUzBGRFpDdENMRVZCUVUwNVFpeFhRVUZoTEVWQlEyNUNPRUlzUlVGQlRUZENMRk5CUVZVc1JVRkRXbTlITEVkQlFVMUJMRVZCUVVzNVJDeExRVUZMTEZOQlFWVTNReXhMUVVGTmJVZ3NSMEZETjBKdVNDeE5RVWxVTEVsQlFVc3lSeXhGUVVGTkxFTkJSVlFzU1VGQlNXOUNMRVZCUVZFelJpeEZRVUZOTDBJc1RVRkRaSGRGTEVWQlFVMTZReXhGUVVGTk9VSXNWMEZEYUVJNFFpeEZRVUZOTDBJc1RVRkJVU3hMUVVOa0swSXNSVUZCVFRsQ0xGZEJRV0VzUlVGRGJrSTRRaXhGUVVGTk4wSXNVMEZCVlN4RlFVVm9RaXhKUVVGTExFbEJRVWs0Uml4RlFVRkpMRVZCUVVkQkxFVkJRVWw0UWl4RlFVRkxkMElzU1VGRGRrSXdRaXhGUVVGTk1VSXNSMEZCUjNoRUxFdEJRVXNzVTBGQlZUZERMRXRCUVUwc1EwRkROVUp2U0N4WlFVRlpMRWxCU1doQ0xFOUJRVTl3U0N4TFFVbFVMRWxCUVVsblNTeEZRVUZST1VJc1VVRkJVVGxFTEVWQlFVMHZRaXhOUVVGUGMwY3NSMEZEYWtNc1QwRkJaU3hKUVVGWWNVSXNSVUZCY1VKb1NTeE5RVU42UW05RExFVkJRVTB2UWl4TlFVRk5ORWdzVDBGQlQwUXNSVUZCVHl4SFFVTXhRalZHTEVWQlFVMDVRaXhaUVVGakxFVkJRMHNzU1VGQmNrSTRRaXhGUVVGTk9VSXNZVUZCYTBJNFFpeEZRVUZOTDBJc1RVRkJVU3RDTEVWQlFVMHZRaXhOUVVGTkxFbEJRM1JFYzBjc1JVRkJTemxFTEV0QlFVc3NVMEZCVlRkRExFdEJRVTF0U0N4SFFVTnVRbTVJTEU5QlMxUnFSQ3hUUVVGVE1FWXNWVUZCVlRkRExFZEJRVXNzVTBGQlZYTkpMRVZCUVVrelNTeEhRVU53UXl4SlFVRkpORWtzUlVGQlRURkxMRTlCUVU5blJpeFZRVUZWTjBNc1IwRkJSMjFETEV0QlFVc3ZRaXhMUVVGTmEwa3NSVUZCU1ROSkxFZEJRM3BETmtNc1JVRkJVWEJETEV0QlFVdDVRaXhsUVhWQ2FrSXNUVUZ5UWxjc1UwRkJVSGxITEVkQlIwWTVSaXhGUVVGTmRFSXNhMEpCUVc5Q1pDeExRVUZMYTBZc1kwRkJZeXhaUVVGakxFZEJSWEpETEVsQlFXeENPVU1zUlVGQlRUZENMRk5CUVcxQ1VDeExRVUZMYlVZc1ZVRkRiRUlzWVVGQlVDdERMRWxCUTBvNVJpeEZRVUZOTTBJc1dVRkJaVEpDTEVWQlFVMTBRaXh2UWtGRE9VSnpRaXhGUVVGTmRFSXNhMEpCUVc5Q2MwSXNSVUZCVFhoQ0xHTkJRV1VzUlVGREwwTjNRaXhGUVVGTk4wSXNVMEZCVlN4RlFVTm9RalpDTEVWQlFVMTJRaXhwUWtGQmEwSXNSVUZEZUVKNlF5eE5RVUZOTEdOQlFXVm5SU3hGUVVGTk5VVXNUMEZCVVRSRkxFVkJRVTB4UWl4VFFVVnlRekJDTEVWQlFVMDFSU3hQUVVOU2RVWXNZVUZCWVM5RExFMUJRMGh2UXl4RlFVRk5NVUlzVTBGRGFFSXJSQ3hSUVVGUlF5eFRRVUZUVlN4cFFrRkJhMEp3Uml4UlFVdHNRMjFKTEVkQlIxUndUQ3hUUVVGVE1FWXNWVUZCVlRKR0xGbEJRV055VEN4VFFVRlRNRVlzVlVGQlZUZERMRWRCUlhCRU4wTXNVMEZCVXpCR0xGVkJRVlUwUlN4bFFVRnBRaXhUUVVGVllTeEZRVUZKTTBrc1IwRkRhRVFzU1VGQlNUUkpMRVZCUVUweFN5eFBRVUZQWjBZc1ZVRkJWVFJGTEdWQlFXVjBSaXhMUVVGTEwwSXNTMEZCVFd0SkxFVkJRVWt6U1N4SFFWbDZSQ3hOUVZaWExHRkJRVkF5U1N4SFFVOUdla1FzVVVGQlVVTXNVMEZCVTAwc2QwSkJRWGxDYUVZc1RVRkhja050U1N4SFFVZFVjRXdzVTBGQlV6QkdMRlZCUVZVMFJpeHRRa0ZCY1VJc1UwRkJWVWdzUjBGRGFFUXNTVUZCU1VNc1JVRkJUVEZMTEU5QlFVOW5SaXhWUVVGVk5FWXNiVUpCUVcxQ1F5eE5RVUZOZEVrc1MwRkJUWFZKTEZkQldURkVMRTFCVmxjc1lVRkJVRXdzVVVGQk5FSnNSaXhKUVVGUWEwWXNSMEZQZGtKNlJDeFJRVUZSUXl4VFFVRlRUU3gzUWtGQmVVSm9SaXhOUVVkeVEyMUpMRWRCZFVKVWNFd3NVMEZCVXpCR0xGVkJRVlV3UXl4UFFVRlRMRmRCUXpGQ0xFbEJRVWt2UXl4RlFVRlJjRU1zUzBGQlMzbENMR1ZCV1dwQ0xFOUJWa3RYTEVWQlFVMDNRaXhWUVVOVWJrTXNUVUZCVFN4VlFVbE9aMFVzUlVGQlRUZENMRk5CUVZjMlFpeEZRVUZOZEVJc2EwSkJRM1pDY1VVc1QwRkJUMjVHTEV0QlFVMXZReXhKUVVkbVFTeEZRVUZOY0VJc1VVRkJVeXhGUVVOU2FFSXNUVUYxUWxScVJDeFRRVUZUTUVZc1ZVRkJWWEZHTEUxQlFWRXNWMEZWZWtJc1QwRlVRVEZLTEUxQlFVMHNkMEpCUVhsQ05FSXNTMEZCUzNsQ0xHVkJRV1ZzUWl4VlFVVm1MRWxCUVdoRFVDeExRVUZMZVVJc1pVRkJaV3hDTEZWQlEzUkNia01zVFVGQlRTeFRRVU5PTkVJc1MwRkJTM2xDTEdWQlFXVnNRaXhUUVVGVkxFVkJRemxDVUN4TFFVRkxOa01zUzBGQlN5eFZRVWRhTjBNc1MwRkJTM2xDTEdWQlFXVlVMRkZCUVZNc1JVRkRkRUpvUWl4TlFXVlVha1FzVTBGQlV6QkdMRlZCUVZVclJpeExRVUZQTEZOQlFWVXhTU3hIUVVOc1F5eEpRVUZKTWtrc1JVRkJVWHBKTEV0QlJWSnZReXhGUVVGUmNFTXNTMEZCUzNsQ0xHVkJRMkpVTEVkQlFWTXNSVUV3UW1Jc1NVRkJTeXhKUVVGSmNVWXNTMEY2UWxSMlJ5eEZRVUZQUml4SFFVRkhMRTFCUVU4c1YwRkhaaXhIUVVaQmVFSXNUVUZCVFN4bFFVVkdaMFVzUlVGQlRXSXNWVUZCV1dFc1JVRkJUVFZDTEUxQlFVOHNRMEZEYWtNc1NVRkJTWHBETEVWQlFWRnhSU3hGUVVGTllpeFJRVUZSWjBRc1RVRkRkRUo0Unl4SFFVRlRRU3hGUVVGTlVDeFJRVUZSYVV3c1JVRkJUVE5HTEV0QlFVc3ZSU3hIUVVkNFF6QkxMRVZCUVUwelJpeExRVUZMTEZGQlJXSm9SQ3hGUVVGUFJpeEhRVUZITEU5QlFWRXNVMEZCVlRkQ0xFbEJRekZDU3l4TlFVRk5MR2RDUVVOR1owVXNSVUZCVFdJc1ZVRkJVM2hFTEVWQlFWRnhSU3hGUVVGTllpeFJRVUZSYjBJc1RVRkJUVFZGTEVsQlJUTkRjVVVzUlVGQlRXNURMRmxCUVdNc1RVRkJRMnhETEV0QlFYbEVjVVVzUlVGQlRXNURMRmxCUVdkQ2JFTXNSMEZCVlVFc1JVRkJUVkFzVlVGRk9VZHBUQ3hGUVVGTk0wWXNTMEZCU3k5RkxFdEJSMjVDYVVRc1IwRkJVeXhGUVVOVWJFSXNSVUZCVDJkSkxGbEJTMGRvU1N4UFFVTkphMFFzU1VGQldtaEVMRXRCUVV0eFJ5eEpRVUY1UXl4dFFrRkJaSFpITEVWQlFVOTFSeXhMUVVONlEzSkhMRXRCUVV0eFJ5eEhRVUZMTEZOQlFXOUNjVU1zUjBGRE5VSXNUMEZCVHl4WFFVTk1MRTlCUVU4MVNTeEZRVUZQTkVrc1IwRkJVVW9zVFVGQlRYaEpMRVZCUVZGNVNTeFpRVVk1UWl4RFFVbFNiRU1zU1VGTFRpeEpRVUZMTEVsQlFVbG9ReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHFSaXhoUVVGaE5VSXNUMEZCVVRaSExFbEJRM1pEZGtVc1JVRkJUMFlzUjBGQlIxSXNZVUZCWVdsR0xFZEJRVWx5UlN4TFFVRkxOa01zUzBGQlN6aEdMRXRCUVVzelNTeExRVUZOV2l4aFFVRmhhVVlzUzBGakwwUXNUMEZVUVhKRkxFdEJRVXMwUWl4TlFVRlJMRk5CUVZWNVF5eEhRVU55UW1wSExFMUJRVTBzWjBKQlFXbENhVWNzUjBGRmJrSnlSQ3hKUVVOR1FTeEhRVUZUTEVWQlExUnNRaXhGUVVGUGNVWXNWMEZKU201R0xFMUJSMkVzYlVKQlFWZzBTU3hUUVVOVU4wd3NVMEZCVXpCR0xGVkJRVlZ0Unl4UFFVRlBReXhsUVVGcFFpeFhRVXQ2UXl4WlFVb3dRemRHTEVsQlFYUkRlRVVzYjBOQlEwWkJMR3REUVVGdlEzUkNMRkZCUVZFc2MwTkJSM1pEYzBJc2EwTkJRV3REZDBJc1VVRkpOME4xUXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzZDBKQlFYbENMRU5CU1dwRlV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHVkJRV1YwUWl4cFFrRkhMMEp2UXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzYVVKQlFXdENMRU5CU1RGRVV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHZENRVUZyUW5wQ0xFdEJRVXQ1UWl4bFFVRmxja0lzVlVGSGRFUnRReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhMEpCUVcxQ0xFTkJTVE5FVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVnNRaXhUUVVVM1FqWkRMRWxCUVVzc1UwRkJZV2hDTEVkQlExcHdReXhMUVVGTGVVSXNhVUpCUTFCNlFpeExRVUZMZVVJc1pVRkJaV3hDTEZGQlFWVTJRaXhOUVV0d1EzSkdMRk5CUVZNclRDeFZRVUZaZUVRc1UwRkRja0l2UXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzYVVKQlFXdENMRU5CU1RGRVV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHVkJRV1ZxUlN4VlFXOUVWQ3h0UWtGQldHOU1MRk5CUTFRM1RDeFRRVUZUYVVJc1MwRkJUeXhUUVVGVkswc3NSVUZCVlVNc1IwRkxiRU1zV1VGS1lXaEhMRWxCUVZSb1JpeFBRVU5HUVN4TFFVRlBaQ3hSUVVGUkxEUkNRVWRXWXl4TFFVRkxha0lzVTBGQlZXZE5MRVZCUVZWRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOXlaV0ZrWVdKc1pTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9VHJhbnNmb3JtO3ZhciBfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9NVUxUSVBMRV9DQUxMQkFDSz1fcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORz1fcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMD1fcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAsRHVwbGV4PXJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpO2Z1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKHIsZSl7dmFyIHQ9dGhpcy5fdHJhbnNmb3JtU3RhdGU7dC50cmFuc2Zvcm1pbmc9ITE7dmFyIG49dC53cml0ZWNiO2lmKG51bGw9PT1uKXJldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0spO3Qud3JpdGVjaHVuaz1udWxsLHQud3JpdGVjYj1udWxsLG51bGwhPWUmJnRoaXMucHVzaChlKSxuKHIpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIFRyYW5zZm9ybShyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKXJldHVybiBuZXcgVHJhbnNmb3JtKHIpO0R1cGxleC5jYWxsKHRoaXMsciksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxyJiYoXCJmdW5jdGlvblwiPT10eXBlb2Ygci50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09ci50cmFuc2Zvcm0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIHIuZmx1c2gmJih0aGlzLl9mbHVzaD1yLmZsdXNoKSksdGhpcy5vbihcInByZWZpbmlzaFwiLHByZWZpbmlzaCl9ZnVuY3Rpb24gcHJlZmluaXNoKCl7dmFyIHI9dGhpcztcImZ1bmN0aW9uXCIhPXR5cGVvZiB0aGlzLl9mbHVzaHx8dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ/ZG9uZSh0aGlzLG51bGwsbnVsbCk6dGhpcy5fZmx1c2goZnVuY3Rpb24oZSx0KXtkb25lKHIsZSx0KX0pfWZ1bmN0aW9uIGRvbmUocixlLHQpe2lmKGUpcmV0dXJuIHIuZW1pdChcImVycm9yXCIsZSk7aWYobnVsbCE9dCYmci5wdXNoKHQpLHIuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7aWYoci5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HO3JldHVybiByLnB1c2gobnVsbCl9cmVxdWlyZShcImluaGVyaXRzXCIpKFRyYW5zZm9ybSxEdXBsZXgpLFRyYW5zZm9ybS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihyLGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPSExLER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMscixlKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHIsZSx0KXt0KG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRChcIl90cmFuc2Zvcm0oKVwiKSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKHIsZSx0KXt2YXIgbj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtpZihuLndyaXRlY2I9dCxuLndyaXRlY2h1bms9cixuLndyaXRlZW5jb2Rpbmc9ZSwhbi50cmFuc2Zvcm1pbmcpe3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7KG4ubmVlZFRyYW5zZm9ybXx8aS5uZWVkUmVhZGFibGV8fGkubGVuZ3RoPGkuaGlnaFdhdGVyTWFyaykmJnRoaXMuX3JlYWQoaS5oaWdoV2F0ZXJNYXJrKX19LFRyYW5zZm9ybS5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24ocil7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PWUud3JpdGVjaHVua3x8ZS50cmFuc2Zvcm1pbmc/ZS5uZWVkVHJhbnNmb3JtPSEwOihlLnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0oZS53cml0ZWNodW5rLGUud3JpdGVlbmNvZGluZyxlLmFmdGVyVHJhbnNmb3JtKSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24ocixlKXtEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxyLGZ1bmN0aW9uKHIpe2Uocil9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZkSEpoYm5ObWIzSnRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSlVjbUZ1YzJadmNtMGlMQ0pmY21WeGRXbHlaU1JqYjJSbGN5SXNJbkpsY1hWcGNtVWlMQ0pqYjJSbGN5SXNJa1ZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVJaXdpUlZKU1gwMVZURlJKVUV4RlgwTkJURXhDUVVOTElpd2lSVkpTWDFSU1FVNVRSazlTVFY5QlRGSkZRVVJaWDFSU1FVNVRSazlTVFVsT1J5SXNJa1ZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ0lzSWtSMWNHeGxlQ0lzSW1GbWRHVnlWSEpoYm5ObWIzSnRJaXdpWlhJaUxDSmtZWFJoSWl3aWRITWlMQ0owYUdseklpd2lYM1J5WVc1elptOXliVk4wWVhSbElpd2lkSEpoYm5ObWIzSnRhVzVuSWl3aVkySWlMQ0ozY21sMFpXTmlJaXdpWlcxcGRDSXNJbmR5YVhSbFkyaDFibXNpTENKd2RYTm9JaXdpY25NaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0luSmxZV1JwYm1jaUxDSnVaV1ZrVW1WaFpHRmliR1VpTENKc1pXNW5kR2dpTENKb2FXZG9WMkYwWlhKTllYSnJJaXdpWDNKbFlXUWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbUpwYm1RaUxDSnVaV1ZrVkhKaGJuTm1iM0p0SWl3aWQzSnBkR1ZsYm1OdlpHbHVaeUlzSW5ONWJtTWlMQ0owY21GdWMyWnZjbTBpTENKZmRISmhibk5tYjNKdElpd2labXgxYzJnaUxDSmZabXgxYzJnaUxDSnZiaUlzSW5CeVpXWnBibWx6YUNJc0lsOTBhR2x6SWl3aVpHVnpkSEp2ZVdWa0lpd2laRzl1WlNJc0luTjBjbVZoYlNJc0lsOTNjbWwwWVdKc1pWTjBZWFJsSWl3aWNISnZkRzkwZVhCbElpd2lZMmgxYm1zaUxDSmxibU52WkdsdVp5SXNJbDkzY21sMFpTSXNJbTRpTENKZlpHVnpkSEp2ZVNJc0ltVnljaUlzSW1WeWNqSWlYU3dpYldGd2NHbHVaM01pT2lKQlFUWkVRU3hoUVVWQlFTeFBRVUZQUXl4UlFVRlZReXhWUVVWcVFpeEpRVUZKUXl4bFFVRnBRa01zVVVGQlVTeGhRVUZoUXl4TlFVTjBRME1zTWtKQlFUWkNTQ3hsUVVGbFJ5d3lRa0ZETlVORExITkNRVUYzUWtvc1pVRkJaVWtzYzBKQlEzWkRReXh0UTBGQmNVTk1MR1ZCUVdWTExHMURRVU53UkVNc05FSkJRVGhDVGl4bFFVRmxUU3cwUWtGRk4wTkRMRTlCUVZOT0xGRkJRVkVzYjBKQlNYSkNMRk5CUVZOUExHVkJRV1ZETEVWQlFVbERMRWRCUXpGQ0xFbEJRVWxETEVWQlFVdERMRXRCUVV0RExHZENRVU5rUml4RlFVRkhSeXhqUVVGbExFVkJRMnhDTEVsQlFVbERMRVZCUVV0S0xFVkJRVWRMTEZGQlJWb3NSMEZCVnl4UFFVRlFSQ3hGUVVOR0xFOUJRVTlJTEV0QlFVdExMRXRCUVVzc1VVRkJVeXhKUVVGSllpeDFRa0ZIYUVOUExFVkJRVWRQTEZkQlFXRXNTMEZEYUVKUUxFVkJRVWRMTEZGQlFWVXNTMEZEUkN4TlFVRlNUaXhIUVVOR1JTeExRVUZMVHl4TFFVRkxWQ3hIUVVOYVN5eEZRVUZIVGl4SFFVTklMRWxCUVVsWExFVkJRVXRTTEV0QlFVdFRMR1ZCUTJSRUxFVkJRVWRGTEZOQlFWVXNSMEZGVkVZc1JVRkJSMGNzWTBGQlowSklMRVZCUVVkSkxFOUJRVk5LTEVWQlFVZExMR2RDUVVOd1EySXNTMEZCUzJNc1RVRkJUVTRzUlVGQlIwc3NaVUZKYkVJc1UwRkJVekZDTEZWQlFWVTBRaXhIUVVOcVFpeExRVUZOWml4blFrRkJaMEppTEZkQlFWa3NUMEZCVHl4SlFVRkpRU3hWUVVGVk5FSXNSMEZEZGtSd1FpeFBRVUZQY1VJc1MwRkJTMmhDTEV0QlFVMWxMRWRCUTJ4Q1ppeExRVUZMUXl4blFrRkJhMElzUTBGRGNrSk1MR1ZCUVdkQ1FTeGxRVUZsY1VJc1MwRkJTMnBDTEUxQlEzQkRhMElzWlVGQlpTeEZRVU5tYUVJc1kwRkJZeXhGUVVOa1JTeFJRVUZUTEV0QlExUkZMRmRCUVZrc1MwRkRXbUVzWTBGQlpTeE5RVWRxUW01Q0xFdEJRVXRUTEdWQlFXVkZMR05CUVdVc1JVRkpia05ZTEV0QlFVdFRMR1ZCUVdWWExFMUJRVThzUlVGRmRrSk1MRWxCUXl0Q0xHMUNRVUYwUWtFc1JVRkJVVTBzV1VGQk1FSnlRaXhMUVVGTGMwSXNWMEZCWVZBc1JVRkJVVTBzVjBGRE1VTXNiVUpCUVd4Q1RpeEZRVUZSVVN4UlFVRnpRblpDTEV0QlFVdDNRaXhQUVVGVFZDeEZRVUZSVVN4UlFVbHFSWFpDTEV0QlFVdDVRaXhIUVVGSExGbEJRV0ZETEZkQlIzWkNMRk5CUVZOQkxGbEJRMUFzU1VGQlNVTXNSVUZCVVROQ0xFdEJSV1VzYlVKQlFXaENRU3hMUVVGTGQwSXNVVUZCTUVKNFFpeExRVUZMVXl4bFFVRmxiVUlzVlVGTE5VUkRMRXRCUVVzM1FpeExRVUZOTEV0QlFVMHNUVUZLYWtKQkxFdEJRVXQzUWl4UFFVRlBMRk5CUVZVelFpeEZRVUZKUXl4SFFVTjRRaXRDTEV0QlFVdEdMRVZCUVU4NVFpeEZRVUZKUXl4TFFUWkVkRUlzVTBGQlV5dENMRXRCUVV0RExFVkJRVkZxUXl4RlFVRkpReXhIUVVONFFpeEhRVUZKUkN4RlFVRkpMRTlCUVU5cFF5eEZRVUZQZWtJc1MwRkJTeXhSUVVGVFVpeEhRVTF3UXl4SFFVeFpMRTFCUVZKRExFZEJRMFpuUXl4RlFVRlBka0lzUzBGQlMxUXNSMEZKVm1kRExFVkJRVTlETEdWQlFXVnVRaXhQUVVGUkxFMUJRVTBzU1VGQlNXeENMRFJDUVVNMVF5eEhRVUZKYjBNc1JVRkJUemRDTEdkQ1FVRm5Ra01zWVVGQll5eE5RVUZOTEVsQlFVbFVMRzFEUVVOdVJDeFBRVUZQY1VNc1JVRkJUM1pDTEV0QlFVc3NUVUU1U0hKQ2JFSXNVVUZCVVN4WFFVRlNRU3hEUVVGdlFrWXNWVUZCVjFFc1VVRXJSQzlDVWl4VlFVRlZOa01zVlVGQlZYcENMRXRCUVU4c1UwRkJWVEJDTEVWQlFVOURMRWRCUlRGRExFOUJSRUZzUXl4TFFVRkxReXhuUWtGQlowSnBRaXhsUVVGblFpeEZRVU01UW5aQ0xFOUJRVTl4UXl4VlFVRlZla0lzUzBGQlMxTXNTMEZCUzJoQ0xFdEJRVTFwUXl4RlFVRlBReXhKUVdGcVJDOURMRlZCUVZVMlF5eFZRVUZWVml4WFFVRmhMRk5CUVZWWExFVkJRVTlETEVWQlFWVXZRaXhIUVVNeFJFRXNSVUZCUnl4SlFVRkpXaXd5UWtGQk1rSXNhMEpCUjNCRFNpeFZRVUZWTmtNc1ZVRkJWVWNzVDBGQlV5eFRRVUZWUml4RlFVRlBReXhGUVVGVkwwSXNSMEZEZEVRc1NVRkJTVW9zUlVGQlMwTXNTMEZCUzBNc1owSkJTMlFzUjBGS1FVWXNSVUZCUjBzc1VVRkJWVVFzUlVGRFlrb3NSVUZCUjA4c1YwRkJZVEpDTEVWQlEyaENiRU1zUlVGQlIyOUNMR05CUVdkQ1pTeEhRVVZrYmtNc1JVRkJSMGNzWVVGQll5eERRVU53UWl4SlFVRkpUU3hGUVVGTFVpeExRVUZMVXl4blFrRkRWbFlzUlVGQlIyMUNMR1ZCUVdsQ1ZpeEZRVUZIUnl4alFVRm5Ra2dzUlVGQlIwa3NUMEZCVTBvc1JVRkJSMHNzWjBKQlFXVmlMRXRCUVV0akxFMUJRVTFPTEVWQlFVZExMR2xDUVU4elJqRkNMRlZCUVZVMlF5eFZRVUZWYkVJc1RVRkJVU3hUUVVGVmMwSXNSMEZEY0VNc1NVRkJTWEpETEVWQlFVdERMRXRCUVV0RExHZENRVVZSTEU5QlFXeENSaXhGUVVGSFR5eFpRVUYzUWxBc1JVRkJSMGNzWVVGUGFFTklMRVZCUVVkdFFpeGxRVUZuUWl4SFFVNXVRbTVDTEVWQlFVZEhMR05CUVdVc1JVRkZiRUpHTEV0QlFVdHpRaXhYUVVGWGRrSXNSVUZCUjA4c1YwRkJXVkFzUlVGQlIyOUNMR05CUVdWd1FpeEZRVUZIU0N4clFrRlJlRVJVTEZWQlFWVTJReXhWUVVGVlN5eFRRVUZYTEZOQlFWVkRMRVZCUVV0dVF5eEhRVU0xUTFJc1QwRkJUM0ZETEZWQlFWVkxMRk5CUVZOeVFpeExRVUZMYUVJc1MwRkJUWE5ETEVWQlFVc3NVMEZCVlVNc1IwRkRiRVJ3UXl4RlFVRkhiME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5ZmMzUnlaV0Z0WDNSeVlXNXpabTl5YlM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBXcml0ZVJlcShlLHQscil7dGhpcy5jaHVuaz1lLHRoaXMuZW5jb2Rpbmc9dCx0aGlzLmNhbGxiYWNrPXIsdGhpcy5uZXh0PW51bGx9ZnVuY3Rpb24gQ29ya2VkUmVxdWVzdChlKXt2YXIgdD10aGlzO3RoaXMubmV4dD1udWxsLHRoaXMuZW50cnk9bnVsbCx0aGlzLmZpbmlzaD1mdW5jdGlvbigpe29uQ29ya2VkRmluaXNoKHQsZSl9fXZhciBEdXBsZXg7bW9kdWxlLmV4cG9ydHM9V3JpdGFibGUsV3JpdGFibGUuV3JpdGFibGVTdGF0ZT1Xcml0YWJsZVN0YXRlO3ZhciBpbnRlcm5hbFV0aWw9e2RlcHJlY2F0ZTpyZXF1aXJlKFwidXRpbC1kZXByZWNhdGVcIil9LFN0cmVhbT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbVwiKSxCdWZmZXI9cmVxdWlyZShcImJ1ZmZlclwiKS5CdWZmZXIsT3VyVWludDhBcnJheT1nbG9iYWwuVWludDhBcnJheXx8ZnVuY3Rpb24oKXt9O2Z1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoZSl7cmV0dXJuIEJ1ZmZlci5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKXx8ZSBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXl9dmFyIHJlYWxIYXNJbnN0YW5jZSxkZXN0cm95SW1wbD1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3lcIiksX3JlcXVpcmU9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZVwiKSxnZXRIaWdoV2F0ZXJNYXJrPV9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcmssX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfSU5WQUxJRF9BUkdfVFlQRT1fcmVxdWlyZSRjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRSxFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxFUlJfTVVMVElQTEVfQ0FMTEJBQ0s9X3JlcXVpcmUkY29kZXMuRVJSX01VTFRJUExFX0NBTExCQUNLLEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEU9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9DQU5OT1RfUElQRSxFUlJfU1RSRUFNX0RFU1RST1lFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0RFU1RST1lFRCxFUlJfU1RSRUFNX05VTExfVkFMVUVTPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fTlVMTF9WQUxVRVMsRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQsRVJSX1VOS05PV05fRU5DT0RJTkc9X3JlcXVpcmUkY29kZXMuRVJSX1VOS05PV05fRU5DT0RJTkcsZXJyb3JPckRlc3Ryb3k9ZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3k7ZnVuY3Rpb24gbm9wKCl7fWZ1bmN0aW9uIFdyaXRhYmxlU3RhdGUoZSx0LHIpe0R1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLGU9ZXx8e30sXCJib29sZWFuXCIhPXR5cGVvZiByJiYocj10IGluc3RhbmNlb2YgRHVwbGV4KSx0aGlzLm9iamVjdE1vZGU9ISFlLm9iamVjdE1vZGUsciYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS53cml0YWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1nZXRIaWdoV2F0ZXJNYXJrKHRoaXMsZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHIpLHRoaXMuZmluYWxDYWxsZWQ9ITEsdGhpcy5uZWVkRHJhaW49ITEsdGhpcy5lbmRpbmc9ITEsdGhpcy5lbmRlZD0hMSx0aGlzLmZpbmlzaGVkPSExLHRoaXMuZGVzdHJveWVkPSExO3ZhciBpPSExPT09ZS5kZWNvZGVTdHJpbmdzO3RoaXMuZGVjb2RlU3RyaW5ncz0haSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8XCJ1dGY4XCIsdGhpcy5sZW5ndGg9MCx0aGlzLndyaXRpbmc9ITEsdGhpcy5jb3JrZWQ9MCx0aGlzLnN5bmM9ITAsdGhpcy5idWZmZXJQcm9jZXNzaW5nPSExLHRoaXMub253cml0ZT1mdW5jdGlvbihlKXtvbndyaXRlKHQsZSl9LHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVsZW49MCx0aGlzLmJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMucGVuZGluZ2NiPTAsdGhpcy5wcmVmaW5pc2hlZD0hMSx0aGlzLmVycm9yRW1pdHRlZD0hMSx0aGlzLmVtaXRDbG9zZT0hMSE9PWUuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISFlLmF1dG9EZXN0cm95LHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQ29ya2VkUmVxdWVzdCh0aGlzKX1mdW5jdGlvbiBXcml0YWJsZShlKXt2YXIgdD10aGlzIGluc3RhbmNlb2YoRHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIikpO2lmKCF0JiYhcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsdGhpcykpcmV0dXJuIG5ldyBXcml0YWJsZShlKTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBXcml0YWJsZVN0YXRlKGUsdGhpcyx0KSx0aGlzLndyaXRhYmxlPSEwLGUmJihcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLndyaXRlJiYodGhpcy5fd3JpdGU9ZS53cml0ZSksXCJmdW5jdGlvblwiPT10eXBlb2YgZS53cml0ZXYmJih0aGlzLl93cml0ZXY9ZS53cml0ZXYpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9ZS5kZXN0cm95KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmZpbmFsJiYodGhpcy5fZmluYWw9ZS5maW5hbCkpLFN0cmVhbS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoZSx0KXt2YXIgcj1uZXcgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQ7ZXJyb3JPckRlc3Ryb3koZSxyKSxwcm9jZXNzLm5leHRUaWNrKHQscil9ZnVuY3Rpb24gdmFsaWRDaHVuayhlLHQscixpKXt2YXIgbjtyZXR1cm4gbnVsbD09PXI/bj1uZXcgRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUzpcInN0cmluZ1wiPT10eXBlb2Ygcnx8dC5vYmplY3RNb2RlfHwobj1uZXcgRVJSX0lOVkFMSURfQVJHX1RZUEUoXCJjaHVua1wiLFtcInN0cmluZ1wiLFwiQnVmZmVyXCJdLHIpKSwhbnx8KGVycm9yT3JEZXN0cm95KGUsbikscHJvY2Vzcy5uZXh0VGljayhpLG4pLCExKX1mdW5jdGlvbiBkZWNvZGVDaHVuayhlLHQscil7cmV0dXJuIGUub2JqZWN0TW9kZXx8ITE9PT1lLmRlY29kZVN0cmluZ3N8fFwic3RyaW5nXCIhPXR5cGVvZiB0fHwodD1CdWZmZXIuZnJvbSh0LHIpKSx0fWZ1bmN0aW9uIHdyaXRlT3JCdWZmZXIoZSx0LHIsaSxuLG8pe2lmKCFyKXt2YXIgcz1kZWNvZGVDaHVuayh0LGksbik7aSE9PXMmJihyPSEwLG49XCJidWZmZXJcIixpPXMpfXZhciBhPXQub2JqZWN0TW9kZT8xOmkubGVuZ3RoO3QubGVuZ3RoKz1hO3ZhciB1PXQubGVuZ3RoPHQuaGlnaFdhdGVyTWFyaztpZih1fHwodC5uZWVkRHJhaW49ITApLHQud3JpdGluZ3x8dC5jb3JrZWQpe3ZhciBmPXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDt0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOmksZW5jb2Rpbmc6bixpc0J1ZjpyLGNhbGxiYWNrOm8sbmV4dDpudWxsfSxmP2YubmV4dD10Lmxhc3RCdWZmZXJlZFJlcXVlc3Q6dC5idWZmZXJlZFJlcXVlc3Q9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0LHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZSBkb1dyaXRlKGUsdCwhMSxhLGksbixvKTtyZXR1cm4gdX1mdW5jdGlvbiBkb1dyaXRlKGUsdCxyLGksbixvLHMpe3Qud3JpdGVsZW49aSx0LndyaXRlY2I9cyx0LndyaXRpbmc9ITAsdC5zeW5jPSEwLHQuZGVzdHJveWVkP3Qub253cml0ZShuZXcgRVJSX1NUUkVBTV9ERVNUUk9ZRUQoXCJ3cml0ZVwiKSk6cj9lLl93cml0ZXYobix0Lm9ud3JpdGUpOmUuX3dyaXRlKG4sbyx0Lm9ud3JpdGUpLHQuc3luYz0hMX1mdW5jdGlvbiBvbndyaXRlRXJyb3IoZSx0LHIsaSxuKXstLXQucGVuZGluZ2NiLHI/KHByb2Nlc3MubmV4dFRpY2sobixpKSxwcm9jZXNzLm5leHRUaWNrKGZpbmlzaE1heWJlLGUsdCksZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZXJyb3JPckRlc3Ryb3koZSxpKSk6KG4oaSksZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZXJyb3JPckRlc3Ryb3koZSxpKSxmaW5pc2hNYXliZShlLHQpKX1mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoZSl7ZS53cml0aW5nPSExLGUud3JpdGVjYj1udWxsLGUubGVuZ3RoLT1lLndyaXRlbGVuLGUud3JpdGVsZW49MH1mdW5jdGlvbiBvbndyaXRlKGUsdCl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZSxpPXIuc3luYyxuPXIud3JpdGVjYjtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBuKXRocm93IG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0s7aWYob253cml0ZVN0YXRlVXBkYXRlKHIpLHQpb253cml0ZUVycm9yKGUscixpLHQsbik7ZWxzZXt2YXIgbz1uZWVkRmluaXNoKHIpfHxlLmRlc3Ryb3llZDtvfHxyLmNvcmtlZHx8ci5idWZmZXJQcm9jZXNzaW5nfHwhci5idWZmZXJlZFJlcXVlc3R8fGNsZWFyQnVmZmVyKGUsciksaT9wcm9jZXNzLm5leHRUaWNrKGFmdGVyV3JpdGUsZSxyLG8sbik6YWZ0ZXJXcml0ZShlLHIsbyxuKX19ZnVuY3Rpb24gYWZ0ZXJXcml0ZShlLHQscixpKXtyfHxvbndyaXRlRHJhaW4oZSx0KSx0LnBlbmRpbmdjYi0tLGkoKSxmaW5pc2hNYXliZShlLHQpfWZ1bmN0aW9uIG9ud3JpdGVEcmFpbihlLHQpezA9PT10Lmxlbmd0aCYmdC5uZWVkRHJhaW4mJih0Lm5lZWREcmFpbj0hMSxlLmVtaXQoXCJkcmFpblwiKSl9ZnVuY3Rpb24gY2xlYXJCdWZmZXIoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9ITA7dmFyIHI9dC5idWZmZXJlZFJlcXVlc3Q7aWYoZS5fd3JpdGV2JiZyJiZyLm5leHQpe3ZhciBpPXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQsbj1uZXcgQXJyYXkoaSksbz10LmNvcmtlZFJlcXVlc3RzRnJlZTtvLmVudHJ5PXI7Zm9yKHZhciBzPTAsYT0hMDtyOyluW3NdPXIsci5pc0J1Znx8KGE9ITEpLHI9ci5uZXh0LHMrPTE7bi5hbGxCdWZmZXJzPWEsZG9Xcml0ZShlLHQsITAsdC5sZW5ndGgsbixcIlwiLG8uZmluaXNoKSx0LnBlbmRpbmdjYisrLHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLG8ubmV4dD8odC5jb3JrZWRSZXF1ZXN0c0ZyZWU9by5uZXh0LG8ubmV4dD1udWxsKTp0LmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQ29ya2VkUmVxdWVzdCh0KSx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50PTB9ZWxzZXtmb3IoO3I7KXt2YXIgdT1yLmNodW5rLGY9ci5lbmNvZGluZyxsPXIuY2FsbGJhY2s7aWYoZG9Xcml0ZShlLHQsITEsdC5vYmplY3RNb2RlPzE6dS5sZW5ndGgsdSxmLGwpLHI9ci5uZXh0LHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQtLSx0LndyaXRpbmcpYnJlYWt9bnVsbD09PXImJih0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCl9dC5idWZmZXJlZFJlcXVlc3Q9cix0LmJ1ZmZlclByb2Nlc3Npbmc9ITF9ZnVuY3Rpb24gbmVlZEZpbmlzaChlKXtyZXR1cm4gZS5lbmRpbmcmJjA9PT1lLmxlbmd0aCYmbnVsbD09PWUuYnVmZmVyZWRSZXF1ZXN0JiYhZS5maW5pc2hlZCYmIWUud3JpdGluZ31mdW5jdGlvbiBjYWxsRmluYWwoZSx0KXtlLl9maW5hbChmdW5jdGlvbihyKXt0LnBlbmRpbmdjYi0tLHImJmVycm9yT3JEZXN0cm95KGUsciksdC5wcmVmaW5pc2hlZD0hMCxlLmVtaXQoXCJwcmVmaW5pc2hcIiksZmluaXNoTWF5YmUoZSx0KX0pfWZ1bmN0aW9uIHByZWZpbmlzaChlLHQpe3QucHJlZmluaXNoZWR8fHQuZmluYWxDYWxsZWR8fChcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLl9maW5hbHx8dC5kZXN0cm95ZWQ/KHQucHJlZmluaXNoZWQ9ITAsZS5lbWl0KFwicHJlZmluaXNoXCIpKToodC5wZW5kaW5nY2IrKyx0LmZpbmFsQ2FsbGVkPSEwLHByb2Nlc3MubmV4dFRpY2soY2FsbEZpbmFsLGUsdCkpKX1mdW5jdGlvbiBmaW5pc2hNYXliZShlLHQpe3ZhciByPW5lZWRGaW5pc2godCk7aWYociYmKHByZWZpbmlzaChlLHQpLDA9PT10LnBlbmRpbmdjYiYmKHQuZmluaXNoZWQ9ITAsZS5lbWl0KFwiZmluaXNoXCIpLHQuYXV0b0Rlc3Ryb3kpKSl7dmFyIGk9ZS5fcmVhZGFibGVTdGF0ZTsoIWl8fGkuYXV0b0Rlc3Ryb3kmJmkuZW5kRW1pdHRlZCkmJmUuZGVzdHJveSgpfXJldHVybiByfWZ1bmN0aW9uIGVuZFdyaXRhYmxlKGUsdCxyKXt0LmVuZGluZz0hMCxmaW5pc2hNYXliZShlLHQpLHImJih0LmZpbmlzaGVkP3Byb2Nlc3MubmV4dFRpY2socik6ZS5vbmNlKFwiZmluaXNoXCIscikpLHQuZW5kZWQ9ITAsZS53cml0YWJsZT0hMX1mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChlLHQscil7dmFyIGk9ZS5lbnRyeTtmb3IoZS5lbnRyeT1udWxsO2k7KXt2YXIgbj1pLmNhbGxiYWNrO3QucGVuZGluZ2NiLS0sbihyKSxpPWkubmV4dH10LmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PWV9cmVxdWlyZShcImluaGVyaXRzXCIpKFdyaXRhYmxlLFN0cmVhbSksV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuYnVmZmVyZWRSZXF1ZXN0LHQ9W107ZTspdC5wdXNoKGUpLGU9ZS5uZXh0O3JldHVybiB0fSxmdW5jdGlvbigpe3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsXCJidWZmZXJcIix7Z2V0OmludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0sXCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLlwiLFwiREVQMDAwM1wiKX0pfWNhdGNoKGUpe319KCksXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJlwiZnVuY3Rpb25cIj09dHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdPyhyZWFsSGFzSW5zdGFuY2U9RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0sT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLFN5bWJvbC5oYXNJbnN0YW5jZSx7dmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuISFyZWFsSGFzSW5zdGFuY2UuY2FsbCh0aGlzLGUpfHx0aGlzPT09V3JpdGFibGUmJihlJiZlLl93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZSl9fSkpOnJlYWxIYXNJbnN0YW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXN9LFdyaXRhYmxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKCl7ZXJyb3JPckRlc3Ryb3kodGhpcyxuZXcgRVJSX1NUUkVBTV9DQU5OT1RfUElQRSl9LFdyaXRhYmxlLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcy5fd3JpdGFibGVTdGF0ZSxuPSExLG89IWkub2JqZWN0TW9kZSYmX2lzVWludDhBcnJheShlKTtyZXR1cm4gbyYmIUJ1ZmZlci5pc0J1ZmZlcihlKSYmKGU9X3VpbnQ4QXJyYXlUb0J1ZmZlcihlKSksXCJmdW5jdGlvblwiPT10eXBlb2YgdCYmKHI9dCx0PW51bGwpLG8/dD1cImJ1ZmZlclwiOnR8fCh0PWkuZGVmYXVsdEVuY29kaW5nKSxcImZ1bmN0aW9uXCIhPXR5cGVvZiByJiYocj1ub3ApLGkuZW5kaW5nP3dyaXRlQWZ0ZXJFbmQodGhpcyxyKToob3x8dmFsaWRDaHVuayh0aGlzLGksZSxyKSkmJihpLnBlbmRpbmdjYisrLG49d3JpdGVPckJ1ZmZlcih0aGlzLGksbyxlLHQscikpLG59LFdyaXRhYmxlLnByb3RvdHlwZS5jb3JrPWZ1bmN0aW9uKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrK30sV3JpdGFibGUucHJvdG90eXBlLnVuY29yaz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3dyaXRhYmxlU3RhdGU7ZS5jb3JrZWQmJihlLmNvcmtlZC0tLGUud3JpdGluZ3x8ZS5jb3JrZWR8fGUuYnVmZmVyUHJvY2Vzc2luZ3x8IWUuYnVmZmVyZWRSZXF1ZXN0fHxjbGVhckJ1ZmZlcih0aGlzLGUpKX0sV3JpdGFibGUucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZz1mdW5jdGlvbihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSYmKGU9ZS50b0xvd2VyQ2FzZSgpKSwhKFtcImhleFwiLFwidXRmOFwiLFwidXRmLThcIixcImFzY2lpXCIsXCJiaW5hcnlcIixcImJhc2U2NFwiLFwidWNzMlwiLFwidWNzLTJcIixcInV0ZjE2bGVcIixcInV0Zi0xNmxlXCIsXCJyYXdcIl0uaW5kZXhPZigoZStcIlwiKS50b0xvd2VyQ2FzZSgpKT4tMSkpdGhyb3cgbmV3IEVSUl9VTktOT1dOX0VOQ09ESU5HKGUpO3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZz1lLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLFdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3IobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKFwiX3dyaXRlKClcIikpfSxXcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldj1udWxsLFdyaXRhYmxlLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGU7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZT8ocj1lLGU9bnVsbCx0PW51bGwpOlwiZnVuY3Rpb25cIj09dHlwZW9mIHQmJihyPXQsdD1udWxsKSxudWxsIT1lJiZ0aGlzLndyaXRlKGUsdCksaS5jb3JrZWQmJihpLmNvcmtlZD0xLHRoaXMudW5jb3JrKCkpLGkuZW5kaW5nfHxlbmRXcml0YWJsZSh0aGlzLGksciksdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcIndyaXRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJkZXN0cm95ZWRcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihlKXt0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSksV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZGVzdHJveUltcGwuZGVzdHJveSxXcml0YWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveT1kZXN0cm95SW1wbC51bmRlc3Ryb3ksV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZkM0pwZEdGaWJHVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVYzSnBkR1ZTWlhFaUxDSmphSFZ1YXlJc0ltVnVZMjlrYVc1bklpd2lZMklpTENKMGFHbHpJaXdpWTJGc2JHSmhZMnNpTENKdVpYaDBJaXdpUTI5eWEyVmtVbVZ4ZFdWemRDSXNJbk4wWVhSbElpd2lYM1JvYVhNaUxDSmxiblJ5ZVNJc0ltWnBibWx6YUNJc0ltOXVRMjl5YTJWa1JtbHVhWE5vSWl3aVJIVndiR1Y0SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsZHlhWFJoWW14bElpd2lWM0pwZEdGaWJHVlRkR0YwWlNJc0ltbHVkR1Z5Ym1Gc1ZYUnBiQ0lzSW1SbGNISmxZMkYwWlNJc0luSmxjWFZwY21VaUxDSlRkSEpsWVcwaUxDSkNkV1ptWlhJaUxDSlBkWEpWYVc1ME9FRnljbUY1SWl3aVoyeHZZbUZzSWl3aVZXbHVkRGhCY25KaGVTSXNJbDkxYVc1ME9FRnljbUY1Vkc5Q2RXWm1aWElpTENKbWNtOXRJaXdpWDJselZXbHVkRGhCY25KaGVTSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2ljbVZoYkVoaGMwbHVjM1JoYm1ObElpd2laR1Z6ZEhKdmVVbHRjR3dpTENKZmNtVnhkV2x5WlNJc0ltZGxkRWhwWjJoWFlYUmxjazFoY21zaUxDSmZjbVZ4ZFdseVpTUmpiMlJsY3lJc0ltTnZaR1Z6SWl3aVJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVWlMQ0pGVWxKZlRVVlVTRTlFWDA1UFZGOUpUVkJNUlUxRlRsUkZSQ0lzSWtWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5SXNJa1ZTVWw5VFZGSkZRVTFmUTBGT1RrOVVYMUJKVUVVaUxDSkZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSQ0lzSWtWU1VsOVRWRkpGUVUxZlRsVk1URjlXUVV4VlJWTWlMQ0pGVWxKZlUxUlNSVUZOWDFkU1NWUkZYMEZHVkVWU1gwVk9SQ0lzSWtWU1VsOVZUa3RPVDFkT1gwVk9RMDlFU1U1SElpd2laWEp5YjNKUGNrUmxjM1J5YjNraUxDSnViM0FpTENKdmNIUnBiMjV6SWl3aWMzUnlaV0Z0SWl3aWFYTkVkWEJzWlhnaUxDSnZZbXBsWTNSTmIyUmxJaXdpZDNKcGRHRmliR1ZQWW1wbFkzUk5iMlJsSWl3aWFHbG5hRmRoZEdWeVRXRnlheUlzSW1acGJtRnNRMkZzYkdWa0lpd2libVZsWkVSeVlXbHVJaXdpWlc1a2FXNW5JaXdpWlc1a1pXUWlMQ0ptYVc1cGMyaGxaQ0lzSW1SbGMzUnliM2xsWkNJc0ltNXZSR1ZqYjJSbElpd2laR1ZqYjJSbFUzUnlhVzVuY3lJc0ltUmxabUYxYkhSRmJtTnZaR2x1WnlJc0lteGxibWQwYUNJc0luZHlhWFJwYm1jaUxDSmpiM0pyWldRaUxDSnplVzVqSWl3aVluVm1abVZ5VUhKdlkyVnpjMmx1WnlJc0ltOXVkM0pwZEdVaUxDSmxjaUlzSW5keWFYUmxZMklpTENKM2NtbDBaV3hsYmlJc0ltSjFabVpsY21Wa1VtVnhkV1Z6ZENJc0lteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUWlMQ0p3Wlc1a2FXNW5ZMklpTENKd2NtVm1hVzVwYzJobFpDSXNJbVZ5Y205eVJXMXBkSFJsWkNJc0ltVnRhWFJEYkc5elpTSXNJbUYxZEc5RVpYTjBjbTk1SWl3aVluVm1abVZ5WldSU1pYRjFaWE4wUTI5MWJuUWlMQ0pqYjNKclpXUlNaWEYxWlhOMGMwWnlaV1VpTENKallXeHNJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0ozY21sMFlXSnNaU0lzSW5keWFYUmxJaXdpWDNkeWFYUmxJaXdpZDNKcGRHVjJJaXdpWDNkeWFYUmxkaUlzSW1SbGMzUnliM2tpTENKZlpHVnpkSEp2ZVNJc0ltWnBibUZzSWl3aVgyWnBibUZzSWl3aWQzSnBkR1ZCWm5SbGNrVnVaQ0lzSW5CeWIyTmxjM01pTENKdVpYaDBWR2xqYXlJc0luWmhiR2xrUTJoMWJtc2lMQ0prWldOdlpHVkRhSFZ1YXlJc0luZHlhWFJsVDNKQ2RXWm1aWElpTENKcGMwSjFaaUlzSW01bGQwTm9kVzVySWl3aWJHVnVJaXdpY21WMElpd2liR0Z6ZENJc0ltUnZWM0pwZEdVaUxDSnZibmR5YVhSbFJYSnliM0lpTENKbWFXNXBjMmhOWVhsaVpTSXNJbTl1ZDNKcGRHVlRkR0YwWlZWd1pHRjBaU0lzSW01bFpXUkdhVzVwYzJnaUxDSmpiR1ZoY2tKMVptWmxjaUlzSW1GbWRHVnlWM0pwZEdVaUxDSnZibmR5YVhSbFJISmhhVzRpTENKbGJXbDBJaXdpYkNJc0ltSjFabVpsY2lJc0lrRnljbUY1SWl3aWFHOXNaR1Z5SWl3aVkyOTFiblFpTENKaGJHeENkV1ptWlhKeklpd2lZMkZzYkVacGJtRnNJaXdpWlhKeUlpd2ljSEpsWm1sdWFYTm9JaXdpYm1WbFpDSXNJbkpUZEdGMFpTSXNJbDl5WldGa1lXSnNaVk4wWVhSbElpd2laVzVrUlcxcGRIUmxaQ0lzSW1WdVpGZHlhWFJoWW14bElpd2liMjVqWlNJc0ltTnZjbXRTWlhFaUxDSndjbTkwYjNSNWNHVWlMQ0puWlhSQ2RXWm1aWElpTENKamRYSnlaVzUwSWl3aWIzVjBJaXdpY0hWemFDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aVh5SXNJbE41YldKdmJDSXNJbWhoYzBsdWMzUmhibU5sSWl3aVJuVnVZM1JwYjI0aUxDSjJZV3gxWlNJc0ltOWlhbVZqZENJc0luQnBjR1VpTENKamIzSnJJaXdpZFc1amIzSnJJaXdpYzJWMFJHVm1ZWFZzZEVWdVkyOWthVzVuSWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0pwYm1SbGVFOW1JaXdpWlc1MWJXVnlZV0pzWlNJc0ltVnVaQ0lzSW5WdVpHVm1hVzVsWkNJc0luTmxkQ0lzSWw5MWJtUmxjM1J5YjNraUxDSjFibVJsYzNSeWIza2lYU3dpYldGd2NHbHVaM01pT2lKQlFYVkNRU3hoUVV0QkxGTkJRVk5CTEZOQlFWTkRMRVZCUVU5RExFVkJRVlZETEVkQlEycERReXhMUVVGTFNDeE5RVUZSUVN4RlFVTmlSeXhMUVVGTFJpeFRRVUZYUVN4RlFVTm9Ra1VzUzBGQlMwTXNVMEZCVjBZc1JVRkRhRUpETEV0QlFVdEZMRXRCUVU4c1MwRkxaQ3hUUVVGVFF5eGpRVUZqUXl4SFFVTnlRaXhKUVVGSlF5eEZRVUZSVEN4TFFVVmFRU3hMUVVGTFJTeExRVUZQTEV0QlExcEdMRXRCUVV0TkxFMUJRVkVzUzBGRllrNHNTMEZCUzA4c1QwRkJVeXhYUVVOYVF5eGxRVUZsU0N4RlFVRlBSQ3hKUVZFeFFpeEpRVUZKU3l4UFFUTkNTa01zVDBGQlQwTXNVVUZCVlVNc1UwRTRRbXBDUVN4VFFVRlRReXhqUVVGblFrRXNZMEZIZWtJc1NVRkJTVU1zWVVGQlpTeERRVU5xUWtNc1ZVRkJWME1zVVVGQlVTeHRRa0ZOYWtKRExFOUJRVk5FTEZGQlFWRXNOa0pCU1dwQ1JTeFBRVUZUUml4UlFVRlJMRlZCUVZWRkxFOUJSVE5DUXl4alFVRm5Ra01zVDBGQlQwTXNXVUZCWXl4aFFVVjZReXhUUVVGVFF5eHZRa0ZCYjBKNlFpeEhRVU16UWl4UFFVRlBjVUlzVDBGQlQwc3NTMEZCU3pGQ0xFZEJSM0pDTEZOQlFWTXlRaXhqUVVGalF5eEhRVU55UWl4UFFVRlBVQ3hQUVVGUFVTeFRRVUZUUkN4SlFVRlJRU3hoUVVGbFRpeGpRVWRvUkN4SlFXdEpTVkVzWjBKQmJFbEJReXhaUVVGaldpeFJRVUZSTERoQ1FVVjBRbUVzVTBGQlYySXNVVUZCVVN3MFFrRkRia0pqTEdsQ1FVRnRRa1FzVTBGQlUwTXNhVUpCUlRWQ1F5eGxRVUZwUW1Zc1VVRkJVU3hoUVVGaFowSXNUVUZEZEVORExIRkNRVUYxUWtZc1pVRkJaVVVzY1VKQlEzUkRReXd5UWtGQk5rSklMR1ZCUVdWSExESkNRVU0xUTBNc2MwSkJRWGRDU2l4bFFVRmxTU3h6UWtGRGRrTkRMSFZDUVVGNVFrd3NaVUZCWlVzc2RVSkJRM2hEUXl4eFFrRkJkVUpPTEdWQlFXVk5MSEZDUVVOMFEwTXNkVUpCUVhsQ1VDeGxRVUZsVHl4MVFrRkRlRU5ETERKQ1FVRTJRbElzWlVGQlpWRXNNa0pCUXpWRFF5eHhRa0ZCZFVKVUxHVkJRV1ZUTEhGQ1FVVjBRME1zWlVGQmFVSmlMRmxCUVZsaExHVkJTV3BETEZOQlFWTkRMRTlCUlZRc1UwRkJVemRDTEdOQlFXTTRRaXhGUVVGVFF5eEZRVUZSUXl4SFFVTjBRM0JETEU5QlFWTkJMRkZCUVZWUExGRkJRVkVzYjBKQlF6TkNNa0lzUlVGQlZVRXNSMEZCVnl4SFFVMUhMR3RDUVVGaVJTeEpRVUYzUWtFc1JVRkJWMFFzWVVGQmEwSnVReXhSUVVkb1JWUXNTMEZCU3poRExHRkJRV1ZJTEVWQlFWRkhMRmRCUTNoQ1JDeEpRVUZWTjBNc1MwRkJTemhETEZkQlFXRTVReXhMUVVGTE9FTXNZMEZCWjBKSUxFVkJRVkZKTEc5Q1FVazNSQzlETEV0QlFVdG5SQ3hqUVVGblFteENMR2xDUVVGcFFqbENMRXRCUVUweVF5eEZRVUZUTEhkQ1FVRjVRa1VzUjBGRk9VVTNReXhMUVVGTGFVUXNZVUZCWXl4RlFVVnVRbXBFTEV0QlFVdHJSQ3hYUVVGWkxFVkJSV3BDYkVRc1MwRkJTMjFFTEZGQlFWTXNSVUZGWkc1RUxFdEJRVXR2UkN4UFFVRlJMRVZCUldKd1JDeExRVUZMY1VRc1ZVRkJWeXhGUVVWb1FuSkVMRXRCUVV0elJDeFhRVUZaTEVWQlNXcENMRWxCUVVsRExFZEJRWEZETEVsQlFURkNXaXhGUVVGUllTeGpRVU4yUW5oRUxFdEJRVXQzUkN4bFFVRnBRa1FzUlVGSmRFSjJSQ3hMUVVGTGVVUXNaMEpCUVd0Q1pDeEZRVUZSWXl4cFFrRkJiVUlzVDBGSmJFUjZSQ3hMUVVGTE1FUXNUMEZCVXl4RlFVVmtNVVFzUzBGQlN6SkVMRk5CUVZVc1JVRkZaak5FTEV0QlFVczBSQ3hQUVVGVExFVkJTMlExUkN4TFFVRkxOa1FzVFVGQlR5eEZRVWxhTjBRc1MwRkJTemhFTEd0Q1FVRnRRaXhGUVVWNFFqbEVMRXRCUVVzclJDeFJRVUZWTEZOQlFWVkRMRWRCUTNaQ1JDeFJRVUZSYmtJc1JVRkJVVzlDTEVsQlNXeENhRVVzUzBGQlMybEZMRkZCUVZVc1MwRkZabXBGTEV0QlFVdHJSU3hUUVVGWExFVkJRMmhDYkVVc1MwRkJTMjFGTEdkQ1FVRnJRaXhMUVVOMlFtNUZMRXRCUVV0dlJTeHZRa0ZCYzBJc1MwRkhNMEp3UlN4TFFVRkxjVVVzVlVGQldTeEZRVWRxUW5KRkxFdEJRVXR6UlN4aFFVRmpMRVZCUlc1Q2RFVXNTMEZCUzNWRkxHTkJRV1VzUlVGRmNFSjJSU3hMUVVGTGQwVXNWMEZCYTBNc1NVRkJkRUkzUWl4RlFVRlJOa0lzVlVGRmVrSjRSU3hMUVVGTGVVVXNZMEZCWjBJNVFpeEZRVUZST0VJc1dVRkZOMEo2UlN4TFFVRkxNRVVzY1VKQlFYVkNMRVZCUnpWQ01VVXNTMEZCU3pKRkxHMUNRVUZ4UWl4SlFVRkplRVVzWTBGQlkwZ3NUVUUwUXpsRExGTkJRVk5aTEZOQlFWTXJRaXhIUVZWb1FpeEpRVUZKUlN4RlFVRlhOME1zWjBKQlZHWlRMRTlCUVZOQkxGRkJRVlZQTEZGQlFWRXNjVUpCVlROQ0xFbEJRVXMyUWl4SlFVRmhiRUlzWjBKQlFXZENhVVFzUzBGQlMyaEZMRk5CUVZWYUxFMUJRVThzVDBGQlR5eEpRVUZKV1N4VFFVRlRLMElzUjBGRE5VVXpReXhMUVVGTE5rVXNaVUZCYVVJc1NVRkJTV2hGTEdOQlFXTTRRaXhGUVVGVE0wTXNTMEZCVFRaRExFZEJSWFpFTjBNc1MwRkJTemhGTEZWQlFWY3NSVUZGV201RExFbEJRekpDTEcxQ1FVRnNRa0VzUlVGQlVXOURMRkZCUVhOQ0wwVXNTMEZCUzJkR0xFOUJRVk55UXl4RlFVRlJiME1zVDBGRGFrTXNiVUpCUVc1Q2NFTXNSVUZCVVhORExGTkJRWFZDYWtZc1MwRkJTMnRHTEZGQlFWVjJReXhGUVVGUmMwTXNVVUZEYkVNc2JVSkJRWEJDZEVNc1JVRkJVWGRETEZWQlFYZENia1lzUzBGQlMyOUdMRk5CUVZkNlF5eEZRVUZSZDBNc1UwRkRkRU1zYlVKQlFXeENlRU1zUlVGQlVUQkRMRkZCUVhOQ2NrWXNTMEZCUzNOR0xFOUJRVk16UXl4RlFVRlJNRU1zVVVGSGFrVndSU3hQUVVGUE1rUXNTMEZCU3pWRkxFMUJVV1FzVTBGQlUzVkdMR05CUVdNelF5eEZRVUZSTjBNc1IwRkROMElzU1VGQlNXbEZMRVZCUVVzc1NVRkJTWHBDTERKQ1FVVmlSU3hsUVVGbFJ5eEZRVUZSYjBJc1IwRkRka0ozUWl4UlFVRlJReXhUUVVGVE1VWXNSVUZCU1dsRkxFZEJUWFpDTEZOQlFWTXdRaXhYUVVGWE9VTXNSVUZCVVhoRExFVkJRVTlRTEVWQlFVOUZMRWRCUTNoRExFbEJRVWxwUlN4RlFWRktMRTlCVG1Nc1QwRkJWbTVGTEVWQlEwWnRSU3hGUVVGTExFbEJRVWt4UWl4MVFrRkRhVUlzYVVKQlFWWjZReXhIUVVGMVFrOHNSVUZCVFRCRExHRkJRemREYTBJc1JVRkJTeXhKUVVGSkwwSXNjVUpCUVhGQ0xGRkJRVk1zUTBGQlF5eFRRVUZWTEZWQlFWZHdReXhMUVVjelJHMUZMRWxCUTBaMlFpeGxRVUZsUnl4RlFVRlJiMElzUjBGRGRrSjNRaXhSUVVGUlF5eFRRVUZUTVVZc1JVRkJTV2xGTEVsQlEyUXNSMEUyUkZnc1UwRkJVekpDTEZsQlFWbDJSaXhGUVVGUFVDeEZRVUZQUXl4SFFVdHFReXhQUVVwTFRTeEZRVUZOTUVNc1lVRkJjME1zU1VGQmVFSXhReXhGUVVGTmIwUXNaVUZCTkVNc2FVSkJRVll6UkN4SlFVTXZSRUVzUlVGQlVYRkNMRTlCUVU5TExFdEJRVXN4UWl4RlFVRlBReXhKUVVkMFFrUXNSVUZsVkN4VFFVRlRLMFlzWTBGQlkyaEVMRVZCUVZGNFF5eEZRVUZQZVVZc1JVRkJUMmhITEVWQlFVOURMRVZCUVZWRExFZEJRelZFTEVsQlFVczRSaXhGUVVGUExFTkJRMVlzU1VGQlNVTXNSVUZCVjBnc1dVRkJXWFpHTEVWQlFVOVFMRVZCUVU5RExFZEJSWEpEUkN4SlFVRlZhVWNzU1VGRFdrUXNSMEZCVVN4RlFVTlNMMFlzUlVGQlZ5eFRRVU5ZUkN4RlFVRlJhVWNzUjBGSldpeEpRVUZKUXl4RlFVRk5NMFlzUlVGQlRUQkRMRmRCUVdFc1JVRkJTV3BFTEVWQlFVMDJSQ3hQUVVOMlEzUkVMRVZCUVUxelJDeFJRVUZWY1VNc1JVRkRhRUlzU1VGQlNVTXNSVUZCVFRWR0xFVkJRVTF6UkN4UFFVRlRkRVFzUlVGQlRUUkRMR05CU1M5Q0xFZEJSa3RuUkN4SlFVRkxOVVlzUlVGQlRUaERMRmRCUVZrc1IwRkZlRUk1UXl4RlFVRk5kVVFzVTBGQlYzWkVMRVZCUVUxM1JDeFBRVUZSTEVOQlEycERMRWxCUVVseFF5eEZRVUZQTjBZc1JVRkJUV2RGTEc5Q1FVTnFRbWhGTEVWQlFVMW5SU3h2UWtGQmMwSXNRMEZETVVKMlJTeE5RVUZQUVN4RlFVTlFReXhUUVVGVlFTeEZRVU5XSzBZc1RVRkJUMEVzUlVGRFVEVkdMRk5CUVZWR0xFVkJRMVpITEV0QlFVMHNUVUZIU2l0R0xFVkJRMFpCTEVWQlFVc3ZSaXhMUVVGUFJTeEZRVUZOWjBVc2IwSkJSV3hDYUVVc1JVRkJUU3RFTEdkQ1FVRnJRaTlFTEVWQlFVMW5SU3h2UWtGSGFFTm9SU3hGUVVGTmMwVXNjMEpCUVhkQ0xFOUJSVGxDZDBJc1VVRkJVWFJFTEVWQlFWRjRReXhIUVVGUExFVkJRVTh5Uml4RlFVRkxiRWNzUlVGQlQwTXNSVUZCVlVNc1IwRkhkRVFzVDBGQlQybEhMRVZCUjFRc1UwRkJVMFVzVVVGQlVYUkVMRVZCUVZGNFF5eEZRVUZQTmtVc1JVRkJVV01zUlVGQlMyeEhMRVZCUVU5RExFVkJRVlZETEVkQlF6VkVTeXhGUVVGTk9FUXNVMEZCVnpaQ0xFVkJRMnBDTTBZc1JVRkJUVFpFTEZGQlFWVnNSU3hGUVVOb1Frc3NSVUZCVFhWRUxGTkJRVlVzUlVGRGFFSjJSQ3hGUVVGTmVVUXNUVUZCVHl4RlFVTlVla1FzUlVGQlRXdEVMRlZCUVZkc1JDeEZRVUZOTWtRc1VVRkJVU3hKUVVGSk1VSXNjVUpCUVhGQ0xGVkJRVzFDTkVNc1JVRkJVWEpETEVWQlFVOXpReXhSUVVGUmNrWXNSVUZCVDA4c1JVRkJUVEpFTEZOQlFXTnVRaXhGUVVGUGIwTXNUMEZCVDI1R0xFVkJRVTlETEVWQlFWVk5MRVZCUVUweVJDeFRRVU4wU3pORUxFVkJRVTE1UkN4TlFVRlBMRVZCUjJZc1UwRkJVM05ETEdGQlFXRjJSQ3hGUVVGUmVFTXNSVUZCVDNsRUxFVkJRVTFITEVWQlFVbHFSU3hMUVVNelEwc3NSVUZCVFdsRkxGVkJSVXBTTEVkQlIwWXlRaXhSUVVGUlF5eFRRVUZUTVVZc1JVRkJTV2xGTEVkQlIzSkNkMElzVVVGQlVVTXNVMEZCVTFjc1dVRkJZWGhFTEVWQlFWRjRReXhIUVVOMFEzZERMRVZCUVU5cFF5eGxRVUZsVGl4alFVRmxMRVZCUTNKRE9VSXNaVUZCWlVjc1JVRkJVVzlDTEV0QlNYWkNha1VzUlVGQlIybEZMRWRCUTBod1FpeEZRVUZQYVVNc1pVRkJaVTRzWTBGQlpTeEZRVU55UXpsQ0xHVkJRV1ZITEVWQlFWRnZRaXhIUVVkMlFtOURMRmxCUVZsNFJDeEZRVUZSZUVNc1NVRkplRUlzVTBGQlUybEhMRzFDUVVGdFFtcEhMRWRCUXpGQ1FTeEZRVUZOZFVRc1UwRkJWU3hGUVVOb1FuWkVMRVZCUVUwMlJDeFJRVUZWTEV0QlEyaENOMFFzUlVGQlRYTkVMRkZCUVZWMFJDeEZRVUZOT0VRc1UwRkRkRUk1UkN4RlFVRk5PRVFzVTBGQlZ5eEZRVWR1UWl4VFFVRlRTQ3hSUVVGUmJrSXNSVUZCVVc5Q0xFZEJRM1pDTEVsQlFVazFSQ3hGUVVGUmQwTXNSVUZCVDJsRExHVkJRMlpvUWl4RlFVRlBla1FzUlVGQlRYbEVMRXRCUTJJNVJDeEZRVUZMU3l4RlFVRk5Oa1FzVVVGRFppeEhRVUZyUWl4dFFrRkJVR3hGTEVWQlFXMUNMRTFCUVUwc1NVRkJTVzlETEhOQ1FVVjRReXhIUVVSQmEwVXNiVUpCUVcxQ2FrY3NSMEZEWmpSRUxFVkJRVWx0UXl4aFFVRmhka1FzUlVGQlVYaERMRVZCUVU5NVJDeEZRVUZOUnl4RlFVRkpha1VzVDBGQlV5eERRVVZ5UkN4SlFVRkpjMFFzUlVGQlYybEVMRmRCUVZkc1J5eEpRVUZWZDBNc1JVRkJUMVVzVlVGRmRFTkVMRWRCUVdGcVJDeEZRVUZOZDBRc1VVRkJWM2hFTEVWQlFVMHdSQ3h0UWtGQmIwSXhSQ3hGUVVGTkswUXNhVUpCUTJwRmIwTXNXVUZCV1RORUxFVkJRVkY0UXl4SFFVZHNRbmxFTEVWQlEwWXlRaXhSUVVGUlF5eFRRVUZUWlN4WFFVRlpOVVFzUlVGQlVYaERMRVZCUVU5cFJDeEZRVUZWZEVRc1IwRkZkRVI1Unl4WFFVRlhOVVFzUlVGQlVYaERMRVZCUVU5cFJDeEZRVUZWZEVRc1NVRkxNVU1zVTBGQlUzbEhMRmRCUVZjMVJDeEZRVUZSZUVNc1JVRkJUMmxFTEVWQlFWVjBSQ3hIUVVOMFEzTkVMRWRCUVZWdlJDeGhRVUZoTjBRc1JVRkJVWGhETEVkQlEzQkRRU3hGUVVGTmFVVXNXVUZEVG5SRkxFbEJRMEZ4Unl4WlFVRlplRVFzUlVGQlVYaERMRWRCVFhSQ0xGTkJRVk54Unl4aFFVRmhOMFFzUlVGQlVYaERMRWRCUTFBc1NVRkJha0pCTEVWQlFVMXpSQ3hSUVVGblFuUkVMRVZCUVUwNFF5eFpRVU01UWpsRExFVkJRVTA0UXl4WFFVRlpMRVZCUTJ4Q1RpeEZRVUZQT0VRc1MwRkJTeXhWUVV0b1FpeFRRVUZUU0N4WlFVRlpNMFFzUlVGQlVYaERMRWRCUXpOQ1FTeEZRVUZOTUVRc2EwSkJRVzFDTEVWQlEzcENMRWxCUVVsNFJDeEZRVUZSUml4RlFVRk5LMFFzWjBKQlJXeENMRWRCUVVsMlFpeEZRVUZQYzBNc1UwRkJWelZGTEVkQlFWTkJMRVZCUVUxS0xFdEJRVTBzUTBGRmVrTXNTVUZCU1hsSExFVkJRVWwyUnl4RlFVRk5jMFVzY1VKQlExWnJReXhGUVVGVExFbEJRVWxETEUxQlFVMUdMRWRCUTI1Q1J5eEZRVUZUTVVjc1JVRkJUWFZGTEcxQ1FVTnVRbTFETEVWQlFVOTRSeXhOUVVGUlFTeEZRVWxtTEVsQlNFRXNTVUZCU1hsSExFVkJRVkVzUlVGRFVrTXNSMEZCWVN4RlFVVldNVWNzUjBGRFRITkhMRVZCUVU5SExFZEJRVk42Unl4RlFVTllRU3hGUVVGTmRVWXNVVUZCVDIxQ0xFZEJRV0VzUjBGREwwSXhSeXhGUVVGUlFTeEZRVUZOU2l4TFFVTmtOa2NzUjBGQlV5eEZRVWRZU0N4RlFVRlBTU3hYUVVGaFFTeEZRVU53UW1Rc1VVRkJVWFJFTEVWQlFWRjRReXhIUVVGUExFVkJRVTFCTEVWQlFVMXpSQ3hQUVVGUmEwUXNSVUZCVVN4SFFVRkpSU3hGUVVGUGRrY3NVVUZIT1VSSUxFVkJRVTFwUlN4WlFVTk9ha1VzUlVGQlRXZEZMRzlDUVVGelFpeExRVVY0UWpCRExFVkJRVTgxUnl4TlFVTlVSU3hGUVVGTmRVVXNiVUpCUVhGQ2JVTXNSVUZCVHpWSExFdEJRMnhETkVjc1JVRkJUelZITEV0QlFVOHNUVUZGWkVVc1JVRkJUWFZGTEcxQ1FVRnhRaXhKUVVGSmVFVXNZMEZCWTBNc1IwRkhMME5CTEVWQlFVMXpSU3h4UWtGQmRVSXNUVUZEZUVJc1EwRkZUQ3hMUVVGUGNFVXNSMEZCVHl4RFFVTmFMRWxCUVVsVUxFVkJRVkZUTEVWQlFVMVVMRTFCUTJSRExFVkJRVmRSTEVWQlFVMVNMRk5CUTJwQ1F5eEZRVUZMVHl4RlFVRk5UQ3hUUVZObUxFZEJVRUZwUnl4UlFVRlJkRVFzUlVGQlVYaERMRWRCUVU4c1JVRkVZa0VzUlVGQlRUQkRMRmRCUVdFc1JVRkJTV3BFTEVWQlFVMDJSQ3hQUVVOS04wUXNSVUZCVDBNc1JVRkJWVU1zUjBGRGNFUlBMRVZCUVZGQkxFVkJRVTFLTEV0QlEyUkZMRVZCUVUxelJTeDFRa0ZMUm5SRkxFVkJRVTExUkN4UlFVTlNMRTFCU1ZVc1QwRkJWbkpFTEVsQlFXZENSaXhGUVVGTlowVXNiMEpCUVhOQ0xFMUJSMnhFYUVVc1JVRkJUU3RFTEdkQ1FVRnJRamRFTEVWQlEzaENSaXhGUVVGTk1FUXNhMEpCUVcxQ0xFVkJNa016UWl4VFFVRlRkME1zVjBGQlYyeEhMRWRCUTJ4Q0xFOUJRVTlCTEVWQlFVMHJReXhSUVVFeVFpeEpRVUZxUWk5RExFVkJRVTF6UkN4UlFVRXdReXhQUVVFeFFuUkVMRVZCUVUwclJDeHJRa0ZCTmtJdlJDeEZRVUZOYVVRc1YwRkJZV3BFTEVWQlFVMTFSQ3hSUVVjelJ5eFRRVUZUYzBRc1ZVRkJWWEpGTEVWQlFWRjRReXhIUVVONlFuZERMRVZCUVU4d1F5eFBRVUZQTEZOQlFWVTBRaXhIUVVOMFFqbEhMRVZCUVUxcFJTeFpRVVZHTmtNc1IwRkRSbnBGTEdWQlFXVkhMRVZCUVZGelJTeEhRVWQ2UWpsSExFVkJRVTFyUlN4aFFVRmpMRVZCUTNCQ01VSXNSVUZCVHpoRUxFdEJRVXNzWVVGRFdrNHNXVUZCV1hoRUxFVkJRVkY0UXl4TFFVbDRRaXhUUVVGVEswY3NWVUZCVlhaRkxFVkJRVkY0UXl4SFFVTndRa0VzUlVGQlRXdEZMR0ZCUVdkQ2JFVXNSVUZCVFRaRExHTkJRMFlzYlVKQlFXeENUQ3hGUVVGUE1FTXNVVUZCTUVKc1JpeEZRVUZOYTBRc1YwRkxhRVJzUkN4RlFVRk5hMFVzWVVGQll5eEZRVU53UWpGQ0xFVkJRVTg0UkN4TFFVRkxMR1ZCVEZwMFJ5eEZRVUZOYVVVc1dVRkRUbXBGTEVWQlFVMDJReXhoUVVGakxFVkJRM0JDZFVNc1VVRkJVVU1zVTBGQlUzZENMRlZCUVZkeVJTeEZRVUZSZUVNc1MwRlJNVU1zVTBGQlUyZEhMRmxCUVZsNFJDeEZRVUZSZUVNc1IwRkRNMElzU1VGQlNXZElMRVZCUVU5a0xGZEJRVmRzUnl4SFFVVjBRaXhIUVVGSlowZ3NTVUZEUmtRc1ZVRkJWWFpGTEVWQlFWRjRReXhIUVVWTkxFbEJRWEJDUVN4RlFVRk5hVVVzV1VGRFVtcEZMRVZCUVUxcFJDeFZRVUZYTEVWQlEycENWQ3hGUVVGUE9FUXNTMEZCU3l4VlFVVlNkRWNzUlVGQlRYRkZMR05CUVdFc1EwRkhja0lzU1VGQlNUUkRMRVZCUVZONlJTeEZRVUZQTUVVc2FVSkJSV1pFTEVkQlFWVkJMRVZCUVU4MVF5eGhRVUZsTkVNc1JVRkJUMFVzWVVGRE1VTXpSU3hGUVVGUGRVTXNWVUZOWml4UFFVRlBhVU1zUlVGSFZDeFRRVUZUU1N4WlFVRlpOVVVzUlVGQlVYaERMRVZCUVU5TUxFZEJRMnhEU3l4RlFVRk5LME1zVVVGQlV5eEZRVU5tYVVRc1dVRkJXWGhFTEVWQlFWRjRReXhIUVVWb1Frd3NTVUZEUlVzc1JVRkJUV2xFTEZOQlFWVnRReXhSUVVGUlF5eFRRVUZUTVVZc1IwRkJVelpETEVWQlFVODJSU3hMUVVGTExGTkJRVlV4U0N4SlFVZDBSVXNzUlVGQlRXZEVMRTlCUVZFc1JVRkRaRklzUlVGQlQydERMRlZCUVZjc1JVRkhjRUlzVTBGQlUzUkZMR1ZCUVdWclNDeEZRVUZUZEVnc1JVRkJUemhITEVkQlEzUkRMRWxCUVVrMVJ5eEZRVUZSYjBnc1JVRkJVWEJJTEUxQlIzQkNMRWxCUmtGdlNDeEZRVUZSY0Vnc1RVRkJVU3hMUVVWVVFTeEhRVUZQTEVOQlExb3NTVUZCU1ZBc1JVRkJTMDhzUlVGQlRVd3NVMEZEWmtjc1JVRkJUV2xGTEZsQlEwNTBSU3hGUVVGSGJVZ3NSMEZEU0RWSExFVkJRVkZCTEVWQlFVMUtMRXRCU1doQ1JTeEZRVUZOZFVVc2JVSkJRVzFDZWtVc1MwRkJUM2RJTEVWQmRHcENiRU14Unl4UlFVRlJMRmRCUVZKQkxFTkJRVzlDU2l4VFFVRlZTeXhSUVhsR09VSktMR05CUVdNNFJ5eFZRVUZWUXl4VlFVRlpMRmRCU1d4RExFbEJTRUVzU1VGQlNVTXNSVUZCVlRkSUxFdEJRVXR0UlN4blFrRkRaakpFTEVWQlFVMHNSMEZGU0VRc1IwRkRURU1zUlVGQlNVTXNTMEZCUzBZc1IwRkRWRUVzUlVGQlZVRXNSVUZCVVROSUxFdEJSM0JDTEU5QlFVODBTQ3hIUVVkVUxGZEJRMFVzU1VGRFJVVXNUMEZCVDBNc1pVRkJaWEJJTEdOQlFXTTRSeXhWUVVGWExGTkJRVlVzUTBGRGRrUlBMRWxCUVV0d1NDeGhRVUZoUXl4VlFVRlZMRmRCUXpGQ0xFOUJRVTltTEV0QlFVczBTQ3hoUVVOWUxEWkZRVUZ0Uml4aFFVVjRSaXhOUVVGUFR5eExRVkJZTEVkQlkzTkNMRzFDUVVGWVF5eFJRVUY1UWtFc1QwRkJUME1zWVVGQmFVVXNiVUpCUVRORFF5eFRRVUZUV0N4VlFVRlZVeXhQUVVGUFF5eGpRVU42UmpGSExHZENRVUZyUWpKSExGTkJRVk5ZTEZWQlFWVlRMRTlCUVU5RExHRkJRelZEVEN4UFFVRlBReXhsUVVGbGNrZ3NVMEZCVlhkSUxFOUJRVTlETEZsQlFXRXNRMEZEYkVSRkxFMUJRVThzVTBGQlpVTXNSMEZEY0VJc1VVRkJTVGRITEdkQ1FVRm5RbWxFTEV0QlFVczFSU3hMUVVGTmQwa3NTVUZETTBKNFNTeFBRVUZUV1N4WFFVTk9ORWdzUjBGQlZVRXNSVUZCVHpORUxEQkNRVUV3UW1oRkxHMUNRVWwwUkdNc1owSkJRV3RDTEZOQlFYbENOa2NzUjBGRGVrTXNUMEZCVDBFc1lVRkJhMEo0U1N4TlFTdENOMEpaTEZOQlFWTXJSeXhWUVVGVll5eExRVUZQTEZkQlEzaENhRWNzWlVGQlpYcERMRXRCUVUwc1NVRkJTVzlETEhsQ1FTdENNMEo0UWl4VFFVRlRLMGNzVlVGQlZUVkRMRTFCUVZFc1UwRkJWV3hHTEVWQlFVOURMRVZCUVZWRExFZEJRM0JFTEVsQlFVbExMRVZCUVZGS0xFdEJRVXMyUlN4bFFVTmliVUlzUjBGQlRTeEZRVVZPU0N4SFFVRlRla1lzUlVGQlRUQkRMRmxCUVdOMFFpeGpRVUZqTTBJc1IwRnBRaTlETEU5QlprbG5SeXhKUVVGVk0wVXNUMEZCVDFFc1UwRkJVemRDTEV0QlF6VkNRU3hGUVVGUmVVSXNiMEpCUVc5Q2VrSXNTVUZIVGl4dFFrRkJZa01zU1VGRFZFTXNSVUZCUzBRc1JVRkRURUVzUlVGQlZ5eE5RVWRVSzBZc1JVRkJUeTlHTEVWQlFWY3NVMEZCYlVKQkxFbEJRVlZCTEVWQlFWZE5MRVZCUVUxeFJDeHBRa0ZEYkVRc2JVSkJRVkF4UkN4SlFVRnRRa0VzUlVGQlN6SkRMRXRCUXk5Q2RFTXNSVUZCVFN0RExFOUJRVkZ2UXl4alFVRmpka1lzUzBGQlRVUXNTVUZCWVRoR0xFZEJRVk5JTEZkQlFWY3hSaXhMUVVGTlNTeEZRVUZQVUN4RlFVRlBSU3hOUVVONlJrc3NSVUZCVFdsRkxGbEJRMDR5UWl4RlFVRk5TaXhqUVVGak5VWXNTMEZCVFVrc1JVRkJUM2xHTEVWQlFVOW9SeXhGUVVGUFF5eEZRVUZWUXl4SlFVVndSR2xITEVkQlIxUndSaXhUUVVGVEswY3NWVUZCVldVc1MwRkJUeXhYUVVONFFqRkpMRXRCUVVzMlJTeGxRVUZsYWtJc1ZVRkhkRUpvUkN4VFFVRlRLMGNzVlVGQlZXZENMRTlCUVZNc1YwRkRNVUlzU1VGQlNYWkpMRVZCUVZGS0xFdEJRVXMyUlN4bFFVVmlla1VzUlVGQlRYZEVMRk5CUTFKNFJDeEZRVUZOZDBRc1UwRkRSSGhFTEVWQlFVMTFSQ3hUUVVGWmRrUXNSVUZCVFhkRUxGRkJRVmQ0UkN4RlFVRk5NRVFzYlVKQlFXOUNNVVFzUlVGQlRTdEVMR2xDUVVGcFFtOURMRmxCUVZsMlJ5eExRVUZOU1N4TFFVa3ZSMUVzVTBGQlV5dEhMRlZCUVZWcFFpeHRRa0ZCY1VJc1UwRkJORUk1U1N4SFFVZHNSU3hIUVVSM1FpeHBRa0ZCWWtFc1NVRkJkVUpCTEVWQlFWZEJMRVZCUVZNclNTeHBRa0ZEYUVRc1EwRkJReXhOUVVGUExFOUJRVkVzVVVGQlV5eFJRVUZUTEZOQlFWVXNVMEZCVlN4UFFVRlJMRkZCUVZNc1ZVRkJWeXhYUVVGWkxFOUJRVTlETEZOQlFWTm9TaXhGUVVGWExFbEJRVWtyU1N4blFrRkJhMElzUjBGQlNTeE5RVUZOTEVsQlFVbHlSeXh4UWtGQmNVSXhReXhIUVVWNFRDeFBRVVJCUlN4TFFVRkxOa1VzWlVGQlpYQkNMR2RDUVVGclFqTkVMRVZCUXk5Q1JTeE5RVWRVWjBrc1QwRkJUME1zWlVGQlpYSklMRk5CUVZNclJ5eFZRVUZYTEdsQ1FVRnJRaXhEUVVreFJHOUNMRmxCUVZrc1JVRkRXbUlzU1VGQlN5eFhRVU5JTEU5QlFVOXNTU3hMUVVGTE5rVXNaMEpCUVd0Q04wVXNTMEZCU3paRkxHVkJRV1VyUXl4bFFWbDBSRWtzVDBGQlQwTXNaVUZCWlhKSUxGTkJRVk1yUnl4VlFVRlhMSGRDUVVGNVFpeERRVWxxUlc5Q0xGbEJRVmtzUlVGRFdtSXNTVUZCU3l4WFFVTklMRTlCUVU5c1NTeExRVUZMTmtVc1pVRkJaVGRDTEdsQ1FUUk1MMEp3UXl4VFFVRlRLMGNzVlVGQlZUTkRMRTlCUVZNc1UwRkJWVzVHTEVWQlFVOURMRVZCUVZWRExFZEJRM0pFUVN4RlFVRkhMRWxCUVVsdFF5d3lRa0ZCTWtJc1kwRkhjRU4wUWl4VFFVRlRLMGNzVlVGQlZYcERMRkZCUVZVc1MwRkZOMEowUlN4VFFVRlRLMGNzVlVGQlZYRkNMRWxCUVUwc1UwRkJWVzVLTEVWQlFVOURMRVZCUVZWRExFZEJRMnhFTEVsQlFVbExMRVZCUVZGS0xFdEJRVXMyUlN4bFFXOUNha0lzVFVGc1FuRkNMRzFDUVVGV2FFWXNSMEZEVkVVc1JVRkJTMFlzUlVGRFRFRXNSVUZCVVN4TFFVTlNReXhGUVVGWExFMUJRMnRDTEcxQ1FVRmlRU3hKUVVOb1FrTXNSVUZCUzBRc1JVRkRURUVzUlVGQlZ5eE5RVWRVUkN4TlFVRkJRU3hIUVVGMVEwY3NTMEZCU3l0RkxFMUJRVTFzUml4RlFVRlBReXhIUVVWNlJFMHNSVUZCVFhkRUxGTkJRMUo0UkN4RlFVRk5kMFFzVDBGQlV5eEZRVU5tTlVRc1MwRkJTekpKTEZWQlNVWjJTU3hGUVVGTkswTXNVVUZCVVhGRkxGbEJRVmw0U0N4TFFVRk5TU3hGUVVGUFRDeEhRVU55UTBNc1RVRkhWR2RKTEU5QlFVOURMR1ZCUVdWeVNDeFRRVUZUSzBjc1ZVRkJWeXhwUWtGQmEwSXNRMEZKTVVSdlFpeFpRVUZaTEVWQlExcGlMRWxCUVVzc1YwRkRTQ3hQUVVGUGJFa3NTMEZCU3paRkxHVkJRV1Z1UWl4VlFYVkdMMEp6UlN4UFFVRlBReXhsUVVGbGNrZ3NVMEZCVXl0SExGVkJRVmNzV1VGQllTeERRVWx5Ukc5Q0xGbEJRVmtzUlVGRFdtSXNTVUZCU3l4WFFVTklMRmxCUVRSQ1pTeEpRVUY0UW1wS0xFdEJRVXMyUlN4blFrRkpSamRGTEV0QlFVczJSU3hsUVVGbGRrSXNWMEZGTjBJMFJpeEpRVUZMTEZOQlFXRllMRWRCUjFoMlNTeExRVUZMTmtVc2FVSkJUVlkzUlN4TFFVRkxOa1VzWlVGQlpYWkNMRlZCUVZscFJpeE5RVWR3UXpOSUxGTkJRVk1yUnl4VlFVRlZlRU1zVVVGQlZYWkVMRmxCUVZsMVJDeFJRVU42UTNaRkxGTkJRVk1yUnl4VlFVRlZkMElzVjBGQllYWklMRmxCUVZsM1NDeFZRVVUxUTNoSkxGTkJRVk1yUnl4VlFVRlZka01zVTBGQlZ5eFRRVUZWT0VJc1JVRkJTMjVJTEVkQlF6TkRRU3hGUVVGSGJVZ2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlmYzNSeVpXRnRYM2R5YVhSaFlteGxMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBfT2JqZWN0JHNldFByb3RvdHlwZU87ZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsdCxyKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPXIsZX12YXIgZmluaXNoZWQ9cmVxdWlyZShcIi4vZW5kLW9mLXN0cmVhbVwiKSxrTGFzdFJlc29sdmU9U3ltYm9sKFwibGFzdFJlc29sdmVcIiksa0xhc3RSZWplY3Q9U3ltYm9sKFwibGFzdFJlamVjdFwiKSxrRXJyb3I9U3ltYm9sKFwiZXJyb3JcIiksa0VuZGVkPVN5bWJvbChcImVuZGVkXCIpLGtMYXN0UHJvbWlzZT1TeW1ib2woXCJsYXN0UHJvbWlzZVwiKSxrSGFuZGxlUHJvbWlzZT1TeW1ib2woXCJoYW5kbGVQcm9taXNlXCIpLGtTdHJlYW09U3ltYm9sKFwic3RyZWFtXCIpO2Z1bmN0aW9uIGNyZWF0ZUl0ZXJSZXN1bHQoZSx0KXtyZXR1cm57dmFsdWU6ZSxkb25lOnR9fWZ1bmN0aW9uIHJlYWRBbmRSZXNvbHZlKGUpe3ZhciB0PWVba0xhc3RSZXNvbHZlXTtpZihudWxsIT09dCl7dmFyIHI9ZVtrU3RyZWFtXS5yZWFkKCk7bnVsbCE9PXImJihlW2tMYXN0UHJvbWlzZV09bnVsbCxlW2tMYXN0UmVzb2x2ZV09bnVsbCxlW2tMYXN0UmVqZWN0XT1udWxsLHQoY3JlYXRlSXRlclJlc3VsdChyLCExKSkpfX1mdW5jdGlvbiBvblJlYWRhYmxlKGUpe3Byb2Nlc3MubmV4dFRpY2socmVhZEFuZFJlc29sdmUsZSl9ZnVuY3Rpb24gd3JhcEZvck5leHQoZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixvKXtlLnRoZW4oZnVuY3Rpb24oKXt0W2tFbmRlZF0/cihjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpOnRba0hhbmRsZVByb21pc2VdKHIsbyl9LG8pfX12YXIgQXN5bmNJdGVyYXRvclByb3RvdHlwZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZnVuY3Rpb24oKXt9KSxSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGU9T2JqZWN0LnNldFByb3RvdHlwZU9mKChfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNba1N0cmVhbV19LG5leHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpc1trRXJyb3JdO2lmKG51bGwhPT10KXJldHVybiBQcm9taXNlLnJlamVjdCh0KTtpZih0aGlzW2tFbmRlZF0pcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpO2lmKHRoaXNba1N0cmVhbV0uZGVzdHJveWVkKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LHIpe3Byb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24oKXtlW2tFcnJvcl0/cihlW2tFcnJvcl0pOnQoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKX0pfSk7dmFyIHIsbz10aGlzW2tMYXN0UHJvbWlzZV07aWYobylyPW5ldyBQcm9taXNlKHdyYXBGb3JOZXh0KG8sdGhpcykpO2Vsc2V7dmFyIG49dGhpc1trU3RyZWFtXS5yZWFkKCk7aWYobnVsbCE9PW4pcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KG4sITEpKTtyPW5ldyBQcm9taXNlKHRoaXNba0hhbmRsZVByb21pc2VdKX1yZXR1cm4gdGhpc1trTGFzdFByb21pc2VdPXIscn19LFN5bWJvbC5hc3luY0l0ZXJhdG9yLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLFwicmV0dXJuXCIsZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LHIpe2Vba1N0cmVhbV0uZGVzdHJveShudWxsLGZ1bmN0aW9uKGUpe2U/cihlKTp0KGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSl9KX0pfSksX09iamVjdCRzZXRQcm90b3R5cGVPKSxBc3luY0l0ZXJhdG9yUHJvdG90eXBlKSxjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I9ZnVuY3Rpb24oZSl7dmFyIHQscj1PYmplY3QuY3JlYXRlKFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZSwoX2RlZmluZVByb3BlcnR5KHQ9e30sa1N0cmVhbSx7dmFsdWU6ZSx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtMYXN0UmVzb2x2ZSx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtMYXN0UmVqZWN0LHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0Vycm9yLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0VuZGVkLHt2YWx1ZTplLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrSGFuZGxlUHJvbWlzZSx7dmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbz1yW2tTdHJlYW1dLnJlYWQoKTtvPyhyW2tMYXN0UHJvbWlzZV09bnVsbCxyW2tMYXN0UmVzb2x2ZV09bnVsbCxyW2tMYXN0UmVqZWN0XT1udWxsLGUoY3JlYXRlSXRlclJlc3VsdChvLCExKSkpOihyW2tMYXN0UmVzb2x2ZV09ZSxyW2tMYXN0UmVqZWN0XT10KX0sd3JpdGFibGU6ITB9KSx0KSk7cmV0dXJuIHJba0xhc3RQcm9taXNlXT1udWxsLGZpbmlzaGVkKGUsZnVuY3Rpb24oZSl7aWYoZSYmXCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiIT09ZS5jb2RlKXt2YXIgdD1yW2tMYXN0UmVqZWN0XTtyZXR1cm4gbnVsbCE9PXQmJihyW2tMYXN0UHJvbWlzZV09bnVsbCxyW2tMYXN0UmVzb2x2ZV09bnVsbCxyW2tMYXN0UmVqZWN0XT1udWxsLHQoZSkpLHZvaWQocltrRXJyb3JdPWUpfXZhciBvPXJba0xhc3RSZXNvbHZlXTtudWxsIT09byYmKHJba0xhc3RQcm9taXNlXT1udWxsLHJba0xhc3RSZXNvbHZlXT1udWxsLHJba0xhc3RSZWplY3RdPW51bGwsbyhjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpKSxyW2tFbmRlZF09ITB9KSxlLm9uKFwicmVhZGFibGVcIixvblJlYWRhYmxlLmJpbmQobnVsbCxyKSkscn07bW9kdWxlLmV4cG9ydHM9Y3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1GemVXNWpYMmwwWlhKaGRHOXlMbXB6SWwwc0ltNWhiV1Z6SWpwYklsOVBZbXBsWTNRa2MyVjBVSEp2ZEc5MGVYQmxUeUlzSWw5a1pXWnBibVZRY205d1pYSjBlU0lzSW05aWFpSXNJbXRsZVNJc0luWmhiSFZsSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKbGJuVnRaWEpoWW14bElpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aWQzSnBkR0ZpYkdVaUxDSm1hVzVwYzJobFpDSXNJbkpsY1hWcGNtVWlMQ0pyVEdGemRGSmxjMjlzZG1VaUxDSlRlVzFpYjJ3aUxDSnJUR0Z6ZEZKbGFtVmpkQ0lzSW10RmNuSnZjaUlzSW10RmJtUmxaQ0lzSW10TVlYTjBVSEp2YldselpTSXNJbXRJWVc1a2JHVlFjbTl0YVhObElpd2lhMU4wY21WaGJTSXNJbU55WldGMFpVbDBaWEpTWlhOMWJIUWlMQ0prYjI1bElpd2ljbVZoWkVGdVpGSmxjMjlzZG1VaUxDSnBkR1Z5SWl3aWNtVnpiMngyWlNJc0ltUmhkR0VpTENKeVpXRmtJaXdpYjI1U1pXRmtZV0pzWlNJc0luQnliMk5sYzNNaUxDSnVaWGgwVkdsamF5SXNJbmR5WVhCR2IzSk9aWGgwSWl3aWJHRnpkRkJ5YjIxcGMyVWlMQ0p5WldwbFkzUWlMQ0owYUdWdUlpd2lkVzVrWldacGJtVmtJaXdpUVhONWJtTkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTSXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2lVbVZoWkdGaWJHVlRkSEpsWVcxQmMzbHVZMGwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxJaXdpYzJWMFVISnZkRzkwZVhCbFQyWWlMQ0p6ZEhKbFlXMGlMQ0owYUdseklpd2libVY0ZENJc0lsOTBhR2x6SWl3aVpYSnliM0lpTENKUWNtOXRhWE5sSWl3aVpHVnpkSEp2ZVdWa0lpd2ljSEp2YldselpTSXNJbUZ6ZVc1alNYUmxjbUYwYjNJaUxDSmZkR2hwY3pJaUxDSmtaWE4wY205NUlpd2laWEp5SWl3aVkzSmxZWFJsVW1WaFpHRmliR1ZUZEhKbFlXMUJjM2x1WTBsMFpYSmhkRzl5SWl3aVgwOWlhbVZqZENSamNtVmhkR1VpTENKcGRHVnlZWFJ2Y2lJc0ltTnlaV0YwWlNJc0lsOXlaV0ZrWVdKc1pWTjBZWFJsSWl3aVpXNWtSVzFwZEhSbFpDSXNJbU52WkdVaUxDSnZiaUlzSW1KcGJtUWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEhOQ1FVVktMRk5CUVZORExHZENRVUZuUWtNc1JVRkJTME1zUlVGQlMwTXNSMEZCYVVzc1QwRkJjRXBFTEV0QlFVOUVMRVZCUVU5SExFOUJRVTlETEdWQlFXVktMRVZCUVV0RExFVkJRVXNzUTBGQlJVTXNUVUZCVDBFc1JVRkJUMGNzV1VGQldTeEZRVUZOUXl4alFVRmpMRVZCUVUxRExGVkJRVlVzU1VGQmEwSlFMRVZCUVVsRExFZEJRVTlETEVWQlFXZENSaXhGUVVVelRTeEpRVUZKVVN4VFFVRlhReXhSUVVGUkxHMUNRVVZ1UWtNc1lVRkJaVU1zVDBGQlR5eGxRVU4wUWtNc1dVRkJZMFFzVDBGQlR5eGpRVU55UWtVc1QwRkJVMFlzVDBGQlR5eFRRVU5vUWtjc1QwRkJVMGdzVDBGQlR5eFRRVU5vUWtrc1lVRkJaVW9zVDBGQlR5eGxRVU4wUWtzc1pVRkJhVUpNTEU5QlFVOHNhVUpCUTNoQ1RTeFJRVUZWVGl4UFFVRlBMRlZCUlhKQ0xGTkJRVk5QTEdsQ1FVRnBRbWhDTEVWQlFVOXBRaXhIUVVNdlFpeE5RVUZQTEVOQlEweHFRaXhOUVVGUFFTeEZRVU5RYVVJc1MwRkJUVUVzUjBGSlZpeFRRVUZUUXl4bFFVRmxReXhIUVVOMFFpeEpRVUZKUXl4RlFVRlZSQ3hGUVVGTFdDeGpRVVZ1UWl4SFFVRm5RaXhQUVVGYVdTeEZRVUZyUWl4RFFVTndRaXhKUVVGSlF5eEZRVUZQUml4RlFVRkxTaXhUUVVGVFR5eFBRVWxhTEU5QlFWUkVMRWxCUTBaR0xFVkJRVXRPTEdOQlFXZENMRXRCUTNKQ1RTeEZRVUZMV0N4alFVRm5RaXhMUVVOeVFsY3NSVUZCUzFRc1lVRkJaU3hMUVVOd1FsVXNSVUZCVVVvc2FVSkJRV2xDU3l4SFFVRk5MRTFCUzNKRExGTkJRVk5GTEZkQlFWZEtMRWRCUjJ4Q1N5eFJRVUZSUXl4VFFVRlRVQ3hsUVVGblFrTXNSMEZIYmtNc1UwRkJVMDhzV1VGQldVTXNSVUZCWVZJc1IwRkRhRU1zVDBGQlR5eFRRVUZWUXl4RlFVRlRVU3hIUVVONFFrUXNSVUZCV1VVc1MwRkJTeXhYUVVOWVZpeEZRVUZMVUN4UlFVTlFVU3hGUVVGUlNpeHpRa0ZCYVVKakxFZEJRVmNzU1VGSmRFTllMRVZCUVV0TUxHZENRVUZuUWswc1JVRkJVMUVzU1VGRE4wSkJMRWxCU1ZBc1NVRkJTVWNzZFVKQlFYbENPVUlzVDBGQlR5dENMR1ZCUVdVc1kwRkRMME5ETEhGRFFVRjFRMmhETEU5QlFVOXBReXhuUWtFMFJDOURja01zWjBKQk5VUXJSRVFzYzBKQlFYZENMRU5CUTNoR2RVTXNZVUZEUlN4UFFVRlBReXhMUVVGTGNrSXNWVUZIWkhOQ0xFdEJRVTBzVjBGRFNpeEpRVUZKUXl4RlFVRlJSaXhMUVVsU1J5eEZRVUZSU0N4TFFVRkxla0lzVVVGRmFrSXNSMEZCWXl4UFFVRldORUlzUlVGRFJpeFBRVUZQUXl4UlFVRlJXaXhQUVVGUFZ5eEhRVWQ0UWl4SFFVRkpTQ3hMUVVGTGVFSXNVVUZEVUN4UFFVRlBORUlzVVVGQlVYQkNMRkZCUVZGS0xITkNRVUZwUW1Nc1IwRkJWeXhKUVVkeVJDeEhRVUZKVFN4TFFVRkxja0lzVTBGQlV6QkNMRlZCUzJoQ0xFOUJRVThzU1VGQlNVUXNVVUZCVVN4VFFVRlZjRUlzUlVGQlUxRXNSMEZEY0VOS0xGRkJRVkZETEZOQlFWTXNWMEZEV0dFc1JVRkJUVE5DTEZGQlExSnBRaXhGUVVGUFZTeEZRVUZOTTBJc1UwRkZZbE1zUlVGQlVVb3NjMEpCUVdsQ1l5eEhRVUZYTEZGQlZUVkRMRWxCUTBsWkxFVkJSRUZtTEVWQlFXTlRMRXRCUVV0MlFpeGpRVWQyUWl4SFFVRkpZeXhGUVVOR1pTeEZRVUZWTEVsQlFVbEdMRkZCUVZGa0xGbEJRVmxETEVWQlFXRlRMRmRCUXpGRExFTkJSMHdzU1VGQlNXWXNSVUZCVDJVc1MwRkJTM0pDTEZOQlFWTlBMRTlCUlhwQ0xFZEJRV0VzVDBGQlZFUXNSVUZEUml4UFFVRlBiVUlzVVVGQlVYQkNMRkZCUVZGS0xHbENRVUZwUWtzc1IwRkJUU3hKUVVkb1JIRkNMRVZCUVZVc1NVRkJTVVlzVVVGQlVVb3NTMEZCUzNSQ0xHbENRVWszUWl4UFFVUkJjMElzUzBGQlMzWkNMR05CUVdkQ05rSXNSVUZEWkVFc1NVRkZLMEpxUXl4UFFVRlBhME1zWTBGQlpTeFhRVU01UkN4UFFVRlBVQ3hQUVVOTWRrTXNaMEpCUVdkQ1JDeHpRa0ZCZFVJc1UwRkJWU3hYUVVOdVJDeEpRVUZKWjBRc1JVRkJVMUlzUzBGTFlpeFBRVUZQTEVsQlFVbEpMRkZCUVZFc1UwRkJWWEJDTEVWQlFWTlJMRWRCUTNCRFowSXNSVUZCVHpkQ0xGTkJRVk00UWl4UlFVRlJMRXRCUVUwc1UwRkJWVU1zUjBGRGJFTkJMRVZCUTBac1FpeEZRVUZQYTBJc1IwRkpWREZDTEVWQlFWRktMSE5DUVVGcFFtTXNSMEZCVnl4VlFVZDBRMnhETEhWQ1FVRjNRbTFETEhkQ1FVVjRRbWRDTEd0RFFVRnZReXhUUVVFeVExb3NSMEZEYWtZc1NVRkJTV0VzUlVGRlFVTXNSVUZCVjJoRUxFOUJRVTlwUkN4UFFVRlBha0lzYzBOQlFUUkVjRU1zWjBKQlFYSkNiVVFzUlVGQmFVSXNSMEZCYjBOcVF5eFJRVUZUTEVOQlEyaEpaaXhOUVVGUGJVTXNSVUZEVURsQ0xGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKNFF5eGhRVUZqTEVOQlEyaEVVaXhOUVVGUExFdEJRMUJMTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEowUXl4WlFVRmhMRU5CUXk5RFZpeE5RVUZQTEV0QlExQkxMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSnlReXhQUVVGUkxFTkJRekZEV0N4TlFVRlBMRXRCUTFCTExGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKd1F5eFBRVUZSTEVOQlF6RkRXaXhOUVVGUGJVTXNSVUZCVDJkQ0xHVkJRV1ZETEZkQlF6ZENMME1zVlVGQlZTeEpRVU5TVWl4blFrRkJaMEp0UkN4RlFVRm5RbXhETEdWQlFXZENMRU5CUTJ4RVpDeE5RVUZQTEZOQlFXVnZRaXhGUVVGVFVTeEhRVU0zUWl4SlFVRkpVQ3hGUVVGUE5FSXNSVUZCVTJ4RExGTkJRVk5QTEU5QlJYcENSQ3hIUVVOR05FSXNSVUZCVTNCRExHTkJRV2RDTEV0QlEzcENiME1zUlVGQlUzcERMR05CUVdkQ0xFdEJRM3BDZVVNc1JVRkJVM1pETEdGQlFXVXNTMEZEZUVKVkxFVkJRVkZLTEdsQ1FVRnBRa3NzUjBGQlRTeE5RVVV2UWpSQ0xFVkJRVk42UXl4alFVRm5RbGtzUlVGRGVrSTJRaXhGUVVGVGRrTXNZVUZCWld0Q0xFbEJSelZDZGtJc1ZVRkJWU3hKUVVOU01rTXNTVUU0UWtvc1QwRTNRa0ZETEVWQlFWTndReXhqUVVGblFpeExRVU42UWxBc1UwRkJVelpDTEVWQlFWRXNVMEZCVlZjc1IwRkRla0lzUjBGQlNVRXNSMEZCYjBJc0swSkJRV0pCTEVWQlFVbFBMRXRCUVhWRExFTkJRM0JFTEVsQlFVbDZRaXhGUVVGVGNVSXNSVUZCVTNaRExHRkJWM1JDTEU5QlVtVXNUMEZCV0d0Q0xFbEJRMFp4UWl4RlFVRlRjRU1zWTBGQlowSXNTMEZEZWtKdlF5eEZRVUZUZWtNc1kwRkJaMElzUzBGRGVrSjVReXhGUVVGVGRrTXNZVUZCWlN4TFFVTjRRbXRDTEVWQlFVOXJRaXhUUVVkVVJ5eEZRVUZUZEVNc1VVRkJWVzFETEVkQlNYSkNMRWxCUVVreFFpeEZRVUZWTmtJc1JVRkJVM3BETEdOQlJWQXNUMEZCV2xrc1NVRkRSalpDTEVWQlFWTndReXhqUVVGblFpeExRVU42UW05RExFVkJRVk42UXl4alFVRm5RaXhMUVVONlFubERMRVZCUVZOMlF5eGhRVUZsTEV0QlEzaENWU3hGUVVGUlNpeHpRa0ZCYVVKakxFZEJRVmNzUzBGSGRFTnRRaXhGUVVGVGNrTXNVMEZCVlN4SlFVVnlRblZDTEVWQlFVOXRRaXhIUVVGSExGZEJRVmt2UWl4WFFVRlhaME1zUzBGQlN5eExRVUZOVGl4SlFVTnlRMEVzUjBGSFZFOHNUMEZCVDBNc1VVRkJWVllpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJGemVXNWpYMmwwWlhKaGRHOXlMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIG93bktleXMoZSx0KXt2YXIgbj1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO3QmJihyPXIuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSxuLnB1c2guYXBwbHkobixyKX1yZXR1cm4gbn1mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP293bktleXMoT2JqZWN0KG4pLCEwKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe19kZWZpbmVQcm9wZXJ0eShlLHQsblt0XSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTpvd25LZXlzKE9iamVjdChuKSkuZm9yRWFjaChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobix0KSl9KX1yZXR1cm4gZX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSx0LG4pe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09bixlfWZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXMoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fWZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhlLHQsbil7cmV0dXJuIHQmJl9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpLG4mJl9kZWZpbmVQcm9wZXJ0aWVzKGUsbiksZX12YXIgX3JlcXVpcmU9cmVxdWlyZShcImJ1ZmZlclwiKSxCdWZmZXI9X3JlcXVpcmUuQnVmZmVyLF9yZXF1aXJlMj1yZXF1aXJlKFwidXRpbFwiKSxpbnNwZWN0PV9yZXF1aXJlMi5pbnNwZWN0LGN1c3RvbT1pbnNwZWN0JiZpbnNwZWN0LmN1c3RvbXx8XCJpbnNwZWN0XCI7ZnVuY3Rpb24gY29weUJ1ZmZlcihlLHQsbil7QnVmZmVyLnByb3RvdHlwZS5jb3B5LmNhbGwoZSx0LG4pfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe19jbGFzc0NhbGxDaGVjayh0aGlzLGUpLHRoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9cmV0dXJuIF9jcmVhdGVDbGFzcyhlLFt7a2V5OlwicHVzaFwiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXtkYXRhOmUsbmV4dDpudWxsfTt0aGlzLmxlbmd0aD4wP3RoaXMudGFpbC5uZXh0PXQ6dGhpcy5oZWFkPXQsdGhpcy50YWlsPXQsKyt0aGlzLmxlbmd0aH19LHtrZXk6XCJ1bnNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e2RhdGE6ZSxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPXQpLHRoaXMuaGVhZD10LCsrdGhpcy5sZW5ndGh9fSx7a2V5Olwic2hpZnRcIix2YWx1ZTpmdW5jdGlvbigpe2lmKDAhPT10aGlzLmxlbmd0aCl7dmFyIGU9dGhpcy5oZWFkLmRhdGE7cmV0dXJuIDE9PT10aGlzLmxlbmd0aD90aGlzLmhlYWQ9dGhpcy50YWlsPW51bGw6dGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0LC0tdGhpcy5sZW5ndGgsZX19fSx7a2V5OlwiY2xlYXJcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfX0se2tleTpcImpvaW5cIix2YWx1ZTpmdW5jdGlvbihlKXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuXCJcIjtmb3IodmFyIHQ9dGhpcy5oZWFkLG49XCJcIit0LmRhdGE7dD10Lm5leHQ7KW4rPWUrdC5kYXRhO3JldHVybiBufX0se2tleTpcImNvbmNhdFwiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4gQnVmZmVyLmFsbG9jKDApO2Zvcih2YXIgdD1CdWZmZXIuYWxsb2NVbnNhZmUoZT4+PjApLG49dGhpcy5oZWFkLHI9MDtuOyljb3B5QnVmZmVyKG4uZGF0YSx0LHIpLHIrPW4uZGF0YS5sZW5ndGgsbj1uLm5leHQ7cmV0dXJuIHR9fSx7a2V5OlwiY29uc3VtZVwiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG47cmV0dXJuIGU8dGhpcy5oZWFkLmRhdGEubGVuZ3RoPyhuPXRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsZSksdGhpcy5oZWFkLmRhdGE9dGhpcy5oZWFkLmRhdGEuc2xpY2UoZSkpOm49ZT09PXRoaXMuaGVhZC5kYXRhLmxlbmd0aD90aGlzLnNoaWZ0KCk6dD90aGlzLl9nZXRTdHJpbmcoZSk6dGhpcy5fZ2V0QnVmZmVyKGUpLG59fSx7a2V5OlwiZmlyc3RcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlYWQuZGF0YX19LHtrZXk6XCJfZ2V0U3RyaW5nXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5oZWFkLG49MSxyPXQuZGF0YTtmb3IoZS09ci5sZW5ndGg7dD10Lm5leHQ7KXt2YXIgYT10LmRhdGEsaT1lPmEubGVuZ3RoP2EubGVuZ3RoOmU7aWYoaT09PWEubGVuZ3RoP3IrPWE6cis9YS5zbGljZSgwLGUpLDA9PT0oZS09aSkpe2k9PT1hLmxlbmd0aD8oKytuLHQubmV4dD90aGlzLmhlYWQ9dC5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD10LHQuZGF0YT1hLnNsaWNlKGkpKTticmVha30rK259cmV0dXJuIHRoaXMubGVuZ3RoLT1uLHJ9fSx7a2V5OlwiX2dldEJ1ZmZlclwiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PUJ1ZmZlci5hbGxvY1Vuc2FmZShlKSxuPXRoaXMuaGVhZCxyPTE7Zm9yKG4uZGF0YS5jb3B5KHQpLGUtPW4uZGF0YS5sZW5ndGg7bj1uLm5leHQ7KXt2YXIgYT1uLmRhdGEsaT1lPmEubGVuZ3RoP2EubGVuZ3RoOmU7aWYoYS5jb3B5KHQsdC5sZW5ndGgtZSwwLGkpLDA9PT0oZS09aSkpe2k9PT1hLmxlbmd0aD8oKytyLG4ubmV4dD90aGlzLmhlYWQ9bi5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD1uLG4uZGF0YT1hLnNsaWNlKGkpKTticmVha30rK3J9cmV0dXJuIHRoaXMubGVuZ3RoLT1yLHR9fSx7a2V5OmN1c3RvbSx2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBpbnNwZWN0KHRoaXMsX29iamVjdFNwcmVhZCh7fSx0LHtkZXB0aDowLGN1c3RvbUluc3BlY3Q6ITF9KSl9fV0pLGV9KCk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxWm1abGNsOXNhWE4wTG1weklsMHNJbTVoYldWeklqcGJJbTkzYmt0bGVYTWlMQ0p2WW1wbFkzUWlMQ0psYm5WdFpYSmhZbXhsVDI1c2VTSXNJbXRsZVhNaUxDSlBZbXBsWTNRaUxDSm5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1pTENKemVXMWliMnh6SWl3aVptbHNkR1Z5SWl3aWMzbHRJaXdpWjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlJaXdpWlc1MWJXVnlZV0pzWlNJc0luQjFjMmdpTENKaGNIQnNlU0lzSWw5dlltcGxZM1JUY0hKbFlXUWlMQ0owWVhKblpYUWlMQ0pwSWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2ljMjkxY21ObElpd2labTl5UldGamFDSXNJbXRsZVNJc0lsOWtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25NaUxDSmtaV1pwYm1WUWNtOXdaWEowYVdWeklpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSnZZbW9pTENKMllXeDFaU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbmR5YVhSaFlteGxJaXdpWDJOc1lYTnpRMkZzYkVOb1pXTnJJaXdpYVc1emRHRnVZMlVpTENKRGIyNXpkSEoxWTNSdmNpSXNJbFI1Y0dWRmNuSnZjaUlzSWw5a1pXWnBibVZRY205d1pYSjBhV1Z6SWl3aWNISnZjSE1pTENKa1pYTmpjbWx3ZEc5eUlpd2lYMk55WldGMFpVTnNZWE56SWl3aWNISnZkRzlRY205d2N5SXNJbk4wWVhScFkxQnliM0J6SWl3aWNISnZkRzkwZVhCbElpd2lYM0psY1hWcGNtVWlMQ0p5WlhGMWFYSmxJaXdpUW5WbVptVnlJaXdpWDNKbGNYVnBjbVV5SWl3aWFXNXpjR1ZqZENJc0ltTjFjM1J2YlNJc0ltTnZjSGxDZFdabVpYSWlMQ0p6Y21NaUxDSnZabVp6WlhRaUxDSmpiM0I1SWl3aVkyRnNiQ0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKQ2RXWm1aWEpNYVhOMElpd2lkR2hwY3lJc0ltaGxZV1FpTENKMFlXbHNJaXdpZGlJc0ltVnVkSEo1SWl3aVpHRjBZU0lzSW01bGVIUWlMQ0p5WlhRaUxDSnpJaXdpY0NJc0ltNGlMQ0poYkd4dll5SXNJbUZzYkc5alZXNXpZV1psSWl3aWFHRnpVM1J5YVc1bmN5SXNJbk5zYVdObElpd2ljMmhwWm5RaUxDSmZaMlYwVTNSeWFXNW5JaXdpWDJkbGRFSjFabVpsY2lJc0ltTWlMQ0p6ZEhJaUxDSnVZaUlzSW1KMVppSXNJbDhpTENKdmNIUnBiMjV6SWl3aVpHVndkR2dpTENKamRYTjBiMjFKYm5Od1pXTjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxGTkJRVk5CTEZGQlFWRkRMRVZCUVZGRExFZEJRV3RDTEVsQlFVbERMRVZCUVU5RExFOUJRVTlFTEV0QlFVdEdMRWRCUVZNc1IwRkJTVWNzVDBGQlQwTXNjMEpCUVhWQ0xFTkJRVVVzU1VGQlNVTXNSVUZCVlVZc1QwRkJUME1zYzBKQlFYTkNTaXhIUVVGaFF5eEpRVUZuUWtrc1JVRkJWVUVzUlVGQlVVTXNUMEZCVHl4VFFVRlZReXhIUVVGUExFOUJRVTlLTEU5QlFVOUxMSGxDUVVGNVFsSXNSVUZCVVU4c1IwRkJTMFVzWTBGQlowSlFMRVZCUVV0UkxFdEJRVXRETEUxQlFVMVVMRVZCUVUxSExFZEJRVmtzVDBGQlQwZ3NSVUZGT1ZVc1UwRkJVMVVzWTBGQlkwTXNSMEZCVlN4SlFVRkxMRWxCUVVsRExFVkJRVWtzUlVGQlIwRXNSVUZCU1VNc1ZVRkJWVU1zVDBGQlVVWXNTVUZCU3l4RFFVRkZMRWxCUVVsSExFVkJRWGxDTEUxQlFXaENSaXhWUVVGVlJDeEhRVUZoUXl4VlFVRlZSQ3hIUVVGTExFZEJRVkZCTEVWQlFVa3NSVUZCUzJZc1VVRkJVVWtzVDBGQlQyTXNTVUZCVXl4SFFVRk5ReXhSUVVGUkxGTkJRVlZETEVkQlFVOURMR2RDUVVGblFsQXNSVUZCVVUwc1JVRkJTMFlzUlVGQlQwVXNUVUZCYzBKb1FpeFBRVUZQYTBJc01FSkJRVFpDYkVJc1QwRkJUMjFDTEdsQ1FVRnBRbFFzUlVGQlVWWXNUMEZCVDJ0Q0xEQkNRVUV3UWtvc1NVRkJiVUpzUWl4UlFVRlJTU3hQUVVGUFl5eEpRVUZUUXl4UlFVRlJMRk5CUVZWRExFZEJRVTlvUWl4UFFVRlBiMElzWlVGQlpWWXNSVUZCVVUwc1JVRkJTMmhDTEU5QlFVOUxMSGxDUVVGNVFsTXNSVUZCVVVVc1RVRkJaU3hQUVVGUFRpeEZRVVUzWjBJc1UwRkJVMDhzWjBKQlFXZENTU3hGUVVGTFRDeEZRVUZMVFN4SFFVRnBTeXhQUVVGd1NrNHNTMEZCVDBzc1JVRkJUM0pDTEU5QlFVOXZRaXhsUVVGbFF5eEZRVUZMVEN4RlFVRkxMRU5CUVVWTkxFMUJRVTlCTEVWQlFVOW9RaXhaUVVGWkxFVkJRVTFwUWl4alFVRmpMRVZCUVUxRExGVkJRVlVzU1VGQmEwSklMRVZCUVVsTUxFZEJRVTlOTEVWQlFXZENSQ3hGUVVVelRTeFRRVUZUU1N4blFrRkJaMEpETEVWQlFWVkRMRWRCUVdVc1MwRkJUVVFzWVVGQmIwSkRMRWRCUVdkQ0xFMUJRVTBzU1VGQlNVTXNWVUZCVlN4eFEwRkZhRWdzVTBGQlUwTXNhMEpCUVd0Q2JrSXNSVUZCVVc5Q0xFZEJRVk1zU1VGQlN5eEpRVUZKYmtJc1JVRkJTU3hGUVVGSFFTeEZRVUZKYlVJc1JVRkJUV3BDTEU5QlFWRkdMRWxCUVVzc1EwRkJSU3hKUVVGSmIwSXNSVUZCWVVRc1JVRkJUVzVDTEVkQlFVbHZRaXhGUVVGWGVrSXNWMEZCWVhsQ0xFVkJRVmQ2UWl4aFFVRmpMRVZCUVU5NVFpeEZRVUZYVWl4alFVRmxMRVZCUVZVc1ZVRkJWMUVzU1VGQldVRXNSVUZCVjFBc1ZVRkJWeXhIUVVGTmVFSXNUMEZCVDI5Q0xHVkJRV1ZXTEVWQlFWRnhRaXhGUVVGWFppeEpRVUZMWlN4SlFVVTNVeXhUUVVGVFF5eGhRVUZoVEN4RlFVRmhUU3hGUVVGWlF5eEhRVUZ0U2l4UFFVRm9TVVFzUjBGQldVb3NhMEpCUVd0Q1JpeEZRVUZaVVN4VlFVRlhSaXhIUVVGcFFrTXNSMEZCWVV3c2EwSkJRV3RDUml4RlFVRmhUeXhIUVVGeFFsQXNSVUZGZWswc1NVRkJTVk1zVTBGQlYwTXNVVUZCVVN4VlFVTnVRa01zVDBGQlUwWXNVMEZCVTBVc1QwRkZiRUpETEZWQlFWbEdMRkZCUVZFc1VVRkRjRUpITEZGQlFWVkVMRlZCUVZWRExGRkJSWEJDUXl4UFFVRlRSQ3hUUVVGWFFTeFJRVUZSUXl4UlFVRlZMRlZCUlRGRExGTkJRVk5ETEZkQlFWZERMRVZCUVV0cVF5eEZRVUZSYTBNc1IwRkRMMEpPTEU5QlFVOUlMRlZCUVZWVkxFdEJRVXRETEV0QlFVdElMRVZCUVV0cVF5eEZRVUZSYTBNc1IwRkhNVU5ITEU5QlFVOURMRkZCUlZBc1YwRkRSU3hUUVVGVFF5eEpRVU5RZUVJc1owSkJRV2RDZVVJc1MwRkJUVVFzUjBGRmRFSkRMRXRCUVV0RExFdEJRVThzUzBGRFdrUXNTMEZCUzBVc1MwRkJUeXhMUVVOYVJpeExRVUZMY2tNc1QwRkJVeXhGUVRoTGFFSXNUMEV6UzBGdFFpeGhRVUZoYVVJc1JVRkJXU3hEUVVGRExFTkJRM2hDYWtNc1NVRkJTeXhQUVVOTVRTeE5RVUZQTEZOQlFXTXJRaXhIUVVOdVFpeEpRVUZKUXl4RlFVRlJMRU5CUTFaRExFdEJRVTFHTEVWQlEwNUhMRXRCUVUwc1RVRkZTazRzUzBGQlMzSkRMRTlCUVZNc1JVRkJSM0ZETEV0QlFVdEZMRXRCUVV0SkxFdEJRVTlHTEVWQlFWZEtMRXRCUVV0RExFdEJRVTlITEVWQlF6ZEVTaXhMUVVGTFJTeExRVUZQUlN4SlFVTldTaXhMUVVGTGNrTXNVMEZGVWl4RFFVTkVSeXhKUVVGTExGVkJRMHhOTEUxQlFVOHNVMEZCYVVJclFpeEhRVU4wUWl4SlFVRkpReXhGUVVGUkxFTkJRMVpETEV0QlFVMUdMRVZCUTA1SExFdEJRVTFPTEV0QlFVdERMRTFCUlU4c1NVRkJhRUpFTEV0QlFVdHlReXhUUVVGamNVTXNTMEZCUzBVc1MwRkJUMFVzUjBGRGJrTktMRXRCUVV0RExFdEJRVTlITEVsQlExWktMRXRCUVV0eVF5eFRRVVZTTEVOQlEwUkhMRWxCUVVzc1VVRkRURTBzVFVGQlR5eFhRVU5NTEVkQlFXOUNMRWxCUVdoQ05FSXNTMEZCUzNKRExFOUJRVlFzUTBGRFFTeEpRVUZKTkVNc1JVRkJUVkFzUzBGQlMwTXNTMEZCUzBrc1MwRkhjRUlzVDBGR2IwSXNTVUZCYUVKTUxFdEJRVXR5UXl4UFFVRmpjVU1zUzBGQlMwTXNTMEZCVDBRc1MwRkJTMFVzUzBGQlR5eExRVUZWUml4TFFVRkxReXhMUVVGUFJDeExRVUZMUXl4TFFVRkxTeXhQUVVNM1JVNHNTMEZCUzNKRExFOUJRMEUwUXl4TFFVVlNMRU5CUTBSNlF5eEpRVUZMTEZGQlEweE5MRTFCUVU4c1YwRkRURFJDTEV0QlFVdERMRXRCUVU5RUxFdEJRVXRGTEV0QlFVOHNTMEZEZUVKR0xFdEJRVXR5UXl4UFFVRlRMRWxCUldZc1EwRkRSRWNzU1VGQlN5eFBRVU5NVFN4TlFVRlBMRk5CUVdOdlF5eEhRVU51UWl4SFFVRnZRaXhKUVVGb1FsSXNTMEZCUzNKRExFOUJRV01zVFVGQlR5eEhRVWs1UWl4SlFVaEJMRWxCUVVrNFF5eEZRVUZKVkN4TFFVRkxReXhMUVVOVVRTeEZRVUZOTEVkQlFVdEZMRVZCUVVWS0xFdEJSVlpKTEVWQlFVbEJMRVZCUVVWSUxFMUJRMWhETEVkQlFVOURMRVZCUVVsRExFVkJRVVZLTEV0QlIyWXNUMEZCVDBVc1NVRkZVaXhEUVVORWVrTXNTVUZCU3l4VFFVTk1UU3hOUVVGUExGTkJRV2RDYzBNc1IwRkRja0lzUjBGQmIwSXNTVUZCYUVKV0xFdEJRVXR5UXl4UFFVRmpMRTlCUVU5NVFpeFBRVUZQZFVJc1RVRkJUU3hIUVVzelF5eEpRVXBCTEVsQlFVbEtMRVZCUVUxdVFpeFBRVUZQZDBJc1dVRkJXVVlzU1VGQlRTeEhRVU12UWtRc1JVRkJTVlFzUzBGQlMwTXNTMEZEVkhoRExFVkJRVWtzUlVGRlJHZEVMRWRCUTB4cVFpeFhRVUZYYVVJc1JVRkJSVW9zUzBGQlRVVXNSVUZCU3psRExFZEJRM2hDUVN4SFFVRkxaMFFzUlVGQlJVb3NTMEZCU3pGRExFOUJRMW80UXl4RlFVRkpRU3hGUVVGRlNDeExRVWRTTEU5QlFVOURMRWxCUjFJc1EwRkRSSHBETEVsQlFVc3NWVUZEVEUwc1RVRkJUeXhUUVVGcFFuTkRMRVZCUVVkSExFZEJRM3BDTEVsQlFVbE9MRVZCWTBvc1QwRmFTVWNzUlVGQlNWWXNTMEZCUzBNc1MwRkJTMGtzUzBGQlN6RkRMRkZCUlhKQ05FTXNSVUZCVFZBc1MwRkJTME1zUzBGQlMwa3NTMEZCUzFNc1RVRkJUU3hGUVVGSFNpeEhRVU01UWxZc1MwRkJTME1zUzBGQlMwa3NTMEZCVDB3c1MwRkJTME1zUzBGQlMwa3NTMEZCUzFNc1RVRkJUVW9zU1VGSGRFTklMRVZCUmxOSExFbEJRVTFXTEV0QlFVdERMRXRCUVV0SkxFdEJRVXN4UXl4UFFVVjRRbkZETEV0QlFVdGxMRkZCUjB4R0xFVkJRV0ZpTEV0QlFVdG5RaXhYUVVGWFRpeEhRVUZMVml4TFFVRkxhVUlzVjBGQlYxQXNSMEZIYmtSSUxFbEJSVklzUTBGRFJIcERMRWxCUVVzc1VVRkRURTBzVFVGQlR5eFhRVU5NTEU5QlFVODBRaXhMUVVGTFF5eExRVUZMU1N4UFFVZHNRaXhEUVVORWRrTXNTVUZCU3l4aFFVTk1UU3hOUVVGUExGTkJRVzlDYzBNc1IwRkRla0lzU1VGQlNVUXNSVUZCU1ZRc1MwRkJTME1zUzBGRFZHbENMRVZCUVVrc1JVRkRTbGdzUlVGQlRVVXNSVUZCUlVvc1MwRkhXaXhKUVVaQlN5eEhRVUZMU0N4RlFVRkpOVU1zVDBGRlJqaERMRVZCUVVsQkxFVkJRVVZJTEUxQlFVMHNRMEZEYWtJc1NVRkJTV0VzUlVGQlRWWXNSVUZCUlVvc1MwRkRVbVVzUlVGQlMxWXNSVUZCU1ZNc1JVRkJTWGhFTEU5QlFWTjNSQ3hGUVVGSmVFUXNUMEZCVXl0RExFVkJTWFpETEVkQlNFbFZMRWxCUVU5RUxFVkJRVWw0UkN4UFFVRlJORU1zUjBGQlQxa3NSVUZCVTFvc1IwRkJUMWtzUlVGQlNVd3NUVUZCVFN4RlFVRkhTaXhIUVVkcVJDeExRVVpXUVN4SFFVRkxWU3hIUVVWUkxFTkJRMUJCTEVsQlFVOUVMRVZCUVVsNFJDeFZRVU5ZZFVRc1JVRkRSVlFzUlVGQlJVZ3NTMEZCVFU0c1MwRkJTME1zUzBGQlQxRXNSVUZCUlVnc1MwRkJWVTRzUzBGQlMwTXNTMEZCVDBRc1MwRkJTMFVzUzBGQlR5eFBRVVUxUkVZc1MwRkJTME1zUzBGQlQxRXNSVUZEV2tFc1JVRkJSVW9zUzBGQlQyTXNSVUZCU1V3c1RVRkJUVTBzU1VGSGNrSXNVVUZIUVVZc1JVRkpTaXhQUVVSQmJFSXNTMEZCUzNKRExGRkJRVlYxUkN4RlFVTlNXQ3hKUVVkU0xFTkJRMFI2UXl4SlFVRkxMR0ZCUTB4TkxFMUJRVThzVTBGQmIwSnpReXhIUVVONlFpeEpRVUZKU0N4RlFVRk5ia0lzVDBGQlQzZENMRmxCUVZsR0xFZEJRM3BDUkN4RlFVRkpWQ3hMUVVGTFF5eExRVU5VYVVJc1JVRkJTU3hGUVVsU0xFbEJTRUZVTEVWQlFVVktMRXRCUVV0V0xFdEJRVXRaTEVkQlExcEhMRWRCUVV0RUxFVkJRVVZLTEV0QlFVc3hReXhQUVVWTU9FTXNSVUZCU1VFc1JVRkJSVWdzVFVGQlRTeERRVU5xUWl4SlFVRkpaU3hGUVVGTldpeEZRVUZGU2l4TFFVTlNaU3hGUVVGTFZpeEZRVUZKVnl4RlFVRkpNVVFzVDBGQlV6QkVMRVZCUVVreFJDeFBRVUZUSzBNc1JVRkpka01zUjBGSVFWY3NSVUZCU1RGQ0xFdEJRVXRaTEVWQlFVdEJMRVZCUVVrMVF5eFBRVUZUSzBNc1JVRkJSeXhGUVVGSFZTeEhRVWQyUWl4TFFVWldWaXhIUVVGTFZTeEhRVVZSTEVOQlExQkJMRWxCUVU5RExFVkJRVWt4UkN4VlFVTllkVVFzUlVGRFJWUXNSVUZCUlVnc1MwRkJUVTRzUzBGQlMwTXNTMEZCVDFFc1JVRkJSVWdzUzBGQlZVNHNTMEZCUzBNc1MwRkJUMFFzUzBGQlMwVXNTMEZCVHl4UFFVVTFSRVlzUzBGQlMwTXNTMEZCVDFFc1JVRkRXa0VzUlVGQlJVb3NTMEZCVDJkQ0xFVkJRVWxRTEUxQlFVMU5MRWxCUjNKQ0xGRkJSMEZHTEVWQlNVb3NUMEZFUVd4Q0xFdEJRVXR5UXl4UlFVRlZkVVFzUlVGRFVsZ3NTVUZIVWl4RFFVTkVla01zU1VGQlMzbENMRTlCUTB4dVFpeE5RVUZQTEZOQlFXVnJSQ3hGUVVGSFF5eEhRVU4yUWl4UFFVRlBha01zVVVGQlVWVXNTMEZCVFhwRExHTkJRV01zUjBGQlNXZEZMRVZCUVZNc1EwRkZPVU5ETEUxQlFVOHNSVUZGVUVNc1pVRkJaU3hUUVV0a01VSXNSVUZ3VEZRaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwySjFabVpsY2w5c2FYTjBMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIGRlc3Ryb3kodCxlKXt2YXIgcj10aGlzLGk9dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQsYT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtyZXR1cm4gaXx8YT8oZT9lKHQpOnQmJih0aGlzLl93cml0YWJsZVN0YXRlP3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkfHwodGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLHQpKTpwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULHRoaXMsdCkpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLGZ1bmN0aW9uKHQpeyFlJiZ0P3IuX3dyaXRhYmxlU3RhdGU/ci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ/cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKTooci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULHIsdCkpOnByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCxyLHQpOmU/KHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsciksZSh0KSk6cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKX0pLHRoaXMpfWZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQodCxlKXtlbWl0RXJyb3JOVCh0LGUpLGVtaXRDbG9zZU5UKHQpfWZ1bmN0aW9uIGVtaXRDbG9zZU5UKHQpe3QuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5fcmVhZGFibGVTdGF0ZSYmIXQuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlfHx0LmVtaXQoXCJjbG9zZVwiKX1mdW5jdGlvbiB1bmRlc3Ryb3koKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkPSExKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZz0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMSl9ZnVuY3Rpb24gZW1pdEVycm9yTlQodCxlKXt0LmVtaXQoXCJlcnJvclwiLGUpfWZ1bmN0aW9uIGVycm9yT3JEZXN0cm95KHQsZSl7dmFyIHI9dC5fcmVhZGFibGVTdGF0ZSxpPXQuX3dyaXRhYmxlU3RhdGU7ciYmci5hdXRvRGVzdHJveXx8aSYmaS5hdXRvRGVzdHJveT90LmRlc3Ryb3koZSk6dC5lbWl0KFwiZXJyb3JcIixlKX1tb2R1bGUuZXhwb3J0cz17ZGVzdHJveTpkZXN0cm95LHVuZGVzdHJveTp1bmRlc3Ryb3ksZXJyb3JPckRlc3Ryb3k6ZXJyb3JPckRlc3Ryb3l9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1SbGMzUnliM2t1YW5NaVhTd2libUZ0WlhNaU9sc2laR1Z6ZEhKdmVTSXNJbVZ5Y2lJc0ltTmlJaXdpWDNSb2FYTWlMQ0owYUdseklpd2ljbVZoWkdGaWJHVkVaWE4wY205NVpXUWlMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbVJsYzNSeWIzbGxaQ0lzSW5keWFYUmhZbXhsUkdWemRISnZlV1ZrSWl3aVgzZHlhWFJoWW14bFUzUmhkR1VpTENKbGNuSnZja1Z0YVhSMFpXUWlMQ0p3Y205alpYTnpJaXdpYm1WNGRGUnBZMnNpTENKbGJXbDBSWEp5YjNKT1ZDSXNJbDlrWlhOMGNtOTVJaXdpWlcxcGRFTnNiM05sVGxRaUxDSmxiV2wwUlhKeWIzSkJibVJEYkc5elpVNVVJaXdpYzJWc1ppSXNJbVZ0YVhSRGJHOXpaU0lzSW1WdGFYUWlMQ0oxYm1SbGMzUnliM2tpTENKeVpXRmthVzVuSWl3aVpXNWtaV1FpTENKbGJtUkZiV2wwZEdWa0lpd2laVzVrYVc1bklpd2labWx1WVd4RFlXeHNaV1FpTENKd2NtVm1hVzVwYzJobFpDSXNJbVpwYm1semFHVmtJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0p6ZEhKbFlXMGlMQ0p5VTNSaGRHVWlMQ0ozVTNSaGRHVWlMQ0poZFhSdlJHVnpkSEp2ZVNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzVTBGQlUwRXNVVUZCVVVNc1JVRkJTME1zUjBGRGNFSXNTVUZCU1VNc1JVRkJVVU1zUzBGRlVrTXNSVUZCYjBKRUxFdEJRVXRGTEdkQ1FVRnJRa1lzUzBGQlMwVXNaVUZCWlVNc1ZVRkRMMFJETEVWQlFXOUNTaXhMUVVGTFN5eG5Ra0ZCYTBKTUxFdEJRVXRMTEdWQlFXVkdMRlZCUlc1RkxFOUJRVWxHTEVkQlFYRkNSeXhIUVVOdVFrNHNSVUZEUmtFc1JVRkJSMFFzUjBGRFRVRXNTVUZEU2tjc1MwRkJTMHNzWlVGRlJVd3NTMEZCUzBzc1pVRkJaVU1zWlVGRE9VSk9MRXRCUVV0TExHVkJRV1ZETEdOQlFXVXNSVUZEYmtORExGRkJRVkZETEZOQlFWTkRMRmxCUVdGVUxFdEJRVTFJTEVsQlNIQkRWU3hSUVVGUlF5eFRRVUZUUXl4WlFVRmhWQ3hMUVVGTlNDeEpRVTlxUTBjc1QwRkxURUVzUzBGQlMwVXNhVUpCUTFCR0xFdEJRVXRGTEdWQlFXVkRMRmRCUVZrc1IwRkpPVUpJTEV0QlFVdExMR2xDUVVOUVRDeExRVUZMU3l4bFFVRmxSaXhYUVVGWkxFZEJSMnhEU0N4TFFVRkxWU3hUUVVGVFlpeEhRVUZQTEV0QlFVMHNVMEZCVlVFc1NVRkRPVUpETEVkQlFVMUVMRVZCUTBwRkxFVkJRVTFOTEdWQlJVTk9MRVZCUVUxTkxHVkJRV1ZETEdGQlNTOUNReXhSUVVGUlF5eFRRVUZUUnl4WlFVRmhXaXhKUVVnNVFrRXNSVUZCVFUwc1pVRkJaVU1zWTBGQlpTeEZRVU53UTBNc1VVRkJVVU1zVTBGQlUwa3NiMEpCUVhGQ1lpeEZRVUZQUml4SlFVZzNRMVVzVVVGQlVVTXNVMEZCVTBrc2IwSkJRWEZDWWl4RlFVRlBSaXhIUVU5MFEwTXNSMEZEVkZNc1VVRkJVVU1zVTBGQlUwY3NXVUZCWVZvc1IwRkRPVUpFTEVWQlFVZEVMRWxCUlVoVkxGRkJRVkZETEZOQlFWTkhMRmxCUVdGYUxFdEJTVE5DUXl4TlFVZFVMRk5CUVZOWkxHOUNRVUZ2UWtNc1JVRkJUV2hDTEVkQlEycERXU3haUVVGWlNTeEZRVUZOYUVJc1IwRkRiRUpqTEZsQlFWbEZMRWRCUjJRc1UwRkJVMFlzV1VGQldVVXNSMEZEWmtFc1JVRkJTMUlzYVVKQlFXMUNVU3hGUVVGTFVpeGxRVUZsVXl4WFFVTTFRMFFzUlVGQlMxZ3NhVUpCUVcxQ1Z5eEZRVUZMV0N4bFFVRmxXU3hYUVVOb1JFUXNSVUZCUzBVc1MwRkJTeXhUUVVkYUxGTkJRVk5ETEZsQlEwaG9RaXhMUVVGTFJTeHBRa0ZEVUVZc1MwRkJTMFVzWlVGQlpVTXNWMEZCV1N4RlFVTm9RMGdzUzBGQlMwVXNaVUZCWldVc1UwRkJWU3hGUVVNNVFtcENMRXRCUVV0RkxHVkJRV1ZuUWl4UFFVRlJMRVZCUXpWQ2JFSXNTMEZCUzBVc1pVRkJaV2xDTEZsQlFXRXNSMEZITDBKdVFpeExRVUZMU3l4cFFrRkRVRXdzUzBGQlMwc3NaVUZCWlVZc1YwRkJXU3hGUVVOb1EwZ3NTMEZCUzBzc1pVRkJaV0VzVDBGQlVTeEZRVU0xUW14Q0xFdEJRVXRMTEdWQlFXVmxMRkZCUVZNc1JVRkROMEp3UWl4TFFVRkxTeXhsUVVGbFowSXNZVUZCWXl4RlFVTnNRM0pDTEV0QlFVdExMR1ZCUVdWcFFpeGhRVUZqTEVWQlEyeERkRUlzUzBGQlMwc3NaVUZCWld0Q0xGVkJRVmNzUlVGREwwSjJRaXhMUVVGTFN5eGxRVUZsUXl4alFVRmxMRWRCU1haRExGTkJRVk5ITEZsQlFWbEpMRVZCUVUxb1FpeEhRVU42UW1kQ0xFVkJRVXRGTEV0QlFVc3NVVUZCVTJ4Q0xFZEJSM0pDTEZOQlFWTXlRaXhsUVVGbFF5eEZRVUZSTlVJc1IwRk5PVUlzU1VGQlNUWkNMRVZCUVZORUxFVkJRVTkyUWl4bFFVTm9RbmxDTEVWQlFWTkdMRVZCUVU5d1FpeGxRVU5vUW5GQ0xFZEJRVlZCTEVWQlFVOUZMR0ZCUVdWRUxFZEJRVlZCTEVWQlFVOURMRmxCUVdGSUxFVkJRVTgzUWl4UlFVRlJReXhIUVVGVk5FSXNSVUZCVDFZc1MwRkJTeXhSUVVGVGJFSXNSMEZIYkVoblF5eFBRVUZQUXl4UlFVRlZMRU5CUTJac1F5eFJRVUZUUVN4UlFVTlViMElzVlVGQlYwRXNWVUZEV0ZFc1pVRkJaMEpCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5a1pYTjBjbTk1TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2Rlcy5FUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRTtmdW5jdGlvbiBvbmNlKGUpe3ZhciByPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFyKXtyPSEwO2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHQpLG89MDtvPHQ7bysrKW5bb109YXJndW1lbnRzW29dO2UuYXBwbHkodGhpcyxuKX19fWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5hYm9ydH1mdW5jdGlvbiBlb3MoZSxyLHQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIpcmV0dXJuIGVvcyhlLG51bGwscik7cnx8KHI9e30pLHQ9b25jZSh0fHxub29wKTt2YXIgbj1yLnJlYWRhYmxlfHwhMSE9PXIucmVhZGFibGUmJmUucmVhZGFibGUsbz1yLndyaXRhYmxlfHwhMSE9PXIud3JpdGFibGUmJmUud3JpdGFibGUsaT1mdW5jdGlvbigpe2Uud3JpdGFibGV8fGwoKX0sYT1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkLGw9ZnVuY3Rpb24oKXtvPSExLGE9ITAsbnx8dC5jYWxsKGUpfSxzPWUuX3JlYWRhYmxlU3RhdGUmJmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxjPWZ1bmN0aW9uKCl7bj0hMSxzPSEwLG98fHQuY2FsbChlKX0sdT1mdW5jdGlvbihyKXt0LmNhbGwoZSxyKX0sZj1mdW5jdGlvbigpe3ZhciByO3JldHVybiBuJiYhcz8oZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRlZHx8KHI9bmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKSx0LmNhbGwoZSxyKSk6byYmIWE/KGUuX3dyaXRhYmxlU3RhdGUmJmUuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fChyPW5ldyBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSksdC5jYWxsKGUscikpOnZvaWQgMH0sZD1mdW5jdGlvbigpe2UucmVxLm9uKFwiZmluaXNoXCIsbCl9O3JldHVybiBpc1JlcXVlc3QoZSk/KGUub24oXCJjb21wbGV0ZVwiLGwpLGUub24oXCJhYm9ydFwiLGYpLGUucmVxP2QoKTplLm9uKFwicmVxdWVzdFwiLGQpKTpvJiYhZS5fd3JpdGFibGVTdGF0ZSYmKGUub24oXCJlbmRcIixpKSxlLm9uKFwiY2xvc2VcIixpKSksZS5vbihcImVuZFwiLGMpLGUub24oXCJmaW5pc2hcIixsKSwhMSE9PXIuZXJyb3ImJmUub24oXCJlcnJvclwiLHUpLGUub24oXCJjbG9zZVwiLGYpLGZ1bmN0aW9uKCl7ZS5yZW1vdmVMaXN0ZW5lcihcImNvbXBsZXRlXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImFib3J0XCIsZiksZS5yZW1vdmVMaXN0ZW5lcihcInJlcXVlc3RcIixkKSxlLnJlcSYmZS5yZXEucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsaSksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsaSksZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixjKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIix1KSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixmKX19bW9kdWxlLmV4cG9ydHM9ZW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1WdVpDMXZaaTF6ZEhKbFlXMHVhbk1pWFN3aWJtRnRaWE1pT2xzaVJWSlNYMU5VVWtWQlRWOVFVa1ZOUVZSVlVrVmZRMHhQVTBVaUxDSnlaWEYxYVhKbElpd2lZMjlrWlhNaUxDSnZibU5sSWl3aVkyRnNiR0poWTJzaUxDSmpZV3hzWldRaUxDSmZiR1Z1SWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2lZWEpuY3lJc0lrRnljbUY1SWl3aVgydGxlU0lzSW1Gd2NHeDVJaXdpZEdocGN5SXNJbTV2YjNBaUxDSnBjMUpsY1hWbGMzUWlMQ0p6ZEhKbFlXMGlMQ0p6WlhSSVpXRmtaWElpTENKaFltOXlkQ0lzSW1WdmN5SXNJbTl3ZEhNaUxDSnlaV0ZrWVdKc1pTSXNJbmR5YVhSaFlteGxJaXdpYjI1c1pXZGhZM2xtYVc1cGMyZ2lMQ0p2Ym1acGJtbHphQ0lzSW5keWFYUmhZbXhsUlc1a1pXUWlMQ0pmZDNKcGRHRmliR1ZUZEdGMFpTSXNJbVpwYm1semFHVmtJaXdpWTJGc2JDSXNJbkpsWVdSaFlteGxSVzVrWldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltVnVaRVZ0YVhSMFpXUWlMQ0p2Ym1WdVpDSXNJbTl1WlhKeWIzSWlMQ0psY25JaUxDSnZibU5zYjNObElpd2laVzVrWldRaUxDSnZibkpsY1hWbGMzUWlMQ0p5WlhFaUxDSnZiaUlzSW1WeWNtOXlJaXdpY21WdGIzWmxUR2x6ZEdWdVpYSWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkZRU3hoUVVWQkxFbEJRVWxCTERKQ1FVRTJRa01zVVVGQlVTeHRRa0ZCYlVKRExFMUJRVTFHTERKQ1FVVnNSU3hUUVVGVFJ5eExRVUZMUXl4SFFVTmFMRWxCUVVsRExFZEJRVk1zUlVGRFlpeFBRVUZQTEZkQlEwd3NTVUZCU1VFc1JVRkJTaXhEUVVOQlFTeEhRVUZUTEVWQlJWUXNTVUZCU3l4SlFVRkpReXhGUVVGUFF5eFZRVUZWUXl4UFFVRlJReXhGUVVGUExFbEJRVWxETEUxQlFVMUtMRWRCUVU5TExFVkJRVThzUlVGQlIwRXNSVUZCVDB3c1JVRkJUVXNzU1VGREwwVkdMRVZCUVV0RkxFZEJRVkZLTEZWQlFWVkpMRWRCUjNwQ1VDeEZRVUZUVVN4TlFVRk5ReXhMUVVGTlNpeExRVWw2UWl4VFFVRlRTeXhSUVVWVUxGTkJRVk5ETEZWQlFWVkRMRWRCUTJwQ0xFOUJRVTlCTEVWQlFVOURMRmRCUVhGRExHMUNRVUZxUWtRc1JVRkJUMFVzVFVGSE0wTXNVMEZCVTBNc1NVRkJTVWdzUlVGQlVVa3NSVUZCVFdoQ0xFZEJRM3BDTEVkQlFXOUNMRzFDUVVGVVowSXNSVUZCY1VJc1QwRkJUMFFzU1VGQlNVZ3NSVUZCVVN4TFFVRk5TU3hIUVVOd1JFRXNTVUZCVFVFc1JVRkJUeXhKUVVOc1FtaENMRVZCUVZkRUxFdEJRVXRETEVkQlFWbFZMRTFCUXpWQ0xFbEJRVWxQTEVWQlFWZEVMRVZCUVV0RExGZEJRVGhDTEVsQlFXeENSQ3hGUVVGTFF5eFZRVUZ6UWt3c1JVRkJUMHNzVTBGRE9VUkRMRVZCUVZkR0xFVkJRVXRGTEZkQlFUaENMRWxCUVd4Q1JpeEZRVUZMUlN4VlFVRnpRazRzUlVGQlQwMHNVMEZGT1VSRExFVkJRV2xDTEZkQlEyUlFMRVZCUVU5TkxGVkJRVlZGTEV0QlIzQkNReXhGUVVGblFsUXNSVUZCVDFVc1owSkJRV3RDVml4RlFVRlBWU3hsUVVGbFF5eFRRVVV2UkVnc1JVRkJWeXhYUVVOaVJpeEhRVUZYTEVWQlExaEhMRWRCUVdkQ0xFVkJRMWhLTEVkQlFWVnFRaXhGUVVGVGQwSXNTMEZCUzFvc1NVRkhNMEpoTEVWQlFXZENZaXhGUVVGUFl5eG5Ra0ZCYTBKa0xFVkJRVTlqTEdWQlFXVkRMRmRCUlM5RVF5eEZRVUZSTEZkQlExWllMRWRCUVZjc1JVRkRXRkVzUjBGQlowSXNSVUZEV0ZBc1IwRkJWV3hDTEVWQlFWTjNRaXhMUVVGTFdpeEpRVWN6UW1sQ0xFVkJRVlVzVTBGQmFVSkRMRWRCUXpkQ09VSXNSVUZCVTNkQ0xFdEJRVXRhTEVWQlFWRnJRaXhKUVVkd1FrTXNSVUZCVlN4WFFVTmFMRWxCUVVsRUxFVkJSVW9zVDBGQlNXSXNTVUZCWVZFc1IwRkRWbUlzUlVGQlQyTXNaMEpCUVcxQ1pDeEZRVUZQWXl4bFFVRmxUU3hSUVVGUFJpeEZRVUZOTEVsQlFVbHNReXcwUWtGREwwUkpMRVZCUVZOM1FpeExRVUZMV2l4RlFVRlJhMElzU1VGSE0wSmFMRWxCUVdGSExFZEJRMVpVTEVWQlFVOVZMR2RDUVVGdFFsWXNSVUZCVDFVc1pVRkJaVlVzVVVGQlQwWXNSVUZCVFN4SlFVRkpiRU1zTkVKQlF5OUVTU3hGUVVGVGQwSXNTMEZCUzFvc1JVRkJVV3RDTEZOQlJpOUNMRWRCVFVWSExFVkJRVmtzVjBGRFpISkNMRVZCUVU5elFpeEpRVUZKUXl4SFFVRkhMRk5CUVZWbUxFbEJhVUl4UWl4UFFXUkpWQ3hWUVVGVlF5eEpRVU5hUVN4RlFVRlBkVUlzUjBGQlJ5eFhRVUZaWml4SFFVTjBRbElzUlVGQlQzVkNMRWRCUVVjc1VVRkJVMG9zUjBGRFptNUNMRVZCUVU5elFpeEpRVUZMUkN4SlFVRnBRbkpDTEVWQlFVOTFRaXhIUVVGSExGVkJRVmRHTEVsQlF6ZERaaXhKUVVGaFRpeEZRVUZQVlN4cFFrRkZOMEpXTEVWQlFVOTFRaXhIUVVGSExFMUJRVTlvUWl4SFFVTnFRbEFzUlVGQlQzVkNMRWRCUVVjc1VVRkJVMmhDTEVsQlIzSkNVQ3hGUVVGUGRVSXNSMEZCUnl4TlFVRlBVQ3hIUVVOcVFtaENMRVZCUVU5MVFpeEhRVUZITEZOQlFWVm1MRWxCUTBRc1NVRkJaa29zUlVGQlMyOUNMRTlCUVdsQ2VFSXNSVUZCVDNWQ0xFZEJRVWNzVVVGQlUwNHNSMEZETjBOcVFpeEZRVUZQZFVJc1IwRkJSeXhSUVVGVFNpeEhRVU5hTEZkQlEweHVRaXhGUVVGUGVVSXNaVUZCWlN4WFFVRlpha0lzUjBGRGJFTlNMRVZCUVU5NVFpeGxRVUZsTEZGQlFWTk9MRWRCUXk5Q2JrSXNSVUZCVDNsQ0xHVkJRV1VzVlVGQlYwb3NSMEZETjBKeVFpeEZRVUZQYzBJc1MwRkJTM1JDTEVWQlFVOXpRaXhKUVVGSlJ5eGxRVUZsTEZOQlFWVnFRaXhIUVVOd1JGSXNSVUZCVDNsQ0xHVkJRV1VzVFVGQlQyeENMRWRCUXpkQ1VDeEZRVUZQZVVJc1pVRkJaU3hSUVVGVGJFSXNSMEZETDBKUUxFVkJRVTk1UWl4bFFVRmxMRk5CUVZWcVFpeEhRVU5vUTFJc1JVRkJUM2xDTEdWQlFXVXNUVUZCVDFRc1IwRkROMEpvUWl4RlFVRlBlVUlzWlVGQlpTeFJRVUZUVWl4SFFVTXZRbXBDTEVWQlFVOTVRaXhsUVVGbExGRkJRVk5PTEVsQlNXNURUeXhQUVVGUFF5eFJRVUZWZUVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwyVnVaQzF2WmkxemRISmxZVzB1YW5NaWZRPT0iLCJtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlJlYWRhYmxlLmZyb20gaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgYnJvd3NlclwiKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVp5YjIwdFluSnZkM05sY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpUlhKeWIzSWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJRU3hQUVVGUFF5eFJRVUZWTEZkQlEyWXNUVUZCVFN4SlFVRkpReXhOUVVGTklpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OW1jbTl0TFdKeWIzZHpaWEl1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgZW9zO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7cnx8KHI9ITAsZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fXZhciBfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vLi4vLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9NSVNTSU5HX0FSR1M9X3JlcXVpcmUkY29kZXMuRVJSX01JU1NJTkdfQVJHUyxFUlJfU1RSRUFNX0RFU1RST1lFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0RFU1RST1lFRDtmdW5jdGlvbiBub29wKGUpe2lmKGUpdGhyb3cgZX1mdW5jdGlvbiBpc1JlcXVlc3QoZSl7cmV0dXJuIGUuc2V0SGVhZGVyJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmFib3J0fWZ1bmN0aW9uIGRlc3Ryb3llcihlLHIsbixvKXtvPW9uY2Uobyk7dmFyIHQ9ITE7ZS5vbihcImNsb3NlXCIsZnVuY3Rpb24oKXt0PSEwfSksdm9pZCAwPT09ZW9zJiYoZW9zPXJlcXVpcmUoXCIuL2VuZC1vZi1zdHJlYW1cIikpLGVvcyhlLHtyZWFkYWJsZTpyLHdyaXRhYmxlOm59LGZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJuIG8oZSk7dD0hMCxvKCl9KTt2YXIgaT0hMTtyZXR1cm4gZnVuY3Rpb24ocil7aWYoIXQmJiFpKXJldHVybiBpPSEwLGlzUmVxdWVzdChlKT9lLmFib3J0KCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95P2UuZGVzdHJveSgpOnZvaWQgbyhyfHxuZXcgRVJSX1NUUkVBTV9ERVNUUk9ZRUQoXCJwaXBlXCIpKX19ZnVuY3Rpb24gY2FsbChlKXtlKCl9ZnVuY3Rpb24gcGlwZShlLHIpe3JldHVybiBlLnBpcGUocil9ZnVuY3Rpb24gcG9wQ2FsbGJhY2soZSl7cmV0dXJuIGUubGVuZ3RoP1wiZnVuY3Rpb25cIiE9dHlwZW9mIGVbZS5sZW5ndGgtMV0/bm9vcDplLnBvcCgpOm5vb3B9ZnVuY3Rpb24gcGlwZWxpbmUoKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPTA7bjxlO24rKylyW25dPWFyZ3VtZW50c1tuXTt2YXIgbyx0PXBvcENhbGxiYWNrKHIpO2lmKEFycmF5LmlzQXJyYXkoclswXSkmJihyPXJbMF0pLHIubGVuZ3RoPDIpdGhyb3cgbmV3IEVSUl9NSVNTSU5HX0FSR1MoXCJzdHJlYW1zXCIpO3ZhciBpPXIubWFwKGZ1bmN0aW9uKGUsbil7dmFyIHU9bjxyLmxlbmd0aC0xO3JldHVybiBkZXN0cm95ZXIoZSx1LG4+MCxmdW5jdGlvbihlKXtvfHwobz1lKSxlJiZpLmZvckVhY2goY2FsbCksdXx8KGkuZm9yRWFjaChjYWxsKSx0KG8pKX0pfSk7cmV0dXJuIHIucmVkdWNlKHBpcGUpfW1vZHVsZS5leHBvcnRzPXBpcGVsaW5lO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CcGNHVnNhVzVsTG1weklsMHNJbTVoYldWeklqcGJJbVZ2Y3lJc0ltOXVZMlVpTENKallXeHNZbUZqYXlJc0ltTmhiR3hsWkNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lYM0psY1hWcGNtVWtZMjlrWlhNaUxDSnlaWEYxYVhKbElpd2lZMjlrWlhNaUxDSkZVbEpmVFVsVFUwbE9SMTlCVWtkVElpd2lSVkpTWDFOVVVrVkJUVjlFUlZOVVVrOVpSVVFpTENKdWIyOXdJaXdpWlhKeUlpd2lhWE5TWlhGMVpYTjBJaXdpYzNSeVpXRnRJaXdpYzJWMFNHVmhaR1Z5SWl3aVlXSnZjblFpTENKa1pYTjBjbTk1WlhJaUxDSnlaV0ZrYVc1bklpd2lkM0pwZEdsdVp5SXNJbU5zYjNObFpDSXNJbTl1SWl3aWRXNWtaV1pwYm1Wa0lpd2ljbVZoWkdGaWJHVWlMQ0ozY21sMFlXSnNaU0lzSW1SbGMzUnliM2xsWkNJc0ltUmxjM1J5YjNraUxDSmpZV3hzSWl3aVptNGlMQ0p3YVhCbElpd2labkp2YlNJc0luUnZJaXdpY0c5d1EyRnNiR0poWTJzaUxDSnpkSEpsWVcxeklpd2liR1Z1WjNSb0lpd2ljRzl3SWl3aWNHbHdaV3hwYm1VaUxDSmZiR1Z1SWl3aVFYSnlZWGtpTENKZmEyVjVJaXdpWlhKeWIzSWlMQ0pwYzBGeWNtRjVJaXdpWkdWemRISnZlWE1pTENKdFlYQWlMQ0pwSWl3aVptOXlSV0ZqYUNJc0luSmxaSFZqWlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVWQkxHRkJSVUVzU1VGQlNVRXNTVUZGU2l4VFFVRlRReXhMUVVGTFF5eEhRVU5hTEVsQlFVbERMRWRCUVZNc1JVRkRZaXhQUVVGUExGZEJRMFJCTEVsQlEwcEJMRWRCUVZNc1JVRkRWRVFzUlVGQlUwVXNWMEZCVFN4RlFVRlJReXhoUVVrelFpeEpRVUZKUXl4bFFVRnBRa01zVVVGQlVTeHRRa0ZCYlVKRExFMUJRelZEUXl4cFFrRkJiVUpJTEdWQlFXVkhMR2xDUVVOc1EwTXNjVUpCUVhWQ1NpeGxRVUZsU1N4eFFrRkZNVU1zVTBGQlUwTXNTMEZCUzBNc1IwRkZXaXhIUVVGSlFTeEZRVUZMTEUxQlFVMUJMRVZCUjJwQ0xGTkJRVk5ETEZWQlFWVkRMRWRCUTJwQ0xFOUJRVTlCTEVWQlFVOURMRmRCUVhGRExHMUNRVUZxUWtRc1JVRkJUMFVzVFVGSE0wTXNVMEZCVTBNc1ZVRkJWVWdzUlVGQlVVa3NSVUZCVTBNc1JVRkJVMnBDTEVkQlF6TkRRU3hGUVVGWFJDeExRVUZMUXl4SFFVTm9RaXhKUVVGSmEwSXNSMEZCVXl4RlFVTmlUaXhGUVVGUFR5eEhRVUZITEZGQlFWTXNWMEZEYWtKRUxFZEJRVk1zVTBGRlEwVXNTVUZCVW5SQ0xFMUJRVzFDUVN4SlFVRk5UeXhSUVVGUkxHOUNRVU55UTFBc1NVRkJTV01zUlVGQlVTeERRVU5XVXl4VFFVRlZUQ3hGUVVOV1RTeFRRVUZWVEN4SFFVTlVMRk5CUVZWUUxFZEJRMWdzUjBGQlNVRXNSVUZCU3l4UFFVRlBWaXhGUVVGVFZTeEhRVU42UWxFc1IwRkJVeXhGUVVOVWJFSXNUVUZGUml4SlFVRkpkVUlzUjBGQldTeEZRVU5vUWl4UFFVRlBMRk5CUVZWaUxFZEJRMllzU1VGQlNWRXNTVUZEUVVzc1JVRkhTaXhQUVVaQlFTeEhRVUZaTEVWQlJWSmFMRlZCUVZWRExFZEJRV2RDUVN4RlFVRlBSU3hSUVVOUUxHMUNRVUZ1UWtZc1JVRkJUMWtzVVVGQkswSmFMRVZCUVU5WkxHVkJRM2hFZUVJc1JVRkJVMVVzUjBGQlR5eEpRVUZKUml4eFFrRkJjVUlzVlVGSk4wTXNVMEZCVTJsQ0xFdEJRVXRETEVkQlExcEJMRWxCUjBZc1UwRkJVME1zUzBGQlMwTXNSVUZCVFVNc1IwRkRiRUlzVDBGQlQwUXNSVUZCUzBRc1MwRkJTMFVzUjBGSGJrSXNVMEZCVTBNc1dVRkJXVU1zUjBGRGJrSXNUMEZCUzBFc1JVRkJVVU1zVDBGRE9FSXNiVUpCUVdoRFJDeEZRVUZSUVN4RlFVRlJReXhQUVVGVExFZEJRVEJDZGtJc1MwRkRka1J6UWl4RlFVRlJSU3hOUVVaaGVFSXNTMEZMT1VJc1UwRkJVM2xDTEZkQlExQXNTVUZCU3l4SlFVRkpReXhGUVVGUGFFTXNWVUZCVlRaQ0xFOUJRVkZFTEVWQlFWVXNTVUZCU1Vzc1RVRkJUVVFzUjBGQlQwVXNSVUZCVHl4RlFVRkhRU3hGUVVGUFJpeEZRVUZOUlN4SlFVTnNSazRzUlVGQlVVMHNSMEZCVVd4RExGVkJRVlZyUXl4SFFVYzFRaXhKUVU5SlF5eEZRVkJCZEVNc1JVRkJWemhDTEZsQlFWbERMRWRCUnpOQ0xFZEJSa2xMTEUxQlFVMUhMRkZCUVZGU0xFVkJRVkVzVFVGQlMwRXNSVUZCVlVFc1JVRkJVU3hKUVVVM1EwRXNSVUZCVVVNc1QwRkJVeXhGUVVOdVFpeE5RVUZOTEVsQlFVbDZRaXhwUWtGQmFVSXNWMEZKTjBJc1NVRkJTV2xETEVWQlFWZFVMRVZCUVZGVkxFbEJRVWtzVTBGQlZUZENMRVZCUVZFNFFpeEhRVU16UXl4SlFVRkpNVUlzUlVGQlZUQkNMRVZCUVVsWUxFVkJRVkZETEU5QlFWTXNSVUZGYmtNc1QwRkJUMnBDTEZWQlFWVklMRVZCUVZGSkxFVkJSRmd3UWl4RlFVRkpMRVZCUTNsQ0xGTkJRVlZvUXl4SFFVTTVRelJDTEVsQlFVOUJMRVZCUVZFMVFpeEhRVU5vUWtFc1IwRkJTemhDTEVWQlFWTkhMRkZCUVZGc1FpeE5RVU4wUWxRc1NVRkRTbmRDTEVWQlFWTkhMRkZCUVZGc1FpeE5RVU5xUW5wQ0xFVkJRVk56UXl4UlFVZGlMRTlCUVU5UUxFVkJRVkZoTEU5QlFVOXFRaXhOUVVkNFFtdENMRTlCUVU5RExGRkJRVlZhSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5d2FYQmxiR2x1WlM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgRVJSX0lOVkFMSURfT1BUX1ZBTFVFPXJlcXVpcmUoXCIuLi8uLi8uLi9lcnJvcnNcIikuY29kZXMuRVJSX0lOVkFMSURfT1BUX1ZBTFVFO2Z1bmN0aW9uIGhpZ2hXYXRlck1hcmtGcm9tKHIsZSx0KXtyZXR1cm4gbnVsbCE9ci5oaWdoV2F0ZXJNYXJrP3IuaGlnaFdhdGVyTWFyazplP3JbdF06bnVsbH1mdW5jdGlvbiBnZXRIaWdoV2F0ZXJNYXJrKHIsZSx0LGEpe3ZhciBpPWhpZ2hXYXRlck1hcmtGcm9tKGUsYSx0KTtpZihudWxsIT1pKXtpZighaXNGaW5pdGUoaSl8fE1hdGguZmxvb3IoaSkhPT1pfHxpPDApdGhyb3cgbmV3IEVSUl9JTlZBTElEX09QVF9WQUxVRShhP3Q6XCJoaWdoV2F0ZXJNYXJrXCIsaSk7cmV0dXJuIE1hdGguZmxvb3IoaSl9cmV0dXJuIHIub2JqZWN0TW9kZT8xNjoxNjM4NH1tb2R1bGUuZXhwb3J0cz17Z2V0SGlnaFdhdGVyTWFyazpnZXRIaWdoV2F0ZXJNYXJrfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBZWFJsTG1weklsMHNJbTVoYldWeklqcGJJa1ZTVWw5SlRsWkJURWxFWDA5UVZGOVdRVXhWUlNJc0luSmxjWFZwY21VaUxDSmpiMlJsY3lJc0ltaHBaMmhYWVhSbGNrMWhjbXRHY205dElpd2liM0IwYVc5dWN5SXNJbWx6UkhWd2JHVjRJaXdpWkhWd2JHVjRTMlY1SWl3aWFHbG5hRmRoZEdWeVRXRnlheUlzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKemRHRjBaU0lzSW1oM2JTSXNJbWx6Um1sdWFYUmxJaXdpVFdGMGFDSXNJbVpzYjI5eUlpd2liMkpxWldOMFRXOWtaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNTVUZCU1VFc2MwSkJRWGRDUXl4UlFVRlJMRzFDUVVGdFFrTXNUVUZCVFVZc2MwSkJSVGRFTEZOQlFWTkhMR3RDUVVGclFrTXNSVUZCVTBNc1JVRkJWVU1zUjBGRE5VTXNUMEZCWjBNc1RVRkJla0pHTEVWQlFWRkhMR05CUVhkQ1NDeEZRVUZSUnl4alFVRm5Ra1lzUlVGQlYwUXNSVUZCVVVVc1IwRkJZU3hMUVVkcVJ5eFRRVUZUUlN4cFFrRkJhVUpETEVWQlFVOU1MRVZCUVZORkxFVkJRVmRFTEVkQlEyNUVMRWxCUVVsTExFVkJRVTFRTEd0Q1FVRnJRa01zUlVGQlUwTXNSVUZCVlVNc1IwRkZMME1zUjBGQlZ5eE5RVUZRU1N4RlFVRmhMRU5CUTJZc1NVRkJUVU1zVTBGQlUwUXNTVUZCVVVVc1MwRkJTME1zVFVGQlRVZ3NTMEZCVTBFc1IwRkJVVUVzUlVGQlRTeEZRVVYyUkN4TlFVRk5MRWxCUVVsV0xITkNRVVJEU3l4RlFVRlhReXhGUVVGWkxHZENRVU5KU1N4SFFVZDRReXhQUVVGUFJTeExRVUZMUXl4TlFVRk5TQ3hIUVVsd1FpeFBRVUZQUkN4RlFVRk5TeXhYUVVGaExFZEJRVXNzVFVGSGFrTkRMRTlCUVU5RExGRkJRVlVzUTBGRFpsSXNhVUpCUVd0Q1FTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1JoZEdVdWFuTWlmUT09IiwibW9kdWxlLmV4cG9ydHM9cmVxdWlyZShcImV2ZW50c1wiKS5FdmVudEVtaXR0ZXI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk4wY21WaGJTMWljbTkzYzJWeUxtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKeVpYRjFhWEpsSWl3aVJYWmxiblJGYldsMGRHVnlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVUVzVDBGQlQwTXNVVUZCVlVNc1VVRkJVU3hWUVVGVlF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1J5WldGdExXSnliM2R6WlhJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIEJ1ZmZlcj1yZXF1aXJlKFwic2FmZS1idWZmZXJcIikuQnVmZmVyLGlzRW5jb2Rpbmc9QnVmZmVyLmlzRW5jb2Rpbmd8fGZ1bmN0aW9uKHQpe3N3aXRjaCgodD1cIlwiK3QpJiZ0LnRvTG93ZXJDYXNlKCkpe2Nhc2VcImhleFwiOmNhc2VcInV0ZjhcIjpjYXNlXCJ1dGYtOFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwiYmluYXJ5XCI6Y2FzZVwiYmFzZTY0XCI6Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6Y2FzZVwicmF3XCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O2Z1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyh0KXtpZighdClyZXR1cm5cInV0ZjhcIjtmb3IodmFyIGU7Oylzd2l0Y2godCl7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuXCJ1dGY4XCI7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuXCJ1dGYxNmxlXCI7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuXCJsYXRpbjFcIjtjYXNlXCJiYXNlNjRcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImhleFwiOnJldHVybiB0O2RlZmF1bHQ6aWYoZSlyZXR1cm47dD0oXCJcIit0KS50b0xvd2VyQ2FzZSgpLGU9ITB9fWZ1bmN0aW9uIG5vcm1hbGl6ZUVuY29kaW5nKHQpe3ZhciBlPV9ub3JtYWxpemVFbmNvZGluZyh0KTtpZihcInN0cmluZ1wiIT10eXBlb2YgZSYmKEJ1ZmZlci5pc0VuY29kaW5nPT09aXNFbmNvZGluZ3x8IWlzRW5jb2RpbmcodCkpKXRocm93IG5ldyBFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK3QpO3JldHVybiBlfHx0fWZ1bmN0aW9uIFN0cmluZ0RlY29kZXIodCl7dmFyIGU7c3dpdGNoKHRoaXMuZW5jb2Rpbmc9bm9ybWFsaXplRW5jb2RpbmcodCksdGhpcy5lbmNvZGluZyl7Y2FzZVwidXRmMTZsZVwiOnRoaXMudGV4dD11dGYxNlRleHQsdGhpcy5lbmQ9dXRmMTZFbmQsZT00O2JyZWFrO2Nhc2VcInV0ZjhcIjp0aGlzLmZpbGxMYXN0PXV0ZjhGaWxsTGFzdCxlPTQ7YnJlYWs7Y2FzZVwiYmFzZTY0XCI6dGhpcy50ZXh0PWJhc2U2NFRleHQsdGhpcy5lbmQ9YmFzZTY0RW5kLGU9MzticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLndyaXRlPXNpbXBsZVdyaXRlLHZvaWQodGhpcy5lbmQ9c2ltcGxlRW5kKX10aGlzLmxhc3ROZWVkPTAsdGhpcy5sYXN0VG90YWw9MCx0aGlzLmxhc3RDaGFyPUJ1ZmZlci5hbGxvY1Vuc2FmZShlKX1mdW5jdGlvbiB1dGY4Q2hlY2tCeXRlKHQpe3JldHVybiB0PD0xMjc/MDp0Pj41PT02PzI6dD4+ND09MTQ/Mzp0Pj4zPT0zMD80OnQ+PjY9PTI/LTE6LTJ9ZnVuY3Rpb24gdXRmOENoZWNrSW5jb21wbGV0ZSh0LGUscyl7dmFyIGk9ZS5sZW5ndGgtMTtpZihpPHMpcmV0dXJuIDA7dmFyIG49dXRmOENoZWNrQnl0ZShlW2ldKTtyZXR1cm4gbj49MD8obj4wJiYodC5sYXN0TmVlZD1uLTEpLG4pOi0taTxzfHwtMj09PW4/MDoobj11dGY4Q2hlY2tCeXRlKGVbaV0pKT49MD8obj4wJiYodC5sYXN0TmVlZD1uLTIpLG4pOi0taTxzfHwtMj09PW4/MDoobj11dGY4Q2hlY2tCeXRlKGVbaV0pKT49MD8obj4wJiYoMj09PW4/bj0wOnQubGFzdE5lZWQ9bi0zKSxuKTowfWZ1bmN0aW9uIHV0ZjhDaGVja0V4dHJhQnl0ZXModCxlLHMpe2lmKDEyOCE9KDE5MiZlWzBdKSlyZXR1cm4gdC5sYXN0TmVlZD0wLFwi77+9XCI7aWYodC5sYXN0TmVlZD4xJiZlLmxlbmd0aD4xKXtpZigxMjghPSgxOTImZVsxXSkpcmV0dXJuIHQubGFzdE5lZWQ9MSxcIu+/vVwiO2lmKHQubGFzdE5lZWQ+MiYmZS5sZW5ndGg+MiYmMTI4IT0oMTkyJmVbMl0pKXJldHVybiB0Lmxhc3ROZWVkPTIsXCLvv71cIn19ZnVuY3Rpb24gdXRmOEZpbGxMYXN0KHQpe3ZhciBlPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQscz11dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsdCxlKTtyZXR1cm4gdm9pZCAwIT09cz9zOnRoaXMubGFzdE5lZWQ8PXQubGVuZ3RoPyh0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdGhpcy5sYXN0TmVlZCksdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwpKToodC5jb3B5KHRoaXMubGFzdENoYXIsZSwwLHQubGVuZ3RoKSx2b2lkKHRoaXMubGFzdE5lZWQtPXQubGVuZ3RoKSl9ZnVuY3Rpb24gdXRmOFRleHQodCxlKXt2YXIgcz11dGY4Q2hlY2tJbmNvbXBsZXRlKHRoaXMsdCxlKTtpZighdGhpcy5sYXN0TmVlZClyZXR1cm4gdC50b1N0cmluZyhcInV0ZjhcIixlKTt0aGlzLmxhc3RUb3RhbD1zO3ZhciBpPXQubGVuZ3RoLShzLXRoaXMubGFzdE5lZWQpO3JldHVybiB0LmNvcHkodGhpcy5sYXN0Q2hhciwwLGkpLHQudG9TdHJpbmcoXCJ1dGY4XCIsZSxpKX1mdW5jdGlvbiB1dGY4RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lK1wi77+9XCI6ZX1mdW5jdGlvbiB1dGYxNlRleHQodCxlKXtpZigodC5sZW5ndGgtZSklMj09MCl7dmFyIHM9dC50b1N0cmluZyhcInV0ZjE2bGVcIixlKTtpZihzKXt2YXIgaT1zLmNoYXJDb2RlQXQocy5sZW5ndGgtMSk7aWYoaT49NTUyOTYmJmk8PTU2MzE5KXJldHVybiB0aGlzLmxhc3ROZWVkPTIsdGhpcy5sYXN0VG90YWw9NCx0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdLHMuc2xpY2UoMCwtMSl9cmV0dXJuIHN9cmV0dXJuIHRoaXMubGFzdE5lZWQ9MSx0aGlzLmxhc3RUb3RhbD0yLHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0xXSx0LnRvU3RyaW5nKFwidXRmMTZsZVwiLGUsdC5sZW5ndGgtMSl9ZnVuY3Rpb24gdXRmMTZFbmQodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwiO2lmKHRoaXMubGFzdE5lZWQpe3ZhciBzPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7cmV0dXJuIGUrdGhpcy5sYXN0Q2hhci50b1N0cmluZyhcInV0ZjE2bGVcIiwwLHMpfXJldHVybiBlfWZ1bmN0aW9uIGJhc2U2NFRleHQodCxlKXt2YXIgcz0odC5sZW5ndGgtZSklMztyZXR1cm4gMD09PXM/dC50b1N0cmluZyhcImJhc2U2NFwiLGUpOih0aGlzLmxhc3ROZWVkPTMtcyx0aGlzLmxhc3RUb3RhbD0zLDE9PT1zP3RoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0xXToodGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09dFt0Lmxlbmd0aC0xXSksdC50b1N0cmluZyhcImJhc2U2NFwiLGUsdC5sZW5ndGgtcykpfWZ1bmN0aW9uIGJhc2U2NEVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/ZSt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwiYmFzZTY0XCIsMCwzLXRoaXMubGFzdE5lZWQpOmV9ZnVuY3Rpb24gc2ltcGxlV3JpdGUodCl7cmV0dXJuIHQudG9TdHJpbmcodGhpcy5lbmNvZGluZyl9ZnVuY3Rpb24gc2ltcGxlRW5kKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCJ9ZXhwb3J0cy5TdHJpbmdEZWNvZGVyPVN0cmluZ0RlY29kZXIsU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7aWYoMD09PXQubGVuZ3RoKXJldHVyblwiXCI7dmFyIGUscztpZih0aGlzLmxhc3ROZWVkKXtpZih2b2lkIDA9PT0oZT10aGlzLmZpbGxMYXN0KHQpKSlyZXR1cm5cIlwiO3M9dGhpcy5sYXN0TmVlZCx0aGlzLmxhc3ROZWVkPTB9ZWxzZSBzPTA7cmV0dXJuIHM8dC5sZW5ndGg/ZT9lK3RoaXMudGV4dCh0LHMpOnRoaXMudGV4dCh0LHMpOmV8fFwiXCJ9LFN0cmluZ0RlY29kZXIucHJvdG90eXBlLmVuZD11dGY4RW5kLFN0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQ9dXRmOFRleHQsU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3Q9ZnVuY3Rpb24odCl7aWYodGhpcy5sYXN0TmVlZDw9dC5sZW5ndGgpcmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCk7dC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHQubGVuZ3RoKSx0aGlzLmxhc3ROZWVkLT10Lmxlbmd0aH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk4wY21sdVoxOWtaV052WkdWeUxtcHpJbDBzSW01aGJXVnpJanBiSWtKMVptWmxjaUlzSW5KbGNYVnBjbVVpTENKcGMwVnVZMjlrYVc1bklpd2laVzVqYjJScGJtY2lMQ0owYjB4dmQyVnlRMkZ6WlNJc0lsOXViM0p0WVd4cGVtVkZibU52WkdsdVp5SXNJbVZ1WXlJc0luSmxkSEpwWldRaUxDSnViM0p0WVd4cGVtVkZibU52WkdsdVp5SXNJbTVsYm1NaUxDSkZjbkp2Y2lJc0lsTjBjbWx1WjBSbFkyOWtaWElpTENKdVlpSXNJblJvYVhNaUxDSjBaWGgwSWl3aWRYUm1NVFpVWlhoMElpd2laVzVrSWl3aWRYUm1NVFpGYm1RaUxDSm1hV3hzVEdGemRDSXNJblYwWmpoR2FXeHNUR0Z6ZENJc0ltSmhjMlUyTkZSbGVIUWlMQ0ppWVhObE5qUkZibVFpTENKM2NtbDBaU0lzSW5OcGJYQnNaVmR5YVhSbElpd2ljMmx0Y0d4bFJXNWtJaXdpYkdGemRFNWxaV1FpTENKc1lYTjBWRzkwWVd3aUxDSnNZWE4wUTJoaGNpSXNJbUZzYkc5alZXNXpZV1psSWl3aWRYUm1PRU5vWldOclFubDBaU0lzSW1KNWRHVWlMQ0oxZEdZNFEyaGxZMnRKYm1OdmJYQnNaWFJsSWl3aWMyVnNaaUlzSW1KMVppSXNJbWtpTENKcUlpd2liR1Z1WjNSb0lpd2lkWFJtT0VOb1pXTnJSWGgwY21GQ2VYUmxjeUlzSW5BaUxDSnlJaXdpZFc1a1pXWnBibVZrSWl3aVkyOXdlU0lzSW5SdlUzUnlhVzVuSWl3aWRYUm1PRlJsZUhRaUxDSjBiM1JoYkNJc0luVjBaamhGYm1RaUxDSmpJaXdpWTJoaGNrTnZaR1ZCZENJc0luTnNhV05sSWl3aWJpSXNJbVY0Y0c5eWRITWlMQ0p3Y205MGIzUjVjR1VpWFN3aWJXRndjR2x1WjNNaU9pSkJRWEZDUVN4aFFVbEJMRWxCUVVsQkxFOUJRVk5ETEZGQlFWRXNaVUZCWlVRc1QwRkhhRU5GTEZkQlFXRkdMRTlCUVU5RkxGbEJRV01zVTBGQlZVTXNSMEZGT1VNc1VVRkVRVUVzUlVGQlZ5eEhRVUZMUVN4SlFVTkpRU3hGUVVGVFF5eGxRVU16UWl4SlFVRkxMRTFCUVUwc1NVRkJTeXhQUVVGUExFbEJRVXNzVVVGQlVTeEpRVUZMTEZGQlFWRXNTVUZCU3l4VFFVRlRMRWxCUVVzc1UwRkJVeXhKUVVGTExFOUJRVThzU1VGQlN5eFJRVUZSTEVsQlFVc3NWVUZCVlN4SlFVRkxMRmRCUVZjc1NVRkJTeXhOUVVONFNTeFBRVUZQTEVWQlExUXNVVUZEUlN4UFFVRlBMRWxCU1dJc1UwRkJVME1zYlVKQlFXMUNReXhIUVVNeFFpeEpRVUZMUVN4RlFVRkxMRTFCUVU4c1QwRkZha0lzU1VGRVFTeEpRVUZKUXl4SlFVVkdMRTlCUVZGRUxFZEJRMDRzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEU0N4TlFVRlBMRTlCUTFRc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTFCUVU4c1ZVRkRWQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFRRVU5JTEUxQlFVOHNVMEZEVkN4SlFVRkxMRk5CUTB3c1NVRkJTeXhSUVVOTUxFbEJRVXNzVFVGRFNDeFBRVUZQUVN4RlFVTlVMRkZCUTBVc1IwRkJTVU1zUlVGQlV5eFBRVU5pUkN4SFFVRlBMRWRCUVV0QkxFZEJRVXRHTEdOQlEycENSeXhIUVVGVkxFZEJUMnhDTEZOQlFWTkRMR3RDUVVGclFrWXNSMEZEZWtJc1NVRkJTVWNzUlVGQlQwb3NiVUpCUVcxQ1F5eEhRVU01UWl4SFFVRnZRaXhwUWtGQlZFY3NTVUZCYzBKVUxFOUJRVTlGTEdGQlFXVkJMR0ZCUVdWQkxGZEJRVmRKTEVsQlFVOHNUVUZCVFN4SlFVRkpTU3hOUVVGTkxIRkNRVUYxUWtvc1IwRkRMMGdzVDBGQlQwY3NSMEZCVVVnc1JVRlBha0lzVTBGQlUwc3NZMEZCWTFJc1IwRkZja0lzU1VGQlNWTXNSVUZEU2l4UFFVWkJReXhMUVVGTFZpeFRRVUZYU3l4clFrRkJhMEpNTEVkQlJURkNWU3hMUVVGTFZpeFZRVU5ZTEVsQlFVc3NWVUZEU0ZVc1MwRkJTME1zUzBGQlQwTXNWVUZEV2tZc1MwRkJTMGNzU1VGQlRVTXNVMEZEV0V3c1JVRkJTeXhGUVVOTUxFMUJRMFlzU1VGQlN5eFBRVU5JUXl4TFFVRkxTeXhUUVVGWFF5eGhRVU5vUWxBc1JVRkJTeXhGUVVOTUxFMUJRMFlzU1VGQlN5eFRRVU5JUXl4TFFVRkxReXhMUVVGUFRTeFhRVU5hVUN4TFFVRkxSeXhKUVVGTlN5eFZRVU5ZVkN4RlFVRkxMRVZCUTB3c1RVRkRSaXhSUVVkRkxFOUJSa0ZETEV0QlFVdFRMRTFCUVZGRExHbENRVU5pVml4TFFVRkxSeXhKUVVGTlVTeFhRVWRtV0N4TFFVRkxXU3hUUVVGWExFVkJRMmhDV2l4TFFVRkxZU3hWUVVGWkxFVkJRMnBDWWl4TFFVRkxZeXhUUVVGWE0wSXNUMEZCVHpSQ0xGbEJRVmxvUWl4SFFXOURja01zVTBGQlUybENMR05CUVdORExFZEJRM0pDTEU5QlFVbEJMRWRCUVZFc1NVRkJZU3hGUVVGWFFTeEhRVUZSTEVkQlFVMHNSVUZCWVN4RlFVRlhRU3hIUVVGUkxFZEJRVTBzUjBGQllTeEZRVUZYUVN4SFFVRlJMRWRCUVUwc1IwRkJZU3hGUVVOd1NVRXNSMEZCVVN4SFFVRk5MRWRCUVZFc1IwRkJTeXhGUVUxd1F5eFRRVUZUUXl4dlFrRkJiMEpETEVWQlFVMURMRVZCUVV0RExFZEJRM1JETEVsQlFVbERMRVZCUVVsR0xFVkJRVWxITEU5QlFWTXNSVUZEY2tJc1IwRkJTVVFzUlVGQlNVUXNSVUZCUnl4UFFVRlBMRVZCUTJ4Q0xFbEJRVWwwUWl4RlFVRkxhVUlzWTBGQlkwa3NSVUZCU1VVc1NVRkRNMElzVDBGQlNYWkNMRWRCUVUwc1IwRkRTa0VzUlVGQlN5eEpRVUZIYjBJc1JVRkJTMUFzVTBGQlYySXNSVUZCU3l4SFFVTXhRa0VzUzBGRlNIVkNMRVZCUVVsRUxFbEJRV0VzU1VGQlVuUkNMRVZCUVd0Q0xFZEJRMnBEUVN4RlFVRkxhVUlzWTBGQlkwa3NSVUZCU1VVc1RVRkRZaXhIUVVOS2RrSXNSVUZCU3l4SlFVRkhiMElzUlVGQlMxQXNVMEZCVjJJc1JVRkJTeXhIUVVNeFFrRXNTMEZGU0hWQ0xFVkJRVWxFTEVsQlFXRXNTVUZCVW5SQ0xFVkJRV3RDTEVkQlEycERRU3hGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzVFVGRFlpeEhRVU5LZGtJc1JVRkJTeXhKUVVOSkxFbEJRVkJCTEVWQlFWVkJMRVZCUVVzc1JVRkJUMjlDTEVWQlFVdFFMRk5CUVZkaUxFVkJRVXNzUjBGRk1VTkJMRWRCUlVZc1JVRlhWQ3hUUVVGVGVVSXNiMEpCUVc5Q1RDeEZRVUZOUXl4RlFVRkxTeXhIUVVOMFF5eEhRVUYzUWl4TlFVRldMRWxCUVZSTUxFVkJRVWtzU1VGRlVDeFBRVVJCUkN4RlFVRkxVQ3hUUVVGWExFVkJRMVFzU1VGRlZDeEhRVUZKVHl4RlFVRkxVQ3hUUVVGWExFZEJRVXRSTEVWQlFVbEhMRTlCUVZNc1JVRkJSeXhEUVVOMlF5eEhRVUYzUWl4TlFVRldMRWxCUVZSSUxFVkJRVWtzU1VGRlVDeFBRVVJCUkN4RlFVRkxVQ3hUUVVGWExFVkJRMVFzU1VGRlZDeEhRVUZKVHl4RlFVRkxVQ3hUUVVGWExFZEJRVXRSTEVWQlFVbEhMRTlCUVZNc1IwRkRXaXhOUVVGV0xFbEJRVlJJTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTMEZQWml4VFFVRlRUaXhoUVVGaFl5eEhRVU53UWl4SlFVRkpTeXhGUVVGSmVrSXNTMEZCUzJFc1ZVRkJXV0lzUzBGQlMxa3NVMEZETVVKakxFVkJRVWxHTEc5Q1FVRnZRbmhDTEV0QlFVMXZRaXhGUVVGTFN5eEhRVU4yUXl4WlFVRlZSU3hKUVVGT1JDeEZRVUYzUWtFc1JVRkRlRUl4UWl4TFFVRkxXU3hWUVVGWlVTeEZRVUZKUnl4UlFVTjJRa2dzUlVGQlNWRXNTMEZCU3pWQ0xFdEJRVXRqTEZOQlFWVlhMRVZCUVVjc1JVRkJSM3BDTEV0QlFVdFpMRlZCUXpWQ1dpeExRVUZMWXl4VFFVRlRaU3hUUVVGVE4wSXNTMEZCUzFZc1UwRkJWU3hGUVVGSFZTeExRVUZMWVN4aFFVVjJSRThzUlVGQlNWRXNTMEZCU3pWQ0xFdEJRVXRqTEZOQlFWVlhMRVZCUVVjc1JVRkJSMHdzUlVGQlNVY3NZVUZEYkVOMlFpeExRVUZMV1N4VlFVRlpVU3hGUVVGSlJ5eFRRVTEyUWl4VFFVRlRUeXhUUVVGVFZpeEZRVUZMUXl4SFFVTnlRaXhKUVVGSlZTeEZRVUZSWWl4dlFrRkJiMEpzUWl4TFFVRk5iMElzUlVGQlMwTXNSMEZETTBNc1NVRkJTM0pDTEV0QlFVdFpMRk5CUVZVc1QwRkJUMUVzUlVGQlNWTXNVMEZCVXl4UFFVRlJVaXhIUVVOb1JISkNMRXRCUVV0aExGVkJRVmxyUWl4RlFVTnFRaXhKUVVGSk5VSXNSVUZCVFdsQ0xFVkJRVWxITEZGQlFWVlJMRVZCUVZFdlFpeExRVUZMV1N4VlFVVnlReXhQUVVSQlVTeEZRVUZKVVN4TFFVRkxOVUlzUzBGQlMyTXNVMEZCVlN4RlFVRkhXQ3hIUVVOd1FtbENMRVZCUVVsVExGTkJRVk1zVDBGQlVWSXNSVUZCUjJ4Q0xFZEJTMnBETEZOQlFWTTJRaXhSUVVGUldpeEhRVU5tTEVsQlFVbE5MRVZCUVVsT0xFZEJRVTlCTEVWQlFVbEhMRTlCUVZOMlFpeExRVUZMVXl4TlFVRk5WeXhIUVVGUExFZEJRemxETEU5QlFVbHdRaXhMUVVGTFdTeFRRVUZwUW1Nc1JVRkJTU3hKUVVOMlFrRXNSVUZQVkN4VFFVRlRlRUlzVlVGQlZXdENMRVZCUVV0RExFZEJRM1JDTEVsQlFVdEVMRVZCUVVsSExFOUJRVk5HTEVkQlFVc3NSMEZCVFN4RlFVRkhMRU5CUXpsQ0xFbEJRVWxMTEVWQlFVbE9MRVZCUVVsVExGTkJRVk1zVlVGQlYxSXNSMEZEYUVNc1IwRkJTVXNzUlVGQlJ5eERRVU5NTEVsQlFVbFBMRVZCUVVsUUxFVkJRVVZSTEZkQlFWZFNMRVZCUVVWSUxFOUJRVk1zUjBGRGFFTXNSMEZCU1ZVc1IwRkJTeXhQUVVGVlFTeEhRVUZMTEUxQlMzUkNMRTlCU2tGcVF5eExRVUZMV1N4VFFVRlhMRVZCUTJoQ1dpeExRVUZMWVN4VlFVRlpMRVZCUTJwQ1lpeExRVUZMWXl4VFFVRlRMRWRCUVV0TkxFVkJRVWxCTEVWQlFVbEhMRTlCUVZNc1IwRkRjRU4yUWl4TFFVRkxZeXhUUVVGVExFZEJRVXROTEVWQlFVbEJMRVZCUVVsSExFOUJRVk1zUjBGRE4wSkhMRVZCUVVWVExFMUJRVTBzUjBGQlNTeEhRVWQyUWl4UFFVRlBWQ3hGUVV0VUxFOUJTRUV4UWl4TFFVRkxXU3hUUVVGWExFVkJRMmhDV2l4TFFVRkxZU3hWUVVGWkxFVkJRMnBDWWl4TFFVRkxZeXhUUVVGVExFZEJRVXROTEVWQlFVbEJMRVZCUVVsSExFOUJRVk1zUjBGRE4wSklMRVZCUVVsVExGTkJRVk1zVlVGQlYxSXNSVUZCUjBRc1JVRkJTVWNzVDBGQlV5eEhRVXRxUkN4VFFVRlRia0lzVTBGQlUyZENMRWRCUTJoQ0xFbEJRVWxOTEVWQlFVbE9MRWRCUVU5QkxFVkJRVWxITEU5QlFWTjJRaXhMUVVGTFV5eE5RVUZOVnl4SFFVRlBMRWRCUXpsRExFZEJRVWx3UWl4TFFVRkxXU3hUUVVGVkxFTkJRMnBDTEVsQlFVbFVMRVZCUVUxSUxFdEJRVXRoTEZWQlFWbGlMRXRCUVV0WkxGTkJRMmhETEU5QlFVOWpMRVZCUVVreFFpeExRVUZMWXl4VFFVRlRaU3hUUVVGVExGVkJRVmNzUlVGQlJ6RkNMRWRCUld4RUxFOUJRVTkxUWl4RlFVZFVMRk5CUVZOdVFpeFhRVUZYWVN4RlFVRkxReXhIUVVOMlFpeEpRVUZKWlN4SFFVRkxhRUlzUlVGQlNVY3NUMEZCVTBZc1IwRkJTeXhGUVVNelFpeFBRVUZWTEVsQlFVNWxMRVZCUVdkQ2FFSXNSVUZCU1ZNc1UwRkJVeXhUUVVGVlVpeEpRVU16UTNKQ0xFdEJRVXRaTEZOQlFWY3NSVUZCU1hkQ0xFVkJRM0JDY0VNc1MwRkJTMkVzVlVGQldTeEZRVU5RTEVsQlFVNTFRaXhGUVVOR2NFTXNTMEZCUzJNc1UwRkJVeXhIUVVGTFRTeEZRVUZKUVN4RlFVRkpSeXhQUVVGVExFbEJSWEJEZGtJc1MwRkJTMk1zVTBGQlV5eEhRVUZMVFN4RlFVRkpRU3hGUVVGSlJ5eFBRVUZUTEVkQlEzQkRka0lzUzBGQlMyTXNVMEZCVXl4SFFVRkxUU3hGUVVGSlFTeEZRVUZKUnl4UFFVRlRMRWxCUlM5Q1NDeEZRVUZKVXl4VFFVRlRMRk5CUVZWU0xFVkJRVWRFTEVWQlFVbEhMRTlCUVZOaExFbEJSMmhFTEZOQlFWTTFRaXhWUVVGVldTeEhRVU5xUWl4SlFVRkpUU3hGUVVGSlRpeEhRVUZQUVN4RlFVRkpSeXhQUVVGVGRrSXNTMEZCUzFNc1RVRkJUVmNzUjBGQlR5eEhRVU01UXl4UFFVRkpjRUlzUzBGQlMxa3NVMEZCYVVKakxFVkJRVWt4UWl4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTEZOQlFWVXNSVUZCUnl4RlFVRkpOMElzUzBGQlMxa3NWVUZEY0VWakxFVkJTVlFzVTBGQlUyaENMRmxCUVZsVkxFZEJRMjVDTEU5QlFVOUJMRVZCUVVsVExGTkJRVk0zUWl4TFFVRkxWaXhWUVVjelFpeFRRVUZUY1VJc1ZVRkJWVk1zUjBGRGFrSXNUMEZCVDBFc1IwRkJUMEVzUlVGQlNVY3NUMEZCVTNaQ0xFdEJRVXRUTEUxQlFVMVhMRWRCUVU4c1IwRjZUaTlEYVVJc1VVRkJVWFpETEdOQlFXZENRU3hqUVRaQ2VFSkJMR05CUVdOM1F5eFZRVUZWTjBJc1RVRkJVU3hUUVVGVlZ5eEhRVU40UXl4SFFVRnRRaXhKUVVGbVFTeEZRVUZKUnl4UFFVRmpMRTFCUVU4c1IwRkROMElzU1VGQlNVY3NSVUZEUVV3c1JVRkRTaXhIUVVGSmNrSXNTMEZCUzFrc1UwRkJWU3hEUVVWcVFpeFJRVUZWWlN4TFFVUldSQ3hGUVVGSk1VSXNTMEZCUzBzc1UwRkJVMlVzU1VGRFJ5eE5RVUZQTEVkQlF6VkNReXhGUVVGSmNrSXNTMEZCUzFrc1UwRkRWRm9zUzBGQlMxa3NVMEZCVnl4UFFVVm9RbE1zUlVGQlNTeEZRVVZPTEU5QlFVbEJMRVZCUVVsRUxFVkJRVWxITEU5QlFXVkhMRVZCUVVsQkxFVkJRVWt4UWl4TFFVRkxReXhMUVVGTGJVSXNSVUZCUzBNc1IwRkJTM0pDTEV0QlFVdERMRXRCUVV0dFFpeEZRVUZMUXl4SFFVTXZSRXNzUjBGQlN5eEpRVWRrTlVJc1kwRkJZM2RETEZWQlFWVnVReXhKUVVGTk5rSXNVVUZIT1VKc1F5eGpRVUZqZDBNc1ZVRkJWWEpETEV0QlFVODJRaXhUUVVjdlFtaERMR05CUVdOM1F5eFZRVUZWYWtNc1UwRkJWeXhUUVVGVlpTeEhRVU16UXl4SFFVRkpjRUlzUzBGQlMxa3NWVUZCV1ZFc1JVRkJTVWNzVDBGRmRrSXNUMEZFUVVnc1JVRkJTVkVzUzBGQlN6VkNMRXRCUVV0akxGTkJRVlZrTEV0QlFVdGhMRlZCUVZsaUxFdEJRVXRaTEZOQlFWVXNSVUZCUjFvc1MwRkJTMWtzVlVGRGVrUmFMRXRCUVV0akxGTkJRVk5sTEZOQlFWTTNRaXhMUVVGTFZpeFRRVUZWTEVWQlFVZFZMRXRCUVV0aExGZEJSWFpFVHl4RlFVRkpVU3hMUVVGTE5VSXNTMEZCUzJNc1UwRkJWV1FzUzBGQlMyRXNWVUZCV1dJc1MwRkJTMWtzVTBGQlZTeEZRVUZIVVN4RlFVRkpSeXhSUVVNdlJIWkNMRXRCUVV0WkxGVkJRVmxSTEVWQlFVbEhJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuWDJSbFkyOWtaWEl2YkdsaUwzTjBjbWx1WjE5a1pXTnZaR1Z5TG1wekluMD0iLCJ2YXIgbmV4dFRpY2s9cmVxdWlyZShcInByb2Nlc3MvYnJvd3Nlci5qc1wiKS5uZXh0VGljayxhcHBseT1GdW5jdGlvbi5wcm90b3R5cGUuYXBwbHksc2xpY2U9QXJyYXkucHJvdG90eXBlLnNsaWNlLGltbWVkaWF0ZUlkcz17fSxuZXh0SW1tZWRpYXRlSWQ9MDtmdW5jdGlvbiBUaW1lb3V0KGUsdCl7dGhpcy5faWQ9ZSx0aGlzLl9jbGVhckZuPXR9ZXhwb3J0cy5zZXRUaW1lb3V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0VGltZW91dCx3aW5kb3csYXJndW1lbnRzKSxjbGVhclRpbWVvdXQpfSxleHBvcnRzLnNldEludGVydmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0SW50ZXJ2YWwsd2luZG93LGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LGV4cG9ydHMuY2xlYXJUaW1lb3V0PWV4cG9ydHMuY2xlYXJJbnRlcnZhbD1mdW5jdGlvbihlKXtlLmNsb3NlKCl9LFRpbWVvdXQucHJvdG90eXBlLnVucmVmPVRpbWVvdXQucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sVGltZW91dC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwod2luZG93LHRoaXMuX2lkKX0sZXhwb3J0cy5lbnJvbGw9ZnVuY3Rpb24oZSx0KXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9dH0sZXhwb3J0cy51bmVucm9sbD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9LTF9LGV4cG9ydHMuX3VucmVmQWN0aXZlPWV4cG9ydHMuYWN0aXZlPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKTt2YXIgdD1lLl9pZGxlVGltZW91dDt0Pj0wJiYoZS5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fb25UaW1lb3V0JiZlLl9vblRpbWVvdXQoKX0sdCkpfSxleHBvcnRzLnNldEltbWVkaWF0ZT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOmZ1bmN0aW9uKGUpe3ZhciB0PW5leHRJbW1lZGlhdGVJZCsrLGk9IShhcmd1bWVudHMubGVuZ3RoPDIpJiZzbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gaW1tZWRpYXRlSWRzW3RdPSEwLG5leHRUaWNrKGZ1bmN0aW9uKCl7aW1tZWRpYXRlSWRzW3RdJiYoaT9lLmFwcGx5KG51bGwsaSk6ZS5jYWxsKG51bGwpLGV4cG9ydHMuY2xlYXJJbW1lZGlhdGUodCkpfSksdH0sZXhwb3J0cy5jbGVhckltbWVkaWF0ZT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBjbGVhckltbWVkaWF0ZT9jbGVhckltbWVkaWF0ZTpmdW5jdGlvbihlKXtkZWxldGUgaW1tZWRpYXRlSWRzW2VdfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltMWhhVzR1YW5NaVhTd2libUZ0WlhNaU9sc2libVY0ZEZScFkyc2lMQ0p5WlhGMWFYSmxJaXdpWVhCd2JIa2lMQ0pHZFc1amRHbHZiaUlzSW5CeWIzUnZkSGx3WlNJc0luTnNhV05sSWl3aVFYSnlZWGtpTENKcGJXMWxaR2xoZEdWSlpITWlMQ0p1WlhoMFNXMXRaV1JwWVhSbFNXUWlMQ0pVYVcxbGIzVjBJaXdpYVdRaUxDSmpiR1ZoY2tadUlpd2lkR2hwY3lJc0lsOXBaQ0lzSWw5amJHVmhja1p1SWl3aVpYaHdiM0owY3lJc0luTmxkRlJwYldWdmRYUWlMQ0pqWVd4c0lpd2lkMmx1Wkc5M0lpd2lZWEpuZFcxbGJuUnpJaXdpWTJ4bFlYSlVhVzFsYjNWMElpd2ljMlYwU1c1MFpYSjJZV3dpTENKamJHVmhja2x1ZEdWeWRtRnNJaXdpZEdsdFpXOTFkQ0lzSW1Oc2IzTmxJaXdpZFc1eVpXWWlMQ0p5WldZaUxDSmxibkp2Ykd3aUxDSnBkR1Z0SWl3aWJYTmxZM01pTENKZmFXUnNaVlJwYldWdmRYUkpaQ0lzSWw5cFpHeGxWR2x0Wlc5MWRDSXNJblZ1Wlc1eWIyeHNJaXdpWDNWdWNtVm1RV04wYVhabElpd2lZV04wYVhabElpd2lYMjl1VkdsdFpXOTFkQ0lzSW5ObGRFbHRiV1ZrYVdGMFpTSXNJbVp1SWl3aVlYSm5jeUlzSW14bGJtZDBhQ0lzSW1Oc1pXRnlTVzF0WldScFlYUmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hKUVVGSlFTeFRRVUZYUXl4UlFVRlJMSE5DUVVGelFrUXNVMEZEZWtORkxFMUJRVkZETEZOQlFWTkRMRlZCUVZWR0xFMUJRek5DUnl4TlFVRlJReXhOUVVGTlJpeFZRVUZWUXl4TlFVTjRRa1VzWVVGQlpTeEhRVU5tUXl4blFrRkJhMElzUlVGaGRFSXNVMEZCVTBNc1VVRkJVVU1zUlVGQlNVTXNSMEZEYmtKRExFdEJRVXRETEVsQlFVMUlMRVZCUTFoRkxFdEJRVXRGTEZOQlFWZElMRVZCV0d4Q1NTeFJRVUZSUXl4WFFVRmhMRmRCUTI1Q0xFOUJRVThzU1VGQlNWQXNVVUZCVVZBc1RVRkJUV1VzUzBGQlMwUXNWMEZCV1VVc1QwRkJVVU1zVjBGQldVTXNaVUZGYUVWTUxGRkJRVkZOTEZsQlFXTXNWMEZEY0VJc1QwRkJUeXhKUVVGSldpeFJRVUZSVUN4TlFVRk5aU3hMUVVGTFNTeFpRVUZoU0N4UFFVRlJReXhYUVVGWlJ5eG5Ra0ZGYWtWUUxGRkJRVkZMTEdGQlExSk1MRkZCUVZGUExHTkJRV2RDTEZOQlFWTkRMRWRCUVZkQkxFVkJRVkZETEZOQlRYQkVaaXhSUVVGUlRDeFZRVUZWY1VJc1RVRkJVV2hDTEZGQlFWRk1MRlZCUVZWelFpeEpRVUZOTEdGQlEyeEVha0lzVVVGQlVVd3NWVUZCVlc5Q0xFMUJRVkVzVjBGRGVFSmFMRXRCUVV0RkxGTkJRVk5ITEV0QlFVdERMRTlCUVZGT0xFdEJRVXRETEUxQlNXeERSU3hSUVVGUldTeFBRVUZUTEZOQlFWTkRMRVZCUVUxRExFZEJRemxDVkN4aFFVRmhVU3hGUVVGTFJTeG5Ra0ZEYkVKR0xFVkJRVXRITEdGQlFXVkdMRWRCUjNSQ1pDeFJRVUZSYVVJc1UwRkJWeXhUUVVGVFNpeEhRVU14UWxJc1lVRkJZVkVzUlVGQlMwVXNaMEpCUTJ4Q1JpeEZRVUZMUnl4alFVRm5RaXhIUVVkMlFtaENMRkZCUVZGclFpeGhRVUZsYkVJc1VVRkJVVzFDTEU5QlFWTXNVMEZCVTA0c1IwRkRMME5TTEdGQlFXRlJMRVZCUVV0RkxHZENRVVZzUWl4SlFVRkpSQ3hGUVVGUlJDeEZRVUZMUnl4aFFVTmlSaXhIUVVGVExFbEJRMWhFTEVWQlFVdEZMR1ZCUVdsQ1pDeFhRVUZYTEZkQlF6TkNXU3hGUVVGTFR5eFpRVU5RVUN4RlFVRkxUeXhqUVVOT1RpeExRVXRRWkN4UlFVRlJjVUlzWVVGQmRVTXNiVUpCUVdwQ1FTeGhRVUU0UWtFc1lVRkJaU3hUUVVGVFF5eEhRVU5zUml4SlFVRkpNMElzUlVGQlMwWXNhMEpCUTB3NFFpeEpRVUZQYmtJc1ZVRkJWVzlDTEU5QlFWTXNTVUZCV1d4RExFMUJRVTFaTEV0QlFVdEZMRlZCUVZjc1IwRnJRbWhGTEU5QmFFSkJXaXhoUVVGaFJ5eEpRVUZOTEVWQlJXNUNWaXhUUVVGVExGZEJRMGhQTEdGQlFXRkhMRXRCUjFnMFFpeEZRVU5HUkN4RlFVRkhia01zVFVGQlRTeExRVUZOYjBNc1IwRkZaa1FzUlVGQlIzQkNMRXRCUVVzc1RVRkhWa1lzVVVGQlVYbENMR1ZCUVdVNVFpeE5RVWx3UWtFc1IwRkhWRXNzVVVGQlVYbENMR1ZCUVRKRExHMUNRVUZ1UWtFc1pVRkJaME5CTEdWQlFXbENMRk5CUVZNNVFpeFZRVU5xUmtnc1lVRkJZVWNpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTBhVzFsY25NdFluSnZkM05sY21sbWVTOXRZV2x1TG1wekluMD0iLCJmdW5jdGlvbiBkZXByZWNhdGUocixlKXtpZihjb25maWcoXCJub0RlcHJlY2F0aW9uXCIpKXJldHVybiByO3ZhciBvPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFvKXtpZihjb25maWcoXCJ0aHJvd0RlcHJlY2F0aW9uXCIpKXRocm93IG5ldyBFcnJvcihlKTtjb25maWcoXCJ0cmFjZURlcHJlY2F0aW9uXCIpP2NvbnNvbGUudHJhY2UoZSk6Y29uc29sZS53YXJuKGUpLG89ITB9cmV0dXJuIHIuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBjb25maWcocil7dHJ5e2lmKCFnbG9iYWwubG9jYWxTdG9yYWdlKXJldHVybiExfWNhdGNoKHIpe3JldHVybiExfXZhciBlPWdsb2JhbC5sb2NhbFN0b3JhZ2Vbcl07cmV0dXJuIG51bGwhPWUmJlwidHJ1ZVwiPT09U3RyaW5nKGUpLnRvTG93ZXJDYXNlKCl9bW9kdWxlLmV4cG9ydHM9ZGVwcmVjYXRlO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KeWIzZHpaWEl1YW5NaVhTd2libUZ0WlhNaU9sc2laR1Z3Y21WallYUmxJaXdpWm00aUxDSnRjMmNpTENKamIyNW1hV2NpTENKM1lYSnVaV1FpTENKRmNuSnZjaUlzSW1OdmJuTnZiR1VpTENKMGNtRmpaU0lzSW5kaGNtNGlMQ0poY0hCc2VTSXNJblJvYVhNaUxDSmhjbWQxYldWdWRITWlMQ0p1WVcxbElpd2laMnh2WW1Gc0lpd2liRzlqWVd4VGRHOXlZV2RsSWl3aVh5SXNJblpoYkNJc0lsTjBjbWx1WnlJc0luUnZURzkzWlhKRFlYTmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUpkTENKdFlYQndhVzVuY3lJNklrRkJlVUpCTEZOQlFWTkJMRlZCUVZkRExFVkJRVWxETEVkQlEzUkNMRWRCUVVsRExFOUJRVThzYVVKQlExUXNUMEZCVDBZc1JVRkhWQ3hKUVVGSlJ5eEhRVUZUTEVWQlpXSXNUMEZrUVN4WFFVTkZMRWxCUVV0QkxFVkJRVkVzUTBGRFdDeEhRVUZKUkN4UFFVRlBMRzlDUVVOVUxFMUJRVTBzU1VGQlNVVXNUVUZCVFVnc1IwRkRVRU1zVDBGQlR5eHZRa0ZEYUVKSExGRkJRVkZETEUxQlFVMU1MRWRCUldSSkxGRkJRVkZGTEV0QlFVdE9MRWRCUldaRkxFZEJRVk1zUlVGRldDeFBRVUZQU0N4RlFVRkhVU3hOUVVGTlF5eExRVUZOUXl4WlFXTXhRaXhUUVVGVFVpeFBRVUZSVXl4SFFVVm1MRWxCUTBVc1NVRkJTME1zVDBGQlQwTXNZVUZCWXl4UFFVRlBMRVZCUTJwRExFMUJRVTlETEVkQlExQXNUMEZCVHl4RlFVVlVMRWxCUVVsRExFVkJRVTFJTEU5QlFVOURMR0ZCUVdGR0xFZEJRemxDTEU5QlFVa3NUVUZCVVVrc1IwRkRlVUlzVTBGQk9VSkRMRTlCUVU5RUxFZEJRVXRGTEdOQk5VUnlRa01zVDBGQlQwTXNVVUZCVlhCQ0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZFhScGJDMWtaWEJ5WldOaGRHVXZZbkp2ZDNObGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7ZXhwb3J0cy5zdHJpcEJPTT1mdW5jdGlvbih0KXtyZXR1cm5cIlxcdWZlZmZcIj09PXRbMF0/dC5zdWJzdHJpbmcoMSk6dH19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KdmJTNXFjeUpkTENKdVlXMWxjeUk2V3lKbGVIQnZjblJ6SWl3aWMzUnlhWEJDVDAwaUxDSnpkSElpTENKemRXSnpkSEpwYm1jaUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeGhRVU5CUVN4UlFVRlJReXhUUVVGWExGTkJRVk5ETEVkQlF6RkNMRTFCUVdVc1YwRkJXRUVzUlVGQlNTeEhRVU5EUVN4RlFVRkpReXhWUVVGVkxFZEJSV1JFTEV0QlNWWkZMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5aWIyMHVhbk1pZlE9PSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0LGUsbyxpLHIsbj17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCJ4bWxidWlsZGVyXCIpLGU9cmVxdWlyZShcIi4vZGVmYXVsdHNcIikuZGVmYXVsdHMsaT1mdW5jdGlvbih0KXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgdCYmKHQuaW5kZXhPZihcIiZcIik+PTB8fHQuaW5kZXhPZihcIj5cIik+PTB8fHQuaW5kZXhPZihcIjxcIik+PTApfSxyPWZ1bmN0aW9uKHQpe3JldHVyblwiPCFbQ0RBVEFbXCIrbyh0KStcIl1dPlwifSxvPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoXCJdXT5cIixcIl1dXV0+PCFbQ0RBVEFbPlwiKX0sZXhwb3J0cy5CdWlsZGVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyh0KXt2YXIgbyxpLHI7Zm9yKG8gaW4gdGhpcy5vcHRpb25zPXt9LGk9ZVsuMl0pbi5jYWxsKGksbykmJihyPWlbb10sdGhpcy5vcHRpb25zW29dPXIpO2ZvcihvIGluIHQpbi5jYWxsKHQsbykmJihyPXRbb10sdGhpcy5vcHRpb25zW29dPXIpfXJldHVybiBvLnByb3RvdHlwZS5idWlsZE9iamVjdD1mdW5jdGlvbihvKXt2YXIgcyxhLGwscCxmLHU7cmV0dXJuIHM9dGhpcy5vcHRpb25zLmF0dHJrZXksYT10aGlzLm9wdGlvbnMuY2hhcmtleSwxPT09T2JqZWN0LmtleXMobykubGVuZ3RoJiZ0aGlzLm9wdGlvbnMucm9vdE5hbWU9PT1lWy4yXS5yb290TmFtZT9vPW9bZj1PYmplY3Qua2V5cyhvKVswXV06Zj10aGlzLm9wdGlvbnMucm9vdE5hbWUsdT10aGlzLGw9ZnVuY3Rpb24odCxlKXt2YXIgbyxwLGYsYyxoLGQ7aWYoXCJvYmplY3RcIiE9dHlwZW9mIGUpdS5vcHRpb25zLmNkYXRhJiZpKGUpP3QucmF3KHIoZSkpOnQudHh0KGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKGMgaW4gZSlpZihuLmNhbGwoZSxjKSlmb3IoaCBpbiBwPWVbY10pZj1wW2hdLHQ9bCh0LmVsZShoKSxmKS51cCgpfWVsc2UgZm9yKGggaW4gZSlpZihuLmNhbGwoZSxoKSlpZihwPWVbaF0saD09PXMpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBwKWZvcihvIGluIHApZD1wW29dLHQ9dC5hdHQobyxkKX1lbHNlIGlmKGg9PT1hKXQ9dS5vcHRpb25zLmNkYXRhJiZpKHApP3QucmF3KHIocCkpOnQudHh0KHApO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShwKSlmb3IoYyBpbiBwKW4uY2FsbChwLGMpJiYodD1cInN0cmluZ1wiPT10eXBlb2YoZj1wW2NdKT91Lm9wdGlvbnMuY2RhdGEmJmkoZik/dC5lbGUoaCkucmF3KHIoZikpLnVwKCk6dC5lbGUoaCxmKS51cCgpOmwodC5lbGUoaCksZikudXAoKSk7ZWxzZVwib2JqZWN0XCI9PXR5cGVvZiBwP3Q9bCh0LmVsZShoKSxwKS51cCgpOlwic3RyaW5nXCI9PXR5cGVvZiBwJiZ1Lm9wdGlvbnMuY2RhdGEmJmkocCk/dD10LmVsZShoKS5yYXcocihwKSkudXAoKToobnVsbD09cCYmKHA9XCJcIiksdD10LmVsZShoLHAudG9TdHJpbmcoKSkudXAoKSk7cmV0dXJuIHR9LHA9dC5jcmVhdGUoZix0aGlzLm9wdGlvbnMueG1sZGVjLHRoaXMub3B0aW9ucy5kb2N0eXBlLHtoZWFkbGVzczp0aGlzLm9wdGlvbnMuaGVhZGxlc3MsYWxsb3dTdXJyb2dhdGVDaGFyczp0aGlzLm9wdGlvbnMuYWxsb3dTdXJyb2dhdGVDaGFyc30pLGwocCxvKS5lbmQodGhpcy5vcHRpb25zLnJlbmRlck9wdHMpfSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSjFhV3hrWlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpWW5WcGJHUmxjaUlzSW1SbFptRjFiSFJ6SWl3aVpYTmpZWEJsUTBSQlZFRWlMQ0p5WlhGMWFYSmxjME5FUVZSQklpd2lkM0poY0VORVFWUkJJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW1WdWRISjVJaXdpYVc1a1pYaFBaaUlzSW5KbGNHeGhZMlVpTENKbGVIQnZjblJ6SWl3aVFuVnBiR1JsY2lJc0ltOXdkSE1pTENKclpYa2lMQ0p5WldZaUxDSjJZV3gxWlNJc0luUm9hWE1pTENKdmNIUnBiMjV6SWl3aVkyRnNiQ0lzSW5CeWIzUnZkSGx3WlNJc0ltSjFhV3hrVDJKcVpXTjBJaXdpY205dmRFOWlhaUlzSW1GMGRISnJaWGtpTENKamFHRnlhMlY1SWl3aWNtVnVaR1Z5SWl3aWNtOXZkRVZzWlcxbGJuUWlMQ0p5YjI5MFRtRnRaU0lzSWw5MGFHbHpJaXdpVDJKcVpXTjBJaXdpYTJWNWN5SXNJbXhsYm1kMGFDSXNJbVZzWlcxbGJuUWlMQ0p2WW1vaUxDSmhkSFJ5SWl3aVkyaHBiR1FpTENKcGJtUmxlQ0lzSW1Oa1lYUmhJaXdpY21GM0lpd2lkSGgwSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aVpXeGxJaXdpZFhBaUxDSmhkSFFpTENKMGIxTjBjbWx1WnlJc0ltTnlaV0YwWlNJc0luaHRiR1JsWXlJc0ltUnZZM1I1Y0dVaUxDSm9aV0ZrYkdWemN5SXNJbUZzYkc5M1UzVnljbTluWVhSbFEyaGhjbk1pTENKbGJtUWlMQ0p5Wlc1a1pYSlBjSFJ6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMR0ZCUTBFc1NVRkJTVUVzUlVGQlUwTXNSVUZCVlVNc1JVRkJZVU1zUlVGQlpVTXNSVUZEYWtSRExFVkJRVlVzUjBGQlIwTXNaVUZGWms0c1JVRkJWVThzVVVGQlVTeGpRVVZzUWs0c1JVRkJWMDBzVVVGQlVTeGpRVUZqVGl4VFFVVnFRMFVzUlVGQlowSXNVMEZCVTBzc1IwRkRka0lzVFVGQmQwSXNhVUpCUVZaQkxFbEJRWFZDUVN4RlFVRk5ReXhSUVVGUkxFMUJRVkVzUjBGQlMwUXNSVUZCVFVNc1VVRkJVU3hOUVVGUkxFZEJRVXRFTEVWQlFVMURMRkZCUVZFc1RVRkJVU3hKUVVkdVNFd3NSVUZCV1N4VFFVRlRTU3hIUVVOdVFpeE5RVUZQTEZsQlFXVk9MRVZCUVZsTkxFZEJRVlVzVDBGSE9VTk9MRVZCUVdNc1UwRkJVMDBzUjBGRGNrSXNUMEZCVDBFc1JVRkJUVVVzVVVGQlVTeE5RVUZQTEc5Q1FVYzVRa01zVVVGQlVVTXNVVUZCVlN4WFFVTm9RaXhUUVVGVFFTeEZRVUZSUXl4SFFVTm1MRWxCUVVsRExFVkJRVXRETEVWQlFVdERMRVZCUjJRc1NVRkJTMFlzUzBGR1RFY3NTMEZCUzBNc1VVRkJWU3hIUVVObVNDeEZRVUZOWkN4RlFVRlRMRWxCUlZKSkxFVkJRVkZqTEV0QlFVdEtMRVZCUVV0RUxFdEJRM1pDUlN4RlFVRlJSQ3hGUVVGSlJDeEhRVU5hUnl4TFFVRkxReXhSUVVGUlNpeEhRVUZQUlN4SFFVVjBRaXhKUVVGTFJpeExRVUZQUkN4RlFVTk1VaXhGUVVGUll5eExRVUZMVGl4RlFVRk5ReXhMUVVONFFrVXNSVUZCVVVnc1JVRkJTME1zUjBGRFlrY3NTMEZCUzBNc1VVRkJVVW9zUjBGQlQwVXNSMEYxUm5oQ0xFOUJia1pCU2l4RlFVRlJVU3hWUVVGVlF5eFpRVUZqTEZOQlFWTkRMRWRCUTNaRExFbEJRVWxETEVWQlFWTkRMRVZCUVZORExFVkJRVkZETEVWQlFXRkRMRVZCVTNoQ1F5eEZRWE5GYmtJc1QwRTVSVUZNTEVWQlFWVk9MRXRCUVV0RExGRkJRVkZMTEZGQlEzWkNReXhGUVVGVlVDeExRVUZMUXl4UlFVRlJUU3hSUVVOakxFbEJRV2hEU3l4UFFVRlBReXhMUVVGTFVpeEhRVUZUVXl4UlFVRnJRbVFzUzBGQlMwTXNVVUZCVVZNc1YwRkJZVEZDTEVWQlFWTXNTVUZCVHpCQ0xGTkJSWEJHVEN4RlFVRlZRU3hGUVVSV1N5eEZRVUZYUlN4UFFVRlBReXhMUVVGTFVpeEhRVUZUTEVsQlIyaERTeXhGUVVGWFZpeExRVUZMUXl4UlFVRlJVeXhUUVVWUVF5eEZRV2xGYUVKWUxFdEJha1ZJVVN4RlFVTlRMRk5CUVZOUExFVkJRVk5ETEVkQlEzWkNMRWxCUVVsRExFVkJRVTFETEVWQlFVOHpRaXhGUVVGUE5FSXNSVUZCVDNSQ0xFVkJRVXRGTEVWQlEzQkRMRWRCUVcxQ0xHbENRVUZTYVVJc1JVRkRURXdzUlVGQlRWWXNVVUZCVVcxQ0xFOUJRVk5zUXl4RlFVRmpPRUlzUjBGRGRrTkVMRVZCUVZGTkxFbEJRVWxzUXl4RlFVRlZOa0lzU1VGRmRFSkVMRVZCUVZGUExFbEJRVWxPTEZGQlJWUXNSMEZCU1U4c1RVRkJUVU1zVVVGQlVWSXNTVUZEZGtJc1NVRkJTMGNzUzBGQlUwZ3NSVUZEV2l4SFFVRkxOVUlzUlVGQlVXTXNTMEZCUzJNc1JVRkJTMGNzUjBGRmRrSXNTVUZCUzNSQ0xFdEJSRXh4UWl4RlFVRlJSaXhGUVVGSlJ5eEhRVVZXTlVJc1JVRkJVVEpDTEVWQlFVMXlRaXhIUVVOa2EwSXNSVUZCVlZBc1JVRkJUMDhzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVTFPTEVkQlFVOXRReXhWUVVrNVF5eEpRVUZMTjBJc1MwRkJUMjFDTEVWQlExWXNSMEZCU3pWQ0xFVkJRVkZqTEV0QlFVdGpMRVZCUVV0dVFpeEhRVVYyUWl4SFFVUkJjVUlzUlVGQlVVWXNSVUZCU1c1Q0xFZEJRMUpCTEVsQlFWRlRMRWRCUTFZc1IwRkJjVUlzYVVKQlFWWlpMRVZCUTFRc1NVRkJTMFFzUzBGQlVVTXNSVUZEV0c1Q0xFVkJRVkZ0UWl4RlFVRk5SQ3hIUVVOa1JpeEZRVUZWUVN4RlFVRlJXU3hKUVVGSlZpeEZRVUZOYkVJc1VVRkhNMElzUjBGQlNVWXNTVUZCVVZVc1JVRkZabEVzUlVGRVJVb3NSVUZCVFZZc1VVRkJVVzFDTEU5QlFWTnNReXhGUVVGalowTXNSMEZETjBKSUxFVkJRVkZOTEVsQlFVbHNReXhGUVVGVkswSXNTVUZGZEVKSUxFVkJRVkZQTEVsQlFVbEtMRkZCUlc1Q0xFZEJRVWxMTEUxQlFVMURMRkZCUVZGT0xFZEJRM1pDTEVsQlFVdERMRXRCUVZORUxFVkJRMUE1UWl4RlFVRlJZeXhMUVVGTFowSXNSVUZCVDBNc1MwRkpja0pLTEVWQlJtbENMR2xDUVVSeVFuaENMRVZCUVZFeVFpeEZRVUZOUXl4SlFVVlNVaXhGUVVGTlZpeFJRVUZSYlVJc1QwRkJVMnhETEVWQlFXTkxMRWRCUXpkQ2QwSXNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVdDNRaXhKUVVGSmJFTXNSVUZCVlVrc1NVRkJVVzFETEV0QlJYWkRXQ3hGUVVGUlZTeEpRVUZKTlVJc1JVRkJTMDRzUjBGQlQyMURMRXRCUnpGQ2JFSXNSVUZCVDA4c1JVRkJVVlVzU1VGQlNUVkNMRWRCUVUxT0xFZEJRVTl0UXl4VlFVZHdRaXhwUWtGQlZsSXNSVUZEYUVKSUxFVkJRVlZRTEVWQlFVOVBMRVZCUVZGVkxFbEJRVWsxUWl4SFFVRk5jVUlzUjBGQlQxRXNTMEZGY2tJc2FVSkJRVlpTTEVkQlFYTkNVQ3hGUVVGTlZpeFJRVUZSYlVJc1QwRkJVMnhETEVWQlFXTm5ReXhIUVVOd1JVZ3NSVUZCVlVFc1JVRkJVVlVzU1VGQlNUVkNMRWRCUVV0M1FpeEpRVUZKYkVNc1JVRkJWU3RDTEVsQlFWRlJMRTFCUlhCRExFMUJRVlJTTEVsQlEwWkJMRVZCUVZFc1NVRkZWa2dzUlVGQlZVRXNSVUZCVVZVc1NVRkJTVFZDTEVWQlFVdHhRaXhGUVVGTlZTeFpRVUZaUml4TlFVdHlSQ3hQUVVGUFdDeEhRVWRZVGl4RlFVRmpNVUlzUlVGQlVUaERMRTlCUVU5dVFpeEZRVUZWVml4TFFVRkxReXhSUVVGUk5rSXNUMEZCVVRsQ0xFdEJRVXRETEZGQlFWRTRRaXhSUVVGVExFTkJRMmhHUXl4VFFVRlZhRU1zUzBGQlMwTXNVVUZCVVN0Q0xGTkJRM1pDUXl4dlFrRkJjVUpxUXl4TFFVRkxReXhSUVVGUlowTXNjMEpCUlRkQ2VrSXNSVUZCVDBNc1JVRkJZVW9zUjBGQlV6WkNMRWxCUVVsc1F5eExRVUZMUXl4UlFVRlJhME1zWVVGSGFFUjRReXhGUVhCSFV5eExRWGRIYWtKUExFdEJRVXRHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzTW1wekwyeHBZaTlpZFdsc1pHVnlMbXB6SW4wPSIsIihmdW5jdGlvbigpe2V4cG9ydHMuZGVmYXVsdHM9ey4xOntleHBsaWNpdENoYXJrZXk6ITEsdHJpbTohMCxub3JtYWxpemU6ITAsbm9ybWFsaXplVGFnczohMSxhdHRya2V5OlwiQFwiLGNoYXJrZXk6XCIjXCIsZXhwbGljaXRBcnJheTohMSxpZ25vcmVBdHRyczohMSxtZXJnZUF0dHJzOiExLGV4cGxpY2l0Um9vdDohMSx2YWxpZGF0b3I6bnVsbCx4bWxuczohMSxleHBsaWNpdENoaWxkcmVuOiExLGNoaWxka2V5OlwiQEBcIixjaGFyc0FzQ2hpbGRyZW46ITEsaW5jbHVkZVdoaXRlQ2hhcnM6ITEsYXN5bmM6ITEsc3RyaWN0OiEwLGF0dHJOYW1lUHJvY2Vzc29yczpudWxsLGF0dHJWYWx1ZVByb2Nlc3NvcnM6bnVsbCx0YWdOYW1lUHJvY2Vzc29yczpudWxsLHZhbHVlUHJvY2Vzc29yczpudWxsLGVtcHR5VGFnOlwiXCJ9LC4yOntleHBsaWNpdENoYXJrZXk6ITEsdHJpbTohMSxub3JtYWxpemU6ITEsbm9ybWFsaXplVGFnczohMSxhdHRya2V5OlwiJFwiLGNoYXJrZXk6XCJfXCIsZXhwbGljaXRBcnJheTohMCxpZ25vcmVBdHRyczohMSxtZXJnZUF0dHJzOiExLGV4cGxpY2l0Um9vdDohMCx2YWxpZGF0b3I6bnVsbCx4bWxuczohMSxleHBsaWNpdENoaWxkcmVuOiExLHByZXNlcnZlQ2hpbGRyZW5PcmRlcjohMSxjaGlsZGtleTpcIiQkXCIsY2hhcnNBc0NoaWxkcmVuOiExLGluY2x1ZGVXaGl0ZUNoYXJzOiExLGFzeW5jOiExLHN0cmljdDohMCxhdHRyTmFtZVByb2Nlc3NvcnM6bnVsbCxhdHRyVmFsdWVQcm9jZXNzb3JzOm51bGwsdGFnTmFtZVByb2Nlc3NvcnM6bnVsbCx2YWx1ZVByb2Nlc3NvcnM6bnVsbCxyb290TmFtZTpcInJvb3RcIix4bWxkZWM6e3ZlcnNpb246XCIxLjBcIixlbmNvZGluZzpcIlVURi04XCIsc3RhbmRhbG9uZTohMH0sZG9jdHlwZTpudWxsLHJlbmRlck9wdHM6e3ByZXR0eTohMCxpbmRlbnQ6XCIgIFwiLG5ld2xpbmU6XCJcXG5cIn0saGVhZGxlc3M6ITEsY2h1bmtTaXplOjFlNCxlbXB0eVRhZzpcIlwiLGNkYXRhOiExfX19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1SbFptRjFiSFJ6TG1weklsMHNJbTVoYldWeklqcGJJbVY0Y0c5eWRITWlMQ0prWldaaGRXeDBjeUlzSWpBdU1TSXNJbVY0Y0d4cFkybDBRMmhoY210bGVTSXNJblJ5YVcwaUxDSnViM0p0WVd4cGVtVWlMQ0p1YjNKdFlXeHBlbVZVWVdkeklpd2lZWFIwY210bGVTSXNJbU5vWVhKclpYa2lMQ0psZUhCc2FXTnBkRUZ5Y21GNUlpd2lhV2R1YjNKbFFYUjBjbk1pTENKdFpYSm5aVUYwZEhKeklpd2laWGh3YkdsamFYUlNiMjkwSWl3aWRtRnNhV1JoZEc5eUlpd2llRzFzYm5NaUxDSmxlSEJzYVdOcGRFTm9hV3hrY21WdUlpd2lZMmhwYkdSclpYa2lMQ0pqYUdGeWMwRnpRMmhwYkdSeVpXNGlMQ0pwYm1Oc2RXUmxWMmhwZEdWRGFHRnljeUlzSW1GemVXNWpJaXdpYzNSeWFXTjBJaXdpWVhSMGNrNWhiV1ZRY205alpYTnpiM0p6SWl3aVlYUjBjbFpoYkhWbFVISnZZMlZ6YzI5eWN5SXNJblJoWjA1aGJXVlFjbTlqWlhOemIzSnpJaXdpZG1Gc2RXVlFjbTlqWlhOemIzSnpJaXdpWlcxd2RIbFVZV2NpTENJd0xqSWlMQ0p3Y21WelpYSjJaVU5vYVd4a2NtVnVUM0prWlhJaUxDSnliMjkwVG1GdFpTSXNJbmh0YkdSbFl5SXNJblpsY25OcGIyNGlMQ0psYm1OdlpHbHVaeUlzSW5OMFlXNWtZV3h2Ym1VaUxDSmtiMk4wZVhCbElpd2ljbVZ1WkdWeVQzQjBjeUlzSW5CeVpYUjBlU0lzSW1sdVpHVnVkQ0lzSW01bGQyeHBibVVpTENKb1pXRmtiR1Z6Y3lJc0ltTm9kVzVyVTJsNlpTSXNJbU5rWVhSaElpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVkJMRkZCUVZGRExGTkJRVmNzUTBGRGFrSkRMRWRCUVU4c1EwRkRURU1zYVVKQlFXbENMRVZCUTJwQ1F5eE5RVUZOTEVWQlEwNURMRmRCUVZjc1JVRkRXRU1zWlVGQlpTeEZRVU5tUXl4UlFVRlRMRWxCUTFSRExGRkJRVk1zU1VGRFZFTXNaVUZCWlN4RlFVTm1ReXhoUVVGaExFVkJRMkpETEZsQlFWa3NSVUZEV2tNc1kwRkJZeXhGUVVOa1F5eFZRVUZYTEV0QlExaERMRTlCUVU4c1JVRkRVRU1zYTBKQlFXdENMRVZCUTJ4Q1F5eFRRVUZWTEV0QlExWkRMR2xDUVVGcFFpeEZRVU5xUWtNc2JVSkJRVzFDTEVWQlEyNUNReXhQUVVGUExFVkJRMUJETEZGQlFWRXNSVUZEVWtNc2JVSkJRVzlDTEV0QlEzQkNReXh2UWtGQmNVSXNTMEZEY2tKRExHdENRVUZ0UWl4TFFVTnVRa01zWjBKQlFXbENMRXRCUTJwQ1F5eFRRVUZWTEVsQlJWcERMRWRCUVU4c1EwRkRUSFpDTEdsQ1FVRnBRaXhGUVVOcVFrTXNUVUZCVFN4RlFVTk9ReXhYUVVGWExFVkJRMWhETEdWQlFXVXNSVUZEWmtNc1VVRkJVeXhKUVVOVVF5eFJRVUZUTEVsQlExUkRMR1ZCUVdVc1JVRkRaa01zWVVGQllTeEZRVU5pUXl4WlFVRlpMRVZCUTFwRExHTkJRV01zUlVGRFpFTXNWVUZCVnl4TFFVTllReXhQUVVGUExFVkJRMUJETEd0Q1FVRnJRaXhGUVVOc1Fsa3NkVUpCUVhWQ0xFVkJRM1pDV0N4VFFVRlZMRXRCUTFaRExHbENRVUZwUWl4RlFVTnFRa01zYlVKQlFXMUNMRVZCUTI1Q1F5eFBRVUZQTEVWQlExQkRMRkZCUVZFc1JVRkRVa01zYlVKQlFXOUNMRXRCUTNCQ1F5eHZRa0ZCY1VJc1MwRkRja0pETEd0Q1FVRnRRaXhMUVVOdVFrTXNaMEpCUVdsQ0xFdEJRMnBDU1N4VFFVRlZMRTlCUTFaRExFOUJRVkVzUTBGRFRrTXNVVUZCVnl4TlFVTllReXhUUVVGWkxGRkJRMXBETEZsQlFXTXNSMEZGYUVKRExGRkJRVk1zUzBGRFZFTXNWMEZCV1N4RFFVTldReXhSUVVGVkxFVkJRMVpETEU5QlFWVXNTMEZEVmtNc1VVRkJWeXhOUVVWaVF5eFZRVUZWTEVWQlExWkRMRlZCUVZjc1NVRkRXR1FzVTBGQlZTeEhRVU5XWlN4UFFVRlBMRTFCU1ZaRExFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzTW1wekwyeHBZaTlrWldaaGRXeDBjeTVxY3lKOSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0LHIscyxlLGksbixvLGEsaD1mdW5jdGlvbih0LHIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHIsYXJndW1lbnRzKX19LHA9e30uaGFzT3duUHJvcGVydHk7bz1yZXF1aXJlKFwic2F4XCIpLHM9cmVxdWlyZShcImV2ZW50c1wiKSx0PXJlcXVpcmUoXCIuL2JvbVwiKSxuPXJlcXVpcmUoXCIuL3Byb2Nlc3NvcnNcIiksYT1yZXF1aXJlKFwidGltZXJzXCIpLnNldEltbWVkaWF0ZSxyPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpLmRlZmF1bHRzLGU9ZnVuY3Rpb24odCl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIHQmJm51bGwhPXQmJjA9PT1PYmplY3Qua2V5cyh0KS5sZW5ndGh9LGk9ZnVuY3Rpb24odCxyLHMpe3ZhciBlLGk7Zm9yKGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspcj0oMCx0W2VdKShyLHMpO3JldHVybiByfSxleHBvcnRzLlBhcnNlcj1mdW5jdGlvbihjKXtmdW5jdGlvbiB1KHQpe3ZhciBzLGUsaTtpZih0aGlzLnBhcnNlU3RyaW5nUHJvbWlzZT1oKHRoaXMucGFyc2VTdHJpbmdQcm9taXNlLHRoaXMpLHRoaXMucGFyc2VTdHJpbmc9aCh0aGlzLnBhcnNlU3RyaW5nLHRoaXMpLHRoaXMucmVzZXQ9aCh0aGlzLnJlc2V0LHRoaXMpLHRoaXMuYXNzaWduT3JQdXNoPWgodGhpcy5hc3NpZ25PclB1c2gsdGhpcyksdGhpcy5wcm9jZXNzQXN5bmM9aCh0aGlzLnByb2Nlc3NBc3luYyx0aGlzKSwhKHRoaXMgaW5zdGFuY2VvZiBleHBvcnRzLlBhcnNlcikpcmV0dXJuIG5ldyBleHBvcnRzLlBhcnNlcih0KTtmb3IocyBpbiB0aGlzLm9wdGlvbnM9e30sZT1yWy4yXSlwLmNhbGwoZSxzKSYmKGk9ZVtzXSx0aGlzLm9wdGlvbnNbc109aSk7Zm9yKHMgaW4gdClwLmNhbGwodCxzKSYmKGk9dFtzXSx0aGlzLm9wdGlvbnNbc109aSk7dGhpcy5vcHRpb25zLnhtbG5zJiYodGhpcy5vcHRpb25zLnhtbG5za2V5PXRoaXMub3B0aW9ucy5hdHRya2V5K1wibnNcIiksdGhpcy5vcHRpb25zLm5vcm1hbGl6ZVRhZ3MmJih0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnN8fCh0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnM9W10pLHRoaXMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycy51bnNoaWZ0KG4ubm9ybWFsaXplKSksdGhpcy5yZXNldCgpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgcyBpbiByKXAuY2FsbChyLHMpJiYodFtzXT1yW3NdKTtmdW5jdGlvbiBlKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWUucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBlLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfSh1LHMpLHUucHJvdG90eXBlLnByb2Nlc3NBc3luYz1mdW5jdGlvbigpe3ZhciB0LHI7dHJ5e3JldHVybiB0aGlzLnJlbWFpbmluZy5sZW5ndGg8PXRoaXMub3B0aW9ucy5jaHVua1NpemU/KHQ9dGhpcy5yZW1haW5pbmcsdGhpcy5yZW1haW5pbmc9XCJcIix0aGlzLnNheFBhcnNlcj10aGlzLnNheFBhcnNlci53cml0ZSh0KSx0aGlzLnNheFBhcnNlci5jbG9zZSgpKToodD10aGlzLnJlbWFpbmluZy5zdWJzdHIoMCx0aGlzLm9wdGlvbnMuY2h1bmtTaXplKSx0aGlzLnJlbWFpbmluZz10aGlzLnJlbWFpbmluZy5zdWJzdHIodGhpcy5vcHRpb25zLmNodW5rU2l6ZSx0aGlzLnJlbWFpbmluZy5sZW5ndGgpLHRoaXMuc2F4UGFyc2VyPXRoaXMuc2F4UGFyc2VyLndyaXRlKHQpLGEodGhpcy5wcm9jZXNzQXN5bmMpKX1jYXRjaCh0KXtpZihyPXQsIXRoaXMuc2F4UGFyc2VyLmVyclRocm93bilyZXR1cm4gdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSEwLHRoaXMuZW1pdChyKX19LHUucHJvdG90eXBlLmFzc2lnbk9yUHVzaD1mdW5jdGlvbih0LHIscyl7cmV0dXJuIHIgaW4gdD8odFtyXWluc3RhbmNlb2YgQXJyYXl8fCh0W3JdPVt0W3JdXSksdFtyXS5wdXNoKHMpKTp0aGlzLm9wdGlvbnMuZXhwbGljaXRBcnJheT90W3JdPVtzXTp0W3JdPXN9LHUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dmFyIHQscixzLG4sYTtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnNheFBhcnNlcj1vLnBhcnNlcih0aGlzLm9wdGlvbnMuc3RyaWN0LHt0cmltOiExLG5vcm1hbGl6ZTohMSx4bWxuczp0aGlzLm9wdGlvbnMueG1sbnN9KSx0aGlzLnNheFBhcnNlci5lcnJUaHJvd249ITEsdGhpcy5zYXhQYXJzZXIub25lcnJvcj0oYT10aGlzLGZ1bmN0aW9uKHQpe2lmKGEuc2F4UGFyc2VyLnJlc3VtZSgpLCFhLnNheFBhcnNlci5lcnJUaHJvd24pcmV0dXJuIGEuc2F4UGFyc2VyLmVyclRocm93bj0hMCxhLmVtaXQoXCJlcnJvclwiLHQpfSksdGhpcy5zYXhQYXJzZXIub25lbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXQuc2F4UGFyc2VyLmVuZGVkKXJldHVybiB0LnNheFBhcnNlci5lbmRlZD0hMCx0LmVtaXQoXCJlbmRcIix0LnJlc3VsdE9iamVjdCl9fSh0aGlzKSx0aGlzLnNheFBhcnNlci5lbmRlZD0hMSx0aGlzLkVYUExJQ0lUX0NIQVJLRVk9dGhpcy5vcHRpb25zLmV4cGxpY2l0Q2hhcmtleSx0aGlzLnJlc3VsdE9iamVjdD1udWxsLG49W10sdD10aGlzLm9wdGlvbnMuYXR0cmtleSxyPXRoaXMub3B0aW9ucy5jaGFya2V5LHRoaXMuc2F4UGFyc2VyLm9ub3BlbnRhZz1mdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG8sYSxoLGMsdTtpZigoaD17fSlbcl09XCJcIiwhcy5vcHRpb25zLmlnbm9yZUF0dHJzKWZvcihvIGluIHU9ZS5hdHRyaWJ1dGVzKXAuY2FsbCh1LG8pJiYodCBpbiBofHxzLm9wdGlvbnMubWVyZ2VBdHRyc3x8KGhbdF09e30pLGE9cy5vcHRpb25zLmF0dHJWYWx1ZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMuYXR0clZhbHVlUHJvY2Vzc29ycyxlLmF0dHJpYnV0ZXNbb10sbyk6ZS5hdHRyaWJ1dGVzW29dLGM9cy5vcHRpb25zLmF0dHJOYW1lUHJvY2Vzc29ycz9pKHMub3B0aW9ucy5hdHRyTmFtZVByb2Nlc3NvcnMsbyk6byxzLm9wdGlvbnMubWVyZ2VBdHRycz9zLmFzc2lnbk9yUHVzaChoLGMsYSk6aFt0XVtjXT1hKTtyZXR1cm4gaFtcIiNuYW1lXCJdPXMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycz9pKHMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycyxlLm5hbWUpOmUubmFtZSxzLm9wdGlvbnMueG1sbnMmJihoW3Mub3B0aW9ucy54bWxuc2tleV09e3VyaTplLnVyaSxsb2NhbDplLmxvY2FsfSksbi5wdXNoKGgpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIub25jbG9zZXRhZz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcyxvLGEsaCxjLHUsbCxtLGYsUDtpZih1PW4ucG9wKCksYz11W1wiI25hbWVcIl0sdC5vcHRpb25zLmV4cGxpY2l0Q2hpbGRyZW4mJnQub3B0aW9ucy5wcmVzZXJ2ZUNoaWxkcmVuT3JkZXJ8fGRlbGV0ZSB1W1wiI25hbWVcIl0sITA9PT11LmNkYXRhJiYocz11LmNkYXRhLGRlbGV0ZSB1LmNkYXRhKSxmPW5bbi5sZW5ndGgtMV0sdVtyXS5tYXRjaCgvXlxccyokLykmJiFzPyhvPXVbcl0sZGVsZXRlIHVbcl0pOih0Lm9wdGlvbnMudHJpbSYmKHVbcl09dVtyXS50cmltKCkpLHQub3B0aW9ucy5ub3JtYWxpemUmJih1W3JdPXVbcl0ucmVwbGFjZSgvXFxzezIsfS9nLFwiIFwiKS50cmltKCkpLHVbcl09dC5vcHRpb25zLnZhbHVlUHJvY2Vzc29ycz9pKHQub3B0aW9ucy52YWx1ZVByb2Nlc3NvcnMsdVtyXSxjKTp1W3JdLDE9PT1PYmplY3Qua2V5cyh1KS5sZW5ndGgmJnIgaW4gdSYmIXQuRVhQTElDSVRfQ0hBUktFWSYmKHU9dVtyXSkpLGUodSkmJih1PVwiXCIhPT10Lm9wdGlvbnMuZW1wdHlUYWc/dC5vcHRpb25zLmVtcHR5VGFnOm8pLG51bGwhPXQub3B0aW9ucy52YWxpZGF0b3ImJihQPVwiL1wiK2Z1bmN0aW9uKCl7dmFyIHQscixzO2ZvcihzPVtdLHQ9MCxyPW4ubGVuZ3RoO3Q8cjt0KyspaD1uW3RdLHMucHVzaChoW1wiI25hbWVcIl0pO3JldHVybiBzfSgpLmNvbmNhdChjKS5qb2luKFwiL1wiKSxmdW5jdGlvbigpe3ZhciByO3RyeXt1PXQub3B0aW9ucy52YWxpZGF0b3IoUCxmJiZmW2NdLHUpfWNhdGNoKHMpe3JldHVybiByPXMsdC5lbWl0KFwiZXJyb3JcIixyKX19KCkpLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiYhdC5vcHRpb25zLm1lcmdlQXR0cnMmJlwib2JqZWN0XCI9PXR5cGVvZiB1KWlmKHQub3B0aW9ucy5wcmVzZXJ2ZUNoaWxkcmVuT3JkZXIpe2lmKGYpe2ZvcihhIGluIGZbdC5vcHRpb25zLmNoaWxka2V5XT1mW3Qub3B0aW9ucy5jaGlsZGtleV18fFtdLGw9e30sdSlwLmNhbGwodSxhKSYmKGxbYV09dVthXSk7Zlt0Lm9wdGlvbnMuY2hpbGRrZXldLnB1c2gobCksZGVsZXRlIHVbXCIjbmFtZVwiXSwxPT09T2JqZWN0LmtleXModSkubGVuZ3RoJiZyIGluIHUmJiF0LkVYUExJQ0lUX0NIQVJLRVkmJih1PXVbcl0pfX1lbHNlIGg9e30sdC5vcHRpb25zLmF0dHJrZXkgaW4gdSYmKGhbdC5vcHRpb25zLmF0dHJrZXldPXVbdC5vcHRpb25zLmF0dHJrZXldLGRlbGV0ZSB1W3Qub3B0aW9ucy5hdHRya2V5XSksIXQub3B0aW9ucy5jaGFyc0FzQ2hpbGRyZW4mJnQub3B0aW9ucy5jaGFya2V5IGluIHUmJihoW3Qub3B0aW9ucy5jaGFya2V5XT11W3Qub3B0aW9ucy5jaGFya2V5XSxkZWxldGUgdVt0Lm9wdGlvbnMuY2hhcmtleV0pLE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLmxlbmd0aD4wJiYoaFt0Lm9wdGlvbnMuY2hpbGRrZXldPXUpLHU9aDtyZXR1cm4gbi5sZW5ndGg+MD90LmFzc2lnbk9yUHVzaChmLGMsdSk6KHQub3B0aW9ucy5leHBsaWNpdFJvb3QmJihtPXUsKHU9e30pW2NdPW0pLHQucmVzdWx0T2JqZWN0PXUsdC5zYXhQYXJzZXIuZW5kZWQ9ITAsdC5lbWl0KFwiZW5kXCIsdC5yZXN1bHRPYmplY3QpKX19KHRoaXMpLHM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHMpe3ZhciBlLGk7aWYoaT1uW24ubGVuZ3RoLTFdKXJldHVybiBpW3JdKz1zLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiZ0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyJiZ0Lm9wdGlvbnMuY2hhcnNBc0NoaWxkcmVuJiYodC5vcHRpb25zLmluY2x1ZGVXaGl0ZUNoYXJzfHxcIlwiIT09cy5yZXBsYWNlKC9cXFxcbi9nLFwiXCIpLnRyaW0oKSkmJihpW3Qub3B0aW9ucy5jaGlsZGtleV09aVt0Lm9wdGlvbnMuY2hpbGRrZXldfHxbXSwoZT17XCIjbmFtZVwiOlwiX190ZXh0X19cIn0pW3JdPXMsdC5vcHRpb25zLm5vcm1hbGl6ZSYmKGVbcl09ZVtyXS5yZXBsYWNlKC9cXHN7Mix9L2csXCIgXCIpLnRyaW0oKSksaVt0Lm9wdGlvbnMuY2hpbGRrZXldLnB1c2goZSkpLGl9fSh0aGlzKSx0aGlzLnNheFBhcnNlci5vbnRleHQ9cyx0aGlzLnNheFBhcnNlci5vbmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciByO2lmKHI9cyh0KSlyZXR1cm4gci5jZGF0YT0hMH19LHUucHJvdG90eXBlLnBhcnNlU3RyaW5nPWZ1bmN0aW9uKHIscyl7dmFyIGU7bnVsbCE9cyYmXCJmdW5jdGlvblwiPT10eXBlb2YgcyYmKHRoaXMub24oXCJlbmRcIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNldCgpLHMobnVsbCx0KX0pLHRoaXMub24oXCJlcnJvclwiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlc2V0KCkscyh0KX0pKTt0cnl7cmV0dXJuXCJcIj09PShyPXIudG9TdHJpbmcoKSkudHJpbSgpPyh0aGlzLmVtaXQoXCJlbmRcIixudWxsKSwhMCk6KHI9dC5zdHJpcEJPTShyKSx0aGlzLm9wdGlvbnMuYXN5bmM/KHRoaXMucmVtYWluaW5nPXIsYSh0aGlzLnByb2Nlc3NBc3luYyksdGhpcy5zYXhQYXJzZXIpOnRoaXMuc2F4UGFyc2VyLndyaXRlKHIpLmNsb3NlKCkpfWNhdGNoKHQpe2lmKGU9dCwhdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duJiYhdGhpcy5zYXhQYXJzZXIuZW5kZWQpcmV0dXJuIHRoaXMuZW1pdChcImVycm9yXCIsZSksdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSEwO2lmKHRoaXMuc2F4UGFyc2VyLmVuZGVkKXRocm93IGV9fSx1LnByb3RvdHlwZS5wYXJzZVN0cmluZ1Byb21pc2U9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChyPXRoaXMsZnVuY3Rpb24ocyxlKXtyZXR1cm4gci5wYXJzZVN0cmluZyh0LGZ1bmN0aW9uKHQscil7cmV0dXJuIHQ/ZSh0KTpzKHIpfSl9KSk7dmFyIHJ9LHV9KCksZXhwb3J0cy5wYXJzZVN0cmluZz1mdW5jdGlvbih0LHIscyl7dmFyIGUsaTtyZXR1cm4gbnVsbCE9cz8oXCJmdW5jdGlvblwiPT10eXBlb2YgcyYmKGU9cyksXCJvYmplY3RcIj09dHlwZW9mIHImJihpPXIpKTooXCJmdW5jdGlvblwiPT10eXBlb2YgciYmKGU9ciksaT17fSksbmV3IGV4cG9ydHMuUGFyc2VyKGkpLnBhcnNlU3RyaW5nKHQsZSl9LGV4cG9ydHMucGFyc2VTdHJpbmdQcm9taXNlPWZ1bmN0aW9uKHQscil7dmFyIHM7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIHImJihzPXIpLG5ldyBleHBvcnRzLlBhcnNlcihzKS5wYXJzZVN0cmluZ1Byb21pc2UodCl9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhjbk5sY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUppYjIwaUxDSmtaV1poZFd4MGN5SXNJbVYyWlc1MGN5SXNJbWx6Ulcxd2RIa2lMQ0p3Y205alpYTnpTWFJsYlNJc0luQnliMk5sYzNOdmNuTWlMQ0p6WVhnaUxDSnpaWFJKYlcxbFpHbGhkR1VpTENKaWFXNWtJaXdpWm00aUxDSnRaU0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0luUm9hVzVuSWl3aVQySnFaV04wSWl3aWEyVjVjeUlzSW14bGJtZDBhQ0lzSW1sMFpXMGlMQ0pyWlhraUxDSnBJaXdpYkdWdUlpd2ljSEp2WTJWemN5SXNJbVY0Y0c5eWRITWlMQ0pRWVhKelpYSWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWIzQjBjeUlzSW5KbFppSXNJblpoYkhWbElpd2lkR2hwY3lJc0luQmhjbk5sVTNSeWFXNW5VSEp2YldselpTSXNJbkJoY25ObFUzUnlhVzVuSWl3aWNtVnpaWFFpTENKaGMzTnBaMjVQY2xCMWMyZ2lMQ0p3Y205alpYTnpRWE41Ym1NaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0luaHRiRzV6SWl3aWVHMXNibk5yWlhraUxDSmhkSFJ5YTJWNUlpd2libTl5YldGc2FYcGxWR0ZuY3lJc0luUmhaMDVoYldWUWNtOWpaWE56YjNKeklpd2lkVzV6YUdsbWRDSXNJbTV2Y20xaGJHbDZaU0lzSW1Ob2FXeGtJaXdpY0dGeVpXNTBJaXdpWTNSdmNpSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2lYMTl6ZFhCbGNsOWZJaXdpWlhoMFpXNWtJaXdpWTJoMWJtc2lMQ0psY25JaUxDSnlaVzFoYVc1cGJtY2lMQ0pqYUhWdWExTnBlbVVpTENKellYaFFZWEp6WlhJaUxDSjNjbWwwWlNJc0ltTnNiM05sSWl3aWMzVmljM1J5SWl3aVpYSnliM0l4SWl3aVpYSnlWR2h5YjNkdUlpd2laVzFwZENJc0ltOWlhaUlzSW01bGQxWmhiSFZsSWl3aVFYSnlZWGtpTENKd2RYTm9JaXdpWlhod2JHbGphWFJCY25KaGVTSXNJbU5vWVhKclpYa2lMQ0p2Ym5SbGVIUWlMQ0p6ZEdGamF5SXNJbDkwYUdseklpd2ljbVZ0YjNabFFXeHNUR2x6ZEdWdVpYSnpJaXdpY0dGeWMyVnlJaXdpYzNSeWFXTjBJaXdpZEhKcGJTSXNJbTl1WlhKeWIzSWlMQ0psY25KdmNpSXNJbkpsYzNWdFpTSXNJbTl1Wlc1a0lpd2laVzVrWldRaUxDSnlaWE4xYkhSUFltcGxZM1FpTENKRldGQk1TVU5KVkY5RFNFRlNTMFZaSWl3aVpYaHdiR2xqYVhSRGFHRnlhMlY1SWl3aWIyNXZjR1Z1ZEdGbklpd2libTlrWlNJc0luQnliMk5sYzNObFpFdGxlU0lzSW1sbmJtOXlaVUYwZEhKeklpd2lZWFIwY21saWRYUmxjeUlzSW0xbGNtZGxRWFIwY25NaUxDSmhkSFJ5Vm1Gc2RXVlFjbTlqWlhOemIzSnpJaXdpWVhSMGNrNWhiV1ZRY205alpYTnpiM0p6SWl3aWJtRnRaU0lzSW5WeWFTSXNJbXh2WTJGc0lpd2liMjVqYkc5elpYUmhaeUlzSW1Oa1lYUmhJaXdpWlcxd2RIbFRkSElpTENKdWIyUmxUbUZ0WlNJc0ltOWlha05zYjI1bElpd2liMnhrSWl3aWN5SXNJbmh3WVhSb0lpd2ljRzl3SWl3aVpYaHdiR2xqYVhSRGFHbHNaSEpsYmlJc0luQnlaWE5sY25abFEyaHBiR1J5Wlc1UGNtUmxjaUlzSW0xaGRHTm9JaXdpY21Wd2JHRmpaU0lzSW5aaGJIVmxVSEp2WTJWemMyOXljeUlzSW1WdGNIUjVWR0ZuSWl3aWRtRnNhV1JoZEc5eUlpd2ljbVZ6ZFd4MGN5SXNJbU52Ym1OaGRDSXNJbXB2YVc0aUxDSmphR2xzWkd0bGVTSXNJbU5vWVhKelFYTkRhR2xzWkhKbGJpSXNJbWRsZEU5M2JsQnliM0JsY25SNVRtRnRaWE1pTENKbGVIQnNhV05wZEZKdmIzUWlMQ0owWlhoMElpd2lZMmhoY2tOb2FXeGtJaXdpYVc1amJIVmtaVmRvYVhSbFEyaGhjbk1pTENJamJtRnRaU0lzSW05dVkyUmhkR0VpTENKemRISWlMQ0pqWWlJc0ltOXVJaXdpY21WemRXeDBJaXdpZEc5VGRISnBibWNpTENKemRISnBjRUpQVFNJc0ltRnplVzVqSWl3aVVISnZiV2x6WlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSmhJaXdpWWlKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlFVdERMRVZCUVZWRExFVkJRVkZETEVWQlFWTkRMRVZCUVdGRExFVkJRVmxETEVWQlFVdERMRVZCUTJoRlF5eEZRVUZQTEZOQlFWTkRMRVZCUVVsRExFZEJRVXNzVDBGQlR5eFhRVUZaTEU5QlFVOUVMRVZCUVVkRkxFMUJRVTFFTEVWQlFVbEZMR0ZCUldoRlF5eEZRVUZWTEVkQlFVZERMR1ZCUldaU0xFVkJRVTFUTEZGQlFWRXNUMEZGWkdJc1JVRkJVMkVzVVVGQlVTeFZRVVZxUW1Zc1JVRkJUV1VzVVVGQlVTeFRRVVZrVml4RlFVRmhWU3hSUVVGUkxHZENRVVZ5UWxJc1JVRkJaVkVzVVVGQlVTeFZRVUZWVWl4aFFVVnFRMDRzUlVGQlYyTXNVVUZCVVN4alFVRmpaQ3hUUVVWcVEwVXNSVUZCVlN4VFFVRlRZU3hIUVVOcVFpeE5RVUYzUWl4cFFrRkJWa0VzUjBGQlowTXNUVUZCVkVFc1IwRkJaMFFzU1VGQk9VSkRMRTlCUVU5RExFdEJRVXRHTEVkQlFVOUhMRkZCUnpWRlppeEZRVUZqTEZOQlFWTkRMRVZCUVZsbExFVkJRVTFETEVkQlEzWkRMRWxCUVVsRExFVkJRVWRETEVWQlExQXNTVUZCUzBRc1JVRkJTU3hGUVVGSFF5eEZRVUZOYkVJc1JVRkJWMk1zVDBGQlVVY3NSVUZCU1VNc1JVRkJTMFFzU1VGRk5VTkdMRWRCUkVGSkxFVkJRVlZ1UWl4RlFVRlhhVUlzU1VGRFRrWXNSVUZCVFVNc1IwRkZka0lzVDBGQlQwUXNSMEZIVkVzc1VVRkJVVU1zVDBGQlV5eFRRVUZWUXl4SFFVZDZRaXhUUVVGVFJDeEZRVUZQUlN4SFFVMWtMRWxCUVVsUUxFVkJRVXRSTEVWQlFVdERMRVZCUTJRc1IwRk9RVU1zUzBGQlMwTXNiVUpCUVhGQ2VFSXNSVUZCUzNWQ0xFdEJRVXRETEcxQ1FVRnZRa1FzVFVGRGVFUkJMRXRCUVV0RkxGbEJRV042UWl4RlFVRkxkVUlzUzBGQlMwVXNXVUZCWVVZc1RVRkRNVU5CTEV0QlFVdEhMRTFCUVZFeFFpeEZRVUZMZFVJc1MwRkJTMGNzVFVGQlQwZ3NUVUZET1VKQkxFdEJRVXRKTEdGQlFXVXpRaXhGUVVGTGRVSXNTMEZCUzBrc1lVRkJZMG9zVFVGRE5VTkJMRXRCUVV0TExHRkJRV1UxUWl4RlFVRkxkVUlzUzBGQlMwc3NZVUZCWTB3c1VVRkZkRU5CTEdkQ1FVRm5RazRzVVVGQlVVTXNVVUZETlVJc1QwRkJUeXhKUVVGSlJDeFJRVUZSUXl4UFFVRlBSU3hIUVVrMVFpeEpRVUZMVUN4TFFVWk1WU3hMUVVGTFRTeFJRVUZWTEVkQlEyWlNMRVZCUVUwMVFpeEZRVUZUTEVsQlJWSlpMRVZCUVZGNVFpeExRVUZMVkN4RlFVRkxVaXhMUVVOMlFsTXNSVUZCVVVRc1JVRkJTVklzUjBGRFdsVXNTMEZCUzAwc1VVRkJVV2hDTEVkQlFVOVRMRWRCUlhSQ0xFbEJRVXRVTEV0QlFVOVBMRVZCUTB4bUxFVkJRVkY1UWl4TFFVRkxWaXhGUVVGTlVDeExRVU40UWxNc1JVRkJVVVlzUlVGQlMxQXNSMEZEWWxVc1MwRkJTMDBzVVVGQlVXaENMRWRCUVU5VExFZEJSV3hDUXl4TFFVRkxUU3hSUVVGUlJTeFJRVU5tVWl4TFFVRkxUU3hSUVVGUlJ5eFRRVUZYVkN4TFFVRkxUU3hSUVVGUlNTeFJRVUZWTEUxQlJUZERWaXhMUVVGTFRTeFJRVUZSU3l4blFrRkRWbGdzUzBGQlMwMHNVVUZCVVUwc2IwSkJRMmhDV2l4TFFVRkxUU3hSUVVGUlRTeHJRa0ZCYjBJc1NVRkZia05hTEV0QlFVdE5MRkZCUVZGTkxHdENRVUZyUWtNc1VVRkJVWFpETEVWQlFWZDNReXhaUVVWd1JHUXNTMEZCUzBjc1VVRjVVbEFzVDBGMlZsTXNVMEZCVTFrc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVa3hRaXhMUVVGUE1FSXNSVUZCWTJ4RExFVkJRVkY1UWl4TFFVRkxVeXhGUVVGUk1VSXNTMEZCVFhsQ0xFVkJRVTE2UWl4SFFVRlBNRUlzUlVGQlR6RkNMRWxCUVZFc1UwRkJVekpDTEVsQlFWTnFRaXhMUVVGTGEwSXNXVUZCWTBnc1JVRkJVMFVzUlVGQlMwVXNWVUZCV1Vnc1JVRkJUMGNzVlVGQlYwb3NSVUZCVFVrc1ZVRkJXU3hKUVVGSlJpeEZRVUZSUml4RlFVRk5TeXhWUVVGWlNpeEZRVUZQUnl4VlFUWkNhRkZGTEVOQlFVOHhRaXhGUVRSVVRuaENMRWRCZUZKRWQwSXNSVUZCVDNkQ0xGVkJRVlZrTEdGQlFXVXNWMEZET1VJc1NVRkJTV2xDTEVWQlFVOURMRVZCUTFnc1NVRkRSU3hQUVVGSmRrSXNTMEZCUzNkQ0xGVkJRVlZ3UXl4UlFVRlZXU3hMUVVGTFRTeFJRVUZSYlVJc1YwRkRlRU5JTEVWQlFWRjBRaXhMUVVGTGQwSXNWVUZEWW5oQ0xFdEJRVXQzUWl4VlFVRlpMRWRCUTJwQ2VFSXNTMEZCU3pCQ0xGVkJRVmt4UWl4TFFVRkxNRUlzVlVGQlZVTXNUVUZCVFV3c1IwRkRMMEowUWl4TFFVRkxNRUlzVlVGQlZVVXNWVUZGZEVKT0xFVkJRVkYwUWl4TFFVRkxkMElzVlVGQlZVc3NUMEZCVHl4RlFVRkhOMElzUzBGQlMwMHNVVUZCVVcxQ0xGZEJRemxEZWtJc1MwRkJTM2RDTEZWQlFWbDRRaXhMUVVGTGQwSXNWVUZCVlVzc1QwRkJUemRDTEV0QlFVdE5MRkZCUVZGdFFpeFZRVUZYZWtJc1MwRkJTM2RDTEZWQlFWVndReXhSUVVNNVJWa3NTMEZCU3pCQ0xGVkJRVmt4UWl4TFFVRkxNRUlzVlVGQlZVTXNUVUZCVFV3c1IwRkRMMEk1UXl4RlFVRmhkMElzUzBGQlMwc3NaVUZGTTBJc1RVRkJUM2xDTEVkQlJWQXNSMEZFUVZBc1JVRkJUVThzUjBGRFJEbENMRXRCUVVzd1FpeFZRVUZWU3l4VlFVVnNRaXhQUVVSQkwwSXNTMEZCU3pCQ0xGVkJRVlZMTEZkQlFWa3NSVUZEY0VJdlFpeExRVUZMWjBNc1MwRkJTMVFzUzBGTGRrSTFRaXhGUVVGUGQwSXNWVUZCVldZc1lVRkJaU3hUUVVGVE5rSXNSVUZCU3pORExFVkJRVXMwUXl4SFFVTnFSQ3hQUVVGTk5VTXNTMEZCVHpKRExFZEJUMHhCTEVWQlFVa3pReXhoUVVGblFqWkRMRkZCUTNoQ1JpeEZRVUZKTTBNc1IwRkJUeXhEUVVGRE1rTXNSVUZCU1RORExFdEJSVmd5UXl4RlFVRkpNME1zUjBGQlN6aERMRXRCUVV0R0xFbEJWR2hDYkVNc1MwRkJTMDBzVVVGQlVTdENMR05CUjFSS0xFVkJRVWt6UXl4SFFVRlBMRU5CUVVNMFF5eEhRVVphUkN4RlFVRkpNME1zUjBGQlR6UkRMRWRCV1hoQ2RrTXNSVUZCVDNkQ0xGVkJRVlZvUWl4TlFVRlJMRmRCUTNaQ0xFbEJRVWxQTEVWQlFWTTBRaXhGUVVGVFF5eEZRVUZSUXl4RlFWRkxReXhGUVRCTGJrTXNUMEZxVEVGNlF5eExRVUZMTUVNc2NVSkJRMHd4UXl4TFFVRkxNRUlzVlVGQldXNUVMRVZCUVVsdlJTeFBRVUZQTTBNc1MwRkJTMDBzVVVGQlVYTkRMRTlCUVZFc1EwRkRMME5ETEUxQlFVMHNSVUZEVGk5Q0xGZEJRVmNzUlVGRFdFNHNUVUZCVDFJc1MwRkJTMDBzVVVGQlVVVXNVVUZGZEVKU0xFdEJRVXN3UWl4VlFVRlZTeXhYUVVGWkxFVkJRek5DTDBJc1MwRkJTekJDTEZWQlFWVnZRaXhUUVVGdlFrd3NSVUZSYUVONlF5eExRVkJOTEZOQlFWTXJReXhIUVVWa0xFZEJSRUZPTEVWQlFVMW1MRlZCUVZWelFpeFZRVU5ZVUN4RlFVRk5aaXhWUVVGVlN5eFZRVVZ1UWl4UFFVUkJWU3hGUVVGTlppeFZRVUZWU3l4WFFVRlpMRVZCUTNKQ1ZTeEZRVUZOVkN4TFFVRkxMRkZCUVZObExFdEJTV3BETDBNc1MwRkJTekJDTEZWQlFWVjFRaXhOUVVGUkxGTkJRVlZTTEVkQlF5OUNMRTlCUVU4c1YwRkRUQ3hKUVVGTFFTeEZRVUZOWml4VlFVRlZkMElzVFVGRmJrSXNUMEZFUVZRc1JVRkJUV1lzVlVGQlZYZENMRTlCUVZFc1JVRkRha0pVTEVWQlFVMVVMRXRCUVVzc1RVRkJUMU1zUlVGQlRWVXNaVUZLWkN4RFFVOXdRbTVFTEUxQlEwaEJMRXRCUVVzd1FpeFZRVUZWZDBJc1QwRkJVU3hGUVVOMlFteEVMRXRCUVV0dlJDeHBRa0ZCYlVKd1JDeExRVUZMVFN4UlFVRlJLME1zWjBKQlEzSkRja1FzUzBGQlMyMUVMR0ZCUVdVc1MwRkRjRUpZTEVWQlFWRXNSMEZEVWpsQ0xFVkJRVlZXTEV0QlFVdE5MRkZCUVZGSkxGRkJRM1pDTkVJc1JVRkJWWFJETEV0QlFVdE5MRkZCUVZGblF5eFJRVU4yUW5SRExFdEJRVXN3UWl4VlFVRlZORUlzVlVGQldTeFRRVUZWWWl4SFFVTnVReXhQUVVGUExGTkJRVk5qTEVkQlEyUXNTVUZCU1dwRkxFVkJRVXMwUXl4RlFVRlZSQ3hGUVVGTGRVSXNSVUZCWXpGRUxFVkJSM1JETEVsQlJrRnRReXhGUVVGTkxFbEJRMFpMTEVkQlFWY3NTVUZEVmtjc1JVRkJUVzVETEZGQlFWRnRSQ3haUVVWcVFpeEpRVUZMYmtVc1MwRkVURkVzUlVGQlRYbEVMRVZCUVV0SExGZEJSVW8xUlN4RlFVRlJlVUlzUzBGQlMxUXNSVUZCUzFJc1MwRkRha0p2UWl4TFFVRlhkVUlzUjBGQlUxRXNSVUZCVFc1RExGRkJRVkZ4UkN4aFFVTjBRekZDTEVWQlFVbDJRaXhIUVVGWExFbEJSV3BDZDBJc1JVRkJWMDhzUlVGQlRXNURMRkZCUVZGelJDeHZRa0ZCYzBKMlJpeEZRVUZaYjBVc1JVRkJUVzVETEZGQlFWRnpSQ3h2UWtGQmNVSk1MRVZCUVV0SExGZEJRVmR3UlN4SFFVRk5RU3hIUVVGUGFVVXNSVUZCUzBjc1YwRkJWM0JGTEVkQlF6TkphMFVzUlVGQlpXWXNSVUZCVFc1RExGRkJRVkYxUkN4dFFrRkJjVUo0Uml4RlFVRlpiMFVzUlVGQlRXNURMRkZCUVZGMVJDeHRRa0ZCYjBKMlJTeEhRVUZQUVN4RlFVTnVSMjFFTEVWQlFVMXVReXhSUVVGUmNVUXNWMEZEYUVKc1FpeEZRVUZOY2tNc1lVRkJZVFpDTEVWQlFVdDFRaXhGUVVGamRFSXNSMEZGZEVORUxFVkJRVWwyUWl4SFFVRlRPRU1zUjBGQlowSjBRaXhIUVZkdVF5eFBRVkJCUkN4RlFVRkpMRk5CUVZkUkxFVkJRVTF1UXl4UlFVRlJUU3hyUWtGQmIwSjJReXhGUVVGWmIwVXNSVUZCVFc1RExGRkJRVkZOTEd0Q1FVRnRRakpETEVWQlFVdFBMRTFCUVZGUUxFVkJRVXRQTEV0QlF6Vkhja0lzUlVGQlRXNURMRkZCUVZGRkxGRkJRMmhDZVVJc1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGSExGVkJRVmtzUTBGRE5VSnpSQ3hKUVVGTFVpeEZRVUZMVVN4SlFVTldReXhOUVVGUFZDeEZRVUZMVXl4UlFVZFVlRUlzUlVGQlRVb3NTMEZCUzBnc1NVRTFRa3NzUTBFNFFuaENha01zVFVGRFNFRXNTMEZCU3pCQ0xGVkJRVlYxUXl4WFFVRmhMRk5CUVZWNFFpeEhRVU53UXl4UFFVRlBMRmRCUTB3c1NVRkJTWGxDTEVWQlFVOURMRVZCUVZVM1JTeEZRVUZMYVVVc1JVRkJUV0VzUlVGQlZXNURMRVZCUVV0dlF5eEZRVUZWUXl4RlFVRkxReXhGUVVGSFF5eEZRV2xFYWtVc1IwRm9SRUYyUXl4RlFVRk5UeXhGUVVGTmFVTXNUVUZEV2t3c1JVRkJWMjVETEVWQlFVa3NVMEZEVmxFc1JVRkJUVzVETEZGQlFWRnZSU3hyUWtGQmNVSnFReXhGUVVGTmJrTXNVVUZCVVhGRkxEaENRVU0zUXpGRExFVkJRVWtzVlVGRlN5eEpRVUZrUVN4RlFVRkphVU1zVVVGRFRrRXNSVUZCVVdwRExFVkJRVWxwUXl4aFFVTk1ha01zUlVGQlNXbERMRTlCUldKTExFVkJRVWt2UWl4RlFVRk5RU3hGUVVGTmNFUXNUMEZCVXl4SFFVTnlRalpETEVWQlFVbExMRWRCUVZOelF5eE5RVUZOTEZkQlFXRldMRWRCUTJ4RFF5eEZRVUZYYkVNc1JVRkJTVXNzVlVGRFVrd3NSVUZCU1Vzc1MwRkZVRWNzUlVGQlRXNURMRkZCUVZGMVF5eFBRVU5vUWxvc1JVRkJTVXNzUjBGQlYwd3NSVUZCU1Vzc1IwRkJVMDhzVVVGRk1VSktMRVZCUVUxdVF5eFJRVUZSVVN4WlFVTm9RbTFDTEVWQlFVbExMRWRCUVZkTUxFVkJRVWxMTEVkQlFWTjFReXhSUVVGUkxGVkJRVmNzUzBGQlMyaERMRkZCUlhSRVdpeEZRVUZKU3l4SFFVRlhSeXhGUVVGTmJrTXNVVUZCVVhkRkxHZENRVUZyUW5wSExFVkJRVmx2UlN4RlFVRk5ia01zVVVGQlVYZEZMR2RDUVVGcFFqZERMRVZCUVVsTExFZEJRVlU0UWl4SFFVRlpia01zUlVGQlNVc3NSMEZEZUVZc1NVRkJOVUp3UkN4UFFVRlBReXhMUVVGTE9FTXNSMEZCU3pkRExGRkJRV2RDYTBRc1MwRkJWMHdzU1VGQlVWRXNSVUZCVFZjc2JVSkJRelZFYmtJc1JVRkJUVUVzUlVGQlNVc3NTMEZIVm14RkxFVkJRVkUyUkN4TFFVTldRU3hGUVVGcFF5eExRVUV6UWxFc1JVRkJUVzVETEZGQlFWRjVSU3hUUVVGclFuUkRMRVZCUVUxdVF5eFJRVUZSZVVVc1UwRkJWMW9zUjBGRmJFTXNUVUZCTTBJeFFpeEZRVUZOYmtNc1VVRkJVVEJGTEZsQlEyaENVaXhGUVVGUkxFbEJRVThzVjBGRFlpeEpRVUZKYWtZc1JVRkJSME1zUlVGQlMzbEdMRVZCUlZvc1NVRkVRVUVzUlVGQlZTeEhRVU5NTVVZc1JVRkJTU3hGUVVGSFF5eEZRVUZOWjBRc1JVRkJUWEJFTEU5QlFWRkhMRVZCUVVsRExFVkJRVXRFTEVsQlEzWkRaMFVzUlVGQlQyWXNSVUZCVFdwRUxFZEJRMkl3Uml4RlFVRlJOME1zUzBGQlMyMUNMRVZCUVVzc1ZVRkZjRUlzVDBGQlR6QkNMRVZCVUVzc1IwRlJVa01zVDBGQlQyUXNSMEZCVldVc1MwRkJTeXhMUVVNMVFpeFhRVU5GTEVsQlFVazFSQ3hGUVVOS0xFbEJRMU5WTEVWQlFVMVJMRVZCUVUxdVF5eFJRVUZSTUVVc1ZVRkJWVklzUlVGQlQwUXNSMEZCUzBFc1JVRkJSVWdzUjBGQlYyNURMRWRCUXpsRUxFMUJRVTlJTEVkQlJWQXNUMEZFUVZBc1JVRkJUVThzUlVGRFExY3NSVUZCVFZRc1MwRkJTeXhSUVVGVFZDeEpRVTR2UWl4SlFWVkZhMElzUlVGQlRXNURMRkZCUVZGdlJTeHRRa0ZCY1VKcVF5eEZRVUZOYmtNc1VVRkJVWEZFTEZsQlFUWkNMR2xDUVVGU01VSXNSVUZEZUVVc1IwRkJTMUVzUlVGQlRXNURMRkZCUVZGeFJTeDFRa0ZqV2l4SFFVRkpTaXhGUVVGSExFTkJSMW9zU1VGQlMycEdMRXRCUmt4cFJpeEZRVUZGT1VJc1JVRkJUVzVETEZGQlFWRTRSU3hWUVVGWllpeEZRVUZGT1VJc1JVRkJUVzVETEZGQlFWRTRSU3hYUVVGaExFZEJRM3BFWml4RlFVRlhMRWRCUTBOd1F5eEZRVU5NYmtRc1JVRkJVWGxDTEV0QlFVc3dRaXhGUVVGTE0wTXNTMEZEZGtJclJTeEZRVUZUTDBVc1IwRkJUekpETEVWQlFVa3pReXhKUVVWMFFtbEdMRVZCUVVVNVFpeEZRVUZOYmtNc1VVRkJVVGhGTEZWQlFWVm9SQ3hMUVVGTGFVTXNWVUZEZUVKd1F5eEZRVUZKTEZOQlEzRkNMRWxCUVRWQ0wwTXNUMEZCVDBNc1MwRkJTemhETEVkQlFVczNReXhSUVVGblFtdEVMRXRCUVZkTUxFbEJRVkZSTEVWQlFVMVhMRzFDUVVNMVJHNUNMRVZCUVUxQkxFVkJRVWxMTEZWQmRrSmFhVUlzUlVGQlR5eEhRVU5JWkN4RlFVRk5ia01zVVVGQlVVa3NWMEZCVjNWQ0xFbEJRek5DYzBJc1JVRkJTMlFzUlVGQlRXNURMRkZCUVZGSkxGTkJRVmQxUWl4RlFVRkpVU3hGUVVGTmJrTXNVVUZCVVVrc1owSkJRM3BEZFVJc1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGSkxGZEJSWFJDSzBJc1JVRkJUVzVETEZGQlFWRXJSU3hwUWtGQmJVSTFReXhGUVVGTmJrTXNVVUZCVVdkRExGZEJRVmRNTEVsQlF6ZEVjMElzUlVGQlMyUXNSVUZCVFc1RExGRkJRVkZuUXl4VFFVRlhUQ3hGUVVGSlVTeEZRVUZOYmtNc1VVRkJVV2RETEdkQ1FVTjZRMHdzUlVGQlNWRXNSVUZCVFc1RExGRkJRVkZuUXl4VlFVVjJRbkJFTEU5QlFVOXZSeXh2UWtGQmIwSnlSQ3hIUVVGTE4wTXNUMEZCVXl4SlFVTXpRMjFGTEVWQlFVdGtMRVZCUVUxdVF5eFJRVUZST0VVc1ZVRkJXVzVFTEVkQlJXcERRU3hGUVVGTmMwSXNSVUZsVml4UFFVRkpaaXhGUVVGTmNFUXNUMEZCVXl4RlFVTldjVVFzUlVGQlRYSkRMR0ZCUVdGdFJTeEZRVUZIU0N4RlFVRlZia01zU1VGRmJrTlJMRVZCUVUxdVF5eFJRVUZSYVVZc1pVRkRhRUpxUWl4RlFVRk5ja01zUjBGRFRrRXNSVUZCVFN4SlFVTkdiVU1zUjBGQldVVXNSMEZGYkVJM1FpeEZRVUZOVlN4aFFVRmxiRUlzUlVGRGNrSlJMRVZCUVUxbUxGVkJRVlYzUWl4UFFVRlJMRVZCUTJwQ1ZDeEZRVUZOVkN4TFFVRkxMRTFCUVU5VExFVkJRVTFWTEdkQ1FURkdWQ3hEUVRaR2VrSnVSQ3hOUVVOSWRVTXNSVUZCVXl4VFFVRlZSU3hIUVVOcVFpeFBRVUZQTEZOQlFWTXJReXhIUVVOa0xFbEJRVWxETEVWQlFWZHNRaXhGUVVWbUxFZEJSRUZCTEVWQlFVa3ZRaXhGUVVGTlFTeEZRVUZOY0VRc1QwRkJVeXhIUVdOMlFpeFBRVnBCYlVZc1JVRkJSV3BETEVsQlFWbHJSQ3hGUVVOV0wwTXNSVUZCVFc1RExGRkJRVkZ2UlN4clFrRkJiMEpxUXl4RlFVRk5ia01zVVVGQlVYRkZMSFZDUVVGNVFteERMRVZCUVUxdVF5eFJRVUZSSzBVc2EwSkJRVzlDTlVNc1JVRkJUVzVETEZGQlFWRnZSaXh0UWtGQmVVUXNTMEZCY0VOR0xFVkJRVXRZTEZGQlFWRXNUMEZCVVN4SlFVRkphRU1zVlVGRGVrc3dRaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4VlFVRlpZaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4WFFVRmhMRWxCUTNwRVN5eEZRVUZaTEVOQlExWkZMRkZCUVZNc1lVRkZSSEpFTEVkQlFWZHJSQ3hGUVVOcVFpOURMRVZCUVUxdVF5eFJRVUZSVVN4WlFVTm9RakpGTEVWQlFWVnVSQ3hIUVVGWGJVUXNSVUZCVlc1RUxFZEJRVk4xUXl4UlFVRlJMRlZCUVZjc1MwRkJTMmhETEZGQlJXeEZNRUlzUlVGQlJUbENMRVZCUVUxdVF5eFJRVUZST0VVc1ZVRkJWV2hFTEV0QlFVdHhSQ3hKUVVVeFFteENMRWRCYWtKS0xFTkJiMEpPZGtVc1RVRkRTRUVzUzBGQlN6QkNMRlZCUVZWaExFOUJRVk5CTEVWQlEycENka01zUzBGQlN6QkNMRlZCUVZWclJTeFJRVU5pTEZOQlFWTktMRWRCUTJRc1NVRkJTV3BDTEVWQlJVb3NSMEZFUVVFc1JVRkJTV2hETEVWQlFVOXBSQ3hIUVVWVUxFOUJRVTlxUWl4RlFVRkZUQ3hQUVVGUkxFbEJUWHBDZGtVc1JVRkJUM2RDTEZWQlFWVnFRaXhaUVVGakxGTkJRVk15Uml4RlFVRkxReXhIUVVNelF5eEpRVUZKZGtVc1JVRkRUeXhOUVVGT2RVVXNSMEZCTmtJc2JVSkJRVkJCTEVsQlEzcENPVVlzUzBGQlN5dEdMRWRCUVVjc1RVRkJUeXhUUVVGVFF5eEhRVVYwUWl4UFFVUkJhRWNzUzBGQlMwY3NVVUZEUlRKR0xFVkJRVWNzUzBGQlRVVXNTMEZGYkVKb1J5eExRVUZMSzBZc1IwRkJSeXhSUVVGVExGTkJRVk40UlN4SFFVVjRRaXhQUVVSQmRrSXNTMEZCUzBjc1VVRkRSVEpHTEVWQlFVZDJSU3hOUVVka0xFbEJSVVVzVFVGQmJVSXNUVUZFYmtKelJTeEZRVUZOUVN4RlFVRkpTU3haUVVOR2NFUXNVVUZEVGpkRExFdEJRVXRuUXl4TFFVRkxMRTFCUVU4c1QwRkRWaXhKUVVWVU5rUXNSVUZCVFRWSUxFVkJRVWxwU1N4VFFVRlRUQ3hIUVVObU4wWXNTMEZCUzAwc1VVRkJVVFpHTEU5QlEyWnVSeXhMUVVGTGQwSXNWVUZCV1hGRkxFVkJRMnBDY2tnc1JVRkJZWGRDTEV0QlFVdExMR05CUTFoTUxFdEJRVXN3UWl4WFFVVlFNVUlzUzBGQlN6QkNMRlZCUVZWRExFMUJRVTFyUlN4SFFVRkxha1VzVTBGRGFrTXNUVUZCVDBVc1IwRkZVQ3hIUVVSQlVDeEZRVUZOVHl4SFFVTkJPVUlzUzBGQlN6QkNMRlZCUVZWTExGbEJRV0V2UWl4TFFVRkxNRUlzVlVGQlZYZENMRTFCUlM5RExFOUJSRUZzUkN4TFFVRkxaME1zUzBGQlN5eFJRVUZUVkN4SFFVTmFka0lzUzBGQlN6QkNMRlZCUVZWTExGZEJRVmtzUlVGRE4wSXNSMEZCU1M5Q0xFdEJRVXN3UWl4VlFVRlZkMElzVFVGRGVFSXNUVUZCVFROQ0xFbEJTMW8xUWl4RlFVRlBkMElzVlVGQlZXeENMRzFDUVVGeFFpeFRRVUZUTkVZc1IwRkROME1zVDBGQlR5eEpRVUZKVHl4VFFVRnJRak5FTEVWQlZURkNla01zUzBGVVRTeFRRVUZUY1Vjc1JVRkJVME1zUjBGRGRrSXNUMEZCVHpkRUxFVkJRVTEyUXl4WlFVRlpNa1lzUlVGQlN5eFRRVUZUZEVVc1JVRkJTM2hDTEVkQlF6RkRMRTlCUVVsM1FpeEZRVU5MSzBVc1JVRkJUeTlGTEVkQlJWQTRSU3hGUVVGUmRFY3NVVUZPU2l4SlFVRlZNRU1zUjBGaGVFSTVReXhGUVROVVVTeEhRU3RVYWtKRUxGRkJRVkZSTEZsQlFXTXNVMEZCVXpKR0xFVkJRVXRWTEVWQlFVZERMRWRCUTNKRExFbEJRVWxXTEVWQlFVbDRSaXhGUVdWU0xFOUJaRk1zVFVGQlRHdEhMRWRCUTJVc2JVSkJRVTVCTEVsQlExUldMRVZCUVV0VkxFZEJSVlVzYVVKQlFVNUVMRWxCUTFScVJ5eEZRVUZWYVVjc1MwRkhTeXh0UWtGQlRrRXNTVUZEVkZRc1JVRkJTMU1zUjBGRlVHcEhMRVZCUVZVc1NVRkZTQ3hKUVVGSldpeFJRVUZSUXl4UFFVRlBWeXhIUVVOa1NpeFpRVUZaTWtZc1JVRkJTME1zU1VGSGFrTndSeXhSUVVGUlR5eHRRa0ZCY1VJc1UwRkJVelJHTEVWQlFVdFZMRWRCUTNwRExFbEJRVWxxUnl4RlFVdEtMRTFCU21sQ0xHbENRVUZPYVVjc1NVRkRWR3BITEVWQlFWVnBSeXhIUVVWSUxFbEJRVWszUnl4UlFVRlJReXhQUVVGUFZ5eEhRVU5rVEN4dFFrRkJiVUkwUml4TlFVZHNRM1JHTEV0QlFVdFFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNNbXB6TDJ4cFlpOXdZWEp6WlhJdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU7ZT1uZXcgUmVnRXhwKC8oPyF4bWxucyleLio6LyksZXhwb3J0cy5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX0sZXhwb3J0cy5maXJzdENoYXJMb3dlckNhc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrZS5zbGljZSgxKX0sZXhwb3J0cy5zdHJpcFByZWZpeD1mdW5jdGlvbihyKXtyZXR1cm4gci5yZXBsYWNlKGUsXCJcIil9LGV4cG9ydHMucGFyc2VOdW1iZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBpc05hTihlKXx8KGU9ZSUxPT0wP3BhcnNlSW50KGUsMTApOnBhcnNlRmxvYXQoZSkpLGV9LGV4cG9ydHMucGFyc2VCb29sZWFucz1mdW5jdGlvbihlKXtyZXR1cm4vXig/OnRydWV8ZmFsc2UpJC9pLnRlc3QoZSkmJihlPVwidHJ1ZVwiPT09ZS50b0xvd2VyQ2FzZSgpKSxlfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJ5YjJObGMzTnZjbk11YW5NaVhTd2libUZ0WlhNaU9sc2ljSEpsWm1sNFRXRjBZMmdpTENKU1pXZEZlSEFpTENKbGVIQnZjblJ6SWl3aWJtOXliV0ZzYVhwbElpd2ljM1J5SWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0ptYVhKemRFTm9ZWEpNYjNkbGNrTmhjMlVpTENKamFHRnlRWFFpTENKemJHbGpaU0lzSW5OMGNtbHdVSEpsWm1sNElpd2ljbVZ3YkdGalpTSXNJbkJoY25ObFRuVnRZbVZ5Y3lJc0ltbHpUbUZPSWl3aWNHRnljMlZKYm5RaUxDSndZWEp6WlVac2IyRjBJaXdpY0dGeWMyVkNiMjlzWldGdWN5SXNJblJsYzNRaUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeGhRVU5CTEVsQlFVbEJMRVZCUlVwQkxFVkJRV01zU1VGQlNVTXNUMEZCVHl4cFFrRkZla0pETEZGQlFWRkRMRlZCUVZrc1UwRkJVME1zUjBGRE0wSXNUMEZCVDBFc1JVRkJTVU1zWlVGSFlrZ3NVVUZCVVVrc2JVSkJRWEZDTEZOQlFWTkdMRWRCUTNCRExFOUJRVTlCTEVWQlFVbEhMRTlCUVU4c1IwRkJSMFlzWTBGQlowSkVMRVZCUVVsSkxFMUJRVTBzU1VGSGFrUk9MRkZCUVZGUExGbEJRV01zVTBGQlUwd3NSMEZETjBJc1QwRkJUMEVzUlVGQlNVMHNVVUZCVVZZc1JVRkJZU3hMUVVkc1EwVXNVVUZCVVZNc1lVRkJaU3hUUVVGVFVDeEhRVWs1UWl4UFFVaExVU3hOUVVGTlVpeExRVU5VUVN4RlFVRk5RU3hGUVVGTkxFZEJRVTBzUlVGQlNWTXNVMEZCVTFRc1JVRkJTeXhKUVVGTlZTeFhRVUZYVml4SlFVVm9SRUVzUjBGSFZFWXNVVUZCVVdFc1kwRkJaMElzVTBGQlUxZ3NSMEZKTDBJc1RVRklTU3h2UWtGQmIwSlpMRXRCUVV0YUxFdEJRek5DUVN4RlFVRTBRaXhUUVVGMFFrRXNSVUZCU1VNc1pVRkZURVFzUzBGSFVtRXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld3eWFuTXZiR2xpTDNCeWIyTmxjM052Y25NdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHIsZSx0LHMsbz17fS5oYXNPd25Qcm9wZXJ0eTtlPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpLHI9cmVxdWlyZShcIi4vYnVpbGRlclwiKSx0PXJlcXVpcmUoXCIuL3BhcnNlclwiKSxzPXJlcXVpcmUoXCIuL3Byb2Nlc3NvcnNcIiksZXhwb3J0cy5kZWZhdWx0cz1lLmRlZmF1bHRzLGV4cG9ydHMucHJvY2Vzc29ycz1zLGV4cG9ydHMuVmFsaWRhdGlvbkVycm9yPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGUocil7dGhpcy5tZXNzYWdlPXJ9cmV0dXJuIGZ1bmN0aW9uKHIsZSl7Zm9yKHZhciB0IGluIGUpby5jYWxsKGUsdCkmJihyW3RdPWVbdF0pO2Z1bmN0aW9uIHMoKXt0aGlzLmNvbnN0cnVjdG9yPXJ9cy5wcm90b3R5cGU9ZS5wcm90b3R5cGUsci5wcm90b3R5cGU9bmV3IHMsci5fX3N1cGVyX189ZS5wcm90b3R5cGV9KGUsRXJyb3IpLGV9KCksZXhwb3J0cy5CdWlsZGVyPXIuQnVpbGRlcixleHBvcnRzLlBhcnNlcj10LlBhcnNlcixleHBvcnRzLnBhcnNlU3RyaW5nPXQucGFyc2VTdHJpbmcsZXhwb3J0cy5wYXJzZVN0cmluZ1Byb21pc2U9dC5wYXJzZVN0cmluZ1Byb21pc2V9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5odGJESnFjeTVxY3lKZExDSnVZVzFsY3lJNld5SmlkV2xzWkdWeUlpd2laR1ZtWVhWc2RITWlMQ0p3WVhKelpYSWlMQ0p3Y205alpYTnpiM0p6SWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltVjRjRzl5ZEhNaUxDSldZV3hwWkdGMGFXOXVSWEp5YjNJaUxDSnpkWEJsY2tOc1lYTnpJaXdpYldWemMyRm5aU0lzSW5Sb2FYTWlMQ0pqYUdsc1pDSXNJbkJoY21WdWRDSXNJbXRsZVNJc0ltTmhiR3dpTENKamRHOXlJaXdpWTI5dWMzUnlkV04wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0pmWDNOMWNHVnlYMThpTENKbGVIUmxibVFpTENKRmNuSnZjaUlzSWtKMWFXeGtaWElpTENKUVlYSnpaWElpTENKd1lYSnpaVk4wY21sdVp5SXNJbkJoY25ObFUzUnlhVzVuVUhKdmJXbHpaU0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeGhRVU5CTEVsQlFVbEJMRVZCUVZORExFVkJRVlZETEVWQlFWRkRMRVZCUlRkQ1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaS0xFVkJRVmRMTEZGQlFWRXNZMEZGYmtKT0xFVkJRVlZOTEZGQlFWRXNZVUZGYkVKS0xFVkJRVk5KTEZGQlFWRXNXVUZGYWtKSUxFVkJRV0ZITEZGQlFWRXNaMEpCUlhKQ1F5eFJRVUZSVGl4VFFVRlhRU3hGUVVGVFFTeFRRVVUxUWswc1VVRkJVVW9zVjBGQllVRXNSVUZGY2tKSkxGRkJRVkZETEdkQ1FVRnJRaXhUUVVGVlF5eEhRVWRzUXl4VFFVRlRSQ3hGUVVGblFrVXNSMEZEZGtKRExFdEJRVXRFTEZGQlFWVkJMRVZCUjJwQ0xFOUJkRUpUTEZOQlFWTkZMRVZCUVU5RExFZEJRVlVzU1VGQlN5eEpRVUZKUXl4TFFVRlBSQ3hGUVVGalZDeEZRVUZSVnl4TFFVRkxSaXhGUVVGUlF5eExRVUZOUml4RlFVRk5SU3hIUVVGUFJDeEZRVUZQUXl4SlFVRlJMRk5CUVZORkxFbEJRVk5NTEV0QlFVdE5MRmxCUVdOTUxFVkJRVk5KTEVWQlFVdEZMRlZCUVZsTUxFVkJRVTlMTEZWQlFWZE9MRVZCUVUxTkxGVkJRVmtzU1VGQlNVWXNSVUZCVVVvc1JVRkJUVThzVlVGQldVNHNSVUZCVDBzc1ZVRm5RbWhSUlN4RFFVRlBXaXhGUVZGT1lTeFBRVVpOWWl4RlFWQnBRaXhIUVZjeFFrUXNVVUZCVVdVc1VVRkJWWFJDTEVWQlFWRnpRaXhSUVVVeFFtWXNVVUZCVVdkQ0xFOUJRVk55UWl4RlFVRlBjVUlzVDBGRmVFSm9RaXhSUVVGUmFVSXNXVUZCWTNSQ0xFVkJRVTl6UWl4WlFVVTNRbXBDTEZGQlFWRnJRaXh0UWtGQmNVSjJRaXhGUVVGUGRVSXNjVUpCUlc1RFZpeExRVUZMU2lJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkRKcWN5OXNhV0l2ZUcxc01tcHpMbXB6SW4wPSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPXtEaXNjb25uZWN0ZWQ6MSxQcmVjZWRpbmc6MixGb2xsb3dpbmc6NCxDb250YWluczo4LENvbnRhaW5lZEJ5OjE2LEltcGxlbWVudGF0aW9uU3BlY2lmaWM6MzJ9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrUnZZM1Z0Wlc1MFVHOXphWFJwYjI0dWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWtScGMyTnZibTVsWTNSbFpDSXNJbEJ5WldObFpHbHVaeUlzSWtadmJHeHZkMmx1WnlJc0lrTnZiblJoYVc1eklpd2lRMjl1ZEdGcGJtVmtRbmtpTENKSmJYQnNaVzFsYm5SaGRHbHZibE53WldOcFptbGpJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFZCTEU5QlFVOURMRkZCUVZVc1EwRkRaa01zWVVGQll5eEZRVU5rUXl4VlFVRlhMRVZCUTFoRExGVkJRVmNzUlVGRFdFTXNVMEZCVlN4RlFVTldReXhaUVVGaExFZEJRMkpETEhWQ1FVRjNRaXhOUVVkNlFrTXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOUViMk4xYldWdWRGQnZjMmwwYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9e0VsZW1lbnQ6MSxBdHRyaWJ1dGU6MixUZXh0OjMsQ0RhdGE6NCxFbnRpdHlSZWZlcmVuY2U6NSxFbnRpdHlEZWNsYXJhdGlvbjo2LFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo3LENvbW1lbnQ6OCxEb2N1bWVudDo5LERvY1R5cGU6MTAsRG9jdW1lbnRGcmFnbWVudDoxMSxOb3RhdGlvbkRlY2xhcmF0aW9uOjEyLERlY2xhcmF0aW9uOjIwMSxSYXc6MjAyLEF0dHJpYnV0ZURlY2xhcmF0aW9uOjIwMyxFbGVtZW50RGVjbGFyYXRpb246MjA0LER1bW15OjIwNX19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWs1dlpHVlVlWEJsTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pGYkdWdFpXNTBJaXdpUVhSMGNtbGlkWFJsSWl3aVZHVjRkQ0lzSWtORVlYUmhJaXdpUlc1MGFYUjVVbVZtWlhKbGJtTmxJaXdpUlc1MGFYUjVSR1ZqYkdGeVlYUnBiMjRpTENKUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0pEYjIxdFpXNTBJaXdpUkc5amRXMWxiblFpTENKRWIyTlVlWEJsSWl3aVJHOWpkVzFsYm5SR2NtRm5iV1Z1ZENJc0lrNXZkR0YwYVc5dVJHVmpiR0Z5WVhScGIyNGlMQ0pFWldOc1lYSmhkR2x2YmlJc0lsSmhkeUlzSWtGMGRISnBZblYwWlVSbFkyeGhjbUYwYVc5dUlpd2lSV3hsYldWdWRFUmxZMnhoY21GMGFXOXVJaXdpUkhWdGJYa2lMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSVUVzVDBGQlQwTXNVVUZCVlN4RFFVTm1ReXhSUVVGVExFVkJRMVJETEZWQlFWY3NSVUZEV0VNc1MwRkJUU3hGUVVOT1F5eE5RVUZQTEVWQlExQkRMR2RDUVVGcFFpeEZRVU5xUWtNc2EwSkJRVzFDTEVWQlEyNUNReXh6UWtGQmRVSXNSVUZEZGtKRExGRkJRVk1zUlVGRFZFTXNVMEZCVlN4RlFVTldReXhSUVVGVExFZEJRMVJETEdsQ1FVRnJRaXhIUVVOc1FrTXNiMEpCUVhGQ0xFZEJRM0pDUXl4WlFVRmhMRWxCUTJKRExFbEJRVXNzU1VGRFRFTXNjVUpCUVhOQ0xFbEJRM1JDUXl4dFFrRkJiMElzU1VGRGNFSkRMRTFCUVU4c1QwRkhVa01zUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlPYjJSbFZIbHdaUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LHIsbixlLG8saSxjLGw9W10uc2xpY2UsdT17fS5oYXNPd25Qcm9wZXJ0eTt0PWZ1bmN0aW9uKCl7dmFyIHQscixuLGUsaSxjO2lmKGM9YXJndW1lbnRzWzBdLGk9Mjw9YXJndW1lbnRzLmxlbmd0aD9sLmNhbGwoYXJndW1lbnRzLDEpOltdLG8oT2JqZWN0LmFzc2lnbikpT2JqZWN0LmFzc2lnbi5hcHBseShudWxsLGFyZ3VtZW50cyk7ZWxzZSBmb3IodD0wLG49aS5sZW5ndGg7dDxuO3QrKylpZihudWxsIT0oZT1pW3RdKSlmb3IociBpbiBlKXUuY2FsbChlLHIpJiYoY1tyXT1lW3JdKTtyZXR1cm4gY30sbz1mdW5jdGlvbih0KXtyZXR1cm4hIXQmJlwiW29iamVjdCBGdW5jdGlvbl1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0saT1mdW5jdGlvbih0KXt2YXIgcjtyZXR1cm4hIXQmJihcImZ1bmN0aW9uXCI9PShyPXR5cGVvZiB0KXx8XCJvYmplY3RcIj09PXIpfSxuPWZ1bmN0aW9uKHQpe3JldHVybiBvKEFycmF5LmlzQXJyYXkpP0FycmF5LmlzQXJyYXkodCk6XCJbb2JqZWN0IEFycmF5XVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSxlPWZ1bmN0aW9uKHQpe3ZhciByO2lmKG4odCkpcmV0dXJuIXQubGVuZ3RoO2ZvcihyIGluIHQpaWYodS5jYWxsKHQscikpcmV0dXJuITE7cmV0dXJuITB9LGM9ZnVuY3Rpb24odCl7dmFyIHIsbjtyZXR1cm4gaSh0KSYmKG49T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpKSYmKHI9bi5jb25zdHJ1Y3RvcikmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHImJnIgaW5zdGFuY2VvZiByJiZGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKT09PUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKE9iamVjdCl9LHI9ZnVuY3Rpb24odCl7cmV0dXJuIG8odC52YWx1ZU9mKT90LnZhbHVlT2YoKTp0fSxtb2R1bGUuZXhwb3J0cy5hc3NpZ249dCxtb2R1bGUuZXhwb3J0cy5pc0Z1bmN0aW9uPW8sbW9kdWxlLmV4cG9ydHMuaXNPYmplY3Q9aSxtb2R1bGUuZXhwb3J0cy5pc0FycmF5PW4sbW9kdWxlLmV4cG9ydHMuaXNFbXB0eT1lLG1vZHVsZS5leHBvcnRzLmlzUGxhaW5PYmplY3Q9Yyxtb2R1bGUuZXhwb3J0cy5nZXRWYWx1ZT1yfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsVjBhV3hwZEhrdWFuTWlYU3dpYm1GdFpYTWlPbHNpWVhOemFXZHVJaXdpWjJWMFZtRnNkV1VpTENKcGMwRnljbUY1SWl3aWFYTkZiWEIwZVNJc0ltbHpSblZ1WTNScGIyNGlMQ0pwYzA5aWFtVmpkQ0lzSW1selVHeGhhVzVQWW1wbFkzUWlMQ0p6YkdsalpTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbWtpTENKclpYa2lMQ0pzWlc0aUxDSnpiM1Z5WTJVaUxDSnpiM1Z5WTJWeklpd2lkR0Z5WjJWMElpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpWTJGc2JDSXNJazlpYW1WamRDSXNJbUZ3Y0d4NUlpd2lkbUZzSWl3aWNISnZkRzkwZVhCbElpd2lkRzlUZEhKcGJtY2lMQ0p5WldZaUxDSkJjbkpoZVNJc0ltTjBiM0lpTENKd2NtOTBieUlzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpWTI5dWMzUnlkV04wYjNJaUxDSkdkVzVqZEdsdmJpSXNJbTlpYWlJc0luWmhiSFZsVDJZaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZSUXl4RlFVRlZReXhGUVVGVFF5eEZRVUZUUXl4RlFVRlpReXhGUVVGVlF5eEZRVU0xUkVNc1JVRkJVU3hIUVVGSFFTeE5RVU5ZUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pVTEVWQlFWTXNWMEZEVUN4SlFVRkpWU3hGUVVGSFF5eEZRVUZMUXl4RlFVRkxReXhGUVVGUlF5eEZRVUZUUXl4RlFVVnNReXhIUVVSQlFTeEZRVUZUUXl4VlFVRlZMRWRCUVVsR0xFVkJRVlVzUjBGQlMwVXNWVUZCVlVNc1QwRkJVMVlzUlVGQlRWY3NTMEZCUzBZc1ZVRkJWeXhIUVVGTExFZEJRMmhHV2l4RlFVRlhaU3hQUVVGUGJrSXNVVUZEY0VKdFFpeFBRVUZQYmtJc1QwRkJUMjlDTEUxQlFVMHNTMEZCVFVvc1owSkJSVEZDTEVsQlFVdE9MRVZCUVVrc1JVRkJSMFVzUlVGQlRVVXNSVUZCVVVjc1QwRkJVVkFzUlVGQlNVVXNSVUZCUzBZc1NVRkZla01zUjBGQll5eFBRVVJrUnl4RlFVRlRReXhGUVVGUlNpeEpRVVZtTEVsQlFVdERMRXRCUVU5RkxFVkJRMHhNTEVWQlFWRlZMRXRCUVV0TUxFVkJRVkZHTEV0QlF6RkNTU3hGUVVGUFNpeEhRVUZQUlN4RlFVRlBSaXhKUVVzM1FpeFBRVUZQU1N4SFFVZFVXQ3hGUVVGaExGTkJRVk5wUWl4SFFVTndRaXhSUVVGVFFTeEhRVUVyUXl4elFrRkJlRU5HTEU5QlFVOUhMRlZCUVZWRExGTkJRVk5NTEV0QlFVdEhMRWxCUjJwRWFFSXNSVUZCVnl4VFFVRlRaMElzUjBGRGJFSXNTVUZCU1Vjc1JVRkRTaXhSUVVGVFNDeEpRVUVyUWl4aFFVRjBRa2NzVTBGQllVZ3NTVUZCSzBJc1YwRkJVa2NzU1VGSGVFUjBRaXhGUVVGVkxGTkJRVk50UWl4SFFVTnFRaXhQUVVGSmFrSXNSVUZCVjNGQ0xFMUJRVTEyUWl4VFFVTmFkVUlzVFVGQlRYWkNMRkZCUVZGdFFpeEhRVVV3UWl4dFFrRkJlRU5HTEU5QlFVOUhMRlZCUVZWRExGTkJRVk5NTEV0QlFVdEhMRWxCU1RGRGJFSXNSVUZCVlN4VFFVRlRhMElzUjBGRGFrSXNTVUZCU1ZZc1JVRkRTaXhIUVVGSlZDeEZRVUZSYlVJc1IwRkRWaXhQUVVGUlFTeEZRVUZKU2l4UFFVVmFMRWxCUVV0T0xFdEJRVTlWTEVWQlExWXNSMEZCUzJJc1JVRkJVVlVzUzBGQlMwY3NSVUZCUzFZc1IwRkRka0lzVDBGQlR5eEZRVVZVTEU5QlFVOHNSMEZKV0V3c1JVRkJaMElzVTBGQlUyVXNSMEZEZGtJc1NVRkJTVXNzUlVGQlRVTXNSVUZEVml4UFFVRlBkRUlzUlVGQlUyZENMRXRCUVZOTkxFVkJRVkZTTEU5QlFVOVRMR1ZCUVdWUUxFMUJRVlZMTEVWQlFVOURMRVZCUVUxRkxHTkJRV2xETEcxQ1FVRlVTQ3hIUVVGNVFrRXNZVUZCWjBKQkxFZEJRVlZKTEZOQlFWTlNMRlZCUVZWRExGTkJRVk5NTEV0QlFVdFJMRXRCUVZWSkxGTkJRVk5TTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRETEZOQlIzWlBiRUlzUlVGQlZ5eFRRVUZUT0VJc1IwRkRiRUlzVDBGQlNUTkNMRVZCUVZjeVFpeEZRVUZKUXl4VFFVTldSQ3hGUVVGSlF5eFZRVVZLUkN4SFFVbFlSU3hQUVVGUFF5eFJRVUZSYkVNc1QwRkJVMEVzUlVGRmVFSnBReXhQUVVGUFF5eFJRVUZST1VJc1YwRkJZVUVzUlVGRk5VSTJRaXhQUVVGUFF5eFJRVUZSTjBJc1UwRkJWMEVzUlVGRk1VSTBRaXhQUVVGUFF5eFJRVUZSYUVNc1VVRkJWVUVzUlVGRmVrSXJRaXhQUVVGUFF5eFJRVUZSTDBJc1VVRkJWVUVzUlVGRmVrSTRRaXhQUVVGUFF5eFJRVUZSTlVJc1kwRkJaMEpCTEVWQlJTOUNNa0lzVDBGQlQwTXNVVUZCVVdwRExGTkJRVmRCTEVsQlJYcENhVUlzUzBGQlMybENJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2VlhScGJHbDBlUzVxY3lKOSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPXtOb25lOjAsT3BlblRhZzoxLEluc2lkZVRhZzoyLENsb3NlVGFnOjN9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsZHlhWFJsY2xOMFlYUmxMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSk9iMjVsSWl3aVQzQmxibFJoWnlJc0lrbHVjMmxrWlZSaFp5SXNJa05zYjNObFZHRm5JaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFZCTEU5QlFVOURMRkZCUVZVc1EwRkRaa01zUzBGQlRTeEZRVU5PUXl4UlFVRlRMRVZCUTFSRExGVkJRVmNzUlVGRFdFTXNVMEZCVlN4TFFVZFlReXhMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWR5YVhSbGNsTjBZWFJsTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdDt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHJlcXVpcmUoXCIuL1hNTE5vZGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsbixyKXtpZih0aGlzLnBhcmVudD1lLHRoaXMucGFyZW50JiYodGhpcy5vcHRpb25zPXRoaXMucGFyZW50Lm9wdGlvbnMsdGhpcy5zdHJpbmdpZnk9dGhpcy5wYXJlbnQuc3RyaW5naWZ5KSxudWxsPT1uKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKG4pKTt0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShuKSx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmF0dFZhbHVlKHIpLHRoaXMudHlwZT10LkF0dHJpYnV0ZSx0aGlzLmlzSWQ9ITEsdGhpcy5zY2hlbWFUeXBlSW5mbz1udWxsfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJub2RlVHlwZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50eXBlfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIm93bmVyRWxlbWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwidGV4dENvbnRlbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZT10fHxcIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIm5hbWVzcGFjZVVSSVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcInByZWZpeFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcImxvY2FsTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcInNwZWNpZmllZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSxlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5hdHRyaWJ1dGUodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxlLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PSh0PXR8fHRoaXMubmFtZSk/XCJwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwiOlwiYXR0cmlidXRlOiB7XCIrdCtcIn0sIHBhcmVudDogPFwiK3RoaXMucGFyZW50Lm5hbWUrXCI+XCJ9LGUucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWVzcGFjZVVSST09PXRoaXMubmFtZXNwYWNlVVJJJiYodC5wcmVmaXg9PT10aGlzLnByZWZpeCYmKHQubG9jYWxOYW1lPT09dGhpcy5sb2NhbE5hbWUmJnQudmFsdWU9PT10aGlzLnZhbHVlKSl9LGV9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFRjBkSEpwWW5WMFpTNXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNUVhSMGNtbGlkWFJsSWl3aWNHRnlaVzUwSWl3aWJtRnRaU0lzSW5aaGJIVmxJaXdpZEdocGN5SXNJbTl3ZEdsdmJuTWlMQ0p6ZEhKcGJtZHBabmtpTENKRmNuSnZjaUlzSW1SbFluVm5TVzVtYnlJc0ltRjBkRlpoYkhWbElpd2lkSGx3WlNJc0lrRjBkSEpwWW5WMFpTSXNJbWx6U1dRaUxDSnpZMmhsYldGVWVYQmxTVzVtYnlJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aWNISnZkRzkwZVhCbElpd2laMlYwSWl3aWMyVjBJaXdpWTJ4dmJtVWlMQ0pqY21WaGRHVWlMQ0owYjFOMGNtbHVaeUlzSW5keWFYUmxjaUlzSW1GMGRISnBZblYwWlNJc0ltWnBiSFJsY2s5d2RHbHZibk1pTENKcGMwVnhkV0ZzVG05a1pTSXNJbTV2WkdVaUxDSnVZVzFsYzNCaFkyVlZVa2tpTENKd2NtVm1hWGdpTENKc2IyTmhiRTVoYldVaUxDSmpZV3hzSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJSVXBCTEVWQlFWZERMRkZCUVZFc1kwRkZWRUVzVVVGQlVTeGhRVVZzUWtNc1QwRkJUME1zVVVGQmVVSXNWMEZET1VJc1UwRkJVME1zUlVGQllVTXNSVUZCVVVNc1JVRkJUVU1zUjBGTmJFTXNSMEZNUVVNc1MwRkJTMGdzVDBGQlUwRXNSVUZEVmtjc1MwRkJTMGdzVTBGRFVFY3NTMEZCUzBNc1VVRkJWVVFzUzBGQlMwZ3NUMEZCVDBrc1VVRkRNMEpFTEV0QlFVdEZMRlZCUVZsR0xFdEJRVXRJTEU5QlFVOUxMRmRCUlc1Q0xFMUJRVkpLTEVWQlEwWXNUVUZCVFN4SlFVRkpTeXhOUVVGTkxESkNRVUUyUWtnc1MwRkJTMGtzVlVGQlZVNHNTVUZGT1VSRkxFdEJRVXRHTEV0QlFVOUZMRXRCUVV0RkxGVkJRVlZLTEV0QlFVdEJMRWRCUTJoRFJTeExRVUZMUkN4TlFVRlJReXhMUVVGTFJTeFZRVUZWUnl4VFFVRlRUaXhIUVVOeVEwTXNTMEZCUzAwc1MwRkJUMlFzUlVGQlUyVXNWVUZEY2tKUUxFdEJRVXRSTEUxQlFVOHNSVUZEV2xJc1MwRkJTMU1zWlVGQmFVSXNTMEZwUm5oQ0xFOUJPVVZCUXl4UFFVRlBReXhsUVVGbFppeEZRVUZoWjBJc1ZVRkJWeXhYUVVGWkxFTkJRM2hFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMklzUzBGQlMwMHNVVUZKYUVKSkxFOUJRVTlETEdWQlFXVm1MRVZCUVdGblFpeFZRVUZYTEdWQlFXZENMRU5CUXpWRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDJJc1MwRkJTMGdzVlVGSmFFSmhMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExHTkJRV1VzUTBGRE0wUkRMRWxCUVVzc1YwRkRTQ3hQUVVGUFlpeExRVUZMUkN4UFFVVmtaU3hKUVVGTExGTkJRVk5tTEVkQlExb3NUMEZCVDBNc1MwRkJTMFFzVFVGQlVVRXNSMEZCVXl4TlFVbHFRMWNzVDBGQlQwTXNaVUZCWldZc1JVRkJZV2RDTEZWQlFWY3NaVUZCWjBJc1EwRkROVVJETEVsQlFVc3NWMEZEU0N4TlFVRlBMRTFCU1ZoSUxFOUJRVTlETEdWQlFXVm1MRVZCUVdGblFpeFZRVUZYTEZOQlFWVXNRMEZEZEVSRExFbEJRVXNzVjBGRFNDeE5RVUZQTEUxQlNWaElMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExGbEJRV0VzUTBGRGVrUkRMRWxCUVVzc1YwRkRTQ3hQUVVGUFlpeExRVUZMUml4UlFVbG9RbGtzVDBGQlQwTXNaVUZCWldZc1JVRkJZV2RDTEZWQlFWY3NXVUZCWVN4RFFVTjZSRU1zU1VGQlN5eFhRVU5JTEU5QlFVOHNTMEZKV0dwQ0xFVkJRV0ZuUWl4VlFVRlZSeXhOUVVGUkxGZEJRemRDTEU5QlFVOU1MRTlCUVU5TkxFOUJRVTlvUWl4UFFVZDJRa29zUlVGQllXZENMRlZCUVZWTExGTkJRVmNzVTBGQlUyaENMRWRCUTNwRExFOUJRVTlFTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZQUXl4VlFVRlZia0lzUzBGQlRVRXNTMEZCUzBNc1VVRkJVV2xDTEU5QlFVOUZMR05CUVdOdVFpeExRVWN2UlV3c1JVRkJZV2RDTEZWQlFWVlNMRlZCUVZrc1UwRkJVMDRzUjBGRk1VTXNUMEZCV1N4UFFVUmFRU3hGUVVGUFFTeEhRVUZSUlN4TFFVRkxSaXhOUVVWWUxGbEJRV05GTEV0QlFVdElMRTlCUVU5RExFdEJRVThzU1VGRmFrTXNaVUZCYVVKQkxFVkJRVThzWlVGQmFVSkZMRXRCUVV0SUxFOUJRVTlETEV0QlFVOHNTMEZKZGtWR0xFVkJRV0ZuUWl4VlFVRlZVeXhaUVVGakxGTkJRVk5ETEVkQlF6VkRMRTlCUVVsQkxFVkJRVXRETEdWQlFXbENka0lzUzBGQlMzVkNMR1ZCUnpOQ1JDeEZRVUZMUlN4VFFVRlhlRUlzUzBGQlMzZENMRk5CUjNKQ1JpeEZRVUZMUnl4WlFVRmpla0lzUzBGQlMzbENMRmRCUjNoQ1NDeEZRVUZMZGtJc1VVRkJWVU1zUzBGQlMwUXNVMEZOYmtKSUxFVkJMMFoxUWl4TFFXMUhMMEk0UWl4TFFVRkxNVUlpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEJkSFJ5YVdKMWRHVXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LHIsbz17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBpKHIsbyl7aWYoaS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBDREFUQSB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjY2RhdGEtc2VjdGlvblwiLHRoaXMudHlwZT10LkNEYXRhLHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuY2RhdGEobyl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpby5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KGksciksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuY2RhdGEodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxpfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URU5FWVhSaExtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1RMmhoY21GamRHVnlSR0YwWVNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFTkVZWFJoSWl3aWNHRnlaVzUwSWl3aWRHVjRkQ0lzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJbTVoYldVaUxDSjBlWEJsSWl3aVEwUmhkR0VpTENKMllXeDFaU0lzSW5OMGNtbHVaMmxtZVNJc0ltTmtZWFJoSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWTJ4dmJtVWlMQ0pQWW1wbFkzUWlMQ0pqY21WaGRHVWlMQ0owYjFOMGNtbHVaeUlzSW05d2RHbHZibk1pTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFXOUNReXhGUVVWMFFrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVNDeEZRVUZYU1N4UlFVRlJMR05CUlc1Q1NDeEZRVUZ0UWtjc1VVRkJVU3h6UWtGRk0wSkRMRTlCUVU5RExGRkJRWEZDTEZOQlFWVkRMRWRCUjNCRExGTkJRVk5ETEVWQlFWTkRMRVZCUVZGRExFZEJSWGhDTEVkQlJFRkdMRVZCUVZOSExGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFNTEVkQlF6bENMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MSFZDUVVGNVFrUXNTMEZCUzBVc1lVRkZhRVJHTEV0QlFVdEhMRXRCUVU4c2FVSkJRMXBJTEV0QlFVdEpMRXRCUVU5c1FpeEZRVUZUYlVJc1RVRkRja0pNTEV0QlFVdE5MRTFCUVZGT0xFdEJRVXRQTEZWQlFWVkRMRTFCUVUxYUxFZEJWM0JETEU5Qk5VSlRMRk5CUVZOaExFVkJRVTlrTEVkQlFWVXNTVUZCU3l4SlFVRkpaU3hMUVVGUFppeEZRVUZqVUN4RlFVRlJWeXhMUVVGTFNpeEZRVUZSWlN4TFFVRk5SQ3hGUVVGTlF5eEhRVUZQWml4RlFVRlBaU3hKUVVGUkxGTkJRVk5ETEVsQlFWTllMRXRCUVV0R0xGbEJRV05YTEVWQlFWTkZMRVZCUVV0RExGVkJRVmxxUWl4RlFVRlBhVUlzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5XaXhWUVVGWlJpeEZRVUZQYVVJc1ZVRlJhRkZETEVOQlFVOXVRaXhGUVhOQ1RsQXNSMEZXUkU4c1JVRkJVMnRDTEZWQlFWVkZMRTFCUVZFc1YwRkRla0lzVDBGQlQwTXNUMEZCVDBNc1QwRkJUMmhDTEU5QlIzWkNUaXhGUVVGVGEwSXNWVUZCVlVzc1UwRkJWeXhUUVVGVFF5eEhRVU55UXl4UFFVRlBiRUlzUzBGQlMydENMRkZCUVZGRExFOUJRVTlZTEUxQlFVMVNMRXRCUVUxQkxFdEJRVXRyUWl4UlFVRlJReXhQUVVGUFF5eGpRVUZqUml4TFFVZHdSWGhDTEVWQmNrSnRRaXhMUVhsQ00wSkxMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUTBSaGRHRXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGU9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG8pe2Z1bmN0aW9uIG4odCl7bi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHQpLHRoaXMudmFsdWU9XCJcIn1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIG4gaW4gbyllLmNhbGwobyxuKSYmKHRbbl09b1tuXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXCJkYXRhXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS5zdWJzdHJpbmdEYXRhPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuYXBwZW5kRGF0YT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5pbnNlcnREYXRhPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuZGVsZXRlRGF0YT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLnJlcGxhY2VEYXRhPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4hIW4uX19zdXBlcl9fLmlzRXF1YWxOb2RlLmFwcGx5KHRoaXMsYXJndW1lbnRzKS5pc0VxdWFsTm9kZSh0KSYmdC5kYXRhPT09dGhpcy5kYXRhfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URU5vWVhKaFkzUmxja1JoZEdFdWFuTWlYU3dpYm1GdFpYTWlPbHNpV0UxTVRtOWtaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVOb1lYSmhZM1JsY2tSaGRHRWlMQ0p3WVhKbGJuUWlMQ0pmWDNOMWNHVnlYMThpTENKamIyNXpkSEoxWTNSdmNpSXNJbU5oYkd3aUxDSjBhR2x6SWl3aWRtRnNkV1VpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pQWW1wbFkzUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJbWRsZENJc0luTmxkQ0lzSW14bGJtZDBhQ0lzSW1Oc2IyNWxJaXdpWTNKbFlYUmxJaXdpYzNWaWMzUnlhVzVuUkdGMFlTSXNJbTltWm5ObGRDSXNJbU52ZFc1MElpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0poY0hCbGJtUkVZWFJoSWl3aVlYSm5JaXdpYVc1elpYSjBSR0YwWVNJc0ltUmxiR1YwWlVSaGRHRWlMQ0p5WlhCc1lXTmxSR0YwWVNJc0ltbHpSWEYxWVd4T2IyUmxJaXdpYm05a1pTSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpWkdGMFlTSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRnpRa0VzUlVGRmNFSkRMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVlVjc1VVRkJVU3hoUVVWc1FrTXNUMEZCVDBNc1VVRkJOa0lzVTBGQlZVTXNSMEZITlVNc1UwRkJVME1zUlVGQmFVSkRMRWRCUTNoQ1JDeEZRVUZwUWtVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGRGJFUkpMRXRCUVV0RExFMUJRVkVzUjBFMlJHWXNUMEYyUlZNc1UwRkJVME1zUlVGQlQwNHNSMEZCVlN4SlFVRkxMRWxCUVVsUExFdEJRVTlRTEVWQlFXTlFMRVZCUVZGVkxFdEJRVXRJTEVWQlFWRlBMRXRCUVUxRUxFVkJRVTFETEVkQlFVOVFMRVZCUVU5UExFbEJRVkVzVTBGQlUwTXNTVUZCVTBvc1MwRkJTMFlzV1VGQlkwa3NSVUZCVTBVc1JVRkJTME1zVlVGQldWUXNSVUZCVDFNc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOVEN4VlFVRlpSQ3hGUVVGUFV5eFZRVTFvVVVNc1EwRkJUMWdzUlVGdFJVNVFMRWRCTlVSRWJVSXNUMEZCVDBNc1pVRkJaV0lzUlVGQmFVSlZMRlZCUVZjc1QwRkJVU3hEUVVONFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5VUxFdEJRVXRETEU5QlJXUlRMRWxCUVVzc1UwRkJVMVFzUjBGRFdpeFBRVUZQUkN4TFFVRkxReXhOUVVGUlFTeEhRVUZUTEUxQlNXcERUU3hQUVVGUFF5eGxRVUZsWWl4RlFVRnBRbFVzVlVGQlZ5eFRRVUZWTEVOQlF6RkVTU3hKUVVGTExGZEJRMGdzVDBGQlQxUXNTMEZCUzBNc1RVRkJUVlVzVlVGSmRFSktMRTlCUVU5RExHVkJRV1ZpTEVWQlFXbENWU3hWUVVGWExHTkJRV1VzUTBGREwwUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUFZDeExRVUZMUXl4UFFVVmtVeXhKUVVGTExGTkJRVk5VTEVkQlExb3NUMEZCVDBRc1MwRkJTME1zVFVGQlVVRXNSMEZCVXl4TlFVbHFRMDRzUlVGQmFVSlZMRlZCUVZWUExFMUJRVkVzVjBGRGFrTXNUMEZCVDB3c1QwRkJUMDBzVDBGQlQySXNUMEZIZGtKTUxFVkJRV2xDVlN4VlFVRlZVeXhqUVVGblFpeFRRVUZUUXl4RlFVRlJReXhIUVVNeFJDeE5RVUZOTEVsQlFVbERMRTFCUVUwc2MwTkJRWGREYWtJc1MwRkJTMnRDTEdOQlJ5OUVka0lzUlVGQmFVSlZMRlZCUVZWakxGZEJRV0VzVTBGQlUwTXNSMEZETDBNc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEhORFFVRjNRMnBDTEV0QlFVdHJRaXhqUVVjdlJIWkNMRVZCUVdsQ1ZTeFZRVUZWWjBJc1YwRkJZU3hUUVVGVFRpeEZRVUZSU3l4SFFVTjJSQ3hOUVVGTkxFbEJRVWxJTEUxQlFVMHNjME5CUVhkRGFrSXNTMEZCUzJ0Q0xHTkJSeTlFZGtJc1JVRkJhVUpWTEZWQlFWVnBRaXhYUVVGaExGTkJRVk5RTEVWQlFWRkRMRWRCUTNaRUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN4elEwRkJkME5xUWl4TFFVRkxhMElzWTBGSEwwUjJRaXhGUVVGcFFsVXNWVUZCVld0Q0xGbEJRV01zVTBGQlUxSXNSVUZCVVVNc1JVRkJUMGtzUjBGREwwUXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxITkRRVUYzUTJwQ0xFdEJRVXRyUWl4alFVY3ZSSFpDTEVWQlFXbENWU3hWUVVGVmJVSXNXVUZCWXl4VFFVRlRReXhIUVVOb1JDeFJRVUZMT1VJc1JVRkJhVUpGTEZWQlFWVXlRaXhaUVVGWlJTeE5RVUZOTVVJc1MwRkJUVEpDTEZkQlFWZElMRmxCUVZsRExFbEJSek5GUVN4RlFVRkxSeXhQUVVGVE5VSXNTMEZCU3pSQ0xFMUJUV3hDYWtNc1JVRnNSVEpDTEV0QmMwVnVRMGtzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RGFHRnlZV04wWlhKRVlYUmhMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LG8scj17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG89cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKG8scil7aWYobi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLG8pLG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBjb21tZW50IHRleHQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMubmFtZT1cIiNjb21tZW50XCIsdGhpcy50eXBlPXQuQ29tbWVudCx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmNvbW1lbnQocil9cmV0dXJuIGZ1bmN0aW9uKHQsbyl7Zm9yKHZhciBlIGluIG8pci5jYWxsKG8sZSkmJih0W2VdPW9bZV0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9by5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189by5wcm90b3R5cGV9KG4sbyksbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuY29tbWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFTnZiVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeERhR0Z5WVdOMFpYSkVZWFJoSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVEyOXRiV1Z1ZENJc0luQmhjbVZ1ZENJc0luUmxlSFFpTENKZlgzTjFjR1Z5WDE4aUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1OaGJHd2lMQ0owYUdseklpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0p1WVcxbElpd2lkSGx3WlNJc0lrTnZiVzFsYm5RaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU52YlcxbGJuUWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSmpiRzl1WlNJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCVlVNc1JVRkZXa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1TQ3hGUVVGWFNTeFJRVUZSTEdOQlJXNUNTQ3hGUVVGdFFrY3NVVUZCVVN4elFrRkZNMEpETEU5QlFVOURMRkZCUVhWQ0xGTkJRVlZETEVkQlIzUkRMRk5CUVZORExFVkJRVmRETEVWQlFWRkRMRWRCUlRGQ0xFZEJSRUZHTEVWQlFWZEhMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxTUxFZEJRMmhETEUxQlFWSkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTEhsQ1FVRXlRa1FzUzBGQlMwVXNZVUZGYkVSR0xFdEJRVXRITEV0QlFVOHNWMEZEV2tnc1MwRkJTMGtzUzBGQlQyeENMRVZCUVZOdFFpeFJRVU55UWt3c1MwRkJTMDBzVFVGQlVVNHNTMEZCUzA4c1ZVRkJWVU1zVVVGQlVWb3NSMEZYZEVNc1QwRTFRbE1zVTBGQlUyRXNSVUZCVDJRc1IwRkJWU3hKUVVGTExFbEJRVWxsTEV0QlFVOW1MRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGbExFdEJRVTFFTEVWQlFVMURMRWRCUVU5bUxFVkJRVTlsTEVsQlFWRXNVMEZCVTBNc1NVRkJVMWdzUzBGQlMwWXNXVUZCWTFjc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1dwQ0xFVkJRVTlwUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFhTEZWQlFWbEdMRVZCUVU5cFFpeFZRVkZvVVVNc1EwRkJUMjVDTEVWQmMwSk9VQ3hIUVZaRVR5eEZRVUZYYTBJc1ZVRkJWVVVzVFVGQlVTeFhRVU16UWl4UFFVRlBReXhQUVVGUFF5eFBRVUZQYUVJc1QwRkhka0pPTEVWQlFWZHJRaXhWUVVGVlN5eFRRVUZYTEZOQlFWTkRMRWRCUTNaRExFOUJRVTlzUWl4TFFVRkxhMElzVVVGQlVVTXNUMEZCVDFnc1VVRkJVVklzUzBGQlRVRXNTMEZCUzJ0Q0xGRkJRVkZETEU5QlFVOURMR05CUVdOR0xFdEJSM1JGZUVJc1JVRnlRbkZDTEV0QmVVSTNRa3NzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RGIyMXRaVzUwTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgZSx0O2U9cmVxdWlyZShcIi4vWE1MRE9NRXJyb3JIYW5kbGVyXCIpLHQ9cmVxdWlyZShcIi4vWE1MRE9NU3RyaW5nTGlzdFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt0aGlzLmRlZmF1bHRQYXJhbXM9e1wiY2Fub25pY2FsLWZvcm1cIjohMSxcImNkYXRhLXNlY3Rpb25zXCI6ITEsY29tbWVudHM6ITEsXCJkYXRhdHlwZS1ub3JtYWxpemF0aW9uXCI6ITEsXCJlbGVtZW50LWNvbnRlbnQtd2hpdGVzcGFjZVwiOiEwLGVudGl0aWVzOiEwLFwiZXJyb3ItaGFuZGxlclwiOm5ldyBlLGluZm9zZXQ6ITAsXCJ2YWxpZGF0ZS1pZi1zY2hlbWFcIjohMSxuYW1lc3BhY2VzOiEwLFwibmFtZXNwYWNlLWRlY2xhcmF0aW9uc1wiOiEwLFwibm9ybWFsaXplLWNoYXJhY3RlcnNcIjohMSxcInNjaGVtYS1sb2NhdGlvblwiOlwiXCIsXCJzY2hlbWEtdHlwZVwiOlwiXCIsXCJzcGxpdC1jZGF0YS1zZWN0aW9uc1wiOiEwLHZhbGlkYXRlOiExLFwid2VsbC1mb3JtZWRcIjohMH0sdGhpcy5wYXJhbXM9T2JqZWN0LmNyZWF0ZSh0aGlzLmRlZmF1bHRQYXJhbXMpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5wcm90b3R5cGUsXCJwYXJhbWV0ZXJOYW1lc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHQoT2JqZWN0LmtleXModGhpcy5kZWZhdWx0UGFyYW1zKSl9fSksYS5wcm90b3R5cGUuZ2V0UGFyYW1ldGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnBhcmFtcy5oYXNPd25Qcm9wZXJ0eShlKT90aGlzLnBhcmFtc1tlXTpudWxsfSxhLnByb3RvdHlwZS5jYW5TZXRQYXJhbWV0ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hMH0sYS5wcm90b3R5cGUuc2V0UGFyYW1ldGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGwhPXQ/dGhpcy5wYXJhbXNbZV09dDpkZWxldGUgdGhpcy5wYXJhbXNbZV19LGF9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVU52Ym1acFozVnlZWFJwYjI0dWFuTWlYU3dpYm1GdFpYTWlPbHNpV0UxTVJFOU5SWEp5YjNKSVlXNWtiR1Z5SWl3aVdFMU1SRTlOVTNSeWFXNW5UR2x6ZENJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNUkU5TlEyOXVabWxuZFhKaGRHbHZiaUlzSW5Sb2FYTWlMQ0prWldaaGRXeDBVR0Z5WVcxeklpd2lZMkZ1YjI1cFkyRnNMV1p2Y20waUxDSmpaR0YwWVMxelpXTjBhVzl1Y3lJc0ltTnZiVzFsYm5Seklpd2laR0YwWVhSNWNHVXRibTl5YldGc2FYcGhkR2x2YmlJc0ltVnNaVzFsYm5RdFkyOXVkR1Z1ZEMxM2FHbDBaWE53WVdObElpd2laVzUwYVhScFpYTWlMQ0psY25KdmNpMW9ZVzVrYkdWeUlpd2lhVzVtYjNObGRDSXNJblpoYkdsa1lYUmxMV2xtTFhOamFHVnRZU0lzSW01aGJXVnpjR0ZqWlhNaUxDSnVZVzFsYzNCaFkyVXRaR1ZqYkdGeVlYUnBiMjV6SWl3aWJtOXliV0ZzYVhwbExXTm9ZWEpoWTNSbGNuTWlMQ0p6WTJobGJXRXRiRzlqWVhScGIyNGlMQ0p6WTJobGJXRXRkSGx3WlNJc0luTndiR2wwTFdOa1lYUmhMWE5sWTNScGIyNXpJaXdpZG1Gc2FXUmhkR1VpTENKM1pXeHNMV1p2Y20xbFpDSXNJbkJoY21GdGN5SXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2lhMlY1Y3lJc0ltZGxkRkJoY21GdFpYUmxjaUlzSW01aGJXVWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbU5oYmxObGRGQmhjbUZ0WlhSbGNpSXNJblpoYkhWbElpd2ljMlYwVUdGeVlXMWxkR1Z5SWl3aVkyRnNiQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUY1UWtFc1JVRkJiMEpETEVWQlJUZERSQ3hGUVVGeFFrVXNVVUZCVVN4M1FrRkZOMEpFTEVWQlFXMUNReXhSUVVGUkxITkNRVVV6UWtNc1QwRkJUME1zVVVGQlowTXNWMEZEY2tNc1UwRkJVME1zU1VGRlVFTXNTMEZCUzBNc1kwRkJaMElzUTBGRGJrSkRMR3RDUVVGclFpeEZRVU5zUWtNc2EwSkJRV3RDTEVWQlEyeENReXhWUVVGWkxFVkJRMXBETERCQ1FVRXdRaXhGUVVNeFFrTXNPRUpCUVRoQ0xFVkJRemxDUXl4VlFVRlpMRVZCUTFwRExHZENRVUZwUWl4SlFVRkpaQ3hGUVVOeVFtVXNVMEZCVnl4RlFVTllReXh6UWtGQmMwSXNSVUZEZEVKRExGbEJRV01zUlVGRFpFTXNNRUpCUVRCQ0xFVkJRekZDUXl4M1FrRkJkMElzUlVGRGVFSkRMR3RDUVVGdFFpeEhRVU51UWtNc1kwRkJaU3hIUVVObVF5eDNRa0ZCZDBJc1JVRkRlRUpETEZWQlFWa3NSVUZEV2tNc1pVRkJaU3hIUVVWcVFteENMRXRCUVV0dFFpeFBRVUZ6UWtNc1QwRkJUME1zVDBGQlQzSkNMRXRCUVV0RExHVkJOa0pvUkN4UFFURkNRVzFDTEU5QlFVOUZMR1ZCUVdWMlFpeEZRVUZ2UW5kQ0xGVkJRVmNzYVVKQlFXdENMRU5CUTNKRlF5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4SlFVRkpOMElzUlVGQmFVSjVRaXhQUVVGUFN5eExRVUZMZWtJc1MwRkJTME1zYlVKQlNXcEVSaXhGUVVGdlFuZENMRlZCUVZWSExHRkJRV1VzVTBGQlUwTXNSMEZEY0VRc1QwRkJTVE5DTEV0QlFVdHRRaXhQUVVGUFV5eGxRVUZsUkN4SFFVTjBRak5DTEV0QlFVdHRRaXhQUVVGUFVTeEhRVVZhTEUxQlNWZzFRaXhGUVVGdlFuZENMRlZCUVZWTkxHZENRVUZyUWl4VFFVRlRSaXhGUVVGTlJ5eEhRVU0zUkN4UFFVRlBMRWRCUjFRdlFpeEZRVUZ2UW5kQ0xGVkJRVlZSTEdGQlFXVXNVMEZCVTBvc1JVRkJUVWNzUjBGRE1VUXNUMEZCWVN4TlFVRlVRU3hGUVVOTE9VSXNTMEZCUzIxQ0xFOUJRVTlSTEVkQlFWRkhMRk5CUldJNVFpeExRVUZMYlVJc1QwRkJUMUVzU1VGSmRrSTFRaXhGUVc1RU9FSXNTMEYxUkhSRGFVTXNTMEZCUzJoRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkU5TlEyOXVabWxuZFhKaGRHbHZiaTVxY3lKOSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe31yZXR1cm4gbi5wcm90b3R5cGUuaGFuZGxlRXJyb3I9ZnVuY3Rpb24obil7dGhyb3cgbmV3IEVycm9yKG4pfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFVWeWNtOXlTR0Z1Wkd4bGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1SRTlOUlhKeWIzSklZVzVrYkdWeUlpd2ljSEp2ZEc5MGVYQmxJaXdpYUdGdVpHeGxSWEp5YjNJaUxDSmxjbkp2Y2lJc0lrVnljbTl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUjBWQkxFOUJRVTlETEZGQlFTdENMRmRCUTNCRExGTkJRVk5ETEV0QlRWUXNUMEZLUVVFc1JVRkJiVUpETEZWQlFWVkRMRmxCUVdNc1UwRkJVME1zUjBGRGJFUXNUVUZCVFN4SlFVRkpReXhOUVVGTlJDeEpRVWRZU0N4RlFWQTJRaXhMUVZkeVEwc3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFVDAxRmNuSnZja2hoYm1Sc1pYSXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5wcm90b3R5cGUuaGFzRmVhdHVyZT1mdW5jdGlvbih0LGUpe3JldHVybiEwfSx0LnByb3RvdHlwZS5jcmVhdGVEb2N1bWVudFR5cGU9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0LnByb3RvdHlwZS5jcmVhdGVEb2N1bWVudD1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHQucHJvdG90eXBlLmNyZWF0ZUhUTUxEb2N1bWVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdC5wcm90b3R5cGUuZ2V0RmVhdHVyZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFVsdGNHeGxiV1Z1ZEdGMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSllUVXhFVDAxSmJYQnNaVzFsYm5SaGRHbHZiaUlzSW5CeWIzUnZkSGx3WlNJc0ltaGhjMFpsWVhSMWNtVWlMQ0ptWldGMGRYSmxJaXdpZG1WeWMybHZiaUlzSW1OeVpXRjBaVVJ2WTNWdFpXNTBWSGx3WlNJc0luRjFZV3hwWm1sbFpFNWhiV1VpTENKd2RXSnNhV05KWkNJc0luTjVjM1JsYlVsa0lpd2lSWEp5YjNJaUxDSmpjbVZoZEdWRWIyTjFiV1Z1ZENJc0ltNWhiV1Z6Y0dGalpWVlNTU0lzSW1SdlkzUjVjR1VpTENKamNtVmhkR1ZJVkUxTVJHOWpkVzFsYm5RaUxDSjBhWFJzWlNJc0ltZGxkRVpsWVhSMWNtVWlMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkhSVUVzVDBGQlQwTXNVVUZCYVVNc1YwRkRkRU1zVTBGQlUwTXNTMEZ6UWxRc1QwRndRa0ZCTEVWQlFYRkNReXhWUVVGVlF5eFhRVUZoTEZOQlFWTkRMRVZCUVZORExFZEJRelZFTEU5QlFVOHNSMEZIVkVvc1JVRkJjVUpETEZWQlFWVkpMRzFDUVVGeFFpeFRRVUZUUXl4RlFVRmxReXhGUVVGVlF5eEhRVU53Uml4TlFVRk5MRWxCUVVsRExFMUJRVTBzZDBOQlIyeENWQ3hGUVVGeFFrTXNWVUZCVlZNc1pVRkJhVUlzVTBGQlUwTXNSVUZCWTB3c1JVRkJaVTBzUjBGRGNFWXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxIZERRVWRzUWxRc1JVRkJjVUpETEZWQlFWVlpMRzFDUVVGeFFpeFRRVUZUUXl4SFFVTXpSQ3hOUVVGTkxFbEJRVWxNTEUxQlFVMHNkME5CUjJ4Q1ZDeEZRVUZ4UWtNc1ZVRkJWV01zVjBGQllTeFRRVUZUV2l4RlFVRlRReXhIUVVNMVJDeE5RVUZOTEVsQlFVbExMRTFCUVUwc2QwTkJSMWhVTEVWQmRrSXJRaXhMUVRKQ2RrTm5RaXhMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSUFRVbHRjR3hsYldWdWRHRjBhVzl1TG1wekluMD0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5hcnI9dHx8W119cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnIubGVuZ3RofX0pLHQucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXJyW3RdfHxudWxsfSx0LnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4tMSE9PXRoaXMuYXJyLmluZGV4T2YodCl9LHR9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVk4wY21sdVoweHBjM1F1YW5NaVhTd2libUZ0WlhNaU9sc2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbGhOVEVSUFRWTjBjbWx1WjB4cGMzUWlMQ0poY25JaUxDSjBhR2x6SWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFFpTENKc1pXNW5kR2dpTENKcGRHVnRJaXdpYVc1a1pYZ2lMQ0pqYjI1MFlXbHVjeUlzSW5OMGNpSXNJbWx1WkdWNFQyWWlMQ0pqWVd4c0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVWRGUVN4UFFVRlBReXhSUVVFMlFpeFhRVU5zUXl4VFFVRlRReXhGUVVGcFFrTXNSMEZEZUVKRExFdEJRVXRFTEVsQlFVMUJMRWRCUVU4c1IwRnBRbkJDTEU5QlpFRkZMRTlCUVU5RExHVkJRV1ZLTEVWQlFXbENTeXhWUVVGWExGTkJRVlVzUTBGRE1VUkRMRWxCUVVzc1YwRkRTQ3hQUVVGUFNpeExRVUZMUkN4SlFVRkpUU3hWUVVsd1FsQXNSVUZCYVVKTExGVkJRVlZITEV0QlFVOHNVMEZCVTBNc1IwRkRla01zVDBGQlQxQXNTMEZCUzBRc1NVRkJTVkVzU1VGQlZTeE5RVWMxUWxRc1JVRkJhVUpMTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRE4wTXNUMEZCYTBNc1NVRkJNMEpVTEV0QlFVdEVMRWxCUVVsWExGRkJRVkZFTEVsQlIyNUNXQ3hGUVc1Q01rSXNTMEYxUW01RFlTeExRVUZMV0NJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJQVFZOMGNtbHVaMHhwYzNRdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxpPXt9Lmhhc093blByb3BlcnR5O2U9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG4oZSxpLHIsbyxzLHUpe2lmKG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1pKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYobnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBhdHRyaWJ1dGUgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKCFvKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGF0dHJpYnV0ZSB0eXBlLiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoIXMpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgYXR0cmlidXRlIGRlZmF1bHQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZigwIT09cy5pbmRleE9mKFwiI1wiKSYmKHM9XCIjXCIrcyksIXMubWF0Y2goL14oI1JFUVVJUkVEfCNJTVBMSUVEfCNGSVhFRHwjREVGQVVMVCkkLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBkZWZhdWx0IHZhbHVlIHR5cGU7IGV4cGVjdGVkOiAjUkVRVUlSRUQsICNJTVBMSUVELCAjRklYRUQgb3IgI0RFRkFVTFQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZih1JiYhcy5tYXRjaCgvXigjRklYRUR8I0RFRkFVTFQpJC8pKXRocm93IG5ldyBFcnJvcihcIkRlZmF1bHQgdmFsdWUgb25seSBhcHBsaWVzIHRvICNGSVhFRCBvciAjREVGQVVMVC4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO3RoaXMuZWxlbWVudE5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShpKSx0aGlzLnR5cGU9dC5BdHRyaWJ1dGVEZWNsYXJhdGlvbix0aGlzLmF0dHJpYnV0ZU5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShyKSx0aGlzLmF0dHJpYnV0ZVR5cGU9dGhpcy5zdHJpbmdpZnkuZHRkQXR0VHlwZShvKSx1JiYodGhpcy5kZWZhdWx0VmFsdWU9dGhpcy5zdHJpbmdpZnkuZHRkQXR0RGVmYXVsdCh1KSksdGhpcy5kZWZhdWx0VmFsdWVUeXBlPXN9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpaS5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG4sZSksbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkQXR0TGlzdCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRUYwZEV4cGMzUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhPYjJSbElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1SRlJFUVhSMFRHbHpkQ0lzSW5CaGNtVnVkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2lhVzVrWlhoUFppSXNJbTFoZEdOb0lpd2ljM1J5YVc1bmFXWjVJaXdpYm1GdFpTSXNJblI1Y0dVaUxDSkJkSFJ5YVdKMWRHVkVaV05zWVhKaGRHbHZiaUlzSW1SMFpFRjBkRlI1Y0dVaUxDSmtkR1JCZEhSRVpXWmhkV3gwSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtRWFIwVEdsemRDSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCZVVKRExFVkJSVE5DUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFWVkhMRkZCUVZFc1lVRkZiRUpLTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRCQ0xGTkJRVlZETEVkQlIzcERMRk5CUVZORExFVkJRV05ETEVWQlFWRkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVVV4Uml4SFFVUkJUaXhGUVVGalR5eFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVkN4SFFVTTFRaXhOUVVGbVF5eEZRVU5HTEUxQlFVMHNTVUZCU1ZNc1RVRkJUU3cyUWtGQkswSkVMRXRCUVV0RkxHRkJSWFJFTEVkQlFYRkNMRTFCUVdwQ1ZDeEZRVU5HTEUxQlFVMHNTVUZCU1ZFc1RVRkJUU3dyUWtGQmFVTkVMRXRCUVV0RkxGVkJRVlZXTEVsQlJXeEZMRWxCUVV0RkxFVkJRMGdzVFVGQlRTeEpRVUZKVHl4TlFVRk5MQ3RDUVVGcFEwUXNTMEZCUzBVc1ZVRkJWVllzU1VGRmJFVXNTVUZCUzBjc1JVRkRTQ3hOUVVGTkxFbEJRVWxOTEUxQlFVMHNhME5CUVc5RFJDeExRVUZMUlN4VlFVRlZWaXhKUVV0eVJTeEhRVWh6UXl4SlFVRnNRMGNzUlVGQmFVSlJMRkZCUVZFc1QwRkRNMEpTTEVWQlFXMUNMRWxCUVUxQkxFbEJSWFJDUVN4RlFVRnBRbE1zVFVGQlRTd3dRMEZETVVJc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEd0R1FVRnZSa1FzUzBGQlMwVXNWVUZCVlZZc1NVRkZja2dzUjBGQlNVa3NTVUZCYVVKRUxFVkJRV2xDVXl4TlFVRk5MSFZDUVVNeFF5eE5RVUZOTEVsQlFVbElMRTFCUVUwc2NVUkJRWFZFUkN4TFFVRkxSU3hWUVVGVlZpeEpRVVY0UmxFc1MwRkJTMUlzV1VGQlkxRXNTMEZCUzBzc1ZVRkJWVU1zUzBGQlMyUXNSMEZEZGtOUkxFdEJRVXRQTEV0QlFVOTZRaXhGUVVGVE1FSXNjVUpCUTNKQ1VpeExRVUZMVUN4alFVRm5RazhzUzBGQlMwc3NWVUZCVlVNc1MwRkJTMklzUjBGRGVrTlBMRXRCUVV0T0xHTkJRV2RDVFN4TFFVRkxTeXhWUVVGVlNTeFhRVUZYWml4SFFVTXpRMFVzU1VGRFJra3NTMEZCUzBvc1lVRkJaVWtzUzBGQlMwc3NWVUZCVlVzc1kwRkJZMlFzU1VGRmJrUkpMRXRCUVV0TUxHbENRVUZ0UWtFc1JVRlBNVUlzVDBFdlExTXNVMEZCVTJkQ0xFVkJRVTl3UWl4SFFVRlZMRWxCUVVzc1NVRkJTWEZDTEV0QlFVOXlRaXhGUVVGalVDeEZRVUZSWlN4TFFVRkxVaXhGUVVGUmNVSXNTMEZCVFVRc1JVRkJUVU1zUjBGQlQzSkNMRVZCUVU5eFFpeEpRVUZSTEZOQlFWTkRMRWxCUVZOaUxFdEJRVXRHTEZsQlFXTmhMRVZCUVZORkxFVkJRVXRETEZWQlFWbDJRaXhGUVVGUGRVSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTlpDeFZRVUZaVGl4RlFVRlBkVUlzVlVGUmFGRkRMRU5CUVU5NlFpeEZRWGxEVGxBc1IwRk9SRThzUlVGQlkzZENMRlZCUVZWRkxGTkJRVmNzVTBGQlUwTXNSMEZETVVNc1QwRkJUMnBDTEV0QlFVdHBRaXhSUVVGUlF5eFBRVUZQUXl4WFFVRlhia0lzUzBGQlRVRXNTMEZCUzJsQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSM3BGTTBJc1JVRjRRM2RDTEV0Qk5FTm9RMU1zUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVZFUkJkSFJNYVhOMExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixlPXt9Lmhhc093blByb3BlcnR5O3I9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4ocixlLGkpe2lmKG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1lKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aXx8KGk9XCIoI1BDREFUQSlcIiksQXJyYXkuaXNBcnJheShpKSYmKGk9XCIoXCIraS5qb2luKFwiLFwiKStcIilcIiksdGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUoZSksdGhpcy50eXBlPXQuRWxlbWVudERlY2xhcmF0aW9uLHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuZHRkRWxlbWVudFZhbHVlKGkpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgaSBpbiByKWUuY2FsbChyLGkpJiYodFtpXT1yW2ldKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShuLHIpLG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEVsZW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVWc1pXMWxiblF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4T2IyUmxJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkZSRVJXeGxiV1Z1ZENJc0luQmhjbVZ1ZENJc0ltNWhiV1VpTENKMllXeDFaU0lzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJbXB2YVc0aUxDSnpkSEpwYm1kcFpua2lMQ0owZVhCbElpd2lSV3hsYldWdWRFUmxZMnhoY21GMGFXOXVJaXdpWkhSa1JXeGxiV1Z1ZEZaaGJIVmxJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1JXeGxiV1Z1ZENJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJlVUpETEVWQlJUTkNReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVZWSExGRkJRVkVzWVVGRmJFSktMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSkRMRTlCUVU5RExGRkJRVEJDTEZOQlFWVkRMRWRCUjNwRExGTkJRVk5ETEVWQlFXTkRMRVZCUVZGRExFVkJRVTFETEVkQlJXNURMRWRCUkVGSUxFVkJRV05KTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMU9MRWRCUTI1RExFMUJRVkpETEVWQlEwWXNUVUZCVFN4SlFVRkpUU3hOUVVGTkxEWkNRVUVyUWtRc1MwRkJTMFVzWVVGRmFrUk9MRWxCUTBoQkxFVkJRVkVzWVVGRlRrOHNUVUZCVFVNc1VVRkJVVklzUzBGRGFFSkJMRVZCUVZFc1NVRkJUVUVzUlVGQlRWTXNTMEZCU3l4TFFVRlBMRXRCUld4RFRDeExRVUZMVEN4TFFVRlBTeXhMUVVGTFRTeFZRVUZWV0N4TFFVRkxRU3hIUVVOb1Ewc3NTMEZCUzA4c1MwRkJUM1JDTEVWQlFWTjFRaXh0UWtGRGNrSlNMRXRCUVV0S0xFMUJRVkZKTEV0QlFVdE5MRlZCUVZWSExHZENRVUZuUW1Jc1IwRlBPVU1zVDBFNVFsTXNVMEZCVTJNc1JVRkJUMmhDTEVkQlFWVXNTVUZCU3l4SlFVRkphVUlzUzBGQlQycENMRVZCUVdOUUxFVkJRVkZaTEV0QlFVdE1MRVZCUVZGcFFpeExRVUZOUkN4RlFVRk5ReXhIUVVGUGFrSXNSVUZCVDJsQ0xFbEJRVkVzVTBGQlUwTXNTVUZCVTFvc1MwRkJTMFlzV1VGQlkxa3NSVUZCVTBVc1JVRkJTME1zVlVGQldXNUNMRVZCUVU5dFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxaUxGVkJRVmxJTEVWQlFVOXRRaXhWUVZGb1VVTXNRMEZCVDNKQ0xFVkJkMEpPVUN4SFFVNUVUeXhGUVVGamIwSXNWVUZCVlVVc1UwRkJWeXhUUVVGVFF5eEhRVU14UXl4UFFVRlBhRUlzUzBGQlMyZENMRkZCUVZGRExFOUJRVTlETEZkQlFWZHNRaXhMUVVGTlFTeExRVUZMWjBJc1VVRkJVVU1zVDBGQlQwVXNZMEZCWTBnc1MwRkhla1YyUWl4RlFYWkNkMElzUzBFeVFtaERUU3hMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSVVJFVnNaVzFsYm5RdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxpLG49e30uaGFzT3duUHJvcGVydHk7aT1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LGU9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG8oZSxuLHIscyl7aWYoby5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgZW50aXR5IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZihudWxsPT1zKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVudGl0eSB2YWx1ZS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKHRoaXMucGU9ISFuLHRoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKHIpLHRoaXMudHlwZT10LkVudGl0eURlY2xhcmF0aW9uLGkocykpe2lmKCFzLnB1YklEJiYhcy5zeXNJRCl0aHJvdyBuZXcgRXJyb3IoXCJQdWJsaWMgYW5kL29yIHN5c3RlbSBpZGVudGlmaWVycyBhcmUgcmVxdWlyZWQgZm9yIGFuIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKHMucHViSUQmJiFzLnN5c0lEKXRocm93IG5ldyBFcnJvcihcIlN5c3RlbSBpZGVudGlmaWVyIGlzIHJlcXVpcmVkIGZvciBhIHB1YmxpYyBleHRlcm5hbCBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZih0aGlzLmludGVybmFsPSExLG51bGwhPXMucHViSUQmJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKHMucHViSUQpKSxudWxsIT1zLnN5c0lEJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChzLnN5c0lEKSksbnVsbCE9cy5uRGF0YSYmKHRoaXMubkRhdGE9dGhpcy5zdHJpbmdpZnkuZHRkTkRhdGEocy5uRGF0YSkpLHRoaXMucGUmJnRoaXMubkRhdGEpdGhyb3cgbmV3IEVycm9yKFwiTm90YXRpb24gZGVjbGFyYXRpb24gaXMgbm90IGFsbG93ZWQgaW4gYSBwYXJhbWV0ZXIgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhyKSl9ZWxzZSB0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEVudGl0eVZhbHVlKHMpLHRoaXMuaW50ZXJuYWw9ITB9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpbi5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG8sZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwibm90YXRpb25OYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5EYXRhfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcImlucHV0RW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwieG1sRW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwieG1sVmVyc2lvblwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGRFbnRpdHkodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVWdWRHbDBlUzVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGhOVEU1dlpHVWlMQ0pwYzA5aWFtVmpkQ0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVSVVJFVnVkR2wwZVNJc0luQmhjbVZ1ZENJc0luQmxJaXdpYm1GdFpTSXNJblpoYkhWbElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWMzUnlhVzVuYVdaNUlpd2lkSGx3WlNJc0lrVnVkR2wwZVVSbFkyeGhjbUYwYVc5dUlpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltbHVkR1Z5Ym1Gc0lpd2laSFJrVUhWaVNVUWlMQ0prZEdSVGVYTkpSQ0lzSW01RVlYUmhJaXdpWkhSa1RrUmhkR0VpTENKa2RHUkZiblJwZEhsV1lXeDFaU0lzSW1Ob2FXeGtJaXdpYTJWNUlpd2lZM1J2Y2lJc0luQnliM1J2ZEhsd1pTSXNJbVY0ZEdWdVpDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrUlc1MGFYUjVJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGM1FrTXNSVUZCVTBNc1JVRkZia05ETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlYwY3NVVUZCVVN4aFFVRmhTQ3hUUVVWb1EwUXNSVUZCVlVrc1VVRkJVU3hoUVVWc1Frd3NSVUZCVjBzc1VVRkJVU3hqUVVWdVFrTXNUMEZCVDBNc1VVRkJlVUlzVTBGQlZVTXNSMEZIZUVNc1UwRkJVME1zUlVGQllVTXNSVUZCVVVNc1JVRkJTVU1zUlVGQlRVTXNSMEZGZEVNc1IwRkVRVW9zUlVGQllVc3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZBc1IwRkRiRU1zVFVGQlVrVXNSVUZEUml4TlFVRk5MRWxCUVVsTkxFMUJRVTBzTkVKQlFUaENSQ3hMUVVGTFJTeFZRVUZWVUN4SlFVVXZSQ3hIUVVGaExFMUJRVlJETEVWQlEwWXNUVUZCVFN4SlFVRkpTeXhOUVVGTkxEWkNRVUVyUWtRc1MwRkJTMFVzVlVGQlZWQXNTVUZMYUVVc1IwRklRVXNzUzBGQlMwNHNTMEZCVDBFc1JVRkRXazBzUzBGQlMwd3NTMEZCVDBzc1MwRkJTMGNzVlVGQlZWSXNTMEZCUzBFc1IwRkRhRU5MTEV0QlFVdEpMRXRCUVU5eVFpeEZRVUZUYzBJc2EwSkJRMmhDY0VJc1JVRkJVMWNzUjBGSFVDeERRVU5NTEVsQlFVdEJMRVZCUVUxVkxGRkJRVlZXTEVWQlFVMVhMRTFCUTNwQ0xFMUJRVTBzU1VGQlNVNHNUVUZCVFN4NVJVRkJNa1ZFTEV0QlFVdEZMRlZCUVZWUUxFbEJSVFZITEVkQlFVbERMRVZCUVUxVkxGRkJRVlZXTEVWQlFVMVhMRTFCUTNoQ0xFMUJRVTBzU1VGQlNVNHNUVUZCVFN3clJFRkJhVVZFTEV0QlFVdEZMRlZCUVZWUUxFbEJXV3hITEVkQlZrRkxMRXRCUVV0UkxGVkJRVmNzUlVGRFJ5eE5RVUZtV2l4RlFVRk5WU3hSUVVOU1RpeExRVUZMVFN4TlFVRlJUaXhMUVVGTFJ5eFZRVUZWVFN4VFFVRlRZaXhGUVVGTlZTeFJRVVV4UWl4TlFVRm1WaXhGUVVGTlZ5eFJRVU5TVUN4TFFVRkxUeXhOUVVGUlVDeExRVUZMUnl4VlFVRlZUeXhUUVVGVFpDeEZRVUZOVnl4UlFVVXhRaXhOUVVGbVdDeEZRVUZOWlN4UlFVTlNXQ3hMUVVGTFZ5eE5RVUZSV0N4TFFVRkxSeXhWUVVGVlV5eFRRVUZUYUVJc1JVRkJUV1VzVVVGRmVrTllMRXRCUVV0T0xFbEJRVTFOTEV0QlFVdFhMRTFCUTJ4Q0xFMUJRVTBzU1VGQlNWWXNUVUZCVFN3NFJFRkJaMFZFTEV0QlFVdEZMRlZCUVZWUUxGTkJjRUpxUjBzc1MwRkJTMG9zVFVGQlVVa3NTMEZCUzBjc1ZVRkJWVlVzWlVGQlpXcENMRWRCUXpORFNTeExRVUZMVVN4VlFVRlhMRVZCWjBWd1FpeFBRWHBHVXl4VFFVRlRUU3hGUVVGUGNrSXNSMEZCVlN4SlFVRkxMRWxCUVVselFpeExRVUZQZEVJc1JVRkJZMUFzUlVGQlVXRXNTMEZCUzA0c1JVRkJVWE5DTEV0QlFVMUVMRVZCUVUxRExFZEJRVTkwUWl4RlFVRlBjMElzU1VGQlVTeFRRVUZUUXl4SlFVRlRhRUlzUzBGQlMwWXNXVUZCWTJkQ0xFVkJRVk5GTEVWQlFVdERMRlZCUVZsNFFpeEZRVUZQZDBJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOYWtJc1ZVRkJXVW9zUlVGQlQzZENMRlZCVldoUlF5eERRVUZQTVVJc1JVRnBSazVTTEVkQk1VTkViVU1zVDBGQlQwTXNaVUZCWlRWQ0xFVkJRV0Y1UWl4VlFVRlhMRmRCUVZrc1EwRkRlRVJKTEVsQlFVc3NWMEZEU0N4UFFVRlBja0lzUzBGQlMwMHNVMEZKYUVKaExFOUJRVTlETEdWQlFXVTFRaXhGUVVGaGVVSXNWVUZCVnl4WFFVRlpMRU5CUTNoRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDNKQ0xFdEJRVXRQTEZOQlNXaENXU3hQUVVGUFF5eGxRVUZsTlVJc1JVRkJZWGxDTEZWQlFWY3NaVUZCWjBJc1EwRkROVVJKTEVsQlFVc3NWMEZEU0N4UFFVRlBja0lzUzBGQlMxY3NUMEZCVXl4UlFVbDZRbEVzVDBGQlQwTXNaVUZCWlRWQ0xFVkJRV0Y1UWl4VlFVRlhMR2RDUVVGcFFpeERRVU0zUkVrc1NVRkJTeXhYUVVOSUxFOUJRVThzVVVGSldFWXNUMEZCVDBNc1pVRkJaVFZDTEVWQlFXRjVRaXhWUVVGWExHTkJRV1VzUTBGRE0wUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUExGRkJTVmhHTEU5QlFVOURMR1ZCUVdVMVFpeEZRVUZoZVVJc1ZVRkJWeXhoUVVGakxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWU4wSXNSVUZCWVhsQ0xGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkRla01zVDBGQlQzWkNMRXRCUVV0MVFpeFJRVUZSUXl4UFFVRlBReXhWUVVGVmVrSXNTMEZCVFVFc1MwRkJTM1ZDTEZGQlFWRkRMRTlCUVU5RkxHTkJRV05JTEV0QlIzaEZMMElzUlVGb1JuVkNMRXRCYjBZdlFrOHNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFVkVSRmJuUnBkSGt1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLGk9e30uaGFzT3duUHJvcGVydHk7cj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbyhyLGksZSl7aWYoby5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PWkpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgbm90YXRpb24gbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKCFlLnB1YklEJiYhZS5zeXNJRCl0aHJvdyBuZXcgRXJyb3IoXCJQdWJsaWMgb3Igc3lzdGVtIGlkZW50aWZpZXJzIGFyZSByZXF1aXJlZCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7dGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUoaSksdGhpcy50eXBlPXQuTm90YXRpb25EZWNsYXJhdGlvbixudWxsIT1lLnB1YklEJiYodGhpcy5wdWJJRD10aGlzLnN0cmluZ2lmeS5kdGRQdWJJRChlLnB1YklEKSksbnVsbCE9ZS5zeXNJRCYmKHRoaXMuc3lzSUQ9dGhpcy5zdHJpbmdpZnkuZHRkU3lzSUQoZS5zeXNJRCkpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKWkuY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShvLHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInB1YmxpY0lkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1YklEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInN5c3RlbUlkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN5c0lEfX0pLG8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZE5vdGF0aW9uKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFNXZkR0YwYVc5dUxtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1UbTlrWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUlVSRTV2ZEdGMGFXOXVJaXdpY0dGeVpXNTBJaXdpYm1GdFpTSXNJblpoYkhWbElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW5OMGNtbHVaMmxtZVNJc0luUjVjR1VpTENKT2IzUmhkR2x2YmtSbFkyeGhjbUYwYVc5dUlpd2laSFJrVUhWaVNVUWlMQ0prZEdSVGVYTkpSQ0lzSW1Ob2FXeGtJaXdpYTJWNUlpd2lZM1J2Y2lJc0luQnliM1J2ZEhsd1pTSXNJbVY0ZEdWdVpDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrVG05MFlYUnBiMjRpTENKbWFXeDBaWEpQY0hScGIyNXpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFUQkNReXhGUVVVMVFrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVJpeEZRVUZWUnl4UlFVRlJMR0ZCUld4Q1NpeEZRVUZYU1N4UlFVRlJMR05CUlc1Q1F5eFBRVUZQUXl4UlFVRXlRaXhUUVVGVlF5eEhRVWN4UXl4VFFVRlRReXhGUVVGbFF5eEZRVUZSUXl4RlFVRk5ReXhIUVVWd1F5eEhRVVJCU0N4RlFVRmxTU3hWUVVGVlF5eFpRVUZaUXl4TFFVRkxReXhMUVVGTlRpeEhRVU53UXl4TlFVRlNReXhGUVVOR0xFMUJRVTBzU1VGQlNVMHNUVUZCVFN3NFFrRkJaME5FTEV0QlFVdEZMRlZCUVZWUUxFbEJSV3BGTEVsQlFVdERMRVZCUVUxUExGRkJRVlZRTEVWQlFVMVJMRTFCUTNwQ0xFMUJRVTBzU1VGQlNVZ3NUVUZCVFN4eFJVRkJkVVZFTEV0QlFVdEZMRlZCUVZWUUxFbEJSWGhIU3l4TFFVRkxUQ3hMUVVGUFN5eExRVUZMU3l4VlFVRlZWaXhMUVVGTFFTeEhRVU5vUTBzc1MwRkJTMDBzUzBGQlQzSkNMRVZCUVZOelFpeHZRa0ZEUml4TlFVRm1XQ3hGUVVGTlR5eFJRVU5TU0N4TFFVRkxSeXhOUVVGUlNDeExRVUZMU3l4VlFVRlZSeXhUUVVGVFdpeEZRVUZOVHl4UlFVVXhRaXhOUVVGbVVDeEZRVUZOVVN4UlFVTlNTaXhMUVVGTFNTeE5RVUZSU2l4TFFVRkxTeXhWUVVGVlNTeFRRVUZUWWl4RlFVRk5VU3hSUVc5Q0wwTXNUMEUxUTFNc1UwRkJVMDBzUlVGQlQyaENMRWRCUVZVc1NVRkJTeXhKUVVGSmFVSXNTMEZCVDJwQ0xFVkJRV05RTEVWQlFWRlpMRXRCUVV0TUxFVkJRVkZwUWl4TFFVRk5SQ3hGUVVGTlF5eEhRVUZQYWtJc1JVRkJUMmxDTEVsQlFWRXNVMEZCVTBNc1NVRkJVMW9zUzBGQlMwWXNXVUZCWTFrc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1c1Q0xFVkJRVTl0UWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFpTEZWQlFWbElMRVZCUVU5dFFpeFZRVkZvVVVNc1EwRkJUM0pDTEVWQmMwTk9VQ3hIUVd4Q1JEWkNMRTlCUVU5RExHVkJRV1YyUWl4RlFVRmxiMElzVlVGQlZ5eFhRVUZaTEVOQlF6RkVTU3hKUVVGTExGZEJRMGdzVDBGQlQycENMRXRCUVV0SExGTkJTV2hDV1N4UFFVRlBReXhsUVVGbGRrSXNSVUZCWlc5Q0xGVkJRVmNzVjBGQldTeERRVU14UkVrc1NVRkJTeXhYUVVOSUxFOUJRVTlxUWl4TFFVRkxTU3hUUVVsb1FsZ3NSVUZCWlc5Q0xGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkRNME1zVDBGQlQyNUNMRXRCUVV0dFFpeFJRVUZSUXl4UFFVRlBReXhaUVVGWmNrSXNTMEZCVFVFc1MwRkJTMjFDTEZGQlFWRkRMRTlCUVU5RkxHTkJRV05JTEV0QlJ6RkZNVUlzUlVGeVEzbENMRXRCZVVOcVEwMHNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFVkVST2IzUmhkR2x2Ymk1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxpLG4sbz17fS5oYXNPd25Qcm9wZXJ0eTtuPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNPYmplY3QsaT1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gZShpLG8scixzKXt2YXIgbDtlLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsaSksbihvKSYmKG89KGw9bykudmVyc2lvbixyPWwuZW5jb2Rpbmcscz1sLnN0YW5kYWxvbmUpLG98fChvPVwiMS4wXCIpLHRoaXMudHlwZT10LkRlY2xhcmF0aW9uLHRoaXMudmVyc2lvbj10aGlzLnN0cmluZ2lmeS54bWxWZXJzaW9uKG8pLG51bGwhPXImJih0aGlzLmVuY29kaW5nPXRoaXMuc3RyaW5naWZ5LnhtbEVuY29kaW5nKHIpKSxudWxsIT1zJiYodGhpcy5zdGFuZGFsb25lPXRoaXMuc3RyaW5naWZ5LnhtbFN0YW5kYWxvbmUocykpfXJldHVybiBmdW5jdGlvbih0LGkpe2Zvcih2YXIgbiBpbiBpKW8uY2FsbChpLG4pJiYodFtuXT1pW25dKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXIucHJvdG90eXBlPWkucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQuX19zdXBlcl9fPWkucHJvdG90eXBlfShlLGkpLGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmRlY2xhcmF0aW9uKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sZX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSbFkyeGhjbUYwYVc5dUxtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1UbTlrWlNJc0ltbHpUMkpxWldOMElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1SR1ZqYkdGeVlYUnBiMjRpTENKd1lYSmxiblFpTENKMlpYSnphVzl1SWl3aVpXNWpiMlJwYm1jaUxDSnpkR0Z1WkdGc2IyNWxJaXdpY21WbUlpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSW5SNWNHVWlMQ0pFWldOc1lYSmhkR2x2YmlJc0luTjBjbWx1WjJsbWVTSXNJbmh0YkZabGNuTnBiMjRpTENKNGJXeEZibU52WkdsdVp5SXNJbmh0YkZOMFlXNWtZV3h2Ym1VaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKMGIxTjBjbWx1WnlJc0ltOXdkR2x2Ym5NaUxDSjNjbWwwWlhJaUxDSmtaV05zWVhKaGRHbHZiaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQk1FSkRMRVZCUVZORExFVkJSWEpEUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFWZEhMRkZCUVZFc1lVRkJZVWdzVTBGRmFFTkVMRVZCUVZWSkxGRkJRVkVzWVVGRmJFSk1MRVZCUVZkTExGRkJRVkVzWTBGRmJrSkRMRTlCUVU5RExGRkJRVEpDTEZOQlFWVkRMRWRCUnpGRExGTkJRVk5ETEVWQlFXVkRMRVZCUVZGRExFVkJRVk5ETEVWQlFWVkRMRWRCUTJwRUxFbEJRVWxETEVWQlEwcE1MRVZCUVdWTkxGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFTTEVkQlF6VkRVaXhGUVVGVFV5eExRVU5KUVN4SFFVRm1SeXhGUVVGTlNDeEhRVUYxUWtFc1VVRkJVME1zUlVGQlYwVXNSVUZCU1VZc1UwRkJWVU1zUlVGQllVTXNSVUZCU1VRc1dVRkZOMFZHTEVsQlEwaEJMRVZCUVZVc1QwRkZXazhzUzBGQlMwTXNTMEZCVDI1Q0xFVkJRVk52UWl4WlFVTnlRa1lzUzBGQlMxQXNVVUZCVlU4c1MwRkJTMGNzVlVGQlZVTXNWMEZCVjFnc1IwRkRla0lzVFVGQldrTXNTVUZEUmswc1MwRkJTMDRzVTBGQlYwMHNTMEZCUzBjc1ZVRkJWVVVzV1VGQldWZ3NTVUZGTTBJc1RVRkJaRU1zU1VGRFJrc3NTMEZCUzB3c1YwRkJZVXNzUzBGQlMwY3NWVUZCVlVjc1kwRkJZMWdzU1VGUmJrUXNUMEZ1UTFNc1UwRkJVMWtzUlVGQlQyWXNSMEZCVlN4SlFVRkxMRWxCUVVsblFpeExRVUZQYUVJc1JVRkJZMUFzUlVGQlVXTXNTMEZCUzFBc1JVRkJVV2RDTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlvUWl4RlFVRlBaMElzU1VGQlVTeFRRVUZUUXl4SlFVRlRWQ3hMUVVGTFJpeFpRVUZqVXl4RlFVRlRSU3hGUVVGTFF5eFZRVUZaYkVJc1JVRkJUMnRDTEZWQlFWZElMRVZCUVUxSExGVkJRVmtzU1VGQlNVUXNSVUZCVVVZc1JVRkJUVllzVlVGQldVd3NSVUZCVDJ0Q0xGVkJWV2hSUXl4RFFVRlBjRUlzUlVFeVFrNVNMRWRCVGtSUkxFVkJRV1Z0UWl4VlFVRlZSU3hUUVVGWExGTkJRVk5ETEVkQlF6TkRMRTlCUVU5aUxFdEJRVXRoTEZGQlFWRkRMRTlCUVU5RExGbEJRVmxtTEV0QlFVMUJMRXRCUVV0aExGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSekZGZEVJc1JVRXhRbmxDTEV0Qk9FSnFRMUVzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVpXTnNZWEpoZEdsdmJpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscixvLHMscCx1PXt9Lmhhc093blByb3BlcnR5O3A9cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5pc09iamVjdCxzPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTERUREF0dExpc3RcIiksaT1yZXF1aXJlKFwiLi9YTUxEVERFbnRpdHlcIiksbj1yZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHI9cmVxdWlyZShcIi4vWE1MRFRETm90YXRpb25cIiksbz1yZXF1aXJlKFwiLi9YTUxOYW1lZE5vZGVNYXBcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oaCl7ZnVuY3Rpb24gYyhlLG4saSl7dmFyIHIsbyxzLHUsaCx5O2lmKGMuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSx0aGlzLnR5cGU9dC5Eb2NUeXBlLGUuY2hpbGRyZW4pZm9yKG89MCxzPSh1PWUuY2hpbGRyZW4pLmxlbmd0aDtvPHM7bysrKWlmKChyPXVbb10pLnR5cGU9PT10LkVsZW1lbnQpe3RoaXMubmFtZT1yLm5hbWU7YnJlYWt9dGhpcy5kb2N1bWVudE9iamVjdD1lLHAobikmJihuPShoPW4pLnB1YklELGk9aC5zeXNJRCksbnVsbD09aSYmKGk9KHk9W24saV0pWzBdLG49eVsxXSksbnVsbCE9biYmKHRoaXMucHViSUQ9dGhpcy5zdHJpbmdpZnkuZHRkUHViSUQobikpLG51bGwhPWkmJih0aGlzLnN5c0lEPXRoaXMuc3RyaW5naWZ5LmR0ZFN5c0lEKGkpKX1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSl1LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9dH1pLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgaSx0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0oYyxzKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsXCJlbnRpdGllc1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgZSxuLGkscixzO2ZvcihyPXt9LG49MCxpPShzPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPGk7bisrKShlPXNbbl0pLnR5cGUhPT10LkVudGl0eURlY2xhcmF0aW9ufHxlLnBlfHwocltlLm5hbWVdPWUpO3JldHVybiBuZXcgbyhyKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsXCJub3RhdGlvbnNcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIscztmb3Iocj17fSxuPTAsaT0ocz10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxpO24rKykoZT1zW25dKS50eXBlPT09dC5Ob3RhdGlvbkRlY2xhcmF0aW9uJiYocltlLm5hbWVdPWUpO3JldHVybiBuZXcgbyhyKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsXCJwdWJsaWNJZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdWJJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsXCJzeXN0ZW1JZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zeXNJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsXCJpbnRlcm5hbFN1YnNldFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLGMucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgaTtyZXR1cm4gaT1uZXcgbih0aGlzLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKGkpLHRoaXN9LGMucHJvdG90eXBlLmF0dExpc3Q9ZnVuY3Rpb24odCxuLGkscixvKXt2YXIgcztyZXR1cm4gcz1uZXcgZSh0aGlzLHQsbixpLHIsbyksdGhpcy5jaGlsZHJlbi5wdXNoKHMpLHRoaXN9LGMucHJvdG90eXBlLmVudGl0eT1mdW5jdGlvbih0LGUpe3ZhciBuO3JldHVybiBuPW5ldyBpKHRoaXMsITEsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2gobiksdGhpc30sYy5wcm90b3R5cGUucEVudGl0eT1mdW5jdGlvbih0LGUpe3ZhciBuO3JldHVybiBuPW5ldyBpKHRoaXMsITAsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2gobiksdGhpc30sYy5wcm90b3R5cGUubm90YXRpb249ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgcih0aGlzLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmRvY1R5cGUodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxjLnByb3RvdHlwZS5lbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSl9LGMucHJvdG90eXBlLmF0dD1mdW5jdGlvbih0LGUsbixpLHIpe3JldHVybiB0aGlzLmF0dExpc3QodCxlLG4saSxyKX0sYy5wcm90b3R5cGUuZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZW50aXR5KHQsZSl9LGMucHJvdG90eXBlLnBlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wRW50aXR5KHQsZSl9LGMucHJvdG90eXBlLm5vdD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm5vdGF0aW9uKHQsZSl9LGMucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdCgpfHx0aGlzLmRvY3VtZW50T2JqZWN0fSxjLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4hIWMuX19zdXBlcl9fLmlzRXF1YWxOb2RlLmFwcGx5KHRoaXMsYXJndW1lbnRzKS5pc0VxdWFsTm9kZSh0KSYmKHQubmFtZT09PXRoaXMubmFtZSYmKHQucHVibGljSWQ9PT10aGlzLnB1YmxpY0lkJiZ0LnN5c3RlbUlkPT09dGhpcy5zeXN0ZW1JZCkpfSxjfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJ2WTFSNWNHVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhFVkVSQmRIUk1hWE4wSWl3aVdFMU1SRlJFUld4bGJXVnVkQ0lzSWxoTlRFUlVSRVZ1ZEdsMGVTSXNJbGhOVEVSVVJFNXZkR0YwYVc5dUlpd2lXRTFNVG1GdFpXUk9iMlJsVFdGd0lpd2lXRTFNVG05a1pTSXNJbWx6VDJKcVpXTjBJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkc5alZIbHdaU0lzSW5CaGNtVnVkQ0lzSW5CMVlrbEVJaXdpYzNselNVUWlMQ0pqYUdsc1pDSXNJbWtpTENKc1pXNGlMQ0p5WldZaUxDSnlaV1l4SWl3aWNtVm1NaUlzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSjBlWEJsSWl3aVJHOWpWSGx3WlNJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lSV3hsYldWdWRDSXNJbTVoYldVaUxDSmtiMk4xYldWdWRFOWlhbVZqZENJc0luTjBjbWx1WjJsbWVTSXNJbVIwWkZCMVlrbEVJaXdpWkhSa1UzbHpTVVFpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0puWlhRaUxDSnViMlJsY3lJc0lrVnVkR2wwZVVSbFkyeGhjbUYwYVc5dUlpd2ljR1VpTENKT2IzUmhkR2x2YmtSbFkyeGhjbUYwYVc5dUlpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0psYkdWdFpXNTBJaXdpZG1Gc2RXVWlMQ0p3ZFhOb0lpd2lZWFIwVEdsemRDSXNJbVZzWlcxbGJuUk9ZVzFsSWl3aVlYUjBjbWxpZFhSbFRtRnRaU0lzSW1GMGRISnBZblYwWlZSNWNHVWlMQ0prWldaaGRXeDBWbUZzZFdWVWVYQmxJaXdpWkdWbVlYVnNkRlpoYkhWbElpd2laVzUwYVhSNUlpd2ljRVZ1ZEdsMGVTSXNJbTV2ZEdGMGFXOXVJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpHOWpWSGx3WlNJc0ltWnBiSFJsY2s5d2RHbHZibk1pTENKbGJHVWlMQ0poZEhRaUxDSmxiblFpTENKd1pXNTBJaXdpYm05MElpd2lkWEFpTENKeWIyOTBJaXdpYVhORmNYVmhiRTV2WkdVaUxDSnViMlJsSWl3aVlYQndiSGtpTENKaGNtZDFiV1Z1ZEhNaUxDSndkV0pzYVdOSlpDSXNJbk41YzNSbGJVbGtJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXTkRMRVZCUVRSQ1F5eEZRVUZwUWtNc1JVRkJVME1zUlVGRk9VZERMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVjBjc1VVRkJVU3hoUVVGaFNDeFRRVVZvUTBRc1JVRkJWVWtzVVVGQlVTeGhRVVZzUWxZc1JVRkJWMVVzVVVGQlVTeGpRVVZ1UWxRc1JVRkJaMEpUTEZGQlFWRXNiVUpCUlhoQ1VDeEZRVUZsVHl4UlFVRlJMR3RDUVVWMlFsSXNSVUZCWjBKUkxGRkJRVkVzYlVKQlJYaENUaXhGUVVGcFFrMHNVVUZCVVN4dlFrRkZla0pNTEVWQlFXdENTeXhSUVVGUkxIRkNRVVV4UWtNc1QwRkJUME1zVVVGQmRVSXNVMEZCVlVNc1IwRkhkRU1zVTBGQlUwTXNSVUZCVjBNc1JVRkJVVU1zUlVGQlQwTXNSMEZEYWtNc1NVRkJTVU1zUlVGQlQwTXNSVUZCUjBNc1JVRkJTME1zUlVGQlMwTXNSVUZCVFVNc1JVRkhPVUlzUjBGR1FWUXNSVUZCVjFVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVm9zUjBGRE5VTlpMRXRCUVV0RExFdEJRVTgxUWl4RlFVRlROa0lzVVVGRGFrSmtMRVZCUVU5bExGTkJSVlFzU1VGQlMxZ3NSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZOVGl4RlFVRlBaU3hWUVVOVFF5eFBRVUZSV2l4RlFVRkpReXhGUVVGTFJDeEpRVVZ5UXl4SlFVUkJSQ3hGUVVGUlJ5eEZRVUZKUml4SlFVTkdVeXhQUVVGVE5VSXNSVUZCVTJkRExGRkJRVk1zUTBGRGJrTk1MRXRCUVV0TkxFdEJRVTltTEVWQlFVMWxMRXRCUTJ4Q0xFMUJTVTVPTEV0QlFVdFBMR1ZCUVdsQ2JrSXNSVUZEYkVKU0xFVkJRVk5UTEV0QlEwZEJMRWRCUVdSTkxFVkJRVTlPTEVkQlFXOUNRU3hOUVVGUFF5eEZRVUZSU3l4RlFVRkxUQ3hQUVVWd1F5eE5RVUZVUVN4SlFVTnhRa0VzUjBGQmRrSk5MRVZCUVU4c1EwRkJRMUFzUlVGQlQwTXNTVUZCY1VJc1IwRkJTVVFzUlVGQlVVOHNSVUZCU3l4SlFVVXhReXhOUVVGVVVDeEpRVU5HVnl4TFFVRkxXQ3hOUVVGUlZ5eExRVUZMVVN4VlFVRlZReXhUUVVGVGNFSXNTVUZGTVVJc1RVRkJWRU1zU1VGRFJsVXNTMEZCUzFZc1RVRkJVVlVzUzBGQlMxRXNWVUZCVlVVc1UwRkJVM0JDTEVsQmJVbDZReXhQUVd4TVV5eFRRVUZUUXl4RlFVRlBTQ3hIUVVGVkxFbEJRVXNzU1VGQlNYVkNMRXRCUVU5MlFpeEZRVUZqVUN4RlFVRlJhMElzUzBGQlMxZ3NSVUZCVVhWQ0xFdEJRVTF3UWl4RlFVRk5iMElzUjBGQlQzWkNMRVZCUVU5MVFpeEpRVUZSTEZOQlFWTkRMRWxCUVZOYUxFdEJRVXRHTEZsQlFXTlFMRVZCUVZOeFFpeEZRVUZMUXl4VlFVRlpla0lzUlVGQlQzbENMRlZCUVZkMFFpeEZRVUZOYzBJc1ZVRkJXU3hKUVVGSlJDeEZRVUZSY2tJc1JVRkJUVTBzVlVGQldWUXNSVUZCVDNsQ0xGVkJiMEpvVVVNc1EwRkJUek5DTEVWQlowdE9VaXhIUVdwSlJHOURMRTlCUVU5RExHVkJRV1UzUWl4RlFVRlhNRUlzVlVGQlZ5eFhRVUZaTEVOQlEzUkVTU3hKUVVGTExGZEJRMGdzU1VGQlNURkNMRVZCUVU5RExFVkJRVWRETEVWQlFVdDVRaXhGUVVGUGVFSXNSVUZITVVJc1NVRkdRWGRDTEVWQlFWRXNSMEZGU0RGQ0xFVkJRVWtzUlVGQlIwTXNSMEZFV2tNc1JVRkJUVTBzUzBGQlMwY3NWVUZEVjBNc1QwRkJVVm9zUlVGQlNVTXNSVUZCUzBRc1MwRkRja05FTEVWQlFWRkhMRVZCUVVsR0xFbEJRMFJUTEU5QlFWTTFRaXhGUVVGVE9FTXNiVUpCUVhWQ05VSXNSVUZCVFRaQ0xFdEJRM2hFUml4RlFVRk5NMElzUlVGQlRXVXNUVUZCVVdZc1IwRkhlRUlzVDBGQlR5eEpRVUZKWWl4RlFVRm5RbmRETEUxQlNTOUNTQ3hQUVVGUFF5eGxRVUZsTjBJc1JVRkJWekJDTEZWQlFWY3NXVUZCWVN4RFFVTjJSRWtzU1VGQlN5eFhRVU5JTEVsQlFVa3hRaXhGUVVGUFF5eEZRVUZIUXl4RlFVRkxlVUlzUlVGQlQzaENMRVZCUnpGQ0xFbEJSa0YzUWl4RlFVRlJMRWRCUlVneFFpeEZRVUZKTEVWQlFVZERMRWRCUkZwRExFVkJRVTFOTEV0QlFVdEhMRlZCUTFkRExFOUJRVkZhTEVWQlFVbERMRVZCUVV0RUxFdEJRM0pEUkN4RlFVRlJSeXhGUVVGSlJpeEpRVU5HVXl4UFFVRlROVUlzUlVGQlUyZEVMSE5DUVVNeFFrZ3NSVUZCVFROQ0xFVkJRVTFsTEUxQlFWRm1MRWRCUjNoQ0xFOUJRVThzU1VGQlNXSXNSVUZCWjBKM1F5eE5RVWt2UWtnc1QwRkJUME1zWlVGQlpUZENMRVZCUVZjd1FpeFZRVUZYTEZkQlFWa3NRMEZEZEVSSkxFbEJRVXNzVjBGRFNDeFBRVUZQYWtJc1MwRkJTMWdzVTBGSmFFSXdRaXhQUVVGUFF5eGxRVUZsTjBJc1JVRkJWekJDTEZWQlFWY3NWMEZCV1N4RFFVTjBSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOXFRaXhMUVVGTFZpeFRRVWxvUW5sQ0xFOUJRVTlETEdWQlFXVTNRaXhGUVVGWE1FSXNWVUZCVnl4cFFrRkJhMElzUTBGRE5VUkpMRWxCUVVzc1YwRkRTQ3hOUVVGTkxFbEJRVWxMTEUxQlFVMHNjME5CUVhkRGRFSXNTMEZCUzNWQ0xHZENRVWxxUlhCRExFVkJRVmN3UWl4VlFVRlZWeXhSUVVGVkxGTkJRVk5zUWl4RlFVRk5iVUlzUjBGRE5VTXNTVUZCU1d4RExFVkJSMG9zVDBGR1FVRXNSVUZCVVN4SlFVRkphRUlzUlVGQlkzbENMRXRCUVUxTkxFVkJRVTF0UWl4SFFVTjBRM3BDTEV0QlFVdEhMRk5CUVZOMVFpeExRVUZMYmtNc1IwRkRXbE1zVFVGSFZHSXNSVUZCVnpCQ0xGVkJRVlZqTEZGQlFWVXNVMEZCVTBNc1JVRkJZVU1zUlVGQlpVTXNSVUZCWlVNc1JVRkJhMEpETEVkQlEyNUhMRWxCUVVsNlF5eEZRVWRLTEU5QlJrRkJMRVZCUVZFc1NVRkJTV3BDTEVWQlFXTXdRaXhMUVVGTk5FSXNSVUZCWVVNc1JVRkJaVU1zUlVGQlpVTXNSVUZCYTBKRExFZEJRemRHYUVNc1MwRkJTMGNzVTBGQlUzVkNMRXRCUVV0dVF5eEhRVU5hVXl4TlFVZFVZaXhGUVVGWE1FSXNWVUZCVlc5Q0xFOUJRVk1zVTBGQlV6TkNMRVZCUVUxdFFpeEhRVU16UXl4SlFVRkpiRU1zUlVGSFNpeFBRVVpCUVN4RlFVRlJMRWxCUVVsbUxFVkJRV0YzUWl4TlFVRk5MRVZCUVU5TkxFVkJRVTF0UWl4SFFVTTFRM3BDTEV0QlFVdEhMRk5CUVZOMVFpeExRVUZMYmtNc1IwRkRXbE1zVFVGSFZHSXNSVUZCVnpCQ0xGVkJRVlZ4UWl4UlFVRlZMRk5CUVZNMVFpeEZRVUZOYlVJc1IwRkROVU1zU1VGQlNXeERMRVZCUjBvc1QwRkdRVUVzUlVGQlVTeEpRVUZKWml4RlFVRmhkMElzVFVGQlRTeEZRVUZOVFN4RlFVRk5iVUlzUjBGRE0wTjZRaXhMUVVGTFJ5eFRRVUZUZFVJc1MwRkJTMjVETEVkQlExcFRMRTFCUjFSaUxFVkJRVmN3UWl4VlFVRlZjMElzVTBGQlZ5eFRRVUZUTjBJc1JVRkJUVzFDTEVkQlF6ZERMRWxCUVVsc1F5eEZRVWRLTEU5QlJrRkJMRVZCUVZFc1NVRkJTV1FzUlVGQlpYVkNMRXRCUVUxTkxFVkJRVTF0UWl4SFFVTjJRM3BDTEV0QlFVdEhMRk5CUVZOMVFpeExRVUZMYmtNc1IwRkRXbE1zVFVGSFZHSXNSVUZCVnpCQ0xGVkJRVlYxUWl4VFFVRlhMRk5CUVZORExFZEJRM1pETEU5QlFVOXlReXhMUVVGTGNVTXNVVUZCVVVNc1QwRkJUME1zVVVGQlVYWkRMRXRCUVUxQkxFdEJRVXR4UXl4UlFVRlJReXhQUVVGUFJTeGpRVUZqU0N4TFFVYzNSV3hFTEVWQlFWY3dRaXhWUVVGVk5FSXNTVUZCVFN4VFFVRlRia01zUlVGQlRXMUNMRWRCUTNoRExFOUJRVTk2UWl4TFFVRkxkMElzVVVGQlVXeENMRVZCUVUxdFFpeEpRVWMxUW5SRExFVkJRVmN3UWl4VlFVRlZOa0lzU1VGQlRTeFRRVUZUWkN4RlFVRmhReXhGUVVGbFF5eEZRVUZsUXl4RlFVRnJRa01zUjBGREwwWXNUMEZCVDJoRExFdEJRVXN5UWl4UlFVRlJReXhGUVVGaFF5eEZRVUZsUXl4RlFVRmxReXhGUVVGclFrTXNTVUZIYmtZM1F5eEZRVUZYTUVJc1ZVRkJWVGhDTEVsQlFVMHNVMEZCVTNKRExFVkJRVTF0UWl4SFFVTjRReXhQUVVGUGVrSXNTMEZCUzJsRExFOUJRVTh6UWl4RlFVRk5iVUlzU1VGSE0wSjBReXhGUVVGWE1FSXNWVUZCVlN0Q0xFdEJRVThzVTBGQlUzUkRMRVZCUVUxdFFpeEhRVU42UXl4UFFVRlBla0lzUzBGQlMydERMRkZCUVZFMVFpeEZRVUZOYlVJc1NVRkhOVUowUXl4RlFVRlhNRUlzVlVGQlZXZERMRWxCUVUwc1UwRkJVM1pETEVWQlFVMXRRaXhIUVVONFF5eFBRVUZQZWtJc1MwRkJTMjFETEZOQlFWTTNRaXhGUVVGTmJVSXNTVUZITjBKMFF5eEZRVUZYTUVJc1ZVRkJWV2xETEVkQlFVc3NWMEZEZUVJc1QwRkJUemxETEV0QlFVc3JReXhSUVVGVkwwTXNTMEZCUzA4c1owSkJSemRDY0VJc1JVRkJWekJDTEZWQlFWVnRReXhaUVVGakxGTkJRVk5ETEVkQlF6RkRMRkZCUVVzNVJDeEZRVUZYVlN4VlFVRlZiVVFzV1VGQldVVXNUVUZCVFd4RUxFdEJRVTF0UkN4WFFVRlhTQ3haUVVGWlF5eExRVWR5UlVFc1JVRkJTek5ETEU5QlFWTk9MRXRCUVV0TkxFOUJSMjVDTWtNc1JVRkJTMGNzVjBGQllYQkVMRXRCUVV0dlJDeFZRVWQyUWtnc1JVRkJTMGtzVjBGQllYSkVMRXRCUVV0eFJDeFpRVTEwUW14RkxFVkJMMHB4UWl4TFFXMUxOMEpaTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJHOWpWSGx3WlM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG8sbixyLGkscCxoPXt9Lmhhc093blByb3BlcnR5O3A9cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5pc1BsYWluT2JqZWN0LG89cmVxdWlyZShcIi4vWE1MRE9NSW1wbGVtZW50YXRpb25cIiksZT1yZXF1aXJlKFwiLi9YTUxET01Db25maWd1cmF0aW9uXCIpLG49cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLGk9cmVxdWlyZShcIi4vWE1MU3RyaW5naWZpZXJcIikscj1yZXF1aXJlKFwiLi9YTUxTdHJpbmdXcml0ZXJcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocyl7ZnVuY3Rpb24gdShvKXt1Ll9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsbnVsbCksdGhpcy5uYW1lPVwiI2RvY3VtZW50XCIsdGhpcy50eXBlPXQuRG9jdW1lbnQsdGhpcy5kb2N1bWVudFVSST1udWxsLHRoaXMuZG9tQ29uZmlnPW5ldyBlLG98fChvPXt9KSxvLndyaXRlcnx8KG8ud3JpdGVyPW5ldyByKSx0aGlzLm9wdGlvbnM9byx0aGlzLnN0cmluZ2lmeT1uZXcgaShvKX1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIG8gaW4gZSloLmNhbGwoZSxvKSYmKHRbb109ZVtvXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0odSxuKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJpbXBsZW1lbnRhdGlvblwiLHt2YWx1ZTpuZXcgb30pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImRvY3R5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGUsbyxuLHI7Zm9yKG89MCxuPShyPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtvPG47bysrKWlmKChlPXJbb10pLnR5cGU9PT10LkRvY1R5cGUpcmV0dXJuIGU7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiZG9jdW1lbnRFbGVtZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3RPYmplY3R8fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiaW5wdXRFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJzdHJpY3RFcnJvckNoZWNraW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiExfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcInhtbEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuY2hpbGRyZW5bMF0udHlwZT09PXQuRGVjbGFyYXRpb24/dGhpcy5jaGlsZHJlblswXS5lbmNvZGluZzpudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcInhtbFN0YW5kYWxvbmVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aCYmdGhpcy5jaGlsZHJlblswXS50eXBlPT09dC5EZWNsYXJhdGlvbiYmXCJ5ZXNcIj09PXRoaXMuY2hpbGRyZW5bMF0uc3RhbmRhbG9uZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxWZXJzaW9uXCIse2dldDpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuY2hpbGRyZW5bMF0udHlwZT09PXQuRGVjbGFyYXRpb24/dGhpcy5jaGlsZHJlblswXS52ZXJzaW9uOlwiMS4wXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiVVJMXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50VVJJfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcIm9yaWdpblwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJjb21wYXRNb2RlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImNoYXJhY3RlclNldFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJjb250ZW50VHlwZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSx1LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9e30sdD9wKHQpJiYoZT10LHQ9dGhpcy5vcHRpb25zLndyaXRlcik6dD10aGlzLm9wdGlvbnMud3JpdGVyLHQuZG9jdW1lbnQodGhpcyx0LmZpbHRlck9wdGlvbnMoZSkpfSx1LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kb2N1bWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LHUucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZVRleHROb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUNvbW1lbnQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQ0RBVEFTZWN0aW9uPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbj1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbnRpdHlSZWZlcmVuY2U9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnROUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRCeUlkPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmFkb3B0Tm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5ub3JtYWxpemVEb2N1bWVudD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLnJlbmFtZU5vZGU9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRXZlbnQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlUmFuZ2U9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVOb2RlSXRlcmF0b3I9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZVRyZWVXYWxrZXI9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHV9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUnZZM1Z0Wlc1MExtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1SRTlOUTI5dVptbG5kWEpoZEdsdmJpSXNJbGhOVEVSUFRVbHRjR3hsYldWdWRHRjBhVzl1SWl3aVdFMU1UbTlrWlNJc0lsaE5URk4wY21sdVoxZHlhWFJsY2lJc0lsaE5URk4wY21sdVoybG1hV1Z5SWl3aWFYTlFiR0ZwYms5aWFtVmpkQ0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVSdlkzVnRaVzUwSWl3aWIzQjBhVzl1Y3lJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0p1WVcxbElpd2lkSGx3WlNJc0lrUnZZM1Z0Wlc1MElpd2laRzlqZFcxbGJuUlZVa2tpTENKa2IyMURiMjVtYVdjaUxDSjNjbWwwWlhJaUxDSnpkSEpwYm1kcFpua2lMQ0pqYUdsc1pDSXNJbkJoY21WdWRDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0luWmhiSFZsSWl3aVoyVjBJaXdpYVNJc0lteGxiaUlzSW5KbFppSXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpUkc5alZIbHdaU0lzSW5KdmIzUlBZbXBsWTNRaUxDSkVaV05zWVhKaGRHbHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJblpsY25OcGIyNGlMQ0psYm1RaUxDSjNjbWwwWlhKUGNIUnBiMjV6SWl3aVpHOWpkVzFsYm5RaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWl3aWRHOVRkSEpwYm1jaUxDSmpjbVZoZEdWRmJHVnRaVzUwSWl3aWRHRm5UbUZ0WlNJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2lZM0psWVhSbFJHOWpkVzFsYm5SR2NtRm5iV1Z1ZENJc0ltTnlaV0YwWlZSbGVIUk9iMlJsSWl3aVpHRjBZU0lzSW1OeVpXRjBaVU52YlcxbGJuUWlMQ0pqY21WaGRHVkRSRUZVUVZObFkzUnBiMjRpTENKamNtVmhkR1ZRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSjBZWEpuWlhRaUxDSmpjbVZoZEdWQmRIUnlhV0oxZEdVaUxDSmpjbVZoZEdWRmJuUnBkSGxTWldabGNtVnVZMlVpTENKblpYUkZiR1Z0Wlc1MGMwSjVWR0ZuVG1GdFpTSXNJblJoWjI1aGJXVWlMQ0pwYlhCdmNuUk9iMlJsSWl3aWFXMXdiM0owWldST2IyUmxJaXdpWkdWbGNDSXNJbU55WldGMFpVVnNaVzFsYm5ST1V5SXNJbTVoYldWemNHRmpaVlZTU1NJc0luRjFZV3hwWm1sbFpFNWhiV1VpTENKamNtVmhkR1ZCZEhSeWFXSjFkR1ZPVXlJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxUbE1pTENKc2IyTmhiRTVoYldVaUxDSm5aWFJGYkdWdFpXNTBRbmxKWkNJc0ltVnNaVzFsYm5SSlpDSXNJbUZrYjNCMFRtOWtaU0lzSW5OdmRYSmpaU0lzSW01dmNtMWhiR2w2WlVSdlkzVnRaVzUwSWl3aWNtVnVZVzFsVG05a1pTSXNJbTV2WkdVaUxDSm5aWFJGYkdWdFpXNTBjMEo1UTJ4aGMzTk9ZVzFsSWl3aVkyeGhjM05PWVcxbGN5SXNJbU55WldGMFpVVjJaVzUwSWl3aVpYWmxiblJKYm5SbGNtWmhZMlVpTENKamNtVmhkR1ZTWVc1blpTSXNJbU55WldGMFpVNXZaR1ZKZEdWeVlYUnZjaUlzSW5KdmIzUWlMQ0ozYUdGMFZHOVRhRzkzSWl3aVptbHNkR1Z5SWl3aVkzSmxZWFJsVkhKbFpWZGhiR3RsY2lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZWUXl4RlFVRnhRa01zUlVGQmJVTkRMRVZCUVZORExFVkJRV2xDUXl4RlFVRm5Ra01zUlVGRk9VZERMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCWjBKSExGRkJRVkVzWVVGQllVZ3NZMEZGY2tOS0xFVkJRWFZDVHl4UlFVRlJMREJDUVVVdlFsSXNSVUZCYzBKUkxGRkJRVkVzZVVKQlJUbENUaXhGUVVGVlRTeFJRVUZSTEdGQlJXeENWQ3hGUVVGWFV5eFJRVUZSTEdOQlJXNUNTaXhGUVVGcFFra3NVVUZCVVN4dlFrRkZla0pNTEVWQlFXdENTeXhSUVVGUkxIRkNRVVV4UWtNc1QwRkJUME1zVVVGQmQwSXNVMEZCVlVNc1IwRkhka01zVTBGQlUwTXNSVUZCV1VNc1IwRkRia0pFTEVWQlFWbEZMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUwc1RVRkROME5CTEV0QlFVdERMRXRCUVU4c1dVRkRXa1FzUzBGQlMwVXNTMEZCVDNCQ0xFVkJRVk54UWl4VFFVTnlRa2dzUzBGQlMwa3NXVUZCWXl4TFFVTnVRa29zUzBGQlMwc3NWVUZCV1N4SlFVRkpkRUlzUlVGRGNrSmhMRWxCUVZsQkxFVkJRVlVzU1VGRGFrSkJMRVZCUVZGVkxGTkJRMWhXTEVWQlFWRlZMRTlCUVZNc1NVRkJTWEJDTEVkQlJYWkNZeXhMUVVGTFNpeFJRVUZWUVN4RlFVTm1TU3hMUVVGTFR5eFZRVUZaTEVsQlFVbHdRaXhGUVVGbFV5eEhRVEpOZEVNc1QwRXhUMU1zVTBGQlUxa3NSVUZCVDBNc1IwRkJWU3hKUVVGTExFbEJRVWxETEV0QlFVOUVMRVZCUVdOd1FpeEZRVUZSVlN4TFFVRkxWU3hGUVVGUlF5eExRVUZOUml4RlFVRk5SU3hIUVVGUFJDeEZRVUZQUXl4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOVkxFVkJRVk5ITEVWQlFVdERMRlZCUVZsSUxFVkJRVTlITEZWQlFWZEtMRVZCUVUxSkxGVkJRVmtzU1VGQlNVUXNSVUZCVVVnc1JVRkJUVmdzVlVGQldWa3NSVUZCVDBjc1ZVRnJRbWhSUXl4RFFVRlBiRUlzUlVFd1RrNVdMRWRCTVUxRU5rSXNUMEZCVDBNc1pVRkJaWEJDTEVWQlFWbHBRaXhWUVVGWExHbENRVUZyUWl4RFFVTTNSRWtzVFVGQlR5eEpRVUZKYUVNc1NVRkhZamhDTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZaYVVJc1ZVRkJWeXhWUVVGWExFTkJRM1JFU3l4SlFVRkxMRmRCUTBnc1NVRkJTVlFzUlVGQlQxVXNSVUZCUjBNc1JVRkJTME1zUlVGRmJrSXNTVUZCUzBZc1JVRkJTU3hGUVVGSFF5eEhRVVJhUXl4RlFVRk5jRUlzUzBGQlMzRkNMRlZCUTFkRExFOUJRVkZLTEVWQlFVbERMRVZCUVV0RUxFbEJSWEpETEVsQlJFRldMRVZCUVZGWkxFVkJRVWxHTEVsQlEwWm9RaXhQUVVGVGNFSXNSVUZCVTNsRExGRkJRekZDTEU5QlFVOW1MRVZCUjFnc1QwRkJUeXhSUVVsWVRTeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc2EwSkJRVzFDTEVOQlF6bEVTeXhKUVVGTExGZEJRMGdzVDBGQlQycENMRXRCUVV0M1FpeFpRVUZqTEZGQlNUbENWaXhQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NaMEpCUVdsQ0xFTkJRelZFU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWVNDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc2MwSkJRWFZDTEVOQlEyeEZTeXhKUVVGTExGZEJRMGdzVDBGQlR5eExRVWxZU0N4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWTBGQlpTeERRVU14UkVzc1NVRkJTeXhYUVVOSUxFOUJRVFpDTEVsQlFYcENha0lzUzBGQlMzRkNMRk5CUVZORExGRkJRV2RDZEVJc1MwRkJTM0ZDTEZOQlFWTXNSMEZCUjI1Q0xFOUJRVk53UWl4RlFVRlRNa01zV1VGRE5VUjZRaXhMUVVGTGNVSXNVMEZCVXl4SFFVRkhTeXhUUVVWcVFpeFJRVXRpV2l4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWjBKQlFXbENMRU5CUXpWRVN5eEpRVUZMTEZkQlEwZ3NUMEZCTmtJc1NVRkJla0pxUWl4TFFVRkxjVUlzVTBGQlUwTXNVVUZCWjBKMFFpeExRVUZMY1VJc1UwRkJVeXhIUVVGSGJrSXNUMEZCVTNCQ0xFVkJRVk15UXl4aFFVTTFRaXhSUVVGb1EzcENMRXRCUVV0eFFpeFRRVUZUTEVkQlFVZE5MR05CVHpsQ1lpeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1lVRkJZeXhEUVVONlJFc3NTVUZCU3l4WFFVTklMRTlCUVRaQ0xFbEJRWHBDYWtJc1MwRkJTM0ZDTEZOQlFWTkRMRkZCUVdkQ2RFSXNTMEZCUzNGQ0xGTkJRVk1zUjBGQlIyNUNMRTlCUVZOd1FpeEZRVUZUTWtNc1dVRkROVVI2UWl4TFFVRkxjVUlzVTBGQlV5eEhRVUZIVHl4UlFVVnFRaXhUUVV0aVpDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1RVRkJUeXhEUVVOc1JFc3NTVUZCU3l4WFFVTklMRTlCUVU5cVFpeExRVUZMU1N4bFFVbG9RbFVzVDBGQlQwTXNaVUZCWlhCQ0xFVkJRVmxwUWl4VlFVRlhMRk5CUVZVc1EwRkRja1JMTEVsQlFVc3NWMEZEU0N4UFFVRlBMRkZCU1ZoSUxFOUJRVTlETEdWQlFXVndRaXhGUVVGWmFVSXNWVUZCVnl4aFFVRmpMRU5CUTNwRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlTQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NaVUZCWjBJc1EwRkRNMFJMTEVsQlFVc3NWMEZEU0N4UFFVRlBMRkZCU1ZoSUxFOUJRVTlETEdWQlFXVndRaXhGUVVGWmFVSXNWVUZCVnl4alFVRmxMRU5CUXpGRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlkRUlzUlVGQldXbENMRlZCUVZWcFFpeEpRVUZOTEZOQlFWTjJRaXhIUVVOdVF5eEpRVUZKZDBJc1JVRlJTaXhQUVZCQlFTeEZRVUZuUWl4SFFVTlllRUlzUlVGRlRXeENMRVZCUVdOclFpeExRVU4yUW5kQ0xFVkJRV2RDZUVJc1JVRkRhRUpCTEVWQlFWTk9MRXRCUVV0S0xGRkJRVkZWTEZGQlNIUkNRU3hGUVVGVFRpeExRVUZMU2l4UlFVRlJWU3hQUVV0cVFrRXNSVUZCVDNsQ0xGTkJRVk12UWl4TFFVRk5UU3hGUVVGUE1FSXNZMEZCWTBZc1MwRkhjRVJ1UXl4RlFVRlphVUlzVlVGQlZYRkNMRk5CUVZjc1UwRkJVM0pETEVkQlEzaERMRTlCUVU5SkxFdEJRVXRLTEZGQlFWRlZMRTlCUVU5NVFpeFRRVUZUTDBJc1MwRkJUVUVzUzBGQlMwb3NVVUZCVVZVc1QwRkJUekJDTEdOQlFXTndReXhMUVVjNVJVUXNSVUZCV1dsQ0xGVkJRVlZ6UWl4alFVRm5RaXhUUVVGVFF5eEhRVU0zUXl4TlFVRk5MRWxCUVVsRExFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlV3UWl4MVFrRkJlVUlzVjBGRE4wTXNUVUZCVFN4SlFVRkpSaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVk1rSXNaVUZCYVVJc1UwRkJVME1zUjBGRE9VTXNUVUZCVFN4SlFVRkpTaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVk5rSXNZMEZCWjBJc1UwRkJVMFFzUjBGRE4wTXNUVUZCVFN4SlFVRkpTaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVk9FSXNiVUpCUVhGQ0xGTkJRVk5HTEVkQlEyeEVMRTFCUVUwc1NVRkJTVW9zVFVGQlRTeHpRMEZCZDBOd1F5eExRVUZMY1VNc1kwRkhMMFF4UXl4RlFVRlphVUlzVlVGQlZTdENMRFJDUVVFNFFpeFRRVUZUUXl4RlFVRlJTaXhIUVVOdVJTeE5RVUZOTEVsQlFVbEtMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWcFF5eG5Ra0ZCYTBJc1UwRkJVelZETEVkQlF5OURMRTFCUVUwc1NVRkJTVzFETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnJReXh6UWtGQmQwSXNVMEZCVXpkRExFZEJRM0pFTEUxQlFVMHNTVUZCU1cxRExFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZ0UXl4eFFrRkJkVUlzVTBGQlUwTXNSMEZEY0VRc1RVRkJUU3hKUVVGSldpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWY1VNc1YwRkJZU3hUUVVGVFF5eEZRVUZqUXl4SFFVTjRSQ3hOUVVGTkxFbEJRVWxtTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVjNReXhuUWtGQmEwSXNVMEZCVTBNc1JVRkJZME1zUjBGRE4wUXNUVUZCVFN4SlFVRkpiRUlzVFVGQlRTeHpRMEZCZDBOd1F5eExRVUZMY1VNc1kwRkhMMFF4UXl4RlFVRlphVUlzVlVGQlZUSkRMR3RDUVVGdlFpeFRRVUZUUml4RlFVRmpReXhIUVVNdlJDeE5RVUZOTEVsQlFVbHNRaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVk5FTXNkVUpCUVhsQ0xGTkJRVk5JTEVWQlFXTkpMRWRCUTNCRkxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZVNFF5eGxRVUZwUWl4VFFVRlRReXhIUVVNNVF5eE5RVUZOTEVsQlFVbDJRaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVlowUXNWVUZCV1N4VFFVRlRReXhIUVVONlF5eE5RVUZOTEVsQlFVbDZRaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVmEwUXNhMEpCUVc5Q0xGZEJRM2hETEUxQlFVMHNTVUZCU1RGQ0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZ0UkN4WFFVRmhMRk5CUVZORExFVkJRVTFZTEVWQlFXTkRMRWRCUXpsRUxFMUJRVTBzU1VGQlNXeENMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWeFJDeDFRa0ZCZVVJc1UwRkJVME1zUjBGRGRFUXNUVUZCVFN4SlFVRkpPVUlzVFVGQlRTeHpRMEZCZDBOd1F5eExRVUZMY1VNc1kwRkhMMFF4UXl4RlFVRlphVUlzVlVGQlZYVkVMRmxCUVdNc1UwRkJVME1zUjBGRE0wTXNUVUZCVFN4SlFVRkphRU1zVFVGQlRTeHpRMEZCZDBOd1F5eExRVUZMY1VNc1kwRkhMMFF4UXl4RlFVRlphVUlzVlVGQlZYbEVMRmxCUVdNc1YwRkRiRU1zVFVGQlRTeEpRVUZKYWtNc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWVEJFTEcxQ1FVRnhRaXhUUVVGVFF5eEZRVUZOUXl4RlFVRlpReXhIUVVOd1JTeE5RVUZOTEVsQlFVbHlReXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVk9FUXNhVUpCUVcxQ0xGTkJRVk5JTEVWQlFVMURMRVZCUVZsRExFZEJRMnhGTEUxQlFVMHNTVUZCU1hKRExFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUjNoRU1VTXNSVUY2VG5OQ0xFdEJOazQ1UWtrc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEViMk4xYldWdWRDNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxyLGksbixvLHMsaCx1LGMsYSxwLGwsZCx3LHksZix2LEwsbSxOLEQsTyxiPXt9Lmhhc093blByb3BlcnR5O089cmVxdWlyZShcIi4vVXRpbGl0eVwiKSxOPU8uaXNPYmplY3QsbT1PLmlzRnVuY3Rpb24sRD1PLmlzUGxhaW5PYmplY3QsTD1PLmdldFZhbHVlLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscD1yZXF1aXJlKFwiLi9YTUxEb2N1bWVudFwiKSxsPXJlcXVpcmUoXCIuL1hNTEVsZW1lbnRcIiksaT1yZXF1aXJlKFwiLi9YTUxDRGF0YVwiKSxuPXJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIiksdz1yZXF1aXJlKFwiLi9YTUxSYXdcIiksdj1yZXF1aXJlKFwiLi9YTUxUZXh0XCIpLGQ9cmVxdWlyZShcIi4vWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uXCIpLGM9cmVxdWlyZShcIi4vWE1MRGVjbGFyYXRpb25cIiksYT1yZXF1aXJlKFwiLi9YTUxEb2NUeXBlXCIpLG89cmVxdWlyZShcIi4vWE1MRFREQXR0TGlzdFwiKSxoPXJlcXVpcmUoXCIuL1hNTERUREVudGl0eVwiKSxzPXJlcXVpcmUoXCIuL1hNTERUREVsZW1lbnRcIiksdT1yZXF1aXJlKFwiLi9YTUxEVEROb3RhdGlvblwiKSxyPXJlcXVpcmUoXCIuL1hNTEF0dHJpYnV0ZVwiKSxmPXJlcXVpcmUoXCIuL1hNTFN0cmluZ2lmaWVyXCIpLHk9cmVxdWlyZShcIi4vWE1MU3RyaW5nV3JpdGVyXCIpLGU9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBPKGUscixpKXt2YXIgbjt0aGlzLm5hbWU9XCI/eG1sXCIsdGhpcy50eXBlPXQuRG9jdW1lbnQsZXx8KGU9e30pLG49e30sZS53cml0ZXI/RChlLndyaXRlcikmJihuPWUud3JpdGVyLGUud3JpdGVyPW5ldyB5KTplLndyaXRlcj1uZXcgeSx0aGlzLm9wdGlvbnM9ZSx0aGlzLndyaXRlcj1lLndyaXRlcix0aGlzLndyaXRlck9wdGlvbnM9dGhpcy53cml0ZXIuZmlsdGVyT3B0aW9ucyhuKSx0aGlzLnN0cmluZ2lmeT1uZXcgZihlKSx0aGlzLm9uRGF0YUNhbGxiYWNrPXJ8fGZ1bmN0aW9uKCl7fSx0aGlzLm9uRW5kQ2FsbGJhY2s9aXx8ZnVuY3Rpb24oKXt9LHRoaXMuY3VycmVudE5vZGU9bnVsbCx0aGlzLmN1cnJlbnRMZXZlbD0tMSx0aGlzLm9wZW5UYWdzPXt9LHRoaXMuZG9jdW1lbnRTdGFydGVkPSExLHRoaXMuZG9jdW1lbnRDb21wbGV0ZWQ9ITEsdGhpcy5yb290PW51bGx9cmV0dXJuIE8ucHJvdG90eXBlLmNyZWF0ZUNoaWxkTm9kZT1mdW5jdGlvbihlKXt2YXIgcixpLG4sbyxzLGgsdSxjO3N3aXRjaChlLnR5cGUpe2Nhc2UgdC5DRGF0YTp0aGlzLmNkYXRhKGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5Db21tZW50OnRoaXMuY29tbWVudChlLnZhbHVlKTticmVhaztjYXNlIHQuRWxlbWVudDpmb3IoaSBpbiBuPXt9LHU9ZS5hdHRyaWJzKWIuY2FsbCh1LGkpJiYocj11W2ldLG5baV09ci52YWx1ZSk7dGhpcy5ub2RlKGUubmFtZSxuKTticmVhaztjYXNlIHQuRHVtbXk6dGhpcy5kdW1teSgpO2JyZWFrO2Nhc2UgdC5SYXc6dGhpcy5yYXcoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LlRleHQ6dGhpcy50ZXh0KGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb246dGhpcy5pbnN0cnVjdGlvbihlLnRhcmdldCxlLnZhbHVlKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcIlRoaXMgWE1MIG5vZGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGluIGEgSlMgb2JqZWN0OiBcIitlLmNvbnN0cnVjdG9yLm5hbWUpfWZvcihzPTAsaD0oYz1lLmNoaWxkcmVuKS5sZW5ndGg7czxoO3MrKylvPWNbc10sdGhpcy5jcmVhdGVDaGlsZE5vZGUobyksby50eXBlPT09dC5FbGVtZW50JiZ0aGlzLnVwKCk7cmV0dXJuIHRoaXN9LE8ucHJvdG90eXBlLmR1bW15PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LE8ucHJvdG90eXBlLm5vZGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBpO2lmKG51bGw9PXQpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBub2RlIG5hbWUuXCIpO2lmKHRoaXMucm9vdCYmLTE9PT10aGlzLmN1cnJlbnRMZXZlbCl0aHJvdyBuZXcgRXJyb3IoXCJEb2N1bWVudCBjYW4gb25seSBoYXZlIG9uZSByb290IG5vZGUuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHQ9TCh0KSxudWxsPT1lJiYoZT17fSksZT1MKGUpLE4oZSl8fChyPShpPVtlLHJdKVswXSxlPWlbMV0pLHRoaXMuY3VycmVudE5vZGU9bmV3IGwodGhpcyx0LGUpLHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITEsdGhpcy5jdXJyZW50TGV2ZWwrKyx0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXT10aGlzLmN1cnJlbnROb2RlLG51bGwhPXImJnRoaXMudGV4dChyKSx0aGlzfSxPLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKGUscixpKXt2YXIgbixvLHMsaCx1LGM7aWYodGhpcy5jdXJyZW50Tm9kZSYmdGhpcy5jdXJyZW50Tm9kZS50eXBlPT09dC5Eb2NUeXBlKXRoaXMuZHRkRWxlbWVudC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpfHxOKGUpfHxtKGUpKWZvcihoPXRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24sdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj0hMCwoYz1uZXcgcCh0aGlzLm9wdGlvbnMpLmVsZW1lbnQoXCJURU1QX1JPT1RcIikpLmVsZW1lbnQoZSksdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj1oLG89MCxzPSh1PWMuY2hpbGRyZW4pLmxlbmd0aDtvPHM7bysrKW49dVtvXSx0aGlzLmNyZWF0ZUNoaWxkTm9kZShuKSxuLnR5cGU9PT10LkVsZW1lbnQmJnRoaXMudXAoKTtlbHNlIHRoaXMubm9kZShlLHIsaSk7cmV0dXJuIHRoaXN9LE8ucHJvdG90eXBlLmF0dHJpYnV0ZT1mdW5jdGlvbih0LGUpe3ZhciBpLG47aWYoIXRoaXMuY3VycmVudE5vZGV8fHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW4pdGhyb3cgbmV3IEVycm9yKFwiYXR0KCkgY2FuIG9ubHkgYmUgdXNlZCBpbW1lZGlhdGVseSBhZnRlciBhbiBlbGUoKSBjYWxsIGluIGNhbGxiYWNrIG1vZGUuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtpZihudWxsIT10JiYodD1MKHQpKSxOKHQpKWZvcihpIGluIHQpYi5jYWxsKHQsaSkmJihuPXRbaV0sdGhpcy5hdHRyaWJ1dGUoaSxuKSk7ZWxzZSBtKGUpJiYoZT1lLmFwcGx5KCkpLHRoaXMub3B0aW9ucy5rZWVwTnVsbEF0dHJpYnV0ZXMmJm51bGw9PWU/dGhpcy5jdXJyZW50Tm9kZS5hdHRyaWJzW3RdPW5ldyByKHRoaXMsdCxcIlwiKTpudWxsIT1lJiYodGhpcy5jdXJyZW50Tm9kZS5hdHRyaWJzW3RdPW5ldyByKHRoaXMsdCxlKSk7cmV0dXJuIHRoaXN9LE8ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyB2KHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIudGV4dChlLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IGkodGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5jZGF0YShlLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgbih0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmNvbW1lbnQoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgdyh0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnJhdyhlLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5pbnN0cnVjdGlvbj1mdW5jdGlvbih0LGUpe3ZhciByLGksbixvLHM7aWYodGhpcy5vcGVuQ3VycmVudCgpLG51bGwhPXQmJih0PUwodCkpLG51bGwhPWUmJihlPUwoZSkpLEFycmF5LmlzQXJyYXkodCkpZm9yKHI9MCxvPXQubGVuZ3RoO3I8bztyKyspaT10W3JdLHRoaXMuaW5zdHJ1Y3Rpb24oaSk7ZWxzZSBpZihOKHQpKWZvcihpIGluIHQpYi5jYWxsKHQsaSkmJihuPXRbaV0sdGhpcy5pbnN0cnVjdGlvbihpLG4pKTtlbHNlIG0oZSkmJihlPWUuYXBwbHkoKSkscz1uZXcgZCh0aGlzLHQsZSksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIucHJvY2Vzc2luZ0luc3RydWN0aW9uKHMsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LGUscil7dmFyIGk7aWYodGhpcy5vcGVuQ3VycmVudCgpLHRoaXMuZG9jdW1lbnRTdGFydGVkKXRocm93IG5ldyBFcnJvcihcImRlY2xhcmF0aW9uKCkgbXVzdCBiZSB0aGUgZmlyc3Qgbm9kZS5cIik7cmV0dXJuIGk9bmV3IGModGhpcyx0LGUsciksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZGVjbGFyYXRpb24oaSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuZG9jdHlwZT1mdW5jdGlvbih0LGUscil7aWYodGhpcy5vcGVuQ3VycmVudCgpLG51bGw9PXQpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyByb290IG5vZGUgbmFtZS5cIik7aWYodGhpcy5yb290KXRocm93IG5ldyBFcnJvcihcImR0ZCgpIG11c3QgY29tZSBiZWZvcmUgdGhlIHJvb3Qgbm9kZS5cIik7cmV0dXJuIHRoaXMuY3VycmVudE5vZGU9bmV3IGEodGhpcyxlLHIpLHRoaXMuY3VycmVudE5vZGUucm9vdE5vZGVOYW1lPXQsdGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj0hMSx0aGlzLmN1cnJlbnRMZXZlbCsrLHRoaXMub3BlblRhZ3NbdGhpcy5jdXJyZW50TGV2ZWxdPXRoaXMuY3VycmVudE5vZGUsdGhpc30sTy5wcm90b3R5cGUuZHRkRWxlbWVudD1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscj1uZXcgcyh0aGlzLHQsZSksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkRWxlbWVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5hdHRMaXN0PWZ1bmN0aW9uKHQsZSxyLGksbil7dmFyIHM7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxzPW5ldyBvKHRoaXMsdCxlLHIsaSxuKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRBdHRMaXN0KHMsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmVudGl0eT1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscj1uZXcgaCh0aGlzLCExLHQsZSksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkRW50aXR5KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnBFbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IGgodGhpcywhMCx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVudGl0eShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5ub3RhdGlvbj1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscj1uZXcgdSh0aGlzLHQsZSksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkTm90YXRpb24ocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUudXA9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnJlbnRMZXZlbDwwKXRocm93IG5ldyBFcnJvcihcIlRoZSBkb2N1bWVudCBub2RlIGhhcyBubyBwYXJlbnQuXCIpO3JldHVybiB0aGlzLmN1cnJlbnROb2RlPyh0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuP3RoaXMuY2xvc2VOb2RlKHRoaXMuY3VycmVudE5vZGUpOnRoaXMub3Blbk5vZGUodGhpcy5jdXJyZW50Tm9kZSksdGhpcy5jdXJyZW50Tm9kZT1udWxsKTp0aGlzLmNsb3NlTm9kZSh0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXSksZGVsZXRlIHRoaXMub3BlblRhZ3NbdGhpcy5jdXJyZW50TGV2ZWxdLHRoaXMuY3VycmVudExldmVsLS0sdGhpc30sTy5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmN1cnJlbnRMZXZlbD49MDspdGhpcy51cCgpO3JldHVybiB0aGlzLm9uRW5kKCl9LE8ucHJvdG90eXBlLm9wZW5DdXJyZW50PWZ1bmN0aW9uKCl7aWYodGhpcy5jdXJyZW50Tm9kZSlyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj0hMCx0aGlzLm9wZW5Ob2RlKHRoaXMuY3VycmVudE5vZGUpfSxPLnByb3RvdHlwZS5vcGVuTm9kZT1mdW5jdGlvbihyKXt2YXIgaSxuLG8scztpZighci5pc09wZW4pe2lmKHRoaXMucm9vdHx8MCE9PXRoaXMuY3VycmVudExldmVsfHxyLnR5cGUhPT10LkVsZW1lbnR8fCh0aGlzLnJvb3Q9ciksbj1cIlwiLHIudHlwZT09PXQuRWxlbWVudCl7Zm9yKG8gaW4gdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuT3BlblRhZyxuPXRoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCI8XCIrci5uYW1lLHM9ci5hdHRyaWJzKWIuY2FsbChzLG8pJiYoaT1zW29dLG4rPXRoaXMud3JpdGVyLmF0dHJpYnV0ZShpLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkpO24rPShyLmNoaWxkcmVuP1wiPlwiOlwiLz5cIikrdGhpcy53cml0ZXIuZW5kbGluZShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCksdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuSW5zaWRlVGFnfWVsc2UgdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuT3BlblRhZyxuPXRoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCI8IURPQ1RZUEUgXCIrci5yb290Tm9kZU5hbWUsci5wdWJJRCYmci5zeXNJRD9uKz0nIFBVQkxJQyBcIicrci5wdWJJRCsnXCIgXCInK3Iuc3lzSUQrJ1wiJzpyLnN5c0lEJiYobis9JyBTWVNURU0gXCInK3Iuc3lzSUQrJ1wiJyksci5jaGlsZHJlbj8obis9XCIgW1wiLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkluc2lkZVRhZyk6KHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkNsb3NlVGFnLG4rPVwiPlwiKSxuKz10aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKTtyZXR1cm4gdGhpcy5vbkRhdGEobix0aGlzLmN1cnJlbnRMZXZlbCksci5pc09wZW49ITB9fSxPLnByb3RvdHlwZS5jbG9zZU5vZGU9ZnVuY3Rpb24ocil7dmFyIGk7aWYoIXIuaXNDbG9zZWQpcmV0dXJuIGk9XCJcIix0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5DbG9zZVRhZyxpPXIudHlwZT09PXQuRWxlbWVudD90aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPC9cIityLm5hbWUrXCI+XCIrdGhpcy53cml0ZXIuZW5kbGluZShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCk6dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIl0+XCIrdGhpcy53cml0ZXIuZW5kbGluZShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCksdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuTm9uZSx0aGlzLm9uRGF0YShpLHRoaXMuY3VycmVudExldmVsKSxyLmlzQ2xvc2VkPSEwfSxPLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5kb2N1bWVudFN0YXJ0ZWQ9ITAsdGhpcy5vbkRhdGFDYWxsYmFjayh0LGUrMSl9LE8ucHJvdG90eXBlLm9uRW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnRDb21wbGV0ZWQ9ITAsdGhpcy5vbkVuZENhbGxiYWNrKCl9LE8ucHJvdG90eXBlLmRlYnVnSW5mbz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9cIlwiOlwibm9kZTogPFwiK3QrXCI+XCJ9LE8ucHJvdG90eXBlLmVsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPLnByb3RvdHlwZS5ub2Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLm5vZGUodCxlLHIpfSxPLnByb3RvdHlwZS50eHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sTy5wcm90b3R5cGUuZGF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNkYXRhKHQpfSxPLnByb3RvdHlwZS5jb209ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29tbWVudCh0KX0sTy5wcm90b3R5cGUuaW5zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuaW5zdHJ1Y3Rpb24odCxlKX0sTy5wcm90b3R5cGUuZGVjPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5kZWNsYXJhdGlvbih0LGUscil9LE8ucHJvdG90eXBlLmR0ZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZG9jdHlwZSh0LGUscil9LE8ucHJvdG90eXBlLmU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmVsZW1lbnQodCxlLHIpfSxPLnByb3RvdHlwZS5uPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxyKX0sTy5wcm90b3R5cGUudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXh0KHQpfSxPLnByb3RvdHlwZS5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNkYXRhKHQpfSxPLnByb3RvdHlwZS5jPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LE8ucHJvdG90eXBlLnI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmF3KHQpfSxPLnByb3RvdHlwZS5pPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuaW5zdHJ1Y3Rpb24odCxlKX0sTy5wcm90b3R5cGUuYXR0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VycmVudE5vZGUmJnRoaXMuY3VycmVudE5vZGUudHlwZT09PXQuRG9jVHlwZT90aGlzLmF0dExpc3QuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYXR0cmlidXRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTy5wcm90b3R5cGUuYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnROb2RlJiZ0aGlzLmN1cnJlbnROb2RlLnR5cGU9PT10LkRvY1R5cGU/dGhpcy5hdHRMaXN0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmF0dHJpYnV0ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE8ucHJvdG90eXBlLmVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVudGl0eSh0LGUpfSxPLnByb3RvdHlwZS5wZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucEVudGl0eSh0LGUpfSxPLnByb3RvdHlwZS5ub3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5ub3RhdGlvbih0LGUpfSxPfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJ2WTNWdFpXNTBRMEl1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pYY21sMFpYSlRkR0YwWlNJc0lsaE5URUYwZEhKcFluVjBaU0lzSWxoTlRFTkVZWFJoSWl3aVdFMU1RMjl0YldWdWRDSXNJbGhOVEVSVVJFRjBkRXhwYzNRaUxDSllUVXhFVkVSRmJHVnRaVzUwSWl3aVdFMU1SRlJFUlc1MGFYUjVJaXdpV0UxTVJGUkVUbTkwWVhScGIyNGlMQ0pZVFV4RVpXTnNZWEpoZEdsdmJpSXNJbGhOVEVSdlkxUjVjR1VpTENKWVRVeEViMk4xYldWdWRDSXNJbGhOVEVWc1pXMWxiblFpTENKWVRVeFFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKWVRVeFNZWGNpTENKWVRVeFRkSEpwYm1kWGNtbDBaWElpTENKWVRVeFRkSEpwYm1kcFptbGxjaUlzSWxoTlRGUmxlSFFpTENKblpYUldZV3gxWlNJc0ltbHpSblZ1WTNScGIyNGlMQ0pwYzA5aWFtVmpkQ0lzSW1selVHeGhhVzVQWW1wbFkzUWlMQ0p5WldZaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbGhOVEVSdlkzVnRaVzUwUTBJaUxDSnZjSFJwYjI1eklpd2liMjVFWVhSaElpd2liMjVGYm1RaUxDSjNjbWwwWlhKUGNIUnBiMjV6SWl3aWRHaHBjeUlzSW01aGJXVWlMQ0owZVhCbElpd2lSRzlqZFcxbGJuUWlMQ0ozY21sMFpYSWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklpd2ljM1J5YVc1bmFXWjVJaXdpYjI1RVlYUmhRMkZzYkdKaFkyc2lMQ0p2YmtWdVpFTmhiR3hpWVdOcklpd2lZM1Z5Y21WdWRFNXZaR1VpTENKamRYSnlaVzUwVEdWMlpXd2lMQ0p2Y0dWdVZHRm5jeUlzSW1SdlkzVnRaVzUwVTNSaGNuUmxaQ0lzSW1SdlkzVnRaVzUwUTI5dGNHeGxkR1ZrSWl3aWNtOXZkQ0lzSW5CeWIzUnZkSGx3WlNJc0ltTnlaV0YwWlVOb2FXeGtUbTlrWlNJc0ltNXZaR1VpTENKaGRIUWlMQ0poZEhST1lXMWxJaXdpWVhSMGNtbGlkWFJsY3lJc0ltTm9hV3hrSWl3aWFTSXNJbXhsYmlJc0luSmxaakVpTENKeVpXWXlJaXdpUTBSaGRHRWlMQ0pqWkdGMFlTSXNJblpoYkhWbElpd2lRMjl0YldWdWRDSXNJbU52YlcxbGJuUWlMQ0pGYkdWdFpXNTBJaXdpWVhSMGNtbGljeUlzSW1OaGJHd2lMQ0pFZFcxdGVTSXNJbVIxYlcxNUlpd2lVbUYzSWl3aWNtRjNJaXdpVkdWNGRDSXNJblJsZUhRaUxDSlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKcGJuTjBjblZqZEdsdmJpSXNJblJoY21kbGRDSXNJa1Z5Y205eUlpd2lZMjl1YzNSeWRXTjBiM0lpTENKamFHbHNaSEpsYmlJc0lteGxibWQwYUNJc0luVndJaXdpWkdWaWRXZEpibVp2SWl3aWIzQmxia04xY25KbGJuUWlMQ0psYkdWdFpXNTBJaXdpYjJ4a1ZtRnNhV1JoZEdsdmJrWnNZV2NpTENKRWIyTlVlWEJsSWl3aVpIUmtSV3hsYldWdWRDSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpUVhKeVlYa2lMQ0pwYzBGeWNtRjVJaXdpYm05V1lXeHBaR0YwYVc5dUlpd2lZWFIwY21saWRYUmxJaXdpWVhSMFZtRnNkV1VpTENKclpXVndUblZzYkVGMGRISnBZblYwWlhNaUxDSnBibk5VWVhKblpYUWlMQ0pwYm5OV1lXeDFaU0lzSW5CeWIyTmxjM05wYm1kSmJuTjBjblZqZEdsdmJpSXNJbVJsWTJ4aGNtRjBhVzl1SWl3aWRtVnljMmx2YmlJc0ltVnVZMjlrYVc1bklpd2ljM1JoYm1SaGJHOXVaU0lzSW1SdlkzUjVjR1VpTENKd2RXSkpSQ0lzSW5ONWMwbEVJaXdpY205dmRFNXZaR1ZPWVcxbElpd2lZWFIwVEdsemRDSXNJbVZzWlcxbGJuUk9ZVzFsSWl3aVlYUjBjbWxpZFhSbFRtRnRaU0lzSW1GMGRISnBZblYwWlZSNWNHVWlMQ0prWldaaGRXeDBWbUZzZFdWVWVYQmxJaXdpWkdWbVlYVnNkRlpoYkhWbElpd2laSFJrUVhSMFRHbHpkQ0lzSW1WdWRHbDBlU0lzSW1SMFpFVnVkR2wwZVNJc0luQkZiblJwZEhraUxDSnViM1JoZEdsdmJpSXNJbVIwWkU1dmRHRjBhVzl1SWl3aVkyeHZjMlZPYjJSbElpd2liM0JsYms1dlpHVWlMQ0psYm1RaUxDSmphSFZ1YXlJc0ltbHpUM0JsYmlJc0luTjBZWFJsSWl3aVQzQmxibFJoWnlJc0ltbHVaR1Z1ZENJc0ltVnVaR3hwYm1VaUxDSkpibk5wWkdWVVlXY2lMQ0pEYkc5elpWUmhaeUlzSW1selEyeHZjMlZrSWl3aVRtOXVaU0lzSW14bGRtVnNJaXdpWld4bElpd2libTlrSWl3aWRIaDBJaXdpWkdGMElpd2lZMjl0SWl3aWFXNXpJaXdpWkdWaklpd2laSFJrSWl3aVpTSXNJbTRpTENKMElpd2laQ0lzSW1NaUxDSnlJaXdpWVNJc0ltVnVkQ0lzSW5CbGJuUWlMQ0p1YjNRaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCVlVNc1JVRkJZVU1zUlVGQlkwTXNSVUZCVlVNc1JVRkJXVU1zUlVGQlpVTXNSVUZCWlVNc1JVRkJZME1zUlVGQlowSkRMRVZCUVdkQ1F5eEZRVUZaUXl4RlFVRTBRa01zUlVGQldVTXNSVUZCTUVKRExFVkJRVkZETEVWQlFXbENReXhGUVVGblFrTXNSVUZCVTBNc1JVRkJWVU1zUlVGQldVTXNSVUZCVlVNc1JVRkJaVU1zUlVGRGVGUkRMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVFVjc1VVRkJVU3hoUVVGalRDeEZRVUZYUlN4RlFVRkpSaXhUUVVGVlJDeEZRVUZoUnl4RlFVRkpTQ3hYUVVGWlJTeEZRVUZuUWtNc1JVRkJTVVFzWTBGQlpVZ3NSVUZCVjBrc1JVRkJTVW9zVTBGRmNFbHNRaXhGUVVGWGVVSXNVVUZCVVN4alFVVnVRbVFzUlVGQlkyTXNVVUZCVVN4cFFrRkZkRUppTEVWQlFXRmhMRkZCUVZFc1owSkJSWEpDZEVJc1JVRkJWM05DTEZGQlFWRXNZMEZGYmtKeVFpeEZRVUZoY1VJc1VVRkJVU3huUWtGRmNrSllMRVZCUVZOWExGRkJRVkVzV1VGRmFrSlNMRVZCUVZWUkxGRkJRVkVzWVVGRmJFSmFMRVZCUVRKQ1dTeFJRVUZSTERoQ1FVVnVRMmhDTEVWQlFXbENaMElzVVVGQlVTeHZRa0ZGZWtKbUxFVkJRV0ZsTEZGQlFWRXNaMEpCUlhKQ2NFSXNSVUZCWjBKdlFpeFJRVUZSTEcxQ1FVVjRRbXhDTEVWQlFXVnJRaXhSUVVGUkxHdENRVVYyUW01Q0xFVkJRV2RDYlVJc1VVRkJVU3h0UWtGRmVFSnFRaXhGUVVGcFFtbENMRkZCUVZFc2IwSkJSWHBDZGtJc1JVRkJaWFZDTEZGQlFWRXNhMEpCUlhaQ1ZDeEZRVUZwUWxNc1VVRkJVU3h2UWtGRmVrSldMRVZCUVd0Q1ZTeFJRVUZSTEhGQ1FVVXhRbmhDTEVWQlFXTjNRaXhSUVVGUkxHbENRVVYwUWtNc1QwRkJUME1zVVVGQk1FSXNWMEZETDBJc1UwRkJVME1zUlVGQlkwTXNSVUZCVTBNc1JVRkJVVU1zUjBGRGRFTXNTVUZCU1VNc1JVRkRTa01zUzBGQlMwTXNTMEZCVHl4UFFVTmFSQ3hMUVVGTFJTeExRVUZQYmtNc1JVRkJVMjlETEZOQlEzSkNVQ3hKUVVGWlFTeEZRVUZWTEVsQlEzUkNSeXhGUVVGblFpeEhRVU5ZU0N4RlFVRlJVU3hQUVVWR2FFSXNSVUZCWTFFc1JVRkJVVkVzVlVGREwwSk1MRVZCUVdkQ1NDeEZRVUZSVVN4UFFVTjRRbElzUlVGQlVWRXNUMEZCVXl4SlFVRkpkRUlzUjBGSWNrSmpMRVZCUVZGUkxFOUJRVk1zU1VGQlNYUkNMRVZCUzNaQ2EwSXNTMEZCUzBvc1VVRkJWVUVzUlVGRFpra3NTMEZCUzBrc1QwRkJVMUlzUlVGQlVWRXNUMEZEZEVKS0xFdEJRVXRFTEdOQlFXZENReXhMUVVGTFNTeFBRVUZQUXl4alFVRmpUaXhIUVVNdlEwTXNTMEZCUzAwc1ZVRkJXU3hKUVVGSmRrSXNSVUZCWldFc1IwRkRjRU5KTEV0QlFVdFBMR1ZCUVdsQ1ZpeEhRVUZWTEdGQlEyaERSeXhMUVVGTFVTeGpRVUZuUWxZc1IwRkJVeXhoUVVNNVFrVXNTMEZCUzFNc1dVRkJZeXhMUVVOdVFsUXNTMEZCUzFVc1kwRkJaMElzUlVGRGNrSldMRXRCUVV0WExGTkJRVmNzUjBGRGFFSllMRXRCUVV0WkxHbENRVUZyUWl4RlFVTjJRbG9zUzBGQlMyRXNiVUpCUVc5Q0xFVkJRM3BDWWl4TFFVRkxZeXhMUVVGUExFdEJkMk5rTEU5QmNtTkJia0lzUlVGQlkyOUNMRlZCUVZWRExHZENRVUZyUWl4VFFVRlRReXhIUVVOcVJDeEpRVUZKUXl4RlFVRkxReXhGUVVGVFF5eEZRVUZaUXl4RlFVRlBReXhGUVVGSFF5eEZRVUZMUXl4RlFVRk5ReXhGUVVOdVJDeFBRVUZSVWl4RlFVRkxaaXhOUVVOWUxFdEJRVXR1UXl4RlFVRlRNa1FzVFVGRFdqRkNMRXRCUVVzeVFpeE5RVUZOVml4RlFVRkxWeXhQUVVOb1FpeE5RVU5HTEV0QlFVczNSQ3hGUVVGVE9FUXNVVUZEV2pkQ0xFdEJRVXM0UWl4UlFVRlJZaXhGUVVGTFZ5eFBRVU5zUWl4TlFVTkdMRXRCUVVzM1JDeEZRVUZUWjBVc1VVRkhXaXhKUVVGTFdpeExRVVpNUXl4RlFVRmhMRWRCUTJKSkxFVkJRVTlRTEVWQlFVdGxMRkZCUlV3eFF5eEZRVUZSTWtNc1MwRkJTMVFzUlVGQlRVd3NTMEZEZUVKRUxFVkJRVTFOTEVWQlFVdE1MRWRCUTFoRExFVkJRVmRFTEVkQlFWZEVMRVZCUVVsVkxFOUJSVFZDTlVJc1MwRkJTMmxDTEV0QlFVdEJMRVZCUVV0b1FpeExRVUZOYlVJc1IwRkRja0lzVFVGRFJpeExRVUZMY2tRc1JVRkJVMjFGTEUxQlExcHNReXhMUVVGTGJVTXNVVUZEVEN4TlFVTkdMRXRCUVV0d1JTeEZRVUZUY1VVc1NVRkRXbkJETEV0QlFVdHhReXhKUVVGSmNFSXNSVUZCUzFjc1QwRkRaQ3hOUVVOR0xFdEJRVXMzUkN4RlFVRlRkVVVzUzBGRFduUkRMRXRCUVV0MVF5eExRVUZMZEVJc1JVRkJTMWNzVDBGRFppeE5RVU5HTEV0QlFVczNSQ3hGUVVGVGVVVXNjMEpCUTFwNFF5eExRVUZMZVVNc1dVRkJXWGhDTEVWQlFVdDVRaXhQUVVGUmVrSXNSVUZCUzFjc1QwRkRia01zVFVGRFJpeFJRVU5GTEUxQlFVMHNTVUZCU1dVc1RVRkJUU3gxUkVGQmVVUXhRaXhGUVVGTE1rSXNXVUZCV1RORExFMUJSemxHTEVsQlFVdHhRaXhGUVVGSkxFVkJRVWRETEVkQlJGcEZMRVZCUVU5U0xFVkJRVXMwUWl4VlFVTlhReXhQUVVGUmVFSXNSVUZCU1VNc1JVRkJTMFFzU1VGRGRFTkVMRVZCUVZGSkxFVkJRVXRJTEVkQlEySjBRaXhMUVVGTFowSXNaMEpCUVdkQ1N5eEhRVU5xUWtFc1JVRkJUVzVDTEU5QlFWTnVReXhGUVVGVFowVXNVMEZETVVJdlFpeExRVUZMSzBNc1MwRkhWQ3hQUVVGUEwwTXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVnZRaXhOUVVGUkxGZEJRemxDTEU5QlFVOXVReXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWVVVzUzBGQlR5eFRRVUZUYUVJc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVONFJDeEpRVUZKWml4RlFVTktMRWRCUVZrc1RVRkJVblpDTEVWQlEwWXNUVUZCVFN4SlFVRkpNRU1zVFVGQlRTeHpRa0ZGYkVJc1IwRkJTVE5ETEV0QlFVdGpMRTlCUVN0Q0xFbEJRWFpDWkN4TFFVRkxWU3hoUVVOd1FpeE5RVUZOTEVsQlFVbHBReXhOUVVGTkxIbERRVUV5UXpORExFdEJRVXRuUkN4VlFVRlZMME1zU1VGclFqVkZMRTlCYUVKQlJDeExRVUZMYVVRc1kwRkRUR2hFTEVWQlFVOW9RaXhGUVVGVFowSXNSMEZEUlN4TlFVRmtiVUlzU1VGRFJrRXNSVUZCWVN4SlFVVm1RU3hGUVVGaGJrTXNSVUZCVTIxRExFZEJRMnBDYWtNc1JVRkJVMmxETEV0QlEyVnRRaXhIUVVFelFtWXNSVUZCVHl4RFFVRkRTaXhGUVVGWmJVSXNTVUZCYlVJc1IwRkJTVzVDTEVWQlFXRkpMRVZCUVVzc1NVRkZMMFI0UWl4TFFVRkxVeXhaUVVGakxFbEJRVWs1UWl4RlFVRlhjVUlzUzBGQlRVTXNSVUZCVFcxQ0xFZEJRemxEY0VJc1MwRkJTMU1zV1VGQldXOURMRlZCUVZjc1JVRkROVUkzUXl4TFFVRkxWU3hsUVVOTVZpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeGpRVUZuUWxZc1MwRkJTMU1zV1VGRE5VSXNUVUZCVWpoQ0xFZEJRMFoyUXl4TFFVRkxkVU1zUzBGQlMwRXNSMEZGVEhaRExFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmJVTXNVVUZCVlN4VFFVRlRha1FzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVU16UkN4SlFVRkpiRUlzUlVGQlQwTXNSVUZCUjBNc1JVRkJTelJDTEVWQlFXMUNNMElzUlVGQlRWWXNSVUZETlVNc1IwRkJTV1FzUzBGQlMxTXNZVUZCWlZRc1MwRkJTMU1zV1VGQldWQXNUMEZCVTI1RExFVkJRVk54Uml4UlFVTjZSSEJFTEV0QlFVdHhSQ3hYUVVGWFF5eE5RVUZOZEVRc1MwRkJUWFZFTEdkQ1FVVTFRaXhIUVVGSlF5eE5RVUZOUXl4UlFVRlJlRVFzU1VGQlUyUXNSVUZCVTJNc1NVRkJVMllzUlVGQlYyVXNSMEZQZEVRc1NVRk9RV3RFTEVWQlFXOUNia1FzUzBGQlMwb3NVVUZCVVRoRUxHRkJRMnBETVVRc1MwRkJTMG9zVVVGQlVUaEVMR05CUVdVc1IwRkROVUkxUXl4RlFVRlBMRWxCUVVsd1F5eEZRVUZaYzBJc1MwRkJTMG9zVTBGQlUzTkVMRkZCUVZFc1kwRkRlRU5CTEZGQlFWRnFSQ3hIUVVOaVJDeExRVUZMU2l4UlFVRlJPRVFzWVVGQlpWQXNSVUZGZGtJM1FpeEZRVUZKTEVWQlFVZERMRWRCUkZwRExFVkJRVTlXTEVWQlFVc3JRaXhWUVVOWFF5eFBRVUZSZUVJc1JVRkJTVU1zUlVGQlMwUXNTVUZEZEVORUxFVkJRVkZITEVWQlFVdEdMRWRCUTJKMFFpeExRVUZMWjBJc1owSkJRV2RDU3l4SFFVTnFRa0VzUlVGQlRXNUNMRTlCUVZOdVF5eEZRVUZUWjBVc1UwRkRNVUl2UWl4TFFVRkxLME1zVlVGSlZDOURMRXRCUVV0cFFpeExRVUZMYUVJc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVkb1F5eFBRVUZQZGtNc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZVMFF5eFZRVUZaTEZOQlFWTXhSQ3hGUVVGTk1rSXNSMEZEYWtRc1NVRkJTVlFzUlVGQlUzbERMRVZCUTJJc1NVRkJTelZFTEV0QlFVdFRMR0ZCUVdWVUxFdEJRVXRUTEZsQlFWbHZReXhUUVVONFF5eE5RVUZOTEVsQlFVbEdMRTFCUVUwc05FVkJRVGhGTTBNc1MwRkJTMmRFTEZWQlFWVXZReXhKUVVzdlJ5eEhRVWhaTEUxQlFWSkJMRWxCUTBaQkxFVkJRVTlvUWl4RlFVRlRaMElzU1VGRlpHUXNSVUZCVTJNc1IwRkRXQ3hKUVVGTGEwSXNTMEZCVjJ4Q0xFVkJRMVJZTEVWQlFWRXlReXhMUVVGTGFFTXNSVUZCVFd0Q0xFdEJRM2hDZVVNc1JVRkJWek5FTEVWQlFVdHJRaXhIUVVOb1FtNUNMRXRCUVVzeVJDeFZRVUZWZUVNc1JVRkJVM2xETEZOQlIzUkNNVVVzUlVGQlZ6QkRMRXRCUTJKQkxFVkJRVkZCTEVWQlFVMHdRaXhUUVVWYWRFUXNTMEZCUzBvc1VVRkJVV2xGTEc5Q1FVRm5ReXhOUVVGVWFrTXNSVUZEZEVNMVFpeExRVUZMVXl4WlFVRlpkVUlzVVVGQlVTOUNMRWRCUVZFc1NVRkJTV2hETEVWQlFXRXJRaXhMUVVGTlF5eEZRVUZOTEVsQlF6VkRMRTFCUVZReVFpeEpRVU5VTlVJc1MwRkJTMU1zV1VGQldYVkNMRkZCUVZFdlFpeEhRVUZSTEVsQlFVbG9ReXhGUVVGaEswSXNTMEZCVFVNc1JVRkJUVEpDTEVsQlIyeEZMRTlCUVU4MVFpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZYZENMRXRCUVU4c1UwRkJVMWdzUjBGRGRFTXNTVUZCU1Znc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVscVF5eEZRVUZSWjBJc1MwRkJUVFJDTEVkQlEzcENOVUlzUzBGQlMwZ3NUMEZCVDBjc1MwRkJTMGtzVDBGQlQyMURMRXRCUVV0MFFpeEZRVUZOYWtJc1MwRkJTMFFzWTBGQlpVTXNTMEZCUzFVc1lVRkJaU3hIUVVGSlZpeExRVUZMVlN4aFFVRmxMRWRCUXpWR1ZpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZWa3NUVUZCVVN4VFFVRlRReXhIUVVOMlF5eEpRVUZKV0N4RlFVbEtMRTlCU0VGcVFpeExRVUZMYVVRc1kwRkRUR2hETEVWQlFVOHNTVUZCU1M5RExFVkJRVk00UWl4TFFVRk5ORUlzUjBGRE1VSTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUGRVSXNUVUZCVFZZc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU0zUmxZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWbExGRkJRVlVzVTBGQlUwWXNSMEZEZWtNc1NVRkJTVmdzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWs1UXl4RlFVRlhOa0lzUzBGQlRUUkNMRWRCUXpWQ05VSXNTMEZCUzBnc1QwRkJUMGNzUzBGQlMwa3NUMEZCVHpCQ0xGRkJRVkZpTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRMMFpXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYzBJc1NVRkJUU3hUUVVGVFZDeEhRVU55UXl4SlFVRkpXQ3hGUVVsS0xFOUJTRUZxUWl4TFFVRkxhVVFzWTBGRFRHaERMRVZCUVU4c1NVRkJTWEJETEVWQlFVOXRRaXhMUVVGTk5FSXNSMEZEZUVJMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQYVVNc1NVRkJTWEJDTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRNMFpXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWTUVJc1dVRkJZeXhUUVVGVFF5eEZRVUZSWkN4SFFVTnlSQ3hKUVVGSlRpeEZRVUZIZDBNc1JVRkJWME1zUlVGQlZYaERMRVZCUVV0T0xFVkJVV3BETEVkQlVFRnFRaXhMUVVGTGFVUXNZMEZEVXl4TlFVRldVQ3hKUVVOR1FTeEZRVUZUZWtRc1JVRkJVM2xFTEVsQlJWQXNUVUZCVkdRc1NVRkRSa0VzUlVGQlVUTkRMRVZCUVZNeVF5eEpRVVZtTkVJc1RVRkJUVU1zVVVGQlVXWXNSMEZEYUVJc1NVRkJTM0JDTEVWQlFVa3NSVUZCUjBNc1JVRkJUVzFDTEVWQlFVOUpMRTlCUVZGNFFpeEZRVUZKUXl4RlFVRkxSQ3hKUVVONFEzZERMRVZCUVZsd1FpeEZRVUZQY0VJc1IwRkRia0owUWl4TFFVRkxlVU1zV1VGQldYRkNMRkZCUldRc1IwRkJTVE5GTEVWQlFWTjFSQ3hIUVVOc1FpeEpRVUZMYjBJc1MwRkJZWEJDTEVWQlExaHdSQ3hGUVVGUk1rTXNTMEZCUzFNc1JVRkJVVzlDTEV0QlF6RkNReXhGUVVGWGNrSXNSVUZCVDI5Q0xFZEJRMnhDT1VRc1MwRkJTM2xETEZsQlFWbHhRaXhGUVVGWFF5eFRRVWN4UWpkRkxFVkJRVmN3UXl4TFFVTmlRU3hGUVVGUlFTeEZRVUZOTUVJc1UwRkZhRUp5UXl4RlFVRlBMRWxCUVVseVF5eEZRVUY1UW05Q0xFdEJRVTB3UXl4RlFVRlJaQ3hIUVVOc1JEVkNMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU4MFJDeHpRa0ZCYzBJdlF5eEZRVUZOYWtJc1MwRkJTMFFzWTBGQlpVTXNTMEZCUzFVc1lVRkJaU3hIUVVGSlZpeExRVUZMVlN4aFFVRmxMRWRCUlhSSUxFOUJRVTlXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYTBRc1dVRkJZeXhUUVVGVFF5eEZRVUZUUXl4RlFVRlZReXhIUVVOb1JTeEpRVUZKYmtRc1JVRkZTaXhIUVVSQmFrSXNTMEZCUzJsRUxHTkJRMFJxUkN4TFFVRkxXU3huUWtGRFVDeE5RVUZOTEVsQlFVa3JRaXhOUVVGTkxIbERRVWxzUWl4UFFVWkJNVUlzUlVGQlR5eEpRVUZKZWtNc1JVRkJaWGRDTEV0QlFVMXJSU3hGUVVGVFF5eEZRVUZWUXl4SFFVTnVSSEJGTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVODJSQ3haUVVGWmFFUXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVOdVIxWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVnpSQ3hSUVVGVkxGTkJRVk4yUkN4RlFVRk5kMFFzUlVGQlQwTXNSMEZGZEVRc1IwRkVRWFpGTEV0QlFVdHBSQ3hqUVVOUExFMUJRVkp1UXl4RlFVTkdMRTFCUVUwc1NVRkJTVFpDTEUxQlFVMHNNa0pCUld4Q0xFZEJRVWt6UXl4TFFVRkxZeXhMUVVOUUxFMUJRVTBzU1VGQlNUWkNMRTFCUVUwc2VVTkJUMnhDTEU5QlRFRXpReXhMUVVGTFV5eFpRVUZqTEVsQlFVbG9ReXhGUVVGWGRVSXNTMEZCVFhORkxFVkJRVTlETEVkQlF5OURka1VzUzBGQlMxTXNXVUZCV1N0RUxHRkJRV1V4UkN4RlFVTm9RMlFzUzBGQlMxTXNXVUZCV1c5RExGVkJRVmNzUlVGRE5VSTNReXhMUVVGTFZTeGxRVU5NVml4TFFVRkxWeXhUUVVGVFdDeExRVUZMVlN4alFVRm5RbFlzUzBGQlMxTXNXVUZEYWtOVUxFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmMwTXNWMEZCWVN4VFFVRlRjRVFzUlVGQlRUSkNMRWRCUTJ4RUxFbEJRVWxZTEVWQlNVb3NUMEZJUVdwQ0xFdEJRVXRwUkN4alFVTk1hRU1zUlVGQlR5eEpRVUZKTlVNc1JVRkJZekpDTEV0QlFVMURMRVZCUVUweVFpeEhRVU55UXpWQ0xFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTlwUkN4WFFVRlhjRU1zUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnNSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlV3UkN4UlFVRlZMRk5CUVZORExFVkJRV0ZETEVWQlFXVkRMRVZCUVdWRExFVkJRV3RDUXl4SFFVTjBSeXhKUVVGSk4wUXNSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVazNReXhGUVVGak5FSXNTMEZCVFRCRkxFVkJRV0ZETEVWQlFXVkRMRVZCUVdWRExFVkJRV3RDUXl4SFFVTTFSamxGTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVOHlSU3hYUVVGWE9VUXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVOc1IxWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVnBSU3hQUVVGVExGTkJRVk12UlN4RlFVRk5Na0lzUjBGRE9VTXNTVUZCU1Znc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVrelF5eEZRVUZoTUVJc1RVRkJUU3hGUVVGUFF5eEZRVUZOTWtJc1IwRkRNME0xUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBOa1VzVlVGQlZXaEZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGRGFrZFdMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZiVVVzVVVGQlZTeFRRVUZUYWtZc1JVRkJUVEpDTEVkQlF5OURMRWxCUVVsWUxFVkJTVW9zVDBGSVFXcENMRXRCUVV0cFJDeGpRVU5NYUVNc1JVRkJUeXhKUVVGSk0wTXNSVUZCWVRCQ0xFMUJRVTBzUlVGQlRVTXNSVUZCVFRKQ0xFZEJRekZETlVJc1MwRkJTMGdzVDBGQlQwY3NTMEZCUzBrc1QwRkJUelpGTEZWQlFWVm9SU3hGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlEycEhWaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWVzlGTEZOQlFWY3NVMEZCVTJ4R0xFVkJRVTB5UWl4SFFVTm9SQ3hKUVVGSldDeEZRVWxLTEU5QlNFRnFRaXhMUVVGTGFVUXNZMEZEVEdoRExFVkJRVThzU1VGQlNURkRMRVZCUVdWNVFpeExRVUZOUXl4RlFVRk5Na0lzUjBGRGRFTTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUFowWXNXVUZCV1c1RkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZEYmtkV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVlowTXNSMEZCU3l4WFFVTXpRaXhIUVVGSkwwTXNTMEZCUzFVc1lVRkJaU3hGUVVOMFFpeE5RVUZOTEVsQlFVbHBReXhOUVVGTkxHOURRV05zUWl4UFFWcEpNME1zUzBGQlMxTXNZVUZEU0ZRc1MwRkJTMU1zV1VGQldXOURMRk5CUTI1Q04wTXNTMEZCUzNGR0xGVkJRVlZ5Uml4TFFVRkxVeXhoUVVWd1FsUXNTMEZCUzNOR0xGTkJRVk4wUml4TFFVRkxVeXhoUVVWeVFsUXNTMEZCUzFNc1dVRkJZeXhOUVVWdVFsUXNTMEZCUzNGR0xGVkJRVlZ5Uml4TFFVRkxWeXhUUVVGVFdDeExRVUZMVlN4elFrRkZOMEpXTEV0QlFVdFhMRk5CUVZOWUxFdEJRVXRWTEdOQlF6RkNWaXhMUVVGTFZTeGxRVU5GVml4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlhkRkxFbEJRVTBzVjBGRE5VSXNTMEZCVDNaR0xFdEJRVXRWTEdOQlFXZENMRWRCUXpGQ1ZpeExRVUZMSzBNc1MwRkZVQ3hQUVVGUEwwTXNTMEZCUzBZc1UwRkhaRWdzUlVGQlkyOUNMRlZCUVZWclF5eFpRVUZqTEZkQlEzQkRMRWRCUVVscVJDeExRVUZMVXl4WlFVVlFMRTlCUkVGVUxFdEJRVXRUTEZsQlFWbHZReXhWUVVGWExFVkJRM0pDTjBNc1MwRkJTM05HTEZOQlFWTjBSaXhMUVVGTFV5eGpRVWs1UW1Rc1JVRkJZMjlDTEZWQlFWVjFSU3hUUVVGWExGTkJRVk55UlN4SFFVTXhReXhKUVVGSlF5eEZRVUZMYzBVc1JVRkJUM1pHTEVWQlFVMTFRaXhGUVVOMFFpeEpRVUZMVUN4RlFVRkxkMFVzVDBGQlVTeERRVXRvUWl4SFFVcExla1lzUzBGQlMyTXNUVUZCT0VJc1NVRkJkRUprTEV0QlFVdFZMR05CUVhOQ1R5eEZRVUZMWml4UFFVRlRia01zUlVGQlUyZEZMRlZCUTJ4RkwwSXNTMEZCUzJNc1MwRkJUMGNzUjBGRlpIVkZMRVZCUVZFc1IwRkRTblpGTEVWQlFVdG1MRTlCUVZOdVF5eEZRVUZUWjBVc1VVRkJVeXhEUVVsc1F5eEpRVUZMT1VJc1MwRklURVFzUzBGQlMwUXNZMEZCWXpKR0xFMUJRVkV4U0N4RlFVRlpNa2dzVVVGRGRrTklMRVZCUVZGNFJpeExRVUZMU1N4UFFVRlBkMFlzVDBGQlR6TkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVUZuUWl4SlFVRk5UeXhGUVVGTGFFSXNTMEZEY2taMVFpeEZRVUZQVUN4RlFVRkxaU3hSUVVWTU1VTXNSVUZCVVRKRExFdEJRVXRVTEVWQlFVMTJRaXhMUVVONFFtbENMRVZCUVUxTkxFVkJRVXQyUWl4SFFVTllkVVlzUjBGQlUzaEdMRXRCUVV0SkxFOUJRVTkxUkN4VlFVRlZla01zUlVGQlMyeENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR1ZCUlM5RU9FVXNTVUZCVlhaRkxFVkJRVXMwUWl4VFFVRlhMRWxCUVUwc1RVRkJVVGRETEV0QlFVdEpMRTlCUVU5NVJpeFJRVUZSTlVVc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdOQlF6TkdWaXhMUVVGTFJDeGpRVUZqTWtZc1RVRkJVVEZJTEVWQlFWazRTQ3hsUVVWMlF6bEdMRXRCUVV0RUxHTkJRV015Uml4TlFVRlJNVWdzUlVGQldUSklMRkZCUTNaRFNDeEZRVUZSZUVZc1MwRkJTMGtzVDBGQlQzZEdMRTlCUVU4elJTeEZRVUZOYWtJc1MwRkJTMFFzWTBGQlpVTXNTMEZCUzFVc1kwRkJaMElzWVVGQlpVOHNSVUZCUzNWRUxHRkJRekZHZGtRc1JVRkJTM0ZFTEU5QlFWTnlSQ3hGUVVGTGMwUXNUVUZEY2tKcFFpeEhRVUZUTEZsQlFXTjJSU3hGUVVGTGNVUXNUVUZCVVN4TlFVRlJja1FzUlVGQlMzTkVMRTFCUVZFc1NVRkRhRVIwUkN4RlFVRkxjMFFzVVVGRFpHbENMRWRCUVZNc1dVRkJZM1pGTEVWQlFVdHpSQ3hOUVVGUkxFdEJSV3hEZEVRc1JVRkJTelJDTEZWQlExQXlReXhIUVVGVExFdEJRMVI0Uml4TFFVRkxSQ3hqUVVGak1rWXNUVUZCVVRGSUxFVkJRVms0U0N4WlFVVjJRemxHTEV0QlFVdEVMR05CUVdNeVJpeE5RVUZSTVVnc1JVRkJXU3RJTEZOQlEzWkRVQ3hIUVVGVExFdEJSVmhCTEVkQlFWTjRSaXhMUVVGTFNTeFBRVUZQZVVZc1VVRkJVVFZGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVjNVJDeFBRVVJCVml4TFFVRkxTQ3hQUVVGUE1rWXNSVUZCVDNoR0xFdEJRVXRWTEdOQlEycENUeXhGUVVGTGQwVXNVVUZCVXl4SlFVbDZRamxHTEVWQlFXTnZRaXhWUVVGVmMwVXNWVUZCV1N4VFFVRlRjRVVzUjBGRE0wTXNTVUZCU1hWRkxFVkJRMG9zU1VGQlMzWkZMRVZCUVVzclJTeFRRVlZTTEU5QlZFRlNMRVZCUVZFc1IwRkRVbmhHTEV0QlFVdEVMR05CUVdNeVJpeE5RVUZSTVVnc1JVRkJXU3RJTEZOQlJYSkRVQ3hGUVVSRmRrVXNSVUZCUzJZc1QwRkJVMjVETEVWQlFWTm5SU3hSUVVOcVFpOUNMRXRCUVV0SkxFOUJRVTkzUml4UFFVRlBNMFVzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR05CUVdkQ0xFdEJRVTlQTEVWQlFVdG9RaXhMUVVGUExFbEJRVTFFTEV0QlFVdEpMRTlCUVU5NVJpeFJRVUZSTlVVc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdOQlJUbEpWaXhMUVVGTFNTeFBRVUZQZDBZc1QwRkJUek5GTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVGblFpeExRVUZQVml4TFFVRkxTU3hQUVVGUGVVWXNVVUZCVVRWRkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVVjBTVllzUzBGQlMwUXNZMEZCWXpKR0xFMUJRVkV4U0N4RlFVRlphVWtzUzBGRGRrTnFSeXhMUVVGTFNDeFBRVUZQTWtZc1JVRkJUM2hHTEV0QlFVdFZMR05CUTJwQ1R5eEZRVUZMSzBVc1ZVRkJWeXhIUVVrelFuSkhMRVZCUVdOdlFpeFZRVUZWYkVJc1QwRkJVeXhUUVVGVE1rWXNSVUZCVDFVc1IwRkZMME1zVDBGRVFXeEhMRXRCUVV0WkxHbENRVUZyUWl4RlFVTm9RbG9zUzBGQlMwOHNaVUZCWldsR0xFVkJRVTlWTEVWQlFWRXNTVUZITlVOMlJ5eEZRVUZqYjBJc1ZVRkJWV3BDTEUxQlFWRXNWMEZGT1VJc1QwRkVRVVVzUzBGQlMyRXNiVUpCUVc5Q0xFVkJRMnhDWWl4TFFVRkxVU3hwUWtGSFpHSXNSVUZCWTI5Q0xGVkJRVlZwUXl4VlFVRlpMRk5CUVZNdlF5eEhRVU16UXl4UFFVRlpMRTFCUVZKQkxFVkJRMHNzUjBGRlFTeFZRVUZaUVN4RlFVRlBMRXRCU1RsQ1RpeEZRVUZqYjBJc1ZVRkJWVzlHTEVsQlFVMHNWMEZETlVJc1QwRkJUMjVITEV0QlFVdHJSQ3hSUVVGUlNTeE5RVUZOZEVRc1MwRkJUWFZFTEZsQlIyeEROVVFzUlVGQlkyOUNMRlZCUVZWeFJpeEpRVUZOTEZOQlFWTnVSeXhGUVVGTmJVSXNSVUZCV1cxQ0xFZEJRM1pFTEU5QlFVOTJReXhMUVVGTGFVSXNTMEZCUzJoQ0xFVkJRVTF0UWl4RlFVRlpiVUlzU1VGSGNrTTFReXhGUVVGamIwSXNWVUZCVlhOR0xFbEJRVTBzVTBGQlUzcEZMRWRCUTNKRExFOUJRVTgxUWl4TFFVRkxkVU1zUzBGQlMxZ3NTVUZIYmtKcVF5eEZRVUZqYjBJc1ZVRkJWWFZHTEVsQlFVMHNVMEZCVXpGRkxFZEJRM0pETEU5QlFVODFRaXhMUVVGTE1rSXNUVUZCVFVNc1NVRkhjRUpxUXl4RlFVRmpiMElzVlVGQlZYZEdMRWxCUVUwc1UwRkJVek5GTEVkQlEzSkRMRTlCUVU4MVFpeExRVUZMT0VJc1VVRkJVVVlzU1VGSGRFSnFReXhGUVVGamIwSXNWVUZCVlhsR0xFbEJRVTBzVTBGQlV6bEVMRVZCUVZGa0xFZEJRemRETEU5QlFVODFRaXhMUVVGTGVVTXNXVUZCV1VNc1JVRkJVV1FzU1VGSGJFTnFReXhGUVVGamIwSXNWVUZCVlRCR0xFbEJRVTBzVTBGQlUzWkRMRVZCUVZORExFVkJRVlZETEVkQlEzaEVMRTlCUVU5d1JTeExRVUZMYVVVc1dVRkJXVU1zUlVGQlUwTXNSVUZCVlVNc1NVRkhOME42UlN4RlFVRmpiMElzVlVGQlZUSkdMRWxCUVUwc1UwRkJVelZHTEVWQlFVMTNSQ3hGUVVGUFF5eEhRVU5zUkN4UFFVRlBka1VzUzBGQlMzRkZMRkZCUVZGMlJDeEZRVUZOZDBRc1JVRkJUME1zU1VGSGJrTTFSU3hGUVVGamIwSXNWVUZCVlRSR0xFVkJRVWtzVTBGQlV6RkhMRVZCUVUxdFFpeEZRVUZaYlVJc1IwRkRja1FzVDBGQlQzWkRMRXRCUVV0clJDeFJRVUZSYWtRc1JVRkJUVzFDTEVWQlFWbHRRaXhKUVVkNFF6VkRMRVZCUVdOdlFpeFZRVUZWTmtZc1JVRkJTU3hUUVVGVE0wY3NSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVTnlSQ3hQUVVGUGRrTXNTMEZCUzJsQ0xFdEJRVXRvUWl4RlFVRk5iVUlzUlVGQldXMUNMRWxCUjNKRE5VTXNSVUZCWTI5Q0xGVkJRVlU0Uml4RlFVRkpMRk5CUVZOcVJpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlMzVkRMRXRCUVV0WUxFbEJSMjVDYWtNc1JVRkJZMjlDTEZWQlFWVXJSaXhGUVVGSkxGTkJRVk5zUml4SFFVTnVReXhQUVVGUE5VSXNTMEZCU3pKQ0xFMUJRVTFETEVsQlIzQkNha01zUlVGQlkyOUNMRlZCUVZWblJ5eEZRVUZKTEZOQlFWTnVSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTemhDTEZGQlFWRkdMRWxCUjNSQ2FrTXNSVUZCWTI5Q0xGVkJRVlZwUnl4RlFVRkpMRk5CUVZOd1JpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlMzRkRMRWxCUVVsVUxFbEJSMnhDYWtNc1JVRkJZMjlDTEZWQlFWVlBMRVZCUVVrc1UwRkJVMjlDTEVWQlFWRmtMRWRCUXpORExFOUJRVTgxUWl4TFFVRkxlVU1zV1VGQldVTXNSVUZCVVdRc1NVRkhiRU5xUXl4RlFVRmpiMElzVlVGQlZVY3NTVUZCVFN4WFFVTTFRaXhQUVVGSmJFSXNTMEZCUzFNc1lVRkJaVlFzUzBGQlMxTXNXVUZCV1ZBc1QwRkJVMjVETEVWQlFWTnhSaXhSUVVOc1JIQkVMRXRCUVV0NVJTeFJRVUZSYmtJc1RVRkJUWFJFTEV0QlFVMTFSQ3hYUVVWNlFuWkVMRXRCUVVzeVJDeFZRVUZWVEN4TlFVRk5kRVFzUzBGQlRYVkVMRmxCU1hSRE5VUXNSVUZCWTI5Q0xGVkJRVlZyUnl4RlFVRkpMRmRCUXpGQ0xFOUJRVWxxU0N4TFFVRkxVeXhoUVVGbFZDeExRVUZMVXl4WlFVRlpVQ3hQUVVGVGJrTXNSVUZCVTNGR0xGRkJRMnhFY0VRc1MwRkJTM2xGTEZGQlFWRnVRaXhOUVVGTmRFUXNTMEZCVFhWRUxGZEJSWHBDZGtRc1MwRkJTekpFTEZWQlFWVk1MRTFCUVUxMFJDeExRVUZOZFVRc1dVRkpkRU0xUkN4RlFVRmpiMElzVlVGQlZXMUhMRWxCUVUwc1UwRkJVMnBJTEVWQlFVMHlRaXhIUVVNelF5eFBRVUZQTlVJc1MwRkJTMmRHTEU5QlFVOHZSU3hGUVVGTk1rSXNTVUZITTBKcVF5eEZRVUZqYjBJc1ZVRkJWVzlITEV0QlFVOHNVMEZCVTJ4SUxFVkJRVTB5UWl4SFFVTTFReXhQUVVGUE5VSXNTMEZCUzJ0R0xGRkJRVkZxUml4RlFVRk5Na0lzU1VGSE5VSnFReXhGUVVGamIwSXNWVUZCVlhGSExFbEJRVTBzVTBGQlUyNUlMRVZCUVUweVFpeEhRVU16UXl4UFFVRlBOVUlzUzBGQlMyMUdMRk5CUVZOc1JpeEZRVUZOTWtJc1NVRkhkRUpxUXl4RlFXaGxkMElzUzBGdlpXaERjME1zUzBGQlMycERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJHOWpkVzFsYm5SRFFpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsbyxyPXt9Lmhhc093blByb3BlcnR5O289cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4obyl7bi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLG8pLHRoaXMudHlwZT10LkR1bW15fXJldHVybiBmdW5jdGlvbih0LG8pe2Zvcih2YXIgZSBpbiBvKXIuY2FsbChvLGUpJiYodFtlXT1vW2VdKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPW8ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPW8ucHJvdG90eXBlfShuLG8pLG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVyblwiXCJ9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUjFiVzE1TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVRtOWtaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVSMWJXMTVJaXdpY0dGeVpXNTBJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0luUjVjR1VpTENKRWRXMXRlU0lzSW1Ob2FXeGtJaXdpYTJWNUlpd2lZM1J2Y2lJc0luQnliM1J2ZEhsd1pTSXNJbVY0ZEdWdVpDSXNJbU5zYjI1bElpd2lUMkpxWldOMElpd2lZM0psWVhSbElpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFXOUNReXhGUVVWMFFrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVJpeEZRVUZWUnl4UlFVRlJMR0ZCUld4Q1NpeEZRVUZYU1N4UlFVRlJMR05CUlc1Q1F5eFBRVUZQUXl4UlFVRnhRaXhUUVVGVlF5eEhRVWR3UXl4VFFVRlRReXhGUVVGVFF5eEhRVU5vUWtRc1JVRkJVMFVzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVb3NSMEZETVVOSkxFdEJRVXRETEV0QlFVOWtMRVZCUVZObExFMUJWM1pDTEU5QmRrSlRMRk5CUVZORExFVkJRVTlRTEVkQlFWVXNTVUZCU3l4SlFVRkpVU3hMUVVGUFVpeEZRVUZqVUN4RlFVRlJWU3hMUVVGTFNDeEZRVUZSVVN4TFFVRk5SQ3hGUVVGTlF5eEhRVUZQVWl4RlFVRlBVU3hKUVVGUkxGTkJRVk5ETEVsQlFWTk1MRXRCUVV0R0xGbEJRV05MTEVWQlFWTkZMRVZCUVV0RExGVkJRVmxXTEVWQlFVOVZMRlZCUVZkSUxFVkJRVTFITEZWQlFWa3NTVUZCU1VRc1JVRkJVVVlzUlVGQlRVNHNWVUZCV1VRc1JVRkJUMVVzVlVGUmFGRkRMRU5CUVU5YUxFVkJhVUpPVUN4SFFWWkVUeXhGUVVGVFZ5eFZRVUZWUlN4TlFVRlJMRmRCUTNwQ0xFOUJRVTlETEU5QlFVOURMRTlCUVU5V0xFOUJSM1pDVEN4RlFVRlRWeXhWUVVGVlN5eFRRVUZYTEZOQlFWTkRMRWRCUTNKRExFMUJRVThzU1VGSFJtcENMRVZCYUVKdFFpeExRVzlDTTBKSkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SSFZ0YlhrdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxyLG8saSxuLHMsaCx1PXt9Lmhhc093blByb3BlcnR5O2g9cmVxdWlyZShcIi4vVXRpbGl0eVwiKSxzPWguaXNPYmplY3Qsbj1oLmlzRnVuY3Rpb24saT1oLmdldFZhbHVlLG89cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLGU9cmVxdWlyZShcIi4vWE1MQXR0cmlidXRlXCIpLHI9cmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGgpe2Z1bmN0aW9uIHAoZSxyLG8pe3ZhciBpLG4scyxoO2lmKHAuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgZWxlbWVudCBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbygpKTtpZih0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShyKSx0aGlzLnR5cGU9dC5FbGVtZW50LHRoaXMuYXR0cmlicz17fSx0aGlzLnNjaGVtYVR5cGVJbmZvPW51bGwsbnVsbCE9byYmdGhpcy5hdHRyaWJ1dGUobyksZS50eXBlPT09dC5Eb2N1bWVudCYmKHRoaXMuaXNSb290PSEwLHRoaXMuZG9jdW1lbnRPYmplY3Q9ZSxlLnJvb3RPYmplY3Q9dGhpcyxlLmNoaWxkcmVuKSlmb3Iobj0wLHM9KGg9ZS5jaGlsZHJlbikubGVuZ3RoO248cztuKyspaWYoKGk9aFtuXSkudHlwZT09PXQuRG9jVHlwZSl7aS5uYW1lPXRoaXMubmFtZTticmVha319cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpdS5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KHAsbyksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwidGFnTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcIm5hbWVzcGFjZVVSSVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcInByZWZpeFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImxvY2FsTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImlkXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiY2xhc3NOYW1lXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiY2xhc3NMaXN0XCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiYXR0cmlidXRlc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVNYXAmJnRoaXMuYXR0cmlidXRlTWFwLm5vZGVzfHwodGhpcy5hdHRyaWJ1dGVNYXA9bmV3IHIodGhpcy5hdHRyaWJzKSksdGhpcy5hdHRyaWJ1dGVNYXB9fSkscC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbztmb3IoZSBpbihyPU9iamVjdC5jcmVhdGUodGhpcykpLmlzUm9vdCYmKHIuZG9jdW1lbnRPYmplY3Q9bnVsbCksci5hdHRyaWJzPXt9LG89dGhpcy5hdHRyaWJzKXUuY2FsbChvLGUpJiYodD1vW2VdLHIuYXR0cmlic1tlXT10LmNsb25lKCkpO3JldHVybiByLmNoaWxkcmVuPVtdLHRoaXMuY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4oZT10LmNsb25lKCkpLnBhcmVudD1yLHIuY2hpbGRyZW4ucHVzaChlKX0pLHJ9LHAucHJvdG90eXBlLmF0dHJpYnV0ZT1mdW5jdGlvbih0LHIpe3ZhciBvLGg7aWYobnVsbCE9dCYmKHQ9aSh0KSkscyh0KSlmb3IobyBpbiB0KXUuY2FsbCh0LG8pJiYoaD10W29dLHRoaXMuYXR0cmlidXRlKG8saCkpO2Vsc2UgbihyKSYmKHI9ci5hcHBseSgpKSx0aGlzLm9wdGlvbnMua2VlcE51bGxBdHRyaWJ1dGVzJiZudWxsPT1yP3RoaXMuYXR0cmlic1t0XT1uZXcgZSh0aGlzLHQsXCJcIik6bnVsbCE9ciYmKHRoaXMuYXR0cmlic1t0XT1uZXcgZSh0aGlzLHQscikpO3JldHVybiB0aGlzfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7dmFyIGUscixvO2lmKG51bGw9PXQpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBhdHRyaWJ1dGUgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYodD1pKHQpLEFycmF5LmlzQXJyYXkodCkpZm9yKHI9MCxvPXQubGVuZ3RoO3I8bztyKyspZT10W3JdLGRlbGV0ZSB0aGlzLmF0dHJpYnNbZV07ZWxzZSBkZWxldGUgdGhpcy5hdHRyaWJzW3RdO3JldHVybiB0aGlzfSxwLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5lbGVtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0scC5wcm90b3R5cGUuYXR0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlKHQsZSl9LHAucHJvdG90eXBlLmE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGUodCxlKX0scC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdLnZhbHVlOm51bGx9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXR0cmlicy5oYXNPd25Qcm9wZXJ0eSh0KT90aGlzLmF0dHJpYnNbdF06bnVsbH0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTm9kZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTm9kZU5TPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXR0cmlicy5oYXNPd25Qcm9wZXJ0eSh0KX0scC5wcm90b3R5cGUuaGFzQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5zZXRJZEF0dHJpYnV0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdLmlzSWQ6ZX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUscil7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7dmFyIGUscixvO2lmKCFwLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkpcmV0dXJuITE7aWYodC5uYW1lc3BhY2VVUkkhPT10aGlzLm5hbWVzcGFjZVVSSSlyZXR1cm4hMTtpZih0LnByZWZpeCE9PXRoaXMucHJlZml4KXJldHVybiExO2lmKHQubG9jYWxOYW1lIT09dGhpcy5sb2NhbE5hbWUpcmV0dXJuITE7aWYodC5hdHRyaWJzLmxlbmd0aCE9PXRoaXMuYXR0cmlicy5sZW5ndGgpcmV0dXJuITE7Zm9yKGU9cj0wLG89dGhpcy5hdHRyaWJzLmxlbmd0aC0xOzA8PW8/cjw9bzpyPj1vO2U9MDw9bz8rK3I6LS1yKWlmKCF0aGlzLmF0dHJpYnNbZV0uaXNFcXVhbE5vZGUodC5hdHRyaWJzW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH0scH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVWc1pXMWxiblF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4QmRIUnlhV0oxZEdVaUxDSllUVXhPWVcxbFpFNXZaR1ZOWVhBaUxDSllUVXhPYjJSbElpd2laMlYwVm1Gc2RXVWlMQ0pwYzBaMWJtTjBhVzl1SWl3aWFYTlBZbXBsWTNRaUxDSnlaV1lpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luTjFjR1Z5UTJ4aGMzTWlMQ0pZVFV4RmJHVnRaVzUwSWl3aWNHRnlaVzUwSWl3aWJtRnRaU0lzSW1GMGRISnBZblYwWlhNaUxDSmphR2xzWkNJc0ltb2lMQ0pzWlc0aUxDSnlaV1l4SWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYzNSeWFXNW5hV1o1SWl3aWRIbHdaU0lzSWtWc1pXMWxiblFpTENKaGRIUnlhV0p6SWl3aWMyTm9aVzFoVkhsd1pVbHVabThpTENKaGRIUnlhV0oxZEdVaUxDSkViMk4xYldWdWRDSXNJbWx6VW05dmRDSXNJbVJ2WTNWdFpXNTBUMkpxWldOMElpd2ljbTl2ZEU5aWFtVmpkQ0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJHOWpWSGx3WlNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1kbGRDSXNJbUYwZEhKcFluVjBaVTFoY0NJc0ltNXZaR1Z6SWl3aVkyeHZibVVpTENKaGRIUWlMQ0poZEhST1lXMWxJaXdpWTJ4dmJtVmtVMlZzWmlJc0ltTnlaV0YwWlNJc0ltWnZja1ZoWTJnaUxDSmpiRzl1WldSRGFHbHNaQ0lzSW5CMWMyZ2lMQ0oyWVd4MVpTSXNJbUYwZEZaaGJIVmxJaXdpWVhCd2JIa2lMQ0p2Y0hScGIyNXpJaXdpYTJWbGNFNTFiR3hCZEhSeWFXSjFkR1Z6SWl3aWNtVnRiM1psUVhSMGNtbGlkWFJsSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWRHOVRkSEpwYm1jaUxDSjNjbWwwWlhJaUxDSmxiR1Z0Wlc1MElpd2labWxzZEdWeVQzQjBhVzl1Y3lJc0ltRWlMQ0puWlhSQmRIUnlhV0oxZEdVaUxDSnpaWFJCZEhSeWFXSjFkR1VpTENKblpYUkJkSFJ5YVdKMWRHVk9iMlJsSWl3aWMyVjBRWFIwY21saWRYUmxUbTlrWlNJc0ltNWxkMEYwZEhJaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdWT2IyUmxJaXdpYjJ4a1FYUjBjaUlzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbElpd2laMlYwUVhSMGNtbGlkWFJsVGxNaUxDSnVZVzFsYzNCaFkyVlZVa2tpTENKc2IyTmhiRTVoYldVaUxDSnpaWFJCZEhSeWFXSjFkR1ZPVXlJc0luRjFZV3hwWm1sbFpFNWhiV1VpTENKeVpXMXZkbVZCZEhSeWFXSjFkR1ZPVXlJc0ltZGxkRUYwZEhKcFluVjBaVTV2WkdWT1V5SXNJbk5sZEVGMGRISnBZblYwWlU1dlpHVk9VeUlzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbFRsTWlMQ0pvWVhOQmRIUnlhV0oxZEdVaUxDSm9ZWE5CZEhSeWFXSjFkR1ZPVXlJc0luTmxkRWxrUVhSMGNtbGlkWFJsSWl3aWFYTkpaQ0lzSW5ObGRFbGtRWFIwY21saWRYUmxUbE1pTENKelpYUkpaRUYwZEhKcFluVjBaVTV2WkdVaUxDSnBaRUYwZEhJaUxDSjBZV2R1WVcxbElpd2laMlYwUld4bGJXVnVkSE5DZVVOc1lYTnpUbUZ0WlNJc0ltTnNZWE56VG1GdFpYTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKcElpd2lZWEpuZFcxbGJuUnpJaXdpY0hKbFptbDRJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVRCQ1F5eEZRVUZwUWtNc1JVRkJVME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJWVU1zUlVGRmFFZERMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVFVjc1VVRkJVU3hoUVVGalNpeEZRVUZYUXl4RlFVRkpSQ3hUUVVGVlJDeEZRVUZoUlN4RlFVRkpSaXhYUVVGWlJDeEZRVUZYUnl4RlFVRkpTQ3hUUVVWcVIwUXNSVUZCVlU4c1VVRkJVU3hoUVVWc1FsWXNSVUZCVjFVc1VVRkJVU3hqUVVWdVFsUXNSVUZCWlZNc1VVRkJVU3hyUWtGRmRrSlNMRVZCUVd0Q1VTeFJRVUZSTEhGQ1FVVXhRa01zVDBGQlQwTXNVVUZCZFVJc1UwRkJWVU1zUjBGSGRFTXNVMEZCVTBNc1JVRkJWME1zUlVGQlVVTXNSVUZCVFVNc1IwRkRhRU1zU1VGQlNVTXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZGYmtJc1IwRkVRVkFzUlVGQlYxRXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZZc1IwRkRhRU1zVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsVkxFMUJRVTBzZVVKQlFUSkNSQ3hMUVVGTFJTeGhRVk5zUkN4SFFWQkJSaXhMUVVGTFZDeExRVUZQVXl4TFFVRkxSeXhWUVVGVldpeExRVUZMUVN4SFFVTm9RMU1zUzBGQlMwa3NTMEZCVHpkQ0xFVkJRVk00UWl4UlFVTnlRa3dzUzBGQlMwMHNVVUZCVlN4SFFVTm1UaXhMUVVGTFR5eGxRVUZwUWl4TFFVTktMRTFCUVdSbUxFZEJRMFpSTEV0QlFVdFJMRlZCUVZWb1FpeEhRVVZpUml4RlFVRlBZeXhQUVVGVE4wSXNSVUZCVTJ0RExGZEJRek5DVkN4TFFVRkxWU3hSUVVGVExFVkJRMlJXTEV0QlFVdFhMR1ZCUVdsQ2NrSXNSVUZEZEVKQkxFVkJRVTl6UWl4WFFVRmhXaXhMUVVOb1FsWXNSVUZCVDNWQ0xGVkJSVlFzU1VGQlMyNUNMRVZCUVVrc1JVRkJSME1zUjBGRVdrTXNSVUZCVDA0c1JVRkJUM1ZDTEZWQlExTkRMRTlCUVZGd1FpeEZRVUZKUXl4RlFVRkxSQ3hKUVVWMFF5eEpRVVJCUkN4RlFVRlJSeXhGUVVGTFJpeEpRVU5JVlN4UFFVRlROMElzUlVGQlUzZERMRkZCUVZNc1EwRkRia04wUWl4RlFVRk5SaXhMUVVGUFV5eExRVUZMVkN4TFFVTnNRaXhQUVRKUVZpeFBRV3hUVXl4VFFVRlRSU3hGUVVGUFNDeEhRVUZWTEVsQlFVc3NTVUZCU1RCQ0xFdEJRVTh4UWl4RlFVRmpVQ3hGUVVGUlowSXNTMEZCUzFRc1JVRkJVVEJDTEV0QlFVMTJRaXhGUVVGTmRVSXNSMEZCVHpGQ0xFVkJRVTh3UWl4SlFVRlJMRk5CUVZORExFbEJRVk5xUWl4TFFVRkxSaXhaUVVGalRDeEZRVUZUZDBJc1JVRkJTME1zVlVGQldUVkNMRVZCUVU4MFFpeFZRVUZYZWtJc1JVRkJUWGxDTEZWQlFWa3NTVUZCU1VRc1JVRkJVWGhDTEVWQlFVMUpMRlZCUVZsUUxFVkJRVTgwUWl4VlFXTm9VVU1zUTBGQlR6bENMRVZCYzFKT1dDeEhRWFJRUkRCRExFOUJRVTlETEdWQlFXVm9ReXhGUVVGWE5rSXNWVUZCVnl4VlFVRlhMRU5CUTNKRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDNSQ0xFdEJRVXRVTEZGQlNXaENOa0lzVDBGQlQwTXNaVUZCWldoRExFVkJRVmMyUWl4VlFVRlhMR1ZCUVdkQ0xFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1RVRkJUeXhOUVVsWVJpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1UwRkJWU3hEUVVOd1JFa3NTVUZCU3l4WFFVTklMRTFCUVU4c1RVRkpXRVlzVDBGQlQwTXNaVUZCWldoRExFVkJRVmMyUWl4VlFVRlhMRmxCUVdFc1EwRkRka1JKTEVsQlFVc3NWMEZEU0N4UFFVRlBkRUlzUzBGQlMxUXNVVUZKYUVJMlFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1MwRkJUU3hEUVVOb1JFa3NTVUZCU3l4WFFVTklMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVnJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NXVUZCWVN4RFFVTjJSRWtzU1VGQlN5eFhRVU5JTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWclFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1lVRkJZeXhEUVVONFJFa3NTVUZCU3l4WFFVbElMRTlCU0V0MFFpeExRVUZMZFVJc1kwRkJhVUoyUWl4TFFVRkxkVUlzWVVGQllVTXNVVUZETTBONFFpeExRVUZMZFVJc1lVRkJaU3hKUVVGSk9VTXNSVUZCWjBKMVFpeExRVUZMVFN4VlFVVjRRMDRzUzBGQlMzVkNMR2RDUVVsb1FteERMRVZCUVZjMlFpeFZRVUZWVHl4TlFVRlJMRmRCUXpOQ0xFbEJRVWxETEVWQlFVdERMRVZCUVZORExFVkJRVmxvUXl4RlFVODVRaXhKUVVGTEswSXNTMEZPVEVNc1JVRkJZVklzVDBGQlQxTXNUMEZCVHpkQ0xFOUJRMXBWTEZOQlEySnJRaXhGUVVGWGFrSXNaVUZCYVVJc1RVRkZPVUpwUWl4RlFVRlhkRUlzVVVGQlZTeEhRVU55UWxZc1JVRkJUMGtzUzBGQlMwMHNVVUZGVEhaQ0xFVkJRVkZuUWl4TFFVRkxTQ3hGUVVGTkswSXNTMEZEZUVKRUxFVkJRVTA1UWl4RlFVRkxLMElzUjBGRFdFTXNSVUZCVjNSQ0xGRkJRVkZ4UWl4SFFVRlhSQ3hGUVVGSlJDeFRRVk53UXl4UFFWQkJSeXhGUVVGWFppeFRRVUZYTEVkQlEzUkNZaXhMUVVGTFlTeFRRVUZUYVVJc1VVRkJVU3hUUVVGVGNrTXNSMEZETjBJc1NVRkJTWE5ETEVWQlIwb3NUMEZHUVVFc1JVRkJZM1JETEVWQlFVMW5ReXhUUVVOU2JrTXNUMEZCVTNORExFVkJRMlJCTEVWQlFWZG1MRk5CUVZOdFFpeExRVUZMUkN4TFFVVXpRa2dzUjBGSFZIWkRMRVZCUVZjMlFpeFZRVUZWVml4VlFVRlpMRk5CUVZOcVFpeEZRVUZOTUVNc1IwRkRPVU1zU1VGQlNVNHNSVUZCVTA4c1JVRkpZaXhIUVVoWkxFMUJRVkl6UXl4SlFVTkdRU3hGUVVGUFdpeEZRVUZUV1N4SlFVVmtWaXhGUVVGVFZTeEhRVU5ZTEVsQlFVdHZReXhMUVVGWGNFTXNSVUZEVkZJc1JVRkJVV2RDTEV0QlFVdFNMRVZCUVUxdlF5eExRVU40UWs4c1JVRkJWek5ETEVWQlFVdHZReXhIUVVOb1FqTkNMRXRCUVV0UkxGVkJRVlZ0UWl4RlFVRlRUeXhUUVVkMFFuUkVMRVZCUVZkeFJDeExRVU5pUVN4RlFVRlJRU3hGUVVGTlJTeFRRVVZhYmtNc1MwRkJTMjlETEZGQlFWRkRMRzlDUVVGblF5eE5RVUZVU2l4RlFVTjBRMnBETEV0QlFVdE5MRkZCUVZGbUxFZEJRVkVzU1VGQlNXWXNSVUZCWVhkQ0xFdEJRVTFVTEVWQlFVMHNTVUZEYUVNc1RVRkJWREJETEVsQlExUnFReXhMUVVGTFRTeFJRVUZSWml4SFFVRlJMRWxCUVVsbUxFVkJRV0YzUWl4TFFVRk5WQ3hGUVVGTk1FTXNTVUZIZEVRc1QwRkJUMnBETEUxQlIxUllMRVZCUVZjMlFpeFZRVUZWYjBJc1owSkJRV3RDTEZOQlFWTXZReXhIUVVNNVF5eEpRVUZKYjBNc1JVRkJVMnBETEVWQlFVZERMRVZCUTJoQ0xFZEJRVmtzVFVGQlVrb3NSVUZEUml4TlFVRk5MRWxCUVVsVkxFMUJRVTBzTWtKQlFUWkNSQ3hMUVVGTFJTeGhRVWR3UkN4SFFVUkJXQ3hGUVVGUFdpeEZRVUZUV1N4SFFVTmFaMFFzVFVGQlRVTXNVVUZCVVdwRUxFZEJRMmhDTEVsQlFVdEhMRVZCUVVrc1JVRkJSME1zUlVGQlRVb3NSVUZCUzNWQ0xFOUJRVkZ3UWl4RlFVRkpReXhGUVVGTFJDeEpRVU4wUTJsRExFVkJRVlZ3UXl4RlFVRkxSeXhWUVVOU1RTeExRVUZMVFN4UlFVRlJjVUlzWlVGSFpqTkNMRXRCUVV0TkxGRkJRVkZtTEVkQlJYUkNMRTlCUVU5VExFMUJSMVJZTEVWQlFWYzJRaXhWUVVGVmRVSXNVMEZCVnl4VFFVRlRUQ3hIUVVOMlF5eFBRVUZQY0VNc1MwRkJTMjlETEZGQlFWRk5MRTlCUVU5RExGRkJRVkV6UXl4TFFVRk5RU3hMUVVGTGIwTXNVVUZCVVUwc1QwRkJUMFVzWTBGQlkxSXNTMEZITjBVdlF5eEZRVUZYTmtJc1ZVRkJWVkVzU1VGQlRTeFRRVUZUYmtNc1JVRkJUVEJETEVkQlEzaERMRTlCUVU5cVF5eExRVUZMVVN4VlFVRlZha0lzUlVGQlRUQkRMRWxCUnpsQ05VTXNSVUZCVnpaQ0xGVkJRVlV5UWl4RlFVRkpMRk5CUVZOMFJDeEZRVUZOTUVNc1IwRkRkRU1zVDBGQlQycERMRXRCUVV0UkxGVkJRVlZxUWl4RlFVRk5NRU1zU1VGSE9VSTFReXhGUVVGWE5rSXNWVUZCVlRSQ0xHRkJRV1VzVTBGQlUzWkVMRWRCUXpORExFOUJRVWxUTEV0QlFVdE5MRkZCUVZGMFFpeGxRVUZsVHl4SFFVTjJRbE1zUzBGQlMwMHNVVUZCVVdZc1IwRkJUVEJETEUxQlJXNUNMRTFCU1ZnMVF5eEZRVUZYTmtJc1ZVRkJWVFpDTEdGQlFXVXNVMEZCVTNoRUxFVkJRVTB3UXl4SFFVTnFSQ3hOUVVGTkxFbEJRVWxvUXl4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVk9FSXNhVUpCUVcxQ0xGTkJRVk42UkN4SFFVTXZReXhQUVVGSlV5eExRVUZMVFN4UlFVRlJkRUlzWlVGQlpVOHNSMEZEZGtKVExFdEJRVXROTEZGQlFWRm1MRWRCUldJc1RVRkpXRVlzUlVGQlZ6WkNMRlZCUVZVclFpeHBRa0ZCYlVJc1UwRkJVME1zUjBGREwwTXNUVUZCVFN4SlFVRkpha1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVldsRExHOUNRVUZ6UWl4VFFVRlRReXhIUVVOc1JDeE5RVUZOTEVsQlFVbHVSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWYlVNc2NVSkJRWFZDTEZOQlFWTTVSQ3hIUVVOdVJDeE5RVUZOTEVsQlFVbFZMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlZ2UXl4bFFVRnBRaXhUUVVGVFF5eEZRVUZqUXl4SFFVTXpSQ3hOUVVGTkxFbEJRVWwyUkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmRVTXNaVUZCYVVJc1UwRkJVMFlzUlVGQlkwY3NSVUZCWlhwQ0xFZEJRekZGTEUxQlFVMHNTVUZCU1doRExFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVjVReXhyUWtGQmIwSXNVMEZCVTBvc1JVRkJZME1zUjBGRE9VUXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlRCRExHMUNRVUZ4UWl4VFFVRlRUQ3hGUVVGalF5eEhRVU12UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZNa01zYlVKQlFYRkNMRk5CUVZOWUxFZEJRMnBFTEUxQlFVMHNTVUZCU1dwRUxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVTBReXgxUWtGQmVVSXNVMEZCVTFBc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlRaRExHRkJRV1VzVTBGQlUzaEZMRWRCUXpORExFOUJRVTlUTEV0QlFVdE5MRkZCUVZGMFFpeGxRVUZsVHl4SlFVZHlRMFlzUlVGQlZ6WkNMRlZCUVZVNFF5eGxRVUZwUWl4VFFVRlRWQ3hGUVVGalF5eEhRVU16UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZLME1zWlVGQmFVSXNVMEZCVXpGRkxFVkJRVTB5UlN4SFFVTnVSQ3hQUVVGSmJFVXNTMEZCUzAwc1VVRkJVWFJDTEdWQlFXVlBMRWRCUTNaQ1V5eExRVUZMVFN4UlFVRlJaaXhIUVVGTk1rVXNTMEZGYmtKQkxFZEJTVmczUlN4RlFVRlhOa0lzVlVGQlZXbEVMR2xDUVVGdFFpeFRRVUZUV2l4RlFVRmpReXhGUVVGWFZTeEhRVU40UlN4TlFVRk5MRWxCUVVscVJTeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZhMFFzYlVKQlFYRkNMRk5CUVZORExFVkJRVkZJTEVkQlEzcEVMRTFCUVUwc1NVRkJTV3BGTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZWdFF5eHhRa0ZCZFVJc1UwRkJVMmxDTEVkQlEyNUVMRTFCUVUwc1NVRkJTWEpGTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZVMFF5eDFRa0ZCZVVJc1UwRkJVMUFzUlVGQlkwTXNSMEZEYmtVc1RVRkJUU3hKUVVGSmRrUXNUVUZCVFN4elEwRkJkME5FTEV0QlFVdEZMR05CUnk5RVlpeEZRVUZYTmtJc1ZVRkJWWEZFTEhWQ1FVRjVRaXhUUVVGVFF5eEhRVU55UkN4TlFVRk5MRWxCUVVsMlJTeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZkVVFzV1VGQll5eFRRVUZUUXl4SFFVTXhReXhKUVVGSlF5eEZRVUZIYWtZc1JVRkJSMFVzUlVGRFZpeEpRVUZMVUN4RlFVRlhVU3hWUVVGVk5FVXNXVUZCV1hSRExFMUJRVTF1UXl4TFFVRk5ORVVzVjBGQlYwZ3NXVUZCV1VNc1IwRkRka1VzVDBGQlR5eEZRVVZVTEVkQlFVbEJMRVZCUVV0dVFpeGxRVUZwUW5aRUxFdEJRVXQxUkN4aFFVTTNRaXhQUVVGUExFVkJSVlFzUjBGQlNXMUNMRVZCUVV0SExGTkJRVmMzUlN4TFFVRkxOa1VzVDBGRGRrSXNUMEZCVHl4RlFVVlVMRWRCUVVsSUxFVkJRVXRzUWl4WlFVRmplRVFzUzBGQlMzZEVMRlZCUXpGQ0xFOUJRVThzUlVGRlZDeEhRVUZKYTBJc1JVRkJTM0JGTEZGQlFWRlJMRk5CUVZka0xFdEJRVXROTEZGQlFWRlJMRTlCUTNaRExFOUJRVThzUlVGRlZDeEpRVUZMTmtRc1JVRkJTV3BHTEVWQlFVa3NSVUZCUjBVc1JVRkJUMGtzUzBGQlMwMHNVVUZCVVZFc1QwRkJVeXhGUVVGSExFZEJRVXRzUWl4RlFVRlBSaXhIUVVGTFJTeEZRVUZQUml4SFFVRkxSU3hGUVVGTkswVXNSVUZCU1N4SFFVRkxMMFVzU1VGQlUwWXNTVUZCVFVFc1JVRkRla2NzU1VGQlMwMHNTMEZCUzAwc1VVRkJVWEZGTEVkQlFVZEdMRmxCUVZsRExFVkJRVXR3UlN4UlFVRlJjVVVzU1VGRE5VTXNUMEZCVHl4RlFVZFlMRTlCUVU4c1IwRkhSblJHTEVWQmNsSnhRaXhMUVhsU04wSlZMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUld4bGJXVnVkQzVxY3lKOSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLm5vZGVzPWV9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5ub2RlcykubGVuZ3RofHwwfX0pLGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXM9bnVsbH0sZS5wcm90b3R5cGUuZ2V0TmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5vZGVzW2VdfSxlLnByb3RvdHlwZS5zZXROYW1lZEl0ZW09ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHQ9dGhpcy5ub2Rlc1tlLm5vZGVOYW1lXSx0aGlzLm5vZGVzW2Uubm9kZU5hbWVdPWUsdHx8bnVsbH0sZS5wcm90b3R5cGUucmVtb3ZlTmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PXRoaXMubm9kZXNbZV0sZGVsZXRlIHRoaXMubm9kZXNbZV0sdHx8bnVsbH0sZS5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2Rlc1tPYmplY3Qua2V5cyh0aGlzLm5vZGVzKVtlXV18fG51bGx9LGUucHJvdG90eXBlLmdldE5hbWVkSXRlbU5TPWZ1bmN0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LGUucHJvdG90eXBlLnNldE5hbWVkSXRlbU5TPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlLnByb3RvdHlwZS5yZW1vdmVOYW1lZEl0ZW1OUz1mdW5jdGlvbihlLHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTVoYldWa1RtOWtaVTFoY0M1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVRtRnRaV1JPYjJSbFRXRndJaXdpYm05a1pYTWlMQ0owYUdseklpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSndjbTkwYjNSNWNHVWlMQ0puWlhRaUxDSnJaWGx6SWl3aWJHVnVaM1JvSWl3aVkyeHZibVVpTENKblpYUk9ZVzFsWkVsMFpXMGlMQ0p1WVcxbElpd2ljMlYwVG1GdFpXUkpkR1Z0SWl3aWJtOWtaU0lzSW05c1pFNXZaR1VpTENKdWIyUmxUbUZ0WlNJc0luSmxiVzkyWlU1aGJXVmtTWFJsYlNJc0ltbDBaVzBpTENKcGJtUmxlQ0lzSW1kbGRFNWhiV1ZrU1hSbGJVNVRJaXdpYm1GdFpYTndZV05sVlZKSklpd2liRzlqWVd4T1lXMWxJaXdpUlhKeWIzSWlMQ0p6WlhST1lXMWxaRWwwWlcxT1V5SXNJbkpsYlc5MlpVNWhiV1ZrU1hSbGJVNVRJaXdpWTJGc2JDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZIUlVFc1QwRkJUME1zVVVGQk5FSXNWMEZEYWtNc1UwRkJVME1zUlVGQlowSkRMRWRCUTNaQ1F5eExRVUZMUkN4TlFVRlJRU3hGUVN0RFppeFBRVFZEUVVVc1QwRkJUME1zWlVGQlpVb3NSVUZCWjBKTExGVkJRVmNzVTBGQlZTeERRVU42UkVNc1NVRkJTeXhYUVVOSUxFOUJRVTlJTEU5QlFVOUpMRXRCUVV0TUxFdEJRVXRFTEU5QlFVOVBMRkZCUVZVc1MwRkpOME5TTEVWQlFXZENTeXhWUVVGVlNTeE5RVUZSTEZkQlEyaERMRTlCUVU5UUxFdEJRVXRFTEUxQlFWRXNUVUZIZEVKRUxFVkJRV2RDU3l4VlFVRlZTeXhoUVVGbExGTkJRVk5ETEVkQlEyaEVMRTlCUVU5VUxFdEJRVXRFTEUxQlFVMVZMRWxCUjNCQ1dDeEZRVUZuUWtzc1ZVRkJWVThzWVVGQlpTeFRRVUZUUXl4SFFVTm9SQ3hKUVVGSlF5eEZRVWRLTEU5QlJrRkJMRVZCUVZWYUxFdEJRVXRFTEUxQlFVMVpMRVZCUVV0RkxGVkJRekZDWWl4TFFVRkxSQ3hOUVVGTldTeEZRVUZMUlN4VlFVRlpSaXhGUVVOeVFrTXNSMEZCVnl4TlFVZHdRbVFzUlVGQlowSkxMRlZCUVZWWExHZENRVUZyUWl4VFFVRlRUQ3hIUVVOdVJDeEpRVUZKUnl4RlFVZEtMRTlCUmtGQkxFVkJRVlZhTEV0QlFVdEVMRTFCUVUxVkxGVkJRMlJVTEV0QlFVdEVMRTFCUVUxVkxFZEJRMWhITEVkQlFWY3NUVUZIY0VKa0xFVkJRV2RDU3l4VlFVRlZXU3hMUVVGUExGTkJRVk5ETEVkQlEzaERMRTlCUVU5b1FpeExRVUZMUkN4TlFVRk5SU3hQUVVGUFNTeExRVUZMVEN4TFFVRkxSQ3hQUVVGUGFVSXNTMEZCVnl4TlFVZDJSR3hDTEVWQlFXZENTeXhWUVVGVll5eGxRVUZwUWl4VFFVRlRReXhGUVVGalF5eEhRVU5vUlN4TlFVRk5MRWxCUVVsRExFMUJRVTBzZDBOQlIyeENkRUlzUlVGQlowSkxMRlZCUVZWclFpeGxRVUZwUWl4VFFVRlRWaXhIUVVOc1JDeE5RVUZOTEVsQlFVbFRMRTFCUVUwc2QwTkJSMnhDZEVJc1JVRkJaMEpMTEZWQlFWVnRRaXhyUWtGQmIwSXNVMEZCVTBvc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpReXhOUVVGTkxIZERRVWRZZEVJc1JVRnFSREJDTEV0QmNVUnNRM2xDTEV0QlFVdDJRaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFNWhiV1ZrVG05a1pVMWhjQzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbixyLGksbyxzLGgscCx1LGMsbCxkLGEsZix5LG0sZz17fS5oYXNPd25Qcm9wZXJ0eTttPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikseT1tLmlzT2JqZWN0LGY9bS5pc0Z1bmN0aW9uLGE9bS5pc0VtcHR5LGQ9bS5nZXRWYWx1ZSxoPW51bGwsbj1udWxsLHI9bnVsbCxpPW51bGwsbz1udWxsLGM9bnVsbCxsPW51bGwsdT1udWxsLHM9bnVsbCxlPW51bGwscD1udWxsLHQ9bnVsbCxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG0oZCl7dGhpcy5wYXJlbnQ9ZCx0aGlzLnBhcmVudCYmKHRoaXMub3B0aW9ucz10aGlzLnBhcmVudC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXRoaXMucGFyZW50LnN0cmluZ2lmeSksdGhpcy52YWx1ZT1udWxsLHRoaXMuY2hpbGRyZW49W10sdGhpcy5iYXNlVVJJPW51bGwsaHx8KGg9cmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxuPXJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLHI9cmVxdWlyZShcIi4vWE1MQ29tbWVudFwiKSxpPXJlcXVpcmUoXCIuL1hNTERlY2xhcmF0aW9uXCIpLG89cmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxjPXJlcXVpcmUoXCIuL1hNTFJhd1wiKSxsPXJlcXVpcmUoXCIuL1hNTFRleHRcIiksdT1yZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIikscz1yZXF1aXJlKFwiLi9YTUxEdW1teVwiKSxlPXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHA9cmVxdWlyZShcIi4vWE1MTm9kZUxpc3RcIikscmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLHQ9cmVxdWlyZShcIi4vRG9jdW1lbnRQb3NpdGlvblwiKSl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5vZGVOYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibm9kZVR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHlwZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJub2RlVmFsdWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwicGFyZW50Tm9kZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwiY2hpbGROb2Rlc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVMaXN0JiZ0aGlzLmNoaWxkTm9kZUxpc3Qubm9kZXN8fCh0aGlzLmNoaWxkTm9kZUxpc3Q9bmV3IHAodGhpcy5jaGlsZHJlbikpLHRoaXMuY2hpbGROb2RlTGlzdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJmaXJzdENoaWxkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkcmVuWzBdfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcImxhc3RDaGlsZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aC0xXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJwcmV2aW91c1NpYmxpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSx0aGlzLnBhcmVudC5jaGlsZHJlblt0LTFdfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5leHRTaWJsaW5nXCIse2dldDpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksdGhpcy5wYXJlbnQuY2hpbGRyZW5bdCsxXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJvd25lckRvY3VtZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50KCl8fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwidGV4dENvbnRlbnRcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQsbixyLGksbztpZih0aGlzLm5vZGVUeXBlPT09ZS5FbGVtZW50fHx0aGlzLm5vZGVUeXBlPT09ZS5Eb2N1bWVudEZyYWdtZW50KXtmb3Iobz1cIlwiLG49MCxyPShpPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPHI7bisrKSh0PWlbbl0pLnRleHRDb250ZW50JiYobys9dC50ZXh0Q29udGVudCk7cmV0dXJuIG99cmV0dXJuIG51bGx9LHNldDpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLG0ucHJvdG90eXBlLnNldFBhcmVudD1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvO2Zvcih0aGlzLnBhcmVudD10LHQmJih0aGlzLm9wdGlvbnM9dC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXQuc3RyaW5naWZ5KSxvPVtdLG49MCxyPShpPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPHI7bisrKWU9aVtuXSxvLnB1c2goZS5zZXRQYXJlbnQodGhpcykpO3JldHVybiBvfSxtLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpLG8scyxoLHAsdSxjLGwsbSx3O2lmKHA9bnVsbCxudWxsPT09ZSYmbnVsbD09biYmKGU9KGw9W3t9LG51bGxdKVswXSxuPWxbMV0pLG51bGw9PWUmJihlPXt9KSxlPWQoZSkseShlKXx8KG49KG09W2Usbl0pWzBdLGU9bVsxXSksbnVsbCE9dCYmKHQ9ZCh0KSksQXJyYXkuaXNBcnJheSh0KSlmb3Iobz0wLHU9dC5sZW5ndGg7bzx1O28rKylpPXRbb10scD10aGlzLmVsZW1lbnQoaSk7ZWxzZSBpZihmKHQpKXA9dGhpcy5lbGVtZW50KHQuYXBwbHkoKSk7ZWxzZSBpZih5KHQpKXtmb3IoaCBpbiB0KWlmKGcuY2FsbCh0LGgpKWlmKHc9dFtoXSxmKHcpJiYodz13LmFwcGx5KCkpLCF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydEF0dEtleSYmMD09PWguaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0QXR0S2V5KSlwPXRoaXMuYXR0cmlidXRlKGguc3Vic3RyKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRBdHRLZXkubGVuZ3RoKSx3KTtlbHNlIGlmKCF0aGlzLm9wdGlvbnMuc2VwYXJhdGVBcnJheUl0ZW1zJiZBcnJheS5pc0FycmF5KHcpJiZhKHcpKXA9dGhpcy5kdW1teSgpO2Vsc2UgaWYoeSh3KSYmYSh3KSlwPXRoaXMuZWxlbWVudChoKTtlbHNlIGlmKHRoaXMub3B0aW9ucy5rZWVwTnVsbE5vZGVzfHxudWxsIT13KWlmKCF0aGlzLm9wdGlvbnMuc2VwYXJhdGVBcnJheUl0ZW1zJiZBcnJheS5pc0FycmF5KHcpKWZvcihzPTAsYz13Lmxlbmd0aDtzPGM7cysrKWk9d1tzXSwocj17fSlbaF09aSxwPXRoaXMuZWxlbWVudChyKTtlbHNlIHkodyk/IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0VGV4dEtleSYmMD09PWguaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0VGV4dEtleSk/cD10aGlzLmVsZW1lbnQodyk6KHA9dGhpcy5lbGVtZW50KGgpKS5lbGVtZW50KHcpOnA9dGhpcy5lbGVtZW50KGgsdyk7ZWxzZSBwPXRoaXMuZHVtbXkoKX1lbHNlIHA9dGhpcy5vcHRpb25zLmtlZXBOdWxsTm9kZXN8fG51bGwhPT1uPyF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkpP3RoaXMudGV4dChuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRDRGF0YUtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q0RhdGFLZXkpP3RoaXMuY2RhdGEobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q29tbWVudEtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q29tbWVudEtleSk/dGhpcy5jb21tZW50KG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFJhd0tleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UmF3S2V5KT90aGlzLnJhdyhuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRQSUtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UElLZXkpP3RoaXMuaW5zdHJ1Y3Rpb24odC5zdWJzdHIodGhpcy5zdHJpbmdpZnkuY29udmVydFBJS2V5Lmxlbmd0aCksbik6dGhpcy5ub2RlKHQsZSxuKTp0aGlzLmR1bW15KCk7aWYobnVsbD09cCl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgY3JlYXRlIGFueSBlbGVtZW50cyB3aXRoOiBcIit0K1wiLiBcIit0aGlzLmRlYnVnSW5mbygpKTtyZXR1cm4gcH0sbS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpLG8scyxoO2lmKG51bGwhPXQ/dC50eXBlOnZvaWQgMClyZXR1cm4gcz1lLChvPXQpLnNldFBhcmVudCh0aGlzKSxzPyhpPWNoaWxkcmVuLmluZGV4T2YocyksaD1jaGlsZHJlbi5zcGxpY2UoaSksY2hpbGRyZW4ucHVzaChvKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShjaGlsZHJlbixoKSk6Y2hpbGRyZW4ucHVzaChvKSxvO2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBpbnNlcnQgZWxlbWVudHMgYXQgcm9vdCBsZXZlbC4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO3JldHVybiBpPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksaD10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoaSkscj10aGlzLnBhcmVudC5lbGVtZW50KHQsZSxuKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixoKSxyfSxtLnByb3RvdHlwZS5pbnNlcnRBZnRlcj1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvO2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBpbnNlcnQgZWxlbWVudHMgYXQgcm9vdCBsZXZlbC4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO3JldHVybiBpPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbz10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoaSsxKSxyPXRoaXMucGFyZW50LmVsZW1lbnQodCxlLG4pLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLG8pLHJ9LG0ucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3ZhciB0O2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCByZW1vdmUgdGhlIHJvb3QgZWxlbWVudC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxbXS5zcGxpY2UuYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sW3QsdC10KzFdLmNvbmNhdChbXSkpLHRoaXMucGFyZW50fSxtLnByb3RvdHlwZS5ub2RlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpO3JldHVybiBudWxsIT10JiYodD1kKHQpKSxlfHwoZT17fSksZT1kKGUpLHkoZSl8fChuPShpPVtlLG5dKVswXSxlPWlbMV0pLHI9bmV3IGgodGhpcyx0LGUpLG51bGwhPW4mJnIudGV4dChuKSx0aGlzLmNoaWxkcmVuLnB1c2gocikscn0sbS5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4geSh0KSYmdGhpcy5lbGVtZW50KHQpLGU9bmV3IGwodGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IG4odGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT1uZXcgcih0aGlzLHQpLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5jb21tZW50QmVmb3JlPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxuPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShlKSx0aGlzLnBhcmVudC5jb21tZW50KHQpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLG4pLHRoaXN9LG0ucHJvdG90eXBlLmNvbW1lbnRBZnRlcj1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoZSsxKSx0aGlzLnBhcmVudC5jb21tZW50KHQpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLG4pLHRoaXN9LG0ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT1uZXcgYyh0aGlzLHQpLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5kdW1teT1mdW5jdGlvbigpe3JldHVybiBuZXcgcyh0aGlzKX0sbS5wcm90b3R5cGUuaW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbyxzO2lmKG51bGwhPXQmJih0PWQodCkpLG51bGwhPWUmJihlPWQoZSkpLEFycmF5LmlzQXJyYXkodCkpZm9yKG89MCxzPXQubGVuZ3RoO288cztvKyspbj10W29dLHRoaXMuaW5zdHJ1Y3Rpb24obik7ZWxzZSBpZih5KHQpKWZvcihuIGluIHQpZy5jYWxsKHQsbikmJihyPXRbbl0sdGhpcy5pbnN0cnVjdGlvbihuLHIpKTtlbHNlIGYoZSkmJihlPWUuYXBwbHkoKSksaT1uZXcgdSh0aGlzLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKGkpO3JldHVybiB0aGlzfSxtLnByb3RvdHlwZS5pbnN0cnVjdGlvbkJlZm9yZT1mdW5jdGlvbih0LGUpe3ZhciBuLHI7cmV0dXJuIG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxyPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShuKSx0aGlzLnBhcmVudC5pbnN0cnVjdGlvbih0LGUpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLHIpLHRoaXN9LG0ucHJvdG90eXBlLmluc3RydWN0aW9uQWZ0ZXI9ZnVuY3Rpb24odCxlKXt2YXIgbixyO3JldHVybiBuPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykscj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UobisxKSx0aGlzLnBhcmVudC5pbnN0cnVjdGlvbih0LGUpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLHIpLHRoaXN9LG0ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKHQsbixyKXt2YXIgbyxzO3JldHVybiBvPXRoaXMuZG9jdW1lbnQoKSxzPW5ldyBpKG8sdCxuLHIpLDA9PT1vLmNoaWxkcmVuLmxlbmd0aD9vLmNoaWxkcmVuLnVuc2hpZnQocyk6by5jaGlsZHJlblswXS50eXBlPT09ZS5EZWNsYXJhdGlvbj9vLmNoaWxkcmVuWzBdPXM6by5jaGlsZHJlbi51bnNoaWZ0KHMpLG8ucm9vdCgpfHxvfSxtLnByb3RvdHlwZS5kdGQ9ZnVuY3Rpb24odCxuKXt2YXIgcixpLHMsaCxwLHUsYyxsLGQ7Zm9yKHI9dGhpcy5kb2N1bWVudCgpLGk9bmV3IG8ocix0LG4pLHM9aD0wLHU9KGw9ci5jaGlsZHJlbikubGVuZ3RoO2g8dTtzPSsraClpZihsW3NdLnR5cGU9PT1lLkRvY1R5cGUpcmV0dXJuIHIuY2hpbGRyZW5bc109aSxpO2ZvcihzPXA9MCxjPShkPXIuY2hpbGRyZW4pLmxlbmd0aDtwPGM7cz0rK3ApaWYoZFtzXS5pc1Jvb3QpcmV0dXJuIHIuY2hpbGRyZW4uc3BsaWNlKHMsMCxpKSxpO3JldHVybiByLmNoaWxkcmVuLnB1c2goaSksaX0sbS5wcm90b3R5cGUudXA9ZnVuY3Rpb24oKXtpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgcm9vdCBub2RlIGhhcyBubyBwYXJlbnQuIFVzZSBkb2MoKSBpZiB5b3UgbmVlZCB0byBnZXQgdGhlIGRvY3VtZW50IG9iamVjdC5cIik7cmV0dXJuIHRoaXMucGFyZW50fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKHQ9dGhpczt0Oyl7aWYodC50eXBlPT09ZS5Eb2N1bWVudClyZXR1cm4gdC5yb290T2JqZWN0O2lmKHQuaXNSb290KXJldHVybiB0O3Q9dC5wYXJlbnR9fSxtLnByb3RvdHlwZS5kb2N1bWVudD1mdW5jdGlvbigpe3ZhciB0O2Zvcih0PXRoaXM7dDspe2lmKHQudHlwZT09PWUuRG9jdW1lbnQpcmV0dXJuIHQ7dD10LnBhcmVudH19LG0ucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kb2N1bWVudCgpLmVuZCh0KX0sbS5wcm90b3R5cGUucHJldj1mdW5jdGlvbigpe3ZhciB0O2lmKCh0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykpPDEpdGhyb3cgbmV3IEVycm9yKFwiQWxyZWFkeSBhdCB0aGUgZmlyc3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHRoaXMucGFyZW50LmNoaWxkcmVuW3QtMV19LG0ucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXt2YXIgdDtpZigtMT09PSh0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykpfHx0PT09dGhpcy5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoLTEpdGhyb3cgbmV3IEVycm9yKFwiQWxyZWFkeSBhdCB0aGUgbGFzdCBub2RlLiBcIit0aGlzLmRlYnVnSW5mbygpKTtyZXR1cm4gdGhpcy5wYXJlbnQuY2hpbGRyZW5bdCsxXX0sbS5wcm90b3R5cGUuaW1wb3J0RG9jdW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuKGU9dC5yb290KCkuY2xvbmUoKSkucGFyZW50PXRoaXMsZS5pc1Jvb3Q9ITEsdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmRlYnVnSW5mbz1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBudWxsIT0odD10fHx0aGlzLm5hbWUpfHwobnVsbCE9KGU9dGhpcy5wYXJlbnQpP2UubmFtZTp2b2lkIDApP251bGw9PXQ/XCJwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwiOihudWxsIT0obj10aGlzLnBhcmVudCk/bi5uYW1lOnZvaWQgMCk/XCJub2RlOiA8XCIrdCtcIj4sIHBhcmVudDogPFwiK3RoaXMucGFyZW50Lm5hbWUrXCI+XCI6XCJub2RlOiA8XCIrdCtcIj5cIjpcIlwifSxtLnByb3RvdHlwZS5lbGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLmVsZW1lbnQodCxlLG4pfSxtLnByb3RvdHlwZS5ub2Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLm5vZGUodCxlLG4pfSxtLnByb3RvdHlwZS50eHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sbS5wcm90b3R5cGUuZGF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNkYXRhKHQpfSxtLnByb3RvdHlwZS5jb209ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29tbWVudCh0KX0sbS5wcm90b3R5cGUuaW5zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuaW5zdHJ1Y3Rpb24odCxlKX0sbS5wcm90b3R5cGUuZG9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnQoKX0sbS5wcm90b3R5cGUuZGVjPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5kZWNsYXJhdGlvbih0LGUsbil9LG0ucHJvdG90eXBlLmU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLmVsZW1lbnQodCxlLG4pfSxtLnByb3RvdHlwZS5uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxuKX0sbS5wcm90b3R5cGUudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXh0KHQpfSxtLnByb3RvdHlwZS5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNkYXRhKHQpfSxtLnByb3RvdHlwZS5jPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LG0ucHJvdG90eXBlLnI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmF3KHQpfSxtLnByb3RvdHlwZS5pPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuaW5zdHJ1Y3Rpb24odCxlKX0sbS5wcm90b3R5cGUudT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnVwKCl9LG0ucHJvdG90eXBlLmltcG9ydFhNTEJ1aWxkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW1wb3J0RG9jdW1lbnQodCl9LG0ucHJvdG90eXBlLnJlcGxhY2VDaGlsZD1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmhhc0NoaWxkTm9kZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RofSxtLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4hMH0sbS5wcm90b3R5cGUuaGFzQXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5hdHRyaWJzLmxlbmd0aH0sbS5wcm90b3R5cGUuY29tcGFyZURvY3VtZW50UG9zaXRpb249ZnVuY3Rpb24oZSl7dmFyIG47cmV0dXJuIHRoaXMsdGhpcz09PWU/MDp0aGlzLmRvY3VtZW50KCkhPT1lLmRvY3VtZW50KCk/KG49dC5EaXNjb25uZWN0ZWR8dC5JbXBsZW1lbnRhdGlvblNwZWNpZmljLE1hdGgucmFuZG9tKCk8LjU/bnw9dC5QcmVjZWRpbmc6bnw9dC5Gb2xsb3dpbmcsbik6dGhpcy5pc0FuY2VzdG9yKGUpP3QuQ29udGFpbnN8dC5QcmVjZWRpbmc6dGhpcy5pc0Rlc2NlbmRhbnQoZSk/dC5Db250YWluc3x0LkZvbGxvd2luZzp0aGlzLmlzUHJlY2VkaW5nKGUpP3QuUHJlY2VkaW5nOnQuRm9sbG93aW5nfSxtLnByb3RvdHlwZS5pc1NhbWVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmxvb2t1cFByZWZpeD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5pc0RlZmF1bHROYW1lc3BhY2U9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUubG9va3VwTmFtZXNwYWNlVVJJPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3ZhciBlLG4scjtpZih0Lm5vZGVUeXBlIT09dGhpcy5ub2RlVHlwZSlyZXR1cm4hMTtpZih0LmNoaWxkcmVuLmxlbmd0aCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoKXJldHVybiExO2ZvcihlPW49MCxyPXRoaXMuY2hpbGRyZW4ubGVuZ3RoLTE7MDw9cj9uPD1yOm4+PXI7ZT0wPD1yPysrbjotLW4paWYoIXRoaXMuY2hpbGRyZW5bZV0uaXNFcXVhbE5vZGUodC5jaGlsZHJlbltlXSkpcmV0dXJuITE7cmV0dXJuITB9LG0ucHJvdG90eXBlLmdldEZlYXR1cmU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5zZXRVc2VyRGF0YT1mdW5jdGlvbih0LGUsbil7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuZ2V0VXNlckRhdGE9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuISF0JiYodD09PXRoaXN8fHRoaXMuaXNEZXNjZW5kYW50KHQpKX0sbS5wcm90b3R5cGUuaXNEZXNjZW5kYW50PWZ1bmN0aW9uKHQpe3ZhciBlLG4scixpO2ZvcihuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKyl7aWYodD09PShlPWlbbl0pKXJldHVybiEwO2lmKGUuaXNEZXNjZW5kYW50KHQpKXJldHVybiEwfXJldHVybiExfSxtLnByb3RvdHlwZS5pc0FuY2VzdG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0LmlzRGVzY2VuZGFudCh0aGlzKX0sbS5wcm90b3R5cGUuaXNQcmVjZWRpbmc9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnRyZWVQb3NpdGlvbih0KSxuPXRoaXMudHJlZVBvc2l0aW9uKHRoaXMpLC0xIT09ZSYmLTEhPT1uJiZlPG59LG0ucHJvdG90eXBlLmlzRm9sbG93aW5nPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy50cmVlUG9zaXRpb24odCksbj10aGlzLnRyZWVQb3NpdGlvbih0aGlzKSwtMSE9PWUmJi0xIT09biYmZT5ufSxtLnByb3RvdHlwZS50cmVlUG9zaXRpb249ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbj0wLGU9ITEsdGhpcy5mb3JlYWNoVHJlZU5vZGUodGhpcy5kb2N1bWVudCgpLGZ1bmN0aW9uKHIpe2lmKG4rKywhZSYmcj09PXQpcmV0dXJuIGU9ITB9KSxlP246LTF9LG0ucHJvdG90eXBlLmZvcmVhY2hUcmVlTm9kZT1mdW5jdGlvbih0LGUpe3ZhciBuLHIsaSxvLHM7Zm9yKHR8fCh0PXRoaXMuZG9jdW1lbnQoKSkscj0wLGk9KG89dC5jaGlsZHJlbikubGVuZ3RoO3I8aTtyKyspe2lmKHM9ZShuPW9bcl0pKXJldHVybiBzO2lmKHM9dGhpcy5mb3JlYWNoVHJlZU5vZGUobixlKSlyZXR1cm4gc319LG19KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFNXZaR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJazV2WkdWVWVYQmxJaXdpV0UxTVEwUmhkR0VpTENKWVRVeERiMjF0Wlc1MElpd2lXRTFNUkdWamJHRnlZWFJwYjI0aUxDSllUVXhFYjJOVWVYQmxJaXdpV0UxTVJIVnRiWGtpTENKWVRVeEZiR1Z0Wlc1MElpd2lXRTFNVG05a1pVeHBjM1FpTENKWVRVeFFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKWVRVeFNZWGNpTENKWVRVeFVaWGgwSWl3aVoyVjBWbUZzZFdVaUxDSnBjMFZ0Y0hSNUlpd2lhWE5HZFc1amRHbHZiaUlzSW1selQySnFaV04wSWl3aWNtVm1NU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1UbTlrWlNJc0luQmhjbVZ1ZERFaUxDSjBhR2x6SWl3aWNHRnlaVzUwSWl3aWIzQjBhVzl1Y3lJc0luTjBjbWx1WjJsbWVTSXNJblpoYkhWbElpd2lZMmhwYkdSeVpXNGlMQ0ppWVhObFZWSkpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0p1WVcxbElpd2lkSGx3WlNJc0ltTm9hV3hrVG05a1pVeHBjM1FpTENKdWIyUmxjeUlzSW14bGJtZDBhQ0lzSW1raUxDSnBibVJsZUU5bUlpd2laRzlqZFcxbGJuUWlMQ0pqYUdsc1pDSXNJbW9pTENKc1pXNGlMQ0p5WldZeUlpd2ljM1J5SWl3aWJtOWtaVlI1Y0dVaUxDSkZiR1Z0Wlc1MElpd2lSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJblJsZUhSRGIyNTBaVzUwSWl3aWMyVjBJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKelpYUlFZWEpsYm5RaUxDSnlaWE4xYkhSeklpd2ljSFZ6YUNJc0ltVnNaVzFsYm5RaUxDSmhkSFJ5YVdKMWRHVnpJaXdpZEdWNGRDSXNJbU5vYVd4a1RtOWtaU0lzSW1sMFpXMGlMQ0pySWl3aWEyVjVJaXdpYkdGemRFTm9hV3hrSWl3aWJHVnVNU0lzSW5KbFpqTWlMQ0oyWVd3aUxDSkJjbkpoZVNJc0ltbHpRWEp5WVhraUxDSmhjSEJzZVNJc0ltTmhiR3dpTENKcFoyNXZjbVZFWldOdmNtRjBiM0p6SWl3aVkyOXVkbVZ5ZEVGMGRFdGxlU0lzSW1GMGRISnBZblYwWlNJc0luTjFZbk4wY2lJc0luTmxjR0Z5WVhSbFFYSnlZWGxKZEdWdGN5SXNJbVIxYlcxNUlpd2lhMlZsY0U1MWJHeE9iMlJsY3lJc0ltTnZiblpsY25SVVpYaDBTMlY1SWl3aVkyOXVkbVZ5ZEVORVlYUmhTMlY1SWl3aVkyUmhkR0VpTENKamIyNTJaWEowUTI5dGJXVnVkRXRsZVNJc0ltTnZiVzFsYm5RaUxDSmpiMjUyWlhKMFVtRjNTMlY1SWl3aWNtRjNJaXdpWTI5dWRtVnlkRkJKUzJWNUlpd2lhVzV6ZEhKMVkzUnBiMjRpTENKdWIyUmxJaXdpYVc1elpYSjBRbVZtYjNKbElpd2libVYzUTJocGJHUWlMQ0p5WldaRGFHbHNaQ0lzSW5KbGJXOTJaV1FpTENKemNHeHBZMlVpTENKcGMxSnZiM1FpTENKcGJuTmxjblJCWm5SbGNpSXNJbkpsYlc5MlpTSXNJbU52Ym1OaGRDSXNJbU52YlcxbGJuUkNaV1p2Y21VaUxDSmpiMjF0Wlc1MFFXWjBaWElpTENKMFlYSm5aWFFpTENKcGJuTlVZWEpuWlhRaUxDSnBibk5XWVd4MVpTSXNJbWx1YzNSeWRXTjBhVzl1UW1WbWIzSmxJaXdpYVc1emRISjFZM1JwYjI1QlpuUmxjaUlzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZeUlzSW5odGJHUmxZeUlzSW5WdWMyaHBablFpTENKRVpXTnNZWEpoZEdsdmJpSXNJbkp2YjNRaUxDSmtkR1FpTENKd2RXSkpSQ0lzSW5ONWMwbEVJaXdpWkc5amRIbHdaU0lzSWtSdlkxUjVjR1VpTENKMWNDSXNJa1J2WTNWdFpXNTBJaXdpY205dmRFOWlhbVZqZENJc0ltVnVaQ0lzSW5CeVpYWWlMQ0p1WlhoMElpd2lhVzF3YjNKMFJHOWpkVzFsYm5RaUxDSmpiRzl1WldSU2IyOTBJaXdpWTJ4dmJtVWlMQ0psYkdVaUxDSnViMlFpTENKMGVIUWlMQ0prWVhRaUxDSmpiMjBpTENKcGJuTWlMQ0prWldNaUxDSmxJaXdpYmlJc0luUWlMQ0prSWl3aVl5SXNJbklpTENKMUlpd2lhVzF3YjNKMFdFMU1RblZwYkdSbGNpSXNJbkpsY0d4aFkyVkRhR2xzWkNJc0ltOXNaRU5vYVd4a0lpd2ljbVZ0YjNabFEyaHBiR1FpTENKaGNIQmxibVJEYUdsc1pDSXNJbWhoYzBOb2FXeGtUbTlrWlhNaUxDSmpiRzl1WlU1dlpHVWlMQ0prWldWd0lpd2libTl5YldGc2FYcGxJaXdpYVhOVGRYQndiM0owWldRaUxDSm1aV0YwZFhKbElpd2lhR0Z6UVhSMGNtbGlkWFJsY3lJc0ltRjBkSEpwWW5NaUxDSmpiMjF3WVhKbFJHOWpkVzFsYm5SUWIzTnBkR2x2YmlJc0ltOTBhR1Z5SWl3aWNtVnpJaXdpUkdselkyOXVibVZqZEdWa0lpd2lTVzF3YkdWdFpXNTBZWFJwYjI1VGNHVmphV1pwWXlJc0lrMWhkR2dpTENKeVlXNWtiMjBpTENKUWNtVmpaV1JwYm1jaUxDSkdiMnhzYjNkcGJtY2lMQ0pwYzBGdVkyVnpkRzl5SWl3aVEyOXVkR0ZwYm5NaUxDSnBjMFJsYzJObGJtUmhiblFpTENKcGMxQnlaV05sWkdsdVp5SXNJbWx6VTJGdFpVNXZaR1VpTENKc2IyOXJkWEJRY21WbWFYZ2lMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSnBjMFJsWm1GMWJIUk9ZVzFsYzNCaFkyVWlMQ0pzYjI5cmRYQk9ZVzFsYzNCaFkyVlZVa2tpTENKd2NtVm1hWGdpTENKcGMwVnhkV0ZzVG05a1pTSXNJbWRsZEVabFlYUjFjbVVpTENKelpYUlZjMlZ5UkdGMFlTSXNJbVJoZEdFaUxDSm9ZVzVrYkdWeUlpd2laMlYwVlhObGNrUmhkR0VpTENKamIyNTBZV2x1Y3lJc0ltNXZaR1ZRYjNNaUxDSjBhR2x6VUc5eklpd2lkSEpsWlZCdmMybDBhVzl1SWl3aWFYTkdiMnhzYjNkcGJtY2lMQ0ptYjNWdVpDSXNJbkJ2Y3lJc0ltWnZjbVZoWTJoVWNtVmxUbTlrWlNJc0ltWjFibU1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJhMEpETEVWQlFWVkRMRVZCUVZWRExFVkJRVmxETEVWQlFXZENReXhGUVVGWlF5eEZRVUZWUXl4RlFVRnpRME1zUlVGQllVTXNSVUZCTUVKRExFVkJRVkZETEVWQlFWTkRMRVZCUVZWRExFVkJRVk5ETEVWQlFWbERMRVZCUVZWRExFVkJRMnBQUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFVOUhMRkZCUVZFc1lVRkJZMG9zUlVGQlYwTXNSVUZCUzBRc1UwRkJWVVFzUlVGQllVVXNSVUZCUzBZc1YwRkJXVVFzUlVGQlZVY3NSVUZCUzBnc1VVRkJVMFFzUlVGQlYwa3NSVUZCUzBvc1UwRkZOMGhNTEVWQlFXRXNTMEZGWWt3c1JVRkJWeXhMUVVWWVF5eEZRVUZoTEV0QlJXSkRMRVZCUVdsQ0xFdEJSV3BDUXl4RlFVRmhMRXRCUldKTExFVkJRVk1zUzBGRlZFTXNSVUZCVlN4TFFVVldSaXhGUVVFeVFpeExRVVV6UWtnc1JVRkJWeXhMUVVWWVRDeEZRVUZYTEV0QlJWaFBMRVZCUVdNc1MwRkpaRklzUlVGQmJVSXNTMEZGYmtKdlFpeFBRVUZQUXl4UlFVRnZRaXhYUVVONlFpeFRRVUZUUXl4RlFVRlJReXhIUVVObVF5eExRVUZMUXl4UFFVRlRSaXhGUVVOV1F5eExRVUZMUXl4VFFVTlFSQ3hMUVVGTFJTeFJRVUZWUml4TFFVRkxReXhQUVVGUFF5eFJRVU16UWtZc1MwRkJTMGNzVlVGQldVZ3NTMEZCUzBNc1QwRkJUMFVzVjBGRkwwSklMRXRCUVV0SkxFMUJRVkVzUzBGRFlrb3NTMEZCUzBzc1UwRkJWeXhIUVVOb1Frd3NTMEZCUzAwc1VVRkJWU3hMUVVOV2RrSXNTVUZEU0VFc1JVRkJZVmtzVVVGQlVTeG5Ra0ZEY2tKcVFpeEZRVUZYYVVJc1VVRkJVU3hqUVVOdVFtaENMRVZCUVdGblFpeFJRVUZSTEdkQ1FVTnlRbVlzUlVGQmFVSmxMRkZCUVZFc2IwSkJRM3BDWkN4RlFVRmhZeXhSUVVGUkxHZENRVU55UWxRc1JVRkJVMU1zVVVGQlVTeFpRVU5xUWxJc1JVRkJWVkVzVVVGQlVTeGhRVU5zUWxZc1JVRkJNa0pWTEZGQlFWRXNPRUpCUTI1RFlpeEZRVUZYWVN4UlFVRlJMR05CUTI1Q2JFSXNSVUZCVjJ0Q0xGRkJRVkVzWTBGRGJrSllMRVZCUVdOWExGRkJRVkVzYVVKQlEwcEJMRkZCUVZFc2NVSkJRekZDYmtJc1JVRkJiVUp0UWl4UlFVRlJMSFZDUVc5MFFpOUNMRTlCYUhSQ1FWa3NUMEZCVDBNc1pVRkJaVllzUlVGQlVWY3NWVUZCVnl4WFFVRlpMRU5CUTI1RVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDFZc1MwRkJTMWNzVVVGSmFFSktMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1YwRkJXU3hEUVVOdVJFTXNTVUZCU3l4WFFVTklMRTlCUVU5V0xFdEJRVXRaTEZGQlNXaENUQ3hQUVVGUFF5eGxRVUZsVml4RlFVRlJWeXhWUVVGWExGbEJRV0VzUTBGRGNFUkRMRWxCUVVzc1YwRkRTQ3hQUVVGUFZpeExRVUZMU1N4VFFVbG9Ra2NzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eGhRVUZqTEVOQlEzSkVReXhKUVVGTExGZEJRMGdzVDBGQlQxWXNTMEZCUzBNc1ZVRkphRUpOTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NZVUZCWXl4RFFVTnlSRU1zU1VGQlN5eFhRVWxJTEU5QlNFdFdMRXRCUVV0aExHVkJRV3RDWWl4TFFVRkxZU3hqUVVGalF5eFJRVU0zUTJRc1MwRkJTMkVzWTBGQlowSXNTVUZCU1RkQ0xFVkJRVmxuUWl4TFFVRkxTeXhYUVVWeVEwd3NTMEZCUzJFc2FVSkJTV2hDVGl4UFFVRlBReXhsUVVGbFZpeEZRVUZSVnl4VlFVRlhMR0ZCUVdNc1EwRkRja1JETEVsQlFVc3NWMEZEU0N4UFFVRlBWaXhMUVVGTFN5eFRRVUZUTEVsQlFVMHNVVUZKTDBKRkxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzV1VGQllTeERRVU53UkVNc1NVRkJTeXhYUVVOSUxFOUJRVTlXTEV0QlFVdExMRk5CUVZOTUxFdEJRVXRMTEZOQlFWTlZMRTlCUVZNc1NVRkJUU3hSUVVsMFJGSXNUMEZCVDBNc1pVRkJaVllzUlVGQlVWY3NWVUZCVnl4clFrRkJiVUlzUTBGRE1VUkRMRWxCUVVzc1YwRkRTQ3hKUVVGSlRTeEZRVVZLTEU5QlJFRkJMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRNVUpCTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5YTEVWQlFVa3NTVUZCVFN4UlFVa3hRMVFzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eGpRVUZsTEVOQlEzUkVReXhKUVVGTExGZEJRMGdzU1VGQlNVMHNSVUZGU2l4UFFVUkJRU3hGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xFMUJRekZDUVN4TFFVRkxReXhQUVVGUFNTeFRRVUZUVnl4RlFVRkpMRWxCUVUwc1VVRkpNVU5VTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NaMEpCUVdsQ0xFTkJRM2hFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMVlzUzBGQlMydENMRmxCUVdNc1VVRkpPVUpZTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NZMEZCWlN4RFFVTjBSRU1zU1VGQlN5eFhRVU5JTEVsQlFVbFRMRVZCUVU5RExFVkJRVWRETEVWQlFVdERMRVZCUVUxRExFVkJRM3BDTEVkQlFVbDJRaXhMUVVGTGQwSXNWMEZCWVM5RExFVkJRVk5uUkN4VFFVRlhla0lzUzBGQlMzZENMRmRCUVdFdlF5eEZRVUZUYVVRc2FVSkJRV3RDTEVOQlIzSkdMRWxCUmtGSUxFVkJRVTBzUjBGRlJFZ3NSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZQZEVJc1MwRkJTMHNzVlVGRFYxVXNUMEZCVVVzc1JVRkJTVU1zUlVGQlMwUXNTMEZEZEVORUxFVkJRVkZITEVWQlFVdEdMRWxCUTBoUExHTkJRMUpLTEVkQlFVOUtMRVZCUVUxUkxHRkJSMnBDTEU5QlFVOUtMRVZCUlZBc1QwRkJUeXhOUVVkWVN5eEpRVUZMTEZOQlFWTjRRaXhIUVVOYUxFMUJRVTBzU1VGQlNYbENMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdkQ1FVbHFSV2hETEVWQlFWRlhMRlZCUVZWelFpeFZRVUZaTEZOQlFWTTVRaXhIUVVOeVF5eEpRVUZKYTBJc1JVRkJUME1zUlVGQlIwTXNSVUZCUzBNc1JVRkJUVlVzUlVGUmVrSXNTVUZRUVdoRExFdEJRVXRETEU5QlFWTkJMRVZCUTFaQkxFbEJRMFpFTEV0QlFVdEZMRkZCUVZWRUxFVkJRVTlETEZGQlEzUkNSaXhMUVVGTFJ5eFZRVUZaUml4RlFVRlBSU3hYUVVjeFFqWkNMRVZCUVZVc1IwRkRURm9zUlVGQlNTeEZRVUZIUXl4SFFVWmFReXhGUVVGUGRFSXNTMEZCUzBzc1ZVRkZWMVVzVDBGQlVVc3NSVUZCU1VNc1JVRkJTMFFzU1VGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVkQlEySlpMRVZCUVZGRExFdEJRVXRrTEVWQlFVMVpMRlZCUVZVdlFpeFBRVVV2UWl4UFFVRlBaME1zUjBGSFZHeERMRVZCUVZGWExGVkJRVlY1UWl4UlFVRlZMRk5CUVZOMlFpeEZRVUZOZDBJc1JVRkJXVU1zUjBGRGNrUXNTVUZCU1VNc1JVRkJWME1zUlVGQlRXeENMRVZCUVVkdFFpeEZRVUZIUXl4RlFVRkxReXhGUVVGWGNFSXNSVUZCUzNGQ0xFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRVTXNSVUZsYkVVc1IwRmtRVWdzUlVGQldTeExRVU5QTEU5QlFXWk9MRWRCUVdkRExFMUJRVkpETEVsQlExQkVMRWRCUVc1Q1lpeEZRVUZQTEVOQlFVTXNSMEZCU1N4UFFVRjVRaXhIUVVGSll5eEZRVUZQWkN4RlFVRkxMRWxCUlhKRExFMUJRV1JoTEVsQlEwWkJMRVZCUVdFc1NVRkZaa0VzUlVGQllTOURMRVZCUVZNclF5eEhRVU5xUWpWRExFVkJRVk0wUXl4TFFVTmxReXhIUVVFelFrOHNSVUZCVHl4RFFVRkRVaXhGUVVGWlF5eEpRVUZ0UWl4SFFVRkpSQ3hGUVVGaFVTeEZRVUZMTEVsQlJXNUVMRTFCUVZKb1F5eEpRVU5HUVN4RlFVRlBka0lzUlVGQlUzVkNMRWxCUldSclF5eE5RVUZOUXl4UlFVRlJia01zUjBGRGFFSXNTVUZCUzFNc1JVRkJTU3hGUVVGSFF5eEZRVUZOVml4RlFVRkxTU3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVOMFEydENMRVZCUVU4elFpeEZRVUZMVXl4SFFVTmFjVUlzUlVGQldYcERMRXRCUVV0clF5eFJRVUZSU1N4UlFVVjBRaXhIUVVGSmFFUXNSVUZCVjNGQ0xFZEJRM0JDT0VJc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUmRrSXNSVUZCUzI5RExHTkJRM3BDTEVkQlFVbDRSQ3hGUVVGVGIwSXNTVUZEYkVJc1NVRkJTelpDTEV0QlFVODNRaXhGUVVOV0xFZEJRVXRzUWl4RlFVRlJkVVFzUzBGQlMzSkRMRVZCUVUwMlFpeEhRVXQ0UWl4SFFVcEJTU3hGUVVGTmFrTXNSVUZCU3paQ0xFZEJRMUJzUkN4RlFVRlhjMFFzUzBGRFlrRXNSVUZCVFVFc1JVRkJTVWNzVlVGRlVDOURMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVkswTXNaVUZCSzBRc1NVRkJPVU5XTEVWQlFVbDJRaXhSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWU3RETEdWQlF5OUdWQ3hGUVVGWmVrTXNTMEZCUzIxRUxGVkJRVlZZTEVWQlFVbFpMRTlCUVU5d1JDeExRVUZMUnl4VlFVRlZLME1zWTBGQlkyNURMRkZCUVZNMlFpeFJRVU4yUlN4SlFVRkxOVU1zUzBGQlMwVXNVVUZCVVcxRUxHOUNRVUZ6UWxJc1RVRkJUVU1zVVVGQlVVWXNTVUZCVVhaRUxFVkJRVkYxUkN4SFFVTXpSVWdzUlVGQldYcERMRXRCUVV0elJDeGhRVU5hTEVkQlFVa3ZSQ3hGUVVGVGNVUXNTVUZCVVhaRUxFVkJRVkYxUkN4SFFVTnNRMGdzUlVGQldYcERMRXRCUVV0clF5eFJRVUZSVFN4UlFVTndRaXhIUVVGTGVFTXNTMEZCUzBVc1VVRkJVWEZFTEdWQlFYbENMRTFCUVZCWUxFVkJSWEJETEVsQlFVczFReXhMUVVGTFJTeFJRVUZSYlVRc2IwSkJRWE5DVWl4TlFVRk5ReXhSUVVGUlJpeEhRVU16UkN4SlFVRkxUQ3hGUVVGSkxFVkJRVWRITEVWQlFVOUZMRVZCUVVrM1FpeFBRVUZSZDBJc1JVRkJTVWNzUlVGQlRVZ3NTVUZEZGtORUxFVkJRVTlOTEVWQlFVbE1MRWxCUTFoR0xFVkJRVmtzU1VGRFJrY3NSMEZCVDBZc1JVRkRha0pITEVWQlFWbDZReXhMUVVGTGEwTXNVVUZCVVVjc1VVRkZiRUk1UXl4RlFVRlRjVVFzU1VGRFlqVkRMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVmNVUXNaMEpCUVdsRkxFbEJRUzlEYUVJc1JVRkJTWFpDTEZGQlFWRnFRaXhMUVVGTFJ5eFZRVUZWY1VRc1owSkJRMmhIWml4RlFVRlpla01zUzBGQlMydERMRkZCUVZGVkxFbEJSWHBDU0N4RlFVRlpla01zUzBGQlMydERMRkZCUVZGTkxFbEJRMlpPTEZGQlFWRlZMRWRCUjNCQ1NDeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRk5MRVZCUVV0SkxGRkJhRUk1UWtnc1JVRkJXWHBETEV0QlFVdHpSQ3hoUVhWQ2JrSmlMRVZCU2xGNlF5eExRVUZMUlN4UlFVRlJjVVFzWlVGQk1FSXNUMEZCVkc1Q0xFZEJSMjVEY0VNc1MwRkJTMFVzVVVGQlVTdERMR3RDUVVGdlFtcEVMRXRCUVV0SExGVkJRVlZ4UkN4blFrRkJhMFVzU1VGQmFFUTNReXhGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZYRkVMR2RDUVVOeVJuaEVMRXRCUVV0dlF5eExRVUZMUVN4SlFVTmFjRU1zUzBGQlMwVXNVVUZCVVN0RExHdENRVUZ2UW1wRUxFdEJRVXRITEZWQlFWVnpSQ3hwUWtGQmIwVXNTVUZCYWtRNVF5eEZRVUZMVFN4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlhORUxHbENRVU0zUm5wRUxFdEJRVXN3UkN4TlFVRk5kRUlzU1VGRFluQkRMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVmQwUXNiVUpCUVhkRkxFbEJRVzVFYUVRc1JVRkJTMDBzVVVGQlVXcENMRXRCUVV0SExGVkJRVlYzUkN4dFFrRkRMMFl6UkN4TFFVRkxORVFzVVVGQlVYaENMRWxCUTJad1F5eExRVUZMUlN4UlFVRlJLME1zYTBKQlFXOUNha1FzUzBGQlMwY3NWVUZCVlRCRUxHVkJRV2RGTEVsQlFTOURiRVFzUlVGQlMwMHNVVUZCVVdwQ0xFdEJRVXRITEZWQlFWVXdSQ3hsUVVNelJqZEVMRXRCUVVzNFJDeEpRVUZKTVVJc1NVRkRXSEJETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZORVFzWTBGQk9FUXNTVUZCT1VOd1JDeEZRVUZMVFN4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlRSRUxHTkJRekZHTDBRc1MwRkJTMmRGTEZsQlFWbHlSQ3hGUVVGTGVVTXNUMEZCVDNCRUxFdEJRVXRITEZWQlFWVTBSQ3hoUVVGaGFFUXNVVUZCVTNGQ0xFZEJSV3hGY0VNc1MwRkJTMmxGTEV0QlFVdDBSQ3hGUVVGTmQwSXNSVUZCV1VNc1IwRmlPVUp3UXl4TFFVRkxjMFFzVVVGblFtNUNMRWRCUVdsQ0xFMUJRV0ppTEVWQlEwWXNUVUZCVFN4SlFVRkpXaXhOUVVGTkxIVkRRVUY1UTJ4Q0xFVkJRVThzUzBGQlQxZ3NTMEZCU3poQ0xHRkJSVGxGTEU5QlFVOVhMRWRCUjFRelF5eEZRVUZSVnl4VlFVRlZlVVFzWVVGQlpTeFRRVUZUZGtRc1JVRkJUWGRDTEVWQlFWbERMRWRCUXpGRUxFbEJRVWxxUWl4RlFVRlBTQ3hGUVVGSGJVUXNSVUZCVlVNc1JVRkJWVU1zUlVGRGJFTXNSMEZCV1N4TlFVRlNNVVFzUlVGQlpVRXNSVUZCUzBNc1ZVRkJUeXhGUVZrM1FpeFBRVlpCZDBRc1JVRkJWMnBETEVkQlJGaG5ReXhGUVVGWGVFUXNSMEZGUm05Q0xGVkJRVlV2UWl4TlFVTm1iMFVzUjBGRFJuQkVMRVZCUVVsWUxGTkJRVk5aTEZGQlFWRnRSQ3hIUVVOeVFrTXNSVUZCVldoRkxGTkJRVk5wUlN4UFFVRlBkRVFzUjBGRE1VSllMRk5CUVZNMFFpeExRVUZMYTBNc1IwRkRaSFJDTEUxQlFVMXdReXhWUVVGVmQwSXNTMEZCUzJNc1RVRkJUVEZETEZOQlFWVm5SU3hKUVVWeVEyaEZMRk5CUVZNMFFpeExRVUZMYTBNc1IwRkZWRUVzUlVGRlVDeEhRVUZKYmtVc1MwRkJTM1ZGTEU5QlExQXNUVUZCVFN4SlFVRkpNVU1zVFVGQlRTeDVRMEZCTWtNM1FpeExRVUZMT0VJc1ZVRkJWVzVDTEVsQlRUVkZMRTlCU2tGTExFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTnhSU3hGUVVGVmNrVXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUybEZMRTlCUVU5MFJDeEhRVU4wUTBjc1JVRkJVVzVDTEV0QlFVdERMRTlCUVU5cFF5eFJRVUZSZGtJc1JVRkJUWGRDTEVWQlFWbERMRWRCUXpsRFV5eE5RVUZOY0VNc1ZVRkJWWGRDTEV0QlFVdGpMRTFCUVUwdlF5eExRVUZMUXl4UFFVRlBTU3hUUVVGVlowVXNSMEZETVVOc1JDeEhRVWxZY2tJc1JVRkJVVmNzVlVGQlZTdEVMRmxCUVdNc1UwRkJVemRFTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU42UkN4SlFVRkpha0lzUlVGQlQwZ3NSVUZCUjNGRUxFVkJRMlFzUjBGQlNYSkZMRXRCUVV0MVJTeFBRVU5RTEUxQlFVMHNTVUZCU1RGRExFMUJRVTBzZVVOQlFUSkROMElzUzBGQlN6aENMRlZCUVZWdVFpeEpRVTAxUlN4UFFVcEJTeXhGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xFMUJRMnBEY1VVc1JVRkJWWEpGTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5wUlN4UFFVRlBkRVFzUlVGQlNTeEhRVU14UTBjc1JVRkJVVzVDTEV0QlFVdERMRTlCUVU5cFF5eFJRVUZSZGtJc1JVRkJUWGRDTEVWQlFWbERMRWRCUXpsRFV5eE5RVUZOY0VNc1ZVRkJWWGRDTEV0QlFVdGpMRTFCUVUwdlF5eExRVUZMUXl4UFFVRlBTU3hUUVVGVlowVXNSMEZETVVOc1JDeEhRVWRVY2tJc1JVRkJVVmNzVlVGQlZXZEZMRTlCUVZNc1YwRkRla0lzU1VGQlNYcEVMRVZCUTBvc1IwRkJTV2hDTEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2JVTkJRWEZETjBJc1MwRkJTemhDTEdGQlNUVkVMRTlCUmtGa0xFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTXNSMEZCUjNORkxFOUJRVTkyUWl4TlFVRk5MME1zUzBGQlMwTXNUMEZCVDBrc1UwRkJWU3hEUVVGRFZ5eEZRVUZIUVN4RlFVRkpRU3hGUVVGSkxFZEJRVWN3UkN4UFFVRmpMRXRCUXpWRU1VVXNTMEZCUzBNc1VVRkhaRWdzUlVGQlVWY3NWVUZCVlhkRUxFdEJRVThzVTBGQlUzUkVMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTnNSQ3hKUVVGSmFrSXNSVUZCVDBjc1JVRmpXQ3hQUVdKWkxFMUJRVkpZTEVsQlEwWkJMRVZCUVU5MlFpeEZRVUZUZFVJc1NVRkZiRUozUWl4SlFVRmxRU3hGUVVGaExFbEJRelZDUVN4RlFVRmhMME1zUlVGQlV5dERMRWRCUTJwQ05VTXNSVUZCVXpSRExFdEJRMlZETEVkQlFUTkNaQ3hGUVVGUExFTkJRVU5oTEVWQlFWbERMRWxCUVcxQ0xFZEJRVWxFTEVWQlFXRmlMRVZCUVVzc1NVRkZMMFJJTEVWQlFWRXNTVUZCU1hCRExFVkJRVmRwUWl4TFFVRk5WeXhGUVVGTmQwSXNSMEZEZGtJc1RVRkJVa01zUjBGRFJtcENMRVZCUVUxcFFpeExRVUZMUVN4SFFVVmljRU1zUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXRrTEVkQlExcEJMRWRCUjFSeVFpeEZRVUZSVnl4VlFVRlZNa0lzUzBGQlR5eFRRVUZUYUVNc1IwRkRhRU1zU1VGQlNXVXNSVUZOU2l4UFFVeEpOVUlzUlVGQlUyRXNTVUZEV0Vvc1MwRkJTMnRETEZGQlFWRTVRaXhIUVVWbVpTeEZRVUZSTEVsQlFVbG9ReXhGUVVGUllTeExRVUZOU1N4SFFVTXhRa29zUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXRrTEVkQlExcHVRaXhOUVVkVVJpeEZRVUZSVnl4VlFVRlZhVVFzVFVGQlVTeFRRVUZUZEVRc1IwRkRha01zU1VGQlNXVXNSVUZIU2l4UFFVWkJRU3hGUVVGUkxFbEJRVWw2UXl4RlFVRlRjMElzUzBGQlRVa3NSMEZETTBKS0xFdEJRVXRMTEZOQlFWTTBRaXhMUVVGTFpDeEhRVU5hYmtJc1RVRkhWRVlzUlVGQlVWY3NWVUZCVlcxRUxGRkJRVlVzVTBGQlUzaEVMRWRCUTI1RExFbEJRVWxsTEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSmVFTXNSVUZCVjNGQ0xFdEJRVTFKTEVkQlF6ZENTaXhMUVVGTFN5eFRRVUZUTkVJc1MwRkJTMlFzUjBGRFdtNUNMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVnJSU3hqUVVGblFpeFRRVUZUZGtVc1IwRkRla01zU1VGQlYxa3NSVUZCUjNGRUxFVkJTMlFzVDBGS1FYSkVMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hIUVVNNVFtaENMRXRCUVV0RExFOUJRVTh5UkN4UlFVRlJlRVFzUjBGRE5VSjVReXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnlSU3hOUVVkVVJpeEZRVUZSVnl4VlFVRlZiVVVzWVVGQlpTeFRRVUZUZUVVc1IwRkRlRU1zU1VGQlYxa3NSVUZCUjNGRUxFVkJTMlFzVDBGS1FYSkVMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hGUVVGSkxFZEJRMnhEYUVJc1MwRkJTME1zVDBGQlR6SkVMRkZCUVZGNFJDeEhRVU0xUW5sRExFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFM5RExFdEJRVXRETEU5QlFVOUpMRk5CUVZWblJTeEhRVU14UTNKRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWeFJDeEpRVUZOTEZOQlFWTXhSQ3hIUVVNdlFpeEpRVUZKWlN4RlFVZEtMRTlCUmtGQkxFVkJRVkVzU1VGQlNXcERMRVZCUVU5akxFdEJRVTFKTEVkQlEzcENTaXhMUVVGTFN5eFRRVUZUTkVJc1MwRkJTMlFzUjBGRFdtNUNMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVTJReXhOUVVGUkxGZEJSM2hDTEU5QlJGRXNTVUZCU1hoRkxFVkJRVk5yUWl4UFFVbDJRa1lzUlVGQlVWY3NWVUZCVlhWRUxGbEJRV01zVTBGQlUyRXNSVUZCVVhwRkxFZEJReTlETEVsQlFVa3dSU3hGUVVGWFF5eEZRVUZWWml4RlFVRmhOVU1zUlVGQlIwTXNSVUZQZWtNc1IwRk9ZeXhOUVVGV2QwUXNTVUZEUmtFc1JVRkJVM3BHTEVWQlFWTjVSaXhKUVVWUUxFMUJRVlI2UlN4SlFVTkdRU3hGUVVGUmFFSXNSVUZCVTJkQ0xFbEJSV1o1UXl4TlFVRk5ReXhSUVVGUkswSXNSMEZEYUVJc1NVRkJTM3BFTEVWQlFVa3NSVUZCUjBNc1JVRkJUWGRFTEVWQlFVODVSQ3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVONFF6QkVMRVZCUVZsRUxFVkJRVTk2UkN4SFFVTnVRbkJDTEV0QlFVdG5SU3haUVVGWll5eFJRVVZrTEVkQlFVbDJSaXhGUVVGVGMwWXNSMEZEYkVJc1NVRkJTME1zUzBGQllVUXNSVUZEV0hCR0xFVkJRVkYxUkN4TFFVRkxOa0lzUlVGQlVVTXNTMEZETVVKRExFVkJRVmRHTEVWQlFVOURMRWRCUTJ4Q09VVXNTMEZCUzJkRkxGbEJRVmxqTEVWQlFWZERMRk5CUnpGQ2VrWXNSVUZCVjJNc1MwRkRZa0VzUlVGQlVVRXNSVUZCVFRKRExGTkJSV2hDYVVJc1JVRkJZeXhKUVVGSkwwVXNSVUZCZVVKbExFdEJRVTAyUlN4RlFVRlJla1VzUjBGRGVrUktMRXRCUVV0TExGTkJRVk0wUWl4TFFVRkxLMElzUjBGRmNrSXNUMEZCVDJoRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWMVJTeHJRa0ZCYjBJc1UwRkJVMGdzUlVGQlVYcEZMRWRCUTNKRUxFbEJRVmRaTEVWQlFVZHhSQ3hGUVV0a0xFOUJTa0Z5UkN4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUTJwRGNVVXNSVUZCVlhKRkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOcFJTeFBRVUZQZEVRc1IwRkRPVUpvUWl4TFFVRkxReXhQUVVGUEswUXNXVUZCV1dFc1JVRkJVWHBGTEVkQlEzaERlVU1zVFVGQlRYQkRMRlZCUVZWM1FpeExRVUZMWXl4TlFVRk5MME1zUzBGQlMwTXNUMEZCVDBrc1UwRkJWV2RGTEVkQlF6RkRja1VzVFVGSFZFWXNSVUZCVVZjc1ZVRkJWWGRGTEdsQ1FVRnRRaXhUUVVGVFNpeEZRVUZSZWtVc1IwRkRjRVFzU1VGQlYxa3NSVUZCUjNGRUxFVkJTMlFzVDBGS1FYSkVMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hGUVVGSkxFZEJRMnhEYUVJc1MwRkJTME1zVDBGQlR5dEVMRmxCUVZsaExFVkJRVkY2UlN4SFFVTjRRM2xETEUxQlFVMXdReXhWUVVGVmQwSXNTMEZCUzJNc1RVRkJUUzlETEV0QlFVdERMRTlCUVU5SkxGTkJRVlZuUlN4SFFVTXhRM0pGTEUxQlIxUkdMRVZCUVZGWExGVkJRVlY1UlN4WlFVRmpMRk5CUVZORExFVkJRVk5ETEVWQlFWVkRMRWRCUXpGRUxFbEJRVWxETEVWQlFVdERMRVZCVlZRc1QwRlVRVVFzUlVGQlRYUkdMRXRCUVV0clFpeFhRVU5ZY1VVc1JVRkJVeXhKUVVGSk0wY3NSVUZCWlRCSExFVkJRVXRJTEVWQlFWTkRMRVZCUVZWRExFZEJRM2hDTEVsQlFYaENReXhGUVVGSmFrWXNVMEZCVTFVc1QwRkRablZGTEVWQlFVbHFSaXhUUVVGVGJVWXNVVUZCVVVRc1IwRkRXa1FzUlVGQlNXcEdMRk5CUVZNc1IwRkJSMDhzVDBGQlUyNURMRVZCUVZOblNDeFpRVU16UTBnc1JVRkJTV3BHTEZOQlFWTXNSMEZCUzJ0R0xFVkJSV3hDUkN4RlFVRkpha1lzVTBGQlUyMUdMRkZCUVZGRUxFZEJSV2hDUkN4RlFVRkpTU3hSUVVGVlNpeEhRVWQyUW5oR0xFVkJRVkZYTEZWQlFWVnJSaXhKUVVGTkxGTkJRVk5ETEVWQlFVOURMRWRCUTNSRExFbEJRVmRRTEVWQlFVdFJMRVZCUVZNNVJTeEZRVUZIU1N4RlFVRkhiVUlzUlVGQlIyeENMRVZCUVV0eFFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlNXNUVMRWxCU0VFeVF5eEZRVUZOZEVZc1MwRkJTMnRDTEZkQlExZzBSU3hGUVVGVkxFbEJRVWxxU0N4RlFVRlhlVWNzUlVGQlMwMHNSVUZCVDBNc1IwRkZhRU0zUlN4RlFVRkpTU3hGUVVGSkxFVkJRVWRETEVkQlJHaENReXhGUVVGUFowVXNSVUZCU1dwR0xGVkJRMmRDVlN4UFFVRlJTeXhGUVVGSlF5eEZRVUZMVEN4SlFVRk5TU3hGUVVWb1JDeEhRVVJSUlN4RlFVRkxUaXhIUVVOSVNpeFBRVUZUYmtNc1JVRkJVM05JTEZGQlJURkNMRTlCUkVGVUxFVkJRVWxxUml4VFFVRlRWeXhIUVVGTE9FVXNSVUZEV0VFc1JVRkpXQ3hKUVVGTE9VVXNSVUZCU1hWQ0xFVkJRVWtzUlVGQlIwY3NSMEZFYUVKRExFVkJRVTh5UXl4RlFVRkpha1lzVlVGRGFVSlZMRTlCUVZGM1FpeEZRVUZKUnl4RlFVRk5NVUlzU1VGQlRYVkNMRVZCUld4RUxFZEJSRkZKTEVWQlFVc3pRaXhIUVVOSWRVUXNUMEZGVWl4UFFVUkJaU3hGUVVGSmFrWXNVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkhMRVZCUVVjNFJTeEhRVU51UWtFc1JVRkpXQ3hQUVVSQlVpeEZRVUZKYWtZc1UwRkJVelJDTEV0QlFVczJSQ3hIUVVOWVFTeEhRVWRVYUVjc1JVRkJVVmNzVlVGQlZYVkdMRWRCUVVzc1YwRkRja0lzUjBGQlNXaEhMRXRCUVV0MVJTeFBRVU5RTEUxQlFVMHNTVUZCU1RGRExFMUJRVTBzYTBaQlJXeENMRTlCUVU4M1FpeExRVUZMUXl4UlFVZGtTQ3hGUVVGUlZ5eFZRVUZWYVVZc1MwRkJUeXhYUVVOMlFpeEpRVUZKZWtJc1JVRkZTaXhKUVVSQlFTeEZRVUZQYWtVc1MwRkRRV2xGTEVkQlFVMHNRMEZEV0N4SFFVRkpRU3hGUVVGTGNrUXNUMEZCVTI1RExFVkJRVk4zU0N4VFFVTjZRaXhQUVVGUGFFTXNSVUZCUzJsRExGZEJRMUFzUjBGQlNXcERMRVZCUVV0TkxFOUJRMlFzVDBGQlQwNHNSVUZGVUVFc1JVRkJUMEVzUlVGQlMyaEZMRk5CUzJ4Q1NDeEZRVUZSVnl4VlFVRlZVeXhUUVVGWExGZEJRek5DTEVsQlFVa3JReXhGUVVWS0xFbEJSRUZCTEVWQlFVOXFSU3hMUVVOQmFVVXNSMEZCVFN4RFFVTllMRWRCUVVsQkxFVkJRVXR5UkN4UFFVRlRia01zUlVGQlUzZElMRk5CUTNwQ0xFOUJRVTlvUXl4RlFVVlFRU3hGUVVGUFFTeEZRVUZMYUVVc1UwRkxiRUpJTEVWQlFWRlhMRlZCUVZVd1JpeEpRVUZOTEZOQlFWTnFSeXhIUVVNdlFpeFBRVUZQUml4TFFVRkxhMElzVjBGQlYybEdMRWxCUVVscVJ5eEpRVWMzUWtvc1JVRkJVVmNzVlVGQlZUSkdMRXRCUVU4c1YwRkRka0lzU1VGQlNYQkdMRVZCUlVvc1NVRkVRVUVzUlVGQlNXaENMRXRCUVV0RExFOUJRVTlKTEZOQlFWTlpMRkZCUVZGcVFpeFBRVU42UWl4RlFVTk9MRTFCUVUwc1NVRkJTVFpDTEUxQlFVMHNPRUpCUVdkRE4wSXNTMEZCU3poQ0xHRkJSWFpFTEU5QlFVODVRaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRWeXhGUVVGSkxFbEJSMnhEYkVJc1JVRkJVVmNzVlVGQlZUUkdMRXRCUVU4c1YwRkRka0lzU1VGQlNYSkdMRVZCUlVvc1NVRkJWeXhMUVVSWVFTeEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEZGQlEycENaMElzU1VGQlRXaENMRXRCUVV0RExFOUJRVTlKTEZOQlFWTlZMRTlCUVZNc1JVRkRiRVFzVFVGQlRTeEpRVUZKWXl4TlFVRk5MRFpDUVVFclFqZENMRXRCUVVzNFFpeGhRVVYwUkN4UFFVRlBPVUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWNzUlVGQlNTeEpRVWRzUTJ4Q0xFVkJRVkZYTEZWQlFWVTJSaXhsUVVGcFFpeFRRVUZUYUVJc1IwRkRNVU1zU1VGQlNXbENMRVZCUzBvc1QwRktRVUVzUlVGQllXcENMRVZCUVVsSkxFOUJRVTlqTEZOQlEySjJSeXhQUVVGVFJDeExRVU53UW5WSExFVkJRVmRvUXl4UlFVRlRMRVZCUTNCQ2RrVXNTMEZCUzBzc1UwRkJVelJDTEV0QlFVdHpSU3hIUVVOYWRrY3NUVUZIVkVZc1JVRkJVVmNzVlVGQlZYRkNMRlZCUVZrc1UwRkJVMjVDTEVkQlEzSkRMRWxCUVVsWExFVkJRVTF4UWl4RlFVVldMRTlCUVdFc1QwRkVZbWhETEVWQlFVOUJMRWRCUVZGWUxFdEJRVXRYTEZGQlF6UkNMRTlCUVhaQ1Z5eEZRVUZQZEVJc1MwRkJTME1zVVVGQmEwSnhRaXhGUVVGTFdDeFZRVUZQTEVkQlJXaEVMRTFCUVZKQkxFVkJRMFlzV1VGQlkxZ3NTMEZCUzBNc1QwRkJUMVVzUzBGQlR5eExRVU5NTEU5QlFYWkNaME1zUlVGQlR6TkRMRXRCUVV0RExGRkJRV3RDTUVNc1JVRkJTMmhETEZWQlFVOHNSMEZITDBNc1ZVRkJXVUVzUlVGQlR5eGxRVUZwUWxnc1MwRkJTME1zVDBGQlQxVXNTMEZCVHl4SlFVWjJSQ3hWUVVGWlFTeEZRVUZQTEVsQlNtNUNMRWxCVlZoaUxFVkJRVkZYTEZWQlFWVm5SeXhKUVVGTkxGTkJRVk01Uml4RlFVRk5kMElzUlVGQldVTXNSMEZEYWtRc1QwRkJUM0JETEV0QlFVdHJReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVsQlIzaERkRU1zUlVGQlVWY3NWVUZCVldsSExFbEJRVTBzVTBGQlV5OUdMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTnFSQ3hQUVVGUGNFTXNTMEZCUzJsRkxFdEJRVXQwUkN4RlFVRk5kMElzUlVGQldVTXNTVUZIY2tOMFF5eEZRVUZSVnl4VlFVRlZhMGNzU1VGQlRTeFRRVUZUZGtjc1IwRkRMMElzVDBGQlQwb3NTMEZCUzI5RExFdEJRVXRvUXl4SlFVZHVRazRzUlVGQlVWY3NWVUZCVlcxSExFbEJRVTBzVTBGQlUzaEhMRWRCUXk5Q0xFOUJRVTlLTEV0QlFVc3dSQ3hOUVVGTmRFUXNTVUZIY0VKT0xFVkJRVkZYTEZWQlFWVnZSeXhKUVVGTkxGTkJRVk42Unl4SFFVTXZRaXhQUVVGUFNpeExRVUZMTkVRc1VVRkJVWGhFTEVsQlIzUkNUaXhGUVVGUlZ5eFZRVUZWY1Vjc1NVRkJUU3hUUVVGVGFrTXNSVUZCVVhwRkxFZEJRM1pETEU5QlFVOUtMRXRCUVV0blJTeFpRVUZaWVN4RlFVRlJla1VzU1VGSGJFTk9MRVZCUVZGWExGVkJRVlUyUlN4SlFVRk5MRmRCUTNSQ0xFOUJRVTkwUml4TFFVRkxhMElzV1VGSFpIQkNMRVZCUVZGWExGVkJRVlZ6Unl4SlFVRk5MRk5CUVZNMVFpeEZRVUZUUXl4RlFVRlZReXhIUVVOc1JDeFBRVUZQY2tZc1MwRkJTMnRHTEZsQlFWbERMRVZCUVZORExFVkJRVlZETEVsQlJ6ZERka1lzUlVGQlVWY3NWVUZCVlhWSExFVkJRVWtzVTBGQlUzSkhMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTXZReXhQUVVGUGNFTXNTMEZCUzJ0RExGRkJRVkYyUWl4RlFVRk5kMElzUlVGQldVTXNTVUZIZUVOMFF5eEZRVUZSVnl4VlFVRlZkMGNzUlVGQlNTeFRRVUZUZEVjc1JVRkJUWGRDTEVWQlFWbERMRWRCUXk5RExFOUJRVTl3UXl4TFFVRkxhVVVzUzBGQlMzUkVMRVZCUVUxM1FpeEZRVUZaUXl4SlFVZHlRM1JETEVWQlFWRlhMRlZCUVZWNVJ5eEZRVUZKTEZOQlFWTTVSeXhIUVVNM1FpeFBRVUZQU2l4TFFVRkxiME1zUzBGQlMyaERMRWxCUjI1Q1RpeEZRVUZSVnl4VlFVRlZNRWNzUlVGQlNTeFRRVUZUTDBjc1IwRkROMElzVDBGQlQwb3NTMEZCU3pCRUxFMUJRVTEwUkN4SlFVZHdRazRzUlVGQlVWY3NWVUZCVlRKSExFVkJRVWtzVTBGQlUyaElMRWRCUXpkQ0xFOUJRVTlLTEV0QlFVczBSQ3hSUVVGUmVFUXNTVUZIZEVKT0xFVkJRVkZYTEZWQlFWVTBSeXhGUVVGSkxGTkJRVk5xU0N4SFFVTTNRaXhQUVVGUFNpeExRVUZMT0VRc1NVRkJTVEZFTEVsQlIyeENUaXhGUVVGUlZ5eFZRVUZWVHl4RlFVRkpMRk5CUVZNMlJDeEZRVUZSZWtVc1IwRkRja01zVDBGQlQwb3NTMEZCUzJkRkxGbEJRVmxoTEVWQlFWRjZSU3hKUVVkc1EwNHNSVUZCVVZjc1ZVRkJWVFpITEVWQlFVa3NWMEZEY0VJc1QwRkJUM1JJTEV0QlFVdG5SeXhOUVVka2JFY3NSVUZCVVZjc1ZVRkJWVGhITEdsQ1FVRnRRaXhUUVVGVGFrTXNSMEZETlVNc1QwRkJUM1JHTEV0QlFVdHpSeXhsUVVGbGFFSXNTVUZITjBKNFJpeEZRVUZSVnl4VlFVRlZLMGNzWVVGQlpTeFRRVUZUY2tRc1JVRkJWWE5FTEVkQlEyeEVMRTFCUVUwc1NVRkJTVFZHTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXbElMRmxCUVdNc1UwRkJVMFFzUjBGRGRrTXNUVUZCVFN4SlFVRkpOVVlzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmEwZ3NXVUZCWXl4VFFVRlRlRVFzUjBGRGRrTXNUVUZCVFN4SlFVRkpkRU1zVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmJVZ3NZMEZCWjBJc1YwRkRhRU1zVDBGQlowTXNTVUZCZWtJMVNDeExRVUZMU3l4VFFVRlRWU3hSUVVkMlFtcENMRVZCUVZGWExGVkJRVlZ2U0N4VlFVRlpMRk5CUVZORExFZEJRM0pETEUxQlFVMHNTVUZCU1dwSExFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWWE5JTEZWQlFWa3NWMEZETlVJc1RVRkJUU3hKUVVGSmJFY3NUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWZFVnc1dVRkJZeXhUUVVGVFF5eEZRVUZUT1VNc1IwRkRhRVFzVDBGQlR5eEhRVWRVY2tZc1JVRkJVVmNzVlVGQlZYbElMR05CUVdkQ0xGZEJRMmhETEU5QlFTdENMRWxCUVhoQ2JFa3NTMEZCUzIxSkxGRkJRVkZ3U0N4UlFVZDBRbXBDTEVWQlFWRlhMRlZCUVZVeVNDeDNRa0ZCTUVJc1UwRkJVME1zUjBGRGJrUXNTVUZCVTBNc1JVRkZWQ3hQUVVSTmRFa3NTMEZCUVVFc1QwRkRUWEZKTEVWQlEwZ3NSVUZEUlhKSkxFdEJRVXRyUWl4aFFVRmxiVWdzUlVGQlRXNUlMRmxCUTI1RGIwZ3NSVUZCVFRsS0xFVkJRV2xDSzBvc1lVRkJaUzlLTEVWQlFXbENaMHNzZFVKQlEyNUVReXhMUVVGTFF5eFRRVUZYTEVkQlEyeENTaXhIUVVGUE9Vb3NSVUZCYVVKdFN5eFZRVVY0UWt3c1IwRkJUemxLTEVWQlFXbENiMHNzVlVGRmJrSk9MRWRCVmtoMFNTeExRVmRUTmtrc1YwRkJWMUlzUjBGRGFrSTNTaXhGUVVGcFFuTkxMRk5CUVZkMFN5eEZRVUZwUW0xTExGVkJXbWhFTTBrc1MwRmhVeXRKTEdGQlFXRldMRWRCUTI1Q04wb3NSVUZCYVVKelN5eFRRVUZYZEVzc1JVRkJhVUp2U3l4VlFXUm9SRFZKTEV0QlpWTm5TaXhaUVVGWldDeEhRVU5zUWpkS0xFVkJRV2xDYlVzc1ZVRkZha0p1U3l4RlFVRnBRbTlMTEZkQlNUVkNPVWtzUlVGQlVWY3NWVUZCVlhkSkxGZEJRV0VzVTBGQlUxb3NSMEZEZEVNc1RVRkJUU3hKUVVGSmVFY3NUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWZVVrc1lVRkJaU3hUUVVGVFF5eEhRVU40UXl4TlFVRk5MRWxCUVVsMFNDeE5RVUZOTEhORFFVRjNRemRDTEV0QlFVczRRaXhqUVVjdlJHaERMRVZCUVZGWExGVkJRVlV5U1N4dFFrRkJjVUlzVTBGQlUwUXNSMEZET1VNc1RVRkJUU3hKUVVGSmRFZ3NUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWTkVrc2JVSkJRWEZDTEZOQlFWTkRMRWRCUXpsRExFMUJRVTBzU1VGQlNYcElMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVlRoSkxGbEJRV01zVTBGQlUzUkdMRWRCUTNaRExFbEJRVWxxUkN4RlFVRkhTU3hGUVVGSFJTeEZRVU5XTEVkQlFVa3lReXhGUVVGTGVrTXNWMEZCWVhoQ0xFdEJRVXQzUWl4VFFVTjZRaXhQUVVGUExFVkJSVlFzUjBGQlNYbERMRVZCUVVzMVJDeFRRVUZUVlN4VFFVRlhaaXhMUVVGTFN5eFRRVUZUVlN4UFFVTjZReXhQUVVGUExFVkJSVlFzU1VGQlMwTXNSVUZCU1Vrc1JVRkJTU3hGUVVGSFJTeEZRVUZQZEVJc1MwRkJTMHNzVTBGQlUxVXNUMEZCVXl4RlFVRkhMRWRCUVV0UExFVkJRVTlHTEVkQlFVdEZMRVZCUVU5R0xFZEJRVXRGTEVWQlFVMU9MRVZCUVVrc1IwRkJTMDBzU1VGQlUwWXNTVUZCVFVFc1JVRkRNVWNzU1VGQlMzQkNMRXRCUVV0TExGTkJRVk5YTEVkQlFVZDFTU3haUVVGWmRFWXNSVUZCU3pWRUxGTkJRVk5YTEVsQlF6bERMRTlCUVU4c1JVRkhXQ3hQUVVGUExFZEJSMVJzUWl4RlFVRlJWeXhWUVVGVkswa3NWMEZCWVN4VFFVRlRka0lzUlVGQlV6bERMRWRCUXk5RExFMUJRVTBzU1VGQlNYUkVMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVldkS0xGbEJRV01zVTBGQlUycElMRVZCUVV0clNDeEZRVUZOUXl4SFFVTnNSQ3hOUVVGTkxFbEJRVWs1U0N4TlFVRk5MSE5EUVVGM1F6ZENMRXRCUVVzNFFpeGpRVWN2UkdoRExFVkJRVkZYTEZWQlFWVnRTaXhaUVVGakxGTkJRVk53U0N4SFFVTjJReXhOUVVGTkxFbEJRVWxZTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXOUtMRk5CUVZjc1UwRkJVM2hDTEVkQlEzQkRMRkZCUVV0QkxFbEJSMFZCTEVsQlFWVnlTU3hOUVVGUlFTeExRVUZMSzBrc1lVRkJZVllzUzBGSE4wTjJTU3hGUVVGUlZ5eFZRVUZWYzBrc1lVRkJaU3hUUVVGVE9VVXNSMEZEZUVNc1NVRkJTVGxETEVWQlFUQkNReXhGUVVGSFF5eEZRVUZMUXl4RlFVVjBReXhKUVVGTFJpeEZRVUZKTEVWQlFVZERMRWRCUkZwRExFVkJRVTkwUWl4TFFVRkxTeXhWUVVOWFZTeFBRVUZSU3l4RlFVRkpReXhGUVVGTFJDeEpRVUZMTEVOQlJUTkRMRWRCUVVrMlF5eExRVVJLT1VNc1JVRkJVVWNzUlVGQlMwWXNTVUZGV0N4UFFVRlBMRVZCUjFRc1IwRkViMEpFTEVWQlFVMDBTQ3hoUVVGaE9VVXNSMEZGY2tNc1QwRkJUeXhGUVVkWUxFOUJRVThzUjBGSFZHNUZMRVZCUVZGWExGVkJRVlZ2U1N4WFFVRmhMRk5CUVZNMVJTeEhRVU4wUXl4UFFVRlBRU3hGUVVGTE9FVXNZVUZCWVM5SkxFOUJSek5DUml4RlFVRlJWeXhWUVVGVmRVa3NXVUZCWXl4VFFVRlRMMFVzUjBGRGRrTXNTVUZCU1RaR0xFVkJRVk5ETEVWQlIySXNUMEZHUVVRc1JVRkJWVGxLTEV0QlFVdG5TeXhoUVVGaEwwWXNSMEZETlVJNFJpeEZRVUZWTDBvc1MwRkJTMmRMTEdGQlFXRm9TeXhQUVVOWUxFbEJRV0k0U2l4SlFVRXJRaXhKUVVGaVF5eEhRVWRpUkN4RlFVRlZReXhIUVVseVFtcExMRVZCUVZGWExGVkJRVlYzU2l4WlFVRmpMRk5CUVZOb1J5eEhRVU4yUXl4SlFVRkpOa1lzUlVGQlUwTXNSVUZIWWl4UFFVWkJSQ3hGUVVGVk9Vb3NTMEZCUzJkTExHRkJRV0V2Uml4SFFVTTFRamhHTEVWQlFWVXZTaXhMUVVGTFowc3NZVUZCWVdoTExFOUJRMWdzU1VGQllqaEtMRWxCUVN0Q0xFbEJRV0pETEVkQlIySkVMRVZCUVZWRExFZEJTWEpDYWtzc1JVRkJVVmNzVlVGQlZYVktMR0ZCUVdVc1UwRkJVeTlHTEVkQlEzaERMRWxCUVVscFJ5eEZRVUZQUXl4RlFWTllMRTlCVWtGQkxFVkJRVTBzUlVGRFRrUXNSMEZCVVN4RlFVTlNiRXNzUzBGQlMyOUxMR2RDUVVGblFuQkxMRXRCUVV0clFpeFhRVUZaTEZOQlFWTnRRaXhIUVVVM1F5eEhRVVJCT0Vnc1MwRkRTMFFzUjBGQlV6ZElMRWxCUVdNMFFpeEZRVU14UWl4UFFVRlBhVWNzUjBGQlVTeEpRVWRtUVN4RlFVTkxReXhIUVVWRExFZEJTVnB5U3l4RlFVRlJWeXhWUVVGVk1rb3NaMEpCUVd0Q0xGTkJRVk51Unl4RlFVRk5iMGNzUjBGRGFrUXNTVUZCU1d4S0xFVkJRVTlETEVWQlFVZERMRVZCUVV0RExFVkJRVTFuU0N4RlFVZDZRaXhKUVVaQmNrVXNTVUZCVTBFc1JVRkJUMnBGTEV0QlFVdHJRaXhaUVVWb1FrVXNSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZQTWtNc1JVRkJTelZFTEZWQlExZFZMRTlCUVZGTExFVkJRVWxETEVWQlFVdEVMRWxCUVVzc1EwRkZNME1zUjBGQlNXdElMRVZCUVUwclFpeEZRVVJXYkVvc1JVRkJVVWNzUlVGQlMwWXNTVUZGV0N4UFFVRlBhMGdzUlVGSFVDeEhRVVJCUVN4RlFVRk5kRWtzUzBGQlMyOUxMR2RDUVVGblFtcEtMRVZCUVU5clNpeEhRVVZvUXl4UFFVRlBMMElzU1VGTlVuaEpMRVZCTTNWQ2EwSXNTMEVyZFVJeFFtdEVMRXRCUVV0b1JDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEU1dlpHVXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLm5vZGVzPXR9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcy5sZW5ndGh8fDB9fSksdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcz1udWxsfSx0LnByb3RvdHlwZS5pdGVtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5vZGVzW3RdfHxudWxsfSx0fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTV2WkdWTWFYTjBMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSllUVXhPYjJSbFRHbHpkQ0lzSW01dlpHVnpJaXdpZEdocGN5SXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2liR1Z1WjNSb0lpd2lZMnh2Ym1VaUxDSnBkR1Z0SWl3aWFXNWtaWGdpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVkRlFTeFBRVUZQUXl4UlFVRjNRaXhYUVVNM1FpeFRRVUZUUXl4RlFVRlpReXhIUVVOdVFrTXNTMEZCUzBRc1RVRkJVVUVzUlVGcFFtWXNUMEZrUVVVc1QwRkJUME1zWlVGQlpVb3NSVUZCV1Vzc1ZVRkJWeXhUUVVGVkxFTkJRM0pFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMG9zUzBGQlMwUXNUVUZCVFUwc1VVRkJWU3hMUVVsb1ExQXNSVUZCV1Vzc1ZVRkJWVWNzVFVGQlVTeFhRVU0xUWl4UFFVRlBUaXhMUVVGTFJDeE5RVUZSTEUxQlIzUkNSQ3hGUVVGWlN5eFZRVUZWU1N4TFFVRlBMRk5CUVZORExFZEJRM0JETEU5QlFVOVNMRXRCUVV0RUxFMUJRVTFUTEVsQlFWVXNUVUZIZGtKV0xFVkJia0p6UWl4TFFYVkNPVUpYTEV0QlFVdFVJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVRtOWtaVXhwYzNRdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixpPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxDaGFyYWN0ZXJEYXRhXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8ocixpLGUpe2lmKG8uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1pKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgaW5zdHJ1Y3Rpb24gdGFyZ2V0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLnR5cGU9dC5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24sdGhpcy50YXJnZXQ9dGhpcy5zdHJpbmdpZnkuaW5zVGFyZ2V0KGkpLHRoaXMubmFtZT10aGlzLnRhcmdldCxlJiYodGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5pbnNWYWx1ZShlKSl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpaS5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KG8sciksby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sby5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIucHJvY2Vzc2luZ0luc3RydWN0aW9uKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sby5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuISFvLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkmJnQudGFyZ2V0PT09dGhpcy50YXJnZXR9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaTVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGhOVEVOb1lYSmhZM1JsY2tSaGRHRWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5OMWNHVnlRMnhoYzNNaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSndZWEpsYm5RaUxDSjBZWEpuWlhRaUxDSjJZV3gxWlNJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSW5SNWNHVWlMQ0pRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSnpkSEpwYm1kcFpua2lMQ0pwYm5OVVlYSm5aWFFpTENKdVlXMWxJaXdpYVc1elZtRnNkV1VpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pqYkc5dVpTSXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJblJ2VTNSeWFXNW5JaXdpYjNCMGFXOXVjeUlzSW5keWFYUmxjaUlzSW5CeWIyTmxjM05wYm1kSmJuTjBjblZqZEdsdmJpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW01dlpHVWlMQ0poY0hCc2VTSXNJbUZ5WjNWdFpXNTBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlZReXhGUVVWYVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaSUxFVkJRVmRKTEZGQlFWRXNZMEZGYmtKSUxFVkJRVzFDUnl4UlFVRlJMSE5DUVVVelFrTXNUMEZCVDBNc1VVRkJjVU1zVTBGQlZVTXNSMEZIY0VRc1UwRkJVME1zUlVGQmVVSkRMRVZCUVZGRExFVkJRVkZETEVkQlJXaEVMRWRCUkVGSUxFVkJRWGxDU1N4VlFVRlZReXhaUVVGWlF5eExRVUZMUXl4TFFVRk5UaXhIUVVNMVF5eE5RVUZXUXl4RlFVTkdMRTFCUVUwc1NVRkJTVTBzVFVGQlRTd3JRa0ZCYVVORUxFdEJRVXRGTEdGQlJYaEVSaXhMUVVGTFJ5eExRVUZQYkVJc1JVRkJVMjFDTEhOQ1FVTnlRa29zUzBGQlMwd3NUMEZCVTBzc1MwRkJTMHNzVlVGQlZVTXNWVUZCVlZnc1IwRkRka05MTEV0QlFVdFBMRXRCUVU5UUxFdEJRVXRNTEU5QlEySkRMRWxCUTBaSkxFdEJRVXRLTEUxQlFWRkpMRXRCUVV0TExGVkJRVlZITEZOQlFWTmFMRWxCYzBKNlF5eFBRWHBEVXl4VFFVRlRZU3hGUVVGUFppeEhRVUZWTEVsQlFVc3NTVUZCU1dkQ0xFdEJRVTlvUWl4RlFVRmpVQ3hGUVVGUldTeExRVUZMVEN4RlFVRlJaMElzUzBGQlRVUXNSVUZCVFVNc1IwRkJUMmhDTEVWQlFVOW5RaXhKUVVGUkxGTkJRVk5ETEVsQlFWTllMRXRCUVV0R0xGbEJRV05YTEVWQlFWTkZMRVZCUVV0RExGVkJRVmxzUWl4RlFVRlBhMElzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5XaXhWUVVGWlNDeEZRVUZQYTBJc1ZVRlJhRkZETEVOQlFVOXdRaXhGUVcxRFRsQXNSMEZ3UWtSUExFVkJRWGxDYlVJc1ZVRkJWVVVzVFVGQlVTeFhRVU42UXl4UFFVRlBReXhQUVVGUFF5eFBRVUZQYUVJc1QwRkhka0pRTEVWQlFYbENiVUlzVlVGQlZVc3NVMEZCVnl4VFFVRlRReXhIUVVOeVJDeFBRVUZQYkVJc1MwRkJTMnRDTEZGQlFWRkRMRTlCUVU5RExITkNRVUZ6UW5CQ0xFdEJRVTFCTEV0QlFVdHJRaXhSUVVGUlF5eFBRVUZQUlN4alFVRmpTQ3hMUVVjelJucENMRVZCUVhsQ2JVSXNWVUZCVlZVc1dVRkJZeXhUUVVGVFF5eEhRVU40UkN4UlFVRkxPVUlzUlVGQmVVSkpMRlZCUVZWNVFpeFpRVUZaUlN4TlFVRk5lRUlzUzBGQlRYbENMRmRCUVZkSUxGbEJRVmxETEVsQlIyNUdRU3hGUVVGTE5VSXNVMEZCVjBzc1MwRkJTMHdzVVVGTmNFSkdMRVZCYkVOdFF5eExRWE5ETTBOTkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1VSEp2WTJWemMybHVaMGx1YzNSeWRXTjBhVzl1TG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaShyLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgcmF3IHRleHQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMudHlwZT10LlJhdyx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LnJhdyhvKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilvLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9dH1pLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgaSx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0oaSxyKSxpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxpLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5yYXcodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxpfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URkpoZHk1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxoTlRFNXZaR1VpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luTjFjR1Z5UTJ4aGMzTWlMQ0pZVFV4U1lYY2lMQ0p3WVhKbGJuUWlMQ0owWlhoMElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWRIbHdaU0lzSWxKaGR5SXNJblpoYkhWbElpd2ljM1J5YVc1bmFXWjVJaXdpY21GM0lpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVkyeHZibVVpTENKUFltcGxZM1FpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0ltOXdkR2x2Ym5NaUxDSjNjbWwwWlhJaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlJWcERMRVZCUVZVc1IwRkJSME1zWlVGRlprZ3NSVUZCVjBrc1VVRkJVU3hqUVVWdVFrZ3NSVUZCVlVjc1VVRkJVU3hoUVVWc1FrTXNUMEZCVDBNc1VVRkJiVUlzVTBGQlZVTXNSMEZIYkVNc1UwRkJVME1zUlVGQlQwTXNSVUZCVVVNc1IwRkZkRUlzUjBGRVFVWXNSVUZCVDBjc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVXdzUjBGRE5VSXNUVUZCVWtNc1JVRkRSaXhOUVVGTkxFbEJRVWxMTEUxQlFVMHNjVUpCUVhWQ1JDeExRVUZMUlN4aFFVVTVRMFlzUzBGQlMwY3NTMEZCVDJwQ0xFVkJRVk5yUWl4SlFVTnlRa29zUzBGQlMwc3NUVUZCVVV3c1MwRkJTMDBzVlVGQlZVTXNTVUZCU1Znc1IwRlhiRU1zVDBFelFsTXNVMEZCVTFrc1JVRkJUMklzUjBGQlZTeEpRVUZMTEVsQlFVbGpMRXRCUVU5a0xFVkJRV05RTEVWQlFWRlhMRXRCUVV0S0xFVkJRVkZqTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlrTEVWQlFVOWpMRWxCUVZFc1UwRkJVME1zU1VGQlUxWXNTMEZCUzBZc1dVRkJZMVVzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXV2hDTEVWQlFVOW5RaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMVlMRlZCUVZsR0xFVkJRVTluUWl4VlFWRm9VVU1zUTBGQlQyeENMRVZCY1VKT1VDeEhRVlpFVHl4RlFVRlBhVUlzVlVGQlZVVXNUVUZCVVN4WFFVTjJRaXhQUVVGUFF5eFBRVUZQUXl4UFFVRlBaaXhQUVVkMlFrNHNSVUZCVDJsQ0xGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkRia01zVDBGQlQycENMRXRCUVV0cFFpeFJRVUZSUXl4UFFVRlBXQ3hKUVVGSlVDeExRVUZOUVN4TFFVRkxhVUlzVVVGQlVVTXNUMEZCVDBNc1kwRkJZMFlzUzBGSGJFVjJRaXhGUVhCQ2FVSXNTMEYzUW5wQ1N5eExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URkpoZHk1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLHIscz17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MV3JpdGVyQmFzZVwiKSxlPXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4odCxlKXt0aGlzLnN0cmVhbT10LG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKX1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlzLmNhbGwoZSxyKSYmKHRbcl09ZVtyXSk7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9dH1pLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgaSx0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0obixyKSxuLnByb3RvdHlwZS5lbmRsaW5lPWZ1bmN0aW9uKHQscixzKXtyZXR1cm4gdC5pc0xhc3RSb290Tm9kZSYmci5zdGF0ZT09PWUuQ2xvc2VUYWc/XCJcIjpuLl9fc3VwZXJfXy5lbmRsaW5lLmNhbGwodGhpcyx0LHIscyl9LG4ucHJvdG90eXBlLmRvY3VtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIHIscyxpLG4sbyxhLGgsbCxwO2ZvcihzPWk9MCxvPShoPXQuY2hpbGRyZW4pLmxlbmd0aDtpPG87cz0rK2kpKHI9aFtzXSkuaXNMYXN0Um9vdE5vZGU9cz09PXQuY2hpbGRyZW4ubGVuZ3RoLTE7Zm9yKGU9dGhpcy5maWx0ZXJPcHRpb25zKGUpLHA9W10sbj0wLGE9KGw9dC5jaGlsZHJlbikubGVuZ3RoO248YTtuKyspcj1sW25dLHAucHVzaCh0aGlzLndyaXRlQ2hpbGROb2RlKHIsZSwwKSk7cmV0dXJuIHB9LG4ucHJvdG90eXBlLmF0dHJpYnV0ZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmF0dHJpYnV0ZS5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5jZGF0YS5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmNvbW1lbnQuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZGVjbGFyYXRpb24uY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmRvY1R5cGU9ZnVuY3Rpb24odCxyLHMpe3ZhciBpLG4sbyxhO2lmKHN8fChzPTApLHRoaXMub3Blbk5vZGUodCxyLHMpLHIuc3RhdGU9ZS5PcGVuVGFnLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuaW5kZW50KHQscixzKSksdGhpcy5zdHJlYW0ud3JpdGUoXCI8IURPQ1RZUEUgXCIrdC5yb290KCkubmFtZSksdC5wdWJJRCYmdC5zeXNJRD90aGlzLnN0cmVhbS53cml0ZSgnIFBVQkxJQyBcIicrdC5wdWJJRCsnXCIgXCInK3Quc3lzSUQrJ1wiJyk6dC5zeXNJRCYmdGhpcy5zdHJlYW0ud3JpdGUoJyBTWVNURU0gXCInK3Quc3lzSUQrJ1wiJyksdC5jaGlsZHJlbi5sZW5ndGg+MCl7Zm9yKHRoaXMuc3RyZWFtLndyaXRlKFwiIFtcIiksdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5lbmRsaW5lKHQscixzKSksci5zdGF0ZT1lLkluc2lkZVRhZyxuPTAsbz0oYT10LmNoaWxkcmVuKS5sZW5ndGg7bjxvO24rKylpPWFbbl0sdGhpcy53cml0ZUNoaWxkTm9kZShpLHIscysxKTtyLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoXCJdXCIpfXJldHVybiByLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoci5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiKSx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmVuZGxpbmUodCxyLHMpKSxyLnN0YXRlPWUuTm9uZSx0aGlzLmNsb3NlTm9kZSh0LHIscyl9LG4ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24ocixpLG4pe3ZhciBvLGEsaCxsLHAsdSxjLGQsXztmb3IoYyBpbiBufHwobj0wKSx0aGlzLm9wZW5Ob2RlKHIsaSxuKSxpLnN0YXRlPWUuT3BlblRhZyx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmluZGVudChyLGksbikrXCI8XCIrci5uYW1lKSxkPXIuYXR0cmlicylzLmNhbGwoZCxjKSYmKG89ZFtjXSx0aGlzLmF0dHJpYnV0ZShvLGksbikpO2lmKGw9MD09PShoPXIuY2hpbGRyZW4ubGVuZ3RoKT9udWxsOnIuY2hpbGRyZW5bMF0sMD09PWh8fHIuY2hpbGRyZW4uZXZlcnkoZnVuY3Rpb24oZSl7cmV0dXJuKGUudHlwZT09PXQuVGV4dHx8ZS50eXBlPT09dC5SYXcpJiZcIlwiPT09ZS52YWx1ZX0pKWkuYWxsb3dFbXB0eT8odGhpcy5zdHJlYW0ud3JpdGUoXCI+XCIpLGkuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShcIjwvXCIrci5uYW1lK1wiPlwiKSk6KGkuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShpLnNwYWNlQmVmb3JlU2xhc2grXCIvPlwiKSk7ZWxzZSBpZighaS5wcmV0dHl8fDEhPT1ofHxsLnR5cGUhPT10LlRleHQmJmwudHlwZSE9PXQuUmF3fHxudWxsPT1sLnZhbHVlKXtmb3IodGhpcy5zdHJlYW0ud3JpdGUoXCI+XCIrdGhpcy5lbmRsaW5lKHIsaSxuKSksaS5zdGF0ZT1lLkluc2lkZVRhZyxwPTAsdT0oXz1yLmNoaWxkcmVuKS5sZW5ndGg7cDx1O3ArKylhPV9bcF0sdGhpcy53cml0ZUNoaWxkTm9kZShhLGksbisxKTtpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5pbmRlbnQocixpLG4pK1wiPC9cIityLm5hbWUrXCI+XCIpfWVsc2UgdGhpcy5zdHJlYW0ud3JpdGUoXCI+XCIpLGkuc3RhdGU9ZS5JbnNpZGVUYWcsaS5zdXBwcmVzc1ByZXR0eUNvdW50KyssITAsdGhpcy53cml0ZUNoaWxkTm9kZShsLGksbisxKSxpLnN1cHByZXNzUHJldHR5Q291bnQtLSwhMSxpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoXCI8L1wiK3IubmFtZStcIj5cIik7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuZW5kbGluZShyLGksbikpLGkuc3RhdGU9ZS5Ob25lLHRoaXMuY2xvc2VOb2RlKHIsaSxuKX0sbi5wcm90b3R5cGUucHJvY2Vzc2luZ0luc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18ucHJvY2Vzc2luZ0luc3RydWN0aW9uLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5yYXcuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy50ZXh0LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGRBdHRMaXN0PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkQXR0TGlzdC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkRWxlbWVudD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZEVsZW1lbnQuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZEVudGl0eT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZEVudGl0eS5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkTm90YXRpb249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGROb3RhdGlvbi5jYWxsKHRoaXMsdCxlLHIpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZOMGNtVmhiVmR5YVhSbGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsZHlhWFJsY2xOMFlYUmxJaXdpV0UxTVYzSnBkR1Z5UW1GelpTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URk4wY21WaGJWZHlhWFJsY2lJc0luTjBjbVZoYlNJc0ltOXdkR2x2Ym5NaUxDSjBhR2x6SWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpWTJocGJHUWlMQ0p3WVhKbGJuUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2laVzVrYkdsdVpTSXNJbTV2WkdVaUxDSnNaWFpsYkNJc0ltbHpUR0Z6ZEZKdmIzUk9iMlJsSWl3aWMzUmhkR1VpTENKRGJHOXpaVlJoWnlJc0ltUnZZM1Z0Wlc1MElpd2laRzlqSWl3aWFTSXNJbW9pTENKcklpd2liR1Z1SWl3aWJHVnVNU0lzSW5KbFppSXNJbkpsWmpFaUxDSnlaWE4xYkhSeklpd2lZMmhwYkdSeVpXNGlMQ0pzWlc1bmRHZ2lMQ0ptYVd4MFpYSlBjSFJwYjI1eklpd2ljSFZ6YUNJc0luZHlhWFJsUTJocGJHUk9iMlJsSWl3aVlYUjBjbWxpZFhSbElpd2lZWFIwSWl3aWQzSnBkR1VpTENKalpHRjBZU0lzSW1OdmJXMWxiblFpTENKa1pXTnNZWEpoZEdsdmJpSXNJbVJ2WTFSNWNHVWlMQ0p2Y0dWdVRtOWtaU0lzSWs5d1pXNVVZV2NpTENKcGJtUmxiblFpTENKeWIyOTBJaXdpYm1GdFpTSXNJbkIxWWtsRUlpd2ljM2x6U1VRaUxDSkpibk5wWkdWVVlXY2lMQ0p6Y0dGalpVSmxabTl5WlZOc1lYTm9JaXdpVG05dVpTSXNJbU5zYjNObFRtOWtaU0lzSW1Wc1pXMWxiblFpTENKamFHbHNaRTV2WkdWRGIzVnVkQ0lzSW1acGNuTjBRMmhwYkdST2IyUmxJaXdpWVhSMGNtbGljeUlzSW1WMlpYSjVJaXdpWlNJc0luUjVjR1VpTENKVVpYaDBJaXdpVW1GM0lpd2lkbUZzZFdVaUxDSmhiR3h2ZDBWdGNIUjVJaXdpY0hKbGRIUjVJaXdpYzNWd2NISmxjM05RY21WMGRIbERiM1Z1ZENJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW5KaGR5SXNJblJsZUhRaUxDSmtkR1JCZEhSTWFYTjBJaXdpWkhSa1JXeGxiV1Z1ZENJc0ltUjBaRVZ1ZEdsMGVTSXNJbVIwWkU1dmRHRjBhVzl1SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFUaENReXhGUVVVeFEwTXNSVUZCVlN4SFFVRkhReXhsUVVWbVNpeEZRVUZYU3l4UlFVRlJMR05CUlc1Q1NDeEZRVUZuUWtjc1VVRkJVU3h0UWtGRmVFSktMRVZCUVdOSkxGRkJRVkVzYVVKQlJYUkNReXhQUVVGUFF5eFJRVUUwUWl4VFFVRlZReXhIUVVjelF5eFRRVUZUUXl4RlFVRm5Ra01zUlVGQlVVTXNSMEZETDBKRExFdEJRVXRHTEU5QlFWTkJMRVZCUTJSRUxFVkJRV2RDU1N4VlFVRlZReXhaUVVGWlF5eExRVUZMU0N4TFFVRk5SQ3hIUVRCS2JrUXNUMEY0UzFNc1UwRkJVMHNzUlVGQlQwTXNSMEZCVlN4SlFVRkxMRWxCUVVsRExFdEJRVTlFTEVWQlFXTmtMRVZCUVZGWkxFdEJRVXRGTEVWQlFWRkRMRXRCUVUxR0xFVkJRVTFGTEVkQlFVOUVMRVZCUVU5RExFbEJRVkVzVTBGQlUwTXNTVUZCVTFBc1MwRkJTMFVzV1VGQlkwVXNSVUZCVTBjc1JVRkJTME1zVlVGQldVZ3NSVUZCVDBjc1ZVRkJWMG9zUlVGQlRVa3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlNDeEZRVUZOU0N4VlFVRlpTU3hGUVVGUFJ5eFZRVlZvVVVNc1EwRkJUMW9zUlVGblMwNVFMRWRCZWtwRVR5eEZRVUZuUWxjc1ZVRkJWVVVzVVVGQlZTeFRRVUZUUXl4RlFVRk5XaXhGUVVGVFlTeEhRVU14UkN4UFFVRkpSQ3hGUVVGTFJTeG5Ra0ZCYTBKa0xFVkJRVkZsTEZGQlFWVjZRaXhGUVVGWk1FSXNVMEZEYUVRc1IwRkZRV3hDTEVWQlFXZENTU3hWUVVGVlV5eFJRVUZSVUN4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hKUVVsMlJXWXNSVUZCWjBKWExGVkJRVlZSTEZOQlFWY3NVMEZCVTBNc1JVRkJTMnhDTEVkQlEycEVMRWxCUVVsTExFVkJRVTlqTEVWQlFVZERMRVZCUVVkRExFVkJRVWRETEVWQlFVdERMRVZCUVUxRExFVkJRVXRETEVWQlFVMURMRVZCUlRGRExFbEJRVXRRTEVWQlFVbERMRVZCUVVrc1JVRkJSMFVzUjBGRWFFSkZMRVZCUVUxT0xFVkJRVWxUTEZWQlEyZENReXhQUVVGUlVpeEZRVUZKUlN4RlFVRkxTQ3hKUVVGTlF5eEhRVU12UTJZc1JVRkJVVzFDTEVWQlFVbE1MRWxCUTA1TUxHVkJRV2xDU3l4SlFVRk5SQ3hGUVVGSlV5eFRRVUZUUXl4UFFVRlRMRVZCUzNKRUxFbEJTRUUxUWl4RlFVRlZReXhMUVVGTE5FSXNZMEZCWXpkQ0xFZEJSVGRDTUVJc1JVRkJWU3hIUVVOTVRDeEZRVUZKTEVWQlFVZEZMRWRCUmxwRkxFVkJRVTlRTEVWQlFVbFRMRlZCUldGRExFOUJRVkZRTEVWQlFVbEZMRVZCUVUxR0xFbEJRM2hEYUVJc1JVRkJVVzlDTEVWQlFVdEtMRWRCUTJKTExFVkJRVkZKTEV0QlFVczNRaXhMUVVGTE9FSXNaVUZCWlRGQ0xFVkJRVTlNTEVWQlFWTXNTVUZGYmtRc1QwRkJUekJDTEVkQlIxUTFRaXhGUVVGblFsY3NWVUZCVlhWQ0xGVkJRVmtzVTBGQlUwTXNSVUZCUzJwRExFVkJRVk5oTEVkQlF6TkVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlU0UWl4VlFVRlZOVUlzUzBGQlMwZ3NTMEZCVFdkRExFVkJRVXRxUXl4RlFVRlRZU3hMUVVkNFJtWXNSVUZCWjBKWExGVkJRVlV3UWl4TlFVRlJMRk5CUVZOMlFpeEZRVUZOV2l4RlFVRlRZU3hIUVVONFJDeFBRVUZQV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFhCRExFVkJRV2RDU1N4VlFVRlZhVU1zVFVGQlRTOUNMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSM0pHWml4RlFVRm5RbGNzVlVGQlZUSkNMRkZCUVZVc1UwRkJVM2hDTEVWQlFVMWFMRVZCUVZOaExFZEJRekZFTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZWclF5eFJRVUZSYUVNc1MwRkJTMGdzUzBGQlRWY3NSVUZCVFZvc1JVRkJVMkVzUzBGSGRrWm1MRVZCUVdkQ1Z5eFZRVUZWTkVJc1dVRkJZeXhUUVVGVGVrSXNSVUZCVFZvc1JVRkJVMkVzUjBGRE9VUXNUMEZCVDFvc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxd1F5eEZRVUZuUWtrc1ZVRkJWVzFETEZsQlFWbHFReXhMUVVGTFNDeExRVUZOVnl4RlFVRk5XaXhGUVVGVFlTeExRVWN6Um1Zc1JVRkJaMEpYTEZWQlFWVTJRaXhSUVVGVkxGTkJRVk14UWl4RlFVRk5XaXhGUVVGVFlTeEhRVU14UkN4SlFVRkpVaXhGUVVGUFpTeEZRVUZIUlN4RlFVRkxSU3hGUVZkdVFpeEhRVlpCV0N4SlFVRlZRU3hGUVVGUkxFZEJRMnhDV2l4TFFVRkxjME1zVTBGQlV6TkNMRVZCUVUxYUxFVkJRVk5oTEVkQlF6ZENZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXV3RFTEZGQlF6VkNka01zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxkME1zVDBGQlR6ZENMRVZCUVUxYUxFVkJRVk5oTEVsQlF6ZERXaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hoUVVGbGRFSXNSVUZCU3poQ0xFOUJRVTlETEUxQlEzcERMMElzUlVGQlMyZERMRTlCUVZOb1F5eEZRVUZMYVVNc1RVRkRja0kxUXl4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4WlFVRmpkRUlzUlVGQlMyZERMRTFCUVZFc1RVRkJVV2hETEVWQlFVdHBReXhOUVVGUkxFdEJRM3BFYWtNc1JVRkJTMmxETEU5QlEyUTFReXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3haUVVGamRFSXNSVUZCUzJsRExFMUJRVkVzUzBGRk0wTnFReXhGUVVGTFpTeFRRVUZUUXl4UFFVRlRMRVZCUVVjc1EwRkxOVUlzU1VGS1FUTkNMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5MRTFCUTJ4Q2FrTXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXFReXhMUVVGTFZTeFJRVUZSUXl4RlFVRk5XaXhGUVVGVFlTeEpRVU01UTJJc1JVRkJVV1VzVFVGQlVYcENMRVZCUVZsM1JDeFZRVVYyUWpGQ0xFVkJRVWtzUlVGQlIwVXNSMEZFV2tVc1JVRkJUVm9zUlVGQlMyVXNWVUZEVjBNc1QwRkJVVklzUlVGQlNVVXNSVUZCUzBZc1NVRkRja05tTEVWQlFWRnRRaXhGUVVGSlNpeEhRVU5hYmtJc1MwRkJTemhDTEdWQlFXVXhRaXhGUVVGUFRDeEZRVUZUWVN4RlFVRlJMRWRCUlRsRFlpeEZRVUZSWlN4TlFVRlJla0lzUlVGQldUQkNMRk5CUXpWQ1ppeExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeExRVTF3UWl4UFFVcEJiRU1zUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmt3UWl4VFFVTTFRbVlzUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFzUXl4RlFVRlJLME1zYVVKQlFXMUNMRXRCUXpkRE9VTXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXFReXhMUVVGTFZTeFJRVUZSUXl4RlFVRk5XaXhGUVVGVFlTeEpRVU01UTJJc1JVRkJVV1VzVFVGQlVYcENMRVZCUVZrd1JDeExRVU55UWk5RExFdEJRVXRuUkN4VlFVRlZja01zUlVGQlRWb3NSVUZCVTJFc1NVRkhka05tTEVWQlFXZENWeXhWUVVGVmVVTXNVVUZCVlN4VFFVRlRkRU1zUlVGQlRWb3NSVUZCVTJFc1IwRkRNVVFzU1VGQlNXOUNMRVZCUVVzMVFpeEZRVUZQT0VNc1JVRkJaMEpETEVWQlFXZENhRU1zUlVGQlIwVXNSVUZCUzNGQ0xFVkJRWGRDYmtJc1JVRkJTME1zUlVGTmNrWXNTVUZCUzJ0Q0xFdEJURXc1UWl4SlFVRlZRU3hGUVVGUkxFZEJRMnhDV2l4TFFVRkxjME1zVTBGQlV6TkNMRVZCUVUxYUxFVkJRVk5oTEVkQlF6ZENZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXV3RFTEZGQlF6VkNka01zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxkME1zVDBGQlR6ZENMRVZCUVUxYUxFVkJRVk5oTEVkQlFWTXNTVUZCVFVRc1JVRkJTeXRDTEUxQlEycEZia0lzUlVGQlRWb3NSVUZCUzNsRExGRkJSVW8zUkN4RlFVRlJXU3hMUVVGTGIwSXNSVUZCUzIxQ0xFdEJRM1pDVml4RlFVRk5WQ3hGUVVGSmJVSXNSMEZEVmpGRExFdEJRVXNyUWl4VlFVRlZReXhGUVVGTGFrTXNSVUZCVTJFc1NVRkpMMElzUjBGRVFYVkRMRVZCUVc5RExFdEJSSEJEUkN4RlFVRnBRblpETEVWQlFVdGxMRk5CUVZORExGRkJRMU1zUzBGQlQyaENMRVZCUVV0bExGTkJRVk1zUjBGRGRFTXNTVUZCYmtKM1FpeEhRVUYzUW5aRExFVkJRVXRsTEZOQlFWTXlRaXhOUVVGTkxGTkJRVk5ETEVkQlEzWkVMRTlCUVZGQkxFVkJRVVZETEU5QlFWTnVSU3hGUVVGVGIwVXNUVUZCVVVZc1JVRkJSVU1zVDBGQlUyNUZMRVZCUVZOeFJTeE5RVUZ2UWl4TFFVRmFTQ3hGUVVGRlNTeFJRVVU1UkRORUxFVkJRVkUwUkN4WlFVTldNMFFzUzBGQlMwWXNUMEZCVDIxRExFMUJRVTBzUzBGRGJFSnNReXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVVGUGRFSXNSVUZCU3l0Q0xFdEJRVThzVDBGRmNrTXpReXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUV3hETEVWQlFWRXJReXhwUWtGQmJVSXNXVUZGTVVNc1NVRkJTUzlETEVWQlFWRTJSQ3hSUVVFMlFpeEpRVUZ1UWxZc1IwRkJlVUpETEVWQlFXVkpMRTlCUVZOdVJTeEZRVUZUYjBVc1RVRkJVVXdzUlVGQlpVa3NUMEZCVTI1RkxFVkJRVk54UlN4TFFVRnBReXhOUVVGNFFrNHNSVUZCWlU4c1RVRlZha29zUTBGSlRDeEpRVWhCTVVRc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUwc1NVRkJUV3BETEV0QlFVdFZMRkZCUVZGRExFVkJRVTFhTEVWQlFWTmhMRWxCUTNCRVlpeEZRVUZSWlN4TlFVRlJla0lzUlVGQldYZEVMRlZCUlhaQ01VSXNSVUZCU1N4RlFVRkhSU3hIUVVSYVJ5eEZRVUZQWWl4RlFVRkxaU3hWUVVOWFF5eFBRVUZSVWl4RlFVRkpSU3hGUVVGTFJpeEpRVU4wUTJZc1JVRkJVVzlDTEVWQlFVdE1MRWRCUTJKdVFpeExRVUZMT0VJc1pVRkJaVEZDTEVWQlFVOU1MRVZCUVZOaExFVkJRVkVzUjBGRk9VTmlMRVZCUVZGbExFMUJRVkY2UWl4RlFVRlpNRUlzVTBGRE5VSm1MRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5ha01zUzBGQlMzZERMRTlCUVU4M1FpeEZRVUZOV2l4RlFVRlRZU3hIUVVGVExFdEJRVTlFTEVWQlFVc3JRaXhMUVVGUExGVkJiRUo2UlRGRExFdEJRVXRHTEU5QlFVOXRReXhOUVVGTkxFdEJRMnhDYkVNc1JVRkJVV1VzVFVGQlVYcENMRVZCUVZsM1JDeFZRVU0xUWpsRExFVkJRVkU0UkN4MVFrRkRWeXhGUVVOdVFqZEVMRXRCUVVzNFFpeGxRVUZsY1VJc1JVRkJaMEp3UkN4RlFVRlRZU3hGUVVGUkxFZEJRM0pFWWl4RlFVRlJPRVFzZFVKQlExY3NSVUZEYmtJNVJDeEZRVUZSWlN4TlFVRlJla0lzUlVGQldUQkNMRk5CUXpWQ1ppeExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeExRVUZQZEVJc1JVRkJTeXRDTEV0QlFVOHNTMEZqZGtNc1QwRkdRVEZETEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOYWtNc1MwRkJTMVVzVVVGQlVVTXNSVUZCVFZvc1JVRkJVMkVzU1VGRE9VTmlMRVZCUVZGbExFMUJRVkY2UWl4RlFVRlpNRVFzUzBGRGNrSXZReXhMUVVGTFowUXNWVUZCVlhKRExFVkJRVTFhTEVWQlFWTmhMRWxCUjNaRFppeEZRVUZuUWxjc1ZVRkJWWE5FTEhOQ1FVRjNRaXhUUVVGVGJrUXNSVUZCVFZvc1JVRkJVMkVzUjBGRGVFVXNUMEZCVDFvc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxd1F5eEZRVUZuUWtrc1ZVRkJWVFpFTEhOQ1FVRnpRak5FTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUjNKSFppeEZRVUZuUWxjc1ZVRkJWWFZFTEVsQlFVMHNVMEZCVTNCRUxFVkJRVTFhTEVWQlFWTmhMRWRCUTNSRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVTRSQ3hKUVVGSk5VUXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhia1ptTEVWQlFXZENWeXhWUVVGVmQwUXNTMEZCVHl4VFFVRlRja1FzUlVGQlRWb3NSVUZCVTJFc1IwRkRka1FzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlN0RUxFdEJRVXMzUkN4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVkd1JtWXNSVUZCWjBKWExGVkJRVlY1UkN4WFFVRmhMRk5CUVZOMFJDeEZRVUZOV2l4RlFVRlRZU3hIUVVNM1JDeFBRVUZQV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFhCRExFVkJRV2RDU1N4VlFVRlZaMFVzVjBGQlZ6bEVMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSekZHWml4RlFVRm5RbGNzVlVGQlZUQkVMRmRCUVdFc1UwRkJVM1pFTEVWQlFVMWFMRVZCUVZOaExFZEJRemRFTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZWcFJTeFhRVUZYTDBRc1MwRkJTMGdzUzBGQlRWY3NSVUZCVFZvc1JVRkJVMkVzUzBGSE1VWm1MRVZCUVdkQ1Z5eFZRVUZWTWtRc1ZVRkJXU3hUUVVGVGVFUXNSVUZCVFZvc1JVRkJVMkVzUjBGRE5VUXNUMEZCVDFvc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxd1F5eEZRVUZuUWtrc1ZVRkJWV3RGTEZWQlFWVm9SU3hMUVVGTFNDeExRVUZOVnl4RlFVRk5XaXhGUVVGVFlTeExRVWQ2Um1Zc1JVRkJaMEpYTEZWQlFWVTBSQ3haUVVGakxGTkJRVk42UkN4RlFVRk5XaXhGUVVGVFlTeEhRVU01UkN4UFFVRlBXaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUWEJETEVWQlFXZENTU3hWUVVGVmJVVXNXVUZCV1dwRkxFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlIzQkdaaXhGUVM5S01FSXNTMEZ0UzJ4RFRTeExRVUZMU0NJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URk4wY21WaGJWZHlhWFJsY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vWE1MV3JpdGVyQmFzZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihuKXtmdW5jdGlvbiByKHQpe3IuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyx0KX1yZXR1cm4gZnVuY3Rpb24odCxuKXtmb3IodmFyIHIgaW4gbillLmNhbGwobixyKSYmKHRbcl09bltyXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1uLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1uLnByb3RvdHlwZX0ocix0KSxyLnByb3RvdHlwZS5kb2N1bWVudD1mdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLGw7Zm9yKGU9dGhpcy5maWx0ZXJPcHRpb25zKGUpLGk9XCJcIixyPTAsbz0obD10LmNoaWxkcmVuKS5sZW5ndGg7cjxvO3IrKyluPWxbcl0saSs9dGhpcy53cml0ZUNoaWxkTm9kZShuLGUsMCk7cmV0dXJuIGUucHJldHR5JiZpLnNsaWNlKC1lLm5ld2xpbmUubGVuZ3RoKT09PWUubmV3bGluZSYmKGk9aS5zbGljZSgwLC1lLm5ld2xpbmUubGVuZ3RoKSksaX0scn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZOMGNtbHVaMWR5YVhSbGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKWVRVeFhjbWwwWlhKQ1lYTmxJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNVTNSeWFXNW5WM0pwZEdWeUlpd2liM0IwYVc5dWN5SXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0prYjJOMWJXVnVkQ0lzSW1Sdll5SXNJbWtpTENKc1pXNGlMQ0p5SWl3aWNtVm1JaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpZDNKcGRHVkRhR2xzWkU1dlpHVWlMQ0p3Y21WMGRIa2lMQ0p6YkdsalpTSXNJbTVsZDJ4cGJtVWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJjVUpCTEVWQlJXNUNReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVdkQ1J5eFJRVUZSTEcxQ1FVVjRRa01zVDBGQlQwTXNVVUZCTkVJc1UwRkJWVU1zUjBGSE0wTXNVMEZCVTBNc1JVRkJaMEpETEVkQlEzWkNSQ3hGUVVGblFrVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFVvc1IwRnJRbTVFTEU5Qk0wSlRMRk5CUVZOTExFVkJRVTlETEVkQlFWVXNTVUZCU3l4SlFVRkpReXhMUVVGUFJDeEZRVUZqWWl4RlFVRlJWU3hMUVVGTFJ5eEZRVUZSUXl4TFFVRk5SaXhGUVVGTlJTeEhRVUZQUkN4RlFVRlBReXhKUVVGUkxGTkJRVk5ETEVsQlFWTktMRXRCUVV0R0xGbEJRV05ITEVWQlFWTkhMRVZCUVV0RExGVkJRVmxJTEVWQlFVOUhMRlZCUVZkS0xFVkJRVTFKTEZWQlFWa3NTVUZCU1VRc1JVRkJVVWdzUlVGQlRVb3NWVUZCV1Vzc1JVRkJUMGNzVlVGTmFGRkRMRU5CUVU5WUxFVkJkVUpPVUN4SFFXcENSRThzUlVGQlowSlZMRlZCUVZWRkxGTkJRVmNzVTBGQlUwTXNSVUZCUzFvc1IwRkRha1FzU1VGQlNVc3NSVUZCVDFFc1JVRkJSME1zUlVGQlMwTXNSVUZCUjBNc1JVRkpkRUlzU1VGSVFXaENMRVZCUVZWSkxFdEJRVXRoTEdOQlFXTnFRaXhIUVVNM1FtVXNSVUZCU1N4SFFVVkRSaXhGUVVGSkxFVkJRVWRETEVkQlJGcEZMRVZCUVUxS0xFVkJRVWxOTEZWQlExbERMRTlCUVZGT0xFVkJRVWxETEVWQlFVdEVMRWxCUTNKRFVpeEZRVUZSVnl4RlFVRkpTQ3hIUVVOYVJTeEhRVUZMV0N4TFFVRkxaMElzWlVGQlpXWXNSVUZCVDB3c1JVRkJVeXhIUVVzelF5eFBRVWhKUVN4RlFVRlJjVUlzVVVGQlZVNHNSVUZCUlU4c1QwRkJUM1JDTEVWQlFWRjFRaXhSUVVGUlNpeFZRVUZaYmtJc1JVRkJVWFZDTEZWQlEycEZVaXhGUVVGSlFTeEZRVUZGVHl4TlFVRk5MRWRCUVVsMFFpeEZRVUZSZFVJc1VVRkJVVW9zVTBGRk0wSktMRWRCUjBab1FpeEZRWFJDTUVJc1MwRXdRbXhEU1N4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRGTjBjbWx1WjFkeWFYUmxjaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKHQsbyl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkobyxhcmd1bWVudHMpfX0sbz17fS5oYXNPd25Qcm9wZXJ0eTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG4obil7dmFyIHIsaSxlO2ZvcihyIGluIHRoaXMuYXNzZXJ0TGVnYWxOYW1lPXQodGhpcy5hc3NlcnRMZWdhbE5hbWUsdGhpcyksdGhpcy5hc3NlcnRMZWdhbENoYXI9dCh0aGlzLmFzc2VydExlZ2FsQ2hhcix0aGlzKSxufHwobj17fSksdGhpcy5vcHRpb25zPW4sdGhpcy5vcHRpb25zLnZlcnNpb258fCh0aGlzLm9wdGlvbnMudmVyc2lvbj1cIjEuMFwiKSxpPW4uc3RyaW5naWZ5fHx7fSlvLmNhbGwoaSxyKSYmKGU9aVtyXSx0aGlzW3JdPWUpfXJldHVybiBuLnByb3RvdHlwZS5uYW1lPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbE5hbWUoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKHRoaXMudGV4dEVzY2FwZShcIlwiK3R8fFwiXCIpKX0sbi5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDoodD0odD1cIlwiK3R8fFwiXCIpLnJlcGxhY2UoXCJdXT5cIixcIl1dXV0+PCFbQ0RBVEFbPlwiKSx0aGlzLmFzc2VydExlZ2FsQ2hhcih0KSl9LG4ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZigodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC8tLS8pKXRocm93IG5ldyBFcnJvcihcIkNvbW1lbnQgdGV4dCBjYW5ub3QgY29udGFpbiBkb3VibGUtaHlwZW46IFwiK3QpO3JldHVybiB0aGlzLmFzc2VydExlZ2FsQ2hhcih0KX0sbi5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6XCJcIit0fHxcIlwifSxuLnByb3RvdHlwZS5hdHRWYWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKHRoaXMuYXR0RXNjYXBlKHQ9XCJcIit0fHxcIlwiKSl9LG4ucHJvdG90eXBlLmluc1RhcmdldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmluc1ZhbHVlPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvXFw/Pi8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiB2YWx1ZTogXCIrdCk7cmV0dXJuIHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpfSxuLnByb3RvdHlwZS54bWxWZXJzaW9uPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoISh0PVwiXCIrdHx8XCJcIikubWF0Y2goLzFcXC5bMC05XSsvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHZlcnNpb24gbnVtYmVyOiBcIit0KTtyZXR1cm4gdH0sbi5wcm90b3R5cGUueG1sRW5jb2Rpbmc9ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZighKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvXltBLVphLXpdKD86W0EtWmEtejAtOS5fLV0pKiQvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGVuY29kaW5nOiBcIit0KTtyZXR1cm4gdGhpcy5hc3NlcnRMZWdhbENoYXIodCl9LG4ucHJvdG90eXBlLnhtbFN0YW5kYWxvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0P1wieWVzXCI6XCJub1wifSxuLnByb3RvdHlwZS5kdGRQdWJJRD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZFN5c0lEPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkRWxlbWVudFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkQXR0VHlwZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEF0dERlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRFbnRpdHlWYWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZE5EYXRhPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuY29udmVydEF0dEtleT1cIkBcIixuLnByb3RvdHlwZS5jb252ZXJ0UElLZXk9XCI/XCIsbi5wcm90b3R5cGUuY29udmVydFRleHRLZXk9XCIjdGV4dFwiLG4ucHJvdG90eXBlLmNvbnZlcnRDRGF0YUtleT1cIiNjZGF0YVwiLG4ucHJvdG90eXBlLmNvbnZlcnRDb21tZW50S2V5PVwiI2NvbW1lbnRcIixuLnByb3RvdHlwZS5jb252ZXJ0UmF3S2V5PVwiI3Jhd1wiLG4ucHJvdG90eXBlLmFzc2VydExlZ2FsQ2hhcj1mdW5jdGlvbih0KXt2YXIgbyxuO2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYobz1cIlwiLFwiMS4wXCI9PT10aGlzLm9wdGlvbnMudmVyc2lvbil7aWYobz0vW1xcMC1cXHgwOFxceDBCXFxmXFx4MEUtXFx4MUZcXHVGRkZFXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0vLG49dC5tYXRjaChvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBzdHJpbmc6IFwiK3QrXCIgYXQgaW5kZXggXCIrbi5pbmRleCl9ZWxzZSBpZihcIjEuMVwiPT09dGhpcy5vcHRpb25zLnZlcnNpb24mJihvPS9bXFwwXFx1RkZGRVxcdUZGRkZdfFtcXHVEODAwLVxcdURCRkZdKD8hW1xcdURDMDAtXFx1REZGRl0pfCg/OlteXFx1RDgwMC1cXHVEQkZGXXxeKVtcXHVEQzAwLVxcdURGRkZdLyxuPXQubWF0Y2gobykpKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2hhcmFjdGVyIGluIHN0cmluZzogXCIrdCtcIiBhdCBpbmRleCBcIituLmluZGV4KTtyZXR1cm4gdH0sbi5wcm90b3R5cGUuYXNzZXJ0TGVnYWxOYW1lPWZ1bmN0aW9uKHQpe3ZhciBvO2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYodGhpcy5hc3NlcnRMZWdhbENoYXIodCksbz0vXihbOkEtWl9hLXpcXHhDMC1cXHhENlxceEQ4LVxceEY2XFx4RjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMENcXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXXxbXFx1RDgwMC1cXHVEQjdGXVtcXHVEQzAwLVxcdURGRkZdKShbXFx4MkRcXC4wLTpBLVpfYS16XFx4QjdcXHhDMC1cXHhENlxceEQ4LVxceEY2XFx4RjgtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMENcXHUyMDBEXFx1MjAzRlxcdTIwNDBcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdfFtcXHVEODAwLVxcdURCN0ZdW1xcdURDMDAtXFx1REZGRl0pKiQvLCF0Lm1hdGNoKG8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2hhcmFjdGVyIGluIG5hbWVcIik7cmV0dXJuIHR9LG4ucHJvdG90eXBlLnRleHRFc2NhcGU9ZnVuY3Rpb24odCl7dmFyIG87cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDoobz10aGlzLm9wdGlvbnMubm9Eb3VibGVFbmNvZGluZz8vKD8hJlxcUys7KSYvZzovJi9nLHQucmVwbGFjZShvLFwiJmFtcDtcIikucmVwbGFjZSgvPC9nLFwiJmx0O1wiKS5yZXBsYWNlKC8+L2csXCImZ3Q7XCIpLnJlcGxhY2UoL1xcci9nLFwiJiN4RDtcIikpfSxuLnByb3RvdHlwZS5hdHRFc2NhcGU9ZnVuY3Rpb24odCl7dmFyIG87cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDoobz10aGlzLm9wdGlvbnMubm9Eb3VibGVFbmNvZGluZz8vKD8hJlxcUys7KSYvZzovJi9nLHQucmVwbGFjZShvLFwiJmFtcDtcIikucmVwbGFjZSgvPC9nLFwiJmx0O1wiKS5yZXBsYWNlKC9cIi9nLFwiJnF1b3Q7XCIpLnJlcGxhY2UoL1xcdC9nLFwiJiN4OTtcIikucmVwbGFjZSgvXFxuL2csXCImI3hBO1wiKS5yZXBsYWNlKC9cXHIvZyxcIiYjeEQ7XCIpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZOMGNtbHVaMmxtYVdWeUxtcHpJbDBzSW01aGJXVnpJanBiSW1KcGJtUWlMQ0ptYmlJc0ltMWxJaXdpWVhCd2JIa2lMQ0poY21kMWJXVnVkSE1pTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1VM1J5YVc1bmFXWnBaWElpTENKdmNIUnBiMjV6SWl3aWEyVjVJaXdpY21WbUlpd2lkbUZzZFdVaUxDSjBhR2x6SWl3aVlYTnpaWEowVEdWbllXeE9ZVzFsSWl3aVlYTnpaWEowVEdWbllXeERhR0Z5SWl3aWRtVnljMmx2YmlJc0luTjBjbWx1WjJsbWVTSXNJbU5oYkd3aUxDSndjbTkwYjNSNWNHVWlMQ0p1WVcxbElpd2lkbUZzSWl3aWJtOVdZV3hwWkdGMGFXOXVJaXdpZEdWNGRDSXNJblJsZUhSRmMyTmhjR1VpTENKalpHRjBZU0lzSW5KbGNHeGhZMlVpTENKamIyMXRaVzUwSWl3aWJXRjBZMmdpTENKRmNuSnZjaUlzSW5KaGR5SXNJbUYwZEZaaGJIVmxJaXdpWVhSMFJYTmpZWEJsSWl3aWFXNXpWR0Z5WjJWMElpd2lhVzV6Vm1Gc2RXVWlMQ0o0Yld4V1pYSnphVzl1SWl3aWVHMXNSVzVqYjJScGJtY2lMQ0o0Yld4VGRHRnVaR0ZzYjI1bElpd2laSFJrVUhWaVNVUWlMQ0prZEdSVGVYTkpSQ0lzSW1SMFpFVnNaVzFsYm5SV1lXeDFaU0lzSW1SMFpFRjBkRlI1Y0dVaUxDSmtkR1JCZEhSRVpXWmhkV3gwSWl3aVpIUmtSVzUwYVhSNVZtRnNkV1VpTENKa2RHUk9SR0YwWVNJc0ltTnZiblpsY25SQmRIUkxaWGtpTENKamIyNTJaWEowVUVsTFpYa2lMQ0pqYjI1MlpYSjBWR1Y0ZEV0bGVTSXNJbU52Ym5abGNuUkRSR0YwWVV0bGVTSXNJbU52Ym5abGNuUkRiMjF0Wlc1MFMyVjVJaXdpWTI5dWRtVnlkRkpoZDB0bGVTSXNJbk4wY2lJc0luSmxaMlY0SWl3aWNtVnpJaXdpYVc1a1pYZ2lMQ0poYlhCeVpXZGxlQ0lzSW01dlJHOTFZbXhsUlc1amIyUnBibWNpWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZEUlVFc1JVRkJUeXhUUVVGVFF5eEZRVUZKUXl4SFFVRkxMRTlCUVU4c1YwRkJXU3hQUVVGUFJDeEZRVUZIUlN4TlFVRk5SQ3hGUVVGSlJTeGhRVU5vUlVNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUXl4UFFVRlBReXhSUVVFeVFpeFhRVU5vUXl4VFFVRlRReXhGUVVGbFF5eEhRVWQwUWl4SlFVRkpReXhGUVVGTFF5eEZRVUZMUXl4RlFVOWtMRWxCUVV0R0xFdEJWRXhITEV0QlFVdERMR2RDUVVGclFtWXNSVUZCUzJNc1MwRkJTME1zWjBKQlFXbENSQ3hOUVVOc1JFRXNTMEZCUzBVc1owSkJRV3RDYUVJc1JVRkJTMk1zUzBGQlMwVXNaMEpCUVdsQ1JpeE5RVVZzUkVvc1NVRkJXVUVzUlVGQlZTeEpRVU4wUWtrc1MwRkJTMG9zVVVGQlZVRXNSVUZEVmtrc1MwRkJTMG9zVVVGQlVVOHNWVUZEYUVKSUxFdEJRVXRLTEZGQlFWRlBMRkZCUVZVc1QwRkZla0pNTEVWQlFVMUdMRVZCUVZGUkxGZEJRV0VzUjBGRmNFSmlMRVZCUVZGakxFdEJRVXRRTEVWQlFVdEVMRXRCUTNaQ1JTeEZRVUZSUkN4RlFVRkpSQ3hIUVVOYVJ5eExRVUZMU0N4SFFVRlBSU3hIUVhWT2FFSXNUMEZ1VGtGS0xFVkJRV1ZYTEZWQlFWVkRMRXRCUVU4c1UwRkJVME1zUjBGRGRrTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwTXNaMEpCUVdkQ0xFZEJRVXRQTEVkQlFVOHNTMEZITVVOaUxFVkJRV1ZYTEZWQlFWVkpMRXRCUVU4c1UwRkJVMFlzUjBGRGRrTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ1JpeExRVUZMVnl4WFFVRlhMRWRCUVV0SUxFZEJRVThzVFVGSE1VUmlMRVZCUVdWWExGVkJRVlZOTEUxQlFWRXNVMEZCVTBvc1IwRkRlRU1zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSMEZIVkVFc1IwRkVRVUVzUlVGQlRTeEhRVUZMUVN4SFFVRlBMRWxCUTFKTExGRkJRVkVzVFVGQlR5eHRRa0ZEYkVKaUxFdEJRVXRGTEdkQ1FVRm5RazBzUzBGSE9VSmlMRVZCUVdWWExGVkJRVlZSTEZGQlFWVXNVMEZCVTA0c1IwRkRNVU1zUjBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFppeFBRVUZQUkN4RlFVZFVMRWxCUkVGQkxFVkJRVTBzUjBGQlMwRXNSMEZCVHl4SlFVTldUeXhOUVVGTkxFMUJRMW9zVFVGQlRTeEpRVUZKUXl4TlFVRk5MRFpEUVVFclExSXNSMEZGYWtVc1QwRkJUMUlzUzBGQlMwVXNaMEpCUVdkQ1RTeEpRVWM1UW1Jc1JVRkJaVmNzVlVGQlZWY3NTVUZCVFN4VFFVRlRWQ3hIUVVOMFF5eFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdMRWRCUVV0QkxFZEJRVThzU1VGSGNrSmlMRVZCUVdWWExGVkJRVlZaTEZOQlFWY3NVMEZCVTFZc1IwRkRNME1zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENSaXhMUVVGTGJVSXNWVUZCVlZnc1JVRkJUU3hIUVVGTFFTeEhRVUZQTEUxQlJ5OUVZaXhGUVVGbFZ5eFZRVUZWWXl4VlFVRlpMRk5CUVZOYUxFZEJRelZETEU5QlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlExSkVMRVZCUlVaU0xFdEJRVXRGTEdkQ1FVRm5RaXhIUVVGTFRTeEhRVUZQTEV0QlJ6RkRZaXhGUVVGbFZ5eFZRVUZWWlN4VFFVRlhMRk5CUVZOaUxFZEJRek5ETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hKUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWazhzVFVGQlRTeFBRVU5hTEUxQlFVMHNTVUZCU1VNc1RVRkJUU3g1UTBGQk1rTlNMRWRCUlRkRUxFOUJRVTlTTEV0QlFVdEZMR2RDUVVGblFrMHNTVUZIT1VKaUxFVkJRV1ZYTEZWQlFWVm5RaXhYUVVGaExGTkJRVk5rTEVkQlF6ZERMRWRCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTJZc1QwRkJUMFFzUlVGSFZDeExRVVJCUVN4RlFVRk5MRWRCUVV0QkxFZEJRVThzU1VGRFZFOHNUVUZCVFN4aFFVTmlMRTFCUVUwc1NVRkJTVU1zVFVGQlRTd3lRa0ZCTmtKU0xFZEJSUzlETEU5QlFVOUJMRWRCUjFSaUxFVkJRV1ZYTEZWQlFWVnBRaXhaUVVGakxGTkJRVk5tTEVkQlF6bERMRWRCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTJZc1QwRkJUMFFzUlVGSFZDeExRVVJCUVN4RlFVRk5MRWRCUVV0QkxFZEJRVThzU1VGRFZFOHNUVUZCVFN4cFEwRkRZaXhOUVVGTkxFbEJRVWxETEUxQlFVMHNjVUpCUVhWQ1VpeEhRVVY2UXl4UFFVRlBVaXhMUVVGTFJTeG5Ra0ZCWjBKTkxFbEJSemxDWWl4RlFVRmxWeXhWUVVGVmEwSXNZMEZCWjBJc1UwRkJVMmhDTEVkQlEyaEVMRTlCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTFKRUxFVkJSVXhCTEVWQlEwc3NUVUZGUVN4TlFVbFlZaXhGUVVGbFZ5eFZRVUZWYlVJc1UwRkJWeXhUUVVGVGFrSXNSMEZETTBNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDTEVkQlFVdE5MRWRCUVU4c1MwRkhNVU5pTEVWQlFXVlhMRlZCUVZWdlFpeFRRVUZYTEZOQlFWTnNRaXhIUVVNelF5eFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYRkNMR2RDUVVGclFpeFRRVUZUYmtJc1IwRkRiRVFzVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENMRWRCUVV0TkxFZEJRVThzUzBGSE1VTmlMRVZCUVdWWExGVkJRVlZ6UWl4WFFVRmhMRk5CUVZOd1FpeEhRVU0zUXl4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhWQ0xHTkJRV2RDTEZOQlFWTnlRaXhIUVVOb1JDeFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYZENMR1ZCUVdsQ0xGTkJRVk4wUWl4SFFVTnFSQ3hQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWGxDTEZOQlFWY3NVMEZCVTNaQ0xFZEJRek5ETEU5QlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlExSkVMRVZCUlVaU0xFdEJRVXRGTEdkQ1FVRm5RaXhIUVVGTFRTeEhRVUZQTEV0QlJ6RkRZaXhGUVVGbFZ5eFZRVUZWTUVJc1kwRkJaMElzU1VGRmVrTnlReXhGUVVGbFZ5eFZRVUZWTWtJc1lVRkJaU3hKUVVWNFEzUkRMRVZCUVdWWExGVkJRVlUwUWl4bFFVRnBRaXhSUVVVeFEzWkRMRVZCUVdWWExGVkJRVlUyUWl4blFrRkJhMElzVTBGRk0wTjRReXhGUVVGbFZ5eFZRVUZWT0VJc2EwSkJRVzlDTEZkQlJUZERla01zUlVGQlpWY3NWVUZCVlN0Q0xHTkJRV2RDTEU5QlJYcERNVU1zUlVGQlpWY3NWVUZCVlVvc1owSkJRV3RDTEZOQlFWTnZReXhIUVVOc1JDeEpRVUZKUXl4RlFVRlBReXhGUVVOWUxFZEJRVWw0UXl4TFFVRkxTaXhSUVVGUllTeGhRVU5tTEU5QlFVODJRaXhGUVVkVUxFZEJSRUZETEVWQlFWRXNSMEZEY1VJc1VVRkJla0oyUXl4TFFVRkxTaXhSUVVGUlR5eFRRVVZtTEVkQlJFRnZReXhGUVVGUkxHZElRVU5LUXl4RlFVRk5SaXhGUVVGSmRrSXNUVUZCVFhkQ0xFZEJRMnhDTEUxQlFVMHNTVUZCU1haQ0xFMUJRVTBzWjBOQlFXdERjMElzUlVGQlRTeGhRVUZsUlN4RlFVRkpReXhaUVVWNFJTeEhRVUUyUWl4UlFVRjZRbnBETEV0QlFVdEtMRkZCUVZGUExGVkJRM1JDYjBNc1JVRkJVU3cwUmtGRFNrTXNSVUZCVFVZc1JVRkJTWFpDTEUxQlFVMTNRaXhKUVVOc1FpeE5RVUZOTEVsQlFVbDJRaXhOUVVGTkxHZERRVUZyUTNOQ0xFVkJRVTBzWVVGQlpVVXNSVUZCU1VNc1QwRkhMMFVzVDBGQlQwZ3NSMEZIVkRORExFVkJRV1ZYTEZWQlFWVk1MR2RDUVVGclFpeFRRVUZUY1VNc1IwRkRiRVFzU1VGQlNVTXNSVUZEU2l4SFFVRkpka01zUzBGQlMwb3NVVUZCVVdFc1lVRkRaaXhQUVVGUE5rSXNSVUZKVkN4SFFVWkJkRU1zUzBGQlMwVXNaMEpCUVdkQ2IwTXNSMEZEY2tKRExFVkJRVkVzWjFoQlEwaEVMRVZCUVVsMlFpeE5RVUZOZDBJc1IwRkRZaXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MRFpDUVVWc1FpeFBRVUZQYzBJc1IwRkhWRE5ETEVWQlFXVlhMRlZCUVZWTExGZEJRV0VzVTBGQlV6SkNMRWRCUXpkRExFbEJRVWxKTEVWQlEwb3NUMEZCU1RGRExFdEJRVXRLTEZGQlFWRmhMR0ZCUTFJMlFpeEhRVVZVU1N4RlFVRlhNVU1zUzBGQlMwb3NVVUZCVVN0RExHbENRVUZ0UWl4alFVRm5RaXhMUVVOd1JFd3NSVUZCU1hwQ0xGRkJRVkUyUWl4RlFVRlZMRk5CUVZNM1FpeFJRVUZSTEV0QlFVMHNVVUZCVVVFc1VVRkJVU3hMUVVGTkxGRkJRVkZCTEZGQlFWRXNUVUZCVHl4WFFVZHVSMnhDTEVWQlFXVlhMRlZCUVZWaExGVkJRVmtzVTBGQlUyMUNMRWRCUXpWRExFbEJRVWxKTEVWQlEwb3NUMEZCU1RGRExFdEJRVXRLTEZGQlFWRmhMR0ZCUTFJMlFpeEhRVVZVU1N4RlFVRlhNVU1zUzBGQlMwb3NVVUZCVVN0RExHbENRVUZ0UWl4alFVRm5RaXhMUVVOd1JFd3NSVUZCU1hwQ0xGRkJRVkUyUWl4RlFVRlZMRk5CUVZNM1FpeFJRVUZSTEV0QlFVMHNVVUZCVVVFc1VVRkJVU3hMUVVGTkxGVkJRVlZCTEZGQlFWRXNUVUZCVHl4VFFVRlRRU3hSUVVGUkxFMUJRVThzVTBGQlUwRXNVVUZCVVN4TlFVRlBMRmRCUnpsSmJFSXNSVUZ5VDNsQ0xFdEJlVTlxUTFVc1MwRkJTMHdpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeFRkSEpwYm1kcFptbGxjaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbz17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLGU9cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBpKGUsbyl7aWYoaS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBlbGVtZW50IHRleHQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMubmFtZT1cIiN0ZXh0XCIsdGhpcy50eXBlPXQuVGV4dCx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LnRleHQobyl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpby5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KGksZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGkucHJvdG90eXBlLFwiaXNFbGVtZW50Q29udGVudFdoaXRlc3BhY2VcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaS5wcm90b3R5cGUsXCJ3aG9sZVRleHRcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQsZSxvO2ZvcihvPVwiXCIsZT10aGlzLnByZXZpb3VzU2libGluZztlOylvPWUuZGF0YStvLGU9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKG8rPXRoaXMuZGF0YSx0PXRoaXMubmV4dFNpYmxpbmc7dDspbys9dC5kYXRhLHQ9dC5uZXh0U2libGluZztyZXR1cm4gb319KSxpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxpLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci50ZXh0KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saS5wcm90b3R5cGUuc3BsaXRUZXh0PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LGkucHJvdG90eXBlLnJlcGxhY2VXaG9sZVRleHQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZSbGVIUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhEYUdGeVlXTjBaWEpFWVhSaElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1WR1Y0ZENJc0luQmhjbVZ1ZENJc0luUmxlSFFpTENKZlgzTjFjR1Z5WDE4aUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1OaGJHd2lMQ0owYUdseklpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0p1WVcxbElpd2lkSGx3WlNJc0lsUmxlSFFpTENKMllXeDFaU0lzSW5OMGNtbHVaMmxtZVNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2libVY0ZENJc0luQnlaWFlpTENKemRISWlMQ0p3Y21WMmFXOTFjMU5wWW14cGJtY2lMQ0prWVhSaElpd2libVY0ZEZOcFlteHBibWNpTENKamJHOXVaU0lzSW1OeVpXRjBaU0lzSW5SdlUzUnlhVzVuSWl3aWIzQjBhVzl1Y3lJc0luZHlhWFJsY2lJc0ltWnBiSFJsY2s5d2RHbHZibk1pTENKemNHeHBkRlJsZUhRaUxDSnZabVp6WlhRaUxDSnlaWEJzWVdObFYyaHZiR1ZVWlhoMElpd2lZMjl1ZEdWdWRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGVlF5eEZRVVZhUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pJTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pJTEVWQlFXMUNSeXhSUVVGUkxITkNRVVV6UWtNc1QwRkJUME1zVVVGQmIwSXNVMEZCVlVNc1IwRkhia01zVTBGQlUwTXNSVUZCVVVNc1JVRkJVVU1zUjBGRmRrSXNSMEZFUVVZc1JVRkJVVWNzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVd3NSMEZETjBJc1RVRkJVa01zUlVGRFJpeE5RVUZOTEVsQlFVbExMRTFCUVUwc2VVSkJRVEpDUkN4TFFVRkxSU3hoUVVWc1JFWXNTMEZCUzBjc1MwRkJUeXhSUVVOYVNDeExRVUZMU1N4TFFVRlBiRUlzUlVGQlUyMUNMRXRCUTNKQ1RDeExRVUZMVFN4TlFVRlJUaXhMUVVGTFR5eFZRVUZWV0N4TFFVRkxRU3hIUVRSRGJrTXNUMEUzUkZNc1UwRkJVMWtzUlVGQlQySXNSMEZCVlN4SlFVRkxMRWxCUVVsakxFdEJRVTlrTEVWQlFXTlFMRVZCUVZGWExFdEJRVXRLTEVWQlFWRmpMRXRCUVUxRUxFVkJRVTFETEVkQlFVOWtMRVZCUVU5akxFbEJRVkVzVTBGQlUwTXNTVUZCVTFZc1MwRkJTMFlzV1VGQlkxVXNSVUZCVTBVc1JVRkJTME1zVlVGQldXaENMRVZCUVU5blFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxWUxGVkJRVmxHTEVWQlFVOW5RaXhWUVZGb1VVTXNRMEZCVDJ4Q0xFVkJkVVJPVUN4SFFUTkRSREJDTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZSYVVJc1ZVRkJWeXcyUWtGQk9FSXNRMEZEY2tWSkxFbEJRVXNzVjBGRFNDeE5RVUZOTEVsQlFVbGtMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVlhMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlJhVUlzVlVGQlZ5eFpRVUZoTEVOQlEzQkVTU3hKUVVGTExGZEJRMGdzU1VGQlNVTXNSVUZCVFVNc1JVRkJUVU1zUlVGSGFFSXNTVUZHUVVFc1JVRkJUU3hIUVVOT1JDeEZRVUZQYWtJc1MwRkJTMjFDTEdkQ1FVTk1SaXhIUVVOTVF5eEZRVUZOUkN4RlFVRkxSeXhMUVVGUFJpeEZRVU5zUWtRc1JVRkJUMEVzUlVGQlMwVXNaMEpCU1dRc1NVRkdRVVFzUjBGQlQyeENMRXRCUVV0dlFpeExRVU5hU2l4RlFVRlBhRUlzUzBGQlMzRkNMRmxCUTB4TUxFZEJRMHhGTEVkQlFWbEdMRVZCUVV0SkxFdEJRMnBDU2l4RlFVRlBRU3hGUVVGTFN5eFpRVVZrTEU5QlFVOUlMRXRCU1ZoNFFpeEZRVUZSYVVJc1ZVRkJWVmNzVFVGQlVTeFhRVU40UWl4UFFVRlBWQ3hQUVVGUFZTeFBRVUZQZGtJc1QwRkhka0pPTEVWQlFWRnBRaXhWUVVGVllTeFRRVUZYTEZOQlFWTkRMRWRCUTNCRExFOUJRVTk2UWl4TFFVRkxlVUlzVVVGQlVVTXNUMEZCVHpsQ0xFdEJRVXRKTEV0QlFVMUJMRXRCUVV0NVFpeFJRVUZSUXl4UFFVRlBReXhqUVVGalJpeExRVWN4UlM5Q0xFVkJRVkZwUWl4VlFVRlZhVUlzVlVGQldTeFRRVUZUUXl4SFFVTnlReXhOUVVGTkxFbEJRVWsxUWl4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJTTEVWQlFWRnBRaXhWUVVGVmJVSXNhVUpCUVcxQ0xGTkJRVk5ETEVkQlF6VkRMRTFCUVUwc1NVRkJTVGxDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVZDRSRklzUlVGMFJHdENMRXRCTUVReFFrc3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhVWlhoMExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIGUsdCxuLHM9e30uaGFzT3duUHJvcGVydHk7bj1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmFzc2lnbixlPXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHJlcXVpcmUoXCIuL1hNTERlY2xhcmF0aW9uXCIpLHJlcXVpcmUoXCIuL1hNTERvY1R5cGVcIikscmVxdWlyZShcIi4vWE1MQ0RhdGFcIikscmVxdWlyZShcIi4vWE1MQ29tbWVudFwiKSxyZXF1aXJlKFwiLi9YTUxFbGVtZW50XCIpLHJlcXVpcmUoXCIuL1hNTFJhd1wiKSxyZXF1aXJlKFwiLi9YTUxUZXh0XCIpLHJlcXVpcmUoXCIuL1hNTFByb2Nlc3NpbmdJbnN0cnVjdGlvblwiKSxyZXF1aXJlKFwiLi9YTUxEdW1teVwiKSxyZXF1aXJlKFwiLi9YTUxEVERBdHRMaXN0XCIpLHJlcXVpcmUoXCIuL1hNTERUREVsZW1lbnRcIikscmVxdWlyZShcIi4vWE1MRFRERW50aXR5XCIpLHJlcXVpcmUoXCIuL1hNTERURE5vdGF0aW9uXCIpLHQ9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKGUpe3ZhciB0LG4sbztmb3IodCBpbiBlfHwoZT17fSksdGhpcy5vcHRpb25zPWUsbj1lLndyaXRlcnx8e30pcy5jYWxsKG4sdCkmJihvPW5bdF0sdGhpc1tcIl9cIit0XT10aGlzW3RdLHRoaXNbdF09byl9cmV0dXJuIG8ucHJvdG90eXBlLmZpbHRlck9wdGlvbnM9ZnVuY3Rpb24oZSl7dmFyIHMsbyxhLGkscixsLHUscDtyZXR1cm4gZXx8KGU9e30pLGU9bih7fSx0aGlzLm9wdGlvbnMsZSksKHM9e3dyaXRlcjp0aGlzfSkucHJldHR5PWUucHJldHR5fHwhMSxzLmFsbG93RW1wdHk9ZS5hbGxvd0VtcHR5fHwhMSxzLmluZGVudD1udWxsIT0obz1lLmluZGVudCk/bzpcIiAgXCIscy5uZXdsaW5lPW51bGwhPShhPWUubmV3bGluZSk/YTpcIlxcblwiLHMub2Zmc2V0PW51bGwhPShpPWUub2Zmc2V0KT9pOjAscy5kb250UHJldHR5VGV4dE5vZGVzPW51bGwhPShyPW51bGwhPShsPWUuZG9udFByZXR0eVRleHROb2Rlcyk/bDplLmRvbnRwcmV0dHl0ZXh0bm9kZXMpP3I6MCxzLnNwYWNlQmVmb3JlU2xhc2g9bnVsbCE9KHU9bnVsbCE9KHA9ZS5zcGFjZUJlZm9yZVNsYXNoKT9wOmUuc3BhY2ViZWZvcmVzbGFzaCk/dTpcIlwiLCEwPT09cy5zcGFjZUJlZm9yZVNsYXNoJiYocy5zcGFjZUJlZm9yZVNsYXNoPVwiIFwiKSxzLnN1cHByZXNzUHJldHR5Q291bnQ9MCxzLnVzZXI9e30scy5zdGF0ZT10Lk5vbmUsc30sby5wcm90b3R5cGUuaW5kZW50PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcztyZXR1cm4hdC5wcmV0dHl8fHQuc3VwcHJlc3NQcmV0dHlDb3VudD9cIlwiOnQucHJldHR5JiYocz0obnx8MCkrdC5vZmZzZXQrMSk+MD9uZXcgQXJyYXkocykuam9pbih0LmluZGVudCk6XCJcIn0sby5wcm90b3R5cGUuZW5kbGluZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIXQucHJldHR5fHx0LnN1cHByZXNzUHJldHR5Q291bnQ/XCJcIjp0Lm5ld2xpbmV9LG8ucHJvdG90eXBlLmF0dHJpYnV0ZT1mdW5jdGlvbihlLHQsbil7dmFyIHM7cmV0dXJuIHRoaXMub3BlbkF0dHJpYnV0ZShlLHQsbikscz1cIiBcIitlLm5hbWUrJz1cIicrZS52YWx1ZSsnXCInLHRoaXMuY2xvc2VBdHRyaWJ1dGUoZSx0LG4pLHN9LG8ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IVtDREFUQVtcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPVwiXV0+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiXFx4M2MhLS0gXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1cIiAtLVxceDNlXCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjw/eG1sXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz0nIHZlcnNpb249XCInK2UudmVyc2lvbisnXCInLG51bGwhPWUuZW5jb2RpbmcmJihvKz0nIGVuY29kaW5nPVwiJytlLmVuY29kaW5nKydcIicpLG51bGwhPWUuc3RhbmRhbG9uZSYmKG8rPScgc3RhbmRhbG9uZT1cIicrZS5zdGFuZGFsb25lKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI/PlwiLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmRvY1R5cGU9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvLGEsaSxyLGw7aWYoc3x8KHM9MCksdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcscj10aGlzLmluZGVudChlLG4scykscis9XCI8IURPQ1RZUEUgXCIrZS5yb290KCkubmFtZSxlLnB1YklEJiZlLnN5c0lEP3IrPScgUFVCTElDIFwiJytlLnB1YklEKydcIiBcIicrZS5zeXNJRCsnXCInOmUuc3lzSUQmJihyKz0nIFNZU1RFTSBcIicrZS5zeXNJRCsnXCInKSxlLmNoaWxkcmVuLmxlbmd0aD4wKXtmb3Iocis9XCIgW1wiLHIrPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lkluc2lkZVRhZyxhPTAsaT0obD1lLmNoaWxkcmVuKS5sZW5ndGg7YTxpO2ErKylvPWxbYV0scis9dGhpcy53cml0ZUNoaWxkTm9kZShvLG4scysxKTtuLnN0YXRlPXQuQ2xvc2VUYWcscis9XCJdXCJ9cmV0dXJuIG4uc3RhdGU9dC5DbG9zZVRhZyxyKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIscis9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scykscn0sby5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbihuLG8sYSl7dmFyIGkscixsLHUscCxkLGgsYyx5LFQsZixOLGcsRDtmb3IoeSBpbiBhfHwoYT0wKSxUPSExLGY9XCJcIix0aGlzLm9wZW5Ob2RlKG4sbyxhKSxvLnN0YXRlPXQuT3BlblRhZyxmKz10aGlzLmluZGVudChuLG8sYSkrXCI8XCIrbi5uYW1lLE49bi5hdHRyaWJzKXMuY2FsbChOLHkpJiYoaT1OW3ldLGYrPXRoaXMuYXR0cmlidXRlKGksbyxhKSk7aWYodT0wPT09KGw9bi5jaGlsZHJlbi5sZW5ndGgpP251bGw6bi5jaGlsZHJlblswXSwwPT09bHx8bi5jaGlsZHJlbi5ldmVyeShmdW5jdGlvbih0KXtyZXR1cm4odC50eXBlPT09ZS5UZXh0fHx0LnR5cGU9PT1lLlJhdykmJlwiXCI9PT10LnZhbHVlfSkpby5hbGxvd0VtcHR5PyhmKz1cIj5cIixvLnN0YXRlPXQuQ2xvc2VUYWcsZis9XCI8L1wiK24ubmFtZStcIj5cIit0aGlzLmVuZGxpbmUobixvLGEpKTooby5zdGF0ZT10LkNsb3NlVGFnLGYrPW8uc3BhY2VCZWZvcmVTbGFzaCtcIi8+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKSk7ZWxzZSBpZighby5wcmV0dHl8fDEhPT1sfHx1LnR5cGUhPT1lLlRleHQmJnUudHlwZSE9PWUuUmF3fHxudWxsPT11LnZhbHVlKXtpZihvLmRvbnRQcmV0dHlUZXh0Tm9kZXMpZm9yKHA9MCxoPShnPW4uY2hpbGRyZW4pLmxlbmd0aDtwPGg7cCsrKWlmKCgocj1nW3BdKS50eXBlPT09ZS5UZXh0fHxyLnR5cGU9PT1lLlJhdykmJm51bGwhPXIudmFsdWUpe28uc3VwcHJlc3NQcmV0dHlDb3VudCsrLFQ9ITA7YnJlYWt9Zm9yKGYrPVwiPlwiK3RoaXMuZW5kbGluZShuLG8sYSksby5zdGF0ZT10Lkluc2lkZVRhZyxkPTAsYz0oRD1uLmNoaWxkcmVuKS5sZW5ndGg7ZDxjO2QrKylyPURbZF0sZis9dGhpcy53cml0ZUNoaWxkTm9kZShyLG8sYSsxKTtvLnN0YXRlPXQuQ2xvc2VUYWcsZis9dGhpcy5pbmRlbnQobixvLGEpK1wiPC9cIituLm5hbWUrXCI+XCIsVCYmby5zdXBwcmVzc1ByZXR0eUNvdW50LS0sZis9dGhpcy5lbmRsaW5lKG4sbyxhKSxvLnN0YXRlPXQuTm9uZX1lbHNlIGYrPVwiPlwiLG8uc3RhdGU9dC5JbnNpZGVUYWcsby5zdXBwcmVzc1ByZXR0eUNvdW50KyssVD0hMCxmKz10aGlzLndyaXRlQ2hpbGROb2RlKHUsbyxhKzEpLG8uc3VwcHJlc3NQcmV0dHlDb3VudC0tLFQ9ITEsby5zdGF0ZT10LkNsb3NlVGFnLGYrPVwiPC9cIituLm5hbWUrXCI+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKTtyZXR1cm4gdGhpcy5jbG9zZU5vZGUobixvLGEpLGZ9LG8ucHJvdG90eXBlLndyaXRlQ2hpbGROb2RlPWZ1bmN0aW9uKHQsbixzKXtzd2l0Y2godC50eXBlKXtjYXNlIGUuQ0RhdGE6cmV0dXJuIHRoaXMuY2RhdGEodCxuLHMpO2Nhc2UgZS5Db21tZW50OnJldHVybiB0aGlzLmNvbW1lbnQodCxuLHMpO2Nhc2UgZS5FbGVtZW50OnJldHVybiB0aGlzLmVsZW1lbnQodCxuLHMpO2Nhc2UgZS5SYXc6cmV0dXJuIHRoaXMucmF3KHQsbixzKTtjYXNlIGUuVGV4dDpyZXR1cm4gdGhpcy50ZXh0KHQsbixzKTtjYXNlIGUuUHJvY2Vzc2luZ0luc3RydWN0aW9uOnJldHVybiB0aGlzLnByb2Nlc3NpbmdJbnN0cnVjdGlvbih0LG4scyk7Y2FzZSBlLkR1bW15OnJldHVyblwiXCI7Y2FzZSBlLkRlY2xhcmF0aW9uOnJldHVybiB0aGlzLmRlY2xhcmF0aW9uKHQsbixzKTtjYXNlIGUuRG9jVHlwZTpyZXR1cm4gdGhpcy5kb2NUeXBlKHQsbixzKTtjYXNlIGUuQXR0cmlidXRlRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkQXR0TGlzdCh0LG4scyk7Y2FzZSBlLkVsZW1lbnREZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kdGRFbGVtZW50KHQsbixzKTtjYXNlIGUuRW50aXR5RGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkRW50aXR5KHQsbixzKTtjYXNlIGUuTm90YXRpb25EZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kdGROb3RhdGlvbih0LG4scyk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIFhNTCBub2RlIHR5cGU6IFwiK3QuY29uc3RydWN0b3IubmFtZSl9fSxvLnByb3RvdHlwZS5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb249ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjw/XCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnRhcmdldCxlLnZhbHVlJiYobys9XCIgXCIrZS52YWx1ZSksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj8+XCIsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scyksbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scyksbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kdGRBdHRMaXN0PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IUFUVExJU1RcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPVwiIFwiK2UuZWxlbWVudE5hbWUrXCIgXCIrZS5hdHRyaWJ1dGVOYW1lK1wiIFwiK2UuYXR0cmlidXRlVHlwZSxcIiNERUZBVUxUXCIhPT1lLmRlZmF1bHRWYWx1ZVR5cGUmJihvKz1cIiBcIitlLmRlZmF1bHRWYWx1ZVR5cGUpLGUuZGVmYXVsdFZhbHVlJiYobys9JyBcIicrZS5kZWZhdWx0VmFsdWUrJ1wiJyksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kdGRFbGVtZW50PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IUVMRU1FTlRcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPVwiIFwiK2UubmFtZStcIiBcIitlLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkRW50aXR5PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IUVOVElUWVwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsZS5wZSYmKG8rPVwiICVcIiksbys9XCIgXCIrZS5uYW1lLGUudmFsdWU/bys9JyBcIicrZS52YWx1ZSsnXCInOihlLnB1YklEJiZlLnN5c0lEP28rPScgUFVCTElDIFwiJytlLnB1YklEKydcIiBcIicrZS5zeXNJRCsnXCInOmUuc3lzSUQmJihvKz0nIFNZU1RFTSBcIicrZS5zeXNJRCsnXCInKSxlLm5EYXRhJiYobys9XCIgTkRBVEEgXCIrZS5uRGF0YSkpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkTm90YXRpb249ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhTk9UQVRJT05cIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPVwiIFwiK2UubmFtZSxlLnB1YklEJiZlLnN5c0lEP28rPScgUFVCTElDIFwiJytlLnB1YklEKydcIiBcIicrZS5zeXNJRCsnXCInOmUucHViSUQ/bys9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiJzplLnN5c0lEJiYobys9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5vcGVuTm9kZT1mdW5jdGlvbihlLHQsbil7fSxvLnByb3RvdHlwZS5jbG9zZU5vZGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUub3BlbkF0dHJpYnV0ZT1mdW5jdGlvbihlLHQsbil7fSxvLnByb3RvdHlwZS5jbG9zZUF0dHJpYnV0ZT1mdW5jdGlvbihlLHQsbil7fSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URmR5YVhSbGNrSmhjMlV1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pYY21sMFpYSlRkR0YwWlNJc0ltRnpjMmxuYmlJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVjNKcGRHVnlRbUZ6WlNJc0ltOXdkR2x2Ym5NaUxDSnJaWGtpTENKeVpXWWlMQ0oyWVd4MVpTSXNJblJvYVhNaUxDSjNjbWwwWlhJaUxDSmpZV3hzSWl3aWNISnZkRzkwZVhCbElpd2labWxzZEdWeVQzQjBhVzl1Y3lJc0ltWnBiSFJsY21Wa1QzQjBhVzl1Y3lJc0luSmxaakVpTENKeVpXWXlJaXdpY21WbU15SXNJbkpsWmpRaUxDSnlaV1kxSWl3aWNtVm1OaUlzSW5CeVpYUjBlU0lzSW1Gc2JHOTNSVzF3ZEhraUxDSnBibVJsYm5RaUxDSnVaWGRzYVc1bElpd2liMlptYzJWMElpd2laRzl1ZEZCeVpYUjBlVlJsZUhST2IyUmxjeUlzSW1SdmJuUndjbVYwZEhsMFpYaDBibTlrWlhNaUxDSnpjR0ZqWlVKbFptOXlaVk5zWVhOb0lpd2ljM0JoWTJWaVpXWnZjbVZ6YkdGemFDSXNJbk4xY0hCeVpYTnpVSEpsZEhSNVEyOTFiblFpTENKMWMyVnlJaXdpYzNSaGRHVWlMQ0pPYjI1bElpd2libTlrWlNJc0lteGxkbVZzSWl3aWFXNWtaVzUwVEdWMlpXd2lMQ0pCY25KaGVTSXNJbXB2YVc0aUxDSmxibVJzYVc1bElpd2lZWFIwY21saWRYUmxJaXdpWVhSMElpd2ljaUlzSW05d1pXNUJkSFJ5YVdKMWRHVWlMQ0p1WVcxbElpd2lZMnh2YzJWQmRIUnlhV0oxZEdVaUxDSmpaR0YwWVNJc0ltOXdaVzVPYjJSbElpd2lUM0JsYmxSaFp5SXNJa2x1YzJsa1pWUmhaeUlzSWtOc2IzTmxWR0ZuSWl3aVkyeHZjMlZPYjJSbElpd2lZMjl0YldWdWRDSXNJbVJsWTJ4aGNtRjBhVzl1SWl3aWRtVnljMmx2YmlJc0ltVnVZMjlrYVc1bklpd2ljM1JoYm1SaGJHOXVaU0lzSW1SdlkxUjVjR1VpTENKamFHbHNaQ0lzSW1raUxDSnNaVzRpTENKeWIyOTBJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpZDNKcGRHVkRhR2xzWkU1dlpHVWlMQ0psYkdWdFpXNTBJaXdpWTJocGJHUk9iMlJsUTI5MWJuUWlMQ0ptYVhKemRFTm9hV3hrVG05a1pTSXNJbW9pTENKc1pXNHhJaXdpY0hKbGRIUjVVM1Z3Y0hKbGMzTmxaQ0lzSW1GMGRISnBZbk1pTENKbGRtVnllU0lzSW1VaUxDSjBlWEJsSWl3aVZHVjRkQ0lzSWxKaGR5SXNJa05FWVhSaElpd2lRMjl0YldWdWRDSXNJa1ZzWlcxbGJuUWlMQ0p5WVhjaUxDSjBaWGgwSWl3aVVISnZZMlZ6YzJsdVowbHVjM1J5ZFdOMGFXOXVJaXdpY0hKdlkyVnpjMmx1WjBsdWMzUnlkV04wYVc5dUlpd2lSSFZ0YlhraUxDSkVaV05zWVhKaGRHbHZiaUlzSWtSdlkxUjVjR1VpTENKQmRIUnlhV0oxZEdWRVpXTnNZWEpoZEdsdmJpSXNJbVIwWkVGMGRFeHBjM1FpTENKRmJHVnRaVzUwUkdWamJHRnlZWFJwYjI0aUxDSmtkR1JGYkdWdFpXNTBJaXdpUlc1MGFYUjVSR1ZqYkdGeVlYUnBiMjRpTENKa2RHUkZiblJwZEhraUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpWkhSa1RtOTBZWFJwYjI0aUxDSkZjbkp2Y2lJc0ltTnZibk4wY25WamRHOXlJaXdpZEdGeVoyVjBJaXdpWld4bGJXVnVkRTVoYldVaUxDSmhkSFJ5YVdKMWRHVk9ZVzFsSWl3aVlYUjBjbWxpZFhSbFZIbHdaU0lzSW1SbFptRjFiSFJXWVd4MVpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVWlMQ0p3WlNJc0ltNUVZWFJoSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFUSk5ReXhGUVVOMlRrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVJpeEZRVUZUUnl4UlFVRlJMR0ZCUVdGSUxFOUJSVGxDUml4RlFVRlhTeXhSUVVGUkxHTkJSVVpCTEZGQlFWRXNiMEpCUlZwQkxGRkJRVkVzWjBKQlJWWkJMRkZCUVZFc1kwRkZUa0VzVVVGQlVTeG5Ra0ZGVWtFc1VVRkJVU3huUWtGRldrRXNVVUZCVVN4WlFVVlFRU3hSUVVGUkxHRkJSVk5CTEZGQlFWRXNPRUpCUlhoQ1FTeFJRVUZSTEdOQlJVaEJMRkZCUVZFc2JVSkJSVkpCTEZGQlFWRXNiVUpCUlZSQkxGRkJRVkVzYTBKQlJVNUJMRkZCUVZFc2IwSkJSWHBDU2l4RlFVRmpTU3hSUVVGUkxHbENRVVYwUWtNc1QwRkJUME1zVVVGQk1FSXNWMEZETDBJc1UwRkJVME1zUlVGQlkwTXNSMEZEY2tJc1NVRkJTVU1zUlVGQlMwTXNSVUZCUzBNc1JVRkpaQ3hKUVVGTFJpeExRVWhNUkN4SlFVRlpRU3hGUVVGVkxFbEJRM1JDU1N4TFFVRkxTaXhSUVVGVlFTeEZRVU5tUlN4RlFVRk5SaXhGUVVGUlN5eFJRVUZWTEVkQlJXcENXQ3hGUVVGUldTeExRVUZMU2l4RlFVRkxSQ3hMUVVOMlFrVXNSVUZCVVVRc1JVRkJTVVFzUjBGRFdrY3NTMEZCU3l4SlFVRk5TQ3hIUVVGUFJ5eExRVUZMU0N4SFFVTjJRa2NzUzBGQlMwZ3NSMEZCVDBVc1IwRjNXR2hDTEU5QmNGaEJTaXhGUVVGalVTeFZRVUZWUXl4alFVRm5RaXhUUVVGVFVpeEhRVU12UXl4SlFVRkpVeXhGUVVGcFFsQXNSVUZCUzFFc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZ0UW5oRUxFOUJiRUpCWml4SlFVRlpRU3hGUVVGVkxFbEJRM1JDUVN4RlFVRlZVQ3hGUVVGUExFZEJRVWxYTEV0QlFVdEtMRkZCUVZOQkxFbEJRMjVEVXl4RlFVRnJRaXhEUVVOb1Frb3NUMEZCVVVRc1QwRkZUVmtzVDBGQlUyaENMRVZCUVZGblFpeFRRVUZWTEVWQlF6TkRVQ3hGUVVGblFsRXNWMEZCWVdwQ0xFVkJRVkZwUWl4aFFVRmpMRVZCUTI1RVVpeEZRVUZuUWxNc1QwRkJiVU1zVDBGQmVrSm9RaXhGUVVGTlJpeEZRVUZSYTBJc1VVRkJhMEpvUWl4RlFVRk5MRXRCUTJoRlR5eEZRVUZuUWxVc1VVRkJjME1zVDBGQk0wSlVMRVZCUVU5V0xFVkJRVkZ0UWl4VFFVRnRRbFFzUlVGQlR5eExRVU53UlVRc1JVRkJaMEpYTEU5QlFXOURMRTlCUVRGQ1ZDeEZRVUZQV0N4RlFVRlJiMElzVVVGQmEwSlVMRVZCUVU4c1JVRkRiRVZHTEVWQlFXZENXU3h2UWtGQmIwZ3NUMEZCTjBaVUxFVkJRU3RETEU5QlFYWkRReXhGUVVGUFlpeEZRVUZSY1VJc2NVSkJRU3RDVWl4RlFVRlBZaXhGUVVGUmMwSXNjVUpCUVN0Q1ZpeEZRVUZQTEVWQlEyeEtTQ3hGUVVGblFtTXNhVUpCUVRKSExFOUJRWFpHVkN4RlFVRTBReXhQUVVGd1EwTXNSVUZCVDJZc1JVRkJVWFZDTEd0Q1FVRTBRbElzUlVGQlQyWXNSVUZCVVhkQ0xHdENRVUUwUWxZc1JVRkJUeXhKUVVOb1J5eEpRVUZ5UTB3c1JVRkJaMEpqTEcxQ1FVTnNRbVFzUlVGQlowSmpMR2xDUVVGdFFpeExRVVZ5UTJRc1JVRkJaMEpuUWl4dlFrRkJjMElzUlVGRGRFTm9RaXhGUVVGblFtbENMRXRCUVU4c1IwRkRka0pxUWl4RlFVRm5RbXRDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETjBKdVFpeEhRVWRVVml4RlFVRmpVU3hWUVVGVlZ5eFBRVUZUTEZOQlFWTlhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka1FzU1VGQlNVTXNSVUZEU2l4UFFVRkxMMElzUlVGQlVXZENMRkZCUVZWb1FpeEZRVUZSZVVJc2IwSkJRM1JDTEVkQlEwVjZRaXhGUVVGUlowSXNVMEZEYWtKbExFZEJRV1ZFTEVkQlFWTXNSMEZCU3psQ0xFVkJRVkZ2UWl4UFFVRlRMRWRCUXpWQ0xFVkJRMVFzU1VGQlNWa3NUVUZCVFVRc1IwRkJZVVVzUzBGQlMycERMRVZCUVZGclFpeFJRVWQ0UXl4SlFVZFVia0lzUlVGQlkxRXNWVUZCVlRKQ0xGRkJRVlVzVTBGQlUwd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjRSQ3hQUVVGTE9VSXNSVUZCVVdkQ0xGRkJRVlZvUWl4RlFVRlJlVUlzYjBKQlEzUkNMRWRCUlVGNlFpeEZRVUZSYlVJc1UwRkpia0p3UWl4RlFVRmpVU3hWUVVGVk5FSXNWVUZCV1N4VFFVRlRReXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRM3BFTEVsQlFVbFBMRVZCU1Vvc1QwRklRV3BETEV0QlFVdHJReXhqUVVGalJpeEZRVUZMY0VNc1JVRkJVemhDTEVkQlEycERUeXhGUVVGSkxFbEJRVTFFTEVWQlFVbEhMRXRCUVU4c1MwRkJUMGdzUlVGQlNXcERMRTFCUVZFc1NVRkRlRU5ETEV0QlFVdHZReXhsUVVGbFNpeEZRVUZMY0VNc1JVRkJVemhDTEVkQlF6TkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWV3RETEUxQlFWRXNVMEZCVTFvc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOMFJDeEpRVUZKVHl4RlFWVktMRTlCVkVGcVF5eExRVUZMYzBNc1UwRkJVMklzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0zUWpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXMUVMRkZCUXpWQ1RpeEZRVUZKYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVRlRMRmxCUTNoRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRE5VSlFMRWRCUVV0U0xFVkJRVXN4UWl4TlFVTldTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlN5eE5RVUZSYWtNc1MwRkJTemhDTEZGQlFWRk1MRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRla001UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlF5eExRVU0xUW5oQ0xFdEJRVXN3UXl4VlFVRlZha0lzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4yUWs4c1IwRkhWSFJETEVWQlFXTlJMRlZCUVZWM1F5eFJRVUZWTEZOQlFWTnNRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM2hFTEVsQlFVbFBMRVZCVlVvc1QwRlVRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1YwRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTMUlzUlVGQlN6RkNMRTFCUTFaSUxFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMTEZWQlFWTnFReXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNeFF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWGxETEZsQlFXTXNVMEZCVTI1Q0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE5VUXNTVUZCU1U4c1JVRnBRa29zVDBGb1FrRnFReXhMUVVGTGMwTXNVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNM1FqbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzFFTEZGQlF6VkNUaXhGUVVGSmFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVUZUTEZGQlEzaERPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkROVUpRTEVkQlFVc3NZVUZCWlZJc1JVRkJTMjlDTEZGQlFWVXNTVUZEWkN4TlFVRnFRbkJDTEVWQlFVdHhRaXhYUVVOUVlpeEhRVUZMTEdOQlFXZENVaXhGUVVGTGNVSXNVMEZCVnl4TFFVVm9RaXhOUVVGdVFuSkNMRVZCUVV0elFpeGhRVU5RWkN4SFFVRkxMR2RDUVVGclFsSXNSVUZCUzNOQ0xGZEJRV0VzUzBGRk0wTnVSQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1MwRkRhRU5qTEVkQlFVdHFReXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOcVF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWVFpETEZGQlFWVXNVMEZCVTNaQ0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVFUXNTVUZCU1hWQ0xFVkJRVTlETEVWQlFVZERMRVZCUVV0c1FpeEZRVUZIYmtNc1JVRlhkRUlzUjBGV1FUUkNMRWxCUVZWQkxFVkJRVkVzUjBGRGJFSXhRaXhMUVVGTGMwTXNVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNM1FqbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzFFTEZGQlF6VkNUaXhGUVVGSmFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU12UWs4c1IwRkJTeXhoUVVGbFVpeEZRVUZMTWtJc1QwRkJUMnBDTEV0QlF6VkNWaXhGUVVGTE5FSXNUMEZCVXpWQ0xFVkJRVXMyUWl4TlFVTnlRbkpDTEVkQlFVc3NXVUZCWTFJc1JVRkJTelJDTEUxQlFWRXNUVUZCVVRWQ0xFVkJRVXMyUWl4TlFVRlJMRWxCUXpWRE4wSXNSVUZCU3paQ0xGRkJRMlJ5UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMyUWl4TlFVRlJMRXRCUlRsQ04wSXNSVUZCU3poQ0xGTkJRVk5ETEU5QlFWTXNSVUZCUnl4RFFVczFRaXhKUVVwQmRrSXNSMEZCU3l4TFFVTk1RU3hIUVVGTGFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVWMlFsVXNSVUZCU1N4RlFVRkhReXhIUVVSYWNrUXNSVUZCVFRKQ0xFVkJRVXM0UWl4VlFVTlhReXhQUVVGUlRpeEZRVUZKUXl4RlFVRkxSQ3hKUVVOeVEwUXNSVUZCVVc1RUxFVkJRVWx2UkN4SFFVTmFha0lzUjBGQlMycERMRXRCUVV0NVJDeGxRVUZsVWl4RlFVRlBja1FzUlVGQlV6aENMRVZCUVZFc1IwRkZia1E1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTeXhKUVU5UUxFOUJURUZ5UXl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTVUZEYUVOakxFZEJRVXRxUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnFRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhWRUxGRkJRVlVzVTBGQlUycERMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRlRVFzU1VGQlNVMHNSVUZCUzJsQ0xFVkJRVTlWTEVWQlFXZENReXhGUVVGblFsWXNSVUZCUjFjc1JVRkJSMVlzUlVGQlMxY3NSVUZCVFROQ0xFVkJRVTAwUWl4RlFVRnJRamxDTEVWQlFVZHVReXhGUVVGTFVTeEZRVUZOUXl4RlFWRjJSeXhKUVVGTE5FSXNTMEZRVEZRc1NVRkJWVUVzUlVGQlVTeEhRVU5zUW5GRExFZEJRVzFDTEVWQlEyNUNPVUlzUlVGQlNTeEhRVU5LYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1IwRkJTMnBETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGQlV5eEpRVUZOUkN4RlFVRkxWU3hMUVVOd1JISkRMRVZCUVUweVFpeEZRVUZMZFVNc1VVRkZTakZGTEVWQlFWRlpMRXRCUVV0S0xFVkJRVXR4UXl4TFFVTjJRa2dzUlVGQlRXeERMRVZCUVVseFF5eEhRVU5XUml4SFFVRkxha01zUzBGQlN5dENMRlZCUVZWRExFVkJRVXR3UXl4RlFVRlRPRUlzU1VGSmNFTXNSMEZFUVd0RExFVkJRVzlETEV0QlJIQkRSQ3hGUVVGcFFteERMRVZCUVVzNFFpeFRRVUZUUXl4UlFVTlRMRXRCUVU4dlFpeEZRVUZMT0VJc1UwRkJVeXhIUVVOMFF5eEpRVUZ1UWtrc1IwRkJkMEpzUXl4RlFVRkxPRUlzVTBGQlUxVXNUVUZCVFN4VFFVRlRReXhIUVVOMlJDeFBRVUZSUVN4RlFVRkZReXhQUVVGVGFFWXNSVUZCVTJsR0xFMUJRVkZHTEVWQlFVVkRMRTlCUVZOb1JpeEZRVUZUYTBZc1RVRkJiMElzUzBGQldrZ3NSVUZCUlc1RkxGRkJSVGxFU0N4RlFVRlJhVUlzV1VGRFZtOUNMRWRCUVVzc1NVRkRUSEpETEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxMRXRCUVU5U0xFVkJRVXRWTEV0QlFVOHNTVUZCVFc1RExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFdEJSVEZFT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmNVUXNVMEZETlVKU0xFZEJRVXR5UXl4RlFVRlJkVUlzYVVKQlFXMUNMRXRCUVU5dVFpeExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeFRRVVZvUlN4SlFVRkpPVUlzUlVGQlVXZENMRkZCUVRaQ0xFbEJRVzVDSzBNc1IwRkJlVUpETEVWQlFXVlBMRTlCUVZOb1JpeEZRVUZUYVVZc1RVRkJVVklzUlVGQlpVOHNUMEZCVTJoR0xFVkJRVk5yUml4TFFVRnBReXhOUVVGNFFsUXNSVUZCWlRkRUxFMUJWV3BLTEVOQlEwd3NSMEZCU1Vnc1JVRkJVWEZDTEc5Q1FVVldMRWxCUVV0cFF5eEZRVUZKTEVWQlFVZERMRWRCUkZvM1F5eEZRVUZQYlVJc1JVRkJTemhDTEZWQlExZERMRTlCUVZGT0xFVkJRVWxETEVWQlFVdEVMRWxCUlhSRExFdEJSRUZFTEVWQlFWRXpReXhGUVVGTE5FTXNTVUZEUm1sQ0xFOUJRVk5vUml4RlFVRlRhVVlzVFVGQlVXNUNMRVZCUVUxclFpeFBRVUZUYUVZc1JVRkJVMnRHTEUxQlFYZENMRTFCUVdad1FpeEZRVUZOYkVRc1RVRkJaMElzUTBGRE1VWklMRVZCUVZGNVFpeHpRa0ZEVWpCRExFZEJRVzFDTEVWQlEyNUNMRTFCVDA0c1NVRklRVGxDTEVkQlFVc3NTVUZCVFdwRExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZGZGtKeFFpeEZRVUZKTEVWQlFVZERMRWRCUkZwMlJDeEZRVUZQYTBJc1JVRkJTemhDTEZWQlExbERMRTlCUVZGTExFVkJRVWxETEVWQlFVMUVMRWxCUTNoRFdpeEZRVUZSTVVNc1JVRkJTM05FTEVkQlEySTFRaXhIUVVGTGFrTXNTMEZCUzNsRUxHVkJRV1ZTTEVWQlFVOXlSQ3hGUVVGVE9FSXNSVUZCVVN4SFFVVnVSRGxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVGVExFdEJRVTlFTEVWQlFVdFZMRXRCUVU4c1NVRkRlRVEwUWl4SFFVTkdia1VzUlVGQlVYbENMSE5DUVVWV1dTeEhRVUZMYWtNc1MwRkJTemhDTEZGQlFWRk1MRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRha001UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlF5eFZRV3hETlVKVExFZEJRVXNzU1VGRFRISkRMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlFTEZWQlF6VkNOVU1zUlVGQlVYbENMSE5DUVVOU01FTXNSMEZCYlVJc1JVRkRia0k1UWl4SFFVRkxha01zUzBGQlMzbEVMR1ZCUVdWSExFVkJRV2RDYUVVc1JVRkJVemhDTEVWQlFWRXNSMEZETVVRNVFpeEZRVUZSZVVJc2MwSkJRMUl3UXl4SFFVRnRRaXhGUVVOdVFtNUZMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTExFdEJRVTlTTEVWQlFVdFZMRXRCUVU4c1NVRkJUVzVETEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQk5rSTFSQ3hQUVVSQk1VSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYTkVMR1ZCUVdsQ0xGTkJRVk5vUXl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXk5RUxFOUJRVkZFTEVWQlFVc3dReXhOUVVOWUxFdEJRVXRvUml4RlFVRlRiVVlzVFVGRFdpeFBRVUZQZEVVc1MwRkJTM0ZETEUxQlFVMWFMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRia01zUzBGQlMzWkRMRVZCUVZOdlJpeFJRVU5hTEU5QlFVOTJSU3hMUVVGTE1rTXNVVUZCVVd4Q0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGNrTXNTMEZCUzNaRExFVkJRVk54Uml4UlFVTmFMRTlCUVU5NFJTeExRVUZMTUVRc1VVRkJVV3BETEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEY2tNc1MwRkJTM1pETEVWQlFWTnJSaXhKUVVOYUxFOUJRVTl5UlN4TFFVRkxlVVVzU1VGQlNXaEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRha01zUzBGQlMzWkRMRVZCUVZOcFJpeExRVU5hTEU5QlFVOXdSU3hMUVVGTE1FVXNTMEZCUzJwRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGJFTXNTMEZCUzNaRExFVkJRVk4zUml4elFrRkRXaXhQUVVGUE0wVXNTMEZCU3pSRkxITkNRVUZ6UW01RUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGJrUXNTMEZCUzNaRExFVkJRVk13Uml4TlFVTmFMRTFCUVU4c1IwRkRWQ3hMUVVGTE1VWXNSVUZCVXpKR0xGbEJRMW9zVDBGQlR6bEZMRXRCUVVzMFF5eFpRVUZaYmtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVONlF5eExRVUZMZGtNc1JVRkJVelJHTEZGQlExb3NUMEZCVHk5RkxFdEJRVXRuUkN4UlFVRlJka0lzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU55UXl4TFFVRkxka01zUlVGQlV6WkdMSEZDUVVOYUxFOUJRVTlvUml4TFFVRkxhVVlzVjBGQlYzaEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRlRU1zUzBGQlMzWkRMRVZCUVZNclJpeHRRa0ZEV2l4UFFVRlBiRVlzUzBGQlMyMUdMRmRCUVZjeFJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzaERMRXRCUVV0MlF5eEZRVUZUYVVjc2EwSkJRMW9zVDBGQlQzQkdMRXRCUVV0eFJpeFZRVUZWTlVRc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOMlF5eExRVUZMZGtNc1JVRkJVMjFITEc5Q1FVTmFMRTlCUVU5MFJpeExRVUZMZFVZc1dVRkJXVGxFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZWtNc1VVRkRSU3hOUVVGTkxFbEJRVWs0UkN4TlFVRk5MREJDUVVFMFFpOUVMRVZCUVV0blJTeFpRVUZaZEVRc1VVRkpia1Y0UXl4RlFVRmpVU3hWUVVGVmVVVXNjMEpCUVhkQ0xGTkJRVk51UkN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNSRkxFbEJRVWxQTEVWQlkwb3NUMEZpUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNTMEZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCUzFJc1JVRkJTMmxGTEU5QlEwNXFSU3hGUVVGTE1VSXNVVUZEVUd0RExFZEJRVXNzU1VGQlRWSXNSVUZCU3pGQ0xFOUJSV3hDU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTMEZEYUVOakxFZEJRVXRxUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnFRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhORkxFbEJRVTBzVTBGQlUyaEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRjRVFzU1VGQlNVOHNSVUZWU2l4UFFWUkJha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUlVGQlNXcERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETDBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCUzFJc1JVRkJTekZDTEUxQlExWklMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTGFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhMUVVNMVFuaENMRXRCUVVzd1F5eFZRVUZWYWtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOMlFrOHNSMEZIVkhSRExFVkJRV05STEZWQlFWVjFSU3hMUVVGUExGTkJRVk5xUkN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNKRUxFbEJRVWxQTEVWQlZVb3NUMEZVUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlF5OUNPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkROVUpRTEVkQlFVdFNMRVZCUVVzeFFpeE5RVU5XU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTMnBETEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEycERPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWT0VVc1YwRkJZU3hUUVVGVGVFUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXpSQ3hKUVVGSlR5eEZRV2RDU2l4UFFXWkJha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUlVGQlNXcERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZCVXl4WlFVTjRRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDVUN4SFFVRkxMRWxCUVUxU0xFVkJRVXRyUlN4WlFVRmpMRWxCUVUxc1JTeEZRVUZMYlVVc1kwRkJaMElzU1VGQlRXNUZMRVZCUVV0dlJTeGpRVU4wUXl4aFFVRXhRbkJGTEVWQlFVdHhSU3h0UWtGRFVEZEVMRWRCUVVzc1NVRkJUVklzUlVGQlMzRkZMR3RDUVVWa2NrVXNSVUZCUzNORkxHVkJRMUE1UkN4SFFVRkxMRXRCUVU5U0xFVkJRVXR6UlN4aFFVRmxMRXRCUld4RGJrY3NSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEVsQlFVMXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOc1JUbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWV2RHTEZkQlFXRXNVMEZCVXpGRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE0wUXNTVUZCU1U4c1JVRlZTaXhQUVZSQmFrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSVUZCU1dwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkJVeXhaUVVONFF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlFTEZWQlF6VkNVQ3hIUVVGTExFbEJRVTFTTEVWQlFVdFZMRXRCUVU4c1NVRkJUVllzUlVGQlN6RkNMRTFCUTJ4RFNDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzU1VGQlRXNUNMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTJ4Rk9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE5VSjRRaXhMUVVGTE1FTXNWVUZCVldwQ0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGRrSlBMRWRCUjFSMFF5eEZRVUZqVVN4VlFVRlZhMFlzVlVGQldTeFRRVUZUTlVRc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNeFJDeEpRVUZKVHl4RlFYbENTaXhQUVhoQ1FXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zVjBGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTjRRbVlzUlVGQlMzVkZMRXRCUTFBdlJDeEhRVUZMTEUxQlJWQkJMRWRCUVVzc1NVRkJUVklzUlVGQlMxVXNTMEZEV2xZc1JVRkJTekZDTEUxQlExQnJReXhIUVVGTExFdEJRVTlTTEVWQlFVc3hRaXhOUVVGUkxFdEJSWEpDTUVJc1JVRkJTelJDTEU5QlFWTTFRaXhGUVVGTE5rSXNUVUZEY2tKeVFpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMFFpeE5RVUZSTEUxQlFWRTFRaXhGUVVGTE5rSXNUVUZCVVN4SlFVTTFRemRDTEVWQlFVczJRaXhSUVVOa2NrSXNSMEZCU3l4WlFVRmpVaXhGUVVGTE5rSXNUVUZCVVN4TFFVVTVRamRDTEVWQlFVdDNSU3hSUVVOUWFFVXNSMEZCU3l4VlFVRlpVaXhGUVVGTGQwVXNVVUZITVVKeVJ5eEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzU1VGQlRXNUNMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTJ4Rk9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE5VSjRRaXhMUVVGTE1FTXNWVUZCVldwQ0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGRrSlBMRWRCUjFSMFF5eEZRVUZqVVN4VlFVRlZiMFlzV1VGQll5eFRRVUZUT1VRc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNMVJDeEpRVUZKVHl4RlFXbENTaXhQUVdoQ1FXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zWVVGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlN5eEpRVUZOVWl4RlFVRkxWU3hMUVVOYVZpeEZRVUZMTkVJc1QwRkJVelZDTEVWQlFVczJRaXhOUVVOeVFuSkNMRWRCUVVzc1dVRkJZMUlzUlVGQlN6UkNMRTFCUVZFc1RVRkJVVFZDTEVWQlFVczJRaXhOUVVGUkxFbEJRelZETjBJc1JVRkJTelJDTEUxQlEyUndRaXhIUVVGTExGbEJRV05TTEVWQlFVczBRaXhOUVVGUkxFbEJRM1pDTlVJc1JVRkJTelpDTEZGQlEyUnlRaXhIUVVGTExGbEJRV05TTEVWQlFVczJRaXhOUVVGUkxFdEJSV3hETVVRc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmNVUXNVMEZETlVKU0xFZEJRVXR5UXl4RlFVRlJkVUlzYVVKQlFXMUNMRWxCUVUxdVFpeExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5zUlRsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZXMURMRk5CUVZjc1UwRkJVMklzUlVGQlRUZENMRVZCUVZNNFFpeExRVVV6UkM5Q0xFVkJRV05STEZWQlFWVjFReXhWUVVGWkxGTkJRVk5xUWl4RlFVRk5OMElzUlVGQlV6aENMRXRCUlRWRUwwSXNSVUZCWTFFc1ZVRkJWU3RDTEdOQlFXZENMRk5CUVZOR0xFVkJRVXR3UXl4RlFVRlRPRUlzUzBGRkwwUXZRaXhGUVVGalVTeFZRVUZWYVVNc1pVRkJhVUlzVTBGQlUwb3NSVUZCUzNCRExFVkJRVk00UWl4TFFVVjZSQzlDTEVWQmJGbDNRaXhMUVhOWmFFTlBMRXRCUVV0R0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVjNKcGRHVnlRbUZ6WlM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgZSxyLHQsbixpLG8sdSxsLG0scztzPXJlcXVpcmUoXCIuL1V0aWxpdHlcIiksbD1zLmFzc2lnbixtPXMuaXNGdW5jdGlvbix0PXJlcXVpcmUoXCIuL1hNTERPTUltcGxlbWVudGF0aW9uXCIpLG49cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRcIiksaT1yZXF1aXJlKFwiLi9YTUxEb2N1bWVudENCXCIpLHU9cmVxdWlyZShcIi4vWE1MU3RyaW5nV3JpdGVyXCIpLG89cmVxdWlyZShcIi4vWE1MU3RyZWFtV3JpdGVyXCIpLGU9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cy5jcmVhdGU9ZnVuY3Rpb24oZSxyLHQsaSl7dmFyIG8sdTtpZihudWxsPT1lKXRocm93IG5ldyBFcnJvcihcIlJvb3QgZWxlbWVudCBuZWVkcyBhIG5hbWUuXCIpO3JldHVybiBpPWwoe30scix0LGkpLHU9KG89bmV3IG4oaSkpLmVsZW1lbnQoZSksaS5oZWFkbGVzc3x8KG8uZGVjbGFyYXRpb24oaSksbnVsbD09aS5wdWJJRCYmbnVsbD09aS5zeXNJRHx8by5kdGQoaSkpLHV9LG1vZHVsZS5leHBvcnRzLmJlZ2luPWZ1bmN0aW9uKGUscix0KXt2YXIgbztyZXR1cm4gbShlKSYmKHI9KG89W2Uscl0pWzBdLHQ9b1sxXSxlPXt9KSxyP25ldyBpKGUscix0KTpuZXcgbihlKX0sbW9kdWxlLmV4cG9ydHMuc3RyaW5nV3JpdGVyPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdShlKX0sbW9kdWxlLmV4cG9ydHMuc3RyZWFtV3JpdGVyPWZ1bmN0aW9uKGUscil7cmV0dXJuIG5ldyBvKGUscil9LG1vZHVsZS5leHBvcnRzLmltcGxlbWVudGF0aW9uPW5ldyB0LG1vZHVsZS5leHBvcnRzLm5vZGVUeXBlPWUsbW9kdWxlLmV4cG9ydHMud3JpdGVyU3RhdGU9cn0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVYzSnBkR1Z5VTNSaGRHVWlMQ0pZVFV4RVQwMUpiWEJzWlcxbGJuUmhkR2x2YmlJc0lsaE5URVJ2WTNWdFpXNTBJaXdpV0UxTVJHOWpkVzFsYm5SRFFpSXNJbGhOVEZOMGNtVmhiVmR5YVhSbGNpSXNJbGhOVEZOMGNtbHVaMWR5YVhSbGNpSXNJbUZ6YzJsbmJpSXNJbWx6Um5WdVkzUnBiMjRpTENKeVpXWWlMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1OeVpXRjBaU0lzSW01aGJXVWlMQ0o0Yld4a1pXTWlMQ0prYjJOMGVYQmxJaXdpYjNCMGFXOXVjeUlzSW1Sdll5SXNJbkp2YjNRaUxDSkZjbkp2Y2lJc0ltVnNaVzFsYm5RaUxDSm9aV0ZrYkdWemN5SXNJbVJsWTJ4aGNtRjBhVzl1SWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW1SMFpDSXNJbUpsWjJsdUlpd2liMjVFWVhSaElpd2liMjVGYm1RaUxDSnlaV1l4SWl3aWMzUnlhVzVuVjNKcGRHVnlJaXdpYzNSeVpXRnRWM0pwZEdWeUlpd2ljM1J5WldGdElpd2lhVzF3YkdWdFpXNTBZWFJwYjI0aUxDSnViMlJsVkhsd1pTSXNJbmR5YVhSbGNsTjBZWFJsSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQlZVTXNSVUZCWVVNc1JVRkJjMEpETEVWQlFXRkRMRVZCUVdWRExFVkJRV2xDUXl4RlFVRnBRa01zUlVGQlVVTXNSVUZCV1VNc1JVRkZia2xCTEVWQlFVMURMRkZCUVZFc1lVRkJZMGdzUlVGQlUwVXNSVUZCU1VZc1QwRkJVVU1zUlVGQllVTXNSVUZCU1VRc1YwRkZiRVZPTEVWQlFYVkNVU3hSUVVGUkxEQkNRVVV2UWxBc1JVRkJZMDhzVVVGQlVTeHBRa0ZGZEVKT0xFVkJRV2RDVFN4UlFVRlJMRzFDUVVWNFFrb3NSVUZCYTBKSkxGRkJRVkVzY1VKQlJURkNUQ3hGUVVGclFrc3NVVUZCVVN4eFFrRkZNVUpXTEVWQlFWZFZMRkZCUVZFc1kwRkZia0pVTEVWQlFXTlRMRkZCUVZFc2FVSkJSWFJDUXl4UFFVRlBReXhSUVVGUlF5eFBRVUZUTEZOQlFWTkRMRVZCUVUxRExFVkJRVkZETEVWQlFWTkRMRWRCUTNSRUxFbEJRVWxETEVWQlFVdERMRVZCUTFRc1IwRkJXU3hOUVVGU1RDeEZRVU5HTEUxQlFVMHNTVUZCU1Uwc1RVRkJUU3c0UWtGWGJFSXNUMEZVUVVnc1JVRkJWVllzUlVGQlR5eEhRVUZKVVN4RlFVRlJReXhGUVVGVFF5eEhRVVYwUTBVc1IwRkVRVVFzUlVGQlRTeEpRVUZKWml4RlFVRlpZeXhKUVVOWVNTeFJRVUZSVUN4SFFVTmtSeXhGUVVGUlN5eFhRVU5ZU2l4RlFVRkpTeXhaUVVGWlRpeEhRVU5OTEUxQlFXcENRU3hGUVVGUlR5eFBRVUZ2UXl4TlFVRnFRbEFzUlVGQlVWRXNUMEZEZEVOUUxFVkJRVWxSTEVsQlFVbFVMRWxCUjB4RkxFZEJSMVJTTEU5QlFVOURMRkZCUVZGbExFMUJRVkVzVTBGQlUxWXNSVUZCVTFjc1JVRkJVVU1zUjBGREwwTXNTVUZCU1VNc1JVRkxTaXhQUVVwSmRFSXNSVUZCVjFNc1MwRkRZVmNzUjBGQk1VSkZMRVZCUVU4c1EwRkJRMklzUlVGQlUxY3NTVUZCZFVJc1IwRkJTVU1zUlVGQlVVTXNSVUZCU3l4SFFVTjZSR0lzUlVGQlZTeEpRVVZTVnl4RlFVTkxMRWxCUVVsNFFpeEZRVUZqWVN4RlFVRlRWeXhGUVVGUlF5eEhRVVZ1UXl4SlFVRkpNVUlzUlVGQldXTXNTVUZKTTBKT0xFOUJRVTlETEZGQlFWRnRRaXhoUVVGbExGTkJRVk5rTEVkQlEzSkRMRTlCUVU4c1NVRkJTVmdzUlVGQlowSlhMRWxCUnpkQ1RpeFBRVUZQUXl4UlFVRlJiMElzWVVGQlpTeFRRVUZUUXl4RlFVRlJhRUlzUjBGRE4wTXNUMEZCVHl4SlFVRkpXaXhGUVVGblFqUkNMRVZCUVZGb1FpeEpRVWR5UTA0c1QwRkJUME1zVVVGQlVYTkNMR1ZCUVdsQ0xFbEJRVWxvUXl4RlFVVndRMU1zVDBGQlQwTXNVVUZCVVhWQ0xGTkJRVmR1UXl4RlFVVXhRbGNzVDBGQlQwTXNVVUZCVVhkQ0xGbEJRV051UXl4SlFVVTFRbTlETEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2YVc1a1pYZ3Vhbk1pZlE9PSIsIlxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5ObFlYUnRZWEF1WTNOeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwzTnlZeTlqYzNNdmMyVmhkRzFoY0M1amMzTWlmUT09IiwiaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCb29raW5nQnRuKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIi5mbGFzaF9zZWF0X21hcF9ib3hcIikucmVtb3ZlKCk7XG4gICAgY2hhbmdlQm9va2luZ0J0bkNTUygpO1xuICAgIGFwcGVuZEJvb2tpbmdCdG5IVE1MKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93U2VhdG1hcEJ0blBhcmVudCgpOiB2b2lkIHtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfc2VhdG1hcF9yZWFkeVwiKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQm9va2luZ0J0bkhUTUwoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2ZsYXNoX3NlYXRfbWFwX2JveF9pZFwiKS5hcHBlbmQoYFxuICAgIDxkaXYgY2xhc3M9XCJyb3dfc3BhY2VcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93X3NwYWNlXCI+PC9kaXY+XG4gICAgPGRpdiBpZD1cImNvbnRhaW5lckJvb2tpbmdCdG5cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJjb250aW51ZVwiIGlkPVwib3BlblNlYXRtYXBcIj5cbiAgICAgICAgICAgIDxzcGFuPlNhYWxwbGFuYnVjaHVuZzwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8ZGl2IGlkPVwiZGlhbG9nU2VhdG1hcFwiIGhpZGRlbj1cImhpZGRlblwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGApO1xufVxuXG5mdW5jdGlvbiBjaGFuZ2VCb29raW5nQnRuQ1NTKCk6IHZvaWQge1xuICAgIGpRdWVyeSgnI2ZsYXNoX3NlYXRfbWFwX2JveF9pZCcpLmNzcyh7XG4gICAgICAgIFwiZGlzcGxheVwiOiBcImJsb2NrXCIsXG4gICAgICAgIFwicG9zaXRpb25cIjogXCJyZWxhdGl2ZVwiLFxuICAgICAgICBcIndpZHRoXCI6IFwiMTAwJVwiXG4gICAgfSk7XG59IiwiaW1wb3J0ICogYXMgWE1MSGVscGVyIGZyb20gXCIuL3htbGhlbHBlclwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEl0ZW0oaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQgeyBcbiAgICBjb25zdCBjb2xvcjogc3RyaW5nID0gYCMke1hNTEhlbHBlci5nZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKFwiY29sb3JcIiwgaW5TZWF0T2JqLmRhdGEuc2VhdHNPYmouaWRbMF0pfWA7XG4gICAgY29uc3QgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKFwiZGVzY1wiLCBpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSk7XG4gICAgY29uc3Qgc2VhdDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3NbaW5TZWF0T2JqLmlkXVs1XTtcbiAgICBjb25zdCByb3c6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW2luU2VhdE9iai5pZF1bNF07XG4gICAgY29uc3Qgc2VjdGlvbklEOiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tpblNlYXRPYmouaWRdWzNdO1xuICAgIGNvbnN0IHNlY3Rpb25EZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0U2VjdGlvbkRlc2NCeVNlY3Rpb25JRChzZWN0aW9uSUQpO1xuICAgIGNvbnN0IHNlYXRTdHI6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGAke3NlY3Rpb25EZXNjfTxici8+UmVpaGUgJHtyb3d9IFBsYXR6ICR7c2VhdH1gO1xuICAgIGNvbnN0IGJ1eWVyVHlwZXM6IEkuVHlwZUJ1eWVyVHlwZSA9IFhNTEhlbHBlci5nZXRCdXllclR5cGVzQnlQcmljZXNjYWxlSUQoaW5TZWF0T2JqLmRhdGEuc2VhdHNPYmouaWRbMF0pO1xuICAgIGNvbnN0IGNhcnRJRDogc3RyaW5nID0gYGNhcnRJdGVtLSR7aW5TZWF0T2JqLmlkfWA7XG4gICAgY29uc3QgZHJvcGRvd25CdXllclR5cGVzU2VsZWN0b3I6IHN0cmluZyA9IGAjJHtjYXJ0SUR9IC5kcm9wZG93bkJ1eWVyVHlwZXNgO1xuXG4gICAgYXBwZW5kSFRNTChjYXJ0SUQsIGNvbG9yLCBjYXRlZ29yeSwgc2VhdFN0cik7XG4gICAgYWRkRHJvcGRvd25CdXllclR5cGVPcHRpb25zKGJ1eWVyVHlwZXMsIGRyb3Bkb3duQnV5ZXJUeXBlc1NlbGVjdG9yKTtcbiAgICBFdmVudHMuYWRkQ2FydERyb3Bkb3duQnV5ZXJUeXBlcyhkcm9wZG93bkJ1eWVyVHlwZXNTZWxlY3RvciwgaW5TZWF0T2JqKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNhcnRJdGVtcygpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjY2FydEl0ZW1IVE1MIC5jYXJ0SXRlbVwiKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZWREcm9wZG93bkJ1eWVyVHlwZShpblNlbGVjdDogSFRNTFNlbGVjdEVsZW1lbnQsIGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZmluZEluZGV4KGFyciA9PlxuICAgICAgICBhcnJbMF0gPT09IGluU2VhdE9iai5pZCk7XG5cbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0FycltpbmRleF1bMV0gPSBpblNlbGVjdC52YWx1ZTtcbiAgICBjb25zdCBidXllclR5cGVDb2RlID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGluU2VsZWN0LnZhbHVlKTtcblxuICAgIGlmIChidXllclR5cGVDb2RlKVxuICAgICAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0FycltpbmRleF1bMl0gPSBidXllclR5cGVDb2RlO1xuXG4gICAgY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICBjb25zdCB1cmwgPSBnZW5lcmF0ZUNoZWNrb3V0VXJsKCk7XG4gICAgRXZlbnRzLmFkZFJlZGlyZWN0Q2hlY2tvdXQodXJsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGNPdmVyYWxsUHJpY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aCkge1xuICAgICAgICBjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsID0gXCIwXCI7XG4gICAgICAgIHJldHVybiBcIjBcIjtcbiAgICB9XG5cbiAgICBjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsID0gc3VtU2VhdFByaWNlcygpO1xuICAgIHJldHVybiBjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUNhcnRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmopIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaiwga2V5KSkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2tleV07XG4gICAgICAgICAgICBhZGRJdGVtKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE1vZGFsQ2FydCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuaGlkZSgpO1xuICAgIEV2ZW50cy5hZGRDYXJ0QmFjaygpO1xuICAgIEV2ZW50cy5hZGRDYXJ0Q2xvc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ2hlY2tvdXRVcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgaW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG4gICAgY29uc3Qgc2VsZWN0ZWRTZWF0SW5kZXhlczogc3RyaW5nID0gWE1MSGVscGVyLmdlbmVyYXRlU2VsZWN0ZWRTZWF0SW5kZXhlcygpO1xuICAgIHJldHVybiBgJHtpbnB1dHNXaXRoVmFsdWVbXCJ0aWNrZXRQdXJjaGFzZVVybFwiXX0/dXNlcl9jb250ZXh0PSR7aW5wdXRzV2l0aFZhbHVlLnVzZXJfY29udGV4dH0mcGlkPSR7aW5wdXRzV2l0aFZhbHVlW1wicGlkXCJdfSZzZWxlY3RlZF9zZWF0X2luZGV4ZXM9JHtzZWxlY3RlZFNlYXRJbmRleGVzfSZ0cnhzdGF0ZT0xNDhgO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRIVE1MKGluQ2FydElEOiBzdHJpbmcsIGluQ29sb3I6IHN0cmluZywgaW5DYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkLCBpblNlYXRTdHI6IHN0cmluZyk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNjYXJ0SXRlbUhUTUwgLmZsLWh0bWxcIikuYXBwZW5kKGBcbiAgICA8ZGl2IGNsYXNzPVwiY2FydEl0ZW1cIiBpZD1cIiR7aW5DYXJ0SUR9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbUNvbG9yZWRTcXVhcmVcIiBzdHlsZT1cImJhY2tncm91bmQ6ICR7aW5Db2xvcn07XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbUNhdGVnb3J5XCI+JHtpbkNhdGVnb3J5fTwvZGl2PlxuICAgICAgICA8aDUgY2xhc3M9XCJjYXJ0SXRlbVNlYXRcIj4ke2luU2VhdFN0cn08L2g1PlxuICAgICAgICA8c2VsZWN0IG5hbWU9XCJkcm9wZG93bkJ1eWVyVHlwZXNcIiBjbGFzcz1cImRyb3Bkb3duQnV5ZXJUeXBlc1wiPjwvc2VsZWN0PlxuICAgIDwvZGl2PmApO1xufVxuXG4vLyB0b2RvOiBnZW5lcmFsaXplIGRyb3Bkb3duIGZpbGwgb3B0aW9uc1xuZnVuY3Rpb24gYWRkRHJvcGRvd25CdXllclR5cGVPcHRpb25zKGluQnV5ZXJUeXBlczogSS5UeXBlQnV5ZXJUeXBlLCBpblNlbGVjdG9yOiBzdHJpbmcpIHtcbiAgICBpZiAoIWluQnV5ZXJUeXBlcylcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgaW5CdXllclR5cGVzLmZvckVhY2goYXJyID0+IHsgICAgICAgIFxuICAgICAgICBpZiAoYXJyWzBdKVxuICAgICAgICAgICAgYXBwZW5kT3B0aW9uKGluU2VsZWN0b3IsIGFycilcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kT3B0aW9uKGluU2VsZWN0b3I6IHN0cmluZywgaW5BcnI6IEkuVHlwZUJ1eWVyVHlwZUFycik6IHZvaWQge1xuICAgIGNvbnN0IGRyb3Bkb3duQnV5ZXJUeXBlczogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuICAgIGxldCBvcHQ6IEhUTUxPcHRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgb3B0LnZhbHVlID0gPHN0cmluZz5pbkFyclswXTtcbiAgICBvcHQuaW5uZXJIVE1MID0gYCR7aW5BcnJbMl19IOKCrCR7aW5BcnJbMV19YDtcbiAgICBkcm9wZG93bkJ1eWVyVHlwZXMuYXBwZW5kQ2hpbGQob3B0KTtcbn1cblxuZnVuY3Rpb24gc3VtU2VhdFByaWNlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5tYXAoZ2V0U2VhdFByaWNlKVxuICAgICAgICAucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICsgY3VycilcbiAgICAgICAgLnRvRml4ZWQoMik7XG59XG5cbmZ1bmN0aW9uIGdldFNlYXRQcmljZShhcnI6IHN0cmluZ1tdKSB7XG4gICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBhcnJbMF07XG4gICAgICAgIGNvbnN0IGJ1eWVydHlwZUlEOiBzdHJpbmcgPSBhcnJbMV07XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtzZWF0SURdO1xuICAgICAgICBjb25zdCBwcmljZXNjYWxlSUQ6IHN0cmluZyA9IHNlbGVjdGVkU2VhdC5kYXRhLnNlYXRzT2JqLmlkWzBdO1xuICAgICAgICBjb25zdCBwcmljZXNjYWxlT2JqOiBJLlByaWNlc2NhbGU1IHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFZlbnVlUHJpY2VTdHJ1Y3R1cmVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKHByaWNlc2NhbGVJRCk7XG5cbiAgICAgICAgaWYgKHByaWNlc2NhbGVPYmopIHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRQcmljZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFByaWNlQnlCdXllclR5cGVJRChidXllcnR5cGVJRCwgcHJpY2VzY2FsZU9iaik7XG5cbiAgICAgICAgICAgIGlmIChzZWF0UHJpY2UpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlYXRQcmljZTsgICBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAwO1xufSIsImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0QnRuQ2FydFRleHQoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKVswXS5pbm5lclRleHQgPSBjcmVhdGVDYXJ0QnRuVGV4dCgpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnRTdW0gLnVhYmItaGVhZGluZy10ZXh0XCIpWzBdLnRleHRDb250ZW50ID0gY3JlYXRlTW9kYWxDYXJ0QnRuVGV4dCgpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDYXJ0QnRuVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bVRpY2tldHM6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aDtcblxuICAgIGlmIChjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsICE9PSBcIlwiKVxuICAgICAgICByZXR1cm4gbnVtVGlja2V0cyA9PT0gMSA/IGAke251bVRpY2tldHN9IFRpY2tldCBmw7xyIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gIDogYCR7bnVtVGlja2V0c30gVGlja2V0cyBmw7xyIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gO1xuICAgIGVsc2UgXG4gICAgICAgIHJldHVybiBcIjAgVGlja2V0cyBmw7xyIOKCrDAuMDBcIjsgICAgXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGFsQ2FydEJ0blRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW1UaWNrZXRzOiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGg7XG5cbiAgICBpZiAoY29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbCAhPT0gXCJcIilcbiAgICAgICAgcmV0dXJuIGBTdW1tZSAoJHtudW1UaWNrZXRzfSBQbMOkdHplKSDigqwke2NvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGx9YDtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiBgU3VtbWUgKDAgUGzDpHR6ZSkg4oKsMCwwMGA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93SGlkZUJ0bkNhcnRMb2FkaW5nKGluU3dpdGNoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaW5Td2l0Y2ggPT09IFwic2hvd1wiKSB7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uXCIpLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwibm9uZVwiKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCBpXCIpLmhpZGUoKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5hZGRDbGFzcyhcImRvdC1wdWxzZVwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5Td2l0Y2ggPT09IFwiaGlkZVwiKSB7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgaVwiKS5zaG93KCk7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJkb3QtcHVsc2VcIik7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uXCIpLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwiYWxsXCIpO1xuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCAqIGFzIFVJIGZyb20gXCIuL3VpXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCBVdGlscyBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0ICogYXMgUGFyc2VyIGZyb20gJy4vcGFyc2VyJztcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBKU0MgZnJvbSBcIi4vanNjXCI7XG5pbXBvcnQgKiBhcyBMZWdlbmQgZnJvbSBcIi4vbGVnZW5kXCI7XG5pbXBvcnQgKiBhcyBFdmVudHMgZnJvbSBcIi4vZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBUcmltcyBmcm9tIFwiLi90cmltc1wiO1xuaW1wb3J0ICogYXMgWE1MSGVscGVyIGZyb20gXCIuL3htbGhlbHBlclwiO1xuaW1wb3J0ICogYXMgUGFuem9vbSBmcm9tIFwiLi9wYW56b29tXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vY2FydFwiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRWZW51ZSgpIHtcbiAgICBVSS5jb250cm9sTG9mdGxvYWRlcihcInNob3dcIik7XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX2luaXRfbmVlZElucHV0c1dpdGhWYWx1ZVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRTZW5kVmVudWVYTUwoaW5FOiBhbnkpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCA9IGRhdGEubWVzc2FnZS5tYXBfcmVzcG9uc2U7XG4gICAgY29uc3QgdmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG5cbiAgICAvLyBHZW5lcmF0ZSBwcmljZXNjYWxlIGNzcyBjbGFzc2VzXG4gICAgY29uc3QgY3NzID0gVUkuZ2VuZXJhdGVQcmljZXNjYWxlQ1NTKCk7XG4gICAgVXRpbHMuaW5qZWN0KGNzcywgXCJjc3NDdXN0b21cIiwgXCJib2R5XCIpO1xuXG4gICAgLy8gRmlsbCBldmVudCBpbmZvXG4gICAgY29uc3QgZXZlbnRJbmZvID0gUGFyc2VyLmdldEV2ZW50SW5mbygpO1xuICAgIFVJLnNldEV2ZW50SW5mbyhldmVudEluZm8pO1xuXG4gICAgLy8gRmlsbCBzZWxlY3QgZHJvcGRvd25cbiAgICBjb25zdCBzZWF0bWFwTGlzdGluZzogSS5TZWF0bWFwW10gPSB2ZW51ZVhNTC5zZWF0bWFwX2NvbmZpZ1swXS5zZWF0bWFwO1xuICAgIFVJLnNldE9wdGlvblNlbGVjdChzZWF0bWFwTGlzdGluZywgXCJkcm9wZG93blNlYXRtYXBcIik7XG5cbiAgICAvLyBEaXNwbGF5IGZpcnN0IHNlYXRtYXBYTUxcbiAgICBjb25zdCBpZDogc3RyaW5nID0gc2VhdG1hcExpc3RpbmdbMF0uaWRbMF07XG4gICAgalF1ZXJ5KFwiI2Ryb3Bkb3duU2VhdG1hcFwiKS52YWwoaWQpO1xuICAgIENvbW11bmljYXRpb24ubmVlZFNlYXRtYXBYTUwoaWQpO1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhjc3MpO1xuICAgIFV0aWxzLmNvbnNvbGVMb2coc2VhdG1hcExpc3RpbmcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNlbmRJbnB1dHNXaXRoVmFsdWUoaW5FOiBhbnkpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlID0gZGF0YS5tZXNzYWdlO1xuICAgIFVJLmNoYW5nZVZlbnVlSW1hZ2UoKTtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfaW5pdF9uZWVkVmVudWVYTUxcIik7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRTZWF0bWFwWE1MKGluRTogYW55KSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uZmlnLnN0YXRlLnNlYXRtYXBYTUwgPSBkYXRhLm1lc3NhZ2UubWFwX3Jlc3BvbnNlO1xuICAgIGNvbnN0IG1hcDogc3RyaW5nW10gPSBKU0MuZ2VuZXJhdGVNYXAoKTtcbiAgICBjb25zdCByb3dzTmFtaW5nOiBzdHJpbmdbXSA9IEpTQy5nZXRSb3dzTmFtaW5nKCk7XG4gICAgY29uc3Qgc2VhdHM6IEkuSlNDU2VhdHMgPSBKU0MuZ2V0U2VhdHMoKTtcbiAgICBjb25zdCBsZWdlbmQ6IEkuSlNDTGVnZW5kID0gSlNDLmdlbmVyYXRlTGVnZW5kKFwiI0pTQ0xlZ2VuZElubmVyXCIpO1xuXG4gICAgSlNDLmFkZFNlYXRtYXAoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIsIG1hcCwgcm93c05hbWluZywgc2VhdHMsIGxlZ2VuZCk7XG4gICAgSlNDLnNldFVuYXZhaWxhYmxlU2VhdHMoKTtcbiAgICBKU0Muc2VsZWN0U2VhdHNJbkNhcnQoKTtcbiAgICBMZWdlbmQuY29udmVydExlZ2VuZFRvRHJvcGRvd24oXCJkcm9wZG93bkxlZ2VuZFwiKTtcbiAgICBFdmVudHMuZHJvcGRvd25MZWdlbmRPbkNoYW5nZShcIiNkcm9wZG93bkxlZ2VuZFwiKTtcbiAgICBUcmltcy5hZGRUcmltcygpO1xuICAgIFhNTEhlbHBlci5wcm9jZXNzU01BUCgpO1xuICAgIGNvbmZpZy5zdGF0ZS5wYW56b29tID0gUGFuem9vbS5hZGRQYW56b29tKFwiI2NvbnRhaW5lclNlYXRtYXBJbm5lclwiLCBcIi5wYW56b29tWm9vbUluXCIsIFwiLnBhbnpvb21ab29tT3V0XCIsIFwiI3Bhbnpvb21SZXNldFpvb21cIik7XG4gICAgVUkuY29udHJvbExvZnRsb2FkZXIoXCJoaWRlXCIpO1xuICAgIGpCb3hIZWxwZXIuY3JlYXRlU2VhdFRvb2x0aXBzKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kQ2hlY2tvdXRSZXNwb25zZShpbkU6IGFueSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbmZpZy5zdGF0ZS5pc1ZhbGlkU2VhdFNlbGVjdGlvbiA9IGRhdGEubWVzc2FnZS5pc1ZhbGlkU2VhdFNlbGVjdGlvbjtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coZGF0YS5tZXNzYWdlKTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKSB7XG4gICAgICAgIGpCb3hIZWxwZXIuc2hvd0pCb3hOb3RpY2UoYEF1c3dhaGwgbmljaHQgbcO2Z2xpY2g6IEJpdHRlIGxhc3NlbiBTaWUga2VpbmVuIGVpbnplbG5lbiBQbGF0eiBmcmVpLmApO1xuICAgICAgICBDYXJ0QnV0dG9ucy5zaG93SGlkZUJ0bkNhcnRMb2FkaW5nKFwiaGlkZVwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIENhcnQucmVtb3ZlQ2FydEl0ZW1zKCk7XG4gICAgICAgIENhcnQuZ2VuZXJhdGVDYXJ0SXRlbXMoKTtcbiAgICAgICAgY29uc3QgdXJsID0gQ2FydC5nZW5lcmF0ZUNoZWNrb3V0VXJsKCk7XG4gICAgICAgIEV2ZW50cy5hZGRSZWRpcmVjdENoZWNrb3V0KHVybCk7XG4gICAgICAgIFVJLmZhZGVJbkNhcnRNb2RhbCgpO1xuICAgICAgICBDYXJ0QnV0dG9ucy5zaG93SGlkZUJ0bkNhcnRMb2FkaW5nKFwiaGlkZVwiKTtcbiAgICB9XG5cbiAgICBjb25maWcuc3RhdGUuY2FydENoYW5nZWQgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlc291cmNlcygpOiB2b2lkIHtcbiAgICBjb25zdCBicmFuY2g6IEkuVHlwZUNvbmZpZ0JyYW5jaCA9IGNvbmZpZy5icmFuY2g7XG4gICAgY29uc3QgcmVzb3VyY2VzID0gY29uZmlnLnJlc291cmNlc1ticmFuY2hdO1xuXG4gICAgVXRpbHMuaW5qZWN0KHJlc291cmNlcy5KU0MsIFwianNcIiwgXCJoZWFkXCIpO1xuICAgIFV0aWxzLmluamVjdChyZXNvdXJjZXMuQ1NTSlNDLCBcImNzc1wiLCBcImJvZHlcIik7ICAgIFxuICAgIFV0aWxzLmluamVjdChyZXNvdXJjZXMuQ1NTalF1ZXJ5VUksIFwiY3NzXCIsIFwiYm9keVwiKTsgICAgXG4gICAgVXRpbHMuaW5qZWN0KHJlc291cmNlcy5DU1NDaGlsZCwgXCJjc3NcIiwgXCJib2R5XCIpO1xuICAgIC8vIFV0aWxzLmluamVjdChyZXNvdXJjZXMuQ1NTakJveCwgXCJjc3NcIiwgXCJib2R5XCIpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXNwb25zZSB9IGZyb20gJ2F4aW9zJztcbmNvbnN0IHhtbDJqc1BhcnNlciA9IHJlcXVpcmUoJ3htbDJqcycpLnBhcnNlU3RyaW5nO1xuaW1wb3J0ICogYXMgVUkgZnJvbSBcIi4vdWlcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuLy8gcmV3b3JrIHRyeS9jYXRjaCA/XG5leHBvcnQgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoaW5EYXRhOiBJLk1lc3NhZ2UsIGluVG86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpblRvID09PSBcInBhcmVudFwiKVxuICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KGluRGF0YSksICcqJyk7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpblRvKTtcblxuICAgICAgICBpZiAoY2hpbGQgIT09IG51bGwgJiYgY2hpbGQuY29udGVudFdpbmRvdyAhPT0gbnVsbClcbiAgICAgICAgICAgIGNoaWxkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaW5EYXRhKSwgXCIqXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RlblRvTWVzc2FnZXMoaW5IYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgIGluSGFuZGxlcihlKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRYTUwoaW5Vcmw6IHN0cmluZywgaW5Ubzogc3RyaW5nLCBpbkV2ZW50OiBzdHJpbmcsIGluRnJvbTogc3RyaW5nLCBpbkRhdGU6IG51bWJlciA9IERhdGUubm93KCkpOiB2b2lkIHtcbiAgICBnZXRYTUxQcm9taXNlKGluVXJsKS50aGVuKChyZXN1bHQ6IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICAgICAgZGF0ZTogaW5EYXRlLFxuICAgICAgICAgICAgZnJvbTogaW5Gcm9tLFxuICAgICAgICAgICAgbWVzc2FnZTogcmVzdWx0LFxuICAgICAgICAgICAgZXZlbnQ6IGluRXZlbnRcbiAgICAgICAgfVxuICAgICAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBpblRvKTtcbiAgICB9KVxuICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRFdmVudFRvQ2hpbGQoaW5FdmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBmcm9tOiBcInBhcmVudFwiLFxuICAgICAgICBldmVudDogaW5FdmVudCxcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJpZnJhbWVTZWF0bWFwXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZEV2ZW50VG9QYXJlbnQoaW5FdmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBpbkV2ZW50LFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRTZWF0bWFwWE1MKGluSUQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogaW5JRCxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogXCJjaGlsZF9uZWVkU2VhdG1hcFhNTFwiLFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbmNlbENoZWNrb3V0KGluVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyB1c2UgZmV0Y2ggaW5zdGVhZCBvZiBheGlvcyBiZWNhdXNlIG9mIDMwMiByZWRpcmVjdFxuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXhpb3MvYXhpb3MvaXNzdWVzLzkzMlxuICAgIGZldGNoKGluVXJsLCB7XG4gICAgICAgIHJlZGlyZWN0OiBcIm1hbnVhbFwiXG4gICAgfSlcbiAgICAgICAgLnRoZW4oKCkgPT4gVXRpbHMuY29uc29sZUxvZyhgJHtpblVybH0gY2FuY2VsZWRgKSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gVXRpbHMuY29uc29sZUxvZyhlcnJvcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFNlYXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmhpZGUoKTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBVSS5hZGp1c3RVSVRvTG9hZGluZygpO1xuICAgIGNvbnN0IHVybDogc3RyaW5nIHwgdW5kZWZpbmVkID0gQ2FydC5nZW5lcmF0ZUNoZWNrb3V0VXJsKCk7XG5cbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICB9LFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBcImNoaWxkX25lZWRDaGVja291dFJlc3BvbnNlXCIsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuXG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmZ1bmN0aW9uIGdldFhNTFByb21pc2UoaW5Vcmw6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHJldHVybiBheGlvcy5nZXQoaW5VcmwpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogdm9pZCB8IEF4aW9zUmVzcG9uc2U8YW55PikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgQXhpb3NSZXNwb25zZSA9IDxBeGlvc1Jlc3BvbnNlPnJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIGlmIChBeGlvc1Jlc3BvbnNlLnN0YXR1cyA9PT0gMjAwICYmIEF4aW9zUmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJ0ZXh0L3htbDtjaGFyc2V0PXV0Zi04XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgeG1sMmpzUGFyc2VyKEF4aW9zUmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbm9ybWFsaXplVGFnczogdHJ1ZSwgbm9ybWFsaXplOiB0cnVlLCBtZXJnZUF0dHJzOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyOiBhbnksIHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gVXRpbHMuY29uc29sZUxvZyhlcnJvcikpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBjb25maWc6IEkuQ29uZmlnID0ge1xuICAgIGNoaWxkSGFzVmVudWVYTUw6IGZhbHNlLFxuICAgIGRlYnVnOiB0cnVlLFxuICAgIGJyYW5jaDogXCJzdGFnaW5nXCIsXG4gICAgdmVyc2lvbjogXCIwLjAuMVwiLFxuICAgIG1heFNlbGVjdGVkU2VhdHM6IDEwLFxuICAgIHJlc291cmNlczoge1xuICAgICAgICBtYXN0ZXI6IHtcbiAgICAgICAgICAgIHNlYXRtYXA6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZVwiLFxuICAgICAgICAgICAgSlNDOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLm1pbi5qc1wiLFxuICAgICAgICAgICAgQ1NTQ2hpbGQ6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L3NlYXRtYXAuY3NzXCIsXG4gICAgICAgICAgICBDU1NKU0M6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9saWJzL2pRdWVyeS1TZWF0LUNoYXJ0cy9qcXVlcnkuc2VhdC1jaGFydHMuY3NzXCIsXG4gICAgICAgICAgICBDU1NQYXJlbnQ6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2luamVjdC5jc3NcIixcbiAgICAgICAgICAgIENTU2pRdWVyeVVJOiBcImh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTIuMS90aGVtZXMvYmFzZS9qcXVlcnktdWkuY3NzXCIsXG4gICAgICAgICAgICBDU1NqQm94OiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9qQm94LmFsbC5taW4uY3NzXCJcbiAgICAgICAgfSxcbiAgICAgICAgc3RhZ2luZzoge1xuICAgICAgICAgICAgc2VhdG1hcDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGVcIixcbiAgICAgICAgICAgIEpTQzogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLm1pbi5qc1wiLFxuICAgICAgICAgICAgQ1NTQ2hpbGQ6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2Rpc3Qvc2VhdG1hcC5jc3NcIixcbiAgICAgICAgICAgIENTU0pTQzogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLmNzc1wiLFxuICAgICAgICAgICAgQ1NTUGFyZW50OiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2luamVjdC5jc3NcIixcbiAgICAgICAgICAgIENTU2pRdWVyeVVJOiBcImh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTIuMS90aGVtZXMvYmFzZS9qcXVlcnktdWkuY3NzXCIsXG4gICAgICAgICAgICBDU1NqQm94OiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2pCb3guYWxsLm1pbi5jc3NcIlxuICAgICAgICB9XG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgICBwcmljZU92ZXJhbGw6IFwiXCIsXG4gICAgICAgIGNhcnRDaGFuZ2VkOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWRTZWF0c0FycjogW10sXG4gICAgICAgIHNlbGVjdGVkU2VhdHNPYmo6IHt9LFxuICAgICAgICBsYXlvdXRSb3dzOiB7fSxcbiAgICAgICAgaXNWYWxpZFNlYXRTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICBpbnB1dHNXaXRoVmFsdWU6IHVuZGVmaW5lZCxcbiAgICAgICAgc2VhdG1hcDogdW5kZWZpbmVkLFxuICAgICAgICBwYW56b29tOiB1bmRlZmluZWQsXG4gICAgICAgIGluVmVudWVYTUw6IHVuZGVmaW5lZCxcbiAgICAgICAgc2VhdG1hcFhNTDogdW5kZWZpbmVkLFxuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCAqIGFzIFVJIGZyb20gXCIuL3VpXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBKU0MgZnJvbSBcIi4vanNjXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCAqIGFzIExlZ2VuZCBmcm9tIFwiLi9sZWdlbmRcIjtcbmltcG9ydCAqIGFzIGpCb3hIZWxwZXIgZnJvbSBcIi4vakJveEhlbHBlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICBjb25zdCBidG5DbG9zZU1vZGFsOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9IGpRdWVyeShcIiNidG5DbG9zZU1vZGFsXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQ2xvc2VNb2RhbClcbiAgICAgICAgYnRuQ2xvc2VNb2RhbC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4gQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX2Nsb3NlRGlhbG9nXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZERyb3Bkb3duU2VhdG1hcCgpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93blNlYXRtYXA6IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZHJvcGRvd25TZWF0bWFwXCIpO1xuXG4gICAgaWYgKGRyb3Bkb3duU2VhdG1hcCkge1xuICAgICAgICBkcm9wZG93blNlYXRtYXAuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCBmdW5jdGlvbiAodGhpczogSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIFVJLmNvbnRyb2xMb2Z0bG9hZGVyKFwic2hvd1wiKTsgLy8gdG9kbzogcmV3cml0ZT9cbiAgICAgICAgICAgIFVJLmRlc3Ryb3lDdXJyZW50U2VhdG1hcChcIiNjb250YWluZXJTZWF0bWFwSW5uZXJcIik7XG4gICAgICAgICAgICBDb21tdW5pY2F0aW9uLm5lZWRTZWF0bWFwWE1MKHRoaXMudmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRNb2RhbENhcnQoKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQ2FydDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvblwiKS5nZXQoMCk7XG5cbiAgICBpZiAoYnRuQ2FydCkge1xuICAgICAgICBidG5DYXJ0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgICAgICAgICBqQm94SGVscGVyLnNob3dKQm94Tm90aWNlKGBTaWUgaGFiZW4gYmlzbGFuZyBrZWluZW4gUGxhdHogYXVzZ2V3w6RobHQuYCk7XG4gICAgICAgICAgICBlbHNlIGlmIChjb25maWcuc3RhdGUuY2FydENoYW5nZWQpXG4gICAgICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5pc1ZhbGlkU2VhdFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgZWxzZSBpZiAoIWNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCAmJiBjb25maWcuc3RhdGUuaXNWYWxpZFNlYXRTZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgVUkuZmFkZUluQ2FydE1vZGFsKCk7XG4gICAgICAgICAgICBlbHNlIGlmICghY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkICYmICFjb25maWcuc3RhdGUuaXNWYWxpZFNlYXRTZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgQXVzd2FobCBuaWNodCBtw7ZnbGljaDogQml0dGUgbGFzc2VuIFNpZSBrZWluZW4gZWluemVsbmVuIFBsYXR6IGZyZWkuYCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlZGlyZWN0Q2hlY2tvdXQoaW5Vcmw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICghaW5VcmwpXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IGJ0bkNoZWNrb3V0ID0galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5ICNjaGVja291dCAuZmwtYnV0dG9uXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQ2hlY2tvdXQpIHtcbiAgICAgICAgYnRuQ2hlY2tvdXQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICAgICAgICAgIHVybDogaW5VcmwsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2hpbGRfY2xpY2tfY2hlY2tvdXRcIixcbiAgICAgICAgICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5zZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2FydENsb3NlKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkNsb3NlOiBIVE1MRWxlbWVudCA9IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAudWFiYi1jbG9zZS1pY29uXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQ2xvc2UpXG4gICAgICAgIGJ0bkNsb3NlLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfc2hvd19kaWFsb2dfdGl0bGViYXJcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2FydEJhY2soKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQmFjazogSFRNTEVsZW1lbnQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgI2dvQmFjayAuZmwtYnV0dG9uXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQmFjaylcbiAgICAgICAgYnRuQmFjay5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5IC51YWJiLWNsb3NlLWljb25cIikudHJpZ2dlcihcImNsaWNrXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyb3Bkb3duTGVnZW5kT25DaGFuZ2UoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgZHJvcGRvd25MZWdlbmQ6IEhUTUxFbGVtZW50ID0galF1ZXJ5KGluU2VsZWN0b3IpLmdldCgwKTtcblxuICAgIGRyb3Bkb3duTGVnZW5kLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKHRoaXM6IEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCBjbGFzc05hbWU6IHN0cmluZyA9IGAuXyR7dmFsdWV9YDtcblxuICAgICAgICBMZWdlbmQuY2hhbmdlRHJvcGRvd25MZWdlbmRCR0NvbG9yKGluU2VsZWN0b3IsIHZhbHVlLCBjbGFzc05hbWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJhbGxcIikge1xuICAgICAgICAgICAgc2VhdG1hcC5maW5kKCd1bmF2YWlsYWJsZScpLnN0YXR1cygnYXZhaWxhYmxlJyk7XG4gICAgICAgICAgICBKU0Muc2V0VW5hdmFpbGFibGVTZWF0cygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2VhdG1hcC5maW5kKCdhdmFpbGFibGUnKS5zdGF0dXMoJ3VuYXZhaWxhYmxlJyk7XG4gICAgICAgICAgICBKU0MuYWN0aXZhdGVTZWF0c0J5U2VjdGlvbklEKHZhbHVlKTtcbiAgICAgICAgICAgIEpTQy5zZXRVbmF2YWlsYWJsZVNlYXRzKCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnREcm9wZG93bkJ1eWVyVHlwZXMoaW5TZWxlY3Rvcjogc3RyaW5nLCBpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgLy8gdG9kbzogd2hpY2ggdmFyaWFudCBpcyBub3QgZGVwcmVjYXRlZD9cbiAgICBqUXVlcnkoaW5TZWxlY3Rvcikub24oJ2NoYW5nZScsIGZ1bmN0aW9uICh0aGlzOiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICBDYXJ0LmNoYW5nZWREcm9wZG93bkJ1eWVyVHlwZSh0aGlzLCBpblNlYXRPYmopO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkT3BlblNlYXRtYXAoKSB7XG4gICAgalF1ZXJ5KFwiI29wZW5TZWF0bWFwXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpZy5jaGlsZEhhc1ZlbnVlWE1MKVxuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb0NoaWxkKFwicGFyZW50X2luaXRfdmVudWVcIik7XG5cbiAgICAgICAgalF1ZXJ5KCdodG1sLCBib2R5JykuY3NzKCdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICAgICAgalF1ZXJ5KFwiI2RpYWxvZ1NlYXRtYXBcIikuZGlhbG9nKCdvcGVuJyk7XG4gICAgfSk7XG59IiwiaW1wb3J0IGpCb3ggZnJvbSBcImpib3hcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgWE1MSGVscGVyIGZyb20gXCIuL3htbGhlbHBlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2hvd0pCb3hOb3RpY2UoaW5Db250ZW50OiBzdHJpbmcsIGluQXV0b0Nsb3NlOiBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkID0gNTAwMCk6IHZvaWQge1xuICAgIG5ldyBqQm94PFwiTm90aWNlXCI+ICgnTm90aWNlJywge1xuICAgICAgICBwb3NpdGlvbjogeyB4OiAnY2VudGVyJywgeTogJ3RvcCcgfSxcbiAgICAgICAgb2Zmc2V0OiB7IHg6IDAsIHk6IDMyMCB9LFxuICAgICAgICBjb250ZW50OiBpbkNvbnRlbnQsXG4gICAgICAgIGF1dG9DbG9zZTogaW5BdXRvQ2xvc2UsXG4gICAgICAgIGFuaW1hdGlvbjogeyBvcGVuOiBcInpvb21JblwiLCBjbG9zZTogXCJ6b29tT3V0XCIgfSxcbiAgICAgICAgY2xvc2VPbkVzYzogZmFsc2UsXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICBjbG9zZU9uTW91c2VsZWF2ZTogZmFsc2UsXG4gICAgICAgIGNsb3NlT25DbGljazogZmFsc2UsXG4gICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbG9yOiBcInJlZFwiLFxuICAgICAgICBzdGFjazogdHJ1ZSxcbiAgICAgICAgc2hvd0NvdW50ZG93bjogdHJ1ZSxcbiAgICAgICAgcmVwb3NpdGlvbjogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2l2ZVdpZHRoOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VhdFRvb2x0aXBzKCk6IHZvaWQge1xuICAgIG5ldyBqQm94PFwiVG9vbHRpcFwiPiAoXCJUb29sdGlwXCIsIHtcbiAgICAgICAgYXR0YWNoOiBqUXVlcnkoXCIuc2VhdENoYXJ0cy1zZWF0XCIpLFxuICAgICAgICBvbk9wZW46IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgICAgIHNob3dTZWF0VG9vbHRpcCh0aGlzKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gc2hvd1NlYXRUb29sdGlwKGpCb3g6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRJRDogc3RyaW5nID0gakJveC5zb3VyY2VbMF0uaWQ7XG4gICAgY29uc3Qgc2VhdDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdElEXVs1XTtcbiAgICBjb25zdCByb3c6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRJRF1bNF07XG4gICAgY29uc3Qgc2VjdGlvbklEOiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0SURdWzNdO1xuICAgIGNvbnN0IHNlY3Rpb25EZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0U2VjdGlvbkRlc2NCeVNlY3Rpb25JRChzZWN0aW9uSUQpO1xuICAgIGNvbnN0IHRvb2x0aXBDb250ZW50OiBzdHJpbmcgPSBgJHtzZWN0aW9uRGVzY308YnIvPlJlaWhlICR7cm93fSBQbGF0eiAke3NlYXR9YDtcblxuICAgIGpCb3guc2V0Q29udGVudCh0b29sdGlwQ29udGVudCk7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgU3RhdGUgZnJvbSBcIi4vc3RhdGVcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vY2FydFwiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VhdHMoKTogSS5KU0NTZWF0cyB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgbGV0IHNlYXRtYXBJbml0U2VhdHM6IEkuSlNDU2VhdHMgPSB7fTtcblxuICAgIGZvciAobGV0IGtleSBpbiBwcmljZXNjYWxlQXJyKSB7XG4gICAgICAgIGNvbnN0IHNlYXRzT2JqOiBJLkpTQ1NlYXRzMiA9IHtcbiAgICAgICAgICAgIFwiY2xhc3Nlc1wiOiBgXyR7cHJpY2VzY2FsZUFycltrZXldLmlkWzBdfWAsXG4gICAgICAgICAgICBcInNlYXRzT2JqXCI6IHByaWNlc2NhbGVBcnJba2V5XVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgcGFyc2VJbnQoa2V5KSkudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICAgICAgc2VhdG1hcEluaXRTZWF0c1tzZWF0c0tleV0gPSBzZWF0c09iajtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VhdG1hcEluaXRTZWF0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGl2YXRlU2VhdHNCeVNlY3Rpb25JRChpblZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcbiAgICBjb25zdCBwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10gPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ucHJpY2VzY2FsZV9jb25maWdbMF0ucHJpY2VzY2FsZTtcblxuICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9IHByaWNlc2NhbGVBcnIuZmluZChhcnIgPT4ge1xuICAgICAgICByZXR1cm4gYXJyLmlkWzBdID09PSBpblZhbHVlO1xuICAgIH0pPy5tYXNrWzBdLnNwbGl0KFwiLFwiKTtcblxuICAgIHNlYXRtYXAuc3RhdHVzKHNlYXRzQXJyLCBcImF2YWlsYWJsZVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvd3NOYW1pbmcoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IGxheW91dDogSS5TZWF0bWFwTGF5b3V0ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLmxheW91dHNbMF0ubGF5b3V0WzBdO1xuICAgIGNvbnN0IGhlaWdodDogbnVtYmVyID0gcGFyc2VJbnQobGF5b3V0LmhlaWdodFswXSk7XG4gICAgY29uc3QgbmFtaW5nQXJyOiBzdHJpbmdbXSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IGhlaWdodCB9LCAoXykgPT4gXCJcIik7XG4gICAgY29uc3Qgcm93c0FycjogSS5MYXlvdXRSb3cyW10gPSBsYXlvdXQucm93c1swXS5yb3c7XG5cbiAgICByb3dzQXJyLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBwYXJzZUludChlbGVtZW50LnlfY2VsbF9jb29yZFswXSk7XG4gICAgICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSA9IGVsZW1lbnQuc2VhdHNbMF0uc3BsaXQoXCJ8XCIpO1xuICAgICAgICBjb25zdCBzZWF0QXJyOiBzdHJpbmdbXSA9IHNwbGl0U2VhdFN0cihzZWF0c0FyclswXSk7XG4gICAgICAgIGNvbnN0IHJvdzogc3RyaW5nID0gc2VhdEFycls0XTtcbiAgICAgICAgbmFtaW5nQXJyW2luZGV4XSA9IHJvdztcbiAgICB9KTtcblxuICAgIHJldHVybiBuYW1pbmdBcnI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1hcCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgbGF5b3V0OiBJLlNlYXRtYXBMYXlvdXQgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ubGF5b3V0c1swXS5sYXlvdXRbMF07XG4gICAgY29uc3Qgcm93czogSS5MYXlvdXRSb3cyW10gPSBsYXlvdXQucm93c1swXS5yb3c7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS52aWV3X21vZGVzWzBdLnZpZXdfbW9kZVswXS5hdmFpbGFiaWxpdHlbMF07XG5cbiAgICAvLyBGb3JtOiBhcnJNYXRyaXhbWV1bWF1cbiAgICBsZXQgYXJyTWF0cml4OiBzdHJpbmdbXVtdID0gY3JlYXRlQXJyTWF0cml4KFxuICAgICAgICBwYXJzZUludChsYXlvdXQuaGVpZ2h0WzBdKSxcbiAgICAgICAgcGFyc2VJbnQobGF5b3V0LndpZHRoWzBdKSxcbiAgICAgICAgXCJfXCJcbiAgICApO1xuXG4gICAgYXJyTWF0cml4ID0gZW50ZXJTZWF0c0luTWF0cml4KHJvd3MsIGFyck1hdHJpeCwgcHJpY2VzY2FsZUFyciwgYXZhaWxhYmlsaXR5QXJyKTtcbiAgICByZXR1cm4gYXJyTWF0cml4Lm1hcChlbGVtZW50ID0+IGVsZW1lbnQuam9pbihcIlwiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUxlZ2VuZChpbk5vZGU6IHN0cmluZyk6IEkuSlNDTGVnZW5kIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10gPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ucHJpY2VzY2FsZV9jb25maWdbMF0ucHJpY2VzY2FsZTtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gPEkuSlNDTGVnZW5kPntcbiAgICAgICAgbm9kZTogalF1ZXJ5KGluTm9kZSksXG4gICAgICAgIGl0ZW1zOiBjcmVhdGVMZWdlbmRJdGVtcyhwcmljZXNjYWxlQXJyLCB2ZW51ZVByaWNlc2NhbGVBcnIpXG4gICAgfVxufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFVuYXZhaWxhYmxlU2VhdHMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS52aWV3X21vZGVzWzBdLnZpZXdfbW9kZVswXS5hdmFpbGFiaWxpdHlbMF07XG5cbiAgICBpZiAoYXZhaWxhYmlsaXR5QXJyLnVuYXZhaWxhYmxlX3Vuc2VsZWN0YWJsZV9tYXNrWzBdICE9PSBcIlwiKSB7XG4gICAgICAgIGNvbnN0IHVuYXZhaWxhYmxlQXJyOiBzdHJpbmdbXSA9IGF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXS5zcGxpdChcIixcIik7XG4gICAgICAgIHNlYXRtYXAuc3RhdHVzKHVuYXZhaWxhYmxlQXJyLCBcInVuYXZhaWxhYmxlXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXRzS2V5KGluU2VhdElEOiBzdHJpbmcsIGluUHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBrZXkgaW4gaW5QcmljZXNjYWxlQXJyKSB7XG4gICAgICAgIGlmIChpblByaWNlc2NhbGVBcnJba2V5XS5tYXNrWzBdLmluY2x1ZGVzKGluU2VhdElEKSlcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgcGFyc2VJbnQoa2V5KSkudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTZWF0U3RyKGluU2VhdFN0cjogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBpblNlYXRTdHIuc3BsaXQoXCIsXCIpLm1hcCgoaXRlbSkgPT4gaXRlbS50cmltKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXJyTWF0cml4KGluTnVtcm93czogbnVtYmVyLCBpbk51bWNvbHM6IG51bWJlciwgaW5DaGFyYWN0ZXI6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIHJldHVybiBBcnJheShpbk51bXJvd3MpLmZpbGwobnVsbCkubWFwKCgpID0+IEFycmF5KGluTnVtY29scykuZmlsbChpbkNoYXJhY3RlcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0U2VhdHNJbkNhcnQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZm9yRWFjaChhcnIgPT4ge1xuICAgICAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGFyclswXTtcblxuICAgICAgICBpZiAoc2VhdG1hcC5nZXQoc2VhdElEKSlcbiAgICAgICAgICAgIHNlYXRtYXAuc3RhdHVzKHNlYXRJRCwgXCJzZWxlY3RlZFwiKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlYXRtYXAoaW5TZWxlY3Rvcjogc3RyaW5nLCBpbk1hcDogc3RyaW5nW10sIGluUm93c05hbWluZzogc3RyaW5nW10sIGluU2VhdHM6IEkuSlNDU2VhdHMsIGluTGVnZW5kOiBJLkpTQ0xlZ2VuZCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclNlYXRtYXA6IGFueSA9ICg8YW55PndpbmRvdykualF1ZXJ5KGluU2VsZWN0b3IpO1xuXG4gICAgY29uZmlnLnN0YXRlLnNlYXRtYXAgPSBjb250YWluZXJTZWF0bWFwLnNlYXRDaGFydHMoe1xuICAgICAgICBuYW1pbmc6IHtcbiAgICAgICAgICAgIHRvcDogZmFsc2UsXG4gICAgICAgICAgICBsZWZ0OiBmYWxzZSxcbiAgICAgICAgICAgIHJvd3M6IGluUm93c05hbWluZyxcbiAgICAgICAgfSxcbiAgICAgICAgbWFwOiBpbk1hcCxcbiAgICAgICAgc2VhdHM6IGluU2VhdHMsXG4gICAgICAgIGxlZ2VuZDogaW5MZWdlbmQsXG4gICAgICAgIGNsaWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xpY2tlZFNlYXQodGhpcyk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTGVnZW5kSXRlbXMocHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdLCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSk6IHN0cmluZ1tdW10ge1xuICAgIHJldHVybiBwcmljZXNjYWxlQXJyLm1hcCgoYXJyLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBhcnIuaWRbMF07XG4gICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgaW5kZXgpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHZlbnVlUHJpY2VzY2FsZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGlkKT8uZGVzY1swXTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb246IHN0cmluZyA9IGAke2Rlc2N9IOKCrCR7cHJpY2VzY2FsZUFycltpbmRleF0ucmVmX3ByaWNlWzBdfWA7XG4gICAgICAgIHJldHVybiBbc2VhdHNLZXksIFwiYXZhaWxhYmxlXCIsIGRlc2NyaXB0aW9uXTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZW50ZXJTZWF0c0luTWF0cml4KGluUm93czogSS5MYXlvdXRSb3cyW10sIGluQXJyTWF0cml4OiBzdHJpbmdbXVtdLCBpblByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSwgaW5BdmFpbGFiaWxpdHlBcnI6IEkuSlNDQXZhaWxhYmlsaXR5KTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgYXZhaWxhYmxlQXJyOiBzdHJpbmdbXSA9IGluQXZhaWxhYmlsaXR5QXJyLmF2YWlsYWJsZV9zZWxlY3RhYmxlX21hc2tbMF0uc3BsaXQoXCIsXCIpO1xuICAgIGNvbnN0IHVuYXZhaWxhYmxlQXJyOiBzdHJpbmdbXSA9IGluQXZhaWxhYmlsaXR5QXJyLnVuYXZhaWxhYmxlX3Vuc2VsZWN0YWJsZV9tYXNrWzBdLnNwbGl0KFwiLFwiKTtcblxuICAgIGluUm93cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCByb3c6IEkuTGF5b3V0Um93MiA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IFk6IG51bWJlciA9IHBhcnNlSW50KHJvdy55X2NlbGxfY29vcmRbMF0pIC0gMTtcbiAgICAgICAgY29uc3Qgc2VhdHNBcnI6IHN0cmluZ1tdID0gcm93LnNlYXRzWzBdLnNwbGl0KFwifFwiKTtcblxuICAgICAgICBzZWF0c0Fyci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VhdFN0cjogc3RyaW5nID0gZWxlbWVudDtcbiAgICAgICAgICAgIC8vIEZvcm06XG4gICAgICAgICAgICAvLyBcIjU2ODQyMCw1Njg0MjAsMTUsNzAyNCwxMyAsMVwiXG5cbiAgICAgICAgICAgIGNvbnN0IHNlYXRBcnI6IHN0cmluZ1tdID0gc3BsaXRTZWF0U3RyKHNlYXRTdHIpO1xuICAgICAgICAgICAgLy8gRm9ybTpcbiAgICAgICAgICAgIC8vIDA6IFwiNTY4NTI4XCIgLT4gSURcbiAgICAgICAgICAgIC8vIDE6IFwiNTY4NTI4XCIgLT4gSURcbiAgICAgICAgICAgIC8vIDI6IFwiMjFcIiAtPiBYLUNvb3JkIGJlbnV0emVuXG4gICAgICAgICAgICAvLyAzOiBcIjcwMjRcIiAtPiBzZWN0aW9uIElEXG4gICAgICAgICAgICAvLyA0OiBcIjEzXCIgLT4gUmVpaGVuYmV6ZWljaG51bmdcbiAgICAgICAgICAgIC8vIDU6IFwiNFwiIC0+IFBsYXR6bnVtbWVyXG5cbiAgICAgICAgICAgIC8vIHNraXAgYmxhY2tlZCBvdXQgc2VhdHMgICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICghYXZhaWxhYmxlQXJyLmluY2x1ZGVzKHNlYXRBcnJbMF0pICYmICF1bmF2YWlsYWJsZUFyci5pbmNsdWRlcyhzZWF0QXJyWzBdKSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIGNvbnN0IFg6IG51bWJlciA9IHBhcnNlSW50KHNlYXRBcnJbNV0pO1xuICAgICAgICAgICAgY29uc3QgWDogbnVtYmVyID0gcGFyc2VJbnQoc2VhdEFyclsyXSkgLSAxO1xuICAgICAgICAgICAgY29uc3Qgc2VhdHNLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGdldFNlYXRzS2V5KHNlYXRBcnJbMF0sIGluUHJpY2VzY2FsZUFycik7XG5cbiAgICAgICAgICAgIGlmIChzZWF0c0tleSlcbiAgICAgICAgICAgICAgICBpbkFyck1hdHJpeFtZXVtYXSA9IGAke3NlYXRzS2V5fVske3NlYXRBcnJbMF19LCBdYDtcblxuXG4gICAgICAgICAgICAvLyBzYXZlIHNlYXRBcnIgaW4gc3RhdGUgd2l0aCBzZWF0SUQgYXMga2V5XG4gICAgICAgICAgICBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0QXJyWzBdXSA9IHNlYXRBcnI7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGluQXJyTWF0cml4O1xufVxuXG5mdW5jdGlvbiBjbGlja2VkU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGlmIChpblNlYXRtYXAuc3RhdHVzKCkgPT0gJ2F2YWlsYWJsZScpIHtcbiAgICAgICAgcmV0dXJuIGNsaWNrQXZhaWxhYmxlU2VhdChpblNlYXRtYXApO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblNlYXRtYXAuc3RhdHVzKCkgPT09IFwic2VsZWN0ZWRcIikge1xuICAgICAgICByZXR1cm4gY2xpY2tlZFNlbGVjdGVkU2VhdChpblNlYXRtYXApO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblNlYXRtYXAuc3RhdHVzKCkgPT0gJ3VuYXZhaWxhYmxlJykge1xuICAgICAgICByZXR1cm4gXCJ1bmF2YWlsYWJsZVwiO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGluU2VhdG1hcC5zdHlsZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY2xpY2tBdmFpbGFibGVTZWF0KGluU2VhdG1hcDogYW55KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGluU2VhdG1hcC5zZXR0aW5ncztcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coc2VsZWN0ZWRTZWF0KTtcblxuICAgIGlmIChTdGF0ZS5tYXhpbXVtU2VsZWN0ZWRTZWF0c1JlYWNoZWQoc2VsZWN0ZWRTZWF0KSlcbiAgICAgICAgcmV0dXJuIFwiYXZhaWxhYmxlXCI7XG5cbiAgICBTdGF0ZS5hZGRTZWF0VG9TdGF0ZShzZWxlY3RlZFNlYXQpO1xuICAgIENhcnQuY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICByZXR1cm4gXCJzZWxlY3RlZFwiO1xufVxuXG5mdW5jdGlvbiBjbGlja2VkU2VsZWN0ZWRTZWF0KGluU2VhdG1hcDogYW55KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGluU2VhdG1hcC5zZXR0aW5ncztcbiAgICBTdGF0ZS5yZW1vdmVTZWF0RnJvbVN0YXRlKHNlbGVjdGVkU2VhdCk7XG4gICAgQ2FydC5jYWxjT3ZlcmFsbFByaWNlKCk7XG4gICAgQ2FydEJ1dHRvbnMuc2V0QnRuQ2FydFRleHQoKTtcblxuICAgIHJldHVybiBcImF2YWlsYWJsZVwiO1xufSIsImV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TGVnZW5kVG9Ecm9wZG93bihpbklEOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBqUXVlcnkoJ3VsLnNlYXRDaGFydHMtbGVnZW5kTGlzdCcpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgc2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+ID0galF1ZXJ5KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpKVxuICAgICAgICAgICAgLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykuaGlkZSgpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHNlbGVjdC5hdHRyKHsgaWQ6IGluSUQgfSk7XG4gICAgICAgIGFwcGVuZEZpcnN0TGVnZW5kT3B0aW9uKHNlbGVjdCk7XG4gICAgICAgIGFwcGVuZExlZ2VuZE9wdGlvbnModGhpcywgc2VsZWN0KTsgICAgICAgIFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRMZWdlbmRPcHRpb25zKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpblNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50Pikge1xuICAgIGpRdWVyeSgnPmxpJywgZWxlbWVudCkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZTogc3RyaW5nID0galF1ZXJ5KHRoaXMpWzBdLmNoaWxkcmVuWzBdLmNsYXNzTGlzdFszXTtcbiAgICAgICAgY29uc3QgdmFsOiBzdHJpbmcgPSBjbGFzc05hbWUuc3Vic3RyaW5nKDEpO1xuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSAoPEhUTUxFbGVtZW50PmpRdWVyeSh0aGlzKVswXS5jaGlsZHJlblsxXSkuaW5uZXJUZXh0O1xuXG4gICAgICAgIGFwcGVuZExlZ2VuZE9wdGlvbihpblNlbGVjdCwgY2xhc3NOYW1lLCB2YWwsIHRleHQpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRMZWdlbmRPcHRpb24oaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4sIGNsYXNzTmFtZTogc3RyaW5nLCB2YWw6IHN0cmluZywgdGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbjogSlF1ZXJ5PEhUTUxPcHRpb25FbGVtZW50PiA9IGpRdWVyeSgnPG9wdGlvbi8+Jyk7XG4gICAgb3B0aW9uLmF0dHIoeyAndmFsdWUnOiB2YWwsICdjbGFzcyc6IGNsYXNzTmFtZSB9KS50ZXh0KHRleHQpO1xuICAgIGluU2VsZWN0LmFwcGVuZChvcHRpb24pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRGaXJzdExlZ2VuZE9wdGlvbihpblNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50Pik6IHZvaWQge1xuICAgIGxldCBvcHRpb246IEpRdWVyeTxIVE1MT3B0aW9uRWxlbWVudD4gPSBqUXVlcnkoJzxvcHRpb24vPicpO1xuICAgIG9wdGlvbi5hdHRyKHsgJ3ZhbHVlJzogJ2FsbCcgfSkudGV4dCgnQWxsZSBQcmVpc2thdGVnb3JpZW4nKTtcbiAgICBvcHRpb24uY3NzKFwiY29sb3JcIiwgXCIjNWM1YzVjXCIpO1xuICAgIGluU2VsZWN0LmFwcGVuZChvcHRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlRHJvcGRvd25MZWdlbmRCR0NvbG9yKGluU2VsZWN0b3I6IHN0cmluZywgaW5WYWx1ZTogc3RyaW5nLCBpbkNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGJnQ29sb3I6IHN0cmluZyA9IFwiI2ZhZmFmYVwiO1xuICAgIGxldCBjb2xvcjogc3RyaW5nID0gXCIjNWM1YzVjXCI7XG5cbiAgICBpZiAoaW5WYWx1ZSAhPT0gXCJhbGxcIikge1xuICAgICAgICBjb2xvciA9IFwid2hpdGVcIjtcbiAgICAgICAgYmdDb2xvciA9IGpRdWVyeShpbkNsYXNzTmFtZSkuY3NzKFwiYmFja2dyb3VuZC1jb2xvclwiKTtcbiAgICB9XG5cbiAgICBqUXVlcnkoaW5TZWxlY3RvcikuY3NzKFwiY29sb3JcIiwgY29sb3IpO1xuICAgIGpRdWVyeShpblNlbGVjdG9yKS5jc3MoXCJiYWNrZ3JvdW5kLWNvbG9yXCIsIGJnQ29sb3IpO1xuICAgIGpRdWVyeShgJHtpblNlbGVjdG9yfSBvcHRpb25bdmFsdWU9XCJhbGxcIl1gKS5jc3MoXCJjb2xvclwiLCBjb2xvcik7XG59IiwiaW1wb3J0IFBhbnpvb20gZnJvbSAnQHBhbnpvb20vcGFuem9vbSc7XG5pbXBvcnQgeyBQYW56b29tT2JqZWN0IH0gZnJvbSBcIkBwYW56b29tL3Bhbnpvb20vZGlzdC9zcmMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkUGFuem9vbShpblNlbGVjdG9yOiBzdHJpbmcsIGluQnRuWm9vbUluOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsIGluQnRuWm9vbU91dDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBpbkJ0blJlc2V0Wm9vbTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKTogUGFuem9vbU9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG5cbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnN0IHBhbnpvb206IFBhbnpvb21PYmplY3QgPSBQYW56b29tKGNvbnRhaW5lciwge1xuICAgICAgICAgICAgbWF4U2NhbGU6IDUsXG4gICAgICAgICAgICBhbmltYXRlOiBmYWxzZSxcbiAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgc3RhcnRTY2FsZTogXCIwLjY2XCJcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWRkUGFuem9vbUV2ZW50cyhpbkJ0blpvb21JbiwgaW5CdG5ab29tT3V0LCBpbkJ0blJlc2V0Wm9vbSwgY29udGFpbmVyLnBhcmVudEVsZW1lbnQhLCBwYW56b29tKTtcbiAgICAgICAgcmV0dXJuIHBhbnpvb207XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYWRkUGFuem9vbUV2ZW50cyhpbkJ0blpvb21Jbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBpbkJ0blpvb21PdXQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgaW5CdG5SZXNldFpvb206IHN0cmluZyB8IHVuZGVmaW5lZCwgY29udGFpbmVyUGFyZW50OiBIVE1MRWxlbWVudCwgcGFuem9vbTogUGFuem9vbU9iamVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50TWFwcGluZyA9IFtcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5ab29tSW4sIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tSW4sIFR5cGU6IFwiY2xpY2tcIiB9LFxuICAgICAgICB7IFNlbGVjdG9yOiBpbkJ0blpvb21PdXQsIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tT3V0LCBUeXBlOiBcImNsaWNrXCIgfSxcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5SZXNldFpvb20sIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS5yZXNldCwgVHlwZTogXCJjbGlja1wiIH0sXG4gICAgICAgIHsgSFRNTEVsZW1lbnQ6IGNvbnRhaW5lclBhcmVudCwgUGFuem9vbUZ1bmN0aW9uOiBwYW56b29tLnpvb21XaXRoV2hlZWwsIFR5cGU6IFwid2hlZWxcIiB9XG4gICAgXTtcblxuICAgIGV2ZW50TWFwcGluZy5tYXAoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ0bjogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoZXZlbnQuU2VsZWN0b3IpLmdldCgwKTtcbiAgICAgICAgICAgIGlmIChidG4pXG4gICAgICAgICAgICAgICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQuVHlwZSwgZXZlbnQuUGFuem9vbUZ1bmN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChldmVudC5IVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LlR5cGUgPT09IFwid2hlZWxcIilcbiAgICAgICAgICAgICAgICBldmVudC5IVE1MRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LlR5cGUsIGV2ZW50LlBhbnpvb21GdW5jdGlvbik7XG4gICAgICAgIH1cbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5iaW5kUGFuem9vbUV2ZW50cyhpblNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0galF1ZXJ5KGluU2VsZWN0b3IpLmdldCgwKTtcbiAgICBjb250YWluZXIucGFyZW50RWxlbWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBjb25maWcuc3RhdGUucGFuem9vbSEuem9vbVdpdGhXaGVlbCk7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xudmFyIGpRdWVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZUxvY2F0aW9uKCk6IHN0cmluZyB7XG4gICAgbGV0IHNwYW5BcnI6IHN0cmluZ1tdID0gW107XG4gICAgalF1ZXJ5KFwiLnZlbnVlIHNwYW5cIikuZWFjaChmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgIHNwYW5BcnIucHVzaChqUXVlcnkodGhpcykudGV4dCgpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzcGFuQXJyLmpvaW4oXCIsIFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElucHV0cyhpbkNvbnRlbnQ6IHN0cmluZyk6IEkuSW5wdXRzICB7XG4gICAgY29uc3QgcGFyc2VkSFRNTDogTm9kZVtdID0galF1ZXJ5LnBhcnNlSFRNTChpbkNvbnRlbnQpO1xuICAgIGxldCBpbnB1dHM6IEkuSW5wdXRzID0ge307XG5cbiAgICBqUXVlcnkocGFyc2VkSFRNTCkuZmluZCgnaW5wdXQnKS5lYWNoKGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbmFtZTogc3RyaW5nID0gdGhpcy5uYW1lO1xuICAgICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09ICcnKVxuICAgICAgICAgICAgaW5wdXRzW25hbWVdID0gdmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaW5wdXRzO1xufVxuXG4vLyB0b2RvOiBjaGVjayB3aXRoIGRpZmZlcmVudCB2ZW51ZXNcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbXBvcnRhbnROb3RlKCk6IEkuSW1wb3J0YW50Tm90ZSB8IHVuZGVmaW5lZCAge1xuICAgIGlmIChqUXVlcnkoXCIuaW1wb3J0YW50X25vdGVcIikubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGltcG9ydGFudE5vdGU6IHN0cmluZyB8IG51bGwgPSBqUXVlcnkoXCIuaW1wb3J0YW50X25vdGVcIilbMF0udGV4dENvbnRlbnQ7XG5cbiAgICAgICAgaWYgKGltcG9ydGFudE5vdGU/LnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydGFudE5vdGVFbmNvZGVkOiBzdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQoaW1wb3J0YW50Tm90ZSk7XG4gICAgICAgICAgICByZXR1cm4gPEkuSW1wb3J0YW50Tm90ZT4ge1xuICAgICAgICAgICAgICAgIFwiaW1wb3J0YW50Tm90ZVwiOiBpbXBvcnRhbnROb3RlLFxuICAgICAgICAgICAgICAgIFwiaW1wb3J0YW50Tm90ZUVuY29kZWRcIjogaW1wb3J0YW50Tm90ZUVuY29kZWRcbiAgICAgICAgICAgIH0gICAgICAgIFxuICAgICAgICB9XG4gICAgfSAgIFxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkZGl0aW9uYWxJbnB1dHMoaW5Db250ZW50OiBzdHJpbmcpOiBJLklucHV0cyB7XG4gICAgY29uc3QgZXZlbnQgPSBpbkNvbnRlbnQubWF0Y2goL2V2ZW50OlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBob2xkY29kZSA9IGluQ29udGVudC5tYXRjaCgvaG9sZGNvZGU6XCIoLis/KVwiLykhWzFdO1xuICAgIGNvbnN0IHBvc3R1cmxSYXcgPSBpbkNvbnRlbnQubWF0Y2goL3Bvc3R1cmw6XCIoLis/KVwiLykhWzFdO1xuICAgIGNvbnN0IHBvc3R1cmxSYXdEZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHBvc3R1cmxSYXcpO1xuICAgIGNvbnN0IHBvc3R1cmwgPSBkZWNvZGVVUklDb21wb25lbnQoYCR7cG9zdHVybFJhd30mZXZlbnQ9JHtldmVudH0maG9sZGNvZGU9JHtob2xkY29kZX0mbm9jYWNoZT0wJmluY2xwa2c9WSZpbmNsb2ZmZXI9WSZpbmNsY2FydGRldGFpbHM9WSZpbmNsQ2FydD1ZJmluY2x2ZW51ZT1ZYCk7XG4gICAgY29uc3QgdmVudWVMb2NhdGlvbiA9IGdldFZlbnVlTG9jYXRpb24oKTtcbiAgICBjb25zdCB0aWNrZXRQdXJjaGFzZVVybCA9IGAke3Bvc3R1cmxSYXdEZWNvZGVkLnNwbGl0KFwiP1wiKVswXS5zcGxpdCgnLycpLnNsaWNlKDAsLTEpLmpvaW4oJy8nKX0vVGlja2V0UHVyY2hhc2VgO1xuXG4gICAgcmV0dXJuIDxJLklucHV0cz4ge1xuICAgICAgICBcImV2ZW50XCI6IGV2ZW50LFxuICAgICAgICBcImhvbGRjb2RlXCI6IGhvbGRjb2RlLFxuICAgICAgICBcInBvc3R1cmxSYXdcIjogcG9zdHVybFJhdyxcbiAgICAgICAgXCJwb3N0dXJsUmF3RGVjb2RlZFwiOiBwb3N0dXJsUmF3RGVjb2RlZCxcbiAgICAgICAgXCJwb3N0dXJsXCI6IHBvc3R1cmwsXG4gICAgICAgIFwidmVudWVMb2NhdGlvblwiOiB2ZW51ZUxvY2F0aW9uLFxuICAgICAgICBcInRpY2tldFB1cmNoYXNlVXJsXCI6IHRpY2tldFB1cmNoYXNlVXJsXG4gICAgfSAgICBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlSW1hZ2UoKTogSS5WZW51ZUltYWdlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQgPSBqUXVlcnkoXCIjc3RhdGljX3ZlbnVlX21hcCBpbWdcIikuZ2V0KDApO1xuXG4gICAgaWYgKGltZykge1xuICAgICAgICByZXR1cm4gPEkuVmVudWVJbWFnZT4ge1xuICAgICAgICAgICAgdmVudWVJbWFnZVNyYzogaW1nLnNyYyxcbiAgICAgICAgICAgIHZlbnVlSW1hZ2VIZWlnaHQ6IGltZy5oZWlnaHQsXG4gICAgICAgICAgICB2ZW51ZUltYWdlV2lkdGg6IGltZy53aWR0aFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTTUFQKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFqUXVlcnkoXCIjc2VhdGluZ19tYXBfdXJsXCIpLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHN0cjogc3RyaW5nID0galF1ZXJ5KFwiI3NlYXRpbmdfbWFwX3VybCBhXCIpLmF0dHIoXCJvbmNsaWNrXCIpO1xuICAgIGNvbnN0IHJlID0gL29wZW5OZXdXaW5kb3dcXChcXCcoXFxkKylcXCcvO1xuICAgIGNvbnN0IGZvdW5kOiBSZWdFeHBNYXRjaEFycmF5IHwgbnVsbCA9IHN0ci5tYXRjaChyZSk7XG4gXG4gICAgcmV0dXJuIGZvdW5kID8gZm91bmRbMV0gOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFdmVudEluZm8oKTogSS5FdmVudEluZm8ge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHNlY3Rpb25BcnI6IEkuU2VjdGlvbjJbXSA9IHZlbnVlWE1MLm1hc3Rlcl9jb25maWdbMF0uc2VjdGlvbl9pbnZlbnRvcnlbMF0uc2VjdGlvbjtcbiAgICBjb25zdCBldmVudE9iajogSS5FdmVudCA9IHZlbnVlWE1MLmV2ZW50WzBdO1xuICAgIGNvbnN0IGV2ZW50OiBJLkV2ZW50ID0gdmVudWVYTUwuZXZlbnRbMF07XG4gICAgY29uc3QgdmVudWVfY29uZmlnOiBJLlZlbnVlQ29uZmlnID0gdmVudWVYTUwudmVudWVfY29uZmlnWzBdO1xuICAgIGNvbnN0IGRhdGVPYmo6IERhdGUgPSBuZXcgRGF0ZShwYXJzZUludChldmVudC55ZWFyWzBdKSwgcGFyc2VJbnQoZXZlbnQubW9udGhbMF0pIC0gMSwgcGFyc2VJbnQoZXZlbnQuZGF5WzBdKSwgcGFyc2VJbnQoZXZlbnQuaG91clswXSksIHBhcnNlSW50KGV2ZW50Lm1pbnV0ZVswXSkpO1xuICAgIGNvbnN0IHN0YXJ0OiBzdHJpbmdbXSA9IFtkYXRlT2JqLnRvTG9jYWxlU3RyaW5nKFtcImRlLURFXCJdLCB7IHdlZWtkYXk6IFwibG9uZ1wiLCBkYXk6IFwiMi1kaWdpdFwiLCBtb250aDogXCIyLWRpZ2l0XCIsIHllYXI6IFwibnVtZXJpY1wiLCBob3VyOiBcIjItZGlnaXRcIiwgbWludXRlOiBcIjItZGlnaXRcIiwgdGltZVpvbmVOYW1lOiBcInNob3J0XCIgfSldO1xuICAgIGNvbnN0IHdlZWtkYXk6IHN0cmluZ1tdID0gW1V0aWxzLmdldERheU5hbWUoZGF0ZU9iaiwgXCJkZS1ERVwiKV07XG4gICAgY29uc3Qgc2VhdHNfYXZhaWxhYmxlID0gc2VjdGlvbkFyci5tYXAoaXRlbSA9PiBwYXJzZUludChpdGVtLmF2YWlsYWJsZVswXSkpLnJlZHVjZSgocHJldiwgY3VycikgPT4gcHJldiArIGN1cnIpO1xuXG4gICAgY29uc3QgZXZlbnRFeHRlbmQ6IEkuRXZlbnRFeHRlbmQgPSB7XG4gICAgICAgIHZlbnVlX2NvbmZpZ19jYXBhY2l0eTogdmVudWVfY29uZmlnLmNhcGFjaXR5LFxuICAgICAgICB2ZW51ZV9jb25maWdfY29kZTogdmVudWVfY29uZmlnLmNvZGUsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19kZXNjOiB2ZW51ZV9jb25maWcuZGVzYyxcbiAgICAgICAgdmVudWVfY29uZmlnX2lkOiB2ZW51ZV9jb25maWcuaWQsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2U6IHZlbnVlX2NvbmZpZy5uYXZfaW1hZ2UsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2VfaGVpZ2h0OiB2ZW51ZV9jb25maWcubmF2X2ltYWdlX2hlaWdodCxcbiAgICAgICAgdmVudWVfY29uZmlnX25hdl9pbWFnZV93aWR0aDogdmVudWVfY29uZmlnLm5hdl9pbWFnZV93aWR0aCxcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICB3ZWVrZGF5OiB3ZWVrZGF5LFxuICAgICAgICBzZWF0c19hdmFpbGFibGU6IHNlYXRzX2F2YWlsYWJsZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIDxJLkV2ZW50SW5mbz57IC4uLmV2ZW50T2JqLCAuLi5ldmVudEV4dGVuZCB9O1xufSIsImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcbmltcG9ydCAqIGFzIGpCb3hIZWxwZXIgZnJvbSBcIi4vakJveEhlbHBlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VhdFRvU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgYWRkU2VhdE9ialRvU3RhdGUoaW5TZWxlY3RlZFNlYXQpO1xuICAgIGNvbnN0IHByaWNlc2NhbGVJRDogc3RyaW5nID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpbaW5TZWxlY3RlZFNlYXQuaWRdLmRhdGEuc2VhdHNPYmouaWRbMF07XG4gICAgY29uc3QgcHJpY2VzY2FsZU9iajogSS5QcmljZXNjYWxlNSB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRWZW51ZVByaWNlU3RydWN0dXJlUHJvcGVydHlCeVByaWNlc2NhbGVJRChwcmljZXNjYWxlSUQpO1xuXG4gICAgaWYgKHByaWNlc2NhbGVPYmopIHtcbiAgICAgICAgY29uc3QgZmlyc3RCdXllclR5cGVJRDogc3RyaW5nID0gcHJpY2VzY2FsZU9iai5idXllcl90eXBlWzBdLmlkWzBdO1xuICAgICAgICBjb25zdCBidXllclR5cGVDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0QnV5ZXJUeXBlQ29kZUJ5QnV5ZXJUeXBlSUQoZmlyc3RCdXllclR5cGVJRCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhdHNBcnJJdGVtOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW2luU2VsZWN0ZWRTZWF0LmlkLCBmaXJzdEJ1eWVyVHlwZUlELCBidXllclR5cGVDb2RlXTtcbiAgICAgICAgYWRkU2VhdHNJdGVtVG9TdGF0ZShzZWxlY3RlZFNlYXRzQXJySXRlbSk7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgICAgY29uc29sZS53YXJuKGBDYW5ub3QgZmluZCBjb3JyZXNwb25kaW5nIHZlbnVlWE1MIHByaWNlc2NhbGVPYmogZm9yIHByaWNlc2NhbGUgd2l0aCBJRCAke3ByaWNlc2NhbGVJRH1gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVNlYXRGcm9tU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgZGVsZXRlIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2luU2VsZWN0ZWRTZWF0LmlkXTtcblxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5maW5kSW5kZXgoYXJyID0+IGFyclswXSA9PT0gaW5TZWxlY3RlZFNlYXQuaWQpO1xuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICBjb25maWcuc3RhdGUuY2FydENoYW5nZWQgPSB0cnVlO1xuXG4gICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhpbXVtU2VsZWN0ZWRTZWF0c1JlYWNoZWQoaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuXG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aCA+PSBjb25maWcubWF4U2VsZWN0ZWRTZWF0cykge1xuICAgICAgICBqQm94SGVscGVyLnNob3dKQm94Tm90aWNlKGBTaWUga8O2bm5lbiBtYXhpbWFsICR7Y29uZmlnLm1heFNlbGVjdGVkU2VhdHN9IFBsw6R0emUgYXVzd8OkaGxlbi5gKTtcbiAgICAgICAgc2VhdG1hcC5zdGF0dXMoaW5TZWF0T2JqLmlkLCBcImF2YWlsYWJsZVwiKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBhZGRTZWF0c0l0ZW1Ub1N0YXRlKGluSXRlbTogKHN0cmluZyB8IHVuZGVmaW5lZClbXSk6IHZvaWQge1xuICAgIGlmIChpbkl0ZW0uZXZlcnkodiA9PiB2ICE9PSAoXCJcIiB8fCB1bmRlZmluZWQgfHwgbnVsbCkpKSB7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLnB1c2goPHN0cmluZ1tdPmluSXRlbSk7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCA9IHRydWU7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRTZWF0T2JqVG9TdGF0ZShpblNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGluU2VsZWN0ZWRTZWF0LmlkO1xuICAgIGNvbnN0IHNlYXRPYmo6IEkuU3RhdGVKU0NTZWxlY3RlZFNlYXRzID0ge1xuICAgICAgICBbc2VhdElEXTogaW5TZWxlY3RlZFNlYXRcbiAgICB9XG5cbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaiA9IHsgLi4uY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmosIC4uLnNlYXRPYmogfVxufSIsImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFRyaW1zKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHRyaW1BcnI6IEkuVHJpbVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnRyaW1zWzBdLnRyaW07XG5cbiAgICB0cmltQXJyLmZvckVhY2goYXJyID0+IHtcbiAgICAgICAgY29uc3QgW3hUcmltLCB5VHJpbV0gPSBhcnIuY29vcmRbMF0uc3BsaXQoXCIsXCIpLm1hcChOdW1iZXIpO1xuICAgICAgICBjb25zdCB0ZXh0QXJyOiBzdHJpbmdbXSA9IGFyci50ZXh0WzBdLnNwbGl0KFwiO1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIGNvbnN0IHg6IG51bWJlciA9IHhUcmltIC8gMjA7XG4gICAgICAgIGNvbnN0IHk6IG51bWJlciA9IE1hdGgucm91bmQoeVRyaW0gLyAyMS4yNSk7ICAgICAgICBcblxuICAgICAgICBkZWNvZGVUcmltKHRleHRBcnIsIHgsIHkpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVUcmltKHRleHRBcnI6IHN0cmluZ1tdLCB4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHNwZWNpYWxDaGFyOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXG4gICAgICAgIFtcIiYjeDhlXCIsIFwiw4RcIl0sXG4gICAgICAgIFtcIiYjeDk5XCIsIFwiw5ZcIl0sXG4gICAgICAgIFtcIiYjeDlhXCIsIFwiw5xcIl0sXG4gICAgICAgIFtcIiYjeDg0XCIsIFwiw6RcIl0sXG4gICAgICAgIFtcIiYjeDk0XCIsIFwiw7ZcIl0sXG4gICAgICAgIFtcIiYjeDgxXCIsIFwiw7xcIl0sXG4gICAgICAgIFtcIiYjeGUxXCIsIFwiw59cIl1cbiAgICBdKTtcblxuICAgIHRleHRBcnIubWFwKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBjaGFyYWN0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHNwZWNpYWxDaGFyLmhhcyhlbGVtZW50KSA/IHNwZWNpYWxDaGFyLmdldChlbGVtZW50KSA6IGRlY29kZU5vcm1hbFRyaW0oZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGNoYXJhY3Rlcikge1xuICAgICAgICAgICAgY29uc3QgdHJpbVBvczogSS5UcmltUG9zID0gZ2V0SlNDVHJpbVBvcyh4LCB5LCBpbmRleCk7XG4gICAgICAgICAgICBhcHBseVRyaW0oY2hhcmFjdGVyLCB0cmltUG9zKTtcbiAgICAgICAgfSAgICAgICAgICAgIFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVOb3JtYWxUcmltKGVsZW1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY2hhckNvZGU6IHN0cmluZyA9IGVsZW1lbnQucmVwbGFjZSgvXlxcJlxcIy8sIFwiMFwiKTtcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChjaGFyQ29kZSwgMTYpKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlUcmltKGluQ2hhcmFjdGVyOiBzdHJpbmcsIGluVHJpbVBvczogSS5UcmltUG9zKTogdm9pZCB7XG4gICAgY29uc3QgcmVnZXg6IFJlZ0V4cCA9IC9bXmEtekEtWjAtOcOkw7bDvMOEw5bDnMOfJF0vO1xuICAgIFxuICAgIGlmICghcmVnZXgudGVzdChpbkNoYXJhY3RlcikpXG4gICAgICAgIGpRdWVyeShcIi5zZWF0Q2hhcnRzLXJvd1wiKVtpblRyaW1Qb3MueUpTQ10uY2hpbGRyZW5baW5UcmltUG9zLnhKU0NdLmlubmVySFRNTCA9IGA8c3BhbiBjbGFzcz1cInRyaW1DaGFyXCI+JHtpbkNoYXJhY3Rlcn08L3NwYW4+YFxufVxuXG5mdW5jdGlvbiBnZXRKU0NUcmltUG9zKGluWDogbnVtYmVyLCBpblk6IG51bWJlciwgaW5kZXg6IG51bWJlcik6IEkuVHJpbVBvcyB7XG4gICAgcmV0dXJuIDxJLlRyaW1Qb3M+IHtcbiAgICAgICAgeDogaW5YLFxuICAgICAgICB5OiBpblksXG4gICAgICAgIHhKU0M6IChpblggLSAxKSArIGluZGV4LFxuICAgICAgICB5SlNDOiBpblkgLSAxXG4gICAgfVxufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xuaW1wb3J0ICogYXMgUGFuem9vbSBmcm9tIFwiLi9wYW56b29tXCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRPcHRpb25TZWxlY3QoaW5TZWF0bWFwTGlzdGluZzogSS5TZWF0bWFwW10sIGluSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBEcm9wZG93bjogSFRNTEVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5JZCk7XG5cbiAgICBpZiAoc2VhdG1hcERyb3Bkb3duKSB7XG4gICAgICAgIGZvciAobGV0IHNlYXRtYXBPYmogb2YgaW5TZWF0bWFwTGlzdGluZykge1xuICAgICAgICAgICAgdmFyIG9wdDogSFRNTE9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICAgICAgICAgIG9wdC52YWx1ZSA9IHNlYXRtYXBPYmouaWRbMF07XG4gICAgICAgICAgICBvcHQuaW5uZXJIVE1MID0gc2VhdG1hcE9iai5kZXNjWzBdO1xuICAgICAgICAgICAgc2VhdG1hcERyb3Bkb3duLmFwcGVuZENoaWxkKG9wdCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRFdmVudEluZm8oaW5FdmVudEluZm86IEkuRXZlbnRJbmZvKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG5cbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvRGVzYyBzcGFuLmZsLWhlYWRpbmctdGV4dFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5FdmVudEluZm8uZGVzY1swXTtcbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvRGF0ZSBwXCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBpbkV2ZW50SW5mby5zdGFydFswXTtcbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvTG9jYXRpb24gcFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5wdXRzV2l0aFZhbHVlLnZlbnVlTG9jYXRpb247XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0NhcGFjaXR5IHBcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGBWZXJmw7xnYmFyZSBQbMOkdHplOiAke2luRXZlbnRJbmZvLnNlYXRzX2F2YWlsYWJsZX0gdm9uICR7aW5FdmVudEluZm8udmVudWVfY29uZmlnX2NhcGFjaXR5WzBdfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEaWFsb2coKTogdm9pZCB7XG4gICAgY29uc3QgaWZyYW1lSFRNTDogc3RyaW5nID0gXCI8aWZyYW1lIGlkPSdpZnJhbWVTZWF0bWFwJyBzY3JvbGxpbmc9J25vJyBmcmFtZWJvcmRlcj0nMCcgbWFyZ2lud2lkdGg9JzAnIG1hcmdpbmhlaWdodD0nMCcgYWxsb3dmdWxsc2NyZWVuIHdpZHRoPScxMDAlJyAvPlwiO1xuICAgIGNvbnN0IHNyYzogc3RyaW5nID0gVXRpbHMuZ2V0Q29uZmlnVmFsdWUoXCJzZWF0bWFwXCIpO1xuXG4gICAgalF1ZXJ5KFwiI2RpYWxvZ1NlYXRtYXBcIikuYXBwZW5kKFxuICAgICAgICBqUXVlcnkoaWZyYW1lSFRNTClcbiAgICAgICAgICAgIC5hdHRyKFwic3JjXCIsIHNyYykpXG4gICAgICAgIC5kaWFsb2coe1xuICAgICAgICAgICAgbW9kYWw6IHRydWUsXG4gICAgICAgICAgICBhdXRvT3BlbjogZmFsc2UsXG4gICAgICAgICAgICBjbG9zZU9uRXNjYXBlOiB0cnVlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGU6IHRydWUsXG4gICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHRpdGxlOiBcIlwiLFxuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgIGNsb3NlOiAoKSA9PiBqUXVlcnkoXCJodG1sLCBib2R5XCIpLmNzcyhcIm92ZXJmbG93XCIsIFwiYXV0b1wiKSxcbiAgICAgICAgfSk7XG5cbiAgICBFdmVudHMuYWRkT3BlblNlYXRtYXAoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc3Ryb3lDdXJyZW50U2VhdG1hcChpblNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnLnN0YXRlLnBhbnpvb20pXG4gICAgICAgIFBhbnpvb20udW5iaW5kUGFuem9vbUV2ZW50cyhpblNlbGVjdG9yKTtcblxuICAgIGpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwSW5uZXJcIikucmVtb3ZlKCk7XG4gICAgalF1ZXJ5KFwiI2h0bWxTZWF0bWFwSW5uZXIgLmZsLWh0bWxcIikucmVtb3ZlQXR0cihcInN0eWxlXCIpO1xuICAgIGpRdWVyeShcIiNodG1sU2VhdG1hcElubmVyIC5mbC1odG1sXCIpLmFwcGVuZCgnPGRpdiBpZD1cImNvbnRhaW5lclNlYXRtYXBJbm5lclwiPjwvZGl2PicpO1xuICAgIGpRdWVyeShcIiNKU0NMZWdlbmRJbm5lclwiKS5yZW1vdmUoKTtcbiAgICBqUXVlcnkoXCIjSlNDTGVnZW5kIC5mbC1odG1sXCIpLmFwcGVuZCgnPGRpdiBpZD1cIkpTQ0xlZ2VuZElubmVyXCI+PC9kaXY+Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sTG9mdGxvYWRlcihpblN3aXRjaDogc3RyaW5nKSB7XG4gICAgaWYgKGluU3dpdGNoID09PSBcInNob3dcIilcbiAgICAgICAgalF1ZXJ5KFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImxvYWRlZCBsb2Z0bG9hZGVyLWxvYWRlZFwiKTtcbiAgICBlbHNlIGlmIChpblN3aXRjaCA9PT0gXCJoaWRlXCIpXG4gICAgICAgIGpRdWVyeShcImJvZHlcIikuYWRkQ2xhc3MoXCJsb2FkZWQgbG9mdGxvYWRlci1sb2FkZWRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VWZW51ZUltYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcblxuICAgIGlmIChpbnB1dHNXaXRoVmFsdWUudmVudWVJbWFnZVNyYyAhPT0gdW5kZWZpbmVkKVxuICAgICAgICBqUXVlcnkoXCIjdmVudWVJbWFnZSBpbWdcIikuYXR0cihcInNyY1wiLCBpbnB1dHNXaXRoVmFsdWUudmVudWVJbWFnZVNyYyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWRlSW5DYXJ0TW9kYWwoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmZhZGVJbigzMDApO1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9oaWRlX2RpYWxvZ190aXRsZWJhclwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUHJpY2VzY2FsZUNTUygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZXNBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlc0Fyci5tYXAoYXJyID0+IHtcbiAgICAgICAgY29uc3QgSUQ6IHN0cmluZyA9IGFyci5pZFswXTtcbiAgICAgICAgbGV0IGNvbG9yOiBzdHJpbmcgPSBgIyR7YXJyLmNvbG9yWzBdfSAhaW1wb3J0YW50YDsgIC8vIFVwZGF0ZTogQ29sb3JzIGFyZSBhbHdheXMgZGVmaW5lZDogZmFsbGJhY2sgY29sb3JzIGV4aXN0IGluIHN5c3RlbSBzbyBldmVyeSBYTUwgcHJvdmlkZXMgdGhlbVxuICAgICAgICByZXR1cm4gYC5fJHtJRH0geyBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yfTsgfWA7XG4gICAgfSkuam9pbihcIlxcclxcblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkanVzdFVJVG9Mb2FkaW5nKCk6IHZvaWQge1xuICAgIENhcnRCdXR0b25zLnNob3dIaWRlQnRuQ2FydExvYWRpbmcoXCJzaG93XCIpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQgaVwiKS5oaWRlKCk7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5hZGRDbGFzcyhcImRvdC1wdWxzZVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFZlcnNpb24oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2JvdHRvbUhUTUxWZXJzaW9uXCIpWzBdLmlubmVyVGV4dCA9IGNvbmZpZy52ZXJzaW9uO1xuICAgIGpRdWVyeShcIiNib3R0b21IVE1MQnJhbmNoXCIpWzBdLmlubmVyVGV4dCA9IGAoJHtjb25maWcuYnJhbmNofSlgO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXRpbHMge1xuXG4gICAgc3RhdGljIHdhaXRGb3JFbGVtZW50KGluU2VsZWN0b3I6IHN0cmluZyB8IENhbGxhYmxlRnVuY3Rpb24sIGluQ2FsbGJhY2s6IEZ1bmN0aW9uLCBpblN3aXRjaDogSS5UeXBlV2FpdEZvckVsZW1lbnRTd2l0Y2ggPSBcInNlbGVjdG9yXCIsIGluQ2hlY2tJbnRlcnZhbEluTXM6IG51bWJlciA9IDEwMDAsIGluVGltZW91dEluTXM6IG51bWJlciA9IDEwMDAwKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZUluTXM6IG51bWJlciA9IERhdGUubm93KCk7XG5cbiAgICAgICAgKGZ1bmN0aW9uIGxvb3BTZWFyY2goKTogdm9pZCB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50OiBib29sZWFuIHwgSFRNTEVsZW1lbnQgPSBpblN3aXRjaCA9PT0gXCJzZWxlY3RvclwiID8galF1ZXJ5KDxzdHJpbmc+aW5TZWxlY3RvcikuZ2V0KDApIDogVXRpbHMuZ2V0U2VhdG1hcEVsZW1lbnQoKTtcblxuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBVdGlscy5jb25zb2xlTG9nKFwicmVhZHlcIik7XG4gICAgICAgICAgICAgICAgaW5DYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhgUmVwZWF0aW5nIGZvciAke2luU3dpdGNofWApO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5UaW1lb3V0SW5NcyAmJiBEYXRlLm5vdygpIC0gc3RhcnRUaW1lSW5NcyA+IGluVGltZW91dEluTXMpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgbG9vcFNlYXJjaCgpO1xuICAgICAgICAgICAgICAgIH0sIGluQ2hlY2tJbnRlcnZhbEluTXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRTZWF0bWFwRWxlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2VhdENoYXJ0czogQ2FsbGFibGVGdW5jdGlvbiA9ICg8YW55PndpbmRvdykualF1ZXJ5KFwiI2NvbnRhaW5lclNlYXRtYXBcIikuc2VhdENoYXJ0cztcbiAgICAgICAgcmV0dXJuIFV0aWxzLmlzRnVuY3Rpb24oc2VhdENoYXJ0cyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHdhaXRGb3JTZWF0bWFwKGluQ2FsbGJhY2s6IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlYXRDaGFydHM6IENhbGxhYmxlRnVuY3Rpb24gPSAoPGFueT53aW5kb3cpLmpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwXCIpLnNlYXRDaGFydHM7XG4gICAgICAgIHRoaXMud2FpdEZvckVsZW1lbnQoc2VhdENoYXJ0cywgaW5DYWxsYmFjaywgXCJzZWF0bWFwXCIpO1xuICAgIH1cblxuICAgIHN0YXRpYyBxdWVyeVNlbGVjdG9yKHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpICE9IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc0Z1bmN0aW9uKGluU2VsZWN0b3I6IENhbGxhYmxlRnVuY3Rpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpblNlbGVjdG9yID09PSBcImZ1bmN0aW9uXCIgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGluamVjdChpbkNvbnRlbnQ6IHN0cmluZywgaW5UeXBlOiBzdHJpbmcgPSBcImpzXCIsIGluTG9jOiBzdHJpbmcgPSBcImhlYWRcIik6IHZvaWQge1xuICAgICAgICB2YXIgc2NyaXB0OiBJLlR5cGVJbmplY3RTY3JpcHQgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgc3dpdGNoIChpblR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJqc1wiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnNyYyA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcImNzc1wiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgICAgICAgICAgKDxIVE1MTGlua0VsZW1lbnQ+c2NyaXB0KS5yZWwgPSBcInN0eWxlc2hlZXRcIjtcbiAgICAgICAgICAgICAgICAoPEhUTUxMaW5rRWxlbWVudD5zY3JpcHQpLmhyZWYgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJjc3NDdXN0b21cIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgICAgICBzY3JpcHQuaW5uZXJIVE1MID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwic2NyaXB0XCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICAgICAgICBzY3JpcHQuaW5uZXJIVE1MID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzY3JpcHQpXG4gICAgICAgICAgICBVdGlscy5hcHBlbmRTY3JpcHQoc2NyaXB0LCBpbkxvYyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGVuZFNjcmlwdChpblNjcmlwdDogSS5UeXBlSW5qZWN0U2NyaXB0LCBpbkxvYzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChpbkxvYyA9PT0gXCJib2R5XCIpXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGluU2NyaXB0KTtcbiAgICAgICAgZWxzZSBpZiAoaW5Mb2MgPT09IFwiaGVhZFwiKVxuICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpblNjcmlwdCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldERheU5hbWUoaW5EYXRlOiBEYXRlLCBpbkxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGluRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoaW5Mb2NhbGUsIHsgd2Vla2RheTogJ2xvbmcnIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBjb25zb2xlTG9nKGluTWVzc2FnZTogYW55KSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudltcIk5PREVfRU5WXCJdID09PSBcImRldmVsb3BtZW50XCIpXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhpbk1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRDb25maWdWYWx1ZShpblByb3BlcnR5OiBJLlR5cGVDb25maWdSZXNvdXJjZXNQcm9wZXJ0eSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJyYW5jaDogSS5UeXBlQ29uZmlnQnJhbmNoID0gY29uZmlnLmJyYW5jaDtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gY29uZmlnLnJlc291cmNlc1ticmFuY2hdO1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VzW2luUHJvcGVydHldO1xuICAgIH1cbn0iLCJcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NTTUFQKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuXG4gICAgaWYgKCFpbnB1dHNXaXRoVmFsdWUuc21hcClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3Qgc21hcEFycjogbnVtYmVyW10gPSBpbnB1dHNXaXRoVmFsdWUuc21hcC5zcGxpdChcIlwiKS5tYXAoTnVtYmVyKTtcblxuICAgIGlmICghc21hcEFyclswXSlcbiAgICAgICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0NhcGFjaXR5XCIpLmhpZGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3Rpb25EZXNjQnlTZWN0aW9uSUQoaW5TZWN0aW9uSUQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3Qgc2VjdGlvbkFycjogSS5TZWN0aW9uW10gPSB2ZW51ZVhNTC5tYXN0ZXJfY29uZmlnWzBdLnNlY3Rpb25fY29uZmlnWzBdLnNlY3Rpb247XG5cbiAgICByZXR1cm4gc2VjdGlvbkFyci5maW5kKGFyciA9PiBpblNlY3Rpb25JRCA9PT0gYXJyLmlkWzBdKT8uZGVzY1swXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoaW5Qcm9wZXJ0eTogSS5QcmljZXNjYWxlMlByb3BlcnRpZXMsIGluUHJpY2VzY2FsZUlEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlMltdID0gdmVudWVYTUwudmVudWVbMF0ucHJpY2VzY2FsZXNbMF0ucHJpY2VzY2FsZTtcblxuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpblByaWNlc2NhbGVJRCA/IG9iaiA6IHVuZGVmaW5lZCk/LltpblByb3BlcnR5XVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGluQnV5ZXJUeXBlSUQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVCdXllclR5cGVBcnI6IEkuQnV5ZXJUeXBlMltdID0gdmVudWVYTUwudmVudWVbMF0uYnV5ZXJfdHlwZXNbMF0uYnV5ZXJfdHlwZTtcblxuICAgIHJldHVybiB2ZW51ZUJ1eWVyVHlwZUFyci5maW5kKGFyciA9PiBpbkJ1eWVyVHlwZUlEID09PSBhcnIuaWRbMF0pPy5jb2RlWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpY2VCeUJ1eWVyVHlwZUlEKGluQnV5ZXJ0eXBlSUQ6IHN0cmluZywgaW5QcmljZXNjYWxlT2JqOiBJLlByaWNlc2NhbGU1KTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwcmljZSA9IGluUHJpY2VzY2FsZU9iaj8uYnV5ZXJfdHlwZS5maW5kKGFyciA9PiBhcnIuaWRbMF0gPT09IGluQnV5ZXJ0eXBlSUQpPy5wcmljZVswXTtcbiAgICByZXR1cm4gcHJpY2UgPyBwYXJzZUZsb2F0KHByaWNlKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlUHJpY2VTdHJ1Y3R1cmVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKGluSUQ6IHN0cmluZyk6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlNVtdID0gdmVudWVYTUwucHJpY2Vfc3RydWN0dXJlWzBdLnByaWNlc2NhbGU7XG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluSUQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnV5ZXJUeXBlc0J5UHJpY2VzY2FsZUlEKGluUHJpY2VzY2FsZUlEOiBzdHJpbmcpOiBJLlR5cGVCdXllclR5cGVBcnJbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYnV5ZXJUeXBlc0FycjogSS5CdXllclR5cGUzW10gfCB1bmRlZmluZWQgPSBmaW5kQnV5ZXJUeXBlc0FyckJ5UHJpY2VzY2FsZUlEKGluUHJpY2VzY2FsZUlEKTtcbiAgICByZXR1cm4gYnV5ZXJUeXBlc0FyciA/IGJ1eWVyVHlwZXNBcnIubWFwKGFyciA9PiBbYXJyLmlkWzBdLCBhcnIucHJpY2VbMF0sIGdldEJ1eWVyVHlwZURlc2MoYXJyKV0pIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RlZFNlYXRJbmRleGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5tYXAoYXJyID0+IGFyci5qb2luKFwiLFwiKSkpLmpvaW4oXCJ8XCIpO1xufVxuXG5mdW5jdGlvbiBmaW5kQnV5ZXJUeXBlc0FyckJ5UHJpY2VzY2FsZUlEKGluUHJpY2VzY2FsZUlEOiBzdHJpbmcpOiBJLkJ1eWVyVHlwZTNbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGU1W10gPSB2ZW51ZVhNTC5wcmljZV9zdHJ1Y3R1cmVbMF0ucHJpY2VzY2FsZTtcblxuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpblByaWNlc2NhbGVJRCk/LmJ1eWVyX3R5cGU7XG59XG5cbmZ1bmN0aW9uIGdldEJ1eWVyVHlwZURlc2MoaW5BcnI6IEkuQnV5ZXJUeXBlMyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgYnV5ZXJUeXBlQXJyOiBJLkJ1eWVyVHlwZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLmJ1eWVyX3R5cGVzWzBdLmJ1eWVyX3R5cGU7XG5cbiAgICByZXR1cm4gYnV5ZXJUeXBlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5BcnIuaWRbMF0gPyBvYmouZGVzY1swXSA6IHVuZGVmaW5lZCk/LmRlc2NbMF07XG59IiwiaW1wb3J0IGpRdWVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG5pbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL21vZHVsZXMvY29tbXVuaWNhdGlvblwiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vbW9kdWxlcy9jb25maWdcIjtcbmltcG9ydCBVdGlscyBmcm9tIFwiLi9tb2R1bGVzL3V0aWxzXCI7XG5pbXBvcnQgKiBhcyBFdmVudHMgZnJvbSBcIi4vbW9kdWxlcy9ldmVudHNcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vbW9kdWxlcy9jYXJ0XCI7XG5pbXBvcnQgKiBhcyBCb29raW5nQnRuIGZyb20gXCIuL21vZHVsZXMvYm9va2luZ0J1dHRvblwiO1xuaW1wb3J0ICogYXMgQ2hpbGQgZnJvbSAnLi9tb2R1bGVzL2NoaWxkJztcbmltcG9ydCAqIGFzIFVJIGZyb20gXCIuL21vZHVsZXMvdWlcIjtcbnJlcXVpcmUoXCIuLi9zcmMvY3NzL3NlYXRtYXAuY3NzXCIpO1xuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAvLyBJbmplY3QgSlNDIChqUXVlcnkgU2VhdCBDaGFydHMpXG4gICAgLy8gSW5qZWN0IENTUyBmb3IgSlNDLCBjaGlsZCBhbmQgalF1ZXJ5IGRpYWxvZ1xuICAgIENoaWxkLmluamVjdFJlc291cmNlcygpO1xuXG4gICAgLy8gU3RhcnQgbWVzc2FnZSBoYW5kbGVyIHRvIGJlIGFibGUgdG8gcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIHBhcmVudFxuICAgIENvbW11bmljYXRpb24ubGlzdGVuVG9NZXNzYWdlcyhtZXNzYWdlSGFuZGxlcik7XG5cbiAgICAvLyBEaXYgd2l0aCBJRCBcImNvbnRhaW5lclNlYXRtYXBcIiBpcyBub3QgeWV0IHJlYWR5LCB3YWl0IGZvciBpdCwgdGhlbiBkaXNwbGF5IHNlYXRtYXAgYnV0dG9uIG9uIHRyeHN0YXRlIDIwXG4gICAgVXRpbHMud2FpdEZvclNlYXRtYXAoQm9va2luZ0J0bi5zaG93U2VhdG1hcEJ0blBhcmVudCk7XG5cbiAgICAvLyBNb2RhbCBvdmVybGF5IGZvciBjYXJ0IGlzIG5vdCB5ZXQgcmVhZHksIHdhaXQgZm9yIGl0LCB0aGVuIGluaXRpYWxpemVcbiAgICBVdGlscy53YWl0Rm9yRWxlbWVudChcIiNtb2RhbENhcnQtb3ZlcmxheVwiLCBDYXJ0LmluaXRNb2RhbENhcnQpO1xuXG4gICAgLy8gQWRkIGV2ZW50IGxpc3RlbmVyc1xuICAgIEV2ZW50cy5hZGRDbG9zZU1vZGFsKCk7XG4gICAgRXZlbnRzLmFkZE1vZGFsQ2FydCgpO1xuICAgIEV2ZW50cy5hZGREcm9wZG93blNlYXRtYXAoKTtcblxuICAgIC8vIENoYW5nZSB2ZXJzaW9uIGNvbmZpZ3VyZWQgaW4gY29uZmlnXG4gICAgVUkuYXBwZW5kVmVyc2lvbigpO1xufSk7XG5cbi8vIEhpZGUgaGVhZGVyIHdoZW4gaGVpZ2h0IG9mIHdpbmRvdyBpcyBzbWFsbGVyIHRoYW4gLi4uXG4vLyBOb3RlOiBDYW5ub3QgZGV0ZXJtaW5lIHdpZHRoIG9mIGlubmVyIGlmcmFtZSwgdGhlcmVmb3JlIG5lZWQgdG8gdXNlIHdpbmRvdy5pbm5lckhlaWdodFxud2luZG93Lm9ucmVzaXplID0gZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHBhbnpvb20gPSBjb25maWcuc3RhdGUucGFuem9vbTtcbiAgICBjb25zdCBpbm5lckhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgIGlmIChpbm5lckhlaWdodCA8IDU3Nikge1xuICAgICAgICBqUXVlcnkoXCIjY29udGFpbmVyRXZlbnRJbmZvUm93XCIpLmhpZGUoKTtcbiAgICAgICAgcGFuem9vbT8ucmVzZXQoKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5uZXJIZWlnaHQgPj0gNTc2KSB7XG4gICAgICAgIGpRdWVyeShcIiNjb250YWluZXJFdmVudEluZm9Sb3dcIikuc2hvdygpO1xuICAgICAgICBwYW56b29tPy5yZXNldCgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXIoaW5FOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIChpbkUuZGF0YSkgIT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coYGNoaWxkOiByZWNlaXZlZCBmcm9tICR7ZGF0YS5mcm9tfWApO1xuICAgIFV0aWxzLmNvbnNvbGVMb2coZGF0YSk7XG5cbiAgICBzd2l0Y2ggKGRhdGEuZXZlbnQpIHtcbiAgICAgICAgY2FzZSBcInBhcmVudF9pbml0X3ZlbnVlXCI6IHtcbiAgICAgICAgICAgIENoaWxkLmluaXRWZW51ZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcInBhcmVudF9pbml0X3NlbmRWZW51ZVhNTFwiOiB7XG4gICAgICAgICAgICBDaGlsZC5pbml0U2VuZFZlbnVlWE1MKGluRSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwicGFyZW50X2luaXRfc2VuZElucHV0c1dpdGhWYWx1ZVwiOiB7XG4gICAgICAgICAgICBDaGlsZC5pbml0U2VuZElucHV0c1dpdGhWYWx1ZShpbkUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcInBhcmVudF9zZW5kU2VhdG1hcFhNTFwiOiB7XG4gICAgICAgICAgICBDaGlsZC5zZW5kU2VhdG1hcFhNTChpbkUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcInBhcmVudF9zZW5kQ2hlY2tvdXRSZXNwb25zZVwiOiB7ICAgICAgICAgXG4gICAgICAgICAgICBDaGlsZC5zZW5kQ2hlY2tvdXRSZXNwb25zZShpbkUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbn0iXX0=
|