Files
seatmapv2/client/dist/seatmap.js

376 lines
1.8 MiB
Raw Blame History

(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){
"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;
},{}],2:[function(require,module,exports){
},{}],3:[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":1,"buffer":3,"ieee754":5}],4:[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):[]};
},{}],5:[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};
},{}],6:[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}};
},{}],7:[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&&currentQueue&&(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&&currentQueue[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};
},{}],8:[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":3}],9:[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":4,"inherits":6,"readable-stream/lib/_stream_duplex.js":11,"readable-stream/lib/_stream_passthrough.js":12,"readable-stream/lib/_stream_readable.js":13,"readable-stream/lib/_stream_transform.js":14,"readable-stream/lib/_stream_writable.js":15,"readable-stream/lib/internal/streams/end-of-stream.js":19,"readable-stream/lib/internal/streams/pipeline.js":21}],10:[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;
},{}],11:[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":13,"./_stream_writable":15,"_process":7,"inherits":6}],12:[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":14,"inherits":6}],13:[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":10,"./_stream_duplex":11,"./internal/streams/async_iterator":16,"./internal/streams/buffer_list":17,"./internal/streams/destroy":18,"./internal/streams/from":20,"./internal/streams/state":22,"./internal/streams/stream":23,"_process":7,"buffer":3,"events":4,"inherits":6,"string_decoder/":24,"util":2}],14:[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":10,"./_stream_duplex":11,"inherits":6}],15:[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":10,"./_stream_duplex":11,"./internal/streams/destroy":18,"./internal/streams/state":22,"./internal/streams/stream":23,"_process":7,"buffer":3,"inherits":6,"util-deprecate":26}],16:[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":19,"_process":7}],17:[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":3,"util":2}],18:[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":7}],19:[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":10}],20:[function(require,module,exports){
module.exports=function(){throw new Error("Readable.from is not available in the browser")};
},{}],21:[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":10,"./end-of-stream":19}],22:[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":10}],23:[function(require,module,exports){
module.exports=require("events").EventEmitter;
},{"events":4}],24:[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":8}],25:[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":7,"timers":25}],26:[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 : {})
},{}],27:[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});
},{}],28:[function(require,module,exports){
module.exports=require("./lib/axios");
},{"./lib/axios":30}],29:[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":36,"../core/createError":37,"./../core/settle":41,"./../helpers/buildURL":45,"./../helpers/cookies":47,"./../helpers/isURLSameOrigin":50,"./../helpers/parseHeaders":52,"./../utils":54}],30:[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":31,"./cancel/CancelToken":32,"./cancel/isCancel":33,"./core/Axios":34,"./core/mergeConfig":40,"./defaults":43,"./helpers/bind":44,"./helpers/isAxiosError":49,"./helpers/spread":53,"./utils":54}],31:[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;
},{}],32:[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":31}],33:[function(require,module,exports){
"use strict";module.exports=function(t){return!(!t||!t.__CANCEL__)};
},{}],34:[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":45,"./../utils":54,"./InterceptorManager":35,"./dispatchRequest":38,"./mergeConfig":40}],35:[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":54}],36:[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":46,"../helpers/isAbsoluteURL":48}],37:[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":39}],38:[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":33,"../defaults":43,"./../utils":54,"./transformData":42}],39:[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};
},{}],40:[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":54}],41:[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":37}],42:[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":54}],43:[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":29,"./adapters/xhr":29,"./helpers/normalizeHeaderName":51,"./utils":54,"_process":7}],44:[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)}};
},{}],45:[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":54}],46:[function(require,module,exports){
"use strict";module.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e};
},{}],47:[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":54}],48:[function(require,module,exports){
"use strict";module.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)};
},{}],49:[function(require,module,exports){
"use strict";module.exports=function(o){return"object"==typeof o&&!0===o.isAxiosError};
},{}],50:[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":54}],51:[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":54}],52:[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":54}],53:[function(require,module,exports){
"use strict";module.exports=function(n){return function(t){return n.apply(null,t)}};
},{}],54:[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":44}],55:[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":56}],56:[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});
},{}],57:[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":3,"stream":9,"string_decoder":24}],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":4,"sax":57,"timers":25}],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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#xD;"))},n.prototype.attEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;"))},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":28,"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":55}],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":27}],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":56}],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([["&#x8e","Ä"],["&#x99","Ö"],["&#x9a","Ü"],["&#x84","ä"],["&#x94","ö"],["&#x81","ü"],["&#xe1","ß"]]);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,r,c){void 0===o&&(o="selector"),void 0===r&&(r=1e3),void 0===c&&(c=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(){c&&Date.now()-a>c||i()},r))}()},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 r;switch(void 0===n&&(n="js"),void 0===o&&(o="head"),n){case"js":(r=document.createElement("script")).type="text/javascript",r.src=t;break;case"css":(r=document.createElement("link")).type="text/css",r.rel="stylesheet",r.href=t;break;case"cssCustom":(r=document.createElement("style")).type="text/css",r.innerHTML=t;break;case"script":(r=document.createElement("script")).type="text/javascript",r.innerHTML=t;break;default:r=void 0}r&&e.appendScript(r,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){0},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":56}]},{},[115])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvYmFzZTY0LWpzL2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcmVzb2x2ZS9lbXB0eS5qcyIsIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qcyIsIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9pZWVlNzU0L2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L2luZGV4LmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyIsIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvci5qcyIsIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qcyIsIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9mcm9tLWJyb3dzZXIuanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyIsIi4uLy4uLy4uLy4uLy4uLy5udm0vdmVyc2lvbnMvbm9kZS92MTIuMjAuMC9saWIvbm9kZV9tb2R1bGVzL3dhdGNoaWZ5L25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzIiwiLi4vLi4vLi4vLi4vLi4vLm52bS92ZXJzaW9ucy9ub2RlL3YxMi4yMC4wL2xpYi9ub2RlX21vZHVsZXMvd2F0Y2hpZnkvbm9kZV9tb2R1bGVzL3RpbWVycy1icm93c2VyaWZ5L21haW4uanMiLCIuLi8uLi8uLi8uLi8uLi8ubnZtL3ZlcnNpb25zL25vZGUvdjEyLjIwLjAvbGliL25vZGVfbW9kdWxlcy93YXRjaGlmeS9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9AcGFuem9vbS9wYW56b29tL2Rpc3QvcGFuem9vbS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvYWRhcHRlcnMveGhyLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9heGlvcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbFRva2VuLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvSW50ZXJjZXB0b3JNYW5hZ2VyLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2J1aWxkRnVsbFBhdGguanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvY3JlYXRlRXJyb3IuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZGlzcGF0Y2hSZXF1ZXN0LmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2VuaGFuY2VFcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9zZXR0bGUuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvdHJhbnNmb3JtRGF0YS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvZGVmYXVsdHMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYmluZC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb21iaW5lVVJMcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb29raWVzLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQWJzb2x1dGVVUkwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBeGlvc0Vycm9yLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpbi5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9ub3JtYWxpemVIZWFkZXJOYW1lLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3BhcnNlSGVhZGVycy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzIiwibm9kZV9tb2R1bGVzL2pib3gvZGlzdC9qQm94LmFsbC5taW4uanMiLCJub2RlX21vZHVsZXMvanF1ZXJ5L2Rpc3QvanF1ZXJ5LmpzIiwibm9kZV9tb2R1bGVzL3NheC9saWIvc2F4LmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYm9tLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYnVpbGRlci5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcGFyc2VyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcHJvY2Vzc29ycy5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL3htbDJqcy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9Eb2N1bWVudFBvc2l0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL05vZGVUeXBlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1V0aWxpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvV3JpdGVyU3RhdGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQXR0cmlidXRlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENEYXRhLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENoYXJhY3RlckRhdGEuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ29tbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01Db25maWd1cmF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUVycm9ySGFuZGxlci5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01JbXBsZW1lbnRhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01TdHJpbmdMaXN0LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERUREF0dExpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRERWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVERFbnRpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRETm90YXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRGVjbGFyYXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRG9jVHlwZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudENCLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTER1bW15LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTEVsZW1lbnQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTmFtZWROb2RlTWFwLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTE5vZGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTm9kZUxpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFJhdy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxTdHJlYW1Xcml0ZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MU3RyaW5nV3JpdGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFN0cmluZ2lmaWVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFRleHQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MV3JpdGVyQmFzZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9pbmRleC5qcyIsInNyYy9jc3Mvc2VhdG1hcC5jc3MiLCJzcmMvbW9kdWxlcy9ib29raW5nQnV0dG9uLnRzIiwic3JjL21vZHVsZXMvY2FydC50cyIsInNyYy9tb2R1bGVzL2NhcnRCdXR0b25zLnRzIiwic3JjL21vZHVsZXMvY2hpbGQudHMiLCJzcmMvbW9kdWxlcy9jb21tdW5pY2F0aW9uLnRzIiwic3JjL21vZHVsZXMvY29uZmlnLnRzIiwic3JjL21vZHVsZXMvZXZlbnRzLnRzIiwic3JjL21vZHVsZXMvakJveEhlbHBlci50cyIsInNyYy9tb2R1bGVzL2pzYy50cyIsInNyYy9tb2R1bGVzL2xlZ2VuZC50cyIsInNyYy9tb2R1bGVzL3Bhbnpvb20udHMiLCJzcmMvbW9kdWxlcy9wYXJzZXIudHMiLCJzcmMvbW9kdWxlcy9zdGF0ZS50cyIsInNyYy9tb2R1bGVzL3RyaW1zLnRzIiwic3JjL21vZHVsZXMvdWkudHMiLCJzcmMvbW9kdWxlcy91dGlscy50cyIsInNyYy9tb2R1bGVzL3htbGhlbHBlci50cyIsInNyYy9zZWF0bWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0EsdXVCQ0ZBLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBRUEsU0FBZ0IsbUJBQ1osT0FBTyx1QkFBdUIsU0FDOUIsc0JBQ0EsdUJBR0osU0FBZ0IsdUJBQ1osY0FBYyxrQkFBa0IsdUJBR3BDLFNBQVMsdUJBQ0wsT0FBTywwQkFBMEIsT0FBTywrUkFZNUMsU0FBUyxzQkFDTCxPQUFPLDBCQUEwQixJQUFJLENBQ2pDLFFBQVcsUUFDWCxTQUFZLFdBQ1osTUFBUyxTQTNCakIsUUFBQSxpQkFBQSxpQkFNQSxRQUFBLHFCQUFBOzs7KzFCQ1JBLElBQUEsVUFBQSxhQUFBLFFBQUEsZ0JBQ0EsU0FBQSxRQUFBLFlBRUEsT0FBQSxhQUFBLFFBQUEsYUFDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixRQUFRLEdBQ3BCLElBQU0sRUFBZ0IsSUFBSSxVQUFVLHlDQUF5QyxRQUFTLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDM0csRUFBK0IsVUFBVSx5Q0FBeUMsT0FBUSxFQUFVLEtBQUssU0FBUyxHQUFHLElBQ3JILEVBQWUsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFVLElBQUksR0FDckQsRUFBYyxTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUNwRCxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUUxRCxFQURrQyxVQUFVLDBCQUEwQixHQUMxQixjQUFjLEVBQUcsVUFBVSxFQUN2RSxFQUE4QixVQUFVLDRCQUE0QixFQUFVLEtBQUssU0FBUyxHQUFHLElBQy9GLEVBQWlCLFlBQVksRUFBVSxHQUN2QyxFQUFxQyxJQUFJLEVBQU0sdUJBRXJELFdBQVcsRUFBUSxFQUFPLEVBQVUsR0FDcEMsNEJBQTRCLEVBQVksR0FDeEMsT0FBTywwQkFBMEIsRUFBNEIsR0FHakUsU0FBZ0Isa0JBQ1osT0FBTywyQkFBMkIsS0FBSyxXQUNuQyxLQUFLLFdBSWIsU0FBZ0IseUJBQXlCLEVBQTZCLEdBQ2xFLElBQU0sRUFBZ0IsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFVBQVUsU0FBQSxHQUMxRCxPQUFBLEVBQUksS0FBTyxFQUFVLEtBRXpCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUFPLEdBQUssRUFBUyxNQUNuRCxJQUFNLEVBQWdCLFVBQVUsOEJBQThCLEVBQVMsT0FFbkUsSUFDQSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsR0FBTyxHQUFLLEdBRTlDLG1CQUNBLFlBQVksaUJBRVosSUFBTSxFQUFNLHNCQUNaLE9BQU8sb0JBQW9CLEdBRy9CLFNBQWdCLG1CQUNaLE9BQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBS25DLFNBQUEsT0FBTyxNQUFNLGFBQWUsZ0JBQ3JCLFNBQUEsT0FBTyxNQUFNLGVBTGhCLFNBQUEsT0FBTyxNQUFNLGFBQWUsSUFDckIsS0FRZixTQUFnQixvQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUduQyxJQUFLLElBQU0sS0FBTyxTQUFBLE9BQU8sTUFBTSxpQkFBa0IsQ0FDN0MsR0FBSSxPQUFPLFVBQVUsZUFBZSxLQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFrQixHQUVwRSxRQURnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FNMUQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsT0FDN0IsT0FBTyxjQUNQLE9BQU8sZUFHWCxTQUFnQixzQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFuQyxDQUdBLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBQy9CLEVBQThCLFVBQVUsOEJBQzlDLE9BQVUsRUFBbUMsa0JBQUMsaUJBQWlCLEVBQWdCLGFBQVksUUFBUSxFQUFxQixJQUFDLDBCQUEwQixFQUFtQixpQkFHMUssU0FBUyxXQUFXLEVBQWtCLEVBQWlCLEVBQWdDLEdBQ25GLE9BQU8sMEJBQTBCLE9BQU8sbUNBQ1osRUFBUSxxRUFDd0IsRUFBTyxvREFDL0IsRUFBVSw0Q0FDZixFQUFTLHFHQU01QyxTQUFTLDRCQUE0QixFQUErQixHQUMzRCxHQUdMLEVBQWEsUUFBUSxTQUFBLEdBQ2IsRUFBSSxJQUNKLGFBQWEsRUFBWSxLQUlyQyxTQUFTLGFBQWEsRUFBb0IsR0FDdEMsSUFBTSxFQUFrQyxPQUFPLEdBQVksSUFBSSxHQUMzRCxFQUF5QixTQUFTLGNBQWMsVUFDcEQsRUFBSSxNQUFnQixFQUFNLEdBQzFCLEVBQUksVUFBZSxFQUFNLEdBQUUsS0FBSyxFQUFNLEdBQ3RDLEVBQW1CLFlBQVksR0FHbkMsU0FBUyxnQkFDTCxPQUFPLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixJQUFJLGNBQ3BDLE9BQU8sU0FBQyxFQUFNLEdBQVMsT0FBQSxFQUFPLElBQzlCLFFBQVEsR0FHakIsU0FBUyxhQUFhLEdBQ2xCLElBQU0sRUFBaUIsRUFBSSxHQUNqQixFQUFzQixFQUFJLEdBRTFCLEVBRGtDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUM1QixLQUFLLFNBQVMsR0FBRyxHQUNyRCxFQUEyQyxVQUFVLDZDQUE2QyxHQUV4RyxHQUFJLEVBQWUsQ0FDZixJQUFNLEVBQWdDLFVBQVUsc0JBQXNCLEVBQWEsR0FFbkYsR0FBSSxFQUNBLE9BQU8sRUFHZixPQUFPLEVBL0hmLFFBQUEsUUFBQSxRQWlCQSxRQUFBLGdCQUFBLGdCQU1BLFFBQUEseUJBQUEseUJBaUJBLFFBQUEsaUJBQUEsaUJBV0EsUUFBQSxrQkFBQSxrQkFZQSxRQUFBLGNBQUEsY0FNQSxRQUFBLG9CQUFBOzs7aUlDM0VBLElBQUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsaUJBQ1osT0FBTyxnQ0FBZ0MsR0FBRyxVQUFZLG9CQUN0RCxPQUFPLG9DQUFvQyxHQUFHLFlBQWMseUJBR2hFLFNBQVMsb0JBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDUyxJQUFmLEVBQXNCLEVBQVUsZ0JBQWdCLFNBQUEsT0FBTyxNQUFNLGFBQW9CLEVBQVUsaUJBQWlCLFNBQUEsT0FBTyxNQUFNLGFBRXpILHNCQUdmLFNBQVMseUJBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDTixVQUFVLEVBQVUsYUFBYSxTQUFBLE9BQU8sTUFBTSxhQUU5Qyx5QkFHZixTQUFnQix1QkFBdUIsR0FDbEIsU0FBYixHQUNBLE9BQU8sMkJBQTJCLElBQUksaUJBQWtCLFFBQ3hELE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsY0FFOUIsU0FBYixJQUNMLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFlBQVksYUFDbkQsT0FBTywyQkFBMkIsSUFBSSxpQkFBa0IsUUFoQ2hFLFFBQUEsZUFBQSxlQXVCQSxRQUFBLHVCQUFBOzs7czZCQ3pCQSxJQUFBLGNBQUEsYUFBQSxRQUFBLG9CQUNBLEdBQUEsYUFBQSxRQUFBLFNBQ0EsU0FBQSxRQUFBLFlBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBQ0EsT0FBQSxhQUFBLFFBQUEsYUFFQSxJQUFBLGFBQUEsUUFBQSxVQUNBLE9BQUEsYUFBQSxRQUFBLGFBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUNBLFFBQUEsYUFBQSxRQUFBLGNBQ0EsV0FBQSxhQUFBLFFBQUEsaUJBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixZQUNaLEdBQUcsa0JBQWtCLFFBQ3JCLGNBQWMsa0JBQWtCLGtDQUdwQyxTQUFnQixpQkFBaUIsR0FDN0IsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUN2QyxTQUFBLE9BQU8sTUFBTSxXQUFhLEVBQUssUUFBUSxhQUN2QyxJQUFNLEVBQVcsU0FBQSxPQUFPLE1BQU0sV0FHeEIsRUFBTSxHQUFHLHdCQUNmLFFBQUEsUUFBTSxPQUFPLEVBQUssWUFBYSxRQUcvQixJQUFNLEVBQVksT0FBTyxlQUN6QixHQUFHLGFBQWEsR0FHaEIsSUFBTSxFQUE4QixFQUFTLGVBQWUsR0FBRyxRQUMvRCxHQUFHLGdCQUFnQixFQUFnQixtQkFHbkMsSUFBTSxFQUFhLEVBQWUsR0FBRyxHQUFHLEdBQ3hDLE9BQU8sb0JBQW9CLElBQUksR0FDL0IsY0FBYyxlQUFlLEdBRTdCLFFBQUEsUUFBTSxXQUFXLEdBQ2pCLFFBQUEsUUFBTSxXQUFXLEdBR3JCLFNBQWdCLHdCQUF3QixHQUNwQyxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFJLE1BQ3ZDLFNBQUEsT0FBTyxNQUFNLGdCQUFrQixFQUFLLFFBQ3BDLEdBQUcsbUJBQ0gsY0FBYyxrQkFBa0IsMkJBSXBDLFNBQWdCLGVBQWUsR0FDM0IsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUN2QyxTQUFBLE9BQU8sTUFBTSxXQUFhLEVBQUssUUFBUSxhQUN2QyxJQUFNLEVBQWdCLElBQUksY0FDcEIsRUFBdUIsSUFBSSxnQkFDM0IsRUFBb0IsSUFBSSxXQUN4QixFQUFzQixJQUFJLGVBQWUsbUJBRS9DLElBQUksV0FBVyx5QkFBMEIsRUFBSyxFQUFZLEVBQU8sR0FDakUsSUFBSSxzQkFDSixJQUFJLG9CQUNKLE9BQU8sd0JBQXdCLGtCQUMvQixPQUFPLHVCQUF1QixtQkFDOUIsTUFBTSxXQUNOLFVBQVUsY0FDVixTQUFBLE9BQU8sTUFBTSxRQUFVLFFBQVEsV0FBVyx5QkFBMEIsaUJBQWtCLGtCQUFtQixxQkFDekcsR0FBRyxrQkFBa0IsUUFDckIsV0FBVyxxQkFHZixTQUFnQixxQkFBcUIsR0FDakMsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUt2QyxHQUpBLFNBQUEsT0FBTyxNQUFNLHFCQUF1QixFQUFLLFFBQVEscUJBRWpELFFBQUEsUUFBTSxXQUFXLEVBQUssU0FFakIsU0FBQSxPQUFPLE1BQU0scUJBSWIsQ0FDRCxLQUFLLGtCQUNMLEtBQUssb0JBQ0wsSUFBTSxFQUFNLEtBQUssc0JBQ2pCLE9BQU8sb0JBQW9CLEdBQzNCLEdBQUcsa0JBQ0gsWUFBWSx1QkFBdUIsYUFUbkMsV0FBVyxlQUFlLHdFQUMxQixZQUFZLHVCQUF1QixRQVd2QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEVBRy9CLFNBQWdCLGtCQUNaLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BQ3BDLEVBQVksU0FBQSxPQUFPLFVBQVUsR0FFbkMsUUFBQSxRQUFNLE9BQU8sRUFBVSxJQUFLLEtBQU0sUUFDbEMsUUFBQSxRQUFNLE9BQU8sRUFBVSxPQUFRLE1BQU8sUUFDdEMsUUFBQSxRQUFNLE9BQU8sRUFBVSxZQUFhLE1BQU8sUUFDM0MsUUFBQSxRQUFNLE9BQU8sRUFBVSxTQUFVLE1BQU8sUUF4RjVDLFFBQUEsVUFBQSxVQUtBLFFBQUEsaUJBQUEsaUJBMEJBLFFBQUEsd0JBQUEsd0JBUUEsUUFBQSxlQUFBLGVBb0JBLFFBQUEscUJBQUEscUJBc0JBLFFBQUEsZ0JBQUE7OzswOEJDaEdBLElBQUEsUUFBQSxnQkFBQSxRQUFBLFVBQ00sYUFBZSxRQUFRLFVBQVUsWUFDdkMsR0FBQSxhQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFDQSxLQUFBLGFBQUEsUUFBQSxXQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUdBLFNBQWdCLFlBQVksRUFBbUIsR0FDM0MsR0FBYSxXQUFULEVBQ0EsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFVLEdBQVMsU0FDakQsQ0FDRCxJQUFNLEVBQWEsU0FBUyxlQUFlLEdBRTdCLE9BQVYsR0FBMEMsT0FBeEIsRUFBTSxlQUN4QixFQUFNLGNBQWMsWUFBWSxLQUFLLFVBQVUsR0FBUyxNQUlwRSxTQUFnQixpQkFBaUIsR0FDN0IsT0FBTyxpQkFBaUIsVUFBVyxTQUFDLEdBQ2hDLEVBQVUsS0FJbEIsU0FBZ0IsUUFBUSxFQUFlLEVBQWMsRUFBaUIsRUFBZ0IsUUFBQSxJQUFBLElBQUEsRUFBaUIsS0FBSyxPQUN4RyxjQUFjLEdBQU8sS0FBSyxTQUFDLEdBT3ZCLFlBTjJCLENBQ3ZCLEtBQU0sRUFDTixLQUFNLEVBQ04sUUFBUyxFQUNULE1BQU8sR0FFVSxLQUVwQixNQUFNLFNBQVUsR0FDYixRQUFRLE1BQU0sS0FJMUIsU0FBZ0IsaUJBQWlCLEdBTzdCLFlBTjJCLENBQ3ZCLFFBQVMsS0FDVCxLQUFNLFNBQ04sTUFBTyxFQUNQLEtBQU0sS0FBSyxPQUVNLGlCQUd6QixTQUFnQixrQkFBa0IsR0FPOUIsWUFOMkIsQ0FDdkIsUUFBUyxLQUNULEtBQU0sUUFDTixNQUFPLEVBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQU8zQixZQU4yQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxRQUNOLE1BQU8sdUJBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQUczQixNQUFNLEVBQU8sQ0FDVCxTQUFVLFdBRVQsS0FBSyxXQUFNLE9BQUEsUUFBQSxRQUFNLFdBQWMsRUFBSyxlQUNwQyxNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBRzNDLFNBQWdCLHdCQUNaLE9BQU8sc0JBQXNCLE9BRXhCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUduQyxHQUFHLG9CQVlILFlBVDJCLENBQ3ZCLFFBQVMsQ0FDTCxJQUp3QixLQUFLLHVCQU1qQyxLQUFNLFFBQ04sTUFBTyw2QkFDUCxLQUFNLEtBQUssT0FHTSxXQUd6QixTQUFTLGNBQWMsR0FDbkIsT0FBTyxRQUFBLFFBQU0sSUFBSSxHQUNaLEtBQUssU0FBQyxHQUNILE9BQU8sSUFBSSxRQUFRLFNBQUMsRUFBYyxHQUM5QixJQUFNLEVBQStCLEVBQ1IsTUFBekIsRUFBYyxRQUE0RCwyQkFBMUMsRUFBYyxRQUFRLGlCQUN0RCxhQUFhLEVBQWMsS0FDdkIsQ0FBRSxlQUFlLEVBQU0sV0FBVyxFQUFNLFlBQVksR0FDcEQsU0FBQyxFQUFVLEdBQ0gsRUFDQSxFQUFPLEdBRVAsRUFBUSxTQUsvQixNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBOUczQyxRQUFBLFlBQUEsWUFXQSxRQUFBLGlCQUFBLGlCQU1BLFFBQUEsUUFBQSxRQWVBLFFBQUEsaUJBQUEsaUJBVUEsUUFBQSxrQkFBQSxrQkFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLHFCQUFBOzs7MEZDL0VhLFFBQUEsT0FBbUIsQ0FDNUIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFRLFVBQ1IsUUFBUyxRQUNULGlCQUFrQixHQUNsQixVQUFXLENBQ1AsT0FBUSxDQUNKLFFBQVMsK0JBQ1QsSUFBSyxpRkFDTCxTQUFVLGdEQUNWLE9BQVEsOEVBQ1IsVUFBVywrQ0FDWCxZQUFhLDhEQUNiLFFBQVMsc0RBRWIsUUFBUyxDQUNMLFFBQVMsdUNBQ1QsSUFBSyx5RkFDTCxTQUFVLHdEQUNWLE9BQVEsc0ZBQ1IsVUFBVyx1REFDWCxZQUFhLDhEQUNiLFFBQVMsK0RBR2pCLE1BQU8sQ0FDSCxhQUFjLEdBQ2QsYUFBYSxFQUNiLGlCQUFrQixHQUNsQixpQkFBa0IsR0FDbEIsV0FBWSxHQUNaLHNCQUFzQixFQUN0QixxQkFBaUIsRUFDakIsYUFBUyxFQUNULGFBQVMsRUFDVCxnQkFBWSxFQUNaLGdCQUFZOzs7bzVCQ3ZDcEIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUVBLElBQUEsYUFBQSxRQUFBLFVBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFdBQUEsYUFBQSxRQUFBLGlCQUVBLFNBQWdCLGdCQUNaLElBQU0sRUFBeUMsT0FBTyxrQkFBa0IsSUFBSSxHQUN4RSxHQUNBLEVBQWMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLHVCQUd0RixTQUFnQixxQkFDWixJQUFNLEVBQXNDLFNBQVMsZUFBZSxtQkFFaEUsR0FDQSxFQUFnQixpQkFBaUIsU0FBVSxXQUN2QyxHQUFHLGtCQUFrQixRQUNyQixHQUFHLHNCQUFzQiwwQkFDekIsY0FBYyxlQUFlLEtBQUssU0FLOUMsU0FBZ0IsZUFDWixJQUFNLEVBQW1DLE9BQU8sMkJBQTJCLElBQUksR0FFM0UsR0FDQSxFQUFRLGlCQUFpQixRQUFTLFdBQ3pCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUUxQixTQUFBLE9BQU8sTUFBTSxZQUNsQixjQUFjLHdCQUNSLFNBQUEsT0FBTyxNQUFNLGFBQWUsU0FBQSxPQUFPLE1BQU0scUJBQy9DLEdBQUcsa0JBQ0csU0FBQSxPQUFPLE1BQU0sYUFBZ0IsU0FBQSxPQUFPLE1BQU0sc0JBQ2hELFdBQVcsZUFBZSx3RUFOMUIsV0FBVyxlQUFlLGdEQVcxQyxTQUFnQixvQkFBb0IsR0FDaEMsR0FBSyxFQUFMLENBR0EsSUFBTSxFQUFjLE9BQU8sMkNBQTJDLElBQUksR0FDdEUsR0FDQSxFQUFZLGlCQUFpQixRQUFTLFdBQ2xDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxDQUNMLElBQUssR0FFVCxLQUFNLFFBQ04sTUFBTyx1QkFDUCxLQUFNLEtBQUssT0FFZixjQUFjLFlBQVksRUFBUyxhQUsvQyxTQUFnQixlQUNaLElBQU0sRUFBd0IsT0FBTyx1Q0FBdUMsSUFBSSxHQUM1RSxHQUNBLEVBQVMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLGdDQUdqRixTQUFnQixjQUNaLElBQU0sRUFBdUIsT0FBTyx5Q0FBeUMsSUFBSSxHQUM3RSxHQUNBLEVBQVEsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLE9BQU8sdUNBQXVDLFFBQVEsV0FHdEcsU0FBZ0IsdUJBQXVCLEdBQ25DLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUNFLE9BQU8sR0FBWSxJQUFJLEdBRTVDLGlCQUFpQixTQUFVLFdBQ3RDLElBQU0sRUFBZ0IsS0FBSyxNQUNyQixFQUFvQixLQUFLLEVBRS9CLE9BQU8sNEJBQTRCLEVBQVksRUFBTyxHQUV4QyxRQUFWLEdBQ0EsRUFBUSxLQUFLLGVBQWUsT0FBTyxhQUNuQyxJQUFJLHdCQUdKLEVBQVEsS0FBSyxhQUFhLE9BQU8sZUFDakMsSUFBSSx5QkFBeUIsR0FDN0IsSUFBSSx5QkFLaEIsU0FBZ0IsMEJBQTBCLEVBQW9CLEdBRTFELE9BQU8sR0FBWSxHQUFHLFNBQVUsV0FDNUIsS0FBSyx5QkFBeUIsS0FBTSxLQUk1QyxTQUFnQixpQkFDWixPQUFPLGdCQUFnQixHQUFHLFFBQVMsV0FDMUIsU0FBQSxPQUFPLGtCQUNSLGNBQWMsaUJBQWlCLHFCQUVuQyxPQUFPLGNBQWMsSUFBSSxXQUFZLFVBQ3JDLE9BQU8sa0JBQWtCLE9BQU8sVUF0R3hDLFFBQUEsY0FBQSxjQU1BLFFBQUEsbUJBQUEsbUJBWUEsUUFBQSxhQUFBLGFBaUJBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsYUFBQSxhQU1BLFFBQUEsWUFBQSxZQU1BLFFBQUEsdUJBQUEsdUJBc0JBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSxlQUFBOzs7aTBCQ3pHQSxJQUFBLE9BQUEsZ0JBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUVBLFNBQWdCLGVBQWUsRUFBbUIsUUFBQSxJQUFBLElBQUEsRUFBQSxLQUM5QyxJQUFJLE9BQUEsUUFBZ0IsU0FBVSxDQUMxQixTQUFVLENBQUUsRUFBRyxTQUFVLEVBQUcsT0FDNUIsT0FBUSxDQUFFLEVBQUcsRUFBRyxFQUFHLEtBQ25CLFFBQVMsRUFDVCxVQUFXLEVBQ1gsVUFBVyxDQUFFLEtBQU0sU0FBVSxNQUFPLFdBQ3BDLFlBQVksRUFDWixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsTUFBTyxNQUNQLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsSUFJMUIsU0FBZ0IscUJBQ1osSUFBSSxPQUFBLFFBQWlCLFVBQVcsQ0FDNUIsT0FBUSxPQUFPLG9CQUNmLE9BQVEsV0FDSixnQkFBZ0IsU0FLNUIsU0FBUyxnQkFBZ0IsR0FDckIsSUFBTSxFQUFpQixFQUFLLE9BQU8sR0FBRyxHQUNoQyxFQUFlLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUMvQyxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUM5QyxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FFcEQsRUFEa0MsVUFBVSwwQkFBMEIsR0FDL0IsY0FBYyxFQUFHLFVBQVUsRUFFeEUsRUFBSyxXQUFXLEdBdENwQixRQUFBLGVBQUEsZUFxQkEsUUFBQSxtQkFBQTs7OzRnQ0N4QkEsSUFBQSxTQUFBLFFBQUEsWUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLEtBQUEsYUFBQSxRQUFBLFdBQ0EsWUFBQSxhQUFBLFFBQUEsa0JBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsV0FDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ21CLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNwRixFQUErQixHQUVuQyxJQUFLLElBQUksS0FBTyxFQUFlLENBQzNCLElBQU0sRUFBd0IsQ0FDMUIsUUFBVyxJQUFJLEVBQWMsR0FBSyxHQUFHLEdBQ3JDLFNBQVksRUFBYyxJQUc5QixFQUR5QixPQUFPLGFBQWEsR0FBSyxTQUFTLElBQU0scUJBQ3BDLEVBR2pDLE9BQU8sRUFHWCxTQUFnQix5QkFBeUIsU0FDL0IsRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUc1QixFQUVKLFFBRnFDLEVBRk0sRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FFbkMsS0FBSyxTQUFBLEdBQ3RELE9BQU8sRUFBSSxHQUFHLEtBQU8sV0FDdkIsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBQUcsTUFBTSxLQUVsQixFQUFRLE9BQU8sRUFBVSxhQUc3QixTQUFnQixnQkFDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ00sUUFBUSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQ2xFLEVBQWlCLFNBQVMsRUFBTyxPQUFPLElBQ3hDLEVBQXNCLE1BQU0sS0FBSyxDQUFFLE9BQVEsR0FBVSxTQUFDLEdBQU0sTUFBQSxLQVdsRSxPQVZnQyxFQUFPLEtBQUssR0FBRyxJQUV2QyxRQUFRLFNBQUEsR0FDWixJQUFNLEVBQWdCLFNBQVMsRUFBUSxhQUFhLElBRzlDLEVBRG9CLGFBREMsRUFBUSxNQUFNLEdBQUcsTUFBTSxLQUNGLElBQ3BCLEdBQzVCLEVBQVUsR0FBUyxJQUdoQixFQUdYLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUEwQixFQUFXLFFBQVEsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUNsRSxFQUF1QixFQUFPLEtBQUssR0FBRyxJQUN0QyxFQUF1QyxFQUFXLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNsRixFQUFxQyxFQUFXLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FHckcsRUFBd0IsZ0JBQ3hCLFNBQVMsRUFBTyxPQUFPLElBQ3ZCLFNBQVMsRUFBTyxNQUFNLElBQ3RCLEtBSUosT0FEQSxFQUFZLG1CQUFtQixFQUFNLEVBQVcsRUFBZSxJQUM5QyxJQUFJLFNBQUEsR0FBVyxPQUFBLEVBQVEsS0FBSyxNQUdqRCxTQUFnQixlQUFlLEdBQzNCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBdUMsRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDbEYsRUFBc0MsRUFBUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRTdFLE1BQW9CLENBQ2hCLEtBQU0sT0FBTyxHQUNiLE1BQU8sa0JBQWtCLEVBQWUsSUFNaEQsU0FBZ0Isc0JBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQzVCLEVBQXFDLEVBQVcsUUFBUSxHQUFHLFdBQVcsR0FBRyxVQUFVLEdBQUcsYUFBYSxHQUV6RyxHQUF5RCxLQUFyRCxFQUFnQiw4QkFBOEIsR0FBVyxDQUN6RCxJQUFNLEVBQTJCLEVBQWdCLDhCQUE4QixHQUFHLE1BQU0sS0FDeEYsRUFBUSxPQUFPLEVBQWdCLGdCQUl2QyxTQUFnQixZQUFZLEVBQWtCLEdBQzFDLElBQUssSUFBSSxLQUFPLEVBQ1osR0FBSSxFQUFnQixHQUFLLEtBQUssR0FBRyxTQUFTLEdBQ3RDLE9BQU8sT0FBTyxhQUFhLEdBQUssU0FBUyxJQUFNLG9CQU0zRCxTQUFnQixhQUFhLEdBQ3pCLE9BQU8sRUFBVSxNQUFNLEtBQUssSUFBSSxTQUFDLEdBQVMsT0FBQSxFQUFLLFNBR25ELFNBQWdCLGdCQUFnQixFQUFtQixFQUFtQixHQUNsRSxPQUFPLE1BQU0sR0FBVyxLQUFLLE1BQU0sSUFBSSxXQUFNLE9BQUEsTUFBTSxHQUFXLEtBQUssS0FHdkUsU0FBZ0Isb0JBQ1osSUFBTSxFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQ2xDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFRLFNBQUEsR0FDbEMsSUFBTSxFQUFpQixFQUFJLEdBRXZCLEVBQVEsSUFBSSxJQUNaLEVBQVEsT0FBTyxFQUFRLGNBSW5DLFNBQWdCLFdBQVcsRUFBb0IsRUFBaUIsRUFBd0IsRUFBcUIsR0FDekcsSUFBTSxFQUE4QixPQUFRLE9BQU8sR0FFbkQsU0FBQSxPQUFPLE1BQU0sUUFBVSxFQUFpQixXQUFXLENBQy9DLE9BQVEsQ0FDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQU0sR0FFVixJQUFLLEVBQ0wsTUFBTyxFQUNQLE9BQVEsRUFDUixNQUFPLFdBQ0gsT0FBTyxZQUFZLFNBSy9CLFNBQVMsa0JBQWtCLEVBQXNDLEdBQzdELE9BQU8sRUFBYyxJQUFJLFNBQUMsRUFBSyxTQUNyQixFQUFhLEVBQUksR0FBRyxHQUkxQixNQUFPLENBSGtCLE9BQU8sYUFBYSxHQUFLLEdBQU8sb0JBR3ZDLGFBRitELFFBQWhELEVBQUEsRUFBbUIsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxJQUNyRCxLQUFLLEVBQWMsR0FBTyxVQUFVLE1BSy9FLFNBQVMsbUJBQW1CLEVBQXdCLEVBQXlCLEVBQXdDLEdBQ2pILElBQU0sRUFBeUIsRUFBa0IsMEJBQTBCLEdBQUcsTUFBTSxLQUM5RSxFQUEyQixFQUFrQiw4QkFBOEIsR0FBRyxNQUFNLEtBc0MxRixPQXBDQSxFQUFPLFFBQVEsU0FBQSxHQUNYLElBQU0sRUFBb0IsRUFDcEIsRUFBWSxTQUFTLEVBQUksYUFBYSxJQUFNLEVBQ3ZCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FFckMsUUFBUSxTQUFBLEdBQ2IsSUFJTSxFQUFvQixhQUpGLEdBY3hCLEdBQUssRUFBYSxTQUFTLEVBQVEsS0FBUSxFQUFlLFNBQVMsRUFBUSxJQUEzRSxDQUlBLElBQU0sRUFBWSxTQUFTLEVBQVEsSUFBTSxFQUNuQyxFQUErQixZQUFZLEVBQVEsR0FBSSxHQUV6RCxJQUNBLEVBQVksR0FBRyxHQUFRLEVBQVEsSUFBSSxFQUFRLEdBQUUsT0FJakQsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFRLElBQU0sT0FJdkMsRUFHWCxTQUFTLFlBQVksR0FDakIsTUFBMEIsYUFBdEIsRUFBVSxTQUNILG1CQUFtQixHQUVFLGFBQXZCLEVBQVUsU0FDUixvQkFBb0IsR0FFQSxlQUF0QixFQUFVLFNBQ1IsY0FHQSxFQUFVLFFBSXpCLFNBQVMsbUJBQW1CLEdBQ3hCLElBQU0sRUFBa0MsRUFBVSxTQUlsRCxPQUZBLFFBQUEsUUFBTSxXQUFXLEdBRWIsTUFBTSw0QkFBNEIsR0FDM0IsYUFFWCxNQUFNLGVBQWUsR0FDckIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBR1gsU0FBUyxvQkFBb0IsR0FDekIsSUFBTSxFQUFrQyxFQUFVLFNBS2xELE9BSkEsTUFBTSxvQkFBb0IsR0FDMUIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBaE9YLFFBQUEsU0FBQSxTQWlCQSxRQUFBLHlCQUFBLHlCQVlBLFFBQUEsY0FBQSxjQWtCQSxRQUFBLFlBQUEsWUFrQkEsUUFBQSxlQUFBLGVBY0EsUUFBQSxvQkFBQSxvQkFXQSxRQUFBLFlBQUEsWUFTQSxRQUFBLGFBQUEsYUFJQSxRQUFBLGdCQUFBLGdCQUlBLFFBQUEsa0JBQUEsa0JBVUEsUUFBQSxXQUFBOzs7YUM1SEEsU0FBZ0Isd0JBQXdCLEdBQ3BDLE9BQU8sNEJBQTRCLEtBQUssV0FDcEMsSUFBSSxFQUFvQyxPQUFPLFNBQVMsY0FBYyxXQUNqRSxhQUNHLE9BQU8sTUFBTSxRQUdyQixFQUFPLEtBQUssQ0FBRSxHQUFJLElBQ2xCLHdCQUF3QixHQUN4QixvQkFBb0IsS0FBTSxLQUlsQyxTQUFTLG9CQUFvQixFQUFzQixHQUMvQyxPQUFPLE1BQU8sR0FBUyxLQUFLLFdBQ3hCLElBQU0sRUFBb0IsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FDMUQsRUFBYyxFQUFVLFVBQVUsR0FDbEMsRUFBNkIsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFJLFVBRWhFLG1CQUFtQixFQUFVLEVBQVcsRUFBSyxLQUlyRCxTQUFTLG1CQUFtQixFQUFxQyxFQUFtQixFQUFhLEdBQzdGLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLEVBQUssTUFBUyxJQUFhLEtBQUssR0FDdkQsRUFBUyxPQUFPLEdBR3BCLFNBQVMsd0JBQXdCLEdBQzdCLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLFFBQVMsS0FBSyx3QkFDckMsRUFBTyxJQUFJLFFBQVMsV0FDcEIsRUFBUyxPQUFPLEdBR3BCLFNBQWdCLDRCQUE0QixFQUFvQixFQUFpQixHQUM3RSxJQUFJLEVBQWtCLFVBQ2xCLEVBQWdCLFVBRUosUUFBWixJQUNBLEVBQVEsUUFDUixFQUFVLE9BQU8sR0FBYSxJQUFJLHFCQUd0QyxPQUFPLEdBQVksSUFBSSxRQUFTLEdBQ2hDLE9BQU8sR0FBWSxJQUFJLG1CQUFvQixHQUMzQyxPQUFVLEVBQVUsd0JBQXdCLElBQUksUUFBUyxxSUEvQzdELFFBQUEsd0JBQUEsd0JBb0NBLFFBQUEsNEJBQUE7Ozs0TkNwQ0EsSUFBQSxVQUFBLGdCQUFBLFFBQUEscUJBRUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsV0FBVyxFQUFvQixFQUE2QyxFQUE4QyxRQUEzRixJQUFBLElBQUEsT0FBQSxRQUE2QyxJQUFBLElBQUEsT0FBQSxRQUE4QyxJQUFBLElBQUEsT0FBQSxHQUN0SSxJQUFNLEVBQXlCLE9BQU8sR0FBWSxJQUFJLEdBRXRELEdBQUksRUFBVyxDQUNYLElBQU0sRUFBeUIsVUFBQSxRQUFRLEVBQVcsQ0FDOUMsU0FBVSxFQUNWLFNBQVMsRUFDVCxTQUFVLFNBQ1YsV0FBWSxTQUloQixPQURBLGlCQUFpQixFQUFhLEVBQWMsRUFBZ0IsRUFBVSxjQUFnQixHQUMvRSxHQU1mLFNBQVMsaUJBQWlCLEVBQWlDLEVBQWtDLEVBQW9DLEVBQThCLEdBQ3RJLENBQ2pCLENBQUUsU0FBVSxFQUFhLGdCQUFpQixFQUFRLE9BQVEsS0FBTSxTQUNoRSxDQUFFLFNBQVUsRUFBYyxnQkFBaUIsRUFBUSxRQUFTLEtBQU0sU0FDbEUsQ0FBRSxTQUFVLEVBQWdCLGdCQUFpQixFQUFRLE1BQU8sS0FBTSxTQUNsRSxDQUFFLFlBQWEsRUFBaUIsZ0JBQWlCLEVBQVEsY0FBZSxLQUFNLFVBR3JFLElBQUksU0FBQSxHQUNiLEdBQUksRUFBTSxTQUFVLENBQ2hCLElBQU0sRUFBK0IsT0FBTyxFQUFNLFVBQVUsSUFBSSxHQUM1RCxHQUNBLEVBQUksaUJBQWlCLEVBQU0sS0FBTSxFQUFNLHNCQUV0QyxFQUFNLGFBQ1EsVUFBZixFQUFNLE1BQ04sRUFBTSxZQUFZLGlCQUFpQixFQUFNLEtBQU0sRUFBTSxtQkFLckUsU0FBZ0Isb0JBQW9CLFNBRVQsUUFBdkIsRUFEK0IsT0FBTyxHQUFZLElBQUksR0FDNUMscUJBQWEsSUFBQSxHQUFBLEVBQUUsb0JBQW9CLFFBQVMsU0FBQSxPQUFPLE1BQU0sUUFBUyxlQXpDaEYsUUFBQSxXQUFBLFdBdUNBLFFBQUEsb0JBQUE7OzswakJDMUNBLElBQUEsU0FBQSxRQUFBLFlBQ0ksT0FBUyxRQUFRLFVBQ3JCLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLG1CQUNaLElBQUksRUFBb0IsR0FLeEIsT0FKQSxPQUFPLGVBQWUsS0FBSyxXQUN2QixFQUFRLEtBQUssT0FBTyxNQUFNLFVBR3ZCLEVBQVEsS0FBSyxNQUd4QixTQUFnQixVQUFVLEdBQ3RCLElBQU0sRUFBcUIsT0FBTyxVQUFVLEdBQ3hDLEVBQW1CLEdBVXZCLE9BUkEsT0FBTyxHQUFZLEtBQUssU0FBUyxLQUFLLFdBQ2xDLElBQU0sRUFBZSxLQUFLLEtBQ3BCLEVBQWdCLEtBQUssTUFFYixLQUFWLElBQ0EsRUFBTyxHQUFRLEtBR2hCLEVBSVgsU0FBZ0IsbUJBQ1osR0FBSSxPQUFPLG1CQUFtQixPQUFRLENBQ2xDLElBQU0sRUFBK0IsT0FBTyxtQkFBbUIsR0FBRyxZQUVsRSxHQUFJLE1BQUEsT0FBYSxFQUFiLEVBQWUsT0FBTyxPQUV0QixNQUF5QixDQUNyQixjQUFpQixFQUNqQixxQkFIaUMsbUJBQW1CLEtBV3BFLFNBQWdCLG9CQUFvQixHQUNoQyxJQUFNLEVBQVEsRUFBVSxNQUFNLGlCQUFrQixHQUMxQyxFQUFXLEVBQVUsTUFBTSxvQkFBcUIsR0FDaEQsRUFBYSxFQUFVLE1BQU0sbUJBQW9CLEdBQ2pELEVBQW9CLG1CQUFtQixHQUN2QyxFQUFVLG1CQUFzQixFQUFVLFVBQVUsRUFBSyxhQUFhLEVBQVEsNkVBQzlFLEVBQWdCLG1CQUNoQixFQUF1QixFQUFrQixNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssTUFBTSxHQUFHLEdBQUcsS0FBSyxLQUFJLGtCQUU3RixNQUFrQixDQUNkLE1BQVMsRUFDVCxTQUFZLEVBQ1osV0FBYyxFQUNkLGtCQUFxQixFQUNyQixRQUFXLEVBQ1gsY0FBaUIsRUFDakIsa0JBQXFCLEdBSTdCLFNBQWdCLGdCQUNaLElBQU0sRUFBd0IsT0FBTyx5QkFBeUIsSUFBSSxHQUVsRSxHQUFJLEVBQ0EsTUFBc0IsQ0FDbEIsY0FBZSxFQUFJLElBQ25CLGlCQUFrQixFQUFJLE9BQ3RCLGdCQUFpQixFQUFJLE9BT2pDLFNBQWdCLFVBQ1osR0FBSyxPQUFPLG9CQUFvQixPQUFoQyxDQUdBLElBRU0sRUFGYyxPQUFPLHNCQUFzQixLQUFLLFdBRVgsTUFEaEMsNEJBR1gsT0FBTyxFQUFRLEVBQU0sUUFBSyxHQUc5QixTQUFnQixlQUNaLElBQU0sRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBMkIsRUFBUyxjQUFjLEdBQUcsa0JBQWtCLEdBQUcsUUFDMUUsRUFBb0IsRUFBUyxNQUFNLEdBQ25DLEVBQWlCLEVBQVMsTUFBTSxHQUNoQyxFQUE4QixFQUFTLGFBQWEsR0FDcEQsRUFBZ0IsSUFBSSxLQUFLLFNBQVMsRUFBTSxLQUFLLElBQUssU0FBUyxFQUFNLE1BQU0sSUFBTSxFQUFHLFNBQVMsRUFBTSxJQUFJLElBQUssU0FBUyxFQUFNLEtBQUssSUFBSyxTQUFTLEVBQU0sT0FBTyxLQUN2SixFQUFrQixDQUFDLEVBQVEsZUFBZSxDQUFDLFNBQVUsQ0FBRSxRQUFTLE9BQVEsSUFBSyxVQUFXLE1BQU8sVUFBVyxLQUFNLFVBQVcsS0FBTSxVQUFXLE9BQVEsVUFBVyxhQUFjLFdBQzdLLEVBQW9CLENBQUMsUUFBQSxRQUFNLFdBQVcsRUFBUyxVQUMvQyxFQUFrQixFQUFXLElBQUksU0FBQSxHQUFRLE9BQUEsU0FBUyxFQUFLLFVBQVUsTUFBSyxPQUFPLFNBQUMsRUFBTSxHQUFTLE9BQUEsRUFBTyxJQUVwRyxFQUE2QixDQUMvQixzQkFBdUIsRUFBYSxTQUNwQyxrQkFBbUIsRUFBYSxLQUNoQyxrQkFBbUIsRUFBYSxLQUNoQyxnQkFBaUIsRUFBYSxHQUM5Qix1QkFBd0IsRUFBYSxVQUNyQyw4QkFBK0IsRUFBYSxpQkFDNUMsNkJBQThCLEVBQWEsZ0JBQzNDLE1BQU8sRUFDUCxRQUFTLEVBQ1QsZ0JBQWlCLEdBR3JCLE9BQU8sU0FBQSxTQUFBLEdBQWtCLEdBQWEsR0E5RzFDLFFBQUEsaUJBQUEsaUJBU0EsUUFBQSxVQUFBLFVBZ0JBLFFBQUEsaUJBQUEsaUJBZ0JBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsY0FBQSxjQWNBLFFBQUEsUUFBQSxRQVdBLFFBQUEsYUFBQTs7OzAvQkMzRkEsSUFBQSxTQUFBLFFBQUEsWUFFQSxVQUFBLGFBQUEsUUFBQSxnQkFDQSxXQUFBLGFBQUEsUUFBQSxpQkFFQSxTQUFnQixlQUFlLEdBQzNCLGtCQUFrQixHQUNsQixJQUFNLEVBQXVCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixFQUFlLElBQUksS0FBSyxTQUFTLEdBQUcsR0FDekYsRUFBMkMsVUFBVSw2Q0FBNkMsR0FFeEcsR0FBSSxFQUFlLENBQ2YsSUFBTSxFQUEyQixFQUFjLFdBQVcsR0FBRyxHQUFHLEdBQzFELEVBQW9DLFVBQVUsOEJBQThCLEdBRWxGLG9CQURxRCxDQUFDLEVBQWUsR0FBSSxFQUFrQixTQUkzRixRQUFRLEtBQUssMkVBQTJFLEdBR2hHLFNBQWdCLG9CQUFvQixVQUN6QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsRUFBZSxJQUVwRCxJQUFNLEVBQWdCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUFVLFNBQUEsR0FBTyxPQUFBLEVBQUksS0FBTyxFQUFlLEtBQy9GLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFPLEVBQU8sR0FFNUMsU0FBQSxPQUFPLE1BQU0sYUFBYyxFQUV0QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFDL0IsT0FBTyxzQkFBc0IsT0FHckMsU0FBZ0IsNEJBQTRCLEdBQ3hDLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUVsQyxPQUFJLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFVLFNBQUEsT0FBTyxtQkFDL0MsV0FBVyxlQUFlLHNCQUFzQixTQUFBLE9BQU8saUJBQWdCLHNCQUN2RSxFQUFRLE9BQU8sRUFBVSxHQUFJLGNBQ3RCLEdBTWYsU0FBUyxvQkFBb0IsR0FDckIsRUFBTyxNQUFNLFNBQUEsR0FBSyxPQUEwQixPQUExQixNQUNsQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FBZSxHQUM3QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEdBSW5DLFNBQVMsa0JBQWtCLFNBRWpCLElBQU8sRUFBQSxJQURVLEVBQWUsSUFFeEIsS0FHZCxTQUFBLE9BQU8sTUFBTSxpQkFBZ0IsU0FBQSxTQUFBLEdBQVEsU0FBQSxPQUFPLE1BQU0sa0JBQXFCLEdBcEQzRSxRQUFBLGVBQUEsZUFlQSxRQUFBLG9CQUFBLG9CQVlBLFFBQUEsNEJBQUE7Ozs0RkNoQ0EsSUFBQSxTQUFBLFFBQUEsWUFHQSxTQUFnQixXQUNZLFNBQUEsT0FBTyxNQUFNLFdBQ0EsUUFBUSxHQUFHLE1BQU0sR0FBRyxLQUVqRCxRQUFRLFNBQUEsR0FDTixJQUFBLEVBQWlCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FBSyxJQUFJLFFBQTVDLEVBQUssRUFBQSxHQUFFLEVBQUssRUFBQSxHQUtuQixXQUowQixFQUFJLEtBQUssR0FBRyxNQUFNLEtBQUssT0FBTyxTQUN0QyxFQUFRLEdBQ1IsS0FBSyxNQUFNLEVBQVEsVUFNN0MsU0FBUyxXQUFXLEVBQW1CLEVBQVcsR0FDOUMsSUFBTSxFQUFtQyxJQUFJLElBQUksQ0FDN0MsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLE9BR2QsRUFBUSxJQUFJLFNBQUMsRUFBUyxHQUNsQixJQUFNLEVBQWdDLEVBQVksSUFBSSxHQUFXLEVBQVksSUFBSSxHQUFXLGlCQUFpQixHQUV6RyxHQUVBLFVBQVUsRUFEaUIsY0FBYyxFQUFHLEVBQUcsTUFNM0QsU0FBUyxpQkFBaUIsR0FDdEIsSUFBTSxFQUFtQixFQUFRLFFBQVEsUUFBUyxLQUNsRCxPQUFPLE9BQU8sYUFBYSxTQUFTLEVBQVUsS0FHbEQsU0FBUyxVQUFVLEVBQXFCLEdBQ2QsdUJBRVgsS0FBSyxLQUNaLE9BQU8sbUJBQW1CLEVBQVUsTUFBTSxTQUFTLEVBQVUsTUFBTSxVQUFZLDBCQUEwQixFQUFXLFdBRzVILFNBQVMsY0FBYyxFQUFhLEVBQWEsR0FDN0MsTUFBbUIsQ0FDZixFQUFHLEVBQ0gsRUFBRyxFQUNILEtBQU8sRUFBTSxFQUFLLEVBQ2xCLEtBQU0sRUFBTSxHQXBEcEIsUUFBQSxTQUFBOzs7d2dDQ0ZBLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBQ0EsU0FBQSxRQUFBLFlBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxRQUFBLGFBQUEsUUFBQSxjQUNBLFlBQUEsYUFBQSxRQUFBLGtCQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLGdCQUFnQixFQUErQixHQUMzRCxJQUFNLEVBQXNDLFNBQVMsZUFBZSxHQUVwRSxHQUFJLEVBQ0EsSUFBdUIsSUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQWtCLENBQXBDLElBQUksRUFBVSxFQUFBLEdBQ1gsRUFBeUIsU0FBUyxjQUFjLFVBQ3BELEVBQUksTUFBUSxFQUFXLEdBQUcsR0FDMUIsRUFBSSxVQUFZLEVBQVcsS0FBSyxHQUNoQyxFQUFnQixZQUFZLElBS3hDLFNBQWdCLGFBQWEsR0FDekIsSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFFckMsT0FBTyx1Q0FBdUMsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFZLEtBQUssR0FDOUYsT0FBTyxvQkFBb0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFZLE1BQU0sR0FDNUUsT0FBTyx3QkFBd0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFnQixjQUM5RSxPQUFPLHdCQUF3QixHQUFHLFdBQVcsR0FBRyxZQUFjLHNCQUFzQixFQUFZLGdCQUFlLFFBQVEsRUFBWSxzQkFBc0IsR0FHN0osU0FBZ0IsZUFDWixJQUNNLEVBQWMsUUFBQSxRQUFNLGVBQWUsV0FFekMsT0FBTyxrQkFBa0IsT0FDckIsT0FKdUIsOEhBS2xCLEtBQUssTUFBTyxJQUNoQixPQUFPLENBQ0osT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2YsV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU8sR0FDUCxNQUFPLE9BQ1AsT0FBUSxPQUNSLE1BQU8sV0FBTSxPQUFBLE9BQU8sY0FBYyxJQUFJLFdBQVksV0FHMUQsT0FBTyxpQkFHWCxTQUFnQixzQkFBc0IsR0FDOUIsU0FBQSxPQUFPLE1BQU0sU0FDYixRQUFRLG9CQUFvQixHQUVoQyxPQUFPLDBCQUEwQixTQUNqQyxPQUFPLDhCQUE4QixXQUFXLFNBQ2hELE9BQU8sOEJBQThCLE9BQU8sMENBQzVDLE9BQU8sbUJBQW1CLFNBQzFCLE9BQU8sdUJBQXVCLE9BQU8sbUNBR3pDLFNBQWdCLGtCQUFrQixHQUNiLFNBQWIsRUFDQSxPQUFPLFFBQVEsWUFBWSw0QkFDVCxTQUFiLEdBQ0wsT0FBTyxRQUFRLFNBQVMsNEJBR2hDLFNBQWdCLG1CQUNaLElBQU0sRUFBcUMsU0FBQSxPQUFPLE1BQU0scUJBRWxCLElBQWxDLEVBQWdCLGVBQ2hCLE9BQU8sbUJBQW1CLEtBQUssTUFBTyxFQUFnQixlQUc5RCxTQUFnQixrQkFDWixPQUFPLHNCQUFzQixPQUFPLEtBQ3BDLGNBQWMsa0JBQWtCLDhCQUdwQyxTQUFnQix3QkFJWixPQUg2QixTQUFBLE9BQU8sTUFBTSxXQUNZLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbkQsSUFBSSxTQUFBLEdBRzNCLE1BQU8sS0FGWSxFQUFJLEdBQUcsR0FFWix5QkFETSxJQUFJLEVBQUksTUFBTSxHQUFFLGVBQ08sUUFDNUMsS0FBSyxRQUdaLFNBQWdCLG9CQUNaLFlBQVksdUJBQXVCLFFBQ25DLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsYUFHcEQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsR0FBRyxVQUFZLFNBQUEsT0FBTyxRQUNuRCxPQUFPLHFCQUFxQixHQUFHLFVBQVksSUFBSSxTQUFBLE9BQU8sT0FBTSxJQS9GaEUsUUFBQSxnQkFBQSxnQkFhQSxRQUFBLGFBQUEsYUFTQSxRQUFBLGFBQUEsYUF3QkEsUUFBQSxzQkFBQSxzQkFXQSxRQUFBLGtCQUFBLGtCQU9BLFFBQUEsaUJBQUEsaUJBT0EsUUFBQSxnQkFBQSxnQkFLQSxRQUFBLHNCQUFBLHNCQVdBLFFBQUEsa0JBQUEsa0JBTUEsUUFBQSxjQUFBOzs7b0VDcEdBLElBQUEsU0FBQSxRQUFBLFlBRUEsTUFBQSxXQUFBLFNBQUEsS0F3R0EsT0F0R1csRUFBQSxlQUFQLFNBQXNCLEVBQXVDLEVBQXNCLEVBQW1ELEVBQW9DLFFBQXZGLElBQUEsSUFBQSxFQUFBLGlCQUFtRCxJQUFBLElBQUEsRUFBQSxVQUFvQyxJQUFBLElBQUEsRUFBQSxLQUN0SyxJQUFNLEVBQXdCLEtBQUssT0FFbkMsU0FBVSxLQUM4QyxhQUFiLEVBQTBCLE9BQWUsR0FBWSxJQUFJLEdBQUssRUFBTSxzQkFHdkcsRUFBTSxXQUFXLFNBQ2pCLE1BR0EsRUFBTSxXQUFXLGlCQUFpQixHQUNsQyxXQUFXLFdBQ0gsR0FBaUIsS0FBSyxNQUFRLEVBQWdCLEdBR2xELEtBQ0QsSUFkWCxJQW1CRyxFQUFBLGtCQUFQLFdBQ0ksSUFBTSxFQUFxQyxPQUFRLE9BQU8scUJBQXFCLFdBQy9FLE9BQU8sRUFBTSxXQUFXLElBR3JCLEVBQUEsZUFBUCxTQUFzQixHQUNsQixJQUFNLEVBQXFDLE9BQVEsT0FBTyxxQkFBcUIsV0FDL0UsS0FBSyxlQUFlLEVBQVksRUFBWSxZQUd6QyxFQUFBLGNBQVAsU0FBcUIsR0FDakIsT0FBd0MsTUFBcEMsU0FBUyxjQUFjLElBTXhCLEVBQUEsV0FBUCxTQUFrQixHQUNkLE1BQTZCLG1CQUFmLEdBR1gsRUFBQSxPQUFQLFNBQWMsRUFBbUIsRUFBdUIsR0FDcEQsSUFBSSxFQUVKLFlBSDZCLElBQUEsSUFBQSxFQUFBLFdBQXVCLElBQUEsSUFBQSxFQUFBLFFBRzVDLEdBQ0osSUFBSyxNQUNELEVBQVMsU0FBUyxjQUFjLFdBQ3pCLEtBQU8sa0JBQ2QsRUFBTyxJQUFNLEVBQ2IsTUFFSixJQUFLLE9BQ0QsRUFBUyxTQUFTLGNBQWMsU0FDekIsS0FBTyxXQUNJLEVBQVEsSUFBTSxhQUNkLEVBQVEsS0FBTyxFQUNqQyxNQUVKLElBQUssYUFDRCxFQUFTLFNBQVMsY0FBYyxVQUN6QixLQUFPLFdBQ2QsRUFBTyxVQUFZLEVBQ25CLE1BRUosSUFBSyxVQUNELEVBQVMsU0FBUyxjQUFjLFdBQ3pCLEtBQU8sa0JBQ2QsRUFBTyxVQUFZLEVBQ25CLE1BRUosUUFDSSxPQUFTLEVBSWIsR0FDQSxFQUFNLGFBQWEsRUFBUSxJQUc1QixFQUFBLGFBQVAsU0FBb0IsRUFBOEIsR0FDaEMsU0FBVixFQUNBLFNBQVMsS0FBSyxZQUFZLEdBQ1gsU0FBVixHQUNMLFNBQVMsS0FBSyxZQUFZLElBRzNCLEVBQUEsV0FBUCxTQUFrQixFQUFjLEdBQzVCLE9BQU8sRUFBTyxtQkFBbUIsRUFBVSxDQUFFLFFBQVMsVUFHbkQsRUFBQSxXQUFQLFNBQWtCLEdBQ1YsR0FJRCxFQUFBLGVBQVAsU0FBc0IsR0FDbEIsSUFBTSxFQUE2QixTQUFBLE9BQU8sT0FFMUMsT0FEa0IsU0FBQSxPQUFPLFVBQVUsR0FDbEIsSUFFekIsRUF4R0E7OzttWENEQSxJQUFBLFNBQUEsUUFBQSxZQUVBLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFFaEMsRUFBZ0IsT0FHSyxFQUFnQixLQUFLLE1BQU0sSUFBSSxJQUFJLFFBRWhELElBQ1QsT0FBTyxzQkFBc0IsUUFHckMsU0FBZ0IsMEJBQTBCLFNBSXRDLE9BQXdELFFBQWpELEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ0QsY0FBYyxHQUFHLGVBQWUsR0FBRyxRQUUxRCxLQUFLLFNBQUEsR0FBTyxPQUFBLElBQWdCLEVBQUksR0FBRyxZQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQUduRSxTQUFnQix5Q0FBeUMsRUFBcUMsU0FJMUYsT0FBcUYsUUFBOUUsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDVyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRW5ELEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sRUFBaUIsT0FBTSxXQUFVLElBQUEsT0FBQSxFQUFBLEVBQUcsR0FBWSxHQUd4RyxTQUFnQiw4QkFBOEIsU0FJMUMsT0FBaUUsUUFBMUQsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRWxELEtBQUssU0FBQSxHQUFPLE9BQUEsSUFBa0IsRUFBSSxHQUFHLFlBQUcsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBRzVFLFNBQWdCLHNCQUFzQixFQUF1QixTQUNuRCxFQUE0RSxRQUFwRSxFQUFBLE1BQUEsT0FBZSxFQUFmLEVBQWlCLFdBQVcsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFjLElBQUEsT0FBQSxFQUFBLEVBQUUsTUFBTSxHQUMxRixPQUFPLEVBQVEsV0FBVyxRQUFTLEVBR3ZDLFNBQWdCLDZDQUE2QyxHQUd6RCxPQUY2QixTQUFBLE9BQU8sTUFBTSxXQUNXLGdCQUFnQixHQUFHLFdBQzlDLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sSUFHeEQsU0FBZ0IsNEJBQTRCLEdBQ3hDLElBQU0sRUFBNEMsZ0NBQWdDLEdBQ2xGLE9BQU8sRUFBZ0IsRUFBYyxJQUFJLFNBQUEsR0FBTyxNQUFBLENBQUMsRUFBSSxHQUFHLEdBQUksRUFBSSxNQUFNLEdBQUksaUJBQWlCLFdBQVMsRUFHeEcsU0FBZ0IsOEJBQ1osT0FBUSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsSUFBSSxTQUFBLEdBQU8sT0FBQSxFQUFJLEtBQUssT0FBTyxLQUFLLEtBRzFFLFNBQVMsZ0NBQWdDLFNBSXJDLE9BQW1FLFFBQTVELEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ1csZ0JBQWdCLEdBQUcsV0FFOUMsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFlLElBQUEsT0FBQSxFQUFBLEVBQUUsV0FHekUsU0FBUyxpQkFBaUIsU0FJdEIsT0FBb0YsUUFBN0UsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDSSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRWxELEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sRUFBTSxHQUFHLEdBQUssRUFBSSxLQUFLLFFBQUssV0FBVSxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssR0FoRS9GLFFBQUEsWUFBQSxZQVlBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSx5Q0FBQSx5Q0FPQSxRQUFBLDhCQUFBLDhCQU9BLFFBQUEsc0JBQUEsc0JBS0EsUUFBQSw2Q0FBQSw2Q0FNQSxRQUFBLDRCQUFBLDRCQUtBLFFBQUEsNEJBQUE7Ozt3d0JDckRBLElBQUEsT0FBQSxRQUFBLFVBQ0EsY0FBQSxhQUFBLFFBQUEsNEJBRUEsU0FBQSxRQUFBLG9CQUNBLFFBQUEsZ0JBQUEsUUFBQSxvQkFDQSxPQUFBLGFBQUEsUUFBQSxxQkFDQSxLQUFBLGFBQUEsUUFBQSxtQkFDQSxXQUFBLGFBQUEsUUFBQSw0QkFDQSxNQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxpQkEwQ0EsU0FBUyxlQUFlLEdBQ3BCLEdBQTBCLGlCQUFkLEVBQVEsS0FBcEIsQ0FHQSxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFJLE1BS3ZDLE9BSEEsUUFBQSxRQUFNLFdBQVcsd0JBQXdCLEVBQUssTUFDOUMsUUFBQSxRQUFNLFdBQVcsR0FFVCxFQUFLLE9BQ1QsSUFBSyxvQkFDRCxNQUFNLFlBQ04sTUFFSixJQUFLLDJCQUNELE1BQU0saUJBQWlCLEdBQ3ZCLE1BRUosSUFBSyxrQ0FDRCxNQUFNLHdCQUF3QixHQUM5QixNQUVKLElBQUssd0JBQ0QsTUFBTSxlQUFlLEdBQ3JCLE1BRUosSUFBSyw4QkFDRCxNQUFNLHFCQUFxQixLQXBFdkMsUUFBUSwwQkFFUixPQUFPLGlCQUFpQixPQUFRLFdBRzVCLE1BQU0sa0JBR04sY0FBYyxpQkFBaUIsZ0JBRy9CLFFBQUEsUUFBTSxlQUFlLFdBQVcsc0JBR2hDLFFBQUEsUUFBTSxlQUFlLHFCQUFzQixLQUFLLGVBR2hELE9BQU8sZ0JBQ1AsT0FBTyxlQUNQLE9BQU8scUJBR1AsR0FBRyxrQkFLUCxPQUFPLFNBQVcsV0FDZCxJQUFNLEVBQVUsU0FBQSxPQUFPLE1BQU0sUUFDdkIsRUFBYyxPQUFPLFlBRXZCLEVBQWMsS0FDZCxPQUFPLDBCQUEwQixPQUNqQyxNQUFBLEdBQUEsRUFBUyxTQUVKLEdBQWUsTUFDcEIsT0FBTywwQkFBMEIsT0FDakMsTUFBQSxHQUFBLEVBQVMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCJcInVzZSBzdHJpY3RcIjtleHBvcnRzLmJ5dGVMZW5ndGg9Ynl0ZUxlbmd0aCxleHBvcnRzLnRvQnl0ZUFycmF5PXRvQnl0ZUFycmF5LGV4cG9ydHMuZnJvbUJ5dGVBcnJheT1mcm9tQnl0ZUFycmF5O2Zvcih2YXIgbG9va3VwPVtdLHJldkxvb2t1cD1bXSxBcnI9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVpbnQ4QXJyYXk/VWludDhBcnJheTpBcnJheSxjb2RlPVwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL1wiLGk9MCxsZW49Y29kZS5sZW5ndGg7aTxsZW47KytpKWxvb2t1cFtpXT1jb2RlW2ldLHJldkxvb2t1cFtjb2RlLmNoYXJDb2RlQXQoaSldPWk7ZnVuY3Rpb24gZ2V0TGVucyhvKXt2YXIgcj1vLmxlbmd0aDtpZihyJTQ+MCl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0XCIpO3ZhciBlPW8uaW5kZXhPZihcIj1cIik7cmV0dXJuLTE9PT1lJiYoZT1yKSxbZSxlPT09cj8wOjQtZSU0XX1mdW5jdGlvbiBieXRlTGVuZ3RoKG8pe3ZhciByPWdldExlbnMobyksZT1yWzBdLHQ9clsxXTtyZXR1cm4gMyooZSt0KS80LXR9ZnVuY3Rpb24gX2J5dGVMZW5ndGgobyxyLGUpe3JldHVybiAzKihyK2UpLzQtZX1mdW5jdGlvbiB0b0J5dGVBcnJheShvKXt2YXIgcixlLHQ9Z2V0TGVucyhvKSxuPXRbMF0sdT10WzFdLHA9bmV3IEFycihfYnl0ZUxlbmd0aChvLG4sdSkpLGE9MCxoPXU+MD9uLTQ6bjtmb3IoZT0wO2U8aDtlKz00KXI9cmV2TG9va3VwW28uY2hhckNvZGVBdChlKV08PDE4fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsxKV08PDEyfHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsyKV08PDZ8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzMpXSxwW2ErK109cj4+MTYmMjU1LHBbYSsrXT1yPj44JjI1NSxwW2ErK109MjU1JnI7cmV0dXJuIDI9PT11JiYocj1yZXZMb29rdXBbby5jaGFyQ29kZUF0KGUpXTw8MnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPj40LHBbYSsrXT0yNTUmciksMT09PXUmJihyPXJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSldPDwxMHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPDw0fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsyKV0+PjIscFthKytdPXI+PjgmMjU1LHBbYSsrXT0yNTUmcikscH1mdW5jdGlvbiB0cmlwbGV0VG9CYXNlNjQobyl7cmV0dXJuIGxvb2t1cFtvPj4xOCY2M10rbG9va3VwW28+PjEyJjYzXStsb29rdXBbbz4+NiY2M10rbG9va3VwWzYzJm9dfWZ1bmN0aW9uIGVuY29kZUNodW5rKG8scixlKXtmb3IodmFyIHQsbj1bXSx1PXI7dTxlO3UrPTMpdD0ob1t1XTw8MTYmMTY3MTE2ODApKyhvW3UrMV08PDgmNjUyODApKygyNTUmb1t1KzJdKSxuLnB1c2godHJpcGxldFRvQmFzZTY0KHQpKTtyZXR1cm4gbi5qb2luKFwiXCIpfWZ1bmN0aW9uIGZyb21CeXRlQXJyYXkobyl7Zm9yKHZhciByLGU9by5sZW5ndGgsdD1lJTMsbj1bXSx1PTAscD1lLXQ7dTxwO3UrPTE2MzgzKW4ucHVzaChlbmNvZGVDaHVuayhvLHUsdSsxNjM4Mz5wP3A6dSsxNjM4MykpO3JldHVybiAxPT09dD8ocj1vW2UtMV0sbi5wdXNoKGxvb2t1cFtyPj4yXStsb29rdXBbcjw8NCY2M10rXCI9PVwiKSk6Mj09PXQmJihyPShvW2UtMl08PDgpK29bZS0xXSxuLnB1c2gobG9va3VwW3I+PjEwXStsb29rdXBbcj4+NCY2M10rbG9va3VwW3I8PDImNjNdK1wiPVwiKSksbi5qb2luKFwiXCIpfXJldkxvb2t1cFtcIi1cIi5jaGFyQ29kZUF0KDApXT02MixyZXZMb29rdXBbXCJfXCIuY2hhckNvZGVBdCgwKV09NjM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKaWVYUmxUR1Z1WjNSb0lpd2lkRzlDZVhSbFFYSnlZWGtpTENKbWNtOXRRbmwwWlVGeWNtRjVJaXdpYkc5dmEzVndJaXdpY21WMlRHOXZhM1Z3SWl3aVFYSnlJaXdpVldsdWREaEJjbkpoZVNJc0lrRnljbUY1SWl3aVkyOWtaU0lzSW1raUxDSnNaVzRpTENKc1pXNW5kR2dpTENKamFHRnlRMjlrWlVGMElpd2laMlYwVEdWdWN5SXNJbUkyTkNJc0lrVnljbTl5SWl3aWRtRnNhV1JNWlc0aUxDSnBibVJsZUU5bUlpd2liR1Z1Y3lJc0luQnNZV05sU0c5c1pHVnljMHhsYmlJc0lsOWllWFJsVEdWdVozUm9JaXdpZEcxd0lpd2lZWEp5SWl3aVkzVnlRbmwwWlNJc0luUnlhWEJzWlhSVWIwSmhjMlUyTkNJc0ltNTFiU0lzSW1WdVkyOWtaVU5vZFc1cklpd2lkV2x1ZERnaUxDSnpkR0Z5ZENJc0ltVnVaQ0lzSW05MWRIQjFkQ0lzSW5CMWMyZ2lMQ0pxYjJsdUlpd2laWGgwY21GQ2VYUmxjeUlzSW5CaGNuUnpJaXdpYkdWdU1pSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVVFc1VVRkJVVU1zVjBGQllVRXNWMEZEY2tKRUxGRkJRVkZGTEZsQlFXTkJMRmxCUTNSQ1JpeFJRVUZSUnl4alFVRm5Ra0VzWTBGUGVFSXNTVUZNUVN4SlFVRkpReXhQUVVGVExFZEJRMVJETEZWQlFWa3NSMEZEV2tNc1NVRkJORUlzYjBKQlFXWkRMRmRCUVRaQ1FTeFhRVUZoUXl4TlFVVjJSRU1zUzBGQlR5eHRSVUZEUmtNc1JVRkJTU3hGUVVGSFF5eEpRVUZOUml4TFFVRkxSeXhQUVVGUlJpeEZRVUZKUXl4TlFVRlBSQ3hGUVVNMVEwNHNUMEZCVDAwc1IwRkJTMFFzUzBGQlMwTXNSMEZEYWtKTUxGVkJRVlZKTEV0QlFVdEpMRmRCUVZkSUxFbEJRVTFCTEVWQlVXeERMRk5CUVZOSkxGRkJRVk5ETEVkQlEyaENMRWxCUVVsS0xFVkJRVTFKTEVWQlFVbElMRTlCUldRc1IwRkJTVVFzUlVGQlRTeEZRVUZKTEVWQlExb3NUVUZCVFN4SlFVRkpTeXhOUVVGTkxHdEVRVXRzUWl4SlFVRkpReXhGUVVGWFJpeEZRVUZKUnl4UlFVRlJMRXRCVHpOQ0xFOUJUbXRDTEVsQlFXUkVMRWxCUVdsQ1FTeEZRVUZYVGl4SFFVMTZRaXhEUVVGRFRTeEZRVXBqUVN4SlFVRmhUaXhGUVVNdlFpeEZRVU5CTEVWQlFVdE5MRVZCUVZjc1IwRk5kRUlzVTBGQlUyaENMRmRCUVZsakxFZEJRMjVDTEVsQlFVbEpMRVZCUVU5TUxGRkJRVkZETEVkQlEyWkZMRVZCUVZkRkxFVkJRVXNzUjBGRGFFSkRMRVZCUVd0Q1JDeEZRVUZMTEVkQlF6TkNMRTlCUVhWRExFZEJRVGxDUml4RlFVRlhSeXhIUVVGMVFpeEZRVUZMUVN4RlFVZHNSQ3hUUVVGVFF5eFpRVUZoVGl4RlFVRkxSU3hGUVVGVlJ5eEhRVU51UXl4UFFVRjFReXhIUVVFNVFrZ3NSVUZCVjBjc1IwRkJkVUlzUlVGQlMwRXNSVUZIYkVRc1UwRkJVMnhDTEZsQlFXRmhMRWRCUTNCQ0xFbEJRVWxQTEVWQlkwRmFMRVZCWWtGVExFVkJRVTlNTEZGQlFWRkRMRWRCUTJaRkxFVkJRVmRGTEVWQlFVc3NSMEZEYUVKRExFVkJRV3RDUkN4RlFVRkxMRWRCUlhaQ1NTeEZRVUZOTEVsQlFVbHFRaXhKUVVGSlpTeFpRVUZaVGl4RlFVRkxSU3hGUVVGVlJ5eEpRVVY2UTBrc1JVRkJWU3hGUVVkV1lpeEZRVUZOVXl4RlFVRnJRaXhGUVVONFFrZ3NSVUZCVnl4RlFVTllRU3hGUVVkS0xFbEJRVXRRTEVWQlFVa3NSVUZCUjBFc1JVRkJTVU1zUlVGQlMwUXNSMEZCU3l4RlFVTjRRbGtzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1IwRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4SFFVTndRMHdzVlVGQlZWVXNSVUZCU1VZc1YwRkJWMGdzUlVGQlNTeExRVUZQTEVWQlEzSkRUQ3hWUVVGVlZTeEZRVUZKUml4WFFVRlhTQ3hGUVVGSkxFbEJReTlDWVN4RlFVRkpReXhMUVVGalJpeEhRVUZQTEVkQlFVMHNTVUZETDBKRExFVkJRVWxETEV0QlFXTkdMRWRCUVU4c1JVRkJTeXhKUVVNNVFrTXNSVUZCU1VNc1MwRkJiVUlzU1VGQlRrWXNSVUZ0UW01Q0xFOUJhRUozUWl4SlFVRndRa1lzU1VGRFJrVXNSVUZEUjJwQ0xGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFdEJRVThzUlVGRGFFTk1MRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRVZCUVVrc1MwRkJUeXhGUVVOMlEyRXNSVUZCU1VNc1MwRkJiVUlzU1VGQlRrWXNSMEZIU3l4SlFVRndRa1lzU1VGRFJrVXNSVUZEUjJwQ0xGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFdEJRVThzUjBGRGFFTk1MRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRVZCUVVrc1MwRkJUeXhGUVVOd1Ewd3NWVUZCVlZVc1JVRkJTVVlzVjBGQlYwZ3NSVUZCU1N4TFFVRlBMRVZCUTNaRFlTeEZRVUZKUXl4TFFVRmpSaXhIUVVGUExFVkJRVXNzU1VGRE9VSkRMRVZCUVVsRExFdEJRVzFDTEVsQlFVNUdMRWRCUjFwRExFVkJSMVFzVTBGQlUwVXNaMEpCUVdsQ1F5eEhRVU40UWl4UFFVRlBkRUlzVDBGQlQzTkNMRWRCUVU4c1IwRkJTeXhKUVVONFFuUkNMRTlCUVU5elFpeEhRVUZQTEVkQlFVc3NTVUZEYmtKMFFpeFBRVUZQYzBJc1IwRkJUeXhGUVVGSkxFbEJRMnhDZEVJc1QwRkJZU3hIUVVGT2MwSXNSMEZIV0N4VFFVRlRReXhaUVVGaFF5eEZRVUZQUXl4RlFVRlBReXhIUVVkc1F5eEpRVVpCTEVsQlFVbFNMRVZCUTBGVExFVkJRVk1zUjBGRFNuSkNMRVZCUVVsdFFpeEZRVUZQYmtJc1JVRkJTVzlDTEVWQlFVdHdRaXhIUVVGTExFVkJRMmhEV1N4SFFVTkpUU3hGUVVGTmJFSXNTVUZCVFN4SFFVRk5MRmRCUTJ4Q2EwSXNSVUZCVFd4Q0xFVkJRVWtzU1VGQlRTeEZRVUZMTEZGQlExQXNTVUZCWm10Q0xFVkJRVTFzUWl4RlFVRkpMRWxCUTJKeFFpeEZRVUZQUXl4TFFVRkxVQ3huUWtGQlowSklMRWxCUlRsQ0xFOUJRVTlUTEVWQlFVOUZMRXRCUVVzc1NVRkhja0lzVTBGQlV6bENMR05CUVdWNVFpeEhRVkYwUWl4SlFWQkJMRWxCUVVsT0xFVkJRMEZZTEVWQlFVMXBRaXhGUVVGTmFFSXNUMEZEV25OQ0xFVkJRV0YyUWl4RlFVRk5MRVZCUTI1Q2QwSXNSVUZCVVN4SFFVbElla0lzUlVGQlNTeEZRVUZITUVJc1JVRkJUM3BDTEVWQlFVMTFRaXhGUVVGWmVFSXNSVUZCU1RCQ0xFVkJRVTB4UWl4SFFVZzVRaXhOUVVsdVFubENMRVZCUVUxSUxFdEJRVXRNTEZsQlFWbERMRVZCUVU5c1FpeEZRVUZKUVN4RlFVcG1MRTFCU1hGRE1FSXNSVUZCVDBFc1JVRkJVVEZDTEVWQlNuQkVMRkZCZVVKeVFpeFBRV3BDYlVJc1NVRkJabmRDTEVkQlEwWmFMRVZCUVUxTkxFVkJRVTFxUWl4RlFVRk5MRWRCUTJ4Q2QwSXNSVUZCVFVnc1MwRkRTalZDTEU5QlFVOXJRaXhIUVVGUExFZEJRMlJzUWl4UFFVRlJhMElzUjBGQlR5eEZRVUZMTEVsQlEzQkNMRTlCUlhOQ0xFbEJRV1paTEVsQlExUmFMRWRCUVU5TkxFVkJRVTFxUWl4RlFVRk5MRWxCUVUwc1IwRkJTMmxDTEVWQlFVMXFRaXhGUVVGTkxFZEJRekZEZDBJc1JVRkJUVWdzUzBGRFNqVkNMRTlCUVU5clFpeEhRVUZQTEVsQlEyUnNRaXhQUVVGUmEwSXNSMEZCVHl4RlFVRkxMRWxCUTNCQ2JFSXNUMEZCVVd0Q0xFZEJRVThzUlVGQlN5eEpRVU53UWl4TlFVbEhZU3hGUVVGTlJpeExRVUZMTEVsQmJFbHdRalZDTEZWQlFWVXNTVUZCU1ZFc1YwRkJWeXhKUVVGTkxFZEJReTlDVWl4VlFVRlZMRWxCUVVsUkxGZEJRVmNzU1VGQlRTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMeTV1ZG0wdmRtVnljMmx2Ym5NdmJtOWtaUzkyTVRJdU1qQXVNQzlzYVdJdmJtOWtaVjl0YjJSMWJHVnpMM2RoZEdOb2FXWjVMMjV2WkdWZmJXOWtkV3hsY3k5aVlYTmxOalF0YW5NdmFXNWtaWGd1YW5NaWZRPT0iLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnRjSFI1TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OHViblp0TDNabGNuTnBiMjV6TDI1dlpHVXZkakV5TGpJd0xqQXZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12WW5KdmQzTmxjaTF5WlhOdmJIWmxMMlZ0Y0hSNUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGJhc2U2ND1yZXF1aXJlKFwiYmFzZTY0LWpzXCIpLGllZWU3NTQ9cmVxdWlyZShcImllZWU3NTRcIik7ZXhwb3J0cy5CdWZmZXI9QnVmZmVyLGV4cG9ydHMuU2xvd0J1ZmZlcj1TbG93QnVmZmVyLGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM9NTA7dmFyIEtfTUFYX0xFTkdUSD0yMTQ3NDgzNjQ3O2Z1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0KCl7dHJ5e3ZhciBlPW5ldyBVaW50OEFycmF5KDEpO3JldHVybiBlLl9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09ZS5mb28oKX1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gY3JlYXRlQnVmZmVyKGUpe2lmKGU+S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgXCInK2UrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpO3ZhciB0PW5ldyBVaW50OEFycmF5KGUpO3JldHVybiB0Ll9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLHR9ZnVuY3Rpb24gQnVmZmVyKGUsdCxyKXtpZihcIm51bWJlclwiPT10eXBlb2YgZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic3RyaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9cmV0dXJuIGZyb20oZSx0LHIpfWZ1bmN0aW9uIGZyb20oZSx0LHIpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBmcm9tU3RyaW5nKGUsdCk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXJldHVybiBmcm9tQXJyYXlMaWtlKGUpO2lmKG51bGw9PWUpdGhyb3cgVHlwZUVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgXCIrdHlwZW9mIGUpO2lmKGlzSW5zdGFuY2UoZSxBcnJheUJ1ZmZlcil8fGUmJmlzSW5zdGFuY2UoZS5idWZmZXIsQXJyYXlCdWZmZXIpKXJldHVybiBmcm9tQXJyYXlCdWZmZXIoZSx0LHIpO2lmKFwibnVtYmVyXCI9PXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgbnVtYmVyJyk7dmFyIG49ZS52YWx1ZU9mJiZlLnZhbHVlT2YoKTtpZihudWxsIT1uJiZuIT09ZSlyZXR1cm4gQnVmZmVyLmZyb20obix0LHIpO3ZhciBmPWZyb21PYmplY3QoZSk7aWYoZilyZXR1cm4gZjtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2wudG9QcmltaXRpdmUmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGVbU3ltYm9sLnRvUHJpbWl0aXZlXSlyZXR1cm4gQnVmZmVyLmZyb20oZVtTeW1ib2wudG9QcmltaXRpdmVdKFwic3RyaW5nXCIpLHQscik7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlIFwiK3R5cGVvZiBlKX1mdW5jdGlvbiBhc3NlcnRTaXplKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXInKTtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJyl9ZnVuY3Rpb24gYWxsb2MoZSx0LHIpe3JldHVybiBhc3NlcnRTaXplKGUpLGU8PTA/Y3JlYXRlQnVmZmVyKGUpOnZvaWQgMCE9PXQ/XCJzdHJpbmdcIj09dHlwZW9mIHI/Y3JlYXRlQnVmZmVyKGUpLmZpbGwodCxyKTpjcmVhdGVCdWZmZXIoZSkuZmlsbCh0KTpjcmVhdGVCdWZmZXIoZSl9ZnVuY3Rpb24gYWxsb2NVbnNhZmUoZSl7cmV0dXJuIGFzc2VydFNpemUoZSksY3JlYXRlQnVmZmVyKGU8MD8wOjB8Y2hlY2tlZChlKSl9ZnVuY3Rpb24gZnJvbVN0cmluZyhlLHQpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiZcIlwiIT09dHx8KHQ9XCJ1dGY4XCIpLCFCdWZmZXIuaXNFbmNvZGluZyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrdCk7dmFyIHI9MHxieXRlTGVuZ3RoKGUsdCksbj1jcmVhdGVCdWZmZXIociksZj1uLndyaXRlKGUsdCk7cmV0dXJuIGYhPT1yJiYobj1uLnNsaWNlKDAsZikpLG59ZnVuY3Rpb24gZnJvbUFycmF5TGlrZShlKXtmb3IodmFyIHQ9ZS5sZW5ndGg8MD8wOjB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCksbj0wO248dDtuKz0xKXJbbl09MjU1JmVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gZnJvbUFycmF5QnVmZmVyKGUsdCxyKXtpZih0PDB8fGUuYnl0ZUxlbmd0aDx0KXRocm93IG5ldyBSYW5nZUVycm9yKCdcIm9mZnNldFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO2lmKGUuYnl0ZUxlbmd0aDx0KyhyfHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJsZW5ndGhcIiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTt2YXIgbjtyZXR1cm4obj12b2lkIDA9PT10JiZ2b2lkIDA9PT1yP25ldyBVaW50OEFycmF5KGUpOnZvaWQgMD09PXI/bmV3IFVpbnQ4QXJyYXkoZSx0KTpuZXcgVWludDhBcnJheShlLHQscikpLl9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLG59ZnVuY3Rpb24gZnJvbU9iamVjdChlKXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpe3ZhciB0PTB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCk7cmV0dXJuIDA9PT1yLmxlbmd0aD9yOihlLmNvcHkociwwLDAsdCkscil9cmV0dXJuIHZvaWQgMCE9PWUubGVuZ3RoP1wibnVtYmVyXCIhPXR5cGVvZiBlLmxlbmd0aHx8bnVtYmVySXNOYU4oZS5sZW5ndGgpP2NyZWF0ZUJ1ZmZlcigwKTpmcm9tQXJyYXlMaWtlKGUpOlwiQnVmZmVyXCI9PT1lLnR5cGUmJkFycmF5LmlzQXJyYXkoZS5kYXRhKT9mcm9tQXJyYXlMaWtlKGUuZGF0YSk6dm9pZCAwfWZ1bmN0aW9uIGNoZWNrZWQoZSl7aWYoZT49S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSBzaXplOiAweFwiK0tfTUFYX0xFTkdUSC50b1N0cmluZygxNikrXCIgYnl0ZXNcIik7cmV0dXJuIDB8ZX1mdW5jdGlvbiBTbG93QnVmZmVyKGUpe3JldHVybitlIT1lJiYoZT0wKSxCdWZmZXIuYWxsb2MoK2UpfWZ1bmN0aW9uIGJ5dGVMZW5ndGgoZSx0KXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGUubGVuZ3RoO2lmKEFycmF5QnVmZmVyLmlzVmlldyhlKXx8aXNJbnN0YW5jZShlLEFycmF5QnVmZmVyKSlyZXR1cm4gZS5ieXRlTGVuZ3RoO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO3ZhciByPWUubGVuZ3RoLG49YXJndW1lbnRzLmxlbmd0aD4yJiYhMD09PWFyZ3VtZW50c1syXTtpZighbiYmMD09PXIpcmV0dXJuIDA7Zm9yKHZhciBmPSExOzspc3dpdGNoKHQpe2Nhc2VcImFzY2lpXCI6Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIHI7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhUb0J5dGVzKGUpLmxlbmd0aDtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm4gMipyO2Nhc2VcImhleFwiOnJldHVybiByPj4+MTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0VG9CeXRlcyhlKS5sZW5ndGg7ZGVmYXVsdDppZihmKXJldHVybiBuPy0xOnV0ZjhUb0J5dGVzKGUpLmxlbmd0aDt0PShcIlwiK3QpLnRvTG93ZXJDYXNlKCksZj0hMH19ZnVuY3Rpb24gc2xvd1RvU3RyaW5nKGUsdCxyKXt2YXIgbj0hMTtpZigodm9pZCAwPT09dHx8dDwwKSYmKHQ9MCksdD50aGlzLmxlbmd0aClyZXR1cm5cIlwiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuXCJcIjtpZigocj4+Pj0wKTw9KHQ+Pj49MCkpcmV0dXJuXCJcIjtmb3IoZXx8KGU9XCJ1dGY4XCIpOzspc3dpdGNoKGUpe2Nhc2VcImhleFwiOnJldHVybiBoZXhTbGljZSh0aGlzLHQscik7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhTbGljZSh0aGlzLHQscik7Y2FzZVwiYXNjaWlcIjpyZXR1cm4gYXNjaWlTbGljZSh0aGlzLHQscik7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsdCxyKTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0U2xpY2UodGhpcyx0LHIpO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiB1dGYxNmxlU2xpY2UodGhpcyx0LHIpO2RlZmF1bHQ6aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrZSk7ZT0oZStcIlwiKS50b0xvd2VyQ2FzZSgpLG49ITB9fWZ1bmN0aW9uIHN3YXAoZSx0LHIpe3ZhciBuPWVbdF07ZVt0XT1lW3JdLGVbcl09bn1mdW5jdGlvbiBiaWRpcmVjdGlvbmFsSW5kZXhPZihlLHQscixuLGYpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4tMTtpZihcInN0cmluZ1wiPT10eXBlb2Ygcj8obj1yLHI9MCk6cj4yMTQ3NDgzNjQ3P3I9MjE0NzQ4MzY0NzpyPC0yMTQ3NDgzNjQ4JiYocj0tMjE0NzQ4MzY0OCksbnVtYmVySXNOYU4ocj0rcikmJihyPWY/MDplLmxlbmd0aC0xKSxyPDAmJihyPWUubGVuZ3RoK3IpLHI+PWUubGVuZ3RoKXtpZihmKXJldHVybi0xO3I9ZS5sZW5ndGgtMX1lbHNlIGlmKHI8MCl7aWYoIWYpcmV0dXJuLTE7cj0wfWlmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LG4pKSxCdWZmZXIuaXNCdWZmZXIodCkpcmV0dXJuIDA9PT10Lmxlbmd0aD8tMTphcnJheUluZGV4T2YoZSx0LHIsbixmKTtpZihcIm51bWJlclwiPT10eXBlb2YgdClyZXR1cm4gdCY9MjU1LFwiZnVuY3Rpb25cIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/Zj9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZSx0LHIpOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZSx0LHIpOmFycmF5SW5kZXhPZihlLFt0XSxyLG4sZik7dGhyb3cgbmV3IFR5cGVFcnJvcihcInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlclwiKX1mdW5jdGlvbiBhcnJheUluZGV4T2YoZSx0LHIsbixmKXt2YXIgaSxvPTEsdT1lLmxlbmd0aCxzPXQubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJihcInVjczJcIj09PShuPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKXx8XCJ1Y3MtMlwiPT09bnx8XCJ1dGYxNmxlXCI9PT1ufHxcInV0Zi0xNmxlXCI9PT1uKSl7aWYoZS5sZW5ndGg8Mnx8dC5sZW5ndGg8MilyZXR1cm4tMTtvPTIsdS89MixzLz0yLHIvPTJ9ZnVuY3Rpb24gYShlLHQpe3JldHVybiAxPT09bz9lW3RdOmUucmVhZFVJbnQxNkJFKHQqbyl9aWYoZil7dmFyIGg9LTE7Zm9yKGk9cjtpPHU7aSsrKWlmKGEoZSxpKT09PWEodCwtMT09PWg/MDppLWgpKXtpZigtMT09PWgmJihoPWkpLGktaCsxPT09cylyZXR1cm4gaCpvfWVsc2UtMSE9PWgmJihpLT1pLWgpLGg9LTF9ZWxzZSBmb3IocitzPnUmJihyPXUtcyksaT1yO2k+PTA7aS0tKXtmb3IodmFyIGM9ITAsbD0wO2w8cztsKyspaWYoYShlLGkrbCkhPT1hKHQsbCkpe2M9ITE7YnJlYWt9aWYoYylyZXR1cm4gaX1yZXR1cm4tMX1mdW5jdGlvbiBoZXhXcml0ZShlLHQscixuKXtyPU51bWJlcihyKXx8MDt2YXIgZj1lLmxlbmd0aC1yO24/KG49TnVtYmVyKG4pKT5mJiYobj1mKTpuPWY7dmFyIGk9dC5sZW5ndGg7bj5pLzImJihuPWkvMik7Zm9yKHZhciBvPTA7bzxuOysrbyl7dmFyIHU9cGFyc2VJbnQodC5zdWJzdHIoMipvLDIpLDE2KTtpZihudW1iZXJJc05hTih1KSlyZXR1cm4gbztlW3Irb109dX1yZXR1cm4gb31mdW5jdGlvbiB1dGY4V3JpdGUoZSx0LHIsbil7cmV0dXJuIGJsaXRCdWZmZXIodXRmOFRvQnl0ZXModCxlLmxlbmd0aC1yKSxlLHIsbil9ZnVuY3Rpb24gYXNjaWlXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcihhc2NpaVRvQnl0ZXModCksZSxyLG4pfWZ1bmN0aW9uIGxhdGluMVdyaXRlKGUsdCxyLG4pe3JldHVybiBhc2NpaVdyaXRlKGUsdCxyLG4pfWZ1bmN0aW9uIGJhc2U2NFdyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKGJhc2U2NFRvQnl0ZXModCksZSxyLG4pfWZ1bmN0aW9uIHVjczJXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBiYXNlNjRTbGljZShlLHQscil7cmV0dXJuIDA9PT10JiZyPT09ZS5sZW5ndGg/YmFzZTY0LmZyb21CeXRlQXJyYXkoZSk6YmFzZTY0LmZyb21CeXRlQXJyYXkoZS5zbGljZSh0LHIpKX1mdW5jdGlvbiB1dGY4U2xpY2UoZSx0LHIpe3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBuPVtdLGY9dDtmPHI7KXt2YXIgaSxvLHUscyxhPWVbZl0saD1udWxsLGM9YT4yMzk/NDphPjIyMz8zOmE+MTkxPzI6MTtpZihmK2M8PXIpc3dpdGNoKGMpe2Nhc2UgMTphPDEyOCYmKGg9YSk7YnJlYWs7Y2FzZSAyOjEyOD09KDE5MiYoaT1lW2YrMV0pKSYmKHM9KDMxJmEpPDw2fDYzJmkpPjEyNyYmKGg9cyk7YnJlYWs7Y2FzZSAzOmk9ZVtmKzFdLG89ZVtmKzJdLDEyOD09KDE5MiZpKSYmMTI4PT0oMTkyJm8pJiYocz0oMTUmYSk8PDEyfCg2MyZpKTw8Nnw2MyZvKT4yMDQ3JiYoczw1NTI5Nnx8cz41NzM0MykmJihoPXMpO2JyZWFrO2Nhc2UgNDppPWVbZisxXSxvPWVbZisyXSx1PWVbZiszXSwxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZvKSYmMTI4PT0oMTkyJnUpJiYocz0oMTUmYSk8PDE4fCg2MyZpKTw8MTJ8KDYzJm8pPDw2fDYzJnUpPjY1NTM1JiZzPDExMTQxMTImJihoPXMpfW51bGw9PT1oPyhoPTY1NTMzLGM9MSk6aD42NTUzNSYmKGgtPTY1NTM2LG4ucHVzaChoPj4+MTAmMTAyM3w1NTI5NiksaD01NjMyMHwxMDIzJmgpLG4ucHVzaChoKSxmKz1jfXJldHVybiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkobil9ZXhwb3J0cy5rTWF4TGVuZ3RoPUtfTUFYX0xFTkdUSCxCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVD10eXBlZEFycmF5U3VwcG9ydCgpLEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUfHxcInVuZGVmaW5lZFwiPT10eXBlb2YgY29uc29sZXx8XCJmdW5jdGlvblwiIT10eXBlb2YgY29uc29sZS5lcnJvcnx8Y29uc29sZS5lcnJvcihcIlRoaXMgYnJvd3NlciBsYWNrcyB0eXBlZCBhcnJheSAoVWludDhBcnJheSkgc3VwcG9ydCB3aGljaCBpcyByZXF1aXJlZCBieSBgYnVmZmVyYCB2NS54LiBVc2UgYGJ1ZmZlcmAgdjQueCBpZiB5b3UgcmVxdWlyZSBvbGQgYnJvd3NlciBzdXBwb3J0LlwiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSxcInBhcmVudFwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKEJ1ZmZlci5pc0J1ZmZlcih0aGlzKSlyZXR1cm4gdGhpcy5idWZmZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlci5wcm90b3R5cGUsXCJvZmZzZXRcIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihCdWZmZXIuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnl0ZU9mZnNldH19KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2wuc3BlY2llcyYmQnVmZmVyW1N5bWJvbC5zcGVjaWVzXT09PUJ1ZmZlciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlcixTeW1ib2wuc3BlY2llcyx7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMX0pLEJ1ZmZlci5wb29sU2l6ZT04MTkyLEJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnJvbShlLHQscil9LEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLEJ1ZmZlci5fX3Byb3RvX189VWludDhBcnJheSxCdWZmZXIuYWxsb2M9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBhbGxvYyhlLHQscil9LEJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9LEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGFsbG9jVW5zYWZlKGUpfSxCdWZmZXIuaXNCdWZmZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJiEwPT09ZS5faXNCdWZmZXImJmUhPT1CdWZmZXIucHJvdG90eXBlfSxCdWZmZXIuY29tcGFyZT1mdW5jdGlvbihlLHQpe2lmKGlzSW5zdGFuY2UoZSxVaW50OEFycmF5KSYmKGU9QnVmZmVyLmZyb20oZSxlLm9mZnNldCxlLmJ5dGVMZW5ndGgpKSxpc0luc3RhbmNlKHQsVWludDhBcnJheSkmJih0PUJ1ZmZlci5mcm9tKHQsdC5vZmZzZXQsdC5ieXRlTGVuZ3RoKSksIUJ1ZmZlci5pc0J1ZmZlcihlKXx8IUJ1ZmZlci5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJidWYxXCIsIFwiYnVmMlwiIGFyZ3VtZW50cyBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aWYoZT09PXQpcmV0dXJuIDA7Zm9yKHZhciByPWUubGVuZ3RoLG49dC5sZW5ndGgsZj0wLGk9TWF0aC5taW4ocixuKTtmPGk7KytmKWlmKGVbZl0hPT10W2ZdKXtyPWVbZl0sbj10W2ZdO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH0sQnVmZmVyLmlzRW5jb2Rpbmc9ZnVuY3Rpb24oZSl7c3dpdGNoKFN0cmluZyhlKS50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxCdWZmZXIuY29uY2F0PWZ1bmN0aW9uKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PWUubGVuZ3RoKXJldHVybiBCdWZmZXIuYWxsb2MoMCk7dmFyIHI7aWYodm9pZCAwPT09dClmb3IodD0wLHI9MDtyPGUubGVuZ3RoOysrcil0Kz1lW3JdLmxlbmd0aDt2YXIgbj1CdWZmZXIuYWxsb2NVbnNhZmUodCksZj0wO2ZvcihyPTA7cjxlLmxlbmd0aDsrK3Ipe3ZhciBpPWVbcl07aWYoaXNJbnN0YW5jZShpLFVpbnQ4QXJyYXkpJiYoaT1CdWZmZXIuZnJvbShpKSksIUJ1ZmZlci5pc0J1ZmZlcihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpLmNvcHkobixmKSxmKz1pLmxlbmd0aH1yZXR1cm4gbn0sQnVmZmVyLmJ5dGVMZW5ndGg9Ynl0ZUxlbmd0aCxCdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxCdWZmZXIucHJvdG90eXBlLnN3YXAxNj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlMiE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzXCIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz0yKXN3YXAodGhpcyx0LHQrMSk7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyLWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTQpc3dhcCh0aGlzLHQsdCszKSxzd2FwKHRoaXMsdCsxLHQrMik7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDY0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU4IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTgpc3dhcCh0aGlzLHQsdCs3KSxzd2FwKHRoaXMsdCsxLHQrNiksc3dhcCh0aGlzLHQrMix0KzUpLHN3YXAodGhpcyx0KzMsdCs0KTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiAwPT09ZT9cIlwiOjA9PT1hcmd1bWVudHMubGVuZ3RoP3V0ZjhTbGljZSh0aGlzLDAsZSk6c2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQnVmZmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZz1CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nLEJ1ZmZlci5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGUpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXJcIik7cmV0dXJuIHRoaXM9PT1lfHwwPT09QnVmZmVyLmNvbXBhcmUodGhpcyxlKX0sQnVmZmVyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7dmFyIGU9XCJcIix0PWV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIGU9dGhpcy50b1N0cmluZyhcImhleFwiLDAsdCkucmVwbGFjZSgvKC57Mn0pL2csXCIkMSBcIikudHJpbSgpLHRoaXMubGVuZ3RoPnQmJihlKz1cIiAuLi4gXCIpLFwiPEJ1ZmZlciBcIitlK1wiPlwifSxCdWZmZXIucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24oZSx0LHIsbixmKXtpZihpc0luc3RhbmNlKGUsVWludDhBcnJheSkmJihlPUJ1ZmZlci5mcm9tKGUsZS5vZmZzZXQsZS5ieXRlTGVuZ3RoKSksIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJ0YXJnZXRcIiBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5LiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO2lmKHZvaWQgMD09PXQmJih0PTApLHZvaWQgMD09PXImJihyPWU/ZS5sZW5ndGg6MCksdm9pZCAwPT09biYmKG49MCksdm9pZCAwPT09ZiYmKGY9dGhpcy5sZW5ndGgpLHQ8MHx8cj5lLmxlbmd0aHx8bjwwfHxmPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwib3V0IG9mIHJhbmdlIGluZGV4XCIpO2lmKG4+PWYmJnQ+PXIpcmV0dXJuIDA7aWYobj49ZilyZXR1cm4tMTtpZih0Pj1yKXJldHVybiAxO2lmKHRoaXM9PT1lKXJldHVybiAwO2Zvcih2YXIgaT0oZj4+Pj0wKS0obj4+Pj0wKSxvPShyPj4+PTApLSh0Pj4+PTApLHU9TWF0aC5taW4oaSxvKSxzPXRoaXMuc2xpY2UobixmKSxhPWUuc2xpY2UodCxyKSxoPTA7aDx1OysraClpZihzW2hdIT09YVtoXSl7aT1zW2hdLG89YVtoXTticmVha31yZXR1cm4gaTxvPy0xOm88aT8xOjB9LEJ1ZmZlci5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24oZSx0LHIpe3JldHVybi0xIT09dGhpcy5pbmRleE9mKGUsdCxyKX0sQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcyxlLHQsciwhMCl9LEJ1ZmZlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLGUsdCxyLCExKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscixuKXtpZih2b2lkIDA9PT10KW49XCJ1dGY4XCIscj10aGlzLmxlbmd0aCx0PTA7ZWxzZSBpZih2b2lkIDA9PT1yJiZcInN0cmluZ1wiPT10eXBlb2YgdCluPXQscj10aGlzLmxlbmd0aCx0PTA7ZWxzZXtpZighaXNGaW5pdGUodCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWRcIik7dD4+Pj0wLGlzRmluaXRlKHIpPyhyPj4+PTAsdm9pZCAwPT09biYmKG49XCJ1dGY4XCIpKToobj1yLHI9dm9pZCAwKX12YXIgZj10aGlzLmxlbmd0aC10O2lmKCh2b2lkIDA9PT1yfHxyPmYpJiYocj1mKSxlLmxlbmd0aD4wJiYocjwwfHx0PDApfHx0PnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHNcIik7bnx8KG49XCJ1dGY4XCIpO2Zvcih2YXIgaT0hMTs7KXN3aXRjaChuKXtjYXNlXCJoZXhcIjpyZXR1cm4gaGV4V3JpdGUodGhpcyxlLHQscik7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJhc2NpaVwiOnJldHVybiBhc2NpaVdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOnJldHVybiBsYXRpbjFXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0V3JpdGUodGhpcyxlLHQscik7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuIHVjczJXcml0ZSh0aGlzLGUsdCxyKTtkZWZhdWx0OmlmKGkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK24pO249KFwiXCIrbikudG9Mb3dlckNhc2UoKSxpPSEwfX0sQnVmZmVyLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTpcIkJ1ZmZlclwiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIE1BWF9BUkdVTUVOVFNfTEVOR1RIPTQwOTY7ZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQ8PU1BWF9BUkdVTUVOVFNfTEVOR1RIKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlKTtmb3IodmFyIHI9XCJcIixuPTA7bjx0OylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlLnNsaWNlKG4sbis9TUFYX0FSR1VNRU5UU19MRU5HVEgpKTtyZXR1cm4gcn1mdW5jdGlvbiBhc2NpaVNsaWNlKGUsdCxyKXt2YXIgbj1cIlwiO3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBmPXQ7ZjxyOysrZiluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZlW2ZdKTtyZXR1cm4gbn1mdW5jdGlvbiBsYXRpbjFTbGljZShlLHQscil7dmFyIG49XCJcIjtyPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgZj10O2Y8cjsrK2Ypbis9U3RyaW5nLmZyb21DaGFyQ29kZShlW2ZdKTtyZXR1cm4gbn1mdW5jdGlvbiBoZXhTbGljZShlLHQscil7dmFyIG49ZS5sZW5ndGg7KCF0fHx0PDApJiYodD0wKSwoIXJ8fHI8MHx8cj5uKSYmKHI9bik7Zm9yKHZhciBmPVwiXCIsaT10O2k8cjsrK2kpZis9dG9IZXgoZVtpXSk7cmV0dXJuIGZ9ZnVuY3Rpb24gdXRmMTZsZVNsaWNlKGUsdCxyKXtmb3IodmFyIG49ZS5zbGljZSh0LHIpLGY9XCJcIixpPTA7aTxuLmxlbmd0aDtpKz0yKWYrPVN0cmluZy5mcm9tQ2hhckNvZGUobltpXSsyNTYqbltpKzFdKTtyZXR1cm4gZn1mdW5jdGlvbiBjaGVja09mZnNldChlLHQscil7aWYoZSUxIT0wfHxlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvZmZzZXQgaXMgbm90IHVpbnRcIik7aWYoZSt0PnIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoXCIpfWZ1bmN0aW9uIGNoZWNrSW50KGUsdCxyLG4sZixpKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpO2lmKHQ+Znx8dDxpKXRocm93IG5ldyBSYW5nZUVycm9yKCdcInZhbHVlXCIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpO2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKX1mdW5jdGlvbiBjaGVja0lFRUU3NTQoZSx0LHIsbixmLGkpe2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKTtpZihyPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIil9ZnVuY3Rpb24gd3JpdGVGbG9hdChlLHQscixuLGYpe3JldHVybiB0PSt0LHI+Pj49MCxmfHxjaGVja0lFRUU3NTQoZSx0LHIsNCwzLjQwMjgyMzQ2NjM4NTI4ODZlMzgsLTMuNDAyODIzNDY2Mzg1Mjg4NmUzOCksaWVlZTc1NC53cml0ZShlLHQscixuLDIzLDQpLHIrNH1mdW5jdGlvbiB3cml0ZURvdWJsZShlLHQscixuLGYpe3JldHVybiB0PSt0LHI+Pj49MCxmfHxjaGVja0lFRUU3NTQoZSx0LHIsOCwxLjc5NzY5MzEzNDg2MjMxNTdlMzA4LC0xLjc5NzY5MzEzNDg2MjMxNTdlMzA4KSxpZWVlNzU0LndyaXRlKGUsdCxyLG4sNTIsOCkscis4fUJ1ZmZlci5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmxlbmd0aDsoZT1+fmUpPDA/KGUrPXIpPDAmJihlPTApOmU+ciYmKGU9ciksKHQ9dm9pZCAwPT09dD9yOn5+dCk8MD8odCs9cik8MCYmKHQ9MCk6dD5yJiYodD1yKSx0PGUmJih0PWUpO3ZhciBuPXRoaXMuc3ViYXJyYXkoZSx0KTtyZXR1cm4gbi5fX3Byb3RvX189QnVmZmVyLnByb3RvdHlwZSxufSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1tlXSxmPTEsaT0wOysraTx0JiYoZio9MjU2KTspbis9dGhpc1tlK2ldKmY7cmV0dXJuIG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2UrLS10XSxmPTE7dD4wJiYoZio9MjU2KTspbis9dGhpc1tlKy0tdF0qZjtyZXR1cm4gbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMSx0aGlzLmxlbmd0aCksdGhpc1tlXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh9LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDh8dGhpc1tlKzFdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSwodGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNikrMTY3NzcyMTYqdGhpc1tlKzNdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSwxNjc3NzIxNip0aGlzW2VdKyh0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM10pfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2VdLGY9MSxpPTA7KytpPHQmJihmKj0yNTYpOyluKz10aGlzW2UraV0qZjtyZXR1cm4gbj49KGYqPTEyOCkmJihuLT1NYXRoLnBvdygyLDgqdCkpLG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXQsZj0xLGk9dGhpc1tlKy0tbl07bj4wJiYoZio9MjU2KTspaSs9dGhpc1tlKy0tbl0qZjtyZXR1cm4gaT49KGYqPTEyOCkmJihpLT1NYXRoLnBvdygyLDgqdCkpLGl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMSx0aGlzLmxlbmd0aCksMTI4JnRoaXNbZV0/LTEqKDI1NS10aGlzW2VdKzEpOnRoaXNbZV19LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24oZSx0KXtlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW2VdfHRoaXNbZSsxXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbihlLHQpe2U+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbZSsxXXx0aGlzW2VdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV18dGhpc1tlKzFdPDw4fHRoaXNbZSsyXTw8MTZ8dGhpc1tlKzNdPDwyNH0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2VdPDwyNHx0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM119LEJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksaWVlZTc1NC5yZWFkKHRoaXMsZSwhMCwyMyw0KX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCExLDIzLDQpfSxCdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw4LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCEwLDUyLDgpfSxCdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw4LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCExLDUyLDgpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKGUsdCxyLG4peyhlPStlLHQ+Pj49MCxyPj4+PTAsbil8fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9MSxpPTA7Zm9yKHRoaXNbdF09MjU1JmU7KytpPHImJihmKj0yNTYpOyl0aGlzW3QraV09ZS9mJjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uKGUsdCxyLG4peyhlPStlLHQ+Pj49MCxyPj4+PTAsbil8fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9ci0xLGk9MTtmb3IodGhpc1t0K2ZdPTI1NSZlOy0tZj49MCYmKGkqPTI1Nik7KXRoaXNbdCtmXT1lL2kmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMjU1LDApLHRoaXNbdF09MjU1JmUsdCsxfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDY1NTM1LDApLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiw2NTUzNSwwKSx0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSx0KzJ9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx0aGlzW3QrM109ZT4+PjI0LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdF09MjU1JmUsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlLHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9MCxvPTEsdT0wO2Zvcih0aGlzW3RdPTI1NSZlOysraTxyJiYobyo9MjU2KTspZTwwJiYwPT09dSYmMCE9PXRoaXNbdCtpLTFdJiYodT0xKSx0aGlzW3QraV09KGUvbz4+MCktdSYyNTU7cmV0dXJuIHQrcn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9ci0xLG89MSx1PTA7Zm9yKHRoaXNbdCtpXT0yNTUmZTstLWk+PTAmJihvKj0yNTYpOyllPDAmJjA9PT11JiYwIT09dGhpc1t0K2krMV0mJih1PTEpLHRoaXNbdCtpXT0oZS9vPj4wKS11JjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMTI3LC0xMjgpLGU8MCYmKGU9MjU1K2UrMSksdGhpc1t0XT0yNTUmZSx0KzF9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDMyNzY3LC0zMjc2OCksdGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrM109ZT4+PjI0LHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHRoaXNbdF09ZT4+PjI0LHRoaXNbdCsxXT1lPj4+MTYsdGhpc1t0KzJdPWU+Pj44LHRoaXNbdCszXT0yNTUmZSx0KzR9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVGbG9hdCh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZUZsb2F0KHRoaXMsZSx0LCExLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZURvdWJsZSh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVEb3VibGUodGhpcyxlLHQsITEscil9LEJ1ZmZlci5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzaG91bGQgYmUgYSBCdWZmZXJcIik7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSx0Pj1lLmxlbmd0aCYmKHQ9ZS5sZW5ndGgpLHR8fCh0PTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZih0PDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzXCIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKFwic291cmNlRW5kIG91dCBvZiBib3VuZHNcIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBmPW4tcjtpZih0aGlzPT09ZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbil0aGlzLmNvcHlXaXRoaW4odCxyLG4pO2Vsc2UgaWYodGhpcz09PWUmJnI8dCYmdDxuKWZvcih2YXIgaT1mLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKGUsdGhpcy5zdWJhcnJheShyLG4pLHQpO3JldHVybiBmfSxCdWZmZXIucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oZSx0LHIsbil7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOlwic3RyaW5nXCI9PXR5cGVvZiByJiYobj1yLHI9dGhpcy5sZW5ndGgpLHZvaWQgMCE9PW4mJlwic3RyaW5nXCIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoXCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nXCIpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBuJiYhQnVmZmVyLmlzRW5jb2RpbmcobikpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK24pO2lmKDE9PT1lLmxlbmd0aCl7dmFyIGY9ZS5jaGFyQ29kZUF0KDApOyhcInV0ZjhcIj09PW4mJmY8MTI4fHxcImxhdGluMVwiPT09bikmJihlPWYpfX1lbHNlXCJudW1iZXJcIj09dHlwZW9mIGUmJihlJj0yNTUpO2lmKHQ8MHx8dGhpcy5sZW5ndGg8dHx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk91dCBvZiByYW5nZSBpbmRleFwiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBpO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksXCJudW1iZXJcIj09dHlwZW9mIGUpZm9yKGk9dDtpPHI7KytpKXRoaXNbaV09ZTtlbHNle3ZhciBvPUJ1ZmZlci5pc0J1ZmZlcihlKT9lOkJ1ZmZlci5mcm9tKGUsbiksdT1vLmxlbmd0aDtpZigwPT09dSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgdmFsdWUgXCInK2UrJ1wiIGlzIGludmFsaWQgZm9yIGFyZ3VtZW50IFwidmFsdWVcIicpO2ZvcihpPTA7aTxyLXQ7KytpKXRoaXNbaSt0XT1vW2kldV19cmV0dXJuIHRoaXN9O3ZhciBJTlZBTElEX0JBU0U2NF9SRT0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIGJhc2U2NGNsZWFuKGUpe2lmKChlPShlPWUuc3BsaXQoXCI9XCIpWzBdKS50cmltKCkucmVwbGFjZShJTlZBTElEX0JBU0U2NF9SRSxcIlwiKSkubGVuZ3RoPDIpcmV0dXJuXCJcIjtmb3IoO2UubGVuZ3RoJTQhPTA7KWUrPVwiPVwiO3JldHVybiBlfWZ1bmN0aW9uIHRvSGV4KGUpe3JldHVybiBlPDE2P1wiMFwiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHV0ZjhUb0J5dGVzKGUsdCl7dmFyIHI7dD10fHwxLzA7Zm9yKHZhciBuPWUubGVuZ3RoLGY9bnVsbCxpPVtdLG89MDtvPG47KytvKXtpZigocj1lLmNoYXJDb2RlQXQobykpPjU1Mjk1JiZyPDU3MzQ0KXtpZighZil7aWYocj41NjMxOSl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWlmKG8rMT09PW4peyh0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1mPXI7Y29udGludWV9aWYocjw1NjMyMCl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpLGY9cjtjb250aW51ZX1yPTY1NTM2KyhmLTU1Mjk2PDwxMHxyLTU2MzIwKX1lbHNlIGYmJih0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtpZihmPW51bGwscjwxMjgpe2lmKCh0LT0xKTwwKWJyZWFrO2kucHVzaChyKX1lbHNlIGlmKHI8MjA0OCl7aWYoKHQtPTIpPDApYnJlYWs7aS5wdXNoKHI+PjZ8MTkyLDYzJnJ8MTI4KX1lbHNlIGlmKHI8NjU1MzYpe2lmKCh0LT0zKTwwKWJyZWFrO2kucHVzaChyPj4xMnwyMjQscj4+NiY2M3wxMjgsNjMmcnwxMjgpfWVsc2V7aWYoIShyPDExMTQxMTIpKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY29kZSBwb2ludFwiKTtpZigodC09NCk8MClicmVhaztpLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBpfWZ1bmN0aW9uIGFzY2lpVG9CeXRlcyhlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7KytyKXQucHVzaCgyNTUmZS5jaGFyQ29kZUF0KHIpKTtyZXR1cm4gdH1mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyhlLHQpe2Zvcih2YXIgcixuLGYsaT1bXSxvPTA7bzxlLmxlbmd0aCYmISgodC09Mik8MCk7KytvKW49KHI9ZS5jaGFyQ29kZUF0KG8pKT4+OCxmPXIlMjU2LGkucHVzaChmKSxpLnB1c2gobik7cmV0dXJuIGl9ZnVuY3Rpb24gYmFzZTY0VG9CeXRlcyhlKXtyZXR1cm4gYmFzZTY0LnRvQnl0ZUFycmF5KGJhc2U2NGNsZWFuKGUpKX1mdW5jdGlvbiBibGl0QnVmZmVyKGUsdCxyLG4pe2Zvcih2YXIgZj0wO2Y8biYmIShmK3I+PXQubGVuZ3RofHxmPj1lLmxlbmd0aCk7KytmKXRbZityXT1lW2ZdO3JldHVybiBmfWZ1bmN0aW9uIGlzSW5zdGFuY2UoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIHR8fG51bGwhPWUmJm51bGwhPWUuY29uc3RydWN0b3ImJm51bGwhPWUuY29uc3RydWN0b3IubmFtZSYmZS5jb25zdHJ1Y3Rvci5uYW1lPT09dC5uYW1lfWZ1bmN0aW9uIG51bWJlcklzTmFOKGUpe3JldHVybiBlIT1lfVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSmhjMlUyTkNJc0luSmxjWFZwY21VaUxDSnBaV1ZsTnpVMElpd2laWGh3YjNKMGN5SXNJa0oxWm1abGNpSXNJbE5zYjNkQ2RXWm1aWElpTENKSlRsTlFSVU5VWDAxQldGOUNXVlJGVXlJc0lrdGZUVUZZWDB4RlRrZFVTQ0lzSW5SNWNHVmtRWEp5WVhsVGRYQndiM0owSWl3aVlYSnlJaXdpVldsdWREaEJjbkpoZVNJc0lsOWZjSEp2ZEc5Zlh5SXNJbkJ5YjNSdmRIbHdaU0lzSW1admJ5SXNJbVVpTENKamNtVmhkR1ZDZFdabVpYSWlMQ0pzWlc1bmRHZ2lMQ0pTWVc1blpVVnljbTl5SWl3aVluVm1JaXdpWVhKbklpd2laVzVqYjJScGJtZFBjazltWm5ObGRDSXNJbFI1Y0dWRmNuSnZjaUlzSW1Gc2JHOWpWVzV6WVdabElpd2labkp2YlNJc0luWmhiSFZsSWl3aVpuSnZiVk4wY21sdVp5SXNJa0Z5Y21GNVFuVm1abVZ5SWl3aWFYTldhV1YzSWl3aVpuSnZiVUZ5Y21GNVRHbHJaU0lzSW1selNXNXpkR0Z1WTJVaUxDSmlkV1ptWlhJaUxDSm1jbTl0UVhKeVlYbENkV1ptWlhJaUxDSjJZV3gxWlU5bUlpd2lZaUlzSW1aeWIyMVBZbXBsWTNRaUxDSlRlVzFpYjJ3aUxDSjBiMUJ5YVcxcGRHbDJaU0lzSW1GemMyVnlkRk5wZW1VaUxDSnphWHBsSWl3aVlXeHNiMk1pTENKbWFXeHNJaXdpWlc1amIyUnBibWNpTENKMWJtUmxabWx1WldRaUxDSmphR1ZqYTJWa0lpd2ljM1J5YVc1bklpd2lhWE5GYm1OdlpHbHVaeUlzSW1KNWRHVk1aVzVuZEdnaUxDSmhZM1IxWVd3aUxDSjNjbWwwWlNJc0luTnNhV05sSWl3aVlYSnlZWGtpTENKcElpd2lZbmwwWlU5bVpuTmxkQ0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpYkdWdUlpd2lZMjl3ZVNJc0ltNTFiV0psY2tselRtRk9JaXdpZEhsd1pTSXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJbVJoZEdFaUxDSjBiMU4wY21sdVp5SXNJbTExYzNSTllYUmphQ0lzSW1GeVozVnRaVzUwY3lJc0lteHZkMlZ5WldSRFlYTmxJaXdpZFhSbU9GUnZRbmwwWlhNaUxDSmlZWE5sTmpSVWIwSjVkR1Z6SWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0p6Ykc5M1ZHOVRkSEpwYm1jaUxDSnpkR0Z5ZENJc0ltVnVaQ0lzSW5Sb2FYTWlMQ0pvWlhoVGJHbGpaU0lzSW5WMFpqaFRiR2xqWlNJc0ltRnpZMmxwVTJ4cFkyVWlMQ0pzWVhScGJqRlRiR2xqWlNJc0ltSmhjMlUyTkZOc2FXTmxJaXdpZFhSbU1UWnNaVk5zYVdObElpd2ljM2RoY0NJc0ltNGlMQ0p0SWl3aVltbGthWEpsWTNScGIyNWhiRWx1WkdWNFQyWWlMQ0oyWVd3aUxDSmthWElpTENKaGNuSmhlVWx1WkdWNFQyWWlMQ0pwYm1SbGVFOW1JaXdpWTJGc2JDSXNJbXhoYzNSSmJtUmxlRTltSWl3aWFXNWtaWGhUYVhwbElpd2lZWEp5VEdWdVozUm9JaXdpZG1Gc1RHVnVaM1JvSWl3aVUzUnlhVzVuSWl3aWNtVmhaQ0lzSW5KbFlXUlZTVzUwTVRaQ1JTSXNJbVp2ZFc1a1NXNWtaWGdpTENKbWIzVnVaQ0lzSW1vaUxDSm9aWGhYY21sMFpTSXNJbTltWm5ObGRDSXNJazUxYldKbGNpSXNJbkpsYldGcGJtbHVaeUlzSW5OMGNreGxiaUlzSW5CaGNuTmxaQ0lzSW5CaGNuTmxTVzUwSWl3aWMzVmljM1J5SWl3aWRYUm1PRmR5YVhSbElpd2lZbXhwZEVKMVptWmxjaUlzSW1GelkybHBWM0pwZEdVaUxDSmhjMk5wYVZSdlFubDBaWE1pTENKc1lYUnBiakZYY21sMFpTSXNJbUpoYzJVMk5GZHlhWFJsSWl3aWRXTnpNbGR5YVhSbElpd2lkWFJtTVRac1pWUnZRbmwwWlhNaUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aVRXRjBhQ0lzSW0xcGJpSXNJbkpsY3lJc0luTmxZMjl1WkVKNWRHVWlMQ0owYUdseVpFSjVkR1VpTENKbWIzVnlkR2hDZVhSbElpd2lkR1Z0Y0VOdlpHVlFiMmx1ZENJc0ltWnBjbk4wUW5sMFpTSXNJbU52WkdWUWIybHVkQ0lzSW1KNWRHVnpVR1Z5VTJWeGRXVnVZMlVpTENKd2RYTm9JaXdpWkdWamIyUmxRMjlrWlZCdmFXNTBjMEZ5Y21GNUlpd2lhMDFoZUV4bGJtZDBhQ0lzSWxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRaUxDSmpiMjV6YjJ4bElpd2laWEp5YjNJaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpjR1ZqYVdWeklpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aWQzSnBkR0ZpYkdVaUxDSndiMjlzVTJsNlpTSXNJbUZzYkc5alZXNXpZV1psVTJ4dmR5SXNJbDlwYzBKMVptWmxjaUlzSW1OdmJYQmhjbVVpTENKaElpd2llQ0lzSW5raUxDSmpiMjVqWVhRaUxDSnNhWE4wSWl3aWNHOXpJaXdpYzNkaGNERTJJaXdpYzNkaGNETXlJaXdpYzNkaGNEWTBJaXdpWVhCd2JIa2lMQ0owYjB4dlkyRnNaVk4wY21sdVp5SXNJbVZ4ZFdGc2N5SXNJbWx1YzNCbFkzUWlMQ0p6ZEhJaUxDSnRZWGdpTENKeVpYQnNZV05sSWl3aWRISnBiU0lzSW5SaGNtZGxkQ0lzSW5Sb2FYTlRkR0Z5ZENJc0luUm9hWE5GYm1RaUxDSjBhR2x6UTI5d2VTSXNJblJoY21kbGRFTnZjSGtpTENKcGJtTnNkV1JsY3lJc0ltbHpSbWx1YVhSbElpd2lSWEp5YjNJaUxDSjBiMHBUVDA0aUxDSmZZWEp5SWl3aVRVRllYMEZTUjFWTlJVNVVVMTlNUlU1SFZFZ2lMQ0pqYjJSbFVHOXBiblJ6SWl3aVpuSnZiVU5vWVhKRGIyUmxJaXdpY21WMElpd2liM1YwSWl3aWRHOUlaWGdpTENKaWVYUmxjeUlzSW1Ob1pXTnJUMlptYzJWMElpd2laWGgwSWl3aVkyaGxZMnRKYm5RaUxDSmphR1ZqYTBsRlJVVTNOVFFpTENKM2NtbDBaVVpzYjJGMElpd2liR2wwZEd4bFJXNWthV0Z1SWl3aWJtOUJjM05sY25RaUxDSjNjbWwwWlVSdmRXSnNaU0lzSW01bGQwSjFaaUlzSW5OMVltRnljbUY1SWl3aWNtVmhaRlZKYm5STVJTSXNJbTExYkNJc0luSmxZV1JWU1c1MFFrVWlMQ0p5WldGa1ZVbHVkRGdpTENKeVpXRmtWVWx1ZERFMlRFVWlMQ0p5WldGa1ZVbHVkRE15VEVVaUxDSnlaV0ZrVlVsdWRETXlRa1VpTENKeVpXRmtTVzUwVEVVaUxDSndiM2NpTENKeVpXRmtTVzUwUWtVaUxDSnlaV0ZrU1c1ME9DSXNJbkpsWVdSSmJuUXhOa3hGSWl3aWNtVmhaRWx1ZERFMlFrVWlMQ0p5WldGa1NXNTBNekpNUlNJc0luSmxZV1JKYm5Rek1rSkZJaXdpY21WaFpFWnNiMkYwVEVVaUxDSnlaV0ZrUm14dllYUkNSU0lzSW5KbFlXUkViM1ZpYkdWTVJTSXNJbkpsWVdSRWIzVmliR1ZDUlNJc0luZHlhWFJsVlVsdWRFeEZJaXdpZDNKcGRHVlZTVzUwUWtVaUxDSjNjbWwwWlZWSmJuUTRJaXdpZDNKcGRHVlZTVzUwTVRaTVJTSXNJbmR5YVhSbFZVbHVkREUyUWtVaUxDSjNjbWwwWlZWSmJuUXpNa3hGSWl3aWQzSnBkR1ZWU1c1ME16SkNSU0lzSW5keWFYUmxTVzUwVEVVaUxDSnNhVzFwZENJc0luTjFZaUlzSW5keWFYUmxTVzUwUWtVaUxDSjNjbWwwWlVsdWREZ2lMQ0ozY21sMFpVbHVkREUyVEVVaUxDSjNjbWwwWlVsdWRERTJRa1VpTENKM2NtbDBaVWx1ZERNeVRFVWlMQ0ozY21sMFpVbHVkRE15UWtVaUxDSjNjbWwwWlVac2IyRjBURVVpTENKM2NtbDBaVVpzYjJGMFFrVWlMQ0ozY21sMFpVUnZkV0pzWlV4Rklpd2lkM0pwZEdWRWIzVmliR1ZDUlNJc0luUmhjbWRsZEZOMFlYSjBJaXdpWTI5d2VWZHBkR2hwYmlJc0luTmxkQ0lzSW1OdlpHVWlMQ0pqYUdGeVEyOWtaVUYwSWl3aVNVNVdRVXhKUkY5Q1FWTkZOalJmVWtVaUxDSmlZWE5sTmpSamJHVmhiaUlzSW5Od2JHbDBJaXdpZFc1cGRITWlMQ0pKYm1acGJtbDBlU0lzSW14bFlXUlRkWEp5YjJkaGRHVWlMQ0ppZVhSbFFYSnlZWGtpTENKaklpd2lhR2tpTENKc2J5SXNJblJ2UW5sMFpVRnljbUY1SWl3aWMzSmpJaXdpWkhOMElpd2lZMjl1YzNSeWRXTjBiM0lpTENKdVlXMWxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRlJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1lVRkRha0pETEZGQlFWVkVMRkZCUVZFc1YwRkZkRUpGTEZGQlFWRkRMRTlCUVZOQkxFOUJRMnBDUkN4UlFVRlJSU3hYUVVGaFFTeFhRVU55UWtZc1VVRkJVVWNzYTBKQlFXOUNMRWRCUlRWQ0xFbEJRVWxETEdGQlFXVXNWMEV5UW01Q0xGTkJRVk5ETEc5Q1FVVlFMRWxCUTBVc1NVRkJTVU1zUlVGQlRTeEpRVUZKUXl4WFFVRlhMRWRCUlhwQ0xFOUJSRUZFTEVWQlFVbEZMRlZCUVZrc1EwRkJSVUVzVlVGQlYwUXNWMEZCVjBVc1ZVRkJWME1zU1VGQlN5eFhRVUZqTEU5QlFVOHNTMEZEZUVRc1MwRkJaRW9zUlVGQlNVa3NUVUZEV0N4TlFVRlBReXhIUVVOUUxFOUJRVThzUjBGdlFsZ3NVMEZCVTBNc1lVRkJZME1zUjBGRGNrSXNSMEZCU1VFc1JVRkJVMVFzWVVGRFdDeE5RVUZOTEVsQlFVbFZMRmRCUVZjc1kwRkJaMEpFTEVWQlFWTXNhME5CUjJoRUxFbEJRVWxGTEVWQlFVMHNTVUZCU1ZJc1YwRkJWMDBzUjBGRmVrSXNUMEZFUVVVc1JVRkJTVkFzVlVGQldWQXNUMEZCVDFFc1ZVRkRhRUpOTEVWQllWUXNVMEZCVTJRc1QwRkJVV1VzUlVGQlMwTXNSVUZCYTBKS0xFZEJSWFJETEVkQlFXMUNMR2xDUVVGU1J5eEZRVUZyUWl4RFFVTXpRaXhIUVVGblF5eHBRa0ZCY2tKRExFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVTlNMSE5GUVVkS0xFOUJRVTlETEZsQlFWbElMRWRCUlhKQ0xFOUJRVTlKTEV0QlFVdEtMRVZCUVV0RExFVkJRV3RDU2l4SFFXZENja01zVTBGQlUwOHNTMEZCVFVNc1JVRkJUMG9zUlVGQmEwSktMRWRCUTNSRExFZEJRWEZDTEdsQ1FVRldVU3hGUVVOVUxFOUJRVTlETEZkQlFWZEVMRVZCUVU5S0xFZEJSek5DTEVkQlFVbE5MRmxCUVZsRExFOUJRVTlJTEVkQlEzSkNMRTlCUVU5SkxHTkJRV05LTEVkQlIzWkNMRWRCUVdFc1RVRkJWRUVzUlVGRFJpeE5RVUZOU0N4VlFVTktMSGxJUVVOcFJFY3NSMEZKY2tRc1IwRkJTVXNzVjBGQlYwd3NSVUZCVDBVc1kwRkRha0pHTEVkQlFWTkxMRmRCUVZkTUxFVkJRVTFOTEU5QlFWRktMR0ZCUTNKRExFOUJRVTlMTEdkQ1FVRm5RbEFzUlVGQlQwb3NSVUZCYTBKS0xFZEJSMnhFTEVkQlFYRkNMR2xDUVVGV1VTeEZRVU5VTEUxQlFVMHNTVUZCU1Vnc1ZVRkRVaXg1UlVGSlNpeEpRVUZKVnl4RlFVRlZVaXhGUVVGTlVTeFRRVUZYVWl4RlFVRk5VU3hWUVVOeVF5eEhRVUZsTEUxQlFWaEJMRWRCUVcxQ1FTeEpRVUZaVWl4RlFVTnFReXhQUVVGUGNFSXNUMEZCVDIxQ0xFdEJRVXRUTEVWQlFWTmFMRVZCUVd0Q1NpeEhRVWRvUkN4SlFVRkphVUlzUlVGQlNVTXNWMEZCVjFZc1IwRkRia0lzUjBGQlNWTXNSVUZCUnl4UFFVRlBRU3hGUVVWa0xFZEJRWE5DTEc5Q1FVRllSU3hSUVVGblJDeE5RVUYwUWtFc1QwRkJUME1zWVVGRFNDeHRRa0ZCT1VKYUxFVkJRVTFYTEU5QlFVOURMR0ZCUTNSQ0xFOUJRVTlvUXl4UFFVRlBiVUlzUzBGRFdrTXNSVUZCVFZjc1QwRkJUME1zWVVGQllTeFZRVUZYYUVJc1JVRkJhMEpLTEVkQlNUTkVMRTFCUVUwc1NVRkJTVXNzVlVGRFVpeDVTRUZEYVVSSExFZEJjVUp5UkN4VFFVRlRZU3hYUVVGWlF5eEhRVU51UWl4SFFVRnZRaXhwUWtGQlZFRXNSVUZEVkN4TlFVRk5MRWxCUVVscVFpeFZRVUZWTERCRFFVTm1MRWRCUVVscFFpeEZRVUZQTEVWQlEyaENMRTFCUVUwc1NVRkJTWEpDTEZkQlFWY3NZMEZCWjBKeFFpeEZRVUZQTEd0RFFVbG9SQ3hUUVVGVFF5eE5RVUZQUkN4RlFVRk5SU3hGUVVGTlF5eEhRVVV4UWl4UFFVUkJTaXhYUVVGWFF5eEhRVU5RUVN4SFFVRlJMRVZCUTBoMlFpeGhRVUZoZFVJc1VVRkZWRWtzU1VGQlZFWXNSVUZKZVVJc2FVSkJRV0pETEVWQlExWXhRaXhoUVVGaGRVSXNSMEZCVFVVc1MwRkJTMEVzUlVGQlRVTXNSMEZET1VJeFFpeGhRVUZoZFVJc1IwRkJUVVVzUzBGQlMwRXNSMEZGZGtKNlFpeGhRVUZoZFVJc1IwRlhkRUlzVTBGQlUyaENMRmxCUVdGblFpeEhRVVZ3UWl4UFFVUkJSQ3hYUVVGWFF5eEhRVU5LZGtJc1lVRkJZWFZDTEVWQlFVOHNSVUZCU1N4RlFVRnZRaXhGUVVGb1Frc3NVVUZCVVV3c1NVRm5RamRETEZOQlFWTmlMRmRCUVZsdFFpeEZRVUZSU0N4SFFVc3pRaXhIUVVwM1FpeHBRa0ZCWWtFc1IwRkJjME1zUzBGQllrRXNTVUZEYkVOQkxFVkJRVmNzVTBGSFVuSkRMRTlCUVU5NVF5eFhRVUZYU2l4SFFVTnlRaXhOUVVGTkxFbEJRVWx3UWl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUnpkRExFbEJRVWw2UWl4RlFVRjNReXhGUVVFdlFqaENMRmRCUVZkR0xFVkJRVkZJTEVkQlF6VkNka0lzUlVGQlRVZ3NZVUZCWVVNc1IwRkZia0lyUWl4RlFVRlROMElzUlVGQlNUaENMRTFCUVUxS0xFVkJRVkZJTEVkQlV5OUNMRTlCVUVsTkxFbEJRVmN2UWl4SlFVbGlSU3hGUVVGTlFTeEZRVUZKSzBJc1RVRkJUU3hGUVVGSFJpeEpRVWRrTjBJc1JVRkhWQ3hUUVVGVFZTeGpRVUZsYzBJc1IwRkhkRUlzU1VGR1FTeEpRVUZKYkVNc1JVRkJVMnRETEVWQlFVMXNReXhQUVVGVExFVkJRVWtzUlVGQk5FSXNSVUZCZUVJeVFpeFJRVUZSVHl4RlFVRk5iRU1zVVVGRE9VTkZMRVZCUVUxSUxHRkJRV0ZETEVkQlEyUnRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhGUVVGUmJVTXNSMEZCU3l4RlFVTXZRbXBETEVWQlFVbHBReXhIUVVGblFpeEpRVUZZUkN4RlFVRk5ReXhIUVVWcVFpeFBRVUZQYWtNc1JVRkhWQ3hUUVVGVFlTeG5Ra0ZCYVVKdFFpeEZRVUZQUlN4RlFVRlpjRU1zUjBGRE0wTXNSMEZCU1c5RExFVkJRV0VzUjBGQlMwWXNSVUZCVFVvc1YwRkJZVTBzUlVGRGRrTXNUVUZCVFN4SlFVRkpia01zVjBGQlZ5eDNRMEZIZGtJc1IwRkJTV2xETEVWQlFVMUtMRmRCUVdGTkxFZEJRV053UXl4SFFVRlZMRWRCUXpkRExFMUJRVTBzU1VGQlNVTXNWMEZCVnl4M1EwRkhka0lzU1VGQlNVTXNSVUZYU2l4UFFWUkZRU3hQUVVScFFuZENMRWxCUVdaVkxGRkJRWFZEVml4SlFVRllNVUlzUlVGRGVFSXNTVUZCU1U0c1YwRkJWM2RETEZGQlEwUlNMRWxCUVZneFFpeEZRVU5JTEVsQlFVbE9MRmRCUVZkM1F5eEZRVUZQUlN4SFFVVjBRaXhKUVVGSk1VTXNWMEZCVjNkRExFVkJRVTlGTEVWQlFWbHdReXhKUVVsMFEwd3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGFFSk5MRVZCUjFRc1UwRkJVMmRDTEZkQlFWbHRRaXhIUVVOdVFpeEhRVUZKYWtRc1QwRkJUMnRFTEZOQlFWTkVMRWRCUVUwc1EwRkRlRUlzU1VGQlNVVXNSVUZCTkVJc1JVRkJkRUphTEZGQlFWRlZMRVZCUVVseVF5eFJRVU5zUWtVc1JVRkJUVWdzWVVGQllYZERMRWRCUlhaQ0xFOUJRVzFDTEVsQlFXWnlReXhGUVVGSlJpeFBRVU5EUlN4SFFVZFViVU1zUlVGQlNVY3NTMEZCUzNSRExFVkJRVXNzUlVGQlJ5eEZRVUZIY1VNc1IwRkRZbkpETEVkQlIxUXNXVUZCYlVKM1FpeEpRVUZtVnl4RlFVRkpja01zVDBGRGIwSXNhVUpCUVdaeFF5eEZRVUZKY2tNc1VVRkJkVUo1UXl4WlFVRlpTaXhGUVVGSmNrTXNVVUZETjBORUxHRkJRV0VzUjBGRlptRXNZMEZCWTNsQ0xFZEJSMDRzVjBGQllrRXNSVUZCU1Vzc1RVRkJjVUpETEUxQlFVMURMRkZCUVZGUUxFVkJRVWxSTEUxQlEzUkRha01zWTBGQlkzbENMRVZCUVVsUkxGZEJSRE5DTEVWQlMwWXNVMEZCVTJ4Q0xGRkJRVk16UWl4SFFVZG9RaXhIUVVGSlFTeEhRVUZWVkN4aFFVTmFMRTFCUVUwc1NVRkJTVlVzVjBGQlZ5d3dSRUZEWVZZc1lVRkJZWFZFTEZOQlFWTXNTVUZCVFN4VlFVVm9SU3hQUVVGblFpeEZRVUZVT1VNc1JVRkhWQ3hUUVVGVFdDeFhRVUZaVnl4SFFVbHVRaXhQUVVoTFFTeEhRVUZWUVN4SlFVTmlRU3hGUVVGVExFZEJSVXBhTEU5QlFVOXRReXhQUVVGUGRrSXNSMEYxUm5aQ0xGTkJRVk00UWl4WFFVRlpSaXhGUVVGUlNDeEhRVU16UWl4SFFVRkpja01zVDBGQlQydEVMRk5CUVZOV0xFZEJRMnhDTEU5QlFVOUJMRVZCUVU4MVFpeFBRVVZvUWl4SFFVRkpWU3haUVVGWlF5eFBRVUZQYVVJc1NVRkJWMllzVjBGQlYyVXNSVUZCVVd4Q0xHRkJRMjVFTEU5QlFVOXJRaXhGUVVGUFJTeFhRVVZvUWl4SFFVRnpRaXhwUWtGQldFWXNSVUZEVkN4TlFVRk5MRWxCUVVsMlFpeFZRVU5TTEd0SFFVTXdRblZDTEVkQlNUbENMRWxCUVVsWExFVkJRVTFZTEVWQlFVODFRaXhQUVVOaUswTXNSVUZCWVVNc1ZVRkJWV2hFTEU5QlFWTXNTVUZCYzBJc1NVRkJha0puUkN4VlFVRlZMRWRCUTI1RUxFbEJRVXRFTEVkQlFYRkNMRWxCUVZKU0xFVkJRVmNzVDBGQlR5eEZRVWx3UXl4SlFVUkJMRWxCUVVsVkxFZEJRV01zU1VGRmFFSXNUMEZCVVhoQ0xFZEJRMDRzU1VGQlN5eFJRVU5NTEVsQlFVc3NVMEZEVEN4SlFVRkxMRk5CUTBnc1QwRkJUMk1zUlVGRFZDeEpRVUZMTEU5QlEwd3NTVUZCU3l4UlFVTklMRTlCUVU5WExGbEJRVmwwUWl4SFFVRlJOVUlzVDBGRE4wSXNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEU5QlFXRXNSVUZCVG5WRExFVkJRMVFzU1VGQlN5eE5RVU5JTEU5QlFVOUJMRWxCUVZFc1JVRkRha0lzU1VGQlN5eFRRVU5JTEU5QlFVOVpMR05CUVdOMlFpeEhRVUZSTlVJc1QwRkRMMElzVVVGRFJTeEhRVUZKYVVRc1JVRkRSaXhQUVVGUFJpeEhRVUZoTEVWQlFVbEhMRmxCUVZsMFFpeEhRVUZSTlVJc1QwRkZPVU41UWl4SFFVRlpMRWRCUVV0QkxFZEJRVlV5UWl4alFVTXpRa2dzUjBGQll5eEhRVTEwUWl4VFFVRlRTU3hoUVVGak5VSXNSVUZCVlRaQ0xFVkJRVTlETEVkQlEzUkRMRWxCUVVsT0xFZEJRV01zUlVGamJFSXNVMEZNWTNaQ0xFbEJRVlkwUWl4SFFVRjFRa0VzUlVGQlVTeExRVU5xUTBFc1JVRkJVU3hIUVVsT1FTeEZRVUZSUlN4TFFVRkxlRVFzVDBGRFppeE5RVUZQTEVkQlQxUXNVMEZLV1RCQ0xFbEJRVkkyUWl4SFFVRnhRa0VzUlVGQlRVTXNTMEZCUzNoRUxGVkJRMnhEZFVRc1JVRkJUVU1zUzBGQlMzaEVMRkZCUjFSMVJDeEhRVUZQTEVWQlExUXNUVUZCVHl4SFFVOVVMRWxCU0VGQkxFdEJRVk1zUzBGRFZFUXNTMEZCVnl4SFFVZFVMRTFCUVU4c1IwRkxWQ3hKUVVaTE4wSXNTVUZCVlVFc1JVRkJWeXhWUVVkNFFpeFBRVUZSUVN4SFFVTk9MRWxCUVVzc1RVRkRTQ3hQUVVGUFowTXNVMEZCVTBRc1MwRkJUVVlzUlVGQlQwTXNSMEZGTDBJc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQUnl4VlFVRlZSaXhMUVVGTlJpeEZRVUZQUXl4SFFVVm9ReXhKUVVGTExGRkJRMGdzVDBGQlQwa3NWMEZCVjBnc1MwRkJUVVlzUlVGQlQwTXNSMEZGYWtNc1NVRkJTeXhUUVVOTUxFbEJRVXNzVTBGRFNDeFBRVUZQU3l4WlFVRlpTaXhMUVVGTlJpeEZRVUZQUXl4SFFVVnNReXhKUVVGTExGTkJRMGdzVDBGQlQwMHNXVUZCV1V3c1MwRkJUVVlzUlVGQlQwTXNSMEZGYkVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTlCUVU5UExHRkJRV0ZPTEV0QlFVMUdMRVZCUVU5RExFZEJSVzVETEZGQlEwVXNSMEZCU1U0c1JVRkJZU3hOUVVGTkxFbEJRVWsxUXl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUXpWRVFTeEhRVUZaUVN4RlFVRlhMRWxCUVVreVFpeGpRVU16UWtnc1IwRkJZeXhIUVdGMFFpeFRRVUZUWXl4TFFVRk5PVU1zUlVGQlJ5dERMRVZCUVVkRExFZEJRMjVDTEVsQlFVazVRaXhGUVVGSmJFSXNSVUZCUlN0RExFZEJRMVl2UXl4RlFVRkZLME1zUjBGQlN5OURMRVZCUVVWblJDeEhRVU5VYUVRc1JVRkJSV2RFTEVkQlFVczVRaXhGUVhsSlZDeFRRVUZUSzBJc2NVSkJRWE5DY0VRc1JVRkJVWEZFTEVWQlFVc3ZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkZhRVVzUjBGQmMwSXNTVUZCYkVKMFJDeEZRVUZQWkN4UFFVRmpMRTlCUVZFc1JVRnRRbXBETEVkQmFFSXdRaXhwUWtGQlptOURMRWRCUTFSWUxFVkJRVmRYTEVWQlExaEJMRVZCUVdFc1IwRkRTa0VzUlVGQllTeFhRVU4wUWtFc1JVRkJZU3hYUVVOS1FTeEhRVUZqTEdGQlEzWkNRU3hIUVVGakxGbEJSMXBMTEZsQlJFcE1MRWRCUVdOQkxFdEJSMXBCTEVWQlFXRm5ReXhGUVVGTkxFVkJRVXQwUkN4RlFVRlBaQ3hQUVVGVExFZEJTWFJEYjBNc1JVRkJZU3hKUVVGSFFTeEZRVUZoZEVJc1JVRkJUMlFzVDBGQlUyOURMRWRCUXpkRFFTeEhRVUZqZEVJc1JVRkJUMlFzVDBGQlVTeERRVU12UWl4SFFVRkpiMFVzUlVGQlN5eFBRVUZSTEVWQlExcG9ReXhGUVVGaGRFSXNSVUZCVDJRc1QwRkJVeXhQUVVNM1FpeEhRVUZKYjBNc1JVRkJZU3hGUVVGSExFTkJRM3BDTEVsQlFVbG5ReXhGUVVORExFOUJRVkVzUlVGRVNtaERMRVZCUVdFc1JVRlZlRUlzUjBGTWJVSXNhVUpCUVZJclFpeEpRVU5VUVN4RlFVRk5MMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1NVRkpja0p5UXl4UFFVRlBhMFFzVTBGQlV6WkNMRWRCUld4Q0xFOUJRVzFDTEVsQlFXWkJMRVZCUVVsdVJTeFJRVU5GTEVWQlJVaHhSU3hoUVVGaGRrUXNSVUZCVVhGRUxFVkJRVXN2UWl4RlFVRlpXQ3hGUVVGVk1rTXNSMEZEYkVRc1IwRkJiVUlzYVVKQlFWSkVMRVZCUldoQ0xFOUJSRUZCTEVkQlFWa3NTVUZEWjBNc2JVSkJRV3BEZWtVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUXpGQ1JpeEZRVU5MTVVVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUVZGRExFdEJRVXQ2UkN4RlFVRlJjVVFzUlVGQlN5OUNMRWRCUlM5RE1VTXNWMEZCVjBVc1ZVRkJWVFJGTEZsQlFWbEVMRXRCUVV0NlJDeEZRVUZSY1VRc1JVRkJTeTlDTEVkQlIzWkVhVU1zWVVGQllYWkVMRVZCUVZFc1EwRkJSWEZFTEVkQlFVOHZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkhOMFFzVFVGQlRTeEpRVUZKTDBRc1ZVRkJWU3gzUTBGSGRFSXNVMEZCVTJkRkxHRkJRV00xUlN4RlFVRkxNRVVzUlVGQlN5OUNMRVZCUVZsWUxFVkJRVlV5UXl4SFFVTnlSQ3hKUVRCQ1NXcERMRVZCTVVKQmMwTXNSVUZCV1N4RlFVTmFReXhGUVVGWmFrWXNSVUZCU1U4c1QwRkRhRUl5UlN4RlFVRlpVaXhGUVVGSmJrVXNUMEZGY0VJc1VVRkJhVUl3UWl4SlFVRmlSQ3hKUVVWbExGVkJSR3BDUVN4RlFVRlhiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeG5Ra0ZEV1N4VlFVRmlNMElzUjBGRFZpeFpRVUZpUVN4SFFVRjFReXhoUVVGaVFTeEhRVUY1UWl4RFFVTnlSQ3hIUVVGSmFFTXNSVUZCU1U4c1QwRkJVeXhIUVVGTGJVVXNSVUZCU1c1RkxFOUJRVk1zUlVGRGFrTXNUMEZCVVN4RlFVVldlVVVzUlVGQldTeEZRVU5hUXl4SFFVRmhMRVZCUTJKRExFZEJRV0VzUlVGRFluWkRMRWRCUVdNc1JVRkpiRUlzVTBGQlUzbERMRVZCUVUwelJTeEZRVUZMYVVNc1IwRkRiRUlzVDBGQmEwSXNTVUZCWkhORExFVkJRMHQyUlN4RlFVRkphVU1zUjBGRlNtcERMRVZCUVVrMFJTeGhRVUZoTTBNc1JVRkJTWE5ETEVkQlMyaERMRWRCUVVsTUxFVkJRVXNzUTBGRFVDeEpRVUZKVnl4SFFVRmpMRVZCUTJ4Q0xFbEJRVXMxUXl4RlFVRkpReXhGUVVGWlJDeEZRVUZKZFVNc1JVRkJWM1pETEVsQlEyeERMRWRCUVVrd1F5eEZRVUZMY0VZc1JVRkJTekJETEV0QlFVOHdReXhGUVVGTFZpeEhRVUZ4UWl4SlFVRm9RbGtzUlVGQmIwSXNSVUZCU1RWRExFVkJRVWswUXl4SlFVVjZSQ3hKUVVSdlFpeEpRVUZvUWtFc1NVRkJiVUpCTEVWQlFXRTFReXhIUVVOb1EwRXNSVUZCU1RSRExFVkJRV0VzU1VGQlRVb3NSVUZCVnl4UFFVRlBTU3hGUVVGaFRpeFBRVVYwUXl4SlFVRm9RazBzU1VGQmJVSTFReXhIUVVGTFFTeEZRVUZKTkVNc1IwRkRhRU5CTEVkQlFXTXNUMEZMYkVJc1NVRkVTVE5ETEVWQlFXRjFReXhGUVVGWlJDeEpRVUZYZEVNc1JVRkJZWE5ETEVWQlFWbERMRWRCUXpWRWVFTXNSVUZCU1VNc1JVRkJXVVFzUjBGQlN5eEZRVUZIUVN4SlFVRkxMRU5CUldoRExFbEJSRUVzU1VGQlNUWkRMRWRCUVZFc1JVRkRTRU1zUlVGQlNTeEZRVUZIUVN4RlFVRkpUaXhGUVVGWFRTeEpRVU0zUWl4SFFVRkpTaXhGUVVGTGNFWXNSVUZCU3pCRExFVkJRVWs0UXl4TFFVRlBTaXhGUVVGTFZpeEZRVUZMWXl4SFFVRkpMRU5CUTNKRFJDeEhRVUZSTEVWQlExSXNUVUZIU2l4SFFVRkpRU3hGUVVGUExFOUJRVTgzUXl4RlFVbDBRaXhQUVVGUkxFVkJaVllzVTBGQlV5dERMRk5CUVZWb1JpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVOMFEyMUdMRVZCUVZORExFOUJRVTlFTEVsQlFWY3NSVUZETTBJc1NVRkJTVVVzUlVGQldXNUdMRVZCUVVsR0xFOUJRVk50Uml4RlFVTjRRbTVHTEVkQlIwaEJMRVZCUVZOdlJpeFBRVUZQY0VZc1NVRkRTSEZHTEVsQlExaHlSaXhGUVVGVGNVWXNSMEZLV0hKR0xFVkJRVk54Uml4RlFWRllMRWxCUVVsRExFVkJRVk14UkN4RlFVRlBOVUlzVDBGRmFFSkJMRVZCUVZOelJpeEZRVUZUTEVsQlEzQkNkRVlzUlVGQlUzTkdMRVZCUVZNc1IwRkZjRUlzU1VGQlN5eEpRVUZKYmtRc1JVRkJTU3hGUVVGSFFTeEZRVUZKYmtNc1NVRkJWVzFETEVWQlFVY3NRMEZETDBJc1NVRkJTVzlFTEVWQlFWTkRMRk5CUVZNMVJDeEZRVUZQTmtRc1QwRkJWeXhGUVVGS2RFUXNSVUZCVHl4SFFVRkpMRWxCUXk5RExFZEJRVWxOTEZsQlFWazRReXhIUVVGVExFOUJRVTl3UkN4RlFVTm9RMnBETEVWQlFVbHBSaXhGUVVGVGFFUXNSMEZCUzI5RUxFVkJSWEJDTEU5QlFVOXdSQ3hGUVVkVUxGTkJRVk4xUkN4VlFVRlhlRVlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRka01zVDBGQlR6SkdMRmRCUVZkNlF5eFpRVUZaZEVJc1JVRkJVVEZDTEVWQlFVbEdMRTlCUVZOdFJpeEhRVUZUYWtZc1JVRkJTMmxHTEVWQlFWRnVSaXhIUVVjelJTeFRRVUZUTkVZc1YwRkJXVEZHTEVWQlFVc3dRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJRM2hETEU5QlFVOHlSaXhYUVVGWFJTeGhRVUZoYWtVc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZGtRc1UwRkJVemhHTEZsQlFXRTFSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjZReXhQUVVGUE5FWXNWMEZCVnpGR0xFVkJRVXN3UWl4RlFVRlJkVVFzUlVGQlVXNUdMRWRCUjNwRExGTkJRVk1yUml4WlFVRmhOMFlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRla01zVDBGQlR6SkdMRmRCUVZkNFF5eGpRVUZqZGtJc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZUVRc1UwRkJVMmRITEZWQlFWYzVSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjJReXhQUVVGUE1rWXNWMEZCVjAwc1pVRkJaWEpGTEVWQlFWRXhRaXhGUVVGSlJpeFBRVUZUYlVZc1IwRkJVMnBHTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZwUmpsRkxGTkJRVk0yUkN4WlFVRmhNMFFzUlVGQlMyOUVMRVZCUVU5RExFZEJRMmhETEU5QlFXTXNTVUZCVmtRc1IwRkJaVU1zU1VGQlVYSkVMRVZCUVVsR0xFOUJRM1JDYUVJc1QwRkJUMnRJTEdOQlFXTm9SeXhIUVVWeVFteENMRTlCUVU5clNDeGpRVUZqYUVjc1JVRkJTU3RDTEUxQlFVMXhRaXhGUVVGUFF5eEpRVWxxUkN4VFFVRlRSeXhWUVVGWGVFUXNSVUZCUzI5RUxFVkJRVTlETEVkQlF6bENRU3hGUVVGTk5FTXNTMEZCUzBNc1NVRkJTV3hITEVWQlFVbEdMRTlCUVZGMVJDeEhRVWt6UWl4SlFVaEJMRWxCUVVrNFF5eEZRVUZOTEVkQlJVNXNSU3hGUVVGSmJVSXNSVUZEUkc1Q0xFVkJRVWx2UWl4SFFVRkxMRU5CUTJRc1NVRlJUU3RETEVWQlFWbERMRVZCUVZkRExFVkJRVmxETEVWQlVuSkRReXhGUVVGWmVFY3NSVUZCU1dsRExFZEJRMmhDZDBVc1JVRkJXU3hMUVVOYVF5eEZRVUZ2UWtZc1JVRkJXU3hKUVVGUkxFVkJRM1pEUVN4RlFVRlpMRWxCUVZFc1JVRkRiRUpCTEVWQlFWa3NTVUZCVVN4RlFVTnVRaXhGUVVWU0xFZEJRVWwyUlN4RlFVRkplVVVzUjBGQmIwSnlSQ3hGUVVjeFFpeFBRVUZSY1VRc1IwRkRUaXhMUVVGTExFVkJRME5HTEVWQlFWa3NUVUZEWkVNc1JVRkJXVVFzUjBGRlpDeE5RVU5HTEV0QlFVc3NSVUZGZVVJc1RVRkJWaXhMUVVSc1Frb3NSVUZCWVhCSExFVkJRVWxwUXl4RlFVRkpMRTlCUlc1Q2MwVXNSMEZCTmtJc1IwRkJXa01zU1VGQmNVSXNSVUZCYjBJc1IwRkJZa29zUjBGRGVrSXNUVUZEYkVKTExFVkJRVmxHTEVkQlIyaENMRTFCUTBZc1MwRkJTeXhGUVVOSVNDeEZRVUZoY0Vjc1JVRkJTV2xETEVWQlFVa3NSMEZEY2tKdlJTeEZRVUZaY2tjc1JVRkJTV2xETEVWQlFVa3NSMEZEVVN4TlFVRldMRWxCUVdKdFJTeEpRVUZ6UkN4TlFVRldMRWxCUVZwRExFdEJRMjVEUlN4SFFVRTJRaXhIUVVGYVF5eEpRVUZ2UWl4SlFVRnZRaXhIUVVGaVNpeEpRVUZ6UWl4RlFVRnRRaXhIUVVGYVF5eEhRVU55UkN4UFFVRlZSU3hGUVVGblFpeFBRVUZWUVN4RlFVRm5RaXhUUVVOMFJVVXNSVUZCV1VZc1IwRkhhRUlzVFVGRFJpeExRVUZMTEVWQlEwaElMRVZCUVdGd1J5eEZRVUZKYVVNc1JVRkJTU3hIUVVOeVFtOUZMRVZCUVZseVJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOd1FuRkZMRVZCUVdGMFJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOUExFMUJRVllzU1VGQlltMUZMRWxCUVhORUxFMUJRVllzU1VGQldrTXNTVUZCYzBRc1RVRkJWaXhKUVVGaVF5eExRVU5zUlVNc1IwRkJOa0lzUjBGQldrTXNTVUZCYjBJc1NVRkJjVUlzUjBGQllrb3NTVUZCYzBJc1NVRkJiVUlzUjBGQldrTXNTVUZCY1VJc1JVRkJiMElzUjBGQllrTXNSMEZEYkVZc1QwRkJWVU1zUlVGQlowSXNWVUZETlVORkxFVkJRVmxHTEVkQlRVb3NUMEZCWkVVc1IwRkhSa0VzUlVGQldTeE5RVU5hUXl4RlFVRnRRaXhIUVVOV1JDeEZRVUZaTEZGQlJYSkNRU3hIUVVGaExFMUJRMkpPTEVWQlFVbFJMRXRCUVV0R0xFbEJRV01zUjBGQlN5eExRVUZSTEU5QlEzQkRRU3hGUVVGWkxFMUJRWEZDTEV0QlFWcEJMRWRCUjNaQ1RpeEZRVUZKVVN4TFFVRkxSaXhIUVVOVWVFVXNSMEZCUzNsRkxFVkJSMUFzVDBGQlQwVXNjMEpCUVhOQ1ZDeEhRVFU1UWk5Q2JFZ3NVVUZCVVRSSUxGZEJRV0Y0U0N4aFFXZENja0pJTEU5QlFVODBTQ3h2UWtGQmMwSjRTQ3h2UWtGRmVFSktMRTlCUVU4MFNDeHhRa0ZCTUVNc2IwSkJRVnBETEZOQlEySXNiVUpCUVd4Q1FTeFJRVUZSUXl4UFFVTnFRa1FzVVVGQlVVTXNUVUZEVGl4cFNrRm5Ra3BETEU5QlFVOURMR1ZCUVdWb1NTeFBRVUZQVVN4VlFVRlhMRk5CUVZVc1EwRkRhRVI1U0N4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeEhRVUZMYkVrc1QwRkJUMnRFTEZOQlFWTnJRaXhOUVVOeVFpeFBRVUZQUVN4TFFVRkxNVU1zVlVGSmFFSnhSeXhQUVVGUFF5eGxRVUZsYUVrc1QwRkJUMUVzVlVGQlZ5eFRRVUZWTEVOQlEyaEVlVWdzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1IwRkJTMnhKTEU5QlFVOXJSQ3hUUVVGVGEwSXNUVUZEY2tJc1QwRkJUMEVzUzBGQlMzQkNMR05CYzBOTkxHOUNRVUZZYWtJc1VVRkJORU1zVFVGQmJFSkJMRTlCUVU5dlJ5eFRRVU40UTI1SkxFOUJRVThyUWl4UFFVRlBiMGNzVjBGQllXNUpMRkZCUXpkQ0swZ3NUMEZCVDBNc1pVRkJaV2hKTEU5QlFWRXJRaXhQUVVGUGIwY3NVVUZCVXl4RFFVTTFReTlITEUxQlFVOHNTMEZEVUdkSUxHTkJRV01zUlVGRFpFZ3NXVUZCV1N4RlFVTmFTU3hWUVVGVkxFbEJTV1J5U1N4UFFVRlBjMGtzVTBGQlZ5eExRVEJFYkVKMFNTeFBRVUZQYlVJc1MwRkJUeXhUUVVGVlF5eEZRVUZQU2l4RlFVRnJRa29zUjBGREwwTXNUMEZCVDA4c1MwRkJTME1zUlVGQlQwb3NSVUZCYTBKS0xFbEJTM1pEV2l4UFFVRlBVU3hWUVVGVlJDeFZRVUZaUkN4WFFVRlhSU3hWUVVONFExSXNUMEZCVDA4c1ZVRkJXVVFzVjBFNFFtNUNUaXhQUVVGUGJVTXNUVUZCVVN4VFFVRlZSQ3hGUVVGTlJTeEZRVUZOUXl4SFFVTnVReXhQUVVGUFJpeE5RVUZOUkN4RlFVRk5SU3hGUVVGTlF5eEpRVmN6UW5KRExFOUJRVTlyUWl4WlFVRmpMRk5CUVZWblFpeEhRVU0zUWl4UFFVRlBhRUlzV1VGQldXZENMRWxCUzNKQ2JFTXNUMEZCVDNWSkxHZENRVUZyUWl4VFFVRlZja2NzUjBGRGFrTXNUMEZCVDJoQ0xGbEJRVmxuUWl4SlFYRkhja0pzUXl4UFFVRlBhMFFzVTBGQlZ5eFRRVUZ0UW5KQ0xFZEJRMjVETEU5QlFWa3NUVUZCVEVFc1NVRkJOa0lzU1VGQmFFSkJMRVZCUVVVeVJ5eFhRVU53UWpOSExFbEJRVTAzUWl4UFFVRlBVU3hYUVVkcVFsSXNUMEZCVDNsSkxGRkJRVlVzVTBGQmEwSkRMRVZCUVVjM1J5eEhRVWR3UXl4SFFVWkpTaXhYUVVGWGFVZ3NSVUZCUjNCSkxHTkJRV0Z2U1N4RlFVRkpNVWtzVDBGQlQyMUNMRXRCUVV0MVNDeEZRVUZIUVN4RlFVRkZNME1zVDBGQlVUSkRMRVZCUVVWb1J5eGhRVU14UkdwQ0xGZEJRVmRKTEVWQlFVZDJRaXhqUVVGaGRVSXNSVUZCU1RkQ0xFOUJRVTl0UWl4TFFVRkxWU3hGUVVGSFFTeEZRVUZGYTBVc1QwRkJVV3hGTEVWQlFVVmhMR05CUTNwRU1VTXNUMEZCVDJ0RUxGTkJRVk4zUml4TFFVRlBNVWtzVDBGQlQydEVMRk5CUVZOeVFpeEhRVU14UXl4TlFVRk5MRWxCUVVsYUxGVkJRMUlzZVVWQlNVb3NSMEZCU1hsSUxFbEJRVTAzUnl4RlFVRkhMRTlCUVU4c1JVRkxjRUlzU1VGSVFTeEpRVUZKT0Vjc1JVRkJTVVFzUlVGQlJUbElMRTlCUTA1blNTeEZRVUZKTDBjc1JVRkJSV3BDTEU5QlJVUnRReXhGUVVGSkxFVkJRVWRKTEVWQlFVMDBSQ3hMUVVGTFF5eEpRVUZKTWtJc1JVRkJSME1zUjBGQlNUZEdMRVZCUVVsSkxFbEJRVTlLTEVWQlF5OURMRWRCUVVreVJpeEZRVUZGTTBZc1MwRkJUMnhDTEVWQlFVVnJRaXhIUVVGSkxFTkJRMnBDTkVZc1JVRkJTVVFzUlVGQlJUTkdMRWRCUTA0MlJpeEZRVUZKTDBjc1JVRkJSV3RDTEVkQlEwNHNUVUZKU2l4UFFVRkpORVlzUlVGQlNVTXNSMEZCVnl4RlFVTm1RU3hGUVVGSlJDeEZRVUZWTEVWQlExZ3NSMEZIVkROSkxFOUJRVTk1UXl4WFFVRmhMRk5CUVhGQ1NpeEhRVU4yUXl4UFFVRlJiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeGxRVU4yUWl4SlFVRkxMRTFCUTB3c1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZGQlEwd3NTVUZCU3l4VFFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFOUJRVThzUlVGRFZDeFJRVU5GTEU5QlFVOHNTVUZKWW1oRkxFOUJRVTgyU1N4UFFVRlRMRk5CUVdsQ1F5eEZRVUZOYkVrc1IwRkRja01zU1VGQlN6SkRMRTFCUVUxRExGRkJRVkZ6Uml4SFFVTnFRaXhOUVVGTkxFbEJRVWszU0N4VlFVRlZMQ3REUVVkMFFpeEhRVUZ2UWl4SlFVRm9RalpJTEVWQlFVdHNTU3hQUVVOUUxFOUJRVTlhTEU5QlFVOXRReXhOUVVGTkxFZEJSM1JDTEVsQlFVbFpMRVZCUTBvc1VVRkJaVlFzU1VGQldERkNMRVZCUlVZc1NVRkVRVUVzUlVGQlV5eEZRVU5LYlVNc1JVRkJTU3hGUVVGSFFTeEZRVUZKSzBZc1JVRkJTMnhKTEZOQlFWVnRReXhGUVVNM1FtNURMRWRCUVZWclNTeEZRVUZMTDBZc1IwRkJSMjVETEU5QlNYUkNMRWxCUVVsakxFVkJRVk14UWl4UFFVRlBhMElzV1VGQldVNHNSMEZETlVKdFNTeEZRVUZOTEVWQlExWXNTVUZCUzJoSExFVkJRVWtzUlVGQlIwRXNSVUZCU1N0R0xFVkJRVXRzU1N4VFFVRlZiVU1zUlVGQlJ5eERRVU5vUXl4SlFVRkpha01zUlVGQlRXZEpMRVZCUVVzdlJpeEhRVWxtTEVkQlNFbDBRaXhYUVVGWFdDeEZRVUZMVWl4alFVTnNRbEVzUlVGQlRXUXNUMEZCVDIxQ0xFdEJRVXRNTEV0QlJXWmtMRTlCUVU5clJDeFRRVUZUY0VNc1IwRkRia0lzVFVGQlRTeEpRVUZKUnl4VlFVRlZMQ3REUVVWMFFrZ3NSVUZCU1hORExFdEJRVXN4UWl4RlFVRlJjVWdzUjBGRGFrSkJMRWRCUVU5cVNTeEZRVUZKUml4UFFVVmlMRTlCUVU5akxFZEJhMFJVTVVJc1QwRkJUekJETEZkQlFXRkJMRmRCT0VWd1FqRkRMRTlCUVU5UkxGVkJRVlZuU1N4WFFVRlpMRVZCVVRkQ2VFa3NUMEZCVDFFc1ZVRkJWWGRKTEU5QlFWTXNWMEZEZUVJc1NVRkJTVGRHTEVWQlFVMXBRaXhMUVVGTGVFUXNUMEZEWml4SFFVRkpkVU1zUlVGQlRTeEhRVUZOTEVWQlEyUXNUVUZCVFN4SlFVRkpkRU1zVjBGQlZ5dzJRMEZGZGtJc1NVRkJTeXhKUVVGSmEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlNTeEZRVUZMU2l4SFFVRkxMRVZCUXpWQ05FSXNTMEZCUzFBc1MwRkJUWEpDTEVWQlFVZEJMRVZCUVVrc1IwRkZjRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZlVWtzVDBGQlV5eFhRVU40UWl4SlFVRkpPVVlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkZlRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZNRWtzVDBGQlV5eFhRVU40UWl4SlFVRkpMMFlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkRkRUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFZEJRM1JDTkVJc1MwRkJTMUFzUzBGQlRYSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEhRVVY0UWl4UFFVRlBjVUlzVFVGSFZIQkZMRTlCUVU5UkxGVkJRVlZyUkN4VFFVRlhMRmRCUXpGQ0xFbEJRVWs1UXl4RlFVRlRkMFFzUzBGQlMzaEVMRTlCUTJ4Q0xFOUJRV1VzU1VGQldFRXNSVUZCY1VJc1IwRkRRU3hKUVVGeVFtZEVMRlZCUVZWb1JDeFBRVUZ4UWpCRUxGVkJRVlZHTEV0QlFVMHNSVUZCUjNoRUxFZEJReTlEY1VRc1lVRkJZV3RHTEUxQlFVMHZSU3hMUVVGTlVpeFpRVWRzUXpWRUxFOUJRVTlSTEZWQlFWVTBTU3hsUVVGcFFuQktMRTlCUVU5UkxGVkJRVlZyUkN4VFFVVnVSREZFTEU5QlFVOVJMRlZCUVZVMlNTeFBRVUZUTEZOQlFXbENlRWdzUjBGRGVrTXNTVUZCU3pkQ0xFOUJRVTlyUkN4VFFVRlRja0lzUjBGQlNTeE5RVUZOTEVsQlFVbGFMRlZCUVZVc05rSkJRemRETEU5QlFVbHRSQ3hQUVVGVGRrTXNSMEZEYzBJc1NVRkJOVUkzUWl4UFFVRlBlVWtzVVVGQlVYSkZMRXRCUVUxMlF5eEpRVWM1UWpkQ0xFOUJRVTlSTEZWQlFWVTRTU3hSUVVGVkxGZEJRM3BDTEVsQlFVbERMRVZCUVUwc1IwRkRUa01zUlVGQlRYcEtMRkZCUVZGSExHdENRVWRzUWl4UFFVWkJjVW9zUlVGQlRXNUdMRXRCUVV0V0xGTkJRVk1zVFVGQlR5eEZRVUZIT0VZc1IwRkJTME1zVVVGQlVTeFZRVUZYTEU5QlFVOURMRTlCUTNwRWRFWXNTMEZCUzNoRUxFOUJRVk0wU1N4SlFVRkxSQ3hIUVVGUExGTkJRM1pDTEZkQlFXRkJMRVZCUVUwc1MwRkhOVUoyU2l4UFFVRlBVU3hWUVVGVmFVa3NVVUZCVlN4VFFVRnJRbXRDTEVWQlFWRjZSaXhGUVVGUFF5eEZRVUZMZVVZc1JVRkJWME1zUjBGSk1VVXNSMEZJU1hCSkxGZEJRVmRyU1N4RlFVRlJja29zWTBGRGNrSnhTaXhGUVVGVE0wb3NUMEZCVDIxQ0xFdEJRVXQzU1N4RlFVRlJRU3hGUVVGUE5VUXNUMEZCVVRSRUxFVkJRVTlxU0N4alFVVm9SREZETEU5QlFVOXJSQ3hUUVVGVGVVY3NSMEZEYmtJc1RVRkJUU3hKUVVGSk1Va3NWVUZEVWl4M1JrRkRNa0l3U1N4SFFXbENMMElzVVVGaVkzSklMRWxCUVZZMFFpeEpRVU5HUVN4RlFVRlJMRkZCUlVVMVFpeEpRVUZTTmtJc1NVRkRSa0VzUlVGQlRYZEdMRVZCUVZOQkxFVkJRVTh2U1N4UFFVRlRMRkZCUldZd1FpeEpRVUZrYzBnc1NVRkRSa0VzUlVGQldTeFJRVVZGZEVnc1NVRkJXblZJTEVsQlEwWkJMRVZCUVZWNlJpeExRVUZMZUVRc1VVRkhZbk5FTEVWQlFWRXNSMEZCUzBNc1JVRkJUWGRHTEVWQlFVOHZTU3hSUVVGVlowb3NSVUZCV1N4SFFVRkxReXhGUVVGVmVrWXNTMEZCUzNoRUxFOUJRM1JGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXh6UWtGSGRrSXNSMEZCU1N0SkxFZEJRV0ZETEVkQlFWY3pSaXhIUVVGVFF5eEZRVU51UXl4UFFVRlBMRVZCUlZRc1IwRkJTWGxHTEVkQlFXRkRMRVZCUTJZc1QwRkJVU3hGUVVWV0xFZEJRVWt6Uml4SFFVRlRReXhGUVVOWUxFOUJRVThzUlVGUlZDeEhRVUZKUXl4UFFVRlRkVVlzUlVGQlVTeFBRVUZQTEVWQlV6VkNMRWxCVUVFc1NVRkJTV2hDTEVkQlNrcHJRaXhMUVVGaExFbEJSR0pFTEV0QlFXVXNSMEZOV0doQ0xFZEJVRXA2UlN4TFFVRlRMRWxCUkZSRUxFdEJRVmNzUjBGVFVHWXNSVUZCVFRSRUxFdEJRVXRETEVsQlFVa3lRaXhGUVVGSFF5eEhRVVZzUW10Q0xFVkJRVmN4Uml4TFFVRkxka0lzVFVGQlRTdEhMRVZCUVZkRExFZEJRMnBEUlN4RlFVRmhTaXhGUVVGUE9VY3NUVUZCVFhGQ0xFVkJRVTlETEVkQlJUVkNjRUlzUlVGQlNTeEZRVUZIUVN4RlFVRkpTU3hKUVVGUFNpeEZRVU42UWl4SFFVRkpLMGNzUlVGQlV5OUhMRXRCUVU5blNDeEZRVUZYYUVnc1IwRkJTU3hEUVVOcVF6UkdMRVZCUVVsdFFpeEZRVUZUTDBjc1IwRkRZalpHTEVWQlFVbHRRaXhGUVVGWGFFZ3NSMEZEWml4TlFVbEtMRTlCUVVrMFJpeEZRVUZKUXl4SFFVRlhMRVZCUTJaQkxFVkJRVWxFTEVWQlFWVXNSVUZEV0N4SFFUUklWRE5KTEU5QlFVOVJMRlZCUVZWM1NpeFRRVUZYTEZOQlFXMUNha1lzUlVGQlN5OUNMRVZCUVZsWUxFZEJRemxFTEU5QlFXOUVMRWxCUVRkREswSXNTMEZCUzJNc1VVRkJVVWdzUlVGQlN5OUNMRVZCUVZsWUxFbEJSM1pEY2tNc1QwRkJUMUVzVlVGQlZUQkZMRkZCUVZVc1UwRkJhMEpJTEVWQlFVc3ZRaXhGUVVGWldDeEhRVU0xUkN4UFFVRlBlVU1zY1VKQlFYRkNWaXhMUVVGTlZ5eEZRVUZMTDBJc1JVRkJXVmdzUjBGQlZTeEpRVWN2UkhKRExFOUJRVTlSTEZWQlFWVTBSU3haUVVGakxGTkJRWE5DVEN4RlFVRkxMMElzUlVGQldWZ3NSMEZEY0VVc1QwRkJUM2xETEhGQ1FVRnhRbFlzUzBGQlRWY3NSVUZCU3k5Q0xFVkJRVmxZTEVkQlFWVXNTVUZuUkM5RWNrTXNUMEZCVDFFc1ZVRkJWVzlETEUxQlFWRXNVMEZCWjBKS0xFVkJRVkYxUkN4RlFVRlJia1lzUlVGQlVYbENMRWRCUlM5RUxGRkJRV1ZETEVsQlFWaDVSQ3hGUVVOR01VUXNSVUZCVnl4UFFVTllla0lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhQUVVWS0xGRkJRV1Y2UkN4SlFVRllNVUlzUjBGQk1FTXNhVUpCUVZodFJpeEZRVU40UXpGRUxFVkJRVmN3UkN4RlFVTllia1lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhOUVVWS0xFTkJRVUVzU1VGQlNXdEZMRk5CUVZOc1JTeEhRVlZzUWl4TlFVRk5MRWxCUVVsdFJTeE5RVU5TTERKRlFWWkdia1VzUzBGQmIwSXNSVUZEYUVKclJTeFRRVUZUY2tvc1NVRkRXRUVzUzBGQmIwSXNUMEZEU0RCQ0xFbEJRV0pFTEVsQlFYZENRU3hGUVVGWExGVkJSWFpEUVN4RlFVRlhla0lzUlVGRFdFRXNUMEZCVXpCQ0xFZEJVV0lzU1VGQlNUSkVMRVZCUVZrM1FpeExRVUZMZUVRc1QwRkJVMjFHTEVWQlJ6bENMRk5CUm1WNlJDeEpRVUZZTVVJc1IwRkJkMEpCTEVWQlFWTnhSaXhMUVVGWGNrWXNSVUZCVTNGR0xFZEJSWEJFZWtRc1JVRkJUelZDTEU5QlFWTXNTVUZCVFVFc1JVRkJVeXhIUVVGTGJVWXNSVUZCVXl4SlFVRlBRU3hGUVVGVE0wSXNTMEZCUzNoRUxFOUJRM0pGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXd3UTBGSGJFSjNRaXhKUVVGVlFTeEZRVUZYTEZGQlJ6RkNMRWxCUkVFc1NVRkJTWGRDTEVkQlFXTXNTVUZGYUVJc1QwRkJVWGhDTEVkQlEwNHNTVUZCU3l4TlFVTklMRTlCUVU5NVJDeFRRVUZUTVVJc1MwRkJUVFZDTEVWQlFWRjFSQ3hGUVVGUmJrWXNSMEZGZUVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQTUVZc1ZVRkJWV3hETEV0QlFVMDFRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJSWHBETEVsQlFVc3NVVUZEU0N4UFFVRlBORVlzVjBGQlYzQkRMRXRCUVUwMVFpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlJURkRMRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMGdzVDBGQlR6aEdMRmxCUVZsMFF5eExRVUZOTlVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVVelF5eEpRVUZMTEZOQlJVZ3NUMEZCVHl0R0xGbEJRVmwyUXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVV6UXl4SlFVRkxMRTlCUTB3c1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFRDeEpRVUZMTEZkQlEwZ3NUMEZCVDJkSExGVkJRVlY0UXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVY2UXl4UlFVTkZMRWRCUVVscFJDeEZRVUZoTEUxQlFVMHNTVUZCU1RWRExGVkJRVlVzY1VKQlFYVkNiMElzUjBGRE5VUkJMRWRCUVZrc1IwRkJTMEVzUjBGQlZUSkNMR05CUXpOQ1NDeEhRVUZqTEVsQlMzUkNOMFFzVDBGQlQxRXNWVUZCVlRKS0xFOUJRVk1zVjBGRGVFSXNUVUZCVHl4RFFVTk1OMGNzUzBGQlRTeFRRVU5PUnl4TFFVRk5SaXhOUVVGTkwwTXNWVUZCVlhGRExFMUJRVTF6UXl4TFFVRkxaaXhMUVVGTFowY3NUVUZCVVdoSExFdEJRVTBzUzBGM1JuaEVMRWxCUVVscFJ5eHhRa0ZCZFVJc1MwRkZNMElzVTBGQlV6TkRMSE5DUVVGMVFqUkRMRWRCUXpsQ0xFbEJRVWx1U0N4RlFVRk5iVWdzUlVGQlZ6RktMRTlCUTNKQ0xFZEJRVWwxUXl4SFFVRlBhMGdzY1VKQlExUXNUMEZCVHpkRkxFOUJRVThyUlN4aFFVRmhjRUlzVFVGQlRUTkVMRTlCUVZFNFJTeEhRVTB6UXl4SlFVWkJMRWxCUVVseVJDeEZRVUZOTEVkQlEwNXNSU3hGUVVGSkxFVkJRMFJCTEVWQlFVbEpMRWRCUTFRNFJDeEhRVUZQZWtJc1QwRkJUeXRGTEdGQlFXRndRaXhOUVVONlFqTkVMRTlCUTBFNFJTeEZRVUZYZWtnc1RVRkJUVVVzUlVGQlIwRXNSMEZCUzNOSUxIVkNRVWMzUWl4UFFVRlBjRVFzUlVGSFZDeFRRVUZUTVVNc1YwRkJXWHBFTEVWQlFVdHZSQ3hGUVVGUFF5eEhRVU12UWl4SlFVRkpjVWNzUlVGQlRTeEhRVU5XY2tjc1JVRkJUVFJETEV0QlFVdERMRWxCUVVsc1J5eEZRVUZKUml4UFFVRlJkVVFzUjBGRk0wSXNTVUZCU3l4SlFVRkpjRUlzUlVGQlNXMUNMRVZCUVU5dVFpeEZRVUZKYjBJc1NVRkJUM0JDTEVWQlF6ZENlVWdzUjBGQlQyaEdMRTlCUVU4clJTeGhRVUZ6UWl4SlFVRlVla29zUlVGQlNXbERMRWxCUldwRExFOUJRVTk1U0N4RlFVZFVMRk5CUVZOb1J5eFpRVUZoTVVRc1JVRkJTMjlFTEVWQlFVOURMRWRCUTJoRExFbEJRVWx4Unl4RlFVRk5MRWRCUTFaeVJ5eEZRVUZOTkVNc1MwRkJTME1zU1VGQlNXeEhMRVZCUVVsR0xFOUJRVkYxUkN4SFFVVXpRaXhKUVVGTExFbEJRVWx3UWl4RlFVRkpiVUlzUlVGQlQyNUNMRVZCUVVsdlFpeEpRVUZQY0VJc1JVRkROMEo1U0N4SFFVRlBhRVlzVDBGQlR5dEZMR0ZCUVdGNlNpeEZRVUZKYVVNc1NVRkZha01zVDBGQlQzbElMRVZCUjFRc1UwRkJVMjVITEZOQlFWVjJSQ3hGUVVGTGIwUXNSVUZCVDBNc1IwRkROMElzU1VGQlNXaENMRVZCUVUxeVF5eEZRVUZKUml4VFFVVlVjMFFzUjBGQlUwRXNSVUZCVVN4TFFVRkhRU3hGUVVGUkxFdEJRelZDUXl4SFFVRlBRU3hGUVVGTkxFZEJRVXRCTEVWQlFVMW9RaXhMUVVGTFowSXNSVUZCVFdoQ0xFZEJSM2hETEVsQlJFRXNTVUZCU1hOSUxFVkJRVTBzUjBGRFJERklMRVZCUVVsdFFpeEZRVUZQYmtJc1JVRkJTVzlDTEVsQlFVOXdRaXhGUVVNM1FqQklMRWRCUVU5RExFMUJRVTAxU2l4RlFVRkphVU1zU1VGRmJrSXNUMEZCVHpCSUxFVkJSMVFzVTBGQlV5OUdMR0ZCUVdNMVJDeEZRVUZMYjBRc1JVRkJUME1zUjBGSGFrTXNTVUZHUVN4SlFVRkpkMGNzUlVGQlVUZEtMRVZCUVVrclFpeE5RVUZOY1VJc1JVRkJUME1zUjBGRGVrSTRReXhGUVVGTkxFZEJRMFJzUlN4RlFVRkpMRVZCUVVkQkxFVkJRVWswU0N4RlFVRk5MMG9zVDBGQlVXMURMRWRCUVVzc1JVRkRja05yUlN4SFFVRlBla0lzVDBGQlR5dEZMR0ZCUVdGSkxFVkJRVTAxU0N4SFFVRnhRaXhKUVVGbU5FZ3NSVUZCVFRWSUxFVkJRVWtzU1VGRmJrUXNUMEZCVDJ0RkxFVkJhVU5VTEZOQlFWTXlSQ3haUVVGaE4wVXNSVUZCVVRoRkxFVkJRVXRxU3l4SFFVTnFReXhIUVVGTGJVWXNSVUZCVXl4SFFVRlBMRWRCUVV0QkxFVkJRVk1zUlVGQlJ5eE5RVUZOTEVsQlFVbHNSaXhYUVVGWExITkNRVU16UkN4SFFVRkphMFlzUlVGQlV6aEZMRVZCUVUxcVN5eEZRVUZSTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXg1UTBFMlMyeEVMRk5CUVZOcFN5eFRRVUZWYUVzc1JVRkJTMDBzUlVGQlR6SkZMRVZCUVZFNFJTeEZRVUZMY2tJc1JVRkJTM2hETEVkQlF5OURMRWxCUVV0b1NDeFBRVUZQYTBRc1UwRkJVM0JETEVkQlFVMHNUVUZCVFN4SlFVRkpSeXhWUVVGVkxDdERRVU12UXl4SFFVRkpSeXhGUVVGUmIwa3NSMEZCVDNCSkxFVkJRVkUwUml4RlFVRkxMRTFCUVUwc1NVRkJTVzVITEZkQlFWY3NjVU5CUTNKRUxFZEJRVWxyUml4RlFVRlRPRVVzUlVGQlRTOUtMRVZCUVVsR0xFOUJRVkVzVFVGQlRTeEpRVUZKUXl4WFFVRlhMSE5DUVhsTWRFUXNVMEZCVTJ0TExHRkJRV05xU3l4RlFVRkxUU3hGUVVGUE1rVXNSVUZCVVRoRkxFVkJRVXR5UWl4RlFVRkxlRU1zUjBGRGJrUXNSMEZCU1dwQ0xFVkJRVk00UlN4RlFVRk5MMG9zUlVGQlNVWXNUMEZCVVN4TlFVRk5MRWxCUVVsRExGZEJRVmNzYzBKQlEzQkVMRWRCUVVsclJpeEZRVUZUTEVWQlFVY3NUVUZCVFN4SlFVRkpiRVlzVjBGQlZ5eHpRa0ZIZGtNc1UwRkJVMjFMTEZkQlFWbHNTeXhGUVVGTFRTeEZRVUZQTWtVc1JVRkJVV3RHTEVWQlFXTkRMRWRCVDNKRUxFOUJUa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRabTFHTEVkQlEwaElMR0ZCUVdGcVN5eEZRVUZMVFN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEhWQ1FVRjVRaXgxUWtGRkwwUnFSeXhSUVVGUk9FTXNUVUZCVFRsQ0xFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWXl4SFFVRkpMRWRCUXpkRGJFWXNSVUZCVXl4RlFWZHNRaXhUUVVGVGIwWXNXVUZCWVhKTExFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWTBNc1IwRlBkRVFzVDBGT1FUbEtMRWRCUVZOQkxFVkJRMVF5UlN4TFFVRnZRaXhGUVVObWJVWXNSMEZEU0Vnc1lVRkJZV3BMTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NkMEpCUVRCQ0xIZENRVVZvUldwSExGRkJRVkU0UXl4TlFVRk5PVUlzUlVGQlMwMHNSVUZCVHpKRkxFVkJRVkZyUml4RlFVRmpMRWRCUVVrc1IwRkROME5zUml4RlFVRlRMRVZCZG1Gc1FpOUdMRTlCUVU5UkxGVkJRVlZ4UXl4TlFVRlJMRk5CUVdkQ2NVSXNSVUZCVDBNc1IwRkRPVU1zU1VGQlNXaENMRVZCUVUxcFFpeExRVUZMZUVRc1VVRkRabk5FTEVsQlFWVkJMRWRCUjBVc1IwRkRWa0VzUjBGQlUyWXNSMEZEUnl4SlFVRkhaU3hGUVVGUkxFZEJRMlJCTEVWQlFWRm1MRWxCUTJwQ1pTeEZRVUZSWml4SlFVNVdaMElzVDBGQll6ZENMRWxCUVZJMlFpeEZRVUZ2UW1oQ0xFbEJRVkZuUWl4SFFWTjRRaXhIUVVOU1FTeEhRVUZQYUVJc1IwRkRSeXhKUVVGSFowSXNSVUZCVFN4SFFVTldRU3hGUVVGTmFFSXNTVUZEWm1kQ0xFVkJRVTFvUWl4SFFVZEtaMElzUlVGQlRVUXNTVUZCVDBNc1JVRkJUVVFzUjBGRmRrSXNTVUZCU1d0SUxFVkJRVk5vU0N4TFFVRkxhVWdzVTBGQlUyNUlMRVZCUVU5RExFZEJSMnhETEU5QlJFRnBTQ3hGUVVGUE4wc3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGJrSTBTeXhIUVZkVWNFd3NUMEZCVDFFc1ZVRkJWVGhMTEZkQlFXRXNVMEZCY1VKMlJpeEZRVUZSY2tRc1JVRkJXWGRKTEVkQlEzSkZia1lzUzBGQmIwSXNSVUZEY0VKeVJDeExRVUUwUWl4RlFVTjJRbmRKTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSY2tRc1JVRkJXVEJDTEV0QlFVdDRSQ3hSUVV0d1JDeEpRVWhCTEVsQlFVbHRSU3hGUVVGTldDeExRVUZMTWtJc1IwRkRXSGRHTEVWQlFVMHNSVUZEVG5oSkxFVkJRVWtzU1VGRFEwRXNSVUZCU1V3c1NVRkJaVFpKTEVkQlFVOHNUVUZEYWtONFJ5eEhRVUZQV0N4TFFVRkxNa0lzUlVGQlUyaEVMRWRCUVV0M1NTeEZRVWMxUWl4UFFVRlBlRWNzUjBGSFZDOUZMRTlCUVU5UkxGVkJRVlZuVEN4WFFVRmhMRk5CUVhGQ2VrWXNSVUZCVVhKRUxFVkJRVmwzU1N4SFFVTnlSVzVHTEV0QlFXOUNMRVZCUTNCQ2NrUXNTMEZCTkVJc1JVRkRka0ozU1N4SFFVTklUaXhaUVVGWk4wVXNSVUZCVVhKRUxFVkJRVmt3UWl4TFFVRkxlRVFzVVVGTGRrTXNTVUZHUVN4SlFVRkpiVVVzUlVGQlRWZ3NTMEZCU3pKQ0xFbEJRVmR5UkN4SFFVTjBRalpKTEVWQlFVMHNSVUZEU0RkSkxFVkJRV0VzU1VGQlRUWkpMRWRCUVU4c1RVRkRMMEo0Unl4SFFVRlBXQ3hMUVVGTE1rSXNTVUZCVjNKRUxFZEJRV00yU1N4RlFVZDJReXhQUVVGUGVFY3NSMEZIVkM5RkxFOUJRVTlSTEZWQlFWVnBUQ3hWUVVGWkxGTkJRVzlDTVVZc1JVRkJVVzFHTEVkQlIzWkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTNkRUxFdEJRVXN5UWl4SlFVZGtMMFlzVDBGQlQxRXNWVUZCVld0TUxHRkJRV1VzVTBGQmRVSXpSaXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRkMFFzUzBGQlN6SkNMRWRCUVZjelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJSemRETDBZc1QwRkJUMUVzVlVGQlZXdEdMR0ZCUVdVc1UwRkJkVUpMTEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRia04zUkN4TFFVRkxNa0lzU1VGQlZ5eEZRVUZMTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZITjBNdlJpeFBRVUZQVVN4VlFVRlZiVXdzWVVGQlpTeFRRVUYxUWpWR0xFVkJRVkZ0Uml4SFFVazNSQ3hQUVVoQmJrWXNTMEZCYjBJc1JVRkRabTFHTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSTEVWQlFVY3pRaXhMUVVGTGVFUXNVMEZGYkVOM1JDeExRVUZMTWtJc1IwRkRWRE5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUlVGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUTBRc1UwRkJia0l6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVWR5UWk5R0xFOUJRVTlSTEZWQlFWVnZUQ3hoUVVGbExGTkJRWFZDTjBZc1JVRkJVVzFHTEVkQlNUZEVMRTlCU0VGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVVZ3UWl4VFFVRm1kMFFzUzBGQlN6SkNMRWxCUTFRelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJRM0pDTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTnlRak5DTEV0QlFVc3lRaXhGUVVGVExFdEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYRk1MRlZCUVZrc1UwRkJiMEk1Uml4RlFVRlJja1FzUlVGQldYZEpMRWRCUTI1RmJrWXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJja1FzUlVGQldUQkNMRXRCUVV0NFJDeFJRVXR3UkN4SlFVaEJMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGRFdIZEdMRVZCUVUwc1JVRkRUbmhKTEVWQlFVa3NTVUZEUTBFc1JVRkJTVXdzU1VGQlpUWkpMRWRCUVU4c1RVRkRha040Unl4SFFVRlBXQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVXQzU1N4RlFVMDFRaXhQUVVaSmVFY3NTVUZHU25kSExFZEJRVThzVDBGRlUzaEhMRWRCUVU5blF5eExRVUZMSzBVc1NVRkJTU3hGUVVGSExFVkJRVWx3U2l4SlFVVm9RM0ZETEVkQlIxUXZSU3hQUVVGUFVTeFZRVUZWZFV3c1ZVRkJXU3hUUVVGdlFtaEhMRVZCUVZGeVJDeEZRVUZaZDBrc1IwRkRia1Z1Uml4TFFVRnZRaXhGUVVOd1FuSkVMRXRCUVRSQ0xFVkJRM1pDZDBrc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZGeVJDeEZRVUZaTUVJc1MwRkJTM2hFTEZGQlMzQkVMRWxCU0VFc1NVRkJTVzFETEVWQlFVbE1MRVZCUTBvMlNTeEZRVUZOTEVWQlEwNTRSeXhGUVVGTldDeExRVUZMTWtJc1NVRkJWMmhFTEVkQlEyNUNRU3hGUVVGSkxFbEJRVTEzU1N4SFFVRlBMRTFCUTNSQ2VFY3NSMEZCVDFnc1MwRkJTekpDTEVsQlFWZG9SQ3hIUVVGTGQwa3NSVUZOT1VJc1QwRkdTWGhITEVsQlJrcDNSeXhIUVVGUExFOUJSVk40Unl4SFFVRlBaME1zUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NTVUZGYUVOeFF5eEhRVWRVTDBVc1QwRkJUMUVzVlVGQlZYZE1MRk5CUVZjc1UwRkJiVUpxUnl4RlFVRlJiVVlzUjBGSGNrUXNUMEZHUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJRM1JDTEVsQlFXWjNSQ3hMUVVGTE1rSXNTVUZETUVJc1IwRkJOVUlzU1VGQlR6TkNMRXRCUVVzeVFpeEhRVUZWTEVkQlJFc3pRaXhMUVVGTE1rSXNTVUZKTTBNdlJpeFBRVUZQVVN4VlFVRlZlVXdzV1VGQll5eFRRVUZ6UW14SExFVkJRVkZ0Uml4SFFVTXpSRzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlF6TkRMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGQlZ6TkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSVUZET1VNc1QwRkJZeXhOUVVGT2FFSXNSVUZCYzBJc1YwRkJUa0VzUlVGQmJVSkJMRWRCUnpkREwwVXNUMEZCVDFFc1ZVRkJWVEJNTEZsQlFXTXNVMEZCYzBKdVJ5eEZRVUZSYlVZc1IwRkRNMFJ1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTXpReXhKUVVGSmJVVXNSVUZCVFZnc1MwRkJTekpDTEVWQlFWTXNSMEZCVFROQ0xFdEJRVXN5UWl4SlFVRlhMRVZCUXpsRExFOUJRV01zVFVGQlRtaENMRVZCUVhOQ0xGZEJRVTVCTEVWQlFXMUNRU3hIUVVjM1F5OUZMRTlCUVU5UkxGVkJRVlV5VEN4WlFVRmpMRk5CUVhOQ2NFY3NSVUZCVVcxR0xFZEJTVE5FTEU5QlNFRnVSaXhMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZFc1JVRkJSek5DTEV0QlFVdDRSQ3hSUVVWdVEzZEVMRXRCUVVzeVFpeEhRVU5XTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTndRak5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUjBGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUjNwQ0wwWXNUMEZCVDFFc1ZVRkJWVFJNTEZsQlFXTXNVMEZCYzBKeVJ5eEZRVUZSYlVZc1IwRkpNMFFzVDBGSVFXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUlc1RGQwUXNTMEZCU3pKQ0xFbEJRVmNzUjBGRGNrSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWRCUTNCQ00wSXNTMEZCU3pKQ0xFVkJRVk1zU1VGQlRTeEZRVU53UWpOQ0xFdEJRVXN5UWl4RlFVRlRMRWxCUjI1Q0wwWXNUMEZCVDFFc1ZVRkJWVFpNTEZsQlFXTXNVMEZCYzBKMFJ5eEZRVUZSYlVZc1IwRkhNMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRFpDeFJRVUZSTWtZc1MwRkJTM0pDTEV0QlFVMHlRaXhIUVVGUkxFVkJRVTBzUjBGQlNTeEpRVWM1UXk5R0xFOUJRVTlSTEZWQlFWVTRUQ3haUVVGakxGTkJRWE5DZGtjc1JVRkJVVzFHTEVkQlJ6TkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTJRc1VVRkJVVEpHTEV0QlFVdHlRaXhMUVVGTk1rSXNSMEZCVVN4RlFVRlBMRWRCUVVrc1NVRkhMME12Uml4UFFVRlBVU3hWUVVGVkswd3NZVUZCWlN4VFFVRjFRbmhITEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRjRU5rTEZGQlFWRXlSaXhMUVVGTGNrSXNTMEZCVFRKQ0xFZEJRVkVzUlVGQlRTeEhRVUZKTEVsQlJ6bERMMFlzVDBGQlQxRXNWVUZCVldkTkxHRkJRV1VzVTBGQmRVSjZSeXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRaQ3hSUVVGUk1rWXNTMEZCUzNKQ0xFdEJRVTB5UWl4SFFVRlJMRVZCUVU4c1IwRkJTU3hKUVZNdlF5OUdMRTlCUVU5UkxGVkJRVlZwVFN4WlFVRmpMRk5CUVhOQ2Nrd3NSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVRlpkMGtzU1VGRE9VVTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFbEJSVWhLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVUm1jVVVzUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NSMEZCWXl4RlFVTlBMRWRCUjNSRUxFbEJRVWsyU1N4RlFVRk5MRVZCUTA1NFNTeEZRVUZKTEVWQlJWSXNTVUZFUVhGQ0xFdEJRVXN5UWl4SFFVRnJRaXhKUVVGU00wVXNTVUZEVGpKQ0xFVkJRVWxNTEVsQlFXVTJTU3hIUVVGUExFMUJRMnBEYmtnc1MwRkJTekpDTEVWQlFWTm9SQ3hIUVVGTk0wSXNSVUZCVVcxTExFVkJRVThzU1VGSGNrTXNUMEZCVDNoR0xFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZWclRTeFpRVUZqTEZOQlFYTkNkRXdzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVUZaZDBrc1NVRkRPVVU1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWxCUlVoS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVVJtY1VVc1MwRkJTeXRGTEVsQlFVa3NSVUZCUnl4RlFVRkpjRW9zUjBGQll5eEZRVU5QTEVkQlIzUkVMRWxCUVVsTExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlJWWXNTVUZFUVc1SUxFdEJRVXN5UWl4RlFVRlRhRVFzUjBGQllTeEpRVUZTTTBJc1NVRkRWakpDTEVkQlFVc3NTVUZCVFhkSkxFZEJRVThzVFVGRGVrSnVTQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVTB6UWl4RlFVRlJiVXNzUlVGQlR5eEpRVWR5UXl4UFFVRlBlRVlzUlVGQlUzSkVMRWRCUjJ4Q01VTXNUMEZCVDFFc1ZVRkJWVzFOTEZkQlFXRXNVMEZCY1VKMlRDeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlMyaEZMRTlCU2tFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eEpRVUZOTEVkQlEzUkVNMElzUzBGQlN6SkNMRWRCUVcxQ0xFbEJRVkl6UlN4RlFVTlVNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVnZUU3hqUVVGblFpeFRRVUYzUW5oTUxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGTmRFVXNUMEZNUVRsS0xFZEJRVk5CTEVWQlExUXlSU3hMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVW9zVTBGQlV6RkhMRXRCUVUxb1JDeEZRVUZQTWtVc1JVRkJVU3hGUVVGSExFMUJRVkVzUjBGRGVFUXpRaXhMUVVGTE1rSXNSMEZCYlVJc1NVRkJVak5GTEVWQlEyaENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSVUZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhGTkxHTkJRV2RDTEZOQlFYZENla3dzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTEwUlN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzVFVGQlVTeEhRVU40UkROQ0xFdEJRVXN5UWl4SFFVRlhNMFVzU1VGQlZTeEZRVU14UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYTk5MR05CUVdkQ0xGTkJRWGRDTVV3c1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGMFJTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1YwRkJXU3hIUVVNMVJETkNMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFZEJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4SFFVRnRRaXhKUVVGU00wVXNSVUZEVkRKRkxFVkJRVk1zUjBGSGJFSXZSaXhQUVVGUFVTeFZRVUZWZFUwc1kwRkJaMElzVTBGQmQwSXpUQ3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVWFJGTEU5QlVFRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhYUVVGWkxFZEJRelZFTTBJc1MwRkJTekpDTEVkQlFWY3pSU3hKUVVGVkxFZEJRekZDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYZE5MRmRCUVdFc1UwRkJjVUkxVEN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsM1NTeEhRVWMxUlN4SFFVWkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVkQlEyWnRSaXhGUVVGVkxFTkJRMklzU1VGQlNTdENMRVZCUVZGc1J5eExRVUZMSzBVc1NVRkJTU3hGUVVGSkxFVkJRVWx3U2l4RlFVRmpMRWRCUlRORGIwa3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsMVN5eEZRVUZSTEVkQlFVbEJMRWRCUjNoRUxFbEJRVWxzU3l4RlFVRkpMRVZCUTBwM1NTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEhRVUZyUWl4SlFVRlNNMFVzU1VGRFRqSkNMRVZCUVVsTUxFbEJRV1UyU1N4SFFVRlBMRTFCUXpkQ2Jrc3NSVUZCVVN4SFFVRmhMRWxCUVZJNFRDeEhRVUZ6UXl4SlFVRjZRamxKTEV0QlFVc3lRaXhGUVVGVGFFUXNSVUZCU1N4TFFVTTVRMjFMTEVWQlFVMHNSMEZGVWpsSkxFdEJRVXN5UWl4RlFVRlRhRVFzU1VGQlR6TkNMRVZCUVZGdFN5eEhRVUZSTEVkQlFVc3lRaXhGUVVGTkxFbEJSMnhFTEU5QlFVOXVTQ3hGUVVGVGNrUXNSMEZIYkVJeFF5eFBRVUZQVVN4VlFVRlZNazBzVjBGQllTeFRRVUZ4UWk5TUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYZEpMRWRCUnpWRkxFZEJSa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1IwRkRabTFHTEVWQlFWVXNRMEZEWWl4SlFVRkpLMElzUlVGQlVXeEhMRXRCUVVzclJTeEpRVUZKTEVWQlFVa3NSVUZCU1hCS0xFVkJRV01zUjBGRk0wTnZTU3hUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYVkxMRVZCUVZFc1IwRkJTVUVzUjBGSGVFUXNTVUZCU1d4TExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEZRVUZUYUVRc1IwRkJZU3hKUVVGU00wSXNTVUZEVmpKQ0xFZEJRVXNzU1VGQlRYZEpMRWRCUVU4c1RVRkRja0p1U3l4RlFVRlJMRWRCUVdFc1NVRkJVamhNTEVkQlFYTkRMRWxCUVhwQ09Va3NTMEZCU3pKQ0xFVkJRVk5vUkN4RlFVRkpMRXRCUXpsRGJVc3NSVUZCVFN4SFFVVlNPVWtzUzBGQlN6SkNMRVZCUVZOb1JDeEpRVUZQTTBJc1JVRkJVVzFMTEVkQlFWRXNSMEZCU3pKQ0xFVkJRVTBzU1VGSGJFUXNUMEZCVDI1SUxFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZVMFRTeFZRVUZaTEZOQlFXOUNhRTBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTA1UkN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzUzBGQlR5eExRVU51UkRORkxFVkJRVkVzU1VGQlIwRXNSVUZCVVN4SlFVRlBRU3hGUVVGUkxFZEJRM1JEWjBRc1MwRkJTekpDTEVkQlFXMUNMRWxCUVZJelJTeEZRVU5VTWtVc1JVRkJVeXhIUVVkc1FpOUdMRTlCUVU5UkxGVkJRVlUyVFN4aFFVRmxMRk5CUVhWQ2FrMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMXdSU3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NUMEZCVXl4UFFVTjZSRE5DTEV0QlFVc3lRaXhIUVVGdFFpeEpRVUZTTTBVc1JVRkRhRUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hGUVVOMlFqSkZMRVZCUVZNc1IwRkhiRUl2Uml4UFFVRlBVU3hWUVVGVk9FMHNZVUZCWlN4VFFVRjFRbXhOTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZOY0VVc1QwRk1RVGxLTEVkQlFWTkJMRVZCUTFReVJTeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVb3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEU5QlFWTXNUMEZEZWtRelFpeExRVUZMTWtJc1IwRkJWek5GTEVsQlFWVXNSVUZETVVKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGakxFbEJRVkl6UlN4RlFVTmlNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVXJUU3hoUVVGbExGTkJRWFZDYmswc1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGd1JTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1dVRkJZU3haUVVNM1JETkNMRXRCUVVzeVFpeEhRVUZ0UWl4SlFVRlNNMFVzUlVGRGFFSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVkQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVldkT0xHRkJRV1VzVTBGQmRVSndUU3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVM0JGTEU5QlVrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhaUVVGaExGbEJRM3BFTTBVc1JVRkJVU3hKUVVGSFFTeEZRVUZSTEZkQlFXRkJMRVZCUVZFc1IwRkROVU5uUkN4TFFVRkxNa0lzUjBGQlZ6TkZMRWxCUVZVc1IwRkRNVUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hIUVVNNVFtZEVMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFVkJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCWXl4SlFVRlNNMFVzUlVGRFlqSkZMRVZCUVZNc1IwRnJRbXhDTDBZc1QwRkJUMUVzVlVGQlZXbE9MR0ZCUVdVc1UwRkJkVUp5VFN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUTNCRkxFOUJRVTlHTEZkQlFWYzFSeXhMUVVGTmFFUXNSVUZCVHpKRkxFZEJRVkVzUlVGQlRXMUdMRWxCUnk5RGJFd3NUMEZCVDFFc1ZVRkJWV3RPTEdGQlFXVXNVMEZCZFVKMFRTeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlEzQkZMRTlCUVU5R0xGZEJRVmMxUnl4TFFVRk5hRVFzUlVGQlR6SkZMRWRCUVZFc1JVRkJUMjFHTEVsQllXaEViRXdzVDBGQlQxRXNWVUZCVlcxT0xHTkJRV2RDTEZOQlFYZENkazBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVU4wUlN4UFFVRlBReXhaUVVGWkwwY3NTMEZCVFdoRUxFVkJRVTh5UlN4SFFVRlJMRVZCUVUxdFJpeEpRVWRvUkd4TUxFOUJRVTlSTEZWQlFWVnZUaXhqUVVGblFpeFRRVUYzUW5oTkxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGRGRFVXNUMEZCVDBNc1dVRkJXUzlITEV0QlFVMW9SQ3hGUVVGUE1rVXNSMEZCVVN4RlFVRlBiVVlzU1VGSmFrUnNUQ3hQUVVGUFVTeFZRVUZWTkVNc1MwRkJUeXhUUVVGbGRVY3NSVUZCVVd0RkxFVkJRV0V6U2l4RlFVRlBReXhIUVVOcVJTeEpRVUZMYmtVc1QwRkJUMnRFTEZOQlFWTjVSeXhIUVVGVExFMUJRVTBzU1VGQlNURkpMRlZCUVZVc0swSkJVV3hFTEVkQlVFdHBSQ3hKUVVGUFFTeEZRVUZSTEVkQlEyWkRMRWRCUVdVc1NVRkJVa0VzU1VGQlYwRXNSVUZCVFVNc1MwRkJTM2hFTEZGQlF6bENhVTRzUjBGQlpXeEZMRVZCUVU4dlNTeFRRVUZSYVU0c1JVRkJZMnhGTEVWQlFVOHZTU3hSUVVOc1JHbE9MRWxCUVdGQkxFVkJRV01zUjBGRE5VSXhTaXhGUVVGTkxFZEJRVXRCTEVWQlFVMUVMRWxCUVU5RExFVkJRVTFFTEVkQlJ6bENReXhKUVVGUlJDeEZRVUZQTEU5QlFVOHNSVUZETVVJc1IwRkJjMElzU1VGQmJFSjVSaXhGUVVGUEwwa3NVVUZCWjBNc1NVRkJhRUozUkN4TFFVRkxlRVFzVDBGQll5eFBRVUZQTEVWQlIzSkVMRWRCUVVscFRpeEZRVUZqTEVWQlEyaENMRTFCUVUwc1NVRkJTV2hPTEZkQlFWY3NOa0pCUlhaQ0xFZEJRVWx4UkN4RlFVRlJMRWRCUVV0QkxFZEJRVk5GTEV0QlFVdDRSQ3hQUVVGUkxFMUJRVTBzU1VGQlNVTXNWMEZCVnl4elFrRkROVVFzUjBGQlNYTkVMRVZCUVUwc1JVRkJSeXhOUVVGTkxFbEJRVWwwUkN4WFFVRlhMREpDUVVjNVFuTkVMRVZCUVUxRExFdEJRVXQ0UkN4VFFVRlJkVVFzUlVGQlRVTXNTMEZCUzNoRUxGRkJRemxDSzBrc1JVRkJUeTlKTEU5QlFWTnBUaXhGUVVGak1Vb3NSVUZCVFVRc1NVRkRkRU5ETEVWQlFVMTNSaXhGUVVGUEwwa3NUMEZCVTJsT0xFVkJRV016U2l4SFFVZDBReXhKUVVGSlppeEZRVUZOWjBJc1JVRkJUVVFzUlVGRmFFSXNSMEZCU1VVc1QwRkJVM1ZHTEVkQlFYRkVMRzFDUVVGd1EzSktMRmRCUVZkRkxGVkJRVlZ6VGl4WFFVVnFSREZLTEV0QlFVc3dTaXhYUVVGWFJDeEZRVUZoTTBvc1JVRkJUME1zVVVGREwwSXNSMEZCU1VNc1QwRkJVM1ZHTEVkQlFWVjZSaXhGUVVGUk1rb3NSMEZCWlVFc1JVRkJZekZLTEVWQlJXcEZMRWxCUVVzc1NVRkJTWEJDTEVWQlFVbEpMRVZCUVUwc1JVRkJSMG9zUjBGQlN5eEpRVUZMUVN4RlFVTTVRalJITEVWQlFVODFSeXhGUVVGSk9Fc3NSMEZCWlhwS0xFdEJRVXR5UWl4RlFVRkpiVUlzVVVGSGNrTTFSQ3hYUVVGWFJTeFZRVUZWZFU0c1NVRkJTVFZKTEV0QlEzWkNkMFVzUlVGRFFYWkdMRXRCUVV0cFNDeFRRVUZUYmtnc1JVRkJUME1zUjBGRGNrSXdTaXhIUVVsS0xFOUJRVTh4U3l4SFFVOVVia1FzVDBGQlQxRXNWVUZCVlRSQ0xFdEJRVThzVTBGQlpUSkRMRVZCUVV0aUxFVkJRVTlETEVWQlFVczVRaXhIUVVWMFJDeEhRVUZ0UWl4cFFrRkJVakJETEVWQlFXdENMRU5CVXpOQ0xFZEJVbkZDTEdsQ1FVRldZaXhIUVVOVU4wSXNSVUZCVnpaQ0xFVkJRMWhCTEVWQlFWRXNSVUZEVWtNc1JVRkJUVU1zUzBGQlMzaEVMRkZCUTJFc2FVSkJRVkoxUkN4SlFVTm9RamxDTEVWQlFWYzRRaXhGUVVOWVFTeEZRVUZOUXl4TFFVRkxlRVFzWVVGRlNUQkNMRWxCUVdKRUxFZEJRVGhETEdsQ1FVRmlRU3hGUVVOdVF5eE5RVUZOTEVsQlFVbHdRaXhWUVVGVkxEWkNRVVYwUWl4SFFVRjNRaXhwUWtGQlltOUNMRWxCUVRCQ2NrTXNUMEZCVDNsRExGZEJRVmRLTEVkQlEzSkVMRTFCUVUwc1NVRkJTWEJDTEZWQlFWVXNjVUpCUVhWQ2IwSXNSMEZGTjBNc1IwRkJiVUlzU1VGQlpqQkRMRVZCUVVsdVJTeFBRVUZqTEVOQlEzQkNMRWxCUVVsdlRpeEZRVUZQYWtvc1JVRkJTV3RLTEZkQlFWY3NTVUZEVWl4VFFVRmlOVXdzUjBGQmRVSXlUQ3hGUVVGUExFdEJRMnhDTEZkQlFXSXpUQ3hMUVVWR01FTXNSVUZCVFdsS0xGRkJSMk1zYVVKQlFWSnFTaXhKUVVOb1FrRXNSMEZCV1N4TFFVbGtMRWRCUVVsaUxFVkJRVkVzUjBGQlMwVXNTMEZCUzNoRUxFOUJRVk56UkN4SFFVRlRSU3hMUVVGTGVFUXNUMEZCVTNWRUxFVkJRM0JFTEUxQlFVMHNTVUZCU1hSRUxGZEJRVmNzYzBKQlIzWkNMRWRCUVVselJDeEhRVUZQUkN4RlFVTlVMRTlCUVU5RkxFdEJVVlFzU1VGQlNYSkNMRVZCUTBvc1IwRk9RVzFDTEV0QlFXdENMRVZCUTJ4Q1F5eFBRVUZqTjBJc1NVRkJValpDTEVWQlFXOUNReXhMUVVGTGVFUXNUMEZCVTNWRUxFbEJRVkVzUlVGRk0wTlpMRWxCUVV0QkxFVkJRVTBzUjBGSFJ5eHBRa0ZCVWtFc1JVRkRWQ3hKUVVGTGFFTXNSVUZCU1cxQ0xFVkJRVTl1UWl4RlFVRkpiMElzU1VGQlQzQkNMRVZCUTNwQ2NVSXNTMEZCUzNKQ0xFZEJRVXRuUXl4TlFVVlFMRU5CUTB3c1NVRkJTVFJHTEVWQlFWRXpTeXhQUVVGUGEwUXNVMEZCVXpaQ0xFZEJRM2hDUVN4RlFVTkJMMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1IwRkRha0pqTEVWQlFVMTNTQ3hGUVVGTkwwb3NUMEZEYUVJc1IwRkJXU3hKUVVGU2RVTXNSVUZEUml4TlFVRk5MRWxCUVVsc1F5eFZRVUZWTEdOQlFXZENPRVFzUlVGRGJFTXNjVU5CUlVvc1NVRkJTMmhETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzlDTEVWQlFVMUVMRWxCUVZOdVFpeEZRVU0zUW5GQ0xFdEJRVXR5UWl4RlFVRkpiVUlzUjBGQlUzbEhMRVZCUVUwMVNDeEZRVUZKU1N4SFFVbG9ReXhQUVVGUGFVSXNUVUZOVkN4SlFVRkpPRW9zYTBKQlFXOUNMRzlDUVVWNFFpeFRRVUZUUXl4WlFVRmhOVVVzUjBGTmNFSXNTVUZHUVVFc1IwRkdRVUVzUlVGQlRVRXNSVUZCU1RaRkxFMUJRVTBzUzBGQlN5eEpRVVZZTVVVc1QwRkJUMFFzVVVGQlVYbEZMR3RDUVVGdFFpeExRVVZ3UTNST0xFOUJRVk1zUlVGQlJ5eE5RVUZQTEVkQlJUTkNMRXRCUVU4eVNTeEZRVUZKTTBrc1QwRkJVeXhIUVVGTkxFZEJRM2hDTWtrc1IwRkJXU3hKUVVWa0xFOUJRVTlCTEVWQlIxUXNVMEZCVTIxQ0xFMUJRVTg1Uml4SFFVTmtMRTlCUVVsQkxFVkJRVWtzUjBGQlZ5eEpRVUZOUVN4RlFVRkZiRUlzVTBGQlV5eEpRVU0zUW10Q0xFVkJRVVZzUWl4VFFVRlRMRWxCUjNCQ0xGTkJRVk5KTEZsQlFXRjBRaXhGUVVGUk5rd3NSMEZGTlVJc1NVRkJTVGxITEVWQlJFbzRSeXhGUVVGUlFTeEhRVUZUUXl4RlFVRkJRU3hGUVUxcVFpeEpRVXBCTEVsQlFVa3hUaXhGUVVGVE5FSXNSVUZCVHpWQ0xFOUJRMmhDTWs0c1JVRkJaMElzUzBGRGFFSTFSQ3hGUVVGUkxFZEJSVWcxU0N4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4SlFVRlZiVU1zUlVGQlJ5eERRVWt2UWl4SlFVaEJkMFVzUlVGQldTOUZMRVZCUVU5NVRDeFhRVUZYYkV3c1NVRkhaQ3hQUVVGVmQwVXNSVUZCV1N4TlFVRlJMRU5CUlRWRExFbEJRVXRuU0N4RlFVRmxMRU5CUld4Q0xFZEJRVWxvU0N4RlFVRlpMRTFCUVZFc1JVRkZha0k0Unl4SFFVRlRMRWxCUVUwc1IwRkJSekZFTEVWQlFVMXNSQ3hMUVVGTExFbEJRVTBzU1VGQlRTeExRVU01UXl4VFFVTkxMRWRCUVVreFJTeEZRVUZKTEVsQlFVMXVReXhGUVVGUkxFVkJSWFJDZVU0c1IwRkJVeXhKUVVGTkxFZEJRVWN4UkN4RlFVRk5iRVFzUzBGQlN5eEpRVUZOTEVsQlFVMHNTMEZET1VNc1UwRkpSamhITEVWQlFXZENhRWdzUlVGRmFFSXNVMEZKUml4SFFVRkpRU3hGUVVGWkxFMUJRVkVzUlVGRGFrSTRSeXhIUVVGVExFbEJRVTBzUjBGQlJ6RkVMRVZCUVUxc1JDeExRVUZMTEVsQlFVMHNTVUZCVFN4TFFVTTVRemhITEVWQlFXZENhRWdzUlVGRGFFSXNVMEZKUmtFc1JVRkJhMFVzVDBGQmNrUm5TQ3hGUVVGblFpeFBRVUZWTEVkQlFVdG9TQ3hGUVVGWkxGbEJReTlEWjBnc1NVRkZTa1lzUjBGQlV5eEpRVUZOTEVkQlFVY3hSQ3hGUVVGTmJFUXNTMEZCU3l4SlFVRk5MRWxCUVUwc1MwRk5hRVFzUjBGSVFUaEhMRVZCUVdkQ0xFdEJSMXBvU0N4RlFVRlpMRWxCUVUwc1EwRkRjRUlzU1VGQlN6aEhMRWRCUVZNc1IwRkJTeXhGUVVGSExFMUJRM1JDTVVRc1JVRkJUV3hFTEV0QlFVdEdMRkZCUTA0c1IwRkJTVUVzUlVGQldTeExRVUZQTEVOQlF6VkNMRWxCUVVzNFJ5eEhRVUZUTEVkQlFVc3NSVUZCUnl4TlFVTjBRakZFTEVWQlFVMXNSQ3hMUVVOS1JpeEhRVUZoTEVWQlFVMHNTVUZEVUN4SFFVRmFRU3hGUVVGdFFpeFZRVVZvUWl4SFFVRkpRU3hGUVVGWkxFMUJRVk1zUTBGRE9VSXNTVUZCU3poSExFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlRTeEpRVU51UWtFc1IwRkJZU3hGUVVGTkxFZEJRVThzU1VGRFpDeEhRVUZhUVN4RlFVRnRRaXhUUVVWb1FpeERRVUZCTEV0QlFVbEJMRVZCUVZrc1UwRlRja0lzVFVGQlRTeEpRVUZKTWtNc1RVRkJUU3h6UWtGU2FFSXNTVUZCUzIxRkxFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlR5eEpRVU53UWtFc1IwRkJZU3hIUVVGTkxFZEJRVThzU1VGRE1VSkJMRWRCUVdFc1JVRkJUU3hIUVVGUExFbEJRMlFzUjBGQldrRXNSVUZCYlVJc1RVRlBla0lzVDBGQlQyOUVMRVZCUjFRc1UwRkJVMnhGTEdGQlFXTTRReXhIUVVWeVFpeEpRVVJCTEVsQlFVbHBSaXhGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVTBGQlZXMURMRVZCUldoRGVVd3NSVUZCVlM5SExFdEJRWGxDTEVsQlFYQkNPRUlzUlVGQlNUQkZMRmRCUVZkc1RDeEpRVVZvUXl4UFFVRlBlVXdzUlVGSFZDeFRRVUZUTTBnc1pVRkJaMEl3UXl4RlFVRkxPRVVzUjBGSE5VSXNTVUZHUVN4SlFVRkpTU3hGUVVGSFF5eEZRVUZKUXl4RlFVTlFTQ3hGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVjBGRGFrSjVUaXhIUVVGVExFZEJRVXNzUzBGRVlYUk1MRVZCU1doRE1rd3NSMEZFUVVRc1JVRkJTV3hHTEVWQlFVa3dSU3hYUVVGWGJFd3NTMEZEVkN4RlFVTldORXdzUlVGQlMwWXNSVUZCU1N4SlFVTlVSQ3hGUVVGVkwwY3NTMEZCUzJ0SUxFZEJRMlpJTEVWQlFWVXZSeXhMUVVGTGFVZ3NSMEZIYWtJc1QwRkJUMFlzUlVGSFZDeFRRVUZUZWtzc1kwRkJaWGRHTEVkQlEzUkNMRTlCUVU4elNpeFBRVUZQWjFBc1dVRkJXVlFzV1VGQldUVkZMRWxCUjNoRExGTkJRVk5vUkN4WFFVRlpjMGtzUlVGQlMwTXNSVUZCU3k5SkxFVkJRVkZ1Uml4SFFVTnlReXhKUVVGTExFbEJRVWx0UXl4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4TFFVTmliVU1zUlVGQlNXZEVMRWRCUVZVclNTeEZRVUZKYkU4c1VVRkJXVzFETEVkQlFVczRUQ3hGUVVGSmFrOHNWVUZFYUVKdFF5eEZRVVUxUWl0TUxFVkJRVWt2VEN4RlFVRkpaMFFzUjBGQlZUaEpMRVZCUVVrNVRDeEhRVVY0UWl4UFFVRlBRU3hGUVUxVUxGTkJRVk4wUWl4WFFVRlpkMElzUlVGQlMwc3NSMEZEZUVJc1QwRkJUMHdzWVVGQlpVc3NSMEZEV2l4TlFVRlFUQ3hIUVVGclF5eE5RVUZ1UWtFc1JVRkJTVGhNTEdGQlFTdERMRTFCUVhoQ09Vd3NSVUZCU1RoTUxGbEJRVmxETEUxQlEzcEVMMHdzUlVGQlNUaE1MRmxCUVZsRExFOUJRVk14VEN4RlFVRkxNRXdzUzBGRmNFTXNVMEZCVXpOTUxGbEJRV0ZLTEVkQlJYQkNMRTlCUVU5QkxFZEJRVkZCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMMkoxWm1abGNpOXBibVJsZUM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgUmVmbGVjdE93bktleXMsUj1cIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwsUmVmbGVjdEFwcGx5PVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIuYXBwbHk/Ui5hcHBseTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGUsdCxuKX07ZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKGUpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKGUpfVJlZmxlY3RPd25LZXlzPVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIub3duS2V5cz9SLm93bktleXM6T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpfTpmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSl9O3ZhciBOdW1iZXJJc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfTtmdW5jdGlvbiBFdmVudEVtaXR0ZXIoKXtFdmVudEVtaXR0ZXIuaW5pdC5jYWxsKHRoaXMpfW1vZHVsZS5leHBvcnRzPUV2ZW50RW1pdHRlcixtb2R1bGUuZXhwb3J0cy5vbmNlPW9uY2UsRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlcj1FdmVudEVtaXR0ZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnM9MTA7ZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihlKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpfWZ1bmN0aW9uIF9nZXRNYXhMaXN0ZW5lcnMoZSl7cmV0dXJuIHZvaWQgMD09PWUuX21heExpc3RlbmVycz9FdmVudEVtaXR0ZXIuZGVmYXVsdE1heExpc3RlbmVyczplLl9tYXhMaXN0ZW5lcnN9ZnVuY3Rpb24gX2FkZExpc3RlbmVyKGUsdCxuLHIpe3ZhciBpLG8scztpZihjaGVja0xpc3RlbmVyKG4pLHZvaWQgMD09PShvPWUuX2V2ZW50cyk/KG89ZS5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5fZXZlbnRzQ291bnQ9MCk6KHZvaWQgMCE9PW8ubmV3TGlzdGVuZXImJihlLmVtaXQoXCJuZXdMaXN0ZW5lclwiLHQsbi5saXN0ZW5lcj9uLmxpc3RlbmVyOm4pLG89ZS5fZXZlbnRzKSxzPW9bdF0pLHZvaWQgMD09PXMpcz1vW3RdPW4sKytlLl9ldmVudHNDb3VudDtlbHNlIGlmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHM/cz1vW3RdPXI/W24sc106W3Msbl06cj9zLnVuc2hpZnQobik6cy5wdXNoKG4pLChpPV9nZXRNYXhMaXN0ZW5lcnMoZSkpPjAmJnMubGVuZ3RoPmkmJiFzLndhcm5lZCl7cy53YXJuZWQ9ITA7dmFyIHU9bmV3IEVycm9yKFwiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiBcIitzLmxlbmd0aCtcIiBcIitTdHJpbmcodCkrXCIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdFwiKTt1Lm5hbWU9XCJNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmdcIix1LmVtaXR0ZXI9ZSx1LnR5cGU9dCx1LmNvdW50PXMubGVuZ3RoLFByb2Nlc3NFbWl0V2FybmluZyh1KX1yZXR1cm4gZX1mdW5jdGlvbiBvbmNlV3JhcHBlcigpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gX29uY2VXcmFwKGUsdCxuKXt2YXIgcj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6ZSx0eXBlOnQsbGlzdGVuZXI6bn0saT1vbmNlV3JhcHBlci5iaW5kKHIpO3JldHVybiBpLmxpc3RlbmVyPW4sci53cmFwRm49aSxpfWZ1bmN0aW9uIF9saXN0ZW5lcnMoZSx0LG4pe3ZhciByPWUuX2V2ZW50cztpZih2b2lkIDA9PT1yKXJldHVybltdO3ZhciBpPXJbdF07cmV0dXJuIHZvaWQgMD09PWk/W106XCJmdW5jdGlvblwiPT10eXBlb2YgaT9uP1tpLmxpc3RlbmVyfHxpXTpbaV06bj91bndyYXBMaXN0ZW5lcnMoaSk6YXJyYXlDbG9uZShpLGkubGVuZ3RoKX1mdW5jdGlvbiBsaXN0ZW5lckNvdW50KGUpe3ZhciB0PXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT10KXt2YXIgbj10W2VdO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pcmV0dXJuIDE7aWYodm9pZCAwIT09bilyZXR1cm4gbi5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gYXJyYXlDbG9uZShlLHQpe2Zvcih2YXIgbj1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpbltyXT1lW3JdO3JldHVybiBufWZ1bmN0aW9uIHNwbGljZU9uZShlLHQpe2Zvcig7dCsxPGUubGVuZ3RoO3QrKyllW3RdPWVbdCsxXTtlLnBvcCgpfWZ1bmN0aW9uIHVud3JhcExpc3RlbmVycyhlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDsrK24pdFtuXT1lW25dLmxpc3RlbmVyfHxlW25dO3JldHVybiB0fWZ1bmN0aW9uIG9uY2UoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtmdW5jdGlvbiBpKG4pe2UucmVtb3ZlTGlzdGVuZXIodCxvKSxyKG4pfWZ1bmN0aW9uIG8oKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnJlbW92ZUxpc3RlbmVyJiZlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixpKSxuKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9ZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxvLHtvbmNlOiEwfSksXCJlcnJvclwiIT09dCYmYWRkRXJyb3JIYW5kbGVySWZFdmVudEVtaXR0ZXIoZSxpLHtvbmNlOiEwfSl9KX1mdW5jdGlvbiBhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlLHQsbil7XCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbiYmZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsXCJlcnJvclwiLHQsbil9ZnVuY3Rpb24gZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxuLHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub24pci5vbmNlP2Uub25jZSh0LG4pOmUub24odCxuKTtlbHNle2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuYWRkRXZlbnRMaXN0ZW5lcil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJlbWl0dGVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEV2ZW50RW1pdHRlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBlKTtlLmFkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbiBpKG8pe3Iub25jZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSksbihvKX0pfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnRFbWl0dGVyLFwiZGVmYXVsdE1heExpc3RlbmVyc1wiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBkZWZhdWx0TWF4TGlzdGVuZXJzfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGV8fGU8MHx8TnVtYmVySXNOYU4oZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrXCIuXCIpO2RlZmF1bHRNYXhMaXN0ZW5lcnM9ZX19KSxFdmVudEVtaXR0ZXIuaW5pdD1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlfHxlPDB8fE51bWJlcklzTmFOKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytlK1wiLlwiKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPWUsdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0LnB1c2goYXJndW1lbnRzW25dKTt2YXIgcj1cImVycm9yXCI9PT1lLGk9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PWkpcj1yJiZ2b2lkIDA9PT1pLmVycm9yO2Vsc2UgaWYoIXIpcmV0dXJuITE7aWYocil7dmFyIG87aWYodC5sZW5ndGg+MCYmKG89dFswXSksbyBpbnN0YW5jZW9mIEVycm9yKXRocm93IG87dmFyIHM9bmV3IEVycm9yKFwiVW5oYW5kbGVkIGVycm9yLlwiKyhvP1wiIChcIitvLm1lc3NhZ2UrXCIpXCI6XCJcIikpO3Rocm93IHMuY29udGV4dD1vLHN9dmFyIHU9aVtlXTtpZih2b2lkIDA9PT11KXJldHVybiExO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHUpUmVmbGVjdEFwcGx5KHUsdGhpcyx0KTtlbHNle3ZhciBmPXUubGVuZ3RoLHY9YXJyYXlDbG9uZSh1LGYpO2ZvcihuPTA7bjxmOysrbilSZWZsZWN0QXBwbHkodltuXSx0aGlzLHQpfXJldHVybiEwfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLGUsdCwhMSl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub249RXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBfYWRkTGlzdGVuZXIodGhpcyxlLHQsITApfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY2hlY2tMaXN0ZW5lcih0KSx0aGlzLm9uKGUsX29uY2VXcmFwKHRoaXMsZSx0KSksdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNoZWNrTGlzdGVuZXIodCksdGhpcy5wcmVwZW5kTGlzdGVuZXIoZSxfb25jZVdyYXAodGhpcyxlLHQpKSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8scztpZihjaGVja0xpc3RlbmVyKHQpLHZvaWQgMD09PShyPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09KG49cltlXSkpcmV0dXJuIHRoaXM7aWYobj09PXR8fG4ubGlzdGVuZXI9PT10KTA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSByW2VdLHIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsZSxuLmxpc3RlbmVyfHx0KSk7ZWxzZSBpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBuKXtmb3IoaT0tMSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0paWYobltvXT09PXR8fG5bb10ubGlzdGVuZXI9PT10KXtzPW5bb10ubGlzdGVuZXIsaT1vO2JyZWFrfWlmKGk8MClyZXR1cm4gdGhpczswPT09aT9uLnNoaWZ0KCk6c3BsaWNlT25lKG4saSksMT09PW4ubGVuZ3RoJiYocltlXT1uWzBdKSx2b2lkIDAhPT1yLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoXCJyZW1vdmVMaXN0ZW5lclwiLGUsc3x8dCl9cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub2ZmPUV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQsbixyO2lmKHZvaWQgMD09PShuPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09bi5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnZvaWQgMCE9PW5bZV0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSBuW2VdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgaSxvPU9iamVjdC5rZXlzKG4pO2ZvcihyPTA7cjxvLmxlbmd0aDsrK3IpXCJyZW1vdmVMaXN0ZW5lclwiIT09KGk9b1tyXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGkpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhcInJlbW92ZUxpc3RlbmVyXCIpLHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTAsdGhpc31pZihcImZ1bmN0aW9uXCI9PXR5cGVvZih0PW5bZV0pKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KTtlbHNlIGlmKHZvaWQgMCE9PXQpZm9yKHI9dC5sZW5ndGgtMTtyPj0wO3ItLSl0aGlzLnJlbW92ZUxpc3RlbmVyKGUsdFtyXSk7cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMCl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmF3TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMSl9LEV2ZW50RW1pdHRlci5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZS5saXN0ZW5lckNvdW50P2UubGlzdGVuZXJDb3VudCh0KTpsaXN0ZW5lckNvdW50LmNhbGwoZSx0KX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWxpc3RlbmVyQ291bnQsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/UmVmbGVjdE93bktleXModGhpcy5fZXZlbnRzKTpbXX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVYyWlc1MGN5NXFjeUpkTENKdVlXMWxjeUk2V3lKU1pXWnNaV04wVDNkdVMyVjVjeUlzSWxJaUxDSlNaV1pzWldOMElpd2lVbVZtYkdWamRFRndjR3g1SWl3aVlYQndiSGtpTENKMFlYSm5aWFFpTENKeVpXTmxhWFpsY2lJc0ltRnlaM01pTENKR2RXNWpkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbU5oYkd3aUxDSlFjbTlqWlhOelJXMXBkRmRoY201cGJtY2lMQ0ozWVhKdWFXNW5JaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p2ZDI1TFpYbHpJaXdpVDJKcVpXTjBJaXdpWjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4eklpd2laMlYwVDNkdVVISnZjR1Z5ZEhsT1lXMWxjeUlzSW1OdmJtTmhkQ0lzSWs1MWJXSmxja2x6VG1GT0lpd2lUblZ0WW1WeUlpd2lhWE5PWVU0aUxDSjJZV3gxWlNJc0lrVjJaVzUwUlcxcGRIUmxjaUlzSW1sdWFYUWlMQ0owYUdseklpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbTl1WTJVaUxDSmZaWFpsYm5Seklpd2lkVzVrWldacGJtVmtJaXdpWDJWMlpXNTBjME52ZFc1MElpd2lYMjFoZUV4cGMzUmxibVZ5Y3lJc0ltUmxabUYxYkhSTllYaE1hWE4wWlc1bGNuTWlMQ0pqYUdWamEweHBjM1JsYm1WeUlpd2liR2x6ZEdWdVpYSWlMQ0pVZVhCbFJYSnliM0lpTENKZloyVjBUV0Y0VEdsemRHVnVaWEp6SWl3aWRHaGhkQ0lzSWw5aFpHUk1hWE4wWlc1bGNpSXNJblI1Y0dVaUxDSndjbVZ3Wlc1a0lpd2liU0lzSW1WMlpXNTBjeUlzSW1WNGFYTjBhVzVuSWl3aVkzSmxZWFJsSWl3aWJtVjNUR2x6ZEdWdVpYSWlMQ0psYldsMElpd2lkVzV6YUdsbWRDSXNJbkIxYzJnaUxDSnNaVzVuZEdnaUxDSjNZWEp1WldRaUxDSjNJaXdpUlhKeWIzSWlMQ0pUZEhKcGJtY2lMQ0p1WVcxbElpd2laVzFwZEhSbGNpSXNJbU52ZFc1MElpd2liMjVqWlZkeVlYQndaWElpTENKbWFYSmxaQ0lzSW5KbGJXOTJaVXhwYzNSbGJtVnlJaXdpZDNKaGNFWnVJaXdpWVhKbmRXMWxiblJ6SWl3aVgyOXVZMlZYY21Gd0lpd2ljM1JoZEdVaUxDSjNjbUZ3Y0dWa0lpd2lZbWx1WkNJc0lsOXNhWE4wWlc1bGNuTWlMQ0oxYm5keVlYQWlMQ0psZG14cGMzUmxibVZ5SWl3aWRXNTNjbUZ3VEdsemRHVnVaWEp6SWl3aVlYSnlZWGxEYkc5dVpTSXNJbXhwYzNSbGJtVnlRMjkxYm5RaUxDSmhjbklpTENKdUlpd2lZMjl3ZVNJc0lrRnljbUY1SWl3aWFTSXNJbk53YkdsalpVOXVaU0lzSW14cGMzUWlMQ0pwYm1SbGVDSXNJbkJ2Y0NJc0luSmxkQ0lzSWxCeWIyMXBjMlVpTENKeVpYTnZiSFpsSWl3aWNtVnFaV04wSWl3aVpYSnliM0pNYVhOMFpXNWxjaUlzSW1WeWNpSXNJbkpsYzI5c2RtVnlJaXdpYzJ4cFkyVWlMQ0psZG1WdWRGUmhjbWRsZEVGbmJtOXpkR2xqUVdSa1RHbHpkR1Z1WlhJaUxDSmhaR1JGY25KdmNraGhibVJzWlhKSlprVjJaVzUwUlcxcGRIUmxjaUlzSW1oaGJtUnNaWElpTENKbWJHRm5jeUlzSW05dUlpd2lZV1JrUlhabGJuUk1hWE4wWlc1bGNpSXNJbmR5WVhCTWFYTjBaVzVsY2lJc0ltRnlaeUlzSW5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpaWFFpTENKU1lXNW5aVVZ5Y205eUlpd2laMlYwVUhKdmRHOTBlWEJsVDJZaUxDSnpaWFJOWVhoTWFYTjBaVzVsY25NaUxDSm5aWFJOWVhoTWFYTjBaVzVsY25NaUxDSmtiMFZ5Y205eUlpd2laWEp5YjNJaUxDSmxjaUlzSW0xbGMzTmhaMlVpTENKamIyNTBaWGgwSWl3aWJHVnVJaXdpYkdsemRHVnVaWEp6SWl3aVlXUmtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUMjVqWlV4cGMzUmxibVZ5SWl3aWNHOXphWFJwYjI0aUxDSnZjbWxuYVc1aGJFeHBjM1JsYm1WeUlpd2ljMmhwWm5RaUxDSnZabVlpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSnJaWGtpTENKclpYbHpJaXdpY21GM1RHbHpkR1Z1WlhKeklpd2laWFpsYm5ST1lXMWxjeUpkTENKdFlYQndhVzVuY3lJNklrRkJjVUpCTEdGQlJVRXNTVUZQU1VFc1pVRlFRVU1zUlVGQmRVSXNhVUpCUVZwRExGRkJRWFZDUVN4UlFVRlZMRXRCUXpWRFF5eGhRVUZsUml4SFFVRjNRaXh0UWtGQldrRXNSVUZCUlVjc1RVRkROMEpJTEVWQlFVVkhMRTFCUTBZc1UwRkJjMEpETEVWQlFWRkRMRVZCUVZWRExFZEJRM2hETEU5QlFVOURMRk5CUVZORExGVkJRVlZNTEUxQlFVMU5MRXRCUVV0TUxFVkJRVkZETEVWQlFWVkRMRWxCYVVJelJDeFRRVUZUU1N4dFFrRkJiVUpETEVkQlEzUkNReXhUUVVGWFFTeFJRVUZSUXl4TlFVRk5SQ3hSUVVGUlF5eExRVUZMUml4SFFXSXhRMW9zWlVGRVJVTXNSMEZCTUVJc2JVSkJRV1JCTEVWQlFVVmpMRkZCUTBOa0xFVkJRVVZqTEZGQlExWkRMRTlCUVU5RExITkNRVU5ETEZOQlFYZENXaXhIUVVOMlF5eFBRVUZQVnl4UFFVRlBSU3h2UWtGQmIwSmlMRWRCUXk5Q1l5eFBRVUZQU0N4UFFVRlBReXh6UWtGQmMwSmFMRXRCUjNoQ0xGTkJRWGRDUVN4SFFVTjJReXhQUVVGUFZ5eFBRVUZQUlN4dlFrRkJiMEppTEVsQlVYUkRMRWxCUVVsbExGbEJRV05ETEU5QlFVOURMRTlCUVZNc1UwRkJjVUpETEVkQlEzSkVMRTlCUVU5QkxFZEJRVlZCTEVkQlIyNUNMRk5CUVZORExHVkJRMUJCTEdGQlFXRkRMRXRCUVV0bUxFdEJRVXRuUWl4TlFVVjZRa01zVDBGQlQwTXNVVUZCVlVvc1lVRkRha0pITEU5QlFVOURMRkZCUVZGRExFdEJRVTlCTEV0QlIzUkNUQ3hoUVVGaFFTeGhRVUZsUVN4aFFVVTFRa0VzWVVGQllXWXNWVUZCVlhGQ0xHRkJRVlZETEVWQlEycERVQ3hoUVVGaFppeFZRVUZWZFVJc1lVRkJaU3hGUVVOMFExSXNZVUZCWVdZc1ZVRkJWWGRDTEcxQ1FVRm5Ra1lzUlVGSmRrTXNTVUZCU1Vjc2IwSkJRWE5DTEVkQlJURkNMRk5CUVZORExHTkJRV05ETEVkQlEzSkNMRWRCUVhkQ0xHMUNRVUZpUVN4RlFVTlVMRTFCUVUwc1NVRkJTVU1zVlVGQlZTd3dSVUZCTkVWRUxFZEJjME53Unl4VFFVRlRSU3hwUWtGQmFVSkRMRWRCUTNoQ0xGbEJRVEpDVWl4SlFVRjJRbEVzUlVGQlMwNHNZMEZEUVZRc1lVRkJZVlVzYjBKQlEyWkxMRVZCUVV0T0xHTkJiVVJrTEZOQlFWTlBMR0ZCUVdGdVF5eEZRVUZSYjBNc1JVRkJUVXdzUlVGQlZVMHNSMEZETlVNc1NVRkJTVU1zUlVGRFFVTXNSVUZEUVVNc1JVRnpRa29zUjBGd1FrRldMR05CUVdORExGRkJSME5NTEV0QlJHWmhMRVZCUVZOMlF5eEZRVUZQZVVJc1ZVRkZaR01zUlVGQlUzWkRMRVZCUVU5NVFpeFJRVUZWWkN4UFFVRlBPRUlzVDBGQlR5eE5RVU40UTNwRExFVkJRVTh5UWl4aFFVRmxMRk5CU1V0RUxFbEJRWFpDWVN4RlFVRlBSeXhqUVVOVU1VTXNSVUZCVHpKRExFdEJRVXNzWTBGQlpWQXNSVUZEWmt3c1JVRkJVMEVzVTBGQlYwRXNSVUZCVTBFc1UwRkJWMEVzUjBGSmNFUlJMRVZCUVZOMlF5eEZRVUZQZVVJc1UwRkZiRUpsTEVWQlFWZEVMRVZCUVU5SUxGTkJSMGhXTEVsQlFXSmpMRVZCUlVaQkxFVkJRVmRFTEVWQlFVOUlMRWRCUVZGTUxFbEJRM2hDTDBJc1JVRkJUekpDTEd0Q1FXVlVMRWRCWW5kQ0xHMUNRVUZpWVN4RlFVVlVRU3hGUVVGWFJDeEZRVUZQU0N4SFFVTm9Ra01zUlVGQlZTeERRVUZEVGl4RlFVRlZVeXhIUVVGWkxFTkJRVU5CTEVWQlFWVlVMRWRCUlhKRFRTeEZRVU5VUnl4RlFVRlRTU3hSUVVGUllpeEhRVVZxUWxNc1JVRkJVMHNzUzBGQlMyUXNTVUZKYUVKUExFVkJRVWxNTEdsQ1FVRnBRbXBETEVsQlEySXNSMEZCUzNkRExFVkJRVk5OTEU5QlFWTlNMRWxCUVUxRkxFVkJRVk5QTEU5QlFWRXNRMEZEY0VSUUxFVkJRVk5QTEZGQlFWTXNSVUZIYkVJc1NVRkJTVU1zUlVGQlNTeEpRVUZKUXl4TlFVRk5MQ3REUVVORlZDeEZRVUZUVFN4UFFVRlRMRWxCUVUxSkxFOUJRVTlrTEVkQlFWRXNjVVZCUnpORVdTeEZRVUZGUnl4TFFVRlBMRGhDUVVOVVNDeEZRVUZGU1N4UlFVRlZjRVFzUlVGRFdtZEVMRVZCUVVWYUxFdEJRVTlCTEVWQlExUlpMRVZCUVVWTExFMUJRVkZpTEVWQlFWTk5MRTlCUTI1Q2VFTXNiVUpCUVcxQ01FTXNSMEZKZGtJc1QwRkJUMmhFTEVWQlkxUXNVMEZCVTNORUxHTkJRMUFzU1VGQlMycERMRXRCUVV0clF5eE5RVWRTTEU5QlJrRnNReXhMUVVGTGNrSXNUMEZCVDNkRUxHVkJRV1Z1UXl4TFFVRkxaU3hMUVVGTlppeExRVUZMYjBNc1VVRkRNME53UXl4TFFVRkxhME1zVDBGQlVTeEZRVU5aTEVsQlFYSkNSeXhWUVVGVldpeFBRVU5NZWtJc1MwRkJTMVVzVTBGQlV6RkNMRXRCUVV0blFpeExRVUZMY2tJc1VVRkRNVUp4UWl4TFFVRkxWU3hUUVVGVGFFTXNUVUZCVFhOQ0xFdEJRVXR5UWl4UFFVRlJNRVFzVjBGSk5VTXNVMEZCVTBNc1ZVRkJWVE5FTEVWQlFWRnZReXhGUVVGTlRDeEhRVU12UWl4SlFVRkpOa0lzUlVGQlVTeERRVUZGVEN4UFFVRlBMRVZCUVU5RkxGbEJRVkV2UWl4RlFVRlhNVUlzVDBGQlVVRXNSVUZCVVc5RExFdEJRVTFCTEVWQlFVMU1MRk5CUVZWQkxFZEJRMnBHT0VJc1JVRkJWVkFzV1VGQldWRXNTMEZCUzBZc1IwRkhMMElzVDBGR1FVTXNSVUZCVVRsQ0xGTkJRVmRCTEVWQlEyNUNOa0lzUlVGQlRVZ3NUMEZCVTBrc1JVRkRVa0VzUlVFd1NGUXNVMEZCVTBVc1YwRkJWeTlFTEVWQlFWRnZReXhGUVVGTk5FSXNSMEZEYUVNc1NVRkJTWHBDTEVWQlFWTjJReXhGUVVGUGVVSXNVVUZGY0VJc1VVRkJaVU1zU1VGQldHRXNSVUZEUml4TlFVRlBMRWRCUlZRc1NVRkJTVEJDTEVWQlFXRXhRaXhGUVVGUFNDeEhRVU40UWl4WlFVRnRRbFlzU1VGQlpuVkRMRVZCUTBzc1IwRkZhVUlzYlVKQlFXWkJMRVZCUTBaRUxFVkJRVk1zUTBGQlEwTXNSVUZCVjJ4RExGVkJRVmxyUXl4SFFVRmpMRU5CUVVOQkxFZEJSV3hFUkN4RlFVTk1SU3huUWtGQlowSkVMRWRCUVdORkxGZEJRVmRHTEVWQlFWbEJMRVZCUVZkdVFpeFJRVzlDY0VVc1UwRkJVM05DTEdOQlFXTm9ReXhIUVVOeVFpeEpRVUZKUnl4RlFVRlRiRUlzUzBGQlMwa3NVVUZGYkVJc1VVRkJaVU1zU1VGQldHRXNSVUZCYzBJc1EwRkRlRUlzU1VGQlNUQkNMRVZCUVdFeFFpeEZRVUZQU0N4SFFVVjRRaXhIUVVFd1FpeHRRa0ZCWmpaQ0xFVkJRMVFzVDBGQlR5eEZRVU5HTEZGQlFXMUNka01zU1VGQlpuVkRMRVZCUTFRc1QwRkJUMEVzUlVGQlYyNUNMRTlCU1hSQ0xFOUJRVThzUlVGUFZDeFRRVUZUY1VJc1YwRkJWMFVzUlVGQlMwTXNSMEZGZGtJc1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxR0xFZEJRMXBITEVWQlFVa3NSVUZCUjBFc1JVRkJTVWdzU1VGQlMwY3NSVUZEZGtKR0xFVkJRVXRGTEVkQlFVdEtMRVZCUVVsSkxFZEJRMmhDTEU5QlFVOUdMRVZCUjFRc1UwRkJVMGNzVlVGQlZVTXNSVUZCVFVNc1IwRkRka0lzUzBGQlQwRXNSVUZCVVN4RlFVRkpSQ3hGUVVGTE4wSXNUMEZCVVRoQ0xFbEJRemxDUkN4RlFVRkxReXhIUVVGVFJDeEZRVUZMUXl4RlFVRlJMRWRCUXpkQ1JDeEZRVUZMUlN4TlFVZFFMRk5CUVZOWUxHZENRVUZuUWtjc1IwRkZka0lzU1VGRVFTeEpRVUZKVXl4RlFVRk5MRWxCUVVsT0xFMUJRVTFJTEVWQlFVbDJRaXhSUVVObU1rSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlN5eEZRVUZKYUVNc1UwRkJWVEpDTEVWQlEyaERTeXhGUVVGSlRDeEhRVUZMU2l4RlFVRkpTU3hIUVVGSE1VTXNWVUZCV1hORExFVkJRVWxKTEVkQlJXeERMRTlCUVU5TExFVkJSMVFzVTBGQlUzUkVMRXRCUVVzMFFpeEZRVUZUUkN4SFFVTnlRaXhQUVVGUExFbEJRVWswUWl4UlFVRlJMRk5CUVZWRExFVkJRVk5ETEVkQlEzQkRMRk5CUVZORExFVkJRV05ETEVkQlEzSkNMMElzUlVGQlVVa3NaVUZCWlV3c1JVRkJUV2xETEVkQlF6ZENTQ3hGUVVGUFJTeEhRVWRVTEZOQlFWTkRMRWxCUXl0Q0xHMUNRVUV6UW1oRExFVkJRVkZKTEdkQ1FVTnFRa29zUlVGQlVVa3NaVUZCWlN4UlFVRlRNRUlzUjBGRmJFTkdMRVZCUVZFc1IwRkJSMHNzVFVGQlRXaEdMRXRCUVV0eFJDeFpRVWQ0UWpSQ0xDdENRVUVyUW14RExFVkJRVk5FTEVWQlFVMXBReXhGUVVGVkxFTkJRVVUxUkN4TlFVRk5MRWxCUTI1RUxGVkJRVlF5UWl4SFFVTkdiME1zT0VKQlFUaENia01zUlVGQlV6aENMRVZCUVdVc1EwRkJSVEZFTEUxQlFVMHNUVUZMY0VVc1UwRkJVeXRFTERoQ1FVRTRRbTVETEVWQlFWTnZReXhGUVVGVFF5eEhRVU0zUWl4dFFrRkJabkpETEVWQlFWRnpReXhKUVVOcVFrb3NLMEpCUVN0Q2JFTXNSVUZCVXl4UlFVRlRiME1zUlVGQlUwTXNSMEZKT1VRc1UwRkJVMGdzSzBKQlFTdENiRU1zUlVGQlUwUXNSVUZCVFhCQ0xFVkJRVlV3UkN4SFFVTXZSQ3hIUVVFd1FpeHRRa0ZCWm5KRExFVkJRVkZ6UXl4SFFVTmlSQ3hGUVVGTmFrVXNTMEZEVWpSQ0xFVkJRVkUxUWl4TFFVRkxNa0lzUlVGQlRYQkNMRWRCUlc1Q2NVSXNSVUZCVVhORExFZEJRVWQyUXl4RlFVRk5jRUlzVDBGRlpDeERRVUZCTEVkQlFYZERMRzFDUVVFM1FuRkNMRVZCUVZGMVF5eHBRa0ZaZUVJc1RVRkJUU3hKUVVGSk0wUXNWVUZCVlN3MlJVRkJLMFZ2UWl4SFFWUnVSMEVzUlVGQlVYVkRMR2xDUVVGcFFuaERMRVZCUVUwc1UwRkJVM2xETEVWQlFXRkRMRWRCUnk5RFNpeEZRVUZOYWtVc1RVRkRValJDTEVWQlFWRXdReXh2UWtGQmIwSXpReXhGUVVGTmVVTXNSMEZGY0VNM1JDeEZRVUZUT0VRc1RVRm9ZV1pzUml4UFFVRlBiMFlzWlVGQlpUVkZMR0ZCUVdNc2MwSkJRWFZDTEVOQlEzcEVOa1VzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUM0JGTEhGQ1FVVlVjVVVzU1VGQlN5eFRRVUZUVEN4SFFVTmFMRWRCUVcxQ0xHbENRVUZTUVN4SFFVRnZRa0VzUlVGQlRTeEhRVUZMT1VVc1dVRkJXVGhGTEVkQlEzQkVMRTFCUVUwc1NVRkJTVTBzVjBGQlZ5eHJSMEZCYjBkT0xFVkJRVTBzUzBGRmFrbG9SU3h2UWtGQmMwSm5SU3hMUVVreFFqRkZMR0ZCUVdGRExFdEJRVThzWjBKQlJVZE5MRWxCUVdwQ1RDeExRVUZMU1N4VFFVTk1TaXhMUVVGTFNTeFZRVUZaWkN4UFFVRlBlVVlzWlVGQlpTOUZMRTFCUVUxSkxGVkJReTlEU2l4TFFVRkxTU3hSUVVGVlpDeFBRVUZQT0VJc1QwRkJUeXhOUVVNM1FuQkNMRXRCUVV0TkxHRkJRV1VzUjBGSGRFSk9MRXRCUVV0UExHTkJRV2RDVUN4TFFVRkxUeXh2UWtGQmFVSkdMRWRCU3pkRFVDeGhRVUZoWml4VlFVRlZhVWNzWjBKQlFXdENMRk5CUVhsQ0wwSXNSMEZEYUVVc1IwRkJhVUlzYVVKQlFVNUJMRWRCUVd0Q1FTeEZRVUZKTEVkQlFVdDJSQ3haUVVGWmRVUXNSMEZEYUVRc1RVRkJUU3hKUVVGSk5rSXNWMEZCVnl4blJrRkJhMFkzUWl4RlFVRkpMRXRCUnpkSExFOUJSRUZxUkN4TFFVRkxUeXhqUVVGblFqQkRMRVZCUTJScVJDeE5RVk5VUml4aFFVRmhaaXhWUVVGVmEwY3NaMEpCUVd0Q0xGZEJRM1pETEU5QlFVOXlSU3hwUWtGQmFVSmFMRTlCUnpGQ1JpeGhRVUZoWml4VlFVRlZkVU1zUzBGQlR5eFRRVUZqVUN4SFFVVXhReXhKUVVSQkxFbEJRVWxzUXl4RlFVRlBMRWRCUTBaMVJTeEZRVUZKTEVWQlFVZEJMRVZCUVVsbUxGVkJRVlZhTEU5QlFWRXlRaXhKUVVGTGRrVXNSVUZCU3pKRExFdEJRVXRoTEZWQlFWVmxMRWxCUXk5RUxFbEJRVWs0UWl4RlFVRnZRaXhWUVVGVWJrVXNSVUZGV0Vjc1JVRkJVMnhDTEV0QlFVdEpMRkZCUTJ4Q0xGRkJRV1ZETEVsQlFWaGhMRVZCUTBablJTeEZRVUZYUVN4UlFVRTBRamRGTEVsQlFXcENZU3hGUVVGUGFVVXNWMEZETVVJc1NVRkJTMFFzUlVGRFVpeFBRVUZQTEVWQlIxUXNSMEZCU1VFc1JVRkJVeXhEUVVOWUxFbEJRVWxGTEVWQlIwb3NSMEZHU1haSExFVkJRVXMwUXl4UFFVRlRMRWxCUTJoQ01rUXNSVUZCUzNaSExFVkJRVXNzU1VGRFVuVkhMR0ZCUVdONFJDeE5RVWRvUWl4TlFVRk5kMFFzUlVGSFVpeEpRVUZKZEVJc1JVRkJUU3hKUVVGSmJFTXNUVUZCVFN4dlFrRkJjMEozUkN4RlFVRkxMRXRCUVU5QkxFVkJRVWRETEZGQlFWVXNTVUZCVFN4TFFVVjZSU3hOUVVSQmRrSXNSVUZCU1hkQ0xGRkJRVlZHTEVWQlExSjBRaXhGUVVkU0xFbEJRVWxMTEVWQlFWVnFSQ3hGUVVGUFNDeEhRVVZ5UWl4UlFVRm5RbFlzU1VGQldqaEVMRVZCUTBZc1QwRkJUeXhGUVVWVUxFZEJRWFZDTEcxQ1FVRmFRU3hGUVVOVU1VWXNZVUZCWVRCR0xFVkJRVk51UlN4TFFVRk5ia0lzVDBGRk5VSXNRMEZCUVN4SlFVRkpNRWNzUlVGQlRYQkNMRVZCUVZFeFF5eFBRVU5rSzBRc1JVRkJXVEZETEZkQlFWZHhRaXhGUVVGVGIwSXNSMEZEY0VNc1NVRkJVMjVETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzFETEVsQlFVOXVReXhGUVVONlFqTkZMR0ZCUVdFclJ5eEZRVUZWY0VNc1IwRkJTWEJFTEV0QlFVMXVRaXhIUVVkeVF5eFBRVUZQTEVkQmFVVlVhVUlzWVVGQllXWXNWVUZCVlRCSExGbEJRV01zVTBGQmNVSXhSU3hGUVVGTlRDeEhRVU01UkN4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJSelZEV2l4aFFVRmhaaXhWUVVGVmMwWXNSMEZCUzNaRkxHRkJRV0ZtTEZWQlFWVXdSeXhaUVVWdVJETkdMR0ZCUVdGbUxGVkJRVlV5Unl4blFrRkRia0lzVTBGQmVVSXpSU3hGUVVGTlRDeEhRVU0zUWl4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJjVUpvUkZvc1lVRkJZV1lzVlVGQlZXOUNMRXRCUVU4c1UwRkJZMWtzUlVGQlRVd3NSMEZIYUVRc1QwRkdRVVFzWTBGQlkwTXNSMEZEWkZZc1MwRkJTM0ZGTEVkQlFVZDBSQ3hGUVVGTmRVSXNWVUZCVlhSRExFdEJRVTFsTEVWQlFVMU1MRWxCUXpkQ1ZpeE5RVWRVUml4aFFVRmhaaXhWUVVGVk5FY3NiMEpCUTI1Q0xGTkJRVFpDTlVVc1JVRkJUVXdzUjBGSGFrTXNUMEZHUVVRc1kwRkJZME1zUjBGRFpGWXNTMEZCU3pCR0xHZENRVUZuUWpORkxFVkJRVTExUWl4VlFVRlZkRU1zUzBGQlRXVXNSVUZCVFV3c1NVRkRNVU5XTEUxQlNXSkdMR0ZCUVdGbUxGVkJRVlZ2UkN4bFFVTnVRaXhUUVVGM1FuQkNMRVZCUVUxTUxFZEJRelZDTEVsQlFVazBReXhGUVVGTmNFTXNSVUZCVVRCRkxFVkJRVlY0UXl4RlFVRkhlVU1zUlVGTEwwSXNSMEZJUVhCR0xHTkJRV05ETEZGQlIwTk1MRXRCUkdaaExFVkJRVk5zUWl4TFFVRkxTU3hUUVVWYUxFOUJRVTlLTEV0QlIxUXNVVUZCWVVzc1MwRkVZbWxFTEVWQlFVOXdReXhGUVVGUFNDeEpRVVZhTEU5QlFVOW1MRXRCUlZRc1IwRkJTWE5FTEVsQlFWTTFReXhIUVVGWk5FTXNSVUZCU3pWRExGZEJRV0ZCTEVWQlEySXNTMEZCZEVKV0xFdEJRVXROTEdGQlExUk9MRXRCUVV0SkxGRkJRVlZrTEU5QlFVODRRaXhQUVVGUExHTkJSWFJDUml4RlFVRlBTQ3hIUVVOV1J5eEZRVUZQYVVJc1owSkJRMVJ1UXl4TFFVRkxjMElzUzBGQlN5eHBRa0ZCYTBKUUxFVkJRVTExUXl4RlFVRkxOVU1zVlVGQldVRXNVMEZGYkVRc1IwRkJiMElzYlVKQlFWUTBReXhGUVVGeFFpeERRVWR5UXl4SlFVWkJjME1zUjBGQldTeEZRVVZRZUVNc1JVRkJTVVVzUlVGQlN6ZENMRTlCUVZNc1JVRkJSekpDTEVkQlFVc3NSVUZCUjBFc1NVRkRhRU1zUjBGQlNVVXNSVUZCUzBZc1MwRkJUekZETEVkQlFWazBReXhGUVVGTFJpeEhRVUZITVVNc1YwRkJZVUVzUlVGQlZTeERRVU42UkcxR0xFVkJRVzFDZGtNc1JVRkJTMFlzUjBGQlJ6RkRMRk5CUXpOQ2EwWXNSVUZCVjNoRExFVkJRMWdzVFVGSlNpeEhRVUZKZDBNc1JVRkJWeXhGUVVOaUxFOUJRVTgxUml4TFFVVlJMRWxCUVdJMFJpeEZRVU5HZEVNc1JVRkJTM2RETEZGQlJVeDZReXhWUVVGVlF5eEZRVUZOYzBNc1IwRkhSU3hKUVVGb1FuUkRMRVZCUVVzM1FpeFRRVU5RVUN4RlFVRlBTQ3hIUVVGUmRVTXNSVUZCU3l4VFFVVlJha1FzU1VGQk1VSmhMRVZCUVU5cFFpeG5Ra0ZEVkc1RExFdEJRVXR6UWl4TFFVRkxMR2xDUVVGclFsQXNSVUZCVFRoRkxFZEJRVzlDYmtZc1IwRkhNVVFzVDBGQlQxWXNUVUZIWWtZc1lVRkJZV1lzVlVGQlZXZElMRWxCUVUxcVJ5eGhRVUZoWml4VlFVRlZiMFFzWlVGRmNFUnlReXhoUVVGaFppeFZRVUZWYVVnc2JVSkJRMjVDTEZOQlFUUkNha1lzUjBGRE1VSXNTVUZCU1hsRkxFVkJRVmQwUlN4RlFVRlJhME1zUlVGSGRrSXNVVUZCWlM5RExFdEJSR1poTEVWQlFWTnNRaXhMUVVGTFNTeFRRVVZhTEU5QlFVOUtMRXRCUjFRc1VVRkJPRUpMTEVsQlFURkNZU3hGUVVGUGFVSXNaVUZWVkN4UFFWUjVRaXhKUVVGeVFrVXNWVUZCVlZvc1VVRkRXbnBDTEV0QlFVdEpMRkZCUVZWa0xFOUJRVTg0UWl4UFFVRlBMRTFCUXpkQ2NFSXNTMEZCUzAwc1lVRkJaU3hSUVVOTlJDeEpRVUZxUW1Fc1JVRkJUMGdzUzBGRFdTeExRVUYwUW1Zc1MwRkJTMDBzWVVGRFZFNHNTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1lVRkZkRUpHTEVWQlFVOUlMRWxCUlZobUxFdEJTVlFzUjBGQmVVSXNTVUZCY2tKeFF5eFZRVUZWV2l4UFFVRmpMRU5CUXpGQ0xFbEJRMGwzUlN4RlFVUkJReXhGUVVGUE5VY3NUMEZCVHpSSExFdEJRVXRvUml4SFFVVjJRaXhKUVVGTGEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSk9FTXNSVUZCUzNwRkxGTkJRVlV5UWl4RlFVVnFRaXh2UWtGRVdqWkRMRVZCUVUxRExFVkJRVXM1UXl4TFFVVlljRVFzUzBGQlMyZEhMRzFDUVVGdFFrTXNSMEZMTVVJc1QwRklRV3BITEV0QlFVdG5SeXh0UWtGQmJVSXNhMEpCUTNoQ2FFY3NTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1RVRkROMEp3UWl4TFFVRkxUU3hoUVVGbExFVkJRMkpPTEV0QlMxUXNSMEZCZVVJc2JVSkJSbnBDZDBZc1JVRkJXWFJGTEVWQlFVOUlMRWxCUjJwQ1ppeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hSUVVOeVFpeFJRVUZyUW01R0xFbEJRV1J0Uml4RlFVVlVMRWxCUVV0d1F5eEZRVUZKYjBNc1JVRkJWUzlFTEU5QlFWTXNSVUZCUnpKQ0xFZEJRVXNzUlVGQlIwRXNTVUZEY2tOd1JDeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hGUVVGVmNFTXNTVUZKZUVNc1QwRkJUM0JFTEUxQmIwSmlSaXhoUVVGaFppeFZRVUZWZVVjc1ZVRkJXU3hUUVVGdFFucEZMRWRCUTNCRUxFOUJRVTh5UWl4WFFVRlhNVU1zUzBGQlRXVXNSMEZCVFN4SlFVZG9RMnBDTEdGQlFXRm1MRlZCUVZWdlNDeGhRVUZsTEZOQlFYTkNjRVlzUjBGRE1VUXNUMEZCVHpKQ0xGZEJRVmN4UXl4TFFVRk5aU3hIUVVGTkxFbEJSMmhEYWtJc1lVRkJZV2xFTEdOQlFXZENMRk5CUVZOb1FpeEZRVUZUYUVJc1IwRkROME1zVFVGQmNVTXNiVUpCUVRGQ1owSXNSVUZCVVdkQ0xHTkJRMVpvUWl4RlFVRlJaMElzWTBGQlkyaERMRWRCUlhSQ1owTXNZMEZCWXk5RUxFdEJRVXNyUXl4RlFVRlRhRUlzU1VGSmRrTnFRaXhoUVVGaFppeFZRVUZWWjBVc1kwRkJaMEpCTEdOQmFVSjJRMnBFTEdGQlFXRm1MRlZCUVZWeFNDeFhRVUZoTEZkQlEyeERMRTlCUVU5d1J5eExRVUZMVFN4aFFVRmxMRVZCUVVsb1F5eGxRVUZsTUVJc1MwRkJTMGtzVTBGQlZ5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMeTV1ZG0wdmRtVnljMmx2Ym5NdmJtOWtaUzkyTVRJdU1qQXVNQzlzYVdJdmJtOWtaVjl0YjJSMWJHVnpMM2RoZEdOb2FXWjVMMjV2WkdWZmJXOWtkV3hsY3k5bGRtVnVkSE12WlhabGJuUnpMbXB6SW4wPSIsImV4cG9ydHMucmVhZD1mdW5jdGlvbihhLG8sdCxyLGgpe3ZhciBNLHAsdz04Kmgtci0xLGY9KDE8PHcpLTEsZT1mPj4xLGk9LTcsTj10P2gtMTowLG49dD8tMToxLHM9YVtvK05dO2ZvcihOKz1uLE09cyYoMTw8LWkpLTEscz4+PS1pLGkrPXc7aT4wO009MjU2Kk0rYVtvK05dLE4rPW4saS09OCk7Zm9yKHA9TSYoMTw8LWkpLTEsTT4+PS1pLGkrPXI7aT4wO3A9MjU2KnArYVtvK05dLE4rPW4saS09OCk7aWYoMD09PU0pTT0xLWU7ZWxzZXtpZihNPT09ZilyZXR1cm4gcD9OYU46MS8wKihzPy0xOjEpO3ArPU1hdGgucG93KDIsciksTS09ZX1yZXR1cm4ocz8tMToxKSpwKk1hdGgucG93KDIsTS1yKX0sZXhwb3J0cy53cml0ZT1mdW5jdGlvbihhLG8sdCxyLGgsTSl7dmFyIHAsdyxmLGU9OCpNLWgtMSxpPSgxPDxlKS0xLE49aT4+MSxuPTIzPT09aD9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAscz1yPzA6TS0xLHU9cj8xOi0xLGw9bzwwfHwwPT09byYmMS9vPDA/MTowO2ZvcihvPU1hdGguYWJzKG8pLGlzTmFOKG8pfHxvPT09MS8wPyh3PWlzTmFOKG8pPzE6MCxwPWkpOihwPU1hdGguZmxvb3IoTWF0aC5sb2cobykvTWF0aC5MTjIpLG8qKGY9TWF0aC5wb3coMiwtcCkpPDEmJihwLS0sZio9MiksKG8rPXArTj49MT9uL2Y6bipNYXRoLnBvdygyLDEtTikpKmY+PTImJihwKyssZi89MikscCtOPj1pPyh3PTAscD1pKTpwK04+PTE/KHc9KG8qZi0xKSpNYXRoLnBvdygyLGgpLHArPU4pOih3PW8qTWF0aC5wb3coMixOLTEpKk1hdGgucG93KDIsaCkscD0wKSk7aD49ODthW3Qrc109MjU1Jncscys9dSx3Lz0yNTYsaC09OCk7Zm9yKHA9cDw8aHx3LGUrPWg7ZT4wO2FbdCtzXT0yNTUmcCxzKz11LHAvPTI1NixlLT04KTthW3Qrcy11XXw9MTI4Kmx9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSnlaV0ZrSWl3aVluVm1abVZ5SWl3aWIyWm1jMlYwSWl3aWFYTk1SU0lzSW0xTVpXNGlMQ0p1UW5sMFpYTWlMQ0psSWl3aWJTSXNJbVZNWlc0aUxDSmxUV0Y0SWl3aVpVSnBZWE1pTENKdVFtbDBjeUlzSW1raUxDSmtJaXdpY3lJc0lrNWhUaUlzSWtsdVptbHVhWFI1SWl3aVRXRjBhQ0lzSW5CdmR5SXNJbmR5YVhSbElpd2lkbUZzZFdVaUxDSmpJaXdpY25RaUxDSmhZbk1pTENKcGMwNWhUaUlzSW1ac2IyOXlJaXdpYkc5bklpd2lURTR5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZEUVVFc1VVRkJVVU1zUzBGQlR5eFRRVUZWUXl4RlFVRlJReXhGUVVGUlF5eEZRVUZOUXl4RlFVRk5ReXhIUVVOdVJDeEpRVUZKUXl4RlFVRkhReXhGUVVOSVF5eEZRVUZwUWl4RlFVRlVTQ3hGUVVGalJDeEZRVUZQTEVWQlF6ZENTeXhIUVVGUkxFZEJRVXRFTEVkQlFWRXNSVUZEY2tKRkxFVkJRVkZFTEVkQlFWRXNSVUZEYUVKRkxFZEJRVk1zUlVGRFZFTXNSVUZCU1ZRc1JVRkJVVVVzUlVGQlV5eEZRVUZMTEVWQlF6RkNVU3hGUVVGSlZpeEhRVUZSTEVWQlFVa3NSVUZEYUVKWExFVkJRVWxpTEVWQlFVOURMRVZCUVZOVkxFZEJUM2hDTEVsQlRFRkJMRWRCUVV0RExFVkJSVXhRTEVWQlFVbFJMRWRCUVUwc1NVRkJUMGdzUjBGQlZTeEZRVU16UWtjc1MwRkJVVWdzUlVGRFVrRXNSMEZCVTBnc1JVRkRSa2NzUlVGQlVTeEZRVUZIVEN4RlFVRlRMRWxCUVVwQkxFVkJRVmRNTEVWQlFVOURMRVZCUVZOVkxFZEJRVWxCTEVkQlFVdERMRVZCUVVkR0xFZEJRVk1zUjBGTGRrVXNTVUZJUVVvc1JVRkJTVVFzUjBGQlRTeEpRVUZQU3l4SFFVRlZMRVZCUXpOQ1RDeExRVUZSU3l4RlFVTlNRU3hIUVVGVFVDeEZRVU5HVHl4RlFVRlJMRVZCUVVkS0xFVkJRVk1zU1VGQlNrRXNSVUZCVjA0c1JVRkJUME1zUlVGQlUxVXNSMEZCU1VFc1IwRkJTME1zUlVGQlIwWXNSMEZCVXl4SFFVVjJSU3hIUVVGVkxFbEJRVTVNTEVWQlEwWkJMRVZCUVVrc1JVRkJTVWtzVFVGRFNDeERRVUZCTEVkQlFVbEtMRWxCUVUxSExFVkJRMllzVDBGQlQwWXNSVUZCU1ZFc1NVRkJjMEpETEVWQlFVRkJMRWRCUVdSR0xFZEJRVXNzUlVGQlNTeEhRVVUxUWxBc1IwRkJVVlVzUzBGQlMwTXNTVUZCU1N4RlFVRkhaQ3hIUVVOd1FrVXNSMEZCVVVrc1JVRkZWaXhQUVVGUlNTeEhRVUZMTEVWQlFVa3NSMEZCUzFBc1JVRkJTVlVzUzBGQlMwTXNTVUZCU1N4RlFVRkhXaXhGUVVGSlJpeEpRVWMxUTB3c1VVRkJVVzlDTEUxQlFWRXNVMEZCVld4Q0xFVkJRVkZ0UWl4RlFVRlBiRUlzUlVGQlVVTXNSVUZCVFVNc1JVRkJUVU1zUjBGRE0wUXNTVUZCU1VNc1JVRkJSME1zUlVGQlIyTXNSVUZEVG1Jc1JVRkJhVUlzUlVGQlZFZ3NSVUZCWTBRc1JVRkJUeXhGUVVNM1Frc3NSMEZCVVN4SFFVRkxSQ3hIUVVGUkxFVkJRM0pDUlN4RlFVRlJSQ3hIUVVGUkxFVkJRMmhDWVN4RlFVRmxMRXRCUVZSc1FpeEZRVUZqWVN4TFFVRkxReXhKUVVGSkxFZEJRVWtzU1VGQlRVUXNTMEZCUzBNc1NVRkJTU3hIUVVGSkxFbEJRVTBzUlVGRE1VUk9MRVZCUVVsVUxFVkJRVThzUlVGQlMwVXNSVUZCVXl4RlFVTjZRbEVzUlVGQlNWWXNSVUZCVHl4SFFVRkxMRVZCUTJoQ1Z5eEZRVUZKVFN4RlFVRlJMRWRCUVdkQ0xFbEJRVlpCTEVkQlFXVXNSVUZCU1VFc1JVRkJVU3hGUVVGTExFVkJRVWtzUlVGdFF6RkVMRWxCYWtOQlFTeEZRVUZSU0N4TFFVRkxUU3hKUVVGSlNDeEhRVVZpU1N4TlFVRk5TaXhKUVVGVlFTeEpRVUZWU2l4RlFVRkJRU3hIUVVNMVFsUXNSVUZCU1dsQ0xFMUJRVTFLTEVkQlFWTXNSVUZCU1N4RlFVTjJRbVFzUlVGQlNVY3NTVUZGU2tnc1JVRkJTVmNzUzBGQlMxRXNUVUZCVFZJc1MwRkJTMU1zU1VGQlNVNHNSMEZCVTBnc1MwRkJTMVVzUzBGRGJFTlFMRWRCUVZORExFVkJRVWxLTEV0QlFVdERMRWxCUVVrc1IwRkJTVm9zU1VGQlRTeEpRVU5zUTBFc1NVRkRRV1VzUjBGQlN5eEpRVWRNUkN4SFFVUkZaQ3hGUVVGSlNTeEhRVUZUTEVWQlEwNVpMRVZCUVV0RUxFVkJSVXhETEVWQlFVdE1MRXRCUVV0RExFbEJRVWtzUlVGQlJ5eEZRVUZKVWl4SlFVVndRbGNzUjBGQlN5eEpRVU5tWml4SlFVTkJaU3hIUVVGTExFZEJSMGhtTEVWQlFVbEpMRWRCUVZORUxFZEJRMlpHTEVWQlFVa3NSVUZEU2tRc1JVRkJTVWNzUjBGRFMwZ3NSVUZCU1Vrc1IwRkJVeXhIUVVOMFFrZ3NSMEZCVFdFc1JVRkJVVU1zUlVGQlN5eEhRVUZMU2l4TFFVRkxReXhKUVVGSkxFVkJRVWRrTEVkQlEzQkRSU3hIUVVGUlNTeEpRVVZTU0N4RlFVRkpZU3hGUVVGUlNDeExRVUZMUXl4SlFVRkpMRVZCUVVkU0xFVkJRVkVzUjBGQlMwOHNTMEZCUzBNc1NVRkJTU3hGUVVGSFpDeEhRVU5xUkVVc1JVRkJTU3hKUVVsRVJpeEhRVUZSTEVWQlFVZElMRVZCUVU5RExFVkJRVk5WTEVkQlFWTXNTVUZCU2t3c1JVRkJWVXNzUjBGQlMwTXNSVUZCUjA0c1IwRkJTeXhKUVVGTFNDeEhRVUZSTEVkQlNUTkZMRWxCUmtGRkxFVkJRVXRCTEVkQlFVdEdMRVZCUVZGSExFVkJRMnhDUXl4SFFVRlJTaXhGUVVORVNTeEZRVUZQTEVWQlFVZFFMRVZCUVU5RExFVkJRVk5WTEVkQlFWTXNTVUZCU2s0c1JVRkJWVTBzUjBGQlMwTXNSVUZCUjFBc1IwRkJTeXhKUVVGTFJTeEhRVUZSTEVkQlJURkZVQ3hGUVVGUFF5eEZRVUZUVlN4RlFVRkpReXhKUVVGVkxFbEJRVXBESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMMmxsWldVM05UUXZhVzVrWlhndWFuTWlmUT09IiwiXCJmdW5jdGlvblwiPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2UmJih0LnN1cGVyXz1lLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pKX06bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihlKXt0LnN1cGVyXz1lO3ZhciBvPWZ1bmN0aW9uKCl7fTtvLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1YUdWeWFYUnpYMkp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVQySnFaV04wSWl3aVkzSmxZWFJsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltTjBiM0lpTENKemRYQmxja04wYjNJaUxDSnpkWEJsY2w4aUxDSndjbTkwYjNSNWNHVWlMQ0pqYjI1emRISjFZM1J2Y2lJc0luWmhiSFZsSWl3aVpXNTFiV1Z5WVdKc1pTSXNJbmR5YVhSaFlteGxJaXdpWTI5dVptbG5kWEpoWW14bElpd2lWR1Z0Y0VOMGIzSWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRTJRaXh0UWtGQmJFSkJMRTlCUVU5RExFOUJSV2hDUXl4UFFVRlBReXhSUVVGVkxGTkJRV3RDUXl4RlFVRk5ReXhIUVVOdVEwRXNTVUZEUmtRc1JVRkJTMFVzVDBGQlUwUXNSVUZEWkVRc1JVRkJTMGNzVlVGQldWQXNUMEZCVDBNc1QwRkJUMGtzUlVGQlZVVXNWVUZCVnl4RFFVTnNSRU1zV1VGQllTeERRVU5ZUXl4TlFVRlBUQ3hGUVVOUVRTeFpRVUZaTEVWQlExcERMRlZCUVZVc1JVRkRWa01zWTBGQll5eFBRVTkwUWxZc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1JVRkJUVU1zUjBGRGRrTXNSMEZCU1VFc1JVRkJWeXhEUVVOaVJDeEZRVUZMUlN4UFFVRlRSQ3hGUVVOa0xFbEJRVWxSTEVWQlFWY3NZVUZEWmtFc1JVRkJVMDRzVlVGQldVWXNSVUZCVlVVc1ZVRkRMMEpJTEVWQlFVdEhMRlZCUVZrc1NVRkJTVTBzUlVGRGNrSlVMRVZCUVV0SExGVkJRVlZETEZsQlFXTktJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2TG01MmJTOTJaWEp6YVc5dWN5OXViMlJsTDNZeE1pNHlNQzR3TDJ4cFlpOXViMlJsWDIxdlpIVnNaWE12ZDJGMFkyaHBabmt2Ym05a1pWOXRiMlIxYkdWekwybHVhR1Z5YVhSekwybHVhR1Z5YVhSelgySnliM2R6WlhJdWFuTWlmUT09IiwidmFyIGNhY2hlZFNldFRpbWVvdXQsY2FjaGVkQ2xlYXJUaW1lb3V0LHByb2Nlc3M9bW9kdWxlLmV4cG9ydHM9e307ZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpe3Rocm93IG5ldyBFcnJvcihcInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9ZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCgpe3Rocm93IG5ldyBFcnJvcihcImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZFwiKX1mdW5jdGlvbiBydW5UaW1lb3V0KGUpe2lmKGNhY2hlZFNldFRpbWVvdXQ9PT1zZXRUaW1lb3V0KXJldHVybiBzZXRUaW1lb3V0KGUsMCk7aWYoKGNhY2hlZFNldFRpbWVvdXQ9PT1kZWZhdWx0U2V0VGltb3V0fHwhY2FjaGVkU2V0VGltZW91dCkmJnNldFRpbWVvdXQpcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQ9c2V0VGltZW91dCxzZXRUaW1lb3V0KGUsMCk7dHJ5e3JldHVybiBjYWNoZWRTZXRUaW1lb3V0KGUsMCl9Y2F0Y2godCl7dHJ5e3JldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCxlLDApfWNhdGNoKHQpe3JldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcyxlLDApfX19ZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KGUpe2lmKGNhY2hlZENsZWFyVGltZW91dD09PWNsZWFyVGltZW91dClyZXR1cm4gY2xlYXJUaW1lb3V0KGUpO2lmKChjYWNoZWRDbGVhclRpbWVvdXQ9PT1kZWZhdWx0Q2xlYXJUaW1lb3V0fHwhY2FjaGVkQ2xlYXJUaW1lb3V0KSYmY2xlYXJUaW1lb3V0KXJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQ9Y2xlYXJUaW1lb3V0LGNsZWFyVGltZW91dChlKTt0cnl7cmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChlKX1jYXRjaCh0KXt0cnl7cmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsZSl9fX0hZnVuY3Rpb24oKXt0cnl7Y2FjaGVkU2V0VGltZW91dD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6ZGVmYXVsdFNldFRpbW91dH1jYXRjaChlKXtjYWNoZWRTZXRUaW1lb3V0PWRlZmF1bHRTZXRUaW1vdXR9dHJ5e2NhY2hlZENsZWFyVGltZW91dD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OmRlZmF1bHRDbGVhclRpbWVvdXR9Y2F0Y2goZSl7Y2FjaGVkQ2xlYXJUaW1lb3V0PWRlZmF1bHRDbGVhclRpbWVvdXR9fSgpO3ZhciBjdXJyZW50UXVldWUscXVldWU9W10sZHJhaW5pbmc9ITEscXVldWVJbmRleD0tMTtmdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKXtkcmFpbmluZyYmY3VycmVudFF1ZXVlJiYoZHJhaW5pbmc9ITEsY3VycmVudFF1ZXVlLmxlbmd0aD9xdWV1ZT1jdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTpxdWV1ZUluZGV4PS0xLHF1ZXVlLmxlbmd0aCYmZHJhaW5RdWV1ZSgpKX1mdW5jdGlvbiBkcmFpblF1ZXVlKCl7aWYoIWRyYWluaW5nKXt2YXIgZT1ydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7ZHJhaW5pbmc9ITA7Zm9yKHZhciB0PXF1ZXVlLmxlbmd0aDt0Oyl7Zm9yKGN1cnJlbnRRdWV1ZT1xdWV1ZSxxdWV1ZT1bXTsrK3F1ZXVlSW5kZXg8dDspY3VycmVudFF1ZXVlJiZjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7cXVldWVJbmRleD0tMSx0PXF1ZXVlLmxlbmd0aH1jdXJyZW50UXVldWU9bnVsbCxkcmFpbmluZz0hMSxydW5DbGVhclRpbWVvdXQoZSl9fWZ1bmN0aW9uIEl0ZW0oZSx0KXt0aGlzLmZ1bj1lLHRoaXMuYXJyYXk9dH1mdW5jdGlvbiBub29wKCl7fXByb2Nlc3MubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgcj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTFdPWFyZ3VtZW50c1tyXTtxdWV1ZS5wdXNoKG5ldyBJdGVtKGUsdCkpLDEhPT1xdWV1ZS5sZW5ndGh8fGRyYWluaW5nfHxydW5UaW1lb3V0KGRyYWluUXVldWUpfSxJdGVtLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxwcm9jZXNzLnRpdGxlPVwiYnJvd3NlclwiLHByb2Nlc3MuYnJvd3Nlcj0hMCxwcm9jZXNzLmVudj17fSxwcm9jZXNzLmFyZ3Y9W10scHJvY2Vzcy52ZXJzaW9uPVwiXCIscHJvY2Vzcy52ZXJzaW9ucz17fSxwcm9jZXNzLm9uPW5vb3AscHJvY2Vzcy5hZGRMaXN0ZW5lcj1ub29wLHByb2Nlc3Mub25jZT1ub29wLHByb2Nlc3Mub2ZmPW5vb3AscHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcj1ub29wLHByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzPW5vb3AscHJvY2Vzcy5lbWl0PW5vb3AscHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXI9bm9vcCxwcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXI9bm9vcCxwcm9jZXNzLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm5bXX0scHJvY2Vzcy5iaW5kaW5nPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkXCIpfSxwcm9jZXNzLmN3ZD1mdW5jdGlvbigpe3JldHVyblwiL1wifSxwcm9jZXNzLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZFwiKX0scHJvY2Vzcy51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnliM2R6WlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpWTJGamFHVmtVMlYwVkdsdFpXOTFkQ0lzSW1OaFkyaGxaRU5zWldGeVZHbHRaVzkxZENJc0luQnliMk5sYzNNaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laR1ZtWVhWc2RGTmxkRlJwYlc5MWRDSXNJa1Z5Y205eUlpd2laR1ZtWVhWc2RFTnNaV0Z5VkdsdFpXOTFkQ0lzSW5KMWJsUnBiV1Z2ZFhRaUxDSm1kVzRpTENKelpYUlVhVzFsYjNWMElpd2laU0lzSW1OaGJHd2lMQ0owYUdseklpd2ljblZ1UTJ4bFlYSlVhVzFsYjNWMElpd2liV0Z5YTJWeUlpd2lZMnhsWVhKVWFXMWxiM1YwSWl3aVkzVnljbVZ1ZEZGMVpYVmxJaXdpY1hWbGRXVWlMQ0prY21GcGJtbHVaeUlzSW5GMVpYVmxTVzVrWlhnaUxDSmpiR1ZoYmxWd1RtVjRkRlJwWTJzaUxDSnNaVzVuZEdnaUxDSmpiMjVqWVhRaUxDSmtjbUZwYmxGMVpYVmxJaXdpZEdsdFpXOTFkQ0lzSW14bGJpSXNJbkoxYmlJc0lrbDBaVzBpTENKaGNuSmhlU0lzSW01dmIzQWlMQ0p1WlhoMFZHbGpheUlzSW1GeVozTWlMQ0pCY25KaGVTSXNJbUZ5WjNWdFpXNTBjeUlzSW1raUxDSndkWE5vSWl3aWNISnZkRzkwZVhCbElpd2lZWEJ3YkhraUxDSjBhWFJzWlNJc0ltSnliM2R6WlhJaUxDSmxibllpTENKaGNtZDJJaXdpZG1WeWMybHZiaUlzSW5abGNuTnBiMjV6SWl3aWIyNGlMQ0poWkdSTWFYTjBaVzVsY2lJc0ltOXVZMlVpTENKdlptWWlMQ0p5WlcxdmRtVk1hWE4wWlc1bGNpSXNJbkpsYlc5MlpVRnNiRXhwYzNSbGJtVnljeUlzSW1WdGFYUWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUMjVqWlV4cGMzUmxibVZ5SWl3aWJHbHpkR1Z1WlhKeklpd2libUZ0WlNJc0ltSnBibVJwYm1jaUxDSmpkMlFpTENKamFHUnBjaUlzSW1ScGNpSXNJblZ0WVhOcklsMHNJbTFoY0hCcGJtZHpJam9pUVVGRFFTeEpRVTlKUVN4cFFrRkRRVU1zYlVKQlVrRkRMRkZCUVZWRExFOUJRVTlETEZGQlFWVXNSMEZWTDBJc1UwRkJVME1zYlVKQlEwd3NUVUZCVFN4SlFVRkpReXhOUVVGTkxHMURRVVZ3UWl4VFFVRlRReXh6UWtGRFRDeE5RVUZOTEVsQlFVbEVMRTFCUVUwc2NVTkJjMEp3UWl4VFFVRlRSU3hYUVVGWFF5eEhRVU5vUWl4SFFVRkpWQ3h0UWtGQmNVSlZMRmRCUlhKQ0xFOUJRVTlCTEZkQlFWZEVMRVZCUVVzc1IwRkhNMElzU1VGQlMxUXNiVUpCUVhGQ1N5eHRRa0ZCY1VKTUxHMUNRVUZ4UWxVc1YwRkZhRVVzVDBGRVFWWXNhVUpCUVcxQ1ZTeFhRVU5hUVN4WFFVRlhSQ3hGUVVGTExFZEJSVE5DTEVsQlJVa3NUMEZCVDFRc2FVSkJRV2xDVXl4RlFVRkxMRWRCUXk5Q0xFMUJRVTFGTEVkQlEwb3NTVUZGU1N4UFFVRlBXQ3hwUWtGQmFVSlpMRXRCUVVzc1MwRkJUVWdzUlVGQlN5eEhRVU14UXl4TlFVRk5SU3hIUVVWS0xFOUJRVTlZTEdsQ1FVRnBRbGtzUzBGQlMwTXNTMEZCVFVvc1JVRkJTeXhMUVUxd1JDeFRRVUZUU3l4blFrRkJaMEpETEVkQlEzSkNMRWRCUVVsa0xIRkNRVUYxUW1Vc1lVRkZka0lzVDBGQlQwRXNZVUZCWVVRc1IwRkhlRUlzU1VGQlMyUXNjVUpCUVhWQ1RTeHpRa0ZCZDBKT0xIRkNRVUYxUW1Vc1lVRkZka1VzVDBGRVFXWXNiVUpCUVhGQ1pTeGhRVU5rUVN4aFFVRmhSQ3hIUVVWNFFpeEpRVVZKTEU5QlFVOWtMRzFDUVVGdFFtTXNSMEZETlVJc1RVRkJUMG9zUjBGRFRDeEpRVVZKTEU5QlFVOVdMRzFDUVVGdFFsY3NTMEZCU3l4TFFVRk5SeXhIUVVOMlF5eE5RVUZQU2l4SFFVZE1MRTlCUVU5V0xHMUNRVUZ0UWxjc1MwRkJTME1zUzBGQlRVVXNUVUZxUldoRUxGZEJRMGNzU1VGRlVXWXNhVUpCUkhOQ0xHMUNRVUZtVlN4WFFVTlpRU3hYUVVWQlRDeHBRa0ZGZWtJc1RVRkJUMDBzUjBGRFRGZ3NhVUpCUVcxQ1N5eHBRa0ZGZGtJc1NVRkZVVW9zYlVKQlJIZENMRzFDUVVGcVFtVXNZVUZEWTBFc1lVRkZRVlFzYjBKQlJUTkNMRTFCUVU5SkxFZEJRMHhXTEcxQ1FVRnhRazBzY1VKQmFrSTNRaXhIUVhkRlFTeEpRVVZKVlN4aFFVWkJReXhOUVVGUkxFZEJRMUpETEZWQlFWY3NSVUZGV0VNc1dVRkJZeXhGUVVWc1FpeFRRVUZUUXl4clFrRkRRVVlzVlVGQllVWXNaVUZIYkVKRkxGVkJRVmNzUlVGRFVFWXNZVUZCWVVzc1QwRkRZa29zVFVGQlVVUXNZVUZCWVUwc1QwRkJUMHdzVDBGRk5VSkZMRmxCUVdNc1JVRkZaRVlzVFVGQlRVa3NVVUZEVGtVc1kwRkpVaXhUUVVGVFFTeGhRVU5NTEVsQlFVbE1MRk5CUVVvc1EwRkhRU3hKUVVGSlRTeEZRVUZWYWtJc1YwRkJWMkVzYVVKQlEzcENSaXhWUVVGWExFVkJSMWdzU1VGRVFTeEpRVUZKVHl4RlFVRk5VaXhOUVVGTlNTeFBRVU5XU1N4SFFVRkxMRU5CUjFBc1NVRkdRVlFzWVVGQlpVTXNUVUZEWmtFc1RVRkJVU3hMUVVORFJTeFhRVUZoVFN4SFFVTmtWQ3hqUVVOQlFTeGhRVUZoUnl4WlFVRlpUeXhOUVVkcVExQXNXVUZCWXl4RlFVTmtUU3hGUVVGTlVpeE5RVUZOU1N4UFFVVm9Ra3dzWVVGQlpTeExRVU5tUlN4VlFVRlhMRVZCUTFoTUxHZENRVUZuUWxjc1NVRnBRbkJDTEZOQlFWTkhMRXRCUVV0dVFpeEZRVUZMYjBJc1IwRkRabWhDTEV0QlFVdEtMRWxCUVUxQkxFVkJRMWhKTEV0QlFVdG5RaXhOUVVGUlFTeEZRVmxxUWl4VFFVRlRReXhSUVRWQ1ZEVkNMRkZCUVZFMlFpeFRRVUZYTEZOQlFWVjBRaXhIUVVONlFpeEpRVUZKZFVJc1JVRkJUeXhKUVVGSlF5eE5RVUZOUXl4VlFVRlZXaXhQUVVGVExFZEJRM2hETEVkQlFVbFpMRlZCUVZWYUxFOUJRVk1zUlVGRGJrSXNTVUZCU3l4SlFVRkpZU3hGUVVGSkxFVkJRVWRCTEVWQlFVbEVMRlZCUVZWYUxFOUJRVkZoTEVsQlEyeERTQ3hGUVVGTFJ5eEZRVUZKTEVkQlFVdEVMRlZCUVZWRExFZEJSMmhEYWtJc1RVRkJUV3RDTEV0QlFVc3NTVUZCU1ZJc1MwRkJTMjVDTEVWQlFVdDFRaXhKUVVOS0xFbEJRV3BDWkN4TlFVRk5TU3hSUVVGcFFrZ3NWVUZEZGtKWUxGZEJRVmRuUWl4aFFWTnVRa2tzUzBGQlMxTXNWVUZCVlZZc1NVRkJUU3hYUVVOcVFtUXNTMEZCUzBvc1NVRkJTVFpDTEUxQlFVMHNTMEZCVFhwQ0xFdEJRVXRuUWl4UlFVVTVRak5DTEZGQlFWRnhReXhOUVVGUkxGVkJRMmhDY2tNc1VVRkJVWE5ETEZOQlFWVXNSVUZEYkVKMFF5eFJRVUZSZFVNc1NVRkJUU3hIUVVOa2RrTXNVVUZCVVhkRExFdEJRVThzUjBGRFpuaERMRkZCUVZGNVF5eFJRVUZWTEVkQlEyeENla01zVVVGQlVUQkRMRk5CUVZjc1IwRkpia0l4UXl4UlFVRlJNa01zUjBGQlMyWXNTMEZEWWpWQ0xGRkJRVkUwUXl4WlFVRmphRUlzUzBGRGRFSTFRaXhSUVVGUk5rTXNTMEZCVDJwQ0xFdEJRMlkxUWl4UlFVRlJPRU1zU1VGQlRXeENMRXRCUTJRMVFpeFJRVUZSSzBNc1pVRkJhVUp1UWl4TFFVTjZRalZDTEZGQlFWRm5SQ3h0UWtGQmNVSndRaXhMUVVNM1FqVkNMRkZCUVZGcFJDeExRVUZQY2tJc1MwRkRaalZDTEZGQlFWRnJSQ3huUWtGQmEwSjBRaXhMUVVNeFFqVkNMRkZCUVZGdFJDeHZRa0ZCYzBKMlFpeExRVVU1UWpWQ0xGRkJRVkZ2UkN4VlFVRlpMRk5CUVZWRExFZEJRVkVzVFVGQlR5eEpRVVUzUTNKRUxGRkJRVkZ6UkN4UlFVRlZMRk5CUVZWRUxFZEJRM2hDTEUxQlFVMHNTVUZCU1dwRUxFMUJRVTBzY1VOQlIzQkNTaXhSUVVGUmRVUXNTVUZCVFN4WFFVRmpMRTFCUVU4c1MwRkRia04yUkN4UlFVRlJkMFFzVFVGQlVTeFRRVUZWUXl4SFFVTjBRaXhOUVVGTkxFbEJRVWx5UkN4TlFVRk5MRzFEUVVWd1Frb3NVVUZCVVRCRUxFMUJRVkVzVjBGQllTeFBRVUZQSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0J5YjJObGMzTXZZbkp2ZDNObGNpNXFjeUo5IiwidmFyIGJ1ZmZlcj1yZXF1aXJlKFwiYnVmZmVyXCIpLEJ1ZmZlcj1idWZmZXIuQnVmZmVyO2Z1bmN0aW9uIGNvcHlQcm9wcyhmLGUpe2Zvcih2YXIgciBpbiBmKWVbcl09ZltyXX1mdW5jdGlvbiBTYWZlQnVmZmVyKGYsZSxyKXtyZXR1cm4gQnVmZmVyKGYsZSxyKX1CdWZmZXIuZnJvbSYmQnVmZmVyLmFsbG9jJiZCdWZmZXIuYWxsb2NVbnNhZmUmJkJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c/bW9kdWxlLmV4cG9ydHM9YnVmZmVyOihjb3B5UHJvcHMoYnVmZmVyLGV4cG9ydHMpLGV4cG9ydHMuQnVmZmVyPVNhZmVCdWZmZXIpLFNhZmVCdWZmZXIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSksY29weVByb3BzKEJ1ZmZlcixTYWZlQnVmZmVyKSxTYWZlQnVmZmVyLmZyb209ZnVuY3Rpb24oZixlLHIpe2lmKFwibnVtYmVyXCI9PXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlclwiKTtyZXR1cm4gQnVmZmVyKGYsZSxyKX0sU2FmZUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihmLGUscil7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7dmFyIHU9QnVmZmVyKGYpO3JldHVybiB2b2lkIDAhPT1lP1wic3RyaW5nXCI9PXR5cGVvZiByP3UuZmlsbChlLHIpOnUuZmlsbChlKTp1LmZpbGwoMCksdX0sU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihmKXtpZihcIm51bWJlclwiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKTtyZXR1cm4gQnVmZmVyKGYpfSxTYWZlQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihmKXtpZihcIm51bWJlclwiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKTtyZXR1cm4gYnVmZmVyLlNsb3dCdWZmZXIoZil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSjFabVpsY2lJc0luSmxjWFZwY21VaUxDSkNkV1ptWlhJaUxDSmpiM0I1VUhKdmNITWlMQ0p6Y21NaUxDSmtjM1FpTENKclpYa2lMQ0pUWVdabFFuVm1abVZ5SWl3aVlYSm5JaXdpWlc1amIyUnBibWRQY2s5bVpuTmxkQ0lzSW14bGJtZDBhQ0lzSW1aeWIyMGlMQ0poYkd4dll5SXNJbUZzYkc5alZXNXpZV1psSWl3aVlXeHNiMk5WYm5OaFptVlRiRzkzSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luQnliM1J2ZEhsd1pTSXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJbFI1Y0dWRmNuSnZjaUlzSW5OcGVtVWlMQ0ptYVd4c0lpd2laVzVqYjJScGJtY2lMQ0ppZFdZaUxDSjFibVJsWm1sdVpXUWlMQ0pUYkc5M1FuVm1abVZ5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZGUVN4SlFVRkpRU3hQUVVGVFF5eFJRVUZSTEZWQlEycENReXhQUVVGVFJpeFBRVUZQUlN4UFFVZHdRaXhUUVVGVFF5eFZRVUZYUXl4RlFVRkxReXhIUVVOMlFpeEpRVUZMTEVsQlFVbERMRXRCUVU5R0xFVkJRMlJETEVWQlFVbERMRWRCUVU5R0xFVkJRVWxGTEVkQlYyNUNMRk5CUVZORExGZEJRVmxETEVWQlFVdERMRVZCUVd0Q1F5eEhRVU14UXl4UFFVRlBVaXhQUVVGUFRTeEZRVUZMUXl4RlFVRnJRa01zUjBGVWJrTlNMRTlCUVU5VExFMUJRVkZVTEU5QlFVOVZMRTlCUVZOV0xFOUJRVTlYTEdGQlFXVllMRTlCUVU5WkxHZENRVU01UkVNc1QwRkJUME1zVVVGQlZXaENMRkZCUjJwQ1J5eFZRVUZWU0N4UFFVRlJaMElzVTBGRGJFSkJMRkZCUVZGa0xFOUJRVk5MTEZsQlQyNUNRU3hYUVVGWFZTeFZRVUZaUXl4UFFVRlBReXhQUVVGUGFrSXNUMEZCVDJVc1YwRkhOVU5rTEZWQlFWVkVMRTlCUVZGTExGbEJSV3hDUVN4WFFVRlhTU3hMUVVGUExGTkJRVlZJTEVWQlFVdERMRVZCUVd0Q1F5eEhRVU5xUkN4SFFVRnRRaXhwUWtGQlVrWXNSVUZEVkN4TlFVRk5MRWxCUVVsWkxGVkJRVlVzYVVOQlJYUkNMRTlCUVU5c1FpeFBRVUZQVFN4RlFVRkxReXhGUVVGclFrTXNTVUZIZGtOSUxGZEJRVmRMTEUxQlFWRXNVMEZCVlZNc1JVRkJUVU1zUlVGQlRVTXNSMEZEZGtNc1IwRkJiMElzYVVKQlFWUkdMRVZCUTFRc1RVRkJUU3hKUVVGSlJDeFZRVUZWTERaQ1FVVjBRaXhKUVVGSlNTeEZRVUZOZEVJc1QwRkJUMjFDTEVkQlZXcENMRmxCVkdGSkxFbEJRVlJJTEVWQlEzTkNMR2xDUVVGaVF5eEZRVU5VUXl4RlFVRkpSaXhMUVVGTFFTeEZRVUZOUXl4SFFVVm1ReXhGUVVGSlJpeExRVUZMUVN4SFFVZFlSU3hGUVVGSlJpeExRVUZMTEVkQlJVcEZMRWRCUjFScVFpeFhRVUZYVFN4WlFVRmpMRk5CUVZWUkxFZEJRMnBETEVkQlFXOUNMR2xDUVVGVVFTeEZRVU5VTEUxQlFVMHNTVUZCU1VRc1ZVRkJWU3cyUWtGRmRFSXNUMEZCVDJ4Q0xFOUJRVTl0UWl4SlFVZG9RbVFzVjBGQlYwOHNaMEpCUVd0Q0xGTkJRVlZQTEVkQlEzSkRMRWRCUVc5Q0xHbENRVUZVUVN4RlFVTlVMRTFCUVUwc1NVRkJTVVFzVlVGQlZTdzJRa0ZGZEVJc1QwRkJUM0JDTEU5QlFVOHdRaXhYUVVGWFRDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMeTV1ZG0wdmRtVnljMmx2Ym5NdmJtOWtaUzkyTVRJdU1qQXVNQzlzYVdJdmJtOWtaVjl0YjJSMWJHVnpMM2RoZEdOb2FXWjVMMjV2WkdWZmJXOWtkV3hsY3k5ellXWmxMV0oxWm1abGNpOXBibVJsZUM1cWN5SjkiLCJtb2R1bGUuZXhwb3J0cz1TdHJlYW07dmFyIEVFPXJlcXVpcmUoXCJldmVudHNcIikuRXZlbnRFbWl0dGVyLGluaGVyaXRzPXJlcXVpcmUoXCJpbmhlcml0c1wiKTtmdW5jdGlvbiBTdHJlYW0oKXtFRS5jYWxsKHRoaXMpfWluaGVyaXRzKFN0cmVhbSxFRSksU3RyZWFtLlJlYWRhYmxlPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcIiksU3RyZWFtLldyaXRhYmxlPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIiksU3RyZWFtLkR1cGxleD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1wiKSxTdHJlYW0uVHJhbnNmb3JtPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXCIpLFN0cmVhbS5QYXNzVGhyb3VnaD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXCIpLFN0cmVhbS5maW5pc2hlZD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcIiksU3RyZWFtLnBpcGVsaW5lPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcIiksU3RyZWFtLlN0cmVhbT1TdHJlYW0sU3RyZWFtLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGUscil7dmFyIHQ9dGhpcztmdW5jdGlvbiBhKHIpe2Uud3JpdGFibGUmJiExPT09ZS53cml0ZShyKSYmdC5wYXVzZSYmdC5wYXVzZSgpfWZ1bmN0aW9uIGkoKXt0LnJlYWRhYmxlJiZ0LnJlc3VtZSYmdC5yZXN1bWUoKX10Lm9uKFwiZGF0YVwiLGEpLGUub24oXCJkcmFpblwiLGkpLGUuX2lzU3RkaW98fHImJiExPT09ci5lbmR8fCh0Lm9uKFwiZW5kXCIscyksdC5vbihcImNsb3NlXCIsbykpO3ZhciBuPSExO2Z1bmN0aW9uIHMoKXtufHwobj0hMCxlLmVuZCgpKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsXCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95JiZlLmRlc3Ryb3koKSl9ZnVuY3Rpb24gbShlKXtpZihsKCksMD09PUVFLmxpc3RlbmVyQ291bnQodGhpcyxcImVycm9yXCIpKXRocm93IGV9ZnVuY3Rpb24gbCgpe3QucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsYSksZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsaSksdC5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLHMpLHQucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLG8pLHQucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG0pLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG0pLHQucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixsKSx0LnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKX1yZXR1cm4gdC5vbihcImVycm9yXCIsbSksZS5vbihcImVycm9yXCIsbSksdC5vbihcImVuZFwiLGwpLHQub24oXCJjbG9zZVwiLGwpLGUub24oXCJjbG9zZVwiLGwpLGUuZW1pdChcInBpcGVcIix0KSxlfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pUZEhKbFlXMGlMQ0pGUlNJc0luSmxjWFZwY21VaUxDSkZkbVZ1ZEVWdGFYUjBaWElpTENKcGJtaGxjbWwwY3lJc0ltTmhiR3dpTENKMGFHbHpJaXdpVW1WaFpHRmliR1VpTENKWGNtbDBZV0pzWlNJc0lrUjFjR3hsZUNJc0lsUnlZVzV6Wm05eWJTSXNJbEJoYzNOVWFISnZkV2RvSWl3aVptbHVhWE5vWldRaUxDSndhWEJsYkdsdVpTSXNJbkJ5YjNSdmRIbHdaU0lzSW5CcGNHVWlMQ0prWlhOMElpd2liM0IwYVc5dWN5SXNJbk52ZFhKalpTSXNJbTl1WkdGMFlTSXNJbU5vZFc1cklpd2lkM0pwZEdGaWJHVWlMQ0ozY21sMFpTSXNJbkJoZFhObElpd2liMjVrY21GcGJpSXNJbkpsWVdSaFlteGxJaXdpY21WemRXMWxJaXdpYjI0aUxDSmZhWE5UZEdScGJ5SXNJbVZ1WkNJc0ltOXVaVzVrSWl3aWIyNWpiRzl6WlNJc0ltUnBaRTl1Ulc1a0lpd2laR1Z6ZEhKdmVTSXNJbTl1WlhKeWIzSWlMQ0psY2lJc0ltTnNaV0Z1ZFhBaUxDSnNhWE4wWlc1bGNrTnZkVzUwSWl3aWNtVnRiM1psVEdsemRHVnVaWElpTENKbGJXbDBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRnhRa0ZCTEU5QlFVOURMRkZCUVZWRExFOUJSV3BDTEVsQlFVbERMRWRCUVV0RExGRkJRVkVzVlVGQlZVTXNZVUZEZGtKRExGTkJRVmRHTEZGQlFWRXNXVUZ0UW5aQ0xGTkJRVk5HTEZOQlExQkRMRWRCUVVkSkxFdEJRVXRETEUxQmJFSldSaXhUUVVGVFNpeFBRVUZSUXl4SlFVTnFRa1FzVDBGQlQwOHNVMEZCVjB3c1VVRkJVU3d5UTBGRE1VSkdMRTlCUVU5UkxGTkJRVmRPTEZGQlFWRXNNa05CUXpGQ1JpeFBRVUZQVXl4UFFVRlRVQ3hSUVVGUkxIbERRVU40UWtZc1QwRkJUMVVzVlVGQldWSXNVVUZCVVN3MFEwRkRNMEpHTEU5QlFVOVhMRmxCUVdOVUxGRkJRVkVzT0VOQlF6ZENSaXhQUVVGUFdTeFRRVUZYVml4UlFVRlJMSGxFUVVNeFFrWXNUMEZCVDJFc1UwRkJWMWdzVVVGQlVTeHZSRUZITVVKR0xFOUJRVTlCTEU5QlFWTkJMRTlCVjJoQ1FTeFBRVUZQWXl4VlFVRlZReXhMUVVGUExGTkJRVk5ETEVWQlFVMURMRWRCUTNKRExFbEJRVWxETEVWQlFWTmFMRXRCUldJc1UwRkJVMkVzUlVGQlQwTXNSMEZEVmtvc1JVRkJTMHNzVjBGRFNDeEpRVUZWVEN4RlFVRkxUU3hOUVVGTlJpeEpRVUZWUml4RlFVRlBTeXhQUVVONFEwd3NSVUZCVDBzc1VVRlBZaXhUUVVGVFF5eEpRVU5JVGl4RlFVRlBUeXhWUVVGWlVDeEZRVUZQVVN4UlFVTTFRbElzUlVGQlQxRXNVMEZLV0ZJc1JVRkJUMU1zUjBGQlJ5eFBRVUZSVWl4SFFWRnNRa2dzUlVGQlMxY3NSMEZCUnl4UlFVRlRTQ3hIUVVsYVVpeEZRVUZMV1N4VlFVRmpXQ3hKUVVFeVFpeEpRVUZvUWtFc1JVRkJVVmtzVFVGRGVrTllMRVZCUVU5VExFZEJRVWNzVFVGQlQwY3NSMEZEYWtKYUxFVkJRVTlUTEVkQlFVY3NVVUZCVTBrc1NVRkhja0lzU1VGQlNVTXNSMEZCVnl4RlFVTm1MRk5CUVZOR0xFbEJRMGhGTEVsQlEwcEJMRWRCUVZjc1JVRkZXR2hDTEVWQlFVdGhMRTlCU1ZBc1UwRkJVMFVzU1VGRFNFTXNTVUZEU2tFc1IwRkJWeXhGUVVWcFFpeHRRa0ZCYWtKb1FpeEZRVUZMYVVJc1UwRkJkMEpxUWl4RlFVRkxhVUlzVjBGSkwwTXNVMEZCVTBNc1JVRkJVVU1zUjBGRlppeEhRVVJCUXl4SlFVTjNReXhKUVVGd1EyNURMRWRCUVVkdlF5eGpRVUZqTDBJc1MwRkJUU3hUUVVONlFpeE5RVUZOTmtJc1JVRlJWaXhUUVVGVFF5eEpRVU5RYkVJc1JVRkJUMjlDTEdWQlFXVXNUMEZCVVc1Q0xFZEJRemxDU0N4RlFVRkxjMElzWlVGQlpTeFJRVUZUWkN4SFFVVTNRazRzUlVGQlQyOUNMR1ZCUVdVc1RVRkJUMUlzUjBGRE4wSmFMRVZCUVU5dlFpeGxRVUZsTEZGQlFWTlFMRWRCUlM5Q1lpeEZRVUZQYjBJc1pVRkJaU3hSUVVGVFNpeEhRVU12UW14Q0xFVkJRVXR6UWl4bFFVRmxMRkZCUVZOS0xFZEJSVGRDYUVJc1JVRkJUMjlDTEdWQlFXVXNUVUZCVDBZc1IwRkROMEpzUWl4RlFVRlBiMElzWlVGQlpTeFJRVUZUUml4SFFVVXZRbkJDTEVWQlFVdHpRaXhsUVVGbExGRkJRVk5HTEVkQlZ5OUNMRTlCTlVKQmJFSXNSVUZCVDFNc1IwRkJSeXhSUVVGVFR5eEhRVU51UW14Q0xFVkJRVXRYTEVkQlFVY3NVVUZCVTA4c1IwRnRRbXBDYUVJc1JVRkJUMU1zUjBGQlJ5eE5RVUZQVXl4SFFVTnFRbXhDTEVWQlFVOVRMRWRCUVVjc1VVRkJVMU1zUjBGRmJrSndRaXhGUVVGTFZ5eEhRVUZITEZGQlFWTlRMRWRCUldwQ2NFSXNSVUZCUzNWQ0xFdEJRVXNzVDBGQlVYSkNMRWRCUjFoR0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZMbTUyYlM5MlpYSnphVzl1Y3k5dWIyUmxMM1l4TWk0eU1DNHdMMnhwWWk5dWIyUmxYMjF2WkhWc1pYTXZkMkYwWTJocFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDJsdVpHVjRMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIF9pbmhlcml0c0xvb3NlKGUscil7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShyLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLl9fcHJvdG9fXz1yfXZhciBjb2Rlcz17fTtmdW5jdGlvbiBjcmVhdGVFcnJvclR5cGUoZSxyLHQpe3R8fCh0PUVycm9yKTt2YXIgbj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQsbixvKXtyZXR1cm4gZS5jYWxsKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiByP3I6cihlLHQsbil9KHQsbixvKSl8fHRoaXN9cmV0dXJuIF9pbmhlcml0c0xvb3NlKHQsZSksdH0odCk7bi5wcm90b3R5cGUubmFtZT10Lm5hbWUsbi5wcm90b3R5cGUuY29kZT1lLGNvZGVzW2VdPW59ZnVuY3Rpb24gb25lT2YoZSxyKXtpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgdD1lLmxlbmd0aDtyZXR1cm4gZT1lLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKGUpfSksdD4yP1wib25lIG9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZS5zbGljZSgwLHQtMSkuam9pbihcIiwgXCIpLFwiLCBvciBcIikrZVt0LTFdOjI9PT10P1wib25lIG9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZVswXSxcIiBvciBcIikuY29uY2F0KGVbMV0pOlwib2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlWzBdKX1yZXR1cm5cIm9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoU3RyaW5nKGUpKX1mdW5jdGlvbiBzdGFydHNXaXRoKGUscix0KXtyZXR1cm4gZS5zdWJzdHIoIXR8fHQ8MD8wOit0LHIubGVuZ3RoKT09PXJ9ZnVuY3Rpb24gZW5kc1dpdGgoZSxyLHQpe3JldHVybih2b2lkIDA9PT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpLGUuc3Vic3RyaW5nKHQtci5sZW5ndGgsdCk9PT1yfWZ1bmN0aW9uIGluY2x1ZGVzKGUscix0KXtyZXR1cm5cIm51bWJlclwiIT10eXBlb2YgdCYmKHQ9MCksISh0K3IubGVuZ3RoPmUubGVuZ3RoKSYmLTEhPT1lLmluZGV4T2Yocix0KX1jcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9PUFRfVkFMVUVcIixmdW5jdGlvbihlLHIpe3JldHVybidUaGUgdmFsdWUgXCInK3IrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcIicrZSsnXCInfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX0FSR19UWVBFXCIsZnVuY3Rpb24oZSxyLHQpe3ZhciBuLG87aWYoXCJzdHJpbmdcIj09dHlwZW9mIHImJnN0YXJ0c1dpdGgocixcIm5vdCBcIik/KG49XCJtdXN0IG5vdCBiZVwiLHI9ci5yZXBsYWNlKC9ebm90IC8sXCJcIikpOm49XCJtdXN0IGJlXCIsZW5kc1dpdGgoZSxcIiBhcmd1bWVudFwiKSlvPVwiVGhlIFwiLmNvbmNhdChlLFwiIFwiKS5jb25jYXQobixcIiBcIikuY29uY2F0KG9uZU9mKHIsXCJ0eXBlXCIpKTtlbHNle3ZhciBjPWluY2x1ZGVzKGUsXCIuXCIpP1wicHJvcGVydHlcIjpcImFyZ3VtZW50XCI7bz0nVGhlIFwiJy5jb25jYXQoZSwnXCIgJykuY29uY2F0KGMsXCIgXCIpLmNvbmNhdChuLFwiIFwiKS5jb25jYXQob25lT2YocixcInR5cGVcIikpfXJldHVybiBvKz1cIi4gUmVjZWl2ZWQgdHlwZSBcIi5jb25jYXQodHlwZW9mIHQpfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0ZcIixcInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJUaGUgXCIrZStcIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkXCJ9KSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiLFwiUHJlbWF0dXJlIGNsb3NlXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fREVTVFJPWUVEXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJDYW5ub3QgY2FsbCBcIitlK1wiIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWRcIn0pLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9NVUxUSVBMRV9DQUxMQkFDS1wiLFwiQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEVcIixcIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGVcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkRcIixcIndyaXRlIGFmdGVyIGVuZFwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX05VTExfVkFMVUVTXCIsXCJNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbVwiLFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1VOS05PV05fRU5DT0RJTkdcIixmdW5jdGlvbihlKXtyZXR1cm5cIlVua25vd24gZW5jb2Rpbmc6IFwiK2V9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVFwiLFwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnRcIiksbW9kdWxlLmV4cG9ydHMuY29kZXM9Y29kZXM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ5Y205eWN5MWljbTkzYzJWeUxtcHpJbDBzSW01aGJXVnpJanBiSWw5cGJtaGxjbWwwYzB4dmIzTmxJaXdpYzNWaVEyeGhjM01pTENKemRYQmxja05zWVhOeklpd2ljSEp2ZEc5MGVYQmxJaXdpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmZYM0J5YjNSdlgxOGlMQ0pqYjJSbGN5SXNJbU55WldGMFpVVnljbTl5Vkhsd1pTSXNJbU52WkdVaUxDSnRaWE56WVdkbElpd2lRbUZ6WlNJc0lrVnljbTl5SWl3aVRtOWtaVVZ5Y205eUlpd2lYMEpoYzJVaUxDSmhjbWN4SWl3aVlYSm5NaUlzSW1GeVp6TWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0ltZGxkRTFsYzNOaFoyVWlMQ0p1WVcxbElpd2liMjVsVDJZaUxDSmxlSEJsWTNSbFpDSXNJblJvYVc1bklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2liR1Z1SWl3aWJHVnVaM1JvSWl3aWJXRndJaXdpYVNJc0lsTjBjbWx1WnlJc0ltTnZibU5oZENJc0luTnNhV05sSWl3aWFtOXBiaUlzSW5OMFlYSjBjMWRwZEdnaUxDSnpkSElpTENKelpXRnlZMmdpTENKd2IzTWlMQ0p6ZFdKemRISWlMQ0psYm1SelYybDBhQ0lzSW5Sb2FYTmZiR1Z1SWl3aWRXNWtaV1pwYm1Wa0lpd2ljM1ZpYzNSeWFXNW5JaXdpYVc1amJIVmtaWE1pTENKemRHRnlkQ0lzSW1sdVpHVjRUMllpTENKMllXeDFaU0lzSWxSNWNHVkZjbkp2Y2lJc0ltRmpkSFZoYkNJc0ltUmxkR1Z5YldsdVpYSWlMQ0p0YzJjaUxDSnlaWEJzWVdObElpd2lkSGx3WlNJc0ltRnlaeUlzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNVMEZCVTBFc1pVRkJaVU1zUlVGQlZVTXNSMEZCWTBRc1JVRkJVMFVzVlVGQldVTXNUMEZCVDBNc1QwRkJUMGdzUlVGQlYwTXNWMEZCV1VZc1JVRkJVMFVzVlVGQlZVY3NXVUZCWTB3c1JVRkJWVUVzUlVGQlUwMHNWVUZCV1V3c1JVRkZNVXNzU1VGQlNVMHNUVUZCVVN4SFFVVmFMRk5CUVZORExHZENRVUZuUWtNc1JVRkJUVU1zUlVGQlUwTXNSMEZEYWtOQkxFbEJRMGhCTEVWQlFVOURMRTlCVjFRc1NVRkJTVU1zUlVGRlNpeFRRVUZWUXl4SFFVZFNMRk5CUVZORUxFVkJRVlZGTEVWQlFVMURMRVZCUVUxRExFZEJRemRDTEU5QlFVOUlMRVZCUVUxSkxFdEJRVXRETEV0QlpIUkNMRk5CUVc5Q1NpeEZRVUZOUXl4RlFVRk5ReXhIUVVNNVFpeE5RVUYxUWl4cFFrRkJXbEFzUlVGRFJrRXNSVUZGUVVFc1JVRkJVVXNzUlVGQlRVTXNSVUZCVFVNc1IwRlZTRWNzUTBGQlYwd3NSVUZCVFVNc1JVRkJUVU1zUzBGQlZVVXNTMEZITTBRc1QwRk9RWEJDTEdWQlFXVmpMRVZCUVZkRExFZEJUVzVDUkN4RlFWQlVMRU5CVVVWR0xFZEJSVVpGTEVWQlFWVllMRlZCUVZWdFFpeExRVUZQVml4RlFVRkxWU3hMUVVOb1ExSXNSVUZCVlZnc1ZVRkJWVThzUzBGQlQwRXNSVUZETTBKR0xFMUJRVTFGTEVkQlFWRkpMRVZCU1doQ0xGTkJRVk5UTEUxQlFVMURMRVZCUVZWRExFZEJRM1pDTEVkQlFVbERMRTFCUVUxRExGRkJRVkZJTEVkQlFWY3NRMEZETTBJc1NVRkJTVWtzUlVGQlRVb3NSVUZCVTBzc1QwRkxia0lzVDBGS1FVd3NSVUZCVjBFc1JVRkJVMDBzU1VGQlNTeFRRVUZWUXl4SFFVTm9ReXhQUVVGUFF5eFBRVUZQUkN4TFFVZGFTQ3hGUVVGTkxFVkJRMFFzVlVGQlZVc3NUMEZCVDFJc1JVRkJUeXhMUVVGTFVTeFBRVUZQVkN4RlFVRlRWU3hOUVVGTkxFVkJRVWRPTEVWQlFVMHNSMEZCUjA4c1MwRkJTeXhOUVVGUExGTkJRVmRZTEVWQlFWTkpMRVZCUVUwc1IwRkRNMFlzU1VGQlVrRXNSVUZEUml4VlFVRlZTeXhQUVVGUFVpeEZRVUZQTEV0QlFVdFJMRTlCUVU5VUxFVkJRVk1zUjBGQlNTeFJRVUZSVXl4UFFVRlBWQ3hGUVVGVExFbEJSWHBGTEUxQlFVMVRMRTlCUVU5U0xFVkJRVThzUzBGQlMxRXNUMEZCVDFRc1JVRkJVeXhKUVVkc1JDeE5RVUZQTEUxQlFVMVRMRTlCUVU5U0xFVkJRVThzUzBGQlMxRXNUMEZCVDBRc1QwRkJUMUlzU1VGTGJFUXNVMEZCVTFrc1YwRkJWME1zUlVGQlMwTXNSVUZCVVVNc1IwRkRMMElzVDBGQlQwWXNSVUZCU1Vjc1VVRkJVVVFzUjBGQlQwRXNSVUZCVFN4RlFVRkpMRWRCUVV0QkxFVkJRVXRFTEVWQlFVOVVMRlZCUVZsVExFVkJTVzVGTEZOQlFWTkhMRk5CUVZOS0xFVkJRVXRETEVWQlFWRkpMRWRCU3pkQ0xGbEJTbWxDUXl4SlFVRmlSQ3hIUVVFd1FrRXNSVUZCVjB3c1JVRkJTVklzVlVGRE0wTmhMRVZCUVZkTUxFVkJRVWxTTEZGQlIxWlJMRVZCUVVsUExGVkJRVlZHTEVWQlFWZEtMRVZCUVU5VUxFOUJRVkZoTEV0QlFXTktMRVZCU1M5RUxGTkJRVk5QTEZOQlFWTlNMRVZCUVV0RExFVkJRVkZSTEVkQlN6ZENMRTFCU25GQ0xHbENRVUZXUVN4SlFVTlVRU3hGUVVGUkxFdEJSMDVCTEVWQlFWRlNMRVZCUVU5VUxFOUJRVk5STEVWQlFVbFNMRlZCUjFNc1NVRkJhRU5STEVWQlFVbFZMRkZCUVZGVUxFVkJRVkZSTEVkQlNTOUNja01zWjBKQlFXZENMSGRDUVVGNVFpeFRRVUZWWVN4RlFVRk5NRUlzUjBGRGRrUXNUVUZCVHl4alFVRm5Ra0VzUlVGQlVTdzBRa0ZCT0VJeFFpeEZRVUZQTEV0QlEyNUZNa0lzVjBGRFNIaERMR2RDUVVGblFpeDFRa0ZCZDBJc1UwRkJWV0VzUlVGQlRVVXNSVUZCVlRCQ0xFZEJSV2hGTEVsQlFVbERMRVZCVTBGRExFVkJSVW9zUjBGVWQwSXNhVUpCUVdJMVFpeEhRVUY1UWxrc1YwRkJWMW9zUlVGQlZTeFRRVU4yUkRKQ0xFVkJRV0VzWTBGRFlqTkNMRVZCUVZkQkxFVkJRVk0yUWl4UlFVRlJMRkZCUVZNc1MwRkZja05HTEVWQlFXRXNWVUZMV0ZZc1UwRkJVMjVDTEVWQlFVMHNZVUZGYWtJNFFpeEZRVUZOTEU5QlFVOXVRaXhQUVVGUFdDeEZRVUZOTEV0QlFVdFhMRTlCUVU5clFpeEZRVUZaTEV0QlFVdHNRaXhQUVVGUFZpeE5RVUZOUXl4RlFVRlZMR0ZCUTNwRkxFTkJRMHdzU1VGQlNUaENMRVZCUVU5VUxGTkJRVk4yUWl4RlFVRk5MRXRCUVU4c1YwRkJZU3hYUVVNNVF6aENMRVZCUVUwc1VVRkJVMjVDTEU5QlFVOVlMRVZCUVUwc1RVRkJUMWNzVDBGQlQzRkNMRVZCUVUwc1MwRkJTM0pDTEU5QlFVOXJRaXhGUVVGWkxFdEJRVXRzUWl4UFFVRlBWaXhOUVVGTlF5eEZRVUZWTEZOQlNYUkhMRTlCUkVFMFFpeEhRVUZQTEcxQ1FVRnRRbTVDTEdOQlFXTnBRaXhKUVVWMlEwUXNWMEZEU0hoRExHZENRVUZuUWl3MFFrRkJOa0lzTWtKQlF6ZERRU3huUWtGQlowSXNOa0pCUVRoQ0xGTkJRVlZoTEVkQlEzUkVMRTFCUVU4c1QwRkJVMEVzUlVGQlR5d3JRa0ZGZWtKaUxHZENRVUZuUWl3MlFrRkJPRUlzYlVKQlF6bERRU3huUWtGQlowSXNkVUpCUVhkQ0xGTkJRVlZoTEVkQlEyaEVMRTFCUVU4c1pVRkJhVUpCTEVWQlFVOHNhME5CUldwRFlpeG5Ra0ZCWjBJc2QwSkJRWGxDTEd0RFFVTjZRMEVzWjBKQlFXZENMSGxDUVVFd1FpdzJRa0ZETVVOQkxHZENRVUZuUWl3MlFrRkJPRUlzYlVKQlF6bERRU3huUWtGQlowSXNlVUpCUVRCQ0xITkRRVUYxUTNkRExGZEJRMnBHZUVNc1owSkJRV2RDTEhWQ1FVRjNRaXhUUVVGVk9FTXNSMEZEYUVRc1RVRkJUeXh4UWtGQmRVSkJMRWRCUXpkQ1RpeFhRVU5JZUVNc1owSkJRV2RDTEhGRFFVRnpReXh2UTBGRGRFUXJReXhQUVVGUFF5eFJRVUZSYWtRc1RVRkJVVUVpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk4dWJuWnRMM1psY25OcGIyNXpMMjV2WkdVdmRqRXlMakl3TGpBdmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlsY25KdmNuTXRZbkp2ZDNObGNpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIG9iamVjdEtleXM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBlKXQucHVzaChyKTtyZXR1cm4gdH07bW9kdWxlLmV4cG9ydHM9RHVwbGV4O3ZhciBSZWFkYWJsZT1yZXF1aXJlKFwiLi9fc3RyZWFtX3JlYWRhYmxlXCIpLFdyaXRhYmxlPXJlcXVpcmUoXCIuL19zdHJlYW1fd3JpdGFibGVcIik7cmVxdWlyZShcImluaGVyaXRzXCIpKER1cGxleCxSZWFkYWJsZSk7Zm9yKHZhciBrZXlzPW9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKSx2PTA7djxrZXlzLmxlbmd0aDt2Kyspe3ZhciBtZXRob2Q9a2V5c1t2XTtEdXBsZXgucHJvdG90eXBlW21ldGhvZF18fChEdXBsZXgucHJvdG90eXBlW21ldGhvZF09V3JpdGFibGUucHJvdG90eXBlW21ldGhvZF0pfWZ1bmN0aW9uIER1cGxleChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKXJldHVybiBuZXcgRHVwbGV4KGUpO1JlYWRhYmxlLmNhbGwodGhpcyxlKSxXcml0YWJsZS5jYWxsKHRoaXMsZSksdGhpcy5hbGxvd0hhbGZPcGVuPSEwLGUmJighMT09PWUucmVhZGFibGUmJih0aGlzLnJlYWRhYmxlPSExKSwhMT09PWUud3JpdGFibGUmJih0aGlzLndyaXRhYmxlPSExKSwhMT09PWUuYWxsb3dIYWxmT3BlbiYmKHRoaXMuYWxsb3dIYWxmT3Blbj0hMSx0aGlzLm9uY2UoXCJlbmRcIixvbmVuZCkpKX1mdW5jdGlvbiBvbmVuZCgpe3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fHByb2Nlc3MubmV4dFRpY2sob25FbmROVCx0aGlzKX1mdW5jdGlvbiBvbkVuZE5UKGUpe2UuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24oZSl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZaSFZ3YkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW05aWFtVmpkRXRsZVhNaUxDSlBZbXBsWTNRaUxDSnJaWGx6SWl3aWIySnFJaXdpYTJWNUlpd2ljSFZ6YUNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkVkWEJzWlhnaUxDSlNaV0ZrWVdKc1pTSXNJbkpsY1hWcGNtVWlMQ0pYY21sMFlXSnNaU0lzSW5CeWIzUnZkSGx3WlNJc0luWWlMQ0pzWlc1bmRHZ2lMQ0p0WlhSb2IyUWlMQ0p2Y0hScGIyNXpJaXdpZEdocGN5SXNJbU5oYkd3aUxDSmhiR3h2ZDBoaGJHWlBjR1Z1SWl3aWNtVmhaR0ZpYkdVaUxDSjNjbWwwWVdKc1pTSXNJbTl1WTJVaUxDSnZibVZ1WkNJc0lsOTNjbWwwWVdKc1pWTjBZWFJsSWl3aVpXNWtaV1FpTENKd2NtOWpaWE56SWl3aWJtVjRkRlJwWTJzaUxDSnZia1Z1WkU1VUlpd2ljMlZzWmlJc0ltVnVaQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltZGxkQ0lzSW1ocFoyaFhZWFJsY2sxaGNtc2lMQ0puWlhSQ2RXWm1aWElpTENKMWJtUmxabWx1WldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltUmxjM1J5YjNsbFpDSXNJbk5sZENJc0luWmhiSFZsSWwwc0ltMWhjSEJwYm1keklqb2lRVUYzUWtFc1lVRkhRU3hKUVVGSlFTeFhRVUZoUXl4UFFVRlBReXhOUVVGUkxGTkJRVlZETEVkQlEzaERMRWxCUVVsRUxFVkJRVThzUjBGRldDeEpRVUZMTEVsQlFVbEZMRXRCUVU5RUxFVkJRMlJFTEVWQlFVdEhMRXRCUVV0RUxFZEJSMW9zVDBGQlQwWXNSMEZMVkVrc1QwRkJUME1zVVVGQlZVTXNUMEZGYWtJc1NVRkJTVU1zVTBGQlYwTXNVVUZCVVN4elFrRkZia0pETEZOQlFWZEVMRkZCUVZFc2MwSkJSWFpDUVN4UlFVRlJMRmRCUVZKQkxFTkJRVzlDUml4UFFVRlJReXhWUVUweFFpeEpRVVpCTEVsQlFVbFFMRXRCUVU5R0xGZEJRVmRYTEZOQlFWTkRMRmRCUlhSQ1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVsWUxFdEJRVXRaTEU5QlFWRkVMRWxCUVVzc1EwRkRjRU1zU1VGQlNVVXNUMEZCVTJJc1MwRkJTMWNzUjBGRFlrd3NUMEZCVDBrc1ZVRkJWVWNzVlVGQlUxQXNUMEZCVDBrc1ZVRkJWVWNzVVVGQlZVb3NVMEZCVTBNc1ZVRkJWVWNzVTBGSmFrWXNVMEZCVTFBc1QwRkJUMUVzUjBGRFpDeExRVUZOUXl4blFrRkJaMEpVTEZGQlFWTXNUMEZCVHl4SlFVRkpRU3hQUVVGUFVTeEhRVU5xUkZBc1UwRkJVMU1zUzBGQlMwUXNTMEZCVFVRc1IwRkRjRUpNTEZOQlFWTlBMRXRCUVV0RUxFdEJRVTFFTEVkQlEzQkNReXhMUVVGTFJTeGxRVUZuUWl4RlFVVnFRa2dzUzBGRGRVSXNTVUZCY2tKQkxFVkJRVkZKTEZkQlFXOUNTQ3hMUVVGTFJ5eFZRVUZYTEVsQlEzWkNMRWxCUVhKQ1NpeEZRVUZSU3l4WFFVRnZRa29zUzBGQlMwa3NWVUZCVnl4SlFVVnNRaXhKUVVFeFFrd3NSVUZCVVVjc1owSkJRMVpHTEV0QlFVdEZMR1ZCUVdkQ0xFVkJRM0pDUml4TFFVRkxTeXhMUVVGTExFMUJRVTlETEZOQmFVTjJRaXhUUVVGVFFTeFJRVVZJVGl4TFFVRkxUeXhsUVVGbFF5eFBRVWQ0UWtNc1VVRkJVVU1zVTBGQlUwTXNVVUZCVTFnc1RVRkhOVUlzVTBGQlUxY3NVVUZCVVVNc1IwRkRaa0VzUlVGQlMwTXNUVUZ5UTFBM1FpeFBRVUZQT0VJc1pVRkJaWFpDTEU5QlFVOUpMRlZCUVZjc2QwSkJRWGxDTEVOQlNTOUViMElzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUMmhDTEV0QlFVdFBMR1ZCUVdWVkxHbENRVWN2UW1wRExFOUJRVTg0UWl4bFFVRmxka0lzVDBGQlQwa3NWVUZCVnl4cFFrRkJhMElzUTBGSmVFUnZRaXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBhRUlzUzBGQlMwOHNaMEpCUVd0Q1VDeExRVUZMVHl4bFFVRmxWeXhsUVVkMFJHeERMRTlCUVU4NFFpeGxRVUZsZGtJc1QwRkJUMGtzVlVGQlZ5eHBRa0ZCYTBJc1EwRkplRVJ2UWl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYUVJc1MwRkJTMDhzWlVGQlpWWXNWVUZuUWk5Q1lpeFBRVUZQT0VJc1pVRkJaWFpDTEU5QlFVOUpMRlZCUVZjc1dVRkJZU3hEUVVsdVJHOUNMRmxCUVZrc1JVRkRXa01zU1VGQlN5eFhRVU5JTEZsQlFUUkNSeXhKUVVGNFFtNUNMRXRCUVV0dlFpeHhRa0ZCZDBSRUxFbEJRWGhDYmtJc1MwRkJTMDhzYVVKQlNYWkRVQ3hMUVVGTGIwSXNaVUZCWlVNc1YwRkJZWEpDTEV0QlFVdFBMR1ZCUVdWakxGbEJSVGxFUXl4SlFVRkxMRk5CUVdGRExGRkJSMWxLTEVsQlFYaENia0lzUzBGQlMyOUNMSEZDUVVGM1JFUXNTVUZCZUVKdVFpeExRVUZMVHl4cFFrRk5PVU5RTEV0QlFVdHZRaXhsUVVGbFF5eFZRVUZaUlN4RlFVTm9RM1pDTEV0QlFVdFBMR1ZCUVdWakxGVkJRVmxGSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZlpIVndiR1Y0TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1QYXNzVGhyb3VnaDt2YXIgVHJhbnNmb3JtPXJlcXVpcmUoXCIuL19zdHJlYW1fdHJhbnNmb3JtXCIpO2Z1bmN0aW9uIFBhc3NUaHJvdWdoKHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSlyZXR1cm4gbmV3IFBhc3NUaHJvdWdoKHIpO1RyYW5zZm9ybS5jYWxsKHRoaXMscil9cmVxdWlyZShcImluaGVyaXRzXCIpKFBhc3NUaHJvdWdoLFRyYW5zZm9ybSksUGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24ocixzLG8pe28obnVsbCxyKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZjR0Z6YzNSb2NtOTFaMmd1YW5NaVhTd2libUZ0WlhNaU9sc2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbEJoYzNOVWFISnZkV2RvSWl3aVZISmhibk5tYjNKdElpd2ljbVZ4ZFdseVpTSXNJbTl3ZEdsdmJuTWlMQ0owYUdseklpd2lZMkZzYkNJc0luQnliM1J2ZEhsd1pTSXNJbDkwY21GdWMyWnZjbTBpTENKamFIVnVheUlzSW1WdVkyOWthVzVuSWl3aVkySWlYU3dpYldGd2NHbHVaM01pT2lKQlFYVkNRU3hoUVVWQlFTeFBRVUZQUXl4UlFVRlZReXhaUVVWcVFpeEpRVUZKUXl4VlFVRlpReXhSUVVGUkxIVkNRVWw0UWl4VFFVRlRSaXhaUVVGWlJ5eEhRVU51UWl4TFFVRk5ReXhuUWtGQlowSktMR0ZCUVdNc1QwRkJUeXhKUVVGSlFTeFpRVUZaUnl4SFFVTXpSRVlzVlVGQlZVa3NTMEZCUzBRc1MwRkJUVVFzUjBGS2RrSkVMRkZCUVZFc1YwRkJVa0VzUTBGQmIwSkdMRmxCUVdGRExGZEJUMnBEUkN4WlFVRlpUU3hWUVVGVlF5eFhRVUZoTEZOQlFWVkRMRVZCUVU5RExFVkJRVlZETEVkQlF6VkVRU3hGUVVGSExFdEJRVTFHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmNHRnpjM1JvY205MVoyZ3Vhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBEdXBsZXg7bW9kdWxlLmV4cG9ydHM9UmVhZGFibGUsUmVhZGFibGUuUmVhZGFibGVTdGF0ZT1SZWFkYWJsZVN0YXRlO3ZhciBFRT1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcixFRWxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5saXN0ZW5lcnModCkubGVuZ3RofSxTdHJlYW09cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW1cIiksQnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIikuQnVmZmVyLE91clVpbnQ4QXJyYXk9Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBCdWZmZXIuZnJvbShlKX1mdW5jdGlvbiBfaXNVaW50OEFycmF5KGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5fXZhciBkZWJ1ZyxkZWJ1Z1V0aWw9cmVxdWlyZShcInV0aWxcIik7ZGVidWc9ZGVidWdVdGlsJiZkZWJ1Z1V0aWwuZGVidWdsb2c/ZGVidWdVdGlsLmRlYnVnbG9nKFwic3RyZWFtXCIpOmZ1bmN0aW9uKCl7fTt2YXIgU3RyaW5nRGVjb2RlcixjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IsZnJvbSxCdWZmZXJMaXN0PXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3RcIiksZGVzdHJveUltcGw9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95XCIpLF9yZXF1aXJlPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RhdGVcIiksZ2V0SGlnaFdhdGVyTWFyaz1fcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrLF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX0lOVkFMSURfQVJHX1RZUEU9X3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRj1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDtyZXF1aXJlKFwiaW5oZXJpdHNcIikoUmVhZGFibGUsU3RyZWFtKTt2YXIgZXJyb3JPckRlc3Ryb3k9ZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3ksa1Byb3h5RXZlbnRzPVtcImVycm9yXCIsXCJjbG9zZVwiLFwiZGVzdHJveVwiLFwicGF1c2VcIixcInJlc3VtZVwiXTtmdW5jdGlvbiBwcmVwZW5kTGlzdGVuZXIoZSx0LHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUucHJlcGVuZExpc3RlbmVyKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2UuX2V2ZW50cyYmZS5fZXZlbnRzW3RdP0FycmF5LmlzQXJyYXkoZS5fZXZlbnRzW3RdKT9lLl9ldmVudHNbdF0udW5zaGlmdChyKTplLl9ldmVudHNbdF09W3IsZS5fZXZlbnRzW3RdXTplLm9uKHQscil9ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQscil7RHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIiksZT1lfHx7fSxcImJvb2xlYW5cIiE9dHlwZW9mIHImJihyPXQgaW5zdGFuY2VvZiBEdXBsZXgpLHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSxyJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWdldEhpZ2hXYXRlck1hcmsodGhpcyxlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIsciksdGhpcy5idWZmZXI9bmV3IEJ1ZmZlckxpc3QsdGhpcy5sZW5ndGg9MCx0aGlzLnBpcGVzPW51bGwsdGhpcy5waXBlc0NvdW50PTAsdGhpcy5mbG93aW5nPW51bGwsdGhpcy5lbmRlZD0hMSx0aGlzLmVuZEVtaXR0ZWQ9ITEsdGhpcy5yZWFkaW5nPSExLHRoaXMuc3luYz0hMCx0aGlzLm5lZWRSZWFkYWJsZT0hMSx0aGlzLmVtaXR0ZWRSZWFkYWJsZT0hMSx0aGlzLnJlYWRhYmxlTGlzdGVuaW5nPSExLHRoaXMucmVzdW1lU2NoZWR1bGVkPSExLHRoaXMucGF1c2VkPSEwLHRoaXMuZW1pdENsb3NlPSExIT09ZS5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3ksdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihTdHJpbmdEZWNvZGVyfHwoU3RyaW5nRGVjb2Rlcj1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXIvXCIpLlN0cmluZ0RlY29kZXIpLHRoaXMuZGVjb2Rlcj1uZXcgU3RyaW5nRGVjb2RlcihlLmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPWUuZW5jb2RpbmcpfWZ1bmN0aW9uIFJlYWRhYmxlKGUpe2lmKER1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSlyZXR1cm4gbmV3IFJlYWRhYmxlKGUpO3ZhciB0PXRoaXMgaW5zdGFuY2VvZiBEdXBsZXg7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgUmVhZGFibGVTdGF0ZShlLHRoaXMsdCksdGhpcy5yZWFkYWJsZT0hMCxlJiYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS5yZWFkJiYodGhpcy5fcmVhZD1lLnJlYWQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9ZS5kZXN0cm95KSksU3RyZWFtLmNhbGwodGhpcyl9ZnVuY3Rpb24gcmVhZGFibGVBZGRDaHVuayhlLHQscixhLG4pe2RlYnVnKFwicmVhZGFibGVBZGRDaHVua1wiLHQpO3ZhciBpLGQ9ZS5fcmVhZGFibGVTdGF0ZTtpZihudWxsPT09dClkLnJlYWRpbmc9ITEsb25Fb2ZDaHVuayhlLGQpO2Vsc2UgaWYobnx8KGk9Y2h1bmtJbnZhbGlkKGQsdCkpLGkpZXJyb3JPckRlc3Ryb3koZSxpKTtlbHNlIGlmKGQub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MClpZihcInN0cmluZ1wiPT10eXBlb2YgdHx8ZC5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1CdWZmZXIucHJvdG90eXBlfHwodD1fdWludDhBcnJheVRvQnVmZmVyKHQpKSxhKWQuZW5kRW1pdHRlZD9lcnJvck9yRGVzdHJveShlLG5ldyBFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UKTphZGRDaHVuayhlLGQsdCwhMCk7ZWxzZSBpZihkLmVuZGVkKWVycm9yT3JEZXN0cm95KGUsbmV3IEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YpO2Vsc2V7aWYoZC5kZXN0cm95ZWQpcmV0dXJuITE7ZC5yZWFkaW5nPSExLGQuZGVjb2RlciYmIXI/KHQ9ZC5kZWNvZGVyLndyaXRlKHQpLGQub2JqZWN0TW9kZXx8MCE9PXQubGVuZ3RoP2FkZENodW5rKGUsZCx0LCExKTptYXliZVJlYWRNb3JlKGUsZCkpOmFkZENodW5rKGUsZCx0LCExKX1lbHNlIGF8fChkLnJlYWRpbmc9ITEsbWF5YmVSZWFkTW9yZShlLGQpKTtyZXR1cm4hZC5lbmRlZCYmKGQubGVuZ3RoPGQuaGlnaFdhdGVyTWFya3x8MD09PWQubGVuZ3RoKX1mdW5jdGlvbiBhZGRDaHVuayhlLHQscixhKXt0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCYmIXQuc3luYz8odC5hd2FpdERyYWluPTAsZS5lbWl0KFwiZGF0YVwiLHIpKToodC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoLGE/dC5idWZmZXIudW5zaGlmdChyKTp0LmJ1ZmZlci5wdXNoKHIpLHQubmVlZFJlYWRhYmxlJiZlbWl0UmVhZGFibGUoZSkpLG1heWJlUmVhZE1vcmUoZSx0KX1mdW5jdGlvbiBjaHVua0ludmFsaWQoZSx0KXt2YXIgcjtyZXR1cm4gX2lzVWludDhBcnJheSh0KXx8XCJzdHJpbmdcIj09dHlwZW9mIHR8fHZvaWQgMD09PXR8fGUub2JqZWN0TW9kZXx8KHI9bmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiLFwiVWludDhBcnJheVwiXSx0KSkscn1PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLFJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95PWRlc3Ryb3lJbXBsLmRlc3Ryb3ksUmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9ZGVzdHJveUltcGwudW5kZXN0cm95LFJlYWRhYmxlLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3QoZSl9LFJlYWRhYmxlLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7dmFyIHIsYT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBhLm9iamVjdE1vZGU/cj0hMDpcInN0cmluZ1wiPT10eXBlb2YgZSYmKCh0PXR8fGEuZGVmYXVsdEVuY29kaW5nKSE9PWEuZW5jb2RpbmcmJihlPUJ1ZmZlci5mcm9tKGUsdCksdD1cIlwiKSxyPSEwKSxyZWFkYWJsZUFkZENodW5rKHRoaXMsZSx0LCExLHIpfSxSZWFkYWJsZS5wcm90b3R5cGUudW5zaGlmdD1mdW5jdGlvbihlKXtyZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLGUsbnVsbCwhMCwhMSl9LFJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxSZWFkYWJsZS5wcm90b3R5cGUuc2V0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7U3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZShcInN0cmluZ19kZWNvZGVyL1wiKS5TdHJpbmdEZWNvZGVyKTt2YXIgdD1uZXcgU3RyaW5nRGVjb2RlcihlKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXI9dCx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZztmb3IodmFyIHI9dGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZCxhPVwiXCI7bnVsbCE9PXI7KWErPXQud3JpdGUoci5kYXRhKSxyPXIubmV4dDtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKSxcIlwiIT09YSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChhKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aD1hLmxlbmd0aCx0aGlzfTt2YXIgTUFYX0hXTT0xMDczNzQxODI0O2Z1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKGUpe3JldHVybiBlPj1NQVhfSFdNP2U9TUFYX0hXTTooZS0tLGV8PWU+Pj4xLGV8PWU+Pj4yLGV8PWU+Pj40LGV8PWU+Pj44LGV8PWU+Pj4xNixlKyspLGV9ZnVuY3Rpb24gaG93TXVjaFRvUmVhZChlLHQpe3JldHVybiBlPD0wfHwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/MDp0Lm9iamVjdE1vZGU/MTplIT1lP3QuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDooZT50LmhpZ2hXYXRlck1hcmsmJih0LmhpZ2hXYXRlck1hcms9Y29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSkpLGU8PXQubGVuZ3RoP2U6dC5lbmRlZD90Lmxlbmd0aDoodC5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIG9uRW9mQ2h1bmsoZSx0KXtpZihkZWJ1ZyhcIm9uRW9mQ2h1bmtcIiksIXQuZW5kZWQpe2lmKHQuZGVjb2Rlcil7dmFyIHI9dC5kZWNvZGVyLmVuZCgpO3ImJnIubGVuZ3RoJiYodC5idWZmZXIucHVzaChyKSx0Lmxlbmd0aCs9dC5vYmplY3RNb2RlPzE6ci5sZW5ndGgpfXQuZW5kZWQ9ITAsdC5zeW5jP2VtaXRSZWFkYWJsZShlKToodC5uZWVkUmVhZGFibGU9ITEsdC5lbWl0dGVkUmVhZGFibGV8fCh0LmVtaXR0ZWRSZWFkYWJsZT0hMCxlbWl0UmVhZGFibGVfKGUpKSl9fWZ1bmN0aW9uIGVtaXRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW1pdFJlYWRhYmxlXCIsdC5uZWVkUmVhZGFibGUsdC5lbWl0dGVkUmVhZGFibGUpLHQubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwoZGVidWcoXCJlbWl0UmVhZGFibGVcIix0LmZsb3dpbmcpLHQuZW1pdHRlZFJlYWRhYmxlPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdFJlYWRhYmxlXyxlKSl9ZnVuY3Rpb24gZW1pdFJlYWRhYmxlXyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW1pdFJlYWRhYmxlX1wiLHQuZGVzdHJveWVkLHQubGVuZ3RoLHQuZW5kZWQpLHQuZGVzdHJveWVkfHwhdC5sZW5ndGgmJiF0LmVuZGVkfHwoZS5lbWl0KFwicmVhZGFibGVcIiksdC5lbWl0dGVkUmVhZGFibGU9ITEpLHQubmVlZFJlYWRhYmxlPSF0LmZsb3dpbmcmJiF0LmVuZGVkJiZ0Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrLGZsb3coZSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShlLHQpe3QucmVhZGluZ01vcmV8fCh0LnJlYWRpbmdNb3JlPSEwLHByb2Nlc3MubmV4dFRpY2sobWF5YmVSZWFkTW9yZV8sZSx0KSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oZSx0KXtmb3IoOyF0LnJlYWRpbmcmJiF0LmVuZGVkJiYodC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrfHx0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCk7KXt2YXIgcj10Lmxlbmd0aDtpZihkZWJ1ZyhcIm1heWJlUmVhZE1vcmUgcmVhZCAwXCIpLGUucmVhZCgwKSxyPT09dC5sZW5ndGgpYnJlYWt9dC5yZWFkaW5nTW9yZT0hMX1mdW5jdGlvbiBwaXBlT25EcmFpbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwicGlwZU9uRHJhaW5cIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmRUVsaXN0ZW5lckNvdW50KGUsXCJkYXRhXCIpJiYodC5mbG93aW5nPSEwLGZsb3coZSkpfX1mdW5jdGlvbiB1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3QucmVhZGFibGVMaXN0ZW5pbmc9ZS5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MCx0LnJlc3VtZVNjaGVkdWxlZCYmIXQucGF1c2VkP3QuZmxvd2luZz0hMDplLmxpc3RlbmVyQ291bnQoXCJkYXRhXCIpPjAmJmUucmVzdW1lKCl9ZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhlKXtkZWJ1ZyhcInJlYWRhYmxlIG5leHR0aWNrIHJlYWQgMFwiKSxlLnJlYWQoMCl9ZnVuY3Rpb24gcmVzdW1lKGUsdCl7dC5yZXN1bWVTY2hlZHVsZWR8fCh0LnJlc3VtZVNjaGVkdWxlZD0hMCxwcm9jZXNzLm5leHRUaWNrKHJlc3VtZV8sZSx0KSl9ZnVuY3Rpb24gcmVzdW1lXyhlLHQpe2RlYnVnKFwicmVzdW1lXCIsdC5yZWFkaW5nKSx0LnJlYWRpbmd8fGUucmVhZCgwKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSxlLmVtaXQoXCJyZXN1bWVcIiksZmxvdyhlKSx0LmZsb3dpbmcmJiF0LnJlYWRpbmcmJmUucmVhZCgwKX1mdW5jdGlvbiBmbG93KGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7Zm9yKGRlYnVnKFwiZmxvd1wiLHQuZmxvd2luZyk7dC5mbG93aW5nJiZudWxsIT09ZS5yZWFkKCk7KTt9ZnVuY3Rpb24gZnJvbUxpc3QoZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKFwiXCIpOjE9PT10LmJ1ZmZlci5sZW5ndGg/dC5idWZmZXIuZmlyc3QoKTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9dC5idWZmZXIuY29uc3VtZShlLHQuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gZW5kUmVhZGFibGUoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVuZFJlYWRhYmxlXCIsdC5lbmRFbWl0dGVkKSx0LmVuZEVtaXR0ZWR8fCh0LmVuZGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCx0LGUpKX1mdW5jdGlvbiBlbmRSZWFkYWJsZU5UKGUsdCl7aWYoZGVidWcoXCJlbmRSZWFkYWJsZU5UXCIsZS5lbmRFbWl0dGVkLGUubGVuZ3RoKSwhZS5lbmRFbWl0dGVkJiYwPT09ZS5sZW5ndGgmJihlLmVuZEVtaXR0ZWQ9ITAsdC5yZWFkYWJsZT0hMSx0LmVtaXQoXCJlbmRcIiksZS5hdXRvRGVzdHJveSkpe3ZhciByPXQuX3dyaXRhYmxlU3RhdGU7KCFyfHxyLmF1dG9EZXN0cm95JiZyLmZpbmlzaGVkKSYmdC5kZXN0cm95KCl9fWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxhPWUubGVuZ3RoO3I8YTtyKyspaWYoZVtyXT09PXQpcmV0dXJuIHI7cmV0dXJuLTF9UmVhZGFibGUucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZSl7ZGVidWcoXCJyZWFkXCIsZSksZT1wYXJzZUludChlLDEwKTt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLHI9ZTtpZigwIT09ZSYmKHQuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09ZSYmdC5uZWVkUmVhZGFibGUmJigoMCE9PXQuaGlnaFdhdGVyTWFyaz90Lmxlbmd0aD49dC5oaWdoV2F0ZXJNYXJrOnQubGVuZ3RoPjApfHx0LmVuZGVkKSlyZXR1cm4gZGVidWcoXCJyZWFkOiBlbWl0UmVhZGFibGVcIix0Lmxlbmd0aCx0LmVuZGVkKSwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/ZW5kUmVhZGFibGUodGhpcyk6ZW1pdFJlYWRhYmxlKHRoaXMpLG51bGw7aWYoMD09PShlPWhvd011Y2hUb1JlYWQoZSx0KSkmJnQuZW5kZWQpcmV0dXJuIDA9PT10Lmxlbmd0aCYmZW5kUmVhZGFibGUodGhpcyksbnVsbDt2YXIgYSxuPXQubmVlZFJlYWRhYmxlO3JldHVybiBkZWJ1ZyhcIm5lZWQgcmVhZGFibGVcIixuKSwoMD09PXQubGVuZ3RofHx0Lmxlbmd0aC1lPHQuaGlnaFdhdGVyTWFyaykmJmRlYnVnKFwibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmtcIixuPSEwKSx0LmVuZGVkfHx0LnJlYWRpbmc/ZGVidWcoXCJyZWFkaW5nIG9yIGVuZGVkXCIsbj0hMSk6biYmKGRlYnVnKFwiZG8gcmVhZFwiKSx0LnJlYWRpbmc9ITAsdC5zeW5jPSEwLDA9PT10Lmxlbmd0aCYmKHQubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayksdC5zeW5jPSExLHQucmVhZGluZ3x8KGU9aG93TXVjaFRvUmVhZChyLHQpKSksbnVsbD09PShhPWU+MD9mcm9tTGlzdChlLHQpOm51bGwpPyh0Lm5lZWRSZWFkYWJsZT10Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrLGU9MCk6KHQubGVuZ3RoLT1lLHQuYXdhaXREcmFpbj0wKSwwPT09dC5sZW5ndGgmJih0LmVuZGVkfHwodC5uZWVkUmVhZGFibGU9ITApLHIhPT1lJiZ0LmVuZGVkJiZlbmRSZWFkYWJsZSh0aGlzKSksbnVsbCE9PWEmJnRoaXMuZW1pdChcImRhdGFcIixhKSxhfSxSZWFkYWJsZS5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7ZXJyb3JPckRlc3Ryb3kodGhpcyxuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoXCJfcmVhZCgpXCIpKX0sUmVhZGFibGUucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLGE9dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2goYS5waXBlc0NvdW50KXtjYXNlIDA6YS5waXBlcz1lO2JyZWFrO2Nhc2UgMTphLnBpcGVzPVthLnBpcGVzLGVdO2JyZWFrO2RlZmF1bHQ6YS5waXBlcy5wdXNoKGUpfWEucGlwZXNDb3VudCs9MSxkZWJ1ZyhcInBpcGUgY291bnQ9JWQgb3B0cz0lalwiLGEucGlwZXNDb3VudCx0KTt2YXIgbj0oIXR8fCExIT09dC5lbmQpJiZlIT09cHJvY2Vzcy5zdGRvdXQmJmUhPT1wcm9jZXNzLnN0ZGVycj9kOmY7ZnVuY3Rpb24gaSh0LG4pe2RlYnVnKFwib251bnBpcGVcIiksdD09PXImJm4mJiExPT09bi5oYXNVbnBpcGVkJiYobi5oYXNVbnBpcGVkPSEwLGRlYnVnKFwiY2xlYW51cFwiKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixiKSxlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIscCksZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsbyksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksZS5yZW1vdmVMaXN0ZW5lcihcInVucGlwZVwiLGkpLHIucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixkKSxyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsZiksci5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIixsKSxzPSEwLCFhLmF3YWl0RHJhaW58fGUuX3dyaXRhYmxlU3RhdGUmJiFlLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8bygpKX1mdW5jdGlvbiBkKCl7ZGVidWcoXCJvbmVuZFwiKSxlLmVuZCgpfWEuZW5kRW1pdHRlZD9wcm9jZXNzLm5leHRUaWNrKG4pOnIub25jZShcImVuZFwiLG4pLGUub24oXCJ1bnBpcGVcIixpKTt2YXIgbz1waXBlT25EcmFpbihyKTtlLm9uKFwiZHJhaW5cIixvKTt2YXIgcz0hMTtmdW5jdGlvbiBsKHQpe2RlYnVnKFwib25kYXRhXCIpO3ZhciBuPWUud3JpdGUodCk7ZGVidWcoXCJkZXN0LndyaXRlXCIsbiksITE9PT1uJiYoKDE9PT1hLnBpcGVzQ291bnQmJmEucGlwZXM9PT1lfHxhLnBpcGVzQ291bnQ+MSYmLTEhPT1pbmRleE9mKGEucGlwZXMsZSkpJiYhcyYmKGRlYnVnKFwiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlXCIsYS5hd2FpdERyYWluKSxhLmF3YWl0RHJhaW4rKyksci5wYXVzZSgpKX1mdW5jdGlvbiB1KHQpe2RlYnVnKFwib25lcnJvclwiLHQpLGYoKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIix1KSwwPT09RUVsaXN0ZW5lckNvdW50KGUsXCJlcnJvclwiKSYmZXJyb3JPckRlc3Ryb3koZSx0KX1mdW5jdGlvbiBiKCl7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLHApLGYoKX1mdW5jdGlvbiBwKCl7ZGVidWcoXCJvbmZpbmlzaFwiKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixiKSxmKCl9ZnVuY3Rpb24gZigpe2RlYnVnKFwidW5waXBlXCIpLHIudW5waXBlKGUpfXJldHVybiByLm9uKFwiZGF0YVwiLGwpLHByZXBlbmRMaXN0ZW5lcihlLFwiZXJyb3JcIix1KSxlLm9uY2UoXCJjbG9zZVwiLGIpLGUub25jZShcImZpbmlzaFwiLHApLGUuZW1pdChcInBpcGVcIixyKSxhLmZsb3dpbmd8fChkZWJ1ZyhcInBpcGUgcmVzdW1lXCIpLHIucmVzdW1lKCkpLGV9LFJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXtoYXNVbnBpcGVkOiExfTtpZigwPT09dC5waXBlc0NvdW50KXJldHVybiB0aGlzO2lmKDE9PT10LnBpcGVzQ291bnQpcmV0dXJuIGUmJmUhPT10LnBpcGVzP3RoaXM6KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKSx0aGlzKTtpZighZSl7dmFyIGE9dC5waXBlcyxuPXQucGlwZXNDb3VudDt0LnBpcGVzPW51bGwsdC5waXBlc0NvdW50PTAsdC5mbG93aW5nPSExO2Zvcih2YXIgaT0wO2k8bjtpKyspYVtpXS5lbWl0KFwidW5waXBlXCIsdGhpcyx7aGFzVW5waXBlZDohMX0pO3JldHVybiB0aGlzfXZhciBkPWluZGV4T2YodC5waXBlcyxlKTtyZXR1cm4tMT09PWQ/dGhpczoodC5waXBlcy5zcGxpY2UoZCwxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKSx0aGlzKX0sUmVhZGFibGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9U3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsZSx0KSxhPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuXCJkYXRhXCI9PT1lPyhhLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudChcInJlYWRhYmxlXCIpPjAsITEhPT1hLmZsb3dpbmcmJnRoaXMucmVzdW1lKCkpOlwicmVhZGFibGVcIj09PWUmJihhLmVuZEVtaXR0ZWR8fGEucmVhZGFibGVMaXN0ZW5pbmd8fChhLnJlYWRhYmxlTGlzdGVuaW5nPWEubmVlZFJlYWRhYmxlPSEwLGEuZmxvd2luZz0hMSxhLmVtaXR0ZWRSZWFkYWJsZT0hMSxkZWJ1ZyhcIm9uIHJlYWRhYmxlXCIsYS5sZW5ndGgsYS5yZWFkaW5nKSxhLmxlbmd0aD9lbWl0UmVhZGFibGUodGhpcyk6YS5yZWFkaW5nfHxwcm9jZXNzLm5leHRUaWNrKG5SZWFkaW5nTmV4dFRpY2ssdGhpcykpKSxyfSxSZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXI9UmVhZGFibGUucHJvdG90eXBlLm9uLFJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPVN0cmVhbS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLGUsdCk7cmV0dXJuXCJyZWFkYWJsZVwiPT09ZSYmcHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKSxyfSxSZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0PVN0cmVhbS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm5cInJlYWRhYmxlXCIhPT1lJiZ2b2lkIDAhPT1lfHxwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLHRoaXMpLHR9LFJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBlLmZsb3dpbmd8fChkZWJ1ZyhcInJlc3VtZVwiKSxlLmZsb3dpbmc9IWUucmVhZGFibGVMaXN0ZW5pbmcscmVzdW1lKHRoaXMsZSkpLGUucGF1c2VkPSExLHRoaXN9LFJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBkZWJ1ZyhcImNhbGwgcGF1c2UgZmxvd2luZz0lalwiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihkZWJ1ZyhcInBhdXNlXCIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoXCJwYXVzZVwiKSksdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQ9ITAsdGhpc30sUmVhZGFibGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPXRoaXMuX3JlYWRhYmxlU3RhdGUsYT0hMTtmb3IodmFyIG4gaW4gZS5vbihcImVuZFwiLGZ1bmN0aW9uKCl7aWYoZGVidWcoXCJ3cmFwcGVkIGVuZFwiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgZT1yLmRlY29kZXIuZW5kKCk7ZSYmZS5sZW5ndGgmJnQucHVzaChlKX10LnB1c2gobnVsbCl9KSxlLm9uKFwiZGF0YVwiLGZ1bmN0aW9uKG4peyhkZWJ1ZyhcIndyYXBwZWQgZGF0YVwiKSxyLmRlY29kZXImJihuPXIuZGVjb2Rlci53cml0ZShuKSksci5vYmplY3RNb2RlJiZudWxsPT1uKXx8KHIub2JqZWN0TW9kZXx8biYmbi5sZW5ndGgpJiYodC5wdXNoKG4pfHwoYT0hMCxlLnBhdXNlKCkpKX0pLGUpdm9pZCAwPT09dGhpc1tuXSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZVtuXSYmKHRoaXNbbl09ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF0uYXBwbHkoZSxhcmd1bWVudHMpfX0obikpO2Zvcih2YXIgaT0wO2k8a1Byb3h5RXZlbnRzLmxlbmd0aDtpKyspZS5vbihrUHJveHlFdmVudHNbaV0sdGhpcy5lbWl0LmJpbmQodGhpcyxrUHJveHlFdmVudHNbaV0pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbih0KXtkZWJ1ZyhcIndyYXBwZWQgX3JlYWRcIix0KSxhJiYoYT0hMSxlLnJlc3VtZSgpKX0sdGhpc30sXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoUmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1jcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3ImJihjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvclwiKSksY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHRoaXMpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUZsb3dpbmdcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz1lKX19KSxSZWFkYWJsZS5fZnJvbUxpc3Q9ZnJvbUxpc3QsT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKFJlYWRhYmxlLmZyb209ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09ZnJvbSYmKGZyb209cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9mcm9tXCIpKSxmcm9tKFJlYWRhYmxlLGUsdCl9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmNtVmhaR0ZpYkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpUkhWd2JHVjRJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxKbFlXUmhZbXhsSWl3aVVtVmhaR0ZpYkdWVGRHRjBaU0lzSWtWRklpd2ljbVZ4ZFdseVpTSXNJa1YyWlc1MFJXMXBkSFJsY2lJc0lrVkZiR2x6ZEdWdVpYSkRiM1Z1ZENJc0ltVnRhWFIwWlhJaUxDSjBlWEJsSWl3aWJHbHpkR1Z1WlhKeklpd2liR1Z1WjNSb0lpd2lVM1J5WldGdElpd2lRblZtWm1WeUlpd2lUM1Z5VldsdWREaEJjbkpoZVNJc0ltZHNiMkpoYkNJc0lsVnBiblE0UVhKeVlYa2lMQ0pmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5SWl3aVkyaDFibXNpTENKbWNtOXRJaXdpWDJselZXbHVkRGhCY25KaGVTSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2laR1ZpZFdjaUxDSmtaV0oxWjFWMGFXd2lMQ0prWldKMVoyeHZaeUlzSWxOMGNtbHVaMFJsWTI5a1pYSWlMQ0pqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSWlMQ0pDZFdabVpYSk1hWE4wSWl3aVpHVnpkSEp2ZVVsdGNHd2lMQ0pmY21WeGRXbHlaU0lzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKZmNtVnhkV2x5WlNSamIyUmxjeUlzSW1OdlpHVnpJaXdpUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVaUxDSkZVbEpmVTFSU1JVRk5YMUJWVTBoZlFVWlVSVkpmUlU5R0lpd2lSVkpTWDAxRlZFaFBSRjlPVDFSZlNVMVFURVZOUlU1VVJVUWlMQ0pGVWxKZlUxUlNSVUZOWDFWT1UwaEpSbFJmUVVaVVJWSmZSVTVFWDBWV1JVNVVJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0pyVUhKdmVIbEZkbVZ1ZEhNaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSmxkbVZ1ZENJc0ltWnVJaXdpWDJWMlpXNTBjeUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSW5WdWMyaHBablFpTENKdmJpSXNJbTl3ZEdsdmJuTWlMQ0p6ZEhKbFlXMGlMQ0pwYzBSMWNHeGxlQ0lzSW5Sb2FYTWlMQ0p2WW1wbFkzUk5iMlJsSWl3aWNtVmhaR0ZpYkdWUFltcGxZM1JOYjJSbElpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltSjFabVpsY2lJc0luQnBjR1Z6SWl3aWNHbHdaWE5EYjNWdWRDSXNJbVpzYjNkcGJtY2lMQ0psYm1SbFpDSXNJbVZ1WkVWdGFYUjBaV1FpTENKeVpXRmthVzVuSWl3aWMzbHVZeUlzSW01bFpXUlNaV0ZrWVdKc1pTSXNJbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTSXNJbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5JaXdpY21WemRXMWxVMk5vWldSMWJHVmtJaXdpY0dGMWMyVmtJaXdpWlcxcGRFTnNiM05sSWl3aVlYVjBiMFJsYzNSeWIza2lMQ0prWlhOMGNtOTVaV1FpTENKa1pXWmhkV3gwUlc1amIyUnBibWNpTENKaGQyRnBkRVJ5WVdsdUlpd2ljbVZoWkdsdVowMXZjbVVpTENKa1pXTnZaR1Z5SWl3aVpXNWpiMlJwYm1jaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0luSmxZV1JoWW14bElpd2ljbVZoWkNJc0lsOXlaV0ZrSWl3aVpHVnpkSEp2ZVNJc0lsOWtaWE4wY205NUlpd2lZMkZzYkNJc0luSmxZV1JoWW14bFFXUmtRMmgxYm1zaUxDSmhaR1JVYjBaeWIyNTBJaXdpYzJ0cGNFTm9kVzVyUTJobFkyc2lMQ0psY2lJc0luTjBZWFJsSWl3aWIyNUZiMlpEYUhWdWF5SXNJbU5vZFc1clNXNTJZV3hwWkNJc0lrOWlhbVZqZENJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aWNISnZkRzkwZVhCbElpd2lZV1JrUTJoMWJtc2lMQ0ozY21sMFpTSXNJbTFoZVdKbFVtVmhaRTF2Y21VaUxDSmxiV2wwSWl3aWNIVnphQ0lzSW1WdGFYUlNaV0ZrWVdKc1pTSXNJblZ1WkdWbWFXNWxaQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltZGxkQ0lzSW5ObGRDSXNJblpoYkhWbElpd2lYM1Z1WkdWemRISnZlU0lzSW5WdVpHVnpkSEp2ZVNJc0ltVnljaUlzSW1OaUlpd2lhWE5RWVhWelpXUWlMQ0p6WlhSRmJtTnZaR2x1WnlJc0ltVnVZeUlzSW5BaUxDSm9aV0ZrSWl3aVkyOXVkR1Z1ZENJc0ltUmhkR0VpTENKdVpYaDBJaXdpWTJ4bFlYSWlMQ0pOUVZoZlNGZE5JaXdpWTI5dGNIVjBaVTVsZDBocFoyaFhZWFJsY2sxaGNtc2lMQ0p1SWl3aWFHOTNUWFZqYUZSdlVtVmhaQ0lzSW1WdVpDSXNJbVZ0YVhSU1pXRmtZV0pzWlY4aUxDSndjbTlqWlhOeklpd2libVY0ZEZScFkyc2lMQ0ptYkc5M0lpd2liV0Y1WW1WU1pXRmtUVzl5WlY4aUxDSnNaVzRpTENKd2FYQmxUMjVFY21GcGJpSXNJbk55WXlJc0luVndaR0YwWlZKbFlXUmhZbXhsVEdsemRHVnVhVzVuSWl3aWMyVnNaaUlzSW14cGMzUmxibVZ5UTI5MWJuUWlMQ0p5WlhOMWJXVWlMQ0p1VW1WaFpHbHVaMDVsZUhSVWFXTnJJaXdpY21WemRXMWxYeUlzSW1aeWIyMU1hWE4wSWl3aWNtVjBJaXdpYzJocFpuUWlMQ0pxYjJsdUlpd2labWx5YzNRaUxDSmpiMjVqWVhRaUxDSmpiMjV6ZFcxbElpd2laVzVrVW1WaFpHRmliR1VpTENKbGJtUlNaV0ZrWVdKc1pVNVVJaXdpZDFOMFlYUmxJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0ptYVc1cGMyaGxaQ0lzSW1sdVpHVjRUMllpTENKNGN5SXNJbmdpTENKcElpd2liQ0lzSW5CaGNuTmxTVzUwSWl3aWJrOXlhV2NpTENKa2IxSmxZV1FpTENKd2FYQmxJaXdpWkdWemRDSXNJbkJwY0dWUGNIUnpJaXdpWlc1a1JtNGlMQ0p6ZEdSdmRYUWlMQ0p6ZEdSbGNuSWlMQ0p2Ym1WdVpDSXNJblZ1Y0dsd1pTSXNJbTl1ZFc1d2FYQmxJaXdpZFc1d2FYQmxTVzVtYnlJc0ltaGhjMVZ1Y0dsd1pXUWlMQ0p5WlcxdmRtVk1hWE4wWlc1bGNpSXNJbTl1WTJ4dmMyVWlMQ0p2Ym1acGJtbHphQ0lzSW05dVpISmhhVzRpTENKdmJtVnljbTl5SWl3aWIyNWtZWFJoSWl3aVkyeGxZVzVsWkZWd0lpd2libVZsWkVSeVlXbHVJaXdpYjI1alpTSXNJbkJoZFhObElpd2laR1Z6ZEhNaUxDSnBibVJsZUNJc0luTndiR2xqWlNJc0ltVjJJaXdpY21Weklpd2lZV1JrVEdsemRHVnVaWElpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSmhjSEJzZVNJc0ltRnlaM1Z0Wlc1MGN5SXNJbmR5WVhBaUxDSmZkR2hwY3lJc0ltMWxkR2h2WkNJc0ltSnBibVFpTENKVGVXMWliMndpTENKaGMzbHVZMGwwWlhKaGRHOXlJaXdpWDJaeWIyMU1hWE4wSWl3aWFYUmxjbUZpYkdVaUxDSnZjSFJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZ2UWtFc1lVRkxRU3hKUVVGSlFTeFBRVWhLUXl4UFFVRlBReXhSUVVGVlF5eFRRVTFxUWtFc1UwRkJVME1zWTBGQlowSkJMR05CUjNwQ0xFbEJRVWxETEVkQlFVdERMRkZCUVZFc1ZVRkJWVU1zWVVGRmRrSkRMR2RDUVVGclFpeFRRVUY1UWtNc1JVRkJVME1zUjBGRGRFUXNUMEZCVDBRc1JVRkJVVVVzVlVGQlZVUXNSMEZCVFVVc1VVRlBOMEpETEU5QlFWTlFMRkZCUVZFc05rSkJTV3BDVVN4UFFVRlRVaXhSUVVGUkxGVkJRVlZSTEU5QlJUTkNReXhqUVVGblFrTXNUMEZCVDBNc1dVRkJZeXhoUVVWNlF5eFRRVUZUUXl4dlFrRkJiMEpETEVkQlF6TkNMRTlCUVU5TUxFOUJRVTlOTEV0QlFVdEVMRWRCUjNKQ0xGTkJRVk5GTEdOQlFXTkRMRWRCUTNKQ0xFOUJRVTlTTEU5QlFVOVRMRk5CUVZORUxFbEJRVkZCTEdGQlFXVlFMR05CUzJoRUxFbEJSVWxUTEUxQlJrRkRMRlZCUVZsdVFpeFJRVUZSTEZGQlMzUkNhMElzVFVGRVJVTXNWMEZCWVVFc1ZVRkJWVU1zVTBGRGFrSkVMRlZCUVZWRExGTkJRVk1zVlVGRmJrSXNZVUZMVml4SlFXTkpReXhqUVVOQlF5eHJRMEZEUVZJc1MwRm9Ra0ZUTEZkQlFXRjJRaXhSUVVGUkxHdERRVVZ5UW5kQ0xGbEJRV040UWl4UlFVRlJMRGhDUVVWMFFubENMRk5CUVZkNlFpeFJRVUZSTERSQ1FVTnVRakJDTEdsQ1FVRnRRa1FzVTBGQlUwTXNhVUpCUlRWQ1F5eGxRVUZwUWpOQ0xGRkJRVkVzWVVGQllUUkNMRTFCUTNSRFF5eHhRa0ZCZFVKR0xHVkJRV1ZGTEhGQ1FVTjBRME1zTUVKQlFUUkNTQ3hsUVVGbFJ5d3dRa0ZETTBORExESkNRVUUyUWtvc1pVRkJaVWtzTWtKQlF6VkRReXh0UTBGQmNVTk1MR1ZCUVdWTExHMURRVTk0UkdoRExGRkJRVkVzVjBGQlVrRXNRMEZCYjBKSUxGTkJRVlZWTEZGQlJUbENMRWxCUVVrd1FpeGxRVUZwUWxRc1dVRkJXVk1zWlVGRE4wSkRMR0ZCUVdVc1EwRkJReXhSUVVGVExGRkJRVk1zVlVGQlZ5eFJRVUZUTEZWQlJURkVMRk5CUVZORExHZENRVUZuUW1oRExFVkJRVk5wUXl4RlFVRlBReXhIUVVkMlF5eEhRVUYxUXl4dFFrRkJOVUpzUXl4RlFVRlJaME1zWjBKQlFXZERMRTlCUVU5b1F5eEZRVUZSWjBNc1owSkJRV2RDUXl4RlFVRlBReXhIUVV0d1JteERMRVZCUVZGdFF5eFRRVUZaYmtNc1JVRkJVVzFETEZGQlFWRkdMRWRCUVhWRFJ5eE5RVUZOUXl4UlFVRlJja01zUlVGQlVXMURMRkZCUVZGR0xFbEJRVk5xUXl4RlFVRlJiVU1zVVVGQlVVWXNSMEZCVDBzc1VVRkJVVW9zUjBGQlUyeERMRVZCUVZGdFF5eFJRVUZSUml4SFFVRlRMRU5CUVVORExFVkJRVWxzUXl4RlFVRlJiVU1zVVVGQlVVWXNTVUZCTlVwcVF5eEZRVUZSZFVNc1IwRkJSMDRzUlVGQlQwTXNSMEZIY2tVc1UwRkJVM1pETEdOQlFXTTJReXhGUVVGVFF5eEZRVUZSUXl4SFFVTjBRMjVFTEU5QlFWTkJMRkZCUVZWTkxGRkJRVkVzYjBKQlF6TkNNa01zUlVGQlZVRXNSMEZCVnl4SFFVMUhMR3RDUVVGaVJTeEpRVUYzUWtFc1JVRkJWMFFzWVVGQmEwSnNSQ3hSUVVkb1JXOUVMRXRCUVV0RExHRkJRV1ZLTEVWQlFWRkpMRmRCUTNoQ1JpeEpRVUZWUXl4TFFVRkxReXhYUVVGaFJDeExRVUZMUXl4alFVRm5Ra29zUlVGQlVVc3NiMEpCUnpkRVJpeExRVUZMUnl4alFVRm5RblpDTEdsQ1FVRnBRbTlDTEV0QlFVMUlMRVZCUVZNc2QwSkJRWGxDUlN4SFFVazVSVU1zUzBGQlMwa3NUMEZCVXl4SlFVRkpNMElzVjBGRGJFSjFRaXhMUVVGTGVFTXNUMEZCVXl4RlFVTmtkME1zUzBGQlMwc3NUVUZCVVN4TFFVTmlUQ3hMUVVGTFRTeFhRVUZoTEVWQlEyeENUaXhMUVVGTFR5eFJRVUZWTEV0QlEyWlFMRXRCUVV0UkxFOUJRVkVzUlVGRFlsSXNTMEZCUzFNc1dVRkJZU3hGUVVOc1FsUXNTMEZCUzFVc1UwRkJWU3hGUVV0bVZpeExRVUZMVnl4TlFVRlBMRVZCUjFwWUxFdEJRVXRaTEdOQlFXVXNSVUZEY0VKYUxFdEJRVXRoTEdsQ1FVRnJRaXhGUVVOMlFtSXNTMEZCUzJNc2JVSkJRVzlDTEVWQlEzcENaQ3hMUVVGTFpTeHBRa0ZCYTBJc1JVRkRka0ptTEV0QlFVdG5RaXhSUVVGVExFVkJSV1JvUWl4TFFVRkxhVUlzVjBGQmEwTXNTVUZCZEVKd1FpeEZRVUZSYjBJc1ZVRkZla0pxUWl4TFFVRkxhMElzWTBGQlowSnlRaXhGUVVGUmNVSXNXVUZGTjBKc1FpeExRVUZMYlVJc1YwRkJXU3hGUVVscVFtNUNMRXRCUVV0dlFpeG5Ra0ZCYTBKMlFpeEZRVUZSZFVJc2FVSkJRVzFDTEU5QlJXeEVjRUlzUzBGQlMzRkNMRmRCUVdFc1JVRkZiRUp5UWl4TFFVRkxjMElzWVVGQll5eEZRVU51UW5SQ0xFdEJRVXQxUWl4UlFVRlZMRXRCUTJaMlFpeExRVUZMZDBJc1UwRkJWeXhMUVVWYU0wSXNSVUZCVVRKQ0xGZEJRMHhxUkN4blFrRkJaVUVzWTBGQlowSnlRaXhSUVVGUkxHMUNRVUZ0UW5GQ0xHVkJReTlFZVVJc1MwRkJTM1ZDTEZGQlFWVXNTVUZCU1doRUxHTkJRV056UWl4RlFVRlJNa0lzVlVGRGVrTjRRaXhMUVVGTGQwSXNVMEZCVnpOQ0xFVkJRVkV5UWl4VlFVazFRaXhUUVVGVGVrVXNVMEZCVXpoRExFZEJSV2hDTEVkQlJFRnFSQ3hQUVVGVFFTeFJRVUZWVFN4UlFVRlJMSE5DUVVOeVFqaERMR2RDUVVGblFtcEVMRlZCUVZjc1QwRkJUeXhKUVVGSlFTeFRRVUZUT0VNc1IwRkhja1FzU1VGQlNVVXNSVUZCVjBNc1owSkJRV2RDY0VRc1QwRkRMMEp2UkN4TFFVRkxlVUlzWlVGQmFVSXNTVUZCU1hwRkxHTkJRV00yUXl4RlFVRlRSeXhMUVVGTlJDeEhRVVYyUkVNc1MwRkJTekJDTEZWQlFWY3NSVUZGV2pkQ0xFbEJRekJDTEcxQ1FVRnFRa0VzUlVGQlVUaENMRTlCUVhGQ00wSXNTMEZCU3pSQ0xFMUJRVkV2UWl4RlFVRlJPRUlzVFVGRE9VSXNiVUpCUVhCQ09VSXNSVUZCVVdkRExGVkJRWGRDTjBJc1MwRkJTemhDTEZOQlFWZHFReXhGUVVGUlowTXNWVUZIY2tWd1JTeFBRVUZQYzBVc1MwRkJTeTlDTEUxQmFVVmtMRk5CUVZOblF5eHBRa0ZCYVVKc1F5eEZRVUZSTDBJc1JVRkJUM2xFTEVWQlFWVlRMRVZCUVZsRExFZEJRemRFT1VRc1RVRkJUU3h0UWtGQmIwSk1MRWRCUXpGQ0xFbEJUVTF2UlN4RlFVNUdReXhGUVVGUmRFTXNSVUZCVHpKQ0xHVkJSVzVDTEVkQlFXTXNUMEZCVmpGRUxFVkJRMFp4UlN4RlFVRk5NVUlzVTBGQlZTeEZRVU5vUWpKQ0xGZEJRVmQyUXl4RlFVRlJjME1zVVVGTGJrSXNSMEZHUzBZc1NVRkJaMEpETEVWQlFVdEhMR0ZCUVdGR0xFVkJRVTl5UlN4SlFVVXhRMjlGTEVWQlEwWm9SQ3hsUVVGbFZ5eEZRVUZSY1VNc1VVRkRiRUlzUjBGQlNVTXNSVUZCVFc1RExGbEJRV05zUXl4SFFVRlRRU3hGUVVGTlVDeFBRVUZUTEVWQlMzSkVMRWRCU25GQ0xHbENRVUZXVHl4SFFVRjFRbkZGTEVWQlFVMXVReXhaUVVGamMwTXNUMEZCVDBNc1pVRkJaWHBGTEV0QlFWZE1MRTlCUVU4clJTeFpRVU0xUmpGRkxFVkJRVkZFTEc5Q1FVRnZRa01zU1VGSE1VSnJSU3hGUVVORlJ5eEZRVUZOTTBJc1YwRkJXWFJDTEdWQlFXVlhMRVZCUVZFc1NVRkJTVm9zYjBOQlFUSkRkMFFzVTBGQlV6VkRMRVZCUVZGelF5eEZRVUZQY2tVc1IwRkJUeXhSUVVOMFNDeEhRVUZKY1VVc1JVRkJUVFZDTEUxQlEyWnlRaXhsUVVGbFZ5eEZRVUZSTEVsQlFVbGtMQ3RDUVVOMFFpeERRVUZCTEVkQlFVbHZSQ3hGUVVGTmFrSXNWVUZEWml4UFFVRlBMRVZCUlZCcFFpeEZRVUZOTVVJc1UwRkJWU3hGUVVWYU1FSXNSVUZCVFdJc1ZVRkJXVU1zUjBGRGNFSjZSQ3hGUVVGUmNVVXNSVUZCVFdJc1VVRkJVVzlDTEUxQlFVMDFSU3hIUVVONFFuRkZMRVZCUVUxdVF5eFpRVUVyUWl4SlFVRnFRbXhETEVWQlFVMVFMRTlCUVdOclJpeFRRVUZUTlVNc1JVRkJVWE5ETEVWQlFVOXlSU3hIUVVGUExFZEJRVmsyUlN4alFVRmpPVU1zUlVGQlVYTkRMRWxCUlRkSFRTeFRRVUZUTlVNc1JVRkJVWE5ETEVWQlFVOXlSU3hIUVVGUExGRkJSM3BDYTBVc1NVRkRWa2NzUlVGQlRURkNMRk5CUVZVc1JVRkRhRUpyUXl4alFVRmpPVU1zUlVGQlVYTkRMRWxCVHpGQ0xFOUJRVkZCTEVWQlFVMDFRaXhSUVVGVk5FSXNSVUZCVFRWRkxFOUJRVk0wUlN4RlFVRk5ha01zWlVGQmEwTXNTVUZCYWtKcFF5eEZRVUZOTlVVc1VVRkhkRVVzVTBGQlUydEdMRk5CUVZNMVF5eEZRVUZSYzBNc1JVRkJUM0pGTEVWQlFVOXJSU3hIUVVOc1EwY3NSVUZCVFRkQ0xGTkJRVFJDTEVsQlFXcENOa0lzUlVGQlRUVkZMRk5CUVdsQ05FVXNSVUZCVFhwQ0xFMUJRMmhFZVVJc1JVRkJUV1lzVjBGQllTeEZRVU51UW5aQ0xFVkJRVThyUXl4TFFVRkxMRTlCUVZFNVJTeExRVWR3UW5GRkxFVkJRVTAxUlN4UlFVRlZORVVzUlVGQlRXNURMRmRCUVdFc1JVRkJTV3hETEVWQlFVMVFMRTlCUTNwRGVVVXNSVUZCV1Vjc1JVRkJUV2hETEU5QlFVOVVMRkZCUVZFMVFpeEhRVUZaY1VVc1JVRkJUV2hETEU5QlFVOHdReXhMUVVGTEwwVXNSMEZETDBSeFJTeEZRVUZOZUVJc1kwRkJZMjFETEdGQlFXRnFSQ3hKUVVkMlF6aERMR05CUVdNNVF5eEZRVUZSYzBNc1IwRkhlRUlzVTBGQlUwVXNZVUZCWVVZc1JVRkJUM0pGTEVkQlF6TkNMRWxCUVVsdlJTeEZRVTFLTEU5QlNrdHNSU3hqUVVGalJpeEpRVUV5UWl4cFFrRkJWa0VzVVVGQlowTnBSaXhKUVVGV2FrWXNSMEZCZDBKeFJTeEZRVUZOYmtNc1lVRkRkRVpyUXl4RlFVRkxMRWxCUVVsd1JDeHhRa0ZCY1VJc1VVRkJVeXhEUVVGRExGTkJRVlVzVTBGQlZTeGpRVUZsYUVJc1NVRkhkRVZ2UlN4RlFXcEpWRWtzVDBGQlQxVXNaVUZCWld4SExGTkJRVk13Uml4VlFVRlhMRmxCUVdFc1EwRkpja1JUTEZsQlFWa3NSVUZEV2tNc1NVRkJTeXhYUVVOSUxGbEJRVFJDU0N4SlFVRjRRbWhFTEV0QlFVdDVRaXhuUWtGSlJucENMRXRCUVV0NVFpeGxRVUZsVGl4WFFVVTNRbWxETEVsQlFVc3NVMEZCWVVNc1IwRkhXSEpFTEV0QlFVdDVRaXhwUWtGTlZucENMRXRCUVV0NVFpeGxRVUZsVGl4VlFVRlphME1zVFVGSGNFTjBSeXhUUVVGVE1FWXNWVUZCVlZvc1VVRkJWVzVFTEZsQlFWbHRSQ3hSUVVONlF6bEZMRk5CUVZNd1JpeFZRVUZWWVN4WFFVRmhOVVVzV1VGQldUWkZMRlZCUlRWRGVFY3NVMEZCVXpCR0xGVkJRVlZZTEZOQlFWY3NVMEZCVlRCQ0xFVkJRVXRETEVkQlF6TkRRU3hGUVVGSFJDeEpRVTlNZWtjc1UwRkJVekJHTEZWQlFWVkxMRXRCUVU4c1UwRkJWUzlGTEVWQlFVOTVSQ3hIUVVONlF5eEpRVU5KVlN4RlFVUkJSU3hGUVVGUmNFTXNTMEZCUzNsQ0xHVkJhMEpxUWl4UFFXWkxWeXhGUVVGTmJrTXNWMEZaVkdsRExFZEJRV2xDTEVWQldFa3NhVUpCUVZadVJTeExRVU5VZVVRc1JVRkJWMEVzUjBGQldWa3NSVUZCVFdoQ0xHMUNRVVZhWjBJc1JVRkJUVm9zVjBGRGNrSjZSQ3hGUVVGUlRDeFBRVUZQVFN4TFFVRkxSQ3hGUVVGUGVVUXNSMEZETTBKQkxFVkJRVmNzU1VGSFlsVXNSMEZCYVVJc1IwRk5aRVlzYVVKQlFXbENhRU1zUzBGQlRXcERMRVZCUVU5NVJDeEhRVUZWTEVWQlFVOVZMRWxCU1hoRWJrWXNVMEZCVXpCR0xGVkJRVlU1UXl4UlFVRlZMRk5CUVZVMVFpeEhRVU55UXl4UFFVRlBhVVVzYVVKQlFXbENhRU1zUzBGQlRXcERMRVZCUVU4c1RVRkJUU3hIUVVGTkxFbEJlVVZ1UkdoQ0xGTkJRVk13Uml4VlFVRlZhVUlzVTBGQlZ5eFhRVU0xUWl4UFFVRjFReXhKUVVGb1F6RkVMRXRCUVV0NVFpeGxRVUZsYkVJc1UwRkpOMEo0UkN4VFFVRlRNRVlzVlVGQlZXdENMRmxCUVdNc1UwRkJWVU1zUjBGRGNFTnlSaXhuUWtGQlpVRXNZMEZCWjBKeVFpeFJRVUZSTEcxQ1FVRnRRbkZDTEdWQlF5OUVMRWxCUVVsblJDeEZRVUZWTEVsQlFVbG9SQ3hqUVVGamNVWXNSMEZEYUVNMVJDeExRVUZMZVVJc1pVRkJaVVlzVVVGQlZVRXNSVUZGT1VKMlFpeExRVUZMZVVJc1pVRkJaVVFzVTBGQlYzaENMRXRCUVV0NVFpeGxRVUZsUml4UlFVRlJReXhUUVVzelJDeEpRVWhCTEVsQlFVbHhReXhGUVVGSk4wUXNTMEZCUzNsQ0xHVkJRV1Z5UWl4UFFVRlBNRVFzUzBGREwwSkRMRVZCUVZVc1IwRkZSQ3hQUVVGT1JpeEhRVU5NUlN4SFFVRlhlRU1zUlVGQlVXOUNMRTFCUVUxclFpeEZRVUZGUnl4TlFVTXpRa2dzUlVGQlNVRXNSVUZCUlVrc1MwRlBVaXhQUVVwQmFrVXNTMEZCUzNsQ0xHVkJRV1Z5UWl4UFFVRlBPRVFzVVVGRldDeExRVUZhU0N4SFFVRm5RaTlFTEV0QlFVdDVRaXhsUVVGbGNrSXNUMEZCVHpCRExFdEJRVXRwUWl4SFFVTndSQzlFTEV0QlFVdDVRaXhsUVVGbGFrVXNUMEZCVTNWSExFVkJRVkYyUnl4UFFVTTVRbmRETEUxQlNWUXNTVUZCU1cxRkxGRkJRVlVzVjBGRlpDeFRRVUZUUXl4M1FrRkJkMEpETEVkQlowSXZRaXhQUVdaSlFTeEhRVUZMUml4UlFVVlFSU3hGUVVGSlJpeFRRVWxLUlN4SlFVTkJRU3hIUVVGTFFTeEpRVUZOTEVWQlExaEJMRWRCUVV0QkxFbEJRVTBzUlVGRFdFRXNSMEZCUzBFc1NVRkJUU3hGUVVOWVFTeEhRVUZMUVN4SlFVRk5MRVZCUTFoQkxFZEJRVXRCTEVsQlFVMHNSMEZEV0VFc1MwRkhTMEVzUlVGTFZDeFRRVUZUUXl4alFVRmpSQ3hGUVVGSGFrTXNSMEZEZUVJc1QwRkJTV2xETEVkQlFVc3NSMEZCYzBJc1NVRkJha0pxUXl4RlFVRk5OVVVzVVVGQlowSTBSU3hGUVVGTk5VSXNUVUZCWXl4RlFVTndSRFJDTEVWQlFVMXVReXhYUVVGdFFpeEZRVVY2UW05RkxFZEJRVTFCTEVWQlJVcHFReXhGUVVGTk4wSXNVMEZCVnpaQ0xFVkJRVTAxUlN4UFFVRmxORVVzUlVGQlRXaERMRTlCUVU4d1JDeExRVUZMUlN4TFFVRkxlRWNzVDBGQmJVSTBSU3hGUVVGTk5VVXNVVUZKZUVZMlJ5eEZRVUZKYWtNc1JVRkJUV3BETEdkQ1FVRmxhVU1zUlVGQlRXcERMR05CUVdkQ2FVVXNkMEpCUVhkQ1F5eEpRVU4yUlVFc1IwRkJTMnBETEVWQlFVMDFSU3hQUVVGbE5rY3NSVUZGZWtKcVF5eEZRVUZOTlVJc1RVRkxTalJDTEVWQlFVMDFSU3hSUVVwWU5FVXNSVUZCVFhoQ0xHTkJRV1VzUlVGRFpDeEpRWE5IV0N4VFFVRlRlVUlzVjBGQlYzWkRMRVZCUVZGelF5eEhRVVV4UWl4SFFVUkJhRVVzVFVGQlRTeGxRVU5HWjBVc1JVRkJUVFZDTEUxQlFWWXNRMEZGUVN4SFFVRkpORUlzUlVGQlRXSXNVVUZCVXl4RFFVTnFRaXhKUVVGSmVFUXNSVUZCVVhGRkxFVkJRVTFpTEZGQlFWRm5SQ3hOUVVWMFFuaEhMRWRCUVZOQkxFVkJRVTFRTEZOQlEycENORVVzUlVGQlRXaERMRTlCUVU4d1F5eExRVUZMTDBVc1IwRkRiRUp4UlN4RlFVRk5OVVVzVVVGQlZUUkZMRVZCUVUxdVF5eFhRVUZoTEVWQlFVbHNReXhGUVVGTlVDeFJRVWxxUkRSRkxFVkJRVTAxUWl4UFFVRlJMRVZCUlZZMFFpeEZRVUZOZWtJc1MwRkpVbTlETEdGQlFXRnFSQ3hKUVVkaWMwTXNSVUZCVFhoQ0xHTkJRV1VzUlVGRmFFSjNRaXhGUVVGTmRrSXNhMEpCUTFSMVFpeEZRVUZOZGtJc2FVSkJRV3RDTEVWQlEzaENNa1FzWTBGQll6RkZMRTFCVVhCQ0xGTkJRVk5wUkN4aFFVRmhha1FzUjBGRGNFSXNTVUZCU1hORExFVkJRVkYwUXl4RlFVRlBNa0lzWlVGRGJrSnlSQ3hOUVVGTkxHVkJRV2RDWjBVc1JVRkJUWGhDTEdGQlFXTjNRaXhGUVVGTmRrSXNhVUpCUTJoRWRVSXNSVUZCVFhoQ0xHTkJRV1VzUlVGRmFFSjNRaXhGUVVGTmRrSXNhMEpCUTFSNlF5eE5RVUZOTEdWQlFXZENaMFVzUlVGQlRUZENMRk5CUXpWQ05rSXNSVUZCVFhaQ0xHbENRVUZyUWl4RlFVTjRRalJFTEZGQlFWRkRMRk5CUVZOR0xHTkJRV1V4UlN4SlFVbHdReXhUUVVGVE1FVXNZMEZCWXpGRkxFZEJRM0pDTEVsQlFVbHpReXhGUVVGUmRFTXNSVUZCVHpKQ0xHVkJRMjVDY2tRc1RVRkJUU3huUWtGQmFVSm5SU3hGUVVGTmFrSXNWVUZCVjJsQ0xFVkJRVTAxUlN4UFFVRlJORVVzUlVGQlRUVkNMRTlCUlhaRU5FSXNSVUZCVFdwQ0xGbEJRV05wUWl4RlFVRk5OVVVzVTBGQlZUUkZMRVZCUVUwMVFpeFJRVU0zUTFZc1JVRkJUeXRETEV0QlFVc3NXVUZEV2xRc1JVRkJUWFpDTEdsQ1FVRnJRaXhIUVZNeFFuVkNMRVZCUVUxNFFpeGpRVUZuUW5kQ0xFVkJRVTAzUWl4VlFVRlpOa0lzUlVGQlRUVkNMRTlCUVZNMFFpeEZRVUZOTlVVc1VVRkJWVFJGTEVWQlFVMXFReXhqUVVNM1JYZEZMRXRCUVVzM1JTeEhRVk5RTEZOQlFWTTRReXhqUVVGak9VTXNSVUZCVVhORExFZEJRM2hDUVN4RlFVRk5aQ3hqUVVOVVl5eEZRVUZOWkN4aFFVRmpMRVZCUTNCQ2JVUXNVVUZCVVVNc1UwRkJVMFVzWlVGQlowSTVSU3hGUVVGUmMwTXNTVUZKTjBNc1UwRkJVM2RETEdWQlFXVTVSU3hGUVVGUmMwTXNSMEYzUWpsQ0xFMUJRVkZCTEVWQlFVMHhRaXhWUVVGWk1FSXNSVUZCVFRWQ0xGRkJRVlUwUWl4RlFVRk5OVVVzVDBGQlV6UkZMRVZCUVUxcVF5eGxRVUZwUW1sRExFVkJRVTAzUWl4VFFVRTBRaXhKUVVGcVFqWkNMRVZCUVUwMVJTeFRRVUZsTEVOQlEzQklMRWxCUVVseFNDeEZRVUZOZWtNc1JVRkJUVFZGTEU5QlIyaENMRWRCUmtGWkxFMUJRVTBzZDBKQlEwNHdRaXhGUVVGUE5rSXNTMEZCU3l4SFFVTlNhMFFzU1VGQlVYcERMRVZCUVUwMVJTeFBRVU5vUWl4TlFVZEtORVVzUlVGQlRXUXNZVUZCWXl4RlFXZEtkRUlzVTBGQlUzZEVMRmxCUVZsRExFZEJRMjVDTEU5QlFVOHNWMEZEVEN4SlFVRkpNME1zUlVGQlVUSkRMRVZCUVVsMFJDeGxRVU5vUW5KRUxFMUJRVTBzWTBGQlpXZEZMRVZCUVUxbUxGbEJRM1pDWlN4RlFVRk5aaXhaUVVGWlpTeEZRVUZOWml4aFFVVklMRWxCUVhKQ1pTeEZRVUZOWml4WlFVRnZRbXBGTEdkQ1FVRm5RakpJTEVWQlFVc3NWVUZEYWtRelF5eEZRVUZOTjBJc1UwRkJWU3hGUVVOb1FtOUZMRXRCUVV0SkxFdEJjVWhZTEZOQlFWTkRMSGRDUVVGM1FrTXNSMEZETDBJc1NVRkJTVGRETEVWQlFWRTJReXhGUVVGTGVFUXNaVUZEYWtKWExFVkJRVTEwUWl4clFrRkJiMEp0UlN4RlFVRkxReXhqUVVGakxGbEJRV01zUlVGRmRrUTVReXhGUVVGTmNrSXNhMEpCUVc5Q2NVSXNSVUZCVFhCQ0xFOUJSMnhEYjBJc1JVRkJUVGRDTEZOQlFWVXNSVUZEVURCRkxFVkJRVXRETEdOQlFXTXNVVUZCVlN4SFFVTjBRMFFzUlVGQlMwVXNVMEZKVkN4VFFVRlRReXhwUWtGQmFVSklMRWRCUTNoQ04wY3NUVUZCVFN3MFFrRkRUalpITEVWQlFVdDBSQ3hMUVVGTExFZEJjVUphTEZOQlFWTjNSQ3hQUVVGUGNrWXNSVUZCVVhORExFZEJRMnBDUVN4RlFVRk5ja0lzYTBKQlExUnhRaXhGUVVGTmNrSXNhVUpCUVd0Q0xFVkJRM2hDTUVRc1VVRkJVVU1zVTBGQlUxY3NVVUZCVTNaR0xFVkJRVkZ6UXl4SlFVbDBReXhUUVVGVGFVUXNVVUZCVVhaR0xFVkJRVkZ6UXl4SFFVTjJRbWhGTEUxQlFVMHNVMEZCVldkRkxFVkJRVTB4UWl4VFFVVnFRakJDTEVWQlFVMHhRaXhUUVVOVVdpeEZRVUZQTmtJc1MwRkJTeXhIUVVka1V5eEZRVUZOY2tJc2FVSkJRV3RDTEVWQlEzaENha0lzUlVGQlR5dERMRXRCUVVzc1ZVRkRXamhDTEV0QlFVczNSU3hIUVVORWMwTXNSVUZCVFRkQ0xGVkJRVmsyUWl4RlFVRk5NVUlzVTBGQlUxb3NSVUZCVHpaQ0xFdEJRVXNzUjBGblFtNUVMRk5CUVZOblJDeExRVUZMTjBVc1IwRkRXaXhKUVVGSmMwTXNSVUZCVVhSRExFVkJRVTh5UWl4bFFVZHVRaXhKUVVaQmNrUXNUVUZCVFN4UFFVRlJaMFVzUlVGQlRUZENMRk5CUldJMlFpeEZRVUZOTjBJc1UwRkJOa0lzVDBGQmJFSlVMRVZCUVU4MlFpeFZRVFJJYWtNc1UwRkJVekpFTEZOQlFWTnFRaXhGUVVGSGFrTXNSMEZGYmtJc1QwRkJjVUlzU1VGQmFrSkJMRVZCUVUwMVJTeFBRVUZ4UWl4TlFVVXpRalJGTEVWQlFVMXVReXhYUVVGWmMwWXNSVUZCVFc1RUxFVkJRVTFvUXl4UFFVRlBiMFlzVTBGQmEwSnVRaXhIUVVGTFFTeEhRVUZMYWtNc1JVRkJUVFZGTEZGQlJYUkVLMGdzUlVGQlptNUVMRVZCUVUxaUxGRkJRV1ZoTEVWQlFVMW9ReXhQUVVGUGNVWXNTMEZCU3l4SlFVRnhReXhKUVVGNFFuSkVMRVZCUVUxb1F5eFBRVUZQTlVNc1QwRkJiMEkwUlN4RlFVRk5hRU1zVDBGQlQzTkdMRkZCUVcxQ2RFUXNSVUZCVFdoRExFOUJRVTkxUml4UFFVRlBka1FzUlVGQlRUVkZMRkZCUTI1S05FVXNSVUZCVFdoRExFOUJRVTg0UkN4VFFVZGljVUlzUlVGQlRXNUVMRVZCUVUxb1F5eFBRVUZQZDBZc1VVRkJVWFpDTEVWQlFVZHFReXhGUVVGTllpeFRRVVV2UW1kRkxFZEJWRkFzU1VGQlNVRXNSVUZaVGl4VFFVRlRUU3haUVVGWkwwWXNSMEZEYmtJc1NVRkJTWE5ETEVWQlFWRjBReXhGUVVGUE1rSXNaVUZEYmtKeVJDeE5RVUZOTEdOQlFXVm5SU3hGUVVGTk0wSXNXVUZGZEVJeVFpeEZRVUZOTTBJc1lVRkRWREpDTEVWQlFVMDFRaXhQUVVGUkxFVkJRMlJwUlN4UlFVRlJReXhUUVVGVGIwSXNZMEZCWlRGRUxFVkJRVTkwUXl4SlFVa3pReXhUUVVGVFowY3NZMEZCWXpGRUxFVkJRVTkwUXl4SFFVYzFRaXhIUVVaQk1VSXNUVUZCVFN4blFrRkJhVUpuUlN4RlFVRk5NMElzVjBGQldUSkNMRVZCUVUwMVJTeFRRVVV4UXpSRkxFVkJRVTB6UWl4WlFVRXJRaXhKUVVGcVFqSkNMRVZCUVUwMVJTeFRRVU0zUWpSRkxFVkJRVTB6UWl4WlFVRmhMRVZCUTI1Q1dDeEZRVUZQTkVJc1ZVRkJWeXhGUVVOc1FqVkNMRVZCUVU4clF5eExRVUZMTEU5QlJWSlVMRVZCUVUxc1FpeGhRVUZoTEVOQlIzSkNMRWxCUVVrMlJTeEZRVUZUYWtjc1JVRkJUMnRITEdsQ1FVVm1SQ3hIUVVGVlFTeEZRVUZQTjBVc1lVRkJaVFpGTEVWQlFVOUZMRmRCUXpGRGJrY3NSVUZCVHl0Q0xGZEJaMEptTEZOQlFWTnhSU3hSUVVGUlF5eEZRVUZKUXl4SFFVTnVRaXhKUVVGTExFbEJRVWxETEVWQlFVa3NSVUZCUjBNc1JVRkJTVWdzUlVGQlJ6TkpMRTlCUVZFMlNTeEZRVUZKUXl4RlFVRkhSQ3hKUVVOd1F5eEhRVUZKUml4RlFVRkhSU3hMUVVGUFJDeEZRVUZITEU5QlFVOURMRVZCUnpGQ0xFOUJRVkVzUlVFemRFSldkRW9zVTBGQlV6QkdMRlZCUVZWa0xFdEJRVThzVTBGQlZUQkRMRWRCUTJ4RGFrY3NUVUZCVFN4UFFVRlJhVWNzUjBGRFpFRXNSVUZCU1d0RExGTkJRVk5zUXl4RlFVRkhMRWxCUTJoQ0xFbEJRVWxxUXl4RlFVRlJjRU1zUzBGQlMzbENMR1ZCUTJJclJTeEZRVUZSYmtNc1JVRkxXaXhIUVVwVkxFbEJRVTVCTEVsQlFWTnFReXhGUVVGTmRrSXNhVUpCUVd0Q0xFZEJTVE5DTEVsQlFVNTNSQ3hIUVVGWGFrTXNSVUZCVFhoQ0xHZENRVUV3UXl4SlFVRjRRbmRDTEVWQlFVMXFReXhqUVVGelFtbERMRVZCUVUwMVJTeFJRVUZWTkVVc1JVRkJUV3BETEdOQlFXZENhVU1zUlVGQlRUVkZMRTlCUVZNc1NVRkJUVFJGTEVWQlFVMDFRaXhQUVVkc1NTeFBRVVpCY0VNc1RVRkJUU3h4UWtGQmMwSm5SU3hGUVVGTk5VVXNUMEZCVVRSRkxFVkJRVTAxUWl4UFFVTXpRaXhKUVVGcVFqUkNMRVZCUVUwMVJTeFJRVUZuUWpSRkxFVkJRVTAxUWl4TlFVRlBjVVlzV1VGQldUZEdMRTFCUVZjclF5eGhRVUZoTDBNc1RVRkRjRVVzUzBGTFZDeEhRVUZWTEV0QlJsWnhSU3hGUVVGSlF5eGpRVUZqUkN4RlFVRkhha01zUzBGRlRrRXNSVUZCVFRWQ0xFMUJSVzVDTEU5QlJIRkNMRWxCUVdwQ05FSXNSVUZCVFRWRkxGRkJRV054U1N4WlFVRlpOMFlzVFVGRE4wSXNTMEY1UWxRc1NVRTBRa2wxUml4RlFUVkNRV3RDTEVWQlFWTnlSU3hGUVVGTmVFSXNZVUZuUkc1Q0xFOUJMME5CZUVNc1RVRkJUU3huUWtGQmFVSnhTU3hKUVVWR0xFbEJRV3BDY2tVc1JVRkJUVFZGTEZGQlFXZENORVVzUlVGQlRUVkZMRTlCUVZNMlJ5eEZRVUZKYWtNc1JVRkJUV3BETEdkQ1FVVnFSQzlDTEUxQlFVMHNOa0pCUkU1eFNTeEhRVUZUTEVkQlRWQnlSU3hGUVVGTk5VSXNUMEZCVXpSQ0xFVkJRVTB4UWl4UlFVVjJRblJETEUxQlFVMHNiVUpCUkU1eFNTeEhRVUZUTEVkQlJVRkJMRWxCUTFSeVNTeE5RVUZOTEZkQlEwNW5SU3hGUVVGTk1VSXNVMEZCVlN4RlFVTm9RakJDTEVWQlFVMTZRaXhOUVVGUExFVkJSVkVzU1VGQmFrSjVRaXhGUVVGTk5VVXNVMEZCWXpSRkxFVkJRVTE0UWl4alFVRmxMRWRCUlRkRFdpeExRVUZMTkVJc1RVRkJUVkVzUlVGQlRXcERMR1ZCUldwQ2FVTXNSVUZCVFhwQ0xFMUJRVThzUlVGSFVubENMRVZCUVUweFFpeFZRVUZUTWtRc1JVRkJTVU1zWTBGQlkydERMRVZCUVU5d1JTeExRVTF1UXl4UlFVWkViVVFzUlVGQlVHeENMRVZCUVVrc1JVRkJVMmxDTEZOQlFWTnFRaXhGUVVGSGFrTXNSMEZCYTBJc1QwRkhOME5CTEVWQlFVMTRRaXhoUVVGbGQwSXNSVUZCVFRWRkxGRkJRVlUwUlN4RlFVRk5ha01zWTBGRE0wTnJSU3hGUVVGSkxFbEJSVXBxUXl4RlFVRk5OVVVzVVVGQlZUWkhMRVZCUTJoQ2FrTXNSVUZCVFdZc1YwRkJZU3hIUVVkQkxFbEJRV3BDWlN4RlFVRk5OVVVzVTBGSFNEUkZMRVZCUVUwMVFpeFJRVUZQTkVJc1JVRkJUWGhDTEdOQlFXVXNSMEZGYmtNMFJpeEpRVUZWYmtNc1IwRkJTMnBETEVWQlFVMDFRaXhQUVVGUGNVWXNXVUZCV1RkR0xFOUJSMnhETEU5QlFWSjFSaXhIUVVGamRrWXNTMEZCU3paRExFdEJRVXNzVDBGQlVUQkRMRWRCUXpkQ1FTeEhRWGRJVkhoSkxGTkJRVk13Uml4VlFVRlZZaXhOUVVGUkxGTkJRVlY1UXl4SFFVTnVRMnhHTEdWQlFXVmhMRXRCUVUwc1NVRkJTV1lzTWtKQlFUSkNMR0ZCUjNSRWJFTXNVMEZCVXpCR0xGVkJRVlZwUlN4TFFVRlBMRk5CUVZWRExFVkJRVTFETEVkQlEzaERMRWxCUVVrM1FpeEZRVUZOTDBVc1MwRkRUbTlETEVWQlFWRndReXhMUVVGTGVVSXNaVUZGYWtJc1QwRkJVVmNzUlVGQlRUbENMRmxCUTFvc1MwRkJTeXhGUVVOSU9FSXNSVUZCVFM5Q0xFMUJRVkZ6Unl4RlFVTmtMRTFCUlVZc1MwRkJTeXhGUVVOSWRrVXNSVUZCVFM5Q0xFMUJRVkVzUTBGQlF5dENMRVZCUVUwdlFpeE5RVUZQYzBjc1IwRkROVUlzVFVGRlJpeFJRVU5GZGtVc1JVRkJUUzlDTEUxQlFVMTVReXhMUVVGTE5rUXNSMEZKY2tKMlJTeEZRVUZOT1VJc1dVRkJZeXhGUVVOd1FteERMRTFCUVUwc2QwSkJRWGxDWjBVc1JVRkJUVGxDTEZkQlFWbHpSeXhIUVVOcVJDeEpRVU5KUXl4SlFVUlZSQ3hKUVVFMlFpeEpRVUZxUWtFc1JVRkJVM0pETEUxQlFXdENiME1zU1VGQlUyeERMRkZCUVZGeFF5eFJRVUZWU0N4SlFVRlRiRU1zVVVGQlVYTkRMRTlCUXpkRlF5eEZRVUZSUXl4RlFVazFRaXhUUVVGVFF5eEZRVUZUZUVZc1JVRkJWWGxHTEVkQlF6RkNMMGtzVFVGQlRTeFpRVVZHYzBRc1NVRkJZWEZFTEVkQlExaHZReXhKUVVGM1F5eEpRVUV4UWtFc1JVRkJWME1zWVVGRE0wSkVMRVZCUVZkRExGbEJRV0VzUlVGdlFqVkNhRW9zVFVGQlRTeFhRVVZPZFVrc1JVRkJTMVVzWlVGQlpTeFJRVUZUUXl4SFFVTTNRbGdzUlVGQlMxVXNaVUZCWlN4VFFVRlZSU3hIUVVNNVFsb3NSVUZCUzFVc1pVRkJaU3hSUVVGVFJ5eEhRVU0zUW1Jc1JVRkJTMVVzWlVGQlpTeFJRVUZUU1N4SFFVTTNRbVFzUlVGQlMxVXNaVUZCWlN4VFFVRlZTQ3hIUVVNNVFtNURMRVZCUVVselF5eGxRVUZsTEUxQlFVOU1MRWRCUXpGQ2FrTXNSVUZCU1hORExHVkJRV1VzVFVGQlQwb3NSMEZETVVKc1F5eEZRVUZKYzBNc1pVRkJaU3hQUVVGUlN5eEhRVU16UWtNc1IwRkJXU3hIUVUxU2RrWXNSVUZCVFdZc1dVRkJaMEp6Uml4RlFVRkxXQ3hwUWtGQmEwSlhMRVZCUVV0WUxHVkJRV1UwUWl4WFFVRlpTaXhMUVRsQ2JrWXNVMEZCVTFJc1NVRkRVRFZKTEUxQlFVMHNVMEZEVG5WSkxFVkJRVXR3UXl4TlFXaENTRzVETEVWQlFVMHpRaXhYUVVGWlowVXNVVUZCVVVNc1UwRkJVMjFETEVkQlFWazVRaXhGUVVGSk9FTXNTMEZCU3l4TlFVRlBhRUlzUjBGRGJrVkdMRVZCUVVzdlJ5eEhRVUZITEZOQlFWVnpTQ3hIUVhOQ2JFSXNTVUZCU1Uwc1JVRkJWVEZETEZsQlFWbERMRWRCUXpGQ05FSXNSVUZCU3k5SExFZEJRVWNzVVVGQlV6UklMRWRCUTJwQ0xFbEJRVWxITEVkQlFWa3NSVUYzUW1oQ0xGTkJRVk5FTEVWQlFVOHpTaXhIUVVOa1N5eE5RVUZOTEZWQlEwNHNTVUZCU1cxSUxFVkJRVTF2UWl4RlFVRkxhRVVzVFVGQlRUVkZMRWRCUTNKQ1N5eE5RVUZOTEdGQlFXTnRTQ3hKUVVWU0xFbEJRVkpCTEV0QlMzZENMRWxCUVhKQ2JrUXNSVUZCVFRsQ0xGbEJRVzlDT0VJc1JVRkJUUzlDTEZGQlFWVnpSeXhIUVVGUmRrVXNSVUZCVFRsQ0xGZEJRV0VzU1VGQmNVTXNTVUZCYUVNMFJpeFJRVUZST1VRc1JVRkJUUzlDTEUxQlFVOXpSeXhOUVVGclFtZENMRWxCUTNCSWRrb3NUVUZCVFN3NFFrRkJLMEpuUlN4RlFVRk5aaXhaUVVNelEyVXNSVUZCVFdZc1kwRkhVakJFTEVWQlFVa3JReXhUUVUxU0xGTkJRVk5NTEVWQlFWRjBSaXhIUVVObUwwUXNUVUZCVFN4VlFVRlhLMFFzUjBGRGFrSTRSU3hKUVVOQlRpeEZRVUZMVlN4bFFVRmxMRkZCUVZOSkxFZEJRMVVzU1VGQmJrTnlTeXhuUWtGQlowSjFTaXhGUVVGTkxGVkJRV2RDZUVnc1pVRkJaWGRJTEVWQlFVMTRSU3hIUVUxcVJTeFRRVUZUYlVZc1NVRkRVRmdzUlVGQlMxVXNaVUZCWlN4VFFVRlZSU3hIUVVNNVFrNHNTVUZMUml4VFFVRlRUU3hKUVVOUWJrb3NUVUZCVFN4WlFVTk9kVWtzUlVGQlMxVXNaVUZCWlN4UlFVRlRReXhIUVVNM1Frd3NTVUZMUml4VFFVRlRRU3hKUVVOUU4wa3NUVUZCVFN4VlFVTk9Na2NzUlVGQlNXdERMRTlCUVU5T0xFZEJWMklzVDBFM1JFRTFRaXhGUVVGSmJrWXNSMEZCUnl4UFFVRlJPRWdzUjBFclFtWnlTU3huUWtGQlowSnpTQ3hGUVVGTkxGRkJRVk5qTEVkQlR5OUNaQ3hGUVVGTGEwSXNTMEZCU3l4UlFVRlRVQ3hIUVZGdVFsZ3NSVUZCUzJ0Q0xFdEJRVXNzVTBGQlZVNHNSMEZSY0VKYUxFVkJRVXM1UkN4TFFVRkxMRTlCUVZGclF5eEhRVVZpTTBNc1JVRkJUVGRDTEZWQlExUnVReXhOUVVGTkxHVkJRMDR5Unl4RlFVRkpTU3hWUVVkRGQwSXNSMEZuUWxRMVNpeFRRVUZUTUVZc1ZVRkJWWGRGTEU5QlFWTXNVMEZCVlU0c1IwRkRjRU1zU1VGQlNYWkZMRVZCUVZGd1F5eExRVUZMZVVJc1pVRkRZakJHTEVWQlFXRXNRMEZEWmtNc1dVRkJXU3hIUVVka0xFZEJRWGxDTEVsQlFYSkNhRVlzUlVGQlRUbENMRmRCUVd0Q0xFOUJRVTlPTEV0QlJXNURMRWRCUVhsQ0xFbEJRWEpDYjBNc1JVRkJUVGxDTEZkQlJWSXNUMEZCU1hGSExFZEJRVkZCTEVsQlFWTjJSU3hGUVVGTkwwSXNUVUZCWTB3c1RVRkRjRU15Unl4SlFVRk5RU3hGUVVGUGRrVXNSVUZCVFM5Q0xFOUJSWGhDSzBJc1JVRkJUUzlDTEUxQlFWRXNTMEZEWkN0Q0xFVkJRVTA1UWl4WFFVRmhMRVZCUTI1Q09FSXNSVUZCVFRkQ0xGTkJRVlVzUlVGRFdtOUhMRWRCUVUxQkxFVkJRVXM1UkN4TFFVRkxMRk5CUVZVM1F5eExRVUZOYlVnc1IwRkROMEp1U0N4TlFVbFVMRWxCUVVzeVJ5eEZRVUZOTEVOQlJWUXNTVUZCU1c5Q0xFVkJRVkV6Uml4RlFVRk5MMElzVFVGRFpIZEZMRVZCUVUxNlF5eEZRVUZOT1VJc1YwRkRhRUk0UWl4RlFVRk5MMElzVFVGQlVTeExRVU5rSzBJc1JVRkJUVGxDTEZkQlFXRXNSVUZEYmtJNFFpeEZRVUZOTjBJc1UwRkJWU3hGUVVWb1FpeEpRVUZMTEVsQlFVazRSaXhGUVVGSkxFVkJRVWRCTEVWQlFVbDRRaXhGUVVGTGQwSXNTVUZEZGtJd1FpeEZRVUZOTVVJc1IwRkJSM2hFTEV0QlFVc3NVMEZCVlRkRExFdEJRVTBzUTBGRE5VSnZTQ3haUVVGWkxFbEJTV2hDTEU5QlFVOXdTQ3hMUVVsVUxFbEJRVWxuU1N4RlFVRlJPVUlzVVVGQlVUbEVMRVZCUVUwdlFpeE5RVUZQYzBjc1IwRkRha01zVDBGQlpTeEpRVUZZY1VJc1JVRkJjVUpvU1N4TlFVTjZRbTlETEVWQlFVMHZRaXhOUVVGTk5FZ3NUMEZCVDBRc1JVRkJUeXhIUVVNeFFqVkdMRVZCUVUwNVFpeFpRVUZqTEVWQlEwc3NTVUZCY2tJNFFpeEZRVUZOT1VJc1lVRkJhMEk0UWl4RlFVRk5MMElzVFVGQlVTdENMRVZCUVUwdlFpeE5RVUZOTEVsQlEzUkVjMGNzUlVGQlN6bEVMRXRCUVVzc1UwRkJWVGRETEV0QlFVMXRTQ3hIUVVOdVFtNUlMRTlCUzFScVJDeFRRVUZUTUVZc1ZVRkJWVGRETEVkQlFVc3NVMEZCVlhOSkxFVkJRVWt6U1N4SFFVTndReXhKUVVGSk5Fa3NSVUZCVFRGTExFOUJRVTluUml4VlFVRlZOME1zUjBGQlIyMURMRXRCUVVzdlFpeExRVUZOYTBrc1JVRkJTVE5KTEVkQlEzcEROa01zUlVGQlVYQkRMRXRCUVV0NVFpeGxRWFZDYWtJc1RVRnlRbGNzVTBGQlVIbEhMRWRCUjBZNVJpeEZRVUZOZEVJc2EwSkJRVzlDWkN4TFFVRkxhMFlzWTBGQll5eFpRVUZqTEVkQlJYSkRMRWxCUVd4Q09VTXNSVUZCVFRkQ0xGTkJRVzFDVUN4TFFVRkxiVVlzVlVGRGJFSXNZVUZCVUN0RExFbEJRMG81Uml4RlFVRk5NMElzV1VGQlpUSkNMRVZCUVUxMFFpeHZRa0ZET1VKelFpeEZRVUZOZEVJc2EwSkJRVzlDYzBJc1JVRkJUWGhDTEdOQlFXVXNSVUZETDBOM1FpeEZRVUZOTjBJc1UwRkJWU3hGUVVOb1FqWkNMRVZCUVUxMlFpeHBRa0ZCYTBJc1JVRkRlRUo2UXl4TlFVRk5MR05CUVdWblJTeEZRVUZOTlVVc1QwRkJVVFJGTEVWQlFVMHhRaXhUUVVWeVF6QkNMRVZCUVUwMVJTeFBRVU5TZFVZc1lVRkJZUzlETEUxQlEwaHZReXhGUVVGTk1VSXNVMEZEYUVJclJDeFJRVUZSUXl4VFFVRlRWU3hwUWtGQmEwSndSaXhSUVV0c1EyMUpMRWRCUjFSd1RDeFRRVUZUTUVZc1ZVRkJWVEpHTEZsQlFXTnlUQ3hUUVVGVE1FWXNWVUZCVlRkRExFZEJSWEJFTjBNc1UwRkJVekJHTEZWQlFWVTBSU3hsUVVGcFFpeFRRVUZWWVN4RlFVRkpNMGtzUjBGRGFFUXNTVUZCU1RSSkxFVkJRVTB4U3l4UFFVRlBaMFlzVlVGQlZUUkZMR1ZCUVdWMFJpeExRVUZMTDBJc1MwRkJUV3RKTEVWQlFVa3pTU3hIUVZsNlJDeE5RVlpYTEdGQlFWQXlTU3hIUVU5R2VrUXNVVUZCVVVNc1UwRkJVMDBzZDBKQlFYbENhRVlzVFVGSGNrTnRTU3hIUVVkVWNFd3NVMEZCVXpCR0xGVkJRVlUwUml4dFFrRkJjVUlzVTBGQlZVZ3NSMEZEYUVRc1NVRkJTVU1zUlVGQlRURkxMRTlCUVU5blJpeFZRVUZWTkVZc2JVSkJRVzFDUXl4TlFVRk5kRWtzUzBGQlRYVkpMRmRCV1RGRUxFMUJWbGNzWVVGQlVFd3NVVUZCTkVKc1JpeEpRVUZRYTBZc1IwRlBka0o2UkN4UlFVRlJReXhUUVVGVFRTeDNRa0ZCZVVKb1JpeE5RVWR5UTIxSkxFZEJkVUpVY0V3c1UwRkJVekJHTEZWQlFWVXdReXhQUVVGVExGZEJRekZDTEVsQlFVa3ZReXhGUVVGUmNFTXNTMEZCUzNsQ0xHVkJXV3BDTEU5QlZrdFhMRVZCUVUwM1FpeFZRVU5VYmtNc1RVRkJUU3hWUVVsT1owVXNSVUZCVFRkQ0xGTkJRVmMyUWl4RlFVRk5kRUlzYTBKQlEzWkNjVVVzVDBGQlQyNUdMRXRCUVUxdlF5eEpRVWRtUVN4RlFVRk5jRUlzVVVGQlV5eEZRVU5TYUVJc1RVRjFRbFJxUkN4VFFVRlRNRVlzVlVGQlZYRkdMRTFCUVZFc1YwRlZla0lzVDBGVVFURktMRTFCUVUwc2QwSkJRWGxDTkVJc1MwRkJTM2xDTEdWQlFXVnNRaXhWUVVWbUxFbEJRV2hEVUN4TFFVRkxlVUlzWlVGQlpXeENMRlZCUTNSQ2JrTXNUVUZCVFN4VFFVTk9ORUlzUzBGQlMzbENMR1ZCUVdWc1FpeFRRVUZWTEVWQlF6bENVQ3hMUVVGTE5rTXNTMEZCU3l4VlFVZGFOME1zUzBGQlMzbENMR1ZCUVdWVUxGRkJRVk1zUlVGRGRFSm9RaXhOUVdWVWFrUXNVMEZCVXpCR0xGVkJRVlVyUml4TFFVRlBMRk5CUVZVeFNTeEhRVU5zUXl4SlFVRkpNa2tzUlVGQlVYcEpMRXRCUlZKdlF5eEZRVUZSY0VNc1MwRkJTM2xDTEdWQlEySlVMRWRCUVZNc1JVRXdRbUlzU1VGQlN5eEpRVUZKY1VZc1MwRjZRbFIyUnl4RlFVRlBSaXhIUVVGSExFMUJRVThzVjBGSFppeEhRVVpCZUVJc1RVRkJUU3hsUVVWR1owVXNSVUZCVFdJc1ZVRkJXV0VzUlVGQlRUVkNMRTFCUVU4c1EwRkRha01zU1VGQlNYcERMRVZCUVZGeFJTeEZRVUZOWWl4UlFVRlJaMFFzVFVGRGRFSjRSeXhIUVVGVFFTeEZRVUZOVUN4UlFVRlJhVXdzUlVGQlRUTkdMRXRCUVVzdlJTeEhRVWQ0UXpCTExFVkJRVTB6Uml4TFFVRkxMRkZCUldKb1JDeEZRVUZQUml4SFFVRkhMRTlCUVZFc1UwRkJWVGRDTEVsQlF6RkNTeXhOUVVGTkxHZENRVU5HWjBVc1JVRkJUV0lzVlVGQlUzaEVMRVZCUVZGeFJTeEZRVUZOWWl4UlFVRlJiMElzVFVGQlRUVkZMRWxCUlRORGNVVXNSVUZCVFc1RExGbEJRV01zVFVGQlEyeERMRXRCUVhsRWNVVXNSVUZCVFc1RExGbEJRV2RDYkVNc1IwRkJWVUVzUlVGQlRWQXNWVUZGT1VkcFRDeEZRVUZOTTBZc1MwRkJTeTlGTEV0QlIyNUNhVVFzUjBGQlV5eEZRVU5VYkVJc1JVRkJUMmRKTEZsQlMwZG9TU3hQUVVOSmEwUXNTVUZCV21oRUxFdEJRVXR4Unl4SlFVRjVReXh0UWtGQlpIWkhMRVZCUVU5MVJ5eExRVU42UTNKSExFdEJRVXR4Unl4SFFVRkxMRk5CUVc5Q2NVTXNSMEZETlVJc1QwRkJUeXhYUVVOTUxFOUJRVTgxU1N4RlFVRlBORWtzUjBGQlVVb3NUVUZCVFhoSkxFVkJRVkY1U1N4WlFVWTVRaXhEUVVsU2JFTXNTVUZMVGl4SlFVRkxMRWxCUVVsb1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVscVJpeGhRVUZoTlVJc1QwRkJVVFpITEVsQlEzWkRka1VzUlVGQlQwWXNSMEZCUjFJc1lVRkJZV2xHTEVkQlFVbHlSU3hMUVVGTE5rTXNTMEZCU3poR0xFdEJRVXN6U1N4TFFVRk5XaXhoUVVGaGFVWXNTMEZqTDBRc1QwRlVRWEpGTEV0QlFVczBRaXhOUVVGUkxGTkJRVlY1UXl4SFFVTnlRbXBITEUxQlFVMHNaMEpCUVdsQ2FVY3NSMEZGYmtKeVJDeEpRVU5HUVN4SFFVRlRMRVZCUTFSc1FpeEZRVUZQY1VZc1YwRkpTbTVHTEUxQlIyRXNiVUpCUVZnMFNTeFRRVU5VTjB3c1UwRkJVekJHTEZWQlFWVnRSeXhQUVVGUFF5eGxRVUZwUWl4WFFVdDZReXhaUVVvd1F6ZEdMRWxCUVhSRGVFVXNiME5CUTBaQkxHdERRVUZ2UTNSQ0xGRkJRVkVzYzBOQlIzWkRjMElzYTBOQlFXdERkMElzVVVGSk4wTjFReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NkMEpCUVhsQ0xFTkJTV3BGVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVjBRaXhwUWtGSEwwSnZReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhVUpCUVd0Q0xFTkJTVEZFVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdkQ1FVRnJRbnBDTEV0QlFVdDVRaXhsUVVGbGNrSXNWVUZIZEVSdFF5eFBRVUZQVlN4bFFVRmxiRWNzVTBGQlV6QkdMRlZCUVZjc2EwSkJRVzFDTEVOQlNUTkVVeXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBia1FzUzBGQlMzbENMR1ZCUVdWc1FpeFRRVVUzUWpaRExFbEJRVXNzVTBGQllXaENMRWRCUTFwd1F5eExRVUZMZVVJc2FVSkJRMUI2UWl4TFFVRkxlVUlzWlVGQlpXeENMRkZCUVZVMlFpeE5RVXR3UTNKR0xGTkJRVk1yVEN4VlFVRlplRVFzVTBGRGNrSXZReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhVUpCUVd0Q0xFTkJTVEZFVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVnFSU3hWUVc5RVZDeHRRa0ZCV0c5TUxGTkJRMVEzVEN4VFFVRlRhVUlzUzBGQlR5eFRRVUZWSzBzc1JVRkJWVU1zUjBGTGJFTXNXVUZLWVdoSExFbEJRVlJvUml4UFFVTkdRU3hMUVVGUFpDeFJRVUZSTERSQ1FVZFdZeXhMUVVGTGFrSXNVMEZCVldkTkxFVkJRVlZESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmNtVmhaR0ZpYkdVdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9VHJhbnNmb3JtO3ZhciBfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9NVUxUSVBMRV9DQUxMQkFDSz1fcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORz1fcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMD1fcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAsRHVwbGV4PXJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpO2Z1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKHIsZSl7dmFyIHQ9dGhpcy5fdHJhbnNmb3JtU3RhdGU7dC50cmFuc2Zvcm1pbmc9ITE7dmFyIG49dC53cml0ZWNiO2lmKG51bGw9PT1uKXJldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0spO3Qud3JpdGVjaHVuaz1udWxsLHQud3JpdGVjYj1udWxsLG51bGwhPWUmJnRoaXMucHVzaChlKSxuKHIpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIFRyYW5zZm9ybShyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKXJldHVybiBuZXcgVHJhbnNmb3JtKHIpO0R1cGxleC5jYWxsKHRoaXMsciksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxyJiYoXCJmdW5jdGlvblwiPT10eXBlb2Ygci50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09ci50cmFuc2Zvcm0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIHIuZmx1c2gmJih0aGlzLl9mbHVzaD1yLmZsdXNoKSksdGhpcy5vbihcInByZWZpbmlzaFwiLHByZWZpbmlzaCl9ZnVuY3Rpb24gcHJlZmluaXNoKCl7dmFyIHI9dGhpcztcImZ1bmN0aW9uXCIhPXR5cGVvZiB0aGlzLl9mbHVzaHx8dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ/ZG9uZSh0aGlzLG51bGwsbnVsbCk6dGhpcy5fZmx1c2goZnVuY3Rpb24oZSx0KXtkb25lKHIsZSx0KX0pfWZ1bmN0aW9uIGRvbmUocixlLHQpe2lmKGUpcmV0dXJuIHIuZW1pdChcImVycm9yXCIsZSk7aWYobnVsbCE9dCYmci5wdXNoKHQpLHIuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7aWYoci5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HO3JldHVybiByLnB1c2gobnVsbCl9cmVxdWlyZShcImluaGVyaXRzXCIpKFRyYW5zZm9ybSxEdXBsZXgpLFRyYW5zZm9ybS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihyLGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPSExLER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMscixlKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHIsZSx0KXt0KG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRChcIl90cmFuc2Zvcm0oKVwiKSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKHIsZSx0KXt2YXIgbj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtpZihuLndyaXRlY2I9dCxuLndyaXRlY2h1bms9cixuLndyaXRlZW5jb2Rpbmc9ZSwhbi50cmFuc2Zvcm1pbmcpe3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7KG4ubmVlZFRyYW5zZm9ybXx8aS5uZWVkUmVhZGFibGV8fGkubGVuZ3RoPGkuaGlnaFdhdGVyTWFyaykmJnRoaXMuX3JlYWQoaS5oaWdoV2F0ZXJNYXJrKX19LFRyYW5zZm9ybS5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24ocil7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PWUud3JpdGVjaHVua3x8ZS50cmFuc2Zvcm1pbmc/ZS5uZWVkVHJhbnNmb3JtPSEwOihlLnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0oZS53cml0ZWNodW5rLGUud3JpdGVlbmNvZGluZyxlLmFmdGVyVHJhbnNmb3JtKSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24ocixlKXtEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxyLGZ1bmN0aW9uKHIpe2Uocil9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZkSEpoYm5ObWIzSnRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSlVjbUZ1YzJadmNtMGlMQ0pmY21WeGRXbHlaU1JqYjJSbGN5SXNJbkpsY1hWcGNtVWlMQ0pqYjJSbGN5SXNJa1ZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVJaXdpUlZKU1gwMVZURlJKVUV4RlgwTkJURXhDUVVOTElpd2lSVkpTWDFSU1FVNVRSazlTVFY5QlRGSkZRVVJaWDFSU1FVNVRSazlTVFVsT1J5SXNJa1ZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ0lzSWtSMWNHeGxlQ0lzSW1GbWRHVnlWSEpoYm5ObWIzSnRJaXdpWlhJaUxDSmtZWFJoSWl3aWRITWlMQ0owYUdseklpd2lYM1J5WVc1elptOXliVk4wWVhSbElpd2lkSEpoYm5ObWIzSnRhVzVuSWl3aVkySWlMQ0ozY21sMFpXTmlJaXdpWlcxcGRDSXNJbmR5YVhSbFkyaDFibXNpTENKd2RYTm9JaXdpY25NaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0luSmxZV1JwYm1jaUxDSnVaV1ZrVW1WaFpHRmliR1VpTENKc1pXNW5kR2dpTENKb2FXZG9WMkYwWlhKTllYSnJJaXdpWDNKbFlXUWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbUpwYm1RaUxDSnVaV1ZrVkhKaGJuTm1iM0p0SWl3aWQzSnBkR1ZsYm1OdlpHbHVaeUlzSW5ONWJtTWlMQ0owY21GdWMyWnZjbTBpTENKZmRISmhibk5tYjNKdElpd2labXgxYzJnaUxDSmZabXgxYzJnaUxDSnZiaUlzSW5CeVpXWnBibWx6YUNJc0lsOTBhR2x6SWl3aVpHVnpkSEp2ZVdWa0lpd2laRzl1WlNJc0luTjBjbVZoYlNJc0lsOTNjbWwwWVdKc1pWTjBZWFJsSWl3aWNISnZkRzkwZVhCbElpd2lZMmgxYm1zaUxDSmxibU52WkdsdVp5SXNJbDkzY21sMFpTSXNJbTRpTENKZlpHVnpkSEp2ZVNJc0ltVnljaUlzSW1WeWNqSWlYU3dpYldGd2NHbHVaM01pT2lKQlFUWkVRU3hoUVVWQlFTeFBRVUZQUXl4UlFVRlZReXhWUVVWcVFpeEpRVUZKUXl4bFFVRnBRa01zVVVGQlVTeGhRVUZoUXl4TlFVTjBRME1zTWtKQlFUWkNTQ3hsUVVGbFJ5d3lRa0ZETlVORExITkNRVUYzUWtvc1pVRkJaVWtzYzBKQlEzWkRReXh0UTBGQmNVTk1MR1ZCUVdWTExHMURRVU53UkVNc05FSkJRVGhDVGl4bFFVRmxUU3cwUWtGRk4wTkRMRTlCUVZOT0xGRkJRVkVzYjBKQlNYSkNMRk5CUVZOUExHVkJRV1ZETEVWQlFVbERMRWRCUXpGQ0xFbEJRVWxETEVWQlFVdERMRXRCUVV0RExHZENRVU5rUml4RlFVRkhSeXhqUVVGbExFVkJRMnhDTEVsQlFVbERMRVZCUVV0S0xFVkJRVWRMTEZGQlJWb3NSMEZCVnl4UFFVRlFSQ3hGUVVOR0xFOUJRVTlJTEV0QlFVdExMRXRCUVVzc1VVRkJVeXhKUVVGSllpeDFRa0ZIYUVOUExFVkJRVWRQTEZkQlFXRXNTMEZEYUVKUUxFVkJRVWRMTEZGQlFWVXNTMEZEUkN4TlFVRlNUaXhIUVVOR1JTeExRVUZMVHl4TFFVRkxWQ3hIUVVOYVN5eEZRVUZIVGl4SFFVTklMRWxCUVVsWExFVkJRVXRTTEV0QlFVdFRMR1ZCUTJSRUxFVkJRVWRGTEZOQlFWVXNSMEZGVkVZc1JVRkJSMGNzWTBGQlowSklMRVZCUVVkSkxFOUJRVk5LTEVWQlFVZExMR2RDUVVOd1EySXNTMEZCUzJNc1RVRkJUVTRzUlVGQlIwc3NaVUZKYkVJc1UwRkJVekZDTEZWQlFWVTBRaXhIUVVOcVFpeExRVUZOWml4blFrRkJaMEppTEZkQlFWa3NUMEZCVHl4SlFVRkpRU3hWUVVGVk5FSXNSMEZEZGtSd1FpeFBRVUZQY1VJc1MwRkJTMmhDTEV0QlFVMWxMRWRCUTJ4Q1ppeExRVUZMUXl4blFrRkJhMElzUTBGRGNrSk1MR1ZCUVdkQ1FTeGxRVUZsY1VJc1MwRkJTMnBDTEUxQlEzQkRhMElzWlVGQlpTeEZRVU5tYUVJc1kwRkJZeXhGUVVOa1JTeFJRVUZUTEV0QlExUkZMRmRCUVZrc1MwRkRXbUVzWTBGQlpTeE5RVWRxUW01Q0xFdEJRVXRUTEdWQlFXVkZMR05CUVdVc1JVRkpia05ZTEV0QlFVdFRMR1ZCUVdWWExFMUJRVThzUlVGRmRrSk1MRWxCUXl0Q0xHMUNRVUYwUWtFc1JVRkJVVTBzV1VGQk1FSnlRaXhMUVVGTGMwSXNWMEZCWVZBc1JVRkJVVTBzVjBGRE1VTXNiVUpCUVd4Q1RpeEZRVUZSVVN4UlFVRnpRblpDTEV0QlFVdDNRaXhQUVVGVFZDeEZRVUZSVVN4UlFVbHFSWFpDTEV0QlFVdDVRaXhIUVVGSExGbEJRV0ZETEZkQlIzWkNMRk5CUVZOQkxGbEJRMUFzU1VGQlNVTXNSVUZCVVROQ0xFdEJSV1VzYlVKQlFXaENRU3hMUVVGTGQwSXNVVUZCTUVKNFFpeExRVUZMVXl4bFFVRmxiVUlzVlVGTE5VUkRMRXRCUVVzM1FpeExRVUZOTEV0QlFVMHNUVUZLYWtKQkxFdEJRVXQzUWl4UFFVRlBMRk5CUVZVelFpeEZRVUZKUXl4SFFVTjRRaXRDTEV0QlFVdEdMRVZCUVU4NVFpeEZRVUZKUXl4TFFUWkVkRUlzVTBGQlV5dENMRXRCUVV0RExFVkJRVkZxUXl4RlFVRkpReXhIUVVONFFpeEhRVUZKUkN4RlFVRkpMRTlCUVU5cFF5eEZRVUZQZWtJc1MwRkJTeXhSUVVGVFVpeEhRVTF3UXl4SFFVeFpMRTFCUVZKRExFZEJRMFpuUXl4RlFVRlBka0lzUzBGQlMxUXNSMEZKVm1kRExFVkJRVTlETEdWQlFXVnVRaXhQUVVGUkxFMUJRVTBzU1VGQlNXeENMRFJDUVVNMVF5eEhRVUZKYjBNc1JVRkJUemRDTEdkQ1FVRm5Ra01zWVVGQll5eE5RVUZOTEVsQlFVbFVMRzFEUVVOdVJDeFBRVUZQY1VNc1JVRkJUM1pDTEV0QlFVc3NUVUU1U0hKQ2JFSXNVVUZCVVN4WFFVRlNRU3hEUVVGdlFrWXNWVUZCVjFFc1VVRXJSQzlDVWl4VlFVRlZOa01zVlVGQlZYcENMRXRCUVU4c1UwRkJWVEJDTEVWQlFVOURMRWRCUlRGRExFOUJSRUZzUXl4TFFVRkxReXhuUWtGQlowSnBRaXhsUVVGblFpeEZRVU01UW5aQ0xFOUJRVTl4UXl4VlFVRlZla0lzUzBGQlMxTXNTMEZCUzJoQ0xFdEJRVTFwUXl4RlFVRlBReXhKUVdGcVJDOURMRlZCUVZVMlF5eFZRVUZWVml4WFFVRmhMRk5CUVZWWExFVkJRVTlETEVWQlFWVXZRaXhIUVVNeFJFRXNSVUZCUnl4SlFVRkpXaXd5UWtGQk1rSXNhMEpCUjNCRFNpeFZRVUZWTmtNc1ZVRkJWVWNzVDBGQlV5eFRRVUZWUml4RlFVRlBReXhGUVVGVkwwSXNSMEZEZEVRc1NVRkJTVW9zUlVGQlMwTXNTMEZCUzBNc1owSkJTMlFzUjBGS1FVWXNSVUZCUjBzc1VVRkJWVVFzUlVGRFlrb3NSVUZCUjA4c1YwRkJZVEpDTEVWQlEyaENiRU1zUlVGQlIyOUNMR05CUVdkQ1pTeEhRVVZrYmtNc1JVRkJSMGNzWVVGQll5eERRVU53UWl4SlFVRkpUU3hGUVVGTFVpeExRVUZMVXl4blFrRkRWbFlzUlVGQlIyMUNMR1ZCUVdsQ1ZpeEZRVUZIUnl4alFVRm5Ra2dzUlVGQlIwa3NUMEZCVTBvc1JVRkJSMHNzWjBKQlFXVmlMRXRCUVV0akxFMUJRVTFPTEVWQlFVZExMR2xDUVU4elJqRkNMRlZCUVZVMlF5eFZRVUZWYkVJc1RVRkJVU3hUUVVGVmMwSXNSMEZEY0VNc1NVRkJTWEpETEVWQlFVdERMRXRCUVV0RExHZENRVVZSTEU5QlFXeENSaXhGUVVGSFR5eFpRVUYzUWxBc1JVRkJSMGNzWVVGUGFFTklMRVZCUVVkdFFpeGxRVUZuUWl4SFFVNXVRbTVDTEVWQlFVZEhMR05CUVdVc1JVRkZiRUpHTEV0QlFVdHpRaXhYUVVGWGRrSXNSVUZCUjA4c1YwRkJXVkFzUlVGQlIyOUNMR05CUVdWd1FpeEZRVUZIU0N4clFrRlJlRVJVTEZWQlFWVTJReXhWUVVGVlN5eFRRVUZYTEZOQlFWVkRMRVZCUVV0dVF5eEhRVU0xUTFJc1QwRkJUM0ZETEZWQlFWVkxMRk5CUVZOeVFpeExRVUZMYUVJc1MwRkJUWE5ETEVWQlFVc3NVMEZCVlVNc1IwRkRiRVJ3UXl4RlFVRkhiME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk4dWJuWnRMM1psY25OcGIyNXpMMjV2WkdVdmRqRXlMakl3TGpBdmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5MGNtRnVjMlp2Y20wdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gV3JpdGVSZXEoZSx0LHIpe3RoaXMuY2h1bms9ZSx0aGlzLmVuY29kaW5nPXQsdGhpcy5jYWxsYmFjaz1yLHRoaXMubmV4dD1udWxsfWZ1bmN0aW9uIENvcmtlZFJlcXVlc3QoZSl7dmFyIHQ9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXtvbkNvcmtlZEZpbmlzaCh0LGUpfX12YXIgRHVwbGV4O21vZHVsZS5leHBvcnRzPVdyaXRhYmxlLFdyaXRhYmxlLldyaXRhYmxlU3RhdGU9V3JpdGFibGVTdGF0ZTt2YXIgaW50ZXJuYWxVdGlsPXtkZXByZWNhdGU6cmVxdWlyZShcInV0aWwtZGVwcmVjYXRlXCIpfSxTdHJlYW09cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW1cIiksQnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIikuQnVmZmVyLE91clVpbnQ4QXJyYXk9Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBCdWZmZXIuZnJvbShlKX1mdW5jdGlvbiBfaXNVaW50OEFycmF5KGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5fXZhciByZWFsSGFzSW5zdGFuY2UsZGVzdHJveUltcGw9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95XCIpLF9yZXF1aXJlPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RhdGVcIiksZ2V0SGlnaFdhdGVyTWFyaz1fcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrLF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX0lOVkFMSURfQVJHX1RZUEU9X3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQ9X3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsRVJSX01VTFRJUExFX0NBTExCQUNLPV9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxFUlJfU1RSRUFNX0NBTk5PVF9QSVBFPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUsRVJSX1NUUkVBTV9ERVNUUk9ZRUQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQsRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUz1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX05VTExfVkFMVUVTLEVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5ELEVSUl9VTktOT1dOX0VOQ09ESU5HPV9yZXF1aXJlJGNvZGVzLkVSUl9VTktOT1dOX0VOQ09ESU5HLGVycm9yT3JEZXN0cm95PWRlc3Ryb3lJbXBsLmVycm9yT3JEZXN0cm95O2Z1bmN0aW9uIG5vcCgpe31mdW5jdGlvbiBXcml0YWJsZVN0YXRlKGUsdCxyKXtEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSxlPWV8fHt9LFwiYm9vbGVhblwiIT10eXBlb2YgciYmKHI9dCBpbnN0YW5jZW9mIER1cGxleCksdGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlLHImJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUud3JpdGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9Z2V0SGlnaFdhdGVyTWFyayh0aGlzLGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIixyKSx0aGlzLmZpbmFsQ2FsbGVkPSExLHRoaXMubmVlZERyYWluPSExLHRoaXMuZW5kaW5nPSExLHRoaXMuZW5kZWQ9ITEsdGhpcy5maW5pc2hlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMTt2YXIgaT0hMT09PWUuZGVjb2RlU3RyaW5nczt0aGlzLmRlY29kZVN0cmluZ3M9IWksdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiLHRoaXMubGVuZ3RoPTAsdGhpcy53cml0aW5nPSExLHRoaXMuY29ya2VkPTAsdGhpcy5zeW5jPSEwLHRoaXMuYnVmZmVyUHJvY2Vzc2luZz0hMSx0aGlzLm9ud3JpdGU9ZnVuY3Rpb24oZSl7b253cml0ZSh0LGUpfSx0aGlzLndyaXRlY2I9bnVsbCx0aGlzLndyaXRlbGVuPTAsdGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLnBlbmRpbmdjYj0wLHRoaXMucHJlZmluaXNoZWQ9ITEsdGhpcy5lcnJvckVtaXR0ZWQ9ITEsdGhpcy5lbWl0Q2xvc2U9ITEhPT1lLmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveSx0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTAsdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodGhpcyl9ZnVuY3Rpb24gV3JpdGFibGUoZSl7dmFyIHQ9dGhpcyBpbnN0YW5jZW9mKER1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpKTtpZighdCYmIXJlYWxIYXNJbnN0YW5jZS5jYWxsKFdyaXRhYmxlLHRoaXMpKXJldHVybiBuZXcgV3JpdGFibGUoZSk7dGhpcy5fd3JpdGFibGVTdGF0ZT1uZXcgV3JpdGFibGVTdGF0ZShlLHRoaXMsdCksdGhpcy53cml0YWJsZT0hMCxlJiYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS53cml0ZSYmKHRoaXMuX3dyaXRlPWUud3JpdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUud3JpdGV2JiYodGhpcy5fd3JpdGV2PWUud3JpdGV2KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5maW5hbCYmKHRoaXMuX2ZpbmFsPWUuZmluYWwpKSxTdHJlYW0uY2FsbCh0aGlzKX1mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKGUsdCl7dmFyIHI9bmV3IEVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EO2Vycm9yT3JEZXN0cm95KGUscikscHJvY2Vzcy5uZXh0VGljayh0LHIpfWZ1bmN0aW9uIHZhbGlkQ2h1bmsoZSx0LHIsaSl7dmFyIG47cmV0dXJuIG51bGw9PT1yP249bmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVM6XCJzdHJpbmdcIj09dHlwZW9mIHJ8fHQub2JqZWN0TW9kZXx8KG49bmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiXSxyKSksIW58fChlcnJvck9yRGVzdHJveShlLG4pLHByb2Nlc3MubmV4dFRpY2soaSxuKSwhMSl9ZnVuY3Rpb24gZGVjb2RlQ2h1bmsoZSx0LHIpe3JldHVybiBlLm9iamVjdE1vZGV8fCExPT09ZS5kZWNvZGVTdHJpbmdzfHxcInN0cmluZ1wiIT10eXBlb2YgdHx8KHQ9QnVmZmVyLmZyb20odCxyKSksdH1mdW5jdGlvbiB3cml0ZU9yQnVmZmVyKGUsdCxyLGksbixvKXtpZighcil7dmFyIHM9ZGVjb2RlQ2h1bmsodCxpLG4pO2khPT1zJiYocj0hMCxuPVwiYnVmZmVyXCIsaT1zKX12YXIgYT10Lm9iamVjdE1vZGU/MTppLmxlbmd0aDt0Lmxlbmd0aCs9YTt2YXIgdT10Lmxlbmd0aDx0LmhpZ2hXYXRlck1hcms7aWYodXx8KHQubmVlZERyYWluPSEwKSx0LndyaXRpbmd8fHQuY29ya2VkKXt2YXIgZj10Lmxhc3RCdWZmZXJlZFJlcXVlc3Q7dC5sYXN0QnVmZmVyZWRSZXF1ZXN0PXtjaHVuazppLGVuY29kaW5nOm4saXNCdWY6cixjYWxsYmFjazpvLG5leHQ6bnVsbH0sZj9mLm5leHQ9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0OnQuYnVmZmVyZWRSZXF1ZXN0PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdCx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50Kz0xfWVsc2UgZG9Xcml0ZShlLHQsITEsYSxpLG4sbyk7cmV0dXJuIHV9ZnVuY3Rpb24gZG9Xcml0ZShlLHQscixpLG4sbyxzKXt0LndyaXRlbGVuPWksdC53cml0ZWNiPXMsdC53cml0aW5nPSEwLHQuc3luYz0hMCx0LmRlc3Ryb3llZD90Lm9ud3JpdGUobmV3IEVSUl9TVFJFQU1fREVTVFJPWUVEKFwid3JpdGVcIikpOnI/ZS5fd3JpdGV2KG4sdC5vbndyaXRlKTplLl93cml0ZShuLG8sdC5vbndyaXRlKSx0LnN5bmM9ITF9ZnVuY3Rpb24gb253cml0ZUVycm9yKGUsdCxyLGksbil7LS10LnBlbmRpbmdjYixyPyhwcm9jZXNzLm5leHRUaWNrKG4saSkscHJvY2Vzcy5uZXh0VGljayhmaW5pc2hNYXliZSxlLHQpLGUuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLGVycm9yT3JEZXN0cm95KGUsaSkpOihuKGkpLGUuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLGVycm9yT3JEZXN0cm95KGUsaSksZmluaXNoTWF5YmUoZSx0KSl9ZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKGUpe2Uud3JpdGluZz0hMSxlLndyaXRlY2I9bnVsbCxlLmxlbmd0aC09ZS53cml0ZWxlbixlLndyaXRlbGVuPTB9ZnVuY3Rpb24gb253cml0ZShlLHQpe3ZhciByPWUuX3dyaXRhYmxlU3RhdGUsaT1yLnN5bmMsbj1yLndyaXRlY2I7aWYoXCJmdW5jdGlvblwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRVJSX01VTFRJUExFX0NBTExCQUNLO2lmKG9ud3JpdGVTdGF0ZVVwZGF0ZShyKSx0KW9ud3JpdGVFcnJvcihlLHIsaSx0LG4pO2Vsc2V7dmFyIG89bmVlZEZpbmlzaChyKXx8ZS5kZXN0cm95ZWQ7b3x8ci5jb3JrZWR8fHIuYnVmZmVyUHJvY2Vzc2luZ3x8IXIuYnVmZmVyZWRSZXF1ZXN0fHxjbGVhckJ1ZmZlcihlLHIpLGk/cHJvY2Vzcy5uZXh0VGljayhhZnRlcldyaXRlLGUscixvLG4pOmFmdGVyV3JpdGUoZSxyLG8sbil9fWZ1bmN0aW9uIGFmdGVyV3JpdGUoZSx0LHIsaSl7cnx8b253cml0ZURyYWluKGUsdCksdC5wZW5kaW5nY2ItLSxpKCksZmluaXNoTWF5YmUoZSx0KX1mdW5jdGlvbiBvbndyaXRlRHJhaW4oZSx0KXswPT09dC5sZW5ndGgmJnQubmVlZERyYWluJiYodC5uZWVkRHJhaW49ITEsZS5lbWl0KFwiZHJhaW5cIikpfWZ1bmN0aW9uIGNsZWFyQnVmZmVyKGUsdCl7dC5idWZmZXJQcm9jZXNzaW5nPSEwO3ZhciByPXQuYnVmZmVyZWRSZXF1ZXN0O2lmKGUuX3dyaXRldiYmciYmci5uZXh0KXt2YXIgaT10LmJ1ZmZlcmVkUmVxdWVzdENvdW50LG49bmV3IEFycmF5KGkpLG89dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7by5lbnRyeT1yO2Zvcih2YXIgcz0wLGE9ITA7cjspbltzXT1yLHIuaXNCdWZ8fChhPSExKSxyPXIubmV4dCxzKz0xO24uYWxsQnVmZmVycz1hLGRvV3JpdGUoZSx0LCEwLHQubGVuZ3RoLG4sXCJcIixvLmZpbmlzaCksdC5wZW5kaW5nY2IrKyx0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCxvLm5leHQ/KHQuY29ya2VkUmVxdWVzdHNGcmVlPW8ubmV4dCxvLm5leHQ9bnVsbCk6dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodCksdC5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7Zm9yKDtyOyl7dmFyIHU9ci5jaHVuayxmPXIuZW5jb2RpbmcsbD1yLmNhbGxiYWNrO2lmKGRvV3JpdGUoZSx0LCExLHQub2JqZWN0TW9kZT8xOnUubGVuZ3RoLHUsZixsKSxyPXIubmV4dCx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50LS0sdC53cml0aW5nKWJyZWFrfW51bGw9PT1yJiYodC5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwpfXQuYnVmZmVyZWRSZXF1ZXN0PXIsdC5idWZmZXJQcm9jZXNzaW5nPSExfWZ1bmN0aW9uIG5lZWRGaW5pc2goZSl7cmV0dXJuIGUuZW5kaW5nJiYwPT09ZS5sZW5ndGgmJm51bGw9PT1lLmJ1ZmZlcmVkUmVxdWVzdCYmIWUuZmluaXNoZWQmJiFlLndyaXRpbmd9ZnVuY3Rpb24gY2FsbEZpbmFsKGUsdCl7ZS5fZmluYWwoZnVuY3Rpb24ocil7dC5wZW5kaW5nY2ItLSxyJiZlcnJvck9yRGVzdHJveShlLHIpLHQucHJlZmluaXNoZWQ9ITAsZS5lbWl0KFwicHJlZmluaXNoXCIpLGZpbmlzaE1heWJlKGUsdCl9KX1mdW5jdGlvbiBwcmVmaW5pc2goZSx0KXt0LnByZWZpbmlzaGVkfHx0LmZpbmFsQ2FsbGVkfHwoXCJmdW5jdGlvblwiIT10eXBlb2YgZS5fZmluYWx8fHQuZGVzdHJveWVkPyh0LnByZWZpbmlzaGVkPSEwLGUuZW1pdChcInByZWZpbmlzaFwiKSk6KHQucGVuZGluZ2NiKyssdC5maW5hbENhbGxlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGNhbGxGaW5hbCxlLHQpKSl9ZnVuY3Rpb24gZmluaXNoTWF5YmUoZSx0KXt2YXIgcj1uZWVkRmluaXNoKHQpO2lmKHImJihwcmVmaW5pc2goZSx0KSwwPT09dC5wZW5kaW5nY2ImJih0LmZpbmlzaGVkPSEwLGUuZW1pdChcImZpbmlzaFwiKSx0LmF1dG9EZXN0cm95KSkpe3ZhciBpPWUuX3JlYWRhYmxlU3RhdGU7KCFpfHxpLmF1dG9EZXN0cm95JiZpLmVuZEVtaXR0ZWQpJiZlLmRlc3Ryb3koKX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRXcml0YWJsZShlLHQscil7dC5lbmRpbmc9ITAsZmluaXNoTWF5YmUoZSx0KSxyJiYodC5maW5pc2hlZD9wcm9jZXNzLm5leHRUaWNrKHIpOmUub25jZShcImZpbmlzaFwiLHIpKSx0LmVuZGVkPSEwLGUud3JpdGFibGU9ITF9ZnVuY3Rpb24gb25Db3JrZWRGaW5pc2goZSx0LHIpe3ZhciBpPWUuZW50cnk7Zm9yKGUuZW50cnk9bnVsbDtpOyl7dmFyIG49aS5jYWxsYmFjazt0LnBlbmRpbmdjYi0tLG4ociksaT1pLm5leHR9dC5jb3JrZWRSZXF1ZXN0c0ZyZWUubmV4dD1lfXJlcXVpcmUoXCJpbmhlcml0c1wiKShXcml0YWJsZSxTdHJlYW0pLFdyaXRhYmxlU3RhdGUucHJvdG90eXBlLmdldEJ1ZmZlcj1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmJ1ZmZlcmVkUmVxdWVzdCx0PVtdO2U7KXQucHVzaChlKSxlPWUubmV4dDtyZXR1cm4gdH0sZnVuY3Rpb24oKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlU3RhdGUucHJvdG90eXBlLFwiYnVmZmVyXCIse2dldDppbnRlcm5hbFV0aWwuZGVwcmVjYXRlKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCl9LFwiX3dyaXRhYmxlU3RhdGUuYnVmZmVyIGlzIGRlcHJlY2F0ZWQuIFVzZSBfd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIgaW5zdGVhZC5cIixcIkRFUDAwMDNcIil9KX1jYXRjaChlKXt9fSgpLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmhhc0luc3RhbmNlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8ocmVhbEhhc0luc3RhbmNlPUZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEhcmVhbEhhc0luc3RhbmNlLmNhbGwodGhpcyxlKXx8dGhpcz09PVdyaXRhYmxlJiYoZSYmZS5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIFdyaXRhYmxlU3RhdGUpfX0pKTpyZWFsSGFzSW5zdGFuY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzfSxXcml0YWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe2Vycm9yT3JEZXN0cm95KHRoaXMsbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUpfSxXcml0YWJsZS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGUsbj0hMSxvPSFpLm9iamVjdE1vZGUmJl9pc1VpbnQ4QXJyYXkoZSk7cmV0dXJuIG8mJiFCdWZmZXIuaXNCdWZmZXIoZSkmJihlPV91aW50OEFycmF5VG9CdWZmZXIoZSkpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHQmJihyPXQsdD1udWxsKSxvP3Q9XCJidWZmZXJcIjp0fHwodD1pLmRlZmF1bHRFbmNvZGluZyksXCJmdW5jdGlvblwiIT10eXBlb2YgciYmKHI9bm9wKSxpLmVuZGluZz93cml0ZUFmdGVyRW5kKHRoaXMscik6KG98fHZhbGlkQ2h1bmsodGhpcyxpLGUscikpJiYoaS5wZW5kaW5nY2IrKyxuPXdyaXRlT3JCdWZmZXIodGhpcyxpLG8sZSx0LHIpKSxufSxXcml0YWJsZS5wcm90b3R5cGUuY29yaz1mdW5jdGlvbigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuY29ya2VkKyt9LFdyaXRhYmxlLnByb3RvdHlwZS51bmNvcms9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl93cml0YWJsZVN0YXRlO2UuY29ya2VkJiYoZS5jb3JrZWQtLSxlLndyaXRpbmd8fGUuY29ya2VkfHxlLmJ1ZmZlclByb2Nlc3Npbmd8fCFlLmJ1ZmZlcmVkUmVxdWVzdHx8Y2xlYXJCdWZmZXIodGhpcyxlKSl9LFdyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJihlPWUudG9Mb3dlckNhc2UoKSksIShbXCJoZXhcIixcInV0ZjhcIixcInV0Zi04XCIsXCJhc2NpaVwiLFwiYmluYXJ5XCIsXCJiYXNlNjRcIixcInVjczJcIixcInVjcy0yXCIsXCJ1dGYxNmxlXCIsXCJ1dGYtMTZsZVwiLFwicmF3XCJdLmluZGV4T2YoKGUrXCJcIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlKTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9ZSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxXcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKGUsdCxyKXtyKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRChcIl93cml0ZSgpXCIpKX0sV3JpdGFibGUucHJvdG90eXBlLl93cml0ZXY9bnVsbCxXcml0YWJsZS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlO3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGU/KHI9ZSxlPW51bGwsdD1udWxsKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiB0JiYocj10LHQ9bnVsbCksbnVsbCE9ZSYmdGhpcy53cml0ZShlLHQpLGkuY29ya2VkJiYoaS5jb3JrZWQ9MSx0aGlzLnVuY29yaygpKSxpLmVuZGluZ3x8ZW5kV3JpdGFibGUodGhpcyxpLHIpLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLFdyaXRhYmxlLnByb3RvdHlwZS5kZXN0cm95PWRlc3Ryb3lJbXBsLmRlc3Ryb3ksV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9ZGVzdHJveUltcGwudW5kZXN0cm95LFdyaXRhYmxlLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3QoZSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmZDNKcGRHRmliR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lWM0pwZEdWU1pYRWlMQ0pqYUhWdWF5SXNJbVZ1WTI5a2FXNW5JaXdpWTJJaUxDSjBhR2x6SWl3aVkyRnNiR0poWTJzaUxDSnVaWGgwSWl3aVEyOXlhMlZrVW1WeGRXVnpkQ0lzSW5OMFlYUmxJaXdpWDNSb2FYTWlMQ0psYm5SeWVTSXNJbVpwYm1semFDSXNJbTl1UTI5eWEyVmtSbWx1YVhOb0lpd2lSSFZ3YkdWNElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbGR5YVhSaFlteGxJaXdpVjNKcGRHRmliR1ZUZEdGMFpTSXNJbWx1ZEdWeWJtRnNWWFJwYkNJc0ltUmxjSEpsWTJGMFpTSXNJbkpsY1hWcGNtVWlMQ0pUZEhKbFlXMGlMQ0pDZFdabVpYSWlMQ0pQZFhKVmFXNTBPRUZ5Y21GNUlpd2laMnh2WW1Gc0lpd2lWV2x1ZERoQmNuSmhlU0lzSWw5MWFXNTBPRUZ5Y21GNVZHOUNkV1ptWlhJaUxDSm1jbTl0SWl3aVgybHpWV2x1ZERoQmNuSmhlU0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpY21WaGJFaGhjMGx1YzNSaGJtTmxJaXdpWkdWemRISnZlVWx0Y0d3aUxDSmZjbVZ4ZFdseVpTSXNJbWRsZEVocFoyaFhZWFJsY2sxaGNtc2lMQ0pmY21WeGRXbHlaU1JqYjJSbGN5SXNJbU52WkdWeklpd2lSVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVpTENKRlVsSmZUVVZVU0U5RVgwNVBWRjlKVFZCTVJVMUZUbFJGUkNJc0lrVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeUlzSWtWU1VsOVRWRkpGUVUxZlEwRk9UazlVWDFCSlVFVWlMQ0pGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNJc0lrVlNVbDlUVkZKRlFVMWZUbFZNVEY5V1FVeFZSVk1pTENKRlVsSmZVMVJTUlVGTlgxZFNTVlJGWDBGR1ZFVlNYMFZPUkNJc0lrVlNVbDlWVGt0T1QxZE9YMFZPUTA5RVNVNUhJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0p1YjNBaUxDSnZjSFJwYjI1eklpd2ljM1J5WldGdElpd2lhWE5FZFhCc1pYZ2lMQ0p2WW1wbFkzUk5iMlJsSWl3aWQzSnBkR0ZpYkdWUFltcGxZM1JOYjJSbElpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltWnBibUZzUTJGc2JHVmtJaXdpYm1WbFpFUnlZV2x1SWl3aVpXNWthVzVuSWl3aVpXNWtaV1FpTENKbWFXNXBjMmhsWkNJc0ltUmxjM1J5YjNsbFpDSXNJbTV2UkdWamIyUmxJaXdpWkdWamIyUmxVM1J5YVc1bmN5SXNJbVJsWm1GMWJIUkZibU52WkdsdVp5SXNJbXhsYm1kMGFDSXNJbmR5YVhScGJtY2lMQ0pqYjNKclpXUWlMQ0p6ZVc1aklpd2lZblZtWm1WeVVISnZZMlZ6YzJsdVp5SXNJbTl1ZDNKcGRHVWlMQ0psY2lJc0luZHlhWFJsWTJJaUxDSjNjbWwwWld4bGJpSXNJbUoxWm1abGNtVmtVbVZ4ZFdWemRDSXNJbXhoYzNSQ2RXWm1aWEpsWkZKbGNYVmxjM1FpTENKd1pXNWthVzVuWTJJaUxDSndjbVZtYVc1cGMyaGxaQ0lzSW1WeWNtOXlSVzFwZEhSbFpDSXNJbVZ0YVhSRGJHOXpaU0lzSW1GMWRHOUVaWE4wY205NUlpd2lZblZtWm1WeVpXUlNaWEYxWlhOMFEyOTFiblFpTENKamIzSnJaV1JTWlhGMVpYTjBjMFp5WldVaUxDSmpZV3hzSWl3aVgzZHlhWFJoWW14bFUzUmhkR1VpTENKM2NtbDBZV0pzWlNJc0luZHlhWFJsSWl3aVgzZHlhWFJsSWl3aWQzSnBkR1YySWl3aVgzZHlhWFJsZGlJc0ltUmxjM1J5YjNraUxDSmZaR1Z6ZEhKdmVTSXNJbVpwYm1Gc0lpd2lYMlpwYm1Gc0lpd2lkM0pwZEdWQlpuUmxja1Z1WkNJc0luQnliMk5sYzNNaUxDSnVaWGgwVkdsamF5SXNJblpoYkdsa1EyaDFibXNpTENKa1pXTnZaR1ZEYUhWdWF5SXNJbmR5YVhSbFQzSkNkV1ptWlhJaUxDSnBjMEoxWmlJc0ltNWxkME5vZFc1cklpd2liR1Z1SWl3aWNtVjBJaXdpYkdGemRDSXNJbVJ2VjNKcGRHVWlMQ0p2Ym5keWFYUmxSWEp5YjNJaUxDSm1hVzVwYzJoTllYbGlaU0lzSW05dWQzSnBkR1ZUZEdGMFpWVndaR0YwWlNJc0ltNWxaV1JHYVc1cGMyZ2lMQ0pqYkdWaGNrSjFabVpsY2lJc0ltRm1kR1Z5VjNKcGRHVWlMQ0p2Ym5keWFYUmxSSEpoYVc0aUxDSmxiV2wwSWl3aWJDSXNJbUoxWm1abGNpSXNJa0Z5Y21GNUlpd2lhRzlzWkdWeUlpd2lZMjkxYm5RaUxDSmhiR3hDZFdabVpYSnpJaXdpWTJGc2JFWnBibUZzSWl3aVpYSnlJaXdpY0hKbFptbHVhWE5vSWl3aWJtVmxaQ0lzSW5KVGRHRjBaU0lzSWw5eVpXRmtZV0pzWlZOMFlYUmxJaXdpWlc1a1JXMXBkSFJsWkNJc0ltVnVaRmR5YVhSaFlteGxJaXdpYjI1alpTSXNJbU52Y210U1pYRWlMQ0p3Y205MGIzUjVjR1VpTENKblpYUkNkV1ptWlhJaUxDSmpkWEp5Wlc1MElpd2liM1YwSWl3aWNIVnphQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lYeUlzSWxONWJXSnZiQ0lzSW1oaGMwbHVjM1JoYm1ObElpd2lSblZ1WTNScGIyNGlMQ0oyWVd4MVpTSXNJbTlpYW1WamRDSXNJbkJwY0dVaUxDSmpiM0pySWl3aWRXNWpiM0pySWl3aWMyVjBSR1ZtWVhWc2RFVnVZMjlrYVc1bklpd2lkRzlNYjNkbGNrTmhjMlVpTENKcGJtUmxlRTltSWl3aVpXNTFiV1Z5WVdKc1pTSXNJbVZ1WkNJc0luVnVaR1ZtYVc1bFpDSXNJbk5sZENJc0lsOTFibVJsYzNSeWIza2lMQ0oxYm1SbGMzUnliM2tpWFN3aWJXRndjR2x1WjNNaU9pSkJRWFZDUVN4aFFVdEJMRk5CUVZOQkxGTkJRVk5ETEVWQlFVOURMRVZCUVZWRExFZEJRMnBEUXl4TFFVRkxTQ3hOUVVGUlFTeEZRVU5pUnl4TFFVRkxSaXhUUVVGWFFTeEZRVU5vUWtVc1MwRkJTME1zVTBGQlYwWXNSVUZEYUVKRExFdEJRVXRGTEV0QlFVOHNTMEZMWkN4VFFVRlRReXhqUVVGalF5eEhRVU55UWl4SlFVRkpReXhGUVVGUlRDeExRVVZhUVN4TFFVRkxSU3hMUVVGUExFdEJRMXBHTEV0QlFVdE5MRTFCUVZFc1MwRkZZazRzUzBGQlMwOHNUMEZCVXl4WFFVTmFReXhsUVVGbFNDeEZRVUZQUkN4SlFWRXhRaXhKUVVGSlN5eFBRVE5DU2tNc1QwRkJUME1zVVVGQlZVTXNVMEU0UW1wQ1FTeFRRVUZUUXl4alFVRm5Ra0VzWTBGSGVrSXNTVUZCU1VNc1lVRkJaU3hEUVVOcVFrTXNWVUZCVjBNc1VVRkJVU3h0UWtGTmFrSkRMRTlCUVZORUxGRkJRVkVzTmtKQlNXcENSU3hQUVVGVFJpeFJRVUZSTEZWQlFWVkZMRTlCUlROQ1F5eGpRVUZuUWtNc1QwRkJUME1zV1VGQll5eGhRVVY2UXl4VFFVRlRReXh2UWtGQmIwSjZRaXhIUVVNelFpeFBRVUZQY1VJc1QwRkJUMHNzUzBGQlN6RkNMRWRCUjNKQ0xGTkJRVk15UWl4alFVRmpReXhIUVVOeVFpeFBRVUZQVUN4UFFVRlBVU3hUUVVGVFJDeEpRVUZSUVN4aFFVRmxUaXhqUVVkb1JDeEpRV3RKU1ZFc1owSkJiRWxCUXl4WlFVRmpXaXhSUVVGUkxEaENRVVYwUW1Fc1UwRkJWMklzVVVGQlVTdzBRa0ZEYmtKakxHbENRVUZ0UWtRc1UwRkJVME1zYVVKQlJUVkNReXhsUVVGcFFtWXNVVUZCVVN4aFFVRmhaMElzVFVGRGRFTkRMSEZDUVVGMVFrWXNaVUZCWlVVc2NVSkJRM1JEUXl3eVFrRkJOa0pJTEdWQlFXVkhMREpDUVVNMVEwTXNjMEpCUVhkQ1NpeGxRVUZsU1N4elFrRkRka05ETEhWQ1FVRjVRa3dzWlVGQlpVc3NkVUpCUTNoRFF5eHhRa0ZCZFVKT0xHVkJRV1ZOTEhGQ1FVTjBRME1zZFVKQlFYbENVQ3hsUVVGbFR5eDFRa0ZEZUVORExESkNRVUUyUWxJc1pVRkJaVkVzTWtKQlF6VkRReXh4UWtGQmRVSlVMR1ZCUVdWVExIRkNRVVYwUTBNc1pVRkJhVUppTEZsQlFWbGhMR1ZCU1dwRExGTkJRVk5ETEU5QlJWUXNVMEZCVXpkQ0xHTkJRV000UWl4RlFVRlRReXhGUVVGUlF5eEhRVU4wUTNCRExFOUJRVk5CTEZGQlFWVlBMRkZCUVZFc2IwSkJRek5DTWtJc1JVRkJWVUVzUjBGQlZ5eEhRVTFITEd0Q1FVRmlSU3hKUVVGM1FrRXNSVUZCVjBRc1lVRkJhMEp1UXl4UlFVZG9SVlFzUzBGQlN6aERMR0ZCUVdWSUxFVkJRVkZITEZkQlEzaENSQ3hKUVVGVk4wTXNTMEZCU3poRExGZEJRV0U1UXl4TFFVRkxPRU1zWTBGQlowSklMRVZCUVZGSkxHOUNRVWszUkM5RExFdEJRVXRuUkN4alFVRm5RbXhDTEdsQ1FVRnBRamxDTEV0QlFVMHlReXhGUVVGVExIZENRVUY1UWtVc1IwRkZPVVUzUXl4TFFVRkxhVVFzWVVGQll5eEZRVVZ1UW1wRUxFdEJRVXRyUkN4WFFVRlpMRVZCUldwQ2JFUXNTMEZCUzIxRUxGRkJRVk1zUlVGRlpHNUVMRXRCUVV0dlJDeFBRVUZSTEVWQlJXSndSQ3hMUVVGTGNVUXNWVUZCVnl4RlFVVm9RbkpFTEV0QlFVdHpSQ3hYUVVGWkxFVkJTV3BDTEVsQlFVbERMRWRCUVhGRExFbEJRVEZDV2l4RlFVRlJZU3hqUVVOMlFuaEVMRXRCUVV0M1JDeGxRVUZwUWtRc1JVRkpkRUoyUkN4TFFVRkxlVVFzWjBKQlFXdENaQ3hGUVVGUll5eHBRa0ZCYlVJc1QwRkpiRVI2UkN4TFFVRkxNRVFzVDBGQlV5eEZRVVZrTVVRc1MwRkJTekpFTEZOQlFWVXNSVUZGWmpORUxFdEJRVXMwUkN4UFFVRlRMRVZCUzJRMVJDeExRVUZMTmtRc1RVRkJUeXhGUVVsYU4wUXNTMEZCU3poRUxHdENRVUZ0UWl4RlFVVjRRamxFTEV0QlFVc3JSQ3hSUVVGVkxGTkJRVlZETEVkQlEzWkNSQ3hSUVVGUmJrSXNSVUZCVVc5Q0xFbEJTV3hDYUVVc1MwRkJTMmxGTEZGQlFWVXNTMEZGWm1wRkxFdEJRVXRyUlN4VFFVRlhMRVZCUTJoQ2JFVXNTMEZCUzIxRkxHZENRVUZyUWl4TFFVTjJRbTVGTEV0QlFVdHZSU3h2UWtGQmMwSXNTMEZITTBKd1JTeExRVUZMY1VVc1ZVRkJXU3hGUVVkcVFuSkZMRXRCUVV0elJTeGhRVUZqTEVWQlJXNUNkRVVzUzBGQlMzVkZMR05CUVdVc1JVRkZjRUoyUlN4TFFVRkxkMFVzVjBGQmEwTXNTVUZCZEVJM1FpeEZRVUZSTmtJc1ZVRkZla0o0UlN4TFFVRkxlVVVzWTBGQlowSTVRaXhGUVVGUk9FSXNXVUZGTjBKNlJTeExRVUZMTUVVc2NVSkJRWFZDTEVWQlJ6VkNNVVVzUzBGQlN6SkZMRzFDUVVGeFFpeEpRVUZKZUVVc1kwRkJZMGdzVFVFMFF6bERMRk5CUVZOWkxGTkJRVk1yUWl4SFFWVm9RaXhKUVVGSlJTeEZRVUZYTjBNc1owSkJWR1pUTEU5QlFWTkJMRkZCUVZWUExGRkJRVkVzY1VKQlZUTkNMRWxCUVVzMlFpeEpRVUZoYkVJc1owSkJRV2RDYVVRc1MwRkJTMmhGTEZOQlFWVmFMRTFCUVU4c1QwRkJUeXhKUVVGSldTeFRRVUZUSzBJc1IwRkROVVV6UXl4TFFVRkxOa1VzWlVGQmFVSXNTVUZCU1doRkxHTkJRV000UWl4RlFVRlRNME1zUzBGQlRUWkRMRWRCUlhaRU4wTXNTMEZCU3poRkxGVkJRVmNzUlVGRldtNURMRWxCUXpKQ0xHMUNRVUZzUWtFc1JVRkJVVzlETEZGQlFYTkNMMFVzUzBGQlMyZEdMRTlCUVZOeVF5eEZRVUZSYjBNc1QwRkRha01zYlVKQlFXNUNjRU1zUlVGQlVYTkRMRk5CUVhWQ2FrWXNTMEZCUzJ0R0xGRkJRVlYyUXl4RlFVRlJjME1zVVVGRGJFTXNiVUpCUVhCQ2RFTXNSVUZCVVhkRExGVkJRWGRDYmtZc1MwRkJTMjlHTEZOQlFWZDZReXhGUVVGUmQwTXNVMEZEZEVNc2JVSkJRV3hDZUVNc1JVRkJVVEJETEZGQlFYTkNja1lzUzBGQlMzTkdMRTlCUVZNelF5eEZRVUZSTUVNc1VVRkhha1Z3UlN4UFFVRlBNa1FzUzBGQlN6VkZMRTFCVVdRc1UwRkJVM1ZHTEdOQlFXTXpReXhGUVVGUk4wTXNSMEZETjBJc1NVRkJTV2xGTEVWQlFVc3NTVUZCU1hwQ0xESkNRVVZpUlN4bFFVRmxSeXhGUVVGUmIwSXNSMEZEZGtKM1FpeFJRVUZSUXl4VFFVRlRNVVlzUlVGQlNXbEZMRWRCVFhaQ0xGTkJRVk13UWl4WFFVRlhPVU1zUlVGQlVYaERMRVZCUVU5UUxFVkJRVTlGTEVkQlEzaERMRWxCUVVscFJTeEZRVkZLTEU5QlRtTXNUMEZCVm01RkxFVkJRMFp0UlN4RlFVRkxMRWxCUVVreFFpeDFRa0ZEYVVJc2FVSkJRVlo2UXl4SFFVRjFRazhzUlVGQlRUQkRMR0ZCUXpkRGEwSXNSVUZCU3l4SlFVRkpMMElzY1VKQlFYRkNMRkZCUVZNc1EwRkJReXhUUVVGVkxGVkJRVmR3UXl4TFFVY3pSRzFGTEVsQlEwWjJRaXhsUVVGbFJ5eEZRVUZSYjBJc1IwRkRka0ozUWl4UlFVRlJReXhUUVVGVE1VWXNSVUZCU1dsRkxFbEJRMlFzUjBFMlJGZ3NVMEZCVXpKQ0xGbEJRVmwyUml4RlFVRlBVQ3hGUVVGUFF5eEhRVXRxUXl4UFFVcExUU3hGUVVGTk1FTXNZVUZCYzBNc1NVRkJlRUl4UXl4RlFVRk5iMFFzWlVGQk5FTXNhVUpCUVZZelJDeEpRVU12UkVFc1JVRkJVWEZDTEU5QlFVOUxMRXRCUVVzeFFpeEZRVUZQUXl4SlFVZDBRa1FzUlVGbFZDeFRRVUZUSzBZc1kwRkJZMmhFTEVWQlFWRjRReXhGUVVGUGVVWXNSVUZCVDJoSExFVkJRVTlETEVWQlFWVkRMRWRCUXpWRUxFbEJRVXM0Uml4RlFVRlBMRU5CUTFZc1NVRkJTVU1zUlVGQlYwZ3NXVUZCV1haR0xFVkJRVTlRTEVWQlFVOURMRWRCUlhKRFJDeEpRVUZWYVVjc1NVRkRXa1FzUjBGQlVTeEZRVU5TTDBZc1JVRkJWeXhUUVVOWVJDeEZRVUZSYVVjc1IwRkpXaXhKUVVGSlF5eEZRVUZOTTBZc1JVRkJUVEJETEZkQlFXRXNSVUZCU1dwRUxFVkJRVTAyUkN4UFFVTjJRM1JFTEVWQlFVMXpSQ3hSUVVGVmNVTXNSVUZEYUVJc1NVRkJTVU1zUlVGQlRUVkdMRVZCUVUxelJDeFBRVUZUZEVRc1JVRkJUVFJETEdOQlNTOUNMRWRCUmt0blJDeEpRVUZMTlVZc1JVRkJUVGhETEZkQlFWa3NSMEZGZUVJNVF5eEZRVUZOZFVRc1UwRkJWM1pFTEVWQlFVMTNSQ3hQUVVGUkxFTkJRMnBETEVsQlFVbHhReXhGUVVGUE4wWXNSVUZCVFdkRkxHOUNRVU5xUW1oRkxFVkJRVTFuUlN4dlFrRkJjMElzUTBGRE1VSjJSU3hOUVVGUFFTeEZRVU5RUXl4VFFVRlZRU3hGUVVOV0swWXNUVUZCVDBFc1JVRkRVRFZHTEZOQlFWVkdMRVZCUTFaSExFdEJRVTBzVFVGSFNpdEdMRVZCUTBaQkxFVkJRVXN2Uml4TFFVRlBSU3hGUVVGTlowVXNiMEpCUld4Q2FFVXNSVUZCVFN0RUxHZENRVUZyUWk5RUxFVkJRVTFuUlN4dlFrRkhhRU5vUlN4RlFVRk5jMFVzYzBKQlFYZENMRTlCUlRsQ2QwSXNVVUZCVVhSRUxFVkJRVkY0UXl4SFFVRlBMRVZCUVU4eVJpeEZRVUZMYkVjc1JVRkJUME1zUlVGQlZVTXNSMEZIZEVRc1QwRkJUMmxITEVWQlIxUXNVMEZCVTBVc1VVRkJVWFJFTEVWQlFWRjRReXhGUVVGUE5rVXNSVUZCVVdNc1JVRkJTMnhITEVWQlFVOURMRVZCUVZWRExFZEJRelZFU3l4RlFVRk5PRVFzVTBGQlZ6WkNMRVZCUTJwQ00wWXNSVUZCVFRaRUxGRkJRVlZzUlN4RlFVTm9Ra3NzUlVGQlRYVkVMRk5CUVZVc1JVRkRhRUoyUkN4RlFVRk5lVVFzVFVGQlR5eEZRVU5VZWtRc1JVRkJUV3RFTEZWQlFWZHNSQ3hGUVVGTk1rUXNVVUZCVVN4SlFVRkpNVUlzY1VKQlFYRkNMRlZCUVcxQ05FTXNSVUZCVVhKRExFVkJRVTl6UXl4UlFVRlJja1lzUlVGQlQwOHNSVUZCVFRKRUxGTkJRV051UWl4RlFVRlBiME1zVDBGQlQyNUdMRVZCUVU5RExFVkJRVlZOTEVWQlFVMHlSQ3hUUVVOMFN6TkVMRVZCUVUxNVJDeE5RVUZQTEVWQlIyWXNVMEZCVTNORExHRkJRV0YyUkN4RlFVRlJlRU1zUlVGQlQzbEVMRVZCUVUxSExFVkJRVWxxUlN4TFFVTXpRMHNzUlVGQlRXbEZMRlZCUlVwU0xFZEJSMFl5UWl4UlFVRlJReXhUUVVGVE1VWXNSVUZCU1dsRkxFZEJSM0pDZDBJc1VVRkJVVU1zVTBGQlUxY3NXVUZCWVhoRUxFVkJRVkY0UXl4SFFVTjBRM2RETEVWQlFVOXBReXhsUVVGbFRpeGpRVUZsTEVWQlEzSkRPVUlzWlVGQlpVY3NSVUZCVVc5Q0xFdEJTWFpDYWtVc1JVRkJSMmxGTEVkQlEwaHdRaXhGUVVGUGFVTXNaVUZCWlU0c1kwRkJaU3hGUVVOeVF6bENMR1ZCUVdWSExFVkJRVkZ2UWl4SFFVZDJRbTlETEZsQlFWbDRSQ3hGUVVGUmVFTXNTVUZKZUVJc1UwRkJVMmxITEcxQ1FVRnRRbXBITEVkQlF6RkNRU3hGUVVGTmRVUXNVMEZCVlN4RlFVTm9RblpFTEVWQlFVMDJSQ3hSUVVGVkxFdEJRMmhDTjBRc1JVRkJUWE5FTEZGQlFWVjBSQ3hGUVVGTk9FUXNVMEZEZEVJNVJDeEZRVUZOT0VRc1UwRkJWeXhGUVVkdVFpeFRRVUZUU0N4UlFVRlJia0lzUlVGQlVXOUNMRWRCUTNaQ0xFbEJRVWsxUkN4RlFVRlJkME1zUlVGQlQybERMR1ZCUTJab1FpeEZRVUZQZWtRc1JVRkJUWGxFTEV0QlEySTVSQ3hGUVVGTFN5eEZRVUZOTmtRc1VVRkRaaXhIUVVGclFpeHRRa0ZCVUd4RkxFVkJRVzFDTEUxQlFVMHNTVUZCU1c5RExITkNRVVY0UXl4SFFVUkJhMFVzYlVKQlFXMUNha2NzUjBGRFpqUkVMRVZCUVVsdFF5eGhRVUZoZGtRc1JVRkJVWGhETEVWQlFVOTVSQ3hGUVVGTlJ5eEZRVUZKYWtVc1QwRkJVeXhEUVVWeVJDeEpRVUZKYzBRc1JVRkJWMmxFTEZkQlFWZHNSeXhKUVVGVmQwTXNSVUZCVDFVc1ZVRkZkRU5FTEVkQlFXRnFSQ3hGUVVGTmQwUXNVVUZCVjNoRUxFVkJRVTB3UkN4dFFrRkJiMEl4UkN4RlFVRk5LMFFzYVVKQlEycEZiME1zV1VGQldUTkVMRVZCUVZGNFF5eEhRVWRzUW5sRUxFVkJRMFl5UWl4UlFVRlJReXhUUVVGVFpTeFhRVUZaTlVRc1JVRkJVWGhETEVWQlFVOXBSQ3hGUVVGVmRFUXNSMEZGZEVSNVJ5eFhRVUZYTlVRc1JVRkJVWGhETEVWQlFVOXBSQ3hGUVVGVmRFUXNTVUZMTVVNc1UwRkJVM2xITEZkQlFWYzFSQ3hGUVVGUmVFTXNSVUZCVDJsRUxFVkJRVlYwUkN4SFFVTjBRM05FTEVkQlFWVnZSQ3hoUVVGaE4wUXNSVUZCVVhoRExFZEJRM0JEUVN4RlFVRk5hVVVzV1VGRFRuUkZMRWxCUTBGeFJ5eFpRVUZaZUVRc1JVRkJVWGhETEVkQlRYUkNMRk5CUVZOeFJ5eGhRVUZoTjBRc1JVRkJVWGhETEVkQlExQXNTVUZCYWtKQkxFVkJRVTF6UkN4UlFVRm5RblJFTEVWQlFVMDRReXhaUVVNNVFqbERMRVZCUVUwNFF5eFhRVUZaTEVWQlEyeENUaXhGUVVGUE9FUXNTMEZCU3l4VlFVdG9RaXhUUVVGVFNDeFpRVUZaTTBRc1JVRkJVWGhETEVkQlF6TkNRU3hGUVVGTk1FUXNhMEpCUVcxQ0xFVkJRM3BDTEVsQlFVbDRSQ3hGUVVGUlJpeEZRVUZOSzBRc1owSkJSV3hDTEVkQlFVbDJRaXhGUVVGUGMwTXNVMEZCVnpWRkxFZEJRVk5CTEVWQlFVMUtMRXRCUVUwc1EwRkZla01zU1VGQlNYbEhMRVZCUVVsMlJ5eEZRVUZOYzBVc2NVSkJRMVpyUXl4RlFVRlRMRWxCUVVsRExFMUJRVTFHTEVkQlEyNUNSeXhGUVVGVE1VY3NSVUZCVFhWRkxHMUNRVU51UW0xRExFVkJRVTk0Unl4TlFVRlJRU3hGUVVsbUxFbEJTRUVzU1VGQlNYbEhMRVZCUVZFc1JVRkRVa01zUjBGQllTeEZRVVZXTVVjc1IwRkRUSE5ITEVWQlFVOUhMRWRCUVZONlJ5eEZRVU5ZUVN4RlFVRk5kVVlzVVVGQlQyMUNMRWRCUVdFc1IwRkRMMEl4Unl4RlFVRlJRU3hGUVVGTlNpeExRVU5rTmtjc1IwRkJVeXhGUVVkWVNDeEZRVUZQU1N4WFFVRmhRU3hGUVVOd1FtUXNVVUZCVVhSRUxFVkJRVkY0UXl4SFFVRlBMRVZCUVUxQkxFVkJRVTF6UkN4UFFVRlJhMFFzUlVGQlVTeEhRVUZKUlN4RlFVRlBka2NzVVVGSE9VUklMRVZCUVUxcFJTeFpRVU5PYWtVc1JVRkJUV2RGTEc5Q1FVRnpRaXhMUVVWNFFqQkRMRVZCUVU4MVJ5eE5RVU5VUlN4RlFVRk5kVVVzYlVKQlFYRkNiVU1zUlVGQlR6VkhMRXRCUTJ4RE5FY3NSVUZCVHpWSExFdEJRVThzVFVGRlpFVXNSVUZCVFhWRkxHMUNRVUZ4UWl4SlFVRkplRVVzWTBGQlkwTXNSMEZITDBOQkxFVkJRVTF6UlN4eFFrRkJkVUlzVFVGRGVFSXNRMEZGVEN4TFFVRlBjRVVzUjBGQlR5eERRVU5hTEVsQlFVbFVMRVZCUVZGVExFVkJRVTFVTEUxQlEyUkRMRVZCUVZkUkxFVkJRVTFTTEZOQlEycENReXhGUVVGTFR5eEZRVUZOVEN4VFFWTm1MRWRCVUVGcFJ5eFJRVUZSZEVRc1JVRkJVWGhETEVkQlFVOHNSVUZFWWtFc1JVRkJUVEJETEZkQlFXRXNSVUZCU1dwRUxFVkJRVTAyUkN4UFFVTktOMFFzUlVGQlQwTXNSVUZCVlVNc1IwRkRjRVJQTEVWQlFWRkJMRVZCUVUxS0xFdEJRMlJGTEVWQlFVMXpSU3gxUWtGTFJuUkZMRVZCUVUxMVJDeFJRVU5TTEUxQlNWVXNUMEZCVm5KRUxFbEJRV2RDUml4RlFVRk5aMFVzYjBKQlFYTkNMRTFCUjJ4RWFFVXNSVUZCVFN0RUxHZENRVUZyUWpkRUxFVkJRM2hDUml4RlFVRk5NRVFzYTBKQlFXMUNMRVZCTWtNelFpeFRRVUZUZDBNc1YwRkJWMnhITEVkQlEyeENMRTlCUVU5QkxFVkJRVTByUXl4UlFVRXlRaXhKUVVGcVFpOURMRVZCUVUxelJDeFJRVUV3UXl4UFFVRXhRblJFTEVWQlFVMHJSQ3hyUWtGQk5rSXZSQ3hGUVVGTmFVUXNWMEZCWVdwRUxFVkJRVTExUkN4UlFVY3pSeXhUUVVGVGMwUXNWVUZCVlhKRkxFVkJRVkY0UXl4SFFVTjZRbmRETEVWQlFVOHdReXhQUVVGUExGTkJRVlUwUWl4SFFVTjBRamxITEVWQlFVMXBSU3haUVVWR05rTXNSMEZEUm5wRkxHVkJRV1ZITEVWQlFWRnpSU3hIUVVkNlFqbEhMRVZCUVUxclJTeGhRVUZqTEVWQlEzQkNNVUlzUlVGQlR6aEVMRXRCUVVzc1lVRkRXazRzV1VGQldYaEVMRVZCUVZGNFF5eExRVWw0UWl4VFFVRlRLMGNzVlVGQlZYWkZMRVZCUVZGNFF5eEhRVU53UWtFc1JVRkJUV3RGTEdGQlFXZENiRVVzUlVGQlRUWkRMR05CUTBZc2JVSkJRV3hDVEN4RlFVRlBNRU1zVVVGQk1FSnNSaXhGUVVGTmEwUXNWMEZMYUVSc1JDeEZRVUZOYTBVc1lVRkJZeXhGUVVOd1FqRkNMRVZCUVU4NFJDeExRVUZMTEdWQlRGcDBSeXhGUVVGTmFVVXNXVUZEVG1wRkxFVkJRVTAyUXl4aFFVRmpMRVZCUTNCQ2RVTXNVVUZCVVVNc1UwRkJVM2RDTEZWQlFWZHlSU3hGUVVGUmVFTXNTMEZSTVVNc1UwRkJVMmRITEZsQlFWbDRSQ3hGUVVGUmVFTXNSMEZETTBJc1NVRkJTV2RJTEVWQlFVOWtMRmRCUVZkc1J5eEhRVVYwUWl4SFFVRkpaMGdzU1VGRFJrUXNWVUZCVlhaRkxFVkJRVkY0UXl4SFFVVk5MRWxCUVhCQ1FTeEZRVUZOYVVVc1dVRkRVbXBGTEVWQlFVMXBSQ3hWUVVGWExFVkJRMnBDVkN4RlFVRlBPRVFzUzBGQlN5eFZRVVZTZEVjc1JVRkJUWEZGTEdOQlFXRXNRMEZIY2tJc1NVRkJTVFJETEVWQlFWTjZSU3hGUVVGUE1FVXNhVUpCUldaRUxFZEJRVlZCTEVWQlFVODFReXhoUVVGbE5FTXNSVUZCVDBVc1lVRkRNVU16UlN4RlFVRlBkVU1zVlVGTlppeFBRVUZQYVVNc1JVRkhWQ3hUUVVGVFNTeFpRVUZaTlVVc1JVRkJVWGhETEVWQlFVOU1MRWRCUTJ4RFN5eEZRVUZOSzBNc1VVRkJVeXhGUVVObWFVUXNXVUZCV1hoRUxFVkJRVkY0UXl4SFFVVm9Ra3dzU1VGRFJVc3NSVUZCVFdsRUxGTkJRVlZ0UXl4UlFVRlJReXhUUVVGVE1VWXNSMEZCVXpaRExFVkJRVTgyUlN4TFFVRkxMRk5CUVZVeFNDeEpRVWQwUlVzc1JVRkJUV2RFTEU5QlFWRXNSVUZEWkZJc1JVRkJUMnRETEZWQlFWY3NSVUZIY0VJc1UwRkJVM1JGTEdWQlFXVnJTQ3hGUVVGVGRFZ3NSVUZCVHpoSExFZEJRM1JETEVsQlFVazFSeXhGUVVGUmIwZ3NSVUZCVVhCSUxFMUJSM0JDTEVsQlJrRnZTQ3hGUVVGUmNFZ3NUVUZCVVN4TFFVVlVRU3hIUVVGUExFTkJRMW9zU1VGQlNWQXNSVUZCUzA4c1JVRkJUVXdzVTBGRFprY3NSVUZCVFdsRkxGbEJRMDUwUlN4RlFVRkhiVWdzUjBGRFNEVkhMRVZCUVZGQkxFVkJRVTFLTEV0QlNXaENSU3hGUVVGTmRVVXNiVUpCUVcxQ2VrVXNTMEZCVDNkSUxFVkJkR3BDYkVNeFJ5eFJRVUZSTEZkQlFWSkJMRU5CUVc5Q1NpeFRRVUZWU3l4UlFYbEdPVUpLTEdOQlFXTTRSeXhWUVVGVlF5eFZRVUZaTEZkQlNXeERMRWxCU0VFc1NVRkJTVU1zUlVGQlZUZElMRXRCUVV0dFJTeG5Ra0ZEWmpKRUxFVkJRVTBzUjBGRlNFUXNSMEZEVEVNc1JVRkJTVU1zUzBGQlMwWXNSMEZEVkVFc1JVRkJWVUVzUlVGQlVUTklMRXRCUjNCQ0xFOUJRVTgwU0N4SFFVZFVMRmRCUTBVc1NVRkRSVVVzVDBGQlQwTXNaVUZCWlhCSUxHTkJRV000Unl4VlFVRlhMRk5CUVZVc1EwRkRka1JQTEVsQlFVdHdTQ3hoUVVGaFF5eFZRVUZWTEZkQlF6RkNMRTlCUVU5bUxFdEJRVXMwU0N4aFFVTllMRFpGUVVGdFJpeGhRVVY0Uml4TlFVRlBUeXhMUVZCWUxFZEJZM05DTEcxQ1FVRllReXhSUVVGNVFrRXNUMEZCVDBNc1lVRkJhVVVzYlVKQlFUTkRReXhUUVVGVFdDeFZRVUZWVXl4UFFVRlBReXhqUVVONlJqRkhMR2RDUVVGclFqSkhMRk5CUVZOWUxGVkJRVlZUTEU5QlFVOURMR0ZCUXpWRFRDeFBRVUZQUXl4bFFVRmxja2dzVTBGQlZYZElMRTlCUVU5RExGbEJRV0VzUTBGRGJFUkZMRTFCUVU4c1UwRkJaVU1zUjBGRGNFSXNVVUZCU1RkSExHZENRVUZuUW1sRUxFdEJRVXMxUlN4TFFVRk5kMGtzU1VGRE0wSjRTU3hQUVVGVFdTeFhRVU5PTkVnc1IwRkJWVUVzUlVGQlR6TkVMREJDUVVFd1FtaEZMRzFDUVVsMFJHTXNaMEpCUVd0Q0xGTkJRWGxDTmtjc1IwRkRla01zVDBGQlQwRXNZVUZCYTBKNFNTeE5RU3RDTjBKWkxGTkJRVk1yUnl4VlFVRlZZeXhMUVVGUExGZEJRM2hDYUVjc1pVRkJaWHBETEV0QlFVMHNTVUZCU1c5RExIbENRU3RDTTBKNFFpeFRRVUZUSzBjc1ZVRkJWVFZETEUxQlFWRXNVMEZCVld4R0xFVkJRVTlETEVWQlFWVkRMRWRCUTNCRUxFbEJRVWxMTEVWQlFWRktMRXRCUVVzMlJTeGxRVU5pYlVJc1IwRkJUU3hGUVVWT1NDeEhRVUZUZWtZc1JVRkJUVEJETEZsQlFXTjBRaXhqUVVGak0wSXNSMEZwUWk5RExFOUJaa2xuUnl4SlFVRlZNMFVzVDBGQlQxRXNVMEZCVXpkQ0xFdEJRelZDUVN4RlFVRlJlVUlzYjBKQlFXOUNla0lzU1VGSFRpeHRRa0ZCWWtNc1NVRkRWRU1zUlVGQlMwUXNSVUZEVEVFc1JVRkJWeXhOUVVkVUswWXNSVUZCVHk5R0xFVkJRVmNzVTBGQmJVSkJMRWxCUVZWQkxFVkJRVmROTEVWQlFVMXhSQ3hwUWtGRGJFUXNiVUpCUVZBeFJDeEpRVUZ0UWtFc1JVRkJTekpETEV0QlF5OUNkRU1zUlVGQlRTdERMRTlCUVZGdlF5eGpRVUZqZGtZc1MwRkJUVVFzU1VGQllUaEdMRWRCUVZOSUxGZEJRVmN4Uml4TFFVRk5TU3hGUVVGUFVDeEZRVUZQUlN4TlFVTjZSa3NzUlVGQlRXbEZMRmxCUTA0eVFpeEZRVUZOU2l4alFVRmpOVVlzUzBGQlRVa3NSVUZCVDNsR0xFVkJRVTlvUnl4RlFVRlBReXhGUVVGVlF5eEpRVVZ3UkdsSExFZEJSMVJ3Uml4VFFVRlRLMGNzVlVGQlZXVXNTMEZCVHl4WFFVTjRRakZKTEV0QlFVczJSU3hsUVVGbGFrSXNWVUZIZEVKb1JDeFRRVUZUSzBjc1ZVRkJWV2RDTEU5QlFWTXNWMEZETVVJc1NVRkJTWFpKTEVWQlFWRktMRXRCUVVzMlJTeGxRVVZpZWtVc1JVRkJUWGRFTEZOQlExSjRSQ3hGUVVGTmQwUXNVMEZEUkhoRUxFVkJRVTExUkN4VFFVRlpka1FzUlVGQlRYZEVMRkZCUVZkNFJDeEZRVUZOTUVRc2JVSkJRVzlDTVVRc1JVRkJUU3RFTEdsQ1FVRnBRbTlETEZsQlFWbDJSeXhMUVVGTlNTeExRVWt2UjFFc1UwRkJVeXRITEZWQlFWVnBRaXh0UWtGQmNVSXNVMEZCTkVJNVNTeEhRVWRzUlN4SFFVUjNRaXhwUWtGQllrRXNTVUZCZFVKQkxFVkJRVmRCTEVWQlFWTXJTU3hwUWtGRGFFUXNRMEZCUXl4TlFVRlBMRTlCUVZFc1VVRkJVeXhSUVVGVExGTkJRVlVzVTBGQlZTeFBRVUZSTEZGQlFWTXNWVUZCVnl4WFFVRlpMRTlCUVU5RExGTkJRVk5vU2l4RlFVRlhMRWxCUVVrclNTeG5Ra0ZCYTBJc1IwRkJTU3hOUVVGTkxFbEJRVWx5Unl4eFFrRkJjVUl4UXl4SFFVVjRUQ3hQUVVSQlJTeExRVUZMTmtVc1pVRkJaWEJDTEdkQ1FVRnJRak5FTEVWQlF5OUNSU3hOUVVkVVowa3NUMEZCVDBNc1pVRkJaWEpJTEZOQlFWTXJSeXhWUVVGWExHbENRVUZyUWl4RFFVa3hSRzlDTEZsQlFWa3NSVUZEV21Jc1NVRkJTeXhYUVVOSUxFOUJRVTlzU1N4TFFVRkxOa1VzWjBKQlFXdENOMFVzUzBGQlN6WkZMR1ZCUVdVclF5eGxRVmwwUkVrc1QwRkJUME1zWlVGQlpYSklMRk5CUVZNclJ5eFZRVUZYTEhkQ1FVRjVRaXhEUVVscVJXOUNMRmxCUVZrc1JVRkRXbUlzU1VGQlN5eFhRVU5JTEU5QlFVOXNTU3hMUVVGTE5rVXNaVUZCWlRkQ0xHbENRVFJNTDBKd1F5eFRRVUZUSzBjc1ZVRkJWVE5ETEU5QlFWTXNVMEZCVlc1R0xFVkJRVTlETEVWQlFWVkRMRWRCUTNKRVFTeEZRVUZITEVsQlFVbHRReXd5UWtGQk1rSXNZMEZIY0VOMFFpeFRRVUZUSzBjc1ZVRkJWWHBETEZGQlFWVXNTMEZGTjBKMFJTeFRRVUZUSzBjc1ZVRkJWWEZDTEVsQlFVMHNVMEZCVlc1S0xFVkJRVTlETEVWQlFWVkRMRWRCUTJ4RUxFbEJRVWxMTEVWQlFWRktMRXRCUVVzMlJTeGxRVzlDYWtJc1RVRnNRbkZDTEcxQ1FVRldhRVlzUjBGRFZFVXNSVUZCUzBZc1JVRkRURUVzUlVGQlVTeExRVU5TUXl4RlFVRlhMRTFCUTJ0Q0xHMUNRVUZpUVN4SlFVTm9Ra01zUlVGQlMwUXNSVUZEVEVFc1JVRkJWeXhOUVVkVVJDeE5RVUZCUVN4SFFVRjFRMGNzUzBGQlN5dEZMRTFCUVUxc1JpeEZRVUZQUXl4SFFVVjZSRTBzUlVGQlRYZEVMRk5CUTFKNFJDeEZRVUZOZDBRc1QwRkJVeXhGUVVObU5VUXNTMEZCU3pKSkxGVkJTVVoyU1N4RlFVRk5LME1zVVVGQlVYRkZMRmxCUVZsNFNDeExRVUZOU1N4RlFVRlBUQ3hIUVVOeVEwTXNUVUZIVkdkSkxFOUJRVTlETEdWQlFXVnlTQ3hUUVVGVEswY3NWVUZCVnl4cFFrRkJhMElzUTBGSk1VUnZRaXhaUVVGWkxFVkJRMXBpTEVsQlFVc3NWMEZEU0N4UFFVRlBiRWtzUzBGQlN6WkZMR1ZCUVdWdVFpeFZRWFZHTDBKelJTeFBRVUZQUXl4bFFVRmxja2dzVTBGQlV5dEhMRlZCUVZjc1dVRkJZU3hEUVVseVJHOUNMRmxCUVZrc1JVRkRXbUlzU1VGQlN5eFhRVU5JTEZsQlFUUkNaU3hKUVVGNFFtcEtMRXRCUVVzMlJTeG5Ra0ZKUmpkRkxFdEJRVXMyUlN4bFFVRmxka0lzVjBGRk4wSTBSaXhKUVVGTExGTkJRV0ZZTEVkQlIxaDJTU3hMUVVGTE5rVXNhVUpCVFZZM1JTeExRVUZMTmtVc1pVRkJaWFpDTEZWQlFWbHBSaXhOUVVkd1F6TklMRk5CUVZNclJ5eFZRVUZWZUVNc1VVRkJWWFpFTEZsQlFWbDFSQ3hSUVVONlEzWkZMRk5CUVZNclJ5eFZRVUZWZDBJc1YwRkJZWFpJTEZsQlFWbDNTQ3hWUVVVMVEzaEpMRk5CUVZNclJ5eFZRVUZWZGtNc1UwRkJWeXhUUVVGVk9FSXNSVUZCUzI1SUxFZEJRek5EUVN4RlFVRkhiVWdpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk4dWJuWnRMM1psY25OcGIyNXpMMjV2WkdVdmRqRXlMakl3TGpBdmJHbGlMMjV2WkdWZmJXOWtkV3hsY3k5M1lYUmphR2xtZVM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5M2NtbDBZV0pzWlM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgX09iamVjdCRzZXRQcm90b3R5cGVPO2Z1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1yLGV9dmFyIGZpbmlzaGVkPXJlcXVpcmUoXCIuL2VuZC1vZi1zdHJlYW1cIiksa0xhc3RSZXNvbHZlPVN5bWJvbChcImxhc3RSZXNvbHZlXCIpLGtMYXN0UmVqZWN0PVN5bWJvbChcImxhc3RSZWplY3RcIiksa0Vycm9yPVN5bWJvbChcImVycm9yXCIpLGtFbmRlZD1TeW1ib2woXCJlbmRlZFwiKSxrTGFzdFByb21pc2U9U3ltYm9sKFwibGFzdFByb21pc2VcIiksa0hhbmRsZVByb21pc2U9U3ltYm9sKFwiaGFuZGxlUHJvbWlzZVwiKSxrU3RyZWFtPVN5bWJvbChcInN0cmVhbVwiKTtmdW5jdGlvbiBjcmVhdGVJdGVyUmVzdWx0KGUsdCl7cmV0dXJue3ZhbHVlOmUsZG9uZTp0fX1mdW5jdGlvbiByZWFkQW5kUmVzb2x2ZShlKXt2YXIgdD1lW2tMYXN0UmVzb2x2ZV07aWYobnVsbCE9PXQpe3ZhciByPWVba1N0cmVhbV0ucmVhZCgpO251bGwhPT1yJiYoZVtrTGFzdFByb21pc2VdPW51bGwsZVtrTGFzdFJlc29sdmVdPW51bGwsZVtrTGFzdFJlamVjdF09bnVsbCx0KGNyZWF0ZUl0ZXJSZXN1bHQociwhMSkpKX19ZnVuY3Rpb24gb25SZWFkYWJsZShlKXtwcm9jZXNzLm5leHRUaWNrKHJlYWRBbmRSZXNvbHZlLGUpfWZ1bmN0aW9uIHdyYXBGb3JOZXh0KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIsbyl7ZS50aGVuKGZ1bmN0aW9uKCl7dFtrRW5kZWRdP3IoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKTp0W2tIYW5kbGVQcm9taXNlXShyLG8pfSxvKX19dmFyIEFzeW5jSXRlcmF0b3JQcm90b3R5cGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGZ1bmN0aW9uKCl7fSksUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlPU9iamVjdC5zZXRQcm90b3R5cGVPZigoX2RlZmluZVByb3BlcnR5KF9PYmplY3Qkc2V0UHJvdG90eXBlTz17Z2V0IHN0cmVhbSgpe3JldHVybiB0aGlzW2tTdHJlYW1dfSxuZXh0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXRoaXNba0Vycm9yXTtpZihudWxsIT09dClyZXR1cm4gUHJvbWlzZS5yZWplY3QodCk7aWYodGhpc1trRW5kZWRdKXJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKTtpZih0aGlzW2tTdHJlYW1dLmRlc3Ryb3llZClyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxyKXtwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uKCl7ZVtrRXJyb3JdP3IoZVtrRXJyb3JdKTp0KGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSl9KX0pO3ZhciByLG89dGhpc1trTGFzdFByb21pc2VdO2lmKG8pcj1uZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChvLHRoaXMpKTtlbHNle3ZhciBuPXRoaXNba1N0cmVhbV0ucmVhZCgpO2lmKG51bGwhPT1uKXJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdChuLCExKSk7cj1uZXcgUHJvbWlzZSh0aGlzW2tIYW5kbGVQcm9taXNlXSl9cmV0dXJuIHRoaXNba0xhc3RQcm9taXNlXT1yLHJ9fSxTeW1ib2wuYXN5bmNJdGVyYXRvcixmdW5jdGlvbigpe3JldHVybiB0aGlzfSksX2RlZmluZVByb3BlcnR5KF9PYmplY3Qkc2V0UHJvdG90eXBlTyxcInJldHVyblwiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxyKXtlW2tTdHJlYW1dLmRlc3Ryb3kobnVsbCxmdW5jdGlvbihlKXtlP3IoZSk6dChjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpfSl9KX0pLF9PYmplY3Qkc2V0UHJvdG90eXBlTyksQXN5bmNJdGVyYXRvclByb3RvdHlwZSksY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yPWZ1bmN0aW9uKGUpe3ZhciB0LHI9T2JqZWN0LmNyZWF0ZShSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGUsKF9kZWZpbmVQcm9wZXJ0eSh0PXt9LGtTdHJlYW0se3ZhbHVlOmUsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrTGFzdFJlc29sdmUse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrTGFzdFJlamVjdCx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtFcnJvcix7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtFbmRlZCx7dmFsdWU6ZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0hhbmRsZVByb21pc2Use3ZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG89cltrU3RyZWFtXS5yZWFkKCk7bz8ocltrTGFzdFByb21pc2VdPW51bGwscltrTGFzdFJlc29sdmVdPW51bGwscltrTGFzdFJlamVjdF09bnVsbCxlKGNyZWF0ZUl0ZXJSZXN1bHQobywhMSkpKToocltrTGFzdFJlc29sdmVdPWUscltrTGFzdFJlamVjdF09dCl9LHdyaXRhYmxlOiEwfSksdCkpO3JldHVybiByW2tMYXN0UHJvbWlzZV09bnVsbCxmaW5pc2hlZChlLGZ1bmN0aW9uKGUpe2lmKGUmJlwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIiE9PWUuY29kZSl7dmFyIHQ9cltrTGFzdFJlamVjdF07cmV0dXJuIG51bGwhPT10JiYocltrTGFzdFByb21pc2VdPW51bGwscltrTGFzdFJlc29sdmVdPW51bGwscltrTGFzdFJlamVjdF09bnVsbCx0KGUpKSx2b2lkKHJba0Vycm9yXT1lKX12YXIgbz1yW2tMYXN0UmVzb2x2ZV07bnVsbCE9PW8mJihyW2tMYXN0UHJvbWlzZV09bnVsbCxyW2tMYXN0UmVzb2x2ZV09bnVsbCxyW2tMYXN0UmVqZWN0XT1udWxsLG8oY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKSkscltrRW5kZWRdPSEwfSksZS5vbihcInJlYWRhYmxlXCIsb25SZWFkYWJsZS5iaW5kKG51bGwscikpLHJ9O21vZHVsZS5leHBvcnRzPWNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltRnplVzVqWDJsMFpYSmhkRzl5TG1weklsMHNJbTVoYldWeklqcGJJbDlQWW1wbFkzUWtjMlYwVUhKdmRHOTBlWEJsVHlJc0lsOWtaV1pwYm1WUWNtOXdaWEowZVNJc0ltOWlhaUlzSW10bGVTSXNJblpoYkhWbElpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSmxiblZ0WlhKaFlteGxJaXdpWTI5dVptbG5kWEpoWW14bElpd2lkM0pwZEdGaWJHVWlMQ0ptYVc1cGMyaGxaQ0lzSW5KbGNYVnBjbVVpTENKclRHRnpkRkpsYzI5c2RtVWlMQ0pUZVcxaWIyd2lMQ0pyVEdGemRGSmxhbVZqZENJc0ltdEZjbkp2Y2lJc0ltdEZibVJsWkNJc0ltdE1ZWE4wVUhKdmJXbHpaU0lzSW10SVlXNWtiR1ZRY205dGFYTmxJaXdpYTFOMGNtVmhiU0lzSW1OeVpXRjBaVWwwWlhKU1pYTjFiSFFpTENKa2IyNWxJaXdpY21WaFpFRnVaRkpsYzI5c2RtVWlMQ0pwZEdWeUlpd2ljbVZ6YjJ4MlpTSXNJbVJoZEdFaUxDSnlaV0ZrSWl3aWIyNVNaV0ZrWVdKc1pTSXNJbkJ5YjJObGMzTWlMQ0p1WlhoMFZHbGpheUlzSW5keVlYQkdiM0pPWlhoMElpd2liR0Z6ZEZCeWIyMXBjMlVpTENKeVpXcGxZM1FpTENKMGFHVnVJaXdpZFc1a1pXWnBibVZrSWl3aVFYTjVibU5KZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU0lzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpVW1WaFpHRmliR1ZUZEhKbFlXMUJjM2x1WTBsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSWl3aWMyVjBVSEp2ZEc5MGVYQmxUMllpTENKemRISmxZVzBpTENKMGFHbHpJaXdpYm1WNGRDSXNJbDkwYUdseklpd2laWEp5YjNJaUxDSlFjbTl0YVhObElpd2laR1Z6ZEhKdmVXVmtJaXdpY0hKdmJXbHpaU0lzSW1GemVXNWpTWFJsY21GMGIzSWlMQ0pmZEdocGN6SWlMQ0prWlhOMGNtOTVJaXdpWlhKeUlpd2lZM0psWVhSbFVtVmhaR0ZpYkdWVGRISmxZVzFCYzNsdVkwbDBaWEpoZEc5eUlpd2lYMDlpYW1WamRDUmpjbVZoZEdVaUxDSnBkR1Z5WVhSdmNpSXNJbU55WldGMFpTSXNJbDl5WldGa1lXSnNaVk4wWVhSbElpd2laVzVrUlcxcGRIUmxaQ0lzSW1OdlpHVWlMQ0p2YmlJc0ltSnBibVFpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxITkNRVVZLTEZOQlFWTkRMR2RDUVVGblFrTXNSVUZCUzBNc1JVRkJTME1zUjBGQmFVc3NUMEZCY0VwRUxFdEJRVTlFTEVWQlFVOUhMRTlCUVU5RExHVkJRV1ZLTEVWQlFVdERMRVZCUVVzc1EwRkJSVU1zVFVGQlQwRXNSVUZCVDBjc1dVRkJXU3hGUVVGTlF5eGpRVUZqTEVWQlFVMURMRlZCUVZVc1NVRkJhMEpRTEVWQlFVbERMRWRCUVU5RExFVkJRV2RDUml4RlFVVXpUU3hKUVVGSlVTeFRRVUZYUXl4UlFVRlJMRzFDUVVWdVFrTXNZVUZCWlVNc1QwRkJUeXhsUVVOMFFrTXNXVUZCWTBRc1QwRkJUeXhqUVVOeVFrVXNUMEZCVTBZc1QwRkJUeXhUUVVOb1FrY3NUMEZCVTBnc1QwRkJUeXhUUVVOb1Fra3NZVUZCWlVvc1QwRkJUeXhsUVVOMFFrc3NaVUZCYVVKTUxFOUJRVThzYVVKQlEzaENUU3hSUVVGVlRpeFBRVUZQTEZWQlJYSkNMRk5CUVZOUExHbENRVUZwUW1oQ0xFVkJRVTlwUWl4SFFVTXZRaXhOUVVGUExFTkJRMHhxUWl4TlFVRlBRU3hGUVVOUWFVSXNTMEZCVFVFc1IwRkpWaXhUUVVGVFF5eGxRVUZsUXl4SFFVTjBRaXhKUVVGSlF5eEZRVUZWUkN4RlFVRkxXQ3hqUVVWdVFpeEhRVUZuUWl4UFFVRmFXU3hGUVVGclFpeERRVU53UWl4SlFVRkpReXhGUVVGUFJpeEZRVUZMU2l4VFFVRlRUeXhQUVVsYUxFOUJRVlJFTEVsQlEwWkdMRVZCUVV0T0xHTkJRV2RDTEV0QlEzSkNUU3hGUVVGTFdDeGpRVUZuUWl4TFFVTnlRbGNzUlVGQlMxUXNZVUZCWlN4TFFVTndRbFVzUlVGQlVVb3NhVUpCUVdsQ1N5eEhRVUZOTEUxQlMzSkRMRk5CUVZORkxGZEJRVmRLTEVkQlIyeENTeXhSUVVGUlF5eFRRVUZUVUN4bFFVRm5Ra01zUjBGSGJrTXNVMEZCVTA4c1dVRkJXVU1zUlVGQllWSXNSMEZEYUVNc1QwRkJUeXhUUVVGVlF5eEZRVUZUVVN4SFFVTjRRa1FzUlVGQldVVXNTMEZCU3l4WFFVTllWaXhGUVVGTFVDeFJRVU5RVVN4RlFVRlJTaXh6UWtGQmFVSmpMRWRCUVZjc1NVRkpkRU5ZTEVWQlFVdE1MR2RDUVVGblFrMHNSVUZCVTFFc1NVRkROMEpCTEVsQlNWQXNTVUZCU1Vjc2RVSkJRWGxDT1VJc1QwRkJUeXRDTEdWQlFXVXNZMEZETDBORExIRkRRVUYxUTJoRExFOUJRVTlwUXl4blFrRTBSQzlEY2tNc1owSkJOVVFyUkVRc2MwSkJRWGRDTEVOQlEzaEdkVU1zWVVGRFJTeFBRVUZQUXl4TFFVRkxja0lzVlVGSFpITkNMRXRCUVUwc1YwRkRTaXhKUVVGSlF5eEZRVUZSUml4TFFVbFNSeXhGUVVGUlNDeExRVUZMZWtJc1VVRkZha0lzUjBGQll5eFBRVUZXTkVJc1JVRkRSaXhQUVVGUFF5eFJRVUZSV2l4UFFVRlBWeXhIUVVkNFFpeEhRVUZKU0N4TFFVRkxlRUlzVVVGRFVDeFBRVUZQTkVJc1VVRkJVWEJDTEZGQlFWRktMSE5DUVVGcFFtTXNSMEZCVnl4SlFVZHlSQ3hIUVVGSlRTeExRVUZMY2tJc1UwRkJVekJDTEZWQlMyaENMRTlCUVU4c1NVRkJTVVFzVVVGQlVTeFRRVUZWY0VJc1JVRkJVMUVzUjBGRGNFTktMRkZCUVZGRExGTkJRVk1zVjBGRFdHRXNSVUZCVFROQ0xGRkJRMUpwUWl4RlFVRlBWU3hGUVVGTk0wSXNVMEZGWWxNc1JVRkJVVW9zYzBKQlFXbENZeXhIUVVGWExGRkJWVFZETEVsQlEwbFpMRVZCUkVGbUxFVkJRV05UTEV0QlFVdDJRaXhqUVVkMlFpeEhRVUZKWXl4RlFVTkdaU3hGUVVGVkxFbEJRVWxHTEZGQlFWRmtMRmxCUVZsRExFVkJRV0ZUTEZkQlF6RkRMRU5CUjB3c1NVRkJTV1lzUlVGQlQyVXNTMEZCUzNKQ0xGTkJRVk5QTEU5QlJYcENMRWRCUVdFc1QwRkJWRVFzUlVGRFJpeFBRVUZQYlVJc1VVRkJVWEJDTEZGQlFWRktMR2xDUVVGcFFrc3NSMEZCVFN4SlFVZG9SSEZDTEVWQlFWVXNTVUZCU1VZc1VVRkJVVW9zUzBGQlMzUkNMR2xDUVVrM1FpeFBRVVJCYzBJc1MwRkJTM1pDTEdOQlFXZENOa0lzUlVGRFpFRXNTVUZGSzBKcVF5eFBRVUZQYTBNc1kwRkJaU3hYUVVNNVJDeFBRVUZQVUN4UFFVTk1ka01zWjBKQlFXZENSQ3h6UWtGQmRVSXNVMEZCVlN4WFFVTnVSQ3hKUVVGSlowUXNSVUZCVTFJc1MwRkxZaXhQUVVGUExFbEJRVWxKTEZGQlFWRXNVMEZCVlhCQ0xFVkJRVk5STEVkQlEzQkRaMElzUlVGQlR6ZENMRk5CUVZNNFFpeFJRVUZSTEV0QlFVMHNVMEZCVlVNc1IwRkRiRU5CTEVWQlEwWnNRaXhGUVVGUGEwSXNSMEZKVkRGQ0xFVkJRVkZLTEhOQ1FVRnBRbU1zUjBGQlZ5eFZRVWQwUTJ4RExIVkNRVUYzUW0xRExIZENRVVY0UW1kQ0xHdERRVUZ2UXl4VFFVRXlRMW9zUjBGRGFrWXNTVUZCU1dFc1JVRkZRVU1zUlVGQlYyaEVMRTlCUVU5cFJDeFBRVUZQYWtJc2MwTkJRVFJFY0VNc1owSkJRWEpDYlVRc1JVRkJhVUlzUjBGQmIwTnFReXhSUVVGVExFTkJRMmhKWml4TlFVRlBiVU1zUlVGRFVEbENMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSjRReXhoUVVGakxFTkJRMmhFVWl4TlFVRlBMRXRCUTFCTExGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKMFF5eFpRVUZoTEVOQlF5OURWaXhOUVVGUExFdEJRMUJMTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEp5UXl4UFFVRlJMRU5CUXpGRFdDeE5RVUZQTEV0QlExQkxMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSndReXhQUVVGUkxFTkJRekZEV2l4TlFVRlBiVU1zUlVGQlQyZENMR1ZCUVdWRExGZEJRemRDTDBNc1ZVRkJWU3hKUVVOU1VpeG5Ra0ZCWjBKdFJDeEZRVUZuUW14RExHVkJRV2RDTEVOQlEyeEVaQ3hOUVVGUExGTkJRV1Z2UWl4RlFVRlRVU3hIUVVNM1FpeEpRVUZKVUN4RlFVRlBORUlzUlVGQlUyeERMRk5CUVZOUExFOUJSWHBDUkN4SFFVTkdORUlzUlVGQlUzQkRMR05CUVdkQ0xFdEJRM3BDYjBNc1JVRkJVM3BETEdOQlFXZENMRXRCUTNwQ2VVTXNSVUZCVTNaRExHRkJRV1VzUzBGRGVFSlZMRVZCUVZGS0xHbENRVUZwUWtzc1IwRkJUU3hOUVVVdlFqUkNMRVZCUVZONlF5eGpRVUZuUWxrc1JVRkRla0kyUWl4RlFVRlRka01zWVVGQlpXdENMRWxCUnpWQ2RrSXNWVUZCVlN4SlFVTlNNa01zU1VFNFFrb3NUMEUzUWtGRExFVkJRVk53UXl4alFVRm5RaXhMUVVONlFsQXNVMEZCVXpaQ0xFVkJRVkVzVTBGQlZWY3NSMEZEZWtJc1IwRkJTVUVzUjBGQmIwSXNLMEpCUVdKQkxFVkJRVWxQTEV0QlFYVkRMRU5CUTNCRUxFbEJRVWw2UWl4RlFVRlRjVUlzUlVGQlUzWkRMR0ZCVjNSQ0xFOUJVbVVzVDBGQldHdENMRWxCUTBaeFFpeEZRVUZUY0VNc1kwRkJaMElzUzBGRGVrSnZReXhGUVVGVGVrTXNZMEZCWjBJc1MwRkRla0o1UXl4RlFVRlRka01zWVVGQlpTeExRVU40UW10Q0xFVkJRVTlyUWl4VFFVZFVSeXhGUVVGVGRFTXNVVUZCVlcxRExFZEJTWEpDTEVsQlFVa3hRaXhGUVVGVk5rSXNSVUZCVTNwRExHTkJSVkFzVDBGQldsa3NTVUZEUmpaQ0xFVkJRVk53UXl4alFVRm5RaXhMUVVONlFtOURMRVZCUVZONlF5eGpRVUZuUWl4TFFVTjZRbmxETEVWQlFWTjJReXhoUVVGbExFdEJRM2hDVlN4RlFVRlJTaXh6UWtGQmFVSmpMRWRCUVZjc1MwRkhkRU50UWl4RlFVRlRja01zVTBGQlZTeEpRVVZ5UW5WQ0xFVkJRVTl0UWl4SFFVRkhMRmRCUVZrdlFpeFhRVUZYWjBNc1MwRkJTeXhMUVVGTlRpeEpRVU55UTBFc1IwRkhWRThzVDBGQlQwTXNVVUZCVlZZaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OHViblp0TDNabGNuTnBiMjV6TDI1dlpHVXZkakV5TGpJd0xqQXZiR2xpTDI1dlpHVmZiVzlrZFd4bGN5OTNZWFJqYUdsbWVTOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OWhjM2x1WTE5cGRHVnlZWFJ2Y2k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBvd25LZXlzKGUsdCl7dmFyIG49T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYocj1yLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSksbi5wdXNoLmFwcGx5KG4scil9cmV0dXJuIG59ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9vd25LZXlzKE9iamVjdChuKSwhMCkuZm9yRWFjaChmdW5jdGlvbih0KXtfZGVmaW5lUHJvcGVydHkoZSx0LG5bdF0pfSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSk6b3duS2V5cyhPYmplY3QobikpLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sdCkpfSl9cmV0dXJuIGV9ZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsdCxuKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW4sZX1mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoZSx0LG4pe3JldHVybiB0JiZfZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSx0KSxuJiZfZGVmaW5lUHJvcGVydGllcyhlLG4pLGV9dmFyIF9yZXF1aXJlPXJlcXVpcmUoXCJidWZmZXJcIiksQnVmZmVyPV9yZXF1aXJlLkJ1ZmZlcixfcmVxdWlyZTI9cmVxdWlyZShcInV0aWxcIiksaW5zcGVjdD1fcmVxdWlyZTIuaW5zcGVjdCxjdXN0b209aW5zcGVjdCYmaW5zcGVjdC5jdXN0b218fFwiaW5zcGVjdFwiO2Z1bmN0aW9uIGNvcHlCdWZmZXIoZSx0LG4pe0J1ZmZlci5wcm90b3R5cGUuY29weS5jYWxsKGUsdCxuKX1tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxlKSx0aGlzLmhlYWQ9bnVsbCx0aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfXJldHVybiBfY3JlYXRlQ2xhc3MoZSxbe2tleTpcInB1c2hcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD17ZGF0YTplLG5leHQ6bnVsbH07dGhpcy5sZW5ndGg+MD90aGlzLnRhaWwubmV4dD10OnRoaXMuaGVhZD10LHRoaXMudGFpbD10LCsrdGhpcy5sZW5ndGh9fSx7a2V5OlwidW5zaGlmdFwiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXtkYXRhOmUsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD10KSx0aGlzLmhlYWQ9dCwrK3RoaXMubGVuZ3RofX0se2tleTpcInNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciBlPXRoaXMuaGVhZC5kYXRhO3JldHVybiAxPT09dGhpcy5sZW5ndGg/dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsOnRoaXMuaGVhZD10aGlzLmhlYWQubmV4dCwtLXRoaXMubGVuZ3RoLGV9fX0se2tleTpcImNsZWFyXCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH19LHtrZXk6XCJqb2luXCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVyblwiXCI7Zm9yKHZhciB0PXRoaXMuaGVhZCxuPVwiXCIrdC5kYXRhO3Q9dC5uZXh0OyluKz1lK3QuZGF0YTtyZXR1cm4gbn19LHtrZXk6XCJjb25jYXRcIix2YWx1ZTpmdW5jdGlvbihlKXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtmb3IodmFyIHQ9QnVmZmVyLmFsbG9jVW5zYWZlKGU+Pj4wKSxuPXRoaXMuaGVhZCxyPTA7bjspY29weUJ1ZmZlcihuLmRhdGEsdCxyKSxyKz1uLmRhdGEubGVuZ3RoLG49bi5uZXh0O3JldHVybiB0fX0se2tleTpcImNvbnN1bWVcIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuO3JldHVybiBlPHRoaXMuaGVhZC5kYXRhLmxlbmd0aD8obj10aGlzLmhlYWQuZGF0YS5zbGljZSgwLGUpLHRoaXMuaGVhZC5kYXRhPXRoaXMuaGVhZC5kYXRhLnNsaWNlKGUpKTpuPWU9PT10aGlzLmhlYWQuZGF0YS5sZW5ndGg/dGhpcy5zaGlmdCgpOnQ/dGhpcy5fZ2V0U3RyaW5nKGUpOnRoaXMuX2dldEJ1ZmZlcihlKSxufX0se2tleTpcImZpcnN0XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oZWFkLmRhdGF9fSx7a2V5OlwiX2dldFN0cmluZ1wiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaGVhZCxuPTEscj10LmRhdGE7Zm9yKGUtPXIubGVuZ3RoO3Q9dC5uZXh0Oyl7dmFyIGE9dC5kYXRhLGk9ZT5hLmxlbmd0aD9hLmxlbmd0aDplO2lmKGk9PT1hLmxlbmd0aD9yKz1hOnIrPWEuc2xpY2UoMCxlKSwwPT09KGUtPWkpKXtpPT09YS5sZW5ndGg/KCsrbix0Lm5leHQ/dGhpcy5oZWFkPXQubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9dCx0LmRhdGE9YS5zbGljZShpKSk7YnJlYWt9KytufXJldHVybiB0aGlzLmxlbmd0aC09bixyfX0se2tleTpcIl9nZXRCdWZmZXJcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1CdWZmZXIuYWxsb2NVbnNhZmUoZSksbj10aGlzLmhlYWQscj0xO2ZvcihuLmRhdGEuY29weSh0KSxlLT1uLmRhdGEubGVuZ3RoO249bi5uZXh0Oyl7dmFyIGE9bi5kYXRhLGk9ZT5hLmxlbmd0aD9hLmxlbmd0aDplO2lmKGEuY29weSh0LHQubGVuZ3RoLWUsMCxpKSwwPT09KGUtPWkpKXtpPT09YS5sZW5ndGg/KCsrcixuLm5leHQ/dGhpcy5oZWFkPW4ubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9bixuLmRhdGE9YS5zbGljZShpKSk7YnJlYWt9KytyfXJldHVybiB0aGlzLmxlbmd0aC09cix0fX0se2tleTpjdXN0b20sdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaW5zcGVjdCh0aGlzLF9vYmplY3RTcHJlYWQoe30sdCx7ZGVwdGg6MCxjdXN0b21JbnNwZWN0OiExfSkpfX1dKSxlfSgpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMVptWmxjbDlzYVhOMExtcHpJbDBzSW01aGJXVnpJanBiSW05M2JrdGxlWE1pTENKdlltcGxZM1FpTENKbGJuVnRaWEpoWW14bFQyNXNlU0lzSW10bGVYTWlMQ0pQWW1wbFkzUWlMQ0puWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNaUxDSnplVzFpYjJ4eklpd2labWxzZEdWeUlpd2ljM2x0SWl3aVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbkIxYzJnaUxDSmhjSEJzZVNJc0lsOXZZbXBsWTNSVGNISmxZV1FpTENKMFlYSm5aWFFpTENKcElpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpYzI5MWNtTmxJaXdpWm05eVJXRmphQ0lzSW10bGVTSXNJbDlrWldacGJtVlFjbTl3WlhKMGVTSXNJbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNuTWlMQ0prWldacGJtVlFjbTl3WlhKMGFXVnpJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p2WW1vaUxDSjJZV3gxWlNJc0ltTnZibVpwWjNWeVlXSnNaU0lzSW5keWFYUmhZbXhsSWl3aVgyTnNZWE56UTJGc2JFTm9aV05ySWl3aWFXNXpkR0Z1WTJVaUxDSkRiMjV6ZEhKMVkzUnZjaUlzSWxSNWNHVkZjbkp2Y2lJc0lsOWtaV1pwYm1WUWNtOXdaWEowYVdWeklpd2ljSEp2Y0hNaUxDSmtaWE5qY21sd2RHOXlJaXdpWDJOeVpXRjBaVU5zWVhOeklpd2ljSEp2ZEc5UWNtOXdjeUlzSW5OMFlYUnBZMUJ5YjNCeklpd2ljSEp2ZEc5MGVYQmxJaXdpWDNKbGNYVnBjbVVpTENKeVpYRjFhWEpsSWl3aVFuVm1abVZ5SWl3aVgzSmxjWFZwY21VeUlpd2lhVzV6Y0dWamRDSXNJbU4xYzNSdmJTSXNJbU52Y0hsQ2RXWm1aWElpTENKemNtTWlMQ0p2Wm1aelpYUWlMQ0pqYjNCNUlpd2lZMkZzYkNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkNkV1ptWlhKTWFYTjBJaXdpZEdocGN5SXNJbWhsWVdRaUxDSjBZV2xzSWl3aWRpSXNJbVZ1ZEhKNUlpd2laR0YwWVNJc0ltNWxlSFFpTENKeVpYUWlMQ0p6SWl3aWNDSXNJbTRpTENKaGJHeHZZeUlzSW1Gc2JHOWpWVzV6WVdabElpd2lhR0Z6VTNSeWFXNW5jeUlzSW5Oc2FXTmxJaXdpYzJocFpuUWlMQ0pmWjJWMFUzUnlhVzVuSWl3aVgyZGxkRUoxWm1abGNpSXNJbU1pTENKemRISWlMQ0p1WWlJc0ltSjFaaUlzSWw4aUxDSnZjSFJwYjI1eklpd2laR1Z3ZEdnaUxDSmpkWE4wYjIxSmJuTndaV04wSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRk5CUVZOQkxGRkJRVkZETEVWQlFWRkRMRWRCUVd0Q0xFbEJRVWxETEVWQlFVOURMRTlCUVU5RUxFdEJRVXRHTEVkQlFWTXNSMEZCU1Vjc1QwRkJUME1zYzBKQlFYVkNMRU5CUVVVc1NVRkJTVU1zUlVGQlZVWXNUMEZCVDBNc2MwSkJRWE5DU2l4SFFVRmhReXhKUVVGblFra3NSVUZCVlVFc1JVRkJVVU1zVDBGQlR5eFRRVUZWUXl4SFFVRlBMRTlCUVU5S0xFOUJRVTlMTEhsQ1FVRjVRbElzUlVGQlVVOHNSMEZCUzBVc1kwRkJaMEpRTEVWQlFVdFJMRXRCUVV0RExFMUJRVTFVTEVWQlFVMUhMRWRCUVZrc1QwRkJUMGdzUlVGRk9WVXNVMEZCVTFVc1kwRkJZME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRVZCUVVrc1JVRkJSMEVzUlVGQlNVTXNWVUZCVlVNc1QwRkJVVVlzU1VGQlN5eERRVUZGTEVsQlFVbEhMRVZCUVhsQ0xFMUJRV2hDUml4VlFVRlZSQ3hIUVVGaFF5eFZRVUZWUkN4SFFVRkxMRWRCUVZGQkxFVkJRVWtzUlVGQlMyWXNVVUZCVVVrc1QwRkJUMk1zU1VGQlV5eEhRVUZOUXl4UlFVRlJMRk5CUVZWRExFZEJRVTlETEdkQ1FVRm5RbEFzUlVGQlVVMHNSVUZCUzBZc1JVRkJUMFVzVFVGQmMwSm9RaXhQUVVGUGEwSXNNRUpCUVRaQ2JFSXNUMEZCVDIxQ0xHbENRVUZwUWxRc1JVRkJVVllzVDBGQlQydENMREJDUVVFd1Frb3NTVUZCYlVKc1FpeFJRVUZSU1N4UFFVRlBZeXhKUVVGVFF5eFJRVUZSTEZOQlFWVkRMRWRCUVU5b1FpeFBRVUZQYjBJc1pVRkJaVllzUlVGQlVVMHNSVUZCUzJoQ0xFOUJRVTlMTEhsQ1FVRjVRbE1zUlVGQlVVVXNUVUZCWlN4UFFVRlBUaXhGUVVVM1owSXNVMEZCVTA4c1owSkJRV2RDU1N4RlFVRkxUQ3hGUVVGTFRTeEhRVUZwU3l4UFFVRndTazRzUzBGQlQwc3NSVUZCVDNKQ0xFOUJRVTl2UWl4bFFVRmxReXhGUVVGTFRDeEZRVUZMTEVOQlFVVk5MRTFCUVU5QkxFVkJRVTlvUWl4WlFVRlpMRVZCUVUxcFFpeGpRVUZqTEVWQlFVMURMRlZCUVZVc1NVRkJhMEpJTEVWQlFVbE1MRWRCUVU5TkxFVkJRV2RDUkN4RlFVVXpUU3hUUVVGVFNTeG5Ra0ZCWjBKRExFVkJRVlZETEVkQlFXVXNTMEZCVFVRc1lVRkJiMEpETEVkQlFXZENMRTFCUVUwc1NVRkJTVU1zVlVGQlZTeHhRMEZGYUVnc1UwRkJVME1zYTBKQlFXdENia0lzUlVGQlVXOUNMRWRCUVZNc1NVRkJTeXhKUVVGSmJrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmJVSXNSVUZCVFdwQ0xFOUJRVkZHTEVsQlFVc3NRMEZCUlN4SlFVRkpiMElzUlVGQllVUXNSVUZCVFc1Q0xFZEJRVWx2UWl4RlFVRlhla0lzVjBGQllYbENMRVZCUVZkNlFpeGhRVUZqTEVWQlFVOTVRaXhGUVVGWFVpeGpRVUZsTEVWQlFWVXNWVUZCVjFFc1NVRkJXVUVzUlVGQlYxQXNWVUZCVnl4SFFVRk5lRUlzVDBGQlQyOUNMR1ZCUVdWV0xFVkJRVkZ4UWl4RlFVRlhaaXhKUVVGTFpTeEpRVVUzVXl4VFFVRlRReXhoUVVGaFRDeEZRVUZoVFN4RlFVRlpReXhIUVVGdFNpeFBRVUZvU1VRc1IwRkJXVW9zYTBKQlFXdENSaXhGUVVGWlVTeFZRVUZYUml4SFFVRnBRa01zUjBGQllVd3NhMEpCUVd0Q1JpeEZRVUZoVHl4SFFVRnhRbEFzUlVGRmVrMHNTVUZCU1ZNc1UwRkJWME1zVVVGQlVTeFZRVU51UWtNc1QwRkJVMFlzVTBGQlUwVXNUMEZGYkVKRExGVkJRVmxHTEZGQlFWRXNVVUZEY0VKSExGRkJRVlZFTEZWQlFWVkRMRkZCUlhCQ1F5eFBRVUZUUkN4VFFVRlhRU3hSUVVGUlF5eFJRVUZWTEZWQlJURkRMRk5CUVZORExGZEJRVmRETEVWQlFVdHFReXhGUVVGUmEwTXNSMEZETDBKT0xFOUJRVTlJTEZWQlFWVlZMRXRCUVV0RExFdEJRVXRJTEVWQlFVdHFReXhGUVVGUmEwTXNSMEZITVVOSExFOUJRVTlETEZGQlJWQXNWMEZEUlN4VFFVRlRReXhKUVVOUWVFSXNaMEpCUVdkQ2VVSXNTMEZCVFVRc1IwRkZkRUpETEV0QlFVdERMRXRCUVU4c1MwRkRXa1FzUzBGQlMwVXNTMEZCVHl4TFFVTmFSaXhMUVVGTGNrTXNUMEZCVXl4RlFUaExhRUlzVDBFelMwRnRRaXhoUVVGaGFVSXNSVUZCV1N4RFFVRkRMRU5CUTNoQ2FrTXNTVUZCU3l4UFFVTk1UU3hOUVVGUExGTkJRV01yUWl4SFFVTnVRaXhKUVVGSlF5eEZRVUZSTEVOQlExWkRMRXRCUVUxR0xFVkJRMDVITEV0QlFVMHNUVUZGU2s0c1MwRkJTM0pETEU5QlFWTXNSVUZCUjNGRExFdEJRVXRGTEV0QlFVdEpMRXRCUVU5R0xFVkJRVmRLTEV0QlFVdERMRXRCUVU5SExFVkJRemRFU2l4TFFVRkxSU3hMUVVGUFJTeEpRVU5XU2l4TFFVRkxja01zVTBGRlVpeERRVU5FUnl4SlFVRkxMRlZCUTB4TkxFMUJRVThzVTBGQmFVSXJRaXhIUVVOMFFpeEpRVUZKUXl4RlFVRlJMRU5CUTFaRExFdEJRVTFHTEVWQlEwNUhMRXRCUVUxT0xFdEJRVXRETEUxQlJVOHNTVUZCYUVKRUxFdEJRVXR5UXl4VFFVRmpjVU1zUzBGQlMwVXNTMEZCVDBVc1IwRkRia05LTEV0QlFVdERMRXRCUVU5SExFbEJRMVpLTEV0QlFVdHlReXhUUVVWU0xFTkJRMFJITEVsQlFVc3NVVUZEVEUwc1RVRkJUeXhYUVVOTUxFZEJRVzlDTEVsQlFXaENORUlzUzBGQlMzSkRMRTlCUVZRc1EwRkRRU3hKUVVGSk5FTXNSVUZCVFZBc1MwRkJTME1zUzBGQlMwa3NTMEZIY0VJc1QwRkdiMElzU1VGQmFFSk1MRXRCUVV0eVF5eFBRVUZqY1VNc1MwRkJTME1zUzBGQlQwUXNTMEZCUzBVc1MwRkJUeXhMUVVGVlJpeExRVUZMUXl4TFFVRlBSQ3hMUVVGTFF5eExRVUZMU3l4UFFVTTNSVTRzUzBGQlMzSkRMRTlCUTBFMFF5eExRVVZTTEVOQlEwUjZReXhKUVVGTExGRkJRMHhOTEUxQlFVOHNWMEZEVERSQ0xFdEJRVXRETEV0QlFVOUVMRXRCUVV0RkxFdEJRVThzUzBGRGVFSkdMRXRCUVV0eVF5eFBRVUZUTEVsQlJXWXNRMEZEUkVjc1NVRkJTeXhQUVVOTVRTeE5RVUZQTEZOQlFXTnZReXhIUVVOdVFpeEhRVUZ2UWl4SlFVRm9RbElzUzBGQlMzSkRMRTlCUVdNc1RVRkJUeXhIUVVrNVFpeEpRVWhCTEVsQlFVazRReXhGUVVGSlZDeExRVUZMUXl4TFFVTlVUU3hGUVVGTkxFZEJRVXRGTEVWQlFVVktMRXRCUlZaSkxFVkJRVWxCTEVWQlFVVklMRTFCUTFoRExFZEJRVTlETEVWQlFVbERMRVZCUVVWS0xFdEJSMllzVDBGQlQwVXNTVUZGVWl4RFFVTkVla01zU1VGQlN5eFRRVU5NVFN4TlFVRlBMRk5CUVdkQ2MwTXNSMEZEY2tJc1IwRkJiMElzU1VGQmFFSldMRXRCUVV0eVF5eFBRVUZqTEU5QlFVOTVRaXhQUVVGUGRVSXNUVUZCVFN4SFFVc3pReXhKUVVwQkxFbEJRVWxLTEVWQlFVMXVRaXhQUVVGUGQwSXNXVUZCV1VZc1NVRkJUU3hIUVVNdlFrUXNSVUZCU1ZRc1MwRkJTME1zUzBGRFZIaERMRVZCUVVrc1JVRkZSR2RFTEVkQlEweHFRaXhYUVVGWGFVSXNSVUZCUlVvc1MwRkJUVVVzUlVGQlN6bERMRWRCUTNoQ1FTeEhRVUZMWjBRc1JVRkJSVW9zUzBGQlN6RkRMRTlCUTFvNFF5eEZRVUZKUVN4RlFVRkZTQ3hMUVVkU0xFOUJRVTlETEVsQlIxSXNRMEZEUkhwRExFbEJRVXNzVlVGRFRFMHNUVUZCVHl4VFFVRnBRbk5ETEVWQlFVZEhMRWRCUTNwQ0xFbEJRVWxPTEVWQlkwb3NUMEZhU1Vjc1JVRkJTVllzUzBGQlMwTXNTMEZCUzBrc1MwRkJTekZETEZGQlJYSkNORU1zUlVGQlRWQXNTMEZCUzBNc1MwRkJTMGtzUzBGQlMxTXNUVUZCVFN4RlFVRkhTaXhIUVVNNVFsWXNTMEZCUzBNc1MwRkJTMGtzUzBGQlQwd3NTMEZCUzBNc1MwRkJTMGtzUzBGQlMxTXNUVUZCVFVvc1NVRkhkRU5JTEVWQlJsTkhMRWxCUVUxV0xFdEJRVXRETEV0QlFVdEpMRXRCUVVzeFF5eFBRVVY0UW5GRExFdEJRVXRsTEZGQlIweEdMRVZCUVdGaUxFdEJRVXRuUWl4WFFVRlhUaXhIUVVGTFZpeExRVUZMYVVJc1YwRkJWMUFzUjBGSGJrUklMRWxCUlZJc1EwRkRSSHBETEVsQlFVc3NVVUZEVEUwc1RVRkJUeXhYUVVOTUxFOUJRVTgwUWl4TFFVRkxReXhMUVVGTFNTeFBRVWRzUWl4RFFVTkVka01zU1VGQlN5eGhRVU5NVFN4TlFVRlBMRk5CUVc5Q2MwTXNSMEZEZWtJc1NVRkJTVVFzUlVGQlNWUXNTMEZCUzBNc1MwRkRWR2xDTEVWQlFVa3NSVUZEU2xnc1JVRkJUVVVzUlVGQlJVb3NTMEZIV2l4SlFVWkJTeXhIUVVGTFNDeEZRVUZKTlVNc1QwRkZSamhETEVWQlFVbEJMRVZCUVVWSUxFMUJRVTBzUTBGRGFrSXNTVUZCU1dFc1JVRkJUVllzUlVGQlJVb3NTMEZEVW1Vc1JVRkJTMVlzUlVGQlNWTXNSVUZCU1hoRUxFOUJRVk4zUkN4RlFVRkplRVFzVDBGQlV5dERMRVZCU1haRExFZEJTRWxWTEVsQlFVOUVMRVZCUVVsNFJDeFBRVUZSTkVNc1IwRkJUMWtzUlVGQlUxb3NSMEZCVDFrc1JVRkJTVXdzVFVGQlRTeEZRVUZIU2l4SFFVZHFSQ3hMUVVaV1FTeEhRVUZMVlN4SFFVVlJMRU5CUTFCQkxFbEJRVTlFTEVWQlFVbDRSQ3hWUVVOWWRVUXNSVUZEUlZRc1JVRkJSVWdzUzBGQlRVNHNTMEZCUzBNc1MwRkJUMUVzUlVGQlJVZ3NTMEZCVlU0c1MwRkJTME1zUzBGQlQwUXNTMEZCUzBVc1MwRkJUeXhQUVVVMVJFWXNTMEZCUzBNc1MwRkJUMUVzUlVGRFdrRXNSVUZCUlVvc1MwRkJUMk1zUlVGQlNVd3NUVUZCVFUwc1NVRkhja0lzVVVGSFFVWXNSVUZKU2l4UFFVUkJiRUlzUzBGQlMzSkRMRkZCUVZWMVJDeEZRVU5TV0N4SlFVZFNMRU5CUTBSNlF5eEpRVUZMTEdGQlEweE5MRTFCUVU4c1UwRkJiMEp6UXl4SFFVTjZRaXhKUVVGSlNDeEZRVUZOYmtJc1QwRkJUM2RDTEZsQlFWbEdMRWRCUTNwQ1JDeEZRVUZKVkN4TFFVRkxReXhMUVVOVWFVSXNSVUZCU1N4RlFVbFNMRWxCU0VGVUxFVkJRVVZLTEV0QlFVdFdMRXRCUVV0WkxFZEJRMXBITEVkQlFVdEVMRVZCUVVWS0xFdEJRVXN4UXl4UFFVVk1PRU1zUlVGQlNVRXNSVUZCUlVnc1RVRkJUU3hEUVVOcVFpeEpRVUZKWlN4RlFVRk5XaXhGUVVGRlNpeExRVU5TWlN4RlFVRkxWaXhGUVVGSlZ5eEZRVUZKTVVRc1QwRkJVekJFTEVWQlFVa3hSQ3hQUVVGVEswTXNSVUZKZGtNc1IwRklRVmNzUlVGQlNURkNMRXRCUVV0WkxFVkJRVXRCTEVWQlFVazFReXhQUVVGVEswTXNSVUZCUnl4RlFVRkhWU3hIUVVkMlFpeExRVVpXVml4SFFVRkxWU3hIUVVWUkxFTkJRMUJCTEVsQlFVOURMRVZCUVVreFJDeFZRVU5ZZFVRc1JVRkRSVlFzUlVGQlJVZ3NTMEZCVFU0c1MwRkJTME1zUzBGQlQxRXNSVUZCUlVnc1MwRkJWVTRzUzBGQlMwTXNTMEZCVDBRc1MwRkJTMFVzUzBGQlR5eFBRVVUxUkVZc1MwRkJTME1zUzBGQlQxRXNSVUZEV2tFc1JVRkJSVW9zUzBGQlQyZENMRVZCUVVsUUxFMUJRVTFOTEVsQlIzSkNMRkZCUjBGR0xFVkJTVW9zVDBGRVFXeENMRXRCUVV0eVF5eFJRVUZWZFVRc1JVRkRVbGdzU1VGSFVpeERRVU5FZWtNc1NVRkJTM2xDTEU5QlEweHVRaXhOUVVGUExGTkJRV1ZyUkN4RlFVRkhReXhIUVVOMlFpeFBRVUZQYWtNc1VVRkJVVlVzUzBGQlRYcERMR05CUVdNc1IwRkJTV2RGTEVWQlFWTXNRMEZGT1VORExFMUJRVThzUlVGRlVFTXNaVUZCWlN4VFFVdGtNVUlzUlVGd1RGUWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTh1Ym5adEwzWmxjbk5wYjI1ekwyNXZaR1V2ZGpFeUxqSXdMakF2YkdsaUwyNXZaR1ZmYlc5a2RXeGxjeTkzWVhSamFHbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBkZXN0cm95KHQsZSl7dmFyIHI9dGhpcyxpPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLGE9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIGl8fGE/KGU/ZSh0KTp0JiYodGhpcy5fd3JpdGFibGVTdGF0ZT90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZHx8KHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyx0KSk6cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLHQpKSx0aGlzKToodGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX2Rlc3Ryb3kodHx8bnVsbCxmdW5jdGlvbih0KXshZSYmdD9yLl93cml0YWJsZVN0YXRlP3IuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkP3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscik6KHIuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCxyLHQpKTpwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscix0KTplPyhwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpLGUodCkpOnByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscil9KSx0aGlzKX1mdW5jdGlvbiBlbWl0RXJyb3JBbmRDbG9zZU5UKHQsZSl7ZW1pdEVycm9yTlQodCxlKSxlbWl0Q2xvc2VOVCh0KX1mdW5jdGlvbiBlbWl0Q2xvc2VOVCh0KXt0Ll93cml0YWJsZVN0YXRlJiYhdC5fd3JpdGFibGVTdGF0ZS5lbWl0Q2xvc2V8fHQuX3JlYWRhYmxlU3RhdGUmJiF0Ll9yZWFkYWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5lbWl0KFwiY2xvc2VcIil9ZnVuY3Rpb24gdW5kZXN0cm95KCl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD0hMSksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmc9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5hbENhbGxlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLnByZWZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfWZ1bmN0aW9uIGVtaXRFcnJvck5UKHQsZSl7dC5lbWl0KFwiZXJyb3JcIixlKX1mdW5jdGlvbiBlcnJvck9yRGVzdHJveSh0LGUpe3ZhciByPXQuX3JlYWRhYmxlU3RhdGUsaT10Ll93cml0YWJsZVN0YXRlO3ImJnIuYXV0b0Rlc3Ryb3l8fGkmJmkuYXV0b0Rlc3Ryb3k/dC5kZXN0cm95KGUpOnQuZW1pdChcImVycm9yXCIsZSl9bW9kdWxlLmV4cG9ydHM9e2Rlc3Ryb3k6ZGVzdHJveSx1bmRlc3Ryb3k6dW5kZXN0cm95LGVycm9yT3JEZXN0cm95OmVycm9yT3JEZXN0cm95fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxjM1J5YjNrdWFuTWlYU3dpYm1GdFpYTWlPbHNpWkdWemRISnZlU0lzSW1WeWNpSXNJbU5pSWl3aVgzUm9hWE1pTENKMGFHbHpJaXdpY21WaFpHRmliR1ZFWlhOMGNtOTVaV1FpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW1SbGMzUnliM2xsWkNJc0luZHlhWFJoWW14bFJHVnpkSEp2ZVdWa0lpd2lYM2R5YVhSaFlteGxVM1JoZEdVaUxDSmxjbkp2Y2tWdGFYUjBaV1FpTENKd2NtOWpaWE56SWl3aWJtVjRkRlJwWTJzaUxDSmxiV2wwUlhKeWIzSk9WQ0lzSWw5a1pYTjBjbTk1SWl3aVpXMXBkRU5zYjNObFRsUWlMQ0psYldsMFJYSnliM0pCYm1SRGJHOXpaVTVVSWl3aWMyVnNaaUlzSW1WdGFYUkRiRzl6WlNJc0ltVnRhWFFpTENKMWJtUmxjM1J5YjNraUxDSnlaV0ZrYVc1bklpd2laVzVrWldRaUxDSmxibVJGYldsMGRHVmtJaXdpWlc1a2FXNW5JaXdpWm1sdVlXeERZV3hzWldRaUxDSndjbVZtYVc1cGMyaGxaQ0lzSW1acGJtbHphR1ZrSWl3aVpYSnliM0pQY2tSbGMzUnliM2tpTENKemRISmxZVzBpTENKeVUzUmhkR1VpTENKM1UzUmhkR1VpTENKaGRYUnZSR1Z6ZEhKdmVTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1UwRkJVMEVzVVVGQlVVTXNSVUZCUzBNc1IwRkRjRUlzU1VGQlNVTXNSVUZCVVVNc1MwRkZVa01zUlVGQmIwSkVMRXRCUVV0RkxHZENRVUZyUWtZc1MwRkJTMFVzWlVGQlpVTXNWVUZETDBSRExFVkJRVzlDU2l4TFFVRkxTeXhuUWtGQmEwSk1MRXRCUVV0TExHVkJRV1ZHTEZWQlJXNUZMRTlCUVVsR0xFZEJRWEZDUnl4SFFVTnVRazRzUlVGRFJrRXNSVUZCUjBRc1IwRkRUVUVzU1VGRFNrY3NTMEZCUzBzc1pVRkZSVXdzUzBGQlMwc3NaVUZCWlVNc1pVRkRPVUpPTEV0QlFVdExMR1ZCUVdWRExHTkJRV1VzUlVGRGJrTkRMRkZCUVZGRExGTkJRVk5ETEZsQlFXRlVMRXRCUVUxSUxFbEJTSEJEVlN4UlFVRlJReXhUUVVGVFF5eFpRVUZoVkN4TFFVRk5TQ3hKUVU5cVEwY3NUMEZMVEVFc1MwRkJTMFVzYVVKQlExQkdMRXRCUVV0RkxHVkJRV1ZETEZkQlFWa3NSMEZKT1VKSUxFdEJRVXRMTEdsQ1FVTlFUQ3hMUVVGTFN5eGxRVUZsUml4WFFVRlpMRWRCUjJ4RFNDeExRVUZMVlN4VFFVRlRZaXhIUVVGUExFdEJRVTBzVTBGQlZVRXNTVUZET1VKRExFZEJRVTFFTEVWQlEwcEZMRVZCUVUxTkxHVkJSVU5PTEVWQlFVMU5MR1ZCUVdWRExHRkJTUzlDUXl4UlFVRlJReXhUUVVGVFJ5eFpRVUZoV2l4SlFVZzVRa0VzUlVGQlRVMHNaVUZCWlVNc1kwRkJaU3hGUVVOd1EwTXNVVUZCVVVNc1UwRkJVMGtzYjBKQlFYRkNZaXhGUVVGUFJpeEpRVWczUTFVc1VVRkJVVU1zVTBGQlUwa3NiMEpCUVhGQ1lpeEZRVUZQUml4SFFVOTBRME1zUjBGRFZGTXNVVUZCVVVNc1UwRkJVMGNzV1VGQllWb3NSMEZET1VKRUxFVkJRVWRFTEVsQlJVaFZMRkZCUVZGRExGTkJRVk5ITEZsQlFXRmFMRXRCU1ROQ1F5eE5RVWRVTEZOQlFWTlpMRzlDUVVGdlFrTXNSVUZCVFdoQ0xFZEJRMnBEV1N4WlFVRlpTU3hGUVVGTmFFSXNSMEZEYkVKakxGbEJRVmxGTEVkQlIyUXNVMEZCVTBZc1dVRkJXVVVzUjBGRFprRXNSVUZCUzFJc2FVSkJRVzFDVVN4RlFVRkxVaXhsUVVGbFV5eFhRVU0xUTBRc1JVRkJTMWdzYVVKQlFXMUNWeXhGUVVGTFdDeGxRVUZsV1N4WFFVTm9SRVFzUlVGQlMwVXNTMEZCU3l4VFFVZGFMRk5CUVZORExGbEJRMGhvUWl4TFFVRkxSU3hwUWtGRFVFWXNTMEZCUzBVc1pVRkJaVU1zVjBGQldTeEZRVU5vUTBnc1MwRkJTMFVzWlVGQlpXVXNVMEZCVlN4RlFVTTVRbXBDTEV0QlFVdEZMR1ZCUVdWblFpeFBRVUZSTEVWQlF6VkNiRUlzUzBGQlMwVXNaVUZCWldsQ0xGbEJRV0VzUjBGSEwwSnVRaXhMUVVGTFN5eHBRa0ZEVUV3c1MwRkJTMHNzWlVGQlpVWXNWMEZCV1N4RlFVTm9RMGdzUzBGQlMwc3NaVUZCWldFc1QwRkJVU3hGUVVNMVFteENMRXRCUVV0TExHVkJRV1ZsTEZGQlFWTXNSVUZETjBKd1FpeExRVUZMU3l4bFFVRmxaMElzWVVGQll5eEZRVU5zUTNKQ0xFdEJRVXRMTEdWQlFXVnBRaXhoUVVGakxFVkJRMnhEZEVJc1MwRkJTMHNzWlVGQlpXdENMRlZCUVZjc1JVRkRMMEoyUWl4TFFVRkxTeXhsUVVGbFF5eGpRVUZsTEVkQlNYWkRMRk5CUVZOSExGbEJRVmxKTEVWQlFVMW9RaXhIUVVONlFtZENMRVZCUVV0RkxFdEJRVXNzVVVGQlUyeENMRWRCUjNKQ0xGTkJRVk15UWl4bFFVRmxReXhGUVVGUk5VSXNSMEZOT1VJc1NVRkJTVFpDTEVWQlFWTkVMRVZCUVU5MlFpeGxRVU5vUW5sQ0xFVkJRVk5HTEVWQlFVOXdRaXhsUVVOb1FuRkNMRWRCUVZWQkxFVkJRVTlGTEdGQlFXVkVMRWRCUVZWQkxFVkJRVTlETEZsQlFXRklMRVZCUVU4M1FpeFJRVUZSUXl4SFFVRlZORUlzUlVGQlQxWXNTMEZCU3l4UlFVRlRiRUlzUjBGSGJFaG5ReXhQUVVGUFF5eFJRVUZWTEVOQlEyWnNReXhSUVVGVFFTeFJRVU5VYjBJc1ZVRkJWMEVzVlVGRFdGRXNaVUZCWjBKQklpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZMbTUyYlM5MlpYSnphVzl1Y3k5dWIyUmxMM1l4TWk0eU1DNHdMMnhwWWk5dWIyUmxYMjF2WkhWc1pYTXZkMkYwWTJocFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZaR1Z6ZEhKdmVTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFPXJlcXVpcmUoXCIuLi8uLi8uLi9lcnJvcnNcIikuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7ZnVuY3Rpb24gb25jZShlKXt2YXIgcj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighcil7cj0hMDtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheSh0KSxvPTA7bzx0O28rKyluW29dPWFyZ3VtZW50c1tvXTtlLmFwcGx5KHRoaXMsbil9fX1mdW5jdGlvbiBub29wKCl7fWZ1bmN0aW9uIGlzUmVxdWVzdChlKXtyZXR1cm4gZS5zZXRIZWFkZXImJlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuYWJvcnR9ZnVuY3Rpb24gZW9zKGUscix0KXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiByKXJldHVybiBlb3MoZSxudWxsLHIpO3J8fChyPXt9KSx0PW9uY2UodHx8bm9vcCk7dmFyIG49ci5yZWFkYWJsZXx8ITEhPT1yLnJlYWRhYmxlJiZlLnJlYWRhYmxlLG89ci53cml0YWJsZXx8ITEhPT1yLndyaXRhYmxlJiZlLndyaXRhYmxlLGk9ZnVuY3Rpb24oKXtlLndyaXRhYmxlfHxsKCl9LGE9ZS5fd3JpdGFibGVTdGF0ZSYmZS5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCxsPWZ1bmN0aW9uKCl7bz0hMSxhPSEwLG58fHQuY2FsbChlKX0scz1lLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsYz1mdW5jdGlvbigpe249ITEscz0hMCxvfHx0LmNhbGwoZSl9LHU9ZnVuY3Rpb24ocil7dC5jYWxsKGUscil9LGY9ZnVuY3Rpb24oKXt2YXIgcjtyZXR1cm4gbiYmIXM/KGUuX3JlYWRhYmxlU3RhdGUmJmUuX3JlYWRhYmxlU3RhdGUuZW5kZWR8fChyPW5ldyBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSksdC5jYWxsKGUscikpOm8mJiFhPyhlLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmVuZGVkfHwocj1uZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UpLHQuY2FsbChlLHIpKTp2b2lkIDB9LGQ9ZnVuY3Rpb24oKXtlLnJlcS5vbihcImZpbmlzaFwiLGwpfTtyZXR1cm4gaXNSZXF1ZXN0KGUpPyhlLm9uKFwiY29tcGxldGVcIixsKSxlLm9uKFwiYWJvcnRcIixmKSxlLnJlcT9kKCk6ZS5vbihcInJlcXVlc3RcIixkKSk6byYmIWUuX3dyaXRhYmxlU3RhdGUmJihlLm9uKFwiZW5kXCIsaSksZS5vbihcImNsb3NlXCIsaSkpLGUub24oXCJlbmRcIixjKSxlLm9uKFwiZmluaXNoXCIsbCksITEhPT1yLmVycm9yJiZlLm9uKFwiZXJyb3JcIix1KSxlLm9uKFwiY2xvc2VcIixmKSxmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoXCJjb21wbGV0ZVwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJhYm9ydFwiLGYpLGUucmVtb3ZlTGlzdGVuZXIoXCJyZXF1ZXN0XCIsZCksZS5yZXEmJmUucmVxLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGkpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGkpLGUucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsYyksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsZil9fW1vZHVsZS5leHBvcnRzPWVvcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnVaQzF2WmkxemRISmxZVzB1YW5NaVhTd2libUZ0WlhNaU9sc2lSVkpTWDFOVVVrVkJUVjlRVWtWTlFWUlZVa1ZmUTB4UFUwVWlMQ0p5WlhGMWFYSmxJaXdpWTI5a1pYTWlMQ0p2Ym1ObElpd2lZMkZzYkdKaFkyc2lMQ0pqWVd4c1pXUWlMQ0pmYkdWdUlpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpWVhKbmN5SXNJa0Z5Y21GNUlpd2lYMnRsZVNJc0ltRndjR3g1SWl3aWRHaHBjeUlzSW01dmIzQWlMQ0pwYzFKbGNYVmxjM1FpTENKemRISmxZVzBpTENKelpYUklaV0ZrWlhJaUxDSmhZbTl5ZENJc0ltVnZjeUlzSW05d2RITWlMQ0p5WldGa1lXSnNaU0lzSW5keWFYUmhZbXhsSWl3aWIyNXNaV2RoWTNsbWFXNXBjMmdpTENKdmJtWnBibWx6YUNJc0luZHlhWFJoWW14bFJXNWtaV1FpTENKZmQzSnBkR0ZpYkdWVGRHRjBaU0lzSW1acGJtbHphR1ZrSWl3aVkyRnNiQ0lzSW5KbFlXUmhZbXhsUlc1a1pXUWlMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbVZ1WkVWdGFYUjBaV1FpTENKdmJtVnVaQ0lzSW05dVpYSnliM0lpTENKbGNuSWlMQ0p2Ym1Oc2IzTmxJaXdpWlc1a1pXUWlMQ0p2Ym5KbGNYVmxjM1FpTENKeVpYRWlMQ0p2YmlJc0ltVnljbTl5SWl3aWNtVnRiM1psVEdsemRHVnVaWElpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZGUVN4aFFVVkJMRWxCUVVsQkxESkNRVUUyUWtNc1VVRkJVU3h0UWtGQmJVSkRMRTFCUVUxR0xESkNRVVZzUlN4VFFVRlRSeXhMUVVGTFF5eEhRVU5hTEVsQlFVbERMRWRCUVZNc1JVRkRZaXhQUVVGUExGZEJRMHdzU1VGQlNVRXNSVUZCU2l4RFFVTkJRU3hIUVVGVExFVkJSVlFzU1VGQlN5eEpRVUZKUXl4RlFVRlBReXhWUVVGVlF5eFBRVUZSUXl4RlFVRlBMRWxCUVVsRExFMUJRVTFLTEVkQlFVOUxMRVZCUVU4c1JVRkJSMEVzUlVGQlQwd3NSVUZCVFVzc1NVRkRMMFZHTEVWQlFVdEZMRWRCUVZGS0xGVkJRVlZKTEVkQlIzcENVQ3hGUVVGVFVTeE5RVUZOUXl4TFFVRk5TaXhMUVVsNlFpeFRRVUZUU3l4UlFVVlVMRk5CUVZORExGVkJRVlZETEVkQlEycENMRTlCUVU5QkxFVkJRVTlETEZkQlFYRkRMRzFDUVVGcVFrUXNSVUZCVDBVc1RVRkhNME1zVTBGQlUwTXNTVUZCU1Vnc1JVRkJVVWtzUlVGQlRXaENMRWRCUTNwQ0xFZEJRVzlDTEcxQ1FVRlVaMElzUlVGQmNVSXNUMEZCVDBRc1NVRkJTVWdzUlVGQlVTeExRVUZOU1N4SFFVTndSRUVzU1VGQlRVRXNSVUZCVHl4SlFVTnNRbWhDTEVWQlFWZEVMRXRCUVV0RExFZEJRVmxWTEUxQlF6VkNMRWxCUVVsUExFVkJRVmRFTEVWQlFVdERMRmRCUVRoQ0xFbEJRV3hDUkN4RlFVRkxReXhWUVVGelFrd3NSVUZCVDBzc1UwRkRPVVJETEVWQlFWZEdMRVZCUVV0RkxGZEJRVGhDTEVsQlFXeENSaXhGUVVGTFJTeFZRVUZ6UWs0c1JVRkJUMDBzVTBGRk9VUkRMRVZCUVdsQ0xGZEJRMlJRTEVWQlFVOU5MRlZCUVZWRkxFdEJSM0JDUXl4RlFVRm5RbFFzUlVGQlQxVXNaMEpCUVd0Q1ZpeEZRVUZQVlN4bFFVRmxReXhUUVVVdlJFZ3NSVUZCVnl4WFFVTmlSaXhIUVVGWExFVkJRMWhITEVkQlFXZENMRVZCUTFoS0xFZEJRVlZxUWl4RlFVRlRkMElzUzBGQlMxb3NTVUZITTBKaExFVkJRV2RDWWl4RlFVRlBZeXhuUWtGQmEwSmtMRVZCUVU5akxHVkJRV1ZETEZkQlJTOUVReXhGUVVGUkxGZEJRMVpZTEVkQlFWY3NSVUZEV0ZFc1IwRkJaMElzUlVGRFdGQXNSMEZCVld4Q0xFVkJRVk4zUWl4TFFVRkxXaXhKUVVjelFtbENMRVZCUVZVc1UwRkJhVUpETEVkQlF6ZENPVUlzUlVGQlUzZENMRXRCUVV0YUxFVkJRVkZyUWl4SlFVZHdRa01zUlVGQlZTeFhRVU5hTEVsQlFVbEVMRVZCUlVvc1QwRkJTV0lzU1VGQllWRXNSMEZEVm1Jc1JVRkJUMk1zWjBKQlFXMUNaQ3hGUVVGUFl5eGxRVUZsVFN4UlFVRlBSaXhGUVVGTkxFbEJRVWxzUXl3MFFrRkRMMFJKTEVWQlFWTjNRaXhMUVVGTFdpeEZRVUZSYTBJc1NVRkhNMEphTEVsQlFXRkhMRWRCUTFaVUxFVkJRVTlWTEdkQ1FVRnRRbFlzUlVGQlQxVXNaVUZCWlZVc1VVRkJUMFlzUlVGQlRTeEpRVUZKYkVNc05FSkJReTlFU1N4RlFVRlRkMElzUzBGQlMxb3NSVUZCVVd0Q0xGTkJSaTlDTEVkQlRVVkhMRVZCUVZrc1YwRkRaSEpDTEVWQlFVOXpRaXhKUVVGSlF5eEhRVUZITEZOQlFWVm1MRWxCYVVJeFFpeFBRV1JKVkN4VlFVRlZReXhKUVVOYVFTeEZRVUZQZFVJc1IwRkJSeXhYUVVGWlppeEhRVU4wUWxJc1JVRkJUM1ZDTEVkQlFVY3NVVUZCVTBvc1IwRkRabTVDTEVWQlFVOXpRaXhKUVVGTFJDeEpRVUZwUW5KQ0xFVkJRVTkxUWl4SFFVRkhMRlZCUVZkR0xFbEJRemREWml4SlFVRmhUaXhGUVVGUFZTeHBRa0ZGTjBKV0xFVkJRVTkxUWl4SFFVRkhMRTFCUVU5b1FpeEhRVU5xUWxBc1JVRkJUM1ZDTEVkQlFVY3NVVUZCVTJoQ0xFbEJSM0pDVUN4RlFVRlBkVUlzUjBGQlJ5eE5RVUZQVUN4SFFVTnFRbWhDTEVWQlFVOTFRaXhIUVVGSExGTkJRVlZtTEVsQlEwUXNTVUZCWmtvc1JVRkJTMjlDTEU5QlFXbENlRUlzUlVGQlQzVkNMRWRCUVVjc1VVRkJVMDRzUjBGRE4wTnFRaXhGUVVGUGRVSXNSMEZCUnl4UlFVRlRTaXhIUVVOYUxGZEJRMHh1UWl4RlFVRlBlVUlzWlVGQlpTeFhRVUZaYWtJc1IwRkRiRU5TTEVWQlFVOTVRaXhsUVVGbExGRkJRVk5PTEVkQlF5OUNia0lzUlVGQlQzbENMR1ZCUVdVc1ZVRkJWMG9zUjBGRE4wSnlRaXhGUVVGUGMwSXNTMEZCUzNSQ0xFVkJRVTl6UWl4SlFVRkpSeXhsUVVGbExGTkJRVlZxUWl4SFFVTndSRklzUlVGQlQzbENMR1ZCUVdVc1RVRkJUMnhDTEVkQlF6ZENVQ3hGUVVGUGVVSXNaVUZCWlN4UlFVRlRiRUlzUjBGREwwSlFMRVZCUVU5NVFpeGxRVUZsTEZOQlFWVnFRaXhIUVVOb1ExSXNSVUZCVDNsQ0xHVkJRV1VzVFVGQlQxUXNSMEZETjBKb1FpeEZRVUZQZVVJc1pVRkJaU3hSUVVGVFVpeEhRVU12UW1wQ0xFVkJRVTk1UWl4bFFVRmxMRkZCUVZOT0xFbEJTVzVEVHl4UFFVRlBReXhSUVVGVmVFSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTh1Ym5adEwzWmxjbk5wYjI1ekwyNXZaR1V2ZGpFeUxqSXdMakF2YkdsaUwyNXZaR1ZmYlc5a2RXeGxjeTkzWVhSamFHbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlsYm1RdGIyWXRjM1J5WldGdExtcHpJbjA9IiwibW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXJcIil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1aeWIyMHRZbkp2ZDNObGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVJYSnliM0lpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCUVN4UFFVRlBReXhSUVVGVkxGZEJRMllzVFVGQlRTeEpRVUZKUXl4TlFVRk5JaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2TG01MmJTOTJaWEp6YVc5dWN5OXViMlJsTDNZeE1pNHlNQzR3TDJ4cFlpOXViMlJsWDIxdlpIVnNaWE12ZDJGMFkyaHBabmt2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12Wm5KdmJTMWljbTkzYzJWeUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGVvcztmdW5jdGlvbiBvbmNlKGUpe3ZhciByPSExO3JldHVybiBmdW5jdGlvbigpe3J8fChyPSEwLGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX12YXIgX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfTUlTU0lOR19BUkdTPV9yZXF1aXJlJGNvZGVzLkVSUl9NSVNTSU5HX0FSR1MsRVJSX1NUUkVBTV9ERVNUUk9ZRUQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQ7ZnVuY3Rpb24gbm9vcChlKXtpZihlKXRocm93IGV9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5hYm9ydH1mdW5jdGlvbiBkZXN0cm95ZXIoZSxyLG4sbyl7bz1vbmNlKG8pO3ZhciB0PSExO2Uub24oXCJjbG9zZVwiLGZ1bmN0aW9uKCl7dD0hMH0pLHZvaWQgMD09PWVvcyYmKGVvcz1yZXF1aXJlKFwiLi9lbmQtb2Ytc3RyZWFtXCIpKSxlb3MoZSx7cmVhZGFibGU6cix3cml0YWJsZTpufSxmdW5jdGlvbihlKXtpZihlKXJldHVybiBvKGUpO3Q9ITAsbygpfSk7dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCF0JiYhaSlyZXR1cm4gaT0hMCxpc1JlcXVlc3QoZSk/ZS5hYm9ydCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveT9lLmRlc3Ryb3koKTp2b2lkIG8ocnx8bmV3IEVSUl9TVFJFQU1fREVTVFJPWUVEKFwicGlwZVwiKSl9fWZ1bmN0aW9uIGNhbGwoZSl7ZSgpfWZ1bmN0aW9uIHBpcGUoZSxyKXtyZXR1cm4gZS5waXBlKHIpfWZ1bmN0aW9uIHBvcENhbGxiYWNrKGUpe3JldHVybiBlLmxlbmd0aD9cImZ1bmN0aW9uXCIhPXR5cGVvZiBlW2UubGVuZ3RoLTFdP25vb3A6ZS5wb3AoKTpub29wfWZ1bmN0aW9uIHBpcGVsaW5lKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspcltuXT1hcmd1bWVudHNbbl07dmFyIG8sdD1wb3BDYWxsYmFjayhyKTtpZihBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSxyLmxlbmd0aDwyKXRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKFwic3RyZWFtc1wiKTt2YXIgaT1yLm1hcChmdW5jdGlvbihlLG4pe3ZhciB1PW48ci5sZW5ndGgtMTtyZXR1cm4gZGVzdHJveWVyKGUsdSxuPjAsZnVuY3Rpb24oZSl7b3x8KG89ZSksZSYmaS5mb3JFYWNoKGNhbGwpLHV8fChpLmZvckVhY2goY2FsbCksdChvKSl9KX0pO3JldHVybiByLnJlZHVjZShwaXBlKX1tb2R1bGUuZXhwb3J0cz1waXBlbGluZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQnBjR1ZzYVc1bExtcHpJbDBzSW01aGJXVnpJanBiSW1WdmN5SXNJbTl1WTJVaUxDSmpZV3hzWW1GamF5SXNJbU5oYkd4bFpDSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpWDNKbGNYVnBjbVVrWTI5a1pYTWlMQ0p5WlhGMWFYSmxJaXdpWTI5a1pYTWlMQ0pGVWxKZlRVbFRVMGxPUjE5QlVrZFRJaXdpUlZKU1gxTlVVa1ZCVFY5RVJWTlVVazlaUlVRaUxDSnViMjl3SWl3aVpYSnlJaXdpYVhOU1pYRjFaWE4wSWl3aWMzUnlaV0Z0SWl3aWMyVjBTR1ZoWkdWeUlpd2lZV0p2Y25RaUxDSmtaWE4wY205NVpYSWlMQ0p5WldGa2FXNW5JaXdpZDNKcGRHbHVaeUlzSW1Oc2IzTmxaQ0lzSW05dUlpd2lkVzVrWldacGJtVmtJaXdpY21WaFpHRmliR1VpTENKM2NtbDBZV0pzWlNJc0ltUmxjM1J5YjNsbFpDSXNJbVJsYzNSeWIza2lMQ0pqWVd4c0lpd2labTRpTENKd2FYQmxJaXdpWm5KdmJTSXNJblJ2SWl3aWNHOXdRMkZzYkdKaFkyc2lMQ0p6ZEhKbFlXMXpJaXdpYkdWdVozUm9JaXdpY0c5d0lpd2ljR2x3Wld4cGJtVWlMQ0pmYkdWdUlpd2lRWEp5WVhraUxDSmZhMlY1SWl3aVpYSnliM0lpTENKcGMwRnljbUY1SWl3aVpHVnpkSEp2ZVhNaUxDSnRZWEFpTENKcElpd2labTl5UldGamFDSXNJbkpsWkhWalpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVVkJMR0ZCUlVFc1NVRkJTVUVzU1VGRlNpeFRRVUZUUXl4TFFVRkxReXhIUVVOYUxFbEJRVWxETEVkQlFWTXNSVUZEWWl4UFFVRlBMRmRCUTBSQkxFbEJRMHBCTEVkQlFWTXNSVUZEVkVRc1JVRkJVMFVzVjBGQlRTeEZRVUZSUXl4aFFVa3pRaXhKUVVGSlF5eGxRVUZwUWtNc1VVRkJVU3h0UWtGQmJVSkRMRTFCUXpWRFF5eHBRa0ZCYlVKSUxHVkJRV1ZITEdsQ1FVTnNRME1zY1VKQlFYVkNTaXhsUVVGbFNTeHhRa0ZGTVVNc1UwRkJVME1zUzBGQlMwTXNSMEZGV2l4SFFVRkpRU3hGUVVGTExFMUJRVTFCTEVWQlIycENMRk5CUVZORExGVkJRVlZETEVkQlEycENMRTlCUVU5QkxFVkJRVTlETEZkQlFYRkRMRzFDUVVGcVFrUXNSVUZCVDBVc1RVRkhNME1zVTBGQlUwTXNWVUZCVlVnc1JVRkJVVWtzUlVGQlUwTXNSVUZCVTJwQ0xFZEJRek5EUVN4RlFVRlhSQ3hMUVVGTFF5eEhRVU5vUWl4SlFVRkphMElzUjBGQlV5eEZRVU5pVGl4RlFVRlBUeXhIUVVGSExGRkJRVk1zVjBGRGFrSkVMRWRCUVZNc1UwRkZRMFVzU1VGQlVuUkNMRTFCUVcxQ1FTeEpRVUZOVHl4UlFVRlJMRzlDUVVOeVExQXNTVUZCU1dNc1JVRkJVU3hEUVVOV1V5eFRRVUZWVEN4RlFVTldUU3hUUVVGVlRDeEhRVU5VTEZOQlFWVlFMRWRCUTFnc1IwRkJTVUVzUlVGQlN5eFBRVUZQVml4RlFVRlRWU3hIUVVONlFsRXNSMEZCVXl4RlFVTlViRUlzVFVGRlJpeEpRVUZKZFVJc1IwRkJXU3hGUVVOb1FpeFBRVUZQTEZOQlFWVmlMRWRCUTJZc1NVRkJTVkVzU1VGRFFVc3NSVUZIU2l4UFFVWkJRU3hIUVVGWkxFVkJSVkphTEZWQlFWVkRMRWRCUVdkQ1FTeEZRVUZQUlN4UlFVTlFMRzFDUVVGdVFrWXNSVUZCVDFrc1VVRkJLMEphTEVWQlFVOVpMR1ZCUTNoRWVFSXNSVUZCVTFVc1IwRkJUeXhKUVVGSlJpeHhRa0ZCY1VJc1ZVRkpOME1zVTBGQlUybENMRXRCUVV0RExFZEJRMXBCTEVsQlIwWXNVMEZCVTBNc1MwRkJTME1zUlVGQlRVTXNSMEZEYkVJc1QwRkJUMFFzUlVGQlMwUXNTMEZCUzBVc1IwRkhia0lzVTBGQlUwTXNXVUZCV1VNc1IwRkRia0lzVDBGQlMwRXNSVUZCVVVNc1QwRkRPRUlzYlVKQlFXaERSQ3hGUVVGUlFTeEZRVUZSUXl4UFFVRlRMRWRCUVRCQ2RrSXNTMEZEZGtSelFpeEZRVUZSUlN4TlFVWmhlRUlzUzBGTE9VSXNVMEZCVTNsQ0xGZEJRMUFzU1VGQlN5eEpRVUZKUXl4RlFVRlBhRU1zVlVGQlZUWkNMRTlCUVZGRUxFVkJRVlVzU1VGQlNVc3NUVUZCVFVRc1IwRkJUMFVzUlVGQlR5eEZRVUZIUVN4RlFVRlBSaXhGUVVGTlJTeEpRVU5zUms0c1JVRkJVVTBzUjBGQlVXeERMRlZCUVZWclF5eEhRVWMxUWl4SlFVOUpReXhGUVZCQmRFTXNSVUZCVnpoQ0xGbEJRVmxETEVkQlJ6TkNMRWRCUmtsTExFMUJRVTFITEZGQlFWRlNMRVZCUVZFc1RVRkJTMEVzUlVGQlZVRXNSVUZCVVN4SlFVVTNRMEVzUlVGQlVVTXNUMEZCVXl4RlFVTnVRaXhOUVVGTkxFbEJRVWw2UWl4cFFrRkJhVUlzVjBGSk4wSXNTVUZCU1dsRExFVkJRVmRVTEVWQlFWRlZMRWxCUVVrc1UwRkJWVGRDTEVWQlFWRTRRaXhIUVVNelF5eEpRVUZKTVVJc1JVRkJWVEJDTEVWQlFVbFlMRVZCUVZGRExFOUJRVk1zUlVGRmJrTXNUMEZCVDJwQ0xGVkJRVlZJTEVWQlFWRkpMRVZCUkZnd1FpeEZRVUZKTEVWQlEzbENMRk5CUVZWb1F5eEhRVU01UXpSQ0xFbEJRVTlCTEVWQlFWRTFRaXhIUVVOb1FrRXNSMEZCU3poQ0xFVkJRVk5ITEZGQlFWRnNRaXhOUVVOMFFsUXNTVUZEU25kQ0xFVkJRVk5ITEZGQlFWRnNRaXhOUVVOcVFucENMRVZCUVZOelF5eFJRVWRpTEU5QlFVOVFMRVZCUVZGaExFOUJRVTlxUWl4TlFVZDRRbXRDTEU5QlFVOURMRkZCUVZWYUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZMbTUyYlM5MlpYSnphVzl1Y3k5dWIyUmxMM1l4TWk0eU1DNHdMMnhwWWk5dWIyUmxYMjF2WkhWc1pYTXZkMkYwWTJocFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjR2x3Wld4cGJtVXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBFUlJfSU5WQUxJRF9PUFRfVkFMVUU9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7ZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20ocixlLHQpe3JldHVybiBudWxsIT1yLmhpZ2hXYXRlck1hcms/ci5oaWdoV2F0ZXJNYXJrOmU/clt0XTpudWxsfWZ1bmN0aW9uIGdldEhpZ2hXYXRlck1hcmsocixlLHQsYSl7dmFyIGk9aGlnaFdhdGVyTWFya0Zyb20oZSxhLHQpO2lmKG51bGwhPWkpe2lmKCFpc0Zpbml0ZShpKXx8TWF0aC5mbG9vcihpKSE9PWl8fGk8MCl0aHJvdyBuZXcgRVJSX0lOVkFMSURfT1BUX1ZBTFVFKGE/dDpcImhpZ2hXYXRlck1hcmtcIixpKTtyZXR1cm4gTWF0aC5mbG9vcihpKX1yZXR1cm4gci5vYmplY3RNb2RlPzE2OjE2Mzg0fW1vZHVsZS5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmdldEhpZ2hXYXRlck1hcmt9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OMFlYUmxMbXB6SWwwc0ltNWhiV1Z6SWpwYklrVlNVbDlKVGxaQlRFbEVYMDlRVkY5V1FVeFZSU0lzSW5KbGNYVnBjbVVpTENKamIyUmxjeUlzSW1ocFoyaFhZWFJsY2sxaGNtdEdjbTl0SWl3aWIzQjBhVzl1Y3lJc0ltbHpSSFZ3YkdWNElpd2laSFZ3YkdWNFMyVjVJaXdpYUdsbmFGZGhkR1Z5VFdGeWF5SXNJbWRsZEVocFoyaFhZWFJsY2sxaGNtc2lMQ0p6ZEdGMFpTSXNJbWgzYlNJc0ltbHpSbWx1YVhSbElpd2lUV0YwYUNJc0ltWnNiMjl5SWl3aWIySnFaV04wVFc5a1pTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzYzBKQlFYZENReXhSUVVGUkxHMUNRVUZ0UWtNc1RVRkJUVVlzYzBKQlJUZEVMRk5CUVZOSExHdENRVUZyUWtNc1JVRkJVME1zUlVGQlZVTXNSMEZETlVNc1QwRkJaME1zVFVGQmVrSkdMRVZCUVZGSExHTkJRWGRDU0N4RlFVRlJSeXhqUVVGblFrWXNSVUZCVjBRc1JVRkJVVVVzUjBGQllTeExRVWRxUnl4VFFVRlRSU3hwUWtGQmFVSkRMRVZCUVU5TUxFVkJRVk5GTEVWQlFWZEVMRWRCUTI1RUxFbEJRVWxMTEVWQlFVMVFMR3RDUVVGclFrTXNSVUZCVTBNc1JVRkJWVU1zUjBGRkwwTXNSMEZCVnl4TlFVRlFTU3hGUVVGaExFTkJRMllzU1VGQlRVTXNVMEZCVTBRc1NVRkJVVVVzUzBGQlMwTXNUVUZCVFVnc1MwRkJVMEVzUjBGQlVVRXNSVUZCVFN4RlFVVjJSQ3hOUVVGTkxFbEJRVWxXTEhOQ1FVUkRTeXhGUVVGWFF5eEZRVUZaTEdkQ1FVTkpTU3hIUVVkNFF5eFBRVUZQUlN4TFFVRkxReXhOUVVGTlNDeEhRVWx3UWl4UFFVRlBSQ3hGUVVGTlN5eFhRVUZoTEVkQlFVc3NUVUZIYWtORExFOUJRVTlETEZGQlFWVXNRMEZEWmxJc2FVSkJRV3RDUVNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkx5NXVkbTB2ZG1WeWMybHZibk12Ym05a1pTOTJNVEl1TWpBdU1DOXNhV0l2Ym05a1pWOXRiMlIxYkdWekwzZGhkR05vYVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzTjBZWFJsTG1wekluMD0iLCJtb2R1bGUuZXhwb3J0cz1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBjbVZoYlMxaWNtOTNjMlZ5TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p5WlhGMWFYSmxJaXdpUlhabGJuUkZiV2wwZEdWeUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFVRXNUMEZCVDBNc1VVRkJWVU1zVVVGQlVTeFZRVUZWUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkx5NXVkbTB2ZG1WeWMybHZibk12Ym05a1pTOTJNVEl1TWpBdU1DOXNhV0l2Ym05a1pWOXRiMlIxYkdWekwzZGhkR05vYVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzTjBjbVZoYlMxaWNtOTNjMlZ5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgQnVmZmVyPXJlcXVpcmUoXCJzYWZlLWJ1ZmZlclwiKS5CdWZmZXIsaXNFbmNvZGluZz1CdWZmZXIuaXNFbmNvZGluZ3x8ZnVuY3Rpb24odCl7c3dpdGNoKCh0PVwiXCIrdCkmJnQudG9Mb3dlckNhc2UoKSl7Y2FzZVwiaGV4XCI6Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6Y2FzZVwiYXNjaWlcIjpjYXNlXCJiaW5hcnlcIjpjYXNlXCJiYXNlNjRcIjpjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpjYXNlXCJyYXdcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX07ZnVuY3Rpb24gX25vcm1hbGl6ZUVuY29kaW5nKHQpe2lmKCF0KXJldHVyblwidXRmOFwiO2Zvcih2YXIgZTs7KXN3aXRjaCh0KXtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm5cInV0ZjhcIjtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm5cInV0ZjE2bGVcIjtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm5cImxhdGluMVwiO2Nhc2VcImJhc2U2NFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwiaGV4XCI6cmV0dXJuIHQ7ZGVmYXVsdDppZihlKXJldHVybjt0PShcIlwiK3QpLnRvTG93ZXJDYXNlKCksZT0hMH19ZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcodCl7dmFyIGU9X25vcm1hbGl6ZUVuY29kaW5nKHQpO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlJiYoQnVmZmVyLmlzRW5jb2Rpbmc9PT1pc0VuY29kaW5nfHwhaXNFbmNvZGluZyh0KSkpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrdCk7cmV0dXJuIGV8fHR9ZnVuY3Rpb24gU3RyaW5nRGVjb2Rlcih0KXt2YXIgZTtzd2l0Y2godGhpcy5lbmNvZGluZz1ub3JtYWxpemVFbmNvZGluZyh0KSx0aGlzLmVuY29kaW5nKXtjYXNlXCJ1dGYxNmxlXCI6dGhpcy50ZXh0PXV0ZjE2VGV4dCx0aGlzLmVuZD11dGYxNkVuZCxlPTQ7YnJlYWs7Y2FzZVwidXRmOFwiOnRoaXMuZmlsbExhc3Q9dXRmOEZpbGxMYXN0LGU9NDticmVhaztjYXNlXCJiYXNlNjRcIjp0aGlzLnRleHQ9YmFzZTY0VGV4dCx0aGlzLmVuZD1iYXNlNjRFbmQsZT0zO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMud3JpdGU9c2ltcGxlV3JpdGUsdm9pZCh0aGlzLmVuZD1zaW1wbGVFbmQpfXRoaXMubGFzdE5lZWQ9MCx0aGlzLmxhc3RUb3RhbD0wLHRoaXMubGFzdENoYXI9QnVmZmVyLmFsbG9jVW5zYWZlKGUpfWZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUodCl7cmV0dXJuIHQ8PTEyNz8wOnQ+PjU9PTY/Mjp0Pj40PT0xND8zOnQ+PjM9PTMwPzQ6dD4+Nj09Mj8tMTotMn1mdW5jdGlvbiB1dGY4Q2hlY2tJbmNvbXBsZXRlKHQsZSxzKXt2YXIgaT1lLmxlbmd0aC0xO2lmKGk8cylyZXR1cm4gMDt2YXIgbj11dGY4Q2hlY2tCeXRlKGVbaV0pO3JldHVybiBuPj0wPyhuPjAmJih0Lmxhc3ROZWVkPW4tMSksbik6LS1pPHN8fC0yPT09bj8wOihuPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhuPjAmJih0Lmxhc3ROZWVkPW4tMiksbik6LS1pPHN8fC0yPT09bj8wOihuPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhuPjAmJigyPT09bj9uPTA6dC5sYXN0TmVlZD1uLTMpLG4pOjB9ZnVuY3Rpb24gdXRmOENoZWNrRXh0cmFCeXRlcyh0LGUscyl7aWYoMTI4IT0oMTkyJmVbMF0pKXJldHVybiB0Lmxhc3ROZWVkPTAsXCLvv71cIjtpZih0Lmxhc3ROZWVkPjEmJmUubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZlWzFdKSlyZXR1cm4gdC5sYXN0TmVlZD0xLFwi77+9XCI7aWYodC5sYXN0TmVlZD4yJiZlLmxlbmd0aD4yJiYxMjghPSgxOTImZVsyXSkpcmV0dXJuIHQubGFzdE5lZWQ9MixcIu+/vVwifX1mdW5jdGlvbiB1dGY4RmlsbExhc3QodCl7dmFyIGU9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCxzPXV0ZjhDaGVja0V4dHJhQnl0ZXModGhpcyx0LGUpO3JldHVybiB2b2lkIDAhPT1zP3M6dGhpcy5sYXN0TmVlZDw9dC5sZW5ndGg/KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCkpOih0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdC5sZW5ndGgpLHZvaWQodGhpcy5sYXN0TmVlZC09dC5sZW5ndGgpKX1mdW5jdGlvbiB1dGY4VGV4dCh0LGUpe3ZhciBzPXV0ZjhDaGVja0luY29tcGxldGUodGhpcyx0LGUpO2lmKCF0aGlzLmxhc3ROZWVkKXJldHVybiB0LnRvU3RyaW5nKFwidXRmOFwiLGUpO3RoaXMubGFzdFRvdGFsPXM7dmFyIGk9dC5sZW5ndGgtKHMtdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLDAsaSksdC50b1N0cmluZyhcInV0ZjhcIixlLGkpfWZ1bmN0aW9uIHV0ZjhFbmQodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwiO3JldHVybiB0aGlzLmxhc3ROZWVkP2UrXCLvv71cIjplfWZ1bmN0aW9uIHV0ZjE2VGV4dCh0LGUpe2lmKCh0Lmxlbmd0aC1lKSUyPT0wKXt2YXIgcz10LnRvU3RyaW5nKFwidXRmMTZsZVwiLGUpO2lmKHMpe3ZhciBpPXMuY2hhckNvZGVBdChzLmxlbmd0aC0xKTtpZihpPj01NTI5NiYmaTw9NTYzMTkpcmV0dXJuIHRoaXMubGFzdE5lZWQ9Mix0aGlzLmxhc3RUb3RhbD00LHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0scy5zbGljZSgwLC0xKX1yZXR1cm4gc31yZXR1cm4gdGhpcy5sYXN0TmVlZD0xLHRoaXMubGFzdFRvdGFsPTIsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdLHQudG9TdHJpbmcoXCJ1dGYxNmxlXCIsZSx0Lmxlbmd0aC0xKX1mdW5jdGlvbiB1dGYxNkVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCI7aWYodGhpcy5sYXN0TmVlZCl7dmFyIHM9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDtyZXR1cm4gZSt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwidXRmMTZsZVwiLDAscyl9cmV0dXJuIGV9ZnVuY3Rpb24gYmFzZTY0VGV4dCh0LGUpe3ZhciBzPSh0Lmxlbmd0aC1lKSUzO3JldHVybiAwPT09cz90LnRvU3RyaW5nKFwiYmFzZTY0XCIsZSk6KHRoaXMubGFzdE5lZWQ9My1zLHRoaXMubGFzdFRvdGFsPTMsMT09PXM/dGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdKSx0LnRvU3RyaW5nKFwiYmFzZTY0XCIsZSx0Lmxlbmd0aC1zKSl9ZnVuY3Rpb24gYmFzZTY0RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lK3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJiYXNlNjRcIiwwLDMtdGhpcy5sYXN0TmVlZCk6ZX1mdW5jdGlvbiBzaW1wbGVXcml0ZSh0KXtyZXR1cm4gdC50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBzaW1wbGVFbmQodCl7cmV0dXJuIHQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIn1leHBvcnRzLlN0cmluZ0RlY29kZXI9U3RyaW5nRGVjb2RlcixTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuXCJcIjt2YXIgZSxzO2lmKHRoaXMubGFzdE5lZWQpe2lmKHZvaWQgMD09PShlPXRoaXMuZmlsbExhc3QodCkpKXJldHVyblwiXCI7cz10aGlzLmxhc3ROZWVkLHRoaXMubGFzdE5lZWQ9MH1lbHNlIHM9MDtyZXR1cm4gczx0Lmxlbmd0aD9lP2UrdGhpcy50ZXh0KHQscyk6dGhpcy50ZXh0KHQscyk6ZXx8XCJcIn0sU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kPXV0ZjhFbmQsU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUudGV4dD11dGY4VGV4dCxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5maWxsTGFzdD1mdW5jdGlvbih0KXtpZih0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aClyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKTt0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdC5sZW5ndGgpLHRoaXMubGFzdE5lZWQtPXQubGVuZ3RofTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBjbWx1WjE5a1pXTnZaR1Z5TG1weklsMHNJbTVoYldWeklqcGJJa0oxWm1abGNpSXNJbkpsY1hWcGNtVWlMQ0pwYzBWdVkyOWthVzVuSWl3aVpXNWpiMlJwYm1jaUxDSjBiMHh2ZDJWeVEyRnpaU0lzSWw5dWIzSnRZV3hwZW1WRmJtTnZaR2x1WnlJc0ltVnVZeUlzSW5KbGRISnBaV1FpTENKdWIzSnRZV3hwZW1WRmJtTnZaR2x1WnlJc0ltNWxibU1pTENKRmNuSnZjaUlzSWxOMGNtbHVaMFJsWTI5a1pYSWlMQ0p1WWlJc0luUm9hWE1pTENKMFpYaDBJaXdpZFhSbU1UWlVaWGgwSWl3aVpXNWtJaXdpZFhSbU1UWkZibVFpTENKbWFXeHNUR0Z6ZENJc0luVjBaamhHYVd4c1RHRnpkQ0lzSW1KaGMyVTJORlJsZUhRaUxDSmlZWE5sTmpSRmJtUWlMQ0ozY21sMFpTSXNJbk5wYlhCc1pWZHlhWFJsSWl3aWMybHRjR3hsUlc1a0lpd2liR0Z6ZEU1bFpXUWlMQ0pzWVhOMFZHOTBZV3dpTENKc1lYTjBRMmhoY2lJc0ltRnNiRzlqVlc1ellXWmxJaXdpZFhSbU9FTm9aV05yUW5sMFpTSXNJbUo1ZEdVaUxDSjFkR1k0UTJobFkydEpibU52YlhCc1pYUmxJaXdpYzJWc1ppSXNJbUoxWmlJc0lta2lMQ0pxSWl3aWJHVnVaM1JvSWl3aWRYUm1PRU5vWldOclJYaDBjbUZDZVhSbGN5SXNJbkFpTENKeUlpd2lkVzVrWldacGJtVmtJaXdpWTI5d2VTSXNJblJ2VTNSeWFXNW5JaXdpZFhSbU9GUmxlSFFpTENKMGIzUmhiQ0lzSW5WMFpqaEZibVFpTENKaklpd2lZMmhoY2tOdlpHVkJkQ0lzSW5Oc2FXTmxJaXdpYmlJc0ltVjRjRzl5ZEhNaUxDSndjbTkwYjNSNWNHVWlYU3dpYldGd2NHbHVaM01pT2lKQlFYRkNRU3hoUVVsQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1pVRkJaVVFzVDBGSGFFTkZMRmRCUVdGR0xFOUJRVTlGTEZsQlFXTXNVMEZCVlVNc1IwRkZPVU1zVVVGRVFVRXNSVUZCVnl4SFFVRkxRU3hKUVVOSlFTeEZRVUZUUXl4bFFVTXpRaXhKUVVGTExFMUJRVTBzU1VGQlN5eFBRVUZQTEVsQlFVc3NVVUZCVVN4SlFVRkxMRkZCUVZFc1NVRkJTeXhUUVVGVExFbEJRVXNzVTBGQlV5eEpRVUZMTEU5QlFVOHNTVUZCU3l4UlFVRlJMRWxCUVVzc1ZVRkJWU3hKUVVGTExGZEJRVmNzU1VGQlN5eE5RVU40U1N4UFFVRlBMRVZCUTFRc1VVRkRSU3hQUVVGUExFbEJTV0lzVTBGQlUwTXNiVUpCUVcxQ1F5eEhRVU14UWl4SlFVRkxRU3hGUVVGTExFMUJRVThzVDBGRmFrSXNTVUZFUVN4SlFVRkpReXhKUVVWR0xFOUJRVkZFTEVkQlEwNHNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRTQ3hOUVVGUExFOUJRMVFzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFMUJRVThzVlVGRFZDeEpRVUZMTEZOQlEwd3NTVUZCU3l4VFFVTklMRTFCUVU4c1UwRkRWQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFJRVU5NTEVsQlFVc3NUVUZEU0N4UFFVRlBRU3hGUVVOVUxGRkJRMFVzUjBGQlNVTXNSVUZCVXl4UFFVTmlSQ3hIUVVGUExFZEJRVXRCTEVkQlFVdEdMR05CUTJwQ1J5eEhRVUZWTEVkQlQyeENMRk5CUVZORExHdENRVUZyUWtZc1IwRkRla0lzU1VGQlNVY3NSVUZCVDBvc2JVSkJRVzFDUXl4SFFVTTVRaXhIUVVGdlFpeHBRa0ZCVkVjc1NVRkJjMEpVTEU5QlFVOUZMR0ZCUVdWQkxHRkJRV1ZCTEZkQlFWZEpMRWxCUVU4c1RVRkJUU3hKUVVGSlNTeE5RVUZOTEhGQ1FVRjFRa29zUjBGREwwZ3NUMEZCVDBjc1IwRkJVVWdzUlVGUGFrSXNVMEZCVTBzc1kwRkJZMUlzUjBGRmNrSXNTVUZCU1ZNc1JVRkRTaXhQUVVaQlF5eExRVUZMVml4VFFVRlhTeXhyUWtGQmEwSk1MRWRCUlRGQ1ZTeExRVUZMVml4VlFVTllMRWxCUVVzc1ZVRkRTRlVzUzBGQlMwTXNTMEZCVDBNc1ZVRkRXa1lzUzBGQlMwY3NTVUZCVFVNc1UwRkRXRXdzUlVGQlN5eEZRVU5NTEUxQlEwWXNTVUZCU3l4UFFVTklReXhMUVVGTFN5eFRRVUZYUXl4aFFVTm9RbEFzUlVGQlN5eEZRVU5NTEUxQlEwWXNTVUZCU3l4VFFVTklReXhMUVVGTFF5eExRVUZQVFN4WFFVTmFVQ3hMUVVGTFJ5eEpRVUZOU3l4VlFVTllWQ3hGUVVGTExFVkJRMHdzVFVGRFJpeFJRVWRGTEU5QlJrRkRMRXRCUVV0VExFMUJRVkZETEdsQ1FVTmlWaXhMUVVGTFJ5eEpRVUZOVVN4WFFVZG1XQ3hMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZYTTBJc1QwRkJUelJDTEZsQlFWbG9RaXhIUVc5RGNrTXNVMEZCVTJsQ0xHTkJRV05ETEVkQlEzSkNMRTlCUVVsQkxFZEJRVkVzU1VGQllTeEZRVUZYUVN4SFFVRlJMRWRCUVUwc1JVRkJZU3hGUVVGWFFTeEhRVUZSTEVkQlFVMHNSMEZCWVN4RlFVRlhRU3hIUVVGUkxFZEJRVTBzUjBGQllTeEZRVU53U1VFc1IwRkJVU3hIUVVGTkxFZEJRVkVzUjBGQlN5eEZRVTF3UXl4VFFVRlRReXh2UWtGQmIwSkRMRVZCUVUxRExFVkJRVXRETEVkQlEzUkRMRWxCUVVsRExFVkJRVWxHTEVWQlFVbEhMRTlCUVZNc1JVRkRja0lzUjBGQlNVUXNSVUZCU1VRc1JVRkJSeXhQUVVGUExFVkJRMnhDTEVsQlFVbDBRaXhGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzU1VGRE0wSXNUMEZCU1haQ0xFZEJRVTBzUjBGRFNrRXNSVUZCU3l4SlFVRkhiMElzUlVGQlMxQXNVMEZCVjJJc1JVRkJTeXhIUVVNeFFrRXNTMEZGU0hWQ0xFVkJRVWxFTEVsQlFXRXNTVUZCVW5SQ0xFVkJRV3RDTEVkQlEycERRU3hGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzVFVGRFlpeEhRVU5LZGtJc1JVRkJTeXhKUVVGSGIwSXNSVUZCUzFBc1UwRkJWMklzUlVGQlN5eEhRVU14UWtFc1MwRkZTSFZDTEVWQlFVbEVMRWxCUVdFc1NVRkJVblJDTEVWQlFXdENMRWRCUTJwRFFTeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNUVUZEWWl4SFFVTktka0lzUlVGQlN5eEpRVU5KTEVsQlFWQkJMRVZCUVZWQkxFVkJRVXNzUlVGQlQyOUNMRVZCUVV0UUxGTkJRVmRpTEVWQlFVc3NSMEZGTVVOQkxFZEJSVVlzUlVGWFZDeFRRVUZUZVVJc2IwSkJRVzlDVEN4RlFVRk5ReXhGUVVGTFN5eEhRVU4wUXl4SFFVRjNRaXhOUVVGV0xFbEJRVlJNTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTVUZGVkN4SFFVRkpUeXhGUVVGTFVDeFRRVUZYTEVkQlFVdFJMRVZCUVVsSExFOUJRVk1zUlVGQlJ5eERRVU4yUXl4SFFVRjNRaXhOUVVGV0xFbEJRVlJJTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTVUZGVkN4SFFVRkpUeXhGUVVGTFVDeFRRVUZYTEVkQlFVdFJMRVZCUVVsSExFOUJRVk1zUjBGRFdpeE5RVUZXTEVsQlFWUklMRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1MwRlBaaXhUUVVGVFRpeGhRVUZoWXl4SFFVTndRaXhKUVVGSlN5eEZRVUZKZWtJc1MwRkJTMkVzVlVGQldXSXNTMEZCUzFrc1UwRkRNVUpqTEVWQlFVbEdMRzlDUVVGdlFuaENMRXRCUVUxdlFpeEZRVUZMU3l4SFFVTjJReXhaUVVGVlJTeEpRVUZPUkN4RlFVRjNRa0VzUlVGRGVFSXhRaXhMUVVGTFdTeFZRVUZaVVN4RlFVRkpSeXhSUVVOMlFrZ3NSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWWExFVkJRVWNzUlVGQlIzcENMRXRCUVV0WkxGVkJRelZDV2l4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTjBJc1MwRkJTMVlzVTBGQlZTeEZRVUZIVlN4TFFVRkxZU3hoUVVWMlJFOHNSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWWExFVkJRVWNzUlVGQlIwd3NSVUZCU1Vjc1lVRkRiRU4yUWl4TFFVRkxXU3hWUVVGWlVTeEZRVUZKUnl4VFFVMTJRaXhUUVVGVFR5eFRRVUZUVml4RlFVRkxReXhIUVVOeVFpeEpRVUZKVlN4RlFVRlJZaXh2UWtGQmIwSnNRaXhMUVVGTmIwSXNSVUZCUzBNc1IwRkRNME1zU1VGQlMzSkNMRXRCUVV0WkxGTkJRVlVzVDBGQlQxRXNSVUZCU1ZNc1UwRkJVeXhQUVVGUlVpeEhRVU5vUkhKQ0xFdEJRVXRoTEZWQlFWbHJRaXhGUVVOcVFpeEpRVUZKTlVJc1JVRkJUV2xDTEVWQlFVbEhMRkZCUVZWUkxFVkJRVkV2UWl4TFFVRkxXU3hWUVVWeVF5eFBRVVJCVVN4RlFVRkpVU3hMUVVGTE5VSXNTMEZCUzJNc1UwRkJWU3hGUVVGSFdDeEhRVU53UW1sQ0xFVkJRVWxUTEZOQlFWTXNUMEZCVVZJc1JVRkJSMnhDTEVkQlMycERMRk5CUVZNMlFpeFJRVUZSV2l4SFFVTm1MRWxCUVVsTkxFVkJRVWxPTEVkQlFVOUJMRVZCUVVsSExFOUJRVk4yUWl4TFFVRkxVeXhOUVVGTlZ5eEhRVUZQTEVkQlF6bERMRTlCUVVsd1FpeExRVUZMV1N4VFFVRnBRbU1zUlVGQlNTeEpRVU4yUWtFc1JVRlBWQ3hUUVVGVGVFSXNWVUZCVld0Q0xFVkJRVXRETEVkQlEzUkNMRWxCUVV0RUxFVkJRVWxITEU5QlFWTkdMRWRCUVVzc1IwRkJUU3hGUVVGSExFTkJRemxDTEVsQlFVbExMRVZCUVVsT0xFVkJRVWxUTEZOQlFWTXNWVUZCVjFJc1IwRkRhRU1zUjBGQlNVc3NSVUZCUnl4RFFVTk1MRWxCUVVsUExFVkJRVWxRTEVWQlFVVlJMRmRCUVZkU0xFVkJRVVZJTEU5QlFWTXNSMEZEYUVNc1IwRkJTVlVzUjBGQlN5eFBRVUZWUVN4SFFVRkxMRTFCUzNSQ0xFOUJTa0ZxUXl4TFFVRkxXU3hUUVVGWExFVkJRMmhDV2l4TFFVRkxZU3hWUVVGWkxFVkJRMnBDWWl4TFFVRkxZeXhUUVVGVExFZEJRVXROTEVWQlFVbEJMRVZCUVVsSExFOUJRVk1zUjBGRGNFTjJRaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZETjBKSExFVkJRVVZUTEUxQlFVMHNSMEZCU1N4SFFVZDJRaXhQUVVGUFZDeEZRVXRVTEU5QlNFRXhRaXhMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZETjBKSUxFVkJRVWxUTEZOQlFWTXNWVUZCVjFJc1JVRkJSMFFzUlVGQlNVY3NUMEZCVXl4SFFVdHFSQ3hUUVVGVGJrSXNVMEZCVTJkQ0xFZEJRMmhDTEVsQlFVbE5MRVZCUVVsT0xFZEJRVTlCTEVWQlFVbEhMRTlCUVZOMlFpeExRVUZMVXl4TlFVRk5WeXhIUVVGUExFZEJRemxETEVkQlFVbHdRaXhMUVVGTFdTeFRRVUZWTEVOQlEycENMRWxCUVVsVUxFVkJRVTFJTEV0QlFVdGhMRlZCUVZsaUxFdEJRVXRaTEZOQlEyaERMRTlCUVU5akxFVkJRVWt4UWl4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTEZWQlFWY3NSVUZCUnpGQ0xFZEJSV3hFTEU5QlFVOTFRaXhGUVVkVUxGTkJRVk51UWl4WFFVRlhZU3hGUVVGTFF5eEhRVU4yUWl4SlFVRkpaU3hIUVVGTGFFSXNSVUZCU1Vjc1QwRkJVMFlzUjBGQlN5eEZRVU16UWl4UFFVRlZMRWxCUVU1bExFVkJRV2RDYUVJc1JVRkJTVk1zVTBGQlV5eFRRVUZWVWl4SlFVTXpRM0pDTEV0QlFVdFpMRk5CUVZjc1JVRkJTWGRDTEVWQlEzQkNjRU1zUzBGQlMyRXNWVUZCV1N4RlFVTlFMRWxCUVU1MVFpeEZRVU5HY0VNc1MwRkJTMk1zVTBGQlV5eEhRVUZMVFN4RlFVRkpRU3hGUVVGSlJ5eFBRVUZUTEVsQlJYQkRka0lzUzBGQlMyTXNVMEZCVXl4SFFVRkxUU3hGUVVGSlFTeEZRVUZKUnl4UFFVRlRMRWRCUTNCRGRrSXNTMEZCUzJNc1UwRkJVeXhIUVVGTFRTeEZRVUZKUVN4RlFVRkpSeXhQUVVGVExFbEJSUzlDU0N4RlFVRkpVeXhUUVVGVExGTkJRVlZTTEVWQlFVZEVMRVZCUVVsSExFOUJRVk5oTEVsQlIyaEVMRk5CUVZNMVFpeFZRVUZWV1N4SFFVTnFRaXhKUVVGSlRTeEZRVUZKVGl4SFFVRlBRU3hGUVVGSlJ5eFBRVUZUZGtJc1MwRkJTMU1zVFVGQlRWY3NSMEZCVHl4SFFVTTVReXhQUVVGSmNFSXNTMEZCUzFrc1UwRkJhVUpqTEVWQlFVa3hRaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlRMRk5CUVZVc1JVRkJSeXhGUVVGSk4wSXNTMEZCUzFrc1ZVRkRjRVZqTEVWQlNWUXNVMEZCVTJoQ0xGbEJRVmxWTEVkQlEyNUNMRTlCUVU5QkxFVkJRVWxUTEZOQlFWTTNRaXhMUVVGTFZpeFZRVWN6UWl4VFFVRlRjVUlzVlVGQlZWTXNSMEZEYWtJc1QwRkJUMEVzUjBGQlQwRXNSVUZCU1Vjc1QwRkJVM1pDTEV0QlFVdFRMRTFCUVUxWExFZEJRVThzUjBGNlRpOURhVUlzVVVGQlVYWkRMR05CUVdkQ1FTeGpRVFpDZUVKQkxHTkJRV04zUXl4VlFVRlZOMElzVFVGQlVTeFRRVUZWVnl4SFFVTjRReXhIUVVGdFFpeEpRVUZtUVN4RlFVRkpSeXhQUVVGakxFMUJRVThzUjBGRE4wSXNTVUZCU1Vjc1JVRkRRVXdzUlVGRFNpeEhRVUZKY2tJc1MwRkJTMWtzVTBGQlZTeERRVVZxUWl4UlFVRlZaU3hMUVVSV1JDeEZRVUZKTVVJc1MwRkJTMHNzVTBGQlUyVXNTVUZEUnl4TlFVRlBMRWRCUXpWQ1F5eEZRVUZKY2tJc1MwRkJTMWtzVTBGRFZGb3NTMEZCUzFrc1UwRkJWeXhQUVVWb1FsTXNSVUZCU1N4RlFVVk9MRTlCUVVsQkxFVkJRVWxFTEVWQlFVbEhMRTlCUVdWSExFVkJRVWxCTEVWQlFVa3hRaXhMUVVGTFF5eExRVUZMYlVJc1JVRkJTME1zUjBGQlMzSkNMRXRCUVV0RExFdEJRVXR0UWl4RlFVRkxReXhIUVVNdlJFc3NSMEZCU3l4SlFVZGtOVUlzWTBGQlkzZERMRlZCUVZWdVF5eEpRVUZOTmtJc1VVRkhPVUpzUXl4alFVRmpkME1zVlVGQlZYSkRMRXRCUVU4MlFpeFRRVWN2UW1oRExHTkJRV04zUXl4VlFVRlZha01zVTBGQlZ5eFRRVUZWWlN4SFFVTXpReXhIUVVGSmNFSXNTMEZCUzFrc1ZVRkJXVkVzUlVGQlNVY3NUMEZGZGtJc1QwRkVRVWdzUlVGQlNWRXNTMEZCU3pWQ0xFdEJRVXRqTEZOQlFWVmtMRXRCUVV0aExGVkJRVmxpTEV0QlFVdFpMRk5CUVZVc1JVRkJSMW9zUzBGQlMxa3NWVUZEZWtSYUxFdEJRVXRqTEZOQlFWTmxMRk5CUVZNM1FpeExRVUZMVml4VFFVRlZMRVZCUVVkVkxFdEJRVXRoTEZkQlJYWkVUeXhGUVVGSlVTeExRVUZMTlVJc1MwRkJTMk1zVTBGQlZXUXNTMEZCUzJFc1ZVRkJXV0lzUzBGQlMxa3NVMEZCVlN4RlFVRkhVU3hGUVVGSlJ5eFJRVU12UkhaQ0xFdEJRVXRaTEZWQlFWbFJMRVZCUVVsSElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZMbTUyYlM5MlpYSnphVzl1Y3k5dWIyUmxMM1l4TWk0eU1DNHdMMnhwWWk5dWIyUmxYMjF2WkhWc1pYTXZkMkYwWTJocFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtbHVaMTlrWldOdlpHVnlMMnhwWWk5emRISnBibWRmWkdWamIyUmxjaTVxY3lKOSIsInZhciBuZXh0VGljaz1yZXF1aXJlKFwicHJvY2Vzcy9icm93c2VyLmpzXCIpLm5leHRUaWNrLGFwcGx5PUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSxzbGljZT1BcnJheS5wcm90b3R5cGUuc2xpY2UsaW1tZWRpYXRlSWRzPXt9LG5leHRJbW1lZGlhdGVJZD0wO2Z1bmN0aW9uIFRpbWVvdXQoZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH1leHBvcnRzLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LHdpbmRvdyxhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LGV4cG9ydHMuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCx3aW5kb3csYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sZXhwb3J0cy5jbGVhclRpbWVvdXQ9ZXhwb3J0cy5jbGVhckludGVydmFsPWZ1bmN0aW9uKGUpe2UuY2xvc2UoKX0sVGltZW91dC5wcm90b3R5cGUudW5yZWY9VGltZW91dC5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxUaW1lb3V0LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbCh3aW5kb3csdGhpcy5faWQpfSxleHBvcnRzLmVucm9sbD1mdW5jdGlvbihlLHQpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKSxlLl9pZGxlVGltZW91dD10fSxleHBvcnRzLnVuZW5yb2xsPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKSxlLl9pZGxlVGltZW91dD0tMX0sZXhwb3J0cy5fdW5yZWZBY3RpdmU9ZXhwb3J0cy5hY3RpdmU9ZnVuY3Rpb24oZSl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpO3ZhciB0PWUuX2lkbGVUaW1lb3V0O3Q+PTAmJihlLl9pZGxlVGltZW91dElkPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9vblRpbWVvdXQmJmUuX29uVGltZW91dCgpfSx0KSl9LGV4cG9ydHMuc2V0SW1tZWRpYXRlPVwiZnVuY3Rpb25cIj09dHlwZW9mIHNldEltbWVkaWF0ZT9zZXRJbW1lZGlhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9bmV4dEltbWVkaWF0ZUlkKyssaT0hKGFyZ3VtZW50cy5sZW5ndGg8MikmJnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBpbW1lZGlhdGVJZHNbdF09ITAsbmV4dFRpY2soZnVuY3Rpb24oKXtpbW1lZGlhdGVJZHNbdF0mJihpP2UuYXBwbHkobnVsbCxpKTplLmNhbGwobnVsbCksZXhwb3J0cy5jbGVhckltbWVkaWF0ZSh0KSl9KSx0fSxleHBvcnRzLmNsZWFySW1tZWRpYXRlPVwiZnVuY3Rpb25cIj09dHlwZW9mIGNsZWFySW1tZWRpYXRlP2NsZWFySW1tZWRpYXRlOmZ1bmN0aW9uKGUpe2RlbGV0ZSBpbW1lZGlhdGVJZHNbZV19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW0xaGFXNHVhbk1pWFN3aWJtRnRaWE1pT2xzaWJtVjRkRlJwWTJzaUxDSnlaWEYxYVhKbElpd2lZWEJ3YkhraUxDSkdkVzVqZEdsdmJpSXNJbkJ5YjNSdmRIbHdaU0lzSW5Oc2FXTmxJaXdpUVhKeVlYa2lMQ0pwYlcxbFpHbGhkR1ZKWkhNaUxDSnVaWGgwU1cxdFpXUnBZWFJsU1dRaUxDSlVhVzFsYjNWMElpd2lhV1FpTENKamJHVmhja1p1SWl3aWRHaHBjeUlzSWw5cFpDSXNJbDlqYkdWaGNrWnVJaXdpWlhod2IzSjBjeUlzSW5ObGRGUnBiV1Z2ZFhRaUxDSmpZV3hzSWl3aWQybHVaRzkzSWl3aVlYSm5kVzFsYm5Seklpd2lZMnhsWVhKVWFXMWxiM1YwSWl3aWMyVjBTVzUwWlhKMllXd2lMQ0pqYkdWaGNrbHVkR1Z5ZG1Gc0lpd2lkR2x0Wlc5MWRDSXNJbU5zYjNObElpd2lkVzV5WldZaUxDSnlaV1lpTENKbGJuSnZiR3dpTENKcGRHVnRJaXdpYlhObFkzTWlMQ0pmYVdSc1pWUnBiV1Z2ZFhSSlpDSXNJbDlwWkd4bFZHbHRaVzkxZENJc0luVnVaVzV5YjJ4c0lpd2lYM1Z1Y21WbVFXTjBhWFpsSWl3aVlXTjBhWFpsSWl3aVgyOXVWR2x0Wlc5MWRDSXNJbk5sZEVsdGJXVmthV0YwWlNJc0ltWnVJaXdpWVhKbmN5SXNJbXhsYm1kMGFDSXNJbU5zWldGeVNXMXRaV1JwWVhSbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeEpRVUZKUVN4VFFVRlhReXhSUVVGUkxITkNRVUZ6UWtRc1UwRkRla05GTEUxQlFWRkRMRk5CUVZORExGVkJRVlZHTEUxQlF6TkNSeXhOUVVGUlF5eE5RVUZOUml4VlFVRlZReXhOUVVONFFrVXNZVUZCWlN4SFFVTm1ReXhuUWtGQmEwSXNSVUZoZEVJc1UwRkJVME1zVVVGQlVVTXNSVUZCU1VNc1IwRkRia0pETEV0QlFVdERMRWxCUVUxSUxFVkJRMWhGTEV0QlFVdEZMRk5CUVZkSUxFVkJXR3hDU1N4UlFVRlJReXhYUVVGaExGZEJRMjVDTEU5QlFVOHNTVUZCU1ZBc1VVRkJVVkFzVFVGQlRXVXNTMEZCUzBRc1YwRkJXVVVzVDBGQlVVTXNWMEZCV1VNc1pVRkZhRVZNTEZGQlFWRk5MRmxCUVdNc1YwRkRjRUlzVDBGQlR5eEpRVUZKV2l4UlFVRlJVQ3hOUVVGTlpTeExRVUZMU1N4WlFVRmhTQ3hQUVVGUlF5eFhRVUZaUnl4blFrRkZha1ZRTEZGQlFWRkxMR0ZCUTFKTUxGRkJRVkZQTEdOQlFXZENMRk5CUVZORExFZEJRVmRCTEVWQlFWRkRMRk5CVFhCRVppeFJRVUZSVEN4VlFVRlZjVUlzVFVGQlVXaENMRkZCUVZGTUxGVkJRVlZ6UWl4SlFVRk5MR0ZCUTJ4RWFrSXNVVUZCVVV3c1ZVRkJWVzlDTEUxQlFWRXNWMEZEZUVKYUxFdEJRVXRGTEZOQlFWTkhMRXRCUVV0RExFOUJRVkZPTEV0QlFVdERMRTFCU1d4RFJTeFJRVUZSV1N4UFFVRlRMRk5CUVZORExFVkJRVTFETEVkQlF6bENWQ3hoUVVGaFVTeEZRVUZMUlN4blFrRkRiRUpHTEVWQlFVdEhMR0ZCUVdWR0xFZEJSM1JDWkN4UlFVRlJhVUlzVTBGQlZ5eFRRVUZUU2l4SFFVTXhRbElzWVVGQllWRXNSVUZCUzBVc1owSkJRMnhDUml4RlFVRkxSeXhqUVVGblFpeEhRVWQyUW1oQ0xGRkJRVkZyUWl4aFFVRmxiRUlzVVVGQlVXMUNMRTlCUVZNc1UwRkJVMDRzUjBGREwwTlNMR0ZCUVdGUkxFVkJRVXRGTEdkQ1FVVnNRaXhKUVVGSlJDeEZRVUZSUkN4RlFVRkxSeXhoUVVOaVJpeEhRVUZUTEVsQlExaEVMRVZCUVV0RkxHVkJRV2xDWkN4WFFVRlhMRmRCUXpOQ1dTeEZRVUZMVHl4WlFVTlFVQ3hGUVVGTFR5eGpRVU5PVGl4TFFVdFFaQ3hSUVVGUmNVSXNZVUZCZFVNc2JVSkJRV3BDUVN4aFFVRTRRa0VzWVVGQlpTeFRRVUZUUXl4SFFVTnNSaXhKUVVGSk0wSXNSVUZCUzBZc2EwSkJRMHc0UWl4SlFVRlBia0lzVlVGQlZXOUNMRTlCUVZNc1NVRkJXV3hETEUxQlFVMVpMRXRCUVV0RkxGVkJRVmNzUjBGclFtaEZMRTlCYUVKQldpeGhRVUZoUnl4SlFVRk5MRVZCUlc1Q1ZpeFRRVUZUTEZkQlEwaFBMR0ZCUVdGSExFdEJSMWcwUWl4RlFVTkdSQ3hGUVVGSGJrTXNUVUZCVFN4TFFVRk5iME1zUjBGRlprUXNSVUZCUjNCQ0xFdEJRVXNzVFVGSFZrWXNVVUZCVVhsQ0xHVkJRV1U1UWl4TlFVbHdRa0VzUjBGSFZFc3NVVUZCVVhsQ0xHVkJRVEpETEcxQ1FVRnVRa0VzWlVGQlowTkJMR1ZCUVdsQ0xGTkJRVk01UWl4VlFVTnFSa2dzWVVGQllVY2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTh1Ym5adEwzWmxjbk5wYjI1ekwyNXZaR1V2ZGpFeUxqSXdMakF2YkdsaUwyNXZaR1ZmYlc5a2RXeGxjeTkzWVhSamFHbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmRHbHRaWEp6TFdKeWIzZHpaWEpwWm5rdmJXRnBiaTVxY3lKOSIsImZ1bmN0aW9uIGRlcHJlY2F0ZShyLGUpe2lmKGNvbmZpZyhcIm5vRGVwcmVjYXRpb25cIikpcmV0dXJuIHI7dmFyIG89ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW8pe2lmKGNvbmZpZyhcInRocm93RGVwcmVjYXRpb25cIikpdGhyb3cgbmV3IEVycm9yKGUpO2NvbmZpZyhcInRyYWNlRGVwcmVjYXRpb25cIik/Y29uc29sZS50cmFjZShlKTpjb25zb2xlLndhcm4oZSksbz0hMH1yZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGNvbmZpZyhyKXt0cnl7aWYoIWdsb2JhbC5sb2NhbFN0b3JhZ2UpcmV0dXJuITF9Y2F0Y2gocil7cmV0dXJuITF9dmFyIGU9Z2xvYmFsLmxvY2FsU3RvcmFnZVtyXTtyZXR1cm4gbnVsbCE9ZSYmXCJ0cnVlXCI9PT1TdHJpbmcoZSkudG9Mb3dlckNhc2UoKX1tb2R1bGUuZXhwb3J0cz1kZXByZWNhdGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVpHVndjbVZqWVhSbElpd2labTRpTENKdGMyY2lMQ0pqYjI1bWFXY2lMQ0ozWVhKdVpXUWlMQ0pGY25KdmNpSXNJbU52Ym5OdmJHVWlMQ0owY21GalpTSXNJbmRoY200aUxDSmhjSEJzZVNJc0luUm9hWE1pTENKaGNtZDFiV1Z1ZEhNaUxDSnVZVzFsSWl3aVoyeHZZbUZzSWl3aWJHOWpZV3hUZEc5eVlXZGxJaXdpWHlJc0luWmhiQ0lzSWxOMGNtbHVaeUlzSW5SdlRHOTNaWEpEWVhObElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQmVVSkJMRk5CUVZOQkxGVkJRVmRETEVWQlFVbERMRWRCUTNSQ0xFZEJRVWxETEU5QlFVOHNhVUpCUTFRc1QwRkJUMFlzUlVGSFZDeEpRVUZKUnl4SFFVRlRMRVZCWldJc1QwRmtRU3hYUVVORkxFbEJRVXRCTEVWQlFWRXNRMEZEV0N4SFFVRkpSQ3hQUVVGUExHOUNRVU5VTEUxQlFVMHNTVUZCU1VVc1RVRkJUVWdzUjBGRFVFTXNUMEZCVHl4dlFrRkRhRUpITEZGQlFWRkRMRTFCUVUxTUxFZEJSV1JKTEZGQlFWRkZMRXRCUVV0T0xFZEJSV1pGTEVkQlFWTXNSVUZGV0N4UFFVRlBTQ3hGUVVGSFVTeE5RVUZOUXl4TFFVRk5ReXhaUVdNeFFpeFRRVUZUVWl4UFFVRlJVeXhIUVVWbUxFbEJRMFVzU1VGQlMwTXNUMEZCVDBNc1lVRkJZeXhQUVVGUExFVkJRMnBETEUxQlFVOURMRWRCUTFBc1QwRkJUeXhGUVVWVUxFbEJRVWxETEVWQlFVMUlMRTlCUVU5RExHRkJRV0ZHTEVkQlF6bENMRTlCUVVrc1RVRkJVVWtzUjBGRGVVSXNVMEZCT1VKRExFOUJRVTlFTEVkQlFVdEZMR05CTlVSeVFrTXNUMEZCVDBNc1VVRkJWWEJDSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dkxtNTJiUzkyWlhKemFXOXVjeTl1YjJSbEwzWXhNaTR5TUM0d0wyeHBZaTl1YjJSbFgyMXZaSFZzWlhNdmQyRjBZMmhwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM1YwYVd3dFpHVndjbVZqWVhSbEwySnliM2R6WlhJdWFuTWlmUT09IiwiIWZ1bmN0aW9uKHQsZSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBtb2R1bGU/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/b1tlXStcIiwgXCIraTppfX0pLG8pOm99O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CaGNuTmxTR1ZoWkdWeWN5NXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKcFoyNXZjbVZFZFhCc2FXTmhkR1ZQWmlJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSm9aV0ZrWlhKeklpd2lhMlY1SWl3aWRtRnNJaXdpYVNJc0luQmhjbk5sWkNJc0ltWnZja1ZoWTJnaUxDSnpjR3hwZENJc0lteHBibVVpTENKcGJtUmxlRTltSWl3aWRISnBiU0lzSW5OMVluTjBjaUlzSW5SdlRHOTNaWEpEWVhObElpd2lZMjl1WTJGMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGSmFFSkRMR3RDUVVGdlFpeERRVU4wUWl4TlFVRlBMR2RDUVVGcFFpeHBRa0ZCYTBJc1pVRkJaMElzVDBGRE1VUXNWVUZCVnl4UFFVRlJMRTlCUVZFc2IwSkJRWEZDTEhOQ1FVTm9SQ3huUWtGQmFVSXNWMEZCV1N4bFFVRm5RaXh6UWtGRE4wTXNWVUZCVnl4alFVRmxMR05CWjBJMVFrTXNUMEZCVDBNc1VVRkJWU3hUUVVGelFrTXNSMEZEY2tNc1NVRkRTVU1zUlVGRFFVTXNSVUZEUVVNc1JVRklRVU1zUlVGQlV5eEhRVXRpTEU5QlFVdEtMRWRCUlV4TUxFMUJRVTFWTEZGQlFWRk1MRVZCUVZGTkxFMUJRVTBzVFVGQlR5eFRRVUZuUWtNc1IwRkxha1FzUjBGS1FVb3NSVUZCU1Vrc1JVRkJTME1zVVVGQlVTeExRVU5xUWxBc1JVRkJUVTRzVFVGQlRXTXNTMEZCUzBZc1JVRkJTMGNzVDBGQlR5eEZRVUZIVUN4SlFVRkpVU3hqUVVOd1ExUXNSVUZCVFZBc1RVRkJUV01zUzBGQlMwWXNSVUZCUzBjc1QwRkJUMUFzUlVGQlNTeEpRVVUzUWtZc1JVRkJTeXhEUVVOUUxFZEJRVWxITEVWQlFVOUlMRWxCUVZGS0xHdENRVUZyUWxjc1VVRkJVVkFzU1VGQlVTeEZRVU51UkN4UFFVZEJSeXhGUVVGUFNDeEhRVVJITEdWQlFWSkJMRWRCUTJGSExFVkJRVTlJTEVkQlFVOUhMRVZCUVU5SUxFZEJRVThzU1VGQlNWY3NUMEZCVHl4RFFVRkRWaXhKUVVWNlEwVXNSVUZCVDBnc1IwRkJUMGNzUlVGQlQwZ3NSMEZCVHl4TFFVRlBReXhGUVVGTlFTeExRVXQwUkVVc1IwRnVRbWRDUVNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMM0JoY25ObFNHVmhaR1Z5Y3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4uYXBwbHkobnVsbCx0KX19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5Od2NtVmhaQzVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lZMkZzYkdKaFkyc2lMQ0poY25JaUxDSmhjSEJzZVNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRnpRa0ZCTEU5QlFVOURMRkZCUVZVc1UwRkJaMEpETEVkQlF5OUNMRTlCUVU4c1UwRkJZME1zUjBGRGJrSXNUMEZCVDBRc1JVRkJVMFVzVFVGQlRTeExRVUZOUkNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMM053Y21WaFpDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGJpbmQ9cmVxdWlyZShcIi4vaGVscGVycy9iaW5kXCIpLHRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gaXNBcnJheShyKXtyZXR1cm5cIltvYmplY3QgQXJyYXldXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzVW5kZWZpbmVkKHIpe3JldHVybiB2b2lkIDA9PT1yfWZ1bmN0aW9uIGlzQnVmZmVyKHIpe3JldHVybiBudWxsIT09ciYmIWlzVW5kZWZpbmVkKHIpJiZudWxsIT09ci5jb25zdHJ1Y3RvciYmIWlzVW5kZWZpbmVkKHIuY29uc3RydWN0b3IpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiByLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZyLmNvbnN0cnVjdG9yLmlzQnVmZmVyKHIpfWZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIocil7cmV0dXJuXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0Zvcm1EYXRhKHIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBGb3JtRGF0YSYmciBpbnN0YW5jZW9mIEZvcm1EYXRhfWZ1bmN0aW9uIGlzQXJyYXlCdWZmZXJWaWV3KHIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhyKTpyJiZyLmJ1ZmZlciYmci5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn1mdW5jdGlvbiBpc1N0cmluZyhyKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc051bWJlcihyKXtyZXR1cm5cIm51bWJlclwiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc09iamVjdChyKXtyZXR1cm4gbnVsbCE9PXImJlwib2JqZWN0XCI9PXR5cGVvZiByfWZ1bmN0aW9uIGlzUGxhaW5PYmplY3Qocil7aWYoXCJbb2JqZWN0IE9iamVjdF1cIiE9PXRvU3RyaW5nLmNhbGwocikpcmV0dXJuITE7dmFyIGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpO3JldHVybiBudWxsPT09ZXx8ZT09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gaXNEYXRlKHIpe3JldHVyblwiW29iamVjdCBEYXRlXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0ZpbGUocil7cmV0dXJuXCJbb2JqZWN0IEZpbGVdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzQmxvYihyKXtyZXR1cm5cIltvYmplY3QgQmxvYl1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGdW5jdGlvbihyKXtyZXR1cm5cIltvYmplY3QgRnVuY3Rpb25dXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzU3RyZWFtKHIpe3JldHVybiBpc09iamVjdChyKSYmaXNGdW5jdGlvbihyLnBpcGUpfWZ1bmN0aW9uIGlzVVJMU2VhcmNoUGFyYW1zKHIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJnIgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9ZnVuY3Rpb24gdHJpbShyKXtyZXR1cm4gci5yZXBsYWNlKC9eXFxzKi8sXCJcIikucmVwbGFjZSgvXFxzKiQvLFwiXCIpfWZ1bmN0aW9uIGlzU3RhbmRhcmRCcm93c2VyRW52KCl7cmV0dXJuKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFwiUmVhY3ROYXRpdmVcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5hdGl2ZVNjcmlwdFwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTlNcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCl9ZnVuY3Rpb24gZm9yRWFjaChyLGUpe2lmKG51bGwhPXIpaWYoXCJvYmplY3RcIiE9dHlwZW9mIHImJihyPVtyXSksaXNBcnJheShyKSlmb3IodmFyIHQ9MCxuPXIubGVuZ3RoO3Q8bjt0KyspZS5jYWxsKG51bGwsclt0XSx0LHIpO2Vsc2UgZm9yKHZhciBpIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkmJmUuY2FsbChudWxsLHJbaV0saSxyKX1mdW5jdGlvbiBtZXJnZSgpe3ZhciByPXt9O2Z1bmN0aW9uIGUoZSx0KXtpc1BsYWluT2JqZWN0KHJbdF0pJiZpc1BsYWluT2JqZWN0KGUpP3JbdF09bWVyZ2Uoclt0XSxlKTppc1BsYWluT2JqZWN0KGUpP3JbdF09bWVyZ2Uoe30sZSk6aXNBcnJheShlKT9yW3RdPWUuc2xpY2UoKTpyW3RdPWV9Zm9yKHZhciB0PTAsbj1hcmd1bWVudHMubGVuZ3RoO3Q8bjt0KyspZm9yRWFjaChhcmd1bWVudHNbdF0sZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gZXh0ZW5kKHIsZSx0KXtyZXR1cm4gZm9yRWFjaChlLGZ1bmN0aW9uKGUsbil7cltuXT10JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2JpbmQoZSx0KTplfSkscn1mdW5jdGlvbiBzdHJpcEJPTShyKXtyZXR1cm4gNjUyNzk9PT1yLmNoYXJDb2RlQXQoMCkmJihyPXIuc2xpY2UoMSkpLHJ9bW9kdWxlLmV4cG9ydHM9e2lzQXJyYXk6aXNBcnJheSxpc0FycmF5QnVmZmVyOmlzQXJyYXlCdWZmZXIsaXNCdWZmZXI6aXNCdWZmZXIsaXNGb3JtRGF0YTppc0Zvcm1EYXRhLGlzQXJyYXlCdWZmZXJWaWV3OmlzQXJyYXlCdWZmZXJWaWV3LGlzU3RyaW5nOmlzU3RyaW5nLGlzTnVtYmVyOmlzTnVtYmVyLGlzT2JqZWN0OmlzT2JqZWN0LGlzUGxhaW5PYmplY3Q6aXNQbGFpbk9iamVjdCxpc1VuZGVmaW5lZDppc1VuZGVmaW5lZCxpc0RhdGU6aXNEYXRlLGlzRmlsZTppc0ZpbGUsaXNCbG9iOmlzQmxvYixpc0Z1bmN0aW9uOmlzRnVuY3Rpb24saXNTdHJlYW06aXNTdHJlYW0saXNVUkxTZWFyY2hQYXJhbXM6aXNVUkxTZWFyY2hQYXJhbXMsaXNTdGFuZGFyZEJyb3dzZXJFbnY6aXNTdGFuZGFyZEJyb3dzZXJFbnYsZm9yRWFjaDpmb3JFYWNoLG1lcmdlOm1lcmdlLGV4dGVuZDpleHRlbmQsdHJpbTp0cmltLHN0cmlwQk9NOnN0cmlwQk9NfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluVjBhV3h6TG1weklsMHNJbTVoYldWeklqcGJJbUpwYm1RaUxDSnlaWEYxYVhKbElpd2lkRzlUZEhKcGJtY2lMQ0pQWW1wbFkzUWlMQ0p3Y205MGIzUjVjR1VpTENKcGMwRnljbUY1SWl3aWRtRnNJaXdpWTJGc2JDSXNJbWx6Vlc1a1pXWnBibVZrSWl3aWFYTkNkV1ptWlhJaUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1selFYSnlZWGxDZFdabVpYSWlMQ0pwYzBadmNtMUVZWFJoSWl3aVJtOXliVVJoZEdFaUxDSnBjMEZ5Y21GNVFuVm1abVZ5Vm1sbGR5SXNJa0Z5Y21GNVFuVm1abVZ5SWl3aWFYTldhV1YzSWl3aVluVm1abVZ5SWl3aWFYTlRkSEpwYm1jaUxDSnBjMDUxYldKbGNpSXNJbWx6VDJKcVpXTjBJaXdpYVhOUWJHRnBiazlpYW1WamRDSXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2lhWE5FWVhSbElpd2lhWE5HYVd4bElpd2lhWE5DYkc5aUlpd2lhWE5HZFc1amRHbHZiaUlzSW1selUzUnlaV0Z0SWl3aWNHbHdaU0lzSW1selZWSk1VMlZoY21Ob1VHRnlZVzF6SWl3aVZWSk1VMlZoY21Ob1VHRnlZVzF6SWl3aWRISnBiU0lzSW5OMGNpSXNJbkpsY0d4aFkyVWlMQ0pwYzFOMFlXNWtZWEprUW5KdmQzTmxja1Z1ZGlJc0ltNWhkbWxuWVhSdmNpSXNJbkJ5YjJSMVkzUWlMQ0ozYVc1a2IzY2lMQ0prYjJOMWJXVnVkQ0lzSW1admNrVmhZMmdpTENKdlltb2lMQ0ptYmlJc0lta2lMQ0pzSWl3aWJHVnVaM1JvSWl3aWEyVjVJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p0WlhKblpTSXNJbkpsYzNWc2RDSXNJbUZ6YzJsbmJsWmhiSFZsSWl3aWMyeHBZMlVpTENKaGNtZDFiV1Z1ZEhNaUxDSmxlSFJsYm1RaUxDSmhJaXdpWWlJc0luUm9hWE5CY21jaUxDSnpkSEpwY0VKUFRTSXNJbU52Ym5SbGJuUWlMQ0pqYUdGeVEyOWtaVUYwSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeExRVUZQUXl4UlFVRlJMR3RDUVUxbVF5eFRRVUZYUXl4UFFVRlBReXhWUVVGVlJpeFRRVkZvUXl4VFFVRlRSeXhSUVVGUlF5eEhRVU5tTEUxQlFUaENMRzFDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTBVc1dVRkJXVVlzUjBGRGJrSXNXVUZCYzBJc1NVRkJVa0VzUlVGVGFFSXNVMEZCVTBjc1UwRkJVMGdzUjBGRGFFSXNUMEZCWlN4UFFVRlNRU3hKUVVGcFFrVXNXVUZCV1VZc1NVRkJORUlzVDBGQmNFSkJMRVZCUVVsSkxHTkJRWGxDUml4WlFVRlpSaXhGUVVGSlNTeGpRVU5vUkN4dFFrRkJOMEpLTEVWQlFVbEpMRmxCUVZsRUxGVkJRVEpDU0N4RlFVRkpTU3haUVVGWlJDeFRRVUZUU0N4SFFWTnNSaXhUUVVGVFN5eGpRVUZqVEN4SFFVTnlRaXhOUVVFNFFpeDVRa0ZCZGtKS0xGTkJRVk5MTEV0QlFVdEVMRWRCVTNaQ0xGTkJRVk5OTEZkQlFWZE9MRWRCUTJ4Q0xFMUJRVFJDTEc5Q1FVRmlUeXhWUVVFNFFsQXNZVUZCWlU4c1UwRlRPVVFzVTBGQlUwTXNhMEpCUVd0Q1VpeEhRVTk2UWl4TlFVdzBRaXh2UWtGQmFFSlRMR0ZCUVdsRFFTeFpRVUZyUWl4UFFVTndSRUVzV1VGQldVTXNUMEZCVDFZc1IwRkZia0lzUjBGQlZVRXNSVUZCVlN4UlFVRk5RU3hGUVVGSlZ5eHJRa0ZCYTBKR0xGbEJWemRFTEZOQlFWTkhMRk5CUVZOYUxFZEJRMmhDTEUxQlFYTkNMR2xDUVVGU1FTeEZRVk5vUWl4VFFVRlRZU3hUUVVGVFlpeEhRVU5vUWl4TlFVRnpRaXhwUWtGQlVrRXNSVUZUYUVJc1UwRkJVMk1zVTBGQlUyUXNSMEZEYUVJc1QwRkJaU3hQUVVGU1FTeEhRVUVyUWl4cFFrRkJVa0VzUlVGVGFFTXNVMEZCVTJVc1kwRkJZMllzUjBGRGNrSXNSMEZCTWtJc2IwSkJRWFpDU2l4VFFVRlRTeXhMUVVGTFJDeEhRVU5vUWl4UFFVRlBMRVZCUjFRc1NVRkJTVVlzUlVGQldVUXNUMEZCVDIxQ0xHVkJRV1ZvUWl4SFFVTjBReXhQUVVGeFFpeFBRVUZrUml4SFFVRnpRa0VzU1VGQlkwUXNUMEZCVDBNc1ZVRlRjRVFzVTBGQlUyMUNMRTlCUVU5cVFpeEhRVU5rTEUxQlFUaENMR3RDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTJ0Q0xFOUJRVTlzUWl4SFFVTmtMRTFCUVRoQ0xHdENRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMjFDTEU5QlFVOXVRaXhIUVVOa0xFMUJRVGhDTEd0Q1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUyOUNMRmRCUVZkd1FpeEhRVU5zUWl4TlFVRTRRaXh6UWtGQmRrSktMRk5CUVZOTExFdEJRVXRFTEVkQlUzWkNMRk5CUVZOeFFpeFRRVUZUY2tJc1IwRkRhRUlzVDBGQlQyTXNVMEZCVTJRc1NVRkJVVzlDTEZkQlFWZHdRaXhGUVVGSmMwSXNUVUZUZWtNc1UwRkJVME1zYTBKQlFXdENka0lzUjBGRGVrSXNUVUZCYTBNc2IwSkJRWEJDZDBJc2FVSkJRVzFEZUVJc1lVRkJaWGRDTEdkQ1FWTnNSU3hUUVVGVFF5eExRVUZMUXl4SFFVTmFMRTlCUVU5QkxFVkJRVWxETEZGQlFWRXNUMEZCVVN4SlFVRkpRU3hSUVVGUkxFOUJRVkVzU1VGclFtcEVMRk5CUVZORExIVkNRVU5RTEU5QlFYbENMRzlDUVVGa1F5eFhRVUZ2UkN4blFrRkJkRUpCTEZWQlFWVkRMRk5CUTFrc2FVSkJRWFJDUkN4VlFVRlZReXhUUVVOWkxFOUJRWFJDUkN4VlFVRlZReXhYUVVrdlFpeHZRa0ZCV0VNc1VVRkRZU3h2UWtGQllrTXNWVUZuUWxnc1UwRkJVME1zVVVGQlVVTXNSVUZCUzBNc1IwRkZjRUlzUjBGQlNVUXNUVUZCUVVFc1JVRlZTaXhIUVV4dFFpeHBRa0ZCVWtFc1NVRkZWRUVzUlVGQlRTeERRVUZEUVN4SlFVZE1ia01zVVVGQlVXMURMRWRCUlZZc1NVRkJTeXhKUVVGSlJTeEZRVUZKTEVWQlFVZERMRVZCUVVsSUxFVkJRVWxKTEU5QlFWRkdMRVZCUVVsRExFVkJRVWRFTEVsQlEzSkRSQ3hGUVVGSGJFTXNTMEZCU3l4TFFVRk5hVU1zUlVGQlNVVXNSMEZCU1VFc1JVRkJSMFlzVVVGSk0wSXNTVUZCU3l4SlFVRkpTeXhMUVVGUFRDeEZRVU5XY2tNc1QwRkJUME1zVlVGQlZUQkRMR1ZCUVdWMlF5eExRVUZMYVVNc1JVRkJTMHNzU1VGRE5VTktMRVZCUVVkc1F5eExRVUZMTEV0QlFVMXBReXhGUVVGSlN5eEhRVUZOUVN4RlFVRkxUQ3hIUVhWQ2NrTXNVMEZCVTA4c1VVRkRVQ3hKUVVGSlF5eEZRVUZUTEVkQlEySXNVMEZCVTBNc1JVRkJXVE5ETEVWQlFVdDFReXhIUVVOd1FuaENMR05CUVdNeVFpeEZRVUZQU0N4TFFVRlRlRUlzWTBGQlkyWXNSMEZET1VNd1F5eEZRVUZQU0N4SFFVRlBSU3hOUVVGTlF5eEZRVUZQU0N4SFFVRk5ka01zUjBGRGVFSmxMR05CUVdObUxFZEJRM1pDTUVNc1JVRkJUMGdzUjBGQlQwVXNUVUZCVFN4SFFVRkpla01zUjBGRFprUXNVVUZCVVVNc1IwRkRha0l3UXl4RlFVRlBTQ3hIUVVGUGRrTXNSVUZCU1RSRExGRkJSV3hDUml4RlFVRlBTQ3hIUVVGUGRrTXNSVUZKYkVJc1NVRkJTeXhKUVVGSmIwTXNSVUZCU1N4RlFVRkhReXhGUVVGSlVTeFZRVUZWVUN4UFFVRlJSaXhGUVVGSlF5eEZRVUZIUkN4SlFVTXpRMGdzVVVGQlVWa3NWVUZCVlZRc1IwRkJTVThzUjBGRmVFSXNUMEZCVDBRc1JVRlhWQ3hUUVVGVFNTeFBRVUZQUXl4RlFVRkhReXhGUVVGSFF5eEhRVkZ3UWl4UFFWQkJhRUlzVVVGQlVXVXNSVUZCUnl4VFFVRnhRbWhFTEVWQlFVdDFReXhIUVVWcVExRXNSVUZCUlZJc1IwRkVRVlVzUjBGQk1FSXNiVUpCUVZKcVJDeEZRVU5ZVGl4TFFVRkxUU3hGUVVGTGFVUXNSMEZGVm1wRUxFbEJSMDRyUXl4RlFWTlVMRk5CUVZOSExGTkJRVk5ETEVkQlNXaENMRTlCU0RoQ0xGRkJRVEZDUVN4RlFVRlJReXhYUVVGWExFdEJRM0pDUkN4RlFVRlZRU3hGUVVGUlVDeE5RVUZOTEVsQlJXNUNUeXhGUVVkVVJTeFBRVUZQUXl4UlFVRlZMRU5CUTJaMlJDeFJRVUZUUVN4UlFVTlVUU3hqUVVGbFFTeGpRVU5tUml4VFFVRlZRU3hUUVVOV1J5eFhRVUZaUVN4WFFVTmFSU3hyUWtGQmJVSkJMR3RDUVVOdVFra3NVMEZCVlVFc1UwRkRWa01zVTBGQlZVRXNVMEZEVmtNc1UwRkJWVUVzVTBGRFZrTXNZMEZCWlVFc1kwRkRabUlzV1VGQllVRXNXVUZEWW1Vc1QwRkJVVUVzVDBGRFVrTXNUMEZCVVVFc1QwRkRVa01zVDBGQlVVRXNUMEZEVWtNc1YwRkJXVUVzVjBGRFdrTXNVMEZCVlVFc1UwRkRWa1VzYTBKQlFXMUNRU3hyUWtGRGJrSkxMSEZDUVVGelFrRXNjVUpCUTNSQ1N5eFJRVUZUUVN4UlFVTlVVU3hOUVVGUFFTeE5RVU5RU3l4UFFVRlJRU3hQUVVOU2NrSXNTMEZCVFVFc1MwRkRUbmxDTEZOQlFWVkJJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwzVjBhV3h6TG1wekluMD0iLCJmdW5jdGlvbiBqQm94V3JhcHBlcih0KXtmdW5jdGlvbiBpKG8scyl7cmV0dXJuIHRoaXMub3B0aW9ucz17aWQ6bnVsbCx3aWR0aDpcImF1dG9cIixoZWlnaHQ6XCJhdXRvXCIsbWluV2lkdGg6bnVsbCxtaW5IZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1heEhlaWdodDpudWxsLHJlc3BvbnNpdmVXaWR0aDohMCxyZXNwb25zaXZlSGVpZ2h0OiEwLHJlc3BvbnNpdmVNaW5XaWR0aDoxMDAscmVzcG9uc2l2ZU1pbkhlaWdodDoxMDAsYXR0YWNoOm51bGwsdHJpZ2dlcjpcImNsaWNrXCIscHJldmVudERlZmF1bHQ6ITEsY29udGVudDpudWxsLGdldENvbnRlbnQ6bnVsbCx0aXRsZTpudWxsLGdldFRpdGxlOm51bGwsZm9vdGVyOm51bGwsaXNvbGF0ZVNjcm9sbDohMCxhamF4Ont1cmw6bnVsbCxkYXRhOlwiXCIscmVsb2FkOiExLGdldFVSTDpcImRhdGEtdXJsXCIsZ2V0RGF0YTpcImRhdGEtYWpheFwiLHNldENvbnRlbnQ6ITAsbG9hZGluZ0NsYXNzOiEwLHNwaW5uZXI6ITAsc3Bpbm5lckRlbGF5OjMwMCxzcGlubmVyUmVwb3NpdGlvbjohMH0sY2FuY2VsQWpheE9uQ2xvc2U6ITAsdGFyZ2V0Om51bGwscG9zaXRpb246e3g6XCJjZW50ZXJcIix5OlwiY2VudGVyXCJ9LG91dHNpZGU6bnVsbCxvZmZzZXQ6MCxhdHRyaWJ1dGVzOnt4OlwibGVmdFwiLHk6XCJ0b3BcIn0sZml4ZWQ6ITEsYWRqdXN0UG9zaXRpb246ITAsYWRqdXN0VHJhY2tlcjohMSxhZGp1c3REaXN0YW5jZTo1LHJlcG9zaXRpb246ITAscmVwb3NpdGlvbk9uT3BlbjohMCxyZXBvc2l0aW9uT25Db250ZW50OiEwLGhvbGRQb3NpdGlvbjohMCxwb2ludGVyOiExLHBvaW50VG86XCJ0YXJnZXRcIixmYWRlOjE4MCxhbmltYXRpb246bnVsbCx0aGVtZTpcIkRlZmF1bHRcIixhZGRDbGFzczpudWxsLG92ZXJsYXk6ITEsb3ZlcmxheUNsYXNzOm51bGwsekluZGV4OjFlNCxkZWxheU9wZW46MCxkZWxheUNsb3NlOjAsY2xvc2VPbkVzYzohMSxjbG9zZU9uQ2xpY2s6ITEsY2xvc2VPbk1vdXNlbGVhdmU6ITEsY2xvc2VCdXR0b246ITEsYXBwZW5kVG86dChcImJvZHlcIiksY3JlYXRlT25Jbml0OiExLGJsb2NrU2Nyb2xsOiExLGJsb2NrU2Nyb2xsQWRqdXN0OiEwLGRyYWdnYWJsZTohMSxkcmFnT3ZlcjohMCxhdXRvQ2xvc2U6ITEsZGVsYXlPbkhvdmVyOiExLHNob3dDb3VudGRvd246ITEscHJlbG9hZEF1ZGlvOiEwLGF1ZGlvOm51bGwsdm9sdW1lOjEwMCxvbkluaXQ6bnVsbCxvbkF0dGFjaDpudWxsLG9uUG9zaXRpb246bnVsbCxvbkNyZWF0ZWQ6bnVsbCxvbk9wZW46bnVsbCxvbkNsb3NlOm51bGwsb25DbG9zZUNvbXBsZXRlOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyYWdFbmQ6bnVsbH0sdGhpcy5fcGx1Z2luT3B0aW9ucz17VG9vbHRpcDp7Z2V0Q29udGVudDpcInRpdGxlXCIsdHJpZ2dlcjpcIm1vdXNlZW50ZXJcIixwb3NpdGlvbjp7eDpcImNlbnRlclwiLHk6XCJ0b3BcIn0sb3V0c2lkZTpcInlcIixwb2ludGVyOiEwfSxNb3VzZTp7cmVzcG9uc2l2ZVdpZHRoOiExLHJlc3BvbnNpdmVIZWlnaHQ6ITEsYWRqdXN0UG9zaXRpb246XCJmbGlwXCIsdGFyZ2V0OlwibW91c2VcIix0cmlnZ2VyOlwibW91c2VlbnRlclwiLHBvc2l0aW9uOnt4OlwicmlnaHRcIix5OlwiYm90dG9tXCJ9LG91dHNpZGU6XCJ4eVwiLG9mZnNldDo1fSxNb2RhbDp7dGFyZ2V0OnQod2luZG93KSxmaXhlZDohMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazpcIm92ZXJsYXlcIixjbG9zZUJ1dHRvbjohMCxvdmVybGF5OiEwLGFuaW1hdGlvbjpcInpvb21JblwifX0sdGhpcy5vcHRpb25zPXQuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyx0aGlzLl9wbHVnaW5PcHRpb25zW29dfHxpLl9wbHVnaW5PcHRpb25zW29dLHMpLFwic3RyaW5nXCI9PXQudHlwZShvKSYmKHRoaXMudHlwZT1vKSx0aGlzLmlzVG91Y2hEZXZpY2U9ZnVuY3Rpb24oKXt2YXIgdCxpPVwiIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtIFwiLnNwbGl0KFwiIFwiKTtyZXR1cm4hIShcIm9udG91Y2hzdGFydFwiaW4gd2luZG93fHx3aW5kb3cuRG9jdW1lbnRUb3VjaCYmZG9jdW1lbnQgaW5zdGFuY2VvZiBEb2N1bWVudFRvdWNoKXx8KHQ9aT1bXCIoXCIsaS5qb2luKFwidG91Y2gtZW5hYmxlZCksKFwiKSxcImhlYXJ0elwiLFwiKVwiXS5qb2luKFwiXCIpLHdpbmRvdy5tYXRjaE1lZGlhKHQpLm1hdGNoZXMpfSgpLHRoaXMuaXNUb3VjaERldmljZSYmXCJtb3VzZWVudGVyXCI9PT10aGlzLm9wdGlvbnMudHJpZ2dlciYmITE9PT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiYodGhpcy5vcHRpb25zLmNsb3NlT25DbGljaz1cImJvZHlcIiksdGhpcy5fZmlyZUV2ZW50PWZ1bmN0aW9uKHQsaSl7dGhpcy5vcHRpb25zW1wiX1wiK3RdJiZ0aGlzLm9wdGlvbnNbXCJfXCIrdF0uYmluZCh0aGlzKShpKSx0aGlzLm9wdGlvbnNbdF0mJnRoaXMub3B0aW9uc1t0XS5iaW5kKHRoaXMpKGkpfSxudWxsPT09dGhpcy5vcHRpb25zLmlkJiYodGhpcy5vcHRpb25zLmlkPVwiakJveFwiK2kuX2dldFVuaXF1ZUlEKCkpLHRoaXMuaWQ9dGhpcy5vcHRpb25zLmlkLChcImNlbnRlclwiPT10aGlzLm9wdGlvbnMucG9zaXRpb24ueCYmXCJ4XCI9PXRoaXMub3B0aW9ucy5vdXRzaWRlfHxcImNlbnRlclwiPT10aGlzLm9wdGlvbnMucG9zaXRpb24ueSYmXCJ5XCI9PXRoaXMub3B0aW9ucy5vdXRzaWRlKSYmKHRoaXMub3B0aW9ucy5vdXRzaWRlPW51bGwpLFwidGFyZ2V0XCIhPXRoaXMub3B0aW9ucy5wb2ludFRvfHx0aGlzLm9wdGlvbnMub3V0c2lkZSYmXCJ4eVwiIT10aGlzLm9wdGlvbnMub3V0c2lkZXx8KHRoaXMub3B0aW9ucy5wb2ludGVyPSExKSxcIm9iamVjdFwiIT10LnR5cGUodGhpcy5vcHRpb25zLm9mZnNldCk/dGhpcy5vcHRpb25zLm9mZnNldD17eDp0aGlzLm9wdGlvbnMub2Zmc2V0LHk6dGhpcy5vcHRpb25zLm9mZnNldH06dGhpcy5vcHRpb25zLm9mZnNldD10LmV4dGVuZCh7eDowLHk6MH0sdGhpcy5vcHRpb25zLm9mZnNldCksXCJvYmplY3RcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSk/dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXt0b3A6dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLHJpZ2h0OnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxib3R0b206dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLGxlZnQ6dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlfTp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2U9dC5leHRlbmQoe3RvcDo1LGxlZnQ6NSxyaWdodDo1LGJvdHRvbTo1fSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UpLHRoaXMub3V0c2lkZT0hKCF0aGlzLm9wdGlvbnMub3V0c2lkZXx8XCJ4eVwiPT10aGlzLm9wdGlvbnMub3V0c2lkZSkmJnRoaXMub3B0aW9ucy5wb3NpdGlvblt0aGlzLm9wdGlvbnMub3V0c2lkZV0sdGhpcy5hbGlnbj10aGlzLm91dHNpZGV8fChcImNlbnRlclwiIT10aGlzLm9wdGlvbnMucG9zaXRpb24ueSYmXCJudW1iZXJcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5wb3NpdGlvbi55KT90aGlzLm9wdGlvbnMucG9zaXRpb24ueDpcImNlbnRlclwiIT10aGlzLm9wdGlvbnMucG9zaXRpb24ueCYmXCJudW1iZXJcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5wb3NpdGlvbi54KT90aGlzLm9wdGlvbnMucG9zaXRpb24ueTp0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54KSxpLnpJbmRleE1heD1NYXRoLm1heChpLnpJbmRleE1heHx8MCxcImF1dG9cIj09PXRoaXMub3B0aW9ucy56SW5kZXg/MWU0OnRoaXMub3B0aW9ucy56SW5kZXgpLFwiYXV0b1wiPT09dGhpcy5vcHRpb25zLnpJbmRleCYmKHRoaXMuYWRqdXN0WkluZGV4T25PcGVuPSEwLGkuekluZGV4TWF4Kz0yLHRoaXMub3B0aW9ucy56SW5kZXg9aS56SW5kZXhNYXgsdGhpcy50cnVlTW9kYWw9dGhpcy5vcHRpb25zLm92ZXJsYXkpLHRoaXMuX2dldE9wcD1mdW5jdGlvbih0KXtyZXR1cm57bGVmdDpcInJpZ2h0XCIscmlnaHQ6XCJsZWZ0XCIsdG9wOlwiYm90dG9tXCIsYm90dG9tOlwidG9wXCIseDpcInlcIix5OlwieFwifVt0XX0sdGhpcy5fZ2V0WFk9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJ4XCIscmlnaHQ6XCJ4XCIsdG9wOlwieVwiLGJvdHRvbTpcInlcIixjZW50ZXI6XCJ4XCJ9W3RdfSx0aGlzLl9nZXRUTD1mdW5jdGlvbih0KXtyZXR1cm57bGVmdDpcImxlZnRcIixyaWdodDpcImxlZnRcIix0b3A6XCJ0b3BcIixib3R0b206XCJ0b3BcIixjZW50ZXI6XCJsZWZ0XCIseDpcImxlZnRcIix5OlwidG9wXCJ9W3RdfSx0aGlzLl9nZXRJbnQ9ZnVuY3Rpb24oaSxvKXtyZXR1cm5cImF1dG9cIj09aT9cImF1dG9cIjppJiZcInN0cmluZ1wiPT10LnR5cGUoaSkmJlwiJVwiPT1pLnNsaWNlKC0xKT90KHdpbmRvdylbXCJoZWlnaHRcIj09bz9cImlubmVySGVpZ2h0XCI6XCJpbm5lcldpZHRoXCJdKCkqcGFyc2VJbnQoaS5yZXBsYWNlKFwiJVwiLFwiXCIpKS8xMDA6aX0sdGhpcy5fY3JlYXRlU1ZHPWZ1bmN0aW9uKGksbyl7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixpKTtyZXR1cm4gdC5lYWNoKG8sZnVuY3Rpb24odCxpKXtzLnNldEF0dHJpYnV0ZShpWzBdLGlbMV18fFwiXCIpfSksc30sdGhpcy5faXNvbGF0ZVNjcm9sbD1mdW5jdGlvbih0KXt0JiZ0Lmxlbmd0aCYmdC5vbihcIkRPTU1vdXNlU2Nyb2xsLmpCb3hJc29sYXRlU2Nyb2xsIG1vdXNld2hlZWwuakJveElzb2xhdGVTY3JvbGxcIixmdW5jdGlvbihpKXt2YXIgbz1pLndoZWVsRGVsdGF8fGkub3JpZ2luYWxFdmVudCYmaS5vcmlnaW5hbEV2ZW50LndoZWVsRGVsdGF8fC1pLmRldGFpbCxzPTA8PXRoaXMuc2Nyb2xsVG9wK3Qub3V0ZXJIZWlnaHQoKS10aGlzLnNjcm9sbEhlaWdodCxlPXRoaXMuc2Nyb2xsVG9wPD0wOyhvPDAmJnN8fDA8byYmZSkmJmkucHJldmVudERlZmF1bHQoKX0pfSx0aGlzLl9zZXRUaXRsZVdpZHRoPWZ1bmN0aW9uKCl7aWYoIXRoaXMudGl0bGVDb250YWluZXJ8fFwiYXV0b1wiPT10aGlzLmNvbnRlbnRbMF0uc3R5bGUud2lkdGgmJiF0aGlzLmNvbnRlbnRbMF0uc3R5bGUubWF4V2lkdGgpcmV0dXJuIG51bGw7dmFyIHQ7XCJub25lXCI9PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpPyh0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwiYmxvY2tcIiksdD10aGlzLmNvbnRlbnQub3V0ZXJXaWR0aCgpLHRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIsXCJub25lXCIpKTp0PXRoaXMuY29udGVudC5vdXRlcldpZHRoKCksdGhpcy50aXRsZUNvbnRhaW5lci5jc3Moe21heFdpZHRoOk1hdGgubWF4KHQscGFyc2VJbnQodGhpcy5jb250ZW50WzBdLnN0eWxlLm1heFdpZHRoKSl8fG51bGx9KX0sdGhpcy5fZHJhZ2dhYmxlPWZ1bmN0aW9uKCl7aWYoIXRoaXMub3B0aW9ucy5kcmFnZ2FibGUpcmV0dXJuITE7dmFyIG89XCJ0aXRsZVwiPT10aGlzLm9wdGlvbnMuZHJhZ2dhYmxlP3RoaXMudGl0bGVDb250YWluZXI6dGhpcy5vcHRpb25zLmRyYWdnYWJsZSBpbnN0YW5jZW9mIHQ/dGhpcy5vcHRpb25zLmRyYWdnYWJsZTpcInN0cmluZ1wiPT10LnR5cGUodGhpcy5vcHRpb25zLmRyYWdnYWJsZSk/dCh0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKTp0aGlzLndyYXBwZXI7cmV0dXJuISghKG8mJm8gaW5zdGFuY2VvZiB0JiZvLmxlbmd0aCl8fG8uZGF0YShcImpCb3gtZHJhZ2dhYmxlXCIpKSYmKG8uYWRkQ2xhc3MoXCJqQm94LWRyYWdnYWJsZVwiKS5kYXRhKFwiakJveC1kcmFnZ2FibGVcIiwhMCkub24oXCJ0b3VjaHN0YXJ0IG1vdXNlZG93blwiLGZ1bmN0aW9uKG8pe3ZhciBzLGUsbixhLGgscjsyPT1vLmJ1dHRvbnx8dChvLnRhcmdldCkuaGFzQ2xhc3MoXCJqQm94LW5vRHJhZ1wiKXx8dChvLnRhcmdldCkucGFyZW50cyhcIi5qQm94LW5vRHJhZ1wiKS5sZW5ndGg/XCJ0b3VjaHN0YXJ0XCI9PW8udHlwZSYmKHQoby50YXJnZXQpLmhhc0NsYXNzKFwiakJveC1jbG9zZUJ1dHRvblwiKXx8dChvLnRhcmdldCkucGFyZW50cyhcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmxlbmd0aCkmJnRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSk6KGU9XCJ0b3VjaHN0YXJ0XCI9PW8udHlwZSYmby50b3VjaGVzJiZvLnRvdWNoZXNbMF0/KHM9by50b3VjaGVzWzBdLnBhZ2VYLG8udG91Y2hlc1swXS5wYWdlWSk6KHM9by5wYWdlWCxvLnBhZ2VZKSx0aGlzLmRyYWdnaW5nU3RhcnRYPXMsdGhpcy5kcmFnZ2luZ1N0YXJ0WT1lLHRoaXMub3B0aW9ucy5kcmFnT3ZlciYmIXRoaXMudHJ1ZU1vZGFsJiZwYXJzZUludCh0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIpLDEwKTw9aS56SW5kZXhNYXhEcmFnb3ZlciYmKGkuekluZGV4TWF4RHJhZ292ZXIrPTEsdGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiLGkuekluZGV4TWF4RHJhZ292ZXIpKSxuPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSxoPXRoaXMud3JhcHBlci5vZmZzZXQoKS50b3Arbi1lLHI9dGhpcy53cmFwcGVyLm9mZnNldCgpLmxlZnQrYS1zLHQoZG9jdW1lbnQpLm9uKFwidG91Y2htb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQrXCIgbW91c2Vtb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dmFyIGk7dD1cInRvdWNobW92ZVwiPT10LnR5cGUmJnQudG91Y2hlcyYmdC50b3VjaGVzWzBdPyhpPXQudG91Y2hlc1swXS5wYWdlWCx0LnRvdWNoZXNbMF0ucGFnZVkpOihpPXQucGFnZVgsdC5wYWdlWSk7dGhpcy5kcmFnZ2luZ3x8dGhpcy5kcmFnZ2luZ1N0YXJ0WD09aXx8dGhpcy5kcmFnZ2luZ1N0YXJ0WT09dHx8KHRoaXMuX2ZpcmVFdmVudChcIm9uRHJhZ1N0YXJ0XCIpLHRoaXMuZHJhZ2dpbmc9ITApLHRoaXMud3JhcHBlci5vZmZzZXQoe3RvcDp0K2gtbixsZWZ0Omkrci1hfSl9LmJpbmQodGhpcykpLG8ucHJldmVudERlZmF1bHQoKSl9LmJpbmQodGhpcykpLm9uKFwidG91Y2hlbmQgbW91c2V1cFwiLGZ1bmN0aW9uKCl7dmFyIGk7dChkb2N1bWVudCkub2ZmKFwidG91Y2htb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQrXCIgbW91c2Vtb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQpLHRoaXMuZHJhZ2dpbmcmJnRoaXMuX2ZpcmVFdmVudChcIm9uRHJhZ0VuZFwiKSx0aGlzLmRyYWdnaW5nPSExLFwiTW9kYWxcIiE9dGhpcy50eXBlJiZcIkNvbmZpcm1cIiE9dGhpcy50eXBlfHwhdGhpcy5vcHRpb25zLmhvbGRQb3NpdGlvbnx8KGk9e3g6KGk9dChcIiNcIit0aGlzLmlkKS5vZmZzZXQoKSkubGVmdC10KGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkseTppLnRvcC10KGRvY3VtZW50KS5zY3JvbGxUb3AoKX0sdGhpcy5wb3NpdGlvbih7cG9zaXRpb246aSxvZmZzZXQ6e3g6MCx5OjB9fSkpfS5iaW5kKHRoaXMpKSx0aGlzLnRydWVNb2RhbHx8KGkuekluZGV4TWF4RHJhZ292ZXI9aS56SW5kZXhNYXhEcmFnb3Zlcj9NYXRoLm1heChpLnpJbmRleE1heERyYWdvdmVyLHRoaXMub3B0aW9ucy56SW5kZXgpOnRoaXMub3B0aW9ucy56SW5kZXgpLHRoaXMpfSx0aGlzLl9jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgaTt0aGlzLndyYXBwZXJ8fCh0aGlzLndyYXBwZXI9dChcIjxkaXYvPlwiLHtpZDp0aGlzLmlkLGNsYXNzOlwiakJveC13cmFwcGVyXCIrKHRoaXMudHlwZT9cIiBqQm94LVwiK3RoaXMudHlwZTpcIlwiKSsodGhpcy5vcHRpb25zLnRoZW1lP1wiIGpCb3gtXCIrdGhpcy5vcHRpb25zLnRoZW1lOlwiXCIpKyh0aGlzLm9wdGlvbnMuYWRkQ2xhc3M/XCIgXCIrdGhpcy5vcHRpb25zLmFkZENsYXNzOlwiXCIpfSkuY3NzKHtwb3NpdGlvbjp0aGlzLm9wdGlvbnMuZml4ZWQ/XCJmaXhlZFwiOlwiYWJzb2x1dGVcIixkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MCx6SW5kZXg6dGhpcy5vcHRpb25zLnpJbmRleH0pLmRhdGEoXCJqQm94XCIsdGhpcyksdGhpcy5vcHRpb25zLmNsb3NlT25Nb3VzZWxlYXZlJiZ0aGlzLndyYXBwZXIub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24oaSl7IXRoaXMuc291cmNlfHxpLnJlbGF0ZWRUYXJnZXQhPXRoaXMuc291cmNlWzBdJiYtMT09PXQuaW5BcnJheSh0aGlzLnNvdXJjZVswXSx0KGkucmVsYXRlZFRhcmdldCkucGFyZW50cyhcIipcIikpJiZ0aGlzLmNsb3NlKCl9LmJpbmQodGhpcykpLFwiYm94XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJnRoaXMud3JhcHBlci5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksdGhpcy5jb250YWluZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtY29udGFpbmVyXCIvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlciksdGhpcy5jb250ZW50PXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvbnRlbnRcIi8+JykuYXBwZW5kVG8odGhpcy5jb250YWluZXIpLHRoaXMub3B0aW9ucy5mb290ZXImJih0aGlzLmZvb3Rlcj10KCc8ZGl2IGNsYXNzPVwiakJveC1mb290ZXJcIi8+JykuYXBwZW5kKHRoaXMub3B0aW9ucy5mb290ZXIpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSksdGhpcy5vcHRpb25zLmlzb2xhdGVTY3JvbGwmJnRoaXMuX2lzb2xhdGVTY3JvbGwodGhpcy5jb250ZW50KSx0aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJigoaT10aGlzLl9jcmVhdGVTVkcoXCJzdmdcIixbW1widmlld0JveFwiLFwiMCAwIDI0IDI0XCJdXSkpLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVNWRyhcInBhdGhcIixbW1wiZFwiLFwiTTIyLjIsNGMwLDAsMC41LDAuNiwwLDEuMWwtNi44LDYuOGw2LjksNi45YzAuNSwwLjUsMCwxLjEsMCwxLjFMMjAsMjIuM2MwLDAtMC42LDAuNS0xLjEsMEwxMiwxNS40bC02LjksNi45Yy0wLjUsMC41LTEuMSwwLTEuMSwwTDEuNywyMGMwLDAtMC41LTAuNiwwLTEuMUw4LjYsMTJMMS43LDUuMUMxLjIsNC42LDEuNyw0LDEuNyw0TDQsMS43YzAsMCwwLjYtMC41LDEuMSwwTDEyLDguNWw2LjgtNi44YzAuNS0wLjUsMS4xLDAsMS4xLDBMMjIuMiw0elwiXV0pKSx0aGlzLmNsb3NlQnV0dG9uPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNsb3NlQnV0dG9uIGpCb3gtbm9EcmFnXCIvPicpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24odCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSkuYXBwZW5kKGkpLFwiYm94XCIhPXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmKCEwIT09dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9ufHx0aGlzLm9wdGlvbnMub3ZlcmxheXx8dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpfHwodGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1jbG9zZUJ1dHRvbi1ib3hcIiksdGhpcy5jbG9zZUJ1dHRvbi5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcikpKSx0aGlzLndyYXBwZXIuYXBwZW5kVG8odGhpcy5vcHRpb25zLmFwcGVuZFRvKSx0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmxlbmd0aCYmdC5lYWNoKFtcInRvcFwiLFwicmlnaHRcIixcImJvdHRvbVwiLFwibGVmdFwiXSxmdW5jdGlvbih0LGkpe3RoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpJiZcImF1dG9cIiE9dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5jc3MoaSkmJih0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2VbaV09TWF0aC5tYXgodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlW2ldLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZVtpXSstMSooKHBhcnNlSW50KHRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpKXx8MCkrKHBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1cIitpK1wiLXdpZHRoXCIpKXx8MCkpKSl9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5wb2ludGVyJiYodGhpcy5wb2ludGVyPXtwb3NpdGlvbjpcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUbz90aGlzLm9wdGlvbnMucG9pbnRUbzp0aGlzLl9nZXRPcHAodGhpcy5vdXRzaWRlKSx4eTpcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUbz90aGlzLl9nZXRYWSh0aGlzLm9wdGlvbnMucG9pbnRUbyk6dGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKSxhbGlnbjpcImNlbnRlclwiLG9mZnNldDowfSx0aGlzLnBvaW50ZXIuZWxlbWVudD10KCc8ZGl2IGNsYXNzPVwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci0nK3RoaXMucG9pbnRlci5wb3NpdGlvbisnXCIvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlciksdGhpcy5wb2ludGVyLmRpbWVuc2lvbnM9e3g6dGhpcy5wb2ludGVyLmVsZW1lbnQub3V0ZXJXaWR0aCgpLHk6dGhpcy5wb2ludGVyLmVsZW1lbnQub3V0ZXJIZWlnaHQoKX0sXCJzdHJpbmdcIj09dC50eXBlKHRoaXMub3B0aW9ucy5wb2ludGVyKSYmKChpPXRoaXMub3B0aW9ucy5wb2ludGVyLnNwbGl0KFwiOlwiKSlbMF0mJih0aGlzLnBvaW50ZXIuYWxpZ249aVswXSksaVsxXSYmKHRoaXMucG9pbnRlci5vZmZzZXQ9cGFyc2VJbnQoaVsxXSkpKSx0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU9XCJ4XCI9PXRoaXMucG9pbnRlci54eT9cImJvdHRvbVwiPT10aGlzLnBvaW50ZXIuYWxpZ24/XCJib3R0b21cIjpcInRvcFwiOlwicmlnaHRcIj09dGhpcy5wb2ludGVyLmFsaWduP1wicmlnaHRcIjpcImxlZnRcIix0aGlzLndyYXBwZXIuY3NzKFwicGFkZGluZy1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24sdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5wb2ludGVyLnh5XSksdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKHRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSxcImNlbnRlclwiPT10aGlzLnBvaW50ZXIuYWxpZ24/XCI1MCVcIjowKS5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlLHRoaXMucG9pbnRlci5vZmZzZXQpLHRoaXMucG9pbnRlci5tYXJnaW49e30sdGhpcy5wb2ludGVyLm1hcmdpbltcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGVdPXRoaXMucG9pbnRlci5vZmZzZXQsXCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduJiZ0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJ0cmFuc2Zvcm1cIixcInRyYW5zbGF0ZShcIisoXCJ5XCI9PXRoaXMucG9pbnRlci54eT8tLjUqdGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueCtcInB4XCI6MCkrXCIsIFwiKyhcInhcIj09dGhpcy5wb2ludGVyLnh5Py0uNSp0aGlzLnBvaW50ZXIuZGltZW5zaW9ucy55K1wicHhcIjowKStcIilcIiksdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwieFwiPT10aGlzLnBvaW50ZXIueHk/XCJ3aWR0aFwiOlwiaGVpZ2h0XCIscGFyc2VJbnQodGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5wb2ludGVyLnh5XSkrcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZStcIi13aWR0aFwiKSkpLHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbikpLHRoaXMuc2V0Q29udGVudCh0aGlzLm9wdGlvbnMuY29udGVudCwhMCksdGhpcy5zZXRUaXRsZSh0aGlzLm9wdGlvbnMudGl0bGUsITApLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLHRoaXMuX2ZpcmVFdmVudChcIm9uQ3JlYXRlZFwiKSl9LHRoaXMub3B0aW9ucy5jcmVhdGVPbkluaXQmJnRoaXMuX2NyZWF0ZSgpLHRoaXMub3B0aW9ucy5hdHRhY2gmJnRoaXMuYXR0YWNoKCksdGhpcy5fYXR0YWNoRXZlbnRzPWZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmRlbGF5T25Ib3ZlciYmdChcIiNcIit0aGlzLmlkKS5vbihcIm1vdXNlZW50ZXJcIixmdW5jdGlvbih0KXt0aGlzLmlzSG92ZXJlZD0hMH0uYmluZCh0aGlzKSksdGhpcy5vcHRpb25zLmRlbGF5T25Ib3ZlciYmdChcIiNcIit0aGlzLmlkKS5vbihcIm1vdXNlbGVhdmVcIixmdW5jdGlvbih0KXt0aGlzLmlzSG92ZXJlZD0hMX0uYmluZCh0aGlzKSksKHRoaXMub3B0aW9ucy5hZGp1c3RQb3NpdGlvbnx8dGhpcy5vcHRpb25zLnJlcG9zaXRpb24pJiYhdGhpcy5maXhlZCYmdGhpcy5vdXRzaWRlJiYodGhpcy5vcHRpb25zLmFkanVzdFRyYWNrZXImJnQod2luZG93KS5vbihcInNjcm9sbC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSwodGhpcy5vcHRpb25zLmFkanVzdFBvc2l0aW9ufHx0aGlzLm9wdGlvbnMucmVwb3NpdGlvbikmJnQod2luZG93KS5vbihcInJlc2l6ZS5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSksXCJtb3VzZVwiPT10aGlzLm9wdGlvbnMudGFyZ2V0JiZ0KFwiYm9keVwiKS5vbihcIm1vdXNlbW92ZS5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5wb3NpdGlvbih7bW91c2VUYXJnZXQ6e3RvcDp0LnBhZ2VZLGxlZnQ6dC5wYWdlWH19KX0uYmluZCh0aGlzKSl9LHRoaXMuX2RldGFjaEV2ZW50cz1mdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jbG9zZU9uRXNjJiZ0KGRvY3VtZW50KS5vZmYoXCJrZXl1cC5qQm94LVwiK3RoaXMuaWQpLCEwIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmXCJib2R5XCIhPXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2t8fHQoZG9jdW1lbnQpLm9mZihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkKSx0aGlzLm9wdGlvbnMuYWRqdXN0VHJhY2tlciYmdCh3aW5kb3cpLm9mZihcInNjcm9sbC5qQm94LVwiK3RoaXMuaWQpLCh0aGlzLm9wdGlvbnMuYWRqdXN0UG9zaXRpb258fHRoaXMub3B0aW9ucy5yZXBvc2l0aW9uKSYmdCh3aW5kb3cpLm9mZihcInJlc2l6ZS5qQm94LVwiK3RoaXMuaWQpLFwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldCYmdChcImJvZHlcIikub2ZmKFwibW91c2Vtb3ZlLmpCb3gtXCIrdGhpcy5pZCl9LHRoaXMuX3Nob3dPdmVybGF5PWZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5fHwodGhpcy5vdmVybGF5PXQoJzxkaXYgaWQ9XCInK3RoaXMuaWQrJy1vdmVybGF5XCIvPicpLmFkZENsYXNzKFwiakJveC1vdmVybGF5XCIrKHRoaXMudHlwZT9cIiBqQm94LW92ZXJsYXktXCIrdGhpcy50eXBlOlwiXCIpKS5jc3Moe2Rpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowLHpJbmRleDp0aGlzLm9wdGlvbnMuekluZGV4LTF9KS5hcHBlbmRUbyh0aGlzLm9wdGlvbnMuYXBwZW5kVG8pLHRoaXMub3B0aW9ucy5vdmVybGF5Q2xhc3MmJnRoaXMub3ZlcmxheS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMub3ZlcmxheUNsYXNzKSxcIm92ZXJsYXlcIiE9dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYhMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vdmVybGF5LmFwcGVuZCh0aGlzLmNsb3NlQnV0dG9uKSxcIm92ZXJsYXlcIj09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmdGhpcy5vdmVybGF5Lm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSx0KFwiI1wiK3RoaXMuaWQrXCItb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgmJih0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UudG9wPU1hdGgubWF4KHQoXCIjXCIrdGhpcy5pZCtcIi1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uXCIpLm91dGVySGVpZ2h0KCksdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcCkpKSwhMD09PXRoaXMuYWRqdXN0WkluZGV4T25PcGVuJiZ0aGlzLm92ZXJsYXkuY3NzKFwiekluZGV4XCIscGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCktMSksXCJibG9ja1wiIT10aGlzLm92ZXJsYXkuY3NzKFwiZGlzcGxheVwiKSYmKHRoaXMub3B0aW9ucy5mYWRlP3RoaXMub3ZlcmxheS5zdG9wKCkmJnRoaXMub3ZlcmxheS5hbmltYXRlKHtvcGFjaXR5OjF9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxzdGFydDpmdW5jdGlvbigpe3RoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSl9LmJpbmQodGhpcyl9KTp0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIixvcGFjaXR5OjF9KSl9LHRoaXMuX2hpZGVPdmVybGF5PWZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5JiYodGhpcy5vcHRpb25zLmZhZGU/dGhpcy5vdmVybGF5LnN0b3AoKSYmdGhpcy5vdmVybGF5LmFuaW1hdGUoe29wYWNpdHk6MH0se3F1ZXVlOiExLGR1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlLGNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pfS5iaW5kKHRoaXMpfSk6dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjB9KSl9LHRoaXMuX2V4cG9zZURpbWVuc2lvbnM9ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuY3NzKHt0b3A6LTFlNCxsZWZ0Oi0xZTQscmlnaHQ6XCJhdXRvXCIsYm90dG9tOlwiYXV0b1wifSk7dmFyIHQ9e3g6dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSx5OnRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpfTtyZXR1cm4gdGhpcy53cmFwcGVyLmNzcyh7dG9wOlwiYXV0b1wiLGxlZnQ6XCJhdXRvXCJ9KSx0fSx0aGlzLl9nZW5lcmF0ZUFuaW1hdGlvbkNTUz1mdW5jdGlvbigpe2lmKFwib2JqZWN0XCIhPXQudHlwZSh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uKSYmKHRoaXMub3B0aW9ucy5hbmltYXRpb249e3B1bHNlOntvcGVuOlwicHVsc2VcIixjbG9zZTpcInpvb21PdXRcIn0sem9vbUluOntvcGVuOlwiem9vbUluXCIsY2xvc2U6XCJ6b29tSW5cIn0sem9vbU91dDp7b3BlbjpcInpvb21PdXRcIixjbG9zZTpcInpvb21PdXRcIn0sbW92ZTp7b3BlbjpcIm1vdmVcIixjbG9zZTpcIm1vdmVcIn0sc2xpZGU6e29wZW46XCJzbGlkZVwiLGNsb3NlOlwic2xpZGVcIn0sZmxpcDp7b3BlbjpcImZsaXBcIixjbG9zZTpcImZsaXBcIn0sdGFkYTp7b3BlbjpcInRhZGFcIixjbG9zZTpcInpvb21PdXRcIn19W3RoaXMub3B0aW9ucy5hbmltYXRpb25dKSwhdGhpcy5vcHRpb25zLmFuaW1hdGlvbilyZXR1cm4gbnVsbDt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW49dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuLnNwbGl0KFwiOlwiKSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2U9dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZS5zcGxpdChcIjpcIikpLHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbkRpcmVjdGlvbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5bMV18fG51bGwsdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZURpcmVjdGlvbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlWzFdfHxudWxsLHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbiYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5bMF0pLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlPXRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2VbMF0pLHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbiYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbis9XCJPcGVuXCIpLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlKz1cIkNsb3NlXCIpO3ZhciBpPXtwdWxzZTp7ZHVyYXRpb246MzUwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjUwJVwiLFwic2NhbGUoMS4xKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21Jbk9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMC45KVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21JbkNsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDAuOSlcIl1dfSx6b29tT3V0T3Blbjp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxLjEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEpXCJdXX0sem9vbU91dENsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEuMSlcIl1dfSxtb3ZlT3Blbjp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxwb3NpdGlvbnM6e3RvcDp7XCIwJVwiOi0xMn0scmlnaHQ6e1wiMCVcIjoxMn0sYm90dG9tOntcIjAlXCI6MTJ9LGxlZnQ6e1wiMCVcIjotMTJ9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl1dfSxtb3ZlQ2xvc2U6e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsdGltaW5nOlwiZWFzZS1pblwiLHBvc2l0aW9uczp7dG9wOntcIjEwMCVcIjotMTJ9LHJpZ2h0OntcIjEwMCVcIjoxMn0sYm90dG9tOntcIjEwMCVcIjoxMn0sbGVmdDp7XCIxMDAlXCI6LTEyfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdXX0sc2xpZGVPcGVuOntkdXJhdGlvbjo0MDAscG9zaXRpb25zOnt0b3A6e1wiMCVcIjotNDAwfSxyaWdodDp7XCIwJVwiOjQwMH0sYm90dG9tOntcIjAlXCI6NDAwfSxsZWZ0OntcIjAlXCI6LTQwMH19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXSxbXCIxMDAlXCIsXCJ0cmFuc2xhdGUlWFkoMHB4KVwiXV19LHNsaWRlQ2xvc2U6e2R1cmF0aW9uOjQwMCx0aW1pbmc6XCJlYXNlLWluXCIscG9zaXRpb25zOnt0b3A6e1wiMTAwJVwiOi00MDB9LHJpZ2h0OntcIjEwMCVcIjo0MDB9LGJvdHRvbTp7XCIxMDAlXCI6NDAwfSxsZWZ0OntcIjEwMCVcIjotNDAwfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdXX0sZmxpcE9wZW46e2R1cmF0aW9uOjYwMCxjc3M6W1tcIjAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZylcIl0sW1wiNDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTVkZWcpXCJdLFtcIjcwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTVkZWcpXCJdLFtcIjEwMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpXCJdXX0sZmxpcENsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MzAwLGNzczpbW1wiMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpXCJdLFtcIjEwMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKVwiXV19LHRhZGE6e2R1cmF0aW9uOjgwMCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMCUsIDIwJVwiLFwic2NhbGUoMC45KSByb3RhdGUoLTNkZWcpXCJdLFtcIjMwJSwgNTAlLCA3MCUsIDkwJVwiLFwic2NhbGUoMS4xKSByb3RhdGUoM2RlZylcIl0sW1wiNDAlLCA2MCUsIDgwJVwiLFwic2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEpIHJvdGF0ZSgwKVwiXV19fTt0LmVhY2goW1wicHVsc2VcIixcInRhZGFcIl0sZnVuY3Rpb24odCxvKXtpW28rXCJPcGVuXCJdPWlbbytcIkNsb3NlXCJdPWlbb119KTt2YXIgbz1mdW5jdGlvbihvLHMpe3ZhciBlPVwiQGtleWZyYW1lcyBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiIHtcIjtyZXR1cm4gdC5lYWNoKGlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0uY3NzLGZ1bmN0aW9uKHQsbil7dmFyIGE9cz9uWzFdLnJlcGxhY2UoXCIlWFlcIix0aGlzLl9nZXRYWShzKS50b1VwcGVyQ2FzZSgpKTpuWzFdO2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0ucG9zaXRpb25zJiYoYT1hLnJlcGxhY2UoXCIlVlwiLGlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0ucG9zaXRpb25zW3NdW25bMF1dKSksZSs9blswXStcIiB7dHJhbnNmb3JtOlwiK2ErXCI7fVwifS5iaW5kKHRoaXMpKSxlKz1cIn1cIixlKz1cIi5qQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiIHtcIixlKz1cImFuaW1hdGlvbi1kdXJhdGlvbjogXCIraVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS5kdXJhdGlvbitcIm1zO1wiLGUrPVwiYW5pbWF0aW9uLW5hbWU6IGpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXStcIi1cIitvKyhzP1wiLVwiK3M6XCJcIikrXCI7XCIsZSs9aVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS50aW1pbmc/XCJhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBcIitpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnRpbWluZytcIjtcIjpcIlwiLGUrPVwifVwifS5iaW5kKHRoaXMpO3RoaXMuX2FuaW1hdGlvbkNTUz1cIlwiLHQuZWFjaChbXCJvcGVuXCIsXCJjbG9zZVwiXSxmdW5jdGlvbihzLGUpe2lmKCF0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdfHwhaVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdXXx8XCJjbG9zZVwiPT1lJiYhdGhpcy5vcHRpb25zLmZhZGUpcmV0dXJuXCJcIjtpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bZV1dLnBvc2l0aW9ucz90LmVhY2goW1widG9wXCIsXCJyaWdodFwiLFwiYm90dG9tXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKHQsaSl7dGhpcy5fYW5pbWF0aW9uQ1NTKz1vKGUsaSl9LmJpbmQodGhpcykpOnRoaXMuX2FuaW1hdGlvbkNTUys9byhlKX0uYmluZCh0aGlzKSl9LHRoaXMub3B0aW9ucy5hbmltYXRpb24mJnRoaXMuX2dlbmVyYXRlQW5pbWF0aW9uQ1NTKCksdGhpcy5fYmxvY2tCb2R5Q2xpY2s9ZnVuY3Rpb24oKXt0aGlzLmJsb2NrQm9keUNsaWNrPSEwLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmJsb2NrQm9keUNsaWNrPSExfS5iaW5kKHRoaXMpLDEwKX0sdGhpcy5fYW5pbWF0ZT1mdW5jdGlvbih0KXtpZih0PXR8fCh0aGlzLmlzT3Blbj9cIm9wZW5cIjpcImNsb3NlXCIpLCF0aGlzLm9wdGlvbnMuZmFkZSYmXCJjbG9zZVwiPT10KXJldHVybiBudWxsO3ZhciBpPXRoaXMub3B0aW9ucy5hbmltYXRpb25bdCtcIkRpcmVjdGlvblwiXXx8KFwiY2VudGVyXCIhPXRoaXMuYWxpZ24/dGhpcy5hbGlnbjp0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54KTt0aGlzLmZsaXBwZWQmJnRoaXMuX2dldFhZKGkpPT10aGlzLl9nZXRYWSh0aGlzLmFsaWduKSYmKGk9dGhpcy5fZ2V0T3BwKGkpKTt2YXIgbz1cImpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvblt0XStcIi1cIit0K1wiIGpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvblt0XStcIi1cIit0K1wiLVwiK2k7dGhpcy53cmFwcGVyLmFkZENsYXNzKG8pLGk9MWUzKnBhcnNlRmxvYXQodGhpcy53cmFwcGVyLmNzcyhcImFuaW1hdGlvbi1kdXJhdGlvblwiKSksXCJjbG9zZVwiPT10JiYoaT1NYXRoLm1pbihpLHRoaXMub3B0aW9ucy5mYWRlKSksc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMud3JhcHBlci5yZW1vdmVDbGFzcyhvKX0uYmluZCh0aGlzKSxpKX0sdGhpcy5fYWJvcnRBbmltYXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndyYXBwZXIuYXR0cihcImNsYXNzXCIpLnNwbGl0KFwiIFwiKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIDAhPT10Lmxhc3RJbmRleE9mKFwiakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvblwiLDApfS5iaW5kKHRoaXMpKTt0aGlzLndyYXBwZXIuYXR0cihcImNsYXNzXCIsdC5qb2luKFwiIFwiKSl9LCh0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZVdpZHRofHx0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUhlaWdodCkmJnQod2luZG93KS5vbihcInJlc2l6ZS5yZXNwb25zaXZlakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMuaXNPcGVuJiZ0aGlzLnBvc2l0aW9uKCl9LmJpbmQodGhpcykpLFwic3RyaW5nXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbykmJih0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvPVt0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvXSksXCJzdHJpbmdcIj09PXQudHlwZSh0aGlzLm9wdGlvbnMuYXVkaW8pJiYodGhpcy5vcHRpb25zLmF1ZGlvPXtvcGVuOnRoaXMub3B0aW9ucy5hdWRpb30pLFwibnVtYmVyXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLnZvbHVtZSkmJih0aGlzLm9wdGlvbnMudm9sdW1lPXtvcGVuOnRoaXMub3B0aW9ucy52b2x1bWUsY2xvc2U6dGhpcy5vcHRpb25zLnZvbHVtZX0pLCEwPT09dGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbyYmdGhpcy5vcHRpb25zLmF1ZGlvJiYodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbz1bXSx0LmVhY2godGhpcy5vcHRpb25zLmF1ZGlvLGZ1bmN0aW9uKHQsaSl7dGhpcy5vcHRpb25zLnByZWxvYWRBdWRpby5wdXNoKGkrXCIubXAzXCIpLHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ucHVzaChpK1wiLm9nZ1wiKX0uYmluZCh0aGlzKSkpLHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ubGVuZ3RoJiZ0LmVhY2godGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbyxmdW5jdGlvbih0LGkpe3ZhciBvPW5ldyBBdWRpbztvLnNyYz1pLG8ucHJlbG9hZD1cImF1dG9cIn0pLHRoaXMuX2ZpcmVFdmVudChcIm9uSW5pdFwiKSx0aGlzfXZhciBvLHM7cmV0dXJuIGkucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihpLG8pe3JldHVybiBpPWl8fHRoaXMub3B0aW9ucy5hdHRhY2gsXCJzdHJpbmdcIj09dC50eXBlKGkpJiYoaT10KGkpKSxvPW98fHRoaXMub3B0aW9ucy50cmlnZ2VyLGkmJmkubGVuZ3RoJiZ0LmVhY2goaSxmdW5jdGlvbihpLHMpeyhzPXQocykpLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpfHwoXCJ0aXRsZVwiPT10aGlzLm9wdGlvbnMuZ2V0Q29udGVudCYmbnVsbCE9cy5hdHRyKFwidGl0bGVcIikmJnMuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiLHMuYXR0cihcInRpdGxlXCIpKS5yZW1vdmVBdHRyKFwidGl0bGVcIiksdGhpcy5hdHRhY2hlZEVsZW1lbnRzfHwodGhpcy5hdHRhY2hlZEVsZW1lbnRzPVtdKSx0aGlzLmF0dGFjaGVkRWxlbWVudHMucHVzaChzWzBdKSxzLm9uKG8rXCIuakJveC1hdHRhY2gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt2YXIgaTt0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksXCJtb3VzZWVudGVyXCI9PW8mJnRoaXMuaXNPcGVuJiZ0aGlzLnNvdXJjZVswXT09c1swXXx8KHRoaXMuaXNPcGVuJiZ0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2VbMF0hPXNbMF0mJihpPSEwKSx0aGlzLnNvdXJjZT1zLHRoaXMub3B0aW9ucy50YXJnZXR8fCh0aGlzLnRhcmdldD1zKSxcImNsaWNrXCI9PW8mJnRoaXMub3B0aW9ucy5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXNbXCJjbGlja1wiIT1vfHxpP1wib3BlblwiOlwidG9nZ2xlXCJdKCkpfS5iaW5kKHRoaXMpKSxcIm1vdXNlZW50ZXJcIj09dGhpcy5vcHRpb25zLnRyaWdnZXImJnMub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24oaSl7aWYoIXRoaXMud3JhcHBlcilyZXR1cm4gbnVsbDt0aGlzLm9wdGlvbnMuY2xvc2VPbk1vdXNlbGVhdmUmJihpLnJlbGF0ZWRUYXJnZXQ9PXRoaXMud3JhcHBlclswXXx8dChpLnJlbGF0ZWRUYXJnZXQpLnBhcmVudHMoXCIjXCIrdGhpcy5pZCkubGVuZ3RoKXx8dGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKSxzLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQsbyksdGhpcy5fZmlyZUV2ZW50KFwib25BdHRhY2hcIixzKSl9LmJpbmQodGhpcykpLHRoaXN9LGkucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbihpKXtyZXR1cm4oaT1pfHx0aGlzLmF0dGFjaGVkRWxlbWVudHN8fFtdKSYmaS5sZW5ndGgmJnQuZWFjaChpLGZ1bmN0aW9uKGksbyl7KG89dChvKSkuZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCkmJihvLm9mZihvLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpK1wiLmpCb3gtYXR0YWNoLVwiK3RoaXMuaWQpLG8uZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCxudWxsKSksdGhpcy5hdHRhY2hlZEVsZW1lbnRzPXQuZ3JlcCh0aGlzLmF0dGFjaGVkRWxlbWVudHMsZnVuY3Rpb24odCl7cmV0dXJuIHQhPW9bMF19KX0uYmluZCh0aGlzKSksdGhpc30saS5wcm90b3R5cGUuc2V0VGl0bGU9ZnVuY3Rpb24oaSxvKXtpZihudWxsPT1pfHxudWxsPT1pKXJldHVybiB0aGlzO3RoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCk7dmFyIHM9dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCksZT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpO3JldHVybiB0aGlzLnRpdGxlfHwodGhpcy50aXRsZUNvbnRhaW5lcj10KCc8ZGl2IGNsYXNzPVwiakJveC10aXRsZVwiLz4nKSx0aGlzLnRpdGxlPXQoXCI8ZGl2Lz5cIikuYXBwZW5kVG8odGhpcy50aXRsZUNvbnRhaW5lciksXCJ0aXRsZVwiIT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJighMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vcHRpb25zLm92ZXJsYXkpfHwodGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1jbG9zZUJ1dHRvbi10aXRsZVwiKSx0aGlzLmNsb3NlQnV0dG9uLmFwcGVuZFRvKHRoaXMudGl0bGVDb250YWluZXIpKSx0aGlzLnRpdGxlQ29udGFpbmVyLmluc2VydEJlZm9yZSh0aGlzLmNvbnRlbnQpLHRoaXMuX3NldFRpdGxlV2lkdGgoKSksdGhpcy53cmFwcGVyW2k/XCJhZGRDbGFzc1wiOlwicmVtb3ZlQ2xhc3NcIl0oXCJqQm94LWhhc1RpdGxlXCIpLHRoaXMudGl0bGUuaHRtbChpKSxlIT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpJiZ0aGlzLl9zZXRUaXRsZVdpZHRoKCksdGhpcy5vcHRpb25zLmRyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlKCksb3x8IXRoaXMub3B0aW9ucy5yZXBvc2l0aW9uT25Db250ZW50fHxzPT10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSYmZT09dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKXx8dGhpcy5wb3NpdGlvbigpLHRoaXN9LGkucHJvdG90eXBlLnNldENvbnRlbnQ9ZnVuY3Rpb24oaSxvKXtpZihudWxsPT1pfHxudWxsPT1pKXJldHVybiB0aGlzO3RoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCk7dmFyIHM9dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCksZT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpO3N3aXRjaCh0aGlzLmNvbnRlbnQuY2hpbGRyZW4oXCJbZGF0YS1qYm94LWNvbnRlbnQtYXBwZW5kZWRdXCIpLmFwcGVuZFRvKFwiYm9keVwiKS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSx0LnR5cGUoaSkpe2Nhc2VcInN0cmluZ1wiOnRoaXMuY29udGVudC5odG1sKGkpO2JyZWFrO2Nhc2VcIm9iamVjdFwiOmkmJihpIGluc3RhbmNlb2YgdHx8aS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuanF1ZXJ5KT8odGhpcy5jb250ZW50Lmh0bWwoXCJcIiksaS5hdHRyKFwiZGF0YS1qYm94LWNvbnRlbnQtYXBwZW5kZWRcIiwxKS5hcHBlbmRUbyh0aGlzLmNvbnRlbnQpLmNzcyh7ZGlzcGxheTpcImJsb2NrXCJ9KSk6dGhpcy5jb250ZW50Lmh0bWwoSlNPTi5zdHJpbmdpZnkoaSkpfXJldHVybiBlIT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpJiZ0aGlzLl9zZXRUaXRsZVdpZHRoKCksdGhpcy5vcHRpb25zLmRyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlKCksb3x8IXRoaXMub3B0aW9ucy5yZXBvc2l0aW9uT25Db250ZW50fHxzPT10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSYmZT09dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKXx8dGhpcy5wb3NpdGlvbigpLHRoaXN9LGkucHJvdG90eXBlLnNldERpbWVuc2lvbnM9ZnVuY3Rpb24odCxpLG8pe3RoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCksbnVsbD09aSYmKGk9XCJhdXRvXCIpLHRoaXMuY29udGVudC5jc3ModCx0aGlzLl9nZXRJbnQoaSkpLFwid2lkdGhcIj09dCYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9uc1t0XT1pLG51bGwhPW8mJiFvfHx0aGlzLnBvc2l0aW9uKCl9LGkucHJvdG90eXBlLnNldFdpZHRoPWZ1bmN0aW9uKHQsaSl7dGhpcy5zZXREaW1lbnNpb25zKFwid2lkdGhcIix0LGkpfSxpLnByb3RvdHlwZS5zZXRIZWlnaHQ9ZnVuY3Rpb24odCxpKXt0aGlzLnNldERpbWVuc2lvbnMoXCJoZWlnaHRcIix0LGkpfSxpLnByb3RvdHlwZS5wb3NpdGlvbj1mdW5jdGlvbihpKXtpZihpPWl8fHt9LGk9dC5leHRlbmQoITAsdGhpcy5vcHRpb25zLGkpLHRoaXMudGFyZ2V0PWkudGFyZ2V0fHx0aGlzLnRhcmdldHx8dCh3aW5kb3cpLHRoaXMudGFyZ2V0IGluc3RhbmNlb2YgdHx8XCJtb3VzZVwiPT10aGlzLnRhcmdldHx8KHRoaXMudGFyZ2V0PXQodGhpcy50YXJnZXQpKSwhdGhpcy50YXJnZXQubGVuZ3RoKXJldHVybiB0aGlzO3RoaXMuY29udGVudC5jc3Moe3dpZHRoOnRoaXMuX2dldEludChpLndpZHRoLFwid2lkdGhcIiksaGVpZ2h0OnRoaXMuX2dldEludChpLmhlaWdodCxcImhlaWdodFwiKSxtaW5XaWR0aDp0aGlzLl9nZXRJbnQoaS5taW5XaWR0aCxcIndpZHRoXCIpLG1pbkhlaWdodDp0aGlzLl9nZXRJbnQoaS5taW5IZWlnaHQsXCJoZWlnaHRcIiksbWF4V2lkdGg6dGhpcy5fZ2V0SW50KGkubWF4V2lkdGgsXCJ3aWR0aFwiKSxtYXhIZWlnaHQ6dGhpcy5fZ2V0SW50KGkubWF4SGVpZ2h0LFwiaGVpZ2h0XCIpfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpO3ZhciBvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKTtcIm1vdXNlXCI9PXRoaXMudGFyZ2V0fHx0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpfHx0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIsdGhpcy50YXJnZXRbMF0hPXQod2luZG93KVswXSYmKFwiZml4ZWRcIj09dGhpcy50YXJnZXQuY3NzKFwicG9zaXRpb25cIil8fDA8dGhpcy50YXJnZXQucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVyblwiZml4ZWRcIj09dCh0aGlzKS5jc3MoXCJwb3NpdGlvblwiKX0pLmxlbmd0aCk/XCJmaXhlZFwiOlwic3RhdGljXCIpO3ZhciBzPXt4OnQod2luZG93KS5vdXRlcldpZHRoKCkseTp0KHdpbmRvdykub3V0ZXJIZWlnaHQoKSx0b3A6aS5maXhlZCYmdGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKT8wOnQod2luZG93KS5zY3JvbGxUb3AoKSxsZWZ0OmkuZml4ZWQmJnRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIik/MDp0KHdpbmRvdykuc2Nyb2xsTGVmdCgpfTtzLmJvdHRvbT1zLnRvcCtzLnkscy5yaWdodD1zLmxlZnQrcy54O3RyeXt2YXIgZT10aGlzLnRhcmdldC5vZmZzZXQoKX1jYXRjaChzKXtlPXt0b3A6MCxsZWZ0OjB9fVwibW91c2VcIiE9dGhpcy50YXJnZXQmJlwiZml4ZWRcIj09dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKSYmaS5maXhlZCYmKGUudG9wPWUudG9wLXQod2luZG93KS5zY3JvbGxUb3AoKSxlLmxlZnQ9ZS5sZWZ0LXQod2luZG93KS5zY3JvbGxMZWZ0KCkpO3ZhciBuPXt4OlwibW91c2VcIj09dGhpcy50YXJnZXQ/MTI6dGhpcy50YXJnZXQub3V0ZXJXaWR0aCgpLHk6XCJtb3VzZVwiPT10aGlzLnRhcmdldD8yMDp0aGlzLnRhcmdldC5vdXRlckhlaWdodCgpLHRvcDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0JiZpLm1vdXNlVGFyZ2V0P2kubW91c2VUYXJnZXQudG9wOmU/ZS50b3A6MCxsZWZ0OlwibW91c2VcIj09dGhpcy50YXJnZXQmJmkubW91c2VUYXJnZXQ/aS5tb3VzZVRhcmdldC5sZWZ0OmU/ZS5sZWZ0OjB9LGE9aS5vdXRzaWRlJiYhKFwiY2VudGVyXCI9PWkucG9zaXRpb24ueCYmXCJjZW50ZXJcIj09aS5wb3NpdGlvbi55KSxoPXt4OnMueC1pLmFkanVzdERpc3RhbmNlLmxlZnQtaS5hZGp1c3REaXN0YW5jZS5yaWdodCx5OnMueS1pLmFkanVzdERpc3RhbmNlLnRvcC1pLmFkanVzdERpc3RhbmNlLmJvdHRvbSxsZWZ0OmE/bi5sZWZ0LXQod2luZG93KS5zY3JvbGxMZWZ0KCktaS5hZGp1c3REaXN0YW5jZS5sZWZ0OjAscmlnaHQ6YT9zLngtbi5sZWZ0K3Qod2luZG93KS5zY3JvbGxMZWZ0KCktbi54LWkuYWRqdXN0RGlzdGFuY2UucmlnaHQ6MCx0b3A6YT9uLnRvcC10KHdpbmRvdykuc2Nyb2xsVG9wKCktdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcDowLGJvdHRvbTphP3MueS1uLnRvcCt0KHdpbmRvdykuc2Nyb2xsVG9wKCktbi55LWkuYWRqdXN0RGlzdGFuY2UuYm90dG9tOjB9LHI9e3g6XCJ4XCIhPWkub3V0c2lkZSYmXCJ4eVwiIT1pLm91dHNpZGV8fFwibnVtYmVyXCI9PXQudHlwZShpLnBvc2l0aW9uLngpP251bGw6aS5wb3NpdGlvbi54LHk6XCJ5XCIhPWkub3V0c2lkZSYmXCJ4eVwiIT1pLm91dHNpZGV8fFwibnVtYmVyXCI9PXQudHlwZShpLnBvc2l0aW9uLnkpP251bGw6aS5wb3NpdGlvbi55fSxwPXt4OiExLHk6ITF9O3IueCYmby54Pmhbci54XSYmaFt0aGlzLl9nZXRPcHAoci54KV0+aFtyLnhdJiYoci54PXRoaXMuX2dldE9wcChyLngpKSYmKHAueD0hMCksci55JiZvLnk+aFtyLnldJiZoW3RoaXMuX2dldE9wcChyLnkpXT5oW3IueV0mJihyLnk9dGhpcy5fZ2V0T3BwKHIueSkpJiYocC55PSEwKSwoaS5yZXNwb25zaXZlV2lkdGh8fGkucmVzcG9uc2l2ZUhlaWdodCkmJih4PWZ1bmN0aW9uKCl7dmFyIHQ7aS5yZXNwb25zaXZlV2lkdGgmJm8ueD5oW3IueHx8XCJ4XCJdJiYodD1oW3IueHx8XCJ4XCJdLSh0aGlzLnBvaW50ZXImJmEmJlwieFwiPT1pLm91dHNpZGU/dGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueDowKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItbGVmdC13aWR0aFwiKSktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLXJpZ2h0LXdpZHRoXCIpKSx0aGlzLmNvbnRlbnQuY3NzKHt3aWR0aDp0PnRoaXMub3B0aW9ucy5yZXNwb25zaXZlTWluV2lkdGg/dDpudWxsLG1pbldpZHRoOnQ8cGFyc2VJbnQodGhpcy5jb250ZW50LmNzcyhcIm1pbldpZHRoXCIpKT8wOm51bGx9KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLG89dGhpcy5fZXhwb3NlRGltZW5zaW9ucygpfS5iaW5kKHRoaXMpLGkucmVzcG9uc2l2ZVdpZHRoJiZ4KCksaS5yZXNwb25zaXZlV2lkdGgmJiFwLnkmJnIueSYmby55Pmhbci55XSYmaFt0aGlzLl9nZXRPcHAoci55KV0+aFtyLnldJiYoci55PXRoaXMuX2dldE9wcChyLnkpKSYmKHAueT0hMCkseT1mdW5jdGlvbigpe3ZhciB0O2kucmVzcG9uc2l2ZUhlaWdodCYmby55Pmhbci55fHxcInlcIl0mJih0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGl0bGVDb250YWluZXJ8fHRoaXMuZm9vdGVyPyhcIm5vbmVcIj09dGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIik/KHRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIsXCJibG9ja1wiKSx0PSh0aGlzLnRpdGxlQ29udGFpbmVyP3RoaXMudGl0bGVDb250YWluZXIub3V0ZXJIZWlnaHQoKTowKSsodGhpcy5mb290ZXI/dGhpcy5mb290ZXIub3V0ZXJIZWlnaHQoKTowKSx0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwibm9uZVwiKSk6dD0odGhpcy50aXRsZUNvbnRhaW5lcj90aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCk6MCkrKHRoaXMuZm9vdGVyP3RoaXMuZm9vdGVyLm91dGVySGVpZ2h0KCk6MCksdHx8MCk6MDt2YXIgdH0uYmluZCh0aGlzKSx0PWhbci55fHxcInlcIl0tKHRoaXMucG9pbnRlciYmYSYmXCJ5XCI9PWkub3V0c2lkZT90aGlzLnBvaW50ZXIuZGltZW5zaW9ucy55OjApLXQoKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItdG9wLXdpZHRoXCIpKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItYm90dG9tLXdpZHRoXCIpKSx0aGlzLmNvbnRlbnQuY3NzKHtoZWlnaHQ6dD50aGlzLm9wdGlvbnMucmVzcG9uc2l2ZU1pbkhlaWdodD90Om51bGx9KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLG89dGhpcy5fZXhwb3NlRGltZW5zaW9ucygpfS5iaW5kKHRoaXMpLGkucmVzcG9uc2l2ZUhlaWdodCYmeSgpLGkucmVzcG9uc2l2ZUhlaWdodCYmIXAueCYmci54JiZvLng+aFtyLnhdJiZoW3RoaXMuX2dldE9wcChyLngpXT5oW3IueF0mJihyLng9dGhpcy5fZ2V0T3BwKHIueCkpJiYocC54PSEwKSxpLmFkanVzdFBvc2l0aW9uJiZcIm1vdmVcIiE9aS5hZGp1c3RQb3NpdGlvbiYmKHAueCYmeCgpLHAueSYmeSgpKSk7dmFyIGw9e30sZD1mdW5jdGlvbihzKXtpZihcIm51bWJlclwiIT10LnR5cGUoaS5wb3NpdGlvbltzXSkpe3ZhciBlPWkuYXR0cmlidXRlc1tzXT1cInhcIj09cz9cImxlZnRcIjpcInRvcFwiO2lmKGxbZV09bltlXSxcImNlbnRlclwiPT1pLnBvc2l0aW9uW3NdKXJldHVybiBsW2VdKz1NYXRoLmNlaWwoKG5bc10tb1tzXSkvMiksdm9pZChcIm1vdXNlXCIhPXRoaXMudGFyZ2V0JiZ0aGlzLnRhcmdldFswXSYmdGhpcy50YXJnZXRbMF09PXQod2luZG93KVswXSYmKGxbZV0rPS41KihpLmFkanVzdERpc3RhbmNlW2VdLWkuYWRqdXN0RGlzdGFuY2VbdGhpcy5fZ2V0T3BwKGUpXSkpKTtlIT1pLnBvc2l0aW9uW3NdJiYobFtlXSs9bltzXS1vW3NdKSxpLm91dHNpZGUhPXMmJlwieHlcIiE9aS5vdXRzaWRlfHwobFtlXSs9b1tzXSooZSE9aS5wb3NpdGlvbltzXT8xOi0xKSl9ZWxzZSBsW2kuYXR0cmlidXRlc1tzXV09aS5wb3NpdGlvbltzXX0uYmluZCh0aGlzKTtpZihkKFwieFwiKSxkKFwieVwiKSx0aGlzLnBvaW50ZXImJlwidGFyZ2V0XCI9PWkucG9pbnRUbyYmXCJudW1iZXJcIiE9dC50eXBlKGkucG9zaXRpb24ueCkmJlwibnVtYmVyXCIhPXQudHlwZShpLnBvc2l0aW9uLnkpJiYoaj0wLFwiY2VudGVyXCI9PT10aGlzLnBvaW50ZXIuYWxpZ24/XCJjZW50ZXJcIiE9aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0mJihqKz1vW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKTpcImNlbnRlclwiPT09aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0/ais9KG9bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzItdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIpKih0aGlzLnBvaW50ZXIuYWxpZ249PXRoaXMuX2dldFRMKHRoaXMucG9pbnRlci5hbGlnbik/MTotMSk6ais9dGhpcy5wb2ludGVyLmFsaWduIT1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXT90aGlzLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldKigtMSE9PXQuaW5BcnJheSh0aGlzLnBvaW50ZXIuYWxpZ24sW1widG9wXCIsXCJsZWZ0XCJdKT8xOi0xKSt0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMiooLTEhPT10LmluQXJyYXkodGhpcy5wb2ludGVyLmFsaWduLFtcInRvcFwiLFwibGVmdFwiXSk/LTE6MSk6dGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIqKC0xIT09dC5pbkFycmF5KHRoaXMucG9pbnRlci5hbGlnbixbXCJ0b3BcIixcImxlZnRcIl0pPzE6LTEpLGoqPWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldPT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/LTE6MSxqKz10aGlzLnBvaW50ZXIub2Zmc2V0Kih0aGlzLnBvaW50ZXIuYWxpZ249PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRUTCh0aGlzLnBvaW50ZXIuYWxpZ24pKT8xOi0xKSxsW3RoaXMuX2dldFRMKHRoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIueHkpKV0rPWopLGxbaS5hdHRyaWJ1dGVzLnhdKz1pLm9mZnNldC54LGxbaS5hdHRyaWJ1dGVzLnldKz1pLm9mZnNldC55LHRoaXMud3JhcHBlci5jc3MobCksaS5hZGp1c3RQb3NpdGlvbil7dGhpcy5wb3NpdGlvbkFkanVzdGVkJiYodGhpcy5wb2ludGVyJiZ0aGlzLndyYXBwZXIuY3NzKFwicGFkZGluZ1wiLDApLmNzcyhcInBhZGRpbmctXCIrdGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSksdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKV0pLnJlbW92ZUNsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci5wb3NpdGlvbikpLmFkZENsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uKSx0aGlzLnBvaW50ZXImJnRoaXMucG9pbnRlci5lbGVtZW50LmF0dHIoXCJjbGFzc1wiLFwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci1cIit0aGlzLl9nZXRPcHAodGhpcy5vdXRzaWRlKSkuY3NzKHRoaXMucG9pbnRlci5tYXJnaW4pLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMSx0aGlzLmZsaXBwZWQ9ITEpO3ZhciBjPXMudG9wPmwudG9wLShpLmFkanVzdERpc3RhbmNlLnRvcHx8MCksdT1zLnJpZ2h0PGwubGVmdCtvLngrKGkuYWRqdXN0RGlzdGFuY2UucmlnaHR8fDApLGc9cy5ib3R0b208bC50b3Arby55KyhpLmFkanVzdERpc3RhbmNlLmJvdHRvbXx8MCksbT1zLmxlZnQ+bC5sZWZ0LShpLmFkanVzdERpc3RhbmNlLmxlZnR8fDApLGY9bT9cImxlZnRcIjp1P1wicmlnaHRcIjpudWxsLHg9Yz9cInRvcFwiOmc/XCJib3R0b21cIjpudWxsO2lmKGZ8fHgpe2lmKChcIk1vZGFsXCI9PXRoaXMudHlwZXx8XCJDb25maXJtXCI9PXRoaXMudHlwZSkmJlwibnVtYmVyXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueCkmJlwibnVtYmVyXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueSkpe3ZhciB5PTAsaj0wO3JldHVybiB0aGlzLm9wdGlvbnMuaG9sZFBvc2l0aW9uJiYobT95PXMubGVmdC0obC5sZWZ0LShpLmFkanVzdERpc3RhbmNlLmxlZnR8fDApKTp1JiYoeT1zLnJpZ2h0LShsLmxlZnQrby54KyhpLmFkanVzdERpc3RhbmNlLnJpZ2h0fHwwKSkpLGM/aj1zLnRvcC0obC50b3AtKGkuYWRqdXN0RGlzdGFuY2UudG9wfHwwKSk6ZyYmKGo9cy5ib3R0b20tKGwudG9wK28ueSsoaS5hZGp1c3REaXN0YW5jZS5ib3R0b218fDApKSksdGhpcy5vcHRpb25zLnBvc2l0aW9uLng9TWF0aC5tYXgocy50b3AsdGhpcy5vcHRpb25zLnBvc2l0aW9uLngreSksdGhpcy5vcHRpb25zLnBvc2l0aW9uLnk9TWF0aC5tYXgocy5sZWZ0LHRoaXMub3B0aW9ucy5wb3NpdGlvbi55K2opLGQoXCJ4XCIpLGQoXCJ5XCIpLHRoaXMud3JhcHBlci5jc3MobCkpLHRoaXMuX2ZpcmVFdmVudChcIm9uUG9zaXRpb25cIiksdGhpc30hMCE9PWkuYWRqdXN0UG9zaXRpb24mJlwiZmxpcFwiIT09aS5hZGp1c3RQb3NpdGlvbnx8KGI9ZnVuY3Rpb24odCl7dGhpcy53cmFwcGVyLmNzcyh0aGlzLl9nZXRUTCh0KSxsW3RoaXMuX2dldFRMKHQpXSsob1t0aGlzLl9nZXRYWSh0KV0raS5vZmZzZXRbdGhpcy5fZ2V0WFkodCldKihcInRvcFwiPT10fHxcImxlZnRcIj09dD8tMjoyKStuW3RoaXMuX2dldFhZKHQpXSkqKFwidG9wXCI9PXR8fFwibGVmdFwiPT10PzE6LTEpKSx0aGlzLnBvaW50ZXImJnRoaXMud3JhcHBlci5yZW1vdmVDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbikuYWRkQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnBvc2l0aW9uKSkuY3NzKFwicGFkZGluZ1wiLDApLmNzcyhcInBhZGRpbmctXCIrdCx0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRYWSh0KV0pLHRoaXMucG9pbnRlciYmdGhpcy5wb2ludGVyLmVsZW1lbnQuYXR0cihcImNsYXNzXCIsXCJqQm94LXBvaW50ZXIgakJveC1wb2ludGVyLVwiK3QpLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMCx0aGlzLmZsaXBwZWQ9ITB9LmJpbmQodGhpcykscC54JiZiKHRoaXMub3B0aW9ucy5wb3NpdGlvbi54KSxwLnkmJmIodGhpcy5vcHRpb25zLnBvc2l0aW9uLnkpKTt2YXIgYj1cInhcIj09dGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKT94OmY7dGhpcy5wb2ludGVyJiZcInRhcmdldFwiPT1pLnBvaW50VG8mJlwiZmxpcFwiIT1pLmFkanVzdFBvc2l0aW9uJiZ0aGlzLl9nZXRYWShiKT09dGhpcy5fZ2V0T3BwKHRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSkpJiYoeD1cImNlbnRlclwiPT10aGlzLnBvaW50ZXIuYWxpZ24/b1t0aGlzLl9nZXRYWShiKV0vMi10aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnh5KV0vMi1wYXJzZUludCh0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlKSkqKGIhPXRoaXMuX2dldFRMKGIpPy0xOjEpOmI9PXRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZT9wYXJzZUludCh0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlKSk6b1t0aGlzLl9nZXRYWShiKV0tcGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpLXRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldFhZKGIpXSxmPWI9PXRoaXMuX2dldFRMKGIpP3NbdGhpcy5fZ2V0VEwoYildLWxbdGhpcy5fZ2V0VEwoYildK2kuYWRqdXN0RGlzdGFuY2VbYl06LTEqKHNbdGhpcy5fZ2V0T3BwKHRoaXMuX2dldFRMKGIpKV0tbFt0aGlzLl9nZXRUTChiKV0taS5hZGp1c3REaXN0YW5jZVtiXS1vW3RoaXMuX2dldFhZKGIpXSksYj09dGhpcy5fZ2V0T3BwKHRoaXMuX2dldFRMKGIpKSYmbFt0aGlzLl9nZXRUTChiKV0tZjxzW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldFRMKGIpXSYmKGYtPXNbdGhpcy5fZ2V0VEwoYildK2kuYWRqdXN0RGlzdGFuY2VbdGhpcy5fZ2V0VEwoYildLShsW3RoaXMuX2dldFRMKGIpXS1mKSksKGY9TWF0aC5taW4oZix4KSk8PXgmJjA8ZiYmKHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUscGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpLWYqKGIhPXRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZT8tMToxKSksdGhpcy53cmFwcGVyLmNzcyh0aGlzLl9nZXRUTChiKSxsW3RoaXMuX2dldFRMKGIpXStmKihiIT10aGlzLl9nZXRUTChiKT8tMToxKSksdGhpcy5wb3NpdGlvbkFkanVzdGVkPSEwKSl9fXJldHVybiB0aGlzLl9maXJlRXZlbnQoXCJvblBvc2l0aW9uXCIpLHRoaXN9LChpLnByb3RvdHlwZS51bnNjcm9sbD1mdW5jdGlvbih0KXtpZih0aGlzLnNldD1mdW5jdGlvbih0LGkpe3dpbmRvdy51bnNjcm9sbFN0b3JlfHwod2luZG93LnVuc2Nyb2xsU3RvcmU9e30pLHdpbmRvdy51bnNjcm9sbFN0b3JlW3RdPWl9LHRoaXMuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB3aW5kb3cudW5zY3JvbGxTdG9yZT93aW5kb3cudW5zY3JvbGxTdG9yZVt0XTpudWxsfSx0aGlzLmdldFNjcm9sbGJhcldpZHRoPWZ1bmN0aW9uKCl7aWYodGhpcy5nZXQoXCJzY3JvbGxiYXJXaWR0aFwiKSlyZXR1cm4gdGhpcy5nZXQoXCJzY3JvbGxiYXJXaWR0aFwiKStcInB4XCI7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0LnN0eWxlLndpZHRoPVwiMTAwcHhcIix0LnN0eWxlLmhlaWdodD1cIjEwMHB4XCIsdC5zdHlsZS5vdmVyZmxvdz1cInNjcm9sbFwiLHQuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHQuc3R5bGUudG9wPVwiLTEwMDAwXCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTt2YXIgaT10Lm9mZnNldFdpZHRoLXQuY2xpZW50V2lkdGg7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksdGhpcy5zZXQoXCJzY3JvbGxiYXJXaWR0aFwiLGkpLGkrXCJweFwifSx0aGlzLmdldEVsZW1lbnRzVG9BZGp1c3Q9ZnVuY3Rpb24odCl7KHQ9XCJzdHJpbmdcIj09dHlwZW9mKHQ9dHx8W10pP1tbdCxcInBhZGRpbmctcmlnaHRcIl1dOnQpLmZvckVhY2goZnVuY3Rpb24oaSxvKXtcInN0cmluZ1wiPT10eXBlb2YgaSYmKHRbb109W2ksXCJwYWRkaW5nLXJpZ2h0XCJdKX0pO2Zvcih2YXIgaT0hMSxvPTA7bzx0Lmxlbmd0aDtvKyspLTEhPT10W29dWzBdLmluZGV4T2YoXCJib2R5XCIpJiYoaT0hMCk7cmV0dXJuITE9PT1pJiZ0LnB1c2goW1wiYm9keVwiLFwicGFkZGluZy1yaWdodFwiXSksdH0sdGhpcy5wYWdlSGFzU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0U2Nyb2xsYmFyV2lkdGgoKSYmZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0fSx0aGlzLnBhZ2VIYXNTY3JvbGxiYXIoKSl7dD10aGlzLmdldEVsZW1lbnRzVG9BZGp1c3QodCk7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspZm9yKHZhciBvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodFtpXVswXSkscz0wO3M8by5sZW5ndGg7cysrKXtpZihvW3NdLmdldEF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIikpcmV0dXJuO3ZhciBlPXRbaV1bMV0sbj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvW3NdKS5nZXRQcm9wZXJ0eVZhbHVlKGUpO29bc10uc2V0QXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiLGUpLG49bnx8XCIwcHhcIjt2YXIgYT1cInBhZGRpbmctcmlnaHRcIj09ZXx8XCJyaWdodFwiPT1lP1wiK1wiOlwiLVwiO29bc10uc3R5bGVbZV09XCJjYWxjKFwiK24rXCIgXCIrYStcIiBcIit0aGlzLmdldFNjcm9sbGJhcldpZHRoKCkrXCIpXCJ9fXZhciBoLHI7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ1bnNjcm9sbC1jbGFzcy1uYW1lXCIpfHwoaD1kb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF0sKHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpKS50eXBlPVwidGV4dC9jc3NcIixyLnNldEF0dHJpYnV0ZShcImlkXCIsXCJ1bnNjcm9sbC1jbGFzcy1uYW1lXCIpLHIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCIudW5zY3JvbGxhYmxlIHsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XCIpKSxoLmFwcGVuZENoaWxkKHIpKSxkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJ1bnNjcm9sbGFibGVcIil9KS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtdW5zY3JvbGxdXCIpLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpO3RbaV0uc3R5bGVbb109bnVsbCx0W2ldLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIil9ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwidW5zY3JvbGxhYmxlXCIpfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKG8pe2lmKG89b3x8e30sdGhpcy5pc0Rlc3Ryb3llZClyZXR1cm4gdGhpcztpZih0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpLHRoaXMuX3N0eWxlc3x8KHRoaXMuX3N0eWxlcz10KFwiPHN0eWxlLz5cIikuYXBwZW5kKHRoaXMuX2FuaW1hdGlvbkNTUykuYXBwZW5kVG8odChcImhlYWRcIikpKSx0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5fYmxvY2tCb2R5Q2xpY2soKSx0aGlzLmlzRGlzYWJsZWQpcmV0dXJuIHRoaXM7dGhpcy5vcHRpb25zLmNsb3NlT25Fc2MmJnQoZG9jdW1lbnQpLm9uKFwia2V5dXAuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpezI3PT10LmtleUNvZGUmJnRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLCEwIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmXCJib2R5XCIhPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrfHwodChcImJvZHlcIikub24oXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmJsb2NrQm9keUNsaWNrfHxcImJvZHlcIj09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmKHQudGFyZ2V0PT10aGlzLndyYXBwZXJbMF18fHRoaXMud3JhcHBlci5oYXModC50YXJnZXQpLmxlbmd0aCl8fHRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLHRoaXMuaXNUb3VjaERldmljZSYmdChcImJvZHkgPiAqXCIpLm9uKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24oKXtyZXR1cm4hMH0pKTt2YXIgcz1mdW5jdGlvbigpeyEwPT09dGhpcy5hZGp1c3RaSW5kZXhPbk9wZW4mJihpLnpJbmRleE1heD1NYXRoLm1heChwYXJzZUludCh0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIpLDEwKSx0aGlzLm9wdGlvbnMuekluZGV4LGkuekluZGV4TWF4fHwwLGkuekluZGV4TWF4RHJhZ292ZXJ8fDApKzIsdGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiLGkuekluZGV4TWF4KSx0aGlzLm9wdGlvbnMuekluZGV4PWkuekluZGV4TWF4KSx0aGlzLnNvdXJjZSYmdGhpcy5vcHRpb25zLmdldFRpdGxlJiZ0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5nZXRUaXRsZSkmJnRoaXMuc2V0VGl0bGUodGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpLCEwKSx0aGlzLnNvdXJjZSYmdGhpcy5vcHRpb25zLmdldENvbnRlbnQmJih0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1nZXRDb250ZW50XCIpP3RoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1nZXRDb250ZW50XCIpLCEwKTp0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5nZXRDb250ZW50KT90aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0Q29udGVudCksITApOlwiaHRtbFwiPT10aGlzLm9wdGlvbnMuZ2V0Q29udGVudCYmdGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmh0bWwoKSwhMCkpLHRoaXMuX2ZpcmVFdmVudChcIm9uT3BlblwiKSwodGhpcy5vcHRpb25zLmFqYXgmJih0aGlzLm9wdGlvbnMuYWpheC51cmx8fHRoaXMuc291cmNlJiZ0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5hamF4LmdldFVSTCkpJiYoIXRoaXMuYWpheExvYWRlZHx8dGhpcy5vcHRpb25zLmFqYXgucmVsb2FkKXx8by5hamF4JiYoby5hamF4LnVybHx8by5hamF4LmRhdGEpKSYmKFwic3RyaWN0XCI9PXRoaXMub3B0aW9ucy5hamF4LnJlbG9hZHx8IXRoaXMuc291cmNlfHwhdGhpcy5zb3VyY2UuZGF0YShcImpCb3gtYWpheC1kYXRhXCIpfHxvLmFqYXgmJihvLmFqYXgudXJsfHxvLmFqYXguZGF0YSk/dGhpcy5hamF4KG8uYWpheHx8bnVsbCwhMCk6dGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmRhdGEoXCJqQm94LWFqYXgtZGF0YVwiKSkpLHRoaXMucG9zaXRpb25lZE9uT3BlbiYmIXRoaXMub3B0aW9ucy5yZXBvc2l0aW9uT25PcGVufHwhdGhpcy5wb3NpdGlvbihvKXx8KHRoaXMucG9zaXRpb25lZE9uT3Blbj0hMCksdGhpcy5pc0Nsb3NpbmcmJnRoaXMuX2Fib3J0QW5pbWF0aW9uKCksdGhpcy5pc09wZW58fCh0aGlzLmlzT3Blbj0hMCx0aGlzLm9wdGlvbnMuYXV0b0Nsb3NlJiYodGhpcy5vcHRpb25zLmRlbGF5Q2xvc2U9dGhpcy5vcHRpb25zLmF1dG9DbG9zZSkmJnRoaXMuY2xvc2UoKSx0aGlzLl9hdHRhY2hFdmVudHMoKSx0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGwmJih0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/aS5ibG9ja1Njcm9sbFNjb3Blcz9pLmJsb2NrU2Nyb2xsU2NvcGVzKys6KGkuYmxvY2tTY3JvbGxTY29wZXM9MSx0aGlzLnVuc2Nyb2xsKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0KXx8XCJzdHJpbmdcIj09dHlwZW9mIHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdD90aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q6bnVsbCkpOnQoXCJib2R5XCIpLmFkZENsYXNzKFwiakJveC1ibG9ja1Njcm9sbC1cIit0aGlzLmlkKSksdGhpcy5vcHRpb25zLm92ZXJsYXkmJih0aGlzLl9zaG93T3ZlcmxheSgpLHRoaXMucG9zaXRpb24oKSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmIXRoaXMuaXNDbG9zaW5nJiZ0aGlzLl9hbmltYXRlKFwib3BlblwiKSx0aGlzLm9wdGlvbnMuYXVkaW8mJnRoaXMub3B0aW9ucy5hdWRpby5vcGVuJiZ0aGlzLmF1ZGlvKHRoaXMub3B0aW9ucy5hdWRpby5vcGVuLHRoaXMub3B0aW9ucy52b2x1bWUub3BlbiksdGhpcy5vcHRpb25zLmZhZGU/dGhpcy53cmFwcGVyLnN0b3AoKS5hbmltYXRlKHtvcGFjaXR5OjF9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxzdGFydDpmdW5jdGlvbigpe3RoaXMuaXNPcGVuaW5nPSEwLHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSl9LmJpbmQodGhpcyksYWx3YXlzOmZ1bmN0aW9uKCl7dGhpcy5pc09wZW5pbmc9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZSYmdGhpcy5wb3NpdGlvbigpJiYodGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSExKX0uYmluZCh0aGlzKSwxMCl9LmJpbmQodGhpcyl9KToodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcImJsb2NrXCIsb3BhY2l0eToxfSksdGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlJiZ0aGlzLnBvc2l0aW9uKCkmJih0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITEpKSl9LmJpbmQodGhpcyk7cmV0dXJuIXRoaXMub3B0aW9ucy5kZWxheU9wZW58fHRoaXMuaXNPcGVufHx0aGlzLmlzQ2xvc2luZ3x8by5pZ25vcmVEZWxheT9zKCk6dGhpcy50aW1lcj1zZXRUaW1lb3V0KHMsdGhpcy5vcHRpb25zLmRlbGF5T3BlbiksdGhpc30saS5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24obyl7aWYobz1vfHx7fSx0KFwiYm9keVwiKS5vZmYoXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCksdGhpcy5pc1RvdWNoRGV2aWNlJiZ0KFwiYm9keSA+ICpcIikub2ZmKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQpLHRoaXMuaXNEZXN0cm95ZWR8fHRoaXMuaXNDbG9zaW5nKXJldHVybiB0aGlzO2lmKHRoaXMudGltZXImJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLl9ibG9ja0JvZHlDbGljaygpLHRoaXMuaXNEaXNhYmxlZClyZXR1cm4gdGhpczt2YXIgcyxlLG4sYT1mdW5jdGlvbigpe3ZhciBvO3RoaXMuX2ZpcmVFdmVudChcIm9uQ2xvc2VcIiksdGhpcy5vcHRpb25zLmNhbmNlbEFqYXhPbkNsb3NlJiZ0aGlzLmNhbmNlbEFqYXgoKSx0aGlzLmlzT3BlbiYmKHRoaXMuaXNPcGVuPSExLHRoaXMuX2RldGFjaEV2ZW50cygpLHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbCYmKHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdD8oaS5ibG9ja1Njcm9sbFNjb3Blcz1pLmJsb2NrU2Nyb2xsU2NvcGVzPy0taS5ibG9ja1Njcm9sbFNjb3BlczowKXx8dGhpcy51bnNjcm9sbC5yZXNldCgpOnQoXCJib2R5XCIpLnJlbW92ZUNsYXNzKFwiakJveC1ibG9ja1Njcm9sbC1cIit0aGlzLmlkKSksdGhpcy5vcHRpb25zLm92ZXJsYXkmJnRoaXMuX2hpZGVPdmVybGF5KCksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmIXRoaXMuaXNPcGVuaW5nJiZ0aGlzLl9hbmltYXRlKFwiY2xvc2VcIiksdGhpcy5vcHRpb25zLmF1ZGlvJiZ0aGlzLm9wdGlvbnMuYXVkaW8uY2xvc2UmJnRoaXMuYXVkaW8odGhpcy5vcHRpb25zLmF1ZGlvLmNsb3NlLHRoaXMub3B0aW9ucy52b2x1bWUuY2xvc2UpLChvPXRoaXMuaXNUb3VjaERldmljZSYmXCJtb3VzZVwiPT10aGlzLm9wdGlvbnMudGFyZ2V0PzA6dGhpcy5vcHRpb25zLmZhZGUpP3RoaXMud3JhcHBlci5zdG9wKCkuYW5pbWF0ZSh7b3BhY2l0eTowfSx7cXVldWU6ITEsZHVyYXRpb246byxzdGFydDpmdW5jdGlvbigpe3RoaXMuaXNDbG9zaW5nPSEwfS5iaW5kKHRoaXMpLGNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pLHRoaXMuX2ZpcmVFdmVudChcIm9uQ2xvc2VDb21wbGV0ZVwiKX0uYmluZCh0aGlzKSxhbHdheXM6ZnVuY3Rpb24oKXt0aGlzLmlzQ2xvc2luZz0hMX0uYmluZCh0aGlzKX0pOih0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MH0pLHRoaXMuX2ZpcmVFdmVudChcIm9uQ2xvc2VDb21wbGV0ZVwiKSkpfS5iaW5kKHRoaXMpO3JldHVybiBvLmlnbm9yZURlbGF5fHx0aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldD9hKCk6KHRoaXMub3B0aW9ucy5kZWxheU9uSG92ZXJ8fHRoaXMub3B0aW9ucy5zaG93Q291bnRkb3duKSYmMTA8dGhpcy5vcHRpb25zLmRlbGF5Q2xvc2U/KGU9KHM9dGhpcykub3B0aW9ucy5kZWxheUNsb3NlLG49RGF0ZS5ub3coKSx0aGlzLm9wdGlvbnMuc2hvd0NvdW50ZG93biYmIXRoaXMuaW5uZXImJihvPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvdW50ZG93blwiIC8+JyksdGhpcy5pbm5lcj10KCc8ZGl2IGNsYXNzPVwiakJveC1jb3VudGRvd24taW5uZXJcIiAvPicpLG8ucHJlcGVuZCh0aGlzLmlubmVyKSx0KFwiI1wiK3RoaXMuaWQpLmFwcGVuZChvKSksdGhpcy5jb3VudGRvd249ZnVuY3Rpb24oKXt2YXIgdD1EYXRlLm5vdygpO3MuaXNIb3ZlcmVkfHwoZS09dC1uKSxuPXQsMDxlPyhzLm9wdGlvbnMuc2hvd0NvdW50ZG93biYmcy5pbm5lci5jc3MoXCJ3aWR0aFwiLDEwMCplL3Mub3B0aW9ucy5kZWxheUNsb3NlK1wiJVwiKSx3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHMuY291bnRkb3duKSk6YSgpfSx3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuY291bnRkb3duKSk6dGhpcy50aW1lcj1zZXRUaW1lb3V0KGEsTWF0aC5tYXgodGhpcy5vcHRpb25zLmRlbGF5Q2xvc2UsMTApKSx0aGlzfSxpLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdGhpcy5pc09wZW4/XCJjbG9zZVwiOlwib3BlblwiXSh0KSx0aGlzfSxpLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNEaXNhYmxlZD0hMCx0aGlzfSxpLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0Rpc2FibGVkPSExLHRoaXN9LGkucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNhYmxlKCksdGhpcy53cmFwcGVyJiYodGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpLHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSksdGhpcy5vdmVybGF5JiYodGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5PXRoaXMub3ZlcmxheS5jc3MoXCJkaXNwbGF5XCIpLHRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSksdGhpc30saS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuYWJsZSgpLHRoaXMud3JhcHBlciYmdGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5JiYodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTp0aGlzLmNhY2hlV3JhcHBlckRpc3BsYXl9KSx0aGlzLmNhY2hlV3JhcHBlckRpc3BsYXk9bnVsbCksdGhpcy5vdmVybGF5JiZ0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXkmJih0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OnRoaXMuY2FjaGVPdmVybGF5RGlzcGxheX0pLHRoaXMuY2FjaGVPdmVybGF5RGlzcGxheT1udWxsKSx0aGlzfSxpLnByb3RvdHlwZS5hamF4PWZ1bmN0aW9uKGksbyl7aT1pfHx7fSx0LmVhY2goW1tcImdldERhdGFcIixcImRhdGFcIl0sW1wiZ2V0VVJMXCIsXCJ1cmxcIl1dLGZ1bmN0aW9uKHQsbyl7dGhpcy5vcHRpb25zLmFqYXhbb1swXV0mJiFpW29bMV1dJiZ0aGlzLnNvdXJjZSYmbnVsbCE9dGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuYWpheFtvWzBdXSkmJihpW29bMV1dPXRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmFqYXhbb1swXV0pfHxcIlwiKX0uYmluZCh0aGlzKSk7dmFyIHM9dC5leHRlbmQoITAse30sdGhpcy5vcHRpb25zLmFqYXgpO3RoaXMuY2FuY2VsQWpheCgpO3ZhciBlPWkuYmVmb3JlU2VuZHx8cy5iZWZvcmVTZW5kfHxmdW5jdGlvbigpe30sbj1pLmNvbXBsZXRlfHxzLmNvbXBsZXRlfHxmdW5jdGlvbigpe30sYT1pLnN1Y2Nlc3N8fHMuc3VjY2Vzc3x8ZnVuY3Rpb24oKXt9LGg9aS5lcnJvcnx8cy5lcnJvcnx8ZnVuY3Rpb24oKXt9LHI9dC5leHRlbmQoITAscyxpKTtyZXR1cm4gci5iZWZvcmVTZW5kPWZ1bmN0aW9uKGkpe3IubG9hZGluZ0NsYXNzJiZ0aGlzLndyYXBwZXIuYWRkQ2xhc3MoITA9PT1yLmxvYWRpbmdDbGFzcz9cImpCb3gtbG9hZGluZ1wiOnIubG9hZGluZ0NsYXNzKSxyLnNwaW5uZXImJih0aGlzLnNwaW5uZXJEZWxheT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1sb2FkaW5nLXNwaW5uZXJcIiksci5zcGlubmVyUmVwb3NpdGlvbiYmKG8/dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSEwOnRoaXMucG9zaXRpb24oKSksdGhpcy5zcGlubmVyPXQoITAhPT1yLnNwaW5uZXI/ci5zcGlubmVyOic8ZGl2IGNsYXNzPVwiakJveC1zcGlubmVyXCI+PC9kaXY+JykuYXBwZW5kVG8odGhpcy5jb250YWluZXIpLHRoaXMudGl0bGVDb250YWluZXImJlwiYWJzb2x1dGVcIj09dGhpcy5zcGlubmVyLmNzcyhcInBvc2l0aW9uXCIpJiZ0aGlzLnNwaW5uZXIuY3NzKHt0cmFuc2Zvcm06XCJ0cmFuc2xhdGVZKFwiKy41KnRoaXMudGl0bGVDb250YWluZXIub3V0ZXJIZWlnaHQoKStcInB4KVwifSl9LmJpbmQodGhpcyksXCJcIiE9dGhpcy5jb250ZW50Lmh0bWwoKSYmci5zcGlubmVyRGVsYXl8fDApKSxlLmJpbmQodGhpcykoaSl9LmJpbmQodGhpcyksci5jb21wbGV0ZT1mdW5jdGlvbih0KXt0aGlzLnNwaW5uZXJEZWxheSYmY2xlYXJUaW1lb3V0KHRoaXMuc3Bpbm5lckRlbGF5KSx0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LWxvYWRpbmcgakJveC1sb2FkaW5nLXNwaW5uZXIgakJveC1sb2FkaW5nLXNwaW5uZXItZGVsYXlcIiksdGhpcy5zcGlubmVyJiZ0aGlzLnNwaW5uZXIubGVuZ3RoJiZ0aGlzLnNwaW5uZXIucmVtb3ZlKCkmJnIuc3Bpbm5lclJlcG9zaXRpb24mJihvP3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMDp0aGlzLnBvc2l0aW9uKCkpLHRoaXMuYWpheExvYWRlZD0hMCxuLmJpbmQodGhpcykodCl9LmJpbmQodGhpcyksci5zdWNjZXNzPWZ1bmN0aW9uKHQpe3Iuc2V0Q29udGVudCYmdGhpcy5zZXRDb250ZW50KHQsITApJiYobz90aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITA6dGhpcy5wb3NpdGlvbigpKSxyLnNldENvbnRlbnQmJnRoaXMuc291cmNlJiZ0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1hamF4LWRhdGFcIix0KSxhLmJpbmQodGhpcykodCl9LmJpbmQodGhpcyksci5lcnJvcj1mdW5jdGlvbih0KXtoLmJpbmQodGhpcykodCl9LmJpbmQodGhpcyksdGhpcy5hamF4UmVxdWVzdD10LmFqYXgociksdGhpc30saS5wcm90b3R5cGUuY2FuY2VsQWpheD1mdW5jdGlvbigpe3RoaXMuYWpheFJlcXVlc3QmJih0aGlzLmFqYXhSZXF1ZXN0LmFib3J0KCksdGhpcy5hamF4TG9hZGVkPSExKX0saS5wcm90b3R5cGUuYXVkaW89ZnVuY3Rpb24obyxzKXtpZighbylyZXR1cm4gdGhpczt2YXIgZTsoaS5fYXVkaW89aS5fYXVkaW8/aS5fYXVkaW86e30pW29dfHwoZT10KFwiPGF1ZGlvLz5cIiksdChcIjxzb3VyY2UvPlwiLHtzcmM6bytcIi5tcDNcIn0pLmFwcGVuZFRvKGUpLHQoXCI8c291cmNlLz5cIix7c3JjOm8rXCIub2dnXCJ9KS5hcHBlbmRUbyhlKSxpLl9hdWRpb1tvXT1lWzBdKSxpLl9hdWRpb1tvXS52b2x1bWU9TWF0aC5taW4oKG51bGwhPXM/czoxMDApLzEwMCwxKTt0cnl7aS5fYXVkaW9bb10ucGF1c2UoKSxpLl9hdWRpb1tvXS5jdXJyZW50VGltZT0wfWNhdGNoKG8pe31yZXR1cm4gaS5fYXVkaW9bb10ucGxheSgpLHRoaXN9LGkuX2FuaW1hdGlvblNwZWVkcz17dGFkYToxZTMsdGFkYVNtYWxsOjFlMyxmbGFzaDo1MDAsc2hha2U6NDAwLHB1bHNlVXA6MjUwLHB1bHNlRG93bjoyNTAscG9wSW46MjUwLHBvcE91dDoyNTAsZmFkZUluOjIwMCxmYWRlT3V0OjIwMCxzbGlkZVVwOjQwMCxzbGlkZVJpZ2h0OjQwMCxzbGlkZUxlZnQ6NDAwLHNsaWRlRG93bjo0MDB9LGkucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24odCxvKXtvPW98fHt9LHRoaXMuYW5pbWF0aW9uVGltZW91dHx8KHRoaXMuYW5pbWF0aW9uVGltZW91dD17fSksby5lbGVtZW50fHwoby5lbGVtZW50PXRoaXMud3JhcHBlciksby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKXx8by5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiLGkuX2dldFVuaXF1ZUVsZW1lbnRJRCgpKSxvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpJiYoby5lbGVtZW50LnJlbW92ZUNsYXNzKG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmdcIikpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLG51bGwpLHRoaXMuYW5pbWF0aW9uVGltZW91dFtvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpXSYmY2xlYXJUaW1lb3V0KHRoaXMuYW5pbWF0aW9uVGltZW91dFtvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpXSkpLG8uZWxlbWVudC5hZGRDbGFzcyhcImpCb3gtYW5pbWF0ZWQtXCIrdCkuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIsXCJqQm94LWFuaW1hdGVkLVwiK3QpLHRoaXMuYW5pbWF0aW9uVGltZW91dFtvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpXT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7by5lbGVtZW50LnJlbW92ZUNsYXNzKG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmdcIikpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLG51bGwpLG8uY29tcGxldGUmJm8uY29tcGxldGUoKX0saS5fYW5pbWF0aW9uU3BlZWRzW3RdKX0saS5wcm90b3R5cGUuc3dpcGVEZXRlY3Rvcj1mdW5jdGlvbihpLG8pe3ZhciBzPTAsZT0wLG49MCxhPTAsaD0wO3JldHVybiBvPXQuZXh0ZW5kKHtzd2lwZVRocmVzaG9sZDo3MCx1c2VPbmx5VG91Y2g6ITF9LG8pLGkub24oXCJtb3VzZWRvd24gdG91Y2hzdGFydFwiLGZ1bmN0aW9uKHQpe28udXNlT25seVRvdWNoJiYhdC5vcmlnaW5hbEV2ZW50LnRvdWNoZXN8fCh0Lm9yaWdpbmFsRXZlbnQudG91Y2hlcyYmKHQ9dC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0pLDA9PT1zJiYocz0xLGU9dC5jbGllbnRYLG49dC5jbGllbnRZKSl9KSx0KFwiaHRtbFwiKS5vbihcIm1vdXNldXAgdG91Y2hlbmRcIixmdW5jdGlvbihlKXsyPT09cyYmKHM9MCxNYXRoLmFicyhhKT5NYXRoLmFicyhoKSYmTWF0aC5hYnMoYSk+by5zd2lwZVRocmVzaG9sZD9hPDA/aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZUxlZnQuc2RcIikpOmkudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVSaWdodC5zZFwiKSk6TWF0aC5hYnMoaCk+by5zd2lwZVRocmVzaG9sZCYmKGg8MD9pLnRyaWdnZXIodC5FdmVudChcInN3aXBlVXAuc2RcIikpOmkudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVEb3duLnNkXCIpKSkpfSksdChcImh0bWxcIikub24oXCJtb3VzZW1vdmUgdG91Y2htb3ZlXCIsZnVuY3Rpb24odCl7dmFyIGk7MT09PXMmJihpPSh0PXQub3JpZ2luYWxFdmVudC50b3VjaGVzP3Qub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdOnQpLmNsaWVudFgtZSx0PXQuY2xpZW50WS1uLChNYXRoLmFicyhpKT5vLnN3aXBlVGhyZXNob2xkfHxNYXRoLmFicyh0KT5vLnN3aXBlVGhyZXNob2xkKSYmKHM9MixhPWksaD10KSl9KSxpfSxpLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGV0YWNoKCksdGhpcy5pc09wZW4mJnRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSksdGhpcy53cmFwcGVyJiZ0aGlzLndyYXBwZXIucmVtb3ZlKCksdGhpcy5vdmVybGF5JiZ0aGlzLm92ZXJsYXkucmVtb3ZlKCksdGhpcy5fc3R5bGVzJiZ0aGlzLl9zdHlsZXMucmVtb3ZlKCksdGhpcy5pc0Rlc3Ryb3llZD0hMCx0aGlzfSxpLl9nZXRVbmlxdWVJRD0obz0xLGZ1bmN0aW9uKCl7cmV0dXJuIG8rK30pLGkuX2dldFVuaXF1ZUVsZW1lbnRJRD0ocz0xLGZ1bmN0aW9uKCl7cmV0dXJuIHMrK30pLGkuX3BsdWdpbk9wdGlvbnM9e30saS5wbHVnaW49ZnVuY3Rpb24odCxvKXtpLl9wbHVnaW5PcHRpb25zW3RdPW99LHQuZm4uakJveD1mdW5jdGlvbihvLHMpe3JldHVybiBzPXN8fHt9LG5ldyBpKG89b3x8e30sdC5leHRlbmQocyx7YXR0YWNoOnRoaXN9KSl9LGl9ZnVuY3Rpb24gakJveENvbmZpcm1XcmFwcGVyKGpCb3gsalF1ZXJ5KXtuZXcgakJveC5wbHVnaW4oXCJDb25maXJtXCIse2NvbmZpcm1CdXR0b246XCJTdWJtaXRcIixjYW5jZWxCdXR0b246XCJDYW5jZWxcIixjb25maXJtOm51bGwsY2FuY2VsOm51bGwsY2xvc2VPbkNvbmZpcm06ITAsdGFyZ2V0OndpbmRvdyxmaXhlZDohMCxhdHRhY2g6XCJbZGF0YS1jb25maXJtXVwiLGdldENvbnRlbnQ6XCJkYXRhLWNvbmZpcm1cIixjb250ZW50OlwiRG8geW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXM/XCIsbWluV2lkdGg6MzYwLG1heFdpZHRoOjUwMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazohMSxjbG9zZUJ1dHRvbjohMSxvdmVybGF5OiEwLGFuaW1hdGlvbjpcInpvb21JblwiLHByZXZlbnREZWZhdWx0OiEwLF9vbkF0dGFjaDpmdW5jdGlvbih0KXt2YXIgaTt0aGlzLm9wdGlvbnMuY29uZmlybXx8KGk9dC5hdHRyKFwib25jbGlja1wiKT90LmF0dHIoXCJvbmNsaWNrXCIpOnQuYXR0cihcImhyZWZcIik/dC5hdHRyKFwidGFyZ2V0XCIpPyd3aW5kb3cub3BlbihcIicrdC5hdHRyKFwiaHJlZlwiKSsnXCIsIFwiJyt0LmF0dHIoXCJ0YXJnZXRcIikrJ1wiKTsnOid3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiJyt0LmF0dHIoXCJocmVmXCIpKydcIjsnOlwiXCIsdC5wcm9wKFwib25jbGlja1wiLG51bGwpLmRhdGEoXCJqQm94LUNvbmZpcm0tc3VibWl0XCIsaSkpfSxfb25DcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1Nb2RhbFwiKSx0aGlzLmZvb3Rlcj1qUXVlcnkoJzxkaXYgY2xhc3M9XCJqQm94LUNvbmZpcm0tZm9vdGVyXCIvPicpLGpRdWVyeSgnPGRpdiBjbGFzcz1cImpCb3gtQ29uZmlybS1idXR0b24gakJveC1Db25maXJtLWJ1dHRvbi1jYW5jZWxcIi8+JykuaHRtbCh0aGlzLm9wdGlvbnMuY2FuY2VsQnV0dG9uKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmNhbmNlbCYmdGhpcy5vcHRpb25zLmNhbmNlbCh0aGlzLnNvdXJjZSksdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKS5hcHBlbmRUbyh0aGlzLmZvb3RlciksdGhpcy5zdWJtaXRCdXR0b249alF1ZXJ5KCc8ZGl2IGNsYXNzPVwiakJveC1Db25maXJtLWJ1dHRvbiBqQm94LUNvbmZpcm0tYnV0dG9uLXN1Ym1pdFwiLz4nKS5odG1sKHRoaXMub3B0aW9ucy5jb25maXJtQnV0dG9uKS5hcHBlbmRUbyh0aGlzLmZvb3RlciksdGhpcy5mb290ZXIuYXBwZW5kVG8odGhpcy5jb250YWluZXIpfSxfb25PcGVuOmZ1bmN0aW9uKCl7dGhpcy5zdWJtaXRCdXR0b24ub2ZmKFwiY2xpY2suakJveC1Db25maXJtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1Db25maXJtXCIrdGhpcy5pZCkub24oXCJjbGljay5qQm94LUNvbmZpcm1cIit0aGlzLmlkK1wiIHRhcC5qQm94LUNvbmZpcm1cIit0aGlzLmlkLGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmNvbmZpcm0/dGhpcy5vcHRpb25zLmNvbmZpcm0odGhpcy5zb3VyY2UpOmV2YWwodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtQ29uZmlybS1zdWJtaXRcIikpLHRoaXMub3B0aW9ucy5jbG9zZU9uQ29uZmlybSYmdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKX19KX1mdW5jdGlvbiBqQm94SW1hZ2VXcmFwcGVyKHQsaSl7bmV3IHQucGx1Z2luKFwiSW1hZ2VcIix7c3JjOlwiaHJlZlwiLGdhbGxlcnk6XCJkYXRhLWpib3gtaW1hZ2VcIixpbWFnZUxhYmVsOlwidGl0bGVcIixpbWFnZUZhZGU6MzYwLGltYWdlU2l6ZTpcImNvbnRhaW5cIixpbWFnZUNvdW50ZXI6ITEsaW1hZ2VDb3VudGVyU2VwYXJhdG9yOlwiL1wiLGRvd25sb2FkQnV0dG9uOiExLGRvd25sb2FkQnV0dG9uVGV4dDpudWxsLGRvd25sb2FkQnV0dG9uVXJsOm51bGwsbW9iaWxlSW1hZ2VBdHRyOm51bGwsbW9iaWxlSW1hZ2VCcmVha3BvaW50Om51bGwscHJlbG9hZEZpcnN0SW1hZ2U6ITEsdGFyZ2V0OndpbmRvdyxhdHRhY2g6XCJbZGF0YS1qYm94LWltYWdlXVwiLGZpeGVkOiEwLGJsb2NrU2Nyb2xsOiEwLGNsb3NlT25Fc2M6ITAsY2xvc2VPbkNsaWNrOlwiYnV0dG9uXCIsY2xvc2VCdXR0b246ITAsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIixwcmV2ZW50RGVmYXVsdDohMCx3aWR0aDpcIjEwMCVcIixoZWlnaHQ6XCIxMDAlXCIsYWRqdXN0RGlzdGFuY2U6e3RvcDo0MCxyaWdodDowLGJvdHRvbTo0MCxsZWZ0OjB9LF9vbkluaXQ6ZnVuY3Rpb24oKXt0aGlzLmltYWdlcz10aGlzLmN1cnJlbnRJbWFnZT17fSx0aGlzLmltYWdlWkluZGV4PTEsdGhpcy5pbml0SW1hZ2U9ZnVuY3Rpb24odCl7dmFyIG8sczsodD1pKHQpKS5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIpfHwobz10LmF0dHIodGhpcy5vcHRpb25zLnNyYyksdGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQXR0ciYmdGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQnJlYWtwb2ludCYmdC5hdHRyKHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHIpJiZpKHdpbmRvdykud2lkdGgoKTw9dGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQnJlYWtwb2ludCYmKG89dC5hdHRyKHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHIpKSxzPXQuYXR0cih0aGlzLm9wdGlvbnMuZ2FsbGVyeSl8fFwiZGVmYXVsdFwiLHRoaXMuaW1hZ2VzW3NdfHwodGhpcy5pbWFnZXNbc109W10pLHRoaXMuaW1hZ2VzW3NdLnB1c2goe3NyYzpvLGxhYmVsOnQuYXR0cih0aGlzLm9wdGlvbnMuaW1hZ2VMYWJlbCl8fFwiXCIsZG93bmxvYWRVcmw6dGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVXJsJiZ0LmF0dHIodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVXJsKT90LmF0dHIodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVXJsKTpudWxsfSksXCJ0aXRsZVwiPT10aGlzLm9wdGlvbnMuaW1hZ2VMYWJlbCYmdC5yZW1vdmVBdHRyKFwidGl0bGVcIiksdC5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIscyksdC5kYXRhKFwiakJveC1pbWFnZS1pZFwiLHRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xKSl9LmJpbmQodGhpcyksdGhpcy5hdHRhY2hlZEVsZW1lbnRzJiZ0aGlzLmF0dGFjaGVkRWxlbWVudHMubGVuZ3RoJiZpLmVhY2godGhpcy5hdHRhY2hlZEVsZW1lbnRzLGZ1bmN0aW9uKHQsaSl7dGhpcy5pbml0SW1hZ2UoaSl9LmJpbmQodGhpcykpO3ZhciB0PWZ1bmN0aW9uKHQsbyxzLGUpe2lmKCFpKFwiI2pCb3gtaW1hZ2UtXCIrdCtcIi1cIitvKS5sZW5ndGgpe3ZhciBuPWkoXCI8ZGl2Lz5cIix7aWQ6XCJqQm94LWltYWdlLVwiK3QrXCItXCIrbyxjbGFzczpcImpCb3gtaW1hZ2UtY29udGFpbmVyXCIrKHM/XCIgakJveC1pbWFnZS1cIit0K1wiLWN1cnJlbnRcIjpcIlwiKX0pLmNzcyh7YmFja2dyb3VuZFNpemU6dGhpcy5vcHRpb25zLmltYWdlU2l6ZSxvcGFjaXR5OmU/MTowLHpJbmRleDpzP3RoaXMuaW1hZ2VaSW5kZXgrKzowfSkuYXBwZW5kVG8odGhpcy5jb250ZW50KTtyZXR1cm4gdGhpcy5zd2lwZURldGVjdG9yKG4pLm9uKFwic3dpcGVMZWZ0LnNkIHN3aXBlUmlnaHQuc2RcIixmdW5jdGlvbih0KXtcInN3aXBlTGVmdFwiPT09dC50eXBlP3RoaXMuc2hvd0ltYWdlKFwibmV4dFwiKTpcInN3aXBlUmlnaHRcIj09PXQudHlwZSYmdGhpcy5zaG93SW1hZ2UoXCJwcmV2XCIpfS5iaW5kKHRoaXMpKSxpKFwiPGRpdi8+XCIse2lkOlwiakJveC1pbWFnZS1sYWJlbC1cIit0K1wiLVwiK28sY2xhc3M6XCJqQm94LWltYWdlLWxhYmVsXCIrKHM/XCIgYWN0aXZlXCI6XCJcIil9KS5odG1sKHRoaXMuaW1hZ2VzW3RdW29dLmxhYmVsKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7aSh0aGlzKS50b2dnbGVDbGFzcyhcImV4cGFuZGVkXCIpfSkuYXBwZW5kVG8odGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyKSxzJiZuLmFuaW1hdGUoe29wYWNpdHk6MX0sZT8wOnRoaXMub3B0aW9ucy5pbWFnZUZhZGUpLG59fS5iaW5kKHRoaXMpO3RoaXMuZG93bmxvYWRJbWFnZT1mdW5jdGlvbih0KXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtpLmhyZWY9dCxpLnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsdC5zdWJzdHJpbmcodC5sYXN0SW5kZXhPZihcIi9cIikrMSkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksaS5jbGljaygpfTt2YXIgbz1mdW5jdGlvbihvLHMsZSxuKXt2YXIgYT10KG8scyxlLG4pO2EuYWRkQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksaSgnPGltZyBzcmM9XCInK3RoaXMuaW1hZ2VzW29dW3NdLnNyYysnXCIgLz4nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEltYWdlO3Qub25sb2FkPWZ1bmN0aW9uKCl7YS5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtbG9hZGluZ1wiKSxhLmNzcyh7YmFja2dyb3VuZEltYWdlOid1cmwoXCInK3RoaXMuaW1hZ2VzW29dW3NdLnNyYysnXCIpJ30pfS5iaW5kKHRoaXMpLHQub25lcnJvcj1mdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksYS5hZGRDbGFzcyhcImpCb3gtaW1hZ2Utbm90LWZvdW5kXCIpfS5iaW5kKHRoaXMpLHQuc3JjPXRoaXMuaW1hZ2VzW29dW3NdLnNyY30uYmluZCh0aGlzKSl9LmJpbmQodGhpcyk7dGhpcy5zaG93SW1hZ2U9ZnVuY3Rpb24odCl7dmFyIHMsZSxuO2lmKFwib3BlblwiIT10KXM9dGhpcy5jdXJyZW50SW1hZ2UuZ2FsbGVyeSxuPShuPXRoaXMuY3VycmVudEltYWdlLmlkKygrKFwicHJldlwiPT10KT8tMToxKSk+dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE/MDpuPDA/dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE6bjtlbHNle2lmKHRoaXMuc291cmNlKXM9dGhpcy5zb3VyY2UuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiKSxuPXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWltYWdlLWlkXCIpO2Vsc2V7aWYoIXRoaXMuYXR0YWNoZWRFbGVtZW50c3x8IXRoaXMuYXR0YWNoZWRFbGVtZW50cy5sZW5ndGgpcmV0dXJuO3M9aSh0aGlzLmF0dGFjaGVkRWxlbWVudHNbMF0pLmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIiksbj1pKHRoaXMuYXR0YWNoZWRFbGVtZW50c1swXSkuZGF0YShcImpCb3gtaW1hZ2UtaWRcIil9dGhpcy5pbWFnZXMmJnRoaXMuaW1hZ2VzW3NdJiZpKFwiLmpCb3gtaW1hZ2UtcG9pbnRlci1wcmV2LCAuakJveC1pbWFnZS1wb2ludGVyLW5leHRcIikuY3NzKHtkaXNwbGF5OjE8dGhpcy5pbWFnZXNbc10ubGVuZ3RoP1wiYmxvY2tcIjpcIm5vbmVcIn0pfWkoXCIuakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikubGVuZ3RoJiZpKFwiLmpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikuYW5pbWF0ZSh7b3BhY2l0eTowfSxcIm9wZW5cIj09dD8wOnRoaXMub3B0aW9ucy5pbWFnZUZhZGUpLHRoaXMuY3VycmVudEltYWdlPXtnYWxsZXJ5OnMsaWQ6bn0saShcIiNqQm94LWltYWdlLVwiK3MrXCItXCIrbikubGVuZ3RoP2koXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmFkZENsYXNzKFwiakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikuY3NzKHt6SW5kZXg6dGhpcy5pbWFnZVpJbmRleCsrLG9wYWNpdHk6MH0pLmFuaW1hdGUoe29wYWNpdHk6MX0sXCJvcGVuXCI9PXQ/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKTpvKHMsbiwhMCxcIm9wZW5cIj09PXQpLGU9cyx0PW4saShcIi5qQm94LWltYWdlLWxhYmVsLmFjdGl2ZVwiKS5yZW1vdmVDbGFzcyhcImFjdGl2ZSBleHBhbmRlZFwiKSxpKFwiI2pCb3gtaW1hZ2UtbGFiZWwtXCIrZStcIi1cIit0KS5hZGRDbGFzcyhcImFjdGl2ZVwiKSx0aGlzLmltYWdlQ291bnRlciYmKHRoaXMuaW1hZ2VzW3NdJiYxPHRoaXMuaW1hZ2VzW3NdLmxlbmd0aD8odGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1pbWFnZS1oYXMtY291bnRlclwiKSx0aGlzLmltYWdlQ291bnRlci5maW5kKFwiLmpCb3gtaW1hZ2UtY291bnRlci1hbGxcIikuaHRtbCh0aGlzLmltYWdlc1tzXS5sZW5ndGgpLHRoaXMuaW1hZ2VDb3VudGVyLmZpbmQoXCIuakJveC1pbWFnZS1jb3VudGVyLWN1cnJlbnRcIikuaHRtbChuKzEpKTp0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWhhcy1jb3VudGVyXCIpKSx0aGlzLmltYWdlc1tzXSYmdGhpcy5pbWFnZXNbc10ubGVuZ3RoLTEmJihuPShuKz0xKT50aGlzLmltYWdlc1tzXS5sZW5ndGgtMT8wOm48MD90aGlzLmltYWdlc1tzXS5sZW5ndGgtMTpuLGkoXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmxlbmd0aHx8byhzLG4sITEsITEpKX0sdGhpcy5vcHRpb25zLnByZWxvYWRGaXJzdEltYWdlJiZpKHdpbmRvdykub24oXCJsb2FkXCIsZnVuY3Rpb24oKXt0aGlzLnNob3dJbWFnZShcIm9wZW5cIil9LmJpbmQodGhpcykpfSxfb25BdHRhY2g6ZnVuY3Rpb24odCl7dGhpcy5pbml0SW1hZ2UmJnRoaXMuaW5pdEltYWdlKHQpfSxfb25DcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5pbWFnZUxhYmVsV3JhcHBlcj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1sYWJlbC13cmFwcGVyXCIvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlciksdGhpcy5pbWFnZVByZXZCdXR0b249aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtcG9pbnRlci1wcmV2XCIvPicpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLnNob3dJbWFnZShcInByZXZcIil9LmJpbmQodGhpcykpLHRoaXMuaW1hZ2VOZXh0QnV0dG9uPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLXBvaW50ZXItbmV4dFwiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJuZXh0XCIpfS5iaW5kKHRoaXMpKSx0aGlzLmltYWdlTGFiZWxDb250YWluZXI9aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtbGFiZWwtY29udGFpbmVyXCIvPicpLHRoaXMuaW1hZ2VMYWJlbFdyYXBwZXIuYXBwZW5kKHRoaXMuaW1hZ2VQcmV2QnV0dG9uKS5hcHBlbmQodGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyKS5hcHBlbmQodGhpcy5pbWFnZU5leHRCdXR0b24pLHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvbiYmKHRoaXMuZG93bmxvYWRCdXR0b249aShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtZG93bmxvYWQtYnV0dG9uLXdyYXBwZXJcIn0pLmFwcGVuZFRvKHRoaXMud3JhcHBlcikuYXBwZW5kKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblRleHQ/aShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtZG93bmxvYWQtYnV0dG9uLXRleHRcIn0pLmh0bWwodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVGV4dCk6bnVsbCkuYXBwZW5kKGkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi1pY29uXCJ9KSkub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcy5pbWFnZXNbdGhpcy5jdXJyZW50SW1hZ2UuZ2FsbGVyeV1bdGhpcy5jdXJyZW50SW1hZ2UuaWRdLmRvd25sb2FkVXJsfHx0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWltYWdlLVwiK3RoaXMuY3VycmVudEltYWdlLmdhbGxlcnkrXCItY3VycmVudFwiKVswXS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2Uuc2xpY2UoNCwtMSkucmVwbGFjZSgvW1wiJ10vZyxcIlwiKSx0aGlzLmRvd25sb2FkSW1hZ2UodCl9LmJpbmQodGhpcykpKSx0aGlzLm9wdGlvbnMuaW1hZ2VDb3VudGVyJiYodGhpcy5pbWFnZUNvdW50ZXI9aShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1jb250YWluZXJcIn0pLmluc2VydEFmdGVyKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lciksdGhpcy5pbWFnZUNvdW50ZXIuYXBwZW5kKGkoXCI8c3Bhbi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1jb3VudGVyLWN1cnJlbnRcIn0pKS5hcHBlbmQoaShcIjxzcGFuLz5cIikuaHRtbCh0aGlzLm9wdGlvbnMuaW1hZ2VDb3VudGVyU2VwYXJhdG9yKSkuYXBwZW5kKGkoXCI8c3Bhbi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1jb3VudGVyLWFsbFwifSkpKX0sX29uT3BlbjpmdW5jdGlvbigpe2koZG9jdW1lbnQpLm9uKFwia2V5dXAuakJveC1JbWFnZS1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpezM3PT10LmtleUNvZGUmJnRoaXMuc2hvd0ltYWdlKFwicHJldlwiKSwzOT09dC5rZXlDb2RlJiZ0aGlzLnNob3dJbWFnZShcIm5leHRcIil9LmJpbmQodGhpcykpLHRoaXMuc2hvd0ltYWdlKFwib3BlblwiKX0sX29uQ2xvc2U6ZnVuY3Rpb24oKXtpKGRvY3VtZW50KS5vZmYoXCJrZXl1cC5qQm94LUltYWdlLVwiK3RoaXMuaWQpfSxfb25DbG9zZUNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1pbWFnZS1jb250YWluZXJcIikuY3NzKFwib3BhY2l0eVwiLDApfX0pfWZ1bmN0aW9uIGpCb3hOb3RpY2VXcmFwcGVyKHQsaSl7bmV3IHQucGx1Z2luKFwiTm90aWNlXCIse2NvbG9yOm51bGwsc3RhY2s6ITAsc3RhY2tTcGFjaW5nOjEwLGF1dG9DbG9zZTo2ZTMsYXR0cmlidXRlczp7eDpcInJpZ2h0XCIseTpcInRvcFwifSxwb3NpdGlvbjp7eDoxNSx5OjE1fSxyZXNwb25zaXZlUG9zaXRpb25zOns1MDA6e3g6NSx5OjV9LDc2ODp7eDoxMCx5OjEwfX0sdGFyZ2V0OndpbmRvdyxmaXhlZDohMCxhbmltYXRpb246XCJ6b29tSW5cIixjbG9zZU9uQ2xpY2s6XCJib3hcIix6SW5kZXg6MTJlMyxfb25Jbml0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0Tm90aWNlUG9zaXRpb249aS5leHRlbmQoe30sdGhpcy5vcHRpb25zLnBvc2l0aW9uKSx0aGlzLl9hZGp1c3ROb3RpY2VQb3NpdG9uPWZ1bmN0aW9uKCl7dmFyIHQ9aSh3aW5kb3cpLG89dC53aWR0aCgpO3QuaGVpZ2h0KCksdGhpcy5vcHRpb25zLnBvc2l0aW9uPWkuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdE5vdGljZVBvc2l0aW9uKSxpLmVhY2godGhpcy5vcHRpb25zLnJlc3BvbnNpdmVQb3NpdGlvbnMsZnVuY3Rpb24odCxpKXtpZihvPD10KXJldHVybiB0aGlzLm9wdGlvbnMucG9zaXRpb249aSwhMX0uYmluZCh0aGlzKSksdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXt0b3A6dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkscmlnaHQ6dGhpcy5vcHRpb25zLnBvc2l0aW9uLngsYm90dG9tOnRoaXMub3B0aW9ucy5wb3NpdGlvbi55LGxlZnQ6dGhpcy5vcHRpb25zLnBvc2l0aW9uLnh9fSx0aGlzLm9wdGlvbnMuY29udGVudCBpbnN0YW5jZW9mIGkmJih0aGlzLm9wdGlvbnMuY29udGVudD10aGlzLm9wdGlvbnMuY29udGVudC5jbG9uZSgpLmF0dHIoXCJpZFwiLFwiXCIpKSxpKHdpbmRvdykub24oXCJyZXNpemUucmVzcG9uc2l2ZWpCb3hOb3RpY2UtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmdGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbigpfS5iaW5kKHRoaXMpKSx0aGlzLm9wZW4oKX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtTm90aWNlLWNvbG9yIGpCb3gtTm90aWNlLVwiKyh0aGlzLm9wdGlvbnMuY29sb3J8fFwiZ3JheVwiKSksdGhpcy53cmFwcGVyLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiLHRoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLngrXCItXCIrdGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueSl9LF9vbk9wZW46ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RhY2t8fCh0aGlzLl9hZGp1c3ROb3RpY2VQb3NpdG9uKCksaS5lYWNoKGkoXCIuakJveC1Ob3RpY2VcIiksZnVuY3Rpb24odCxvKXsobz1pKG8pKS5hdHRyKFwiaWRcIikhPXRoaXMuaWQmJm8uZGF0YShcImpCb3gtTm90aWNlLXBvc2l0aW9uXCIpPT10aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54K1wiLVwiK3RoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLnkmJih0aGlzLm9wdGlvbnMuc3RhY2t8fG8uZGF0YShcImpCb3hcIikuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSkpfS5iaW5kKHRoaXMpKSl9LF9vblBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQsbz17fTtmb3IodCBpbiBpLmVhY2goaShcIi5qQm94LU5vdGljZVwiKSxmdW5jdGlvbih0LHMpe3ZhciBlPShzPWkocykpLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiKTtvW2VdfHwob1tlXT1bXSksb1tlXS5wdXNoKHMpfSksbyl7dmFyIHM9dC5zcGxpdChcIi1cIilbMV07b1t0XS5yZXZlcnNlKCk7dmFyIGUsbj0wO2ZvcihlIGluIG9bdF0pe3ZhciBhPWkob1t0XVtlXSk7YS5jc3MoXCJtYXJnaW4tXCIrcyxuKSxuKz1hLm91dGVySGVpZ2h0KCkrdGhpcy5vcHRpb25zLnN0YWNrU3BhY2luZ319fSxfb25DbG9zZUNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5kZXN0cm95KCksdGhpcy5vcHRpb25zLl9vblBvc2l0aW9uLmJpbmQodGhpcykuY2FsbCgpfX0pfSFmdW5jdGlvbih0LGkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW1wianF1ZXJ5XCJdLGZ1bmN0aW9uKG8pe3JldHVybiB0LmpCb3g9aShvKX0pOlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPXQuakJveD1pKHJlcXVpcmUoXCJqcXVlcnlcIikpOnQuakJveD1pKHQualF1ZXJ5KX0odGhpcyxmdW5jdGlvbih0KXt2YXIgaT1qQm94V3JhcHBlcih0KTt0cnl7dm9pZCAwIT09akJveENvbmZpcm1XcmFwcGVyJiZqQm94Q29uZmlybVdyYXBwZXImJmpCb3hDb25maXJtV3JhcHBlcihpLHQpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9dHJ5e3ZvaWQgMCE9PWpCb3hJbWFnZVdyYXBwZXImJmpCb3hJbWFnZVdyYXBwZXImJmpCb3hJbWFnZVdyYXBwZXIoaSx0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfXRyeXt2b2lkIDAhPT1qQm94Tm90aWNlV3JhcHBlciYmakJveE5vdGljZVdyYXBwZXImJmpCb3hOb3RpY2VXcmFwcGVyKGksdCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX1yZXR1cm4gaX0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1wQ2IzZ3VZV3hzTG0xcGJpNXFjeUpkTENKdVlXMWxjeUk2V3lKcVFtOTRWM0poY0hCbGNpSXNJbUlpTENKb0lpd2lkQ0lzSW1raUxDSjBhR2x6SWl3aWIzQjBhVzl1Y3lJc0ltbGtJaXdpZDJsa2RHZ2lMQ0pvWldsbmFIUWlMQ0p0YVc1WGFXUjBhQ0lzSW0xcGJraGxhV2RvZENJc0ltMWhlRmRwWkhSb0lpd2liV0Y0U0dWcFoyaDBJaXdpY21WemNHOXVjMmwyWlZkcFpIUm9JaXdpY21WemNHOXVjMmwyWlVobGFXZG9kQ0lzSW5KbGMzQnZibk5wZG1WTmFXNVhhV1IwYUNJc0luSmxjM0J2Ym5OcGRtVk5hVzVJWldsbmFIUWlMQ0poZEhSaFkyZ2lMQ0owY21sbloyVnlJaXdpY0hKbGRtVnVkRVJsWm1GMWJIUWlMQ0pqYjI1MFpXNTBJaXdpWjJWMFEyOXVkR1Z1ZENJc0luUnBkR3hsSWl3aVoyVjBWR2wwYkdVaUxDSm1iMjkwWlhJaUxDSnBjMjlzWVhSbFUyTnliMnhzSWl3aVlXcGhlQ0lzSW5WeWJDSXNJbVJoZEdFaUxDSnlaV3h2WVdRaUxDSm5aWFJWVWt3aUxDSm5aWFJFWVhSaElpd2ljMlYwUTI5dWRHVnVkQ0lzSW14dllXUnBibWREYkdGemN5SXNJbk53YVc1dVpYSWlMQ0p6Y0dsdWJtVnlSR1ZzWVhraUxDSnpjR2x1Ym1WeVVtVndiM05wZEdsdmJpSXNJbU5oYm1ObGJFRnFZWGhQYmtOc2IzTmxJaXdpZEdGeVoyVjBJaXdpY0c5emFYUnBiMjRpTENKNElpd2llU0lzSW05MWRITnBaR1VpTENKdlptWnpaWFFpTENKaGRIUnlhV0oxZEdWeklpd2labWw0WldRaUxDSmhaR3AxYzNSUWIzTnBkR2x2YmlJc0ltRmthblZ6ZEZSeVlXTnJaWElpTENKaFpHcDFjM1JFYVhOMFlXNWpaU0lzSW5KbGNHOXphWFJwYjI0aUxDSnlaWEJ2YzJsMGFXOXVUMjVQY0dWdUlpd2ljbVZ3YjNOcGRHbHZiazl1UTI5dWRHVnVkQ0lzSW1odmJHUlFiM05wZEdsdmJpSXNJbkJ2YVc1MFpYSWlMQ0p3YjJsdWRGUnZJaXdpWm1Ga1pTSXNJbUZ1YVcxaGRHbHZiaUlzSW5Sb1pXMWxJaXdpWVdSa1EyeGhjM01pTENKdmRtVnliR0Y1SWl3aWIzWmxjbXhoZVVOc1lYTnpJaXdpZWtsdVpHVjRJaXdpWkdWc1lYbFBjR1Z1SWl3aVpHVnNZWGxEYkc5elpTSXNJbU5zYjNObFQyNUZjMk1pTENKamJHOXpaVTl1UTJ4cFkyc2lMQ0pqYkc5elpVOXVUVzkxYzJWc1pXRjJaU0lzSW1Oc2IzTmxRblYwZEc5dUlpd2lZWEJ3Wlc1a1ZHOGlMQ0pqY21WaGRHVlBia2x1YVhRaUxDSmliRzlqYTFOamNtOXNiQ0lzSW1Kc2IyTnJVMk55YjJ4c1FXUnFkWE4wSWl3aVpISmhaMmRoWW14bElpd2laSEpoWjA5MlpYSWlMQ0poZFhSdlEyeHZjMlVpTENKa1pXeGhlVTl1U0c5MlpYSWlMQ0p6YUc5M1EyOTFiblJrYjNkdUlpd2ljSEpsYkc5aFpFRjFaR2x2SWl3aVlYVmthVzhpTENKMmIyeDFiV1VpTENKdmJrbHVhWFFpTENKdmJrRjBkR0ZqYUNJc0ltOXVVRzl6YVhScGIyNGlMQ0p2YmtOeVpXRjBaV1FpTENKdmJrOXdaVzRpTENKdmJrTnNiM05sSWl3aWIyNURiRzl6WlVOdmJYQnNaWFJsSWl3aWIyNUVjbUZuVTNSaGNuUWlMQ0p2YmtSeVlXZEZibVFpTENKZmNHeDFaMmx1VDNCMGFXOXVjeUlzSWxSdmIyeDBhWEFpTENKTmIzVnpaU0lzSWsxdlpHRnNJaXdpZDJsdVpHOTNJaXdpWlhoMFpXNWtJaXdpZEhsd1pTSXNJbWx6Vkc5MVkyaEVaWFpwWTJVaUxDSnpjR3hwZENJc0lrUnZZM1Z0Wlc1MFZHOTFZMmdpTENKa2IyTjFiV1Z1ZENJc0ltcHZhVzRpTENKdFlYUmphRTFsWkdsaElpd2liV0YwWTJobGN5SXNJbDltYVhKbFJYWmxiblFpTENKaWFXNWtJaXdpWDJkbGRGVnVhWEYxWlVsRUlpd2lkRzl3SWl3aWNtbG5hSFFpTENKaWIzUjBiMjBpTENKc1pXWjBJaXdpWVd4cFoyNGlMQ0o2U1c1a1pYaE5ZWGdpTENKTllYUm9JaXdpYldGNElpd2lZV1JxZFhOMFdrbHVaR1Y0VDI1UGNHVnVJaXdpZEhKMVpVMXZaR0ZzSWl3aVgyZGxkRTl3Y0NJc0lsOW5aWFJZV1NJc0ltTmxiblJsY2lJc0lsOW5aWFJVVENJc0lsOW5aWFJKYm5RaUxDSnpiR2xqWlNJc0luQmhjbk5sU1c1MElpd2ljbVZ3YkdGalpTSXNJbDlqY21WaGRHVlRWa2NpTENKdklpd2lZM0psWVhSbFJXeGxiV1Z1ZEU1VElpd2laV0ZqYUNJc0luTmxkRUYwZEhKcFluVjBaU0lzSWw5cGMyOXNZWFJsVTJOeWIyeHNJaXdpWlNJc0lteGxibWQwYUNJc0ltOXVJaXdpZDJobFpXeEVaV3gwWVNJc0ltOXlhV2RwYm1Gc1JYWmxiblFpTENKa1pYUmhhV3dpTENKelkzSnZiR3hVYjNBaUxDSnZkWFJsY2tobGFXZG9kQ0lzSW5OamNtOXNiRWhsYVdkb2RDSXNJbk1pTENKZmMyVjBWR2wwYkdWWGFXUjBhQ0lzSW5ScGRHeGxRMjl1ZEdGcGJtVnlJaXdpYzNSNWJHVWlMQ0ozY21Gd2NHVnlJaXdpWTNOeklpd2liM1YwWlhKWGFXUjBhQ0lzSWw5a2NtRm5aMkZpYkdVaUxDSnVJaXdpWVNJc0ltSjFkSFJ2YmlJc0ltaGhjME5zWVhOeklpd2ljR0Z5Wlc1MGN5SXNJbU5zYjNObElpd2lhV2R1YjNKbFJHVnNZWGtpTENKMGIzVmphR1Z6SWl3aWNHRm5aVmdpTENKd1lXZGxXU0lzSW1SeVlXZG5hVzVuVTNSaGNuUllJaXdpWkhKaFoyZHBibWRUZEdGeWRGa2lMQ0o2U1c1a1pYaE5ZWGhFY21GbmIzWmxjaUlzSW1SeVlXZG5hVzVuSWl3aWIyWm1JaXdpYzJOeWIyeHNUR1ZtZENJc0lsOWpjbVZoZEdVaUxDSmpiR0Z6Y3lJc0ltUnBjM0JzWVhraUxDSnZjR0ZqYVhSNUlpd2ljMjkxY21ObElpd2ljbVZzWVhSbFpGUmhjbWRsZENJc0ltbHVRWEp5WVhraUxDSmpiMjUwWVdsdVpYSWlMQ0poY0hCbGJtUWlMQ0poY0hCbGJtUkRhR2xzWkNJc0ltWnBibVFpTENKNGVTSXNJbVZzWlcxbGJuUWlMQ0prYVcxbGJuTnBiMjV6SWl3aVlXeHBaMjVCZEhSeWFXSjFkR1VpTENKdFlYSm5hVzRpTENKelpYUlVhWFJzWlNJc0lsOWhkSFJoWTJoRmRtVnVkSE1pTENKcGMwaHZkbVZ5WldRaUxDSnRiM1Z6WlZSaGNtZGxkQ0lzSWw5a1pYUmhZMmhGZG1WdWRITWlMQ0pmYzJodmQwOTJaWEpzWVhraUxDSnpkRzl3SWl3aVlXNXBiV0YwWlNJc0luRjFaWFZsSWl3aVpIVnlZWFJwYjI0aUxDSnpkR0Z5ZENJc0lsOW9hV1JsVDNabGNteGhlU0lzSW1OdmJYQnNaWFJsSWl3aVgyVjRjRzl6WlVScGJXVnVjMmx2Ym5NaUxDSmZaMlZ1WlhKaGRHVkJibWx0WVhScGIyNURVMU1pTENKd2RXeHpaU0lzSW05d1pXNGlMQ0o2YjI5dFNXNGlMQ0o2YjI5dFQzVjBJaXdpYlc5MlpTSXNJbk5zYVdSbElpd2labXhwY0NJc0luUmhaR0VpTENKdmNHVnVSR2x5WldOMGFXOXVJaXdpWTJ4dmMyVkVhWEpsWTNScGIyNGlMQ0o2YjI5dFNXNVBjR1Z1SWl3aWVtOXZiVWx1UTJ4dmMyVWlMQ0o2YjI5dFQzVjBUM0JsYmlJc0lucHZiMjFQZFhSRGJHOXpaU0lzSW0xdmRtVlBjR1Z1SWl3aWNHOXphWFJwYjI1eklpd2lNQ1VpTENKdGIzWmxRMnh2YzJVaUxDSjBhVzFwYm1jaUxDSXhNREFsSWl3aWMyeHBaR1ZQY0dWdUlpd2ljMnhwWkdWRGJHOXpaU0lzSW1ac2FYQlBjR1Z1SWl3aVpteHBjRU5zYjNObElpd2lkRzlWY0hCbGNrTmhjMlVpTENKZllXNXBiV0YwYVc5dVExTlRJaXdpWDJKc2IyTnJRbTlrZVVOc2FXTnJJaXdpWW14dlkydENiMlI1UTJ4cFkyc2lMQ0p6WlhSVWFXMWxiM1YwSWl3aVgyRnVhVzFoZEdVaUxDSnBjMDl3Wlc0aUxDSm1iR2x3Y0dWa0lpd2ljR0Z5YzJWR2JHOWhkQ0lzSW0xcGJpSXNJbkpsYlc5MlpVTnNZWE56SWl3aVgyRmliM0owUVc1cGJXRjBhVzl1SWl3aVlYUjBjaUlzSW1acGJIUmxjaUlzSW14aGMzUkpibVJsZUU5bUlpd2ljSFZ6YUNJc0lrRjFaR2x2SWl3aWMzSmpJaXdpY0hKbGJHOWhaQ0lzSW5CeWIzUnZkSGx3WlNJc0luSmxiVzkyWlVGMGRISWlMQ0poZEhSaFkyaGxaRVZzWlcxbGJuUnpJaXdpZEdsdFpYSWlMQ0pqYkdWaGNsUnBiV1Z2ZFhRaUxDSmtaWFJoWTJnaUxDSm5jbVZ3SWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpYUhSdGJDSXNJbU5vYVd4a2NtVnVJaXdpWTI5dWMzUnlkV04wYjNJaUxDSnFjWFZsY25raUxDSktVMDlPSWl3aWMzUnlhVzVuYVdaNUlpd2ljMlYwUkdsdFpXNXphVzl1Y3lJc0luTmxkRmRwWkhSb0lpd2ljMlYwU0dWcFoyaDBJaXdpY2lJc0ltWWlMQ0p3SWl3aWJDSXNJbU5sYVd3aUxDSndiM05wZEdsdmJrRmthblZ6ZEdWa0lpd2laQ0lzSW1NaUxDSjFJaXdpWnlJc0ltMGlMQ0pxSWl3aWRXNXpZM0p2Ykd3aUxDSnpaWFFpTENKMWJuTmpjbTlzYkZOMGIzSmxJaXdpWjJWMElpd2laMlYwVTJOeWIyeHNZbUZ5VjJsa2RHZ2lMQ0pqY21WaGRHVkZiR1Z0Wlc1MElpd2liM1psY21ac2IzY2lMQ0ppYjJSNUlpd2liMlptYzJWMFYybGtkR2dpTENKamJHbGxiblJYYVdSMGFDSXNJbkpsYlc5MlpVTm9hV3hrSWl3aVoyVjBSV3hsYldWdWRITlViMEZrYW5WemRDSXNJbVp2Y2tWaFkyZ2lMQ0pwYm1SbGVFOW1JaXdpY0dGblpVaGhjMU5qY205c2JHSmhjaUlzSW05bVpuTmxkRWhsYVdkb2RDSXNJbWx1Ym1WeVNHVnBaMmgwSWl3aWNYVmxjbmxUWld4bFkzUnZja0ZzYkNJc0ltZGxkRUYwZEhKcFluVjBaU0lzSW1kbGRFTnZiWEIxZEdWa1UzUjViR1VpTENKblpYUlFjbTl3WlhKMGVWWmhiSFZsSWl3aVoyVjBSV3hsYldWdWRFSjVTV1FpTENKb1pXRmtJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VWUmhaMDVoYldVaUxDSmpjbVZoZEdWVVpYaDBUbTlrWlNJc0ltTnNZWE56VEdsemRDSXNJbUZrWkNJc0luSmxjMlYwSWl3aWNtVnRiM1psUVhSMGNtbGlkWFJsSWl3aWNtVnRiM1psSWl3aWFYTkVaWE4wY205NVpXUWlMQ0pmYzNSNWJHVnpJaXdpYVhORWFYTmhZbXhsWkNJc0ltdGxlVU52WkdVaUxDSm9ZWE1pTENKaGFtRjRURzloWkdWa0lpd2ljRzl6YVhScGIyNWxaRTl1VDNCbGJpSXNJbWx6UTJ4dmMybHVaeUlzSW1Kc2IyTnJVMk55YjJ4c1UyTnZjR1Z6SWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWFYTlBjR1Z1YVc1bklpd2lZV3gzWVhseklpd2ljRzl6YVhScGIyNVBia1poWkdWRGIyMXdiR1YwWlNJc0ltTmhibU5sYkVGcVlYZ2lMQ0pFWVhSbElpd2libTkzSWl3aWFXNXVaWElpTENKd2NtVndaVzVrSWl3aVkyOTFiblJrYjNkdUlpd2ljbVZ4ZFdWemRFRnVhVzFoZEdsdmJrWnlZVzFsSWl3aWRHOW5aMnhsSWl3aVpHbHpZV0pzWlNJc0ltVnVZV0pzWlNJc0ltaHBaR1VpTENKallXTm9aVmR5WVhCd1pYSkVhWE53YkdGNUlpd2lZMkZqYUdWUGRtVnliR0Y1UkdsemNHeGhlU0lzSW5Ob2IzY2lMQ0ppWldadmNtVlRaVzVrSWl3aWMzVmpZMlZ6Y3lJc0ltVnljbTl5SWl3aWRISmhibk5tYjNKdElpd2lZV3BoZUZKbGNYVmxjM1FpTENKaFltOXlkQ0lzSWw5aGRXUnBieUlzSW5CaGRYTmxJaXdpWTNWeWNtVnVkRlJwYldVaUxDSndiR0Y1SWl3aVgyRnVhVzFoZEdsdmJsTndaV1ZrY3lJc0luUmhaR0ZUYldGc2JDSXNJbVpzWVhOb0lpd2ljMmhoYTJVaUxDSndkV3h6WlZWd0lpd2ljSFZzYzJWRWIzZHVJaXdpY0c5d1NXNGlMQ0p3YjNCUGRYUWlMQ0ptWVdSbFNXNGlMQ0ptWVdSbFQzVjBJaXdpYzJ4cFpHVlZjQ0lzSW5Oc2FXUmxVbWxuYUhRaUxDSnpiR2xrWlV4bFpuUWlMQ0p6Ykdsa1pVUnZkMjRpTENKaGJtbHRZWFJwYjI1VWFXMWxiM1YwSWl3aVgyZGxkRlZ1YVhGMVpVVnNaVzFsYm5SSlJDSXNJbk4zYVhCbFJHVjBaV04wYjNJaUxDSnpkMmx3WlZSb2NtVnphRzlzWkNJc0luVnpaVTl1YkhsVWIzVmphQ0lzSW1Oc2FXVnVkRmdpTENKamJHbGxiblJaSWl3aVlXSnpJaXdpUlhabGJuUWlMQ0prWlhOMGNtOTVJaXdpY0d4MVoybHVJaXdpWm00aUxDSnFRbTk0SWl3aWFrSnZlRU52Ym1acGNtMVhjbUZ3Y0dWeUlpd2lhbEYxWlhKNUlpd2lZMjl1Wm1seWJVSjFkSFJ2YmlJc0ltTmhibU5sYkVKMWRIUnZiaUlzSW1OdmJtWnBjbTBpTENKallXNWpaV3dpTENKamJHOXpaVTl1UTI5dVptbHliU0lzSWw5dmJrRjBkR0ZqYUNJc0luQnliM0FpTENKZmIyNURjbVZoZEdWa0lpd2ljM1ZpYldsMFFuVjBkRzl1SWl3aVgyOXVUM0JsYmlJc0ltVjJZV3dpTENKcVFtOTRTVzFoWjJWWGNtRndjR1Z5SWl3aVoyRnNiR1Z5ZVNJc0ltbHRZV2RsVEdGaVpXd2lMQ0pwYldGblpVWmhaR1VpTENKcGJXRm5aVk5wZW1VaUxDSnBiV0ZuWlVOdmRXNTBaWElpTENKcGJXRm5aVU52ZFc1MFpYSlRaWEJoY21GMGIzSWlMQ0prYjNkdWJHOWhaRUoxZEhSdmJpSXNJbVJ2ZDI1c2IyRmtRblYwZEc5dVZHVjRkQ0lzSW1SdmQyNXNiMkZrUW5WMGRHOXVWWEpzSWl3aWJXOWlhV3hsU1cxaFoyVkJkSFJ5SWl3aWJXOWlhV3hsU1cxaFoyVkNjbVZoYTNCdmFXNTBJaXdpY0hKbGJHOWhaRVpwY25OMFNXMWhaMlVpTENKZmIyNUpibWwwSWl3aWFXMWhaMlZ6SWl3aVkzVnljbVZ1ZEVsdFlXZGxJaXdpYVcxaFoyVmFTVzVrWlhnaUxDSnBibWwwU1cxaFoyVWlMQ0pzWVdKbGJDSXNJbVJ2ZDI1c2IyRmtWWEpzSWl3aVltRmphMmR5YjNWdVpGTnBlbVVpTENKemFHOTNTVzFoWjJVaUxDSjBiMmRuYkdWRGJHRnpjeUlzSW1sdFlXZGxUR0ZpWld4RGIyNTBZV2x1WlhJaUxDSmtiM2R1Ykc5aFpFbHRZV2RsSWl3aWFISmxaaUlzSW5OMVluTjBjbWx1WnlJc0ltTnNhV05ySWl3aVNXMWhaMlVpTENKdmJteHZZV1FpTENKaVlXTnJaM0p2ZFc1a1NXMWhaMlVpTENKdmJtVnljbTl5SWl3aWFXMWhaMlZNWVdKbGJGZHlZWEJ3WlhJaUxDSnBiV0ZuWlZCeVpYWkNkWFIwYjI0aUxDSnBiV0ZuWlU1bGVIUkNkWFIwYjI0aUxDSnBibk5sY25SQlpuUmxjaUlzSWw5dmJrTnNiM05sSWl3aVgyOXVRMnh2YzJWRGIyMXdiR1YwWlNJc0ltcENiM2hPYjNScFkyVlhjbUZ3Y0dWeUlpd2lZMjlzYjNJaUxDSnpkR0ZqYXlJc0luTjBZV05yVTNCaFkybHVaeUlzSW5KbGMzQnZibk5wZG1WUWIzTnBkR2x2Ym5NaUxDSTFNREFpTENJM05qZ2lMQ0prWldaaGRXeDBUbTkwYVdObFVHOXphWFJwYjI0aUxDSmZZV1JxZFhOMFRtOTBhV05sVUc5emFYUnZiaUlzSW1Oc2IyNWxJaXdpWDI5dVVHOXphWFJwYjI0aUxDSnlaWFpsY25ObElpd2lZMkZzYkNJc0ltUmxabWx1WlNJc0ltRnRaQ0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKeVpYRjFhWEpsSWl3aVkyOXVjMjlzWlNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1UwRkJVMEVzV1VGQldVTXNSMEZCUnl4VFFVRlRReXhGUVVGRlF5eEZRVUZGUXl4SFFVRkhMRTlCUVU5RExFdEJRVXRETEZGQlFWRXNRMEZCUTBNc1IwRkJSeXhMUVVGTFF5eE5RVUZOTEU5QlFVOURMRTlCUVU4c1QwRkJUME1zVTBGQlV5eExRVUZMUXl4VlFVRlZMRXRCUVV0RExGTkJRVk1zUzBGQlMwTXNWVUZCVlN4TFFVRkxReXhwUWtGQlowSXNSVUZCUjBNc2EwSkJRV2xDTEVWQlFVZERMRzFDUVVGdFFpeEpRVUZKUXl4dlFrRkJiMElzU1VGQlNVTXNUMEZCVHl4TFFVRkxReXhSUVVGUkxGRkJRVkZETEdkQ1FVRmxMRVZCUVVkRExGRkJRVkVzUzBGQlMwTXNWMEZCVnl4TFFVRkxReXhOUVVGTkxFdEJRVXRETEZOQlFWTXNTMEZCUzBNc1QwRkJUeXhMUVVGTFF5eGxRVUZqTEVWQlFVZERMRXRCUVVzc1EwRkJRME1zU1VGQlNTeExRVUZMUXl4TFFVRkxMRWRCUVVkRExGRkJRVThzUlVGQlIwTXNUMEZCVHl4WFFVRlhReXhSUVVGUkxGbEJRVmxETEZsQlFWY3NSVUZCUjBNc1kwRkJZU3hGUVVGSFF5eFRRVUZSTEVWQlFVZERMR0ZCUVdFc1NVRkJTVU1zYlVKQlFXdENMRWRCUVVsRExHMUNRVUZyUWl4RlFVRkhReXhQUVVGUExFdEJRVXRETEZOQlFWTXNRMEZCUTBNc1JVRkJSU3hUUVVGVFF5eEZRVUZGTEZWQlFWVkRMRkZCUVZFc1MwRkJTME1zVDBGQlR5eEZRVUZGUXl4WFFVRlhMRU5CUVVOS0xFVkJRVVVzVDBGQlQwTXNSVUZCUlN4UFFVRlBTU3hQUVVGTkxFVkJRVWRETEdkQ1FVRmxMRVZCUVVkRExHVkJRV01zUlVGQlIwTXNaVUZCWlN4RlFVRkZReXhaUVVGWExFVkJRVWRETEd0Q1FVRnBRaXhGUVVGSFF5eHhRa0ZCYjBJc1JVRkJSME1zWTBGQllTeEZRVUZIUXl4VFFVRlJMRVZCUVVkRExGRkJRVkVzVTBGQlUwTXNTMEZCU3l4SlFVRkpReXhWUVVGVkxFdEJRVXRETEUxQlFVMHNWVUZCVlVNc1UwRkJVeXhMUVVGTFF5eFRRVUZSTEVWQlFVZERMR0ZCUVdFc1MwRkJTME1zVDBGQlR5eEpRVUZKUXl4VlFVRlZMRVZCUVVWRExGZEJRVmNzUlVGQlJVTXNXVUZCVnl4RlFVRkhReXhqUVVGaExFVkJRVWRETEcxQ1FVRnJRaXhGUVVGSFF5eGhRVUZaTEVWQlFVZERMRk5CUVZOd1JTeEZRVUZGTEZGQlFWRnhSU3hqUVVGaExFVkJRVWRETEdGQlFWa3NSVUZCUjBNc2JVSkJRV3RDTEVWQlFVZERMRmRCUVZVc1JVRkJSME1zVlVGQlV5eEZRVUZIUXl4WFFVRlZMRVZCUVVkRExHTkJRV0VzUlVGQlIwTXNaVUZCWXl4RlFVRkhReXhqUVVGaExFVkJRVWRETEUxQlFVMHNTMEZCUzBNc1QwRkJUeXhKUVVGSlF5eFBRVUZQTEV0QlFVdERMRk5CUVZNc1MwRkJTME1zVjBGQlZ5eExRVUZMUXl4VlFVRlZMRXRCUVV0RExFOUJRVThzUzBGQlMwTXNVVUZCVVN4TFFVRkxReXhuUWtGQlowSXNTMEZCUzBNc1dVRkJXU3hMUVVGTFF5eFZRVUZWTEUxQlFVMXdSaXhMUVVGTGNVWXNaVUZCWlN4RFFVRkRReXhSUVVGUkxFTkJRVU55UlN4WFFVRlhMRkZCUVZGSUxGRkJRVkVzWVVGQllYRkNMRk5CUVZNc1EwRkJRME1zUlVGQlJTeFRRVUZUUXl4RlFVRkZMRTlCUVU5RExGRkJRVkVzU1VGQlNWY3NVMEZCVVN4SFFVRkpjME1zVFVGQlRTeERRVUZET1VVc2FVSkJRV2RDTEVWQlFVZERMR3RDUVVGcFFpeEZRVUZIWjBNc1pVRkJaU3hQUVVGUFVpeFBRVUZQTEZGQlFWRndRaXhSUVVGUkxHRkJRV0Z4UWl4VFFVRlRMRU5CUVVORExFVkJRVVVzVVVGQlVVTXNSVUZCUlN4VlFVRlZReXhSUVVGUkxFdEJRVXRETEU5QlFVOHNSMEZCUjJsRUxFMUJRVTBzUTBGQlEzUkVMRTlCUVU5MFF5eEZRVUZGTmtZc1VVRkJVV2hFTEU5QlFVMHNSVUZCUjNsQ0xHRkJRVmtzUlVGQlIwNHNXVUZCVnl4RlFVRkhReXhoUVVGaExGVkJRVlZGTEdGQlFWa3NSVUZCUjFJc1UwRkJVU3hGUVVGSFNDeFZRVUZWTEZkQlFWZHdSQ3hMUVVGTFF5eFJRVUZSVEN4RlFVRkZPRVlzVVVGQlR5eEZRVUZITVVZc1MwRkJTME1zVVVGQlVVUXNTMEZCUzNGR0xHVkJRV1YyUml4SlFVRkpSQ3hGUVVGRmQwWXNaVUZCWlhaR0xFZEJRVWRETEVkQlFVY3NWVUZCVlVnc1JVRkJSU3RHTEV0QlFVczNSaXhMUVVGTFJTeExRVUZMTWtZc1MwRkJTemRHTEVkQlFVZEZMRXRCUVVzMFJpeGpRVUZqTEZkQlFWY3NTVUZCT0VrM1JpeEZRVUV4U1VRc1JVRkJSU3cwUWtGQk5FSXJSaXhOUVVGTkxFdEJRVXNzVTBGQlJ5eHBRa0ZCYVVKS0xGRkJRVkZCTEU5QlFVOUxMR1ZCUVdWRExHOUNRVUZ2UWtRc2FVSkJRVFpHTDBZc1JVRkJhRVZFTEVWQlFVVXNRMEZCUXl4SlFVRkpRU3hGUVVGRmEwY3NTMEZCU3l4dlFrRkJiMElzVTBGQlV5eExRVUZMUVN4TFFVRkxMRWxCUVdWUUxFOUJRVTlSTEZkQlFWZHNSeXhIUVVGSGJVY3NVMEZCY0ZBc1IwRkJLMUJzUnl4TFFVRkxORVlzWlVGQlpTeGxRVUZsTlVZc1MwRkJTME1zVVVGQlVXRXNWVUZCVXl4SlFVRkxaQ3hMUVVGTFF5eFJRVUZSTkVRc1pVRkJaVGRFTEV0QlFVdERMRkZCUVZFMFJDeGhRVUZoTEZGQlFWRTNSQ3hMUVVGTGJVY3NWMEZCVnl4VFFVRlRja2NzUlVGQlJVTXNSMEZCUjBNc1MwRkJTME1zVVVGQlVTeEpRVUZKU0N4SlFVRkpSU3hMUVVGTFF5eFJRVUZSTEVsQlFVbElMRWRCUVVkelJ5eExRVUZMY0Vjc1MwRkJla0pCTEVOQlFTdENSQ3hIUVVGSFF5eExRVUZMUXl4UlFVRlJTQ3hKUVVGSlJTeExRVUZMUXl4UlFVRlJTQ3hIUVVGSGMwY3NTMEZCUzNCSExFdEJRWEpDUVN4RFFVRXlRa1FzU1VGQlNTeFBRVUZQUXl4TFFVRkxReXhSUVVGUlF5eExRVUZMUml4TFFVRkxReXhSUVVGUlF5eEhRVUZITEU5QlFVOU1MRVZCUVVWM1J5eG5Ra0ZCWjBKeVJ5eExRVUZMUlN4SFFVRkhSaXhMUVVGTFF5eFJRVUZSUXl4SlFVRkpMRlZCUVZWR0xFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEhRVUZITEV0QlFVdHdReXhMUVVGTFF5eFJRVUZSY1VNc1UwRkJVeXhWUVVGVmRFTXNTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRWRCUVVjc1MwRkJTM0pETEV0QlFVdERMRkZCUVZGeFF5eFhRVUZYZEVNc1MwRkJTME1zVVVGQlVYRkRMRkZCUVZFc1RVRkJUU3hWUVVGVmRFTXNTMEZCUzBNc1VVRkJVV2xFTEZOQlFWTnNSQ3hMUVVGTFF5eFJRVUZSY1VNc1UwRkJVeXhOUVVGTmRFTXNTMEZCUzBNc1VVRkJVWEZETEZWQlFWVjBReXhMUVVGTFF5eFJRVUZSWjBRc1UwRkJVU3hIUVVGSkxGVkJRVlZ5UkN4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkZ6UXl4UlFVRlJka01zUzBGQlMwTXNVVUZCVVhORExFOUJRVThzUTBGQlEwZ3NSVUZCUlhCRExFdEJRVXRETEZGQlFWRnpReXhQUVVGUFJpeEZRVUZGY2tNc1MwRkJTME1zVVVGQlVYTkRMRkZCUVZGMlF5eExRVUZMUXl4UlFVRlJjME1zVDBGQlR6TkRMRVZCUVVVNFJpeFBRVUZQTEVOQlFVTjBSQ3hGUVVGRkxFVkJRVVZETEVWQlFVVXNSMEZCUjNKRExFdEJRVXRETEZGQlFWRnpReXhSUVVGUkxGVkJRVlV6UXl4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlN4RFFVRkRNRVFzU1VGQlNYUkhMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxNa1FzVFVGQlRYWkhMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxORVFzVDBGQlQzaEhMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOa1FzUzBGQlMzcEhMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWldoRUxFVkJRVVU0Uml4UFFVRlBMRU5CUVVOWkxFbEJRVWtzUlVGQlJVY3NTMEZCU3l4RlFVRkZSaXhOUVVGTkxFVkJRVVZETEU5QlFVOHNSMEZCUjNoSExFdEJRVXRETEZGQlFWRXlReXhuUWtGQlowSTFReXhMUVVGTGMwTXNWMEZCVjNSRExFdEJRVXRETEZGQlFWRnhReXhUUVVGVExFMUJRVTEwUXl4TFFVRkxReXhSUVVGUmNVTXNWVUZCVlhSRExFdEJRVXRETEZGQlFWRnJReXhUUVVGVGJrTXNTMEZCUzBNc1VVRkJVWEZETEZOQlFWTjBReXhMUVVGTE1FY3NUVUZCVFRGSExFdEJRVXR6UXl4VlFVRlZMRlZCUVZWMFF5eExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUnl4VlFVRlZla01zUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUjNKRExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEZRVUZGTEZWQlFWVndReXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVME1zUjBGQlJ5eFZRVUZWZUVNc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVME1zUjBGQlIzQkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRSU3hGUVVGRmNrTXNTMEZCUzBNc1VVRkJVWFZETEZkQlFWZEtMRWRCUVVkMlF5eEZRVUZGT0Vjc1ZVRkJWVU1zUzBGQlMwTXNTVUZCU1doSUxFVkJRVVU0Unl4WFFVRlhMRVZCUVVVc1UwRkJVek5ITEV0QlFVdERMRkZCUVZGM1JDeFBRVUZQTEVsQlFVbDZSQ3hMUVVGTFF5eFJRVUZSZDBRc1VVRkJVU3hUUVVGVGVrUXNTMEZCUzBNc1VVRkJVWGRFTEZOQlFWTjZSQ3hMUVVGTE9FY3NiMEpCUVcxQ0xFVkJRVWRxU0N4RlFVRkZPRWNzVjBGQlZ5eEZRVUZGTTBjc1MwRkJTME1zVVVGQlVYZEVMRTlCUVU4MVJDeEZRVUZGT0Vjc1ZVRkJWVE5ITEV0QlFVc3JSeXhWUVVGVkwwY3NTMEZCUzBNc1VVRkJVWE5FTEZOQlFWTjJSQ3hMUVVGTFowZ3NVVUZCVVN4VFFVRlRiRWdzUjBGQlJ5eE5RVUZOTEVOQlFVTXlSeXhMUVVGTExGRkJRVkZHTEUxQlFVMHNUMEZCVDBRc1NVRkJTU3hUUVVGVFJTeFBRVUZQTEUxQlFVMXdSU3hGUVVGRkxFbEJRVWxETEVWQlFVVXNTMEZCUzNaRExFbEJRVWxGTEV0QlFVdHBTQ3hQUVVGUExGTkJRVk51U0N4SFFVRkhMRTFCUVUwc1EwRkJRekpITEV0QlFVc3NTVUZCU1VZc1RVRkJUU3hKUVVGSlJDeEpRVUZKTEVsQlFVbEZMRTlCUVU4c1NVRkJTVlVzVDBGQlR5eExRVUZMY0Vnc1NVRkJTVVVzUzBGQlMyMUlMRTlCUVU4c1UwRkJVM0pJTEVkQlFVY3NUVUZCVFN4RFFVRkRNa2NzUzBGQlN5eFBRVUZQUml4TlFVRk5MRTlCUVU5RUxFbEJRVWtzVFVGQlRVVXNUMEZCVHl4TlFVRk5WU3hQUVVGUExFOUJRVTg1UlN4RlFVRkZMRTlCUVU5RExFVkJRVVVzVDBGQlQzWkRMRWxCUVVsRkxFdEJRVXR2U0N4UlFVRlJMRk5CUVZOMFNDeEZRVUZGUXl4SFFVRkhMRTFCUVUwc1VVRkJVVVFzUlVGQlJTeFBRVUZQUVN4SFFVRkhMRlZCUVZWR0xFVkJRVVVyUml4TFFVRkxOMFlzU1VGQlNTeExRVUZMUVN4RlFVRkZkVWdzVDBGQlR5eEhRVUZIZWtnc1JVRkJSVFpHTEZGQlFWRXNWVUZCVlRGR0xFVkJRVVVzWTBGQll5eG5Ra0ZCWjBKMVNDeFRRVUZUZUVnc1JVRkJSWGxJTEZGQlFWRXNTVUZCU1N4TFFVRkxMRWxCUVVsNlNDeEhRVUZIUlN4TFFVRkxkMGdzVjBGQlZ5eFRRVUZUTVVnc1JVRkJSVU1zUjBGQlJ5eEpRVUZKTUVnc1JVRkJSVEZDTEZOQlFWTXlRaXhuUWtGQlowSXNOa0pCUVRaQ05VZ3NSMEZCUnl4UFFVRlBSaXhGUVVGRkswZ3NTMEZCU3pWSUxFVkJRVVVzVTBGQlUwUXNSVUZCUlVNc1IwRkJSekJJTEVWQlFVVkhMR0ZCUVdFM1NDeEZRVUZGTEVkQlFVZEJMRVZCUVVVc1NVRkJTU3hOUVVGTk1FZ3NSMEZCUjNwSUxFdEJRVXMyU0N4bFFVRmxMRk5CUVZORExFZEJRVWRCTEVkQlFVZEJMRVZCUVVWRExGRkJRVkZFTEVWQlFVVkZMRWRCUVVjc1owVkJRV2RGTEZOQlFWTnNTU3hIUVVGSExFbEJRVWxETEVWQlFVVkVMRVZCUVVWdFNTeFpRVUZaYmtrc1JVRkJSVzlKTEdWQlFXVndTU3hGUVVGRmIwa3NZMEZCWTBRc1lVRkJZVzVKTEVWQlFVVnhTU3hQUVVGUFZpeEZRVUZGTEVkQlFVZDZTQ3hMUVVGTGIwa3NWVUZCVlU0c1JVRkJSVThzWTBGQlkzSkpMRXRCUVV0elNTeGhRVUZoUXl4RlFVRkZka2tzUzBGQlMyOUpMRmRCUVZjc1IwRkJSM0pKTEVWQlFVVXNSMEZCUnpCSUxFZEJRVWNzUlVGQlJURklMRWRCUVVkM1NTeEpRVUZKZWtrc1JVRkJSV2xDTEc5Q1FVRnZRbVlzUzBGQlMzZEpMR1ZCUVdVc1YwRkJWeXhKUVVGSmVFa3NTMEZCUzNsSkxHZENRVUZuUWl4UlFVRlJla2tzUzBGQlMyZENMRkZCUVZFc1IwRkJSekJJTEUxQlFVMTJTU3hSUVVGUlNDeExRVUZMWjBJc1VVRkJVU3hIUVVGSE1FZ3NUVUZCVFc1SkxGTkJRVk1zVDBGQlR5eExRVUZMTEVsQlFVbFVMRVZCUVVVc1VVRkJVVVVzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWtzV1VGQldUVkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1UwRkJVemxKTEVWQlFVVkZMRXRCUVV0blFpeFJRVUZSTmtnc1lVRkJZVGRKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNVMEZCVXpsSkxFVkJRVVZGTEV0QlFVdG5RaXhSUVVGUk5rZ3NZVUZCWVRkSkxFdEJRVXQ1U1N4bFFVRmxSeXhKUVVGSkxFTkJRVU55U1N4VFFVRlRjVWNzUzBGQlMwTXNTVUZCU1M5SExFVkJRVVYzU0N4VFFVRlRkRWdzUzBGQlMyZENMRkZCUVZFc1IwRkJSekJJTEUxQlFVMXVTU3haUVVGWkxGRkJRVkZRTEV0QlFVczRTU3hYUVVGWExGZEJRVmNzU1VGQlNUbEpMRXRCUVV0RExGRkJRVkZ0UlN4VlFVRlZMRTlCUVUwc1JVRkJSeXhKUVVGSmRFVXNSVUZCUlN4VFFVRlRSU3hMUVVGTFF5eFJRVUZSYlVVc1ZVRkJWWEJGTEV0QlFVdDVTU3hsUVVGbGVra3NTMEZCUzBNc1VVRkJVVzFGTEhGQ1FVRnhRbmhGTEVWQlFVVkpMRXRCUVV0RExGRkJRVkZ0UlN4VlFVRlZMRlZCUVZWNFJTeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGdFJTeFhRVUZYZUVVc1JVRkJSVWtzUzBGQlMwTXNVVUZCVVcxRkxGZEJRVmR3UlN4TFFVRkxNa2tzVVVGQlVTeFZRVUZWTjBrc1IwRkJSMEVzWVVGQllVWXNSMEZCUjBVc1JVRkJSV2xKTEZOQlFWTnFTU3hGUVVGRk1FSXNTMEZCU3l4eFFrRkJjVUl4UWl4RlFVRkZkMFFzVTBGQlV5eHJRa0ZCYTBJNVFpeExRVUZMTEd0Q1FVRnBRaXhIUVVGSmQwY3NSMEZCUnl4MVFrRkJkVUlzVTBGQlUyeEpMRWRCUVVjc1NVRkJTVU1zUlVGQlJUQklMRVZCUVVWakxFVkJRVVZVTEVWQlFVVnBRaXhGUVVGRlF5eEZRVUZGTEVkQlFVZHNTaXhGUVVGRmJVb3NVVUZCVVhKS0xFVkJRVVZGTEVWQlFVVnZReXhSUVVGUlowZ3NVMEZCVXl4blFrRkJaMEowU2l4RlFVRkZSU3hGUVVGRmIwTXNVVUZCVVdsSUxGRkJRVkVzWjBKQlFXZENjRUlzVDBGQlR5eGpRVUZqYWtrc1JVRkJSVFpHTEU5QlFVOHZSaXhGUVVGRlJTeEZRVUZGYjBNc1VVRkJVV2RJTEZOQlFWTXNjVUpCUVhGQ2RFb3NSVUZCUlVVc1JVRkJSVzlETEZGQlFWRnBTQ3hSUVVGUkxIRkNRVUZ4UW5CQ0xGTkJRVk12U0N4TFFVRkxiMG9zVFVGQlRTeERRVUZEUXl4aFFVRlpMRXRCUVUwMVFpeEZRVUZGTEdOQlFXTXpTQ3hGUVVGRk5rWXNUVUZCVFRkR0xFVkJRVVYzU2l4VFFVRlRlRW9zUlVGQlJYZEtMRkZCUVZFc1NVRkJTWFpLTEVWQlFVVkVMRVZCUVVWM1NpeFJRVUZSTEVkQlFVZERMRTFCUVUxNlNpeEZRVUZGZDBvc1VVRkJVU3hIUVVGSFJTeFJRVUZSZWtvc1JVRkJSVVFzUlVGQlJYbEtMRTFCUVUxNlNpeEZRVUZGTUVvc1QwRkJUM2hLTEV0QlFVdDVTaXhsUVVGbE1Vb3NSVUZCUlVNc1MwRkJTekJLTEdWQlFXVnFReXhGUVVGRmVrZ3NTMEZCUzBNc1VVRkJVVzlGTEZkQlFWZHlSU3hMUVVGTEswY3NWMEZCVjA4c1UwRkJVM1JJTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNTMEZCU3k5SkxFVkJRVVU0U2l4dlFrRkJiMEk1U2l4RlFVRkZPRW9zYlVKQlFXMUNMRVZCUVVVelNpeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFRRVUZUTDBrc1JVRkJSVGhLTEc5Q1FVRnZRbkJDTEVWQlFVVjJTU3hMUVVGTE1ra3NVVUZCVVU0c1kwRkJZMUFzUlVGQlJUbElMRXRCUVVzeVNTeFJRVUZSUlN4aFFVRmhSU3hGUVVGRkwwa3NTMEZCU3pKSkxGRkJRVkZ3Unl4VFFVRlRLMFFzU1VGQlNXbERMRVZCUVVWa0xFVkJRVVYxUWl4RlFVRkZhRW9zUzBGQlN6SkpMRkZCUVZGd1J5eFRRVUZUYTBVc1MwRkJTM0ZDTEVWQlFVVXZTQ3hGUVVGRlNDeEZRVUZGYlVjc1ZVRkJWV2xETEVkQlFVY3NORUpCUVRSQ2FFa3NTMEZCUzBVc1IwRkJSeXcyUWtGQk5rSkdMRXRCUVV0RkxFZEJRVWNzVTBGQlUwb3NSMEZCUnl4SlFVRkpReXhGUVVGRlJDeEZRVUZGTEdGQlFXRkJMRVZCUVVVMlJpeE5RVUZOTjBZc1JVRkJSWGRLTEZOQlFWTjRTaXhGUVVGRmQwb3NVVUZCVVN4SlFVRkpka29zUlVGQlJVUXNSVUZCUlhkS0xGRkJRVkVzUjBGQlIwTXNUVUZCVFhwS0xFVkJRVVYzU2l4UlFVRlJMRWRCUVVkRkxGRkJRVkY2U2l4RlFVRkZSQ3hGUVVGRmVVb3NUVUZCVFhwS0xFVkJRVVV3U2l4UFFVRlBlRW9zUzBGQlN6UktMRlZCUVZVMVNpeExRVUZMZVVvc1owSkJRV2RDTVVvc1IwRkJSME1zUzBGQlN6QktMR2RDUVVGblFqVktMRWxCUVVsRkxFdEJRVXR0Unl4WFFVRlhMR1ZCUVdWdVJ5eExRVUZMTkVvc1ZVRkJVeXhIUVVGSk5Vb3NTMEZCU3pKSkxGRkJRVkZ3Unl4UFFVRlBMRU5CUVVNclJDeEpRVUZKZUVjc1JVRkJSV2xLTEVWQlFVVlNMRVZCUVVVNVFpeExRVUZMTVVjc1JVRkJSV2xLTEVWQlFVVnNRaXhMUVVGTE1VSXNTMEZCUzNCSExFOUJRVTlHTEVWQlFVVnBRaXh0UWtGQmJVSnhSaXhMUVVGTGNFY3NUMEZCVDJkSkxFZEJRVWNzYlVKQlFXMUNMRmRCUVZjc1NVRkJTV3hKTEVWQlFVVkdMRVZCUVVWdFJ5eFZRVUZWT0VRc1NVRkJTU3cwUWtGQk5FSTNTaXhMUVVGTFJTeEhRVUZITERaQ1FVRTJRa1lzUzBGQlMwVXNTVUZCU1VZc1MwRkJTelJLTEZWQlFWVTFTaXhMUVVGTGJVY3NWMEZCVnl4aFFVRmhia2NzUzBGQlN6UktMRlZCUVZNc1JVRkJSeXhUUVVGVE5Vb3NTMEZCU3pKR0xFMUJRVTBzVjBGQlZ6TkdMRXRCUVVzeVJpeFBRVUZQTTBZc1MwRkJTME1zVVVGQlVTdERMR1ZCUVdWc1JDeEZRVUZGTEVOQlFVTnpReXhIUVVGSGRFTXNSVUZCUlVZc1JVRkJSU3hKUVVGSlNTeExRVUZMUlN4SlFVRkpjVU1zVlVGQlZXdEZMRXRCUVVzM1J5eEZRVUZGYlVjc1ZVRkJWU3RFTEdGQlFXRjZTQ3hGUVVGRmRrTXNSVUZCUlhkSExFbEJRVWt4Unl4RlFVRkZiVWNzVlVGQlZYRkRMR0ZCUVdGd1NTeExRVUZMYlVNc1UwRkJVeXhEUVVGRFFTeFRRVUZUY2tNc1JVRkJSWGxETEU5QlFVOHNRMEZCUTBnc1JVRkJSU3hGUVVGRlF5eEZRVUZGTEU5QlFVOHJSQ3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTeXRITEZsQlFWbHNTQ3hGUVVGRk9Fb3NhMEpCUVd0Q09Vb3NSVUZCUlRoS0xHdENRVUZyUWk5RExFdEJRVXRETEVsQlFVbG9TQ3hGUVVGRk9Fb3NhMEpCUVd0Q00wb3NTMEZCUzBNc1VVRkJVWGRFTEZGQlFWRjZSQ3hMUVVGTFF5eFJRVUZSZDBRc1VVRkJVWHBFTEU5QlFVOUJMRXRCUVVzclNpeFJRVUZSTEZkQlFWY3NTVUZCU1dwTExFVkJRVVZGTEV0QlFVc3lTU3hWUVVGVk0wa3NTMEZCU3pKSkxGRkJRVkV2U1N4RlFVRkZMRk5CUVZNc1EwRkJRMDBzUjBGQlIwWXNTMEZCUzBVc1IwRkJSemhLTEUxQlFVMHNaMEpCUVdkQ2FFc3NTMEZCU3pKR0xFdEJRVXNzVTBGQlV6TkdMRXRCUVVzeVJpeExRVUZMTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYjBRc1RVRkJUU3hUUVVGVGNrUXNTMEZCUzBNc1VVRkJVVzlFTEUxQlFVMHNTMEZCUzNKRUxFdEJRVXRETEZGQlFWRnhSQ3hUUVVGVExFbEJRVWwwUkN4TFFVRkxReXhSUVVGUmNVUXNVMEZCVXl4TlFVRk5jMFlzU1VGQlNTeERRVUZEZWtjc1UwRkJVMjVETEV0QlFVdERMRkZCUVZGM1F5eE5RVUZOTEZGQlFWRXNWMEZCVjNkSUxGRkJRVkVzVDBGQlQwTXNVVUZCVVN4RlFVRkZla2NzVDBGQlQzcEVMRXRCUVV0RExGRkJRVkYzUkN4VFFVRlRha01zUzBGQlN5eFBRVUZQZUVJc1RVRkJUVUVzUzBGQlMwTXNVVUZCVVRaRUxHMUNRVUZ0UWpsRUxFdEJRVXN5U1N4UlFVRlJXQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWxCUVVsRkxFdEJRVXR0U3l4UlFVRlJja3NzUlVGQlJYTkxMR1ZCUVdWd1N5eExRVUZMYlVzc1QwRkJUeXhMUVVGTExFbEJRVWwyU3l4RlFVRkZlVXNzVVVGQlVYSkxMRXRCUVV0dFN5eFBRVUZQTEVkQlFVZDJTeXhGUVVGRlJTeEZRVUZGYzBzc1pVRkJaV3BDTEZGQlFWRXNUMEZCVDI1S0xFdEJRVXR2U2l4VFFVRlRhRVFzUzBGQlMzQkhMRTlCUVU4c1QwRkJUMEVzUzBGQlMwTXNVVUZCVVRSRUxHTkJRV00zUkN4TFFVRkxNa2tzVVVGQlVWZ3NSMEZCUnl4WlFVRlpMRmRCUVZkb1NTeExRVUZMYjBvc1RVRkJUU3hEUVVGRFF5eGhRVUZaTEV0QlFVMXFSQ3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTM05MTEZWQlFWVXhTeXhGUVVGRkxHbERRVUZwUTI5RkxGTkJRVk5vUlN4TFFVRkxNa2tzVTBGQlV6TkpMRXRCUVV0blFpeFJRVUZSY0VJc1JVRkJSU3dyUWtGQkswSnZSU3hUUVVGVGFFVXNTMEZCUzNOTExGZEJRVmQwU3l4TFFVRkxReXhSUVVGUmJVSXNVMEZCVTNCQ0xFdEJRVXR2UWl4UFFVRlBlRUlzUlVGQlJTdzRRa0ZCT0VJeVN5eFBRVUZQZGtzc1MwRkJTME1zVVVGQlVXMUNMRkZCUVZFMFF5eFRRVUZUYUVVc1MwRkJTM05MTEZsQlFWbDBTeXhMUVVGTFF5eFJRVUZSYjBJc1pVRkJaWEpDTEV0QlFVczJTQ3hsUVVGbE4wZ3NTMEZCUzJkQ0xGTkJRVk5vUWl4TFFVRkxReXhSUVVGUk9FUXNaVUZCWldwRkxFVkJRVVZGTEV0QlFVdDNTQ3hYUVVGWExFMUJRVTBzUTBGQlF5eERRVUZETEZWQlFWVXNaMEpCUVdkQ1owUXNXVUZCV1hoTExFdEJRVXQzU0N4WFFVRlhMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzYjFGQlFXOVJlRWdzUzBGQlN5dEVMRmxCUVZsdVJTeEZRVUZGTEN0RFFVRXJRMjlKTEVkQlFVY3NXVUZCV1N4VFFVRlRiRWtzUjBGQlIwVXNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRTlCUVU5MVN5eFBRVUZQZWtzc1IwRkJSeXhQUVVGUFJTeExRVUZMUXl4UlFVRlJPRVFzWlVGQll5eEpRVUZMTDBRc1MwRkJTME1zVVVGQlVUaEVMR0ZCUVdFdlJDeExRVUZMUXl4UlFVRlJjMFFzVTBGQlUzWkVMRXRCUVV0RExGRkJRVkZwUWl4UFFVRlBiRUlzUzBGQlMwTXNVVUZCVVd0Q0xGbEJRVmx1UWl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc2QwSkJRWGRDZEVRc1MwRkJTeXRFTEZsQlFWbERMRk5CUVZOb1JTeExRVUZMYzBzc1lVRkJZWFJMTEV0QlFVc3lTU3hSUVVGUk0wVXNVMEZCVTJoRkxFdEJRVXRETEZGQlFWRXJSQ3hWUVVGVmFFVXNTMEZCU3pKSkxGRkJRVkU0UWl4TFFVRkxMSEZDUVVGeFFqRkRMRkZCUVZGdVNTeEZRVUZGSzBnc1MwRkJTeXhEUVVGRExFMUJRVTBzVVVGQlVTeFRRVUZUTEZGQlFWRXNVMEZCVXpkSUxFVkJRVVZETEVkQlFVZERMRXRCUVVzeVNTeFJRVUZST0VJc1MwRkJTeXh4UWtGQmNVSTNRaXhKUVVGSk4wa3NTVUZCU1N4UlFVRlJReXhMUVVGTE1ra3NVVUZCVVRoQ0xFdEJRVXNzY1VKQlFYRkNOMElzU1VGQlNUZEpMRXRCUVV0RExFdEJRVXRETEZGQlFWRXlReXhsUVVGbE4wTXNSMEZCUnpaSExFdEJRVXRETEVsQlFVazNSeXhMUVVGTFF5eFJRVUZSTWtNc1pVRkJaVGRETEVkQlFVZERMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOME1zU1VGQlNTeEpRVUZKZFVnc1UwRkJVM1JJTEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4eFFrRkJjVUkzUWl4SlFVRkpOMGtzUzBGQlN5eEpRVUZKZFVnc1UwRkJVM1JJTEV0QlFVdHpTeXhWUVVGVk1VSXNTVUZCU1N4VlFVRlZOMGtzUlVGQlJTeFpRVUZaTEU5QlFVOXhSeXhMUVVGTGNFY3NUMEZCVDBFc1MwRkJTME1zVVVGQlVXZEVMRlZCUVZWcVJDeExRVUZMYVVRc1VVRkJVU3hEUVVGRFpDeFRRVUZUTEZWQlFWVnVReXhMUVVGTFF5eFJRVUZSYVVRc1VVRkJVV3hFTEV0QlFVdERMRkZCUVZGcFJDeFJRVUZSYkVRc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNVMEZCVTI5SkxFZEJRVWNzVlVGQlZURkxMRXRCUVV0RExGRkJRVkZwUkN4UlFVRlJiRVFzUzBGQlMybElMRTlCUVU5cVNDeExRVUZMUXl4UlFVRlJhVVFzVTBGQlUyeEVMRXRCUVV0cFNDeFBRVUZQYWtnc1MwRkJTM05ETEZOQlFWTnZSU3hOUVVGTkxGTkJRVk51UlN4UFFVRlBMRWRCUVVkMlF5eExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZTeXhGUVVGRkxIbERRVUY1UTBrc1MwRkJTMmxFTEZGQlFWRmtMRk5CUVZNc1QwRkJUelpDTEZOQlFWTm9SU3hMUVVGTE1ra3NVMEZCVXpOSkxFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ5eERRVUZEZUVrc1JVRkJSWEJETEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVRsQ0xHRkJRV0Y0Unl4RlFVRkZja01zUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSZEVNc1pVRkJaU3hWUVVGVmVra3NSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUlowUXNXVUZCV1c1RUxFVkJRVVZGTEV0QlFVdERMRkZCUVZGblJDeFJRVUZSTkVNc1RVRkJUU3hOUVVGTkxFdEJRVXMzUml4TFFVRkxhVVFzVVVGQlVYbEVMRTFCUVUwMVJ5eEZRVUZGTEVsQlFVbEJMRVZCUVVVc1MwRkJTMFVzUzBGQlMybEVMRkZCUVZGV0xFOUJRVThyUlN4VFFVRlRlRWdzUlVGQlJTeE5RVUZOUlN4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVc1MwRkJTemRMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NSMEZCUnl4VlFVRlZNVXNzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEZOQlFWTXNUVUZCVFN4VFFVRlRNVWNzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEZGQlFWRXNUMEZCVHpGSExFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGZEJRVmMxU1N4TFFVRkxhVVFzVVVGQlVXUXNVMEZCVTI1RExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFJDeFJRVUZSZVVnc1MwRkJTekZMTEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVM5Q0xFbEJRVWsxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVc1ZVRkJWVGRMTEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4TlFVRk5MRWRCUVVkclF5eEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHVkJRV1UzU3l4TFFVRkxhVVFzVVVGQlVWWXNVVUZCVVhaRExFdEJRVXRwUkN4UlFVRlJOa2dzVDBGQlR5eEhRVUZIT1Vzc1MwRkJTMmxFTEZGQlFWRTJTQ3hQUVVGUExGVkJRVlU1U3l4TFFVRkxhVVFzVVVGQlVUUklMR2RDUVVGblFqZExMRXRCUVV0cFJDeFJRVUZSVml4UFFVRlBMRlZCUVZWMlF5eExRVUZMYVVRc1VVRkJVWGxFTEU5QlFVOHhSeXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRmxCUVZrc1kwRkJZeXhMUVVGTE5Va3NTMEZCUzJsRUxGRkJRVkY1U0N4SlFVRkpMRWRCUVVjeFN5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWZDRTU3hGUVVGRkxFdEJRVXNzUjBGQlJ5eE5RVUZOTEV0QlFVdHdReXhMUVVGTGFVUXNVVUZCVVhsSUxFbEJRVWtzUjBGQlJ6RkxMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWM1pKTEVWQlFVVXNTMEZCU3l4SFFVRkhMRXRCUVV0eVF5eExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxFdEJRVXMxU1N4TFFVRkxhVVFzVVVGQlVYbElMRWRCUVVjc1VVRkJVU3hUUVVGVGNFUXNVMEZCVTNSSUxFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFJDeFJRVUZSZVVnc1MwRkJTM0JFTEZOQlFWTjBTQ3hMUVVGTGMwc3NWVUZCVlRGQ0xFbEJRVWtzVlVGQlZUVkpMRXRCUVV0cFJDeFJRVUZSTkVnc1pVRkJaU3haUVVGWk4wc3NTMEZCU3pKSkxGRkJRVkZ5Uml4VFFVRlRMSGRDUVVGM1FuUkVMRXRCUVV0cFJDeFJRVUZSWkN4WFFVRlhia01zUzBGQlN6UkNMRmRCUVZjMVFpeExRVUZMUXl4UlFVRlJaU3hUUVVGUkxFZEJRVWxvUWl4TFFVRkxLMHNzVTBGQlV5OUxMRXRCUVV0RExGRkJRVkZwUWl4UFFVRk5MRWRCUVVsc1FpeExRVUZMUXl4UlFVRlJiVVVzVjBGQlYzQkZMRXRCUVVzNFNTeGhRVUZoT1Vrc1MwRkJTMjFITEZkQlFWY3NaVUZCWlc1SExFdEJRVXRETEZGQlFWRm5SU3hqUVVGamFrVXNTMEZCU3l0S0xGVkJRVlV2U2l4TFFVRkxReXhSUVVGUldTeFJRVUZSWWl4TFFVRkxZU3hUUVVGVFlpeExRVUZMWjB3c1kwRkJZeXhYUVVGWGFFd3NTMEZCUzBNc1VVRkJVWE5GTEdOQlFXTXpSU3hGUVVGRkxFbEJRVWxKTEV0QlFVdEZMRWxCUVVrNFNDeEhRVUZITEdGQlFXRXNVMEZCVTJ4SkxFZEJRVWRGTEV0QlFVdHBUQ3hYUVVGVkxFZEJRVWszUlN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzBNc1VVRkJVWE5GTEdOQlFXTXpSU3hGUVVGRkxFbEJRVWxKTEV0QlFVdEZMRWxCUVVrNFNDeEhRVUZITEdGQlFXRXNVMEZCVTJ4SkxFZEJRVWRGTEV0QlFVdHBUQ3hYUVVGVkxFZEJRVWszUlN4TFFVRkxjRWNzVVVGQlVVRXNTMEZCUzBNc1VVRkJVWGxETEdkQ1FVRm5RakZETEV0QlFVdERMRkZCUVZFMFF5eGpRVUZqTjBNc1MwRkJTM2xETEU5QlFVOTZReXhMUVVGTGMwTXNWVUZCVlhSRExFdEJRVXRETEZGQlFWRXdReXhsUVVGbEwwTXNSVUZCUlRaR0xGRkJRVkYxUXl4SFFVRkhMR1ZCUVdWb1NTeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWRGTEV0QlFVdHRReXhaUVVGWmFVVXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdERMRkZCUVZGNVF5eG5Ra0ZCWjBJeFF5eExRVUZMUXl4UlFVRlJORU1zWVVGQllXcEVMRVZCUVVVMlJpeFJRVUZSZFVNc1IwRkJSeXhsUVVGbGFFa3NTMEZCUzBVc1IwRkJSeXhUUVVGVFNpeEhRVUZIUlN4TFFVRkxiVU1zV1VGQldXbEZMRXRCUVV0d1J5eFJRVUZSTEZOQlFWTkJMRXRCUVV0RExGRkJRVkZwUXl4UlFVRlJkRU1zUlVGQlJTeFJRVUZSYjBrc1IwRkJSeXhyUWtGQmEwSm9TU3hMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXR0UXl4VFFVRlRMRU5CUVVNclNTeFpRVUZaTEVOQlFVTTFSU3hKUVVGSmVFY3NSVUZCUlRCS0xFMUJRVTB2UXl4TFFVRkxNMGNzUlVGQlJYbEtMRlZCUVZWdVJDeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMyMU1MR05CUVdNc1YwRkJWMjVNTEV0QlFVdERMRkZCUVZFeVJDeFpRVUZaYUVVc1JVRkJSVzFITEZWQlFWVTRSQ3hKUVVGSkxHTkJRV00zU2l4TFFVRkxSU3hMUVVGSkxFbEJRVXRHTEV0QlFVdERMRkZCUVZFMFJDeGpRVUZqTEZGQlFWRTNSQ3hMUVVGTFF5eFJRVUZSTkVRc1kwRkJZMnBGTEVWQlFVVnRSeXhWUVVGVk9FUXNTVUZCU1N4alFVRmpOMG9zUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEpRVUZKUml4TFFVRkxReXhSUVVGUk1FTXNaVUZCWlM5RExFVkJRVVUyUml4UlFVRlJiMFVzU1VGQlNTeGxRVUZsTjBvc1MwRkJTMFVzUzBGQlMwWXNTMEZCUzBNc1VVRkJVWGxETEdkQ1FVRm5RakZETEV0QlFVdERMRkZCUVZFMFF5eGhRVUZoYWtRc1JVRkJSVFpHTEZGQlFWRnZSU3hKUVVGSkxHVkJRV1UzU2l4TFFVRkxSU3hKUVVGSkxGTkJRVk5HTEV0QlFVdERMRkZCUVZGcFF5eFJRVUZSZEVNc1JVRkJSU3hSUVVGUmFVc3NTVUZCU1N4clFrRkJhMEkzU2l4TFFVRkxSU3hMUVVGTFJpeExRVUZMYjB3c1lVRkJZU3hYUVVGWGNFd3NTMEZCUzNWRUxGVkJRVlYyUkN4TFFVRkxkVVFzVVVGQlVUTkVMRVZCUVVVc1dVRkJXVWtzUzBGQlMwVXNSMEZCUnl4bFFVRmxiMFFzVTBGQlV5eG5Ra0ZCWjBKMFJDeExRVUZMTWtZc1MwRkJTeXhwUWtGQmFVSXpSaXhMUVVGTE1rWXNTMEZCU3l4TFFVRkxhVVFzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hQUVVGUFF5eFJRVUZSTEVWQlFVVjZSeXhQUVVGUGVrUXNTMEZCUzBNc1VVRkJVWGRFTEU5QlFVOHNTVUZCU1U4c1UwRkJVMmhGTEV0QlFVdERMRkZCUVZFclJDeFZRVUZWYUVVc1MwRkJTME1zVVVGQlVYVkVMR05CUVdONFJDeExRVUZMZFVRc1VVRkJVVVFzVTBGQlUzUkVMRXRCUVV0RExGRkJRVkYxUkN4alFVRmpMRmRCUVZkNFJDeExRVUZMUXl4UlFVRlJPRVFzWTBGQllTeEpRVUZMTDBRc1MwRkJTME1zVVVGQlVUaEVMR0ZCUVdFdlJDeExRVUZMZFVRc1VVRkJVV2RJTEU5QlFVOTJTeXhMUVVGTEswUXNZVUZCWVN4WFFVRlhMMFFzUzBGQlMwTXNVVUZCVVRSRUxHTkJRV00zUkN4TFFVRkxkVVFzVVVGQlVYbEZMRWRCUVVjc1dVRkJXU3hYUVVGWGFFa3NTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRTlCUVU5S0xFVkJRVVVzU1VGQlNVa3NTMEZCUzBVc1IwRkJSeXc0UWtGQk9FSTJTQ3hUUVVGVEwwZ3NTMEZCUzBNc1VVRkJVVEpETEdWQlFXVXdSQ3hKUVVGSlRTeExRVUZMUXl4SlFVRkpha2dzUlVGQlJTeEpRVUZKU1N4TFFVRkxSU3hIUVVGSExEaENRVUU0UW0xSkxHTkJRV055U1N4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlRCRUxGRkJRVThzU1VGQlMzUkhMRXRCUVVzNFJ5eHZRa0ZCYjBJNVJ5eExRVUZMZFVRc1VVRkJVWEZHTEVsQlFVa3NVMEZCVTNSQ0xGTkJRVk4wU0N4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4VlFVRlZMRWxCUVVrc1IwRkJSeXhUUVVGVE5Va3NTMEZCUzNWRUxGRkJRVkZ4Uml4SlFVRkpMR0ZCUVdFMVNTeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMyNUVMRXRCUVV0MVJDeFJRVUZST0Vnc1VVRkJVWEpNTEV0QlFVdDFSQ3hSUVVGUkswZ3NVVUZCVVN4RFFVRkRjRUlzVVVGQlVTeEhRVUZITEVOQlFVTnhRaXhQUVVGTkxFVkJRVWRETEZOQlFWTjRUQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTM05KTEUxQlFVMHNWMEZCVjNwTUxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hYUVVGWE4wUXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFJRVUZSUXl4UlFVRlJMRTFCUVUxc1N5eExRVUZMTUV3c1lVRkJZU3hYUVVGWE1Vd3NTMEZCUzNWRUxGVkJRVlYyUkN4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzI1RUxFdEJRVXQxUkN4UlFVRlJPRWdzVVVGQlVYSk1MRXRCUVV0MVJDeFJRVUZSSzBnc1VVRkJVU3hEUVVGRGNFSXNVVUZCVVN4SFFVRkhMRU5CUVVOeFFpeFBRVUZOTEVWQlFVZERMRk5CUVZONFRDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMzZEpMRk5CUVZNc1YwRkJWek5NTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFZRVUZWTjBRc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFMUJRVTFzU3l4TFFVRkxORXdzYTBKQlFXdENMRmRCUVZjMVRDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeERRVUZEZEVNc1MwRkJTeXhKUVVGSlJ5eE5RVUZOTEVsQlFVbEdMRTFCUVUwc1QwRkJUME1zVDBGQlR5eFRRVUZUTEVsQlFVa3hSeXhGUVVGRkxFTkJRVU56UXl4RlFVRkZjRU1zUzBGQlN6SkpMRkZCUVZGRkxHRkJRV0Y0Unl4RlFVRkZja01zUzBGQlN6SkpMRkZCUVZGT0xHVkJRV1VzVDBGQlQzSkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOMFF5eEpRVUZKTEU5QlFVOUhMRXRCUVVzc1UwRkJVek5ITEVkQlFVZEZMRXRCUVVzMlRDeHpRa0ZCYzBJc1YwRkJWeXhIUVVGSExGVkJRVlZxVFN4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkZ0UkN4aFFVRmhjRVFzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlVzUTBGQlF6QkpMRTFCUVUwc1EwRkJRME1zUzBGQlN5eFJRVUZSTTBNc1RVRkJUU3hYUVVGWE5FTXNUMEZCVHl4RFFVRkRSQ3hMUVVGTExGTkJRVk16UXl4TlFVRk5MRlZCUVZVMlF5eFJRVUZSTEVOQlFVTkdMRXRCUVVzc1ZVRkJWVE5ETEUxQlFVMHNWMEZCVnpoRExFdEJRVXNzUTBGQlEwZ3NTMEZCU3l4UFFVRlBNME1zVFVGQlRTeFJRVUZSSzBNc1RVRkJUU3hEUVVGRFNpeExRVUZMTEZGQlFWRXpReXhOUVVGTkxGTkJRVk5uUkN4TFFVRkxMRU5CUVVOTUxFdEJRVXNzVDBGQlR6TkRMRTFCUVUwc1VVRkJVV2xFTEV0QlFVc3NRMEZCUTA0c1MwRkJTeXhQUVVGUE0wTXNUVUZCVFN4WlFVRlpjRW9zUzBGQlMwTXNVVUZCVVcxRUxHRkJRV0Z3UkN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlN4UFFVRlBMRXRCUVV0d1JDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRTlCUVU4dlRDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVVzdlRDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVV0c1J5eE5RVUZOTEUxQlFVMDNSaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV2RITEZGQlFWRndTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV2RITEUxQlFVMXdTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV2RITEUxQlFVMTJSQ3hOUVVGTkxFMUJRVTAzUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVld0S0xHTkJRV04wVFN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFdEJRVXNzU1VGQlNTeExRVUZMTDB3c1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFNpeGxRVUZsZGswc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOTEVsQlFVa3NTMEZCUzNCS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVk1ra3NUMEZCVHk5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVk1ra3NTMEZCU3k5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVk1ra3NTMEZCU3l4SlFVRkpMMHdzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4UlFVRlJjRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4TlFVRk5jRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4TlFVRk5MRWxCUVVsd1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRTlCUVU4dlRDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRTFCUVUwc1VVRkJVUzlNTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWWjBjc1VVRkJVWEJLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWWjBjc1QwRkJUeXhUUVVGVExFbEJRVWxLTEVWQlFVVXNRMEZCUXpoRExFMUJRVTBzUTBGQlEwNHNVMEZCVXl4SlFVRkpOVU1zU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4WlFVRlpMRU5CUVVNc1RVRkJUU3hqUVVGakxFTkJRVU1zVDBGQlR5eGpRVUZqTkVRc1YwRkJWeXhEUVVGRGFFSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWw1Uml4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExHTkJRV01zUTBGQlF5eFBRVUZQTEdOQlFXTTJSQ3haUVVGWkxFTkJRVU5xUWl4VFFVRlRlRXdzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzU1VGQlNYbEdMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzV1VGQldTeERRVUZETEU5QlFVOHNaMEpCUVdkQ09FUXNXVUZCV1N4RFFVRkRiRUlzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVsNVJpeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMR05CUVdNc1EwRkJReXhQUVVGUExHTkJRV01yUkN4aFFVRmhMRU5CUVVOdVFpeFRRVUZUZUV3c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1NVRkJTWGxHTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExFOUJRVThzWjBKQlFXZENaMFVzVTBGQlV5eERRVUZEY0VJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVa3dTaXhWUVVGVkxFTkJRVU4yUnl4SlFVRkpMRU5CUVVOM1J5eE5RVUZOTEVsQlFVbDJSeXhOUVVGTkxFTkJRVU4xUnl4TFFVRkxMRWxCUVVsMFJ5eFBRVUZQTEVOQlFVTnpSeXhMUVVGTExFbEJRVWx5Unl4TFFVRkxMRU5CUVVOeFJ5eE5RVUZOTEV0QlFVdHNSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEhOQ1FVRnpRaXhEUVVGRExFOUJRVThzZFVKQlFYVkNiVVVzVlVGQlZTeERRVUZEZGtJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVazJTaXhQUVVGUExGVkJRVlZJTEZWQlFWVXNRMEZCUTNaSExFbEJRVWtzUTBGQlF6SkhMRkZCUVZFc1NVRkJTVEZITEUxQlFVMHNRMEZCUXpCSExFOUJRVThzU1VGQlNYcEhMRTlCUVU4c1EwRkJRM2xITEU5QlFVOHNTVUZCU1hoSExFdEJRVXNzUTBGQlEzZEhMRkZCUVZFc1MwRkJTM0pGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNUMEZCVHl4M1FrRkJkMEp6UlN4VlFVRlZMRU5CUVVNeFFpeFRRVUZUTEVsQlFVbHhRaXhWUVVGVkxFTkJRVU4yUnl4SlFVRkpMRU5CUVVOM1J5eE5RVUZOTEV0QlFVdDJSeXhOUVVGTkxFTkJRVU4xUnl4TFFVRkxMRXRCUVV0MFJ5eFBRVUZQTEVOQlFVTnpSeXhMUVVGTExFdEJRVXR5Unl4TFFVRkxMRU5CUVVOeFJ5eE5RVUZOTEUxQlFVMXNSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEhOQ1FVRnpRaXhEUVVGRExFOUJRVThzZFVKQlFYVkNkVVVzVjBGQlZ5eERRVUZETTBJc1UwRkJVeXhKUVVGSmQwSXNUMEZCVHl4VlFVRlZTQ3hWUVVGVkxFTkJRVU4yUnl4SlFVRkpMRU5CUVVNeVJ5eFJRVUZSTEV0QlFVc3hSeXhOUVVGTkxFTkJRVU13Unl4UFFVRlBMRXRCUVV0NlJ5eFBRVUZQTEVOQlFVTjVSeXhQUVVGUExFdEJRVXQ0Unl4TFFVRkxMRU5CUVVOM1J5eFJRVUZSTEUxQlFVMXlSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEhGQ1FVRnhRaXhEUVVGRExFOUJRVThzZDBKQlFYZENkMFVzVTBGQlV5eERRVUZETlVJc1UwRkJVeXhKUVVGSk5VTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXh4UTBGQmNVTXNRMEZCUXl4TlFVRk5MSE5EUVVGelF5eERRVUZETEUxQlFVMHNjVU5CUVhGRExFTkJRVU1zVDBGQlR5eHpRMEZCYzBONVJTeFZRVUZWTEVOQlFVTTNRaXhUUVVGVGVFd3NTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNTVUZCU1hsR0xFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NiME5CUVc5RExFTkJRVU1zVDBGQlR5eDFRMEZCZFVONVJDeExRVUZMTEVOQlFVTmlMRk5CUVZNc1NVRkJTVFZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExGZEJRVmNzTkVKQlFUUkNMRU5CUVVNc2NVSkJRWEZDTERKQ1FVRXlRaXhEUVVGRExHZENRVUZuUWl3MFFrRkJORUlzUTBGQlF5eFBRVUZQTEhsQ1FVRjVRbWhLTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zVVVGQlVTeFJRVUZSTEZOQlFWTTNTQ3hGUVVGRlF5eEhRVUZIYVVvc1JVRkJSV3BLTEVWQlFVVXNVVUZCVVdsS0xFVkJRVVZxU2l4RlFVRkZMRk5CUVZOcFNpeEZRVUZGYWtvc1MwRkJTeXhKUVVGSmQwa3NSVUZCUlN4VFFVRlRRU3hGUVVGRlZDeEhRVUZITEVsQlFVbHBRaXhGUVVGRkxHMUNRVUZ0UWk5SkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFJpeEhRVUZITEVsQlFVbEJMRWRCUVVkVUxFVkJRVVVzU1VGQlNVRXNSVUZCUlN4SlFVRkpMRXRCUVVzc1QwRkJUMnhKTEVWQlFVVXJTQ3hMUVVGTGNVSXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1Vzc1NVRkJTU3hUUVVGVE9Va3NSVUZCUlVNc1IwRkJSeXhKUVVGSk1FZ3NSVUZCUlVzc1JVRkJSUzlJTEVWQlFVVXNSMEZCUjNkSUxGRkJRVkVzVFVGQlRYWklMRXRCUVV0cFNDeFBRVUZQWVN4SFFVRkhkMFlzWlVGQlpYWk9MRVZCUVVVc1IwRkJSMmxLTEVWQlFVVm9TaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVzFHTEVsQlFVbHpSU3haUVVGWmNFWXNSVUZCUlVFc1JVRkJSVVlzVVVGQlVTeExRVUZMZVVJc1JVRkJSV2hLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWYlVZc1NVRkJTWE5GTEZWQlFWVXZSU3hIUVVGSEwwZ3NSVUZCUlN4TlFVRk5aMG9zUjBGQlIyaEtMRVZCUVVVc1IwRkJSeXhsUVVGbE1FZ3NSVUZCUlN4TlFVRk5ja0lzUzBGQlMzQkhMRTlCUVU4clNTeEhRVUZITEVsQlFVbEJMRWRCUVVjc1UwRkJVeTlKTEV0QlFVdEZMRWRCUVVjc1kwRkJZMFlzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ0Uml4SFFVRkhMRWxCUVVsQkxFZEJRVWRVTEVWQlFVVXNTVUZCU1VFc1JVRkJSU3hKUVVGSkxFdEJRVXRwUWl4SFFVRkhMSFZDUVVGMVFrTXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1dsRUxGTkJRVk1zVFVGQlRYcERMRWRCUVVjc2QwSkJRWGRDTDBrc1MwRkJTMFVzUjBGQlJ5eGpRVUZqUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFZEJRVWNzU1VGQlNVRXNSMEZCUjFRc1JVRkJSU3hKUVVGSlFTeEZRVUZGTEVsQlFVa3NTVUZCU1dsQ0xFZEJRVWRETEVWQlFVVm9TaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVzFHTEVsQlFVbDVSU3hQUVVGUExEaENRVUU0UW1oRkxFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWw1UlN4UFFVRlBMRWxCUVVrc1IwRkJSMnBGTEVkQlFVY3NTMEZCU3pORExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGRVNHNZMEZCWXl4SFFVRkhNMDRzUlVGQlJTdElMRXRCUVVzc1EwRkJReXhQUVVGUExGTkJRVk1zVTBGQlV6ZElMRVZCUVVVeVNDeEhRVUZITEVsQlFVbDZTQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWWEZGTEV0QlFVdDFRaXhGUVVGRmFFb3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnhSU3hMUVVGTExGTkJRVk5CTEVsQlFVbDZTQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTeXhOUVVGTkxFZEJRVWMyUml4RlFVRkZhRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ4UlN4SlFVRkpiMFlzVlVGQlZXcE9MRVZCUVVVclNDeExRVUZMTEVOQlFVTXNUVUZCVFN4UlFVRlJMRk5CUVZNc1VVRkJVU3hUUVVGVE4wZ3NSVUZCUlVNc1IwRkJSME1zUzBGQlMzVk9MR1ZCUVdWb1JpeEZRVUZGWkN4RlFVRkZNVWdzU1VGQlNYRkhMRXRCUVV0d1J5eFBRVUZQUVN4TFFVRkxkVTRzWlVGQlpXaEdMRVZCUVVWa0xFbEJRVWx5UWl4TFFVRkxjRWNzVVVGQlVVRXNTMEZCUzBNc1VVRkJVVzFFTEZkQlFWZHdSQ3hMUVVGTE5rd3NkMEpCUVhkQ04wd3NTMEZCUzNkT0xHZENRVUZuUWl4WFFVRlhlRTRzUzBGQlMzbE9MR2RDUVVGbExFVkJRVWRETEZkQlFWY3NWMEZCVnpGT0xFdEJRVXQ1VGl4blFrRkJaU3hIUVVGSmNrZ3NTMEZCUzNCSExFMUJRVTBzUzBGQlMwRXNTMEZCU3pKT0xGTkJRVk1zVTBGQlV6ZE9MRWRCUVVjc1IwRkJSMEVzUlVGQlJVRXNTVUZCU1VVc1MwRkJTelJPTEU5QlFVOHNUMEZCVHl4VlFVRlZOVTRzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzVTBGQlUzSkVMRVZCUVVVc1QwRkJUeXhMUVVGTExFbEJRVWxETEVWQlFVVkRMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZkRVFzUlVGQlJTeGxRVUZsTEZWQlFWVkZMRXRCUVVzd1J5eE5RVUZOTVVjc1MwRkJTekJITEUxQlFVMHhSeXhMUVVGTFF5eFJRVUZSZFVNc1YwRkJWMG9zUjBGQlIzQkRMRXRCUVVzMlRpeFRRVUZUTjA0c1MwRkJTMmxJTEU5QlFVOXNTQ3hKUVVGSlF5eExRVUZMYVVnc1QwRkJUMnBJTEV0QlFVc3dSeXhUUVVGVE0wY3NSVUZCUlVNc1MwRkJTMmRJTEZGQlFWRnFTQ3hKUVVGSkxFbEJRVWt3U0N4RlFVRkZMRkZCUVZGNlNDeExRVUZMUlN4SFFVRkhMR05CUVdOR0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmRFUXNSMEZCUnl4SlFVRkpRU3hGUVVGRkxGTkJRVk5GTEV0QlFVdEZMRWRCUVVjc1kwRkJZMFlzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlYwUkN4SFFVRkhMRWxCUVVsQkxFVkJRVVVzU1VGQlNVTXNSVUZCUlVNc1MwRkJTekpKTEZGQlFWRnlSaXhUUVVGVGJVVXNSMEZCUnpGSUxFVkJRVVVzU1VGQlNTdE9MRmRCUVZjNVRpeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeDFRa0ZCZFVJc1UwRkJVemxKTEVsQlFVbERMRVZCUVVVMlJ5eExRVUZMYlVnc1NVRkJTV2hQTEVWQlFVVkRMRXRCUVV0RExGRkJRVkZyUkN4UFFVRlBkVXNzVjBGQlZ5eFhRVUZYTVU0c1MwRkJTekpKTEZGQlFWRnhSaXhaUVVGWmRrY3NTVUZCU1hKQ0xFdEJRVXR3Unl4TlFVRk5SQ3hKUVVGSlF5eExRVUZMYVU4c1owSkJRV2RDTEZkQlFWY3NTVUZCU1c1UExFVkJRVVZGTEV0QlFVc3lTU3hSUVVGUmRVWXNTMEZCU3l4VFFVRlRja2tzVFVGQlRTeExRVUZMYzBrc1QwRkJUeXhUUVVGVGNrOHNSMEZCUnl4UFFVRlBMRWxCUVVsQkxFVkJRVVZ6VHl4WlFVRlpMRkZCUVZGd1R5eExRVUZMUlN4SFFVRkhMR0ZCUVdFc1NVRkJTV3RITEV0QlFVdHdSeXhQUVVGUFFTeExRVUZMTWtrc1VVRkJVWFZHTEV0QlFVc3NVVUZCVVhCUExFVkJRVVZyUnl4TFFVRkxMRkZCUVZGb1J5eExRVUZMUXl4UlFVRlJVU3hwUWtGQmFVSlVMRXRCUVV0RExGRkJRVkZUTEcxQ1FVRnRRbVFzUlVGQlJUWkdMRkZCUVZGMVF5eEhRVUZITEhsQ1FVRjVRbWhKTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlIwVXNTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxiVU1zV1VGQldXbEZMRXRCUVV0d1J5eFBRVUZQTEZkQlFWZEtMRVZCUVVVclJpeExRVUZMTTBZc1MwRkJTME1zVVVGQlVYZEZMR2RDUVVGblFucEZMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhMRU5CUVVONlJTeExRVUZMUXl4UlFVRlJkMFVzWlVGQlpTeFhRVUZYTjBVc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSZVVVc1UwRkJVekZGTEV0QlFVdERMRkZCUVZGNVJTeE5RVUZOTEVOQlFVTnhTQ3hMUVVGTEwwd3NTMEZCUzBNc1VVRkJVWGxGTEZGQlFWRXNWMEZCVnpsRkxFVkJRVVVyUml4TFFVRkxNMFlzUzBGQlMwTXNVVUZCVVRCRkxGVkJRVlV6UlN4TFFVRkxReXhSUVVGUk1FVXNUMEZCVHl4RFFVRkRiMGdzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBlVVVzVFVGQlRYQktMRXRCUVV0RExGRkJRVkV3UlN4VlFVRlRMRWxCUVVzelJTeExRVUZMUXl4UlFVRlJkMFVzWTBGQlkzcEZMRXRCUVV0RExGRkJRVkY1UlN4UlFVRlJNVVVzUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0VzUjBGQlJ6ZEZMRVZCUVVVclNDeExRVUZMTTBnc1MwRkJTME1zVVVGQlVYbEZMRTFCUVUwc1UwRkJVelZGTEVWQlFVVkRMRWRCUVVkRExFdEJRVXRETEZGQlFWRjNSU3hoUVVGaE5Fb3NTMEZCUzNSUExFVkJRVVVzVVVGQlVVTXNTMEZCUzBNc1VVRkJVWGRGTEdGQlFXRTBTaXhMUVVGTGRFOHNSVUZCUlN4VFFVRlRjVWNzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXRETEZGQlFWRjNSU3hoUVVGaGMwUXNVVUZCVVc1SkxFVkJRVVVyU0N4TFFVRkxNMGdzUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0VzVTBGQlV6TkZMRVZCUVVWRExFZEJRVWNzU1VGQlNUQklMRVZCUVVVc1NVRkJTVFpITEUxQlFVMDNSeXhGUVVGRk9FY3NTVUZCU1hoUExFVkJRVVV3U0N4RlFVRkZLMGNzVVVGQlVTeFRRVUZUZUU4c1MwRkJTMjFITEZkQlFWY3NWVUZCVlc1SExFdEJRVXNzU1VGQlNVWXNSVUZCUlVNc1JVRkJSU3hQUVVGUFJpeEZRVUZGTkU4c1ZVRkJWVFZPTEU5QlFVOHNVMEZCVTJZc1JVRkJSWGxKTEVkQlFVY3NUMEZCVDNwSkxFVkJRVVZCTEVkQlFVZEZMRXRCUVV0RExGRkJRVkZaTEU5QlFVOHNWVUZCVldwQ0xFVkJRVVVyUml4TFFVRkxOMFlzUzBGQlMwRXNSVUZCUlVZc1JVRkJSVVVzU1VGQlNYbEpMRVZCUVVWQkxFZEJRVWQyU1N4TFFVRkxReXhSUVVGUllTeFJRVUZSYUVJc1IwRkJSMEVzUlVGQlJXbEpMRkZCUVZGdVNTeEZRVUZGSzBnc1MwRkJTemRJTEVWQlFVVXNVMEZCVTBFc1JVRkJSVEpJTEVsQlFVbEJMRVZCUVVVM1NDeEZRVUZGTmtnc1NVRkJTV3BITEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzBVc1RVRkJUU3hUUVVGVFJpeExRVUZMUXl4UlFVRlJaMElzV1VGQldTeE5RVUZOZDBjc1JVRkJSWGxITEV0QlFVc3NWVUZCVlhwSExFVkJRVVZxUnl4TFFVRkxMR3RDUVVGclFtbEhMRVZCUVVWNVJ5eExRVUZMTEZWQlFWVlJMRmRCUVZjc1UwRkJVekZQTEV0QlFVc3lUeXh0UWtGQmJVSXpUeXhMUVVGTE1rOHNhVUpCUVdsQ0xFbEJRVWt6VHl4TFFVRkxNazhzYVVKQlFXbENUaXhMUVVGTE5VY3NSVUZCUlN4SlFVRkpRU3hGUVVGRlR5eEhRVUZIVHl4RlFVRkZMR2RDUVVGblFuWkpMRXRCUVV0RkxFZEJRVWNzVTBGQlUwb3NSMEZCUnl4SlFVRkpReXhGUVVGRlF5eExRVUZMTkU4c1QwRkJUME1zWVVGQllUZFBMRXRCUVVzMFR5eFBRVUZQTEdOQlFXTnlSeXhIUVVGSGRra3NTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxiVXNzVDBGQlR5eEpRVUZKTVVNc1JVRkJSU3hMUVVGTGVrZ3NTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0dFN5eFBRVUZQTEVsQlFVa3hReXhGUVVGRkxFdEJRVXN4U0N4SFFVRkZMRWRCUVVsRExFdEJRVXR0U3l4UFFVRlBNVU1zUlVGQlJYcElMRXRCUVV0RExGRkJRVkZwUXl4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5MVJpeEhRVUZITEZOQlFWTmpMRWRCUVVkMlNTeExRVUZMUXl4UlFVRlJZeXhuUWtGQlowSnFRaXhGUVVGRmFVSXNhVUpCUVdsQ1ppeExRVUZMTEZOQlFWTjFTU3hIUVVGSGVFa3NSVUZCUlN4UFFVRlBMR05CUVdOeFJ5eExRVUZMY0Vjc1QwRkJUeXhqUVVGalFTeExRVUZMUXl4UlFVRlJZU3hUUVVGVE1rY3NSVUZCUlU4c1IwRkJSeXhoUVVGaExGTkJRVk5zU1N4SFFVRkhMRWxCUVVsRkxFdEJRVXN5U1N4UlFVRlJMRTlCUVU4c1MwRkJTek5KTEV0QlFVdERMRkZCUVZFMlJDeHZRa0ZCYjBKb1JTeEZRVUZGYzBzc1pVRkJaWEJMTEV0QlFVc3lTU3hSUVVGUkxFbEJRVWt2U1N4RlFVRkZSU3hGUVVGRmMwc3NaVUZCWldwQ0xGRkJRVkVzU1VGQlNXNUtMRXRCUVV0RkxFbEJRVWsyU0N4VFFVRlRMMGdzUzBGQlMyOUtMRk5CUVZOb1JDeExRVUZMY0Vjc1QwRkJUM2xJTEVWQlFVVnFSeXhMUVVGTExHbENRVUZwUW5oQ0xFdEJRVXRGTEVkQlFVZHhTU3hIUVVGSGRra3NTMEZCUzIxSExGZEJRVmNzVjBGQlYzTkNMRXRCUVV0eVFpeExRVUZMY0Vjc1QwRkJUMEVzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZMTEU5QlFVOHNVMEZCVTJoUUxFZEJRVWNzVDBGQlQwRXNSVUZCUlVFc1IwRkJTVVVzUzBGQlN6SlBMR3RDUVVGclFpeExRVUZOTjA4c1JVRkJSV2xKTEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3pkSUxFVkJRVVVzVTBGQlUwRXNSVUZCUlVNc1NVRkJTVUVzUlVGQlJVZ3NSVUZCUlVjc1NVRkJTWGxDTEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzBVc1RVRkJUVWdzUlVGQlJUaEtMRWxCUVVrNVNpeEZRVUZGZVVJc1MwRkJTeXhwUWtGQmFVSjRRaXhMUVVGTFJTeEpRVUZKTEdkQ1FVRm5Ra1lzUzBGQlMwVXNTVUZCU1Vnc1JVRkJSWGxDTEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzBVc1IwRkJSeXhQUVVGUFJpeExRVUZMTWs4c2FVSkJRV2xDTDA4c1JVRkJSVzFRTEV0QlFVc3ZUeXhMUVVGTE1rOHNhVUpCUVdsQ0xGTkJRVk0zVHl4SFFVRkhMRTlCUVU5QkxFZEJRVWRETEVWQlFVVXNUVUZCVFhGSExFdEJRVXR3Unl4UFFVRlBRU3hOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWVEZFTEZOQlFWTXNVMEZCVTJwTUxFVkJRVVZETEVkQlFVY3NSMEZCUnl4TlFVRk5SQ3hIUVVGSExFMUJRVTFCTEVWQlFVVXNUMEZCVDBVc1MwRkJTMEVzUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMSzBvc1ZVRkJWU3hKUVVGSmRFTXNSVUZCUlhwSUxFdEJRVXN5U1N4UlFVRlJUaXhqUVVGalJTeEZRVUZGZGtrc1MwRkJTekpKTEZGQlFWRkZMR0ZCUVdFc1QwRkJUemRKTEV0QlFVdHJRaXhSUVVGUmJFSXNTMEZCUzNsSkxHVkJRV1UzU1N4RlFVRkZMRFpDUVVFMlFra3NTMEZCUzJ0Q0xFMUJRVTEwUWl4RlFVRkZMRlZCUVZWdlJTeFRRVUZUYUVVc1MwRkJTM2xKTEdkQ1FVRm5RaXhUUVVGVGVra3NTMEZCUzBNc1VVRkJVVGhFTEdWQlFXTXNTVUZCU3k5RUxFdEJRVXRETEZGQlFWRTRSQ3hoUVVGaEwwUXNTMEZCUzBNc1VVRkJVWE5FTEZkQlFWZDJSQ3hMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zTUVKQlFUQkNkRVFzUzBGQlN5dEVMRmxCUVZsRExGTkJRVk5vUlN4TFFVRkxlVWtzYVVKQlFXbENla2tzUzBGQlMzbEpMR1ZCUVdWMVJ5eGhRVUZoYUZBc1MwRkJTMmRDTEZOQlFWTm9RaXhMUVVGTGQwa3NhMEpCUVd0Q2VFa3NTMEZCU3pKSkxGRkJRVkUzU1N4RlFVRkZMRmRCUVZjc1pVRkJaU3hwUWtGQmFVSkZMRXRCUVV0clFpeE5RVUZOSzA0c1MwRkJTMjVRTEVkQlFVZDVTU3hIUVVGSGRra3NTMEZCU3pKSkxGRkJRVkZGTEdOQlFXTTNTU3hMUVVGTGQwa3NhVUpCUVdsQ2VFa3NTMEZCUzBNc1VVRkJVVzFGTEZkQlFWZHdSU3hMUVVGTE9Fa3NZVUZCWVM5SkxFbEJRVWxETEV0QlFVdERMRkZCUVZFNFF5eHhRa0ZCY1VJd1JTeEhRVUZIZWtnc1MwRkJTekpKTEZGQlFWRk9MR1ZCUVdWRkxFZEJRVWQyU1N4TFFVRkxNa2tzVVVGQlVVVXNZMEZCWXpkSkxFdEJRVXR0UXl4WFFVRlhia01zVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlUzVFN4WFFVRlhMRk5CUVZNNVFpeEZRVUZGUXl4SFFVRkhMRWRCUVVjc1RVRkJUVVFzUjBGQlJ5eE5RVUZOUVN4RlFVRkZMRTlCUVU5RkxFdEJRVXRCTEV0QlFVc3lTU3hUUVVGVE0wa3NTMEZCU3l0S0xGVkJRVlVzU1VGQlNYUkRMRVZCUVVWNlNDeExRVUZMTWtrc1VVRkJVVTRzWTBGQlkwVXNSVUZCUlhaSkxFdEJRVXN5U1N4UlFVRlJSU3hoUVVGaExFOUJRVTgzU1N4TFFVRkxaMElzVVVGQlVXdFBMRk5CUVZNc1owTkJRV2REYkV3c1UwRkJVeXhSUVVGUk5FVXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFRRVUZUY2tzc1JVRkJSU3RHTEV0QlFVczNSaXhKUVVGSkxFbEJRVWtzVTBGQlUwVXNTMEZCUzJkQ0xGRkJRVkZwVHl4TFFVRkxibEFzUjBGQlJ5eE5RVUZOTEVsQlFVa3NVMEZCVTBFc1NVRkJTVUVzWVVGQllVWXNSMEZCUjBVc1JVRkJSWEZRTEZsQlFWbFdMRlZCUVZWWExGTkJRVk53VUN4TFFVRkxaMElzVVVGQlVXbFBMRXRCUVVzc1NVRkJTVzVRTEVWQlFVVnZUeXhMUVVGTExEWkNRVUUyUWl4SFFVRkhiRXNzVTBGQlUyaEZMRXRCUVV0blFpeFRRVUZUTkVnc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4WFFVRlhha3NzUzBGQlMyZENMRkZCUVZGcFR5eExRVUZMU1N4TFFVRkxReXhWUVVGVmVGQXNTVUZCU1N4UFFVRlBlVWtzUjBGQlIzWkpMRXRCUVVzeVNTeFJRVUZSUlN4alFVRmpOMGtzUzBGQlMzZEpMR2xDUVVGcFFuaEpMRXRCUVV0RExGRkJRVkZ0UlN4WFFVRlhjRVVzUzBGQlN6aEpMR0ZCUVdFdlNTeEpRVUZKUXl4TFFVRkxReXhSUVVGUk9FTXNjVUpCUVhGQ01FVXNSMEZCUjNwSUxFdEJRVXN5U1N4UlFVRlJUaXhsUVVGbFJTeEhRVUZIZGtrc1MwRkJTekpKTEZGQlFWRkZMR05CUVdNM1NTeExRVUZMYlVNc1YwRkJWMjVETEUxQlFVMUlMRVZCUVVVMFR5eFZRVUZWWXl4alFVRmpMRk5CUVZONlVDeEZRVUZGUXl4RlFVRkZNRWdzUjBGQlIzcElMRXRCUVVzeVNTeFRRVUZUTTBrc1MwRkJTeXRLTEZWQlFWVXNUVUZCVFdoTExFbEJRVWxCTEVWQlFVVXNVVUZCVVVNc1MwRkJTMmRDTEZGQlFWRTBTQ3hKUVVGSk9Va3NSVUZCUlVVc1MwRkJTMjlJTEZGQlFWRnlTQ3hKUVVGSkxGTkJRVk5FTEVkQlFVZEZMRXRCUVV0M1NTeHBRa0ZCYVVKNFNTeExRVUZMUXl4UlFVRlJTQ3hIUVVGSFF5eEZRVUZGTEUxQlFVMHdTQ3hKUVVGSlFTeEhRVUZIZWtnc1MwRkJTMjFETEZsQlFWbDBReXhGUVVGRk5FOHNWVUZCVldVc1UwRkJVeXhUUVVGVE1WQXNSVUZCUlVNc1IwRkJSME1zUzBGQlMzVlFMR05CUVdNc1VVRkJVWHBRTEVWQlFVVkRMRWxCUVVsR0xFVkJRVVUwVHl4VlFVRlZaMElzVlVGQlZTeFRRVUZUTTFBc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzNWUUxHTkJRV01zVTBGQlUzcFFMRVZCUVVWRExFbEJRVWxHTEVWQlFVVTBUeXhWUVVGVmRFMHNVMEZCVXl4VFFVRlRjMFlzUjBGQlJ5eEhRVUZIUVN4RlFVRkZRU3hIUVVGSExFZEJRVWRCTEVWQlFVVTNTQ3hGUVVGRk9FWXNVVUZCVHl4RlFVRkhNVVlzUzBGQlMwTXNVVUZCVVhkSUxFZEJRVWQ2U0N4TFFVRkxhME1zVDBGQlQzVkdMRVZCUVVWMlJpeFJRVUZSYkVNc1MwRkJTMnRETEZGQlFWRjBReXhGUVVGRk5rWXNVVUZCVVhwR0xFdEJRVXRyUXl4clFrRkJhMEowUXl4SFFVRkhMRk5CUVZOSkxFdEJRVXRyUXl4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5MFF5eEZRVUZGU1N4TFFVRkxhME1zVlVGQlZXeERMRXRCUVV0clF5eFBRVUZQTmtZc1QwRkJUeXhQUVVGUEwwZ3NTMEZCUzBFc1MwRkJTMmRDTEZGQlFWRTBTQ3hKUVVGSkxFTkJRVU42U1N4TlFVRk5TQ3hMUVVGTGIwZ3NVVUZCVVVzc1JVRkJSWFJJTEUxQlFVMHNVMEZCVTBNc1QwRkJUMG9zUzBGQlMyOUlMRkZCUVZGTExFVkJRVVZ5U0N4UFFVRlBMRlZCUVZWRExGTkJRVk5NTEV0QlFVdHZTQ3hSUVVGUlN5eEZRVUZGY0Vnc1UwRkJVeXhUUVVGVFF5eFZRVUZWVGl4TFFVRkxiMGdzVVVGQlVVc3NSVUZCUlc1SUxGVkJRVlVzVlVGQlZVTXNVMEZCVTFBc1MwRkJTMjlJTEZGQlFWRkxMRVZCUVVWc1NDeFRRVUZUTEZOQlFWTkRMRlZCUVZWU0xFdEJRVXR2U0N4UlFVRlJTeXhGUVVGRmFrZ3NWVUZCVlN4WlFVRlpVaXhMUVVGTGQwa3NhVUpCUVdsQ0xFbEJRVWxFTEVWQlFVVjJTU3hMUVVGTE5Fd3NiMEpCUVc5Q0xGTkJRVk0xVEN4TFFVRkxhME1zVVVGQlVXeERMRXRCUVV0clF5eFBRVUZQVml4TFFVRkxMRkZCUVZGNFFpeExRVUZMUlN4SFFVRkhMRmRCUVZkR0xFdEJRVXRyUXl4UFFVRlBWaXhMUVVGTExGRkJRVkY0UWl4TFFVRkxSU3hIUVVGSExGTkJRVk5HTEV0QlFVdHJReXhQUVVGUExFbEJRVWwwUXl4RlFVRkZOa1lzVVVGQlVTeExRVUZMTEZOQlFWTjZSaXhMUVVGTGEwTXNUMEZCVHpCSExFbEJRVWtzWVVGQllTeEZRVUZGTlVrc1MwRkJTMnRETEU5QlFVOXBTQ3hWUVVGVlowWXNUMEZCVHl4WFFVRlhMRTFCUVUwc1UwRkJVM1pQTEVWQlFVVkpMRTFCUVUwMFNTeEpRVUZKTEdOQlFXTmlMRkZCUVZFc1VVRkJVU3hWUVVGVkxFbEJRVWxxU1N4RlFVRkZMRU5CUVVOelF5eEZRVUZGZUVNc1JVRkJSVFpHTEZGQlFWRnZSQ3hoUVVGaGVFY3NSVUZCUlhwRExFVkJRVVUyUml4UlFVRlJORU1zWTBGQll5OUNMRWxCUVVsdFFpeEZRVUZGYUVZc1QwRkJUM3BETEV0QlFVdHJReXhQUVVGUFZpeExRVUZMTEZGQlFWRjRRaXhMUVVGTFJTeEhRVUZITEZWQlFWVXNSVUZCUlU0c1JVRkJSVFpHTEZGQlFWRXlReXhaUVVGWk0wSXNTMEZCUzJkQ0xFVkJRVVZvUml4UFFVRlBla01zUzBGQlMydERMRTlCUVU5V0xFdEJRVXNzVVVGQlVYaENMRXRCUVV0RkxFZEJRVWNzVlVGQlZTeEZRVUZGVGl4RlFVRkZOa1lzVVVGQlVYRkZMR05CUVdOb1N5eEZRVUZGTUVjc1QwRkJUekZITEVWQlFVVjNSeXhKUVVGSmVFY3NSVUZCUlhWRExFVkJRVVYyUXl4RlFVRkZlVWNzVFVGQlRYcEhMRVZCUVVVeVJ5eExRVUZMTTBjc1JVRkJSWE5ETEVWQlFVVXNTVUZCU1N4SlFVRkpja01zUlVGQlJVTXNTMEZCUzJ0RExFOUJRVTlMTEZOQlFWTXNUVUZCVFhwRExFZEJRVWRETEVWQlFVVXNRMEZCUTNWSExFbEJRVWtzUlVGQlJVY3NTMEZCU3l4SFFVRkhMRk5CUVZONlJ5eExRVUZMYTBNc1VVRkJVU3hUUVVGVGJFTXNTMEZCUzJ0RExFOUJRVTlXTEV0QlFVc3NVVUZCVVhoQ0xFdEJRVXRGTEVkQlFVY3NWMEZCVjNWSUxFVkJRVVZvUml4UlFVRlJNVU1zUlVGQlJYVkhMRWxCUVVsMlJ5eEZRVUZGZFVjc1NVRkJTVEZITEVWQlFVVTJSaXhSUVVGUk1rTXNXVUZCV1hKSkxFVkJRVVV3Unl4TFFVRkxNVWNzUlVGQlJUQkhMRXRCUVVzM1J5eEZRVUZGTmtZc1VVRkJVWEZGTEdOQlFXTXNTVUZCU1doRExFVkJRVVVzUTBGQlF6RkdMRVZCUVVVc1UwRkJVM0JETEV0QlFVdHJReXhQUVVGUExFZEJRVWRzUXl4TFFVRkxhME1zVDBGQlR6SkhMR0ZCUVdGNFJ5eEZRVUZGTEZOQlFWTnlReXhMUVVGTGEwTXNUMEZCVHl4SFFVRkhiRU1zUzBGQlMydERMRTlCUVU5dFJ5eGpRVUZqTDBJc1NVRkJTU3hUUVVGVGRFY3NTMEZCUzJ0RExGRkJRVkYxUml4RlFVRkZlVVFzV1VGQldYcEVMRVZCUVVWNVJDeFpRVUZaTlVVc1NVRkJTWFpITEVWQlFVVkJMRVZCUVVWMVJ5eEpRVUZKTEVWQlFVVkhMRXRCUVVzc1UwRkJVM3BITEV0QlFVdHJReXhSUVVGUmRVWXNSVUZCUlhsRUxGbEJRVmw2UkN4RlFVRkZlVVFzV1VGQldYcEZMRXRCUVVzeFJ5eEZRVUZGUVN4RlFVRkZNRWNzUzBGQlN5eEhRVUZIYzBNc1JVRkJSWFJDTEVWQlFVVnVSaXhYUVVGWExGVkJRVlZ0Uml4RlFVRkZkRVlzVTBGQlUwTXNSMEZCUnl4VlFVRlZjVVlzUlVGQlJYUkdMRk5CUVZORkxFZEJRVWN5Unl4RlFVRkZMRU5CUVVNMVJ5eEZRVUZGZEVNc1JVRkJSWE5ETEVWQlFVVnhSaXhGUVVGRk4wVXNaVUZCWlRaRUxFdEJRVXRuUWl4RlFVRkZOMFVzWlVGQlpUSkVMRTFCUVUxc1JTeEZRVUZGZGtNc1JVRkJSWFZETEVWQlFVVnZSaXhGUVVGRk4wVXNaVUZCWlRCRUxFbEJRVWx0UWl4RlFVRkZOMFVzWlVGQlpUUkVMRTlCUVU5RExFdEJRVXR6UXl4RlFVRkZha0lzUlVGQlJYSkNMRXRCUVVzM1J5eEZRVUZGTmtZc1VVRkJVWEZGTEdGQlFXRnlReXhGUVVGRk4wVXNaVUZCWlRaRUxFdEJRVXNzUlVGQlJVWXNUVUZCVFhkRExFVkJRVVZxU2l4RlFVRkZjME1zUlVGQlJUQkdMRVZCUVVWeVFpeExRVUZMTjBjc1JVRkJSVFpHTEZGQlFWRnhSU3hoUVVGaGFFTXNSVUZCUlRGR0xFVkJRVVZ4Uml4RlFVRkZOMFVzWlVGQlpUSkVMRTFCUVUwc1JVRkJSVVFzU1VGQlNYbERMRVZCUVVWcVFpeEZRVUZGZUVJc1NVRkJTVEZITEVWQlFVVTJSaXhSUVVGUk1rTXNXVUZCV1hCSkxFdEJRVXRETEZGQlFWRXlReXhsUVVGbE1FUXNTVUZCU1N4RlFVRkZSU3hQUVVGUGRVTXNSVUZCUldwS0xFVkJRVVYxUXl4RlFVRkZlVVlzUlVGQlJYaENMRWxCUVVreFJ5eEZRVUZGTmtZc1VVRkJVVEpETEZsQlFWbE9MRVZCUVVWNlJpeEZRVUZGYjBZc1JVRkJSVGRGTEdWQlFXVTBSQ3hQUVVGUExFZEJRVWN6Unl4RlFVRkZMRU5CUVVOMVF5eEZRVUZGTEV0QlFVdHhSaXhGUVVGRmJrWXNVMEZCVXl4TlFVRk5iVVlzUlVGQlJXNUdMRk5CUVZNc1ZVRkJWVEZETEVWQlFVVXJSaXhMUVVGTE9FSXNSVUZCUlhSR0xGTkJRVk5ETEVkQlFVY3NTMEZCUzNGR0xFVkJRVVYwUml4VFFVRlRReXhGUVVGRlF5eEZRVUZGTEV0QlFVdHZSaXhGUVVGRmJrWXNVMEZCVXl4TlFVRk5iVVlzUlVGQlJXNUdMRk5CUVZNc1ZVRkJWVEZETEVWQlFVVXJSaXhMUVVGTE9FSXNSVUZCUlhSR0xGTkJRVk5GTEVkQlFVY3NTMEZCUzI5R0xFVkJRVVYwUml4VFFVRlRSU3hIUVVGSGNVNHNSVUZCUlN4RFFVRkRkRTRzUjBGQlJTeEZRVUZIUXl4SFFVRkZMRWRCUVVsNFF5eEZRVUZGZFVNc1IwRkJSMjFITEVWQlFVVnVSeXhGUVVGRk5FY3NSVUZCUlc1S0xFVkJRVVYxUXl4SlFVRkpORWNzUlVGQlJXaEtMRXRCUVV0blNDeFJRVUZSYmtnc1JVRkJSWFZETEVsQlFVazBSeXhGUVVGRmJrb3NSVUZCUlhWRExFdEJRVXQyUXl4RlFVRkZkVU1zUlVGQlJYQkRMRXRCUVV0blNDeFJRVUZSYmtnc1JVRkJSWFZETEUxQlFVMXpUaXhGUVVGRmRFNHNSMEZCUlN4SFFVRkpka01zUlVGQlJYZERMRWRCUVVkclJ5eEZRVUZGYkVjc1JVRkJSVEpITEVWQlFVVnVTaXhGUVVGRmQwTXNTVUZCU1RKSExFVkJRVVZvU2l4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eEpRVUZKTWtjc1JVRkJSVzVLTEVWQlFVVjNReXhMUVVGTGVFTXNSVUZCUlhkRExFVkJRVVZ5UXl4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eE5RVUZOY1U0c1JVRkJSWEpPTEVkQlFVVXNTVUZCUzI5R0xFVkJRVVZvU0N4cFFrRkJhVUpuU0N4RlFVRkZMMGNzYjBKQlFXOUNhVkFzUlVGQlJTeFhRVUZYTEVsQlFVazNVQ3hGUVVGRk1rZ3NSVUZCUldoSUxHbENRVUZwUWpoSUxFVkJRVVZ1Unl4RlFVRkZORWNzUlVGQlJXNUtMRVZCUVVWMVF5eEhRVUZITEU5QlFVOTBReXhGUVVGRmEwb3NSVUZCUlc1S0xFVkJRVVYxUXl4SFFVRkhMRTFCUVUxd1F5eExRVUZMYVVRc1UwRkJVemhHTEVkQlFVY3NTMEZCUzNSQ0xFVkJRVVZ1Uml4UlFVRlJkRU1zUzBGQlMybEVMRkZCUVZFeVNDeFhRVUZYZUVrc1JVRkJSU3hIUVVGSGEwWXNVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeHpRa0ZCYzBKMFFpeFRRVUZUZEVnc1MwRkJTM05MTEZWQlFWVXhRaXhKUVVGSkxIVkNRVUYxUWpWSkxFdEJRVXRuUWl4UlFVRlJORWdzU1VGQlNTeERRVUZEZWtrc1RVRkJUVXdzUlVGQlJVVXNTMEZCUzBNc1VVRkJVVlVzYlVKQlFXMUNZaXhGUVVGRkxFdEJRVXRQTEZOQlFWTlFMRVZCUVVWM1NDeFRRVUZUZEVnc1MwRkJTMmRDTEZGQlFWRTBTQ3hKUVVGSkxHRkJRV0VzUlVGQlJTeFBRVUZQTlVrc1MwRkJTM2RKTEd0Q1FVRnJRa1FzUlVGQlJYWkpMRXRCUVVzMFRDeHhRa0ZCY1VKNFJpeExRVUZMY0Vjc1RVRkJUWGxJTEVWQlFVVm9TQ3hwUWtGQmFVSnJVQ3hKUVVGSmJFa3NSVUZCUldoSUxHdENRVUZyUW1sUUxFVkJRVVZ5VGl4SFFVRkhlRU1zUlVGQlJYZERMRWRCUVVkclJ5eEZRVUZGYkVjc1JVRkJSVEpITEVWQlFVVnVTaXhGUVVGRmQwTXNTVUZCU1RKSExFVkJRVVZvU2l4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eEpRVUZKTWtjc1JVRkJSVzVLTEVWQlFVVjNReXhMUVVGTGVFTXNSVUZCUlhkRExFVkJRVVZ5UXl4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eE5RVUZOY1U0c1JVRkJSWEpPTEVkQlFVVXNSMEZCU1VRc1JVRkJSU3hYUVVGWExFbEJRVWwwUXl4RlFVRkZNa2dzUlVGQlJTOUhMR3RDUVVGclFqWklMRVZCUVVWc1J5eEZRVUZGTWtjc1JVRkJSVzVLTEVWQlFVVjNReXhIUVVGSExFOUJRVTkyUXl4RlFVRkZMRmRCUVZjc1QwRkJUMFVzUzBGQlMzbEpMR2RDUVVGblFucEpMRXRCUVV0dlFpeFJRVUZSTEZGQlFWRndRaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3haUVVGWk5Va3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVa3NWVUZCVlN4VFFVRlRPVWtzUjBGQlIwVXNTMEZCUzNsSkxHVkJRV1Y2U1N4TFFVRkxlVWtzWlVGQlpVb3NZMEZCWXl4SlFVRkpja2tzUzBGQlMyOUNMRTlCUVU5d1FpeExRVUZMYjBJc1QwRkJUMmxJTEdOQlFXTXNSMEZCUjNKSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzVTBGQlV6bEpMRWRCUVVkRkxFdEJRVXQ1U1N4bFFVRmxla2tzUzBGQlMzbEpMR1ZCUVdWS0xHTkJRV01zU1VGQlNYSkpMRXRCUVV0dlFpeFBRVUZQY0VJc1MwRkJTMjlDTEU5QlFVOXBTQ3hqUVVGakxFZEJRVWQyU1N4SFFVRkhMRWRCUVVjc1JVRkJSU3hKUVVGSlFTeEhRVUZIYzBjc1MwRkJTM0JITEUxQlFVMUdMRVZCUVVWclNpeEZRVUZGYmtvc1JVRkJSWGRETEVkQlFVY3NUVUZCVFhKRExFdEJRVXRwUkN4VFFVRlRPRVlzUjBGQlJ5eExRVUZMZEVJc1JVRkJSVzVHTEZGQlFWRjBReXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmQyU1N4RlFVRkZMRWRCUVVkMlF5eEpRVUZKZDBnc1UwRkJVM1JJTEV0QlFVdHpTeXhWUVVGVk1VSXNTVUZCU1N4eFFrRkJjVUowUWl4VFFVRlRkRWdzUzBGQlMzTkxMRlZCUVZVeFFpeEpRVUZKTEhkQ1FVRjNRalZKTEV0QlFVdG5RaXhSUVVGUk5FZ3NTVUZCU1N4RFFVRkRlRWtzVDBGQlQwNHNSVUZCUlVVc1MwRkJTME1zVVVGQlVWY3NiMEpCUVc5Q1pDeEZRVUZGTEU5QlFVOUZMRXRCUVV0M1NTeHJRa0ZCYTBKRUxFVkJRVVYyU1N4TFFVRkxORXdzY1VKQlFYRkNlRVlzUzBGQlMzQkhMRTFCUVUxNVNDeEZRVUZGTDBjc2EwSkJRV3RDTUVJc1NVRkJTWEZHTEVWQlFVVXZSeXh0UWtGQmJVSm5VQ3hGUVVGRmRFNHNSMEZCUjNaRExFVkJRVVYxUXl4SFFVRkhiVWNzUlVGQlJXNUhMRVZCUVVVMFJ5eEZRVUZGYmtvc1JVRkJSWFZETEVsQlFVazBSeXhGUVVGRmFFb3NTMEZCUzJkSUxGRkJRVkZ1U0N4RlFVRkZkVU1zU1VGQlNUUkhMRVZCUVVWdVNpeEZRVUZGZFVNc1MwRkJTM1pETEVWQlFVVjFReXhGUVVGRmNFTXNTMEZCUzJkSUxGRkJRVkZ1U0N4RlFVRkZkVU1zVFVGQlRYTk9MRVZCUVVWMFRpeEhRVUZGTEVkQlFVbHhSaXhGUVVGRkwwVXNaMEpCUVdkQ0xGRkJRVkVyUlN4RlFVRkZMMFVzYVVKQlFXbENaMDRzUlVGQlJYUk9MRWRCUVVkMVRpeEpRVUZKUkN4RlFVRkZjazRzUjBGQlIwUXNUVUZCVFN4SlFVRkpkMDRzUlVGQlJTeEhRVUZIUXl4RlFVRkZMRk5CUVZNdlVDeEhRVUZITEVkQlFVY3NWVUZCVlVZc1JVRkJSU3RHTEV0QlFVczRRaXhGUVVGRmRFWXNVMEZCVTNKRExFbEJRVWtzUTBGQlF5eEpRVUZKUXl4RlFVRkZNRWdzUlVGQlJXcEdMRmRCUVZjeFF5eEhRVUZITEV0QlFVdEJMRVZCUVVVc1QwRkJUeXhOUVVGTkxFZEJRVWM0VUN4RlFVRkZOMUFzUjBGQlJ5dElMRVZCUVVVdlNDeEhRVUZITEZWQlFWVXdTQ3hGUVVGRmRFWXNVMEZCVTNKRExFZEJRVWNzVDBGQlR6aFFMRVZCUVVVM1VDeEpRVUZKTmtjc1MwRkJTMnRLTEUxQlFVMW9TU3hGUVVGRmFFa3NSMEZCUjNsSkxFVkJRVVY2U1N4SlFVRkpMRkZCUVZFc1UwRkJVMFVzUzBGQlMydERMRkZCUVZGc1F5eExRVUZMYTBNc1QwRkJUeXhKUVVGSmJFTXNTMEZCUzJ0RExFOUJRVThzU1VGQlNYUkRMRVZCUVVVMlJpeFJRVUZSTEV0QlFVdHRTeXhGUVVGRk4xQXNTVUZCU1N4SlFVRkpNRWdzUlVGQlJUZEZMR1ZCUVdVM1F5eEhRVUZITUVnc1JVRkJSVGRGTEdWQlFXVTFReXhMUVVGTFowZ3NVVUZCVVdwSUxFOUJRVTlCTEVkQlFVY3dTQ3hGUVVGRmRFWXNVMEZCVTNKRExFdEJRVXM0VUN4RlFVRkZOMUFzU1VGQlNTdElMRVZCUVVWb1NTeEhRVUZIZVVrc1JVRkJSWHBKTEVsQlFVa3lTQ3hGUVVGRmJrWXNVMEZCVTNoRExFZEJRVWNzVFVGQlRUSklMRVZCUVVWdVJpeFZRVUZWYzA0c1JVRkJSVGRRTEVsQlFVbDNTU3hGUVVGRmVra3NTVUZCU1VNc1IwRkJSekJJTEVWQlFVVjBSaXhUUVVGVGNrTXNSMEZCUnl4SFFVRkhMRk5CUVZNNFVDeEZRVUZGYmtrc1JVRkJSV3BHTEZkQlFWY3hReXhKUVVGSk1rZ3NSVUZCUlhSR0xGTkJRVk55UXl4SlFVRkpjMGNzUzBGQlMzQkhMRTFCUVUwc1IwRkJSelpRTEVWQlFVVXNTMEZCUzBFc1JVRkJSU3hMUVVGTE4xQXNTMEZCUzJsRUxGTkJRVk1zVlVGQlZYZEZMRVZCUVVWMlJTeFRRVUZUTEZWQlFWVjBSQ3hGUVVGRkswWXNTMEZCU3poQ0xFVkJRVVYwUml4VFFVRlRReXhKUVVGSkxGVkJRVlY0UXl4RlFVRkZLMFlzUzBGQlN6aENMRVZCUVVWMFJpeFRRVUZUUlN4TFFVRkxRU3hGUVVGRkxFVkJRVVVzVjBGQlYzSkRMRXRCUVV0cFJDeFJRVUZSZVVRc1RVRkJUU3hWUVVGVlpTeEZRVUZGZEVZc1UwRkJVMjVETEV0QlFVdG5TQ3hSUVVGUlV5eEZRVUZGYmtZc1dVRkJXVVFzUjBGQlIydEhMRVZCUVVWMlNTeExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1IwRkJSeXhYUVVGWGJVWXNSVUZCUlhSR0xGTkJRVk51UXl4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGVkJRVlZFTEVsQlFVbHJSeXhGUVVGRmRra3NTMEZCUzJkSUxGRkJRVkZUTEVWQlFVVnVSaXhWUVVGVkxFVkJRVVYwUXl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1NVRkJTWFJETEV0QlFVdHBSQ3hSUVVGUmVVUXNUMEZCVHpGSExFdEJRVXR0U0N4UFFVRlBia2dzUzBGQlMybEVMRkZCUVZGNVJDeFBRVUZQTEVkQlFVY3NSMEZCUjNKRkxFZEJRVWR5UXl4TFFVRkxhVVFzVVVGQlVYbEVMRTlCUVU5bExFVkJRVVYwUml4VFFVRlRia01zUzBGQlMyZElMRkZCUVZGVExFVkJRVVZ1Uml4VlFVRlZkRU1zUzBGQlN6UkxMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRmxCUVZrc1NVRkJTVEZETEVWQlFVVjVTeXhSUVVGUmNrc3NTMEZCUzJsRUxGRkJRVkY1UkN4TlFVRk5MRU5CUVVNc1RVRkJUU3hUUVVGVExFZEJRVWNzUjBGQlJ6RkhMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdG5TQ3hSUVVGUlV5eEZRVUZGYmtZc1ZVRkJWU3hKUVVGSkxFbEJRVWt4UXl4RlFVRkZlVXNzVVVGQlVYSkxMRXRCUVV0cFJDeFJRVUZSZVVRc1RVRkJUU3hEUVVGRExFMUJRVTBzVlVGQlZTeEZRVUZGTEVkQlFVY3hSeXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmMxU3l4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGVkJRVlVzU1VGQlNTeEpRVUZKTVVNc1JVRkJSWGxMTEZGQlFWRnlTeXhMUVVGTGFVUXNVVUZCVVhsRUxFMUJRVTBzUTBGQlF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SFFVRkhja1VzUjBGQlIyOUdMRVZCUVVWMFJpeFRRVUZUYmtNc1MwRkJTMmRJTEZGQlFWRlRMRVZCUVVWdVJpeFhRVUZYZEVNc1MwRkJTMmxFTEZGQlFWRTBTQ3huUWtGQlowSXNSVUZCUlN4RlFVRkZlRWtzUjBGQlIzSkRMRXRCUVV0cFJDeFJRVUZSVml4UlFVRlJka01zUzBGQlMybEVMRkZCUVZGNVJDeFBRVUZQTVVjc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDI1SUxFdEJRVXRwUkN4UlFVRlJlVVFzVVVGQlVTeEhRVUZITEVkQlFVZHJTaXhGUVVGRk5WQXNTMEZCUzIxSUxFOUJRVTl1U0N4TFFVRkxaMGdzVVVGQlVXaElMRXRCUVV0cFJDeFJRVUZSZVVnc1QwRkJUM0pKTEVkQlFVZDFUaXhGUVVGRmJra3NSVUZCUldwR0xGZEJRVmRLTEVsQlFVbHhSaXhGUVVGRmJFWXNUMEZCVDBnc1JVRkJSWGRPTEVWQlFVVnVTU3hGUVVGRmFrWXNWMEZCVjBnc1NVRkJTVzlHTEVWQlFVVnNSaXhQUVVGUFJpeEZRVUZGY2tNc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVsblNDeEhRVUZIYmtrc1JVRkJSUzlGTEdWQlFXVXNRMEZCUXpGRExFdEJRVXNyVUN4dFFrRkJiVUl2VUN4TFFVRkxhVVFzVTBGQlUycEVMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1IwRkJSMEVzU1VGQlNTeFhRVUZYTlVrc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNVMEZCVTNSRExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFNDeFBRVUZQYWtnc1MwRkJTM05ETEZkQlFWY3dUQ3haUVVGWkxIZENRVUYzUW1oUExFdEJRVXRuU0N4UlFVRlJhRWdzUzBGQlMybEVMRkZCUVZGa0xGZEJRVmR0UWl4VFFVRlRMSGRDUVVGM1FuUkVMRXRCUVV0cFJDeFJRVUZSWkN4VlFVRlZia01zUzBGQlMybEVMRk5CUVZOcVJDeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRjFSQ3hMUVVGTExGRkJRVkVzTmtKQlFUWkNiRThzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYzBNc1ZVRkJWWE5ITEVsQlFVazFTU3hMUVVGTGFVUXNVVUZCVVRaSUxGRkJRVkU1U3l4TFFVRkxLMUFzYTBKQlFXbENMRVZCUVVjdlVDeExRVUZMTms0c1UwRkJVU3hIUVVGSkxFbEJRVWx0UXl4RlFVRkZiRkVzUlVGQlJYZEhMRWxCUVVselNpeEZRVUZGZEVvc1MwRkJTMjFDTEVWQlFVVTNSU3hsUVVGbE1FUXNTMEZCU3l4SFFVRkhNa29zUlVGQlJXNVJMRVZCUVVWNVJ5eE5RVUZOY1Vvc1JVRkJSVzVLTEV0QlFVczRRaXhGUVVGRmJrY3NSMEZCUjNGR0xFVkJRVVUzUlN4bFFVRmxNa1FzVDBGQlR5eEhRVUZITWtvc1JVRkJSWEJSTEVWQlFVVXdSeXhQUVVGUGIwb3NSVUZCUlhSS0xFbEJRVWxwUXl4RlFVRkZiRWNzUjBGQlIyOUdMRVZCUVVVM1JTeGxRVUZsTkVRc1VVRkJVU3hIUVVGSE1rb3NSVUZCUlhKUkxFVkJRVVV5Unl4TFFVRkxiVW9zUlVGQlJXNUtMRTFCUVUxblFpeEZRVUZGTjBVc1pVRkJaVFpFTEUxQlFVMHNSMEZCUnpKS0xFVkJRVVZFTEVWQlFVVXNUMEZCVDBZc1JVRkJSU3hSUVVGUkxFdEJRVXRPTEVWQlFVVkxMRVZCUVVVc1RVRkJUVVVzUlVGQlJTeFRRVUZUTEV0QlFVc3NSMEZCUjBVc1IwRkJSMVFzUlVGQlJTeERRVUZETEVsQlFVa3NVMEZCVXpOUUxFdEJRVXN5Uml4TlFVRk5MRmRCUVZjelJpeExRVUZMTWtZc1QwRkJUeXhWUVVGVkwwWXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1NVRkJTU3hWUVVGVmVFTXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBVc1IwRkJSeXhEUVVGRExFbEJRVWxFTEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hGUVVGRkxFOUJRVTl5UXl4TFFVRkxReXhSUVVGUkswTXNaVUZCWlcxT0xFVkJRVVV2VGl4RlFVRkZkRU1zUlVGQlJUSkhMRTFCUVUxdFNpeEZRVUZGYmtvc1RVRkJUV2RDTEVWQlFVVTNSU3hsUVVGbE5rUXNUVUZCVFN4SlFVRkpkMG9zU1VGQlNUZE9MRVZCUVVWMFF5eEZRVUZGZVVjc1QwRkJUM0ZLTEVWQlFVVnVTaXhMUVVGTE9FSXNSVUZCUlc1SExFZEJRVWR4Uml4RlFVRkZOMFVzWlVGQlpUSkVMRTlCUVU4c1MwRkJTM2xLTEVWQlFVVXpUaXhGUVVGRmRrTXNSVUZCUlhkSExFdEJRVXR6U2l4RlFVRkZkRW9zUzBGQlMyMUNMRVZCUVVVM1JTeGxRVUZsTUVRc1MwRkJTeXhKUVVGSk5Fb3NTVUZCU1RkT0xFVkJRVVYyUXl4RlFVRkZNRWNzVVVGQlVXOUtMRVZCUVVWMFNpeEpRVUZKYVVNc1JVRkJSV3hITEVkQlFVZHZSaXhGUVVGRk4wVXNaVUZCWlRSRUxGRkJRVkVzUzBGQlMzaEhMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhGUVVGRmQwVXNTMEZCUzBNc1NVRkJTUzlITEVWQlFVVjNSeXhKUVVGSmRFY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkRMRVZCUVVWQkxFZEJRVWR3UXl4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBVc1JVRkJSWFZGTEV0QlFVdERMRWxCUVVrdlJ5eEZRVUZGTWtjc1MwRkJTM3BITEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUlN4RlFVRkZRU3hIUVVGSGQwNHNSVUZCUlN4TFFVRkxRU3hGUVVGRkxFdEJRVXMzVUN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1dkSUxFbEJRVWsxVUN4TFFVRkxiVWNzVjBGQlZ5eGpRVUZqYmtjc1RVRkJTeXhKUVVGTGVVZ3NSVUZCUlM5RkxHZENRVUZuUWl4VFFVRlRLMFVzUlVGQlJTOUZMR2xDUVVGcFFqSk9MRVZCUVVVc1UwRkJVM1pSTEVkQlFVZEZMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpOVWtzUzBGQlMyMUlMRTlCUVU5eVNDeEhRVUZIT0ZBc1JVRkJSVFZRTEV0QlFVdHRTQ3hQUVVGUGNrZ3NTMEZCUzNsSkxFVkJRVVYyU1N4TFFVRkxhVWdzVDBGQlQyNUlMRWxCUVVreVNDeEZRVUZGYkVZc1QwRkJUM1pETEV0QlFVdHBTQ3hQUVVGUGJrZ3NTMEZCU3l4UFFVRlBRU3hIUVVGSExGRkJRVkZCTEVkQlFVY3NSVUZCUlN4SFFVRkhaMGtzUlVGQlJUbElMRXRCUVV0cFNDeFBRVUZQYmtnc1RVRkJUU3hQUVVGUFFTeEhRVUZITEZGQlFWRkJMRVZCUVVVc1IwRkJSeXhKUVVGSlJTeExRVUZMYVVRc1UwRkJVMnBFTEV0QlFVc3lTU3hSUVVGUmNVWXNXVUZCV1N4M1FrRkJkMEpvVHl4TFFVRkxhVVFzVVVGQlVXUXNWVUZCVlcxQ0xGTkJRVk1zZDBKQlFYZENkRVFzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYVVRc1VVRkJVV1FzVjBGQlYzbEhMRWxCUVVrc1ZVRkJWU3hIUVVGSFFTeEpRVUZKTEZkQlFWYzVTU3hGUVVGRlJTeExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWYzFTeXhMUVVGTGFVZ3NUMEZCVDI1SUxFdEJRVXRGTEV0QlFVdHBSQ3hUUVVGVGFrUXNTMEZCUzJsRUxGRkJRVkV3U0N4UlFVRlJkVVFzUzBGQlN5eFJRVUZSTERaQ1FVRTJRbkJQTEVkQlFVZEZMRXRCUVVzclVDeHJRa0ZCYVVJc1JVRkJSeTlRTEV0QlFVczJUaXhUUVVGUkxFZEJRVWw2U0N4TFFVRkxjRWNzVFVGQlRUQlFMRVZCUVVWMFRpeEhRVUZIYVU4c1JVRkJSWEpSTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4SFFVRkhjMDRzUlVGQlJYSk9MRWRCUVVkblR5eEZRVUZGY2xFc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFbEJRVWtzU1VGQlNXZFBMRVZCUVVVc1MwRkJTM0pSTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGTkJRVk54VGl4RlFVRkZVeXhGUVVGRmNGRXNTMEZCUzJsRUxGTkJRVk1zVlVGQlZYZEZMRVZCUVVWMlJTeFRRVUZUTEZGQlFWRjFSU3hGUVVGRkwwVXNaMEpCUVdkQ01VTXNTMEZCUzJsSUxFOUJRVTl2U2l4SlFVRkpjbEVzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYVVnc1QwRkJUMnBJTEV0QlFVdHpReXhaUVVGWmNVNHNSVUZCUlN4VlFVRlZNMUFzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTmtJc1JVRkJSWFpKTEV0QlFVdHBTQ3hQUVVGUGIwb3NTVUZCU1N4RlFVRkZjbEVzUzBGQlMybEVMRkZCUVZFeVNDeFhRVUZYTlVzc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVUXNVVUZCVVhsSUxFdEJRVXNzUlVGQlJYQkVMRk5CUVZOMFNDeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR3RDUVVGclFuZEdMRWRCUVVkeVVTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVa3NSVUZCUlN4SFFVRkhRU3hIUVVGSGNsRXNTMEZCUzJsRUxGRkJRVkUwU0N4bFFVRmxka1FzVTBGQlUzUklMRXRCUVV0cFJDeFJRVUZSTUVnc1VVRkJVUzlDTEVsQlFVa3NWVUZCVlRWSkxFdEJRVXRwUkN4UlFVRlJORWdzYVVKQlFXbENkRU1zUlVGQlJYWkpMRXRCUVV0cFNDeFBRVUZQYjBvc1NVRkJTUzlKTEZOQlFWTjBTQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdsQ1FVRnBRamRMTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRwU0N4UFFVRlBiMG9zU1VGQlNVUXNSVUZCUlVNc1IwRkJSM0pSTEV0QlFVdHRTQ3hQUVVGUGEwb3NSMEZCUjNaUkxFVkJRVVZGTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1ZRc1JVRkJSVFZRTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1RWSkxFVkJRVVUzUlN4bFFVRmxlVTRzU1VGQlNTeEhRVUZIZGxFc1JVRkJSVVVzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYlVnc1QwRkJUMnRLTEV0QlFVdFVMRVZCUVVVMVVDeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVazFTU3hGUVVGRk4wVXNaVUZCWlhsT0xFZEJRVWM1U0N4RlFVRkZka2tzUzBGQlMybElMRTlCUVU5dlNpeExRVUZMUVN4SFFVRkhjbEVzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYlVnc1QwRkJUMnRLTEV0QlFVdFVMRVZCUVVVMVVDeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVbEVMRVZCUVVWMFVTeEZRVUZGUlN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVrMVNTeEZRVUZGTjBVc1pVRkJaVFZETEV0QlFVdHRTQ3hQUVVGUGEwb3NUVUZCVFVRc1IwRkJSM1JSTEVWQlFVVkZMRXRCUVV0dFNDeFBRVUZQYTBvc1NVRkJTVFZKTEVWQlFVVTNSU3hsUVVGbE5VTXNTMEZCUzIxSUxFOUJRVTlyU2l4TFFVRkxWQ3hGUVVGRk5WQXNTMEZCUzIxSUxFOUJRVTlyU2l4SlFVRkpSQ3hMUVVGTFFTeEZRVUZGZUVvc1MwRkJTMjFJTEVsQlFVbHhReXhGUVVGRlZDeExRVUZMUVN4SFFVRkhMRVZCUVVWVExFbEJRVWx3VVN4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHVkJRV1YyUkN4VFFVRlRkRWdzUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSTDBJc1NVRkJTU3hWUVVGVk5Va3NTMEZCUzJsRUxGRkJRVkUwU0N4cFFrRkJhVUoxUml4SFFVRkhReXhIUVVGSGNsRXNTMEZCUzJsRUxGRkJRVkUwU0N4blFrRkJaMElzUlVGQlJTeEpRVUZKTjBzc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrMVNTeExRVUZMYlVnc1QwRkJUMnRLTEVkQlFVZFVMRVZCUVVVMVVDeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVbEVMRWRCUVVkRExFZEJRVWR5VVN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVrc1JVRkJSU3hKUVVGSmNsRXNTMEZCU3l0UUxHdENRVUZwUWl4TFFVRk5MRTlCUVU4dlVDeExRVUZMYlVjc1YwRkJWeXhqUVVGamJrY3NUMEZCVDBnc1JVRkJSVFJQTEZWQlFWVTJRaXhUUVVGVExGTkJRVk40VVN4SFFVRkhMRWRCUVVkRkxFdEJRVXQxVVN4SlFVRkpMRk5CUVZONlVTeEZRVUZGUXl4SFFVRkhNRVlzVDBGQlR5dExMR2RDUVVGblFpOUxMRTlCUVU4clN5eGpRVUZqTEVsQlFVa3ZTeXhQUVVGUEswc3NZMEZCWXpGUkxFZEJRVWRETEVkQlFVZERMRXRCUVV0NVVTeEpRVUZKTEZOQlFWTXpVU3hIUVVGSExFOUJRVTh5Uml4UFFVRlBLMHNzWTBGQll5OUxMRTlCUVU4clN5eGpRVUZqTVZFc1IwRkJSeXhOUVVGTlJTeExRVUZMTUZFc2EwSkJRV3RDTEZkQlFWY3NSMEZCUnpGUkxFdEJRVXQ1VVN4SlFVRkpMR3RDUVVGclFpeFBRVUZQZWxFc1MwRkJTM2xSTEVsQlFVa3NhMEpCUVd0Q0xFdEJRVXNzU1VGQlNUTlJMRVZCUVVWcFJ5eFRRVUZUTkVzc1kwRkJZeXhQUVVGUE4xRXNSVUZCUlRSSkxFMUJRVTEyU1N4TlFVRk5MRkZCUVZGTUxFVkJRVVUwU1N4TlFVRk5kRWtzVDBGQlR5eFJRVUZSVGl4RlFVRkZORWtzVFVGQlRXdEpMRk5CUVZNc1UwRkJVemxSTEVWQlFVVTBTU3hOUVVGTmRrY3NVMEZCVXl4WFFVRlhja01zUlVGQlJUUkpMRTFCUVUxd1F5eEpRVUZKTEZOQlFWTlFMRk5CUVZNNFN5eExRVUZMY2tjc1dVRkJXVEZMTEVkQlFVY3NTVUZCU1VNc1JVRkJSVVFzUlVGQlJXZFNMRmxCUVZsb1VpeEZRVUZGYVZJc1dVRkJXU3hQUVVGUGFFd3NVMEZCVXpoTExFdEJRVXRITEZsQlFWbHNVaXhIUVVGSFJTeExRVUZMZFZFc1NVRkJTU3hwUWtGQmFVSjRVU3hIUVVGSFFTeEZRVUZGTEUxQlFVMURMRXRCUVV0cFVpeHZRa0ZCYjBJc1UwRkJVM2hLTEVsQlFVbEJMRVZCUVVVc2FVSkJRV2xDUVN4RlFVRkZRU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZEUVN4RlFVRkZMR3RDUVVGclFrRXNSMEZCUjNsS0xGRkJRVkVzVTBGQlUzQlNMRVZCUVVWRExFZEJRVWNzYVVKQlFXbENSQ3hKUVVGSk1rZ3NSVUZCUlRGSUxFZEJRVWNzUTBGQlEwUXNSVUZCUlN4dlFrRkJiMElzU1VGQlNTeEpRVUZKUVN4SFFVRkZMRVZCUVVkRExFVkJRVVVzUlVGQlJVRXNSVUZCUlRCSUxFVkJRVVZOTEU5QlFVOW9TU3hMUVVGTExFbEJRVWt3U0N4RlFVRkZNVWdzUjBGQlJ5eEhRVUZIYjFJc1VVRkJVU3hWUVVGVmNsSXNSMEZCUlN4SFFVRkpMRTlCUVUwc1NVRkJTMEVzUjBGQlJ6SklMRVZCUVVVMFJ5eExRVUZMTEVOQlFVTXNUMEZCVHl4clFrRkJhMEkxUnl4SFFVRkhla2dzUzBGQlMyOVNMR2xDUVVGcFFpeFhRVUZYTEU5QlFVOXdVaXhMUVVGTE1GRXNjVUpCUVhGQ00wc3NVMEZCVXpoTExFdEJRVXRSTEdGQlFXRTFUQ3hQUVVGUE5rd3NZVUZCWVhSU0xFdEJRVXR2VWl4dFFrRkJiVUlzUTBGQlEzUlNMRVZCUVVWRkxFdEJRVXRwVWl4dlFrRkJiMEp1VWl4SFFVRkhMRWxCUVVrc1NVRkJTVU1zUlVGQlJTeEZRVUZGUVN4RlFVRkZSQ3hGUVVGRmFVa3NUMEZCVDJoSkxFbEJRVWtzU1VGQlNTeEpRVUZKTUVnc1JVRkJSVEZDTEZOQlFWTjNUQ3hwUWtGQmFVSjZVaXhGUVVGRlF5eEhRVUZITEVsQlFVbDNTU3hGUVVGRkxFVkJRVVZCTEVWQlFVVmtMRVZCUVVWTkxFOUJRVTlSTEVsQlFVa3NRMEZCUXl4SFFVRkhaQ3hGUVVGRll5eEhRVUZIYVVvc1lVRkJZU3hwUWtGQmFVSXNUMEZCVHl4SlFVRkpNVW9zUlVGQlJXaEpMRVZCUVVWRExFZEJRVWNzUjBGQlIyZEtMRVZCUVVWMFJDeFBRVUZQWjAwc2FVSkJRV2xDYUVzc1JVRkJSV01zU1VGQlNXMUtMR2xDUVVGcFFqVktMRWRCUVVkTUxFVkJRVVZqTEVkQlFVZFlMR0ZCUVdFc1owSkJRV2RDUlN4SFFVRkhhVUlzUlVGQlJVRXNSMEZCUnl4TlFVRk5MRWxCUVVsRExFVkJRVVVzYVVKQlFXbENiRUlzUjBGQlJ5eFRRVUZUUVN4RlFVRkZMRWxCUVVrc1NVRkJTVXdzUlVGQlJXTXNSMEZCUjBjc1RVRkJUVm9zUjBGQlJ5eFJRVUZSYVVJc1JVRkJSU3hKUVVGSlF5eEZRVUZGTEVsQlFVbG9TaXhMUVVGTE1GRXNiMEpCUVc5Q0xFdEJRVXNzU1VGQlNUZFJMRVZCUVVVMlVDeEZRVUZGTTBvc1UwRkJVelJNTEdWQlFXVXNlVUpCUVhsQ09WSXNSVUZCUld0SExGTkJRVk0yVEN4TlFVRk5OMHdzVTBGQlV6aE1MSEZDUVVGeFFpeFJRVUZSTEVsQlFVbHVReXhGUVVGRk0wb3NVMEZCVXpSTExHTkJRV01zVlVGQlZXaE1MRXRCUVVzc1YwRkJWeXRLTEVWQlFVVTVTQ3hoUVVGaExFdEJRVXNzZFVKQlFYVkNPRWdzUlVGQlJXeEdMRmxCUVZsNlJTeFRRVUZUSzB3c1pVRkJaU3h0UkVGQmJVUnFVeXhGUVVGRk1rc3NXVUZCV1d0R0xFbEJRVWt6U2l4VFFVRlRPRXNzUzBGQlMydENMRlZCUVZWRExFbEJRVWtzYTBKQlFXdENReXhOUVVGTkxGZEJRVmNzU1VGQlNTeEpRVUZKYmxNc1JVRkJSV2xITEZOQlFWTjNUQ3hwUWtGQmFVSXNiVUpCUVcxQ2VGSXNSVUZCUlN4RlFVRkZRU3hGUVVGRlJDeEZRVUZGYVVrc1QwRkJUMmhKTEVsQlFVa3NRMEZCUXl4SlFVRkpNRWdzUlVGQlJUTklMRVZCUVVWRExFZEJRVWQ1VWl4aFFVRmhMR2xDUVVGcFFqRlNMRVZCUVVWRExFZEJRVWN5U1N4TlFVRk5ha0lzUjBGQlJ5eExRVUZMTTBnc1JVRkJSVU1zUjBGQlIyMVRMR2RDUVVGblFpeHBRa0ZCYVVKdVRTeFRRVUZUT0Vzc1MwRkJTMnRDTEZWQlFWVkpMRTlCUVU4c2FVSkJRV2xDZEZNc1JVRkJSVFJQTEZWQlFWVXhReXhMUVVGTExGTkJRVk5xVFN4SFFVRkhMRWRCUVVkQkxFVkJRVVZCTEVkQlFVY3NSMEZCUjBVc1MwRkJTMjlUTEZsQlFWa3NUMEZCVDNCVExFdEJRVXNzUjBGQlIwRXNTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxLMG9zVlVGQlZTOUtMRXRCUVV0eFV5eFZRVUZWY2xNc1MwRkJTM0ZUTEZGQlFWRjZVeXhGUVVGRkxGbEJRVmt5U3l4UFFVRlBka3NzUzBGQlMzVk9MR1ZCUVdWMlNpeFRRVUZUY0VVc1JVRkJSU3hWUVVGVlNTeExRVUZMTkU4c1QwRkJUME1zWVVGQllUZFBMRXRCUVVzMFR5eFBRVUZQTlU4c1MwRkJTM2RPTEd0Q1FVRnJRbmhPTEV0QlFVdHpVeXhYUVVGWExFOUJRVTkwVXl4TFFVRkxRU3hMUVVGTFF5eFJRVUZSTWtRc1dVRkJXV2hGTEVWQlFVVnRSeXhWUVVGVmFVTXNSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSExFbEJRVWxCTEVWQlFVVjVVeXhUUVVGVGRsTXNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRkZCUVU4c1NVRkJTMEVzUzBGQlMwTXNVVUZCVVRSRUxHTkJRV01zVTBGQlV6ZEVMRXRCUVV0RExGRkJRVkUwUkN4bFFVRmxha1VzUlVGQlJTeFJRVUZSYjBrc1IwRkJSeXhqUVVGamFFa3NTMEZCUzBVc1IwRkJSeXhoUVVGaFJpeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWRGTEV0QlFVdDVUaXhuUWtGQlowSXNVVUZCVVhwT0xFdEJRVXRETEZGQlFWRTBSQ3hsUVVGbEwwUXNSVUZCUlc5RExGRkJRVkZzUXl4TFFVRkxNa2tzVVVGQlVTeEpRVUZKTTBrc1MwRkJTekpKTEZGQlFWRTJTaXhKUVVGSk1WTXNSVUZCUlc5RExGRkJRVkUyUml4VFFVRlRMMGdzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOUJMRXRCUVVzMFJpeGxRVUZsYUVjc1JVRkJSU3haUVVGWmIwa3NSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEhRVUZITEZkQlFWY3NUMEZCVFN4TFFVRk5MRWxCUVVsSUxFVkJRVVVzV1VGQlZ5eEpRVUZMUXl4TFFVRkxPRWNzY1VKQlFYRkNha2dzUlVGQlJUaEhMRlZCUVZWRExFdEJRVXRETEVsQlFVbFRMRk5CUVZOMFNDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFZRVUZWTEVsQlFVazFTU3hMUVVGTFF5eFJRVUZSZDBRc1QwRkJUelZFTEVWQlFVVTRSeXhYUVVGWExFVkJRVVU1Unl4RlFVRkZPRW9zYlVKQlFXMUNMRWRCUVVjc1JVRkJSVE5LTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZOQlFWTXZTU3hGUVVGRk9FY3NWMEZCVnpOSExFdEJRVXRETEZGQlFWRjNSQ3hQUVVGUE5VUXNSVUZCUlRoSExGZEJRVmN6Unl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0RExGRkJRVkZyUWl4VlFVRlZia0lzUzBGQlMyMUxMRTlCUVU4clJDeExRVUZMYkU4c1MwRkJTME1zVVVGQlVXdENMRmRCUVZkdVFpeExRVUZMSzBzc1UwRkJVeTlMTEV0QlFVdHRTeXhQUVVGUEswUXNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnJRaXhYUVVGVkxFZEJRVWx1UWl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0RExGRkJRVkZuUWl4aFFVRmhha0lzUzBGQlMyMUxMRTlCUVU4elNTeExRVUZMTEcxQ1FVRnRRbmhDTEV0QlFVczBRaXhYUVVGWE5VSXNTMEZCUzIxTExFOUJRVTh6U1N4TFFVRkxMRzlDUVVGdFFpeEhRVUZKZUVJc1MwRkJTMjFMTEU5QlFVOHJSQ3hMUVVGTGJFOHNTMEZCUzBNc1VVRkJVV2RDTEZsQlFWbHFRaXhMUVVGTE5FSXNWMEZCVnpWQ0xFdEJRVXR0U3l4UFFVRlBLMFFzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZuUWl4aFFVRlpMRWRCUVVrc1VVRkJVV3BDTEV0QlFVdERMRkZCUVZGblFpeFpRVUZaYWtJc1MwRkJTelJDTEZkQlFWYzFRaXhMUVVGTGJVc3NUMEZCVHpoRkxGRkJRVThzU1VGQlMycFFMRXRCUVV0dFJ5eFhRVUZYTEZkQlFWZHVSeXhMUVVGTFF5eFJRVUZSY1VJc1QwRkJUM1JDTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMUXl4TFFVRkxka0lzUzBGQlMyMUxMRkZCUVZGdVN5eExRVUZMYlVzc1QwRkJUeXRFTEV0QlFVdHNUeXhMUVVGTFF5eFJRVUZSY1VJc1MwRkJTMGtzV1VGQldURkNMRXRCUVV0NVV5eFpRVUZaZWxNc1MwRkJTME1zVVVGQlVYRkNMRXRCUVV0SExGTkJRVk16UWl4RlFVRkZkMElzVDBGQlQzaENMRVZCUVVWM1FpeExRVUZMUXl4TFFVRkxla0lzUlVGQlJYZENMRXRCUVV0RkxGTkJRVk1zVlVGQlZYaENMRXRCUVV0RExGRkJRVkZ4UWl4TFFVRkxSeXhUUVVGVGVrSXNTMEZCUzIxTExGTkJRVk51U3l4TFFVRkxiVXNzVDBGQlR6TkpMRXRCUVVzc2JVSkJRVzFDTVVJc1JVRkJSWGRDTEU5QlFVOTRRaXhGUVVGRmQwSXNTMEZCUzBNc1MwRkJTM3BDTEVWQlFVVjNRaXhMUVVGTFJTeE5RVUZOZUVJc1MwRkJTM05DTEV0QlFVdDRRaXhGUVVGRmQwSXNUVUZCVFN4TlFVRkxMRWRCUVVsMFFpeExRVUZMTkVJc1YwRkJWelZDTEV0QlFVdHRTeXhQUVVGUE0wa3NTMEZCU3l4dlFrRkJiMEo0UWl4TFFVRkxNRk1zYlVKQlFXMUNNVk1zUzBGQlMwTXNVVUZCVVRaRExHMUNRVUZ0UWpsRExFdEJRVXR0UXl4VFFVRlRja01zUzBGQlMwVXNTMEZCU3pCVExHdENRVUZwUWl4SFFVRkpNVk1zUzBGQlN6SlRMRmRCUVZjelV5eExRVUZMYVU4c2EwSkJRV3RDYWs4c1MwRkJTelJPTEZOQlFWTTFUaXhMUVVGTE5FNHNVVUZCVHl4RlFVRkhOVTRzUzBGQlMwTXNVVUZCVVhGRkxGbEJRVmwwUlN4TFFVRkxReXhSUVVGUk1FUXNWMEZCVnpORUxFdEJRVXRETEZGQlFWRnhSU3haUVVGWmRFVXNTMEZCUzI5S0xGRkJRVkZ3U2l4TFFVRkxaMHdzWjBKQlFXZENhRXdzUzBGQlMwTXNVVUZCVVdsRkxHTkJRV05zUlN4TFFVRkxReXhSUVVGUmEwVXNhMEpCUVd0Q2RFVXNSVUZCUlN0VExHdENRVUZyUWk5VExFVkJRVVVyVXl4eFFrRkJjVUl2VXl4RlFVRkZLMU1zYTBKQlFXdENMRVZCUVVVMVV5eExRVUZMYzFFc1UwRkJVM1ZETEUxQlFVMURMRkZCUVZFNVV5eExRVUZMUXl4UlFVRlJhMFVzYjBKQlFXOUNMR2xDUVVGcFFtNUZMRXRCUVV0RExGRkJRVkZyUlN4clFrRkJhMEp1UlN4TFFVRkxReXhSUVVGUmEwVXNhMEpCUVd0Q0xFOUJRVTkyUlN4RlFVRkZMRkZCUVZFd1JDeFRRVUZUTEc5Q1FVRnZRblJFTEV0QlFVdEZMRXRCUVV0R0xFdEJRVXRETEZGQlFWRnpSQ3hWUVVGVmRrUXNTMEZCUzI5TUxHVkJRV1Z3VEN4TFFVRkxiVU1zV1VGQldXNURMRXRCUVV0RExGRkJRVkZ0UkN4WlFVRlpjRVFzUzBGQlN6SlRMRmRCUVZjelV5eExRVUZMTWs0c1UwRkJVeXhSUVVGUk0wNHNTMEZCUzBNc1VVRkJVWGxGTEU5QlFVOHhSU3hMUVVGTFF5eFJRVUZSZVVVc1RVRkJUWEZJTEUxQlFVMHZUQ3hMUVVGTE1FVXNUVUZCVFRGRkxFdEJRVXRETEZGQlFWRjVSU3hOUVVGTmNVZ3NTMEZCU3k5TUxFdEJRVXRETEZGQlFWRXdSU3hQUVVGUGIwZ3NUVUZCVFM5TUxFdEJRVXRETEZGQlFWRnJSQ3hMUVVGTGJrUXNTMEZCU3pKSkxGRkJRVkV3UXl4UFFVRlBReXhSUVVGUkxFTkJRVU53UWl4UlFVRlJMRWRCUVVjc1EwRkJRM0ZDTEU5QlFVMHNSVUZCUjBNc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeExRVUZMYzBrc1RVRkJUU3hYUVVGWGVrd3NTMEZCU3l0VExGZEJRVlVzUlVGQlJ5OVRMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZkQlFWYzNSQ3hMUVVGTGNFY3NUVUZCVFdkVUxFOUJRVThzVjBGQlYyaFVMRXRCUVVzclV5eFhRVUZWTEVWQlFVZHlSaXhYUVVGWExGZEJRVmN4VGl4TFFVRkxhVlFzZDBKQlFYZENhbFFzUzBGQlMyMURMR0ZCUVdGdVF5eExRVUZMYVZRc2QwSkJRWFZDTEVsQlFVczNUU3hMUVVGTGNFY3NUVUZCVFN4TFFVRkxiMGNzUzBGQlMzQkhMRk5CUVZOQkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRkZCUVZGRExGRkJRVkVzU1VGQlNXeExMRXRCUVV0cFZDeDNRa0ZCZDBKcVZDeExRVUZMYlVNc1lVRkJZVzVETEV0QlFVdHBWQ3gzUWtGQmRVSXNUVUZCVHpkTkxFdEJRVXR3Unl4TlFVRk5MRTlCUVU5QkxFdEJRVXRETEZGQlFWRjVSQ3hYUVVGWE1VUXNTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxNbE1zVjBGQlZ6ZFRMRVZCUVVWMVNpeFpRVUZaZEVvc1NVRkJTVU1zUzBGQlN6UlBMRTFCUVUxc1FpeFhRVUZYTTA0c1JVRkJSVU1zUzBGQlMwTXNVVUZCVVhsRUxGZEJRVmN4UkN4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlhKR0xFMUJRVTBzVTBGQlUzUktMRWRCUVVjc1IwRkJSMEVzUlVGQlJVRXNSMEZCUnl4SFFVRkhSaXhGUVVGRkxGRkJRVkZwU3l4SlFVRkpMR05CUVdNM1NpeExRVUZMUlN4SFFVRkhMR0ZCUVdGR0xFdEJRVXRGTEVsQlFVbEdMRXRCUVVzMFJpeGxRVUZsYUVjc1JVRkJSU3haUVVGWmFVc3NTVUZCU1N4alFVRmpOMG9zUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEpRVUZKUml4TFFVRkxiMU1zWVVGQllYQlRMRXRCUVVzeVV5eFZRVUZWTEU5QlFVOHpVeXhMUVVGTExFZEJRVWRCTEV0QlFVczBUeXhQUVVGUFF5eGhRVUZoTjA4c1MwRkJTelJQTEU5QlFVODFUeXhMUVVGTGQwNHNhMEpCUVd0Q2VFNHNTMEZCUzNOVExGZEJRVmNzVDBGQlQzUlRMRXRCUVVzc1NVRkJTVVFzUlVGQlJUQklMRVZCUVVWakxFVkJRVVZVTEVWQlFVVXNWMEZCVnl4SlFVRkphRWtzUlVGQlJVVXNTMEZCUzIxSExGZEJRVmNzVjBGQlYyNUhMRXRCUVV0RExGRkJRVkZuUXl4dFFrRkJiVUpxUXl4TFFVRkxhMVFzWVVGQllXeFVMRXRCUVVzMFRpeFRRVUZUTlU0c1MwRkJTelJPTEZGQlFVOHNSVUZCUnpWT0xFdEJRVXR0VEN4blFrRkJaMEp1VEN4TFFVRkxReXhSUVVGUmFVVXNZMEZCWTJ4RkxFdEJRVXRETEZGQlFWRnJSU3h0UWtGQmJVSjBSU3hGUVVGRksxTXNhMEpCUVd0Q0wxTXNSVUZCUlN0VExHOUNRVUZ2UWk5VExFVkJRVVVyVXl4clFrRkJhMElzU1VGQlNUVlRMRXRCUVV0elVTeFRRVUZUTWtJc1VVRkJVWEpUTEVWQlFVVXNVVUZCVVc5UExGbEJRVmtzYjBKQlFXOUNhRThzUzBGQlMwVXNTMEZCUzBZc1MwRkJTME1zVVVGQlVYTkVMRk5CUVZOMlJDeExRVUZMTUV3c1pVRkJaVEZNTEV0QlFVdERMRkZCUVZGdFJDeFpRVUZaY0VRc1MwRkJTeXRUTEZkQlFWY3ZVeXhMUVVGTE1rNHNVMEZCVXl4VFFVRlRNMDRzUzBGQlMwTXNVVUZCVVhsRkxFOUJRVTh4UlN4TFFVRkxReXhSUVVGUmVVVXNUVUZCVFRCRkxFOUJRVTl3U2l4TFFVRkxNRVVzVFVGQlRURkZMRXRCUVV0RExGRkJRVkY1UlN4TlFVRk5NRVVzVFVGQlRYQktMRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBlVVVzVVVGQlVYUktMRVZCUVVWRkxFdEJRVXMwUml4bFFVRmxMRk5CUVZNMVJpeExRVUZMUXl4UlFVRlJhVU1zVDBGQlR5eEZRVUZGYkVNc1MwRkJTME1zVVVGQlVXdEVMRTFCUVUxdVJDeExRVUZMTWtrc1VVRkJVVEJETEU5QlFVOURMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnl4RFFVRkRjVUlzVDBGQlRTeEZRVUZIUXl4VFFVRlRNVXdzUlVGQlJUSk1MRTFCUVUwc1YwRkJWM3BNTEV0QlFVc3lVeXhYUVVGVkxFZEJRVWwyVFN4TFFVRkxjRWNzVFVGQlRUSk1MRk5CUVZNc1YwRkJWek5NTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGTkJRVk5xU3l4TFFVRkxiVWNzVjBGQlZ5eHZRa0ZCYjBKRExFdEJRVXR3Unl4TlFVRk5aMVFzVDBGQlR5eFhRVUZYYUZRc1MwRkJTekpUTEZkQlFWVXNSMEZCU1haTkxFdEJRVXR3Unl4VFFVRlRRU3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFbEJRVWxzU3l4TFFVRkxiVWNzVjBGQlZ5eHpRa0ZCYzBKRExFdEJRVXR3Unl4TlFVRk5MRTlCUVU5R0xFVkJRVVYxU2l4aFFVRmhja29zUzBGQlN6UkdMR1ZCUVdVc1UwRkJVelZHTEV0QlFVdERMRkZCUVZGcFF5eFBRVUZQTkVZc1MwRkJTemxJTEV0QlFVdERMRkZCUVZGelJTeGpRVUZqZGtVc1MwRkJTME1zVVVGQlVYVkZMR2RDUVVGblFpeEhRVUZIZUVVc1MwRkJTME1zVVVGQlVUQkVMRmxCUVZrNFJDeEhRVUZITVVnc1JVRkJSVU1zVFVGQlRVTXNVVUZCVVRCRUxGZEJRVmMwUlN4RlFVRkZORXNzUzBGQlMwTXNUVUZCVFhCVUxFdEJRVXRETEZGQlFWRjFSU3huUWtGQlowSjRSU3hMUVVGTGNWUXNVVUZCVVhaVUxFVkJRVVZHTEVWQlFVVXNhME5CUVd0RFNTeExRVUZMY1ZRc1RVRkJUWHBVTEVWQlFVVXNkME5CUVhkRFJTeEZRVUZGZDFRc1VVRkJVWFJVTEV0QlFVdHhWQ3hQUVVGUGVsUXNSVUZCUlN4SlFVRkpTU3hMUVVGTFJTeEpRVUZKY1Vzc1QwRkJUM3BMTEVsQlFVbEZMRXRCUVV0MVZDeFZRVUZWTEZkQlFWY3NTVUZCU1hwVUxFVkJRVVZ4VkN4TFFVRkxReXhOUVVGTmNsUXNSVUZCUld0TUxGbEJRVmw0UkN4SFFVRkhNMGdzUlVGQlJYbEpMRWRCUVVkQkxFVkJRVVY2U1N4RlFVRkZMRVZCUVVVeVNDeEhRVUZITVVnc1JVRkJSVVVzVVVGQlVYVkZMR1ZCUVdWNlJTeEZRVUZGYzFRc1RVRkJUWHBMTEVsQlFVa3NVVUZCVVN4SlFVRkpia0lzUlVGQlJURklMRVZCUVVWRkxGRkJRVkV3UkN4WFFVRlhMRXRCUVVzNFFpeFBRVUZQSzA0c2MwSkJRWE5DZWxRc1JVRkJSWGRVTEZsQlFWbDZUQ3hMUVVGTGNrTXNUMEZCVHl0T0xITkNRVUZ6UW5oVUxFdEJRVXQxVkN4WlFVRlpkbFFzUzBGQlN6UlBMRTFCUVUxc1FpeFhRVUZYTlVZc1JVRkJSV3hDTEV0QlFVdERMRWxCUVVrM1J5eExRVUZMUXl4UlFVRlJNRVFzVjBGQlZ5eExRVUZMTTBRc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWblJpeFBRVUZQTEZOQlFWTXpWQ3hIUVVGSExFOUJRVTlGTEV0QlFVdEJMRXRCUVVzMFRpeFBRVUZQTEZGQlFWRXNVVUZCVVRsT0xFZEJRVWRGTEUxQlFVMUlMRVZCUVVVMFR5eFZRVUZWYVVZc1VVRkJVU3hYUVVGWExFOUJRVTh4VkN4TFFVRkxjMU1zV1VGQlZ5eEZRVUZIZEZNc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWclJpeFBRVUZQTEZkQlFWY3NUMEZCVHpOVUxFdEJRVXR6VXl4WlFVRlhMRVZCUVVkMFV5eE5RVUZOU0N4RlFVRkZORThzVlVGQlZXMUdMRXRCUVVzc1YwRkJWeXhQUVVGUE5WUXNTMEZCU3pCVUxGVkJRVlV4VkN4TFFVRkxNa2tzVlVGQlZUTkpMRXRCUVVzMlZDeHZRa0ZCYjBJM1ZDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFhRVUZYTlVrc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrc1EwRkJRM0ZDTEZGQlFWRXNWVUZCVldwTExFdEJRVXQxUkN4VlFVRlZka1FzUzBGQlN6aFVMRzlDUVVGdlFqbFVMRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hYUVVGWE5Va3NTMEZCUzNWRUxGRkJRVkZ4Uml4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZWQlFWVnFTeXhOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWWE5HTEV0QlFVc3NWMEZCVnl4UFFVRlBMMVFzUzBGQlN6SlVMRk5CUVZNelZDeExRVUZMTWtrc1UwRkJVek5KTEV0QlFVczJWQ3h6UWtGQmMwSTNWQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVdwTExFdEJRVXMyVkN4elFrRkJjMEkzVkN4TFFVRkxObFFzYjBKQlFXOUNMRTFCUVUwM1ZDeExRVUZMZFVRc1UwRkJVM1pFTEV0QlFVczRWQ3h6UWtGQmMwSTVWQ3hMUVVGTGRVUXNVVUZCVVhGR0xFbEJRVWtzUTBGQlEzRkNMRkZCUVZGcVN5eExRVUZMT0ZRc2MwSkJRWE5DT1ZRc1MwRkJTemhVTEc5Q1FVRnZRaXhOUVVGTk9WUXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVnVUaXhMUVVGTExGTkJRVk50Unl4RlFVRkZNVWdzUjBGQlJ6QklMRVZCUVVWQkxFZEJRVWNzUjBGQlJ6ZElMRVZCUVVVclNDeExRVUZMTEVOQlFVTXNRMEZCUXl4VlFVRlZMRkZCUVZFc1EwRkJReXhUUVVGVExGRkJRVkVzVTBGQlV6ZElMRVZCUVVWRExFZEJRVWRETEV0QlFVdERMRkZCUVZGeFFpeExRVUZMZGtJc1JVRkJSU3hOUVVGTk1FZ3NSVUZCUlRGSUxFVkJRVVVzUzBGQlMwTXNTMEZCUzIxTExGRkJRVkVzVFVGQlRXNUxMRXRCUVV0dFN5eFBRVUZQSzBRc1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMZGtJc1JVRkJSU3hQUVVGUE1FZ3NSVUZCUlRGSUxFVkJRVVVzU1VGQlNVTXNTMEZCUzIxTExFOUJRVThyUkN4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVhGQ0xFdEJRVXQyUWl4RlFVRkZMRTFCUVUwc1MwRkJTM0ZITEV0QlFVdHdSeXhQUVVGUExFbEJRVWxHTEVWQlFVVkdMRVZCUVVVNFJpeFJRVUZQTEVWQlFVY3NSMEZCUnpGR0xFdEJRVXRETEZGQlFWRnhRaXhOUVVGTmRFSXNTMEZCUzJ0VUxHRkJRV0VzU1VGQlNUTkxMRVZCUVVWa0xFVkJRVVYxVFN4WlFVRlpiRlVzUlVGQlJXdFZMRmxCUVZrc1lVRkJZV3hOTEVWQlFVVk1MRVZCUVVWclJTeFZRVUZWTjB3c1JVRkJSVFpNTEZWQlFWVXNZVUZCWVRWRExFVkJRVVYwUWl4RlFVRkZkMDBzVTBGQlUyNVZMRVZCUVVWdFZTeFRRVUZUTEdGQlFXRnFUQ3hGUVVGRmRrSXNSVUZCUlhsTkxFOUJRVTl3VlN4RlFVRkZiMVVzVDBGQlR5eGhRVUZoY2xVc1JVRkJSVVFzUlVGQlJUaEdMRkZCUVU4c1JVRkJSelZHTEVWQlFVVXlTQ3hIUVVGSExFOUJRVTgxU0N4RlFVRkZiVlVzVjBGQlZ5eFRRVUZUYkZVc1IwRkJSMFFzUlVGQlJXZERMR05CUVdNM1FpeExRVUZMTWtrc1VVRkJVWEpHTEZWQlFWTXNTVUZCUzNwRUxFVkJRVVZuUXl4aFFVRmhMR1ZCUVdWb1F5eEZRVUZGWjBNc1kwRkJZMmhETEVWQlFVVnBReXhWUVVGVk9VSXNTMEZCU3l0Q0xHRkJRV0V5VEN4WFFVRlhMRmRCUVZjeFRpeExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNkMEpCUVhkQ2VrUXNSVUZCUlcxRExHOUNRVUZ2UW1wRExFVkJRVVZETEV0QlFVdHBWQ3gzUWtGQmRVSXNSVUZCUjJwVUxFdEJRVXR0UXl4WlFVRlpia01zUzBGQlN6aENMRkZCUVZGc1F5eEhRVUZGTEVsQlFVdERMRVZCUVVWcFF5eFJRVUZSYWtNc1JVRkJSV2xETEZGQlFWRXNiME5CUVc5RGEwTXNVMEZCVTJoRkxFdEJRVXR6U3l4WFFVRlhkRXNzUzBGQlMzbEpMR2RDUVVGblFpeFpRVUZaZWtrc1MwRkJTemhDTEZGQlFWRTRSeXhKUVVGSkxHRkJRV0UxU1N4TFFVRkxPRUlzVVVGQlVUaEhMRWxCUVVrc1EwRkJRM1ZNTEZWQlFWVXNZMEZCWXl4SFFVRkhibFVzUzBGQlMzbEpMR1ZCUVdWS0xHTkJRV01zVTBGQlUycERMRXRCUVV0d1J5eE5RVUZOTEVsQlFVbEJMRXRCUVV0blFpeFJRVUZSYVU4c1VVRkJVWEJRTEVWQlFVVnJReXhqUVVGakxFbEJRVWwzUnl4RlFVRkZia01zUzBGQlMzQkhMRXRCUVZCMVNTeERRVUZoZWtrc1NVRkJTWE5ITEV0QlFVdHdSeXhOUVVGTlNDeEZRVUZGT0V3c1UwRkJVeXhUUVVGVE4wd3NSMEZCUjBVc1MwRkJTeXRDTEdOQlFXTTRUU3hoUVVGaE4wOHNTMEZCU3l0Q0xHTkJRV012UWl4TFFVRkxNa2tzVVVGQlVYRkdMRmxCUVZrc1owVkJRV2RGYUU4c1MwRkJTemhDTEZOQlFWTTVRaXhMUVVGTE9FSXNVVUZCVVdsSExGRkJRVkV2U0N4TFFVRkxPRUlzVVVGQlVYRlJMRlZCUVZWMFV5eEZRVUZGYlVNc2IwSkJRVzlDYWtNc1JVRkJSVU1zUzBGQlMybFVMSGRDUVVGMVFpeEZRVUZIYWxRc1MwRkJTMjFETEZsQlFWbHVReXhMUVVGTGVWTXNXVUZCVnl4RlFVRkhNMHNzUlVGQlJURkNMRXRCUVV0d1J5eExRVUZRT0Vnc1EwRkJZV2hKTEVsQlFVbHpSeXhMUVVGTGNFY3NUVUZCVFVnc1JVRkJSVzlWTEZGQlFWRXNVMEZCVTI1VkxFZEJRVWRFTEVWQlFVVXJRaXhaUVVGWk5VSXNTMEZCU3pSQ0xGZEJRVmM1UWl4SFFVRkZMRXRCUVUxRExFVkJRVVZETEV0QlFVdHBWQ3gzUWtGQmRVSXNSVUZCUjJwVUxFdEJRVXR0UXl4WlFVRlpkRU1zUlVGQlJTdENMRmxCUVZrMVFpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdHRTeXhQUVVGUE0wa3NTMEZCU3l4cFFrRkJhVUl4UWl4SFFVRkhhVW9zUlVGQlJUTkRMRXRCUVV0d1J5eExRVUZRSzBrc1EwRkJZV3BLTEVsQlFVbHpSeXhMUVVGTGNFY3NUVUZCVFVnc1JVRkJSWEZWTEUxQlFVMHNVMEZCVTNCVkxFZEJRVWRyU2l4RlFVRkZOVU1zUzBGQlMzQkhMRXRCUVZCblNpeERRVUZoYkVvc1NVRkJTWE5ITEV0QlFVdHdSeXhOUVVGTlFTeExRVUZMYjFVc1dVRkJXWGhWTEVWQlFVVXdRaXhMUVVGTGVrSXNSMEZCUjBjc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWNVJTeFhRVUZYTEZkQlFWZHNWQ3hMUVVGTGIxVXNZMEZCWTNCVkxFdEJRVXR2VlN4WlFVRlpReXhSUVVGUmNsVXNTMEZCUzNsVExGbEJRVmNzU1VGQlN6VlRMRVZCUVVVMFR5eFZRVUZWTDBvc1RVRkJUU3hUUVVGVE5VVXNSVUZCUlVNc1IwRkJSeXhKUVVGSlJDeEZRVUZGTEU5QlFVOUZMRXRCUVVzc1NVRkJTWGxJTEVkQlFVYzFTQ3hGUVVGRmVWVXNUMEZCVVhwVkxFVkJRVVY1VlN4UFFVRlZlbFVzUlVGQlJYbFZMRTlCUVV3c1NVRkJZWGhWTEV0QlFVc3lTQ3hGUVVGRk4wZ3NSVUZCUlN4WlFVRlpRU3hGUVVGRkxGbEJRVmtzUTBGQlF6SlBMRWxCUVVsNlR5eEZRVUZGTEZOQlFWTnJSU3hUUVVGVGVVUXNSMEZCUnpkSUxFVkJRVVVzV1VGQldTeERRVUZETWs4c1NVRkJTWHBQTEVWQlFVVXNVMEZCVTJ0RkxGTkJRVk41UkN4SFFVRkhOVWdzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITWtnc1JVRkJSU3hKUVVGSk5VZ3NSVUZCUlhsVkxFOUJRVTk0VlN4SFFVRkhOa1VzVDBGQlQybERMRXRCUVV0dFNDeExRVUZMTEUxQlFVMW9UeXhGUVVGRlFTeEZRVUZGTEV0QlFVc3NTVUZCU1N4SFFVRkhMRWxCUVVsR0xFVkJRVVY1VlN4UFFVRlBlRlVzUjBGQlIzbFZMRkZCUVZFeFZTeEZRVUZGZVZVc1QwRkJUM2hWTEVkQlFVY3dWU3haUVVGWkxFVkJRVVVzVFVGQlRURlZMRWxCUVVrc1QwRkJUMFFzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITWxVc1QwRkJUM3BWTEUxQlFVMUlMRVZCUVVVMlZTeHBRa0ZCYVVJc1EwRkJRM0pKTEV0QlFVc3NTVUZCU1hOSkxGVkJRVlVzU1VGQlNVTXNUVUZCVFN4SlFVRkpReXhOUVVGTkxFbEJRVWxETEZGQlFWRXNTVUZCU1VNc1ZVRkJWU3hKUVVGSlF5eE5RVUZOTEVsQlFVbERMRTlCUVU4c1NVRkJTVU1zVDBGQlR5eEpRVUZKUXl4UlFVRlJMRWxCUVVsRExGRkJRVkVzU1VGQlNVTXNWMEZCVnl4SlFVRkpReXhWUVVGVkxFbEJRVWxETEZWQlFWVXNTMEZCU3pGV0xFVkJRVVUwVHl4VlFVRlZia1FzVVVGQlVTeFRRVUZUZUV3c1JVRkJSVU1zUjBGQlIwRXNSVUZCUlVFc1IwRkJSeXhIUVVGSFF5eExRVUZMZDFZc2JVSkJRVzFDZUZZc1MwRkJTM2RXTEdsQ1FVRnBRaXhKUVVGSmVsWXNSVUZCUlRSTExGVkJRVlUxU3l4RlFVRkZORXNzVVVGQlVUTkxMRXRCUVVzeVNTeFRRVUZUTlVrc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExITkNRVUZ6UW5wQ0xFVkJRVVUwU3l4UlFVRlJia29zUzBGQlN5eHZRa0ZCYjBJelFpeEZRVUZGTkZZc2RVSkJRWFZDTVZZc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExHOUNRVUZ2UW5wQ0xFVkJRVVUwU3l4UlFVRlJjVVFzV1VGQldXcFBMRVZCUVVVMFN5eFJRVUZSYmtvc1MwRkJTeXh0UWtGQmJVSkJMRXRCUVVzc2FVSkJRV2xDTEUxQlFVMTRRaXhMUVVGTGQxWXNhVUpCUVdsQ2VsWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSFZDUVVGMVFuRk9MR0ZCUVdFM1R5eExRVUZMZDFZc2FVSkJRV2xDZWxZc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExIZENRVUYzUW5wQ0xFVkJRVVUwU3l4UlFVRlJja2dzVTBGQlV5eHBRa0ZCYVVKNFJDeEhRVUZITUVJc1MwRkJTeXhwUWtGQmFVSXNhVUpCUVdsQ01VSXNSMEZCUjBVc1MwRkJTM2RXTEdsQ1FVRnBRbnBXTEVWQlFVVTBTeXhSUVVGUmJrb3NTMEZCU3l4elFrRkJjMEpyVFN4WFFVRlhMRmRCUVZjelRpeEZRVUZGTkVzc1VVRkJVWEZFTEZsQlFWbHFUeXhGUVVGRk5Fc3NVVUZCVVc1S0xFdEJRVXNzYlVKQlFXMUNRU3hMUVVGTExHbENRVUZwUWl4TlFVRk5la0lzUlVGQlJUUk1MRlZCUVZVMVRDeEZRVUZGTkV3c1dVRkJXVGxNTEVWQlFVVTJWU3hwUWtGQmFVSTFWU3hMUVVGTFJDeEZRVUZGTkU4c1ZVRkJWV2xJTEdOQlFXTXNVMEZCVXpOV0xFVkJRVVV3U0N4SFFVRkhMRWxCUVVsakxFVkJRVVVzUlVGQlJWUXNSVUZCUlN4RlFVRkZhVUlzUlVGQlJTeEZRVUZGUXl4RlFVRkZMRVZCUVVWdVNpeEZRVUZGTEVWQlFTdHVRaXhQUVVGUE5FZ3NSVUZCUlRkSUxFVkJRVVU0Uml4UFFVRjBiMElzUTBGQlEybFJMR1ZCUVdVc1IwRkJSME1zWTBGQllTeEhRVUVyYlVKdVR5eEhRVUZITVVnc1JVRkJSV2xKTEVkQlFVY3NkVUpCUVc1dVFpeFRRVUZYYkVrc1IwRkJSekpJTEVWQlFVVnRUeXhsUVVGbE9WWXNSVUZCUlc5SkxHTkJRV052UWl4VlFVRlZlRW9zUlVGQlJXOUpMR05CUVdOdlFpeFZRVUZWZUVvc1JVRkJSVUVzUlVGQlJXOUpMR05CUVdOdlFpeFJRVUZSTEVsQlFVa3NTVUZCU1dZc1NVRkJTVUVzUlVGQlJTeEZRVUZGVkN4RlFVRkZhRWtzUlVGQlJTdFdMRkZCUVZFNVRTeEZRVUZGYWtvc1JVRkJSV2RYTEZsQlFXZG5RbXhYTEVWQlFVVXNVVUZCVVc5SkxFZEJRVWNzYlVKQlFXNW5RaXhUUVVGWGJFa3NSMEZCUnl4SlFVRkplVWtzU1VGQlNVRXNSVUZCUlN4RlFVRkZNMElzUzBGQlMyMVFMRWxCUVVrdlRTeEhRVUZIY0VNc1MwRkJTMjFRTEVsQlFVbHNWeXhKUVVGSkswY3NTMEZCUzIxUUxFbEJRVWt2VFN4SFFVRkhka0lzUlVGQlJXdFBMR1ZCUVdVelRTeEZRVUZGTEVWQlFVVnFTaXhGUVVGRlpTeFJRVUZSYkVJc1JVRkJSVzlYTEUxQlFVMHNhVUpCUVdsQ2FsY3NSVUZCUldVc1VVRkJVV3hDTEVWQlFVVnZWeXhOUVVGTkxHdENRVUZyUW5CUUxFdEJRVXR0VUN4SlFVRkpiRmNzUjBGQlJ6UklMRVZCUVVWclR5eHBRa0ZCYVVJNVZpeEZRVUZGTEVWQlFVVkZMRVZCUVVWbExGRkJRVkZzUWl4RlFVRkZiMWNzVFVGQlRTeGxRVUZsYWxjc1JVRkJSV1VzVVVGQlVXeENMRVZCUVVWdlZ5eE5RVUZOTEhGQ1FVRjNVM0JYTEVWQlFVVXNVVUZCVVc5SkxFZEJRVWNzYzBKQlFXeFRMRk5CUVZkc1NTeEhRVUZITEVsQlFVbERMRVZCUVVVc1NVRkJTWGRKTEVsQlFVbDRTU3hIUVVGSFJDeEZRVUZGUVN4RlFVRkZiMGtzWTBGQlkyOUNMRkZCUVZGNFNpeEZRVUZGYjBrc1kwRkJZMjlDTEZGQlFWRXNSMEZCUjNoS0xFZEJRVWNyVml4UlFVRlJMMDRzUlVGQlJXaEpMRVZCUVVWQkxFVkJRVVZuVnl4UlFVRlJMMDBzUjBGQlIyNURMRXRCUVV0dFVDeEpRVUZKYUZjc1IwRkJSekJJTEVWQlFVVnJUeXhuUWtGQlowSXZUeXhMUVVGTGJWQXNTVUZCU1dwWExFZEJRVWN5U0N4RlFVRkZhMDhzYTBKQlFXdENjRTRzUlVGQlJTeEZRVUZGVXl4RlFVRkZha29zUlVGQlJVWXNSVUZCUlVNc1RVRkJiVWxETEVkQlFVZEdMRVZCUVVVMFR5eFZRVUZWZDBnc1VVRkJVU3hYUVVGWExFOUJRVTlxVnl4TFFVRkxPRThzVTBGQlV6bFBMRXRCUVVzMFRpeFJRVUZSTlU0c1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hKUVVGTGNrb3NTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxNa2tzVVVGQlVYZEtMRk5CUVZOdVV5eExRVUZMZFVRc1UwRkJVM1pFTEV0QlFVdDFSQ3hSUVVGUk5FOHNVMEZCVTI1VExFdEJRVXR4VXl4VFFVRlRjbE1zUzBGQlMzRlRMRkZCUVZGR0xGTkJRVk51VXl4TFFVRkxiMU1zWVVGQldTeEZRVUZIY0ZNc1RVRkJUVWdzUlVGQlJYZEhMR05CUVdOMlJ5eEZRVUZGTEVWQlFVVXNWMEZCVnl4UFFVRlBRU3hOUVVGTlJDeEZRVUZGTkZZc2NVSkJRWEZDTVZZc1JVRkJSU3hGUVVGRkxGZEJRVmNzVDBGQlQwRXNUVUZCVFVZc1JVRkJSWGRHTEdWQlFXVXNSMEZCUjNoR0xFVkJRVVZ4Vnl4UFFVRlBMRk5CUVZOd1Z5eEZRVUZGUXl4SFFVRkhSaXhGUVVGRmQwWXNaVUZCWlhaR0xFZEJRVWRETEVkQlFVZElMRVZCUVVWMVZ5eEhRVUZIUXl4TFFVRkxMRk5CUVZOMFZ5eEZRVUZGUXl4SFFVRkhMRTlCUVU5QkxFVkJRVVZCTEVkQlFVY3NSMEZCUnl4SlFVRkpSaXhGUVVGRlF5eEZRVUZGUVN4SFFVRkhMRWRCUVVkR0xFVkJRVVU0Uml4UFFVRlBNMFlzUlVGQlJTeERRVUZEWXl4UFFVRlBZaXhUUVVGVFNDeEZRVUZGTEZOQlFWTjNWeXh0UWtGQmJVSkVMRXRCUVV0RkxGRkJRVkVzU1VGQlNVWXNTMEZCUzBZc1QwRkJUeXhWUVVGVkxFTkJRVU5MTEdOQlFXTXNVMEZCVTBNc1lVRkJZU3hUUVVGVFF5eFJRVUZSTEV0QlFVdERMRTlCUVU4c1MwRkJTME1zWjBKQlFXVXNSVUZCUjNwVkxFOUJRVTkxUkN4UFFVRlBhRVFzVDBGQlRTeEZRVUZITlVJc1QwRkJUeXhwUWtGQmFVSkpMRmRCUVZjc1pVRkJaVVFzVVVGQlVTeHBRMEZCYVVOWUxGTkJRVk1zU1VGQlNVVXNVMEZCVXl4SlFVRkpNa1FzWVVGQldTeEZRVUZIVGl4WlFVRlhMRVZCUVVkRExHTkJRV0VzUlVGQlIwVXNZVUZCV1N4RlFVRkhVaXhUUVVGUkxFVkJRVWRJTEZWQlFWVXNVMEZCVTNKRExHZENRVUZsTEVWQlFVYzJWaXhWUVVGVkxGTkJRVk01Vnl4SFFVRkhMRWxCUVVsRExFVkJRVVZETEV0QlFVdERMRkZCUVZGM1Z5eFZRVUZWTVZjc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVVzc1YwRkJWM0JQTEVWQlFVVnZUeXhMUVVGTExGZEJRVmR3VHl4RlFVRkZiMDhzUzBGQlN5eFJRVUZSY0U4c1JVRkJSVzlQTEV0QlFVc3NWVUZCVlN4blFrRkJaMEp3VHl4RlFVRkZiMDhzUzBGQlN5eFJRVUZSTEU5QlFVOXdUeXhGUVVGRmIwOHNTMEZCU3l4VlFVRlZMRTFCUVUwc01rSkJRVEpDY0U4c1JVRkJSVzlQTEV0QlFVc3NVVUZCVVN4TFFVRkxMRWRCUVVkd1R5eEZRVUZGSzFjc1MwRkJTeXhWUVVGVkxFMUJRVTF5Vml4TFFVRkxMSE5DUVVGelFucENMRXRCUVVzclZ5eFhRVUZYTEZkQlFWYzVWeXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zWTBGQlkzUkVMRXRCUVV0dlFpeFBRVUZQYTFZc1QwRkJUeXh6UTBGQmMwTkJMRTlCUVU4c2FVVkJRV2xGY2tnc1MwRkJTMnBRTEV0QlFVdERMRkZCUVZGMVZ5eGpRVUZqZUU4c1IwRkJSeXhaUVVGWkxGZEJRVmRvU1N4TFFVRkxReXhSUVVGUmVWY3NVVUZCVVRGWExFdEJRVXRETEZGQlFWRjVWeXhQUVVGUE1WY3NTMEZCUzIxTExGRkJRVkZ1U3l4TFFVRkxiMG9zVTBGQlUyaEVMRXRCUVV0d1J5eFBRVUZQWjBVc1UwRkJVMmhGTEV0QlFVdHZRaXhSUVVGUmNFSXNTMEZCU3l0WExHRkJRV0ZVTEU5QlFVOHNhVVZCUVdsRmNrZ3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRnpWeXhsUVVGbGRsTXNVMEZCVTJoRkxFdEJRVXR2UWl4UlFVRlJjRUlzUzBGQlMyOUNMRTlCUVU4MFF5eFRRVUZUYUVVc1MwRkJTM05MTEZsQlFWa3dUU3hSUVVGUkxGZEJRVmRvV0N4TFFVRkxLMWNzWVVGQllXeE9MRWxCUVVrc2NVSkJRWEZDTjBvc1MwRkJTMFVzUjBGQlJ5eHZRa0ZCYjBKR0xFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExIRkNRVUZ4UW1oSkxFdEJRVXRGTEVkQlFVY3NiMEpCUVc5Q1JpeExRVUZMUlN4SFFVRkhMRmRCUVZkR0xFdEJRVXRETEZGQlFWRjNWeXhSUVVGUmVsY3NTMEZCUzBNc1VVRkJVWGRYTEZGQlFWRjZWeXhMUVVGTGJVc3NVVUZCVVRoTkxFdEJRVXRxV0N4TFFVRkxiVXNzVDBGQlR6TkpMRXRCUVVzc2QwSkJRWGRDZUVJc1MwRkJTME1zVVVGQlVUQlhMR2RDUVVGblFqTlhMRXRCUVV0dlNpeFRRVUZUYUVRc1MwRkJTM0JITEZWQlFWVXNVMEZCVTJ0WUxHbENRVUZwUW5CWUxFVkJRVVZyU2l4SFFVRkhMRWxCUVVsc1NpeEZRVUZGYjFjc1QwRkJUeXhSUVVGUkxFTkJRVU16U0N4SlFVRkpMRTlCUVU4MFNTeFJRVUZSTEd0Q1FVRnJRa01zVjBGQlZ5eFJRVUZSUXl4VlFVRlZMRWxCUVVsRExGVkJRVlVzVlVGQlZVTXNZMEZCWVN4RlFVRkhReXh6UWtGQmMwSXNTVUZCU1VNc1owSkJRV1VzUlVGQlIwTXNiVUpCUVcxQ0xFdEJRVXRETEd0Q1FVRnJRaXhMUVVGTFF5eG5Ra0ZCWjBJc1MwRkJTME1zYzBKQlFYTkNMRXRCUVV0RExHMUNRVUZyUWl4RlFVRkhOVllzVDBGQlQzVkVMRTlCUVU4MVJTeFBRVUZQTEc5Q1FVRnZRalJDTEU5QlFVMHNSVUZCUjNsQ0xHRkJRVmtzUlVGQlIwNHNXVUZCVnl4RlFVRkhReXhoUVVGaExGTkJRVk5GTEdGQlFWa3NSVUZCUjFJc1UwRkJVU3hGUVVGSFNDeFZRVUZWTEZOQlFWTnlReXhuUWtGQlpTeEZRVUZIV2l4TlFVRk5MRTlCUVU5RExFOUJRVThzVDBGQlQzZERMR1ZCUVdVc1EwRkJRekJFTEVsQlFVa3NSMEZCUjBNc1RVRkJUU3hGUVVGRlF5eFBRVUZQTEVkQlFVZERMRXRCUVVzc1IwRkJSM05TTEZGQlFWRXNWMEZCVnk5WUxFdEJRVXRuV1N4UFFVRlBhRmtzUzBGQlMybFpMR0ZCUVdFc1IwRkJSMnBaTEV0QlFVdHJXU3haUVVGWkxFVkJRVVZzV1N4TFFVRkxiVmtzVlVGQlZTeFRRVUZUY2xrc1IwRkJSeXhKUVVGSlF5eEZRVUZGTUVnc1IwRkJSek5JTEVWQlFVVnJTaXhGUVVGRmJFb3NTVUZCU1RCQ0xFdEJRVXNzZDBKQlFYZENla0lzUlVGQlJVUXNSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUmMwOHNTMEZCUzNaUExFdEJRVXRETEZGQlFWRXlXQ3hwUWtGQmFVSTFXQ3hMUVVGTFF5eFJRVUZSTkZnc2RVSkJRWFZDTDFnc1JVRkJSVzlQTEV0QlFVdHNUeXhMUVVGTFF5eFJRVUZSTWxnc2EwSkJRV3RDTlU4c1JVRkJSWFpFTEZGQlFWRjBSaXhUUVVGVFNDeExRVUZMUXl4UlFVRlJORmdzZDBKQlFYZENPVmdzUlVGQlJVUXNSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUk1sZ3NhMEpCUVd0Q2JsRXNSVUZCUlROSUxFVkJRVVZ2VHl4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVd0WUxGVkJRVlVzVlVGQlZXNVlMRXRCUVV0bldTeFBRVUZQZGxFc1MwRkJTM3BJTEV0QlFVdG5XU3hQUVVGUGRsRXNSMEZCUnl4SlFVRkpla2dzUzBGQlMyZFpMRTlCUVU5MlVTeEhRVUZITkVjc1MwRkJTeXhEUVVGRFJTeEpRVUZKZUU4c1JVRkJSWEZaTEUxQlFVMTBXU3hGUVVGRmIwOHNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnRXQ3hoUVVGaExFZEJRVWRwUWl4WlFVRlpjbGtzUzBGQlMwTXNVVUZCVVRCWUxHMUNRVUZ0UWpkWUxFVkJRVVZ2VHl4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVRCWUxHMUNRVUZ0UWpkWUxFVkJRVVZ2VHl4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVRCWUxHMUNRVUZ0UWl4UFFVRlBMRk5CUVZNeldDeExRVUZMUXl4UlFVRlJiVmdzV1VGQldYUllMRVZCUVVVMFR5eFhRVUZYTEZOQlFWTTFUeXhGUVVGRk1FSXNTMEZCU3l4eFFrRkJjVUpwUnl4SFFVRkhNMGdzUlVGQlJUQkNMRXRCUVVzc1owSkJRV2RDZUVJc1MwRkJTMmRaTEU5QlFVOTJVU3hIUVVGSFRTeFBRVUZQTEV0QlFVc3pRaXhMUVVGTGNFY3NUVUZCVFVFc1MwRkJTekpQTEd0Q1FVRnJRak5QTEV0QlFVc3lUeXhwUWtGQmFVSTFSeXhSUVVGUmFVSXNSVUZCUlhKQ0xFdEJRVXN6U0N4TFFVRkxNazhzYVVKQlFXbENMRk5CUVZNM1R5eEZRVUZGUXl4SFFVRkhReXhMUVVGTGJWa3NWVUZCVlhCWkxFbEJRVWx4Unl4TFFVRkxjRWNzVDBGQlR5eEpRVUZKSzBrc1JVRkJSU3hUUVVGVGFrb3NSVUZCUlVNc1JVRkJSVEJJTEVWQlFVVmpMRWRCUVVjc1NVRkJTVk1zUlVGQlJTeGxRVUZsYkVvc1JVRkJSU3hKUVVGSlF5eEhRVUZIWjBrc1QwRkJUeXhEUVVGRExFbEJRVWxFTEVWQlFVVnJRaXhGUVVGRkxGTkJRVk1zUTBGQlF6bEpMRWRCUVVjc1kwRkJZMG9zUlVGQlJTeEpRVUZKUXl4RlFVRkZhVXNzVFVGQlRTeDNRa0ZCZDBKMlF5eEZRVUZGTEdWQlFXVXpTQ3hGUVVGRkxGZEJRVmNzVFVGQlRUaEpMRWxCUVVrc1EwRkJRekJRTEdWQlFXVjBXU3hMUVVGTFF5eFJRVUZSY1Znc1ZVRkJWWEJPTEZGQlFWRXpRaXhGUVVGRkxFVkJRVVVzUlVGQlJUbEZMRTlCUVU5blJTeEZRVUZGZWtnc1MwRkJTMnRaTEdOQlFXTXNTVUZCU1d4VkxGTkJRVk5vUlN4TFFVRkxaMElzVTBGQlV5eFBRVUZQYUVJc1MwRkJTekJXTEdOQlFXTTFUaXhIUVVGSFJTeEhRVUZITERaQ1FVRTJRaXhUUVVGVGJFa3NSMEZCUnl4alFVRmpRU3hGUVVGRk5rWXNTMEZCU3pOR0xFdEJRVXQxV1N4VlFVRlZMRkZCUVZFc1pVRkJaWHBaTEVWQlFVVTJSaXhOUVVGTk0wWXNTMEZCUzNWWkxGVkJRVlVzVTBGQlUyNVRMRXRCUVV0d1J5eFBRVUZQWjBvc1JVRkJSU3hUUVVGVExFTkJRVU01U1N4SFFVRkhMRzlDUVVGdlFrb3NSVUZCUlN4SlFVRkpReXhGUVVGRmFVc3NUVUZCVFN4dlFrRkJiMEoyUXl4RlFVRkZMRlZCUVZVc1RVRkJUWGRJTEV0QlFVdHFVQ3hMUVVGTFoxa3NUMEZCVDJ4WkxFZEJRVWRETEVkQlFVZHhXU3hQUVVGUGNGRXNSMEZCUnl4WlFVRlpMRmRCUVZkblFpeEZRVUZGYUVvc1RVRkJUWGRaTEZsQlFWa3NZMEZCWTNoVkxGTkJRVk5vUlN4TFFVRkxlVmtzY1VKQlFYRkNhRklzUjBGQlIwc3NSVUZCUlhkRUxGRkJRVkVzUTBGQlEzQkNMRkZCUVZFc1IwRkJSek5DTEVWQlFVVXNSVUZCUlhaSkxFdEJRVXRETEZGQlFWRnZXQ3hYUVVGWGRsQXNTVUZCU1RGQ0xFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTE1Ga3NZMEZCWXl4VFFVRlROVmtzUjBGQlJ5eEpRVUZKUXl4RlFVRkZaMGNzVTBGQlV6UkxMR05CUVdNc1MwRkJTelZSTEVWQlFVVTBXU3hMUVVGTE4xa3NSVUZCUlVNc1JVRkJSVFpJTEdGQlFXRXNWMEZCVnpsSUxFVkJRVVU0V1N4VlFVRlZPVmtzUlVGQlJYTlBMRmxCUVZrc1MwRkJTeXhKUVVGSmNra3NVMEZCVXpoTExFdEJRVXR5Unl4WlFVRlpla3NzUjBGQlIwRXNSVUZCUlRoWkxGTkJRVk1zU1VGQlNTOVJMRVZCUVVVc1UwRkJVeTlJTEVWQlFVVXdTQ3hGUVVGRk0wZ3NSVUZCUlhsSkxFZEJRVWNzU1VGQlNWUXNSVUZCUldsQ0xFVkJRVVZvU2l4RlFVRkZNRWdzUlVGQlJUTklMRVZCUVVWNVNTeEhRVUZIVkN4RlFVRkZlRVVzVTBGQlV5eHpRa0ZCYzBJd1JpeEZRVUZGTEdGQlFXRm9TaXhMUVVGTFoxa3NUMEZCVDJwWkxFZEJRVWN3U0N4SFFVRkhPRWNzU1VGQlNTeFJRVUZSTlVjc1MwRkJTeXhYUVVGWExFbEJRVWszU0N4RlFVRkZMRWxCUVVsbldpeE5RVUZOYUZvc1JVRkJSV2xhTEU5QlFVOHNWMEZCVjJwU0xFVkJRVVZyUnl4WlFVRlpMSE5DUVVGelFteEhMRVZCUVVWakxFbEJRVWtzUTBGQlEyOVJMR2RDUVVGblFpeFJRVUZSYUZvc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSE1FZ3NSMEZCUnpoSExFbEJRVWtzVVVGQlVXNUpMRXRCUVV0d1J5eE5RVUZOUml4RlFVRkZiVm9zVVVGQlVTeFhRVUZYYmxJc1JVRkJSV3RITEZsQlFWa3NjMEpCUVhOQ2JFY3NSVUZCUlhoRkxGTkJRVk1zZVVKQlFYbENPRU1zUzBGQlMzQkhMRTFCUVUxR0xFVkJRVVY1VHl4SlFVRkpkazhzUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZITUVnc1IwRkJSemhITEV0QlFVdHVTU3hMUVVGTGNFY3NVVUZCVVc5SExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGRWa3NWVUZCVlN4VFFVRlRlbGtzUjBGQlJ5eEpRVUZKUXl4RlFVRkZNRWdzUlVGQlJXTXNSVUZCUlN4SFFVRkhMRkZCUVZGNlNTeEZRVUZGUXl4RlFVRkZReXhMUVVGTGFWa3NZVUZCWVdRc1VVRkJVVFZQTEVkQlFVZEJMRVZCUVVWMlNTeExRVUZMYVZrc1lVRkJZUzlZTEUxQlFVMHNVVUZCVVVvc1NVRkJTU3hGUVVGRkxFbEJRVWxGTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzUlVGQlJTeEZRVUZGVVN4RlFVRkZMRVZCUVVWMlNTeExRVUZMWjFrc1QwRkJUMnBaTEVkQlFVZG5TU3hQUVVGUExFVkJRVVZSTEUxQlFVMHNRMEZCUXl4SFFVRkhka2tzUzBGQlMyMUxMRTlCUVU5d1N5eEZRVUZGUXl4TFFVRkxiVXNzVDBGQlR6TkpMRXRCUVVzc2MwSkJRWE5DSzBjc1JVRkJSWFpKTEV0QlFVdHRTeXhQUVVGUE0wa3NTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eEpRVUZKZUVJc1MwRkJTekpQTEcxQ1FVRnRRak5QTEV0QlFVc3lUeXhwUWtGQmFVSTFSeXhQUVVGUExFOUJRVTlvU1N4RlFVRkZhVW9zUlVGQlJXaEtMRXRCUVVzeVR5eHBRa0ZCYVVJc1NVRkJTVzVPTEV0QlFVc3NjMEpCUVhOQ0swY3NSVUZCUlZNc1JVRkJSV2hLTEV0QlFVc3lUeXhwUWtGQmFVSXNTVUZCU1c1T0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMyZFpMRkZCUVZGb1dTeExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVbHBTaXhGUVVGRkxITkVRVUZ6UkVvc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4RlFVRkZha3NzUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZIWjBrc1QwRkJUeXhSUVVGUkxGTkJRVk5wUWl4RlFVRkZMR1ZCUVdWcVNpeEZRVUZGTEZsQlFWbG5TU3hSUVVGUmFVSXNSVUZCUlN4bFFVRmxha29zUlVGQlJTeFpRVUZaYVU4c1dVRkJXU3hqUVVGamFrOHNSVUZCUlN4WlFVRlpkVXdzVVVGQlVTeERRVUZEY0VJc1VVRkJVU3hIUVVGSExGRkJRVkZ3U3l4RlFVRkZMRVZCUVVWRkxFdEJRVXRETEZGQlFWRnZXQ3hYUVVGWGNsZ3NTMEZCUzJsWkxHRkJRV0VzUTBGQlEyUXNVVUZCVVhCWUxFVkJRVVZITEVkQlFVZHhTU3hIUVVGSFV5eEZRVUZGTEdWQlFXVnFTaXhGUVVGRkxFbEJRVWwzU1N4SFFVRkhVaXhQUVVGUGFVSXNSVUZCUlN4bFFVRmxha29zUlVGQlJTeEpRVUZKZDBrc1IwRkJSMnBHTEZOQlFWTXNZMEZCWTNaRUxFVkJRVVVzV1VGQldUWkpMRWxCUVVrc1EwRkJRMjVHTEU5QlFVOTZSQ3hMUVVGTGExa3NZMEZCWTJoUExGRkJRVkVzU1VGQlNXOUNMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnl4UlFVRlJjRXNzUlVGQlJTeEZRVUZGUlN4TFFVRkxReXhSUVVGUmIxZ3NWMEZCVjNaUUxFVkJRVVV2U0N4RlFVRkZkMGtzUjBGQlJTeEZRVUZITEZOQlFWTjZTU3hIUVVGSE1rZ3NSVUZCUlRGSUxFVkJRVVZFTEVWQlFVVjVTU3hGUVVGRlV5eEZRVUZGTERSQ1FVRTBRbWRHTEZsQlFWa3NiVUpCUVcxQ2FFWXNSVUZCUlN4eFFrRkJjVUoyUWl4RlFVRkZMRWxCUVVrelNDeEhRVUZIZDBRc1UwRkJVeXhWUVVGVmRFUXNTMEZCUzNWWUxHVkJRV1YyV0N4TFFVRkxaMWtzVDBGQlQycFpMRWxCUVVrc1JVRkJSVU1zUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZIWjBrc1VVRkJVUzlJTEV0QlFVc3lTU3hSUVVGUmNrWXNVMEZCVXl3d1FrRkJNRUowUkN4TFFVRkxkVmdzWVVGQllUbE5MRXRCUVVzc01rSkJRVEpDZDBVc1MwRkJTMnBRTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxGRkJRVkV2U0N4TFFVRkxkVmdzWVVGQllUbE5MRXRCUVVzc0swSkJRU3RDZDBVc1MwRkJTekZITEVWQlFVVXNTVUZCU1haSkxFdEJRVXN5U1N4UlFVRlJjVVlzV1VGQldTd3lRa0ZCTWtKb1R5eExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVbERMRXRCUVV0bldTeFBRVUZQYWxrc1IwRkJSMmRKTEU5QlFVOHNTVUZCU1ZFc1IwRkJSMEVzUjBGQlNTeEhRVUZIZGtrc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NUMEZCVHl4RlFVRkZMRVZCUVVWUkxFVkJRVVVzUlVGQlJYWkpMRXRCUVV0bldTeFBRVUZQYWxrc1IwRkJSMmRKTEU5QlFVOHNSVUZCUlZFc1JVRkJSVk1zUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3hKUVVGSmQwa3NSMEZCUjFJc1VVRkJVVVFzUlVGQlJTOUlMRVZCUVVWM1NTeEhRVUZGTEVkQlFVY3NTMEZCVFhaSkxFdEJRVXRETEZGQlFWRTJXQ3h0UWtGQmJVSTVUeXhGUVVGRmRrUXNVVUZCVVhWRExFZEJRVWNzVDBGQlR5eFhRVUZYYUVrc1MwRkJTM1ZaTEZWQlFWVXNVMEZCVTI1VExFdEJRVXR3Unl4UlFVRlJORmNzVlVGQlZTeFRRVUZUT1Zjc1IwRkJSMFVzUzBGQlMyMVpMRmRCUVZkdVdTeExRVUZMYlZrc1ZVRkJWWEpaTEVsQlFVbG5XQ3hYUVVGWExGZEJRVmM1Vnl4TFFVRkxhMW9zYTBKQlFXdENiRkVzUlVGQlJTd3lRMEZCTWtOb1JpeFRRVUZUYUVVc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTGJWb3NaMEpCUVdkQ2JsRXNSVUZCUlN3d1EwRkJNRU5vUWl4SFFVRkhMRmxCUVZrc1YwRkJWMmhKTEV0QlFVdDFXU3hWUVVGVkxGTkJRVk51VXl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzI5YUxHZENRVUZuUW5CUkxFVkJRVVVzTUVOQlFUQkRhRUlzUjBGQlJ5eFpRVUZaTEZkQlFWZG9TU3hMUVVGTGRWa3NWVUZCVlN4VFFVRlRibE1zUzBGQlMzQkhMRTlCUVU5QkxFdEJRVXQ1V1N4dlFrRkJiMEo2VUN4RlFVRkZMRFpEUVVFMlEyaEtMRXRCUVV0cldpeHJRa0ZCYTBJelR5eFBRVUZQZGtzc1MwRkJTMjFhTEdsQ1FVRnBRalZQTEU5QlFVOTJTeXhMUVVGTGVWa3NjVUpCUVhGQ2JFOHNUMEZCVDNaTExFdEJRVXR2V2l4cFFrRkJhVUp3V2l4TFFVRkxReXhSUVVGUmQxZ3NhVUpCUVdsQ2VsZ3NTMEZCUzNsWUxHVkJRV1Y2VHl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNkVU5CUVhWRGFFY3NVMEZCVTJoRkxFdEJRVXN5U1N4VFFVRlRORUlzVDBGQlQzWkxMRXRCUVV0RExGRkJRVkY1V0N4dFFrRkJiVUl4VHl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNiME5CUVc5RGFVWXNTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjVXQ3h2UWtGQmIwSXNUVUZCVFc1T0xFOUJRVTkyUWl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNjVU5CUVhGRGFFTXNSMEZCUnl4WlFVRlpMRmRCUVZjc1NVRkJTV3hKTEVWQlFVVkJMRVZCUVVWRkxFdEJRVXRuV1N4UFFVRlBhRmtzUzBGQlMybFpMR0ZCUVdGa0xGTkJRVk51V0N4TFFVRkxhVmtzWVVGQllTOVlMRWxCUVVsdFdTeGhRVUZoY2xrc1MwRkJTekpKTEZGQlFWRTRRaXhMUVVGTExHVkJRV1Y2U3l4TFFVRkxhVmtzWVVGQllXUXNVVUZCVVN4WlFVRlpMRWRCUVVkNlR5eE5RVUZOYzFFc1owSkJRV2RDTTFJc1RVRkJUU3hIUVVGSExFZEJRVWRGTEZGQlFWRXNVVUZCVVN4SlFVRkpka2dzUzBGQlN6QlpMR05CUVdNMVdTeEpRVUZKYzBjc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0RExGRkJRVkZ6V0N4bFFVRmxkbGdzUzBGQlMzVllMR0ZCUVdGMlR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzYVVOQlFXbERjVkFzV1VGQldYSmFMRXRCUVV0NVdTeHhRa0ZCY1VKNldTeExRVUZMZFZnc1lVRkJZV2hPTEU5QlFVOTJRaXhGUVVGRkxGVkJRVlVzUTBGQlEyZENMRTFCUVUwc1owTkJRV2REVHl4UFFVRlBka0lzUlVGQlJTeFhRVUZYYVVjc1MwRkJTMnBRTEV0QlFVdERMRkZCUVZGMVdDeDNRa0ZCZDBKcVRpeFBRVUZQZGtJc1JVRkJSU3hWUVVGVkxFTkJRVU5uUWl4TlFVRk5MRGhDUVVFNFFtZE9MRkZCUVZFc1YwRkJWMmhQTEVWQlFVVnFSQ3hWUVVGVmFVTXNSMEZCUnl4dlFrRkJiMEpvU1N4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVY3NTVUZCU1VFc1JVRkJSWGxUTEZOQlFWTjJVeXhMUVVGTGRWa3NWVUZCVlN4UlFVRlJMRWxCUVVsNldTeEZRVUZGZVZNc1UwRkJVM1pUTEV0QlFVdDFXU3hWUVVGVkxGTkJRVk51VXl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzNWWkxGVkJRVlVzVTBGQlUyVXNVMEZCVXl4WFFVRlhkRkVzUlVGQlJXcEVMRlZCUVZVNFJDeEpRVUZKTEc5Q1FVRnZRamRLTEV0QlFVdEZMRXRCUVV0eFdpeHBRa0ZCYVVJc1YwRkJWM1phTEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4NVFrRkJlVUkzUWl4SlFVRkpMRlZCUVZVc1RVRkJUU3hUUVVGVE5GRXNhMEpCUVd0Q01Wb3NSVUZCUld0S0xFZEJRVWNzU1VGQlNXeEtMRVZCUVVWdlZ5eFBRVUZQTEZOQlFWTXNRMEZCUTNWRUxFMUJRVTBzUzBGQlMwTXNUMEZCVFN4RlFVRkhReXhoUVVGaExFZEJRVWR5Vml4VlFVRlZMRWxCUVVrNVFpeFhRVUZYTEVOQlFVTktMRVZCUVVVc1VVRkJVVU1zUlVGQlJTeFBRVUZQUml4VFFVRlRMRU5CUVVORExFVkJRVVVzUjBGQlIwTXNSVUZCUlN4SlFVRkpkVmdzYjBKQlFXOUNMRU5CUVVORExFbEJRVWtzUTBGQlEzcFlMRVZCUVVVc1JVRkJSVU1zUlVGQlJTeEhRVUZIZVZnc1NVRkJTU3hEUVVGRE1WZ3NSVUZCUlN4SFFVRkhReXhGUVVGRkxFdEJRVXRJTEU5QlFVOTFSQ3hQUVVGUGFFUXNUMEZCVFN4RlFVRkhWeXhWUVVGVkxGTkJRVk5UTEdGQlFXRXNUVUZCVFVvc1QwRkJUeXhMUVVGTGMxVXNVVUZCVVN4WFFVRlhMMWdzUzBGQlN5dGFMSE5DUVVGelFpOVJMRVZCUVVWMFJDeFBRVUZQTEVkQlFVY3hSaXhMUVVGTFF5eFJRVUZSYTBNc1ZVRkJWVzVETEV0QlFVdG5ZU3h4UWtGQmNVSXNWMEZCVnl4SlFVRkpiR0VzUlVGQlJXdEtMRVZCUVVWMlJDeFJRVUZSWjBNc1JVRkJSVE5JTEVWQlFVVkxMRkZCUVZGTUxFVkJRVVZOTEZOQlFWTktMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlROa2NzUlVGQlJYUkVMRTlCUVU4c1IwRkJSekZHTEV0QlFVc3JXaXgxUWtGQmRVSXZVU3hGUVVGRmNrSXNTMEZCU3pOSUxFdEJRVXRETEZGQlFWRXlXaXh2UWtGQmIwSXNVMEZCVXpsYUxFVkJRVVZETEVkQlFVY3NSMEZCUnpCSUxFZEJRVWN6U0N4RlFVRkZMRTlCUVU5RkxFdEJRVXRETEZGQlFWRnJReXhUUVVGVGNFTXNSMEZCUlN4SFFVRkpjVWNzUzBGQlMzQkhMRTlCUVU5QkxFdEJRVXRETEZGQlFWRXlReXhsUVVGbExFTkJRVU13UkN4SlFVRkpkRWNzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVWQlFVVnJSU3hOUVVGTmRrY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkRMRVZCUVVWdlJTeFBRVUZQZUVjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFVkJRVVZ2UlN4TFFVRkxla2NzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVsQlFVbHdReXhMUVVGTFF5eFJRVUZSWlN4dFFrRkJiVUpuU1N4SlFVRkphRW9zUzBGQlMwTXNVVUZCVVdVc1VVRkJVV2hDTEV0QlFVdERMRkZCUVZGbExGRkJRVkZwV2l4UlFVRlJMMHdzUzBGQlN5eExRVUZMTEV0QlFVdHNSaXhGUVVGRmRrUXNVVUZCVVhWRExFZEJRVWNzSzBKQlFTdENhRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSFJTeExRVUZMTkU0c1VVRkJVVFZPTEV0QlFVdG5ZU3gzUWtGQmQwSTFWQ3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTeXRNTEZGQlFWRXJTeXhYUVVGWExGZEJRVmM1Vnl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc2EwTkJRV3REZEVRc1MwRkJTME1zVVVGQlVYZGFMRTlCUVU4c1UwRkJVM3BhTEV0QlFVc3lTU3hSUVVGUmJrZ3NTMEZCU3l4MVFrRkJkVUo0UWl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1JVRkJSU3hKUVVGSmNFTXNTMEZCUzBNc1VVRkJVWFZETEZkQlFWZElMRWxCUVVreVZTeFJRVUZSTEZkQlFWZG9XQ3hMUVVGTFF5eFJRVUZSZVZvc1VVRkJVVEZhTEV0QlFVdG5ZU3gxUWtGQmRVSm9VaXhGUVVGRmNrSXNTMEZCUzNGQ0xFVkJRVVVzWjBKQlFXZENMRk5CUVZOc1NpeEZRVUZGUXl4SlFVRkpRU3hGUVVGRmFVb3NSVUZCUldwS0xFbEJRVWx0VHl4TFFVRkxMRTlCUVU5c1R5eExRVUZMUlN4SlFVRkpTQ3hGUVVGRmVVSXNTMEZCU3l4NVFrRkJlVUo0UWl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1JVRkJSU3hKUVVGSmNFTXNTMEZCUzBNc1VVRkJVWFZETEZkQlFWZElMRWxCUVVseVF5eExRVUZMUXl4UlFVRlJlVm9zVDBGQlR6TmFMRVZCUVVWNVFpeExRVUZMTEZGQlFWRTBTQ3hOUVVGTkxFTkJRVU5ETEdGQlFWa3NUVUZCVDJwRUxFdEJRVXR3Unl4VFFVRlRhMkVzV1VGQldTeFhRVUZYTEVsQlFVbHdZU3hGUVVGRmVVa3NSVUZCUlN4SFFVRkhMRWxCUVVsNlNTeExRVUZMYTBvc1JVRkJSWEpDTEV0QlFVdHhRaXhGUVVGRkxHZENRVUZuUWl4VFFVRlRiRW9zUlVGQlJVTXNSMEZCUnl4SlFVRkpNRWdzUjBGQlJ6RklMRVZCUVVWcFNpeEZRVUZGYWtvc1NVRkJTWGxDTEV0QlFVc3NkMEpCUVhkQ0swY3NSVUZCUldRc1MwRkJTMk1zUlVGQlJXUXNSMEZCUnl4SlFVRkpZeXhGUVVGRlpDeEhRVUZITkVjc1MwRkJTM1JQTEV0QlFVdDNTU3hGUVVGRkxFTkJRVU1zU1VGQlNYaEpMRVZCUVVWRUxFVkJRVVVyUml4TlFVRk5MRXRCUVVzc1IwRkJSekJETEVWQlFVVjZTU3hIUVVGSGNXRXNWVUZCVlN4SlFVRkpNVk1zUlVGQlJVc3NSVUZCUlN4RlFVRkZMRWxCUVVsTUxFdEJRVXRqTEVWQlFVVjZTU3hIUVVGSExFTkJRVU1zU1VGQlNXbEtMRVZCUVVWRExFVkJRVVZVTEVWQlFVVjZTU3hIUVVGSE1rZ3NTVUZCU1hOQ0xFVkJRVVZJTEVsQlFVa3NWVUZCVlRkSkxFVkJRVVVyU0N4SFFVRkhRU3hIUVVGSGFVSXNSVUZCUlZZc1kwRkJZM0pKTEV0QlFVdERMRkZCUVZFd1dpeG5Ra0ZCWjBKS0xHbENRVUZwUWl4WFFVRlhkbG9zUzBGQlMybFhMRlZCUVZWcVZ5eExRVUZMUXl4UlFVRlJhV0VzV1VGQldUbFVMRXRCUVV0d1J5eE5RVUZOYjJFc1YwRkJWeXhUUVVGVGNtRXNSVUZCUlRCSUxFZEJRVWNzYlVKQlFXMUNORk1zVVVGQlVVRXNUMEZCVDBNc1NVRkJTVVFzVDBGQlR5eERRVUZETEZWQlFWVXNVMEZCVTNaaExFZEJRVWNzVDBGQlQwTXNSVUZCUlhGWExFdEJRVXN6VHl4RlFVRkZNMGdzUzBGQlN5eHBRa0ZCYVVKNVlTeFJRVUZSUVN4UFFVRlBReXhSUVVGUlJDeFBRVUZQUXl4UlFVRlJlbUVzUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGWjFRc1VVRkJVU3hYUVVGWE1XRXNSVUZCUlhGWExFdEJRVXN6VHl4RlFVRkZNVWdzUlVGQlJYVlhMRkZCUVhKTkxFTkJRVGhOZEZjc1MwRkJTeXhUUVVGVFJpeEhRVUZITEVsQlFVbERMRVZCUVVWS0xGbEJRVmxITEVkQlFVY3NVMEZCU1N4SlFVRlRkVmNzYjBKQlFXOUNRU3h2UWtGQmIwSkJMRzFDUVVGdFFuUlhMRVZCUVVWRUxFZEJRVWNzVFVGQlRVRXNSMEZCUnpSaExGRkJRVkY0Unl4TlFVRk5jRlVzUjBGQlJ5eFRRVUZKTEVsQlFWTnZXQ3hyUWtGQmEwSkJMR3RDUVVGclFrRXNhVUpCUVdsQ2JsZ3NSVUZCUlVRc1IwRkJSeXhOUVVGTlFTeEhRVUZITkdFc1VVRkJVWGhITEUxQlFVMXdWU3hIUVVGSExGTkJRVWtzU1VGQlV6QmFMRzFDUVVGdFFrRXNiVUpCUVcxQ1FTeHJRa0ZCYTBKNldpeEZRVUZGUkN4SFFVRkhMRTFCUVUxQkxFZEJRVWMwWVN4UlFVRlJlRWNzVFVGQlRYQlZMRWRCUVVjc1QwRkJUME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXFZbTk0TDJScGMzUXZha0p2ZUM1aGJHd3ViV2x1TG1wekluMD0iLCIhZnVuY3Rpb24oZSx0KXtcInVzZSBzdHJpY3RcIjtcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcihcImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnRcIik7cmV0dXJuIHQoZSl9OnQoZSl9KFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnRoaXMsZnVuY3Rpb24oZSx0KXtcInVzZSBzdHJpY3RcIjt2YXIgbj1bXSxyPU9iamVjdC5nZXRQcm90b3R5cGVPZixpPW4uc2xpY2Usbz1uLmZsYXQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG4uZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbi5jb25jYXQuYXBwbHkoW10sZSl9LGE9bi5wdXNoLHM9bi5pbmRleE9mLHU9e30sbD11LnRvU3RyaW5nLGM9dS5oYXNPd25Qcm9wZXJ0eSxmPWMudG9TdHJpbmcscD1mLmNhbGwoT2JqZWN0KSxkPXt9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmXCJudW1iZXJcIiE9dHlwZW9mIGUubm9kZVR5cGUmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuaXRlbX0sZz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09PWUud2luZG93fSx2PWUuZG9jdW1lbnQseT17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIG0oZSx0LG4pe3ZhciByLGksbz0obj1ufHx2KS5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO2lmKG8udGV4dD1lLHQpZm9yKHIgaW4geSkoaT10W3JdfHx0LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUocikpJiZvLnNldEF0dHJpYnV0ZShyLGkpO24uaGVhZC5hcHBlbmRDaGlsZChvKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIG51bGw9PWU/ZStcIlwiOlwib2JqZWN0XCI9PXR5cGVvZiBlfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP3VbbC5jYWxsKGUpXXx8XCJvYmplY3RcIjp0eXBlb2YgZX12YXIgYj1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgYi5mbi5pbml0KGUsdCl9O2Z1bmN0aW9uIHcoZSl7dmFyIHQ9ISFlJiZcImxlbmd0aFwiaW4gZSYmZS5sZW5ndGgsbj14KGUpO3JldHVybiFoKGUpJiYhZyhlKSYmKFwiYXJyYXlcIj09PW58fDA9PT10fHxcIm51bWJlclwiPT10eXBlb2YgdCYmdD4wJiZ0LTEgaW4gZSl9Yi5mbj1iLnByb3RvdHlwZT17anF1ZXJ5OlwiMy42LjBcIixjb25zdHJ1Y3RvcjpiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gaS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/aS5jYWxsKHRoaXMpOmU8MD90aGlzW2UrdGhpcy5sZW5ndGhdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlKXt2YXIgdD1iLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxlKTtyZXR1cm4gdC5wcmV2T2JqZWN0PXRoaXMsdH0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gYi5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi5tYXAodGhpcyxmdW5jdGlvbih0LG4pe3JldHVybiBlLmNhbGwodCxuLHQpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGV2ZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4odCsxKSUyfSkpfSxvZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCUyfSkpfSxlcTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKyhlPDA/dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobj49MCYmbjx0P1t0aGlzW25dXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDphLHNvcnQ6bi5zb3J0LHNwbGljZTpuLnNwbGljZX0sYi5leHRlbmQ9Yi5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG4scixpLG8sYT1hcmd1bWVudHNbMF18fHt9LHM9MSx1PWFyZ3VtZW50cy5sZW5ndGgsbD0hMTtmb3IoXCJib29sZWFuXCI9PXR5cGVvZiBhJiYobD1hLGE9YXJndW1lbnRzW3NdfHx7fSxzKyspLFwib2JqZWN0XCI9PXR5cGVvZiBhfHxoKGEpfHwoYT17fSkscz09PXUmJihhPXRoaXMscy0tKTtzPHU7cysrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tzXSkpZm9yKHQgaW4gZSlyPWVbdF0sXCJfX3Byb3RvX19cIiE9PXQmJmEhPT1yJiYobCYmciYmKGIuaXNQbGFpbk9iamVjdChyKXx8KGk9QXJyYXkuaXNBcnJheShyKSkpPyhuPWFbdF0sbz1pJiYhQXJyYXkuaXNBcnJheShuKT9bXTppfHxiLmlzUGxhaW5PYmplY3Qobik/bjp7fSxpPSExLGFbdF09Yi5leHRlbmQobCxvLHIpKTp2b2lkIDAhPT1yJiYoYVt0XT1yKSk7cmV0dXJuIGF9LGIuZXh0ZW5kKHtleHBhbmRvOlwialF1ZXJ5XCIrKFwiMy42LjBcIitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cXEQvZyxcIlwiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0sbm9vcDpmdW5jdGlvbigpe30saXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiEoIWV8fFwiW29iamVjdCBPYmplY3RdXCIhPT1sLmNhbGwoZSkpJiYoISh0PXIoZSkpfHxcImZ1bmN0aW9uXCI9PXR5cGVvZihuPWMuY2FsbCh0LFwiY29uc3RydWN0b3JcIikmJnQuY29uc3RydWN0b3IpJiZmLmNhbGwobik9PT1wKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUsdCxuKXttKGUse25vbmNlOnQmJnQubm9uY2V9LG4pfSxlYWNoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wO2lmKHcoZSkpZm9yKG49ZS5sZW5ndGg7cjxuJiYhMSE9PXQuY2FsbChlW3JdLHIsZVtyXSk7cisrKTtlbHNlIGZvcihyIGluIGUpaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrO3JldHVybiBlfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtyZXR1cm4gbnVsbCE9ZSYmKHcoT2JqZWN0KGUpKT9iLm1lcmdlKG4sXCJzdHJpbmdcIj09dHlwZW9mIGU/W2VdOmUpOmEuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTpzLmNhbGwodCxlLG4pfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgscj0wLGk9ZS5sZW5ndGg7cjxuO3IrKyllW2krK109dFtyXTtyZXR1cm4gZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT0wLG89ZS5sZW5ndGgsYT0hbjtpPG87aSsrKSF0KGVbaV0saSkhPT1hJiZyLnB1c2goZVtpXSk7cmV0dXJuIHJ9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxhPTAscz1bXTtpZih3KGUpKWZvcihyPWUubGVuZ3RoO2E8cjthKyspbnVsbCE9KGk9dChlW2FdLGEsbikpJiZzLnB1c2goaSk7ZWxzZSBmb3IoYSBpbiBlKW51bGwhPShpPXQoZVthXSxhLG4pKSYmcy5wdXNoKGkpO3JldHVybiBvKHMpfSxndWlkOjEsc3VwcG9ydDpkfSksXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoYi5mbltTeW1ib2wuaXRlcmF0b3JdPW5bU3ltYm9sLml0ZXJhdG9yXSksYi5lYWNoKFwiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2xcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oZSx0KXt1W1wiW29iamVjdCBcIit0K1wiXVwiXT10LnRvTG93ZXJDYXNlKCl9KTt2YXIgVD1mdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1LGwsYyxmLHAsZCxoLGcsdix5LG0seCxiPVwic2l6emxlXCIrMSpuZXcgRGF0ZSx3PWUuZG9jdW1lbnQsVD0wLEM9MCxFPXVlKCksUz11ZSgpLGs9dWUoKSxBPXVlKCksTj1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGY9ITApLDB9LGo9e30uaGFzT3duUHJvcGVydHksRD1bXSxxPUQucG9wLEw9RC5wdXNoLEg9RC5wdXNoLE89RC5zbGljZSxQPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxSPVwiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWRcIixNPVwiW1xcXFx4MjBcXFxcdFxcXFxyXFxcXG5cXFxcZl1cIixJPVwiKD86XFxcXFxcXFxbXFxcXGRhLWZBLUZdezEsNn1cIitNK1wiP3xcXFxcXFxcXFteXFxcXHJcXFxcblxcXFxmXXxbXFxcXHctXXxbXlxcMC1cXFxceDdmXSkrXCIsVz1cIlxcXFxbXCIrTStcIiooXCIrSStcIikoPzpcIitNK1wiKihbKl4kfCF+XT89KVwiK00rXCIqKD86JygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwifChcIitJK1wiKSl8KVwiK00rXCIqXFxcXF1cIixGPVwiOihcIitJK1wiKSg/OlxcXFwoKCgnKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCIpfCgoPzpcXFxcXFxcXC58W15cXFxcXFxcXCgpW1xcXFxdXXxcIitXK1wiKSopfC4qKVxcXFwpfClcIixCPW5ldyBSZWdFeHAoTStcIitcIixcImdcIiksJD1uZXcgUmVnRXhwKFwiXlwiK00rXCIrfCgoPzpefFteXFxcXFxcXFxdKSg/OlxcXFxcXFxcLikqKVwiK00rXCIrJFwiLFwiZ1wiKSxfPW5ldyBSZWdFeHAoXCJeXCIrTStcIiosXCIrTStcIipcIiksej1uZXcgUmVnRXhwKFwiXlwiK00rXCIqKFs+K35dfFwiK00rXCIpXCIrTStcIipcIiksVT1uZXcgUmVnRXhwKE0rXCJ8PlwiKSxYPW5ldyBSZWdFeHAoRiksVj1uZXcgUmVnRXhwKFwiXlwiK0krXCIkXCIpLEc9e0lEOm5ldyBSZWdFeHAoXCJeIyhcIitJK1wiKVwiKSxDTEFTUzpuZXcgUmVnRXhwKFwiXlxcXFwuKFwiK0krXCIpXCIpLFRBRzpuZXcgUmVnRXhwKFwiXihcIitJK1wifFsqXSlcIiksQVRUUjpuZXcgUmVnRXhwKFwiXlwiK1cpLFBTRVVETzpuZXcgUmVnRXhwKFwiXlwiK0YpLENISUxEOm5ldyBSZWdFeHAoXCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXFxcKFwiK00rXCIqKGV2ZW58b2RkfCgoWystXXwpKFxcXFxkKilufClcIitNK1wiKig/OihbKy1dfClcIitNK1wiKihcXFxcZCspfCkpXCIrTStcIipcXFxcKXwpXCIsXCJpXCIpLGJvb2w6bmV3IFJlZ0V4cChcIl4oPzpcIitSK1wiKSRcIixcImlcIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoXCJeXCIrTStcIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcXFwoXCIrTStcIiooKD86LVxcXFxkKT9cXFxcZCopXCIrTStcIipcXFxcKXwpKD89W14tXXwkKVwiLFwiaVwiKX0sWT0vSFRNTCQvaSxRPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksSj0vXmhcXGQkL2ksSz0vXltee10rXFx7XFxzKlxcW25hdGl2ZSBcXHcvLFo9L14oPzojKFtcXHctXSspfChcXHcrKXxcXC4oW1xcdy1dKykpJC8sZWU9L1srfl0vLHRlPW5ldyBSZWdFeHAoXCJcXFxcXFxcXFtcXFxcZGEtZkEtRl17MSw2fVwiK00rXCI/fFxcXFxcXFxcKFteXFxcXHJcXFxcblxcXFxmXSlcIixcImdcIiksbmU9ZnVuY3Rpb24oZSx0KXt2YXIgbj1cIjB4XCIrZS5zbGljZSgxKS02NTUzNjtyZXR1cm4gdHx8KG48MD9TdHJpbmcuZnJvbUNoYXJDb2RlKG4rNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUobj4+MTB8NTUyOTYsMTAyMyZufDU2MzIwKSl9LHJlPS8oW1xcMC1cXHgxZlxceDdmXXxeLT9cXGQpfF4tJHxbXlxcMC1cXHgxZlxceDdmLVxcdUZGRkZcXHctXS9nLGllPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/XCJcXDBcIj09PWU/XCLvv71cIjplLnNsaWNlKDAsLTEpK1wiXFxcXFwiK2UuY2hhckNvZGVBdChlLmxlbmd0aC0xKS50b1N0cmluZygxNikrXCIgXCI6XCJcXFxcXCIrZX0sb2U9ZnVuY3Rpb24oKXtwKCl9LGFlPWJlKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZCYmXCJmaWVsZHNldFwiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSx7ZGlyOlwicGFyZW50Tm9kZVwiLG5leHQ6XCJsZWdlbmRcIn0pO3RyeXtILmFwcGx5KEQ9Ty5jYWxsKHcuY2hpbGROb2Rlcyksdy5jaGlsZE5vZGVzKSxEW3cuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGUpe0g9e2FwcGx5OkQubGVuZ3RoP2Z1bmN0aW9uKGUsdCl7TC5hcHBseShlLE8uY2FsbCh0KSl9OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9MDtlW24rK109dFtyKytdOyk7ZS5sZW5ndGg9bi0xfX19ZnVuY3Rpb24gc2UoZSx0LHIsaSl7dmFyIG8scyxsLGMsZixoLHksbT10JiZ0Lm93bmVyRG9jdW1lbnQsdz10P3Qubm9kZVR5cGU6OTtpZihyPXJ8fFtdLFwic3RyaW5nXCIhPXR5cGVvZiBlfHwhZXx8MSE9PXcmJjkhPT13JiYxMSE9PXcpcmV0dXJuIHI7aWYoIWkmJihwKHQpLHQ9dHx8ZCxnKSl7aWYoMTEhPT13JiYoZj1aLmV4ZWMoZSkpKWlmKG89ZlsxXSl7aWYoOT09PXcpe2lmKCEobD10LmdldEVsZW1lbnRCeUlkKG8pKSlyZXR1cm4gcjtpZihsLmlkPT09bylyZXR1cm4gci5wdXNoKGwpLHJ9ZWxzZSBpZihtJiYobD1tLmdldEVsZW1lbnRCeUlkKG8pKSYmeCh0LGwpJiZsLmlkPT09bylyZXR1cm4gci5wdXNoKGwpLHJ9ZWxzZXtpZihmWzJdKXJldHVybiBILmFwcGx5KHIsdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKSkscjtpZigobz1mWzNdKSYmbi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZ0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkocix0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUobykpLHJ9aWYobi5xc2EmJiFBW2UrXCIgXCJdJiYoIXZ8fCF2LnRlc3QoZSkpJiYoMSE9PXd8fFwib2JqZWN0XCIhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXtpZih5PWUsbT10LDE9PT13JiYoVS50ZXN0KGUpfHx6LnRlc3QoZSkpKXtmb3IoKG09ZWUudGVzdChlKSYmeWUodC5wYXJlbnROb2RlKXx8dCk9PT10JiZuLnNjb3BlfHwoKGM9dC5nZXRBdHRyaWJ1dGUoXCJpZFwiKSk/Yz1jLnJlcGxhY2UocmUsaWUpOnQuc2V0QXR0cmlidXRlKFwiaWRcIixjPWIpKSxzPShoPWEoZSkpLmxlbmd0aDtzLS07KWhbc109KGM/XCIjXCIrYzpcIjpzY29wZVwiKStcIiBcIit4ZShoW3NdKTt5PWguam9pbihcIixcIil9dHJ5e3JldHVybiBILmFwcGx5KHIsbS5xdWVyeVNlbGVjdG9yQWxsKHkpKSxyfWNhdGNoKHQpe0EoZSwhMCl9ZmluYWxseXtjPT09YiYmdC5yZW1vdmVBdHRyaWJ1dGUoXCJpZFwiKX19fXJldHVybiB1KGUucmVwbGFjZSgkLFwiJDFcIiksdCxyLGkpfWZ1bmN0aW9uIHVlKCl7dmFyIGU9W107cmV0dXJuIGZ1bmN0aW9uIHQobixpKXtyZXR1cm4gZS5wdXNoKG4rXCIgXCIpPnIuY2FjaGVMZW5ndGgmJmRlbGV0ZSB0W2Uuc2hpZnQoKV0sdFtuK1wiIFwiXT1pfX1mdW5jdGlvbiBsZShlKXtyZXR1cm4gZVtiXT0hMCxlfWZ1bmN0aW9uIGNlKGUpe3ZhciB0PWQuY3JlYXRlRWxlbWVudChcImZpZWxkc2V0XCIpO3RyeXtyZXR1cm4hIWUodCl9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGx9fWZ1bmN0aW9uIGZlKGUsdCl7Zm9yKHZhciBuPWUuc3BsaXQoXCJ8XCIpLGk9bi5sZW5ndGg7aS0tOylyLmF0dHJIYW5kbGVbbltpXV09dH1mdW5jdGlvbiBwZShlLHQpe3ZhciBuPXQmJmUscj1uJiYxPT09ZS5ub2RlVHlwZSYmMT09PXQubm9kZVR5cGUmJmUuc291cmNlSW5kZXgtdC5zb3VyY2VJbmRleDtpZihyKXJldHVybiByO2lmKG4pZm9yKDtuPW4ubmV4dFNpYmxpbmc7KWlmKG49PT10KXJldHVybi0xO3JldHVybiBlPzE6LTF9ZnVuY3Rpb24gZGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVyblwiaW5wdXRcIj09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gaGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oXCJpbnB1dFwiPT09bnx8XCJidXR0b25cIj09PW4pJiZ0LnR5cGU9PT1lfX1mdW5jdGlvbiBnZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuXCJmb3JtXCJpbiB0P3QucGFyZW50Tm9kZSYmITE9PT10LmRpc2FibGVkP1wibGFiZWxcImluIHQ/XCJsYWJlbFwiaW4gdC5wYXJlbnROb2RlP3QucGFyZW50Tm9kZS5kaXNhYmxlZD09PWU6dC5kaXNhYmxlZD09PWU6dC5pc0Rpc2FibGVkPT09ZXx8dC5pc0Rpc2FibGVkIT09IWUmJmFlKHQpPT09ZTp0LmRpc2FibGVkPT09ZTpcImxhYmVsXCJpbiB0JiZ0LmRpc2FibGVkPT09ZX19ZnVuY3Rpb24gdmUoZSl7cmV0dXJuIGxlKGZ1bmN0aW9uKHQpe3JldHVybiB0PSt0LGxlKGZ1bmN0aW9uKG4scil7Zm9yKHZhciBpLG89ZShbXSxuLmxlbmd0aCx0KSxhPW8ubGVuZ3RoO2EtLTspbltpPW9bYV1dJiYobltpXT0hKHJbaV09bltpXSkpfSl9KX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gZSYmdm9pZCAwIT09ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZX1mb3IodCBpbiBuPXNlLnN1cHBvcnQ9e30sbz1zZS5pc1hNTD1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLm5hbWVzcGFjZVVSSSxuPWUmJihlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hWS50ZXN0KHR8fG4mJm4ubm9kZU5hbWV8fFwiSFRNTFwiKX0scD1zZS5zZXREb2N1bWVudD1mdW5jdGlvbihlKXt2YXIgdCxpLGE9ZT9lLm93bmVyRG9jdW1lbnR8fGU6dztyZXR1cm4gYSE9ZCYmOT09PWEubm9kZVR5cGUmJmEuZG9jdW1lbnRFbGVtZW50PyhoPShkPWEpLmRvY3VtZW50RWxlbWVudCxnPSFvKGQpLHchPWQmJihpPWQuZGVmYXVsdFZpZXcpJiZpLnRvcCE9PWkmJihpLmFkZEV2ZW50TGlzdGVuZXI/aS5hZGRFdmVudExpc3RlbmVyKFwidW5sb2FkXCIsb2UsITEpOmkuYXR0YWNoRXZlbnQmJmkuYXR0YWNoRXZlbnQoXCJvbnVubG9hZFwiLG9lKSksbi5zY29wZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gaC5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLHZvaWQgMCE9PWUucXVlcnlTZWxlY3RvckFsbCYmIWUucXVlcnlTZWxlY3RvckFsbChcIjpzY29wZSBmaWVsZHNldCBkaXZcIikubGVuZ3RofSksbi5hdHRyaWJ1dGVzPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNsYXNzTmFtZT1cImlcIiwhZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc05hbWVcIil9KSxuLmdldEVsZW1lbnRzQnlUYWdOYW1lPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFwcGVuZENoaWxkKGQuY3JlYXRlQ29tbWVudChcIlwiKSksIWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCIqXCIpLmxlbmd0aH0pLG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1LLnRlc3QoZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxuLmdldEJ5SWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGguYXBwZW5kQ2hpbGQoZSkuaWQ9YiwhZC5nZXRFbGVtZW50c0J5TmFtZXx8IWQuZ2V0RWxlbWVudHNCeU5hbWUoYikubGVuZ3RofSksbi5nZXRCeUlkPyhyLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoXCJpZFwiKT09PXR9fSxyLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiZnKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuP1tuXTpbXX19KTooci5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49dm9pZCAwIT09ZS5nZXRBdHRyaWJ1dGVOb2RlJiZlLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKTtyZXR1cm4gbiYmbi52YWx1ZT09PXR9fSxyLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiZnKXt2YXIgbixyLGksbz10LmdldEVsZW1lbnRCeUlkKGUpO2lmKG8pe2lmKChuPW8uZ2V0QXR0cmlidXRlTm9kZShcImlkXCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dO2ZvcihpPXQuZ2V0RWxlbWVudHNCeU5hbWUoZSkscj0wO289aVtyKytdOylpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXX1yZXR1cm5bXX19KSxyLmZpbmQuVEFHPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOm4ucXNhP3QucXVlcnlTZWxlY3RvckFsbChlKTp2b2lkIDB9OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPTAsbz10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lmKFwiKlwiPT09ZSl7Zm9yKDtuPW9baSsrXTspMT09PW4ubm9kZVR5cGUmJnIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gb30sci5maW5kLkNMQVNTPW4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmcpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0seT1bXSx2PVtdLChuLnFzYT1LLnRlc3QoZC5xdWVyeVNlbGVjdG9yQWxsKSkmJihjZShmdW5jdGlvbihlKXt2YXIgdDtoLmFwcGVuZENoaWxkKGUpLmlubmVySFRNTD1cIjxhIGlkPSdcIitiK1wiJz48L2E+PHNlbGVjdCBpZD0nXCIrYitcIi1cXHJcXFxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PlwiLGUucXVlcnlTZWxlY3RvckFsbChcIlttc2FsbG93Y2FwdHVyZV49JyddXCIpLmxlbmd0aCYmdi5wdXNoKFwiWypeJF09XCIrTStcIiooPzonJ3xcXFwiXFxcIilcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW3NlbGVjdGVkXVwiKS5sZW5ndGh8fHYucHVzaChcIlxcXFxbXCIrTStcIiooPzp2YWx1ZXxcIitSK1wiKVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbaWR+PVwiK2IrXCItXVwiKS5sZW5ndGh8fHYucHVzaChcIn49XCIpLCh0PWQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJcIiksZS5hcHBlbmRDaGlsZCh0KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbmFtZT0nJ11cIikubGVuZ3RofHx2LnB1c2goXCJcXFxcW1wiK00rXCIqbmFtZVwiK00rXCIqPVwiK00rXCIqKD86Jyd8XFxcIlxcXCIpXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIjpjaGVja2VkXCIpLmxlbmd0aHx8di5wdXNoKFwiOmNoZWNrZWRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiYSNcIitiK1wiKypcIikubGVuZ3RofHx2LnB1c2goXCIuIy4rWyt+XVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJcXFxcXFxmXCIpLHYucHVzaChcIltcXFxcclxcXFxuXFxcXGZdXCIpfSksY2UoZnVuY3Rpb24oZSl7ZS5pbm5lckhUTUw9XCI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD5cIjt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTt0LnNldEF0dHJpYnV0ZShcInR5cGVcIixcImhpZGRlblwiKSxlLmFwcGVuZENoaWxkKHQpLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcIkRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9ZF1cIikubGVuZ3RoJiZ2LnB1c2goXCJuYW1lXCIrTStcIipbKl4kfCF+XT89XCIpLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZW5hYmxlZFwiKS5sZW5ndGgmJnYucHVzaChcIjplbmFibGVkXCIsXCI6ZGlzYWJsZWRcIiksaC5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKFwiOmRpc2FibGVkXCIpLmxlbmd0aCYmdi5wdXNoKFwiOmVuYWJsZWRcIixcIjpkaXNhYmxlZFwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCIqLDp4XCIpLHYucHVzaChcIiwuKjpcIil9KSksKG4ubWF0Y2hlc1NlbGVjdG9yPUsudGVzdChtPWgubWF0Y2hlc3x8aC53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGgubW96TWF0Y2hlc1NlbGVjdG9yfHxoLm9NYXRjaGVzU2VsZWN0b3J8fGgubXNNYXRjaGVzU2VsZWN0b3IpKSYmY2UoZnVuY3Rpb24oZSl7bi5kaXNjb25uZWN0ZWRNYXRjaD1tLmNhbGwoZSxcIipcIiksbS5jYWxsKGUsXCJbcyE9JyddOnhcIikseS5wdXNoKFwiIT1cIixGKX0pLHY9di5sZW5ndGgmJm5ldyBSZWdFeHAodi5qb2luKFwifFwiKSkseT15Lmxlbmd0aCYmbmV3IFJlZ0V4cCh5LmpvaW4oXCJ8XCIpKSx0PUsudGVzdChoLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx4PXR8fEsudGVzdChoLmNvbnRhaW5zKT9mdW5jdGlvbihlLHQpe3ZhciBuPTk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUscj10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1yfHwhKCFyfHwxIT09ci5ub2RlVHlwZXx8IShuLmNvbnRhaW5zP24uY29udGFpbnMocik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpfTpmdW5jdGlvbihlLHQpe2lmKHQpZm9yKDt0PXQucGFyZW50Tm9kZTspaWYodD09PWUpcmV0dXJuITA7cmV0dXJuITF9LE49dD9mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBmPSEwLDA7dmFyIHI9IWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIXQuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIHJ8fCgxJihyPShlLm93bmVyRG9jdW1lbnR8fGUpPT0odC5vd25lckRvY3VtZW50fHx0KT9lLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpOjEpfHwhbi5zb3J0RGV0YWNoZWQmJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk9PT1yP2U9PWR8fGUub3duZXJEb2N1bWVudD09dyYmeCh3LGUpPy0xOnQ9PWR8fHQub3duZXJEb2N1bWVudD09dyYmeCh3LHQpPzE6Yz9QKGMsZSktUChjLHQpOjA6NCZyPy0xOjEpfTpmdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBmPSEwLDA7dmFyIG4scj0wLGk9ZS5wYXJlbnROb2RlLG89dC5wYXJlbnROb2RlLGE9W2VdLHM9W3RdO2lmKCFpfHwhbylyZXR1cm4gZT09ZD8tMTp0PT1kPzE6aT8tMTpvPzE6Yz9QKGMsZSktUChjLHQpOjA7aWYoaT09PW8pcmV0dXJuIHBlKGUsdCk7Zm9yKG49ZTtuPW4ucGFyZW50Tm9kZTspYS51bnNoaWZ0KG4pO2ZvcihuPXQ7bj1uLnBhcmVudE5vZGU7KXMudW5zaGlmdChuKTtmb3IoO2Fbcl09PT1zW3JdOylyKys7cmV0dXJuIHI/cGUoYVtyXSxzW3JdKTphW3JdPT13Py0xOnNbcl09PXc/MTowfSxkKTpkfSxzZS5tYXRjaGVzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHNlKGUsbnVsbCxudWxsLHQpfSxzZS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZihwKGUpLG4ubWF0Y2hlc1NlbGVjdG9yJiZnJiYhQVt0K1wiIFwiXSYmKCF5fHwheS50ZXN0KHQpKSYmKCF2fHwhdi50ZXN0KHQpKSl0cnl7dmFyIHI9bS5jYWxsKGUsdCk7aWYocnx8bi5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiByfWNhdGNoKGUpe0EodCwhMCl9cmV0dXJuIHNlKHQsZCxudWxsLFtlXSkubGVuZ3RoPjB9LHNlLmNvbnRhaW5zPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKGUub3duZXJEb2N1bWVudHx8ZSkhPWQmJnAoZSkseChlLHQpfSxzZS5hdHRyPWZ1bmN0aW9uKGUsdCl7KGUub3duZXJEb2N1bWVudHx8ZSkhPWQmJnAoZSk7dmFyIGk9ci5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0sbz1pJiZqLmNhbGwoci5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/aShlLHQsIWcpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09bz9vOm4uYXR0cmlidXRlc3x8IWc/ZS5nZXRBdHRyaWJ1dGUodCk6KG89ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmby5zcGVjaWZpZWQ/by52YWx1ZTpudWxsfSxzZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrXCJcIikucmVwbGFjZShyZSxpZSl9LHNlLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246IFwiK2UpfSxzZS51bmlxdWVTb3J0PWZ1bmN0aW9uKGUpe3ZhciB0LHI9W10saT0wLG89MDtpZihmPSFuLmRldGVjdER1cGxpY2F0ZXMsYz0hbi5zb3J0U3RhYmxlJiZlLnNsaWNlKDApLGUuc29ydChOKSxmKXtmb3IoO3Q9ZVtvKytdOyl0PT09ZVtvXSYmKGk9ci5wdXNoKG8pKTtmb3IoO2ktLTspZS5zcGxpY2UocltpXSwxKX1yZXR1cm4gYz1udWxsLGV9LGk9c2UuZ2V0VGV4dD1mdW5jdGlvbihlKXt2YXIgdCxuPVwiXCIscj0wLG89ZS5ub2RlVHlwZTtpZihvKXtpZigxPT09b3x8OT09PW98fDExPT09byl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPWkoZSl9ZWxzZSBpZigzPT09b3x8ND09PW8pcmV0dXJuIGUubm9kZVZhbHVlfWVsc2UgZm9yKDt0PWVbcisrXTspbis9aSh0KTtyZXR1cm4gbn0sKHI9c2Uuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86bGUsbWF0Y2g6RyxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6e1wiPlwiOntkaXI6XCJwYXJlbnROb2RlXCIsZmlyc3Q6ITB9LFwiIFwiOntkaXI6XCJwYXJlbnROb2RlXCJ9LFwiK1wiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIixmaXJzdDohMH0sXCJ+XCI6e2RpcjpcInByZXZpb3VzU2libGluZ1wifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZSh0ZSxuZSksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8XCJcIikucmVwbGFjZSh0ZSxuZSksXCJ+PVwiPT09ZVsyXSYmKGVbM109XCIgXCIrZVszXStcIiBcIiksZS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnRvTG93ZXJDYXNlKCksXCJudGhcIj09PWVbMV0uc2xpY2UoMCwzKT8oZVszXXx8c2UuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1XSsoZVs2XXx8MSk6MiooXCJldmVuXCI9PT1lWzNdfHxcIm9kZFwiPT09ZVszXSkpLGVbNV09KyhlWzddK2VbOF18fFwib2RkXCI9PT1lWzNdKSk6ZVszXSYmc2UuZXJyb3IoZVswXSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciB0LG49IWVbNl0mJmVbMl07cmV0dXJuIEcuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8XCJcIjpuJiZYLnRlc3QobikmJih0PWEobiwhMCkpJiYodD1uLmluZGV4T2YoXCIpXCIsbi5sZW5ndGgtdCktbi5sZW5ndGgpJiYoZVswXT1lWzBdLnNsaWNlKDAsdCksZVsyXT1uLnNsaWNlKDAsdCkpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCIqXCI9PT1lP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGUpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10fX0sQ0xBU1M6ZnVuY3Rpb24oZSl7dmFyIHQ9RVtlK1wiIFwiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cChcIihefFwiK00rXCIpXCIrZStcIihcIitNK1wifCQpXCIpKSYmRShlLGZ1bmN0aW9uKGUpe3JldHVybiB0LnRlc3QoXCJzdHJpbmdcIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8dm9pZCAwIT09ZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIpfSl9LEFUVFI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBmdW5jdGlvbihyKXt2YXIgaT1zZS5hdHRyKHIsZSk7cmV0dXJuIG51bGw9PWk/XCIhPVwiPT09dDohdHx8KGkrPVwiXCIsXCI9XCI9PT10P2k9PT1uOlwiIT1cIj09PXQ/aSE9PW46XCJePVwiPT09dD9uJiYwPT09aS5pbmRleE9mKG4pOlwiKj1cIj09PXQ/biYmaS5pbmRleE9mKG4pPi0xOlwiJD1cIj09PXQ/biYmaS5zbGljZSgtbi5sZW5ndGgpPT09bjpcIn49XCI9PT10PyhcIiBcIitpLnJlcGxhY2UoQixcIiBcIikrXCIgXCIpLmluZGV4T2Yobik+LTE6XCJ8PVwiPT09dCYmKGk9PT1ufHxpLnNsaWNlKDAsbi5sZW5ndGgrMSk9PT1uK1wiLVwiKSl9fSxDSElMRDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvPVwibnRoXCIhPT1lLnNsaWNlKDAsMyksYT1cImxhc3RcIiE9PWUuc2xpY2UoLTQpLHM9XCJvZi10eXBlXCI9PT10O3JldHVybiAxPT09ciYmMD09PWk/ZnVuY3Rpb24oZSl7cmV0dXJuISFlLnBhcmVudE5vZGV9OmZ1bmN0aW9uKHQsbix1KXt2YXIgbCxjLGYscCxkLGgsZz1vIT09YT9cIm5leHRTaWJsaW5nXCI6XCJwcmV2aW91c1NpYmxpbmdcIix2PXQucGFyZW50Tm9kZSx5PXMmJnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxtPSF1JiYhcyx4PSExO2lmKHYpe2lmKG8pe2Zvcig7Zzspe2ZvcihwPXQ7cD1wW2ddOylpZihzP3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXk6MT09PXAubm9kZVR5cGUpcmV0dXJuITE7aD1nPVwib25seVwiPT09ZSYmIWgmJlwibmV4dFNpYmxpbmdcIn1yZXR1cm4hMH1pZihoPVthP3YuZmlyc3RDaGlsZDp2Lmxhc3RDaGlsZF0sYSYmbSl7Zm9yKHg9KGQ9KGw9KGM9KGY9KHA9dilbYl18fChwW2JdPXt9KSlbcC51bmlxdWVJRF18fChmW3AudW5pcXVlSURdPXt9KSlbZV18fFtdKVswXT09PVQmJmxbMV0pJiZsWzJdLHA9ZCYmdi5jaGlsZE5vZGVzW2RdO3A9KytkJiZwJiZwW2ddfHwoeD1kPTApfHxoLnBvcCgpOylpZigxPT09cC5ub2RlVHlwZSYmKyt4JiZwPT09dCl7Y1tlXT1bVCxkLHhdO2JyZWFrfX1lbHNlIGlmKG0mJih4PWQ9KGw9KGM9KGY9KHA9dClbYl18fChwW2JdPXt9KSlbcC51bmlxdWVJRF18fChmW3AudW5pcXVlSURdPXt9KSlbZV18fFtdKVswXT09PVQmJmxbMV0pLCExPT09eClmb3IoOyhwPSsrZCYmcCYmcFtnXXx8KHg9ZD0wKXx8aC5wb3AoKSkmJigocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT15OjEhPT1wLm5vZGVUeXBlKXx8ISsreHx8KG0mJigoYz0oZj1wW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdPVtULHhdKSxwIT09dCkpOyk7cmV0dXJuKHgtPWkpPT09cnx8eCVyPT0wJiZ4L3I+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGUsdCl7dmFyIG4saT1yLnBzZXVkb3NbZV18fHIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxzZS5lcnJvcihcInVuc3VwcG9ydGVkIHBzZXVkbzogXCIrZSk7cmV0dXJuIGlbYl0/aSh0KTppLmxlbmd0aD4xPyhuPVtlLGUsXCJcIix0XSxyLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKT9sZShmdW5jdGlvbihlLG4pe2Zvcih2YXIgcixvPWkoZSx0KSxhPW8ubGVuZ3RoO2EtLTspZVtyPVAoZSxvW2FdKV09IShuW3JdPW9bYV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSwwLG4pfSk6aX19LHBzZXVkb3M6e25vdDpsZShmdW5jdGlvbihlKXt2YXIgdD1bXSxuPVtdLHI9cyhlLnJlcGxhY2UoJCxcIiQxXCIpKTtyZXR1cm4gcltiXT9sZShmdW5jdGlvbihlLHQsbixpKXtmb3IodmFyIG8sYT1yKGUsbnVsbCxpLFtdKSxzPWUubGVuZ3RoO3MtLTspKG89YVtzXSkmJihlW3NdPSEodFtzXT1vKSl9KTpmdW5jdGlvbihlLGksbyl7cmV0dXJuIHRbMF09ZSxyKHQsbnVsbCxvLG4pLHRbMF09bnVsbCwhbi5wb3AoKX19KSxoYXM6bGUoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBzZShlLHQpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmxlKGZ1bmN0aW9uKGUpe3JldHVybiBlPWUucmVwbGFjZSh0ZSxuZSksZnVuY3Rpb24odCl7cmV0dXJuKHQudGV4dENvbnRlbnR8fGkodCkpLmluZGV4T2YoZSk+LTF9fSksbGFuZzpsZShmdW5jdGlvbihlKXtyZXR1cm4gVi50ZXN0KGV8fFwiXCIpfHxzZS5lcnJvcihcInVuc3VwcG9ydGVkIGxhbmc6IFwiK2UpLGU9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3ZhciBuO2Rve2lmKG49Zz90Lmxhbmc6dC5nZXRBdHRyaWJ1dGUoXCJ4bWw6bGFuZ1wiKXx8dC5nZXRBdHRyaWJ1dGUoXCJsYW5nXCIpKXJldHVybihuPW4udG9Mb3dlckNhc2UoKSk9PT1lfHwwPT09bi5pbmRleE9mKGUrXCItXCIpfXdoaWxlKCh0PXQucGFyZW50Tm9kZSkmJjE9PT10Lm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24odCl7dmFyIG49ZS5sb2NhdGlvbiYmZS5sb2NhdGlvbi5oYXNoO3JldHVybiBuJiZuLnNsaWNlKDEpPT09dC5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWh9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09ZC5hY3RpdmVFbGVtZW50JiYoIWQuaGFzRm9jdXN8fGQuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6Z2UoITEpLGRpc2FibGVkOmdlKCEwKSxjaGVja2VkOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT10JiYhIWUuY2hlY2tlZHx8XCJvcHRpb25cIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIXIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBKLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBRLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09dCYmXCJidXR0b25cIj09PWUudHlwZXx8XCJidXR0b25cIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuXCJpbnB1dFwiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZcInRleHRcIj09PWUudHlwZSYmKG51bGw9PSh0PWUuZ2V0QXR0cmlidXRlKFwidHlwZVwiKSl8fFwidGV4dFwiPT09dC50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6dmUoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OnZlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuW3QtMV19KSxlcTp2ZShmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSxldmVuOnZlKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOnZlKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om4+dD90Om47LS1yPj0wOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDp2ZShmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPW48MD9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSkucHNldWRvcy5udGg9ci5wc2V1ZG9zLmVxLHtyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlOiEwfSlyLnBzZXVkb3NbdF09ZGUodCk7Zm9yKHQgaW57c3VibWl0OiEwLHJlc2V0OiEwfSlyLnBzZXVkb3NbdF09aGUodCk7ZnVuY3Rpb24gbWUoKXt9ZnVuY3Rpb24geGUoZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aCxyPVwiXCI7dDxuO3QrKylyKz1lW3RdLnZhbHVlO3JldHVybiByfWZ1bmN0aW9uIGJlKGUsdCxuKXt2YXIgcj10LmRpcixpPXQubmV4dCxvPWl8fHIsYT1uJiZcInBhcmVudE5vZGVcIj09PW8scz1DKys7cmV0dXJuIHQuZmlyc3Q/ZnVuY3Rpb24odCxuLGkpe2Zvcig7dD10W3JdOylpZigxPT09dC5ub2RlVHlwZXx8YSlyZXR1cm4gZSh0LG4saSk7cmV0dXJuITF9OmZ1bmN0aW9uKHQsbix1KXt2YXIgbCxjLGYscD1bVCxzXTtpZih1KXtmb3IoO3Q9dFtyXTspaWYoKDE9PT10Lm5vZGVUeXBlfHxhKSYmZSh0LG4sdSkpcmV0dXJuITB9ZWxzZSBmb3IoO3Q9dFtyXTspaWYoMT09PXQubm9kZVR5cGV8fGEpaWYoYz0oZj10W2JdfHwodFtiXT17fSkpW3QudW5pcXVlSURdfHwoZlt0LnVuaXF1ZUlEXT17fSksaSYmaT09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl0PXRbcl18fHQ7ZWxzZXtpZigobD1jW29dKSYmbFswXT09PVQmJmxbMV09PT1zKXJldHVybiBwWzJdPWxbMl07aWYoY1tvXT1wLHBbMl09ZSh0LG4sdSkpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGUpe3JldHVybiBlLmxlbmd0aD4xP2Z1bmN0aW9uKHQsbixyKXtmb3IodmFyIGk9ZS5sZW5ndGg7aS0tOylpZighZVtpXSh0LG4scikpcmV0dXJuITE7cmV0dXJuITB9OmVbMF19ZnVuY3Rpb24gVGUoZSx0LG4scixpKXtmb3IodmFyIG8sYT1bXSxzPTAsdT1lLmxlbmd0aCxsPW51bGwhPXQ7czx1O3MrKykobz1lW3NdKSYmKG4mJiFuKG8scixpKXx8KGEucHVzaChvKSxsJiZ0LnB1c2gocykpKTtyZXR1cm4gYX1mdW5jdGlvbiBDZShlLHQsbixyLGksbyl7cmV0dXJuIHImJiFyW2JdJiYocj1DZShyKSksaSYmIWlbYl0mJihpPUNlKGksbykpLGxlKGZ1bmN0aW9uKG8sYSxzLHUpe3ZhciBsLGMsZixwPVtdLGQ9W10saD1hLmxlbmd0aCxnPW98fGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspc2UoZSx0W3JdLG4pO3JldHVybiBufSh0fHxcIipcIixzLm5vZGVUeXBlP1tzXTpzLFtdKSx2PSFlfHwhbyYmdD9nOlRlKGcscCxlLHMsdSkseT1uP2l8fChvP2U6aHx8cik/W106YTp2O2lmKG4mJm4odix5LHMsdSkscilmb3IobD1UZSh5LGQpLHIobCxbXSxzLHUpLGM9bC5sZW5ndGg7Yy0tOykoZj1sW2NdKSYmKHlbZFtjXV09ISh2W2RbY11dPWYpKTtpZihvKXtpZihpfHxlKXtpZihpKXtmb3IobD1bXSxjPXkubGVuZ3RoO2MtLTspKGY9eVtjXSkmJmwucHVzaCh2W2NdPWYpO2kobnVsbCx5PVtdLGwsdSl9Zm9yKGM9eS5sZW5ndGg7Yy0tOykoZj15W2NdKSYmKGw9aT9QKG8sZik6cFtjXSk+LTEmJihvW2xdPSEoYVtsXT1mKSl9fWVsc2UgeT1UZSh5PT09YT95LnNwbGljZShoLHkubGVuZ3RoKTp5KSxpP2kobnVsbCxhLHksdSk6SC5hcHBseShhLHkpfSl9ZnVuY3Rpb24gRWUoZSl7Zm9yKHZhciB0LG4saSxvPWUubGVuZ3RoLGE9ci5yZWxhdGl2ZVtlWzBdLnR5cGVdLHM9YXx8ci5yZWxhdGl2ZVtcIiBcIl0sdT1hPzE6MCxjPWJlKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0scywhMCksZj1iZShmdW5jdGlvbihlKXtyZXR1cm4gUCh0LGUpPi0xfSxzLCEwKSxwPVtmdW5jdGlvbihlLG4scil7dmFyIGk9IWEmJihyfHxuIT09bCl8fCgodD1uKS5ub2RlVHlwZT9jKGUsbixyKTpmKGUsbixyKSk7cmV0dXJuIHQ9bnVsbCxpfV07dTxvO3UrKylpZihuPXIucmVsYXRpdmVbZVt1XS50eXBlXSlwPVtiZSh3ZShwKSxuKV07ZWxzZXtpZigobj1yLmZpbHRlcltlW3VdLnR5cGVdLmFwcGx5KG51bGwsZVt1XS5tYXRjaGVzKSlbYl0pe2ZvcihpPSsrdTtpPG8mJiFyLnJlbGF0aXZlW2VbaV0udHlwZV07aSsrKTtyZXR1cm4gQ2UodT4xJiZ3ZShwKSx1PjEmJnhlKGUuc2xpY2UoMCx1LTEpLmNvbmNhdCh7dmFsdWU6XCIgXCI9PT1lW3UtMl0udHlwZT9cIipcIjpcIlwifSkpLnJlcGxhY2UoJCxcIiQxXCIpLG4sdTxpJiZFZShlLnNsaWNlKHUsaSkpLGk8byYmRWUoZT1lLnNsaWNlKGkpKSxpPG8mJnhlKGUpKX1wLnB1c2gobil9cmV0dXJuIHdlKHApfXJldHVybiBtZS5wcm90b3R5cGU9ci5maWx0ZXJzPXIucHNldWRvcyxyLnNldEZpbHRlcnM9bmV3IG1lLGE9c2UudG9rZW5pemU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8sYSxzLHUsbCxjPVNbZStcIiBcIl07aWYoYylyZXR1cm4gdD8wOmMuc2xpY2UoMCk7Zm9yKHM9ZSx1PVtdLGw9ci5wcmVGaWx0ZXI7czspe2ZvcihhIGluIG4mJiEoaT1fLmV4ZWMocykpfHwoaSYmKHM9cy5zbGljZShpWzBdLmxlbmd0aCl8fHMpLHUucHVzaChvPVtdKSksbj0hMSwoaT16LmV4ZWMocykpJiYobj1pLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpuLHR5cGU6aVswXS5yZXBsYWNlKCQsXCIgXCIpfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSksci5maWx0ZXIpIShpPUdbYV0uZXhlYyhzKSl8fGxbYV0mJiEoaT1sW2FdKGkpKXx8KG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOmEsbWF0Y2hlczppfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/cy5sZW5ndGg6cz9zZS5lcnJvcihlKTpTKGUsdSkuc2xpY2UoMCl9LHM9c2UuY29tcGlsZT1mdW5jdGlvbihlLHQpe3ZhciBuLGk9W10sbz1bXSxzPWtbZStcIiBcIl07aWYoIXMpe2Zvcih0fHwodD1hKGUpKSxuPXQubGVuZ3RoO24tLTspKHM9RWUodFtuXSkpW2JdP2kucHVzaChzKTpvLnB1c2gocyk7KHM9ayhlLGZ1bmN0aW9uKGUsdCl7dmFyIG49dC5sZW5ndGg+MCxpPWUubGVuZ3RoPjAsbz1mdW5jdGlvbihvLGEscyx1LGMpe3ZhciBmLGgsdix5PTAsbT1cIjBcIix4PW8mJltdLGI9W10sdz1sLEM9b3x8aSYmci5maW5kLlRBRyhcIipcIixjKSxFPVQrPW51bGw9PXc/MTpNYXRoLnJhbmRvbSgpfHwuMSxTPUMubGVuZ3RoO2ZvcihjJiYobD1hPT1kfHxhfHxjKTttIT09UyYmbnVsbCE9KGY9Q1ttXSk7bSsrKXtpZihpJiZmKXtmb3IoaD0wLGF8fGYub3duZXJEb2N1bWVudD09ZHx8KHAoZikscz0hZyk7dj1lW2grK107KWlmKHYoZixhfHxkLHMpKXt1LnB1c2goZik7YnJlYWt9YyYmKFQ9RSl9biYmKChmPSF2JiZmKSYmeS0tLG8mJngucHVzaChmKSl9aWYoeSs9bSxuJiZtIT09eSl7Zm9yKGg9MDt2PXRbaCsrXTspdih4LGIsYSxzKTtpZihvKXtpZih5PjApZm9yKDttLS07KXhbbV18fGJbbV18fChiW21dPXEuY2FsbCh1KSk7Yj1UZShiKX1ILmFwcGx5KHUsYiksYyYmIW8mJmIubGVuZ3RoPjAmJnkrdC5sZW5ndGg+MSYmc2UudW5pcXVlU29ydCh1KX1yZXR1cm4gYyYmKFQ9RSxsPXcpLHh9O3JldHVybiBuP2xlKG8pOm99KG8saSkpKS5zZWxlY3Rvcj1lfXJldHVybiBzfSx1PXNlLnNlbGVjdD1mdW5jdGlvbihlLHQsbixpKXt2YXIgbyx1LGwsYyxmLHA9XCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZSxkPSFpJiZhKGU9cC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09ZC5sZW5ndGgpe2lmKCh1PWRbMF09ZFswXS5zbGljZSgwKSkubGVuZ3RoPjImJlwiSURcIj09PShsPXVbMF0pLnR5cGUmJjk9PT10Lm5vZGVUeXBlJiZnJiZyLnJlbGF0aXZlW3VbMV0udHlwZV0pe2lmKCEodD0oci5maW5kLklEKGwubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSx0KXx8W10pWzBdKSlyZXR1cm4gbjtwJiYodD10LnBhcmVudE5vZGUpLGU9ZS5zbGljZSh1LnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3Iobz1HLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6dS5sZW5ndGg7by0tJiYobD11W29dLCFyLnJlbGF0aXZlW2M9bC50eXBlXSk7KWlmKChmPXIuZmluZFtjXSkmJihpPWYobC5tYXRjaGVzWzBdLnJlcGxhY2UodGUsbmUpLGVlLnRlc3QodVswXS50eXBlKSYmeWUodC5wYXJlbnROb2RlKXx8dCkpKXtpZih1LnNwbGljZShvLDEpLCEoZT1pLmxlbmd0aCYmeGUodSkpKXJldHVybiBILmFwcGx5KG4saSksbjticmVha319cmV0dXJuKHB8fHMoZSxkKSkoaSx0LCFnLG4sIXR8fGVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpLG59LG4uc29ydFN0YWJsZT1iLnNwbGl0KFwiXCIpLnNvcnQoTikuam9pbihcIlwiKT09PWIsbi5kZXRlY3REdXBsaWNhdGVzPSEhZixwKCksbi5zb3J0RGV0YWNoZWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIDEmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkLmNyZWF0ZUVsZW1lbnQoXCJmaWVsZHNldFwiKSl9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9XCI8YSBocmVmPScjJz48L2E+XCIsXCIjXCI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKX0pfHxmZShcInR5cGV8aHJlZnxoZWlnaHR8d2lkdGhcIixmdW5jdGlvbihlLHQsbil7aWYoIW4pcmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQsXCJ0eXBlXCI9PT10LnRvTG93ZXJDYXNlKCk/MToyKX0pLG4uYXR0cmlidXRlcyYmY2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJIVE1MPVwiPGlucHV0Lz5cIixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKFwidmFsdWVcIixcIlwiKSxcIlwiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpfSl8fGZlKFwidmFsdWVcIixmdW5jdGlvbihlLHQsbil7aWYoIW4mJlwiaW5wdXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gZS5kZWZhdWx0VmFsdWV9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKX0pfHxmZShSLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZighbilyZXR1cm4hMD09PWVbdF0/dC50b0xvd2VyQ2FzZSgpOihyPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJnIuc3BlY2lmaWVkP3IudmFsdWU6bnVsbH0pLHNlfShlKTtiLmZpbmQ9VCxiLmV4cHI9VC5zZWxlY3RvcnMsYi5leHByW1wiOlwiXT1iLmV4cHIucHNldWRvcyxiLnVuaXF1ZVNvcnQ9Yi51bmlxdWU9VC51bmlxdWVTb3J0LGIudGV4dD1ULmdldFRleHQsYi5pc1hNTERvYz1ULmlzWE1MLGIuY29udGFpbnM9VC5jb250YWlucyxiLmVzY2FwZVNlbGVjdG9yPVQuZXNjYXBlO3ZhciBDPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT12b2lkIDAhPT1uOyhlPWVbdF0pJiY5IT09ZS5ub2RlVHlwZTspaWYoMT09PWUubm9kZVR5cGUpe2lmKGkmJmIoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxFPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxTPWIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gayhlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9dmFyIEE9L148KFthLXpdW15cXC9cXDA+OlxceDIwXFx0XFxyXFxuXFxmXSopW1xceDIwXFx0XFxyXFxuXFxmXSpcXC8/Pig/OjxcXC9cXDE+fCkkL2k7ZnVuY3Rpb24gTihlLHQsbil7cmV0dXJuIGgodCk/Yi5ncmVwKGUsZnVuY3Rpb24oZSxyKXtyZXR1cm4hIXQuY2FsbChlLHIsZSkhPT1ufSk6dC5ub2RlVHlwZT9iLmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQhPT1ufSk6XCJzdHJpbmdcIiE9dHlwZW9mIHQ/Yi5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHMuY2FsbCh0LGUpPi0xIT09bn0pOmIuZmlsdGVyKHQsZSxuKX1iLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9XCI6bm90KFwiK2UrXCIpXCIpLDE9PT10Lmxlbmd0aCYmMT09PXIubm9kZVR5cGU/Yi5maW5kLm1hdGNoZXNTZWxlY3RvcihyLGUpP1tyXTpbXTpiLmZpbmQubWF0Y2hlcyhlLGIuZ3JlcCh0LGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKX0sYi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMubGVuZ3RoLGk9dGhpcztpZihcInN0cmluZ1wiIT10eXBlb2YgZSlyZXR1cm4gdGhpcy5wdXNoU3RhY2soYihlKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodD0wO3Q8cjt0KyspaWYoYi5jb250YWlucyhpW3RdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihuPXRoaXMucHVzaFN0YWNrKFtdKSx0PTA7dDxyO3QrKyliLmZpbmQoZSxpW3RdLG4pO3JldHVybiByPjE/Yi51bmlxdWVTb3J0KG4pOm59LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTih0aGlzLGV8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTih0aGlzLGV8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiEhTih0aGlzLFwic3RyaW5nXCI9PXR5cGVvZiBlJiZTLnRlc3QoZSk/YihlKTplfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBqLEQ9L14oPzpcXHMqKDxbXFx3XFxXXSs+KVtePl0qfCMoW1xcdy1dKykpJC87KGIuZm4uaW5pdD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZighZSlyZXR1cm4gdGhpcztpZihuPW58fGosXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKCEocj1cIjxcIj09PWVbMF0mJlwiPlwiPT09ZVtlLmxlbmd0aC0xXSYmZS5sZW5ndGg+PTM/W251bGwsZSxudWxsXTpELmV4ZWMoZSkpfHwhclsxXSYmdClyZXR1cm4hdHx8dC5qcXVlcnk/KHR8fG4pLmZpbmQoZSk6dGhpcy5jb25zdHJ1Y3Rvcih0KS5maW5kKGUpO2lmKHJbMV0pe2lmKHQ9dCBpbnN0YW5jZW9mIGI/dFswXTp0LGIubWVyZ2UodGhpcyxiLnBhcnNlSFRNTChyWzFdLHQmJnQubm9kZVR5cGU/dC5vd25lckRvY3VtZW50fHx0OnYsITApKSxBLnRlc3QoclsxXSkmJmIuaXNQbGFpbk9iamVjdCh0KSlmb3IociBpbiB0KWgodGhpc1tyXSk/dGhpc1tyXSh0W3JdKTp0aGlzLmF0dHIocix0W3JdKTtyZXR1cm4gdGhpc31yZXR1cm4oaT12LmdldEVsZW1lbnRCeUlkKHJbMl0pKSYmKHRoaXNbMF09aSx0aGlzLmxlbmd0aD0xKSx0aGlzfXJldHVybiBlLm5vZGVUeXBlPyh0aGlzWzBdPWUsdGhpcy5sZW5ndGg9MSx0aGlzKTpoKGUpP3ZvaWQgMCE9PW4ucmVhZHk/bi5yZWFkeShlKTplKGIpOmIubWFrZUFycmF5KGUsdGhpcyl9KS5wcm90b3R5cGU9Yi5mbixqPWIodik7dmFyIHE9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sTD17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmdW5jdGlvbiBIKGUsdCl7Zm9yKDsoZT1lW3RdKSYmMSE9PWUubm9kZVR5cGU7KTtyZXR1cm4gZX1iLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWIoZSx0aGlzKSxuPXQubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8bjtlKyspaWYoYi5jb250YWlucyh0aGlzLHRbZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9XCJzdHJpbmdcIiE9dHlwZW9mIGUmJmIoZSk7aWYoIVMudGVzdChlKSlmb3IoO3I8aTtyKyspZm9yKG49dGhpc1tyXTtuJiZuIT09dDtuPW4ucGFyZW50Tm9kZSlpZihuLm5vZGVUeXBlPDExJiYoYT9hLmluZGV4KG4pPi0xOjE9PT1uLm5vZGVUeXBlJiZiLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG4sZSkpKXtvLnB1c2gobik7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKG8ubGVuZ3RoPjE/Yi51bmlxdWVTb3J0KG8pOm8pfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT9cInN0cmluZ1wiPT10eXBlb2YgZT9zLmNhbGwoYihlKSx0aGlzWzBdKTpzLmNhbGwodGhpcyxlLmpxdWVyeT9lWzBdOmUpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIudW5pcXVlU29ydChiLm1lcmdlKHRoaXMuZ2V0KCksYihlLHQpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFkZChudWxsPT1lP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGUpKX19KSxiLmVhY2goe3BhcmVudDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJjExIT09dC5ub2RlVHlwZT90Om51bGx9LHBhcmVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcInBhcmVudE5vZGVcIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcInBhcmVudE5vZGVcIixuKX0sbmV4dDpmdW5jdGlvbihlKXtyZXR1cm4gSChlLFwibmV4dFNpYmxpbmdcIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIEgoZSxcInByZXZpb3VzU2libGluZ1wiKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4gQyhlLFwibmV4dFNpYmxpbmdcIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcInByZXZpb3VzU2libGluZ1wiKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQyhlLFwibmV4dFNpYmxpbmdcIixuKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQyhlLFwicHJldmlvdXNTaWJsaW5nXCIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBFKChlLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGUpfSxjaGlsZHJlbjpmdW5jdGlvbihlKXtyZXR1cm4gRShlLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZS5jb250ZW50RG9jdW1lbnQmJnIoZS5jb250ZW50RG9jdW1lbnQpP2UuY29udGVudERvY3VtZW50OihrKGUsXCJ0ZW1wbGF0ZVwiKSYmKGU9ZS5jb250ZW50fHxlKSxiLm1lcmdlKFtdLGUuY2hpbGROb2RlcykpfX0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKG4scil7dmFyIGk9Yi5tYXAodGhpcyx0LG4pO3JldHVyblwiVW50aWxcIiE9PWUuc2xpY2UoLTUpJiYocj1uKSxyJiZcInN0cmluZ1wiPT10eXBlb2YgciYmKGk9Yi5maWx0ZXIocixpKSksdGhpcy5sZW5ndGg+MSYmKExbZV18fGIudW5pcXVlU29ydChpKSxxLnRlc3QoZSkmJmkucmV2ZXJzZSgpKSx0aGlzLnB1c2hTdGFjayhpKX19KTt2YXIgTz0vW15cXHgyMFxcdFxcclxcblxcZl0rL2c7ZnVuY3Rpb24gUChlKXtyZXR1cm4gZX1mdW5jdGlvbiBSKGUpe3Rocm93IGV9ZnVuY3Rpb24gTShlLHQsbixyKXt2YXIgaTt0cnl7ZSYmaChpPWUucHJvbWlzZSk/aS5jYWxsKGUpLmRvbmUodCkuZmFpbChuKTplJiZoKGk9ZS50aGVuKT9pLmNhbGwoZSx0LG4pOnQuYXBwbHkodm9pZCAwLFtlXS5zbGljZShyKSl9Y2F0Y2goZSl7bi5hcHBseSh2b2lkIDAsW2VdKX19Yi5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1cInN0cmluZ1wiPT10eXBlb2YgZT9mdW5jdGlvbihlKXt2YXIgdD17fTtyZXR1cm4gYi5lYWNoKGUubWF0Y2goTyl8fFtdLGZ1bmN0aW9uKGUsbil7dFtuXT0hMH0pLHR9KGUpOmIuZXh0ZW5kKHt9LGUpO3ZhciB0LG4scixpLG89W10sYT1bXSxzPS0xLHU9ZnVuY3Rpb24oKXtmb3IoaT1pfHxlLm9uY2Uscj10PSEwO2EubGVuZ3RoO3M9LTEpZm9yKG49YS5zaGlmdCgpOysrczxvLmxlbmd0aDspITE9PT1vW3NdLmFwcGx5KG5bMF0sblsxXSkmJmUuc3RvcE9uRmFsc2UmJihzPW8ubGVuZ3RoLG49ITEpO2UubWVtb3J5fHwobj0hMSksdD0hMSxpJiYobz1uP1tdOlwiXCIpfSxsPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gbyYmKG4mJiF0JiYocz1vLmxlbmd0aC0xLGEucHVzaChuKSksZnVuY3Rpb24gdChuKXtiLmVhY2gobixmdW5jdGlvbihuLHIpe2gocik/ZS51bmlxdWUmJmwuaGFzKHIpfHxvLnB1c2gocik6ciYmci5sZW5ndGgmJlwic3RyaW5nXCIhPT14KHIpJiZ0KHIpfSl9KGFyZ3VtZW50cyksbiYmIXQmJnUoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGIuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG47KG49Yi5pbkFycmF5KHQsbyxuKSk+LTE7KW8uc3BsaWNlKG4sMSksbjw9cyYmcy0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlP2IuaW5BcnJheShlLG8pPi0xOm8ubGVuZ3RoPjB9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIG8mJihvPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGk9YT1bXSxvPW49XCJcIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFvfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9YT1bXSxufHx0fHwobz1uPVwiXCIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhaX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gaXx8KG49W2UsKG49bnx8W10pLnNsaWNlP24uc2xpY2UoKTpuXSxhLnB1c2gobiksdHx8dSgpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGwuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFyfX07cmV0dXJuIGx9LGIuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbih0KXt2YXIgbj1bW1wibm90aWZ5XCIsXCJwcm9ncmVzc1wiLGIuQ2FsbGJhY2tzKFwibWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwibWVtb3J5XCIpLDJdLFtcInJlc29sdmVcIixcImRvbmVcIixiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksMCxcInJlc29sdmVkXCJdLFtcInJlamVjdFwiLFwiZmFpbFwiLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSwxLFwicmVqZWN0ZWRcIl1dLHI9XCJwZW5kaW5nXCIsaT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG8uZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSxjYXRjaDpmdW5jdGlvbihlKXtyZXR1cm4gaS50aGVuKG51bGwsZSl9LHBpcGU6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHM7cmV0dXJuIGIuRGVmZXJyZWQoZnVuY3Rpb24odCl7Yi5lYWNoKG4sZnVuY3Rpb24obixyKXt2YXIgaT1oKGVbcls0XV0pJiZlW3JbNF1dO29bclsxXV0oZnVuY3Rpb24oKXt2YXIgZT1pJiZpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlJiZoKGUucHJvbWlzZSk/ZS5wcm9taXNlKCkucHJvZ3Jlc3ModC5ub3RpZnkpLmRvbmUodC5yZXNvbHZlKS5mYWlsKHQucmVqZWN0KTp0W3JbMF0rXCJXaXRoXCJdKHRoaXMsaT9bZV06YXJndW1lbnRzKX0pfSksZT1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKHQscixpKXt2YXIgbz0wO2Z1bmN0aW9uIGEodCxuLHIsaSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHM9dGhpcyx1PWFyZ3VtZW50cyxsPWZ1bmN0aW9uKCl7dmFyIGUsbDtpZighKHQ8bykpe2lmKChlPXIuYXBwbHkocyx1KSk9PT1uLnByb21pc2UoKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uXCIpO2w9ZSYmKFwib2JqZWN0XCI9PXR5cGVvZiBlfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlKSYmZS50aGVuLGgobCk/aT9sLmNhbGwoZSxhKG8sbixQLGkpLGEobyxuLFIsaSkpOihvKyssbC5jYWxsKGUsYShvLG4sUCxpKSxhKG8sbixSLGkpLGEobyxuLFAsbi5ub3RpZnlXaXRoKSkpOihyIT09UCYmKHM9dm9pZCAwLHU9W2VdKSwoaXx8bi5yZXNvbHZlV2l0aCkocyx1KSl9fSxjPWk/bDpmdW5jdGlvbigpe3RyeXtsKCl9Y2F0Y2goZSl7Yi5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZiLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSxjLnN0YWNrVHJhY2UpLHQrMT49byYmKHIhPT1SJiYocz12b2lkIDAsdT1bZV0pLG4ucmVqZWN0V2l0aChzLHUpKX19O3Q/YygpOihiLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKGMuc3RhY2tUcmFjZT1iLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxlLnNldFRpbWVvdXQoYykpfX1yZXR1cm4gYi5EZWZlcnJlZChmdW5jdGlvbihlKXtuWzBdWzNdLmFkZChhKDAsZSxoKGkpP2k6UCxlLm5vdGlmeVdpdGgpKSxuWzFdWzNdLmFkZChhKDAsZSxoKHQpP3Q6UCkpLG5bMl1bM10uYWRkKGEoMCxlLGgocik/cjpSKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/Yi5leHRlbmQoZSxpKTppfX0sbz17fTtyZXR1cm4gYi5lYWNoKG4sZnVuY3Rpb24oZSx0KXt2YXIgYT10WzJdLHM9dFs1XTtpW3RbMV1dPWEuYWRkLHMmJmEuYWRkKGZ1bmN0aW9uKCl7cj1zfSxuWzMtZV1bMl0uZGlzYWJsZSxuWzMtZV1bM10uZGlzYWJsZSxuWzBdWzJdLmxvY2ssblswXVszXS5sb2NrKSxhLmFkZCh0WzNdLmZpcmUpLG9bdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gb1t0WzBdK1wiV2l0aFwiXSh0aGlzPT09bz92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LG9bdFswXStcIldpdGhcIl09YS5maXJlV2l0aH0pLGkucHJvbWlzZShvKSx0JiZ0LmNhbGwobyxvKSxvfSx3aGVuOmZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj10LHI9QXJyYXkobiksbz1pLmNhbGwoYXJndW1lbnRzKSxhPWIuRGVmZXJyZWQoKSxzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyW2VdPXRoaXMsb1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3VtZW50cyk6biwtLXR8fGEucmVzb2x2ZVdpdGgocixvKX19O2lmKHQ8PTEmJihNKGUsYS5kb25lKHMobikpLnJlc29sdmUsYS5yZWplY3QsIXQpLFwicGVuZGluZ1wiPT09YS5zdGF0ZSgpfHxoKG9bbl0mJm9bbl0udGhlbikpKXJldHVybiBhLnRoZW4oKTtmb3IoO24tLTspTShvW25dLHMobiksYS5yZWplY3QpO3JldHVybiBhLnByb21pc2UoKX19KTt2YXIgST0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLztiLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2s9ZnVuY3Rpb24odCxuKXtlLmNvbnNvbGUmJmUuY29uc29sZS53YXJuJiZ0JiZJLnRlc3QodC5uYW1lKSYmZS5jb25zb2xlLndhcm4oXCJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiBcIit0Lm1lc3NhZ2UsdC5zdGFjayxuKX0sYi5yZWFkeUV4Y2VwdGlvbj1mdW5jdGlvbih0KXtlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyB0fSl9O3ZhciBXPWIuRGVmZXJyZWQoKTtmdW5jdGlvbiBGKCl7di5yZW1vdmVFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLEYpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImxvYWRcIixGKSxiLnJlYWR5KCl9Yi5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gVy50aGVuKGUpLmNhdGNoKGZ1bmN0aW9uKGUpe2IucmVhZHlFeGNlcHRpb24oZSl9KSx0aGlzfSxiLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tYi5yZWFkeVdhaXQ6Yi5pc1JlYWR5KXx8KGIuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYi5yZWFkeVdhaXQ+MHx8Vy5yZXNvbHZlV2l0aCh2LFtiXSkpfX0pLGIucmVhZHkudGhlbj1XLnRoZW4sXCJjb21wbGV0ZVwiPT09di5yZWFkeVN0YXRlfHxcImxvYWRpbmdcIiE9PXYucmVhZHlTdGF0ZSYmIXYuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Uuc2V0VGltZW91dChiLnJlYWR5KToodi5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLEYpLGUuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIixGKSk7dmFyIEI9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7dmFyIHM9MCx1PWUubGVuZ3RoLGw9bnVsbD09bjtpZihcIm9iamVjdFwiPT09eChuKSlmb3IocyBpbiBpPSEwLG4pQihlLHQscyxuW3NdLCEwLG8sYSk7ZWxzZSBpZih2b2lkIDAhPT1yJiYoaT0hMCxoKHIpfHwoYT0hMCksbCYmKGE/KHQuY2FsbChlLHIpLHQ9bnVsbCk6KGw9dCx0PWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbC5jYWxsKGIoZSksbil9KSksdCkpZm9yKDtzPHU7cysrKXQoZVtzXSxuLGE/cjpyLmNhbGwoZVtzXSxzLHQoZVtzXSxuKSkpO3JldHVybiBpP2U6bD90LmNhbGwoZSk6dT90KGVbMF0sbik6b30sJD0vXi1tcy0vLF89Ly0oW2Etel0pL2c7ZnVuY3Rpb24geihlLHQpe3JldHVybiB0LnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZS5yZXBsYWNlKCQsXCJtcy1cIikucmVwbGFjZShfLHopfXZhciBYPWZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZXx8OT09PWUubm9kZVR5cGV8fCErZS5ub2RlVHlwZX07ZnVuY3Rpb24gVigpe3RoaXMuZXhwYW5kbz1iLmV4cGFuZG8rVi51aWQrK31WLnVpZD0xLFYucHJvdG90eXBlPXtjYWNoZTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHR8fCh0PXt9LFgoZSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT10Ok9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHRoaXMuZXhwYW5kbyx7dmFsdWU6dCxjb25maWd1cmFibGU6ITB9KSkpLHR9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT10aGlzLmNhY2hlKGUpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0KWlbVSh0KV09bjtlbHNlIGZvcihyIGluIHQpaVtVKHIpXT10W3JdO3JldHVybiBpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUpOmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW1UodCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10fHx0JiZcInN0cmluZ1wiPT10eXBlb2YgdCYmdm9pZCAwPT09bj90aGlzLmdldChlLHQpOih0aGlzLnNldChlLHQsbiksdm9pZCAwIT09bj9uOnQpfSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWVbdGhpcy5leHBhbmRvXTtpZih2b2lkIDAhPT1yKXtpZih2b2lkIDAhPT10KXtuPSh0PUFycmF5LmlzQXJyYXkodCk/dC5tYXAoVSk6KHQ9VSh0KSlpbiByP1t0XTp0Lm1hdGNoKE8pfHxbXSkubGVuZ3RoO2Zvcig7bi0tOylkZWxldGUgclt0W25dXX0odm9pZCAwPT09dHx8Yi5pc0VtcHR5T2JqZWN0KHIpKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXZvaWQgMDpkZWxldGUgZVt0aGlzLmV4cGFuZG9dKX19LGhhc0RhdGE6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB2b2lkIDAhPT10JiYhYi5pc0VtcHR5T2JqZWN0KHQpfX07dmFyIEc9bmV3IFYsWT1uZXcgVixRPS9eKD86XFx7W1xcd1xcV10qXFx9fFxcW1tcXHdcXFddKlxcXSkkLyxKPS9bQS1aXS9nO2Z1bmN0aW9uIEsoZSx0LG4pe3ZhciByO2lmKHZvaWQgMD09PW4mJjE9PT1lLm5vZGVUeXBlKWlmKHI9XCJkYXRhLVwiK3QucmVwbGFjZShKLFwiLSQmXCIpLnRvTG93ZXJDYXNlKCksXCJzdHJpbmdcIj09dHlwZW9mKG49ZS5nZXRBdHRyaWJ1dGUocikpKXt0cnl7bj1mdW5jdGlvbihlKXtyZXR1cm5cInRydWVcIj09PWV8fFwiZmFsc2VcIiE9PWUmJihcIm51bGxcIj09PWU/bnVsbDplPT09K2UrXCJcIj8rZTpRLnRlc3QoZSk/SlNPTi5wYXJzZShlKTplKX0obil9Y2F0Y2goZSl7fVkuc2V0KGUsdCxuKX1lbHNlIG49dm9pZCAwO3JldHVybiBufWIuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiBZLmhhc0RhdGEoZSl8fEcuaGFzRGF0YShlKX0sZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFkuYWNjZXNzKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1kucmVtb3ZlKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRy5hY2Nlc3MoZSx0LG4pfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe0cucmVtb3ZlKGUsdCl9fSksYi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoaT1ZLmdldChvKSwxPT09by5ub2RlVHlwZSYmIUcuZ2V0KG8sXCJoYXNEYXRhQXR0cnNcIikpKXtmb3Iobj1hLmxlbmd0aDtuLS07KWFbbl0mJjA9PT0ocj1hW25dLm5hbWUpLmluZGV4T2YoXCJkYXRhLVwiKSYmKHI9VShyLnNsaWNlKDUpKSxLKG8scixpW3JdKSk7Ry5zZXQobyxcImhhc0RhdGFBdHRyc1wiLCEwKX1yZXR1cm4gaX1yZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgZT90aGlzLmVhY2goZnVuY3Rpb24oKXtZLnNldCh0aGlzLGUpfSk6Qih0aGlzLGZ1bmN0aW9uKHQpe3ZhciBuO2lmKG8mJnZvaWQgMD09PXQpcmV0dXJuIHZvaWQgMCE9PShuPVkuZ2V0KG8sZSkpP246dm9pZCAwIT09KG49SyhvLGUpKT9uOnZvaWQgMDt0aGlzLmVhY2goZnVuY3Rpb24oKXtZLnNldCh0aGlzLGUsdCl9KX0sbnVsbCx0LGFyZ3VtZW50cy5sZW5ndGg+MSxudWxsLCEwKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5yZW1vdmUodGhpcyxlKX0pfX0pLGIuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoZSlyZXR1cm4gdD0odHx8XCJmeFwiKStcInF1ZXVlXCIscj1HLmdldChlLHQpLG4mJighcnx8QXJyYXkuaXNBcnJheShuKT9yPUcuYWNjZXNzKGUsdCxiLm1ha2VBcnJheShuKSk6ci5wdXNoKG4pKSxyfHxbXX0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8XCJmeFwiO3ZhciBuPWIucXVldWUoZSx0KSxyPW4ubGVuZ3RoLGk9bi5zaGlmdCgpLG89Yi5fcXVldWVIb29rcyhlLHQpO1wiaW5wcm9ncmVzc1wiPT09aSYmKGk9bi5zaGlmdCgpLHItLSksaSYmKFwiZnhcIj09PXQmJm4udW5zaGlmdChcImlucHJvZ3Jlc3NcIiksZGVsZXRlIG8uc3RvcCxpLmNhbGwoZSxmdW5jdGlvbigpe2IuZGVxdWV1ZShlLHQpfSxvKSksIXImJm8mJm8uZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihlLHQpe3ZhciBuPXQrXCJxdWV1ZUhvb2tzXCI7cmV0dXJuIEcuZ2V0KGUsbil8fEcuYWNjZXNzKGUsbix7ZW1wdHk6Yi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKS5hZGQoZnVuY3Rpb24oKXtHLnJlbW92ZShlLFt0K1wicXVldWVcIixuXSl9KX0pfX0pLGIuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPTI7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGUmJih0PWUsZT1cImZ4XCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/Yi5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1iLnF1ZXVlKHRoaXMsZSx0KTtiLl9xdWV1ZUhvb2tzKHRoaXMsZSksXCJmeFwiPT09ZSYmXCJpbnByb2dyZXNzXCIhPT1uWzBdJiZiLmRlcXVldWUodGhpcyxlKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmRlcXVldWUodGhpcyxlKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fFwiZnhcIixbXSl9LHByb21pc2U6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTEsaT1iLkRlZmVycmVkKCksbz10aGlzLGE9dGhpcy5sZW5ndGgscz1mdW5jdGlvbigpey0tcnx8aS5yZXNvbHZlV2l0aChvLFtvXSl9O2ZvcihcInN0cmluZ1wiIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHxcImZ4XCI7YS0tOykobj1HLmdldChvW2FdLGUrXCJxdWV1ZUhvb2tzXCIpKSYmbi5lbXB0eSYmKHIrKyxuLmVtcHR5LmFkZChzKSk7cmV0dXJuIHMoKSxpLnByb21pc2UodCl9fSk7dmFyIFo9L1srLV0/KD86XFxkKlxcLnwpXFxkKyg/OltlRV1bKy1dP1xcZCt8KS8uc291cmNlLGVlPW5ldyBSZWdFeHAoXCJeKD86KFsrLV0pPXwpKFwiK1orXCIpKFthLXolXSopJFwiLFwiaVwiKSx0ZT1bXCJUb3BcIixcIlJpZ2h0XCIsXCJCb3R0b21cIixcIkxlZnRcIl0sbmU9di5kb2N1bWVudEVsZW1lbnQscmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGIuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxpZT17Y29tcG9zZWQ6ITB9O25lLmdldFJvb3ROb2RlJiYocmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGIuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfHxlLmdldFJvb3ROb2RlKGllKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciBvZT1mdW5jdGlvbihlLHQpe3JldHVyblwibm9uZVwiPT09KGU9dHx8ZSkuc3R5bGUuZGlzcGxheXx8XCJcIj09PWUuc3R5bGUuZGlzcGxheSYmcmUoZSkmJlwibm9uZVwiPT09Yi5jc3MoZSxcImRpc3BsYXlcIil9O2Z1bmN0aW9uIGFlKGUsdCxuLHIpe3ZhciBpLG8sYT0yMCxzPXI/ZnVuY3Rpb24oKXtyZXR1cm4gci5jdXIoKX06ZnVuY3Rpb24oKXtyZXR1cm4gYi5jc3MoZSx0LFwiXCIpfSx1PXMoKSxsPW4mJm5bM118fChiLmNzc051bWJlclt0XT9cIlwiOlwicHhcIiksYz1lLm5vZGVUeXBlJiYoYi5jc3NOdW1iZXJbdF18fFwicHhcIiE9PWwmJit1KSYmZWUuZXhlYyhiLmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7Zm9yKHUvPTIsbD1sfHxjWzNdLGM9K3V8fDE7YS0tOyliLnN0eWxlKGUsdCxjK2wpLCgxLW8pKigxLShvPXMoKS91fHwuNSkpPD0wJiYoYT0wKSxjLz1vO2MqPTIsYi5zdHlsZShlLHQsYytsKSxuPW58fFtdfXJldHVybiBuJiYoYz0rY3x8K3V8fDAsaT1uWzFdP2MrKG5bMV0rMSkqblsyXTorblsyXSxyJiYoci51bml0PWwsci5zdGFydD1jLHIuZW5kPWkpKSxpfXZhciBzZT17fTtmdW5jdGlvbiB1ZShlKXt2YXIgdCxuPWUub3duZXJEb2N1bWVudCxyPWUubm9kZU5hbWUsaT1zZVtyXTtyZXR1cm4gaXx8KHQ9bi5ib2R5LmFwcGVuZENoaWxkKG4uY3JlYXRlRWxlbWVudChyKSksaT1iLmNzcyh0LFwiZGlzcGxheVwiKSx0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksXCJub25lXCI9PT1pJiYoaT1cImJsb2NrXCIpLHNlW3JdPWksaSl9ZnVuY3Rpb24gbGUoZSx0KXtmb3IodmFyIG4scixpPVtdLG89MCxhPWUubGVuZ3RoO288YTtvKyspKHI9ZVtvXSkuc3R5bGUmJihuPXIuc3R5bGUuZGlzcGxheSx0PyhcIm5vbmVcIj09PW4mJihpW29dPUcuZ2V0KHIsXCJkaXNwbGF5XCIpfHxudWxsLGlbb118fChyLnN0eWxlLmRpc3BsYXk9XCJcIikpLFwiXCI9PT1yLnN0eWxlLmRpc3BsYXkmJm9lKHIpJiYoaVtvXT11ZShyKSkpOlwibm9uZVwiIT09biYmKGlbb109XCJub25lXCIsRy5zZXQocixcImRpc3BsYXlcIixuKSkpO2ZvcihvPTA7bzxhO28rKyludWxsIT1pW29dJiYoZVtvXS5zdHlsZS5kaXNwbGF5PWlbb10pO3JldHVybiBlfWIuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIGxlKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGxlKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oZSl7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBlP2U/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7b2UodGhpcyk/Yih0aGlzKS5zaG93KCk6Yih0aGlzKS5oaWRlKCl9KX19KTt2YXIgY2UsZmUscGU9L14oPzpjaGVja2JveHxyYWRpbykkL2ksZGU9LzwoW2Etel1bXlxcL1xcMD5cXHgyMFxcdFxcclxcblxcZl0qKS9pLGhlPS9eJHxebW9kdWxlJHxcXC8oPzpqYXZhfGVjbWEpc2NyaXB0L2k7Y2U9di5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQodi5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSwoZmU9di5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIikpLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInJhZGlvXCIpLGZlLnNldEF0dHJpYnV0ZShcImNoZWNrZWRcIixcImNoZWNrZWRcIiksZmUuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwidFwiKSxjZS5hcHBlbmRDaGlsZChmZSksZC5jaGVja0Nsb25lPWNlLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxjZS5pbm5lckhUTUw9XCI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+XCIsZC5ub0Nsb25lQ2hlY2tlZD0hIWNlLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxjZS5pbm5lckhUTUw9XCI8b3B0aW9uPjwvb3B0aW9uPlwiLGQub3B0aW9uPSEhY2UubGFzdENoaWxkO3ZhciBnZT17dGhlYWQ6WzEsXCI8dGFibGU+XCIsXCI8L3RhYmxlPlwiXSxjb2w6WzIsXCI8dGFibGU+PGNvbGdyb3VwPlwiLFwiPC9jb2xncm91cD48L3RhYmxlPlwiXSx0cjpbMixcIjx0YWJsZT48dGJvZHk+XCIsXCI8L3Rib2R5PjwvdGFibGU+XCJdLHRkOlszLFwiPHRhYmxlPjx0Ym9keT48dHI+XCIsXCI8L3RyPjwvdGJvZHk+PC90YWJsZT5cIl0sX2RlZmF1bHQ6WzAsXCJcIixcIlwiXX07ZnVuY3Rpb24gdmUoZSx0KXt2YXIgbjtyZXR1cm4gbj12b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUodHx8XCIqXCIpOnZvaWQgMCE9PWUucXVlcnlTZWxlY3RvckFsbD9lLnF1ZXJ5U2VsZWN0b3JBbGwodHx8XCIqXCIpOltdLHZvaWQgMD09PXR8fHQmJmsoZSx0KT9iLm1lcmdlKFtlXSxuKTpufWZ1bmN0aW9uIHllKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKUcuc2V0KGVbbl0sXCJnbG9iYWxFdmFsXCIsIXR8fEcuZ2V0KHRbbl0sXCJnbG9iYWxFdmFsXCIpKX1nZS50Ym9keT1nZS50Zm9vdD1nZS5jb2xncm91cD1nZS5jYXB0aW9uPWdlLnRoZWFkLGdlLnRoPWdlLnRkLGQub3B0aW9ufHwoZ2Uub3B0Z3JvdXA9Z2Uub3B0aW9uPVsxLFwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPlwiLFwiPC9zZWxlY3Q+XCJdKTt2YXIgbWU9Lzx8JiM/XFx3KzsvO2Z1bmN0aW9uIHhlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGEscyx1LGwsYyxmPXQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHA9W10sZD0wLGg9ZS5sZW5ndGg7ZDxoO2QrKylpZigobz1lW2RdKXx8MD09PW8paWYoXCJvYmplY3RcIj09PXgobykpYi5tZXJnZShwLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYobWUudGVzdChvKSl7Zm9yKGE9YXx8Zi5hcHBlbmRDaGlsZCh0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLHM9KGRlLmV4ZWMobyl8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpLHU9Z2Vbc118fGdlLl9kZWZhdWx0LGEuaW5uZXJIVE1MPXVbMV0rYi5odG1sUHJlZmlsdGVyKG8pK3VbMl0sYz11WzBdO2MtLTspYT1hLmxhc3RDaGlsZDtiLm1lcmdlKHAsYS5jaGlsZE5vZGVzKSwoYT1mLmZpcnN0Q2hpbGQpLnRleHRDb250ZW50PVwiXCJ9ZWxzZSBwLnB1c2godC5jcmVhdGVUZXh0Tm9kZShvKSk7Zm9yKGYudGV4dENvbnRlbnQ9XCJcIixkPTA7bz1wW2QrK107KWlmKHImJmIuaW5BcnJheShvLHIpPi0xKWkmJmkucHVzaChvKTtlbHNlIGlmKGw9cmUobyksYT12ZShmLmFwcGVuZENoaWxkKG8pLFwic2NyaXB0XCIpLGwmJnllKGEpLG4pZm9yKGM9MDtvPWFbYysrXTspaGUudGVzdChvLnR5cGV8fFwiXCIpJiZuLnB1c2gobyk7cmV0dXJuIGZ9dmFyIGJlPS9eKFteLl0qKSg/OlxcLiguKyl8KS87ZnVuY3Rpb24gd2UoKXtyZXR1cm4hMH1mdW5jdGlvbiBUZSgpe3JldHVybiExfWZ1bmN0aW9uIENlKGUsdCl7cmV0dXJuIGU9PT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gdi5hY3RpdmVFbGVtZW50fWNhdGNoKGUpe319KCk9PShcImZvY3VzXCI9PT10KX1mdW5jdGlvbiBFZShlLHQsbixyLGksbyl7dmFyIGEscztpZihcIm9iamVjdFwiPT10eXBlb2YgdCl7Zm9yKHMgaW5cInN0cmluZ1wiIT10eXBlb2YgbiYmKHI9cnx8bixuPXZvaWQgMCksdClFZShlLHMsbixyLHRbc10sbyk7cmV0dXJuIGV9aWYobnVsbD09ciYmbnVsbD09aT8oaT1uLHI9bj12b2lkIDApOm51bGw9PWkmJihcInN0cmluZ1wiPT10eXBlb2Ygbj8oaT1yLHI9dm9pZCAwKTooaT1yLHI9bixuPXZvaWQgMCkpLCExPT09aSlpPVRlO2Vsc2UgaWYoIWkpcmV0dXJuIGU7cmV0dXJuIDE9PT1vJiYoYT1pLChpPWZ1bmN0aW9uKGUpe3JldHVybiBiKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkuZ3VpZD1hLmd1aWR8fChhLmd1aWQ9Yi5ndWlkKyspKSxlLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LmFkZCh0aGlzLHQsaSxyLG4pfSl9ZnVuY3Rpb24gU2UoZSx0LG4pe24/KEcuc2V0KGUsdCwhMSksYi5ldmVudC5hZGQoZSx0LHtuYW1lc3BhY2U6ITEsaGFuZGxlcjpmdW5jdGlvbihlKXt2YXIgcixvLGE9Ry5nZXQodGhpcyx0KTtpZigxJmUuaXNUcmlnZ2VyJiZ0aGlzW3RdKXtpZihhLmxlbmd0aCkoYi5ldmVudC5zcGVjaWFsW3RdfHx7fSkuZGVsZWdhdGVUeXBlJiZlLnN0b3BQcm9wYWdhdGlvbigpO2Vsc2UgaWYoYT1pLmNhbGwoYXJndW1lbnRzKSxHLnNldCh0aGlzLHQsYSkscj1uKHRoaXMsdCksdGhpc1t0XSgpLGEhPT0obz1HLmdldCh0aGlzLHQpKXx8cj9HLnNldCh0aGlzLHQsITEpOm89e30sYSE9PW8pcmV0dXJuIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLG8mJm8udmFsdWV9ZWxzZSBhLmxlbmd0aCYmKEcuc2V0KHRoaXMsdCx7dmFsdWU6Yi5ldmVudC50cmlnZ2VyKGIuZXh0ZW5kKGFbMF0sYi5FdmVudC5wcm90b3R5cGUpLGEuc2xpY2UoMSksdGhpcyl9KSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKX19KSk6dm9pZCAwPT09Ry5nZXQoZSx0KSYmYi5ldmVudC5hZGQoZSx0LHdlKX1iLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PUcuZ2V0KGUpO2lmKFgoZSkpZm9yKG4uaGFuZGxlciYmKG49KG89bikuaGFuZGxlcixpPW8uc2VsZWN0b3IpLGkmJmIuZmluZC5tYXRjaGVzU2VsZWN0b3IobmUsaSksbi5ndWlkfHwobi5ndWlkPWIuZ3VpZCsrKSwodT12LmV2ZW50cyl8fCh1PXYuZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCkpLChhPXYuaGFuZGxlKXx8KGE9di5oYW5kbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PWImJmIuZXZlbnQudHJpZ2dlcmVkIT09dC50eXBlP2IuZXZlbnQuZGlzcGF0Y2guYXBwbHkoZSxhcmd1bWVudHMpOnZvaWQgMH0pLGw9KHQ9KHR8fFwiXCIpLm1hdGNoKE8pfHxbXCJcIl0pLmxlbmd0aDtsLS07KWQ9Zz0ocz1iZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSxkJiYoZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LGQ9KGk/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGQsZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LGM9Yi5leHRlbmQoe3R5cGU6ZCxvcmlnVHlwZTpnLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6aSxuZWVkc0NvbnRleHQ6aSYmYi5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGkpLG5hbWVzcGFjZTpoLmpvaW4oXCIuXCIpfSxvKSwocD11W2RdKXx8KChwPXVbZF09W10pLmRlbGVnYXRlQ291bnQ9MCxmLnNldHVwJiYhMSE9PWYuc2V0dXAuY2FsbChlLHIsaCxhKXx8ZS5hZGRFdmVudExpc3RlbmVyJiZlLmFkZEV2ZW50TGlzdGVuZXIoZCxhKSksZi5hZGQmJihmLmFkZC5jYWxsKGUsYyksYy5oYW5kbGVyLmd1aWR8fChjLmhhbmRsZXIuZ3VpZD1uLmd1aWQpKSxpP3Auc3BsaWNlKHAuZGVsZWdhdGVDb3VudCsrLDAsYyk6cC5wdXNoKGMpLGIuZXZlbnQuZ2xvYmFsW2RdPSEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PUcuaGFzRGF0YShlKSYmRy5nZXQoZSk7aWYodiYmKHU9di5ldmVudHMpKXtmb3IobD0odD0odHx8XCJcIikubWF0Y2goTyl8fFtcIlwiXSkubGVuZ3RoO2wtLTspaWYoZD1nPShzPWJlLmV4ZWModFtsXSl8fFtdKVsxXSxoPShzWzJdfHxcIlwiKS5zcGxpdChcIi5cIikuc29ydCgpLGQpe2ZvcihmPWIuZXZlbnQuc3BlY2lhbFtkXXx8e30scD11W2Q9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGRdfHxbXSxzPXNbMl0mJm5ldyBSZWdFeHAoXCIoXnxcXFxcLilcIitoLmpvaW4oXCJcXFxcLig/Oi4qXFxcXC58KVwiKStcIihcXFxcLnwkKVwiKSxhPW89cC5sZW5ndGg7by0tOyljPXBbb10sIWkmJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxyJiZyIT09Yy5zZWxlY3RvciYmKFwiKipcIiE9PXJ8fCFjLnNlbGVjdG9yKXx8KHAuc3BsaWNlKG8sMSksYy5zZWxlY3RvciYmcC5kZWxlZ2F0ZUNvdW50LS0sZi5yZW1vdmUmJmYucmVtb3ZlLmNhbGwoZSxjKSk7YSYmIXAubGVuZ3RoJiYoZi50ZWFyZG93biYmITEhPT1mLnRlYXJkb3duLmNhbGwoZSxoLHYuaGFuZGxlKXx8Yi5yZW1vdmVFdmVudChlLGQsdi5oYW5kbGUpLGRlbGV0ZSB1W2RdKX1lbHNlIGZvcihkIGluIHUpYi5ldmVudC5yZW1vdmUoZSxkK3RbbF0sbixyLCEwKTtiLmlzRW1wdHlPYmplY3QodSkmJkcucmVtb3ZlKGUsXCJoYW5kbGUgZXZlbnRzXCIpfX0sZGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHM9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLHU9Yi5ldmVudC5maXgoZSksbD0oRy5nZXQodGhpcyxcImV2ZW50c1wiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbdS50eXBlXXx8W10sYz1iLmV2ZW50LnNwZWNpYWxbdS50eXBlXXx8e307Zm9yKHNbMF09dSx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylzW3RdPWFyZ3VtZW50c1t0XTtpZih1LmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWMucHJlRGlzcGF0Y2h8fCExIT09Yy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsdSkpe2ZvcihhPWIuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLHUsbCksdD0wOyhpPWFbdCsrXSkmJiF1LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWZvcih1LmN1cnJlbnRUYXJnZXQ9aS5lbGVtLG49MDsobz1pLmhhbmRsZXJzW24rK10pJiYhdS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpOyl1LnJuYW1lc3BhY2UmJiExIT09by5uYW1lc3BhY2UmJiF1LnJuYW1lc3BhY2UudGVzdChvLm5hbWVzcGFjZSl8fCh1LmhhbmRsZU9iaj1vLHUuZGF0YT1vLmRhdGEsdm9pZCAwIT09KHI9KChiLmV2ZW50LnNwZWNpYWxbby5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fG8uaGFuZGxlcikuYXBwbHkoaS5lbGVtLHMpKSYmITE9PT0odS5yZXN1bHQ9cikmJih1LnByZXZlbnREZWZhdWx0KCksdS5zdG9wUHJvcGFnYXRpb24oKSkpO3JldHVybiBjLnBvc3REaXNwYXRjaCYmYy5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLHUpLHUucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhLHM9W10sdT10LmRlbGVnYXRlQ291bnQsbD1lLnRhcmdldDtpZih1JiZsLm5vZGVUeXBlJiYhKFwiY2xpY2tcIj09PWUudHlwZSYmZS5idXR0b24+PTEpKWZvcig7bCE9PXRoaXM7bD1sLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWwubm9kZVR5cGUmJihcImNsaWNrXCIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvPVtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yK1wiIFwiXSYmKGFbaV09ci5uZWVkc0NvbnRleHQ/YihpLHRoaXMpLmluZGV4KGwpPi0xOmIuZmluZChpLHRoaXMsbnVsbCxbbF0pLmxlbmd0aCksYVtpXSYmby5wdXNoKHIpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczpvfSl9cmV0dXJuIGw9dGhpcyx1PHQubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczp0LnNsaWNlKHUpfSksc30sYWRkUHJvcDpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLkV2ZW50LnByb3RvdHlwZSxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6aCh0KT9mdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdCh0aGlzLm9yaWdpbmFsRXZlbnQpfTpmdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50W2VdfSxzZXQ6ZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pfX0pfSxmaXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbYi5leHBhbmRvXT9lOm5ldyBiLkV2ZW50KGUpfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sY2xpY2s6e3NldHVwOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmayh0LFwiaW5wdXRcIikmJlNlKHQsXCJjbGlja1wiLHdlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZTZSh0LFwiY2xpY2tcIiksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZHLmdldCh0LFwiY2xpY2tcIil8fGsodCxcImFcIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihlKXt2b2lkIDAhPT1lLnJlc3VsdCYmZS5vcmlnaW5hbEV2ZW50JiYoZS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWUucmVzdWx0KX19fX0sYi5yZW1vdmVFdmVudD1mdW5jdGlvbihlLHQsbil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0sYi5FdmVudD1mdW5jdGlvbihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIuRXZlbnQpKXJldHVybiBuZXcgYi5FdmVudChlLHQpO2UmJmUudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWUsdGhpcy50eXBlPWUudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1lLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWUuZGVmYXVsdFByZXZlbnRlZCYmITE9PT1lLnJldHVyblZhbHVlP3dlOlRlLHRoaXMudGFyZ2V0PWUudGFyZ2V0JiYzPT09ZS50YXJnZXQubm9kZVR5cGU/ZS50YXJnZXQucGFyZW50Tm9kZTplLnRhcmdldCx0aGlzLmN1cnJlbnRUYXJnZXQ9ZS5jdXJyZW50VGFyZ2V0LHRoaXMucmVsYXRlZFRhcmdldD1lLnJlbGF0ZWRUYXJnZXQpOnRoaXMudHlwZT1lLHQmJmIuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fERhdGUubm93KCksdGhpc1tiLmV4cGFuZG9dPSEwfSxiLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Yi5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6VGUsaXNQcm9wYWdhdGlvblN0b3BwZWQ6VGUsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6VGUsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9d2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9d2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxiLmVhY2goe2FsdEtleTohMCxidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY2hhbmdlZFRvdWNoZXM6ITAsY3RybEtleTohMCxkZXRhaWw6ITAsZXZlbnRQaGFzZTohMCxtZXRhS2V5OiEwLHBhZ2VYOiEwLHBhZ2VZOiEwLHNoaWZ0S2V5OiEwLHZpZXc6ITAsY2hhcjohMCxjb2RlOiEwLGNoYXJDb2RlOiEwLGtleTohMCxrZXlDb2RlOiEwLGJ1dHRvbjohMCxidXR0b25zOiEwLGNsaWVudFg6ITAsY2xpZW50WTohMCxvZmZzZXRYOiEwLG9mZnNldFk6ITAscG9pbnRlcklkOiEwLHBvaW50ZXJUeXBlOiEwLHNjcmVlblg6ITAsc2NyZWVuWTohMCx0YXJnZXRUb3VjaGVzOiEwLHRvRWxlbWVudDohMCx0b3VjaGVzOiEwLHdoaWNoOiEwfSxiLmV2ZW50LmFkZFByb3ApLGIuZWFjaCh7Zm9jdXM6XCJmb2N1c2luXCIsYmx1cjpcImZvY3Vzb3V0XCJ9LGZ1bmN0aW9uKGUsdCl7Yi5ldmVudC5zcGVjaWFsW2VdPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBTZSh0aGlzLGUsQ2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIFNlKHRoaXMsZSksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuITB9LGRlbGVnYXRlVHlwZTp0fX0pLGIuZWFjaCh7bW91c2VlbnRlcjpcIm1vdXNlb3ZlclwiLG1vdXNlbGVhdmU6XCJtb3VzZW91dFwiLHBvaW50ZXJlbnRlcjpcInBvaW50ZXJvdmVyXCIscG9pbnRlcmxlYXZlOlwicG9pbnRlcm91dFwifSxmdW5jdGlvbihlLHQpe2IuZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOnQsYmluZFR5cGU6dCxoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIG4scj1lLnJlbGF0ZWRUYXJnZXQsaT1lLmhhbmRsZU9iajtyZXR1cm4gciYmKHI9PT10aGlzfHxiLmNvbnRhaW5zKHRoaXMscikpfHwoZS50eXBlPWkub3JpZ1R5cGUsbj1pLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT10KSxufX19KSxiLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEVlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gRWUodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosYihlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZStcIi5cIityLm5hbWVzcGFjZTpyLm9yaWdUeXBlLHIuc2VsZWN0b3Isci5oYW5kbGVyKSx0aGlzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBlKXtmb3IoaSBpbiBlKXRoaXMub2ZmKGksdCxlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09biYmKG49VGUpLHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7dmFyIGtlPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLEFlPS9jaGVja2VkXFxzKig/OltePV18PVxccyouY2hlY2tlZC4pL2ksTmU9L15cXHMqPCEoPzpcXFtDREFUQVxcW3wtLSl8KD86XFxdXFxdfC0tKT5cXHMqJC9nO2Z1bmN0aW9uIGplKGUsdCl7cmV0dXJuIGsoZSxcInRhYmxlXCIpJiZrKDExIT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCxcInRyXCIpJiZiKGUpLmNoaWxkcmVuKFwidGJvZHlcIilbMF18fGV9ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIGUudHlwZT0obnVsbCE9PWUuZ2V0QXR0cmlidXRlKFwidHlwZVwiKSkrXCIvXCIrZS50eXBlLGV9ZnVuY3Rpb24gcWUoZSl7cmV0dXJuXCJ0cnVlL1wiPT09KGUudHlwZXx8XCJcIikuc2xpY2UoMCw1KT9lLnR5cGU9ZS50eXBlLnNsaWNlKDUpOmUucmVtb3ZlQXR0cmlidXRlKFwidHlwZVwiKSxlfWZ1bmN0aW9uIExlKGUsdCl7dmFyIG4scixpLG8sYSxzO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihHLmhhc0RhdGEoZSkmJihzPUcuZ2V0KGUpLmV2ZW50cykpZm9yKGkgaW4gRy5yZW1vdmUodCxcImhhbmRsZSBldmVudHNcIikscylmb3Iobj0wLHI9c1tpXS5sZW5ndGg7bjxyO24rKyliLmV2ZW50LmFkZCh0LGksc1tpXVtuXSk7WS5oYXNEYXRhKGUpJiYobz1ZLmFjY2VzcyhlKSxhPWIuZXh0ZW5kKHt9LG8pLFkuc2V0KHQsYSkpfX1mdW5jdGlvbiBIZShlLHQsbixyKXt0PW8odCk7dmFyIGksYSxzLHUsbCxjLGY9MCxwPWUubGVuZ3RoLGc9cC0xLHY9dFswXSx5PWgodik7aWYoeXx8cD4xJiZcInN0cmluZ1wiPT10eXBlb2YgdiYmIWQuY2hlY2tDbG9uZSYmQWUudGVzdCh2KSlyZXR1cm4gZS5lYWNoKGZ1bmN0aW9uKGkpe3ZhciBvPWUuZXEoaSk7eSYmKHRbMF09di5jYWxsKHRoaXMsaSxvLmh0bWwoKSkpLEhlKG8sdCxuLHIpfSk7aWYocCYmKGE9KGk9eGUodCxlWzBdLm93bmVyRG9jdW1lbnQsITEsZSxyKSkuZmlyc3RDaGlsZCwxPT09aS5jaGlsZE5vZGVzLmxlbmd0aCYmKGk9YSksYXx8cikpe2Zvcih1PShzPWIubWFwKHZlKGksXCJzY3JpcHRcIiksRGUpKS5sZW5ndGg7ZjxwO2YrKylsPWksZiE9PWcmJihsPWIuY2xvbmUobCwhMCwhMCksdSYmYi5tZXJnZShzLHZlKGwsXCJzY3JpcHRcIikpKSxuLmNhbGwoZVtmXSxsLGYpO2lmKHUpZm9yKGM9c1tzLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LGIubWFwKHMscWUpLGY9MDtmPHU7ZisrKWw9c1tmXSxoZS50ZXN0KGwudHlwZXx8XCJcIikmJiFHLmFjY2VzcyhsLFwiZ2xvYmFsRXZhbFwiKSYmYi5jb250YWlucyhjLGwpJiYobC5zcmMmJlwibW9kdWxlXCIhPT0obC50eXBlfHxcIlwiKS50b0xvd2VyQ2FzZSgpP2IuX2V2YWxVcmwmJiFsLm5vTW9kdWxlJiZiLl9ldmFsVXJsKGwuc3JjLHtub25jZTpsLm5vbmNlfHxsLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpfSxjKTptKGwudGV4dENvbnRlbnQucmVwbGFjZShOZSxcIlwiKSxsLGMpKX1yZXR1cm4gZX1mdW5jdGlvbiBPZShlLHQsbil7Zm9yKHZhciByLGk9dD9iLmZpbHRlcih0LGUpOmUsbz0wO251bGwhPShyPWlbb10pO28rKylufHwxIT09ci5ub2RlVHlwZXx8Yi5jbGVhbkRhdGEodmUocikpLHIucGFyZW50Tm9kZSYmKG4mJnJlKHIpJiZ5ZSh2ZShyLFwic2NyaXB0XCIpKSxyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocikpO3JldHVybiBlfWIuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxjbG9uZTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYz1lLmNsb25lTm9kZSghMCksZj1yZShlKTtpZighKGQubm9DbG9uZUNoZWNrZWR8fDEhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGV8fGIuaXNYTUxEb2MoZSkpKWZvcihhPXZlKGMpLHI9MCxpPShvPXZlKGUpKS5sZW5ndGg7cjxpO3IrKylzPW9bcl0sdT1hW3JdLGw9dm9pZCAwLFwiaW5wdXRcIj09PShsPXUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkmJnBlLnRlc3Qocy50eXBlKT91LmNoZWNrZWQ9cy5jaGVja2VkOlwiaW5wdXRcIiE9PWwmJlwidGV4dGFyZWFcIiE9PWx8fCh1LmRlZmF1bHRWYWx1ZT1zLmRlZmF1bHRWYWx1ZSk7aWYodClpZihuKWZvcihvPW98fHZlKGUpLGE9YXx8dmUoYykscj0wLGk9by5sZW5ndGg7cjxpO3IrKylMZShvW3JdLGFbcl0pO2Vsc2UgTGUoZSxjKTtyZXR1cm4oYT12ZShjLFwic2NyaXB0XCIpKS5sZW5ndGg+MCYmeWUoYSwhZiYmdmUoZSxcInNjcmlwdFwiKSksY30sY2xlYW5EYXRhOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuLHIsaT1iLmV2ZW50LnNwZWNpYWwsbz0wO3ZvaWQgMCE9PShuPWVbb10pO28rKylpZihYKG4pKXtpZih0PW5bRy5leHBhbmRvXSl7aWYodC5ldmVudHMpZm9yKHIgaW4gdC5ldmVudHMpaVtyXT9iLmV2ZW50LnJlbW92ZShuLHIpOmIucmVtb3ZlRXZlbnQobixyLHQuaGFuZGxlKTtuW0cuZXhwYW5kb109dm9pZCAwfW5bWS5leHBhbmRvXSYmKG5bWS5leHBhbmRvXT12b2lkIDApfX19KSxiLmZuLmV4dGVuZCh7ZGV0YWNoOmZ1bmN0aW9uKGUpe3JldHVybiBPZSh0aGlzLGUsITApfSxyZW1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9lKHRoaXMsZSl9LHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEIodGhpcyxmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZT9iLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9ZSl9KX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fGplKHRoaXMsZSkuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9amUodGhpcyxlKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PTA7bnVsbCE9KGU9dGhpc1t0XSk7dCsrKTE9PT1lLm5vZGVUeXBlJiYoYi5jbGVhbkRhdGEodmUoZSwhMSkpLGUudGV4dENvbnRlbnQ9XCJcIik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9bnVsbCE9ZSYmZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGIuY2xvbmUodGhpcyxlLHQpfSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIEIodGhpcyxmdW5jdGlvbihlKXt2YXIgdD10aGlzWzBdfHx7fSxuPTAscj10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1lJiYxPT09dC5ub2RlVHlwZSlyZXR1cm4gdC5pbm5lckhUTUw7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJiFrZS50ZXN0KGUpJiYhZ2VbKGRlLmV4ZWMoZSl8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7ZT1iLmh0bWxQcmVmaWx0ZXIoZSk7dHJ5e2Zvcig7bjxyO24rKykxPT09KHQ9dGhpc1tuXXx8e30pLm5vZGVUeXBlJiYoYi5jbGVhbkRhdGEodmUodCwhMSkpLHQuaW5uZXJIVE1MPWUpO3Q9MH1jYXRjaChlKXt9fXQmJnRoaXMuZW1wdHkoKS5hcHBlbmQoZSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24odCl7dmFyIG49dGhpcy5wYXJlbnROb2RlO2IuaW5BcnJheSh0aGlzLGUpPDAmJihiLmNsZWFuRGF0YSh2ZSh0aGlzKSksbiYmbi5yZXBsYWNlQ2hpbGQodCx0aGlzKSl9LGUpfX0pLGIuZWFjaCh7YXBwZW5kVG86XCJhcHBlbmRcIixwcmVwZW5kVG86XCJwcmVwZW5kXCIsaW5zZXJ0QmVmb3JlOlwiYmVmb3JlXCIsaW5zZXJ0QWZ0ZXI6XCJhZnRlclwiLHJlcGxhY2VBbGw6XCJyZXBsYWNlV2l0aFwifSxmdW5jdGlvbihlLHQpe2IuZm5bZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLHI9W10saT1iKGUpLG89aS5sZW5ndGgtMSxzPTA7czw9bztzKyspbj1zPT09bz90aGlzOnRoaXMuY2xvbmUoITApLGIoaVtzXSlbdF0obiksYS5hcHBseShyLG4uZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhyKX19KTt2YXIgUGU9bmV3IFJlZ0V4cChcIl4oXCIrWitcIikoPyFweClbYS16JV0rJFwiLFwiaVwiKSxSZT1mdW5jdGlvbih0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIG4mJm4ub3BlbmVyfHwobj1lKSxuLmdldENvbXB1dGVkU3R5bGUodCl9LE1lPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e307Zm9yKGkgaW4gdClvW2ldPWUuc3R5bGVbaV0sZS5zdHlsZVtpXT10W2ldO2ZvcihpIGluIHI9bi5jYWxsKGUpLHQpZS5zdHlsZVtpXT1vW2ldO3JldHVybiByfSxJZT1uZXcgUmVnRXhwKHRlLmpvaW4oXCJ8XCIpLFwiaVwiKTtmdW5jdGlvbiBXZShlLHQsbil7dmFyIHIsaSxvLGEscz1lLnN0eWxlO3JldHVybihuPW58fFJlKGUpKSYmKFwiXCIhPT0oYT1uLmdldFByb3BlcnR5VmFsdWUodCl8fG5bdF0pfHxyZShlKXx8KGE9Yi5zdHlsZShlLHQpKSwhZC5waXhlbEJveFN0eWxlcygpJiZQZS50ZXN0KGEpJiZJZS50ZXN0KHQpJiYocj1zLndpZHRoLGk9cy5taW5XaWR0aCxvPXMubWF4V2lkdGgscy5taW5XaWR0aD1zLm1heFdpZHRoPXMud2lkdGg9YSxhPW4ud2lkdGgscy53aWR0aD1yLHMubWluV2lkdGg9aSxzLm1heFdpZHRoPW8pKSx2b2lkIDAhPT1hP2ErXCJcIjphfWZ1bmN0aW9uIEZlKGUsdCl7cmV0dXJue2dldDpmdW5jdGlvbigpe2lmKCFlKCkpcmV0dXJuKHRoaXMuZ2V0PXQpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkZWxldGUgdGhpcy5nZXR9fX0hZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoYyl7bC5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDt3aWR0aDo2MHB4O21hcmdpbi10b3A6MXB4O3BhZGRpbmc6MDtib3JkZXI6MFwiLGMuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSVcIixuZS5hcHBlbmRDaGlsZChsKS5hcHBlbmRDaGlsZChjKTt2YXIgdD1lLmdldENvbXB1dGVkU3R5bGUoYyk7cj1cIjElXCIhPT10LnRvcCx1PTEyPT09bih0Lm1hcmdpbkxlZnQpLGMuc3R5bGUucmlnaHQ9XCI2MCVcIixhPTM2PT09bih0LnJpZ2h0KSxpPTM2PT09bih0LndpZHRoKSxjLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixvPTEyPT09bihjLm9mZnNldFdpZHRoLzMpLG5lLnJlbW92ZUNoaWxkKGwpLGM9bnVsbH19ZnVuY3Rpb24gbihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKX12YXIgcixpLG8sYSxzLHUsbD12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksYz12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Yy5zdHlsZSYmKGMuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJjb250ZW50LWJveFwiLGMuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD1cIlwiLGQuY2xlYXJDbG9uZVN0eWxlPVwiY29udGVudC1ib3hcIj09PWMuc3R5bGUuYmFja2dyb3VuZENsaXAsYi5leHRlbmQoZCx7Ym94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLGl9LHBpeGVsQm94U3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxhfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxyfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLHV9LHNjcm9sbGJveFNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLG99LHJlbGlhYmxlVHJEaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFyIHQsbixyLGk7cmV0dXJuIG51bGw9PXMmJih0PXYuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpLG49di5jcmVhdGVFbGVtZW50KFwidHJcIikscj12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdC5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGVcIixuLnN0eWxlLmNzc1RleHQ9XCJib3JkZXI6MXB4IHNvbGlkXCIsbi5zdHlsZS5oZWlnaHQ9XCIxcHhcIixyLnN0eWxlLmhlaWdodD1cIjlweFwiLHIuc3R5bGUuZGlzcGxheT1cImJsb2NrXCIsbmUuYXBwZW5kQ2hpbGQodCkuYXBwZW5kQ2hpbGQobikuYXBwZW5kQ2hpbGQociksaT1lLmdldENvbXB1dGVkU3R5bGUobikscz1wYXJzZUludChpLmhlaWdodCwxMCkrcGFyc2VJbnQoaS5ib3JkZXJUb3BXaWR0aCwxMCkrcGFyc2VJbnQoaS5ib3JkZXJCb3R0b21XaWR0aCwxMCk9PT1uLm9mZnNldEhlaWdodCxuZS5yZW1vdmVDaGlsZCh0KSksc319KSl9KCk7dmFyIEJlPVtcIldlYmtpdFwiLFwiTW96XCIsXCJtc1wiXSwkZT12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikuc3R5bGUsX2U9e307ZnVuY3Rpb24gemUoZSl7dmFyIHQ9Yi5jc3NQcm9wc1tlXXx8X2VbZV07cmV0dXJuIHR8fChlIGluICRlP2U6X2VbZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49QmUubGVuZ3RoO24tLTspaWYoKGU9QmVbbl0rdClpbiAkZSlyZXR1cm4gZX0oZSl8fGUpfXZhciBVZT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sWGU9L14tLS8sVmU9e3Bvc2l0aW9uOlwiYWJzb2x1dGVcIix2aXNpYmlsaXR5OlwiaGlkZGVuXCIsZGlzcGxheTpcImJsb2NrXCJ9LEdlPXtsZXR0ZXJTcGFjaW5nOlwiMFwiLGZvbnRXZWlnaHQ6XCI0MDBcIn07ZnVuY3Rpb24gWWUoZSx0LG4pe3ZhciByPWVlLmV4ZWModCk7cmV0dXJuIHI/TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fFwicHhcIik6dH1mdW5jdGlvbiBRZShlLHQsbixyLGksbyl7dmFyIGE9XCJ3aWR0aFwiPT09dD8xOjAscz0wLHU9MDtpZihuPT09KHI/XCJib3JkZXJcIjpcImNvbnRlbnRcIikpcmV0dXJuIDA7Zm9yKDthPDQ7YSs9MilcIm1hcmdpblwiPT09biYmKHUrPWIuY3NzKGUsbit0ZVthXSwhMCxpKSkscj8oXCJjb250ZW50XCI9PT1uJiYodS09Yi5jc3MoZSxcInBhZGRpbmdcIit0ZVthXSwhMCxpKSksXCJtYXJnaW5cIiE9PW4mJih1LT1iLmNzcyhlLFwiYm9yZGVyXCIrdGVbYV0rXCJXaWR0aFwiLCEwLGkpKSk6KHUrPWIuY3NzKGUsXCJwYWRkaW5nXCIrdGVbYV0sITAsaSksXCJwYWRkaW5nXCIhPT1uP3UrPWIuY3NzKGUsXCJib3JkZXJcIit0ZVthXStcIldpZHRoXCIsITAsaSk6cys9Yi5jc3MoZSxcImJvcmRlclwiK3RlW2FdK1wiV2lkdGhcIiwhMCxpKSk7cmV0dXJuIXImJm8+PTAmJih1Kz1NYXRoLm1heCgwLE1hdGguY2VpbChlW1wib2Zmc2V0XCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLW8tdS1zLS41KSl8fDApLHV9ZnVuY3Rpb24gSmUoZSx0LG4pe3ZhciByPVJlKGUpLGk9KCFkLmJveFNpemluZ1JlbGlhYmxlKCl8fG4pJiZcImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxyKSxvPWksYT1XZShlLHQscikscz1cIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpO2lmKFBlLnRlc3QoYSkpe2lmKCFuKXJldHVybiBhO2E9XCJhdXRvXCJ9cmV0dXJuKCFkLmJveFNpemluZ1JlbGlhYmxlKCkmJml8fCFkLnJlbGlhYmxlVHJEaW1lbnNpb25zKCkmJmsoZSxcInRyXCIpfHxcImF1dG9cIj09PWF8fCFwYXJzZUZsb2F0KGEpJiZcImlubGluZVwiPT09Yi5jc3MoZSxcImRpc3BsYXlcIiwhMSxyKSkmJmUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJihpPVwiYm9yZGVyLWJveFwiPT09Yi5jc3MoZSxcImJveFNpemluZ1wiLCExLHIpLChvPXMgaW4gZSkmJihhPWVbc10pKSwoYT1wYXJzZUZsb2F0KGEpfHwwKStRZShlLHQsbnx8KGk/XCJib3JkZXJcIjpcImNvbnRlbnRcIiksbyxyLGEpK1wicHhcIn1mdW5jdGlvbiBLZShlLHQsbixyLGkpe3JldHVybiBuZXcgS2UucHJvdG90eXBlLmluaXQoZSx0LG4scixpKX1iLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPVdlKGUsXCJvcGFjaXR5XCIpO3JldHVyblwiXCI9PT1uP1wiMVwiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGdyaWRBcmVhOiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZ3JpZFJvdzohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTdGFydDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFyIGksbyxhLHM9VSh0KSx1PVhlLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PXplKHMpKSxhPWIuY3NzSG9va3NbdF18fGIuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmXCJnZXRcImluIGEmJnZvaWQgMCE9PShpPWEuZ2V0KGUsITEscikpP2k6bFt0XTtcInN0cmluZ1wiPT09KG89dHlwZW9mIG4pJiYoaT1lZS5leGVjKG4pKSYmaVsxXSYmKG49YWUoZSx0LGkpLG89XCJudW1iZXJcIiksbnVsbCE9biYmbj09biYmKFwibnVtYmVyXCIhPT1vfHx1fHwobis9aSYmaVszXXx8KGIuY3NzTnVtYmVyW3NdP1wiXCI6XCJweFwiKSksZC5jbGVhckNsb25lU3R5bGV8fFwiXCIhPT1ufHwwIT09dC5pbmRleE9mKFwiYmFja2dyb3VuZFwiKXx8KGxbdF09XCJpbmhlcml0XCIpLGEmJlwic2V0XCJpbiBhJiZ2b2lkIDA9PT0obj1hLnNldChlLG4scikpfHwodT9sLnNldFByb3BlcnR5KHQsbik6bFt0XT1uKSl9fSxjc3M6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHM9VSh0KTtyZXR1cm4gWGUudGVzdCh0KXx8KHQ9emUocykpLChhPWIuY3NzSG9va3NbdF18fGIuY3NzSG9va3Nbc10pJiZcImdldFwiaW4gYSYmKGk9YS5nZXQoZSwhMCxuKSksdm9pZCAwPT09aSYmKGk9V2UoZSx0LHIpKSxcIm5vcm1hbFwiPT09aSYmdCBpbiBHZSYmKGk9R2VbdF0pLFwiXCI9PT1ufHxuPyhvPXBhcnNlRmxvYXQoaSksITA9PT1ufHxpc0Zpbml0ZShvKT9vfHwwOmkpOml9fSksYi5lYWNoKFtcImhlaWdodFwiLFwid2lkdGhcIl0sZnVuY3Rpb24oZSx0KXtiLmNzc0hvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSxuLHIpe2lmKG4pcmV0dXJuIVVlLnRlc3QoYi5jc3MoZSxcImRpc3BsYXlcIikpfHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoP0plKGUsdCxyKTpNZShlLFZlLGZ1bmN0aW9uKCl7cmV0dXJuIEplKGUsdCxyKX0pfSxzZXQ6ZnVuY3Rpb24oZSxuLHIpe3ZhciBpLG89UmUoZSksYT0hZC5zY3JvbGxib3hTaXplKCkmJlwiYWJzb2x1dGVcIj09PW8ucG9zaXRpb24scz0oYXx8cikmJlwiYm9yZGVyLWJveFwiPT09Yi5jc3MoZSxcImJveFNpemluZ1wiLCExLG8pLHU9cj9RZShlLHQscixzLG8pOjA7cmV0dXJuIHMmJmEmJih1LT1NYXRoLmNlaWwoZVtcIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpXS1wYXJzZUZsb2F0KG9bdF0pLVFlKGUsdCxcImJvcmRlclwiLCExLG8pLS41KSksdSYmKGk9ZWUuZXhlYyhuKSkmJlwicHhcIiE9PShpWzNdfHxcInB4XCIpJiYoZS5zdHlsZVt0XT1uLG49Yi5jc3MoZSx0KSksWWUoMCxuLHUpfX19KSxiLmNzc0hvb2tzLm1hcmdpbkxlZnQ9RmUoZC5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybihwYXJzZUZsb2F0KFdlKGUsXCJtYXJnaW5MZWZ0XCIpKXx8ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LU1lKGUse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpK1wicHhcIn0pLGIuZWFjaCh7bWFyZ2luOlwiXCIscGFkZGluZzpcIlwiLGJvcmRlcjpcIldpZHRoXCJ9LGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7Zm9yKHZhciByPTAsaT17fSxvPVwic3RyaW5nXCI9PXR5cGVvZiBuP24uc3BsaXQoXCIgXCIpOltuXTtyPDQ7cisrKWlbZSt0ZVtyXSt0XT1vW3JdfHxvW3ItMl18fG9bMF07cmV0dXJuIGl9fSxcIm1hcmdpblwiIT09ZSYmKGIuY3NzSG9va3NbZSt0XS5zZXQ9WWUpfSksYi5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fSxhPTA7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHI9UmUoZSksaT10Lmxlbmd0aDthPGk7YSsrKW9bdFthXV09Yi5jc3MoZSx0W2FdLCExLHIpO3JldHVybiBvfXJldHVybiB2b2lkIDAhPT1uP2Iuc3R5bGUoZSx0LG4pOmIuY3NzKGUsdCl9LGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfX0pLGIuVHdlZW49S2UsS2UucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpLZSxpbml0OmZ1bmN0aW9uKGUsdCxuLHIsaSxvKXt0aGlzLmVsZW09ZSx0aGlzLnByb3A9bix0aGlzLmVhc2luZz1pfHxiLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9dCx0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9cix0aGlzLnVuaXQ9b3x8KGIuY3NzTnVtYmVyW25dP1wiXCI6XCJweFwiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9S2UucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJmUuZ2V0P2UuZ2V0KHRoaXMpOktlLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihlKXt2YXIgdCxuPUtlLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9dD1iLmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz10PWUsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKnQrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksbiYmbi5zZXQ/bi5zZXQodGhpcyk6S2UucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sS2UucHJvdG90eXBlLmluaXQucHJvdG90eXBlPUtlLnByb3RvdHlwZSxLZS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIDEhPT1lLmVsZW0ubm9kZVR5cGV8fG51bGwhPWUuZWxlbVtlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbZS5wcm9wXT9lLmVsZW1bZS5wcm9wXToodD1iLmNzcyhlLmVsZW0sZS5wcm9wLFwiXCIpKSYmXCJhdXRvXCIhPT10P3Q6MH0sc2V0OmZ1bmN0aW9uKGUpe2IuZnguc3RlcFtlLnByb3BdP2IuZnguc3RlcFtlLnByb3BdKGUpOjEhPT1lLmVsZW0ubm9kZVR5cGV8fCFiLmNzc0hvb2tzW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVt6ZShlLnByb3ApXT9lLmVsZW1bZS5wcm9wXT1lLm5vdzpiLnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KX19fSxLZS5wcm9wSG9va3Muc2Nyb2xsVG9wPUtlLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGVUeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LGIuZWFzaW5nPXtsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi41LU1hdGguY29zKGUqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6XCJzd2luZ1wifSxiLmZ4PUtlLnByb3RvdHlwZS5pbml0LGIuZnguc3RlcD17fTt2YXIgWmUsZXQsdHQ9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLG50PS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gcnQoKXtldCYmKCExPT09di5oaWRkZW4mJmUucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2UucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJ0KTplLnNldFRpbWVvdXQocnQsYi5meC5pbnRlcnZhbCksYi5meC50aWNrKCkpfWZ1bmN0aW9uIGl0KCl7cmV0dXJuIGUuc2V0VGltZW91dChmdW5jdGlvbigpe1plPXZvaWQgMH0pLFplPURhdGUubm93KCl9ZnVuY3Rpb24gb3QoZSx0KXt2YXIgbixyPTAsaT17aGVpZ2h0OmV9O2Zvcih0PXQ/MTowO3I8NDtyKz0yLXQpaVtcIm1hcmdpblwiKyhuPXRlW3JdKV09aVtcInBhZGRpbmdcIituXT1lO3JldHVybiB0JiYoaS5vcGFjaXR5PWkud2lkdGg9ZSksaX1mdW5jdGlvbiBhdChlLHQsbil7Zm9yKHZhciByLGk9KHN0LnR3ZWVuZXJzW3RdfHxbXSkuY29uY2F0KHN0LnR3ZWVuZXJzW1wiKlwiXSksbz0wLGE9aS5sZW5ndGg7bzxhO28rKylpZihyPWlbb10uY2FsbChuLHQsZSkpcmV0dXJuIHJ9ZnVuY3Rpb24gc3QoZSx0LG4pe3ZhciByLGksbz0wLGE9c3QucHJlZmlsdGVycy5sZW5ndGgscz1iLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIHUuZWxlbX0pLHU9ZnVuY3Rpb24oKXtpZihpKXJldHVybiExO2Zvcih2YXIgdD1aZXx8aXQoKSxuPU1hdGgubWF4KDAsbC5zdGFydFRpbWUrbC5kdXJhdGlvbi10KSxyPTEtKG4vbC5kdXJhdGlvbnx8MCksbz0wLGE9bC50d2VlbnMubGVuZ3RoO288YTtvKyspbC50d2VlbnNbb10ucnVuKHIpO3JldHVybiBzLm5vdGlmeVdpdGgoZSxbbCxyLG5dKSxyPDEmJmE/bjooYXx8cy5ub3RpZnlXaXRoKGUsW2wsMSwwXSkscy5yZXNvbHZlV2l0aChlLFtsXSksITEpfSxsPXMucHJvbWlzZSh7ZWxlbTplLHByb3BzOmIuZXh0ZW5kKHt9LHQpLG9wdHM6Yi5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e30sZWFzaW5nOmIuZWFzaW5nLl9kZWZhdWx0fSxuKSxvcmlnaW5hbFByb3BlcnRpZXM6dCxvcmlnaW5hbE9wdGlvbnM6bixzdGFydFRpbWU6WmV8fGl0KCksZHVyYXRpb246bi5kdXJhdGlvbix0d2VlbnM6W10sY3JlYXRlVHdlZW46ZnVuY3Rpb24odCxuKXt2YXIgcj1iLlR3ZWVuKGUsbC5vcHRzLHQsbixsLm9wdHMuc3BlY2lhbEVhc2luZ1t0XXx8bC5vcHRzLmVhc2luZyk7cmV0dXJuIGwudHdlZW5zLnB1c2gocikscn0sc3RvcDpmdW5jdGlvbih0KXt2YXIgbj0wLHI9dD9sLnR3ZWVucy5sZW5ndGg6MDtpZihpKXJldHVybiB0aGlzO2ZvcihpPSEwO248cjtuKyspbC50d2VlbnNbbl0ucnVuKDEpO3JldHVybiB0PyhzLm5vdGlmeVdpdGgoZSxbbCwxLDBdKSxzLnJlc29sdmVXaXRoKGUsW2wsdF0pKTpzLnJlamVjdFdpdGgoZSxbbCx0XSksdGhpc319KSxjPWwucHJvcHM7Zm9yKCFmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGE7Zm9yKG4gaW4gZSlpZihpPXRbcj1VKG4pXSxvPWVbbl0sQXJyYXkuaXNBcnJheShvKSYmKGk9b1sxXSxvPWVbbl09b1swXSksbiE9PXImJihlW3JdPW8sZGVsZXRlIGVbbl0pLChhPWIuY3NzSG9va3Nbcl0pJiZcImV4cGFuZFwiaW4gYSlmb3IobiBpbiBvPWEuZXhwYW5kKG8pLGRlbGV0ZSBlW3JdLG8pbiBpbiBlfHwoZVtuXT1vW25dLHRbbl09aSk7ZWxzZSB0W3JdPWl9KGMsbC5vcHRzLnNwZWNpYWxFYXNpbmcpO288YTtvKyspaWYocj1zdC5wcmVmaWx0ZXJzW29dLmNhbGwobCxlLGMsbC5vcHRzKSlyZXR1cm4gaChyLnN0b3ApJiYoYi5fcXVldWVIb29rcyhsLmVsZW0sbC5vcHRzLnF1ZXVlKS5zdG9wPXIuc3RvcC5iaW5kKHIpKSxyO3JldHVybiBiLm1hcChjLGF0LGwpLGgobC5vcHRzLnN0YXJ0KSYmbC5vcHRzLnN0YXJ0LmNhbGwoZSxsKSxsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSxsLm9wdHMuY29tcGxldGUpLmZhaWwobC5vcHRzLmZhaWwpLmFsd2F5cyhsLm9wdHMuYWx3YXlzKSxiLmZ4LnRpbWVyKGIuZXh0ZW5kKHUse2VsZW06ZSxhbmltOmwscXVldWU6bC5vcHRzLnF1ZXVlfSkpLGx9Yi5BbmltYXRpb249Yi5leHRlbmQoc3Qse3R3ZWVuZXJzOntcIipcIjpbZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKGUsdCk7cmV0dXJuIGFlKG4uZWxlbSxlLGVlLmV4ZWModCksbiksbn1dfSx0d2VlbmVyOmZ1bmN0aW9uKGUsdCl7aChlKT8odD1lLGU9W1wiKlwiXSk6ZT1lLm1hdGNoKE8pO2Zvcih2YXIgbixyPTAsaT1lLmxlbmd0aDtyPGk7cisrKW49ZVtyXSxzdC50d2VlbmVyc1tuXT1zdC50d2VlbmVyc1tuXXx8W10sc3QudHdlZW5lcnNbbl0udW5zaGlmdCh0KX0scHJlZmlsdGVyczpbZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGMsZj1cIndpZHRoXCJpbiB0fHxcImhlaWdodFwiaW4gdCxwPXRoaXMsZD17fSxoPWUuc3R5bGUsZz1lLm5vZGVUeXBlJiZvZShlKSx2PUcuZ2V0KGUsXCJmeHNob3dcIik7Zm9yKHIgaW4gbi5xdWV1ZXx8KG51bGw9PShhPWIuX3F1ZXVlSG9va3MoZSxcImZ4XCIpKS51bnF1ZXVlZCYmKGEudW5xdWV1ZWQ9MCxzPWEuZW1wdHkuZmlyZSxhLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXthLnVucXVldWVkfHxzKCl9KSxhLnVucXVldWVkKysscC5hbHdheXMoZnVuY3Rpb24oKXtwLmFsd2F5cyhmdW5jdGlvbigpe2EudW5xdWV1ZWQtLSxiLnF1ZXVlKGUsXCJmeFwiKS5sZW5ndGh8fGEuZW1wdHkuZmlyZSgpfSl9KSksdClpZihpPXRbcl0sdHQudGVzdChpKSl7aWYoZGVsZXRlIHRbcl0sbz1vfHxcInRvZ2dsZVwiPT09aSxpPT09KGc/XCJoaWRlXCI6XCJzaG93XCIpKXtpZihcInNob3dcIiE9PWl8fCF2fHx2b2lkIDA9PT12W3JdKWNvbnRpbnVlO2c9ITB9ZFtyXT12JiZ2W3JdfHxiLnN0eWxlKGUscil9aWYoKHU9IWIuaXNFbXB0eU9iamVjdCh0KSl8fCFiLmlzRW1wdHlPYmplY3QoZCkpZm9yKHIgaW4gZiYmMT09PWUubm9kZVR5cGUmJihuLm92ZXJmbG93PVtoLm92ZXJmbG93LGgub3ZlcmZsb3dYLGgub3ZlcmZsb3dZXSxudWxsPT0obD12JiZ2LmRpc3BsYXkpJiYobD1HLmdldChlLFwiZGlzcGxheVwiKSksXCJub25lXCI9PT0oYz1iLmNzcyhlLFwiZGlzcGxheVwiKSkmJihsP2M9bDoobGUoW2VdLCEwKSxsPWUuc3R5bGUuZGlzcGxheXx8bCxjPWIuY3NzKGUsXCJkaXNwbGF5XCIpLGxlKFtlXSkpKSwoXCJpbmxpbmVcIj09PWN8fFwiaW5saW5lLWJsb2NrXCI9PT1jJiZudWxsIT1sKSYmXCJub25lXCI9PT1iLmNzcyhlLFwiZmxvYXRcIikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1oLmRpc3BsYXksbD1cIm5vbmVcIj09PWM/XCJcIjpjKSksaC5kaXNwbGF5PVwiaW5saW5lLWJsb2NrXCIpKSxuLm92ZXJmbG93JiYoaC5vdmVyZmxvdz1cImhpZGRlblwiLHAuYWx3YXlzKGZ1bmN0aW9uKCl7aC5vdmVyZmxvdz1uLm92ZXJmbG93WzBdLGgub3ZlcmZsb3dYPW4ub3ZlcmZsb3dbMV0saC5vdmVyZmxvd1k9bi5vdmVyZmxvd1syXX0pKSx1PSExLGQpdXx8KHY/XCJoaWRkZW5cImluIHYmJihnPXYuaGlkZGVuKTp2PUcuYWNjZXNzKGUsXCJmeHNob3dcIix7ZGlzcGxheTpsfSksbyYmKHYuaGlkZGVuPSFnKSxnJiZsZShbZV0sITApLHAuZG9uZShmdW5jdGlvbigpe2ZvcihyIGluIGd8fGxlKFtlXSksRy5yZW1vdmUoZSxcImZ4c2hvd1wiKSxkKWIuc3R5bGUoZSxyLGRbcl0pfSkpLHU9YXQoZz92W3JdOjAscixwKSxyIGluIHZ8fCh2W3JdPXUuc3RhcnQsZyYmKHUuZW5kPXUuc3RhcnQsdS5zdGFydD0wKSl9XSxwcmVmaWx0ZXI6ZnVuY3Rpb24oZSx0KXt0P3N0LnByZWZpbHRlcnMudW5zaGlmdChlKTpzdC5wcmVmaWx0ZXJzLnB1c2goZSl9fSksYi5zcGVlZD1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZSYmXCJvYmplY3RcIj09dHlwZW9mIGU/Yi5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0fHxoKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiFoKHQpJiZ0fTtyZXR1cm4gYi5meC5vZmY/ci5kdXJhdGlvbj0wOlwibnVtYmVyXCIhPXR5cGVvZiByLmR1cmF0aW9uJiYoci5kdXJhdGlvbiBpbiBiLmZ4LnNwZWVkcz9yLmR1cmF0aW9uPWIuZnguc3BlZWRzW3IuZHVyYXRpb25dOnIuZHVyYXRpb249Yi5meC5zcGVlZHMuX2RlZmF1bHQpLG51bGwhPXIucXVldWUmJiEwIT09ci5xdWV1ZXx8KHIucXVldWU9XCJmeFwiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oKXtoKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlJiZiLmRlcXVldWUodGhpcyxyLnF1ZXVlKX0scn0sYi5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5maWx0ZXIob2UpLmNzcyhcIm9wYWNpdHlcIiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9Yi5pc0VtcHR5T2JqZWN0KGUpLG89Yi5zcGVlZCh0LG4sciksYT1mdW5jdGlvbigpe3ZhciB0PXN0KHRoaXMsYi5leHRlbmQoe30sZSksbyk7KGl8fEcuZ2V0KHRoaXMsXCJmaW5pc2hcIikpJiZ0LnN0b3AoITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHwhMT09PW8ucXVldWU/dGhpcy5lYWNoKGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChuKX07cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiZ0aGlzLnF1ZXVlKGV8fFwiZnhcIixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ITAsaT1udWxsIT1lJiZlK1wicXVldWVIb29rc1wiLG89Yi50aW1lcnMsYT1HLmdldCh0aGlzKTtpZihpKWFbaV0mJmFbaV0uc3RvcCYmcihhW2ldKTtlbHNlIGZvcihpIGluIGEpYVtpXSYmYVtpXS5zdG9wJiZudC50ZXN0KGkpJiZyKGFbaV0pO2ZvcihpPW8ubGVuZ3RoO2ktLTspb1tpXS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1tpXS5xdWV1ZSE9PWV8fChvW2ldLmFuaW0uc3RvcChuKSx0PSExLG8uc3BsaWNlKGksMSkpOyF0JiZufHxiLmRlcXVldWUodGhpcyxlKX0pfSxmaW5pc2g6ZnVuY3Rpb24oZSl7cmV0dXJuITEhPT1lJiYoZT1lfHxcImZ4XCIpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0LG49Ry5nZXQodGhpcykscj1uW2UrXCJxdWV1ZVwiXSxpPW5bZStcInF1ZXVlSG9va3NcIl0sbz1iLnRpbWVycyxhPXI/ci5sZW5ndGg6MDtmb3Iobi5maW5pc2g9ITAsYi5xdWV1ZSh0aGlzLGUsW10pLGkmJmkuc3RvcCYmaS5zdG9wLmNhbGwodGhpcywhMCksdD1vLmxlbmd0aDt0LS07KW9bdF0uZWxlbT09PXRoaXMmJm9bdF0ucXVldWU9PT1lJiYob1t0XS5hbmltLnN0b3AoITApLG8uc3BsaWNlKHQsMSkpO2Zvcih0PTA7dDxhO3QrKylyW3RdJiZyW3RdLmZpbmlzaCYmclt0XS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgbi5maW5pc2h9KX19KSxiLmVhY2goW1widG9nZ2xlXCIsXCJzaG93XCIsXCJoaWRlXCJdLGZ1bmN0aW9uKGUsdCl7dmFyIG49Yi5mblt0XTtiLmZuW3RdPWZ1bmN0aW9uKGUscixpKXtyZXR1cm4gbnVsbD09ZXx8XCJib29sZWFuXCI9PXR5cGVvZiBlP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShvdCh0LCEwKSxlLHIsaSl9fSksYi5lYWNoKHtzbGlkZURvd246b3QoXCJzaG93XCIpLHNsaWRlVXA6b3QoXCJoaWRlXCIpLHNsaWRlVG9nZ2xlOm90KFwidG9nZ2xlXCIpLGZhZGVJbjp7b3BhY2l0eTpcInNob3dcIn0sZmFkZU91dDp7b3BhY2l0eTpcImhpZGVcIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eTpcInRvZ2dsZVwifX0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pLGIudGltZXJzPVtdLGIuZngudGljaz1mdW5jdGlvbigpe3ZhciBlLHQ9MCxuPWIudGltZXJzO2ZvcihaZT1EYXRlLm5vdygpO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pKCl8fG5bdF0hPT1lfHxuLnNwbGljZSh0LS0sMSk7bi5sZW5ndGh8fGIuZnguc3RvcCgpLFplPXZvaWQgMH0sYi5meC50aW1lcj1mdW5jdGlvbihlKXtiLnRpbWVycy5wdXNoKGUpLGIuZnguc3RhcnQoKX0sYi5meC5pbnRlcnZhbD0xMyxiLmZ4LnN0YXJ0PWZ1bmN0aW9uKCl7ZXR8fChldD0hMCxydCgpKX0sYi5meC5zdG9wPWZ1bmN0aW9uKCl7ZXQ9bnVsbH0sYi5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sYi5mbi5kZWxheT1mdW5jdGlvbih0LG4pe3JldHVybiB0PWIuZngmJmIuZnguc3BlZWRzW3RdfHx0LG49bnx8XCJmeFwiLHRoaXMucXVldWUobixmdW5jdGlvbihuLHIpe3ZhciBpPWUuc2V0VGltZW91dChuLHQpO3Iuc3RvcD1mdW5jdGlvbigpe2UuY2xlYXJUaW1lb3V0KGkpfX0pfSxmdW5jdGlvbigpe3ZhciBlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpLHQ9di5jcmVhdGVFbGVtZW50KFwic2VsZWN0XCIpLmFwcGVuZENoaWxkKHYuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKSk7ZS50eXBlPVwiY2hlY2tib3hcIixkLmNoZWNrT249XCJcIiE9PWUudmFsdWUsZC5vcHRTZWxlY3RlZD10LnNlbGVjdGVkLChlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS52YWx1ZT1cInRcIixlLnR5cGU9XCJyYWRpb1wiLGQucmFkaW9WYWx1ZT1cInRcIj09PWUudmFsdWV9KCk7dmFyIHV0LGx0PWIuZXhwci5hdHRySGFuZGxlO2IuZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEIodGhpcyxiLmF0dHIsZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IucmVtb3ZlQXR0cih0aGlzLGUpfSl9fSksYi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIHZvaWQgMD09PWUuZ2V0QXR0cmlidXRlP2IucHJvcChlLHQsbik6KDE9PT1vJiZiLmlzWE1MRG9jKGUpfHwoaT1iLmF0dHJIb29rc1t0LnRvTG93ZXJDYXNlKCldfHwoYi5leHByLm1hdGNoLmJvb2wudGVzdCh0KT91dDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgYi5yZW1vdmVBdHRyKGUsdCk6aSYmXCJzZXRcImluIGkmJnZvaWQgMCE9PShyPWkuc2V0KGUsbix0KSk/cjooZS5zZXRBdHRyaWJ1dGUodCxuK1wiXCIpLG4pOmkmJlwiZ2V0XCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjpudWxsPT0ocj1iLmZpbmQuYXR0cihlLHQpKT92b2lkIDA6cil9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIWQucmFkaW9WYWx1ZSYmXCJyYWRpb1wiPT09dCYmayhlLFwiaW5wdXRcIikpe3ZhciBuPWUudmFsdWU7cmV0dXJuIGUuc2V0QXR0cmlidXRlKFwidHlwZVwiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10JiZ0Lm1hdGNoKE8pO2lmKGkmJjE9PT1lLm5vZGVUeXBlKWZvcig7bj1pW3IrK107KWUucmVtb3ZlQXR0cmlidXRlKG4pfX0pLHV0PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExPT09dD9iLnJlbW92ZUF0dHIoZSxuKTplLnNldEF0dHJpYnV0ZShuLG4pLG59fSxiLmVhY2goYi5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cXHcrL2cpLGZ1bmN0aW9uKGUsdCl7dmFyIG49bHRbdF18fGIuZmluZC5hdHRyO2x0W3RdPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaSxvLGE9dC50b0xvd2VyQ2FzZSgpO3JldHVybiByfHwobz1sdFthXSxsdFthXT1pLGk9bnVsbCE9bihlLHQscik/YTpudWxsLGx0W2FdPW8pLGl9fSk7dmFyIGN0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksZnQ9L14oPzphfGFyZWEpJC9pO2Z1bmN0aW9uIHB0KGUpe3JldHVybihlLm1hdGNoKE8pfHxbXSkuam9pbihcIiBcIil9ZnVuY3Rpb24gZHQoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwifWZ1bmN0aW9uIGh0KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6XCJzdHJpbmdcIj09dHlwZW9mIGUmJmUubWF0Y2goTyl8fFtdfWIuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEIodGhpcyxiLnByb3AsZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW2IucHJvcEZpeFtlXXx8ZV19KX19KSxiLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJmIuaXNYTUxEb2MoZSl8fCh0PWIucHJvcEZpeFt0XXx8dCxpPWIucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJlwic2V0XCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6ZVt0XT1uOmkmJlwiZ2V0XCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5maW5kLmF0dHIoZSxcInRhYmluZGV4XCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOmN0LnRlc3QoZS5ub2RlTmFtZSl8fGZ0LnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19LHByb3BGaXg6e2ZvcjpcImh0bWxGb3JcIixjbGFzczpcImNsYXNzTmFtZVwifX0pLGQub3B0U2VsZWN0ZWR8fChiLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksYi5lYWNoKFtcInRhYkluZGV4XCIsXCJyZWFkT25seVwiLFwibWF4TGVuZ3RoXCIsXCJjZWxsU3BhY2luZ1wiLFwiY2VsbFBhZGRpbmdcIixcInJvd1NwYW5cIixcImNvbFNwYW5cIixcInVzZU1hcFwiLFwiZnJhbWVCb3JkZXJcIixcImNvbnRlbnRFZGl0YWJsZVwiXSxmdW5jdGlvbigpe2IucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxiLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdT0wO2lmKGgoZSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsZHQodGhpcykpKX0pO2lmKCh0PWh0KGUpKS5sZW5ndGgpZm9yKDtuPXRoaXNbdSsrXTspaWYoaT1kdChuKSxyPTE9PT1uLm5vZGVUeXBlJiZcIiBcIitwdChpKStcIiBcIil7Zm9yKGE9MDtvPXRbYSsrXTspci5pbmRleE9mKFwiIFwiK28rXCIgXCIpPDAmJihyKz1vK1wiIFwiKTtpIT09KHM9cHQocikpJiZuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIscyl9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHU9MDtpZihoKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS5yZW1vdmVDbGFzcyhlLmNhbGwodGhpcyx0LGR0KHRoaXMpKSl9KTtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5hdHRyKFwiY2xhc3NcIixcIlwiKTtpZigodD1odChlKSkubGVuZ3RoKWZvcig7bj10aGlzW3UrK107KWlmKGk9ZHQobikscj0xPT09bi5ub2RlVHlwZSYmXCIgXCIrcHQoaSkrXCIgXCIpe2ZvcihhPTA7bz10W2ErK107KWZvcig7ci5pbmRleE9mKFwiIFwiK28rXCIgXCIpPi0xOylyPXIucmVwbGFjZShcIiBcIitvK1wiIFwiLFwiIFwiKTtpIT09KHM9cHQocikpJiZuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIscyl9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj1cInN0cmluZ1wiPT09bnx8QXJyYXkuaXNBcnJheShlKTtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIHQmJnI/dD90aGlzLmFkZENsYXNzKGUpOnRoaXMucmVtb3ZlQ2xhc3MoZSk6aChlKT90aGlzLmVhY2goZnVuY3Rpb24obil7Yih0aGlzKS50b2dnbGVDbGFzcyhlLmNhbGwodGhpcyxuLGR0KHRoaXMpLHQpLHQpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQsaSxvLGE7aWYocilmb3IoaT0wLG89Yih0aGlzKSxhPWh0KGUpO3Q9YVtpKytdOylvLmhhc0NsYXNzKHQpP28ucmVtb3ZlQ2xhc3ModCk6by5hZGRDbGFzcyh0KTtlbHNlIHZvaWQgMCE9PWUmJlwiYm9vbGVhblwiIT09bnx8KCh0PWR0KHRoaXMpKSYmRy5zZXQodGhpcyxcIl9fY2xhc3NOYW1lX19cIix0KSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHR8fCExPT09ZT9cIlwiOkcuZ2V0KHRoaXMsXCJfX2NsYXNzTmFtZV9fXCIpfHxcIlwiKSl9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPTA7Zm9yKHQ9XCIgXCIrZStcIiBcIjtuPXRoaXNbcisrXTspaWYoMT09PW4ubm9kZVR5cGUmJihcIiBcIitwdChkdChuKSkrXCIgXCIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIGd0PS9cXHIvZztiLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPXRoaXNbMF07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9aChlKSx0aGlzLmVhY2goZnVuY3Rpb24obil7dmFyIGk7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0oaT1yP2UuY2FsbCh0aGlzLG4sYih0aGlzKS52YWwoKSk6ZSk/aT1cIlwiOlwibnVtYmVyXCI9PXR5cGVvZiBpP2krPVwiXCI6QXJyYXkuaXNBcnJheShpKSYmKGk9Yi5tYXAoaSxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9cIlwiOmUrXCJcIn0pKSwodD1iLnZhbEhvb2tzW3RoaXMudHlwZV18fGIudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJlwic2V0XCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLGksXCJ2YWx1ZVwiKXx8KHRoaXMudmFsdWU9aSkpfSkpOmk/KHQ9Yi52YWxIb29rc1tpLnR5cGVdfHxiLnZhbEhvb2tzW2kubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiZcImdldFwiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQoaSxcInZhbHVlXCIpKT9uOlwic3RyaW5nXCI9PXR5cGVvZihuPWkudmFsdWUpP24ucmVwbGFjZShndCxcIlwiKTpudWxsPT1uP1wiXCI6bjp2b2lkIDB9fSksYi5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD1iLmZpbmQuYXR0cihlLFwidmFsdWVcIik7cmV0dXJuIG51bGwhPXQ/dDpwdChiLnRleHQoZSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9ZS5vcHRpb25zLG89ZS5zZWxlY3RlZEluZGV4LGE9XCJzZWxlY3Qtb25lXCI9PT1lLnR5cGUscz1hP251bGw6W10sdT1hP28rMTppLmxlbmd0aDtmb3Iocj1vPDA/dTphP286MDtyPHU7cisrKWlmKCgobj1pW3JdKS5zZWxlY3RlZHx8cj09PW8pJiYhbi5kaXNhYmxlZCYmKCFuLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFrKG4ucGFyZW50Tm9kZSxcIm9wdGdyb3VwXCIpKSl7aWYodD1iKG4pLnZhbCgpLGEpcmV0dXJuIHQ7cy5wdXNoKHQpfXJldHVybiBzfSxzZXQ6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixpPWUub3B0aW9ucyxvPWIubWFrZUFycmF5KHQpLGE9aS5sZW5ndGg7YS0tOykoKHI9aVthXSkuc2VsZWN0ZWQ9Yi5pbkFycmF5KGIudmFsSG9va3Mub3B0aW9uLmdldChyKSxvKT4tMSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLGIuZWFjaChbXCJyYWRpb1wiLFwiY2hlY2tib3hcIl0sZnVuY3Rpb24oKXtiLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBlLmNoZWNrZWQ9Yi5pbkFycmF5KGIoZSkudmFsKCksdCk+LTF9fSxkLmNoZWNrT258fChiLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKFwidmFsdWVcIik/XCJvblwiOmUudmFsdWV9KX0pLGQuZm9jdXNpbj1cIm9uZm9jdXNpblwiaW4gZTt2YXIgdnQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLHl0PWZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9O2IuZXh0ZW5kKGIuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24odCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxmLHAsZCx5PVtyfHx2XSxtPWMuY2FsbCh0LFwidHlwZVwiKT90LnR5cGU6dCx4PWMuY2FsbCh0LFwibmFtZXNwYWNlXCIpP3QubmFtZXNwYWNlLnNwbGl0KFwiLlwiKTpbXTtpZihhPWQ9cz1yPXJ8fHYsMyE9PXIubm9kZVR5cGUmJjghPT1yLm5vZGVUeXBlJiYhdnQudGVzdChtK2IuZXZlbnQudHJpZ2dlcmVkKSYmKG0uaW5kZXhPZihcIi5cIik+LTEmJih4PW0uc3BsaXQoXCIuXCIpLG09eC5zaGlmdCgpLHguc29ydCgpKSxsPW0uaW5kZXhPZihcIjpcIik8MCYmXCJvblwiK20sKHQ9dFtiLmV4cGFuZG9dP3Q6bmV3IGIuRXZlbnQobSxcIm9iamVjdFwiPT10eXBlb2YgdCYmdCkpLmlzVHJpZ2dlcj1pPzI6Myx0Lm5hbWVzcGFjZT14LmpvaW4oXCIuXCIpLHQucm5hbWVzcGFjZT10Lm5hbWVzcGFjZT9uZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIreC5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIik6bnVsbCx0LnJlc3VsdD12b2lkIDAsdC50YXJnZXR8fCh0LnRhcmdldD1yKSxuPW51bGw9PW4/W3RdOmIubWFrZUFycmF5KG4sW3RdKSxwPWIuZXZlbnQuc3BlY2lhbFttXXx8e30saXx8IXAudHJpZ2dlcnx8ITEhPT1wLnRyaWdnZXIuYXBwbHkocixuKSkpe2lmKCFpJiYhcC5ub0J1YmJsZSYmIWcocikpe2Zvcih1PXAuZGVsZWdhdGVUeXBlfHxtLHZ0LnRlc3QodSttKXx8KGE9YS5wYXJlbnROb2RlKTthO2E9YS5wYXJlbnROb2RlKXkucHVzaChhKSxzPWE7cz09PShyLm93bmVyRG9jdW1lbnR8fHYpJiZ5LnB1c2gocy5kZWZhdWx0Vmlld3x8cy5wYXJlbnRXaW5kb3d8fGUpfWZvcihvPTA7KGE9eVtvKytdKSYmIXQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTspZD1hLHQudHlwZT1vPjE/dTpwLmJpbmRUeXBlfHxtLChmPShHLmdldChhLFwiZXZlbnRzXCIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVt0LnR5cGVdJiZHLmdldChhLFwiaGFuZGxlXCIpKSYmZi5hcHBseShhLG4pLChmPWwmJmFbbF0pJiZmLmFwcGx5JiZYKGEpJiYodC5yZXN1bHQ9Zi5hcHBseShhLG4pLCExPT09dC5yZXN1bHQmJnQucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIHQudHlwZT1tLGl8fHQuaXNEZWZhdWx0UHJldmVudGVkKCl8fHAuX2RlZmF1bHQmJiExIT09cC5fZGVmYXVsdC5hcHBseSh5LnBvcCgpLG4pfHwhWChyKXx8bCYmaChyW21dKSYmIWcocikmJigocz1yW2xdKSYmKHJbbF09bnVsbCksYi5ldmVudC50cmlnZ2VyZWQ9bSx0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJmQuYWRkRXZlbnRMaXN0ZW5lcihtLHl0KSxyW21dKCksdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZkLnJlbW92ZUV2ZW50TGlzdGVuZXIobSx5dCksYi5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLHMmJihyW2xdPXMpKSx0LnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1iLmV4dGVuZChuZXcgYi5FdmVudCxuLHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITB9KTtiLmV2ZW50LnRyaWdnZXIocixudWxsLHQpfX0pLGIuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQudHJpZ2dlcihlLHQsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIGIuZXZlbnQudHJpZ2dlcihlLHQsbiwhMCl9fSksZC5mb2N1c2lufHxiLmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe2IuZXZlbnQuc2ltdWxhdGUodCxlLnRhcmdldCxiLmV2ZW50LmZpeChlKSl9O2IuZXZlbnQuc3BlY2lhbFt0XT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgcj10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsaT1HLmFjY2VzcyhyLHQpO2l8fHIuYWRkRXZlbnRMaXN0ZW5lcihlLG4sITApLEcuYWNjZXNzKHIsdCwoaXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLGk9Ry5hY2Nlc3Mocix0KS0xO2k/Ry5hY2Nlc3Mocix0LGkpOihyLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxuLCEwKSxHLnJlbW92ZShyLHQpKX19fSk7dmFyIG10PWUubG9jYXRpb24seHQ9e2d1aWQ6RGF0ZS5ub3coKX0sYnQ9L1xcPy87Yi5wYXJzZVhNTD1mdW5jdGlvbih0KXt2YXIgbixyO2lmKCF0fHxcInN0cmluZ1wiIT10eXBlb2YgdClyZXR1cm4gbnVsbDt0cnl7bj0obmV3IGUuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcodCxcInRleHQveG1sXCIpfWNhdGNoKGUpe31yZXR1cm4gcj1uJiZuLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwicGFyc2VyZXJyb3JcIilbMF0sbiYmIXJ8fGIuZXJyb3IoXCJJbnZhbGlkIFhNTDogXCIrKHI/Yi5tYXAoci5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRleHRDb250ZW50fSkuam9pbihcIlxcblwiKTp0KSksbn07dmFyIHd0PS9cXFtcXF0kLyxUdD0vXFxyP1xcbi9nLEN0PS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxFdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24gU3QoZSx0LG4scil7dmFyIGk7aWYoQXJyYXkuaXNBcnJheSh0KSliLmVhY2godCxmdW5jdGlvbih0LGkpe258fHd0LnRlc3QoZSk/cihlLGkpOlN0KGUrXCJbXCIrKFwib2JqZWN0XCI9PXR5cGVvZiBpJiZudWxsIT1pP3Q6XCJcIikrXCJdXCIsaSxuLHIpfSk7ZWxzZSBpZihufHxcIm9iamVjdFwiIT09eCh0KSlyKGUsdCk7ZWxzZSBmb3IoaSBpbiB0KVN0KGUrXCJbXCIraStcIl1cIix0W2ldLG4scil9Yi5wYXJhbT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT1mdW5jdGlvbihlLHQpe3ZhciBuPWgodCk/dCgpOnQ7cltyLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uP1wiXCI6bil9O2lmKG51bGw9PWUpcmV0dXJuXCJcIjtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIWIuaXNQbGFpbk9iamVjdChlKSliLmVhY2goZSxmdW5jdGlvbigpe2kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IobiBpbiBlKVN0KG4sZVtuXSx0LGkpO3JldHVybiByLmpvaW4oXCImXCIpfSxiLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGIucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT1iLnByb3AodGhpcyxcImVsZW1lbnRzXCIpO3JldHVybiBlP2IubWFrZUFycmF5KGUpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgZT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIWIodGhpcykuaXMoXCI6ZGlzYWJsZWRcIikmJkV0LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFDdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhcGUudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1iKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6QXJyYXkuaXNBcnJheShuKT9iLm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOnQubmFtZSx2YWx1ZTplLnJlcGxhY2UoVHQsXCJcXHJcXG5cIil9fSk6e25hbWU6dC5uYW1lLHZhbHVlOm4ucmVwbGFjZShUdCxcIlxcclxcblwiKX19KS5nZXQoKX19KTt2YXIga3Q9LyUyMC9nLEF0PS8jLiokLyxOdD0vKFs/Jl0pXz1bXiZdKi8sanQ9L14oLio/KTpbIFxcdF0qKFteXFxyXFxuXSopJC9nbSxEdD0vXig/OkdFVHxIRUFEKSQvLHF0PS9eXFwvXFwvLyxMdD17fSxIdD17fSxPdD1cIiovXCIuY29uY2F0KFwiKlwiKSxQdD12LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO2Z1bmN0aW9uIFJ0KGUpe3JldHVybiBmdW5jdGlvbih0LG4pe1wic3RyaW5nXCIhPXR5cGVvZiB0JiYobj10LHQ9XCIqXCIpO3ZhciByLGk9MCxvPXQudG9Mb3dlckNhc2UoKS5tYXRjaChPKXx8W107aWYoaChuKSlmb3IoO3I9b1tpKytdOylcIitcIj09PXJbMF0/KHI9ci5zbGljZSgxKXx8XCIqXCIsKGVbcl09ZVtyXXx8W10pLnVuc2hpZnQobikpOihlW3JdPWVbcl18fFtdKS5wdXNoKG4pfX1mdW5jdGlvbiBNdChlLHQsbixyKXt2YXIgaT17fSxvPWU9PT1IdDtmdW5jdGlvbiBhKHMpe3ZhciB1O3JldHVybiBpW3NdPSEwLGIuZWFjaChlW3NdfHxbXSxmdW5jdGlvbihlLHMpe3ZhciBsPXModCxuLHIpO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBsfHxvfHxpW2xdP28/ISh1PWwpOnZvaWQgMDoodC5kYXRhVHlwZXMudW5zaGlmdChsKSxhKGwpLCExKX0pLHV9cmV0dXJuIGEodC5kYXRhVHlwZXNbMF0pfHwhaVtcIipcIl0mJmEoXCIqXCIpfWZ1bmN0aW9uIEl0KGUsdCl7dmFyIG4scixpPWIuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IobiBpbiB0KXZvaWQgMCE9PXRbbl0mJigoaVtuXT9lOnJ8fChyPXt9KSlbbl09dFtuXSk7cmV0dXJuIHImJmIuZXh0ZW5kKCEwLGUsciksZX1QdC5ocmVmPW10LmhyZWYsYi5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOm10LmhyZWYsdHlwZTpcIkdFVFwiLGlzTG9jYWw6L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChtdC5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04XCIsYWNjZXB0czp7XCIqXCI6T3QsdGV4dDpcInRleHQvcGxhaW5cIixodG1sOlwidGV4dC9odG1sXCIseG1sOlwiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbFwiLGpzb246XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHRcIn0sY29udGVudHM6e3htbDovXFxieG1sXFxiLyxodG1sOi9cXGJodG1sLyxqc29uOi9cXGJqc29uXFxiL30scmVzcG9uc2VGaWVsZHM6e3htbDpcInJlc3BvbnNlWE1MXCIsdGV4dDpcInJlc3BvbnNlVGV4dFwiLGpzb246XCJyZXNwb25zZUpTT05cIn0sY29udmVydGVyczp7XCIqIHRleHRcIjpTdHJpbmcsXCJ0ZXh0IGh0bWxcIjohMCxcInRleHQganNvblwiOkpTT04ucGFyc2UsXCJ0ZXh0IHhtbFwiOmIucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P0l0KEl0KGUsYi5hamF4U2V0dGluZ3MpLHQpOkl0KGIuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOlJ0KEx0KSxhamF4VHJhbnNwb3J0OlJ0KEh0KSxhamF4OmZ1bmN0aW9uKHQsbil7XCJvYmplY3RcIj09dHlwZW9mIHQmJihuPXQsdD12b2lkIDApLG49bnx8e307dmFyIHIsaSxvLGEscyx1LGwsYyxmLHAsZD1iLmFqYXhTZXR1cCh7fSxuKSxoPWQuY29udGV4dHx8ZCxnPWQuY29udGV4dCYmKGgubm9kZVR5cGV8fGguanF1ZXJ5KT9iKGgpOmIuZXZlbnQseT1iLkRlZmVycmVkKCksbT1iLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLHg9ZC5zdGF0dXNDb2RlfHx7fSx3PXt9LFQ9e30sQz1cImNhbmNlbGVkXCIsRT17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGwpe2lmKCFhKWZvcihhPXt9O3Q9anQuZXhlYyhvKTspYVt0WzFdLnRvTG93ZXJDYXNlKCkrXCIgXCJdPShhW3RbMV0udG9Mb3dlckNhc2UoKStcIiBcIl18fFtdKS5jb25jYXQodFsyXSk7dD1hW2UudG9Mb3dlckNhc2UoKStcIiBcIl19cmV0dXJuIG51bGw9PXQ/bnVsbDp0LmpvaW4oXCIsIFwiKX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGw/bzpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWwmJihlPVRbZS50b0xvd2VyQ2FzZSgpXT1UW2UudG9Mb3dlckNhc2UoKV18fGUsd1tlXT10KSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1sJiYoZC5taW1lVHlwZT1lKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYobClFLmFsd2F5cyhlW0Uuc3RhdHVzXSk7ZWxzZSBmb3IodCBpbiBlKXhbdF09W3hbdF0sZVt0XV07cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fEM7cmV0dXJuIHImJnIuYWJvcnQodCksUygwLHQpLHRoaXN9fTtpZih5LnByb21pc2UoRSksZC51cmw9KCh0fHxkLnVybHx8bXQuaHJlZikrXCJcIikucmVwbGFjZShxdCxtdC5wcm90b2NvbCtcIi8vXCIpLGQudHlwZT1uLm1ldGhvZHx8bi50eXBlfHxkLm1ldGhvZHx8ZC50eXBlLGQuZGF0YVR5cGVzPShkLmRhdGFUeXBlfHxcIipcIikudG9Mb3dlckNhc2UoKS5tYXRjaChPKXx8W1wiXCJdLG51bGw9PWQuY3Jvc3NEb21haW4pe3U9di5jcmVhdGVFbGVtZW50KFwiYVwiKTt0cnl7dS5ocmVmPWQudXJsLHUuaHJlZj11LmhyZWYsZC5jcm9zc0RvbWFpbj1QdC5wcm90b2NvbCtcIi8vXCIrUHQuaG9zdCE9dS5wcm90b2NvbCtcIi8vXCIrdS5ob3N0fWNhdGNoKGUpe2QuY3Jvc3NEb21haW49ITB9fWlmKGQuZGF0YSYmZC5wcm9jZXNzRGF0YSYmXCJzdHJpbmdcIiE9dHlwZW9mIGQuZGF0YSYmKGQuZGF0YT1iLnBhcmFtKGQuZGF0YSxkLnRyYWRpdGlvbmFsKSksTXQoTHQsZCxuLEUpLGwpcmV0dXJuIEU7Zm9yKGYgaW4oYz1iLmV2ZW50JiZkLmdsb2JhbCkmJjA9PWIuYWN0aXZlKysmJmIuZXZlbnQudHJpZ2dlcihcImFqYXhTdGFydFwiKSxkLnR5cGU9ZC50eXBlLnRvVXBwZXJDYXNlKCksZC5oYXNDb250ZW50PSFEdC50ZXN0KGQudHlwZSksaT1kLnVybC5yZXBsYWNlKEF0LFwiXCIpLGQuaGFzQ29udGVudD9kLmRhdGEmJmQucHJvY2Vzc0RhdGEmJjA9PT0oZC5jb250ZW50VHlwZXx8XCJcIikuaW5kZXhPZihcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKSYmKGQuZGF0YT1kLmRhdGEucmVwbGFjZShrdCxcIitcIikpOihwPWQudXJsLnNsaWNlKGkubGVuZ3RoKSxkLmRhdGEmJihkLnByb2Nlc3NEYXRhfHxcInN0cmluZ1wiPT10eXBlb2YgZC5kYXRhKSYmKGkrPShidC50ZXN0KGkpP1wiJlwiOlwiP1wiKStkLmRhdGEsZGVsZXRlIGQuZGF0YSksITE9PT1kLmNhY2hlJiYoaT1pLnJlcGxhY2UoTnQsXCIkMVwiKSxwPShidC50ZXN0KGkpP1wiJlwiOlwiP1wiKStcIl89XCIreHQuZ3VpZCsrK3ApLGQudXJsPWkrcCksZC5pZk1vZGlmaWVkJiYoYi5sYXN0TW9kaWZpZWRbaV0mJkUuc2V0UmVxdWVzdEhlYWRlcihcIklmLU1vZGlmaWVkLVNpbmNlXCIsYi5sYXN0TW9kaWZpZWRbaV0pLGIuZXRhZ1tpXSYmRS5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTm9uZS1NYXRjaFwiLGIuZXRhZ1tpXSkpLChkLmRhdGEmJmQuaGFzQ29udGVudCYmITEhPT1kLmNvbnRlbnRUeXBlfHxuLmNvbnRlbnRUeXBlKSYmRS5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsZC5jb250ZW50VHlwZSksRS5zZXRSZXF1ZXN0SGVhZGVyKFwiQWNjZXB0XCIsZC5kYXRhVHlwZXNbMF0mJmQuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0/ZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXSsoXCIqXCIhPT1kLmRhdGFUeXBlc1swXT9cIiwgXCIrT3QrXCI7IHE9MC4wMVwiOlwiXCIpOmQuYWNjZXB0c1tcIipcIl0pLGQuaGVhZGVycylFLnNldFJlcXVlc3RIZWFkZXIoZixkLmhlYWRlcnNbZl0pO2lmKGQuYmVmb3JlU2VuZCYmKCExPT09ZC5iZWZvcmVTZW5kLmNhbGwoaCxFLGQpfHxsKSlyZXR1cm4gRS5hYm9ydCgpO2lmKEM9XCJhYm9ydFwiLG0uYWRkKGQuY29tcGxldGUpLEUuZG9uZShkLnN1Y2Nlc3MpLEUuZmFpbChkLmVycm9yKSxyPU10KEh0LGQsbixFKSl7aWYoRS5yZWFkeVN0YXRlPTEsYyYmZy50cmlnZ2VyKFwiYWpheFNlbmRcIixbRSxkXSksbClyZXR1cm4gRTtkLmFzeW5jJiZkLnRpbWVvdXQ+MCYmKHM9ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RS5hYm9ydChcInRpbWVvdXRcIil9LGQudGltZW91dCkpO3RyeXtsPSExLHIuc2VuZCh3LFMpfWNhdGNoKGUpe2lmKGwpdGhyb3cgZTtTKC0xLGUpfX1lbHNlIFMoLTEsXCJObyBUcmFuc3BvcnRcIik7ZnVuY3Rpb24gUyh0LG4sYSx1KXt2YXIgZixwLHYsdyxULEM9bjtsfHwobD0hMCxzJiZlLmNsZWFyVGltZW91dChzKSxyPXZvaWQgMCxvPXV8fFwiXCIsRS5yZWFkeVN0YXRlPXQ+MD80OjAsZj10Pj0yMDAmJnQ8MzAwfHwzMDQ9PT10LGEmJih3PWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaSxvLGEscz1lLmNvbnRlbnRzLHU9ZS5kYXRhVHlwZXM7XCIqXCI9PT11WzBdOyl1LnNoaWZ0KCksdm9pZCAwPT09ciYmKHI9ZS5taW1lVHlwZXx8dC5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKSk7aWYocilmb3IoaSBpbiBzKWlmKHNbaV0mJnNbaV0udGVzdChyKSl7dS51bnNoaWZ0KGkpO2JyZWFrfWlmKHVbMF1pbiBuKW89dVswXTtlbHNle2ZvcihpIGluIG4pe2lmKCF1WzBdfHxlLmNvbnZlcnRlcnNbaStcIiBcIit1WzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09dVswXSYmdS51bnNoaWZ0KG8pLG5bb119KGQsRSxhKSksIWYmJmIuaW5BcnJheShcInNjcmlwdFwiLGQuZGF0YVR5cGVzKT4tMSYmYi5pbkFycmF5KFwianNvblwiLGQuZGF0YVR5cGVzKTwwJiYoZC5jb252ZXJ0ZXJzW1widGV4dCBzY3JpcHRcIl09ZnVuY3Rpb24oKXt9KSx3PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD17fSxjPWUuZGF0YVR5cGVzLnNsaWNlKCk7aWYoY1sxXSlmb3IoYSBpbiBlLmNvbnZlcnRlcnMpbFthLnRvTG93ZXJDYXNlKCldPWUuY29udmVydGVyc1thXTtmb3Iobz1jLnNoaWZ0KCk7bzspaWYoZS5yZXNwb25zZUZpZWxkc1tvXSYmKG5bZS5yZXNwb25zZUZpZWxkc1tvXV09dCksIXUmJnImJmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpLHU9byxvPWMuc2hpZnQoKSlpZihcIipcIj09PW8pbz11O2Vsc2UgaWYoXCIqXCIhPT11JiZ1IT09byl7aWYoIShhPWxbdStcIiBcIitvXXx8bFtcIiogXCIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zcGxpdChcIiBcIikpWzFdPT09byYmKGE9bFt1K1wiIFwiK3NbMF1dfHxsW1wiKiBcIitzWzBdXSkpeyEwPT09YT9hPWxbaV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmUudGhyb3dzKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOlwicGFyc2VyZXJyb3JcIixlcnJvcjphP2U6XCJObyBjb252ZXJzaW9uIGZyb20gXCIrdStcIiB0byBcIitvfX19cmV0dXJue3N0YXRlOlwic3VjY2Vzc1wiLGRhdGE6dH19KGQsdyxFLGYpLGY/KGQuaWZNb2RpZmllZCYmKChUPUUuZ2V0UmVzcG9uc2VIZWFkZXIoXCJMYXN0LU1vZGlmaWVkXCIpKSYmKGIubGFzdE1vZGlmaWVkW2ldPVQpLChUPUUuZ2V0UmVzcG9uc2VIZWFkZXIoXCJldGFnXCIpKSYmKGIuZXRhZ1tpXT1UKSksMjA0PT09dHx8XCJIRUFEXCI9PT1kLnR5cGU/Qz1cIm5vY29udGVudFwiOjMwND09PXQ/Qz1cIm5vdG1vZGlmaWVkXCI6KEM9dy5zdGF0ZSxwPXcuZGF0YSxmPSEodj13LmVycm9yKSkpOih2PUMsIXQmJkN8fChDPVwiZXJyb3JcIix0PDAmJih0PTApKSksRS5zdGF0dXM9dCxFLnN0YXR1c1RleHQ9KG58fEMpK1wiXCIsZj95LnJlc29sdmVXaXRoKGgsW3AsQyxFXSk6eS5yZWplY3RXaXRoKGgsW0UsQyx2XSksRS5zdGF0dXNDb2RlKHgpLHg9dm9pZCAwLGMmJmcudHJpZ2dlcihmP1wiYWpheFN1Y2Nlc3NcIjpcImFqYXhFcnJvclwiLFtFLGQsZj9wOnZdKSxtLmZpcmVXaXRoKGgsW0UsQ10pLGMmJihnLnRyaWdnZXIoXCJhamF4Q29tcGxldGVcIixbRSxkXSksLS1iLmFjdGl2ZXx8Yi5ldmVudC50cmlnZ2VyKFwiYWpheFN0b3BcIikpKX1yZXR1cm4gRX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGIuZ2V0KGUsdCxuLFwianNvblwiKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGIuZ2V0KGUsdm9pZCAwLHQsXCJzY3JpcHRcIil9fSksYi5lYWNoKFtcImdldFwiLFwicG9zdFwiXSxmdW5jdGlvbihlLHQpe2JbdF09ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIGgobikmJihpPWl8fHIscj1uLG49dm9pZCAwKSxiLmFqYXgoYi5leHRlbmQoe3VybDplLHR5cGU6dCxkYXRhVHlwZTppLGRhdGE6bixzdWNjZXNzOnJ9LGIuaXNQbGFpbk9iamVjdChlKSYmZSkpfX0pLGIuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlLmhlYWRlcnMpXCJjb250ZW50LXR5cGVcIj09PXQudG9Mb3dlckNhc2UoKSYmKGUuY29udGVudFR5cGU9ZS5oZWFkZXJzW3RdfHxcIlwiKX0pLGIuX2V2YWxVcmw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBiLmFqYXgoe3VybDplLHR5cGU6XCJHRVRcIixkYXRhVHlwZTpcInNjcmlwdFwiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSxjb252ZXJ0ZXJzOntcInRleHQgc2NyaXB0XCI6ZnVuY3Rpb24oKXt9fSxkYXRhRmlsdGVyOmZ1bmN0aW9uKGUpe2IuZ2xvYmFsRXZhbChlLHQsbil9fSl9LGIuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYoaChlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PWIoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXM7ZS5maXJzdEVsZW1lbnRDaGlsZDspZT1lLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBlfSkuYXBwZW5kKHRoaXMpKSx0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGgoZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2IodGhpcykud3JhcElubmVyKGUuY2FsbCh0aGlzLHQpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWIodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSl9LHdyYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9aChlKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe2IodGhpcykud3JhcEFsbCh0P2UuY2FsbCh0aGlzLG4pOmUpfSl9LHVud3JhcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wYXJlbnQoZSkubm90KFwiYm9keVwiKS5lYWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSksdGhpc319KSxiLmV4cHIucHNldWRvcy5oaWRkZW49ZnVuY3Rpb24oZSl7cmV0dXJuIWIuZXhwci5wc2V1ZG9zLnZpc2libGUoZSl9LGIuZXhwci5wc2V1ZG9zLnZpc2libGU9ZnVuY3Rpb24oZSl7cmV0dXJuISEoZS5vZmZzZXRXaWR0aHx8ZS5vZmZzZXRIZWlnaHR8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpfSxiLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBlLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGUpe319O3ZhciBXdD17MDoyMDAsMTIyMzoyMDR9LEZ0PWIuYWpheFNldHRpbmdzLnhocigpO2QuY29ycz0hIUZ0JiZcIndpdGhDcmVkZW50aWFsc1wiaW4gRnQsZC5hamF4PUZ0PSEhRnQsYi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKHQpe3ZhciBuLHI7aWYoZC5jb3JzfHxGdCYmIXQuY3Jvc3NEb21haW4pcmV0dXJue3NlbmQ6ZnVuY3Rpb24oaSxvKXt2YXIgYSxzPXQueGhyKCk7aWYocy5vcGVuKHQudHlwZSx0LnVybCx0LmFzeW5jLHQudXNlcm5hbWUsdC5wYXNzd29yZCksdC54aHJGaWVsZHMpZm9yKGEgaW4gdC54aHJGaWVsZHMpc1thXT10LnhockZpZWxkc1thXTtmb3IoYSBpbiB0Lm1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSh0Lm1pbWVUeXBlKSx0LmNyb3NzRG9tYWlufHxpW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXXx8KGlbXCJYLVJlcXVlc3RlZC1XaXRoXCJdPVwiWE1MSHR0cFJlcXVlc3RcIiksaSlzLnNldFJlcXVlc3RIZWFkZXIoYSxpW2FdKTtuPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe24mJihuPXI9cy5vbmxvYWQ9cy5vbmVycm9yPXMub25hYm9ydD1zLm9udGltZW91dD1zLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLFwiYWJvcnRcIj09PWU/cy5hYm9ydCgpOlwiZXJyb3JcIj09PWU/XCJudW1iZXJcIiE9dHlwZW9mIHMuc3RhdHVzP28oMCxcImVycm9yXCIpOm8ocy5zdGF0dXMscy5zdGF0dXNUZXh0KTpvKFd0W3Muc3RhdHVzXXx8cy5zdGF0dXMscy5zdGF0dXNUZXh0LFwidGV4dFwiIT09KHMucmVzcG9uc2VUeXBlfHxcInRleHRcIil8fFwic3RyaW5nXCIhPXR5cGVvZiBzLnJlc3BvbnNlVGV4dD97YmluYXJ5OnMucmVzcG9uc2V9Ont0ZXh0OnMucmVzcG9uc2VUZXh0fSxzLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSl9fSxzLm9ubG9hZD1uKCkscj1zLm9uZXJyb3I9cy5vbnRpbWVvdXQ9bihcImVycm9yXCIpLHZvaWQgMCE9PXMub25hYm9ydD9zLm9uYWJvcnQ9cjpzLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1zLnJlYWR5U3RhdGUmJmUuc2V0VGltZW91dChmdW5jdGlvbigpe24mJnIoKX0pfSxuPW4oXCJhYm9ydFwiKTt0cnl7cy5zZW5kKHQuaGFzQ29udGVudCYmdC5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihuKXRocm93IGV9fSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fSksYi5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxiLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OlwidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHRcIn0sY29udGVudHM6e3NjcmlwdDovXFxiKD86amF2YXxlY21hKXNjcmlwdFxcYi99LGNvbnZlcnRlcnM6e1widGV4dCBzY3JpcHRcIjpmdW5jdGlvbihlKXtyZXR1cm4gYi5nbG9iYWxFdmFsKGUpLGV9fX0pLGIuYWpheFByZWZpbHRlcihcInNjcmlwdFwiLGZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUuY2FjaGUmJihlLmNhY2hlPSExKSxlLmNyb3NzRG9tYWluJiYoZS50eXBlPVwiR0VUXCIpfSksYi5hamF4VHJhbnNwb3J0KFwic2NyaXB0XCIsZnVuY3Rpb24oZSl7dmFyIHQsbjtpZihlLmNyb3NzRG9tYWlufHxlLnNjcmlwdEF0dHJzKXJldHVybntzZW5kOmZ1bmN0aW9uKHIsaSl7dD1iKFwiPHNjcmlwdD5cIikuYXR0cihlLnNjcmlwdEF0dHJzfHx7fSkucHJvcCh7Y2hhcnNldDplLnNjcmlwdENoYXJzZXQsc3JjOmUudXJsfSkub24oXCJsb2FkIGVycm9yXCIsbj1mdW5jdGlvbihlKXt0LnJlbW92ZSgpLG49bnVsbCxlJiZpKFwiZXJyb3JcIj09PWUudHlwZT80MDQ6MjAwLGUudHlwZSl9KSx2LmhlYWQuYXBwZW5kQ2hpbGQodFswXSl9LGFib3J0OmZ1bmN0aW9uKCl7biYmbigpfX19KTt2YXIgQnQsJHQ9W10sX3Q9Lyg9KVxcPyg/PSZ8JCl8XFw/XFw/LztiLmFqYXhTZXR1cCh7anNvbnA6XCJjYWxsYmFja1wiLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgZT0kdC5wb3AoKXx8Yi5leHBhbmRvK1wiX1wiK3h0Lmd1aWQrKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLGIuYWpheFByZWZpbHRlcihcImpzb24ganNvbnBcIixmdW5jdGlvbih0LG4scil7dmFyIGksbyxhLHM9ITEhPT10Lmpzb25wJiYoX3QudGVzdCh0LnVybCk/XCJ1cmxcIjpcInN0cmluZ1wiPT10eXBlb2YgdC5kYXRhJiYwPT09KHQuY29udGVudFR5cGV8fFwiXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIikmJl90LnRlc3QodC5kYXRhKSYmXCJkYXRhXCIpO2lmKHN8fFwianNvbnBcIj09PXQuZGF0YVR5cGVzWzBdKXJldHVybiBpPXQuanNvbnBDYWxsYmFjaz1oKHQuanNvbnBDYWxsYmFjayk/dC5qc29ucENhbGxiYWNrKCk6dC5qc29ucENhbGxiYWNrLHM/dFtzXT10W3NdLnJlcGxhY2UoX3QsXCIkMVwiK2kpOiExIT09dC5qc29ucCYmKHQudXJsKz0oYnQudGVzdCh0LnVybCk/XCImXCI6XCI/XCIpK3QuanNvbnArXCI9XCIraSksdC5jb252ZXJ0ZXJzW1wic2NyaXB0IGpzb25cIl09ZnVuY3Rpb24oKXtyZXR1cm4gYXx8Yi5lcnJvcihpK1wiIHdhcyBub3QgY2FsbGVkXCIpLGFbMF19LHQuZGF0YVR5cGVzWzBdPVwianNvblwiLG89ZVtpXSxlW2ldPWZ1bmN0aW9uKCl7YT1hcmd1bWVudHN9LHIuYWx3YXlzKGZ1bmN0aW9uKCl7dm9pZCAwPT09bz9iKGUpLnJlbW92ZVByb3AoaSk6ZVtpXT1vLHRbaV0mJih0Lmpzb25wQ2FsbGJhY2s9bi5qc29ucENhbGxiYWNrLCR0LnB1c2goaSkpLGEmJmgobykmJm8oYVswXSksYT1vPXZvaWQgMH0pLFwic2NyaXB0XCJ9KSxkLmNyZWF0ZUhUTUxEb2N1bWVudD0oKEJ0PXYuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KFwiXCIpLmJvZHkpLmlubmVySFRNTD1cIjxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+XCIsMj09PUJ0LmNoaWxkTm9kZXMubGVuZ3RoKSxiLnBhcnNlSFRNTD1mdW5jdGlvbihlLHQsbil7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGU/W106KFwiYm9vbGVhblwiPT10eXBlb2YgdCYmKG49dCx0PSExKSx0fHwoZC5jcmVhdGVIVE1MRG9jdW1lbnQ/KChyPSh0PXYuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KFwiXCIpKS5jcmVhdGVFbGVtZW50KFwiYmFzZVwiKSkuaHJlZj12LmxvY2F0aW9uLmhyZWYsdC5oZWFkLmFwcGVuZENoaWxkKHIpKTp0PXYpLG89IW4mJltdLChpPUEuZXhlYyhlKSk/W3QuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9eGUoW2VdLHQsbyksbyYmby5sZW5ndGgmJmIobykucmVtb3ZlKCksYi5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKSk7dmFyIHIsaSxvfSxiLmZuLmxvYWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPXRoaXMscz1lLmluZGV4T2YoXCIgXCIpO3JldHVybiBzPi0xJiYocj1wdChlLnNsaWNlKHMpKSxlPWUuc2xpY2UoMCxzKSksaCh0KT8obj10LHQ9dm9pZCAwKTp0JiZcIm9iamVjdFwiPT10eXBlb2YgdCYmKGk9XCJQT1NUXCIpLGEubGVuZ3RoPjAmJmIuYWpheCh7dXJsOmUsdHlwZTppfHxcIkdFVFwiLGRhdGFUeXBlOlwiaHRtbFwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVudHMsYS5odG1sKHI/YihcIjxkaXY+XCIpLmFwcGVuZChiLnBhcnNlSFRNTChlKSkuZmluZChyKTplKX0pLmFsd2F5cyhuJiZmdW5jdGlvbihlLHQpe2EuZWFjaChmdW5jdGlvbigpe24uYXBwbHkodGhpcyxvfHxbZS5yZXNwb25zZVRleHQsdCxlXSl9KX0pLHRoaXN9LGIuZXhwci5wc2V1ZG9zLmFuaW1hdGVkPWZ1bmN0aW9uKGUpe3JldHVybiBiLmdyZXAoYi50aW1lcnMsZnVuY3Rpb24odCl7cmV0dXJuIGU9PT10LmVsZW19KS5sZW5ndGh9LGIub2Zmc2V0PXtzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsPWIuY3NzKGUsXCJwb3NpdGlvblwiKSxjPWIoZSksZj17fTtcInN0YXRpY1wiPT09bCYmKGUuc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiKSxzPWMub2Zmc2V0KCksbz1iLmNzcyhlLFwidG9wXCIpLHU9Yi5jc3MoZSxcImxlZnRcIiksKFwiYWJzb2x1dGVcIj09PWx8fFwiZml4ZWRcIj09PWwpJiYobyt1KS5pbmRleE9mKFwiYXV0b1wiKT4tMT8oYT0ocj1jLnBvc2l0aW9uKCkpLnRvcCxpPXIubGVmdCk6KGE9cGFyc2VGbG9hdChvKXx8MCxpPXBhcnNlRmxvYXQodSl8fDApLGgodCkmJih0PXQuY2FsbChlLG4sYi5leHRlbmQoe30scykpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLXMudG9wK2EpLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtcy5sZWZ0K2kpLFwidXNpbmdcImluIHQ/dC51c2luZy5jYWxsKGUsZik6Yy5jc3MoZil9fSxiLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKGUpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PWU/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24odCl7Yi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pO3ZhciB0LG4scj10aGlzWzBdO3JldHVybiByP3IuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg/KHQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXIub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7dG9wOnQudG9wK24ucGFnZVlPZmZzZXQsbGVmdDp0LmxlZnQrbi5wYWdlWE9mZnNldH0pOnt0b3A6MCxsZWZ0OjB9OnZvaWQgMH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgZSx0LG4scj10aGlzWzBdLGk9e3RvcDowLGxlZnQ6MH07aWYoXCJmaXhlZFwiPT09Yi5jc3MocixcInBvc2l0aW9uXCIpKXQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle2Zvcih0PXRoaXMub2Zmc2V0KCksbj1yLm93bmVyRG9jdW1lbnQsZT1yLm9mZnNldFBhcmVudHx8bi5kb2N1bWVudEVsZW1lbnQ7ZSYmKGU9PT1uLmJvZHl8fGU9PT1uLmRvY3VtZW50RWxlbWVudCkmJlwic3RhdGljXCI9PT1iLmNzcyhlLFwicG9zaXRpb25cIik7KWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1yJiYxPT09ZS5ub2RlVHlwZSYmKChpPWIoZSkub2Zmc2V0KCkpLnRvcCs9Yi5jc3MoZSxcImJvcmRlclRvcFdpZHRoXCIsITApLGkubGVmdCs9Yi5jc3MoZSxcImJvcmRlckxlZnRXaWR0aFwiLCEwKSl9cmV0dXJue3RvcDp0LnRvcC1pLnRvcC1iLmNzcyhyLFwibWFyZ2luVG9wXCIsITApLGxlZnQ6dC5sZWZ0LWkubGVmdC1iLmNzcyhyLFwibWFyZ2luTGVmdFwiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnQ7ZSYmXCJzdGF0aWNcIj09PWIuY3NzKGUsXCJwb3NpdGlvblwiKTspZT1lLm9mZnNldFBhcmVudDtyZXR1cm4gZXx8bmV9KX19KSxiLmVhY2goe3Njcm9sbExlZnQ6XCJwYWdlWE9mZnNldFwiLHNjcm9sbFRvcDpcInBhZ2VZT2Zmc2V0XCJ9LGZ1bmN0aW9uKGUsdCl7dmFyIG49XCJwYWdlWU9mZnNldFwiPT09dDtiLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSxyLGkpe3ZhciBvO2lmKGcoZSk/bz1lOjk9PT1lLm5vZGVUeXBlJiYobz1lLmRlZmF1bHRWaWV3KSx2b2lkIDA9PT1pKXJldHVybiBvP29bdF06ZVtyXTtvP28uc2Nyb2xsVG8obj9vLnBhZ2VYT2Zmc2V0Omksbj9pOm8ucGFnZVlPZmZzZXQpOmVbcl09aX0sZSxyLGFyZ3VtZW50cy5sZW5ndGgpfX0pLGIuZWFjaChbXCJ0b3BcIixcImxlZnRcIl0sZnVuY3Rpb24oZSx0KXtiLmNzc0hvb2tzW3RdPUZlKGQucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihlLG4pe2lmKG4pcmV0dXJuIG49V2UoZSx0KSxQZS50ZXN0KG4pP2IoZSkucG9zaXRpb24oKVt0XStcInB4XCI6bn0pfSksYi5lYWNoKHtIZWlnaHQ6XCJoZWlnaHRcIixXaWR0aDpcIndpZHRoXCJ9LGZ1bmN0aW9uKGUsdCl7Yi5lYWNoKHtwYWRkaW5nOlwiaW5uZXJcIitlLGNvbnRlbnQ6dCxcIlwiOlwib3V0ZXJcIitlfSxmdW5jdGlvbihuLHIpe2IuZm5bcl09ZnVuY3Rpb24oaSxvKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoJiYobnx8XCJib29sZWFuXCIhPXR5cGVvZiBpKSxzPW58fCghMD09PWl8fCEwPT09bz9cIm1hcmdpblwiOlwiYm9yZGVyXCIpO3JldHVybiBCKHRoaXMsZnVuY3Rpb24odCxuLGkpe3ZhciBvO3JldHVybiBnKHQpPzA9PT1yLmluZGV4T2YoXCJvdXRlclwiKT90W1wiaW5uZXJcIitlXTp0LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtcImNsaWVudFwiK2VdOjk9PT10Lm5vZGVUeXBlPyhvPXQuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KHQuYm9keVtcInNjcm9sbFwiK2VdLG9bXCJzY3JvbGxcIitlXSx0LmJvZHlbXCJvZmZzZXRcIitlXSxvW1wib2Zmc2V0XCIrZV0sb1tcImNsaWVudFwiK2VdKSk6dm9pZCAwPT09aT9iLmNzcyh0LG4scyk6Yi5zdHlsZSh0LG4saSxzKX0sdCxhP2k6dm9pZCAwLGEpfX0pfSksYi5lYWNoKFtcImFqYXhTdGFydFwiLFwiYWpheFN0b3BcIixcImFqYXhDb21wbGV0ZVwiLFwiYWpheEVycm9yXCIsXCJhamF4U3VjY2Vzc1wiLFwiYWpheFNlbmRcIl0sZnVuY3Rpb24oZSx0KXtiLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSksYi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLm9uKGUsbnVsbCx0LG4pfSx1bmJpbmQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5vZmYoZSxudWxsLHQpfSxkZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbih0LGUsbixyKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGUsXCIqKlwiKTp0aGlzLm9mZih0LGV8fFwiKipcIixuKX0saG92ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGUpLm1vdXNlbGVhdmUodHx8ZSl9fSksYi5lYWNoKFwiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudVwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihlLHQpe2IuZm5bdF09ZnVuY3Rpb24oZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfX0pO3ZhciB6dD0vXltcXHNcXHVGRUZGXFx4QTBdK3xbXFxzXFx1RkVGRlxceEEwXSskL2c7Yi5wcm94eT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbztpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmKG49ZVt0XSx0PWUsZT1uKSxoKGUpKXJldHVybiByPWkuY2FsbChhcmd1bWVudHMsMiksKG89ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KGkuY2FsbChhcmd1bWVudHMpKSl9KS5ndWlkPWUuZ3VpZD1lLmd1aWR8fGIuZ3VpZCsrLG99LGIuaG9sZFJlYWR5PWZ1bmN0aW9uKGUpe2U/Yi5yZWFkeVdhaXQrKzpiLnJlYWR5KCEwKX0sYi5pc0FycmF5PUFycmF5LmlzQXJyYXksYi5wYXJzZUpTT049SlNPTi5wYXJzZSxiLm5vZGVOYW1lPWssYi5pc0Z1bmN0aW9uPWgsYi5pc1dpbmRvdz1nLGIuY2FtZWxDYXNlPVUsYi50eXBlPXgsYi5ub3c9RGF0ZS5ub3csYi5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9Yi50eXBlKGUpO3JldHVybihcIm51bWJlclwiPT09dHx8XCJzdHJpbmdcIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sYi50cmltPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP1wiXCI6KGUrXCJcIikucmVwbGFjZSh6dCxcIlwiKX0sXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoXCJqcXVlcnlcIixbXSxmdW5jdGlvbigpe3JldHVybiBifSk7dmFyIFV0PWUualF1ZXJ5LFh0PWUuJDtyZXR1cm4gYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKHQpe3JldHVybiBlLiQ9PT1iJiYoZS4kPVh0KSx0JiZlLmpRdWVyeT09PWImJihlLmpRdWVyeT1VdCksYn0sdm9pZCAwPT09dCYmKGUualF1ZXJ5PWUuJD1iKSxifSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbXB4ZFdWeWVTNXFjeUpkTENKdVlXMWxjeUk2V3lKbmJHOWlZV3dpTENKbVlXTjBiM0o1SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltUnZZM1Z0Wlc1MElpd2lkeUlzSWtWeWNtOXlJaXdpZDJsdVpHOTNJaXdpZEdocGN5SXNJbTV2UjJ4dlltRnNJaXdpWVhKeUlpd2laMlYwVUhKdmRHOGlMQ0pQWW1wbFkzUWlMQ0puWlhSUWNtOTBiM1I1Y0dWUFppSXNJbk5zYVdObElpd2labXhoZENJc0ltRnljbUY1SWl3aVkyRnNiQ0lzSW1OdmJtTmhkQ0lzSW1Gd2NHeDVJaXdpY0hWemFDSXNJbWx1WkdWNFQyWWlMQ0pqYkdGemN6SjBlWEJsSWl3aWRHOVRkSEpwYm1jaUxDSm9ZWE5QZDI0aUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0ltWnVWRzlUZEhKcGJtY2lMQ0pQWW1wbFkzUkdkVzVqZEdsdmJsTjBjbWx1WnlJc0luTjFjSEJ2Y25RaUxDSnBjMFoxYm1OMGFXOXVJaXdpYjJKcUlpd2libTlrWlZSNWNHVWlMQ0pwZEdWdElpd2lhWE5YYVc1a2IzY2lMQ0p3Y21WelpYSjJaV1JUWTNKcGNIUkJkSFJ5YVdKMWRHVnpJaXdpZEhsd1pTSXNJbk55WXlJc0ltNXZibU5sSWl3aWJtOU5iMlIxYkdVaUxDSkVUMDFGZG1Gc0lpd2lZMjlrWlNJc0ltNXZaR1VpTENKa2IyTWlMQ0pwSWl3aWRtRnNJaXdpYzJOeWFYQjBJaXdpWTNKbFlYUmxSV3hsYldWdWRDSXNJblJsZUhRaUxDSm5aWFJCZEhSeWFXSjFkR1VpTENKelpYUkJkSFJ5YVdKMWRHVWlMQ0pvWldGa0lpd2lZWEJ3Wlc1a1EyaHBiR1FpTENKd1lYSmxiblJPYjJSbElpd2ljbVZ0YjNabFEyaHBiR1FpTENKMGIxUjVjR1VpTENKcVVYVmxjbmtpTENKelpXeGxZM1J2Y2lJc0ltTnZiblJsZUhRaUxDSm1iaUlzSW1sdWFYUWlMQ0pwYzBGeWNtRjVUR2xyWlNJc0lteGxibWQwYUNJc0luQnliM1J2ZEhsd1pTSXNJbXB4ZFdWeWVTSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWRHOUJjbkpoZVNJc0ltZGxkQ0lzSW01MWJTSXNJbkIxYzJoVGRHRmpheUlzSW1Wc1pXMXpJaXdpY21WMElpd2liV1Z5WjJVaUxDSndjbVYyVDJKcVpXTjBJaXdpWldGamFDSXNJbU5oYkd4aVlXTnJJaXdpYldGd0lpd2laV3hsYlNJc0ltRnlaM1Z0Wlc1MGN5SXNJbVpwY25OMElpd2laWEVpTENKc1lYTjBJaXdpWlhabGJpSXNJbWR5WlhBaUxDSmZaV3hsYlNJc0ltOWtaQ0lzSW14bGJpSXNJbW9pTENKbGJtUWlMQ0p6YjNKMElpd2ljM0JzYVdObElpd2laWGgwWlc1a0lpd2liM0IwYVc5dWN5SXNJbTVoYldVaUxDSmpiM0I1SWl3aVkyOXdlVWx6UVhKeVlYa2lMQ0pqYkc5dVpTSXNJblJoY21kbGRDSXNJbVJsWlhBaUxDSnBjMUJzWVdsdVQySnFaV04wSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWRXNWtaV1pwYm1Wa0lpd2laWGh3WVc1a2J5SXNJazFoZEdnaUxDSnlZVzVrYjIwaUxDSnlaWEJzWVdObElpd2lhWE5TWldGa2VTSXNJbVZ5Y205eUlpd2liWE5uSWl3aWJtOXZjQ0lzSW5CeWIzUnZJaXdpUTNSdmNpSXNJbWx6Ulcxd2RIbFBZbXBsWTNRaUxDSm5iRzlpWVd4RmRtRnNJaXdpYldGclpVRnljbUY1SWl3aWNtVnpkV3gwY3lJc0ltbHVRWEp5WVhraUxDSnpaV052Ym1RaUxDSnBiblpsY25RaUxDSnRZWFJqYUdWeklpd2lZMkZzYkdKaFkydEZlSEJsWTNRaUxDSmhjbWNpTENKMllXeDFaU0lzSW1kMWFXUWlMQ0pUZVcxaWIyd2lMQ0pwZEdWeVlYUnZjaUlzSW5Od2JHbDBJaXdpWDJraUxDSjBiMHh2ZDJWeVEyRnpaU0lzSWxOcGVucHNaU0lzSWtWNGNISWlMQ0puWlhSVVpYaDBJaXdpYVhOWVRVd2lMQ0owYjJ0bGJtbDZaU0lzSW1OdmJYQnBiR1VpTENKelpXeGxZM1FpTENKdmRYUmxjbTF2YzNSRGIyNTBaWGgwSWl3aWMyOXlkRWx1Y0hWMElpd2lhR0Z6UkhWd2JHbGpZWFJsSWl3aWMyVjBSRzlqZFcxbGJuUWlMQ0prYjJORmJHVnRJaXdpWkc5amRXMWxiblJKYzBoVVRVd2lMQ0p5WW5WblozbFJVMEVpTENKeVluVm5aM2xOWVhSamFHVnpJaXdpWTI5dWRHRnBibk1pTENKRVlYUmxJaXdpY0hKbFptVnljbVZrUkc5aklpd2laR2x5Y25WdWN5SXNJbVJ2Ym1VaUxDSmpiR0Z6YzBOaFkyaGxJaXdpWTNKbFlYUmxRMkZqYUdVaUxDSjBiMnRsYmtOaFkyaGxJaXdpWTI5dGNHbHNaWEpEWVdOb1pTSXNJbTV2Ym01aGRHbDJaVk5sYkdWamRHOXlRMkZqYUdVaUxDSnpiM0owVDNKa1pYSWlMQ0poSWl3aVlpSXNJbkJ2Y0NJc0luQjFjMmhPWVhScGRtVWlMQ0pzYVhOMElpd2lZbTl2YkdWaGJuTWlMQ0ozYUdsMFpYTndZV05sSWl3aWFXUmxiblJwWm1sbGNpSXNJbUYwZEhKcFluVjBaWE1pTENKd2MyVjFaRzl6SWl3aWNuZG9hWFJsYzNCaFkyVWlMQ0pTWldkRmVIQWlMQ0p5ZEhKcGJTSXNJbkpqYjIxdFlTSXNJbkpqYjIxaWFXNWhkRzl5Y3lJc0luSmtaWE5qWlc1a0lpd2ljbkJ6WlhWa2J5SXNJbkpwWkdWdWRHbG1hV1Z5SWl3aWJXRjBZMmhGZUhCeUlpd2lTVVFpTENKRFRFRlRVeUlzSWxSQlJ5SXNJa0ZVVkZJaUxDSlFVMFZWUkU4aUxDSkRTRWxNUkNJc0ltSnZiMndpTENKdVpXVmtjME52Ym5SbGVIUWlMQ0p5YUhSdGJDSXNJbkpwYm5CMWRITWlMQ0p5YUdWaFpHVnlJaXdpY201aGRHbDJaU0lzSW5KeGRXbGphMFY0Y0hJaUxDSnljMmxpYkdsdVp5SXNJbkoxYm1WelkyRndaU0lzSW1aMWJtVnpZMkZ3WlNJc0ltVnpZMkZ3WlNJc0ltNXZia2hsZUNJc0ltaHBaMmdpTENKVGRISnBibWNpTENKbWNtOXRRMmhoY2tOdlpHVWlMQ0p5WTNOelpYTmpZWEJsSWl3aVptTnpjMlZ6WTJGd1pTSXNJbU5vSWl3aVlYTkRiMlJsVUc5cGJuUWlMQ0pqYUdGeVEyOWtaVUYwSWl3aWRXNXNiMkZrU0dGdVpHeGxjaUlzSW1sdVJHbHpZV0pzWldSR2FXVnNaSE5sZENJc0ltRmtaRU52YldKcGJtRjBiM0lpTENKa2FYTmhZbXhsWkNJc0ltNXZaR1ZPWVcxbElpd2laR2x5SWl3aWJtVjRkQ0lzSW1Ob2FXeGtUbTlrWlhNaUxDSmxJaXdpWld4eklpd2ljMlZsWkNJc0ltMGlMQ0p1YVdRaUxDSnRZWFJqYUNJc0ltZHliM1Z3Y3lJc0ltNWxkMU5sYkdWamRHOXlJaXdpYm1WM1EyOXVkR1Y0ZENJc0ltOTNibVZ5Ukc5amRXMWxiblFpTENKbGVHVmpJaXdpWjJWMFJXeGxiV1Z1ZEVKNVNXUWlMQ0pwWkNJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VVTnNZWE56VG1GdFpTSXNJbkZ6WVNJc0luUmxjM1FpTENKMFpYTjBRMjl1ZEdWNGRDSXNJbk5qYjNCbElpd2lkRzlUWld4bFkzUnZjaUlzSW1wdmFXNGlMQ0p4ZFdWeWVWTmxiR1ZqZEc5eVFXeHNJaXdpY1hOaFJYSnliM0lpTENKeVpXMXZkbVZCZEhSeWFXSjFkR1VpTENKclpYbHpJaXdpWTJGamFHVWlMQ0pyWlhraUxDSmpZV05vWlV4bGJtZDBhQ0lzSW5Ob2FXWjBJaXdpYldGeWEwWjFibU4wYVc5dUlpd2lZWE56WlhKMElpd2laV3dpTENKaFpHUklZVzVrYkdVaUxDSmhkSFJ5Y3lJc0ltaGhibVJzWlhJaUxDSmhkSFJ5U0dGdVpHeGxJaXdpYzJsaWJHbHVaME5vWldOcklpd2lZM1Z5SWl3aVpHbG1aaUlzSW5OdmRYSmpaVWx1WkdWNElpd2libVY0ZEZOcFlteHBibWNpTENKamNtVmhkR1ZKYm5CMWRGQnpaWFZrYnlJc0ltTnlaV0YwWlVKMWRIUnZibEJ6WlhWa2J5SXNJbU55WldGMFpVUnBjMkZpYkdWa1VITmxkV1J2SWl3aWFYTkVhWE5oWW14bFpDSXNJbU55WldGMFpWQnZjMmwwYVc5dVlXeFFjMlYxWkc4aUxDSmhjbWQxYldWdWRDSXNJbTFoZEdOb1NXNWtaWGhsY3lJc0ltNWhiV1Z6Y0dGalpTSXNJbTVoYldWemNHRmpaVlZTU1NJc0ltUnZZM1Z0Wlc1MFJXeGxiV1Z1ZENJc0ltaGhjME52YlhCaGNtVWlMQ0p6ZFdKWGFXNWtiM2NpTENKa1pXWmhkV3gwVm1sbGR5SXNJblJ2Y0NJc0ltRmtaRVYyWlc1MFRHbHpkR1Z1WlhJaUxDSmhkSFJoWTJoRmRtVnVkQ0lzSW1Oc1lYTnpUbUZ0WlNJc0ltTnlaV0YwWlVOdmJXMWxiblFpTENKblpYUkNlVWxrSWl3aVoyVjBSV3hsYldWdWRITkNlVTVoYldVaUxDSm1hV3gwWlhJaUxDSmhkSFJ5U1dRaUxDSm1hVzVrSWl3aVoyVjBRWFIwY21saWRYUmxUbTlrWlNJc0luUmhaeUlzSW5SdGNDSXNJbWx1Y0hWMElpd2lhVzV1WlhKSVZFMU1JaXdpYldGMFkyaGxjMU5sYkdWamRHOXlJaXdpZDJWaWEybDBUV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2liVzk2VFdGMFkyaGxjMU5sYkdWamRHOXlJaXdpYjAxaGRHTm9aWE5UWld4bFkzUnZjaUlzSW0xelRXRjBZMmhsYzFObGJHVmpkRzl5SWl3aVpHbHpZMjl1Ym1WamRHVmtUV0YwWTJnaUxDSmpiMjF3WVhKbFJHOWpkVzFsYm5SUWIzTnBkR2x2YmlJc0ltRmtiM2R1SWl3aVluVndJaXdpWTI5dGNHRnlaU0lzSW5OdmNuUkVaWFJoWTJobFpDSXNJbUYxY0NJc0ltRndJaXdpWW5BaUxDSjFibk5vYVdaMElpd2laWGh3Y2lJc0ltVnNaVzFsYm5Seklpd2lZWFIwY2lJc0luTndaV05wWm1sbFpDSXNJbk5sYkNJc0luVnVhWEYxWlZOdmNuUWlMQ0prZFhCc2FXTmhkR1Z6SWl3aVpHVjBaV04wUkhWd2JHbGpZWFJsY3lJc0luTnZjblJUZEdGaWJHVWlMQ0owWlhoMFEyOXVkR1Z1ZENJc0ltWnBjbk4wUTJocGJHUWlMQ0p1YjJSbFZtRnNkV1VpTENKelpXeGxZM1J2Y25NaUxDSmpjbVZoZEdWUWMyVjFaRzhpTENKeVpXeGhkR2wyWlNJc0lqNGlMQ0lnSWl3aUt5SXNJbjRpTENKd2NtVkdhV3gwWlhJaUxDSmxlR05sYzNNaUxDSjFibkYxYjNSbFpDSXNJbTV2WkdWT1lXMWxVMlZzWldOMGIzSWlMQ0p3WVhSMFpYSnVJaXdpYjNCbGNtRjBiM0lpTENKamFHVmpheUlzSW5KbGMzVnNkQ0lzSW5kb1lYUWlMQ0pmWVhKbmRXMWxiblFpTENKemFXMXdiR1VpTENKbWIzSjNZWEprSWl3aWIyWlVlWEJsSWl3aVgyTnZiblJsZUhRaUxDSjRiV3dpTENKMWJtbHhkV1ZEWVdOb1pTSXNJbTkxZEdWeVEyRmphR1VpTENKdWIyUmxTVzVrWlhnaUxDSnpkR0Z5ZENJc0luQmhjbVZ1ZENJc0luVnpaVU5oWTJobElpd2liR0Z6ZEVOb2FXeGtJaXdpZFc1cGNYVmxTVVFpTENKd2MyVjFaRzhpTENKaGNtZHpJaXdpYzJWMFJtbHNkR1Z5Y3lJc0ltbGtlQ0lzSW0xaGRHTm9aV1FpTENKdWIzUWlMQ0p0WVhSamFHVnlJaXdpZFc1dFlYUmphR1ZrSWl3aWFHRnpJaXdpYkdGdVp5SXNJbVZzWlcxTVlXNW5JaXdpYUdGemFDSXNJbXh2WTJGMGFXOXVJaXdpY205dmRDSXNJbVp2WTNWeklpd2lZV04wYVhabFJXeGxiV1Z1ZENJc0ltaGhjMFp2WTNWeklpd2lhSEpsWmlJc0luUmhZa2x1WkdWNElpd2laVzVoWW14bFpDSXNJbU5vWldOclpXUWlMQ0p6Wld4bFkzUmxaQ0lzSW5ObGJHVmpkR1ZrU1c1a1pYZ2lMQ0psYlhCMGVTSXNJbWhsWVdSbGNpSXNJbUoxZEhSdmJpSXNJbDl0WVhSamFFbHVaR1Y0WlhNaUxDSnNkQ0lzSW1kMElpd2ljbUZrYVc4aUxDSmphR1ZqYTJKdmVDSXNJbVpwYkdVaUxDSndZWE56ZDI5eVpDSXNJbWx0WVdkbElpd2ljM1ZpYldsMElpd2ljbVZ6WlhRaUxDSjBiMnRsYm5NaUxDSmpiMjFpYVc1aGRHOXlJaXdpWW1GelpTSXNJbk5yYVhBaUxDSmphR1ZqYTA1dmJrVnNaVzFsYm5Seklpd2laRzl1WlU1aGJXVWlMQ0p2YkdSRFlXTm9aU0lzSW01bGQwTmhZMmhsSWl3aVpXeGxiV1Z1ZEUxaGRHTm9aWElpTENKdFlYUmphR1Z5Y3lJc0ltTnZibVJsYm5ObElpd2libVYzVlc1dFlYUmphR1ZrSWl3aWJXRndjR1ZrSWl3aWMyVjBUV0YwWTJobGNpSXNJbkJ2YzNSR2FXeDBaWElpTENKd2IzTjBSbWx1WkdWeUlpd2ljRzl6ZEZObGJHVmpkRzl5SWl3aWRHVnRjQ0lzSW5CeVpVMWhjQ0lzSW5CdmMzUk5ZWEFpTENKd2NtVmxlR2x6ZEdsdVp5SXNJbU52Ym5SbGVIUnpJaXdpYlhWc2RHbHdiR1ZEYjI1MFpYaDBjeUlzSW0xaGRHTm9aWEpKYmlJc0ltMWhkR05vWlhKUGRYUWlMQ0p0WVhSamFHVnlSbkp2YlZSdmEyVnVjeUlzSW1Ob1pXTnJRMjl1ZEdWNGRDSXNJbXhsWVdScGJtZFNaV3hoZEdsMlpTSXNJbWx0Y0d4cFkybDBVbVZzWVhScGRtVWlMQ0p0WVhSamFFTnZiblJsZUhRaUxDSnRZWFJqYUVGdWVVTnZiblJsZUhRaUxDSm1hV3gwWlhKeklpd2ljR0Z5YzJWUGJteDVJaXdpYzI5R1lYSWlMQ0p3Y21WR2FXeDBaWEp6SWl3aVkyRmphR1ZrSWl3aWMyVjBUV0YwWTJobGNuTWlMQ0psYkdWdFpXNTBUV0YwWTJobGNuTWlMQ0ppZVZObGRDSXNJbUo1Uld4bGJXVnVkQ0lzSW5OMWNHVnlUV0YwWTJobGNpSXNJbTkxZEdWeWJXOXpkQ0lzSW0xaGRHTm9aV1JEYjNWdWRDSXNJbk5sZEUxaGRHTm9aV1FpTENKamIyNTBaWGgwUW1GamEzVndJaXdpWkdseWNuVnVjMVZ1YVhGMVpTSXNJbTFoZEdOb1pYSkdjbTl0UjNKdmRYQk5ZWFJqYUdWeWN5SXNJblJ2YTJWdUlpd2lZMjl0Y0dsc1pXUWlMQ0pmYm1GdFpTSXNJbVJsWm1GMWJIUldZV3gxWlNJc0luVnVhWEYxWlNJc0ltbHpXRTFNUkc5aklpd2laWE5qWVhCbFUyVnNaV04wYjNJaUxDSjFiblJwYkNJc0luUnlkVzVqWVhSbElpd2lhWE1pTENKemFXSnNhVzVuY3lJc0ltNGlMQ0p5Ym1WbFpITkRiMjUwWlhoMElpd2ljbk5wYm1kc1pWUmhaeUlzSW5kcGJtNXZkeUlzSW5GMVlXeHBabWxsY2lJc0luTmxiR1lpTENKeWIyOTBhbEYxWlhKNUlpd2ljR0Z5YzJWSVZFMU1JaXdpY21WaFpIa2lMQ0p5Y0dGeVpXNTBjM0J5WlhZaUxDSm5kV0Z5WVc1MFpXVmtWVzVwY1hWbElpd2lZMmhwYkdSeVpXNGlMQ0pqYjI1MFpXNTBjeUlzSW5CeVpYWWlMQ0p6YVdKc2FXNW5JaXdpZEdGeVoyVjBjeUlzSW13aUxDSmpiRzl6WlhOMElpd2lhVzVrWlhnaUxDSndjbVYyUVd4c0lpd2lZV1JrSWl3aVlXUmtRbUZqYXlJc0luQmhjbVZ1ZEhNaUxDSndZWEpsYm5SelZXNTBhV3dpTENKdVpYaDBRV3hzSWl3aWJtVjRkRlZ1ZEdsc0lpd2ljSEpsZGxWdWRHbHNJaXdpWTI5dWRHVnVkRVJ2WTNWdFpXNTBJaXdpWTI5dWRHVnVkQ0lzSW5KbGRtVnljMlVpTENKeWJtOTBhSFJ0Ykhkb2FYUmxJaXdpU1dSbGJuUnBkSGtpTENKMklpd2lWR2h5YjNkbGNpSXNJbVY0SWl3aVlXUnZjSFJXWVd4MVpTSXNJbkpsYzI5c2RtVWlMQ0p5WldwbFkzUWlMQ0p1YjFaaGJIVmxJaXdpYldWMGFHOWtJaXdpY0hKdmJXbHpaU0lzSW1aaGFXd2lMQ0owYUdWdUlpd2lRMkZzYkdKaFkydHpJaXdpYjJKcVpXTjBJaXdpWHlJc0ltWnNZV2NpTENKamNtVmhkR1ZQY0hScGIyNXpJaXdpWm1seWFXNW5JaXdpYldWdGIzSjVJaXdpWm1seVpXUWlMQ0pzYjJOclpXUWlMQ0p4ZFdWMVpTSXNJbVpwY21sdVowbHVaR1Y0SWl3aVptbHlaU0lzSW05dVkyVWlMQ0p6ZEc5d1QyNUdZV3h6WlNJc0luSmxiVzkyWlNJc0ltUnBjMkZpYkdVaUxDSnNiMk5ySWl3aVptbHlaVmRwZEdnaUxDSkVaV1psY25KbFpDSXNJbVoxYm1NaUxDSjBkWEJzWlhNaUxDSnpkR0YwWlNJc0ltRnNkMkY1Y3lJc0ltUmxabVZ5Y21Wa0lpd2lZMkYwWTJnaUxDSndhWEJsSWl3aVptNXpJaXdpYm1WM1JHVm1aWElpTENKMGRYQnNaU0lzSW5KbGRIVnlibVZrSWl3aWNISnZaM0psYzNNaUxDSnViM1JwWm5raUxDSnZia1oxYkdacGJHeGxaQ0lzSW05dVVtVnFaV04wWldRaUxDSnZibEJ5YjJkeVpYTnpJaXdpYldGNFJHVndkR2dpTENKa1pYQjBhQ0lzSW5Od1pXTnBZV3dpTENKMGFHRjBJaXdpYldsbmFIUlVhSEp2ZHlJc0lsUjVjR1ZGY25KdmNpSXNJbTV2ZEdsbWVWZHBkR2dpTENKeVpYTnZiSFpsVjJsMGFDSXNJbkJ5YjJObGMzTWlMQ0psZUdObGNIUnBiMjVJYjI5cklpd2ljM1JoWTJ0VWNtRmpaU0lzSW5KbGFtVmpkRmRwZEdnaUxDSm5aWFJUZEdGamEwaHZiMnNpTENKelpYUlVhVzFsYjNWMElpd2ljM1JoZEdWVGRISnBibWNpTENKM2FHVnVJaXdpYzJsdVoyeGxWbUZzZFdVaUxDSnlaVzFoYVc1cGJtY2lMQ0p5WlhOdmJIWmxRMjl1ZEdWNGRITWlMQ0p5WlhOdmJIWmxWbUZzZFdWeklpd2ljSEpwYldGeWVTSXNJblZ3WkdGMFpVWjFibU1pTENKeVpYSnliM0pPWVcxbGN5SXNJbk4wWVdOcklpd2lZMjl1YzI5c1pTSXNJbmRoY200aUxDSnRaWE56WVdkbElpd2ljbVZoWkhsRmVHTmxjSFJwYjI0aUxDSnlaV0ZrZVV4cGMzUWlMQ0pqYjIxd2JHVjBaV1FpTENKeVpXMXZkbVZGZG1WdWRFeHBjM1JsYm1WeUlpd2ljbVZoWkhsWFlXbDBJaXdpZDJGcGRDSXNJbkpsWVdSNVUzUmhkR1VpTENKa2IxTmpjbTlzYkNJc0ltRmpZMlZ6Y3lJc0ltTm9ZV2x1WVdKc1pTSXNJbVZ0Y0hSNVIyVjBJaXdpY21GM0lpd2lZblZzYXlJc0lsOXJaWGtpTENKeWJYTlFjbVZtYVhnaUxDSnlaR0Z6YUVGc2NHaGhJaXdpWm1OaGJXVnNRMkZ6WlNJc0lsOWhiR3dpTENKc1pYUjBaWElpTENKMGIxVndjR1Z5UTJGelpTSXNJbU5oYldWc1EyRnpaU0lzSW5OMGNtbHVaeUlzSW1GalkyVndkRVJoZEdFaUxDSnZkMjVsY2lJc0lrUmhkR0VpTENKMWFXUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJbU52Ym1acFozVnlZV0pzWlNJc0luTmxkQ0lzSW1SaGRHRWlMQ0p3Y205d0lpd2lhR0Z6UkdGMFlTSXNJbVJoZEdGUWNtbDJJaXdpWkdGMFlWVnpaWElpTENKeVluSmhZMlVpTENKeWJYVnNkR2xFWVhOb0lpd2laR0YwWVVGMGRISWlMQ0pLVTA5T0lpd2ljR0Z5YzJVaUxDSm5aWFJFWVhSaElpd2ljbVZ0YjNabFJHRjBZU0lzSWw5a1lYUmhJaXdpWDNKbGJXOTJaVVJoZEdFaUxDSmtaWEYxWlhWbElpd2ljM1JoY25STVpXNW5kR2dpTENKb2IyOXJjeUlzSWw5eGRXVjFaVWh2YjJ0eklpd2ljM1J2Y0NJc0luTmxkSFJsY2lJc0ltTnNaV0Z5VVhWbGRXVWlMQ0pqYjNWdWRDSXNJbVJsWm1WeUlpd2ljRzUxYlNJc0luTnZkWEpqWlNJc0luSmpjM05PZFcwaUxDSmpjM05GZUhCaGJtUWlMQ0pwYzBGMGRHRmphR1ZrSWl3aVkyOXRjRzl6WldRaUxDSm5aWFJTYjI5MFRtOWtaU0lzSW1selNHbGtaR1Z1VjJsMGFHbHVWSEpsWlNJc0luTjBlV3hsSWl3aVpHbHpjR3hoZVNJc0ltTnpjeUlzSW1Ga2FuVnpkRU5UVXlJc0luWmhiSFZsVUdGeWRITWlMQ0owZDJWbGJpSXNJbUZrYW5WemRHVmtJaXdpYzJOaGJHVWlMQ0p0WVhoSmRHVnlZWFJwYjI1eklpd2lZM1Z5Y21WdWRGWmhiSFZsSWl3aWFXNXBkR2xoYkNJc0luVnVhWFFpTENKamMzTk9kVzFpWlhJaUxDSnBibWwwYVdGc1NXNVZibWwwSWl3aVpHVm1ZWFZzZEVScGMzQnNZWGxOWVhBaUxDSm5aWFJFWldaaGRXeDBSR2x6Y0d4aGVTSXNJbUp2WkhraUxDSnphRzkzU0dsa1pTSXNJbk5vYjNjaUxDSjJZV3gxWlhNaUxDSm9hV1JsSWl3aWRHOW5aMnhsSWl3aVpHbDJJaXdpY21Ob1pXTnJZV0pzWlZSNWNHVWlMQ0p5ZEdGblRtRnRaU0lzSW5KelkzSnBjSFJVZVhCbElpd2lZM0psWVhSbFJHOWpkVzFsYm5SR2NtRm5iV1Z1ZENJc0ltTm9aV05yUTJ4dmJtVWlMQ0pqYkc5dVpVNXZaR1VpTENKdWIwTnNiMjVsUTJobFkydGxaQ0lzSW05d2RHbHZiaUlzSW5keVlYQk5ZWEFpTENKMGFHVmhaQ0lzSW1OdmJDSXNJblJ5SWl3aWRHUWlMQ0pmWkdWbVlYVnNkQ0lzSW1kbGRFRnNiQ0lzSW5ObGRFZHNiMkpoYkVWMllXd2lMQ0p5WldaRmJHVnRaVzUwY3lJc0luUmliMlI1SWl3aWRHWnZiM1FpTENKamIyeG5jbTkxY0NJc0ltTmhjSFJwYjI0aUxDSjBhQ0lzSW05d2RHZHliM1Z3SWl3aVluVnBiR1JHY21GbmJXVnVkQ0lzSW5OamNtbHdkSE1pTENKelpXeGxZM1JwYjI0aUxDSnBaMjV2Y21Wa0lpd2lkM0poY0NJc0ltRjBkR0ZqYUdWa0lpd2labkpoWjIxbGJuUWlMQ0p1YjJSbGN5SXNJbWgwYld4UWNtVm1hV3gwWlhJaUxDSmpjbVZoZEdWVVpYaDBUbTlrWlNJc0luSjBlWEJsYm1GdFpYTndZV05sSWl3aWNtVjBkWEp1VkhKMVpTSXNJbkpsZEhWeWJrWmhiSE5sSWl3aVpYaHdaV04wVTNsdVl5SXNJbVZ5Y2lJc0luTmhabVZCWTNScGRtVkZiR1Z0Wlc1MElpd2liMjRpTENKMGVYQmxjeUlzSW05dVpTSXNJbTl5YVdkR2JpSXNJbVYyWlc1MElpd2liMlptSWl3aWJHVjJaWEpoWjJWT1lYUnBkbVVpTENKdWIzUkJjM2x1WXlJc0luTmhkbVZrSWl3aWFYTlVjbWxuWjJWeUlpd2laR1ZzWldkaGRHVlVlWEJsSWl3aWMzUnZjRkJ5YjNCaFoyRjBhVzl1SWl3aWMzUnZjRWx0YldWa2FXRjBaVkJ5YjNCaFoyRjBhVzl1SWl3aWNISmxkbVZ1ZEVSbFptRjFiSFFpTENKMGNtbG5aMlZ5SWl3aVJYWmxiblFpTENKb1lXNWtiR1ZQWW1wSmJpSXNJbVYyWlc1MFNHRnVaR3hsSWl3aVpYWmxiblJ6SWl3aWRDSXNJbWhoYm1Sc1pVOWlhaUlzSW1oaGJtUnNaWEp6SWl3aWJtRnRaWE53WVdObGN5SXNJbTl5YVdkVWVYQmxJaXdpWld4bGJVUmhkR0VpTENKamNtVmhkR1VpTENKb1lXNWtiR1VpTENKMGNtbG5aMlZ5WldRaUxDSmthWE53WVhSamFDSXNJbUpwYm1SVWVYQmxJaXdpWkdWc1pXZGhkR1ZEYjNWdWRDSXNJbk5sZEhWd0lpd2liV0Z3Y0dWa1ZIbHdaWE1pTENKdmNtbG5RMjkxYm5RaUxDSjBaV0Z5Wkc5M2JpSXNJbkpsYlc5MlpVVjJaVzUwSWl3aWJtRjBhWFpsUlhabGJuUWlMQ0pvWVc1a2JHVnlVWFZsZFdVaUxDSm1hWGdpTENKa1pXeGxaMkYwWlZSaGNtZGxkQ0lzSW5CeVpVUnBjM0JoZEdOb0lpd2lhWE5RY205d1lXZGhkR2x2YmxOMGIzQndaV1FpTENKamRYSnlaVzUwVkdGeVoyVjBJaXdpYVhOSmJXMWxaR2xoZEdWUWNtOXdZV2RoZEdsdmJsTjBiM0J3WldRaUxDSnlibUZ0WlhOd1lXTmxJaXdpY0c5emRFUnBjM0JoZEdOb0lpd2liV0YwWTJobFpFaGhibVJzWlhKeklpd2liV0YwWTJobFpGTmxiR1ZqZEc5eWN5SXNJbUZrWkZCeWIzQWlMQ0pvYjI5cklpd2laVzUxYldWeVlXSnNaU0lzSW05eWFXZHBibUZzUlhabGJuUWlMQ0ozY21sMFlXSnNaU0lzSW14dllXUWlMQ0p1YjBKMVltSnNaU0lzSW1Oc2FXTnJJaXdpWW1WbWIzSmxkVzVzYjJGa0lpd2ljbVYwZFhKdVZtRnNkV1VpTENKd2NtOXdjeUlzSW1selJHVm1ZWFZzZEZCeVpYWmxiblJsWkNJc0ltUmxabUYxYkhSUWNtVjJaVzUwWldRaUxDSnlaV3hoZEdWa1ZHRnlaMlYwSWl3aWRHbHRaVk4wWVcxd0lpd2libTkzSWl3aWFYTlRhVzExYkdGMFpXUWlMQ0poYkhSTFpYa2lMQ0ppZFdKaWJHVnpJaXdpWTJGdVkyVnNZV0pzWlNJc0ltTm9ZVzVuWldSVWIzVmphR1Z6SWl3aVkzUnliRXRsZVNJc0ltUmxkR0ZwYkNJc0ltVjJaVzUwVUdoaGMyVWlMQ0p0WlhSaFMyVjVJaXdpY0dGblpWZ2lMQ0p3WVdkbFdTSXNJbk5vYVdaMFMyVjVJaXdpZG1sbGR5SXNJbU5vWVhJaUxDSmphR0Z5UTI5a1pTSXNJbXRsZVVOdlpHVWlMQ0ppZFhSMGIyNXpJaXdpWTJ4cFpXNTBXQ0lzSW1Oc2FXVnVkRmtpTENKdlptWnpaWFJZSWl3aWIyWm1jMlYwV1NJc0luQnZhVzUwWlhKSlpDSXNJbkJ2YVc1MFpYSlVlWEJsSWl3aWMyTnlaV1Z1V0NJc0luTmpjbVZsYmxraUxDSjBZWEpuWlhSVWIzVmphR1Z6SWl3aWRHOUZiR1Z0Wlc1MElpd2lkRzkxWTJobGN5SXNJbmRvYVdOb0lpd2lZbXgxY2lJc0ltMXZkWE5sWlc1MFpYSWlMQ0p0YjNWelpXeGxZWFpsSWl3aWNHOXBiblJsY21WdWRHVnlJaXdpY0c5cGJuUmxjbXhsWVhabElpd2liM0pwWnlJc0luSmxiR0YwWldRaUxDSnlibTlKYm01bGNtaDBiV3dpTENKeVkyaGxZMnRsWkNJc0luSmpiR1ZoYmxOamNtbHdkQ0lzSW0xaGJtbHdkV3hoZEdsdmJsUmhjbWRsZENJc0ltUnBjMkZpYkdWVFkzSnBjSFFpTENKeVpYTjBiM0psVTJOeWFYQjBJaXdpWTJ4dmJtVkRiM0I1UlhabGJuUWlMQ0prWlhOMElpd2lkV1JoZEdGUGJHUWlMQ0oxWkdGMFlVTjFjaUlzSW1SdmJVMWhibWx3SWl3aVkyOXNiR1ZqZEdsdmJpSXNJbWhoYzFOamNtbHdkSE1pTENKcFRtOURiRzl1WlNJc0luWmhiSFZsU1hOR2RXNWpkR2x2YmlJc0ltaDBiV3dpTENKZlpYWmhiRlZ5YkNJc0ltdGxaWEJFWVhSaElpd2lZMnhsWVc1RVlYUmhJaXdpWkdGMFlVRnVaRVYyWlc1MGN5SXNJbVJsWlhCRVlYUmhRVzVrUlhabGJuUnpJaXdpYzNKalJXeGxiV1Z1ZEhNaUxDSmtaWE4wUld4bGJXVnVkSE1pTENKcGJsQmhaMlVpTENKa1pYUmhZMmdpTENKaGNIQmxibVFpTENKd2NtVndaVzVrSWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpWW1WbWIzSmxJaXdpWVdaMFpYSWlMQ0p5WlhCc1lXTmxWMmwwYUNJc0luSmxjR3hoWTJWRGFHbHNaQ0lzSW1Gd2NHVnVaRlJ2SWl3aWNISmxjR1Z1WkZSdklpd2lhVzV6WlhKMFFXWjBaWElpTENKeVpYQnNZV05sUVd4c0lpd2liM0pwWjJsdVlXd2lMQ0pwYm5ObGNuUWlMQ0p5Ym5WdGJtOXVjSGdpTENKblpYUlRkSGxzWlhNaUxDSnZjR1Z1WlhJaUxDSm5aWFJEYjIxd2RYUmxaRk4wZVd4bElpd2ljM2RoY0NJc0ltOXNaQ0lzSW5KaWIzaFRkSGxzWlNJc0ltTjFja05UVXlJc0ltTnZiWEIxZEdWa0lpd2lkMmxrZEdnaUxDSnRhVzVYYVdSMGFDSXNJbTFoZUZkcFpIUm9JaXdpWjJWMFVISnZjR1Z5ZEhsV1lXeDFaU0lzSW5CcGVHVnNRbTk0VTNSNWJHVnpJaXdpWVdSa1IyVjBTRzl2YTBsbUlpd2lZMjl1WkdsMGFXOXVSbTRpTENKb2IyOXJSbTRpTENKamIyMXdkWFJsVTNSNWJHVlVaWE4wY3lJc0ltTnZiblJoYVc1bGNpSXNJbU56YzFSbGVIUWlMQ0prYVhaVGRIbHNaU0lzSW5CcGVHVnNVRzl6YVhScGIyNVdZV3dpTENKeVpXeHBZV0pzWlUxaGNtZHBia3hsWm5SV1lXd2lMQ0p5YjNWdVpGQnBlR1ZzVFdWaGMzVnlaWE1pTENKdFlYSm5hVzVNWldaMElpd2ljbWxuYUhRaUxDSndhWGhsYkVKdmVGTjBlV3hsYzFaaGJDSXNJbUp2ZUZOcGVtbHVaMUpsYkdsaFlteGxWbUZzSWl3aWNHOXphWFJwYjI0aUxDSnpZM0p2Ykd4aWIzaFRhWHBsVm1Gc0lpd2liMlptYzJWMFYybGtkR2dpTENKdFpXRnpkWEpsSWl3aWNtOTFibVFpTENKd1lYSnpaVVpzYjJGMElpd2ljbVZzYVdGaWJHVlVja1JwYldWdWMybHZibk5XWVd3aUxDSmlZV05yWjNKdmRXNWtRMnhwY0NJc0ltTnNaV0Z5UTJ4dmJtVlRkSGxzWlNJc0ltSnZlRk5wZW1sdVoxSmxiR2xoWW14bElpd2ljR2w0Wld4UWIzTnBkR2x2YmlJc0luSmxiR2xoWW14bFRXRnlaMmx1VEdWbWRDSXNJbk5qY205c2JHSnZlRk5wZW1VaUxDSnlaV3hwWVdKc1pWUnlSR2x0Wlc1emFXOXVjeUlzSW5SaFlteGxJaXdpZEhKRGFHbHNaQ0lzSW5SeVUzUjViR1VpTENKb1pXbG5hSFFpTENKd1lYSnpaVWx1ZENJc0ltSnZjbVJsY2xSdmNGZHBaSFJvSWl3aVltOXlaR1Z5UW05MGRHOXRWMmxrZEdnaUxDSnZabVp6WlhSSVpXbG5hSFFpTENKamMzTlFjbVZtYVhobGN5SXNJbVZ0Y0hSNVUzUjViR1VpTENKMlpXNWtiM0pRY205d2N5SXNJbVpwYm1Gc1VISnZjRTVoYldVaUxDSm1hVzVoYkNJc0ltTnpjMUJ5YjNCeklpd2lZMkZ3VG1GdFpTSXNJblpsYm1SdmNsQnliM0JPWVcxbElpd2ljbVJwYzNCc1lYbHpkMkZ3SWl3aWNtTjFjM1J2YlZCeWIzQWlMQ0pqYzNOVGFHOTNJaXdpZG1semFXSnBiR2wwZVNJc0ltTnpjMDV2Y20xaGJGUnlZVzV6Wm05eWJTSXNJbXhsZEhSbGNsTndZV05wYm1jaUxDSm1iMjUwVjJWcFoyaDBJaXdpYzJWMFVHOXphWFJwZG1WT2RXMWlaWElpTENKemRXSjBjbUZqZENJc0ltMWhlQ0lzSW1KdmVFMXZaR1ZzUVdScWRYTjBiV1Z1ZENJc0ltUnBiV1Z1YzJsdmJpSXNJbUp2ZUNJc0ltbHpRbTl5WkdWeVFtOTRJaXdpYzNSNWJHVnpJaXdpWTI5dGNIVjBaV1JXWVd3aUxDSmxlSFJ5WVNJc0ltUmxiSFJoSWl3aVkyVnBiQ0lzSW1kbGRGZHBaSFJvVDNKSVpXbG5hSFFpTENKMllXeDFaVWx6UW05eVpHVnlRbTk0SWl3aWIyWm1jMlYwVUhKdmNDSXNJbWRsZEVOc2FXVnVkRkpsWTNSeklpd2lWSGRsWlc0aUxDSmxZWE5wYm1jaUxDSmpjM05JYjI5cmN5SXNJbTl3WVdOcGRIa2lMQ0poYm1sdFlYUnBiMjVKZEdWeVlYUnBiMjVEYjNWdWRDSXNJbU52YkhWdGJrTnZkVzUwSWl3aVptbHNiRTl3WVdOcGRIa2lMQ0ptYkdWNFIzSnZkeUlzSW1ac1pYaFRhSEpwYm1zaUxDSm5jbWxrUVhKbFlTSXNJbWR5YVdSRGIyeDFiVzRpTENKbmNtbGtRMjlzZFcxdVJXNWtJaXdpWjNKcFpFTnZiSFZ0YmxOMFlYSjBJaXdpWjNKcFpGSnZkeUlzSW1keWFXUlNiM2RGYm1RaUxDSm5jbWxrVW05M1UzUmhjblFpTENKc2FXNWxTR1ZwWjJoMElpd2liM0prWlhJaUxDSnZjbkJvWVc1eklpd2lkMmxrYjNkeklpd2lla2x1WkdWNElpd2llbTl2YlNJc0ltOXlhV2RPWVcxbElpd2lhWE5EZFhOMGIyMVFjbTl3SWl3aWMyVjBVSEp2Y0dWeWRIa2lMQ0pwYzBacGJtbDBaU0lzSW1kbGRFSnZkVzVrYVc1blEyeHBaVzUwVW1WamRDSXNJbk5qY205c2JHSnZlRk5wZW1WQ2RXZG5lU0lzSW14bFpuUWlMQ0p0WVhKbmFXNGlMQ0p3WVdSa2FXNW5JaXdpWW05eVpHVnlJaXdpY0hKbFptbDRJaXdpYzNWbVptbDRJaXdpWlhod1lXNWtJaXdpWlhod1lXNWtaV1FpTENKd1lYSjBjeUlzSW5CeWIzQkliMjlyY3lJc0luSjFiaUlzSW5CbGNtTmxiblFpTENKbFlYTmxaQ0lzSW1SMWNtRjBhVzl1SWl3aWNHOXpJaXdpYzNSbGNDSXNJbVo0SWl3aWMyTnliMnhzVkc5d0lpd2ljMk55YjJ4c1RHVm1kQ0lzSW14cGJtVmhjaUlzSW5BaUxDSnpkMmx1WnlJc0ltTnZjeUlzSWxCSklpd2labmhPYjNjaUxDSnBibEJ5YjJkeVpYTnpJaXdpY21aNGRIbHdaWE1pTENKeWNuVnVJaXdpYzJOb1pXUjFiR1VpTENKb2FXUmtaVzRpTENKeVpYRjFaWE4wUVc1cGJXRjBhVzl1Um5KaGJXVWlMQ0pwYm5SbGNuWmhiQ0lzSW5ScFkyc2lMQ0pqY21WaGRHVkdlRTV2ZHlJc0ltZGxia1o0SWl3aWFXNWpiSFZrWlZkcFpIUm9JaXdpWTNKbFlYUmxWSGRsWlc0aUxDSmhibWx0WVhScGIyNGlMQ0pCYm1sdFlYUnBiMjRpTENKMGQyVmxibVZ5Y3lJc0luQnliM0JsY25ScFpYTWlMQ0p6ZEc5d2NHVmtJaXdpY0hKbFptbHNkR1Z5Y3lJc0ltTjFjbkpsYm5SVWFXMWxJaXdpYzNSaGNuUlVhVzFsSWl3aWRIZGxaVzV6SWl3aWIzQjBjeUlzSW5Od1pXTnBZV3hGWVhOcGJtY2lMQ0p2Y21sbmFXNWhiRkJ5YjNCbGNuUnBaWE1pTENKdmNtbG5hVzVoYkU5d2RHbHZibk1pTENKbmIzUnZSVzVrSWl3aWNISnZjRVpwYkhSbGNpSXNJbUpwYm1RaUxDSmpiMjF3YkdWMFpTSXNJblJwYldWeUlpd2lZVzVwYlNJc0lpb2lMQ0owZDJWbGJtVnlJaXdpYjJ4a1ptbHlaU0lzSW5CeWIzQlVkMlZsYmlJc0luSmxjM1J2Y21WRWFYTndiR0Y1SWl3aWFYTkNiM2dpTENKa1lYUmhVMmh2ZHlJc0luVnVjWFZsZFdWa0lpd2liM1psY21ac2IzY2lMQ0p2ZG1WeVpteHZkMWdpTENKdmRtVnlabXh2ZDFraUxDSndjbVZtYVd4MFpYSWlMQ0p6Y0dWbFpDSXNJbTl3ZENJc0luTndaV1ZrY3lJc0ltWmhaR1ZVYnlJc0luUnZJaXdpWVc1cGJXRjBaU0lzSW05d2RHRnNiQ0lzSW1SdlFXNXBiV0YwYVc5dUlpd2labWx1YVhOb0lpd2ljM1J2Y0ZGMVpYVmxJaXdpZEdsdFpYSnpJaXdpWTNOelJtNGlMQ0p6Ykdsa1pVUnZkMjRpTENKemJHbGtaVlZ3SWl3aWMyeHBaR1ZVYjJkbmJHVWlMQ0ptWVdSbFNXNGlMQ0ptWVdSbFQzVjBJaXdpWm1Ga1pWUnZaMmRzWlNJc0luTnNiM2NpTENKbVlYTjBJaXdpWkdWc1lYa2lMQ0owYVcxbElpd2lkR2x0Wlc5MWRDSXNJbU5zWldGeVZHbHRaVzkxZENJc0ltTm9aV05yVDI0aUxDSnZjSFJUWld4bFkzUmxaQ0lzSW5KaFpHbHZWbUZzZFdVaUxDSmliMjlzU0c5dmF5SXNJbkpsYlc5MlpVRjBkSElpTENKdVZIbHdaU0lzSW1GMGRISkliMjlyY3lJc0ltRjBkSEpPWVcxbGN5SXNJbWRsZEhSbGNpSXNJbXh2ZDJWeVkyRnpaVTVoYldVaUxDSnlabTlqZFhOaFlteGxJaXdpY21Oc2FXTnJZV0pzWlNJc0luTjBjbWx3UVc1a1EyOXNiR0Z3YzJVaUxDSm5aWFJEYkdGemN5SXNJbU5zWVhOelpYTlViMEZ5Y21GNUlpd2ljbVZ0YjNabFVISnZjQ0lzSW5CeWIzQkdhWGdpTENKMFlXSnBibVJsZUNJc0ltWnZjaUlzSW1Oc1lYTnpJaXdpWVdSa1EyeGhjM01pTENKamJHRnpjMlZ6SWl3aVkzVnlWbUZzZFdVaUxDSmpiR0Y2ZWlJc0ltWnBibUZzVm1Gc2RXVWlMQ0p5WlcxdmRtVkRiR0Z6Y3lJc0luUnZaMmRzWlVOc1lYTnpJaXdpYzNSaGRHVldZV3dpTENKcGMxWmhiR2xrVm1Gc2RXVWlMQ0pqYkdGemMwNWhiV1Z6SWl3aWFHRnpRMnhoYzNNaUxDSnljbVYwZFhKdUlpd2lkbUZzU0c5dmEzTWlMQ0p2Y0hScGIyNVRaWFFpTENKbWIyTjFjMmx1SWl3aWNtWnZZM1Z6VFc5eWNHZ2lMQ0p6ZEc5d1VISnZjR0ZuWVhScGIyNURZV3hzWW1GamF5SXNJbTl1YkhsSVlXNWtiR1Z5Y3lJc0ltSjFZbUpzWlZSNWNHVWlMQ0p2Ym5SNWNHVWlMQ0pzWVhOMFJXeGxiV1Z1ZENJc0ltVjJaVzUwVUdGMGFDSXNJbkJoY21WdWRGZHBibVJ2ZHlJc0luTnBiWFZzWVhSbElpd2lkSEpwWjJkbGNraGhibVJzWlhJaUxDSmhkSFJoWTJobGN5SXNJbkp4ZFdWeWVTSXNJbkJoY25ObFdFMU1JaXdpY0dGeWMyVnlSWEp5YjNKRmJHVnRJaXdpUkU5TlVHRnljMlZ5SWl3aWNHRnljMlZHY205dFUzUnlhVzVuSWl3aWNtSnlZV05yWlhRaUxDSnlRMUpNUmlJc0luSnpkV0p0YVhSMFpYSlVlWEJsY3lJc0luSnpkV0p0YVhSMFlXSnNaU0lzSW1KMWFXeGtVR0Z5WVcxeklpd2lkSEpoWkdsMGFXOXVZV3dpTENKd1lYSmhiU0lzSW5NaUxDSjJZV3gxWlU5eVJuVnVZM1JwYjI0aUxDSmxibU52WkdWVlVrbERiMjF3YjI1bGJuUWlMQ0p6WlhKcFlXeHBlbVVpTENKelpYSnBZV3hwZW1WQmNuSmhlU0lzSW5JeU1DSXNJbkpvWVhOb0lpd2ljbUZ1ZEdsRFlXTm9aU0lzSW5Kb1pXRmtaWEp6SWl3aWNtNXZRMjl1ZEdWdWRDSXNJbkp3Y205MGIyTnZiQ0lzSW5SeVlXNXpjRzl5ZEhNaUxDSmhiR3hVZVhCbGN5SXNJbTl5YVdkcGJrRnVZMmh2Y2lJc0ltRmtaRlJ2VUhKbFptbHNkR1Z5YzA5eVZISmhibk53YjNKMGN5SXNJbk4wY25WamRIVnlaU0lzSW1SaGRHRlVlWEJsUlhod2NtVnpjMmx2YmlJc0ltUmhkR0ZVZVhCbElpd2laR0YwWVZSNWNHVnpJaXdpYVc1emNHVmpkRkJ5WldacGJIUmxjbk5QY2xSeVlXNXpjRzl5ZEhNaUxDSnFjVmhJVWlJc0ltbHVjM0JsWTNSbFpDSXNJbk5sWld0cGJtZFVjbUZ1YzNCdmNuUWlMQ0pwYm5Od1pXTjBJaXdpY0hKbFptbHNkR1Z5VDNKR1lXTjBiM0o1SWl3aVpHRjBZVlI1Y0dWUGNsUnlZVzV6Y0c5eWRDSXNJbUZxWVhoRmVIUmxibVFpTENKbWJHRjBUM0IwYVc5dWN5SXNJbUZxWVhoVFpYUjBhVzVuY3lJc0ltRmpkR2wyWlNJc0lteGhjM1JOYjJScFptbGxaQ0lzSW1WMFlXY2lMQ0oxY213aUxDSnBjMHh2WTJGc0lpd2ljSEp2ZEc5amIyd2lMQ0p3Y205alpYTnpSR0YwWVNJc0ltRnplVzVqSWl3aVkyOXVkR1Z1ZEZSNWNHVWlMQ0poWTJObGNIUnpJaXdpYW5OdmJpSXNJbkpsYzNCdmJuTmxSbWxsYkdSeklpd2lZMjl1ZG1WeWRHVnljeUlzSWlvZ2RHVjRkQ0lzSW5SbGVIUWdhSFJ0YkNJc0luUmxlSFFnYW5OdmJpSXNJblJsZUhRZ2VHMXNJaXdpWVdwaGVGTmxkSFZ3SWl3aWMyVjBkR2x1WjNNaUxDSmhhbUY0VUhKbFptbHNkR1Z5SWl3aVlXcGhlRlJ5WVc1emNHOXlkQ0lzSW1GcVlYZ2lMQ0owY21GdWMzQnZjblFpTENKallXTm9aVlZTVENJc0luSmxjM0J2Ym5ObFNHVmhaR1Z5YzFOMGNtbHVaeUlzSW5KbGMzQnZibk5sU0dWaFpHVnljeUlzSW5ScGJXVnZkWFJVYVcxbGNpSXNJblZ5YkVGdVkyaHZjaUlzSW1acGNtVkhiRzlpWVd4eklpd2lkVzVqWVdOb1pXUWlMQ0pqWVd4c1ltRmphME52Ym5SbGVIUWlMQ0puYkc5aVlXeEZkbVZ1ZEVOdmJuUmxlSFFpTENKamIyMXdiR1YwWlVSbFptVnljbVZrSWl3aWMzUmhkSFZ6UTI5a1pTSXNJbkpsY1hWbGMzUklaV0ZrWlhKeklpd2ljbVZ4ZFdWemRFaGxZV1JsY25OT1lXMWxjeUlzSW5OMGNrRmliM0owSWl3aVoyVjBVbVZ6Y0c5dWMyVklaV0ZrWlhJaUxDSm5aWFJCYkd4U1pYTndiMjV6WlVobFlXUmxjbk1pTENKelpYUlNaWEYxWlhOMFNHVmhaR1Z5SWl3aWIzWmxjbkpwWkdWTmFXMWxWSGx3WlNJc0ltMXBiV1ZVZVhCbElpd2ljM1JoZEhWeklpd2lZV0p2Y25RaUxDSnpkR0YwZFhOVVpYaDBJaXdpWm1sdVlXeFVaWGgwSWl3aVkzSnZjM05FYjIxaGFXNGlMQ0pvYjNOMElpd2lhR0Z6UTI5dWRHVnVkQ0lzSW1sbVRXOWthV1pwWldRaUxDSm9aV0ZrWlhKeklpd2lZbVZtYjNKbFUyVnVaQ0lzSW5OMVkyTmxjM01pTENKelpXNWtJaXdpYm1GMGFYWmxVM1JoZEhWelZHVjRkQ0lzSW5KbGMzQnZibk5sY3lJc0ltbHpVM1ZqWTJWemN5SXNJbkpsYzNCdmJuTmxJaXdpYlc5a2FXWnBaV1FpTENKamRDSXNJbVpwYm1Gc1JHRjBZVlI1Y0dVaUxDSm1hWEp6ZEVSaGRHRlVlWEJsSWl3aVlXcGhlRWhoYm1Sc1pWSmxjM0J2Ym5ObGN5SXNJbU52Ym5ZeUlpd2lZM1Z5Y21WdWRDSXNJbU52Ym5ZaUxDSmtZWFJoUm1sc2RHVnlJaXdpZEdoeWIzZHpJaXdpWVdwaGVFTnZiblpsY25RaUxDSm5aWFJLVTA5T0lpd2laMlYwVTJOeWFYQjBJaXdpZEdWNGRDQnpZM0pwY0hRaUxDSjNjbUZ3UVd4c0lpd2labWx5YzNSRmJHVnRaVzUwUTJocGJHUWlMQ0ozY21Gd1NXNXVaWElpTENKb2RHMXNTWE5HZFc1amRHbHZiaUlzSW5WdWQzSmhjQ0lzSW5acGMybGliR1VpTENKNGFISWlMQ0pZVFV4SWRIUndVbVZ4ZFdWemRDSXNJbmhvY2xOMVkyTmxjM05UZEdGMGRYTWlMQ0l3SWl3aU1USXlNeUlzSW5ob2NsTjFjSEJ2Y25SbFpDSXNJbU52Y25NaUxDSmxjbkp2Y2tOaGJHeGlZV05ySWl3aWIzQmxiaUlzSW5WelpYSnVZVzFsSWl3aWVHaHlSbWxsYkdSeklpd2liMjVzYjJGa0lpd2liMjVsY25KdmNpSXNJbTl1WVdKdmNuUWlMQ0p2Ym5ScGJXVnZkWFFpTENKdmJuSmxZV1I1YzNSaGRHVmphR0Z1WjJVaUxDSnlaWE53YjI1elpWUjVjR1VpTENKeVpYTndiMjV6WlZSbGVIUWlMQ0ppYVc1aGNua2lMQ0p6WTNKcGNIUkJkSFJ5Y3lJc0ltTm9ZWEp6WlhRaUxDSnpZM0pwY0hSRGFHRnljMlYwSWl3aVpYWjBJaXdpYjJ4a1EyRnNiR0poWTJ0eklpd2ljbXB6YjI1d0lpd2lhbk52Ym5BaUxDSnFjMjl1Y0VOaGJHeGlZV05ySWl3aWIzSnBaMmx1WVd4VFpYUjBhVzVuY3lJc0ltTmhiR3hpWVdOclRtRnRaU0lzSW05MlpYSjNjbWwwZEdWdUlpd2ljbVZ6Y0c5dWMyVkRiMjUwWVdsdVpYSWlMQ0pxYzI5dVVISnZjQ0lzSW1OeVpXRjBaVWhVVFV4RWIyTjFiV1Z1ZENJc0ltbHRjR3hsYldWdWRHRjBhVzl1SWl3aWEyVmxjRk5qY21sd2RITWlMQ0p3WVhKelpXUWlMQ0p3WVhKaGJYTWlMQ0poYm1sdFlYUmxaQ0lzSW05bVpuTmxkQ0lzSW5ObGRFOW1abk5sZENJc0ltTjFjbEJ2YzJsMGFXOXVJaXdpWTNWeVRHVm1kQ0lzSW1OMWNrTlRVMVJ2Y0NJc0ltTjFjbFJ2Y0NJc0ltTjFjazltWm5ObGRDSXNJbU4xY2tOVFUweGxablFpTENKamRYSkZiR1Z0SWl3aWRYTnBibWNpTENKeVpXTjBJaXdpZDJsdUlpd2ljR0ZuWlZsUFptWnpaWFFpTENKd1lXZGxXRTltWm5ObGRDSXNJbTltWm5ObGRGQmhjbVZ1ZENJc0luQmhjbVZ1ZEU5bVpuTmxkQ0lzSW5OamNtOXNiRlJ2SWl3aVNHVnBaMmgwSWl3aVYybGtkR2dpTENJaUxDSmtaV1poZFd4MFJYaDBjbUVpTENKbWRXNWpUbUZ0WlNJc0luVnVZbWx1WkNJc0ltUmxiR1ZuWVhSbElpd2lkVzVrWld4bFoyRjBaU0lzSW1odmRtVnlJaXdpWm01UGRtVnlJaXdpWm01UGRYUWlMQ0p3Y205NGVTSXNJbWh2YkdSU1pXRmtlU0lzSW1odmJHUWlMQ0p3WVhKelpVcFRUMDRpTENKcGMwNTFiV1Z5YVdNaUxDSnBjMDVoVGlJc0luUnlhVzBpTENKa1pXWnBibVVpTENKaGJXUWlMQ0pmYWxGMVpYSjVJaXdpWHlRaUxDSWtJaXdpYm05RGIyNW1iR2xqZENKZExDSnRZWEJ3YVc1bmN5STZJa05CWVVFc1UwRkJXVUVzUlVGQlVVTXNSMEZGYmtJc1lVRkZkVUlzYVVKQlFWaERMRkZCUVdsRUxHbENRVUZ1UWtFc1QwRkJUME1zVVVGVGFFUkVMRTlCUVU5RExGRkJRVlZJTEVWQlFVOUpMRk5CUTNaQ1NDeEZRVUZUUkN4SFFVRlJMRWRCUTJwQ0xGTkJRVlZMTEVkQlExUXNTVUZCVFVFc1JVRkJSVVFzVTBGRFVDeE5RVUZOTEVsQlFVbEZMRTFCUVU4c05FTkJSV3hDTEU5QlFVOU1MRVZCUVZOSkxFbEJSMnhDU2l4RlFVRlRSQ3hIUVhSQ1dDeERRVEJDZFVJc2IwSkJRVmhQTEU5QlFYbENRU3hQUVVGVFF5eExRVUZOTEZOQlFWVkVMRVZCUVZGRkxFZEJUWFJGTEdGQlJVRXNTVUZCU1VNc1JVRkJUU3hIUVVWT1F5eEZRVUZYUXl4UFFVRlBReXhsUVVWc1FrTXNSVUZCVVVvc1JVRkJTVWtzVFVGRldrTXNSVUZCVDB3c1JVRkJTVXNzUzBGQlR5eFRRVUZWUXl4SFFVTXZRaXhQUVVGUFRpeEZRVUZKU3l4TFFVRkxSU3hMUVVGTlJDeEpRVU51UWl4VFFVRlZRU3hIUVVOaUxFOUJRVTlPTEVWQlFVbFJMRTlCUVU5RExFMUJRVThzUjBGQlNVZ3NTVUZKTVVKSkxFVkJRVTlXTEVWQlFVbFZMRXRCUlZoRExFVkJRVlZZTEVWQlFVbFhMRkZCUldSRExFVkJRV0VzUjBGRllrTXNSVUZCVjBRc1JVRkJWME1zVTBGRmRFSkRMRVZCUVZOR0xFVkJRVmRITEdWQlJYQkNReXhGUVVGaFJpeEZRVUZQUkN4VFFVVndRa2tzUlVGQmRVSkVMRVZCUVZkVUxFdEJRVTFNTEZGQlJYaERaMElzUlVGQlZTeEhRVVZXUXl4RlFVRmhMRk5CUVhGQ1F5eEhRVk53UXl4TlFVRnpRaXh0UWtGQlVrRXNSMEZCT0VNc2FVSkJRV3BDUVN4RlFVRkpReXhWUVVNeFFpeHRRa0ZCWWtRc1JVRkJTVVVzVFVGSlZrTXNSVUZCVnl4VFFVRnRRa2dzUjBGRGFFTXNUMEZCWXl4TlFVRlFRU3hIUVVGbFFTeEpRVUZSUVN4RlFVRkpka0lzVVVGSmFFTklMRVZCUVZkSExFVkJRVTlJTEZOQlNXcENPRUlzUlVGQk5FSXNRMEZETDBKRExFMUJRVTBzUlVGRFRrTXNTMEZCU3l4RlFVTk1ReXhQUVVGUExFVkJRMUJETEZWQlFWVXNSMEZIV0N4VFFVRlRReXhGUVVGVFF5eEZRVUZOUXl4RlFVRk5ReXhIUVVjM1FpeEpRVUZKUXl4RlFVRkhReXhGUVVOT1F5eEhRVWhFU0N4RlFVRk5RU3hIUVVGUGRFTXNSMEZIUXpCRExHTkJRV1VzVlVGSE4wSXNSMEZFUVVRc1JVRkJUMFVzUzBGQlQxQXNSVUZEVkVNc1JVRkRTaXhKUVVGTlJTeExRVUZMVkN4SFFWbFdWU3hGUVVGTlNDeEZRVUZOUlN4SlFVRlBSaXhGUVVGTFR5eGpRVUZuUWxBc1JVRkJTMDhzWVVGQlkwd3NTMEZGTVVSRkxFVkJRVTlKTEdGQlFXTk9MRVZCUVVkRExFZEJTVE5DUml4RlFVRkpVU3hMUVVGTFF5eFpRVUZoVGl4SFFVRlRUeXhYUVVGWFF5eFpRVUZoVWl4SFFVbDZSQ3hUUVVGVFV5eEZRVUZSZUVJc1IwRkRhRUlzVDBGQldTeE5RVUZRUVN4RlFVTkhRU3hGUVVGTkxFZEJTVkVzYVVKQlFWSkJMRWRCUVcxRExHMUNRVUZTUVN4RlFVTjRRMUlzUlVGQldVTXNSVUZCVTA0c1MwRkJUV0VzUzBGQlZ5eG5Ra0ZETDBKQkxFVkJVVlFzU1VGSlEzbENMRVZCUVZNc1UwRkJWVU1zUlVGQlZVTXNSMEZKTlVJc1QwRkJUeXhKUVVGSlJpeEZRVUZQUnl4SFFVRkhReXhMUVVGTlNDeEZRVUZWUXl4SlFUQldka01zVTBGQlUwY3NSVUZCWVRsQ0xFZEJUWEpDTEVsQlFVa3JRaXhKUVVGWEwwSXNSMEZCVHl4WFFVRlpRU3hIUVVGUFFTeEZRVUZKSzBJc1QwRkROVU14UWl4RlFVRlBiVUlzUlVGQlVYaENMRWRCUldoQ0xFOUJRVXRFTEVWQlFWbERMRXRCUVZOSExFVkJRVlZJTEV0QlNYQkNMRlZCUVZSTExFZEJRU3RDTEVsQlFWZ3dRaXhIUVVOU0xHbENRVUZZUVN4SFFVRjFRa0VzUlVGQlV5eEhRVUZQUVN4RlFVRlRMRXRCUVU4dlFpeEhRWEpYYUVWNVFpeEZRVUZQUnl4SFFVRkxTQ3hGUVVGUFR5eFZRVUZaTEVOQlJ6bENReXhQUVdKVkxGRkJaVlpETEZsQlFXRlVMRVZCUjJKTkxFOUJRVkVzUlVGRlVra3NVVUZCVXl4WFFVTlNMRTlCUVU5dVJDeEZRVUZOUnl4TFFVRk5WQ3hQUVV0d1FqQkVMRWxCUVVzc1UwRkJWVU1zUjBGSFpDeFBRVUZaTEUxQlFWQkJMRVZCUTBkeVJDeEZRVUZOUnl4TFFVRk5WQ3hOUVVsaU1rUXNSVUZCVFN4RlFVRkpNMFFzUzBGQlRUSkVMRVZCUVUwelJDeExRVUZMY1VRc1VVRkJWM0pFTEV0QlFVMHlSQ3hKUVV0d1JFTXNWVUZCVnl4VFFVRlZReXhIUVVkd1FpeEpRVUZKUXl4RlFVRk5aaXhGUVVGUFowSXNUVUZCVHk5RUxFdEJRVXQzUkN4alFVRmxTeXhIUVUwMVF5eFBRVWhCUXl4RlFVRkpSU3hYUVVGaGFFVXNTMEZIVmpoRUxFZEJTVkpITEV0QlFVMHNVMEZCVlVNc1IwRkRaaXhQUVVGUGJrSXNSVUZCVDJ0Q0xFdEJRVTFxUlN4TFFVRk5hMFVzU1VGSE0wSkRMRWxCUVVzc1UwRkJWVVFzUjBGRFpDeFBRVUZQYkVVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU5dlFpeEpRVUZMYmtVc1MwRkJUU3hUUVVGVmIwVXNSVUZCVFdwRExFZEJRM2hFTEU5QlFVOHJRaXhGUVVGVGVrUXNTMEZCVFRKRUxFVkJRVTFxUXl4RlFVRkhhVU1zVDBGSmFrTTVSQ3hOUVVGUExGZEJRMDRzVDBGQlQwNHNTMEZCU3pSRUxGVkJRVmQwUkN4RlFVRk5TeXhOUVVGUFdDeExRVUZOY1VVc1lVRkhNME5ETEUxQlFVOHNWMEZEVGl4UFFVRlBkRVVzUzBGQlMzVkZMRWRCUVVrc1NVRkhha0pETEV0QlFVMHNWMEZEVEN4UFFVRlBlRVVzUzBGQlMzVkZMRWxCUVVzc1NVRkhiRUpGTEV0QlFVMHNWMEZEVEN4UFFVRlBla1VzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVTh5UWl4TFFVRk5NVVVzUzBGQlRTeFRRVUZWTWtVc1JVRkJUM2hETEVkQlF6RkVMRTlCUVZOQkxFVkJRVWtzUjBGQlRTeE5RVWx5UW5sRExFbEJRVXNzVjBGRFNpeFBRVUZQTlVVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU4eVFpeExRVUZOTVVVc1MwRkJUU3hUUVVGVk1rVXNSVUZCVDNoRExFZEJRekZFTEU5QlFVOUJMRVZCUVVrc1RVRkpZbTlETEVkQlFVa3NVMEZCVlhCRExFZEJRMklzU1VGQlNUQkRMRVZCUVUwM1JTeExRVUZMY1VRc1QwRkRaSGxDTEVkQlFVc3pReXhIUVVGTlFTeEZRVUZKTEVWQlFVa3dReXhGUVVGTkxFZEJRekZDTEU5QlFVODNSU3hMUVVGTE5FUXNWVUZCVjJ0Q0xFZEJRVXNzUjBGQlMwRXNSVUZCU1VRc1JVRkJUU3hEUVVGRk4wVXNTMEZCVFRoRkxFbEJRVkVzUzBGSE5VUkRMRWxCUVVzc1YwRkRTaXhQUVVGUEwwVXNTMEZCUzJkRkxGbEJRV05vUlN4TFFVRkxkMFFzWlVGTGFFTTFReXhMUVVGTlFTeEZRVU5PYjBVc1MwRkJUVGxGTEVWQlFVazRSU3hMUVVOV1F5eFBRVUZSTDBVc1JVRkJTU3RGTEZGQlIySnNReXhGUVVGUGJVTXNUMEZCVTI1RExFVkJRVTlITEVkQlFVZG5ReXhQUVVGVExGZEJRMnhETEVsQlFVbERMRVZCUVZORExFVkJRVTE0UkN4RlFVRkxlVVFzUlVGQlRVTXNSVUZCWVVNc1JVRkRNVU5ETEVWQlFWTnVRaXhWUVVGWExFbEJRVThzUjBGRE0wSnNReXhGUVVGSkxFVkJRMHByUWl4RlFVRlRaMElzVlVGQlZXaENMRTlCUTI1Q2IwTXNSMEZCVHl4RlFYTkNVaXhKUVc1Q2RVSXNhMEpCUVZoRUxFbEJRMWhETEVWQlFVOUVMRVZCUjFCQkxFVkJRVk51UWl4VlFVRlhiRU1zU1VGQlR5eEhRVU16UWtFc1MwRkpjMElzYVVKQlFWaHhSQ3hIUVVGM1FtNUZMRVZCUVZsdFJTeExRVU12UTBFc1JVRkJVeXhKUVVsTWNrUXNTVUZCVFd0Q0xFbEJRMVp0UXl4RlFVRlRlRVlzUzBGRFZHMURMRXRCUjA5QkxFVkJRVWxyUWl4RlFVRlJiRUlzU1VGSGJrSXNSMEZCY1VNc1QwRkJPVUpuUkN4RlFVRlZaQ3hWUVVGWGJFTXNTVUZITTBJc1NVRkJUV2xFTEV0QlFWRkVMRVZCUTJKRkxFVkJRVTlHTEVWQlFWTkRMRWRCU1VZc1kwRkJWRUVzUjBGQmQwSkpMRWxCUVZkSUxFbEJTMjVEU1N4SFFVRlJTaXhKUVVGVmRFTXNSVUZCVHpKRExHTkJRV1ZNTEV0QlF6RkRReXhGUVVGalN5eE5RVUZOUXl4UlFVRlRVQ3hOUVVNdlFucEVMRVZCUVUwMFJDeEZRVUZSU2l4SFFVbGlSeXhGUVVSSlJDeEpRVUZuUWtzc1RVRkJUVU1zVVVGQlUyaEZMRWRCUXpOQ0xFZEJRMGt3UkN4SFFVRm5RblpETEVWQlFVOHlReXhqUVVGbE9VUXNSMEZITVVOQkxFVkJSa0VzUjBGSlZEQkVMRWRCUVdNc1JVRkhaRVVzUlVGQlVVb3NSMEZCVTNKRExFVkJRVTl0UXl4UFFVRlJUeXhGUVVGTlJpeEZRVUZQUml4VFFVZDZRbEVzU1VGQlZGSXNTVUZEV0Vjc1JVRkJVVW9zUjBGQlUwTXNTVUZQY2tJc1QwRkJUMGNzUjBGSFVucERMRVZCUVU5dFF5eFBRVUZSTEVOQlIyUlpMRkZCUVZNc1ZVRnNURU1zVVVGclRITkNReXhMUVVGTFF5eFZRVUZYUXl4UlFVRlRMRTFCUVU4c1NVRkhhRVZETEZOQlFWTXNSVUZGVkVNc1RVRkJUeXhUUVVGVlF5eEhRVU5vUWl4TlFVRk5MRWxCUVVsMFJ5eE5RVUZQYzBjc1NVRkhiRUpETEV0QlFVMHNZVUZGVGxnc1kwRkJaU3hUUVVGVmNFVXNSMEZEZUVJc1NVRkJTV2RHTEVWQlFVOURMRVZCU1Znc1UwRkJUV3BHTEVkQlFXZERMRzlDUVVGNlFsQXNSVUZCVTA0c1MwRkJUV0VzVVVGSk5VSm5SaXhGUVVGUmJrY3NSVUZCVlcxQ0xFdEJVMHNzYlVKQlJIWkNhVVlzUlVGQlQzWkdMRVZCUVU5UUxFdEJRVTAyUml4RlFVRlBMR2RDUVVGdFFrRXNSVUZCVFRsRExHTkJRMlowUXl4RlFVRlhWQ3hMUVVGTk9FWXNTMEZCVjNCR0xFbEJSMnhGY1VZc1kwRkJaU3hUUVVGVmJFWXNSMEZEZUVJc1NVRkJTVGhFTEVWQlJVb3NTVUZCVFVFc1MwRkJVVGxFTEVWQlEySXNUMEZCVHl4RlFVVlNMRTlCUVU4c1IwRkxVbTFHTEZkQlFWa3NVMEZCVlhwRkxFVkJRVTF0UkN4RlFVRlRha1FzUjBGRGNFTklMRVZCUVZORExFVkJRVTBzUTBGQlJVZ3NUVUZCVDNORUxFZEJRVmRCTEVWQlFWRjBSQ3hQUVVGVFN5eEpRVWR5UkN0Q0xFdEJRVTBzVTBGQlZUTkRMRVZCUVVzMFF5eEhRVU53UWl4SlFVRkpZaXhGUVVGUmJFSXNSVUZCU1N4RlFVVm9RaXhIUVVGTGFVSXNSVUZCWVRsQ0xFZEJSV3BDTEVsQlJFRXJRaXhGUVVGVEwwSXNSVUZCU1N0Q0xFOUJRMHhzUWl4RlFVRkphMElzU1VGRGNVTXNTVUZCTTBOaExFVkJRVk42UkN4TFFVRk5ZU3hGUVVGTFlTeEhRVUZMUVN4RlFVRkhZaXhGUVVGTFlTeEpRVVJ1UWtFc1ZVRk5jRUlzU1VGQlRVRXNTMEZCUzJJc1JVRkRWaXhKUVVGblJDeEpRVUV6UXpSRExFVkJRVk42UkN4TFFVRk5ZU3hGUVVGTFlTeEhRVUZMUVN4RlFVRkhZaXhGUVVGTFlTeEpRVU55UXl4TlFVdElMRTlCUVU5aUxFZEJTVkp2Uml4VlFVRlhMRk5CUVZWNFJ5eEZRVUZMZVVjc1IwRkRla0lzU1VGQlNUZERMRVZCUVUwMlF5eEhRVUZYTEVkQllYSkNMRTlCV0Zrc1RVRkJVSHBITEVsQlEwTnJSQ3hGUVVGaGFFUXNUMEZCVVVZc1NVRkRla0kyUXl4RlFVRlBaMElzVFVGQlQwUXNSVUZEUlN4cFFrRkJValZFTEVWQlEwNHNRMEZCUlVFc1IwRkJVVUVzUjBGSFdsVXNSVUZCUzBnc1MwRkJUWEZFTEVWQlFVczFSQ3hKUVVsWU5FUXNSMEZIVWpoRExGRkJRVk1zVTBGQlZYaERMRVZCUVUxc1JTeEZRVUZMYVVNc1IwRkROMElzVDBGQll5eE5RVUZRYWtNc1IwRkJaU3hGUVVGSlZ5eEZRVUZSU2l4TFFVRk5VQ3hGUVVGTGEwVXNSVUZCVFdwRExFbEJTM0JFTkVJc1RVRkJUeXhUUVVGVlR5eEZRVUZQZFVNc1IwRkxka0lzU1VGS1FTeEpRVUZKYUVNc1IwRkJUMmRETEVWQlFVOTRSQ3hQUVVOcVFubENMRVZCUVVrc1JVRkRTak5ETEVWQlFVbHRReXhGUVVGTmFrSXNUMEZGU0hsQ0xFVkJRVWxFTEVWQlFVdERMRWxCUTJoQ1VpeEZRVUZQYmtNc1MwRkJVVEJGTEVWQlFWRXZRaXhIUVV0NFFpeFBRVVpCVWl4RlFVRk5ha0lzVDBGQlUyeENMRVZCUlZKdFF5eEhRVWRTU1N4TFFVRk5MRk5CUVZWaUxFVkJRVTlMTEVWQlFWVTBReXhIUVZOb1F5eEpRVkpCTEVsQlEwTkRMRVZCUVZVc1IwRkRWalZGTEVWQlFVa3NSVUZEU210Q0xFVkJRVk5STEVWQlFVMVNMRTlCUTJZeVJDeEhRVUZyUWtZc1JVRkpXRE5GTEVWQlFVbHJRaXhGUVVGUmJFSXNTMEZEUVN0Q0xFVkJRVlZNTEVWQlFVOHhRaXhIUVVGTFFTeExRVU5vUWpaRkxFZEJRM2hDUkN4RlFVRlJia2NzUzBGQlRXbEVMRVZCUVU4eFFpeEpRVWwyUWl4UFFVRlBORVVzUjBGSlVqVkRMRWxCUVVzc1UwRkJWVTRzUlVGQlQwc3NSVUZCVlN0RExFZEJReTlDTEVsQlFVazFSQ3hGUVVGUk5rUXNSVUZEV0M5RkxFVkJRVWtzUlVGRFNqSkNMRVZCUVUwc1IwRkhVQ3hIUVVGTFZpeEZRVUZoVXl4SFFVVnFRaXhKUVVSQlVpeEZRVUZUVVN4RlFVRk5VaXhQUVVOUWJFSXNSVUZCU1d0Q0xFVkJRVkZzUWl4SlFVZE1MRTlCUm1RclJTeEZRVUZSYUVRc1JVRkJWVXdzUlVGQlR6RkNMRWRCUVV0QkxFVkJRVWM0UlN4TFFVZG9RMjVFTEVWQlFVbHNSQ3hMUVVGTmMwY3NVVUZOV2l4SlFVRk5MMFVzUzBGQlN6QkNMRVZCUjBrc1QwRkdaSEZFTEVWQlFWRm9SQ3hGUVVGVlRDeEZRVUZQTVVJc1IwRkJTMEVzUlVGQlJ6aEZMRXRCUjJoRGJrUXNSVUZCU1d4RUxFdEJRVTF6Unl4SFFVMWlMRTlCUVU4elJ5eEZRVUZOZFVRc1NVRkpaSEZFTEV0QlFVMHNSVUZKVGk5R0xGRkJRVk5CTEVsQlIyRXNiVUpCUVZoblJ5eFRRVU5ZY2tVc1JVRkJUMGNzUjBGQlNXdEZMRTlCUVU5RExGVkJRV0Z1U0N4RlFVRkxhMGdzVDBGQlQwTXNWMEZKTlVOMFJTeEZRVUZQYTBJc1MwRkJUU3gxUlVGQmRVVnhSQ3hOUVVGUExFdEJRekZHTEZOQlFWVkRMRVZCUVVsdVF5eEhRVU5pZEVVc1JVRkJXU3hYUVVGaGMwVXNSVUZCVHl4TFFVRlJRU3hGUVVGTGIwTXNaMEpCYlVJdlF5eEpRVUZKUXl4RlFWZEtMRk5CUVZreFNDeEhRVU5hTEVsQlFVbHZReXhGUVVOSVppeEZRVU5CYzBjc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZIUVVNc1JVRkRRWFpKTEVWQlEwRjNTU3hGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOQmVFSXNSVUZEUVhsQ0xFVkJSMEV4UXl4RlFVRlZMRk5CUVZjc1JVRkJTU3hKUVVGSk1rTXNTMEZETjBKRExFVkJRV1V6U1N4RlFVRlBTQ3hUUVVOMFFpdEpMRVZCUVZVc1JVRkRWa01zUlVGQlR5eEZRVU5RUXl4RlFVRmhReXhMUVVOaVF5eEZRVUZoUkN4TFFVTmlSU3hGUVVGblFrWXNTMEZEYUVKSExFVkJRWGxDU0N4TFFVTjZRa2tzUlVGQldTeFRRVUZWUXl4RlFVRkhReXhIUVVsNFFpeFBRVWhMUkN4SlFVRk5ReXhKUVVOV2JFSXNSMEZCWlN4SFFVVlVMRWRCU1ZKc1NDeEZRVUZUTEVkQlFVOURMR1ZCUTJoQ1ppeEZRVUZOTEVkQlEwNXRTaXhGUVVGTmJrb3NSVUZCU1cxS0xFbEJRMVpETEVWQlFXRndTaXhGUVVGSlZTeExRVU5xUWtFc1JVRkJUMVlzUlVGQlNWVXNTMEZEV0U0c1JVRkJVVW9zUlVGQlNVa3NUVUZKV2s4c1JVRkJWU3hUUVVGVk1Fa3NSVUZCVFc1R0xFZEJSM3BDTEVsQlJrRXNTVUZCU1dwRExFVkJRVWtzUlVGRFVEQkRMRVZCUVUwd1JTeEZRVUZMYkVjc1QwRkRTbXhDTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEYUVJc1IwRkJTMjlJTEVWQlFVMXdTQ3hMUVVGUmFVTXNSVUZEYkVJc1QwRkJUMnBETEVWQlIxUXNUMEZCVVN4SFFVZFVjVWdzUlVGQlZ5dzJTRUZOV0VNc1JVRkJZU3h6UWtGSFlrTXNSVUZCWVN3d1FrRkJORUpFTEVWQlEzaERMREJEUVVkRVJTeEZRVUZoTEUxQlFWRkdMRVZCUVdFc1MwRkJUME1zUlVGQllTeFBRVUZUUkN4RlFVYzVSQ3huUWtGQmEwSkJMRVZCU1d4Q0xESkVRVUUyUkVNc1JVRkJZU3hQUVVNeFJVUXNSVUZCWVN4UFFVVmtSeXhGUVVGVkxFdEJRVTlHTEVWQlFXRXNkMFpCVDBGRExFVkJRV0VzWlVGUE0wTkZMRVZCUVdNc1NVRkJTVU1zVDBGQlVVd3NSVUZCWVN4SlFVRkxMRXRCUXpWRFRTeEZRVUZSTEVsQlFVbEVMRTlCUVZFc1NVRkJUVXdzUlVGQllTdzRRa0ZEZEVOQkxFVkJRV0VzUzBGQlRTeExRVVZ3UWs4c1JVRkJVeXhKUVVGSlJpeFBRVUZSTEVsQlFVMU1MRVZCUVdFc1MwRkJUMEVzUlVGQllTeExRVU0xUkZFc1JVRkJaU3hKUVVGSlNDeFBRVUZSTEVsQlFVMU1MRVZCUVdFc1YwRkJZVUVzUlVGQllTeEpRVUZOUVN4RlFVTTNSU3hMUVVORVV5eEZRVUZYTEVsQlFVbEtMRTlCUVZGTUxFVkJRV0VzVFVGRmNFTlZMRVZCUVZVc1NVRkJTVXdzVDBGQlVVWXNSMEZEZEVKUkxFVkJRV01zU1VGQlNVNHNUMEZCVVN4SlFVRk5TaXhGUVVGaExFdEJSVGREVnl4RlFVRlpMRU5CUTFoRExFZEJRVTBzU1VGQlNWSXNUMEZCVVN4TlFVRlJTaXhGUVVGaExFdEJRM1pEWVN4TlFVRlRMRWxCUVVsVUxFOUJRVkVzVVVGQlZVb3NSVUZCWVN4TFFVTTFRMk1zU1VGQlR5eEpRVUZKVml4UFFVRlJMRXRCUVU5S0xFVkJRV0VzVTBGRGRrTmxMRXRCUVZFc1NVRkJTVmdzVDBGQlVTeEpRVUZOU0N4SFFVTXhRbVVzVDBGQlZTeEpRVUZKV2l4UFFVRlJMRWxCUVUxR0xFZEJRelZDWlN4TlFVRlRMRWxCUVVsaUxFOUJRVkVzZVVSQlEzQkNUQ3hGUVVGaExDdENRVUZwUTBFc1JVRkJZU3hqUVVNelJFRXNSVUZCWVN4aFFVRmxRU3hGUVVGaExGTkJRVlVzUzBGRGNFUnRRaXhMUVVGUkxFbEJRVWxrTEU5QlFWRXNUMEZCVTA0c1JVRkJWeXhMUVVGTkxFdEJTVGxEY1VJc1lVRkJaMElzU1VGQlNXWXNUMEZCVVN4SlFVRk5UQ3hGUVVOcVF5eHRSRUZCY1VSQkxFVkJRM0pFTEcxQ1FVRnhRa0VzUlVGQllTeHRRa0ZCYjBJc1RVRkhlRVJ4UWl4RlFVRlJMRk5CUTFKRExFVkJRVlVzYzBOQlExWkRMRVZCUVZVc1UwRkZWa01zUlVGQlZTeDVRa0ZIVmtNc1JVRkJZU3h0UTBGRllrTXNSMEZCVnl4UFFVbFlReXhIUVVGWkxFbEJRVWwwUWl4UFFVRlJMSFZDUVVGNVFrd3NSVUZCWVN4MVFrRkJkMElzUzBGRGRFWTBRaXhIUVVGWkxGTkJRVlZETEVWQlFWRkRMRWRCUXpkQ0xFbEJRVWxETEVWQlFVOHNTMEZCVDBZc1JVRkJUMmhNTEUxQlFVOHNSMEZCVFN4TlFVVjBReXhQUVVGUGFVd3NTVUZUVGtNc1JVRkJUeXhGUVVOT1F5eFBRVUZQUXl4aFFVRmpSaXhGUVVGUExFOUJRelZDUXl4UFFVRlBReXhoUVVGalJpeEhRVUZSTEVkQlFVc3NUVUZCWlN4TFFVRlFRU3hGUVVGbExGTkJTelZFUnl4SFFVRmhMSE5FUVVOaVF5eEhRVUZoTEZOQlFWVkRMRVZCUVVsRExFZEJRekZDTEU5QlFVdEJMRVZCUjFFc1QwRkJVRVFzUlVGRFJ5eEpRVWxFUVN4RlFVRkhka3dzVFVGQlR5eEhRVUZKTEVkQlFVMHNTMEZETVVKMVRDeEZRVUZIUlN4WFFVRlpSaXhGUVVGSGVFa3NUMEZCVXl4SFFVRkpkRU1zVTBGQlZTeEpRVUZQTEVsQlNUTkRMRXRCUVU4NFN5eEhRVTltUnl4SFFVRm5RaXhYUVVObU4wUXNTMEZIUkRoRUxFZEJRWEZDUXl4SFFVTndRaXhUUVVGVk9VZ3NSMEZEVkN4UFFVRjVRaXhKUVVGc1FrRXNSVUZCU3l0SUxGVkJRWEZFTEdGQlFXaERMMGdzUlVGQlMyZEpMRk5CUVZNMVJTeGxRVVZvUkN4RFFVRkZOa1VzU1VGQlN5eGhRVUZqUXl4TFFVRk5MRmRCU1RkQ0xFbEJRME14VEN4RlFVRkxSQ3hOUVVOR1ZDeEZRVUZOU1N4RlFVRk5SeXhMUVVGTmFVa3NSVUZCWVRaRUxGbEJRMnBETjBRc1JVRkJZVFpFTEZsQlRXUnlUU3hGUVVGTGQwa3NSVUZCWVRaRUxGZEJRVmRzU2l4UlFVRlRPVUlzVTBGRGNrTXNUVUZCVVdsTUxFZEJRMVExVEN4RlFVRlBMRU5CUVVWRUxFMUJRVTlVTEVWQlFVbHRSQ3hQUVVkdVFpeFRRVUZWYlVNc1JVRkJVV2xJTEVkQlEycENia1FzUlVGQlZ6TkpMRTFCUVU4MlJTeEZRVUZSYkVZc1JVRkJUVWNzUzBGQlRXZE5MRXRCUzNaRExGTkJRVlZxU0N4RlFVRlJhVWdzUjBGTGFrSXNTVUZLUVN4SlFVRkpNMGdzUlVGQlNWVXNSVUZCVDI1RExFOUJRMlJzUWl4RlFVRkpMRVZCUjB0eFJDeEZRVUZSVml4TFFVRlJNa2dzUlVGQlMzUkxMRTlCUXk5Q2NVUXNSVUZCVDI1RExFOUJRVk41UWl4RlFVRkpMRWxCUzNaQ0xGTkJRVk15UXl4SFFVRlJla1VzUlVGQlZVTXNSVUZCVXpCRUxFVkJRVk1yUml4SFFVTTFReXhKUVVGSlF5eEZRVUZIZUVzc1JVRkJSMmxETEVWQlFVMTNTU3hGUVVGTFF5eEZRVUZQUXl4RlFVRlJReXhGUVVOdVEwTXNSVUZCWVM5S0xFZEJRVmRCTEVWQlFWRm5TeXhqUVVkb1F6Rk1MRVZCUVZjd1FpeEZRVUZWUVN4RlFVRlJNVUlzVTBGQlZ5eEZRVXQ2UXl4SFFVaEJiMFlzUlVGQlZVRXNSMEZCVnl4SFFVZEpMR2xDUVVGaU0wUXNTVUZCTUVKQkxFZEJRM2hDTEVsQlFXSjZRaXhIUVVFclFpeEpRVUZpUVN4SFFVRXJRaXhMUVVGaVFTeEZRVVZ3UXl4UFFVRlBiMFlzUlVGSlVpeEpRVUZOSzBZc1NVRkRUSFpGTEVWQlFXRnNSaXhIUVVOaVFTeEZRVUZWUVN4SFFVRlhja1FzUlVGRmFFSjVTU3hIUVVGcFFpeERRVWx5UWl4SFFVRnJRaXhMUVVGaU9VY3NTVUZCY1VKelRDeEZRVUZSTTBJc1JVRkJWMmRETEV0QlFVMXNTeXhKUVVkc1JDeEhRVUZQTWtvc1JVRkJTVVVzUlVGQlR5eEpRVWRxUWl4SFFVRnJRaXhKUVVGaWRFd3NSVUZCYVVJc1EwRkRja0lzUzBGQlR6WkRMRVZCUVU5dVFpeEZRVUZSYTBzc1pVRkJaMEpTTEVsQlZYSkRMRTlCUVU5b1J5eEZRVXhRTEVkQlFVdDJReXhGUVVGTFowb3NTMEZCVDFRc1JVRkZhRUlzVDBGRVFXaEhMRVZCUVZFdlJpeExRVUZOZDBRc1IwRkRVSFZETEU5QldWUXNSMEZCUzNGSExFbEJRV2RDTlVrc1JVRkJUelJKTEVWQlFWZEhMR1ZCUVdkQ1VpeExRVU4wUkc1RkxFVkJRVlYyUml4RlFVRlRiVUlzU1VGRGJrSkJMRVZCUVV0blNpeExRVUZQVkN4RlFVZGFMRTlCUkVGb1J5eEZRVUZSTDBZc1MwRkJUWGRFTEVkQlExQjFReXhOUVV0SUxFTkJRVUVzUjBGQlMydEhMRVZCUVU4c1IwRkZiRUlzVDBGRVFXcE5MRVZCUVV0RUxFMUJRVTluUnl4RlFVRlRNVVFzUlVGQlVXOUxMSEZDUVVGelFuSkxMRWxCUXpWRE1rUXNSVUZIUkN4SlFVRlBaMGNzUlVGQlNVVXNSVUZCVHl4TFFVRlRla3dzUlVGQlVXdE5MSGRDUVVONlEzSkxMRVZCUVZGeFN5eDFRa0ZIVWl4UFFVUkJNVTBzUlVGQlMwUXNUVUZCVDJkSExFVkJRVk14UkN4RlFVRlJjVXNzZFVKQlFYZENXQ3hKUVVNNVEyaEhMRVZCUzFRc1IwRkJTM1pHTEVWQlFWRnRUU3hOUVVOWWRFVXNSVUZCZDBKcVJ5eEZRVUZYTEZGQlEycERjMFlzU1VGQlkwRXNSVUZCVld0R0xFdEJRVTE0U3l4TlFVbHNRaXhKUVVGaWVrSXNSMEZCY1VRc1YwRkJia013UWl4RlFVRlJiVW9zVTBGQlV6VkZMR1ZCUVN0Q0xFTkJXWEJGTEVkQlZrRjFSaXhGUVVGakwwb3NSVUZEWkdkTExFVkJRV0V2U2l4RlFWTkxMRWxCUVdJeFFpeEpRVU5HTWtrc1JVRkJVM05FTEV0QlFVMTRTeXhKUVVGamFVZ3NSVUZCWVhWRUxFdEJRVTE0U3l4SlFVRmxMRU5CY1VKcVJTeExRV3hDUVdkTExFVkJRV0UzUWl4SFFVRlRjVU1zUzBGQlRYaExMRWxCUVdONVN5eEhRVUZoZUVzc1JVRkJVVXdzWVVGRE9VUkxMRXRCU1cxQ1FTeEhRVUZaTjBJc1JVRkJVWE5OTEZOQlIyaERaQ3hGUVVGTk0wb3NSVUZCVVZRc1lVRkJZeXhQUVVOc1EyOUxMRVZCUVUxQkxFVkJRVWt6Unl4UlFVRlRNRVlzUjBGQldVTXNTVUZGTDBJelNTeEZRVUZSVWl4aFFVRmpMRXRCUVZGdFN5eEZRVUZOT1Vjc1NVRk5kRU16UkN4SFFVUkJNa3NzUlVGQlUycEdMRVZCUVZVM1JTeEpRVU5TU3l4UFFVTkliRUlzUzBGRFVESkxMRVZCUVZFelN5eEpRVUZSZVVzc1JVRkJUU3hKUVVGTlFTeEZRVUZOTEZWQlFXRXNTVUZET1VObExFZEJRVmxpTEVWQlFWRXpTeXhKUVVWMFFqUkxMRVZCUVdORUxFVkJRVTlqTEV0QlFVMHNTMEZITlVJc1NVRkpReXhQUVVoQmFFNHNSVUZCUzBRc1RVRkJUMmRITEVWQlExaHhSeXhGUVVGWFlTeHBRa0ZCYTBKa0xFbEJSWFpDY0Vjc1JVRkRUaXhOUVVGUmJVZ3NSMEZEVkRkRkxFVkJRWGRDYWtjc1IwRkJWU3hIUVVOcVF5eFJRVU5KTkVvc1NVRkJVVGxITEVkQlExbzNReXhGUVVGUk9Fc3NaMEpCUVdsQ0xGRkJVVGxDTEU5QlFVOW9SeXhGUVVGUkwwVXNSVUZCVTJsRUxGRkJRVk00UkN4RlFVRlBMRTFCUVZFNVJ5eEZRVUZUTUVRc1JVRkJVeXRHTEVkQlUyNUZMRk5CUVZNMVJDeExRVU5TTEVsQlFVbHJSaXhGUVVGUExFZEJXVmdzVDBGV1FTeFRRVUZUUXl4RlFVRlBReXhGUVVGTGFFZ3NSMEZSY0VJc1QwRk1TemhITEVWQlFVdHdUaXhMUVVGTmMwNHNSVUZCVFN4TFFVRlJlRWNzUlVGQlMzbEhMRzlDUVVjelFrWXNSVUZCVDBRc1JVRkJTMGtzVTBGRldFZ3NSVUZCVDBNc1JVRkJUU3hMUVVGUmFFZ3NSMEZUYUVNc1UwRkJVMjFJTEVkQlFXTnVUQ3hIUVVWMFFpeFBRVVJCUVN4RlFVRkpORU1zU1VGQldTeEZRVU5VTlVNc1JVRlBVaXhUUVVGVGIwd3NSMEZCVVhCTUxFZEJRMmhDTEVsQlFVbHhUQ3hGUVVGTE0wOHNSVUZCVXpCRExHTkJRV1VzV1VGRmFrTXNTVUZEUXl4UlFVRlRXU3hGUVVGSmNVd3NSMEZEV2l4TlFVRlJMMElzUjBGRFZDeFBRVUZQTEVWQlEwNHNVVUZIU1N0Q0xFVkJRVWN6VEN4WlFVTlFNa3dzUlVGQlJ6Tk1MRmRCUVZkRExGbEJRV0V3VEN4SFFVazFRa0VzUlVGQlN5eE5RVk5RTEZOQlFWTkRMRWRCUVZkRExFVkJRVTlETEVkQlNURkNMRWxCU0VFc1NVRkJTWGhQTEVWQlFVMTFUeXhGUVVGTmJrZ3NUVUZCVHl4TFFVTjBRbTVHTEVWQlFVbHFReXhGUVVGSmJVUXNUMEZGUkd4Q0xFdEJRMUIxUml4RlFVRkxhVWdzVjBGQldYcFBMRVZCUVV0cFF5eEpRVUZSZFUwc1JVRlZhRU1zVTBGQlUwVXNSMEZCWTNwR0xFVkJRVWRETEVkQlEzcENMRWxCUVVsNVJpeEZRVUZOZWtZc1IwRkJTMFFzUlVGRFpESkdMRVZCUVU5RUxFZEJRWE5DTEVsQlFXWXhSaXhGUVVGRk5VZ3NWVUZCYVVNc1NVRkJaalpJTEVWQlFVVTNTQ3hWUVVOdVF6UklMRVZCUVVVMFJpeFpRVUZqTTBZc1JVRkJSVEpHTEZsQlIzQkNMRWRCUVV0RUxFVkJRMG9zVDBGQlQwRXNSVUZKVWl4SFFVRkxSQ3hGUVVOS0xFdEJRVlZCTEVWQlFVMUJMRVZCUVVsSExHRkJRMjVDTEVkQlFVdElMRWxCUVZGNlJpeEZRVU5hTEU5QlFWRXNSVUZMV0N4UFFVRlBSQ3hGUVVGSkxFZEJRVXNzUlVGUGFrSXNVMEZCVXpoR0xFZEJRVzFDZEU0c1IwRkRNMElzVDBGQlR5eFRRVUZWZVVNc1IwRkZhRUlzVFVGQlowSXNWVUZFVEVFc1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVORmNFUXNSVUZCUzNwRExFOUJRVk5CTEVkQlVUTkRMRk5CUVZOMVRpeEhRVUZ2UW5aT0xFZEJRelZDTEU5QlFVOHNVMEZCVlhsRExFZEJRMmhDTEVsQlFVbG5RaXhGUVVGUGFFSXNSVUZCUzJkSkxGTkJRVk0xUlN4alFVTjZRaXhQUVVGclFpeFZRVUZVY0VNc1IwRkJOa0lzVjBGQlZFRXNTVUZCZFVKb1FpeEZRVUZMZWtNc1QwRkJVMEVzUjBGUmNFVXNVMEZCVTNkT0xFZEJRWE5DYUVRc1IwRkhPVUlzVDBGQlR5eFRRVUZWTDBnc1IwRkxhRUlzVFVGQlN5eFRRVUZWUVN4RlFWTlVRU3hGUVVGTGVFSXNZVUZCWjBNc1NVRkJiRUozUWl4RlFVRkxLMGdzVTBGSGRrSXNWVUZCVnk5SUxFVkJRMVlzVlVGQlYwRXNSVUZCUzNoQ0xGZEJRMkozUWl4RlFVRkxlRUlzVjBGQlYzVktMRmRCUVdGQkxFVkJSVGRDTDBnc1JVRkJTeXRJTEZkQlFXRkJMRVZCVFhCQ0wwZ3NSVUZCUzJkTUxHRkJRV1ZxUkN4SFFVa3hRaTlJTEVWQlFVdG5UQ3hqUVVGblFtcEVMRWRCUTNKQ1JpeEhRVUZ2UWpkSUxFdEJRVmNyU0N4RlFVY3hRaTlJTEVWQlFVc3JTQ3hYUVVGaFFTeEZRVXRrTEZWQlFWY3ZTQ3hIUVVObVFTeEZRVUZMSzBnc1YwRkJZVUVzUjBGWk5VSXNVMEZCVTJ0RUxFZEJRWGRDYmswc1IwRkRhRU1zVDBGQlQyMU1MRWRCUVdNc1UwRkJWV2xDTEVkQlJUbENMRTlCUkVGQkxFZEJRVmxCTEVWQlEweHFRaXhIUVVGakxGTkJRVlV6UWl4RlFVRk5NMFlzUjBGTmNFTXNTVUZNUVN4SlFVRkpha01zUlVGRFNIbExMRVZCUVdWeVRTeEZRVUZKTEVkQlFVbDNTaXhGUVVGTGNrb3NUMEZCVVdsTkxFZEJRM0JEYms0c1JVRkJTVzlPTEVWQlFXRnNUU3hQUVVkV2JFSXNTMEZEUm5WTExFVkJRVkUxU0N4RlFVRkplVXNzUlVGQlkzQk9MRTFCUXpsQ2RVc3NSVUZCVFRWSUxFdEJRVk5wUXl4RlFVRlRha01zUjBGQlRUUklMRVZCUVUwMVNDeFRRVmw2UXl4VFFVRlRNa2tzUjBGQllYaExMRWRCUTNKQ0xFOUJRVTlCTEZGQlFXMUVMRWxCUVdwRFFTeEZRVUZSYjBzc2MwSkJRWGREY0Vzc1JVRnJja014UlN4SlFVRk5aQ3hMUVRseFEwNW1MRVZCUVZWeFJ5eEhRVUZQY2tjc1VVRkJWU3hIUVU4elFuZEhMRVZCUVZGSUxFZEJRVTlITEUxQlFWRXNVMEZCVlhoRUxFZEJRMmhETEVsQlFVbHZUQ3hGUVVGWmNFd3NSMEZCVVVFc1JVRkJTM0ZNTEdGQlF6VkNja2dzUlVGQlZXaEZMRWxCUVZWQkxFVkJRVXMyU1N4bFFVRnBRamRKTEVkQlFVOXpUQ3huUWtGTGJFUXNUMEZCVVRWRkxFVkJRVTB3UXl4TFFVRk5aME1zUjBGQllYQklMRWRCUVZkQkxFVkJRVkZuUlN4VlFVRlpMRk5CVVdwRmFrVXNSVUZCWTFZc1IwRkJUMVVzV1VGQll5eFRRVUZWYkVjc1IwRkROVU1zU1VGQlNUQk9MRVZCUVZsRExFVkJRMll4VGl4RlFVRk5SQ3hGUVVGUFFTeEZRVUZMWjB3c1pVRkJhVUpvVEN4RlFVRlBlVWNzUlVGUE0wTXNUMEZCUzNoSExFZEJRVTkwUXl4SFFVRTJRaXhKUVVGcVFuTkRMRVZCUVVsWUxGVkJRVzFDVnl4RlFVRkpkMDRzYVVKQlRXNUVkRWdzUjBGRVFYaEpMRVZCUVZkelF5eEhRVU5SZDA0c1owSkJRMjVDY2tnc1IwRkJhMEpVTEVWQlFVOW9TU3hIUVZGd1FqaEpMRWRCUVdkQ09Va3NTVUZEYkVKblVTeEZRVUZaYUZFc1JVRkJVMmxSTEdOQlFXbENSQ3hGUVVGVlJTeE5RVUZSUml4SlFVZHlSRUVzUlVGQlZVY3NhVUpCUTJSSUxFVkJRVlZITEdsQ1FVRnJRaXhUUVVGVkwwUXNTVUZCWlN4SFFVY3hRelJFTEVWQlFWVkpMR0ZCUTNKQ1NpeEZRVUZWU1N4WlFVRmhMRmRCUVZsb1JTeExRVk55UXpWTExFVkJRVkZ6VFN4TlFVRlJXU3hIUVVGUkxGTkJRVlZETEVkQlJXcERMRTlCUkVGdVJ5eEZRVUZSZWtZc1dVRkJZVFJNTEVkQlFVczFUQ3haUVVGaEwwTXNSVUZCVXpCRExHTkJRV1VzWVVGRGVrSXNTVUZCZUVKcFRTeEZRVUZIVml4dFFrRkRabFVzUlVGQlIxWXNhVUpCUVd0Q0xIVkNRVUYzUW5oTExGTkJVMmhFYWtNc1JVRkJVWFZKTEZkQlFXRXlSU3hIUVVGUkxGTkJRVlZETEVkQlJYUkRMRTlCUkVGQkxFVkJRVWN3UWl4VlFVRlpMRXRCUTFBeFFpeEZRVUZITDB3c1lVRkJZeXhsUVU4eFFuQkNMRVZCUVZGcFRTeHhRa0ZCZFVKcFFpeEhRVUZSTEZOQlFWVkRMRWRCUldoRUxFOUJSRUZCTEVWQlFVYzFUQ3haUVVGaEwwTXNSVUZCVTNOUkxHTkJRV1VzVFVGRGFFTXpRaXhGUVVGSGJFSXNjVUpCUVhOQ0xFdEJRVTFvU3l4VFFVbDRRMnBETEVWQlFWRnJUU3gxUWtGQmVVSnlReXhGUVVGUmRVTXNTMEZCVFRWT0xFVkJRVk13VGl4M1FrRk5lRVJzVFN4RlFVRlJLMDhzVVVGQlZUZENMRWRCUVZFc1UwRkJWVU1zUjBGRmJrTXNUMEZFUVc1SExFVkJRVkY2Uml4WlFVRmhORXdzUjBGQlMyNUNMRWRCUVV0MFNDeEhRVU4yUW14SExFVkJRVk4zVVN4dlFrRkJjMEo0VVN4RlFVRlRkMUVzYTBKQlFXMUNkRXNzUjBGQlZYcERMRk5CU1hwRmFrTXNSVUZCVVN0UExGTkJRMXA2U1N4RlFVRkxNa2tzVDBGQllTeEhRVUZKTEZOQlFWVnFSQ3hIUVVNdlFpeEpRVUZKYTBRc1JVRkJVMnhFTEVWQlFVZHVTQ3hSUVVGVGJVWXNSMEZCVjBNc1NVRkRjRU1zVDBGQlR5eFRRVUZWYWtnc1IwRkRhRUlzVDBGQlQwRXNSVUZCU3pWQ0xHRkJRV01zVVVGQlZ6aE9MRWxCUjNaRE5Va3NSVUZCU3paSkxFdEJRVmNzUjBGQlNTeFRRVUZWYmtRc1JVRkJTVzVMTEVkQlEycERMRkZCUVhWRExFbEJRVE5DUVN4RlFVRlJhMHNzWjBKQlFXdERPVVVzUlVGQmFVSXNRMEZEZEVVc1NVRkJTV3BGTEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKRExFZEJRMjVETEU5QlFVOW9TaXhGUVVGUExFTkJRVVZCTEVkQlFWTXNUMEZKTTBKelJDeEZRVUZMTWtrc1QwRkJZU3hIUVVGTExGTkJRVlZxUkN4SFFVTm9ReXhKUVVGSmEwUXNSVUZCVTJ4RUxFVkJRVWR1U0N4UlFVRlRiVVlzUjBGQlYwTXNTVUZEY0VNc1QwRkJUeXhUUVVGVmFrZ3NSMEZEYUVJc1NVRkJTVzVETEU5QlFYZERMRWxCUVRGQ2JVTXNSVUZCUzI5TkxHdENRVU4wUW5CTkxFVkJRVXR2VFN4cFFrRkJhMElzVFVGRGVFSXNUMEZCVDNaUExFZEJRVkZCTEVWQlFVdHBSaXhSUVVGVmIwb3NTVUZOYUVNMVNTeEZRVUZMTmtrc1MwRkJWeXhIUVVGSkxGTkJRVlZ1UkN4RlFVRkpia3NzUjBGRGFrTXNVVUZCZFVNc1NVRkJNMEpCTEVWQlFWRnJTeXhuUWtGQmEwTTVSU3hGUVVGcFFpeERRVU4wUlN4SlFVRkpjRWNzUlVGQlRVVXNSVUZCUnpCQ0xFVkJRMXBQTEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKRExFZEJSV2hETEVkQlFVdG9TaXhGUVVGUExFTkJTVmdzU1VGRVFXNURMRVZCUVU5dFF5eEZRVUZMYjAwc2FVSkJRV3RDTEZGQlEycENkazhzUlVGQlMybEdMRkZCUVZWclJ5eEZRVU16UWl4TlFVRlBMRU5CUVVWb1NpeEhRVTFXTEVsQlJrRlFMRVZCUVZGYUxFVkJRVkZ0VGl4clFrRkJiVUpvUkN4SFFVTnVRMnBNTEVWQlFVa3NSVUZEVFdsRExFVkJRVTlRTEVWQlFVOHhRaXhOUVVWMlFpeEpRVVJCUml4RlFVRlBiVU1zUlVGQlMyOU5MR2xDUVVGclFpeFJRVU5xUW5aUExFVkJRVXRwUml4UlFVRlZhMGNzUlVGRE0wSXNUVUZCVHl4RFFVRkZhRW9zUjBGTFdpeE5RVUZQTEUxQlRWWnpSQ3hGUVVGTE5ra3NTMEZCV1N4SlFVRkpibEFzUlVGQlVXbE5MSEZDUVVNMVFpeFRRVUZWYjBRc1JVRkJTM2hPTEVkQlEyUXNXVUZCTmtNc1NVRkJha05CTEVWQlFWRnZTeXh4UWtGRFduQkxMRVZCUVZGdlN5eHhRa0ZCYzBKdlJDeEhRVWN4UW5KUUxFVkJRVkZ0VFN4SlFVTmFkRXNzUlVGQlVUUkxMR2xDUVVGclFqUkRMRkZCUkROQ0xFZEJTMUlzVTBGQlZVRXNSVUZCUzNoT0xFZEJRMlFzU1VGQlNXMUNMRVZCUTBoelRTeEZRVUZOTEVkQlEwNTJUeXhGUVVGSkxFVkJSMHAzUlN4RlFVRlZNVVFzUlVGQlVXOUxMSEZDUVVGelFtOUVMRWRCUjNwRExFZEJRV0VzVFVGQlVrRXNSVUZCWXl4RFFVTnNRaXhMUVVGVmNrMHNSVUZCVDNWRExFVkJRVk40UlN4TlFVTkdMRWxCUVd4Q2FVTXNSVUZCU3pkRExGVkJRMVJ0VUN4RlFVRkpPVkFzUzBGQlRYZEVMRWRCU1Zvc1QwRkJUM05OTEVWQlJWSXNUMEZCVHk5S0xFZEJTVlJsTEVWQlFVczJTU3hMUVVGakxFMUJRVWx1VUN4RlFVRlJhMDBzZDBKQlFUQkNMRk5CUVZVeVF5eEZRVUZYYUU0c1IwRkROMFVzVVVGQkswTXNTVUZCYmtOQkxFVkJRVkZ4U3l4M1FrRkJNRU5xUml4RlFVTTNSQ3hQUVVGUGNFWXNSVUZCVVhGTExIVkNRVUYzUWpKRExFbEJWWHBETVVnc1JVRkJaMElzUjBGUGFFSkVMRVZCUVZrc1NVRkZUR3hJTEVWQlFWRnRUU3hKUVVGTmRFTXNSVUZCVVhWRExFdEJRVTAxVGl4RlFVRlRhVThzY1VKQlNUTkRVeXhIUVVGUkxGTkJRVlZETEVkQlJXcENMRWxCUVVsdlF5eEZRVTlLZGtrc1JVRkJVWHBHTEZsQlFXRTBUQ3hIUVVGTGNVTXNWVUZCV1N4VlFVRlpPVXNzUlVGQlZTeHhRa0ZETVVOQkxFVkJRVlVzYTBWQlQzWkNlVWtzUlVGQlIxWXNhVUpCUVd0Q0xIZENRVUY1UW5oTExGRkJRMnhFYVVZc1JVRkJWVEZJTEV0QlFVMHNVMEZCVnpaSkxFVkJRV0VzWjBKQlMyNURPRVVzUlVGQlIxWXNhVUpCUVd0Q0xHTkJRV1Y0U3l4UlFVTjZRMmxHTEVWQlFWVXhTQ3hMUVVGTkxFMUJRVkUyU1N4RlFVRmhMR0ZCUVdWRUxFVkJRVmNzUzBGSk1VUXJSU3hGUVVGSFZpeHBRa0ZCYTBJc1VVRkJWUzlJTEVWQlFWVXNUVUZCVDNwRExGRkJRM0pFYVVZc1JVRkJWVEZJTEV0QlFVMHNUMEZSYWtJclVDeEZRVUZSTDFFc1JVRkJVekJETEdOQlFXVXNWVUZETVVKSExHRkJRV01zVDBGQlVTeEpRVU0xUWpoTUxFVkJRVWMxVEN4WlFVRmhaMDhzUjBGRFZuQkRMRVZCUVVkV0xHbENRVUZyUWl4aFFVRmplRXNzVVVGRGVFTnBSaXhGUVVGVk1VZ3NTMEZCVFN4TlFVRlJOa2tzUlVGQllTeFJRVUZWUVN4RlFVRmhMRXRCUXpORVFTeEZRVUZoTEdkQ1FVMVVPRVVzUlVGQlIxWXNhVUpCUVd0Q0xGbEJRV0Y0U3l4UlFVTjJRMmxHTEVWQlFWVXhTQ3hMUVVGTkxGbEJUVmd5VGl4RlFVRkhWaXhwUWtGQmEwSXNTMEZCVHk5SUxFVkJRVlVzVFVGQlQzcERMRkZCUTJ4RWFVWXNSVUZCVlRGSUxFdEJRVTBzV1VGTGFrSXlUaXhGUVVGSFZpeHBRa0ZCYTBJc1VVRkRja0oyUml4RlFVRlZNVWdzUzBGQlRTeHBRa0ZIYWtJd1RpeEhRVUZSTEZOQlFWVkRMRWRCUTJwQ1FTeEZRVUZIY1VNc1ZVRkJXU3h2UmtGTFppeEpRVUZKUkN4RlFVRlJMMUVzUlVGQlV6QkRMR05CUVdVc1UwRkRjRU54VHl4RlFVRk5iRThzWVVGQll5eFBRVUZSTEZWQlF6VkNPRXdzUlVGQlJ6Vk1MRmxCUVdGblR5eEhRVUZSYkU4c1lVRkJZeXhQUVVGUkxFdEJTWHBET0V3c1JVRkJSMVlzYVVKQlFXdENMRmxCUVdGNFN5eFJRVU4wUTJsR0xFVkJRVlV4U0N4TFFVRk5MRTlCUVZNMlNTeEZRVUZoTEdWQlMxY3NTVUZCTjBNNFJTeEZRVUZIVml4cFFrRkJhMElzV1VGQllYaExMRkZCUTNSRGFVWXNSVUZCVlRGSUxFdEJRVTBzVjBGQldTeGhRVXMzUW5kSUxFVkJRVkY2Uml4WlFVRmhORXdzUjBGQlMzQkRMRlZCUVZjc1JVRkRZeXhKUVVFNVEyOURMRVZCUVVkV0xHbENRVUZyUWl4aFFVRmplRXNzVVVGRGRrTnBSaXhGUVVGVk1VZ3NTMEZCVFN4WFFVRlpMR0ZCU3pkQ01rNHNSVUZCUjFZc2FVSkJRV3RDTEZGQlEzSkNka1lzUlVGQlZURklMRXRCUVUwc1dVRkpXRkVzUlVGQlVYbFFMR2RDUVVGclFqVkdMRVZCUVZGMVF5eExRVUZSZWtjc1JVRkJWWEZDTEVWQlFWRnlRaXhUUVVOc1JYRkNMRVZCUVZFd1NTeDFRa0ZEVWpGSkxFVkJRVkV5U1N4dlFrRkRVak5KTEVWQlFWRTBTU3hyUWtGRFVqVkpMRVZCUVZFMlNTeHhRa0ZGVWpORExFZEJRVkVzVTBGQlZVTXNSMEZKYWtKdVRpeEZRVUZST0ZBc2EwSkJRVzlDYmtzc1JVRkJVWFJITEV0QlFVMDRUaXhGUVVGSkxFdEJTVGxEZUVnc1JVRkJVWFJITEV0QlFVMDRUaXhGUVVGSkxHRkJRMnhDYUVjc1JVRkJZek5JTEV0QlFVMHNTMEZCVFdkS0xFdEJTVFZDZEVJc1JVRkJXVUVzUlVGQlZXcEdMRkZCUVZVc1NVRkJTWGxITEU5QlFWRjRRaXhGUVVGVmMwWXNTMEZCVFN4TlFVTTFSSEpHTEVWQlFXZENRU3hGUVVGamJFWXNVVUZCVlN4SlFVRkplVWNzVDBGQlVYWkNMRVZCUVdOeFJpeExRVUZOTEUxQlNYaEZLMElzUlVGQllURkZMRVZCUVZGMVF5eExRVUZOY0VZc1JVRkJVU3RKTEhsQ1FVdHVRek5KTEVWQlFWZHRTQ3hIUVVGak1VVXNSVUZCVVhWRExFdEJRVTF3Uml4RlFVRlJTU3hWUVVNNVF5eFRRVUZWVnl4RlFVRkhReXhIUVVOYUxFbEJRVWxuU1N4RlFVRjFRaXhKUVVGbWFra3NSVUZCUlRWSUxGTkJRV2xDTkVnc1JVRkJSWFZITEdkQ1FVRnJRblpITEVWQlEyeEVhMGtzUlVGQlRXcEpMRWRCUVV0QkxFVkJRVVY0Unl4WFFVTmtMRTlCUVU5MVJ5eEpRVUZOYTBrc1RVRkJWMEVzUjBGQmQwSXNTVUZCYWtKQkxFVkJRVWs1VUN4WlFVTnNRelpRTEVWQlFVMDFTU3hUUVVOTU5Fa3NSVUZCVFRWSkxGTkJRVlUyU1N4SFFVTm9RbXhKTEVWQlFVVm5TU3g1UWtGQk9FUXNSMEZCYmtOb1NTeEZRVUZGWjBrc2QwSkJRWGxDUlN4TlFVY3pSQ3hUUVVGVmJFa3NSVUZCUjBNc1IwRkRXaXhIUVVGTFFTeEZRVU5LTEV0QlFWVkJMRVZCUVVsQkxFVkJRVVY0Unl4WlFVTm1MRWRCUVV0M1J5eEpRVUZOUkN4RlFVTldMRTlCUVU4c1JVRkpWaXhQUVVGUExFZEJUMVJFTEVWQlFWbDVSeXhGUVVOYUxGTkJRVlY0Unl4RlFVRkhReXhIUVVkYUxFZEJRVXRFTEVsQlFVMURMRVZCUlZZc1QwRkVRV3hDTEVkQlFXVXNSVUZEVWl4RlFVbFNMRWxCUVVsdlNpeEhRVUZYYmtrc1JVRkJSV2RKTEhsQ1FVRXlRaTlJTEVWQlFVVXJTQ3gzUWtGRE9VTXNUMEZCUzBjc1NVRm5RbFVzUjBGUVprRXNSMEZCV1c1SkxFVkJRVVU0UkN4bFFVRnBRamxFTEV0QlFWTkRMRVZCUVVVMlJDeGxRVUZwUWpkRUxFZEJRekZFUkN4RlFVRkZaMGtzZDBKQlFYbENMMGdzUjBGSE0wSXNTMEZKUjJoSkxFVkJRVkZ0VVN4alFVRm5RbTVKTEVWQlFVVXJTQ3gzUWtGQmVVSm9TU3hMUVVGUmJVa3NSVUZQZWtSdVNTeEhRVUZMZGtvc1IwRkJXWFZLTEVWQlFVVTRSQ3hsUVVGcFFuWkZMRWRCUTNoRFJpeEZRVUZWUlN4RlFVRmpVeXhKUVVOb1FpeEZRVTlLUXl4SFFVRkxlRW9zUjBGQldYZEtMRVZCUVVVMlJDeGxRVUZwUW5aRkxFZEJRM2hEUml4RlFVRlZSU3hGUVVGalZTeEhRVU5xUWl4RlFVbEVia0lzUlVGRFNuQklMRVZCUVZOdlNDeEZRVUZYYTBJc1IwRkJUWFJKTEVWQlFWTnZTQ3hGUVVGWGJVSXNSMEZEYUVRc1JVRkhaU3hGUVVGV2Ewa3NSMEZCWlN4RlFVRkpMRWxCUlROQ0xGTkJRVlZ1U1N4RlFVRkhReXhIUVVkYUxFZEJRVXRFTEVsQlFVMURMRVZCUlZZc1QwRkVRV3hDTEVkQlFXVXNSVUZEVWl4RlFVZFNMRWxCUVVreVJ5eEZRVU5JTVUwc1JVRkJTU3hGUVVOS2NWQXNSVUZCVFhKSkxFVkJRVVYyUnl4WFFVTlNlVThzUlVGQlRXcEpMRVZCUVVWNFJ5eFhRVU5TTms4c1JVRkJTeXhEUVVGRmRFa3NSMEZEVUhWSkxFVkJRVXNzUTBGQlJYUkpMRWRCUjFJc1NVRkJUVzlKTEVsQlFWRklMRVZCVFdJc1QwRkJUMnhKTEVkQlFVdDJTaXhIUVVGWkxFVkJRM1pDZDBvc1IwRkJTM2hLTEVWQlFWY3NSVUZGYUVJMFVpeEhRVUZQTEVWQlExQklMRVZCUVUwc1JVRkRUbkJLTEVWQlEwVndTQ3hGUVVGVGIwZ3NSVUZCVjJ0Q0xFZEJRVTEwU1N4RlFVRlRiMGdzUlVGQlYyMUNMRWRCUTJoRUxFVkJSMHNzUjBGQlMyOUpMRWxCUVZGSUxFVkJRMjVDTEU5QlFVOTZReXhIUVVGamVrWXNSVUZCUjBNc1IwRkxla0lzU1VGRVFYbEdMRVZCUVUweFJpeEZRVU5KTUVZc1JVRkJUVUVzUlVGQlNXcE5MRmxCUTI1Q05rOHNSVUZCUjBVc1VVRkJVemxETEVkQlIySXNTVUZFUVVFc1JVRkJUWHBHTEVWQlEwbDVSaXhGUVVGTlFTeEZRVUZKYWswc1dVRkRia0k0VHl4RlFVRkhReXhSUVVGVE9VTXNSMEZKWWl4TFFVRlJORU1zUlVGQlNYUlFMRXRCUVZGMVVDeEZRVUZKZGxBc1NVRkRka0pCTEVsQlIwUXNUMEZCVDBFc1JVRkhUbmxOTEVkQlFXTTJReXhGUVVGSmRGQXNSMEZCUzNWUUxFVkJRVWwyVUN4SlFVOHpRbk5RTEVWQlFVbDBVQ3hKUVVGUGRVY3NSMEZCWjBJc1JVRkRNMEpuU2l4RlFVRkpkbEFzU1VGQlQzVkhMRVZCUVdVc1JVRkZNVUlzUjBGSFN6bEpMRWRCTDJORFFTeEhRV3RrVkRaSUxFZEJRVTlXTEZGQlFWVXNVMEZCVlRaTExFVkJRVTFETEVkQlEyaERMRTlCUVU5d1N5eEhRVUZSYlVzc1JVRkJUU3hMUVVGTkxFdEJRVTFETEVsQlIyeERjRXNzUjBGQlQyOUtMR2RDUVVGclFpeFRRVUZWZWswc1JVRkJUWGRPTEVkQlIzaERMRWRCUmtGNlNpeEZRVUZoTDBRc1IwRkZVbWhFTEVWQlFWRjVVQ3hwUWtGQmJVSjRTU3hKUVVNNVFsa3NSVUZCZDBJeVNTeEZRVUZQTEZGQlF6ZENja29zU1VGQmEwSkJMRVZCUVdOcFJpeExRVUZOYjBVc1QwRkRkRU4wU2l4SlFVRnJRa0VzUlVGQlZXdEdMRXRCUVUxdlJTeEpRVVZ5UXl4SlFVTkRMRWxCUVVrNVRpeEZRVUZOYVVRc1JVRkJVWFJITEV0QlFVMHlSQ3hGUVVGTmQwNHNSMEZIT1VJc1IwRkJTemxPTEVkQlFVOHhReXhGUVVGUk9GQXNiVUpCU1c1Q09VMHNSVUZCUzNoRkxGVkJRWFZETEV0QlFUTkNkMFVzUlVGQlMzaEZMRk5CUVZNeVFpeFRRVU12UWl4UFFVRlBkVU1zUlVGRlVDeE5RVUZSTUVrc1IwRkRWSFpFTEVWQlFYZENNa2tzUjBGQlRTeEhRVWxvUXl4UFFVRlBia3NzUjBGQlVXMUxMRVZCUVUxb1V5eEZRVUZWTEV0QlFVMHNRMEZCUlhkRkxFbEJRVk5tTEU5QlFWTXNSMEZITVVSdlJTeEhRVUZQWlN4VFFVRlhMRk5CUVZWMlJpeEZRVUZUYlVJc1IwRlZjRU1zVDBGSVQyNUNMRVZCUVZGblN5eGxRVUZwUW1oTExFbEJRV0Z5UkN4SFFVTTFRM1ZKTEVWQlFXRnNSaXhIUVVWUWRVWXNSVUZCVlhaR0xFVkJRVk50UWl4SlFVY3pRbkZFTEVkQlFVOXhTeXhMUVVGUExGTkJRVlV4VGl4RlFVRk5aMElzU1VGUGRFSm9RaXhGUVVGTE5ra3NaVUZCYVVJM1NTeEpRVUZWZUVVc1IwRkRkRU4xU1N4RlFVRmhMMFFzUjBGSFpDeEpRVUZKYkVJc1JVRkJTM2RGTEVWQlFVdHBTQ3hYUVVGWmRrb3NSVUZCUzI5RExHVkJSemxDY0VZc1JVRkJUV01zUjBGQlRXeERMRVZCUVU5UUxFdEJRVTFwU0N4RlFVRkxhVWdzVjBGQldYWktMRVZCUVV0dlF5eGxRVU01UTNSRkxFVkJRVWxyUWl4RlFVRk5aMElzUjBGQlQybEVMRkZCUTJwQ2VFTXNSVUZGUml4WlFVRmxRU3hKUVVGU2VrUXNSVUZEVGtFc1JVRkRRV2hDTEVWQlFWRjFTU3hoUVVGbGRFSXNSVUZEZEVKcVJTeEZRVUZMTlVJc1lVRkJZelJETEVsQlEycENhRVFzUlVGQlRXZERMRVZCUVV0dlRTeHBRa0ZCYTBKd1RDeExRVUZaYUVRc1JVRkJTVEpRTEZWQlF6bERNMUFzUlVGQlNUaEZMRTFCUTBvc1RVRkhTazhzUjBGQlR6WkVMRTlCUVZNc1UwRkJWVEJITEVkQlEzcENMRTlCUVZOQkxFVkJRVTBzU1VGQlN5OU1MRkZCUVZNd1JpeEhRVUZaUXl4TFFVY3hRMjVGTEVkQlFVOTBRaXhOUVVGUkxGTkJRVlZETEVkQlEzaENMRTFCUVUwc1NVRkJTWFJITEUxQlFVOHNNRU5CUVRSRGMwY3NTVUZQT1VSeFFpeEhRVUZQZDBzc1YwRkJZU3hUUVVGVmRFd3NSMEZETjBJc1NVRkJTWFpETEVWQlEwZzRUaXhGUVVGaExFZEJRMkp3VGl4RlFVRkpMRVZCUTBvelF5eEZRVUZKTEVWQlQwd3NSMEZLUVN0R0xFZEJRV2RDT1Vjc1JVRkJVU3RSTEdsQ1FVTjRRbXhMTEVkQlFXRTNSeXhGUVVGUloxSXNXVUZCWTNwTUxFVkJRVkZ5Unl4TlFVRlBMRWRCUTJ4RWNVY3NSVUZCVVROQ0xFdEJRVTFyUlN4SFFVVlVhRUlzUlVGQlpTeERRVU51UWl4TFFVRlZPVVFzUlVGQlQzVkRMRVZCUVZONFJTeE5RVU53UW1sRExFbEJRVk4xUXl4RlFVRlRlRVVzUzBGRGRFSXlReXhGUVVGSmIwNHNSVUZCVjNSU0xFdEJRVTExUWl4SlFVZDJRaXhMUVVGUk1rTXNTMEZEVURaQ0xFVkJRVkV4UWl4UFFVRlJhVTRzUlVGQldYQk9MRWRCUVVzc1IwRlJia01zVDBGR1FXMUVMRVZCUVZrc1MwRkZUSFJDTEVkQlQxSm5RaXhGUVVGVlJpeEhRVUZQUlN4UlFVRlZMRk5CUVZWMlJDeEhRVU53UXl4SlFVRkpia01zUlVGRFNEWkNMRVZCUVUwc1IwRkRUak5DTEVWQlFVa3NSVUZEU2xvc1JVRkJWelpETEVWQlFVczNReXhUUVVWcVFpeEhRVUZOUVN4SFFWRkRMRWRCUVd0Q0xFbEJRV0pCTEVkQlFTdENMRWxCUVdKQkxFZEJRU3RDTEV0QlFXSkJMRVZCUVd0Q0xFTkJTV3BGTEVkQlFXbERMR2xDUVVGeVFqWkRMRVZCUVV0cFR5eFpRVU5vUWl4UFFVRlBhazhzUlVGQlMybFBMRmxCU1Zvc1NVRkJUV3BQTEVWQlFVOUJMRVZCUVV0clR5eFhRVUZaYkU4c1JVRkJUVUVzUlVGQlQwRXNSVUZCU3pSTExGbEJReTlEYkV3c1IwRkJUelpFTEVWQlFWTjJSQ3hSUVVkYUxFZEJRV3RDTEVsQlFXSTNReXhIUVVFclFpeEpRVUZpUVN4RlFVTTNRaXhQUVVGUE5rTXNSVUZCUzIxUExHVkJia0phTEV0QlFWVjBVU3hGUVVGUGJVTXNSVUZCVFdwRExFMUJSM1JDTWtJc1IwRkJUelpFTEVWQlFWTXhSaXhIUVhGQ2JFSXNUMEZCVHpaQ0xFbEJSMUkwUkN4RlFVRlBSQ3hIUVVGUEswc3NWVUZCV1N4RFFVZDZRbkpGTEZsQlFXRXNSMEZGWW5ORkxHRkJRV053UlN4SFFVVmtlRUlzVFVGQlQzaERMRVZCUlZCelJTeFhRVUZaTEVkQlJWbzBRaXhMUVVGTkxFZEJSVTV0UXl4VFFVRlZMRU5CUTFSRExFbEJRVXNzUTBGQlJYUkhMRWxCUVVzc1lVRkJZeTlJTEU5QlFVOHNSMEZEYWtOelR5eEpRVUZMTEVOQlFVVjJSeXhKUVVGTExHTkJRMXAzUnl4SlFVRkxMRU5CUVVWNFJ5eEpRVUZMTEd0Q1FVRnRRaTlJTEU5QlFVOHNSMEZEZEVOM1R5eEpRVUZMTEVOQlFVVjZSeXhKUVVGTExHOUNRVWRpTUVjc1ZVRkJWeXhEUVVOV2RFa3NTMEZCVVN4VFFVRlZiME1zUjBGWGFrSXNUMEZXUVVFc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVazFSeXhSUVVGVGJVWXNSMEZCVjBNc1NVRkhOVU4zUWl4RlFVRlBMRWxCUVZGQkxFVkJRVThzU1VGQlQwRXNSVUZCVHl4SlFVTnVRMEVzUlVGQlR5eEpRVUZQTEVsQlFVczFSeXhSUVVGVGJVWXNSMEZCVjBNc1NVRkZjRUlzVDBGQlpuZENMRVZCUVU4c1MwRkRXRUVzUlVGQlR5eEhRVUZOTEVsQlFVMUJMRVZCUVU4c1IwRkJUU3hMUVVjeFFrRXNSVUZCVFhaTkxFMUJRVThzUlVGQlJ5eEpRVWQ0UW5GTExFMUJRVk1zVTBGQlZXdERMRWRCYVVOc1FpeFBRWEpDUVVFc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVbHlSaXhqUVVWVkxGRkJRVGRDY1VZc1JVRkJUeXhIUVVGSmRrMHNUVUZCVHl4RlFVRkhMRWxCUjI1Q2RVMHNSVUZCVHl4SlFVTmFjRVlzUjBGQlQzUkNMRTFCUVU4d1J5eEZRVUZQTEVsQlMzUkNRU3hGUVVGUExFdEJRVk5CTEVWQlFVOHNSMEZEZEVKQkxFVkJRVThzU1VGQlVVRXNSVUZCVHl4SlFVRlBMRWRCUXpkQ0xFZEJRWEZDTEZOQlFXWkJMRVZCUVU4c1NVRkJhVU1zVVVGQlprRXNSVUZCVHl4TFFVTjJRMEVzUlVGQlR5eExRVUZYUVN4RlFVRlBMRWRCUVUxQkxFVkJRVThzU1VGQmQwSXNVVUZCWmtFc1JVRkJUeXhMUVVjelEwRXNSVUZCVHl4SlFVTnNRbkJHTEVkQlFVOTBRaXhOUVVGUE1FY3NSVUZCVHl4SlFVZG1RU3hIUVVkU2JrTXNUMEZCVlN4VFFVRlZiVU1zUjBGRGJrSXNTVUZCU1cxSExFVkJRMGhETEVkQlFWbHdSeXhGUVVGUExFbEJRVTlCTEVWQlFVOHNSMEZGYkVNc1QwRkJTM2hETEVWQlFXMUNMRTFCUVVWdFJDeExRVUZOV0N4RlFVRlBMRWxCUXk5Q0xFMUJTVWhCTEVWQlFVOHNSMEZEV0VFc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVsQlFVOUJMRVZCUVU4c1NVRkJUeXhIUVVjNVFtOUhMRWRCUVZrNVNTeEZRVUZSY1VRc1MwRkJUWGxHTEV0QlIyNURSQ3hGUVVGVGJrd3NSVUZCVlc5TUxFZEJRVlVzVFVGSE4wSkVMRVZCUVZORExFVkJRVk53VXl4UlFVRlRMRWxCUVV0dlV5eEZRVUZUTlZBc1QwRkJVekpRTEVkQlFWZERMRVZCUVZNMVVDeFZRVWQ0UlhkS0xFVkJRVThzUjBGQlRVRXNSVUZCVHl4SFFVRkpkazBzVFVGQlR5eEZRVUZITUZNc1IwRkRiRU51Unl4RlFVRlBMRWRCUVUxdlJ5eEZRVUZUTTFNc1RVRkJUeXhGUVVGSE1GTXNTVUZKTVVKdVJ5eEZRVUZOZGswc1RVRkJUeXhGUVVGSExFMUJTWHBDSzFBc1QwRkJVU3hEUVVWUU4wWXNTVUZCVHl4VFFVRlZNRWtzUjBGRGFFSXNTVUZCU1RsSExFVkJRVmM0Unl4RlFVRnBRbXBPTEZGQlFWTnRSaXhIUVVGWFF5eEpRVUZaTjBRc1kwRkRhRVVzVFVGQk5FSXNUVUZCY2tJd1RDeEZRVU5PTEZkQlEwTXNUMEZCVHl4SFFVVlNMRk5CUVZVNVR5eEhRVU5VTEU5QlFVOUJMRVZCUVV0blNTeFZRVUZaYUVrc1JVRkJTMmRKTEZOQlFWTTFSU3huUWtGQmEwSTBSU3hKUVVrelJEZENMRTFCUVZNc1UwRkJWVEJHTEVkQlEyeENMRWxCUVVsclJDeEZRVUZWZEVzc1JVRkJXVzlJTEVWQlFWa3NTMEZGZEVNc1QwRkJUMnRFTEVsQlEwcEJMRVZCUVZVc1NVRkJTWEpLTEU5QlFWRXNUVUZCVVV3c1JVRkRMMElzU1VGQlRYZEhMRVZCUVZrc1NVRkJUWGhITEVWQlFXRXNVMEZCWVZvc1JVRkRha1J2U0N4RlFVRlhMRk5CUVZVM1RDeEhRVU53UWl4UFFVRlBLMDhzUlVGQlVUTkdMRXRCUTFrc2FVSkJRVzVDY0Vvc1JVRkJTelpNTEZkQlFUQkNOMHdzUlVGQlN6Wk1MR2RDUVVOa0xFbEJRWFJDTjB3c1JVRkJTelZDTEdOQlExZzBRaXhGUVVGTE5VSXNZVUZCWXl4VlFVTndRaXhQUVV0T2FVa3NTMEZCVVN4VFFVRlZja1lzUlVGQlRXZFBMRVZCUVZWRExFZEJRMnBETEU5QlFVOHNVMEZCVldwUUxFZEJRMmhDTEVsQlFVbHJVQ3hGUVVGVE4wd3NSMEZCVDNGTExFdEJRVTB4VGl4RlFVRk5aMElzUjBGRmFFTXNUMEZCWlN4TlFVRldhMDhzUlVGRFowSXNUMEZCWWtZc1IwRkZSa0VzU1VGSlRrVXNSMEZCVlN4SFFVbFZMRTFCUVdKR0xFVkJRVzFDUlN4SlFVRlhSQ3hGUVVOMlFpeFBRVUZpUkN4RlFVRnZRa1VzU1VGQlYwUXNSVUZEYkVJc1QwRkJZa1FzUlVGQmIwSkRMRWRCUVhGRExFbEJRVFZDUXl4RlFVRlBlbE1zVVVGQlUzZFRMRWRCUTJoRExFOUJRV0pFTEVWQlFXOUNReXhIUVVGVFF5eEZRVUZQZWxNc1VVRkJVM2RUTEVsQlFWY3NSVUZETTBNc1QwRkJZa1FzUlVGQmIwSkRMRWRCUVZORExFVkJRVTlvVkN4UFFVRlJLMU1zUlVGQlRXaFJMRlZCUVdGblVTeEZRVU5zUkN4UFFVRmlSQ3hIUVVGelFpeEpRVUZOUlN4RlFVRlBjazRzVVVGQlV6UkVMRVZCUVdFc1MwRkJVU3hMUVVGTmFFb3NVVUZCVTNkVExFbEJRVmNzUlVGRE9VVXNUMEZCWWtRc1NVRkJiMEpGTEVsQlFWZEVMRWRCUVZORExFVkJRVTlvVkN4TlFVRlBMRVZCUVVjclV5eEZRVUZOYUZFc1QwRkJVeXhMUVVGUloxRXNSVUZCVVN4UlFVOHpSakZKTEUxQlFWTXNVMEZCVldoS0xFVkJRVTAwVWl4RlFVRk5ReXhGUVVGWGJGQXNSVUZCVDBVc1IwRkRhRVFzU1VGQlNXbFFMRVZCUVdkRExGRkJRWFpDT1ZJc1JVRkJTM0pDTEUxQlFVOHNSVUZCUnl4SFFVTXpRbTlVTEVWQlFTdENMRk5CUVhKQ0wxSXNSVUZCUzNKQ0xFOUJRVkVzUjBGRGRrSnhWQ3hGUVVGclFpeFpRVUZVU2l4RlFVVldMRTlCUVdsQ0xFbEJRVlpxVUN4SFFVRjNRaXhKUVVGVVJTeEZRVWR5UWl4VFFVRlZTaXhIUVVOVUxGRkJRVk5CTEVWQlFVdDRRaXhaUVVkbUxGTkJRVlYzUWl4RlFVRk5kMUFzUlVGQlZVTXNSMEZEZWtJc1NVRkJTVFZHTEVWQlFVODJSaXhGUVVGaFF5eEZRVUZaT1ZJc1JVRkJUU3RTTEVWQlFWZERMRVZCUTNCRU5VZ3NSVUZCVFc5SUxFbEJRVmRETEVWQlFWVXNZMEZCWjBJc2EwSkJRek5EVVN4RlFVRlRPVkFzUlVGQlMzaENMRmRCUTJSM1F5eEZRVUZQZFU4c1IwRkJWWFpRTEVWQlFVdG5TU3hUUVVGVE5VVXNZMEZETDBJeVRTeEhRVUZaVGl4SlFVRlJSaXhGUVVOd1FqZEZMRWRCUVU4c1JVRkZVaXhIUVVGTGIwWXNSVUZCVXl4RFFVZGlMRWRCUVV0VUxFVkJRVk1zUTBGRFlpeExRVUZSY0Vnc1IwRkJUU3hEUVVWaUxFbEJSRUZ3U3l4RlFVRlBiVU1zUlVGRFIyNURMRVZCUVU5QkxFVkJRVTF2U3l4SlFVTjBRaXhIUVVGTGMwZ3NSVUZEU2pGU0xFVkJRVXR0U3l4VFFVRlROVVVzWjBKQlFXdENjRU1zUlVGRFpDeEpRVUZzUW01RUxFVkJRVXRXTEZOQlJVd3NUMEZCVHl4RlFVdFVNRk1zUlVGQlVUVklMRVZCUVdVc1UwRkJWREZMTEVsQlFXOUNjMU1zUjBGQlV5eGpRVVUxUXl4UFFVRlBMRVZCVFZJc1IwRklRVUVzUlVGQlVTeERRVUZGVUN4RlFVRlZVU3hGUVVGUE5VSXNWMEZCWVRSQ0xFVkJRVTlGTEZkQlJ6RkRWaXhIUVVGWFV5eEhRV3RDWml4SlFVaEJja1lzUjBGRVFXdEdMRWRCUkVFdlJpeEhRVWhCTmtZc1IwRktRVU1zUjBGRVFUbFNMRVZCUVU5cFV5eEhRVU5aY0U4c1MwRkJaVGRFTEVWQlFVMDJSQ3hIUVVGWkxFdEJTVEZDTjBRc1JVRkJTMjlUTEZsQlF6VkNUaXhGUVVGWk9WSXNSVUZCUzI5VExGVkJRV0VzUzBGRldqRlRMRWxCUVZVc1NVRkRXaXhMUVVGUlowZ3NSMEZCVjNOR0xFVkJRVThzUzBGRGVrSkJMRVZCUVU4c1IwRkRNMEpvVFN4RlFVRlBLMUlzUjBGQllVVXNSVUZCVHpOSUxGZEJRVmw1U0N4SFFVVTNRaTlTTEVsQlFWTXJVaXhIUVVGaEwxSXNSMEZCVVVFc1JVRkJUVzlMTEV0QlJ6TkRlVU1zUlVGQlQydEdMRVZCUVZrc1NVRkJUME1zUlVGQlRUVkxMRTlCUjJ4RExFZEJRWFZDTEVsQlFXeENjRWdzUlVGQlMxWXNXVUZCYjBKMVRpeEhRVUZSTjAwc1NVRkJVMjFETEVWQlFVOHNRMEZEY2tRd1VDeEZRVUZoYmxNc1IwRkJVeXhEUVVGRlowZ3NSVUZCVTNGTUxFVkJRVmRzUml4SFFVTTFReXhaUVhsQ1JpeEhRV3hDUzNGR0xFbEJZVXB5Uml4RlFVUkJhMFlzUjBGRVFTOUdMRWRCU0VFMlJpeEhRVXBCUXl4SFFVUkJPVklzUlVGQlQyMURMRWRCUTFrd1FpeExRVUZsTjBRc1JVRkJUVFpFTEVkQlFWa3NTMEZKTVVJM1JDeEZRVUZMYjFNc1dVRkROVUpPTEVWQlFWazVVaXhGUVVGTGIxTXNWVUZCWVN4TFFVVmFNVk1zU1VGQlZTeEpRVU5hTEV0QlFWRm5TQ3hIUVVGWGMwWXNSVUZCVHl4TFFVMW9ReXhKUVVGVVlTeEZRVWRLTEUxQlFWVTNUU3hKUVVGVEsxSXNSMEZCWVM5U0xFZEJRVkZCTEVWQlFVMXZTeXhMUVVNelEzbERMRVZCUVU5clJpeEZRVUZaTEVsQlFVOURMRVZCUVUwMVN5eFZRVVV6UW5OTExFVkJRMDR4VWl4RlFVRkxiVXNzVTBGQlV6VkZMR2RDUVVGclFuQkRMRVZCUTJRc1NVRkJiRUp1UkN4RlFVRkxWaXhqUVVOSWRVNHNTVUZIUjNGR0xFdEJUVXBNTEVkQlRFRkRMRVZCUVdFNVVpeEZRVUZOTmtRc1MwRkRhRUkzUkN4RlFVRk5Oa1FzUjBGQldTeExRVWxMTjBRc1JVRkJTMjlUTEZsQlF6VkNUaXhGUVVGWk9WSXNSVUZCUzI5VExGVkJRV0VzUzBGRmNFSXhVeXhIUVVGVExFTkJRVVZuU0N4RlFVRlRiVWNzU1VGSE4wSTNUU3hKUVVGVGJVTXNUVUZWYkVJc1QwRkVRVEJMTEVkQlFWRjBTeXhMUVVOUlJpeEhRVUZYZDBzc1JVRkJUM2hMTEVkQlFWVXNSMEZCUzNkTExFVkJRVTk0U3l4SFFVRlRMRXRCUzNKRmIwY3NUMEZCVlN4VFFVRlZORW9zUlVGQlVXaEdMRWRCVFROQ0xFbEJRVWxwUml4RlFVTkljbElzUlVGQlMzZEZMRVZCUVV0clF5eFJRVUZUTUVzc1NVRkJXVFZOTEVWQlFVczRUU3hYUVVGWlJpeEZRVUZQT1Uwc1owSkJRM1JFUXl4SFFVRlBkRUlzVFVGQlR5eDFRa0ZCZVVKdFR5eEhRVXQ2UXl4UFFVRkxjRklzUlVGQlNUUkRMRWRCUTBRMVF5eEZRVUZKYjAwc1IwRkpVSEJOTEVWQlFVZEhMRTlCUVZNc1IwRkRhRUpyVWl4RlFVRlBMRU5CUVVWRUxFVkJRVkZCTEVWQlFWRXNSMEZCU1doR0xFZEJRM1JDTlVnc1JVRkJTemhOTEZkQlFWZDJWQ3hsUVVGblFuRlVMRVZCUVU4NVRTeGxRVU0zUXpaSExFZEJRV01zVTBGQlZUTkNMRVZCUVUwelJpeEhRVWszUWl4SlFVaEJMRWxCUVVrd1RpeEZRVU5JUXl4RlFVRlZlRklzUlVGQlNYZEtMRVZCUVUwMFF5eEhRVU53UW01T0xFVkJRVWwxVXl4RlFVRlJjbElzVDBGRFRHeENMRXRCUlZCMVN5eEZRVVJCSzBnc1JVRkJUVFZVTEVWQlFWTTJUQ3hGUVVGTlowa3NSVUZCVTNaVExFOUJRMkkwUlN4RlFVRlRNRTRzUjBGQlVVTXNSVUZCVTNaVExFMUJSemRETEZOQlFWVnBReXhIUVVOVUxFOUJRVTlzUWl4RlFVRkphMElzUlVGQlRTeEZRVUZIYlZFc1MwRkphRUp5VWl4SlFVbFVNRWNzVVVGQlV5eERRVWRTSzBzc1NVRkJUM1JITEVkQlFXTXNVMEZCVlhKTUxFZEJTemxDTEVsQlFVa3lUaXhGUVVGUkxFZEJRMWhvU3l4RlFVRlZMRWRCUTFacFR5eEZRVUZWT1Uwc1JVRkJVemxGTEVWQlFWTnBSQ3hSUVVGVE9FUXNSVUZCVHl4UFFVVTNReXhQUVVGUE5rc3NSVUZCVXpsUExFZEJRMloxU1N4SFFVRmpMRk5CUVZVelFpeEZRVUZOTTBZc1JVRkJVelpOTEVWQlFWVkRMRWRCVFdoRUxFbEJURUVzU1VGQlNYcFFMRVZCUTBoNVVTeEZRVUZaUkN4RlFVRlRiRWtzUlVGQlRTeExRVUZOYlVnc1JVRkJTeXhKUVVOMFF6RlNMRVZCUVVsMVN5eEZRVUZMY2tvc1QwRkhSbXhDTEUxQlEwRnBReXhGUVVGUGVWRXNSVUZCVnpGVExFMUJRM2hDZFVzc1JVRkJUWFpMTEV0QlFWTTBSU3hGUVVGVE5VVXNSMEZCVFdsRExFMUJTV3BETEZOQlFWVkJMRVZCUVUxM1VDeEZRVUZWUXl4SFFVMTZRaXhQUVV4QmJFUXNSVUZCVHl4SFFVRk5kazBzUlVGRFluZFJMRVZCUVZOcVJTeEZRVUZQTEV0QlFVMXJSQ3hGUVVGTGJFNHNSMEZITTBKblN5eEZRVUZQTEVkQlFVMHNUVUZEVEdoTExFVkJRVkV3UXl4VFFVbHVRbmxNTEVsQlFVOTZSeXhIUVVGakxGTkJRVlZ5VEN4SFFVTTVRaXhQUVVGUExGTkJRVlZ2UWl4SFFVTm9RaXhQUVVGUGNVUXNSMEZCVVhwRkxFVkJRVlZ2UWl4SFFVRlBaaXhQUVVGVExFdEJTVE5EYlVZc1UwRkJXVFpHTEVkQlFXTXNVMEZCVlRsTUxFZEJSVzVETEU5QlJFRkJMRVZCUVU5QkxFVkJRVXN3UkN4UlFVRlRiVVlzUjBGQlYwTXNTVUZEZWtJc1UwRkJWV3BJTEVkQlEyaENMRTlCUVZOQkxFVkJRVXRwVHl4aFFVRmxNVXNzUlVGQlUzWkVMRWxCUVZOMlJDeFJRVUZUTUVJc1NVRkJWU3hMUVZkd1JYZFRMRXRCUVZFeFJ5eEhRVUZqTEZOQlFWVXdSeXhIUVU4dlFpeFBRVXBOTTBzc1JVRkJXVzlFTEV0QlFVMTFTQ3hIUVVGUkxFdEJReTlDZEU0c1IwRkJUM1JDTEUxQlFVOHNjVUpCUVhWQ05FOHNSMEZGZEVOQkxFVkJRVTlCTEVWQlFVczVUeXhSUVVGVGJVWXNSMEZCVjBNc1NVRkJXVGRFTEdOQlEzSkRMRk5CUVZWd1JDeEhRVU5vUWl4SlFVRkpORkVzUlVGRFNpeEhRVU5ETEVkQlFVOUJMRVZCUVZjelRTeEZRVU5xUW1wRkxFVkJRVXN5VVN4TFFVTk1NMUVzUlVGQlN6VkNMR0ZCUVdNc1lVRkJaMEkwUWl4RlFVRkxOVUlzWVVGQll5eFJRVWQwUkN4UFFVUkJkMU1zUlVGQlYwRXNSVUZCVTNoT0xHbENRVU5CZFU0c1IwRkJNa01zU1VGQmJrTkRMRVZCUVZOdVZTeFJRVUZUYTFVc1JVRkJUeXhaUVVVelF6TlJMRVZCUVU5QkxFVkJRVXQ0UWl4aFFVRnJReXhKUVVGc1FuZENMRVZCUVVzM1F5eFZRVU0zUXl4UFFVRlBMRXRCUzFScFJTeFBRVUZWTEZOQlFWVndRaXhIUVVOdVFpeEpRVUZKTmxFc1JVRkJUMnhXTEVWQlFVOXRWaXhWUVVGWmJsWXNSVUZCVDIxV0xGTkJRVk5FTEV0QlF6bERMRTlCUVU5QkxFZEJRVkZCTEVWQlFVc3pWU3hOUVVGUExFdEJRVkU0UkN4RlFVRkxaMG9zU1VGSGVrTXJTQ3hMUVVGUkxGTkJRVlV2VVN4SFFVTnFRaXhQUVVGUFFTeEpRVUZUWjBVc1IwRkhha0puVGl4TlFVRlRMRk5CUVZWb1VpeEhRVU5zUWl4UFFVRlBRU3hKUVVGVGVFVXNSVUZCVTNsV0xHbENRVU55UW5wV0xFVkJRVk13Vml4VlFVRlpNVllzUlVGQlV6QldMR2RDUVVNM1FteFNMRVZCUVV0NlF5eE5RVUZSZVVNc1JVRkJTMjFTTEU5QlFWTnVVaXhGUVVGTGIxSXNWMEZKZEVORExGRkJRVmQwUnl4SlFVRnpRaXhIUVVOcVEyaEVMRk5CUVZsblJDeEpRVUZ6UWl4SFFVVnNRM1ZITEZGQlFWY3NVMEZCVlhSU0xFZEJTWEJDTEVsQlFVbG5TU3hGUVVGWGFFa3NSVUZCUzJkSkxGTkJRVk0xUlN4alFVTTNRaXhOUVVGelFpeFZRVUZpTkVVc1MwRkJNRUpvU1N4RlFVRkxjMUlzVTBGRGVFSXNWMEZCWW5SS0xFdEJRVEpDYUVrc1JVRkJTM1ZTTEZWQlIzQkRRU3hUUVVGWkxGTkJRVlYyVWl4SFFWTnlRaXhQUVV4TFFTeEZRVUZMZUVJc1dVRkZWSGRDTEVWQlFVdDRRaXhYUVVGWFoxUXNaVUZIVVN4SlFVRnNRbmhTTEVWQlFVdDFVaXhWUVVsaVJTeE5RVUZUTEZOQlFWVjZVaXhIUVUxc1FpeEpRVUZOUVN4RlFVRlBRU3hGUVVGTGEwOHNWMEZCV1d4UExFVkJRVTFCTEVWQlFVOUJMRVZCUVVzMFN5eFpRVU12UXl4SFFVRkxOVXNzUlVGQlN6ZERMRk5CUVZjc1JVRkRjRUlzVDBGQlR5eEZRVWRVTEU5QlFVOHNSMEZIVWpKVExFOUJRVlVzVTBGQlZUbFFMRWRCUTI1Q0xFOUJRVkZ6UkN4RlFVRkxhME1zVVVGQmFVSXNUVUZCUjNoR0xFbEJTV3hETUZJc1QwRkJWU3hUUVVGVk1WSXNSMEZEYmtJc1QwRkJUelJITEVWQlFWRjNReXhMUVVGTmNFb3NSVUZCUzJkSkxGZEJSek5DZFVVc1RVRkJVeXhUUVVGVmRrMHNSMEZEYkVJc1QwRkJUekpITEVWQlFWRjVReXhMUVVGTmNFb3NSVUZCUzJkSkxGZEJSek5DTWtvc1QwRkJWU3hUUVVGVk0xSXNSMEZEYmtJc1NVRkJTV2RDTEVWQlFVOW9RaXhGUVVGTFowa3NVMEZCVXpWRkxHTkJRM3BDTEUxQlFXZENMRlZCUVZSd1F5eEhRVUZyUXl4WFFVRmthRUlzUlVGQlMzcERMRTFCUVRoQ0xGZEJRVlI1UkN4SFFVZDBSRGRETEV0QlFWRXNVMEZCVlRaQ0xFZEJRMnBDTEVsQlFVa3dUaXhGUVVOS0xFMUJRWFZETEZWQlFXaERNVTRzUlVGQlMyZEpMRk5CUVZNMVJTeGxRVU5PTEZOQlFXUndSQ3hGUVVGTGVrTXNUMEZKZFVNc1QwRkJlRU50VVN4RlFVRlBNVTRzUlVGQlN6VkNMR0ZCUVdNc1ZVRkRUaXhUUVVGMlFuTlFMRVZCUVV0MFN5eG5Ra0ZKVW14RUxFMUJRVk1yU3l4SFFVRjNRaXhYUVVOb1F5eE5RVUZQTEVOQlFVVXNTMEZIVmpkTExFdEJRVkUyU3l4SFFVRjNRaXhUUVVGVk1rY3NSVUZCWlROVExFZEJRM2hFTEUxQlFVOHNRMEZCUlVFc1JVRkJVeXhMUVVkdVFtdENMRWRCUVUwNFN5eEhRVUYzUWl4VFFVRlZNa2NzUlVGQlpUTlRMRVZCUVZGcFRTeEhRVU01UkN4TlFVRlBMRU5CUVVWQkxFVkJRVmNzUlVGQlNVRXNSVUZCVjJwTkxFVkJRVk5wVFN4TFFVYzNRemRMTEV0QlFWRTBTeXhIUVVGM1FpeFRRVUZWUlN4RlFVRmpiRTBzUjBGRmRrUXNTVUZFUVN4SlFVRkpiRUlzUlVGQlNTeEZRVU5CUVN4RlFVRkphMElzUlVGQlVXeENMRWRCUVVzc1JVRkRlRUp2VGl4RlFVRmhNMDhzUzBGQlRYVkNMRWRCUlhCQ0xFOUJRVTl2VGl4SlFVZFNNMHNzU1VGQlQzbExMRWRCUVhkQ0xGTkJRVlZGTEVWQlFXTnNUU3hIUVVWMFJDeEpRVVJCTEVsQlFVbHNRaXhGUVVGSkxFVkJRMEZCTEVWQlFVbHJRaXhGUVVGUmJFSXNSMEZCU3l4RlFVTjRRbTlPTEVWQlFXRXpUeXhMUVVGTmRVSXNSMEZGY0VJc1QwRkJUMjlPTEVsQlIxSXdSeXhIUVVGTk5VY3NSMEZCZDBJc1UwRkJWVVVzUlVGQlkyeE5MRVZCUVZGcFRTeEhRVTAzUkN4SlFVeEJMRWxCUVVsdVRpeEZRVUZKYlU0c1JVRkJWeXhGUVVOc1FrRXNSVUZCVjJwTkxFVkJRMWhwVFN4RlFVRlhhazBzUlVGRFZrRXNSVUZEUVdsTkxFbEJRMUZ1VGl4SFFVRkxMRWRCUTJSdlRpeEZRVUZoTTA4c1MwRkJUWFZDTEVkQlJYQkNMRTlCUVU5dlRpeEpRVWRTTWtjc1IwRkJUVGRITEVkQlFYZENMRk5CUVZWRkxFVkJRV05zVFN4RlFVRlJhVTBzUjBGRk4wUXNTVUZFUVN4SlFVRkpiazRzUlVGQlNXMU9MRVZCUVZjc1JVRkJTVUVzUlVGQlYycE5MRVZCUVZOcFRTeEpRVU5xUTI1T0xFVkJRVWxyUWl4SFFVTmlhMDBzUlVGQllUTlBMRXRCUVUxMVFpeEhRVVZ3UWl4UFFVRlBiMDRzVDBGTFRETkdMRkZCUVdVc1NVRkJTV3hETEVWQlFVdHJReXhSUVVGakxFZEJSMmhETEVOQlFVVjFUU3hQUVVGUExFVkJRVTFETEZWQlFWVXNSVUZCVFVNc1RVRkJUU3hGUVVGTlF5eFZRVUZWTEVWQlFVMURMRTlCUVU4c1IwRkROVVUzVHl4RlFVRkxhME1zVVVGQlUzcElMRWRCUVUwNFRTeEhRVUZ0UWpsTkxFZEJSWGhETEVsQlFVMUJMRWxCUVVzc1EwRkJSWEZWTEZGQlFWRXNSVUZCVFVNc1QwRkJUeXhIUVVOcVF5OVBMRVZCUVV0clF5eFJRVUZUZWtnc1IwRkJUU3ROTEVkQlFXOUNMMDBzUjBGSmVrTXNVMEZCVTNGVExFMUJNRVZVTEZOQlFWTTNSeXhIUVVGWkswa3NSMEZKY0VJc1NVRklRU3hKUVVGSmRsVXNSVUZCU1N4RlFVTlFNRU1zUlVGQlRUWlNMRVZCUVU5eVZDeFBRVU5pVEN4RlFVRlhMRWRCUTBwaUxFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSmhMRWRCUVZrd1ZDeEZRVUZSZGxVc1IwRkJTU3RGTEUxQlJYcENMRTlCUVU5c1JTeEZRVWRTTEZOQlFWTnJTaXhIUVVGbE1Fa3NSVUZCVXl0Q0xFVkJRVmxETEVkQlF6VkRMRWxCUVVsMlN5eEZRVUZOYzBzc1JVRkJWM1JMTEVsQlEzQkNkMHNzUlVGQlQwWXNSVUZCVjNKTExFdEJRMnhDTkVJc1JVRkJUVEpKTEVkQlFWRjRTeXhGUVVOa2VVc3NSVUZCYlVKR0xFZEJRV2RDTEdWQlFWSXhTU3hGUVVNelFqWkpMRVZCUVZkdVR5eEpRVVZhTEU5QlFVOHJUaXhGUVVGWGNsTXNUVUZIYWtJc1UwRkJWVVlzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU40UWl4TFFVRlZlbEFzUlVGQlQwRXNSVUZCVFdsSkxFbEJRM1JDTEVkQlFYVkNMRWxCUVd4Q2Fra3NSVUZCU3pkRExGVkJRV3RDZFZZc1JVRkRNMElzVDBGQlQyeERMRVZCUVZONFVTeEZRVUZOYmtJc1JVRkJVelJSTEVkQlIycERMRTlCUVU4c1IwRkpVaXhUUVVGVmVsQXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTjRRaXhKUVVGSmJVUXNSVUZCVld4RUxFVkJRV0ZETEVWQlF6RkNhMFFzUlVGQlZ5eERRVUZGZEU4c1JVRkJVMjlQTEVkQlIzWkNMRWRCUVV0c1JDeEhRVU5LTEV0QlFWVjZVQ3hGUVVGUFFTeEZRVUZOYVVrc1NVRkRkRUlzU1VGQmRVSXNTVUZCYkVKcVNTeEZRVUZMTjBNc1ZVRkJhMEoxVml4SlFVTjBRbXhETEVWQlFWTjRVU3hGUVVGTmJrSXNSVUZCVXpSUkxFZEJRelZDTEU5QlFVOHNUMEZMVml4TFFVRlZlbEFzUlVGQlQwRXNSVUZCVFdsSkxFbEJRM1JDTEVkQlFYVkNMRWxCUVd4Q2Fra3NSVUZCU3pkRExGVkJRV3RDZFZZc1JVRlJNMElzUjBGSVFXaEVMRWRCU2tGRExFVkJRV0V6VUN4RlFVRk5NRUlzUzBGQlpURkNMRVZCUVUwd1FpeEhRVUZaTEV0QlNURkNNVUlzUlVGQlMybFJMRmxCUXpWQ1RpeEZRVUZaTTFBc1JVRkJTMmxSTEZWQlFXRXNTVUZGTlVKM1F5eEhRVUZSUVN4SlFVRlRlbE1zUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU51UTNCRUxFVkJRVTlCTEVWQlFVMXBTU3hKUVVGVGFra3NUVUZEYUVJc1EwRkJRU3hKUVVGUE5GTXNSVUZCVjJ4RUxFVkJRV0UxUml4TFFVTnlRemhKTEVWQlFWVXNTMEZCVVhKUExFZEJRVmR4VHl4RlFVRlZMRXRCUVZGRUxFVkJSeTlETEU5QlFWTkZMRVZCUVZVc1IwRkJUVVFzUlVGQlZTeEhRVTl1UXl4SFFVaEJiRVFzUlVGQllUVkdMRWRCUVZFclNTeEZRVWRrUVN4RlFVRlZMRWRCUVUxeVF5eEZRVUZUZUZFc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVNNVF5eFBRVUZQTEVWQlRWb3NUMEZCVHl4SFFVbFdMRk5CUVZOeFJDeEhRVUZuUWtNc1IwRkRlRUlzVDBGQlQwRXNSVUZCVXpsVUxFOUJRVk1zUlVGRGVFSXNVMEZCVldVc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVWNFFpeEpRVVJCTEVsQlFVa3hVaXhGUVVGSloxWXNSVUZCVXpsVUxFOUJRMVJzUWl4TFFVTlFMRWxCUVUxblZpeEZRVUZWYUZZc1IwRkJTMmxETEVWQlFVMXVRaXhGUVVGVE5GRXNSMEZEYmtNc1QwRkJUeXhGUVVkVUxFOUJRVThzUjBGRlVuTkVMRVZCUVZVc1IwRlpXaXhUUVVGVFF5eEhRVUZWZGtNc1JVRkJWekZSTEVWQlFVdHJUU3hGUVVGUmNFNHNSVUZCVXpSUkxFZEJUMjVFTEVsQlRrRXNTVUZCU1hwUUxFVkJRMGhwVkN4RlFVRmxMRWRCUTJac1ZpeEZRVUZKTEVWQlEwb3dReXhGUVVGTloxRXNSVUZCVlhoU0xFOUJRMmhDYVZVc1JVRkJaMElzVFVGQlVHNVVMRVZCUlVab1F5eEZRVUZKTUVNc1JVRkJTekZETEV0QlExUnBReXhGUVVGUGVWRXNSVUZCVnpGVExFMUJRMnhDYTA4c1NVRkJWVUVzUlVGQlVXcE5MRVZCUVUxdVFpeEZRVUZUTkZFc1MwRkRkRU4zUkN4RlFVRmhlbGNzUzBGQlRYZEVMRWRCUTJSclZDeEhRVU5LYmxRc1JVRkJTWFpFTEV0QlFVMTFRaXhMUVUxa0xFOUJRVTlyVml4RlFVZFNMRk5CUVZORkxFZEJRVmw0UlN4RlFVRlhMMUFzUlVGQlZUUlNMRVZCUVZNMFF5eEZRVUZaUXl4RlFVRlpReXhIUVU4eFJTeFBRVTVMUml4SlFVRmxRU3hGUVVGWk1WSXNTMEZETDBJd1VpeEZRVUZoUkN4SFFVRlpReXhKUVVWeVFrTXNTVUZCWlVFc1JVRkJXVE5TTEV0QlF5OUNNbElzUlVGQllVWXNSMEZCV1VVc1JVRkJXVU1zU1VGRkwwSnlTaXhIUVVGakxGTkJRVlV6UWl4RlFVRk5MMFlzUlVGQlV6RkVMRVZCUVZNMFVTeEhRVU4wUkN4SlFVRkpPRVFzUlVGQlRYaFdMRVZCUVVkcFF5eEZRVU5hZDFRc1JVRkJVeXhIUVVOVVF5eEZRVUZWTEVkQlExWkRMRVZCUVdOdVVpeEZRVUZSZEVRc1QwRkhkRUpSTEVWQlFWRTJTU3hIUVRWRFdDeFRRVUV5UWpGS0xFVkJRVlVyVlN4RlFVRlZjRklzUjBGSE9VTXNTVUZHUVN4SlFVRkplRVVzUlVGQlNTeEZRVU5RTUVNc1JVRkJUV3RVTEVWQlFWTXhWU3hQUVVOU2JFSXNSVUZCU1RCRExFVkJRVXN4UXl4SlFVTm9Rbk5HTEVkQlFWRjZSU3hGUVVGVksxVXNSVUZCVlRWV0xFZEJRVXQzUlN4SFFVVnNReXhQUVVGUFFTeEZRWE5EVjNGU0xFTkJRMlpvVml4SFFVRlpMRWxCUTFwRExFVkJRVkV4UWl4VFFVRlhMRU5CUVVVd1FpeEhRVUZaUVN4RlFVTnFReXhKUVVsRVoxWXNSMEZCV1d4R0xFbEJRV1Z5Unl4SFFVRlRNVW9zUlVGRmJrTmhMRVZCUkVGMVZDeEhRVUZWZGxRc1JVRkJUeXRVTEVWQlFWRTNSU3hGUVVGWE9WQXNSVUZCVXpSUkxFZEJSemxEY1VVc1JVRkJZWFJFTEVWQlIxbzJReXhKUVVGblFpOUxMRVZCUVU5eFJ5eEZRVUZaSzBVc1IwRkJaVTRzUjBGSGFrUXNSMEZIUVRkUkxFVkJRMFJ6VWl4RlFWRkdMRWRCVEV0eVJDeEhRVU5LUVN4RlFVRlRjVVFzUlVGQlYwTXNSVUZCV1dwV0xFVkJRVk0wVVN4SFFVbHlRekpFTEVWQlRVb3NTVUZNUVVjc1JVRkJUMUFzUjBGQlZXTXNSVUZCV1V3c1IwRkROMEpNTEVWQlFWbEhMRVZCUVUwc1IwRkJTVEZWTEVWQlFWTTBVU3hIUVVjdlFqRlNMRVZCUVVsM1ZpeEZRVUZMZEZVc1QwRkRSR3hDTEUxQlEwRnBReXhGUVVGUGRWUXNSVUZCVFhoV0xFMUJRMjVDSzFZc1JVRkJXVXdzUlVGQlV6RldMRTFCUVZjNFZpeEZRVUZYU2l4RlFVRlRNVllzU1VGQlVXbERMRWxCU3k5RUxFZEJRVXR6U1N4SFFVTktMRWRCUVVzclN5eEhRVUZqTVVVc1JVRkJXU3hEUVVNNVFpeEhRVUZMTUVVc1JVRkJZU3hEUVV0cVFpeEpRVVpCUlN4RlFVRlBMRWRCUTFCNFZpeEZRVUZKSzFZc1JVRkJWemRWTEU5QlExQnNRaXhOUVVOQmFVTXNSVUZCVHpoVUxFVkJRVmt2Vml4TFFVZDZRbmRXTEVWQlFVc3ZWeXhMUVVGUmNWZ3NSVUZCVnpsV0xFZEJRVTFwUXl4SFFVZG9RM0ZVTEVWQlFWa3NTMEZCVVZNc1JVRkJZU3hIUVVGTlVDeEZRVUZOT1VRc1IwRkxPVU1zU1VGRVFURlNMRVZCUVVrclZpeEZRVUZYTjFVc1QwRkRVR3hDTEUxQlEwRnBReXhGUVVGUE9GUXNSVUZCV1M5V0xFMUJRM1pDZDFZc1JVRkJUMFlzUlVGQllUVlhMRVZCUVZNMlRDeEZRVUZOZEVrc1IwRkJVM2RVTEVWQlFWRjZWaXhMUVVGVExFbEJSUzlFZFVzc1JVRkJUV2xNTEV0QlFWbG9VaXhGUVVGVFoxSXNSMEZCVTNaVUxGVkJUM1pET0ZRc1JVRkJZV1FzUjBGRFdtTXNTVUZCWlhaU0xFVkJRMlIxVWl4RlFVRlhhbFFzVDBGQlVUWlRMRVZCUVdGSkxFVkJRVmMzVlN4UlFVTXpRelpWTEVkQlJVZFVMRVZCUTBwQkxFVkJRVmtzUzBGQlRUbFJMRVZCUVZOMVVpeEZRVUZaY2tVc1IwRkZka05xVkN4RlFVRkxSQ3hOUVVGUFowY3NSVUZCVTNWU0xFdEJUWHBDTEZOQlFWTkRMRWRCUVcxQ2VrSXNSMEY1UWpOQ0xFbEJlRUpCTEVsQlFVa3dRaXhGUVVGamVFUXNSVUZCVXpsUUxFVkJRekZDUkN4RlFVRk5ObElzUlVGQlQzSlVMRTlCUTJKblZpeEZRVUZyUWpOUkxFVkJRVXRuVEN4VFFVRlZaMFVzUlVGQlVTeEhRVUZKTDFVc1RVRkROME15Vnl4RlFVRnRRa1FzUjBGQmJVSXpVU3hGUVVGTFowd3NVMEZCVlN4TFFVTnlSSFpSTEVWQlFVbHJWeXhGUVVGclFpeEZRVUZKTEVWQlJ6RkNSU3hGUVVGbGNrMHNSMEZCWlN4VFFVRlZPVWdzUjBGRGRrTXNUMEZCVDBFc1NVRkJVMmRWTEVkQlEyUkZMRWRCUVd0Q0xFZEJRM0pDUlN4RlFVRnJRblJOTEVkQlFXVXNVMEZCVlRsSUxFZEJRekZETEU5QlFVOTJSQ3hGUVVGVGRWZ3NSVUZCWTJoVkxFbEJRVlVzUjBGRGRFTnJWU3hIUVVGclFpeEhRVU55UW01Q0xFVkJRVmNzUTBGQlJTeFRRVUZWTDFNc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVOeVF5eEpRVUZKTDFBc1IwRkJVM1ZWTEVsQlFYRkNlRVVzUjBGQlR6VlJMRWxCUVZrclJTeE5RVU5zUkc5UkxFVkJRV1Z1Vml4SFFVRlZNVUlzVTBGRE1VSm5XQ3hGUVVGamJsVXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTTNRakpGTEVWQlFXbENjRlVzUlVGQlRXNUNMRVZCUVZNMFVTeEpRVWxzUXl4UFFVUkJkVVVzUlVGQlpTeExRVU5TZEZVc1NVRkhSRE5DTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEYUVJc1IwRkJUM2xUTEVWQlFWVnNUaXhGUVVGTFowd3NVMEZCVldkRkxFVkJRVkYyVlN4SFFVRkpVaXhOUVVNelEzZFdMRVZCUVZjc1EwRkJSV3BNTEVkQlFXVm5UQ3hIUVVGblFrTXNSMEZCV1haRExGRkJRMnhFTEVOQlNVNHNTVUZJUVVFc1JVRkJWV3hPTEVWQlFVc3lTU3hQUVVGUmNVY3NSVUZCVVhaVkxFZEJRVWxTTEUxQlFVOW9RaXhOUVVGUExFdEJRVTByVml4RlFVRlJkbFVzUjBGQlNUUkZMRlZCUjNKRWFrSXNSMEZCV1N4RFFVbDZRaXhKUVVSQmFFSXNTVUZCVFRORExFVkJRMFV5UXl4RlFVRkpSQ3hKUVVOT05rTXNSVUZCUzJkTUxGTkJRVlZuUlN4RlFVRlJOVklzUjBGQlNXNUVMRTFCUkdoQ2JVUXNTMEZMYWtJc1QwRkJUM2xUTEVkQlEwNXdWaXhGUVVGSkxFZEJRVXNyVlN4SFFVRm5Ra01zUjBGRGVrSm9WaXhGUVVGSkxFZEJRVXQzVEN4SFFVZFVLMGtzUlVGRFJYQlhMRTFCUVU4c1JVRkJSelpDTEVWQlFVa3NSMEZEWkhwQ0xFOUJRVkVzUTBGQlJYZEhMRTFCUVdkRExFMUJRWHBDZDFBc1JVRkJVWFpWTEVWQlFVa3NSMEZCU1ZJc1MwRkJaU3hKUVVGTkxFMUJRM1JFYzBVc1VVRkJVemhFTEVWQlFVOHNUVUZEYkVJMlN5eEZRVU5CZWxNc1JVRkJTVEpETEVkQlFVdHhWQ3hIUVVGdFFucENMRVZCUVU5d1Z5eE5RVUZQTmtJc1JVRkJSekpETEVsQlF6ZERRU3hGUVVGSlJDeEhRVUZQYzFRc1IwRkJjVUo2UWl4RlFVRlRRU3hGUVVGUGNGY3NUVUZCVDNkRkxFbEJRM1pFUVN4RlFVRkpSQ3hIUVVGUE9Fa3NSMEZCV1N0SkxFbEJSM3BDVXl4RlFVRlRkbGNzUzBGQlRXZFZMRWRCU1dwQ0xFOUJRVTl6UXl4SFFVRm5Ra01zUjBGdlZIaENMRTlCZEhCQ1FUTkRMRWRCUVZkc1VpeFZRVUZaYjBVc1JVRkJTeXRSTEZGQlFWVXZVU3hGUVVGTGEwTXNVVUZETTBOc1F5eEZRVUZMT0Uwc1YwRkJZU3hKUVVGSlFTeEhRVVYwUWpOTkxFVkJRVmRLTEVkQlFVOUpMRk5CUVZjc1UwRkJWVGRGTEVWQlFWVXdWaXhIUVVOb1JDeEpRVUZKYUVVc1JVRkJVemRJTEVWQlFVODJTaXhGUVVGUkwxVXNSVUZETTBKbldDeEZRVUZQTjB3c1JVRkJVVGhNTEVWQlEyWkRMRVZCUVZNNVVDeEZRVUZaTDBZc1JVRkJWeXhMUVVWcVF5eEhRVUZMTmxZc1JVRkRTaXhQUVVGUFNDeEZRVUZaTEVWQlFVbEhMRVZCUVU5MldTeE5RVUZQTEVkQlQzUkRMRWxCU2tGeFdTeEZRVUZSTTFZc1JVRkRVamhLTEVWQlFWTXNSMEZEVkRoTUxFVkJRV0ZzVWl4RlFVRkxjVXdzVlVGRlZqUkdMRWRCUVZFc1EwRXlRbVlzU1VGQlRXaFlMRXRCZUVKQksxTXNTMEZCWVRkSUxFVkJRVkUzUXl4RlFVRlBhMFFzUzBGQlRYbE1MRTFCUTJ4RE9Vd3NTVUZIU2poTUxFVkJRVkZCTEVWQlFVMXlXU3hOUVVGUGRVMHNSVUZCVHl4SFFVRkplRW9zVTBGQldYTldMRWRCUlRkRE4wd3NSVUZCVDJ4TkxFdEJRVkU0Vml4RlFVRlRMRXRCUjNwQ2FFTXNSMEZCVlN4SFFVZElOMGdzUlVGQlVUVkRMRVZCUVdGcFJDeExRVUZOZVV3c1RVRkRha05xUlN4RlFVRlZOMGdzUlVGQlRYVkNMRkZCUTJoQ2Mwa3NSVUZCVHpsV0xFdEJRVTBzUTBGRFduTkhMRTFCUVU5M1RpeEZRVWRRTDFNc1MwRkJUV3RNTEVWQlFVOHNSMEZCU1RWSExGRkJRVk00UkN4RlFVRlBMRTlCUld4RE5FOHNSVUZCVVVFc1JVRkJUWEpaTEUxQlFVOXZWU3hGUVVGUmNsSXNVMEZKYUVKeFJTeEZRVUZMTWtrc1UwRkRXSGhFTEVWQlFWRjRReXhGUVVGWE1Va3NSMEZCVDNWTUxFdEJRVTE1VEN4TFFVRm5Ra01zUlVGQldXcFlMRTFCUTJoRmEwd3NSVUZCVVN0TUxFVkJRVmxxV0N4SFFVRlJhMHdzVFVGRE9VSTJTQ3hGUVVGVk4wZ3NSVUZCVFhWQ0xGRkJRMmhDYzBrc1JVRkJUemxXTEV0QlFVMHNRMEZEV25OSExFMUJRVTkzVGl4RlFVTlFMMU1zUzBGQlRVRXNSVUZEVG05R0xGRkJRVk00Uml4SlFVVldPRXdzUlVGQlVVRXNSVUZCVFhKWkxFMUJRVTl2VlN4RlFVRlJjbElzVTBGSkwwSXNTVUZCVFhGU0xFVkJRMHdzVFVGUFJpeFBRVUZQWjBVc1JVRkRUa01zUlVGQlRYUldMRTlCUTA1elZpeEZRVU5EYkZJc1IwRkJUM1JDTEUxQlFVOXVSQ3hIUVVka0swWXNSVUZCV1M5R0xFVkJRVlU0U2l4SFFVRlRlRTBzVFVGQlR5eEpRVFJhZWtOM1NDeEZRVUZWVEN4SFFVRlBTeXhSUVVGVkxGTkJRVlU1UlN4RlFVRlZOa29zUjBGRE9VTXNTVUZCU1RGTExFVkJRMGd5Vnl4RlFVRmpMRWRCUTJSRExFVkJRV3RDTEVkQlEyeENSaXhGUVVGVE4xQXNSVUZCWldoSExFVkJRVmNzUzBGRmNFTXNTVUZCVFRaV0xFVkJRVk1zUTBGUFpDeEpRVXBOYUUwc1NVRkRURUVzUlVGQlVXaEdMRVZCUVZVM1JTeEpRVVZ1UW1Jc1JVRkJTVEJMTEVWQlFVMTRTaXhQUVVOR2JFSXNUVUZEVURCWExFVkJRVk5XTEVkQlFXMUNkRXdzUlVGQlR6RkxMRXRCUTNSQ01rUXNSMEZEV21kVUxFVkJRVmxzV1N4TFFVRk5hVmtzUjBGRmJFSkZMRVZCUVdkQ2Jsa3NTMEZCVFdsWkxFbEJTM2hDUVN4RlFVRlROMUFzUlVGRFVtaEhMRVZCY2twSUxGTkJRVzFESzFZc1JVRkJhVUpFTEVkQlEyNUVMRWxCUVVsRkxFVkJRVkZHTEVWQlFWbDZWaXhQUVVGVExFVkJRMmhETkZZc1JVRkJXVVlzUlVGQlowSXhWaXhQUVVGVExFVkJRM0pETmxZc1JVRkJaU3hUUVVGVmVFMHNSVUZCVFhwS0xFVkJRVk0wVVN4RlFVRkxiRTRzUlVGQlUzZFRMRWRCUTNKRUxFbEJRVWt2VlN4RlFVRk5WU3hGUVVGSE9GQXNSVUZEV25kRkxFVkJRV1VzUlVGRFptcFlMRVZCUVVrc1NVRkRTakJUTEVWQlFWbHVTU3hIUVVGUkxFZEJRM0JDTWswc1JVRkJZU3hIUVVOaVF5eEZRVUZuUW5SU0xFVkJSMmhDYmtVc1JVRkJVVFpKTEVkQlFWRjFUU3hIUVVGaGRsSXNSVUZCU3paSkxFdEJRVmtzU1VGQlJ5eEpRVUZMTkVrc1IwRkhkRVJKTEVWQlFXdENOVkVzUjBGQk5FSXNUVUZCYWtJeVVTeEZRVUYzUWl4RlFVRkpkbFFzUzBGQlMwTXNWVUZCV1N4SFFVTXhSVzVDTEVWQlFVMW9RaXhGUVVGTlVpeFBRV05pTEVsQldrczRWaXhKUVUxS2JsSXNSVUZCYlVJdlJTeEhRVUZYY2tRc1IwRkJXWEZFTEVkQlFWZHJWeXhIUVUwNVEyaFlMRWxCUVUwd1F5eEhRVUZuUXl4UFFVRjJRbFFzUlVGQlQxQXNSVUZCVHpGQ0xFbEJRV1ZCTEVsQlFVMHNRMEZEZWtRc1IwRkJTemhYTEVkQlFXRTNWU3hGUVVGUExFTkJWM2hDTEVsQlZrRlZMRVZCUVVrc1JVRk5SVGRDTEVkQlFWZHRRaXhGUVVGTE5ra3NaVUZCYVVKeVRpeEpRVU4wUTNWSkxFVkJRV0V2UkN4SFFVTmllVkFzUjBGQlQzaE1MRWRCUlVWMVRTeEZRVUZWYlVVc1JVRkJhVUpxVlN4TlFVTndReXhIUVVGTE9GQXNSVUZCVTNoUkxFVkJRVTF1UWl4SFFVRlhja1FzUlVGQlZXbFZMRWRCUVZFc1EwRkRhRVJzVGl4RlFVRlJMMFlzUzBGQlRYZEVMRWRCUTJRc1RVRkhSeXRWTEVsQlEwcDRVU3hGUVVGVk5GRXNSMEZMVUZBc1MwRkhSelZWTEVkQlFWRjNVU3hIUVVGWGVGRXNTVUZEZWtKblZpeEpRVWxKTVUwc1IwRkRTbTFKTEVWQlFWVnFWU3hMUVVGTmQwUXNTVUZuUW01Q0xFZEJWRUZuVml4SFFVRm5RbXBZTEVWQlUxZzJWeXhIUVVGVE4xY3NTVUZCVFdsWUxFVkJRV1VzUTBGRmJFTXNTVUZFUVhSVkxFVkJRVWtzUlVGRFRUaFFMRVZCUVZWclJTeEZRVUZoYUZVc1RVRkRhRU00VUN4RlFVRlRReXhGUVVGWGQwVXNSVUZCV1hCWExFVkJRVk0wVVN4SFFVY3hReXhIUVVGTGJrZ3NSVUZCVHl4RFFVZFlMRWRCUVVzd1RTeEZRVUZsTEVWQlEyNUNMRXRCUVZGcVdDeExRVU5ETUZNc1JVRkJWekZUTEVsQlFVOXJXQ3hGUVVGWmJGZ3NTMEZEY2tOcldDeEZRVUZaYkZnc1IwRkJUV3RJTEVWQlFVazFTU3hMUVVGTmEwY3NTVUZOTDBJd1V5eEZRVUZoYWtNc1IwRkJWV2xETEVkQlNYaENlbGtzUlVGQlMwUXNUVUZCVDJkSExFVkJRVk13VXl4SFFVZG9Ra1lzU1VGQlkzcE5MRWRCUVZFeVRTeEZRVUZYYUZjc1QwRkJVeXhIUVVNMVF5dFdMRVZCUVdWT0xFVkJRVmw2Vml4UFFVRlhMRWRCUlhoRGIwVXNSMEZCVDNkTExGZEJRVmwwVEN4SFFWVnlRaXhQUVV4TGQxTXNTVUZEU25oUkxFVkJRVlUwVVN4RlFVTldkbElzUlVGQmJVSnpVaXhIUVVkaWVrVXNSMEZIVkN4UFFVRlBiVVVzUlVGRFRqTkxMRWRCUVdNMlN5eEhRVU5rUVN4RlFUUkNRMDBzUTBGQk1FSlVMRVZCUVdsQ1JDeExRVWx5UXpsV0xGTkJRVmRCTEVWQlJXNUNMRTlCUVU4MlZpeEhRVmxTT1ZFc1JVRkJVMDRzUjBGQlQwMHNUMEZCVXl4VFFVRlZMMFVzUlVGQlZVTXNSVUZCVXpCRUxFVkJRVk1yUml4SFFVTTVSQ3hKUVVGSmRrc3NSVUZCUjNWVkxFVkJRVkVyUXl4RlFVRlBPVmdzUlVGQlRUUlBMRVZCUXpOQ2JVb3NSVUZCSzBJc2JVSkJRV0l4Vnl4SFFVRXlRa0VzUlVGRE4wTTJTaXhIUVVGVFNDeEhRVUZSTjBVc1JVRkJXVGRGTEVWQlFWY3dWeXhGUVVGVE1WY3NWVUZCV1VFc1IwRk5PVVFzUjBGS1FUSkVMRVZCUVZWQkxFZEJRVmNzUjBGSlF5eEpRVUZxUW10SExFVkJRVTE0U2l4UFFVRmxMRU5CU1hwQ0xFbEJSRUZ4VkN4RlFVRlROMG9zUlVGQlR5eEhRVUZOUVN4RlFVRlBMRWRCUVVsMlRTeE5RVUZQTEVsQlF6VkNLME1zVDBGQlV5eEhRVUZ6UXl4UlFVRXZRbTlYTEVWQlFWRXZReXhGUVVGUkxFbEJRVTB2VlN4TlFVTTFRaXhKUVVGeVFuTkNMRVZCUVZFeFFpeFZRVUZyUWpoSExFZEJRV3RDV0N4RlFVRkxaMHdzVTBGQlZXZEZMRVZCUVZFc1IwRkJTUzlWTEUxQlFWTXNRMEZKYUVZc1MwRkdRWE5DTEVkQlFWbDVSU3hGUVVGTE5ra3NTMEZCVnl4SFFVRkhhMG9zUlVGQlRURlRMRkZCUVZNc1IwRkROVU5rTEZGQlFWTnRSaXhIUVVGWFF5eEpRVUZoY0Vrc1NVRkJZU3hKUVVGTkxFbEJSWEpFTEU5QlFVOHdSQ3hGUVVkSksxTXNTVUZEV0hwWExFVkJRVlZCTEVWQlFWRk1MRmxCUjI1Q1NTeEZRVUZYUVN4RlFVRlRNVU1zVFVGQlQyOVhMRVZCUVU5MFNTeFJRVUZSYkVnc1RVRkJUVGRFTEZGQlMycEVMRWxCUkVGc1FpeEZRVUZKYTBrc1JVRkJNRUlzWVVGQlJXMUVMRXRCUVUxNFN5eEhRVUZoTEVWQlFVa3dWQ3hGUVVGUGNsUXNUMEZEZEVSc1FpeE5RVU5RYzFnc1JVRkJVUzlETEVWQlFWRjJWU3hKUVVkWWRVWXNSVUZCUzJkTUxGTkJRVmt2VVN4RlFVRlBPRmdzUlVGQlRUbFlMRkZCUjI1RExFbEJRVTgwVHl4RlFVRlBOMGtzUlVGQlN6WkpMRXRCUVUwMVR5eE5RVWRxUWl0TExFVkJRVTgyUkN4RlFVTmlhMG9zUlVGQlRURlRMRkZCUVZNc1IwRkJTV1FzVVVGQlUyMUdMRWRCUVZkRExFbEJRM1pEUml4SFFVRlRjVU1zUzBGQlRXdEtMRVZCUVZFc1IwRkJTUzlWTEU5QlFWVTRUQ3hIUVVGaGVFc3NSVUZCVVV3c1lVRkRla1JMTEVsQlEwa3NRMEZMVEN4SFFVWkJlVlFzUlVGQlQzcFNMRTlCUVZFNVF5eEZRVUZITEV0QlEyeENZU3hGUVVGWE1Fb3NSVUZCUzNKS0xGRkJRVlZ6U3l4SFFVRlpLMGtzU1VGSGNrTXNUMEZFUVRsV0xFVkJRVXRFTEUxQlFVOW5SeXhGUVVGVEswWXNSMEZEWkM5R0xFVkJSMUlzVDBGbFNpeFBRVkJGSzFNc1IwRkJXVFZTTEVWQlFWTTVSU3hGUVVGVk5rb3NTVUZEYUVOSUxFVkJRMEY2U2l4SFFVTkRiMFlzUlVGRFJERkNMRWRCUTBNeFJDeEhRVUZYYTBrc1IwRkJVM0ZETEV0QlFVMTRTeXhKUVVGamVVc3NSMEZCWVhoTExFVkJRVkZNTEdGQlFXZENTeXhIUVVWNFJUQkVMRWRCVFZKMlJpeEZRVUZSWjFJc1YwRkJZWFJOTEVWQlFWRjNRaXhOUVVGUExFbEJRVXQwUXl4TFFVRk5hMFVzUjBGQldUQkZMRXRCUVUwc1RVRkJVemxJTEVWQlNURkZNVVVzUlVGQlVTdFJMRzFDUVVGeFFtcExMRVZCUnpkQ1F5eEpRVWxCTDBjc1JVRkJVVzFSTEdGQlFXVnFSQ3hIUVVGUkxGTkJRVlZETEVkQlIzaERMRTlCUVRSRkxFVkJRWEpGUVN4RlFVRkhORU1zZDBKQlFYbENkbElzUlVGQlV6QkRMR05CUVdVc1pVRk5kRVJuVFN4SFFVRlJMRk5CUVZWRExFZEJSWFpDTEU5QlJFRkJMRVZCUVVkeFF5eFZRVUZaTEcxQ1FVTnBReXhOUVVGNlEzSkRMRVZCUVVjclJDeFhRVUZYT1ZBc1lVRkJZeXhYUVVWdVEyZE5MRWRCUVZjc2VVSkJRVEJDTEZOQlFWVndTeXhGUVVGTlowSXNSVUZCVFhkRExFZEJRekZFTEVsQlFVMUJMRVZCUTB3c1QwRkJUM2hFTEVWQlFVczFRaXhoUVVGak5FTXNSVUZCTmtJc1UwRkJka0pCTEVWQlFVdHZReXhqUVVFeVFpeEZRVUZKTEV0QlQycEZjRWNzUlVGQlVYVkpMRmxCUVdVeVJTeEhRVUZSTEZOQlFWVkRMRWRCUnpsRExFOUJSa0ZCTEVWQlFVZHhReXhWUVVGWkxGZEJRMlp5UXl4RlFVRkhLMFFzVjBGQlZ6ZFFMR0ZCUVdNc1VVRkJVeXhKUVVOWkxFdEJRVEZET0V3c1JVRkJSeXRFTEZkQlFWYzVVQ3hoUVVGakxGbEJSVzVEWjAwc1IwRkJWeXhSUVVGVExGTkJRVlZ3U3l4RlFVRk5kVllzUlVGQlR5OVNMRWRCUXpGRExFbEJRVTFCTEVkQlFYbERMRlZCUVdoRGVFUXNSVUZCUzJkSkxGTkJRVk0xUlN4alFVTTFRaXhQUVVGUGNFUXNSVUZCUzNkV0xHVkJUMVIwVEN4SFFVRlJMRk5CUVZWRExFZEJRM1pDTEU5QlFYZERMRTFCUVdwRFFTeEZRVUZITDB3c1lVRkJZeXhsUVVWNFFtZE5MRWRCUVZkb1JpeEZRVUZWTEZOQlFWVndSaXhGUVVGTlowSXNSVUZCVFhkRExFZEJRekZETEVsQlFVbDRSaXhGUVVOS0xFbEJRVTEzUml4RlFVTk1MRTlCUVhkQ0xFbEJRV3BDZUVRc1JVRkJUV2RDTEVkQlFXdENRU3hGUVVGTGIwTXNaVUZEYWtOd1JpeEZRVUZOWjBNc1JVRkJTMjlOTEdsQ1FVRnJRbkJNTEV0QlFWbG9SQ3hGUVVGSk1sQXNWVUZET1VNelVDeEZRVUZKT0VVc1RVRkRTaXhQUVV0RlR5eEhRVEUwUlZBc1EwRTBORVZMTVVnc1IwRkpUR2RFTEVWQlFVOTNUaXhMUVVGUE9Va3NSVUZEWkRGRkxFVkJRVTgyVHl4TFFVRlBia3NzUlVGQlR5dExMRlZCUjNKQ2VsQXNSVUZCVHpaUExFdEJRVTBzUzBGQlVUZFBMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkRha00zUnl4RlFVRlBhMUFzVjBGQllXeFFMRVZCUVU4NFZ5eFBRVUZUY0ZNc1JVRkJUM2RMTEZkQlF6TkRiRkFzUlVGQlQxSXNTMEZCVDJ0R0xFVkJRVTlGTEZGQlEzSkNOVVVzUlVGQlR5dFhMRk5CUVZkeVV5eEZRVUZQUnl4TlFVTjZRamRGTEVWQlFVOTVSaXhUUVVGWFppeEZRVUZQWlN4VFFVTjZRbnBHTEVWQlFVOW5XQ3hsUVVGcFFuUlRMRVZCUVU4MlJDeFBRVXN2UWl4SlFVRkpaU3hGUVVGTkxGTkJRVlZxU1N4RlFVRk5hVWtzUlVGQlN6Sk9MRWRCU1RsQ0xFbEJTRUVzU1VGQlNYUkdMRVZCUVZVc1IwRkRZblZHTEU5QlFYRkNjRlVzU1VGQlZtMVZMRWRCUlVZMVZpeEZRVUZQUVN4RlFVRk5hVWtzUzBGQk5rSXNTVUZCYkVKcVNTeEZRVUZMTjBNc1ZVRkRkRU1zUjBGQmRVSXNTVUZCYkVJMlF5eEZRVUZMTjBNc1UwRkJhVUlzUTBGRE1VSXNSMEZCU3pCWkxFZEJRVmxzV0N4RlFVRlJjVUlzUjBGQlR6aFdMRWRCUVVsR0xFZEJRMjVETEUxQlJVUjBSaXhGUVVGUk9WUXNTMEZCVFhkRUxFZEJSMmhDTEU5QlFVOXpVU3hIUVVsS2VVWXNSVUZCVnl4VFFVRlZReXhGUVVGSGFGY3NSMEZITTBJc1NVRkdRU3hKUVVGSmMxRXNSVUZCVlN4SFFVVk9NRVlzUlVGQlIwRXNSVUZCU1VFc1JVRkJSWEJNTEZsQlEwa3NTVUZCWm05TUxFVkJRVVUzV1N4VlFVRnJRalpaTEVsQlFVMW9WeXhIUVVNNVFuTlJMRVZCUVZFNVZDeExRVUZOZDFvc1IwRkphRUlzVDBGQlR6RkdMRWRCU1VveVJpeEZRVUZuUW5SWUxFVkJRVTgyVHl4TFFVRkxMMFVzVFVGQlRXaERMR0ZCU1hSRExGTkJRVk4xUWl4RlFVRlZhRWtzUlVGQlRXZENMRWRCUlhoQ0xFOUJRVTlvUWl4RlFVRkxaMGtzVlVGQldXaEpMRVZCUVV0blNTeFRRVUZUTlVVc1owSkJRV3RDY0VNc1JVRkJTMjlETEdOQlJ6bEVMRWxCUVVrNFV5eEZRVUZoTEd0RlFVdHFRaXhUUVVGVFF5eEZRVUZSTVVrc1JVRkJWVEpKTEVWQlFWYzNSaXhIUVVOeVF5eFBRVUZMZEZRc1JVRkJXVzFhTEVkQlExUjZXQ3hGUVVGUE1rSXNTMEZCVFcxT0xFVkJRVlVzVTBGQlZYcE9MRVZCUVUxcVF5eEhRVU0zUXl4UlFVRlRjVmtzUlVGQlZTOWFMRXRCUVUweVJDeEZRVUZOYWtNc1JVRkJSMmxETEV0QlFWZDFVU3hKUVVzeFF6WkdMRVZCUVZWcVdpeFRRVU5RZDBJc1JVRkJUekpDTEV0QlFVMXRUaXhGUVVGVkxGTkJRVlY2VGl4SFFVTjJReXhQUVVGVFFTeEpRVUZUYjFjc1NVRkJaMEkzUml4SlFVdFdMR2xDUVVGa05rWXNSVUZEU25wWUxFVkJRVTh5UWl4TFFVRk5iVTRzUlVGQlZTeFRRVUZWZWs0c1IwRkRka01zVDBGQlUzWkVMRVZCUVZGS0xFdEJRVTByV2l4RlFVRlhjRmNzU1VGQlZTeEpRVUZSZFZFc1NVRkxMME0xVWl4RlFVRlBjMDRzVDBGQlVXMUxMRVZCUVZjelNTeEZRVUZWT0VNc1IwRkhOVU0xVWl4RlFVRlBjMDRzVDBGQlV5eFRRVUZWZFVJc1JVRkJUUzlPTEVWQlFVODRVU3hIUVVOMFF5eEpRVUZKZGxFc1JVRkJUMUFzUlVGQlR5eEhRVTFzUWl4UFFVcExPRkVzU1VGRFNpOURMRVZCUVU4c1VVRkJWVUVzUlVGQlR5eExRVWRJTEVsQlFXcENMMDRzUlVGQlRWSXNVVUZCYTBNc1NVRkJiRUpsTEVWQlFVczNReXhUUVVONFFuZENMRVZCUVU5M1RpeExRVUZMVFN4blFrRkJhVUo2VFN4RlFVRk5kMDRzUjBGQlV5eERRVUZGZUU0c1IwRkJVeXhIUVVkNFJISkNMRVZCUVU5M1RpeExRVUZMZUVvc1VVRkJVelpMTEVWQlFVMDNUeXhGUVVGUE1rSXNTMEZCVFdJc1JVRkJUeXhUUVVGVlR5eEhRVU12UkN4UFFVRjVRaXhKUVVGc1FrRXNSVUZCU3pkRExHRkJTV1IzUWl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbkZNTEV0QlFVMHNVMEZCVlhaT0xFZEJRMllzU1VGQlNXSXNSVUZCUnpKQ0xFVkJRMDVsTEVWQlFVMDNSU3hMUVVGTGNVUXNUMEZEV0c5WUxFVkJRVTk2WVN4TFFVVlNMRWRCUVhsQ0xHbENRVUZpWjBRc1JVRkRXQ3hQUVVGUGFFUXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFWRkRMRWRCUVZkeFRpeFBRVUZSTEZkQlEycEVMRWxCUVUxc1R5eEZRVUZKTEVWQlFVZEJMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRja0lzUjBGQlMxa3NSVUZCVDNsR0xGTkJRVlZwVXl4RlFVRk5kRmtzUjBGQlMyNURMRTFCUTJoRExFOUJRVThzUzBGUldDeEpRVVpCT0VRc1JVRkJUVGxFTEV0QlFVczBSQ3hWUVVGWExFbEJSV2hDZWtJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTUVNc1JVRkJTekZETEVsQlEzSkNXU3hGUVVGUGQwNHNTMEZCVFhaT0xFVkJRVlY1V0N4RlFVRk5kRmtzUjBGQlN6SkNMRWRCUjI1RExFOUJRVTlsTEVWQlFVMHNSVUZCU1RsQ0xFVkJRVTlyVUN4WFFVRlpiazhzUjBGQlVVRXNSMEZGTjBOMVRTeFBRVUZSTEZOQlFWVnlUaXhIUVVOcVFpeFBRVUZQYUVRc1MwRkJTelJFTEZWQlFWY3lWeXhGUVVGUmRtRXNTMEZCVFdkRUxFZEJRVmtzU1VGQlNTeExRVVYwUkRKU0xFbEJRVXNzVTBGQlZUTlNMRWRCUTJRc1QwRkJUMmhFTEV0QlFVczBSQ3hWUVVGWE1sY3NSVUZCVVhaaExFdEJRVTFuUkN4SFFVRlpMRWxCUVVrc1MwRkZkRVJyV0N4SFFVRkpMRk5CUVZWc1dDeEhRVU5pTEZGQlFWTjFXQ3hGUVVOU2RtRXNTMEZKYjBJc2FVSkJRV0puUkN4SFFVRjVRbkZZTEVWQlFXTTNUU3hMUVVGTmVFc3NSMEZEYmtSRUxFVkJRVkZETEVkQlExSkJMRWRCUVZrc1NVRkRZaXhIUVVORFN5eFZRVk5LTEVsQlFVbHhXQ3hGUVUxSWVGQXNSVUZCWVN4MVEwRkZUbTVKTEVWQlFVOUhMRWRCUVVkRExFdEJRVThzVTBGQlZVZ3NSVUZCVlVNc1JVRkJVMnRUTEVkQlEzQkVMRWxCUVVsMFNTeEZRVUZQZWtrc1JVRkhXQ3hKUVVGTmNFSXNSVUZEVEN4UFFVRlBhRVFzUzBGUlVpeEhRVWhCYlZZc1JVRkJUMEVzUjBGQlVYVkdMRVZCUjFVc2FVSkJRV0l4V0N4RlFVRjNRaXhEUVdGdVF5eExRVkJETmtvc1JVRk1jMElzVFVGQmJFSTNTaXhGUVVGVkxFbEJRM05DTEUxQlFYQkRRU3hGUVVGVlFTeEZRVUZUU3l4UFFVRlRMRWxCUXpWQ1RDeEZRVUZUU3l4UlFVRlZMRVZCUjFnc1EwRkJSU3hMUVVGTlRDeEZRVUZWTEUxQlIyeENhMGtzUlVGQlYyZERMRXRCUVUxc1N5eE5RVWxXTmtvc1JVRkJUeXhKUVVGUk5Vb3NSVUUyUTNoQ0xFOUJRVTFCTEVkQlFWZEJMRVZCUVZGTkxGRkJRM1JDVGl4SFFVRlhhMU1zUjBGQlR6VkZMRXRCUVUxMlRpeEhRVXN4UW1oRUxFdEJRVXQzUkN4WlFVRmhVQ3hIUVVGVmMwNHNTMEZCVFhaT0xFZEJhRVI2UXl4SFFVRkxOa29zUlVGQlR5eEhRVUZOTEVOQldXcENMRWRCV0VFMVNpeEZRVUZWUVN4aFFVRnRRa1lzUlVGQlUwVXNSVUZCVXl4SFFVRk5RU3hGUVVseVJFWXNSVUZCVDJkQ0xFMUJRVTh2UkN4TFFVRk5LME1zUlVGQlR6UllMRlZCUXpGQ09VNHNSVUZCVHl4SFFVTlFOVW9zUjBGQlYwRXNSVUZCVVRGQ0xGTkJRVmN3UWl4RlFVRlJaMHNzWlVGQmFVSm9TeXhGUVVGVmNrUXNSMEZEYWtVc1NVRkpTVEJoTEVWQlFWYzVUU3hMUVVGTldDeEZRVUZQTEV0QlFWTTVTaXhGUVVGUE1rTXNZMEZCWlhwRExFZEJRek5FTEVsQlFVMDBTaXhMUVVGVE5Vb3NSVUZIVkRWQ0xFVkJRVmx5UWl4TFFVRk5OazBzU1VGRGRFSTNUU3hMUVVGTk5rMHNSMEZCVXpWS0xFVkJRVk0wU2l4SlFVbDRRamROTEV0QlFVczRVaXhMUVVGTmFrWXNSVUZCVHpWS0xFVkJRVk0wU2l4SlFVczVRaXhQUVVGUE4wMHNTMEZaVUN4UFFWSkJiMFVzUlVGQlQzaEZMRVZCUVZOMVRpeGxRVUZuUWs0c1JVRkJUeXhQUVV0MFF6ZE5MRXRCUVUwc1IwRkJUVzlGTEVWQlExcHdSU3hMUVVGTGNVUXNUMEZCVXl4SFFVVlNja1FzUzBGalNDeFBRVUZMWjBRc1JVRkJVM3BDTEZWQlEzQkNka0lzUzBGQlRTeEhRVUZOWjBRc1JVRkRXbWhFTEV0QlFVdHhSQ3hQUVVGVExFVkJRMUJ5UkN4TlFVbEpjVUlzUlVGQldUSkNMRkZCUTBRMlF5eEpRVUZtYzFBc1JVRkJTM2xHTEUxQlExaDZSaXhGUVVGTGVVWXNUVUZCVHpWWUxFZEJSMXBCTEVWQlFWVkVMRWRCUjB4QkxFVkJRVTh5UkN4VlFVRlhNVVFzUlVGQlZXaEVMRkZCU1doRGMwUXNWVUZCV1ZBc1JVRkJUMGNzUjBGSGVFSjNXQ3hGUVVGaE0xZ3NSVUZCVVc1RUxFZEJSM0pDTEVsQlFVbHBZaXhGUVVGbExHbERRVWRzUWtNc1JVRkJiVUlzUTBGRGJFSkRMRlZCUVZVc1JVRkRWa01zVlVGQlZTeEZRVU5XTVU4c1RVRkJUU3hGUVVOT01rOHNUVUZCVFN4SFFXOUdVaXhUUVVGVFF5eEZRVUZUY2swc1JVRkJTM2hETEVkQlEzUkNMRTFCUVZWM1F5eEZRVUZOUVN4RlFVRkxlRU1zUzBGQk5FSXNTVUZCYWtKM1F5eEZRVUZKZEU0c1YwRkRjRU1zVDBGQlQzTk9MRVZCYmtaU09Vd3NSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZEYWtJMFVDeEpRVUZMTEZOQlFWVjBVQ3hIUVVOa0xFbEJRVWt5Vml4RlFVRlZjRmtzUlVGQlVYbERMRVZCUVZGNFJpeE5RVU0zUW05aUxFVkJRVWxFTEVWQlFWRTVXQ3hQUVVWaUxFOUJRVTl5UkN4TFFVRkxjVkVzVDBGQlVTeFhRVVZ1UWl4SlFVUkJMRWxCUVVsc1R5eEZRVUZKTEVWQlEwRkJMRVZCUVVscFdpeEZRVUZIYWxvc1NVRkRaQ3hIUVVGTFdTeEZRVUZQZVVZc1UwRkJWWGhKTEV0QlFVMXRZaXhGUVVGVGFGb3NTVUZEY0VNc1QwRkJUeXhMUVUxWWExb3NVVUZCVXl4VFFVRlZOMGtzUlVGQlYzWlFMRWRCUXpkQ0xFbEJRVWswVEN4RlFVTklNVTBzUlVGQlNTeEZRVU5LYVZvc1JVRkJTWEJpTEV0QlFVdHhSQ3hQUVVOVWNWSXNSVUZCVlN4SFFVTldlVWNzUlVGQkswSXNhVUpCUVdRelNTeEhRVUV3UW5wUUxFVkJRVkY1VUN4SFFVZHdSQ3hKUVVGTk5rZ3NSVUZCWXpkTkxFdEJRVTFuUml4SFFVTjZRaXhMUVVGUmNsRXNSVUZCU1dsYUxFVkJRVWRxV2l4SlFVTmtMRWxCUVUwd1RTeEZRVUZOTjA4c1MwRkJUVzFETEVkQlFVc3dUU3hIUVVGUFFTeEpRVUZSTlV3c1JVRkJVelJNTEVWQlFVMUJMRVZCUVVscVRTeFhRVWQ0UkN4SFFVRkxhVTBzUlVGQlNYUk9MRk5CUVZjc1MwRkJVVFJhTEVWQlF6TkNRU3hGUVVGUlJ5eE5RVUZQZWswc1NVRkJVeXhGUVVkUUxFbEJRV3BDUVN4RlFVRkpkRTRzVlVGRFNIZENMRVZCUVU5M1RpeExRVUZMVFN4blFrRkJhVUpvUXl4RlFVRkxNa1FzU1VGQlowSXNRMEZGYmtSclF5eEZRVUZST1ZRc1MwRkJUV2xQTEVkQlEyUXNUVUZOU2l4UFFVRlBOMDhzUzBGQlN6UkVMRlZCUVZjNFVTeEZRVUZSY2xJc1QwRkJVeXhGUVVGSlRpeEZRVUZQYTFBc1YwRkJXWGxETEVkQlFWbEJMRWxCU1RWRk5FY3NUVUZCVHl4VFFVRlZiRmdzUjBGSGFFSXNUMEZCVFVFc1JVRkxaU3hwUWtGQlZFRXNSVUZEU25aRUxFVkJRVkZLTEV0QlFVMXpReXhGUVVGUmNVSXNSMEZCVVhCRkxFdEJRVTBzU1VGSmNrTmhMRVZCUVZGS0xFdEJRVTFVTEV0QlIzQkNiMFVzUlVGQlMySXNUMEZCVTJFc1JVRkJUU3hIUVVGTlFTeEhRVnBxUW5CRkxFdEJRVTBzU1VGQlQwRXNTMEZCVFN4SFFVRkpORU1zVjBGQlpUVkRMRXRCUVV0elJTeFJRVUZSYVZnc1ZVRkJWV3haTEZGQlFWVXNSMEZuUW14R2JWa3NTVUZCU3l4VFFVRlZlRmtzUlVGQlZVTXNSMEZEZUVJc1QwRkJUMnBFTEV0QlFVczBSQ3hWUVVOWVlpeEZRVUZQYTFBc1YwRkRUbXhRTEVWQlFVOW5RaXhOUVVGUEwwUXNTMEZCU3pCRUxFMUJRVTlZTEVWQlFWRkRMRVZCUVZWRExFOUJTeTlEZDFrc1VVRkJVeXhUUVVGVmVsa3NSMEZEYkVJc1QwRkJUMmhFTEV0QlFVdDNZaXhKUVVGcFFpeE5RVUZhZUZrc1JVRkRhRUpvUkN4TFFVRkxaMFVzVjBGQllXaEZMRXRCUVV0blJTeFhRVUZYY1Uwc1QwRkJVWEpPTEU5QlZUZERSQ3hGUVVGUGEwSXNTMEZCVFN4RFFVTmFhVkVzVDBGQlVTeFRRVUZWT1ZBc1IwRkRha0lzU1VGQlNUaFFMRVZCUVZNNVVDeEZRVUZMZUVJc1YwRkRiRUlzVDBGQlQzTlNMRWRCUVRoQ0xFdEJRWEJDUVN4RlFVRlBNMU1zVTBGQmEwSXlVeXhGUVVGVExFMUJSWEJFZDBnc1VVRkJVeXhUUVVGVmRGZ3NSMEZEYkVJc1QwRkJUMmxKTEVWQlFVdHFTU3hGUVVGTkxHVkJSVzVDZFZnc1lVRkJZeXhUUVVGVmRsZ3NSVUZCVFcxRUxFVkJRVWw1VXl4SFFVTnFReXhQUVVGUE0wNHNSVUZCUzJwSkxFVkJRVTBzWVVGQll6UldMRWxCUldwRE1VNHNTMEZCVFN4VFFVRlZiRWtzUjBGRFppeFBRVUZQT0Zjc1JVRkJVemxYTEVWQlFVMHNaMEpCUlhaQ05sY3NTMEZCVFN4VFFVRlZOMWNzUjBGRFppeFBRVUZQT0Zjc1JVRkJVemxYTEVWQlFVMHNiMEpCUlhaQ2QxZ3NVVUZCVXl4VFFVRlZlRmdzUjBGRGJFSXNUMEZCVDJsSkxFVkJRVXRxU1N4RlFVRk5MR2RDUVVWdVFtMVlMRkZCUVZNc1UwRkJWVzVZTEVkQlEyeENMRTlCUVU5cFNTeEZRVUZMYWtrc1JVRkJUU3h2UWtGRmJrSjVXQ3hWUVVGWExGTkJRVlY2V0N4RlFVRk5iVVFzUlVGQlNYbFRMRWRCUXpsQ0xFOUJRVTh6VGl4RlFVRkxha2tzUlVGQlRTeGpRVUZsTkZZc1NVRkZiRU00UWl4VlFVRlhMRk5CUVZVeFdDeEZRVUZOYlVRc1JVRkJTWGxUTEVkQlF6bENMRTlCUVU4elRpeEZRVUZMYWtrc1JVRkJUU3hyUWtGQmJVSTBWaXhKUVVWMFEwY3NVMEZCVlN4VFFVRlZMMVlzUjBGRGJrSXNUMEZCVHl0V0xFZEJRVmt2Vml4RlFVRkxlRUlzV1VGQll5eEpRVUZMTUZBc1YwRkJXV3hQTEVsQlJYaEVNbGNzVTBGQlZTeFRRVUZWTTFjc1IwRkRia0lzVDBGQlR5dFdMRVZCUVZVdlZpeEZRVUZMYTA4c1lVRkZka0l3U1N4VFFVRlZMRk5CUVZVMVZ5eEhRVU51UWl4UFFVRTJRaXhOUVVGNFFrRXNSVUZCU3pKWUxHbENRVXRVTldJc1JVRkJWV2xGTEVWQlFVc3lXQ3hwUWtGRlVqTllMRVZCUVVzeVdDeHBRa0ZOVWpOUUxFVkJRVlZvU1N4RlFVRk5MR05CUTNCQ1FTeEZRVUZQUVN4RlFVRkxORmdzVTBGQlZ6VllMRWRCUjJwQ2NrSXNSVUZCVDJkQ0xFMUJRVThzUjBGQlNVc3NSVUZCUzIxSkxHVkJSVGRDTEZOQlFWVnVTQ3hGUVVGTmJFTXNSMEZEYkVKSUxFVkJRVTlITEVkQlFVbHJReXhIUVVGVExGTkJRVlUwVlN4RlFVRlBhRmdzUjBGRGNFTXNTVUZCU1RCU0xFVkJRVlV6VWl4RlFVRlBiMElzU1VGQlMyNUZMRXRCUVUxclJDeEZRVUZKT0Zjc1IwRjFRbkJETEUxQmNrSXdRaXhWUVVGeVFqVlZMRVZCUVVzNVJTeFBRVUZSTEV0QlEycENNRU1zUlVGQlYyZFlMRWRCUjFCb1dDeEhRVUZuUXl4cFFrRkJZa0VzU1VGRGRrSXdVaXhGUVVGVk0xSXNSVUZCVDNOT0xFOUJRVkZ5VGl4RlFVRlZNRklzU1VGSEwwSXhWU3hMUVVGTGNVUXNUMEZCVXl4SlFVZGFlVmdzUlVGQmEwSXhWaXhKUVVOMlFuSkRMRVZCUVU5clVDeFhRVUZaZVVNc1IwRkpabTFITEVWQlFXRnlUaXhMUVVGTmNFa3NTVUZEZGtKelVDeEZRVUZSZFVnc1YwRkpTR3BqTEV0QlFVczBSQ3hWUVVGWE9GRXNUVUZIZWtJc1NVRkJTWGRJTEVWQlFXZENMRzlDUVhOUGNFSXNVMEZCVTBNc1JVRkJWVU1zUjBGRGJFSXNUMEZCVDBFc1JVRkZVaXhUUVVGVFF5eEZRVUZUUXl4SFFVTnFRaXhOUVVGTlFTeEZRVWRRTEZOQlFWTkRMRVZCUVZseVZpeEZRVUZQYzFZc1JVRkJVME1zUlVGQlVVTXNSMEZETlVNc1NVRkJTVU1zUlVGRlNpeEpRVWROZWxZc1IwRkJVemRHTEVWQlFXTnpZaXhGUVVGVGVsWXNSVUZCVFRCV0xGTkJRekZEUkN4RlFVRlBiR01zUzBGQlRYbEhMRWRCUVZFd1FpeExRVUZOTkZRc1IwRkJWVXNzUzBGQlRVb3NSMEZIYUVOMlZpeEhRVUZUTjBZc1JVRkJZM05pTEVWQlFWTjZWaXhGUVVGTk5GWXNUVUZEYWtSSUxFVkJRVTlzWXl4TFFVRk5lVWNzUlVGQlQzTldMRVZCUVZORExFZEJVVGRDUkN4RlFVRlJOMklzVjBGQlQydEdMRVZCUVZjc1EwRkJSWEZDTEVkQlFWRTFSeXhOUVVGUGIyTXNTVUZOTTBNc1RVRkJVWGhXTEVkQlNWUjFWaXhGUVVGUE9XSXNWMEZCVDJ0R0xFVkJRVmNzUTBGQlJYRkNMRXRCZGs4M1FtNUZMRVZCUVU5bllTeFZRVUZaTEZOQlFWVTFXQ3hIUVVrMVFrRXNSVUZCTmtJc2FVSkJRVnBCTEVWQmJFTnNRaXhUUVVGM1FrRXNSMEZEZGtJc1NVRkJTVFpZTEVWQlFWTXNSMEZKWWl4UFFVaEJhbUVzUlVGQlQydENMRXRCUVUxclFpeEZRVUZSTUVnc1RVRkJUM0ZRTEVsQlFXMUNMRWRCUVVrc1UwRkJWV1VzUlVGQlIwTXNSMEZETDBSR0xFVkJRVkZGTEVsQlFWTXNTVUZGV0VZc1JVRTRRazVITEVOQlFXVm9XU3hIUVVObWNFTXNSVUZCVDIxRExFOUJRVkVzUjBGQlNVTXNSMEZGY0VJc1NVRkRRMmxaTEVWQlIwRkRMRVZCUjBGRExFVkJSMEZETEVWQlIwRm9WU3hGUVVGUExFZEJSMUJwVlN4RlFVRlJMRWRCUjFKRExFZEJRV1VzUlVGSFprTXNSVUZCVHl4WFFWRk9MRWxCVEVGSUxFVkJRVk5CTEVkQlFWVndXU3hGUVVGUmQxa3NTMEZKTTBKTUxFVkJRVkZHTEVkQlFWTXNSVUZEVkVrc1JVRkJUVzVoTEU5QlFWRnZZU3hIUVVGbExFVkJSWEJETEVsQlJFRktMRVZCUVZOSExFVkJRVTF3VUN4VlFVTk1jVkFzUlVGQlkyeFZMRVZCUVV0c1J5eFRRVWR0UXl4SlFVRXhSR3RITEVWQlFVMXJWU3hIUVVGak9XTXNUVUZCVHpCakxFVkJRVkVzUjBGQlMwRXNSVUZCVVN4TFFVTndSR3haTEVWQlFWRjVXU3hqUVVkU1NDeEZRVUZqYkZVc1JVRkJTMnhITEU5QlEyNUNaMkVzUjBGQlV5eEhRVTFPYkZrc1JVRkJVV3RaTEZOQlEySkJMRWRCUVZNc1IwRkhWa1FzUjBGQlV5eEZRVWRLUnl4SlFVbElhRlVzUlVGRVNUaFVMRVZCUTBjc1IwRkpRU3hMUVUxV05VTXNSVUZCVHl4RFFVZE9aU3hKUVVGTExGZEJNa0pLTEU5Qk1VSkxhbE1zU1VGSFF6aFVMRWxCUVZkRUxFbEJRMlpMTEVWQlFXTnNWU3hGUVVGTGJFY3NUMEZCVXl4RlFVTTFRbTFoTEVWQlFVMDFZeXhMUVVGTmVXTXNTVUZIWWl4VFFVRlhOMElzUlVGQlMycElMRWRCUTJaNFVpeEZRVUZQYTBJc1MwRkJUWE5STEVWQlFVMHNVMEZCVlRCSkxFVkJRVWRvVnl4SFFVTXhRalZHTEVWQlFWazBSaXhIUVVOV09VSXNSVUZCVVRCVkxGRkJRVmRaTEVWQlFVc3pSaXhKUVVGTE4wNHNTVUZEYkVOelF5eEZRVUZMTTBrc1MwRkJUWEZITEVkQlJVUkJMRWRCUVU5QkxFVkJRVWsxUkN4UlFVRTBRaXhYUVVGc1FsQXNSVUZCVVcxRkxFbEJSM2hEZFZVc1JVRkJTM1pWTEV0QlZGSXNRMEZaU3pWRExGZEJSVUZuV2l4SlFVRlhSQ3hIUVVObVRTeExRVWRMTVdRc1RVRkpValprTEU5QlFWRXNWMEZaVUN4UFFWaEJPV0VzUlVGQlQydENMRXRCUVUxSkxGVkJRVmNzVTBGQlZUUlpMRVZCUVVkb1Z5eEhRVVZ3UXl4SlFVUkJMRWxCUVVseFZTeEhRVU5OUVN4RlFVRlJkbGtzUlVGQlR6WkVMRkZCUVZOTExFVkJRVXR6UXl4RlFVRk5LMUlzUzBGQllTeEhRVU42UkM5U0xFVkJRVXQwUlN4UFFVRlJjVmNzUlVGQlR5eEhRVWRtUVN4SFFVRlRiVU1zUjBGRFlrRXNUVUZKU1hwa0xFMUJTMUk0VlN4SlFVRkxMRk5CUVZVMVVpeEhRVU5rTEU5QlFVOUJMRVZCUTA1SUxFVkJRVTgyUkN4UlFVRlRNVVFzUlVGQlNYRkhMRWxCUVZVc1JVRkRPVUpCTEVWQlFVdHNSeXhQUVVGVExFZEJTV2hDZDFNc1RVRkJUeXhYUVVsT0xFOUJTRXQwVFN4SlFVTktRU3hGUVVGUExFbEJSVVIyU2l4TlFVMVNPR1FzVVVGQlV5eFhRVWRTTEU5QlJrRlFMRVZCUVZORExFVkJRVkVzUjBGRGFrSnFWU3hGUVVGUE9GUXNSVUZCVXl4SFFVTlVjbVFzVFVGRlVtMU5MRk5CUVZVc1YwRkRWQ3hQUVVGUk5VTXNSMEZOVkhkVkxFdEJRVTBzVjBGTFRDeFBRVXBCVWl4RlFVRlRReXhGUVVGUkxFZEJRMWhJTEVkQlFWZEVMRWxCUTJoQ04xUXNSVUZCVHpoVUxFVkJRVk1zU1VGRlZuSmtMRTFCUlZKMVpDeFBRVUZSTEZkQlExQXNVVUZCVTBFc1IwRkpWbE1zVTBGQlZTeFRRVUZWTDJFc1JVRkJVM05TTEVkQlV6VkNMRTlCVWsxblNpeEpRVVZNYUVvc1JVRkJUeXhEUVVGRmRGSXNSMEZFVkhOU0xFVkJRVTlCTEVkQlFWRXNTVUZEVVdwVkxFMUJRVkZwVlN4RlFVRkxhbFVzVVVGQlZXbFZMRWRCUXpsRGFVb3NSVUZCVFRWakxFdEJRVTB5VkN4SFFVTk9Oa2tzUjBGRFRFMHNTMEZIU3pGa0xFMUJTVkl3WkN4TFFVRk5MRmRCUlV3c1QwRkVRV3BFTEVWQlFVdDFSQ3hUUVVGVmFHVXNTMEZCVFhGRkxGZEJRMlJ5UlN4TlFVbFNjMlFzVFVGQlR5eFhRVU5PTEZGQlFWTkJMRWxCU1Zvc1QwRkJUemRETEVkQk5FTlNNVmdzUlVGQlQyMURMRTlCUVZFc1EwRkZaQ3RaTEZOQlFWVXNVMEZCVlVNc1IwRkRia0lzU1VGQlNVTXNSVUZCVXl4RFFVbFlMRU5CUVVVc1UwRkJWU3hYUVVGWmNHSXNSVUZCVDJkaExGVkJRVmNzVlVGRGVrTm9ZU3hGUVVGUFoyRXNWVUZCVnl4VlFVRlpMRWRCUXk5Q0xFTkJRVVVzVlVGQlZ5eFBRVUZSYUdFc1JVRkJUMmRoTEZWQlFWY3NaVUZEZEVOb1lTeEZRVUZQWjJFc1ZVRkJWeXhsUVVGcFFpeEZRVUZITEZsQlEzWkRMRU5CUVVVc1UwRkJWU3hQUVVGUmFHRXNSVUZCVDJkaExGVkJRVmNzWlVGRGNrTm9ZU3hGUVVGUFoyRXNWVUZCVnl4bFFVRnBRaXhGUVVGSExHRkJSWGhEY1VJc1JVRkJVU3hWUVVOU2VFSXNSVUZCVlN4RFFVTlVkMElzVFVGQlR5eFhRVU5PTEU5QlFVOUJMRWRCUlZKRExFOUJRVkVzVjBGRlVDeFBRVVJCUXl4RlFVRlRNVllzUzBGQlRYWkZMRmRCUVZsM1dTeExRVUZOZUZrc1YwRkRNVUp5UlN4TlFVVlNkV1VzVFVGQlV5eFRRVUZWY21Jc1IwRkRiRUlzVDBGQlR6QmFMRVZCUVZGRkxFdEJRVTBzUzBGQlRUVmFMRWxCU1RWQ2MySXNTMEZCVFN4WFFVTk1MRWxCUVVsRExFVkJRVTF3WVN4VlFVVldMRTlCUVU5MFFpeEZRVUZQYTJJc1UwRkJWU3hUUVVGVlV5eEhRVU5xUXpOaUxFVkJRVTlyUWl4TFFVRk5hMkVzUlVGQlVTeFRRVUZWTlZjc1JVRkJTVzlZTEVkQlIyeERMRWxCUVVsNllpeEZRVUZMTjBJc1JVRkJXVzlrTEVWQlFVdEZMRVZCUVU4c1RVRkJWMFlzUlVGQlMwVXNSVUZCVHl4SlFVdDRSRXdzUlVGQlZVc3NSVUZCVHl4SlFVRlBMRmRCUTNaQ0xFbEJRVWxETEVWQlFWY3hZaXhIUVVGTlFTeEZRVUZIZGtNc1RVRkJUMWdzUzBGQlRYRkZMRmRCUTJoRGRXRXNSMEZCV1haa0xFVkJRVmwxWkN4RlFVRlRhRU1zVTBGRGNrTm5ReXhGUVVGVGFFTXNWVUZEVUdsRExGTkJRVlZJTEVWQlFWTkpMRkZCUTI1Q2JGY3NTMEZCVFRoV0xFVkJRVk5zUXl4VFFVTm1TeXhMUVVGTk5rSXNSVUZCVTJwRExGRkJSV3BDYVVNc1JVRkJWVU1zUlVGQlR5eEhRVUZOTEZGQlEzUkNNMlVzUzBGRFFXdEVMRVZCUVVzc1EwRkJSVEJpTEVkQlFXRjJZU3hsUVV0NFFtOWhMRVZCUVUwc1QwRkRTRGRDTEZkQlJVeEZMRXRCUVUwc1UwRkJWV2xETEVWQlFXRkRMRVZCUVZsRExFZEJRM2hETEVsQlFVbERMRVZCUVZjc1JVRkRaaXhUUVVGVE1VTXNSVUZCVXpKRExFVkJRVTlpTEVWQlFWVTFVQ3hGUVVGVE1GRXNSMEZETTBNc1QwRkJUeXhYUVVOT0xFbEJRVWxETEVWQlFVOXlaaXhMUVVOV2RWVXNSVUZCVDJ4UkxGVkJRMUJwWWl4RlFVRmhMRmRCUTFvc1NVRkJTVllzUlVGQlZUbENMRVZCUzJRc1MwRkJTM0ZETEVWQlFWRkVMRWRCUVdJc1EwRlJRU3hKUVVwQlRpeEZRVUZYYkZFc1JVRkJVUzlPTEUxQlFVOHdaU3hGUVVGTk9Vc3NUVUZKWkN0S0xFVkJRVk14UWl4VlFVTXhRaXhOUVVGTkxFbEJRVWt5UXl4VlFVRlhMRFJDUVU5MFFucERMRVZCUVU4NFFpeEpRVXRuUWl4cFFrRkJZa0VzUjBGRFdTeHRRa0ZCWWtFc1NVRkRVa0VzUlVGQlV6bENMRXRCUjB4NllpeEZRVUZaZVdJc1IwRkhXSE5ETEVWQlEwcDBReXhGUVVGTGNtTXNTMEZEU20xbExFVkJRMEZ3UXl4RlFVRlRNRU1zUlVGQlZWb3NSVUZCVlc1RExFVkJRVlZwUkN4SFFVTjJRelZETEVWQlFWTXdReXhGUVVGVldpeEZRVUZWYWtNc1JVRkJVeXRETEV0QlQzWkRSaXhKUVVWQmNFTXNSVUZCUzNKakxFdEJRMHB0WlN4RlFVTkJjRU1zUlVGQlV6QkRMRVZCUVZWYUxFVkJRVlZ1UXl4RlFVRlZhVVFzUjBGRGRrTTFReXhGUVVGVE1FTXNSVUZCVlZvc1JVRkJWV3BETEVWQlFWTXJReXhIUVVOMFF6VkRMRVZCUVZNd1F5eEZRVUZWV2l4RlFVRlZia01zUlVGRE5VSnRReXhGUVVGVGEwSXNaVUZUVURsUkxFbEJRVmw1VGl4SlFVTm9RbXRFTEU5QlFVOTRXaXhGUVVOUU1FOHNSVUZCVHl4RFFVRkZjVXNzUzBGTFVsRXNSMEZCVjJRc1JVRkJVMjFDTEdGQlFXVktMRVZCUVUwNVN5eE5RVXMzUTIxTUxFVkJRVlZPTEVWQlExUkZMRVZCUTBFc1YwRkRReXhKUVVORFFTeEpRVU5ETEUxQlFWRTVVeXhIUVVWS2Vrb3NSVUZCVDJ0aUxGTkJRVk13UWl4bFFVTndRalZqTEVWQlFVOXJZaXhUUVVGVE1FSXNZMEZCWlc1VUxFVkJRemxDYTFRc1JVRkJVVVVzV1VGTlRGUXNSVUZCVVN4SFFVRkxSQ3hKUVVsYWVGRXNTVUZCV1RKT0xFbEJRMmhDWjBRc1QwRkJUM2hhTEVWQlExQXdUeXhGUVVGUExFTkJRVVV2U0N4SlFVZFdPRklzUlVGQlUzVkNMRmRCUVZsU0xFVkJRVTA1U3l4TlFWTXpRalJMTEVWQlEwcFBMRXRCUzBzell5eEZRVUZQYTJJc1UwRkJVelpDTEdWQlEzQkNTaXhGUVVGUlJTeFhRVUZoTjJNc1JVRkJUMnRpTEZOQlFWTTJRaXhuUWtGRmRFTXZaaXhGUVVGUFoyZENMRmRCUVZsTUxFdEJTM1JDTEU5QlFVOHpZeXhGUVVGUGEySXNVMEZCVlN4VFFVRlZVeXhIUVVkcVExQXNSVUZCVVN4SFFVRkxMRWRCUVVrelF5eEpRVU5vUW1kQ0xFVkJRME1zUlVGRFFXdERMRVZCUTBGeVpDeEZRVUZaTkdRc1IwRkRXRUVzUlVGRFFUbERMRVZCUTBSMVF5eEZRVUZUWXl4aFFVdFlja0lzUlVGQlVTeEhRVUZMTEVkQlFVa3pReXhKUVVOb1FtZENMRVZCUTBNc1JVRkRRV3RETEVWQlEwRnlaQ3hGUVVGWk1HUXNSMEZEV0VFc1JVRkRRVFZETEVsQlMwaG5ReXhGUVVGUkxFZEJRVXNzUjBGQlNUTkRMRWxCUTJoQ1owSXNSVUZEUXl4RlFVTkJhME1zUlVGRFFYSmtMRVZCUVZreVpDeEhRVU5ZUVN4RlFVTkJNME1zVFVGSFFVOHNWMEZMVEVFc1VVRkJVeXhUUVVGVmRHSXNSMEZEYkVJc1QwRkJZeXhOUVVGUVFTeEZRVUZqZVVJc1JVRkJUMjFETEU5QlFWRTFSQ3hGUVVGTGMySXNSMEZCV1VFc1NVRkhka1F3UWl4RlFVRlhMRWRCYTBWYUxFOUJMMFJCZG1Jc1JVRkJUMnRDTEV0QlFVMXJZU3hGUVVGUkxGTkJRVlZvWXl4RlFVRkhkMk1zUjBGRGFrTXNTVUZCU1hCV0xFVkJRVTl2Vml4RlFVRlBMRWRCUTJwQ2NVSXNSVUZCWTNKQ0xFVkJRVThzUjBGTGRFSXZRaXhGUVVGVEswSXNSVUZCVHl4SlFVRlJjRllzUlVGQlMybFRMRWxCUjNoQ2QwVXNSMEZEU25wWExFVkJRVXRwVXl4SlFVTktMRmRCU1VNMFF5eEZRVUZSTkVJc1IwRkxWRGRDTEVWQlFWRXNSVUZCU1doakxFZEJRVXNzUjBGQlNUSmlMRkZCU1hKQ1N5eEZRVUZSTEVWQlFVbG9ZeXhIUVVGTExFZEJRVWt5WWl4UlFVZHlRa3NzUlVGQlVTeEhRVUZMTEVkQlFVbEtMRXRCUjJwQ1NTeEZRVUZSTEVkQlFVc3NSMEZCU1Vvc1RVRlBia0o0VlN4RlFVRkxhVk1zU1VGQlMyMUVMRVZCUVU4c1IwRkJTV3BDTEUxQlMzSkNXU3hGUVVGVlN5eEZRVUZQTEVsQlFWRXNWMEZGZUVJc1QwRkVRVXdzUlVGQlZVc3NSVUZCVHl4SFFVRk5MRkZCUVZVelpTeFBRVUZUYzJVc1QwRkJWM3BaTEVWQlFWazNSaXhMUVVGTmNVVXNWMEZEYUVWeVJTeE5RVTFTYzJVc1JVRkJWVXNzUlVGQlR5eEhRVUZOTEZGQlFWZHdWaXhGUVVGTGVWVXNWMEZKZUVOd1FpeEZRVUZSUVN4UlFVRlRNRUlzUjBGSFdrb3NSMEZEU2tFc1JVRkJTM3BrTEV0QlFVMDJaQ3hGUVVGVlFTeEhRVWxtUVN4SFFVbFNNa0lzUzBGQlRTeFRRVUZWUXl4SFFVTm1MRWxCUjBORExFVkJRVms1WWl4VlFVRlZhRUlzVDBGSGRFSnNRaXhGUVVGSloyVXNSVUZIU2tNc1JVRkJhMEo2WVN4TlFVRlBlRVFzUjBGRGVrSnJaU3hGUVVGblFpOW1MRVZCUVUxSExFdEJRVTAwUkN4WFFVYzFRbWxqTEVWQlFWVjJaQ3hGUVVGUGEySXNWMEZIYWtKelF5eEZRVUZoTEZOQlFWVndaU3hIUVVOMFFpeFBRVUZQTEZOQlFWVXJSU3hIUVVOb1FtdGFMRVZCUVdsQ2FtVXNSMEZCVFc1RExFdEJRM1pDY1dkQ0xFVkJRV1ZzWlN4SFFVRk5hME1zVlVGQlZXaENMRTlCUVZNc1JVRkJTUzlETEVWQlFVMUhMRXRCUVUwMFJDeFhRVUZqTmtNc1NVRkROVVJwV2l4SFFVTlVSeXhGUVVGUllpeFpRVUZoVnl4RlFVRnBRa01zUzBGTk1VTXNSMEZCUzBZc1IwRkJZU3hKUVVOcVFqVkVMRVZCUVZreVJDeEZRVUZoU1N4RlFVRlJNVmdzUzBGQlRUSllMRVZCUVZsd1pTeEpRVUZOY1dFc1VVRkJVemhFTEVWQlFWRTNSQ3hSUVVONFJUQkVMRWRCUjNWQ0xGbEJRWEJDUnl4RlFVRlJiRU1zVTBGRFdpOWpMRVZCUVZsblppeEZRVUZsYkdVc1NVRkJUMnRsTEVWQlFXVnNaU3hIUVVGSk1tRXNUMEZGY2tRc1QwRkJUM2RFTEVWQlFWRjRSQ3hQUVV0cVFpeExRVUZSTTJFc1MwRkRVRzloTEVWQlFWazRSQ3hGUVVGbGJHVXNSMEZCUzI5bExFVkJRVmx3WlN4SFFVRkxiV1VzUlVGQlVUZEVMRkZCUnpGRUxFOUJRVTgyUkN4RlFVRlJNVVFzWVVGUGFrSXNTVUZCU1RSRUxFVkJRV01zZVVSQlJXeENlbVFzUlVGQlQydGlMRk5CUVZNd1FpeGpRVUZuUWl4VFFVRlZlRm9zUlVGQlQzTmhMRWRCU1RORE1XZENMRVZCUVU4eVowSXNVMEZCVnpOblFpeEZRVUZQTW1kQ0xGRkJRVkZETEUxQlFWRjRZU3hIUVVGVGNXRXNSVUZCV1doVUxFdEJRVTF5U0N4RlFVRk5aaXhQUVVNNVJYSkdMRVZCUVU4eVowSXNVVUZCVVVNc1MwRkJUU3c0UWtGQlowTjRZU3hGUVVGTmVXRXNVVUZCVTNwaExFVkJRVTF6WVN4TlFVRlBRU3hKUVU5dVJqRmtMRVZCUVU4NFpDeGxRVUZwUWl4VFFVRlZNV0VzUjBGRGFrTndSeXhGUVVGUFoyZENMRmRCUVZrc1YwRkRiRUlzVFVGQlRUVmFMRXRCVVZJc1NVRkJTVEpoTEVWQlFWa3ZaQ3hGUVVGUGEySXNWMEZyUkhaQ0xGTkJRVk00UXl4SlFVTlNibWhDTEVWQlFWTnZhRUlzYjBKQlFYRkNMRzFDUVVGdlFrUXNSMEZEYkVSb2FFSXNSVUZCVDJsb1FpeHZRa0ZCY1VJc1QwRkJVVVFzUjBGRGNFTm9aU3hGUVVGUE5sZ3NVVUZ1UkZJM1dDeEZRVUZQUnl4SFFVRkhNRmdzVFVGQlVTeFRRVUZWTVZnc1IwRlpNMElzVDBGV1FUUmtMRVZCUTBWb1JTeExRVUZOTlZvc1IwRkxUbkZpTEUxQlFVOHNVMEZCVlhCWkxFZEJRMnBDY0VRc1JVRkJUemhrTEdWQlFXZENNV0VzUzBGSGJFSnVSeXhOUVVkU0swTXNSVUZCVDIxRExFOUJRVkVzUTBGSFpHZENMRk5CUVZNc1JVRkpWQ3RoTEZWQlFWY3NSVUZIV0hKSExFMUJRVThzVTBGQlZYTkhMRXRCUjBZc1NVRkJWRUVzU1VGQmEwSnVaU3hGUVVGUGEyVXNWVUZCV1d4bExFVkJRVTl0UkN4WFFVdHFSRzVFTEVWQlFVOXRSQ3hUUVVGVkxFZEJSMGdzU1VGQlZHZGlMRXRCUVcxQ2JtVXNSVUZCVDJ0bExGVkJRVmtzUjBGTE0wTklMRVZCUVZWeVFpeFpRVUZoTjJZc1JVRkJWU3hEUVVGRmJVUXNVVUZKY2tOQkxFVkJRVTgyV0N4TlFVRk5hME1zUzBGQlQyZEZMRVZCUVZWb1JTeExRV0ZFTEdGQlFYaENiR1FzUlVGQlUzVm9RaXhaUVVOaExGbEJRWGhDZG1oQ0xFVkJRVk4xYUVJc1lVRkJOa0oyYUVJc1JVRkJVemhRTEdkQ1FVRm5RakJTTEZOQlIycEZjbWhDTEVWQlFVOW5aMElzVjBGQldXaGtMRVZCUVU4MldDeFJRVXN4UW1oaUxFVkJRVk50VVN4cFFrRkJhMElzYlVKQlFXOUNaMUlzUjBGSEwwTm9hRUlzUlVGQlQyZFJMR2xDUVVGclFpeFBRVUZSWjFJc1NVRlJiRU1zU1VGQlNVMHNSVUZCVXl4VFFVRlZlR1FzUlVGQlQxZ3NSVUZCU1dkTUxFVkJRVXRvU0N4RlFVRlBiMkVzUlVGQlYwTXNSVUZCVlVNc1IwRkRiRVVzU1VGQlNYSm1MRVZCUVVrc1JVRkRVREJETEVWQlFVMW9RaXhGUVVGTlVpeFBRVU5hYjJVc1JVRkJZeXhOUVVGUWRsUXNSVUZIVWl4SFFVRjFRaXhYUVVGc1FuQk1MRVZCUVZGdlRDeEhRVVZhTEVsQlFVMHZUQ3hMUVVST2JXWXNSMEZCV1N4RlFVTkVjRlFzUlVGRFZtMVVMRVZCUVZGNFpDeEZRVUZQV0N4RlFVRkpaaXhGUVVGSEswd3NSVUZCU3k5TUxFbEJRVXNzUlVGQlRXOW1MRVZCUVZWRExGRkJTVE5ETEZGQlFXVXpZaXhKUVVGV2NVSXNTVUZEV0c5aExFZEJRVmtzUlVGRlRtcG5RaXhGUVVGWk5rWXNTMEZEYWtKellTeEhRVUZOTEVkQlIwWkRMRWxCUjBORUxFZEJRMHAwWlN4RlFVRkhla01zUzBGQlRXOUVMRVZCUVU5eFJDeEhRVU5vUW1oRkxFVkJRVXNzVDBGSlRIVmxMRVZCUVU5MlpTeEZRVU5RUVN4RlFVRkxMRk5CUVZWclFpeEZRVUZOYzJRc1JVRkJUWGhoTEVkQlF6RkNMRTlCUVU5MVlTeEZRVUZMYUdoQ0xFdEJRVTF6UXl4RlFVRlJjVUlzUjBGQlVUaERMRTFCUzJoRGFFVXNSMEZEU2l4TFFVRlJaaXhGUVVGSk1FTXNSVUZCU3pGRExFbEJRMmhDWlN4RlFVTkRWeXhGUVVGUE1VSXNSMEZCU3l0TUxFVkJRVXR6VkN4RlFVTm9RblJoTEVWQlEwRkJMRVZCUVUxNlJ5eExRVUZOYjBRc1JVRkJUekZDTEVkQlFVdEJMRVZCUVVkbExFVkJRVWxYTEVWQlFVOHhRaXhIUVVGTEswd3NTMEZOYUVRc1QwRkJTMjlVTEVWQlEwZDZaQ3hGUVVsSU5HUXNSVUZEUjNabExFVkJRVWQ2UXl4TFFVRk5iMFFzUjBGSFZtZENMRVZCUVUwelFpeEZRVUZKVnl4RlFVRlBMRWRCUVV0eFN5eEhRVUZSY1ZRc1IwRkxiRU5KTEVWQlFWa3NVVUZEWmtNc1JVRkJZU3haUVVka0xGTkJRVk5ETEVWQlFWbERMRVZCUVUxRExFZEJRekZDTEU5QlFVOUJMRVZCUVU5RExHTkJUV1lzVTBGQlUwTXNSVUZCVjBNc1IwRkRia0lzVDBGQlQwRXNSVUZCVDJwakxGRkJRVk13WWl4RlFVRlhMRTlCUVZFeFlpeFJRVUZUTW1Jc1JVRkJXVU1zUjBGRmFFVXNTVUZCU1Uwc1JVRkJZU3hUUVVGVlF5eEhRVkV4UWl4UFFVRXdRaXhKUVVGdVFrRXNSVUZCVFRkblFpeFZRVUZ4UXl4SlFVRnVRalpuUWl4RlFVRk5OMmRDTEZsQlFYTkNObWRDTEVWQlFVMDNaMElzVlVGTmJFVXNVMEZCVXpoblFpeEpRVU5TY21sQ0xFdEJRVXM0Uml4UlFVRlZMME1zUlVGQlR5dERMRkZCUVZWMVl5eEZRVUZMUXl4TlFVZDBRMFFzUlVGQlMwTXNTVUZCVFN4RlFVVllSQ3hGUVVGTEwyVXNWVUZCV1N4RFFVVm9RakpMTEUxQlFVOHNVMEZCVlcxVkxFZEJSMmhDTEVsQlFVbHNZaXhGUVVGUmEySXNSVUZCVDNCcFFpeExRVUZMT0VZc1UwRTBRbmhDTEU5QmVrSk5iMElzU1VGRFRFRXNSVUZCVVN4SFFVdElhV0lzUlVGQldVTXNTMEZKV0VFc1JVRkJUVGRuUWl4VFFVTldObWRDTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUVZsdlFpeEZRVTE0UWpsSExFOUJRVTl0YVVJc1pVRkJaMEpJTEVWQlFVOXdhVUlzUzBGQlN6aEdMRkZCUVZNc1EwRkRNME52UWl4TlFVRlBRU3hGUVVOUWMySXNZMEZCWXl4TlFVMVlkR0lzUjBGRlVuVmlMRWxCUVVzc1UwRkJWVXdzUlVGQlQwMHNSVUZCVFhoaUxFZEJRek5DTEVsQlFVbDVZaXhGUVVOSU1WVXNSVUZCVVdwUExFdEJRVXRwVHl4TlFVRlBiVlVzUjBGSmNrSXNSMEZCY1VJc2FVSkJRVlJOTEVWQlExaDZWU3hGUVVGUFoxVXNSVUZCVjFNc1NVRkJWM2hpTEU5QlRUZENMRWxCUVUxNVlpeExRVUZSUkN4RlFVTmllbFVzUlVGQlQyZFZMRVZCUVZkVkxFbEJRVmRFTEVWQlFVMURMRWRCUjNKRExFOUJRVTh4VlN4SFFVVlNka3NzU1VGQlN5eFRRVUZWTUdVc1JVRkJUMnhWTEVkQlEzSkNMRmxCUVdWeVNTeEpRVUZTY1Vrc1JVRkRUbXhQTEV0QlFVdHBUeXhOUVVGUGJWVXNSMEZIV2tFc1JVRkJUM0JwUWl4TFFVRkxPRVlzVlVGQllYTmpMRVZCUVU5d2FVSXNTMEZCU3poR0xGTkJRVmR0WXl4RlFVRlhMMVFzUzBGRk4wUnRWQ3hQUVVGUkxGTkJRVlZsTEVWQlFVOXNWU3hGUVVGTGFFZ3NSMEZoTjBJc1dVRkJZWEpDTEVsQlFWSnhTU3hIUVVORFFTeEhRVUZ6UWl4cFFrRkJVa0VzVVVGQlowTnlTU3hKUVVGV2NVSXNSVUZGYkVOc1NDeExRVUZMTUVRc1NVRkJTekJsTEVWQlFVOXNWU3hKUVZONlFteFBMRXRCUVV0NWFVSXNTVUZCUzB3c1JVRkJUMnhWTEVWQlFVdG9TQ3hSUVVsTWNrSXNTVUZCVm5GQ0xFVkJRWE5DUVN4RlFVRlJaMGdzU1VGRmRFTXlVQ3hQUVVGUkxGTkJRVlYxUlN4RlFVRlBiRlVzUjBGRGVFSXNTVUZCU1M5TUxFVkJRMGc0VEN4RlFVRlJiVlVzUlVGQlQzQnBRaXhMUVVGTE9FWXNVMEZGY2tJc1VVRkJaVVFzU1VGQlZtOUpMRVZCUVV3c1EwRkpRU3hSUVVGaGNFa3NTVUZCVW5GSkxFVkJRVzlDTEVOQmEwSjRRaTlNTEVkQldFTXJUQ3hGUVVwSmRra3NUVUZCVFVNc1VVRkJVM05KTEVkQlNXSkJMRVZCUVVrdlNpeEpRVUZMT0dRc1NVRkZaaTlVTEVWQlFVMHJWQ3hGUVVGWEwxUXNUVUZKU2tRc1JVRkRXaXhEUVVGRlF5eEhRVU5CUVN4RlFVRkpja0lzVFVGQlQzRlFMRWxCUVcxQ0xFbEJSekZDTjFrc1QwRkZVaXhMUVVGUmJFSXNXVUZEUVRoTUxFVkJRVTlETEVWQlFVc3ZUQ3hWUVV0U01FUXNTVUZCVW5GSkxFZEJRWEZDYmt3c1JVRkJUM2xFTEdOQlFXVjVTQ3hOUVUweFEyMVZMRVZCUVUwM1owSXNVMEZEVmpablFpeEZRVUZQY0dsQ0xFdEJRVXM0Uml4alFVRlpSQ3hUUVVWcVFuVmpMRVZCUVU5d2FVSXNTMEZCU3poR0xGbEJTWFJDT0dNc1VVRkJVeXhUUVVGVlVpeEhRVU5zUWl4SlFVRkpibFVzUlVGQlVXMVZMRVZCUVU5d2FVSXNTMEZCU3poR0xGTkJRM2hDTEZsQlFXbENSQ3hKUVVGV2Iwa3NTVUZCZDBKc1RDeEZRVUZQZVVRc1kwRkJaWGxJTEV0QlIzWkVMRWxCUVVrMFZTeEZRVUZYTEVsQlFVbFNMRVZCUldaVExFVkJRVmNzU1VGQlNWUXNSVUZqWmxVc1JVRkJVeXhuUTBGRFdrTXNSVUZCWVN4VFFUSkNaQ3hUUVVGVFF5eEZRVUZWTjJVc1JVRkJUVGhLTEVWQlFVdDNWU3hIUVVNM1FpeEpRVUZKZEdRc1JVRkpTaXhSUVVGalV5eEpRVUZVTm1Nc1IwRkJkME1zU1VGQmJFSjBaU3hGUVVGTE4wTXNVMEZKTDBJc1IwRklRVFpFTEVWQlFVOHNVVUZCVlRoSkxFVkJRVWxxU1N4UlFVRlRLMk1zUlVGQldTeFBRVUZSZUdJc1kwRkhOMElzYVVKQlJuSkNhMklzUlVGQlQzUmxMRVZCUVVzMVFpeGhRVUZqTkVNc1NVRkZUU3hEUVVNdlFpeEpRVU5EYzJRc1JVRndRMG9zVTBGQmEwSkJMRWRCUTJwQ0xFMUJRV01zVTBGQlZFRXNSMEZKVXl4VlFVRlVRU3hKUVVsVExGTkJRVlJCTEVWQlEwY3NTMEZKU0VFc1MwRkJWVUVzUlVGQlR5eEpRVU5pUVN4RlFVZEtTeXhGUVVGUGRsWXNTMEZCVFd0V0xFZEJRMVpSTEV0QlFVdERMRTFCUVU5VUxFZEJSMkpCTEVkQlkwZFZMRU5CUVZOV0xFZEJRMllzVFVGQlVXeFhMRWxCUjFaelZ5eEZRVUZUVEN4SlFVRkxjbVVzUlVGQlRUaEtMRVZCUVV0M1ZTeFJRVVY2UWtFc1QwRkJUemRqTEVWQlIxUXNUMEZCVHpaakxFVkJSMUl6Wml4RlFVRlBiVU1zVDBGQlVTeERRVU5rTUdRc1VVRkJVeXhUUVVGVmVHVXNSMEZEYkVJc1QwRkJUekJsTEVWQlFWTkdMRkZCUVZONFpTeEpRVUZWZVdVc1JVRkJVMFFzVVVGQlUzaGxMRWxCUjNSRWMyVXNTMEZCVFN4VFFVRlZkR1VzUlVGQlRXZENMRVZCUVUxelpDeEhRVU16UWl4UFFVRlBTU3hGUVVGVGVrSXNUMEZCVVdwa0xFVkJRVTFuUWl4RlFVRk5jMlFzU1VGSGNrTlhMRmRCUVZrc1UwRkJWV3BtTEVWQlFVMW5RaXhIUVVNelFqQmtMRVZCUVZOcVJpeFBRVUZSZWxvc1JVRkJUV2RDTEVsQlMzaENhMlVzVFVGQlR5eFRRVUZWYkdZc1JVRkJUV2RDTEVWQlFVMXpaQ3hIUVVNMVFpeFBRVUZQUnl4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUxblFpeEZRVUZOYzJRc1NVRkhja05oTEZsQlFXRXNVMEZCVlc1bUxFVkJRVTFuUWl4SFFVTTFRbmxrTEVWQlFWTm9SaXhQUVVGUmVsb3NSVUZCVFdkQ0xFMUJTWHBDY2tNc1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkRha0ozWkN4TFFVRk5MRk5CUVZWNFZTeEZRVUZMYUVnc1IwRkRjRUlzU1VGQlNTOUZMRVZCUVVkcFJDeEZRVUZOYzJRc1JVRkRXblJsTEVWQlFVOXdSU3hMUVVGTkxFZEJRMko1VHl4RlFVRlJja3NzUjBGQlVVRXNSVUZCUzNWR0xGZEJSM1JDTEZGQlFXRTVSQ3hKUVVGU2NVa3NSVUZCYjBJc1EwRkRlRUlzUjBGQlMyeFBMRXRCUVV0eFJDeFRRVU5VY1dZc1JVRkJUMGtzUlVGQlUzQm1MRWxCUVV0VkxFZEJSVVVzU1VGQmJFSkJMRVZCUVVzM1F5eFhRVUZ0UW5Ob1FpeEZRVUZUYm1Zc1NVRkJTMVVzUlVGQlRTeHBRa0ZCYlVJc1EwRkZia1VzU1VGRVFXcERMRVZCUVVselRTeEZRVUZOY0V3c1QwRkRSbXhDTEV0QlNVWnpUU3hGUVVGUGRFMHNTVUZGYzBJc1MwRkVha05wUkN4RlFVRlBjVW9zUlVGQlQzUk5MRWRCUVVscFJDeE5RVU5TZGtVc1VVRkJVeXhYUVVOc1FuVkZMRVZCUVU4Mll5eEZRVUZYTjJNc1JVRkJTemxGTEUxQlFVOHNTVUZET1VJeWFVSXNSVUZCVlRkbExFVkJRVTFuUWl4RlFVRk5jMlFzUlVGQlRYUmtMRXRCU1M5Q2VXUXNSVUZCVTBvc1NVRkJTM0psTEVWQlFVMHNaMEpCUVdkQ0xFZEJTWFJETEU5QlFVOXpaU3hGUVVsU0xFMUJRVzlDTEdsQ1FVRlNlRlVzUlVGRFNteFBMRXRCUVV0cFJTeExRVUZOTEZkQlEycENObVVzUlVGQlUwd3NTVUZCUzNwcFFpeExRVUZOYTA4c1MwRkpabTFVTEVWQlFWRnlhRUlzUzBGQlRTeFRRVUZWYTBnc1IwRkRPVUlzU1VGQlNYZGlMRVZCVDBvc1IwRkJTM1JsTEZGQlFXdENlVUlzU1VGQlZuRkNMRVZCUzFvc1dVRkJZM0pDTEV0QlJHUTJZeXhGUVVGUFNTeEZRVUZUY0dZc1NVRkJTMVVzUlVGQlRUaEtMRWxCUlc1Q2QxVXNUMEZOVFRkakxFdEJSR1EyWXl4RlFVRlBUeXhGUVVGVk4yVXNSVUZCVFRoS0xFbEJSV1ozVlN4UFFVbFNMRVZCU1VReGFVSXNTMEZCUzJsRkxFdEJRVTBzVjBGSFZqWmxMRVZCUVZOTUxFbEJRVXQ2YVVJc1MwRkJUV3RQTEVWQlFVdG9TQ3hOUVVWNFFpeExRVUZOUVN4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1JVRkJSeXhOUVVGTkxFbEJSemREWjJkQ0xGZEJRVmtzVTBGQlZXNVdMRWRCUTNKQ0xFOUJRVTlzVHl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUWpabExFVkJRVk5xUml4UFFVRlJOMlFzUzBGQlRXdFBMRkZCVFRGQ2Jrd3NSVUZCVDIxRExFOUJRVkVzUTBGRFpITlpMRTFCUVU4c1UwRkJWWEJhTEVWQlFVMTZReXhGUVVGTksyZENMRWRCUXpWQ0xFbEJRVWxzUml4RlFVVktMRWRCUVV0d1dpeEZRVmxLTEU5QldFRjZReXhIUVVGVFFTeEhRVUZSTEUxQlFWTXNVVUZETVVJMllpeEZRVUZSY1VZc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUxNlF5eEhRVWQyUWl0blFpeExRVU5GYkVZc1IwRkJVemRZTEUxQlFVMURMRkZCUVZNNFl5eEhRVU0zUW14R0xFVkJRVkZ4Uml4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUxNlF5eEZRVUZOYjBJc1JVRkJUekpFTEZWQlFWZG5ZeXhKUVVWMlJHeEdMRVZCUVUwMVl5eExRVUZOT0doQ0xFbEJSMUJzUml4SFFVRlRMRWxCU1d4Q1owY3NVVUZCVXl4VFFVRlZjR1lzUlVGQlRYcERMRWRCUTNoQ1FTeEZRVUZQUVN4SFFVRlJMRXRCUldZc1NVRkJTVFppTEVWQlFWRjZZU3hGUVVGUGVXRXNUVUZCVDNCYUxFVkJRVTE2UXl4SFFVTXZRamhvUWl4RlFVRmpha2NzUlVGQlRXNWhMRTlCUTNCQ1NDeEZRVUZMYzJFc1JVRkJUWEJRTEZGQlExaHpWaXhGUVVGUk0yZENMRVZCUVU4MFowSXNXVUZCWVhabUxFVkJRVTE2UXl4SFFVMTJRaXhsUVVGUWRVSXNTVUZEU2tFc1JVRkJTM05oTEVWQlFVMXdVQ3hSUVVOWWNWWXNTMEZIU1hablFpeEpRVWxWTEU5QlFWUjJRaXhIUVVOS05tSXNSVUZCVFRkTUxGRkJRVk1zY1VKQlNWUXJVaXhGUVVGTlJTeExRVU5pTVdkQ0xFVkJRVWQ2UXl4TFFVRk5Na1FzUlVGd1FrWXNWMEZEVG5KQ0xFVkJRVTk1WjBJc1VVRkJVM0JtTEVWQlFVMTZReXhKUVcxQ1JpdG9RaXhMUVVkb1FrUXNSMEZCWlVNc1IwRkRjRUpCTEVWQlFVMDNUaXhOUVVGTk5rZ3NVVUZMWkdsSExGbEJRV0VzVTBGQlZYWm1MRVZCUVUxNlF5eEhRVU0xUWl4SlFVRkpkVTBzUlVGQlRYWk5MRVZCUVU4c1lVRkRha0lzVDBGQlQydG9RaXhGUVVGVGJtWXNTVUZCUzFVc1JVRkJUVGhLTEVsQlFWTXlWU3hGUVVGVGVFSXNUMEZCVVdwa0xFVkJRVTA0U2l4RlFVRkxMRU5CUXk5RU1rZ3NUVUZCVHpsVExFVkJRVTluWVN4VlFVRlhMR1ZCUVdkQ2RrSXNTVUZCU3l4WFFVTTNRM0ZJTEVWQlFWTm9SaXhQUVVGUmVsb3NSVUZCVFN4RFFVRkZla01zUlVGQlR5eFJRVUZUZFUwc1YwRk5OME51VEN4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbk5aTEUxQlFVOHNVMEZCVlRkaUxFVkJRVTByWjBJc1IwRkRkRUlzU1VGQlNXMUNMRVZCUVZNc1JVRlJZaXhOUVU1eFFpeHBRa0ZCVkd4cFFpeEpRVU5ZSzJkQ0xFVkJRVTh2WjBJc1JVRkRVRUVzUlVGQlR5eExRVU5RYTJsQ0xFdEJSMGw0Wml4VlFVRlZhRUlzVDBGQlUzZG5RaXhGUVVOb1FqbG5RaXhGUVVGUGVXRXNUVUZCVDNoa0xFdEJRVTBzUjBGQlN6SkNMRkZCUjJwQ2EwVXNTVUZCVkRaakxFVkJRMDR4YVVJc1MwRkRRVUVzUzBGQlMybEZMRXRCUVUwc1YwRkRWaXhKUVVGSmRWb3NSVUZCVVhwaExFVkJRVTk1WVN4TlFVRlBlR1FzUzBGQlRUSkNMRVZCUVUwclowSXNSMEZIZEVNelppeEZRVUZQTkdkQ0xGbEJRV0V6YWtJc1MwRkJUVEpDTEVkQlJWb3NUMEZCVkVFc1IwRkJaME1zWlVGQlpqWmlMRVZCUVU4c1NVRkROVUo2WVN4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCU1RGQ05taENMRkZCUVZNc1UwRkJWVGRvUWl4SFFVTnNRaXhQUVVGUE0wSXNTMEZCUzJsRkxFdEJRVTBzVjBGRGFrSnNRaXhGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFRKQ0xFMUJSM2hDYldsQ0xGZEJRVmtzVTBGQlZXNXBRaXhIUVVOeVFpeFBRVUZQTTBJc1MwRkJTM2RrTEUxQlFVODNZaXhIUVVGUkxFdEJRVTBzUzBGTGJFTnBZaXhSUVVGVExGTkJRVlZxWWl4RlFVRk5UQ3hIUVVONFFpeEpRVUZKYjFBc1JVRkRTSEZVTEVWQlFWRXNSVUZEVWtNc1JVRkJVV3BvUWl4RlFVRlBhMklzVjBGRFpuQk5MRVZCUVZjM1VpeExRVU5ZYlVNc1JVRkJTVzVETEV0QlFVdHhSQ3hQUVVOVWJWb3NSVUZCVlN4aFFVTkRkVWdzUjBGRFZFTXNSVUZCVFhaRkxGbEJRV0UxVGl4RlFVRlZMRU5CUVVWQkxFdEJWV3hETEVsQlRuRkNMR2xDUVVGVWJGRXNTVUZEV0V3c1JVRkJUVXNzUlVGRFRrRXNUMEZCVDJ0RkxFZEJSVkpzUlN4RlFVRlBRU3hIUVVGUkxFdEJSVkJSTEUxQlExQjFUeXhGUVVGTmJWTXNSVUZCVTI1bUxFbEJRVXR0VHl4RlFVRlZNVkFzUjBGQlMxSXNSVUZCVHl4blFrRkRPVUlyVHl4RlFVRkpiVVlzVVVGRFptdFBMRWxCUTBGeVZDeEZRVUZKYlVZc1RVRkJUVEpHTEVsQlFVdG5RaXhKUVVscVFpeFBRVVJCUVN4SlFVTlBkMGdzUlVGQlRYQklMRkZCUVZOMFlpeE5RVWQ0UWl4SlFVRkpNbWxDTEVWQlFVOHNjME5CUVRCRFF5eFBRVVZxUkVNc1IwRkJWU3hKUVVGSmNtRXNUMEZCVVN4cFFrRkJiVUp0WVN4RlFVRlBMR05CUVdVc1MwRkhMMFJITEVkQlFWa3NRMEZCUlN4TlFVRlBMRkZCUVZNc1UwRkJWU3hSUVVWNFF6RlZMRWRCUVd0Q09WQXNSVUZCVXpoUUxHZENRVWt4UWpKVkxFZEJRV0VzVTBGQlZXcG5RaXhIUVVONlFpeFBRVUZQY2tJc1JVRkJUM2xHTEZOQlFWVndSU3hGUVVGTE5ra3NZMEZCWlRkSkxFbEJSVGREYTJkQ0xFZEJRVmNzUTBGQlJVRXNWVUZCVlN4SFFVOXVRalZWTEVkQlFXZENObFVzWTBGRGNFSkdMRWRCUVdFc1UwRkJWV3BuUWl4SFFVTjBRaXhQUVVGUGNrSXNSVUZCVDNsR0xGTkJRVlZ3UlN4RlFVRkxOa2tzWTBGQlpUZEpMRWxCUXpORFFTeEZRVUZMYldkQ0xGbEJRV0ZFTEUxQlFXVnNaMElzUlVGQlN6WkpMR2RDUVVjeFF5eEpRVUZKZFZnc1IwRkJjVUlzVTBGQlZYQm5RaXhGUVVGTmJVc3NSMEZQZGtNc1RVRkJPRUlzVlVGSU9VSnVTeXhGUVVGUGJVc3NSMEZCVFc1TExFZEJSMFJ4WjBJc1RVRkJUVU1zVTBGRFRTeExRVUYyUW5SblFpeEZRVUZMY1dkQ0xFMUJRVTFETEZOQlRWaE1MRWRCUVZscVowSXNTVUZGYzBJc1UwRkJiRU55UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFpRVXR5UWl4VFFVRlRkMmRDTEVkQlFWZDRaMElzUlVGQlRYVmxMRVZCUVUxclF5eEZRVUZaUXl4SFFVTXpReXhKUVVGSlF5eEZRVUZWUXl4RlFVTmlReXhGUVVGblFpeEhRVU5vUWtNc1JVRkJaVW9zUlVGRFpDeFhRVU5ETEU5QlFVOUJMRVZCUVUxcVZ5eFBRVVZrTEZkQlEwTXNUMEZCVHpsTUxFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5kV1VzUlVGQlRTeExRVVZxUTNkRExFVkJRVlZFTEVsQlExWkZMRVZCUVU5UUxFZEJRV05CTEVWQlFWa3NTMEZCVXpsb1FpeEZRVUZQYzJsQ0xGVkJRVmN4UXl4SFFVRlRMRWRCUVVzc1RVRkhNVVV5UXl4RlFVRm5RbXhvUWl4RlFVRkxOME1zVjBGRGJFSjNRaXhGUVVGUGMybENMRlZCUVZjeFF5eEpRVUZ0UWl4UFFVRlVlVU1zU1VGQmEwSkVMRWxCUTJoRWFFSXNSMEZCVVdwWUxFdEJRVTF1U3l4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRYVmxMRWxCUld4RExFZEJRVXN5UXl4SFFVRnBRa0VzUlVGQlpTeExRVUZSUml4RlFVRlBMRU5CV1c1RUxFbEJVa0ZFTEVkQlFXOUNMRVZCUjNCQ1F5eEZRVUZQUVN4SFFVRlJSU3hGUVVGbExFZEJSemxDUVN4SFFVRnBRa2dzUjBGQlZ5eEZRVVZ3UWtZc1MwRkpVR3hwUWl4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRYVmxMRVZCUVUweVF5eEZRVUZuUWtZc1NVRkRia01zUlVGQlNVb3NTVUZCV1N4SFFVRk5RU3hGUVVGUlJTeEpRVUZwUWtNc1IwRkJWeXhOUVVGWExFbEJRek5GUml4RlFVRm5RaXhIUVVWcVFrc3NSMEZCWjBOT0xFVkJTV3BEVFN4SFFVRm5ReXhGUVVOb1EzWnBRaXhGUVVGUE1HaENMRTFCUVU5eVowSXNSVUZCVFhWbExFVkJRVTB5UXl4RlFVRm5Ra1lzUjBGSE1VTlFMRVZCUVdGQkxFZEJRV01zUjBGblFqVkNMRTlCWWt0QkxFbEJRMHBUTEVkQlFXbENRU3hKUVVGclFrZ3NSMEZCVnl4RlFVYzVRMG9zUlVGQlYwWXNSVUZCV1N4SFFVTjBRbE1zUjBGQmEwSlVMRVZCUVZrc1IwRkJUU3hIUVVGTlFTeEZRVUZaTEVsQlEzSkVRU3hGUVVGWkxFZEJRMVJETEVsQlEwcEJMRVZCUVUxTkxFdEJRVTlCTEVWQlEySk9MRVZCUVUwM1VTeE5RVUZSY1ZJc1JVRkRaRklzUlVGQlRTOW1MRWxCUVUxblowSXNTVUZIVUVFc1JVRkpVaXhKUVVGSlVTeEhRVUZ2UWl4SFFVVjRRaXhUUVVGVFF5eEhRVUZ0UW5Cb1FpeEhRVU16UWl4SlFVRkpkVlFzUlVGRFNIcFdMRVZCUVUxclF5eEZRVUZMTmtrc1kwRkRXR0lzUlVGQlYyaEpMRVZCUVV0blNTeFRRVU5vUW5OWkxFVkJRVlZoTEVkQlFXMUNibG9zUjBGRk9VSXNUMEZCUzNOWkxFbEJTVXd2VFN4RlFVRlBlbFlzUlVGQlNYVnFRaXhMUVVGTE9XbENMRmxCUVdGVUxFVkJRVWxKTEdOQlFXVTRTaXhKUVVOb1JITlpMRVZCUVZVemFFSXNSVUZCVHpSb1FpeEpRVUZMYUU0c1JVRkJUU3hYUVVVMVFrRXNSVUZCU3k5VkxGZEJRVmRETEZsQlFXRTRWU3hIUVVWYUxGTkJRVm9yVFN4SlFVTktRU3hGUVVGVkxGTkJSVmhoTEVkQlFXMUNibG9zUjBGQllYTlpMRVZCUlhwQ1FTeEhRVWRTTEZOQlFWTm5RaXhIUVVGVk4xUXNSVUZCVlRoVUxFZEJUelZDTEVsQlRrRXNTVUZCU1dwQ0xFVkJRVk4wWjBJc1JVRkRXbmRvUWl4RlFVRlRMRWRCUTFSMFN5eEZRVUZSTEVWQlExSnFXU3hGUVVGVGQwOHNSVUZCVTNoUExFOUJSMWhwV1N4RlFVRlJhbGtzUlVGQlVXbFpMRXRCUTNaQ2JGZ3NSVUZCVDNsT0xFVkJRVlY1U2l4SlFVTk9iVW9zVVVGSldFTXNSVUZCVlhSblFpeEZRVUZMY1dkQ0xFMUJRVTFETEZGQlEyaENhVUlzUjBGTFlTeFRRVUZhYWtJc1NVRkRTbXRDTEVWQlFWRjBTeXhIUVVGVmRVZ3NSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMHNXVUZCWlN4TFFVTXZRM2RvUWl4RlFVRlJkRXNzUzBGRFlteFlMRVZCUVV0eFowSXNUVUZCVFVNc1VVRkJWU3hMUVVkTExFdEJRWFpDZEdkQ0xFVkJRVXR4WjBJc1RVRkJUVU1zVTBGQmEwSkdMRWRCUVc5Q2NHZENMRXRCUTNKRWQyaENMRVZCUVZGMFN5eEhRVUZWYTBzc1IwRkJiVUp3YUVJc1MwRkhja0lzVTBGQlduTm5RaXhKUVVOS2EwSXNSVUZCVVhSTExFZEJRVlVzVDBGSGJFSjFTQ3hGUVVGVFNpeEpRVUZMY21Vc1JVRkJUU3hWUVVGWGMyZENMRXRCVFd4RExFbEJRVTF3U2l4RlFVRlJMRVZCUVVkQkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRFVpeE5RVUZ1UW5OTExFVkJRVkYwU3l4TFFVTmFla29zUlVGQlZYbEtMRWRCUVZGdFNpeE5RVUZOUXl4UlFVRlZhMElzUlVGQlVYUkxMRWxCU1RWRExFOUJRVTk2U2l4RlFVZFNPVThzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRGFrSjVaMElzUzBGQlRTeFhRVU5NTEU5QlFVOUVMRWRCUVZVeGJFSXNUVUZCVFN4SlFVVjRRalpzUWl4TFFVRk5MRmRCUTB3c1QwRkJUMGdzUjBGQlZURnNRaXhQUVVWc1FqaHNRaXhQUVVGUkxGTkJRVlV4U0N4SFFVTnFRaXhOUVVGelFpeHJRa0ZCVmtFc1JVRkRTa0VzUlVGQlVYQmxMRXRCUVVzeWJFSXNUMEZCVXpOc1FpeExRVUZMTm14Q0xFOUJSelZDTjJ4Q0xFdEJRVXRwUlN4TFFVRk5MRmRCUTFwMVowSXNSMEZCYjBKNGEwSXNUVUZEZUVJclF5eEZRVUZSTDBNc1RVRkJUekpzUWl4UFFVVm1OV2xDTEVWQlFWRXZReXhOUVVGUE5teENMRmxCUzI1Q0xFbEJWVVZGTEVkQlEwRndWaXhIUVZoRmNWWXNSMEZCYVVJc2QwSkJSV3BDUXl4SFFVRlhMR2xEUVVWWVF5eEhRVUZqTEhGRFFVMW9Ra2dzUjBGRVkyNXRRaXhGUVVGVGRXMUNMSGxDUVVOU2VHcENMRmxCUVdFdlF5eEZRVUZUTUVNc1kwRkJaU3hUUVVOd1JIRlBMRWRCUVZFdlVTeEZRVUZUTUVNc1kwRkJaU3hWUVUwelFrY3NZVUZCWXl4UFFVRlJMRk5CUXpWQ2EwOHNSMEZCVFd4UExHRkJRV01zVlVGQlZ5eFhRVU12UW10UExFZEJRVTFzVHl4aFFVRmpMRTlCUVZFc1MwRkZOVUp6YWtJc1IwRkJTWEJxUWl4WlFVRmhaMDhzU1VGSmFrSjJVQ3hGUVVGUloyeENMRmRCUVdGTUxFZEJRVWxOTEZkQlFWY3NSMEZCVDBFc1YwRkJWeXhIUVVGUGFsTXNWVUZCVlhOQ0xGRkJTWFpGY1ZFc1IwRkJTVzVXTEZWQlFWa3NlVUpCUTJoQ2VGQXNSVUZCVVd0c1FpeHBRa0ZCYlVKUUxFZEJRVWxOTEZkQlFWY3NSMEZCVDJwVExGVkJRVlYzUml4aFFVc3pSRzFOTEVkQlFVbHVWaXhWUVVGWkxHOUNRVU5vUW5oUUxFVkJRVkZ0YkVJc1UwRkJWMUlzUjBGQlNUTlNMRlZCUzNoQ0xFbEJRVWx2VXl4SFFVRlZMRU5CUzJKRExFMUJRVThzUTBGQlJTeEZRVUZITEZWQlFWY3NXVUZEZGtKRExFbEJRVXNzUTBGQlJTeEZRVUZITEc5Q1FVRnhRaXgxUWtGREwwSkRMRWRCUVVrc1EwRkJSU3hGUVVGSExHbENRVUZyUWl4dlFrRkRNMEpETEVkQlFVa3NRMEZCUlN4RlFVRkhMSEZDUVVGelFpeDVRa0ZGTDBKRExGTkJRVlVzUTBGQlJTeEZRVUZITEVkQlFVa3NTMEZaY0VJc1UwRkJVME1zUjBGQlVUZHFRaXhGUVVGVGQwNHNSMEZKZWtJc1NVRkJTVE5OTEVWQldVb3NUMEZVUTBFc1QwRkVORU1zU1VGQmFrTmlMRVZCUVZGdlN5eHhRa0ZEWW5CTExFVkJRVkZ2U3l4eFFrRkJjMEp2UkN4SFFVRlBMRlZCUlVrc1NVRkJOMEo0VGl4RlFVRlJORXNzYVVKQlEzQkNOVXNzUlVGQlVUUkxMR2xDUVVGclFqUkRMRWRCUVU4c1MwRkhha01zVVVGSFRUVkxMRWxCUVZJMFN5eEhRVUZ4UWtFc1IwRkJUM0pGTEVWQlFWVnVTaXhGUVVGVGQwNHNSMEZETlVNeFRpeEZRVUZQWjBJc1RVRkJUeXhEUVVGRlpDeEhRVUZYWVN4SFFVYzFRa0VzUlVGTFVpeFRRVUZUYVdwQ0xFZEJRV1ZzYWtJc1JVRkJUMjFxUWl4SFFVazVRaXhKUVVoQkxFbEJRVWszYTBJc1JVRkJTU3hGUVVOUWFWb3NSVUZCU1haWUxFVkJRVTFTTEU5QlJVaHNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJRMlF3WjBJc1JVRkJVMG9zU1VGRFVqVmxMRVZCUVU4eFFpeEhRVU5RTEdOQlEwTTJhMElzUjBGQlpXNUZMRVZCUVZOdVppeEpRVUZMYzJwQ0xFVkJRV0UzYTBJc1IwRkJTeXhsUVRGRGJrUnhhMElzUjBGQlVWTXNUVUZCVVZRc1IwRkJVVlVzVFVGQlVWWXNSMEZCVVZjc1UwRkJWMWdzUjBGQlVWa3NVVUZCVlZvc1IwRkJVVU1zVFVGRE4wVkVMRWRCUVZGaExFZEJRVXRpTEVkQlFWRkpMRWRCUjJaNGJFSXNSVUZCVVcxc1FpeFRRVU5pUXl4SFFVRlJZeXhUUVVGWFpDeEhRVUZSUkN4UFFVRlRMRU5CUVVVc1JVRkJSeXdyUWtGQlowTXNZMEV5UXpGRkxFbEJRVWw2WWl4SFFVRlJMRmxCUlZvc1UwRkJVM2xqTEVkQlFXVXhha0lzUlVGQlQxb3NSVUZCVTNWclFpeEZRVUZUUXl4RlFVRlhReXhIUVU4elJDeEpRVTVCTEVsQlFVbDBha0lzUlVGQlRYTk5MRVZCUVV0RUxFVkJRVXRyV0N4RlFVRk5ReXhGUVVGVk9XbENMRVZCUTI1REsybENMRVZCUVZjMWEwSXNSVUZCVVd0cVFpeDVRa0ZEYmtJeVFpeEZRVUZSTEVkQlExSXpiRUlzUlVGQlNTeEZRVU5LYVZvc1JVRkJTWFpZTEVWQlFVMVNMRTlCUlVoc1FpeEZRVUZKYVZvc1JVRkJSMnBhTEVsQlIyUXNTVUZHUVdsRExFVkJRVTlRTEVWQlFVOHhRaXhMUVVWUkxFbEJRVlJwUXl4RlFVZGFMRWRCUVhkQ0xGZEJRVzVDZEVJc1JVRkJVWE5DTEVkQlNWcHlRaXhGUVVGUFowSXNUVUZCVHl0cVFpeEZRVUZQTVdwQ0xFVkJRVXMzUXl4VFFVRlhMRU5CUVVVMlF5eEhRVUZUUVN4UlFVY3hReXhIUVVGTk1FY3NSMEZCVFRCRExFdEJRVTF3U2l4SFFVbHNRaXhEUVZWT0xFbEJWRUZ6VFN4RlFVRk5RU3hIUVVGUGJWZ3NSVUZCVTJ4c1FpeFpRVUZoVFN4RlFVRlJXQ3hqUVVGbExGRkJSekZFYlU4c1IwRkJVWGRXTEVkQlFWTXZXU3hMUVVGTk9Va3NTVUZCVlN4RFFVRkZMRWRCUVVrc1MwRkJVU3hIUVVGSmIwUXNZMEZEYmtSdFowSXNSVUZCVDI1Q0xFZEJRVk12Vml4SlFVRlRLMVlzUjBGQlVVc3NVMEZEYWtOdVZ5eEZRVUZKUlN4VlFVRlpLMWNzUlVGQlRTeEhRVUZOTld0Q0xFVkJRVTluYkVJc1kwRkJaVE5xUWl4SFFVRlRkV3BDTEVWQlFVMHNSMEZIYWtVM2FVSXNSVUZCU1RacFFpeEZRVUZOTEVkQlEwWTNhVUlzUzBGRFVEUk1MRVZCUVUxQkxFVkJRVWt3UkN4VlFVdFljbElzUlVGQlQyZENMRTFCUVU4cmFrSXNSVUZCVDNCWUxFVkJRVWx1UlN4aFFVZDZRbTFGTEVWQlFVMXRXQ3hGUVVGVGRsWXNXVUZIV0VRc1dVRkJZeXhSUVhwQ2JFSjVWaXhGUVVGTmJHNUNMRXRCUVUxeFF5eEZRVUZSSzJ0Q0xHVkJRV2RDTldwQ0xFbEJhME4yUXl4SlFVaEJlV3BDTEVWQlFWTjRWaXhaUVVGakxFZEJSWFpDYkZFc1JVRkJTU3hGUVVOTmFVTXNSVUZCVHpCcVFpeEZRVUZQTTJ4Q0xFMUJSM1pDTEVkQlFVdHpiRUlzUjBGQllURnJRaXhGUVVGUE5rUXNVVUZCVTNoRExFVkJRVTF4YWtJc1NVRkJaU3hGUVVOcVJFTXNSMEZEU2tFc1JVRkJVVGx0UWl4TFFVRk5kMFFzVVVGblFtaENMRWRCV0VGM2FrSXNSVUZCVjNaRUxFZEJRVmxxWjBJc1IwRkhka0p6VFN4RlFVRk5iMWNzUjBGQlVXVXNSVUZCVTJ4c1FpeFpRVUZoZVVJc1IwRkJVU3hWUVVkMlEzZHFRaXhIUVVOS1lpeEhRVUZsY2xjc1IwRkpXRGhYTEVWQlJVb3NTVUZFUVRGcFFpeEZRVUZKTEVWQlEwMVdMRVZCUVU5elRTeEZRVUZMTlV3c1RVRkRhRUp2YUVJc1IwRkJXVEZaTEV0QlFVMXdTaXhGUVVGTGVrTXNUVUZCVVN4TFFVTnVRelpzUWl4RlFVRlJOVzFDTEV0QlFVMTNSQ3hIUVUxc1FpeFBRVUZQZVdwQ0xFVkJTVklzU1VGQlNVa3NSMEZCYVVJc2MwSkJSWEpDTEZOQlFWTkRMRXRCUTFJc1QwRkJUeXhGUVVkU0xGTkJRVk5ETEV0QlExSXNUMEZCVHl4RlFWTlNMRk5CUVZORExFZEJRVmxvYTBJc1JVRkJUWHBETEVkQlF6RkNMRTlCUVZONVF5eEpRVTFXTEZkQlEwTXNTVUZEUXl4UFFVRlBlRVVzUlVGQlUzbFdMR05CUTJZc1RVRkJVV2RVTEV0QlZGRkRMRXRCUVhGRExGVkJRVlF6YlVJc1IwRlpMME1zVTBGQlV6UnRRaXhIUVVGSmJtdENMRVZCUVUxdmEwSXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVWQlFVbDFiRUlzUjBGRE4wTXNTVUZCU1VNc1JVRkJVUzl0UWl4RlFVZGFMRWRCUVhOQ0xHbENRVUZXTm0xQ0xFVkJRWEZDTEVOQlUyaERMRWxCUVUwM2JVSXNTVUZPYlVJc2FVSkJRV0p4UWl4SlFVZFlNR1lzUlVGQlQwRXNSMEZCVVRGbUxFVkJRMlpCTEU5QlFWYzJReXhIUVVWRk1tbENMRVZCUTJKRUxFZEJRVWx1YTBJc1JVRkJUWHBETEVWQlFVMXhRaXhGUVVGVk1HWXNSVUZCVFRoR0xFVkJRVTgzYlVJc1IwRkJVVGh0UWl4SFFVVm9SQ3hQUVVGUGNtdENMRVZCYzBKU0xFZEJia0poTEUxQlFWSnpaU3hIUVVGelFpeE5RVUZPZUdZc1IwRkhjRUpCTEVWQlFVdEdMRVZCUTB3d1ppeEZRVUZQTVdZc1QwRkJWelpETEVkQlEwUXNUVUZCVGpORExFbEJRMk1zYVVKQlFXSkdMRWRCUjFoRkxFVkJRVXQzWml4RlFVTk1RU3hQUVVGUE4yTXNTVUZKVURORExFVkJRVXQzWml4RlFVTk1RU3hGUVVGUE1XWXNSVUZEVUVFc1QwRkJWelpETEV0QlIwUXNTVUZCVURORExFVkJRMHBCTEVWQlFVdHBiRUlzVVVGRFF5eEpRVUZOYW14Q0xFVkJRMW9zVDBGQlQydENMRVZCWlZJc1QwRmFZU3hKUVVGU2NXdENMRWxCUTBwRExFVkJRVk40YkVJc1IwRkRWRUVzUlVGQlN5eFRRVUZWZVd4Q0xFZEJTV1FzVDBGRVFUVnNRaXhKUVVGVE5teENMRWxCUVV0RUxFZEJRMUJFTEVWQlFVOHZia0lzVFVGQlQxZ3NTMEZCVFhGRkxHRkJTWHBDT0VNc1MwRkJUM1ZvUWl4RlFVRlBkbWhDTEU5QlFWVjFhRUlzUlVGQlQzWm9RaXhMUVVGUGNFVXNSVUZCVDI5RkxGTkJSVEZETDBNc1JVRkJTMGdzUzBGQlRTeFhRVU5xUW14Q0xFVkJRVTgwYkVJc1RVRkJUVzVPTEVsQlFVdDRZaXhMUVVGTmQyOUNMRVZCUVU5MGJFSXNSVUZCU1hkbUxFVkJRVTB4Wml4TFFTdGhNME1zVTBGQlV6WnNRaXhIUVVGblFuUmhMRVZCUVVrMVRTeEZRVUZOZVcxQ0xFZEJSelZDUVN4SFFWRk9ka1lzUlVGQlUwb3NTVUZCUzJ4VkxFVkJRVWsxVFN4SFFVRk5MRWRCUTNoQ2IwSXNSVUZCVHpSc1FpeE5RVUZOYms0c1NVRkJTMnBPTEVWQlFVazFUU3hGUVVGTkxFTkJRek5DTms0c1YwRkJWeXhGUVVOWVpDeFJRVUZUTEZOQlFWVnBZU3hIUVVOc1FpeEpRVUZKUnl4RlFVRlZlRllzUlVGRFlubFdMRVZCUVZGc1J5eEZRVUZUYm1Zc1NVRkJTekZFTEV0QlFVMHlRaXhIUVVVM1FpeEhRVUY1UWl4RlFVRnNRbWR1UWl4RlFVRk5TeXhYUVVGdFFtaHdRaXhMUVVGTk1rSXNTVUZMY2tNc1IwRkJUVzl1UWl4RlFVRk5NV3hDTEZGQmRVTkZUaXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUZW1Rc1NVRkJWU3hKUVVGTGMyNUNMR05CUTJ4RVRpeEZRVUZOVHl4MVFrRnlRazRzUjBGa1FVZ3NSVUZCVVhwdlFpeEZRVUZOUnl4TFFVRk5ORVFzVjBGRGNFSjNaU3hGUVVGVFNpeEpRVUZMZW1sQ0xFdEJRVTB5UWl4RlFVRk5iMjVDTEVkQlN6RkNSQ3hGUVVGWFZpeEZRVUZaY0c5Q0xFdEJRVTB5UWl4SFFVTTNRak5DTEV0QlFVMHlRaXhMUVVWRWIyNUNMRXRCUkV4NlZpeEZRVUZUZFZBc1JVRkJVMjVtTEVsQlFVc3hSQ3hMUVVGTk1rSXNTMEZEU20xdVFpeEZRVU40UW1wSExFVkJRVk5LTEVsQlFVdDZhVUlzUzBGQlRUSkNMRWRCUVUwc1IwRkZNVUl5VWl4RlFVRlRMRWRCUlV4NVZpeEpRVUZWZWxZc1JVRlhaQ3hQUVZKQmNWWXNSVUZCVFZFc01rSkJRMDVTTEVWQlFVMVRMR2xDUVU5RE9WWXNSMEZCVlVFc1JVRkJUM0JOTEZkQlpXWTJhRUlzUlVGQlRURnNRaXhUUVVkcVFuZG1MRVZCUVZOS0xFbEJRVXQ2YVVJc1MwRkJUVEpDTEVWQlFVMHNRMEZEZWtKMVJpeE5RVUZQYmtVc1JVRkJUelJzUWl4TlFVRk5WU3hSUVVsdVFuUnRRaXhGUVVGUGJVTXNUMEZCVVRacVFpeEZRVUZQTEVkQlFVdG9iVUlzUlVGQlQzVnRRaXhOUVVGTmFHMUNMRmRCUTNoRGVXeENMRVZCUVUxNmIwSXNUVUZCVHl4SFFVTmlUaXhSUVV0R01tOUNMRVZCUVUxUkxIRkRRUzlGTUVKMGFrSXNTVUZCTjBKblpDeEZRVUZUYm1Zc1NVRkJTelpMTEVWQlFVazFUU3hKUVVOMFFtOUNMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXRxVGl4RlFVRkpOVTBzUlVGQlRYVnRRaXhKUVRWaEwwSnViRUlzUlVGQlR6UnNRaXhOUVVGUkxFTkJSV1J1Y0VJc1QwRkJVU3hIUVVWU1oyTXNTVUZCU3l4VFFVRlZjRmdzUlVGQlRXOXJRaXhGUVVGUE9Wb3NSVUZCVTJkVkxFVkJRVTB4Wml4SFFVVXhReXhKUVVGSmRXMUNMRVZCUVdGRExFVkJRV0U1V1N4RlFVTTNRaXRaTEVWQlFWRkRMRVZCUVVkRExFVkJRMWgyU3l4RlFVRlRkMHNzUlVGQlZXcHZRaXhGUVVGTmEyOUNMRVZCUVZsRExFVkJRM0pEUXl4RlFVRlhiRWdzUlVGQlUyNW1MRWxCUVV0VkxFZEJSekZDTEVkQlFVMHJaQ3hGUVVGWkwyUXNSMEYxUTJ4Q0xFbEJiRU5MYzBzc1JVRkJVVUVzVlVGRldrRXNSMEZFUVRaaExFVkJRV00zWVN4SFFVTlJRU3hSUVVOMFFqRk1MRVZCUVZkMWJVSXNSVUZCV1hadFFpeFZRVXR1UWtFc1IwRkRTa1FzUlVGQlQzZE9MRXRCUVV0TkxHZENRVUZwUW01Q0xFZEJRV2xDTVUwc1IwRkpla013VEN4RlFVRlJka2dzVDBGRFluVklMRVZCUVZGMlNDeExRVUZQY0VVc1JVRkJUMjlGTEZOQlNXWnphVUlzUlVGQlUwMHNSVUZCVTA0c1ZVRkRla0pCTEVWQlFWTk5MRVZCUVZOT0xFOUJRVk55Y0VJc1QwRkJUelJ3UWl4UFFVRlJMRkZCUlc1RFVpeEZRVUZqVHl4RlFVRlRSU3hWUVVNNVFsUXNSVUZCWTA4c1JVRkJVMFVzVDBGQlV5eFRRVUZWZW1Rc1IwRkpla01zV1VGQmVVSXNTVUZCV0hwS0xFZEJRVEJDUVN4RlFVRlBOR3hDTEUxQlFVMTFRaXhaUVVGak1XUXNSVUZCUlRkTExFdEJRM0JGYjBJc1JVRkJUelJzUWl4TlFVRk5kMElzVTBGQlUzaHdRaXhOUVVGUGVVUXNSVUZCVFVNc1owSkJRV04zUWl4SlFVMXdSRFpxUWl4SFFVUkJiRUlzUjBGQlZVRXNSMEZCVXl4SlFVRkxNMklzVFVGQlQzRlFMRWxCUVcxQ0xFTkJRVVVzUzBGRE1VTTNXU3hQUVVOR2NXMUNMRXRCUlZBdmJrSXNSVUZCVDIxdlFpeEhRVVJRY0Zvc1JVRkJUWFZZTEVkQlFXVXZZU3hMUVVGTmMySXNSVUZCVDJ0Q0xFdEJRVk1zU1VGRGNFSXNSMEZEZGtKSExFZEJRV1Z1V2l4RlFVRkxMRWxCUVU4c1NVRkJTM0JLTEUxQlFVOHNTMEZCVFhSRExFOUJSM1pEY2tRc1NVRkxUbmxrTEVWQlFWVnlZeXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUZW1Rc1NVRkJWU3hIUVVjeFEwRXNSMEZCVTNGQ0xFVkJRVmR2WXl4RlFVRlJOa29zWVVGQlpUZEtMRVZCUVZGblRDeFhRVUZqZW05Q0xFVkJSMnBGZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONlpDeEpRVUZWTEVkQlJ6RkRaMjlDTEVWQlFWazFiVUlzUlVGQlQyMURMRTlCUVZFc1EwRkRNVUoyUkN4TFFVRk5RU3hGUVVOT2JXOUNMRk5CUVZWQkxFVkJRMVp3U0N4TFFVRk5RU3hGUVVOT2FGVXNVVUZCVTBFc1JVRkRWSFpJTEV0QlFVMTFTQ3hGUVVGUmRrZ3NTMEZEWkc1RkxGTkJRVlZCTEVWQlExWTJTQ3hoUVVGak4wZ3NSMEZCV1VRc1JVRkJUelpQTEV0QlFVc3ZSU3hOUVVGTmFFTXNZVUZCWVRKRExFdEJRVTE0U3l4SFFVTXZSSGROTEZWQlFWZHhZU3hGUVVGWGFtTXNTMEZCVFN4TlFVTXhRakppTEVsQlIwdExMRVZCUVZkSUxFVkJRVkU1YmtJc1QwRkRNVUpwYjBJc1JVRkJWMGdzUlVGQlVUbHVRaXhIUVVGVExFbEJRMjVDTUc5Q0xHTkJRV2RDTEVWQlIyNUNha3dzUlVGQlVXdE1MRkZCUTJsRUxFbEJRVGxFYkV3c1JVRkJVV3RNTEUxQlFVMDNjRUlzUzBGQlRUSkVMRVZCUVUxelpTeEZRVUZOYlVnc1JVRkJXVXdzU1VGRmRrTndiRUlzUlVGQlN6Sk1MR3RDUVVOVU0wd3NSVUZCU3pKTUxHbENRVUZyUW5CUExFVkJRVTAyYmtJc1NVRkxNMEp3U3l4RlFVRlJOVVFzVFVGRFdqUkVMRVZCUVZFMVJDeEpRVUZKTDJFc1MwRkJUVEpFTEVWQlFVMTFiRUlzUjBGRmJFSkJMRVZCUVZWcVlpeFJRVUZSZGtnc1QwRkRka0ozYVVJc1JVRkJWV3BpTEZGQlFWRjJTQ3hMUVVGUGRVZ3NSVUZCVVhaSUxFOUJTemxDYmtVc1JVRkRTalJ0UWl4RlFVRlRNMnRDTEU5QlFWRXlhMElzUlVGQlUxTXNaMEpCUVdsQ0xFVkJRVWRXTEVkQlJUbERReXhGUVVGVGFIQkNMRXRCUVUwcmIwSXNSMEZKYUVJMWJVSXNSVUZCVHpSc1FpeE5RVUZOYm5CQ0xFOUJRVkZ0UXl4SlFVRlRMRWxCVFdoRGEyTXNUMEZCVVN4VFFVRlZlbG9zUlVGQlRXOXJRaXhGUVVGUE9Wb3NSVUZCVXpGTUxFVkJRVlYxYmtJc1IwRkZha1FzU1VGQlNYcHNRaXhGUVVGSE1HeENMRVZCUVZjNVdpeEZRVU5xUWl0WkxFVkJRVkZETEVWQlFVZERMRVZCUTFoMlN5eEZRVUZUZDBzc1JVRkJWV3B2UWl4RlFVRk5hMjlDTEVWQlFWbERMRVZCUTNKRFF5eEZRVUZYYkVnc1JVRkJVMFFzVVVGQlUzaGxMRWxCUVZWNVpTeEZRVUZUYm1Zc1NVRkJTMVVzUjBGRmRFUXNSMEZCVFRKc1FpeEpRVUZsVGl4RlFVRlRUU3hGUVVGVFRpeFJRVUYyUXl4RFFVOUJMRWxCUkVGRExFZEJSRUZzUWl4SFFVRlZRU3hIUVVGVExFbEJRVXN6WWl4TlFVRlBjVkFzU1VGQmJVSXNRMEZCUlN4TFFVTXhRemRaTEU5QlEwWnhiVUlzUzBGTlVDeEhRVXBCTDI1Q0xFVkJRVTl0YjBJc1IwRkVVSEJhTEVWQlFVMTFXQ3hIUVVGbEwyRXNTMEZCVFhOaUxFVkJRVTlyUWl4TFFVRlRMRWxCUTNCQ0xFZEJRM1pDUnl4SFFVRmxibG9zUlVGQlN5eEpRVUZQTEVsQlFVdHdTaXhOUVVGUExFdEJRVTEwUXl4UFFVZDJRM0pFTEVWQlFVNHNRMEZsUVN4SlFWSkJlV1FzUlVGQlZYSmpMRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRVk42WkN4SlFVRlZMRWRCUlRGRGFXOUNMRVZCUVZkSUxFVkJSRmc1YmtJc1IwRkJVM0ZDTEVWQlFWZHZZeXhGUVVGUk5rb3NZVUZCWlRkS0xFVkJRVkZuVEN4WFFVRmplbTlDTEVsQlEzQkRMRWRCUXpkQ0swOHNSVUZCVFVFc1JVRkJTeXhKUVVOV0xFbEJRVWsxUnl4UFFVRlJMRlZCUVZrclppeEZRVUZYYW1Nc1MwRkJUU3hwUWtGQmIwSXNWMEZIT1VRMFl5eEZRVUZaTVd4Q0xFVkJRVWs0YTBJc1JVRkJVM1p0UWl4UFFVTnFRbmxDTEV0QlExQTJhMElzUlVGQldVTXNSVUZCVlRsclFpeEpRVVZtZVd4Q0xFZEJRV1ZVTEVsQlFXRklMRVZCUVZWSExGVkJRM3BEY0dJc1IwRkJWMEVzUlVGQlVYWklMRTlCUVZOM2FVSXNSVUZCVlhocFFpeE5RVU4wUTNWS0xFbEJRVTlCTEVWQlFVbHNSQ3hMUVVGTmJXTXNSVUZCVlc1aExGbEJRek5DZUUwc1IwRkJXVUVzU1VGQllUSnRRaXhGUVVGVk0yMUNMRmRCUTNoQ0xFOUJRV0pCTEVsQlFYRkNNbTFDTEVWQlFWVXpiVUlzV1VGRGFFTTBiVUlzUlVGQlV6TnJRaXhQUVVGUlNDeEZRVUZITEVkQlJXWTJhMElzUlVGQlZUTnRRaXhWUVVOa05HMUNMRVZCUVZOVExHZENRVVZNYWt3c1JVRkJVWFpDTEZGQlExcDFRaXhGUVVGUmRrSXNUMEZCVDNCa0xFdEJRVTB5UkN4RlFVRk5kV3hDTEVsQlQzcENZU3hKUVVGaldpeEZRVUZUZG0xQ0xGTkJRM0pDSzJJc1JVRkJVWEZNTEZkQlEydEVMRWxCUVM5RWNrd3NSVUZCVVhGTUxGTkJRVk5vY1VJc1MwRkJUVEpFTEVWQlFVMTViRUlzUlVGQldVVXNSVUZCVTBVc1UwRkZiRVJzYmtJc1JVRkJUekp1UWl4WlFVRmhkRzFDTEVWQlFVMTZReXhGUVVGTmIyOUNMRVZCUVZORkxHVkJSMjVEVWl4RlFVRlJPVzVDTEZOQk1VTm1MRWxCUVUxQkxFdEJRVkU0YmtJc1JVRkRZakZ0UWl4RlFVRlBOR3hDTEUxQlFVMDVTeXhQUVVGUmVsb3NSVUZCVFhwRExFVkJRVTgyYlVJc1JVRkJUMnRDTEVkQlFVdG9ZaXhGUVVGVE1Vd3NSMEZCVlN4SFFUaERMMFJFTEVWQlFVOTVSQ3hqUVVGbGFXcENMRWxCUXpGQ05VY3NSVUZCVTJoR0xFOUJRVkY2V2l4RlFVRk5MRzFDUVVsNlFpdHNRaXhUUVVGVkxGTkJRVlZSTEVkQlJXNUNMRWxCUVVsNGIwSXNSVUZCUnpKRExFVkJRVWRvUWl4RlFVRkxORkVzUlVGQlUybFdMRVZCUVZkcFFpeEZRVU5zUTNKWExFVkJRVThzU1VGQlNUVlBMRTFCUVU5MFFpeFZRVUZWYUVJc1VVRkhOVUp6YkVJc1JVRkJVVFZzUWl4RlFVRlBOR3hDTEUxQlFVMXJReXhKUVVGTFJpeEhRVVV4UW1Zc1IwRkRReTlITEVWQlFWTnVaaXhKUVVGTE1VUXNTMEZCVFN4WFFVRmpTU3hQUVVGUE5IQkNMRTlCUVZFc1QwRkRMME55UWl4RlFVRk5hRzVDTEU5QlFWVXNSMEZEYmtKNVpDeEZRVUZWY21Nc1JVRkJUelJzUWl4TlFVRk5ka29zVVVGQlUzVktMRVZCUVUxb2JrSXNUMEZCVlN4SFFVdHFSQ3hKUVVaQk5GTXNSVUZCVFN4SFFVRk5iMVVzUlVGRlRuaHRRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbHJReXhWUVVGVmFFSXNUMEZCVVd4Q0xFbEJRMnhEYjFNc1JVRkJUWEJUTEVkQlFVMXJReXhWUVVGWGJFTXNSMEZOZUVJc1IwRklRWGR0UWl4RlFVRk5iVU1zWlVGQmFVSTVjVUlzVFVGSGJFSnZaaXhGUVVGUk1rd3NZMEZCTWtRc1NVRkJOVU16VEN4RlFVRlJNa3dzV1VGQldYUnhRaXhMUVVGTlZDeExRVUZOTW05Q0xFZEJRVFZFTEVOQlUwRXNTVUZLUVdsRExFVkJRV1UzYmtJc1JVRkJUelJzUWl4TlFVRk5hVUlzVTBGQlUyNXdRaXhMUVVGTlZDeExRVUZOTW05Q0xFVkJRVTlwUWl4SFFVZDRSSHB1UWl4RlFVRkpMRWRCUTAxMVV5eEZRVUZWYTFjc1JVRkJZM3B2UWl4UlFVRlpkMjFDTEVWQlFVMXhReXgzUWtGSmJrUXNTVUZJUVhKRExFVkJRVTF6UXl4alFVRm5RblpYTEVWQlFWRjBVU3hMUVVVNVFsVXNSVUZCU1N4SFFVTk5ObXRDTEVWQlFWbHFWaXhGUVVGUmExWXNVMEZCVlRsclFpeFJRVU4wUXpacVFpeEZRVUZOZFVNc2FVTkJTVVIyUXl4RlFVRk5kME1zWVVGQmMwTXNTVUZCZUVKNFFpeEZRVUZWYm1Fc1dVRkRia050V2l4RlFVRk5kME1zVjBGQlZ6TmtMRXRCUVUxdFl5eEZRVUZWYm1Fc1lVRkZha050V2l4RlFVRk5aMElzVlVGQldVRXNSVUZEYkVKb1FpeEZRVUZOYWtjc1MwRkJUMmxJTEVWQlFWVnFTQ3hWUVV0V04yTXNTMEZJWWk5Q0xFbEJRVlZtTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZOMVN5eEZRVUZWUnl4WFFVRmpMRWxCUVV0SExGRkJRelZFVGl4RlFVRlZhbUlzVTBGQlZTOU9MRTFCUVU4clZDeEZRVUZSZEZFc1MwRkJUVzFSTEUxQlIxUXNTMEZCZWtKdlZTeEZRVUZOY2xZc1QwRkJVM2hRTEV0QlEzSkNObXRDTEVWQlFVMVRMR2xDUVVOT1ZDeEZRVUZOVHl4dlFrRlpXQ3hQUVVwTE9Vb3NSVUZCVVdkTkxHTkJRMXBvVFN4RlFVRlJaMDBzWVVGQllUTnhRaXhMUVVGTlZDeExRVUZOTW05Q0xFZEJSek5DUVN4RlFVRk5jbFlzVTBGSFpITlhMRk5CUVZVc1UwRkJWV3BDTEVWQlFVOXBRaXhIUVVNeFFpeEpRVUZKZW01Q0xFVkJRVWQzYmtJc1JVRkJWek5ZTEVWQlFVdHhXaXhGUVVGcFFrTXNSVUZEZGtOV0xFVkJRV1VzUjBGRFpsQXNSVUZCWjBKVUxFVkJRVk5UTEdOQlEzcENlR0lzUlVGQlRUaGFMRVZCUVUxdWFrSXNUMEZIWWl4SFFVRkxObXRDTEVkQlNVcDRZaXhGUVVGSmRFNHNXVUZQWXl4VlFVRm1iMjVDTEVWQlFVMW9ia0lzVFVGQmIwSm5ia0lzUlVGQlRUVlRMRkZCUVZVc1IwRkZOME1zUzBGQlVXeElMRWxCUVZFM1R5eExRVUZOTms4c1JVRkJUVUVzUlVGQlNXcE5MRmxCUVdNMVF5eExRVWszUXl4SFFVRnpRaXhKUVVGcVFqWlBMRVZCUVVsMFRpeFhRVUZ2UXl4VlFVRm1iMjVDTEVWQlFVMW9ia0lzVDBGQmNVTXNTVUZCYWtKclRpeEZRVUZKTVVNc1ZVRkJjMElzUTBGSGFrWXNTVUZHUVd0bUxFVkJRV3RDTEVkQlEyeENReXhGUVVGdFFpeEhRVU5pYm5CQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1d0dlFpeEZRVUZsYkc5Q0xGTkJUVVV3UkN4SlFVRTFRbmxzUWl4RlFVWk1kRm9zUjBGSVFUSllMRVZCUVZsRExFVkJRVlY2YmtJc1NVRkhUbUVzVTBGQlZ5eFBRVWN4UW5OdlFpeEZRVUZyUW5SYUxFZEJRVkV5V0N4RlFVRlZPV1VzWVVGRGJrTTVTQ3hGUVVGUmFWQXNSVUZCUzJoVExFMUJRVTl6WWl4TlFVRlBlazBzU1VGQlV5eEZRVU53UXpsTUxFVkJRVTkzVGl4TFFVRk5lVUlzUlVGQlMyaFRMRXRCUVUwc1MwRkJUU3hEUVVGRk5rOHNTVUZCVVhoTUxGRkJSWEpEYVc5Q0xFVkJRV3RDZEZvc1NVRkRkRUp4V2l4RlFVRm5RbnB4UWl4TFFVRk5LMjlDTEVkQlIyNUNNRUlzUlVGQlowSm9iMElzVVVGRGNFSjFia0lzUlVGQllXaHhRaXhMUVVGTkxFTkJRVVYzUkN4TFFVRk5lVXNzUlVGQlN5dGhMRk5CUVZWNVFpeEpRVms1UXl4UFFVeEJlR01zUlVGQlRUZFBMRXRCUTBSeGNVSXNSVUZCWjBKVUxFVkJRVk4yYlVJc1VVRkROMEoxYmtJc1JVRkJZV2h4UWl4TFFVRk5MRU5CUVVWM1JDeExRVUZOZVVzc1JVRkJTeXRoTEZOQlFWVkJMRVZCUVZOMGNFSXNUVUZCVHl0d1FpeExRVWR3UkU4c1IwRkhVbGNzVVVGQlV5eFRRVUZWYm0xQ0xFVkJRVTF2YlVJc1IwRkRlRUp3Y2tJc1QwRkJUMjFwUWl4bFFVRm5RbmhtTEVWQlFVOTFiVUlzVFVGQlRXaHRRaXhWUVVGWE9FSXNSVUZCVFN4RFFVTndSSEZ0UWl4WlFVRlpMRVZCUTFwcVNpeGpRVUZqTEVWQlJXUTVaU3hKUVVGTGNrTXNSVUZCV1cxeFFpeEhRVU5vUWl4WFFVTkRMRWRCUVV0NGNrSXNTMEZCU3pCeVFpeGpRVU5VTEU5QlFVOUdMRVZCUVUxNGNrSXNTMEZCU3pCeVFpeG5Ra0ZIY0VJc1YwRkRReXhIUVVGTE1YSkNMRXRCUVVzd2NrSXNZMEZEVkN4UFFVRlBNWEpDTEV0QlFVc3dja0lzWTBGQlpYUnRRaXhKUVVrNVFuRmtMRWxCUVVzc1UwRkJWWFppTEVkQlEyUTVSeXhQUVVGUGJXbENMR1ZCUVdkQ2RtbENMRXRCUVUxdlJpeEZRVUZOTEVOQlEyeERjVzFDTEZsQlFWa3NSVUZEV21wS0xHTkJRV01zUlVGRFpHMUtMRlZCUVZVc1JVRkRWbnByUWl4TlFVRlBRU3hSUVUxWU1tcENMRWxCUVVzc1UwRkJWV0VzUjBGRFpDeFBRVUZQUVN4RlFVRmxNMjlDTEVWQlFVOHJReXhUUVVNMVFqUnNRaXhGUVVOQkxFbEJRVWt6YjBJc1JVRkJUM1Z0UWl4TlFVRlBiME1zU1VGSGNFSjBUU3hSUVVGVExFTkJRMUozVFN4TFFVRk5MRU5CUjB4RExGVkJRVlVzUjBGRldFTXNUVUZCVHl4RFFVZE9lRUlzVFVGQlR5eFRRVUZWTlVnc1IwRkphRUlzU1VGQlNXNVZMRVZCUVV0MlR5eE5RVUZSTUdsQ0xFVkJWMnBDTEU5QlVrdHpSQ3hIUVVGbGVGa3NTMEZCVFdVc1JVRkJSelZOTEU5QlF6VkNORTBzUlVGQlIzVmtMRTlCUVZNeFppeEZRVUZWYlVNc1JVRkJTU3hWUVVjeFFuTmhMRWRCUVdkQ2RHRXNSVUZCU1N4UlFVRlRNbG9zUzBGSmRrSXNSMEZGVW0xQ0xGRkJRVk1zVTBGQlZUTkhMRWRCU1d4Q0xFbEJRVWx1VlN4RlFVRkxkazhzVFVGQlVUQnBRaXhGUVZWcVFpeFBRVkJMYzBRc1IwRkJaWGhaTEV0QlFVMWxMRVZCUVVjMVRTeFBRVU0xUWpSTkxFVkJRVWQxWkN4UFFVRlRNV1lzUlVGQlZXMURMRVZCUVVrc1ZVRkZNVUp6WVN4SFFVRm5RblJoTEVWQlFVa3NWVUZKWkN4SFFVdFNjMWtzVTBGQlZTeFRRVUZWT0VJc1IwRkRia0lzU1VGQlNXNXFRaXhGUVVGVGJXcENMRVZCUVUxdWFrSXNUMEZEYmtJc1QwRkJUM2RuUWl4SFFVRmxlRmtzUzBGQlRXaEpMRVZCUVU4M1JDeFBRVU5zUXpaRUxFVkJRVTl6YlVJc1QwRkJVekZtTEVWQlFWVTFSeXhGUVVGUkxGVkJRMnhEY1dRc1JVRkJVMjVtTEVsQlFVczRRaXhGUVVGUkxGVkJRM1JDTkVjc1JVRkJWVFZITEVWQlFWRXNUMEZKY2tKMWJVSXNZVUZCWXl4RFFVTmlXQ3hoUVVGakxGTkJRVlY2UXl4UlFVbEVPV2xDTEVsQlFXcENPR2xDTEVWQlFVMXlWaXhSUVVGM1FuRldMRVZCUVUwclF5eG5Ra0ZEZUVNdlF5eEZRVUZOSzBNc1kwRkJZMDBzV1VGQlkzSkVMRVZCUVUxeVZpeFpRVzlITjBOMlVTeEZRVUZQTW01Q0xGbEJRV01zVTBGQlZYUnRRaXhGUVVGTmVrTXNSVUZCVFhOdlFpeEhRVWR5UXpkc1FpeEZRVUZMTkdNc2NVSkJRMVExWXl4RlFVRkxOR01zYjBKQlFYRkNjbVlzUlVGQlRYTnZRaXhKUVVsc1EyeHVRaXhGUVVGUGRXMUNMRTFCUVZFc1UwRkJWVEZ1UWl4RlFVRkxjWEZDTEVkQlJ6ZENMRXRCUVZGcWMwSXNaMEpCUVdkQ0swTXNSVUZCVDNWdFFpeFBRVU01UWl4UFFVRlBMRWxCUVVsMmJVSXNSVUZCVDNWdFFpeE5RVUZQTVc1Q0xFVkJRVXR4Y1VJc1IwRkpNVUp5Y1VJc1IwRkJUMEVzUlVGQlNVUXNUVUZEWmpOQ0xFdEJRVXN3Y2tJc1kwRkJaMEk1Y0VJc1JVRkRja0kxUWl4TFFVRkxNa0lzUzBGQlQwTXNSVUZCU1VRc1MwRkphRUl6UWl4TFFVRkxhM05DTEcxQ1FVRnhRblJ4UWl4RlFVRkpkWEZDTEhWQ1FVTklkRzFDTEVsQlFYcENha1VzUlVGQlNYVnhRaXh0UWtGSFowSXNTVUZCY0VKMmNVSXNSVUZCU1c5eFFpeFpRVU5NT1VRc1IwRkRRVU1zUjBGTFJHNXZRaXhMUVVGTGQwWXNUMEZCVnpWRUxFVkJRVWswUkN4UlFVRnJReXhKUVVGNFFqVkVMRVZCUVVrMFJDeFBRVUZQYWtVc1UwRkRlRU5MTEVWQlFVazBSQ3hQUVVGUE5VTXNWMEZEV0doQ0xFVkJRVWswUkN4UFFVVk1lRVlzUzBGQlMybHlRaXhqUVVGblFuSndRaXhGUVVGSmNYQkNMR05CUTNwQ2FuSkNMRXRCUVV0dmMwSXNZMEZCWjBKNGNVSXNSVUZCU1hkeFFpeGxRVWw2UW5CelFpeExRVUZMTWtJc1MwRkJUME1zUlVGSlVuRnhRaXhIUVVOS2JIQkNMRVZCUVU5dFF5eFBRVUZSYkVZc1MwRkJUV2x6UWl4SFFVbDBRbXB6UWl4TFFVRkxjWE5DTEZWQlFWbDZjVUlzUjBGQlQwRXNSVUZCU1hseFFpeFhRVUZoTldwQ0xFdEJRVXMyYWtJc1RVRkhPVU4wYzBJc1MwRkJUU3RETEVWQlFVOHJReXhWUVVGWkxFZEJTekZDTDBNc1JVRkJUM1Z0UWl4TlFVRk5hRzFDTEZWQlFWa3NRMEZEZUVKRkxGbEJRV0ZVTEVWQlFVOTFiVUlzVFVGRGNFSTBReXh0UWtGQmIwSXZSQ3hIUVVOd1FqWkRMSEZDUVVGelFqZERMRWRCUTNSQ0swTXNPRUpCUVN0Q0wwTXNSMEZETDBKdlJTeGhRVUZoTEVWQlJXSnVSQ3hsUVVGblFpeFhRVU5tTEVsQlFVazFZeXhGUVVGSmVFMHNTMEZCU3pCeVFpeGpRVVZpTVhKQ0xFdEJRVXRyYzBJc2JVSkJRWEZDYUVVc1IwRkZja0l4WWl4SlFVRk5lRTBzUzBGQlMzVnpRaXhoUVVObUwyWXNSVUZCUlRSakxHdENRVWRLUml4blFrRkJhVUlzVjBGRGFFSXNTVUZCU1RGakxFVkJRVWw0VFN4TFFVRkxNSEpDTEdOQlJXSXhja0lzUzBGQlMyZHlRaXh4UWtGQmRVSTVReXhIUVVWMlFqRmlMRWxCUVUxNFRTeExRVUZMZFhOQ0xHRkJRMll2Wml4RlFVRkZNR01zYlVKQlIwcERMSGxDUVVFd1FpeFhRVU42UWl4SlFVRkpNMk1zUlVGQlNYaE5MRXRCUVVzd2NrSXNZMEZGWWpGeVFpeExRVUZMYTNKQ0xEaENRVUZuUTJoRUxFZEJSV2hETVdJc1NVRkJUWGhOTEV0QlFVdDFjMElzWVVGRFppOW1MRVZCUVVVeVl5d3lRa0ZIU0c1d1FpeExRVUZMYTNCQ0xHOUNRVXRRYm0xQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFwMWIwSXNVVUZCVVN4RlFVTlNReXhUUVVGVExFVkJRMVJETEZsQlFWa3NSVUZEV2tNc1owSkJRV2RDTEVWQlEyaENReXhUUVVGVExFVkJRMVJETEZGQlFWRXNSVUZEVWtNc1dVRkJXU3hGUVVOYVF5eFRRVUZUTEVWQlExUkRMRTlCUVU4c1JVRkRVRU1zVDBGQlR5eEZRVU5RUXl4VlFVRlZMRVZCUTFaRExFMUJRVTBzUlVGRFRrTXNUVUZCVVN4RlFVTlNjSEpDTEUxQlFVMHNSVUZEVG5GeVFpeFZRVUZWTEVWQlExWnVaaXhMUVVGTExFVkJRMHh2Wml4VFFVRlRMRVZCUTFSMldDeFJRVUZSTEVWQlExSjNXQ3hUUVVGVExFVkJRMVJETEZOQlFWTXNSVUZEVkVNc1UwRkJVeXhGUVVOVVF5eFRRVUZUTEVWQlExUkRMRk5CUVZNc1JVRkRWRU1zVjBGQlZ5eEZRVU5ZUXl4aFFVRmhMRVZCUTJKRExGTkJRVk1zUlVGRFZFTXNVMEZCVXl4RlFVTlVReXhsUVVGbExFVkJRMlpETEZkQlFWY3NSVUZEV0VNc1UwRkJVeXhGUVVOVVF5eFBRVUZQTEVkQlEweHdja0lzUlVGQlR6UnNRaXhOUVVGTk5FTXNVMEZGYUVKNGIwSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGQlJXMVNMRTFCUVU4c1ZVRkJWMmRhTEV0QlFVMHNXVUZCWXl4VFFVRlZlbk5DTEVWQlFVMXpia0lzUjBGRGNFVnNiVUlzUlVGQlR6UnNRaXhOUVVGTmRrb3NVVUZCVTNwa0xFZEJRVk1zUTBGSE9VSXliMElzVFVGQlR5eFhRVkZPTEU5QlNFRjZRaXhIUVVGblFqZHZRaXhMUVVGTk1rSXNSVUZCVFhsdFFpeExRVWR5UWl4SFFVVlNhVUlzVVVGQlV5eFhRVTFTTEU5QlNFRlNMRWRCUVdkQ04yOUNMRXRCUVUweVFpeEpRVWRtTEVkQlMxSnJiRUlzVTBGQlZTeFhRVU5VTEU5QlFVOHNSMEZIVW05RExHRkJRV05CTEV0QldXaENiRzFDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMXB2Y1VJc1YwRkJXU3haUVVOYVF5eFhRVUZaTEZkQlExcERMR0ZCUVdNc1kwRkRaRU1zWVVGQll5eGpRVU5hTEZOQlFWVkRMRVZCUVUwMVJDeEhRVU5zUWpsdVFpeEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRjVkFzUjBGQlV5eERRVU01UW5oR0xHRkJRV00wUWl4RlFVTmtWQ3hUUVVGVlV5eEZRVVZXV2l4UFFVRlJMRk5CUVZWMFFpeEhRVU5xUWl4SlFVRkpOMnRDTEVWQlJVZzBjVUlzUlVGQlZTOUdMRVZCUVUxNVJDeGpRVU5vUW5wRExFVkJRVmxvUWl4RlFVRk5aMElzVlVGVGJrSXNUMEZNVFN0RkxFbEJRV0ZCTEVsQlRsUXhkVUlzVFVGTlowTXJReXhGUVVGUGVVWXNVMEZPZGtONFNTeExRVTE1UkRCMVFpeE5RVU5zUlM5R0xFVkJRVTFvYmtJc1MwRkJUMmR2UWl4RlFVRlZSeXhUUVVOMlFtaHRRaXhGUVVGTk5teENMRVZCUVZWcVlpeFJRVUZSTDA0c1RVRkJUMWdzUzBGQlRYRkZMRmRCUTNKRGMydENMRVZCUVUxb2JrSXNTMEZCVDJ0d1FpeEhRVVZRTDIxQ0xFMUJTMVptTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlJXcENjV3BDTEVkQlFVa3NVMEZCVlVNc1JVRkJUM2hzUWl4RlFVRlZNR1lzUlVGQlRYaG1MRWRCUTNCRExFOUJRVTl4YkVJc1IwRkJTWFp2UWl4TFFVRk5kMjlDTEVWQlFVOTRiRUlzUlVGQlZUQm1MRVZCUVUxNFppeEpRVVY2UTNWc1FpeEpRVUZMTEZOQlFWVkVMRVZCUVU5NGJFSXNSVUZCVlRCbUxFVkJRVTE0Wml4SFFVTnlReXhQUVVGUGNXeENMRWRCUVVsMmIwSXNTMEZCVFhkdlFpeEZRVUZQZUd4Q0xFVkJRVlV3Wml4RlFVRk5lR1lzUlVGQlNTeEpRVVUzUXpCc1FpeEpRVUZMTEZOQlFWVktMRVZCUVU5NGJFSXNSVUZCVlVVc1IwRkRMMElzU1VGQlNYbHRRaXhGUVVGWGFHOUNMRVZCUTJZc1IwRkJTelp0UWl4SFFVRlRRU3hGUVVGTldTeG5Ra0ZCYTBKYUxFVkJRVTF0UWl4VlFWY3pReXhQUVZKQlFTeEZRVUZaYmtJc1JVRkJUVzFDTEZWQlEyeENOVzFDTEVWQlFWRjViRUlzUlVGQlRYTkRMR2RDUVVGcFFteERMRWxCUXpsQ1pTeEZRVUZWYm1Fc1ZVRkRWRzFoTEVWQlFWVkhMRk5CUVZjc1NVRkJUVWdzUlVGQlZXNWhMRlZCUTNKRGJXRXNSVUZCVlVjc1UwRkRXRWdzUlVGQlZUTnRRaXhUUVVOV01tMUNMRVZCUVZWcVlpeFRRVVZLTVU4c1MwRkZVaXhIUVVGelFpeHBRa0ZCVm5kdlFpeEZRVUZ4UWl4RFFVZG9ReXhKUVVGTk4yMUNMRXRCUVZFMmJVSXNSVUZEWW5odlFpeExRVUZMTkc5Q0xFbEJRVXRxYmtJc1JVRkJUWEZDTEVWQlFWVjNiRUlzUlVGQlR6ZHRRaXhKUVVWc1F5eFBRVUZQTTBJc1MwRlhVaXhQUVZSclFpeEpRVUZpWjBRc1IwRkJNRU1zYlVKQlFXSkJMRWxCUjJwRFJTeEZRVUZMUml4RlFVTk1RU3hQUVVGWE5rTXNTVUZGUVN4SlFVRlFNME1zU1VGRFNrRXNSVUZCUzJsc1FpeEpRVVZEYm05Q0xFdEJRVXRwUlN4TFFVRk5MRmRCUTJwQ2JFSXNSVUZCVHpSc1FpeE5RVUZOT1Vzc1QwRkJVVGRrTEV0QlFVMTNiMElzUlVGQlQzUnNRaXhGUVVGSlJpeFJRVTE2UXl4SlFVdERNbkpDTEVkQlFXVXNkMEpCUjJaRExFZEJRVmNzYjBOQlExaERMRWRCUVdVc01rTkJSMmhDTEZOQlFWTkRMRWRCUVc5Q01YRkNMRVZCUVUwMFdDeEhRVU5zUXl4UFFVRkxOVkFzUlVGQlZXaEpMRVZCUVUwc1ZVRkRjRUpuU1N4RlFVRXJRaXhMUVVGeVFqUlFMRVZCUVZGNllTeFRRVUZyUW5saExFVkJRVlZCTEVWQlFWRXhTaXhYUVVGWkxFOUJSVE5FZGxBc1JVRkJVWEZDTEVkQlFVOHlWeXhUUVVGVkxGTkJRVmNzU1VGSGNrTXpWeXhGUVVsU0xGTkJRVk15Y1VJc1IwRkJaVE54UWl4SFFVVjJRaXhQUVVSQlFTeEZRVUZMZWtNc1RVRkJlVU1zVDBGQmFFTjVReXhGUVVGTE5VSXNZVUZCWXl4VFFVRnpRaXhKUVVGTk5FSXNSVUZCUzNwRExFdEJRek5FZVVNc1JVRkZVaXhUUVVGVE5IRkNMRWRCUVdVMWNVSXNSMEZQZGtJc1RVRk9Na01zVjBGQmNFTkJMRVZCUVV0NlF5eE5RVUZSTEVsQlFVdHlRaXhOUVVGUExFVkJRVWNzUjBGRGJFTTRSQ3hGUVVGTGVrTXNTMEZCVDNsRExFVkJRVXQ2UXl4TFFVRkxja0lzVFVGQlR5eEhRVVUzUWpoRUxFVkJRVXN5U2l4blFrRkJhVUlzVVVGSGFFSXpTaXhGUVVkU0xGTkJRVk0yY1VJc1IwRkJaMEp5ZEVJc1JVRkJTM04wUWl4SFFVTTNRaXhKUVVGSkwzTkNMRVZCUVVkcFdpeEZRVUZIZWxvc1JVRkJaMEozZEVJc1JVRkJWVU1zUlVGQlZUTkdMRVZCUlRsRExFZEJRWFZDTEVsQlFXeENlVVlzUlVGQlN6TjBRaXhUUVVGV0xFTkJTMEVzUjBGQlMzTm9RaXhGUVVGVFJDeFJRVUZUYUdoQ0xFdEJSWFJDTm01Q0xFVkJSRmMxUnl4RlFVRlRibVlzU1VGQlN6bENMRWRCUTFBMmJrSXNVVUZMYWtJc1NVRkJUVGx1UWl4TFFVWk9hMmhDTEVWQlFWTm9SaXhQUVVGUmNWSXNSVUZCVFN4cFFrRkZWSHBHTEVWQlEySXNTVUZCVFhSdVFpeEZRVUZKTEVWQlFVZHBXaXhGUVVGSmNVOHNSVUZCVVRsdVFpeEhRVUZQTUVJc1QwRkJVV3hDTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZET1VOWkxFVkJRVTgwYkVJc1RVRkJUVzVPTEVsQlFVc3dWQ3hGUVVGTmRuUkNMRVZCUVUwNGJrSXNSVUZCVVRsdVFpeEhRVUZSVVN4SlFVODNRekpuUWl4RlFVRlRSaXhSUVVGVGFHaENMRXRCUTNSQ2RYUkNMRVZCUVZkeVRTeEZRVUZUZWtJc1QwRkJVWHBtTEVkQlF6VkNkM1JDTEVWQlFWZHljMElzUlVGQlQyMURMRTlCUVZFc1IwRkJTV2x4UWl4SFFVVTVRbkpOTEVWQlFWTk1MRWxCUVV0NVRTeEZRVUZOUlN4TFFXdENkRUlzVTBGQlUwTXNSMEZCVlVNc1JVRkJXUzloTEVWQlFVMXlVU3hGUVVGVmQycENMRWRCUnpsRGJsUXNSVUZCVDJoVkxFVkJRVTFuVlN4SFFVVmlMRWxCUVVselZDeEZRVUZWZG1wQ0xFVkJRVTlyYWtJc1JVRkJVeXRJTEVWQlFWbDBkRUlzUlVGQlRVTXNSVUZETDBORExFVkJRVWtzUlVGRFNtbGFMRVZCUVVsclZTeEZRVUZYYW5OQ0xFOUJRMlp0YzBJc1JVRkJWM0JWTEVWQlFVa3NSVUZEWm14VkxFVkJRVkZ4VGl4RlFVRk5MRWRCUTJScllpeEZRVUZyUW5CMVFpeEZRVUZaTmtZc1IwRkhMMElzUjBGQlMzVnZRaXhIUVVORWNsVXNSVUZCU1N4SFFVRnpRaXhwUWtGQlZteFZMRWxCUTJoQ09VWXNSVUZCVVdkc1FpeFpRVUZqZDBrc1IwRkJVM0JvUWl4TFFVRk5kRWNzUjBGRGVFTXNUMEZCVDI5dlFpeEZRVUZYY25KQ0xFdEJRVTBzVTBGQlZYRllMRWRCUTJwRExFbEJRVWxpTEVWQlFVODJWU3hGUVVGWEwzRkNMRWRCUVVrclZ5eEhRVU55UW0xVkxFbEJRMHBzWWl4RlFVRk5MRWRCUVUxeVRpeEZRVUZOZWtjc1MwRkJUVlFzUzBGQlRYTmlMRVZCUVU5aUxFVkJRVXRwVml4VFFVVXpRMHdzUjBGQlZUVlZMRVZCUVUxc1J5eEZRVUZOY2xFc1JVRkJWWGRxUWl4TFFVbHNReXhIUVVGTGRFMHNTVUZGU2psWExFZEJSRUYxYWtJc1JVRkJWMDRzUjBGQlpXaFVMRVZCUVUwcllTeEZRVUZaTEVkQlFVbHlhVUlzWlVGQlpTeEZRVUZQY1dsQ0xFVkJRVmsxU0N4SlFVTnFSWEJXTEZkQlJXMUNMRWxCUVM5Q2RWWXNSVUZCVTNSaUxGZEJRVmRzU2l4VFFVTjRRbmRyUWl4RlFVRlhkbXBDTEVkQlNWQkJMRWRCUVZOdmFrSXNSMEZCVlN4RFFVOTJRaXhKUVV4Qk5rZ3NSMEZFUVM5SUxFVkJRVlY2YTBJc1JVRkJUMjlDTEVsQlFVc3lhVUlzUjBGQlVXVXNSVUZCVlN4VlFVRlphMGdzUzBGREwwSXhja0lzVDBGTFlteENMRVZCUVVscFdpeEZRVUZIYWxvc1NVRkRaRVlzUlVGQlR6UnNRaXhGUVVWR01XeENMRWxCUVUxeGRFSXNTVUZEVm5aMFFpeEZRVUZQWXl4RlFVRlBkME1zVFVGQlQzUkVMRWRCUVUwc1IwRkJUU3hIUVVjMVFuTjBRaXhIUVVsS2VITkNMRVZCUVU5blFpeE5RVUZQZVdwQ0xFVkJRVk5XTEVkQlFWRTNhMElzUlVGQlRTeFpRVWwyUTJsRExFVkJRVk42UkN4TFFVRk5OblZDTEVWQlFWbHVkRUlzUjBGQlMwWXNSVUZCVFVVc1IwRkhka01zUjBGQlMyOTBRaXhGUVU5S0xFbEJUa0Z5ZEVJc1JVRkJUWE5zUWl4RlFVRlRRU3hGUVVGUmJtdENMRTlCUVZNc1IwRkJTVFJLTEdOQlIzQkRiRXNzUlVGQlQyOUNMRWxCUVV0eGFrSXNSVUZCVTNkSUxFbEJSMlkzYzBJc1JVRkJTU3hGUVVGSFFTeEZRVUZKYjNSQ0xFVkJRVmx3ZEVJc1NVRkROVUpHTEVWQlFVOTFiRUlzUlVGQlUzSnNRaXhIUVVOWUsycENMRWRCUVZreFdTeExRVUZOZGt3c1JVRkJTMDRzVFVGQlVTeE5RVU5zUTJ0b1FpeEZRVUZUZUVJc1QwRkJVWEJtTEVWQlFVMHNaVUZEZUVKakxFVkJRVTk1Uml4VFFVRlZkRWNzUlVGQlMwUXNTMEZGYWtKQkxFVkJRVXRNTEV0QlFUaERMRmxCUVhKRFN5eEZRVUZMVGl4TlFVRlJMRWxCUVVzMlJpeGpRVWN2UW5wRkxFVkJRVTgwYzBJc1YwRkJZVEYwUWl4RlFVRkxTQ3hWUVVNM1FtbENMRVZCUVU4MGMwSXNVMEZCVlRGMFFpeEZRVUZMVEN4SlFVRkxMRU5CUXpGQ1F5eE5RVUZQU1N4RlFVRkxTaXhQUVVGVFNTeEZRVUZMVHl4aFFVRmpMRlZCUTNSRFRpeEhRVWRLU0N4RlFVRlRSU3hGUVVGTGIxRXNXVUZCV1hCTkxGRkJRVk0wYjBJc1IwRkJZeXhKUVVGTk5YTkNMRVZCUVUxRExFbEJVVzVGTEU5QlFVOXZkRUlzUlVGSFVpeFRRVUZUZWxJc1IwRkJVWHBhTEVWQlFVMXdRaXhGUVVGVk5ITkNMRWRCUzJoRExFbEJTa0VzU1VGQlNUTjBRaXhGUVVOSU5teENMRVZCUVZFNWEwSXNSVUZCVjBRc1JVRkJUM05PTEU5QlFWRnlUaXhGUVVGVmIwSXNSMEZCVTBFc1JVRkRja1JxUXl4RlFVRkpMRVZCUlRSQ0xFOUJRWFpDUml4RlFVRlBObXhDTEVWQlFVOHpiRUlzU1VGQlpVRXNTVUZEYUVONWRFSXNSMEZCT0VJc1NVRkJiRUl6ZEVJc1JVRkJTMVlzVlVGRGRFSjNRaXhGUVVGUE9ITkNMRlZCUVZjdlNTeEhRVUZSTjJ0Q0xFbEJSM1JDUVN4RlFVRkxWeXhoUVVOS1ozUkNMRWRCUVZsMlRDeEhRVUZaY0dsQ0xFbEJRelZDT0d0Q0xFZEJRV1ZFTEVkQlFWRTNhMElzUlVGQlRTeFhRVVU1UWtFc1JVRkJTMWNzVjBGQlYwTXNXVUZCWVZvc1NVRkpMMElzVDBGQlQyMURMRVZCUjFKeVFpeEZRVUZQYlVNc1QwRkJVU3hEUVVOa05tbENMR05CUVdVc1UwRkJWVEpJTEVkQlEzaENMRTlCUVU5QkxFZEJSMUp1Y1VJc1RVRkJUeXhUUVVGVmJrSXNSVUZCVFRCeVFpeEZRVUZsUXl4SFFVTnlReXhKUVVGSk5YUkNMRVZCUVVkcFdpeEZRVUZITkZVc1JVRkJZVU1zUlVGd1NVNXlkVUlzUlVGQlMzTjBRaXhGUVVOdVFqbHBRaXhGUVc5SlJqZEhMRVZCUVZGdVFpeEZRVUZMYVdsQ0xGZEJRVmNzUjBGRGVFSTJTaXhGUVVGVE4wd3NSMEZCV1dwblFpeEhRVWQwUWl4TFFVRk5hRVFzUlVGQlVXdHNRaXhuUWtGQmMwTXNTVUZCYkVKc2FVSXNSVUZCU3pkRExGVkJRVzlETEV0QlFXeENOa01zUlVGQlN6ZERMRlZCUXpORWQwSXNSVUZCVHl0WExGTkJRVlV4Vml4SlFVMXVRaXhKUVVoQk5uSkNMRVZCUVdWdVNpeEhRVUZSZG1oQ0xFZEJSMnBDY0VRc1JVRkJTU3hGUVVGSGFWb3NSMEZHWWpSVkxFVkJRV05zU2l4SFFVRlJNV2xDTEVsQlJVOW1MRTlCUVZGc1FpeEZRVUZKYVZvc1JVRkJSMnBhTEVsQmFFbzFRbEFzUlVGcFNreHZkVUlzUlVGQllUZDBRaXhIUVdwS1NDdHpRaXhGUVdsS1VXVXNSVUZCWXpsMFFpeEhRV2hLZWtOcFN5eFBRVUZCUVN4RlFVZGpMRmRCU0dSQkxFVkJRVmM0YVVJc1JVRkJTemxwUWl4VFFVRlROVVVzWjBKQlIwRjNaU3hIUVVGbGVGa3NTMEZCVFRWTUxFVkJRVWxFTEUxQlEzSkVkWFJDTEVWQlFVdDRXaXhSUVVGVk9WUXNSVUZCU1RoVUxGRkJSMHNzVlVGQlluUktMRWRCUVhGRExHRkJRV0pCTEVsQlEyNURPR2xDTEVWQlFVdDBWaXhoUVVGbGFGa3NSVUZCU1dkWkxHTkJOa2w0UWl4SFFVRkxhMWNzUlVGRFNpeEhRVUZMUXl4RlFVbEtMRWxCU0VGRExFVkJRV05CTEVkQlFXVnNTaXhIUVVGUk1XbENMRWRCUTNKRE5uSkNMRVZCUVdWQkxFZEJRV2RDYmtvc1IwRkJVWFpvUWl4SFFVVnFRM0JFTEVWQlFVa3NSVUZCUjJsYUxFVkJRVWswVlN4RlFVRlpNM05DTEU5QlFWRnNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJRek5ET0hOQ0xFZEJRV2RDWlN4RlFVRmhOM1JDTEVkQlFVczRkRUlzUlVGQll6bDBRaXhUUVVkcVJEaHpRaXhIUVVGblFqZHhRaXhGUVVGTmJVSXNSMEZYZUVJc1QwRk9RVEJ4UWl4RlFVRmxia29zUjBGQlVYWm9RaXhGUVVGUExGZEJRMXBzUXl4UFFVRlRMRWRCUXpGQ01HcENMRWRCUVdWclNpeEhRVUZsUXl4SFFVRlZjRW9zUjBGQlVURnBRaXhGUVVGTkxGZEJTV2hFYlVJc1IwRkhVbk54UWl4VlFVRlhMRk5CUVZWb2MwSXNSMEZMY0VJc1NVRktRU3hKUVVGSk5tVXNSVUZCVFhSbExFVkJRVTE2UXl4RlFVTm1lV1FzUlVGQlZYSmpMRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRM1pDYW1Rc1JVRkJTU3hQUVVVMlFqQkVMRXRCUVhoQ2VrSXNSVUZCVDFBc1JVRkJUekZDTEVsQlFYRkNRU3hKUVVNMVF5eEhRVUZMWjJkQ0xFVkJRVmt2WkN4SFFVRlRMRU5CUTNwQ0xFZEJRVTl6WlN4RlFVRlBkR1VzUlVGQlRYbGxMRVZCUVZNdll5eFRRVUZqTEVOQlF6RkRMRWRCUVVzMFl5eEZRVUZMSzBjc1QwRkRWQ3hKUVVGTk9XNUNMRXRCUVZFclowSXNSVUZCU3l0SExFOUJRMkp5U3l4RlFVRlRlbVFzUjBGRFltOUNMRVZCUVU4MGJFSXNUVUZCVFRsTExFOUJRVkY2V2l4RlFVRk5la01zUjBGSk0wSnZRaXhGUVVGUE1tNUNMRmxCUVdGMGJVSXNSVUZCVFhwRExFVkJRVTByWjBJc1JVRkJTM1ZJTEZGQlQzaEROMnhDTEVWQlFVMTVaU3hGUVVGVEwyTXNZMEZCV1VRc1JVRkZka0o2UWl4RlFVRk5NR1VzUlVGQlUyaGtMRmRCU1c1Q01VSXNSVUZCVFRCbExFVkJRVk5vWkN4alFVRlpSQ3hQUVU5b1F6bERMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2FYSkNMRTlCUVZFc1UwRkJWVzUwUWl4SFFVTnFRaXhQUVVGUE5tRXNSMEZCVVRka0xFdEJRVTFuUkN4SFFVRlZMRWxCUjJoRE5tRXNUMEZCVVN4VFFVRlZOMkVzUjBGRGFrSXNUMEZCVHpaaExFZEJRVkUzWkN4TFFVRk5aMFFzU1VGSGRFSlVMRXRCUVUwc1UwRkJWVEpGTEVkQlEyWXNUMEZCVDIxaExFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmEwZ3NSMEZET1VJc1dVRkJhVUp5UWl4SlFVRldjVUlzUlVGRFRtNUZMRVZCUVU5U0xFdEJRVTEyUXl4TlFVTmlRU3hMUVVGTE5sWXNVVUZCVVRWU0xFdEJRVTBzVjBGRFN5eEpRVUZzUW1wRkxFdEJRVXQxUWl4VlFVRnZReXhMUVVGc1FuWkNMRXRCUVV0MVFpeFZRVUZ4UXl4SlFVRnNRblpDTEV0QlFVdDFRaXhYUVVONFJIWkNMRXRCUVV0eFV5eFpRVUZqYmt3c1RVRkhjRUlzUzBGQlRVRXNSVUZCVHpkRExGVkJRVlZvUWl4VFFVY3pRaXR6UWl4UFFVRlJMRmRCUTFBc1QwRkJUMllzUjBGQlZYSjJRaXhMUVVGTmNVVXNWVUZCVnl4VFFVRlZSQ3hIUVVOd1FpeEpRVUZzUW5CRkxFdEJRVXQxUWl4VlFVRnZReXhMUVVGc1FuWkNMRXRCUVV0MVFpeFZRVUZ4UXl4SlFVRnNRblpDTEV0QlFVdDFRaXhWUVVNelEzVjBRaXhIUVVGdlFqbDFRaXhMUVVGTmIwVXNSMEZEYUVONlFpeFpRVUZoZVVJc1RVRkxka0pwYzBJc1VVRkJVeXhYUVVOU0xFOUJRVTlvUWl4SFFVRlZjblpDTEV0QlFVMXhSU3hWUVVGWExGTkJRVlZFTEVkQlF6TkRMRWRCUVhWQ0xFbEJRV3hDY0VVc1MwRkJTM1ZDTEZWQlFXOURMRXRCUVd4Q2RrSXNTMEZCUzNWQ0xGVkJRWEZETEVsQlFXeENka0lzUzBGQlMzVkNMRk5CUVdsQ0xFTkJRM3BGTEVsQlFVbHBSU3hGUVVGVGMzQkNMRWRCUVc5Q09YVkNMRXRCUVUxdlJTeEhRVU4yUTI5Q0xFVkJRVTg0Y1VJc1lVRkJZMnh6UWl4RlFVRk5iMElzUlVGQlR6aE5MR2RDUVV0eVEybGxMRTlCUVZFc1YwRkRVQ3hQUVVGUGJFSXNSMEZCVlhKMlFpeExRVUZOY1VVc1ZVRkJWeXhUUVVGVlJDeEhRVU4wUTNCRkxFdEJRVXMwUXl4WlFVTlVOVU1zUzBGQlN6UkRMRmRCUVZjd2RFSXNZVUZCWTJ4elFpeEZRVUZOY0VVc1UwRkxka04zZDBJc1RVRkJUeXhYUVVOT0xFOUJRVTl1UWl4SFFVRlZjblpDTEV0QlFVMXhSU3hWUVVGWExGTkJRVlZFTEVkQlEzUkRjRVVzUzBGQlN6UkRMRmxCUTFRMVF5eExRVUZMTkVNc1YwRkJWekIwUWl4aFFVRmpiSE5DTEVWQlFVMXdSU3hMUVVGTFoxQXNaMEpCU3pWRE5rY3NUVUZCVHl4WFFVbE9MRWxCU0VFc1NVRkJTWHBTTEVWQlEwaHFReXhGUVVGSkxFVkJSVEpDTEU5QlFYUkNhVU1zUlVGQlQzQkZMRXRCUVUxdFF5eEpRVUZsUVN4SlFVTmtMRWxCUVd4Q2FVTXNSVUZCU3pkRExGZEJSMVIzUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk1XbENMRWRCUVUwc1NVRkhhRU5CTEVWQlFVdHBUeXhaUVVGakxFbEJTWEpDTEU5QlFVOXlVeXhOUVVkU2RVWXNUVUZCVHl4VFFVRlZkWEZDTEVWQlFXVkRMRWRCU1M5Q0xFOUJTRUZFTEVWQlFXbERMRTFCUVdwQ1FTeEhRVUZuUTBFc1JVRkRhRVJETEVWQlFYbERMRTFCUVhKQ1FTeEZRVUUwUWtRc1JVRkJaMEpETEVWQlJYcEVMM1pDTEV0QlFVdHRSU3hKUVVGTExGZEJRMmhDTEU5QlFVOXdRaXhGUVVGUGQwTXNUVUZCVDNaR0xFdEJRVTA0ZGtJc1JVRkJaVU1zVFVGSk5VTk1MRXRCUVUwc1UwRkJWWGh2UWl4SFFVTm1MRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTBzVTBGQlZXdElMRWRCUXpsQ0xFbEJRVWs1UXl4RlFVRlBjRVVzUzBGQlRTeEpRVUZQTEVkQlEzWkNiVU1zUlVGQlNTeEZRVU5LYVZvc1JVRkJTWEJpTEV0QlFVdHhSQ3hQUVVWV0xGRkJRV1YzUXl4SlFVRldjVUlzUjBGQmVVTXNTVUZCYkVJNVF5eEZRVUZMTjBNc1UwRkRhRU1zVDBGQlR6WkRMRVZCUVV0M1RTeFZRVWxpTEVkQlFYTkNMR2xDUVVGV01Vb3NTVUZCZFVKNWJrSXNSMEZCWVc1b1FpeExRVUZOZEVjc1MwRkRjRVJ6Wml4SlFVRlhVQ3hIUVVGVEwxa3NTMEZCVFdoSExFbEJRVmNzUTBGQlJTeEhRVUZKTEV0QlFWRXNSMEZCU1Uwc1pVRkJhMElzUTBGRk1VVk9MRVZCUVZGdVJTeEZRVUZQWjJ4Q0xHTkJRV1UzWjBJc1IwRkZPVUlzU1VGRFF5eExRVUZSTDBVc1JVRkJTV2xhTEVWQlFVZHFXaXhKUVVsVExFdEJTSFpDYVVNc1JVRkJUM0JGTEV0QlFVMXRReXhKUVVGUExFbEJSMVphTEZkQlExUjNRaXhGUVVGUE9ITkNMRlZCUVZjdlNTeEhRVUZSTVdsQ0xFZEJRVTBzU1VGRGFFTkJMRVZCUVV0M1RTeFZRVUZaTVVvc1IwRkpia0k1UXl4RlFVRlBMRVZCUjA0c1RVRkJVVzlKTEV0QlIwNXdTU3hIUVVOS2NFVXNTMEZCU3paV0xGRkJRVkYxWVN4UFFVRlJiSEJDTEVsQlJYQkNMRXRCUVUxQkxFVkJRVTgzUXl4VlFVRlZhRUlzVTBGSE0wSnZkRUlzV1VGQllTeFhRVU5hTEVsQlFVa3ZTU3hGUVVGVkxFZEJSMlFzVDBGQlR6SklMRWRCUVZWeWRrSXNTMEZCVFhGRkxGVkJRVmNzVTBGQlZVUXNSMEZETTBNc1NVRkJTVGhRTEVWQlFWTnNWU3hMUVVGTE5FTXNWMEZGWWtjc1JVRkJUelpFTEZGQlFWTTFSeXhMUVVGTk1HNUNMRWRCUVZrc1NVRkRkRU16YTBJc1JVRkJUemh6UWl4VlFVRlhMMGtzUjBGQlVUbHRRaXhQUVVOeVFtdFZMRWRCUTBwQkxFVkJRVTkzWXl4aFFVRmpkSE5DTEVWQlFVMXdSU3hSUVVzelFqQnVRaXhOUVVsTU0ydENMRVZCUVU5clFpeExRVUZOTEVOQlExb3djMElzVTBGQlZTeFRRVU5XUXl4VlFVRlhMRlZCUTFoT0xHRkJRV01zVTBGRFpFOHNXVUZCWVN4UlFVTmlReXhYUVVGWkxHVkJRMVlzVTBGQlZURnlRaXhGUVVGTk1uSkNMRWRCUTJ4Q2FIVkNMRVZCUVU5SExFZEJRVWxyUXl4SFFVRlRMRk5CUVZWd1F5eEhRVTgzUWl4SlFVNUJMRWxCUVVsaExFVkJRMGhETEVWQlFVMHNSMEZEVG10MFFpeEZRVUZUYW5WQ0xFVkJRVkZETEVkQlEycENkMElzUlVGQlQzZHpRaXhGUVVGUE0zUkNMRTlCUVZNc1JVRkRka0pzUWl4RlFVRkpMRVZCUlVkQkxFZEJRVXR4UXl4RlFVRk5ja01zU1VGRGJFSXdRaXhGUVVGUk1VSXNTVUZCVFhGRExFVkJRVTk0UlN4TFFVRlBRU3hMUVVGTGRVWXNUMEZCVHl4SFFVTjRRM2hETEVWQlFWRnBkVUlzUlVGQlVUZDFRaXhKUVVGUE5IVkNMRWRCUVZsc2RFSXNSMEZKYmtOcVJDeEZRVUZMUkN4TlFVRlBiVVFzUlVGQlMwUXNSVUZCVFVnc1QwRkhlRUlzVDBGQlR6RkVMRXRCUVVzMFJDeFZRVUZYUlN4TlFVZDZRaXhKUVVGSmJYUkNMRWRCUVZrc1NVRkJTVzV1UWl4UFFVRlJMRXRCUVU5dFlTeEZRVUZQTEd0Q1FVRnRRaXhMUVVWNlJHbE9MRWRCUVZrc1UwRkJWVGx6UWl4SFFVdDRRaXhKUVVGSksyOUNMRVZCUVU4dmIwSXNSVUZCU3paSkxHTkJRV00wUXl4WlFVMDVRaXhQUVVwTmMyUXNSMEZCVTBFc1JVRkJTMmRGTEZOQlEyNUNhRVVzUlVGQlQzQjBRaXhIUVVkRWIzUkNMRVZCUVV0cFJTeHBRa0ZCYTBKb2RFSXNTVUZITlVKcGRFSXNSMEZCVHl4VFFVRlZhblJDTEVWQlFVMWxMRVZCUVZOcVFpeEhRVU51UXl4SlFVRkpTaXhGUVVGTGMwSXNSVUZEVW10elFpeEZRVUZOTEVkQlIxQXNTVUZCVFd4elFpeExRVUZSUkN4RlFVTmliWE5DTEVWQlFVdHNjMElzUjBGQlUyaENMRVZCUVV0eFowSXNUVUZCVDNKbUxFZEJRekZDYUVJc1JVRkJTM0ZuUWl4TlFVRlBjbVlzUjBGQlUwUXNSVUZCVTBNc1IwRk5MMElzU1VGQlRVRXNTMEZJVG5SQ0xFVkJRVTFKTEVWQlFWTjZSQ3hMUVVGTk1rUXNSMEZIVUdVc1JVRkRZbVlzUlVGQlMzRm5RaXhOUVVGUGNtWXNSMEZCVTJ0elFpeEZRVUZMYkhOQ0xFZEJSek5DTEU5QlFVOTBRaXhIUVVsS2VYUkNMRWRCUVZrc1NVRkJTWHB1UWl4UFFVRlJjMkVzUjBGQlZYaFhMRXRCUVUwc1MwRkJUeXhMUVdsS2JrUXNVMEZCVXpScVFpeEhRVUZSY0hSQ0xFVkJRVTFuUWl4RlFVRk5jWE5DTEVkQlF6VkNMRWxCUVVsRExFVkJRVTlETEVWQlFWVkRMRVZCUVZVNWRFSXNSVUZOT1VJeVowSXNSVUZCVVhKblFpeEZRVUZMY1dkQ0xFMUJjVU5rTEU5QmJrTkJaMDRzUlVGQlYwRXNSMEZCV1ZBc1IwRkJWemx6UWl4TlFWRndRaXhOUVVaaVRpeEZRVUZOTW5SQ0xFVkJRVk5KTEdsQ1FVRnJRbnB6UWl4SlFVRlZjWE5DTEVWQlFWVnljMElzUzBGRmFrTnBaaXhIUVVGWmFtZENMRXRCUXk5Q1RpeEZRVUZOWml4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRXZENMRXRCVVhKQ2FFVXNSVUZCVVRCM1FpeHJRa0ZCYjBKaUxFZEJRVlY2YWtJc1MwRkJUVEZLTEVsQlFWTjVkRUlzUjBGQlZTOXFRaXhMUVVGTmNFa3NTMEZITVVWemMwSXNSVUZCVVdwT0xFVkJRVTFwVGl4TlFVTmtReXhGUVVGWGJFNHNSVUZCVFd0T0xGTkJRMnBDUXl4RlFVRlhiazRzUlVGQlRXMU9MRk5CUjJwQ2JrNHNSVUZCVFd0T0xGTkJRVmRzVGl4RlFVRk5iVTRzVTBGQlYyNU9MRVZCUVUxcFRpeE5RVUZSTlhSQ0xFVkJRMmhFUVN4RlFVRk5NblJDTEVWQlFWTkRMRTFCUjJacVRpeEZRVUZOYVU0c1RVRkJVVUVzUlVGRFpHcE9MRVZCUVUxclRpeFRRVUZYUVN4RlFVTnFRbXhPTEVWQlFVMXRUaXhUUVVGWFFTeFRRVWxLTDNKQ0xFbEJRVkl2UWl4RlFVbE9RU3hGUVVGTkxFZEJRMDVCTEVWQlNVWXNVMEZCVTJsMVFpeEhRVUZqUXl4RlFVRmhReXhIUVVkdVF5eE5RVUZQTEVOQlEwNTJkVUlzU1VGQlN5eFhRVU5LTEVsQlFVdHpkVUlzU1VGVFRDeFBRVUZUYUhsQ0xFdEJRVXN3UkN4SlFVRk5kWFZDTEVkQlFWTjBlRUlzVFVGQlQxZ3NTMEZCVFhGRkxHdENRVXhzUTNKRkxFdEJRVXN3UkN4UFFUTk5hRUlzVjBGSlF5eFRRVUZUZDNWQ0xFbEJSMUlzUjBGQlRXNU5MRVZCUVU0c1EwRkpRVzlOTEVWQlFWVXhUaXhOUVVGTk1rNHNVVUZCVlN3clJVRkZNVUp5VFN4RlFVRkpkRUlzVFVGQlRUSk9MRkZCUTFRc05FaEJSMFF4YVVJc1IwRkJaMEl2VFN4WlFVRmhkM1pDTEVkQlFWbDRka0lzV1VGQllXOXFRaXhIUVVWMFJDeEpRVUZKYzAwc1JVRkJWM1I1UWl4RlFVRlBjWGhDTEdsQ1FVRnJRbkpNTEVkQlEzaERkVTBzUlVGQmIwTXNUMEZCYWtKRUxFVkJRVk4yYVVJc1NVRkhOVUo1YVVJc1JVRkJjMFVzUzBGQk9VTkRMRVZCUVc5Q1NDeEZRVUZUU1N4WlFVbHlSREZOTEVWQlFVbDBRaXhOUVVGTmFVOHNUVUZCVVN4TlFVTnNRa01zUlVGQk5rUXNTMEZCZWtOSUxFVkJRVzlDU0N4RlFVRlRTeXhQUVVscVJFVXNSVUZCWjBVc1MwRkJla05LTEVWQlFXOUNTQ3hGUVVGVFdDeFBRVTF3UkROTUxFVkJRVWwwUWl4TlFVRk5iMDhzVTBGQlZ5eFhRVU55UWtNc1JVRkJhVVVzUzBGQk9VTk9MRVZCUVc5Q2VrMHNSVUZCU1dkT0xGbEJRV01zUjBGRmVrUnlha0lzUjBGQlowSTNUU3haUVVGaGMzWkNMRWRCU1RkQ2NFMHNSVUZCVFN4TlFVZFFMRk5CUVZONVRTeEZRVUZ2UWxFc1IwRkROVUlzVDBGQlQycDBRaXhMUVVGTGEzUkNMRTFCUVU5RExGZEJRVmxHTEVsQlIyaERMRWxCUVVsV0xFVkJRV3RDVFN4RlFVRnpRa1VzUlVGQmEwSklMRVZCUXpkRVVTeEZRVUY1UWxvc1JVRkRla0pLTEVWQlFWbDJlVUlzUlVGQlV6QkRMR05CUVdVc1QwRkRjRU41YWtJc1JVRkJUVzV0UWl4RlFVRlRNRU1zWTBGQlpTeFBRVWQ2UW5scVFpeEZRVUZKZEVJc1VVRk5Wbk5DTEVWQlFVbDBRaXhOUVVGTk1rOHNaVUZCYVVJc1kwRkRNMEp5VGl4RlFVRkpUU3hYUVVGWExFZEJRVTgxUWl4TlFVRk5NazhzWlVGQmFVSXNSMEZETjBOb2VVSXNSVUZCVVdsNVFpeG5Ra0ZCSzBNc1owSkJRVGRDZEU0c1JVRkJTWFJDTEUxQlFVMHlUeXhsUVVWd1EzSjNRaXhGUVVGUGJVTXNUMEZCVVRsRUxFVkJRVk1zUTBGRGRrSnJlVUlzYTBKQlFXMUNMRmRCUld4Q0xFOUJSRUZ3UWl4SlFVTlBWU3hIUVVWU1pDeGxRVUZuUWl4WFFVVm1MRTlCUkVGSkxFbEJRMDlUTEVkQlJWSlpMR05CUVdVc1YwRkZaQ3hQUVVSQmNrSXNTVUZEVDBrc1IwRkZVbXRDTEcxQ1FVRnZRaXhYUVVWdVFpeFBRVVJCZEVJc1NVRkRUMHNzUjBGRlVtdENMR05CUVdVc1YwRkZaQ3hQUVVSQmRrSXNTVUZEVDFrc1IwRlpVbGtzY1VKQlFYTkNMRmRCUTNKQ0xFbEJRVWxETEVWQlFVOW9UaXhGUVVGSmFVNHNSVUZCVTBNc1JVRnRRM2hDTEU5QmJFTm5ReXhOUVVFelFsWXNTVUZEU2xFc1JVRkJVUzk2UWl4RlFVRlRNRU1zWTBGQlpTeFRRVU5vUTNGclFpeEZRVUZMTDIxQ0xFVkJRVk13UXl4alFVRmxMRTFCUXpkQ2MzaENMRVZCUVZWb01FSXNSVUZCVXpCRExHTkJRV1VzVDBGRmJFTnhlRUlzUlVGQlRXeFFMRTFCUVUweVRpeFJRVUZWTERKRVFVTjBRbnBNTEVWQlFVZHNReXhOUVVGTk1rNHNVVUZCVlN4dFFrRkxia0o2VEN4RlFVRkhiRU1zVFVGQlRYRlFMRTlCUVZNc1RVRkRiRUpHTEVWQlFWRnVVQ3hOUVVGTmNWQXNUMEZCVXl4TlFWRjJRa1lzUlVGQlVXNVFMRTFCUVUxRExGRkJRVlVzVVVGRmVFSm9WaXhIUVVORkwwMHNXVUZCWVdkNFFpeEhRVU5pYUhoQ0xGbEJRV0ZuYTBJc1IwRkRZbWhyUWl4WlFVRmhhWGhDTEVkQlJXWkRMRVZCUVZVNWVrSXNSVUZCVDNGNFFpeHBRa0ZCYTBKNlN5eEhRVU51UTNkTkxFVkJRVFJDV1N4VFFVRlZSaXhGUVVGUlF5eFBRVUZSTEVsQlEzSkVReXhUUVVGVlJpeEZRVUZSUnl4bFFVRm5RaXhKUVVOc1EwUXNVMEZCVlVZc1JVRkJVVWtzYTBKQlFXMUNMRTFCUVZkMFRpeEZRVUZIZFU0c1lVRkZjRVI0YTBJc1IwRkJaMEkzVFN4WlFVRmhPSGRDTEVsQlJYWkNVaXhOUVhaSlZpeEhRWE5PUVN4SlFVRkpaMElzUjBGQll5eERRVUZGTEZOQlFWVXNUVUZCVHl4TlFVTndRME1zUjBGQllYZ3dRaXhGUVVGVE1FTXNZMEZCWlN4UFFVRlJiV2xDTEUxQlF6ZERORkFzUjBGQll5eEhRV3RDWml4VFFVRlRReXhIUVVGbGJIWkNMRWRCUTNaQ0xFbEJRVWx0ZGtJc1JVRkJVWGg0UWl4RlFVRlBlWGhDTEZOQlFWVndka0lzU1VGQlZXbDJRaXhIUVVGaGFuWkNMRWRCUlhCRUxFOUJRVXR0ZGtJc1NVRkhRVzUyUWl4TFFVRlJaM1pDTEVkQlEweG9ka0lzUlVGRlJHbDJRaXhIUVVGaGFuWkNMRWRCZUVKeVFpeFRRVUY1UWtFc1IwRk5lRUlzU1VGSVFTeEpRVUZKY1haQ0xFVkJRVlZ5ZGtJc1JVRkJUU3hIUVVGSk5HTXNZMEZCWjBJMVl5eEZRVUZMT1VVc1RVRkJUeXhIUVVOdVJEWkNMRVZCUVVsbmVVSXNSMEZCV1RsM1FpeFBRVVZVYkVJc1MwRkZVQ3hKUVVSQmFVUXNSVUZCVHl0MVFpeEhRVUZoYUhsQ0xFZEJRVTF6ZVVJc1MwRkRZa3dzUjBGRFdpeFBRVUZQYUhaQ0xFVkJaVzlDYzNaQ0xFTkJRV2RDZEhaQ0xFbEJRVlZCTEVkQlNYaEVMRWxCUzBOMWRrSXNSMEZCWlN3MFFrRkRaa01zUjBGQll5eE5RVU5rUXl4SFFVRlZMRU5CUVVWb1F5eFRRVUZWTEZkQlFWbHBReXhYUVVGWkxGTkJRVlZ3VVN4UlFVRlRMRk5CUTJwRmNWRXNSMEZCY1VJc1EwRkRjRUpETEdOQlFXVXNTVUZEWmtNc1YwRkJXU3hQUVVka0xGTkJRVk5ETEVkQlFXMUNkbmRDTEVWQlFVOTFReXhGUVVGUGFYVkNMRWRCU1hwRExFbEJRVWx3ZFVJc1JVRkJWVzlrTEVkQlFWRnFXQ3hMUVVGTmFFY3NSMEZETlVJc1QwRkJUMGdzUlVGSFRtaENMRXRCUVV0eGRrSXNTVUZCU3l4RlFVRkhjblZDTEVWQlFWTXNTVUZCVVc5MVFpeEhRVUZaTEV0QlFWVndkVUlzUlVGQlV5eEpRVUZQTEUxQlEzQkZSeXhGUVVkR0xGTkJRVk50ZFVJc1IwRkJiMEpxZUVJc1JVRkJUV3Q0UWl4RlFVRlhReXhGUVVGTFF5eEZRVUZoUXl4RlFVRlJReXhIUVVOMlJTeEpRVUZKZG5wQ0xFVkJRV3RDTEZWQlFXUnRla0lzUlVGQmQwSXNSVUZCU1N4RlFVTnVRMHNzUlVGQlVTeEZRVU5TUXl4RlFVRlJMRVZCUjFRc1IwRkJTMHdzUzBGQlZVTXNSVUZCWXl4VFFVRlhMRmRCUTNaRExFOUJRVThzUlVGSFVpeExRVUZSY25wQ0xFVkJRVWtzUlVGQlIwRXNSMEZCU3l4RlFVZE9MRmRCUVZKdmVrSXNTVUZEU2tzc1IwRkJVemQ1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRXMTRRaXhGUVVGTmJsSXNSMEZCVjJwcFFpeEpRVUZMTEVWQlFVMXpla0lzU1VGSmJFUkVMRWRCYlVKUkxGbEJRVkpFTEVsQlEwcExMRWRCUVZNM2VVSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzVlVGQldXZG5RaXhIUVVGWGFtbENMRWxCUVVzc1JVRkJUWE42UWl4SlFVbHFSQ3hYUVVGU1JpeEpRVU5LU3l4SFFVRlROM2xDTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTkxGTkJRVmRuWjBJc1IwRkJWMnBwUWl4SFFVRk5MRk5CUVZNc1JVRkJUWE42UWl4TlFYUkNka1ZITEVkQlFWTTNlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1ZVRkJXV2RuUWl4SFFVRlhhbWxDTEVsQlFVc3NSVUZCVFhONlFpeEhRVWRvUkN4WlFVRlNSaXhGUVVOS1N5eEhRVUZUTjNsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUVZkblowSXNSMEZCVjJwcFFpeEhRVUZOTEZOQlFWTXNSVUZCVFhONlFpeEhRVWwwUlVVc1IwRkJVelY1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFRRVUZYWjJkQ0xFZEJRVmRxYVVJc1IwRkJUU3hUUVVGVExFVkJRVTF6ZWtJc1NVRnZRM3BGTEU5QmFFSk5SQ3hIUVVGbFJTeEhRVUZsTEVsQlNXNURSU3hIUVVGVE4zWkNMRXRCUVV0eGRrSXNTVUZCU3l4RlFVRkhjblpDTEV0QlFVczRka0lzUzBGRE1VSjZlRUlzUlVGQlRTeFRRVUZYYTNoQ0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVsQlEycEZiekZDTEVWQlEwRkZMRVZCUTBGRUxFVkJRMEVzVFVGSlRTeEhRVWRFUXl4RlFVZFNMRk5CUVZORkxFZEJRV3RDTVhoQ0xFVkJRVTFyZUVJc1JVRkJWMHNzUjBGSE0wTXNTVUZCU1VZc1JVRkJVM1pGTEVkQlFWYzVjMElzUjBGTGRrSnZlRUlzU1VGRWJVSndNRUlzUlVGQlVXdDVRaXh4UWtGQmRVSnhReXhKUVVWRkxHVkJRVzVFTlhsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MR0ZCUVdFc1JVRkJUM0Y0UWl4SFFVTjJRMDBzUlVGQmJVSlFMRVZCUlc1Q2NIcENMRVZCUVUxdmRrSXNSMEZCVVhCMFFpeEZRVUZOYTNoQ0xFVkJRVmRITEVkQlF5OUNUeXhGUVVGaExGTkJRVmRXTEVWQlFWY3NSMEZCU1hSVUxHTkJRV2RDYzFRc1JVRkJWV2d4UWl4TlFVRlBMRWRCU1hwRkxFZEJRVXN5ZDBJc1IwRkJWWHBxUWl4TFFVRk5jRXdzUjBGQlVTeERRVU0xUWl4SlFVRk5kWHBDTEVWQlEwd3NUMEZCVDNaNlFpeEZRVVZTUVN4RlFVRk5MRTlCZVVOUUxGRkJiRU5SYUVJc1JVRkJVV3Q1UWl4eFFrRkJkVUpyUXl4SlFVMXlRM0F3UWl4RlFVRlJjM2xDTEhkQ1FVRXdRblJ1UWl4RlFVRlZhRWtzUlVGQlRTeFBRVWt6UXl4VFFVRlNhRU1zU1VGSlF6aDNRaXhYUVVGWk9YZENMRWxCUVRCRUxGZEJRV3BFVnl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFhRVUZYTEVWQlFVOXhlRUlzUzBGSE1VUnllRUlzUlVGQlN6WjRRaXhwUWtGQmFVSTFlVUlzVTBGRmRFSnRlVUlzUlVGQmFVVXNaVUZCYmtSNmVVSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzWVVGQllTeEZRVUZQY1hoQ0xFbEJTM0JFVFN4RlFVRnRRa01zUzBGQll6VjRRaXhMUVVWb1EyaERMRVZCUVUxblF5eEZRVUZOTkhoQ0xFMUJTMlExZWtJc1JVRkJUVGgzUWl4WFFVRlpPWGRDTEVsQlFWTXNSMEZKTVVKcGVrSXNSMEZEUTJwNFFpeEZRVU5CYTNoQ0xFVkJRMEZMTEVsQlFWZElMRVZCUVdNc1UwRkJWeXhYUVVOd1EwOHNSVUZEUVU0c1JVRkhRWEo2UWl4SFFVVkZMRXRCSzFOTUxGTkJRVk00ZWtJc1IwRkJUemw0UWl4RlFVRk5aU3hGUVVGVGQyUXNSVUZCVFRWa0xFVkJRVXR2ZUVJc1IwRkRla01zVDBGQlR5eEpRVUZKUkN4SFFVRk5OWGxDTEZWQlFWVklMRXRCUVUxcFFpeEZRVUZOWlN4RlFVRlRkMlFzUlVGQlRUVmtMRVZCUVV0dmVFSXNSMEUzVXpWRWNIcENMRVZCUVU5dFF5eFBRVUZSTEVOQlNXUnJlRUlzVTBGQlZTeERRVU5VUXl4UlFVRlRMRU5CUTFJemVVSXNTVUZCU3l4VFFVRlZWU3hGUVVGTmNYUkNMRWRCUTNCQ0xFZEJRVXRCTEVWQlFWY3NRMEZIWml4SlFVRkpNM1JDTEVWQlFVMHdkRUlzUjBGQlVYQjBRaXhGUVVGTkxGZEJRM2hDTEUxQlFXVXNTMEZCVWs0c1JVRkJZU3hKUVVGTlFTeE5RVTg1UW5Wb1FpeFZRVUZYTEVOQlExWnBVaXg1UWtGQk1rSXNSVUZETTBKRExHRkJRV1VzUlVGRFprTXNZVUZCWlN4RlFVTm1ReXhWUVVGWkxFVkJRMXBETEZsQlFXTXNSVUZEWkhwQ0xGbEJRV01zUlVGRFpEQkNMRlZCUVZrc1JVRkRXa01zV1VGQll5eEZRVU5rUXl4bFFVRnBRaXhGUVVOcVFrTXNhVUpCUVcxQ0xFVkJRMjVDUXl4VFFVRlhMRVZCUTFoRExGbEJRV01zUlVGRFpFTXNZMEZCWjBJc1JVRkRhRUpETEZsQlFXTXNSVUZEWkdJc1UwRkJWeXhGUVVOWVl5eFBRVUZUTEVWQlExUkRMRk5CUVZjc1JVRkRXRU1zVVVGQlZTeEZRVU5XUXl4UlFVRlZMRVZCUTFaRExFMUJRVkVzUjBGTFZDOURMRk5CUVZVc1IwRkhWaTlRTEUxQlFVOHNVMEZCVlhKblFpeEZRVUZOWjBJc1JVRkJUVGhDTEVWQlFVOTVkVUlzUjBGSGJrTXNSMEZCVFhaNFFpeEhRVUV3UWl4SlFVRnNRa0VzUlVGQlN6ZERMRlZCUVc5RExFbEJRV3hDTmtNc1JVRkJTemRETEZWQlFXMUNOa01zUlVGQlMzRm5RaXhOUVVGc1JTeERRVXRCTEVsQlFVa3paMElzUlVGQlMyNURMRVZCUVUwcmFFSXNSVUZEWkRoVUxFVkJRVmQyVml4RlFVRlhOMk1zUjBGRGRFSnhlVUlzUlVGQlpUZERMRWRCUVZsd2JrSXNTMEZCVFhCSkxFZEJRMnBEY1dZc1JVRkJVWEpuUWl4RlFVRkxjV2RDTEUxQllXUXNSMEZTVFdkVUxFbEJRMHh5ZVVJc1JVRkJUMnQyUWl4SFFVRmxhMFFzU1VGSmRrSTVWQ3hGUVVGUk0yZENMRVZCUVU5eGVrSXNVMEZCVldoNFFpeEpRVUZWY2tNc1JVRkJUM0Y2UWl4VFFVRlZiMElzVVVGSGNrTXplRUlzU1VGQlZuRkNMRVZCTUVOS0xFOUJRVXQzWXl4SFFVRlRMRkZCUVZOQkxGRkJRM2RDTjJRc1MwRkJOVU12UWl4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEhRVUZOTEVWQlFVOTFlRUlzU1VGRmVrSTNlRUlzUlVGSlJESm5RaXhGUVVGUGNtWXNSMEUzUTBFc1dVRklaSHBFTEZOQlFXTjFSaXhMUVVkamNFUXNSVUZCVFhGblFpeEhRVUZSYWxnc1MwRkJUV2hITEV0QlFXRndSQ3hGUVVGTExFdEJRMnBGYjBRc1JVRkJVVEJrTEVkQlFWZDRaMElzUlVGQlRXZENMRVZCUVUxMFFpeEhRVWN2UW01RExFVkJRVThzVlVGSlRTeE5RVUZVZFVZc1IwRkJhVUpCTEVkQlFWVkJMRWxCVDJ4Q0xGZEJRVlIyUml4SFFVRnpRamd4UWl4SlFVTXhRblozUWl4SFFVRlRjRVFzUjBGQlQwRXNSVUZCU3l4TFFVRlRaaXhGUVVGUGMybENMRlZCUVZkdFV5eEhRVUZoTEVkQlFVc3NUMEZKTjBSd01rSXNSVUZCVVdsNVFpeHBRa0ZCTmtJc1MwRkJWbTV6UWl4SFFVRnBSQ3hKUVVGcVF6bENMRVZCUVV0MlJTeFJRVUZUTEdkQ1FVTTVSRFJxUWl4RlFVRlBjbVlzUjBGQlV5eFhRVWxZYzJVc1IwRkJXU3hSUVVGVFFTeFJRVU56UWpka0xFdEJRVGxEY1VJc1JVRkJVWGRqTEVWQlFVMXFRaXhKUVVGTGNtVXNSVUZCVFRoRExFVkJRVTk1ZFVJc1RVRkZOMEk0UWl4RlFVTkthRlFzUlVGQlRXbFVMRmxCUVdGMGVVSXNSVUZCVFRoQ0xFZEJSWHBDZFdRc1JVRkJUM0ptTEVkQlFWTTRRaXhOUVd0Q2NFSjVaQ3hKUVVGTExGTkJRVlYyWjBJc1JVRkJUV2RDTEVWQlFVMTFkMElzUlVGQlQwWXNSMEZEYWtNc1NVRkJTWEo2UWl4RlFVRkxkVUlzUlVGQlN5dG1MRVZCUTJJNFZDeEZRVUZYZGxZc1JVRkJWemRqTEVkQk5rSjJRaXhQUVRWQ1owSjNka0lzUjBGQldYQnVRaXhMUVVGTmNFa3NTMEZOYWtOQkxFVkJRVTlyZGtJc1IwRkJaV3RFTEV0QlNYWkNPVlFzUlVGQlVUTm5RaXhGUVVGUGNYcENMRk5CUVZWb2VFSXNTVUZCVlhKRExFVkJRVTl4ZWtJc1UwRkJWVzlDTEV0QlIzUkRMRkZCUVZNNVZDeEpRVU4wUW5Sb1FpeEZRVUZOYzJoQ0xFVkJRVTFvWjBJc1NVRkJTMVVzUjBGQlRTeEZRVUZOZFhoQ0xGTkJTV3BDT1haQ0xFbEJRVko2UkN4SlFVTktRU3hGUVVGTmIzWkNMRWRCUVZGd2RFSXNSVUZCVFdkQ0xFVkJRVTF4ZDBJc1NVRkpaQ3hYUVVGU2NucENMRWRCUVc5Q1owUXNTMEZCVVRKMlFpeExRVU5vUXpONVFpeEZRVUZOTW5sQ0xFZEJRVzlDTTNaQ0xFbEJTVm9zUzBGQlZuVjNRaXhIUVVGblFrRXNSMEZEY0VKb2VVSXNSVUZCVFhWMlFpeFhRVUZaT1hkQ0xFbEJRMFFzU1VGQlZuVjZRaXhIUVVGclFtZERMRk5CUVZWb01FSXNSMEZCVVVFc1IwRkJUeXhGUVVGSmRrSXNSMEZIYUVSQkxFdEJTVlJYTEVWQlFVOXJRaXhMUVVGTkxFTkJRVVVzVTBGQlZTeFRRVUZYTEZOQlFWVnpSQ3hGUVVGSkszUkNMRWRCUTJwRWRubENMRVZCUVU5eGVrSXNVMEZCVldRc1IwRkJZeXhEUVVNNVFqVjRRaXhKUVVGTExGTkJRVlZWTEVWQlFVMXhkRUlzUlVGQlZXdEZMRWRCUXpsQ0xFZEJRVXRzUlN4RlFVbEtMRTlCUVU5clJDeEhRVUZoYm01Q0xFdEJRVTE2U3l4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGhRVkY0UTBFc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1VVRkJWMlVzUlVGQlMzZDZRaXgzUWtGQmQwSnNSeXhOUVVscVJXOUZMRWRCUVd0Q01YaENMRVZCUVUxcmVFSXNSVUZCVjBzc1IwRklia04wUlN4SFFVRk5hblJDTEVWQlFVMTVkMElzUjBGQlV5eFhRVU53UWl4UFFVRlBhVUlzUjBGQmEwSXhlRUlzUlVGQlRXdDRRaXhGUVVGWFN5eE5RVTA1UTJ4VUxFbEJRVXNzVTBGQlZYSmxMRVZCUVUwNFF5eEZRVUZQZVhWQ0xFZEJRek5DTEVsQlFVazFkVUlzUlVGRFNEQjFRaXhGUVVGVGRrVXNSMEZCVnpselFpeEhRVWx3UW5sNlFpeEhRVUZ6UW5veVFpeEZRVUZSY1hsQ0xHbENRVU5VTEdGQlFYQkNaME1zUlVGQlR6VkRMRk5CU1ZJeVF5eEhRVVJyUW5GRExFZEJRWE5DYkVNc1NVRkZXU3hsUVVGdVJEVjVRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4aFFVRmhMRVZCUVU5eGVFSXNSMEZEZGtOT0xFVkJRVmRSTEVWQlExWk9MRWRCUTBOcWVFSXNSVUZEUVd0NFFpeEZRVU5CU3l4RlFVTkJTQ3hGUVVOQlF5eEhRVVZFTEVWQmNVSkdMRTlCYWtKTFJDeEhRVUZsY1VNc1NVRkRia0l4UXl4SFFVRlpjSFpDTEV0QlFVczRka0lzUzBGRGFFSjZlRUlzUlVGQlRTeFRRVUZYYTNoQ0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVsQlEycEZOSGxDTEZkQlFWbDFReXhGUVVGUlNDeEpRVU53UWtRc1IwRkJiMEpxZUVJc1JVRkJUV3Q0UWl4RlFVRlhMRlZCUVZVc1JVRkJUMGNzUjBGRGRFUXNTMEZMUjA0c1NVRkJZM0IxUWl4RlFVRlZiMlFzUjBGQlVXcFlMRXRCUVUxb1J5eExRVU5pTEZGQlFUTkNTQ3hGUVVGVExFbEJRVThzVVVGRmJFSXpReXhGUVVGTGNXZENMRTFCUVU4MlVTeEhRVUZqY0hWQ0xFVkJRekZDUVN4RlFVRlJia1VzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUxcmVFSXNTVUZIY0VKS0xFZEJRVzFDT1hkQ0xFVkJRVTA0UXl4RlFVRlBhWFZDTEU5QlN6RkRjSGxDTEVWQlFVOXhla0lzVTBGQlV6TkVMRmRCUVdGV0xFZEJRV016ZDBJc1JVRkJVVzk1UWl4dFFrRkRiRVFzVTBGQlZYQjJRaXhGUVVGTmNYUkNMRWRCUTJZc1IwRkJTMEVzUlVGRFNpeFBRVUZUZVVJc1YwRkJXVEZDTEVkQlFWRndkRUlzUlVGQlRTeG5Ra0ZEYkVOQkxFVkJRVXQzZWtJc2QwSkJRWGRDUlN4TFFVTTFRbnBITEVkQlFVMXFkRUlzUlVGQlRTeERRVUZGY1hWQ0xGZEJRVmtzUjBGQlN5eFhRVU01UWl4UFFVRlBjblZDTEVWQlFVdDNla0lzZDBKQlFYZENSU3hSUVVWdVF5eFBRVTFRTHpCQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFvNGVrSXNUMEZCVVN4SFFVTlNReXhSUVVGVExFZEJRMVJETEU5QlFWRXNVMEZEVGl4VFFVRlZReXhGUVVGUlF5eEhRVU53UW5BeFFpeEZRVUZQY1hwQ0xGTkJRVlU0UWl4RlFVRlRReXhIUVVGWExFTkJRM0JEUXl4UFFVRlJMRk5CUVZWc2VFSXNSMEZQYWtJc1NVRk9RU3hKUVVGSkwwVXNSVUZCU1N4RlFVTlFhekpDTEVWQlFWY3NSMEZIV0VNc1JVRkJlVUlzYVVKQlFWWndlRUlzUlVGQmNVSkJMRVZCUVUxSkxFMUJRVThzUzBGQlVTeERRVUZGU2l4SFFVVndSQzlGTEVWQlFVa3NSVUZCUjBFc1NVRkRaR3N5UWl4RlFVRlZTQ3hGUVVGVE9WUXNSMEZCVjJwcFFpeEhRVUZOWnpKQ0xFZEJRMjVEUnl4RlFVRlBiakpDTEVsQlFVOXRNa0lzUlVGQlQyNHlRaXhGUVVGSkxFbEJRVTl0TWtJc1JVRkJUeXhIUVVkNlF5eFBRVUZQUkN4SlFVbFBMRmRCUVZoSUxFbEJRMHB1TVVJc1JVRkJUM0Y2UWl4VFFVRlZPRUlzUlVGQlUwTXNSMEZCVXpGV0xFbEJRVTE1VXl4TlFVa3pRMjU1UWl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbmxtTEVsQlFVc3NVMEZCVlhabUxFVkJRVTA0UWl4SFFVTndRaXhQUVVGUGJXRXNSVUZCVVhKb1FpeExRVUZOTEZOQlFWVnZSU3hGUVVGTlowSXNSVUZCVFRoQ0xFZEJRekZETEVsQlFVbDFkVUlzUlVGQlVUVjNRaXhGUVVOWVZpeEZRVUZOTEVkQlEwNW9ReXhGUVVGSkxFVkJSVXdzUjBGQlMzZEVMRTFCUVUxRExGRkJRVk5TTEVkQlFWTXNRMEZKTlVJc1NVRklRWEYzUWl4RlFVRlRka1VzUjBGQlZ6bHpRaXhIUVVOd1FsTXNSVUZCVFU4c1JVRkJTeTlDTEU5QlJVaHNRaXhGUVVGSk1FTXNSVUZCU3pGRExFbEJRMmhDWjBNc1JVRkJTMmxDTEVWQlFVMXFSQ3hKUVVGUldTeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUV2RDTEVWQlFVMXFSQ3hKUVVGTExFVkJRVTl6ZWtJc1IwRkhlRVFzVDBGQlQzUjRRaXhGUVVkU0xGbEJRV2xDTUVJc1NVRkJWbkZDTEVWQlEwNXVSU3hGUVVGUE1HaENMRTFCUVU5eVowSXNSVUZCVFdkQ0xFVkJRVTA0UWl4SFFVTXhRbTVGTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTlowSXNTVUZEYWtKQkxFVkJRVTA0UWl4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1RVRlJja05PTEVWQlFVOXRla0lzVFVGQlVVRXNSMEZGWmtFc1IwRkJUVFY1UWl4VlFVRlpMRU5CUTJwQ1JTeFpRVUZoTUhsQ0xFZEJRMkl2ZVVJc1MwRkJUU3hUUVVGVmFVSXNSVUZCVFdVc1JVRkJVM2RrTEVWQlFVMDFaQ3hGUVVGTGIzaENMRVZCUVZFdlVTeEhRVU5xUkhCc1FpeExRVUZMYjBVc1MwRkJUMEVzUlVGRFduQkZMRXRCUVVzeWFVSXNTMEZCVDBFc1JVRkRXak5wUWl4TFFVRkxiVEpDTEU5QlFWTkJMRWRCUVZWd2VrSXNSVUZCVDI5NlFpeFBRVUZQZEZBc1UwRkRkRU0zYlVJc1MwRkJTMjFHTEZGQlFWVkJMRVZCUTJadVJpeExRVUZMYVZVc1RVRkJVV3BWTEV0QlFVdHpjMElzU1VGQlRYUnpRaXhMUVVGTE5rOHNUVUZETjBJM1R5eExRVUZMSzBVc1NVRkJUVUVzUlVGRFdDOUZMRXRCUVV0dmJFSXNTMEZCVDBFc1NVRkJWWEpwUWl4RlFVRlBjMmxDTEZWQlFWY3hReXhIUVVGVExFZEJRVXNzVDBGRmRrUTVWQ3hKUVVGTExGZEJRMG9zU1VGQlNUWlZMRVZCUVZGM1V5eEhRVUZOY1VNc1ZVRkJWM1kwUWl4TFFVRkxNbWxDTEUxQlJXeERMRTlCUVU5bExFZEJRVk5CTEVWQlFVMW9aMElzU1VGRGNrSm5aMElzUlVGQlRXaG5RaXhKUVVGTE1VUXNUVUZEV0dzeVFpeEhRVUZOY1VNc1ZVRkJWVEZTTEZOQlFWTnVha0lzU1VGQlN6RkVMRTlCUldoRGR6UkNMRWxCUVVzc1UwRkJWVU1zUjBGRFpDeEpRVUZKUXl4RlFVTklhRllzUlVGQlVYZFRMRWRCUVUxeFF5eFZRVUZYZGpSQ0xFdEJRVXN5YVVJc1RVRnZRaTlDTEU5QmJFSkxNMmxDTEV0QlFVdHRSaXhSUVVGUmQzcENMRk5CUTJwQ016UkNMRXRCUVVzME5FSXNTVUZCVFVZc1JVRkJVVE14UWl4RlFVRlBiM3BDTEU5QlFWRnVNa0lzUzBGQlMyMHlRaXhSUVVOMFEzTkRMRVZCUVZONk5FSXNTMEZCUzIxR0xGRkJRVkYzZWtJc1UwRkJWMFlzUlVGQlV5eEZRVUZITEVWQlFVZDZORUlzUzBGQlMyMUdMRkZCUVZGM2VrSXNWVUZIT1VRek5FSXNTMEZCU3pRMFFpeEpRVUZOUml4RlFVRlJSQ3hGUVVWd1FubzBRaXhMUVVGTGMzTkNMRXRCUVZGMGMwSXNTMEZCU3l0RkxFbEJRVTB2UlN4TFFVRkxhVlVzVDBGQlZYbHJRaXhGUVVGUk1UUkNMRXRCUVV0cFZTeE5RVVV2UTJwVkxFdEJRVXR0Uml4UlFVRlJNSHBDTEUxQlEycENOelJDTEV0QlFVdHRSaXhSUVVGUk1IcENMRXRCUVV0d05FSXNTMEZCVFZRc1MwRkJTMjlGTEV0QlFVMXdSU3hMUVVGTGMzTkNMRWxCUVV0MGMwSXNUVUZIZWtNd2FrSXNSMEZCVTBFc1JVRkJUV3BDTEVsQlEyNUNhVUlzUlVGQlRXcENMRWxCUVV0NmFVSXNUVUZGV0dzeVFpeEhRVUZOY1VNc1ZVRkJWVEZTTEZOQlFWTndSU3hKUVVGTGVtbENMRTFCUlhoQ1FTeFBRVWxVYXpKQ0xFZEJRVTAxZVVJc1ZVRkJWVWdzUzBGQlMwY3NWVUZCV1RSNVFpeEhRVUZOTlhsQ0xGVkJSWFpETkhsQ0xFZEJRVTF4UXl4VlFVRlpMRU5CUTJwQ01WSXNVMEZCVlN4RFFVTlVibXBDTEVsQlFVc3NVMEZCVlc5b1FpeEhRVU5rTEVsQlFVbDRVaXhGUVVsS0xFOUJRVFpDTEVsQlFYaENkMUlzUlVGQlRURm5RaXhMUVVGTE4wTXNWVUZEWVN4TlFVRTFRblZxUWl4RlFVRk5NV2RDTEV0QlFVMHdaMElzUlVGQlRXNURMRTlCUVc5RUxFMUJRV3hEYlVNc1JVRkJUVEZuUWl4TFFVRkxjV2RDTEUxQlFVOUxMRVZCUVUxdVF5eE5RVU55UkcxRExFVkJRVTB4WjBJc1MwRkJUVEJuUWl4RlFVRk5ia01zVDBGUE1VSnlVQ3hGUVVGVGRsRXNSVUZCVHpSb1FpeEpRVUZMUnl4RlFVRk5NV2RDTEV0QlFVMHdaMElzUlVGQlRXNURMRXRCUVUwc1RVRkhhRUlzVTBGQldISlFMRVZCUVhkQ1FTeEZRVUZLTEVkQlJYWkRiVkFzU1VGQlN5eFRRVUZWY1VNc1IwRkxWQzlvUWl4RlFVRlBLekZDTEVkQlFVZEVMRXRCUVUwdlZDeEZRVUZOYmtNc1RVRkRNVUkxWml4RlFVRlBLekZDTEVkQlFVZEVMRXRCUVUwdlZDeEZRVUZOYmtNc1RVRkJVVzFETEVkQlEwc3NTVUZCZUVKQkxFVkJRVTB4WjBJc1MwRkJTemRETEZkQlEzUkNkMElzUlVGQlQzRjZRaXhUUVVGVmRGSXNSVUZCVFc1RExFOUJRelpDTEUxQlFXNUViVU1zUlVGQlRURm5RaXhMUVVGTGNXZENMRTFCUVU4MlVDeEhRVUZsZUZBc1JVRkJUVzVETEU5QlIzaERiVU1zUlVGQlRURm5RaXhMUVVGTk1HZENMRVZCUVUxdVF5eE5RVUZUYlVNc1JVRkJUWGRJTEVsQlJtcERkbkJDTEVWQlFVOHdhRUlzVFVGQlQwc3NSVUZCVFRGblFpeExRVUZOTUdkQ0xFVkJRVTF1UXl4TFFVRk5iVU1zUlVGQlRYZElMRWxCUVUxNFNDeEZRVUZOVFN4VFFWVTFSRGhSTEVkQlFVMXhReXhWUVVGVlVTeFZRVUZaTjBNc1IwRkJUWEZETEZWQlFWVlRMRmRCUVdFc1EwRkRlRVIyVnl4SlFVRkxMRk5CUVZWeFF5eEhRVU5VUVN4RlFVRk5NV2RDTEV0QlFVczNReXhWUVVGWmRXcENMRVZCUVUweFowSXNTMEZCUzNoQ0xHRkJRM1JEYTJsQ0xFVkJRVTB4WjBJc1MwRkJUVEJuUWl4RlFVRk5ia01zVFVGQlUyMURMRVZCUVUxM1NDeFBRVXR3UTNad1FpeEZRVUZQYjNwQ0xFOUJRVk1zUTBGRFpqaERMRTlCUVZFc1UwRkJWVU1zUjBGRGFrSXNUMEZCVDBFc1IwRkZVa01zVFVGQlR5eFRRVUZWUkN4SFFVTm9RaXhOUVVGUExFZEJRVTF1ZWtJc1MwRkJTM0Y2UWl4SlFVRkxSaXhGUVVGSmJucENMRXRCUVV0emVrSXNTVUZCVHl4SFFVVjRRM2hUTEZOQlFWVXNVMEZIV0RscVFpeEZRVUZQS3pGQ0xFZEJRVXMxUXl4SFFVRk5OWGxDTEZWQlFWVklMRXRCUnpWQ1NpeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVOHNSMEZMYWtJc1NVRkRRMU1zUjBGQlQwTXNSMEZEVUVNc1IwRkJWeXg1UWtGRFdFTXNSMEZCVHl4alFVVlNMRk5CUVZORExFdEJRMGhJTEUxQlEzRkNMRWxCUVhCQ016VkNMRVZCUVZNck5VSXNVVUZCYjBJMU5VSXNSVUZCVHpZMVFpeHpRa0ZEZUVNM05VSXNSVUZCVHpZMVFpeHpRa0ZCZFVKR0xFbEJSVGxDTXpWQ0xFVkJRVTluWjBJc1YwRkJXVEphTEVkQlFWVXpNa0lzUlVGQlR5c3hRaXhIUVVGSFpTeFZRVWQ0UXpreVFpeEZRVUZQS3pGQ0xFZEJRVWRuUWl4UlFVdGFMRk5CUVZORExFdEJTVklzVDBGSVFXZzJRaXhGUVVGUFoyZENMRmRCUVZrc1YwRkRiRUoxV2l4UlFVRlJlbnBDTEVsQlJVRjVla0lzUjBGQlVUZDNRaXhMUVVGTE5tcENMRTFCU1haQ0xGTkJRVk13VGl4SFFVRlBjalJDTEVWQlFVMXpORUlzUjBGRGNrSXNTVUZCU1RsTUxFVkJRMGhvYzBJc1JVRkJTU3hGUVVOS2MwMHNSVUZCVVN4RFFVRkZjV3hDTEU5QlFWRnVlVUlzUjBGTGJrSXNTVUZFUVhNMFFpeEZRVUZsUVN4RlFVRmxMRVZCUVVrc1JVRkRNVUk1TTBJc1JVRkJTU3hGUVVGSFFTeEhRVUZMTEVWQlFVazRNMElzUlVGRmRrSjRja0lzUlVGQlR5eFZRVVJRTUdZc1JVRkJVUzlLTEVkQlFWZHFhVUlzUzBGRFUzTk5MRVZCUVU4c1ZVRkJXVEJtTEVkQlFWVjRjMElzUlVGUE1VUXNUMEZLUzNNMFFpeEpRVU5LZUhKQ0xFVkJRVTAwYmtJc1VVRkJWVFZ1UWl4RlFVRk5hV3BDTEUxQlFWRXZka0lzUjBGSGVFSTRUU3hGUVVkU0xGTkJRVk41Y2tJc1IwRkJZV2g2UWl4RlFVRlBlV0lzUlVGQlRYZFlMRWRCUzJ4RExFbEJTa0VzU1VGQlNYSldMRVZCUTBoM1N5eEhRVUZsT0Vzc1IwRkJWVU1zVTBGQlZURllMRWxCUVZVc1NVRkJTMnBwUWl4UFFVRlJNRFZDTEVkQlFWVkRMRk5CUVZVc1RVRkRPVVV2WlN4RlFVRlJMRVZCUTFKcVdTeEZRVUZUYVhOQ0xFVkJRVmRxYzBJc1QwRkRZbWxaTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZEZGtJc1IwRkJUM2RLTEVWQlFWRjNTeXhGUVVGWmFGVXNSMEZCVVRkaExFdEJRVTB3TlVJc1JVRkJWM2hZTEVWQlFVMTZZaXhIUVVkNlJDeFBRVUZQTkdRc1JVRnpUbFlzVTBGQlUzTldMRWRCUVZkb01rSXNSVUZCVFdzeVFpeEZRVUZaYmpGQ0xFZEJRM0pETEVsQlFVbHRUeXhGUVVOSWFXNUNMRVZCUTBGcVppeEZRVUZSTEVWQlExSnFXU3hGUVVGVEt6SkNMRWRCUVZWSkxGZEJRVmR1TTBJc1QwRkRPVUpwWWl4RlFVRlhkbUlzUlVGQlQydGlMRmRCUVZkSkxFOUJRVkVzYTBKQlJ6ZENlV0lzUlVGQlN6RXhRaXhQUVVWaU1ERkNMRVZCUVU4c1YwRkRUaXhIUVVGTFV5eEZRVU5LTEU5QlFVOHNSVUZaVWl4SlFWWkJMRWxCUVVsRkxFVkJRV051UWl4SlFVRlRVeXhMUVVNeFFqVmFMRVZCUVZsd1lTeExRVUZMY1haQ0xFbEJRVXNzUlVGQlJ5dEZMRVZCUVZWUExGVkJRVmxRTEVWQlFWVjRRaXhUUVVGWE9FSXNSMEZMY0VWb1F5eEZRVUZWTEVkQlJFaDBXU3hGUVVGWloyRXNSVUZCVlhoQ0xGVkJRVmtzUjBGRmVrTnlaQ3hGUVVGUkxFVkJRMUpxV1N4RlFVRlRPREpDTEVWQlFWVlJMRTlCUVU5ME0wSXNUMEZGYmtKcFdTeEZRVUZSYWxrc1JVRkJVV2xaTEVsQlEzWkNObVVzUlVGQlZWRXNUMEZCVVhKbUxFZEJRVkZyWkN4SlFVRkxReXhIUVUxb1F5eFBRVWhCYm1Fc1JVRkJVMnRDTEZkQlFWbHdZaXhGUVVGTkxFTkJRVVVyTVVJc1JVRkJWekZDTEVWQlFWTjBXU3hKUVVjMVEzTlpMRVZCUVZVc1IwRkJTM0F4UWl4RlFVTmFPR01zUjBGSlJqbGpMRWRCUTB4cFlpeEZRVUZUYTBJc1YwRkJXWEJpTEVWQlFVMHNRMEZCUlNzeFFpeEZRVUZYTEVWQlFVY3NTVUZKTlVNM1lpeEZRVUZUYlVJc1dVRkJZWEppTEVWQlFVMHNRMEZCUlNzeFFpeExRVU4yUWl4SlFVVlNRU3hGUVVGWk4ySXNSVUZCVXpGQ0xGRkJRVk1zUTBGRE4wSjRXU3hMUVVGTlFTeEZRVU5PTm01Q0xFMUJRVTlzY0VJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1c4eFFpeEhRVU14UWswc1MwRkJUVGN6UWl4RlFVRlBiVU1zVVVGQlVTeEZRVUZOTEVOQlF6RkNNakZDTEdOQlFXVXNSMEZEWmpGRkxFOUJRVkZ3ZWtJc1JVRkJUMjk2UWl4UFFVRlBkRkFzVlVGRGNFSXhhRUlzUjBGRFNESXhRaXh0UWtGQmIwSlNMRVZCUTNCQ1V5eG5Ra0ZCYVVJMU1VSXNSVUZEYWtKMU1VSXNWVUZCVjNCQ0xFbEJRVk5UTEV0QlEzQkNjRUlzVTBGQlZYaDZRaXhGUVVGUmQzcENMRk5CUTJ4Q1owTXNUMEZCVVN4SFFVTlNWQ3haUVVGaExGTkJRVlYyV0N4RlFVRk5OV1FzUjBGRE5VSXNTVUZCU1N0bUxFVkJRVkV2YUVJc1JVRkJUMjE2UWl4TlFVRlBPWGhDTEVWQlFVMHJNVUlzUlVGQlZWTXNTMEZCVFdwWkxFVkJRVTAxWkN4RlFVTnlSRzh4UWl4RlFVRlZVeXhMUVVGTFF5eGpRVUZsYkZrc1NVRkJWWGRZTEVWQlFWVlRMRXRCUVV0NlJTeFJRVVY0UkN4UFFVUkJaMFVzUlVGQlZWRXNUMEZCVHk4MVFpeExRVUZOYTJ0Q0xFZEJRMmhDUVN4SFFVVlNiRUlzUzBGQlRTeFRRVUZWYjFnc1IwRkRaaXhKUVVGSk1XWXNSVUZCVVN4RlFVbFlhbGtzUlVGQlV6SXpRaXhGUVVGVllpeEZRVUZWVVN4UFFVRlBkRE5DTEU5QlFWTXNSVUZET1VNc1IwRkJTMnN6UWl4RlFVTktMRTlCUVU5Mk5rSXNTMEZIVWl4SlFVUkJkVFpDTEVkQlFWVXNSVUZEUm1wbUxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSTJaU3hGUVVGVlVTeFBRVUZSY21Zc1IwRkJVV3RrTEVsQlFVc3NSMEZWYUVNc1QwRk9TM2RETEVkQlEwb3hZeXhGUVVGVGEwSXNWMEZCV1hCaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWExFVkJRVWNzU1VGRE0wTTNZaXhGUVVGVGJVSXNXVUZCWVhKaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWFlTeExRVVY2UXpGakxFVkJRVk4xUWl4WFFVRlplbUlzUlVGQlRTeERRVUZGS3pGQ0xFVkJRVmRoTEVsQlJXeERhRGRDTEZGQlIxUnBjMElzUlVGQlVXdFBMRVZCUVZWc1R5eE5RVWx1UWl4TFFTOUlSQ3hUUVVGeFFrRXNSVUZCVHpSUExFZEJRek5DTEVsQlFVbDJaaXhGUVVGUGJGY3NSVUZCVFN0M1FpeEZRVUZSYW5aQ0xFVkJRVTkzWXl4RlFVZG9ReXhKUVVGTmNFa3NTMEZCVXpKUkxFVkJaV1FzUjBGaVFXdExMRVZCUVZNd1JTeEZRVVJVZWpGQ0xFVkJRVTgyWXl4RlFVRlhNMGNzU1VGRmJFSndWU3hGUVVGUksydENMRVZCUVU4elVTeEhRVU5XTTFZc1RVRkJUVU1zVVVGQlUzTkNMRXRCUTI1Q2FYWkNMRVZCUVZOcWRrSXNSVUZCVHl4SFFVTm9Ra0VzUlVGQlVTdHJRaXhGUVVGUE0xRXNSMEZCVlhCVkxFVkJRVThzU1VGSE5VSnZWU3hKUVVGVmJGY3NTVUZEWkRadFFpeEZRVUZQTjIxQ0xFZEJRVk00UWl4VFFVTlVLMnRDTEVWQlFVOHpVU3hMUVVkbWIwa3NSVUZCVVROblFpeEZRVUZQY1hwQ0xGTkJRVlZvZUVJc1MwRkRXQ3hYUVVGWmMyVXNSVUZOZWtJc1NVRkJUWEJKTEV0QlRFNXdWU3hGUVVGUmQyTXNSVUZCVFRCVkxFOUJRVkZzZUVJc1ZVRkRaaXRyUWl4RlFVRlBOMjFDTEVkQlNVTTRRaXhGUVVOT2IxVXNTMEZCVXpKUkxFbEJRMmhDUVN4RlFVRlBNMUVzUjBGQlZYQlZMRVZCUVU5dlZTeEhRVU40UW5WbUxFVkJRV1YyWml4SFFVRlZObUVzVVVGSk0wSXdSU3hGUVVGbGVqRkNMRWRCUVZNcmQwSXNSVUUyUmpGQ09FVXNRMEZCV1doUUxFVkJRVTlyVHl4RlFVRlZVeXhMUVVGTFF5eGxRVVV4UW5abUxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRmRrSXNSMEZFUVdoSkxFVkJRVk00YlVJc1IwRkJWVWtzVjBGQldXeG1MRWRCUVZFM1lTeExRVUZOTURWQ0xFVkJRVmN2TVVJc1JVRkJUVFp1UWl4RlFVRlBhMDhzUlVGQlZWTXNUVUZOT1VVc1QwRktTM1kxUWl4RlFVRlphVk1zUlVGQlQzTlJMRkZCUTNaQ04yZENMRVZCUVU4MFowSXNXVUZCWVhkWExFVkJRVlV2TVVJc1MwRkJUU3N4UWl4RlFVRlZVeXhMUVVGTGNHUXNUMEZCVVc5SExFdEJRekZFZEZFc1JVRkJUM05STEV0QlFVdHpXQ3hMUVVGTk5XNUNMRWxCUldKQkxFVkJlVUpVTEU5QmNrSkJkbEVzUlVGQlQyOUNMRWxCUVVzNGJrSXNSVUZCVDJsUExFZEJRV0ZETEVkQlJUTkNPVFJDTEVWQlFWazRORUlzUlVGQlZWTXNTMEZCU3pOdFFpeFJRVU12UW10dFFpeEZRVUZWVXl4TFFVRkxNMjFDTEUxQlFVMTRWQ3hMUVVGTk1rUXNSVUZCVFNzeFFpeEhRVWxzUTBFc1JVRkRSWFJpTEZOQlFWVnpZaXhGUVVGVlV5eExRVUZMTDJJc1ZVRkRla0pxVnl4TFFVRk5kWGhDTEVWQlFWVlRMRXRCUVV0b2VVSXNTMEZCVFhWNFFpeEZRVUZWVXl4TFFVRkxUeXhWUVVNeFEzUmxMRXRCUVUxelpDeEZRVUZWVXl4TFFVRkxMMlFzVFVGRGNrSjNRaXhQUVVGUk9HSXNSVUZCVlZNc1MwRkJTM1pqTEZGQlJYcENkR0lzUlVGQlR5c3hRaXhIUVVGSGMwTXNUVUZEVkhJMFFpeEZRVUZQYlVNc1QwRkJVVFF3UWl4RlFVRk5MRU5CUTNCQ01URkNMRXRCUVUxQkxFVkJRMDVwTTBJc1MwRkJUV3hDTEVWQlEwNHpZeXhOUVVGUE1tTXNSVUZCVlZNc1MwRkJTM0JrTEZOQlNXcENNbU1zUlVGSFVuQXpRaXhGUVVGUGNUTkNMRlZCUVZseU0wSXNSVUZCVDIxRExFOUJRVkZyTVVJc1IwRkJWeXhEUVVVMVEwTXNVMEZCVlN4RFFVTlVhVUlzU1VGQlN5eERRVUZGTEZOQlFWVXpXU3hGUVVGTmVtSXNSMEZEZEVJc1NVRkJTVFJrTEVWQlFWRTVhMElzUzBGQlMyczJRaXhaUVVGaGRsZ3NSVUZCVFhwaUxFZEJSWEJETEU5QlJFRXdaQ3hIUVVGWFJTeEZRVUZOTVdkQ0xFdEJRVTExWlN4RlFVRk5kMElzUjBGQlVXcFlMRXRCUVUxb1J5eEhRVUZUTkdRc1IwRkROME5CTEV0QlNWUjVWeXhSUVVGVExGTkJRVlYwVUN4RlFVRlBMMjVDTEVkQlEzQkNOME1zUlVGQldUUnhRaXhKUVVOb1FpOXVRaXhGUVVGWEsyNUNMRVZCUTFoQkxFVkJRVkVzUTBGQlJTeE5RVVZXUVN4RlFVRlJRU3hGUVVGTmNHWXNUVUZCVDNGUUxFZEJUM1JDTEVsQlNrRXNTVUZCU1hsSExFVkJRMGh5U0N4RlFVRlJMRVZCUTFKcVdTeEZRVUZUTkc5Q0xFVkJRVTAxYjBJc1QwRkZVbWxaTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZEZGtKeFNDeEZRVUZQYzBvc1JVRkJUek5STEVkQlEyUTRaU3hIUVVGVlF5eFRRVUZWTVZnc1IwRkJVM2xZTEVkQlFWVkRMRk5CUVZVeFdDeEpRVUZWTEVkQlF6TkVlVmdzUjBGQlZVTXNVMEZCVlRGWUxFZEJRVTlvVWl4UlFVRlRlazRzU1VGSmRFTnpNa0lzVjBGQldTeERRVE5YWWl4VFFVRXlRbkF5UWl4RlFVRk5ObTVDTEVWQlFVOHlUeXhIUVVOMlF5eEpRVUZKYWxrc1JVRkJUWHBpTEVWQlFVODBaU3hGUVVGUmNFTXNSVUZCVHpoWUxFVkJRVk5ETEVWQlFWZERMRVZCUVdkQ2FGZ3NSVUZEYmtWcFdDeEZRVUZSTEZWQlFWY3hVQ3hIUVVGVExGZEJRVmxCTEVWQlEzaERiMUFzUlVGQlQzSTNRaXhMUVVOUWVYVkNMRVZCUVU4c1IwRkRVR2hMTEVWQlFWRnlaMElzUlVGQlMzRm5RaXhOUVVOaWExWXNSVUZCVTNZeFFpeEZRVUZMTjBNc1ZVRkJXV2xxUWl4SFFVRnZRbkJuUWl4SFFVTTVRM2N6UWl4RlFVRlhMMWtzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzVlVFMlFtaERMRWxCUVUxMVpTeExRVEZDUVdsWkxFVkJRVXR3WkN4UlFVVmhMRTlCUkhaQ2EwY3NSVUZCVVROblFpeEZRVUZQTkdkQ0xGbEJRV0YyWml4RlFVRk5MRTlCUTNaQ2VUTkNMRmRCUTFadVdTeEZRVUZOYlZrc1UwRkJWeXhGUVVOcVFrd3NSVUZCVlRsWUxFVkJRVTAzVGl4TlFVRk5Oa2dzUzBGRGRFSm5SeXhGUVVGTk4wNHNUVUZCVFRaSUxFdEJRVThzVjBGRFdtZEhMRVZCUVUxdFdTeFZRVU5ZVEN4TlFVbElPVmdzUlVGQlRXMVpMRmRCUlU1U0xFVkJRVXRvWkN4UFFVRlJMRmRCUjFwblpDeEZRVUZMYUdRc1QwRkJVU3hYUVVOYWNVWXNSVUZCVFcxWkxGZEJRMEU1TkVJc1JVRkJUM2xoTEUxQlFVOXdXaXhGUVVGTkxFMUJRVTltTEZGQlEyaERjV2RDTEVWQlFVMDNUaXhOUVVGTk5rZ3NXVUZQUm5WUExFVkJSV0lzUjBGRVFTOXJRaXhGUVVGUksydENMRVZCUVU5MFNpeEhRVU5XTmxjc1IwRkJVMmh6UWl4TFFVRk5kRWNzUjBGQlZTeERRVWMzUWl4VlFVWlBLMnRDTEVWQlFVOTBTaXhIUVVOa2JVUXNSVUZCVTBFc1IwRkJiMElzVjBGQlZqVmxMRVZCUTJSQkxFdEJRVmw1ZVVJc1JVRkJVeXhQUVVGVExGRkJRVmNzUTBGSk4wTXNSMEZCWlN4VFFVRldlbmxDTEVsQlFXOUNNREJDTEZGQlFXbERMekZDTEVsQlFYSkNLekZDTEVWQlFWVnFXaXhIUVVzNVF5eFRRVXBCWjFnc1IwRkJVeXhGUVU5WWJFd3NSVUZCVFRsTUxFZEJRVk5wV2l4SFFVRlpRU3hGUVVGVmFsb3NTVUZCVlRWbUxFVkJRVTh3YUVJc1RVRkJUM0puUWl4RlFVRk5kV1VzUjBGTmNrVXNTVUZFUVRoWkxFZEJRV0V4TkVJc1JVRkJUM2xFTEdOQlFXVjViRUlzVFVGRGFFSnNjRUlzUlVGQlQzbEVMR05CUVdWcGIwSXNSMEU0UkhwRExFbEJRVTA1VEN4TFFYcEVSR2RhTEVkQlFUSkNMRWxCUVd4Q2RqTkNMRVZCUVVzM1F5eFhRVTFzUW5FMVFpeEZRVUZMYTBJc1UwRkJWeXhEUVVGRmNsZ3NSVUZCVFhGWUxGTkJRVlZ5V0N4RlFVRk5jMWdzVlVGQlYzUllMRVZCUVUxMVdDeFhRVWxzUXl4UFFVUjJRazRzUlVGQmFVSkZMRWRCUVZsQkxFVkJRVk5zV0N4WFFVVnlRMmRZTEVWQlFXbENOMWtzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzV1VGSGNrSXNWVUZFYWtKelowSXNSVUZCVlROb1FpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hqUVVWMFFuTXpRaXhGUVVOS2FGZ3NSVUZCVldkWUxFZEJTVlpvVnl4SFFVRlZMRU5CUVVWMGFFSXNTVUZCVVN4SFFVTndRbk16UWl4RlFVRnBRblF6UWl4RlFVRkxjV2RDTEUxQlFVMURMRk5CUVZkbldDeEZRVU4yUTJoWUxFVkJRVlV6YUVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNWMEZETlVKemFFSXNSMEZCVlN4RFFVRkZkR2hDTEU5QlMwY3NWMEZCV25OblFpeEhRVUZ2UXl4cFFrRkJXa0VzUjBGQlowUXNUVUZCYkVKbldDeEpRVU55UWl4VFFVRm9Rek0wUWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFhRVWRvUW5FelFpeEpRVU5NU2l4RlFVRkxlbmxDTEV0QlFVMHNWMEZEVmpaaUxFVkJRVTFETEZGQlFWVm5XQ3hKUVVWTkxFMUJRV3hDUVN4SlFVTkthRmdzUlVGQlZVUXNSVUZCVFVNc1VVRkRhRUpuV0N4RlFVRTJRaXhUUVVGYWFGZ3NSVUZCY1VJc1IwRkJTMEVzU1VGSE4wTkVMRVZCUVUxRExGRkJRVlVzYVVKQlMyUnJWeXhGUVVGTGEwSXNWMEZEVkhKWUxFVkJRVTF4V0N4VFFVRlhMRk5CUTJwQ1ZDeEZRVUZMYUdRc1QwRkJVU3hYUVVOYWIwY3NSVUZCVFhGWUxGTkJRVmRzUWl4RlFVRkxhMElzVTBGQlZTeEhRVU5vUTNKWUxFVkJRVTF6V0N4VlFVRlpia0lzUlVGQlMydENMRk5CUVZVc1IwRkRha055V0N4RlFVRk5kVmdzVlVGQldYQkNMRVZCUVV0clFpeFRRVUZWTEUxQlMyNURUQ3hIUVVGWkxFVkJRMFZvVGl4RlFVZFFaMDRzU1VGRFFVY3NSVUZEUXl4WFFVRlpRU3hKUVVOb1FtcERMRVZCUVZOcFF5eEZRVUZUYWtNc1VVRkhia0pwUXl4RlFVRlhMMWtzUlVGQlUzaENMRTlCUVZGcVpDeEZRVUZOTEZOQlFWVXNRMEZCUlhOblFpeFJRVUZUWjFnc1NVRkpia1ExVml4SlFVTktPRllzUlVGQlUycERMRkZCUVZWQkxFZEJTV1pCTEVkQlEwcHFWU3hIUVVGVkxFTkJRVVYwYUVJc1NVRkJVU3hIUVV0eVFta3pRaXhGUVVGTGVubENMRXRCUVUwc1YwRlRWaXhKUVVGTksxb3NTMEZLUVdkWUxFZEJRMHhxVlN4SFFVRlZMRU5CUVVWMGFFSXNTVUZGWW5sbExFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRTeFZRVU5VY1hGQ0xFVkJRMkl4Y2tJc1JVRkJUekJvUWl4TlFVRlBjbWRDTEVWQlFVMTFaU3hGUVVGTk9Fd3NSVUZCVFRsTUxFOUJUVzVET0Zrc1JVRkJXWFpDTEVkQlFXRlFMRVZCUVZOcFF5eEZRVUZWYWxvc1IwRkJVeXhGUVVGSFFTeEZRVUZOTUZrc1IwRkRkRVF4V1N4TFFVRlJhVm9zU1VGRFprRXNSVUZCVldwYUxFZEJRVk00V1N4RlFVRlZlRzVDTEUxQlEzaENNR3hDTEVsQlEwbzRRaXhGUVVGVk1USkNMRWxCUVUwd01rSXNSVUZCVlhodVFpeE5RVU14UW5kdVFpeEZRVUZWZUc1Q0xFMUJRVkVzVFVGMVRYSkNaMjlDTEZWQlFWY3NVMEZCVlM4elFpeEZRVUZWYlhOQ0xFZEJRM3BDUVN4RlFVTktLMG9zUjBGQlZVa3NWMEZCVnpkdlFpeFJRVUZUZWs0c1IwRkZPVUpyTWtJc1IwRkJWVWtzVjBGQlZ6VTFRaXhMUVVGTmMwUXNUVUZMT1VKdVFpeEZRVUZQYlRWQ0xFMUJRVkVzVTBGQlZVRXNSVUZCVHk5R0xFVkJRVkZxZWtJc1IwRkRka01zU1VGQlNXazFRaXhGUVVGTlJDeEhRVUV3UWl4cFFrRkJWa0VzUlVGQmNVSnVOVUlzUlVGQlQyMURMRTlCUVZFc1IwRkJTV2N6UWl4SFFVRlZMRU5CUXpORlppeFRRVUZWYWpSQ0xFbEJRVTlCTEVkQlFVMXBla0lzUjBGRGRFSTVNRUlzUlVGQldUWTJRaXhKUVVGWFFTeEZRVU40UW5aRUxGTkJRVlYxUkN4RlFVTldMMFlzVDBGQlVXcDZRaXhIUVVGTmFYcENMRWRCUVZWQkxFbEJRVmM1TUVJc1JVRkJXVGd3UWl4SlFVRlpRU3hIUVc5RE5VUXNUMEZvUTB0d2VrSXNSVUZCVHlzeFFpeEhRVUZIYkZFc1NVRkRaSFZVTEVWQlFVbDRSQ3hUUVVGWExFVkJSMk1zYVVKQlFXcENkMFFzUlVGQlNYaEVMRmRCUTFaM1JDeEZRVUZKZUVRc1dVRkJXVFV4UWl4RlFVRlBLekZDTEVkQlFVZHpSQ3hQUVVNNVFrUXNSVUZCU1hoRUxGTkJRVmMxTVVJc1JVRkJUeXN4UWl4SFFVRkhjMFFzVDBGQlVVUXNSVUZCU1hoRUxGVkJSM0pEZDBRc1JVRkJTWGhFTEZOQlFWYzFNVUlzUlVGQlR5c3hRaXhIUVVGSGMwUXNUMEZCVDNaV0xGVkJUV3BDTEUxQlFXSnpWaXhGUVVGSk0yVXNVVUZCSzBJc1NVRkJaREpsTEVWQlFVa3paU3hSUVVNM1FqSmxMRVZCUVVrelpTeE5RVUZSTEUxQlNXSXlaU3hGUVVGSk4wc3NTVUZCVFRaTExFVkJRVWxvUWl4VFFVVmtaMElzUlVGQlNXaENMRk5CUVZjc1YwRkRWRGsxUWl4RlFVRlpPRFpDTEVWQlFVazNTeXhOUVVOd1FqWkxMRVZCUVVrM1N5eEpRVUZKTjNkQ0xFdEJRVTFVTEUxQlIxWnRPRUlzUlVGQlNUTmxMRTlCUTFKNllTeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVzA0UWl4RlFVRkpNMlVzVVVGSmNrSXlaU3hIUVVkU2NEVkNMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2JUTkNMRTlCUVZFc1UwRkJWVWdzUlVGQlQwa3NSVUZCU1c1SExFVkJRVkZxZVVJc1IwRkhjRU1zVDBGQlQyeEZMRXRCUVV0eFVTeFBRVUZSYlZVc1NVRkJjVUpITEVsQlFVc3NWVUZCVnl4SFFVRkpaMElzVDBGSE0wUTFaMElzVFVGQlRYY3pRaXhSUVVGVExFTkJRVVZzUnl4UlFVRlRhVWNzUjBGQlRVb3NSVUZCVHk5R0xFVkJRVkZxZVVJc1NVRkZiRVJ4TkVJc1VVRkJVeXhUUVVGVk5Wb3NSVUZCVFhWYUxFVkJRVTh2Uml4RlFVRlJhbmxDTEVkQlEzWkRMRWxCUVVreVVpeEZRVUZST1ZNc1JVRkJUM2xFTEdOQlFXVnRZeXhIUVVOcVF6WmFMRVZCUVZONk5VSXNSVUZCVDIwMVFpeE5RVUZQUVN4RlFVRlBMMFlzUlVGQlVXcDVRaXhIUVVOMFEzVTBRaXhGUVVGakxGZEJSMklzU1VGQlNYQkNMRVZCUVU5cVFpeEhRVUZYY0RaQ0xFdEJRVTByUXl4RlFVRlBiVU1zVDBGQlVTeEhRVUZKZVdRc1IwRkJVVFphTEVsQlIyeEVNMjFDTEVkQlFWTm5UaXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTBzV1VGRGFrTnhOMElzUlVGQlMzcFlMRTFCUVUwc1NVRk5aQ3hQUVVaQk5sa3NSVUZCV1VNc1QwRkJVMFFzUlVGRlpEVnRRaXhKUVVFd1FpeEpRVUZxUWpKdFFpeEZRVUZQYUdZc1RVRkRkRUo0WkN4TFFVRkxhVVVzUzBGQlRYYzBRaXhIUVVOWWVqaENMRXRCUVV0M1pDeE5RVUZQWjJZc1JVRkJUMmhtTEUxQlFVOXBaaXhKUVVVMVFqZFpMRXRCUVUwc1UwRkJWV3BwUWl4RlFVRk5iV2xDTEVWQlFWbHJXQ3hIUVVOcVF5eEpRVUZKTWtJc1JVRkJXU3hUUVVGVmFsb3NSMEZEZWtJc1NVRkJTVVVzUlVGQlQwWXNSVUZCVFVVc1dVRkRWa1lzUlVGQlRVVXNTMEZEWWtFc1JVRkJUVzlZTEVsQldWQXNUVUZVY1VJc2FVSkJRVlJ5TlVJc1NVRkRXSEUxUWl4RlFVRlZiRmdzUlVGRFZrRXNSVUZCWVc1cFFpeEZRVU5pUVN4UFFVRlBhMFVzUjBGRlNHbGxMRWRCUTBvNWFrSXNTMEZCUzNka0xFMUJRVTgzWWl4SFFVRlJMRXRCUVUwc1NVRkhjRUl6UWl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUWl4SlFVRkpkV1lzUjBGQlZTeEZRVU5pYkVrc1JVRkJaMElzVFVGQlVqTmFMRWRCUVdkQ1FTeEZRVUZQTEdGQlF5OUNhVGRDTEVWQlFWTTNOVUlzUlVGQlR6WTFRaXhQUVVOb1FteGhMRVZCUVU5SExFVkJRVk51Wml4SlFVRkxNVVFzVFVGRmRFSXNSMEZCUzNOaUxFVkJRME52U0N4RlFVRk5jRWdzU1VGQlYyOUlMRVZCUVUxd1NDeEhRVUZSYzBrc1RVRkRia01yV1N4RlFVRlhhbUVzUlVGQlRYQklMRk5CUjJ4Q0xFbEJRVTFCTEV0QlFWTnZTQ3hGUVVOVVFTeEZRVUZOY0Vnc1NVRkJWMjlJTEVWQlFVMXdTQ3hIUVVGUmMwa3NUVUZCVVRaV0xFZEJRVXRxYzBJc1MwRkJUVGhPTEVsQlEzUkVjV2hDTEVWQlFWZHFZU3hGUVVGTmNFZ3NTVUZMY0VJc1NVRkJUVUVzUlVGQlVYTm9RaXhGUVVGUGRqVkNMRTlCUVZGcFdTeExRVU4yUW5Ob1FpeEZRVUZSZEdoQ0xFZEJRVkZzV0N4UFFVRlRjRVVzVFVGRGJrSXNUVUZCVWpKQ0xFZEJRV2RDYVRkQ0xFVkJRVkYwYUVJc1IwRkJVV3RETEZGQlFWVTNZaXhKUVVVMVEyazNRaXhGUVVGUmRHaENMRWRCUVZFclppeExRVUZMZWxnc1MwRkJUVzlZTEVkQlF6TkNlRmdzUjBGQlZTeEZRVU5XYjFvc1JVRkJUek16UWl4UFFVRlJjVmNzUlVGQlR5eExRVTl1UW10SkxFZEJRVmwzV0N4SFFVTm9RbW8wUWl4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCU1hwQ0t6WkNMRTlCUVZFc1UwRkJWUzgyUWl4SFFVbHFRaXhQUVVoakxFbEJRVlJCTEVsQlEwcEJMRVZCUVU5QkxFZEJRVkVzVFVGRlZETkNMRXRCUVV0cFJTeExRVUZOTEZkQlEycENMRWxCUVVseFdDeEZRVU5JYjBnc1JVRkJUMGNzUlVGQlUyNW1MRWxCUVVzeFJDeE5RVU55UW5ka0xFVkJRVkZyUml4RlFVRk5MMmRDTEVWQlFVOHNVMEZEY2tJcmFFSXNSVUZCVVdoQ0xFVkJRVTB2WjBJc1JVRkJUeXhqUVVOeVFtazNRaXhGUVVGVE56VkNMRVZCUVU4Mk5VSXNUMEZEYUVKMk5VSXNSVUZCVTIxaExFVkJRVkZCTEVWQlFVMXVZU3hQUVVGVExFVkJZV3BETEVsQlZrRnhaaXhGUVVGTFoyRXNVVUZCVXl4RlFVZGtNelZDTEVWQlFVOTVZU3hOUVVGUGVHUXNTMEZCVFRKQ0xFVkJRVTBzU1VGRmNrSXJhRUlzUjBGQlUwRXNSVUZCVFVVc1RVRkRia0pHTEVWQlFVMUZMRXRCUVV0dWFrSXNTMEZCVFZRc1RVRkJUU3hIUVVsc1FuTmlMRVZCUVZGemFFSXNSVUZCVDNZMVFpeFBRVUZSYVZrc1MwRkRka0p6YUVJc1JVRkJVWFJvUWl4SFFVRlJiRmdzVDBGQlUzQkZMRTFCUVZFME9FSXNSVUZCVVhSb1FpeEhRVUZSYTBNc1VVRkJWVGRpTEVsQlF5OUVhVGRDTEVWQlFWRjBhRUlzUjBGQlVTdG1MRXRCUVV0NldDeE5RVUZOTEVkQlF6TkNaMW9zUlVGQlR6TXpRaXhQUVVGUmNWY3NSVUZCVHl4SlFVdDRRaXhKUVVGTlFTeEZRVUZSTEVWQlFVZEJMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRNMEpyUXl4RlFVRlBiRU1zU1VGQlYydERMRVZCUVU5c1F5eEhRVUZSYjJoQ0xGRkJRM0pEYkdZc1JVRkJUMnhETEVkQlFWRnZhRUlzVDBGQlQybzRRaXhMUVVGTlZDeGhRVXQyUWpCcFFpeEZRVUZMWjJFc1dVRkxaak0xUWl4RlFVRlBhMElzUzBGQlRTeERRVUZGTEZOQlFWVXNUMEZCVVN4UlFVRlZMRk5CUVZWelJDeEZRVUZKYmtNc1IwRkRlRVFzU1VGQlNYa3pRaXhGUVVGUk9UVkNMRVZCUVU5SExFZEJRVWxyUXl4SFFVTjJRbkpETEVWQlFVOUhMRWRCUVVsclF5eEhRVUZUTEZOQlFWVTRNa0lzUlVGQlR5OUdMRVZCUVZGcWVVSXNSMEZETlVNc1QwRkJaMElzVFVGQlZHYzBRaXhIUVVGclF5eHJRa0ZCVmtFc1JVRkRPVUpYTEVWQlFVMXNPRUlzVFVGQlQxZ3NTMEZCVFhGRkxGZEJRMjVDY2tVc1MwRkJTM1U0UWl4UlFVRlRka01zUjBGQlR6VXdRaXhIUVVGTkxFZEJRVkU0TWtJc1JVRkJUeTlHTEVWQlFWRnFlVUlzVFVGTGNrUnVRaXhGUVVGUGEwSXNTMEZCVFN4RFFVTmFOalJDTEZWQlFWYzVReXhIUVVGUExGRkJRMnhDSzBNc1VVRkJVeTlETEVkQlFVOHNVVUZEYUVKblJDeFpRVUZoYUVRc1IwRkJUeXhWUVVOd1FtbEVMRTlCUVZFc1EwRkJSVFZITEZGQlFWTXNVVUZEYmtJMlJ5eFJRVUZUTEVOQlFVVTNSeXhSUVVGVExGRkJRM0JDT0Vjc1YwRkJXU3hEUVVGRk9VY3NVVUZCVXl4WFFVTnlRaXhUUVVGVmFuaENMRVZCUVUwMmJVSXNSMEZEYkVKc2NFSXNSVUZCVDBjc1IwRkJTV3RETEVkQlFWTXNVMEZCVlRneVFpeEZRVUZQTDBZc1JVRkJVV3A1UWl4SFFVTTFReXhQUVVGUGJFVXNTMEZCUzNVNFFpeFJRVUZUZEZFc1JVRkJUMmxSTEVWQlFVOHZSaXhGUVVGUmFubENMRTFCU1RkRGJrSXNSVUZCVHpZMVFpeFBRVUZUTEVkQlEyaENOelZDTEVWQlFVOHJNVUlzUjBGQlIyZENMRXRCUVU4c1YwRkRhRUlzU1VGQlNYTkNMRVZCUTBocU5VSXNSVUZCU1N4RlFVTktlVFpDTEVWQlFWTTNOVUlzUlVGQlR6WTFRaXhQUVVscVFpeEpRVVpCZEVRc1IwRkJVVGQzUWl4TFFVRkxObXBDTEUxQlJVeHVjVUlzUlVGQlNYazJRaXhGUVVGUGRqVkNMRTlCUVZGc1FpeExRVU14UW1rMVFpeEZRVUZSZDBJc1JVRkJVWG8yUWl4UFFVZERlVFpDTEVWQlFWRjZOa0lzUzBGQlVXazFRaXhIUVVOb1EzZENMRVZCUVU4ek0wSXNUMEZCVVRsRExFbEJRVXNzUjBGSmFFSjVOa0lzUlVGQlQzWTFRaXhSUVVOYVRpeEZRVUZQS3pGQ0xFZEJRVWRzVml4UFFVVllNRllzVVVGQlVYcDZRaXhIUVVkVU9VTXNSVUZCVHlzeFFpeEhRVUZIYzBNc1RVRkJVU3hUUVVGVlFTeEhRVU16UW5JMFFpeEZRVUZQTmpWQ0xFOUJRVTlvT0VJc1MwRkJUWGMyUWl4SFFVTndRbkkwUWl4RlFVRlBLekZDTEVkQlFVYzNhMElzVTBGSFdHeFNMRVZCUVU4ck1VSXNSMEZCUjJVc1UwRkJWeXhIUVVOeVFqa3lRaXhGUVVGUEt6RkNMRWRCUVVjM2EwSXNUVUZCVVN4WFFVTmFjMnhDTEV0QlNVeEJMRWxCUVdFc1JVRkRZa2NzVDBGSFJETXlRaXhGUVVGUEt6RkNMRWRCUVVkc1ZpeExRVUZQTEZkQlEyaENNbFlzUjBGQllTeE5RVWRrZURKQ0xFVkJRVThyTVVJc1IwRkJSM05FTEU5QlFWTXNRMEZEYkVKblFpeExRVUZOTEVsQlEwNURMRXRCUVUwc1NVRkhUbmhYTEZOQlFWVXNTMEZOV0RscVFpeEZRVUZQUnl4SFFVRkhielpDTEUxQlFWRXNVMEZCVlVNc1JVRkJUVFUzUWl4SFFVbHFReXhQUVVoQk5EZENMRVZCUVU5NE5rSXNSVUZCVHlzeFFpeEpRVUZMTHpGQ0xFVkJRVThyTVVJc1IwRkJSM05FTEU5QlFWRnRRaXhKUVVGcFFrRXNSVUZEZEVRMU4wSXNSVUZCVDBFc1IwRkJVU3hMUVVWU00wSXNTMEZCUzNka0xFMUJRVTgzWWl4RlFVRk5MRk5CUVZVeVN5eEZRVUZOYjFnc1IwRkRlRU1zU1VGQlNUaGFMRVZCUVZWNk9VSXNSVUZCVDJkblFpeFhRVUZaZWxRc1JVRkJUV2w0UWl4SFFVTjJRemRhTEVWQlFVMUZMRXRCUVU4c1YwRkRXamRxUWl4RlFVRlBNRGxDTEdGQlFXTkVMRTlCVFhoQ0xGZEJRME1zU1VGQlNUZHpRaXhGUVVGUkwxRXNSVUZCVXpCRExHTkJRV1VzVTBGRmJrTTJOVUlzUlVGRVUzWTRRaXhGUVVGVE1FTXNZMEZCWlN4VlFVTndRa3NzV1VGQllTOURMRVZCUVZNd1F5eGpRVUZsTEZkQlJXNUVjVThzUlVGQlRXaFFMRXRCUVU4c1YwRkpZbEFzUlVGQlVYTTRRaXhSUVVFd1FpeExRVUZvUWk5elFpeEZRVUZOZWtvc1RVRkplRUk1Uml4RlFVRlJkVGhDTEZsQlFXTjRRaXhGUVVGSmVHMUNMRlZCU1RGQ2FFWXNSVUZCVVM5UkxFVkJRVk13UXl4alFVRmxMRlZCUXpGQ05FVXNUVUZCVVN4SlFVTmtlVW9zUlVGQlRXaFFMRXRCUVU4c1VVRkRZbEFzUlVGQlVYYzRRaXhYUVVFMlFpeE5RVUZvUW1wMFFpeEZRVUZOZWtvc1RVRndRalZDTEVkQmQwSkJMRWxCUVVreU1rSXNSMEZEU0d4MlFpeEhRVUZoTlV3c1JVRkJUelpQTEV0QlFVdHFSQ3hYUVVVeFFqVk1MRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ05FMHNTMEZCVFN4VFFVRlZNVTBzUlVGQlRUaENMRWRCUTNKQ0xFOUJRVTl0WVN4RlFVRlJjbWhDTEV0QlFVMHJReXhGUVVGUEswOHNTMEZCVFRGTkxFVkJRVTA0UWl4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1NVRkhia1Y1TmtJc1YwRkJXU3hUUVVGVk1UUkNMRWRCUTNKQ0xFOUJRVTl3Uml4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUW14Q0xFVkJRVThyTmtJc1YwRkJXVGs1UWl4TFFVRk5iMFlzVVVGTE5VSnlReXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtORTBzUzBGQlRTeFRRVUZWTVU0c1JVRkJUV2RDTEVWQlFVMDRRaXhIUVVNelFpeEpRVUZKY0VRc1JVRkJTelJtTEVWQlExSnhZU3hGUVVGUk16VkNMRVZCUVVzM1F5eFRRVWRrTEVkQlFXVXNTVUZCVm5jNFFpeEhRVUY1UWl4SlFVRldRU3hIUVVGNVFpeEpRVUZXUVN4RlFVdHVReXhaUVVGclF5eEpRVUYwUWpNMVFpeEZRVUZMTlVJc1lVRkRWRThzUlVGQlR6Um1MRXRCUVUxMlpTeEZRVUZOWjBJc1JVRkJUVGhDTEVsQlMyeENMRWxCUVZZMk1rSXNSMEZCWjBKb04wSXNSVUZCVHl0WExGTkJRVlV4Vml4TFFVTnlRM05tTEVWQlFWRXpaMElzUlVGQlQyazNRaXhWUVVGWE5UUkNMRVZCUVV0dlF5eHBRa0ZETlVKNlJTeEZRVUZQTms4c1MwRkJTeTlGTEUxQlFVMXFReXhMUVVGTE5FTXNTMEZCVFhCSkxFZEJRVk41TkVJc1VVRkJWMmcwUWl4VFFVZDBRMEVzU1VGQlZuRkNMRVZCUTFjc1QwRkJWa0VzVDBGRFNtNUZMRVZCUVU4ck5rSXNWMEZCV1RFMVFpeEZRVUZOWjBJc1IwRkpja0p6WlN4SFFVRlRMRkZCUVZOQkxGRkJRM1ZDTjJRc1MwRkJNME12UWl4RlFVRk5OR1lzUlVGQlRXcENMRWxCUVV0eVpTeEZRVUZOT0VNc1JVRkJUemxDTEVsQlEzcENkRUlzUjBGSFVrMHNSVUZCU3pOQ0xHRkJRV015UXl4RlFVRk5PRUlzUlVGQlVTeEpRVU14UWtFc1IwRkhTSGRqTEVkQlFWTXNVVUZCVTBFc1IwRkJLME1zVVVGQmNFTTFaaXhGUVVGTk5HWXNSVUZCVFdoblFpeEpRVUZMVlN4RlFVRk5aMElzU1VGRGFrUjBRaXhGUVUxTkxFOUJTR1JCTEVWQlFVMW1MRVZCUVU5M1RpeExRVUZMZFVJc1MwRkJUVEZPTEVWQlFVMW5RaXhUUVVkVVV5eEZRVUZaTDBJc1NVRkhiRU5yTmtJc1ZVRkJWeXhEUVVOV2NqaENMRXRCUVUwc1EwRkRURGhuUWl4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1IwRkRjRUlzU1VGQlRUbEdMRVZCUVZGM09FSXNXVUZCZDBJc1ZVRkJWakV5UWl4SFFVTXpRbXRHTEVWQlFWVm9TU3hGUVVGTkxGTkJRVmtzUTBGRE5VSXNTVUZCU1doRExFVkJRVTFuUXl4RlFVRkxPRU1zVFVGTFppeFBRVXBCT1VNc1JVRkJTek5DTEdGQlFXTXNUMEZCVVhsRkxFZEJRM1JDT1VVc1NVRkRTbWRETEVWQlFVczRReXhOUVVGUk9VVXNSMEZGVURoRkxFMUJUVmcwTWtJc1YwRkJXU3hUUVVGVk1UVkNMRVZCUVUwNFF5eEhRVU16UWl4SlFVRkpPVUlzUlVGRFNHcEVMRVZCUVVrc1JVRkpTamczUWl4RlFVRlpMekpDTEVkQlFWTkJMRVZCUVUweVJpeE5RVUZQY1ZBc1IwRkZia01zUjBGQlN5dG9RaXhIUVVFclFpeEpRVUZzUWpjMVFpeEZRVUZMTjBNc1UwRkRkRUlzUzBGQlZUWkVMRVZCUVU4Mk5FSXNSVUZCVnprM1FpeE5RVU16UW1sRExFVkJRVXN5U2l4blFrRkJhVUl6U1N4TlFVOHhRbmswUWl4SFFVRlhMRU5CUTFad1lpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFZEJVVE5DTEU5QlVHVXNTVUZCVmpoQ0xFVkJSMHB1UlN4RlFVRlBLelpDTEZkQlFWa3hOVUlzUlVGQlRXZENMRWRCUlhwQ2FFSXNSVUZCU3pOQ0xHRkJRV015UXl4RlFVRk5RU3hIUVVWdVFrRXNTVUZKVkhKRExFVkJRVTlyUWl4TFFVRk5iRUlzUlVGQlR6WlBMRXRCUVVzdlJTeE5RVUZOYWtNc1MwRkJTM05hTEU5QlFVOXlXQ3hOUVVGUExGRkJRVlVzVTBGQlZYUkdMRVZCUVVsdVF5eEhRVU42UlN4SlFVRkpPRFJDTEVWQlFWTjJka0lzUjBGQldYWktMRWxCUVZWeVF5eEZRVUZQZDA0c1MwRkJTM1ZDTEV0QlJTOURia1FzUjBGQldYWktMRWRCUVZNc1UwRkJWV2hDTEVWQlFVMW5RaXhGUVVGTmQwTXNSMEZETVVNc1NVRkJTVGxFTEVWQlFVdHRiVUlzUlVGRFVtdFZMRVZCUVdkQ0x6UkNMRVZCUVV0dlF5eGpRVmwwUWl4UFFWWk5TU3hKUVVkTWNXbENMRVZCUVZOMFlpeEhRVUZaZDNaQ0xFZEJRM0pDZUhaQ0xFZEJRVmwzZGtJc1IwRkJhMEp5TmtJc1JVRkRPVUpCTEVWQlFYRkRMRTFCUVM5Q2J6WkNMRVZCUVZFNU5VSXNSVUZCVFdkQ0xFVkJRVTEzUXl4SFFVTjZRblV5UWl4RlFVTkJMRXRCUTBSNGRrSXNSMEZCV1hkMlFpeEhRVUZyUW14VkxFZEJSWGhDYm0xQ0xFdEJUMVFzU1VGQlNYTTJRaXhIUVVGaExITkRRVU5vUWtNc1IwRkJZU3huUWtGNVNXSXNVMEZCVTBNc1IwRkJhMEp3TTBJc1IwRkZNVUlzVDBGRVlVRXNSVUZCVFRKR0xFMUJRVTl4VUN4SlFVRnRRaXhKUVVNdlFuUlBMRXRCUVUwc1MwRkpkRUlzVTBGQlV6SjNRaXhIUVVGVmJqWkNMRWRCUTJ4Q0xFOUJRVTlCTEVWQlFVczFRaXhqUVVGblFqUkNMRVZCUVVzMVFpeGhRVUZqTEZWQlFXRXNSMEZITjBRc1UwRkJVMmM0UWl4SFFVRm5RblF6UWl4SFFVTjRRaXhQUVVGTGRrSXNUVUZCVFVNc1VVRkJVM05DTEVkQlExcEJMRVZCUldNc2FVSkJRVlpCTEVkQlEwcEJMRVZCUVUweVJpeE5RVUZQY1ZBc1NVRkZaQ3hIUVhoS1VtNWFMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2VXUXNTMEZCVFN4VFFVRlZkbVFzUlVGQlRUaENMRWRCUTNKQ0xFOUJRVTl0WVN4RlFVRlJjbWhDTEV0QlFVMHJReXhGUVVGUE5HWXNTMEZCVFhaa0xFVkJRVTA0UWl4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1NVRkhia1Z2TjBJc1YwRkJXU3hUUVVGVmNqVkNMRWRCUTNKQ0xFOUJRVTl3Uml4TFFVRkxhVVVzUzBGQlRTeHJRa0ZEVm1wRkxFdEJRVTByUXl4RlFVRlBNamRDTEZGQlFWTjBOVUlzU1VGQlZVRXNVVUZMTVVOeVF5eEZRVUZQYlVNc1QwRkJVU3hEUVVOa2VXUXNTMEZCVFN4VFFVRlZkbVVzUlVGQlRXZENMRVZCUVUwNFFpeEhRVU16UWl4SlFVRkpjRVFzUlVGQlN6Um1MRVZCUTFKeFlTeEZRVUZSTXpWQ0xFVkJRVXMzUXl4VFFVZGtMRWRCUVdVc1NVRkJWbmM0UWl4SFFVRjVRaXhKUVVGV1FTeEhRVUY1UWl4SlFVRldRU3hGUVZkdVF5eFBRVkJsTEVsQlFWWkJMRWRCUVdkQ2FEZENMRVZCUVU4clZ5eFRRVUZWTVZZc1MwRkhja05uUWl4RlFVRlBja01zUlVGQlR6STNRaXhSUVVGVGREVkNMRWxCUVZWQkxFVkJRMnBEYzJVc1JVRkJVVE5uUWl4RlFVRlBkekZDTEZWQlFWZHVla0lzVTBGSFdsTXNTVUZCVm5GQ0xFVkJRME4zWXl4SFFVRlRMRkZCUVZOQkxGRkJRM1ZDTjJRc1MwRkJNME12UWl4RlFVRk5OR1lzUlVGQlRXcENMRWxCUVV0eVpTeEZRVUZOT0VNc1JVRkJUemxDTEVsQlEzcENkRUlzUlVGSFEwMHNSVUZCVFdkQ0xFZEJRVk00UWl4RlFVZHdRbmRqTEVkQlFWTXNVVUZCVTBFc1IwRkJLME1zVVVGQmNFTTFaaXhGUVVGTk5HWXNSVUZCVFdoblFpeEpRVUZMVlN4RlFVRk5aMElzU1VGRGFrUjBRaXhGUVVkRVRTeEZRVUZOWjBJc1NVRkhaRzE2UWl4VlFVRlhMRU5CUTFZdmFVSXNVMEZCVlN4RFFVTlVPVklzU1VGQlN5eFRRVUZWVlN4SFFVOWtMRWxCUVVsMU5rSXNSVUZCVnpVM1FpeEZRVUZQZDA0c1MwRkJTM1ZDTEV0QlFVMHhUaXhGUVVGTkxGbEJSWFpETEU5QlFVdDFOa0lzUlVGRFJ6VkxMRk5CUVZVMFN5eEZRVUZWTEVsQlNUTkNVQ3hIUVVGWE5YZENMRXRCUVUxd1NpeEZRVUZMWjBrc1YwRkRkRUpwZVVJc1IwRkJWemQzUWl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUTNSQ2FFa3NSVUZCUzIxU0xFdEJSVVVzUjBGSFFTeExRVXRZYlhCQ0xGRkJRVk1zUTBGRFVrVXNTVUZCVHl4VlFVTlFReXhOUVVGVExHVkJXVXg2T1VJc1JVRkJVWFU0UWl4alFVTmlOVFpDTEVWQlFVOTNNVUlzVlVGQlZUVnBRaXhUUVVGWExFTkJRek5DYWxNc1NVRkJTeXhUUVVGVlZTeEhRVWxrTEVsQlFVazRVQ3hGUVVGVE9WQXNSVUZCUzNoQ0xGZEJTV3hDTEU5QlNFdHpVaXhIUVVGVlFTeEZRVUZQZEZJc1dVRkRja0p6VWl4RlFVRlBkRklzVjBGQlYyZFVMR05CUlZvc1RVRkZValpOTEVsQlFVc3NVMEZCVlhKbExFZEJTV1FzU1VGQlNUaFFMRVZCUVZNNVVDeEZRVUZMZUVJc1YwRkRZbk5TTEVsQlEwcEJMRVZCUVU4d1FpeGpRVVZHTVVJc1JVRkJUM1JTTEZsQlExaHpVaXhGUVVGUGRGSXNWMEZCVjJkVUxHdENRVTkyUWpkVExFVkJRVTlyUWl4TFFVRk5MRU5CUTFvc1YwRkRRU3hYUVVOQkxGbEJRMEVzWTBGRFFTeGpRVU5CTEZWQlEwRXNWVUZEUVN4VFFVTkJMR05CUTBFc2JVSkJRMFVzVjBGRFJteENMRVZCUVU4eU4wSXNVVUZCVXpFclFpeExRVUZMZDBnc1pVRkJhMEo0U0N4UFFUUkNlRU1yUXl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRalExUWl4VFFVRlZMRk5CUVZVMU0wSXNSMEZEYmtJc1NVRkJTVFl6UWl4RlFVRlRNelpDTEVWQlFVMTVTeXhGUVVGTGJYZENMRVZCUVZWRExFVkJRVTl1TmtJc1JVRkJSMjgyUWl4RlFVTXpReTg0UWl4RlFVRkpMRVZCUlV3c1IwRkJTMlFzUlVGQldUWkdMRWRCUTJoQ0xFOUJRVTlzU0N4TFFVRkxhVVVzUzBGQlRTeFRRVUZWWVN4SFFVTXpRaTlDTEVWQlFWRXZReXhOUVVGUE9DdENMRk5CUVZVMU0wSXNSVUZCVFhwSExFdEJRVTFVTEV0QlFVMDRSU3hGUVVGSGVUVkNMRWRCUVZWMkswSXNWVUZOTVVRc1NVRkdRU3NyUWl4RlFVRlZVQ3hIUVVGblFuUXpRaXhKUVVWaU4wUXNUMEZEV2l4TFFVRlZaU3hGUVVGUGNFVXNTMEZCVFcxRExFMUJTWFJDTEVkQlNFRTJPRUlzUlVGQlYxUXNSMEZCVlc0MlFpeEhRVU55UW5sTExFVkJRWGRDTEVsQlFXeENla3NzUlVGQlN6ZERMRlZCUVc5Q0xFbEJRVTByT0VJc1IwRkJhMEpWTEVkQlFXRXNTVUZGZWtRc1EwRkZWaXhKUVVSQmJEWkNMRVZCUVVrc1JVRkRUVzAyUWl4RlFVRlJSaXhGUVVGVGFqWkNMRTFCUTNKQ0swb3NSVUZCU1doUExGRkJRVk1zU1VGQlRXOHJRaXhGUVVGUkxFdEJRVkVzU1VGRGRrTndkMElzUjBGQlQyOTNRaXhGUVVGUkxFdEJUVnBFTEV0QlJFeEZMRVZCUVdGYUxFZEJRV3RDZW5aQ0xFdEJSVGxDZWtzc1JVRkJTek5DTEdGQlFXTXNVVUZCVTNrNFFpeEhRVTFvUXl4UFFVRlBiQzlDTEUxQlIxSnRMMElzV1VGQllTeFRRVUZWYWpSQ0xFZEJRM1JDTEVsQlFVazJNMElzUlVGQlV6TTJRaXhGUVVGTmVVc3NSVUZCUzIxM1FpeEZRVUZWUXl4RlFVRlBialpDTEVWQlFVZHZOa0lzUlVGRE0wTXZPRUlzUlVGQlNTeEZRVVZNTEVkQlFVdGtMRVZCUVZrMlJpeEhRVU5vUWl4UFFVRlBiRWdzUzBGQlMybEZMRXRCUVUwc1UwRkJWV0VzUjBGRE0wSXZRaXhGUVVGUkwwTXNUVUZCVDIwdlFpeFpRVUZoYWpSQ0xFVkJRVTE2Unl4TFFVRk5WQ3hMUVVGTk9FVXNSVUZCUjNrMVFpeEhRVUZWZGl0Q0xGVkJTVGRFTEVsQlFVMXhSU3hWUVVGVmFFSXNUMEZEWml4UFFVRlBja1FzUzBGQlN6aFNMRXRCUVUwc1VVRkJVeXhKUVVzMVFpeEpRVVpCYVhSQ0xFVkJRVlZRTEVkQlFXZENkRE5DTEVsQlJXSTNSQ3hQUVVOYUxFdEJRVlZsTEVWQlFVOXdSU3hMUVVGTmJVTXNUVUZOZEVJc1IwRk1RVFk0UWl4RlFVRlhWQ3hIUVVGVmJqWkNMRWRCUjNKQ2VVc3NSVUZCZDBJc1NVRkJiRUo2U3l4RlFVRkxOME1zVlVGQmIwSXNTVUZCVFNzNFFpeEhRVUZyUWxVc1IwRkJZU3hKUVVWNlJDeERRVVZXTEVsQlJFRnNOa0lzUlVGQlNTeEZRVU5OYlRaQ0xFVkJRVkZHTEVWQlFWTnFOa0lzVFVGSE1VSXNTMEZCVVN0S0xFVkJRVWxvVHl4UlFVRlRMRWxCUVUxdkswSXNSVUZCVVN4TlFVRlRMRWRCUXpORGNIZENMRVZCUVUxQkxFVkJRVWsxU1N4UlFVRlRMRWxCUVUxbk5VSXNSVUZCVVN4SlFVRkxMRXRCVFc1RFJDeExRVVJNUlN4RlFVRmhXaXhIUVVGclFucDJRaXhMUVVVNVFucExMRVZCUVVzelFpeGhRVUZqTEZGQlFWTjVPRUlzUjBGTmFFTXNUMEZCVDJ3dlFpeE5RVWRTYnk5Q0xGbEJRV0VzVTBGQlZXdzBRaXhGUVVGUGJUUkNMRWRCUXpkQ0xFbEJRVWt4T1VJc1UwRkJZM1ZHTEVWQlEycENielJDTEVWQlFYZENMRmRCUVZRek9VSXNSMEZCY1VKblJTeE5RVUZOUXl4UlFVRlRjMElzUjBGRmNFUXNUVUZCZVVJc2EwSkJRV0p0TkVJc1IwRkJNRUpETEVWQlF6bENSQ3hGUVVGWGNpOUNMRXRCUVVzNEswSXNVMEZCVlRVelFpeEhRVUZWYkVnc1MwRkJTMjB2UWl4WlFVRmhhalJDTEVkQlIzcEVOMFlzUlVGQldUWkdMRWRCUTFSc1NDeExRVUZMYVVVc1MwRkJUU3hUUVVGVk9VSXNSMEZETTBKWkxFVkJRVkV2UXl4TlFVRlBieTlDTEZsQlEyUnNORUlzUlVGQlRYcEhMRXRCUVUxVUxFdEJRVTF0UXl4RlFVRkhiemhDTEVkQlFWVjJLMElzVFVGQlVYRXZRaXhIUVVOMlEwRXNTMEZMU1hJdlFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFpeEpRVUZKWjAwc1JVRkJWemxPTEVWQlFVZHpXU3hGUVVGTk9HdENMRVZCUlhoQ0xFZEJRVXRFTEVWQlQwb3NTVUZLUVc0NVFpeEZRVUZKTEVWQlEwcHpXU3hGUVVGUE1WZ3NSVUZCVVM5RExFMUJRMloxTDBJc1JVRkJZV1lzUjBGQlowSjBNMElzUjBGRmJrSXJTU3hGUVVGWmMzWkNMRVZCUVZsd09VSXNUVUZITlVKeldTeEZRVUZMSzJ0Q0xGTkJRVlYyZGtJc1IwRkRia0ozU3l4RlFVRkxNR3RDTEZsQlFXRnNka0lzUjBGRmJFSjNTeXhGUVVGTGNXdENMRk5CUVZVM2RVSXNZVUZMU1hCTExFbEJRVlp4UWl4SFFVRm5ReXhaUVVGVWRrWXNTMEZEYkVOelR5eEZRVUZaYzNWQ0xFZEJRVlYySzBJc1VVRkpja0kyYVVJc1JVRkJVMG9zU1VGQlMzcHBRaXhMUVVGTkxHZENRVUZwUW1sUkxFZEJUMnBEYWxFc1MwRkJTM2xETEdOQlExUjZReXhMUVVGTGVVTXNZVUZCWXl4UlFVTnNRbmRPTEVsQlFYVkNMRWxCUVZZdlNTeEZRVU5hTEVkQlEwRXlZaXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTBzYTBKQlFYRkNMRkZCVHk5RGR5OUNMRk5CUVZVc1UwRkJWWGc0UWl4SFFVTnVRaXhKUVVGSmFVNHNSVUZCVnpkTUxFVkJRMlJxUXl4RlFVRkpMRVZCUjB3c1NVRkVRVGhPTEVWQlFWa3NTVUZCVFdwT0xFVkJRVmNzU1VGRGJrSnZRaXhGUVVGUGNFVXNTMEZCVFcxRExFMUJRM1JDTEVkQlFYVkNMRWxCUVd4Q2FVTXNSVUZCU3pkRExGZEJRMUFzU1VGQlRTczRRaXhIUVVGclFrTXNSMEZCVlc0MlFpeEpRVUZYTEV0QlFVMTJSQ3hSUVVGVGIxQXNTVUZCWlN4RlFVTTNSU3hQUVVGUExFVkJTVlFzVDBGQlR5eExRVTlVTEVsQlFVbDNka0lzUjBGQlZTeE5RVVZrTVRoQ0xFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDT1VNc1NVRkJTeXhUUVVGVk9FVXNSMEZEWkN4SlFVRkpkMk1zUlVGQlR6Vm1MRVZCUVVzeWNrSXNSVUZEWm5KeVFpeEZRVUZQY0VVc1MwRkJUU3hIUVVWa0xFOUJRVTF4UlN4VlFVRlZhRUlzVVVFd1FtaENiM05DTEVWQlFXdENjSFZDTEVWQlFWazJSaXhIUVVWMlFteElMRXRCUVV0cFJTeExRVUZOTEZOQlFWVTVRaXhIUVVNelFpeEpRVUZKUXl4RlFVVnRRaXhKUVVGc1FuQkRMRXRCUVV0MVFpeFhRVmRGTEU5QlRsaGhMRVZCUkVseGRFSXNSVUZEUlhadlFpeEZRVUZOZWtjc1MwRkJUVlFzUzBGQlRXMURMRVZCUVVkWkxFVkJRVkV2UXl4TlFVRlBiME1zVDBGRmNFTTRSU3hIUVV0T09VVXNSVUZCVFN4SFFVVnZRaXhwUWtGQlVrRXNSVUZEYkVKQkxFZEJRVThzUjBGRlNYVkVMRTFCUVUxRExGRkJRVk40UkN4TFFVTXhRa0VzUlVGQlRWY3NSVUZCVDI5Q0xFbEJRVXN2UWl4RlFVRkxMRk5CUVZVNFJTeEhRVU5vUXl4UFFVRm5RaXhOUVVGVVFTeEZRVUZuUWl4SFFVRkxRU3hGUVVGUkxFOUJTWFJEZDJNc1JVRkJVVE5uUWl4RlFVRlBNamhDTEZOQlFWVXhMMElzUzBGQlN6SkNMRTlCUVZWdlFpeEZRVUZQTWpoQ0xGTkJRVlV4TDBJc1MwRkJTMjlOTEZOQlFWTTFSU3hwUWtGSGNrUXNVVUZCVTJ0akxGRkJRU3RETjJRc1NVRkJjRU0yWkN4RlFVRk5ha0lzU1VGQlMzcHBRaXhMUVVGTmIwTXNSVUZCU3l4WFFVTXpSSEJETEV0QlFVdHJTQ3hOUVVGUk9VVXNUMEY2UkZSblF5eEhRVU5LYzJZc1JVRkJVVE5uUWl4RlFVRlBNamhDTEZOQlFWVjBOMElzUlVGQlMzcERMRTlCUXpkQ2IwSXNSVUZCVHpJNFFpeFRRVUZWZERkQ0xFVkJRVXRuU1N4VFFVRlROVVVzYVVKQlJ5OUNMRkZCUVZOcll5eFJRVU5uUXpka0xFdEJRWFpETDBJc1JVRkJUVFJtTEVWQlFVMW9aMElzU1VGQlMxVXNSVUZCVFN4VlFVVnNRazRzUlVGTldTeHBRa0ZJY0VKQkxFVkJRVTFOTEVWQlFVczRReXhQUVVsSWNFUXNSVUZCU1cxRExGRkJRVk4zTlVJc1IwRkJVeXhKUVVsb1FpeE5RVUZRTXpkQ0xFVkJRV01zUjBGQlMwRXNUMEZITTBJc1MwRjVRMGhtTEVWQlFVOXRReXhQUVVGUkxFTkJRMlIzTmtJc1UwRkJWU3hEUVVOVWJsb3NUMEZCVVN4RFFVTlFOMmxDTEVsQlFVc3NVMEZCVlZVc1IwRkZaQ3hKUVVGSmFFTXNSVUZCVFZjc1JVRkJUM2RPTEV0QlFVdDFRaXhMUVVGTk1VNHNSVUZCVFN4VFFVTnNReXhQUVVGakxFMUJRVkJvUXl4RlFVTk9RU3hGUVUxQmF6aENMRWRCUVd0Q2RqZENMRVZCUVU5U0xFdEJRVTAyUWl4TlFVZHNRekpFTEU5QlFWRXNRMEZEVUhKRkxFbEJRVXNzVTBGQlZWVXNSMEZEWkN4SlFVRkpPRU1zUlVGQlQzRm1MRVZCUVZGd2EwSXNSVUZEYkVKblJDeEZRVUZWWml4RlFVRkxaU3hSUVVObWJWY3NSVUZCVVd4WUxFVkJRVXQzVWl4alFVTmlObE1zUlVGQmIwSXNaVUZCWkhKclFpeEZRVUZMZWtNc1MwRkRXR2xyUWl4RlFVRlROa01zUlVGQlRTeExRVUZQTEVkQlEzUkNNazBzUlVGQlRUTk5MRVZCUVUxdVRpeEZRVUZSTEVWQlFVbHVWeXhGUVVGUk9VSXNUMEZWYWtNc1NVRlFRMnhDTEVWQlJFbHRXaXhGUVVGUkxFVkJRMUk0V2l4RlFVZEJNMDBzUlVGQlRXNU9MRVZCUVZFc1JVRkpXRzVhTEVWQlFVbHBla0lzUlVGQlMycDZRaXhKUVV0b1FpeExRVXBCYjJ0Q0xFVkJRVk53YUVJc1JVRkJVMmhFTEVsQlNVcDNWQ3hWUVVGWmVGUXNTVUZCVFcxYUxFdEJSemRDYVV3c1JVRkJUM0JoTEZsQlEweHZZU3hGUVVGUE0ycENMRmRCUVZkMVNpeFhRVU51UWtNc1JVRkJWVzFoTEVWQlFVOHpha0lzVjBGQldTeGhRVUZwUWl4RFFVMXFSQ3hIUVVoQmMwVXNSVUZCVVc1RkxFVkJRVkYzYWtJc1IwRkJVMjVyUWl4TlFVZHdRbkZ0UWl4RlFVTktMRTlCUVU5MmFFSXNSVUZKVWpCbExFVkJRVTlvYkVJc1MwRkJUWE5ITEVkQlNXWXNUMEZCVHpCbExFZEJSMUp1UkN4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1IwRk5jRUlzU1VGTVFTeEpRVUZKZVRSQ0xFVkJRVmR3V2l4RlFVTmtjR2hDTEVWQlFWVm1MRVZCUVV0bExGRkJRMlo1WjBJc1JVRkJVemRwUWl4RlFVRlBNa1FzVlVGQlYxRXNSMEZETTBJdlJTeEZRVUZKWjBRc1JVRkJVVGxDTEU5QlJVeHNRaXhQUVVOUWIydENMRVZCUVZOd2FFSXNSVUZCVTJoRUxFbEJTVTUzVkN4VFFVTllOVk1zUlVGQlR6WkVMRkZCUVZNM1JDeEZRVUZQTWpoQ0xGTkJRVk51V2l4UFFVRlBOMmxDTEVsQlFVczJhVUlzUjBGQlZWZ3NTVUZCV1N4TFFVVnNSU3RhTEVkQlFWa3NSMEZWWkN4UFFVaE5RU3hKUVVOTWRqZENMRVZCUVV0M1VpeGxRVUZwUWl4SFFVVm9RbWRSTEU5QlQxZzNhVUlzUlVGQlQydENMRXRCUVUwc1EwRkJSU3hSUVVGVExGbEJRV01zVjBGRGNrTnNRaXhGUVVGUE1qaENMRk5CUVZVeEwwSXNUVUZCVXl4RFFVTjZRbmxwUWl4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1IwRkRjRUlzUjBGQlMzWkNMRTFCUVUxRExGRkJRVk56UWl4SFFVTnVRaXhQUVVGVE9VTXNSVUZCUzNOU0xGRkJRVlV6VXl4RlFVRlBOa1FzVVVGQlV6ZEVMRVZCUVZGeFFpeEhRVUZQYUVNc1RVRkJUemhGTEVsQlFWY3NTVUZKZEVVNVJpeEZRVUZSY3poQ0xGVkJRMkl6TmtJc1JVRkJUekk0UWl4VFFVRlZNUzlDTEUxQlFVOHdSQ3hKUVVGTkxGTkJRVlZWTEVkQlEzWkRMRTlCUVhkRExFOUJRV3BEUVN4RlFVRkxOVUlzWVVGQll5eFRRVUZ4UWl4TFFVRlBORUlzUlVGQlN6aERMRlZCVnpsRU9VWXNSVUZCVVhjclFpeFJRVUZWTEdOQlFXVTNMMElzUlVGSGFrTXNTVUZCU1RndlFpeEhRVUZqTEd0RFFVTnFRa01zUjBGQk1FSXNVMEZCVlhSNlFpeEhRVU51UTBFc1JVRkJSVEJqTEcxQ1FVZEtibTFDTEVWQlFVOXRReXhQUVVGUmJrTXNSVUZCVHpSc1FpeE5RVUZQTEVOQlJUVkNWU3hSUVVGVExGTkJRVlZXTEVWQlFVOXFSeXhGUVVGTmRHVXNSVUZCVFRJM1FpeEhRVVZ5UXl4SlFVRkpOVGxDTEVWQlFVY3dUU3hGUVVGTE5rSXNSVUZCUzNOMlFpeEZRVUZaUXl4RlFVRlJhRmNzUlVGQlVUZExMRVZCUVZNNFowSXNSVUZEY2tSRExFVkJRVmtzUTBGQlJTODNRaXhIUVVGUmVFVXNSMEZEZEVJclFpeEZRVUZQV0N4RlFVRlBVQ3hMUVVGTmEyOUNMRVZCUVU4c1VVRkJWMEVzUlVGQlRXaHVRaXhMUVVGUFoyNUNMRVZCUTI1RWEwSXNSVUZCWVRkdlFpeEZRVUZQVUN4TFFVRk5hMjlDTEVWQlFVOHNZVUZCWjBKQkxFVkJRVTF1V2l4VlFVRlZiRWtzVFVGQlR5eExRVUZSTEVkQlMycEdMRWRCU0VGMVNDeEZRVUZOY1hoQ0xFVkJRV040ZGtJc1JVRkJUWFJOTEVWQlFVOUJMRWRCUVZGNFJTeEZRVWRzUWl4SlFVRnNRbmRGTEVWQlFVczNReXhWUVVGdlF5eEpRVUZzUWpaRExFVkJRVXMzUXl4WFFVczFRbk1yUWl4SFFVRlpjbmxDTEV0QlFVMDNUQ3hGUVVGUGIwSXNSVUZCVHpSc1FpeE5RVUZOZFVJc1lVRkpkRU4yYjBJc1JVRkJTMlFzVVVGQlV5eE5RVUZUTEVsQlJ6TkNaM0JDTEVWQlFXRnNiMElzUlVGQlN6SkdMRTFCUVU4c1MwRkRla0l6Uml4RlFVRlBhMjlDTEVWQlFWZDZZaXhSUVVOc1FubGlMRVZCUVZjM2EwSXNVVUZGV21rM1FpeEZRVUZUZEN0Q0xFVkJRVXRrTEZGQlFWTXNTMEZCVVN4SFFVRkxMRXRCUVU5akxFZEJSek5EWjI1Q0xFVkJRVkZCTEVWQlFVODFiRUlzUlVGQlR5dERMRk5CUTNKQ05tbENMRVZCUTBFc1NVRkJTVFZzUWl4RlFVRlBkVzFDTEUxQlFVOHpia0lzUlVGQmRVSXNhVUpCUVZabmJrSXNSMEZCYzBKQkxFbEJSMmhFU3l4VlFVRlpLMWNzUlVGQlpTeEZRVUZKTEVWQlEzSkRjRmdzUlVGQlRXNWFMRlZCUVZseFlTeEZRVUZYYW1Nc1MwRkJUU3hMUVVOdVF5dGhMRVZCUVUxM1F5eFhRVUZoZUVNc1JVRkJUVzVhTEZWQlEzaENMRWxCUVVreFJpeFBRVUZSTEZWQlFWa3JaaXhGUVVGWGFtTXNTMEZCVFN4cFFrRkJiMElzVjBGRE4wUXNTMEZIUkN0aExFVkJRVTF5Vml4WlFVRlRlazRzUlVGRFZEaHBRaXhGUVVGTmJtcENMRk5CUTFodGFrSXNSVUZCVFc1cVFpeFBRVUZUY0VJc1IwRkphRUp6WlN4RlFVRmxMRTFCUVZKQkxFVkJRMDRzUTBGQlJXbEhMRWRCUTBZMWJFSXNSVUZCVHpKRUxGVkJRVmRuWXl4RlFVRk5MRU5CUVVWcFJ5eEpRVWN6UW5aS0xFVkJRVlZ5WXl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SFFVTndRMjhyUWl4SlFVRm5Rak5uUWl4RlFVRlJhVXNzVlVGQmJVUXNTVUZCZUVOcVN5eEZRVUZSYVVzc1VVRkJVVEZ2UWl4TlFVRlBlVVFzUlVGQlRYTmxMRWxCUVhSRkxFTkJUVUVzU1VGQlRYRmtMRWxCUVdsQ00yZENMRVZCUVZGNVRTeFhRVUZoY0hGQ0xFVkJRVlV5UXl4SFFVRlRMRU5CVFRsRUxFbEJTa0UwTjBJc1JVRkJZVFZuUWl4RlFVRlJOa29zWTBGQlowSjBia0lzUlVGREwwSnJLMElzUjBGQldYSjVRaXhMUVVGTmQzbENMRVZCUVdGeUswSXNTMEZEY0VOclRpeEZRVUZOUVN4RlFVRkphazBzV1VGRlNHbE5MRVZCUVV0QkxFVkJRVTFCTEVWQlFVbHFUU3hYUVVOMFFuVTVRaXhGUVVGVmRpOUNMRXRCUVUxcFR5eEhRVU5vUWpaQ0xFVkJRVTAzUWl4RlFVbEdOa0lzUzBGQlZYUk5MRVZCUVVzMlNTeGxRVUZwUW5KT0xFbEJRM0JEZFdkRExFVkJRVlYyTDBJc1MwRkJUVGhRTEVWQlFVbGlMR0ZCUVdWaExFVkJRVWt3ZGtJc1kwRkJaMEp5WjBNc1IwRk5la1FzU1VGRVFXOURMRVZCUVVrc1IwRkRUVEJOTEVWQlFVMXplRUlzUlVGQlYyZ3JRaXhSUVVGWmQyMUNMRVZCUVUxeFF5eDNRa0ZETlVOclZpeEZRVUZqY25oQ0xFVkJRMlE0V2l4RlFVRk5hRzVDTEV0QlFVOVJMRVZCUVVrc1JVRkRhRUkyT1VJc1JVRkRRVFZuUWl4RlFVRlJaMHdzVlVGQldYcHZRaXhIUVVkeVFuTnZRaXhIUVVGWGNFZ3NSVUZCVTI1bUxFbEJRVXR0VEN4RlFVRkxMRmRCUVdONlR5eFBRVUZQTkhCQ0xFOUJRVkVzVDBGQlZYSkNMRVZCUVUxb2JrSXNUMEZETVVWcmFFSXNSVUZCVTI1bUxFbEJRVXR0VEN4RlFVRkxMRmxCUlc1Q2IySXNSVUZCVDNSd1FpeE5RVUZQYTA4c1JVRkJTelpVTEVsQlNYQkNkVWdzUlVGQlUyZFhMRWRCUVZWd2VFSXNSVUZCUzI5NFFpeExRVU5VYUZjc1JVRkJUM1J3UWl4UFFVRlRkMmhDTEVWQlFWbDBWQ3hMUVVNeFF6aGFMRVZCUVUxeVZpeFBRVUZUTWxjc1JVRkJUM1J3UWl4TlFVRlBhMDhzUlVGQlN6WlVMRWxCUTFvc1NVRkJha0pwUnl4RlFVRk5jbFlzVVVGRFZuRldMRVZCUVUxVExHdENRVGhEVkN4UFFURkRRVlFzUlVGQlRXaHVRaXhMUVVGUFFTeEZRVWRRYnl0Q0xFZEJRV2xDY0Znc1JVRkJUWFZFTEhOQ1FVVndRamxOTEVWQlFWRjVTQ3hYUVVOeFF5eEpRVUZ3UkhwSUxFVkJRVkY1U0N4VFFVRlRiRzFDTEUxQlFVOTNMMElzUlVGQlZUa3lRaXhOUVVGUGNWb3NTMEZEZWtOUUxFVkJRVmt2WkN4SlFVbFFOamRDTEVkQlFWVTFLMElzUlVGQldTdERMRVZCUVUxNlF5eE5RVUZoUml4RlFVRlZNa01zVFVGSGRrUnpUU3hGUVVGTmRFMHNSVUZCVFRZM1FpeE5RVWRZTnpkQ0xFVkJRVTAyTjBJc1IwRkJWeXhOUVVsc1FtdzVRaXhGUVVGUE5HeENMRTFCUVUxMVFpeFZRVUZaZG05Q0xFVkJSWEJDWjI1Q0xFVkJRVTF4UXl4M1FrRkRWbXRXTEVWQlFWbHVkMElzYVVKQlFXdENjRThzUlVGQlRXMHJRaXhKUVVkeVF6RTNRaXhGUVVGTmVrTXNTMEZGUkdkdVFpeEZRVUZOY1VNc2QwSkJRMVpyVml4RlFVRlpiR1lzYjBKQlFYRkNjbVlzUlVGQlRXMHJRaXhKUVVkNFF5ODRRaXhGUVVGUE5HeENMRTFCUVUxMVFpeGxRVUZaY210Q0xFVkJSWEJDTmtzc1NVRkRTblJOTEVWQlFVMDJOMElzUjBGQlYzWjJRaXhKUVUxa2FWa3NSVUZCVFhKV0xGTkJTMlFyYzBJc1UwRkJWU3hUUVVGVk1TdENMRVZCUVUxNVF5eEZRVUZOZFd0Q0xFZEJReTlDTEVsQlFVbHVZeXhGUVVGSmVrb3NSVUZCVDIxRExFOUJRMlFzU1VGQlNXNURMRVZCUVU5MWJVSXNUVUZEV0Znc1JVRkRRU3hEUVVORGFHNUNMRXRCUVUxQkxFVkJRMDQwY1VJc1lVRkJZU3hKUVVsbWVIQkNMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVemRqTEVWQlFVY3NTMEZCVFhCSkxFMUJTMnBEY2tJc1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkZha0p0YTBJc1VVRkJVeXhUUVVGVk1XNUNMRVZCUVUwclowSXNSMEZEZUVJc1QwRkJUekZwUWl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUW14Q0xFVkJRVTgwYkVJc1RVRkJUVlVzVVVGQlV6RnVRaXhGUVVGTksyZENMRVZCUVUweGFVSXNVMEZIY0VOelowTXNaVUZCWjBJc1UwRkJWVE1yUWl4RlFVRk5LMmRDTEVkQlF5OUNMRWxCUVVsMFpTeEZRVUZQY0VVc1MwRkJUU3hIUVVOcVFpeEhRVUZMYjBVc1JVRkRTaXhQUVVGUGNrSXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVRlRNVzVDTEVWQlFVMHJaMElzUlVGQlRYUmxMRWRCUVUwc1RVRmpOVU5vUkN4RlFVRlJkeXRDTEZOQlEySTNPRUlzUlVGQlQydENMRXRCUVUwc1EwRkJSVzFTTEUxQlFVOHNWVUZCVjJkYUxFdEJRVTBzV1VGQll5eFRRVUZWU3l4RlFVRk5OVVFzUjBGSGNFVXNTVUZCU1c1akxFVkJRVlVzVTBGQlZXbGhMRWRCUTNaQ05XeENMRVZCUVU4MGJFSXNUVUZCVFRCWUxGTkJRVlY0Vml4RlFVRkxiRU1zUlVGQlRXNXFRaXhQUVVGUmVrTXNSVUZCVHpSc1FpeE5RVUZOYTBNc1NVRkJTMnhETEV0QlJ6ZEVOV3hDTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONVRDeEhRVUZSTEVOQlF6ZENVQ3hOUVVGUExGZEJTVTRzU1VGQlNYQnZRaXhGUVVGTmJFTXNTMEZCUzJsT0xHVkJRV2xDYWs0c1MwRkJTMG9zVlVGQldVa3NTMEZEYUVSMVowTXNSVUZCVnpGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhIUVVVMVFqQldMRWRCUTB4eUswSXNSVUZCU1RaT0xHbENRVUZyUWpCbExFVkJRVTB2Wml4SFFVRlRMRWRCUlhSRGJWVXNSVUZCVTNoQ0xFOUJRVkZ1Wml4RlFVRkxNbTlDTEVkQlFVOHdWaXhIUVVGWkxFZEJRVTBzU1VGRmFFUTVWaXhUUVVGVkxGZEJRMVFzU1VGQlNYWnZRaXhGUVVGTmJFTXNTMEZCUzJsT0xHVkJRV2xDYWs0c1MwRkJTMG9zVlVGQldVa3NTMEZEYUVSMVowTXNSVUZCVnpGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhIUVVGUkxFVkJSWEJETUZZc1JVRkxUREZrTEVWQlFWTjRRaXhQUVVGUmJtWXNSVUZCU3pKdlFpeEZRVUZMTUZZc1NVRktNMEp5SzBJc1JVRkJTVGhsTEc5Q1FVRnhRbmxPTEVWQlFVMHZaaXhIUVVGVExFZEJRM2hEYlZVc1JVRkJVMmhHTEU5QlFWRXpZaXhGUVVGTE1tOUNMRkZCVXpOQ0xFbEJRVWt6Vml4SFFVRlhibFlzUlVGQlQyMVdMRk5CUld4Q2NsUXNSMEZCVVN4RFFVRkZjMFlzUzBGQlRYTkNMRXRCUVVzMmFrSXNUMEZGY2tKclZTeEhRVUZUTEV0QlMySjZPVUlzUlVGQlR6QTVRaXhUUVVGWExGTkJRVlV2WkN4SFFVTXpRaXhKUVVGSk4wOHNSVUZCU3paelFpeEZRVU5VTEVsQlFVMW9aU3hIUVVGM1FpeHBRa0ZCVkVFc1JVRkRjRUlzVDBGQlR5eExRVXRTTEVsQlEwTTNUeXhIUVVGTkxFbEJRVTA1VkN4RlFVRlBOR2RETEZkQlFXTkRMR2RDUVVGcFFteGxMRVZCUVUwc1dVRkRka1FzVFVGQlVXeFhMRWxCV1ZZc1QwRldRV3N3UWl4RlFVRnJRamR6UWl4SFFVRlBRU3hGUVVGSmVFY3NjVUpCUVhOQ0xHVkJRV2xDTEVkQlF6bEVkMGNzU1VGQlR6WnpRaXhIUVVOYU16bENMRVZCUVU5dlJDeE5RVUZQTEdsQ1FVTmlkVFpDTEVWQlEwTXpPVUlzUlVGQlQyOUNMRWxCUVV0MU9FSXNSVUZCWjBKdU1FSXNWMEZCV1N4VFFVRlZaME1zUjBGRGFrUXNUMEZCVDBFc1JVRkJSemhFTEdOQlExQjZSU3hMUVVGTkxFMUJRMVk0VlN4SlFVZEpOMDhzUjBGSlVpeEpRVU5EWjNSQ0xFZEJRVmNzVVVGRFdFTXNSMEZCVVN4VFFVTlNReXhIUVVGclFpeDNRMEZEYkVKRExFZEJRV1VzY1VOQlJXaENMRk5CUVZORExFZEJRV0V2U1N4RlFVRlJOVEpDTEVWQlFVczBMMElzUlVGQllURnNRaXhIUVVNdlF5eEpRVUZKY0Zjc1JVRkZTaXhIUVVGTFR5eE5RVUZOUXl4UlFVRlRkRVVzUjBGSGJrSjVRaXhGUVVGUGEwSXNTMEZCVFRORExFVkJRVXNzVTBGQlZXRXNSVUZCUjJsaExFZEJRM3BDT0d0Q0xFZEJRV1ZNTEVkQlFWTnlla0lzUzBGQlRUQnhRaXhIUVVkc1F6RmpMRVZCUVVzd1l5eEZRVUZST1dJc1IwRkxZalpyUWl4SFFVTkRMMGtzUlVGQlV5eExRVUZ4UWl4cFFrRkJUamxpTEVkQlFYVkNMRTFCUVV4QkxFVkJRVmxxWVN4RlFVRkpMRWxCUVU4c1NVRkRha1ZwWVN4RlFVTkJPR3RDTEVWQlEwRXhiRUlzVlVGTFJ5eEhRVUZOTUd4Q0xFZEJRV2xETEZkQlFXeENjQ3RDTEVWQlFWRjRRaXhIUVZWdVEydGhMRVZCUVVzd1l5eEZRVUZSTlRKQ0xGRkJVR0lzU1VGQlRUaEVMRXRCUVZFNVJDeEZRVU5pTWk5Q0xFZEJRV0V2U1N4RlFVRlRMRWxCUVUwNWVVSXNSVUZCVHl4SlFVRkxPVVFzUlVGQlN6aEVMRWRCUVZFNE4wSXNSVUZCWVRGc1FpeEhRVmx5UlhwWkxFVkJRVTl2SzBJc1RVRkJVU3hUUVVGVmFEUkNMRVZCUVVjck0wSXNSMEZETTBJc1NVRkJTV2hLTEVWQlEwaHJTaXhGUVVGSkxFZEJRMG8xYkVJc1JVRkJUU3hUUVVGVmRFNHNSVUZCUzIxNlFpeEhRVWR3UWl4SlFVRkpialpDTEVWQlFWRTNSaXhGUVVGWloyZERMRWRCUTNaQ1FTeEpRVU5CUVN4RlFVVkVSQ3hGUVVGSFFTeEZRVUZGTHpsQ0xGRkJRVmRwSzBJc2JVSkJRVzlDY0hwQ0xFZEJRVkVzU1VGRE0wTnZla0lzYlVKQlFUWkNMRTFCUVZSd05rSXNSVUZCWjBJc1IwRkJTMEVzU1VGSE5VTXNSMEZCVlN4TlFVRk1hVU1zUlVGRFNpeE5RVUZQTEVkQlNWSXNSMEZCUzNoRUxFMUJRVTFETEZGQlFWTjFSQ3hKUVVGVFFTeEZRVUZGTlVZc1UwRkJWMUlzUlVGQlR6SkRMR05CUVdWNVJDeEhRVWN2UkhCSExFVkJRVTlyUWl4TFFVRk5hMFlzUlVGQlJ5eFhRVU5tY1ZNc1JVRkJTM2hpTEV0QlFVdHZSaXhMUVVGTmNFWXNTMEZCUzJ0SUxHTkJUM1JDTEVsQlFVMW5lRUlzUzBGQlZTOTFRaXhGUVVObU9ETkNMRWRCUVdFdlNTeEZRVUZSTDNWQ0xFVkJRVWNyZFVJc1IwRkJWV2RLTEVWQlFXRXhiRUlzUjBGTGFrUXNUMEZCVHpSc1FpeEZRVUZGZUhwQ0xFdEJRVTBzVFVGSGFFSTNTeXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVOcVFuRTRRaXhWUVVGWExGZEJRMVlzVDBGQlQzZ3JRaXhGUVVGUGJ5dENMRTFCUVU5dWFFTXNTMEZCUzNkb1F5eHRRa0ZGTTBKQkxHVkJRV2RDTEZkQlEyWXNUMEZCVDNob1F5eExRVUZMYlVVc1NVRkJTeXhYUVVkb1FpeEpRVUZKTUU0c1JVRkJWemxQTEVWQlFVODBaaXhMUVVGTk0ybENMRXRCUVUwc1dVRkRiRU1zVDBGQlR6WlNMRVZCUVZjNVR5eEZRVUZQTWtRc1ZVRkJWMjFNTEVkQlFXRTNVaXhQUVVNNVEzRlJMRTlCUVZFc1YwRkRXQ3hKUVVGSk1VOHNSVUZCVHpOQ0xFdEJRVXN5UWl4TFFVZG9RaXhQUVVGUE0wSXNTMEZCUzI5R0xFOUJRVk55UXl4RlFVRlJMME1zVFVGQlQydGhMRWRCUVVrc1kwRkRka000YlVJc1IwRkJZWGg2UWl4TFFVRk5lRTRzUzBGQlMyOU5MRmxCUVdVeU1FSXNSMEZCWjBKMmVrSXNTMEZCVFRkTUxFdEJRek5FTTBJc1MwRkJTekJXTEZWQlFWbHpVU3hIUVVGbGVGa3NTMEZCVFRkTUxFMUJRM1JEZDBNc1NVRkJTeXhUUVVGVmIwUXNSVUZCU1c1RUxFZEJRM1JDTEVsQlFVbG9ReXhGUVVGTlZ5eEZRVUZSTDBNc1RVRkJUMjlETEUxQlJYcENMRTlCUVZrc1RVRkJVRUVzUlVGRFJ5eExRVWRJZFVRc1RVRkJUVU1zVVVGQlUzaEVMRWRCUTFwWExFVkJRVTl2UWl4SlFVRkxMMElzUlVGQlN5eFRRVUZWUVN4SFFVTnFReXhOUVVGUExFTkJRVVZuUkN4TFFVRk5hRUlzUlVGQlMyZENMRXRCUVUwNFFpeE5RVUZQT1VVc1JVRkJTVFpFTEZGQlFWTTJOa0lzUjBGQlR5eFhRVWxvUkN4RFFVRkZNVGRDTEV0QlFVMW9RaXhGUVVGTFowSXNTMEZCVFRoQ0xFMUJRVTg1UlN4RlFVRkpOa1FzVVVGQlV6WTJRaXhIUVVGUExGZEJRMnhFY0RsQ0xGTkJTMDRzU1VGRFF5czVRaXhIUVVGTkxFOUJRMDVETEVkQlFWRXNUMEZEVWtNc1IwRkJZU3huUWtGRFlrTXNSMEZCVnl3MlFrRkpXRU1zUjBGQllTeHBRa0ZEWWtNc1IwRkJXU3hSUVZkYWRFZ3NSMEZCWVN4SFFVOWlkVWdzUjBGQllTeEhRVWRpUXl4SFFVRlhMRXRCUVV0MGFFTXNUMEZCVVN4TFFVZDRRblZvUXl4SFFVRmxjbWxETEVWQlFWTXdReXhqUVVGbExFdEJTM2hETEZOQlFWTTBMMElzUjBGQk5rSkRMRWRCUjNKRExFOUJRVThzVTBGQlZVTXNSVUZCYjBKc2EwSXNSMEZGUkN4cFFrRkJka0pyYTBJc1NVRkRXR3hyUWl4RlFVRlBhMnRDTEVWQlExQkJMRVZCUVhGQ0xFdEJSM1JDTEVsQlFVbERMRVZCUTBoc1owTXNSVUZCU1N4RlFVTktiV2RETEVWQlFWbEdMRVZCUVcxQ05UWkNMR05CUVdOeFJpeE5RVUZQY1ZBc1NVRkJiVUlzUjBGRmVFVXNSMEZCU3pkaExFVkJRVmsyWXl4SFFVZG9RaXhMUVVGVmJXdENMRVZCUVZkRExFVkJRVmR1WjBNc1RVRkhVaXhOUVVGc1FtdG5ReXhGUVVGVkxFbEJRMlJCTEVWQlFWZEJMRVZCUVZNdmFFTXNUVUZCVHl4SlFVRlBMRXRCUTJoRE5taERMRVZCUVZkRkxFZEJRV0ZHTEVWQlFWZEZMRWxCUVdNc1NVRkJTekYzUWl4UlFVRlRkVTBzUzBGSkwwUnBhMElzUlVGQlYwVXNSMEZCWVVZc1JVRkJWMFVzU1VGQll5eEpRVUZMZW1oRExFdEJRVTF6WkN4SlFWRnVSU3hUUVVGVGNXdENMRWRCUVN0Q1NpeEZRVUZYYURsQ0xFVkJRVk0wTVVJc1JVRkJhVUo1U0N4SFFVVTFSU3hKUVVGSlF5eEZRVUZaTEVkQlEyWkRMRVZCUVhGQ1VDeEpRVUZqU2l4SFFVVndReXhUUVVGVFdTeEZRVUZUVGl4SFFVTnFRaXhKUVVGSk1YTkNMRVZCWTBvc1QwRmlRVGh6UWl4RlFVRlhTaXhKUVVGaExFVkJRM2hDZEM5Q0xFVkJRVTlyUWl4TFFVRk5heXRDTEVWQlFWZEZMRWxCUVdNc1IwRkJTU3hUUVVGVmNHeENMRVZCUVVjeWJFSXNSMEZEZEVRc1NVRkJTVU1zUlVGQmMwSkVMRVZCUVc5Q2VqbENMRVZCUVZNME1VSXNSVUZCYVVKNVNDeEhRVU40UlN4TlFVRnZReXhwUWtGQmVFSkxMRWRCUTFaSUxFZEJRWEZDUkN4RlFVRlhTU3hIUVV0MFFrZ3NTVUZEUkM5elFpeEZRVUZYYTNSQ0xGRkJSR1lzUjBGSVRqRTVRaXhGUVVGUmJUbENMRlZCUVZVemQwSXNVVUZCVTJ0NFFpeEhRVU16UWtZc1JVRkJVMFVzU1VGRFJpeExRVXRHYkhSQ0xFVkJSMUlzVDBGQlQyZDBRaXhGUVVGVGVEbENMRVZCUVZGdE9VSXNWVUZCVnl4TlFVRlZSeXhGUVVGWExFMUJRVk5GTEVWQlFWTXNTMEZOTTBVc1UwRkJVMGNzUjBGQldYUTVRaXhGUVVGUk5VUXNSMEZETlVJc1NVRkJTWE5OTEVWQlFVdDZTU3hGUVVOU2N6bENMRVZCUVdOb1owTXNSVUZCVDJsblF5eGhRVUZoUkN4aFFVRmxMRWRCUld4RUxFbEJRVTAzTUVJc1MwRkJUM1JOTEU5QlExRnBSU3hKUVVGbWFrVXNSVUZCUzNOTkxFMUJRMUEyTUVJc1JVRkJZVGN3UWl4SFFVRlJNVWtzUlVGQlYwTXNTVUZCVlVFc1JVRkJUeXhMUVVGVmVVa3NSMEZCVVhSTkxFVkJRVXR6VFN4SlFVODFSU3hQUVVwTGVra3NSMEZEU2pGRExFVkJRVTl0UXl4UlFVRlJMRVZCUVUxTkxFVkJRVkZETEVkQlIzWkNSQ3hGUVM5RlVuazRRaXhIUVVGaE1YTkNMRXRCUVU5TUxFZEJRVk5MTEV0QloxQTNRbmhUTEVWQlFVOXRReXhQUVVGUkxFTkJSMlFyT1VJc1QwRkJVU3hGUVVkU1F5eGhRVUZqTEVkQlEyUkRMRXRCUVUwc1IwRkZUa2dzWVVGQll5eERRVU5pU1N4SlFVRkxiSFZDTEVkQlFWTkxMRXRCUTJRMVZDeExRVUZOTEUxQlEwNHdhRU1zVVVGNFVtZENMRFJFUVhkU1VUY3hRaXhMUVVGTk1FZ3NSMEZCVTI5MVFpeFZRVU4yUXpscVF5eFJRVUZSTEVWQlExSXJha01zWVVGQllTeEZRVU5pUXl4UFFVRlBMRVZCUTFCRExGbEJRV0VzYlVSQlkySkRMRkZCUVZNc1EwRkRVbkJKTEVsQlFVc3dSeXhIUVVOTWVpOUNMRXRCUVUwc1lVRkRUbTEwUWl4TFFVRk5MRmxCUTA0M1lpeEpRVUZMTERSQ1FVTk1PSFpDTEV0QlFVMHNjVU5CUjFBemIwSXNVMEZCVlN4RFFVTlVia2dzU1VGQlN5eFZRVU5NTm1Jc1MwRkJUU3hUUVVOT2FWVXNTMEZCVFN4WlFVZFFReXhsUVVGblFpeERRVU5tTDNaQ0xFbEJRVXNzWTBGRFRIUlNMRXRCUVUwc1pVRkRUbTlvUXl4TFFVRk5MR2RDUVV0UVJTeFhRVUZaTEVOQlIxaERMRk5CUVZWeU5FSXNUMEZIVm5NMFFpeGhRVUZoTEVWQlIySkRMRmxCUVdFNVowSXNTMEZCUzBNc1RVRkhiRUk0WjBJc1YwRkJXV3hvUXl4RlFVRlBNRGxDTEZWQlQzQkNjME1zV1VGQllTeERRVU5hU3l4TFFVRkxMRVZCUTB4dVowTXNVMEZCVXl4SlFVOVlhV2hETEZWQlFWY3NVMEZCVlRFclFpeEZRVUZSTWl0Q0xFZEJRelZDTEU5QlFVOUJMRVZCUjA1eVFpeEhRVUZaUVN4SFFVRlpkRGxDTEVWQlFWRjZReXhGUVVGUGFXZERMR05CUVdkQ2JVSXNSMEZIZGtSeVFpeEhRVUZaTHk5Q0xFVkJRVTlwWjBNc1lVRkJZM2c1UWl4SlFVZHVRelFyUWl4alFVRmxiRU1zUjBGQk5rSXhTQ3hKUVVNMVF6WktMR05CUVdWdVF5eEhRVUUyUWtnc1NVRkhOVU4xUXl4TFFVRk5MRk5CUVZWc1FpeEZRVUZMYWl0Q0xFZEJSMEVzYVVKQlFWSnBLMElzU1VGRFdHb3JRaXhGUVVGVmFTdENMRVZCUTFaQkxFOUJRVTEyT1VJc1IwRkpVRllzUlVGQlZVRXNSMEZCVnl4SFFVVnlRaXhKUVVGSmJ5OUNMRVZCUjBoRExFVkJSMEZETEVWQlEwRkRMRVZCUjBGRExFVkJSMEZETEVWQlIwRTNha0lzUlVGSFFUaHFRaXhGUVVkQk1XbERMRVZCUjBFeWFVTXNSVUZIUVRGRUxFVkJRVWx5SzBJc1JVRkJUMjFvUXl4VlFVRlhMRWRCUVVrdkswSXNSMEZITVVJMEwwSXNSVUZCYTBJelJDeEZRVUZGYml0Q0xGTkJRVmR0SzBJc1JVRkhMMEkwUkN4RlFVRnhRalZFTEVWQlFVVnVLMElzVlVGRGNFSTRhRU1zUlVGQlowSjRha01zVlVGQldYZHFReXhGUVVGblFuaG9ReXhSUVVNNVExSXNSVUZCVVdkcFF5eEhRVU5TYUdsRExFVkJRVTgwYkVJc1RVRkhVbkpMTEVWQlFWZDJZaXhGUVVGUGEySXNWMEZEYkVKbmJrSXNSVUZCYlVKc2FVTXNSVUZCVDJkaExGVkJRVmNzWlVGSGNrTnRiMElzUlVGQllUbEVMRVZCUVVVNFJDeFpRVUZqTEVkQlJ6ZENReXhGUVVGcFFpeEhRVU5xUWtNc1JVRkJjMElzUjBGSGRFSkRMRVZCUVZjc1YwRkhXRGRETEVWQlFWRXNRMEZEVUhKb1FpeFhRVUZaTEVWQlIxcHRhMElzYTBKQlFXMUNMRk5CUVZWd00wSXNSMEZETlVJc1NVRkJTWEpDTEVWQlEwb3NSMEZCUzJ0VkxFVkJRVmtzUTBGRGFFSXNTVUZCVFRKcVFpeEZRVVZNTEVsQlJFRkJMRVZCUVd0Q0xFZEJRMUkzTTBJc1JVRkJVU3N3UWl4SFFVRlRNVEJDTEV0QlFVMTFNMElzU1VGRGFFTkRMRVZCUVdsQ056TkNMRVZCUVU4c1IwRkJTWEpHTEdOQlFXZENMRTFCUTNwRGF6bENMRVZCUVdsQ056TkNMRVZCUVU4c1IwRkJTWEpHTEdOQlFXZENMRTFCUVZNc1NVRkRja1E1Unl4UFFVRlJiVTBzUlVGQlR5eEpRVWR3UWtFc1JVRkJVVFl6UWl4RlFVRnBRbmd5UWl4RlFVRkpNVWNzWTBGQlowSXNTMEZGT1VNc1QwRkJaMElzVFVGQlZIRkdMRVZCUVdkQ0xFdEJRVTlCTEVWQlFVMWxMRXRCUVUwc1QwRkpNME15TTBJc2MwSkJRWFZDTEZkQlEzUkNMRTlCUVU5NGEwSXNSVUZCV1RCcVFpeEZRVUYzUWl4TlFVazFRMlVzYVVKQlFXdENMRk5CUVZWd1owTXNSVUZCVFRoQ0xFZEJUV3BETEU5QlRHdENMRTFCUVdJMldpeEpRVU5LTTJJc1JVRkJUMmRuUXl4RlFVRnhRbWhuUXl4RlFVRkxiME1zWlVGRGFFTTBPVUlzUlVGQmNVSm9aME1zUlVGQlMyOURMR2RDUVVGdFFuQkRMRVZCUXpsREt5OUNMRVZCUVdkQ0x5OUNMRWRCUVZNNFFpeEhRVVZ1UW14SUxFMUJTVko1YkVNc2FVSkJRV3RDTEZOQlFWVTVha01zUjBGSk0wSXNUMEZJYTBJc1RVRkJZbTltTEVsQlEwcHhaMElzUlVGQlJYTkZMRk5CUVZjdmFrTXNSMEZGVUROQ0xFMUJTVkpyYkVNc1YwRkJXU3hUUVVGVkwyZERMRWRCUTNKQ0xFbEJRVWx1UXl4RlFVTktMRWRCUVV0dFF5eEZRVU5LTEVkQlFVczBZeXhGUVVkS2VXaENMRVZCUVUxdWEwSXNUMEZCVVd4aExFVkJRVXR4SzBJc1JVRkJUVzFFTEdOQlNYcENMRWxCUVUwemFrTXNTMEZCVVcxRExFVkJRMklyWjBNc1JVRkJXV3hxUXl4SFFVRlRMRU5CUVVWcmFrTXNSVUZCV1d4cVF5eEhRVUZSYlVNc1JVRkJTMjVETEVsQlNXNUVMRTlCUVU5b1F5eE5RVWxTTkd4RExFMUJRVThzVTBGQlZVTXNSMEZEYUVJc1NVRkJTVU1zUlVGQldVUXNSMEZCWTFJc1JVRkxPVUlzVDBGS1MyUXNSMEZEU2tFc1JVRkJWWEZDTEUxQlFVOUZMRWRCUld4Q2JEbENMRVZCUVUwc1JVRkJSMnM1UWl4SFFVTkdPV3hETEU5QmIwSldMRWRCWmtGelpTeEZRVUZUTVVJc1VVRkJVelJzUWl4SFFVdHNRbkJDTEVWQlFVVm5ReXhOUVVGVlFTeEhRVUZQYUVNc1JVRkJSV2RETEV0QlFVOXNkVUlzUjBGQlUwc3NUVUZCVXl4SlFVTTFRM1JRTEZGQlFWTTJOMElzUjBGQlZ6VnpRaXhIUVVGVGIzVkNMRk5CUVZjc1RVRkhNVU5zUXl4RlFVRkZlaTlDTEV0QlFVOTNSQ3hGUVVGUmQxZ3NVVUZCVlhoWUxFVkJRVkY0UkN4TlFVRlJlUzlDTEVWQlFVVjZhMElzVVVGQlZYbHJRaXhGUVVGRmVpOUNMRXRCUjNwRWVTOUNMRVZCUVVWclFpeFhRVUZqYkVJc1JVRkJSV2xDTEZWQlFWa3NTMEZCVFRjMlFpeGpRVUZqY1VZc1RVRkJUM0ZRTEVsQlFXMUNMRU5CUVVVc1NVRkhlRVFzVFVGQmFrSnJiRUlzUlVGQlJUSkZMRmxCUVhOQ0xFTkJRelZDYmtJc1JVRkJXV2hzUXl4RlFVRlRNRU1zWTBGQlpTeExRVXR3UXl4SlFVTkRjMmxETEVWQlFWVnlka0lzUzBGQlR6WnlRaXhGUVVGRlowTXNTVUZKYmtKM1FpeEZRVUZWY25aQ0xFdEJRVTl4ZGtJc1JVRkJWWEoyUWl4TFFVTXpRalp5UWl4RlFVRkZNa1VzV1VGQll6bEVMRWRCUVdGeFFpeFRRVUZYTEV0QlFVOXlRaXhIUVVGaEswUXNUVUZETTBSd1FpeEZRVUZWZEVJc1UwRkJWeXhMUVVGUGMwSXNSVUZCVlc5Q0xFdEJRM1JETEUxQlFWRjROVUlzUjBGSlZEUXdRaXhGUVVGRk1rVXNZVUZCWXl4SFFXRnNRaXhIUVZKTE0wVXNSVUZCUlRGbExFMUJRVkV3WlN4RlFVRkZiVU1zWVVGQmFVTXNhVUpCUVZodVF5eEZRVUZGTVdVc1QwRkRlRU13WlN4RlFVRkZNV1VzUzBGQlR6Tm1MRVZCUVU5dkswSXNUVUZCVDBNc1JVRkJSVEZsTEV0QlFVMHdaU3hGUVVGRlJpeGpRVWxzUTNGQ0xFZEJRU3RDTDBnc1IwRkJXVFJITEVWQlFVZHFPRUlzUlVGQlUzRTVRaXhIUVVkc1JIcG9RaXhGUVVOS0xFOUJRVTk1YUVJc1JVRTRSVklzU1VGQlRYSm5ReXhMUVhwRlRqQnBReXhGUVVGak9XaERMRVZCUVU4MGJFSXNUMEZCVTNsWkxFVkJRVVUxYUVNc1UwRkhVU3hIUVVGd1FuVkVMRVZCUVU5clowTXNWVUZETVVKc1owTXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVRlRMR0ZCU1haQ0sxZ3NSVUZCUlhvdlFpeExRVUZQZVM5Q0xFVkJRVVY2TDBJc1MwRkJTM0ZuUWl4alFVZG9RbTltTEVWQlFVVTJSU3haUVVGamNFVXNSMEZCVjNJd1FpeExRVUZOTkhwQ0xFVkJRVVY2TDBJc1RVRkxia00yYVVNc1JVRkJWM0JFTEVWQlFVVm5ReXhKUVVGSmJqbENMRkZCUVZONU4wSXNSMEZCVHl4SlFVY3pRazRzUlVGQlJUWkZMRmRCZDBKSk4wVXNSVUZCUlRGbExFMUJRVkV3WlN4RlFVRkZiVU1zWVVGRGIwUXNTMEZCZWtWdVF5eEZRVUZGY1VNc1lVRkJaU3hKUVVGTE5XbERMRkZCUVZNc2RVTkJRMnBEZFdkRExFVkJRVVV4WlN4TFFVRlBNR1VzUlVGQlJURmxMRXRCUVV0Nll5eFJRVUZUZHpkQ0xFZEJRVXNzVDBGMlFqbENjVVFzUlVGQlZ6RkVMRVZCUVVWblF5eEpRVUZKT1dsRExFMUJRVTlyYTBNc1JVRkJVMjVvUXl4UlFVYzFRaXM1UWl4RlFVRkZNV1VzVDBGQlZUQmxMRVZCUVVWdFF5eGhRVUZwUXl4cFFrRkJXRzVETEVWQlFVVXhaU3hSUVVNeFF6aG9RaXhKUVVGamFFVXNSMEZCVDJoNlFpeExRVUZOWnpOQ0xFZEJRV0VzU1VGQlRTeExRVUZSY0VRc1JVRkJSVEZsTEZsQlIycEVNR1VzUlVGQlJURmxMRTlCU1U4c1NVRkJXakJsTEVWQlFVVnVla0lzVVVGRFRuVXlRaXhGUVVGWFFTeEZRVUZUZGl0Q0xGRkJRVk13TjBJc1IwRkJXU3hOUVVONlEyMUVMRWRCUVdGMFJTeEhRVUZQYUhwQ0xFdEJRVTFuTTBJc1IwRkJZU3hKUVVGTkxFdEJRVkVzUzBGQlV6TnBReXhIUVVGTmMwWXNUMEZEYmtVeU9VSXNSMEZKUmpGRUxFVkJRVVZuUXl4SlFVRk5iMElzUlVGQlYwMHNSMEZUWmpGRUxFVkJRVVU0UlN4aFFVTkVibXBETEVWQlFVOXRaME1zWVVGQlkzTkNMRWxCUTNwQ2FFTXNSVUZCVFdkRUxHbENRVUZyUWl4dlFrRkJjVUo2YVVNc1JVRkJUMjFuUXl4aFFVRmpjMElzU1VGRk9VUjZhRU1zUlVGQlQyOW5ReXhMUVVGTmNVSXNTVUZEYWtKb1F5eEZRVUZOWjBRc2FVSkJRV3RDTEdkQ1FVRnBRbnBwUXl4RlFVRlBiMmRETEV0QlFVMXhRaXhOUVV0dVJIQkVMRVZCUVVVeFpTeE5RVUZSTUdVc1JVRkJSVFpGTEdGQlFXZERMRWxCUVd4Q04wVXNSVUZCUlhGRExHRkJRWGxDZEN0Q0xFVkJRVkZ6SzBJc1kwRkRha1ZxUWl4RlFVRk5aMFFzYVVKQlFXdENMR1ZCUVdkQ2NFVXNSVUZCUlhGRExHRkJTVE5EYWtJc1JVRkJUV2RFTEdsQ1FVTk1MRk5CUTBGd1JTeEZRVUZGYTBJc1ZVRkJWeXhKUVVGUGJFSXNSVUZCUlhORExGRkJRVk4wUXl4RlFVRkZhMElzVlVGQlZ5eEpRVU16UTJ4Q0xFVkJRVVZ6UXl4UlFVRlRkRU1zUlVGQlJXdENMRlZCUVZjc1MwRkRRU3hOUVVGeVFteENMRVZCUVVWclFpeFZRVUZYTEVkQlFXTXNTMEZCVDA0c1IwRkJWeXhYUVVGaExFbEJRemRFV2l4RlFVRkZjME1zVVVGQlV5eE5RVWxHZEVNc1JVRkJSU3RGTEZGQlExb3pSQ3hGUVVGTlowUXNhVUpCUVd0Q2NtcERMRVZCUVVkcEwwSXNSVUZCUlN0RkxGRkJRVk5vYTBNc1NVRkpka01zUjBGQlMya3ZRaXhGUVVGRlowWXNZMEZESzBNc1NVRkJia1JvUml4RlFVRkZaMFlzVjBGQlZ6TnNReXhMUVVGTmMydERMRVZCUVdsQ2RrTXNSVUZCVDNCQ0xFbEJRV2xDY21kQ0xFZEJSemxFTEU5QlFVOTVhRUlzUlVGQlRXOUVMRkZCWldRc1IwRllRVkFzUlVGQlZ5eFJRVWRZU2l4RlFVRnBRbnB3UWl4SlFVRkxOR3hDTEVWQlFVVnFSeXhWUVVONFFuRklMRVZCUVUwMU5VSXNTMEZCVFhjMFFpeEZRVUZGYVVZc1UwRkRaRGRFTEVWQlFVMHpiRUlzUzBGQlRYVnJRaXhGUVVGRmFqZENMRTlCUjJSdkswSXNSVUZCV1doRExFZEJRU3RDVWl4SFFVRlpXQ3hGUVVGSGFqaENMRVZCUVZOeE9VSXNSMEZMTlVRc1EwRlRUaXhIUVZKQlFTeEZRVUZOY21oQ0xGZEJRV0VzUlVGSFpEQnFRaXhIUVVOS1J5eEZRVUZ0UWpOaUxGRkJRVk1zVjBGQldTeERRVUZGYlZvc1JVRkJUM0JDTEVsQlNUZERjbWRDTEVWQlEwb3NUMEZCVDNsb1FpeEZRVWxJY0VJc1JVRkJSVzlETEU5QlFWTndReXhGUVVGRk5VUXNVVUZCVlN4SlFVTXpRbTFJTEVWQlFXVTFhME1zUlVGQlQyZG5RaXhYUVVGWkxGZEJRMnBEZVdsQ0xFVkJRVTF2UkN4TlFVRlBMRmxCUTFoNFJTeEZRVUZGTlVRc1ZVRkhUaXhKUVVORGVtTXNSMEZCV1N4RlFVTmFkMnBDTEVWQlFWVXJRaXhMUVVGTmJrSXNSVUZCWjBKMk9FSXNSMEZETDBJc1RVRkJVVFJFTEVkQlIxUXNSMEZCUzNWVkxFVkJRMG9zVFVGQlRYWlZMRVZCU1ZBMVJDeEhRVUZQTEVWQlFVYzBSQ3hUUVdoRFdEVkVMRWRCUVU4c1JVRkJSeXhuUWtGeFExZ3NVMEZCVTBFc1JVRkJUU3M0UWl4RlFVRlJXU3hGUVVGclFrTXNSVUZCVjB3c1IwRkRia1FzU1VGQlNVMHNSVUZCVjBvc1JVRkJVMnhuUXl4RlFVRlBkV2RETEVWQlFWVkRMRVZCUTNoRFpDeEZRVUZoVlN4RlFVZFVlR3hDTEVsQlNVeEJMRWRCUVZrc1JVRkhVRFJxUWl4SFFVTktOV3RETEVWQlFVOHdPVUlzWVVGQlkydElMRWRCUzNSQ1NpeFBRVUZaTVN0Q0xFVkJSMW8wSzBJc1JVRkJkMEl3UWl4SFFVRlhMRWRCUjI1RE0wUXNSVUZCVFhKb1FpeFhRVUZoZDJ0Q0xFVkJRVk1zUlVGQlNTeEZRVUZKTEVWQlIzQkRZeXhGUVVGWlpDeEhRVUZWTEV0QlFVOUJMRVZCUVZNc1MwRkJhMElzVFVGQldFRXNSVUZIZUVOaExFbEJRMHBGTEVWQk4yeENTaXhUUVVFNFFuUkdMRVZCUVVkdlFpeEZRVUZQWjBVc1IwRlBka01zU1VGTVFTeEpRVUZKU1N4RlFVRkphbXhETEVWQlFVMXJiRU1zUlVGQlpVTXNSVUZETlVJNWNrSXNSVUZCVjI5dFFpeEZRVUZGY0cxQ0xGTkJRMkp6YmtJc1JVRkJXV3hDTEVWQlFVVnJRaXhWUVVkWkxFMUJRVzVDUVN4RlFVRlhMRWxCUTJ4Q1FTeEZRVUZWYkRCQ0xHRkJRMFYyU1N4SlFVRlFLMmRETEVsQlEwcEJMRVZCUVV0NFJpeEZRVUZGYzBVc1ZVRkJXV3hFTEVWQlFVMDRReXhyUWtGQmJVSXNhVUpCU3psRExFZEJRVXR6UWl4RlFVTktMRWxCUVUxcWJFTXNTMEZCVVhGYUxFVkJRMklzUjBGQlMwRXNSVUZCVlhKYUxFbEJRVlZ4V2l4RlFVRlZjbG9zUjBGQlR6Wk1MRXRCUVUxdk5VSXNSMEZCVHl4RFFVTjBSSFJGTEVWQlFWVXpkMElzVVVGQlUyaFJMRWRCUTI1Q0xFMUJUVWdzUjBGQlN6Sm5ReXhGUVVGWExFdEJRVTlyUlN4RlFVTjBRa3NzUlVGQlowSjJSU3hGUVVGWExFOUJRM0pDTEVOQlIwNHNTVUZCVFROblF5eExRVUZSTm10RExFVkJRVmtzUTBGRGVrSXNTVUZCVFd4RkxFVkJRVmNzU1VGQlQyeENMRVZCUVVWNVF5eFhRVUZaYkdsRExFVkJRVThzU1VGQlRUSm5ReXhGUVVGWExFbEJRVkVzUTBGRGNrVjFSU3hGUVVGblFteHNReXhGUVVOb1FpeE5RVVZMYld4RExFbEJRMHhCTEVWQlFXZENibXhETEVkQlMyeENhMnhETEVWQlFXZENRU3hIUVVGcFFrTXNSVUZOYkVNc1IwRkJTMFFzUlVGSlNpeFBRVWhMUVN4SlFVRnJRblpGTEVWQlFWY3NTVUZEYWtOQkxFVkJRVlV6ZDBJc1VVRkJVMnN4UWl4SFFVVmlUQ3hGUVVGWFN5eEhRVEJwUWt4RkxFTkJRWEZDTTBZc1JVRkJSMjlDTEVWQlFVOW5SU3hMUVVseVEwTXNSMEZEVERGcVF5eEZRVUZQTmtRc1VVRkJVeXhUUVVGVmR6WkNMRVZCUVVWclFpeFpRVUZsTEVkQlF6TkRkaTlDTEVWQlFVODJSQ3hSUVVGVExFOUJRVkYzTmtJc1JVRkJSV3RDTEZkQlFXTXNTVUZEZUVOc1FpeEZRVUZGZVVNc1YwRkJXU3hsUVVGclFpeGpRVWxxUXpaRExFVkJPV2xDU0N4VFFVRnpRblJHTEVWQlFVZHpSaXhGUVVGVmJFVXNSVUZCVDJsRkxFZEJRM3BETEVsQlFVbFBMRVZCUVU5RExFVkJRVk5ETEVWQlFVMTRNa0lzUlVGQlMzVkxMRVZCUXpsQ05HOUNMRVZCUVdFc1IwRkhZblpDTEVWQlFWbHNRaXhGUVVGRmEwSXNWVUZCVldocFF5eFJRVWQ2UWl4SFFVRkxaMmxETEVWQlFWY3NSMEZEWml4SlFVRk5ORVVzUzBGQlVUbEdMRVZCUVVWNVF5eFhRVU5tUVN4RlFVRlpjVVFzUlVGQlN6RXZRaXhsUVVGclFqUTFRaXhGUVVGRmVVTXNWMEZCV1hGRUxFZEJUMjVFTEVsQlNFRkVMRVZCUVZVelJTeEZRVUZWYkRCQ0xGRkJSMW8yTkVJc1IwRmpVQ3hIUVZwTE4wWXNSVUZCUlhkRExHVkJRV2RDY1VRc1MwRkRkRUo2UlN4RlFVRlBjRUlzUlVGQlJYZERMR1ZCUVdkQ2NVUXNTVUZCWTFBc1NVRkpiRU42Y2tJc1IwRkJVWGR5UWl4SFFVRmhja1lzUlVGQlJTdEdMR0ZCUXpWQ1ZDeEZRVUZYZEVZc1JVRkJSU3RHTEZkQlFWbFVMRVZCUVZWMFJpeEZRVUZGYVVJc1YwRkhkRU53YmtJc1JVRkJUMmR6UWl4RlFVTlFRU3hGUVVGVk0wVXNSVUZCVld3d1FpeFJRVXR1UWl4SFFVRnBRaXhOUVVGYU5qUkNMRVZCUlVwQkxFVkJRVlZvYzBJc1QwRkhTaXhIUVVGakxFMUJRVlJCTEVkQlFXZENRU3hKUVVGVFozTkNMRVZCUVZVc1EwRk5PVU1zUzBGSVFVTXNSVUZCVDNKRUxFVkJRVmsxYjBJc1JVRkJUeXhKUVVGTlozTkNMRWxCUVdGd1JDeEZRVUZaTEV0QlFVOXZSQ3hKUVVrdlJDeEpRVUZOUkN4TFFVRlRia1FzUlVGSlpDeEpRVVJCYm5wQ0xFVkJRVTF6TWtJc1JVRkJUVEV2UWl4TlFVRlBMRTFCUTFRc1MwRkJVVEl2UWl4SlFVZHFRa01zUlVGQlQzSkVMRVZCUVZrMWIwSXNSVUZCVHl4SlFVRk5ka3NzUlVGQlN5eExRVU53UTIxNlFpeEZRVUZaTEV0QlFVOXVla0lzUlVGQlN5eExRVU5pTEVWQlIwY3NTVUZCVkhjeVFpeEZRVU5LUVN4RlFVRlBja1FzUlVGQldXMUVMRWxCUjJkQ0xFbEJRWGhDYmtRc1JVRkJXVzFFTEV0QlEzWkNReXhGUVVGVmRqSkNMRVZCUVVzc1IwRkRaalI0UWl4RlFVRlZNM2RDTEZGQlFWTnFRaXhGUVVGTExFdEJSWHBDTEUxQlQwb3NTVUZCWXl4SlFVRlVkekpDTEVWQlIwb3NSMEZCUzBFc1IwRkJVVGxHTEVWQlFVVm5SeXhQUVVOa1ZpeEZRVUZYVVN4RlFVRk5VaXhSUVVWcVFpeEpRVU5EUVN4RlFVRlhVU3hGUVVGTlVpeEhRVU5vUWl4TlFVRlJiRFpDTEVkQlExUXNUVUZCVHl4RFFVTk9ORklzVFVGQlR5eGpRVU5RYWxrc1RVRkJUeXRuUXl4RlFVRlBNVFpDTEVWQlFVa3NjMEpCUVhkQ2VVOHNSVUZCVHl4UFFVRlRaM05DTEVsQlUycEZMRTFCUVU4c1EwRkJSVGR2UWl4TlFVRlBMRlZCUVZkelJTeExRVUZOWjJ0Q0xFZEJhV1J3UWxjc1EwRkJZV3BITEVWQlFVZHpSaXhGUVVGVmJFVXNSVUZCVDJsRkxFZEJSM1pEUVN4SFFVZERja1lzUlVGQlJUaEZMR05CUTA1VExFVkJRVmR1UlN4RlFVRk5PRU1zYTBKQlFXMUNMRzlDUVVWdVEzWnBReXhGUVVGUGJXZERMR0ZCUVdOelFpeEhRVUZoYlVNc1NVRkZia05CTEVWQlFWZHVSU3hGUVVGTk9FTXNhMEpCUVcxQ0xGZEJSVzVEZG1sRExFVkJRVTl2WjBNc1MwRkJUWEZDTEVkQlFXRnRReXhKUVV0YUxFMUJRVmhvUWl4SFFVRTJRaXhUUVVGWWRrVXNSVUZCUlhvdlFpeExRVU40UW10clF5eEZRVUZoTEZsQlIxTXNUVUZCV0VZc1JVRkRXRVVzUlVGQllTeGxRVWxpUVN4RlFVRmhZU3hGUVVGVGRHOUNMRTFCUTNSQ2FXOUNMRVZCUVZWTExFVkJRVk5vYTBJc1MwRkZia0lyYWtJc1NVRkVRWFJuUXl4RlFVRlJkV2RETEVWQlFWTjJaME1zVlVGTmJFSkJMRVZCUVZFd0wwSXNSMEZEU0VZc1IwRkJWMFVzU1VGRFprRXNSVUZCWVN4UlFVTlNSaXhGUVVGVExFbEJRMkpCTEVWQlFWTXNTMEZOV201RUxFVkJRVTF0UkN4UFFVRlRRU3hGUVVObWJrUXNSVUZCVFhGRUxGbEJRV1ZWTEVkQlFXOUNWaXhIUVVGbExFZEJSMjVFV1N4RlFVTktibTlDTEVWQlFWTnRRaXhaUVVGaGMyeENMRVZCUVdsQ0xFTkJRVVZ6UWl4RlFVRlRVaXhGUVVGWmNrUXNTVUZGT1VSc2EwSXNSVUZCVTNWQ0xGZEJRVmxyYkVJc1JVRkJhVUlzUTBGQlJYWkRMRVZCUVU5eFJDeEZRVUZaTVM5Q0xFbEJTVFZFY1RoQ0xFVkJRVTB3UXl4WFFVRlpRU3hIUVVOc1FrRXNUMEZCWVhJdlFpeEZRVVZTWnk5Q0xFZEJRMHBITEVWQlFXMUNNMklzVVVGQlUyOWtMRVZCUVZrc1kwRkJaMElzV1VGRGRrUXNRMEZCUldwRkxFVkJRVTl3UWl4RlFVRkhjVVlzUlVGQldVb3NSVUZCVld4blF5eEpRVWx3UXpnclFpeEZRVUZwUW1wdVFpeFRRVUZWSzIxQ0xFVkJRV2xDTEVOQlFVVjJReXhGUVVGUGNVUXNTVUZGYUVSb1FpeEpRVU5LUnl4RlFVRnRRak5pTEZGQlFWTXNaVUZCWjBJc1EwRkJSVzFhTEVWQlFVOXdRaXhOUVVjelEzSXJRaXhGUVVGUGEyZERMRkZCUTJoQ2JHZERMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVeXhqUVV0NlFpeFBRVUZQYlZvc1IwRkhVamhGTEZGQlFWTXNVMEZCVld4RkxFVkJRVXN4WjBJc1JVRkJUWGhsTEVkQlF6ZENMRTlCUVU5dVFpeEZRVUZQVnl4SlFVRkxNQzlDTEVWQlFVc3haMElzUlVGQlRYaGxMRVZCUVZVc1UwRkhla054YWtNc1ZVRkJWeXhUUVVGVmJrVXNSVUZCUzJ3dlFpeEhRVU42UWl4UFFVRlBia0lzUlVGQlQxY3NTVUZCU3pBdlFpeFBRVUZMZGpsQ0xFVkJRVmN6UWl4RlFVRlZMR0ZCU1M5RGJrSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGQlJTeE5RVUZQTEZGQlFWVXNVMEZCVlhORUxFVkJRVWx2Vml4SFFVTTNRelZhTEVWQlFWRTBXaXhIUVVGWExGTkJRVlY1YlVJc1JVRkJTekZuUWl4RlFVRk5lR1VzUlVGQlZYWkRMRWRCVldwRUxFOUJVRXRPTEVWQlFWbHhhRUlzUzBGRGFFSXZaMElzUlVGQlQwRXNSMEZCVVhWRExFVkJRMlpCTEVWQlFWZDNaU3hGUVVOWVFTeFBRVUZQTjJNc1IwRkpSRGxETEVWQlFVOTFhRU1zUzBGQlRYWm9ReXhGUVVGUGJVTXNUMEZCVVN4RFFVTnNRMnNyUWl4SlFVRkxRU3hGUVVOTWVtaERMRXRCUVUxbllpeEZRVU5PTUd4Q0xGTkJRVlV4WjBNc1JVRkRWaXRuUWl4TFFVRk5RU3hGUVVOT01tcENMRkZCUVZOdWFVTXNSMEZEVUc1Q0xFVkJRVTh5UXl4alFVRmxNRGxDTEVsQlFWTkJMRTlCU1hCRGNtZERMRVZCUVU5eGFFTXNZMEZCWlN4VFFVRlZhRVFzUjBGREwwSXNTVUZCU1dvdlFpeEZRVU5LTEVsQlFVMUJMRXRCUVV0cEwwSXNSVUZCUlN0RkxGRkJRMkVzYVVKQlFYQkNhR3RETEVWQlFVVnhSaXhuUWtGRFRqUTFRaXhGUVVGRmNVTXNXVUZCWTNKRExFVkJRVVVyUlN4UlFVRlRhR3RETEVsQlFVOHNUVUZOY2tOWkxFVkJRVTgwYzBJc1UwRkJWeXhUUVVGVmVWUXNSVUZCUzJvclFpeEZRVUZUYWtRc1IwRkRla01zVDBGQlQyRXNSVUZCVDNWb1F5eExRVUZOTEVOQlEyNUNiRUlzU1VGQlMwRXNSVUZIVEhwb1F5eExRVUZOTEUxQlEwNHdaME1zVTBGQlZTeFRRVU5XY0RCQ0xFOUJRVThzUlVGRFVIVXhRaXhQUVVGUExFVkJRMUJvYTBNc1VVRkJVU3hGUVV0U2NXdERMRmRCUVZrc1EwRkRXREpFTEdOQlFXVXNZMEZGYUVKTUxGZEJRVmtzVTBGQlZWUXNSMEZEY2tJemFrTXNSVUZCVHpCRUxGZEJRVmxwWjBNc1JVRkJWWFpvUXl4RlFVRlRha1FzVDBGTmVrTmhMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2RXbERMRkZCUVZNc1UwRkJWUzlZTEVkQlEyeENMRWxCUVVrdlNDeEZRWGxDU2l4UFFYWkNTek51UWl4TFFVRk5MRXRCUTB4eFFpeEZRVUZaY1hWQ0xFdEJRMmhDUVN4RlFVRlBRU3hGUVVGTGFuWkNMRXRCUVUxVUxFdEJRVTBzUzBGSmVrSXlia0lzUlVGQlR6VnJRaXhGUVVGUk1uTkNMRVZCUVUweGRrSXNTMEZCVFN4SFFVRkphVTRzWlVGQlowSXhTU3hIUVVGSkxFZEJRVWxuUWl4UFFVRlBMRWRCUlhwRWRrWXNTMEZCVFN4SFFVRkpORU1zV1VGRFpDdHJRaXhGUVVGTE1ra3NZVUZCWTNSM1FpeExRVUZOTEVsQlJ6RkNNbTVDTEVWQlFVdDRha0lzU1VGQlN5eFhRVWRVTEVsQlJrRXNTVUZCU1VNc1JVRkJUM0JGTEV0QlJVaHZSU3hGUVVGTGMycERMRzFDUVVOYWRHcERMRVZCUVU5QkxFVkJRVXR6YWtNc2EwSkJSMklzVDBGQlQzUnFReXhKUVVOS1ozTkNMRTlCUVZGd2QwSXNUMEZIVGtFc1RVRkhVakp1UXl4VlFVRlhMRk5CUVZWcVdTeEhRVU53UWl4UFFVRkxjblZDTEVWQlFWbHhkVUlzUjBGRFZERjJRaXhMUVVGTGFVVXNTMEZCVFN4VFFVRlZPVUlzUjBGRE0wSlpMRVZCUVZFdlF5eE5RVUZQTW01RExGVkJRVmRxV1N4RlFVRkxhblpDTEV0QlFVMVVMRXRCUVUxdFF5eE5RVWwwUTI1RExFdEJRVXRwUlN4TFFVRk5MRmRCUTJwQ0xFbEJRVWwzVnl4RlFVRlBNVmdzUlVGQlVTOURMRTFCUTJ4Q1oySXNSVUZCVjFBc1JVRkJTMDhzVjBGRldrRXNSVUZCVXpOWUxFOUJRMkl5V0N4RlFVRlRlWE5DTEZGQlFWTXZXQ3hIUVVkc1FtcFdMRVZCUVVzeVZpeFBRVUZSVml4TlFVdG9RaTlJTEV0QlFVMHNVMEZCVlN0SUxFZEJRMllzU1VGQlNXdFpMRVZCUVdsQ2RtMURMRVZCUVZseGRVSXNSMEZGYWtNc1QwRkJUekYyUWl4TFFVRkxhVVVzUzBGQlRTeFRRVUZWT1VJc1IwRkRNMEpaTEVWQlFWRXZReXhOUVVGUGVXNURMRkZCUVZOSExFVkJRV2xDYkZrc1JVRkJTMnAyUWl4TFFVRk5WQ3hMUVVGTmJVTXNSMEZCVFhWMFFpeE5RVWxzUlcxWkxFOUJRVkVzVTBGQlZUZHJReXhIUVVscVFpeFBRVWhCYUVRc1MwRkJTMnRWTEU5QlFWRnNVaXhIUVVGWE1sSXNTVUZCU3l4UlFVRlRNVkVzUzBGQlRTeFhRVU16UTJ4Q0xFVkJRVkV2UXl4TlFVRlBlWGRDTEZsQlFXRjZkMElzUzBGQlMzVk5MR05CUlROQ2RrMHNVVUZMVkN0RExFVkJRVTgyVHl4TFFVRkxhRWtzVVVGQlVTdDJRaXhQUVVGVExGTkJRVlYyTVVJc1IwRkRkRU1zVDBGQlVYSkNMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkJVV3NyUWl4UlFVRlRNV3BETEVsQlJYUkRja0lzUlVGQlR6WlBMRXRCUVV0b1NTeFJRVUZSYXl0Q0xGRkJRVlVzVTBGQlZURnFReXhIUVVOMlF5eFRRVUZYUVN4RlFVRkxNblZDTEdGQlFXVXpkVUlzUlVGQlN6aDJRaXhqUVVGblFqbDJRaXhGUVVGTE5uaENMR2xDUVVGcFFqVjVRaXhUUVUwelJVNHNSVUZCVDJsblF5eGhRVUZoSzBVc1NVRkJUU3hYUVVONlFpeEpRVU5ETEU5QlFVOHNTVUZCU1dodlF5eEZRVUZQYVc5RExHVkJRMnBDTEUxQlFWRjROMElzVFVGSFdDeEpRVUZKZVRkQ0xFZEJRVzFDTEVOQlIzSkNReXhGUVVGSExFbEJTVWhETEV0QlFVMHNTMEZGVUVNc1IwRkJaWEpzUXl4RlFVRlBhV2RETEdGQlFXRXJSU3hOUVVWd1F6TnRReXhGUVVGUmFXNURMRTlCUVZORUxFbEJRV3RDTEc5Q1FVRnhRa0VzUjBGRGVFUm9ia01zUlVGQlVXdHFReXhMUVVGUE9FUXNTMEZCYVVKQkxFZEJSV2hEY214RExFVkJRVTl6YUVNc1kwRkJaU3hUUVVGVmJDOUNMRWRCUXk5Q0xFbEJRVWxxUWl4RlFVRlZiMnRETEVWQlIyUXNSMEZCUzJ4dVF5eEZRVUZSYVc1RExFMUJRVkZFTEV0QlFXbENhbXBETEVWQlFWRTBaME1zV1VGRE4wTXNUVUZCVHl4RFFVTk9UeXhMUVVGTkxGTkJRVlZJTEVWQlFWTm9UQ3hIUVVONFFpeEpRVUZKYURWQ0xFVkJRMGcwYkVNc1JVRkJUVFZwUXl4RlFVRlJOR2xETEUxQlYyWXNSMEZVUVVFc1JVRkJTVkVzUzBGRFNIQnFReXhGUVVGUmVFUXNTMEZEVW5kRUxFVkJRVkZwSzBJc1NVRkRVbW9yUWl4RlFVRlJjU3RDTEUxQlExSnlLMElzUlVGQlVYRnFReXhUUVVOU2NtcERMRVZCUVZGdFVpeFZRVWxLYmxJc1JVRkJVWE5xUXl4VlFVTmFMRWxCUVUxMGJVTXNTMEZCUzJkRUxFVkJRVkZ6YWtNc1ZVRkRiRUpXTEVWQlFVczFiRU1zUjBGQlRXZEVMRVZCUVZGemFrTXNWVUZCVjNSdFF5eEhRVzFDYUVNc1NVRkJUVUVzUzBGa1JHZEVMRVZCUVZGMVowTXNWVUZCV1hGRExFVkJRVWwwUXl4clFrRkROVUp6UXl4RlFVRkpkRU1zYVVKQlFXdENkR2RETEVWQlFWRjFaME1zVlVGUmVrSjJaME1zUlVGQlVUUm5ReXhoUVVGblFra3NSVUZCVXl4elFrRkRkRU5CTEVWQlFWTXNiMEpCUVhWQ0xHdENRVWwwUWtFc1JVRkRWalJDTEVWQlFVbDJReXhwUWtGQmEwSnlha01zUlVGQlIyZHJReXhGUVVGVGFHdERMRWxCU1c1REswSXNSVUZCVnl4VFFVRlZka01zUjBGRGNFSXNUMEZCVHl4WFFVTkVkVU1zU1VGRFNrRXNSVUZCVjI5clF5eEZRVUZuUWxBc1JVRkJTVmNzVDBGRE9VSllMRVZCUVVsWkxGRkJRVlZhTEVWQlFVbGhMRkZCUVZWaUxFVkJRVWxqTEZWQlF5OUNaQ3hGUVVGSlpTeHRRa0ZCY1VJc1MwRkZZaXhWUVVGVWJtNURMRVZCUTBwdmJVTXNSVUZCU1c1RExGRkJRMmRDTEZWQlFWUnFhME1zUlVGTFowSXNhVUpCUVdadmJVTXNSVUZCU1hCRExFOUJRMlo0U3l4RlFVRlZMRVZCUVVjc1UwRkZZa0VzUlVGSFF6Uk5MRVZCUVVsd1F5eFBRVU5LYjBNc1JVRkJTV3hETEZsQlNVNHhTeXhGUVVORE9FMHNSMEZCYTBKR0xFVkJRVWx3UXl4VFFVRlpiME1zUlVGQlNYQkRMRTlCUTNSRGIwTXNSVUZCU1d4RExGZEJTeXRDTEZWQlFXcERhME1zUlVGQlNXZENMR05CUVdkQ0xGTkJRMDBzYVVKQlFYSkNhRUlzUlVGQlNXbENMR0ZCUTFZc1EwRkJSVU1zVDBGQlVXeENMRVZCUVVseVFpeFZRVU5rTEVOQlFVVnVhME1zUzBGQlRYZHNReXhGUVVGSmFVSXNZMEZEWW1wQ0xFVkJRVWw0UXl3MFFrRlJWSGRETEVWQlFVbFhMRTlCUVZONGEwTXNTVUZEWW05clF5eEZRVUZuUWxBc1JVRkJTVmtzVVVGQlZWb3NSVUZCU1dNc1ZVRkJXVE5yUXl4RlFVRlZMR05CUzI1RE1rSXNTVUZCYUVKcmFVTXNSVUZCU1dFc1VVRkRVbUlzUlVGQlNXRXNVVUZCVlU0c1JVRkZaRkFzUlVGQlNXVXNiVUpCUVhGQ0xGZEJSMEVzU1VGQmJrSm1MRVZCUVVrMWJVSXNXVUZOVW5Cb1FpeEZRVUZQWjJkQ0xGZEJRVmtzVjBGRFlqZGlMRWRCUTBwdmEwTXNUMEZSVEhCclF5eEZRVUZYUVN4RlFVRlZMRk5CUlhKQ0xFbEJSME0yYWtNc1JVRkJTWHBDTEV0QlFVMXVhRU1zUlVGQlVUaG5ReXhaUVVGak9XZERMRVZCUVZGMVpDeE5RVUZSTEUxQlF5OURMRTFCUVZGc1Z5eEhRVWRVTEVkQlFVdDBTU3hGUVVOS0xFMUJRVTF6U1N4SlFVdFVielZDTEUxQlFVOHNWMEZEUkRGb1F5eEhRVU5LUVN4UlFWZE1ia0lzUlVGQlQzRm9ReXhqUVVGbExGTkJRVlZvUkN4SFFVTXhRa0VzUlVGQlJUSkZMR05CUTA0elJTeEZRVUZGY0cxQ0xGTkJRVk16V1N4UlFVRlRMRXRCUzNSQ1ZTeEZRVUZQYldoRExGVkJRVmNzUTBGRGFrSlNMRkZCUVZNc1EwRkRVbkpvUXl4UFFVRlJMRFpHUVVkVU1sa3NVMEZCVlN4RFFVTlVNMWtzVDBGQlVTd3lRa0ZGVkhkb1F5eFhRVUZaTEVOQlExZ3lSQ3hqUVVGbExGTkJRVlZxYkVNc1IwRkZlRUlzVDBGRVFWRXNSVUZCVHpCRUxGZEJRVmxzUlN4SFFVTmFRU3hOUVUxV1VTeEZRVUZQY1doRExHTkJRV1VzVTBGQlZTeFRRVUZWYUVRc1VVRkRlRUoyTjBJc1NVRkJXblUzUWl4RlFVRkZibnBDTEZGQlEwNXRla0lzUlVGQlJXNTZRaXhQUVVGUkxFZEJSVTV0ZWtJc1JVRkJSVEpGTEdOQlEwNHpSU3hGUVVGRmVpOUNMRXRCUVU4c1UwRkxXRzlDTEVWQlFVOXphRU1zWTBGQlpTeFRRVUZWTEZOQlFWVnFSQ3hIUVVsNFF5eEpRVUZKTHl0Q0xFVkJRVkUyUWl4RlFVUmlMRWRCUVV0ck9VSXNSVUZCUlRKRkxHRkJRV1V6UlN4RlFVRkZPRWdzV1VGRmRrSXNUVUZCVHl4RFFVTk9OVU1zUzBGQlRTeFRRVUZWY25CQ0xFVkJRVWRyWlN4SFFVTnNRamswUWl4RlFVRlRWU3hGUVVGUkxGbEJRMllyVHl4TFFVRk5jM1pDTEVWQlFVVTRTQ3hoUVVGbExFbEJRM1pDZG0xQ0xFdEJRVTBzUTBGQlJYZHRRaXhSUVVGVEwwZ3NSVUZCUldkSkxHTkJRV1Y0YmtNc1NVRkJTM2N2UWl4RlFVRkZaME1zVFVGRGVrTTNZU3hIUVVGSkxHRkJRV055YTBJc1JVRkJWeXhUUVVGVmJXeERMRWRCUTNaRGFHNURMRVZCUVU5M1lpeFRRVU5RTTFvc1JVRkJWeXhMUVVOT2JXeERMRWRCUTBwc1R5eEZRVUYxUWl4VlFVRmlhMDhzUlVGQlNURnVReXhMUVVGdFFpeEpRVUZOTEVsQlFVc3dia01zUlVGQlNURnVReXhSUVV0dVJDOUNMRVZCUVZNNFF5eExRVUZMUXl4WlFVRmhUaXhGUVVGUkxFdEJSWEJEZFdwRExFMUJRVThzVjBGRFJERm9ReXhIUVVOS1FTeFJRVlZNTEVsQmNVZExkV2hDTEVkQmNrZEVObXBDTEVkQlFXVXNSMEZEYkVKRExFZEJRVk1zYjBKQlIxWjRiVU1zUlVGQlQyMW9ReXhWUVVGWExFTkJRMnBDYzBZc1RVRkJUeXhYUVVOUVF5eGpRVUZsTEZkQlEyUXNTVUZCU1hac1F5eEZRVUZYYjJ4RExFZEJRV0ZxWjBNc1QwRkJWM1JITEVWQlFVOHJReXhSUVVGVkxFbEJRVkZxUlN4SFFVRk5jMFlzVDBGRmRFVXNUMEZFUVc1SUxFdEJRVTFyUlN4SlFVRmhMRVZCUTFwQkxFdEJTMVJ1UWl4RlFVRlBjV2hETEdOQlFXVXNZVUZCWXl4VFFVRlZhRVFzUlVGQlIzTkpMRVZCUVd0Q2JFZ3NSMEZGYkVVc1NVRkJTVzFJTEVWQlFXTkRMRVZCUVdGRExFVkJRemxDUXl4SFFVRjFRaXhKUVVGYU1Va3NSVUZCUlc5SkxGRkJRWEZDUkN4SFFVRlBMemRDTEV0QlFVMDBla0lzUlVGQlJXZERMRXRCUTJoRUxFMUJRMnRDTEdsQ1FVRllhRU1zUlVGQlJURmxMRTFCUlRaRExFdEJSRzVFTUdVc1JVRkJSWEZETEdGQlFXVXNTVUZEYWtJMWFVTXNVVUZCVXl4elEwRkRXREJ2UXl4SFFVRlBMemRDTEV0QlFVMDBla0lzUlVGQlJURmxMRTlCUVZVc1VVRkpOVUlzUjBGQlMyOXVRaXhIUVVGcFF5eFZRVUZ5UWpGSkxFVkJRVVZyUWl4VlFVRlhMRWRCT0VRM1FpeFBRVE5FUVhGSUxFVkJRV1YyU1N4RlFVRkZjVWtzWTBGQlowSndiME1zUlVGQldTc3ZRaXhGUVVGRmNVa3NaVUZET1VOeVNTeEZRVUZGY1Vrc1owSkJRMFp5U1N4RlFVRkZjVWtzWTBGSFJVc3NSVUZEU2pGSkxFVkJRVWN3U1N4SFFVRmhNVWtzUlVGQlJ6QkpMRWRCUVZjM2FrTXNVVUZCVTNOcVF5eEhRVUZSTEV0QlFVOUpMRWxCUXk5Q0xFbEJRVnAyU1N4RlFVRkZiMGtzVVVGRFluQkpMRVZCUVVWblF5eE5RVUZUTlVNc1IwRkJUMmg2UWl4TFFVRk5OSHBDTEVWQlFVVm5ReXhMUVVGUkxFbEJRVTBzUzBGQlVXaERMRVZCUVVWdlNTeE5RVUZSTEVsQlFVMUhMRWRCU1dwRmRra3NSVUZCUlhsRExGZEJRVmtzWlVGQmEwSXNWMEZKTDBJc1QwRklUV2RITEVkQlEwdzViVU1zUlVGQlQyOUVMRTFCUVU5M2FrTXNSVUZCWlN4dFFrRkZka0pGTEVWQlFXMUNMRWxCU1ROQ2Vra3NSVUZCUld0Q0xGVkJRVmNzUjBGQlRTeFBRVWR1UW5OSUxFVkJRV00zY0VNc1JVRkJVVFJ3UXl4SFFVTjBRalZ3UXl4RlFVRlJOSEJETEVkQlFXbENMRmRCUTNoQ1JTeEZRVUZ2UW5oc1F5eFhRVWx5UW0wclFpeEZRVUZOYm10Q0xFOUJRVkVzWjBKQlIxRjRXU3hKUVVGb1FpdHFReXhGUVVOS04yMURMRVZCUVZGb1JDeEhRVUZUTUN0Q0xGZEJRVmxyVEN4SFFVazNRalZ3UXl4RlFVRlJOSEJETEVkQlFXbENReXhGUVVseVFuaEpMRVZCUVVkMVNTeExRVWRRZGtrc1JVRkJSWEZKTEdOQlFXZENReXhGUVVGcFFrUXNZMEZIYmtOSUxFZEJRV0V4YjBNc1MwRkJUU3R2UXl4SlFVbG1SU3hIUVVGeFFuaHZReXhGUVVGWmRXOURMRWxCUTNKRFFTeEZRVUZoUXl4RlFVRnRRaXhKUVVkcVEwRXNSVUZCYjBKRUxFOUJRV012YWtNc1NVRkpOVUlzVjBGWlZIcEZMRVZCUVZFeWIwTXNjVUpCUTBoMGEwSXNSMEZCVHpkc1FpeEZRVUZUYjNGRExHVkJRV1ZFTEcxQ1FVRnZRaXhKUVVGTGRHdENMRTFCUTNaRU4xVXNWVUZCV1N3MlFrRkRhVUlzU1VGQk0wSTJWU3hIUVVGTGJGb3NWMEZCVjJ4S0xGRkJVWGhDVGl4RlFVRlBORmdzVlVGQldTeFRRVUZWSzBnc1JVRkJUWHBtTEVWQlFWTm5ia01zUjBGRE0wTXNUVUZCY1VJc2FVSkJRVlIyYmtJc1JVRkRTaXhKUVVWblFpeHJRa0ZCV25wbUxFbEJRMWhuYmtNc1JVRkJZMmh1UXl4RlFVTmtRU3hIUVVGVkxFZEJTMHhCTEVsQlNVRTNRaXhGUVVGUk1tOURMSEZDUVUxYWJucENMRWRCVEVFelZDeEZRVUZWY2tRc1JVRkJVMjl4UXl4bFFVRmxSQ3h0UWtGQmIwSXNTMEZMZGtONmJrTXNZMEZCWlN4VFFVTjZRbWxVTEV0QlFVOHpWaXhGUVVGVGMxWXNVMEZCVTBzc1MwRkRPVUowVXl4RlFVRlJVQ3hMUVVGTFF5eFpRVUZoYVZVc1NVRkZNVUl6VkN4RlFVRlZja1FzUjBGTFdqUnVRaXhIUVVGWGVXbENMRWRCUVdVc1NVRkVNVUpETEVWQlFWTTFka0lzUlVGQlYzQk9MRXRCUVUxM1ZpeEpRVXRzUWl4RFFVRkZlbVlzUlVGQlVWZ3NZMEZCWlRSdVF5eEZRVUZSTEUxQlIzcERRU3hGUVVGVE0ybENMRWRCUVdVc1EwRkJSVGRGTEVkQlFWRjZaaXhGUVVGVGRXdENMRWRCUlhSRFFTeEhRVUZYUVN4RlFVRlJibXRDTEZGQlEzWkNUaXhGUVVGUmVXdENMRWRCUVZVelNpeFRRVWRhT1dFc1JVRkJUMmRDTEUxQlFVOHNSMEZCU1cxdFF5eEZRVUZQTXpsQ0xHTkJiRU5vUXl4SlFVRkpjVXNzUlVGQlRYTjZRaXhGUVVGUk1XbENMRWRCZVVOdVFucHJRaXhGUVVGUFJ5eEhRVUZITUc5Q0xFdEJRVThzVTBGQlZYZFlMRVZCUVVzclJ5eEZRVUZSYW0xRExFZEJRM1pETEVsQlFVbHNRaXhGUVVGVmNrSXNSVUZCVFN0clF5eEZRVU51UW1welFpeEZRVUZQZW1Fc1MwRkRVRFJ2UWl4RlFVRk5kMkVzUlVGQlNYWnBReXhSUVVGVExFdEJjMFJ3UWl4UFFYQkVTeXR1UWl4SFFVRlBMRWxCUTFnMWJFSXNSVUZCVjNNM1FpeEhRVUZyUWpoRkxFVkJRVWs1YVVNc1RVRkJUM052UWl4SlFVTjRRM2RoTEVWQlFVMUJMRVZCUVVrNWFVTXNUVUZCVHl4RlFVRkhjMjlDTEVsQlNXaENkbTVDTEVWQlFWazRiME1zU1VGSGFFSnFiVU1zUlVGQlYybHRReXhGUVVOWVFTeFBRVUZUZEd0RExFZEJSMFZ6YTBNc1IwRkJORUlzYVVKQlFWaEJMRWxCUXpWQ2VHOURMRVZCUVU4c1VVRkpTRGhaTEVWQlFVdHdXQ3hQUVVGVExFZEJRMnhDVGl4RlFVRlBkV2hETEV0QlFVMHNRMEZEV214Q0xFbEJRVXRCTEVWQlMweDZhRU1zUzBGQlRVRXNSMEZCVVN4TlFVTmtNR2RETEZOQlFWVXNUMEZEVmpObUxFdEJRVTE1YmtJc1NVRkRTSFpvUXl4TFFVRk5MRk5CUVZWdlowTXNSMEZIYmtKMFF5eEZRVUZYY21sRExGVkJSVmh2Vnl4RlFVRkxhVllzUzBGQlRURnpRaXhGUVVsV1JDeEZRVUZSTEZOQlFWVnhkRUlzVDBGQlVYSjBRaXhGUVVGUE5GZ3NWVUZCVjNGMVFpeEpRVUZwUW5vMFFpeExRVUZOZGs0c1IwRkhia1ZuYlVNc1MwRkxSVE54UWl4UFFVRlJibUVzUjBGQldTeFRRVUZWY3l0Q0xFVkJRVTl0UkN4SFFVTjRRMnh5UWl4RlFVRkxlRmNzUzBGQlRTeFhRVU5XUXl4RlFVRlRka1FzVFVGQlQxZ3NTMEZCVFRCdFF5eEhRVUZaTEVOQlFVVnNSU3hGUVVGTmQwY3NZVUZCWTNKRUxFVkJRVkZ1UkN4UlFVczFSSGhwUXl4TlFVMVNLME1zUlVGQlR6WlBMRXRCUVV0b1NTeFJRVUZSZDJkRExGTkJRVmNzVTBGQlZXaHRReXhIUVVONFF5eFBRVUZQY2tJc1JVRkJUekpDTEV0QlFVMHpRaXhGUVVGUE5qVkNMRTlCUVZFc1UwRkJWVEUxUWl4SFFVTTFReXhQUVVGUGEwSXNTVUZCVTJ4Q0xFVkJRVWRyUWl4UFFVTm9RbVlzVVVGTlRFNHNSVUZCVDNOdVF5eFBRVUZUTEVOQlEyWkRMRlZCUVZjc1UwRkJWV3h0UXl4RlFVRk5aU3hGUVVGVGFFUXNSMEZEYmtNc1NVRkJTVzl2UXl4RlFVRmhReXhGUVVGVFF5eEZRVUZYUXl4RlFVRlJReXhGUVVGWFF5eEZRVU4yUkM5WUxFVkJRVmM1ZGtJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNXVUZETjBKNWJVTXNSVUZCVlRsdVF5eEZRVUZSY1VJc1IwRkRiRUkyYmtJc1JVRkJVU3hIUVVkVExGZEJRV0kwUnl4SlFVTktlblZDTEVWQlFVdHhaMElzVFVGQlRXOVBMRk5CUVZjc1dVRkhka0k0V0N4RlFVRlpSU3hGUVVGUlVpeFRRVU53UWtrc1JVRkJXVEZ1UXl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFBRVU01UW5kdFF5eEZRVUZoTjI1RExFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUTBrc1lVRkJZbmwxUWl4SFFVRjNReXhWUVVGaVFTeExRVU01UXpSWUxFVkJRVmxITEVkQlFXRXZjRU1zVVVGQlV5eFRRVUZaTEVkQlRXaEVObkJETEVkQlJFRklMRVZCUVdOTkxFVkJRVkZvV1N4WlFVTkVMMmxDTEVsQlEzSkNNRFpDTEVWQlFWVkVMRVZCUVZsNlV5eFBRVWQwUWpSVExFVkJRVk40V0N4WFFVRlpkVmdzU1VGQlpTeEZRVU53UTBRc1JVRkJWWFJZTEZkQlFWa3dXQ3hKUVVGblFpeEhRVWRzUTNad1F5eEZRVUZaT0VRc1MwRkhhRUpCTEVWQlFWVkJMRVZCUVZFeFJTeExRVUZOTWtRc1JVRkJUV3BETEVWQlFVZFpMRVZCUVU5dFF5eFBRVUZSTEVkQlFVbDViRU1zUzBGSGFrTXNUVUZCWm5oc1F5eEZRVUZSTWtzc1RVRkRXbTFqTEVWQlFVMXVZeXhKUVVGUk0wc3NSVUZCVVRKTExFbEJRVTAyTmtJc1JVRkJWVGMyUWl4SlFVRlJORFpDTEVkQlJURkNMRTFCUVdoQ2RteERMRVZCUVZFeWVVSXNUMEZEV2pkTUxFVkJRVTAyVEN4TFFVRlRNM2xDTEVWQlFWRXllVUlzUzBGQlR6WlRMRVZCUVZVM1V5eExRVUZUTUZNc1IwRkhOME1zVlVGQlYzSnNReXhGUVVObVFTeEZRVUZSTW14RExFMUJRVTF5Y1VNc1MwRkJUVEpFTEVWQlFVMDJia0lzUjBGSE1VSTBaU3hGUVVGUmJHMUNMRWxCUVV0elNDeExRVXRvUW14d1FpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVWRxUW0xc1F5eFBRVUZSTEZOQlFWVnNiRU1zUjBGSGFrSXNSMEZCUzJRc1ZVRkJWV2hDTEU5QlEyUXNXVUZCYlVKM1F5eEpRVUZhVml4RlFVTk9ia1lzUzBGRFFVRXNTMEZCUzJsRkxFdEJRVTBzVTBGQlZUbENMRWRCUTNCQ1dTeEZRVUZQYzI1RExFOUJRVTlETEZWQlFWZDBjVU1zUzBGQlRXMUdMRVZCUVZOb1JDeExRVWt6UXl4SlFVRkpORzlETEVWQlFVMURMRVZCUTFRMWJVTXNSVUZCVDNCRkxFdEJRVTBzUjBGRlpDeFBRVUZOYjBVc1JVRlJRVUVzUlVGQlN6WjRRaXhwUWtGQmFVSTFlVUlzVVVGTE5VSXdia01zUlVGQlR6TnRReXhGUVVGTGQzcENMSGRDUVVOYWIxUXNSVUZCVFRWdFF5eEZRVUZMTmtrc1kwRkJZelJETEZsQlEyeENMRU5CUTA1RExFbEJRVXRwTjBJc1JVRkJTMm8zUWl4SlFVRk5hemRDTEVWQlFVbERMRmxCUTNCQ2JsUXNTMEZCVFdsVUxFVkJRVXRxVkN4TFFVRlBhMVFzUlVGQlNVVXNZMEZTWml4RFFVRkZjRGRDTEVsQlFVc3NSVUZCUjJkdlFpeExRVUZOTEZGQlZIaENMRWRCZFVKRWFrWXNVMEZCVlN4WFFVTlVMRWRCUVUwM2VVSXNTMEZCVFN4SFFVRmFMRU5CU1VFc1NVRkJTVzF5UXl4RlFVRmpaQ3hGUVVGUmJtOURMRVZCUTNwQ2EwTXNSVUZCVDNCRkxFdEJRVTBzUjBGRFltOXlReXhGUVVGbExFTkJRVVYwTjBJc1NVRkJTeXhGUVVGSFoyOUNMRXRCUVUwc1IwRkhhRU1zUjBGQmQwTXNWVUZCYmtNdk1FSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzV1VGSGRFSnBiVU1zUlVGQlUycHRReXhGUVVGTGQzcENMRFJDUVVWU0xFTkJUMDRzU1VGT1FYbFRMRVZCUVZOeWNVTXNTMEZCUzNGeFF5eFRRVWxrYm05RExFVkJRVTFyUXl4RlFVRkxOa2tzWTBGRFdHc3JRaXhGUVVGbEwyMURMRVZCUVVzcmJVTXNZMEZCWjBKcWNFTXNSVUZCU1hkT0xHZENRVU5vUTNrM1FpeEpRVU5NUVN4SlFVRnBRbXB3UXl4RlFVRkpkV3BDTEUxQlFWRXdiRUlzU1VGQmFVSnFjRU1zUlVGQlNYZE9MR3RDUVVOVUxGZEJRVE5ETTAwc1JVRkJUelJvUWl4SlFVRkxkMjFDTEVWQlFXTXNZVUZGTVVKQkxFVkJRV1ZCTEVWQlFXRjJiME1zVjBGRmVFSjFiME1zUjBGQlowSkJMRWxCUVdsQ0wyMURMRWRCUVd0RExFbEJRVEZDSzIxRExFVkJRV0UxY0VNc1dVRkhNVVEyY0VNc1JVRkJaWEp2UXl4RlFVRlJiMjlETEVkQlFXVmtMRlZCUTNwQ2RqWkNMRXRCUVU4dlRTeEZRVUZQTkdoQ0xFbEJRVXQzYlVJc1JVRkJZeXhyUWtGQmEwSXNSMEZEYUVWRExFVkJRV0YwVkN4TlFVRlJMekJDTEVWQlFVODBhRUlzU1VGQlMzZHRRaXhGUVVGakxHMUNRVUZ0UWl4SlFVdHdSU3hOUVVGUExFTkJRMDV5TjBJc1NVRkJTM1UyUWl4RlFVRlBkalpDTEVsQlFVMXpOMElzUlVGQllYUTNRaXhKUVVGTkwwMHNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzWVVGQllTeEhRVU53UlRCNlFpeExRVUZOZFZNc1JVRkJUM1pUTEV0QlFVOXpWQ3hGUVVGaGRGUXNTMEZCVHk4d1FpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hqUVVGakxFMUJZekZGSzIxRExHRkJRV01zVjBGRFlpeFBRVUZQYm5KRExFdEJRVXR0UlN4SlFVRkxMRmRCUjJoQ0xFbEJSa0VzU1VGQlNXZHVReXhGUVVGbGJuSkRMRXRCUVV0dGNrTXNZVUZGYUVKQkxFZEJRVEpFTEZkQlFUTkRjRzlETEVWQlFVODBhRUlzU1VGQlMzZHRRaXhGUVVGakxHRkJRMnBFUVN4RlFVRmxRU3hGUVVGaFFTeGhRVWMzUWl4UFFVRlBRU3hIUVVGblFubzNRaXhSUVUweFFqTk5MRVZCUVU5clFpeExRVUZOTEVOQlFVVXJNRUlzVjBGQldTeGpRVUZsUkN4VlFVRlhMR1ZCUVdsQ0xGTkJRVlZ3WXl4RlFVRlJaMGNzUjBGRGRrWXNTVUZCU1RkVExFVkJRVTBzWjBKQlFXdENObE1zUlVGRk5VSTFaaXhGUVVGUFJ5eEhRVUZKZVZvc1IwRkJWeXhUUVVGVmRtRXNSMEZETDBJc1QwRkJUMmxtTEVWQlFWRnlhRUlzUzBGQlRTeFRRVUZWYjBVc1JVRkJUWFZaTEVWQlFWRjJZU3hIUVVjMVF5eEpRVUZKTkc5RExFVkJUMG9zUjBGT1MzWndReXhGUVVGVk1rTXNSMEZEWkRSdFF5eEZRVUZOTlcxRExFVkJRM1ZDTEVsQlFXeENRU3hGUVVGTE4wTXNWMEZEYUVKNWNFTXNSVUZCVFRWdFF5eEZRVUZMZVV3c2EwSkJSME5vU3l4SlFVRlNla1FzUlVGRFNpeFBRVUZQTkc5RExFVkJRVTFCTEVWQlFVdHliMElzUjBGQlUzWmxMRVZCUVUxMVdTeEhRVWMzUW5GMVFpeEZRVU5LUVN4RlFVRkpTeXhUUVVOR2RqZENMRVZCUVZsck4wSXNSVUZCU1VVc1dVRkJWamx2UXl4RlFVTlFNRTRzUlVGQlRURk9MRVZCUVUwMGIwTXNSVUZCU1VNc1lVRkpha0kzYlVNc1JVRkJUWFZaTEVkQlFWZDJZU3hIUVVWb1FuVmhMRVZCUVZGMllTeEZRVUZMYVVNc1ZVRkJWV2hDTEZkQlZUVkNUaXhGUVVGUGEwSXNTMEZCVFN4RFFVRkZMRTFCUVU4c1VVRkJWU3hUUVVGVmMwUXNSVUZCU1c5aUxFZEJRemRETldZc1JVRkJUM0Y2UWl4VFFVRlZlbFFzUjBGQlUyOVFMRWRCUVdNemQwSXNSVUZCVVcxNVFpeGpRVU12UXl4VFFVRlZiblpDTEVWQlFVMXhkRUlzUjBGRFppeEhRVUZMUVN4RlFVbEtMRTlCU0VGQkxFVkJRVmRFTEVkQlFWRndkRUlzUlVGQlRYVmxMRWRCUjJ4Q2MwOHNSMEZCVlhwcVFpeExRVUZOYVd0Q0xFZEJRM1JDTVhWQ0xFVkJRVkZ4UWl4SFFVRlBlWFZDTEZkQlFWbHNVU3hIUVVGVExFdEJRM0JET0U4c1RVRlJUREYxUWl4RlFVRlBhMElzUzBGQlRTeERRVUZGY1c1RExFOUJRVkVzVTBGQlZVTXNUVUZCVHl4VFFVRlhMRk5CUVZWdWJVTXNSVUZCVFhwRUxFZEJRMnhGYjBJc1JVRkJUMnRDTEV0QlFVMHNRMEZEV2l0NlFpeFJRVUZUTEZGQlFWVTFlVUlzUlVGRGJrSTBWeXhSUVVGVGNtRXNSVUZEVkRad1F5eEhRVUZKTEZGQlFWVndiVU1zUjBGRFdpeFRRVUZWY1cxRExFVkJRV05ETEVkQlJ6RkNNMjlETEVWQlFVOUhMRWRCUVVsM2IwTXNSMEZCWVN4VFFVRlZNMVFzUlVGQlVUZDNRaXhIUVVONlF5eEpRVUZKYjJFc1JVRkJXV3BrTEZWQlFWVm9RaXhUUVVGWmIyOURMRWRCUVd0RExHdENRVUZZTVZRc1IwRkROVVJ3UXl4RlFVRlJPRllzUzBGQk5rSXNTVUZCV0RGVUxFbEJRVFpDTEVsQlFWWTNkMElzUlVGQmFVSXNVMEZCVnl4VlFVVXhSU3hQUVVGUGJXRXNSVUZCVVhKb1FpeExRVUZOTEZOQlFWVnZSU3hGUVVGTmVrTXNSVUZCVFhWR0xFZEJRekZETEVsQlFVbG9SaXhGUVVWS0xFOUJRVXRVTEVWQlFWVXlReXhIUVVkNVFpeEpRVUZvUTNOdVF5eEZRVUZUTjNGRExGRkJRVk1zVTBGRGVFSjFSQ3hGUVVGTkxGRkJRVlZuUWl4SFFVTm9RbWhDTEVWQlFVdDRSU3hUUVVGVE9GQXNaMEpCUVdsQ0xGTkJRVmQwU3l4SFFVbHlRaXhKUVVGc1FtaENMRVZCUVVzM1F5eFZRVU5VVnl4RlFVRk5hME1zUlVGQlMzTk1MR2RDUVVsS00wb3NTMEZCUzNGMlFpeEpRVU5ZYUhoQ0xFVkJRVXR4YUVJc1MwRkJUU3hUUVVGWGNtZENMRWRCUVZGc1JDeEZRVUZMTEZOQlFWZHJSQ3hIUVVNNVEyaENMRVZCUVV0eGFFSXNTMEZCVFN4VFFVRlhjbWRDTEVkQlFWRnNSQ3hGUVVGTExGTkJRVmRyUkN4SFFVTTVRMnhFTEVWQlFVc3NVMEZCVjJ0RUxGVkJTVVJUTEVsQlFWWnhRaXhGUVVkT2JrVXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTE2UXl4RlFVRk5aekJDTEVkQlIzaENOWGxDTEVWQlFVOHdhRUlzVFVGQlQzSm5RaXhGUVVGTmVrTXNSVUZCVFhWR0xFVkJRVTk1ZFVJc1NVRkRhRU5vTUVJc1JVRkJUVEptTEVWQlFWbDVWeXhQUVVGVGJIbENMRVZCUVZkNVlpeFJRVTAxUTNabExFVkJRVTlyUWl4TFFVRk5MRU5CUTFvc1dVRkRRU3hYUVVOQkxHVkJRMEVzV1VGRFFTeGpRVU5CTEZsQlEwVXNVMEZCVlhORUxFVkJRVWsxUml4SFFVTm9RbTlDTEVWQlFVOUhMRWRCUVVsMlFpeEhRVUZUTEZOQlFWVjFRaXhIUVVNM1FpeFBRVUZQYkVRc1MwRkJTM1Z2UWl4SFFVRkpOVzFDTEVWQlFVMTFRaXhOUVU5NFFrZ3NSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZGYWtKbk1rSXNTMEZCVFN4VFFVRlZNVk1zUlVGQlR6bEdMRVZCUVUxNFppeEhRVU0xUWl4UFFVRlBiRVFzUzBGQlMzVnZRaXhIUVVGSlF5eEZRVUZQTEV0QlFVMDVSaXhGUVVGTmVHWXNTVUZGY0VONWIwTXNUMEZCVVN4VFFVRlZibXBDTEVWQlFVOTBiRUlzUjBGRGVFSXNUMEZCVDJ4RUxFdEJRVXMwYjBJc1NVRkJTMG9zUlVGQlR5eExRVUZOZEd4Q0xFbEJSeTlDTUc5RExGTkJRVlVzVTBGQlZUVnZReXhGUVVGVmQyeENMRVZCUVU4NVJpeEZRVUZOZUdZc1IwRkRNVU1zVDBGQlQyeEVMRXRCUVV0MWIwSXNSMEZCU1VNc1JVRkJUM2hzUWl4RlFVRlZNR1lzUlVGQlRYaG1MRWxCUlhoRE1tOURMRmRCUVZrc1UwRkJWVGR2UXl4RlFVRlZkMnhDTEVWQlFVOTBiRUlzUjBGSGRFTXNUMEZCTkVJc1NVRkJja0p0UWl4VlFVRlZhRUlzVDBGRGFFSnlSQ3hMUVVGTE5HOUNMRWxCUVVzMWJFSXNSVUZCVlN4TlFVTndRbWhFTEV0QlFVczBiMElzU1VGQlMwb3NSVUZCVDNoc1FpeEhRVUZaTEV0QlFVMUZMRWxCUjNKRE5HOURMRTFCUVU4c1UwRkJWVU1zUlVGQlVVTXNSMEZEZUVJc1QwRkJUMmh6UXl4TFFVRkxjWFZDTEZkQlFWa3daQ3hIUVVGVGVtUXNWMEZCV1RCa0xFZEJRVk5FTEUxQlNYaEVhSEJETEVWQlFVOXJRaXhMUVVOT0xIZE1RVVUwUkhGRUxFMUJRVThzUzBGRGJrVXNVMEZCVlVNc1JVRkJTVzVETEVkQlIySnlReXhGUVVGUFJ5eEhRVUZKYTBNc1IwRkJVeXhUUVVGVmMyUXNSVUZCVFhobUxFZEJRMjVETEU5QlFVOXRRaXhWUVVGVmFFSXNUMEZCVXl4RlFVTjZRbkpFTEV0QlFVdDFiMElzUjBGQlNXNXFRaXhGUVVGTkxFdEJRVTF6WkN4RlFVRk5lR1lzUjBGRE0wSnNSQ3hMUVVGTGNYQkNMRkZCUVZOcWEwSXNUVUZWYkVJc1NVRkJTVEpGTEVkQlFWRXNjVU5CVFZwb1NDeEZRVUZQYTNCRExFMUJRVkVzVTBGQlZTOXZReXhGUVVGSlJDeEhRVU0xUWl4SlFVRkplVTRzUlVGQlN6WkVMRVZCUVUwd00wSXNSVUZWWml4SFFWSjNRaXhwUWtGQldtaHdReXhKUVVOWWVVNHNSVUZCVFhoT0xFVkJRVWxFTEVkQlExWkJMRVZCUVZWRExFVkJRMVpCTEVWQlFVdDNUaXhIUVV0QmNsQXNSVUZCV1RaQ0xFZEJZV3hDTEU5QlVrRnhVaXhGUVVGUGFsVXNSVUZCVFVjc1MwRkJUVFJFTEZWQlFWY3NTVUZET1VJMGJrTXNSVUZCVVN4WFFVTlFMRTlCUVU4dmIwTXNSVUZCUjNaRExFMUJRVTl6UXl4SFFVRlhha1FzUzBGQlRYVlZMRVZCUVVzM1ZDeFBRVUZSU2l4RlFVRk5SeXhMUVVGTk5FUXNaVUZKZEVRNFF5eExRVUZQYWtVc1JVRkJSMmxGTEV0QlFVOXFSU3hGUVVGSGFVVXNUVUZCVVhCRkxFVkJRVTl2UlN4UFFVVnNRemhyUXl4SFFVZFNiSEJETEVWQlFVOXRjRU1zVlVGQldTeFRRVUZWUXl4SFFVTjJRa0VzUlVGRFNuQndReXhGUVVGUGEyVXNXVUZGVUd4bExFVkJRVTgyV0N4UFFVRlBMRWxCUjJoQ04xZ3NSVUZCVHpaRExGRkJRVlZFTEUxQlFVMURMRkZCUTNaQ04wTXNSVUZCVDNGd1F5eFZRVUZaYkhCQ0xFdEJRVXRETEUxQlEzaENjR2RDTEVWQlFVOXhTaXhUUVVGWFFTeEZRVU5zUW5KS0xFVkJRVTh4UWl4WFFVRmhRU3hGUVVOd1FqQkNMRVZCUVU5MFFpeFRRVUZYUVN4RlFVTnNRbk5DTEVWQlFVOXJaaXhWUVVGWlFTeEZRVU51UW14bUxFVkJRVTl3UWl4TFFVRlBiVUlzUlVGRlpFTXNSVUZCVDNWd1FpeEpRVUZOTjJwQ0xFdEJRVXMyYWtJc1NVRkZiRUoyY0VJc1JVRkJUM053UXl4VlFVRlpMRk5CUVZVdmNVTXNSMEZMTlVJc1NVRkJTVXNzUlVGQlQyOUNMRVZCUVU5d1FpeExRVUZOVEN4SFFVTjRRaXhQUVVGclFpeFhRVUZVU3l4SFFVRTRRaXhYUVVGVVFTeExRVXMxUWpKeFF5eE5RVUZQYUhKRExFVkJRVTAwZUVJc1YwRkJXVFY0UWl4TFFVYzFRbmxDTEVWQlFVOTNjRU1zUzBGQlR5eFRRVUZWYUhGRExFZEJRM1pDTEU5QlFXVXNUVUZCVWtFc1JVRkRUaXhKUVVORlFTeEZRVUZQTEVsQlFVc3dSQ3hSUVVGVE9FUXNSMEZCVHl4TFFXdENWQ3h0UWtGQldIbHBReXhSUVVGNVFrRXNUMEZCVDBNc1MwRkRNME5FTEU5QlFWRXNVMEZCVlN4SFFVRkpMRmRCUTNKQ0xFOUJRVTk2Y0VNc1NVRlBWQ3hKUVVkRE1uQkRMRWRCUVZVemMwTXNSVUZCVDJkRUxFOUJSMnBDTkhCRExFZEJRVXMxYzBNc1JVRkJUelp6UXl4RlFYZENZaXhQUVhSQ1FUZHdReXhGUVVGUE9IQkRMRmRCUVdFc1UwRkJWWEJ1UXl4SFFWTTNRaXhQUVZKTE1VWXNSVUZCVHpaelF5eEpRVUZOTjNCRExFbEJRMnBDYUVRc1JVRkJUelp6UXl4RlFVRkpSQ3hKUVVkUWJHNURMRWRCUVZFeFJpeEZRVUZQWjBRc1UwRkJWMEVzU1VGRE9VSm9SQ3hGUVVGUFowUXNUMEZCVXpKd1F5eEpRVWRXTTNCRExGRkJUV2xDTEVsQlFXSTVReXhKUVVOWVJpeEZRVUZQWjBRc1QwRkJVMmhFTEVWQlFVODJjME1zUlVGQlNUZHdReXhIUVUxeVFrRWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5cWNYVmxjbmt2WkdsemRDOXFjWFZsY25rdWFuTWlmUT09IiwiIWZ1bmN0aW9uKHQpe3QucGFyc2VyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBzKHQsZSl9LHQuU0FYUGFyc2VyPXMsdC5TQVhTdHJlYW09bix0LmNyZWF0ZVN0cmVhbT1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgbih0LGUpfSx0Lk1BWF9CVUZGRVJfTEVOR1RIPTY1NTM2O3ZhciBlLGk9W1wiY29tbWVudFwiLFwic2dtbERlY2xcIixcInRleHROb2RlXCIsXCJ0YWdOYW1lXCIsXCJkb2N0eXBlXCIsXCJwcm9jSW5zdE5hbWVcIixcInByb2NJbnN0Qm9keVwiLFwiZW50aXR5XCIsXCJhdHRyaWJOYW1lXCIsXCJhdHRyaWJWYWx1ZVwiLFwiY2RhdGFcIixcInNjcmlwdFwiXTtmdW5jdGlvbiBzKGUsYSl7aWYoISh0aGlzIGluc3RhbmNlb2YgcykpcmV0dXJuIG5ldyBzKGUsYSk7IWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHM9aS5sZW5ndGg7ZTxzO2UrKyl0W2lbZV1dPVwiXCJ9KHRoaXMpLHRoaXMucT10aGlzLmM9XCJcIix0aGlzLmJ1ZmZlckNoZWNrUG9zaXRpb249dC5NQVhfQlVGRkVSX0xFTkdUSCx0aGlzLm9wdD1hfHx7fSx0aGlzLm9wdC5sb3dlcmNhc2U9dGhpcy5vcHQubG93ZXJjYXNlfHx0aGlzLm9wdC5sb3dlcmNhc2V0YWdzLHRoaXMubG9vc2VDYXNlPXRoaXMub3B0Lmxvd2VyY2FzZT9cInRvTG93ZXJDYXNlXCI6XCJ0b1VwcGVyQ2FzZVwiLHRoaXMudGFncz1bXSx0aGlzLmNsb3NlZD10aGlzLmNsb3NlZFJvb3Q9dGhpcy5zYXdSb290PSExLHRoaXMudGFnPXRoaXMuZXJyb3I9bnVsbCx0aGlzLnN0cmljdD0hIWUsdGhpcy5ub3NjcmlwdD0hKCFlJiYhdGhpcy5vcHQubm9zY3JpcHQpLHRoaXMuc3RhdGU9RC5CRUdJTix0aGlzLnN0cmljdEVudGl0aWVzPXRoaXMub3B0LnN0cmljdEVudGl0aWVzLHRoaXMuRU5USVRJRVM9dGhpcy5zdHJpY3RFbnRpdGllcz9PYmplY3QuY3JlYXRlKHQuWE1MX0VOVElUSUVTKTpPYmplY3QuY3JlYXRlKHQuRU5USVRJRVMpLHRoaXMuYXR0cmliTGlzdD1bXSx0aGlzLm9wdC54bWxucyYmKHRoaXMubnM9T2JqZWN0LmNyZWF0ZShoKSksdGhpcy50cmFja1Bvc2l0aW9uPSExIT09dGhpcy5vcHQucG9zaXRpb24sdGhpcy50cmFja1Bvc2l0aW9uJiYodGhpcy5wb3NpdGlvbj10aGlzLmxpbmU9dGhpcy5jb2x1bW49MCksQyh0aGlzLFwib25yZWFkeVwiKX10LkVWRU5UUz1bXCJ0ZXh0XCIsXCJwcm9jZXNzaW5naW5zdHJ1Y3Rpb25cIixcInNnbWxkZWNsYXJhdGlvblwiLFwiZG9jdHlwZVwiLFwiY29tbWVudFwiLFwib3BlbnRhZ3N0YXJ0XCIsXCJhdHRyaWJ1dGVcIixcIm9wZW50YWdcIixcImNsb3NldGFnXCIsXCJvcGVuY2RhdGFcIixcImNkYXRhXCIsXCJjbG9zZWNkYXRhXCIsXCJlcnJvclwiLFwiZW5kXCIsXCJyZWFkeVwiLFwic2NyaXB0XCIsXCJvcGVubmFtZXNwYWNlXCIsXCJjbG9zZW5hbWVzcGFjZVwiXSxPYmplY3QuY3JlYXRlfHwoT2JqZWN0LmNyZWF0ZT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7fXJldHVybiBlLnByb3RvdHlwZT10LG5ldyBlfSksT2JqZWN0LmtleXN8fChPYmplY3Qua2V5cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiZlLnB1c2goaSk7cmV0dXJuIGV9KSxzLnByb3RvdHlwZT17ZW5kOmZ1bmN0aW9uKCl7dih0aGlzKX0sd3JpdGU6ZnVuY3Rpb24oZSl7aWYodGhpcy5lcnJvcil0aHJvdyB0aGlzLmVycm9yO2lmKHRoaXMuY2xvc2VkKXJldHVybiBSKHRoaXMsXCJDYW5ub3Qgd3JpdGUgYWZ0ZXIgY2xvc2UuIEFzc2lnbiBhbiBvbnJlYWR5IGhhbmRsZXIuXCIpO2lmKG51bGw9PT1lKXJldHVybiB2KHRoaXMpO1wib2JqZWN0XCI9PXR5cGVvZiBlJiYoZT1lLnRvU3RyaW5nKCkpO3ZhciBzPTAsYT1cIlwiO2Zvcig7YT1NKGUscysrKSx0aGlzLmM9YSxhOylzd2l0Y2godGhpcy50cmFja1Bvc2l0aW9uJiYodGhpcy5wb3NpdGlvbisrLFwiXFxuXCI9PT1hPyh0aGlzLmxpbmUrKyx0aGlzLmNvbHVtbj0wKTp0aGlzLmNvbHVtbisrKSx0aGlzLnN0YXRlKXtjYXNlIEQuQkVHSU46aWYodGhpcy5zdGF0ZT1ELkJFR0lOX1dISVRFU1BBQ0UsXCJcXHVmZWZmXCI9PT1hKWNvbnRpbnVlO0codGhpcyxhKTtjb250aW51ZTtjYXNlIEQuQkVHSU5fV0hJVEVTUEFDRTpHKHRoaXMsYSk7Y29udGludWU7Y2FzZSBELlRFWFQ6aWYodGhpcy5zYXdSb290JiYhdGhpcy5jbG9zZWRSb290KXtmb3IodmFyIG49cy0xO2EmJlwiPFwiIT09YSYmXCImXCIhPT1hOykoYT1NKGUscysrKSkmJnRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb24rKyxcIlxcblwiPT09YT8odGhpcy5saW5lKyssdGhpcy5jb2x1bW49MCk6dGhpcy5jb2x1bW4rKyk7dGhpcy50ZXh0Tm9kZSs9ZS5zdWJzdHJpbmcobixzLTEpfVwiPFwiIT09YXx8dGhpcy5zYXdSb290JiZ0aGlzLmNsb3NlZFJvb3QmJiF0aGlzLnN0cmljdD8obShhKXx8dGhpcy5zYXdSb290JiYhdGhpcy5jbG9zZWRSb290fHxQKHRoaXMsXCJUZXh0IGRhdGEgb3V0c2lkZSBvZiByb290IG5vZGUuXCIpLFwiJlwiPT09YT90aGlzLnN0YXRlPUQuVEVYVF9FTlRJVFk6dGhpcy50ZXh0Tm9kZSs9YSk6KHRoaXMuc3RhdGU9RC5PUEVOX1dBS0EsdGhpcy5zdGFydFRhZ1Bvc2l0aW9uPXRoaXMucG9zaXRpb24pO2NvbnRpbnVlO2Nhc2UgRC5TQ1JJUFQ6XCI8XCI9PT1hP3RoaXMuc3RhdGU9RC5TQ1JJUFRfRU5ESU5HOnRoaXMuc2NyaXB0Kz1hO2NvbnRpbnVlO2Nhc2UgRC5TQ1JJUFRfRU5ESU5HOlwiL1wiPT09YT90aGlzLnN0YXRlPUQuQ0xPU0VfVEFHOih0aGlzLnNjcmlwdCs9XCI8XCIrYSx0aGlzLnN0YXRlPUQuU0NSSVBUKTtjb250aW51ZTtjYXNlIEQuT1BFTl9XQUtBOmlmKFwiIVwiPT09YSl0aGlzLnN0YXRlPUQuU0dNTF9ERUNMLHRoaXMuc2dtbERlY2w9XCJcIjtlbHNlIGlmKG0oYSkpO2Vsc2UgaWYoXyhsLGEpKXRoaXMuc3RhdGU9RC5PUEVOX1RBRyx0aGlzLnRhZ05hbWU9YTtlbHNlIGlmKFwiL1wiPT09YSl0aGlzLnN0YXRlPUQuQ0xPU0VfVEFHLHRoaXMudGFnTmFtZT1cIlwiO2Vsc2UgaWYoXCI/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+PjEwKSxlPXIlMTAyNCs1NjMyMCxpLnB1c2godCxlKSksKHMrMT09PWF8fGkubGVuZ3RoPjE2Mzg0KSYmKG4rPWcuYXBwbHkobnVsbCxpKSxpLmxlbmd0aD0wKX1yZXR1cm4gbn0sT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcsXCJmcm9tQ29kZVBvaW50XCIse3ZhbHVlOkksY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6U3RyaW5nLmZyb21Db2RlUG9pbnQ9SSl9KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBleHBvcnRzP3RoaXMuc2F4PXt9OmV4cG9ydHMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OaGVDNXFjeUpkTENKdVlXMWxjeUk2V3lKellYZ2lMQ0p3WVhKelpYSWlMQ0p6ZEhKcFkzUWlMQ0p2Y0hRaUxDSlRRVmhRWVhKelpYSWlMQ0pUUVZoVGRISmxZVzBpTENKamNtVmhkR1ZUZEhKbFlXMGlMQ0pOUVZoZlFsVkdSa1ZTWDB4RlRrZFVTQ0lzSWxOMGNtVmhiU0lzSW1KMVptWmxjbk1pTENKMGFHbHpJaXdpYVNJc0ltd2lMQ0pzWlc1bmRHZ2lMQ0pqYkdWaGNrSjFabVpsY25NaUxDSnhJaXdpWXlJc0ltSjFabVpsY2tOb1pXTnJVRzl6YVhScGIyNGlMQ0pzYjNkbGNtTmhjMlVpTENKc2IzZGxjbU5oYzJWMFlXZHpJaXdpYkc5dmMyVkRZWE5sSWl3aWRHRm5jeUlzSW1Oc2IzTmxaQ0lzSW1Oc2IzTmxaRkp2YjNRaUxDSnpZWGRTYjI5MElpd2lkR0ZuSWl3aVpYSnliM0lpTENKdWIzTmpjbWx3ZENJc0luTjBZWFJsSWl3aVV5SXNJa0pGUjBsT0lpd2ljM1J5YVdOMFJXNTBhWFJwWlhNaUxDSkZUbFJKVkVsRlV5SXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJbGhOVEY5RlRsUkpWRWxGVXlJc0ltRjBkSEpwWWt4cGMzUWlMQ0o0Yld4dWN5SXNJbTV6SWl3aWNtOXZkRTVUSWl3aWRISmhZMnRRYjNOcGRHbHZiaUlzSW5CdmMybDBhVzl1SWl3aWJHbHVaU0lzSW1OdmJIVnRiaUlzSW1WdGFYUWlMQ0pGVmtWT1ZGTWlMQ0p2SWl3aVJpSXNJbkJ5YjNSdmRIbHdaU0lzSW10bGVYTWlMQ0poSWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKd2RYTm9JaXdpWlc1a0lpd2lkM0pwZEdVaUxDSmphSFZ1YXlJc0luUnZVM1J5YVc1bklpd2lZMmhoY2tGMElpd2lRa1ZIU1U1ZlYwaEpWRVZUVUVGRFJTSXNJbUpsWjJsdVYyaHBkR1ZUY0dGalpTSXNJbFJGV0ZRaUxDSnpkR0Z5ZEdraUxDSjBaWGgwVG05a1pTSXNJbk4xWW5OMGNtbHVaeUlzSW1selYyaHBkR1Z6Y0dGalpTSXNJbk4wY21samRFWmhhV3dpTENKVVJWaFVYMFZPVkVsVVdTSXNJazlRUlU1ZlYwRkxRU0lzSW5OMFlYSjBWR0ZuVUc5emFYUnBiMjRpTENKVFExSkpVRlFpTENKVFExSkpVRlJmUlU1RVNVNUhJaXdpYzJOeWFYQjBJaXdpUTB4UFUwVmZWRUZISWl3aVUwZE5URjlFUlVOTUlpd2ljMmR0YkVSbFkyd2lMQ0pwYzAxaGRHTm9JaXdpYm1GdFpWTjBZWEowSWl3aVQxQkZUbDlVUVVjaUxDSjBZV2RPWVcxbElpd2lVRkpQUTE5SlRsTlVJaXdpY0hKdlkwbHVjM1JPWVcxbElpd2ljSEp2WTBsdWMzUkNiMlI1SWl3aWNHRmtJaXdpUVhKeVlYa2lMQ0pxYjJsdUlpd2lkRzlWY0hCbGNrTmhjMlVpTENKRFJFRlVRU0lzSW1WdGFYUk9iMlJsSWl3aVkyUmhkR0VpTENKRFQwMU5SVTVVSWl3aVkyOXRiV1Z1ZENJc0lrUlBRMVJaVUVVaUxDSmtiMk4wZVhCbElpd2lhWE5SZFc5MFpTSXNJbE5IVFV4ZlJFVkRURjlSVlU5VVJVUWlMQ0pFVDBOVVdWQkZYMFJVUkNJc0lrUlBRMVJaVUVWZlVWVlBWRVZFSWl3aVJFOURWRmxRUlY5RVZFUmZVVlZQVkVWRUlpd2lRMDlOVFVWT1ZGOUZUa1JKVGtjaUxDSkRUMDFOUlU1VVgwVk9SRVZFSWl3aWRHVjRkRzl3ZEhNaUxDSkRSRUZVUVY5RlRrUkpUa2NpTENKRFJFRlVRVjlGVGtSSlRrZGZNaUlzSWxCU1QwTmZTVTVUVkY5RlRrUkpUa2NpTENKUVVrOURYMGxPVTFSZlFrOUVXU0lzSW01aGJXVWlMQ0ppYjJSNUlpd2libUZ0WlVKdlpIa2lMQ0p1WlhkVVlXY2lMQ0p2Y0dWdVZHRm5JaXdpVDFCRlRsOVVRVWRmVTB4QlUwZ2lMQ0pCVkZSU1NVSWlMQ0pqYkc5elpWUmhaeUlzSW1GMGRISnBZazVoYldVaUxDSmhkSFJ5YVdKV1lXeDFaU0lzSWtGVVZGSkpRbDlPUVUxRklpd2lRVlJVVWtsQ1gxWkJURlZGSWl3aVlYUjBjbWxpSWl3aVFWUlVVa2xDWDA1QlRVVmZVMEZYWDFkSVNWUkZJaXdpWVhSMGNtbGlkWFJsY3lJc0luWmhiSFZsSWl3aVFWUlVVa2xDWDFaQlRGVkZYMUZWVDFSRlJDSXNJa0ZVVkZKSlFsOVdRVXhWUlY5VlRsRlZUMVJGUkNJc0lrRlVWRkpKUWw5V1FVeFZSVjlGVGxSSlZGbGZVU0lzSWtGVVZGSkpRbDlXUVV4VlJWOURURTlUUlVRaUxDSnBjMEYwZEhKcFlrVnVaQ0lzSWtGVVZGSkpRbDlXUVV4VlJWOUZUbFJKVkZsZlZTSXNJa05NVDFORlgxUkJSMTlUUVZkZlYwaEpWRVVpTENKdWIzUk5ZWFJqYUNJc0luSmxkSFZ5YmxOMFlYUmxJaXdpWW5WbVptVnlJaXdpY0dGeWMyVkZiblJwZEhraUxDSmxiblJwZEhraUxDSmxiblJwZEhsQ2IyUjVJaXdpWlc1MGFYUjVVM1JoY25RaUxDSkZjbkp2Y2lJc0ltMWhlRUZzYkc5M1pXUWlMQ0pOWVhSb0lpd2liV0Y0SWl3aWJXRjRRV04wZFdGc0lpd2liR1Z1SWl3aVkyeHZjMlZVWlhoMElpd2liU0lzSW1Ob1pXTnJRblZtWm1WeVRHVnVaM1JvSWl3aWNtVnpkVzFsSWl3aVkyeHZjMlVpTENKbWJIVnphQ0lzSW5KbGNYVnBjbVVpTENKbGVDSXNJbk4wY21WaGJWZHlZWEJ6SWl3aVptbHNkR1Z5SWl3aVpYWWlMQ0poY0hCc2VTSXNJbDl3WVhKelpYSWlMQ0ozY21sMFlXSnNaU0lzSW5KbFlXUmhZbXhsSWl3aWJXVWlMQ0p2Ym1WdVpDSXNJbTl1WlhKeWIzSWlMQ0psY2lJc0lsOWtaV052WkdWeUlpd2labTl5UldGamFDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWMyVjBJaXdpYUNJc0luSmxiVzkyWlVGc2JFeHBjM1JsYm1WeWN5SXNJbTl1SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbU52Ym1acFozVnlZV0pzWlNJc0ltTnZibk4wY25WamRHOXlJaXdpWkdGMFlTSXNJa0oxWm1abGNpSXNJbWx6UW5WbVptVnlJaXdpVTBRaUxDSlRkSEpwYm1kRVpXTnZaR1Z5SWl3aWFHRnVaR3hsY2lJc0ltbHVaR1Y0VDJZaUxDSmhjbWR6SWl3aVlYSm5kVzFsYm5Seklpd2ljM0JzYVdObElpd2lZMkZzYkNJc0lsaE5URjlPUVUxRlUxQkJRMFVpTENKWVRVeE9VMTlPUVUxRlUxQkJRMFVpTENKNGJXd2lMQ0p5WldkbGVDSXNJblJsYzNRaUxDSnpkSEpwYm1kR2NtOXRRMmhoY2tOdlpHVWlMQ0ptYkc5dmNpSXNJbVp5YjIxRGIyUmxVRzlwYm5RaUxDSnpJaXdpVTFSQlZFVWlMQ0pEVDAxTlJVNVVYMU5VUVZKVVNVNUhJaXdpWVcxd0lpd2laM1FpTENKc2RDSXNJbkYxYjNRaUxDSmhjRzl6SWl3aVFVVnNhV2NpTENKQllXTjFkR1VpTENKQlkybHlZeUlzSWtGbmNtRjJaU0lzSWtGeWFXNW5JaXdpUVhScGJHUmxJaXdpUVhWdGJDSXNJa05qWldScGJDSXNJa1ZVU0NJc0lrVmhZM1YwWlNJc0lrVmphWEpqSWl3aVJXZHlZWFpsSWl3aVJYVnRiQ0lzSWtsaFkzVjBaU0lzSWtsamFYSmpJaXdpU1dkeVlYWmxJaXdpU1hWdGJDSXNJazUwYVd4a1pTSXNJazloWTNWMFpTSXNJazlqYVhKaklpd2lUMmR5WVhabElpd2lUM05zWVhOb0lpd2lUM1JwYkdSbElpd2lUM1Z0YkNJc0lsUklUMUpPSWl3aVZXRmpkWFJsSWl3aVZXTnBjbU1pTENKVlozSmhkbVVpTENKVmRXMXNJaXdpV1dGamRYUmxJaXdpWVdGamRYUmxJaXdpWVdOcGNtTWlMQ0poWld4cFp5SXNJbUZuY21GMlpTSXNJbUZ5YVc1bklpd2lZWFJwYkdSbElpd2lZWFZ0YkNJc0ltTmpaV1JwYkNJc0ltVmhZM1YwWlNJc0ltVmphWEpqSWl3aVpXZHlZWFpsSWl3aVpYUm9JaXdpWlhWdGJDSXNJbWxoWTNWMFpTSXNJbWxqYVhKaklpd2lhV2R5WVhabElpd2lhWFZ0YkNJc0ltNTBhV3hrWlNJc0ltOWhZM1YwWlNJc0ltOWphWEpqSWl3aWIyZHlZWFpsSWl3aWIzTnNZWE5vSWl3aWIzUnBiR1JsSWl3aWIzVnRiQ0lzSW5ONmJHbG5JaXdpZEdodmNtNGlMQ0oxWVdOMWRHVWlMQ0oxWTJseVl5SXNJblZuY21GMlpTSXNJblYxYld3aUxDSjVZV04xZEdVaUxDSjVkVzFzSWl3aVkyOXdlU0lzSW5KbFp5SXNJbTVpYzNBaUxDSnBaWGhqYkNJc0ltTmxiblFpTENKd2IzVnVaQ0lzSW1OMWNuSmxiaUlzSW5sbGJpSXNJbUp5ZG1KaGNpSXNJbk5sWTNRaUxDSjFiV3dpTENKdmNtUm1JaXdpYkdGeGRXOGlMQ0p1YjNRaUxDSnphSGtpTENKdFlXTnlJaXdpWkdWbklpd2ljR3gxYzIxdUlpd2ljM1Z3TVNJc0luTjFjRElpTENKemRYQXpJaXdpWVdOMWRHVWlMQ0p0YVdOeWJ5SXNJbkJoY21FaUxDSnRhV1JrYjNRaUxDSmpaV1JwYkNJc0ltOXlaRzBpTENKeVlYRjFieUlzSW1aeVlXTXhOQ0lzSW1aeVlXTXhNaUlzSW1aeVlXTXpOQ0lzSW1seGRXVnpkQ0lzSW5ScGJXVnpJaXdpWkdsMmFXUmxJaXdpVDBWc2FXY2lMQ0p2Wld4cFp5SXNJbE5qWVhKdmJpSXNJbk5qWVhKdmJpSXNJbGwxYld3aUxDSm1ibTltSWl3aVkybHlZeUlzSW5ScGJHUmxJaXdpUVd4d2FHRWlMQ0pDWlhSaElpd2lSMkZ0YldFaUxDSkVaV3gwWVNJc0lrVndjMmxzYjI0aUxDSmFaWFJoSWl3aVJYUmhJaXdpVkdobGRHRWlMQ0pKYjNSaElpd2lTMkZ3Y0dFaUxDSk1ZVzFpWkdFaUxDSk5kU0lzSWs1MUlpd2lXR2tpTENKUGJXbGpjbTl1SWl3aVVHa2lMQ0pTYUc4aUxDSlRhV2R0WVNJc0lsUmhkU0lzSWxWd2MybHNiMjRpTENKUWFHa2lMQ0pEYUdraUxDSlFjMmtpTENKUGJXVm5ZU0lzSW1Gc2NHaGhJaXdpWW1WMFlTSXNJbWRoYlcxaElpd2laR1ZzZEdFaUxDSmxjSE5wYkc5dUlpd2llbVYwWVNJc0ltVjBZU0lzSW5Sb1pYUmhJaXdpYVc5MFlTSXNJbXRoY0hCaElpd2liR0Z0WW1SaElpd2liWFVpTENKdWRTSXNJbmhwSWl3aWIyMXBZM0p2YmlJc0luQnBJaXdpY21odklpd2ljMmxuYldGbUlpd2ljMmxuYldFaUxDSjBZWFVpTENKMWNITnBiRzl1SWl3aWNHaHBJaXdpWTJocElpd2ljSE5wSWl3aWIyMWxaMkVpTENKMGFHVjBZWE41YlNJc0luVndjMmxvSWl3aWNHbDJJaXdpWlc1emNDSXNJbVZ0YzNBaUxDSjBhR2x1YzNBaUxDSjZkMjVxSWl3aWVuZHFJaXdpYkhKdElpd2ljbXh0SWl3aWJtUmhjMmdpTENKdFpHRnphQ0lzSW14emNYVnZJaXdpY25OeGRXOGlMQ0p6WW5GMWJ5SXNJbXhrY1hWdklpd2ljbVJ4ZFc4aUxDSmlaSEYxYnlJc0ltUmhaMmRsY2lJc0lrUmhaMmRsY2lJc0ltSjFiR3dpTENKb1pXeHNhWEFpTENKd1pYSnRhV3dpTENKd2NtbHRaU0lzSWxCeWFXMWxJaXdpYkhOaGNYVnZJaXdpY25OaGNYVnZJaXdpYjJ4cGJtVWlMQ0ptY21GemJDSXNJbVYxY204aUxDSnBiV0ZuWlNJc0luZGxhV1Z5Y0NJc0luSmxZV3dpTENKMGNtRmtaU0lzSW1Gc1pXWnplVzBpTENKc1lYSnlJaXdpZFdGeWNpSXNJbkpoY25JaUxDSmtZWEp5SWl3aWFHRnljaUlzSW1OeVlYSnlJaXdpYkVGeWNpSXNJblZCY25JaUxDSnlRWEp5SWl3aVpFRnljaUlzSW1oQmNuSWlMQ0ptYjNKaGJHd2lMQ0p3WVhKMElpd2laWGhwYzNRaUxDSmxiWEIwZVNJc0ltNWhZbXhoSWl3aWFYTnBiaUlzSW01dmRHbHVJaXdpYm1raUxDSndjbTlrSWl3aWMzVnRJaXdpYldsdWRYTWlMQ0pzYjNkaGMzUWlMQ0p5WVdScFl5SXNJbkJ5YjNBaUxDSnBibVpwYmlJc0ltRnVaeUlzSW1GdVpDSXNJbTl5SWl3aVkyRndJaXdpWTNWd0lpd2lhVzUwSWl3aWRHaGxjbVUwSWl3aWMybHRJaXdpWTI5dVp5SXNJbUZ6ZVcxd0lpd2libVVpTENKbGNYVnBkaUlzSW14bElpd2laMlVpTENKemRXSWlMQ0p6ZFhBaUxDSnVjM1ZpSWl3aWMzVmlaU0lzSW5OMWNHVWlMQ0p2Y0d4MWN5SXNJbTkwYVcxbGN5SXNJbkJsY25BaUxDSnpaRzkwSWl3aWJHTmxhV3dpTENKeVkyVnBiQ0lzSW14bWJHOXZjaUlzSW5KbWJHOXZjaUlzSW14aGJtY2lMQ0p5WVc1bklpd2liRzk2SWl3aWMzQmhaR1Z6SWl3aVkyeDFZbk1pTENKb1pXRnlkSE1pTENKa2FXRnRjeUlzSW10bGVTSXNJbVVpTENKVGRISnBibWNpTENKbWNtOXRRMmhoY2tOdlpHVWlMQ0psZG1WdWRDSXNJbTV2WkdWVWVYQmxJaXdpZEdWNGRDSXNJblJ5YVcwaUxDSnViM0p0WVd4cGVtVWlMQ0p5WlhCc1lXTmxJaXdpYldWemMyRm5aU0lzSW5CaGNtVnVkQ0lzSW5GdVlXMWxJaXdpWVhSMGNtbGlkWFJsSWl3aWNYVmhiRTVoYldVaUxDSnpjR3hwZENJc0luQnlaV1pwZUNJc0lteHZZMkZzSWl3aWNXNGlMQ0p6Wld4bVEyeHZjMmx1WnlJc0luVnlhU0lzSWtwVFQwNGlMQ0p6ZEhKcGJtZHBabmtpTENKd0lpd2libllpTENKcGMxTmxiR1pEYkc5emFXNW5JaXdpZEc5TWIzZGxja05oYzJVaUxDSjBJaXdpWTJ4dmMyVlVieUlzSW5CdmNDSXNJbmdpTENKdUlpd2liblZ0SWl3aVpXNTBhWFI1VEVNaUxDSnVkVzFUZEhJaUxDSnpiR2xqWlNJc0luQmhjbk5sU1c1MElpd2lhWE5PWVU0aUxDSnlaWE4xYkhRaUxDSm9hV2RvVTNWeWNtOW5ZWFJsSWl3aWJHOTNVM1Z5Y205bllYUmxJaXdpWTI5a1pWVnVhWFJ6SWl3aWFXNWtaWGdpTENKamIyUmxVRzlwYm5RaUxDSk9kVzFpWlhJaUxDSnBjMFpwYm1sMFpTSXNJbEpoYm1kbFJYSnliM0lpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZCUXl4VFFVRlhRU3hIUVVOV1FTeEZRVUZKUXl4UFFVRlRMRk5CUVZWRExFVkJRVkZETEVkQlFVOHNUMEZCVHl4SlFVRkpReXhGUVVGVlJpeEZRVUZSUXl4SlFVTnVSVWdzUlVGQlNVa3NWVUZCV1VFc1JVRkRhRUpLTEVWQlFVbExMRlZCUVZsQkxFVkJRMmhDVEN4RlFVRkpUU3hoUVhWTFNpeFRRVUYxUWtvc1JVRkJVVU1zUjBGRE4wSXNUMEZCVHl4SlFVRkpSU3hGUVVGVlNDeEZRVUZSUXl4SlFUZEtMMEpJTEVWQlFVbFBMR3RDUVVGdlFpeE5RVVY0UWl4SlFTdEpTVU1zUlVFdlNVRkRMRVZCUVZVc1EwRkRXaXhWUVVGWExGZEJRVmtzVjBGQldTeFZRVUZYTEZWQlF6bERMR1ZCUVdkQ0xHVkJRV2RDTEZOQlFWVXNZVUZETVVNc1kwRkJaU3hSUVVGVExGVkJkMEl4UWl4VFFVRlRUQ3hGUVVGWFJpeEZRVUZSUXl4SFFVTXhRaXhMUVVGTlR5eG5Ra0ZCWjBKT0xFZEJRM0JDTEU5QlFVOHNTVUZCU1VFc1JVRkJWVVlzUlVGQlVVTXNTVUYzUm1wRExGTkJRWFZDUml4SFFVTnlRaXhKUVVGTExFbEJRVWxWTEVWQlFVa3NSVUZCUjBNc1JVRkJTVWdzUlVGQlVVa3NUMEZCVVVZc1JVRkJTVU1zUlVGQlIwUXNTVUZEZWtOV0xFVkJRVTlSTEVWQlFWRkZMRWxCUVUwc1IwRjBSblpDUnl4RFFVUmhTaXhOUVVGQlFTeExRVVZPU3l4RlFVWk5UQ3hMUVVWTFRTeEZRVUZKTEVkQlJsUk9MRXRCUjA1UExHOUNRVUZ6UW1wQ0xFVkJRVWxQTEd0Q1FVaHdRa2NzUzBGSlRsQXNTVUZCVFVFc1IwRkJUeXhIUVVwUVR5eExRVXRPVUN4SlFVRkpaU3hWUVV4RlVpeExRVXRwUWxBc1NVRkJTV1VzVjBGTWNrSlNMRXRCUzNsRFVDeEpRVUZKWjBJc1kwRk1OME5VTEV0QlRVNVZMRlZCVGsxV0xFdEJUV0ZRTEVsQlFVbGxMRlZCUVZrc1kwRkJaMElzWTBGT04wTlNMRXRCVDA1WExFdEJRVThzUjBGUVJGZ3NTMEZSVGxrc1QwRlNUVm9zUzBGUlZXRXNWMEZTVm1Jc1MwRlJPRUpqTEZOQlFWVXNSVUZTZUVOa0xFdEJVMDVsTEVsQlZFMW1MRXRCVTA5blFpeE5RVUZSTEV0QlZHWm9RaXhMUVZWT1VpeFRRVUZYUVN4RlFWWk1VU3hMUVZkT2FVSXNXVUZCWTNwQ0xFbEJXRkpSTEV0QlYzbENVQ3hKUVVGSmQwSXNWVUZZTjBKcVFpeExRVmxPYTBJc1RVRkJVVU1zUlVGQlJVTXNUVUZhU25CQ0xFdEJZVTV4UWl4bFFXSk5ja0lzUzBGaGEwSlFMRWxCUVVrMFFpeGxRV0owUW5KQ0xFdEJZMDV6UWl4VFFXUk5kRUlzUzBGaldYRkNMR1ZCUVdsQ1JTeFBRVUZQUXl4UFFVRlBiRU1zUlVGQlNXMURMR05CUVdkQ1JpeFBRVUZQUXl4UFFVRlBiRU1zUlVGQlNXZERMRlZCWkdwR2RFSXNTMEZsVGpCQ0xGZEJRV0VzUjBGbVVERkNMRXRCYjBKR1VDeEpRVUZKYTBNc1VVRndRa1l6UWl4TFFYRkNTalJDTEVkQlFVdE1MRTlCUVU5RExFOUJRVTlMTEVsQmNrSm1OMElzUzBGNVFrNDRRaXhsUVVGM1F5eEpRWHBDYkVNNVFpeExRWGxDYVVKUUxFbEJRVWx6UXl4VFFYcENja0l2UWl4TFFUQkNSamhDTEdkQ1FURkNSVGxDTEV0Qk1rSktLMElzVTBFelFra3ZRaXhMUVRKQ1kyZERMRXRCTTBKa2FFTXNTMEV5UWpSQ2FVTXNUMEZCVXl4SFFVVnNSRU1zUlVFM1FtRnNReXhMUVRaQ1FTeFhRWFpFWmxZc1JVRkJTVFpETEU5QlFWTXNRMEZEV0N4UFFVTkJMSGRDUVVOQkxHdENRVU5CTEZWQlEwRXNWVUZEUVN4bFFVTkJMRmxCUTBFc1ZVRkRRU3hYUVVOQkxGbEJRMEVzVVVGRFFTeGhRVU5CTEZGQlEwRXNUVUZEUVN4UlFVTkJMRk5CUTBFc1owSkJRMEVzYTBKQmQwTkhXaXhQUVVGUFF5eFRRVU5XUkN4UFFVRlBReXhQUVVGVExGTkJRVlZaTEVkQlEzaENMRk5CUVZORExFdEJSMVFzVDBGR1FVRXNSVUZCUlVNc1ZVRkJXVVlzUlVGRFNDeEpRVUZKUXl4SlFVdGtaQ3hQUVVGUFowSXNUMEZEVm1oQ0xFOUJRVTluUWl4TFFVRlBMRk5CUVZWSUxFZEJRM1JDTEVsQlFVbEpMRVZCUVVrc1IwRkRVaXhKUVVGTExFbEJRVWwyUXl4TFFVRkxiVU1zUlVGQlQwRXNSVUZCUlVzc1pVRkJaWGhETEVsQlFVbDFReXhGUVVGRlJTeExRVUZMZWtNc1IwRkRha1FzVDBGQlQzVkRMRWxCTUVSWU9VTXNSVUZCVlRSRExGVkJRVmtzUTBGRGNFSkxMRWxCUVVzc1YwRkJZMEVzUlVGQlNUTkRMRTlCUTNaQ05FTXNUVUV3ZVVKR0xGTkJRV2RDUXl4SFFVVmtMRWRCUVVrM1F5eExRVUZMWjBJc1RVRkRVQ3hOUVVGTmFFSXNTMEZCUzJkQ0xFMUJSV0lzUjBGS1lXaENMRXRCU1VaWkxFOUJRMVFzVDBGQlQwa3NSVUZNU1doQ0xFdEJUVlFzZDBSQlJVb3NSMEZCWXl4UFFVRldOa01zUlVGRFJpeFBRVUZQUml4RlFWUkpNME1zVFVGWFVTeHBRa0ZCVmpaRExFbEJRMVJCTEVWQlFWRkJMRVZCUVUxRExGbEJSV2hDTEVsQlFVazNReXhGUVVGSkxFVkJRMHBMTEVWQlFVa3NSMEZEVWl4TFFVTkZRU3hGUVVGSmVVTXNSVUZCVDBZc1JVRkJUelZETEV0QmFrSlFSQ3hMUVd0Q1NrMHNSVUZCU1VFc1JVRkZUa0VzUjBGalRDeFBRV3hEVjA0c1MwRjNRa0U0UWl4blFrRjRRa0U1UWl4TFFYbENSaXRDTEZkQlEwY3NUMEZCVG5wQ0xFZEJNVUpMVGl4TFFUSkNRV2RETEU5Qk0wSkJhRU1zUzBFMFFrRnBReXhQUVVGVExFZEJOVUpVYWtNc1MwRTRRa0ZwUXl4VlFUbENRV3BETEV0QmEwTkphMElzVDBGRFlpeExRVUZMUXl4RlFVRkZReXhOUVVWTUxFZEJja05QY0VJc1MwRnZRMEZyUWl4TlFVRlJReXhGUVVGRk5rSXNhVUpCUTFBc1YwRkJUakZETEVWQlEwWXNVMEZGUmpKRExFVkJlRU5QYWtRc1MwRjNRMmxDVFN4SFFVTjRRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVTJRaXhwUWtGRFRFTXNSVUUxUTA5cVJDeExRVFJEYVVKTkxFZEJRM2hDTEZOQlJVWXNTMEZCUzJFc1JVRkJSU3RDTEV0QlEwd3NSMEZvUkU5c1JDeExRV2RFU1dNc1ZVRm9SRXBrTEV0QlowUjFRbUVzVjBGQldTeERRVVY0UXl4SlFVUkJMRWxCUVVselF5eEZRVUZUYkVRc1JVRkJTU3hGUVVOV1N5eEhRVUZYTEUxQlFVNUJMRWRCUVcxQ0xFMUJRVTVCTEVsQlEzWkNRU3hGUVVGSmVVTXNSVUZCVDBZc1JVRkJUelZETEU5QmJrUm1SQ3hMUVc5RVlUaENMR2RDUVhCRVlqbENMRXRCY1VSTkswSXNWMEZEUnl4UFFVRk9la0lzUjBGMFJFaE9MRXRCZFVSUlowTXNUMEYyUkZKb1F5eExRWGRFVVdsRExFOUJRVk1zUjBGNFJHcENha01zUzBFd1JGRnBReXhWUVRGRVVtcERMRXRCT0VSRmIwUXNWVUZCV1ZBc1JVRkJUVkVzVlVGQlZVWXNSVUZCVVd4RUxFVkJRVWtzUjBGRmRrTXNUVUZCVGtzc1IwRm9SVWRPTEV0QlowVnRRbU1zVTBGb1JXNUNaQ3hMUVdkRmNVTmhMR0ZCYUVWeVEySXNTMEZuUlRKRVVpeFJRVWt6UkRoRUxFVkJRV0ZvUkN4SlFYQkZZazRzUzBGdlJUUkNZeXhWUVhCRk5VSmtMRXRCYjBVNFEyRXNXVUZEYWtRd1F5eEZRWEpGUjNaRUxFdEJjVVZuUWl4dFEwRkZXQ3hOUVVGT1RTeEZRWFpGUTA0c1MwRjNSVWxyUWl4TlFVRlJReXhGUVVGRmNVTXNXVUY0UldSNFJDeExRVEJGU1c5RUxGVkJRVms1UXl4SlFURkZhRUpPTEV0QmFVVkZhMElzVFVGQlVVTXNSVUZCUlhORExGVkJha1ZhZWtRc1MwRnJSVVV3UkN4cFFrRnNSVVl4UkN4TFFXdEZORUlyUWl4VlFWZHVReXhUUVVWR0xFdEJRVXRhTEVWQlFVVjNReXhQUVVWTExFMUJRVTV5UkN4RlFXcEdSMDRzUzBGclJrVnJRaXhOUVVGUlF5eEZRVUZGZVVNc1kwRnNSbG8xUkN4TFFXOUdSVFpFTEZGQlFWVjJSQ3hGUVVWdVFpeFRRVVZHTEV0QlFVdGhMRVZCUVVWNVF5eGpRVU5MTEUxQlFVNTBSQ3hGUVhwR1IwNHNTMEV3UmtWclFpeE5RVUZSUXl4RlFVRkZNa01zVjBFeFJsbzVSQ3hMUVRSR1JUWkVMRkZCUVZVc1NVRkJUWFpFTEVWQk5VWnNRazRzUzBFMlJrVnJRaXhOUVVGUlF5eEZRVUZGZDBNc1VVRkZia0lzVTBGRlJpeExRVUZMZUVNc1JVRkJSWE5ETEZWQlJVd3NSMEZCVlN4TlFVRk9ia1FzUlVGdVIwZE9MRXRCYjBkRmEwSXNUVUZCVVVNc1JVRkJSVFJETEZWQmNFZGFMMFFzUzBGeFIwVm5SU3hUUVVGWExGRkJRMklzUjBGQlNWWXNSVUZCWVdoRUxGTkJSV3BDTEVkQlFVa3lSQ3hGUVVGUlF5eEZRVUZYTlVRc1IwRjRSM1pDVGl4TFFYbEhSV3RDTEUxQlFWRkRMRVZCUVVWblJDeFRRWHBIV201RkxFdEJNRWRGYjBVc1VVRkJWVGxFTEU5QlExb3NSMEZCVlN4TlFVRk9RU3hGUVROSFNrNHNTMEUwUjBWclFpeE5RVUZSUXl4RlFVRkZNa01zVlVFMVIxbzVSQ3hMUVRaSFJXOUZMRkZCUVZVc1VVRkRXaXhIUVVGVkxFMUJRVTQ1UkN4RlFUbEhTazRzUzBFclIwVnJRaXhOUVVGUlF5eEZRVUZGYTBRc1ZVRXZSMXB5UlN4TFFXZElSWE5GTEdGQmFFaEdkRVVzUzBGblNIZENkVVVzWVVGQlpTeFBRVU4yUXl4RFFVZE1MRWRCUmtGb1FpeEZRV3hJUzNaRUxFdEJhMGhqTEdWQmJFaGtRU3hMUVc5SVRUQkVMR2xDUVVGdFFpeEZRWEJJZWtJeFJDeExRVzlJYjBNclFpeFRRVUZWTEVOQlEycEVMRWxCUVVsNVF5eEZRWEpJUkhoRkxFdEJjVWhqSzBJc1UwRnlTR1F2UWl4TFFYRklaME13UkN4cFFrRkRia053UkN4RlFVRkpMRWxCUVVsdFJTeE5RVUZOUkN4SFFVRkxSU3hMUVVGTExFdEJRVTl3UlN4RlFYUklOVUpPTEV0QmQwaEZiMFFzVlVGQldTeEpRVUZOT1VNc1JVRjRTSEJDVGl4TFFYbElSV3RDTEUxQlFWRkRMRVZCUVVVclFpeExRVVZ1UWl4VFFVVkdMRXRCUVVzdlFpeEZRVUZGTkVNc1YwRTNTRVV2UkN4TFFUaElTMmRGTEZOQlFWY3hSQ3hIUVVGSGNVVXNaMEpCUVd0Q1F5eEhRVU14UTBNc1JVRXZTRXMzUlN4TFFTdElXU3hsUVM5SVdrRXNTMEZuU1VWclFpeE5RVUZSUXl4RlFVRkZlVVFzVFVGb1NWbzFSU3hMUVdsSlJXZEZMRk5CUVZjc1IwRnFTV0pvUlN4TFFXdEpSVGhGTEUxQlFWRXNTVUZzU1ZZNVJTeExRVzFKVjJkRkxGTkJRVmN4UkN4SlFVRk5MRTFCYmtrMVFrNHNTMEZ2U1VWclFpeE5RVUZSUXl4RlFVRkZORVFzVVVGd1NWb3ZSU3hMUVhGSlJXZEdMRkZCUVZVc1IwRnlTVnBvUml4TFFYTkpSV2RGTEZOQlFWY3NTMEYwU1dKb1JTeExRWFZKV1dkRkxGTkJRVmN4UkN4SFFVRkhjVVVzWjBKQlFXdENUU3hIUVhaSk5VTnFSaXhMUVhkSlJXdENMRTFCUVZGRExFVkJRVVU0UkN4VFFYaEpXbXBHTEV0QmVVbE5hMFlzVTBGNlNVNXNSaXhMUVhsSmQwSmpMRlZCUXpOQ2VVTXNSVUV4U1VkMlJDeExRVEpKUkN3clEwRXpTVU5CTEV0Qk5rbEZhMFlzVVVGQlZTeEhRVGRKV214R0xFdEJPRWxGWjBVc1UwRkJWeXhKUVVOSUxFMUJRVTR4UkN4SFFVTlVkVVVzUlVGb1NrczNSU3hMUVdkS1dTeHZRa0ZvU2xwQkxFdEJaMHAzUTJkRkxGVkJhRXA0UTJoRkxFdEJhVXBGWjBVc1UwRkJWeXhIUVdwS1ltaEZMRXRCYTBwRmEwSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlExSnBReXhGUVVGUk4wVXNTVUZ1U2xwT0xFdEJiMHBGYTBJc1RVRkJVVU1zUlVGQlJXbEZMR2xDUVhCS1duQkdMRXRCY1VwRlowVXNWVUZCV1RGRUxFZEJja3BrVGl4TFFYVktSV2RGTEZWQlFWa3hSQ3hGUVVWeVFpeFRRVVZHTEV0QlFVdGhMRVZCUVVWcFJTeHBRa0ZEUkRsRkxFbEJOVXBIVGl4TFFUUktWVXNzU1VFMVNsWk1MRXRCTmtwRmEwSXNUVUZCVVVNc1JVRkJSVFJETEZWQk4wcGFMMFFzUzBFNFNrVkxMRVZCUVVrc1NVRTVTazVNTEV0QlowdEJaMFVzVlVGQldURkVMRVZCUTI1Q0xGTkJSVVlzUzBGQlMyRXNSVUZCUlRoRUxGRkJRMHNzVFVGQlRqTkZMRWRCY0V0SFRpeExRWEZMUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhMUVVOcVFqSkNMRVZCZEV0TE4wVXNTMEZ6UzFrc1dVRjBTMXBCTEV0QmMwdG5RMnRHTEZOQmRFdG9RMnhHTEV0QmRVdEZhMFlzVTBGQlZTeEpRWFpMV214R0xFdEJlVXRGYTBZc1UwRkJWelZGTEVWQlExSXNUVUZCVGtFc1JVRXhTME5PTEV0Qk1rdEphMElzVFVGQlVVTXNSVUZCUld0RkxGbEJRMUpHTEVWQlFWRTNSU3hMUVRWTFpFNHNTMEUyUzBsclFpeE5RVUZSUXl4RlFVRkZiVVVzWlVFM1MyUjBSaXhMUVRoTFNVc3NSVUZCU1VNc1NVRkhaaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnRSU3hsUVc1TVJYUkdMRXRCYjB4QmEwWXNVMEZCVnpWRkxFVkJRMlJCTEVsQmNreEhUaXhMUVhGTVZVc3NTVUZ5VEZaTUxFdEJjMHhGU3l4RlFVRkpMRWRCZEV4T1RDeExRWFZNUld0Q0xFMUJRVkZETEVWQlFVVTRSQ3hUUVVWdVFpeFRRVVZHTEV0QlFVczVSQ3hGUVVGRmEwVXNXVUV6VEVWeVJpeExRVFJNUVd0R0xGTkJRVmMxUlN4RlFVTlNMRTFCUVU1QkxFVkJOMHhIVGl4TFFUaE1SV3RDTEUxQlFWRkRMRVZCUVVVNFJDeFJRVU5TUlN4RlFVRlJOMFVzUzBFdlRGcE9MRXRCWjAxRmEwSXNUVUZCVVVNc1JVRkJSVzlGTEcxQ1FXaE5XblpHTEV0QmFVMUZTeXhGUVVGSlF5eEhRVVZpTEZOQlJVWXNTMEZCUzJFc1JVRkJSVzlGTEcxQ1FYSk5SWFpHTEV0QmMwMUJhMFlzVTBGQlZ6VkZMRVZCUTJSQkxFbEJkazFIVGl4TFFYVk5WVXNzU1VGMlRWWk1MRXRCZDAxRmEwSXNUVUZCVVVNc1JVRkJSV3RGTEZsQmVFMWFja1lzUzBGNVRVVkxMRVZCUVVrc1NVRkZZaXhUUVVWR0xFdEJRVXRqTEVWQlFVVTBSQ3hSUVVOTExFMUJRVTU2UlN4RlFUbE5SMDRzUzBFclRVVnJRaXhOUVVGUlF5eEZRVUZGY1VVc1pVRXZUVnA0Uml4TFFXbE9SV2RHTEZOQlFWY3hSU3hGUVVWd1FpeFRRVVZHTEV0QlFVdGhMRVZCUVVWeFJTeGxRVU5MTEUxQlFVNXNSaXhIUVhST1IwNHNTMEYxVGtWclFpeE5RVUZSUXl4RlFVRkZjMFVzWTBGMlRscDZSaXhMUVhkT1JXZEdMRkZCUVZWVkxFVkJlRTVhTVVZc1MwRjNUalJDVUN4SlFYaE9OVUpQTEV0QmQwNTNRMmRHTEZOQmVFNTRRMmhHTEV0QmVVNU5aMFlzVTBGRFZFZ3NSVUV4VGtjM1JTeExRVEJPWXl4WlFURk9aRUVzUzBFd1RtdERaMFlzVTBFeFRteERhRVlzUzBFMFRrVm5SaXhSUVVGVkxFdEJOVTVhYUVZc1MwRTRUa1ZuUml4VFFVRlhMRWxCUVUweFJTeEZRVGxPYmtKT0xFdEJLMDVGYTBJc1RVRkJVVU1zUlVGQlJUUkVMRk5CUlc1Q0xGTkJSVVlzUzBGQlN6VkVMRVZCUVVWelJTeGpRVU5MTEUxQlFVNXVSaXhIUVVOR2FVUXNSVUZ5VDB0MlJDeExRWEZQWXl4eFFrRnlUMlJCTEV0QmQwOUZaMFlzVTBGQlZ5eExRVUZQTVVVc1JVRjRUM0JDVGl4TFFYbFBSV3RDTEUxQlFWRkRMRVZCUVVVMFJDeFRRWHBQV2k5RkxFdEJNazlGYTBJc1RVRkJVVU1zUlVGQlJTdENMRXRCUlc1Q0xGTkJSVVlzUzBGQlN5OUNMRVZCUVVWNVJDeE5RVU5MTEUxQlFVNTBSU3hGUVdoUVIwNHNTMEZwVUVWclFpeE5RVUZSUXl4RlFVRkZkMFVzWVVGcVVGb3pSaXhMUVcxUVJUaEZMRTlCUVZONFJTeEZRVVZzUWl4VFFVVkdMRXRCUVV0aExFVkJRVVYzUlN4aFFVTkxMRTFCUVU1eVJpeEZRWGhRUjA0c1MwRjVVRVZyUWl4TlFVRlJReXhGUVVGRmVVVXNaMEpCZWxCYU5VWXNTMEV5VUVVNFJTeFBRVUZUTEVsQlFVMTRSU3hGUVROUWFrSk9MRXRCTkZCRmEwSXNUVUZCVVVNc1JVRkJSWGxFTEU5QlJXNUNMRk5CUlVZc1MwRkJTM3BFTEVWQlFVVjVSU3hsUVVOTExFMUJRVTUwUml4SFFXcFJSMDRzUzBGclVVMDRSU3hQUVVOVVJDeEZRVzVSUnpkRkxFdEJiVkZqTEZWQmJsRmtRU3hMUVcxUlowTTRSU3hQUVVWeVEwUXNSVUZ5VVVzM1JTeExRWEZSV1N4blFrRnlVVnBCTEV0QmMxRkZPRVVzVFVGQlVTeEhRWFJSVmpsRkxFdEJkVkZGYTBJc1RVRkJVVU1zUlVGQlJTdENMRTFCUTBZc1RVRkJUalZETEVWQmVGRktUaXhMUVhsUlJUaEZMRTlCUVZNc1MwRjZVVmc1UlN4TFFUSlJSVGhGTEU5QlFWTXNTMEZCVDNoRkxFVkJNMUZzUWs0c1MwRTBVVVZyUWl4TlFVRlJReXhGUVVGRmVVUXNUMEZGYmtJc1UwRkZSaXhMUVVGTGVrUXNSVUZCUld0RUxGVkJRMHNzVFVGQlRpOUVMRVZCYWxKSFRpeExRV3RTUld0Q0xFMUJRVkZETEVWQlFVVXdSU3hwUWtGRFVuWkRMRVZCUVdGb1JDeEhRVzVTYWtKT0xFdEJiMUpGYTBJc1RVRkJVVU1zUlVGQlJUSkZMR1ZCY0ZKYU9VWXNTMEZ6VWtWelJTeGpRVUZuUW1oRkxFVkJSWHBDTEZOQlJVWXNTMEZCUzJFc1JVRkJSVEpGTEdWQlEwd3NTVUV6VWs4NVJpeExRVEpTUzNWRkxHTkJRV2RDYWtJc1JVRkJZV2hFTEVkQlEzWkRMRk5CUTJVc1RVRkJUa0VzUlVFM1VrcE9MRXRCT0ZKRmEwSXNUVUZCVVVNc1JVRkJSVEJGTEdsQ1FUbFNXamRHTEV0QloxTkZkVVVzWTBGQlowSnFSU3hGUVVWNlFpeFRRVVZHTEV0QlFVdGhMRVZCUVVVd1JTeHBRa0ZEU3l4TlFVRk9ka1lzUjBGRFJuVkZMRVZCZEZOTE4wVXNTMEZ6VTFrc01FSkJRVEpDTEVOQlF6RkRLMFlzUzBGMlUwY3ZSaXhMUVhWVFZYTkZMR0ZCUTJJd1FpeExRWGhUUjJoSExFdEJkMU5WZFVVc1pVRjRVMVoyUlN4TFFUQlRSWE5GTEdGQk1WTkdkRVVzUzBFd1UzZENkVVVzWVVGQlpTeEhRVEZUZGtOMlJTeExRVEpUUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhQUVROVFdteEVMRXRCTmxORmRVVXNZMEZCWjBJc1NVRkJUV3BGTEVWQk4xTjRRazRzUzBFNFUwVnJRaXhOUVVGUlF5eEZRVUZGTWtVc1owSkJSVzVDTEZOQlJVWXNTMEZCU3pORkxFVkJRVVZuUkN4VFFVTkVSaXhGUVVGUlowTXNSVUZCVlROR0xFZEJibFJtVGl4TFFXOVVSVzlGTEZOQlFWYzVSQ3hIUVVWc1FqUkdMRVZCZEZSTGJFY3NUVUYxVkVzc1RVRkJUazBzUlVGRFJqWkdMRVZCZUZSSGJrY3NUVUY1VkZrc1RVRkJUazBzUlVGNlZFNU9MRXRCTUZSSmEwSXNUVUZCVVVNc1JVRkJSV2xHTEdkQ1FVVmFPVU1zUlVGQllXaEVMRWxCUTJoQ2FVUXNSVUUzVkVOMlJDeExRVFpVYTBJc2FVTkJOMVJzUWtFc1MwRXJWRWxyUWl4TlFVRlJReXhGUVVGRmEwWXNVMEZIY2tJc1UwRkZSaXhMUVVGTGJFWXNSVUZCUldsR0xHVkJRMHNzVFVGQlRqbEdMRWRCUTBZMlJpeEZRWFJWUzI1SExFMUJjMVZYTEVkQlEyaENjMGNzUlVGMlZVdDBSeXhSUVhsVlRIVkVMRVZCZWxWTGRrUXNTMEY1VldNc2EwUkJlbFZrUVN4TFFUQlZSV3RDTEUxQlFWRkRMRVZCUVVWclJpeFJRVVZ1UWl4VFFVVkdMRXRCUVV0c1JpeEZRVUZGYTBZc1QwRkZUQ3hIUVVGSkwwTXNSVUZCWVdoRUxFZEJRMllzVTBGRFpTeE5RVUZPUVN4RlFVTlVOa1lzUlVGdVZrdHVSeXhOUVc5V1ZTeE5RVUZPVFN4RlFYQldTazRzUzBGeFZrVnJRaXhOUVVGUlF5eEZRVUZGYVVZc1pVRkRVbTVETEVWQlFWRkRMRVZCUVZjMVJDeEpRWFJXZGtKT0xFdEJkVlpGZFVjc1YwRkJZV3BITEVWQmRsWm1UaXhMUVhkV1JYZEhMRmxCUVdNc1IwRjRWbWhDZUVjc1MwRjVWa1ZyUWl4TlFVRlJReXhGUVVGRmMwWXNZVUZGYWtKc1JDeEZRVE5XUzNaRUxFdEJNbFpqTERCQ1FVVnlRaXhUUVVWR0xFdEJRVXR0UWl4RlFVRkZjMFlzV1VGRFN5eE5RVUZPYmtjc1JVRm9WMGRPTEV0QmFWZEZhMElzVFVGQlVVTXNSVUZCUlhWR0xHRkJRMFlzVFVGQlRuQkhMRWRCUTFScFJDeEZRVzVYUzNaRUxFdEJiVmRqTERKQ1FXNVhaRUVzUzBGdlYwVjNSeXhaUVhCWFJuaEhMRXRCYjFkMVFuVkhMRmRCUXpWQ1NTeEZRWEpYU3pOSExFMUJjMWRNYlVjc1JVRjBWMHR1Unl4UFFYVlhTWE5FTEVWQlFXRm9SQ3hIUVhaWGFrSk9MRXRCZDFkRmEwSXNUVUZCVVVNc1JVRkJSWGxHTEhOQ1FVTlNNME1zUlVGQlVXZERMRVZCUVZVelJpeEhRWHBYZEVKT0xFdEJNRmRGZFVjc1dVRkJZMnBITEVWQlJYSkNhVVFzUlVFMVYwdDJSQ3hMUVRSWFl5d3dRa0ZGY2tJc1UwRkZSaXhMUVVGTGJVSXNSVUZCUlhsR0xITkNRVU5NTEVkQlFWVXNUVUZCVG5SSExFVkJhbGhIVGl4TFFXdFlSV3RDTEUxQlFWRkRMRVZCUVVWMVJpeHBRa0ZEV2l4RFFVRkJMRWRCUVVsd1JDeEZRVUZoYUVRc1IwRkRkRUlzVTBGRlFXbEVMRVZCZEZoTGRrUXNTMEZ6V0dNc01rSkJkRmhrUVN4TFFYVllSV1VzU1VGQlNUaEdMRmRCZGxoT04wY3NTMEYxV0hkQ2RVY3NXVUZCWXl4SFFYWllkRU4yUnl4TFFYZFlSWGRITEZsQlFXTXNSMEZEY2tJelFpeEZRWHBZU3pkRkxFdEJlVmhaTEdOQlFXVXNRMEZET1VJclJpeExRVEZZUnk5R0xFdEJNRmhWZFVjc1YwRkRZazhzVFVGQlR5eExRVE5ZU2psSExFdEJObGhGZFVjc1YwRkJZU3hIUVVOV0xFMUJRVTVxUnl4RlFVTkdOa1lzUlVFdldFZHVSeXhOUVdkWlRXbEZMRVZCUVZGRExFVkJRVmMxUkN4SlFXaFpla0pPTEV0QmFWbEpkVWNzVjBGQllXcEhMRVZCYWxscVFrNHNTMEZyV1VsclFpeE5RVUZSUXl4RlFVRkZjMFlzWTBGRmFrSnNSQ3hGUVhCWlIzWkVMRXRCYjFsblFpd3dRa0Z3V1doQ1FTeExRWEZaU1d0Q0xFMUJRVkZETEVWQlFVVnJSaXhSUVVkeVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRmRVWXNZVUZEVEN4SFFVRkpjRVFzUlVGQllXaEVMRWRCUTJZc1UwRkRVelpGTEVWQlFWRTNSU3hKUVRkWldrNHNTMEU0V1VWTExFVkJRVWxETEVWQk9WbE9UaXhMUVN0WlJXdENMRTFCUVZGRExFVkJRVVUwUml4elFrRkZha0o0UkN4RlFXcGFTM1pFTEV0QmFWcGpMRFJDUVdwYVpFRXNTMEZyV2tWclFpeE5RVUZSUXl4RlFVRkZOa1lzYzBKQmJGcGFhRWdzUzBGdFdrVjNSeXhaUVVGamJFY3NSMEZGZGtJc1UwRkZSaXhMUVVGTFlTeEZRVUZGTkVZc2IwSkJRMHdzUjBGQlNYcEhMRWxCZUZwSFRpeExRWGRhVlVzc1JVRkJSeXhEUVVOU0xFMUJRVTVETEVWQmVscERUaXhMUVRCYVNXdENMRTFCUVZGRExFVkJRVVU0Uml4elFrRXhXbVJxU0N4TFFUUmFTWGRITEdGQlFXVnNSeXhGUVVWNFFpeFRRVVZHY1Vjc1JVRm9ZVTh6Unl4TlFVRkJRU3hMUVdsaFFVc3NSVUZCU1N4SFFXcGhTa3dzUzBGcllVRnJRaXhOUVVGUlF5eEZRVUZGSzBZc2IwSkJRMnBDTEZOQlJVWXNTMEZCU3k5R0xFVkJRVVVyUml4dlFrRkRSRFZFTEVWQlFXRm9SQ3hIUVhSaFZrNHNTMEYxWVVWclFpeE5RVUZSUXl4RlFVRkZhMFlzVDBGRFJpeE5RVUZPTDBZc1JVRkRWRFpHTEVWQmVtRkxia2NzVFVFd1lWVXNUVUZCVGswc1JVRXhZVXBPTEV0Qk1tRkZhMElzVFVGQlVVTXNSVUZCUldsR0xHVkJRMUp1UXl4RlFVRlJReXhGUVVGWE5VUXNTVUZETlVKcFJDeEZRVGRoUzNaRUxFdEJObUZqTEc5RFFUZGhaRUVzUzBFNFlVVjFSeXhYUVVGaGFrY3NSVUU1WVdaT0xFdEJLMkZGZDBjc1dVRkJZeXhIUVM5aGFFSjRSeXhMUVdkaVJXdENMRTFCUVZGRExFVkJRVVZ6Uml4aFFVVnFRbXhFTEVWQmJHSkxka1FzUzBGclltTXNNRUpCUlhKQ0xGTkJSVVlzUzBGQlMyMUNMRVZCUVVVMlJpeHpRa0ZEVEN4SlFVRkxSeXhGUVVGWk4wY3NSMEZCU1N4RFFVTlVMRTFCUVU1QkxFVkJlR0pEVGl4TFFYbGlTV3RDTEUxQlFWRkRMRVZCUVVWcFJ5eHpRa0Y2WW1Sd1NDeExRVEppU1hkSExHRkJRV1ZzUnl4RlFVVjRRaXhUUVVWR2NVY3NSVUV2WWs4elJ5eE5RV2RqUnl4TlFVRk9UU3hGUVVOR05rWXNSVUZxWTB0dVJ5eE5RVUZCUVN4TFFXMWpSV3RDTEUxQlFWRkRMRVZCUVVWclJpeFBRVVZ1UWl4VFFVVkdMRXRCUVV0c1JpeEZRVUZGTWtNc1ZVRkRUQ3hIUVhoalR6bEVMRXRCZDJOTGIwVXNVVUZoU3l4TlFVRk9PVVFzUlVGRFZHZEhMRVZCZEdSTGRFY3NUVUYxWkVscFJTeEZRVUZSWjBNc1JVRkJWVE5HTEVkQmRtUjBRazRzUzBGM1pFVnZSU3hUUVVGWE9VUXNSVUY0WkdKT0xFdEJlV1JYTmtRc1VVRjZaRmczUkN4TFFUQmtSVFpFTEZGQlFWVXNTMEV4WkZvM1JDeExRVEJrTUVKdlJTeFJRVEZrTVVKd1JTeExRVEprUlc5RkxGRkJRVlVzUjBFelpGcHdSU3hMUVRSa1JXdENMRTFCUVZGRExFVkJRVVYzUXl4VFFVVmFUQ3hGUVVGaGFFUXNTVUZEYUVKcFJDeEZRUzlrUjNaRUxFdEJLMlJuUWl4clEwRXZaR2hDUVN4TFFXbGxSV3RDTEUxQlFWRkRMRVZCUVVWclJ5eDVRa0Y2UWtVc1EwRkRia0lzUjBGQlNTOUVMRVZCUVdGb1JDeEhRVU5tTEZOQlExTm5TQ3hGUVVGVGNFUXNSVUZCVnpWRUxFZEJNMk14UWs0c1MwRTBZMUUyUkN4UlFUVmpVamRFTEV0Qk5tTk5Oa1FzVVVGQlZTeExRVUZQZGtRc1JVRTNZM1pDVGl4TFFUaGpUV3RDTEUxQlFWRkRMRVZCUVVWM1F5eFJRVVZxUWtvc1JVRm9aRU4yUkN4TFFXZGthMElzYlVOQmFHUnNRa0VzUzBGdFpFbHZSU3hSUVVGVk9VUXNSVUZuUW5KQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUld0SExHOUNRVU5NTEVkQlFVa3ZSQ3hGUVVGaGFFUXNSMEZEWml4VFFVVlJMRTFCUVU1QkxFVkJRMFpuUnl4RlFURmxTM1JITEUxQk5HVk1kVVFzUlVFMVpVdDJSQ3hMUVRSbFl5eHhRMEZGY2tJc1UwRkZSaXhMUVVGTGJVSXNSVUZCUlhGRExGbEJRMUFzUzBGQlMzSkRMRVZCUVVVNFJpeHpRa0ZEVUN4TFFVRkxPVVlzUlVGQlJXbEhMSE5DUVVOTUxFbEJRVWxITEVWQlEwRkRMRVZCUTBvc1QwRnlaazk0U0N4TFFYRm1VV3RDTEU5QlEySXNTMEZCUzBNc1JVRkJSWEZETEZsQlEwd3JSQ3hGUVVGamNFY3NSVUZCUlN0Q0xFdEJRMmhDYzBVc1JVRkJVeXhYUVVOVUxFMUJSVVlzUzBGQlMzSkhMRVZCUVVVNFJpeHpRa0ZEVEUwc1JVRkJZM0JITEVWQlFVVTBSaXh2UWtGRGFFSlRMRVZCUVZNc1kwRkRWQ3hOUVVWR0xFdEJRVXR5Unl4RlFVRkZhVWNzYzBKQlEweEhMRVZCUVdOd1J5eEZRVUZGTmtZc2MwSkJRMmhDVVN4RlFVRlRMR05CU1Vnc1RVRkJUbXhJTEVkQmRHZENSMDRzUzBGMVowSkZkMGdzU1VGQlYwTXNSVUYyWjBKaWVrZ3NUVUZCUVVFc1MwRjNaMEpGTUVnc1QwRkJVeXhIUVhoblFsZ3hTQ3hMUVhsblFrVnJRaXhOUVVGUmNVY3NSMEZEVG5SRUxFVkJNV2RDU21wRkxFdEJNR2RDYlVJd1NDeFBRVUZQZGtnc1QwRkJVM2RJTEVWQlFXRkRMRVZCUVdGMFNDeEhRVEZuUWpkRVRpeExRVEpuUWtVd1NDeFJRVUZWY0Vnc1IwRkZha0pwUkN4RlFUZG5Ra3QyUkN4TFFUWm5RbU1zYjBOQk4yZENaRUVzUzBFNFowSkZkMGdzU1VGQlZ5eEpRVGxuUW1KNFNDeExRVGhuUWpCQ01FZ3NUMEZCVTNCSUxFVkJPV2RDYmtOT0xFdEJLMmRDUlRCSUxFOUJRVk1zUjBFdlowSllNVWdzUzBGbmFFSkZhMElzVFVGQlVYRkhMRWRCUjJwQ0xGTkJSVVlzVVVGRFJTeE5RVUZOTEVsQlFVbE5MRTFCZEdoQ1NEZElMRXRCYzJoQ2FVSXNhMEpCZEdoQ2FrSkJMRXRCYzJoQ05FTnJRaXhQUVhSb1FqVkRiRUlzUzBFd2FFSkdLMElzVlVFeGFFSkZMMElzUzBFd2FFSnBRazhzY1VKQk56TkRhRU1zVTBGQk5FSm9RaXhIUVVjeFFpeEpRVVpCTEVsQlFVbDFTU3hGUVVGaFF5eExRVUZMUXl4SlFVRkpNVWtzUlVGQlNVOHNhMEpCUVcxQ0xFbEJRemREYjBrc1JVRkJXU3hGUVVOUWFFa3NSVUZCU1N4RlFVRkhReXhGUVVGSlNDeEZRVUZSU1N4UFFVRlJSaXhGUVVGSlF5eEZRVUZIUkN4SlFVRkxMRU5CUXpsRExFbEJRVWxwU1N4RlFVRk5NMGtzUlVGQlQxRXNSVUZCVVVVc1NVRkJTVVVzVDBGRE4wSXNSMEZCU1N0SUxFVkJRVTFLTEVWQlMxSXNUMEZCVVM5SUxFVkJRVkZGTEVsQlEyUXNTVUZCU3l4WFFVTklhMGtzUlVGQlZUVkpMRWRCUTFZc1RVRkZSaXhKUVVGTExGRkJRMGh6Uml4RlFVRlRkRVlzUlVGQlVTeFZRVUZYUVN4RlFVRlBkVVlzVDBGRGJrTjJSaXhGUVVGUGRVWXNUVUZCVVN4SFFVTm1MRTFCUlVZc1NVRkJTeXhUUVVOSVJDeEZRVUZUZEVZc1JVRkJVU3hYUVVGWlFTeEZRVUZQYzBVc1VVRkRjRU4wUlN4RlFVRlBjMFVzVDBGQlV5eEhRVU5vUWl4TlFVVkdMRkZCUTBVM1F5eEZRVUZOZWtJc1JVRkJVU3dyUWtGQmFVTlJMRVZCUVZGRkxFbEJSemRFWjBrc1JVRkJXVVlzUzBGQlMwTXNTVUZCU1VNc1JVRkJWME1zUjBGSGJFTXNTVUZCU1VVc1JVRkJTVGxKTEVWQlFVbFBMR3RDUVVGdlFtOUpMRVZCUTJoRE1Va3NSVUZCVDJkQ0xHOUNRVUZ6UWpaSUxFVkJRVWszU1N4RlFVRlBkME1zVTBFMk1VTjBRM05ITEVOQk0yaENWM0pKTEUxQk5taENZaXhQUVRkb1FtRkJMRTFCTVhsQ1luTkpMRTlCUVZFc1YwRkJhVU1zVDBGQmJrSjBTU3hMUVVGTFowSXNUVUZCVVN4TFFVRmhhRUlzVFVGRGFFUjFTU3hOUVVGUExGZEJRV01zVDBGQlQzWkpMRXRCUVVzMFF5eE5RVUZOTEU5QlEzWkRORVlzVFVGQlR5eFhRV3BDVkN4SlFVRjFRbXBLTEVWQlEzSkNORWtzUlVGRWNVSTFTU3hGUVdsQ1lWTXNUVUZtWWl4TFFVRnFRbFFzUlVGQlQzVkdMRkZCUTFSRUxFVkJRVk4wUml4RlFVRlJMRlZCUVZkQkxFVkJRVTkxUml4UFFVTnVRM1pHTEVWQlFVOTFSaXhOUVVGUkxFbEJSVXNzUzBGQmJFSjJSaXhGUVVGUGMwVXNVMEZEVkdkQ0xFVkJRVk4wUml4RlFVRlJMRmRCUVZsQkxFVkJRVTl6UlN4UlFVTndRM1JGTEVWQlFVOXpSU3hQUVVGVExFMUJZWEJDTEVsQlEwVXZSQ3hGUVVGVE1ra3NVVUZCVVN4VlFVRlZNMGtzVDBGRE0wSXNUVUZCVHpSSkxFZEJRMUExU1N4RlFVRlRMR0ZCUjFnc1NVRkJTVFpKTEVWQlFXTnlTaXhGUVVGSk5rTXNUMEZCVDNsSExFOUJRVThzVTBGQlZVTXNSMEZETlVNc1RVRkJZeXhWUVVGUVFTeEhRVUY1UWl4UlFVRlFRU3hKUVU4elFpeFRRVUZUYkVvc1JVRkJWMGdzUlVGQlVVTXNSMEZETVVJc1MwRkJUVThzWjBKQlFXZENUQ3hIUVVOd1FpeFBRVUZQTEVsQlFVbEJMRVZCUVZWSUxFVkJRVkZETEVkQlJ5OUNTeXhGUVVGUFowb3NUVUZCVFRsSkxFMUJSV0pCTEV0QlFVc3JTU3hSUVVGVkxFbEJRVWx5U2l4RlFVRlZSaXhGUVVGUlF5eEhRVU55UTA4c1MwRkJTMmRLTEZWQlFWY3NSVUZEYUVKb1NpeExRVUZMYVVvc1ZVRkJWeXhGUVVWb1FpeEpRVUZKUXl4RlFVRkxiRW9zUzBGRlZFRXNTMEZCU3l0SkxGRkJRVkZKTEUxQlFWRXNWMEZEYmtKRUxFVkJRVWRvU0N4TFFVRkxMRkZCUjFac1F5eExRVUZMSzBrc1VVRkJVVXNzVVVGQlZTeFRRVUZWUXl4SFFVTXZRa2dzUlVGQlIyaElMRXRCUVVzc1VVRkJVMjFJTEVkQlNXcENTQ3hGUVVGSFNDeFJRVUZSTDBnc1RVRkJVU3hOUVVkeVFtaENMRXRCUVV0elNpeFRRVUZYTEV0QlJXaENXQ3hGUVVGWldTeFJRVUZSTEZOQlFWVldMRWRCUXpWQ2RFZ3NUMEZCVDJsSkxHVkJRV1ZPTEVWQlFVa3NTMEZCVDB3c1JVRkJTU3hEUVVOdVExa3NTVUZCU3l4WFFVTklMRTlCUVU5UUxFVkJRVWRJTEZGQlFWRXNTMEZCVDBZc1NVRkZNMEpoTEVsQlFVc3NVMEZCVlVNc1IwRkRZaXhKUVVGTFFTeEZRVWRJTEU5QlJrRlVMRVZCUVVkVkxHMUNRVUZ0UW1Zc1IwRkRkRUpMTEVWQlFVZElMRkZCUVZFc1MwRkJUMFlzUjBGQlRXTXNSVUZEYWtKQkxFVkJSVlJVTEVWQlFVZFhMRWRCUVVkb1FpeEZRVUZKWXl4SlFVVmFSeXhaUVVGWkxFVkJRMXBETEdOQlFXTXNUVUZMY0VKd1N5eEZRVUZWTWtNc1ZVRkJXV1lzVDBGQlQwTXNUMEZCVHpGQ0xFVkJRVTkzUXl4VlFVRlhMRU5CUTNCRU1FZ3NXVUZCWVN4RFFVTlliRVFzVFVGQlQyNUlMRXRCU1ZoQkxFVkJRVlV5UXl4VlFVRlZUU3hOUVVGUkxGTkJRVlZ4U0N4SFFVTndReXhIUVVGelFpeHRRa0ZCV0VNc1VVRkRhMElzYlVKQlFYQkNRU3hQUVVGUFF5eFZRVU5rUkN4UFFVRlBReXhUUVVGVFJpeEhRVUZQTEVOQlEzWkNMRWxCUVV0cVN5eExRVUZMYzBvc1UwRkJWU3hEUVVOc1FpeEpRVUZKWXl4RlFVRkxNMElzVVVGQlVTeHJRa0ZCYTBJMFFpeGpRVU51UTNKTExFdEJRVXR6U2l4VFFVRlhMRWxCUVVsakxFVkJRVWNzVVVGRmVrSklMRVZCUVU5cVN5eExRVUZMYzBvc1UwRkJVekZITEUxQlFVMXhTQ3hIUVVzM1FpeFBRVVpCYWtzc1MwRkJTeXRKTEZGQlFWRnVSeXhOUVVGTmNVZ3NSVUZCUzI1SUxGbEJRM2hDT1VNc1MwRkJTMnRETEV0QlFVc3NUMEZCVVN0SUxFbEJRMWdzUjBGSFZIUkxMRVZCUVZVeVF5eFZRVUZWU3l4SlFVRk5MRk5CUVZWRkxFZEJTMnhETEU5QlNrbEJMRWRCUVZOQkxFVkJRVTB4UXl4UlFVTnFRa2dzUzBGQlN6UkRMRTFCUVUxRExFZEJSV0kzUXl4TFFVRkxLMGtzVVVGQlVYQkhMRTlCUTA0c1IwRkhWR2hFTEVWQlFWVXlReXhWUVVGVmRVZ3NSMEZCU3l4VFFVRlZhRUlzUlVGQlNYbENMRWRCUTNKRExFbEJRVWx3UWl4RlFVRkxiRW9zUzBGVFZDeFBRVkpMYTBvc1JVRkJSMGdzVVVGQlVTeExRVUZQUml4TFFVRnZReXhKUVVFM1FrWXNSVUZCV1RSQ0xGRkJRVkV4UWl4TFFVTm9SRXNzUlVGQlIwZ3NVVUZCVVN4TFFVRlBSaXhIUVVGTkxGZEJRM1JDTEVsQlFVa3lRaXhGUVVFMFFpeEpRVUZ5UWtNc1ZVRkJWWFJMTEU5QlFXVXNRMEZCUTNOTExGVkJRVlVzU1VGQlRXaEhMRTFCUVUxeFJTeE5RVUZOTEV0QlFVMHlRaXhYUVVOMlJVUXNSVUZCUzBVc1QwRkJUeXhGUVVGSExFVkJRVWMzUWl4SFFVTnNRa3NzUlVGQlIyaElMRXRCUVVzMFJ5eE5RVUZOU1N4RlFVRkpjMElzUzBGSlpqRkxMRVZCUVU5M1F5eFZRVUZWZFVnc1IwRkJSMk1zUzBGQlMzcENMRVZCUVVsTUxFVkJRVWw1UWl4SlFVc3hReXhKUVVGSk1VWXNSVUZCVVN4VlFVTlNTeXhGUVVGVkxGVkJRMVl5Uml4RlFVRm5RaXgxUTBGRGFFSkRMRVZCUVd0Q0xHZERRVU5zUW1oS0xFVkJRVk1zUTBGQlJXbEtMRWxCUVV0R0xFVkJRV1ZxU2l4TlFVRlBhMG9zUjBGUmRFTXpSeXhGUVVGWkxEUktRVVZhSzBJc1JVRkJWeXhuVFVGRldESkNMRVZCUVdNc05rcEJRMlJFTEVWQlFXRXNhVTFCUldwQ0xGTkJRVk55UlN4RlFVRmphRVFzUjBGRGNrSXNUVUZCWVN4TlFVRk9RU3hIUVVGdFFpeFBRVUZPUVN4SFFVRnZRaXhQUVVGT1FTeEhRVUZ2UWl4UFFVRk9RU3hGUVVkc1JDeFRRVUZUTmtVc1JVRkJVemRGTEVkQlEyaENMRTFCUVdFc1RVRkJUa0VzUjBGQmJVSXNUVUZCVGtFc1JVRkhkRUlzVTBGQlV6WkhMRVZCUVdFM1J5eEhRVU53UWl4TlFVRmhMRTFCUVU1QkxFZEJRV0ZuUkN4RlFVRmhhRVFzUjBGSGJrTXNVMEZCVXpKRUxFVkJRVk00Unl4RlFVRlBla3NzUjBGRGRrSXNUMEZCVDNsTExFVkJRVTFETEV0QlFVc3hTeXhIUVVkd1FpeFRRVUZUWjBnc1JVRkJWWGxFTEVWQlFVOTZTeXhIUVVONFFpeFBRVUZSTWtRc1JVRkJVVGhITEVWQlFVOTZTeXhIUVVkNlFpeEpRWGR5UTFFeVN5eEZRVU5CUXl4RlFVTkJReXhGUVRGeVEwcG9TeXhGUVVGSkxFVkJjMVJTTEVsQlFVc3NTVUZCU1dsTExFdEJjbFJVT1V3c1JVRkJTU3RNTEUxQlFWRXNRMEZEVm1wTExFMUJRVTlFTEVsQlExQTJRaXhwUWtGQmEwSTNRaXhKUVVOc1FpdENMRXRCUVUwdlFpeEpRVU5PY1VNc1dVRkJZWEpETEVsQlEySnpReXhWUVVGWGRFTXNTVUZEV0RSRExGVkJRVmMxUXl4SlFVTllhVVVzYVVKQlFXdENha1VzU1VGRGJFSTRSQ3hSUVVGVE9VUXNTVUZEVkcxRkxHVkJRV2RDYmtVc1NVRkRhRUpyUlN4WlFVRmhiRVVzU1VGRFltOUZMRzFDUVVGdlFuQkZMRWxCUTNCQ2JVc3NhVUpCUVd0Q2Jrc3NTVUZEYkVJMFJDeFJRVUZUTlVRc1NVRkRWSEZGTEdWQlFXZENja1VzU1VGRGFFSnpSU3hqUVVGbGRFVXNTVUZEWm5sRUxFMUJRVTk2UkN4SlFVTlFkMFVzWVVGQlkzaEZMRWxCUTJSNVJTeGxRVUZuUW5wRkxFbEJRMmhDYTBRc1ZVRkJWMnhFTEVsQlExZ3lSU3hsUVVGblFqTkZMRWxCUTJoQ01FVXNhVUpCUVd0Q01VVXNTVUZEYkVKblJDeFRRVUZWYUVRc1NVRkRWbWxHTEdWQlFXZENha1lzU1VGRGFFSnJSaXhQUVVGUmJFWXNTVUZEVW5OR0xGbEJRV0YwUml4SlFVTmllVVlzYzBKQlFYVkNla1lzU1VGRGRrSjFSaXhoUVVGamRrWXNTVUZEWkRSR0xHOUNRVUZ4UWpWR0xFbEJRM0pDSzBZc2IwSkJRWEZDTDBZc1NVRkRja0kyUml4elFrRkJkVUkzUml4SlFVTjJRamhHTEhOQ1FVRjFRamxHTEVsQlEzWkNhVWNzYzBKQlFYVkNha2NzU1VGRGRrSXlReXhWUVVGWE0wTXNTVUZEV0d0SExHOUNRVUZ4UW14SExFbEJRM0pDZDBNc1QwRkJVWGhETEVsQlExSjVReXhqUVVGbGVrTXNTMEZIYWtJM1FpeEZRVUZKYlVNc1lVRkJaU3hEUVVOcVFqaEtMRWxCUVU4c1NVRkRVRU1zUjBGQlRTeEpRVU5PUXl4SFFVRk5MRWxCUTA1RExFdEJRVkVzU1VGRFVrTXNTMEZCVVN4TFFVZFdjazBzUlVGQlNXZERMRk5CUVZjc1EwRkRZbWxMTEVsQlFVOHNTVUZEVUVNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zU1VGQlR5eEpRVU5RUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1NVRkJUeXhKUVVOUVF5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4TlFVRlRMRWxCUTFSRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4SlFVRlBMRWxCUTFCRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4SlFVRlBMRWxCUTFCRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhKUVVGUExFbEJRMUJETEVsQlFVOHNTVUZEVUVNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4TFFVRlJMRWxCUTFKRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFOUJRVlVzU1VGRFZrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eE5RVUZUTEVsQlExUkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNTMEZCVVN4SlFVTlNReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eExRVUZSTEVsQlExSkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4UlFVRlhMRWxCUTFoRExFdEJRVkVzU1VGRFVrTXNTVUZCVHl4SlFVTlFReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRWRCUVUwc1NVRkRUa01zUjBGQlRTeEpRVU5PUXl4SFFVRk5MRWxCUTA1RExGRkJRVmNzU1VGRFdFTXNSMEZCVFN4SlFVTk9ReXhKUVVGUExFbEJRMUJETEUxQlFWTXNTVUZEVkVNc1NVRkJUeXhKUVVOUVF5eFJRVUZYTEVsQlExaERMRWxCUVU4c1NVRkRVRU1zU1VGQlR5eEpRVU5RUXl4SlFVRlBMRWxCUTFCRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFJRVUZYTEVsQlExaERMRXRCUVZFc1NVRkRVa01zU1VGQlR5eEpRVU5RUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEVkQlFVMHNTVUZEVGtNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRkZCUVZjc1NVRkRXRU1zUjBGQlRTeEpRVU5PUXl4SlFVRlBMRWxCUTFCRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhKUVVGUExFbEJRMUJETEZGQlFWY3NTVUZEV0VNc1NVRkJUeXhKUVVOUVF5eEpRVUZQTEVsQlExQkRMRWxCUVU4c1NVRkRVRU1zVFVGQlV5eEpRVU5VUXl4VFFVRlpMRWxCUTFwRExFMUJRVk1zU1VGRFZFTXNTVUZCVHl4SlFVTlFReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1QwRkJWU3hMUVVOV1F5eExRVUZSTEV0QlExSkRMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SlFVRlBMRXRCUTFCRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhQUVVGVkxFdEJRMVpETEU5QlFWVXNTMEZEVmtNc1RVRkJVeXhMUVVOVVF5eE5RVUZUTEV0QlExUkRMRTlCUVZVc1MwRkRWa01zVDBGQlZTeExRVU5XUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEU5QlFWVXNTMEZEVmtNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRkZCUVZjc1MwRkRXRU1zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eExRVUZSTEV0QlExSkRMRTFCUVZNc1MwRkRWRU1zUjBGQlRTeExRVU5PUXl4TFFVRlJMRXRCUTFKRExFbEJRVThzUzBGRFVFTXNUVUZCVXl4TFFVTlVReXhQUVVGVkxFdEJRMVpETEUxQlFWTXNTMEZEVkVNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SFFVRk5MRXRCUTA1RExFbEJRVThzUzBGRFVFTXNTVUZCVHl4TFFVTlFReXhKUVVGUExFdEJRMUJETEU5QlFWVXNTMEZEVmtNc1NVRkJUeXhMUVVOUVF5eExRVUZSTEV0QlExSkRMRTFCUVZNc1MwRkRWRU1zUjBGQlRTeExRVU5PUXl4TlFVRlRMRXRCUTFSRExFZEJRVTBzUzBGRFRrTXNSMEZCVFN4TFFVTk9ReXhKUVVGUExFdEJRMUJETEVsQlFVOHNTMEZEVUVNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFdEJRVkVzUzBGRFVrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1QwRkJWU3hMUVVOV1F5eFBRVUZWTEV0QlExWkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4SlFVRlBMRXRCUTFCRExFOUJRVlVzUzBGRFZrTXNUVUZCVXl4TFFVTlVReXhQUVVGVkxFdEJRMVpETEUxQlFWTXNUVUZIV0RWYUxFOUJRVTluUWl4TFFVRkxha1FzUlVGQlNXZERMRlZCUVZWcFNTeFJRVUZSTEZOQlFWVTJVaXhIUVVNeFF5eEpRVUZKUXl4RlFVRkpMMklzUlVGQlNXZERMRk5CUVZNNFdpeEhRVU5xUW1oUkxFVkJRV2xDTEdsQ1FVRk9hVkVzUlVGQmFVSkRMRTlCUVU5RExHRkJRV0ZHTEVkQlFVdEJMRVZCUTNwRUwySXNSVUZCU1dkRExGTkJRVk00V2l4SFFVRlBhRkVzU1VGSFVqbE1MRVZCUVVrclRDeE5RVU5vUWk5TUxFVkJRVWtyVEN4TlFVRk5MMHdzUlVGQlNTdE1MRTFCUVUxRUxFbEJRVTFCTEVWQlRUVkNMRk5CUVZOc1NpeEZRVUZOTTBNc1JVRkJVV2xqTEVWQlFVOTJVaXhIUVVNMVFqRkxMRVZCUVU5cFl5eEpRVUZWYW1Nc1JVRkJUMmxqTEVkQlFVOTJVaXhIUVVkcVF5eFRRVUZUY0VZc1JVRkJWWFJHTEVWQlFWRnJZeXhGUVVGVmVGSXNSMEZETDBJeFN5eEZRVUZQTmtRc1ZVRkJWU3RGTEVWQlFWVTFTU3hIUVVNdlFqSkRMRVZCUVVzelF5eEZRVUZSYTJNc1JVRkJWWGhTTEVkQlIzcENMRk5CUVZNNVFpeEZRVUZYTlVrc1IwRkRiRUpCTEVWQlFVODJSQ3hUUVVGWGMwTXNSVUZCVTI1SExFVkJRVTlGTEVsQlFVdEdMRVZCUVU4MlJDeFZRVU14UXpkRUxFVkJRVTgyUkN4VlFVRlZiRUlzUlVGQlN6TkRMRVZCUVZFc1UwRkJWVUVzUlVGQlR6WkVMRlZCUTI1RU4wUXNSVUZCVHpaRUxGTkJRVmNzUjBGSGNFSXNVMEZCVTNORExFVkJRVlZxUnl4RlFVRkxhV01zUjBGSGRFSXNUMEZHU1dwakxFVkJRVWxyWXl4UFFVRk5SQ3hGUVVGUFFTeEZRVUZMUXl4UlFVTjBRbXhqTEVWQlFVbHRZeXhaUVVGWFJpeEZRVUZQUVN4RlFVRkxSeXhSUVVGUkxFOUJRVkVzVFVGRGVFTklMRVZCUjFRc1UwRkJVekZoTEVWQlFVOTZRaXhGUVVGUk9Fb3NSMEZWZEVJc1QwRlVRV3hDTEVWQlFWVTFTU3hIUVVOT1FTeEZRVUZQZFVNc1owSkJRMVIxU0N4SFFVRk5MRmRCUVdFNVNpeEZRVUZQZVVNc1MwRkRlRUlzWVVGQlpYcERMRVZCUVU4d1F5eFBRVU4wUWl4WFFVRmhNVU1zUlVGQlQyVXNSMEZGZUVJclNTeEZRVUZMTEVsQlFVbDRRaXhOUVVGTmQwSXNSMEZEWmpsS0xFVkJRVTk1UWl4TlFVRlJjVWtzUlVGRFptNUlMRVZCUVVzelF5eEZRVUZSTEZWQlFWYzRTaXhIUVVOcVFqbEtMRVZCUjFRc1UwRkJVMjlFTEVWQlFVdHdSQ3hIUVZsYUxFOUJXRWxCTEVWQlFVOTFRaXhWUVVGWmRrSXNSVUZCVDNOQ0xGbEJRVmt3UXl4RlFVRlhhRVVzUlVGQlVTeHhRa0ZEZUVSQkxFVkJRVTh5UWl4UlFVRlZReXhGUVVGRlF5eFBRVU55UWpkQ0xFVkJRVTh5UWl4UlFVRlZReXhGUVVGRk5rSXNhMEpCUTI1Q2VrUXNSVUZCVHpKQ0xGRkJRVlZETEVWQlFVVXJRaXhOUVVOd1FteERMRVZCUVUxNlFpeEZRVUZSTEd0Q1FVVm9RalJKTEVWQlFWVTFTU3hIUVVOV1FTeEZRVUZQWlN4RlFVRkpMRWRCUTFobUxFVkJRVTl4UWl4UlFVRlRMRVZCUTJoQ2MwSXNSVUZCU3pORExFVkJRVkVzVTBGRFlrY3NSVUZCVldsTUxFdEJRVXR3VEN4RlFVRlJRU3hGUVVGUFF5eFBRVUZSUkN4RlFVRlBSU3hMUVVOMFEwWXNSVUZIVkN4VFFVRlRaMFVzUlVGQldXaEZMRVZCUVZGMVl5eEhRVU16UWl4SFFVRnpRaXhwUWtGQldIWmpMRXRCUVhsQ1FTeGhRVUZyUWtjc1IwRkRjRVFzVFVGQlRTeEpRVUZKYlVrc1RVRkJUU3d3UWtGRlpIUkpMRVZCUVU5RExGRkJRMVIzUWl4RlFVRk5la0lzUlVGQlVYVmpMRWRCU1d4Q0xGTkJRVk0xVml4RlFVRlJNMGNzUjBGRFZrRXNSVUZCVDBNc1UwRkJVVVFzUlVGQlR6WkZMRkZCUVZVM1JTeEZRVUZQTmtVc1VVRkJVVGRGTEVWQlFVOXRRaXhqUVVNelJDeEpRVUZKY1dJc1JVRkJVM2hqTEVWQlFVOXZRaXhMUVVGTGNFSXNSVUZCVDI5Q0xFdEJRVXRTTEU5QlFWTXNTVUZCVFZvc1JVRkRhRVIzUWl4RlFVRk5lRUlzUlVGQlQzZENMRWxCUVUwc1EwRkJSV2RHTEV0QlFVMTRSeXhGUVVGUE5rVXNVVUZCVTNsRExGZEJRVmtzU1VGSGRrUjBTQ3hGUVVGUFJTeEpRVUZKYTBNc1VVRkRZbG9zUlVGQlNXRXNSMEZCUzIxaExFVkJRVTl1WVN4SlFVVnNRbkpETEVWQlFVOXRReXhYUVVGWGRrSXNUMEZCVXl4RlFVTXpRakJGTEVWQlFWTjBSaXhGUVVGUkxHbENRVUZyUW5kQ0xFZEJSM0pETEZOQlFWTnBZaXhGUVVGUGFsY3NSVUZCVFd0WExFZEJRM0JDTEVsQlEwbERMRVZCUkVsdVZ5eEZRVUZMZDBVc1VVRkJVU3hMUVVOR0xFVkJRVWtzUTBGQlJTeEhRVUZKZUVVc1IwRkJVMEVzUlVGQlMyOVhMRTFCUVUwc1MwRkROME5ETEVWQlFWTkdMRVZCUVZNc1IwRkRiRUpITEVWQlFWRklMRVZCUVZNc1IwRlJja0lzVDBGTVNVUXNSMEZCYzBJc1ZVRkJWR3hYTEVsQlEyWnhWeXhGUVVGVExGRkJRMVJETEVWQlFWRXNTVUZIU0N4RFFVRkZSQ3hQUVVGUlFTeEZRVUZSUXl4TlFVRlBRU3hIUVVkc1F5eFRRVUZUTVZZc1JVRkJVWEJJTEVkQlMyWXNSMEZLUzBFc1JVRkJUME1zVTBGRFZrUXNSVUZCVDJkSUxGZEJRV0ZvU0N4RlFVRlBaMGdzVjBGQlYyaElMRVZCUVU5dFFpeGxRVWRQTEVsQlFXeEVia0lzUlVGQlQyMURMRmRCUVZjMlNTeFJRVUZSYUV3c1JVRkJUMmRJTEdGQlEyNURhRWdzUlVGQlQzZENMRWxCUVVrNFJpeFhRVUZYY0VVc1pVRkJaV3hFTEVWQlFVOW5TQ3haUVVNMVEyaElMRVZCUVU5blNDeFhRVUZoYUVnc1JVRkJUMmxJTEZsQlFXTXNUMEZHTTBNc1EwRk5RU3hIUVVGSmFrZ3NSVUZCVDBVc1NVRkJTV3RETEUxQlFVOHNRMEZEY0VJc1NVRkJTVEpoTEVWQlFVdE9MRVZCUVUxNll5eEZRVUZQWjBnc1dVRkJXU3hIUVVNNVFqWldMRVZCUVZORkxFVkJRVWRHTEU5QlExcERMRVZCUVZGRExFVkJRVWRFTEUxQlJXWXNSMEZCWlN4VlFVRllSQ3hGUVVWR0xFZEJRV01zVVVGQlZrTXNSMEZCYlVJNVl5eEZRVUZQYVVnc1kwRkJaMEp2UlN4RlFVTTFRM0pJTEVWQlFWZG9SU3hGUVVOVUxHZERRVUZyUTNGTUxFVkJRV2RDTEdGQlEzSkRja3dzUlVGQlQybElMR3RDUVVOcVFpeEhRVUZqTEZWQlFWWTJWaXhIUVVGeFFqbGpMRVZCUVU5cFNDeGpRVUZuUW5GRkxFVkJRM0pFZEVnc1JVRkJWMmhGTEVWQlExUXNhME5CUVc5RGMwd3NSVUZCYTBJc1lVRkRla04wVEN4RlFVRlBhVWdzYVVKQlEycENMRU5CUTB3c1NVRkJTWHBHTEVWQlFVMTRRaXhGUVVGUGQwSXNTVUZEWW1kaUxFVkJRVk40WXl4RlFVRlBiMElzUzBGQlMzQkNMRVZCUVU5dlFpeExRVUZMVWl4UFFVRlRMRWxCUVUxYUxFVkJRMmhFZDBJc1JVRkJTV0VzUzBGQlQyMWhMRVZCUVU5dVlTeExRVU53UW1Jc1JVRkJTV0VzUjBGQlMwd3NUMEZCVDBNc1QwRkJUM1ZoTEVWQlFVOXVZU3hMUVVWb1EySXNSVUZCU1dFc1IwRkJSM2xoTEVkQlFWTTVZeXhGUVVGUGFVZ3NXVUZQTTBKcVNDeEZRVUZQYlVNc1YwRkJWMmRDTEV0QlFVc3NRMEZCUTI1RUxFVkJRVTluU0N4WFFVRlphRWdzUlVGQlQybElMRzFDUVVkc1JHcElMRVZCUVU5M1FpeEpRVUZKT0VZc1YwRkJWM1JJTEVWQlFVOW5TQ3haUVVGamFFZ3NSVUZCVDJsSUxGbEJRMnhFTTBJc1JVRkJVM1JHTEVWQlFWRXNZMEZCWlN4RFFVTTVRbmRITEV0QlFVMTRSeXhGUVVGUFowZ3NWMEZEWWs4c1RVRkJUM1pJTEVWQlFVOXBTQ3hqUVVsc1FtcElMRVZCUVU5blNDeFhRVUZoYUVnc1JVRkJUMmxJTEZsQlFXTXNTVUZITTBNc1UwRkJVMHdzUlVGQlV6VkhMRVZCUVZGblpDeEhRVU40UWl4SFFVRkphR1FzUlVGQlQwVXNTVUZCU1d0RExFMUJRVThzUTBGRmNFSXNTVUZCU1Zvc1JVRkJUWGhDTEVWQlFVOTNRaXhKUVVkaWRXSXNSVUZCUzA0c1JVRkJUWHBqTEVWQlFVODJSU3hUUVVOMFFuSkVMRVZCUVVseFlpeFBRVUZUUlN4RlFVRkhSaXhQUVVOb1FuSmlMRVZCUVVsellpeE5RVUZSUXl4RlFVRkhSQ3hOUVVObWRHSXNSVUZCU1hsaUxFbEJRVTE2WWl4RlFVRkpZU3hIUVVGSE1HRXNSVUZCUjBZc1UwRkJWeXhIUVVVelFuSmlMRVZCUVVseFlpeFRRVUZYY21Jc1JVRkJTWGxpTEUxQlEzSkNhbG9zUlVGQlYyaEZMRVZCUVZFc05rSkJRMnBDYTJRc1MwRkJTME1zVlVGQlZXNWtMRVZCUVU4MlJTeFZRVU40UW5KRUxFVkJRVWw1WWl4SlFVRk5SaXhGUVVGSFJpeFJRVWRtTEVsQlFVbE1MRVZCUVZONFl5eEZRVUZQYjBJc1MwRkJTM0JDTEVWQlFVOXZRaXhMUVVGTFVpeFBRVUZUTEVsQlFVMWFMRVZCUTJoRWQwSXNSVUZCU1dFc1NVRkJUVzFoTEVWQlFVOXVZU3hMUVVGUFlpeEZRVUZKWVN4SlFVTTVRa3dzVDBGQlQyZENMRXRCUVV0NFFpeEZRVUZKWVN4SlFVRkpNa2dzVVVGQlVTeFRRVUZWYjFRc1IwRkRjRU01V0N4RlFVRlRkRVlzUlVGQlVTeHJRa0ZCYlVJc1EwRkRiRU0yWXl4UFFVRlJUeXhGUVVOU1NDeEpRVUZMZW1Jc1JVRkJTV0VzUjBGQlJ5dGhMRTlCVVd4Q0xFbEJRVXNzU1VGQlNURmpMRVZCUVVrc1JVRkJSME1zUlVGQlNWZ3NSVUZCVDIxRExGZEJRVmQyUWl4UFFVRlJSaXhGUVVGSlF5eEZRVUZIUkN4SlFVRkxMRU5CUTNoRUxFbEJRVWt5WXl4RlFVRkxjbVFzUlVGQlQyMURMRmRCUVZkNlFpeEhRVU4yUWpoR0xFVkJRVTgyVnl4RlFVRkhMRWRCUTFZNVZpeEZRVUZST0ZZc1JVRkJSeXhIUVVOWVZpeEZRVUZYUml4RlFVRk5hbGNzUjBGQlRTeEhRVU4yUW5GWExFVkJRVk5HTEVWQlFWTkZMRTlCUTJ4Q1F5eEZRVUZSU0N4RlFVRlRSeXhOUVVOcVFrY3NSVUZCYVVJc1MwRkJXRW9zUlVGQlowSXNSMEZCVFhKaUxFVkJRVWxoTEVkQlFVZDNZU3hKUVVGWExFZEJRemxETlZvc1JVRkJTU3hEUVVOT2RVUXNTMEZCVFVFc1JVRkRUbVVzVFVGQlQwRXNSVUZEVUhOV0xFOUJRVkZCTEVWQlExSkRMRTFCUVU5QkxFVkJRMUJITEVsQlFVdEJMRWRCUzBoS0xFZEJRWEZDTEZWQlFWaEJMRWxCUVhWQ1NTeEpRVU51UTJwYUxFVkJRVmRvUlN4RlFVRlJMRFpDUVVOcVFtdGtMRXRCUVV0RExGVkJRVlZPTEVsQlEycENOVm9zUlVGQlJXZGhMRWxCUVUxS0xFZEJSVlkzWXl4RlFVRlBkMElzU1VGQlNUaEdMRmRCUVZka0xFZEJRVkYyUkN4RlFVTTVRbkZETEVWQlFWTjBSaXhGUVVGUkxHTkJRV1ZwUkN4SFFVVnNRMnBFTEVWQlFVOXRReXhYUVVGWGRrSXNUMEZCVXl4RlFVYzNRbG9zUlVGQlQzZENMRWxCUVVrNFlpeG5Ra0ZCYTBKT0xFVkJSemRDYUdRc1JVRkJUM1ZDTEZOQlFWVXNSVUZEYWtKMlFpeEZRVUZQYjBJc1MwRkJTeXRDTEV0QlFVdHVSQ3hGUVVGUGQwSXNTMEZEZUVJNFJDeEZRVUZUZEVZc1JVRkJVU3haUVVGaFFTeEZRVUZQZDBJc1MwRkRhRU4zWWl4SlFVVkZhR1FzUlVGQlR6QkNMRlZCUVRaRExGZEJRV3BETVVJc1JVRkJUelpGTEZGQlFWRXdXU3hqUVVkeVEzWmtMRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZLMElzUzBGR2FrSXpSQ3hGUVVGUE1rSXNUVUZCVVVNc1JVRkJSWGRETEU5QlNXNUNjRVVzUlVGQlQzZENMRWxCUVUwc1MwRkRZbmhDTEVWQlFVODJSU3hSUVVGVkxFbEJSVzVDTjBVc1JVRkJUMmRJTEZkQlFXRm9TQ3hGUVVGUGFVZ3NXVUZCWXl4SFFVTjZRMnBJTEVWQlFVOXRReXhYUVVGWGRrSXNUMEZCVXl4RlFVYzNRaXhUUVVGVGJVY3NSVUZCVlM5SExFZEJRMnBDTEVsQlFVdEJMRVZCUVU4MlJTeFJRVWxXTEU5QlNFRmlMRVZCUVZkb1JTeEZRVUZSTERCQ1FVTnVRa0VzUlVGQlR6WkVMRlZCUVZrc1YwRkRia0kzUkN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJTVzVDTEVkQlFVa3pSQ3hGUVVGUGMwVXNUMEZCVVN4RFFVTnFRaXhIUVVGMVFpeFhRVUZ1UW5SRkxFVkJRVTgyUlN4UlFVbFVMRTlCU0VFM1JTeEZRVUZQYzBVc1VVRkJWU3hMUVVGUGRFVXNSVUZCVHpaRkxGRkJRVlVzU1VGRGVrTTNSU3hGUVVGUE5rVXNVVUZCVlN4UlFVTnFRamRGTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGZDBNc1VVRkhia0pyUWl4RlFVRlRkRVlzUlVGQlVTeFhRVUZaUVN4RlFVRlBjMFVzVVVGRGNFTjBSU3hGUVVGUGMwVXNUMEZCVXl4SFFVdHNRaXhKUVVGSmExb3NSVUZCU1hoa0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVOb1FtbEZMRVZCUVZVM1JTeEZRVUZQTmtVc1VVRkRhRUkzUlN4RlFVRlBReXhUUVVOV05FVXNSVUZCVlVFc1JVRkJVVGRGTEVWQlFVOXRRaXhqUVVjelFpeEpRVVJCTEVsQlFVbHpZeXhGUVVGVk5Wa3NSVUZEVURKWkxFdEJRVXNzUTBGRlZpeEhRVVJaZUdRc1JVRkJUMjlDTEV0QlFVdHZZeXhIUVVOa2FGZ3NUMEZCVTJsWUxFVkJTV3BDTEUxQlJrRjZXaXhGUVVGWGFFVXNSVUZCVVN4M1FrRlBka0lzUjBGQlNYZGtMRVZCUVVrc1JVRkpUaXhQUVVoQmVGb3NSVUZCVjJoRkxFVkJRVkVzTUVKQlFUUkNRU3hGUVVGUE5rVXNVMEZEZEVRM1JTeEZRVUZQTmtRc1ZVRkJXU3hMUVVGUE4wUXNSVUZCVHpaRkxGRkJRVlVzVTBGRE0wTTNSU3hGUVVGUE1rSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlIyNUNNMFFzUlVGQlR6WkZMRkZCUVZWQkxFVkJSV3BDTEVsQlJFRXNTVUZCU1dkSUxFVkJRVWszVEN4RlFVRlBiMElzUzBGQlMxSXNUMEZEWW1sTUxFdEJRVTB5VWl4SFFVRkhMRU5CUTJRc1NVRkJTV2hqTEVWQlFVMTRRaXhGUVVGUGQwSXNTVUZCVFhoQ0xFVkJRVTl2UWl4TFFVRkxjMk1zVFVGRGJrTXhaQ3hGUVVGUE5rVXNVVUZCVlRkRkxFVkJRVTkzUWl4SlFVRkpaMFlzUzBGRE5VSnNRaXhGUVVGVGRFWXNSVUZCVVN4aFFVRmpRU3hGUVVGUE5rVXNVMEZGZEVNc1NVRkJTVGhaTEVWQlFVa3NSMEZEVWl4SlFVRkxMRWxCUVVscVpDeExRVUZMWXl4RlFVRkpZU3hIUVVOb1FuTmlMRVZCUVVWcVpDeEhRVUZMWXl4RlFVRkpZU3hIUVVGSE0wSXNSMEZIYUVJc1NVRkJTVGhpTEVWQlFWTjRZeXhGUVVGUGIwSXNTMEZCUzNCQ0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVGVExFbEJRVTFhTEVWQlEyaEVRU3hGUVVGUFJTeEpRVUZKYTBNc1QwRkJVMW9zUlVGQlNXRXNTMEZCVDIxaExFVkJRVTl1WVN4SlFVVjRRMHdzVDBGQlQyZENMRXRCUVV0NFFpeEZRVUZKWVN4SlFVRkpNa2dzVVVGQlVTeFRRVUZWYjFRc1IwRkRjRU1zU1VGQlNWRXNSVUZCU1hCakxFVkJRVWxoTEVkQlFVY3JZU3hIUVVObU9WZ3NSVUZCVTNSR0xFVkJRVkVzYlVKQlFXOUNMRU5CUVVVMll5eFBRVUZSVHl4RlFVRkhTQ3hKUVVGTFZ5eE5RVWx1UkN4SlFVRk9TaXhKUVVGVGVHUXNSVUZCVDNOQ0xGbEJRV0VzUjBGRGFrTjBRaXhGUVVGUE5rVXNVVUZCVlRkRkxFVkJRVTlwU0N4WlFVRmpha2dzUlVGQlQyZElMRmRCUVdFc1IwRkRNVVJvU0N4RlFVRlBiVU1zVjBGQlYzWkNMRTlCUVZNc1JVRkRNMEphTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGSzBJc1MwRkhia0lzVTBGQlUzVkZMRVZCUVdGc1NTeEhRVU53UWl4SlFVVkpObVFzUlVGR1FURldMRVZCUVZOdVNTeEZRVUZQYlVrc1QwRkRhRUl5Vml4RlFVRlhNMVlzUlVGQlQyOVdMR05CUld4Q1VTeEZRVUZUTEVkQlJXSXNUMEZCU1M5a0xFVkJRVThyUWl4VFFVRlRiMGNzUjBGRFdHNUpMRVZCUVU4clFpeFRRVUZUYjBjc1IwRkZja0p1U1N4RlFVRlBLMElzVTBGQlV5dGlMRWRCUTFnNVpDeEZRVUZQSzBJc1UwRkJVeXRpTEVsQlIwRXNUMEZFZWtJelZpeEZRVUZUTWxZc1IwRkRSWFJoTEU5QlFVOHNTMEZEVXl4TlFVRnlRakpGTEVWQlFVOHpSU3hQUVVGUExFbEJRMmhDTWtVc1JVRkJVMEVzUlVGQlR6WldMRTFCUVUwc1IwRkZkRUpFTEVkQlJFRkdMRVZCUVUxSkxGTkJRVk01Vml4RlFVRlJMRXRCUTFZMVJTeFRRVUZUTEUxQlJYUkNORVVzUlVGQlUwRXNSVUZCVHpaV0xFMUJRVTBzUjBGRmRFSkVMRWRCUkVGR0xFVkJRVTFKTEZOQlFWTTVWaXhGUVVGUkxFdEJRMVkxUlN4VFFVRlRMRTFCUnpGQ05FVXNSVUZCVTBFc1JVRkJUMjFWTEZGQlFWRXNUVUZCVHl4SlFVTXpRalJDTEUxQlFVMU1MRWxCUVZGRkxFVkJRVTlTTEdkQ1FVRnJRbkJXTEVkQlEzcERia1VzUlVGQlYyaEZMRVZCUVZFc05FSkJRMW9zU1VGQlRVRXNSVUZCVDIxSkxFOUJRVk1zUzBGSGVFSTBWQ3hQUVVGUGJsRXNZMEZCWTJsVExFbEJSemxDTEZOQlFWTnVZU3hGUVVGcFFqRkVMRVZCUVZGbExFZEJRM1JDTEUxQlFVNUJMRWRCUTBabUxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRmMwTXNWVUZEYWtKc1JTeEZRVUZQYlVVc2FVSkJRVzFDYmtVc1JVRkJUM2RETEZWQlEzWkNkVUlzUlVGQllXaEVMRXRCUjNaQ2FVUXNSVUZCVjJoRkxFVkJRVkVzYjBOQlEyNUNRU3hGUVVGUE5rUXNVMEZCVnpsRExFVkJRMnhDWml4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJTWEpDTEZOQlFWTklMRVZCUVZGR0xFVkJRVTgxUXl4SFFVTjBRaXhKUVVGSmVXUXNSVUZCVXl4SFFVbGlMRTlCU0VsNlpDeEZRVUZKTkVNc1JVRkJUVEZETEZOQlExcDFaQ3hGUVVGVE4yRXNSVUZCVFVVc1QwRkJUemxETEVsQlJXcENlV1FzUlVGeVZsUjJZeXhGUVVGSk4wSXNSVUZCU1N0TUxFMUJNak5DU0dsUkxFOUJRVTl1VVN4blFrRkZTa1lzUlVGQmNVSnhVU3hQUVVGUFF5eGhRVU0xUW5KUkxFVkJRVkZ1UkN4TFFVRkxiVVFzVFVGRFlrTXNSVUZCWjBJc1YwRkRiRUlzU1VGRlNYZFRMRVZCUTBGRExFVkJSa0ZETEVWQlFWa3NSMEZIV2tNc1IwRkJVeXhGUVVOVU0yUXNSVUZCVTNOTExGVkJRVlYwU3l4UFFVTjJRaXhKUVVGTFFTeEZRVU5JTEUxQlFVOHNSMEZIVkN4SlFVUkJMRWxCUVVsMVpDeEZRVUZUTEV0QlEwcEpMRVZCUVZFelpDeEhRVUZSTEVOQlEzWkNMRWxCUVVrMFpDeEZRVUZaUXl4UFFVRlBkbFFzVlVGQlZYRlVMRWxCUTJwRExFbEJRMGRITEZOQlFWTkdMRWxCUTFaQkxFVkJRVmtzUjBGRFdrRXNSVUZCV1N4VFFVTmFOMU1zUlVGQlRUWlRMRXRCUVdWQkxFVkJSWEpDTEUxQlFVMUhMRmRCUVZjc2RVSkJRWGxDU0N4SFFVVjRRMEVzUjBGQllTeE5RVU5tUml4RlFVRlZibUlzUzBGQlMzRmlMRWxCU1daS0xFVkJRVzlETEZGQlJIQkRTU3hIUVVGaExGRkJRMmxDTEVsQlF6bENTQ3hGUVVGblFrY3NSVUZCV1N4TFFVRlRMRTFCUTNKRFJpeEZRVUZWYm1Jc1MwRkJTMmxpTEVWQlFXVkRMRXRCUlRWQ1JTeEZRVUZSTEVsQlFVMHpaQ3hIUVVGVk1HUXNSVUZCVlRGa0xFOUJOMEo2UWl4VFFUaENXSFZrTEVkQlFWVjZVeXhGUVVGdFFtNURMRTFCUVUwc1MwRkJUU3RWTEVkQlEzcERRU3hGUVVGVk1XUXNUMEZCVXl4SFFVZDJRaXhQUVVGUGRXUXNSMEZIVEc1akxFOUJRVTlwU1N4bFFVTlVha2tzVDBGQlQybEpMR1ZCUVdVNFVpeFBRVUZSTEdkQ1FVRnBRaXhEUVVNM1EzaFZMRTFCUVU5eFJTeEZRVU5RY0VJc1kwRkJZeXhGUVVOa1ppeFZRVUZWTEVsQlIxcHpVeXhQUVVGUGJsRXNZMEZCWjBKQkxFZEJlR2hFT1VJc1EwRTBhRVJ4UWl4dlFrRkJXbWRVTEZGQlFUQkNibVVzUzBGQlMxWXNTVUZCVFN4SFFVRkxObVVpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpZWGd2YkdsaUwzTmhlQzVxY3lKOSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO2V4cG9ydHMuc3RyaXBCT009ZnVuY3Rpb24odCl7cmV0dXJuXCJcXHVmZWZmXCI9PT10WzBdP3Quc3Vic3RyaW5nKDEpOnR9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnZiUzVxY3lKZExDSnVZVzFsY3lJNld5SmxlSEJ2Y25Seklpd2ljM1J5YVhCQ1QwMGlMQ0p6ZEhJaUxDSnpkV0p6ZEhKcGJtY2lMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQlFTeFJRVUZSUXl4VFFVRlhMRk5CUVZORExFZEJRekZDTEUxQlFXVXNWMEZCV0VFc1JVRkJTU3hIUVVORFFTeEZRVUZKUXl4VlFVRlZMRWRCUldSRUxFdEJTVlpGTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNNbXB6TDJ4cFlpOWliMjB1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdCxlLG8saSxyLG49e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwieG1sYnVpbGRlclwiKSxlPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpLmRlZmF1bHRzLGk9ZnVuY3Rpb24odCl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0LmluZGV4T2YoXCImXCIpPj0wfHx0LmluZGV4T2YoXCI+XCIpPj0wfHx0LmluZGV4T2YoXCI8XCIpPj0wKX0scj1mdW5jdGlvbih0KXtyZXR1cm5cIjwhW0NEQVRBW1wiK28odCkrXCJdXT5cIn0sbz1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKFwiXV0+XCIsXCJdXV1dPjwhW0NEQVRBWz5cIil9LGV4cG9ydHMuQnVpbGRlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIG8odCl7dmFyIG8saSxyO2ZvcihvIGluIHRoaXMub3B0aW9ucz17fSxpPWVbLjJdKW4uY2FsbChpLG8pJiYocj1pW29dLHRoaXMub3B0aW9uc1tvXT1yKTtmb3IobyBpbiB0KW4uY2FsbCh0LG8pJiYocj10W29dLHRoaXMub3B0aW9uc1tvXT1yKX1yZXR1cm4gby5wcm90b3R5cGUuYnVpbGRPYmplY3Q9ZnVuY3Rpb24obyl7dmFyIHMsYSxsLHAsZix1O3JldHVybiBzPXRoaXMub3B0aW9ucy5hdHRya2V5LGE9dGhpcy5vcHRpb25zLmNoYXJrZXksMT09PU9iamVjdC5rZXlzKG8pLmxlbmd0aCYmdGhpcy5vcHRpb25zLnJvb3ROYW1lPT09ZVsuMl0ucm9vdE5hbWU/bz1vW2Y9T2JqZWN0LmtleXMobylbMF1dOmY9dGhpcy5vcHRpb25zLnJvb3ROYW1lLHU9dGhpcyxsPWZ1bmN0aW9uKHQsZSl7dmFyIG8scCxmLGMsaCxkO2lmKFwib2JqZWN0XCIhPXR5cGVvZiBlKXUub3B0aW9ucy5jZGF0YSYmaShlKT90LnJhdyhyKGUpKTp0LnR4dChlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2ZvcihjIGluIGUpaWYobi5jYWxsKGUsYykpZm9yKGggaW4gcD1lW2NdKWY9cFtoXSx0PWwodC5lbGUoaCksZikudXAoKX1lbHNlIGZvcihoIGluIGUpaWYobi5jYWxsKGUsaCkpaWYocD1lW2hdLGg9PT1zKXtpZihcIm9iamVjdFwiPT10eXBlb2YgcClmb3IobyBpbiBwKWQ9cFtvXSx0PXQuYXR0KG8sZCl9ZWxzZSBpZihoPT09YSl0PXUub3B0aW9ucy5jZGF0YSYmaShwKT90LnJhdyhyKHApKTp0LnR4dChwKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkocCkpZm9yKGMgaW4gcCluLmNhbGwocCxjKSYmKHQ9XCJzdHJpbmdcIj09dHlwZW9mKGY9cFtjXSk/dS5vcHRpb25zLmNkYXRhJiZpKGYpP3QuZWxlKGgpLnJhdyhyKGYpKS51cCgpOnQuZWxlKGgsZikudXAoKTpsKHQuZWxlKGgpLGYpLnVwKCkpO2Vsc2VcIm9iamVjdFwiPT10eXBlb2YgcD90PWwodC5lbGUoaCkscCkudXAoKTpcInN0cmluZ1wiPT10eXBlb2YgcCYmdS5vcHRpb25zLmNkYXRhJiZpKHApP3Q9dC5lbGUoaCkucmF3KHIocCkpLnVwKCk6KG51bGw9PXAmJihwPVwiXCIpLHQ9dC5lbGUoaCxwLnRvU3RyaW5nKCkpLnVwKCkpO3JldHVybiB0fSxwPXQuY3JlYXRlKGYsdGhpcy5vcHRpb25zLnhtbGRlYyx0aGlzLm9wdGlvbnMuZG9jdHlwZSx7aGVhZGxlc3M6dGhpcy5vcHRpb25zLmhlYWRsZXNzLGFsbG93U3Vycm9nYXRlQ2hhcnM6dGhpcy5vcHRpb25zLmFsbG93U3Vycm9nYXRlQ2hhcnN9KSxsKHAsbykuZW5kKHRoaXMub3B0aW9ucy5yZW5kZXJPcHRzKX0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1pYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVluVnBiR1JsY2lJc0ltUmxabUYxYkhSeklpd2laWE5qWVhCbFEwUkJWRUVpTENKeVpYRjFhWEpsYzBORVFWUkJJaXdpZDNKaGNFTkVRVlJCSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltVnVkSEo1SWl3aWFXNWtaWGhQWmlJc0luSmxjR3hoWTJVaUxDSmxlSEJ2Y25Seklpd2lRblZwYkdSbGNpSXNJbTl3ZEhNaUxDSnJaWGtpTENKeVpXWWlMQ0oyWVd4MVpTSXNJblJvYVhNaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0luQnliM1J2ZEhsd1pTSXNJbUoxYVd4a1QySnFaV04wSWl3aWNtOXZkRTlpYWlJc0ltRjBkSEpyWlhraUxDSmphR0Z5YTJWNUlpd2ljbVZ1WkdWeUlpd2ljbTl2ZEVWc1pXMWxiblFpTENKeWIyOTBUbUZ0WlNJc0lsOTBhR2x6SWl3aVQySnFaV04wSWl3aWEyVjVjeUlzSW14bGJtZDBhQ0lzSW1Wc1pXMWxiblFpTENKdlltb2lMQ0poZEhSeUlpd2lZMmhwYkdRaUxDSnBibVJsZUNJc0ltTmtZWFJoSWl3aWNtRjNJaXdpZEhoMElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2laV3hsSWl3aWRYQWlMQ0poZEhRaUxDSjBiMU4wY21sdVp5SXNJbU55WldGMFpTSXNJbmh0YkdSbFl5SXNJbVJ2WTNSNWNHVWlMQ0pvWldGa2JHVnpjeUlzSW1Gc2JHOTNVM1Z5Y205bllYUmxRMmhoY25NaUxDSmxibVFpTENKeVpXNWtaWEpQY0hSeklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEdGQlEwRXNTVUZCU1VFc1JVRkJVME1zUlVGQlZVTXNSVUZCWVVNc1JVRkJaVU1zUlVGRGFrUkRMRVZCUVZVc1IwRkJSME1zWlVGRlprNHNSVUZCVlU4c1VVRkJVU3hqUVVWc1FrNHNSVUZCVjAwc1VVRkJVU3hqUVVGalRpeFRRVVZxUTBVc1JVRkJaMElzVTBGQlUwc3NSMEZEZGtJc1RVRkJkMElzYVVKQlFWWkJMRWxCUVhWQ1FTeEZRVUZOUXl4UlFVRlJMRTFCUVZFc1IwRkJTMFFzUlVGQlRVTXNVVUZCVVN4TlFVRlJMRWRCUVV0RUxFVkJRVTFETEZGQlFWRXNUVUZCVVN4SlFVZHVTRXdzUlVGQldTeFRRVUZUU1N4SFFVTnVRaXhOUVVGUExGbEJRV1ZPTEVWQlFWbE5MRWRCUVZVc1QwRkhPVU5PTEVWQlFXTXNVMEZCVTAwc1IwRkRja0lzVDBGQlQwRXNSVUZCVFVVc1VVRkJVU3hOUVVGUExHOUNRVWM1UWtNc1VVRkJVVU1zVVVGQlZTeFhRVU5vUWl4VFFVRlRRU3hGUVVGUlF5eEhRVU5tTEVsQlFVbERMRVZCUVV0RExFVkJRVXRETEVWQlIyUXNTVUZCUzBZc1MwRkdURWNzUzBGQlMwTXNVVUZCVlN4SFFVTm1TQ3hGUVVGTlpDeEZRVUZUTEVsQlJWSkpMRVZCUVZGakxFdEJRVXRLTEVWQlFVdEVMRXRCUTNaQ1JTeEZRVUZSUkN4RlFVRkpSQ3hIUVVOYVJ5eExRVUZMUXl4UlFVRlJTaXhIUVVGUFJTeEhRVVYwUWl4SlFVRkxSaXhMUVVGUFJDeEZRVU5NVWl4RlFVRlJZeXhMUVVGTFRpeEZRVUZOUXl4TFFVTjRRa1VzUlVGQlVVZ3NSVUZCUzBNc1IwRkRZa2NzUzBGQlMwTXNVVUZCVVVvc1IwRkJUMFVzUjBGMVJuaENMRTlCYmtaQlNpeEZRVUZSVVN4VlFVRlZReXhaUVVGakxGTkJRVk5ETEVkQlEzWkRMRWxCUVVsRExFVkJRVk5ETEVWQlFWTkRMRVZCUVZGRExFVkJRV0ZETEVWQlUzaENReXhGUVhORmJrSXNUMEU1UlVGTUxFVkJRVlZPTEV0QlFVdERMRkZCUVZGTExGRkJRM1pDUXl4RlFVRlZVQ3hMUVVGTFF5eFJRVUZSVFN4UlFVTmpMRWxCUVdoRFN5eFBRVUZQUXl4TFFVRkxVaXhIUVVGVFV5eFJRVUZyUW1Rc1MwRkJTME1zVVVGQlVWTXNWMEZCWVRGQ0xFVkJRVk1zU1VGQlR6QkNMRk5CUlhCR1RDeEZRVUZWUVN4RlFVUldTeXhGUVVGWFJTeFBRVUZQUXl4TFFVRkxVaXhIUVVGVExFbEJSMmhEU3l4RlFVRlhWaXhMUVVGTFF5eFJRVUZSVXl4VFFVVlFReXhGUVdsRmFFSllMRXRCYWtWSVVTeEZRVU5UTEZOQlFWTlBMRVZCUVZORExFZEJRM1pDTEVsQlFVbERMRVZCUVUxRExFVkJRVTh6UWl4RlFVRlBORUlzUlVGQlQzUkNMRVZCUVV0RkxFVkJRM0JETEVkQlFXMUNMR2xDUVVGU2FVSXNSVUZEVEV3c1JVRkJUVllzVVVGQlVXMUNMRTlCUVZOc1F5eEZRVUZqT0VJc1IwRkRka05FTEVWQlFWRk5MRWxCUVVsc1F5eEZRVUZWTmtJc1NVRkZkRUpFTEVWQlFWRlBMRWxCUVVsT0xGRkJSVlFzUjBGQlNVOHNUVUZCVFVNc1VVRkJVVklzU1VGRGRrSXNTVUZCUzBjc1MwRkJVMGdzUlVGRFdpeEhRVUZMTlVJc1JVRkJVV01zUzBGQlMyTXNSVUZCUzBjc1IwRkZka0lzU1VGQlMzUkNMRXRCUkV4eFFpeEZRVUZSUml4RlFVRkpSeXhIUVVWV05VSXNSVUZCVVRKQ0xFVkJRVTF5UWl4SFFVTmthMElzUlVGQlZWQXNSVUZCVDA4c1JVRkJVVlVzU1VGQlNUVkNMRWRCUVUxT0xFZEJRVTl0UXl4VlFVazVReXhKUVVGTE4wSXNTMEZCVDIxQ0xFVkJRMVlzUjBGQlN6VkNMRVZCUVZGakxFdEJRVXRqTEVWQlFVdHVRaXhIUVVWMlFpeEhRVVJCY1VJc1JVRkJVVVlzUlVGQlNXNUNMRWRCUTFKQkxFbEJRVkZUTEVkQlExWXNSMEZCY1VJc2FVSkJRVlpaTEVWQlExUXNTVUZCUzBRc1MwRkJVVU1zUlVGRFdHNUNMRVZCUVZGdFFpeEZRVUZOUkN4SFFVTmtSaXhGUVVGVlFTeEZRVUZSV1N4SlFVRkpWaXhGUVVGTmJFSXNVVUZITTBJc1IwRkJTVVlzU1VGQlVWVXNSVUZGWmxFc1JVRkVSVW9zUlVGQlRWWXNVVUZCVVcxQ0xFOUJRVk5zUXl4RlFVRmpaME1zUjBGRE4wSklMRVZCUVZGTkxFbEJRVWxzUXl4RlFVRlZLMElzU1VGRmRFSklMRVZCUVZGUExFbEJRVWxLTEZGQlJXNUNMRWRCUVVsTExFMUJRVTFETEZGQlFWRk9MRWRCUTNaQ0xFbEJRVXRETEV0QlFWTkVMRVZCUTFBNVFpeEZRVUZSWXl4TFFVRkxaMElzUlVGQlQwTXNTMEZKY2tKS0xFVkJSbWxDTEdsQ1FVUnlRbmhDTEVWQlFWRXlRaXhGUVVGTlF5eEpRVVZTVWl4RlFVRk5WaXhSUVVGUmJVSXNUMEZCVTJ4RExFVkJRV05MTEVkQlF6ZENkMElzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVXQzUWl4SlFVRkpiRU1zUlVGQlZVa3NTVUZCVVcxRExFdEJSWFpEV0N4RlFVRlJWU3hKUVVGSk5VSXNSVUZCUzA0c1IwRkJUMjFETEV0QlJ6RkNiRUlzUlVGQlQwOHNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVMU9MRWRCUVU5dFF5eFZRVWR3UWl4cFFrRkJWbElzUlVGRGFFSklMRVZCUVZWUUxFVkJRVTlQTEVWQlFWRlZMRWxCUVVrMVFpeEhRVUZOY1VJc1IwRkJUMUVzUzBGRmNrSXNhVUpCUVZaU0xFZEJRWE5DVUN4RlFVRk5WaXhSUVVGUmJVSXNUMEZCVTJ4RExFVkJRV05uUXl4SFFVTndSVWdzUlVGQlZVRXNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVdDNRaXhKUVVGSmJFTXNSVUZCVlN0Q0xFbEJRVkZSTEUxQlJYQkRMRTFCUVZSU0xFbEJRMFpCTEVWQlFWRXNTVUZGVmtnc1JVRkJWVUVzUlVGQlVWVXNTVUZCU1RWQ0xFVkJRVXR4UWl4RlFVRk5WU3haUVVGWlJpeE5RVXR5UkN4UFFVRlBXQ3hIUVVkWVRpeEZRVUZqTVVJc1JVRkJVVGhETEU5QlFVOXVRaXhGUVVGVlZpeExRVUZMUXl4UlFVRlJOa0lzVDBGQlVUbENMRXRCUVV0RExGRkJRVkU0UWl4UlFVRlRMRU5CUTJoR1F5eFRRVUZWYUVNc1MwRkJTME1zVVVGQlVTdENMRk5CUTNaQ1F5eHZRa0ZCY1VKcVF5eExRVUZMUXl4UlFVRlJaME1zYzBKQlJUZENla0lzUlVGQlQwTXNSVUZCWVVvc1IwRkJVelpDTEVsQlFVbHNReXhMUVVGTFF5eFJRVUZSYTBNc1lVRkhhRVI0UXl4RlFYQkhVeXhMUVhkSGFrSlBMRXRCUVV0R0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5aWRXbHNaR1Z5TG1wekluMD0iLCIoZnVuY3Rpb24oKXtleHBvcnRzLmRlZmF1bHRzPXsuMTp7ZXhwbGljaXRDaGFya2V5OiExLHRyaW06ITAsbm9ybWFsaXplOiEwLG5vcm1hbGl6ZVRhZ3M6ITEsYXR0cmtleTpcIkBcIixjaGFya2V5OlwiI1wiLGV4cGxpY2l0QXJyYXk6ITEsaWdub3JlQXR0cnM6ITEsbWVyZ2VBdHRyczohMSxleHBsaWNpdFJvb3Q6ITEsdmFsaWRhdG9yOm51bGwseG1sbnM6ITEsZXhwbGljaXRDaGlsZHJlbjohMSxjaGlsZGtleTpcIkBAXCIsY2hhcnNBc0NoaWxkcmVuOiExLGluY2x1ZGVXaGl0ZUNoYXJzOiExLGFzeW5jOiExLHN0cmljdDohMCxhdHRyTmFtZVByb2Nlc3NvcnM6bnVsbCxhdHRyVmFsdWVQcm9jZXNzb3JzOm51bGwsdGFnTmFtZVByb2Nlc3NvcnM6bnVsbCx2YWx1ZVByb2Nlc3NvcnM6bnVsbCxlbXB0eVRhZzpcIlwifSwuMjp7ZXhwbGljaXRDaGFya2V5OiExLHRyaW06ITEsbm9ybWFsaXplOiExLG5vcm1hbGl6ZVRhZ3M6ITEsYXR0cmtleTpcIiRcIixjaGFya2V5OlwiX1wiLGV4cGxpY2l0QXJyYXk6ITAsaWdub3JlQXR0cnM6ITEsbWVyZ2VBdHRyczohMSxleHBsaWNpdFJvb3Q6ITAsdmFsaWRhdG9yOm51bGwseG1sbnM6ITEsZXhwbGljaXRDaGlsZHJlbjohMSxwcmVzZXJ2ZUNoaWxkcmVuT3JkZXI6ITEsY2hpbGRrZXk6XCIkJFwiLGNoYXJzQXNDaGlsZHJlbjohMSxpbmNsdWRlV2hpdGVDaGFyczohMSxhc3luYzohMSxzdHJpY3Q6ITAsYXR0ck5hbWVQcm9jZXNzb3JzOm51bGwsYXR0clZhbHVlUHJvY2Vzc29yczpudWxsLHRhZ05hbWVQcm9jZXNzb3JzOm51bGwsdmFsdWVQcm9jZXNzb3JzOm51bGwscm9vdE5hbWU6XCJyb290XCIseG1sZGVjOnt2ZXJzaW9uOlwiMS4wXCIsZW5jb2Rpbmc6XCJVVEYtOFwiLHN0YW5kYWxvbmU6ITB9LGRvY3R5cGU6bnVsbCxyZW5kZXJPcHRzOntwcmV0dHk6ITAsaW5kZW50OlwiICBcIixuZXdsaW5lOlwiXFxuXCJ9LGhlYWRsZXNzOiExLGNodW5rU2l6ZToxZTQsZW1wdHlUYWc6XCJcIixjZGF0YTohMX19fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxabUYxYkhSekxtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKa1pXWmhkV3gwY3lJc0lqQXVNU0lzSW1WNGNHeHBZMmwwUTJoaGNtdGxlU0lzSW5SeWFXMGlMQ0p1YjNKdFlXeHBlbVVpTENKdWIzSnRZV3hwZW1WVVlXZHpJaXdpWVhSMGNtdGxlU0lzSW1Ob1lYSnJaWGtpTENKbGVIQnNhV05wZEVGeWNtRjVJaXdpYVdkdWIzSmxRWFIwY25NaUxDSnRaWEpuWlVGMGRISnpJaXdpWlhod2JHbGphWFJTYjI5MElpd2lkbUZzYVdSaGRHOXlJaXdpZUcxc2JuTWlMQ0psZUhCc2FXTnBkRU5vYVd4a2NtVnVJaXdpWTJocGJHUnJaWGtpTENKamFHRnljMEZ6UTJocGJHUnlaVzRpTENKcGJtTnNkV1JsVjJocGRHVkRhR0Z5Y3lJc0ltRnplVzVqSWl3aWMzUnlhV04wSWl3aVlYUjBjazVoYldWUWNtOWpaWE56YjNKeklpd2lZWFIwY2xaaGJIVmxVSEp2WTJWemMyOXljeUlzSW5SaFowNWhiV1ZRY205alpYTnpiM0p6SWl3aWRtRnNkV1ZRY205alpYTnpiM0p6SWl3aVpXMXdkSGxVWVdjaUxDSXdMaklpTENKd2NtVnpaWEoyWlVOb2FXeGtjbVZ1VDNKa1pYSWlMQ0p5YjI5MFRtRnRaU0lzSW5odGJHUmxZeUlzSW5abGNuTnBiMjRpTENKbGJtTnZaR2x1WnlJc0luTjBZVzVrWVd4dmJtVWlMQ0prYjJOMGVYQmxJaXdpY21WdVpHVnlUM0IwY3lJc0luQnlaWFIwZVNJc0ltbHVaR1Z1ZENJc0ltNWxkMnhwYm1VaUxDSm9aV0ZrYkdWemN5SXNJbU5vZFc1clUybDZaU0lzSW1Oa1lYUmhJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFZCTEZGQlFWRkRMRk5CUVZjc1EwRkRha0pETEVkQlFVOHNRMEZEVEVNc2FVSkJRV2xDTEVWQlEycENReXhOUVVGTkxFVkJRMDVETEZkQlFWY3NSVUZEV0VNc1pVRkJaU3hGUVVObVF5eFJRVUZUTEVsQlExUkRMRkZCUVZNc1NVRkRWRU1zWlVGQlpTeEZRVU5tUXl4aFFVRmhMRVZCUTJKRExGbEJRVmtzUlVGRFdrTXNZMEZCWXl4RlFVTmtReXhWUVVGWExFdEJRMWhETEU5QlFVOHNSVUZEVUVNc2EwSkJRV3RDTEVWQlEyeENReXhUUVVGVkxFdEJRMVpETEdsQ1FVRnBRaXhGUVVOcVFrTXNiVUpCUVcxQ0xFVkJRMjVDUXl4UFFVRlBMRVZCUTFCRExGRkJRVkVzUlVGRFVrTXNiVUpCUVc5Q0xFdEJRM0JDUXl4dlFrRkJjVUlzUzBGRGNrSkRMR3RDUVVGdFFpeExRVU51UWtNc1owSkJRV2xDTEV0QlEycENReXhUUVVGVkxFbEJSVnBETEVkQlFVOHNRMEZEVEhaQ0xHbENRVUZwUWl4RlFVTnFRa01zVFVGQlRTeEZRVU5PUXl4WFFVRlhMRVZCUTFoRExHVkJRV1VzUlVGRFprTXNVVUZCVXl4SlFVTlVReXhSUVVGVExFbEJRMVJETEdWQlFXVXNSVUZEWmtNc1lVRkJZU3hGUVVOaVF5eFpRVUZaTEVWQlExcERMR05CUVdNc1JVRkRaRU1zVlVGQlZ5eExRVU5ZUXl4UFFVRlBMRVZCUTFCRExHdENRVUZyUWl4RlFVTnNRbGtzZFVKQlFYVkNMRVZCUTNaQ1dDeFRRVUZWTEV0QlExWkRMR2xDUVVGcFFpeEZRVU5xUWtNc2JVSkJRVzFDTEVWQlEyNUNReXhQUVVGUExFVkJRMUJETEZGQlFWRXNSVUZEVWtNc2JVSkJRVzlDTEV0QlEzQkNReXh2UWtGQmNVSXNTMEZEY2tKRExHdENRVUZ0UWl4TFFVTnVRa01zWjBKQlFXbENMRXRCUTJwQ1NTeFRRVUZWTEU5QlExWkRMRTlCUVZFc1EwRkRUa01zVVVGQlZ5eE5RVU5ZUXl4VFFVRlpMRkZCUTFwRExGbEJRV01zUjBGRmFFSkRMRkZCUVZNc1MwRkRWRU1zVjBGQldTeERRVU5XUXl4UlFVRlZMRVZCUTFaRExFOUJRVlVzUzBGRFZrTXNVVUZCVnl4TlFVVmlReXhWUVVGVkxFVkJRMVpETEZWQlFWY3NTVUZEV0dRc1UwRkJWU3hIUVVOV1pTeFBRVUZQTEUxQlNWWkRMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5a1pXWmhkV3gwY3k1cWN5SjkiLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdCxyLHMsZSxpLG4sbyxhLGg9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShyLGFyZ3VtZW50cyl9fSxwPXt9Lmhhc093blByb3BlcnR5O289cmVxdWlyZShcInNheFwiKSxzPXJlcXVpcmUoXCJldmVudHNcIiksdD1yZXF1aXJlKFwiLi9ib21cIiksbj1yZXF1aXJlKFwiLi9wcm9jZXNzb3JzXCIpLGE9cmVxdWlyZShcInRpbWVyc1wiKS5zZXRJbW1lZGlhdGUscj1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKS5kZWZhdWx0cyxlPWZ1bmN0aW9uKHQpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiB0JiZudWxsIT10JiYwPT09T2JqZWN0LmtleXModCkubGVuZ3RofSxpPWZ1bmN0aW9uKHQscixzKXt2YXIgZSxpO2ZvcihlPTAsaT10Lmxlbmd0aDtlPGk7ZSsrKXI9KDAsdFtlXSkocixzKTtyZXR1cm4gcn0sZXhwb3J0cy5QYXJzZXI9ZnVuY3Rpb24oYyl7ZnVuY3Rpb24gdSh0KXt2YXIgcyxlLGk7aWYodGhpcy5wYXJzZVN0cmluZ1Byb21pc2U9aCh0aGlzLnBhcnNlU3RyaW5nUHJvbWlzZSx0aGlzKSx0aGlzLnBhcnNlU3RyaW5nPWgodGhpcy5wYXJzZVN0cmluZyx0aGlzKSx0aGlzLnJlc2V0PWgodGhpcy5yZXNldCx0aGlzKSx0aGlzLmFzc2lnbk9yUHVzaD1oKHRoaXMuYXNzaWduT3JQdXNoLHRoaXMpLHRoaXMucHJvY2Vzc0FzeW5jPWgodGhpcy5wcm9jZXNzQXN5bmMsdGhpcyksISh0aGlzIGluc3RhbmNlb2YgZXhwb3J0cy5QYXJzZXIpKXJldHVybiBuZXcgZXhwb3J0cy5QYXJzZXIodCk7Zm9yKHMgaW4gdGhpcy5vcHRpb25zPXt9LGU9clsuMl0pcC5jYWxsKGUscykmJihpPWVbc10sdGhpcy5vcHRpb25zW3NdPWkpO2ZvcihzIGluIHQpcC5jYWxsKHQscykmJihpPXRbc10sdGhpcy5vcHRpb25zW3NdPWkpO3RoaXMub3B0aW9ucy54bWxucyYmKHRoaXMub3B0aW9ucy54bWxuc2tleT10aGlzLm9wdGlvbnMuYXR0cmtleStcIm5zXCIpLHRoaXMub3B0aW9ucy5ub3JtYWxpemVUYWdzJiYodGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzfHwodGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzPVtdKSx0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnMudW5zaGlmdChuLm5vcm1hbGl6ZSkpLHRoaXMucmVzZXQoKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIHMgaW4gcilwLmNhbGwocixzKSYmKHRbc109cltzXSk7ZnVuY3Rpb24gZSgpe3RoaXMuY29uc3RydWN0b3I9dH1lLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgZSx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0odSxzKSx1LnByb3RvdHlwZS5wcm9jZXNzQXN5bmM9ZnVuY3Rpb24oKXt2YXIgdCxyO3RyeXtyZXR1cm4gdGhpcy5yZW1haW5pbmcubGVuZ3RoPD10aGlzLm9wdGlvbnMuY2h1bmtTaXplPyh0PXRoaXMucmVtYWluaW5nLHRoaXMucmVtYWluaW5nPVwiXCIsdGhpcy5zYXhQYXJzZXI9dGhpcy5zYXhQYXJzZXIud3JpdGUodCksdGhpcy5zYXhQYXJzZXIuY2xvc2UoKSk6KHQ9dGhpcy5yZW1haW5pbmcuc3Vic3RyKDAsdGhpcy5vcHRpb25zLmNodW5rU2l6ZSksdGhpcy5yZW1haW5pbmc9dGhpcy5yZW1haW5pbmcuc3Vic3RyKHRoaXMub3B0aW9ucy5jaHVua1NpemUsdGhpcy5yZW1haW5pbmcubGVuZ3RoKSx0aGlzLnNheFBhcnNlcj10aGlzLnNheFBhcnNlci53cml0ZSh0KSxhKHRoaXMucHJvY2Vzc0FzeW5jKSl9Y2F0Y2godCl7aWYocj10LCF0aGlzLnNheFBhcnNlci5lcnJUaHJvd24pcmV0dXJuIHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMCx0aGlzLmVtaXQocil9fSx1LnByb3RvdHlwZS5hc3NpZ25PclB1c2g9ZnVuY3Rpb24odCxyLHMpe3JldHVybiByIGluIHQ/KHRbcl1pbnN0YW5jZW9mIEFycmF5fHwodFtyXT1bdFtyXV0pLHRbcl0ucHVzaChzKSk6dGhpcy5vcHRpb25zLmV4cGxpY2l0QXJyYXk/dFtyXT1bc106dFtyXT1zfSx1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3ZhciB0LHIscyxuLGE7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zYXhQYXJzZXI9by5wYXJzZXIodGhpcy5vcHRpb25zLnN0cmljdCx7dHJpbTohMSxub3JtYWxpemU6ITEseG1sbnM6dGhpcy5vcHRpb25zLnhtbG5zfSksdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSExLHRoaXMuc2F4UGFyc2VyLm9uZXJyb3I9KGE9dGhpcyxmdW5jdGlvbih0KXtpZihhLnNheFBhcnNlci5yZXN1bWUoKSwhYS5zYXhQYXJzZXIuZXJyVGhyb3duKXJldHVybiBhLnNheFBhcnNlci5lcnJUaHJvd249ITAsYS5lbWl0KFwiZXJyb3JcIix0KX0pLHRoaXMuc2F4UGFyc2VyLm9uZW5kPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2lmKCF0LnNheFBhcnNlci5lbmRlZClyZXR1cm4gdC5zYXhQYXJzZXIuZW5kZWQ9ITAsdC5lbWl0KFwiZW5kXCIsdC5yZXN1bHRPYmplY3QpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIuZW5kZWQ9ITEsdGhpcy5FWFBMSUNJVF9DSEFSS0VZPXRoaXMub3B0aW9ucy5leHBsaWNpdENoYXJrZXksdGhpcy5yZXN1bHRPYmplY3Q9bnVsbCxuPVtdLHQ9dGhpcy5vcHRpb25zLmF0dHJrZXkscj10aGlzLm9wdGlvbnMuY2hhcmtleSx0aGlzLnNheFBhcnNlci5vbm9wZW50YWc9ZnVuY3Rpb24ocyl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBvLGEsaCxjLHU7aWYoKGg9e30pW3JdPVwiXCIsIXMub3B0aW9ucy5pZ25vcmVBdHRycylmb3IobyBpbiB1PWUuYXR0cmlidXRlcylwLmNhbGwodSxvKSYmKHQgaW4gaHx8cy5vcHRpb25zLm1lcmdlQXR0cnN8fChoW3RdPXt9KSxhPXMub3B0aW9ucy5hdHRyVmFsdWVQcm9jZXNzb3JzP2kocy5vcHRpb25zLmF0dHJWYWx1ZVByb2Nlc3NvcnMsZS5hdHRyaWJ1dGVzW29dLG8pOmUuYXR0cmlidXRlc1tvXSxjPXMub3B0aW9ucy5hdHRyTmFtZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMuYXR0ck5hbWVQcm9jZXNzb3JzLG8pOm8scy5vcHRpb25zLm1lcmdlQXR0cnM/cy5hc3NpZ25PclB1c2goaCxjLGEpOmhbdF1bY109YSk7cmV0dXJuIGhbXCIjbmFtZVwiXT1zLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnMsZS5uYW1lKTplLm5hbWUscy5vcHRpb25zLnhtbG5zJiYoaFtzLm9wdGlvbnMueG1sbnNrZXldPXt1cmk6ZS51cmksbG9jYWw6ZS5sb2NhbH0pLG4ucHVzaChoKX19KHRoaXMpLHRoaXMuc2F4UGFyc2VyLm9uY2xvc2V0YWc9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHMsbyxhLGgsYyx1LGwsbSxmLFA7aWYodT1uLnBvcCgpLGM9dVtcIiNuYW1lXCJdLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiZ0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyfHxkZWxldGUgdVtcIiNuYW1lXCJdLCEwPT09dS5jZGF0YSYmKHM9dS5jZGF0YSxkZWxldGUgdS5jZGF0YSksZj1uW24ubGVuZ3RoLTFdLHVbcl0ubWF0Y2goL15cXHMqJC8pJiYhcz8obz11W3JdLGRlbGV0ZSB1W3JdKToodC5vcHRpb25zLnRyaW0mJih1W3JdPXVbcl0udHJpbSgpKSx0Lm9wdGlvbnMubm9ybWFsaXplJiYodVtyXT11W3JdLnJlcGxhY2UoL1xcc3syLH0vZyxcIiBcIikudHJpbSgpKSx1W3JdPXQub3B0aW9ucy52YWx1ZVByb2Nlc3NvcnM/aSh0Lm9wdGlvbnMudmFsdWVQcm9jZXNzb3JzLHVbcl0sYyk6dVtyXSwxPT09T2JqZWN0LmtleXModSkubGVuZ3RoJiZyIGluIHUmJiF0LkVYUExJQ0lUX0NIQVJLRVkmJih1PXVbcl0pKSxlKHUpJiYodT1cIlwiIT09dC5vcHRpb25zLmVtcHR5VGFnP3Qub3B0aW9ucy5lbXB0eVRhZzpvKSxudWxsIT10Lm9wdGlvbnMudmFsaWRhdG9yJiYoUD1cIi9cIitmdW5jdGlvbigpe3ZhciB0LHIscztmb3Iocz1bXSx0PTAscj1uLmxlbmd0aDt0PHI7dCsrKWg9blt0XSxzLnB1c2goaFtcIiNuYW1lXCJdKTtyZXR1cm4gc30oKS5jb25jYXQoYykuam9pbihcIi9cIiksZnVuY3Rpb24oKXt2YXIgcjt0cnl7dT10Lm9wdGlvbnMudmFsaWRhdG9yKFAsZiYmZltjXSx1KX1jYXRjaChzKXtyZXR1cm4gcj1zLHQuZW1pdChcImVycm9yXCIscil9fSgpKSx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmIXQub3B0aW9ucy5tZXJnZUF0dHJzJiZcIm9iamVjdFwiPT10eXBlb2YgdSlpZih0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyKXtpZihmKXtmb3IoYSBpbiBmW3Qub3B0aW9ucy5jaGlsZGtleV09Zlt0Lm9wdGlvbnMuY2hpbGRrZXldfHxbXSxsPXt9LHUpcC5jYWxsKHUsYSkmJihsW2FdPXVbYV0pO2ZbdC5vcHRpb25zLmNoaWxka2V5XS5wdXNoKGwpLGRlbGV0ZSB1W1wiI25hbWVcIl0sMT09PU9iamVjdC5rZXlzKHUpLmxlbmd0aCYmciBpbiB1JiYhdC5FWFBMSUNJVF9DSEFSS0VZJiYodT11W3JdKX19ZWxzZSBoPXt9LHQub3B0aW9ucy5hdHRya2V5IGluIHUmJihoW3Qub3B0aW9ucy5hdHRya2V5XT11W3Qub3B0aW9ucy5hdHRya2V5XSxkZWxldGUgdVt0Lm9wdGlvbnMuYXR0cmtleV0pLCF0Lm9wdGlvbnMuY2hhcnNBc0NoaWxkcmVuJiZ0Lm9wdGlvbnMuY2hhcmtleSBpbiB1JiYoaFt0Lm9wdGlvbnMuY2hhcmtleV09dVt0Lm9wdGlvbnMuY2hhcmtleV0sZGVsZXRlIHVbdC5vcHRpb25zLmNoYXJrZXldKSxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh1KS5sZW5ndGg+MCYmKGhbdC5vcHRpb25zLmNoaWxka2V5XT11KSx1PWg7cmV0dXJuIG4ubGVuZ3RoPjA/dC5hc3NpZ25PclB1c2goZixjLHUpOih0Lm9wdGlvbnMuZXhwbGljaXRSb290JiYobT11LCh1PXt9KVtjXT1tKSx0LnJlc3VsdE9iamVjdD11LHQuc2F4UGFyc2VyLmVuZGVkPSEwLHQuZW1pdChcImVuZFwiLHQucmVzdWx0T2JqZWN0KSl9fSh0aGlzKSxzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihzKXt2YXIgZSxpO2lmKGk9bltuLmxlbmd0aC0xXSlyZXR1cm4gaVtyXSs9cyx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmdC5vcHRpb25zLnByZXNlcnZlQ2hpbGRyZW5PcmRlciYmdC5vcHRpb25zLmNoYXJzQXNDaGlsZHJlbiYmKHQub3B0aW9ucy5pbmNsdWRlV2hpdGVDaGFyc3x8XCJcIiE9PXMucmVwbGFjZSgvXFxcXG4vZyxcIlwiKS50cmltKCkpJiYoaVt0Lm9wdGlvbnMuY2hpbGRrZXldPWlbdC5vcHRpb25zLmNoaWxka2V5XXx8W10sKGU9e1wiI25hbWVcIjpcIl9fdGV4dF9fXCJ9KVtyXT1zLHQub3B0aW9ucy5ub3JtYWxpemUmJihlW3JdPWVbcl0ucmVwbGFjZSgvXFxzezIsfS9nLFwiIFwiKS50cmltKCkpLGlbdC5vcHRpb25zLmNoaWxka2V5XS5wdXNoKGUpKSxpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIub250ZXh0PXMsdGhpcy5zYXhQYXJzZXIub25jZGF0YT1mdW5jdGlvbih0KXt2YXIgcjtpZihyPXModCkpcmV0dXJuIHIuY2RhdGE9ITB9fSx1LnByb3RvdHlwZS5wYXJzZVN0cmluZz1mdW5jdGlvbihyLHMpe3ZhciBlO251bGwhPXMmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJih0aGlzLm9uKFwiZW5kXCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVzZXQoKSxzKG51bGwsdCl9KSx0aGlzLm9uKFwiZXJyb3JcIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNldCgpLHModCl9KSk7dHJ5e3JldHVyblwiXCI9PT0ocj1yLnRvU3RyaW5nKCkpLnRyaW0oKT8odGhpcy5lbWl0KFwiZW5kXCIsbnVsbCksITApOihyPXQuc3RyaXBCT00ociksdGhpcy5vcHRpb25zLmFzeW5jPyh0aGlzLnJlbWFpbmluZz1yLGEodGhpcy5wcm9jZXNzQXN5bmMpLHRoaXMuc2F4UGFyc2VyKTp0aGlzLnNheFBhcnNlci53cml0ZShyKS5jbG9zZSgpKX1jYXRjaCh0KXtpZihlPXQsIXRoaXMuc2F4UGFyc2VyLmVyclRocm93biYmIXRoaXMuc2F4UGFyc2VyLmVuZGVkKXJldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLGUpLHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMDtpZih0aGlzLnNheFBhcnNlci5lbmRlZCl0aHJvdyBlfX0sdS5wcm90b3R5cGUucGFyc2VTdHJpbmdQcm9taXNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgocj10aGlzLGZ1bmN0aW9uKHMsZSl7cmV0dXJuIHIucGFyc2VTdHJpbmcodCxmdW5jdGlvbih0LHIpe3JldHVybiB0P2UodCk6cyhyKX0pfSkpO3ZhciByfSx1fSgpLGV4cG9ydHMucGFyc2VTdHJpbmc9ZnVuY3Rpb24odCxyLHMpe3ZhciBlLGk7cmV0dXJuIG51bGwhPXM/KFwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJihlPXMpLFwib2JqZWN0XCI9PXR5cGVvZiByJiYoaT1yKSk6KFwiZnVuY3Rpb25cIj09dHlwZW9mIHImJihlPXIpLGk9e30pLG5ldyBleHBvcnRzLlBhcnNlcihpKS5wYXJzZVN0cmluZyh0LGUpfSxleHBvcnRzLnBhcnNlU3RyaW5nUHJvbWlzZT1mdW5jdGlvbih0LHIpe3ZhciBzO3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiByJiYocz1yKSxuZXcgZXhwb3J0cy5QYXJzZXIocykucGFyc2VTdHJpbmdQcm9taXNlKHQpfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJoY25ObGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKaWIyMGlMQ0prWldaaGRXeDBjeUlzSW1WMlpXNTBjeUlzSW1selJXMXdkSGtpTENKd2NtOWpaWE56U1hSbGJTSXNJbkJ5YjJObGMzTnZjbk1pTENKellYZ2lMQ0p6WlhSSmJXMWxaR2xoZEdVaUxDSmlhVzVrSWl3aVptNGlMQ0p0WlNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJblJvYVc1bklpd2lUMkpxWldOMElpd2lhMlY1Y3lJc0lteGxibWQwYUNJc0ltbDBaVzBpTENKclpYa2lMQ0pwSWl3aWJHVnVJaXdpY0hKdlkyVnpjeUlzSW1WNGNHOXlkSE1pTENKUVlYSnpaWElpTENKemRYQmxja05zWVhOeklpd2liM0IwY3lJc0luSmxaaUlzSW5aaGJIVmxJaXdpZEdocGN5SXNJbkJoY25ObFUzUnlhVzVuVUhKdmJXbHpaU0lzSW5CaGNuTmxVM1J5YVc1bklpd2ljbVZ6WlhRaUxDSmhjM05wWjI1UGNsQjFjMmdpTENKd2NtOWpaWE56UVhONWJtTWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbmh0Ykc1eklpd2llRzFzYm5OclpYa2lMQ0poZEhSeWEyVjVJaXdpYm05eWJXRnNhWHBsVkdGbmN5SXNJblJoWjA1aGJXVlFjbTlqWlhOemIzSnpJaXdpZFc1emFHbG1kQ0lzSW01dmNtMWhiR2w2WlNJc0ltTm9hV3hrSWl3aWNHRnlaVzUwSWl3aVkzUnZjaUlzSW1OdmJuTjBjblZqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWDE5emRYQmxjbDlmSWl3aVpYaDBaVzVrSWl3aVkyaDFibXNpTENKbGNuSWlMQ0p5WlcxaGFXNXBibWNpTENKamFIVnVhMU5wZW1VaUxDSnpZWGhRWVhKelpYSWlMQ0ozY21sMFpTSXNJbU5zYjNObElpd2ljM1ZpYzNSeUlpd2laWEp5YjNJeElpd2laWEp5VkdoeWIzZHVJaXdpWlcxcGRDSXNJbTlpYWlJc0ltNWxkMVpoYkhWbElpd2lRWEp5WVhraUxDSndkWE5vSWl3aVpYaHdiR2xqYVhSQmNuSmhlU0lzSW1Ob1lYSnJaWGtpTENKdmJuUmxlSFFpTENKemRHRmpheUlzSWw5MGFHbHpJaXdpY21WdGIzWmxRV3hzVEdsemRHVnVaWEp6SWl3aWNHRnljMlZ5SWl3aWMzUnlhV04wSWl3aWRISnBiU0lzSW05dVpYSnliM0lpTENKbGNuSnZjaUlzSW5KbGMzVnRaU0lzSW05dVpXNWtJaXdpWlc1a1pXUWlMQ0p5WlhOMWJIUlBZbXBsWTNRaUxDSkZXRkJNU1VOSlZGOURTRUZTUzBWWklpd2laWGh3YkdsamFYUkRhR0Z5YTJWNUlpd2liMjV2Y0dWdWRHRm5JaXdpYm05a1pTSXNJbkJ5YjJObGMzTmxaRXRsZVNJc0ltbG5ibTl5WlVGMGRISnpJaXdpWVhSMGNtbGlkWFJsY3lJc0ltMWxjbWRsUVhSMGNuTWlMQ0poZEhSeVZtRnNkV1ZRY205alpYTnpiM0p6SWl3aVlYUjBjazVoYldWUWNtOWpaWE56YjNKeklpd2libUZ0WlNJc0luVnlhU0lzSW14dlkyRnNJaXdpYjI1amJHOXpaWFJoWnlJc0ltTmtZWFJoSWl3aVpXMXdkSGxUZEhJaUxDSnViMlJsVG1GdFpTSXNJbTlpYWtOc2IyNWxJaXdpYjJ4a0lpd2ljeUlzSW5od1lYUm9JaXdpY0c5d0lpd2laWGh3YkdsamFYUkRhR2xzWkhKbGJpSXNJbkJ5WlhObGNuWmxRMmhwYkdSeVpXNVBjbVJsY2lJc0ltMWhkR05vSWl3aWNtVndiR0ZqWlNJc0luWmhiSFZsVUhKdlkyVnpjMjl5Y3lJc0ltVnRjSFI1VkdGbklpd2lkbUZzYVdSaGRHOXlJaXdpY21WemRXeDBjeUlzSW1OdmJtTmhkQ0lzSW1wdmFXNGlMQ0pqYUdsc1pHdGxlU0lzSW1Ob1lYSnpRWE5EYUdsc1pISmxiaUlzSW1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNaUxDSmxlSEJzYVdOcGRGSnZiM1FpTENKMFpYaDBJaXdpWTJoaGNrTm9hV3hrSWl3aWFXNWpiSFZrWlZkb2FYUmxRMmhoY25NaUxDSWpibUZ0WlNJc0ltOXVZMlJoZEdFaUxDSnpkSElpTENKallpSXNJbTl1SWl3aWNtVnpkV3gwSWl3aWRHOVRkSEpwYm1jaUxDSnpkSEpwY0VKUFRTSXNJbUZ6ZVc1aklpd2lVSEp2YldselpTSXNJbkpsYzI5c2RtVWlMQ0p5WldwbFkzUWlMQ0poSWl3aVlpSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJRVXRETEVWQlFWVkRMRVZCUVZGRExFVkJRVk5ETEVWQlFXRkRMRVZCUVZsRExFVkJRVXRETEVWQlEyaEZReXhGUVVGUExGTkJRVk5ETEVWQlFVbERMRWRCUVVzc1QwRkJUeXhYUVVGWkxFOUJRVTlFTEVWQlFVZEZMRTFCUVUxRUxFVkJRVWxGTEdGQlJXaEZReXhGUVVGVkxFZEJRVWRETEdWQlJXWlNMRVZCUVUxVExGRkJRVkVzVDBGRlpHSXNSVUZCVTJFc1VVRkJVU3hWUVVWcVFtWXNSVUZCVFdVc1VVRkJVU3hUUVVWa1ZpeEZRVUZoVlN4UlFVRlJMR2RDUVVWeVFsSXNSVUZCWlZFc1VVRkJVU3hWUVVGVlVpeGhRVVZxUTA0c1JVRkJWMk1zVVVGQlVTeGpRVUZqWkN4VFFVVnFRMFVzUlVGQlZTeFRRVUZUWVN4SFFVTnFRaXhOUVVGM1FpeHBRa0ZCVmtFc1IwRkJaME1zVFVGQlZFRXNSMEZCWjBRc1NVRkJPVUpETEU5QlFVOURMRXRCUVV0R0xFZEJRVTlITEZGQlJ6VkZaaXhGUVVGakxGTkJRVk5ETEVWQlFWbGxMRVZCUVUxRExFZEJRM1pETEVsQlFVbERMRVZCUVVkRExFVkJRMUFzU1VGQlMwUXNSVUZCU1N4RlFVRkhReXhGUVVGTmJFSXNSVUZCVjJNc1QwRkJVVWNzUlVGQlNVTXNSVUZCUzBRc1NVRkZOVU5HTEVkQlJFRkpMRVZCUVZWdVFpeEZRVUZYYVVJc1NVRkRUa1lzUlVGQlRVTXNSMEZGZGtJc1QwRkJUMFFzUjBGSFZFc3NVVUZCVVVNc1QwRkJVeXhUUVVGVlF5eEhRVWQ2UWl4VFFVRlRSQ3hGUVVGUFJTeEhRVTFrTEVsQlFVbFFMRVZCUVV0UkxFVkJRVXRETEVWQlEyUXNSMEZPUVVNc1MwRkJTME1zYlVKQlFYRkNlRUlzUlVGQlMzVkNMRXRCUVV0RExHMUNRVUZ2UWtRc1RVRkRlRVJCTEV0QlFVdEZMRmxCUVdONlFpeEZRVUZMZFVJc1MwRkJTMFVzV1VGQllVWXNUVUZETVVOQkxFdEJRVXRITEUxQlFWRXhRaXhGUVVGTGRVSXNTMEZCUzBjc1RVRkJUMGdzVFVGRE9VSkJMRXRCUVV0SkxHRkJRV1V6UWl4RlFVRkxkVUlzUzBGQlMwa3NZVUZCWTBvc1RVRkROVU5CTEV0QlFVdExMR0ZCUVdVMVFpeEZRVUZMZFVJc1MwRkJTMHNzWVVGQlkwd3NVVUZGZEVOQkxHZENRVUZuUWs0c1VVRkJVVU1zVVVGRE5VSXNUMEZCVHl4SlFVRkpSQ3hSUVVGUlF5eFBRVUZQUlN4SFFVazFRaXhKUVVGTFVDeExRVVpNVlN4TFFVRkxUU3hSUVVGVkxFZEJRMlpTTEVWQlFVMDFRaXhGUVVGVExFbEJSVkpaTEVWQlFWRjVRaXhMUVVGTFZDeEZRVUZMVWl4TFFVTjJRbE1zUlVGQlVVUXNSVUZCU1ZJc1IwRkRXbFVzUzBGQlMwMHNVVUZCVVdoQ0xFZEJRVTlUTEVkQlJYUkNMRWxCUVV0VUxFdEJRVTlQTEVWQlEweG1MRVZCUVZGNVFpeExRVUZMVml4RlFVRk5VQ3hMUVVONFFsTXNSVUZCVVVZc1JVRkJTMUFzUjBGRFlsVXNTMEZCUzAwc1VVRkJVV2hDTEVkQlFVOVRMRWRCUld4Q1F5eExRVUZMVFN4UlFVRlJSU3hSUVVObVVpeExRVUZMVFN4UlFVRlJSeXhUUVVGWFZDeExRVUZMVFN4UlFVRlJTU3hSUVVGVkxFMUJSVGREVml4TFFVRkxUU3hSUVVGUlN5eG5Ra0ZEVmxnc1MwRkJTMDBzVVVGQlVVMHNiMEpCUTJoQ1dpeExRVUZMVFN4UlFVRlJUU3hyUWtGQmIwSXNTVUZGYmtOYUxFdEJRVXROTEZGQlFWRk5MR3RDUVVGclFrTXNVVUZCVVhaRExFVkJRVmQzUXl4WlFVVndSR1FzUzBGQlMwY3NVVUY1VWxBc1QwRjJWbE1zVTBGQlUxa3NSVUZCVDBNc1IwRkJWU3hKUVVGTExFbEJRVWt4UWl4TFFVRlBNRUlzUlVGQlkyeERMRVZCUVZGNVFpeExRVUZMVXl4RlFVRlJNVUlzUzBGQlRYbENMRVZCUVUxNlFpeEhRVUZQTUVJc1JVRkJUekZDTEVsQlFWRXNVMEZCVXpKQ0xFbEJRVk5xUWl4TFFVRkxhMElzV1VGQlkwZ3NSVUZCVTBVc1JVRkJTMFVzVlVGQldVZ3NSVUZCVDBjc1ZVRkJWMG9zUlVGQlRVa3NWVUZCV1N4SlFVRkpSaXhGUVVGUlJpeEZRVUZOU3l4VlFVRlpTaXhGUVVGUFJ5eFZRVFpDYUZGRkxFTkJRVTh4UWl4RlFUUlVUbmhDTEVkQmVGSkVkMElzUlVGQlQzZENMRlZCUVZWa0xHRkJRV1VzVjBGRE9VSXNTVUZCU1dsQ0xFVkJRVTlETEVWQlExZ3NTVUZEUlN4UFFVRkpka0lzUzBGQlMzZENMRlZCUVZWd1F5eFJRVUZWV1N4TFFVRkxUU3hSUVVGUmJVSXNWMEZEZUVOSUxFVkJRVkYwUWl4TFFVRkxkMElzVlVGRFluaENMRXRCUVV0M1FpeFZRVUZaTEVkQlEycENlRUlzUzBGQlN6QkNMRlZCUVZreFFpeExRVUZMTUVJc1ZVRkJWVU1zVFVGQlRVd3NSMEZETDBKMFFpeExRVUZMTUVJc1ZVRkJWVVVzVlVGRmRFSk9MRVZCUVZGMFFpeExRVUZMZDBJc1ZVRkJWVXNzVDBGQlR5eEZRVUZITjBJc1MwRkJTMDBzVVVGQlVXMUNMRmRCUXpsRGVrSXNTMEZCUzNkQ0xGVkJRVmw0UWl4TFFVRkxkMElzVlVGQlZVc3NUMEZCVHpkQ0xFdEJRVXROTEZGQlFWRnRRaXhWUVVGWGVrSXNTMEZCUzNkQ0xGVkJRVlZ3UXl4UlFVTTVSVmtzUzBGQlN6QkNMRlZCUVZreFFpeExRVUZMTUVJc1ZVRkJWVU1zVFVGQlRVd3NSMEZETDBJNVF5eEZRVUZoZDBJc1MwRkJTMHNzWlVGRk0wSXNUVUZCVDNsQ0xFZEJSVkFzUjBGRVFWQXNSVUZCVFU4c1IwRkRSRGxDTEV0QlFVc3dRaXhWUVVGVlN5eFZRVVZzUWl4UFFVUkJMMElzUzBGQlN6QkNMRlZCUVZWTExGZEJRVmtzUlVGRGNFSXZRaXhMUVVGTFowTXNTMEZCUzFRc1MwRkxka0kxUWl4RlFVRlBkMElzVlVGQlZXWXNZVUZCWlN4VFFVRlROa0lzUlVGQlN6TkRMRVZCUVVzMFF5eEhRVU5xUkN4UFFVRk5OVU1zUzBGQlR6SkRMRWRCVDB4QkxFVkJRVWt6UXl4aFFVRm5RalpETEZGQlEzaENSaXhGUVVGSk0wTXNSMEZCVHl4RFFVRkRNa01zUlVGQlNUTkRMRXRCUlZneVF5eEZRVUZKTTBNc1IwRkJTemhETEV0QlFVdEdMRWxCVkdoQ2JFTXNTMEZCUzAwc1VVRkJVU3RDTEdOQlIxUktMRVZCUVVrelF5eEhRVUZQTEVOQlFVTTBReXhIUVVaYVJDeEZRVUZKTTBNc1IwRkJUelJETEVkQldYaENka01zUlVGQlQzZENMRlZCUVZWb1FpeE5RVUZSTEZkQlEzWkNMRWxCUVVsUExFVkJRVk0wUWl4RlFVRlRReXhGUVVGUlF5eEZRVkZMUXl4RlFUQkxia01zVDBGcVRFRjZReXhMUVVGTE1FTXNjVUpCUTB3eFF5eExRVUZMTUVJc1ZVRkJXVzVFTEVWQlFVbHZSU3hQUVVGUE0wTXNTMEZCUzAwc1VVRkJVWE5ETEU5QlFWRXNRMEZETDBORExFMUJRVTBzUlVGRFRpOUNMRmRCUVZjc1JVRkRXRTRzVFVGQlQxSXNTMEZCUzAwc1VVRkJVVVVzVVVGRmRFSlNMRXRCUVVzd1FpeFZRVUZWU3l4WFFVRlpMRVZCUXpOQ0wwSXNTMEZCU3pCQ0xGVkJRVlZ2UWl4VFFVRnZRa3dzUlVGUmFFTjZReXhMUVZCTkxGTkJRVk1yUXl4SFFVVmtMRWRCUkVGT0xFVkJRVTFtTEZWQlFWVnpRaXhWUVVOWVVDeEZRVUZOWml4VlFVRlZTeXhWUVVWdVFpeFBRVVJCVlN4RlFVRk5aaXhWUVVGVlN5eFhRVUZaTEVWQlEzSkNWU3hGUVVGTlZDeExRVUZMTEZGQlFWTmxMRXRCU1dwREwwTXNTMEZCU3pCQ0xGVkJRVlYxUWl4TlFVRlJMRk5CUVZWU0xFZEJReTlDTEU5QlFVOHNWMEZEVEN4SlFVRkxRU3hGUVVGTlppeFZRVUZWZDBJc1RVRkZia0lzVDBGRVFWUXNSVUZCVFdZc1ZVRkJWWGRDTEU5QlFWRXNSVUZEYWtKVUxFVkJRVTFVTEV0QlFVc3NUVUZCVDFNc1JVRkJUVlVzWlVGS1pDeERRVTl3UW01RUxFMUJRMGhCTEV0QlFVc3dRaXhWUVVGVmQwSXNUMEZCVVN4RlFVTjJRbXhFTEV0QlFVdHZSQ3hwUWtGQmJVSndSQ3hMUVVGTFRTeFJRVUZSSzBNc1owSkJRM0pEY2tRc1MwRkJTMjFFTEdGQlFXVXNTMEZEY0VKWUxFVkJRVkVzUjBGRFVqbENMRVZCUVZWV0xFdEJRVXROTEZGQlFWRkpMRkZCUTNaQ05FSXNSVUZCVlhSRExFdEJRVXROTEZGQlFWRm5ReXhSUVVOMlFuUkRMRXRCUVVzd1FpeFZRVUZWTkVJc1ZVRkJXU3hUUVVGVllpeEhRVU51UXl4UFFVRlBMRk5CUVZOakxFZEJRMlFzU1VGQlNXcEZMRVZCUVVzMFF5eEZRVUZWUkN4RlFVRkxkVUlzUlVGQll6RkVMRVZCUjNSRExFbEJSa0Z0UXl4RlFVRk5MRWxCUTBaTExFZEJRVmNzU1VGRFZrY3NSVUZCVFc1RExGRkJRVkZ0UkN4WlFVVnFRaXhKUVVGTGJrVXNTMEZFVEZFc1JVRkJUWGxFTEVWQlFVdEhMRmRCUlVvMVJTeEZRVUZSZVVJc1MwRkJTMVFzUlVGQlMxSXNTMEZEYWtKdlFpeExRVUZYZFVJc1IwRkJVMUVzUlVGQlRXNURMRkZCUVZGeFJDeGhRVU4wUXpGQ0xFVkJRVWwyUWl4SFFVRlhMRWxCUldwQ2QwSXNSVUZCVjA4c1JVRkJUVzVETEZGQlFWRnpSQ3h2UWtGQmMwSjJSaXhGUVVGWmIwVXNSVUZCVFc1RExGRkJRVkZ6UkN4dlFrRkJjVUpNTEVWQlFVdEhMRmRCUVZkd1JTeEhRVUZOUVN4SFFVRlBhVVVzUlVGQlMwY3NWMEZCVjNCRkxFZEJRek5KYTBVc1JVRkJaV1lzUlVGQlRXNURMRkZCUVZGMVJDeHRRa0ZCY1VKNFJpeEZRVUZaYjBVc1JVRkJUVzVETEZGQlFWRjFSQ3h0UWtGQmIwSjJSU3hIUVVGUFFTeEZRVU51UjIxRUxFVkJRVTF1UXl4UlFVRlJjVVFzVjBGRGFFSnNRaXhGUVVGTmNrTXNZVUZCWVRaQ0xFVkJRVXQxUWl4RlFVRmpkRUlzUjBGRmRFTkVMRVZCUVVsMlFpeEhRVUZUT0VNc1IwRkJaMEowUWl4SFFWZHVReXhQUVZCQlJDeEZRVUZKTEZOQlFWZFJMRVZCUVUxdVF5eFJRVUZSVFN4clFrRkJiMEoyUXl4RlFVRlpiMFVzUlVGQlRXNURMRkZCUVZGTkxHdENRVUZ0UWpKRExFVkJRVXRQTEUxQlFWRlFMRVZCUVV0UExFdEJRelZIY2tJc1JVRkJUVzVETEZGQlFWRkZMRkZCUTJoQ2VVSXNSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRkhMRlZCUVZrc1EwRkROVUp6UkN4SlFVRkxVaXhGUVVGTFVTeEpRVU5XUXl4TlFVRlBWQ3hGUVVGTFV5eFJRVWRVZUVJc1JVRkJUVW9zUzBGQlMwZ3NTVUUxUWtzc1EwRTRRbmhDYWtNc1RVRkRTRUVzUzBGQlN6QkNMRlZCUVZWMVF5eFhRVUZoTEZOQlFWVjRRaXhIUVVOd1F5eFBRVUZQTEZkQlEwd3NTVUZCU1hsQ0xFVkJRVTlETEVWQlFWVTNSU3hGUVVGTGFVVXNSVUZCVFdFc1JVRkJWVzVETEVWQlFVdHZReXhGUVVGVlF5eEZRVUZMUXl4RlFVRkhReXhGUVdsRWFrVXNSMEZvUkVGMlF5eEZRVUZOVHl4RlFVRk5hVU1zVFVGRFdrd3NSVUZCVjI1RExFVkJRVWtzVTBGRFZsRXNSVUZCVFc1RExGRkJRVkZ2UlN4clFrRkJjVUpxUXl4RlFVRk5ia01zVVVGQlVYRkZMRGhDUVVNM1F6RkRMRVZCUVVrc1ZVRkZTeXhKUVVGa1FTeEZRVUZKYVVNc1VVRkRUa0VzUlVGQlVXcERMRVZCUVVscFF5eGhRVU5NYWtNc1JVRkJTV2xETEU5QlJXSkxMRVZCUVVrdlFpeEZRVUZOUVN4RlFVRk5jRVFzVDBGQlV5eEhRVU55UWpaRExFVkJRVWxMTEVkQlFWTnpReXhOUVVGTkxGZEJRV0ZXTEVkQlEyeERReXhGUVVGWGJFTXNSVUZCU1Vzc1ZVRkRVa3dzUlVGQlNVc3NTMEZGVUVjc1JVRkJUVzVETEZGQlFWRjFReXhQUVVOb1Fsb3NSVUZCU1Vzc1IwRkJWMHdzUlVGQlNVc3NSMEZCVTA4c1VVRkZNVUpLTEVWQlFVMXVReXhSUVVGUlVTeFpRVU5vUW0xQ0xFVkJRVWxMTEVkQlFWZE1MRVZCUVVsTExFZEJRVk4xUXl4UlFVRlJMRlZCUVZjc1MwRkJTMmhETEZGQlJYUkVXaXhGUVVGSlN5eEhRVUZYUnl4RlFVRk5ia01zVVVGQlVYZEZMR2RDUVVGclFucEhMRVZCUVZsdlJTeEZRVUZOYmtNc1VVRkJVWGRGTEdkQ1FVRnBRamRETEVWQlFVbExMRWRCUVZVNFFpeEhRVUZaYmtNc1JVRkJTVXNzUjBGRGVFWXNTVUZCTlVKd1JDeFBRVUZQUXl4TFFVRkxPRU1zUjBGQlN6ZERMRkZCUVdkQ2EwUXNTMEZCVjB3c1NVRkJVVkVzUlVGQlRWY3NiVUpCUXpWRWJrSXNSVUZCVFVFc1JVRkJTVXNzUzBGSFZteEZMRVZCUVZFMlJDeExRVU5XUVN4RlFVRnBReXhMUVVFelFsRXNSVUZCVFc1RExGRkJRVkY1UlN4VFFVRnJRblJETEVWQlFVMXVReXhSUVVGUmVVVXNVMEZCVjFvc1IwRkZiRU1zVFVGQk0wSXhRaXhGUVVGTmJrTXNVVUZCVVRCRkxGbEJRMmhDVWl4RlFVRlJMRWxCUVU4c1YwRkRZaXhKUVVGSmFrWXNSVUZCUjBNc1JVRkJTM2xHTEVWQlJWb3NTVUZFUVVFc1JVRkJWU3hIUVVOTU1VWXNSVUZCU1N4RlFVRkhReXhGUVVGTlowUXNSVUZCVFhCRUxFOUJRVkZITEVWQlFVbERMRVZCUVV0RUxFbEJRM1pEWjBVc1JVRkJUMllzUlVGQlRXcEVMRWRCUTJJd1JpeEZRVUZSTjBNc1MwRkJTMjFDTEVWQlFVc3NWVUZGY0VJc1QwRkJUekJDTEVWQlVFc3NSMEZSVWtNc1QwRkJUMlFzUjBGQlZXVXNTMEZCU3l4TFFVTTFRaXhYUVVORkxFbEJRVWsxUkN4RlFVTktMRWxCUTFOVkxFVkJRVTFSTEVWQlFVMXVReXhSUVVGUk1FVXNWVUZCVlZJc1JVRkJUMFFzUjBGQlMwRXNSVUZCUlVnc1IwRkJWMjVETEVkQlF6bEVMRTFCUVU5SUxFZEJSVkFzVDBGRVFWQXNSVUZCVFU4c1JVRkRRMWNzUlVGQlRWUXNTMEZCU3l4UlFVRlRWQ3hKUVU0dlFpeEpRVlZGYTBJc1JVRkJUVzVETEZGQlFWRnZSU3h0UWtGQmNVSnFReXhGUVVGTmJrTXNVVUZCVVhGRUxGbEJRVFpDTEdsQ1FVRlNNVUlzUlVGRGVFVXNSMEZCUzFFc1JVRkJUVzVETEZGQlFWRnhSU3gxUWtGaldpeEhRVUZKU2l4RlFVRkhMRU5CUjFvc1NVRkJTMnBHTEV0QlJreHBSaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4VlFVRlpZaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4WFFVRmhMRWRCUTNwRVppeEZRVUZYTEVkQlEwTndReXhGUVVOTWJrUXNSVUZCVVhsQ0xFdEJRVXN3UWl4RlFVRkxNME1zUzBGRGRrSXJSU3hGUVVGVEwwVXNSMEZCVHpKRExFVkJRVWt6UXl4SlFVVjBRbWxHTEVWQlFVVTVRaXhGUVVGTmJrTXNVVUZCVVRoRkxGVkJRVlZvUkN4TFFVRkxhVU1zVlVGRGVFSndReXhGUVVGSkxGTkJRM0ZDTEVsQlFUVkNMME1zVDBGQlQwTXNTMEZCU3poRExFZEJRVXMzUXl4UlFVRm5RbXRFTEV0QlFWZE1MRWxCUVZGUkxFVkJRVTFYTEcxQ1FVTTFSRzVDTEVWQlFVMUJMRVZCUVVsTExGVkJka0phYVVJc1JVRkJUeXhIUVVOSVpDeEZRVUZOYmtNc1VVRkJVVWtzVjBGQlYzVkNMRWxCUXpOQ2MwSXNSVUZCUzJRc1JVRkJUVzVETEZGQlFWRkpMRk5CUVZkMVFpeEZRVUZKVVN4RlFVRk5ia01zVVVGQlVVa3NaMEpCUTNwRGRVSXNSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRkpMRmRCUlhSQ0swSXNSVUZCVFc1RExGRkJRVkVyUlN4cFFrRkJiVUkxUXl4RlFVRk5ia01zVVVGQlVXZERMRmRCUVZkTUxFbEJRemRFYzBJc1JVRkJTMlFzUlVGQlRXNURMRkZCUVZGblF5eFRRVUZYVEN4RlFVRkpVU3hGUVVGTmJrTXNVVUZCVVdkRExHZENRVU42UTB3c1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGblF5eFZRVVYyUW5CRUxFOUJRVTl2Unl4dlFrRkJiMEp5UkN4SFFVRkxOME1zVDBGQlV5eEpRVU16UTIxRkxFVkJRVXRrTEVWQlFVMXVReXhSUVVGUk9FVXNWVUZCV1c1RUxFZEJSV3BEUVN4RlFVRk5jMElzUlVGbFZpeFBRVUZKWml4RlFVRk5jRVFzVDBGQlV5eEZRVU5XY1VRc1JVRkJUWEpETEdGQlFXRnRSU3hGUVVGSFNDeEZRVUZWYmtNc1NVRkZia05STEVWQlFVMXVReXhSUVVGUmFVWXNaVUZEYUVKcVFpeEZRVUZOY2tNc1IwRkRUa0VzUlVGQlRTeEpRVU5HYlVNc1IwRkJXVVVzUjBGRmJFSTNRaXhGUVVGTlZTeGhRVUZsYkVJc1JVRkRja0pSTEVWQlFVMW1MRlZCUVZWM1FpeFBRVUZSTEVWQlEycENWQ3hGUVVGTlZDeExRVUZMTEUxQlFVOVRMRVZCUVUxVkxHZENRVEZHVkN4RFFUWkdla0p1UkN4TlFVTklkVU1zUlVGQlV5eFRRVUZWUlN4SFFVTnFRaXhQUVVGUExGTkJRVk1yUXl4SFFVTmtMRWxCUVVsRExFVkJRVmRzUWl4RlFVVm1MRWRCUkVGQkxFVkJRVWt2UWl4RlFVRk5RU3hGUVVGTmNFUXNUMEZCVXl4SFFXTjJRaXhQUVZwQmJVWXNSVUZCUldwRExFbEJRVmxyUkN4RlFVTldMME1zUlVGQlRXNURMRkZCUVZGdlJTeHJRa0ZCYjBKcVF5eEZRVUZOYmtNc1VVRkJVWEZGTEhWQ1FVRjVRbXhETEVWQlFVMXVReXhSUVVGUkswVXNhMEpCUVc5Q05VTXNSVUZCVFc1RExGRkJRVkZ2Uml4dFFrRkJlVVFzUzBGQmNFTkdMRVZCUVV0WUxGRkJRVkVzVDBGQlVTeEpRVUZKYUVNc1ZVRkRla3N3UWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFZRVUZaWWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFhRVUZoTEVsQlEzcEVTeXhGUVVGWkxFTkJRMVpGTEZGQlFWTXNZVUZGUkhKRUxFZEJRVmRyUkN4RlFVTnFRaTlETEVWQlFVMXVReXhSUVVGUlVTeFpRVU5vUWpKRkxFVkJRVlZ1UkN4SFFVRlhiVVFzUlVGQlZXNUVMRWRCUVZOMVF5eFJRVUZSTEZWQlFWY3NTMEZCUzJoRExGRkJSV3hGTUVJc1JVRkJSVGxDTEVWQlFVMXVReXhSUVVGUk9FVXNWVUZCVldoRUxFdEJRVXR4UkN4SlFVVXhRbXhDTEVkQmFrSktMRU5CYjBKT2RrVXNUVUZEU0VFc1MwRkJTekJDTEZWQlFWVmhMRTlCUVZOQkxFVkJRMnBDZGtNc1MwRkJTekJDTEZWQlFWVnJSU3hSUVVOaUxGTkJRVk5LTEVkQlEyUXNTVUZCU1dwQ0xFVkJSVW9zUjBGRVFVRXNSVUZCU1doRExFVkJRVTlwUkN4SFFVVlVMRTlCUVU5cVFpeEZRVUZGVEN4UFFVRlJMRWxCVFhwQ2RrVXNSVUZCVDNkQ0xGVkJRVlZxUWl4WlFVRmpMRk5CUVZNeVJpeEZRVUZMUXl4SFFVTXpReXhKUVVGSmRrVXNSVUZEVHl4TlFVRk9kVVVzUjBGQk5rSXNiVUpCUVZCQkxFbEJRM3BDT1VZc1MwRkJTeXRHTEVkQlFVY3NUVUZCVHl4VFFVRlRReXhIUVVWMFFpeFBRVVJCYUVjc1MwRkJTMGNzVVVGRFJUSkdMRVZCUVVjc1MwRkJUVVVzUzBGRmJFSm9SeXhMUVVGTEswWXNSMEZCUnl4UlFVRlRMRk5CUVZONFJTeEhRVVY0UWl4UFFVUkJka0lzUzBGQlMwY3NVVUZEUlRKR0xFVkJRVWQyUlN4TlFVZGtMRWxCUlVVc1RVRkJiVUlzVFVGRWJrSnpSU3hGUVVGTlFTeEZRVUZKU1N4WlFVTkdjRVFzVVVGRFRqZERMRXRCUVV0blF5eExRVUZMTEUxQlFVOHNUMEZEVml4SlFVVlVOa1FzUlVGQlRUVklMRVZCUVVscFNTeFRRVUZUVEN4SFFVTm1OMFlzUzBGQlMwMHNVVUZCVVRaR0xFOUJRMlp1Unl4TFFVRkxkMElzVlVGQldYRkZMRVZCUTJwQ2NrZ3NSVUZCWVhkQ0xFdEJRVXRMTEdOQlExaE1MRXRCUVVzd1FpeFhRVVZRTVVJc1MwRkJTekJDTEZWQlFWVkRMRTFCUVUxclJTeEhRVUZMYWtVc1UwRkRha01zVFVGQlQwVXNSMEZGVUN4SFFVUkJVQ3hGUVVGTlR5eEhRVU5CT1VJc1MwRkJTekJDTEZWQlFWVkxMRmxCUVdFdlFpeExRVUZMTUVJc1ZVRkJWWGRDTEUxQlJTOURMRTlCUkVGc1JDeExRVUZMWjBNc1MwRkJTeXhSUVVGVFZDeEhRVU5hZGtJc1MwRkJTekJDTEZWQlFWVkxMRmRCUVZrc1JVRkROMElzUjBGQlNTOUNMRXRCUVVzd1FpeFZRVUZWZDBJc1RVRkRlRUlzVFVGQlRUTkNMRWxCUzFvMVFpeEZRVUZQZDBJc1ZVRkJWV3hDTEcxQ1FVRnhRaXhUUVVGVE5FWXNSMEZETjBNc1QwRkJUeXhKUVVGSlR5eFRRVUZyUWpORUxFVkJWVEZDZWtNc1MwRlVUU3hUUVVGVGNVY3NSVUZCVTBNc1IwRkRka0lzVDBGQlR6ZEVMRVZCUVUxMlF5eFpRVUZaTWtZc1JVRkJTeXhUUVVGVGRFVXNSVUZCUzNoQ0xFZEJRekZETEU5QlFVbDNRaXhGUVVOTEswVXNSVUZCVHk5RkxFZEJSVkE0UlN4RlFVRlJkRWNzVVVGT1NpeEpRVUZWTUVNc1IwRmhlRUk1UXl4RlFUTlVVU3hIUVN0VWFrSkVMRkZCUVZGUkxGbEJRV01zVTBGQlV6SkdMRVZCUVV0VkxFVkJRVWRETEVkQlEzSkRMRWxCUVVsV0xFVkJRVWw0Uml4RlFXVlNMRTlCWkZNc1RVRkJUR3RITEVkQlEyVXNiVUpCUVU1QkxFbEJRMVJXTEVWQlFVdFZMRWRCUlZVc2FVSkJRVTVFTEVsQlExUnFSeXhGUVVGVmFVY3NTMEZIU3l4dFFrRkJUa0VzU1VGRFZGUXNSVUZCUzFNc1IwRkZVR3BITEVWQlFWVXNTVUZGU0N4SlFVRkpXaXhSUVVGUlF5eFBRVUZQVnl4SFFVTmtTaXhaUVVGWk1rWXNSVUZCUzBNc1NVRkhha053Unl4UlFVRlJUeXh0UWtGQmNVSXNVMEZCVXpSR0xFVkJRVXRWTEVkQlEzcERMRWxCUVVscVJ5eEZRVXRLTEUxQlNtbENMR2xDUVVGT2FVY3NTVUZEVkdwSExFVkJRVlZwUnl4SFFVVklMRWxCUVVrM1J5eFJRVUZSUXl4UFFVRlBWeXhIUVVOa1RDeHRRa0ZCYlVJMFJpeE5RVWRzUTNSR0xFdEJRVXRRSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzTW1wekwyeHBZaTl3WVhKelpYSXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBlO2U9bmV3IFJlZ0V4cCgvKD8heG1sbnMpXi4qOi8pLGV4cG9ydHMubm9ybWFsaXplPWZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKCl9LGV4cG9ydHMuZmlyc3RDaGFyTG93ZXJDYXNlPWZ1bmN0aW9uKGUpe3JldHVybiBlLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK2Uuc2xpY2UoMSl9LGV4cG9ydHMuc3RyaXBQcmVmaXg9ZnVuY3Rpb24ocil7cmV0dXJuIHIucmVwbGFjZShlLFwiXCIpfSxleHBvcnRzLnBhcnNlTnVtYmVycz1mdW5jdGlvbihlKXtyZXR1cm4gaXNOYU4oZSl8fChlPWUlMT09MD9wYXJzZUludChlLDEwKTpwYXJzZUZsb2F0KGUpKSxlfSxleHBvcnRzLnBhcnNlQm9vbGVhbnM9ZnVuY3Rpb24oZSl7cmV0dXJuL14oPzp0cnVlfGZhbHNlKSQvaS50ZXN0KGUpJiYoZT1cInRydWVcIj09PWUudG9Mb3dlckNhc2UoKSksZX19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CeWIyTmxjM052Y25NdWFuTWlYU3dpYm1GdFpYTWlPbHNpY0hKbFptbDRUV0YwWTJnaUxDSlNaV2RGZUhBaUxDSmxlSEJ2Y25Seklpd2libTl5YldGc2FYcGxJaXdpYzNSeUlpd2lkRzlNYjNkbGNrTmhjMlVpTENKbWFYSnpkRU5vWVhKTWIzZGxja05oYzJVaUxDSmphR0Z5UVhRaUxDSnpiR2xqWlNJc0luTjBjbWx3VUhKbFptbDRJaXdpY21Wd2JHRmpaU0lzSW5CaGNuTmxUblZ0WW1WeWN5SXNJbWx6VG1GT0lpd2ljR0Z5YzJWSmJuUWlMQ0p3WVhKelpVWnNiMkYwSWl3aWNHRnljMlZDYjI5c1pXRnVjeUlzSW5SbGMzUWlMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlJVcEJMRVZCUVdNc1NVRkJTVU1zVDBGQlR5eHBRa0ZGZWtKRExGRkJRVkZETEZWQlFWa3NVMEZCVTBNc1IwRkRNMElzVDBGQlQwRXNSVUZCU1VNc1pVRkhZa2dzVVVGQlVVa3NiVUpCUVhGQ0xGTkJRVk5HTEVkQlEzQkRMRTlCUVU5QkxFVkJRVWxITEU5QlFVOHNSMEZCUjBZc1kwRkJaMEpFTEVWQlFVbEpMRTFCUVUwc1NVRkhha1JPTEZGQlFWRlBMRmxCUVdNc1UwRkJVMHdzUjBGRE4wSXNUMEZCVDBFc1JVRkJTVTBzVVVGQlVWWXNSVUZCWVN4TFFVZHNRMFVzVVVGQlVWTXNZVUZCWlN4VFFVRlRVQ3hIUVVrNVFpeFBRVWhMVVN4TlFVRk5VaXhMUVVOVVFTeEZRVUZOUVN4RlFVRk5MRWRCUVUwc1JVRkJTVk1zVTBGQlUxUXNSVUZCU3l4SlFVRk5WU3hYUVVGWFZpeEpRVVZvUkVFc1IwRkhWRVlzVVVGQlVXRXNZMEZCWjBJc1UwRkJVMWdzUjBGSkwwSXNUVUZJU1N4dlFrRkJiMEpaTEV0QlFVdGFMRXRCUXpOQ1FTeEZRVUUwUWl4VFFVRjBRa0VzUlVGQlNVTXNaVUZGVEVRc1MwRkhVbUVzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXd3lhbk12YkdsaUwzQnliMk5sYzNOdmNuTXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciByLGUsdCxzLG89e30uaGFzT3duUHJvcGVydHk7ZT1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKSxyPXJlcXVpcmUoXCIuL2J1aWxkZXJcIiksdD1yZXF1aXJlKFwiLi9wYXJzZXJcIikscz1yZXF1aXJlKFwiLi9wcm9jZXNzb3JzXCIpLGV4cG9ydHMuZGVmYXVsdHM9ZS5kZWZhdWx0cyxleHBvcnRzLnByb2Nlc3NvcnM9cyxleHBvcnRzLlZhbGlkYXRpb25FcnJvcj1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKHIpe3RoaXMubWVzc2FnZT1yfXJldHVybiBmdW5jdGlvbihyLGUpe2Zvcih2YXIgdCBpbiBlKW8uY2FsbChlLHQpJiYoclt0XT1lW3RdKTtmdW5jdGlvbiBzKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfXMucHJvdG90eXBlPWUucHJvdG90eXBlLHIucHJvdG90eXBlPW5ldyBzLHIuX19zdXBlcl9fPWUucHJvdG90eXBlfShlLEVycm9yKSxlfSgpLGV4cG9ydHMuQnVpbGRlcj1yLkJ1aWxkZXIsZXhwb3J0cy5QYXJzZXI9dC5QYXJzZXIsZXhwb3J0cy5wYXJzZVN0cmluZz10LnBhcnNlU3RyaW5nLGV4cG9ydHMucGFyc2VTdHJpbmdQcm9taXNlPXQucGFyc2VTdHJpbmdQcm9taXNlfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluaHRiREpxY3k1cWN5SmRMQ0p1WVcxbGN5STZXeUppZFdsc1pHVnlJaXdpWkdWbVlYVnNkSE1pTENKd1lYSnpaWElpTENKd2NtOWpaWE56YjNKeklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbVY0Y0c5eWRITWlMQ0pXWVd4cFpHRjBhVzl1UlhKeWIzSWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWJXVnpjMkZuWlNJc0luUm9hWE1pTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU5oYkd3aUxDSmpkRzl5SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKZlgzTjFjR1Z5WDE4aUxDSmxlSFJsYm1RaUxDSkZjbkp2Y2lJc0lrSjFhV3hrWlhJaUxDSlFZWEp6WlhJaUxDSndZWEp6WlZOMGNtbHVaeUlzSW5CaGNuTmxVM1J5YVc1blVISnZiV2x6WlNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlFWTkRMRVZCUVZWRExFVkJRVkZETEVWQlJUZENReXhGUVVGVkxFZEJRVWRETEdWQlJXWktMRVZCUVZkTExGRkJRVkVzWTBGRmJrSk9MRVZCUVZWTkxGRkJRVkVzWVVGRmJFSktMRVZCUVZOSkxGRkJRVkVzV1VGRmFrSklMRVZCUVdGSExGRkJRVkVzWjBKQlJYSkNReXhSUVVGUlRpeFRRVUZYUVN4RlFVRlRRU3hUUVVVMVFrMHNVVUZCVVVvc1YwRkJZVUVzUlVGRmNrSkpMRkZCUVZGRExHZENRVUZyUWl4VFFVRlZReXhIUVVkc1F5eFRRVUZUUkN4RlFVRm5Ra1VzUjBGRGRrSkRMRXRCUVV0RUxGRkJRVlZCTEVWQlIycENMRTlCZEVKVExGTkJRVk5GTEVWQlFVOURMRWRCUVZVc1NVRkJTeXhKUVVGSlF5eExRVUZQUkN4RlFVRmpWQ3hGUVVGUlZ5eExRVUZMUml4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkZMRWxCUVZOTUxFdEJRVXROTEZsQlFXTk1MRVZCUVZOSkxFVkJRVXRGTEZWQlFWbE1MRVZCUVU5TExGVkJRVmRPTEVWQlFVMU5MRlZCUVZrc1NVRkJTVVlzUlVGQlVVb3NSVUZCVFU4c1ZVRkJXVTRzUlVGQlQwc3NWVUZuUW1oUlJTeERRVUZQV2l4RlFWRk9ZU3hQUVVaTllpeEZRVkJwUWl4SFFWY3hRa1FzVVVGQlVXVXNVVUZCVlhSQ0xFVkJRVkZ6UWl4UlFVVXhRbVlzVVVGQlVXZENMRTlCUVZOeVFpeEZRVUZQY1VJc1QwRkZlRUpvUWl4UlFVRlJhVUlzV1VGQlkzUkNMRVZCUVU5elFpeFpRVVUzUW1wQ0xGRkJRVkZyUWl4dFFrRkJjVUoyUWl4RlFVRlBkVUlzY1VKQlJXNURWaXhMUVVGTFNpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJESnFjeTlzYVdJdmVHMXNNbXB6TG1wekluMD0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17RGlzY29ubmVjdGVkOjEsUHJlY2VkaW5nOjIsRm9sbG93aW5nOjQsQ29udGFpbnM6OCxDb250YWluZWRCeToxNixJbXBsZW1lbnRhdGlvblNwZWNpZmljOjMyfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa1J2WTNWdFpXNTBVRzl6YVhScGIyNHVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lrUnBjMk52Ym01bFkzUmxaQ0lzSWxCeVpXTmxaR2x1WnlJc0lrWnZiR3h2ZDJsdVp5SXNJa052Ym5SaGFXNXpJaXdpUTI5dWRHRnBibVZrUW5raUxDSkpiWEJzWlcxbGJuUmhkR2x2YmxOd1pXTnBabWxqSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxFOUJRVTlETEZGQlFWVXNRMEZEWmtNc1lVRkJZeXhGUVVOa1F5eFZRVUZYTEVWQlExaERMRlZCUVZjc1JVRkRXRU1zVTBGQlZTeEZRVU5XUXl4WlFVRmhMRWRCUTJKRExIVkNRVUYzUWl4TlFVZDZRa01zUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlFYjJOMWJXVnVkRkJ2YzJsMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPXtFbGVtZW50OjEsQXR0cmlidXRlOjIsVGV4dDozLENEYXRhOjQsRW50aXR5UmVmZXJlbmNlOjUsRW50aXR5RGVjbGFyYXRpb246NixQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246NyxDb21tZW50OjgsRG9jdW1lbnQ6OSxEb2NUeXBlOjEwLERvY3VtZW50RnJhZ21lbnQ6MTEsTm90YXRpb25EZWNsYXJhdGlvbjoxMixEZWNsYXJhdGlvbjoyMDEsUmF3OjIwMixBdHRyaWJ1dGVEZWNsYXJhdGlvbjoyMDMsRWxlbWVudERlY2xhcmF0aW9uOjIwNCxEdW1teToyMDV9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrNXZaR1ZVZVhCbExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKRmJHVnRaVzUwSWl3aVFYUjBjbWxpZFhSbElpd2lWR1Y0ZENJc0lrTkVZWFJoSWl3aVJXNTBhWFI1VW1WbVpYSmxibU5sSWl3aVJXNTBhWFI1UkdWamJHRnlZWFJwYjI0aUxDSlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKRGIyMXRaVzUwSWl3aVJHOWpkVzFsYm5RaUxDSkViMk5VZVhCbElpd2lSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJazV2ZEdGMGFXOXVSR1ZqYkdGeVlYUnBiMjRpTENKRVpXTnNZWEpoZEdsdmJpSXNJbEpoZHlJc0lrRjBkSEpwWW5WMFpVUmxZMnhoY21GMGFXOXVJaXdpUld4bGJXVnVkRVJsWTJ4aGNtRjBhVzl1SWl3aVJIVnRiWGtpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlVFc1QwRkJUME1zVVVGQlZTeERRVU5tUXl4UlFVRlRMRVZCUTFSRExGVkJRVmNzUlVGRFdFTXNTMEZCVFN4RlFVTk9ReXhOUVVGUExFVkJRMUJETEdkQ1FVRnBRaXhGUVVOcVFrTXNhMEpCUVcxQ0xFVkJRMjVDUXl4elFrRkJkVUlzUlVGRGRrSkRMRkZCUVZNc1JVRkRWRU1zVTBGQlZTeEZRVU5XUXl4UlFVRlRMRWRCUTFSRExHbENRVUZyUWl4SFFVTnNRa01zYjBKQlFYRkNMRWRCUTNKQ1F5eFpRVUZoTEVsQlEySkRMRWxCUVVzc1NVRkRURU1zY1VKQlFYTkNMRWxCUTNSQ1F5eHRRa0ZCYjBJc1NVRkRjRUpETEUxQlFVOHNUMEZIVWtNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5T2IyUmxWSGx3WlM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG4sZSxvLGksYyxsPVtdLnNsaWNlLHU9e30uaGFzT3duUHJvcGVydHk7dD1mdW5jdGlvbigpe3ZhciB0LHIsbixlLGksYztpZihjPWFyZ3VtZW50c1swXSxpPTI8PWFyZ3VtZW50cy5sZW5ndGg/bC5jYWxsKGFyZ3VtZW50cywxKTpbXSxvKE9iamVjdC5hc3NpZ24pKU9iamVjdC5hc3NpZ24uYXBwbHkobnVsbCxhcmd1bWVudHMpO2Vsc2UgZm9yKHQ9MCxuPWkubGVuZ3RoO3Q8bjt0KyspaWYobnVsbCE9KGU9aVt0XSkpZm9yKHIgaW4gZSl1LmNhbGwoZSxyKSYmKGNbcl09ZVtyXSk7cmV0dXJuIGN9LG89ZnVuY3Rpb24odCl7cmV0dXJuISF0JiZcIltvYmplY3QgRnVuY3Rpb25dXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGk9ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuISF0JiYoXCJmdW5jdGlvblwiPT0ocj10eXBlb2YgdCl8fFwib2JqZWN0XCI9PT1yKX0sbj1mdW5jdGlvbih0KXtyZXR1cm4gbyhBcnJheS5pc0FycmF5KT9BcnJheS5pc0FycmF5KHQpOlwiW29iamVjdCBBcnJheV1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0sZT1mdW5jdGlvbih0KXt2YXIgcjtpZihuKHQpKXJldHVybiF0Lmxlbmd0aDtmb3IociBpbiB0KWlmKHUuY2FsbCh0LHIpKXJldHVybiExO3JldHVybiEwfSxjPWZ1bmN0aW9uKHQpe3ZhciByLG47cmV0dXJuIGkodCkmJihuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KSkmJihyPW4uY29uc3RydWN0b3IpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiByJiZyIGluc3RhbmNlb2YgciYmRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocik9PT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChPYmplY3QpfSxyPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQudmFsdWVPZik/dC52YWx1ZU9mKCk6dH0sbW9kdWxlLmV4cG9ydHMuYXNzaWduPXQsbW9kdWxlLmV4cG9ydHMuaXNGdW5jdGlvbj1vLG1vZHVsZS5leHBvcnRzLmlzT2JqZWN0PWksbW9kdWxlLmV4cG9ydHMuaXNBcnJheT1uLG1vZHVsZS5leHBvcnRzLmlzRW1wdHk9ZSxtb2R1bGUuZXhwb3J0cy5pc1BsYWluT2JqZWN0PWMsbW9kdWxlLmV4cG9ydHMuZ2V0VmFsdWU9cn0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbFYwYVd4cGRIa3Vhbk1pWFN3aWJtRnRaWE1pT2xzaVlYTnphV2R1SWl3aVoyVjBWbUZzZFdVaUxDSnBjMEZ5Y21GNUlpd2lhWE5GYlhCMGVTSXNJbWx6Um5WdVkzUnBiMjRpTENKcGMwOWlhbVZqZENJc0ltbHpVR3hoYVc1UFltcGxZM1FpTENKemJHbGpaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW1raUxDSnJaWGtpTENKc1pXNGlMQ0p6YjNWeVkyVWlMQ0p6YjNWeVkyVnpJaXdpZEdGeVoyVjBJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aVkyRnNiQ0lzSWs5aWFtVmpkQ0lzSW1Gd2NHeDVJaXdpZG1Gc0lpd2ljSEp2ZEc5MGVYQmxJaXdpZEc5VGRISnBibWNpTENKeVpXWWlMQ0pCY25KaGVTSXNJbU4wYjNJaUxDSndjbTkwYnlJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pHZFc1amRHbHZiaUlzSW05aWFpSXNJblpoYkhWbFQyWWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGUlF5eEZRVUZWUXl4RlFVRlRReXhGUVVGVFF5eEZRVUZaUXl4RlFVRlZReXhGUVVNMVJFTXNSVUZCVVN4SFFVRkhRU3hOUVVOWVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaVUxFVkJRVk1zVjBGRFVDeEpRVUZKVlN4RlFVRkhReXhGUVVGTFF5eEZRVUZMUXl4RlFVRlJReXhGUVVGVFF5eEZRVVZzUXl4SFFVUkJRU3hGUVVGVFF5eFZRVUZWTEVkQlFVbEdMRVZCUVZVc1IwRkJTMFVzVlVGQlZVTXNUMEZCVTFZc1JVRkJUVmNzUzBGQlMwWXNWVUZCVnl4SFFVRkxMRWRCUTJoR1dpeEZRVUZYWlN4UFFVRlBia0lzVVVGRGNFSnRRaXhQUVVGUGJrSXNUMEZCVDI5Q0xFMUJRVTBzUzBGQlRVb3NaMEpCUlRGQ0xFbEJRVXRPTEVWQlFVa3NSVUZCUjBVc1JVRkJUVVVzUlVGQlVVY3NUMEZCVVZBc1JVRkJTVVVzUlVGQlMwWXNTVUZGZWtNc1IwRkJZeXhQUVVSa1J5eEZRVUZUUXl4RlFVRlJTaXhKUVVWbUxFbEJRVXRETEV0QlFVOUZMRVZCUTB4TUxFVkJRVkZWTEV0QlFVdE1MRVZCUVZGR0xFdEJRekZDU1N4RlFVRlBTaXhIUVVGUFJTeEZRVUZQUml4SlFVczNRaXhQUVVGUFNTeEhRVWRVV0N4RlFVRmhMRk5CUVZOcFFpeEhRVU53UWl4UlFVRlRRU3hIUVVFclF5eHpRa0ZCZUVOR0xFOUJRVTlITEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRITEVsQlIycEVhRUlzUlVGQlZ5eFRRVUZUWjBJc1IwRkRiRUlzU1VGQlNVY3NSVUZEU2l4UlFVRlRTQ3hKUVVFclFpeGhRVUYwUWtjc1UwRkJZVWdzU1VGQkswSXNWMEZCVWtjc1NVRkhlRVIwUWl4RlFVRlZMRk5CUVZOdFFpeEhRVU5xUWl4UFFVRkpha0lzUlVGQlYzRkNMRTFCUVUxMlFpeFRRVU5hZFVJc1RVRkJUWFpDTEZGQlFWRnRRaXhIUVVVd1FpeHRRa0ZCZUVOR0xFOUJRVTlITEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRITEVsQlNURkRiRUlzUlVGQlZTeFRRVUZUYTBJc1IwRkRha0lzU1VGQlNWWXNSVUZEU2l4SFFVRkpWQ3hGUVVGUmJVSXNSMEZEVml4UFFVRlJRU3hGUVVGSlNpeFBRVVZhTEVsQlFVdE9MRXRCUVU5VkxFVkJRMVlzUjBGQlMySXNSVUZCVVZVc1MwRkJTMGNzUlVGQlMxWXNSMEZEZGtJc1QwRkJUeXhGUVVWVUxFOUJRVThzUjBGSldFd3NSVUZCWjBJc1UwRkJVMlVzUjBGRGRrSXNTVUZCU1Vzc1JVRkJUVU1zUlVGRFZpeFBRVUZQZEVJc1JVRkJVMmRDTEV0QlFWTk5MRVZCUVZGU0xFOUJRVTlUTEdWQlFXVlFMRTFCUVZWTExFVkJRVTlETEVWQlFVMUZMR05CUVdsRExHMUNRVUZVU0N4SFFVRjVRa0VzWVVGQlowSkJMRWRCUVZWSkxGTkJRVk5TTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRSTEV0QlFWVkpMRk5CUVZOU0xGVkJRVlZETEZOQlFWTk1MRXRCUVV0RExGTkJSM1pQYkVJc1JVRkJWeXhUUVVGVE9FSXNSMEZEYkVJc1QwRkJTVE5DTEVWQlFWY3lRaXhGUVVGSlF5eFRRVU5XUkN4RlFVRkpReXhWUVVWS1JDeEhRVWxZUlN4UFFVRlBReXhSUVVGUmJFTXNUMEZCVTBFc1JVRkZlRUpwUXl4UFFVRlBReXhSUVVGUk9VSXNWMEZCWVVFc1JVRkZOVUkyUWl4UFFVRlBReXhSUVVGUk4wSXNVMEZCVjBFc1JVRkZNVUkwUWl4UFFVRlBReXhSUVVGUmFFTXNVVUZCVlVFc1JVRkZla0lyUWl4UFFVRlBReXhSUVVGUkwwSXNVVUZCVlVFc1JVRkZla0k0UWl4UFFVRlBReXhSUVVGUk5VSXNZMEZCWjBKQkxFVkJSUzlDTWtJc1QwRkJUME1zVVVGQlVXcERMRk5CUVZkQkxFbEJSWHBDYVVJc1MwRkJTMmxDSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdlZYUnBiR2wwZVM1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17Tm9uZTowLE9wZW5UYWc6MSxJbnNpZGVUYWc6MixDbG9zZVRhZzozfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGR5YVhSbGNsTjBZWFJsTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pPYjI1bElpd2lUM0JsYmxSaFp5SXNJa2x1YzJsa1pWUmhaeUlzSWtOc2IzTmxWR0ZuSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxFOUJRVTlETEZGQlFWVXNRMEZEWmtNc1MwRkJUU3hGUVVOT1F5eFJRVUZUTEVWQlExUkRMRlZCUVZjc1JVRkRXRU1zVTBGQlZTeExRVWRZUXl4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFkeWFYUmxjbE4wWVhSbExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQ7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLG4scil7aWYodGhpcy5wYXJlbnQ9ZSx0aGlzLnBhcmVudCYmKHRoaXMub3B0aW9ucz10aGlzLnBhcmVudC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXRoaXMucGFyZW50LnN0cmluZ2lmeSksbnVsbD09bil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGF0dHJpYnV0ZSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhuKSk7dGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUobiksdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5hdHRWYWx1ZShyKSx0aGlzLnR5cGU9dC5BdHRyaWJ1dGUsdGhpcy5pc0lkPSExLHRoaXMuc2NoZW1hVHlwZUluZm89bnVsbH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibm9kZVR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHlwZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJvd25lckVsZW1lbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJuYW1lc3BhY2VVUklcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJwcmVmaXhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJsb2NhbE5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJzcGVjaWZpZWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSksZS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuYXR0cmlidXRlKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sZS5wcm90b3R5cGUuZGVidWdJbmZvPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT0odD10fHx0aGlzLm5hbWUpP1wicGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjpcImF0dHJpYnV0ZToge1wiK3QrXCJ9LCBwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwifSxlLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5uYW1lc3BhY2VVUkk9PT10aGlzLm5hbWVzcGFjZVVSSSYmKHQucHJlZml4PT09dGhpcy5wcmVmaXgmJih0LmxvY2FsTmFtZT09PXRoaXMubG9jYWxOYW1lJiZ0LnZhbHVlPT09dGhpcy52YWx1ZSkpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URUYwZEhKcFluVjBaUzVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVFYUjBjbWxpZFhSbElpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0luWmhiSFZsSWl3aWRHaHBjeUlzSW05d2RHbHZibk1pTENKemRISnBibWRwWm5raUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJbUYwZEZaaGJIVmxJaXdpZEhsd1pTSXNJa0YwZEhKcFluVjBaU0lzSW1selNXUWlMQ0p6WTJobGJXRlVlWEJsU1c1bWJ5SXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2ljMlYwSWl3aVkyeHZibVVpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0luZHlhWFJsY2lJc0ltRjBkSEpwWW5WMFpTSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW01dlpHVWlMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSndjbVZtYVhnaUxDSnNiMk5oYkU1aGJXVWlMQ0pqWVd4c0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUlVwQkxFVkJRVmRETEZGQlFWRXNZMEZGVkVFc1VVRkJVU3hoUVVWc1FrTXNUMEZCVDBNc1VVRkJlVUlzVjBGRE9VSXNVMEZCVTBNc1JVRkJZVU1zUlVGQlVVTXNSVUZCVFVNc1IwRk5iRU1zUjBGTVFVTXNTMEZCUzBnc1QwRkJVMEVzUlVGRFZrY3NTMEZCUzBnc1UwRkRVRWNzUzBGQlMwTXNVVUZCVlVRc1MwRkJTMGdzVDBGQlQwa3NVVUZETTBKRUxFdEJRVXRGTEZWQlFWbEdMRXRCUVV0SUxFOUJRVTlMTEZkQlJXNUNMRTFCUVZKS0xFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MREpDUVVFMlFrZ3NTMEZCUzBrc1ZVRkJWVTRzU1VGRk9VUkZMRXRCUVV0R0xFdEJRVTlGTEV0QlFVdEZMRlZCUVZWS0xFdEJRVXRCTEVkQlEyaERSU3hMUVVGTFJDeE5RVUZSUXl4TFFVRkxSU3hWUVVGVlJ5eFRRVUZUVGl4SFFVTnlRME1zUzBGQlMwMHNTMEZCVDJRc1JVRkJVMlVzVlVGRGNrSlFMRXRCUVV0UkxFMUJRVThzUlVGRFdsSXNTMEZCUzFNc1pVRkJhVUlzUzBGcFJuaENMRTlCT1VWQlF5eFBRVUZQUXl4bFFVRmxaaXhGUVVGaFowSXNWVUZCVnl4WFFVRlpMRU5CUTNoRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDJJc1MwRkJTMDBzVVVGSmFFSkpMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExHVkJRV2RDTEVOQlF6VkVReXhKUVVGTExGZEJRMGdzVDBGQlQySXNTMEZCUzBnc1ZVRkphRUpoTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMR05CUVdVc1EwRkRNMFJETEVsQlFVc3NWMEZEU0N4UFFVRlBZaXhMUVVGTFJDeFBRVVZrWlN4SlFVRkxMRk5CUVZObUxFZEJRMW9zVDBGQlQwTXNTMEZCUzBRc1RVRkJVVUVzUjBGQlV5eE5RVWxxUTFjc1QwRkJUME1zWlVGQlpXWXNSVUZCWVdkQ0xGVkJRVmNzWlVGQlowSXNRMEZETlVSRExFbEJRVXNzVjBGRFNDeE5RVUZQTEUxQlNWaElMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExGTkJRVlVzUTBGRGRFUkRMRWxCUVVzc1YwRkRTQ3hOUVVGUExFMUJTVmhJTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMRmxCUVdFc1EwRkRla1JETEVsQlFVc3NWMEZEU0N4UFFVRlBZaXhMUVVGTFJpeFJRVWxvUWxrc1QwRkJUME1zWlVGQlpXWXNSVUZCWVdkQ0xGVkJRVmNzV1VGQllTeERRVU42UkVNc1NVRkJTeXhYUVVOSUxFOUJRVThzUzBGSldHcENMRVZCUVdGblFpeFZRVUZWUnl4TlFVRlJMRmRCUXpkQ0xFOUJRVTlNTEU5QlFVOU5MRTlCUVU5b1FpeFBRVWQyUWtvc1JVRkJZV2RDTEZWQlFWVkxMRk5CUVZjc1UwRkJVMmhDTEVkQlEzcERMRTlCUVU5RUxFdEJRVXRETEZGQlFWRnBRaXhQUVVGUFF5eFZRVUZWYmtJc1MwRkJUVUVzUzBGQlMwTXNVVUZCVVdsQ0xFOUJRVTlGTEdOQlFXTnVRaXhMUVVjdlJVd3NSVUZCWVdkQ0xGVkJRVlZTTEZWQlFWa3NVMEZCVTA0c1IwRkZNVU1zVDBGQldTeFBRVVJhUVN4RlFVRlBRU3hIUVVGUlJTeExRVUZMUml4TlFVVllMRmxCUVdORkxFdEJRVXRJTEU5QlFVOURMRXRCUVU4c1NVRkZha01zWlVGQmFVSkJMRVZCUVU4c1pVRkJhVUpGTEV0QlFVdElMRTlCUVU5RExFdEJRVThzUzBGSmRrVkdMRVZCUVdGblFpeFZRVUZWVXl4WlFVRmpMRk5CUVZORExFZEJRelZETEU5QlFVbEJMRVZCUVV0RExHVkJRV2xDZGtJc1MwRkJTM1ZDTEdWQlJ6TkNSQ3hGUVVGTFJTeFRRVUZYZUVJc1MwRkJTM2RDTEZOQlIzSkNSaXhGUVVGTFJ5eFpRVUZqZWtJc1MwRkJTM2xDTEZkQlIzaENTQ3hGUVVGTGRrSXNVVUZCVlVNc1MwRkJTMFFzVTBGTmJrSklMRVZCTDBaMVFpeExRVzFITDBJNFFpeExRVUZMTVVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhCZEhSeWFXSjFkR1V1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaShyLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgQ0RBVEEgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI2NkYXRhLXNlY3Rpb25cIix0aGlzLnR5cGU9dC5DRGF0YSx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmNkYXRhKG8pfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKW8uY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShpLHIpLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmNkYXRhKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVORVlYUmhMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNUTJoaGNtRmpkR1Z5UkdGMFlTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URU5FWVhSaElpd2ljR0Z5Wlc1MElpd2lkR1Y0ZENJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSW01aGJXVWlMQ0owZVhCbElpd2lRMFJoZEdFaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU5rWVhSaElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVkyeHZibVVpTENKUFltcGxZM1FpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0ltOXdkR2x2Ym5NaUxDSjNjbWwwWlhJaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVzlDUXl4RlFVVjBRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1TQ3hGUVVGWFNTeFJRVUZSTEdOQlJXNUNTQ3hGUVVGdFFrY3NVVUZCVVN4elFrRkZNMEpETEU5QlFVOURMRkZCUVhGQ0xGTkJRVlZETEVkQlIzQkRMRk5CUVZORExFVkJRVk5ETEVWQlFWRkRMRWRCUlhoQ0xFZEJSRUZHTEVWQlFWTkhMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxTUxFZEJRemxDTEUxQlFWSkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTEhWQ1FVRjVRa1FzUzBGQlMwVXNZVUZGYUVSR0xFdEJRVXRITEV0QlFVOHNhVUpCUTFwSUxFdEJRVXRKTEV0QlFVOXNRaXhGUVVGVGJVSXNUVUZEY2tKTUxFdEJRVXROTEUxQlFWRk9MRXRCUVV0UExGVkJRVlZETEUxQlFVMWFMRWRCVjNCRExFOUJOVUpUTEZOQlFWTmhMRVZCUVU5a0xFZEJRVlVzU1VGQlN5eEpRVUZKWlN4TFFVRlBaaXhGUVVGalVDeEZRVUZSVnl4TFFVRkxTaXhGUVVGUlpTeExRVUZOUkN4RlFVRk5ReXhIUVVGUFppeEZRVUZQWlN4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOWExFVkJRVk5GTEVWQlFVdERMRlZCUVZscVFpeEZRVUZQYVVJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOV2l4VlFVRlpSaXhGUVVGUGFVSXNWVUZSYUZGRExFTkJRVTl1UWl4RlFYTkNUbEFzUjBGV1JFOHNSVUZCVTJ0Q0xGVkJRVlZGTEUxQlFWRXNWMEZEZWtJc1QwRkJUME1zVDBGQlQwTXNUMEZCVDJoQ0xFOUJSM1pDVGl4RlFVRlRhMElzVlVGQlZVc3NVMEZCVnl4VFFVRlRReXhIUVVOeVF5eFBRVUZQYkVJc1MwRkJTMnRDTEZGQlFWRkRMRTlCUVU5WUxFMUJRVTFTTEV0QlFVMUJMRXRCUVV0clFpeFJRVUZSUXl4UFFVRlBReXhqUVVGalJpeExRVWR3UlhoQ0xFVkJja0p0UWl4TFFYbENNMEpMTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVEwUmhkR0V1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihvKXtmdW5jdGlvbiBuKHQpe24uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyx0KSx0aGlzLnZhbHVlPVwiXCJ9cmV0dXJuIGZ1bmN0aW9uKHQsbyl7Zm9yKHZhciBuIGluIG8pZS5jYWxsKG8sbikmJih0W25dPW9bbl0pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ci5wcm90b3R5cGU9by5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5fX3N1cGVyX189by5wcm90b3R5cGV9KG4sdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFwiZGF0YVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlPXR8fFwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXCJ0ZXh0Q29udGVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlPXR8fFwiXCJ9fSksbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sbi5wcm90b3R5cGUuc3Vic3RyaW5nRGF0YT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmFwcGVuZERhdGE9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuaW5zZXJ0RGF0YT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmRlbGV0ZURhdGE9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5yZXBsYWNlRGF0YT1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuISFuLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkmJnQuZGF0YT09PXRoaXMuZGF0YX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVOb1lYSmhZM1JsY2tSaGRHRXVhbk1pWFN3aWJtRnRaWE1pT2xzaVdFMU1UbTlrWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0VpTENKd1lYSmxiblFpTENKZlgzTjFjR1Z5WDE4aUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1OaGJHd2lMQ0owYUdseklpd2lkbUZzZFdVaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1kbGRDSXNJbk5sZENJc0lteGxibWQwYUNJc0ltTnNiMjVsSWl3aVkzSmxZWFJsSWl3aWMzVmljM1J5YVc1blJHRjBZU0lzSW05bVpuTmxkQ0lzSW1OdmRXNTBJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKaGNIQmxibVJFWVhSaElpd2lZWEpuSWl3aWFXNXpaWEowUkdGMFlTSXNJbVJsYkdWMFpVUmhkR0VpTENKeVpYQnNZV05sUkdGMFlTSXNJbWx6UlhGMVlXeE9iMlJsSWl3aWJtOWtaU0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aVpHRjBZU0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZ6UWtFc1JVRkZjRUpETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlZVY3NVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCTmtJc1UwRkJWVU1zUjBGSE5VTXNVMEZCVTBNc1JVRkJhVUpETEVkQlEzaENSQ3hGUVVGcFFrVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFVvc1IwRkRiRVJKTEV0QlFVdERMRTFCUVZFc1IwRTJSR1lzVDBGMlJWTXNVMEZCVTBNc1JVRkJUMDRzUjBGQlZTeEpRVUZMTEVsQlFVbFBMRXRCUVU5UUxFVkJRV05RTEVWQlFWRlZMRXRCUVV0SUxFVkJRVkZQTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlRTEVWQlFVOVBMRWxCUVZFc1UwRkJVME1zU1VGQlUwb3NTMEZCUzBZc1dVRkJZMGtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVlFzUlVGQlQxTXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTlRDeFZRVUZaUkN4RlFVRlBVeXhWUVUxb1VVTXNRMEZCVDFnc1JVRnRSVTVRTEVkQk5VUkViVUlzVDBGQlQwTXNaVUZCWldJc1JVRkJhVUpWTEZWQlFWY3NUMEZCVVN4RFFVTjRSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOVVMRXRCUVV0RExFOUJSV1JUTEVsQlFVc3NVMEZCVTFRc1IwRkRXaXhQUVVGUFJDeExRVUZMUXl4TlFVRlJRU3hIUVVGVExFMUJTV3BEVFN4UFFVRlBReXhsUVVGbFlpeEZRVUZwUWxVc1ZVRkJWeXhUUVVGVkxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUMVFzUzBGQlMwTXNUVUZCVFZVc1ZVRkpkRUpLTEU5QlFVOURMR1ZCUVdWaUxFVkJRV2xDVlN4VlFVRlhMR05CUVdVc1EwRkRMMFJKTEVsQlFVc3NWMEZEU0N4UFFVRlBWQ3hMUVVGTFF5eFBRVVZrVXl4SlFVRkxMRk5CUVZOVUxFZEJRMW9zVDBGQlQwUXNTMEZCUzBNc1RVRkJVVUVzUjBGQlV5eE5RVWxxUTA0c1JVRkJhVUpWTEZWQlFWVlBMRTFCUVZFc1YwRkRha01zVDBGQlQwd3NUMEZCVDAwc1QwRkJUMklzVDBGSGRrSk1MRVZCUVdsQ1ZTeFZRVUZWVXl4alFVRm5RaXhUUVVGVFF5eEZRVUZSUXl4SFFVTXhSQ3hOUVVGTkxFbEJRVWxETEUxQlFVMHNjME5CUVhkRGFrSXNTMEZCUzJ0Q0xHTkJSeTlFZGtJc1JVRkJhVUpWTEZWQlFWVmpMRmRCUVdFc1UwRkJVME1zUjBGREwwTXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxITkRRVUYzUTJwQ0xFdEJRVXRyUWl4alFVY3ZSSFpDTEVWQlFXbENWU3hWUVVGVlowSXNWMEZCWVN4VFFVRlRUaXhGUVVGUlN5eEhRVU4yUkN4TlFVRk5MRWxCUVVsSUxFMUJRVTBzYzBOQlFYZERha0lzUzBGQlMydENMR05CUnk5RWRrSXNSVUZCYVVKVkxGVkJRVlZwUWl4WFFVRmhMRk5CUVZOUUxFVkJRVkZETEVkQlEzWkVMRTFCUVUwc1NVRkJTVU1zVFVGQlRTeHpRMEZCZDBOcVFpeExRVUZMYTBJc1kwRkhMMFIyUWl4RlFVRnBRbFVzVlVGQlZXdENMRmxCUVdNc1UwRkJVMUlzUlVGQlVVTXNSVUZCVDBrc1IwRkRMMFFzVFVGQlRTeEpRVUZKU0N4TlFVRk5MSE5EUVVGM1EycENMRXRCUVV0clFpeGpRVWN2UkhaQ0xFVkJRV2xDVlN4VlFVRlZiVUlzV1VGQll5eFRRVUZUUXl4SFFVTm9SQ3hSUVVGTE9VSXNSVUZCYVVKRkxGVkJRVlV5UWl4WlFVRlpSU3hOUVVGTk1VSXNTMEZCVFRKQ0xGZEJRVmRJTEZsQlFWbERMRWxCUnpORlFTeEZRVUZMUnl4UFFVRlROVUlzUzBGQlN6UkNMRTFCVFd4Q2FrTXNSVUZzUlRKQ0xFdEJjMFZ1UTBrc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeERhR0Z5WVdOMFpYSkVZWFJoTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxvLHI9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxvPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihvLHIpe2lmKG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxvKSxudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgY29tbWVudCB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjY29tbWVudFwiLHRoaXMudHlwZT10LkNvbW1lbnQsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5jb21tZW50KHIpfXJldHVybiBmdW5jdGlvbih0LG8pe2Zvcih2YXIgZSBpbiBvKXIuY2FsbChvLGUpJiYodFtlXT1vW2VdKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPW8ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPW8ucHJvdG90eXBlfShuLG8pLG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmNvbW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URU52YlcxbGJuUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhEYUdGeVlXTjBaWEpFWVhSaElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1RMjl0YldWdWRDSXNJbkJoY21WdWRDSXNJblJsZUhRaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKdVlXMWxJaXdpZEhsd1pTSXNJa052YlcxbGJuUWlMQ0oyWVd4MVpTSXNJbk4wY21sdVoybG1lU0lzSW1OdmJXMWxiblFpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pqYkc5dVpTSXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJblJ2VTNSeWFXNW5JaXdpYjNCMGFXOXVjeUlzSW5keWFYUmxjaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQlZVTXNSVUZGV2tNc1JVRkJWU3hIUVVGSFF5eGxRVVZtU0N4RlFVRlhTU3hSUVVGUkxHTkJSVzVDU0N4RlFVRnRRa2NzVVVGQlVTeHpRa0ZGTTBKRExFOUJRVTlETEZGQlFYVkNMRk5CUVZWRExFZEJSM1JETEZOQlFWTkRMRVZCUVZkRExFVkJRVkZETEVkQlJURkNMRWRCUkVGR0xFVkJRVmRITEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMU1MRWRCUTJoRExFMUJRVkpETEVWQlEwWXNUVUZCVFN4SlFVRkpTeXhOUVVGTkxIbENRVUV5UWtRc1MwRkJTMFVzWVVGRmJFUkdMRXRCUVV0SExFdEJRVThzVjBGRFdrZ3NTMEZCUzBrc1MwRkJUMnhDTEVWQlFWTnRRaXhSUVVOeVFrd3NTMEZCUzAwc1RVRkJVVTRzUzBGQlMwOHNWVUZCVlVNc1VVRkJVVm9zUjBGWGRFTXNUMEUxUWxNc1UwRkJVMkVzUlVGQlQyUXNSMEZCVlN4SlFVRkxMRWxCUVVsbExFdEJRVTltTEVWQlFXTlFMRVZCUVZGWExFdEJRVXRLTEVWQlFWRmxMRXRCUVUxRUxFVkJRVTFETEVkQlFVOW1MRVZCUVU5bExFbEJRVkVzVTBGQlUwTXNTVUZCVTFnc1MwRkJTMFlzV1VGQlkxY3NSVUZCVTBVc1JVRkJTME1zVlVGQldXcENMRVZCUVU5cFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxYUxGVkJRVmxHTEVWQlFVOXBRaXhWUVZGb1VVTXNRMEZCVDI1Q0xFVkJjMEpPVUN4SFFWWkVUeXhGUVVGWGEwSXNWVUZCVlVVc1RVRkJVU3hYUVVNelFpeFBRVUZQUXl4UFFVRlBReXhQUVVGUGFFSXNUMEZIZGtKT0xFVkJRVmRyUWl4VlFVRlZTeXhUUVVGWExGTkJRVk5ETEVkQlEzWkRMRTlCUVU5c1FpeExRVUZMYTBJc1VVRkJVVU1zVDBGQlQxZ3NVVUZCVVZJc1MwRkJUVUVzUzBGQlMydENMRkZCUVZGRExFOUJRVTlETEdOQlFXTkdMRXRCUjNSRmVFSXNSVUZ5UW5GQ0xFdEJlVUkzUWtzc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeERiMjF0Wlc1MExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIGUsdDtlPXJlcXVpcmUoXCIuL1hNTERPTUVycm9ySGFuZGxlclwiKSx0PXJlcXVpcmUoXCIuL1hNTERPTVN0cmluZ0xpc3RcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5kZWZhdWx0UGFyYW1zPXtcImNhbm9uaWNhbC1mb3JtXCI6ITEsXCJjZGF0YS1zZWN0aW9uc1wiOiExLGNvbW1lbnRzOiExLFwiZGF0YXR5cGUtbm9ybWFsaXphdGlvblwiOiExLFwiZWxlbWVudC1jb250ZW50LXdoaXRlc3BhY2VcIjohMCxlbnRpdGllczohMCxcImVycm9yLWhhbmRsZXJcIjpuZXcgZSxpbmZvc2V0OiEwLFwidmFsaWRhdGUtaWYtc2NoZW1hXCI6ITEsbmFtZXNwYWNlczohMCxcIm5hbWVzcGFjZS1kZWNsYXJhdGlvbnNcIjohMCxcIm5vcm1hbGl6ZS1jaGFyYWN0ZXJzXCI6ITEsXCJzY2hlbWEtbG9jYXRpb25cIjpcIlwiLFwic2NoZW1hLXR5cGVcIjpcIlwiLFwic3BsaXQtY2RhdGEtc2VjdGlvbnNcIjohMCx2YWxpZGF0ZTohMSxcIndlbGwtZm9ybWVkXCI6ITB9LHRoaXMucGFyYW1zPU9iamVjdC5jcmVhdGUodGhpcy5kZWZhdWx0UGFyYW1zKX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGEucHJvdG90eXBlLFwicGFyYW1ldGVyTmFtZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0KE9iamVjdC5rZXlzKHRoaXMuZGVmYXVsdFBhcmFtcykpfX0pLGEucHJvdG90eXBlLmdldFBhcmFtZXRlcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wYXJhbXMuaGFzT3duUHJvcGVydHkoZSk/dGhpcy5wYXJhbXNbZV06bnVsbH0sYS5wcm90b3R5cGUuY2FuU2V0UGFyYW1ldGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuITB9LGEucHJvdG90eXBlLnNldFBhcmFtZXRlcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT10P3RoaXMucGFyYW1zW2VdPXQ6ZGVsZXRlIHRoaXMucGFyYW1zW2VdfSxhfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFVOdmJtWnBaM1Z5WVhScGIyNHVhbk1pWFN3aWJtRnRaWE1pT2xzaVdFMU1SRTlOUlhKeWIzSklZVzVrYkdWeUlpd2lXRTFNUkU5TlUzUnlhVzVuVEdsemRDSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVJFOU5RMjl1Wm1sbmRYSmhkR2x2YmlJc0luUm9hWE1pTENKa1pXWmhkV3gwVUdGeVlXMXpJaXdpWTJGdWIyNXBZMkZzTFdadmNtMGlMQ0pqWkdGMFlTMXpaV04wYVc5dWN5SXNJbU52YlcxbGJuUnpJaXdpWkdGMFlYUjVjR1V0Ym05eWJXRnNhWHBoZEdsdmJpSXNJbVZzWlcxbGJuUXRZMjl1ZEdWdWRDMTNhR2wwWlhOd1lXTmxJaXdpWlc1MGFYUnBaWE1pTENKbGNuSnZjaTFvWVc1a2JHVnlJaXdpYVc1bWIzTmxkQ0lzSW5aaGJHbGtZWFJsTFdsbUxYTmphR1Z0WVNJc0ltNWhiV1Z6Y0dGalpYTWlMQ0p1WVcxbGMzQmhZMlV0WkdWamJHRnlZWFJwYjI1eklpd2libTl5YldGc2FYcGxMV05vWVhKaFkzUmxjbk1pTENKelkyaGxiV0V0Ykc5allYUnBiMjRpTENKelkyaGxiV0V0ZEhsd1pTSXNJbk53YkdsMExXTmtZWFJoTFhObFkzUnBiMjV6SWl3aWRtRnNhV1JoZEdVaUxDSjNaV3hzTFdadmNtMWxaQ0lzSW5CaGNtRnRjeUlzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpY0hKdmRHOTBlWEJsSWl3aVoyVjBJaXdpYTJWNWN5SXNJbWRsZEZCaGNtRnRaWFJsY2lJc0ltNWhiV1VpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW1OaGJsTmxkRkJoY21GdFpYUmxjaUlzSW5aaGJIVmxJaXdpYzJWMFVHRnlZVzFsZEdWeUlpd2lZMkZzYkNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGNVFrRXNSVUZCYjBKRExFVkJSVGREUkN4RlFVRnhRa1VzVVVGQlVTeDNRa0ZGTjBKRUxFVkJRVzFDUXl4UlFVRlJMSE5DUVVVelFrTXNUMEZCVDBNc1VVRkJaME1zVjBGRGNrTXNVMEZCVTBNc1NVRkZVRU1zUzBGQlMwTXNZMEZCWjBJc1EwRkRia0pETEd0Q1FVRnJRaXhGUVVOc1FrTXNhMEpCUVd0Q0xFVkJRMnhDUXl4VlFVRlpMRVZCUTFwRExEQkNRVUV3UWl4RlFVTXhRa01zT0VKQlFUaENMRVZCUXpsQ1F5eFZRVUZaTEVWQlExcERMR2RDUVVGcFFpeEpRVUZKWkN4RlFVTnlRbVVzVTBGQlZ5eEZRVU5ZUXl4elFrRkJjMElzUlVGRGRFSkRMRmxCUVdNc1JVRkRaRU1zTUVKQlFUQkNMRVZCUXpGQ1F5eDNRa0ZCZDBJc1JVRkRlRUpETEd0Q1FVRnRRaXhIUVVOdVFrTXNZMEZCWlN4SFFVTm1ReXgzUWtGQmQwSXNSVUZEZUVKRExGVkJRVmtzUlVGRFdrTXNaVUZCWlN4SFFVVnFRbXhDTEV0QlFVdHRRaXhQUVVGelFrTXNUMEZCVDBNc1QwRkJUM0pDTEV0QlFVdERMR1ZCTmtKb1JDeFBRVEZDUVcxQ0xFOUJRVTlGTEdWQlFXVjJRaXhGUVVGdlFuZENMRlZCUVZjc2FVSkJRV3RDTEVOQlEzSkZReXhKUVVGTExGZEJRMGdzVDBGQlR5eEpRVUZKTjBJc1JVRkJhVUo1UWl4UFFVRlBTeXhMUVVGTGVrSXNTMEZCUzBNc2JVSkJTV3BFUml4RlFVRnZRbmRDTEZWQlFWVkhMR0ZCUVdVc1UwRkJVME1zUjBGRGNFUXNUMEZCU1ROQ0xFdEJRVXR0UWl4UFFVRlBVeXhsUVVGbFJDeEhRVU4wUWpOQ0xFdEJRVXR0UWl4UFFVRlBVU3hIUVVWYUxFMUJTVmcxUWl4RlFVRnZRbmRDTEZWQlFWVk5MR2RDUVVGclFpeFRRVUZUUml4RlFVRk5SeXhIUVVNM1JDeFBRVUZQTEVkQlIxUXZRaXhGUVVGdlFuZENMRlZCUVZWUkxHRkJRV1VzVTBGQlUwb3NSVUZCVFVjc1IwRkRNVVFzVDBGQllTeE5RVUZVUVN4RlFVTkxPVUlzUzBGQlMyMUNMRTlCUVU5UkxFZEJRVkZITEZOQlJXSTVRaXhMUVVGTGJVSXNUMEZCVDFFc1NVRkpka0kxUWl4RlFXNUVPRUlzUzBGMVJIUkRhVU1zUzBGQlMyaERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJFOU5RMjl1Wm1sbmRYSmhkR2x2Ymk1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG4oKXt9cmV0dXJuIG4ucHJvdG90eXBlLmhhbmRsZUVycm9yPWZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihuKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVVnljbTl5U0dGdVpHeGxjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNUkU5TlJYSnliM0pJWVc1a2JHVnlJaXdpY0hKdmRHOTBlWEJsSWl3aWFHRnVaR3hsUlhKeWIzSWlMQ0psY25KdmNpSXNJa1Z5Y205eUlpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlIwVkJMRTlCUVU5RExGRkJRU3RDTEZkQlEzQkRMRk5CUVZORExFdEJUVlFzVDBGS1FVRXNSVUZCYlVKRExGVkJRVlZETEZsQlFXTXNVMEZCVTBNc1IwRkRiRVFzVFVGQlRTeEpRVUZKUXl4TlFVRk5SQ3hKUVVkWVNDeEZRVkEyUWl4TFFWZHlRMHNzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVQwMUZjbkp2Y2toaGJtUnNaWEl1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmhhc0ZlYXR1cmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4hMH0sdC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRUeXBlPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnQ9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0LnByb3RvdHlwZS5jcmVhdGVIVE1MRG9jdW1lbnQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHQucHJvdG90eXBlLmdldEZlYXR1cmU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVbHRjR3hsYldWdWRHRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pZVFV4RVQwMUpiWEJzWlcxbGJuUmhkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbWhoYzBabFlYUjFjbVVpTENKbVpXRjBkWEpsSWl3aWRtVnljMmx2YmlJc0ltTnlaV0YwWlVSdlkzVnRaVzUwVkhsd1pTSXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSndkV0pzYVdOSlpDSXNJbk41YzNSbGJVbGtJaXdpUlhKeWIzSWlMQ0pqY21WaGRHVkViMk4xYldWdWRDSXNJbTVoYldWemNHRmpaVlZTU1NJc0ltUnZZM1I1Y0dVaUxDSmpjbVZoZEdWSVZFMU1SRzlqZFcxbGJuUWlMQ0owYVhSc1pTSXNJbWRsZEVabFlYUjFjbVVpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZIUlVFc1QwRkJUME1zVVVGQmFVTXNWMEZEZEVNc1UwRkJVME1zUzBGelFsUXNUMEZ3UWtGQkxFVkJRWEZDUXl4VlFVRlZReXhYUVVGaExGTkJRVk5ETEVWQlFWTkRMRWRCUXpWRUxFOUJRVThzUjBGSFZFb3NSVUZCY1VKRExGVkJRVlZKTEcxQ1FVRnhRaXhUUVVGVFF5eEZRVUZsUXl4RlFVRlZReXhIUVVOd1JpeE5RVUZOTEVsQlFVbERMRTFCUVUwc2QwTkJSMnhDVkN4RlFVRnhRa01zVlVGQlZWTXNaVUZCYVVJc1UwRkJVME1zUlVGQlkwd3NSVUZCWlUwc1IwRkRjRVlzVFVGQlRTeEpRVUZKU0N4TlFVRk5MSGREUVVkc1FsUXNSVUZCY1VKRExGVkJRVlZaTEcxQ1FVRnhRaXhUUVVGVFF5eEhRVU16UkN4TlFVRk5MRWxCUVVsTUxFMUJRVTBzZDBOQlIyeENWQ3hGUVVGeFFrTXNWVUZCVldNc1YwRkJZU3hUUVVGVFdpeEZRVUZUUXl4SFFVTTFSQ3hOUVVGTkxFbEJRVWxMTEUxQlFVMHNkME5CUjFoVUxFVkJka0lyUWl4TFFUSkNka05uUWl4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuYXJyPXR8fFtdfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJyLmxlbmd0aH19KSx0LnByb3RvdHlwZS5pdGVtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFyclt0XXx8bnVsbH0sdC5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT10aGlzLmFyci5pbmRleE9mKHQpfSx0fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFZOMGNtbHVaMHhwYzNRdWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxoTlRFUlBUVk4wY21sdVoweHBjM1FpTENKaGNuSWlMQ0owYUdseklpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSndjbTkwYjNSNWNHVWlMQ0puWlhRaUxDSnNaVzVuZEdnaUxDSnBkR1Z0SWl3aWFXNWtaWGdpTENKamIyNTBZV2x1Y3lJc0luTjBjaUlzSW1sdVpHVjRUMllpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVkRlFTeFBRVUZQUXl4UlFVRTJRaXhYUVVOc1F5eFRRVUZUUXl4RlFVRnBRa01zUjBGRGVFSkRMRXRCUVV0RUxFbEJRVTFCTEVkQlFVOHNSMEZwUW5CQ0xFOUJaRUZGTEU5QlFVOURMR1ZCUVdWS0xFVkJRV2xDU3l4VlFVRlhMRk5CUVZVc1EwRkRNVVJETEVsQlFVc3NWMEZEU0N4UFFVRlBTaXhMUVVGTFJDeEpRVUZKVFN4VlFVbHdRbEFzUlVGQmFVSkxMRlZCUVZWSExFdEJRVThzVTBGQlUwTXNSMEZEZWtNc1QwRkJUMUFzUzBGQlMwUXNTVUZCU1ZFc1NVRkJWU3hOUVVjMVFsUXNSVUZCYVVKTExGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkROME1zVDBGQmEwTXNTVUZCTTBKVUxFdEJRVXRFTEVsQlFVbFhMRkZCUVZGRUxFbEJSMjVDV0N4RlFXNUNNa0lzUzBGMVFtNURZU3hMUVVGTFdDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSUFRWTjBjbWx1WjB4cGMzUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGUsaT17fS5oYXNPd25Qcm9wZXJ0eTtlPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBuKGUsaSxyLG8scyx1KXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighbyl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBhdHRyaWJ1dGUgdHlwZS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKCFzKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGF0dHJpYnV0ZSBkZWZhdWx0LiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoMCE9PXMuaW5kZXhPZihcIiNcIikmJihzPVwiI1wiK3MpLCFzLm1hdGNoKC9eKCNSRVFVSVJFRHwjSU1QTElFRHwjRklYRUR8I0RFRkFVTFQpJC8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZGVmYXVsdCB2YWx1ZSB0eXBlOyBleHBlY3RlZDogI1JFUVVJUkVELCAjSU1QTElFRCwgI0ZJWEVEIG9yICNERUZBVUxULiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYodSYmIXMubWF0Y2goL14oI0ZJWEVEfCNERUZBVUxUKSQvKSl0aHJvdyBuZXcgRXJyb3IoXCJEZWZhdWx0IHZhbHVlIG9ubHkgYXBwbGllcyB0byAjRklYRUQgb3IgI0RFRkFVTFQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTt0aGlzLmVsZW1lbnROYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUoaSksdGhpcy50eXBlPXQuQXR0cmlidXRlRGVjbGFyYXRpb24sdGhpcy5hdHRyaWJ1dGVOYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy5hdHRyaWJ1dGVUeXBlPXRoaXMuc3RyaW5naWZ5LmR0ZEF0dFR5cGUobyksdSYmKHRoaXMuZGVmYXVsdFZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEF0dERlZmF1bHQodSkpLHRoaXMuZGVmYXVsdFZhbHVlVHlwZT1zfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShuLGUpLG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEF0dExpc3QodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVGMGRFeHBjM1F1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4T2IyUmxJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkZSRVFYUjBUR2x6ZENJc0luQmhjbVZ1ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYVc1a1pYaFBaaUlzSW0xaGRHTm9JaXdpYzNSeWFXNW5hV1o1SWl3aWJtRnRaU0lzSW5SNWNHVWlMQ0pCZEhSeWFXSjFkR1ZFWldOc1lYSmhkR2x2YmlJc0ltUjBaRUYwZEZSNWNHVWlMQ0prZEdSQmRIUkVaV1poZFd4MElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrUVhSMFRHbHpkQ0lzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQmVVSkRMRVZCUlROQ1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVlZITEZGQlFWRXNZVUZGYkVKS0xFVkJRVmRKTEZGQlFWRXNZMEZGYmtKRExFOUJRVTlETEZGQlFUQkNMRk5CUVZWRExFZEJSM3BETEZOQlFWTkRMRVZCUVdORExFVkJRVkZETEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVVeFJpeEhRVVJCVGl4RlFVRmpUeXhWUVVGVlF5eFpRVUZaUXl4TFFVRkxReXhMUVVGTlZDeEhRVU0xUWl4TlFVRm1ReXhGUVVOR0xFMUJRVTBzU1VGQlNWTXNUVUZCVFN3MlFrRkJLMEpFTEV0QlFVdEZMR0ZCUlhSRUxFZEJRWEZDTEUxQlFXcENWQ3hGUVVOR0xFMUJRVTBzU1VGQlNWRXNUVUZCVFN3clFrRkJhVU5FTEV0QlFVdEZMRlZCUVZWV0xFbEJSV3hGTEVsQlFVdEZMRVZCUTBnc1RVRkJUU3hKUVVGSlR5eE5RVUZOTEN0Q1FVRnBRMFFzUzBGQlMwVXNWVUZCVlZZc1NVRkZiRVVzU1VGQlMwY3NSVUZEU0N4TlFVRk5MRWxCUVVsTkxFMUJRVTBzYTBOQlFXOURSQ3hMUVVGTFJTeFZRVUZWVml4SlFVdHlSU3hIUVVoelF5eEpRVUZzUTBjc1JVRkJhVUpSTEZGQlFWRXNUMEZETTBKU0xFVkJRVzFDTEVsQlFVMUJMRWxCUlhSQ1FTeEZRVUZwUWxNc1RVRkJUU3d3UTBGRE1VSXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxHdEdRVUZ2UmtRc1MwRkJTMFVzVlVGQlZWWXNTVUZGY2tnc1IwRkJTVWtzU1VGQmFVSkVMRVZCUVdsQ1V5eE5RVUZOTEhWQ1FVTXhReXhOUVVGTkxFbEJRVWxJTEUxQlFVMHNjVVJCUVhWRVJDeExRVUZMUlN4VlFVRlZWaXhKUVVWNFJsRXNTMEZCUzFJc1dVRkJZMUVzUzBGQlMwc3NWVUZCVlVNc1MwRkJTMlFzUjBGRGRrTlJMRXRCUVV0UExFdEJRVTk2UWl4RlFVRlRNRUlzY1VKQlEzSkNVaXhMUVVGTFVDeGpRVUZuUWs4c1MwRkJTMHNzVlVGQlZVTXNTMEZCUzJJc1IwRkRla05QTEV0QlFVdE9MR05CUVdkQ1RTeExRVUZMU3l4VlFVRlZTU3hYUVVGWFppeEhRVU16UTBVc1NVRkRSa2tzUzBGQlMwb3NZVUZCWlVrc1MwRkJTMHNzVlVGQlZVc3NZMEZCWTJRc1NVRkZia1JKTEV0QlFVdE1MR2xDUVVGdFFrRXNSVUZQTVVJc1QwRXZRMU1zVTBGQlUyZENMRVZCUVU5d1FpeEhRVUZWTEVsQlFVc3NTVUZCU1hGQ0xFdEJRVTl5UWl4RlFVRmpVQ3hGUVVGUlpTeExRVUZMVWl4RlFVRlJjVUlzUzBGQlRVUXNSVUZCVFVNc1IwRkJUM0pDTEVWQlFVOXhRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTmlMRXRCUVV0R0xGbEJRV05oTEVWQlFWTkZMRVZCUVV0RExGVkJRVmwyUWl4RlFVRlBkVUlzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5aQ3hWUVVGWlRpeEZRVUZQZFVJc1ZVRlJhRkZETEVOQlFVOTZRaXhGUVhsRFRsQXNSMEZPUkU4c1JVRkJZM2RDTEZWQlFWVkZMRk5CUVZjc1UwRkJVME1zUjBGRE1VTXNUMEZCVDJwQ0xFdEJRVXRwUWl4UlFVRlJReXhQUVVGUFF5eFhRVUZYYmtJc1MwRkJUVUVzUzBGQlMybENMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUjNwRk0wSXNSVUY0UTNkQ0xFdEJORU5vUTFNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVWRVJCZEhSTWFYTjBMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LHIsZT17fS5oYXNPd25Qcm9wZXJ0eTtyPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihpKXtmdW5jdGlvbiBuKHIsZSxpKXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2l8fChpPVwiKCNQQ0RBVEEpXCIpLEFycmF5LmlzQXJyYXkoaSkmJihpPVwiKFwiK2kuam9pbihcIixcIikrXCIpXCIpLHRoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGUpLHRoaXMudHlwZT10LkVsZW1lbnREZWNsYXJhdGlvbix0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEVsZW1lbnRWYWx1ZShpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGkgaW4gcillLmNhbGwocixpKSYmKHRbaV09cltpXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obixyKSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGRFbGVtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFVnNaVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeE9iMlJsSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJGUkVSV3hsYldWdWRDSXNJbkJoY21WdWRDSXNJbTVoYldVaUxDSjJZV3gxWlNJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSW1wdmFXNGlMQ0p6ZEhKcGJtZHBabmtpTENKMGVYQmxJaXdpUld4bGJXVnVkRVJsWTJ4aGNtRjBhVzl1SWl3aVpIUmtSV3hsYldWdWRGWmhiSFZsSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtSV3hsYldWdWRDSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCZVVKRExFVkJSVE5DUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFWVkhMRkZCUVZFc1lVRkZiRUpLTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRCQ0xGTkJRVlZETEVkQlIzcERMRk5CUVZORExFVkJRV05ETEVWQlFWRkRMRVZCUVUxRExFZEJSVzVETEVkQlJFRklMRVZCUVdOSkxGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFPTEVkQlEyNURMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKVFN4TlFVRk5MRFpDUVVFclFrUXNTMEZCUzBVc1lVRkZha1JPTEVsQlEwaEJMRVZCUVZFc1lVRkZUazhzVFVGQlRVTXNVVUZCVVZJc1MwRkRhRUpCTEVWQlFWRXNTVUZCVFVFc1JVRkJUVk1zUzBGQlN5eExRVUZQTEV0QlJXeERUQ3hMUVVGTFRDeExRVUZQU3l4TFFVRkxUU3hWUVVGVldDeExRVUZMUVN4SFFVTm9RMHNzUzBGQlMwOHNTMEZCVDNSQ0xFVkJRVk4xUWl4dFFrRkRja0pTTEV0QlFVdEtMRTFCUVZGSkxFdEJRVXROTEZWQlFWVkhMR2RDUVVGblFtSXNSMEZQT1VNc1QwRTVRbE1zVTBGQlUyTXNSVUZCVDJoQ0xFZEJRVlVzU1VGQlN5eEpRVUZKYVVJc1MwRkJUMnBDTEVWQlFXTlFMRVZCUVZGWkxFdEJRVXRNTEVWQlFWRnBRaXhMUVVGTlJDeEZRVUZOUXl4SFFVRlBha0lzUlVGQlQybENMRWxCUVZFc1UwRkJVME1zU1VGQlUxb3NTMEZCUzBZc1dVRkJZMWtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVzVDTEVWQlFVOXRRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWlMRlZCUVZsSUxFVkJRVTl0UWl4VlFWRm9VVU1zUTBGQlQzSkNMRVZCZDBKT1VDeEhRVTVFVHl4RlFVRmpiMElzVlVGQlZVVXNVMEZCVnl4VFFVRlRReXhIUVVNeFF5eFBRVUZQYUVJc1MwRkJTMmRDTEZGQlFWRkRMRTlCUVU5RExGZEJRVmRzUWl4TFFVRk5RU3hMUVVGTFowSXNVVUZCVVVNc1QwRkJUMFVzWTBGQlkwZ3NTMEZIZWtWMlFpeEZRWFpDZDBJc1MwRXlRbWhEVFN4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlVSRVZzWlcxbGJuUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGUsaSxuPXt9Lmhhc093blByb3BlcnR5O2k9cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5pc09iamVjdCxlPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBvKGUsbixyLHMpe2lmKG8uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVudGl0eSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYobnVsbD09cyl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbnRpdHkgdmFsdWUuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZih0aGlzLnBlPSEhbix0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShyKSx0aGlzLnR5cGU9dC5FbnRpdHlEZWNsYXJhdGlvbixpKHMpKXtpZighcy5wdWJJRCYmIXMuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiUHVibGljIGFuZC9vciBzeXN0ZW0gaWRlbnRpZmllcnMgYXJlIHJlcXVpcmVkIGZvciBhbiBleHRlcm5hbCBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZihzLnB1YklEJiYhcy5zeXNJRCl0aHJvdyBuZXcgRXJyb3IoXCJTeXN0ZW0gaWRlbnRpZmllciBpcyByZXF1aXJlZCBmb3IgYSBwdWJsaWMgZXh0ZXJuYWwgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYodGhpcy5pbnRlcm5hbD0hMSxudWxsIT1zLnB1YklEJiYodGhpcy5wdWJJRD10aGlzLnN0cmluZ2lmeS5kdGRQdWJJRChzLnB1YklEKSksbnVsbCE9cy5zeXNJRCYmKHRoaXMuc3lzSUQ9dGhpcy5zdHJpbmdpZnkuZHRkU3lzSUQocy5zeXNJRCkpLG51bGwhPXMubkRhdGEmJih0aGlzLm5EYXRhPXRoaXMuc3RyaW5naWZ5LmR0ZE5EYXRhKHMubkRhdGEpKSx0aGlzLnBlJiZ0aGlzLm5EYXRhKXRocm93IG5ldyBFcnJvcihcIk5vdGF0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkIGluIGEgcGFyYW1ldGVyIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpfWVsc2UgdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5kdGRFbnRpdHlWYWx1ZShzKSx0aGlzLmludGVybmFsPSEwfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKW4uY2FsbChlLGkpJiYodFtpXT1lW2ldKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXIucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShvLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInB1YmxpY0lkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1YklEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInN5c3RlbUlkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN5c0lEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcIm5vdGF0aW9uTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uRGF0YXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJpbnB1dEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInhtbEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInhtbFZlcnNpb25cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksby5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkRW50aXR5KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFVnVkR2wwZVM1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxoTlRFNXZaR1VpTENKcGMwOWlhbVZqZENJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUlVSRVZ1ZEdsMGVTSXNJbkJoY21WdWRDSXNJbkJsSWl3aWJtRnRaU0lzSW5aaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2ljM1J5YVc1bmFXWjVJaXdpZEhsd1pTSXNJa1Z1ZEdsMGVVUmxZMnhoY21GMGFXOXVJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbWx1ZEdWeWJtRnNJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltNUVZWFJoSWl3aVpIUmtUa1JoZEdFaUxDSmtkR1JGYm5ScGRIbFdZV3gxWlNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1JXNTBhWFI1SWl3aVptbHNkR1Z5VDNCMGFXOXVjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRjNRa01zUlVGQlUwTXNSVUZGYmtORExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJWMGNzVVVGQlVTeGhRVUZoU0N4VFFVVm9RMFFzUlVGQlZVa3NVVUZCVVN4aFFVVnNRa3dzUlVGQlYwc3NVVUZCVVN4alFVVnVRa01zVDBGQlQwTXNVVUZCZVVJc1UwRkJWVU1zUjBGSGVFTXNVMEZCVTBNc1JVRkJZVU1zUlVGQlVVTXNSVUZCU1VNc1JVRkJUVU1zUjBGRmRFTXNSMEZFUVVvc1JVRkJZVXNzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWQXNSMEZEYkVNc1RVRkJVa1VzUlVGRFJpeE5RVUZOTEVsQlFVbE5MRTFCUVUwc05FSkJRVGhDUkN4TFFVRkxSU3hWUVVGVlVDeEpRVVV2UkN4SFFVRmhMRTFCUVZSRExFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MRFpDUVVFclFrUXNTMEZCUzBVc1ZVRkJWVkFzU1VGTGFFVXNSMEZJUVVzc1MwRkJTMDRzUzBGQlQwRXNSVUZEV2swc1MwRkJTMHdzUzBGQlQwc3NTMEZCUzBjc1ZVRkJWVklzUzBGQlMwRXNSMEZEYUVOTExFdEJRVXRKTEV0QlFVOXlRaXhGUVVGVGMwSXNhMEpCUTJoQ2NFSXNSVUZCVTFjc1IwRkhVQ3hEUVVOTUxFbEJRVXRCTEVWQlFVMVZMRkZCUVZWV0xFVkJRVTFYTEUxQlEzcENMRTFCUVUwc1NVRkJTVTRzVFVGQlRTeDVSVUZCTWtWRUxFdEJRVXRGTEZWQlFWVlFMRWxCUlRWSExFZEJRVWxETEVWQlFVMVZMRkZCUVZWV0xFVkJRVTFYTEUxQlEzaENMRTFCUVUwc1NVRkJTVTRzVFVGQlRTd3JSRUZCYVVWRUxFdEJRVXRGTEZWQlFWVlFMRWxCV1d4SExFZEJWa0ZMTEV0QlFVdFJMRlZCUVZjc1JVRkRSeXhOUVVGbVdpeEZRVUZOVlN4UlFVTlNUaXhMUVVGTFRTeE5RVUZSVGl4TFFVRkxSeXhWUVVGVlRTeFRRVUZUWWl4RlFVRk5WU3hSUVVVeFFpeE5RVUZtVml4RlFVRk5WeXhSUVVOU1VDeExRVUZMVHl4TlFVRlJVQ3hMUVVGTFJ5eFZRVUZWVHl4VFFVRlRaQ3hGUVVGTlZ5eFJRVVV4UWl4TlFVRm1XQ3hGUVVGTlpTeFJRVU5TV0N4TFFVRkxWeXhOUVVGUldDeExRVUZMUnl4VlFVRlZVeXhUUVVGVGFFSXNSVUZCVFdVc1VVRkZla05ZTEV0QlFVdE9MRWxCUVUxTkxFdEJRVXRYTEUxQlEyeENMRTFCUVUwc1NVRkJTVllzVFVGQlRTdzRSRUZCWjBWRUxFdEJRVXRGTEZWQlFWVlFMRk5CY0VKcVIwc3NTMEZCUzBvc1RVRkJVVWtzUzBGQlMwY3NWVUZCVlZVc1pVRkJaV3BDTEVkQlF6TkRTU3hMUVVGTFVTeFZRVUZYTEVWQlowVndRaXhQUVhwR1V5eFRRVUZUVFN4RlFVRlBja0lzUjBGQlZTeEpRVUZMTEVsQlFVbHpRaXhMUVVGUGRFSXNSVUZCWTFBc1JVRkJVV0VzUzBGQlMwNHNSVUZCVVhOQ0xFdEJRVTFFTEVWQlFVMURMRWRCUVU5MFFpeEZRVUZQYzBJc1NVRkJVU3hUUVVGVFF5eEpRVUZUYUVJc1MwRkJTMFlzV1VGQlkyZENMRVZCUVZORkxFVkJRVXRETEZWQlFWbDRRaXhGUVVGUGQwSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTmFrSXNWVUZCV1Vvc1JVRkJUM2RDTEZWQlZXaFJReXhEUVVGUE1VSXNSVUZwUms1U0xFZEJNVU5FYlVNc1QwRkJUME1zWlVGQlpUVkNMRVZCUVdGNVFpeFZRVUZYTEZkQlFWa3NRMEZEZUVSSkxFbEJRVXNzVjBGRFNDeFBRVUZQY2tJc1MwRkJTMDBzVTBGSmFFSmhMRTlCUVU5RExHVkJRV1UxUWl4RlFVRmhlVUlzVlVGQlZ5eFhRVUZaTEVOQlEzaEVTU3hKUVVGTExGZEJRMGdzVDBGQlQzSkNMRXRCUVV0UExGTkJTV2hDV1N4UFFVRlBReXhsUVVGbE5VSXNSVUZCWVhsQ0xGVkJRVmNzWlVGQlowSXNRMEZETlVSSkxFbEJRVXNzVjBGRFNDeFBRVUZQY2tJc1MwRkJTMWNzVDBGQlV5eFJRVWw2UWxFc1QwRkJUME1zWlVGQlpUVkNMRVZCUVdGNVFpeFZRVUZYTEdkQ1FVRnBRaXhEUVVNM1JFa3NTVUZCU3l4WFFVTklMRTlCUVU4c1VVRkpXRVlzVDBGQlQwTXNaVUZCWlRWQ0xFVkJRV0Y1UWl4VlFVRlhMR05CUVdVc1EwRkRNMFJKTEVsQlFVc3NWMEZEU0N4UFFVRlBMRkZCU1ZoR0xFOUJRVTlETEdWQlFXVTFRaXhGUVVGaGVVSXNWVUZCVnl4aFFVRmpMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlOMElzUlVGQllYbENMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZEZWtNc1QwRkJUM1pDTEV0QlFVdDFRaXhSUVVGUlF5eFBRVUZQUXl4VlFVRlZla0lzUzBGQlRVRXNTMEZCUzNWQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSM2hGTDBJc1JVRm9SblZDTEV0QmIwWXZRazhzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVZFUkZiblJwZEhrdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixpPXt9Lmhhc093blByb3BlcnR5O3I9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8ocixpLGUpe2lmKG8uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1pKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIG5vdGF0aW9uIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighZS5wdWJJRCYmIWUuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiUHVibGljIG9yIHN5c3RlbSBpZGVudGlmaWVycyBhcmUgcmVxdWlyZWQgZm9yIGFuIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO3RoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGkpLHRoaXMudHlwZT10Lk5vdGF0aW9uRGVjbGFyYXRpb24sbnVsbCE9ZS5wdWJJRCYmKHRoaXMucHViSUQ9dGhpcy5zdHJpbmdpZnkuZHRkUHViSUQoZS5wdWJJRCkpLG51bGwhPWUuc3lzSUQmJih0aGlzLnN5c0lEPXRoaXMuc3RyaW5naWZ5LmR0ZFN5c0lEKGUuc3lzSUQpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilpLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obyxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJwdWJsaWNJZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdWJJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJzeXN0ZW1JZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zeXNJRH19KSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGROb3RhdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRTV2ZEdGMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJVUkU1dmRHRjBhVzl1SWl3aWNHRnlaVzUwSWl3aWJtRnRaU0lzSW5aaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0luTjBjbWx1WjJsbWVTSXNJblI1Y0dVaUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1RtOTBZWFJwYjI0aUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVEJDUXl4RlFVVTFRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVlJ5eFJRVUZSTEdGQlJXeENTaXhGUVVGWFNTeFJRVUZSTEdOQlJXNUNReXhQUVVGUFF5eFJRVUV5UWl4VFFVRlZReXhIUVVjeFF5eFRRVUZUUXl4RlFVRmxReXhGUVVGUlF5eEZRVUZOUXl4SFFVVndReXhIUVVSQlNDeEZRVUZsU1N4VlFVRlZReXhaUVVGWlF5eExRVUZMUXl4TFFVRk5UaXhIUVVOd1F5eE5RVUZTUXl4RlFVTkdMRTFCUVUwc1NVRkJTVTBzVFVGQlRTdzRRa0ZCWjBORUxFdEJRVXRGTEZWQlFWVlFMRWxCUldwRkxFbEJRVXRETEVWQlFVMVBMRkZCUVZWUUxFVkJRVTFSTEUxQlEzcENMRTFCUVUwc1NVRkJTVWdzVFVGQlRTeHhSVUZCZFVWRUxFdEJRVXRGTEZWQlFWVlFMRWxCUlhoSFN5eExRVUZMVEN4TFFVRlBTeXhMUVVGTFN5eFZRVUZWVml4TFFVRkxRU3hIUVVOb1Ewc3NTMEZCUzAwc1MwRkJUM0pDTEVWQlFWTnpRaXh2UWtGRFJpeE5RVUZtV0N4RlFVRk5UeXhSUVVOU1NDeExRVUZMUnl4TlFVRlJTQ3hMUVVGTFN5eFZRVUZWUnl4VFFVRlRXaXhGUVVGTlR5eFJRVVV4UWl4TlFVRm1VQ3hGUVVGTlVTeFJRVU5TU2l4TFFVRkxTU3hOUVVGUlNpeExRVUZMU3l4VlFVRlZTU3hUUVVGVFlpeEZRVUZOVVN4UlFXOUNMME1zVDBFMVExTXNVMEZCVTAwc1JVRkJUMmhDTEVkQlFWVXNTVUZCU3l4SlFVRkphVUlzUzBGQlQycENMRVZCUVdOUUxFVkJRVkZaTEV0QlFVdE1MRVZCUVZGcFFpeExRVUZOUkN4RlFVRk5ReXhIUVVGUGFrSXNSVUZCVDJsQ0xFbEJRVkVzVTBGQlUwTXNTVUZCVTFvc1MwRkJTMFlzV1VGQlkxa3NSVUZCVTBVc1JVRkJTME1zVlVGQldXNUNMRVZCUVU5dFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxaUxGVkJRVmxJTEVWQlFVOXRRaXhWUVZGb1VVTXNRMEZCVDNKQ0xFVkJjME5PVUN4SFFXeENSRFpDTEU5QlFVOURMR1ZCUVdWMlFpeEZRVUZsYjBJc1ZVRkJWeXhYUVVGWkxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUMnBDTEV0QlFVdEhMRk5CU1doQ1dTeFBRVUZQUXl4bFFVRmxka0lzUlVGQlpXOUNMRlZCUVZjc1YwRkJXU3hEUVVNeFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5cVFpeExRVUZMU1N4VFFVbG9RbGdzUlVGQlpXOUNMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZETTBNc1QwRkJUMjVDTEV0QlFVdHRRaXhSUVVGUlF5eFBRVUZQUXl4WlFVRlpja0lzUzBGQlRVRXNTMEZCUzIxQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSekZGTVVJc1JVRnlRM2xDTEV0QmVVTnFRMDBzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVZFUk9iM1JoZEdsdmJpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsaSxuLG89e30uaGFzT3duUHJvcGVydHk7bj1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LGk9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGUoaSxvLHIscyl7dmFyIGw7ZS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGkpLG4obykmJihvPShsPW8pLnZlcnNpb24scj1sLmVuY29kaW5nLHM9bC5zdGFuZGFsb25lKSxvfHwobz1cIjEuMFwiKSx0aGlzLnR5cGU9dC5EZWNsYXJhdGlvbix0aGlzLnZlcnNpb249dGhpcy5zdHJpbmdpZnkueG1sVmVyc2lvbihvKSxudWxsIT1yJiYodGhpcy5lbmNvZGluZz10aGlzLnN0cmluZ2lmeS54bWxFbmNvZGluZyhyKSksbnVsbCE9cyYmKHRoaXMuc3RhbmRhbG9uZT10aGlzLnN0cmluZ2lmeS54bWxTdGFuZGFsb25lKHMpKX1yZXR1cm4gZnVuY3Rpb24odCxpKXtmb3IodmFyIG4gaW4gaSlvLmNhbGwoaSxuKSYmKHRbbl09aVtuXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1pLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1pLnByb3RvdHlwZX0oZSxpKSxlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kZWNsYXJhdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGV9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUmxZMnhoY21GMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWx6VDJKcVpXTjBJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkdWamJHRnlZWFJwYjI0aUxDSndZWEpsYm5RaUxDSjJaWEp6YVc5dUlpd2laVzVqYjJScGJtY2lMQ0p6ZEdGdVpHRnNiMjVsSWl3aWNtVm1JaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0luUjVjR1VpTENKRVpXTnNZWEpoZEdsdmJpSXNJbk4wY21sdVoybG1lU0lzSW5odGJGWmxjbk5wYjI0aUxDSjRiV3hGYm1OdlpHbHVaeUlzSW5odGJGTjBZVzVrWVd4dmJtVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0prWldOc1lYSmhkR2x2YmlJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJNRUpETEVWQlFWTkRMRVZCUlhKRFF5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVmRITEZGQlFWRXNZVUZCWVVnc1UwRkZhRU5FTEVWQlFWVkpMRkZCUVZFc1lVRkZiRUpNTEVWQlFWZExMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRKQ0xGTkJRVlZETEVkQlJ6RkRMRk5CUVZORExFVkJRV1ZETEVWQlFWRkRMRVZCUVZORExFVkJRVlZETEVkQlEycEVMRWxCUVVsRExFVkJRMHBNTEVWQlFXVk5MRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxU0xFZEJRelZEVWl4RlFVRlRVeXhMUVVOSlFTeEhRVUZtUnl4RlFVRk5TQ3hIUVVGMVFrRXNVVUZCVTBNc1JVRkJWMFVzUlVGQlNVWXNVMEZCVlVNc1JVRkJZVU1zUlVGQlNVUXNXVUZGTjBWR0xFbEJRMGhCTEVWQlFWVXNUMEZGV2s4c1MwRkJTME1zUzBGQlQyNUNMRVZCUVZOdlFpeFpRVU55UWtZc1MwRkJTMUFzVVVGQlZVOHNTMEZCUzBjc1ZVRkJWVU1zVjBGQlYxZ3NSMEZEZWtJc1RVRkJXa01zU1VGRFJrMHNTMEZCUzA0c1UwRkJWMDBzUzBGQlMwY3NWVUZCVlVVc1dVRkJXVmdzU1VGRk0wSXNUVUZCWkVNc1NVRkRSa3NzUzBGQlMwd3NWMEZCWVVzc1MwRkJTMGNzVlVGQlZVY3NZMEZCWTFnc1NVRlJia1FzVDBGdVExTXNVMEZCVTFrc1JVRkJUMllzUjBGQlZTeEpRVUZMTEVsQlFVbG5RaXhMUVVGUGFFSXNSVUZCWTFBc1JVRkJVV01zUzBGQlMxQXNSVUZCVVdkQ0xFdEJRVTFFTEVWQlFVMURMRWRCUVU5b1FpeEZRVUZQWjBJc1NVRkJVU3hUUVVGVFF5eEpRVUZUVkN4TFFVRkxSaXhaUVVGalV5eEZRVUZUUlN4RlFVRkxReXhWUVVGWmJFSXNSVUZCVDJ0Q0xGVkJRVmRJTEVWQlFVMUhMRlZCUVZrc1NVRkJTVVFzUlVGQlVVWXNSVUZCVFZZc1ZVRkJXVXdzUlVGQlQydENMRlZCVldoUlF5eERRVUZQY0VJc1JVRXlRazVTTEVkQlRrUlJMRVZCUVdWdFFpeFZRVUZWUlN4VFFVRlhMRk5CUVZORExFZEJRek5ETEU5QlFVOWlMRXRCUVV0aExGRkJRVkZETEU5QlFVOURMRmxCUVZsbUxFdEJRVTFCTEV0QlFVdGhMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUnpGRmRFSXNSVUV4UW5sQ0xFdEJPRUpxUTFFc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVaV05zWVhKaGRHbHZiaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbixpLHIsbyxzLHAsdT17fS5oYXNPd25Qcm9wZXJ0eTtwPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNPYmplY3Qscz1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksZT1yZXF1aXJlKFwiLi9YTUxEVERBdHRMaXN0XCIpLGk9cmVxdWlyZShcIi4vWE1MRFRERW50aXR5XCIpLG49cmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSxyPXJlcXVpcmUoXCIuL1hNTERURE5vdGF0aW9uXCIpLG89cmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGgpe2Z1bmN0aW9uIGMoZSxuLGkpe3ZhciByLG8scyx1LGgseTtpZihjLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksdGhpcy50eXBlPXQuRG9jVHlwZSxlLmNoaWxkcmVuKWZvcihvPTAscz0odT1lLmNoaWxkcmVuKS5sZW5ndGg7bzxzO28rKylpZigocj11W29dKS50eXBlPT09dC5FbGVtZW50KXt0aGlzLm5hbWU9ci5uYW1lO2JyZWFrfXRoaXMuZG9jdW1lbnRPYmplY3Q9ZSxwKG4pJiYobj0oaD1uKS5wdWJJRCxpPWguc3lzSUQpLG51bGw9PWkmJihpPSh5PVtuLGldKVswXSxuPXlbMV0pLG51bGwhPW4mJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKG4pKSxudWxsIT1pJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChpKSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpdS5jYWxsKGUsbikmJih0W25dPWVbbl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KGMscyksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwiZW50aXRpZXNcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIscztmb3Iocj17fSxuPTAsaT0ocz10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxpO24rKykoZT1zW25dKS50eXBlIT09dC5FbnRpdHlEZWNsYXJhdGlvbnx8ZS5wZXx8KHJbZS5uYW1lXT1lKTtyZXR1cm4gbmV3IG8ocil9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwibm90YXRpb25zXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG4saSxyLHM7Zm9yKHI9e30sbj0wLGk9KHM9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248aTtuKyspKGU9c1tuXSkudHlwZT09PXQuTm90YXRpb25EZWNsYXJhdGlvbiYmKHJbZS5uYW1lXT1lKTtyZXR1cm4gbmV3IG8ocil9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwiaW50ZXJuYWxTdWJzZXRcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxjLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGk7cmV0dXJuIGk9bmV3IG4odGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChpKSx0aGlzfSxjLnByb3RvdHlwZS5hdHRMaXN0PWZ1bmN0aW9uKHQsbixpLHIsbyl7dmFyIHM7cmV0dXJuIHM9bmV3IGUodGhpcyx0LG4saSxyLG8pLHRoaXMuY2hpbGRyZW4ucHVzaChzKSx0aGlzfSxjLnByb3RvdHlwZS5lbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgaSh0aGlzLCExLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLnBFbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgaSh0aGlzLCEwLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLm5vdGF0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IHIodGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kb2NUeXBlKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sYy5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUpfSxjLnByb3RvdHlwZS5hdHQ9ZnVuY3Rpb24odCxlLG4saSxyKXtyZXR1cm4gdGhpcy5hdHRMaXN0KHQsZSxuLGkscil9LGMucHJvdG90eXBlLmVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVudGl0eSh0LGUpfSxjLnByb3RvdHlwZS5wZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucEVudGl0eSh0LGUpfSxjLnByb3RvdHlwZS5ub3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5ub3RhdGlvbih0LGUpfSxjLnByb3RvdHlwZS51cD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3QoKXx8dGhpcy5kb2N1bWVudE9iamVjdH0sYy5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuISFjLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkmJih0Lm5hbWU9PT10aGlzLm5hbWUmJih0LnB1YmxpY0lkPT09dGhpcy5wdWJsaWNJZCYmdC5zeXN0ZW1JZD09PXRoaXMuc3lzdGVtSWQpKX0sY30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkxUjVjR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RVZFUkJkSFJNYVhOMElpd2lXRTFNUkZSRVJXeGxiV1Z1ZENJc0lsaE5URVJVUkVWdWRHbDBlU0lzSWxoTlRFUlVSRTV2ZEdGMGFXOXVJaXdpV0UxTVRtRnRaV1JPYjJSbFRXRndJaXdpV0UxTVRtOWtaU0lzSW1selQySnFaV04wSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJHOWpWSGx3WlNJc0luQmhjbVZ1ZENJc0luQjFZa2xFSWl3aWMzbHpTVVFpTENKamFHbHNaQ0lzSW1raUxDSnNaVzRpTENKeVpXWWlMQ0p5WldZeElpd2ljbVZtTWlJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0owZVhCbElpd2lSRzlqVkhsd1pTSXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpUld4bGJXVnVkQ0lzSW01aGJXVWlMQ0prYjJOMWJXVnVkRTlpYW1WamRDSXNJbk4wY21sdVoybG1lU0lzSW1SMFpGQjFZa2xFSWl3aVpIUmtVM2x6U1VRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKblpYUWlMQ0p1YjJSbGN5SXNJa1Z1ZEdsMGVVUmxZMnhoY21GMGFXOXVJaXdpY0dVaUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKbGJHVnRaVzUwSWl3aWRtRnNkV1VpTENKd2RYTm9JaXdpWVhSMFRHbHpkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWlc1MGFYUjVJaXdpY0VWdWRHbDBlU0lzSW01dmRHRjBhVzl1SWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laRzlqVkhsd1pTSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSmxiR1VpTENKaGRIUWlMQ0psYm5RaUxDSndaVzUwSWl3aWJtOTBJaXdpZFhBaUxDSnliMjkwSWl3aWFYTkZjWFZoYkU1dlpHVWlMQ0p1YjJSbElpd2lZWEJ3YkhraUxDSmhjbWQxYldWdWRITWlMQ0p3ZFdKc2FXTkpaQ0lzSW5ONWMzUmxiVWxrSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFXVkRMRVZCUVdWRExFVkJRV05ETEVWQlFUUkNReXhGUVVGcFFrTXNSVUZCVTBNc1JVRkZPVWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlYwY3NVVUZCVVN4aFFVRmhTQ3hUUVVWb1EwUXNSVUZCVlVrc1VVRkJVU3hoUVVWc1FsWXNSVUZCVjFVc1VVRkJVU3hqUVVWdVFsUXNSVUZCWjBKVExGRkJRVkVzYlVKQlJYaENVQ3hGUVVGbFR5eFJRVUZSTEd0Q1FVVjJRbElzUlVGQlowSlJMRkZCUVZFc2JVSkJSWGhDVGl4RlFVRnBRazBzVVVGQlVTeHZRa0ZGZWtKTUxFVkJRV3RDU3l4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkVUlzVTBGQlZVTXNSMEZIZEVNc1UwRkJVME1zUlVGQlYwTXNSVUZCVVVNc1JVRkJUME1zUjBGRGFrTXNTVUZCU1VNc1JVRkJUME1zUlVGQlIwTXNSVUZCUzBNc1JVRkJTME1zUlVGQlRVTXNSVUZIT1VJc1IwRkdRVlFzUlVGQlYxVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZvc1IwRkROVU5aTEV0QlFVdERMRXRCUVU4MVFpeEZRVUZUTmtJc1VVRkRha0prTEVWQlFVOWxMRk5CUlZRc1NVRkJTMWdzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGTlRpeEZRVUZQWlN4VlFVTlRReXhQUVVGUldpeEZRVUZKUXl4RlFVRkxSQ3hKUVVWeVF5eEpRVVJCUkN4RlFVRlJSeXhGUVVGSlJpeEpRVU5HVXl4UFFVRlROVUlzUlVGQlUyZERMRkZCUVZNc1EwRkRia05NTEV0QlFVdE5MRXRCUVU5bUxFVkJRVTFsTEV0QlEyeENMRTFCU1U1T0xFdEJRVXRQTEdWQlFXbENia0lzUlVGRGJFSlNMRVZCUVZOVExFdEJRMGRCTEVkQlFXUk5MRVZCUVU5T0xFZEJRVzlDUVN4TlFVRlBReXhGUVVGUlN5eEZRVUZMVEN4UFFVVndReXhOUVVGVVFTeEpRVU54UWtFc1IwRkJka0pOTEVWQlFVOHNRMEZCUTFBc1JVRkJUME1zU1VGQmNVSXNSMEZCU1VRc1JVRkJVVThzUlVGQlN5eEpRVVV4UXl4TlFVRlVVQ3hKUVVOR1Z5eExRVUZMV0N4TlFVRlJWeXhMUVVGTFVTeFZRVUZWUXl4VFFVRlRjRUlzU1VGRk1VSXNUVUZCVkVNc1NVRkRSbFVzUzBGQlMxWXNUVUZCVVZVc1MwRkJTMUVzVlVGQlZVVXNVMEZCVTNCQ0xFbEJiVWw2UXl4UFFXeE1VeXhUUVVGVFF5eEZRVUZQU0N4SFFVRlZMRWxCUVVzc1NVRkJTWFZDTEV0QlFVOTJRaXhGUVVGalVDeEZRVUZSYTBJc1MwRkJTMWdzUlVGQlVYVkNMRXRCUVUxd1FpeEZRVUZOYjBJc1IwRkJUM1pDTEVWQlFVOTFRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTmFMRXRCUVV0R0xGbEJRV05RTEVWQlFWTnhRaXhGUVVGTFF5eFZRVUZaZWtJc1JVRkJUM2xDTEZWQlFWZDBRaXhGUVVGTmMwSXNWVUZCV1N4SlFVRkpSQ3hGUVVGUmNrSXNSVUZCVFUwc1ZVRkJXVlFzUlVGQlQzbENMRlZCYjBKb1VVTXNRMEZCVHpOQ0xFVkJaMHRPVWl4SFFXcEpSRzlETEU5QlFVOURMR1ZCUVdVM1FpeEZRVUZYTUVJc1ZVRkJWeXhYUVVGWkxFTkJRM1JFU1N4SlFVRkxMRmRCUTBnc1NVRkJTVEZDTEVWQlFVOURMRVZCUVVkRExFVkJRVXQ1UWl4RlFVRlBlRUlzUlVGSE1VSXNTVUZHUVhkQ0xFVkJRVkVzUjBGRlNERkNMRVZCUVVrc1JVRkJSME1zUjBGRVdrTXNSVUZCVFUwc1MwRkJTMGNzVlVGRFYwTXNUMEZCVVZvc1JVRkJTVU1zUlVGQlMwUXNTMEZEY2tORUxFVkJRVkZITEVWQlFVbEdMRWxCUTBSVExFOUJRVk0xUWl4RlFVRlRPRU1zYlVKQlFYVkNOVUlzUlVGQlRUWkNMRXRCUTNoRVJpeEZRVUZOTTBJc1JVRkJUV1VzVFVGQlVXWXNSMEZIZUVJc1QwRkJUeXhKUVVGSllpeEZRVUZuUW5kRExFMUJTUzlDU0N4UFFVRlBReXhsUVVGbE4wSXNSVUZCVnpCQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFbEJRVWt4UWl4RlFVRlBReXhGUVVGSFF5eEZRVUZMZVVJc1JVRkJUM2hDTEVWQlJ6RkNMRWxCUmtGM1FpeEZRVUZSTEVkQlJVZ3hRaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVUxTkxFdEJRVXRITEZWQlExZERMRTlCUVZGYUxFVkJRVWxETEVWQlFVdEVMRXRCUTNKRFJDeEZRVUZSUnl4RlFVRkpSaXhKUVVOR1V5eFBRVUZUTlVJc1JVRkJVMmRFTEhOQ1FVTXhRa2dzUlVGQlRUTkNMRVZCUVUxbExFMUJRVkZtTEVkQlIzaENMRTlCUVU4c1NVRkJTV0lzUlVGQlowSjNReXhOUVVrdlFrZ3NUMEZCVDBNc1pVRkJaVGRDTEVWQlFWY3dRaXhWUVVGWExGZEJRVmtzUTBGRGRFUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGFrSXNTMEZCUzFnc1UwRkphRUl3UWl4UFFVRlBReXhsUVVGbE4wSXNSVUZCVnpCQ0xGVkJRVmNzVjBGQldTeERRVU4wUkVrc1NVRkJTeXhYUVVOSUxFOUJRVTlxUWl4TFFVRkxWaXhUUVVsb1FubENMRTlCUVU5RExHVkJRV1UzUWl4RlFVRlhNRUlzVlVGQlZ5eHBRa0ZCYTBJc1EwRkROVVJKTEVsQlFVc3NWMEZEU0N4TlFVRk5MRWxCUVVsTExFMUJRVTBzYzBOQlFYZERkRUlzUzBGQlMzVkNMR2RDUVVscVJYQkRMRVZCUVZjd1FpeFZRVUZWVnl4UlFVRlZMRk5CUVZOc1FpeEZRVUZOYlVJc1IwRkROVU1zU1VGQlNXeERMRVZCUjBvc1QwRkdRVUVzUlVGQlVTeEpRVUZKYUVJc1JVRkJZM2xDTEV0QlFVMU5MRVZCUVUxdFFpeEhRVU4wUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWakxGRkJRVlVzVTBGQlUwTXNSVUZCWVVNc1JVRkJaVU1zUlVGQlpVTXNSVUZCYTBKRExFZEJRMjVITEVsQlFVbDZReXhGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dwQ0xFVkJRV013UWl4TFFVRk5ORUlzUlVGQllVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQmEwSkRMRWRCUXpkR2FFTXNTMEZCUzBjc1UwRkJVM1ZDTEV0QlFVdHVReXhIUVVOYVV5eE5RVWRVWWl4RlFVRlhNRUlzVlVGQlZXOUNMRTlCUVZNc1UwRkJVek5DTEVWQlFVMXRRaXhIUVVNelF5eEpRVUZKYkVNc1JVRkhTaXhQUVVaQlFTeEZRVUZSTEVsQlFVbG1MRVZCUVdGM1FpeE5RVUZOTEVWQlFVOU5MRVZCUVUxdFFpeEhRVU0xUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWeFFpeFJRVUZWTEZOQlFWTTFRaXhGUVVGTmJVSXNSMEZETlVNc1NVRkJTV3hETEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSlppeEZRVUZoZDBJc1RVRkJUU3hGUVVGTlRTeEZRVUZOYlVJc1IwRkRNME42UWl4TFFVRkxSeXhUUVVGVGRVSXNTMEZCUzI1RExFZEJRMXBUTEUxQlIxUmlMRVZCUVZjd1FpeFZRVUZWYzBJc1UwRkJWeXhUUVVGVE4wSXNSVUZCVFcxQ0xFZEJRemRETEVsQlFVbHNReXhGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dRc1JVRkJaWFZDTEV0QlFVMU5MRVZCUVUxdFFpeEhRVU4yUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWMVFpeFRRVUZYTEZOQlFWTkRMRWRCUTNaRExFOUJRVTl5UXl4TFFVRkxjVU1zVVVGQlVVTXNUMEZCVDBNc1VVRkJVWFpETEV0QlFVMUJMRXRCUVV0eFF5eFJRVUZSUXl4UFFVRlBSU3hqUVVGalNDeExRVWMzUld4RUxFVkJRVmN3UWl4VlFVRlZORUlzU1VGQlRTeFRRVUZUYmtNc1JVRkJUVzFDTEVkQlEzaERMRTlCUVU5NlFpeExRVUZMZDBJc1VVRkJVV3hDTEVWQlFVMXRRaXhKUVVjMVFuUkRMRVZCUVZjd1FpeFZRVUZWTmtJc1NVRkJUU3hUUVVGVFpDeEZRVUZoUXl4RlFVRmxReXhGUVVGbFF5eEZRVUZyUWtNc1IwRkRMMFlzVDBGQlQyaERMRXRCUVVzeVFpeFJRVUZSUXl4RlFVRmhReXhGUVVGbFF5eEZRVUZsUXl4RlFVRnJRa01zU1VGSGJrWTNReXhGUVVGWE1FSXNWVUZCVlRoQ0xFbEJRVTBzVTBGQlUzSkRMRVZCUVUxdFFpeEhRVU40UXl4UFFVRlBla0lzUzBGQlMybERMRTlCUVU4elFpeEZRVUZOYlVJc1NVRkhNMEowUXl4RlFVRlhNRUlzVlVGQlZTdENMRXRCUVU4c1UwRkJVM1JETEVWQlFVMXRRaXhIUVVONlF5eFBRVUZQZWtJc1MwRkJTMnRETEZGQlFWRTFRaXhGUVVGTmJVSXNTVUZITlVKMFF5eEZRVUZYTUVJc1ZVRkJWV2RETEVsQlFVMHNVMEZCVTNaRExFVkJRVTF0UWl4SFFVTjRReXhQUVVGUGVrSXNTMEZCUzIxRExGTkJRVk0zUWl4RlFVRk5iVUlzU1VGSE4wSjBReXhGUVVGWE1FSXNWVUZCVldsRExFZEJRVXNzVjBGRGVFSXNUMEZCVHpsRExFdEJRVXNyUXl4UlFVRlZMME1zUzBGQlMwOHNaMEpCUnpkQ2NFSXNSVUZCVnpCQ0xGVkJRVlZ0UXl4WlFVRmpMRk5CUVZORExFZEJRekZETEZGQlFVczVSQ3hGUVVGWFZTeFZRVUZWYlVRc1dVRkJXVVVzVFVGQlRXeEVMRXRCUVUxdFJDeFhRVUZYU0N4WlFVRlpReXhMUVVkeVJVRXNSVUZCU3pORExFOUJRVk5PTEV0QlFVdE5MRTlCUjI1Q01rTXNSVUZCUzBjc1YwRkJZWEJFTEV0QlFVdHZSQ3hWUVVkMlFrZ3NSVUZCUzBrc1YwRkJZWEpFTEV0QlFVdHhSQ3haUVUxMFFteEZMRVZCTDBweFFpeExRVzFMTjBKWkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SRzlqVkhsd1pTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxvLG4scixpLHAsaD17fS5oYXNPd25Qcm9wZXJ0eTtwPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNQbGFpbk9iamVjdCxvPXJlcXVpcmUoXCIuL1hNTERPTUltcGxlbWVudGF0aW9uXCIpLGU9cmVxdWlyZShcIi4vWE1MRE9NQ29uZmlndXJhdGlvblwiKSxuPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxpPXJlcXVpcmUoXCIuL1hNTFN0cmluZ2lmaWVyXCIpLHI9cmVxdWlyZShcIi4vWE1MU3RyaW5nV3JpdGVyXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHMpe2Z1bmN0aW9uIHUobyl7dS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLG51bGwpLHRoaXMubmFtZT1cIiNkb2N1bWVudFwiLHRoaXMudHlwZT10LkRvY3VtZW50LHRoaXMuZG9jdW1lbnRVUkk9bnVsbCx0aGlzLmRvbUNvbmZpZz1uZXcgZSxvfHwobz17fSksby53cml0ZXJ8fChvLndyaXRlcj1uZXcgciksdGhpcy5vcHRpb25zPW8sdGhpcy5zdHJpbmdpZnk9bmV3IGkobyl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvIGluIGUpaC5jYWxsKGUsbykmJih0W29dPWVbb10pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KHUsbiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiaW1wbGVtZW50YXRpb25cIix7dmFsdWU6bmV3IG99KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJkb2N0eXBlXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG8sbixyO2ZvcihvPTAsbj0ocj10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bzxuO28rKylpZigoZT1yW29dKS50eXBlPT09dC5Eb2NUeXBlKXJldHVybiBlO3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImRvY3VtZW50RWxlbWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290T2JqZWN0fHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImlucHV0RW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwic3RyaWN0RXJyb3JDaGVja2luZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uP3RoaXMuY2hpbGRyZW5bMF0uZW5jb2Rpbmc6bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxTdGFuZGFsb25lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuY2hpbGRyZW5bMF0udHlwZT09PXQuRGVjbGFyYXRpb24mJlwieWVzXCI9PT10aGlzLmNoaWxkcmVuWzBdLnN0YW5kYWxvbmV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sVmVyc2lvblwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uP3RoaXMuY2hpbGRyZW5bMF0udmVyc2lvbjpcIjEuMFwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcIlVSTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudFVSSX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJvcmlnaW5cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY29tcGF0TW9kZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJjaGFyYWN0ZXJTZXRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY29udGVudFR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksdS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPXt9LHQ/cCh0KSYmKGU9dCx0PXRoaXMub3B0aW9ucy53cml0ZXIpOnQ9dGhpcy5vcHRpb25zLndyaXRlcix0LmRvY3VtZW50KHRoaXMsdC5maWx0ZXJPcHRpb25zKGUpKX0sdS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZG9jdW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVDb21tZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUNEQVRBU2VjdGlvbj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRW50aXR5UmVmZXJlbmNlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmltcG9ydE5vZGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50QnlJZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5hZG9wdE5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUubm9ybWFsaXplRG9jdW1lbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5yZW5hbWVOb2RlPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUV2ZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZVJhbmdlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlTm9kZUl0ZXJhdG9yPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVUcmVlV2Fsa2VyPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJ2WTNWdFpXNTBMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNUkU5TlEyOXVabWxuZFhKaGRHbHZiaUlzSWxoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUlpd2lXRTFNVG05a1pTSXNJbGhOVEZOMGNtbHVaMWR5YVhSbGNpSXNJbGhOVEZOMGNtbHVaMmxtYVdWeUlpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUnZZM1Z0Wlc1MElpd2liM0IwYVc5dWN5SXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKdVlXMWxJaXdpZEhsd1pTSXNJa1J2WTNWdFpXNTBJaXdpWkc5amRXMWxiblJWVWtraUxDSmtiMjFEYjI1bWFXY2lMQ0ozY21sMFpYSWlMQ0p6ZEhKcGJtZHBabmtpTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pQWW1wbFkzUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJblpoYkhWbElpd2laMlYwSWl3aWFTSXNJbXhsYmlJc0luSmxaaUlzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJHOWpWSGx3WlNJc0luSnZiM1JQWW1wbFkzUWlMQ0pFWldOc1lYSmhkR2x2YmlJc0ltVnVZMjlrYVc1bklpd2ljM1JoYm1SaGJHOXVaU0lzSW5abGNuTnBiMjRpTENKbGJtUWlMQ0ozY21sMFpYSlBjSFJwYjI1eklpd2laRzlqZFcxbGJuUWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklpd2lkRzlUZEhKcGJtY2lMQ0pqY21WaGRHVkZiR1Z0Wlc1MElpd2lkR0ZuVG1GdFpTSXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpWTNKbFlYUmxSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJbU55WldGMFpWUmxlSFJPYjJSbElpd2laR0YwWVNJc0ltTnlaV0YwWlVOdmJXMWxiblFpTENKamNtVmhkR1ZEUkVGVVFWTmxZM1JwYjI0aUxDSmpjbVZoZEdWUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0owWVhKblpYUWlMQ0pqY21WaGRHVkJkSFJ5YVdKMWRHVWlMQ0pqY21WaGRHVkZiblJwZEhsU1pXWmxjbVZ1WTJVaUxDSm5aWFJGYkdWdFpXNTBjMEo1VkdGblRtRnRaU0lzSW5SaFoyNWhiV1VpTENKcGJYQnZjblJPYjJSbElpd2lhVzF3YjNKMFpXUk9iMlJsSWl3aVpHVmxjQ0lzSW1OeVpXRjBaVVZzWlcxbGJuUk9VeUlzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSmpjbVZoZEdWQmRIUnlhV0oxZEdWT1V5SXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsVGxNaUxDSnNiMk5oYkU1aGJXVWlMQ0puWlhSRmJHVnRaVzUwUW5sSlpDSXNJbVZzWlcxbGJuUkpaQ0lzSW1Ga2IzQjBUbTlrWlNJc0luTnZkWEpqWlNJc0ltNXZjbTFoYkdsNlpVUnZZM1Z0Wlc1MElpd2ljbVZ1WVcxbFRtOWtaU0lzSW01dlpHVWlMQ0puWlhSRmJHVnRaVzUwYzBKNVEyeGhjM05PWVcxbElpd2lZMnhoYzNOT1lXMWxjeUlzSW1OeVpXRjBaVVYyWlc1MElpd2laWFpsYm5SSmJuUmxjbVpoWTJVaUxDSmpjbVZoZEdWU1lXNW5aU0lzSW1OeVpXRjBaVTV2WkdWSmRHVnlZWFJ2Y2lJc0luSnZiM1FpTENKM2FHRjBWRzlUYUc5M0lpd2labWxzZEdWeUlpd2lZM0psWVhSbFZISmxaVmRoYkd0bGNpSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGVlF5eEZRVUZ4UWtNc1JVRkJiVU5ETEVWQlFWTkRMRVZCUVdsQ1F5eEZRVUZuUWtNc1JVRkZPVWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlowSkhMRkZCUVZFc1lVRkJZVWdzWTBGRmNrTktMRVZCUVhWQ1R5eFJRVUZSTERCQ1FVVXZRbElzUlVGQmMwSlJMRkZCUVZFc2VVSkJSVGxDVGl4RlFVRlZUU3hSUVVGUkxHRkJSV3hDVkN4RlFVRlhVeXhSUVVGUkxHTkJSVzVDU2l4RlFVRnBRa2tzVVVGQlVTeHZRa0ZGZWtKTUxFVkJRV3RDU3l4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkMElzVTBGQlZVTXNSMEZIZGtNc1UwRkJVME1zUlVGQldVTXNSMEZEYmtKRUxFVkJRVmxGTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMHNUVUZETjBOQkxFdEJRVXRETEV0QlFVOHNXVUZEV2tRc1MwRkJTMFVzUzBGQlQzQkNMRVZCUVZOeFFpeFRRVU55UWtnc1MwRkJTMGtzV1VGQll5eExRVU51UWtvc1MwRkJTMHNzVlVGQldTeEpRVUZKZEVJc1JVRkRja0poTEVsQlFWbEJMRVZCUVZVc1NVRkRha0pCTEVWQlFWRlZMRk5CUTFoV0xFVkJRVkZWTEU5QlFWTXNTVUZCU1hCQ0xFZEJSWFpDWXl4TFFVRkxTaXhSUVVGVlFTeEZRVU5tU1N4TFFVRkxUeXhWUVVGWkxFbEJRVWx3UWl4RlFVRmxVeXhIUVRKTmRFTXNUMEV4VDFNc1UwRkJVMWtzUlVGQlQwTXNSMEZCVlN4SlFVRkxMRWxCUVVsRExFdEJRVTlFTEVWQlFXTndRaXhGUVVGUlZTeExRVUZMVlN4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkRMRWxCUVZOWUxFdEJRVXRHTEZsQlFXTlZMRVZCUVZOSExFVkJRVXRETEZWQlFWbElMRVZCUVU5SExGVkJRVmRLTEVWQlFVMUpMRlZCUVZrc1NVRkJTVVFzUlVGQlVVZ3NSVUZCVFZnc1ZVRkJXVmtzUlVGQlQwY3NWVUZyUW1oUlF5eERRVUZQYkVJc1JVRXdUazVXTEVkQk1VMUVOa0lzVDBGQlQwTXNaVUZCWlhCQ0xFVkJRVmxwUWl4VlFVRlhMR2xDUVVGclFpeERRVU0zUkVrc1RVRkJUeXhKUVVGSmFFTXNTVUZIWWpoQ0xFOUJRVTlETEdWQlFXVndRaXhGUVVGWmFVSXNWVUZCVnl4VlFVRlhMRU5CUTNSRVN5eEpRVUZMTEZkQlEwZ3NTVUZCU1ZRc1JVRkJUMVVzUlVGQlIwTXNSVUZCUzBNc1JVRkZia0lzU1VGQlMwWXNSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZOY0VJc1MwRkJTM0ZDTEZWQlExZERMRTlCUVZGS0xFVkJRVWxETEVWQlFVdEVMRWxCUlhKRExFbEJSRUZXTEVWQlFWRlpMRVZCUVVsR0xFbEJRMFpvUWl4UFFVRlRjRUlzUlVGQlUzbERMRkZCUXpGQ0xFOUJRVTltTEVWQlIxZ3NUMEZCVHl4UlFVbFlUU3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NhMEpCUVcxQ0xFTkJRemxFU3l4SlFVRkxMRmRCUTBnc1QwRkJUMnBDTEV0QlFVdDNRaXhaUVVGakxGRkJTVGxDVml4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWjBKQlFXbENMRU5CUXpWRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlTQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NjMEpCUVhWQ0xFTkJRMnhGU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhMUVVsWVNDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1kwRkJaU3hEUVVNeFJFc3NTVUZCU3l4WFFVTklMRTlCUVRaQ0xFbEJRWHBDYWtJc1MwRkJTM0ZDTEZOQlFWTkRMRkZCUVdkQ2RFSXNTMEZCUzNGQ0xGTkJRVk1zUjBGQlIyNUNMRTlCUVZOd1FpeEZRVUZUTWtNc1dVRkROVVI2UWl4TFFVRkxjVUlzVTBGQlV5eEhRVUZIU3l4VFFVVnFRaXhSUVV0aVdpeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1owSkJRV2xDTEVOQlF6VkVTeXhKUVVGTExGZEJRMGdzVDBGQk5rSXNTVUZCZWtKcVFpeExRVUZMY1VJc1UwRkJVME1zVVVGQlowSjBRaXhMUVVGTGNVSXNVMEZCVXl4SFFVRkhia0lzVDBGQlUzQkNMRVZCUVZNeVF5eGhRVU0xUWl4UlFVRm9RM3BDTEV0QlFVdHhRaXhUUVVGVExFZEJRVWROTEdOQlR6bENZaXhQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NZVUZCWXl4RFFVTjZSRXNzU1VGQlN5eFhRVU5JTEU5QlFUWkNMRWxCUVhwQ2FrSXNTMEZCUzNGQ0xGTkJRVk5ETEZGQlFXZENkRUlzUzBGQlMzRkNMRk5CUVZNc1IwRkJSMjVDTEU5QlFWTndRaXhGUVVGVE1rTXNXVUZETlVSNlFpeExRVUZMY1VJc1UwRkJVeXhIUVVGSFR5eFJRVVZxUWl4VFFVdGlaQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NUVUZCVHl4RFFVTnNSRXNzU1VGQlN5eFhRVU5JTEU5QlFVOXFRaXhMUVVGTFNTeGxRVWxvUWxVc1QwRkJUME1zWlVGQlpYQkNMRVZCUVZscFFpeFZRVUZYTEZOQlFWVXNRMEZEY2tSTExFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaElMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eGhRVUZqTEVOQlEzcEVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZU0N4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWlVGQlowSXNRMEZETTBSTExFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaElMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eGpRVUZsTEVOQlF6RkVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZZEVJc1JVRkJXV2xDTEZWQlFWVnBRaXhKUVVGTkxGTkJRVk4yUWl4SFFVTnVReXhKUVVGSmQwSXNSVUZSU2l4UFFWQkJRU3hGUVVGblFpeEhRVU5ZZUVJc1JVRkZUV3hDTEVWQlFXTnJRaXhMUVVOMlFuZENMRVZCUVdkQ2VFSXNSVUZEYUVKQkxFVkJRVk5PTEV0QlFVdEtMRkZCUVZGVkxGRkJTSFJDUVN4RlFVRlRUaXhMUVVGTFNpeFJRVUZSVlN4UFFVdHFRa0VzUlVGQlQzbENMRk5CUVZNdlFpeExRVUZOVFN4RlFVRlBNRUlzWTBGQlkwWXNTMEZIY0VSdVF5eEZRVUZaYVVJc1ZVRkJWWEZDTEZOQlFWY3NVMEZCVTNKRExFZEJRM2hETEU5QlFVOUpMRXRCUVV0S0xGRkJRVkZWTEU5QlFVOTVRaXhUUVVGVEwwSXNTMEZCVFVFc1MwRkJTMG9zVVVGQlVWVXNUMEZCVHpCQ0xHTkJRV053UXl4TFFVYzVSVVFzUlVGQldXbENMRlZCUVZWelFpeGpRVUZuUWl4VFFVRlRReXhIUVVNM1F5eE5RVUZOTEVsQlFVbERMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZVd1FpeDFRa0ZCZVVJc1YwRkROME1zVFVGQlRTeEpRVUZKUml4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZNa0lzWlVGQmFVSXNVMEZCVTBNc1IwRkRPVU1zVFVGQlRTeEpRVUZKU2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZOa0lzWTBGQlowSXNVMEZCVTBRc1IwRkROME1zVFVGQlRTeEpRVUZKU2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZPRUlzYlVKQlFYRkNMRk5CUVZOR0xFZEJRMnhFTEUxQlFVMHNTVUZCU1Vvc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWU3RDTERSQ1FVRTRRaXhUUVVGVFF5eEZRVUZSU2l4SFFVTnVSU3hOUVVGTkxFbEJRVWxLTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnBReXhuUWtGQmEwSXNVMEZCVXpWRExFZEJReTlETEUxQlFVMHNTVUZCU1cxRExFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZyUXl4elFrRkJkMElzVTBGQlV6ZERMRWRCUTNKRUxFMUJRVTBzU1VGQlNXMURMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWdFF5eHhRa0ZCZFVJc1UwRkJVME1zUjBGRGNFUXNUVUZCVFN4SlFVRkpXaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVmNVTXNWMEZCWVN4VFFVRlRReXhGUVVGalF5eEhRVU40UkN4TlFVRk5MRWxCUVVsbUxFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlYzUXl4blFrRkJhMElzVTBGQlUwTXNSVUZCWTBNc1IwRkROMFFzVFVGQlRTeEpRVUZKYkVJc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWVEpETEd0Q1FVRnZRaXhUUVVGVFJpeEZRVUZqUXl4SFFVTXZSQ3hOUVVGTkxFbEJRVWxzUWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZORU1zZFVKQlFYbENMRk5CUVZOSUxFVkJRV05KTEVkQlEzQkZMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVTRReXhsUVVGcFFpeFRRVUZUUXl4SFFVTTVReXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZaMFFzVlVGQldTeFRRVUZUUXl4SFFVTjZReXhOUVVGTkxFbEJRVWw2UWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZhMFFzYTBKQlFXOUNMRmRCUTNoRExFMUJRVTBzU1VGQlNURkNMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWdFJDeFhRVUZoTEZOQlFWTkRMRVZCUVUxWUxFVkJRV05ETEVkQlF6bEVMRTFCUVUwc1NVRkJTV3hDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnhSQ3gxUWtGQmVVSXNVMEZCVTBNc1IwRkRkRVFzVFVGQlRTeEpRVUZKT1VJc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWWFZFTEZsQlFXTXNVMEZCVTBNc1IwRkRNME1zVFVGQlRTeEpRVUZKYUVNc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWWGxFTEZsQlFXTXNWMEZEYkVNc1RVRkJUU3hKUVVGSmFrTXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlRCRUxHMUNRVUZ4UWl4VFFVRlRReXhGUVVGTlF5eEZRVUZaUXl4SFFVTndSU3hOUVVGTkxFbEJRVWx5UXl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZPRVFzYVVKQlFXMUNMRk5CUVZOSUxFVkJRVTFETEVWQlFWbERMRWRCUTJ4RkxFMUJRVTBzU1VGQlNYSkRMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlIzaEVNVU1zUlVGNlRuTkNMRXRCTms0NVFra3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFYjJOMWJXVnVkQzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixpLG4sbyxzLGgsdSxjLGEscCxsLGQsdyx5LGYsdixMLG0sTixELE8sYj17fS5oYXNPd25Qcm9wZXJ0eTtPPXJlcXVpcmUoXCIuL1V0aWxpdHlcIiksTj1PLmlzT2JqZWN0LG09Ty5pc0Z1bmN0aW9uLEQ9Ty5pc1BsYWluT2JqZWN0LEw9Ty5nZXRWYWx1ZSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHA9cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRcIiksbD1yZXF1aXJlKFwiLi9YTUxFbGVtZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MQ0RhdGFcIiksbj1yZXF1aXJlKFwiLi9YTUxDb21tZW50XCIpLHc9cmVxdWlyZShcIi4vWE1MUmF3XCIpLHY9cmVxdWlyZShcIi4vWE1MVGV4dFwiKSxkPXJlcXVpcmUoXCIuL1hNTFByb2Nlc3NpbmdJbnN0cnVjdGlvblwiKSxjPXJlcXVpcmUoXCIuL1hNTERlY2xhcmF0aW9uXCIpLGE9cmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxvPXJlcXVpcmUoXCIuL1hNTERUREF0dExpc3RcIiksaD1yZXF1aXJlKFwiLi9YTUxEVERFbnRpdHlcIikscz1yZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHU9cmVxdWlyZShcIi4vWE1MRFRETm90YXRpb25cIikscj1yZXF1aXJlKFwiLi9YTUxBdHRyaWJ1dGVcIiksZj1yZXF1aXJlKFwiLi9YTUxTdHJpbmdpZmllclwiKSx5PXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxlPXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTyhlLHIsaSl7dmFyIG47dGhpcy5uYW1lPVwiP3htbFwiLHRoaXMudHlwZT10LkRvY3VtZW50LGV8fChlPXt9KSxuPXt9LGUud3JpdGVyP0QoZS53cml0ZXIpJiYobj1lLndyaXRlcixlLndyaXRlcj1uZXcgeSk6ZS53cml0ZXI9bmV3IHksdGhpcy5vcHRpb25zPWUsdGhpcy53cml0ZXI9ZS53cml0ZXIsdGhpcy53cml0ZXJPcHRpb25zPXRoaXMud3JpdGVyLmZpbHRlck9wdGlvbnMobiksdGhpcy5zdHJpbmdpZnk9bmV3IGYoZSksdGhpcy5vbkRhdGFDYWxsYmFjaz1yfHxmdW5jdGlvbigpe30sdGhpcy5vbkVuZENhbGxiYWNrPWl8fGZ1bmN0aW9uKCl7fSx0aGlzLmN1cnJlbnROb2RlPW51bGwsdGhpcy5jdXJyZW50TGV2ZWw9LTEsdGhpcy5vcGVuVGFncz17fSx0aGlzLmRvY3VtZW50U3RhcnRlZD0hMSx0aGlzLmRvY3VtZW50Q29tcGxldGVkPSExLHRoaXMucm9vdD1udWxsfXJldHVybiBPLnByb3RvdHlwZS5jcmVhdGVDaGlsZE5vZGU9ZnVuY3Rpb24oZSl7dmFyIHIsaSxuLG8scyxoLHUsYztzd2l0Y2goZS50eXBlKXtjYXNlIHQuQ0RhdGE6dGhpcy5jZGF0YShlLnZhbHVlKTticmVhaztjYXNlIHQuQ29tbWVudDp0aGlzLmNvbW1lbnQoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LkVsZW1lbnQ6Zm9yKGkgaW4gbj17fSx1PWUuYXR0cmlicyliLmNhbGwodSxpKSYmKHI9dVtpXSxuW2ldPXIudmFsdWUpO3RoaXMubm9kZShlLm5hbWUsbik7YnJlYWs7Y2FzZSB0LkR1bW15OnRoaXMuZHVtbXkoKTticmVhaztjYXNlIHQuUmF3OnRoaXMucmF3KGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5UZXh0OnRoaXMudGV4dChlLnZhbHVlKTticmVhaztjYXNlIHQuUHJvY2Vzc2luZ0luc3RydWN0aW9uOnRoaXMuaW5zdHJ1Y3Rpb24oZS50YXJnZXQsZS52YWx1ZSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIFhNTCBub2RlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBpbiBhIEpTIG9iamVjdDogXCIrZS5jb25zdHJ1Y3Rvci5uYW1lKX1mb3Iocz0wLGg9KGM9ZS5jaGlsZHJlbikubGVuZ3RoO3M8aDtzKyspbz1jW3NdLHRoaXMuY3JlYXRlQ2hpbGROb2RlKG8pLG8udHlwZT09PXQuRWxlbWVudCYmdGhpcy51cCgpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5kdW1teT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5ub2RlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtpZihudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgbm9kZSBuYW1lLlwiKTtpZih0aGlzLnJvb3QmJi0xPT09dGhpcy5jdXJyZW50TGV2ZWwpdGhyb3cgbmV3IEVycm9yKFwiRG9jdW1lbnQgY2FuIG9ubHkgaGF2ZSBvbmUgcm9vdCBub2RlLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSx0PUwodCksbnVsbD09ZSYmKGU9e30pLGU9TChlKSxOKGUpfHwocj0oaT1bZSxyXSlbMF0sZT1pWzFdKSx0aGlzLmN1cnJlbnROb2RlPW5ldyBsKHRoaXMsdCxlKSx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSExLHRoaXMuY3VycmVudExldmVsKyssdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF09dGhpcy5jdXJyZW50Tm9kZSxudWxsIT1yJiZ0aGlzLnRleHQociksdGhpc30sTy5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbihlLHIsaSl7dmFyIG4sbyxzLGgsdSxjO2lmKHRoaXMuY3VycmVudE5vZGUmJnRoaXMuY3VycmVudE5vZGUudHlwZT09PXQuRG9jVHlwZSl0aGlzLmR0ZEVsZW1lbnQuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKXx8TihlKXx8bShlKSlmb3IoaD10aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uLHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb249ITAsKGM9bmV3IHAodGhpcy5vcHRpb25zKS5lbGVtZW50KFwiVEVNUF9ST09UXCIpKS5lbGVtZW50KGUpLHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb249aCxvPTAscz0odT1jLmNoaWxkcmVuKS5sZW5ndGg7bzxzO28rKyluPXVbb10sdGhpcy5jcmVhdGVDaGlsZE5vZGUobiksbi50eXBlPT09dC5FbGVtZW50JiZ0aGlzLnVwKCk7ZWxzZSB0aGlzLm5vZGUoZSxyLGkpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO2lmKCF0aGlzLmN1cnJlbnROb2RlfHx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuKXRocm93IG5ldyBFcnJvcihcImF0dCgpIGNhbiBvbmx5IGJlIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYW4gZWxlKCkgY2FsbCBpbiBjYWxsYmFjayBtb2RlLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7aWYobnVsbCE9dCYmKHQ9TCh0KSksTih0KSlmb3IoaSBpbiB0KWIuY2FsbCh0LGkpJiYobj10W2ldLHRoaXMuYXR0cmlidXRlKGksbikpO2Vsc2UgbShlKSYmKGU9ZS5hcHBseSgpKSx0aGlzLm9wdGlvbnMua2VlcE51bGxBdHRyaWJ1dGVzJiZudWxsPT1lP3RoaXMuY3VycmVudE5vZGUuYXR0cmlic1t0XT1uZXcgcih0aGlzLHQsXCJcIik6bnVsbCE9ZSYmKHRoaXMuY3VycmVudE5vZGUuYXR0cmlic1t0XT1uZXcgcih0aGlzLHQsZSkpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgdih0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnRleHQoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyBpKHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuY2RhdGEoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IG4odGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5jb21tZW50KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IHcodGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5yYXcoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuaW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgcixpLG4sbyxzO2lmKHRoaXMub3BlbkN1cnJlbnQoKSxudWxsIT10JiYodD1MKHQpKSxudWxsIT1lJiYoZT1MKGUpKSxBcnJheS5pc0FycmF5KHQpKWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWk9dFtyXSx0aGlzLmluc3RydWN0aW9uKGkpO2Vsc2UgaWYoTih0KSlmb3IoaSBpbiB0KWIuY2FsbCh0LGkpJiYobj10W2ldLHRoaXMuaW5zdHJ1Y3Rpb24oaSxuKSk7ZWxzZSBtKGUpJiYoZT1lLmFwcGx5KCkpLHM9bmV3IGQodGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbihzLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24odCxlLHIpe3ZhciBpO2lmKHRoaXMub3BlbkN1cnJlbnQoKSx0aGlzLmRvY3VtZW50U3RhcnRlZCl0aHJvdyBuZXcgRXJyb3IoXCJkZWNsYXJhdGlvbigpIG11c3QgYmUgdGhlIGZpcnN0IG5vZGUuXCIpO3JldHVybiBpPW5ldyBjKHRoaXMsdCxlLHIpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmRlY2xhcmF0aW9uKGksdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmRvY3R5cGU9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMub3BlbkN1cnJlbnQoKSxudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgcm9vdCBub2RlIG5hbWUuXCIpO2lmKHRoaXMucm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJkdGQoKSBtdXN0IGNvbWUgYmVmb3JlIHRoZSByb290IG5vZGUuXCIpO3JldHVybiB0aGlzLmN1cnJlbnROb2RlPW5ldyBhKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnROb2RlLnJvb3ROb2RlTmFtZT10LHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITEsdGhpcy5jdXJyZW50TGV2ZWwrKyx0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXT10aGlzLmN1cnJlbnROb2RlLHRoaXN9LE8ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IHModGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVsZW1lbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuYXR0TGlzdD1mdW5jdGlvbih0LGUscixpLG4pe3ZhciBzO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscz1uZXcgbyh0aGlzLHQsZSxyLGksbiksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkQXR0TGlzdChzLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5lbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IGgodGhpcywhMSx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVudGl0eShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5wRW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBoKHRoaXMsITAsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbnRpdHkocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUubm90YXRpb249ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IHUodGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZE5vdGF0aW9uKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7aWYodGhpcy5jdXJyZW50TGV2ZWw8MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgZG9jdW1lbnQgbm9kZSBoYXMgbm8gcGFyZW50LlwiKTtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZT8odGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj90aGlzLmNsb3NlTm9kZSh0aGlzLmN1cnJlbnROb2RlKTp0aGlzLm9wZW5Ob2RlKHRoaXMuY3VycmVudE5vZGUpLHRoaXMuY3VycmVudE5vZGU9bnVsbCk6dGhpcy5jbG9zZU5vZGUodGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF0pLGRlbGV0ZSB0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXSx0aGlzLmN1cnJlbnRMZXZlbC0tLHRoaXN9LE8ucHJvdG90eXBlLmVuZD1mdW5jdGlvbigpe2Zvcig7dGhpcy5jdXJyZW50TGV2ZWw+PTA7KXRoaXMudXAoKTtyZXR1cm4gdGhpcy5vbkVuZCgpfSxPLnByb3RvdHlwZS5vcGVuQ3VycmVudD1mdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudE5vZGUpcmV0dXJuIHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITAsdGhpcy5vcGVuTm9kZSh0aGlzLmN1cnJlbnROb2RlKX0sTy5wcm90b3R5cGUub3Blbk5vZGU9ZnVuY3Rpb24ocil7dmFyIGksbixvLHM7aWYoIXIuaXNPcGVuKXtpZih0aGlzLnJvb3R8fDAhPT10aGlzLmN1cnJlbnRMZXZlbHx8ci50eXBlIT09dC5FbGVtZW50fHwodGhpcy5yb290PXIpLG49XCJcIixyLnR5cGU9PT10LkVsZW1lbnQpe2ZvcihvIGluIHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk9wZW5UYWcsbj10aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPFwiK3IubmFtZSxzPXIuYXR0cmlicyliLmNhbGwocyxvKSYmKGk9c1tvXSxuKz10aGlzLndyaXRlci5hdHRyaWJ1dGUoaSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpKTtuKz0oci5jaGlsZHJlbj9cIj5cIjpcIi8+XCIpK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkluc2lkZVRhZ31lbHNlIHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk9wZW5UYWcsbj10aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPCFET0NUWVBFIFwiK3Iucm9vdE5vZGVOYW1lLHIucHViSUQmJnIuc3lzSUQ/bis9JyBQVUJMSUMgXCInK3IucHViSUQrJ1wiIFwiJytyLnN5c0lEKydcIic6ci5zeXNJRCYmKG4rPScgU1lTVEVNIFwiJytyLnN5c0lEKydcIicpLHIuY2hpbGRyZW4/KG4rPVwiIFtcIix0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5JbnNpZGVUYWcpOih0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5DbG9zZVRhZyxuKz1cIj5cIiksbis9dGhpcy53cml0ZXIuZW5kbGluZShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCk7cmV0dXJuIHRoaXMub25EYXRhKG4sdGhpcy5jdXJyZW50TGV2ZWwpLHIuaXNPcGVuPSEwfX0sTy5wcm90b3R5cGUuY2xvc2VOb2RlPWZ1bmN0aW9uKHIpe3ZhciBpO2lmKCFyLmlzQ2xvc2VkKXJldHVybiBpPVwiXCIsdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuQ2xvc2VUYWcsaT1yLnR5cGU9PT10LkVsZW1lbnQ/dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjwvXCIrci5uYW1lK1wiPlwiK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpOnRoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCJdPlwiK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk5vbmUsdGhpcy5vbkRhdGEoaSx0aGlzLmN1cnJlbnRMZXZlbCksci5pc0Nsb3NlZD0hMH0sTy5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZG9jdW1lbnRTdGFydGVkPSEwLHRoaXMub25EYXRhQ2FsbGJhY2sodCxlKzEpfSxPLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50Q29tcGxldGVkPSEwLHRoaXMub25FbmRDYWxsYmFjaygpfSxPLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/XCJcIjpcIm5vZGU6IDxcIit0K1wiPlwifSxPLnByb3RvdHlwZS5lbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTy5wcm90b3R5cGUubm9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxyKX0sTy5wcm90b3R5cGUudHh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LE8ucHJvdG90eXBlLmRhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sTy5wcm90b3R5cGUuY29tPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LE8ucHJvdG90eXBlLmlucz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LE8ucHJvdG90eXBlLmRlYz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxlLHIpfSxPLnByb3RvdHlwZS5kdGQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmRvY3R5cGUodCxlLHIpfSxPLnByb3RvdHlwZS5lPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxyKX0sTy5wcm90b3R5cGUubj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMubm9kZSh0LGUscil9LE8ucHJvdG90eXBlLnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sTy5wcm90b3R5cGUuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sTy5wcm90b3R5cGUuYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxPLnByb3RvdHlwZS5yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJhdyh0KX0sTy5wcm90b3R5cGUuaT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LE8ucHJvdG90eXBlLmF0dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnROb2RlJiZ0aGlzLmN1cnJlbnROb2RlLnR5cGU9PT10LkRvY1R5cGU/dGhpcy5hdHRMaXN0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmF0dHJpYnV0ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE8ucHJvdG90eXBlLmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZSYmdGhpcy5jdXJyZW50Tm9kZS50eXBlPT09dC5Eb2NUeXBlP3RoaXMuYXR0TGlzdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hdHRyaWJ1dGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPLnByb3RvdHlwZS5lbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbnRpdHkodCxlKX0sTy5wcm90b3R5cGUucGVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBFbnRpdHkodCxlKX0sTy5wcm90b3R5cGUubm90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm90YXRpb24odCxlKX0sT30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkzVnRaVzUwUTBJdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWGNtbDBaWEpUZEdGMFpTSXNJbGhOVEVGMGRISnBZblYwWlNJc0lsaE5URU5FWVhSaElpd2lXRTFNUTI5dGJXVnVkQ0lzSWxoTlRFUlVSRUYwZEV4cGMzUWlMQ0pZVFV4RVZFUkZiR1Z0Wlc1MElpd2lXRTFNUkZSRVJXNTBhWFI1SWl3aVdFMU1SRlJFVG05MFlYUnBiMjRpTENKWVRVeEVaV05zWVhKaGRHbHZiaUlzSWxoTlRFUnZZMVI1Y0dVaUxDSllUVXhFYjJOMWJXVnVkQ0lzSWxoTlRFVnNaVzFsYm5RaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSllUVXhTWVhjaUxDSllUVXhUZEhKcGJtZFhjbWwwWlhJaUxDSllUVXhUZEhKcGJtZHBabWxsY2lJc0lsaE5URlJsZUhRaUxDSm5aWFJXWVd4MVpTSXNJbWx6Um5WdVkzUnBiMjRpTENKcGMwOWlhbVZqZENJc0ltbHpVR3hoYVc1UFltcGxZM1FpTENKeVpXWWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxoTlRFUnZZM1Z0Wlc1MFEwSWlMQ0p2Y0hScGIyNXpJaXdpYjI1RVlYUmhJaXdpYjI1RmJtUWlMQ0ozY21sMFpYSlBjSFJwYjI1eklpd2lkR2hwY3lJc0ltNWhiV1VpTENKMGVYQmxJaXdpUkc5amRXMWxiblFpTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpYzNSeWFXNW5hV1o1SWl3aWIyNUVZWFJoUTJGc2JHSmhZMnNpTENKdmJrVnVaRU5oYkd4aVlXTnJJaXdpWTNWeWNtVnVkRTV2WkdVaUxDSmpkWEp5Wlc1MFRHVjJaV3dpTENKdmNHVnVWR0ZuY3lJc0ltUnZZM1Z0Wlc1MFUzUmhjblJsWkNJc0ltUnZZM1Z0Wlc1MFEyOXRjR3hsZEdWa0lpd2ljbTl2ZENJc0luQnliM1J2ZEhsd1pTSXNJbU55WldGMFpVTm9hV3hrVG05a1pTSXNJbTV2WkdVaUxDSmhkSFFpTENKaGRIUk9ZVzFsSWl3aVlYUjBjbWxpZFhSbGN5SXNJbU5vYVd4a0lpd2lhU0lzSW14bGJpSXNJbkpsWmpFaUxDSnlaV1l5SWl3aVEwUmhkR0VpTENKalpHRjBZU0lzSW5aaGJIVmxJaXdpUTI5dGJXVnVkQ0lzSW1OdmJXMWxiblFpTENKRmJHVnRaVzUwSWl3aVlYUjBjbWxpY3lJc0ltTmhiR3dpTENKRWRXMXRlU0lzSW1SMWJXMTVJaXdpVW1GM0lpd2ljbUYzSWl3aVZHVjRkQ0lzSW5SbGVIUWlMQ0pRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSnBibk4wY25WamRHbHZiaUlzSW5SaGNtZGxkQ0lzSWtWeWNtOXlJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmphR2xzWkhKbGJpSXNJbXhsYm1kMGFDSXNJblZ3SWl3aVpHVmlkV2RKYm1adklpd2liM0JsYmtOMWNuSmxiblFpTENKbGJHVnRaVzUwSWl3aWIyeGtWbUZzYVdSaGRHbHZia1pzWVdjaUxDSkViMk5VZVhCbElpd2laSFJrUld4bGJXVnVkQ0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWJtOVdZV3hwWkdGMGFXOXVJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBWbUZzZFdVaUxDSnJaV1Z3VG5Wc2JFRjBkSEpwWW5WMFpYTWlMQ0pwYm5OVVlYSm5aWFFpTENKcGJuTldZV3gxWlNJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZM1I1Y0dVaUxDSndkV0pKUkNJc0luTjVjMGxFSWl3aWNtOXZkRTV2WkdWT1lXMWxJaXdpWVhSMFRHbHpkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWkhSa1FYUjBUR2x6ZENJc0ltVnVkR2wwZVNJc0ltUjBaRVZ1ZEdsMGVTSXNJbkJGYm5ScGRIa2lMQ0p1YjNSaGRHbHZiaUlzSW1SMFpFNXZkR0YwYVc5dUlpd2lZMnh2YzJWT2IyUmxJaXdpYjNCbGJrNXZaR1VpTENKbGJtUWlMQ0pqYUhWdWF5SXNJbWx6VDNCbGJpSXNJbk4wWVhSbElpd2lUM0JsYmxSaFp5SXNJbWx1WkdWdWRDSXNJbVZ1Wkd4cGJtVWlMQ0pKYm5OcFpHVlVZV2NpTENKRGJHOXpaVlJoWnlJc0ltbHpRMnh2YzJWa0lpd2lUbTl1WlNJc0lteGxkbVZzSWl3aVpXeGxJaXdpYm05a0lpd2lkSGgwSWl3aVpHRjBJaXdpWTI5dElpd2lhVzV6SWl3aVpHVmpJaXdpWkhSa0lpd2laU0lzSW00aUxDSjBJaXdpWkNJc0ltTWlMQ0p5SWl3aVlTSXNJbVZ1ZENJc0luQmxiblFpTENKdWIzUWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQlZVTXNSVUZCWVVNc1JVRkJZME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJaVU1zUlVGQlpVTXNSVUZCWTBNc1JVRkJaMEpETEVWQlFXZENReXhGUVVGWlF5eEZRVUUwUWtNc1JVRkJXVU1zUlVGQk1FSkRMRVZCUVZGRExFVkJRV2xDUXl4RlFVRm5Ra01zUlVGQlUwTXNSVUZCVlVNc1JVRkJXVU1zUlVGQlZVTXNSVUZCWlVNc1JVRkRlRlJETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlRVY3NVVUZCVVN4aFFVRmpUQ3hGUVVGWFJTeEZRVUZKUml4VFFVRlZSQ3hGUVVGaFJ5eEZRVUZKU0N4WFFVRlpSU3hGUVVGblFrTXNSVUZCU1VRc1kwRkJaVWdzUlVGQlYwa3NSVUZCU1Vvc1UwRkZjRWxzUWl4RlFVRlhlVUlzVVVGQlVTeGpRVVZ1UW1Rc1JVRkJZMk1zVVVGQlVTeHBRa0ZGZEVKaUxFVkJRV0ZoTEZGQlFWRXNaMEpCUlhKQ2RFSXNSVUZCVjNOQ0xGRkJRVkVzWTBGRmJrSnlRaXhGUVVGaGNVSXNVVUZCVVN4blFrRkZja0pZTEVWQlFWTlhMRkZCUVZFc1dVRkZha0pTTEVWQlFWVlJMRkZCUVZFc1lVRkZiRUphTEVWQlFUSkNXU3hSUVVGUkxEaENRVVZ1UTJoQ0xFVkJRV2xDWjBJc1VVRkJVU3h2UWtGRmVrSm1MRVZCUVdGbExGRkJRVkVzWjBKQlJYSkNjRUlzUlVGQlowSnZRaXhSUVVGUkxHMUNRVVY0UW14Q0xFVkJRV1ZyUWl4UlFVRlJMR3RDUVVWMlFtNUNMRVZCUVdkQ2JVSXNVVUZCVVN4dFFrRkZlRUpxUWl4RlFVRnBRbWxDTEZGQlFWRXNiMEpCUlhwQ2RrSXNSVUZCWlhWQ0xGRkJRVkVzYTBKQlJYWkNWQ3hGUVVGcFFsTXNVVUZCVVN4dlFrRkZla0pXTEVWQlFXdENWU3hSUVVGUkxIRkNRVVV4UW5oQ0xFVkJRV04zUWl4UlFVRlJMR2xDUVVWMFFrTXNUMEZCVDBNc1VVRkJNRUlzVjBGREwwSXNVMEZCVTBNc1JVRkJZME1zUlVGQlUwTXNSVUZCVVVNc1IwRkRkRU1zU1VGQlNVTXNSVUZEU2tNc1MwRkJTME1zUzBGQlR5eFBRVU5hUkN4TFFVRkxSU3hMUVVGUGJrTXNSVUZCVTI5RExGTkJRM0pDVUN4SlFVRlpRU3hGUVVGVkxFbEJRM1JDUnl4RlFVRm5RaXhIUVVOWVNDeEZRVUZSVVN4UFFVVkdhRUlzUlVGQlkxRXNSVUZCVVZFc1ZVRkRMMEpNTEVWQlFXZENTQ3hGUVVGUlVTeFBRVU40UWxJc1JVRkJVVkVzVDBGQlV5eEpRVUZKZEVJc1IwRklja0pqTEVWQlFWRlJMRTlCUVZNc1NVRkJTWFJDTEVWQlMzWkNhMElzUzBGQlMwb3NVVUZCVlVFc1JVRkRaa2tzUzBGQlMwa3NUMEZCVTFJc1JVRkJVVkVzVDBGRGRFSktMRXRCUVV0RUxHTkJRV2RDUXl4TFFVRkxTU3hQUVVGUFF5eGpRVUZqVGl4SFFVTXZRME1zUzBGQlMwMHNWVUZCV1N4SlFVRkpka0lzUlVGQlpXRXNSMEZEY0VOSkxFdEJRVXRQTEdWQlFXbENWaXhIUVVGVkxHRkJRMmhEUnl4TFFVRkxVU3hqUVVGblFsWXNSMEZCVXl4aFFVTTVRa1VzUzBGQlMxTXNXVUZCWXl4TFFVTnVRbFFzUzBGQlMxVXNZMEZCWjBJc1JVRkRja0pXTEV0QlFVdFhMRk5CUVZjc1IwRkRhRUpZTEV0QlFVdFpMR2xDUVVGclFpeEZRVU4yUWxvc1MwRkJTMkVzYlVKQlFXOUNMRVZCUTNwQ1lpeExRVUZMWXl4TFFVRlBMRXRCZDJOa0xFOUJjbU5CYmtJc1JVRkJZMjlDTEZWQlFWVkRMR2RDUVVGclFpeFRRVUZUUXl4SFFVTnFSQ3hKUVVGSlF5eEZRVUZMUXl4RlFVRlRReXhGUVVGWlF5eEZRVUZQUXl4RlFVRkhReXhGUVVGTFF5eEZRVUZOUXl4RlFVTnVSQ3hQUVVGUlVpeEZRVUZMWml4TlFVTllMRXRCUVV0dVF5eEZRVUZUTWtRc1RVRkRXakZDTEV0QlFVc3lRaXhOUVVGTlZpeEZRVUZMVnl4UFFVTm9RaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRPRVFzVVVGRFdqZENMRXRCUVVzNFFpeFJRVUZSWWl4RlFVRkxWeXhQUVVOc1FpeE5RVU5HTEV0QlFVczNSQ3hGUVVGVFowVXNVVUZIV2l4SlFVRkxXaXhMUVVaTVF5eEZRVUZoTEVkQlEySkpMRVZCUVU5UUxFVkJRVXRsTEZGQlJVd3hReXhGUVVGUk1rTXNTMEZCUzFRc1JVRkJUVXdzUzBGRGVFSkVMRVZCUVUxTkxFVkJRVXRNTEVkQlExaERMRVZCUVZkRUxFZEJRVmRFTEVWQlFVbFZMRTlCUlRWQ05VSXNTMEZCUzJsQ0xFdEJRVXRCTEVWQlFVdG9RaXhMUVVGTmJVSXNSMEZEY2tJc1RVRkRSaXhMUVVGTGNrUXNSVUZCVTIxRkxFMUJRMXBzUXl4TFFVRkxiVU1zVVVGRFRDeE5RVU5HTEV0QlFVdHdSU3hGUVVGVGNVVXNTVUZEV25CRExFdEJRVXR4UXl4SlFVRkpjRUlzUlVGQlMxY3NUMEZEWkN4TlFVTkdMRXRCUVVzM1JDeEZRVUZUZFVVc1MwRkRXblJETEV0QlFVdDFReXhMUVVGTGRFSXNSVUZCUzFjc1QwRkRaaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRlVVVzYzBKQlExcDRReXhMUVVGTGVVTXNXVUZCV1hoQ0xFVkJRVXQ1UWl4UFFVRlJla0lzUlVGQlMxY3NUMEZEYmtNc1RVRkRSaXhSUVVORkxFMUJRVTBzU1VGQlNXVXNUVUZCVFN4MVJFRkJlVVF4UWl4RlFVRkxNa0lzV1VGQldUTkRMRTFCUnpsR0xFbEJRVXR4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnBGTEVWQlFVOVNMRVZCUVVzMFFpeFZRVU5YUXl4UFFVRlJlRUlzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkpMRVZCUVV0SUxFZEJRMkowUWl4TFFVRkxaMElzWjBKQlFXZENTeXhIUVVOcVFrRXNSVUZCVFc1Q0xFOUJRVk51UXl4RlFVRlRaMFVzVTBGRE1VSXZRaXhMUVVGTEswTXNTMEZIVkN4UFFVRlBMME1zVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZ2UWl4TlFVRlJMRmRCUXpsQ0xFOUJRVTl1UXl4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlVVc1MwRkJUeXhUUVVGVGFFSXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVTjRSQ3hKUVVGSlppeEZRVU5LTEVkQlFWa3NUVUZCVW5aQ0xFVkJRMFlzVFVGQlRTeEpRVUZKTUVNc1RVRkJUU3h6UWtGRmJFSXNSMEZCU1RORExFdEJRVXRqTEU5QlFTdENMRWxCUVhaQ1pDeExRVUZMVlN4aFFVTndRaXhOUVVGTkxFbEJRVWxwUXl4TlFVRk5MSGxEUVVFeVF6TkRMRXRCUVV0blJDeFZRVUZWTDBNc1NVRnJRalZGTEU5QmFFSkJSQ3hMUVVGTGFVUXNZMEZEVEdoRUxFVkJRVTlvUWl4RlFVRlRaMElzUjBGRFJTeE5RVUZrYlVJc1NVRkRSa0VzUlVGQllTeEpRVVZtUVN4RlFVRmhia01zUlVGQlUyMURMRWRCUTJwQ2FrTXNSVUZCVTJsRExFdEJRMlZ0UWl4SFFVRXpRbVlzUlVGQlR5eERRVUZEU2l4RlFVRlpiVUlzU1VGQmJVSXNSMEZCU1c1Q0xFVkJRV0ZKTEVWQlFVc3NTVUZGTDBSNFFpeExRVUZMVXl4WlFVRmpMRWxCUVVrNVFpeEZRVUZYY1VJc1MwRkJUVU1zUlVGQlRXMUNMRWRCUXpsRGNFSXNTMEZCUzFNc1dVRkJXVzlETEZWQlFWY3NSVUZETlVJM1F5eExRVUZMVlN4bFFVTk1WaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3hqUVVGblFsWXNTMEZCUzFNc1dVRkROVUlzVFVGQlVqaENMRWRCUTBaMlF5eExRVUZMZFVNc1MwRkJTMEVzUjBGRlRIWkRMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZiVU1zVVVGQlZTeFRRVUZUYWtRc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVNelJDeEpRVUZKYkVJc1JVRkJUME1zUlVGQlIwTXNSVUZCU3pSQ0xFVkJRVzFDTTBJc1JVRkJUVllzUlVGRE5VTXNSMEZCU1dRc1MwRkJTMU1zWVVGQlpWUXNTMEZCUzFNc1dVRkJXVkFzVDBGQlUyNURMRVZCUVZOeFJpeFJRVU42UkhCRUxFdEJRVXR4UkN4WFFVRlhReXhOUVVGTmRFUXNTMEZCVFhWRUxHZENRVVUxUWl4SFFVRkpReXhOUVVGTlF5eFJRVUZSZUVRc1NVRkJVMlFzUlVGQlUyTXNTVUZCVTJZc1JVRkJWMlVzUjBGUGRFUXNTVUZPUVd0RUxFVkJRVzlDYmtRc1MwRkJTMG9zVVVGQlVUaEVMR0ZCUTJwRE1VUXNTMEZCUzBvc1VVRkJVVGhFTEdOQlFXVXNSMEZETlVJMVF5eEZRVUZQTEVsQlFVbHdReXhGUVVGWmMwSXNTMEZCUzBvc1UwRkJVM05FTEZGQlFWRXNZMEZEZUVOQkxGRkJRVkZxUkN4SFFVTmlSQ3hMUVVGTFNpeFJRVUZST0VRc1lVRkJaVkFzUlVGRmRrSTNRaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVU5V0xFVkJRVXNyUWl4VlFVTlhReXhQUVVGUmVFSXNSVUZCU1VNc1JVRkJTMFFzU1VGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVkQlEySjBRaXhMUVVGTFowSXNaMEpCUVdkQ1N5eEhRVU5xUWtFc1JVRkJUVzVDTEU5QlFWTnVReXhGUVVGVFowVXNVMEZETVVJdlFpeExRVUZMSzBNc1ZVRkpWQzlETEV0QlFVdHBRaXhMUVVGTGFFSXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVZG9ReXhQUVVGUGRrTXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVTBReXhWUVVGWkxGTkJRVk14UkN4RlFVRk5Na0lzUjBGRGFrUXNTVUZCU1ZRc1JVRkJVM2xETEVWQlEySXNTVUZCU3pWRUxFdEJRVXRUTEdGQlFXVlVMRXRCUVV0VExGbEJRVmx2UXl4VFFVTjRReXhOUVVGTkxFbEJRVWxHTEUxQlFVMHNORVZCUVRoRk0wTXNTMEZCUzJkRUxGVkJRVlV2UXl4SlFVc3ZSeXhIUVVoWkxFMUJRVkpCTEVsQlEwWkJMRVZCUVU5b1FpeEZRVUZUWjBJc1NVRkZaR1FzUlVGQlUyTXNSMEZEV0N4SlFVRkxhMElzUzBGQlYyeENMRVZCUTFSWUxFVkJRVkV5UXl4TFFVRkxhRU1zUlVGQlRXdENMRXRCUTNoQ2VVTXNSVUZCVnpORUxFVkJRVXRyUWl4SFFVTm9RbTVDTEV0QlFVc3lSQ3hWUVVGVmVFTXNSVUZCVTNsRExGTkJSM1JDTVVVc1JVRkJWekJETEV0QlEySkJMRVZCUVZGQkxFVkJRVTB3UWl4VFFVVmFkRVFzUzBGQlMwb3NVVUZCVVdsRkxHOUNRVUZuUXl4TlFVRlVha01zUlVGRGRFTTFRaXhMUVVGTFV5eFpRVUZaZFVJc1VVRkJVUzlDTEVkQlFWRXNTVUZCU1doRExFVkJRV0VyUWl4TFFVRk5ReXhGUVVGTkxFbEJRelZETEUxQlFWUXlRaXhKUVVOVU5VSXNTMEZCUzFNc1dVRkJXWFZDTEZGQlFWRXZRaXhIUVVGUkxFbEJRVWxvUXl4RlFVRmhLMElzUzBGQlRVTXNSVUZCVFRKQ0xFbEJSMnhGTEU5QlFVODFRaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWWGRDTEV0QlFVOHNVMEZCVTFnc1IwRkRkRU1zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVbHFReXhGUVVGUlowSXNTMEZCVFRSQ0xFZEJRM3BDTlVJc1MwRkJTMGdzVDBGQlQwY3NTMEZCUzBrc1QwRkJUMjFETEV0QlFVdDBRaXhGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlF6VkdWaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWVmtzVFVGQlVTeFRRVUZUUXl4SFFVTjJReXhKUVVGSldDeEZRVWxLTEU5QlNFRnFRaXhMUVVGTGFVUXNZMEZEVEdoRExFVkJRVThzU1VGQlNTOURMRVZCUVZNNFFpeExRVUZOTkVJc1IwRkRNVUkxUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBkVUlzVFVGQlRWWXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVNM1JsWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVmxMRkZCUVZVc1UwRkJVMFlzUjBGRGVrTXNTVUZCU1Znc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVrNVF5eEZRVUZYTmtJc1MwRkJUVFJDTEVkQlF6VkNOVUlzUzBGQlMwZ3NUMEZCVDBjc1MwRkJTMGtzVDBGQlR6QkNMRkZCUVZGaUxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZETDBaV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmMwSXNTVUZCVFN4VFFVRlRWQ3hIUVVOeVF5eEpRVUZKV0N4RlFVbEtMRTlCU0VGcVFpeExRVUZMYVVRc1kwRkRUR2hETEVWQlFVOHNTVUZCU1hCRExFVkJRVTl0UWl4TFFVRk5ORUlzUjBGRGVFSTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUGFVTXNTVUZCU1hCQ0xFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZETTBaV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVk1FSXNXVUZCWXl4VFFVRlRReXhGUVVGUlpDeEhRVU55UkN4SlFVRkpUaXhGUVVGSGQwTXNSVUZCVjBNc1JVRkJWWGhETEVWQlFVdE9MRVZCVVdwRExFZEJVRUZxUWl4TFFVRkxhVVFzWTBGRFV5eE5RVUZXVUN4SlFVTkdRU3hGUVVGVGVrUXNSVUZCVTNsRUxFbEJSVkFzVFVGQlZHUXNTVUZEUmtFc1JVRkJVVE5ETEVWQlFWTXlReXhKUVVWbU5FSXNUVUZCVFVNc1VVRkJVV1lzUjBGRGFFSXNTVUZCUzNCQ0xFVkJRVWtzUlVGQlIwTXNSVUZCVFcxQ0xFVkJRVTlKTEU5QlFWRjRRaXhGUVVGSlF5eEZRVUZMUkN4SlFVTjRRM2RETEVWQlFWbHdRaXhGUVVGUGNFSXNSMEZEYmtKMFFpeExRVUZMZVVNc1dVRkJXWEZDTEZGQlJXUXNSMEZCU1RORkxFVkJRVk4xUkN4SFFVTnNRaXhKUVVGTGIwSXNTMEZCWVhCQ0xFVkJRMWh3UkN4RlFVRlJNa01zUzBGQlMxTXNSVUZCVVc5Q0xFdEJRekZDUXl4RlFVRlhja0lzUlVGQlQyOUNMRWRCUTJ4Q09VUXNTMEZCUzNsRExGbEJRVmx4UWl4RlFVRlhReXhUUVVjeFFqZEZMRVZCUVZjd1F5eExRVU5pUVN4RlFVRlJRU3hGUVVGTk1FSXNVMEZGYUVKeVF5eEZRVUZQTEVsQlFVbHlReXhGUVVGNVFtOUNMRXRCUVUwd1F5eEZRVUZSWkN4SFFVTnNSRFZDTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVODBSQ3h6UWtGQmMwSXZReXhGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlJYUklMRTlCUVU5V0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmEwUXNXVUZCWXl4VFFVRlRReXhGUVVGVFF5eEZRVUZWUXl4SFFVTm9SU3hKUVVGSmJrUXNSVUZGU2l4SFFVUkJha0lzUzBGQlMybEVMR05CUTBScVJDeExRVUZMV1N4blFrRkRVQ3hOUVVGTkxFbEJRVWtyUWl4TlFVRk5MSGxEUVVsc1FpeFBRVVpCTVVJc1JVRkJUeXhKUVVGSmVrTXNSVUZCWlhkQ0xFdEJRVTFyUlN4RlFVRlRReXhGUVVGVlF5eEhRVU51UkhCRkxFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTgyUkN4WlFVRlphRVFzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnVSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZ6UkN4UlFVRlZMRk5CUVZOMlJDeEZRVUZOZDBRc1JVRkJUME1zUjBGRmRFUXNSMEZFUVhaRkxFdEJRVXRwUkN4alFVTlBMRTFCUVZKdVF5eEZRVU5HTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzTWtKQlJXeENMRWRCUVVrelF5eExRVUZMWXl4TFFVTlFMRTFCUVUwc1NVRkJTVFpDTEUxQlFVMHNlVU5CVDJ4Q0xFOUJURUV6UXl4TFFVRkxVeXhaUVVGakxFbEJRVWxvUXl4RlFVRlhkVUlzUzBGQlRYTkZMRVZCUVU5RExFZEJReTlEZGtVc1MwRkJTMU1zV1VGQldTdEVMR0ZCUVdVeFJDeEZRVU5vUTJRc1MwRkJTMU1zV1VGQldXOURMRlZCUVZjc1JVRkROVUkzUXl4TFFVRkxWU3hsUVVOTVZpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeGpRVUZuUWxZc1MwRkJTMU1zV1VGRGFrTlVMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZjME1zVjBGQllTeFRRVUZUY0VRc1JVRkJUVEpDTEVkQlEyeEVMRWxCUVVsWUxFVkJTVW9zVDBGSVFXcENMRXRCUVV0cFJDeGpRVU5NYUVNc1JVRkJUeXhKUVVGSk5VTXNSVUZCWXpKQ0xFdEJRVTFETEVWQlFVMHlRaXhIUVVOeVF6VkNMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU5cFJDeFhRVUZYY0VNc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU5zUjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZVd1JDeFJRVUZWTEZOQlFWTkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVU4wUnl4SlFVRkpOMFFzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWszUXl4RlFVRmpORUlzUzBGQlRUQkZMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVU0xUmpsRkxFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTh5UlN4WFFVRlhPVVFzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnNSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZwUlN4UFFVRlRMRk5CUVZNdlJTeEZRVUZOTWtJc1IwRkRPVU1zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVa3pReXhGUVVGaE1FSXNUVUZCVFN4RlFVRlBReXhGUVVGTk1rSXNSMEZETTBNMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQTmtVc1ZVRkJWV2hGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRha2RXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYlVVc1VVRkJWU3hUUVVGVGFrWXNSVUZCVFRKQ0xFZEJReTlETEVsQlFVbFlMRVZCU1Vvc1QwRklRV3BDTEV0QlFVdHBSQ3hqUVVOTWFFTXNSVUZCVHl4SlFVRkpNME1zUlVGQllUQkNMRTFCUVUwc1JVRkJUVU1zUlVGQlRUSkNMRWRCUXpGRE5VSXNTMEZCUzBnc1QwRkJUMGNzUzBGQlMwa3NUMEZCVHpaRkxGVkJRVlZvUlN4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJRMnBIVml4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlc5RkxGTkJRVmNzVTBGQlUyeEdMRVZCUVUweVFpeEhRVU5vUkN4SlFVRkpXQ3hGUVVsS0xFOUJTRUZxUWl4TFFVRkxhVVFzWTBGRFRHaERMRVZCUVU4c1NVRkJTVEZETEVWQlFXVjVRaXhMUVVGTlF5eEZRVUZOTWtJc1IwRkRkRU0xUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBaMFlzV1VGQldXNUZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGRGJrZFdMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZaME1zUjBGQlN5eFhRVU16UWl4SFFVRkpMME1zUzBGQlMxVXNZVUZCWlN4RlFVTjBRaXhOUVVGTkxFbEJRVWxwUXl4TlFVRk5MRzlEUVdOc1FpeFBRVnBKTTBNc1MwRkJTMU1zWVVGRFNGUXNTMEZCUzFNc1dVRkJXVzlETEZOQlEyNUNOME1zUzBGQlMzRkdMRlZCUVZWeVJpeExRVUZMVXl4aFFVVndRbFFzUzBGQlMzTkdMRk5CUVZOMFJpeExRVUZMVXl4aFFVVnlRbFFzUzBGQlMxTXNXVUZCWXl4TlFVVnVRbFFzUzBGQlMzRkdMRlZCUVZWeVJpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeHpRa0ZGTjBKV0xFdEJRVXRYTEZOQlFWTllMRXRCUVV0VkxHTkJRekZDVml4TFFVRkxWU3hsUVVORlZpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZYZEZMRWxCUVUwc1YwRkROVUlzUzBGQlQzWkdMRXRCUVV0VkxHTkJRV2RDTEVkQlF6RkNWaXhMUVVGTEswTXNTMEZGVUN4UFFVRlBMME1zUzBGQlMwWXNVMEZIWkVnc1JVRkJZMjlDTEZWQlFWVnJReXhaUVVGakxGZEJRM0JETEVkQlFVbHFSQ3hMUVVGTFV5eFpRVVZRTEU5QlJFRlVMRXRCUVV0VExGbEJRVmx2UXl4VlFVRlhMRVZCUTNKQ04wTXNTMEZCUzNOR0xGTkJRVk4wUml4TFFVRkxVeXhqUVVrNVFtUXNSVUZCWTI5Q0xGVkJRVlYxUlN4VFFVRlhMRk5CUVZOeVJTeEhRVU14UXl4SlFVRkpReXhGUVVGTGMwVXNSVUZCVDNaR0xFVkJRVTExUWl4RlFVTjBRaXhKUVVGTFVDeEZRVUZMZDBVc1QwRkJVU3hEUVV0b1FpeEhRVXBMZWtZc1MwRkJTMk1zVFVGQk9FSXNTVUZCZEVKa0xFdEJRVXRWTEdOQlFYTkNUeXhGUVVGTFppeFBRVUZUYmtNc1JVRkJVMmRGTEZWQlEyeEZMMElzUzBGQlMyTXNTMEZCVDBjc1IwRkZaSFZGTEVWQlFWRXNSMEZEU25aRkxFVkJRVXRtTEU5QlFWTnVReXhGUVVGVFowVXNVVUZCVXl4RFFVbHNReXhKUVVGTE9VSXNTMEZJVEVRc1MwRkJTMFFzWTBGQll6SkdMRTFCUVZFeFNDeEZRVUZaTWtnc1VVRkRka05JTEVWQlFWRjRSaXhMUVVGTFNTeFBRVUZQZDBZc1QwRkJUek5GTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVGblFpeEpRVUZOVHl4RlFVRkxhRUlzUzBGRGNrWjFRaXhGUVVGUFVDeEZRVUZMWlN4UlFVVk1NVU1zUlVGQlVUSkRMRXRCUVV0VUxFVkJRVTEyUWl4TFFVTjRRbWxDTEVWQlFVMU5MRVZCUVV0MlFpeEhRVU5ZZFVZc1IwRkJVM2hHTEV0QlFVdEpMRTlCUVU5MVJDeFZRVUZWZWtNc1JVRkJTMnhDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdWQlJTOUVPRVVzU1VGQlZYWkZMRVZCUVVzMFFpeFRRVUZYTEVsQlFVMHNUVUZCVVRkRExFdEJRVXRKTEU5QlFVOTVSaXhSUVVGUk5VVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJRek5HVml4TFFVRkxSQ3hqUVVGak1rWXNUVUZCVVRGSUxFVkJRVms0U0N4bFFVVjJRemxHTEV0QlFVdEVMR05CUVdNeVJpeE5RVUZSTVVnc1JVRkJXVEpJTEZGQlEzWkRTQ3hGUVVGUmVFWXNTMEZCUzBrc1QwRkJUM2RHTEU5QlFVOHpSU3hGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZMEZCWjBJc1lVRkJaVThzUlVGQlMzVkVMR0ZCUXpGR2RrUXNSVUZCUzNGRUxFOUJRVk55UkN4RlFVRkxjMFFzVFVGRGNrSnBRaXhIUVVGVExGbEJRV04yUlN4RlFVRkxjVVFzVFVGQlVTeE5RVUZSY2tRc1JVRkJTM05FTEUxQlFWRXNTVUZEYUVSMFJDeEZRVUZMYzBRc1VVRkRaR2xDTEVkQlFWTXNXVUZCWTNaRkxFVkJRVXR6UkN4TlFVRlJMRXRCUld4RGRFUXNSVUZCU3pSQ0xGVkJRMUF5UXl4SFFVRlRMRXRCUTFSNFJpeExRVUZMUkN4alFVRmpNa1lzVFVGQlVURklMRVZCUVZrNFNDeFpRVVYyUXpsR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1N0SUxGTkJRM1pEVUN4SFFVRlRMRXRCUlZoQkxFZEJRVk40Uml4TFFVRkxTU3hQUVVGUGVVWXNVVUZCVVRWRkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVYzVSQ3hQUVVSQlZpeExRVUZMU0N4UFFVRlBNa1lzUlVGQlQzaEdMRXRCUVV0VkxHTkJRMnBDVHl4RlFVRkxkMFVzVVVGQlV5eEpRVWw2UWpsR0xFVkJRV052UWl4VlFVRlZjMFVzVlVGQldTeFRRVUZUY0VVc1IwRkRNME1zU1VGQlNYVkZMRVZCUTBvc1NVRkJTM1pGTEVWQlFVc3JSU3hUUVZWU0xFOUJWRUZTTEVWQlFWRXNSMEZEVW5oR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1N0SUxGTkJSWEpEVUN4RlFVUkZka1VzUlVGQlMyWXNUMEZCVTI1RExFVkJRVk5uUlN4UlFVTnFRaTlDTEV0QlFVdEpMRTlCUVU5M1JpeFBRVUZQTTBVc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdOQlFXZENMRXRCUVU5UExFVkJRVXRvUWl4TFFVRlBMRWxCUVUxRUxFdEJRVXRKTEU5QlFVOTVSaXhSUVVGUk5VVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJSVGxKVml4TFFVRkxTU3hQUVVGUGQwWXNUMEZCVHpORkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVRm5RaXhMUVVGUFZpeExRVUZMU1N4UFFVRlBlVVlzVVVGQlVUVkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVVYwU1ZZc1MwRkJTMFFzWTBGQll6SkdMRTFCUVZFeFNDeEZRVUZaYVVrc1MwRkRka05xUnl4TFFVRkxTQ3hQUVVGUE1rWXNSVUZCVDNoR0xFdEJRVXRWTEdOQlEycENUeXhGUVVGTEswVXNWVUZCVnl4SFFVa3pRbkpITEVWQlFXTnZRaXhWUVVGVmJFSXNUMEZCVXl4VFFVRlRNa1lzUlVGQlQxVXNSMEZGTDBNc1QwRkVRV3hITEV0QlFVdFpMR2xDUVVGclFpeEZRVU5vUWxvc1MwRkJTMDhzWlVGQlpXbEdMRVZCUVU5VkxFVkJRVkVzU1VGSE5VTjJSeXhGUVVGamIwSXNWVUZCVldwQ0xFMUJRVkVzVjBGRk9VSXNUMEZFUVVVc1MwRkJTMkVzYlVKQlFXOUNMRVZCUTJ4Q1lpeExRVUZMVVN4cFFrRkhaR0lzUlVGQlkyOUNMRlZCUVZWcFF5eFZRVUZaTEZOQlFWTXZReXhIUVVNelF5eFBRVUZaTEUxQlFWSkJMRVZCUTBzc1IwRkZRU3hWUVVGWlFTeEZRVUZQTEV0QlNUbENUaXhGUVVGamIwSXNWVUZCVlc5R0xFbEJRVTBzVjBGRE5VSXNUMEZCVDI1SExFdEJRVXRyUkN4UlFVRlJTU3hOUVVGTmRFUXNTMEZCVFhWRUxGbEJSMnhETlVRc1JVRkJZMjlDTEZWQlFWVnhSaXhKUVVGTkxGTkJRVk51Unl4RlFVRk5iVUlzUlVGQldXMUNMRWRCUTNaRUxFOUJRVTkyUXl4TFFVRkxhVUlzUzBGQlMyaENMRVZCUVUxdFFpeEZRVUZaYlVJc1NVRkhja00xUXl4RlFVRmpiMElzVlVGQlZYTkdMRWxCUVUwc1UwRkJVM3BGTEVkQlEzSkRMRTlCUVU4MVFpeExRVUZMZFVNc1MwRkJTMWdzU1VGSGJrSnFReXhGUVVGamIwSXNWVUZCVlhWR0xFbEJRVTBzVTBGQlV6RkZMRWRCUTNKRExFOUJRVTgxUWl4TFFVRkxNa0lzVFVGQlRVTXNTVUZIY0VKcVF5eEZRVUZqYjBJc1ZVRkJWWGRHTEVsQlFVMHNVMEZCVXpORkxFZEJRM0pETEU5QlFVODFRaXhMUVVGTE9FSXNVVUZCVVVZc1NVRkhkRUpxUXl4RlFVRmpiMElzVlVGQlZYbEdMRWxCUVUwc1UwRkJVemxFTEVWQlFWRmtMRWRCUXpkRExFOUJRVTgxUWl4TFFVRkxlVU1zV1VGQldVTXNSVUZCVVdRc1NVRkhiRU5xUXl4RlFVRmpiMElzVlVGQlZUQkdMRWxCUVUwc1UwRkJVM1pETEVWQlFWTkRMRVZCUVZWRExFZEJRM2hFTEU5QlFVOXdSU3hMUVVGTGFVVXNXVUZCV1VNc1JVRkJVME1zUlVGQlZVTXNTVUZITjBONlJTeEZRVUZqYjBJc1ZVRkJWVEpHTEVsQlFVMHNVMEZCVXpWR0xFVkJRVTEzUkN4RlFVRlBReXhIUVVOc1JDeFBRVUZQZGtVc1MwRkJTM0ZGTEZGQlFWRjJSQ3hGUVVGTmQwUXNSVUZCVDBNc1NVRkhia00xUlN4RlFVRmpiMElzVlVGQlZUUkdMRVZCUVVrc1UwRkJVekZITEVWQlFVMXRRaXhGUVVGWmJVSXNSMEZEY2tRc1QwRkJUM1pETEV0QlFVdHJSQ3hSUVVGUmFrUXNSVUZCVFcxQ0xFVkJRVmx0UWl4SlFVZDRRelZETEVWQlFXTnZRaXhWUVVGVk5rWXNSVUZCU1N4VFFVRlRNMGNzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVU55UkN4UFFVRlBka01zUzBGQlMybENMRXRCUVV0b1FpeEZRVUZOYlVJc1JVRkJXVzFDTEVsQlIzSkROVU1zUlVGQlkyOUNMRlZCUVZVNFJpeEZRVUZKTEZOQlFWTnFSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTM1ZETEV0QlFVdFlMRWxCUjI1Q2FrTXNSVUZCWTI5Q0xGVkJRVlVyUml4RlFVRkpMRk5CUVZOc1JpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlN6SkNMRTFCUVUxRExFbEJSM0JDYWtNc1JVRkJZMjlDTEZWQlFWVm5SeXhGUVVGSkxGTkJRVk51Uml4SFFVTnVReXhQUVVGUE5VSXNTMEZCU3poQ0xGRkJRVkZHTEVsQlIzUkNha01zUlVGQlkyOUNMRlZCUVZWcFJ5eEZRVUZKTEZOQlFWTndSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTM0ZETEVsQlFVbFVMRWxCUjJ4Q2FrTXNSVUZCWTI5Q0xGVkJRVlZQTEVWQlFVa3NVMEZCVTI5Q0xFVkJRVkZrTEVkQlF6TkRMRTlCUVU4MVFpeExRVUZMZVVNc1dVRkJXVU1zUlVGQlVXUXNTVUZIYkVOcVF5eEZRVUZqYjBJc1ZVRkJWVWNzU1VGQlRTeFhRVU0xUWl4UFFVRkpiRUlzUzBGQlMxTXNZVUZCWlZRc1MwRkJTMU1zV1VGQldWQXNUMEZCVTI1RExFVkJRVk54Uml4UlFVTnNSSEJFTEV0QlFVdDVSU3hSUVVGUmJrSXNUVUZCVFhSRUxFdEJRVTExUkN4WFFVVjZRblpFTEV0QlFVc3lSQ3hWUVVGVlRDeE5RVUZOZEVRc1MwRkJUWFZFTEZsQlNYUkROVVFzUlVGQlkyOUNMRlZCUVZWclJ5eEZRVUZKTEZkQlF6RkNMRTlCUVVscVNDeExRVUZMVXl4aFFVRmxWQ3hMUVVGTFV5eFpRVUZaVUN4UFFVRlRia01zUlVGQlUzRkdMRkZCUTJ4RWNFUXNTMEZCUzNsRkxGRkJRVkZ1UWl4TlFVRk5kRVFzUzBGQlRYVkVMRmRCUlhwQ2RrUXNTMEZCU3pKRUxGVkJRVlZNTEUxQlFVMTBSQ3hMUVVGTmRVUXNXVUZKZEVNMVJDeEZRVUZqYjBJc1ZVRkJWVzFITEVsQlFVMHNVMEZCVTJwSUxFVkJRVTB5UWl4SFFVTXpReXhQUVVGUE5VSXNTMEZCUzJkR0xFOUJRVTh2UlN4RlFVRk5Na0lzU1VGSE0wSnFReXhGUVVGamIwSXNWVUZCVlc5SExFdEJRVThzVTBGQlUyeElMRVZCUVUweVFpeEhRVU0xUXl4UFFVRlBOVUlzUzBGQlMydEdMRkZCUVZGcVJpeEZRVUZOTWtJc1NVRkhOVUpxUXl4RlFVRmpiMElzVlVGQlZYRkhMRWxCUVUwc1UwRkJVMjVJTEVWQlFVMHlRaXhIUVVNelF5eFBRVUZQTlVJc1MwRkJTMjFHTEZOQlFWTnNSaXhGUVVGTk1rSXNTVUZIZEVKcVF5eEZRV2hsZDBJc1MwRnZaV2hEYzBNc1MwRkJTMnBESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SRzlqZFcxbGJuUkRRaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LG8scj17fS5oYXNPd25Qcm9wZXJ0eTtvPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKG8pe24uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxvKSx0aGlzLnR5cGU9dC5EdW1teX1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIGUgaW4gbylyLmNhbGwobyxlKSYmKHRbZV09b1tlXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obixvKSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm5cIlwifSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVIxYlcxNUxtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1UbTlrWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUjFiVzE1SWl3aWNHRnlaVzUwSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJblI1Y0dVaUxDSkVkVzF0ZVNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSW1Oc2IyNWxJaXdpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVzlDUXl4RlFVVjBRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVlJ5eFJRVUZSTEdGQlJXeENTaXhGUVVGWFNTeFJRVUZSTEdOQlJXNUNReXhQUVVGUFF5eFJRVUZ4UWl4VFFVRlZReXhIUVVkd1F5eFRRVUZUUXl4RlFVRlRReXhIUVVOb1FrUXNSVUZCVTBVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGRE1VTkpMRXRCUVV0RExFdEJRVTlrTEVWQlFWTmxMRTFCVjNaQ0xFOUJka0pUTEZOQlFWTkRMRVZCUVU5UUxFZEJRVlVzU1VGQlN5eEpRVUZKVVN4TFFVRlBVaXhGUVVGalVDeEZRVUZSVlN4TFFVRkxTQ3hGUVVGUlVTeExRVUZOUkN4RlFVRk5ReXhIUVVGUFVpeEZRVUZQVVN4SlFVRlJMRk5CUVZORExFbEJRVk5NTEV0QlFVdEdMRmxCUVdOTExFVkJRVk5GTEVWQlFVdERMRlZCUVZsV0xFVkJRVTlWTEZWQlFWZElMRVZCUVUxSExGVkJRVmtzU1VGQlNVUXNSVUZCVVVZc1JVRkJUVTRzVlVGQldVUXNSVUZCVDFVc1ZVRlJhRkZETEVOQlFVOWFMRVZCYVVKT1VDeEhRVlpFVHl4RlFVRlRWeXhWUVVGVlJTeE5RVUZSTEZkQlEzcENMRTlCUVU5RExFOUJRVTlETEU5QlFVOVdMRTlCUjNaQ1RDeEZRVUZUVnl4VlFVRlZTeXhUUVVGWExGTkJRVk5ETEVkQlEzSkRMRTFCUVU4c1NVRkhSbXBDTEVWQmFFSnRRaXhMUVc5Q00wSkpMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkhWdGJYa3Vhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixvLGksbixzLGgsdT17fS5oYXNPd25Qcm9wZXJ0eTtoPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikscz1oLmlzT2JqZWN0LG49aC5pc0Z1bmN0aW9uLGk9aC5nZXRWYWx1ZSxvPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTEF0dHJpYnV0ZVwiKSxyPXJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihoKXtmdW5jdGlvbiBwKGUscixvKXt2YXIgaSxuLHMsaDtpZihwLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYodGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy50eXBlPXQuRWxlbWVudCx0aGlzLmF0dHJpYnM9e30sdGhpcy5zY2hlbWFUeXBlSW5mbz1udWxsLG51bGwhPW8mJnRoaXMuYXR0cmlidXRlKG8pLGUudHlwZT09PXQuRG9jdW1lbnQmJih0aGlzLmlzUm9vdD0hMCx0aGlzLmRvY3VtZW50T2JqZWN0PWUsZS5yb290T2JqZWN0PXRoaXMsZS5jaGlsZHJlbikpZm9yKG49MCxzPShoPWUuY2hpbGRyZW4pLmxlbmd0aDtuPHM7bisrKWlmKChpPWhbbl0pLnR5cGU9PT10LkRvY1R5cGUpe2kubmFtZT10aGlzLm5hbWU7YnJlYWt9fXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKXUuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShwLG8pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcInRhZ05hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJuYW1lc3BhY2VVUklcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJwcmVmaXhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJsb2NhbE5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJpZFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImNsYXNzTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImNsYXNzTGlzdFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImF0dHJpYnV0ZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXR0cmlidXRlTWFwJiZ0aGlzLmF0dHJpYnV0ZU1hcC5ub2Rlc3x8KHRoaXMuYXR0cmlidXRlTWFwPW5ldyByKHRoaXMuYXR0cmlicykpLHRoaXMuYXR0cmlidXRlTWFwfX0pLHAucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQsZSxyLG87Zm9yKGUgaW4ocj1PYmplY3QuY3JlYXRlKHRoaXMpKS5pc1Jvb3QmJihyLmRvY3VtZW50T2JqZWN0PW51bGwpLHIuYXR0cmlicz17fSxvPXRoaXMuYXR0cmlicyl1LmNhbGwobyxlKSYmKHQ9b1tlXSxyLmF0dHJpYnNbZV09dC5jbG9uZSgpKTtyZXR1cm4gci5jaGlsZHJlbj1bXSx0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuKGU9dC5jbG9uZSgpKS5wYXJlbnQ9cixyLmNoaWxkcmVuLnB1c2goZSl9KSxyfSxwLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxyKXt2YXIgbyxoO2lmKG51bGwhPXQmJih0PWkodCkpLHModCkpZm9yKG8gaW4gdCl1LmNhbGwodCxvKSYmKGg9dFtvXSx0aGlzLmF0dHJpYnV0ZShvLGgpKTtlbHNlIG4ocikmJihyPXIuYXBwbHkoKSksdGhpcy5vcHRpb25zLmtlZXBOdWxsQXR0cmlidXRlcyYmbnVsbD09cj90aGlzLmF0dHJpYnNbdF09bmV3IGUodGhpcyx0LFwiXCIpOm51bGwhPXImJih0aGlzLmF0dHJpYnNbdF09bmV3IGUodGhpcyx0LHIpKTtyZXR1cm4gdGhpc30scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbztpZihudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKHQ9aSh0KSxBcnJheS5pc0FycmF5KHQpKWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWU9dFtyXSxkZWxldGUgdGhpcy5hdHRyaWJzW2VdO2Vsc2UgZGVsZXRlIHRoaXMuYXR0cmlic1t0XTtyZXR1cm4gdGhpc30scC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZWxlbWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LHAucHJvdG90eXBlLmF0dD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmF0dHJpYnV0ZSh0LGUpfSxwLnByb3RvdHlwZS5hPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlKHQsZSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XS52YWx1ZTpudWxsfSxwLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdOm51bGx9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSxyKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5vZGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5vZGVOUz1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuaGFzQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCl9LHAucHJvdG90eXBlLmhhc0F0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XS5pc0lkOmV9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlTm9kZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbztpZighcC5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpKXJldHVybiExO2lmKHQubmFtZXNwYWNlVVJJIT09dGhpcy5uYW1lc3BhY2VVUkkpcmV0dXJuITE7aWYodC5wcmVmaXghPT10aGlzLnByZWZpeClyZXR1cm4hMTtpZih0LmxvY2FsTmFtZSE9PXRoaXMubG9jYWxOYW1lKXJldHVybiExO2lmKHQuYXR0cmlicy5sZW5ndGghPT10aGlzLmF0dHJpYnMubGVuZ3RoKXJldHVybiExO2ZvcihlPXI9MCxvPXRoaXMuYXR0cmlicy5sZW5ndGgtMTswPD1vP3I8PW86cj49bztlPTA8PW8/KytyOi0tcilpZighdGhpcy5hdHRyaWJzW2VdLmlzRXF1YWxOb2RlKHQuYXR0cmlic1tlXSkpcmV0dXJuITE7cmV0dXJuITB9LHB9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFVnNaVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeEJkSFJ5YVdKMWRHVWlMQ0pZVFV4T1lXMWxaRTV2WkdWTllYQWlMQ0pZVFV4T2IyUmxJaXdpWjJWMFZtRnNkV1VpTENKcGMwWjFibU4wYVc5dUlpd2lhWE5QWW1wbFkzUWlMQ0p5WldZaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeEZiR1Z0Wlc1MElpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0ltRjBkSEpwWW5WMFpYTWlMQ0pqYUdsc1pDSXNJbW9pTENKc1pXNGlMQ0p5WldZeElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWMzUnlhVzVuYVdaNUlpd2lkSGx3WlNJc0lrVnNaVzFsYm5RaUxDSmhkSFJ5YVdKeklpd2ljMk5vWlcxaFZIbHdaVWx1Wm04aUxDSmhkSFJ5YVdKMWRHVWlMQ0pFYjJOMWJXVnVkQ0lzSW1selVtOXZkQ0lzSW1SdlkzVnRaVzUwVDJKcVpXTjBJaXdpY205dmRFOWlhbVZqZENJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lSRzlqVkhsd1pTSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkQ0lzSW1GMGRISnBZblYwWlUxaGNDSXNJbTV2WkdWeklpd2lZMnh2Ym1VaUxDSmhkSFFpTENKaGRIUk9ZVzFsSWl3aVkyeHZibVZrVTJWc1ppSXNJbU55WldGMFpTSXNJbVp2Y2tWaFkyZ2lMQ0pqYkc5dVpXUkRhR2xzWkNJc0luQjFjMmdpTENKMllXeDFaU0lzSW1GMGRGWmhiSFZsSWl3aVlYQndiSGtpTENKdmNIUnBiMjV6SWl3aWEyVmxjRTUxYkd4QmRIUnlhV0oxZEdWeklpd2ljbVZ0YjNabFFYUjBjbWxpZFhSbElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lkRzlUZEhKcGJtY2lMQ0ozY21sMFpYSWlMQ0psYkdWdFpXNTBJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbUVpTENKblpYUkJkSFJ5YVdKMWRHVWlMQ0p6WlhSQmRIUnlhV0oxZEdVaUxDSm5aWFJCZEhSeWFXSjFkR1ZPYjJSbElpd2ljMlYwUVhSMGNtbGlkWFJsVG05a1pTSXNJbTVsZDBGMGRISWlMQ0p5WlcxdmRtVkJkSFJ5YVdKMWRHVk9iMlJsSWl3aWIyeGtRWFIwY2lJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxJaXdpWjJWMFFYUjBjbWxpZFhSbFRsTWlMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSnNiMk5oYkU1aGJXVWlMQ0p6WlhSQmRIUnlhV0oxZEdWT1V5SXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdWT1V5SXNJbWRsZEVGMGRISnBZblYwWlU1dlpHVk9VeUlzSW5ObGRFRjBkSEpwWW5WMFpVNXZaR1ZPVXlJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxUbE1pTENKb1lYTkJkSFJ5YVdKMWRHVWlMQ0pvWVhOQmRIUnlhV0oxZEdWT1V5SXNJbk5sZEVsa1FYUjBjbWxpZFhSbElpd2lhWE5KWkNJc0luTmxkRWxrUVhSMGNtbGlkWFJsVGxNaUxDSnpaWFJKWkVGMGRISnBZblYwWlU1dlpHVWlMQ0pwWkVGMGRISWlMQ0owWVdkdVlXMWxJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VVTnNZWE56VG1GdFpTSXNJbU5zWVhOelRtRnRaWE1pTENKcGMwVnhkV0ZzVG05a1pTSXNJbTV2WkdVaUxDSnBJaXdpWVhKbmRXMWxiblJ6SWl3aWNISmxabWw0SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFUQkNReXhGUVVGcFFrTXNSVUZCVTBNc1JVRkJWVU1zUlVGQldVTXNSVUZCVlVNc1JVRkZhRWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlRVY3NVVUZCVVN4aFFVRmpTaXhGUVVGWFF5eEZRVUZKUkN4VFFVRlZSQ3hGUVVGaFJTeEZRVUZKUml4WFFVRlpSQ3hGUVVGWFJ5eEZRVUZKU0N4VFFVVnFSMFFzUlVGQlZVOHNVVUZCVVN4aFFVVnNRbFlzUlVGQlYxVXNVVUZCVVN4alFVVnVRbFFzUlVGQlpWTXNVVUZCVVN4clFrRkZka0pTTEVWQlFXdENVU3hSUVVGUkxIRkNRVVV4UWtNc1QwRkJUME1zVVVGQmRVSXNVMEZCVlVNc1IwRkhkRU1zVTBGQlUwTXNSVUZCVjBNc1JVRkJVVU1zUlVGQlRVTXNSMEZEYUVNc1NVRkJTVU1zUlVGQlQwTXNSVUZCUjBNc1JVRkJTME1zUlVGRmJrSXNSMEZFUVZBc1JVRkJWMUVzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWWXNSMEZEYUVNc1RVRkJVa01zUlVGRFJpeE5RVUZOTEVsQlFVbFZMRTFCUVUwc2VVSkJRVEpDUkN4TFFVRkxSU3hoUVZOc1JDeEhRVkJCUml4TFFVRkxWQ3hMUVVGUFV5eExRVUZMUnl4VlFVRlZXaXhMUVVGTFFTeEhRVU5vUTFNc1MwRkJTMGtzUzBGQlR6ZENMRVZCUVZNNFFpeFJRVU55UWt3c1MwRkJTMDBzVVVGQlZTeEhRVU5tVGl4TFFVRkxUeXhsUVVGcFFpeExRVU5LTEUxQlFXUm1MRWRCUTBaUkxFdEJRVXRSTEZWQlFWVm9RaXhIUVVWaVJpeEZRVUZQWXl4UFFVRlROMElzUlVGQlUydERMRmRCUXpOQ1ZDeExRVUZMVlN4UlFVRlRMRVZCUTJSV0xFdEJRVXRYTEdWQlFXbENja0lzUlVGRGRFSkJMRVZCUVU5elFpeFhRVUZoV2l4TFFVTm9RbFlzUlVGQlQzVkNMRlZCUlZRc1NVRkJTMjVDTEVWQlFVa3NSVUZCUjBNc1IwRkVXa01zUlVGQlQwNHNSVUZCVDNWQ0xGVkJRMU5ETEU5QlFWRndRaXhGUVVGSlF5eEZRVUZMUkN4SlFVVjBReXhKUVVSQlJDeEZRVUZSUnl4RlFVRkxSaXhKUVVOSVZTeFBRVUZUTjBJc1JVRkJVM2RETEZGQlFWTXNRMEZEYmtOMFFpeEZRVUZOUml4TFFVRlBVeXhMUVVGTFZDeExRVU5zUWl4UFFUSlFWaXhQUVd4VFV5eFRRVUZUUlN4RlFVRlBTQ3hIUVVGVkxFbEJRVXNzU1VGQlNUQkNMRXRCUVU4eFFpeEZRVUZqVUN4RlFVRlJaMElzUzBGQlMxUXNSVUZCVVRCQ0xFdEJRVTEyUWl4RlFVRk5kVUlzUjBGQlR6RkNMRVZCUVU4d1FpeEpRVUZSTEZOQlFWTkRMRWxCUVZOcVFpeExRVUZMUml4WlFVRmpUQ3hGUVVGVGQwSXNSVUZCUzBNc1ZVRkJXVFZDTEVWQlFVODBRaXhWUVVGWGVrSXNSVUZCVFhsQ0xGVkJRVmtzU1VGQlNVUXNSVUZCVVhoQ0xFVkJRVTFKTEZWQlFWbFFMRVZCUVU4MFFpeFZRV05vVVVNc1EwRkJUemxDTEVWQmMxSk9XQ3hIUVhSUVJEQkRMRTlCUVU5RExHVkJRV1ZvUXl4RlFVRlhOa0lzVlVGQlZ5eFZRVUZYTEVOQlEzSkVTU3hKUVVGTExGZEJRMGdzVDBGQlQzUkNMRXRCUVV0VUxGRkJTV2hDTmtJc1QwRkJUME1zWlVGQlpXaERMRVZCUVZjMlFpeFZRVUZYTEdWQlFXZENMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUVUZCVHl4TlFVbFlSaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NVMEZCVlN4RFFVTndSRWtzU1VGQlN5eFhRVU5JTEUxQlFVOHNUVUZKV0VZc1QwRkJUME1zWlVGQlpXaERMRVZCUVZjMlFpeFZRVUZYTEZsQlFXRXNRMEZEZGtSSkxFbEJRVXNzVjBGRFNDeFBRVUZQZEVJc1MwRkJTMVFzVVVGSmFFSTJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NTMEZCVFN4RFFVTm9SRWtzU1VGQlN5eFhRVU5JTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWclFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1dVRkJZU3hEUVVOMlJFa3NTVUZCU3l4WFFVTklMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVnJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NZVUZCWXl4RFFVTjRSRWtzU1VGQlN5eFhRVWxJTEU5QlNFdDBRaXhMUVVGTGRVSXNZMEZCYVVKMlFpeExRVUZMZFVJc1lVRkJZVU1zVVVGRE0wTjRRaXhMUVVGTGRVSXNZVUZCWlN4SlFVRkpPVU1zUlVGQlowSjFRaXhMUVVGTFRTeFZRVVY0UTA0c1MwRkJTM1ZDTEdkQ1FVbG9RbXhETEVWQlFWYzJRaXhWUVVGVlR5eE5RVUZSTEZkQlF6TkNMRWxCUVVsRExFVkJRVXRETEVWQlFWTkRMRVZCUVZsb1F5eEZRVTg1UWl4SlFVRkxLMElzUzBGT1RFTXNSVUZCWVZJc1QwRkJUMU1zVDBGQlR6ZENMRTlCUTFwVkxGTkJRMkpyUWl4RlFVRlhha0lzWlVGQmFVSXNUVUZGT1VKcFFpeEZRVUZYZEVJc1VVRkJWU3hIUVVOeVFsWXNSVUZCVDBrc1MwRkJTMDBzVVVGRlRIWkNMRVZCUVZGblFpeExRVUZMU0N4RlFVRk5LMElzUzBGRGVFSkVMRVZCUVUwNVFpeEZRVUZMSzBJc1IwRkRXRU1zUlVGQlYzUkNMRkZCUVZGeFFpeEhRVUZYUkN4RlFVRkpSQ3hUUVZOd1F5eFBRVkJCUnl4RlFVRlhaaXhUUVVGWExFZEJRM1JDWWl4TFFVRkxZU3hUUVVGVGFVSXNVVUZCVVN4VFFVRlRja01zUjBGRE4wSXNTVUZCU1hORExFVkJSMG9zVDBGR1FVRXNSVUZCWTNSRExFVkJRVTFuUXl4VFFVTlNia01zVDBGQlUzTkRMRVZCUTJSQkxFVkJRVmRtTEZOQlFWTnRRaXhMUVVGTFJDeExRVVV6UWtnc1IwRkhWSFpETEVWQlFWYzJRaXhWUVVGVlZpeFZRVUZaTEZOQlFWTnFRaXhGUVVGTk1FTXNSMEZET1VNc1NVRkJTVTRzUlVGQlUwOHNSVUZKWWl4SFFVaFpMRTFCUVZJelF5eEpRVU5HUVN4RlFVRlBXaXhGUVVGVFdTeEpRVVZrVml4RlFVRlRWU3hIUVVOWUxFbEJRVXR2UXl4TFFVRlhjRU1zUlVGRFZGSXNSVUZCVVdkQ0xFdEJRVXRTTEVWQlFVMXZReXhMUVVONFFrOHNSVUZCVnpORExFVkJRVXR2UXl4SFFVTm9Rak5DTEV0QlFVdFJMRlZCUVZWdFFpeEZRVUZUVHl4VFFVZDBRblJFTEVWQlFWZHhSQ3hMUVVOaVFTeEZRVUZSUVN4RlFVRk5SU3hUUVVWYWJrTXNTMEZCUzI5RExGRkJRVkZETEc5Q1FVRm5ReXhOUVVGVVNpeEZRVU4wUTJwRExFdEJRVXROTEZGQlFWRm1MRWRCUVZFc1NVRkJTV1lzUlVGQllYZENMRXRCUVUxVUxFVkJRVTBzU1VGRGFFTXNUVUZCVkRCRExFbEJRMVJxUXl4TFFVRkxUU3hSUVVGUlppeEhRVUZSTEVsQlFVbG1MRVZCUVdGM1FpeExRVUZOVkN4RlFVRk5NRU1zU1VGSGRFUXNUMEZCVDJwRExFMUJSMVJZTEVWQlFWYzJRaXhWUVVGVmIwSXNaMEpCUVd0Q0xGTkJRVk12UXl4SFFVTTVReXhKUVVGSmIwTXNSVUZCVTJwRExFVkJRVWRETEVWQlEyaENMRWRCUVZrc1RVRkJVa29zUlVGRFJpeE5RVUZOTEVsQlFVbFZMRTFCUVUwc01rSkJRVFpDUkN4TFFVRkxSU3hoUVVkd1JDeEhRVVJCV0N4RlFVRlBXaXhGUVVGVFdTeEhRVU5hWjBRc1RVRkJUVU1zVVVGQlVXcEVMRWRCUTJoQ0xFbEJRVXRITEVWQlFVa3NSVUZCUjBNc1JVRkJUVW9zUlVGQlMzVkNMRTlCUVZGd1FpeEZRVUZKUXl4RlFVRkxSQ3hKUVVOMFEybERMRVZCUVZWd1F5eEZRVUZMUnl4VlFVTlNUU3hMUVVGTFRTeFJRVUZSY1VJc1pVRkhaak5DTEV0QlFVdE5MRkZCUVZGbUxFZEJSWFJDTEU5QlFVOVRMRTFCUjFSWUxFVkJRVmMyUWl4VlFVRlZkVUlzVTBGQlZ5eFRRVUZUVEN4SFFVTjJReXhQUVVGUGNFTXNTMEZCUzI5RExGRkJRVkZOTEU5QlFVOURMRkZCUVZFelF5eExRVUZOUVN4TFFVRkxiME1zVVVGQlVVMHNUMEZCVDBVc1kwRkJZMUlzUzBGSE4wVXZReXhGUVVGWE5rSXNWVUZCVlZFc1NVRkJUU3hUUVVGVGJrTXNSVUZCVFRCRExFZEJRM2hETEU5QlFVOXFReXhMUVVGTFVTeFZRVUZWYWtJc1JVRkJUVEJETEVsQlJ6bENOVU1zUlVGQlZ6WkNMRlZCUVZVeVFpeEZRVUZKTEZOQlFWTjBSQ3hGUVVGTk1FTXNSMEZEZEVNc1QwRkJUMnBETEV0QlFVdFJMRlZCUVZWcVFpeEZRVUZOTUVNc1NVRkhPVUkxUXl4RlFVRlhOa0lzVlVGQlZUUkNMR0ZCUVdVc1UwRkJVM1pFTEVkQlF6TkRMRTlCUVVsVExFdEJRVXROTEZGQlFWRjBRaXhsUVVGbFR5eEhRVU4yUWxNc1MwRkJTMDBzVVVGQlVXWXNSMEZCVFRCRExFMUJSVzVDTEUxQlNWZzFReXhGUVVGWE5rSXNWVUZCVlRaQ0xHRkJRV1VzVTBGQlUzaEVMRVZCUVUwd1F5eEhRVU5xUkN4TlFVRk5MRWxCUVVsb1F5eE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZPRUlzYVVKQlFXMUNMRk5CUVZONlJDeEhRVU12UXl4UFFVRkpVeXhMUVVGTFRTeFJRVUZSZEVJc1pVRkJaVThzUjBGRGRrSlRMRXRCUVV0TkxGRkJRVkZtTEVkQlJXSXNUVUZKV0VZc1JVRkJWelpDTEZWQlFWVXJRaXhwUWtGQmJVSXNVMEZCVTBNc1IwRkRMME1zVFVGQlRTeEpRVUZKYWtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZXbERMRzlDUVVGelFpeFRRVUZUUXl4SFFVTnNSQ3hOUVVGTkxFbEJRVWx1UkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmJVTXNjVUpCUVhWQ0xGTkJRVk01UkN4SFFVTnVSQ3hOUVVGTkxFbEJRVWxWTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZWdlF5eGxRVUZwUWl4VFFVRlRReXhGUVVGalF5eEhRVU16UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZkVU1zWlVGQmFVSXNVMEZCVTBZc1JVRkJZMGNzUlVGQlpYcENMRWRCUXpGRkxFMUJRVTBzU1VGQlNXaERMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlY1UXl4clFrRkJiMElzVTBGQlUwb3NSVUZCWTBNc1IwRkRPVVFzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZUQkRMRzFDUVVGeFFpeFRRVUZUVEN4RlFVRmpReXhIUVVNdlJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWTWtNc2JVSkJRWEZDTEZOQlFWTllMRWRCUTJwRUxFMUJRVTBzU1VGQlNXcEVMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlUwUXl4MVFrRkJlVUlzVTBGQlUxQXNSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZUWkRMR0ZCUVdVc1UwRkJVM2hGTEVkQlF6TkRMRTlCUVU5VExFdEJRVXROTEZGQlFWRjBRaXhsUVVGbFR5eEpRVWR5UTBZc1JVRkJWelpDTEZWQlFWVTRReXhsUVVGcFFpeFRRVUZUVkN4RlFVRmpReXhIUVVNelJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWSzBNc1pVRkJhVUlzVTBGQlV6RkZMRVZCUVUweVJTeEhRVU51UkN4UFFVRkpiRVVzUzBGQlMwMHNVVUZCVVhSQ0xHVkJRV1ZQTEVkQlEzWkNVeXhMUVVGTFRTeFJRVUZSWml4SFFVRk5Na1VzUzBGRmJrSkJMRWRCU1ZnM1JTeEZRVUZYTmtJc1ZVRkJWV2xFTEdsQ1FVRnRRaXhUUVVGVFdpeEZRVUZqUXl4RlFVRlhWU3hIUVVONFJTeE5RVUZOTEVsQlFVbHFSU3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWYTBRc2JVSkJRWEZDTEZOQlFWTkRMRVZCUVZGSUxFZEJRM3BFTEUxQlFVMHNTVUZCU1dwRkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVnRReXh4UWtGQmRVSXNVMEZCVTJsQ0xFZEJRMjVFTEUxQlFVMHNTVUZCU1hKRkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVTBReXgxUWtGQmVVSXNVMEZCVTFBc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlhGRUxIVkNRVUY1UWl4VFFVRlRReXhIUVVOeVJDeE5RVUZOTEVsQlFVbDJSU3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWZFVRc1dVRkJZeXhUUVVGVFF5eEhRVU14UXl4SlFVRkpReXhGUVVGSGFrWXNSVUZCUjBVc1JVRkRWaXhKUVVGTFVDeEZRVUZYVVN4VlFVRlZORVVzV1VGQldYUkRMRTFCUVUxdVF5eExRVUZOTkVVc1YwRkJWMGdzV1VGQldVTXNSMEZEZGtVc1QwRkJUeXhGUVVWVUxFZEJRVWxCTEVWQlFVdHVRaXhsUVVGcFFuWkVMRXRCUVV0MVJDeGhRVU0zUWl4UFFVRlBMRVZCUlZRc1IwRkJTVzFDTEVWQlFVdEhMRk5CUVZjM1JTeExRVUZMTmtVc1QwRkRka0lzVDBGQlR5eEZRVVZVTEVkQlFVbElMRVZCUVV0c1FpeFpRVUZqZUVRc1MwRkJTM2RFTEZWQlF6RkNMRTlCUVU4c1JVRkZWQ3hIUVVGSmEwSXNSVUZCUzNCRkxGRkJRVkZSTEZOQlFWZGtMRXRCUVV0TkxGRkJRVkZSTEU5QlEzWkRMRTlCUVU4c1JVRkZWQ3hKUVVGTE5rUXNSVUZCU1dwR0xFVkJRVWtzUlVGQlIwVXNSVUZCVDBrc1MwRkJTMDBzVVVGQlVWRXNUMEZCVXl4RlFVRkhMRWRCUVV0c1FpeEZRVUZQUml4SFFVRkxSU3hGUVVGUFJpeEhRVUZMUlN4RlFVRk5LMFVzUlVGQlNTeEhRVUZMTDBVc1NVRkJVMFlzU1VGQlRVRXNSVUZEZWtjc1NVRkJTMDBzUzBGQlMwMHNVVUZCVVhGRkxFZEJRVWRHTEZsQlFWbERMRVZCUVV0d1JTeFJRVUZSY1VVc1NVRkROVU1zVDBGQlR5eEZRVWRZTEU5QlFVOHNSMEZIUm5SR0xFVkJjbEp4UWl4TFFYbFNOMEpWTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJXeGxiV1Z1ZEM1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5ub2Rlcz1lfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubm9kZXMpLmxlbmd0aHx8MH19KSxlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzPW51bGx9LGUucHJvdG90eXBlLmdldE5hbWVkSXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2Rlc1tlXX0sZS5wcm90b3R5cGUuc2V0TmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PXRoaXMubm9kZXNbZS5ub2RlTmFtZV0sdGhpcy5ub2Rlc1tlLm5vZGVOYW1lXT1lLHR8fG51bGx9LGUucHJvdG90eXBlLnJlbW92ZU5hbWVkSXRlbT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD10aGlzLm5vZGVzW2VdLGRlbGV0ZSB0aGlzLm5vZGVzW2VdLHR8fG51bGx9LGUucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubm9kZXNbT2JqZWN0LmtleXModGhpcy5ub2RlcylbZV1dfHxudWxsfSxlLnByb3RvdHlwZS5nZXROYW1lZEl0ZW1OUz1mdW5jdGlvbihlLHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlLnByb3RvdHlwZS5zZXROYW1lZEl0ZW1OUz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZS5wcm90b3R5cGUucmVtb3ZlTmFtZWRJdGVtTlM9ZnVuY3Rpb24oZSx0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEU1aGJXVmtUbTlrWlUxaGNDNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1UbUZ0WldST2IyUmxUV0Z3SWl3aWJtOWtaWE1pTENKMGFHbHpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0pyWlhseklpd2liR1Z1WjNSb0lpd2lZMnh2Ym1VaUxDSm5aWFJPWVcxbFpFbDBaVzBpTENKdVlXMWxJaXdpYzJWMFRtRnRaV1JKZEdWdElpd2libTlrWlNJc0ltOXNaRTV2WkdVaUxDSnViMlJsVG1GdFpTSXNJbkpsYlc5MlpVNWhiV1ZrU1hSbGJTSXNJbWwwWlcwaUxDSnBibVJsZUNJc0ltZGxkRTVoYldWa1NYUmxiVTVUSWl3aWJtRnRaWE53WVdObFZWSkpJaXdpYkc5allXeE9ZVzFsSWl3aVJYSnliM0lpTENKelpYUk9ZVzFsWkVsMFpXMU9VeUlzSW5KbGJXOTJaVTVoYldWa1NYUmxiVTVUSWl3aVkyRnNiQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGSFJVRXNUMEZCVDBNc1VVRkJORUlzVjBGRGFrTXNVMEZCVTBNc1JVRkJaMEpETEVkQlEzWkNReXhMUVVGTFJDeE5RVUZSUVN4RlFTdERaaXhQUVRWRFFVVXNUMEZCVDBNc1pVRkJaVW9zUlVGQlowSkxMRlZCUVZjc1UwRkJWU3hEUVVONlJFTXNTVUZCU3l4WFFVTklMRTlCUVU5SUxFOUJRVTlKTEV0QlFVdE1MRXRCUVV0RUxFOUJRVTlQTEZGQlFWVXNTMEZKTjBOU0xFVkJRV2RDU3l4VlFVRlZTU3hOUVVGUkxGZEJRMmhETEU5QlFVOVFMRXRCUVV0RUxFMUJRVkVzVFVGSGRFSkVMRVZCUVdkQ1N5eFZRVUZWU3l4aFFVRmxMRk5CUVZORExFZEJRMmhFTEU5QlFVOVVMRXRCUVV0RUxFMUJRVTFWTEVsQlIzQkNXQ3hGUVVGblFrc3NWVUZCVlU4c1lVRkJaU3hUUVVGVFF5eEhRVU5vUkN4SlFVRkpReXhGUVVkS0xFOUJSa0ZCTEVWQlFWVmFMRXRCUVV0RUxFMUJRVTFaTEVWQlFVdEZMRlZCUXpGQ1lpeExRVUZMUkN4TlFVRk5XU3hGUVVGTFJTeFZRVUZaUml4RlFVTnlRa01zUjBGQlZ5eE5RVWR3UW1Rc1JVRkJaMEpMTEZWQlFWVlhMR2RDUVVGclFpeFRRVUZUVEN4SFFVTnVSQ3hKUVVGSlJ5eEZRVWRLTEU5QlJrRkJMRVZCUVZWYUxFdEJRVXRFTEUxQlFVMVZMRlZCUTJSVUxFdEJRVXRFTEUxQlFVMVZMRWRCUTFoSExFZEJRVmNzVFVGSGNFSmtMRVZCUVdkQ1N5eFZRVUZWV1N4TFFVRlBMRk5CUVZORExFZEJRM2hETEU5QlFVOW9RaXhMUVVGTFJDeE5RVUZOUlN4UFFVRlBTU3hMUVVGTFRDeExRVUZMUkN4UFFVRlBhVUlzUzBGQlZ5eE5RVWQyUkd4Q0xFVkJRV2RDU3l4VlFVRlZZeXhsUVVGcFFpeFRRVUZUUXl4RlFVRmpReXhIUVVOb1JTeE5RVUZOTEVsQlFVbERMRTFCUVUwc2QwTkJSMnhDZEVJc1JVRkJaMEpMTEZWQlFWVnJRaXhsUVVGcFFpeFRRVUZUVml4SFFVTnNSQ3hOUVVGTkxFbEJRVWxUTEUxQlFVMHNkME5CUjJ4Q2RFSXNSVUZCWjBKTExGVkJRVlZ0UWl4clFrRkJiMElzVTBGQlUwb3NSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKUXl4TlFVRk5MSGREUVVkWWRFSXNSVUZxUkRCQ0xFdEJjVVJzUTNsQ0xFdEJRVXQyUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URTVoYldWa1RtOWtaVTFoY0M1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG4scixpLG8scyxoLHAsdSxjLGwsZCxhLGYseSxtLGc9e30uaGFzT3duUHJvcGVydHk7bT1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLHk9bS5pc09iamVjdCxmPW0uaXNGdW5jdGlvbixhPW0uaXNFbXB0eSxkPW0uZ2V0VmFsdWUsaD1udWxsLG49bnVsbCxyPW51bGwsaT1udWxsLG89bnVsbCxjPW51bGwsbD1udWxsLHU9bnVsbCxzPW51bGwsZT1udWxsLHA9bnVsbCx0PW51bGwsbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBtKGQpe3RoaXMucGFyZW50PWQsdGhpcy5wYXJlbnQmJih0aGlzLm9wdGlvbnM9dGhpcy5wYXJlbnQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10aGlzLnBhcmVudC5zdHJpbmdpZnkpLHRoaXMudmFsdWU9bnVsbCx0aGlzLmNoaWxkcmVuPVtdLHRoaXMuYmFzZVVSST1udWxsLGh8fChoPXJlcXVpcmUoXCIuL1hNTEVsZW1lbnRcIiksbj1yZXF1aXJlKFwiLi9YTUxDRGF0YVwiKSxyPXJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIiksaT1yZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxvPXJlcXVpcmUoXCIuL1hNTERvY1R5cGVcIiksYz1yZXF1aXJlKFwiLi9YTUxSYXdcIiksbD1yZXF1aXJlKFwiLi9YTUxUZXh0XCIpLHU9cmVxdWlyZShcIi4vWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uXCIpLHM9cmVxdWlyZShcIi4vWE1MRHVtbXlcIiksZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxwPXJlcXVpcmUoXCIuL1hNTE5vZGVMaXN0XCIpLHJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSx0PXJlcXVpcmUoXCIuL0RvY3VtZW50UG9zaXRpb25cIikpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJub2RlTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5vZGVUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibm9kZVZhbHVlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcImNoaWxkTm9kZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2RlTGlzdCYmdGhpcy5jaGlsZE5vZGVMaXN0Lm5vZGVzfHwodGhpcy5jaGlsZE5vZGVMaXN0PW5ldyBwKHRoaXMuY2hpbGRyZW4pKSx0aGlzLmNoaWxkTm9kZUxpc3R9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwiZmlyc3RDaGlsZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlblswXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJsYXN0Q2hpbGRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGgtMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwicHJldmlvdXNTaWJsaW5nXCIse2dldDpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksdGhpcy5wYXJlbnQuY2hpbGRyZW5bdC0xXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJuZXh0U2libGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHRoaXMucGFyZW50LmNoaWxkcmVuW3QrMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwib3duZXJEb2N1bWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudCgpfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3ZhciB0LG4scixpLG87aWYodGhpcy5ub2RlVHlwZT09PWUuRWxlbWVudHx8dGhpcy5ub2RlVHlwZT09PWUuRG9jdW1lbnRGcmFnbWVudCl7Zm9yKG89XCJcIixuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKykodD1pW25dKS50ZXh0Q29udGVudCYmKG8rPXQudGV4dENvbnRlbnQpO3JldHVybiBvfXJldHVybiBudWxsfSxzZXQ6ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxtLnByb3RvdHlwZS5zZXRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbztmb3IodGhpcy5wYXJlbnQ9dCx0JiYodGhpcy5vcHRpb25zPXQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10LnN0cmluZ2lmeSksbz1bXSxuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKyllPWlbbl0sby5wdXNoKGUuc2V0UGFyZW50KHRoaXMpKTtyZXR1cm4gb30sbS5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLHMsaCxwLHUsYyxsLG0sdztpZihwPW51bGwsbnVsbD09PWUmJm51bGw9PW4mJihlPShsPVt7fSxudWxsXSlbMF0sbj1sWzFdKSxudWxsPT1lJiYoZT17fSksZT1kKGUpLHkoZSl8fChuPShtPVtlLG5dKVswXSxlPW1bMV0pLG51bGwhPXQmJih0PWQodCkpLEFycmF5LmlzQXJyYXkodCkpZm9yKG89MCx1PXQubGVuZ3RoO288dTtvKyspaT10W29dLHA9dGhpcy5lbGVtZW50KGkpO2Vsc2UgaWYoZih0KSlwPXRoaXMuZWxlbWVudCh0LmFwcGx5KCkpO2Vsc2UgaWYoeSh0KSl7Zm9yKGggaW4gdClpZihnLmNhbGwodCxoKSlpZih3PXRbaF0sZih3KSYmKHc9dy5hcHBseSgpKSwhdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRBdHRLZXkmJjA9PT1oLmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydEF0dEtleSkpcD10aGlzLmF0dHJpYnV0ZShoLnN1YnN0cih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0QXR0S2V5Lmxlbmd0aCksdyk7ZWxzZSBpZighdGhpcy5vcHRpb25zLnNlcGFyYXRlQXJyYXlJdGVtcyYmQXJyYXkuaXNBcnJheSh3KSYmYSh3KSlwPXRoaXMuZHVtbXkoKTtlbHNlIGlmKHkodykmJmEodykpcD10aGlzLmVsZW1lbnQoaCk7ZWxzZSBpZih0aGlzLm9wdGlvbnMua2VlcE51bGxOb2Rlc3x8bnVsbCE9dylpZighdGhpcy5vcHRpb25zLnNlcGFyYXRlQXJyYXlJdGVtcyYmQXJyYXkuaXNBcnJheSh3KSlmb3Iocz0wLGM9dy5sZW5ndGg7czxjO3MrKylpPXdbc10sKHI9e30pW2hdPWkscD10aGlzLmVsZW1lbnQocik7ZWxzZSB5KHcpPyF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkmJjA9PT1oLmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkpP3A9dGhpcy5lbGVtZW50KHcpOihwPXRoaXMuZWxlbWVudChoKSkuZWxlbWVudCh3KTpwPXRoaXMuZWxlbWVudChoLHcpO2Vsc2UgcD10aGlzLmR1bW15KCl9ZWxzZSBwPXRoaXMub3B0aW9ucy5rZWVwTnVsbE5vZGVzfHxudWxsIT09bj8hdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5KT90aGlzLnRleHQobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q0RhdGFLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydENEYXRhS2V5KT90aGlzLmNkYXRhKG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydENvbW1lbnRLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydENvbW1lbnRLZXkpP3RoaXMuY29tbWVudChuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRSYXdLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFJhd0tleSk/dGhpcy5yYXcobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UElLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFBJS2V5KT90aGlzLmluc3RydWN0aW9uKHQuc3Vic3RyKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRQSUtleS5sZW5ndGgpLG4pOnRoaXMubm9kZSh0LGUsbik6dGhpcy5kdW1teSgpO2lmKG51bGw9PXApdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGNyZWF0ZSBhbnkgZWxlbWVudHMgd2l0aDogXCIrdCtcIi4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHB9LG0ucHJvdG90eXBlLmluc2VydEJlZm9yZT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLHMsaDtpZihudWxsIT10P3QudHlwZTp2b2lkIDApcmV0dXJuIHM9ZSwobz10KS5zZXRQYXJlbnQodGhpcykscz8oaT1jaGlsZHJlbi5pbmRleE9mKHMpLGg9Y2hpbGRyZW4uc3BsaWNlKGkpLGNoaWxkcmVuLnB1c2gobyksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoY2hpbGRyZW4saCkpOmNoaWxkcmVuLnB1c2gobyksbztpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5zZXJ0IGVsZW1lbnRzIGF0IHJvb3QgbGV2ZWwuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gaT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLGg9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGkpLHI9dGhpcy5wYXJlbnQuZWxlbWVudCh0LGUsbiksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4saCkscn0sbS5wcm90b3R5cGUuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciByLGksbztpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5zZXJ0IGVsZW1lbnRzIGF0IHJvb3QgbGV2ZWwuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gaT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG89dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGkrMSkscj10aGlzLnBhcmVudC5lbGVtZW50KHQsZSxuKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixvKSxyfSxtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgdDtpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgcmVtb3ZlIHRoZSByb290IGVsZW1lbnQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksW10uc3BsaWNlLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLFt0LHQtdCsxXS5jb25jYXQoW10pKSx0aGlzLnBhcmVudH0sbS5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaTtyZXR1cm4gbnVsbCE9dCYmKHQ9ZCh0KSksZXx8KGU9e30pLGU9ZChlKSx5KGUpfHwobj0oaT1bZSxuXSlbMF0sZT1pWzFdKSxyPW5ldyBoKHRoaXMsdCxlKSxudWxsIT1uJiZyLnRleHQobiksdGhpcy5jaGlsZHJlbi5wdXNoKHIpLHJ9LG0ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHkodCkmJnRoaXMuZWxlbWVudCh0KSxlPW5ldyBsKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPW5ldyBuKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IHIodGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY29tbWVudEJlZm9yZT1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoZSksdGhpcy5wYXJlbnQuY29tbWVudCh0KSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixuKSx0aGlzfSxtLnByb3RvdHlwZS5jb21tZW50QWZ0ZXI9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGUrMSksdGhpcy5wYXJlbnQuY29tbWVudCh0KSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixuKSx0aGlzfSxtLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IGModGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuZHVtbXk9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHModGhpcyl9LG0ucHJvdG90eXBlLmluc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG4scixpLG8scztpZihudWxsIT10JiYodD1kKHQpKSxudWxsIT1lJiYoZT1kKGUpKSxBcnJheS5pc0FycmF5KHQpKWZvcihvPTAscz10Lmxlbmd0aDtvPHM7bysrKW49dFtvXSx0aGlzLmluc3RydWN0aW9uKG4pO2Vsc2UgaWYoeSh0KSlmb3IobiBpbiB0KWcuY2FsbCh0LG4pJiYocj10W25dLHRoaXMuaW5zdHJ1Y3Rpb24obixyKSk7ZWxzZSBmKGUpJiYoZT1lLmFwcGx5KCkpLGk9bmV3IHUodGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChpKTtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuaW5zdHJ1Y3Rpb25CZWZvcmU9ZnVuY3Rpb24odCxlKXt2YXIgbixyO3JldHVybiBuPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykscj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UobiksdGhpcy5wYXJlbnQuaW5zdHJ1Y3Rpb24odCxlKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixyKSx0aGlzfSxtLnByb3RvdHlwZS5pbnN0cnVjdGlvbkFmdGVyPWZ1bmN0aW9uKHQsZSl7dmFyIG4scjtyZXR1cm4gbj10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHI9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKG4rMSksdGhpcy5wYXJlbnQuaW5zdHJ1Y3Rpb24odCxlKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixyKSx0aGlzfSxtLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LG4scil7dmFyIG8scztyZXR1cm4gbz10aGlzLmRvY3VtZW50KCkscz1uZXcgaShvLHQsbixyKSwwPT09by5jaGlsZHJlbi5sZW5ndGg/by5jaGlsZHJlbi51bnNoaWZ0KHMpOm8uY2hpbGRyZW5bMF0udHlwZT09PWUuRGVjbGFyYXRpb24/by5jaGlsZHJlblswXT1zOm8uY2hpbGRyZW4udW5zaGlmdChzKSxvLnJvb3QoKXx8b30sbS5wcm90b3R5cGUuZHRkPWZ1bmN0aW9uKHQsbil7dmFyIHIsaSxzLGgscCx1LGMsbCxkO2ZvcihyPXRoaXMuZG9jdW1lbnQoKSxpPW5ldyBvKHIsdCxuKSxzPWg9MCx1PShsPXIuY2hpbGRyZW4pLmxlbmd0aDtoPHU7cz0rK2gpaWYobFtzXS50eXBlPT09ZS5Eb2NUeXBlKXJldHVybiByLmNoaWxkcmVuW3NdPWksaTtmb3Iocz1wPTAsYz0oZD1yLmNoaWxkcmVuKS5sZW5ndGg7cDxjO3M9KytwKWlmKGRbc10uaXNSb290KXJldHVybiByLmNoaWxkcmVuLnNwbGljZShzLDAsaSksaTtyZXR1cm4gci5jaGlsZHJlbi5wdXNoKGkpLGl9LG0ucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1Jvb3QpdGhyb3cgbmV3IEVycm9yKFwiVGhlIHJvb3Qgbm9kZSBoYXMgbm8gcGFyZW50LiBVc2UgZG9jKCkgaWYgeW91IG5lZWQgdG8gZ2V0IHRoZSBkb2N1bWVudCBvYmplY3QuXCIpO3JldHVybiB0aGlzLnBhcmVudH0sbS5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe3ZhciB0O2Zvcih0PXRoaXM7dDspe2lmKHQudHlwZT09PWUuRG9jdW1lbnQpcmV0dXJuIHQucm9vdE9iamVjdDtpZih0LmlzUm9vdClyZXR1cm4gdDt0PXQucGFyZW50fX0sbS5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24oKXt2YXIgdDtmb3IodD10aGlzO3Q7KXtpZih0LnR5cGU9PT1lLkRvY3VtZW50KXJldHVybiB0O3Q9dC5wYXJlbnR9fSxtLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZG9jdW1lbnQoKS5lbmQodCl9LG0ucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oKXt2YXIgdDtpZigodD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKTwxKXRocm93IG5ldyBFcnJvcihcIkFscmVhZHkgYXQgdGhlIGZpcnN0IG5vZGUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0aGlzLnBhcmVudC5jaGlsZHJlblt0LTFdfSxtLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIHQ7aWYoLTE9PT0odD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKXx8dD09PXRoaXMucGFyZW50LmNoaWxkcmVuLmxlbmd0aC0xKXRocm93IG5ldyBFcnJvcihcIkFscmVhZHkgYXQgdGhlIGxhc3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHRoaXMucGFyZW50LmNoaWxkcmVuW3QrMV19LG0ucHJvdG90eXBlLmltcG9ydERvY3VtZW50PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybihlPXQucm9vdCgpLmNsb25lKCkpLnBhcmVudD10aGlzLGUuaXNSb290PSExLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbnVsbCE9KHQ9dHx8dGhpcy5uYW1lKXx8KG51bGwhPShlPXRoaXMucGFyZW50KT9lLm5hbWU6dm9pZCAwKT9udWxsPT10P1wicGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjoobnVsbCE9KG49dGhpcy5wYXJlbnQpP24ubmFtZTp2b2lkIDApP1wibm9kZTogPFwiK3QrXCI+LCBwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwiOlwibm9kZTogPFwiK3QrXCI+XCI6XCJcIn0sbS5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxuKX0sbS5wcm90b3R5cGUubm9kPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxuKX0sbS5wcm90b3R5cGUudHh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LG0ucHJvdG90eXBlLmRhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sbS5wcm90b3R5cGUuY29tPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LG0ucHJvdG90eXBlLmlucz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LG0ucHJvdG90eXBlLmRvYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50KCl9LG0ucHJvdG90eXBlLmRlYz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxlLG4pfSxtLnByb3RvdHlwZS5lPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxuKX0sbS5wcm90b3R5cGUubj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMubm9kZSh0LGUsbil9LG0ucHJvdG90eXBlLnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sbS5wcm90b3R5cGUuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sbS5wcm90b3R5cGUuYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxtLnByb3RvdHlwZS5yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJhdyh0KX0sbS5wcm90b3R5cGUuaT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LG0ucHJvdG90eXBlLnU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cCgpfSxtLnByb3RvdHlwZS5pbXBvcnRYTUxCdWlsZGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltcG9ydERvY3VtZW50KHQpfSxtLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5oYXNDaGlsZE5vZGVzPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aH0sbS5wcm90b3R5cGUuY2xvbmVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmlzU3VwcG9ydGVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuITB9LG0ucHJvdG90eXBlLmhhc0F0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuYXR0cmlicy5sZW5ndGh9LG0ucHJvdG90eXBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciBuO3JldHVybiB0aGlzLHRoaXM9PT1lPzA6dGhpcy5kb2N1bWVudCgpIT09ZS5kb2N1bWVudCgpPyhuPXQuRGlzY29ubmVjdGVkfHQuSW1wbGVtZW50YXRpb25TcGVjaWZpYyxNYXRoLnJhbmRvbSgpPC41P258PXQuUHJlY2VkaW5nOm58PXQuRm9sbG93aW5nLG4pOnRoaXMuaXNBbmNlc3RvcihlKT90LkNvbnRhaW5zfHQuUHJlY2VkaW5nOnRoaXMuaXNEZXNjZW5kYW50KGUpP3QuQ29udGFpbnN8dC5Gb2xsb3dpbmc6dGhpcy5pc1ByZWNlZGluZyhlKT90LlByZWNlZGluZzp0LkZvbGxvd2luZ30sbS5wcm90b3R5cGUuaXNTYW1lTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5sb29rdXBQcmVmaXg9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaXNEZWZhdWx0TmFtZXNwYWNlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmxvb2t1cE5hbWVzcGFjZVVSST1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXt2YXIgZSxuLHI7aWYodC5ub2RlVHlwZSE9PXRoaXMubm9kZVR5cGUpcmV0dXJuITE7aWYodC5jaGlsZHJlbi5sZW5ndGghPT10aGlzLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4hMTtmb3IoZT1uPTAscj10aGlzLmNoaWxkcmVuLmxlbmd0aC0xOzA8PXI/bjw9cjpuPj1yO2U9MDw9cj8rK246LS1uKWlmKCF0aGlzLmNoaWxkcmVuW2VdLmlzRXF1YWxOb2RlKHQuY2hpbGRyZW5bZV0pKXJldHVybiExO3JldHVybiEwfSxtLnByb3RvdHlwZS5nZXRGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuc2V0VXNlckRhdGE9ZnVuY3Rpb24odCxlLG4pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmdldFVzZXJEYXRhPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmKHQ9PT10aGlzfHx0aGlzLmlzRGVzY2VuZGFudCh0KSl9LG0ucHJvdG90eXBlLmlzRGVzY2VuZGFudD1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaTtmb3Iobj0wLHI9KGk9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248cjtuKyspe2lmKHQ9PT0oZT1pW25dKSlyZXR1cm4hMDtpZihlLmlzRGVzY2VuZGFudCh0KSlyZXR1cm4hMH1yZXR1cm4hMX0sbS5wcm90b3R5cGUuaXNBbmNlc3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc0Rlc2NlbmRhbnQodGhpcyl9LG0ucHJvdG90eXBlLmlzUHJlY2VkaW5nPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy50cmVlUG9zaXRpb24odCksbj10aGlzLnRyZWVQb3NpdGlvbih0aGlzKSwtMSE9PWUmJi0xIT09biYmZTxufSxtLnByb3RvdHlwZS5pc0ZvbGxvd2luZz1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMudHJlZVBvc2l0aW9uKHQpLG49dGhpcy50cmVlUG9zaXRpb24odGhpcyksLTEhPT1lJiYtMSE9PW4mJmU+bn0sbS5wcm90b3R5cGUudHJlZVBvc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIG49MCxlPSExLHRoaXMuZm9yZWFjaFRyZWVOb2RlKHRoaXMuZG9jdW1lbnQoKSxmdW5jdGlvbihyKXtpZihuKyssIWUmJnI9PT10KXJldHVybiBlPSEwfSksZT9uOi0xfSxtLnByb3RvdHlwZS5mb3JlYWNoVHJlZU5vZGU9ZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbyxzO2Zvcih0fHwodD10aGlzLmRvY3VtZW50KCkpLHI9MCxpPShvPXQuY2hpbGRyZW4pLmxlbmd0aDtyPGk7cisrKXtpZihzPWUobj1vW3JdKSlyZXR1cm4gcztpZihzPXRoaXMuZm9yZWFjaFRyZWVOb2RlKG4sZSkpcmV0dXJuIHN9fSxtfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTV2WkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpUkc5amRXMWxiblJRYjNOcGRHbHZiaUlzSWs1dlpHVlVlWEJsSWl3aVdFMU1RMFJoZEdFaUxDSllUVXhEYjIxdFpXNTBJaXdpV0UxTVJHVmpiR0Z5WVhScGIyNGlMQ0pZVFV4RWIyTlVlWEJsSWl3aVdFMU1SSFZ0YlhraUxDSllUVXhGYkdWdFpXNTBJaXdpV0UxTVRtOWtaVXhwYzNRaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSllUVXhTWVhjaUxDSllUVXhVWlhoMElpd2laMlYwVm1Gc2RXVWlMQ0pwYzBWdGNIUjVJaXdpYVhOR2RXNWpkR2x2YmlJc0ltbHpUMkpxWldOMElpd2ljbVZtTVNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVG05a1pTSXNJbkJoY21WdWRERWlMQ0owYUdseklpd2ljR0Z5Wlc1MElpd2liM0IwYVc5dWN5SXNJbk4wY21sdVoybG1lU0lzSW5aaGJIVmxJaXdpWTJocGJHUnlaVzRpTENKaVlYTmxWVkpKSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFFpTENKdVlXMWxJaXdpZEhsd1pTSXNJbU5vYVd4a1RtOWtaVXhwYzNRaUxDSnViMlJsY3lJc0lteGxibWQwYUNJc0lta2lMQ0pwYm1SbGVFOW1JaXdpWkc5amRXMWxiblFpTENKamFHbHNaQ0lzSW1vaUxDSnNaVzRpTENKeVpXWXlJaXdpYzNSeUlpd2libTlrWlZSNWNHVWlMQ0pGYkdWdFpXNTBJaXdpUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSW5SbGVIUkRiMjUwWlc1MElpd2ljMlYwSWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnpaWFJRWVhKbGJuUWlMQ0p5WlhOMWJIUnpJaXdpY0hWemFDSXNJbVZzWlcxbGJuUWlMQ0poZEhSeWFXSjFkR1Z6SWl3aWRHVjRkQ0lzSW1Ob2FXeGtUbTlrWlNJc0ltbDBaVzBpTENKcklpd2lhMlY1SWl3aWJHRnpkRU5vYVd4a0lpd2liR1Z1TVNJc0luSmxaak1pTENKMllXd2lMQ0pCY25KaGVTSXNJbWx6UVhKeVlYa2lMQ0poY0hCc2VTSXNJbU5oYkd3aUxDSnBaMjV2Y21WRVpXTnZjbUYwYjNKeklpd2lZMjl1ZG1WeWRFRjBkRXRsZVNJc0ltRjBkSEpwWW5WMFpTSXNJbk4xWW5OMGNpSXNJbk5sY0dGeVlYUmxRWEp5WVhsSmRHVnRjeUlzSW1SMWJXMTVJaXdpYTJWbGNFNTFiR3hPYjJSbGN5SXNJbU52Ym5abGNuUlVaWGgwUzJWNUlpd2lZMjl1ZG1WeWRFTkVZWFJoUzJWNUlpd2lZMlJoZEdFaUxDSmpiMjUyWlhKMFEyOXRiV1Z1ZEV0bGVTSXNJbU52YlcxbGJuUWlMQ0pqYjI1MlpYSjBVbUYzUzJWNUlpd2ljbUYzSWl3aVkyOXVkbVZ5ZEZCSlMyVjVJaXdpYVc1emRISjFZM1JwYjI0aUxDSnViMlJsSWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpYm1WM1EyaHBiR1FpTENKeVpXWkRhR2xzWkNJc0luSmxiVzkyWldRaUxDSnpjR3hwWTJVaUxDSnBjMUp2YjNRaUxDSnBibk5sY25SQlpuUmxjaUlzSW5KbGJXOTJaU0lzSW1OdmJtTmhkQ0lzSW1OdmJXMWxiblJDWldadmNtVWlMQ0pqYjIxdFpXNTBRV1owWlhJaUxDSjBZWEpuWlhRaUxDSnBibk5VWVhKblpYUWlMQ0pwYm5OV1lXeDFaU0lzSW1sdWMzUnlkV04wYVc5dVFtVm1iM0psSWl3aWFXNXpkSEoxWTNScGIyNUJablJsY2lJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WXlJc0luaHRiR1JsWXlJc0luVnVjMmhwWm5RaUxDSkVaV05zWVhKaGRHbHZiaUlzSW5KdmIzUWlMQ0prZEdRaUxDSndkV0pKUkNJc0luTjVjMGxFSWl3aVpHOWpkSGx3WlNJc0lrUnZZMVI1Y0dVaUxDSjFjQ0lzSWtSdlkzVnRaVzUwSWl3aWNtOXZkRTlpYW1WamRDSXNJbVZ1WkNJc0luQnlaWFlpTENKdVpYaDBJaXdpYVcxd2IzSjBSRzlqZFcxbGJuUWlMQ0pqYkc5dVpXUlNiMjkwSWl3aVkyeHZibVVpTENKbGJHVWlMQ0p1YjJRaUxDSjBlSFFpTENKa1lYUWlMQ0pqYjIwaUxDSnBibk1pTENKa1pXTWlMQ0psSWl3aWJpSXNJblFpTENKa0lpd2lZeUlzSW5JaUxDSjFJaXdpYVcxd2IzSjBXRTFNUW5WcGJHUmxjaUlzSW5KbGNHeGhZMlZEYUdsc1pDSXNJbTlzWkVOb2FXeGtJaXdpY21WdGIzWmxRMmhwYkdRaUxDSmhjSEJsYm1SRGFHbHNaQ0lzSW1oaGMwTm9hV3hrVG05a1pYTWlMQ0pqYkc5dVpVNXZaR1VpTENKa1pXVndJaXdpYm05eWJXRnNhWHBsSWl3aWFYTlRkWEJ3YjNKMFpXUWlMQ0ptWldGMGRYSmxJaXdpYUdGelFYUjBjbWxpZFhSbGN5SXNJbUYwZEhKcFluTWlMQ0pqYjIxd1lYSmxSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJbTkwYUdWeUlpd2ljbVZ6SWl3aVJHbHpZMjl1Ym1WamRHVmtJaXdpU1cxd2JHVnRaVzUwWVhScGIyNVRjR1ZqYVdacFl5SXNJazFoZEdnaUxDSnlZVzVrYjIwaUxDSlFjbVZqWldScGJtY2lMQ0pHYjJ4c2IzZHBibWNpTENKcGMwRnVZMlZ6ZEc5eUlpd2lRMjl1ZEdGcGJuTWlMQ0pwYzBSbGMyTmxibVJoYm5RaUxDSnBjMUJ5WldObFpHbHVaeUlzSW1selUyRnRaVTV2WkdVaUxDSnNiMjlyZFhCUWNtVm1hWGdpTENKdVlXMWxjM0JoWTJWVlVra2lMQ0pwYzBSbFptRjFiSFJPWVcxbGMzQmhZMlVpTENKc2IyOXJkWEJPWVcxbGMzQmhZMlZWVWtraUxDSndjbVZtYVhnaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW1kbGRFWmxZWFIxY21VaUxDSnpaWFJWYzJWeVJHRjBZU0lzSW1SaGRHRWlMQ0pvWVc1a2JHVnlJaXdpWjJWMFZYTmxja1JoZEdFaUxDSmpiMjUwWVdsdWN5SXNJbTV2WkdWUWIzTWlMQ0owYUdselVHOXpJaXdpZEhKbFpWQnZjMmwwYVc5dUlpd2lhWE5HYjJ4c2IzZHBibWNpTENKbWIzVnVaQ0lzSW5CdmN5SXNJbVp2Y21WaFkyaFVjbVZsVG05a1pTSXNJbVoxYm1NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCYTBKRExFVkJRVlZETEVWQlFWVkRMRVZCUVZsRExFVkJRV2RDUXl4RlFVRlpReXhGUVVGVlF5eEZRVUZ6UTBNc1JVRkJZVU1zUlVGQk1FSkRMRVZCUVZGRExFVkJRVk5ETEVWQlFWVkRMRVZCUVZORExFVkJRVmxETEVWQlFWVkRMRVZCUTJwUFF5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVTlITEZGQlFWRXNZVUZCWTBvc1JVRkJWME1zUlVGQlMwUXNVMEZCVlVRc1JVRkJZVVVzUlVGQlMwWXNWMEZCV1VRc1JVRkJWVWNzUlVGQlMwZ3NVVUZCVTBRc1JVRkJWMGtzUlVGQlMwb3NVMEZGTjBoTUxFVkJRV0VzUzBGRllrd3NSVUZCVnl4TFFVVllReXhGUVVGaExFdEJSV0pETEVWQlFXbENMRXRCUldwQ1F5eEZRVUZoTEV0QlJXSkxMRVZCUVZNc1MwRkZWRU1zUlVGQlZTeExRVVZXUml4RlFVRXlRaXhMUVVVelFrZ3NSVUZCVnl4TFFVVllUQ3hGUVVGWExFdEJSVmhQTEVWQlFXTXNTMEZKWkZJc1JVRkJiVUlzUzBGRmJrSnZRaXhQUVVGUFF5eFJRVUZ2UWl4WFFVTjZRaXhUUVVGVFF5eEZRVUZSUXl4SFFVTm1ReXhMUVVGTFF5eFBRVUZUUml4RlFVTldReXhMUVVGTFF5eFRRVU5RUkN4TFFVRkxSU3hSUVVGVlJpeExRVUZMUXl4UFFVRlBReXhSUVVNelFrWXNTMEZCUzBjc1ZVRkJXVWdzUzBGQlMwTXNUMEZCVDBVc1YwRkZMMEpJTEV0QlFVdEpMRTFCUVZFc1MwRkRZa29zUzBGQlMwc3NVMEZCVnl4SFFVTm9Ra3dzUzBGQlMwMHNVVUZCVlN4TFFVTldka0lzU1VGRFNFRXNSVUZCWVZrc1VVRkJVU3huUWtGRGNrSnFRaXhGUVVGWGFVSXNVVUZCVVN4alFVTnVRbWhDTEVWQlFXRm5RaXhSUVVGUkxHZENRVU55UW1Zc1JVRkJhVUpsTEZGQlFWRXNiMEpCUTNwQ1pDeEZRVUZoWXl4UlFVRlJMR2RDUVVOeVFsUXNSVUZCVTFNc1VVRkJVU3haUVVOcVFsSXNSVUZCVlZFc1VVRkJVU3hoUVVOc1FsWXNSVUZCTWtKVkxGRkJRVkVzT0VKQlEyNURZaXhGUVVGWFlTeFJRVUZSTEdOQlEyNUNiRUlzUlVGQlYydENMRkZCUVZFc1kwRkRia0pZTEVWQlFXTlhMRkZCUVZFc2FVSkJRMHBCTEZGQlFWRXNjVUpCUXpGQ2JrSXNSVUZCYlVKdFFpeFJRVUZSTEhWQ1FXOTBRaTlDTEU5QmFIUkNRVmtzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eFhRVUZaTEVOQlEyNUVReXhKUVVGTExGZEJRMGdzVDBGQlQxWXNTMEZCUzFjc1VVRkphRUpLTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NWMEZCV1N4RFFVTnVSRU1zU1VGQlN5eFhRVU5JTEU5QlFVOVdMRXRCUVV0WkxGRkJTV2hDVEN4UFFVRlBReXhsUVVGbFZpeEZRVUZSVnl4VlFVRlhMRmxCUVdFc1EwRkRjRVJETEVsQlFVc3NWMEZEU0N4UFFVRlBWaXhMUVVGTFNTeFRRVWxvUWtjc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhoUVVGakxFTkJRM0pFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMVlzUzBGQlMwTXNWVUZKYUVKTkxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWVVGQll5eERRVU55UkVNc1NVRkJTeXhYUVVsSUxFOUJTRXRXTEV0QlFVdGhMR1ZCUVd0Q1lpeExRVUZMWVN4alFVRmpReXhSUVVNM1EyUXNTMEZCUzJFc1kwRkJaMElzU1VGQlNUZENMRVZCUVZsblFpeExRVUZMU3l4WFFVVnlRMHdzUzBGQlMyRXNhVUpCU1doQ1RpeFBRVUZQUXl4bFFVRmxWaXhGUVVGUlZ5eFZRVUZYTEdGQlFXTXNRMEZEY2tSRExFbEJRVXNzVjBGRFNDeFBRVUZQVml4TFFVRkxTeXhUUVVGVExFbEJRVTBzVVVGSkwwSkZMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1dVRkJZU3hEUVVOd1JFTXNTVUZCU3l4WFFVTklMRTlCUVU5V0xFdEJRVXRMTEZOQlFWTk1MRXRCUVV0TExGTkJRVk5WTEU5QlFWTXNTVUZCVFN4UlFVbDBSRklzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eHJRa0ZCYlVJc1EwRkRNVVJETEVsQlFVc3NWMEZEU0N4SlFVRkpUU3hGUVVWS0xFOUJSRUZCTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZETVVKQkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOWExFVkJRVWtzU1VGQlRTeFJRVWt4UTFRc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhqUVVGbExFTkJRM1JFUXl4SlFVRkxMRmRCUTBnc1NVRkJTVTBzUlVGRlNpeFBRVVJCUVN4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUXpGQ1FTeExRVUZMUXl4UFFVRlBTU3hUUVVGVFZ5eEZRVUZKTEVsQlFVMHNVVUZKTVVOVUxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWjBKQlFXbENMRU5CUTNoRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDFZc1MwRkJTMnRDTEZsQlFXTXNVVUZKT1VKWUxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWTBGQlpTeERRVU4wUkVNc1NVRkJTeXhYUVVOSUxFbEJRVWxUTEVWQlFVOURMRVZCUVVkRExFVkJRVXRETEVWQlFVMURMRVZCUTNwQ0xFZEJRVWwyUWl4TFFVRkxkMElzVjBGQllTOURMRVZCUVZOblJDeFRRVUZYZWtJc1MwRkJTM2RDTEZkQlFXRXZReXhGUVVGVGFVUXNhVUpCUVd0Q0xFTkJSM0pHTEVsQlJrRklMRVZCUVUwc1IwRkZSRWdzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGUGRFSXNTMEZCUzBzc1ZVRkRWMVVzVDBGQlVVc3NSVUZCU1VNc1JVRkJTMFFzUzBGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVsQlEwaFBMR05CUTFKS0xFZEJRVTlLTEVWQlFVMVJMR0ZCUjJwQ0xFOUJRVTlLTEVWQlJWQXNUMEZCVHl4TlFVZFlTeXhKUVVGTExGTkJRVk40UWl4SFFVTmFMRTFCUVUwc1NVRkJTWGxDTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHZENRVWxxUldoRExFVkJRVkZYTEZWQlFWVnpRaXhWUVVGWkxGTkJRVk01UWl4SFFVTnlReXhKUVVGSmEwSXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZCVFZVc1JVRlJla0lzU1VGUVFXaERMRXRCUVV0RExFOUJRVk5CTEVWQlExWkJMRWxCUTBaRUxFdEJRVXRGTEZGQlFWVkVMRVZCUVU5RExGRkJRM1JDUml4TFFVRkxSeXhWUVVGWlJpeEZRVUZQUlN4WFFVY3hRalpDTEVWQlFWVXNSMEZEVEZvc1JVRkJTU3hGUVVGSFF5eEhRVVphUXl4RlFVRlBkRUlzUzBGQlMwc3NWVUZGVjFVc1QwRkJVVXNzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkhMRVZCUVV0R0xFZEJRMkpaTEVWQlFWRkRMRXRCUVV0a0xFVkJRVTFaTEZWQlFWVXZRaXhQUVVVdlFpeFBRVUZQWjBNc1IwRkhWR3hETEVWQlFWRlhMRlZCUVZWNVFpeFJRVUZWTEZOQlFWTjJRaXhGUVVGTmQwSXNSVUZCV1VNc1IwRkRja1FzU1VGQlNVTXNSVUZCVjBNc1JVRkJUV3hDTEVWQlFVZHRRaXhGUVVGSFF5eEZRVUZMUXl4RlFVRlhjRUlzUlVGQlMzRkNMRVZCUVUxd1FpeEZRVUZOY1VJc1JVRkJUVU1zUlVGbGJFVXNSMEZrUVVnc1JVRkJXU3hMUVVOUExFOUJRV1pPTEVkQlFXZERMRTFCUVZKRExFbEJRMUJFTEVkQlFXNUNZaXhGUVVGUExFTkJRVU1zUjBGQlNTeFBRVUY1UWl4SFFVRkpZeXhGUVVGUFpDeEZRVUZMTEVsQlJYSkRMRTFCUVdSaExFbEJRMFpCTEVWQlFXRXNTVUZGWmtFc1JVRkJZUzlETEVWQlFWTXJReXhIUVVOcVFqVkRMRVZCUVZNMFF5eExRVU5sUXl4SFFVRXpRazhzUlVGQlR5eERRVUZEVWl4RlFVRlpReXhKUVVGdFFpeEhRVUZKUkN4RlFVRmhVU3hGUVVGTExFbEJSVzVFTEUxQlFWSm9ReXhKUVVOR1FTeEZRVUZQZGtJc1JVRkJVM1ZDTEVsQlJXUnJReXhOUVVGTlF5eFJRVUZSYmtNc1IwRkRhRUlzU1VGQlMxTXNSVUZCU1N4RlFVRkhReXhGUVVGTlZpeEZRVUZMU1N4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVTjBRMnRDTEVWQlFVOHpRaXhGUVVGTFV5eEhRVU5hY1VJc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUlNTeFJRVVYwUWl4SFFVRkphRVFzUlVGQlYzRkNMRWRCUTNCQ09FSXNSVUZCV1hwRExFdEJRVXRyUXl4UlFVRlJka0lzUlVGQlMyOURMR05CUTNwQ0xFZEJRVWw0UkN4RlFVRlRiMElzU1VGRGJFSXNTVUZCU3paQ0xFdEJRVTgzUWl4RlFVTldMRWRCUVV0c1FpeEZRVUZSZFVRc1MwRkJTM0pETEVWQlFVMDJRaXhIUVV0NFFpeEhRVXBCU1N4RlFVRk5ha01zUlVGQlN6WkNMRWRCUTFCc1JDeEZRVUZYYzBRc1MwRkRZa0VzUlVGQlRVRXNSVUZCU1Vjc1ZVRkZVQzlETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZLME1zWlVGQkswUXNTVUZCT1VOV0xFVkJRVWwyUWl4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlN0RExHVkJReTlHVkN4RlFVRlpla01zUzBGQlMyMUVMRlZCUVZWWUxFVkJRVWxaTEU5QlFVOXdSQ3hMUVVGTFJ5eFZRVUZWSzBNc1kwRkJZMjVETEZGQlFWTTJRaXhSUVVOMlJTeEpRVUZMTlVNc1MwRkJTMFVzVVVGQlVXMUVMRzlDUVVGelFsSXNUVUZCVFVNc1VVRkJVVVlzU1VGQlVYWkVMRVZCUVZGMVJDeEhRVU16UlVnc1JVRkJXWHBETEV0QlFVdHpSQ3hoUVVOYUxFZEJRVWt2UkN4RlFVRlRjVVFzU1VGQlVYWkVMRVZCUVZGMVJDeEhRVU5zUTBnc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUlRTeFJRVU53UWl4SFFVRkxlRU1zUzBGQlMwVXNVVUZCVVhGRUxHVkJRWGxDTEUxQlFWQllMRVZCUlhCRExFbEJRVXMxUXl4TFFVRkxSU3hSUVVGUmJVUXNiMEpCUVhOQ1VpeE5RVUZOUXl4UlFVRlJSaXhIUVVNelJDeEpRVUZMVEN4RlFVRkpMRVZCUVVkSExFVkJRVTlGTEVWQlFVazNRaXhQUVVGUmQwSXNSVUZCU1Vjc1JVRkJUVWdzU1VGRGRrTkVMRVZCUVU5TkxFVkJRVWxNTEVsQlExaEdMRVZCUVZrc1NVRkRSa2NzUjBGQlQwWXNSVUZEYWtKSExFVkJRVmw2UXl4TFFVRkxhME1zVVVGQlVVY3NVVUZGYkVJNVF5eEZRVUZUY1VRc1NVRkRZalZETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZjVVFzWjBKQlFXbEZMRWxCUVM5RGFFSXNSVUZCU1haQ0xGRkJRVkZxUWl4TFFVRkxSeXhWUVVGVmNVUXNaMEpCUTJoSFppeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRlZMRWxCUlhwQ1NDeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRk5MRWxCUTJaT0xGRkJRVkZWTEVkQlIzQkNTQ3hGUVVGWmVrTXNTMEZCUzJ0RExGRkJRVkZOTEVWQlFVdEpMRkZCYUVJNVFrZ3NSVUZCV1hwRExFdEJRVXR6UkN4aFFYVkNia0ppTEVWQlNsRjZReXhMUVVGTFJTeFJRVUZSY1VRc1pVRkJNRUlzVDBGQlZHNUNMRWRCUjI1RGNFTXNTMEZCUzBVc1VVRkJVU3RETEd0Q1FVRnZRbXBFTEV0QlFVdEhMRlZCUVZWeFJDeG5Ra0ZCYTBVc1NVRkJhRVEzUXl4RlFVRkxUU3hSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWWEZFTEdkQ1FVTnlSbmhFTEV0QlFVdHZReXhMUVVGTFFTeEpRVU5hY0VNc1MwRkJTMFVzVVVGQlVTdERMR3RDUVVGdlFtcEVMRXRCUVV0SExGVkJRVlZ6UkN4cFFrRkJiMFVzU1VGQmFrUTVReXhGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZYTkVMR2xDUVVNM1JucEVMRXRCUVVzd1JDeE5RVUZOZEVJc1NVRkRZbkJETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZkMFFzYlVKQlFYZEZMRWxCUVc1RWFFUXNSVUZCUzAwc1VVRkJVV3BDTEV0QlFVdEhMRlZCUVZWM1JDeHRRa0ZETDBZelJDeExRVUZMTkVRc1VVRkJVWGhDTEVsQlEyWndReXhMUVVGTFJTeFJRVUZSSzBNc2EwSkJRVzlDYWtRc1MwRkJTMGNzVlVGQlZUQkVMR1ZCUVdkRkxFbEJRUzlEYkVRc1JVRkJTMDBzVVVGQlVXcENMRXRCUVV0SExGVkJRVlV3UkN4bFFVTXpSamRFTEV0QlFVczRSQ3hKUVVGSk1VSXNTVUZEV0hCRExFdEJRVXRGTEZGQlFWRXJReXhyUWtGQmIwSnFSQ3hMUVVGTFJ5eFZRVUZWTkVRc1kwRkJPRVFzU1VGQk9VTndSQ3hGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZUUkVMR05CUXpGR0wwUXNTMEZCUzJkRkxGbEJRVmx5UkN4RlFVRkxlVU1zVDBGQlQzQkVMRXRCUVV0SExGVkJRVlUwUkN4aFFVRmhhRVFzVVVGQlUzRkNMRWRCUld4RmNFTXNTMEZCUzJsRkxFdEJRVXQwUkN4RlFVRk5kMElzUlVGQldVTXNSMEZpT1VKd1F5eExRVUZMYzBRc1VVRm5RbTVDTEVkQlFXbENMRTFCUVdKaUxFVkJRMFlzVFVGQlRTeEpRVUZKV2l4TlFVRk5MSFZEUVVGNVEyeENMRVZCUVU4c1MwRkJUMWdzUzBGQlN6aENMR0ZCUlRsRkxFOUJRVTlYTEVkQlIxUXpReXhGUVVGUlZ5eFZRVUZWZVVRc1lVRkJaU3hUUVVGVGRrUXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6RkVMRWxCUVVscVFpeEZRVUZQU0N4RlFVRkhiVVFzUlVGQlZVTXNSVUZCVlVNc1JVRkRiRU1zUjBGQldTeE5RVUZTTVVRc1JVRkJaVUVzUlVGQlMwTXNWVUZCVHl4RlFWazNRaXhQUVZaQmQwUXNSVUZCVjJwRExFZEJSRmhuUXl4RlFVRlhlRVFzUjBGRlJtOUNMRlZCUVZVdlFpeE5RVU5tYjBVc1IwRkRSbkJFTEVWQlFVbFlMRk5CUVZOWkxGRkJRVkZ0UkN4SFFVTnlRa01zUlVGQlZXaEZMRk5CUVZOcFJTeFBRVUZQZEVRc1IwRkRNVUpZTEZOQlFWTTBRaXhMUVVGTGEwTXNSMEZEWkhSQ0xFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFRGRExGTkJRVlZuUlN4SlFVVnlRMmhGTEZOQlFWTTBRaXhMUVVGTGEwTXNSMEZGVkVFc1JVRkZVQ3hIUVVGSmJrVXNTMEZCUzNWRkxFOUJRMUFzVFVGQlRTeEpRVUZKTVVNc1RVRkJUU3g1UTBGQk1rTTNRaXhMUVVGTE9FSXNWVUZCVlc1Q0xFbEJUVFZGTEU5QlNrRkxMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hIUVVOMFEwY3NSVUZCVVc1Q0xFdEJRVXRETEU5QlFVOXBReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6bERVeXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnNSQ3hIUVVsWWNrSXNSVUZCVVZjc1ZVRkJWU3RFTEZsQlFXTXNVMEZCVXpkRUxFVkJRVTEzUWl4RlFVRlpReXhIUVVONlJDeEpRVUZKYWtJc1JVRkJUMGdzUlVGQlIzRkVMRVZCUTJRc1IwRkJTWEpGTEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2VVTkJRVEpETjBJc1MwRkJTemhDTEZWQlFWVnVRaXhKUVUwMVJTeFBRVXBCU3l4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUTJwRGNVVXNSVUZCVlhKRkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOcFJTeFBRVUZQZEVRc1JVRkJTU3hIUVVNeFEwY3NSVUZCVVc1Q0xFdEJRVXRETEU5QlFVOXBReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6bERVeXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnNSQ3hIUVVkVWNrSXNSVUZCVVZjc1ZVRkJWV2RGTEU5QlFWTXNWMEZEZWtJc1NVRkJTWHBFTEVWQlEwb3NSMEZCU1doQ0xFdEJRVXQxUlN4UFFVTlFMRTFCUVUwc1NVRkJTVEZETEUxQlFVMHNiVU5CUVhGRE4wSXNTMEZCU3poQ0xHRkJTVFZFTEU5QlJrRmtMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha01zUjBGQlIzTkZMRTlCUVU5MlFpeE5RVUZOTDBNc1MwRkJTME1zVDBGQlQwa3NVMEZCVlN4RFFVRkRWeXhGUVVGSFFTeEZRVUZKUVN4RlFVRkpMRWRCUVVjd1JDeFBRVUZqTEV0QlF6VkVNVVVzUzBGQlMwTXNVVUZIWkVnc1JVRkJVVmNzVlVGQlZYZEVMRXRCUVU4c1UwRkJVM1JFTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU5zUkN4SlFVRkpha0lzUlVGQlQwY3NSVUZqV0N4UFFXSlpMRTFCUVZKWUxFbEJRMFpCTEVWQlFVOTJRaXhGUVVGVGRVSXNTVUZGYkVKM1FpeEpRVUZsUVN4RlFVRmhMRWxCUXpWQ1FTeEZRVUZoTDBNc1JVRkJVeXRETEVkQlEycENOVU1zUlVGQlV6UkRMRXRCUTJWRExFZEJRVE5DWkN4RlFVRlBMRU5CUVVOaExFVkJRVmxETEVsQlFXMUNMRWRCUVVsRUxFVkJRV0ZpTEVWQlFVc3NTVUZGTDBSSUxFVkJRVkVzU1VGQlNYQkRMRVZCUVZkcFFpeExRVUZOVnl4RlFVRk5kMElzUjBGRGRrSXNUVUZCVWtNc1IwRkRSbXBDTEVWQlFVMXBRaXhMUVVGTFFTeEhRVVZpY0VNc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0a0xFZEJRMXBCTEVkQlIxUnlRaXhGUVVGUlZ5eFZRVUZWTWtJc1MwRkJUeXhUUVVGVGFFTXNSMEZEYUVNc1NVRkJTV1VzUlVGTlNpeFBRVXhKTlVJc1JVRkJVMkVzU1VGRFdFb3NTMEZCUzJ0RExGRkJRVkU1UWl4SFFVVm1aU3hGUVVGUkxFbEJRVWxvUXl4RlFVRlJZU3hMUVVGTlNTeEhRVU14UWtvc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0a0xFZEJRMXB1UWl4TlFVZFVSaXhGUVVGUlZ5eFZRVUZWYVVRc1RVRkJVU3hUUVVGVGRFUXNSMEZEYWtNc1NVRkJTV1VzUlVGSFNpeFBRVVpCUVN4RlFVRlJMRWxCUVVsNlF5eEZRVUZUYzBJc1MwRkJUVWtzUjBGRE0wSktMRXRCUVV0TExGTkJRVk0wUWl4TFFVRkxaQ3hIUVVOYWJrSXNUVUZIVkVZc1JVRkJVVmNzVlVGQlZXMUVMRkZCUVZVc1UwRkJVM2hFTEVkQlEyNURMRWxCUVVsbExFVkJSMG9zVDBGR1FVRXNSVUZCVVN4SlFVRkplRU1zUlVGQlYzRkNMRXRCUVUxSkxFZEJRemRDU2l4TFFVRkxTeXhUUVVGVE5FSXNTMEZCUzJRc1IwRkRXbTVDTEUxQlIxUkdMRVZCUVZGWExGVkJRVlZyUlN4alFVRm5RaXhUUVVGVGRrVXNSMEZEZWtNc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4SFFVTTVRbWhDTEV0QlFVdERMRTlCUVU4eVJDeFJRVUZSZUVRc1IwRkROVUo1UXl4TlFVRk5jRU1zVlVGQlZYZENMRXRCUVV0akxFMUJRVTB2UXl4TFFVRkxReXhQUVVGUFNTeFRRVUZWWjBVc1IwRkRNVU55UlN4TlFVZFVSaXhGUVVGUlZ5eFZRVUZWYlVVc1lVRkJaU3hUUVVGVGVFVXNSMEZEZUVNc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkpMRWRCUTJ4RGFFSXNTMEZCUzBNc1QwRkJUekpFTEZGQlFWRjRSQ3hIUVVNMVFubERMRTFCUVUxd1F5eFZRVUZWZDBJc1MwRkJTMk1zVFVGQlRTOURMRXRCUVV0RExFOUJRVTlKTEZOQlFWVm5SU3hIUVVNeFEzSkZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVnhSQ3hKUVVGTkxGTkJRVk14UkN4SFFVTXZRaXhKUVVGSlpTeEZRVWRLTEU5QlJrRkJMRVZCUVZFc1NVRkJTV3BETEVWQlFVOWpMRXRCUVUxSkxFZEJRM3BDU2l4TFFVRkxTeXhUUVVGVE5FSXNTMEZCUzJRc1IwRkRXbTVDTEUxQlIxUkdMRVZCUVZGWExGVkJRVlUyUXl4TlFVRlJMRmRCUjNoQ0xFOUJSRkVzU1VGQlNYaEZMRVZCUVZOclFpeFBRVWwyUWtZc1JVRkJVVmNzVlVGQlZYVkVMRmxCUVdNc1UwRkJVMkVzUlVGQlVYcEZMRWRCUXk5RExFbEJRVWt3UlN4RlFVRlhReXhGUVVGVlppeEZRVUZoTlVNc1JVRkJSME1zUlVGUGVrTXNSMEZPWXl4TlFVRldkMFFzU1VGRFJrRXNSVUZCVTNwR0xFVkJRVk41Uml4SlFVVlFMRTFCUVZSNlJTeEpRVU5HUVN4RlFVRlJhRUlzUlVGQlUyZENMRWxCUldaNVF5eE5RVUZOUXl4UlFVRlJLMElzUjBGRGFFSXNTVUZCUzNwRUxFVkJRVWtzUlVGQlIwTXNSVUZCVFhkRUxFVkJRVTg1UkN4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVTjRRekJFTEVWQlFWbEVMRVZCUVU5NlJDeEhRVU51UW5CQ0xFdEJRVXRuUlN4WlFVRlpZeXhSUVVWa0xFZEJRVWwyUml4RlFVRlRjMFlzUjBGRGJFSXNTVUZCUzBNc1MwRkJZVVFzUlVGRFdIQkdMRVZCUVZGMVJDeExRVUZMTmtJc1JVRkJVVU1zUzBGRE1VSkRMRVZCUVZkR0xFVkJRVTlETEVkQlEyeENPVVVzUzBGQlMyZEZMRmxCUVZsakxFVkJRVmRETEZOQlJ6RkNla1lzUlVGQlYyTXNTMEZEWWtFc1JVRkJVVUVzUlVGQlRUSkRMRk5CUldoQ2FVSXNSVUZCWXl4SlFVRkpMMFVzUlVGQmVVSmxMRXRCUVUwMlJTeEZRVUZSZWtVc1IwRkRla1JLTEV0QlFVdExMRk5CUVZNMFFpeExRVUZMSzBJc1IwRkZja0lzVDBGQlQyaEZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVjFSU3hyUWtGQmIwSXNVMEZCVTBnc1JVRkJVWHBGTEVkQlEzSkVMRWxCUVZkWkxFVkJRVWR4UkN4RlFVdGtMRTlCU2tGeVJDeEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEUxQlEycERjVVVzUlVGQlZYSkZMRXRCUVV0RExFOUJRVTlKTEZOQlFWTnBSU3hQUVVGUGRFUXNSMEZET1VKb1FpeExRVUZMUXl4UFFVRlBLMFFzV1VGQldXRXNSVUZCVVhwRkxFZEJRM2hEZVVNc1RVRkJUWEJETEZWQlFWVjNRaXhMUVVGTFl5eE5RVUZOTDBNc1MwRkJTME1zVDBGQlQwa3NVMEZCVldkRkxFZEJRekZEY2tVc1RVRkhWRVlzUlVGQlVWY3NWVUZCVlhkRkxHbENRVUZ0UWl4VFFVRlRTaXhGUVVGUmVrVXNSMEZEY0VRc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkpMRWRCUTJ4RGFFSXNTMEZCUzBNc1QwRkJUeXRFTEZsQlFWbGhMRVZCUVZGNlJTeEhRVU40UTNsRExFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFM5RExFdEJRVXRETEU5QlFVOUpMRk5CUVZWblJTeEhRVU14UTNKRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWNVJTeFpRVUZqTEZOQlFWTkRMRVZCUVZORExFVkJRVlZETEVkQlF6RkVMRWxCUVVsRExFVkJRVXRETEVWQlZWUXNUMEZVUVVRc1JVRkJUWFJHTEV0QlFVdHJRaXhYUVVOWWNVVXNSVUZCVXl4SlFVRkpNMGNzUlVGQlpUQkhMRVZCUVV0SUxFVkJRVk5ETEVWQlFWVkRMRWRCUTNoQ0xFbEJRWGhDUXl4RlFVRkpha1lzVTBGQlUxVXNUMEZEWm5WRkxFVkJRVWxxUml4VFFVRlRiVVlzVVVGQlVVUXNSMEZEV2tRc1JVRkJTV3BHTEZOQlFWTXNSMEZCUjA4c1QwRkJVMjVETEVWQlFWTm5TQ3haUVVNelEwZ3NSVUZCU1dwR0xGTkJRVk1zUjBGQlMydEdMRVZCUld4Q1JDeEZRVUZKYWtZc1UwRkJVMjFHTEZGQlFWRkVMRWRCUldoQ1JDeEZRVUZKU1N4UlFVRlZTaXhIUVVkMlFuaEdMRVZCUVZGWExGVkJRVlZyUml4SlFVRk5MRk5CUVZORExFVkJRVTlETEVkQlEzUkRMRWxCUVZkUUxFVkJRVXRSTEVWQlFWTTVSU3hGUVVGSFNTeEZRVUZIYlVJc1JVRkJSMnhDTEVWQlFVdHhRaXhGUVVGTmNFSXNSVUZCVFhGQ0xFVkJTVzVFTEVsQlNFRXlReXhGUVVGTmRFWXNTMEZCUzJ0Q0xGZEJRMWcwUlN4RlFVRlZMRWxCUVVscVNDeEZRVUZYZVVjc1JVRkJTMDBzUlVGQlQwTXNSMEZGYUVNM1JTeEZRVUZKU1N4RlFVRkpMRVZCUVVkRExFZEJSR2hDUXl4RlFVRlBaMFVzUlVGQlNXcEdMRlZCUTJkQ1ZTeFBRVUZSU3l4RlFVRkpReXhGUVVGTFRDeEpRVUZOU1N4RlFVVm9SQ3hIUVVSUlJTeEZRVUZMVGl4SFFVTklTaXhQUVVGVGJrTXNSVUZCVTNOSUxGRkJSVEZDTEU5QlJFRlVMRVZCUVVscVJpeFRRVUZUVnl4SFFVRkxPRVVzUlVGRFdFRXNSVUZKV0N4SlFVRkxPVVVzUlVGQlNYVkNMRVZCUVVrc1JVRkJSMGNzUjBGRWFFSkRMRVZCUVU4eVF5eEZRVUZKYWtZc1ZVRkRhVUpWTEU5QlFWRjNRaXhGUVVGSlJ5eEZRVUZOTVVJc1NVRkJUWFZDTEVWQlJXeEVMRWRCUkZGSkxFVkJRVXN6UWl4SFFVTklkVVFzVDBGRlVpeFBRVVJCWlN4RlFVRkpha1lzVTBGQlUybEZMRTlCUVU5MFJDeEZRVUZITEVWQlFVYzRSU3hIUVVOdVFrRXNSVUZKV0N4UFFVUkJVaXhGUVVGSmFrWXNVMEZCVXpSQ0xFdEJRVXMyUkN4SFFVTllRU3hIUVVkVWFFY3NSVUZCVVZjc1ZVRkJWWFZHTEVkQlFVc3NWMEZEY2tJc1IwRkJTV2hITEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2EwWkJSV3hDTEU5QlFVODNRaXhMUVVGTFF5eFJRVWRrU0N4RlFVRlJWeXhWUVVGVmFVWXNTMEZCVHl4WFFVTjJRaXhKUVVGSmVrSXNSVUZGU2l4SlFVUkJRU3hGUVVGUGFrVXNTMEZEUVdsRkxFZEJRVTBzUTBGRFdDeEhRVUZKUVN4RlFVRkxja1FzVDBGQlUyNURMRVZCUVZOM1NDeFRRVU42UWl4UFFVRlBhRU1zUlVGQlMybERMRmRCUTFBc1IwRkJTV3BETEVWQlFVdE5MRTlCUTJRc1QwRkJUMDRzUlVGRlVFRXNSVUZCVDBFc1JVRkJTMmhGTEZOQlMyeENTQ3hGUVVGUlZ5eFZRVUZWVXl4VFFVRlhMRmRCUXpOQ0xFbEJRVWtyUXl4RlFVVktMRWxCUkVGQkxFVkJRVTlxUlN4TFFVTkJhVVVzUjBGQlRTeERRVU5ZTEVkQlFVbEJMRVZCUVV0eVJDeFBRVUZUYmtNc1JVRkJVM2RJTEZOQlEzcENMRTlCUVU5b1F5eEZRVVZRUVN4RlFVRlBRU3hGUVVGTGFFVXNVMEZMYkVKSUxFVkJRVkZYTEZWQlFWVXdSaXhKUVVGTkxGTkJRVk5xUnl4SFFVTXZRaXhQUVVGUFJpeExRVUZMYTBJc1YwRkJWMmxHTEVsQlFVbHFSeXhKUVVjM1Frb3NSVUZCVVZjc1ZVRkJWVEpHTEV0QlFVOHNWMEZEZGtJc1NVRkJTWEJHTEVWQlJVb3NTVUZFUVVFc1JVRkJTV2hDTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5aTEZGQlFWRnFRaXhQUVVONlFpeEZRVU5PTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzT0VKQlFXZEROMElzUzBGQlN6aENMR0ZCUlhaRUxFOUJRVTg1UWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUVnl4RlFVRkpMRWxCUjJ4RGJFSXNSVUZCVVZjc1ZVRkJWVFJHTEV0QlFVOHNWMEZEZGtJc1NVRkJTWEpHTEVWQlJVb3NTVUZCVnl4TFFVUllRU3hGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xGRkJRMnBDWjBJc1NVRkJUV2hDTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5WTEU5QlFWTXNSVUZEYkVRc1RVRkJUU3hKUVVGSll5eE5RVUZOTERaQ1FVRXJRamRDTEV0QlFVczRRaXhoUVVWMFJDeFBRVUZQT1VJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFjc1JVRkJTU3hKUVVkc1EyeENMRVZCUVZGWExGVkJRVlUyUml4bFFVRnBRaXhUUVVGVGFFSXNSMEZETVVNc1NVRkJTV2xDTEVWQlMwb3NUMEZLUVVFc1JVRkJZV3BDTEVWQlFVbEpMRTlCUVU5akxGTkJRMkoyUnl4UFFVRlRSQ3hMUVVOd1FuVkhMRVZCUVZkb1F5eFJRVUZUTEVWQlEzQkNka1VzUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXR6UlN4SFFVTmFka2NzVFVGSFZFWXNSVUZCVVZjc1ZVRkJWWEZDTEZWQlFWa3NVMEZCVTI1Q0xFZEJRM0pETEVsQlFVbFhMRVZCUVUxeFFpeEZRVVZXTEU5QlFXRXNUMEZFWW1oRExFVkJRVTlCTEVkQlFWRllMRXRCUVV0WExGRkJRelJDTEU5QlFYWkNWeXhGUVVGUGRFSXNTMEZCUzBNc1VVRkJhMEp4UWl4RlFVRkxXQ3hWUVVGUExFZEJSV2hFTEUxQlFWSkJMRVZCUTBZc1dVRkJZMWdzUzBGQlMwTXNUMEZCVDFVc1MwRkJUeXhMUVVOTUxFOUJRWFpDWjBNc1JVRkJUek5ETEV0QlFVdERMRkZCUVd0Q01FTXNSVUZCUzJoRExGVkJRVThzUjBGSEwwTXNWVUZCV1VFc1JVRkJUeXhsUVVGcFFsZ3NTMEZCUzBNc1QwRkJUMVVzUzBGQlR5eEpRVVoyUkN4VlFVRlpRU3hGUVVGUExFbEJTbTVDTEVsQlZWaGlMRVZCUVZGWExGVkJRVlZuUnl4SlFVRk5MRk5CUVZNNVJpeEZRVUZOZDBJc1JVRkJXVU1zUjBGRGFrUXNUMEZCVDNCRExFdEJRVXRyUXl4UlFVRlJka0lzUlVGQlRYZENMRVZCUVZsRExFbEJSM2hEZEVNc1JVRkJVVmNzVlVGQlZXbEhMRWxCUVUwc1UwRkJVeTlHTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU5xUkN4UFFVRlBjRU1zUzBGQlMybEZMRXRCUVV0MFJDeEZRVUZOZDBJc1JVRkJXVU1zU1VGSGNrTjBReXhGUVVGUlZ5eFZRVUZWYTBjc1NVRkJUU3hUUVVGVGRrY3NSMEZETDBJc1QwRkJUMG9zUzBGQlMyOURMRXRCUVV0b1F5eEpRVWR1UWs0c1JVRkJVVmNzVlVGQlZXMUhMRWxCUVUwc1UwRkJVM2hITEVkQlF5OUNMRTlCUVU5S0xFdEJRVXN3UkN4TlFVRk5kRVFzU1VGSGNFSk9MRVZCUVZGWExGVkJRVlZ2Unl4SlFVRk5MRk5CUVZONlJ5eEhRVU12UWl4UFFVRlBTaXhMUVVGTE5FUXNVVUZCVVhoRUxFbEJSM1JDVGl4RlFVRlJWeXhWUVVGVmNVY3NTVUZCVFN4VFFVRlRha01zUlVGQlVYcEZMRWRCUTNaRExFOUJRVTlLTEV0QlFVdG5SU3haUVVGWllTeEZRVUZSZWtVc1NVRkhiRU5PTEVWQlFWRlhMRlZCUVZVMlJTeEpRVUZOTEZkQlEzUkNMRTlCUVU5MFJpeExRVUZMYTBJc1dVRkhaSEJDTEVWQlFWRlhMRlZCUVZWelJ5eEpRVUZOTEZOQlFWTTFRaXhGUVVGVFF5eEZRVUZWUXl4SFFVTnNSQ3hQUVVGUGNrWXNTMEZCUzJ0R0xGbEJRVmxETEVWQlFWTkRMRVZCUVZWRExFbEJSemREZGtZc1JVRkJVVmNzVlVGQlZYVkhMRVZCUVVrc1UwRkJVM0pITEVWQlFVMTNRaXhGUVVGWlF5eEhRVU12UXl4UFFVRlBjRU1zUzBGQlMydERMRkZCUVZGMlFpeEZRVUZOZDBJc1JVRkJXVU1zU1VGSGVFTjBReXhGUVVGUlZ5eFZRVUZWZDBjc1JVRkJTU3hUUVVGVGRFY3NSVUZCVFhkQ0xFVkJRVmxETEVkQlF5OURMRTlCUVU5d1F5eExRVUZMYVVVc1MwRkJTM1JFTEVWQlFVMTNRaXhGUVVGWlF5eEpRVWR5UTNSRExFVkJRVkZYTEZWQlFWVjVSeXhGUVVGSkxGTkJRVk01Unl4SFFVTTNRaXhQUVVGUFNpeExRVUZMYjBNc1MwRkJTMmhETEVsQlIyNUNUaXhGUVVGUlZ5eFZRVUZWTUVjc1JVRkJTU3hUUVVGVEwwY3NSMEZETjBJc1QwRkJUMG9zUzBGQlN6QkVMRTFCUVUxMFJDeEpRVWR3UWs0c1JVRkJVVmNzVlVGQlZUSkhMRVZCUVVrc1UwRkJVMmhJTEVkQlF6ZENMRTlCUVU5S0xFdEJRVXMwUkN4UlFVRlJlRVFzU1VGSGRFSk9MRVZCUVZGWExGVkJRVlUwUnl4RlFVRkpMRk5CUVZOcVNDeEhRVU0zUWl4UFFVRlBTaXhMUVVGTE9FUXNTVUZCU1RGRUxFbEJSMnhDVGl4RlFVRlJWeXhWUVVGVlR5eEZRVUZKTEZOQlFWTTJSQ3hGUVVGUmVrVXNSMEZEY2tNc1QwRkJUMG9zUzBGQlMyZEZMRmxCUVZsaExFVkJRVkY2UlN4SlFVZHNRMDRzUlVGQlVWY3NWVUZCVlRaSExFVkJRVWtzVjBGRGNFSXNUMEZCVDNSSUxFdEJRVXRuUnl4TlFVZGtiRWNzUlVGQlVWY3NWVUZCVlRoSExHbENRVUZ0UWl4VFFVRlRha01zUjBGRE5VTXNUMEZCVDNSR0xFdEJRVXR6Unl4bFFVRmxhRUlzU1VGSE4wSjRSaXhGUVVGUlZ5eFZRVUZWSzBjc1lVRkJaU3hUUVVGVGNrUXNSVUZCVlhORUxFZEJRMnhFTEUxQlFVMHNTVUZCU1RWR0xFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWV2xJTEZsQlFXTXNVMEZCVTBRc1IwRkRka01zVFVGQlRTeEpRVUZKTlVZc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZhMGdzV1VGQll5eFRRVUZUZUVRc1IwRkRka01zVFVGQlRTeEpRVUZKZEVNc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZiVWdzWTBGQlowSXNWMEZEYUVNc1QwRkJaME1zU1VGQmVrSTFTQ3hMUVVGTFN5eFRRVUZUVlN4UlFVZDJRbXBDTEVWQlFWRlhMRlZCUVZWdlNDeFZRVUZaTEZOQlFWTkRMRWRCUTNKRExFMUJRVTBzU1VGQlNXcEhMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVlhOSUxGVkJRVmtzVjBGRE5VSXNUVUZCVFN4SlFVRkpiRWNzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmRVZ3NXVUZCWXl4VFFVRlRReXhGUVVGVE9VTXNSMEZEYUVRc1QwRkJUeXhIUVVkVWNrWXNSVUZCVVZjc1ZVRkJWWGxJTEdOQlFXZENMRmRCUTJoRExFOUJRU3RDTEVsQlFYaENiRWtzUzBGQlMyMUpMRkZCUVZGd1NDeFJRVWQwUW1wQ0xFVkJRVkZYTEZWQlFWVXlTQ3gzUWtGQk1FSXNVMEZCVTBNc1IwRkRia1FzU1VGQlUwTXNSVUZGVkN4UFFVUk5kRWtzUzBGQlFVRXNUMEZEVFhGSkxFVkJRMGdzUlVGRFJYSkpMRXRCUVV0clFpeGhRVUZsYlVnc1JVRkJUVzVJTEZsQlEyNURiMGdzUlVGQlRUbEtMRVZCUVdsQ0swb3NZVUZCWlM5S0xFVkJRV2xDWjBzc2RVSkJRMjVFUXl4TFFVRkxReXhUUVVGWExFZEJRMnhDU2l4SFFVRlBPVW9zUlVGQmFVSnRTeXhWUVVWNFFrd3NSMEZCVHpsS0xFVkJRV2xDYjBzc1ZVRkZia0pPTEVkQlZraDBTU3hMUVZkVE5ra3NWMEZCVjFJc1IwRkRha0kzU2l4RlFVRnBRbk5MTEZOQlFWZDBTeXhGUVVGcFFtMUxMRlZCV21oRU0wa3NTMEZoVXl0SkxHRkJRV0ZXTEVkQlEyNUNOMG9zUlVGQmFVSnpTeXhUUVVGWGRFc3NSVUZCYVVKdlN5eFZRV1JvUkRWSkxFdEJaVk5uU2l4WlFVRlpXQ3hIUVVOc1FqZEtMRVZCUVdsQ2JVc3NWVUZGYWtKdVN5eEZRVUZwUW05TExGZEJTVFZDT1Vrc1JVRkJVVmNzVlVGQlZYZEpMRmRCUVdFc1UwRkJVMW9zUjBGRGRFTXNUVUZCVFN4SlFVRkplRWNzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmVVa3NZVUZCWlN4VFFVRlRReXhIUVVONFF5eE5RVUZOTEVsQlFVbDBTQ3hOUVVGTkxITkRRVUYzUXpkQ0xFdEJRVXM0UWl4alFVY3ZSR2hETEVWQlFWRlhMRlZCUVZVeVNTeHRRa0ZCY1VJc1UwRkJVMFFzUjBGRE9VTXNUVUZCVFN4SlFVRkpkRWdzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVk5Fa3NiVUpCUVhGQ0xGTkJRVk5ETEVkQlF6bERMRTFCUVUwc1NVRkJTWHBJTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZUaEpMRmxCUVdNc1UwRkJVM1JHTEVkQlEzWkRMRWxCUVVscVJDeEZRVUZIU1N4RlFVRkhSU3hGUVVOV0xFZEJRVWt5UXl4RlFVRkxla01zVjBGQllYaENMRXRCUVV0M1FpeFRRVU42UWl4UFFVRlBMRVZCUlZRc1IwRkJTWGxETEVWQlFVczFSQ3hUUVVGVFZTeFRRVUZYWml4TFFVRkxTeXhUUVVGVFZTeFBRVU42UXl4UFFVRlBMRVZCUlZRc1NVRkJTME1zUlVGQlNVa3NSVUZCU1N4RlFVRkhSU3hGUVVGUGRFSXNTMEZCUzBzc1UwRkJVMVVzVDBGQlV5eEZRVUZITEVkQlFVdFBMRVZCUVU5R0xFZEJRVXRGTEVWQlFVOUdMRWRCUVV0RkxFVkJRVTFPTEVWQlFVa3NSMEZCUzAwc1NVRkJVMFlzU1VGQlRVRXNSVUZETVVjc1NVRkJTM0JDTEV0QlFVdExMRk5CUVZOWExFZEJRVWQxU1N4WlFVRlpkRVlzUlVGQlN6VkVMRk5CUVZOWExFbEJRemxETEU5QlFVOHNSVUZIV0N4UFFVRlBMRWRCUjFSc1FpeEZRVUZSVnl4VlFVRlZLMGtzVjBGQllTeFRRVUZUZGtJc1JVRkJVemxETEVkQlF5OURMRTFCUVUwc1NVRkJTWFJFTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXZEtMRmxCUVdNc1UwRkJVMnBJTEVWQlFVdHJTQ3hGUVVGTlF5eEhRVU5zUkN4TlFVRk5MRWxCUVVrNVNDeE5RVUZOTEhORFFVRjNRemRDTEV0QlFVczRRaXhqUVVjdlJHaERMRVZCUVZGWExGVkJRVlZ0U2l4WlFVRmpMRk5CUVZOd1NDeEhRVU4yUXl4TlFVRk5MRWxCUVVsWUxFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWVzlLTEZOQlFWY3NVMEZCVTNoQ0xFZEJRM0JETEZGQlFVdEJMRWxCUjBWQkxFbEJRVlZ5U1N4TlFVRlJRU3hMUVVGTEswa3NZVUZCWVZZc1MwRkhOME4yU1N4RlFVRlJWeXhWUVVGVmMwa3NZVUZCWlN4VFFVRlRPVVVzUjBGRGVFTXNTVUZCU1RsRExFVkJRVEJDUXl4RlFVRkhReXhGUVVGTFF5eEZRVVYwUXl4SlFVRkxSaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVU5MFFpeExRVUZMU3l4VlFVTlhWU3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVGTExFTkJSVE5ETEVkQlFVazJReXhMUVVSS09VTXNSVUZCVVVjc1JVRkJTMFlzU1VGRldDeFBRVUZQTEVWQlIxUXNSMEZFYjBKRUxFVkJRVTAwU0N4aFFVRmhPVVVzUjBGRmNrTXNUMEZCVHl4RlFVZFlMRTlCUVU4c1IwRkhWRzVGTEVWQlFWRlhMRlZCUVZWdlNTeFhRVUZoTEZOQlFWTTFSU3hIUVVOMFF5eFBRVUZQUVN4RlFVRkxPRVVzWVVGQllTOUpMRTlCUnpOQ1JpeEZRVUZSVnl4VlFVRlZkVWtzV1VGQll5eFRRVUZUTDBVc1IwRkRka01zU1VGQlNUWkdMRVZCUVZORExFVkJSMklzVDBGR1FVUXNSVUZCVlRsS0xFdEJRVXRuU3l4aFFVRmhMMFlzUjBGRE5VSTRSaXhGUVVGVkwwb3NTMEZCUzJkTExHRkJRV0ZvU3l4UFFVTllMRWxCUVdJNFNpeEpRVUVyUWl4SlFVRmlReXhIUVVkaVJDeEZRVUZWUXl4SFFVbHlRbXBMTEVWQlFWRlhMRlZCUVZWM1NpeFpRVUZqTEZOQlFWTm9SeXhIUVVOMlF5eEpRVUZKTmtZc1JVRkJVME1zUlVGSFlpeFBRVVpCUkN4RlFVRlZPVW9zUzBGQlMyZExMR0ZCUVdFdlJpeEhRVU0xUWpoR0xFVkJRVlV2U2l4TFFVRkxaMHNzWVVGQllXaExMRTlCUTFnc1NVRkJZamhLTEVsQlFTdENMRWxCUVdKRExFZEJSMkpFTEVWQlFWVkRMRWRCU1hKQ2Frc3NSVUZCVVZjc1ZVRkJWWFZLTEdGQlFXVXNVMEZCVXk5R0xFZEJRM2hETEVsQlFVbHBSeXhGUVVGUFF5eEZRVk5ZTEU5QlVrRkJMRVZCUVUwc1JVRkRUa1FzUjBGQlVTeEZRVU5TYkVzc1MwRkJTMjlMTEdkQ1FVRm5RbkJMTEV0QlFVdHJRaXhYUVVGWkxGTkJRVk50UWl4SFFVVTNReXhIUVVSQk9FZ3NTMEZEUzBRc1IwRkJVemRJTEVsQlFXTTBRaXhGUVVNeFFpeFBRVUZQYVVjc1IwRkJVU3hKUVVkbVFTeEZRVU5MUXl4SFFVVkRMRWRCU1ZweVN5eEZRVUZSVnl4VlFVRlZNa29zWjBKQlFXdENMRk5CUVZOdVJ5eEZRVUZOYjBjc1IwRkRha1FzU1VGQlNXeEtMRVZCUVU5RExFVkJRVWRETEVWQlFVdERMRVZCUVUxblNDeEZRVWQ2UWl4SlFVWkJja1VzU1VGQlUwRXNSVUZCVDJwRkxFdEJRVXRyUWl4WlFVVm9Ra1VzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGUE1rTXNSVUZCU3pWRUxGVkJRMWRWTEU5QlFWRkxMRVZCUVVsRExFVkJRVXRFTEVsQlFVc3NRMEZGTTBNc1IwRkJTV3RJTEVWQlFVMHJRaXhGUVVSV2JFb3NSVUZCVVVjc1JVRkJTMFlzU1VGRldDeFBRVUZQYTBnc1JVRkhVQ3hIUVVSQlFTeEZRVUZOZEVrc1MwRkJTMjlMTEdkQ1FVRm5RbXBLTEVWQlFVOXJTaXhIUVVWb1F5eFBRVUZQTDBJc1NVRk5VbmhKTEVWQk0zVkNhMElzUzBFcmRVSXhRbXRFTEV0QlFVdG9SQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFNXZaR1V1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5ub2Rlcz10fXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXMubGVuZ3RofHwwfX0pLHQucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXM9bnVsbH0sdC5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5ub2Rlc1t0XXx8bnVsbH0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEU1dlpHVk1hWE4wTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pZVFV4T2IyUmxUR2x6ZENJc0ltNXZaR1Z6SWl3aWRHaHBjeUlzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpY0hKdmRHOTBlWEJsSWl3aVoyVjBJaXdpYkdWdVozUm9JaXdpWTJ4dmJtVWlMQ0pwZEdWdElpd2lhVzVrWlhnaUxDSmpZV3hzSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVZEZRU3hQUVVGUFF5eFJRVUYzUWl4WFFVTTNRaXhUUVVGVFF5eEZRVUZaUXl4SFFVTnVRa01zUzBGQlMwUXNUVUZCVVVFc1JVRnBRbVlzVDBGa1FVVXNUMEZCVDBNc1pVRkJaVW9zUlVGQldVc3NWVUZCVnl4VFFVRlZMRU5CUTNKRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDBvc1MwRkJTMFFzVFVGQlRVMHNVVUZCVlN4TFFVbG9RMUFzUlVGQldVc3NWVUZCVlVjc1RVRkJVU3hYUVVNMVFpeFBRVUZQVGl4TFFVRkxSQ3hOUVVGUkxFMUJSM1JDUkN4RlFVRlpTeXhWUVVGVlNTeExRVUZQTEZOQlFWTkRMRWRCUTNCRExFOUJRVTlTTEV0QlFVdEVMRTFCUVUxVExFbEJRVlVzVFVGSGRrSldMRVZCYmtKelFpeExRWFZDT1VKWExFdEJRVXRVSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1UbTlrWlV4cGMzUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LHIsaT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBvKHIsaSxlKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGluc3RydWN0aW9uIHRhcmdldC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy50eXBlPXQuUHJvY2Vzc2luZ0luc3RydWN0aW9uLHRoaXMudGFyZ2V0PXRoaXMuc3RyaW5naWZ5Lmluc1RhcmdldChpKSx0aGlzLm5hbWU9dGhpcy50YXJnZXQsZSYmKHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuaW5zVmFsdWUoZSkpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKWkuY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShvLHIpLG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG8ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhby5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiZ0LnRhcmdldD09PXRoaXMudGFyZ2V0fSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2Ymk1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0VpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luTjFjR1Z5UTJ4aGMzTWlMQ0pZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0p3WVhKbGJuUWlMQ0owWVhKblpYUWlMQ0oyWVd4MVpTSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKRmNuSnZjaUlzSW1SbFluVm5TVzVtYnlJc0luUjVjR1VpTENKUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0p6ZEhKcGJtZHBabmtpTENKcGJuTlVZWEpuWlhRaUxDSnVZVzFsSWl3aWFXNXpWbUZzZFdVaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKamJHOXVaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW5SdlUzUnlhVzVuSWl3aWIzQjBhVzl1Y3lJc0luZHlhWFJsY2lJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKaGNIQnNlU0lzSW1GeVozVnRaVzUwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZWUXl4RlFVVmFReXhGUVVGVkxFZEJRVWRETEdWQlJXWklMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSklMRVZCUVcxQ1J5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCY1VNc1UwRkJWVU1zUjBGSGNFUXNVMEZCVTBNc1JVRkJlVUpETEVWQlFWRkRMRVZCUVZGRExFZEJSV2hFTEVkQlJFRklMRVZCUVhsQ1NTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVGl4SFFVTTFReXhOUVVGV1F5eEZRVU5HTEUxQlFVMHNTVUZCU1Uwc1RVRkJUU3dyUWtGQmFVTkVMRXRCUVV0RkxHRkJSWGhFUml4TFFVRkxSeXhMUVVGUGJFSXNSVUZCVTIxQ0xITkNRVU55UWtvc1MwRkJTMHdzVDBGQlUwc3NTMEZCUzBzc1ZVRkJWVU1zVlVGQlZWZ3NSMEZEZGtOTExFdEJRVXRQTEV0QlFVOVFMRXRCUVV0TUxFOUJRMkpETEVsQlEwWkpMRXRCUVV0S0xFMUJRVkZKTEV0QlFVdExMRlZCUVZWSExGTkJRVk5hTEVsQmMwSjZReXhQUVhwRFV5eFRRVUZUWVN4RlFVRlBaaXhIUVVGVkxFbEJRVXNzU1VGQlNXZENMRXRCUVU5b1FpeEZRVUZqVUN4RlFVRlJXU3hMUVVGTFRDeEZRVUZSWjBJc1MwRkJUVVFzUlVGQlRVTXNSMEZCVDJoQ0xFVkJRVTluUWl4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOWExFVkJRVk5GTEVWQlFVdERMRlZCUVZsc1FpeEZRVUZQYTBJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOV2l4VlFVRlpTQ3hGUVVGUGEwSXNWVUZSYUZGRExFTkJRVTl3UWl4RlFXMURUbEFzUjBGd1FrUlBMRVZCUVhsQ2JVSXNWVUZCVlVVc1RVRkJVU3hYUVVONlF5eFBRVUZQUXl4UFFVRlBReXhQUVVGUGFFSXNUMEZIZGtKUUxFVkJRWGxDYlVJc1ZVRkJWVXNzVTBGQlZ5eFRRVUZUUXl4SFFVTnlSQ3hQUVVGUGJFSXNTMEZCUzJ0Q0xGRkJRVkZETEU5QlFVOURMSE5DUVVGelFuQkNMRXRCUVUxQkxFdEJRVXRyUWl4UlFVRlJReXhQUVVGUFJTeGpRVUZqU0N4TFFVY3pSbnBDTEVWQlFYbENiVUlzVlVGQlZWVXNXVUZCWXl4VFFVRlRReXhIUVVONFJDeFJRVUZMT1VJc1JVRkJlVUpKTEZWQlFWVjVRaXhaUVVGWlJTeE5RVUZOZUVJc1MwRkJUWGxDTEZkQlFWZElMRmxCUVZsRExFbEJSMjVHUVN4RlFVRkxOVUlzVTBGQlYwc3NTMEZCUzB3c1VVRk5jRUpHTEVWQmJFTnRReXhMUVhORE0wTk5MRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVUhKdlkyVnpjMmx1WjBsdWMzUnlkV04wYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixvPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkocixvKXtpZihpLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09byl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHJhdyB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLnR5cGU9dC5SYXcsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5yYXcobyl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpby5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KGksciksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIucmF3KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZKaGR5NXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URTV2WkdVaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeFNZWGNpTENKd1lYSmxiblFpTENKMFpYaDBJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2lkSGx3WlNJc0lsSmhkeUlzSW5aaGJIVmxJaXdpYzNSeWFXNW5hV1o1SWl3aWNtRjNJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lZMnh2Ym1VaUxDSlBZbXBsWTNRaUxDSmpjbVZoZEdVaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJSVnBETEVWQlFWVXNSMEZCUjBNc1pVRkZaa2dzUlVGQlYwa3NVVUZCVVN4alFVVnVRa2dzUlVGQlZVY3NVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCYlVJc1UwRkJWVU1zUjBGSGJFTXNVMEZCVTBNc1JVRkJUME1zUlVGQlVVTXNSMEZGZEVJc1IwRkVRVVlzUlVGQlQwY3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFV3c1IwRkROVUlzVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsTExFMUJRVTBzY1VKQlFYVkNSQ3hMUVVGTFJTeGhRVVU1UTBZc1MwRkJTMGNzUzBGQlQycENMRVZCUVZOclFpeEpRVU55UWtvc1MwRkJTMHNzVFVGQlVVd3NTMEZCUzAwc1ZVRkJWVU1zU1VGQlNWZ3NSMEZYYkVNc1QwRXpRbE1zVTBGQlUxa3NSVUZCVDJJc1IwRkJWU3hKUVVGTExFbEJRVWxqTEV0QlFVOWtMRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGakxFdEJRVTFFTEVWQlFVMURMRWRCUVU5a0xFVkJRVTlqTEVsQlFWRXNVMEZCVTBNc1NVRkJVMVlzUzBGQlMwWXNXVUZCWTFVc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1doQ0xFVkJRVTluUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFZTEZWQlFWbEdMRVZCUVU5blFpeFZRVkZvVVVNc1EwRkJUMnhDTEVWQmNVSk9VQ3hIUVZaRVR5eEZRVUZQYVVJc1ZVRkJWVVVzVFVGQlVTeFhRVU4yUWl4UFFVRlBReXhQUVVGUFF5eFBRVUZQWml4UFFVZDJRazRzUlVGQlQybENMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZEYmtNc1QwRkJUMnBDTEV0QlFVdHBRaXhSUVVGUlF5eFBRVUZQV0N4SlFVRkpVQ3hMUVVGTlFTeExRVUZMYVVJc1VVRkJVVU1zVDBGQlQwTXNZMEZCWTBZc1MwRkhiRVYyUWl4RlFYQkNhVUlzUzBGM1FucENTeXhMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZKaGR5NXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxyLHM9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTFdyaXRlckJhc2VcIiksZT1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihpKXtmdW5jdGlvbiBuKHQsZSl7dGhpcy5zdHJlYW09dCxuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpcy5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG4sciksbi5wcm90b3R5cGUuZW5kbGluZT1mdW5jdGlvbih0LHIscyl7cmV0dXJuIHQuaXNMYXN0Um9vdE5vZGUmJnIuc3RhdGU9PT1lLkNsb3NlVGFnP1wiXCI6bi5fX3N1cGVyX18uZW5kbGluZS5jYWxsKHRoaXMsdCxyLHMpfSxuLnByb3RvdHlwZS5kb2N1bWVudD1mdW5jdGlvbih0LGUpe3ZhciByLHMsaSxuLG8sYSxoLGwscDtmb3Iocz1pPTAsbz0oaD10LmNoaWxkcmVuKS5sZW5ndGg7aTxvO3M9KytpKShyPWhbc10pLmlzTGFzdFJvb3ROb2RlPXM9PT10LmNoaWxkcmVuLmxlbmd0aC0xO2ZvcihlPXRoaXMuZmlsdGVyT3B0aW9ucyhlKSxwPVtdLG49MCxhPShsPXQuY2hpbGRyZW4pLmxlbmd0aDtuPGE7bisrKXI9bFtuXSxwLnB1c2godGhpcy53cml0ZUNoaWxkTm9kZShyLGUsMCkpO3JldHVybiBwfSxuLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5hdHRyaWJ1dGUuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uY2RhdGEuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5jb21tZW50LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmRlY2xhcmF0aW9uLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kb2NUeXBlPWZ1bmN0aW9uKHQscixzKXt2YXIgaSxuLG8sYTtpZihzfHwocz0wKSx0aGlzLm9wZW5Ob2RlKHQscixzKSxyLnN0YXRlPWUuT3BlblRhZyx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmluZGVudCh0LHIscykpLHRoaXMuc3RyZWFtLndyaXRlKFwiPCFET0NUWVBFIFwiK3Qucm9vdCgpLm5hbWUpLHQucHViSUQmJnQuc3lzSUQ/dGhpcy5zdHJlYW0ud3JpdGUoJyBQVUJMSUMgXCInK3QucHViSUQrJ1wiIFwiJyt0LnN5c0lEKydcIicpOnQuc3lzSUQmJnRoaXMuc3RyZWFtLndyaXRlKCcgU1lTVEVNIFwiJyt0LnN5c0lEKydcIicpLHQuY2hpbGRyZW4ubGVuZ3RoPjApe2Zvcih0aGlzLnN0cmVhbS53cml0ZShcIiBbXCIpLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuZW5kbGluZSh0LHIscykpLHIuc3RhdGU9ZS5JbnNpZGVUYWcsbj0wLG89KGE9dC5jaGlsZHJlbikubGVuZ3RoO248bztuKyspaT1hW25dLHRoaXMud3JpdGVDaGlsZE5vZGUoaSxyLHMrMSk7ci5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiXVwiKX1yZXR1cm4gci5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKHIuc3BhY2VCZWZvcmVTbGFzaCtcIj5cIiksdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5lbmRsaW5lKHQscixzKSksci5zdGF0ZT1lLk5vbmUsdGhpcy5jbG9zZU5vZGUodCxyLHMpfSxuLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHIsaSxuKXt2YXIgbyxhLGgsbCxwLHUsYyxkLF87Zm9yKGMgaW4gbnx8KG49MCksdGhpcy5vcGVuTm9kZShyLGksbiksaS5zdGF0ZT1lLk9wZW5UYWcsdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5pbmRlbnQocixpLG4pK1wiPFwiK3IubmFtZSksZD1yLmF0dHJpYnMpcy5jYWxsKGQsYykmJihvPWRbY10sdGhpcy5hdHRyaWJ1dGUobyxpLG4pKTtpZihsPTA9PT0oaD1yLmNoaWxkcmVuLmxlbmd0aCk/bnVsbDpyLmNoaWxkcmVuWzBdLDA9PT1ofHxyLmNoaWxkcmVuLmV2ZXJ5KGZ1bmN0aW9uKGUpe3JldHVybihlLnR5cGU9PT10LlRleHR8fGUudHlwZT09PXQuUmF3KSYmXCJcIj09PWUudmFsdWV9KSlpLmFsbG93RW1wdHk/KHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiKSxpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoXCI8L1wiK3IubmFtZStcIj5cIikpOihpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoaS5zcGFjZUJlZm9yZVNsYXNoK1wiLz5cIikpO2Vsc2UgaWYoIWkucHJldHR5fHwxIT09aHx8bC50eXBlIT09dC5UZXh0JiZsLnR5cGUhPT10LlJhd3x8bnVsbD09bC52YWx1ZSl7Zm9yKHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiK3RoaXMuZW5kbGluZShyLGksbikpLGkuc3RhdGU9ZS5JbnNpZGVUYWcscD0wLHU9KF89ci5jaGlsZHJlbikubGVuZ3RoO3A8dTtwKyspYT1fW3BdLHRoaXMud3JpdGVDaGlsZE5vZGUoYSxpLG4rMSk7aS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuaW5kZW50KHIsaSxuKStcIjwvXCIrci5uYW1lK1wiPlwiKX1lbHNlIHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiKSxpLnN0YXRlPWUuSW5zaWRlVGFnLGkuc3VwcHJlc3NQcmV0dHlDb3VudCsrLCEwLHRoaXMud3JpdGVDaGlsZE5vZGUobCxpLG4rMSksaS5zdXBwcmVzc1ByZXR0eUNvdW50LS0sITEsaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiPC9cIityLm5hbWUrXCI+XCIpO3JldHVybiB0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmVuZGxpbmUocixpLG4pKSxpLnN0YXRlPWUuTm9uZSx0aGlzLmNsb3NlTm9kZShyLGksbil9LG4ucHJvdG90eXBlLnByb2Nlc3NpbmdJbnN0cnVjdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnByb2Nlc3NpbmdJbnN0cnVjdGlvbi5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18ucmF3LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18udGV4dC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkQXR0TGlzdD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZEF0dExpc3QuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRFbGVtZW50LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGRFbnRpdHk9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRFbnRpdHkuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZE5vdGF0aW9uPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkTm90YXRpb24uY2FsbCh0aGlzLHQsZSxyKSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbVZoYlZkeWFYUmxjaTVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGR5YVhSbGNsTjBZWFJsSWl3aVdFMU1WM0pwZEdWeVFtRnpaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEZOMGNtVmhiVmR5YVhSbGNpSXNJbk4wY21WaGJTSXNJbTl3ZEdsdmJuTWlMQ0owYUdseklpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aVkyaHBiR1FpTENKd1lYSmxiblFpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWlc1a2JHbHVaU0lzSW01dlpHVWlMQ0pzWlhabGJDSXNJbWx6VEdGemRGSnZiM1JPYjJSbElpd2ljM1JoZEdVaUxDSkRiRzl6WlZSaFp5SXNJbVJ2WTNWdFpXNTBJaXdpWkc5aklpd2lhU0lzSW1vaUxDSnJJaXdpYkdWdUlpd2liR1Z1TVNJc0luSmxaaUlzSW5KbFpqRWlMQ0p5WlhOMWJIUnpJaXdpWTJocGJHUnlaVzRpTENKc1pXNW5kR2dpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpY0hWemFDSXNJbmR5YVhSbFEyaHBiR1JPYjJSbElpd2lZWFIwY21saWRYUmxJaXdpWVhSMElpd2lkM0pwZEdVaUxDSmpaR0YwWVNJc0ltTnZiVzFsYm5RaUxDSmtaV05zWVhKaGRHbHZiaUlzSW1SdlkxUjVjR1VpTENKdmNHVnVUbTlrWlNJc0lrOXdaVzVVWVdjaUxDSnBibVJsYm5RaUxDSnliMjkwSWl3aWJtRnRaU0lzSW5CMVlrbEVJaXdpYzNselNVUWlMQ0pKYm5OcFpHVlVZV2NpTENKemNHRmpaVUpsWm05eVpWTnNZWE5vSWl3aVRtOXVaU0lzSW1Oc2IzTmxUbTlrWlNJc0ltVnNaVzFsYm5RaUxDSmphR2xzWkU1dlpHVkRiM1Z1ZENJc0ltWnBjbk4wUTJocGJHUk9iMlJsSWl3aVlYUjBjbWxpY3lJc0ltVjJaWEo1SWl3aVpTSXNJblI1Y0dVaUxDSlVaWGgwSWl3aVVtRjNJaXdpZG1Gc2RXVWlMQ0poYkd4dmQwVnRjSFI1SWl3aWNISmxkSFI1SWl3aWMzVndjSEpsYzNOUWNtVjBkSGxEYjNWdWRDSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0luSmhkeUlzSW5SbGVIUWlMQ0prZEdSQmRIUk1hWE4wSWl3aVpIUmtSV3hsYldWdWRDSXNJbVIwWkVWdWRHbDBlU0lzSW1SMFpFNXZkR0YwYVc5dUlsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVGhDUXl4RlFVVXhRME1zUlVGQlZTeEhRVUZIUXl4bFFVVm1TaXhGUVVGWFN5eFJRVUZSTEdOQlJXNUNTQ3hGUVVGblFrY3NVVUZCVVN4dFFrRkZlRUpLTEVWQlFXTkpMRkZCUVZFc2FVSkJSWFJDUXl4UFFVRlBReXhSUVVFMFFpeFRRVUZWUXl4SFFVY3pReXhUUVVGVFF5eEZRVUZuUWtNc1JVRkJVVU1zUjBGREwwSkRMRXRCUVV0R0xFOUJRVk5CTEVWQlEyUkVMRVZCUVdkQ1NTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFNDeExRVUZOUkN4SFFUQktia1FzVDBGNFMxTXNVMEZCVTBzc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRXRCUVU5RUxFVkJRV05rTEVWQlFWRlpMRXRCUVV0RkxFVkJRVkZETEV0QlFVMUdMRVZCUVUxRkxFZEJRVTlFTEVWQlFVOURMRWxCUVZFc1UwRkJVME1zU1VGQlUxQXNTMEZCUzBVc1dVRkJZMFVzUlVGQlUwY3NSVUZCUzBNc1ZVRkJXVWdzUlVGQlQwY3NWVUZCVjBvc1JVRkJUVWtzVlVGQldTeEpRVUZKUkN4RlFVRlJTQ3hGUVVGTlNDeFZRVUZaU1N4RlFVRlBSeXhWUVZWb1VVTXNRMEZCVDFvc1JVRm5TMDVRTEVkQmVrcEVUeXhGUVVGblFsY3NWVUZCVlVVc1VVRkJWU3hUUVVGVFF5eEZRVUZOV2l4RlFVRlRZU3hIUVVNeFJDeFBRVUZKUkN4RlFVRkxSU3huUWtGQmEwSmtMRVZCUVZGbExGRkJRVlY2UWl4RlFVRlpNRUlzVTBGRGFFUXNSMEZGUVd4Q0xFVkJRV2RDU1N4VlFVRlZVeXhSUVVGUlVDeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4SlFVbDJSV1lzUlVGQlowSlhMRlZCUVZWUkxGTkJRVmNzVTBGQlUwTXNSVUZCUzJ4Q0xFZEJRMnBFTEVsQlFVbExMRVZCUVU5akxFVkJRVWRETEVWQlFVZERMRVZCUVVkRExFVkJRVXRETEVWQlFVMURMRVZCUVV0RExFVkJRVTFETEVWQlJURkRMRWxCUVV0UUxFVkJRVWxETEVWQlFVa3NSVUZCUjBVc1IwRkVhRUpGTEVWQlFVMU9MRVZCUVVsVExGVkJRMmRDUXl4UFFVRlJVaXhGUVVGSlJTeEZRVUZMU0N4SlFVRk5ReXhIUVVNdlEyWXNSVUZCVVcxQ0xFVkJRVWxNTEVsQlEwNU1MR1ZCUVdsQ1N5eEpRVUZOUkN4RlFVRkpVeXhUUVVGVFF5eFBRVUZUTEVWQlMzSkVMRWxCU0VFMVFpeEZRVUZWUXl4TFFVRkxORUlzWTBGQll6ZENMRWRCUlRkQ01FSXNSVUZCVlN4SFFVTk1UQ3hGUVVGSkxFVkJRVWRGTEVkQlJscEZMRVZCUVU5UUxFVkJRVWxUTEZWQlJXRkRMRTlCUVZGUUxFVkJRVWxGTEVWQlFVMUdMRWxCUTNoRGFFSXNSVUZCVVc5Q0xFVkJRVXRLTEVkQlEySkxMRVZCUVZGSkxFdEJRVXMzUWl4TFFVRkxPRUlzWlVGQlpURkNMRVZCUVU5TUxFVkJRVk1zU1VGRmJrUXNUMEZCVHpCQ0xFZEJSMVExUWl4RlFVRm5RbGNzVlVGQlZYVkNMRlZCUVZrc1UwRkJVME1zUlVGQlMycERMRVZCUVZOaExFZEJRek5FTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZVNFFpeFZRVUZWTlVJc1MwRkJTMGdzUzBGQlRXZERMRVZCUVV0cVF5eEZRVUZUWVN4TFFVZDRSbVlzUlVGQlowSlhMRlZCUVZVd1FpeE5RVUZSTEZOQlFWTjJRaXhGUVVGTldpeEZRVUZUWVN4SFFVTjRSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWYVVNc1RVRkJUUzlDTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUjNKR1ppeEZRVUZuUWxjc1ZVRkJWVEpDTEZGQlFWVXNVMEZCVTNoQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpGRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVnJReXhSUVVGUmFFTXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhka1ptTEVWQlFXZENWeXhWUVVGVk5FSXNXVUZCWXl4VFFVRlRla0lzUlVGQlRWb3NSVUZCVTJFc1IwRkRPVVFzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlcxRExGbEJRVmxxUXl4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVjelJtWXNSVUZCWjBKWExGVkJRVlUyUWl4UlFVRlZMRk5CUVZNeFFpeEZRVUZOV2l4RlFVRlRZU3hIUVVNeFJDeEpRVUZKVWl4RlFVRlBaU3hGUVVGSFJTeEZRVUZMUlN4RlFWZHVRaXhIUVZaQldDeEpRVUZWUVN4RlFVRlJMRWRCUTJ4Q1dpeExRVUZMYzBNc1UwRkJVek5DTEVWQlFVMWFMRVZCUVZOaExFZEJRemRDWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1d0RUxGRkJRelZDZGtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMZDBNc1QwRkJUemRDTEVWQlFVMWFMRVZCUVZOaExFbEJRemREV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4aFFVRmxkRUlzUlVGQlN6aENMRTlCUVU5RExFMUJRM3BETDBJc1JVRkJTMmRETEU5QlFWTm9ReXhGUVVGTGFVTXNUVUZEY2tJMVF5eExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeFpRVUZqZEVJc1JVRkJTMmRETEUxQlFWRXNUVUZCVVdoRExFVkJRVXRwUXl4TlFVRlJMRXRCUTNwRWFrTXNSVUZCUzJsRExFOUJRMlExUXl4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4WlFVRmpkRUlzUlVGQlMybERMRTFCUVZFc1MwRkZNME5xUXl4RlFVRkxaU3hUUVVGVFF5eFBRVUZUTEVWQlFVY3NRMEZMTlVJc1NVRktRVE5DTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOTEUxQlEyeENha01zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxWU3hSUVVGUlF5eEZRVUZOV2l4RlFVRlRZU3hKUVVNNVEySXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWbDNSQ3hWUVVWMlFqRkNMRVZCUVVrc1JVRkJSMFVzUjBGRVdrVXNSVUZCVFZvc1JVRkJTMlVzVlVGRFYwTXNUMEZCVVZJc1JVRkJTVVVzUlVGQlMwWXNTVUZEY2tObUxFVkJRVkZ0UWl4RlFVRkpTaXhIUVVOYWJrSXNTMEZCU3poQ0xHVkJRV1V4UWl4RlFVRlBUQ3hGUVVGVFlTeEZRVUZSTEVkQlJUbERZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVUxd1FpeFBRVXBCYkVNc1JVRkJVV1VzVFVGQlVYcENMRVZCUVZrd1FpeFRRVU0xUW1Zc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxc1F5eEZRVUZSSzBNc2FVSkJRVzFDTEV0QlF6ZERPVU1zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxWU3hSUVVGUlF5eEZRVUZOV2l4RlFVRlRZU3hKUVVNNVEySXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWa3dSQ3hMUVVOeVFpOURMRXRCUVV0blJDeFZRVUZWY2tNc1JVRkJUVm9zUlVGQlUyRXNTVUZIZGtObUxFVkJRV2RDVnl4VlFVRlZlVU1zVVVGQlZTeFRRVUZUZEVNc1JVRkJUVm9zUlVGQlUyRXNSMEZETVVRc1NVRkJTVzlDTEVWQlFVczFRaXhGUVVGUE9FTXNSVUZCWjBKRExFVkJRV2RDYUVNc1JVRkJSMFVzUlVGQlMzRkNMRVZCUVhkQ2JrSXNSVUZCUzBNc1JVRk5ja1lzU1VGQlMydENMRXRCVEV3NVFpeEpRVUZWUVN4RlFVRlJMRWRCUTJ4Q1dpeExRVUZMYzBNc1UwRkJVek5DTEVWQlFVMWFMRVZCUVZOaExFZEJRemRDWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1d0RUxGRkJRelZDZGtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMZDBNc1QwRkJUemRDTEVWQlFVMWFMRVZCUVZOaExFZEJRVk1zU1VGQlRVUXNSVUZCU3l0Q0xFMUJRMnBGYmtJc1JVRkJUVm9zUlVGQlMzbERMRkZCUlVvM1JDeEZRVUZSV1N4TFFVRkxiMElzUlVGQlMyMUNMRXRCUTNaQ1ZpeEZRVUZOVkN4RlFVRkpiVUlzUjBGRFZqRkRMRXRCUVVzclFpeFZRVUZWUXl4RlFVRkxha01zUlVGQlUyRXNTVUZKTDBJc1IwRkVRWFZETEVWQlFXOURMRXRCUkhCRFJDeEZRVUZwUW5aRExFVkJRVXRsTEZOQlFWTkRMRkZCUTFNc1MwRkJUMmhDTEVWQlFVdGxMRk5CUVZNc1IwRkRkRU1zU1VGQmJrSjNRaXhIUVVGM1FuWkRMRVZCUVV0bExGTkJRVk15UWl4TlFVRk5MRk5CUVZORExFZEJRM1pFTEU5QlFWRkJMRVZCUVVWRExFOUJRVk51UlN4RlFVRlRiMFVzVFVGQlVVWXNSVUZCUlVNc1QwRkJVMjVGTEVWQlFWTnhSU3hOUVVGdlFpeExRVUZhU0N4RlFVRkZTU3hSUVVVNVJETkVMRVZCUVZFMFJDeFpRVU5XTTBRc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUwc1MwRkRiRUpzUXl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVRlBkRUlzUlVGQlN5dENMRXRCUVU4c1QwRkZja016UXl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFd4RExFVkJRVkVyUXl4cFFrRkJiVUlzV1VGRk1VTXNTVUZCU1M5RExFVkJRVkUyUkN4UlFVRTJRaXhKUVVGdVFsWXNSMEZCZVVKRExFVkJRV1ZKTEU5QlFWTnVSU3hGUVVGVGIwVXNUVUZCVVV3c1JVRkJaVWtzVDBGQlUyNUZMRVZCUVZOeFJTeExRVUZwUXl4TlFVRjRRazRzUlVGQlpVOHNUVUZWYWtvc1EwRkpUQ3hKUVVoQk1VUXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMHNTVUZCVFdwRExFdEJRVXRWTEZGQlFWRkRMRVZCUVUxYUxFVkJRVk5oTEVsQlEzQkVZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXWGRFTEZWQlJYWkNNVUlzUlVGQlNTeEZRVUZIUlN4SFFVUmFSeXhGUVVGUFlpeEZRVUZMWlN4VlFVTlhReXhQUVVGUlVpeEZRVUZKUlN4RlFVRkxSaXhKUVVOMFEyWXNSVUZCVVc5Q0xFVkJRVXRNTEVkQlEySnVRaXhMUVVGTE9FSXNaVUZCWlRGQ0xFVkJRVTlNTEVWQlFWTmhMRVZCUVZFc1IwRkZPVU5pTEVWQlFWRmxMRTFCUVZGNlFpeEZRVUZaTUVJc1UwRkROVUptTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOYWtNc1MwRkJTM2RETEU5QlFVODNRaXhGUVVGTldpeEZRVUZUWVN4SFFVRlRMRXRCUVU5RUxFVkJRVXNyUWl4TFFVRlBMRlZCYkVKNlJURkRMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5MRXRCUTJ4Q2JFTXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWbDNSQ3hWUVVNMVFqbERMRVZCUVZFNFJDeDFRa0ZEVnl4RlFVTnVRamRFTEV0QlFVczRRaXhsUVVGbGNVSXNSVUZCWjBKd1JDeEZRVUZUWVN4RlFVRlJMRWRCUTNKRVlpeEZRVUZST0VRc2RVSkJRMWNzUlVGRGJrSTVSQ3hGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVVGUGRFSXNSVUZCU3l0Q0xFdEJRVThzUzBGamRrTXNUMEZHUVRGRExFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmFrTXNTMEZCUzFVc1VVRkJVVU1zUlVGQlRWb3NSVUZCVTJFc1NVRkRPVU5pTEVWQlFWRmxMRTFCUVZGNlFpeEZRVUZaTUVRc1MwRkRja0l2UXl4TFFVRkxaMFFzVlVGQlZYSkRMRVZCUVUxYUxFVkJRVk5oTEVsQlIzWkRaaXhGUVVGblFsY3NWVUZCVlhORUxITkNRVUYzUWl4VFFVRlRia1FzUlVGQlRWb3NSVUZCVTJFc1IwRkRlRVVzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlRaRUxITkNRVUZ6UWpORUxFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlIzSkhaaXhGUVVGblFsY3NWVUZCVlhWRUxFbEJRVTBzVTBGQlUzQkVMRVZCUVUxYUxFVkJRVk5oTEVkQlEzUkVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlU0UkN4SlFVRkpOVVFzUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZIYmtabUxFVkJRV2RDVnl4VlFVRlZkMFFzUzBGQlR5eFRRVUZUY2tRc1JVRkJUVm9zUlVGQlUyRXNSMEZEZGtRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZTdEVMRXRCUVVzM1JDeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVZHdSbVlzUlVGQlowSlhMRlZCUVZWNVJDeFhRVUZoTEZOQlFWTjBSQ3hGUVVGTldpeEZRVUZUWVN4SFFVTTNSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWWjBVc1YwRkJWemxFTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUnpGR1ppeEZRVUZuUWxjc1ZVRkJWVEJFTEZkQlFXRXNVMEZCVTNaRUxFVkJRVTFhTEVWQlFWTmhMRWRCUXpkRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVnBSU3hYUVVGWEwwUXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhNVVptTEVWQlFXZENWeXhWUVVGVk1rUXNWVUZCV1N4VFFVRlRlRVFzUlVGQlRWb3NSVUZCVTJFc1IwRkROVVFzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVld0RkxGVkJRVlZvUlN4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVkNlJtWXNSVUZCWjBKWExGVkJRVlUwUkN4WlFVRmpMRk5CUVZONlJDeEZRVUZOV2l4RlFVRlRZU3hIUVVNNVJDeFBRVUZQV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFhCRExFVkJRV2RDU1N4VlFVRlZiVVVzV1VGQldXcEZMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSM0JHWml4RlFTOUtNRUlzUzBGdFMyeERUU3hMUVVGTFNDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZOMGNtVmhiVmR5YVhSbGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL1hNTFdyaXRlckJhc2VcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsdCl9cmV0dXJuIGZ1bmN0aW9uKHQsbil7Zm9yKHZhciByIGluIG4pZS5jYWxsKG4scikmJih0W3JdPW5bcl0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9bi5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189bi5wcm90b3R5cGV9KHIsdCksci5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxsO2ZvcihlPXRoaXMuZmlsdGVyT3B0aW9ucyhlKSxpPVwiXCIscj0wLG89KGw9dC5jaGlsZHJlbikubGVuZ3RoO3I8bztyKyspbj1sW3JdLGkrPXRoaXMud3JpdGVDaGlsZE5vZGUobixlLDApO3JldHVybiBlLnByZXR0eSYmaS5zbGljZSgtZS5uZXdsaW5lLmxlbmd0aCk9PT1lLm5ld2xpbmUmJihpPWkuc2xpY2UoMCwtZS5uZXdsaW5lLmxlbmd0aCkpLGl9LHJ9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbWx1WjFkeWFYUmxjaTVxY3lKZExDSnVZVzFsY3lJNld5SllUVXhYY21sMFpYSkNZWE5sSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVUzUnlhVzVuVjNKcGRHVnlJaXdpYjNCMGFXOXVjeUlzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKa2IyTjFiV1Z1ZENJc0ltUnZZeUlzSW1raUxDSnNaVzRpTENKeUlpd2ljbVZtSWl3aVptbHNkR1Z5VDNCMGFXOXVjeUlzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aWQzSnBkR1ZEYUdsc1pFNXZaR1VpTENKd2NtVjBkSGtpTENKemJHbGpaU0lzSW01bGQyeHBibVVpWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCY1VKQkxFVkJSVzVDUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFXZENSeXhSUVVGUkxHMUNRVVY0UWtNc1QwRkJUME1zVVVGQk5FSXNVMEZCVlVNc1IwRkhNME1zVTBGQlUwTXNSVUZCWjBKRExFZEJRM1pDUkN4RlFVRm5Ra1VzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVb3NSMEZyUW01RUxFOUJNMEpUTEZOQlFWTkxMRVZCUVU5RExFZEJRVlVzU1VGQlN5eEpRVUZKUXl4TFFVRlBSQ3hGUVVGallpeEZRVUZSVlN4TFFVRkxSeXhGUVVGUlF5eExRVUZOUml4RlFVRk5SU3hIUVVGUFJDeEZRVUZQUXl4SlFVRlJMRk5CUVZORExFbEJRVk5LTEV0QlFVdEdMRmxCUVdOSExFVkJRVk5ITEVWQlFVdERMRlZCUVZsSUxFVkJRVTlITEZWQlFWZEtMRVZCUVUxSkxGVkJRVmtzU1VGQlNVUXNSVUZCVVVnc1JVRkJUVW9zVlVGQldVc3NSVUZCVDBjc1ZVRk5hRkZETEVOQlFVOVlMRVZCZFVKT1VDeEhRV3BDUkU4c1JVRkJaMEpWTEZWQlFWVkZMRk5CUVZjc1UwRkJVME1zUlVGQlMxb3NSMEZEYWtRc1NVRkJTVXNzUlVGQlQxRXNSVUZCUjBNc1JVRkJTME1zUlVGQlIwTXNSVUZKZEVJc1NVRklRV2hDTEVWQlFWVkpMRXRCUVV0aExHTkJRV05xUWl4SFFVTTNRbVVzUlVGQlNTeEhRVVZEUml4RlFVRkpMRVZCUVVkRExFZEJSRnBGTEVWQlFVMUtMRVZCUVVsTkxGVkJRMWxETEU5QlFWRk9MRVZCUVVsRExFVkJRVXRFTEVsQlEzSkRVaXhGUVVGUlZ5eEZRVUZKU0N4SFFVTmFSU3hIUVVGTFdDeExRVUZMWjBJc1pVRkJaV1lzUlVGQlQwd3NSVUZCVXl4SFFVc3pReXhQUVVoSlFTeEZRVUZSY1VJc1VVRkJWVTRzUlVGQlJVOHNUMEZCVDNSQ0xFVkJRVkYxUWl4UlFVRlJTaXhWUVVGWmJrSXNSVUZCVVhWQ0xGVkJRMnBGVWl4RlFVRkpRU3hGUVVGRlR5eE5RVUZOTEVkQlFVbDBRaXhGUVVGUmRVSXNVVUZCVVVvc1UwRkZNMEpLTEVkQlIwWm9RaXhGUVhSQ01FSXNTMEV3UW14RFNTeExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URk4wY21sdVoxZHlhWFJsY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbih0LG8pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KG8sYXJndW1lbnRzKX19LG89e30uaGFzT3duUHJvcGVydHk7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKG4pe3ZhciByLGksZTtmb3IociBpbiB0aGlzLmFzc2VydExlZ2FsTmFtZT10KHRoaXMuYXNzZXJ0TGVnYWxOYW1lLHRoaXMpLHRoaXMuYXNzZXJ0TGVnYWxDaGFyPXQodGhpcy5hc3NlcnRMZWdhbENoYXIsdGhpcyksbnx8KG49e30pLHRoaXMub3B0aW9ucz1uLHRoaXMub3B0aW9ucy52ZXJzaW9ufHwodGhpcy5vcHRpb25zLnZlcnNpb249XCIxLjBcIiksaT1uLnN0cmluZ2lmeXx8e30pby5jYWxsKGkscikmJihlPWlbcl0sdGhpc1tyXT1lKX1yZXR1cm4gbi5wcm90b3R5cGUubmFtZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxOYW1lKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcih0aGlzLnRleHRFc2NhcGUoXCJcIit0fHxcIlwiKSl9LG4ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KHQ9KHQ9XCJcIit0fHxcIlwiKS5yZXBsYWNlKFwiXV0+XCIsXCJdXV1dPjwhW0NEQVRBWz5cIiksdGhpcy5hc3NlcnRMZWdhbENoYXIodCkpfSxuLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvLS0vKSl0aHJvdyBuZXcgRXJyb3IoXCJDb21tZW50IHRleHQgY2Fubm90IGNvbnRhaW4gZG91YmxlLWh5cGVuOiBcIit0KTtyZXR1cm4gdGhpcy5hc3NlcnRMZWdhbENoYXIodCl9LG4ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OlwiXCIrdHx8XCJcIn0sbi5wcm90b3R5cGUuYXR0VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcih0aGlzLmF0dEVzY2FwZSh0PVwiXCIrdHx8XCJcIikpfSxuLnByb3RvdHlwZS5pbnNUYXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5pbnNWYWx1ZT1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCh0PVwiXCIrdHx8XCJcIikubWF0Y2goL1xcPz4vKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gdmFsdWU6IFwiK3QpO3JldHVybiB0aGlzLmFzc2VydExlZ2FsQ2hhcih0KX0sbi5wcm90b3R5cGUueG1sVmVyc2lvbj1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCEodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC8xXFwuWzAtOV0rLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB2ZXJzaW9uIG51bWJlcjogXCIrdCk7cmV0dXJuIHR9LG4ucHJvdG90eXBlLnhtbEVuY29kaW5nPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoISh0PVwiXCIrdHx8XCJcIikubWF0Y2goL15bQS1aYS16XSg/OltBLVphLXowLTkuXy1dKSokLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBlbmNvZGluZzogXCIrdCk7cmV0dXJuIHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpfSxuLnByb3RvdHlwZS54bWxTdGFuZGFsb25lPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dD9cInllc1wiOlwibm9cIn0sbi5wcm90b3R5cGUuZHRkUHViSUQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRTeXNJRD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEVsZW1lbnRWYWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEF0dFR5cGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRBdHREZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkRW50aXR5VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRORGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmNvbnZlcnRBdHRLZXk9XCJAXCIsbi5wcm90b3R5cGUuY29udmVydFBJS2V5PVwiP1wiLG4ucHJvdG90eXBlLmNvbnZlcnRUZXh0S2V5PVwiI3RleHRcIixuLnByb3RvdHlwZS5jb252ZXJ0Q0RhdGFLZXk9XCIjY2RhdGFcIixuLnByb3RvdHlwZS5jb252ZXJ0Q29tbWVudEtleT1cIiNjb21tZW50XCIsbi5wcm90b3R5cGUuY29udmVydFJhd0tleT1cIiNyYXdcIixuLnByb3RvdHlwZS5hc3NlcnRMZWdhbENoYXI9ZnVuY3Rpb24odCl7dmFyIG8sbjtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKG89XCJcIixcIjEuMFwiPT09dGhpcy5vcHRpb25zLnZlcnNpb24pe2lmKG89L1tcXDAtXFx4MDhcXHgwQlxcZlxceDBFLVxceDFGXFx1RkZGRVxcdUZGRkZdfFtcXHVEODAwLVxcdURCRkZdKD8hW1xcdURDMDAtXFx1REZGRl0pfCg/OlteXFx1RDgwMC1cXHVEQkZGXXxeKVtcXHVEQzAwLVxcdURGRkZdLyxuPXQubWF0Y2gobykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gc3RyaW5nOiBcIit0K1wiIGF0IGluZGV4IFwiK24uaW5kZXgpfWVsc2UgaWYoXCIxLjFcIj09PXRoaXMub3B0aW9ucy52ZXJzaW9uJiYobz0vW1xcMFxcdUZGRkVcXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXS8sbj10Lm1hdGNoKG8pKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBzdHJpbmc6IFwiK3QrXCIgYXQgaW5kZXggXCIrbi5pbmRleCk7cmV0dXJuIHR9LG4ucHJvdG90eXBlLmFzc2VydExlZ2FsTmFtZT1mdW5jdGlvbih0KXt2YXIgbztpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpLG89L14oWzpBLVpfYS16XFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF18W1xcdUQ4MDAtXFx1REI3Rl1bXFx1REMwMC1cXHVERkZGXSkoW1xceDJEXFwuMC06QS1aX2EtelxceEI3XFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDXFx1MjAwRFxcdTIwM0ZcXHUyMDQwXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXXxbXFx1RDgwMC1cXHVEQjdGXVtcXHVEQzAwLVxcdURGRkZdKSokLywhdC5tYXRjaChvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBuYW1lXCIpO3JldHVybiB0fSxuLnByb3RvdHlwZS50ZXh0RXNjYXBlPWZ1bmN0aW9uKHQpe3ZhciBvO3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KG89dGhpcy5vcHRpb25zLm5vRG91YmxlRW5jb2Rpbmc/Lyg/ISZcXFMrOykmL2c6LyYvZyx0LnJlcGxhY2UobyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvPi9nLFwiJmd0O1wiKS5yZXBsYWNlKC9cXHIvZyxcIiYjeEQ7XCIpKX0sbi5wcm90b3R5cGUuYXR0RXNjYXBlPWZ1bmN0aW9uKHQpe3ZhciBvO3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KG89dGhpcy5vcHRpb25zLm5vRG91YmxlRW5jb2Rpbmc/Lyg/ISZcXFMrOykmL2c6LyYvZyx0LnJlcGxhY2UobyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvXCIvZyxcIiZxdW90O1wiKS5yZXBsYWNlKC9cXHQvZyxcIiYjeDk7XCIpLnJlcGxhY2UoL1xcbi9nLFwiJiN4QTtcIikucmVwbGFjZSgvXFxyL2csXCImI3hEO1wiKSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbWx1WjJsbWFXVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSnBibVFpTENKbWJpSXNJbTFsSWl3aVlYQndiSGtpTENKaGNtZDFiV1Z1ZEhNaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVTNSeWFXNW5hV1pwWlhJaUxDSnZjSFJwYjI1eklpd2lhMlY1SWl3aWNtVm1JaXdpZG1Gc2RXVWlMQ0owYUdseklpd2lZWE56WlhKMFRHVm5ZV3hPWVcxbElpd2lZWE56WlhKMFRHVm5ZV3hEYUdGeUlpd2lkbVZ5YzJsdmJpSXNJbk4wY21sdVoybG1lU0lzSW1OaGJHd2lMQ0p3Y205MGIzUjVjR1VpTENKdVlXMWxJaXdpZG1Gc0lpd2libTlXWVd4cFpHRjBhVzl1SWl3aWRHVjRkQ0lzSW5SbGVIUkZjMk5oY0dVaUxDSmpaR0YwWVNJc0luSmxjR3hoWTJVaUxDSmpiMjF0Wlc1MElpd2liV0YwWTJnaUxDSkZjbkp2Y2lJc0luSmhkeUlzSW1GMGRGWmhiSFZsSWl3aVlYUjBSWE5qWVhCbElpd2lhVzV6VkdGeVoyVjBJaXdpYVc1elZtRnNkV1VpTENKNGJXeFdaWEp6YVc5dUlpd2llRzFzUlc1amIyUnBibWNpTENKNGJXeFRkR0Z1WkdGc2IyNWxJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltUjBaRVZzWlcxbGJuUldZV3gxWlNJc0ltUjBaRUYwZEZSNWNHVWlMQ0prZEdSQmRIUkVaV1poZFd4MElpd2laSFJrUlc1MGFYUjVWbUZzZFdVaUxDSmtkR1JPUkdGMFlTSXNJbU52Ym5abGNuUkJkSFJMWlhraUxDSmpiMjUyWlhKMFVFbExaWGtpTENKamIyNTJaWEowVkdWNGRFdGxlU0lzSW1OdmJuWmxjblJEUkdGMFlVdGxlU0lzSW1OdmJuWmxjblJEYjIxdFpXNTBTMlY1SWl3aVkyOXVkbVZ5ZEZKaGQwdGxlU0lzSW5OMGNpSXNJbkpsWjJWNElpd2ljbVZ6SWl3aWFXNWtaWGdpTENKaGJYQnlaV2RsZUNJc0ltNXZSRzkxWW14bFJXNWpiMlJwYm1jaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGRFJVRXNSVUZCVHl4VFFVRlRReXhGUVVGSlF5eEhRVUZMTEU5QlFVOHNWMEZCV1N4UFFVRlBSQ3hGUVVGSFJTeE5RVUZOUkN4RlFVRkpSU3hoUVVOb1JVTXNSVUZCVlN4SFFVRkhReXhsUVVWbVF5eFBRVUZQUXl4UlFVRXlRaXhYUVVOb1F5eFRRVUZUUXl4RlFVRmxReXhIUVVkMFFpeEpRVUZKUXl4RlFVRkxReXhGUVVGTFF5eEZRVTlrTEVsQlFVdEdMRXRCVkV4SExFdEJRVXRETEdkQ1FVRnJRbVlzUlVGQlMyTXNTMEZCUzBNc1owSkJRV2xDUkN4TlFVTnNSRUVzUzBGQlMwVXNaMEpCUVd0Q2FFSXNSVUZCUzJNc1MwRkJTMFVzWjBKQlFXbENSaXhOUVVWc1JFb3NTVUZCV1VFc1JVRkJWU3hKUVVOMFFra3NTMEZCUzBvc1VVRkJWVUVzUlVGRFZra3NTMEZCUzBvc1VVRkJVVThzVlVGRGFFSklMRXRCUVV0S0xGRkJRVkZQTEZGQlFWVXNUMEZGZWtKTUxFVkJRVTFHTEVWQlFWRlJMRmRCUVdFc1IwRkZjRUppTEVWQlFWRmpMRXRCUVV0UUxFVkJRVXRFTEV0QlEzWkNSU3hGUVVGUlJDeEZRVUZKUkN4SFFVTmFSeXhMUVVGTFNDeEhRVUZQUlN4SFFYVk9hRUlzVDBGdVRrRktMRVZCUVdWWExGVkJRVlZETEV0QlFVOHNVMEZCVTBNc1IwRkRka01zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTME1zWjBKQlFXZENMRWRCUVV0UExFZEJRVThzUzBGSE1VTmlMRVZCUVdWWExGVkJRVlZKTEV0QlFVOHNVMEZCVTBZc1IwRkRka01zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENSaXhMUVVGTFZ5eFhRVUZYTEVkQlFVdElMRWRCUVU4c1RVRkhNVVJpTEVWQlFXVlhMRlZCUVZWTkxFMUJRVkVzVTBGQlUwb3NSMEZEZUVNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUjBGSFZFRXNSMEZFUVVFc1JVRkJUU3hIUVVGTFFTeEhRVUZQTEVsQlExSkxMRkZCUVZFc1RVRkJUeXh0UWtGRGJFSmlMRXRCUVV0RkxHZENRVUZuUWswc1MwRkhPVUppTEVWQlFXVlhMRlZCUVZWUkxGRkJRVlVzVTBGQlUwNHNSMEZETVVNc1IwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRaaXhQUVVGUFJDeEZRVWRVTEVsQlJFRkJMRVZCUVUwc1IwRkJTMEVzUjBGQlR5eEpRVU5XVHl4TlFVRk5MRTFCUTFvc1RVRkJUU3hKUVVGSlF5eE5RVUZOTERaRFFVRXJRMUlzUjBGRmFrVXNUMEZCVDFJc1MwRkJTMFVzWjBKQlFXZENUU3hKUVVjNVFtSXNSVUZCWlZjc1ZVRkJWVmNzU1VGQlRTeFRRVUZUVkN4SFFVTjBReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHTEVkQlFVdEJMRWRCUVU4c1NVRkhja0ppTEVWQlFXVlhMRlZCUVZWWkxGTkJRVmNzVTBGQlUxWXNSMEZETTBNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDUml4TFFVRkxiVUlzVlVGQlZWZ3NSVUZCVFN4SFFVRkxRU3hIUVVGUExFMUJSeTlFWWl4RlFVRmxWeXhWUVVGVll5eFZRVUZaTEZOQlFWTmFMRWRCUXpWRExFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVWlNMRXRCUVV0RkxHZENRVUZuUWl4SFFVRkxUU3hIUVVGUExFdEJSekZEWWl4RlFVRmxWeXhWUVVGVlpTeFRRVUZYTEZOQlFWTmlMRWRCUXpORExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4SlFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVms4c1RVRkJUU3hQUVVOYUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN4NVEwRkJNa05TTEVkQlJUZEVMRTlCUVU5U0xFdEJRVXRGTEdkQ1FVRm5RazBzU1VGSE9VSmlMRVZCUVdWWExGVkJRVlZuUWl4WFFVRmhMRk5CUVZOa0xFZEJRemRETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hMUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWRThzVFVGQlRTeGhRVU5pTEUxQlFVMHNTVUZCU1VNc1RVRkJUU3d5UWtGQk5rSlNMRWRCUlM5RExFOUJRVTlCTEVkQlIxUmlMRVZCUVdWWExGVkJRVlZwUWl4WlFVRmpMRk5CUVZObUxFZEJRemxETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hMUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWRThzVFVGQlRTeHBRMEZEWWl4TlFVRk5MRWxCUVVsRExFMUJRVTBzY1VKQlFYVkNVaXhIUVVWNlF5eFBRVUZQVWl4TFFVRkxSU3huUWtGQlowSk5MRWxCUnpsQ1lpeEZRVUZsVnl4VlFVRlZhMElzWTBGQlowSXNVMEZCVTJoQ0xFZEJRMmhFTEU5QlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlExSkVMRVZCUlV4QkxFVkJRMHNzVFVGRlFTeE5RVWxZWWl4RlFVRmxWeXhWUVVGVmJVSXNVMEZCVnl4VFFVRlRha0lzUjBGRE0wTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ0xFZEJRVXROTEVkQlFVOHNTMEZITVVOaUxFVkJRV1ZYTEZWQlFWVnZRaXhUUVVGWExGTkJRVk5zUWl4SFFVTXpReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWEZDTEdkQ1FVRnJRaXhUUVVGVGJrSXNSMEZEYkVRc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDTEVkQlFVdE5MRWRCUVU4c1MwRkhNVU5pTEVWQlFXVlhMRlZCUVZWelFpeFhRVUZoTEZOQlFWTndRaXhIUVVNM1F5eFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYVkNMR05CUVdkQ0xGTkJRVk55UWl4SFFVTm9SQ3hQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWGRDTEdWQlFXbENMRk5CUVZOMFFpeEhRVU5xUkN4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhsQ0xGTkJRVmNzVTBGQlUzWkNMRWRCUXpORExFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVWlNMRXRCUVV0RkxHZENRVUZuUWl4SFFVRkxUU3hIUVVGUExFdEJSekZEWWl4RlFVRmxWeXhWUVVGVk1FSXNZMEZCWjBJc1NVRkZla055UXl4RlFVRmxWeXhWUVVGVk1rSXNZVUZCWlN4SlFVVjRRM1JETEVWQlFXVlhMRlZCUVZVMFFpeGxRVUZwUWl4UlFVVXhRM1pETEVWQlFXVlhMRlZCUVZVMlFpeG5Ra0ZCYTBJc1UwRkZNME40UXl4RlFVRmxWeXhWUVVGVk9FSXNhMEpCUVc5Q0xGZEJSVGREZWtNc1JVRkJaVmNzVlVGQlZTdENMR05CUVdkQ0xFOUJSWHBETVVNc1JVRkJaVmNzVlVGQlZVb3NaMEpCUVd0Q0xGTkJRVk52UXl4SFFVTnNSQ3hKUVVGSlF5eEZRVUZQUXl4RlFVTllMRWRCUVVsNFF5eExRVUZMU2l4UlFVRlJZU3hoUVVObUxFOUJRVTgyUWl4RlFVZFVMRWRCUkVGRExFVkJRVkVzUjBGRGNVSXNVVUZCZWtKMlF5eExRVUZMU2l4UlFVRlJUeXhUUVVWbUxFZEJSRUZ2UXl4RlFVRlJMR2RJUVVOS1F5eEZRVUZOUml4RlFVRkpka0lzVFVGQlRYZENMRWRCUTJ4Q0xFMUJRVTBzU1VGQlNYWkNMRTFCUVUwc1owTkJRV3REYzBJc1JVRkJUU3hoUVVGbFJTeEZRVUZKUXl4WlFVVjRSU3hIUVVFMlFpeFJRVUY2UW5wRExFdEJRVXRLTEZGQlFWRlBMRlZCUTNSQ2IwTXNSVUZCVVN3MFJrRkRTa01zUlVGQlRVWXNSVUZCU1haQ0xFMUJRVTEzUWl4SlFVTnNRaXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MR2REUVVGclEzTkNMRVZCUVUwc1lVRkJaVVVzUlVGQlNVTXNUMEZITDBVc1QwRkJUMGdzUjBGSFZETkRMRVZCUVdWWExGVkJRVlZNTEdkQ1FVRnJRaXhUUVVGVGNVTXNSMEZEYkVRc1NVRkJTVU1zUlVGRFNpeEhRVUZKZGtNc1MwRkJTMG9zVVVGQlVXRXNZVUZEWml4UFFVRlBOa0lzUlVGSlZDeEhRVVpCZEVNc1MwRkJTMFVzWjBKQlFXZENiME1zUjBGRGNrSkRMRVZCUVZFc1oxaEJRMGhFTEVWQlFVbDJRaXhOUVVGTmQwSXNSMEZEWWl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTERaQ1FVVnNRaXhQUVVGUGMwSXNSMEZIVkRORExFVkJRV1ZYTEZWQlFWVkxMRmRCUVdFc1UwRkJVekpDTEVkQlF6ZERMRWxCUVVsSkxFVkJRMG9zVDBGQlNURkRMRXRCUVV0S0xGRkJRVkZoTEdGQlExSTJRaXhIUVVWVVNTeEZRVUZYTVVNc1MwRkJTMG9zVVVGQlVTdERMR2xDUVVGdFFpeGpRVUZuUWl4TFFVTndSRXdzUlVGQlNYcENMRkZCUVZFMlFpeEZRVUZWTEZOQlFWTTNRaXhSUVVGUkxFdEJRVTBzVVVGQlVVRXNVVUZCVVN4TFFVRk5MRkZCUVZGQkxGRkJRVkVzVFVGQlR5eFhRVWR1UjJ4Q0xFVkJRV1ZYTEZWQlFWVmhMRlZCUVZrc1UwRkJVMjFDTEVkQlF6VkRMRWxCUVVsSkxFVkJRMG9zVDBGQlNURkRMRXRCUVV0S0xGRkJRVkZoTEdGQlExSTJRaXhIUVVWVVNTeEZRVUZYTVVNc1MwRkJTMG9zVVVGQlVTdERMR2xDUVVGdFFpeGpRVUZuUWl4TFFVTndSRXdzUlVGQlNYcENMRkZCUVZFMlFpeEZRVUZWTEZOQlFWTTNRaXhSUVVGUkxFdEJRVTBzVVVGQlVVRXNVVUZCVVN4TFFVRk5MRlZCUVZWQkxGRkJRVkVzVFVGQlR5eFRRVUZUUVN4UlFVRlJMRTFCUVU4c1UwRkJVMEVzVVVGQlVTeE5RVUZQTEZkQlJ6bEpiRUlzUlVGeVQzbENMRXRCZVU5cVExVXNTMEZCUzB3aUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhUZEhKcGJtZHBabWxsY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gaShlLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgZWxlbWVudCB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjdGV4dFwiLHRoaXMudHlwZT10LlRleHQsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS50ZXh0KG8pfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKW8uY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShpLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLnByb3RvdHlwZSxcImlzRWxlbWVudENvbnRlbnRXaGl0ZXNwYWNlXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGkucHJvdG90eXBlLFwid2hvbGVUZXh0XCIse2dldDpmdW5jdGlvbigpe3ZhciB0LGUsbztmb3Iobz1cIlwiLGU9dGhpcy5wcmV2aW91c1NpYmxpbmc7ZTspbz1lLmRhdGErbyxlPWUucHJldmlvdXNTaWJsaW5nO2ZvcihvKz10aGlzLmRhdGEsdD10aGlzLm5leHRTaWJsaW5nO3Q7KW8rPXQuZGF0YSx0PXQubmV4dFNpYmxpbmc7cmV0dXJuIG99fSksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIudGV4dCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGkucHJvdG90eXBlLnNwbGl0VGV4dD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxpLnByb3RvdHlwZS5yZXBsYWNlV2hvbGVUZXh0PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LGl9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGUmxlSFF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RGFHRnlZV04wWlhKRVlYUmhJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNVkdWNGRDSXNJbkJoY21WdWRDSXNJblJsZUhRaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKdVlXMWxJaXdpZEhsd1pTSXNJbFJsZUhRaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpYm1WNGRDSXNJbkJ5WlhZaUxDSnpkSElpTENKd2NtVjJhVzkxYzFOcFlteHBibWNpTENKa1lYUmhJaXdpYm1WNGRGTnBZbXhwYm1jaUxDSmpiRzl1WlNJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnpjR3hwZEZSbGVIUWlMQ0p2Wm1aelpYUWlMQ0p5WlhCc1lXTmxWMmh2YkdWVVpYaDBJaXdpWTI5dWRHVnVkQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlZReXhGUVVWYVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaSUxFVkJRVmRKTEZGQlFWRXNZMEZGYmtKSUxFVkJRVzFDUnl4UlFVRlJMSE5DUVVVelFrTXNUMEZCVDBNc1VVRkJiMElzVTBGQlZVTXNSMEZIYmtNc1UwRkJVME1zUlVGQlVVTXNSVUZCVVVNc1IwRkZka0lzUjBGRVFVWXNSVUZCVVVjc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVXdzUjBGRE4wSXNUVUZCVWtNc1JVRkRSaXhOUVVGTkxFbEJRVWxMTEUxQlFVMHNlVUpCUVRKQ1JDeExRVUZMUlN4aFFVVnNSRVlzUzBGQlMwY3NTMEZCVHl4UlFVTmFTQ3hMUVVGTFNTeExRVUZQYkVJc1JVRkJVMjFDTEV0QlEzSkNUQ3hMUVVGTFRTeE5RVUZSVGl4TFFVRkxUeXhWUVVGVldDeExRVUZMUVN4SFFUUkRia01zVDBFM1JGTXNVMEZCVTFrc1JVRkJUMklzUjBGQlZTeEpRVUZMTEVsQlFVbGpMRXRCUVU5a0xFVkJRV05RTEVWQlFWRlhMRXRCUVV0S0xFVkJRVkZqTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlrTEVWQlFVOWpMRWxCUVZFc1UwRkJVME1zU1VGQlUxWXNTMEZCUzBZc1dVRkJZMVVzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXV2hDTEVWQlFVOW5RaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMVlMRlZCUVZsR0xFVkJRVTluUWl4VlFWRm9VVU1zUTBGQlQyeENMRVZCZFVST1VDeEhRVE5EUkRCQ0xFOUJRVTlETEdWQlFXVndRaXhGUVVGUmFVSXNWVUZCVnl3MlFrRkJPRUlzUTBGRGNrVkpMRWxCUVVzc1YwRkRTQ3hOUVVGTkxFbEJRVWxrTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZYTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZSYVVJc1ZVRkJWeXhaUVVGaExFTkJRM0JFU1N4SlFVRkxMRmRCUTBnc1NVRkJTVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkhhRUlzU1VGR1FVRXNSVUZCVFN4SFFVTk9SQ3hGUVVGUGFrSXNTMEZCUzIxQ0xHZENRVU5NUml4SFFVTk1ReXhGUVVGTlJDeEZRVUZMUnl4TFFVRlBSaXhGUVVOc1FrUXNSVUZCVDBFc1JVRkJTMFVzWjBKQlNXUXNTVUZHUVVRc1IwRkJUMnhDTEV0QlFVdHZRaXhMUVVOYVNpeEZRVUZQYUVJc1MwRkJTM0ZDTEZsQlEweE1MRWRCUTB4RkxFZEJRVmxHTEVWQlFVdEpMRXRCUTJwQ1NpeEZRVUZQUVN4RlFVRkxTeXhaUVVWa0xFOUJRVTlJTEV0QlNWaDRRaXhGUVVGUmFVSXNWVUZCVlZjc1RVRkJVU3hYUVVONFFpeFBRVUZQVkN4UFFVRlBWU3hQUVVGUGRrSXNUMEZIZGtKT0xFVkJRVkZwUWl4VlFVRlZZU3hUUVVGWExGTkJRVk5ETEVkQlEzQkRMRTlCUVU5NlFpeExRVUZMZVVJc1VVRkJVVU1zVDBGQlR6bENMRXRCUVV0SkxFdEJRVTFCTEV0QlFVdDVRaXhSUVVGUlF5eFBRVUZQUXl4alFVRmpSaXhMUVVjeFJTOUNMRVZCUVZGcFFpeFZRVUZWYVVJc1ZVRkJXU3hUUVVGVFF5eEhRVU55UXl4TlFVRk5MRWxCUVVrMVFpeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSU0xFVkJRVkZwUWl4VlFVRlZiVUlzYVVKQlFXMUNMRk5CUVZORExFZEJRelZETEUxQlFVMHNTVUZCU1RsQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWQ0UkZJc1JVRjBSR3RDTEV0Qk1FUXhRa3NzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4VVpYaDBMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciBlLHQsbixzPXt9Lmhhc093blByb3BlcnR5O249cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5hc3NpZ24sZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxyZXF1aXJlKFwiLi9YTUxEb2NUeXBlXCIpLHJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLHJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIikscmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxyZXF1aXJlKFwiLi9YTUxSYXdcIikscmVxdWlyZShcIi4vWE1MVGV4dFwiKSxyZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIikscmVxdWlyZShcIi4vWE1MRHVtbXlcIikscmVxdWlyZShcIi4vWE1MRFREQXR0TGlzdFwiKSxyZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHJlcXVpcmUoXCIuL1hNTERUREVudGl0eVwiKSxyZXF1aXJlKFwiLi9YTUxEVEROb3RhdGlvblwiKSx0PXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlKXt2YXIgdCxuLG87Zm9yKHQgaW4gZXx8KGU9e30pLHRoaXMub3B0aW9ucz1lLG49ZS53cml0ZXJ8fHt9KXMuY2FsbChuLHQpJiYobz1uW3RdLHRoaXNbXCJfXCIrdF09dGhpc1t0XSx0aGlzW3RdPW8pfXJldHVybiBvLnByb3RvdHlwZS5maWx0ZXJPcHRpb25zPWZ1bmN0aW9uKGUpe3ZhciBzLG8sYSxpLHIsbCx1LHA7cmV0dXJuIGV8fChlPXt9KSxlPW4oe30sdGhpcy5vcHRpb25zLGUpLChzPXt3cml0ZXI6dGhpc30pLnByZXR0eT1lLnByZXR0eXx8ITEscy5hbGxvd0VtcHR5PWUuYWxsb3dFbXB0eXx8ITEscy5pbmRlbnQ9bnVsbCE9KG89ZS5pbmRlbnQpP286XCIgIFwiLHMubmV3bGluZT1udWxsIT0oYT1lLm5ld2xpbmUpP2E6XCJcXG5cIixzLm9mZnNldD1udWxsIT0oaT1lLm9mZnNldCk/aTowLHMuZG9udFByZXR0eVRleHROb2Rlcz1udWxsIT0ocj1udWxsIT0obD1lLmRvbnRQcmV0dHlUZXh0Tm9kZXMpP2w6ZS5kb250cHJldHR5dGV4dG5vZGVzKT9yOjAscy5zcGFjZUJlZm9yZVNsYXNoPW51bGwhPSh1PW51bGwhPShwPWUuc3BhY2VCZWZvcmVTbGFzaCk/cDplLnNwYWNlYmVmb3Jlc2xhc2gpP3U6XCJcIiwhMD09PXMuc3BhY2VCZWZvcmVTbGFzaCYmKHMuc3BhY2VCZWZvcmVTbGFzaD1cIiBcIikscy5zdXBwcmVzc1ByZXR0eUNvdW50PTAscy51c2VyPXt9LHMuc3RhdGU9dC5Ob25lLHN9LG8ucHJvdG90eXBlLmluZGVudD1mdW5jdGlvbihlLHQsbil7dmFyIHM7cmV0dXJuIXQucHJldHR5fHx0LnN1cHByZXNzUHJldHR5Q291bnQ/XCJcIjp0LnByZXR0eSYmKHM9KG58fDApK3Qub2Zmc2V0KzEpPjA/bmV3IEFycmF5KHMpLmpvaW4odC5pbmRlbnQpOlwiXCJ9LG8ucHJvdG90eXBlLmVuZGxpbmU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiF0LnByZXR0eXx8dC5zdXBwcmVzc1ByZXR0eUNvdW50P1wiXCI6dC5uZXdsaW5lfSxvLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBzO3JldHVybiB0aGlzLm9wZW5BdHRyaWJ1dGUoZSx0LG4pLHM9XCIgXCIrZS5uYW1lKyc9XCInK2UudmFsdWUrJ1wiJyx0aGlzLmNsb3NlQXR0cmlidXRlKGUsdCxuKSxzfSxvLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFbQ0RBVEFbXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1cIl1dPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIlxceDNjIS0tIFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9XCIgLS1cXHgzZVwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8P3htbFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9JyB2ZXJzaW9uPVwiJytlLnZlcnNpb24rJ1wiJyxudWxsIT1lLmVuY29kaW5nJiYobys9JyBlbmNvZGluZz1cIicrZS5lbmNvZGluZysnXCInKSxudWxsIT1lLnN0YW5kYWxvbmUmJihvKz0nIHN0YW5kYWxvbmU9XCInK2Uuc3RhbmRhbG9uZSsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPz5cIixvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kb2NUeXBlPWZ1bmN0aW9uKGUsbixzKXt2YXIgbyxhLGkscixsO2lmKHN8fChzPTApLHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLHI9dGhpcy5pbmRlbnQoZSxuLHMpLHIrPVwiPCFET0NUWVBFIFwiK2Uucm9vdCgpLm5hbWUsZS5wdWJJRCYmZS5zeXNJRD9yKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnN5c0lEJiYocis9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksZS5jaGlsZHJlbi5sZW5ndGg+MCl7Zm9yKHIrPVwiIFtcIixyKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsYT0wLGk9KGw9ZS5jaGlsZHJlbikubGVuZ3RoO2E8aTthKyspbz1sW2FdLHIrPXRoaXMud3JpdGVDaGlsZE5vZGUobyxuLHMrMSk7bi5zdGF0ZT10LkNsb3NlVGFnLHIrPVwiXVwifXJldHVybiBuLnN0YXRlPXQuQ2xvc2VUYWcscis9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiLHIrPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLHJ9LG8ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24obixvLGEpe3ZhciBpLHIsbCx1LHAsZCxoLGMseSxULGYsTixnLEQ7Zm9yKHkgaW4gYXx8KGE9MCksVD0hMSxmPVwiXCIsdGhpcy5vcGVuTm9kZShuLG8sYSksby5zdGF0ZT10Lk9wZW5UYWcsZis9dGhpcy5pbmRlbnQobixvLGEpK1wiPFwiK24ubmFtZSxOPW4uYXR0cmlicylzLmNhbGwoTix5KSYmKGk9Tlt5XSxmKz10aGlzLmF0dHJpYnV0ZShpLG8sYSkpO2lmKHU9MD09PShsPW4uY2hpbGRyZW4ubGVuZ3RoKT9udWxsOm4uY2hpbGRyZW5bMF0sMD09PWx8fG4uY2hpbGRyZW4uZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuKHQudHlwZT09PWUuVGV4dHx8dC50eXBlPT09ZS5SYXcpJiZcIlwiPT09dC52YWx1ZX0pKW8uYWxsb3dFbXB0eT8oZis9XCI+XCIsby5zdGF0ZT10LkNsb3NlVGFnLGYrPVwiPC9cIituLm5hbWUrXCI+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKSk6KG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1vLnNwYWNlQmVmb3JlU2xhc2grXCIvPlwiK3RoaXMuZW5kbGluZShuLG8sYSkpO2Vsc2UgaWYoIW8ucHJldHR5fHwxIT09bHx8dS50eXBlIT09ZS5UZXh0JiZ1LnR5cGUhPT1lLlJhd3x8bnVsbD09dS52YWx1ZSl7aWYoby5kb250UHJldHR5VGV4dE5vZGVzKWZvcihwPTAsaD0oZz1uLmNoaWxkcmVuKS5sZW5ndGg7cDxoO3ArKylpZigoKHI9Z1twXSkudHlwZT09PWUuVGV4dHx8ci50eXBlPT09ZS5SYXcpJiZudWxsIT1yLnZhbHVlKXtvLnN1cHByZXNzUHJldHR5Q291bnQrKyxUPSEwO2JyZWFrfWZvcihmKz1cIj5cIit0aGlzLmVuZGxpbmUobixvLGEpLG8uc3RhdGU9dC5JbnNpZGVUYWcsZD0wLGM9KEQ9bi5jaGlsZHJlbikubGVuZ3RoO2Q8YztkKyspcj1EW2RdLGYrPXRoaXMud3JpdGVDaGlsZE5vZGUocixvLGErMSk7by5zdGF0ZT10LkNsb3NlVGFnLGYrPXRoaXMuaW5kZW50KG4sbyxhKStcIjwvXCIrbi5uYW1lK1wiPlwiLFQmJm8uc3VwcHJlc3NQcmV0dHlDb3VudC0tLGYrPXRoaXMuZW5kbGluZShuLG8sYSksby5zdGF0ZT10Lk5vbmV9ZWxzZSBmKz1cIj5cIixvLnN0YXRlPXQuSW5zaWRlVGFnLG8uc3VwcHJlc3NQcmV0dHlDb3VudCsrLFQ9ITAsZis9dGhpcy53cml0ZUNoaWxkTm9kZSh1LG8sYSsxKSxvLnN1cHByZXNzUHJldHR5Q291bnQtLSxUPSExLG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1cIjwvXCIrbi5uYW1lK1wiPlwiK3RoaXMuZW5kbGluZShuLG8sYSk7cmV0dXJuIHRoaXMuY2xvc2VOb2RlKG4sbyxhKSxmfSxvLnByb3RvdHlwZS53cml0ZUNoaWxkTm9kZT1mdW5jdGlvbih0LG4scyl7c3dpdGNoKHQudHlwZSl7Y2FzZSBlLkNEYXRhOnJldHVybiB0aGlzLmNkYXRhKHQsbixzKTtjYXNlIGUuQ29tbWVudDpyZXR1cm4gdGhpcy5jb21tZW50KHQsbixzKTtjYXNlIGUuRWxlbWVudDpyZXR1cm4gdGhpcy5lbGVtZW50KHQsbixzKTtjYXNlIGUuUmF3OnJldHVybiB0aGlzLnJhdyh0LG4scyk7Y2FzZSBlLlRleHQ6cmV0dXJuIHRoaXMudGV4dCh0LG4scyk7Y2FzZSBlLlByb2Nlc3NpbmdJbnN0cnVjdGlvbjpyZXR1cm4gdGhpcy5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odCxuLHMpO2Nhc2UgZS5EdW1teTpyZXR1cm5cIlwiO2Nhc2UgZS5EZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kZWNsYXJhdGlvbih0LG4scyk7Y2FzZSBlLkRvY1R5cGU6cmV0dXJuIHRoaXMuZG9jVHlwZSh0LG4scyk7Y2FzZSBlLkF0dHJpYnV0ZURlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEF0dExpc3QodCxuLHMpO2Nhc2UgZS5FbGVtZW50RGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkRWxlbWVudCh0LG4scyk7Y2FzZSBlLkVudGl0eURlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEVudGl0eSh0LG4scyk7Y2FzZSBlLk5vdGF0aW9uRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkTm90YXRpb24odCxuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBYTUwgbm9kZSB0eXBlOiBcIit0LmNvbnN0cnVjdG9yLm5hbWUpfX0sby5wcm90b3R5cGUucHJvY2Vzc2luZ0luc3RydWN0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8P1wiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS50YXJnZXQsZS52YWx1ZSYmKG8rPVwiIFwiK2UudmFsdWUpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI/PlwiLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLnJhdz1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUudGV4dD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkQXR0TGlzdD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFBVFRMSVNUXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLmVsZW1lbnROYW1lK1wiIFwiK2UuYXR0cmlidXRlTmFtZStcIiBcIitlLmF0dHJpYnV0ZVR5cGUsXCIjREVGQVVMVFwiIT09ZS5kZWZhdWx0VmFsdWVUeXBlJiYobys9XCIgXCIrZS5kZWZhdWx0VmFsdWVUeXBlKSxlLmRlZmF1bHRWYWx1ZSYmKG8rPScgXCInK2UuZGVmYXVsdFZhbHVlKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkRWxlbWVudD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFFTEVNRU5UXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLm5hbWUrXCIgXCIrZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEVudGl0eT1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFFTlRJVFlcIixuLnN0YXRlPXQuSW5zaWRlVGFnLGUucGUmJihvKz1cIiAlXCIpLG8rPVwiIFwiK2UubmFtZSxlLnZhbHVlP28rPScgXCInK2UudmFsdWUrJ1wiJzooZS5wdWJJRCYmZS5zeXNJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnN5c0lEJiYobys9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksZS5uRGF0YSYmKG8rPVwiIE5EQVRBIFwiK2UubkRhdGEpKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZE5vdGF0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IU5PVEFUSU9OXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLm5hbWUsZS5wdWJJRCYmZS5zeXNJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnB1YklEP28rPScgUFVCTElDIFwiJytlLnB1YklEKydcIic6ZS5zeXNJRCYmKG8rPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUub3Blbk5vZGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUuY2xvc2VOb2RlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLm9wZW5BdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUuY2xvc2VBdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe30sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZkeWFYUmxja0poYzJVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWGNtbDBaWEpUZEdGMFpTSXNJbUZ6YzJsbmJpSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVYzSnBkR1Z5UW1GelpTSXNJbTl3ZEdsdmJuTWlMQ0pyWlhraUxDSnlaV1lpTENKMllXeDFaU0lzSW5Sb2FYTWlMQ0ozY21sMFpYSWlMQ0pqWVd4c0lpd2ljSEp2ZEc5MGVYQmxJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbVpwYkhSbGNtVmtUM0IwYVc5dWN5SXNJbkpsWmpFaUxDSnlaV1l5SWl3aWNtVm1NeUlzSW5KbFpqUWlMQ0p5WldZMUlpd2ljbVZtTmlJc0luQnlaWFIwZVNJc0ltRnNiRzkzUlcxd2RIa2lMQ0pwYm1SbGJuUWlMQ0p1Wlhkc2FXNWxJaXdpYjJabWMyVjBJaXdpWkc5dWRGQnlaWFIwZVZSbGVIUk9iMlJsY3lJc0ltUnZiblJ3Y21WMGRIbDBaWGgwYm05a1pYTWlMQ0p6Y0dGalpVSmxabTl5WlZOc1lYTm9JaXdpYzNCaFkyVmlaV1p2Y21WemJHRnphQ0lzSW5OMWNIQnlaWE56VUhKbGRIUjVRMjkxYm5RaUxDSjFjMlZ5SWl3aWMzUmhkR1VpTENKT2IyNWxJaXdpYm05a1pTSXNJbXhsZG1Wc0lpd2lhVzVrWlc1MFRHVjJaV3dpTENKQmNuSmhlU0lzSW1wdmFXNGlMQ0psYm1Sc2FXNWxJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBJaXdpY2lJc0ltOXdaVzVCZEhSeWFXSjFkR1VpTENKdVlXMWxJaXdpWTJ4dmMyVkJkSFJ5YVdKMWRHVWlMQ0pqWkdGMFlTSXNJbTl3Wlc1T2IyUmxJaXdpVDNCbGJsUmhaeUlzSWtsdWMybGtaVlJoWnlJc0lrTnNiM05sVkdGbklpd2lZMnh2YzJWT2IyUmxJaXdpWTI5dGJXVnVkQ0lzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZMVI1Y0dVaUxDSmphR2xzWkNJc0lta2lMQ0pzWlc0aUxDSnliMjkwSWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aWQzSnBkR1ZEYUdsc1pFNXZaR1VpTENKbGJHVnRaVzUwSWl3aVkyaHBiR1JPYjJSbFEyOTFiblFpTENKbWFYSnpkRU5vYVd4a1RtOWtaU0lzSW1vaUxDSnNaVzR4SWl3aWNISmxkSFI1VTNWd2NISmxjM05sWkNJc0ltRjBkSEpwWW5NaUxDSmxkbVZ5ZVNJc0ltVWlMQ0owZVhCbElpd2lWR1Y0ZENJc0lsSmhkeUlzSWtORVlYUmhJaXdpUTI5dGJXVnVkQ0lzSWtWc1pXMWxiblFpTENKeVlYY2lMQ0owWlhoMElpd2lVSEp2WTJWemMybHVaMGx1YzNSeWRXTjBhVzl1SWl3aWNISnZZMlZ6YzJsdVowbHVjM1J5ZFdOMGFXOXVJaXdpUkhWdGJYa2lMQ0pFWldOc1lYSmhkR2x2YmlJc0lrUnZZMVI1Y0dVaUxDSkJkSFJ5YVdKMWRHVkVaV05zWVhKaGRHbHZiaUlzSW1SMFpFRjBkRXhwYzNRaUxDSkZiR1Z0Wlc1MFJHVmpiR0Z5WVhScGIyNGlMQ0prZEdSRmJHVnRaVzUwSWl3aVJXNTBhWFI1UkdWamJHRnlZWFJwYjI0aUxDSmtkR1JGYm5ScGRIa2lMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVpIUmtUbTkwWVhScGIyNGlMQ0pGY25KdmNpSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWRHRnlaMlYwSWl3aVpXeGxiV1Z1ZEU1aGJXVWlMQ0poZEhSeWFXSjFkR1ZPWVcxbElpd2lZWFIwY21saWRYUmxWSGx3WlNJc0ltUmxabUYxYkhSV1lXeDFaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1VpTENKd1pTSXNJbTVFWVhSaElsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVEpOUXl4RlFVTjJUa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVFJ5eFJRVUZSTEdGQlFXRklMRTlCUlRsQ1JpeEZRVUZYU3l4UlFVRlJMR05CUlVaQkxGRkJRVkVzYjBKQlJWcEJMRkZCUVZFc1owSkJSVlpCTEZGQlFWRXNZMEZGVGtFc1VVRkJVU3huUWtGRlVrRXNVVUZCVVN4blFrRkZXa0VzVVVGQlVTeFpRVVZRUVN4UlFVRlJMR0ZCUlZOQkxGRkJRVkVzT0VKQlJYaENRU3hSUVVGUkxHTkJSVWhCTEZGQlFWRXNiVUpCUlZKQkxGRkJRVkVzYlVKQlJWUkJMRkZCUVZFc2EwSkJSVTVCTEZGQlFWRXNiMEpCUlhwQ1NpeEZRVUZqU1N4UlFVRlJMR2xDUVVWMFFrTXNUMEZCVDBNc1VVRkJNRUlzVjBGREwwSXNVMEZCVTBNc1JVRkJZME1zUjBGRGNrSXNTVUZCU1VNc1JVRkJTME1zUlVGQlMwTXNSVUZKWkN4SlFVRkxSaXhMUVVoTVJDeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1NTeExRVUZMU2l4UlFVRlZRU3hGUVVObVJTeEZRVUZOUml4RlFVRlJTeXhSUVVGVkxFZEJSV3BDV0N4RlFVRlJXU3hMUVVGTFNpeEZRVUZMUkN4TFFVTjJRa1VzUlVGQlVVUXNSVUZCU1VRc1IwRkRXa2NzUzBGQlN5eEpRVUZOU0N4SFFVRlBSeXhMUVVGTFNDeEhRVU4yUWtjc1MwRkJTMGdzUjBGQlQwVXNSMEYzV0doQ0xFOUJjRmhCU2l4RlFVRmpVU3hWUVVGVlF5eGpRVUZuUWl4VFFVRlRVaXhIUVVNdlF5eEpRVUZKVXl4RlFVRnBRbEFzUlVGQlMxRXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGdFFuaEVMRTlCYkVKQlppeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1FTeEZRVUZWVUN4RlFVRlBMRWRCUVVsWExFdEJRVXRLTEZGQlFWTkJMRWxCUTI1RFV5eEZRVUZyUWl4RFFVTm9Ra29zVDBGQlVVUXNUMEZGVFZrc1QwRkJVMmhDTEVWQlFWRm5RaXhUUVVGVkxFVkJRek5EVUN4RlFVRm5RbEVzVjBGQllXcENMRVZCUVZGcFFpeGhRVUZqTEVWQlEyNUVVaXhGUVVGblFsTXNUMEZCYlVNc1QwRkJla0pvUWl4RlFVRk5SaXhGUVVGUmEwSXNVVUZCYTBKb1FpeEZRVUZOTEV0QlEyaEZUeXhGUVVGblFsVXNVVUZCYzBNc1QwRkJNMEpVTEVWQlFVOVdMRVZCUVZGdFFpeFRRVUZ0UWxRc1JVRkJUeXhMUVVOd1JVUXNSVUZCWjBKWExFOUJRVzlETEU5QlFURkNWQ3hGUVVGUFdDeEZRVUZSYjBJc1VVRkJhMEpVTEVWQlFVOHNSVUZEYkVWR0xFVkJRV2RDV1N4dlFrRkJiMGdzVDBGQk4wWlVMRVZCUVN0RExFOUJRWFpEUXl4RlFVRlBZaXhGUVVGUmNVSXNjVUpCUVN0Q1VpeEZRVUZQWWl4RlFVRlJjMElzY1VKQlFTdENWaXhGUVVGUExFVkJRMnhLU0N4RlFVRm5RbU1zYVVKQlFUSkhMRTlCUVhaR1ZDeEZRVUUwUXl4UFFVRndRME1zUlVGQlQyWXNSVUZCVVhWQ0xHdENRVUUwUWxJc1JVRkJUMllzUlVGQlVYZENMR3RDUVVFMFFsWXNSVUZCVHl4SlFVTm9SeXhKUVVGeVEwd3NSVUZCWjBKakxHMUNRVU5zUW1Rc1JVRkJaMEpqTEdsQ1FVRnRRaXhMUVVWeVEyUXNSVUZCWjBKblFpeHZRa0ZCYzBJc1JVRkRkRU5vUWl4RlFVRm5RbWxDTEV0QlFVOHNSMEZEZGtKcVFpeEZRVUZuUW10Q0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE4wSnVRaXhIUVVkVVZpeEZRVUZqVVN4VlFVRlZWeXhQUVVGVExGTkJRVk5YTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtRc1NVRkJTVU1zUlVGRFNpeFBRVUZMTDBJc1JVRkJVV2RDTEZGQlFWVm9RaXhGUVVGUmVVSXNiMEpCUTNSQ0xFZEJRMFY2UWl4RlFVRlJaMElzVTBGRGFrSmxMRWRCUVdWRUxFZEJRVk1zUjBGQlN6bENMRVZCUVZGdlFpeFBRVUZUTEVkQlF6VkNMRVZCUTFRc1NVRkJTVmtzVFVGQlRVUXNSMEZCWVVVc1MwRkJTMnBETEVWQlFWRnJRaXhSUVVkNFF5eEpRVWRVYmtJc1JVRkJZMUVzVlVGQlZUSkNMRkZCUVZVc1UwRkJVMHdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU40UkN4UFFVRkxPVUlzUlVGQlVXZENMRkZCUVZWb1FpeEZRVUZSZVVJc2IwSkJRM1JDTEVkQlJVRjZRaXhGUVVGUmJVSXNVMEZKYmtKd1FpeEZRVUZqVVN4VlFVRlZORUlzVlVGQldTeFRRVUZUUXl4RlFVRkxjRU1zUlVGQlV6aENMRWRCUTNwRUxFbEJRVWxQTEVWQlNVb3NUMEZJUVdwRExFdEJRVXRyUXl4alFVRmpSaXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRMnBEVHl4RlFVRkpMRWxCUVUxRUxFVkJRVWxITEV0QlFVOHNTMEZCVDBnc1JVRkJTV3BETEUxQlFWRXNTVUZEZUVORExFdEJRVXR2UXl4bFFVRmxTaXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRek5DVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVld0RExFMUJRVkVzVTBGQlUxb3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjBSQ3hKUVVGSlR5eEZRVlZLTEU5QlZFRnFReXhMUVVGTGMwTXNVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNM1FqbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzFFTEZGQlF6VkNUaXhGUVVGSmFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVUZUTEZsQlEzaERPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkROVUpRTEVkQlFVdFNMRVZCUVVzeFFpeE5RVU5XU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTeXhOUVVGUmFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhMUVVNMVFuaENMRXRCUVVzd1F5eFZRVUZWYWtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOMlFrOHNSMEZIVkhSRExFVkJRV05STEZWQlFWVjNReXhSUVVGVkxGTkJRVk5zUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNoRUxFbEJRVWxQTEVWQlZVb3NUMEZVUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNWMEZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCUzFJc1JVRkJTekZDTEUxQlExWklMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTExGVkJRVk5xUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXhRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhsRExGbEJRV01zVTBGQlUyNUNMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROVVFzU1VGQlNVOHNSVUZwUWtvc1QwRm9Ra0ZxUXl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVGVExGRkJRM2hET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXNzWVVGQlpWSXNSVUZCUzI5Q0xGRkJRVlVzU1VGRFpDeE5RVUZxUW5CQ0xFVkJRVXR4UWl4WFFVTlFZaXhIUVVGTExHTkJRV2RDVWl4RlFVRkxjVUlzVTBGQlZ5eExRVVZvUWl4TlFVRnVRbkpDTEVWQlFVdHpRaXhoUVVOUVpDeEhRVUZMTEdkQ1FVRnJRbElzUlVGQlMzTkNMRmRCUVdFc1MwRkZNME51UkN4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTMEZEYUVOakxFZEJRVXRxUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnFRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlRaRExGRkJRVlVzVTBGQlUzWkNMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRlRVFzU1VGQlNYVkNMRVZCUVU5RExFVkJRVWRETEVWQlFVdHNRaXhGUVVGSGJrTXNSVUZYZEVJc1IwRldRVFJDTEVsQlFWVkJMRVZCUVZFc1IwRkRiRUl4UWl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNdlFrOHNSMEZCU3l4aFFVRmxVaXhGUVVGTE1rSXNUMEZCVDJwQ0xFdEJRelZDVml4RlFVRkxORUlzVDBGQlV6VkNMRVZCUVVzMlFpeE5RVU55UW5KQ0xFZEJRVXNzV1VGQlkxSXNSVUZCU3pSQ0xFMUJRVkVzVFVGQlVUVkNMRVZCUVVzMlFpeE5RVUZSTEVsQlF6VkROMElzUlVGQlN6WkNMRkZCUTJSeVFpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMlFpeE5RVUZSTEV0QlJUbENOMElzUlVGQlN6aENMRk5CUVZORExFOUJRVk1zUlVGQlJ5eERRVXMxUWl4SlFVcEJka0lzUjBGQlN5eExRVU5NUVN4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVVjJRbFVzUlVGQlNTeEZRVUZIUXl4SFFVUmFja1FzUlVGQlRUSkNMRVZCUVVzNFFpeFZRVU5YUXl4UFFVRlJUaXhGUVVGSlF5eEZRVUZMUkN4SlFVTnlRMFFzUlVGQlVXNUVMRVZCUVVsdlJDeEhRVU5hYWtJc1IwRkJTMnBETEV0QlFVdDVSQ3hsUVVGbFVpeEZRVUZQY2tRc1JVRkJVemhDTEVWQlFWRXNSMEZGYmtRNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCU3l4SlFVOVFMRTlCVEVGeVF5eEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzU1VGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYVkVMRkZCUVZVc1UwRkJVMnBETEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVRc1NVRkJTVTBzUlVGQlMybENMRVZCUVU5VkxFVkJRV2RDUXl4RlFVRm5RbFlzUlVGQlIxY3NSVUZCUjFZc1JVRkJTMWNzUlVGQlRUTkNMRVZCUVUwMFFpeEZRVUZyUWpsQ0xFVkJRVWR1UXl4RlFVRkxVU3hGUVVGTlF5eEZRVkYyUnl4SlFVRkxORUlzUzBGUVRGUXNTVUZCVlVFc1JVRkJVU3hIUVVOc1FuRkRMRWRCUVcxQ0xFVkJRMjVDT1VJc1JVRkJTU3hIUVVOS2FrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSMEZCUzJwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkJVeXhKUVVGTlJDeEZRVUZMVlN4TFFVTndSSEpETEVWQlFVMHlRaXhGUVVGTGRVTXNVVUZGU2pGRkxFVkJRVkZaTEV0QlFVdEtMRVZCUVV0eFF5eExRVU4yUWtnc1JVRkJUV3hETEVWQlFVbHhReXhIUVVOV1JpeEhRVUZMYWtNc1MwRkJTeXRDTEZWQlFWVkRMRVZCUVV0d1F5eEZRVUZUT0VJc1NVRkpjRU1zUjBGRVFXdERMRVZCUVc5RExFdEJSSEJEUkN4RlFVRnBRbXhETEVWQlFVczRRaXhUUVVGVFF5eFJRVU5UTEV0QlFVOHZRaXhGUVVGTE9FSXNVMEZCVXl4SFFVTjBReXhKUVVGdVFra3NSMEZCZDBKc1F5eEZRVUZMT0VJc1UwRkJVMVVzVFVGQlRTeFRRVUZUUXl4SFFVTjJSQ3hQUVVGUlFTeEZRVUZGUXl4UFFVRlRhRVlzUlVGQlUybEdMRTFCUVZGR0xFVkJRVVZETEU5QlFWTm9SaXhGUVVGVGEwWXNUVUZCYjBJc1MwRkJXa2dzUlVGQlJXNUZMRkZCUlRsRVNDeEZRVUZSYVVJc1dVRkRWbTlDTEVkQlFVc3NTVUZEVEhKRExFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMTEV0QlFVOVNMRVZCUVV0VkxFdEJRVThzU1VGQlRXNURMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRXRCUlRGRU9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEV0QlFVOXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhUUVVWb1JTeEpRVUZKT1VJc1JVRkJVV2RDTEZGQlFUWkNMRWxCUVc1Q0swTXNSMEZCZVVKRExFVkJRV1ZQTEU5QlFWTm9SaXhGUVVGVGFVWXNUVUZCVVZJc1JVRkJaVThzVDBGQlUyaEdMRVZCUVZOclJpeExRVUZwUXl4TlFVRjRRbFFzUlVGQlpUZEVMRTFCVldwS0xFTkJRMHdzUjBGQlNVZ3NSVUZCVVhGQ0xHOUNRVVZXTEVsQlFVdHBReXhGUVVGSkxFVkJRVWRETEVkQlJGbzNReXhGUVVGUGJVSXNSVUZCU3poQ0xGVkJRMWRETEU5QlFWRk9MRVZCUVVsRExFVkJRVXRFTEVsQlJYUkRMRXRCUkVGRUxFVkJRVkV6UXl4RlFVRkxORU1zU1VGRFJtbENMRTlCUVZOb1JpeEZRVUZUYVVZc1RVRkJVVzVDTEVWQlFVMXJRaXhQUVVGVGFFWXNSVUZCVTJ0R0xFMUJRWGRDTEUxQlFXWndRaXhGUVVGTmJFUXNUVUZCWjBJc1EwRkRNVVpJTEVWQlFWRjVRaXh6UWtGRFVqQkRMRWRCUVcxQ0xFVkJRMjVDTEUxQlQwNHNTVUZJUVRsQ0xFZEJRVXNzU1VGQlRXcERMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRmRrSnhRaXhGUVVGSkxFVkJRVWRETEVkQlJGcDJSQ3hGUVVGUGEwSXNSVUZCU3poQ0xGVkJRMWxETEU5QlFWRkxMRVZCUVVsRExFVkJRVTFFTEVsQlEzaERXaXhGUVVGUk1VTXNSVUZCUzNORUxFZEJRMkkxUWl4SFFVRkxha01zUzBGQlMzbEVMR1ZCUVdWU0xFVkJRVTl5UkN4RlFVRlRPRUlzUlVGQlVTeEhRVVZ1UkRsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVRlRMRXRCUVU5RUxFVkJRVXRWTEV0QlFVOHNTVUZEZUVRMFFpeEhRVU5HYmtVc1JVRkJVWGxDTEhOQ1FVVldXU3hIUVVGTGFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhWUVd4RE5VSlRMRWRCUVVzc1NVRkRUSEpETEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDTlVNc1JVRkJVWGxDTEhOQ1FVTlNNRU1zUjBGQmJVSXNSVUZEYmtJNVFpeEhRVUZMYWtNc1MwRkJTM2xFTEdWQlFXVkhMRVZCUVdkQ2FFVXNSVUZCVXpoQ0xFVkJRVkVzUjBGRE1VUTVRaXhGUVVGUmVVSXNjMEpCUTFJd1F5eEhRVUZ0UWl4RlFVTnVRbTVGTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxMRXRCUVU5U0xFVkJRVXRWTEV0QlFVOHNTVUZCVFc1RExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJOa0kxUkN4UFFVUkJNVUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWE5FTEdWQlFXbENMRk5CUVZOb1F5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlF5OUVMRTlCUVZGRUxFVkJRVXN3UXl4TlFVTllMRXRCUVV0b1JpeEZRVUZUYlVZc1RVRkRXaXhQUVVGUGRFVXNTMEZCUzNGRExFMUJRVTFhTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYmtNc1MwRkJTM1pETEVWQlFWTnZSaXhSUVVOYUxFOUJRVTkyUlN4TFFVRkxNa01zVVVGQlVXeENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRja01zUzBGQlMzWkRMRVZCUVZOeFJpeFJRVU5hTEU5QlFVOTRSU3hMUVVGTE1FUXNVVUZCVVdwRExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGNrTXNTMEZCUzNaRExFVkJRVk5yUml4SlFVTmFMRTlCUVU5eVJTeExRVUZMZVVVc1NVRkJTV2hFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNc1MwRkJTM1pETEVWQlFWTnBSaXhMUVVOYUxFOUJRVTl3UlN4TFFVRkxNRVVzUzBGQlMycEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRiRU1zUzBGQlMzWkRMRVZCUVZOM1JpeHpRa0ZEV2l4UFFVRlBNMFVzUzBGQlN6UkZMSE5DUVVGelFtNUVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRia1FzUzBGQlMzWkRMRVZCUVZNd1JpeE5RVU5hTEUxQlFVOHNSMEZEVkN4TFFVRkxNVVlzUlVGQlV6SkdMRmxCUTFvc1QwRkJUemxGTEV0QlFVczBReXhaUVVGWmJrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjZReXhMUVVGTGRrTXNSVUZCVXpSR0xGRkJRMW9zVDBGQlR5OUZMRXRCUVV0blJDeFJRVUZSZGtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOeVF5eExRVUZMZGtNc1JVRkJVelpHTEhGQ1FVTmFMRTlCUVU5b1JpeExRVUZMYVVZc1YwRkJWM2hFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVNc1MwRkJTM1pETEVWQlFWTXJSaXh0UWtGRFdpeFBRVUZQYkVZc1MwRkJTMjFHTEZkQlFWY3hSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM2hETEV0QlFVdDJReXhGUVVGVGFVY3NhMEpCUTFvc1QwRkJUM0JHTEV0QlFVdHhSaXhWUVVGVk5VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJReXhMUVVGTGRrTXNSVUZCVTIxSExHOUNRVU5hTEU5QlFVOTBSaXhMUVVGTGRVWXNXVUZCV1RsRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVrTXNVVUZEUlN4TlFVRk5MRWxCUVVrNFJDeE5RVUZOTERCQ1FVRTBRaTlFTEVWQlFVdG5SU3haUVVGWmRFUXNVVUZKYmtWNFF5eEZRVUZqVVN4VlFVRlZlVVVzYzBKQlFYZENMRk5CUVZOdVJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzUkZMRWxCUVVsUExFVkJZMG9zVDBGaVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zUzBGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCUzJsRkxFOUJRMDVxUlN4RlFVRkxNVUlzVVVGRFVHdERMRWRCUVVzc1NVRkJUVklzUlVGQlN6RkNMRTlCUld4Q1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzUzBGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYTkZMRWxCUVUwc1UwRkJVMmhFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEY0VRc1NVRkJTVThzUlVGVlNpeFBRVlJCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGREwwSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCU3pGQ0xFMUJRMVpJTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4TFFVTTFRbmhDTEV0QlFVc3dReXhWUVVGVmFrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJRazhzUjBGSFZIUkRMRVZCUVdOUkxGVkJRVlYxUlN4TFFVRlBMRk5CUVZOcVJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzSkVMRWxCUVVsUExFVkJWVW9zVDBGVVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJReTlDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXRTTEVWQlFVc3hRaXhOUVVOV1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzJwRExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnBET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVk9FVXNWMEZCWVN4VFFVRlRlRVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU16UkN4SlFVRkpUeXhGUVdkQ1NpeFBRV1pCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGQlV5eFpRVU40UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ1VDeEhRVUZMTEVsQlFVMVNMRVZCUVV0clJTeFpRVUZqTEVsQlFVMXNSU3hGUVVGTGJVVXNZMEZCWjBJc1NVRkJUVzVGTEVWQlFVdHZSU3hqUVVOMFF5eGhRVUV4UW5CRkxFVkJRVXR4UlN4dFFrRkRVRGRFTEVkQlFVc3NTVUZCVFZJc1JVRkJTM0ZGTEd0Q1FVVmtja1VzUlVGQlMzTkZMR1ZCUTFBNVJDeEhRVUZMTEV0QlFVOVNMRVZCUVV0elJTeGhRVUZsTEV0QlJXeERia2NzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFbEJRVTF1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnNSVGxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVldkR0xGZEJRV0VzVTBGQlV6RkVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRNMFFzU1VGQlNVOHNSVUZWU2l4UFFWUkJha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUlVGQlNXcERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZCVXl4WlFVTjRRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDVUN4SFFVRkxMRWxCUVUxU0xFVkJRVXRWTEV0QlFVOHNTVUZCVFZZc1JVRkJTekZDTEUxQlEyeERTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkJUVzVDTEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEyeEZPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWYTBZc1ZVRkJXU3hUUVVGVE5VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXhSQ3hKUVVGSlR5eEZRWGxDU2l4UFFYaENRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1YwRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU40UW1Zc1JVRkJTM1ZGTEV0QlExQXZSQ3hIUVVGTExFMUJSVkJCTEVkQlFVc3NTVUZCVFZJc1JVRkJTMVVzUzBGRFdsWXNSVUZCU3pGQ0xFMUJRMUJyUXl4SFFVRkxMRXRCUVU5U0xFVkJRVXN4UWl4TlFVRlJMRXRCUlhKQ01FSXNSVUZCU3pSQ0xFOUJRVk0xUWl4RlFVRkxOa0lzVFVGRGNrSnlRaXhIUVVGTExGbEJRV05TTEVWQlFVczBRaXhOUVVGUkxFMUJRVkUxUWl4RlFVRkxOa0lzVFVGQlVTeEpRVU0xUXpkQ0xFVkJRVXMyUWl4UlFVTmtja0lzUjBGQlN5eFpRVUZqVWl4RlFVRkxOa0lzVFVGQlVTeExRVVU1UWpkQ0xFVkJRVXQzUlN4UlFVTlFhRVVzUjBGQlN5eFZRVUZaVWl4RlFVRkxkMFVzVVVGSE1VSnlSeXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkJUVzVDTEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEyeEZPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWYjBZc1dVRkJZeXhUUVVGVE9VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTFSQ3hKUVVGSlR5eEZRV2xDU2l4UFFXaENRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1lVRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTeXhKUVVGTlVpeEZRVUZMVlN4TFFVTmFWaXhGUVVGTE5FSXNUMEZCVXpWQ0xFVkJRVXMyUWl4TlFVTnlRbkpDTEVkQlFVc3NXVUZCWTFJc1JVRkJTelJDTEUxQlFWRXNUVUZCVVRWQ0xFVkJRVXMyUWl4TlFVRlJMRWxCUXpWRE4wSXNSVUZCU3pSQ0xFMUJRMlJ3UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMwUWl4TlFVRlJMRWxCUTNaQ05VSXNSVUZCU3paQ0xGRkJRMlJ5UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMyUWl4TlFVRlJMRXRCUld4RE1VUXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEVsQlFVMXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOc1JUbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWVzFETEZOQlFWY3NVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhMUVVVelJDOUNMRVZCUVdOUkxGVkJRVlYxUXl4VlFVRlpMRk5CUVZOcVFpeEZRVUZOTjBJc1JVRkJVemhDTEV0QlJUVkVMMElzUlVGQlkxRXNWVUZCVlN0Q0xHTkJRV2RDTEZOQlFWTkdMRVZCUVV0d1F5eEZRVUZUT0VJc1MwRkZMMFF2UWl4RlFVRmpVU3hWUVVGVmFVTXNaVUZCYVVJc1UwRkJVMG9zUlVGQlMzQkRMRVZCUVZNNFFpeExRVVY2UkM5Q0xFVkJiRmwzUWl4TFFYTlphRU5QTEV0QlFVdEdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVYzSnBkR1Z5UW1GelpTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIGUscix0LG4saSxvLHUsbCxtLHM7cz1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLGw9cy5hc3NpZ24sbT1zLmlzRnVuY3Rpb24sdD1yZXF1aXJlKFwiLi9YTUxET01JbXBsZW1lbnRhdGlvblwiKSxuPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRDQlwiKSx1PXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxvPXJlcXVpcmUoXCIuL1hNTFN0cmVhbVdyaXRlclwiKSxlPXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHMuY3JlYXRlPWZ1bmN0aW9uKGUscix0LGkpe3ZhciBvLHU7aWYobnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoXCJSb290IGVsZW1lbnQgbmVlZHMgYSBuYW1lLlwiKTtyZXR1cm4gaT1sKHt9LHIsdCxpKSx1PShvPW5ldyBuKGkpKS5lbGVtZW50KGUpLGkuaGVhZGxlc3N8fChvLmRlY2xhcmF0aW9uKGkpLG51bGw9PWkucHViSUQmJm51bGw9PWkuc3lzSUR8fG8uZHRkKGkpKSx1fSxtb2R1bGUuZXhwb3J0cy5iZWdpbj1mdW5jdGlvbihlLHIsdCl7dmFyIG87cmV0dXJuIG0oZSkmJihyPShvPVtlLHJdKVswXSx0PW9bMV0sZT17fSkscj9uZXcgaShlLHIsdCk6bmV3IG4oZSl9LG1vZHVsZS5leHBvcnRzLnN0cmluZ1dyaXRlcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHUoZSl9LG1vZHVsZS5leHBvcnRzLnN0cmVhbVdyaXRlcj1mdW5jdGlvbihlLHIpe3JldHVybiBuZXcgbyhlLHIpfSxtb2R1bGUuZXhwb3J0cy5pbXBsZW1lbnRhdGlvbj1uZXcgdCxtb2R1bGUuZXhwb3J0cy5ub2RlVHlwZT1lLG1vZHVsZS5leHBvcnRzLndyaXRlclN0YXRlPXJ9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lWM0pwZEdWeVUzUmhkR1VpTENKWVRVeEVUMDFKYlhCc1pXMWxiblJoZEdsdmJpSXNJbGhOVEVSdlkzVnRaVzUwSWl3aVdFMU1SRzlqZFcxbGJuUkRRaUlzSWxoTlRGTjBjbVZoYlZkeWFYUmxjaUlzSWxoTlRGTjBjbWx1WjFkeWFYUmxjaUlzSW1GemMybG5iaUlzSW1selJuVnVZM1JwYjI0aUxDSnlaV1lpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltTnlaV0YwWlNJc0ltNWhiV1VpTENKNGJXeGtaV01pTENKa2IyTjBlWEJsSWl3aWIzQjBhVzl1Y3lJc0ltUnZZeUlzSW5KdmIzUWlMQ0pGY25KdmNpSXNJbVZzWlcxbGJuUWlMQ0pvWldGa2JHVnpjeUlzSW1SbFkyeGhjbUYwYVc5dUlpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltUjBaQ0lzSW1KbFoybHVJaXdpYjI1RVlYUmhJaXdpYjI1RmJtUWlMQ0p5WldZeElpd2ljM1J5YVc1blYzSnBkR1Z5SWl3aWMzUnlaV0Z0VjNKcGRHVnlJaXdpYzNSeVpXRnRJaXdpYVcxd2JHVnRaVzUwWVhScGIyNGlMQ0p1YjJSbFZIbHdaU0lzSW5keWFYUmxjbE4wWVhSbElpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGQllVTXNSVUZCYzBKRExFVkJRV0ZETEVWQlFXVkRMRVZCUVdsQ1F5eEZRVUZwUWtNc1JVRkJVVU1zUlVGQldVTXNSVUZGYmtsQkxFVkJRVTFETEZGQlFWRXNZVUZCWTBnc1JVRkJVMFVzUlVGQlNVWXNUMEZCVVVNc1JVRkJZVU1zUlVGQlNVUXNWMEZGYkVWT0xFVkJRWFZDVVN4UlFVRlJMREJDUVVVdlFsQXNSVUZCWTA4c1VVRkJVU3hwUWtGRmRFSk9MRVZCUVdkQ1RTeFJRVUZSTEcxQ1FVVjRRa29zUlVGQmEwSkpMRkZCUVZFc2NVSkJSVEZDVEN4RlFVRnJRa3NzVVVGQlVTeHhRa0ZGTVVKV0xFVkJRVmRWTEZGQlFWRXNZMEZGYmtKVUxFVkJRV05UTEZGQlFWRXNhVUpCUlhSQ1F5eFBRVUZQUXl4UlFVRlJReXhQUVVGVExGTkJRVk5ETEVWQlFVMURMRVZCUVZGRExFVkJRVk5ETEVkQlEzUkVMRWxCUVVsRExFVkJRVXRETEVWQlExUXNSMEZCV1N4TlFVRlNUQ3hGUVVOR0xFMUJRVTBzU1VGQlNVMHNUVUZCVFN3NFFrRlhiRUlzVDBGVVFVZ3NSVUZCVlZZc1JVRkJUeXhIUVVGSlVTeEZRVUZSUXl4RlFVRlRReXhIUVVWMFEwVXNSMEZFUVVRc1JVRkJUU3hKUVVGSlppeEZRVUZaWXl4SlFVTllTU3hSUVVGUlVDeEhRVU5rUnl4RlFVRlJTeXhYUVVOWVNpeEZRVUZKU3l4WlFVRlpUaXhIUVVOTkxFMUJRV3BDUVN4RlFVRlJUeXhQUVVGdlF5eE5RVUZxUWxBc1JVRkJVVkVzVDBGRGRFTlFMRVZCUVVsUkxFbEJRVWxVTEVsQlIweEZMRWRCUjFSU0xFOUJRVTlETEZGQlFWRmxMRTFCUVZFc1UwRkJVMVlzUlVGQlUxY3NSVUZCVVVNc1IwRkRMME1zU1VGQlNVTXNSVUZMU2l4UFFVcEpkRUlzUlVGQlYxTXNTMEZEWVZjc1IwRkJNVUpGTEVWQlFVOHNRMEZCUTJJc1JVRkJVMWNzU1VGQmRVSXNSMEZCU1VNc1JVRkJVVU1zUlVGQlN5eEhRVU42UkdJc1JVRkJWU3hKUVVWU1Z5eEZRVU5MTEVsQlFVbDRRaXhGUVVGallTeEZRVUZUVnl4RlFVRlJReXhIUVVWdVF5eEpRVUZKTVVJc1JVRkJXV01zU1VGSk0wSk9MRTlCUVU5RExGRkJRVkZ0UWl4aFFVRmxMRk5CUVZOa0xFZEJRM0pETEU5QlFVOHNTVUZCU1Znc1JVRkJaMEpYTEVsQlJ6ZENUaXhQUVVGUFF5eFJRVUZSYjBJc1lVRkJaU3hUUVVGVFF5eEZRVUZSYUVJc1IwRkROME1zVDBGQlR5eEpRVUZKV2l4RlFVRm5RalJDTEVWQlFWRm9RaXhKUVVkeVEwNHNUMEZCVDBNc1VVRkJVWE5DTEdWQlFXbENMRWxCUVVsb1F5eEZRVVZ3UTFNc1QwRkJUME1zVVVGQlVYVkNMRk5CUVZkdVF5eEZRVVV4UWxjc1QwRkJUME1zVVVGQlVYZENMRmxCUVdOdVF5eEpRVVUxUW05RExFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdmFXNWtaWGd1YW5NaWZRPT0iLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmxZWFJ0WVhBdVkzTnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMM055WXk5amMzTXZjMlZoZEcxaGNDNWpjM01pZlE9PSIsImltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vY29tbXVuaWNhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Qm9va2luZ0J0bigpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIuZmxhc2hfc2VhdF9tYXBfYm94XCIpLnJlbW92ZSgpO1xuICAgIGNoYW5nZUJvb2tpbmdCdG5DU1MoKTtcbiAgICBhcHBlbmRCb29raW5nQnRuSFRNTCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvd1NlYXRtYXBCdG5QYXJlbnQoKTogdm9pZCB7XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX3NlYXRtYXBfcmVhZHlcIik7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEJvb2tpbmdCdG5IVE1MKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNmbGFzaF9zZWF0X21hcF9ib3hfaWRcIikuYXBwZW5kKGBcbiAgICA8ZGl2IGNsYXNzPVwicm93X3NwYWNlXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvd19zcGFjZVwiPjwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjb250YWluZXJCb29raW5nQnRuXCI+XG4gICAgICAgIDxhIGNsYXNzPVwiY29udGludWVcIiBpZD1cIm9wZW5TZWF0bWFwXCI+XG4gICAgICAgICAgICA8c3Bhbj5TYWFscGxhbmJ1Y2h1bmc8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGRpdiBpZD1cImRpYWxvZ1NlYXRtYXBcIiBoaWRkZW49XCJoaWRkZW5cIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgKTtcbn1cblxuZnVuY3Rpb24gY2hhbmdlQm9va2luZ0J0bkNTUygpOiB2b2lkIHtcbiAgICBqUXVlcnkoJyNmbGFzaF9zZWF0X21hcF9ib3hfaWQnKS5jc3Moe1xuICAgICAgICBcImRpc3BsYXlcIjogXCJibG9ja1wiLFxuICAgICAgICBcInBvc2l0aW9uXCI6IFwicmVsYXRpdmVcIixcbiAgICAgICAgXCJ3aWR0aFwiOiBcIjEwMCVcIlxuICAgIH0pO1xufSIsImltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCAqIGFzIEV2ZW50cyBmcm9tIFwiLi9ldmVudHNcIjtcbmltcG9ydCAqIGFzIENhcnRCdXR0b25zIGZyb20gXCIuL2NhcnRCdXR0b25zXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRJdGVtKGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHsgXG4gICAgY29uc3QgY29sb3I6IHN0cmluZyA9IGAjJHtYTUxIZWxwZXIuZ2V0VmVudWVQcmljZXNjYWxlUHJvcGVydHlCeVByaWNlc2NhbGVJRChcImNvbG9yXCIsIGluU2VhdE9iai5kYXRhLnNlYXRzT2JqLmlkWzBdKX1gO1xuICAgIGNvbnN0IGNhdGVnb3J5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZXNjYWxlUHJvcGVydHlCeVByaWNlc2NhbGVJRChcImRlc2NcIiwgaW5TZWF0T2JqLmRhdGEuc2VhdHNPYmouaWRbMF0pO1xuICAgIGNvbnN0IHNlYXQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW2luU2VhdE9iai5pZF1bNV07XG4gICAgY29uc3Qgcm93OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tpblNlYXRPYmouaWRdWzRdO1xuICAgIGNvbnN0IHNlY3Rpb25JRDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3NbaW5TZWF0T2JqLmlkXVszXTtcbiAgICBjb25zdCBzZWN0aW9uRGVzYzogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFNlY3Rpb25EZXNjQnlTZWN0aW9uSUQoc2VjdGlvbklEKTtcbiAgICBjb25zdCBzZWF0U3RyOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBgJHtzZWN0aW9uRGVzY308YnIvPlJlaWhlICR7cm93fSBQbGF0eiAke3NlYXR9YDtcbiAgICBjb25zdCBidXllclR5cGVzOiBJLlR5cGVCdXllclR5cGUgPSBYTUxIZWxwZXIuZ2V0QnV5ZXJUeXBlc0J5UHJpY2VzY2FsZUlEKGluU2VhdE9iai5kYXRhLnNlYXRzT2JqLmlkWzBdKTtcbiAgICBjb25zdCBjYXJ0SUQ6IHN0cmluZyA9IGBjYXJ0SXRlbS0ke2luU2VhdE9iai5pZH1gO1xuICAgIGNvbnN0IGRyb3Bkb3duQnV5ZXJUeXBlc1NlbGVjdG9yOiBzdHJpbmcgPSBgIyR7Y2FydElEfSAuZHJvcGRvd25CdXllclR5cGVzYDtcblxuICAgIGFwcGVuZEhUTUwoY2FydElELCBjb2xvciwgY2F0ZWdvcnksIHNlYXRTdHIpO1xuICAgIGFkZERyb3Bkb3duQnV5ZXJUeXBlT3B0aW9ucyhidXllclR5cGVzLCBkcm9wZG93bkJ1eWVyVHlwZXNTZWxlY3Rvcik7XG4gICAgRXZlbnRzLmFkZENhcnREcm9wZG93bkJ1eWVyVHlwZXMoZHJvcGRvd25CdXllclR5cGVzU2VsZWN0b3IsIGluU2VhdE9iaik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVDYXJ0SXRlbXMoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2NhcnRJdGVtSFRNTCAuY2FydEl0ZW1cIikuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VkRHJvcGRvd25CdXllclR5cGUoaW5TZWxlY3Q6IEhUTUxTZWxlY3RFbGVtZW50LCBpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmZpbmRJbmRleChhcnIgPT5cbiAgICAgICAgYXJyWzBdID09PSBpblNlYXRPYmouaWQpO1xuXG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnJbaW5kZXhdWzFdID0gaW5TZWxlY3QudmFsdWU7XG4gICAgY29uc3QgYnV5ZXJUeXBlQ29kZSA9IFhNTEhlbHBlci5nZXRCdXllclR5cGVDb2RlQnlCdXllclR5cGVJRChpblNlbGVjdC52YWx1ZSk7XG5cbiAgICBpZiAoYnV5ZXJUeXBlQ29kZSlcbiAgICAgICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnJbaW5kZXhdWzJdID0gYnV5ZXJUeXBlQ29kZTtcblxuICAgIGNhbGNPdmVyYWxsUHJpY2UoKTtcbiAgICBDYXJ0QnV0dG9ucy5zZXRCdG5DYXJ0VGV4dCgpO1xuXG4gICAgY29uc3QgdXJsID0gZ2VuZXJhdGVDaGVja291dFVybCgpO1xuICAgIEV2ZW50cy5hZGRSZWRpcmVjdENoZWNrb3V0KHVybCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjT3ZlcmFsbFByaWNlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpIHtcbiAgICAgICAgY29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbCA9IFwiMFwiO1xuICAgICAgICByZXR1cm4gXCIwXCI7XG4gICAgfVxuXG4gICAgY29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbCA9IHN1bVNlYXRQcmljZXMoKTtcbiAgICByZXR1cm4gY29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbDtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDYXJ0SXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgIHJldHVybjtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmosIGtleSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtrZXldO1xuICAgICAgICAgICAgYWRkSXRlbShlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRNb2RhbENhcnQoKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmhpZGUoKTtcbiAgICBFdmVudHMuYWRkQ2FydEJhY2soKTtcbiAgICBFdmVudHMuYWRkQ2FydENsb3NlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUNoZWNrb3V0VXJsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdEluZGV4ZXM6IHN0cmluZyA9IFhNTEhlbHBlci5nZW5lcmF0ZVNlbGVjdGVkU2VhdEluZGV4ZXMoKTtcbiAgICByZXR1cm4gYCR7aW5wdXRzV2l0aFZhbHVlW1widGlja2V0UHVyY2hhc2VVcmxcIl19P3VzZXJfY29udGV4dD0ke2lucHV0c1dpdGhWYWx1ZS51c2VyX2NvbnRleHR9JnBpZD0ke2lucHV0c1dpdGhWYWx1ZVtcInBpZFwiXX0mc2VsZWN0ZWRfc2VhdF9pbmRleGVzPSR7c2VsZWN0ZWRTZWF0SW5kZXhlc30mdHJ4c3RhdGU9MTQ4YDtcbn1cblxuZnVuY3Rpb24gYXBwZW5kSFRNTChpbkNhcnRJRDogc3RyaW5nLCBpbkNvbG9yOiBzdHJpbmcsIGluQ2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCwgaW5TZWF0U3RyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjY2FydEl0ZW1IVE1MIC5mbC1odG1sXCIpLmFwcGVuZChgXG4gICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtXCIgaWQ9XCIke2luQ2FydElEfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydEl0ZW1Db2xvcmVkU3F1YXJlXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiAke2luQ29sb3J9O1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FydEl0ZW1DYXRlZ29yeVwiPiR7aW5DYXRlZ29yeX08L2Rpdj5cbiAgICAgICAgPGg1IGNsYXNzPVwiY2FydEl0ZW1TZWF0XCI+JHtpblNlYXRTdHJ9PC9oNT5cbiAgICAgICAgPHNlbGVjdCBuYW1lPVwiZHJvcGRvd25CdXllclR5cGVzXCIgY2xhc3M9XCJkcm9wZG93bkJ1eWVyVHlwZXNcIj48L3NlbGVjdD5cbiAgICA8L2Rpdj5gKTtcbn1cblxuLy8gdG9kbzogZ2VuZXJhbGl6ZSBkcm9wZG93biBmaWxsIG9wdGlvbnNcbmZ1bmN0aW9uIGFkZERyb3Bkb3duQnV5ZXJUeXBlT3B0aW9ucyhpbkJ1eWVyVHlwZXM6IEkuVHlwZUJ1eWVyVHlwZSwgaW5TZWxlY3Rvcjogc3RyaW5nKSB7XG4gICAgaWYgKCFpbkJ1eWVyVHlwZXMpXG4gICAgICAgIHJldHVybjtcblxuICAgIGluQnV5ZXJUeXBlcy5mb3JFYWNoKGFyciA9PiB7ICAgICAgICBcbiAgICAgICAgaWYgKGFyclswXSlcbiAgICAgICAgICAgIGFwcGVuZE9wdGlvbihpblNlbGVjdG9yLCBhcnIpXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZE9wdGlvbihpblNlbGVjdG9yOiBzdHJpbmcsIGluQXJyOiBJLlR5cGVCdXllclR5cGVBcnIpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93bkJ1eWVyVHlwZXM6IEhUTUxFbGVtZW50ID0galF1ZXJ5KGluU2VsZWN0b3IpLmdldCgwKTtcbiAgICBsZXQgb3B0OiBIVE1MT3B0aW9uRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpO1xuICAgIG9wdC52YWx1ZSA9IDxzdHJpbmc+aW5BcnJbMF07XG4gICAgb3B0LmlubmVySFRNTCA9IGAke2luQXJyWzJdfSDigqwke2luQXJyWzFdfWA7XG4gICAgZHJvcGRvd25CdXllclR5cGVzLmFwcGVuZENoaWxkKG9wdCk7XG59XG5cbmZ1bmN0aW9uIHN1bVNlYXRQcmljZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubWFwKGdldFNlYXRQcmljZSlcbiAgICAgICAgLnJlZHVjZSgocHJldiwgY3VycikgPT4gcHJldiArIGN1cnIpXG4gICAgICAgIC50b0ZpeGVkKDIpO1xufVxuXG5mdW5jdGlvbiBnZXRTZWF0UHJpY2UoYXJyOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IHNlYXRJRDogc3RyaW5nID0gYXJyWzBdO1xuICAgICAgICBjb25zdCBidXllcnR5cGVJRDogc3RyaW5nID0gYXJyWzFdO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0ID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpbc2VhdElEXTtcbiAgICAgICAgY29uc3QgcHJpY2VzY2FsZUlEOiBzdHJpbmcgPSBzZWxlY3RlZFNlYXQuZGF0YS5zZWF0c09iai5pZFswXTtcbiAgICAgICAgY29uc3QgcHJpY2VzY2FsZU9iajogSS5QcmljZXNjYWxlNSB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRWZW51ZVByaWNlU3RydWN0dXJlUHJvcGVydHlCeVByaWNlc2NhbGVJRChwcmljZXNjYWxlSUQpO1xuXG4gICAgICAgIGlmIChwcmljZXNjYWxlT2JqKSB7XG4gICAgICAgICAgICBjb25zdCBzZWF0UHJpY2U6IG51bWJlciB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRQcmljZUJ5QnV5ZXJUeXBlSUQoYnV5ZXJ0eXBlSUQsIHByaWNlc2NhbGVPYmopO1xuXG4gICAgICAgICAgICBpZiAoc2VhdFByaWNlKVxuICAgICAgICAgICAgICAgIHJldHVybiBzZWF0UHJpY2U7ICAgXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gMDtcbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldEJ0bkNhcnRUZXh0KCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIilbMF0uaW5uZXJUZXh0ID0gY3JlYXRlQ2FydEJ0blRleHQoKTtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0U3VtIC51YWJiLWhlYWRpbmctdGV4dFwiKVswXS50ZXh0Q29udGVudCA9IGNyZWF0ZU1vZGFsQ2FydEJ0blRleHQoKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2FydEJ0blRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBudW1UaWNrZXRzOiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGg7XG5cbiAgICBpZiAoY29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbCAhPT0gXCJcIilcbiAgICAgICAgcmV0dXJuIG51bVRpY2tldHMgPT09IDEgPyBgJHtudW1UaWNrZXRzfSBUaWNrZXQgZsO8ciDigqwke2NvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGx9YCA6IGAke251bVRpY2tldHN9IFRpY2tldHMgZsO8ciDigqwke2NvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGx9YDtcbiAgICBlbHNlIFxuICAgICAgICByZXR1cm4gXCIwIFRpY2tldHMgZsO8ciDigqwwLjAwXCI7ICAgIFxufVxuXG5mdW5jdGlvbiBjcmVhdGVNb2RhbENhcnRCdG5UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtVGlja2V0czogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoO1xuXG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgIT09IFwiXCIpXG4gICAgICAgIHJldHVybiBgU3VtbWUgKCR7bnVtVGlja2V0c30gUGzDpHR6ZSkg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWA7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4gYFN1bW1lICgwIFBsw6R0emUpIOKCrDAsMDBgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvd0hpZGVCdG5DYXJ0TG9hZGluZyhpblN3aXRjaDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGluU3dpdGNoID09PSBcInNob3dcIikge1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvblwiKS5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcIm5vbmVcIik7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgaVwiKS5oaWRlKCk7XG4gICAgICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIikuYWRkQ2xhc3MoXCJkb3QtcHVsc2VcIik7XG4gICAgfVxuICAgIGVsc2UgaWYgKGluU3dpdGNoID09PSBcImhpZGVcIikge1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuc2hvdygpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpLnJlbW92ZUNsYXNzKFwiZG90LXB1bHNlXCIpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvblwiKS5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcImFsbFwiKTtcbiAgICB9XG59IiwiaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi91aVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCAqIGFzIFBhcnNlciBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgSlNDIGZyb20gXCIuL2pzY1wiO1xuaW1wb3J0ICogYXMgTGVnZW5kIGZyb20gXCIuL2xlZ2VuZFwiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiO1xuaW1wb3J0ICogYXMgVHJpbXMgZnJvbSBcIi4vdHJpbXNcIjtcbmltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcbmltcG9ydCAqIGFzIFBhbnpvb20gZnJvbSBcIi4vcGFuem9vbVwiO1xuaW1wb3J0ICogYXMgakJveEhlbHBlciBmcm9tIFwiLi9qQm94SGVscGVyXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCAqIGFzIENhcnRCdXR0b25zIGZyb20gXCIuL2NhcnRCdXR0b25zXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VmVudWUoKSB7XG4gICAgVUkuY29udHJvbExvZnRsb2FkZXIoXCJzaG93XCIpO1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9pbml0X25lZWRJbnB1dHNXaXRoVmFsdWVcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0U2VuZFZlbnVlWE1MKGluRTogYW55KSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uZmlnLnN0YXRlLmluVmVudWVYTUwgPSBkYXRhLm1lc3NhZ2UubWFwX3Jlc3BvbnNlO1xuICAgIGNvbnN0IHZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuXG4gICAgLy8gR2VuZXJhdGUgcHJpY2VzY2FsZSBjc3MgY2xhc3Nlc1xuICAgIGNvbnN0IGNzcyA9IFVJLmdlbmVyYXRlUHJpY2VzY2FsZUNTUygpO1xuICAgIFV0aWxzLmluamVjdChjc3MsIFwiY3NzQ3VzdG9tXCIsIFwiYm9keVwiKTtcblxuICAgIC8vIEZpbGwgZXZlbnQgaW5mb1xuICAgIGNvbnN0IGV2ZW50SW5mbyA9IFBhcnNlci5nZXRFdmVudEluZm8oKTtcbiAgICBVSS5zZXRFdmVudEluZm8oZXZlbnRJbmZvKTtcblxuICAgIC8vIEZpbGwgc2VsZWN0IGRyb3Bkb3duXG4gICAgY29uc3Qgc2VhdG1hcExpc3Rpbmc6IEkuU2VhdG1hcFtdID0gdmVudWVYTUwuc2VhdG1hcF9jb25maWdbMF0uc2VhdG1hcDtcbiAgICBVSS5zZXRPcHRpb25TZWxlY3Qoc2VhdG1hcExpc3RpbmcsIFwiZHJvcGRvd25TZWF0bWFwXCIpO1xuXG4gICAgLy8gRGlzcGxheSBmaXJzdCBzZWF0bWFwWE1MXG4gICAgY29uc3QgaWQ6IHN0cmluZyA9IHNlYXRtYXBMaXN0aW5nWzBdLmlkWzBdO1xuICAgIGpRdWVyeShcIiNkcm9wZG93blNlYXRtYXBcIikudmFsKGlkKTtcbiAgICBDb21tdW5pY2F0aW9uLm5lZWRTZWF0bWFwWE1MKGlkKTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coY3NzKTtcbiAgICBVdGlscy5jb25zb2xlTG9nKHNlYXRtYXBMaXN0aW5nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRTZW5kSW5wdXRzV2l0aFZhbHVlKGluRTogYW55KSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSA9IGRhdGEubWVzc2FnZTtcbiAgICBVSS5jaGFuZ2VWZW51ZUltYWdlKCk7XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX2luaXRfbmVlZFZlbnVlWE1MXCIpO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kU2VhdG1hcFhNTChpbkU6IGFueSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MID0gZGF0YS5tZXNzYWdlLm1hcF9yZXNwb25zZTtcbiAgICBjb25zdCBtYXA6IHN0cmluZ1tdID0gSlNDLmdlbmVyYXRlTWFwKCk7XG4gICAgY29uc3Qgcm93c05hbWluZzogc3RyaW5nW10gPSBKU0MuZ2V0Um93c05hbWluZygpO1xuICAgIGNvbnN0IHNlYXRzOiBJLkpTQ1NlYXRzID0gSlNDLmdldFNlYXRzKCk7XG4gICAgY29uc3QgbGVnZW5kOiBJLkpTQ0xlZ2VuZCA9IEpTQy5nZW5lcmF0ZUxlZ2VuZChcIiNKU0NMZWdlbmRJbm5lclwiKTtcblxuICAgIEpTQy5hZGRTZWF0bWFwKFwiI2NvbnRhaW5lclNlYXRtYXBJbm5lclwiLCBtYXAsIHJvd3NOYW1pbmcsIHNlYXRzLCBsZWdlbmQpO1xuICAgIEpTQy5zZXRVbmF2YWlsYWJsZVNlYXRzKCk7XG4gICAgSlNDLnNlbGVjdFNlYXRzSW5DYXJ0KCk7XG4gICAgTGVnZW5kLmNvbnZlcnRMZWdlbmRUb0Ryb3Bkb3duKFwiZHJvcGRvd25MZWdlbmRcIik7XG4gICAgRXZlbnRzLmRyb3Bkb3duTGVnZW5kT25DaGFuZ2UoXCIjZHJvcGRvd25MZWdlbmRcIik7XG4gICAgVHJpbXMuYWRkVHJpbXMoKTtcbiAgICBYTUxIZWxwZXIucHJvY2Vzc1NNQVAoKTtcbiAgICBjb25maWcuc3RhdGUucGFuem9vbSA9IFBhbnpvb20uYWRkUGFuem9vbShcIiNjb250YWluZXJTZWF0bWFwSW5uZXJcIiwgXCIucGFuem9vbVpvb21JblwiLCBcIi5wYW56b29tWm9vbU91dFwiLCBcIiNwYW56b29tUmVzZXRab29tXCIpO1xuICAgIFVJLmNvbnRyb2xMb2Z0bG9hZGVyKFwiaGlkZVwiKTtcbiAgICBqQm94SGVscGVyLmNyZWF0ZVNlYXRUb29sdGlwcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZENoZWNrb3V0UmVzcG9uc2UoaW5FOiBhbnkpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25maWcuc3RhdGUuaXNWYWxpZFNlYXRTZWxlY3Rpb24gPSBkYXRhLm1lc3NhZ2UuaXNWYWxpZFNlYXRTZWxlY3Rpb247XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKGRhdGEubWVzc2FnZSk7XG5cbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5pc1ZhbGlkU2VhdFNlbGVjdGlvbikge1xuICAgICAgICBqQm94SGVscGVyLnNob3dKQm94Tm90aWNlKGBBdXN3YWhsIG5pY2h0IG3DtmdsaWNoOiBCaXR0ZSBsYXNzZW4gU2llIGtlaW5lbiBlaW56ZWxuZW4gUGxhdHogZnJlaS5gKTtcbiAgICAgICAgQ2FydEJ1dHRvbnMuc2hvd0hpZGVCdG5DYXJ0TG9hZGluZyhcImhpZGVcIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBDYXJ0LnJlbW92ZUNhcnRJdGVtcygpO1xuICAgICAgICBDYXJ0LmdlbmVyYXRlQ2FydEl0ZW1zKCk7XG4gICAgICAgIGNvbnN0IHVybCA9IENhcnQuZ2VuZXJhdGVDaGVja291dFVybCgpO1xuICAgICAgICBFdmVudHMuYWRkUmVkaXJlY3RDaGVja291dCh1cmwpO1xuICAgICAgICBVSS5mYWRlSW5DYXJ0TW9kYWwoKTtcbiAgICAgICAgQ2FydEJ1dHRvbnMuc2hvd0hpZGVCdG5DYXJ0TG9hZGluZyhcImhpZGVcIik7XG4gICAgfVxuXG4gICAgY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkID0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSZXNvdXJjZXMoKTogdm9pZCB7XG4gICAgY29uc3QgYnJhbmNoOiBJLlR5cGVDb25maWdCcmFuY2ggPSBjb25maWcuYnJhbmNoO1xuICAgIGNvbnN0IHJlc291cmNlcyA9IGNvbmZpZy5yZXNvdXJjZXNbYnJhbmNoXTtcblxuICAgIFV0aWxzLmluamVjdChyZXNvdXJjZXMuSlNDLCBcImpzXCIsIFwiaGVhZFwiKTtcbiAgICBVdGlscy5pbmplY3QocmVzb3VyY2VzLkNTU0pTQywgXCJjc3NcIiwgXCJib2R5XCIpOyAgICBcbiAgICBVdGlscy5pbmplY3QocmVzb3VyY2VzLkNTU2pRdWVyeVVJLCBcImNzc1wiLCBcImJvZHlcIik7ICAgIFxuICAgIFV0aWxzLmluamVjdChyZXNvdXJjZXMuQ1NTQ2hpbGQsIFwiY3NzXCIsIFwiYm9keVwiKTtcbiAgICAvLyBVdGlscy5pbmplY3QocmVzb3VyY2VzLkNTU2pCb3gsIFwiY3NzXCIsIFwiYm9keVwiKTtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IGF4aW9zLCB7IEF4aW9zUmVzcG9uc2UgfSBmcm9tICdheGlvcyc7XG5jb25zdCB4bWwyanNQYXJzZXIgPSByZXF1aXJlKCd4bWwyanMnKS5wYXJzZVN0cmluZztcbmltcG9ydCAqIGFzIFVJIGZyb20gXCIuL3VpXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vY2FydFwiO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnXG5cbi8vIHJld29yayB0cnkvY2F0Y2ggP1xuZXhwb3J0IGZ1bmN0aW9uIHNlbmRNZXNzYWdlKGluRGF0YTogSS5NZXNzYWdlLCBpblRvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaW5UbyA9PT0gXCJwYXJlbnRcIilcbiAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShpbkRhdGEpLCAnKicpO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBjaGlsZDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5Ubyk7XG5cbiAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsICYmIGNoaWxkLmNvbnRlbnRXaW5kb3cgIT09IG51bGwpXG4gICAgICAgICAgICBjaGlsZC5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KGluRGF0YSksIFwiKlwiKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub01lc3NhZ2VzKGluSGFuZGxlcjogQ2FsbGFibGVGdW5jdGlvbik6IHZvaWQge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGU6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICBpbkhhbmRsZXIoZSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kWE1MKGluVXJsOiBzdHJpbmcsIGluVG86IHN0cmluZywgaW5FdmVudDogc3RyaW5nLCBpbkZyb206IHN0cmluZywgaW5EYXRlOiBudW1iZXIgPSBEYXRlLm5vdygpKTogdm9pZCB7XG4gICAgZ2V0WE1MUHJvbWlzZShpblVybCkudGhlbigocmVzdWx0OiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgICAgIGRhdGU6IGluRGF0ZSxcbiAgICAgICAgICAgIGZyb206IGluRnJvbSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3VsdCxcbiAgICAgICAgICAgIGV2ZW50OiBpbkV2ZW50XG4gICAgICAgIH1cbiAgICAgICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgaW5Ubyk7XG4gICAgfSlcbiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kRXZlbnRUb0NoaWxkKGluRXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogbnVsbCxcbiAgICAgICAgZnJvbTogXCJwYXJlbnRcIixcbiAgICAgICAgZXZlbnQ6IGluRXZlbnQsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwiaWZyYW1lU2VhdG1hcFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRFdmVudFRvUGFyZW50KGluRXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogbnVsbCxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogaW5FdmVudCxcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZWVkU2VhdG1hcFhNTChpbklEOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IGluSUQsXG4gICAgICAgIGZyb206IFwiY2hpbGRcIixcbiAgICAgICAgZXZlbnQ6IFwiY2hpbGRfbmVlZFNlYXRtYXBYTUxcIixcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5jZWxDaGVja291dChpblVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gdXNlIGZldGNoIGluc3RlYWQgb2YgYXhpb3MgYmVjYXVzZSBvZiAzMDIgcmVkaXJlY3RcbiAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F4aW9zL2F4aW9zL2lzc3Vlcy85MzJcbiAgICBmZXRjaChpblVybCwge1xuICAgICAgICByZWRpcmVjdDogXCJtYW51YWxcIlxuICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IFV0aWxzLmNvbnNvbGVMb2coYCR7aW5Vcmx9IGNhbmNlbGVkYCkpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IFV0aWxzLmNvbnNvbGVMb2coZXJyb3IpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRTZWF0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG5cbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgVUkuYWRqdXN0VUlUb0xvYWRpbmcoKTtcbiAgICBjb25zdCB1cmw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IENhcnQuZ2VuZXJhdGVDaGVja291dFVybCgpO1xuXG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgfSxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogXCJjaGlsZF9uZWVkQ2hlY2tvdXRSZXNwb25zZVwiLFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcblxuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwicGFyZW50XCIpO1xufVxuXG5mdW5jdGlvbiBnZXRYTUxQcm9taXNlKGluVXJsOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gYXhpb3MuZ2V0KGluVXJsKVxuICAgICAgICAudGhlbigocmVzcG9uc2U6IHZvaWQgfCBBeGlvc1Jlc3BvbnNlPGFueT4pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogYW55LCByZWplY3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IEF4aW9zUmVzcG9uc2UgPSA8QXhpb3NSZXNwb25zZT5yZXNwb25zZTtcbiAgICAgICAgICAgICAgICBpZiAoQXhpb3NSZXNwb25zZS5zdGF0dXMgPT09IDIwMCAmJiBBeGlvc1Jlc3BvbnNlLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0gPT09IFwidGV4dC94bWw7Y2hhcnNldD11dGYtOFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHhtbDJqc1BhcnNlcihBeGlvc1Jlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5vcm1hbGl6ZVRhZ3M6IHRydWUsIG5vcm1hbGl6ZTogdHJ1ZSwgbWVyZ2VBdHRyczogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycjogYW55LCByZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IFV0aWxzLmNvbnNvbGVMb2coZXJyb3IpKTtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgY29uZmlnOiBJLkNvbmZpZyA9IHtcbiAgICBjaGlsZEhhc1ZlbnVlWE1MOiBmYWxzZSxcbiAgICBkZWJ1ZzogdHJ1ZSxcbiAgICBicmFuY2g6IFwic3RhZ2luZ1wiLFxuICAgIHZlcnNpb246IFwiMC4wLjFcIixcbiAgICBtYXhTZWxlY3RlZFNlYXRzOiAxMCxcbiAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgbWFzdGVyOiB7XG4gICAgICAgICAgICBzZWF0bWFwOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGVcIixcbiAgICAgICAgICAgIEpTQzogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5taW4uanNcIixcbiAgICAgICAgICAgIENTU0NoaWxkOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9zZWF0bWFwLmNzc1wiLFxuICAgICAgICAgICAgQ1NTSlNDOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLmNzc1wiLFxuICAgICAgICAgICAgQ1NTUGFyZW50OiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9pbmplY3QuY3NzXCIsXG4gICAgICAgICAgICBDU1NqUXVlcnlVSTogXCJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEyLjEvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzc1wiLFxuICAgICAgICAgICAgQ1NTakJveDogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2Rpc3QvakJveC5hbGwubWluLmNzc1wiXG4gICAgICAgIH0sXG4gICAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgICAgIHNlYXRtYXA6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlXCIsXG4gICAgICAgICAgICBKU0M6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5taW4uanNcIixcbiAgICAgICAgICAgIENTU0NoaWxkOiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L3NlYXRtYXAuY3NzXCIsXG4gICAgICAgICAgICBDU1NKU0M6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5jc3NcIixcbiAgICAgICAgICAgIENTU1BhcmVudDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9pbmplY3QuY3NzXCIsXG4gICAgICAgICAgICBDU1NqUXVlcnlVSTogXCJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEyLjEvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzc1wiLFxuICAgICAgICAgICAgQ1NTakJveDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9qQm94LmFsbC5taW4uY3NzXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3RhdGU6IHtcbiAgICAgICAgcHJpY2VPdmVyYWxsOiBcIlwiLFxuICAgICAgICBjYXJ0Q2hhbmdlZDogZmFsc2UsXG4gICAgICAgIHNlbGVjdGVkU2VhdHNBcnI6IFtdLFxuICAgICAgICBzZWxlY3RlZFNlYXRzT2JqOiB7fSxcbiAgICAgICAgbGF5b3V0Um93czoge30sXG4gICAgICAgIGlzVmFsaWRTZWF0U2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgaW5wdXRzV2l0aFZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgIHNlYXRtYXA6IHVuZGVmaW5lZCxcbiAgICAgICAgcGFuem9vbTogdW5kZWZpbmVkLFxuICAgICAgICBpblZlbnVlWE1MOiB1bmRlZmluZWQsXG4gICAgICAgIHNlYXRtYXBYTUw6IHVuZGVmaW5lZCxcbiAgICB9XG59IiwiaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi91aVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgSlNDIGZyb20gXCIuL2pzY1wiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgKiBhcyBMZWdlbmQgZnJvbSBcIi4vbGVnZW5kXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQ2xvc2VNb2RhbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoXCIjYnRuQ2xvc2VNb2RhbFwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNsb3NlTW9kYWwpXG4gICAgICAgIGJ0bkNsb3NlTW9kYWwuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9jbG9zZURpYWxvZ1wiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGREcm9wZG93blNlYXRtYXAoKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd25TZWF0bWFwOiBIVE1MRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRyb3Bkb3duU2VhdG1hcFwiKTtcblxuICAgIGlmIChkcm9wZG93blNlYXRtYXApIHtcbiAgICAgICAgZHJvcGRvd25TZWF0bWFwLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKHRoaXM6IEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBVSS5jb250cm9sTG9mdGxvYWRlcihcInNob3dcIik7IC8vIHRvZG86IHJld3JpdGU/XG4gICAgICAgICAgICBVSS5kZXN0cm95Q3VycmVudFNlYXRtYXAoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIpO1xuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5uZWVkU2VhdG1hcFhNTCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTW9kYWxDYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkNhcnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuZ2V0KDApO1xuXG4gICAgaWYgKGJ0bkNhcnQpIHtcbiAgICAgICAgYnRuQ2FydC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgICAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgU2llIGhhYmVuIGJpc2xhbmcga2VpbmVuIFBsYXR6IGF1c2dld8OkaGx0LmApO1xuICAgICAgICAgICAgZWxzZSBpZiAoY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkKVxuICAgICAgICAgICAgICAgIENvbW11bmljYXRpb24uaXNWYWxpZFNlYXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFjb25maWcuc3RhdGUuY2FydENoYW5nZWQgJiYgY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgIFVJLmZhZGVJbkNhcnRNb2RhbCgpO1xuICAgICAgICAgICAgZWxzZSBpZiAoIWNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCAmJiAhY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgIGpCb3hIZWxwZXIuc2hvd0pCb3hOb3RpY2UoYEF1c3dhaGwgbmljaHQgbcO2Z2xpY2g6IEJpdHRlIGxhc3NlbiBTaWUga2VpbmVuIGVpbnplbG5lbiBQbGF0eiBmcmVpLmApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZWRpcmVjdENoZWNrb3V0KGluVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIWluVXJsKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBidG5DaGVja291dCA9IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAjY2hlY2tvdXQgLmZsLWJ1dHRvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNoZWNrb3V0KSB7XG4gICAgICAgIGJ0bkNoZWNrb3V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgICAgICAgICB1cmw6IGluVXJsLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBcImNoaWxkX2NsaWNrX2NoZWNrb3V0XCIsXG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnRDbG9zZSgpOiB2b2lkIHtcbiAgICBjb25zdCBidG5DbG9zZTogSFRNTEVsZW1lbnQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgLnVhYmItY2xvc2UtaWNvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNsb3NlKVxuICAgICAgICBidG5DbG9zZS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4gQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX3Nob3dfZGlhbG9nX3RpdGxlYmFyXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnRCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkJhY2s6IEhUTUxFbGVtZW50ID0galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5ICNnb0JhY2sgLmZsLWJ1dHRvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkJhY2spXG4gICAgICAgIGJ0bkJhY2suYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAudWFiYi1jbG9zZS1pY29uXCIpLnRyaWdnZXIoXCJjbGlja1wiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcm9wZG93bkxlZ2VuZE9uQ2hhbmdlKGluU2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IGRyb3Bkb3duTGVnZW5kOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG5cbiAgICBkcm9wZG93bkxlZ2VuZC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICh0aGlzOiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy52YWx1ZTtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lOiBzdHJpbmcgPSBgLl8ke3ZhbHVlfWA7XG5cbiAgICAgICAgTGVnZW5kLmNoYW5nZURyb3Bkb3duTGVnZW5kQkdDb2xvcihpblNlbGVjdG9yLCB2YWx1ZSwgY2xhc3NOYW1lKTtcblxuICAgICAgICBpZiAodmFsdWUgPT09IFwiYWxsXCIpIHtcbiAgICAgICAgICAgIHNlYXRtYXAuZmluZCgndW5hdmFpbGFibGUnKS5zdGF0dXMoJ2F2YWlsYWJsZScpO1xuICAgICAgICAgICAgSlNDLnNldFVuYXZhaWxhYmxlU2VhdHMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNlYXRtYXAuZmluZCgnYXZhaWxhYmxlJykuc3RhdHVzKCd1bmF2YWlsYWJsZScpO1xuICAgICAgICAgICAgSlNDLmFjdGl2YXRlU2VhdHNCeVNlY3Rpb25JRCh2YWx1ZSk7XG4gICAgICAgICAgICBKU0Muc2V0VW5hdmFpbGFibGVTZWF0cygpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRDYXJ0RHJvcGRvd25CdXllclR5cGVzKGluU2VsZWN0b3I6IHN0cmluZywgaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHdoaWNoIHZhcmlhbnQgaXMgbm90IGRlcHJlY2F0ZWQ/XG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbiAodGhpczogSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgQ2FydC5jaGFuZ2VkRHJvcGRvd25CdXllclR5cGUodGhpcywgaW5TZWF0T2JqKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE9wZW5TZWF0bWFwKCkge1xuICAgIGpRdWVyeShcIiNvcGVuU2VhdG1hcFwiKS5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgaWYgKCFjb25maWcuY2hpbGRIYXNWZW51ZVhNTClcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9DaGlsZChcInBhcmVudF9pbml0X3ZlbnVlXCIpO1xuXG4gICAgICAgIGpRdWVyeSgnaHRtbCwgYm9keScpLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIGpRdWVyeShcIiNkaWFsb2dTZWF0bWFwXCIpLmRpYWxvZygnb3BlbicpO1xuICAgIH0pO1xufSIsImltcG9ydCBqQm94IGZyb20gXCJqYm94XCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dKQm94Tm90aWNlKGluQ29udGVudDogc3RyaW5nLCBpbkF1dG9DbG9zZTogbnVtYmVyIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCA9IDUwMDApOiB2b2lkIHtcbiAgICBuZXcgakJveDxcIk5vdGljZVwiPiAoJ05vdGljZScsIHtcbiAgICAgICAgcG9zaXRpb246IHsgeDogJ2NlbnRlcicsIHk6ICd0b3AnIH0sXG4gICAgICAgIG9mZnNldDogeyB4OiAwLCB5OiAzMjAgfSxcbiAgICAgICAgY29udGVudDogaW5Db250ZW50LFxuICAgICAgICBhdXRvQ2xvc2U6IGluQXV0b0Nsb3NlLFxuICAgICAgICBhbmltYXRpb246IHsgb3BlbjogXCJ6b29tSW5cIiwgY2xvc2U6IFwiem9vbU91dFwiIH0sXG4gICAgICAgIGNsb3NlT25Fc2M6IGZhbHNlLFxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk1vdXNlbGVhdmU6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uQ2xpY2s6IGZhbHNlLFxuICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICBjb2xvcjogXCJyZWRcIixcbiAgICAgICAgc3RhY2s6IHRydWUsXG4gICAgICAgIHNob3dDb3VudGRvd246IHRydWUsXG4gICAgICAgIHJlcG9zaXRpb246IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVXaWR0aDogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2l2ZUhlaWdodDogdHJ1ZSxcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlYXRUb29sdGlwcygpOiB2b2lkIHtcbiAgICBuZXcgakJveDxcIlRvb2x0aXBcIj4gKFwiVG9vbHRpcFwiLCB7XG4gICAgICAgIGF0dGFjaDogalF1ZXJ5KFwiLnNlYXRDaGFydHMtc2VhdFwiKSxcbiAgICAgICAgb25PcGVuOiBmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgICAgICBzaG93U2VhdFRvb2x0aXAodGhpcyk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNob3dTZWF0VG9vbHRpcChqQm94OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGpCb3guc291cmNlWzBdLmlkO1xuICAgIGNvbnN0IHNlYXQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRJRF1bNV07XG4gICAgY29uc3Qgcm93OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0SURdWzRdO1xuICAgIGNvbnN0IHNlY3Rpb25JRDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdElEXVszXTtcbiAgICBjb25zdCBzZWN0aW9uRGVzYzogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFNlY3Rpb25EZXNjQnlTZWN0aW9uSUQoc2VjdGlvbklEKTtcbiAgICBjb25zdCB0b29sdGlwQ29udGVudDogc3RyaW5nID0gYCR7c2VjdGlvbkRlc2N9PGJyLz5SZWloZSAke3Jvd30gUGxhdHogJHtzZWF0fWA7XG5cbiAgICBqQm94LnNldENvbnRlbnQodG9vbHRpcENvbnRlbnQpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIFN0YXRlIGZyb20gXCIuL3N0YXRlXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCAqIGFzIENhcnRCdXR0b25zIGZyb20gXCIuL2NhcnRCdXR0b25zXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXRzKCk6IEkuSlNDU2VhdHMge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGxldCBzZWF0bWFwSW5pdFNlYXRzOiBJLkpTQ1NlYXRzID0ge307XG5cbiAgICBmb3IgKGxldCBrZXkgaW4gcHJpY2VzY2FsZUFycikge1xuICAgICAgICBjb25zdCBzZWF0c09iajogSS5KU0NTZWF0czIgPSB7XG4gICAgICAgICAgICBcImNsYXNzZXNcIjogYF8ke3ByaWNlc2NhbGVBcnJba2V5XS5pZFswXX1gLFxuICAgICAgICAgICAgXCJzZWF0c09ialwiOiBwcmljZXNjYWxlQXJyW2tleV1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIHBhcnNlSW50KGtleSkpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgICAgIHNlYXRtYXBJbml0U2VhdHNbc2VhdHNLZXldID0gc2VhdHNPYmo7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXRtYXBJbml0U2VhdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmF0ZVNlYXRzQnlTZWN0aW9uSUQoaW5WYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG5cbiAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gfCB1bmRlZmluZWQgPSBwcmljZXNjYWxlQXJyLmZpbmQoYXJyID0+IHtcbiAgICAgICAgcmV0dXJuIGFyci5pZFswXSA9PT0gaW5WYWx1ZTtcbiAgICB9KT8ubWFza1swXS5zcGxpdChcIixcIik7XG5cbiAgICBzZWF0bWFwLnN0YXR1cyhzZWF0c0FyciwgXCJhdmFpbGFibGVcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb3dzTmFtaW5nKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBsYXlvdXQ6IEkuU2VhdG1hcExheW91dCA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5sYXlvdXRzWzBdLmxheW91dFswXTtcbiAgICBjb25zdCBoZWlnaHQ6IG51bWJlciA9IHBhcnNlSW50KGxheW91dC5oZWlnaHRbMF0pO1xuICAgIGNvbnN0IG5hbWluZ0Fycjogc3RyaW5nW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBoZWlnaHQgfSwgKF8pID0+IFwiXCIpO1xuICAgIGNvbnN0IHJvd3NBcnI6IEkuTGF5b3V0Um93MltdID0gbGF5b3V0LnJvd3NbMF0ucm93O1xuXG4gICAgcm93c0Fyci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gcGFyc2VJbnQoZWxlbWVudC55X2NlbGxfY29vcmRbMF0pO1xuICAgICAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gPSBlbGVtZW50LnNlYXRzWzBdLnNwbGl0KFwifFwiKTtcbiAgICAgICAgY29uc3Qgc2VhdEFycjogc3RyaW5nW10gPSBzcGxpdFNlYXRTdHIoc2VhdHNBcnJbMF0pO1xuICAgICAgICBjb25zdCByb3c6IHN0cmluZyA9IHNlYXRBcnJbNF07XG4gICAgICAgIG5hbWluZ0FycltpbmRleF0gPSByb3c7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmFtaW5nQXJyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNYXAoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IGxheW91dDogSS5TZWF0bWFwTGF5b3V0ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLmxheW91dHNbMF0ubGF5b3V0WzBdO1xuICAgIGNvbnN0IHJvd3M6IEkuTGF5b3V0Um93MltdID0gbGF5b3V0LnJvd3NbMF0ucm93O1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0udmlld19tb2Rlc1swXS52aWV3X21vZGVbMF0uYXZhaWxhYmlsaXR5WzBdO1xuXG4gICAgLy8gRm9ybTogYXJyTWF0cml4W1ldW1hdXG4gICAgbGV0IGFyck1hdHJpeDogc3RyaW5nW11bXSA9IGNyZWF0ZUFyck1hdHJpeChcbiAgICAgICAgcGFyc2VJbnQobGF5b3V0LmhlaWdodFswXSksXG4gICAgICAgIHBhcnNlSW50KGxheW91dC53aWR0aFswXSksXG4gICAgICAgIFwiX1wiXG4gICAgKTtcblxuICAgIGFyck1hdHJpeCA9IGVudGVyU2VhdHNJbk1hdHJpeChyb3dzLCBhcnJNYXRyaXgsIHByaWNlc2NhbGVBcnIsIGF2YWlsYWJpbGl0eUFycik7XG4gICAgcmV0dXJuIGFyck1hdHJpeC5tYXAoZWxlbWVudCA9PiBlbGVtZW50LmpvaW4oXCJcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVMZWdlbmQoaW5Ob2RlOiBzdHJpbmcpOiBJLkpTQ0xlZ2VuZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIDxJLkpTQ0xlZ2VuZD57XG4gICAgICAgIG5vZGU6IGpRdWVyeShpbk5vZGUpLFxuICAgICAgICBpdGVtczogY3JlYXRlTGVnZW5kSXRlbXMocHJpY2VzY2FsZUFyciwgdmVudWVQcmljZXNjYWxlQXJyKVxuICAgIH1cbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRVbmF2YWlsYWJsZVNlYXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0udmlld19tb2Rlc1swXS52aWV3X21vZGVbMF0uYXZhaWxhYmlsaXR5WzBdO1xuXG4gICAgaWYgKGF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXSAhPT0gXCJcIikge1xuICAgICAgICBjb25zdCB1bmF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBhdmFpbGFiaWxpdHlBcnIudW5hdmFpbGFibGVfdW5zZWxlY3RhYmxlX21hc2tbMF0uc3BsaXQoXCIsXCIpO1xuICAgICAgICBzZWF0bWFwLnN0YXR1cyh1bmF2YWlsYWJsZUFyciwgXCJ1bmF2YWlsYWJsZVwiKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWF0c0tleShpblNlYXRJRDogc3RyaW5nLCBpblByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChsZXQga2V5IGluIGluUHJpY2VzY2FsZUFycikge1xuICAgICAgICBpZiAoaW5QcmljZXNjYWxlQXJyW2tleV0ubWFza1swXS5pbmNsdWRlcyhpblNlYXRJRCkpXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIHBhcnNlSW50KGtleSkpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U2VhdFN0cihpblNlYXRTdHI6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gaW5TZWF0U3RyLnNwbGl0KFwiLFwiKS5tYXAoKGl0ZW0pID0+IGl0ZW0udHJpbSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFyck1hdHJpeChpbk51bXJvd3M6IG51bWJlciwgaW5OdW1jb2xzOiBudW1iZXIsIGluQ2hhcmFjdGVyOiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gQXJyYXkoaW5OdW1yb3dzKS5maWxsKG51bGwpLm1hcCgoKSA9PiBBcnJheShpbk51bWNvbHMpLmZpbGwoaW5DaGFyYWN0ZXIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFNlYXRzSW5DYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmZvckVhY2goYXJyID0+IHtcbiAgICAgICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBhcnJbMF07XG5cbiAgICAgICAgaWYgKHNlYXRtYXAuZ2V0KHNlYXRJRCkpXG4gICAgICAgICAgICBzZWF0bWFwLnN0YXR1cyhzZWF0SUQsIFwic2VsZWN0ZWRcIik7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWF0bWFwKGluU2VsZWN0b3I6IHN0cmluZywgaW5NYXA6IHN0cmluZ1tdLCBpblJvd3NOYW1pbmc6IHN0cmluZ1tdLCBpblNlYXRzOiBJLkpTQ1NlYXRzLCBpbkxlZ2VuZDogSS5KU0NMZWdlbmQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJTZWF0bWFwOiBhbnkgPSAoPGFueT53aW5kb3cpLmpRdWVyeShpblNlbGVjdG9yKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5zZWF0bWFwID0gY29udGFpbmVyU2VhdG1hcC5zZWF0Q2hhcnRzKHtcbiAgICAgICAgbmFtaW5nOiB7XG4gICAgICAgICAgICB0b3A6IGZhbHNlLFxuICAgICAgICAgICAgbGVmdDogZmFsc2UsXG4gICAgICAgICAgICByb3dzOiBpblJvd3NOYW1pbmcsXG4gICAgICAgIH0sXG4gICAgICAgIG1hcDogaW5NYXAsXG4gICAgICAgIHNlYXRzOiBpblNlYXRzLFxuICAgICAgICBsZWdlbmQ6IGluTGVnZW5kLFxuICAgICAgICBjbGljazogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGNsaWNrZWRTZWF0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxlZ2VuZEl0ZW1zKHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSwgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10pOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gcHJpY2VzY2FsZUFyci5tYXAoKGFyciwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBpZDogc3RyaW5nID0gYXJyLmlkWzBdO1xuICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIGluZGV4KS50b0xvY2FsZVVwcGVyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpZCk/LmRlc2NbMF07XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uOiBzdHJpbmcgPSBgJHtkZXNjfSDigqwke3ByaWNlc2NhbGVBcnJbaW5kZXhdLnJlZl9wcmljZVswXX1gO1xuICAgICAgICByZXR1cm4gW3NlYXRzS2V5LCBcImF2YWlsYWJsZVwiLCBkZXNjcmlwdGlvbl07XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGVudGVyU2VhdHNJbk1hdHJpeChpblJvd3M6IEkuTGF5b3V0Um93MltdLCBpbkFyck1hdHJpeDogc3RyaW5nW11bXSwgaW5QcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10sIGluQXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IGF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBpbkF2YWlsYWJpbGl0eUFyci5hdmFpbGFibGVfc2VsZWN0YWJsZV9tYXNrWzBdLnNwbGl0KFwiLFwiKTtcbiAgICBjb25zdCB1bmF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBpbkF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXS5zcGxpdChcIixcIik7XG5cbiAgICBpblJvd3MuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3Qgcm93OiBJLkxheW91dFJvdzIgPSBlbGVtZW50O1xuICAgICAgICBjb25zdCBZOiBudW1iZXIgPSBwYXJzZUludChyb3cueV9jZWxsX2Nvb3JkWzBdKSAtIDE7XG4gICAgICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSA9IHJvdy5zZWF0c1swXS5zcGxpdChcInxcIik7XG5cbiAgICAgICAgc2VhdHNBcnIuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRTdHI6IHN0cmluZyA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBGb3JtOlxuICAgICAgICAgICAgLy8gXCI1Njg0MjAsNTY4NDIwLDE1LDcwMjQsMTMgLDFcIlxuXG4gICAgICAgICAgICBjb25zdCBzZWF0QXJyOiBzdHJpbmdbXSA9IHNwbGl0U2VhdFN0cihzZWF0U3RyKTtcbiAgICAgICAgICAgIC8vIEZvcm06XG4gICAgICAgICAgICAvLyAwOiBcIjU2ODUyOFwiIC0+IElEXG4gICAgICAgICAgICAvLyAxOiBcIjU2ODUyOFwiIC0+IElEXG4gICAgICAgICAgICAvLyAyOiBcIjIxXCIgLT4gWC1Db29yZCBiZW51dHplblxuICAgICAgICAgICAgLy8gMzogXCI3MDI0XCIgLT4gc2VjdGlvbiBJRFxuICAgICAgICAgICAgLy8gNDogXCIxM1wiIC0+IFJlaWhlbmJlemVpY2hudW5nXG4gICAgICAgICAgICAvLyA1OiBcIjRcIiAtPiBQbGF0em51bW1lclxuXG4gICAgICAgICAgICAvLyBza2lwIGJsYWNrZWQgb3V0IHNlYXRzICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoIWF2YWlsYWJsZUFyci5pbmNsdWRlcyhzZWF0QXJyWzBdKSAmJiAhdW5hdmFpbGFibGVBcnIuaW5jbHVkZXMoc2VhdEFyclswXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBYOiBudW1iZXIgPSBwYXJzZUludChzZWF0QXJyWzVdKTtcbiAgICAgICAgICAgIGNvbnN0IFg6IG51bWJlciA9IHBhcnNlSW50KHNlYXRBcnJbMl0pIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSBnZXRTZWF0c0tleShzZWF0QXJyWzBdLCBpblByaWNlc2NhbGVBcnIpO1xuXG4gICAgICAgICAgICBpZiAoc2VhdHNLZXkpXG4gICAgICAgICAgICAgICAgaW5BcnJNYXRyaXhbWV1bWF0gPSBgJHtzZWF0c0tleX1bJHtzZWF0QXJyWzBdfSwgXWA7XG5cblxuICAgICAgICAgICAgLy8gc2F2ZSBzZWF0QXJyIGluIHN0YXRlIHdpdGggc2VhdElEIGFzIGtleVxuICAgICAgICAgICAgY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdEFyclswXV0gPSBzZWF0QXJyO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbkFyck1hdHJpeDtcbn1cblxuZnVuY3Rpb24gY2xpY2tlZFNlYXQoaW5TZWF0bWFwOiBhbnkpIHtcbiAgICBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09ICdhdmFpbGFibGUnKSB7XG4gICAgICAgIHJldHVybiBjbGlja0F2YWlsYWJsZVNlYXQoaW5TZWF0bWFwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09PSBcInNlbGVjdGVkXCIpIHtcbiAgICAgICAgcmV0dXJuIGNsaWNrZWRTZWxlY3RlZFNlYXQoaW5TZWF0bWFwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09ICd1bmF2YWlsYWJsZScpIHtcbiAgICAgICAgcmV0dXJuIFwidW5hdmFpbGFibGVcIjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBpblNlYXRtYXAuc3R5bGUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNsaWNrQXZhaWxhYmxlU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBpblNlYXRtYXAuc2V0dGluZ3M7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKHNlbGVjdGVkU2VhdCk7XG5cbiAgICBpZiAoU3RhdGUubWF4aW11bVNlbGVjdGVkU2VhdHNSZWFjaGVkKHNlbGVjdGVkU2VhdCkpXG4gICAgICAgIHJldHVybiBcImF2YWlsYWJsZVwiO1xuXG4gICAgU3RhdGUuYWRkU2VhdFRvU3RhdGUoc2VsZWN0ZWRTZWF0KTtcbiAgICBDYXJ0LmNhbGNPdmVyYWxsUHJpY2UoKTtcbiAgICBDYXJ0QnV0dG9ucy5zZXRCdG5DYXJ0VGV4dCgpO1xuXG4gICAgcmV0dXJuIFwic2VsZWN0ZWRcIjtcbn1cblxuZnVuY3Rpb24gY2xpY2tlZFNlbGVjdGVkU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBpblNlYXRtYXAuc2V0dGluZ3M7XG4gICAgU3RhdGUucmVtb3ZlU2VhdEZyb21TdGF0ZShzZWxlY3RlZFNlYXQpO1xuICAgIENhcnQuY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICByZXR1cm4gXCJhdmFpbGFibGVcIjtcbn0iLCJleHBvcnQgZnVuY3Rpb24gY29udmVydExlZ2VuZFRvRHJvcGRvd24oaW5JRDogc3RyaW5nKTogdm9pZCB7XG4gICAgalF1ZXJ5KCd1bC5zZWF0Q2hhcnRzLWxlZ2VuZExpc3QnKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IHNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50PiA9IGpRdWVyeShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKSlcbiAgICAgICAgICAgIC5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmhpZGUoKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICBzZWxlY3QuYXR0cih7IGlkOiBpbklEIH0pO1xuICAgICAgICBhcHBlbmRGaXJzdExlZ2VuZE9wdGlvbihzZWxlY3QpO1xuICAgICAgICBhcHBlbmRMZWdlbmRPcHRpb25zKHRoaXMsIHNlbGVjdCk7ICAgICAgICBcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kTGVnZW5kT3B0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4pIHtcbiAgICBqUXVlcnkoJz5saScsIGVsZW1lbnQpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWU6IHN0cmluZyA9IGpRdWVyeSh0aGlzKVswXS5jaGlsZHJlblswXS5jbGFzc0xpc3RbM107XG4gICAgICAgIGNvbnN0IHZhbDogc3RyaW5nID0gY2xhc3NOYW1lLnN1YnN0cmluZygxKTtcbiAgICAgICAgY29uc3QgdGV4dDogc3RyaW5nID0gKDxIVE1MRWxlbWVudD5qUXVlcnkodGhpcylbMF0uY2hpbGRyZW5bMV0pLmlubmVyVGV4dDtcblxuICAgICAgICBhcHBlbmRMZWdlbmRPcHRpb24oaW5TZWxlY3QsIGNsYXNzTmFtZSwgdmFsLCB0ZXh0KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kTGVnZW5kT3B0aW9uKGluU2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+LCBjbGFzc05hbWU6IHN0cmluZywgdmFsOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBvcHRpb246IEpRdWVyeTxIVE1MT3B0aW9uRWxlbWVudD4gPSBqUXVlcnkoJzxvcHRpb24vPicpO1xuICAgIG9wdGlvbi5hdHRyKHsgJ3ZhbHVlJzogdmFsLCAnY2xhc3MnOiBjbGFzc05hbWUgfSkudGV4dCh0ZXh0KTtcbiAgICBpblNlbGVjdC5hcHBlbmQob3B0aW9uKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kRmlyc3RMZWdlbmRPcHRpb24oaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4pOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uOiBKUXVlcnk8SFRNTE9wdGlvbkVsZW1lbnQ+ID0galF1ZXJ5KCc8b3B0aW9uLz4nKTtcbiAgICBvcHRpb24uYXR0cih7ICd2YWx1ZSc6ICdhbGwnIH0pLnRleHQoJ0FsbGUgUHJlaXNrYXRlZ29yaWVuJyk7XG4gICAgb3B0aW9uLmNzcyhcImNvbG9yXCIsIFwiIzVjNWM1Y1wiKTtcbiAgICBpblNlbGVjdC5hcHBlbmQob3B0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZURyb3Bkb3duTGVnZW5kQkdDb2xvcihpblNlbGVjdG9yOiBzdHJpbmcsIGluVmFsdWU6IHN0cmluZywgaW5DbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBiZ0NvbG9yOiBzdHJpbmcgPSBcIiNmYWZhZmFcIjtcbiAgICBsZXQgY29sb3I6IHN0cmluZyA9IFwiIzVjNWM1Y1wiO1xuXG4gICAgaWYgKGluVmFsdWUgIT09IFwiYWxsXCIpIHtcbiAgICAgICAgY29sb3IgPSBcIndoaXRlXCI7XG4gICAgICAgIGJnQ29sb3IgPSBqUXVlcnkoaW5DbGFzc05hbWUpLmNzcyhcImJhY2tncm91bmQtY29sb3JcIik7XG4gICAgfVxuXG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLmNzcyhcImNvbG9yXCIsIGNvbG9yKTtcbiAgICBqUXVlcnkoaW5TZWxlY3RvcikuY3NzKFwiYmFja2dyb3VuZC1jb2xvclwiLCBiZ0NvbG9yKTtcbiAgICBqUXVlcnkoYCR7aW5TZWxlY3Rvcn0gb3B0aW9uW3ZhbHVlPVwiYWxsXCJdYCkuY3NzKFwiY29sb3JcIiwgY29sb3IpO1xufSIsImltcG9ydCBQYW56b29tIGZyb20gJ0BwYW56b29tL3Bhbnpvb20nO1xuaW1wb3J0IHsgUGFuem9vbU9iamVjdCB9IGZyb20gXCJAcGFuem9vbS9wYW56b29tL2Rpc3Qvc3JjL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhbnpvb20oaW5TZWxlY3Rvcjogc3RyaW5nLCBpbkJ0blpvb21Jbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBpbkJ0blpvb21PdXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgaW5CdG5SZXNldFpvb206IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFBhbnpvb21PYmplY3QgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuXG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICBjb25zdCBwYW56b29tOiBQYW56b29tT2JqZWN0ID0gUGFuem9vbShjb250YWluZXIsIHtcbiAgICAgICAgICAgIG1heFNjYWxlOiA1LFxuICAgICAgICAgICAgYW5pbWF0ZTogZmFsc2UsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICAgIHN0YXJ0U2NhbGU6IFwiMC42NlwiXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFkZFBhbnpvb21FdmVudHMoaW5CdG5ab29tSW4sIGluQnRuWm9vbU91dCwgaW5CdG5SZXNldFpvb20sIGNvbnRhaW5lci5wYXJlbnRFbGVtZW50ISwgcGFuem9vbSk7XG4gICAgICAgIHJldHVybiBwYW56b29tO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGFkZFBhbnpvb21FdmVudHMoaW5CdG5ab29tSW46IHN0cmluZyB8IHVuZGVmaW5lZCwgaW5CdG5ab29tT3V0OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluQnRuUmVzZXRab29tOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNvbnRhaW5lclBhcmVudDogSFRNTEVsZW1lbnQsIHBhbnpvb206IFBhbnpvb21PYmplY3QpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudE1hcHBpbmcgPSBbXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuWm9vbUluLCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbUluLCBUeXBlOiBcImNsaWNrXCIgfSxcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5ab29tT3V0LCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbU91dCwgVHlwZTogXCJjbGlja1wiIH0sXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuUmVzZXRab29tLCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20ucmVzZXQsIFR5cGU6IFwiY2xpY2tcIiB9LFxuICAgICAgICB7IEhUTUxFbGVtZW50OiBjb250YWluZXJQYXJlbnQsIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tV2l0aFdoZWVsLCBUeXBlOiBcIndoZWVsXCIgfVxuICAgIF07XG5cbiAgICBldmVudE1hcHBpbmcubWFwKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBidG46IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KGV2ZW50LlNlbGVjdG9yKS5nZXQoMCk7XG4gICAgICAgICAgICBpZiAoYnRuKVxuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKGV2ZW50LlR5cGUsIGV2ZW50LlBhbnpvb21GdW5jdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXZlbnQuSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5UeXBlID09PSBcIndoZWVsXCIpXG4gICAgICAgICAgICAgICAgZXZlbnQuSFRNTEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudC5UeXBlLCBldmVudC5QYW56b29tRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuYmluZFBhbnpvb21FdmVudHMoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG4gICAgY29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgY29uZmlnLnN0YXRlLnBhbnpvb20hLnpvb21XaXRoV2hlZWwpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbnZhciBqUXVlcnkgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVudWVMb2NhdGlvbigpOiBzdHJpbmcge1xuICAgIGxldCBzcGFuQXJyOiBzdHJpbmdbXSA9IFtdO1xuICAgIGpRdWVyeShcIi52ZW51ZSBzcGFuXCIpLmVhY2goZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICBzcGFuQXJyLnB1c2goalF1ZXJ5KHRoaXMpLnRleHQoKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3BhbkFyci5qb2luKFwiLCBcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHMoaW5Db250ZW50OiBzdHJpbmcpOiBJLklucHV0cyAge1xuICAgIGNvbnN0IHBhcnNlZEhUTUw6IE5vZGVbXSA9IGpRdWVyeS5wYXJzZUhUTUwoaW5Db250ZW50KTtcbiAgICBsZXQgaW5wdXRzOiBJLklucHV0cyA9IHt9O1xuXG4gICAgalF1ZXJ5KHBhcnNlZEhUTUwpLmZpbmQoJ2lucHV0JykuZWFjaChmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMubmFtZTtcbiAgICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJylcbiAgICAgICAgICAgIGlucHV0c1tuYW1lXSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlucHV0cztcbn1cblxuLy8gdG9kbzogY2hlY2sgd2l0aCBkaWZmZXJlbnQgdmVudWVzXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1wb3J0YW50Tm90ZSgpOiBJLkltcG9ydGFudE5vdGUgfCB1bmRlZmluZWQgIHtcbiAgICBpZiAoalF1ZXJ5KFwiLmltcG9ydGFudF9ub3RlXCIpLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBpbXBvcnRhbnROb3RlOiBzdHJpbmcgfCBudWxsID0galF1ZXJ5KFwiLmltcG9ydGFudF9ub3RlXCIpWzBdLnRleHRDb250ZW50O1xuXG4gICAgICAgIGlmIChpbXBvcnRhbnROb3RlPy50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbXBvcnRhbnROb3RlRW5jb2RlZDogc3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KGltcG9ydGFudE5vdGUpO1xuICAgICAgICAgICAgcmV0dXJuIDxJLkltcG9ydGFudE5vdGU+IHtcbiAgICAgICAgICAgICAgICBcImltcG9ydGFudE5vdGVcIjogaW1wb3J0YW50Tm90ZSxcbiAgICAgICAgICAgICAgICBcImltcG9ydGFudE5vdGVFbmNvZGVkXCI6IGltcG9ydGFudE5vdGVFbmNvZGVkXG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuICAgIH0gICBcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZGRpdGlvbmFsSW5wdXRzKGluQ29udGVudDogc3RyaW5nKTogSS5JbnB1dHMge1xuICAgIGNvbnN0IGV2ZW50ID0gaW5Db250ZW50Lm1hdGNoKC9ldmVudDpcIiguKz8pXCIvKSFbMV07XG4gICAgY29uc3QgaG9sZGNvZGUgPSBpbkNvbnRlbnQubWF0Y2goL2hvbGRjb2RlOlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBwb3N0dXJsUmF3ID0gaW5Db250ZW50Lm1hdGNoKC9wb3N0dXJsOlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBwb3N0dXJsUmF3RGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudChwb3N0dXJsUmF3KTtcbiAgICBjb25zdCBwb3N0dXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KGAke3Bvc3R1cmxSYXd9JmV2ZW50PSR7ZXZlbnR9JmhvbGRjb2RlPSR7aG9sZGNvZGV9Jm5vY2FjaGU9MCZpbmNscGtnPVkmaW5jbG9mZmVyPVkmaW5jbGNhcnRkZXRhaWxzPVkmaW5jbENhcnQ9WSZpbmNsdmVudWU9WWApO1xuICAgIGNvbnN0IHZlbnVlTG9jYXRpb24gPSBnZXRWZW51ZUxvY2F0aW9uKCk7XG4gICAgY29uc3QgdGlja2V0UHVyY2hhc2VVcmwgPSBgJHtwb3N0dXJsUmF3RGVjb2RlZC5zcGxpdChcIj9cIilbMF0uc3BsaXQoJy8nKS5zbGljZSgwLC0xKS5qb2luKCcvJyl9L1RpY2tldFB1cmNoYXNlYDtcblxuICAgIHJldHVybiA8SS5JbnB1dHM+IHtcbiAgICAgICAgXCJldmVudFwiOiBldmVudCxcbiAgICAgICAgXCJob2xkY29kZVwiOiBob2xkY29kZSxcbiAgICAgICAgXCJwb3N0dXJsUmF3XCI6IHBvc3R1cmxSYXcsXG4gICAgICAgIFwicG9zdHVybFJhd0RlY29kZWRcIjogcG9zdHVybFJhd0RlY29kZWQsXG4gICAgICAgIFwicG9zdHVybFwiOiBwb3N0dXJsLFxuICAgICAgICBcInZlbnVlTG9jYXRpb25cIjogdmVudWVMb2NhdGlvbixcbiAgICAgICAgXCJ0aWNrZXRQdXJjaGFzZVVybFwiOiB0aWNrZXRQdXJjaGFzZVVybFxuICAgIH0gICAgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZUltYWdlKCk6IEkuVmVudWVJbWFnZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW1nOiBIVE1MSW1hZ2VFbGVtZW50ID0galF1ZXJ5KFwiI3N0YXRpY192ZW51ZV9tYXAgaW1nXCIpLmdldCgwKTtcblxuICAgIGlmIChpbWcpIHtcbiAgICAgICAgcmV0dXJuIDxJLlZlbnVlSW1hZ2U+IHtcbiAgICAgICAgICAgIHZlbnVlSW1hZ2VTcmM6IGltZy5zcmMsXG4gICAgICAgICAgICB2ZW51ZUltYWdlSGVpZ2h0OiBpbWcuaGVpZ2h0LFxuICAgICAgICAgICAgdmVudWVJbWFnZVdpZHRoOiBpbWcud2lkdGhcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U01BUCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghalF1ZXJ5KFwiI3NlYXRpbmdfbWFwX3VybFwiKS5sZW5ndGgpXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdHI6IHN0cmluZyA9IGpRdWVyeShcIiNzZWF0aW5nX21hcF91cmwgYVwiKS5hdHRyKFwib25jbGlja1wiKTtcbiAgICBjb25zdCByZSA9IC9vcGVuTmV3V2luZG93XFwoXFwnKFxcZCspXFwnLztcbiAgICBjb25zdCBmb3VuZDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGwgPSBzdHIubWF0Y2gocmUpO1xuIFxuICAgIHJldHVybiBmb3VuZCA/IGZvdW5kWzFdIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXZlbnRJbmZvKCk6IEkuRXZlbnRJbmZvIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBzZWN0aW9uQXJyOiBJLlNlY3Rpb24yW10gPSB2ZW51ZVhNTC5tYXN0ZXJfY29uZmlnWzBdLnNlY3Rpb25faW52ZW50b3J5WzBdLnNlY3Rpb247XG4gICAgY29uc3QgZXZlbnRPYmo6IEkuRXZlbnQgPSB2ZW51ZVhNTC5ldmVudFswXTtcbiAgICBjb25zdCBldmVudDogSS5FdmVudCA9IHZlbnVlWE1MLmV2ZW50WzBdO1xuICAgIGNvbnN0IHZlbnVlX2NvbmZpZzogSS5WZW51ZUNvbmZpZyA9IHZlbnVlWE1MLnZlbnVlX2NvbmZpZ1swXTtcbiAgICBjb25zdCBkYXRlT2JqOiBEYXRlID0gbmV3IERhdGUocGFyc2VJbnQoZXZlbnQueWVhclswXSksIHBhcnNlSW50KGV2ZW50Lm1vbnRoWzBdKSAtIDEsIHBhcnNlSW50KGV2ZW50LmRheVswXSksIHBhcnNlSW50KGV2ZW50LmhvdXJbMF0pLCBwYXJzZUludChldmVudC5taW51dGVbMF0pKTtcbiAgICBjb25zdCBzdGFydDogc3RyaW5nW10gPSBbZGF0ZU9iai50b0xvY2FsZVN0cmluZyhbXCJkZS1ERVwiXSwgeyB3ZWVrZGF5OiBcImxvbmdcIiwgZGF5OiBcIjItZGlnaXRcIiwgbW9udGg6IFwiMi1kaWdpdFwiLCB5ZWFyOiBcIm51bWVyaWNcIiwgaG91cjogXCIyLWRpZ2l0XCIsIG1pbnV0ZTogXCIyLWRpZ2l0XCIsIHRpbWVab25lTmFtZTogXCJzaG9ydFwiIH0pXTtcbiAgICBjb25zdCB3ZWVrZGF5OiBzdHJpbmdbXSA9IFtVdGlscy5nZXREYXlOYW1lKGRhdGVPYmosIFwiZGUtREVcIildO1xuICAgIGNvbnN0IHNlYXRzX2F2YWlsYWJsZSA9IHNlY3Rpb25BcnIubWFwKGl0ZW0gPT4gcGFyc2VJbnQoaXRlbS5hdmFpbGFibGVbMF0pKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgKyBjdXJyKTtcblxuICAgIGNvbnN0IGV2ZW50RXh0ZW5kOiBJLkV2ZW50RXh0ZW5kID0ge1xuICAgICAgICB2ZW51ZV9jb25maWdfY2FwYWNpdHk6IHZlbnVlX2NvbmZpZy5jYXBhY2l0eSxcbiAgICAgICAgdmVudWVfY29uZmlnX2NvZGU6IHZlbnVlX2NvbmZpZy5jb2RlLFxuICAgICAgICB2ZW51ZV9jb25maWdfZGVzYzogdmVudWVfY29uZmlnLmRlc2MsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19pZDogdmVudWVfY29uZmlnLmlkLFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlOiB2ZW51ZV9jb25maWcubmF2X2ltYWdlLFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlX2hlaWdodDogdmVudWVfY29uZmlnLm5hdl9pbWFnZV9oZWlnaHQsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2Vfd2lkdGg6IHZlbnVlX2NvbmZpZy5uYXZfaW1hZ2Vfd2lkdGgsXG4gICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgd2Vla2RheTogd2Vla2RheSxcbiAgICAgICAgc2VhdHNfYXZhaWxhYmxlOiBzZWF0c19hdmFpbGFibGUsXG4gICAgfTtcblxuICAgIHJldHVybiA8SS5FdmVudEluZm8+eyAuLi5ldmVudE9iaiwgLi4uZXZlbnRFeHRlbmQgfTtcbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlYXRUb1N0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGFkZFNlYXRPYmpUb1N0YXRlKGluU2VsZWN0ZWRTZWF0KTtcbiAgICBjb25zdCBwcmljZXNjYWxlSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2luU2VsZWN0ZWRTZWF0LmlkXS5kYXRhLnNlYXRzT2JqLmlkWzBdO1xuICAgIGNvbnN0IHByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQocHJpY2VzY2FsZUlEKTtcblxuICAgIGlmIChwcmljZXNjYWxlT2JqKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QnV5ZXJUeXBlSUQ6IHN0cmluZyA9IHByaWNlc2NhbGVPYmouYnV5ZXJfdHlwZVswXS5pZFswXTtcbiAgICAgICAgY29uc3QgYnV5ZXJUeXBlQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGZpcnN0QnV5ZXJUeXBlSUQpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFNlYXRzQXJySXRlbTogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFtpblNlbGVjdGVkU2VhdC5pZCwgZmlyc3RCdXllclR5cGVJRCwgYnV5ZXJUeXBlQ29kZV07XG4gICAgICAgIGFkZFNlYXRzSXRlbVRvU3RhdGUoc2VsZWN0ZWRTZWF0c0Fyckl0ZW0pO1xuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIGNvbnNvbGUud2FybihgQ2Fubm90IGZpbmQgY29ycmVzcG9uZGluZyB2ZW51ZVhNTCBwcmljZXNjYWxlT2JqIGZvciBwcmljZXNjYWxlIHdpdGggSUQgJHtwcmljZXNjYWxlSUR9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVTZWF0RnJvbVN0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGRlbGV0ZSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtpblNlbGVjdGVkU2VhdC5pZF07XG5cbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZmluZEluZGV4KGFyciA9PiBhcnJbMF0gPT09IGluU2VsZWN0ZWRTZWF0LmlkKTtcbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkID0gdHJ1ZTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuaGlkZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4aW11bVNlbGVjdGVkU2VhdHNSZWFjaGVkKGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcblxuICAgIGlmIChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGggPj0gY29uZmlnLm1heFNlbGVjdGVkU2VhdHMpIHtcbiAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgU2llIGvDtm5uZW4gbWF4aW1hbCAke2NvbmZpZy5tYXhTZWxlY3RlZFNlYXRzfSBQbMOkdHplIGF1c3fDpGhsZW4uYCk7XG4gICAgICAgIHNlYXRtYXAuc3RhdHVzKGluU2VhdE9iai5pZCwgXCJhdmFpbGFibGVcIik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYWRkU2VhdHNJdGVtVG9TdGF0ZShpbkl0ZW06IChzdHJpbmcgfCB1bmRlZmluZWQpW10pOiB2b2lkIHtcbiAgICBpZiAoaW5JdGVtLmV2ZXJ5KHYgPT4gdiAhPT0gKFwiXCIgfHwgdW5kZWZpbmVkIHx8IG51bGwpKSkge1xuICAgICAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5wdXNoKDxzdHJpbmdbXT5pbkl0ZW0pO1xuICAgICAgICBjb25maWcuc3RhdGUuY2FydENoYW5nZWQgPSB0cnVlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYWRkU2VhdE9ialRvU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBpblNlbGVjdGVkU2VhdC5pZDtcbiAgICBjb25zdCBzZWF0T2JqOiBJLlN0YXRlSlNDU2VsZWN0ZWRTZWF0cyA9IHtcbiAgICAgICAgW3NlYXRJRF06IGluU2VsZWN0ZWRTZWF0XG4gICAgfVxuXG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmogPSB7IC4uLmNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqLCAuLi5zZWF0T2JqIH1cbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUcmltcygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCB0cmltQXJyOiBJLlRyaW1bXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS50cmltc1swXS50cmltO1xuXG4gICAgdHJpbUFyci5mb3JFYWNoKGFyciA9PiB7XG4gICAgICAgIGNvbnN0IFt4VHJpbSwgeVRyaW1dID0gYXJyLmNvb3JkWzBdLnNwbGl0KFwiLFwiKS5tYXAoTnVtYmVyKTtcbiAgICAgICAgY29uc3QgdGV4dEFycjogc3RyaW5nW10gPSBhcnIudGV4dFswXS5zcGxpdChcIjtcIikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBjb25zdCB4OiBudW1iZXIgPSB4VHJpbSAvIDIwO1xuICAgICAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLnJvdW5kKHlUcmltIC8gMjEuMjUpOyAgICAgICAgXG5cbiAgICAgICAgZGVjb2RlVHJpbSh0ZXh0QXJyLCB4LCB5KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZGVjb2RlVHJpbSh0ZXh0QXJyOiBzdHJpbmdbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBzcGVjaWFsQ2hhcjogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xuICAgICAgICBbXCImI3g4ZVwiLCBcIsOEXCJdLFxuICAgICAgICBbXCImI3g5OVwiLCBcIsOWXCJdLFxuICAgICAgICBbXCImI3g5YVwiLCBcIsOcXCJdLFxuICAgICAgICBbXCImI3g4NFwiLCBcIsOkXCJdLFxuICAgICAgICBbXCImI3g5NFwiLCBcIsO2XCJdLFxuICAgICAgICBbXCImI3g4MVwiLCBcIsO8XCJdLFxuICAgICAgICBbXCImI3hlMVwiLCBcIsOfXCJdXG4gICAgXSk7XG5cbiAgICB0ZXh0QXJyLm1hcCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgY2hhcmFjdGVyOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBzcGVjaWFsQ2hhci5oYXMoZWxlbWVudCkgPyBzcGVjaWFsQ2hhci5nZXQoZWxlbWVudCkgOiBkZWNvZGVOb3JtYWxUcmltKGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChjaGFyYWN0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyaW1Qb3M6IEkuVHJpbVBvcyA9IGdldEpTQ1RyaW1Qb3MoeCwgeSwgaW5kZXgpO1xuICAgICAgICAgICAgYXBwbHlUcmltKGNoYXJhY3RlciwgdHJpbVBvcyk7XG4gICAgICAgIH0gICAgICAgICAgICBcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZGVjb2RlTm9ybWFsVHJpbShlbGVtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNoYXJDb2RlOiBzdHJpbmcgPSBlbGVtZW50LnJlcGxhY2UoL15cXCZcXCMvLCBcIjBcIik7XG4gICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoY2hhckNvZGUsIDE2KSk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5VHJpbShpbkNoYXJhY3Rlcjogc3RyaW5nLCBpblRyaW1Qb3M6IEkuVHJpbVBvcyk6IHZvaWQge1xuICAgIGNvbnN0IHJlZ2V4OiBSZWdFeHAgPSAvW15hLXpBLVowLTnDpMO2w7zDhMOWw5zDnyRdLztcbiAgICBcbiAgICBpZiAoIXJlZ2V4LnRlc3QoaW5DaGFyYWN0ZXIpKVxuICAgICAgICBqUXVlcnkoXCIuc2VhdENoYXJ0cy1yb3dcIilbaW5UcmltUG9zLnlKU0NdLmNoaWxkcmVuW2luVHJpbVBvcy54SlNDXS5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9XCJ0cmltQ2hhclwiPiR7aW5DaGFyYWN0ZXJ9PC9zcGFuPmBcbn1cblxuZnVuY3Rpb24gZ2V0SlNDVHJpbVBvcyhpblg6IG51bWJlciwgaW5ZOiBudW1iZXIsIGluZGV4OiBudW1iZXIpOiBJLlRyaW1Qb3Mge1xuICAgIHJldHVybiA8SS5UcmltUG9zPiB7XG4gICAgICAgIHg6IGluWCxcbiAgICAgICAgeTogaW5ZLFxuICAgICAgICB4SlNDOiAoaW5YIC0gMSkgKyBpbmRleCxcbiAgICAgICAgeUpTQzogaW5ZIC0gMVxuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEV2ZW50cyBmcm9tIFwiLi9ldmVudHNcIjtcbmltcG9ydCAqIGFzIFBhbnpvb20gZnJvbSBcIi4vcGFuem9vbVwiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcbmltcG9ydCBVdGlscyBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0T3B0aW9uU2VsZWN0KGluU2VhdG1hcExpc3Rpbmc6IEkuU2VhdG1hcFtdLCBpbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwRHJvcGRvd246IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluSWQpO1xuXG4gICAgaWYgKHNlYXRtYXBEcm9wZG93bikge1xuICAgICAgICBmb3IgKGxldCBzZWF0bWFwT2JqIG9mIGluU2VhdG1hcExpc3RpbmcpIHtcbiAgICAgICAgICAgIHZhciBvcHQ6IEhUTUxPcHRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgICAgICAgICBvcHQudmFsdWUgPSBzZWF0bWFwT2JqLmlkWzBdO1xuICAgICAgICAgICAgb3B0LmlubmVySFRNTCA9IHNlYXRtYXBPYmouZGVzY1swXTtcbiAgICAgICAgICAgIHNlYXRtYXBEcm9wZG93bi5hcHBlbmRDaGlsZChvcHQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RXZlbnRJbmZvKGluRXZlbnRJbmZvOiBJLkV2ZW50SW5mbyk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuXG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0Rlc2Mgc3Bhbi5mbC1oZWFkaW5nLXRleHRcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGluRXZlbnRJbmZvLmRlc2NbMF07XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0RhdGUgcFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5FdmVudEluZm8uc3RhcnRbMF07XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0xvY2F0aW9uIHBcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGlucHV0c1dpdGhWYWx1ZS52ZW51ZUxvY2F0aW9uO1xuICAgIGpRdWVyeShcIiNldmVudEluZm9DYXBhY2l0eSBwXCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBgVmVyZsO8Z2JhcmUgUGzDpHR6ZTogJHtpbkV2ZW50SW5mby5zZWF0c19hdmFpbGFibGV9IHZvbiAke2luRXZlbnRJbmZvLnZlbnVlX2NvbmZpZ19jYXBhY2l0eVswXX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGlhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IGlmcmFtZUhUTUw6IHN0cmluZyA9IFwiPGlmcmFtZSBpZD0naWZyYW1lU2VhdG1hcCcgc2Nyb2xsaW5nPSdubycgZnJhbWVib3JkZXI9JzAnIG1hcmdpbndpZHRoPScwJyBtYXJnaW5oZWlnaHQ9JzAnIGFsbG93ZnVsbHNjcmVlbiB3aWR0aD0nMTAwJScgLz5cIjtcbiAgICBjb25zdCBzcmM6IHN0cmluZyA9IFV0aWxzLmdldENvbmZpZ1ZhbHVlKFwic2VhdG1hcFwiKTtcblxuICAgIGpRdWVyeShcIiNkaWFsb2dTZWF0bWFwXCIpLmFwcGVuZChcbiAgICAgICAgalF1ZXJ5KGlmcmFtZUhUTUwpXG4gICAgICAgICAgICAuYXR0cihcInNyY1wiLCBzcmMpKVxuICAgICAgICAuZGlhbG9nKHtcbiAgICAgICAgICAgIG1vZGFsOiB0cnVlLFxuICAgICAgICAgICAgYXV0b09wZW46IGZhbHNlLFxuICAgICAgICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoaWRlOiB0cnVlLFxuICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXG4gICAgICAgICAgICB0aXRsZTogXCJcIixcbiAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4galF1ZXJ5KFwiaHRtbCwgYm9keVwiKS5jc3MoXCJvdmVyZmxvd1wiLCBcImF1dG9cIiksXG4gICAgICAgIH0pO1xuXG4gICAgRXZlbnRzLmFkZE9wZW5TZWF0bWFwKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXN0cm95Q3VycmVudFNlYXRtYXAoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wYW56b29tKVxuICAgICAgICBQYW56b29tLnVuYmluZFBhbnpvb21FdmVudHMoaW5TZWxlY3Rvcik7XG5cbiAgICBqUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIpLnJlbW92ZSgpO1xuICAgIGpRdWVyeShcIiNodG1sU2VhdG1hcElubmVyIC5mbC1odG1sXCIpLnJlbW92ZUF0dHIoXCJzdHlsZVwiKTtcbiAgICBqUXVlcnkoXCIjaHRtbFNlYXRtYXBJbm5lciAuZmwtaHRtbFwiKS5hcHBlbmQoJzxkaXYgaWQ9XCJjb250YWluZXJTZWF0bWFwSW5uZXJcIj48L2Rpdj4nKTtcbiAgICBqUXVlcnkoXCIjSlNDTGVnZW5kSW5uZXJcIikucmVtb3ZlKCk7XG4gICAgalF1ZXJ5KFwiI0pTQ0xlZ2VuZCAuZmwtaHRtbFwiKS5hcHBlbmQoJzxkaXYgaWQ9XCJKU0NMZWdlbmRJbm5lclwiPjwvZGl2PicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbExvZnRsb2FkZXIoaW5Td2l0Y2g6IHN0cmluZykge1xuICAgIGlmIChpblN3aXRjaCA9PT0gXCJzaG93XCIpXG4gICAgICAgIGpRdWVyeShcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJsb2FkZWQgbG9mdGxvYWRlci1sb2FkZWRcIik7XG4gICAgZWxzZSBpZiAoaW5Td2l0Y2ggPT09IFwiaGlkZVwiKVxuICAgICAgICBqUXVlcnkoXCJib2R5XCIpLmFkZENsYXNzKFwibG9hZGVkIGxvZnRsb2FkZXItbG9hZGVkXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlVmVudWVJbWFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG5cbiAgICBpZiAoaW5wdXRzV2l0aFZhbHVlLnZlbnVlSW1hZ2VTcmMgIT09IHVuZGVmaW5lZClcbiAgICAgICAgalF1ZXJ5KFwiI3ZlbnVlSW1hZ2UgaW1nXCIpLmF0dHIoXCJzcmNcIiwgaW5wdXRzV2l0aFZhbHVlLnZlbnVlSW1hZ2VTcmMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUluQ2FydE1vZGFsKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5mYWRlSW4oMzAwKTtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfaGlkZV9kaWFsb2dfdGl0bGViYXJcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVByaWNlc2NhbGVDU1MoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVzQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZXNBcnIubWFwKGFyciA9PiB7XG4gICAgICAgIGNvbnN0IElEOiBzdHJpbmcgPSBhcnIuaWRbMF07XG4gICAgICAgIGxldCBjb2xvcjogc3RyaW5nID0gYCMke2Fyci5jb2xvclswXX0gIWltcG9ydGFudGA7ICAvLyBVcGRhdGU6IENvbG9ycyBhcmUgYWx3YXlzIGRlZmluZWQ6IGZhbGxiYWNrIGNvbG9ycyBleGlzdCBpbiBzeXN0ZW0gc28gZXZlcnkgWE1MIHByb3ZpZGVzIHRoZW1cbiAgICAgICAgcmV0dXJuIGAuXyR7SUR9IHsgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcn07IH1gO1xuICAgIH0pLmpvaW4oXCJcXHJcXG5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RVSVRvTG9hZGluZygpOiB2b2lkIHtcbiAgICBDYXJ0QnV0dG9ucy5zaG93SGlkZUJ0bkNhcnRMb2FkaW5nKFwic2hvd1wiKTtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuaGlkZSgpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIikuYWRkQ2xhc3MoXCJkb3QtcHVsc2VcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRWZXJzaW9uKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNib3R0b21IVE1MVmVyc2lvblwiKVswXS5pbm5lclRleHQgPSBjb25maWcudmVyc2lvbjtcbiAgICBqUXVlcnkoXCIjYm90dG9tSFRNTEJyYW5jaFwiKVswXS5pbm5lclRleHQgPSBgKCR7Y29uZmlnLmJyYW5jaH0pYDtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFV0aWxzIHtcblxuICAgIHN0YXRpYyB3YWl0Rm9yRWxlbWVudChpblNlbGVjdG9yOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLCBpbkNhbGxiYWNrOiBGdW5jdGlvbiwgaW5Td2l0Y2g6IEkuVHlwZVdhaXRGb3JFbGVtZW50U3dpdGNoID0gXCJzZWxlY3RvclwiLCBpbkNoZWNrSW50ZXJ2YWxJbk1zOiBudW1iZXIgPSAxMDAwLCBpblRpbWVvdXRJbk1zOiBudW1iZXIgPSAxMDAwMCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGFydFRpbWVJbk1zOiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIChmdW5jdGlvbiBsb29wU2VhcmNoKCk6IHZvaWQge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudDogYm9vbGVhbiB8IEhUTUxFbGVtZW50ID0gaW5Td2l0Y2ggPT09IFwic2VsZWN0b3JcIiA/IGpRdWVyeSg8c3RyaW5nPmluU2VsZWN0b3IpLmdldCgwKSA6IFV0aWxzLmdldFNlYXRtYXBFbGVtZW50KCk7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhcInJlYWR5XCIpO1xuICAgICAgICAgICAgICAgIGluQ2FsbGJhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coYFJlcGVhdGluZyBmb3IgJHtpblN3aXRjaH1gKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluVGltZW91dEluTXMgJiYgRGF0ZS5ub3coKSAtIHN0YXJ0VGltZUluTXMgPiBpblRpbWVvdXRJbk1zKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGxvb3BTZWFyY2goKTtcbiAgICAgICAgICAgICAgICB9LCBpbkNoZWNrSW50ZXJ2YWxJbk1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0U2VhdG1hcEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNlYXRDaGFydHM6IENhbGxhYmxlRnVuY3Rpb24gPSAoPGFueT53aW5kb3cpLmpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwXCIpLnNlYXRDaGFydHM7XG4gICAgICAgIHJldHVybiBVdGlscy5pc0Z1bmN0aW9uKHNlYXRDaGFydHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyB3YWl0Rm9yU2VhdG1hcChpbkNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWF0Q2hhcnRzOiBDYWxsYWJsZUZ1bmN0aW9uID0gKDxhbnk+d2luZG93KS5qUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcFwiKS5zZWF0Q2hhcnRzO1xuICAgICAgICB0aGlzLndhaXRGb3JFbGVtZW50KHNlYXRDaGFydHMsIGluQ2FsbGJhY2ssIFwic2VhdG1hcFwiKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcXVlcnlTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNGdW5jdGlvbihpblNlbGVjdG9yOiBDYWxsYWJsZUZ1bmN0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaW5TZWxlY3RvciA9PT0gXCJmdW5jdGlvblwiID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbmplY3QoaW5Db250ZW50OiBzdHJpbmcsIGluVHlwZTogc3RyaW5nID0gXCJqc1wiLCBpbkxvYzogc3RyaW5nID0gXCJoZWFkXCIpOiB2b2lkIHtcbiAgICAgICAgdmFyIHNjcmlwdDogSS5UeXBlSW5qZWN0U2NyaXB0IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIHN3aXRjaCAoaW5UeXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwianNcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5zcmMgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJjc3NcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgICAgICg8SFRNTExpbmtFbGVtZW50PnNjcmlwdCkucmVsID0gXCJzdHlsZXNoZWV0XCI7XG4gICAgICAgICAgICAgICAgKDxIVE1MTGlua0VsZW1lbnQ+c2NyaXB0KS5ocmVmID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwiY3NzQ3VzdG9tXCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInNjcmlwdFwiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2NyaXB0KVxuICAgICAgICAgICAgVXRpbHMuYXBwZW5kU2NyaXB0KHNjcmlwdCwgaW5Mb2MpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBlbmRTY3JpcHQoaW5TY3JpcHQ6IEkuVHlwZUluamVjdFNjcmlwdCwgaW5Mb2M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoaW5Mb2MgPT09IFwiYm9keVwiKVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpblNjcmlwdCk7XG4gICAgICAgIGVsc2UgaWYgKGluTG9jID09PSBcImhlYWRcIilcbiAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5TY3JpcHQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXREYXlOYW1lKGluRGF0ZTogRGF0ZSwgaW5Mb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpbkRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGluTG9jYWxlLCB7IHdlZWtkYXk6ICdsb25nJyB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29uc29sZUxvZyhpbk1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnZbXCJOT0RFX0VOVlwiXSA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgICAgICAgICAgY29uc29sZS5sb2coaW5NZXNzYWdlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Q29uZmlnVmFsdWUoaW5Qcm9wZXJ0eTogSS5UeXBlQ29uZmlnUmVzb3VyY2VzUHJvcGVydHkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicmFuY2g6IEkuVHlwZUNvbmZpZ0JyYW5jaCA9IGNvbmZpZy5icmFuY2g7XG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IGNvbmZpZy5yZXNvdXJjZXNbYnJhbmNoXTtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlc1tpblByb3BlcnR5XTtcbiAgICB9XG59IiwiXG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzU01BUCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcblxuICAgIGlmICghaW5wdXRzV2l0aFZhbHVlLnNtYXApXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IHNtYXBBcnI6IG51bWJlcltdID0gaW5wdXRzV2l0aFZhbHVlLnNtYXAuc3BsaXQoXCJcIikubWFwKE51bWJlcik7XG5cbiAgICBpZiAoIXNtYXBBcnJbMF0pXG4gICAgICAgIGpRdWVyeShcIiNldmVudEluZm9DYXBhY2l0eVwiKS5oaWRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKGluU2VjdGlvbklEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHNlY3Rpb25BcnI6IEkuU2VjdGlvbltdID0gdmVudWVYTUwubWFzdGVyX2NvbmZpZ1swXS5zZWN0aW9uX2NvbmZpZ1swXS5zZWN0aW9uO1xuXG4gICAgcmV0dXJuIHNlY3Rpb25BcnIuZmluZChhcnIgPT4gaW5TZWN0aW9uSUQgPT09IGFyci5pZFswXSk/LmRlc2NbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKGluUHJvcGVydHk6IEkuUHJpY2VzY2FsZTJQcm9wZXJ0aWVzLCBpblByaWNlc2NhbGVJRDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5QcmljZXNjYWxlSUQgPyBvYmogOiB1bmRlZmluZWQpPy5baW5Qcm9wZXJ0eV1bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdXllclR5cGVDb2RlQnlCdXllclR5cGVJRChpbkJ1eWVyVHlwZUlEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlQnV5ZXJUeXBlQXJyOiBJLkJ1eWVyVHlwZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLmJ1eWVyX3R5cGVzWzBdLmJ1eWVyX3R5cGU7XG5cbiAgICByZXR1cm4gdmVudWVCdXllclR5cGVBcnIuZmluZChhcnIgPT4gaW5CdXllclR5cGVJRCA9PT0gYXJyLmlkWzBdKT8uY29kZVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByaWNlQnlCdXllclR5cGVJRChpbkJ1eWVydHlwZUlEOiBzdHJpbmcsIGluUHJpY2VzY2FsZU9iajogSS5QcmljZXNjYWxlNSk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcHJpY2UgPSBpblByaWNlc2NhbGVPYmo/LmJ1eWVyX3R5cGUuZmluZChhcnIgPT4gYXJyLmlkWzBdID09PSBpbkJ1eWVydHlwZUlEKT8ucHJpY2VbMF07XG4gICAgcmV0dXJuIHByaWNlID8gcGFyc2VGbG9hdChwcmljZSkgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZVByaWNlU3RydWN0dXJlUHJvcGVydHlCeVByaWNlc2NhbGVJRChpbklEOiBzdHJpbmcpOiBJLlByaWNlc2NhbGU1IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTVbXSA9IHZlbnVlWE1MLnByaWNlX3N0cnVjdHVyZVswXS5wcmljZXNjYWxlO1xuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpbklEKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1eWVyVHlwZXNCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRDogc3RyaW5nKTogSS5UeXBlQnV5ZXJUeXBlQXJyW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGJ1eWVyVHlwZXNBcnI6IEkuQnV5ZXJUeXBlM1tdIHwgdW5kZWZpbmVkID0gZmluZEJ1eWVyVHlwZXNBcnJCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRCk7XG4gICAgcmV0dXJuIGJ1eWVyVHlwZXNBcnIgPyBidXllclR5cGVzQXJyLm1hcChhcnIgPT4gW2Fyci5pZFswXSwgYXJyLnByaWNlWzBdLCBnZXRCdXllclR5cGVEZXNjKGFycildKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0ZWRTZWF0SW5kZXhlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAoY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubWFwKGFyciA9PiBhcnIuam9pbihcIixcIikpKS5qb2luKFwifFwiKTtcbn1cblxuZnVuY3Rpb24gZmluZEJ1eWVyVHlwZXNBcnJCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRDogc3RyaW5nKTogSS5CdXllclR5cGUzW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlNVtdID0gdmVudWVYTUwucHJpY2Vfc3RydWN0dXJlWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5QcmljZXNjYWxlSUQpPy5idXllcl90eXBlO1xufVxuXG5mdW5jdGlvbiBnZXRCdXllclR5cGVEZXNjKGluQXJyOiBJLkJ1eWVyVHlwZTMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IGJ1eWVyVHlwZUFycjogSS5CdXllclR5cGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5idXllcl90eXBlc1swXS5idXllcl90eXBlO1xuXG4gICAgcmV0dXJuIGJ1eWVyVHlwZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluQXJyLmlkWzBdID8gb2JqLmRlc2NbMF0gOiB1bmRlZmluZWQpPy5kZXNjWzBdO1xufSIsImltcG9ydCBqUXVlcnkgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9tb2R1bGVzL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL21vZHVsZXMvY29uZmlnXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4vbW9kdWxlcy91dGlsc1wiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL21vZHVsZXMvZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL21vZHVsZXMvY2FydFwiO1xuaW1wb3J0ICogYXMgQm9va2luZ0J0biBmcm9tIFwiLi9tb2R1bGVzL2Jvb2tpbmdCdXR0b25cIjtcbmltcG9ydCAqIGFzIENoaWxkIGZyb20gJy4vbW9kdWxlcy9jaGlsZCc7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi9tb2R1bGVzL3VpXCI7XG5yZXF1aXJlKFwiLi4vc3JjL2Nzcy9zZWF0bWFwLmNzc1wiKTtcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgLy8gSW5qZWN0IEpTQyAoalF1ZXJ5IFNlYXQgQ2hhcnRzKVxuICAgIC8vIEluamVjdCBDU1MgZm9yIEpTQywgY2hpbGQgYW5kIGpRdWVyeSBkaWFsb2dcbiAgICBDaGlsZC5pbmplY3RSZXNvdXJjZXMoKTtcblxuICAgIC8vIFN0YXJ0IG1lc3NhZ2UgaGFuZGxlciB0byBiZSBhYmxlIHRvIHJlY2VpdmUgbWVzc2FnZXMgZnJvbSBwYXJlbnRcbiAgICBDb21tdW5pY2F0aW9uLmxpc3RlblRvTWVzc2FnZXMobWVzc2FnZUhhbmRsZXIpO1xuXG4gICAgLy8gRGl2IHdpdGggSUQgXCJjb250YWluZXJTZWF0bWFwXCIgaXMgbm90IHlldCByZWFkeSwgd2FpdCBmb3IgaXQsIHRoZW4gZGlzcGxheSBzZWF0bWFwIGJ1dHRvbiBvbiB0cnhzdGF0ZSAyMFxuICAgIFV0aWxzLndhaXRGb3JTZWF0bWFwKEJvb2tpbmdCdG4uc2hvd1NlYXRtYXBCdG5QYXJlbnQpO1xuXG4gICAgLy8gTW9kYWwgb3ZlcmxheSBmb3IgY2FydCBpcyBub3QgeWV0IHJlYWR5LCB3YWl0IGZvciBpdCwgdGhlbiBpbml0aWFsaXplXG4gICAgVXRpbHMud2FpdEZvckVsZW1lbnQoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIiwgQ2FydC5pbml0TW9kYWxDYXJ0KTtcblxuICAgIC8vIEFkZCBldmVudCBsaXN0ZW5lcnNcbiAgICBFdmVudHMuYWRkQ2xvc2VNb2RhbCgpO1xuICAgIEV2ZW50cy5hZGRNb2RhbENhcnQoKTtcbiAgICBFdmVudHMuYWRkRHJvcGRvd25TZWF0bWFwKCk7XG5cbiAgICAvLyBDaGFuZ2UgdmVyc2lvbiBjb25maWd1cmVkIGluIGNvbmZpZ1xuICAgIFVJLmFwcGVuZFZlcnNpb24oKTtcbn0pO1xuXG4vLyBIaWRlIGhlYWRlciB3aGVuIGhlaWdodCBvZiB3aW5kb3cgaXMgc21hbGxlciB0aGFuIC4uLlxuLy8gTm90ZTogQ2Fubm90IGRldGVybWluZSB3aWR0aCBvZiBpbm5lciBpZnJhbWUsIHRoZXJlZm9yZSBuZWVkIHRvIHVzZSB3aW5kb3cuaW5uZXJIZWlnaHRcbndpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwYW56b29tID0gY29uZmlnLnN0YXRlLnBhbnpvb207XG4gICAgY29uc3QgaW5uZXJIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICBpZiAoaW5uZXJIZWlnaHQgPCA1NzYpIHtcbiAgICAgICAgalF1ZXJ5KFwiI2NvbnRhaW5lckV2ZW50SW5mb1Jvd1wiKS5oaWRlKCk7XG4gICAgICAgIHBhbnpvb20/LnJlc2V0KCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlubmVySGVpZ2h0ID49IDU3Nikge1xuICAgICAgICBqUXVlcnkoXCIjY29udGFpbmVyRXZlbnRJbmZvUm93XCIpLnNob3coKTtcbiAgICAgICAgcGFuem9vbT8ucmVzZXQoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1lc3NhZ2VIYW5kbGVyKGluRTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiAoaW5FLmRhdGEpICE9PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKGBjaGlsZDogcmVjZWl2ZWQgZnJvbSAke2RhdGEuZnJvbX1gKTtcbiAgICBVdGlscy5jb25zb2xlTG9nKGRhdGEpO1xuXG4gICAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfaW5pdF92ZW51ZVwiOiB7XG4gICAgICAgICAgICBDaGlsZC5pbml0VmVudWUoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfaW5pdF9zZW5kVmVudWVYTUxcIjoge1xuICAgICAgICAgICAgQ2hpbGQuaW5pdFNlbmRWZW51ZVhNTChpbkUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcInBhcmVudF9pbml0X3NlbmRJbnB1dHNXaXRoVmFsdWVcIjoge1xuICAgICAgICAgICAgQ2hpbGQuaW5pdFNlbmRJbnB1dHNXaXRoVmFsdWUoaW5FKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfc2VuZFNlYXRtYXBYTUxcIjoge1xuICAgICAgICAgICAgQ2hpbGQuc2VuZFNlYXRtYXBYTUwoaW5FKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfc2VuZENoZWNrb3V0UmVzcG9uc2VcIjogeyAgICAgICAgIFxuICAgICAgICAgICAgQ2hpbGQuc2VuZENoZWNrb3V0UmVzcG9uc2UoaW5FKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59Il19