2 lines
537 KiB
Plaintext
2 lines
537 KiB
Plaintext
/*! For license information please see player-1.04596d25.js.LICENSE.txt */
|
|
"use strict";!function(U,F){"object"==typeof module&&"object"==typeof module.exports?F():"function"==typeof define&&define.amd?define([],F):(U="undefined"!=typeof globalThis?globalThis:U||self)&&F()}(this,function(){"use strict";"object"==typeof window&&(window.openRedirect={version:"1.2.20",webpackPluginVersion:"3.4.22",reportOnly:!1})}),!function(U,F){"object"==typeof exports&&"undefined"!=typeof module?F(exports):"function"==typeof define&&define.amd?define(["exports"],F):F((U="undefined"!=typeof globalThis?globalThis:U||self).xss={})}(this,function(U){"use strict";var F=function(){return(F=Object.assign||function(U){for(var F,Q=1,B=arguments.length;Q<B;Q++)for(var R in F=arguments[Q])Object.prototype.hasOwnProperty.call(F,R)&&(U[R]=F[R]);return U}).apply(this,arguments)};function Q(U,F,Q){if(Q||2==arguments.length)for(var B,R=0,V=F.length;R<V;R++)!B&&R in F||(B||(B=Array.prototype.slice.call(F,0,R)),B[R]=F[R]);return U.concat(B||Array.prototype.slice.call(F))}var B=/[^a-zA-Z0-9\\_:.-]/gim,R=/</g,V=/>/g,l=/&#([a-zA-Z0-9]*);?/gim,Z=/"/g,d=/:?/gim,J=/&newline;?/gim,W=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi,S=/u\s*r\s*l\s*\(.*/gi,n=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,E=/"/g,m=function(U){return U.replace(R,"<").replace(V,">")},N={indexOf:function(U,F){var Q,B;for(Q=0,B=U.length;Q<B;Q++)if(U[Q]===F)return Q;return -1},forEach:function(U,F,Q){var B,R;for(B=0,R=U.length;B<R;B++)F.call(Q,U[B],B,U)},some:function(U,F,Q){var B,R;for(B=0,R=U.length;B<R;B++)if(F.call(Q,U[B],B,U))return!0;return!1},trim:function(U){return U.replace(/(^\s*)|(\s*$)/g,"")},includes:function(U,F){if("string"==typeof U)return -1!==U.indexOf(F);for(var Q=0;Q<U.length;Q++)if(U[Q]===F)return!0;return!1},spaceIndex:function(U){var F=/\s|\n|\t/.exec(U);return F?F.index:-1},uniq:function(U){for(var F={},Q=[],B=0;B<U.length;B++)F[U[B]]||(Q.push(U[B]),F[U[B]]=!0);return Q},from:function(U){for(var F=[],Q=0;Q<U.length;Q++)F.push(U[Q]);return F},keys:function(U){var F=[];for(var Q in U)F.push(Q);return F}};function k(U){return null==U}function c(U){var F;return'"'===(F=U)[0]&&'"'===F[F.length-1]||"'"===F[0]&&"'"===F[F.length-1]?U.substr(1,U.length-2):U}function b(U){var F,Q,B,R,V,l,Z,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",J="",W=0;for(U=function(U){U=U.replace(/rn/g,"n");for(var F="",Q=0;Q<U.length;Q++){var B=U.charCodeAt(Q);B<128?F+=String.fromCharCode(B):B>127&&B<2048?F+=String.fromCharCode(B>>6|192)+String.fromCharCode(63&B|128):F+=String.fromCharCode(B>>12|224)+String.fromCharCode(B>>6&63|128)+String.fromCharCode(63&B|128)}return F}(U);W<U.length;)R=(F=U.charCodeAt(W++))>>2,V=(3&F)<<4|(Q=U.charCodeAt(W++))>>4,l=(15&Q)<<2|(B=U.charCodeAt(W++))>>6,Z=63&B,isNaN(Q)?l=Z=64:isNaN(B)&&(Z=64),J=J+d.charAt(R)+d.charAt(V)+d.charAt(l)+d.charAt(Z);return J}function h(U){var F,Q,B,R,V,l,Z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d="",J=0;for(U=U.replace(/[^A-Za-z0-9+/=]/g,"");J<U.length;)F=Z.indexOf(U.charAt(J++))<<2|(R=Z.indexOf(U.charAt(J++)))>>4,Q=(15&R)<<4|(V=Z.indexOf(U.charAt(J++)))>>2,B=(3&V)<<6|(l=Z.indexOf(U.charAt(J++))),d+=String.fromCharCode(F),64!==V&&(d+=String.fromCharCode(Q)),64!==l&&(d+=String.fromCharCode(B));return function(U){for(var F="",Q=0,B=0,R=0,V=0;Q<U.length;)(B=U.charCodeAt(Q))<128?(F+=String.fromCharCode(B),Q++):B>191&&B<224?(F+=String.fromCharCode((31&B)<<6|63&(V=U.charCodeAt(Q+1))),Q+=2):(V=U.charCodeAt(Q+1),F+=String.fromCharCode((15&B)<<12|(63&V)<<6|63&(R=U.charCodeAt(Q+2))),Q+=3);return F}(d)}function X(U,F,Q){var B="",R=0,V=!1,l=!1,Z=0,d=U.length,J="",W="";U:for(Z=0;Z<d;Z++){var S=U.charAt(Z);if(!1===V){if("<"===S){V=Z;continue}}else if(!1===l){if("<"===S){B+=Q(U.slice(R,Z)),V=Z,R=Z;continue}if(">"===S||Z===d-1){B+=Q(U.slice(R,V)),J=function(U){var F,Q=N.spaceIndex(U);return F=-1===Q?U.slice(1,-1):U.slice(1,Q+1),"/"===(F=N.trim(F).toLowerCase()).slice(0,1)&&(F=F.slice(1)),"/"===F.slice(-1)&&(F=F.slice(0,-1)),F}(W=U.slice(V,Z+1)),B+=F(V,B.length,J,W,"</"===W.slice(0,2)),R=Z+1,V=!1;continue}if('"'===S||"'"===S)for(var n=1,E=U.charAt(Z-n);""===E.trim()||"="===E;){if("="===E){l=S;continue U}E=U.charAt(Z-++n)}}else if(S===l){l=!1;continue}}return R<d&&(B+=Q(U.substr(R))),B}function a(U,F){var Q=0,R=0,V=[],l=!1,Z=U.length;function d(U,Q){if(!((U=(U=N.trim(U)).replace(B,"").toLowerCase()).length<1)){var R=F(U,Q||"");R&&V.push(R)}}for(var J=0;J<Z;J++){var W=U.charAt(J),S=void 0;if(!1!==l||"="!==W){if(!1===l||J!==R){if(/\s|\n|\t/.test(W)){if(U=U.replace(/\s|\n|\t/g," "),!1===l){if(-1===(S=function(U,F){for(;F<U.length;F++){var Q=U[F];if(" "!==Q)return"="===Q?F:-1}return -1}(U,J))){d(N.trim(U.slice(Q,J))),l=!1,Q=J+1;continue}J=S-1;continue}if(-1===(S=function(U,F){for(;F>0;F--){var Q=U[F];if(" "!==Q)return"="===Q?F:-1}return -1}(U,J-1))){d(l,c(N.trim(U.slice(Q,J)))),l=!1,Q=J+1;continue}}}else{if(-1===(S=U.indexOf(W,J+1)))break;d(l,N.trim(U.slice(R+1,S))),l=!1,Q=(J=S)+1}}else l=U.slice(Q,J),Q=J+1,R='"'===U.charAt(Q)||"'"===U.charAt(Q)?Q:function(U,F){for(;F<U.length;F++){var Q=U[F];if(" "!==Q)return"'"===Q||'"'===Q?F:-1}return -1}(U,J+1)}return Q<U.length&&(!1===l?d(U.slice(Q)):d(l,c(N.trim(U.slice(Q))))),N.trim(V.join(" "))}function p(U,F,Q){if(Q=function(U){return U=function(U){for(var F="",Q=0,B=U.length;Q<B;Q++)F+=32>U.charCodeAt(Q)?" ":U.charAt(Q);return N.trim(F)}(U=(U=(U=U.replace(Z,'"')).replace(l,function(U,F){return"x"===F[0]||"X"===F[0]?String.fromCharCode(parseInt(F.substr(1),16)):String.fromCharCode(parseInt(F,10))})).replace(d,":").replace(J," "))}(Q),"href"===F||"src"===F){if("#"===(Q=N.trim(Q)))return"#";if("http://"!==Q.substr(0,7)&&"https://"!==Q.substr(0,8)&&"mailto:"!==Q.substr(0,7)&&"tel:"!==Q.substr(0,4)&&"data:image/"!==Q.substr(0,11)&&"ftp://"!==Q.substr(0,6)&&"./"!==Q.substr(0,2)&&"../"!==Q.substr(0,3)&&"#"!==Q[0]&&"/"!==Q[0])return""}else if("background"===F){if(W.lastIndex=0,W.test(Q))return""}else if("style"===F&&(n.lastIndex=0,n.test(Q)||(S.lastIndex=0,S.test(Q)&&(W.lastIndex=0,W.test(Q)))))return"";return Q=function(U){return U=m(U=U.replace(E,"""))}(Q)}var C=function(U){return"string"==typeof U?U.replace(/'/g,'"').replace('=""',"").replace(/\s+/g,"").toLowerCase():""},T=function(){function U(U){var F=function(U){var F={};for(var Q in U)F[Q]=U[Q];return F}(U||{});F.stripIgnoreTag&&(F.onIgnoreTag,F.onIgnoreTag=function(){return""}),F.whiteList={},F.onTag=function(){},F.onTagAttr=function(){},F.onIgnoreTag=function(){},F.onIgnoreTagAttr=function(){},F.safeAttrValue=p,F.escapeHtml=m,this.options=Object.assign(F,U)}return U.prototype.process=function(U){if(!(U=(U=U||"").toString()))return"";var F,Q,B,R,V,l,Z=this.options,d=Z.whiteList,J=Z.onTag,W=Z.onIgnoreTag,S=Z.onTagAttr,n=Z.onIgnoreTagAttr,E=Z.safeAttrValue,m=Z.escapeHtml;Z.stripBlankChar&&(U=(F=(F=U.split("")).filter(function(U){var F=U.charCodeAt(0);return!(127===F||F<=31&&10!==F&&13!==F)})).join("")),Z.allowCommentTag||(U=function(U){for(var F="",Q=0;Q<U.length;){var B=U.indexOf("\x3c!--",Q);if(-1===B){F+=U.slice(Q);break}F+=U.slice(Q,B);var R=U.indexOf("--\x3e",B);if(-1===R)break;Q=R+3}return F}(U));var k=!1;Z.stripIgnoreTagBody&&(Q=Z.stripIgnoreTagBody,"function"!=typeof(B=W)&&(B=function(){}),R=!Array.isArray(Q),V=[],l=!1,W=(k={onIgnoreTag:function(U,F,Z){var d;if(d=U,R||-1!==N.indexOf(Q,d)){if(Z.isClosing){var J="[/removed]",W=Z.position+J.length;return V.push([!1!==l?l:Z.position,W]),l=!1,J}return l||(l=Z.position),"[removed]"}return B(U,F,Z)},remove:function(U){var F="",Q=0;return N.forEach(V,function(B){F+=U.slice(Q,B[0]),Q=B[1]}),F+=U.slice(Q)}}).onIgnoreTag);var c=X(U,function(U,F,Q,B,R){var V={sourcePosition:U,position:F,isClosing:R,isWhite:Object.prototype.hasOwnProperty.call(d,Q)},l=J(Q,B,V);if(null!=l)return l;if(V.isWhite){if(V.isClosing)return"</".concat(Q,">");var Z=function(U){var F=N.spaceIndex(U);if(-1===F)return{html:"",closing:"/"===U[U.length-2]};var Q="/"===(U=N.trim(U.slice(F+1,-1)))[U.length-1];return Q&&(U=N.trim(U.slice(0,-1))),{html:U,closing:Q}}(B),k=d[Q],c=a(Z.html,function(U,F){var B=-1!==N.indexOf(k,U),R=S(Q,U,F,B);return null==R?B?(F=E(Q,U,F,null))?"".concat(U,'="').concat(F,'"'):U:null==(R=n(Q,U,F,B))?void 0:R:R});return B="<".concat(Q),c&&(B+=" ".concat(c)),Z.closing&&(B+=" /"),B+=">"}return null==(l=W(Q,B,V))?m(B):l},m);return k&&(c=k.remove(c)),c},U}(),G=Function("\nvar _checkXSS = function (it) {\n return it && it.Math == Math && it;\n};\nreturn _checkXSS(typeof globalThis === 'object' && globalThis) ||\n_checkXSS(typeof window === 'object' && window) ||\n_checkXSS(typeof self === 'object' && self) ||\n_checkXSS(typeof global === 'object' && global) ||\nFunction('return this')();\n")(),i=new(function(){function U(){var U=this;this.batchData=[],this.uniqKeys=new Set,this.timeout=2e3,this.lock=!1,this.getSlardarBid=function(){var F,Q,B="douyin_web";if(!N.includes(B,"bid"))return B;if(U.config&&U.config.bid)return U.config.bid;if(G&&G._xssBid)return G._xssBid;if(G&&G.slardar&&"function"==typeof G.slardar.config){var R=(G.slardar.config()||{}).bid;if(R)return R}if(G&&G.Slardar&&"function"==typeof G.Slardar.config){var V=(G.Slardar.config()||{}).bid;if(V)return V}return(null===(Q=null===(F=null==G?void 0:G.Slardar)||void 0===F?void 0:F._baseParams)||void 0===Q?void 0:Q.bid)||"argus"},this.getConfigRegion=function(){var F;return N.includes("cn","region")?U.config&&U.config.region?U.config.region:((null===(F=null==G?void 0:G.gfdatav1)||void 0===F?void 0:F.region)||"cn").toLowerCase():"cn"},this.gerReportUrl=function(){var F={cn:h("aHR0cHM6Ly9tb24uemlqaWVhcGkuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9"),boe:h("aHR0cHM6Ly9tb24uemlqaWVhcGkuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9"),ttp:h("aHR0cHM6Ly9tb24udXMudGlrdG9rdi5jb20vbW9uaXRvcl9icm93c2VyL2NvbGxlY3QvYmF0Y2gvc2VjdXJpdHkvP2JpZD0="),va:h("aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9"),maliva:h("aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9"),sg:h("aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9"),boei18n:h("aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9")}[U.getConfigRegion()];if(F)return F+U.getSlardarBid()}}return U.prototype.setConfig=function(U){this.config=U},U.prototype.upload=function(){var U=this,F=this.gerReportUrl();!this.lock&&F&&0!==this.batchData.length&&(this.lock=!0,setTimeout(function(){var Q=U.batchData.slice(0,100);U.batchData=U.batchData.slice(100),G.fetch(F,{method:"post",body:JSON.stringify(Q),headers:{"Content-Type":"application/json"}}).catch(function(U){}),U.lock=!1,U.upload()},this.timeout))},U.prototype.generateKey=function(U){return U.collectKey?[U.collectMode,U.collectKey].join("___"):""},U.prototype.push=function(U){this.batchData.push(U),this.upload()},U.prototype.report=function(U){var F=this.generateKey(U);if(G.fetch&&U.collectKey){var Q="object"==typeof window?window.location.href:"SSR";U.documentUrl=Q;var B={age:Math.floor(Date.now()),type:"xss",url:Q,body:U,"user-agent":""};"enforce"===U.disposition&&"SSR"!==Q||(B.url=F),"SSR"===Q&&(B.url="SSR___".concat(B.url),B.body.ssr=!0),this.push(B)}},U}()),y=function(U){for(var F=0,Q=function(Q){Array.isArray(U[Q])?0===U[Q].length?delete U[Q]:(U[Q]=N.from(N.uniq(U[Q])),F+=U[Q].length):0===N.keys(U[Q]).length?delete U[Q]:N.keys(U[Q]).forEach(function(B){U[Q][B]=N.from(N.uniq(U[Q][B])),F+=U[Q][B].length})},B=0,R=N.keys(U);B<R.length;B++)Q(R[B]);return{count:F,ret:U}};function t(U,F){return i.setConfig(F),new T(F).process(U)}function Y(U){var F,Q=(F=/\s|\n|\t/.exec(U))?F.index:-1;if(-1===Q)return{html:"",closing:"/"===U[U.length-2]};var B="/"===(U=U.slice(Q+1,-1).trim())[U.length-1];return B&&(U=U.slice(0,-1).trim()),{html:U,closing:B}}var L=function(U){return -1===(U=(U=(U=(U=U.replace(/:/gi,":")).replace(/&tab;/gi,"")).replace(/&newline;/gi,"")).replace(/(\t|\n|\r)/g,"")).indexOf("&#")?U.trim().toLowerCase():U.trim().replace(/&#(?:(x)([0-9a-f]+)|([0-9]+));?/gi,function(U,F,Q,B){return String.fromCharCode(F?parseInt(Q,16):parseInt(B))}).replace(/(\t|\n|\r)/g,"").toLowerCase()};function s(U,F){if(void 0===U&&(U=""),"string"!=typeof U)return!0;if(U=L(U),N.includes(U,"base64")&&!function(U){if(""===U||""===U.trim())return!0;try{return!N.includes(U,"data:text/html;base64")}catch(U){return!0}}(U))return F&&F("data:text/html;base64"),!1;var Q=["expression(","behavior:","view-source:"];if(N.some(Q,function(F){return -1!==U.indexOf(F)}))return N.forEach(Q,function(Q){-1!==U.indexOf(Q)&&F&&F(Q)}),!1;var B=["data:application","data:javascript","data:text/html","data:texthtml"];if(N.some(B,function(F){return -1!==U.indexOf(F)}))return N.forEach(B,function(Q){-1!==U.indexOf(Q)&&F&&F(Q)}),!1;if(U.indexOf("javascript:")>0)return F&&F("javascript:"),!1;if(/^javascript:/i.test(U)){var R=U.slice(11).replace(/\s/g,"").trim();return!!N.some(["void","void(0)","void0","false","undefined",";"],function(U){return U===R})||(F&&F("javascript:"),!1)}return!0}var D=function(U,F){var Q,B,R="<%= isSaveValidUrl =>";if("string"!=typeof U||(B=Number("<%= urlLimit =>"),void 0!==Q&&(B=Q),"NaN"!==U.toString()&&-1!==B&&U.length>=B)||s(U,F))return U;try{if(!0===(R=JSON.parse(R))||"true"===R){var V=new URL(U);return V.origin+V.pathname}}catch(U){}return"#"};function o(U,F,B){if(void 0===U&&(U=""),void 0===F&&(F=[]),"string"!=typeof U)return!0;if(!s(U=L(U)))return!1;var R,V={url:(R=U.match(/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/)||[])[0],scheme:R[1],slash:R[2],host:R[3],port:R[4],path:R[5],query:R[6],hash:R[7]},l=V.scheme,Z=V.host;return B?!!B(U):!(!l||!Z)&&(!N.includes(["http","https","file"],l)||("object"==typeof window&&window&&(F=Q(Q([],F,!0),[location.host],!1)),N.some(F,function(U){return!!(U instanceof RegExp&&U.test(Z))||U===Z})))}var u={a:["target","title","spellcheck","rel"],canvas:[],abbr:["title"],address:[],area:["shape","coords","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:["dir"],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["alt","title","width","height","decoding"],ins:["datetime"],li:[],mark:[],nav:[],ol:["start"],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],delete:[],form:[],strong:[],mask:["maskunits","x","y","width","height","fill"],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],wbr:[],video:["autoplay","controls","loop","preload","height","width"],svg:["viewBox","version","xmlns","fill","width","height","stroke","stroke-width","style"],path:["d","fill","opacity","stroke","p-id","fill-rule","clip-rule","stroke-width","stroke-linecap","stroke-linejoin","fill-opacity","mask"],rect:["x","y","width","height","fill","stroke","rx"],g:[]},M={collect:null,initCollect:function(){this.collect={whiteList:{},filterProtocol:[]}},removeCollect:function(){var U=y(this.collect),F=U.count,Q=U.ret;return this.collect=null,{collectKey:0===F?null:JSON.stringify(Q),collectMode:"white"}},onIgnoreTagAttr:function(U,F,B){return U&&N.indexOf(["href","src"],F)>-1?M.domainWhiteList&&Array.isArray(M.domainWhiteList)&&M.domainWhiteList.length>0&&!o(B,Q([],M.domainWhiteList,!0))?"":"".concat(F,'="').concat(D(B,function(U){var F;null===(F=M.collect)||void 0===F||F.filterProtocol.push(U)}),'"'):U&&(N.indexOf(["style","class","id"],F)>-1||F.indexOf("data-")>-1)?"".concat(F,'="').concat(B,'"'):(M.collect.whiteList[U]=M.collect.whiteList[U]||[],void M.collect.whiteList[U].push(F))},onIgnoreTag:function(U,F){if("style"===U)return F;X(F,function(U,F,Q,B){a(Y(B).html.replace("/",""),function(U){M.collect.whiteList[Q]=M.collect.whiteList[Q]||[],M.collect.whiteList[Q].push(U)})},m)},whiteList:u,mergeWhiteList:function(U){for(var F,Q={},B=0,R=N.keys(u);B<R.length;B++)Q[F=R[B]]=N.from(u[F]);for(var V=0,l=N.keys(U);V<l.length;V++)Q[F=l[V]]=F in u?u[F].concat(U[F]):N.from(U[F]);return Q},setWhiteList:function(U){for(var F=0,Q=N.keys(U);F<Q.length;F++){var B=Q[F];this.whiteList[B]=B in u?u[B].concat(U[B]):N.from(U[B])}}};try{var x={},I="merge";N.includes(I,"override")&&(M.whiteList=x.whiteList),N.includes(I,"merge")&&M.setWhiteList(x.whiteList)}catch(U){}var K=function(U,F){for(var Q={},B=0,R=N.keys(U);B<R.length;B++){var V=R[B];Array.isArray(U[V])?Q[V]=N.from(U[V]):Q[V]=K({},U[V])}for(var l=0,Z=N.keys(F);l<Z.length;l++)(V=Z[l])in U?Array.isArray(U[V])?Q[V]=U[V].concat(F[V]):Q[V]=K(U[V],F[V]):Array.isArray(F[V])?Q[V]=N.from(F[V]):Q[V]=K({},F[V]);return Q},e={blackList:{a:["folder"],meta:["content"],iframe:["srcdoc"],input:["pattern"],vmlframe:["xmlns"]},blackTags:["script","xml","embed","isindex","object","base","set","handler","animate","payload","import"],blackAttrs:["charset","ns","namespace","formaction","xlink:href","xmlns:xlink","handler","repeat","repeat-start","repeat-end"],blackAttrRegExps:[/^on/],filterList:{param:["value"],video:["poster"],form:["action"]},filterAttrs:["href","src","background","style","dynsrc","lowsrc","content"]};try{var H={};H.blackAttrRegExps&&(H.blackAttrRegExps=H.blackAttrRegExps.map(function(U){return new RegExp(U.toString().slice(1,U.toString().length-1))}));var z="merge";N.includes(z,"override")&&(e=H),N.includes(z,"merge")&&(e=K(e,H))}catch(U){}var v={mode:"black",whiteList:{},blackConfig:e,collect:null,initCollect:function(){v.collect={blackList:{},blackTags:[],blackAttrs:[],blackAttrRegExps:[],filterAttrs:[],filterList:{},filterProtocol:[]}},removeCollect:function(){var U=y(v.collect),F=U.count,Q=U.ret;return v.collect=null,{collectKey:0===F?null:JSON.stringify(Q),collectMode:"black"}},onIgnoreTag:function(U,F){var Q;if(!N.includes(e.blackTags,U))return X(F,function(U,F,Q,B,R){if(-1!==Q.indexOf("/"))return m(B);if(R)return"</".concat(Q,">");var V=Y(B),l=a(V.html,function(U,F){var B,R=0;if(e.blackList[Q]&&N.includes(e.blackList[Q],U)&&(v.collect.blackList[Q]=v.collect.blackList[Q]||[],v.collect.blackList[Q].push(U),R++),e.blackAttrRegExps.length&&e.blackAttrRegExps.some(function(F){return F.test(U)})&&N.forEach(e.blackAttrRegExps,function(F){F.test(U)&&(v.collect.blackAttrRegExps.push("".concat(F.toString(),"->").concat(U)),R++)}),e.blackAttrs.length&&N.includes(e.blackAttrs,U)&&(e.blackAttrs.push(U),R++),!R){if(e.filterList&&e.filterList[Q]&&N.includes(e.filterList[Q],U)){var V=D(F,function(U){var F;null===(F=v.collect)||void 0===F||F.filterProtocol.push(U)});return V!==F&&(v.collect.filterList[Q]=v.collect.filterList[Q]||[],v.collect.filterList[Q].push(U)),F?"".concat(U,"='").concat(V,"'"):U}return e.filterAttrs&&N.includes(e.filterAttrs,U)?((V=D(F,function(U){var F;null===(F=v.collect)||void 0===F||F.filterProtocol.push(U)}))!==F&&(null===(B=v.collect)||void 0===B||B.filterAttrs.push(U)),F?"".concat(U,"='").concat(V,"'"):U):F?"".concat(U,"='").concat(F,"'"):U}});return B="<".concat(Q),l&&(B+=" ".concat(l)),V.closing&&(B+=" /"),B+=">"},m);null===(Q=v.collect)||void 0===Q||Q.blackTags.push(U)}},w=function(U){var F=U.reportOnly,Q=void 0===F||F,B=U.block;return Q&&"all"===Q?"report":("string"==typeof Q&&("true"===Q&&(Q=!0),"false"===Q&&(Q=!1)),B?"enforce":Q?"report":"enforce")},j=function(U){return function(Q,B,R){if(!Q||"string"!=typeof Q)return Q;var V=B;U===t&&(V=M).initCollect();var l=U(Q,V);if(C(l)===C(Q))return Q;if(!R)return l;var Z=R.logType,d=w(R),J=V.removeCollect();return i.report(F(F({type:Z,disposition:d},J),{sourceText:b(Q),filterText:b(l)})),"enforce"===d?l:Q}},P=j(function(U,F){return void 0===F&&(F={}),F&&F.whiteList||(F.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]}),new T(F).process(U)}),r=j(t),g=function(U,F,Q){var B=[],R=D(U,function(U){B.push(U)});if(R===U)return U;B=N.from(N.uniq(B));var V=F||Q||{};if(!V)return R;var l=V.logType,Z=w(Q);return i.report({type:l,disposition:Z,collectKey:B.join("___"),collectData:JSON.stringify(B),collectMode:"black",sourceText:b(U),filterText:b(R)}),"enforce"===Z?R:U},O=G._xssProject||{},f=G.xssNamespace||{},A="3.0.26",_={FilterXSS:T,version:A,webpackPluginVersion:"<%= webpackPluginVersion =>",reportOnly:"<%= reportOnly =>",filterXSS:P,_filterXSS:r,filterUrl:g,Config:M,BlackConfig:v,project:O,setProjectName:function(U){O[U]=this,G._xssProjectName=U}};f.douyin_web=_,G.xssNamespace=f,G.Math&&!G.Math.xssNamespace&&(G.Math.xssNamespace=f),O[A]=_,G.globalThis=G,G.getFilterXss=function(){return void 0!==this._xssProjectName?this._xssProject[this._xssProjectName]:_},G.xss=_,G.isSafeUrl=o,G.isSafeDomain=o,G.isSafeProtocol=s,G._xssProject=O,G._xssProjectName&&(O[G._xssProjectName]=_);var q=_.setProjectName.bind(_);U.BlackConfig=v,U.Config=M,U.FilterXSS=T,U._filterXSS=r,U.filterUrl=g,U.filterXSS=P,U.isSafeDomain=o,U.isSafeProtocol=s,U.isSafeUrl=o,U.project=O,U.setProjectName=q,U.setXssNamespace=function(U){var F=U.appId,Q=U.bid,B=U.region;f[F]=_;M.bid=Q,M.region=B,M.enabled=!0},U.xssNamespace=f,Object.defineProperty(U,"__esModule",{value:!0})}),(self.webpackChunkdouyin_web=self.webpackChunkdouyin_web||[]).push([["7824"],{392671:function(U,F,Q){Q.d(F,{f:function(){return d}});var B=Q(61072),R=Q(298757),V=Q(942155),l=Q(861504),Z=Q(667943),d=function(U){function F(U){var Q;return(0,B.PA)(this,F),(Q=(0,B.$w)(this,F)).onVisibleChange=function(){var U=Q.masterTimer||Q.workerTimer;Q.stop(),U&&Q.start()},Q.options=U,document.addEventListener("visibilitychange",Q.onVisibleChange),Q}return(0,B.XW)(F,U),(0,B.qH)(F,[{key:"start",value:function(){var U=this,F=this.options,Q=F.timerInWorker,B=F.frequency,V=function(){try{(U.masterTimer||U.workerTimer)&&U.emit(l.sW)}catch(U){}};this.stop(),Q&&"undefined"!=typeof Worker&&document.hidden?this.workerTimer=(0,R.Ic)(V,1e3*B,!0):(this.masterTimer=new Z.B(V),this.masterTimer.tickEvery(B))}},{key:"stop",value:function(){this.workerTimer&&((0,R.vI)(this.workerTimer),this.workerTimer=void 0),this.masterTimer&&(this.masterTimer.stop(),this.masterTimer=void 0)}},{key:"destroy",value:function(){this.removeAllListeners(),document.removeEventListener("visibilitychange",this.onVisibleChange),this.stop()}}])}(V.EventEmitter)},810001:function(U,F,Q){Q.d(F,{Z:function(){return V}}),Q(124300),Q(248385),Q(591111),Q(490629),Q(656562),Q(520995),Q(992871);var B="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEEoQSxnKXsobnVsbD09Z3x8Zz5BLmxlbmd0aCkmJihnPUEubGVuZ3RoKTtmb3IodmFyIEk9MCxCPUFycmF5KGcpO0k8ZztJKyspQltJXT1BW0ldO3JldHVybiBCfWZ1bmN0aW9uIGcoQSxnLEksQixRLEMsRSl7dHJ5e3ZhciB0PUFbQ10oRSksZT10LnZhbHVlfWNhdGNoKGkpe3JldHVybiB2b2lkIEkoaSl9dC5kb25lP2coZSk6UHJvbWlzZS5yZXNvbHZlKGUpLnRoZW4oQixRKX1mdW5jdGlvbiBJKEEsZyxJKXtyZXR1cm4gZz1lKGcpLGZ1bmN0aW9uKEEsZyl7aWYoZyYmKCJvYmplY3QiPT10eXBlb2YgZ3x8ImZ1bmN0aW9uIj09dHlwZW9mIGcpKXJldHVybiBnO2lmKHZvaWQgMCE9PWcpdGhyb3cgbmV3IFR5cGVFcnJvcigiRGVyaXZlZCBjb25zdHJ1Y3RvcnMgbWF5IG9ubHkgcmV0dXJuIG9iamVjdCBvciB1bmRlZmluZWQiKTtyZXR1cm4gZnVuY3Rpb24oQSl7aWYodm9pZCAwPT09QSl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiBBfShBKX0oQSxyKCk/UmVmbGVjdC5jb25zdHJ1Y3QoZyxJfHxbXSxlKEEpLmNvbnN0cnVjdG9yKTpnLmFwcGx5KEEsSSkpfWZ1bmN0aW9uIEIoQSxnKXtpZighKEEgaW5zdGFuY2VvZiBnKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBRKEEsZyl7Zm9yKHZhciBJPTA7STxnLmxlbmd0aDtJKyspe3ZhciBCPWdbSV07Qi5lbnVtZXJhYmxlPUIuZW51bWVyYWJsZXx8ITEsQi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIEImJihCLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxmKEIua2V5KSxCKX19ZnVuY3Rpb24gQyhBLGcsSSl7cmV0dXJuIGcmJlEoQS5wcm90b3R5cGUsZyksSSYmUShBLEkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLEF9ZnVuY3Rpb24gRShBLGcsSSl7cmV0dXJuKGc9ZihnKSlpbiBBP09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLGcse3ZhbHVlOkksZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpBW2ddPUksQX1mdW5jdGlvbiB0KCl7cmV0dXJuIHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0LmdldD9SZWZsZWN0LmdldC5iaW5kKCk6ZnVuY3Rpb24oQSxnLEkpe3ZhciBCPWZ1bmN0aW9uKEEsZyl7Zm9yKDshe30uaGFzT3duUHJvcGVydHkuY2FsbChBLGcpJiZudWxsIT09KEE9ZShBKSk7KTtyZXR1cm4gQX0oQSxnKTtpZihCKXt2YXIgUT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEIsZyk7cmV0dXJuIFEuZ2V0P1EuZ2V0LmNhbGwoYXJndW1lbnRzLmxlbmd0aDwzP0E6SSk6US52YWx1ZX19LHQuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGUoQSl7cmV0dXJuKGU9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5nZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oQSl7cmV0dXJuIEEuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoQSl9KShBKX1mdW5jdGlvbiBpKEEsZyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGcmJm51bGwhPT1nKXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uIik7QS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShnJiZnLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOkEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLGcmJnMoQSxnKX1mdW5jdGlvbiByKCl7dHJ5e3ZhciBBPSFCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpfWNhdGNoKGcpe31yZXR1cm4ocj1mdW5jdGlvbigpe3JldHVybiEhQX0pKCl9ZnVuY3Rpb24gbihBLGcpe3ZhciBJPU9iamVjdC5rZXlzKEEpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoQSk7ZyYmKEI9Qi5maWx0ZXIoKGZ1bmN0aW9uKGcpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsZykuZW51bWVyYWJsZX0pKSksSS5wdXNoLmFwcGx5KEksQil9cmV0dXJuIEl9ZnVuY3Rpb24gbyhBKXtmb3IodmFyIGc9MTtnPGFyZ3VtZW50cy5sZW5ndGg7ZysrKXt2YXIgST1udWxsIT1hcmd1bWVudHNbZ10/YXJndW1lbnRzW2ddOnt9O2clMj9uKE9iamVjdChJKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZyl7RShBLGcsSVtnXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhJKSk6bihPYmplY3QoSSkpLmZvckVhY2goKGZ1bmN0aW9uKGcpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLGcsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJLGcpKX0pKX1yZXR1cm4gQX1mdW5jdGlvbiBhKCl7YT1mdW5jdGlvbigpe3JldHVybiBnfTt2YXIgQSxnPXt9LEk9T2JqZWN0LnByb3RvdHlwZSxCPUkuaGFzT3duUHJvcGVydHksUT1PYmplY3QuZGVmaW5lUHJvcGVydHl8fGZ1bmN0aW9uKEEsZyxJKXtBW2ddPUkudmFsdWV9LEM9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbD9TeW1ib2w6e30sRT1DLml0ZXJhdG9yfHwiQEBpdGVyYXRvciIsdD1DLmFzeW5jSXRlcmF0b3J8fCJAQGFzeW5jSXRlcmF0b3IiLGU9Qy50b1N0cmluZ1RhZ3x8IkBAdG9TdHJpbmdUYWciO2Z1bmN0aW9uIGkoQSxnLEkpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxnLHt2YWx1ZTpJLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSksQVtnXX10cnl7aSh7fSwiIil9Y2F0Y2goTSl7aT1mdW5jdGlvbihBLGcsSSl7cmV0dXJuIEFbZ109SX19ZnVuY3Rpb24gcihBLGcsSSxCKXt2YXIgQz1nJiZnLnByb3RvdHlwZSBpbnN0YW5jZW9mIHU/Zzp1LEU9T2JqZWN0LmNyZWF0ZShDLnByb3RvdHlwZSksdD1uZXcgdihCfHxbXSk7cmV0dXJuIFEoRSwiX2ludm9rZSIse3ZhbHVlOnAoQSxJLHQpfSksRX1mdW5jdGlvbiBuKEEsZyxJKXt0cnl7cmV0dXJue3R5cGU6Im5vcm1hbCIsYXJnOkEuY2FsbChnLEkpfX1jYXRjaChCKXtyZXR1cm57dHlwZToidGhyb3ciLGFyZzpCfX19Zy53cmFwPXI7dmFyIG89InN1c3BlbmRlZFN0YXJ0IixzPSJzdXNwZW5kZWRZaWVsZCIsYz0iZXhlY3V0aW5nIixoPSJjb21wbGV0ZWQiLGY9e307ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIGwoKXt9dmFyIEQ9e307aShELEUsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSk7dmFyIGQ9T2JqZWN0LmdldFByb3RvdHlwZU9mLHc9ZCYmZChkKE4oW10pKSk7dyYmdyE9PUkmJkIuY2FsbCh3LEUpJiYoRD13KTt2YXIgRj1sLnByb3RvdHlwZT11LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEQpO2Z1bmN0aW9uIEcoQSl7WyJuZXh0IiwidGhyb3ciLCJyZXR1cm4iXS5mb3JFYWNoKChmdW5jdGlvbihnKXtpKEEsZywoZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2ludm9rZShnLEEpfSkpfSkpfWZ1bmN0aW9uIFIoQSxnKXtmdW5jdGlvbiBJKFEsQyxFLHQpe3ZhciBlPW4oQVtRXSxBLEMpO2lmKCJ0aHJvdyIhPT1lLnR5cGUpe3ZhciBpPWUuYXJnLHI9aS52YWx1ZTtyZXR1cm4gciYmIm9iamVjdCI9PXR5cGVvZiByJiZCLmNhbGwociwiX19hd2FpdCIpP2cucmVzb2x2ZShyLl9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKEEpe0koIm5leHQiLEEsRSx0KX0pLChmdW5jdGlvbihBKXtJKCJ0aHJvdyIsQSxFLHQpfSkpOmcucmVzb2x2ZShyKS50aGVuKChmdW5jdGlvbihBKXtpLnZhbHVlPUEsRShpKX0pLChmdW5jdGlvbihBKXtyZXR1cm4gSSgidGhyb3ciLEEsRSx0KX0pKX10KGUuYXJnKX12YXIgQztRKHRoaXMsIl9pbnZva2UiLHt2YWx1ZTpmdW5jdGlvbihBLEIpe2Z1bmN0aW9uIFEoKXtyZXR1cm4gbmV3IGcoKGZ1bmN0aW9uKGcsUSl7SShBLEIsZyxRKX0pKX1yZXR1cm4gQz1DP0MudGhlbihRLFEpOlEoKX19KX1mdW5jdGlvbiBwKGcsSSxCKXt2YXIgUT1vO3JldHVybiBmdW5jdGlvbihDLEUpe2lmKFE9PT1jKXRocm93IEVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nIik7aWYoUT09PWgpe2lmKCJ0aHJvdyI9PT1DKXRocm93IEU7cmV0dXJue3ZhbHVlOkEsZG9uZTohMH19Zm9yKEIubWV0aG9kPUMsQi5hcmc9RTs7KXt2YXIgdD1CLmRlbGVnYXRlO2lmKHQpe3ZhciBlPWsodCxCKTtpZihlKXtpZihlPT09Ziljb250aW51ZTtyZXR1cm4gZX19aWYoIm5leHQiPT09Qi5tZXRob2QpQi5zZW50PUIuX3NlbnQ9Qi5hcmc7ZWxzZSBpZigidGhyb3ciPT09Qi5tZXRob2Qpe2lmKFE9PT1vKXRocm93IFE9aCxCLmFyZztCLmRpc3BhdGNoRXhjZXB0aW9uKEIuYXJnKX1lbHNlInJldHVybiI9PT1CLm1ldGhvZCYmQi5hYnJ1cHQoInJldHVybiIsQi5hcmcpO1E9Yzt2YXIgaT1uKGcsSSxCKTtpZigibm9ybWFsIj09PWkudHlwZSl7aWYoUT1CLmRvbmU/aDpzLGkuYXJnPT09Ziljb250aW51ZTtyZXR1cm57dmFsdWU6aS5hcmcsZG9uZTpCLmRvbmV9fSJ0aHJvdyI9PT1pLnR5cGUmJihRPWgsQi5tZXRob2Q9InRocm93IixCLmFyZz1pLmFyZyl9fX1mdW5jdGlvbiBrKGcsSSl7dmFyIEI9SS5tZXRob2QsUT1nLml0ZXJhdG9yW0JdO2lmKFE9PT1BKXJldHVybiBJLmRlbGVnYXRlPW51bGwsInRocm93Ij09PUImJmcuaXRlcmF0b3IucmV0dXJuJiYoSS5tZXRob2Q9InJldHVybiIsSS5hcmc9QSxrKGcsSSksInRocm93Ij09PUkubWV0aG9kKXx8InJldHVybiIhPT1CJiYoSS5tZXRob2Q9InRocm93IixJLmFyZz1uZXcgVHlwZUVycm9yKCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICciK0IrIicgbWV0aG9kIikpLGY7dmFyIEM9bihRLGcuaXRlcmF0b3IsSS5hcmcpO2lmKCJ0aHJvdyI9PT1DLnR5cGUpcmV0dXJuIEkubWV0aG9kPSJ0aHJvdyIsSS5hcmc9Qy5hcmcsSS5kZWxlZ2F0ZT1udWxsLGY7dmFyIEU9Qy5hcmc7cmV0dXJuIEU/RS5kb25lPyhJW2cucmVzdWx0TmFtZV09RS52YWx1ZSxJLm5leHQ9Zy5uZXh0TG9jLCJyZXR1cm4iIT09SS5tZXRob2QmJihJLm1ldGhvZD0ibmV4dCIsSS5hcmc9QSksSS5kZWxlZ2F0ZT1udWxsLGYpOkU6KEkubWV0aG9kPSJ0aHJvdyIsSS5hcmc9bmV3IFR5cGVFcnJvcigiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3QiKSxJLmRlbGVnYXRlPW51bGwsZil9ZnVuY3Rpb24gVShBKXt2YXIgZz17dHJ5TG9jOkFbMF19OzEgaW4gQSYmKGcuY2F0Y2hMb2M9QVsxXSksMiBpbiBBJiYoZy5maW5hbGx5TG9jPUFbMl0sZy5hZnRlckxvYz1BWzNdKSx0aGlzLnRyeUVudHJpZXMucHVzaChnKX1mdW5jdGlvbiBTKEEpe3ZhciBnPUEuY29tcGxldGlvbnx8e307Zy50eXBlPSJub3JtYWwiLGRlbGV0ZSBnLmFyZyxBLmNvbXBsZXRpb249Z31mdW5jdGlvbiB2KEEpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzoicm9vdCJ9XSxBLmZvckVhY2goVSx0aGlzKSx0aGlzLnJlc2V0KCEwKX1mdW5jdGlvbiBOKGcpe2lmKGd8fCIiPT09Zyl7dmFyIEk9Z1tFXTtpZihJKXJldHVybiBJLmNhbGwoZyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGcubmV4dClyZXR1cm4gZztpZighaXNOYU4oZy5sZW5ndGgpKXt2YXIgUT0tMSxDPWZ1bmN0aW9uIEkoKXtmb3IoOysrUTxnLmxlbmd0aDspaWYoQi5jYWxsKGcsUSkpcmV0dXJuIEkudmFsdWU9Z1tRXSxJLmRvbmU9ITEsSTtyZXR1cm4gSS52YWx1ZT1BLEkuZG9uZT0hMCxJfTtyZXR1cm4gQy5uZXh0PUN9fXRocm93IG5ldyBUeXBlRXJyb3IodHlwZW9mIGcrIiBpcyBub3QgaXRlcmFibGUiKX1yZXR1cm4geS5wcm90b3R5cGU9bCxRKEYsImNvbnN0cnVjdG9yIix7dmFsdWU6bCxjb25maWd1cmFibGU6ITB9KSxRKGwsImNvbnN0cnVjdG9yIix7dmFsdWU6eSxjb25maWd1cmFibGU6ITB9KSx5LmRpc3BsYXlOYW1lPWkobCxlLCJHZW5lcmF0b3JGdW5jdGlvbiIpLGcuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbihBKXt2YXIgZz0iZnVuY3Rpb24iPT10eXBlb2YgQSYmQS5jb25zdHJ1Y3RvcjtyZXR1cm4hIWcmJihnPT09eXx8IkdlbmVyYXRvckZ1bmN0aW9uIj09PShnLmRpc3BsYXlOYW1lfHxnLm5hbWUpKX0sZy5tYXJrPWZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKEEsbCk6KEEuX19wcm90b19fPWwsaShBLGUsIkdlbmVyYXRvckZ1bmN0aW9uIikpLEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRiksQX0sZy5hd3JhcD1mdW5jdGlvbihBKXtyZXR1cm57X19hd2FpdDpBfX0sRyhSLnByb3RvdHlwZSksaShSLnByb3RvdHlwZSx0LChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLGcuQXN5bmNJdGVyYXRvcj1SLGcuYXN5bmM9ZnVuY3Rpb24oQSxJLEIsUSxDKXt2b2lkIDA9PT1DJiYoQz1Qcm9taXNlKTt2YXIgRT1uZXcgUihyKEEsSSxCLFEpLEMpO3JldHVybiBnLmlzR2VuZXJhdG9yRnVuY3Rpb24oSSk/RTpFLm5leHQoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gQS5kb25lP0EudmFsdWU6RS5uZXh0KCl9KSl9LEcoRiksaShGLGUsIkdlbmVyYXRvciIpLGkoRixFLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLGkoRiwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0IEdlbmVyYXRvcl0ifSkpLGcua2V5cz1mdW5jdGlvbihBKXt2YXIgZz1PYmplY3QoQSksST1bXTtmb3IodmFyIEIgaW4gZylJLnB1c2goQik7cmV0dXJuIEkucmV2ZXJzZSgpLGZ1bmN0aW9uIEEoKXtmb3IoO0kubGVuZ3RoOyl7dmFyIEI9SS5wb3AoKTtpZihCIGluIGcpcmV0dXJuIEEudmFsdWU9QixBLmRvbmU9ITEsQX1yZXR1cm4gQS5kb25lPSEwLEF9fSxnLnZhbHVlcz1OLHYucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp2LHJlc2V0OmZ1bmN0aW9uKGcpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PUEsdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD0ibmV4dCIsdGhpcy5hcmc9QSx0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChTKSwhZylmb3IodmFyIEkgaW4gdGhpcykidCI9PT1JLmNoYXJBdCgwKSYmQi5jYWxsKHRoaXMsSSkmJiFpc05hTigrSS5zbGljZSgxKSkmJih0aGlzW0ldPUEpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciBBPXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKCJ0aHJvdyI9PT1BLnR5cGUpdGhyb3cgQS5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24oZyl7aWYodGhpcy5kb25lKXRocm93IGc7dmFyIEk9dGhpcztmdW5jdGlvbiBRKEIsUSl7cmV0dXJuIHQudHlwZT0idGhyb3ciLHQuYXJnPWcsSS5uZXh0PUIsUSYmKEkubWV0aG9kPSJuZXh0IixJLmFyZz1BKSwhIVF9Zm9yKHZhciBDPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtDPj0wOy0tQyl7dmFyIEU9dGhpcy50cnlFbnRyaWVzW0NdLHQ9RS5jb21wbGV0aW9uO2lmKCJyb290Ij09PUUudHJ5TG9jKXJldHVybiBRKCJlbmQiKTtpZihFLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgZT1CLmNhbGwoRSwiY2F0Y2hMb2MiKSxpPUIuY2FsbChFLCJmaW5hbGx5TG9jIik7aWYoZSYmaSl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIFEoRS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gUShFLmZpbmFsbHlMb2MpfWVsc2UgaWYoZSl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIFEoRS5jYXRjaExvYywhMCl9ZWxzZXtpZighaSl0aHJvdyBFcnJvcigidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHkiKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBRKEUuZmluYWxseUxvYyl9fX19LGFicnVwdDpmdW5jdGlvbihBLGcpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBRPXRoaXMudHJ5RW50cmllc1tJXTtpZihRLnRyeUxvYzw9dGhpcy5wcmV2JiZCLmNhbGwoUSwiZmluYWxseUxvYyIpJiZ0aGlzLnByZXY8US5maW5hbGx5TG9jKXt2YXIgQz1RO2JyZWFrfX1DJiYoImJyZWFrIj09PUF8fCJjb250aW51ZSI9PT1BKSYmQy50cnlMb2M8PWcmJmc8PUMuZmluYWxseUxvYyYmKEM9bnVsbCk7dmFyIEU9Qz9DLmNvbXBsZXRpb246e307cmV0dXJuIEUudHlwZT1BLEUuYXJnPWcsQz8odGhpcy5tZXRob2Q9Im5leHQiLHRoaXMubmV4dD1DLmZpbmFsbHlMb2MsZik6dGhpcy5jb21wbGV0ZShFKX0sY29tcGxldGU6ZnVuY3Rpb24oQSxnKXtpZigidGhyb3ciPT09QS50eXBlKXRocm93IEEuYXJnO3JldHVybiJicmVhayI9PT1BLnR5cGV8fCJjb250aW51ZSI9PT1BLnR5cGU/dGhpcy5uZXh0PUEuYXJnOiJyZXR1cm4iPT09QS50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9QS5hcmcsdGhpcy5tZXRob2Q9InJldHVybiIsdGhpcy5uZXh0PSJlbmQiKToibm9ybWFsIj09PUEudHlwZSYmZyYmKHRoaXMubmV4dD1nKSxmfSxmaW5pc2g6ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtnPj0wOy0tZyl7dmFyIEk9dGhpcy50cnlFbnRyaWVzW2ddO2lmKEkuZmluYWxseUxvYz09PUEpcmV0dXJuIHRoaXMuY29tcGxldGUoSS5jb21wbGV0aW9uLEkuYWZ0ZXJMb2MpLFMoSSksZn19LGNhdGNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7Zz49MDstLWcpe3ZhciBJPXRoaXMudHJ5RW50cmllc1tnXTtpZihJLnRyeUxvYz09PUEpe3ZhciBCPUkuY29tcGxldGlvbjtpZigidGhyb3ciPT09Qi50eXBlKXt2YXIgUT1CLmFyZztTKEkpfXJldHVybiBRfX10aHJvdyBFcnJvcigiaWxsZWdhbCBjYXRjaCBhdHRlbXB0Iil9LGRlbGVnYXRlWWllbGQ6ZnVuY3Rpb24oZyxJLEIpe3JldHVybiB0aGlzLmRlbGVnYXRlPXtpdGVyYXRvcjpOKGcpLHJlc3VsdE5hbWU6SSxuZXh0TG9jOkJ9LCJuZXh0Ij09PXRoaXMubWV0aG9kJiYodGhpcy5hcmc9QSksZn19LGd9ZnVuY3Rpb24gcyhBLGcpe3JldHVybihzPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKEEsZyl7cmV0dXJuIEEuX19wcm90b19fPWcsQX0pKEEsZyl9ZnVuY3Rpb24gYyhBLGcsSSxCKXt2YXIgUT10KGUoMSZCP0EucHJvdG90eXBlOkEpLGcsSSk7cmV0dXJuIDImQiYmImZ1bmN0aW9uIj09dHlwZW9mIFE/ZnVuY3Rpb24oQSl7cmV0dXJuIFEuYXBwbHkoSSxBKX06UX1mdW5jdGlvbiBoKGcpe3JldHVybiBmdW5jdGlvbihnKXtpZihBcnJheS5pc0FycmF5KGcpKXJldHVybiBBKGcpfShnKXx8ZnVuY3Rpb24oQSl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPUFbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9QVsiQEBpdGVyYXRvciJdKXJldHVybiBBcnJheS5mcm9tKEEpfShnKXx8ZnVuY3Rpb24oZyxJKXtpZihnKXtpZigic3RyaW5nIj09dHlwZW9mIGcpcmV0dXJuIEEoZyxJKTt2YXIgQj17fS50b1N0cmluZy5jYWxsKGcpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09QiYmZy5jb25zdHJ1Y3RvciYmKEI9Zy5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PUJ8fCJTZXQiPT09Qj9BcnJheS5mcm9tKGcpOiJBcmd1bWVudHMiPT09Qnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QoQik/QShnLEkpOnZvaWQgMH19KGcpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIGYoQSl7dmFyIGc9ZnVuY3Rpb24oQSxnKXtpZigib2JqZWN0IiE9dHlwZW9mIEF8fCFBKXJldHVybiBBO3ZhciBJPUFbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1JKXt2YXIgQj1JLmNhbGwoQSxnfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT10eXBlb2YgQilyZXR1cm4gQjt0aHJvdyBuZXcgVHlwZUVycm9yKCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLiIpfXJldHVybigic3RyaW5nIj09PWc/U3RyaW5nOk51bWJlcikoQSl9KEEsInN0cmluZyIpO3JldHVybiJzeW1ib2wiPT10eXBlb2YgZz9nOmcrIiJ9ZnVuY3Rpb24gdShBKXtyZXR1cm4odT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIEF9OmZ1bmN0aW9uKEEpe3JldHVybiBBJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZBLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZBIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgQX0pKEEpfXZhciB5PSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e30sbD1mdW5jdGlvbihBKXt0cnl7cmV0dXJuISFBKCl9Y2F0Y2goZyl7cmV0dXJuITB9fSxEPXt9LnRvU3RyaW5nLGQ9ZnVuY3Rpb24oQSl7cmV0dXJuIEQuY2FsbChBKS5zbGljZSg4LC0xKX0sdz1kLEY9IiIuc3BsaXQsRz1sKChmdW5jdGlvbigpe3JldHVybiFPYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKX0pKT9mdW5jdGlvbihBKXtyZXR1cm4iU3RyaW5nIj09dyhBKT9GLmNhbGwoQSwiIik6T2JqZWN0KEEpfTpPYmplY3QsUj1mdW5jdGlvbihBKXtpZihudWxsPT1BKXRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIitBKTtyZXR1cm4gQX0scD1HLGs9UixVPWZ1bmN0aW9uKEEpe3JldHVybiBwKGsoQSkpfSxTPWZ1bmN0aW9uKEEpe3JldHVybiBBJiZBLk1hdGg9PU1hdGgmJkF9LHY9Uygib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMpfHxTKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cpfHxTKCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZil8fFMoIm9iamVjdCI9PXR5cGVvZiB5JiZ5KXx8ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxOPXtleHBvcnRzOnt9fSxNPSFsKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSksWT17fSxIPWZ1bmN0aW9uKEEpe3JldHVybiJvYmplY3QiPT10eXBlb2YgQT9udWxsIT09QToiZnVuY3Rpb24iPT10eXBlb2YgQX0sTD1ILEo9di5kb2N1bWVudCxtPUwoSikmJkwoSi5jcmVhdGVFbGVtZW50KSxLPWZ1bmN0aW9uKEEpe3JldHVybiBtP0ouY3JlYXRlRWxlbWVudChBKTp7fX0seD1LLHE9IU0mJiFsKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoeCgiZGl2IiksImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSkpLGI9SCxUPWZ1bmN0aW9uKEEpe2lmKCFiKEEpKXRocm93IFR5cGVFcnJvcihTdHJpbmcoQSkrIiBpcyBub3QgYW4gb2JqZWN0Iik7cmV0dXJuIEF9LE89SCxQPWZ1bmN0aW9uKEEsZyl7aWYoIU8oQSkpcmV0dXJuIEE7dmFyIEksQjtpZihnJiYiZnVuY3Rpb24iPT10eXBlb2YoST1BLnRvU3RyaW5nKSYmIU8oQj1JLmNhbGwoQSkpKXJldHVybiBCO2lmKCJmdW5jdGlvbiI9PXR5cGVvZihJPUEudmFsdWVPZikmJiFPKEI9SS5jYWxsKEEpKSlyZXR1cm4gQjtpZighZyYmImZ1bmN0aW9uIj09dHlwZW9mKEk9QS50b1N0cmluZykmJiFPKEI9SS5jYWxsKEEpKSlyZXR1cm4gQjt0aHJvdyBUeXBlRXJyb3IoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfSxqPU0sVz1xLFo9VCxWPVAsWD1PYmplY3QuZGVmaW5lUHJvcGVydHk7WS5mPWo/WDpmdW5jdGlvbihBLGcsSSl7aWYoWihBKSxnPVYoZywhMCksWihJKSxXKXRyeXtyZXR1cm4gWChBLGcsSSl9Y2F0Y2goQil7fWlmKCJnZXQiaW4gSXx8InNldCJpbiBJKXRocm93IFR5cGVFcnJvcigiQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm4idmFsdWUiaW4gSSYmKEFbZ109SS52YWx1ZSksQX07dmFyIHo9ZnVuY3Rpb24oQSxnKXtyZXR1cm57ZW51bWVyYWJsZTohKDEmQSksY29uZmlndXJhYmxlOiEoMiZBKSx3cml0YWJsZTohKDQmQSksdmFsdWU6Z319LF89WSwkPXosQUE9TT9mdW5jdGlvbihBLGcsSSl7cmV0dXJuIF8uZihBLGcsJCgxLEkpKX06ZnVuY3Rpb24oQSxnLEkpe3JldHVybiBBW2ddPUksQX0sZ0E9dixJQT1BQSxCQT1mdW5jdGlvbihBLGcpe3RyeXtJQShnQSxBLGcpfWNhdGNoKEkpe2dBW0FdPWd9cmV0dXJuIGd9LFFBPUJBLENBPSJfX2NvcmUtanNfc2hhcmVkX18iLEVBPXZbQ0FdfHxRQShDQSx7fSksdEE9RUE7KE4uZXhwb3J0cz1mdW5jdGlvbihBLGcpe3JldHVybiB0QVtBXXx8KHRBW0FdPXZvaWQgMCE9PWc/Zzp7fSl9KSgidmVyc2lvbnMiLFtdKS5wdXNoKHt2ZXJzaW9uOiIzLjEyLjEiLG1vZGU6Imdsb2JhbCIsY29weXJpZ2h0OiLCqSAyMDIxIERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpIn0pO3ZhciBlQSxpQSxyQT1OLmV4cG9ydHMsbkE9UixvQT1mdW5jdGlvbihBKXtyZXR1cm4gT2JqZWN0KG5BKEEpKX0sYUE9b0Esc0E9e30uaGFzT3duUHJvcGVydHksY0E9ZnVuY3Rpb24oQSxnKXtyZXR1cm4gc0EuY2FsbChhQShBKSxnKX0saEE9MCxmQT1NYXRoLnJhbmRvbSgpLHVBPWZ1bmN0aW9uKEEpe3JldHVybiJTeW1ib2woIitTdHJpbmcodm9pZCAwPT09QT8iIjpBKSsiKV8iKygrK2hBK2ZBKS50b1N0cmluZygzNil9LHlBPXYsbEE9dixEQT1mdW5jdGlvbihBKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgQT9BOnZvaWQgMH0sZEE9ZnVuY3Rpb24oQSxnKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP0RBKHlBW0FdKXx8REEobEFbQV0pOnlBW0FdJiZ5QVtBXVtnXXx8bEFbQV0mJmxBW0FdW2ddfSx3QT1kQSgibmF2aWdhdG9yIiwidXNlckFnZW50Iil8fCIiLEZBPXdBLEdBPXYucHJvY2VzcyxSQT1HQSYmR0EudmVyc2lvbnMscEE9UkEmJlJBLnY4O3BBP2lBPShlQT1wQS5zcGxpdCgiLiIpKVswXTw0PzE6ZUFbMF0rZUFbMV06RkEmJighKGVBPUZBLm1hdGNoKC9FZGdlXC8oXGQrKS8pKXx8ZUFbMV0+PTc0KSYmKGVBPUZBLm1hdGNoKC9DaHJvbWVcLyhcZCspLykpJiYoaUE9ZUFbMV0pO3ZhciBrQSxVQT1pQSYmK2lBLFNBPVVBLHZBPWwsTkE9ISFPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYhdkEoKGZ1bmN0aW9uKCl7cmV0dXJuIVN0cmluZyhTeW1ib2woKSl8fCFTeW1ib2wuc2hhbSYmU0EmJlNBPDQxfSkpLE1BPU5BJiYhU3ltYm9sLnNoYW0mJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yLFlBPXYsSEE9Y0EsTEE9dUEsSkE9TkEsbUE9TUEsS0E9ckEoIndrcyIpLHhBPVlBLlN5bWJvbCxxQT1tQT94QTp4QSYmeEEud2l0aG91dFNldHRlcnx8TEEsYkE9ZnVuY3Rpb24oQSl7cmV0dXJuIEhBKEtBLEEpJiYoSkF8fCJzdHJpbmciPT10eXBlb2YgS0FbQV0pfHwoSkEmJkhBKHhBLEEpP0tBW0FdPXhBW0FdOktBW0FdPXFBKCJTeW1ib2wuIitBKSksS0FbQV19LFRBPU1hdGguY2VpbCxPQT1NYXRoLmZsb29yLFBBPWZ1bmN0aW9uKEEpe3JldHVybiBpc05hTihBPStBKT8wOihBPjA/T0E6VEEpKEEpfSxqQT1QQSxXQT1NYXRoLm1pbixaQT1mdW5jdGlvbihBKXtyZXR1cm4gQT4wP1dBKGpBKEEpLDkwMDcxOTkyNTQ3NDA5OTEpOjB9LFZBPVBBLFhBPU1hdGgubWF4LHpBPU1hdGgubWluLF9BPWZ1bmN0aW9uKEEsZyl7dmFyIEk9VkEoQSk7cmV0dXJuIEk8MD9YQShJK2csMCk6ekEoSSxnKX0sJEE9VSxBZz1aQSxnZz1fQSxJZz1mdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oZyxJLEIpe3ZhciBRLEM9JEEoZyksRT1BZyhDLmxlbmd0aCksdD1nZyhCLEUpO2lmKEEmJkkhPUkpe2Zvcig7RT50OylpZigoUT1DW3QrK10pIT1RKXJldHVybiEwfWVsc2UgZm9yKDtFPnQ7dCsrKWlmKChBfHx0IGluIEMpJiZDW3RdPT09SSlyZXR1cm4gQXx8dHx8MDtyZXR1cm4hQSYmLTF9fSxCZz17aW5jbHVkZXM6SWcoITApLGluZGV4T2Y6SWcoITEpfSxRZz17fSxDZz1jQSxFZz1VLHRnPUJnLmluZGV4T2YsZWc9UWcsaWc9ZnVuY3Rpb24oQSxnKXt2YXIgSSxCPUVnKEEpLFE9MCxDPVtdO2ZvcihJIGluIEIpIUNnKGVnLEkpJiZDZyhCLEkpJiZDLnB1c2goSSk7Zm9yKDtnLmxlbmd0aD5ROylDZyhCLEk9Z1tRKytdKSYmKH50ZyhDLEkpfHxDLnB1c2goSSkpO3JldHVybiBDfSxyZz1bImNvbnN0cnVjdG9yIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJ0b0xvY2FsZVN0cmluZyIsInRvU3RyaW5nIiwidmFsdWVPZiJdLG5nPWlnLG9nPXJnLGFnPU9iamVjdC5rZXlzfHxmdW5jdGlvbihBKXtyZXR1cm4gbmcoQSxvZyl9LHNnPVksY2c9VCxoZz1hZyxmZz1NP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOmZ1bmN0aW9uKEEsZyl7Y2coQSk7Zm9yKHZhciBJLEI9aGcoZyksUT1CLmxlbmd0aCxDPTA7UT5DOylzZy5mKEEsST1CW0MrK10sZ1tJXSk7cmV0dXJuIEF9LHVnPWRBKCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIpLHlnPXVBLGxnPXJBKCJrZXlzIiksRGc9ZnVuY3Rpb24oQSl7cmV0dXJuIGxnW0FdfHwobGdbQV09eWcoQSkpfSxkZz1ULHdnPWZnLEZnPXJnLEdnPVFnLFJnPXVnLHBnPUssa2c9InByb3RvdHlwZSIsVWc9InNjcmlwdCIsU2c9RGcoIklFX1BST1RPIiksdmc9ZnVuY3Rpb24oKXt9LE5nPWZ1bmN0aW9uKEEpe3JldHVybiI8IitVZysiPiIrQSsiPC8iK1VnKyI+In0sTWc9ZnVuY3Rpb24oKXt0cnl7a0E9ZG9jdW1lbnQuZG9tYWluJiZuZXcgQWN0aXZlWE9iamVjdCgiaHRtbGZpbGUiKX1jYXRjaChRKXt9dmFyIEEsZyxJO01nPWtBP2Z1bmN0aW9uKEEpe0Eud3JpdGUoTmcoIiIpKSxBLmNsb3NlKCk7dmFyIGc9QS5wYXJlbnRXaW5kb3cuT2JqZWN0O3JldHVybiBBPW51bGwsZ30oa0EpOihnPXBnKCJpZnJhbWUiKSxJPSJqYXZhIitVZysiOiIsZy5zdHlsZS5kaXNwbGF5PSJub25lIixSZy5hcHBlbmRDaGlsZChnKSxnLnNyYz1TdHJpbmcoSSksKEE9Zy5jb250ZW50V2luZG93LmRvY3VtZW50KS5vcGVuKCksQS53cml0ZShOZygiZG9jdW1lbnQuRj1PYmplY3QiKSksQS5jbG9zZSgpLEEuRik7Zm9yKHZhciBCPUZnLmxlbmd0aDtCLS07KWRlbGV0ZSBNZ1trZ11bRmdbQl1dO3JldHVybiBNZygpfTtHZ1tTZ109ITA7dmFyIFlnPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKEEsZyl7dmFyIEk7cmV0dXJuIG51bGwhPT1BPyh2Z1trZ109ZGcoQSksST1uZXcgdmcsdmdba2ddPW51bGwsSVtTZ109QSk6ST1NZygpLHZvaWQgMD09PWc/STp3ZyhJLGcpfSxIZz1ZZyxMZz1ZLEpnPWJBKCJ1bnNjb3BhYmxlcyIpLG1nPUFycmF5LnByb3RvdHlwZTtudWxsPT1tZ1tKZ10mJkxnLmYobWcsSmcse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTpIZyhudWxsKX0pO3ZhciBLZz1mdW5jdGlvbihBKXttZ1tKZ11bQV09ITB9LHhnPXt9LHFnPUVBLGJnPUZ1bmN0aW9uLnRvU3RyaW5nOyJmdW5jdGlvbiIhPXR5cGVvZiBxZy5pbnNwZWN0U291cmNlJiYocWcuaW5zcGVjdFNvdXJjZT1mdW5jdGlvbihBKXtyZXR1cm4gYmcuY2FsbChBKX0pO3ZhciBUZyxPZyxQZyxqZz1xZy5pbnNwZWN0U291cmNlLFdnPWpnLFpnPXYuV2Vha01hcCxWZz0iZnVuY3Rpb24iPT10eXBlb2YgWmcmJi9uYXRpdmUgY29kZS8udGVzdChXZyhaZykpLFhnPUgsemc9QUEsX2c9Y0EsJGc9RUEsQUk9RGcsZ0k9UWcsSUk9Ik9iamVjdCBhbHJlYWR5IGluaXRpYWxpemVkIixCST12LldlYWtNYXA7aWYoVmd8fCRnLnN0YXRlKXt2YXIgUUk9JGcuc3RhdGV8fCgkZy5zdGF0ZT1uZXcgQkkpLENJPVFJLmdldCxFST1RSS5oYXMsdEk9UUkuc2V0O1RnPWZ1bmN0aW9uKEEsZyl7aWYoRUkuY2FsbChRSSxBKSl0aHJvdyBuZXcgVHlwZUVycm9yKElJKTtyZXR1cm4gZy5mYWNhZGU9QSx0SS5jYWxsKFFJLEEsZyksZ30sT2c9ZnVuY3Rpb24oQSl7cmV0dXJuIENJLmNhbGwoUUksQSl8fHt9fSxQZz1mdW5jdGlvbihBKXtyZXR1cm4gRUkuY2FsbChRSSxBKX19ZWxzZXt2YXIgZUk9QUkoInN0YXRlIik7Z0lbZUldPSEwLFRnPWZ1bmN0aW9uKEEsZyl7aWYoX2coQSxlSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihJSSk7cmV0dXJuIGcuZmFjYWRlPUEsemcoQSxlSSxnKSxnfSxPZz1mdW5jdGlvbihBKXtyZXR1cm4gX2coQSxlSSk/QVtlSV06e319LFBnPWZ1bmN0aW9uKEEpe3JldHVybiBfZyhBLGVJKX19dmFyIGlJPXtzZXQ6VGcsZ2V0Ok9nLGhhczpQZyxlbmZvcmNlOmZ1bmN0aW9uKEEpe3JldHVybiBQZyhBKT9PZyhBKTpUZyhBLHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnKXt2YXIgSTtpZighWGcoZyl8fChJPU9nKGcpKS50eXBlIT09QSl0aHJvdyBUeXBlRXJyb3IoIkluY29tcGF0aWJsZSByZWNlaXZlciwgIitBKyIgcmVxdWlyZWQiKTtyZXR1cm4gSX19fSxyST17fSxuST17fSxvST17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxhST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHNJPWFJJiYhb0kuY2FsbCh7MToyfSwxKTtuSS5mPXNJP2Z1bmN0aW9uKEEpe3ZhciBnPWFJKHRoaXMsQSk7cmV0dXJuISFnJiZnLmVudW1lcmFibGV9Om9JO3ZhciBjST1NLGhJPW5JLGZJPXosdUk9VSx5ST1QLGxJPWNBLERJPXEsZEk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtySS5mPWNJP2RJOmZ1bmN0aW9uKEEsZyl7aWYoQT11SShBKSxnPXlJKGcsITApLERJKXRyeXtyZXR1cm4gZEkoQSxnKX1jYXRjaChJKXt9aWYobEkoQSxnKSlyZXR1cm4gZkkoIWhJLmYuY2FsbChBLGcpLEFbZ10pfTt2YXIgd0k9e2V4cG9ydHM6e319LEZJPXYsR0k9QUEsUkk9Y0EscEk9QkEsa0k9amcsVUk9aUkuZ2V0LFNJPWlJLmVuZm9yY2Usdkk9U3RyaW5nKFN0cmluZykuc3BsaXQoIlN0cmluZyIpOyh3SS5leHBvcnRzPWZ1bmN0aW9uKEEsZyxJLEIpe3ZhciBRLEM9ISFCJiYhIUIudW5zYWZlLEU9ISFCJiYhIUIuZW51bWVyYWJsZSx0PSEhQiYmISFCLm5vVGFyZ2V0R2V0OyJmdW5jdGlvbiI9PXR5cGVvZiBJJiYoInN0cmluZyIhPXR5cGVvZiBnfHxSSShJLCJuYW1lIil8fEdJKEksIm5hbWUiLGcpLChRPVNJKEkpKS5zb3VyY2V8fChRLnNvdXJjZT12SS5qb2luKCJzdHJpbmciPT10eXBlb2YgZz9nOiIiKSkpLEEhPT1GST8oQz8hdCYmQVtnXSYmKEU9ITApOmRlbGV0ZSBBW2ddLEU/QVtnXT1JOkdJKEEsZyxJKSk6RT9BW2ddPUk6cEkoZyxJKX0pKEZ1bmN0aW9uLnByb3RvdHlwZSwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzJiZVSSh0aGlzKS5zb3VyY2V8fGtJKHRoaXMpfSkpO3ZhciBOST13SS5leHBvcnRzLE1JPXt9LFlJPWlnLEhJPXJnLmNvbmNhdCgibGVuZ3RoIiwicHJvdG90eXBlIik7TUkuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24oQSl7cmV0dXJuIFlJKEEsSEkpfTt2YXIgTEk9e307TEkuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO3ZhciBKSSxtSSxLSSx4ST1NSSxxST1MSSxiST1ULFRJPWRBKCJSZWZsZWN0Iiwib3duS2V5cyIpfHxmdW5jdGlvbihBKXt2YXIgZz14SS5mKGJJKEEpKSxJPXFJLmY7cmV0dXJuIEk/Zy5jb25jYXQoSShBKSk6Z30sT0k9Y0EsUEk9VEksakk9ckksV0k9WSxaST1sLFZJPS8jfFwucHJvdG90eXBlXC4vLFhJPWZ1bmN0aW9uKEEsZyl7dmFyIEk9X0lbekkoQSldO3JldHVybiBJPT1BQnx8SSE9JEkmJigiZnVuY3Rpb24iPT10eXBlb2YgZz9aSShnKTohIWcpfSx6ST1YSS5ub3JtYWxpemU9ZnVuY3Rpb24oQSl7cmV0dXJuIFN0cmluZyhBKS5yZXBsYWNlKFZJLCIuIikudG9Mb3dlckNhc2UoKX0sX0k9WEkuZGF0YT17fSwkST1YSS5OQVRJVkU9Ik4iLEFCPVhJLlBPTFlGSUxMPSJQIixnQj1YSSxJQj12LEJCPXJJLmYsUUI9QUEsQ0I9TkksRUI9QkEsdEI9ZnVuY3Rpb24oQSxnKXtmb3IodmFyIEk9UEkoZyksQj1XSS5mLFE9akkuZixDPTA7QzxJLmxlbmd0aDtDKyspe3ZhciBFPUlbQ107T0koQSxFKXx8QihBLEUsUShnLEUpKX19LGVCPWdCLGlCPWZ1bmN0aW9uKEEsZyl7dmFyIEksQixRLEMsRSx0PUEudGFyZ2V0LGU9QS5nbG9iYWwsaT1BLnN0YXQ7aWYoST1lP0lCOmk/SUJbdF18fEVCKHQse30pOihJQlt0XXx8e30pLnByb3RvdHlwZSlmb3IoQiBpbiBnKXtpZihDPWdbQl0sUT1BLm5vVGFyZ2V0R2V0PyhFPUJCKEksQikpJiZFLnZhbHVlOklbQl0sIWVCKGU/Qjp0KyhpPyIuIjoiIyIpK0IsQS5mb3JjZWQpJiZ2b2lkIDAhPT1RKXtpZih0eXBlb2YgQz09dHlwZW9mIFEpY29udGludWU7dEIoQyxRKX0oQS5zaGFtfHxRJiZRLnNoYW0pJiZRQihDLCJzaGFtIiwhMCksQ0IoSSxCLEMsQSl9fSxyQj0hbCgoZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7fXJldHVybiBBLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1udWxsLE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgQSkhPT1BLnByb3RvdHlwZX0pKSxuQj1jQSxvQj1vQSxhQj1yQixzQj1EZygiSUVfUFJPVE8iKSxjQj1PYmplY3QucHJvdG90eXBlLGhCPWFCP09iamVjdC5nZXRQcm90b3R5cGVPZjpmdW5jdGlvbihBKXtyZXR1cm4gQT1vQihBKSxuQihBLHNCKT9BW3NCXToiZnVuY3Rpb24iPT10eXBlb2YgQS5jb25zdHJ1Y3RvciYmQSBpbnN0YW5jZW9mIEEuY29uc3RydWN0b3I/QS5jb25zdHJ1Y3Rvci5wcm90b3R5cGU6QSBpbnN0YW5jZW9mIE9iamVjdD9jQjpudWxsfSxmQj1sLHVCPWhCLHlCPUFBLGxCPWNBLERCPWJBKCJpdGVyYXRvciIpLGRCPSExO1tdLmtleXMmJigibmV4dCJpbihLST1bXS5rZXlzKCkpPyhtST11Qih1QihLSSkpKSE9PU9iamVjdC5wcm90b3R5cGUmJihKST1tSSk6ZEI9ITApLChudWxsPT1KSXx8ZkIoKGZ1bmN0aW9uKCl7dmFyIEE9e307cmV0dXJuIEpJW0RCXS5jYWxsKEEpIT09QX0pKSkmJihKST17fSksbEIoSkksREIpfHx5QihKSSxEQiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKTt2YXIgd0I9e0l0ZXJhdG9yUHJvdG90eXBlOkpJLEJVR0dZX1NBRkFSSV9JVEVSQVRPUlM6ZEJ9LEZCPVkuZixHQj1jQSxSQj1iQSgidG9TdHJpbmdUYWciKSxwQj1mdW5jdGlvbihBLGcsSSl7QSYmIUdCKEE9ST9BOkEucHJvdG90eXBlLFJCKSYmRkIoQSxSQix7Y29uZmlndXJhYmxlOiEwLHZhbHVlOmd9KX0sa0I9d0IuSXRlcmF0b3JQcm90b3R5cGUsVUI9WWcsU0I9eix2Qj1wQixOQj14ZyxNQj1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxZQj1ILEhCPVQsTEI9ZnVuY3Rpb24oQSl7aWYoIVlCKEEpJiZudWxsIT09QSl0aHJvdyBUeXBlRXJyb3IoIkNhbid0IHNldCAiK1N0cmluZyhBKSsiIGFzIGEgcHJvdG90eXBlIik7cmV0dXJuIEF9LEpCPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8KCJfX3Byb3RvX18iaW57fT9mdW5jdGlvbigpe3ZhciBBLGc9ITEsST17fTt0cnl7KEE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKS5zZXQpLmNhbGwoSSxbXSksZz1JIGluc3RhbmNlb2YgQXJyYXl9Y2F0Y2goQil7fXJldHVybiBmdW5jdGlvbihJLEIpe3JldHVybiBIQihJKSxMQihCKSxnP0EuY2FsbChJLEIpOkkuX19wcm90b19fPUIsSX19KCk6dm9pZCAwKSxtQj1pQixLQj1mdW5jdGlvbihBLGcsSSl7dmFyIEI9ZysiIEl0ZXJhdG9yIjtyZXR1cm4gQS5wcm90b3R5cGU9VUIoa0Ise25leHQ6U0IoMSxJKX0pLHZCKEEsQiwhMSksTkJbQl09TUIsQX0seEI9aEIscUI9SkIsYkI9cEIsVEI9QUEsT0I9TkksUEI9eGcsakI9d0IuSXRlcmF0b3JQcm90b3R5cGUsV0I9d0IuQlVHR1lfU0FGQVJJX0lURVJBVE9SUyxaQj1iQSgiaXRlcmF0b3IiKSxWQj0ia2V5cyIsWEI9InZhbHVlcyIsekI9ImVudHJpZXMiLF9CPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LCRCPVUsQVE9S2csZ1E9eGcsSVE9aUksQlE9ZnVuY3Rpb24oQSxnLEksQixRLEMsRSl7S0IoSSxnLEIpO3ZhciB0LGUsaSxyPWZ1bmN0aW9uKEEpe2lmKEE9PT1RJiZjKXJldHVybiBjO2lmKCFXQiYmQSBpbiBhKXJldHVybiBhW0FdO3N3aXRjaChBKXtjYXNlIFZCOmNhc2UgWEI6Y2FzZSB6QjpyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEkodGhpcyxBKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBJKHRoaXMpfX0sbj1nKyIgSXRlcmF0b3IiLG89ITEsYT1BLnByb3RvdHlwZSxzPWFbWkJdfHxhWyJAQGl0ZXJhdG9yIl18fFEmJmFbUV0sYz0hV0ImJnN8fHIoUSksaD0iQXJyYXkiPT1nJiZhLmVudHJpZXN8fHM7aWYoaCYmKHQ9eEIoaC5jYWxsKG5ldyBBKSksakIhPT1PYmplY3QucHJvdG90eXBlJiZ0Lm5leHQmJih4Qih0KSE9PWpCJiYocUI/cUIodCxqQik6ImZ1bmN0aW9uIiE9dHlwZW9mIHRbWkJdJiZUQih0LFpCLF9CKSksYkIodCxuLCEwKSkpLFE9PVhCJiZzJiZzLm5hbWUhPT1YQiYmKG89ITAsYz1mdW5jdGlvbigpe3JldHVybiBzLmNhbGwodGhpcyl9KSxhW1pCXSE9PWMmJlRCKGEsWkIsYyksUEJbZ109YyxRKWlmKGU9e3ZhbHVlczpyKFhCKSxrZXlzOkM/YzpyKFZCKSxlbnRyaWVzOnIoekIpfSxFKWZvcihpIGluIGUpKFdCfHxvfHwhKGkgaW4gYSkpJiZPQihhLGksZVtpXSk7ZWxzZSBtQih7dGFyZ2V0OmcscHJvdG86ITAsZm9yY2VkOldCfHxvfSxlKTtyZXR1cm4gZX0sUVE9IkFycmF5IEl0ZXJhdG9yIixDUT1JUS5zZXQsRVE9SVEuZ2V0dGVyRm9yKFFRKSx0UT1CUShBcnJheSwiQXJyYXkiLChmdW5jdGlvbihBLGcpe0NRKHRoaXMse3R5cGU6UVEsdGFyZ2V0OiRCKEEpLGluZGV4OjAsa2luZDpnfSl9KSwoZnVuY3Rpb24oKXt2YXIgQT1FUSh0aGlzKSxnPUEudGFyZ2V0LEk9QS5raW5kLEI9QS5pbmRleCsrO3JldHVybiFnfHxCPj1nLmxlbmd0aD8oQS50YXJnZXQ9dm9pZCAwLHt2YWx1ZTp2b2lkIDAsZG9uZTohMH0pOiJrZXlzIj09ST97dmFsdWU6Qixkb25lOiExfToidmFsdWVzIj09ST97dmFsdWU6Z1tCXSxkb25lOiExfTp7dmFsdWU6W0IsZ1tCXV0sZG9uZTohMX19KSwidmFsdWVzIik7Z1EuQXJndW1lbnRzPWdRLkFycmF5LEFRKCJrZXlzIiksQVEoInZhbHVlcyIpLEFRKCJlbnRyaWVzIik7dmFyIGVRPSJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJiJ1bmRlZmluZWQiIT10eXBlb2YgRGF0YVZpZXcsaVE9TkksclE9ZnVuY3Rpb24oQSxnLEkpe2Zvcih2YXIgQiBpbiBnKWlRKEEsQixnW0JdLEkpO3JldHVybiBBfSxuUT1mdW5jdGlvbihBLGcsSSl7aWYoIShBIGluc3RhbmNlb2YgZykpdGhyb3cgVHlwZUVycm9yKCJJbmNvcnJlY3QgIisoST9JKyIgIjoiIikrImludm9jYXRpb24iKTtyZXR1cm4gQX0sb1E9UEEsYVE9WkEsc1E9ZnVuY3Rpb24oQSl7aWYodm9pZCAwPT09QSlyZXR1cm4gMDt2YXIgZz1vUShBKSxJPWFRKGcpO2lmKGchPT1JKXRocm93IFJhbmdlRXJyb3IoIldyb25nIGxlbmd0aCBvciBpbmRleCIpO3JldHVybiBJfSxjUT1NYXRoLmFicyxoUT1NYXRoLnBvdyxmUT1NYXRoLmZsb29yLHVRPU1hdGgubG9nLHlRPU1hdGguTE4yLGxRPW9BLERRPV9BLGRRPVpBLHdRPWZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1sUSh0aGlzKSxJPWRRKGcubGVuZ3RoKSxCPWFyZ3VtZW50cy5sZW5ndGgsUT1EUShCPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxJKSxDPUI+Mj9hcmd1bWVudHNbMl06dm9pZCAwLEU9dm9pZCAwPT09Qz9JOkRRKEMsSSk7RT5ROylnW1ErK109QTtyZXR1cm4gZ30sRlE9dixHUT1NLFJRPWVRLHBRPUFBLGtRPXJRLFVRPWwsU1E9blEsdlE9UEEsTlE9WkEsTVE9c1EsWVE9e3BhY2s6ZnVuY3Rpb24oQSxnLEkpe3ZhciBCLFEsQyxFPW5ldyBBcnJheShJKSx0PTgqSS1nLTEsZT0oMTw8dCktMSxpPWU+PjEscj0yMz09PWc/aFEoMiwtMjQpLWhRKDIsLTc3KTowLG49QTwwfHwwPT09QSYmMS9BPDA/MTowLG89MDtmb3IoKEE9Y1EoQSkpIT1BfHxBPT09MS8wPyhRPUEhPUE/MTowLEI9ZSk6KEI9ZlEodVEoQSkveVEpLEEqKEM9aFEoMiwtQikpPDEmJihCLS0sQyo9MiksKEErPUIraT49MT9yL0M6cipoUSgyLDEtaSkpKkM+PTImJihCKyssQy89MiksQitpPj1lPyhRPTAsQj1lKTpCK2k+PTE/KFE9KEEqQy0xKSpoUSgyLGcpLEIrPWkpOihRPUEqaFEoMixpLTEpKmhRKDIsZyksQj0wKSk7Zz49ODtFW28rK109MjU1JlEsUS89MjU2LGctPTgpO2ZvcihCPUI8PGd8USx0Kz1nO3Q+MDtFW28rK109MjU1JkIsQi89MjU2LHQtPTgpO3JldHVybiBFWy0tb118PTEyOCpuLEV9LHVucGFjazpmdW5jdGlvbihBLGcpe3ZhciBJLEI9QS5sZW5ndGgsUT04KkItZy0xLEM9KDE8PFEpLTEsRT1DPj4xLHQ9US03LGU9Qi0xLGk9QVtlLS1dLHI9MTI3Jmk7Zm9yKGk+Pj03O3Q+MDtyPTI1NipyK0FbZV0sZS0tLHQtPTgpO2ZvcihJPXImKDE8PC10KS0xLHI+Pj0tdCx0Kz1nO3Q+MDtJPTI1NipJK0FbZV0sZS0tLHQtPTgpO2lmKDA9PT1yKXI9MS1FO2Vsc2V7aWYocj09PUMpcmV0dXJuIEk/TmFOOmk/LTEvMDoxLzA7SSs9aFEoMixnKSxyLT1FfXJldHVybihpPy0xOjEpKkkqaFEoMixyLWcpfX0sSFE9aEIsTFE9SkIsSlE9TUkuZixtUT1ZLmYsS1E9d1EseFE9cEIscVE9aUkuZ2V0LGJRPWlJLnNldCxUUT0iQXJyYXlCdWZmZXIiLE9RPSJEYXRhVmlldyIsUFE9InByb3RvdHlwZSIsalE9Ildyb25nIGluZGV4IixXUT1GUVtUUV0sWlE9V1EsVlE9RlFbT1FdLFhRPVZRJiZWUVtQUV0selE9T2JqZWN0LnByb3RvdHlwZSxfUT1GUS5SYW5nZUVycm9yLCRRPVlRLnBhY2ssQUM9WVEudW5wYWNrLGdDPWZ1bmN0aW9uKEEpe3JldHVyblsyNTUmQV19LElDPWZ1bmN0aW9uKEEpe3JldHVyblsyNTUmQSxBPj44JjI1NV19LEJDPWZ1bmN0aW9uKEEpe3JldHVyblsyNTUmQSxBPj44JjI1NSxBPj4xNiYyNTUsQT4+MjQmMjU1XX0sUUM9ZnVuY3Rpb24oQSl7cmV0dXJuIEFbM108PDI0fEFbMl08PDE2fEFbMV08PDh8QVswXX0sQ0M9ZnVuY3Rpb24oQSl7cmV0dXJuICRRKEEsMjMsNCl9LEVDPWZ1bmN0aW9uKEEpe3JldHVybiAkUShBLDUyLDgpfSx0Qz1mdW5jdGlvbihBLGcpe21RKEFbUFFdLGcse2dldDpmdW5jdGlvbigpe3JldHVybiBxUSh0aGlzKVtnXX19KX0sZUM9ZnVuY3Rpb24oQSxnLEksQil7dmFyIFE9TVEoSSksQz1xUShBKTtpZihRK2c+Qy5ieXRlTGVuZ3RoKXRocm93IF9RKGpRKTt2YXIgRT1xUShDLmJ1ZmZlcikuYnl0ZXMsdD1RK0MuYnl0ZU9mZnNldCxlPUUuc2xpY2UodCx0K2cpO3JldHVybiBCP2U6ZS5yZXZlcnNlKCl9LGlDPWZ1bmN0aW9uKEEsZyxJLEIsUSxDKXt2YXIgRT1NUShJKSx0PXFRKEEpO2lmKEUrZz50LmJ5dGVMZW5ndGgpdGhyb3cgX1EoalEpO2Zvcih2YXIgZT1xUSh0LmJ1ZmZlcikuYnl0ZXMsaT1FK3QuYnl0ZU9mZnNldCxyPUIoK1EpLG49MDtuPGc7bisrKWVbaStuXT1yW0M/bjpnLW4tMV19O2lmKFJRKXtpZighVVEoKGZ1bmN0aW9uKCl7V1EoMSl9KSl8fCFVUSgoZnVuY3Rpb24oKXtuZXcgV1EoLTEpfSkpfHxVUSgoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFdRLG5ldyBXUSgxLjUpLG5ldyBXUShOYU4pLFdRLm5hbWUhPVRRfSkpKXtmb3IodmFyIHJDLG5DPShaUT1mdW5jdGlvbihBKXtyZXR1cm4gU1EodGhpcyxaUSksbmV3IFdRKE1RKEEpKX0pW1BRXT1XUVtQUV0sb0M9SlEoV1EpLGFDPTA7b0MubGVuZ3RoPmFDOykockM9b0NbYUMrK10paW4gWlF8fHBRKFpRLHJDLFdRW3JDXSk7bkMuY29uc3RydWN0b3I9WlF9TFEmJkhRKFhRKSE9PXpRJiZMUShYUSx6USk7dmFyIHNDPW5ldyBWUShuZXcgWlEoMikpLGNDPVhRLnNldEludDg7c0Muc2V0SW50OCgwLDIxNDc0ODM2NDgpLHNDLnNldEludDgoMSwyMTQ3NDgzNjQ5KSwhc0MuZ2V0SW50OCgwKSYmc0MuZ2V0SW50OCgxKXx8a1EoWFEse3NldEludDg6ZnVuY3Rpb24oQSxnKXtjQy5jYWxsKHRoaXMsQSxnPDwyND4+MjQpfSxzZXRVaW50ODpmdW5jdGlvbihBLGcpe2NDLmNhbGwodGhpcyxBLGc8PDI0Pj4yNCl9fSx7dW5zYWZlOiEwfSl9ZWxzZSBaUT1mdW5jdGlvbihBKXtTUSh0aGlzLFpRLFRRKTt2YXIgZz1NUShBKTtiUSh0aGlzLHtieXRlczpLUS5jYWxsKG5ldyBBcnJheShnKSwwKSxieXRlTGVuZ3RoOmd9KSxHUXx8KHRoaXMuYnl0ZUxlbmd0aD1nKX0sVlE9ZnVuY3Rpb24oQSxnLEkpe1NRKHRoaXMsVlEsT1EpLFNRKEEsWlEsT1EpO3ZhciBCPXFRKEEpLmJ5dGVMZW5ndGgsUT12UShnKTtpZihRPDB8fFE+Qil0aHJvdyBfUSgiV3Jvbmcgb2Zmc2V0Iik7aWYoUSsoST12b2lkIDA9PT1JP0ItUTpOUShJKSk+Qil0aHJvdyBfUSgiV3JvbmcgbGVuZ3RoIik7YlEodGhpcyx7YnVmZmVyOkEsYnl0ZUxlbmd0aDpJLGJ5dGVPZmZzZXQ6UX0pLEdRfHwodGhpcy5idWZmZXI9QSx0aGlzLmJ5dGVMZW5ndGg9SSx0aGlzLmJ5dGVPZmZzZXQ9USl9LEdRJiYodEMoWlEsImJ5dGVMZW5ndGgiKSx0QyhWUSwiYnVmZmVyIiksdEMoVlEsImJ5dGVMZW5ndGgiKSx0QyhWUSwiYnl0ZU9mZnNldCIpKSxrUShWUVtQUV0se2dldEludDg6ZnVuY3Rpb24oQSl7cmV0dXJuIGVDKHRoaXMsMSxBKVswXTw8MjQ+PjI0fSxnZXRVaW50ODpmdW5jdGlvbihBKXtyZXR1cm4gZUModGhpcywxLEEpWzBdfSxnZXRJbnQxNjpmdW5jdGlvbihBKXt2YXIgZz1lQyh0aGlzLDIsQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCk7cmV0dXJuKGdbMV08PDh8Z1swXSk8PDE2Pj4xNn0sZ2V0VWludDE2OmZ1bmN0aW9uKEEpe3ZhciBnPWVDKHRoaXMsMixBLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKTtyZXR1cm4gZ1sxXTw8OHxnWzBdfSxnZXRJbnQzMjpmdW5jdGlvbihBKXtyZXR1cm4gUUMoZUModGhpcyw0LEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApKX0sZ2V0VWludDMyOmZ1bmN0aW9uKEEpe3JldHVybiBRQyhlQyh0aGlzLDQsQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCkpPj4+MH0sZ2V0RmxvYXQzMjpmdW5jdGlvbihBKXtyZXR1cm4gQUMoZUModGhpcyw0LEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApLDIzKX0sZ2V0RmxvYXQ2NDpmdW5jdGlvbihBKXtyZXR1cm4gQUMoZUModGhpcyw4LEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApLDUyKX0sc2V0SW50ODpmdW5jdGlvbihBLGcpe2lDKHRoaXMsMSxBLGdDLGcpfSxzZXRVaW50ODpmdW5jdGlvbihBLGcpe2lDKHRoaXMsMSxBLGdDLGcpfSxzZXRJbnQxNjpmdW5jdGlvbihBLGcpe2lDKHRoaXMsMixBLElDLGcsYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfSxzZXRVaW50MTY6ZnVuY3Rpb24oQSxnKXtpQyh0aGlzLDIsQSxJQyxnLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX0sc2V0SW50MzI6ZnVuY3Rpb24oQSxnKXtpQyh0aGlzLDQsQSxCQyxnLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX0sc2V0VWludDMyOmZ1bmN0aW9uKEEsZyl7aUModGhpcyw0LEEsQkMsZyxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldEZsb2F0MzI6ZnVuY3Rpb24oQSxnKXtpQyh0aGlzLDQsQSxDQyxnLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX0sc2V0RmxvYXQ2NDpmdW5jdGlvbihBLGcpe2lDKHRoaXMsOCxBLEVDLGcsYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfX0pO3hRKFpRLFRRKSx4UShWUSxPUSk7dmFyIGhDPXtBcnJheUJ1ZmZlcjpaUSxEYXRhVmlldzpWUX0sZkM9ZEEsdUM9WSx5Qz1NLGxDPWJBKCJzcGVjaWVzIiksREM9ZnVuY3Rpb24oQSl7dmFyIGc9ZkMoQSksST11Qy5mO3lDJiZnJiYhZ1tsQ10mJkkoZyxsQyx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0pfSxkQz1EQyx3Qz0iQXJyYXlCdWZmZXIiLEZDPWhDW3dDXTtpQih7Z2xvYmFsOiEwLGZvcmNlZDp2W3dDXSE9PUZDfSx7QXJyYXlCdWZmZXI6RkN9KSxkQyh3Qyk7dmFyIEdDPXt9O0dDW2JBKCJ0b1N0cmluZ1RhZyIpXT0ieiI7dmFyIFJDPSJbb2JqZWN0IHpdIj09PVN0cmluZyhHQykscEM9UkMsa0M9ZCxVQz1iQSgidG9TdHJpbmdUYWciKSxTQz0iQXJndW1lbnRzIj09a0MoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKSx2Qz1wQz9rQzpmdW5jdGlvbihBKXt2YXIgZyxJLEI7cmV0dXJuIHZvaWQgMD09PUE/IlVuZGVmaW5lZCI6bnVsbD09PUE/Ik51bGwiOiJzdHJpbmciPT10eXBlb2YoST1mdW5jdGlvbihBLGcpe3RyeXtyZXR1cm4gQVtnXX1jYXRjaChJKXt9fShnPU9iamVjdChBKSxVQykpP0k6U0M/a0MoZyk6Ik9iamVjdCI9PShCPWtDKGcpKSYmImZ1bmN0aW9uIj09dHlwZW9mIGcuY2FsbGVlPyJBcmd1bWVudHMiOkJ9LE5DPXZDLE1DPVJDP3t9LnRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgIitOQyh0aGlzKSsiXSJ9O1JDfHxOSShPYmplY3QucHJvdG90eXBlLCJ0b1N0cmluZyIsTUMse3Vuc2FmZTohMH0pO3ZhciBZQz17ZXhwb3J0czp7fX0sSEM9YkEoIml0ZXJhdG9yIiksTEM9ITE7dHJ5e3ZhciBKQz0wLG1DPXtuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6ISFKQysrfX0scmV0dXJuOmZ1bmN0aW9uKCl7TEM9ITB9fTttQ1tIQ109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sQXJyYXkuZnJvbShtQywoZnVuY3Rpb24oKXt0aHJvdyAyfSkpfWNhdGNoKFF5KXt9dmFyIEtDLHhDPWZ1bmN0aW9uKEEsZyl7aWYoIWcmJiFMQylyZXR1cm4hMTt2YXIgST0hMTt0cnl7dmFyIEI9e307QltIQ109ZnVuY3Rpb24oKXtyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybntkb25lOkk9ITB9fX19LEEoQil9Y2F0Y2goUXkpe31yZXR1cm4gSX0scUM9ZVEsYkM9TSxUQz12LE9DPUgsUEM9Y0EsakM9dkMsV0M9QUEsWkM9TkksVkM9WS5mLFhDPWhCLHpDPUpCLF9DPWJBLCRDPXVBLEFFPVRDLkludDhBcnJheSxnRT1BRSYmQUUucHJvdG90eXBlLElFPVRDLlVpbnQ4Q2xhbXBlZEFycmF5LEJFPUlFJiZJRS5wcm90b3R5cGUsUUU9QUUmJlhDKEFFKSxDRT1nRSYmWEMoZ0UpLEVFPU9iamVjdC5wcm90b3R5cGUsdEU9RUUuaXNQcm90b3R5cGVPZixlRT1fQygidG9TdHJpbmdUYWciKSxpRT0kQygiVFlQRURfQVJSQVlfVEFHIiksckU9cUMmJiEhekMmJiJPcGVyYSIhPT1qQyhUQy5vcGVyYSksbkU9ITEsb0U9e0ludDhBcnJheToxLFVpbnQ4QXJyYXk6MSxVaW50OENsYW1wZWRBcnJheToxLEludDE2QXJyYXk6MixVaW50MTZBcnJheToyLEludDMyQXJyYXk6NCxVaW50MzJBcnJheTo0LEZsb2F0MzJBcnJheTo0LEZsb2F0NjRBcnJheTo4fSxhRT17QmlnSW50NjRBcnJheTo4LEJpZ1VpbnQ2NEFycmF5Ojh9LHNFPWZ1bmN0aW9uKEEpe2lmKCFPQyhBKSlyZXR1cm4hMTt2YXIgZz1qQyhBKTtyZXR1cm4gUEMob0UsZyl8fFBDKGFFLGcpfTtmb3IoS0MgaW4gb0UpVENbS0NdfHwockU9ITEpO2lmKCghckV8fCJmdW5jdGlvbiIhPXR5cGVvZiBRRXx8UUU9PT1GdW5jdGlvbi5wcm90b3R5cGUpJiYoUUU9ZnVuY3Rpb24oKXt0aHJvdyBUeXBlRXJyb3IoIkluY29ycmVjdCBpbnZvY2F0aW9uIil9LHJFKSlmb3IoS0MgaW4gb0UpVENbS0NdJiZ6QyhUQ1tLQ10sUUUpO2lmKCghckV8fCFDRXx8Q0U9PT1FRSkmJihDRT1RRS5wcm90b3R5cGUsckUpKWZvcihLQyBpbiBvRSlUQ1tLQ10mJnpDKFRDW0tDXS5wcm90b3R5cGUsQ0UpO2lmKHJFJiZYQyhCRSkhPT1DRSYmekMoQkUsQ0UpLGJDJiYhUEMoQ0UsZUUpKWZvcihLQyBpbiBuRT0hMCxWQyhDRSxlRSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9DKHRoaXMpP3RoaXNbaUVdOnZvaWQgMH19KSxvRSlUQ1tLQ10mJldDKFRDW0tDXSxpRSxLQyk7dmFyIGNFPXtOQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTOnJFLFRZUEVEX0FSUkFZX1RBRzpuRSYmaUUsYVR5cGVkQXJyYXk6ZnVuY3Rpb24oQSl7aWYoc0UoQSkpcmV0dXJuIEE7dGhyb3cgVHlwZUVycm9yKCJUYXJnZXQgaXMgbm90IGEgdHlwZWQgYXJyYXkiKX0sYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcjpmdW5jdGlvbihBKXtpZih6Qyl7aWYodEUuY2FsbChRRSxBKSlyZXR1cm4gQX1lbHNlIGZvcih2YXIgZyBpbiBvRSlpZihQQyhvRSxLQykpe3ZhciBJPVRDW2ddO2lmKEkmJihBPT09SXx8dEUuY2FsbChJLEEpKSlyZXR1cm4gQX10aHJvdyBUeXBlRXJyb3IoIlRhcmdldCBpcyBub3QgYSB0eXBlZCBhcnJheSBjb25zdHJ1Y3RvciIpfSxleHBvcnRUeXBlZEFycmF5TWV0aG9kOmZ1bmN0aW9uKEEsZyxJKXtpZihiQyl7aWYoSSlmb3IodmFyIEIgaW4gb0Upe3ZhciBRPVRDW0JdO2lmKFEmJlBDKFEucHJvdG90eXBlLEEpKXRyeXtkZWxldGUgUS5wcm90b3R5cGVbQV19Y2F0Y2goUXkpe319Q0VbQV0mJiFJfHxaQyhDRSxBLEk/ZzpyRSYmZ0VbQV18fGcpfX0sZXhwb3J0VHlwZWRBcnJheVN0YXRpY01ldGhvZDpmdW5jdGlvbihBLGcsSSl7dmFyIEIsUTtpZihiQyl7aWYoekMpe2lmKEkpZm9yKEIgaW4gb0UpaWYoKFE9VENbQl0pJiZQQyhRLEEpKXRyeXtkZWxldGUgUVtBXX1jYXRjaChReSl7fWlmKFFFW0FdJiYhSSlyZXR1cm47dHJ5e3JldHVybiBaQyhRRSxBLEk/ZzpyRSYmUUVbQV18fGcpfWNhdGNoKFF5KXt9fWZvcihCIGluIG9FKSEoUT1UQ1tCXSl8fFFbQV0mJiFJfHxaQyhRLEEsZyl9fSxpc1ZpZXc6ZnVuY3Rpb24oQSl7aWYoIU9DKEEpKXJldHVybiExO3ZhciBnPWpDKEEpO3JldHVybiJEYXRhVmlldyI9PT1nfHxQQyhvRSxnKXx8UEMoYUUsZyl9LGlzVHlwZWRBcnJheTpzRSxUeXBlZEFycmF5OlFFLFR5cGVkQXJyYXlQcm90b3R5cGU6Q0V9LGhFPXYsZkU9bCx1RT14Qyx5RT1jRS5OQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTLGxFPWhFLkFycmF5QnVmZmVyLERFPWhFLkludDhBcnJheSxkRT0heUV8fCFmRSgoZnVuY3Rpb24oKXtERSgxKX0pKXx8IWZFKChmdW5jdGlvbigpe25ldyBERSgtMSl9KSl8fCF1RSgoZnVuY3Rpb24oQSl7bmV3IERFLG5ldyBERShudWxsKSxuZXcgREUoMS41KSxuZXcgREUoQSl9KSwhMCl8fGZFKChmdW5jdGlvbigpe3JldHVybiAxIT09bmV3IERFKG5ldyBsRSgyKSwxLHZvaWQgMCkubGVuZ3RofSkpLHdFPVBBLEZFPWZ1bmN0aW9uKEEpe3ZhciBnPXdFKEEpO2lmKGc8MCl0aHJvdyBSYW5nZUVycm9yKCJUaGUgYXJndW1lbnQgY2FuJ3QgYmUgbGVzcyB0aGFuIDAiKTtyZXR1cm4gZ30sR0U9ZnVuY3Rpb24oQSxnKXt2YXIgST1GRShBKTtpZihJJWcpdGhyb3cgUmFuZ2VFcnJvcigiV3Jvbmcgb2Zmc2V0Iik7cmV0dXJuIEl9LFJFPXZDLHBFPXhnLGtFPWJBKCJpdGVyYXRvciIpLFVFPWZ1bmN0aW9uKEEpe2lmKG51bGwhPUEpcmV0dXJuIEFba0VdfHxBWyJAQGl0ZXJhdG9yIl18fHBFW1JFKEEpXX0sU0U9eGcsdkU9YkEoIml0ZXJhdG9yIiksTkU9QXJyYXkucHJvdG90eXBlLE1FPWZ1bmN0aW9uKEEpe3JldHVybiB2b2lkIDAhPT1BJiYoU0UuQXJyYXk9PT1BfHxORVt2RV09PT1BKX0sWUU9ZnVuY3Rpb24oQSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIEEpdGhyb3cgVHlwZUVycm9yKFN0cmluZyhBKSsiIGlzIG5vdCBhIGZ1bmN0aW9uIik7cmV0dXJuIEF9LEhFPVlFLExFPWZ1bmN0aW9uKEEsZyxJKXtpZihIRShBKSx2b2lkIDA9PT1nKXJldHVybiBBO3N3aXRjaChJKXtjYXNlIDA6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEEuY2FsbChnKX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5jYWxsKGcsSSl9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24oSSxCKXtyZXR1cm4gQS5jYWxsKGcsSSxCKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihJLEIsUSl7cmV0dXJuIEEuY2FsbChnLEksQixRKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEEuYXBwbHkoZyxhcmd1bWVudHMpfX0sSkU9b0EsbUU9WkEsS0U9VUUseEU9TUUscUU9TEUsYkU9Y0UuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixURT1kLE9FPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKEEpe3JldHVybiJBcnJheSI9PVRFKEEpfSxQRT1ILGpFPU9FLFdFPWJBKCJzcGVjaWVzIiksWkU9ZnVuY3Rpb24oQSxnKXt2YXIgSTtyZXR1cm4gakUoQSkmJigiZnVuY3Rpb24iIT10eXBlb2YoST1BLmNvbnN0cnVjdG9yKXx8SSE9PUFycmF5JiYhakUoSS5wcm90b3R5cGUpP1BFKEkpJiZudWxsPT09KEk9SVtXRV0pJiYoST12b2lkIDApOkk9dm9pZCAwKSxuZXcodm9pZCAwPT09ST9BcnJheTpJKSgwPT09Zz8wOmcpfSxWRT1MRSxYRT1HLHpFPW9BLF9FPVpBLCRFPVpFLEF0PVtdLnB1c2gsZ3Q9ZnVuY3Rpb24oQSl7dmFyIGc9MT09QSxJPTI9PUEsQj0zPT1BLFE9ND09QSxDPTY9PUEsRT03PT1BLHQ9NT09QXx8QztyZXR1cm4gZnVuY3Rpb24oZSxpLHIsbil7Zm9yKHZhciBvLGEscz16RShlKSxjPVhFKHMpLGg9VkUoaSxyLDMpLGY9X0UoYy5sZW5ndGgpLHU9MCx5PW58fCRFLGw9Zz95KGUsZik6SXx8RT95KGUsMCk6dm9pZCAwO2Y+dTt1KyspaWYoKHR8fHUgaW4gYykmJihhPWgobz1jW3VdLHUscyksQSkpaWYoZylsW3VdPWE7ZWxzZSBpZihhKXN3aXRjaChBKXtjYXNlIDM6cmV0dXJuITA7Y2FzZSA1OnJldHVybiBvO2Nhc2UgNjpyZXR1cm4gdTtjYXNlIDI6QXQuY2FsbChsLG8pfWVsc2Ugc3dpdGNoKEEpe2Nhc2UgNDpyZXR1cm4hMTtjYXNlIDc6QXQuY2FsbChsLG8pfXJldHVybiBDPy0xOkJ8fFE/UTpsfX0sSXQ9e2ZvckVhY2g6Z3QoMCksbWFwOmd0KDEpLGZpbHRlcjpndCgyKSxzb21lOmd0KDMpLGV2ZXJ5Omd0KDQpLGZpbmQ6Z3QoNSksZmluZEluZGV4Omd0KDYpLGZpbHRlck91dDpndCg3KX0sQnQ9SCxRdD1KQixDdD1mdW5jdGlvbihBLGcsSSl7dmFyIEIsUTtyZXR1cm4gUXQmJiJmdW5jdGlvbiI9PXR5cGVvZihCPWcuY29uc3RydWN0b3IpJiZCIT09SSYmQnQoUT1CLnByb3RvdHlwZSkmJlEhPT1JLnByb3RvdHlwZSYmUXQoQSxRKSxBfSxFdD1pQix0dD12LGV0PU0saXQ9ZEUscnQ9Y0UsbnQ9aEMsb3Q9blEsYXQ9eixzdD1BQSxjdD1aQSxodD1zUSxmdD1HRSx1dD1QLHl0PWNBLGx0PXZDLER0PUgsZHQ9WWcsd3Q9SkIsRnQ9TUkuZixHdD1mdW5jdGlvbihBKXt2YXIgZyxJLEIsUSxDLEUsdD1KRShBKSxlPWFyZ3VtZW50cy5sZW5ndGgsaT1lPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxyPXZvaWQgMCE9PWksbj1LRSh0KTtpZihudWxsIT1uJiYheEUobikpZm9yKEU9KEM9bi5jYWxsKHQpKS5uZXh0LHQ9W107IShRPUUuY2FsbChDKSkuZG9uZTspdC5wdXNoKFEudmFsdWUpO2ZvcihyJiZlPjImJihpPXFFKGksYXJndW1lbnRzWzJdLDIpKSxJPW1FKHQubGVuZ3RoKSxCPW5ldyhiRSh0aGlzKSkoSSksZz0wO0k+ZztnKyspQltnXT1yP2kodFtnXSxnKTp0W2ddO3JldHVybiBCfSxSdD1JdC5mb3JFYWNoLHB0PURDLGt0PVksVXQ9ckksU3Q9Q3QsdnQ9aUkuZ2V0LE50PWlJLnNldCxNdD1rdC5mLFl0PVV0LmYsSHQ9TWF0aC5yb3VuZCxMdD10dC5SYW5nZUVycm9yLEp0PW50LkFycmF5QnVmZmVyLG10PW50LkRhdGFWaWV3LEt0PXJ0Lk5BVElWRV9BUlJBWV9CVUZGRVJfVklFV1MseHQ9cnQuVFlQRURfQVJSQVlfVEFHLHF0PXJ0LlR5cGVkQXJyYXksYnQ9cnQuVHlwZWRBcnJheVByb3RvdHlwZSxUdD1ydC5hVHlwZWRBcnJheUNvbnN0cnVjdG9yLE90PXJ0LmlzVHlwZWRBcnJheSxQdD0iQllURVNfUEVSX0VMRU1FTlQiLGp0PSJXcm9uZyBsZW5ndGgiLFd0PWZ1bmN0aW9uKEEsZyl7Zm9yKHZhciBJPTAsQj1nLmxlbmd0aCxRPW5ldyhUdChBKSkoQik7Qj5JOylRW0ldPWdbSSsrXTtyZXR1cm4gUX0sWnQ9ZnVuY3Rpb24oQSxnKXtNdChBLGcse2dldDpmdW5jdGlvbigpe3JldHVybiB2dCh0aGlzKVtnXX19KX0sVnQ9ZnVuY3Rpb24oQSl7dmFyIGc7cmV0dXJuIEEgaW5zdGFuY2VvZiBKdHx8IkFycmF5QnVmZmVyIj09KGc9bHQoQSkpfHwiU2hhcmVkQXJyYXlCdWZmZXIiPT1nfSxYdD1mdW5jdGlvbihBLGcpe3JldHVybiBPdChBKSYmInN5bWJvbCIhPXR5cGVvZiBnJiZnIGluIEEmJlN0cmluZygrZyk9PVN0cmluZyhnKX0senQ9ZnVuY3Rpb24oQSxnKXtyZXR1cm4gWHQoQSxnPXV0KGcsITApKT9hdCgyLEFbZ10pOll0KEEsZyl9LF90PWZ1bmN0aW9uKEEsZyxJKXtyZXR1cm4hKFh0KEEsZz11dChnLCEwKSkmJkR0KEkpJiZ5dChJLCJ2YWx1ZSIpKXx8eXQoSSwiZ2V0Iil8fHl0KEksInNldCIpfHxJLmNvbmZpZ3VyYWJsZXx8eXQoSSwid3JpdGFibGUiKSYmIUkud3JpdGFibGV8fHl0KEksImVudW1lcmFibGUiKSYmIUkuZW51bWVyYWJsZT9NdChBLGcsSSk6KEFbZ109SS52YWx1ZSxBKX07ZXQ/KEt0fHwoVXQuZj16dCxrdC5mPV90LFp0KGJ0LCJidWZmZXIiKSxadChidCwiYnl0ZU9mZnNldCIpLFp0KGJ0LCJieXRlTGVuZ3RoIiksWnQoYnQsImxlbmd0aCIpKSxFdCh7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiFLdH0se2dldE93blByb3BlcnR5RGVzY3JpcHRvcjp6dCxkZWZpbmVQcm9wZXJ0eTpfdH0pLFlDLmV4cG9ydHM9ZnVuY3Rpb24oQSxnLEkpe3ZhciBCPUEubWF0Y2goL1xkKyQvKVswXS84LFE9QSsoST8iQ2xhbXBlZCI6IiIpKyJBcnJheSIsQz0iZ2V0IitBLEU9InNldCIrQSx0PXR0W1FdLGU9dCxpPWUmJmUucHJvdG90eXBlLHI9e30sbj1mdW5jdGlvbihBLGcpe010KEEsZyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKEEsZyl7dmFyIEk9dnQoQSk7cmV0dXJuIEkudmlld1tDXShnKkIrSS5ieXRlT2Zmc2V0LCEwKX0odGhpcyxnKX0sc2V0OmZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihBLGcsUSl7dmFyIEM9dnQoQSk7SSYmKFE9KFE9SHQoUSkpPDA/MDpRPjI1NT8yNTU6MjU1JlEpLEMudmlld1tFXShnKkIrQy5ieXRlT2Zmc2V0LFEsITApfSh0aGlzLGcsQSl9LGVudW1lcmFibGU6ITB9KX07S3Q/aXQmJihlPWcoKGZ1bmN0aW9uKEEsZyxJLEMpe3JldHVybiBvdChBLGUsUSksU3QoRHQoZyk/VnQoZyk/dm9pZCAwIT09Qz9uZXcgdChnLGZ0KEksQiksQyk6dm9pZCAwIT09ST9uZXcgdChnLGZ0KEksQikpOm5ldyB0KGcpOk90KGcpP1d0KGUsZyk6R3QuY2FsbChlLGcpOm5ldyB0KGh0KGcpKSxBLGUpfSkpLHd0JiZ3dChlLHF0KSxSdChGdCh0KSwoZnVuY3Rpb24oQSl7QSBpbiBlfHxzdChlLEEsdFtBXSl9KSksZS5wcm90b3R5cGU9aSk6KGU9ZygoZnVuY3Rpb24oQSxnLEksQyl7b3QoQSxlLFEpO3ZhciBFLHQsaSxyPTAsbz0wO2lmKER0KGcpKXtpZighVnQoZykpcmV0dXJuIE90KGcpP1d0KGUsZyk6R3QuY2FsbChlLGcpO0U9ZyxvPWZ0KEksQik7dmFyIGE9Zy5ieXRlTGVuZ3RoO2lmKHZvaWQgMD09PUMpe2lmKGElQil0aHJvdyBMdChqdCk7aWYoKHQ9YS1vKTwwKXRocm93IEx0KGp0KX1lbHNlIGlmKCh0PWN0KEMpKkIpK28+YSl0aHJvdyBMdChqdCk7aT10L0J9ZWxzZSBpPWh0KGcpLEU9bmV3IEp0KHQ9aSpCKTtmb3IoTnQoQSx7YnVmZmVyOkUsYnl0ZU9mZnNldDpvLGJ5dGVMZW5ndGg6dCxsZW5ndGg6aSx2aWV3Om5ldyBtdChFKX0pO3I8aTspbihBLHIrKyl9KSksd3QmJnd0KGUscXQpLGk9ZS5wcm90b3R5cGU9ZHQoYnQpKSxpLmNvbnN0cnVjdG9yIT09ZSYmc3QoaSwiY29uc3RydWN0b3IiLGUpLHh0JiZzdChpLHh0LFEpLHJbUV09ZSxFdCh7Z2xvYmFsOiEwLGZvcmNlZDplIT10LHNoYW06IUt0fSxyKSxQdCBpbiBlfHxzdChlLFB0LEIpLFB0IGluIGl8fHN0KGksUHQsQikscHQoUSl9KTpZQy5leHBvcnRzPWZ1bmN0aW9uKCl7fTt2YXIgJHQ9WUMuZXhwb3J0czskdCgiVWludDgiLChmdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oZyxJLEIpe3JldHVybiBBKHRoaXMsZyxJLEIpfX0pKTt2YXIgQWU9b0EsZ2U9X0EsSWU9WkEsQmU9TWF0aC5taW4sUWU9W10uY29weVdpdGhpbnx8ZnVuY3Rpb24oQSxnKXt2YXIgST1BZSh0aGlzKSxCPUllKEkubGVuZ3RoKSxRPWdlKEEsQiksQz1nZShnLEIpLEU9YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDAsdD1CZSgodm9pZCAwPT09RT9COmdlKEUsQikpLUMsQi1RKSxlPTE7Zm9yKEM8USYmUTxDK3QmJihlPS0xLEMrPXQtMSxRKz10LTEpO3QtLSA+MDspQyBpbiBJP0lbUV09SVtDXTpkZWxldGUgSVtRXSxRKz1lLEMrPWU7cmV0dXJuIEl9LENlPVFlLEVlPWNFLmFUeXBlZEFycmF5OygwLGNFLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJjb3B5V2l0aGluIiwoZnVuY3Rpb24oQSxnKXtyZXR1cm4gQ2UuY2FsbChFZSh0aGlzKSxBLGcsYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfSkpO3ZhciB0ZT1JdC5ldmVyeSxlZT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgiZXZlcnkiLChmdW5jdGlvbihBKXtyZXR1cm4gdGUoZWUodGhpcyksQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSk7dmFyIGllPXdRLHJlPWNFLmFUeXBlZEFycmF5OygwLGNFLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmaWxsIiwoZnVuY3Rpb24oQSl7cmV0dXJuIGllLmFwcGx5KHJlKHRoaXMpLGFyZ3VtZW50cyl9KSk7dmFyIG5lPVQsb2U9WUUsYWU9YkEoInNwZWNpZXMiKSxzZT1mdW5jdGlvbihBLGcpe3ZhciBJLEI9bmUoQSkuY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PUJ8fG51bGw9PShJPW5lKEIpW2FlXSk/ZzpvZShJKX0sY2U9Y0UuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixoZT1zZSxmZT1JdC5maWx0ZXIsdWU9ZnVuY3Rpb24oQSxnKXtmb3IodmFyIEk9aGUoQSxBLmNvbnN0cnVjdG9yKSxCPTAsUT1nLmxlbmd0aCxDPW5ldyhjZShJKSkoUSk7UT5COylDW0JdPWdbQisrXTtyZXR1cm4gQ30seWU9Y0UuYVR5cGVkQXJyYXk7KDAsY0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbHRlciIsKGZ1bmN0aW9uKEEpe3ZhciBnPWZlKHllKHRoaXMpLEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApO3JldHVybiB1ZSh0aGlzLGcpfSkpO3ZhciBsZT1JdC5maW5kLERlPWNFLmFUeXBlZEFycmF5OygwLGNFLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmaW5kIiwoZnVuY3Rpb24oQSl7cmV0dXJuIGxlKERlKHRoaXMpLEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBkZT1JdC5maW5kSW5kZXgsd2U9Y0UuYVR5cGVkQXJyYXk7KDAsY0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbmRJbmRleCIsKGZ1bmN0aW9uKEEpe3JldHVybiBkZSh3ZSh0aGlzKSxBLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgRmU9SXQuZm9yRWFjaCxHZT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgiZm9yRWFjaCIsKGZ1bmN0aW9uKEEpe0ZlKEdlKHRoaXMpLEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBSZT1CZy5pbmNsdWRlcyxwZT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgiaW5jbHVkZXMiLChmdW5jdGlvbihBKXtyZXR1cm4gUmUocGUodGhpcyksQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSk7dmFyIGtlPUJnLmluZGV4T2YsVWU9Y0UuYVR5cGVkQXJyYXk7KDAsY0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImluZGV4T2YiLChmdW5jdGlvbihBKXtyZXR1cm4ga2UoVWUodGhpcyksQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSk7dmFyIFNlPXYsdmU9Y0UsTmU9dFEsTWU9YkEoIml0ZXJhdG9yIiksWWU9U2UuVWludDhBcnJheSxIZT1OZS52YWx1ZXMsTGU9TmUua2V5cyxKZT1OZS5lbnRyaWVzLG1lPXZlLmFUeXBlZEFycmF5LEtlPXZlLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QseGU9WWUmJlllLnByb3RvdHlwZVtNZV0scWU9ISF4ZSYmKCJ2YWx1ZXMiPT14ZS5uYW1lfHxudWxsPT14ZS5uYW1lKSxiZT1mdW5jdGlvbigpe3JldHVybiBIZS5jYWxsKG1lKHRoaXMpKX07S2UoImVudHJpZXMiLChmdW5jdGlvbigpe3JldHVybiBKZS5jYWxsKG1lKHRoaXMpKX0pKSxLZSgia2V5cyIsKGZ1bmN0aW9uKCl7cmV0dXJuIExlLmNhbGwobWUodGhpcykpfSkpLEtlKCJ2YWx1ZXMiLGJlLCFxZSksS2UoTWUsYmUsIXFlKTt2YXIgVGU9Y0UuYVR5cGVkQXJyYXksT2U9W10uam9pbjsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgiam9pbiIsKGZ1bmN0aW9uKEEpe3JldHVybiBPZS5hcHBseShUZSh0aGlzKSxhcmd1bWVudHMpfSkpO3ZhciBQZT1sLGplPWZ1bmN0aW9uKEEsZyl7dmFyIEk9W11bQV07cmV0dXJuISFJJiZQZSgoZnVuY3Rpb24oKXtJLmNhbGwobnVsbCxnfHxmdW5jdGlvbigpe3Rocm93IDF9LDEpfSkpfSxXZT1VLFplPVBBLFZlPVpBLFhlPWplLHplPU1hdGgubWluLF9lPVtdLmxhc3RJbmRleE9mLCRlPSEhX2UmJjEvWzFdLmxhc3RJbmRleE9mKDEsLTApPDAsQWk9WGUoImxhc3RJbmRleE9mIiksZ2k9JGV8fCFBaT9mdW5jdGlvbihBKXtpZigkZSlyZXR1cm4gX2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfHwwO3ZhciBnPVdlKHRoaXMpLEk9VmUoZy5sZW5ndGgpLEI9SS0xO2Zvcihhcmd1bWVudHMubGVuZ3RoPjEmJihCPXplKEIsWmUoYXJndW1lbnRzWzFdKSkpLEI8MCYmKEI9SStCKTtCPj0wO0ItLSlpZihCIGluIGcmJmdbQl09PT1BKXJldHVybiBCfHwwO3JldHVybi0xfTpfZSxJaT1naSxCaT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgibGFzdEluZGV4T2YiLChmdW5jdGlvbihBKXtyZXR1cm4gSWkuYXBwbHkoQmkodGhpcyksYXJndW1lbnRzKX0pKTt2YXIgUWk9SXQubWFwLENpPXNlLEVpPWNFLmFUeXBlZEFycmF5LHRpPWNFLmFUeXBlZEFycmF5Q29uc3RydWN0b3I7KDAsY0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoIm1hcCIsKGZ1bmN0aW9uKEEpe3JldHVybiBRaShFaSh0aGlzKSxBLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLChmdW5jdGlvbihBLGcpe3JldHVybiBuZXcodGkoQ2koQSxBLmNvbnN0cnVjdG9yKSkpKGcpfSkpfSkpO3ZhciBlaT1ZRSxpaT1vQSxyaT1HLG5pPVpBLG9pPWZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnLEksQixRKXtlaShJKTt2YXIgQz1paShnKSxFPXJpKEMpLHQ9bmkoQy5sZW5ndGgpLGU9QT90LTE6MCxpPUE/LTE6MTtpZihCPDIpZm9yKDs7KXtpZihlIGluIEUpe1E9RVtlXSxlKz1pO2JyZWFrfWlmKGUrPWksQT9lPDA6dDw9ZSl0aHJvdyBUeXBlRXJyb3IoIlJlZHVjZSBvZiBlbXB0eSBhcnJheSB3aXRoIG5vIGluaXRpYWwgdmFsdWUiKX1mb3IoO0E/ZT49MDp0PmU7ZSs9aSllIGluIEUmJihRPUkoUSxFW2VdLGUsQykpO3JldHVybiBRfX0sYWk9e2xlZnQ6b2koITEpLHJpZ2h0Om9pKCEwKX0sc2k9YWkubGVmdCxjaT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgicmVkdWNlIiwoZnVuY3Rpb24oQSl7cmV0dXJuIHNpKGNpKHRoaXMpLEEsYXJndW1lbnRzLmxlbmd0aCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSk7dmFyIGhpPWFpLnJpZ2h0LGZpPWNFLmFUeXBlZEFycmF5OygwLGNFLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJyZWR1Y2VSaWdodCIsKGZ1bmN0aW9uKEEpe3JldHVybiBoaShmaSh0aGlzKSxBLGFyZ3VtZW50cy5sZW5ndGgsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciB1aT1jRS5hVHlwZWRBcnJheSx5aT1jRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kLGxpPU1hdGguZmxvb3I7eWkoInJldmVyc2UiLChmdW5jdGlvbigpe2Zvcih2YXIgQSxnPXRoaXMsST11aShnKS5sZW5ndGgsQj1saShJLzIpLFE9MDtRPEI7KUE9Z1tRXSxnW1ErK109Z1stLUldLGdbSV09QTtyZXR1cm4gZ30pKTt2YXIgRGk9WkEsZGk9R0Usd2k9b0EsRmk9Y0UuYVR5cGVkQXJyYXk7KDAsY0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInNldCIsKGZ1bmN0aW9uKEEpe0ZpKHRoaXMpO3ZhciBnPWRpKGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDEpLEk9dGhpcy5sZW5ndGgsQj13aShBKSxRPURpKEIubGVuZ3RoKSxDPTA7aWYoUStnPkkpdGhyb3cgUmFuZ2VFcnJvcigiV3JvbmcgbGVuZ3RoIik7Zm9yKDtDPFE7KXRoaXNbZytDXT1CW0MrK119KSxsKChmdW5jdGlvbigpe25ldyBJbnQ4QXJyYXkoMSkuc2V0KHt9KX0pKSk7dmFyIEdpPXNlLFJpPWNFLmFUeXBlZEFycmF5LHBpPWNFLmFUeXBlZEFycmF5Q29uc3RydWN0b3Isa2k9W10uc2xpY2U7KDAsY0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInNsaWNlIiwoZnVuY3Rpb24oQSxnKXtmb3IodmFyIEk9a2kuY2FsbChSaSh0aGlzKSxBLGcpLEI9R2kodGhpcyx0aGlzLmNvbnN0cnVjdG9yKSxRPTAsQz1JLmxlbmd0aCxFPW5ldyhwaShCKSkoQyk7Qz5ROylFW1FdPUlbUSsrXTtyZXR1cm4gRX0pLGwoKGZ1bmN0aW9uKCl7bmV3IEludDhBcnJheSgxKS5zbGljZSgpfSkpKTt2YXIgVWk9SXQuc29tZSxTaT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic29tZSIsKGZ1bmN0aW9uKEEpe3JldHVybiBVaShTaSh0aGlzKSxBLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgdmk9Y0UuYVR5cGVkQXJyYXksTmk9W10uc29ydDsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic29ydCIsKGZ1bmN0aW9uKEEpe3JldHVybiBOaS5jYWxsKHZpKHRoaXMpLEEpfSkpO3ZhciBNaT1aQSxZaT1fQSxIaT1zZSxMaT1jRS5hVHlwZWRBcnJheTsoMCxjRS5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic3ViYXJyYXkiLChmdW5jdGlvbihBLGcpe3ZhciBJPUxpKHRoaXMpLEI9SS5sZW5ndGgsUT1ZaShBLEIpO3JldHVybiBuZXcoSGkoSSxJLmNvbnN0cnVjdG9yKSkoSS5idWZmZXIsSS5ieXRlT2Zmc2V0K1EqSS5CWVRFU19QRVJfRUxFTUVOVCxNaSgodm9pZCAwPT09Zz9COllpKGcsQikpLVEpKX0pKTt2YXIgSmk9Y0UsbWk9bCxLaT12LkludDhBcnJheSx4aT1KaS5hVHlwZWRBcnJheSxxaT1KaS5leHBvcnRUeXBlZEFycmF5TWV0aG9kLGJpPVtdLnRvTG9jYWxlU3RyaW5nLFRpPVtdLnNsaWNlLE9pPSEhS2kmJm1pKChmdW5jdGlvbigpe2JpLmNhbGwobmV3IEtpKDEpKX0pKTtxaSgidG9Mb2NhbGVTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBiaS5hcHBseShPaT9UaS5jYWxsKHhpKHRoaXMpKTp4aSh0aGlzKSxhcmd1bWVudHMpfSksbWkoKGZ1bmN0aW9uKCl7cmV0dXJuWzEsMl0udG9Mb2NhbGVTdHJpbmcoKSE9bmV3IEtpKFsxLDJdKS50b0xvY2FsZVN0cmluZygpfSkpfHwhbWkoKGZ1bmN0aW9uKCl7S2kucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoWzEsMl0pfSkpKTt2YXIgUGk9Y0UuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxqaT1sLFdpPXYuVWludDhBcnJheSxaaT1XaSYmV2kucHJvdG90eXBlfHx7fSxWaT1bXS50b1N0cmluZyxYaT1bXS5qb2luO2ppKChmdW5jdGlvbigpe1ZpLmNhbGwoe30pfSkpJiYoVmk9ZnVuY3Rpb24oKXtyZXR1cm4gWGkuY2FsbCh0aGlzKX0pO3ZhciB6aT1aaS50b1N0cmluZyE9Vmk7UGkoInRvU3RyaW5nIixWaSx6aSk7dmFyIF9pPVAsJGk9WSxBcj16LGdyPWZ1bmN0aW9uKEEsZyxJKXt2YXIgQj1faShnKTtCIGluIEE/JGkuZihBLEIsQXIoMCxJKSk6QVtCXT1JfSxJcj1sLEJyPVVBLFFyPWJBKCJzcGVjaWVzIiksQ3I9ZnVuY3Rpb24oQSl7cmV0dXJuIEJyPj01MXx8IUlyKChmdW5jdGlvbigpe3ZhciBnPVtdO3JldHVybihnLmNvbnN0cnVjdG9yPXt9KVtRcl09ZnVuY3Rpb24oKXtyZXR1cm57Zm9vOjF9fSwxIT09Z1tBXShCb29sZWFuKS5mb299KSl9LEVyPWlCLHRyPUgsZXI9T0UsaXI9X0EscnI9WkEsbnI9VSxvcj1ncixhcj1iQSxzcj1Dcigic2xpY2UiKSxjcj1hcigic3BlY2llcyIpLGhyPVtdLnNsaWNlLGZyPU1hdGgubWF4O0VyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IXNyfSx7c2xpY2U6ZnVuY3Rpb24oQSxnKXt2YXIgSSxCLFEsQz1ucih0aGlzKSxFPXJyKEMubGVuZ3RoKSx0PWlyKEEsRSksZT1pcih2b2lkIDA9PT1nP0U6ZyxFKTtpZihlcihDKSYmKCJmdW5jdGlvbiIhPXR5cGVvZihJPUMuY29uc3RydWN0b3IpfHxJIT09QXJyYXkmJiFlcihJLnByb3RvdHlwZSk/dHIoSSkmJm51bGw9PT0oST1JW2NyXSkmJihJPXZvaWQgMCk6ST12b2lkIDAsST09PUFycmF5fHx2b2lkIDA9PT1JKSlyZXR1cm4gaHIuY2FsbChDLHQsZSk7Zm9yKEI9bmV3KHZvaWQgMD09PUk/QXJyYXk6SSkoZnIoZS10LDApKSxRPTA7dDxlO3QrKyxRKyspdCBpbiBDJiZvcihCLFEsQ1t0XSk7cmV0dXJuIEIubGVuZ3RoPVEsQn19KTt2YXIgdXI9Uix5cj0iW1x0XG5cdlxmXHIgwqDhmoDigIDigIHigILigIPigITigIXigIbigIfigIjigInigIrigK/igZ/jgIBcdTIwMjhcdTIwMjlcdWZlZmZdIixscj1SZWdFeHAoIl4iK3lyK3lyKyIqIiksRHI9UmVnRXhwKHlyK3lyKyIqJCIpLGRyPWZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnKXt2YXIgST1TdHJpbmcodXIoZykpO3JldHVybiAxJkEmJihJPUkucmVwbGFjZShsciwiIikpLDImQSYmKEk9SS5yZXBsYWNlKERyLCIiKSksSX19LHdyPXtzdGFydDpkcigxKSxlbmQ6ZHIoMiksdHJpbTpkcigzKX0sRnI9TSxHcj12LFJyPWdCLHByPU5JLGtyPWNBLFVyPWQsU3I9Q3QsdnI9UCxOcj1sLE1yPVlnLFlyPU1JLmYsSHI9ckkuZixMcj1ZLmYsSnI9d3IudHJpbSxtcj0iTnVtYmVyIixLcj1Hclttcl0seHI9S3IucHJvdG90eXBlLHFyPVVyKE1yKHhyKSk9PW1yLGJyPWZ1bmN0aW9uKEEpe3ZhciBnLEksQixRLEMsRSx0LGUsaT12cihBLCExKTtpZigic3RyaW5nIj09dHlwZW9mIGkmJmkubGVuZ3RoPjIpaWYoNDM9PT0oZz0oaT1KcihpKSkuY2hhckNvZGVBdCgwKSl8fDQ1PT09Zyl7aWYoODg9PT0oST1pLmNoYXJDb2RlQXQoMikpfHwxMjA9PT1JKXJldHVybiBOYU59ZWxzZSBpZig0OD09PWcpe3N3aXRjaChpLmNoYXJDb2RlQXQoMSkpe2Nhc2UgNjY6Y2FzZSA5ODpCPTIsUT00OTticmVhaztjYXNlIDc5OmNhc2UgMTExOkI9OCxRPTU1O2JyZWFrO2RlZmF1bHQ6cmV0dXJuK2l9Zm9yKEU9KEM9aS5zbGljZSgyKSkubGVuZ3RoLHQ9MDt0PEU7dCsrKWlmKChlPUMuY2hhckNvZGVBdCh0KSk8NDh8fGU+USlyZXR1cm4gTmFOO3JldHVybiBwYXJzZUludChDLEIpfXJldHVybitpfTtpZihScihtciwhS3IoIiAwbzEiKXx8IUtyKCIwYjEiKXx8S3IoIisweDEiKSkpe2Zvcih2YXIgVHIsT3I9ZnVuY3Rpb24oQSl7dmFyIGc9YXJndW1lbnRzLmxlbmd0aDwxPzA6QSxJPXRoaXM7cmV0dXJuIEkgaW5zdGFuY2VvZiBPciYmKHFyP05yKChmdW5jdGlvbigpe3hyLnZhbHVlT2YuY2FsbChJKX0pKTpVcihJKSE9bXIpP1NyKG5ldyBLcihicihnKSksSSxPcik6YnIoZyl9LFByPUZyP1lyKEtyKToiTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksRVBTSUxPTixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixNQVhfU0FGRV9JTlRFR0VSLE1JTl9TQUZFX0lOVEVHRVIscGFyc2VGbG9hdCxwYXJzZUludCxpc0ludGVnZXIsZnJvbVN0cmluZyxyYW5nZSIuc3BsaXQoIiwiKSxqcj0wO1ByLmxlbmd0aD5qcjtqcisrKWtyKEtyLFRyPVByW2pyXSkmJiFrcihPcixUcikmJkxyKE9yLFRyLEhyKEtyLFRyKSk7T3IucHJvdG90eXBlPXhyLHhyLmNvbnN0cnVjdG9yPU9yLHByKEdyLG1yLE9yKX12YXIgV3I9S2c7aUIoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwfSx7Y29weVdpdGhpbjpRZX0pLFdyKCJjb3B5V2l0aGluIik7dmFyIFpyPUJnLmluY2x1ZGVzLFZyPUtnO2lCKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMH0se2luY2x1ZGVzOmZ1bmN0aW9uKEEpe3JldHVybiBacih0aGlzLEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLFZyKCJpbmNsdWRlcyIpO3ZhciBYcj1NLHpyPWwsX3I9YWcsJHI9TEksQW49bkksZ249b0EsSW49RyxCbj1PYmplY3QuYXNzaWduLFFuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxDbj0hQm58fHpyKChmdW5jdGlvbigpe2lmKFhyJiYxIT09Qm4oe2I6MX0sQm4oUW4oe30sImEiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe1FuKHRoaXMsImIiLHt2YWx1ZTozLGVudW1lcmFibGU6ITF9KX19KSx7YjoyfSkpLmIpcmV0dXJuITA7dmFyIEE9e30sZz17fSxJPVN5bWJvbCgpLEI9ImFiY2RlZmdoaWprbG1ub3BxcnN0IjtyZXR1cm4gQVtJXT03LEIuc3BsaXQoIiIpLmZvckVhY2goKGZ1bmN0aW9uKEEpe2dbQV09QX0pKSw3IT1Cbih7fSxBKVtJXXx8X3IoQm4oe30sZykpLmpvaW4oIiIpIT1CfSkpP2Z1bmN0aW9uKEEsZyl7Zm9yKHZhciBJPWduKEEpLEI9YXJndW1lbnRzLmxlbmd0aCxRPTEsQz0kci5mLEU9QW4uZjtCPlE7KWZvcih2YXIgdCxlPUluKGFyZ3VtZW50c1tRKytdKSxpPUM/X3IoZSkuY29uY2F0KEMoZSkpOl9yKGUpLHI9aS5sZW5ndGgsbj0wO3I+bjspdD1pW24rK10sWHImJiFFLmNhbGwoZSx0KXx8KElbdF09ZVt0XSk7cmV0dXJuIEl9OkJuLEVuPUNuO2lCKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6T2JqZWN0LmFzc2lnbiE9PUVufSx7YXNzaWduOkVufSk7dmFyIHRuLGVuLHJuLG5uPXYuUHJvbWlzZSxvbj1ULGFuPVQsc249TUUsY249WkEsaG49TEUsZm49VUUsdW49ZnVuY3Rpb24oQSl7dmFyIGc9QS5yZXR1cm47aWYodm9pZCAwIT09ZylyZXR1cm4gb24oZy5jYWxsKEEpKS52YWx1ZX0seW49ZnVuY3Rpb24oQSxnKXt0aGlzLnN0b3BwZWQ9QSx0aGlzLnJlc3VsdD1nfSxsbj0vKD86aXBob25lfGlwb2R8aXBhZCkuKmFwcGxld2Via2l0L2kudGVzdCh3QSksRG49InByb2Nlc3MiPT1kKHYucHJvY2VzcyksZG49dix3bj1sLEZuPUxFLEduPXVnLFJuPUsscG49bG4sa249RG4sVW49ZG4ubG9jYXRpb24sU249ZG4uc2V0SW1tZWRpYXRlLHZuPWRuLmNsZWFySW1tZWRpYXRlLE5uPWRuLnByb2Nlc3MsTW49ZG4uTWVzc2FnZUNoYW5uZWwsWW49ZG4uRGlzcGF0Y2gsSG49MCxMbj17fSxKbj0ib25yZWFkeXN0YXRlY2hhbmdlIixtbj1mdW5jdGlvbihBKXtpZihMbi5oYXNPd25Qcm9wZXJ0eShBKSl7dmFyIGc9TG5bQV07ZGVsZXRlIExuW0FdLGcoKX19LEtuPWZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbigpe21uKEEpfX0seG49ZnVuY3Rpb24oQSl7bW4oQS5kYXRhKX0scW49ZnVuY3Rpb24oQSl7ZG4ucG9zdE1lc3NhZ2UoQSsiIixVbi5wcm90b2NvbCsiLy8iK1VuLmhvc3QpfTtTbiYmdm58fChTbj1mdW5jdGlvbihBKXtmb3IodmFyIGc9W10sST0xO2FyZ3VtZW50cy5sZW5ndGg+STspZy5wdXNoKGFyZ3VtZW50c1tJKytdKTtyZXR1cm4gTG5bKytIbl09ZnVuY3Rpb24oKXsoImZ1bmN0aW9uIj09dHlwZW9mIEE/QTpGdW5jdGlvbihBKSkuYXBwbHkodm9pZCAwLGcpfSx0bihIbiksSG59LHZuPWZ1bmN0aW9uKEEpe2RlbGV0ZSBMbltBXX0sa24/dG49ZnVuY3Rpb24oQSl7Tm4ubmV4dFRpY2soS24oQSkpfTpZbiYmWW4ubm93P3RuPWZ1bmN0aW9uKEEpe1luLm5vdyhLbihBKSl9Ok1uJiYhcG4/KHJuPShlbj1uZXcgTW4pLnBvcnQyLGVuLnBvcnQxLm9ubWVzc2FnZT14bix0bj1Gbihybi5wb3N0TWVzc2FnZSxybiwxKSk6ZG4uYWRkRXZlbnRMaXN0ZW5lciYmImZ1bmN0aW9uIj09dHlwZW9mIHBvc3RNZXNzYWdlJiYhZG4uaW1wb3J0U2NyaXB0cyYmVW4mJiJmaWxlOiIhPT1Vbi5wcm90b2NvbCYmIXduKHFuKT8odG49cW4sZG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIseG4sITEpKTp0bj1KbiBpbiBSbigic2NyaXB0Iik/ZnVuY3Rpb24oQSl7R24uYXBwZW5kQ2hpbGQoUm4oInNjcmlwdCIpKVtKbl09ZnVuY3Rpb24oKXtHbi5yZW1vdmVDaGlsZCh0aGlzKSxtbihBKX19OmZ1bmN0aW9uKEEpe3NldFRpbWVvdXQoS24oQSksMCl9KTt2YXIgYm4sVG4sT24sUG4sam4sV24sWm4sVm4sWG49e3NldDpTbixjbGVhcjp2bn0sem49L3dlYjBzKD8hLipjaHJvbWUpL2kudGVzdCh3QSksX249diwkbj1ySS5mLEFvPVhuLnNldCxnbz1sbixJbz16bixCbz1EbixRbz1fbi5NdXRhdGlvbk9ic2VydmVyfHxfbi5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLENvPV9uLmRvY3VtZW50LEVvPV9uLnByb2Nlc3MsdG89X24uUHJvbWlzZSxlbz0kbihfbiwicXVldWVNaWNyb3Rhc2siKSxpbz1lbyYmZW8udmFsdWU7aW98fChibj1mdW5jdGlvbigpe3ZhciBBLGc7Zm9yKEJvJiYoQT1Fby5kb21haW4pJiZBLmV4aXQoKTtUbjspe2c9VG4uZm4sVG49VG4ubmV4dDt0cnl7ZygpfWNhdGNoKFF5KXt0aHJvdyBUbj9QbigpOk9uPXZvaWQgMCxReX19T249dm9pZCAwLEEmJkEuZW50ZXIoKX0sZ298fEJvfHxJb3x8IVFvfHwhQ28/dG8mJnRvLnJlc29sdmU/KChabj10by5yZXNvbHZlKHZvaWQgMCkpLmNvbnN0cnVjdG9yPXRvLFZuPVpuLnRoZW4sUG49ZnVuY3Rpb24oKXtWbi5jYWxsKFpuLGJuKX0pOlBuPUJvP2Z1bmN0aW9uKCl7RW8ubmV4dFRpY2soYm4pfTpmdW5jdGlvbigpe0FvLmNhbGwoX24sYm4pfTooam49ITAsV249Q28uY3JlYXRlVGV4dE5vZGUoIiIpLG5ldyBRbyhibikub2JzZXJ2ZShXbix7Y2hhcmFjdGVyRGF0YTohMH0pLFBuPWZ1bmN0aW9uKCl7V24uZGF0YT1qbj0ham59KSk7dmFyIHJvPWlvfHxmdW5jdGlvbihBKXt2YXIgZz17Zm46QSxuZXh0OnZvaWQgMH07T24mJihPbi5uZXh0PWcpLFRufHwoVG49ZyxQbigpKSxPbj1nfSxubz17fSxvbz1ZRSxhbz1mdW5jdGlvbihBKXt2YXIgZyxJO3RoaXMucHJvbWlzZT1uZXcgQSgoZnVuY3Rpb24oQSxCKXtpZih2b2lkIDAhPT1nfHx2b2lkIDAhPT1JKXRocm93IFR5cGVFcnJvcigiQmFkIFByb21pc2UgY29uc3RydWN0b3IiKTtnPUEsST1CfSkpLHRoaXMucmVzb2x2ZT1vbyhnKSx0aGlzLnJlamVjdD1vbyhJKX07bm8uZj1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IGFvKEEpfTt2YXIgc28sY28saG8sZm8sdW89VCx5bz1ILGxvPW5vLERvPXYsd289Im9iamVjdCI9PXR5cGVvZiB3aW5kb3csRm89aUIsR289dixSbz1kQSxwbz1ubixrbz1OSSxVbz1yUSxTbz1KQix2bz1wQixObz1EQyxNbz1ILFlvPVlFLEhvPW5RLExvPWpnLEpvPWZ1bmN0aW9uKEEsZyxJKXt2YXIgQixRLEMsRSx0LGUsaSxyPUkmJkkudGhhdCxuPSEoIUl8fCFJLkFTX0VOVFJJRVMpLG89ISghSXx8IUkuSVNfSVRFUkFUT1IpLGE9ISghSXx8IUkuSU5URVJSVVBURUQpLHM9aG4oZyxyLDErbithKSxjPWZ1bmN0aW9uKEEpe3JldHVybiBCJiZ1bihCKSxuZXcgeW4oITAsQSl9LGg9ZnVuY3Rpb24oQSl7cmV0dXJuIG4/KGFuKEEpLGE/cyhBWzBdLEFbMV0sYyk6cyhBWzBdLEFbMV0pKTphP3MoQSxjKTpzKEEpfTtpZihvKUI9QTtlbHNle2lmKCJmdW5jdGlvbiIhPXR5cGVvZihRPWZuKEEpKSl0aHJvdyBUeXBlRXJyb3IoIlRhcmdldCBpcyBub3QgaXRlcmFibGUiKTtpZihzbihRKSl7Zm9yKEM9MCxFPWNuKEEubGVuZ3RoKTtFPkM7QysrKWlmKCh0PWgoQVtDXSkpJiZ0IGluc3RhbmNlb2YgeW4pcmV0dXJuIHQ7cmV0dXJuIG5ldyB5bighMSl9Qj1RLmNhbGwoQSl9Zm9yKGU9Qi5uZXh0OyEoaT1lLmNhbGwoQikpLmRvbmU7KXt0cnl7dD1oKGkudmFsdWUpfWNhdGNoKFF5KXt0aHJvdyB1bihCKSxReX1pZigib2JqZWN0Ij09dHlwZW9mIHQmJnQmJnQgaW5zdGFuY2VvZiB5bilyZXR1cm4gdH1yZXR1cm4gbmV3IHluKCExKX0sbW89eEMsS289c2UseG89WG4uc2V0LHFvPXJvLGJvPWZ1bmN0aW9uKEEsZyl7aWYodW8oQSkseW8oZykmJmcuY29uc3RydWN0b3I9PT1BKXJldHVybiBnO3ZhciBJPWxvLmYoQSk7cmV0dXJuKDAsSS5yZXNvbHZlKShnKSxJLnByb21pc2V9LFRvPWZ1bmN0aW9uKEEsZyl7dmFyIEk9RG8uY29uc29sZTtJJiZJLmVycm9yJiYoMT09PWFyZ3VtZW50cy5sZW5ndGg/SS5lcnJvcihBKTpJLmVycm9yKEEsZykpfSxPbz1ubyxQbz1mdW5jdGlvbihBKXt0cnl7cmV0dXJue2Vycm9yOiExLHZhbHVlOkEoKX19Y2F0Y2goUXkpe3JldHVybntlcnJvcjohMCx2YWx1ZTpReX19fSxqbz1pSSxXbz1nQixabz13byxWbz1EbixYbz1VQSx6bz1iQSgic3BlY2llcyIpLF9vPSJQcm9taXNlIiwkbz1qby5nZXQsQWE9am8uc2V0LGdhPWpvLmdldHRlckZvcihfbyksSWE9cG8mJnBvLnByb3RvdHlwZSxCYT1wbyxRYT1JYSxDYT1Hby5UeXBlRXJyb3IsRWE9R28uZG9jdW1lbnQsdGE9R28ucHJvY2VzcyxlYT1Pby5mLGlhPWVhLHJhPSEhKEVhJiZFYS5jcmVhdGVFdmVudCYmR28uZGlzcGF0Y2hFdmVudCksbmE9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2VSZWplY3Rpb25FdmVudCxvYT0idW5oYW5kbGVkcmVqZWN0aW9uIixhYT0hMSxzYT1XbyhfbywoZnVuY3Rpb24oKXt2YXIgQT1MbyhCYSkhPT1TdHJpbmcoQmEpO2lmKCFBJiY2Nj09PVhvKXJldHVybiEwO2lmKFhvPj01MSYmL25hdGl2ZSBjb2RlLy50ZXN0KEJhKSlyZXR1cm4hMTt2YXIgZz1uZXcgQmEoKGZ1bmN0aW9uKEEpe0EoMSl9KSksST1mdW5jdGlvbihBKXtBKChmdW5jdGlvbigpe30pLChmdW5jdGlvbigpe30pKX07cmV0dXJuKGcuY29uc3RydWN0b3I9e30pW3pvXT1JLCEoYWE9Zy50aGVuKChmdW5jdGlvbigpe30pKWluc3RhbmNlb2YgSSl8fCFBJiZabyYmIW5hfSkpLGNhPXNhfHwhbW8oKGZ1bmN0aW9uKEEpe0JhLmFsbChBKS5jYXRjaCgoZnVuY3Rpb24oKXt9KSl9KSksaGE9ZnVuY3Rpb24oQSl7dmFyIGc7cmV0dXJuISghTW8oQSl8fCJmdW5jdGlvbiIhPXR5cGVvZihnPUEudGhlbikpJiZnfSxmYT1mdW5jdGlvbihBLGcpe2lmKCFBLm5vdGlmaWVkKXtBLm5vdGlmaWVkPSEwO3ZhciBJPUEucmVhY3Rpb25zO3FvKChmdW5jdGlvbigpe2Zvcih2YXIgQj1BLnZhbHVlLFE9MT09QS5zdGF0ZSxDPTA7SS5sZW5ndGg+Qzspe3ZhciBFLHQsZSxpPUlbQysrXSxyPVE/aS5vazppLmZhaWwsbj1pLnJlc29sdmUsbz1pLnJlamVjdCxhPWkuZG9tYWluO3RyeXtyPyhRfHwoMj09PUEucmVqZWN0aW9uJiZEYShBKSxBLnJlamVjdGlvbj0xKSwhMD09PXI/RT1COihhJiZhLmVudGVyKCksRT1yKEIpLGEmJihhLmV4aXQoKSxlPSEwKSksRT09PWkucHJvbWlzZT9vKENhKCJQcm9taXNlLWNoYWluIGN5Y2xlIikpOih0PWhhKEUpKT90LmNhbGwoRSxuLG8pOm4oRSkpOm8oQil9Y2F0Y2goUXkpe2EmJiFlJiZhLmV4aXQoKSxvKFF5KX19QS5yZWFjdGlvbnM9W10sQS5ub3RpZmllZD0hMSxnJiYhQS5yZWplY3Rpb24mJnlhKEEpfSkpfX0sdWE9ZnVuY3Rpb24oQSxnLEkpe3ZhciBCLFE7cmE/KChCPUVhLmNyZWF0ZUV2ZW50KCJFdmVudCIpKS5wcm9taXNlPWcsQi5yZWFzb249SSxCLmluaXRFdmVudChBLCExLCEwKSxHby5kaXNwYXRjaEV2ZW50KEIpKTpCPXtwcm9taXNlOmcscmVhc29uOkl9LCFuYSYmKFE9R29bIm9uIitBXSk/UShCKTpBPT09b2EmJlRvKCJVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24iLEkpfSx5YT1mdW5jdGlvbihBKXt4by5jYWxsKEdvLChmdW5jdGlvbigpe3ZhciBnLEk9QS5mYWNhZGUsQj1BLnZhbHVlO2lmKGxhKEEpJiYoZz1QbygoZnVuY3Rpb24oKXtWbz90YS5lbWl0KCJ1bmhhbmRsZWRSZWplY3Rpb24iLEIsSSk6dWEob2EsSSxCKX0pKSxBLnJlamVjdGlvbj1Wb3x8bGEoQSk/MjoxLGcuZXJyb3IpKXRocm93IGcudmFsdWV9KSl9LGxhPWZ1bmN0aW9uKEEpe3JldHVybiAxIT09QS5yZWplY3Rpb24mJiFBLnBhcmVudH0sRGE9ZnVuY3Rpb24oQSl7eG8uY2FsbChHbywoZnVuY3Rpb24oKXt2YXIgZz1BLmZhY2FkZTtWbz90YS5lbWl0KCJyZWplY3Rpb25IYW5kbGVkIixnKTp1YSgicmVqZWN0aW9uaGFuZGxlZCIsZyxBLnZhbHVlKX0pKX0sZGE9ZnVuY3Rpb24oQSxnLEkpe3JldHVybiBmdW5jdGlvbihCKXtBKGcsQixJKX19LHdhPWZ1bmN0aW9uKEEsZyxJKXtBLmRvbmV8fChBLmRvbmU9ITAsSSYmKEE9SSksQS52YWx1ZT1nLEEuc3RhdGU9MixmYShBLCEwKSl9LEZhPWZ1bmN0aW9uKEEsZyxJKXtpZighQS5kb25lKXtBLmRvbmU9ITAsSSYmKEE9SSk7dHJ5e2lmKEEuZmFjYWRlPT09Zyl0aHJvdyBDYSgiUHJvbWlzZSBjYW4ndCBiZSByZXNvbHZlZCBpdHNlbGYiKTt2YXIgQj1oYShnKTtCP3FvKChmdW5jdGlvbigpe3ZhciBJPXtkb25lOiExfTt0cnl7Qi5jYWxsKGcsZGEoRmEsSSxBKSxkYSh3YSxJLEEpKX1jYXRjaChReSl7d2EoSSxReSxBKX19KSk6KEEudmFsdWU9ZyxBLnN0YXRlPTEsZmEoQSwhMSkpfWNhdGNoKFF5KXt3YSh7ZG9uZTohMX0sUXksQSl9fX07aWYoc2EmJihRYT0oQmE9ZnVuY3Rpb24oQSl7SG8odGhpcyxCYSxfbyksWW8oQSksc28uY2FsbCh0aGlzKTt2YXIgZz0kbyh0aGlzKTt0cnl7QShkYShGYSxnKSxkYSh3YSxnKSl9Y2F0Y2goUXkpe3dhKGcsUXkpfX0pLnByb3RvdHlwZSwoc289ZnVuY3Rpb24oQSl7QWEodGhpcyx7dHlwZTpfbyxkb25lOiExLG5vdGlmaWVkOiExLHBhcmVudDohMSxyZWFjdGlvbnM6W10scmVqZWN0aW9uOiExLHN0YXRlOjAsdmFsdWU6dm9pZCAwfSl9KS5wcm90b3R5cGU9VW8oUWEse3RoZW46ZnVuY3Rpb24oQSxnKXt2YXIgST1nYSh0aGlzKSxCPWVhKEtvKHRoaXMsQmEpKTtyZXR1cm4gQi5vaz0iZnVuY3Rpb24iIT10eXBlb2YgQXx8QSxCLmZhaWw9ImZ1bmN0aW9uIj09dHlwZW9mIGcmJmcsQi5kb21haW49Vm8/dGEuZG9tYWluOnZvaWQgMCxJLnBhcmVudD0hMCxJLnJlYWN0aW9ucy5wdXNoKEIpLDAhPUkuc3RhdGUmJmZhKEksITEpLEIucHJvbWlzZX0sY2F0Y2g6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsQSl9fSksY289ZnVuY3Rpb24oKXt2YXIgQT1uZXcgc28sZz0kbyhBKTt0aGlzLnByb21pc2U9QSx0aGlzLnJlc29sdmU9ZGEoRmEsZyksdGhpcy5yZWplY3Q9ZGEod2EsZyl9LE9vLmY9ZWE9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT1CYXx8QT09PWhvP25ldyBjbyhBKTppYShBKX0sImZ1bmN0aW9uIj09dHlwZW9mIHBvJiZJYSE9PU9iamVjdC5wcm90b3R5cGUpKXtmbz1JYS50aGVuLGFhfHwoa28oSWEsInRoZW4iLChmdW5jdGlvbihBLGcpe3ZhciBJPXRoaXM7cmV0dXJuIG5ldyBCYSgoZnVuY3Rpb24oQSxnKXtmby5jYWxsKEksQSxnKX0pKS50aGVuKEEsZyl9KSx7dW5zYWZlOiEwfSksa28oSWEsImNhdGNoIixRYS5jYXRjaCx7dW5zYWZlOiEwfSkpO3RyeXtkZWxldGUgSWEuY29uc3RydWN0b3J9Y2F0Y2goUXkpe31TbyYmU28oSWEsUWEpfUZvKHtnbG9iYWw6ITAsd3JhcDohMCxmb3JjZWQ6c2F9LHtQcm9taXNlOkJhfSksdm8oQmEsX28sITEpLE5vKF9vKSxobz1SbyhfbyksRm8oe3RhcmdldDpfbyxzdGF0OiEwLGZvcmNlZDpzYX0se3JlamVjdDpmdW5jdGlvbihBKXt2YXIgZz1lYSh0aGlzKTtyZXR1cm4gZy5yZWplY3QuY2FsbCh2b2lkIDAsQSksZy5wcm9taXNlfX0pLEZvKHt0YXJnZXQ6X28sc3RhdDohMCxmb3JjZWQ6c2F9LHtyZXNvbHZlOmZ1bmN0aW9uKEEpe3JldHVybiBibyh0aGlzLEEpfX0pLEZvKHt0YXJnZXQ6X28sc3RhdDohMCxmb3JjZWQ6Y2F9LHthbGw6ZnVuY3Rpb24oQSl7dmFyIGc9dGhpcyxJPWVhKGcpLEI9SS5yZXNvbHZlLFE9SS5yZWplY3QsQz1QbygoZnVuY3Rpb24oKXt2YXIgST1ZbyhnLnJlc29sdmUpLEM9W10sRT0wLHQ9MTtKbyhBLChmdW5jdGlvbihBKXt2YXIgZT1FKyssaT0hMTtDLnB1c2godm9pZCAwKSx0KyssSS5jYWxsKGcsQSkudGhlbigoZnVuY3Rpb24oQSl7aXx8KGk9ITAsQ1tlXT1BLC0tdHx8QihDKSl9KSxRKX0pKSwtLXR8fEIoQyl9KSk7cmV0dXJuIEMuZXJyb3ImJlEoQy52YWx1ZSksSS5wcm9taXNlfSxyYWNlOmZ1bmN0aW9uKEEpe3ZhciBnPXRoaXMsST1lYShnKSxCPUkucmVqZWN0LFE9UG8oKGZ1bmN0aW9uKCl7dmFyIFE9WW8oZy5yZXNvbHZlKTtKbyhBLChmdW5jdGlvbihBKXtRLmNhbGwoZyxBKS50aGVuKEkucmVzb2x2ZSxCKX0pKX0pKTtyZXR1cm4gUS5lcnJvciYmQihRLnZhbHVlKSxJLnByb21pc2V9fSk7dmFyIEdhPUgsUmE9ZCxwYT1iQSgibWF0Y2giKSxrYT1mdW5jdGlvbihBKXt2YXIgZztyZXR1cm4gR2EoQSkmJih2b2lkIDAhPT0oZz1BW3BhXSk/ISFnOiJSZWdFeHAiPT1SYShBKSl9LFVhPVQsU2E9ZnVuY3Rpb24oKXt2YXIgQT1VYSh0aGlzKSxnPSIiO3JldHVybiBBLmdsb2JhbCYmKGcrPSJnIiksQS5pZ25vcmVDYXNlJiYoZys9ImkiKSxBLm11bHRpbGluZSYmKGcrPSJtIiksQS5kb3RBbGwmJihnKz0icyIpLEEudW5pY29kZSYmKGcrPSJ1IiksQS5zdGlja3kmJihnKz0ieSIpLGd9LHZhPXt9LE5hPWw7ZnVuY3Rpb24gTWEoQSxnKXtyZXR1cm4gUmVnRXhwKEEsZyl9dmEuVU5TVVBQT1JURURfWT1OYSgoZnVuY3Rpb24oKXt2YXIgQT1NYSgiYSIsInkiKTtyZXR1cm4gQS5sYXN0SW5kZXg9MixudWxsIT1BLmV4ZWMoImFiY2QiKX0pKSx2YS5CUk9LRU5fQ0FSRVQ9TmEoKGZ1bmN0aW9uKCl7dmFyIEE9TWEoIl5yIiwiZ3kiKTtyZXR1cm4gQS5sYXN0SW5kZXg9MixudWxsIT1BLmV4ZWMoInN0ciIpfSkpO3ZhciBZYT1NLEhhPXYsTGE9Z0IsSmE9Q3QsbWE9WS5mLEthPU1JLmYseGE9a2EscWE9U2EsYmE9dmEsVGE9TkksT2E9bCxQYT1pSS5lbmZvcmNlLGphPURDLFdhPWJBKCJtYXRjaCIpLFphPUhhLlJlZ0V4cCxWYT1aYS5wcm90b3R5cGUsWGE9L2EvZyx6YT0vYS9nLF9hPW5ldyBaYShYYSkhPT1YYSwkYT1iYS5VTlNVUFBPUlRFRF9ZO2lmKFlhJiZMYSgiUmVnRXhwIiwhX2F8fCRhfHxPYSgoZnVuY3Rpb24oKXtyZXR1cm4gemFbV2FdPSExLFphKFhhKSE9WGF8fFphKHphKT09emF8fCIvYS9pIiE9WmEoWGEsImkiKX0pKSkpe2Zvcih2YXIgQXM9ZnVuY3Rpb24oQSxnKXt2YXIgSSxCPXRoaXMgaW5zdGFuY2VvZiBBcyxRPXhhKEEpLEM9dm9pZCAwPT09ZztpZighQiYmUSYmQS5jb25zdHJ1Y3Rvcj09PUFzJiZDKXJldHVybiBBO19hP1EmJiFDJiYoQT1BLnNvdXJjZSk6QSBpbnN0YW5jZW9mIEFzJiYoQyYmKGc9cWEuY2FsbChBKSksQT1BLnNvdXJjZSksJGEmJihJPSEhZyYmZy5pbmRleE9mKCJ5Iik+LTEpJiYoZz1nLnJlcGxhY2UoL3kvZywiIikpO3ZhciBFPUphKF9hP25ldyBaYShBLGcpOlphKEEsZyksQj90aGlzOlZhLEFzKTskYSYmSSYmKFBhKEUpLnN0aWNreT0hMCk7cmV0dXJuIEV9LGdzPWZ1bmN0aW9uKEEpe0EgaW4gQXN8fG1hKEFzLEEse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWmFbQV19LHNldDpmdW5jdGlvbihnKXtaYVtBXT1nfX0pfSxJcz1LYShaYSksQnM9MDtJcy5sZW5ndGg+QnM7KWdzKElzW0JzKytdKTtWYS5jb25zdHJ1Y3Rvcj1BcyxBcy5wcm90b3R5cGU9VmEsVGEoSGEsIlJlZ0V4cCIsQXMpfWphKCJSZWdFeHAiKTt2YXIgUXMsQ3MsRXM9U2EsdHM9dmEsZXM9ckEsaXM9UmVnRXhwLnByb3RvdHlwZS5leGVjLHJzPWVzKCJuYXRpdmUtc3RyaW5nLXJlcGxhY2UiLFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSksbnM9aXMsb3M9KFFzPS9hLyxDcz0vYiovZyxpcy5jYWxsKFFzLCJhIiksaXMuY2FsbChDcywiYSIpLDAhPT1Rcy5sYXN0SW5kZXh8fDAhPT1Dcy5sYXN0SW5kZXgpLGFzPXRzLlVOU1VQUE9SVEVEX1l8fHRzLkJST0tFTl9DQVJFVCxzcz12b2lkIDAhPT0vKCk/Py8uZXhlYygiIilbMV07KG9zfHxzc3x8YXMpJiYobnM9ZnVuY3Rpb24oQSl7dmFyIGcsSSxCLFEsQz10aGlzLEU9YXMmJkMuc3RpY2t5LHQ9RXMuY2FsbChDKSxlPUMuc291cmNlLGk9MCxyPUE7cmV0dXJuIEUmJigtMT09PSh0PXQucmVwbGFjZSgieSIsIiIpKS5pbmRleE9mKCJnIikmJih0Kz0iZyIpLHI9U3RyaW5nKEEpLnNsaWNlKEMubGFzdEluZGV4KSxDLmxhc3RJbmRleD4wJiYoIUMubXVsdGlsaW5lfHxDLm11bHRpbGluZSYmIlxuIiE9PUFbQy5sYXN0SW5kZXgtMV0pJiYoZT0iKD86ICIrZSsiKSIscj0iICIrcixpKyspLEk9bmV3IFJlZ0V4cCgiXig/OiIrZSsiKSIsdCkpLHNzJiYoST1uZXcgUmVnRXhwKCJeIitlKyIkKD8hXFxzKSIsdCkpLG9zJiYoZz1DLmxhc3RJbmRleCksQj1pcy5jYWxsKEU/STpDLHIpLEU/Qj8oQi5pbnB1dD1CLmlucHV0LnNsaWNlKGkpLEJbMF09QlswXS5zbGljZShpKSxCLmluZGV4PUMubGFzdEluZGV4LEMubGFzdEluZGV4Kz1CWzBdLmxlbmd0aCk6Qy5sYXN0SW5kZXg9MDpvcyYmQiYmKEMubGFzdEluZGV4PUMuZ2xvYmFsP0IuaW5kZXgrQlswXS5sZW5ndGg6Zyksc3MmJkImJkIubGVuZ3RoPjEmJnJzLmNhbGwoQlswXSxJLChmdW5jdGlvbigpe2ZvcihRPTE7UTxhcmd1bWVudHMubGVuZ3RoLTI7USsrKXZvaWQgMD09PWFyZ3VtZW50c1tRXSYmKEJbUV09dm9pZCAwKX0pKSxCfSk7dmFyIGNzPW5zO2lCKHt0YXJnZXQ6IlJlZ0V4cCIscHJvdG86ITAsZm9yY2VkOi8uLy5leGVjIT09Y3N9LHtleGVjOmNzfSk7dmFyIGhzPU5JLGZzPVQsdXM9bCx5cz1TYSxscz0idG9TdHJpbmciLERzPVJlZ0V4cC5wcm90b3R5cGUsZHM9RHNbbHNdLHdzPXVzKChmdW5jdGlvbigpe3JldHVybiIvYS9iIiE9ZHMuY2FsbCh7c291cmNlOiJhIixmbGFnczoiYiJ9KX0pKSxGcz1kcy5uYW1lIT1sczsod3N8fEZzKSYmaHMoUmVnRXhwLnByb3RvdHlwZSxscywoZnVuY3Rpb24oKXt2YXIgQT1mcyh0aGlzKSxnPVN0cmluZyhBLnNvdXJjZSksST1BLmZsYWdzO3JldHVybiIvIitnKyIvIitTdHJpbmcodm9pZCAwPT09SSYmQSBpbnN0YW5jZW9mIFJlZ0V4cCYmISgiZmxhZ3MiaW4gRHMpP3lzLmNhbGwoQSk6SSl9KSx7dW5zYWZlOiEwfSk7dmFyIEdzPWthLFJzPWZ1bmN0aW9uKEEpe2lmKEdzKEEpKXRocm93IFR5cGVFcnJvcigiVGhlIG1ldGhvZCBkb2Vzbid0IGFjY2VwdCByZWd1bGFyIGV4cHJlc3Npb25zIik7cmV0dXJuIEF9LHBzPWJBKCJtYXRjaCIpLGtzPWZ1bmN0aW9uKEEpe3ZhciBnPS8uLzt0cnl7Ii8uLyJbQV0oZyl9Y2F0Y2goSSl7dHJ5e3JldHVybiBnW3BzXT0hMSwiLy4vIltBXShnKX1jYXRjaChCKXt9fXJldHVybiExfSxVcz1ScyxTcz1SO2lCKHt0YXJnZXQ6IlN0cmluZyIscHJvdG86ITAsZm9yY2VkOiFrcygiaW5jbHVkZXMiKX0se2luY2x1ZGVzOmZ1bmN0aW9uKEEpe3JldHVybiEhflN0cmluZyhTcyh0aGlzKSkuaW5kZXhPZihVcyhBKSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSk7dmFyIHZzPU5JLE5zPWNzLE1zPWwsWXM9YkEsSHM9QUEsTHM9WXMoInNwZWNpZXMiKSxKcz1SZWdFeHAucHJvdG90eXBlLG1zPSFNcygoZnVuY3Rpb24oKXt2YXIgQT0vLi87cmV0dXJuIEEuZXhlYz1mdW5jdGlvbigpe3ZhciBBPVtdO3JldHVybiBBLmdyb3Vwcz17YToiNyJ9LEF9LCI3IiE9PSIiLnJlcGxhY2UoQSwiJDxhPiIpfSkpLEtzPSIkMCI9PT0iYSIucmVwbGFjZSgvLi8sIiQwIikseHM9WXMoInJlcGxhY2UiKSxxcz0hIS8uL1t4c10mJiIiPT09Ly4vW3hzXSgiYSIsIiQwIiksYnM9IU1zKChmdW5jdGlvbigpe3ZhciBBPS8oPzopLyxnPUEuZXhlYztBLmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3ZhciBJPSJhYiIuc3BsaXQoQSk7cmV0dXJuIDIhPT1JLmxlbmd0aHx8ImEiIT09SVswXXx8ImIiIT09SVsxXX0pKSxUcz1mdW5jdGlvbihBLGcsSSxCKXt2YXIgUT1ZcyhBKSxDPSFNcygoZnVuY3Rpb24oKXt2YXIgZz17fTtyZXR1cm4gZ1tRXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT0iIltBXShnKX0pKSxFPUMmJiFNcygoZnVuY3Rpb24oKXt2YXIgZz0hMSxJPS9hLztyZXR1cm4ic3BsaXQiPT09QSYmKChJPXt9KS5jb25zdHJ1Y3Rvcj17fSxJLmNvbnN0cnVjdG9yW0xzXT1mdW5jdGlvbigpe3JldHVybiBJfSxJLmZsYWdzPSIiLElbUV09Ly4vW1FdKSxJLmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gZz0hMCxudWxsfSxJW1FdKCIiKSwhZ30pKTtpZighQ3x8IUV8fCJyZXBsYWNlIj09PUEmJighbXN8fCFLc3x8cXMpfHwic3BsaXQiPT09QSYmIWJzKXt2YXIgdD0vLi9bUV0sZT1JKFEsIiJbQV0sKGZ1bmN0aW9uKEEsZyxJLEIsUSl7dmFyIEU9Zy5leGVjO3JldHVybiBFPT09TnN8fEU9PT1Kcy5leGVjP0MmJiFRP3tkb25lOiEwLHZhbHVlOnQuY2FsbChnLEksQil9Ontkb25lOiEwLHZhbHVlOkEuY2FsbChJLGcsQil9Ontkb25lOiExfX0pLHtSRVBMQUNFX0tFRVBTXyQwOktzLFJFR0VYUF9SRVBMQUNFX1NVQlNUSVRVVEVTX1VOREVGSU5FRF9DQVBUVVJFOnFzfSksaT1lWzBdLHI9ZVsxXTt2cyhTdHJpbmcucHJvdG90eXBlLEEsaSksdnMoSnMsUSwyPT1nP2Z1bmN0aW9uKEEsZyl7cmV0dXJuIHIuY2FsbChBLHRoaXMsZyl9OmZ1bmN0aW9uKEEpe3JldHVybiByLmNhbGwoQSx0aGlzKX0pfUImJkhzKEpzW1FdLCJzaGFtIiwhMCl9LE9zPVBBLFBzPVIsanM9ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKGcsSSl7dmFyIEIsUSxDPVN0cmluZyhQcyhnKSksRT1PcyhJKSx0PUMubGVuZ3RoO3JldHVybiBFPDB8fEU+PXQ/QT8iIjp2b2lkIDA6KEI9Qy5jaGFyQ29kZUF0KEUpKTw1NTI5Nnx8Qj41NjMxOXx8RSsxPT09dHx8KFE9Qy5jaGFyQ29kZUF0KEUrMSkpPDU2MzIwfHxRPjU3MzQzP0E/Qy5jaGFyQXQoRSk6QjpBP0Muc2xpY2UoRSxFKzIpOlEtNTYzMjArKEItNTUyOTY8PDEwKSs2NTUzNn19LFdzPXtjb2RlQXQ6anMoITEpLGNoYXJBdDpqcyghMCl9LmNoYXJBdCxacz1mdW5jdGlvbihBLGcsSSl7cmV0dXJuIGcrKEk/V3MoQSxnKS5sZW5ndGg6MSl9LFZzPW9BLFhzPU1hdGguZmxvb3IsenM9IiIucmVwbGFjZSxfcz0vXCQoWyQmJ2BdfFxkezEsMn18PFtePl0qPikvZywkcz0vXCQoWyQmJ2BdfFxkezEsMn0pL2csQWM9ZCxnYz1jcyxJYz1mdW5jdGlvbihBLGcpe3ZhciBJPUEuZXhlYztpZigiZnVuY3Rpb24iPT10eXBlb2YgSSl7dmFyIEI9SS5jYWxsKEEsZyk7aWYoIm9iamVjdCIhPXR5cGVvZiBCKXRocm93IFR5cGVFcnJvcigiUmVnRXhwIGV4ZWMgbWV0aG9kIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIE9iamVjdCBvciBudWxsIik7cmV0dXJuIEJ9aWYoIlJlZ0V4cCIhPT1BYyhBKSl0aHJvdyBUeXBlRXJyb3IoIlJlZ0V4cCNleGVjIGNhbGxlZCBvbiBpbmNvbXBhdGlibGUgcmVjZWl2ZXIiKTtyZXR1cm4gZ2MuY2FsbChBLGcpfSxCYz1UcyxRYz1ULENjPVpBLEVjPVBBLHRjPVIsZWM9WnMsaWM9ZnVuY3Rpb24oQSxnLEksQixRLEMpe3ZhciBFPUkrQS5sZW5ndGgsdD1CLmxlbmd0aCxlPSRzO3JldHVybiB2b2lkIDAhPT1RJiYoUT1WcyhRKSxlPV9zKSx6cy5jYWxsKEMsZSwoZnVuY3Rpb24oQyxlKXt2YXIgaTtzd2l0Y2goZS5jaGFyQXQoMCkpe2Nhc2UiJCI6cmV0dXJuIiQiO2Nhc2UiJiI6cmV0dXJuIEE7Y2FzZSJgIjpyZXR1cm4gZy5zbGljZSgwLEkpO2Nhc2UiJyI6cmV0dXJuIGcuc2xpY2UoRSk7Y2FzZSI8IjppPVFbZS5zbGljZSgxLC0xKV07YnJlYWs7ZGVmYXVsdDp2YXIgcj0rZTtpZigwPT09cilyZXR1cm4gQztpZihyPnQpe3ZhciBuPVhzKHIvMTApO3JldHVybiAwPT09bj9DOm48PXQ/dm9pZCAwPT09QltuLTFdP2UuY2hhckF0KDEpOkJbbi0xXStlLmNoYXJBdCgxKTpDfWk9QltyLTFdfXJldHVybiB2b2lkIDA9PT1pPyIiOml9KSl9LHJjPUljLG5jPU1hdGgubWF4LG9jPU1hdGgubWluO0JjKCJyZXBsYWNlIiwyLChmdW5jdGlvbihBLGcsSSxCKXt2YXIgUT1CLlJFR0VYUF9SRVBMQUNFX1NVQlNUSVRVVEVTX1VOREVGSU5FRF9DQVBUVVJFLEM9Qi5SRVBMQUNFX0tFRVBTXyQwLEU9UT8iJCI6IiQwIjtyZXR1cm5bZnVuY3Rpb24oSSxCKXt2YXIgUT10Yyh0aGlzKSxDPW51bGw9PUk/dm9pZCAwOklbQV07cmV0dXJuIHZvaWQgMCE9PUM/Qy5jYWxsKEksUSxCKTpnLmNhbGwoU3RyaW5nKFEpLEksQil9LGZ1bmN0aW9uKEEsQil7aWYoIVEmJkN8fCJzdHJpbmciPT10eXBlb2YgQiYmLTE9PT1CLmluZGV4T2YoRSkpe3ZhciB0PUkoZyxBLHRoaXMsQik7aWYodC5kb25lKXJldHVybiB0LnZhbHVlfXZhciBlPVFjKEEpLGk9U3RyaW5nKHRoaXMpLHI9ImZ1bmN0aW9uIj09dHlwZW9mIEI7cnx8KEI9U3RyaW5nKEIpKTt2YXIgbj1lLmdsb2JhbDtpZihuKXt2YXIgbz1lLnVuaWNvZGU7ZS5sYXN0SW5kZXg9MH1mb3IodmFyIGE9W107Oyl7dmFyIHM9cmMoZSxpKTtpZihudWxsPT09cylicmVhaztpZihhLnB1c2gocyksIW4pYnJlYWs7IiI9PT1TdHJpbmcoc1swXSkmJihlLmxhc3RJbmRleD1lYyhpLENjKGUubGFzdEluZGV4KSxvKSl9Zm9yKHZhciBjLGg9IiIsZj0wLHU9MDt1PGEubGVuZ3RoO3UrKyl7cz1hW3VdO2Zvcih2YXIgeT1TdHJpbmcoc1swXSksbD1uYyhvYyhFYyhzLmluZGV4KSxpLmxlbmd0aCksMCksRD1bXSxkPTE7ZDxzLmxlbmd0aDtkKyspRC5wdXNoKHZvaWQgMD09PShjPXNbZF0pP2M6U3RyaW5nKGMpKTt2YXIgdz1zLmdyb3VwcztpZihyKXt2YXIgRj1beV0uY29uY2F0KEQsbCxpKTt2b2lkIDAhPT13JiZGLnB1c2godyk7dmFyIEc9U3RyaW5nKEIuYXBwbHkodm9pZCAwLEYpKX1lbHNlIEc9aWMoeSxpLGwsRCx3LEIpO2w+PWYmJihoKz1pLnNsaWNlKGYsbCkrRyxmPWwreS5sZW5ndGgpfXJldHVybiBoK2kuc2xpY2UoZil9XX0pKTt2YXIgYWMsc2M9aUIsY2M9ckkuZixoYz1aQSxmYz1Scyx1Yz1SLHljPWtzLGxjPSIiLnN0YXJ0c1dpdGgsRGM9TWF0aC5taW4sZGM9eWMoInN0YXJ0c1dpdGgiKTtzYyh7dGFyZ2V0OiJTdHJpbmciLHByb3RvOiEwLGZvcmNlZDohIShkY3x8KGFjPWNjKFN0cmluZy5wcm90b3R5cGUsInN0YXJ0c1dpdGgiKSwhYWN8fGFjLndyaXRhYmxlKSkmJiFkY30se3N0YXJ0c1dpdGg6ZnVuY3Rpb24oQSl7dmFyIGc9U3RyaW5nKHVjKHRoaXMpKTtmYyhBKTt2YXIgST1oYyhEYyhhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxnLmxlbmd0aCkpLEI9U3RyaW5nKEEpO3JldHVybiBsYz9sYy5jYWxsKGcsQixJKTpnLnNsaWNlKEksSStCLmxlbmd0aCk9PT1CfX0pLCR0KCJGbG9hdDMyIiwoZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKGcsSSxCKXtyZXR1cm4gQSh0aGlzLGcsSSxCKX19KSksJHQoIkZsb2F0NjQiLChmdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oZyxJLEIpe3JldHVybiBBKHRoaXMsZyxJLEIpfX0pKSwkdCgiSW50OCIsKGZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnLEksQil7cmV0dXJuIEEodGhpcyxnLEksQil9fSkpLCR0KCJJbnQxNiIsKGZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnLEksQil7cmV0dXJuIEEodGhpcyxnLEksQil9fSkpLCR0KCJJbnQzMiIsKGZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnLEksQil7cmV0dXJuIEEodGhpcyxnLEksQil9fSkpLCR0KCJVaW50MTYiLChmdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oZyxJLEIpe3JldHVybiBBKHRoaXMsZyxJLEIpfX0pKSwkdCgiVWludDMyIiwoZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKGcsSSxCKXtyZXR1cm4gQSh0aGlzLGcsSSxCKX19KSk7dmFyIHdjPUl0LmZvckVhY2gsRmM9amUoImZvckVhY2giKT9bXS5mb3JFYWNoOmZ1bmN0aW9uKEEpe3JldHVybiB3Yyh0aGlzLEEsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSxHYz12LFJjPXtDU1NSdWxlTGlzdDowLENTU1N0eWxlRGVjbGFyYXRpb246MCxDU1NWYWx1ZUxpc3Q6MCxDbGllbnRSZWN0TGlzdDowLERPTVJlY3RMaXN0OjAsRE9NU3RyaW5nTGlzdDowLERPTVRva2VuTGlzdDoxLERhdGFUcmFuc2Zlckl0ZW1MaXN0OjAsRmlsZUxpc3Q6MCxIVE1MQWxsQ29sbGVjdGlvbjowLEhUTUxDb2xsZWN0aW9uOjAsSFRNTEZvcm1FbGVtZW50OjAsSFRNTFNlbGVjdEVsZW1lbnQ6MCxNZWRpYUxpc3Q6MCxNaW1lVHlwZUFycmF5OjAsTmFtZWROb2RlTWFwOjAsTm9kZUxpc3Q6MSxQYWludFJlcXVlc3RMaXN0OjAsUGx1Z2luOjAsUGx1Z2luQXJyYXk6MCxTVkdMZW5ndGhMaXN0OjAsU1ZHTnVtYmVyTGlzdDowLFNWR1BhdGhTZWdMaXN0OjAsU1ZHUG9pbnRMaXN0OjAsU1ZHU3RyaW5nTGlzdDowLFNWR1RyYW5zZm9ybUxpc3Q6MCxTb3VyY2VCdWZmZXJMaXN0OjAsU3R5bGVTaGVldExpc3Q6MCxUZXh0VHJhY2tDdWVMaXN0OjAsVGV4dFRyYWNrTGlzdDowLFRvdWNoTGlzdDowfSxwYz1GYyxrYz1BQTtmb3IodmFyIFVjIGluIFJjKXt2YXIgU2M9R2NbVWNdLHZjPVNjJiZTYy5wcm90b3R5cGU7aWYodmMmJnZjLmZvckVhY2ghPT1wYyl0cnl7a2ModmMsImZvckVhY2giLHBjKX1jYXRjaChReSl7dmMuZm9yRWFjaD1wY319dmFyIE5jPUE9PmZ1bmN0aW9uKEEsZyl7aWYoZy5zdGFydHNXaXRoKCJkYXRhOiIpKXt2YXIgSSxCPWcucmVwbGFjZSgvXmRhdGE6Lio/YmFzZTY0LC8sIiIpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBCdWZmZXIuZnJvbSlJPUJ1ZmZlci5mcm9tKEIsImJhc2U2NCIpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGF0b2IpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gZGVjb2RlIGJhc2U2NC1lbmNvZGVkIGRhdGEgVVJMLCBCdWZmZXIgYW5kIGF0b2IgYXJlIG5vdCBzdXBwb3J0ZWQiKTt2YXIgUT1hdG9iKEIpO0k9bmV3IFVpbnQ4QXJyYXkoUS5sZW5ndGgpO2Zvcih2YXIgQz0wO0M8US5sZW5ndGg7QysrKUlbQ109US5jaGFyQ29kZUF0KEMpfXJldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShJLEEpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBBLmluc3RhbmNlfSkpfXZhciBFPXZvaWQgMCx0PXZvaWQgMDtyZXR1cm4gZmV0Y2goZykudGhlbigoZnVuY3Rpb24oZyl7cmV0dXJuIHQ9KEU9ZykuaGVhZGVycy5nZXQoIkNvbnRlbnQtVHlwZSIpfHwiIiwiaW5zdGFudGlhdGVTdHJlYW1pbmciaW4gV2ViQXNzZW1ibHkmJnQuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpP1dlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEUsQSk6RS5hcnJheUJ1ZmZlcigpfSkpLnRoZW4oKGZ1bmN0aW9uKGcpe3JldHVybiBnIGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/V2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoZyxBKTpnfSkpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBBLmluc3RhbmNlfSkpfShBLCJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQi9BSXVZQUYvQVg5Z0FYOEFZQUovZndGL1lBSi9md0JnQTM5L2Z3Ri9ZQVovZjM5L2YzOEJmMkFGZjM5L2YzOEJmMkFEZjM5L0FHQUVmMzkvZndCZ0JuOS9mMzkvZndCZ0JYOS9mMzkvQUdBRWYzOS9md0YvWUFoL2YzOS9mMzkvZndGL1lBZC9mMzkvZjM5L0FYOWdCWDkrZm41K0FHQUFBR0FIZjM5L2YzOS9md0JnQkg5L2YzOEJmbUFGZjM5L2YzNEJmMkFBQVg5Z0JIOStmbjhBWUFKL2ZnQmdCWDkvZm45L0FHQUtmMzkvZjM5L2YzOS9md0YvWUF4L2YzOS9mMzkvZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUE5L2YzOS9mMzkvZjM5L2YzOS9mMzhBWUFwL2YzOS9mMzkvZjM5L0FHQUxmMzkvZjM5L2YzOS9mMzhCZjJBR2YzeC9mMzkvQVg5Z0IzOS9mMzkvZm40QmYyQUdmMzkvZjM1K0FYOWdCWDkvZjM5OEFYOWdBbjk4QUdBRWZuNStmZ0YvWUFKK2Z3Ri9ZQUorZmdGOFlBRi9BWHhnQTM1K2ZnRi9ZQU4vZjM4QmZHQURmMzkvQVgxZ0JIOS9mMzRCZm1BQ2ZIOEJmR0FEZjM5K0FHQUNmbjRCZldBQ2YzOEJmZ0l4Q0FGaEFXRUFEd0ZoQVdJQUJnRmhBV01BQWdGaEFXUUFBZ0ZoQVdVQUFBRmhBV1lBQkFGaEFXY0FCd0ZoQVdnQUFBUExCTWtFQWdBQUFnTUFBUU1CQUFBQUF3TVREdzRBQUFFREFRUUFBUUFBQVFBQUFnTUNBZ2NPQmdnS0ZBTUNBQU1EQUFJREFBTURBQTRDQkFRQUF3UUFCQUFFQUFBQUF3TURBd1FBQUFFQ0ZRSUhCUU1HQmdzQ0FDRUNBQXdNQlFnQ0FBQUFBd01EQXdBSUFBZ0FCd0FBQUFNQ0FnTURBaUlVQUFBRUF3SUFBQU1BQndJQ0FBQVhBQmNBSXdNQUFBTUFBUUFCQndJSENBQURBZ0lLQXdJQkJBTUFCd0lEQUFBREF4QUVFQUlOQWcwTEFnc0FBQUlWQUFBRUNBSUFDUWNJQWdjRENnRUFCQVlEQVFBQUF3UVlDZ1FZQ2dnUkFnQUVKQTRsSmdBQkFRQUFDZzhBQUFjQkF4VUJCQWdDQWdvWkFBY0hHUUFCQXdjQ0F3RUNFd0VJQndvQUFBQUJBQVlIREFBQkF3RUFBQU1CQVFFQUJCb2JHaHNBQWdBQUFnTWNBd0lBQUFjREhBTURBZ0lEQ1FjS0NRa0tDUWtBRUFRUUF3SUZCd1FBQ0Njb0VRc0ZDeEVMQUFJSEVTa0FDd0FCQXdJQ0FnY0VBQVlxQWdBQ0FnUXJMQzBJRGdJT0ZBNEFBUUlDQUFBQUJ3TURCd01EQVFBQUFnTUNBQUFDQVFBQ0FBRUJBZ1FBQUFRSUZnUUJBUUFBQVJNQkFRQUpDUWtLQ2dvQUNBZ0lCQThCQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFNREF3TURBd0FBQVFFR0RBd0dEQXdBQmdBR0RBd0JCZ1lFQ3dRQ0JBSUJCZ1FMQkFJRUFnc0xDd1FCQVFFQkNRa0ZIZ1VlRFEwTkRRME5EQVVGQlFVRkJ3d0ZCUVVGQlFZZklCSUdFZ2NHQmdZZklCSUdFZ2tHQmdVRkJRVUZCUVVGQlFVRkJRVUZBQVVGQlFrRkJBZ0dCQWdJQmdRREhRUUJBUUFCQUFnQkZnSUNBQUFCQVFBQUFRQUJBUUFFQkFjQmNBSEJBc0VDQlFZQkFUQ0FnQUlHQ0FGL0FVR2cxd0VMQjBnUEFXa0NBQUZxQU9jQkFXc0FHUUZzQUJBQmJRRGFBZ0Z1QUxRRUFXOEFyZ1FCY0FDWkJBRnhBSkFFQVhJQXJBRUJjd0NEQkFGMEFRQUJkUUNWQXdGMkFKUURBWGNBa3dNSnh3UUJBRUVCQzhBQ3pRU3FCTUVCdkFHUUE2d0Jqd09PQTQwRFQwK01BNHNEaWdPSUE5QUVpQVBsQVljRHp3VE9CT1FCK1FMTUJNc0V1QUhqQWNvRXlBVEpCTWNFMEFIQkJNSUV3QVRGQk1RRXd3UitrUU9LQWVJQnZ3UytCTDBFdkFUaEFic0V1Z1M1QkxnRXR3UVF5UUh2QSswRHdBTytBN3dEdWdPNEE3WUR0QU95QTdBRHJnT3NBNm9EcUFPbUE1TUM4QVB1QTQ0QzRRUGdBOThEM2dQZEE2OEMzQVBiQTlvRG1BTFlBOWNEMWdQVkE5UURUOU1EMGdPSEFzc0R5UVBJQThjRHhRUERBNFlDeWdQR0JKSUR4Z1BFQThJRFppQWc3QVByQStvRDZRUG9BK2NENWdQbEE2OEM1QVBqQStJRElJMENqUUxNQWIwQnZRSFpBNzBCSU5FRDBBUE1BVTlQendPSUFpRE9BODBEekFGUFQ4d0RpQUptSUxZRXRRU3pCR1lnc2dTeEJMQUVJSzhFclFTc0JLc0V5QUxJQXFrRXFBU25CS1lFcFFRZ3BBU2pCS0lFb1FTL0FyOENvQVNmQko0RW5RU2NCQ0NiQkpvRW1BU1hCSllFbFFTVUJKTUVJSklFa1FTUEJJNEVqUVNNQklzRWlnUm1JTGtDaVFTSUJJY0VoZ1NGQklRRXdRTzlBN2tEclFPcEE3VURzUU5tSUxrQ2dnU0JCSUFFL3dQK0EvMER2d083QTdjRHF3T25BN01EcndQS0FZSUMvQVBLQVlJQyt3TWdxd0dyQVd0cmE2MENUMnBxSUtzQnF3RnJhMnV0QWs5cWFpQ3FBYW9CYTZrQnFRR3NBazlxYWlDcUFhb0JhNmtCcVFHc0FrOXFhaUQ2QS9rRElQZ0Q5d01nOWdQMUF5RDBBL01ESUprQzhnT3NBU0NaQXZFRHJBRm1wUU9rQTJZZ3lRSEpBYU1EbVFPY0E2SURJSm9EblFPaEF5Q2JBNTREb0FObUlKZ0Rsd09mQTVZRENxVGZCOGtFQndBZ0FDQUJlQXNVQUNBQUVEVUVRQ0FBS0FJRUR3c2dBQzBBQ3dzZEFRRi9JQUFRTlFSQUlBQW9BZ0FoQVNBQUVIMGFJQUVRRUFzZ0FBc0pBQ0FBRUEwZ0FXb0wwZ0VCQkg4Q1FDQUJJQUFRQ1NJRFN3UkFJd0JCRUdzaUFpUUFJQUVnQTJzaUF3UkFJQUFRRXlFRUlBQVFDU0lCSUFOcUlRVWdBeUFFSUFGclN3UkFJQUFnQkNBRklBUnJJQUVnQVJESUFRc2dBU0FBRUEwaUJHb2dBMEVBRVBjQklBQWdCUkI0SUFKQkFEb0FEeUFFSUFWcUlBSkJEMm9RTkFzTUFRc2pBRUVRYXlJQ0pBQUNRQ0FBRURVRVFDQUFLQUlBSVFNZ0FrRUFPZ0FQSUFFZ0Eyb2dBa0VQYWhBMElBQWdBUkE1REFFTElBSkJBRG9BRGlBQUlBRnFJQUpCRG1vUU5DQUFJQUVRT2dzTElBSkJFR29rQUFzUkFDQUFFRFVFUUNBQUtBSUFEd3NnQUFzS0FDQUFLQUlBRUtNQkN3d0FJQUFnQVVFY2FoQ1FBZ3ZNREFFSGZ3SkFJQUJGRFFBZ0FFRUlheUlESUFCQkJHc29BZ0FpQVVGNGNTSUFhaUVGQWtBZ0FVRUJjUTBBSUFGQkEzRkZEUUVnQXlBREtBSUFJZ0ZySWdOQjZJRUJLQUlBU1EwQklBQWdBV29oQUNBRFFleUJBU2dDQUVjRVFDQUJRZjhCVFFSQUlBTW9BZ2dpQWlBQlFRTjJJZ1JCQTNSQmdJSUJha1lhSUFJZ0F5Z0NEQ0lCUmdSQVFkaUJBVUhZZ1FFb0FnQkJmaUFFZDNFMkFnQU1Bd3NnQWlBQk5nSU1JQUVnQWpZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBREtBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTUFRc0NRQ0FEUVJScUlnSW9BZ0FpQkEwQUlBTkJFR29pQWlnQ0FDSUVEUUJCQUNFQkRBRUxBMEFnQWlFSElBUWlBVUVVYWlJQ0tBSUFJZ1FOQUNBQlFSQnFJUUlnQVNnQ0VDSUVEUUFMSUFkQkFEWUNBQXNnQmtVTkFRSkFJQU1nQXlnQ0hDSUNRUUowUVlpRUFXb2lCQ2dDQUVZRVFDQUVJQUUyQWdBZ0FRMEJRZHlCQVVIY2dRRW9BZ0JCZmlBQ2QzRTJBZ0FNQXdzZ0JrRVFRUlFnQmlnQ0VDQURSaHRxSUFFMkFnQWdBVVVOQWdzZ0FTQUdOZ0lZSUFNb0FoQWlBZ1JBSUFFZ0FqWUNFQ0FDSUFFMkFoZ0xJQU1vQWhRaUFrVU5BU0FCSUFJMkFoUWdBaUFCTmdJWURBRUxJQVVvQWdRaUFVRURjVUVEUncwQVFlQ0JBU0FBTmdJQUlBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFEd3NnQXlBRlR3MEFJQVVvQWdRaUFVRUJjVVVOQUFKQUlBRkJBbkZGQkVBZ0JVSHdnUUVvQWdCR0JFQkI4SUVCSUFNMkFnQkI1SUVCUWVTQkFTZ0NBQ0FBYWlJQU5nSUFJQU1nQUVFQmNqWUNCQ0FEUWV5QkFTZ0NBRWNOQTBIZ2dRRkJBRFlDQUVIc2dRRkJBRFlDQUE4TElBVkI3SUVCS0FJQVJnUkFRZXlCQVNBRE5nSUFRZUNCQVVIZ2dRRW9BZ0FnQUdvaUFEWUNBQ0FESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBRHdzZ0FVRjRjU0FBYWlFQUFrQWdBVUgvQVUwRVFDQUZLQUlJSWdJZ0FVRURkaUlFUVFOMFFZQ0NBV3BHR2lBQ0lBVW9BZ3dpQVVZRVFFSFlnUUZCMklFQktBSUFRWDRnQkhkeE5nSUFEQUlMSUFJZ0FUWUNEQ0FCSUFJMkFnZ01BUXNnQlNnQ0dDRUdBa0FnQlNBRktBSU1JZ0ZIQkVBZ0JTZ0NDQ0lDUWVpQkFTZ0NBRWthSUFJZ0FUWUNEQ0FCSUFJMkFnZ01BUXNDUUNBRlFSUnFJZ0lvQWdBaUJBMEFJQVZCRUdvaUFpZ0NBQ0lFRFFCQkFDRUJEQUVMQTBBZ0FpRUhJQVFpQVVFVWFpSUNLQUlBSWdRTkFDQUJRUkJxSVFJZ0FTZ0NFQ0lFRFFBTElBZEJBRFlDQUFzZ0JrVU5BQUpBSUFVZ0JTZ0NIQ0lDUVFKMFFZaUVBV29pQkNnQ0FFWUVRQ0FFSUFFMkFnQWdBUTBCUWR5QkFVSGNnUUVvQWdCQmZpQUNkM0UyQWdBTUFnc2dCa0VRUVJRZ0JpZ0NFQ0FGUmh0cUlBRTJBZ0FnQVVVTkFRc2dBU0FHTmdJWUlBVW9BaEFpQWdSQUlBRWdBallDRUNBQ0lBRTJBaGdMSUFVb0FoUWlBa1VOQUNBQklBSTJBaFFnQWlBQk5nSVlDeUFESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBSUFOQjdJRUJLQUlBUncwQlFlQ0JBU0FBTmdJQUR3c2dCU0FCUVg1eE5nSUVJQU1nQUVFQmNqWUNCQ0FBSUFOcUlBQTJBZ0FMSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUVlDQ0FXb2hBQUovUWRpQkFTZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQjJJRUJJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVDSUFBZ0F6WUNDQ0FDSUFNMkFnd2dBeUFBTmdJTUlBTWdBallDQ0E4TFFSOGhBaUFEUWdBM0FoQWdBRUgvLy84SFRRUkFJQUJCQ0hZaUFTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhaUVDQ3lBRElBSTJBaHdnQWtFQ2RFR0loQUZxSVFFQ1FBSkFBa0JCM0lFQktBSUFJZ1JCQVNBQ2RDSUhjVVVFUUVIY2dRRWdCQ0FIY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBQkJBRUVaSUFKQkFYWnJJQUpCSDBZYmRDRUNJQUVvQWdBaEFRTkFJQUVpQkNnQ0JFRjRjU0FBUmcwQ0lBSkJIWFloQVNBQ1FRRjBJUUlnQkNBQlFRUnhhaUlIUVJCcUtBSUFJZ0VOQUFzZ0J5QUROZ0lRSUFNZ0JEWUNHQXNnQXlBRE5nSU1JQU1nQXpZQ0NBd0JDeUFFS0FJSUlnQWdBellDRENBRUlBTTJBZ2dnQTBFQU5nSVlJQU1nQkRZQ0RDQURJQUEyQWdnTFFmaUJBVUg0Z1FFb0FnQkJBV3NpQUVGL0lBQWJOZ0lBQ3dza0FRRi9Jd0JCRUdzaUFTUUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FVRVFhaVFBSUFBTGl3SUNBMzhDZmdKQUlBQXBBM0FpQkZCRklBUWdBQ2tEZUNBQUtBSUVJZ0VnQUNnQ0xDSUNhNng4SWdWWGNVVUVRQ01BUVJCcklnSWtBRUYvSVFFQ1FDQUFFT2tCRFFBZ0FDQUNRUTlxUVFFZ0FDZ0NJQkVFQUVFQlJ3MEFJQUl0QUE4aEFRc2dBa0VRYWlRQUlBRWlBMEVBVGcwQklBQW9BZ1FoQVNBQUtBSXNJUUlMSUFCQ2Z6Y0RjQ0FBSUFFMkFtZ2dBQ0FGSUFJZ0FXdXNmRGNEZUVGL0R3c2dCVUlCZkNFRklBQW9BZ1FoQVNBQUtBSUlJUUlDUUNBQUtRTndJZ1JRRFFBZ0JDQUZmU0lFSUFJZ0FXdXNXUTBBSUFFZ0JLZHFJUUlMSUFBZ0FqWUNhQ0FBSUFVZ0FDZ0NMQ0lBSUFGcnJIdzNBM2dnQUNBQlR3UkFJQUZCQVdzZ0F6b0FBQXNnQXdzWkFRRi9RUW9oQVNBQUVEVUVmeUFBRUgxQkFXc0ZJQUVMQytNQkFRWi9JQUVRMHdJaEF5TUFRUkJySWdVa0FBSkFJQU1nQUNJRUVNOEJJZ0JOQkVBZ0JCQU5JZ1loQWlBRElnQUVmd0pBSUFFZ0FrWU5BQ0FDSUFGcklBQkJBblJQQkVBZ0FFVU5BUU5BSUFJZ0FTZ0NBRFlDQUNBQ1FRUnFJUUlnQVVFRWFpRUJJQUJCQVdzaUFBMEFDd3dCQ3lBQVJRMEFBMEFnQWlBQVFRRnJJZ0JCQW5RaUIyb2dBU0FIYWlnQ0FEWUNBQ0FBRFFBTEMwRUFCU0FDQ3hvZ0JVRUFOZ0lNSUFZZ0EwRUNkR29nQlVFTWFoQXpJQVFnQXhCNERBRUxJQVFnQUNBRElBQnJJQVFRQ1NJQVFRQWdBQ0FESUFFUTlBRUxJQVZCRUdva0FBdHpBUU4vSUFFUWtnRWhBaU1BUVJCcklnUWtBQUpBSUFJZ0FCQVRJZ05OQkVBZ0FCQU5JUU1nQWdSQUlBTWdBU0FDRU9vQkN5QUVRUUE2QUE4Z0FpQURhaUFFUVE5cUVEUWdBQ0FDRUhnTUFRc2dBQ0FESUFJZ0Eyc2dBQkFKSWdCQkFDQUFJQUlnQVJENEFRc2dCRUVRYWlRQUMrMENBUVIvQWtCQjNJZ0JMUUFBUVFGeERRQkIzSWdCRUNSRkRRQWpBRUVnYXlJQ0pBQUNRQUpBQTBBZ0FrRUlhaUFBUVFKMGFnSi9RUUVnQUhSQi8vLy8vd2R4SWdOQkFYSkZCRUFnQUVFQ2RDZ0NBQXdCQ3lBQVFab2VRYVFmSUFNYkVPQUNDeUlETmdJQUlBTkJmMGNFUUNBQVFRRnFJZ0JCQmtZTkFnd0JDd3NNQVF0QkFCRGZBa1VFUUVISUxTRUJJQUpCQ0dwQnlDMFFud0ZGRFFGQjRDMGhBU0FDUVFocVFlQXRFSjhCUlEwQlFRQWhBRUd3aHdFdEFBQkZCRUFEUUNBQVFRSjBRWUNIQVdvZ0FFR2tIeERnQWpZQ0FDQUFRUUZxSWdCQkJrY05BQXRCc0ljQlFRRTZBQUJCbUljQlFZQ0hBU2dDQURZQ0FBdEJnSWNCSVFFZ0FrRUlha0dBaHdFUW53RkZEUUZCbUljQklRRWdBa0VJYWtHWWh3RVFud0ZGRFFGQkdCQVpJZ0ZGRFFFTElBRWdBaWtEQ0RjQ0FDQUJJQUlwQXhnM0FoQWdBU0FDS1FNUU53SUlDeUFDUVNCcUpBQkIySWdCSUFFMkFnQkIzSWdCRUNNTFFkaUlBU2dDQUFzRkFCQUFBQXZmQ2dJRmZ3OStJd0JCNEFCcklnVWtBQ0FFUXYvLy8vLy8veitESWcxQ0Q0WWdBMEl4aUlRaERpQUNJQVNGUW9DQWdJQ0FnSUNBZ0grRElRb2dBa0wvLy8vLy8vOC9neUlMUWlDSUlROGdEVUlSaUNFUUlBUkNNSWluUWYvL0FYRWhCd0pBQWtBZ0FrSXdpS2RCLy84QmNTSUpRUUZyUWYzL0FVMEVRQ0FIUVFGclFmNy9BVWtOQVFzZ0FWQWdBa0wvLy8vLy8vLy8vLzhBZ3lJTVFvQ0FnSUNBZ01ELy93QlVJQXhDZ0lDQWdJQ0F3UC8vQUZFYlJRUkFJQUpDZ0lDQWdJQ0FJSVFoQ2d3Q0N5QURVQ0FFUXYvLy8vLy8vLy8vL3dDRElnSkNnSUNBZ0lDQXdQLy9BRlFnQWtLQWdJQ0FnSURBLy84QVVSdEZCRUFnQkVLQWdJQ0FnSUFnaENFS0lBTWhBUXdDQ3lBQklBeENnSUNBZ0lDQXdQLy9BSVdFVUFSQUlBSWdBNFJRQkVCQ2dJQ0FnSUNBNFAvL0FDRUtRZ0FoQVF3REN5QUtRb0NBZ0lDQWdNRC8vd0NFSVFwQ0FDRUJEQUlMSUFNZ0FrS0FnSUNBZ0lEQS8vOEFoWVJRQkVBZ0FTQU1oQ0VDUWdBaEFTQUNVQVJBUW9DQWdJQ0FnT0QvL3dBaENnd0RDeUFLUW9DQWdJQ0FnTUQvL3dDRUlRb01BZ3NnQVNBTWhGQUVRRUlBSVFFTUFnc2dBaUFEaEZBRVFFSUFJUUVNQWdzZ0RFTC8vLy8vLy84L1dBUkFJQVZCMEFCcUlBRWdDeUFCSUFzZ0MxQWlCaHQ1SUFaQkJuU3RmS2NpQmtFUGF4QXZRUkFnQm1zaEJpQUZLUU5ZSWd0Q0lJZ2hEeUFGS1FOUUlRRUxJQUpDLy8vLy8vLy9QMVlOQUNBRlFVQnJJQU1nRFNBRElBMGdEVkFpQ0J0NUlBaEJCblN0ZktjaUNFRVBheEF2SUFZZ0NHdEJFR29oQmlBRktRTklJZ0pDRDRZZ0JTa0RRQ0lEUWpHSWhDRU9JQUpDRVlnaEVBc2dBMElQaGtLQWdQNy9ENE1pQWlBQlFpQ0lJZ1IrSWhJZ0EwSVJpRUwvLy8vL0Q0TWlEQ0FCUXYvLy8vOFBneUlCZm53aUVVSWdoaUlOSUFFZ0FuNThJZ01nRFZTdElBSWdDMEwvLy8vL0Q0TWlDMzRpRlNBRUlBeCtmQ0lUSUE1Qy8vLy8vdytESWcwZ0FYNThJaFFnRVNBU1ZLMUNJSVlnRVVJZ2lJUjhJaEVnQWlBUFFvQ0FCSVFpRG40aUZpQUxJQXgrZkNJUElBUWdEWDU4SWhJZ0VFTC8vLy8vQjROQ2dJQ0FnQWlFSWdJZ0FYNThJaEJDSUlaOEloZDhJUUVnQnlBSmFpQUdha0gvL3dCcklRWUNRQ0FMSUExK0loZ2dEQ0FPZm53aURDQVlWSzBnRENBQ0lBUitmQ0lFSUF4VXJYd2dBaUFPZm53Z0JDQUVJQk1nRlZTdElCTWdGRmF0Zkh3aUJGYXRmQ0FDSUF0K0lnc2dEU0FPZm53aUFpQUxWSzFDSUlZZ0FrSWdpSVI4SUFRZ0FrSWdobndpQWlBRVZLMThJQUlnQWlBUUlCSlVyU0FQSUJaVXJTQVBJQkpXclh4OFFpQ0dJQkJDSUlpRWZDSUNWcTE4SUFJZ0FpQVJJQlJVclNBUklCZFdyWHg4SWdKV3JYd2lCRUtBZ0lDQWdJREFBSU5RUlFSQUlBWkJBV29oQmd3QkN5QURRaitJSVFzZ0JFSUJoaUFDUWorSWhDRUVJQUpDQVlZZ0FVSS9pSVFoQWlBRFFnR0dJUU1nQ3lBQlFnR0doQ0VCQ3lBR1FmLy9BVTRFUUNBS1FvQ0FnSUNBZ01ELy93Q0VJUXBDQUNFQkRBRUxBbjRnQmtFQVRBUkFRUUVnQm1zaUIwR0FBVThFUUVJQUlRRU1Bd3NnQlVFd2FpQURJQUVnQmtIL0FHb2lCaEF2SUFWQklHb2dBaUFFSUFZUUx5QUZRUkJxSUFNZ0FTQUhFSHdnQlNBQ0lBUWdCeEI4SUFVcEF6QWdCU2tET0lSQ0FGS3RJQVVwQXlBZ0JTa0RFSVNFSVFNZ0JTa0RLQ0FGS1FNWWhDRUJJQVVwQXdBaEFpQUZLUU1JREFFTElBUkMvLy8vLy8vL1A0TWdCcTFDTUlhRUN5QUtoQ0VLSUFOUUlBRkNBRmtnQVVLQWdJQ0FnSUNBZ0lCL1VSdEZCRUFnQ2lBQ1FnRjhJZ0VnQWxTdGZDRUtEQUVMSUFNZ0FVS0FnSUNBZ0lDQWdJQi9oWVJRUlFSQUlBSWhBUXdCQ3lBS0lBSWdBa0lCZzN3aUFTQUNWSzE4SVFvTElBQWdBVGNEQUNBQUlBbzNBd2dnQlVIZ0FHb2tBQXVBTGdFTGZ5TUFRUkJySWdza0FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQUVIMEFVMEVRRUhZZ1FFb0FnQWlCa0VRSUFCQkMycEJlSEVnQUVFTFNSc2lCMEVEZGlJQ2RpSUJRUU54QkVBZ0FVRi9jMEVCY1NBQ2FpSURRUU4wSWdGQmlJSUJhaWdDQUNJRVFRaHFJUUFDUUNBRUtBSUlJZ0lnQVVHQWdnRnFJZ0ZHQkVCQjJJRUJJQVpCZmlBRGQzRTJBZ0FNQVFzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXNnQkNBRFFRTjBJZ0ZCQTNJMkFnUWdBU0FFYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQjBIZ2dRRW9BZ0FpQ2swTkFTQUJCRUFDUUVFQ0lBSjBJZ0JCQUNBQWEzSWdBU0FDZEhFaUFFRUFJQUJyY1VFQmF5SUFJQUJCREhaQkVIRWlBbllpQVVFRmRrRUljU0lBSUFKeUlBRWdBSFlpQVVFQ2RrRUVjU0lBY2lBQklBQjJJZ0ZCQVhaQkFuRWlBSElnQVNBQWRpSUJRUUYyUVFGeElnQnlJQUVnQUhacUlnTkJBM1FpQUVHSWdnRnFLQUlBSWdRb0FnZ2lBU0FBUVlDQ0FXb2lBRVlFUUVIWWdRRWdCa0YrSUFOM2NTSUdOZ0lBREFFTElBRWdBRFlDRENBQUlBRTJBZ2dMSUFSQkNHb2hBQ0FFSUFkQkEzSTJBZ1FnQkNBSGFpSUNJQU5CQTNRaUFTQUhheUlEUVFGeU5nSUVJQUVnQkdvZ0F6WUNBQ0FLQkVBZ0NrRURkaUlCUVFOMFFZQ0NBV29oQlVIc2dRRW9BZ0FoQkFKL0lBWkJBU0FCZENJQmNVVUVRRUhZZ1FFZ0FTQUdjallDQUNBRkRBRUxJQVVvQWdnTElRRWdCU0FFTmdJSUlBRWdCRFlDRENBRUlBVTJBZ3dnQkNBQk5nSUlDMEhzZ1FFZ0FqWUNBRUhnZ1FFZ0F6WUNBQXdNQzBIY2dRRW9BZ0FpQ1VVTkFTQUpRUUFnQ1d0eFFRRnJJZ0FnQUVFTWRrRVFjU0lDZGlJQlFRVjJRUWh4SWdBZ0FuSWdBU0FBZGlJQlFRSjJRUVJ4SWdCeUlBRWdBSFlpQVVFQmRrRUNjU0lBY2lBQklBQjJJZ0ZCQVhaQkFYRWlBSElnQVNBQWRtcEJBblJCaUlRQmFpZ0NBQ0lCS0FJRVFYaHhJQWRySVFNZ0FTRUNBMEFDUUNBQ0tBSVFJZ0JGQkVBZ0FpZ0NGQ0lBUlEwQkN5QUFLQUlFUVhoeElBZHJJZ0lnQXlBQ0lBTkpJZ0liSVFNZ0FDQUJJQUliSVFFZ0FDRUNEQUVMQ3lBQktBSVlJUWdnQVNBQktBSU1JZ1JIQkVBZ0FTZ0NDQ0lBUWVpQkFTZ0NBRWthSUFBZ0JEWUNEQ0FFSUFBMkFnZ01Dd3NnQVVFVWFpSUNLQUlBSWdCRkJFQWdBU2dDRUNJQVJRMERJQUZCRUdvaEFnc0RRQ0FDSVFVZ0FDSUVRUlJxSWdJb0FnQWlBQTBBSUFSQkVHb2hBaUFFS0FJUUlnQU5BQXNnQlVFQU5nSUFEQW9MUVg4aEJ5QUFRYjkvU3cwQUlBQkJDMm9pQUVGNGNTRUhRZHlCQVNnQ0FDSUpSUTBBUVFBZ0Iyc2hBd0pBQWtBQ1FBSi9RUUFnQjBHQUFra05BQnBCSHlBSFFmLy8vd2RMRFFBYUlBQkJDSFlpQUNBQVFZRCtQMnBCRUhaQkNIRWlBblFpQUNBQVFZRGdIMnBCRUhaQkJIRWlBWFFpQUNBQVFZQ0FEMnBCRUhaQkFuRWlBSFJCRDNZZ0FTQUNjaUFBY21zaUFFRUJkQ0FISUFCQkZXcDJRUUZ4Y2tFY2Fnc2lCa0VDZEVHSWhBRnFLQUlBSWdKRkJFQkJBQ0VBREFFTFFRQWhBQ0FIUVFCQkdTQUdRUUYyYXlBR1FSOUdHM1FoQVFOQUFrQWdBaWdDQkVGNGNTQUhheUlGSUFOUERRQWdBaUVFSUFVaUF3MEFRUUFoQXlBQ0lRQU1Bd3NnQUNBQ0tBSVVJZ1VnQlNBQ0lBRkJIWFpCQkhGcUtBSVFJZ0pHR3lBQUlBVWJJUUFnQVVFQmRDRUJJQUlOQUFzTElBQWdCSEpGQkVCQkFDRUVRUUlnQm5RaUFFRUFJQUJyY2lBSmNTSUFSUTBESUFCQkFDQUFhM0ZCQVdzaUFDQUFRUXgyUVJCeElnSjJJZ0ZCQlhaQkNIRWlBQ0FDY2lBQklBQjJJZ0ZCQW5aQkJIRWlBSElnQVNBQWRpSUJRUUYyUVFKeElnQnlJQUVnQUhZaUFVRUJka0VCY1NJQWNpQUJJQUIyYWtFQ2RFR0loQUZxS0FJQUlRQUxJQUJGRFFFTEEwQWdBQ2dDQkVGNGNTQUhheUlCSUFOSklRSWdBU0FESUFJYklRTWdBQ0FFSUFJYklRUWdBQ2dDRUNJQkJIOGdBUVVnQUNnQ0ZBc2lBQTBBQ3dzZ0JFVU5BQ0FEUWVDQkFTZ0NBQ0FIYTA4TkFDQUVLQUlZSVFZZ0JDQUVLQUlNSWdGSEJFQWdCQ2dDQ0NJQVFlaUJBU2dDQUVrYUlBQWdBVFlDRENBQklBQTJBZ2dNQ1FzZ0JFRVVhaUlDS0FJQUlnQkZCRUFnQkNnQ0VDSUFSUTBESUFSQkVHb2hBZ3NEUUNBQ0lRVWdBQ0lCUVJScUlnSW9BZ0FpQUEwQUlBRkJFR29oQWlBQktBSVFJZ0FOQUFzZ0JVRUFOZ0lBREFnTElBZEI0SUVCS0FJQUlnSk5CRUJCN0lFQktBSUFJUU1DUUNBQ0lBZHJJZ0ZCRUU4RVFFSGdnUUVnQVRZQ0FFSHNnUUVnQXlBSGFpSUFOZ0lBSUFBZ0FVRUJjallDQkNBQ0lBTnFJQUUyQWdBZ0F5QUhRUU55TmdJRURBRUxRZXlCQVVFQU5nSUFRZUNCQVVFQU5nSUFJQU1nQWtFRGNqWUNCQ0FDSUFOcUlnQWdBQ2dDQkVFQmNqWUNCQXNnQTBFSWFpRUFEQW9MSUFkQjVJRUJLQUlBSWdoSkJFQkI1SUVCSUFnZ0Iyc2lBVFlDQUVId2dRRkI4SUVCS0FJQUlnSWdCMm9pQURZQ0FDQUFJQUZCQVhJMkFnUWdBaUFIUVFOeU5nSUVJQUpCQ0dvaEFBd0tDMEVBSVFBZ0IwRXZhaUlKQW45QnNJVUJLQUlBQkVCQnVJVUJLQUlBREFFTFFieUZBVUovTndJQVFiU0ZBVUtBb0lDQWdJQUVOd0lBUWJDRkFTQUxRUXhxUVhCeFFkaXExYW9GY3pZQ0FFSEVoUUZCQURZQ0FFR1VoUUZCQURZQ0FFR0FJQXNpQVdvaUJrRUFJQUZySWdWeElnSWdCMDBOQ1VHUWhRRW9BZ0FpQkFSQVFZaUZBU2dDQUNJRElBSnFJZ0VnQTAwZ0FTQUVTM0lOQ2d0QmxJVUJMUUFBUVFSeERRUUNRQUpBUWZDQkFTZ0NBQ0lEQkVCQm1JVUJJUUFEUUNBRElBQW9BZ0FpQVU4RVFDQUJJQUFvQWdScUlBTkxEUU1MSUFBb0FnZ2lBQTBBQ3d0QkFCQnlJZ0ZCZjBZTkJTQUNJUVpCdElVQktBSUFJZ05CQVdzaUFDQUJjUVJBSUFJZ0FXc2dBQ0FCYWtFQUlBTnJjV29oQmdzZ0JpQUhUU0FHUWY3Ly8vOEhTM0lOQlVHUWhRRW9BZ0FpQkFSQVFZaUZBU2dDQUNJRElBWnFJZ0FnQTAwZ0FDQUVTM0lOQmdzZ0JoQnlJZ0FnQVVjTkFRd0hDeUFHSUFocklBVnhJZ1pCL3YvLy93ZExEUVFnQmhCeUlnRWdBQ2dDQUNBQUtBSUVha1lOQXlBQklRQUxJQUJCZjBZZ0IwRXdhaUFHVFhKRkJFQkJ1SVVCS0FJQUlnRWdDU0FHYTJwQkFDQUJhM0VpQVVIKy8vLy9CMHNFUUNBQUlRRU1Cd3NnQVJCeVFYOUhCRUFnQVNBR2FpRUdJQUFoQVF3SEMwRUFJQVpyRUhJYURBUUxJQUFpQVVGL1J3MEZEQU1MUVFBaEJBd0hDMEVBSVFFTUJRc2dBVUYvUncwQ0MwR1VoUUZCbElVQktBSUFRUVJ5TmdJQUN5QUNRZjcvLy84SFN3MEJJQUlRY2lJQlFYOUdRUUFRY2lJQVFYOUdjaUFBSUFGTmNnMEJJQUFnQVdzaUJpQUhRU2hxVFEwQkMwR0loUUZCaUlVQktBSUFJQVpxSWdBMkFnQkJqSVVCS0FJQUlBQkpCRUJCaklVQklBQTJBZ0FMQWtBQ1FBSkFRZkNCQVNnQ0FDSUZCRUJCbUlVQklRQURRQ0FCSUFBb0FnQWlBeUFBS0FJRUlnSnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSG9nUUVvQWdBaUFFRUFJQUFnQVUwYlJRUkFRZWlCQVNBQk5nSUFDMEVBSVFCQm5JVUJJQVkyQWdCQm1JVUJJQUUyQWdCQitJRUJRWDgyQWdCQi9JRUJRYkNGQVNnQ0FEWUNBRUdraFFGQkFEWUNBQU5BSUFCQkEzUWlBMEdJZ2dGcUlBTkJnSUlCYWlJQ05nSUFJQU5CaklJQmFpQUNOZ0lBSUFCQkFXb2lBRUVnUncwQUMwSGtnUUVnQmtFb2F5SURRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlBYXlJQ05nSUFRZkNCQVNBQUlBRnFJZ0EyQWdBZ0FDQUNRUUZ5TmdJRUlBRWdBMnBCS0RZQ0JFSDBnUUZCd0lVQktBSUFOZ0lBREFJTElBQXRBQXhCQ0hFZ0F5QUZTM0lnQVNBRlRYSU5BQ0FBSUFJZ0JtbzJBZ1JCOElFQklBVkJlQ0FGYTBFSGNVRUFJQVZCQ0dwQkIzRWJJZ0JxSWdJMkFnQkI1SUVCUWVTQkFTZ0NBQ0FHYWlJQklBQnJJZ0EyQWdBZ0FpQUFRUUZ5TmdJRUlBRWdCV3BCS0RZQ0JFSDBnUUZCd0lVQktBSUFOZ0lBREFFTFFlaUJBU2dDQUNBQlN3UkFRZWlCQVNBQk5nSUFDeUFCSUFacUlRSkJtSVVCSVFBQ1FBSkFBa0FDUUFKQUFrQURRQ0FDSUFBb0FnQkhCRUFnQUNnQ0NDSUFEUUVNQWdzTElBQXRBQXhCQ0hGRkRRRUxRWmlGQVNFQUEwQWdCU0FBS0FJQUlnSlBCRUFnQWlBQUtBSUVhaUlFSUFWTERRTUxJQUFvQWdnaEFBd0FDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQjBFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUJpQUhJQWxxSWdocklRSWdCU0FHUmdSQVFmQ0JBU0FJTmdJQVFlU0JBVUhrZ1FFb0FnQWdBbW9pQURZQ0FDQUlJQUJCQVhJMkFnUU1Bd3NnQmtIc2dRRW9BZ0JHQkVCQjdJRUJJQWcyQWdCQjRJRUJRZUNCQVNnQ0FDQUNhaUlBTmdJQUlBZ2dBRUVCY2pZQ0JDQUFJQWhxSUFBMkFnQU1Bd3NnQmlnQ0JDSUFRUU54UVFGR0JFQWdBRUY0Y1NFRkFrQWdBRUgvQVUwRVFDQUdLQUlJSWdNZ0FFRURkaUlBUVFOMFFZQ0NBV3BHR2lBRElBWW9BZ3dpQVVZRVFFSFlnUUZCMklFQktBSUFRWDRnQUhkeE5nSUFEQUlMSUFNZ0FUWUNEQ0FCSUFNMkFnZ01BUXNnQmlnQ0dDRUhBa0FnQmlBR0tBSU1JZ0ZIQkVBZ0JpZ0NDQ0lBSUFFMkFnd2dBU0FBTmdJSURBRUxBa0FnQmtFVWFpSUFLQUlBSWdNTkFDQUdRUkJxSWdBb0FnQWlBdzBBUVFBaEFRd0JDd05BSUFBaEJDQURJZ0ZCRkdvaUFDZ0NBQ0lERFFBZ0FVRVFhaUVBSUFFb0FoQWlBdzBBQ3lBRVFRQTJBZ0FMSUFkRkRRQUNRQ0FHSUFZb0Fod2lBMEVDZEVHSWhBRnFJZ0FvQWdCR0JFQWdBQ0FCTmdJQUlBRU5BVUhjZ1FGQjNJRUJLQUlBUVg0Z0EzZHhOZ0lBREFJTElBZEJFRUVVSUFjb0FoQWdCa1liYWlBQk5nSUFJQUZGRFFFTElBRWdCellDR0NBR0tBSVFJZ0FFUUNBQklBQTJBaEFnQUNBQk5nSVlDeUFHS0FJVUlnQkZEUUFnQVNBQU5nSVVJQUFnQVRZQ0dBc2dCU0FHYWlFR0lBSWdCV29oQWdzZ0JpQUdLQUlFUVg1eE5nSUVJQWdnQWtFQmNqWUNCQ0FDSUFocUlBSTJBZ0FnQWtIL0FVMEVRQ0FDUVFOMklnQkJBM1JCZ0lJQmFpRUNBbjlCMklFQktBSUFJZ0ZCQVNBQWRDSUFjVVVFUUVIWWdRRWdBQ0FCY2pZQ0FDQUNEQUVMSUFJb0FnZ0xJUUFnQWlBSU5nSUlJQUFnQ0RZQ0RDQUlJQUkyQWd3Z0NDQUFOZ0lJREFNTFFSOGhBQ0FDUWYvLy93ZE5CRUFnQWtFSWRpSUFJQUJCZ1A0L2FrRVFka0VJY1NJRGRDSUFJQUJCZ09BZmFrRVFka0VFY1NJQmRDSUFJQUJCZ0lBUGFrRVFka0VDY1NJQWRFRVBkaUFCSUFOeUlBQnlheUlBUVFGMElBSWdBRUVWYW5aQkFYRnlRUnhxSVFBTElBZ2dBRFlDSENBSVFnQTNBaEFnQUVFQ2RFR0loQUZxSVFRQ1FFSGNnUUVvQWdBaUEwRUJJQUIwSWdGeFJRUkFRZHlCQVNBQklBTnlOZ0lBSUFRZ0NEWUNBQ0FJSUFRMkFoZ01BUXNnQWtFQVFSa2dBRUVCZG1zZ0FFRWZSaHQwSVFBZ0JDZ0NBQ0VCQTBBZ0FTSURLQUlFUVhoeElBSkdEUU1nQUVFZGRpRUJJQUJCQVhRaEFDQURJQUZCQkhGcUlnUW9BaEFpQVEwQUN5QUVJQWcyQWhBZ0NDQUROZ0lZQ3lBSUlBZzJBZ3dnQ0NBSU5nSUlEQUlMUWVTQkFTQUdRU2hySWdOQmVDQUJhMEVIY1VFQUlBRkJDR3BCQjNFYklnQnJJZ0kyQWdCQjhJRUJJQUFnQVdvaUFEWUNBQ0FBSUFKQkFYSTJBZ1FnQVNBRGFrRW9OZ0lFUWZTQkFVSEFoUUVvQWdBMkFnQWdCU0FFUVNjZ0JHdEJCM0ZCQUNBRVFTZHJRUWR4RzJwQkwyc2lBQ0FBSUFWQkVHcEpHeUlDUVJzMkFnUWdBa0dnaFFFcEFnQTNBaEFnQWtHWWhRRXBBZ0EzQWdoQm9JVUJJQUpCQ0dvMkFnQkJuSVVCSUFZMkFnQkJtSVVCSUFFMkFnQkJwSVVCUVFBMkFnQWdBa0VZYWlFQUEwQWdBRUVITmdJRUlBQkJDR29oQVNBQVFRUnFJUUFnQVNBRVNRMEFDeUFDSUFWR0RRTWdBaUFDS0FJRVFYNXhOZ0lFSUFVZ0FpQUZheUlFUVFGeU5nSUVJQUlnQkRZQ0FDQUVRZjhCVFFSQUlBUkJBM1lpQUVFRGRFR0FnZ0ZxSVFJQ2YwSFlnUUVvQWdBaUFVRUJJQUIwSWdCeFJRUkFRZGlCQVNBQUlBRnlOZ0lBSUFJTUFRc2dBaWdDQ0FzaEFDQUNJQVUyQWdnZ0FDQUZOZ0lNSUFVZ0FqWUNEQ0FGSUFBMkFnZ01CQXRCSHlFQUlBVkNBRGNDRUNBRVFmLy8vd2ROQkVBZ0JFRUlkaUlBSUFCQmdQNC9ha0VRZGtFSWNTSUNkQ0lBSUFCQmdPQWZha0VRZGtFRWNTSUJkQ0lBSUFCQmdJQVBha0VRZGtFQ2NTSUFkRUVQZGlBQklBSnlJQUJ5YXlJQVFRRjBJQVFnQUVFVmFuWkJBWEZ5UVJ4cUlRQUxJQVVnQURZQ0hDQUFRUUowUVlpRUFXb2hBd0pBUWR5QkFTZ0NBQ0lDUVFFZ0FIUWlBWEZGQkVCQjNJRUJJQUVnQW5JMkFnQWdBeUFGTmdJQUlBVWdBellDR0F3QkN5QUVRUUJCR1NBQVFRRjJheUFBUVI5R0czUWhBQ0FES0FJQUlRRURRQ0FCSWdJb0FnUkJlSEVnQkVZTkJDQUFRUjEySVFFZ0FFRUJkQ0VBSUFJZ0FVRUVjV29pQXlnQ0VDSUJEUUFMSUFNZ0JUWUNFQ0FGSUFJMkFoZ0xJQVVnQlRZQ0RDQUZJQVUyQWdnTUF3c2dBeWdDQ0NJQUlBZzJBZ3dnQXlBSU5nSUlJQWhCQURZQ0dDQUlJQU0yQWd3Z0NDQUFOZ0lJQ3lBSlFRaHFJUUFNQlFzZ0FpZ0NDQ0lBSUFVMkFnd2dBaUFGTmdJSUlBVkJBRFlDR0NBRklBSTJBZ3dnQlNBQU5nSUlDMEhrZ1FFb0FnQWlBQ0FIVFEwQVFlU0JBU0FBSUFkcklnRTJBZ0JCOElFQlFmQ0JBU2dDQUNJQ0lBZHFJZ0EyQWdBZ0FDQUJRUUZ5TmdJRUlBSWdCMEVEY2pZQ0JDQUNRUWhxSVFBTUF3dEIxSUVCUVRBMkFnQkJBQ0VBREFJTEFrQWdCa1VOQUFKQUlBUW9BaHdpQWtFQ2RFR0loQUZxSWdBb0FnQWdCRVlFUUNBQUlBRTJBZ0FnQVEwQlFkeUJBU0FKUVg0Z0FuZHhJZ2syQWdBTUFnc2dCa0VRUVJRZ0JpZ0NFQ0FFUmh0cUlBRTJBZ0FnQVVVTkFRc2dBU0FHTmdJWUlBUW9BaEFpQUFSQUlBRWdBRFlDRUNBQUlBRTJBaGdMSUFRb0FoUWlBRVVOQUNBQklBQTJBaFFnQUNBQk5nSVlDd0pBSUFOQkQwMEVRQ0FFSUFNZ0Iyb2lBRUVEY2pZQ0JDQUFJQVJxSWdBZ0FDZ0NCRUVCY2pZQ0JBd0JDeUFFSUFkQkEzSTJBZ1FnQkNBSGFpSUZJQU5CQVhJMkFnUWdBeUFGYWlBRE5nSUFJQU5CL3dGTkJFQWdBMEVEZGlJQVFRTjBRWUNDQVdvaEFnSi9RZGlCQVNnQ0FDSUJRUUVnQUhRaUFIRkZCRUJCMklFQklBQWdBWEkyQWdBZ0Fnd0JDeUFDS0FJSUN5RUFJQUlnQlRZQ0NDQUFJQVUyQWd3Z0JTQUNOZ0lNSUFVZ0FEWUNDQXdCQzBFZklRQWdBMEgvLy84SFRRUkFJQU5CQ0hZaUFDQUFRWUQrUDJwQkVIWkJDSEVpQW5RaUFDQUFRWURnSDJwQkVIWkJCSEVpQVhRaUFDQUFRWUNBRDJwQkVIWkJBbkVpQUhSQkQzWWdBU0FDY2lBQWNtc2lBRUVCZENBRElBQkJGV3AyUVFGeGNrRWNhaUVBQ3lBRklBQTJBaHdnQlVJQU53SVFJQUJCQW5SQmlJUUJhaUVCQWtBQ1FDQUpRUUVnQUhRaUFuRkZCRUJCM0lFQklBSWdDWEkyQWdBZ0FTQUZOZ0lBREFFTElBTkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEJ3TkFJQWNpQVNnQ0JFRjRjU0FEUmcwQ0lBQkJIWFloQWlBQVFRRjBJUUFnQVNBQ1FRUnhhaUlDS0FJUUlnY05BQXNnQWlBRk5nSVFDeUFGSUFFMkFoZ2dCU0FGTmdJTUlBVWdCVFlDQ0F3QkN5QUJLQUlJSWdBZ0JUWUNEQ0FCSUFVMkFnZ2dCVUVBTmdJWUlBVWdBVFlDRENBRklBQTJBZ2dMSUFSQkNHb2hBQXdCQ3dKQUlBaEZEUUFDUUNBQktBSWNJZ0pCQW5SQmlJUUJhaUlBS0FJQUlBRkdCRUFnQUNBRU5nSUFJQVFOQVVIY2dRRWdDVUYrSUFKM2NUWUNBQXdDQ3lBSVFSQkJGQ0FJS0FJUUlBRkdHMm9nQkRZQ0FDQUVSUTBCQ3lBRUlBZzJBaGdnQVNnQ0VDSUFCRUFnQkNBQU5nSVFJQUFnQkRZQ0dBc2dBU2dDRkNJQVJRMEFJQVFnQURZQ0ZDQUFJQVEyQWhnTEFrQWdBMEVQVFFSQUlBRWdBeUFIYWlJQVFRTnlOZ0lFSUFBZ0FXb2lBQ0FBS0FJRVFRRnlOZ0lFREFFTElBRWdCMEVEY2pZQ0JDQUJJQWRxSWdJZ0EwRUJjallDQkNBQ0lBTnFJQU0yQWdBZ0NnUkFJQXBCQTNZaUFFRURkRUdBZ2dGcUlRVkI3SUVCS0FJQUlRUUNmMEVCSUFCMElnQWdCbkZGQkVCQjJJRUJJQUFnQm5JMkFnQWdCUXdCQ3lBRktBSUlDeUVBSUFVZ0JEWUNDQ0FBSUFRMkFnd2dCQ0FGTmdJTUlBUWdBRFlDQ0F0QjdJRUJJQUkyQWdCQjRJRUJJQU0yQWdBTElBRkJDR29oQUFzZ0MwRVFhaVFBSUFBTHB3RUJCSDhqQUVFZ2F5SUJKQUFnQVVFQU5nSU1JQUZCTnpZQ0NDQUJJQUVwQXdnM0F3QWdBVUVRYWlJRElBRXBBZ0EzQWdRZ0F5QUFOZ0lBSXdCQkVHc2lBaVFBSUFBb0FnQkJmMGNFUUNBQ1FRaHFJZ1FnQXhCNkdpQUNJQVFRZWhvRFFDQUFLQUlBUVFGR0RRQUxJQUFvQWdCRkJFQWdBRUVCTmdJQUlBSkJPQkVCQUNBQVFYODJBZ0FMQ3lBQ1FSQnFKQUFnQUNnQ0JDRUFJQUZCSUdva0FDQUFRUUZyQ3hzQUlBQkJBRFlDQkNBQVFkajhBRFlDQUNBQVFaaldBRFlDQUF1WUJnRUpmeU1BUVJCcklnZ2tBQ0FBRU00Qkl3QkJFR3NpQWlRQUlBSWdBRFlDRENBSVFRaHFJZ1VnQWtFTWFoQXpJQUpCRUdva0FFR3dsUUVRVUNBQlRRUkFBa0JCc0pVQkVGQWlBaUFCUVFGcUlnQkpCRUFqQUVFZ2F5SUpKQUFDUUNBQUlBSnJJZ1pCc0pVQkVFTW9BZ0JCdEpVQktBSUFhMEVDZFUwRVFDQUdFSmNDREFFTFFiQ1ZBUkIwSVFjZ0NVRUlhaUVDQW45QnNKVUJFRkFnQm1vaEJDTUFRUkJySWdBa0FDQUFJQVEyQWd3Z0JCQ0JBaUlEVFFSQVFiQ1ZBUkJ6SWdRZ0EwRUJka2tFUUNBQUlBUkJBWFEyQWdnZ0FFRUlhaUFBUVF4cUVIWW9BZ0FoQXdzZ0FFRVFhaVFBSUFNTUFRc1FGd0FMSVFCQnNKVUJFRkFoQ2tFQUlRTWpBRUVRYXlJRUpBQWdCRUVBTmdJTUlBSkJER29nQkVFTWFpQUhFSVFDSUFBRVFDQUNLQUlRSUFBUWdBSWhBd3NnQWlBRE5nSUFJQUlnQXlBS1FRSjBhaUlITmdJSUlBSWdCellDQkNBQ0VJTUJJQU1nQUVFQ2RHbzJBZ0FnQkVFUWFpUUFJd0JCRUdzaUFDUUFJQUFnQWlnQ0NEWUNBQ0FDS0FJSUlRTWdBQ0FDUVFocU5nSUlJQUFnQXlBR1FRSjBhallDQkNBQUtBSUFJUU1EUUNBQUtBSUVJQU5IQkVBZ0FpZ0NFQ0FBS0FJQUVQNEJJQUFnQUNnQ0FFRUVhaUlETmdJQURBRUxDeUFBS0FJSUlBQW9BZ0EyQWdBZ0FFRVFhaVFBUWJDVkFSQ1JBa0d3bFFFUWRFR3dsUUVvQWdCQnRKVUJLQUlBSUFKQkJHb2lBQkNEQWtHd2xRRWdBQkIxUWJTVkFTQUNRUWhxRUhWQnNKVUJFRU1nQWhDREFSQjFJQUlnQWlnQ0JEWUNBRUd3bFFFUVVCRC9BU0FDS0FJRUlRQURRQ0FBSUFJb0FnaEhCRUFnQWlnQ0VCb2dBaUFDS0FJSVFRUnJOZ0lJREFFTEN5QUNLQUlBQkVBZ0FpZ0NFQ0FDS0FJQUlBSVFnd0VvQWdBZ0FpZ0NBR3RCQW5VUS9BRUxDeUFKUVNCcUpBQU1BUXNnQUNBQ1NRUkFRYkNWQVNnQ0FDQUFRUUowYWlFQVFiQ1ZBUkJRSVFKQnNKVUJJQUFRK3dGQnNKVUJJQUlRbEFJTEN3dEJzSlVCSUFFUWR5Z0NBQVJBUWJDVkFTQUJFSGNvQWdBUW93RUxJQVVRcGdFaEFFR3dsUUVnQVJCM0lBQTJBZ0FnQlNnQ0FDRUFJQVZCQURZQ0FDQUFCRUFnQUJDakFRc2dDRUVRYWlRQUN3Z0FJQUJCQUJBbkN5OEJBWDhqQUVFUWF5SURKQUFnQXlBQk5nSU1JQUFnQTBFTWFoQXpJQUJCQkdvZ0FoQXpJQU5CRUdva0FDQUFDeEFBSUFBb0FnQVFnQU5CR0hSQkdIVUxCZ0FnQUJBUUN3b0FJQUFvQWdBUSt3SUxEUUFnQUNnQ0FCRC9BaG9nQUF0TEFRSi9Jd0JCRUdzaUFTUUFJQUVnQUJEeUFTRUFJd0JCRUdzaUFpUUFJQUpCQ0dvZ0FDZ0NCQkI2S0FJQVFRRTZBQUFnQUNnQ0NFRUJPZ0FBSUFKQkVHb2tBQ0FCUVJCcUpBQUxkd0VEZnlNQVFSQnJJZ0lrQUNBQ0lBQVE4Z0VoQUNNQVFSQnJJZ01rQUNBRFFRaHFJQUFvQWdRUWVpZ0NBQzBBQUVVRVFBSi9Ba0FnQUNnQ0NDSUFMUUFBSWdGQkFVY0VmeUFCUVFKeERRRWdBRUVDT2dBQVFRRUZRUUFMREFFTEVCY0FDeUVCQ3lBRFFSQnFKQUFnQWtFUWFpUUFJQUVMRFFBZ0FDZ0NBQkQ2QWhvZ0FBc0pBQ0FBSUFFUWdRTUxKQUVCZnlBQUtBSUFJUUlnQUNBQk5nSUFJQUlFUUNBQ0lBQVFsZ0VvQWdBUkFRQUxDd2tBSUFBZ0FSRDhBZ3NSQUNBQUlBRWdBQ2dDQUNnQ0hCRUNBQXUvQVFFRGZ5QUFMUUFBUVNCeFJRUkFBa0FnQVNFREFrQWdBaUFBSWdFb0FoQWlBQVIvSUFBRklBRVE2QUVOQVNBQktBSVFDeUFCS0FJVUlnVnJTd1JBSUFFZ0F5QUNJQUVvQWlRUkJBQWFEQUlMQWtBZ0FTZ0NVRUVBU0EwQUlBSWhBQU5BSUFBaUJFVU5BU0FESUFSQkFXc2lBR290QUFCQkNrY05BQXNnQVNBRElBUWdBU2dDSkJFRUFDQUVTUTBCSUFNZ0JHb2hBeUFDSUFScklRSWdBU2dDRkNFRkN5QUZJQU1nQWhCQ0dpQUJJQUVvQWhRZ0FtbzJBaFFMQ3dzTGRRRUJmaUFBSUFFZ0JINGdBaUFEZm53Z0EwSWdpQ0lDSUFGQ0lJZ2lCSDU4SUFOQy8vLy8vdytESWdNZ0FVTC8vLy8vRDRNaUFYNGlCVUlnaUNBRElBUitmQ0lEUWlDSWZDQUJJQUorSUFOQy8vLy8vdytEZkNJQlFpQ0lmRGNEQ0NBQUlBVkMvLy8vL3crRElBRkNJSWFFTndNQUMwTUJBWDhqQUVFUWF5SUZKQUFnQlNBQ05nSU1JQVVnQkRZQ0NDQUZJQVZCREdvUVVpRUNJQUFnQVNBRElBVW9BZ2dRdFFFaEFDQUNFRkVnQlVFUWFpUUFJQUFMb1FFQkFuOENRQ0FBRUFsRklBSWdBV3RCQlVoeURRQWdBU0FDRUswQklBSkJCR3NoQkNBQUVBMGlBaUFBRUFscUlRVUNRQU5BQWtBZ0Fpd0FBQ0VBSUFFZ0JFOE5BQ0FBUVFCTUlBQkIvd0JPY2tVRVFDQUJLQUlBSUFJc0FBQkhEUU1MSUFGQkJHb2hBU0FDSUFVZ0FtdEJBVXBxSVFJTUFRc0xJQUJCQUV3Z0FFSC9BRTV5RFFFZ0Fpd0FBQ0FFS0FJQVFRRnJTdzBCQ3lBRFFRUTJBZ0FMQzIwQkFYOGpBRUdBQW1zaUJTUUFJQVJCZ01BRWNTQUNJQU5NY2tVRVFDQUZJQUZCL3dGeElBSWdBMnNpQWtHQUFpQUNRWUFDU1NJQkd4QkdHaUFCUlFSQUEwQWdBQ0FGUVlBQ0VDb2dBa0dBQW1zaUFrSC9BVXNOQUFzTElBQWdCU0FDRUNvTElBVkJnQUpxSkFBTFVBRUJmZ0pBSUFOQndBQnhCRUFnQVNBRFFVQnFyWVloQWtJQUlRRU1BUXNnQTBVTkFDQUNJQU90SWdTR0lBRkJ3QUFnQTJ1dGlJUWhBaUFCSUFTR0lRRUxJQUFnQVRjREFDQUFJQUkzQXdnTFZRRUNmeU1BUVJCcklnSWtBQ0FBRURVRVFDQUFLQUlBSVFNZ0FCQjlHaUFERUJBTElBQWdBU2dDQ0RZQ0NDQUFJQUVwQWdBM0FnQWdBVUVBRURvZ0FrRUFPZ0FQSUFFZ0FrRVBhaEEwSUFKQkVHb2tBQXNNQUNBQUlBRVFnUU5CQVhNTENnQWdBRUdFaVFFUVpBc01BQ0FBSUFFb0FnQTJBZ0FMREFBZ0FDQUJMUUFBT2dBQUN3b0FJQUF0QUF0QkIzWUxEQUFnQUNBQkVQd0NRUUZ6Q3hFQUlBQWdBU0FCS0FJQUtBSVVFUU1BQ3c4QUlBQWdBQ2dDQUNnQ0VCRUFBQXNKQUNBQUlBRTJBZ1FMQ1FBZ0FDQUJPZ0FMQ3dvQUlBQkIvSWdCRUdRTDBRa0NCSDhFZmlNQVFmQUFheUlGSkFBZ0JFTC8vLy8vLy8vLy8vOEFneUVLQWtBQ1FDQUJRZ0Y5SWd0Q2YxRWdBa0wvLy8vLy8vLy8vLzhBZ3lJSklBRWdDMWF0ZkVJQmZTSUxRdi8vLy8vLy83Ly8vd0JXSUF0Qy8vLy8vLy8vdi8vL0FGRWJSUVJBSUFOQ0FYMGlDMEovVWlBS0lBTWdDMWF0ZkVJQmZTSUxRdi8vLy8vLy83Ly8vd0JVSUF0Qy8vLy8vLy8vdi8vL0FGRWJEUUVMSUFGUUlBbENnSUNBZ0lDQXdQLy9BRlFnQ1VLQWdJQ0FnSURBLy84QVVSdEZCRUFnQWtLQWdJQ0FnSUFnaENFRUlBRWhBd3dDQ3lBRFVDQUtRb0NBZ0lDQWdNRC8vd0JVSUFwQ2dJQ0FnSUNBd1AvL0FGRWJSUVJBSUFSQ2dJQ0FnSUNBSUlRaEJBd0NDeUFCSUFsQ2dJQ0FnSUNBd1AvL0FJV0VVQVJBUW9DQWdJQ0FnT0QvL3dBZ0FpQUJJQU9GSUFJZ0JJVkNnSUNBZ0lDQWdJQ0FmNFdFVUNJR0d5RUVRZ0FnQVNBR0d5RUREQUlMSUFNZ0NrS0FnSUNBZ0lEQS8vOEFoWVJRRFFFZ0FTQUpoRkFFUUNBRElBcUVRZ0JTRFFJZ0FTQURneUVESUFJZ0JJTWhCQXdDQ3lBRElBcUVVRVVOQUNBQklRTWdBaUVFREFFTElBTWdBU0FCSUFOVUlBa2dDbFFnQ1NBS1VSc2lCeHNoQ2lBRUlBSWdCeHNpQzBMLy8vLy8vLzgvZ3lFSklBSWdCQ0FIR3lJQ1FqQ0lwMEgvL3dGeElRZ2dDMEl3aUtkQi8vOEJjU0lHUlFSQUlBVkI0QUJxSUFvZ0NTQUtJQWtnQ1ZBaUJodDVJQVpCQm5TdGZLY2lCa0VQYXhBdklBVXBBMmdoQ1NBRktRTmdJUXBCRUNBR2F5RUdDeUFCSUFNZ0J4c2hBeUFDUXYvLy8vLy8veitESVFRZ0NFVUVRQ0FGUWRBQWFpQURJQVFnQXlBRUlBUlFJZ2NiZVNBSFFRWjByWHluSWdkQkQyc1FMMEVRSUFkcklRZ2dCU2tEV0NFRUlBVXBBMUFoQXdzZ0JFSURoaUFEUWoySWhFS0FnSUNBZ0lDQUJJUWhCQ0FKUWdPR0lBcENQWWlFSVFrZ0FpQUxoU0VNQW40Z0EwSURoaUlCSUFZZ0NHc2lCMFVOQUJvZ0IwSC9BRXNFUUVJQUlRUkNBUXdCQ3lBRlFVQnJJQUVnQkVHQUFTQUhheEF2SUFWQk1Hb2dBU0FFSUFjUWZDQUZLUU00SVFRZ0JTa0RNQ0FGS1FOQUlBVXBBMGlFUWdCU3JZUUxJUUlnQ1VLQWdJQ0FnSUNBQklRaENTQUtRZ09HSVFNQ1FDQU1RZ0JUQkVBZ0F5QUNmU0lCSUFrZ0JIMGdBaUFEVnExOUlnU0VVQVJBUWdBaEEwSUFJUVFNQXdzZ0JFTC8vLy8vLy8vL0ExWU5BU0FGUVNCcUlBRWdCQ0FCSUFRZ0JGQWlCeHQ1SUFkQkJuU3RmS2RCREdzaUJ4QXZJQVlnQjJzaEJpQUZLUU1vSVFRZ0JTa0RJQ0VCREFFTElBSWdBM3dpQVNBQ1ZLMGdCQ0FKZkh3aUJFS0FnSUNBZ0lDQUNJTlFEUUFnQVVJQmd5QUVRaitHSUFGQ0FZaUVoQ0VCSUFaQkFXb2hCaUFFUWdHSUlRUUxJQXRDZ0lDQWdJQ0FnSUNBZjRNaEFpQUdRZi8vQVU0RVFDQUNRb0NBZ0lDQWdNRC8vd0NFSVFSQ0FDRUREQUVMUVFBaEJ3SkFJQVpCQUVvRVFDQUdJUWNNQVFzZ0JVRVFhaUFCSUFRZ0JrSC9BR29RTHlBRklBRWdCRUVCSUFackVId2dCU2tEQUNBRktRTVFJQVVwQXhpRVFnQlNyWVFoQVNBRktRTUlJUVFMSUFHblFRZHhJZ1pCQkV1dElBUkNQWVlnQVVJRGlJUWlBWHdpQXlBQlZLMGdCRUlEaUVMLy8vLy8vLzgvZ3lBSHJVSXdob1FnQW9SOElRUUNRQ0FHUVFSR0JFQWdCQ0FEUWdHRElnRWdBM3dpQXlBQlZLMThJUVFNQVFzZ0JrVU5BUXNMSUFBZ0F6Y0RBQ0FBSUFRM0F3Z2dCVUh3QUdva0FBc1JBQ0FBSUFFZ0FDZ0NBQ2dDTEJFQ0FBc3RBQ0FDUlFSQUlBQW9BZ1FnQVNnQ0JFWVBDeUFBSUFGR0JFQkJBUThMSUFBb0FnUWdBU2dDQkJDMkFVVUxZd0FnQWlnQ0JFR3dBWEVpQWtFZ1JnUkFJQUVQQ3dKQUlBSkJFRWNOQUFKQUFrQWdBQzBBQUNJQ1FTdHJEZ01BQVFBQkN5QUFRUUZxRHdzZ0FrRXdSeUFCSUFCclFRSkljZzBBSUFBdEFBRkJJSEpCK0FCSERRQWdBRUVDYWlFQUN5QUFDeVlCQVg4akFFRVFheUlCSkFBZ0FVRUlhaUFBRUEwUWVpZ0NBQ0VBSUFGQkVHb2tBQ0FBQzM0Q0FuOEJmaU1BUVJCcklnTWtBQ0FBQW40Z0FVVUVRRUlBREFFTElBTWdBU0FCUVI5MUlnSnFJQUp6SWdLdFFnQWdBbWNpQWtIUkFHb1FMeUFES1FNSVFvQ0FnSUNBZ01BQWhVR2VnQUVnQW11dFFqQ0dmQ0FCUVlDQWdJQjRjYTFDSUlhRUlRUWdBeWtEQUFzM0F3QWdBQ0FFTndNSUlBTkJFR29rQUF1REJBRURmeUFDUVlBRVR3UkFJQUFnQVNBQ0VBVWFJQUFQQ3lBQUlBSnFJUU1DUUNBQUlBRnpRUU54UlFSQUFrQWdBRUVEY1VVRVFDQUFJUUlNQVFzZ0FrRUFUQVJBSUFBaEFnd0JDeUFBSVFJRFFDQUNJQUV0QUFBNkFBQWdBVUVCYWlFQklBSkJBV29pQWtFRGNVVU5BU0FDSUFOSkRRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBQWdBMEVFYXlJRVN3UkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUxCd0FnQUVFSWFnc25BUUYvSUFKQkFFNEVmeUFBS0FJSUlBSkIvd0Z4UVFGMGFpOEJBQ0FCY1VFQVJ3VWdBd3NMQ2dBZ0FFRXdhMEVLU1F2eUFnSUNmd0YrQWtBZ0FrVU5BQ0FBSUFFNkFBQWdBQ0FDYWlJRFFRRnJJQUU2QUFBZ0FrRURTUTBBSUFBZ0FUb0FBaUFBSUFFNkFBRWdBMEVEYXlBQk9nQUFJQU5CQW1zZ0FUb0FBQ0FDUVFkSkRRQWdBQ0FCT2dBRElBTkJCR3NnQVRvQUFDQUNRUWxKRFFBZ0FFRUFJQUJyUVFOeElnUnFJZ01nQVVIL0FYRkJnWUtFQ0d3aUFUWUNBQ0FESUFJZ0JHdEJmSEVpQkdvaUFrRUVheUFCTmdJQUlBUkJDVWtOQUNBRElBRTJBZ2dnQXlBQk5nSUVJQUpCQ0dzZ0FUWUNBQ0FDUVF4cklBRTJBZ0FnQkVFWlNRMEFJQU1nQVRZQ0dDQURJQUUyQWhRZ0F5QUJOZ0lRSUFNZ0FUWUNEQ0FDUVJCcklBRTJBZ0FnQWtFVWF5QUJOZ0lBSUFKQkdHc2dBVFlDQUNBQ1FSeHJJQUUyQWdBZ0JDQURRUVJ4UVJoeUlnUnJJZ0pCSUVrTkFDQUJyVUtCZ0lDQUVINGhCU0FESUFScUlRRURRQ0FCSUFVM0F4Z2dBU0FGTndNUUlBRWdCVGNEQ0NBQklBVTNBd0FnQVVFZ2FpRUJJQUpCSUdzaUFrRWZTdzBBQ3dzZ0FBczNBUUovSXdCQkVHc2lBaVFBQTBBZ0FVRURSd1JBSUFBZ0FVRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUpCRUdva0FDQUFDdzhBSUFBZ0FDZ0NBQ2dDREJFQUFBc0hBQ0FBRUFsRkN4RUFJQUFnQVNBQktBSUFLQUljRVFNQUN4RUFJQUFnQVNBQktBSUFLQUlZRVFNQUN4QUFJQUFnQVVHQWdJQ0FlSEkyQWdnTENRQWdBQ0FCTmdJQUN4TUFJQUFnQVNBQ0lBQW9BZ0FvQWd3UkJBQUxCQUJCQUFzUUFDQUFLQUlFSUFBb0FnQnJRUUoxQ3hJQUlBQW9BZ0FpQUFSQUlBQVEwUUlhQ3dzUkFDQUFJQUVvQWdBUTBRSTJBZ0FnQUF0QkFRRi9JQUFnQVRjRGNDQUFJQUFvQWl3Z0FDZ0NCQ0lDYTZ3M0EzZ2dBQ0FCVUNBQUtBSUlJZ0FnQW11c0lBRlhjZ1IvSUFBRklBSWdBYWRxQ3pZQ2FBc2lBUUYvSXdCQkVHc2lBaVFBSUFBZ0FTQUJFSklCRVBZQklBSkJFR29rQUNBQUN4QUFJQUlFUUNBQUlBRWdBaEJDR2dzTG5RRUJCSDhqQUVFUWF5SUhKQUFDUUNBQVJRMEFJQVFvQWd3aEJpQUNJQUZySWdoQkFFb0VRQ0FBSUFFZ0NCQi9JQWhIRFFFTElBWWdBeUFCYXlJQmEwRUFJQUVnQmtnYklnRkJBRW9FUUNBQUlBY2dBU0FGRU84QklnVVFEU0FCRUg4aEJpQUZFQW9hSUFFZ0JrY05BUXNnQXlBQ2F5SUJRUUJLQkVBZ0FDQUNJQUVRZnlBQlJ3MEJDeUFFRU80QklBQWhDUXNnQjBFUWFpUUFJQWtMVlFFQ2Z5TUFRUkJySWdJa0FDQUFFRFVFUUNBQUtBSUFJUU1nQUJCOUdpQURFQkFMSUFBZ0FTZ0NDRFlDQ0NBQUlBRXBBZ0EzQWdBZ0FVRUFFRG9nQWtFQU5nSU1JQUVnQWtFTWFoQXpJQUpCRUdva0FBdThBUUVEZnlNQVFSQnJJZ1VrQUNBRklBRTJBZ2hCQUNFQlFRWWhCZ0pBQWtBZ0FDQUZRUWhxRUNnTkFFRUVJUVlnQTBHQUVDQUFFQ0VpQnhCT1JRMEFJQU1nQnhDSEFTRUJBMEFDUUNBQUVDVWFJQUZCTUdzaEFTQUFJQVZCQ0dvUU5rVWdCRUVDU0hJTkFDQURRWUFRSUFBUUlTSUdFRTVGRFFNZ0JFRUJheUVFSUFNZ0JoQ0hBU0FCUVFwc2FpRUJEQUVMQzBFQ0lRWWdBQ0FGUVFocUVDaEZEUUVMSUFJZ0FpZ0NBQ0FHY2pZQ0FBc2dCVUVRYWlRQUlBRUx2QUVCQTM4akFFRVFheUlGSkFBZ0JTQUJOZ0lJUVFBaEFVRUdJUVlDUUFKQUlBQWdCVUVJYWhBbURRQkJCQ0VHSUFOQmdCQWdBQkFmSWdjUVJFVU5BQ0FESUFjUWlBRWhBUU5BQWtBZ0FCQWlHaUFCUVRCcklRRWdBQ0FGUVFocUVERkZJQVJCQWtoeURRQWdBMEdBRUNBQUVCOGlCaEJFUlEwRElBUkJBV3NoQkNBRElBWVFpQUVnQVVFS2JHb2hBUXdCQ3d0QkFpRUdJQUFnQlVFSWFoQW1SUTBCQ3lBQ0lBSW9BZ0FnQm5JMkFnQUxJQVZCRUdva0FDQUJDNW9CQVFOL0l3QkJFR3NpQkNRQUlBUWdBVFlDRENBRUlBTTJBZ2dnQkNBRVFReHFFRkloQmlBRUtBSUlJUU1qQUVFUWF5SUJKQUFnQVNBRE5nSU1JQUVnQXpZQ0NFRi9JUVVDUUVFQVFRQWdBaUFERUxVQklnTkJBRWdOQUNBQUlBTkJBV29pQXhBWklnQTJBZ0FnQUVVTkFDQUFJQU1nQWlBQktBSU1FTFVCSVFVTElBRkJFR29rQUNBRklRQWdCaEJSSUFSQkVHb2tBQ0FBQ3cwQUlBQW9BZ0FnQVNnQ0FFY0xMZ0FDUUNBQUtBSUVRY29BY1NJQUJFQWdBRUhBQUVZRVFFRUlEd3NnQUVFSVJ3MEJRUkFQQzBFQUR3dEJDZ3Y1QVFJRGZnSi9Jd0JCRUdzaUJTUUFBbjRnQWIwaUEwTC8vLy8vLy8vLy8vOEFneUlDUW9DQWdJQ0FnSUFJZlVMLy8vLy8vLy8vNy84QVdBUkFJQUpDUElZaEJDQUNRZ1NJUW9DQWdJQ0FnSUNBUEh3TUFRc2dBa0tBZ0lDQWdJQ0ErUDhBV2dSQUlBTkNQSVloQkNBRFFnU0lRb0NBZ0lDQWdNRC8vd0NFREFFTElBSlFCRUJDQUF3QkN5QUZJQUpDQUNBRHAyZEJJR29nQWtJZ2lLZG5JQUpDZ0lDQWdCQlVHeUlHUVRGcUVDOGdCU2tEQUNFRUlBVXBBd2hDZ0lDQWdJQ0F3QUNGUVl6NEFDQUdhNjFDTUlhRUN5RUNJQUFnQkRjREFDQUFJQUlnQTBLQWdJQ0FnSUNBZ0lCL2c0UTNBd2dnQlVFUWFpUUFDd2NBSUFBZ0FVWUxNd0VCZnlBQVFRRWdBQnNoQUFKQUEwQWdBQkFaSWdFTkFVR1lsd0VvQWdBaUFRUkFJQUVSRHdBTUFRc0xFQUFBQ3lBQkM4UURBUU4vSXdCQklHc2lDQ1FBSUFnZ0FqWUNFQ0FJSUFFMkFoZ2dDRUVJYWlJQklBTVFEeUFCRURzaENTQUJFQTRnQkVFQU5nSUFRUUFoQWdKQUEwQWdCaUFIUmlBQ2NnMEJBa0FnQ0VFWWFpQUlRUkJxRUNnTkFBSkFJQWtnQmlnQ0FCQ0hBVUVsUmdSQUlBWkJCR29pQWlBSFJnMENRUUFoQ2dKL0lBa2dBaWdDQUJDSEFTSUJRY1VBUmlBQlFmOEJjVUV3Um5KRkJFQWdCaUVDSUFFTUFRc2dCa0VJYWlBSFJnMERJQUVoQ2lBSklBWW9BZ2dRaHdFTElRRWdDQ0FBSUFnb0FoZ2dDQ2dDRUNBRElBUWdCU0FCSUFvZ0FDZ0NBQ2dDSkJFTUFEWUNHQ0FDUVFocUlRWU1BUXNnQ1VHQXdBQWdCaWdDQUJCT0JFQURRQUpBSUFjZ0JrRUVhaUlHUmdSQUlBY2hCZ3dCQ3lBSlFZREFBQ0FHS0FJQUVFNE5BUXNMQTBBZ0NFRVlhaUFJUVJCcUVEWkZEUUlnQ1VHQXdBQWdDRUVZYWhBaEVFNUZEUUlnQ0VFWWFoQWxHZ3dBQ3dBTElBa2dDRUVZYWhBaEVDa2dDU0FHS0FJQUVDbEdCRUFnQmtFRWFpRUdJQWhCR0dvUUpSb01BUXNnQkVFRU5nSUFDeUFFS0FJQUlRSU1BUXNMSUFSQkJEWUNBQXNnQ0VFWWFpQUlRUkJxRUNnRVFDQUVJQVFvQWdCQkFuSTJBZ0FMSUFnb0FoZ2hBQ0FJUVNCcUpBQWdBQXZHQXdFRGZ5TUFRU0JySWdna0FDQUlJQUkyQWhBZ0NDQUJOZ0lZSUFoQkNHb2lBU0FERUE4Z0FSQXlJUWtnQVJBT0lBUkJBRFlDQUVFQUlRSUNRQU5BSUFZZ0IwWWdBbklOQVFKQUlBaEJHR29nQ0VFUWFoQW1EUUFDUUNBSklBWXNBQUFRaUFGQkpVWUVRQ0FHUVFGcUlnSWdCMFlOQWtFQUlRb0NmeUFKSUFJc0FBQVFpQUVpQVVIRkFFWWdBVUgvQVhGQk1FWnlSUVJBSUFZaEFpQUJEQUVMSUFaQkFtb2dCMFlOQXlBQklRb2dDU0FHTEFBQ0VJZ0JDeUVCSUFnZ0FDQUlLQUlZSUFnb0FoQWdBeUFFSUFVZ0FTQUtJQUFvQWdBb0FpUVJEQUEyQWhnZ0FrRUNhaUVHREFFTElBbEJnTUFBSUFZc0FBQVFSQVJBQTBBQ1FDQUhJQVpCQVdvaUJrWUVRQ0FISVFZTUFRc2dDVUdBd0FBZ0Jpd0FBQkJFRFFFTEN3TkFJQWhCR0dvZ0NFRVFhaEF4UlEwQ0lBbEJnTUFBSUFoQkdHb1FIeEJFUlEwQ0lBaEJHR29RSWhvTUFBc0FDeUFKSUFoQkdHb1FIeEN6QVNBSklBWXNBQUFRc3dGR0JFQWdCa0VCYWlFR0lBaEJHR29RSWhvTUFRc2dCRUVFTmdJQUN5QUVLQUlBSVFJTUFRc0xJQVJCQkRZQ0FBc2dDRUVZYWlBSVFSQnFFQ1lFUUNBRUlBUW9BZ0JCQW5JMkFnQUxJQWdvQWhnaEFDQUlRU0JxSkFBZ0FBdXFBUUVFZnlNQVFSQnJJZ2drQUFKQUlBQkZEUUFnQkNnQ0RDRUdJQUlnQVdzaUIwRUFTZ1JBSUFBZ0FTQUhRUUoxSWdjUWZ5QUhSdzBCQ3lBR0lBTWdBV3RCQW5VaUFXdEJBQ0FCSUFaSUd5SUJRUUJLQkVBZ0FDQUlJQUVnQlJDN0FpSUZFQTBnQVJCL0lRWWdCUkFLR2lBQklBWkhEUUVMSUFNZ0Ftc2lBVUVBU2dSQUlBQWdBaUFCUVFKMUlnRVFmeUFCUncwQkN5QUVFTzRCSUFBaENRc2dDRUVRYWlRQUlBa0xGZ0FnQUNBQklBSWdBeUFBS0FJQUtBSXdFUXNBR2d0Q0FRRi9JQUFvQWdBaEFpQUJFQm9oQUNBQ1FRaHFJZ0VRVUNBQVN3Ui9JQUVnQUJCM0tBSUFRUUJIQlVFQUMwVUVRQkFYQUFzZ0FrRUlhaUFBRUhjb0FnQUxDQUFnQUVIL0FYRUxCQUFnQUFzUEFDQUFJQUFvQWdBb0FpUVJBQUFMRVFBZ0FDQUJJQUVvQWdBb0FpQVJBd0FMRVFBZ0FDQUJJQUVvQWdBb0Fpd1JBd0FMREFBZ0FFR0Nob0FnTmdBQUN3Y0FJQUFRRVJvTExnRUJmeU1BUVJCcklnRWtBQ0FCUVFocUlBQVFEU0FBRUFsQkFuUnFFSG9vQWdBaEFDQUJRUkJxSkFBZ0FBdXFBUUVCZndKQUlBTkJnQkJ4UlEwQUlBSkZJQU5CeWdCeElnUkJDRVlnQkVIQUFFWnljZzBBSUFCQkt6b0FBQ0FBUVFGcUlRQUxJQU5CZ0FSeEJFQWdBRUVqT2dBQUlBQkJBV29oQUFzRFFDQUJMUUFBSWdRRVFDQUFJQVE2QUFBZ0FFRUJhaUVBSUFGQkFXb2hBUXdCQ3dzZ0FBSi9RZThBSUFOQnlnQnhJZ0ZCd0FCR0RRQWFRZGdBUWZnQUlBTkJnSUFCY1JzZ0FVRUlSZzBBR2tIa0FFSDFBQ0FDR3dzNkFBQUxLd0VCZnlNQVFSQnJJZ0VrQUNBQlFRaHFJQUFRRFNBQUVBbHFFSG9vQWdBaEFDQUJRUkJxSkFBZ0FBc1dBQ0FBSUFFZ0FpQURJQUFvQWdBb0FpQVJDd0FhQ3hBQUlBQkJJRVlnQUVFSmEwRUZTWElMTmdBZ0FnUi9JQUlFUUFOQUlBQWdBU2dDQURZQ0FDQUFRUVJxSVFBZ0FVRUVhaUVCSUFKQkFXc2lBZzBBQ3d0QkFBVWdBQXNhQzFJQkFuOUI4SUFCS0FJQUlnRWdBRUVEYWtGOGNTSUNhaUVBQWtBZ0FrRUFJQUFnQVUwYkRRQWdBRDhBUVJCMFN3UkFJQUFRQkVVTkFRdEI4SUFCSUFBMkFnQWdBUThMUWRTQkFVRXdOZ0lBUVg4TEVnQWdBQkJES0FJQUlBQW9BZ0JyUVFKMUN3Y0FJQUJCRUdvTE5RRUJmeU1BUVJCcklnSWtBQ0FDSUFBb0FnQTJBZ3dnQUNBQktBSUFOZ0lBSUFFZ0FrRU1haWdDQURZQ0FDQUNRUkJxSkFBTEpBRUNmeU1BUVJCcklnSWtBQ0FBSUFFUThRRWhBeUFDUVJCcUpBQWdBU0FBSUFNYkN3MEFJQUFvQWdBZ0FVRUNkR29MRmdBZ0FCQTFCRUFnQUNBQkVEa1BDeUFBSUFFUU9nc3NBQUpBSUFBZ0FVWU5BQU5BSUFBZ0FVRUJheUlCVHcwQklBQWdBUkN3QWlBQVFRRnFJUUFNQUFzQUN3c0xBQ0FBSUFFMkFnQWdBQXZiQVFJQmZ3SitRUUVoQkFKQUlBQkNBRklnQVVMLy8vLy8vLy8vLy84QWd5SUZRb0NBZ0lDQWdNRC8vd0JXSUFWQ2dJQ0FnSUNBd1AvL0FGRWJEUUFnQWtJQVVpQURRdi8vLy8vLy8vLy8vd0NESWdaQ2dJQ0FnSUNBd1AvL0FGWWdCa0tBZ0lDQWdJREEvLzhBVVJzTkFDQUFJQUtFSUFVZ0JvU0VVQVJBUVFBUEN5QUJJQU9EUWdCWkJFQkJmeUVFSUFBZ0FsUWdBU0FEVXlBQklBTlJHdzBCSUFBZ0FvVWdBU0FEaFlSQ0FGSVBDMEYvSVFRZ0FDQUNWaUFCSUFOVklBRWdBMUViRFFBZ0FDQUNoU0FCSUFPRmhFSUFVaUVFQ3lBRUMxQUJBWDRDUUNBRFFjQUFjUVJBSUFJZ0EwRkFhcTJJSVFGQ0FDRUNEQUVMSUFORkRRQWdBa0hBQUNBRGE2MkdJQUVnQTYwaUJJaUVJUUVnQWlBRWlDRUNDeUFBSUFFM0F3QWdBQ0FDTndNSUN3NEFJQUFvQWdoQi8vLy8vd2R4Q3dvQUlBQVE0UUVhSUFBTEV3QWdBQ0FCSUFJZ0FDZ0NBQ2dDTUJFRUFBc21BQ0FBSUFBb0FoaEZJQUFvQWhBZ0FYSnlJZ0UyQWhBZ0FDZ0NGQ0FCY1FSQUVCY0FDd3NKQUNBQUlBRVEvUUVMSkFBZ0FFRUNUd1IvSUFCQkJHcEJmSEVpQUNBQVFRRnJJZ0FnQUVFQ1Joc0ZRUUVMQ3djQUlBQkJER29MbFFFQkJYOGpBRUVRYXlJRkpBQWdBUkRUQWlFQ0l3QkJFR3NpQXlRQUFrQWdBa0h2Ly8vL0EwMEVRQUpBSUFKQkFVMEVRQ0FBSUFJUU9pQUFJUVFNQVFzZ0FDQUFJQUlRZ2dGQkFXb2lCaENCQVNJRUVFMGdBQ0FHRUV3Z0FDQUNFRGtMSUFRZ0FTQUNFSEVnQTBFQU5nSU1JQVFnQWtFQ2RHb2dBMEVNYWhBeklBTkJFR29rQUF3QkN4QVhBQXNnQlVFUWFpUUFDdzhBSUFBUVF5Z0NBQ0FBS0FJQWF3dkVBUUVHZnlNQVFSQnJJZ1FrQUNBQUVKWUJLQUlBSVFVQ2Z5QUNLQUlBSUFBb0FnQnJJZ05CLy8vLy93ZEpCRUFnQTBFQmRBd0JDMEYvQ3lJRFFRUWdBeHNoQXlBQktBSUFJUVlnQUNnQ0FDRUhJQVZCTmtZRWYwRUFCU0FBS0FJQUN5QURFSjRCSWdnRVFDQUZRVFpIQkVBZ0FCQ21BUm9MSUFSQk5UWUNCQ0FBSUFSQkNHb2dDQ0FFUVFScUVCNGlCUkNsQWlBRkVCMGdBU0FBS0FJQUlBWWdCMnRxTmdJQUlBSWdBQ2dDQUNBRFFYeHhhallDQUNBRVFSQnFKQUFQQ3hBWEFBc1RBQ0FBSUFGQkFDQUFLQUlBS0FJMEVRUUFDeE1BSUFBZ0FVRUFJQUFvQWdBb0FpUVJCQUFMRFFBZ0FDZ0NCQ0FBS0FJQWF3dERBUUYvSUFCQnJDWW9BZ0FpQVRZQ0FDQUFJQUZCREdzb0FnQnFRY3dtS0FJQU5nSUFJQUJCMENZb0FnQTJBZ2dnQUVFTWFoRFFBUm9nQUVGQWF4QitHaUFBQy9JQ0FRSi9Jd0JCRUdzaUNpUUFJQW9nQURZQ0RBSkFBa0FDUUNBREtBSUFJQUpIRFFCQkt5RUxJQUFnQ1NnQ1lFY0VRRUV0SVFzZ0NTZ0NaQ0FBUncwQkN5QURJQUpCQVdvMkFnQWdBaUFMT2dBQURBRUxJQVlRQ1VVZ0FDQUZSM0pGQkVCQkFDRUFJQWdvQWdBaUFTQUhhMEdmQVVvTkFpQUVLQUlBSVFBZ0NDQUJRUVJxTmdJQUlBRWdBRFlDQUF3QkMwRi9JUUFnQ1NBSlFlZ0FhaUFLUVF4cUVOSUJJQWxySWdaQjNBQktEUUVnQmtFQ2RTRUZBa0FDUUFKQUlBRkJDR3NPQXdBQ0FBRUxJQUVnQlVvTkFRd0RDeUFCUVJCSElBWkIyQUJJY2cwQUlBTW9BZ0FpQVNBQ1JpQUJJQUpyUVFKS2NnMENJQUZCQVdzdEFBQkJNRWNOQWtFQUlRQWdCRUVBTmdJQUlBTWdBVUVCYWpZQ0FDQUJJQVZCNE5BQWFpMEFBRG9BQUF3Q0N5QURJQU1vQWdBaUFFRUJhallDQUNBQUlBVkI0TkFBYWkwQUFEb0FBQ0FFSUFRb0FnQkJBV28yQWdCQkFDRUFEQUVMUVFBaEFDQUVRUUEyQWdBTElBcEJFR29rQUNBQUN3b0FJQUJCdElrQkVHUUw3Z0lCQTM4akFFRVFheUlLSkFBZ0NpQUFPZ0FQQWtBQ1FBSkFJQU1vQWdBZ0FrY05BRUVySVFzZ0FFSC9BWEVpRENBSkxRQVlSd1JBUVMwaEN5QUpMUUFaSUF4SERRRUxJQU1nQWtFQmFqWUNBQ0FDSUFzNkFBQU1BUXNnQmhBSlJTQUFJQVZIY2tVRVFFRUFJUUFnQ0NnQ0FDSUJJQWRyUVo4QlNnMENJQVFvQWdBaEFDQUlJQUZCQkdvMkFnQWdBU0FBTmdJQURBRUxRWDhoQUNBSklBbEJHbW9nQ2tFUGFoRFZBU0FKYXlJRlFSZEtEUUVDUUFKQUFrQWdBVUVJYXc0REFBSUFBUXNnQVNBRlNnMEJEQU1MSUFGQkVFY2dCVUVXU0hJTkFDQURLQUlBSWdFZ0FrWWdBU0FDYTBFQ1NuSU5BaUFCUVFGckxRQUFRVEJIRFFKQkFDRUFJQVJCQURZQ0FDQURJQUZCQVdvMkFnQWdBU0FGUWVEUUFHb3RBQUE2QUFBTUFnc2dBeUFES0FJQUlnQkJBV28yQWdBZ0FDQUZRZURRQUdvdEFBQTZBQUFnQkNBRUtBSUFRUUZxTmdJQVFRQWhBQXdCQzBFQUlRQWdCRUVBTmdJQUN5QUtRUkJxSkFBZ0FBc0tBQ0FBUWF5SkFSQmtDNE1CQWdOL0FYNENRQ0FBUW9DQWdJQVFWQVJBSUFBaEJRd0JDd05BSUFGQkFXc2lBU0FBSUFCQ0NvQWlCVUlLZm4yblFUQnlPZ0FBSUFCQy8vLy8vNThCVmlFQ0lBVWhBQ0FDRFFBTEN5QUZweUlDQkVBRFFDQUJRUUZySWdFZ0FpQUNRUXB1SWdOQkNteHJRVEJ5T2dBQUlBSkJDVXNoQkNBRElRSWdCQTBBQ3dzZ0FRdGpBZ0YvQVg0akFFRVFheUlDSkFBZ0FBSitJQUZGQkVCQ0FBd0JDeUFDSUFHdFFnQWdBV2NpQVVIUkFHb1FMeUFDS1FNSVFvQ0FnSUNBZ01BQWhVR2VnQUVnQVd1dFFqQ0dmQ0VESUFJcEF3QUxOd01BSUFBZ0F6Y0RDQ0FDUVJCcUpBQUxKQUFnQUVFTFR3Ui9JQUJCRUdwQmNIRWlBQ0FBUVFGcklnQWdBRUVMUmhzRlFRb0xDMzhCQTM4Z0FDRUJBa0FnQUVFRGNRUkFBMEFnQVMwQUFFVU5BaUFCUVFGcUlnRkJBM0VOQUFzTEEwQWdBU0lDUVFScUlRRWdBaWdDQUNJRFFYOXpJQU5CZ1lLRUNHdHhRWUNCZ29SNGNVVU5BQXNnQTBIL0FYRkZCRUFnQWlBQWF3OExBMEFnQWkwQUFTRURJQUpCQVdvaUFTRUNJQU1OQUFzTElBRWdBR3NMS1FBZ0FDQUJRUWgwUVlDQS9BZHhJQUZCR0hSeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JMkFBQUxLUUFnQUNnQUFDSUFRUmgwSUFCQkNIUkJnSUQ4QjNGeUlBQkJDSFpCZ1A0RGNTQUFRUmgyY25JTER3QWdBQ0FBS0FJQVFRUnFOZ0lBQ3djQUlBQkJCR29MRHdBZ0FDQUFLQUlBUVFGcU5nSUFDemNCQW44akFFRVFheUlESkFBZ0EwRUlhaUlFSUFFUUR5QUNJQVFRakFFaUFSQTROZ0lBSUFBZ0FSQTNJQVFRRGlBRFFSQnFKQUFMTlFFQ2Z5TUFRUkJySWdJa0FDQUNRUWhxSWdNZ0FCQVBJQU1RTzBIZzBBQkIrdEFBSUFFUVl5QURFQTRnQWtFUWFpUUFJQUVMTndFQ2Z5TUFRUkJySWdNa0FDQURRUWhxSWdRZ0FSQVBJQUlnQkJDT0FTSUJFRGc2QUFBZ0FDQUJFRGNnQkJBT0lBTkJFR29rQUFzWEFDQUFJQU0yQWhBZ0FDQUNOZ0lNSUFBZ0FUWUNDQXNLQUNBQVFSaDBRUmgxQzBJQUlBQWdBQ2dDQUNBQktBSUFjellDQUNBQUlBQW9BZ1FnQVNnQ0JITTJBZ1FnQUNBQUtBSUlJQUVvQWdoek5nSUlJQUFnQUNnQ0RDQUJLQUlNY3pZQ0RBdWNDQUVMZnlBQVJRUkFJQUVRR1E4TElBRkJRRThFUUVIVWdRRkJNRFlDQUVFQUR3c0NmMEVRSUFGQkMycEJlSEVnQVVFTFNSc2hCaUFBUVFocklnVW9BZ1FpQ1VGNGNTRUVBa0FnQ1VFRGNVVUVRRUVBSUFaQmdBSkpEUUlhSUFaQkJHb2dCRTBFUUNBRklRSWdCQ0FHYTBHNGhRRW9BZ0JCQVhSTkRRSUxRUUFNQWdzZ0JDQUZhaUVIQWtBZ0JDQUdUd1JBSUFRZ0Jtc2lBMEVRU1EwQklBVWdDVUVCY1NBR2NrRUNjallDQkNBRklBWnFJZ0lnQTBFRGNqWUNCQ0FISUFjb0FnUkJBWEkyQWdRZ0FpQURFT3dCREFFTElBZEI4SUVCS0FJQVJnUkFRZVNCQVNnQ0FDQUVhaUlFSUFaTkRRSWdCU0FKUVFGeElBWnlRUUp5TmdJRUlBVWdCbW9pQXlBRUlBWnJJZ0pCQVhJMkFnUkI1SUVCSUFJMkFnQkI4SUVCSUFNMkFnQU1BUXNnQjBIc2dRRW9BZ0JHQkVCQjRJRUJLQUlBSUFScUlnTWdCa2tOQWdKQUlBTWdCbXNpQWtFUVR3UkFJQVVnQ1VFQmNTQUdja0VDY2pZQ0JDQUZJQVpxSWdRZ0FrRUJjallDQkNBRElBVnFJZ01nQWpZQ0FDQURJQU1vQWdSQmZuRTJBZ1FNQVFzZ0JTQUpRUUZ4SUFOeVFRSnlOZ0lFSUFNZ0JXb2lBaUFDS0FJRVFRRnlOZ0lFUVFBaEFrRUFJUVFMUWV5QkFTQUVOZ0lBUWVDQkFTQUNOZ0lBREFFTElBY29BZ1FpQTBFQ2NRMEJJQU5CZUhFZ0JHb2lDaUFHU1EwQklBb2dCbXNoREFKQUlBTkIvd0ZOQkVBZ0J5Z0NDQ0lFSUFOQkEzWWlBa0VEZEVHQWdnRnFSaG9nQkNBSEtBSU1JZ05HQkVCQjJJRUJRZGlCQVNnQ0FFRitJQUozY1RZQ0FBd0NDeUFFSUFNMkFnd2dBeUFFTmdJSURBRUxJQWNvQWhnaEN3SkFJQWNnQnlnQ0RDSUlSd1JBSUFjb0FnZ2lBa0hvZ1FFb0FnQkpHaUFDSUFnMkFnd2dDQ0FDTmdJSURBRUxBa0FnQjBFVWFpSUVLQUlBSWdJTkFDQUhRUkJxSWdRb0FnQWlBZzBBUVFBaENBd0JDd05BSUFRaEF5QUNJZ2hCRkdvaUJDZ0NBQ0lDRFFBZ0NFRVFhaUVFSUFnb0FoQWlBZzBBQ3lBRFFRQTJBZ0FMSUF0RkRRQUNRQ0FISUFjb0Fod2lBMEVDZEVHSWhBRnFJZ0lvQWdCR0JFQWdBaUFJTmdJQUlBZ05BVUhjZ1FGQjNJRUJLQUlBUVg0Z0EzZHhOZ0lBREFJTElBdEJFRUVVSUFzb0FoQWdCMFliYWlBSU5nSUFJQWhGRFFFTElBZ2dDellDR0NBSEtBSVFJZ0lFUUNBSUlBSTJBaEFnQWlBSU5nSVlDeUFIS0FJVUlnSkZEUUFnQ0NBQ05nSVVJQUlnQ0RZQ0dBc2dERUVQVFFSQUlBVWdDVUVCY1NBS2NrRUNjallDQkNBRklBcHFJZ0lnQWlnQ0JFRUJjallDQkF3QkN5QUZJQWxCQVhFZ0JuSkJBbkkyQWdRZ0JTQUdhaUlESUF4QkEzSTJBZ1FnQlNBS2FpSUNJQUlvQWdSQkFYSTJBZ1FnQXlBTUVPd0JDeUFGSVFJTElBSUxJZ0lFUUNBQ1FRaHFEd3NnQVJBWklnVkZCRUJCQUE4TElBVWdBRUY4UVhnZ0FFRUVheWdDQUNJQ1FRTnhHeUFDUVhoeGFpSUNJQUVnQVNBQ1N4c1FRaG9nQUJBUUlBVUxmUUVEZjBFWUlRSUNRQUpBSUFBZ0FYSkJBM0VOQUFOQUlBQW9BZ0FnQVNnQ0FFY05BU0FCUVFScUlRRWdBRUVFYWlFQUlBSkJCR3NpQWtFRFN3MEFDeUFDUlEwQkN3TkFJQUF0QUFBaUF5QUJMUUFBSWdSR0JFQWdBVUVCYWlFQklBQkJBV29oQUNBQ1FRRnJJZ0lOQVF3Q0N3c2dBeUFFYXc4TFFRQUxTUUVDZnlBQUtBSUVJZ1pCQ0hVaEJTQUdRUUZ4QkVBZ0FpZ0NBQ0FGRU1VQklRVUxJQUFvQWdBaUFDQUJJQUlnQldvZ0EwRUNJQVpCQW5FYklBUWdBQ2dDQUNnQ0dCRUtBQXUyQVFFRGZ5TUFRUkJySWdNa0FDQURJQUU2QUE4Q1FBSkFBa0FDUUNBQUVEVUVRQ0FBRUgwaEFTQUFLQUlFSWdRZ0FVRUJheUlDUmcwQkRBTUxRUW9oQkVFS0lRSWdBQzBBQ3lJQlFRcEhEUUVMSUFBZ0FrRUJJQUlnQWhESUFTQUVJUUVnQUJBMURRRUxJQUFoQWlBQUlBRkJBV29RT2d3QkN5QUFLQUlBSVFJZ0FDQUVRUUZxRURrZ0JDRUJDeUFCSUFKcUlnQWdBMEVQYWhBMElBTkJBRG9BRGlBQVFRRnFJQU5CRG1vUU5DQURRUkJxSkFBTEpBRUNmeU1BUVJCcklnSWtBQ0FCSUFBUThRRWhBeUFDUVJCcUpBQWdBU0FBSUFNYkN4MEFJQUJCQkdvUWtnSkJmMFlFUUNBQUlBQW9BZ0FvQWdnUkFRQUxDeVFBSUFBUStRRWhBQ0FCRVBrQklBQnJJZ0VFUUNBQ0lBQWdBUkRxQVFzZ0FTQUNhZ3NSQUNBQUlBRWdBU2dDQUNnQ0tCRURBQXNVQVFGL0lBQW9BZ0FoQVNBQVFRQTJBZ0FnQVF1ckxBRVJmeUFBS0FMd0FTRVNJQUFvQWdRZ0FTZ0FCQ0lFUVJoMElBUkJDSFJCZ0lEOEIzRnlJQVJCQ0haQmdQNERjU0FFUVJoMmNuSnpJZ1JCRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdoQmlBQUtBSUlJQUVvQUFnaUJVRVlkQ0FGUVFoMFFZQ0EvQWR4Y2lBRlFRaDJRWUQrQTNFZ0JVRVlkbkp5Y3lJRlFRWjJRZndIY1VHQUNHb29BZ0JCRUJBSUlRZ2dBQ2dDRENBQktBQU1JZ05CR0hRZ0EwRUlkRUdBZ1B3SGNYSWdBMEVJZGtHQS9nTnhJQU5CR0haeWNuTWlBMEgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDQ0VISUFWQkRuWkIvQWR4UVlBSWFpZ0NBRUVJRUFnaENTQURRUVoyUWZ3SGNVR0FDR29vQWdCQkVCQUlJUW9nQUNnQ0FDQUJLQUFBSWdGQkdIUWdBVUVJZEVHQWdQd0hjWElnQVVFSWRrR0EvZ054SUFGQkdIWnljbk1pQVVIL0FYRkJBblJCZ0FocUtBSUFRUmdRQ0NFTElBTkJEblpCL0FkeFFZQUlhaWdDQUVFSUVBZ2hEQ0FCUVFaMlFmd0hjVUdBQ0dvb0FnQkJFQkFJSVEwZ0JFSC9BWEZCQW5SQmdBaHFLQUlBUVJnUUNDRU9JQUZCRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdoRHlBRVFRWjJRZndIY1VHQUNHb29BZ0JCRUJBSUlSQWdCVUgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDQ0VSSUFBb0FoUWdDeUFLSUFrZ0JFRVdka0g4QjNGQmdBaHFLQUlBYzNOemN5SUVRUTUyUWZ3SGNVR0FDR29vQWdCQkNCQUlJUWtnQUNnQ0dDQU9JQTBnRENBRlFSWjJRZndIY1VHQUNHb29BZ0J6YzNOeklnVkJCblpCL0FkeFFZQUlhaWdDQUVFUUVBZ2hDaUFBS0FJY0lCRWdFQ0FQSUFOQkZuWkIvQWR4UVlBSWFpZ0NBSE56YzNNaUEwSC9BWEZCQW5SQmdBaHFLQUlBUVJnUUNDRUxJQVZCRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdoRENBRFFRWjJRZndIY1VHQUNHb29BZ0JCRUJBSUlRMGdBQ2dDRUNBSElBZ2dCaUFCUVJaMlFmd0hjVUdBQ0dvb0FnQnpjM056SWdGQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFnaEJpQURRUTUyUWZ3SGNVR0FDR29vQWdCQkNCQUlJUWdnQVVFR2RrSDhCM0ZCZ0FocUtBSUFRUkFRQ0NFSElBUkIvd0Z4UVFKMFFZQUlhaWdDQUVFWUVBZ2hEaUFCUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSVE4Z0JFRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNDRVFJQVZCL3dGeFFRSjBRWUFJYWlnQ0FFRVlFQWdoRVNBQUtBSWtJQVlnRFNBTUlBUkJGblpCL0FkeFFZQUlhaWdDQUhOemMzTWlCRUVPZGtIOEIzRkJnQWhxS0FJQVFRZ1FDQ0VHSUFBb0FpZ2dEaUFISUFnZ0JVRVdka0g4QjNGQmdBaHFLQUlBYzNOemN5SUZRUVoyUWZ3SGNVR0FDR29vQWdCQkVCQUlJUWdnQUNnQ0xDQVJJQkFnRHlBRFFSWjJRZndIY1VHQUNHb29BZ0J6YzNOeklnTkIvd0Z4UVFKMFFZQUlhaWdDQUVFWUVBZ2hCeUFGUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSVF3Z0EwRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNDRU5JQUFvQWlBZ0N5QUtJQWtnQVVFV2RrSDhCM0ZCZ0FocUtBSUFjM056Y3lJQlFmOEJjVUVDZEVHQUNHb29BZ0JCR0JBSUlRa2dBMEVPZGtIOEIzRkJnQWhxS0FJQVFRZ1FDQ0VLSUFGQkJuWkIvQWR4UVlBSWFpZ0NBRUVRRUFnaEN5QUVRZjhCY1VFQ2RFR0FDR29vQWdCQkdCQUlJUTRnQVVFT2RrSDhCM0ZCZ0FocUtBSUFRUWdRQ0NFUElBUkJCblpCL0FkeFFZQUlhaWdDQUVFUUVBZ2hFQ0FGUWY4QmNVRUNkRUdBQ0dvb0FnQkJHQkFJSVJFZ0FDZ0NOQ0FKSUEwZ0RDQUVRUloyUWZ3SGNVR0FDR29vQWdCemMzTnpJZ1JCRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdoQ1NBQUtBSTRJQTRnQ3lBS0lBVkJGblpCL0FkeFFZQUlhaWdDQUhOemMzTWlCVUVHZGtIOEIzRkJnQWhxS0FJQVFSQVFDQ0VLSUFBb0Fqd2dFU0FRSUE4Z0EwRVdka0g4QjNGQmdBaHFLQUlBYzNOemN5SURRZjhCY1VFQ2RFR0FDR29vQWdCQkdCQUlJUXNnQlVFT2RrSDhCM0ZCZ0FocUtBSUFRUWdRQ0NFTUlBTkJCblpCL0FkeFFZQUlhaWdDQUVFUUVBZ2hEU0FBS0FJd0lBY2dDQ0FHSUFGQkZuWkIvQWR4UVlBSWFpZ0NBSE56YzNNaUFVSC9BWEZCQW5SQmdBaHFLQUlBUVJnUUNDRUdJQU5CRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdoQ0NBQlFRWjJRZndIY1VHQUNHb29BZ0JCRUJBSUlRY2dCRUgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDQ0VPSUFGQkRuWkIvQWR4UVlBSWFpZ0NBRUVJRUFnaER5QUVRUVoyUWZ3SGNVR0FDR29vQWdCQkVCQUlJUkFnQlVIL0FYRkJBblJCZ0FocUtBSUFRUmdRQ0NFUklBQW9Ba1FnQmlBTklBd2dCRUVXZGtIOEIzRkJnQWhxS0FJQWMzTnpjeUlFUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSVFZZ0FDZ0NTQ0FPSUFjZ0NDQUZRUloyUWZ3SGNVR0FDR29vQWdCemMzTnpJZ1ZCQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWdoQ0NBQUtBSk1JQkVnRUNBUElBTkJGblpCL0FkeFFZQUlhaWdDQUhOemMzTWlBMEgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDQ0VISUFWQkRuWkIvQWR4UVlBSWFpZ0NBRUVJRUFnaERDQURRUVoyUWZ3SGNVR0FDR29vQWdCQkVCQUlJUTBnQUNnQ1FDQUxJQW9nQ1NBQlFSWjJRZndIY1VHQUNHb29BZ0J6YzNOeklnRkIvd0Z4UVFKMFFZQUlhaWdDQUVFWUVBZ2hDU0FEUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSVFvZ0FVRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNDRUxJQVJCL3dGeFFRSjBRWUFJYWlnQ0FFRVlFQWdoRGlBQlFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlROGdCRUVHZGtIOEIzRkJnQWhxS0FJQVFSQVFDQ0VRSUFWQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFnaEVTQUFLQUpVSUFrZ0RTQU1JQVJCRm5aQi9BZHhRWUFJYWlnQ0FITnpjM01pQkVFT2RrSDhCM0ZCZ0FocUtBSUFRUWdRQ0NFSklBQW9BbGdnRGlBTElBb2dCVUVXZGtIOEIzRkJnQWhxS0FJQWMzTnpjeUlGUVFaMlFmd0hjVUdBQ0dvb0FnQkJFQkFJSVFvZ0FDZ0NYQ0FSSUJBZ0R5QURRUloyUWZ3SGNVR0FDR29vQWdCemMzTnpJZ05CL3dGeFFRSjBRWUFJYWlnQ0FFRVlFQWdoQ3lBRlFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlRd2dBMEVHZGtIOEIzRkJnQWhxS0FJQVFSQVFDQ0VOSUFBb0FsQWdCeUFJSUFZZ0FVRVdka0g4QjNGQmdBaHFLQUlBYzNOemN5SUJRZjhCY1VFQ2RFR0FDR29vQWdCQkdCQUlJUVlnQTBFT2RrSDhCM0ZCZ0FocUtBSUFRUWdRQ0NFSUlBRkJCblpCL0FkeFFZQUlhaWdDQUVFUUVBZ2hCeUFFUWY4QmNVRUNkRUdBQ0dvb0FnQkJHQkFJSVE0Z0FVRU9ka0g4QjNGQmdBaHFLQUlBUVFnUUNDRVBJQVJCQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWdoRUNBRlFmOEJjVUVDZEVHQUNHb29BZ0JCR0JBSUlSRWdBQ2dDWkNBR0lBMGdEQ0FFUVJaMlFmd0hjVUdBQ0dvb0FnQnpjM056SWdSQkRuWkIvQWR4UVlBSWFpZ0NBRUVJRUFnaEJpQUFLQUpvSUE0Z0J5QUlJQVZCRm5aQi9BZHhRWUFJYWlnQ0FITnpjM01pQlVFR2RrSDhCM0ZCZ0FocUtBSUFRUkFRQ0NFSUlBQW9BbXdnRVNBUUlBOGdBMEVXZGtIOEIzRkJnQWhxS0FJQWMzTnpjeUlEUWY4QmNVRUNkRUdBQ0dvb0FnQkJHQkFJSVFjZ0JVRU9ka0g4QjNGQmdBaHFLQUlBUVFnUUNDRU1JQU5CQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWdoRFNBQUtBSmdJQXNnQ2lBSklBRkJGblpCL0FkeFFZQUlhaWdDQUhOemMzTWlBVUgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDQ0VKSUFOQkRuWkIvQWR4UVlBSWFpZ0NBRUVJRUFnaENpQUJRUVoyUWZ3SGNVR0FDR29vQWdCQkVCQUlJUXNnQkVIL0FYRkJBblJCZ0FocUtBSUFRUmdRQ0NFT0lBRkJEblpCL0FkeFFZQUlhaWdDQUVFSUVBZ2hEeUFFUVFaMlFmd0hjVUdBQ0dvb0FnQkJFQkFJSVJBZ0JVSC9BWEZCQW5SQmdBaHFLQUlBUVJnUUNDRVJJQUFvQW5RZ0NTQU5JQXdnQkVFV2RrSDhCM0ZCZ0FocUtBSUFjM056Y3lJRVFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlRa2dBQ2dDZUNBT0lBc2dDaUFGUVJaMlFmd0hjVUdBQ0dvb0FnQnpjM056SWdWQkJuWkIvQWR4UVlBSWFpZ0NBRUVRRUFnaENpQUFLQUo4SUJFZ0VDQVBJQU5CRm5aQi9BZHhRWUFJYWlnQ0FITnpjM01pQTBIL0FYRkJBblJCZ0FocUtBSUFRUmdRQ0NFTElBVkJEblpCL0FkeFFZQUlhaWdDQUVFSUVBZ2hEQ0FEUVFaMlFmd0hjVUdBQ0dvb0FnQkJFQkFJSVEwZ0FDZ0NjQ0FISUFnZ0JpQUJRUloyUWZ3SGNVR0FDR29vQWdCemMzTnpJZ0ZCL3dGeFFRSjBRWUFJYWlnQ0FFRVlFQWdoQmlBRFFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlRY2dBVUVHZGtIOEIzRkJnQWhxS0FJQVFSQVFDQ0VPSUFSQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFnaER5QUJRUTUyUWZ3SGNVR0FDR29vQWdCQkNCQUlJUkFnQkVFR2RrSDhCM0ZCZ0FocUtBSUFRUkFRQ0NFUklBVkIvd0Z4UVFKMFFZQUlhaWdDQUVFWUVBZ2hFeUFBS0FLRUFTQUdJQTBnRENBRVFSWjJRZndIY1VHQUNHb29BZ0J6YzNOeklnWkJEblpCL0FkeFFZQUlhaWdDQUVFSUVBZ2dBQ2dDZ0FFZ0N5QUtJQWtnQVVFV2RrSDhCM0ZCZ0FocUtBSUFjM056Y3lJSVFSWjJRZndIY1VHQUNHb29BZ0J6SUFBb0FvZ0JJQThnRGlBSElBVkJGblpCL0FkeFFZQUlhaWdDQUhOemMzTWlCMEVHZGtIOEIzRkJnQWhxS0FJQVFSQVFDSE1nQUNnQ2pBRWdFeUFSSUJBZ0EwRVdka0g4QjNGQmdBaHFLQUlBYzNOemN5SURRZjhCY1VFQ2RFR0FDR29vQWdCQkdCQUljeUFBS0FLUUFYTWhBU0FIUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSUFaQkZuWkIvQWR4UVlBSWFpZ0NBSE1nQTBFR2RrSDhCM0ZCZ0FocUtBSUFRUkFRQ0hNZ0NFSC9BWEZCQW5SQmdBaHFLQUlBUVJnUUNITWdBQ2dDbEFGeklRUWdBMEVPZGtIOEIzRkJnQWhxS0FJQVFRZ1FDQ0FIUVJaMlFmd0hjVUdBQ0dvb0FnQnpJQWhCQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWh6SUFaQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFoeklBQW9BcGdCY3lFRkFuOGdDRUVPZGtIOEIzRkJnQWhxS0FJQVFRZ1FDQ0FEUVJaMlFmd0hjVUdBQ0dvb0FnQnpJQVpCQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWh6SUFkQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFoeklBQW9BcHdCY3lJRElCSkJDMGdOQUJvZ0JFRU9ka0g4QjNGQmdBaHFLQUlBUVFnUUNDRUlJQVZCQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWdoQnlBRFFmOEJjVUVDZEVHQUNHb29BZ0JCR0JBSUlRa2dCVUVPZGtIOEIzRkJnQWhxS0FJQVFRZ1FDQ0VHSUFOQkJuWkIvQWR4UVlBSWFpZ0NBRUVRRUFnaENpQUJRZjhCY1VFQ2RFR0FDR29vQWdCQkdCQUlJUXNnQTBFT2RrSDhCM0ZCZ0FocUtBSUFRUWdRQ0NFTUlBRkJCblpCL0FkeFFZQUlhaWdDQUVFUUVBZ2hEU0FFUWY4QmNVRUNkRUdBQ0dvb0FnQkJHQkFJSVE0Z0FVRU9ka0g4QjNGQmdBaHFLQUlBUVFnUUNDRVBJQVJCQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWdoRUNBRlFmOEJjVUVDZEVHQUNHb29BZ0JCR0JBSUlSRWdBQ2dDcEFFZ0N5QUtJQVlnQkVFV2RrSDhCM0ZCZ0FocUtBSUFjM056Y3lJR1FRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlBQW9BcUFCSUFrZ0J5QUlJQUZCRm5aQi9BZHhRWUFJYWlnQ0FITnpjM01pQ0VFV2RrSDhCM0ZCZ0FocUtBSUFjeUFBS0FLb0FTQU9JQTBnRENBRlFSWjJRZndIY1VHQUNHb29BZ0J6YzNOeklnZEJCblpCL0FkeFFZQUlhaWdDQUVFUUVBaHpJQUFvQXF3QklCRWdFQ0FQSUFOQkZuWkIvQWR4UVlBSWFpZ0NBSE56YzNNaUEwSC9BWEZCQW5SQmdBaHFLQUlBUVJnUUNITWdBQ2dDc0FGeklRRWdCMEVPZGtIOEIzRkJnQWhxS0FJQVFRZ1FDQ0FHUVJaMlFmd0hjVUdBQ0dvb0FnQnpJQU5CQm5aQi9BZHhRWUFJYWlnQ0FFRVFFQWh6SUFoQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFoeklBQW9BclFCY3lFRUlBTkJEblpCL0FkeFFZQUlhaWdDQUVFSUVBZ2dCMEVXZGtIOEIzRkJnQWhxS0FJQWN5QUlRUVoyUWZ3SGNVR0FDR29vQWdCQkVCQUljeUFHUWY4QmNVRUNkRUdBQ0dvb0FnQkJHQkFJY3lBQUtBSzRBWE1oQlNBSVFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlBTkJGblpCL0FkeFFZQUlhaWdDQUhNZ0JrRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNITWdCMEgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDSE1nQUNnQ3ZBRnpJZ01nRWtFTlNBMEFHaUFFUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSVFnZ0JVRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNDRUhJQU5CL3dGeFFRSjBRWUFJYWlnQ0FFRVlFQWdoQ1NBRlFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlRWWdBMEVHZGtIOEIzRkJnQWhxS0FJQVFSQVFDQ0VLSUFGQi93RnhRUUowUVlBSWFpZ0NBRUVZRUFnaEN5QURRUTUyUWZ3SGNVR0FDR29vQWdCQkNCQUlJUXdnQVVFR2RrSDhCM0ZCZ0FocUtBSUFRUkFRQ0NFTklBUkIvd0Z4UVFKMFFZQUlhaWdDQUVFWUVBZ2hEaUFCUVE1MlFmd0hjVUdBQ0dvb0FnQkJDQkFJSVE4Z0JFRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNDRVFJQVZCL3dGeFFRSjBRWUFJYWlnQ0FFRVlFQWdoRVNBQUtBTEVBU0FMSUFvZ0JpQUVRUloyUWZ3SGNVR0FDR29vQWdCemMzTnpJZ1pCRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdnQUNnQ3dBRWdDU0FISUFnZ0FVRVdka0g4QjNGQmdBaHFLQUlBYzNOemN5SUlRUloyUWZ3SGNVR0FDR29vQWdCeklBQW9Bc2dCSUE0Z0RTQU1JQVZCRm5aQi9BZHhRWUFJYWlnQ0FITnpjM01pQjBFR2RrSDhCM0ZCZ0FocUtBSUFRUkFRQ0hNZ0FDZ0N6QUVnRVNBUUlBOGdBMEVXZGtIOEIzRkJnQWhxS0FJQWMzTnpjeUlEUWY4QmNVRUNkRUdBQ0dvb0FnQkJHQkFJY3lBQUtBTFFBWE1oQVNBSFFRNTJRZndIY1VHQUNHb29BZ0JCQ0JBSUlBWkJGblpCL0FkeFFZQUlhaWdDQUhNZ0EwRUdka0g4QjNGQmdBaHFLQUlBUVJBUUNITWdDRUgvQVhGQkFuUkJnQWhxS0FJQVFSZ1FDSE1nQUNnQzFBRnpJUVFnQTBFT2RrSDhCM0ZCZ0FocUtBSUFRUWdRQ0NBSFFSWjJRZndIY1VHQUNHb29BZ0J6SUFoQkJuWkIvQWR4UVlBSWFpZ0NBRUVRRUFoeklBWkIvd0Z4UVFKMFFZQUlhaWdDQUVFWUVBaHpJQUFvQXRnQmN5RUZJQWhCRG5aQi9BZHhRWUFJYWlnQ0FFRUlFQWdnQTBFV2RrSDhCM0ZCZ0FocUtBSUFjeUFHUVFaMlFmd0hjVUdBQ0dvb0FnQkJFQkFJY3lBSFFmOEJjVUVDZEVHQUNHb29BZ0JCR0JBSWN5QUFLQUxjQVhNTElRTWdBaUFBSUJKQkJIUnFJZ0FvQWdBZ0EwSC9BWEZCQW5SQmdBaHFMUUFCSUFGQkZuWkIvQWR4UVlBSWFpZ0NBRUVJZEVHQWdJQjRjU0FFUVE1MlFmd0hjVUdBQ0dvdEFBSkJFSFJ5SUFWQkJuWkIvQWR4UVlBSWFpMEFBVUVJZEhKeWN5SVNRUmgwSUJKQkNIUkJnSUQ4QjNGeUlCSkJDSFpCZ1A0RGNTQVNRUmgyY25JMkFBQWdBaUFBS0FJRUlBRkIvd0Z4UVFKMFFZQUlhaTBBQVNBRVFSWjJRZndIY1VHQUNHb29BZ0JCQ0hSQmdJQ0FlSEVnQlVFT2RrSDhCM0ZCZ0FocUxRQUNRUkIwY2lBRFFRWjJRZndIY1VHQUNHb3RBQUZCQ0hSeWNuTWlFa0VZZENBU1FRaDBRWUNBL0FkeGNpQVNRUWgyUVlEK0EzRWdFa0VZZG5KeU5nQUVJQUlnQUNnQ0NDQUVRZjhCY1VFQ2RFR0FDR290QUFFZ0JVRVdka0g4QjNGQmdBaHFLQUlBUVFoMFFZQ0FnSGh4SUFOQkRuWkIvQWR4UVlBSWFpMEFBa0VRZEhJZ0FVRUdka0g4QjNGQmdBaHFMUUFCUVFoMGNuSnpJaEpCR0hRZ0VrRUlkRUdBZ1B3SGNYSWdFa0VJZGtHQS9nTnhJQkpCR0haeWNqWUFDQ0FDSUFBb0Fnd2dCVUgvQVhGQkFuUkJnQWhxTFFBQklBTkJGblpCL0FkeFFZQUlhaWdDQUVFSWRFR0FnSUI0Y1NBQlFRNTJRZndIY1VHQUNHb3RBQUpCRUhSeUlBUkJCblpCL0FkeFFZQUlhaTBBQVVFSWRISnljeUlBUVJoMElBQkJDSFJCZ0lEOEIzRnlJQUJCQ0haQmdQNERjU0FBUVJoMmNuSTJBQXdMRGdBZ0FDQUJLQUlBTmdJQUlBQUxCd0FnQUJCSEdnc0lBRUgvLy8vL0J3c0ZBRUgvQUFzREFBRUxLd0FDUUNBQUlBRkdEUUFEUUNBQUlBRkJCR3NpQVU4TkFTQUFJQUVRZFNBQVFRUnFJUUFNQUFzQUN3dlVBd0VJZnlNQVFSQnJJZ29rQUNBR0VEc2hDeUFLSUFZUWpBRWlCaEEzQWtBZ0NoQkpCRUFnQ3lBQUlBSWdBeEJqSUFVZ0F5QUNJQUJyUVFKMGFpSUdOZ0lBREFFTElBVWdBellDQUFKQUFrQWdBQ0lJTFFBQUlnZEJLMnNPQXdBQkFBRUxJQXNnQjBFWWRFRVlkUkE5SVFnZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBSU5nSUFJQUJCQVdvaENBc0NRQ0FDSUFoclFRSklEUUFnQ0MwQUFFRXdSdzBBSUFndEFBRkJJSEpCK0FCSERRQWdDMEV3RUQwaEJ5QUZJQVVvQWdBaUNVRUVhallDQUNBSklBYzJBZ0FnQ3lBSUxBQUJFRDBoQnlBRklBVW9BZ0FpQ1VFRWFqWUNBQ0FKSUFjMkFnQWdDRUVDYWlFSUN5QUlJQUlRZVVFQUlRa2dCaEE0SVF4QkFDRUhJQWdoQmdOL0lBSWdCazBFZnlBRElBZ2dBR3RCQW5ScUlBVW9BZ0FRclFFZ0JTZ0NBQVVDUUNBS0lBY1FDeTBBQUVVTkFDQUpJQW9nQnhBTExBQUFSdzBBSUFVZ0JTZ0NBQ0lKUVFScU5nSUFJQWtnRERZQ0FDQUhJQWNnQ2hBSlFRRnJTV29oQjBFQUlRa0xJQXNnQml3QUFCQTlJUTBnQlNBRktBSUFJZzVCQkdvMkFnQWdEaUFOTmdJQUlBWkJBV29oQmlBSlFRRnFJUWtNQVFzTElRWUxJQVFnQmlBRElBRWdBR3RCQW5ScUlBRWdBa1liTmdJQUlBb1FDaG9nQ2tFUWFpUUFDOUFCQVFKL0lBSkJnQkJ4QkVBZ0FFRXJPZ0FBSUFCQkFXb2hBQXNnQWtHQUNIRUVRQ0FBUVNNNkFBQWdBRUVCYWlFQUN5QUNRWVFDY1NJRFFZUUNSd1JBSUFCQnJ0UUFPd0FBSUFCQkFtb2hBQXNnQWtHQWdBRnhJUUlEUUNBQkxRQUFJZ1FFUUNBQUlBUTZBQUFnQUVFQmFpRUFJQUZCQVdvaEFRd0JDd3NnQUFKL0FrQWdBMEdBQWtjRVFDQURRUVJIRFFGQnhnQkI1Z0FnQWhzTUFndEJ4UUJCNVFBZ0Foc01BUXRCd1FCQjRRQWdBaHNnQTBHRUFrWU5BQnBCeHdCQjV3QWdBaHNMT2dBQUlBTkJoQUpIQzhvREFRaC9Jd0JCRUdzaUNpUUFJQVlRTWlFTElBb2dCaENPQVNJR0VEY0NRQ0FLRUVrRVFDQUxJQUFnQWlBREVHOGdCU0FESUFJZ0FHdHFJZ1kyQWdBTUFRc2dCU0FETmdJQUFrQUNRQ0FBSWdndEFBQWlCMEVyYXc0REFBRUFBUXNnQ3lBSFFSaDBRUmgxRUNraENDQUZJQVVvQWdBaUIwRUJhallDQUNBSElBZzZBQUFnQUVFQmFpRUlDd0pBSUFJZ0NHdEJBa2dOQUNBSUxRQUFRVEJIRFFBZ0NDMEFBVUVnY2tINEFFY05BQ0FMUVRBUUtTRUhJQVVnQlNnQ0FDSUpRUUZxTmdJQUlBa2dCem9BQUNBTElBZ3NBQUVRS1NFSElBVWdCU2dDQUNJSlFRRnFOZ0lBSUFrZ0J6b0FBQ0FJUVFKcUlRZ0xJQWdnQWhCNVFRQWhDU0FHRURnaERFRUFJUWNnQ0NFR0EzOGdBaUFHVFFSL0lBTWdDQ0FBYTJvZ0JTZ0NBQkI1SUFVb0FnQUZBa0FnQ2lBSEVBc3RBQUJGRFFBZ0NTQUtJQWNRQ3l3QUFFY05BQ0FGSUFVb0FnQWlDVUVCYWpZQ0FDQUpJQXc2QUFBZ0J5QUhJQW9RQ1VFQmEwbHFJUWRCQUNFSkN5QUxJQVlzQUFBUUtTRU5JQVVnQlNnQ0FDSU9RUUZxTmdJQUlBNGdEVG9BQUNBR1FRRnFJUVlnQ1VFQmFpRUpEQUVMQ3lFR0N5QUVJQVlnQXlBQklBQnJhaUFCSUFKR0d6WUNBQ0FLRUFvYUlBcEJFR29rQUFzTUFDQUFFQTBnQVVFQ2RHb0xxZ1FCQzM4akFFR0FBV3NpQ2lRQUlBb2dBVFlDZUNBQ0lBTVF6UUloQ0NBS1FUVTJBaEFnQ2tFSWFrRUFJQXBCRUdvaUNSQWVJUkFDUUNBSVFlVUFUd1JBSUFnUUdTSUpSUTBCSUJBZ0NSQW5DeUFKSVFjZ0FpRUJBMEFnQVNBRFJnUkFBMEFDUUNBQUlBcEIrQUJxRURaQkFDQUlHMFVFUUNBQUlBcEIrQUJxRUNnRVFDQUZJQVVvQWdCQkFuSTJBZ0FMREFFTElBQVFJU0VPSUFaRkJFQWdCQ0FPRUNraERnc2dERUVCYWlFTlFRQWhEeUFKSVFjZ0FpRUJBMEFnQVNBRFJnUkFJQTBoRENBUFJRMERJQUFRSlJvZ0NTRUhJQUloQVNBSUlBdHFRUUpKRFFNRFFDQUJJQU5HQkVBTUJRVUNRQ0FITFFBQVFRSkhEUUFnQVJBSklBMUdEUUFnQjBFQU9nQUFJQXRCQVdzaEN3c2dCMEVCYWlFSElBRkJER29oQVF3QkN3QUxBQVVDUUNBSExRQUFRUUZIRFFBZ0FTQU1FTEVCS0FJQUlSRUNRQ0FHQkg4Z0VRVWdCQ0FSRUNrTElBNUdCRUJCQVNFUElBRVFDU0FOUncwQ0lBZEJBam9BQUNBTFFRRnFJUXNNQVFzZ0IwRUFPZ0FBQ3lBSVFRRnJJUWdMSUFkQkFXb2hCeUFCUVF4cUlRRU1BUXNBQ3dBTEN3SkFBa0FEUUNBQ0lBTkdEUUVnQ1MwQUFFRUNSd1JBSUFsQkFXb2hDU0FDUVF4cUlRSU1BUXNMSUFJaEF3d0JDeUFGSUFVb0FnQkJCSEkyQWdBTElCQVFIU0FLUVlBQmFpUUFJQU1QQlFKQUlBRVFTVVVFUUNBSFFRRTZBQUFNQVFzZ0IwRUNPZ0FBSUF0QkFXb2hDeUFJUVFGcklRZ0xJQWRCQVdvaEJ5QUJRUXhxSVFFTUFRc0FDd0FMRUJjQUN4RUFJQUFnQVNBQUtBSUFLQUlNRVFJQUM3TUVBUXQvSXdCQmdBRnJJZ29rQUNBS0lBRTJBbmdnQWlBREVNMENJUWdnQ2tFMU5nSVFJQXBCQ0dwQkFDQUtRUkJxSWdrUUhpRVFBa0FnQ0VIbEFFOEVRQ0FJRUJraUNVVU5BU0FRSUFrUUp3c2dDU0VISUFJaEFRTkFJQUVnQTBZRVFBTkFBa0FnQUNBS1FmZ0FhaEF4UVFBZ0NCdEZCRUFnQUNBS1FmZ0FhaEFtQkVBZ0JTQUZLQUlBUVFKeU5nSUFDd3dCQ3lBQUVCOGhEaUFHUlFSQUlBUWdEaEN6QVNFT0N5QU1RUUZxSVExQkFDRVBJQWtoQnlBQ0lRRURRQ0FCSUFOR0JFQWdEU0VNSUE5RkRRTWdBQkFpR2lBSklRY2dBaUVCSUFnZ0MycEJBa2tOQXdOQUlBRWdBMFlFUUF3RkJRSkFJQWN0QUFCQkFrY05BQ0FCRUFrZ0RVWU5BQ0FIUVFBNkFBQWdDMEVCYXlFTEN5QUhRUUZxSVFjZ0FVRU1haUVCREFFTEFBc0FCUUpBSUFjdEFBQkJBVWNOQUNBQklBd1FDeXdBQUNFUkFrQWdEa0gvQVhFZ0JnUi9JQkVGSUFRZ0VSQ3pBUXRCL3dGeFJnUkFRUUVoRHlBQkVBa2dEVWNOQWlBSFFRSTZBQUFnQzBFQmFpRUxEQUVMSUFkQkFEb0FBQXNnQ0VFQmF5RUlDeUFIUVFGcUlRY2dBVUVNYWlFQkRBRUxBQXNBQ3dzQ1FBSkFBMEFnQWlBRFJnMEJJQWt0QUFCQkFrY0VRQ0FKUVFGcUlRa2dBa0VNYWlFQ0RBRUxDeUFDSVFNTUFRc2dCU0FGS0FJQVFRUnlOZ0lBQ3lBUUVCMGdDa0dBQVdva0FDQUREd1VDUUNBQkVFbEZCRUFnQjBFQk9nQUFEQUVMSUFkQkFqb0FBQ0FMUVFGcUlRc2dDRUVCYXlFSUN5QUhRUUZxSVFjZ0FVRU1haUVCREFFTEFBc0FDeEFYQUF2bEF3RURmeU1BUWFBQmF5SUVKQUJCZnlFRklBUWdBVUVCYTBFQUlBRWJOZ0tVQVNBRUlBQWdCRUdlQVdvZ0FSc2lCallDa0FFZ0JFRUFRWkFCRUVZaUFFRi9OZ0pNSUFCQk5EWUNKQ0FBUVg4MkFsQWdBQ0FBUVo4QmFqWUNMQ0FBSUFCQmtBRnFOZ0pVQWtBZ0FVRUFTQVJBUWRTQkFVRTlOZ0lBREFFTElBWkJBRG9BQUVFQUlRUWpBRUhRQVdzaUFTUUFJQUVnQXpZQ3pBRWdBVUdnQVdvaUEwRUFRU2dRUmhvZ0FTQUJLQUxNQVRZQ3lBRUNRRUVBSUFJZ0FVSElBV29nQVVIUUFHb2dBeERjQWtFQVNBUkFRWDhoQWd3QkN5QUFLQUpNUVFCT0lRVWdBQ2dDQUNFRElBQW9Ba2hCQUV3RVFDQUFJQU5CWDNFMkFnQUxBbjhDUUFKQUlBQW9BakJGQkVBZ0FFSFFBRFlDTUNBQVFRQTJBaHdnQUVJQU53TVFJQUFvQWl3aEJDQUFJQUUyQWl3TUFRc2dBQ2dDRUEwQkMwRi9JQUFRNkFFTkFSb0xJQUFnQWlBQlFjZ0JhaUFCUWRBQWFpQUJRYUFCYWhEY0Fnc2hBaUFFQkVBZ0FFRUFRUUFnQUNnQ0pCRUVBQm9nQUVFQU5nSXdJQUFnQkRZQ0xDQUFRUUEyQWh3Z0FFRUFOZ0lRSUFBb0FoUWhCQ0FBUVFBMkFoUWdBa0YvSUFRYklRSUxJQUFnQUNnQ0FDSUVJQU5CSUhGeU5nSUFRWDhnQWlBRVFTQnhHeUVDSUFWRkRRQUxJQUZCMEFGcUpBQWdBaUVGQ3lBQVFhQUJhaVFBSUFVTFNnRUNmd0pBSUFBdEFBQWlBa1VnQWlBQkxRQUFJZ05IY2cwQUEwQWdBUzBBQVNFRElBQXRBQUVpQWtVTkFTQUJRUUZxSVFFZ0FFRUJhaUVBSUFJZ0EwWU5BQXNMSUFJZ0Eyc0w1QUlCQm44akFFRVFheUlISkFBZ0EwSHdoZ0VnQXhzaUJTZ0NBQ0VEQWtBQ1FBSkFJQUZGQkVBZ0F3MEJEQU1MUVg0aEJDQUNSUTBDSUFBZ0IwRU1haUFBR3lFR0FrQWdBd1JBSUFJaEFBd0JDeUFCTFFBQUlnQkJHSFJCR0hVaUEwRUFUZ1JBSUFZZ0FEWUNBQ0FEUVFCSElRUU1CQXNnQVN3QUFDRUFRZGlHQVNnQ0FDZ0NBRVVFUUNBR0lBQkIvNzhEY1RZQ0FFRUJJUVFNQkFzZ0FFSC9BWEZCd2dGcklnQkJNa3NOQVNBQVFRSjBRY0FyYWlnQ0FDRURJQUpCQVdzaUFFVU5BaUFCUVFGcUlRRUxJQUV0QUFBaUNFRURkaUlKUVJCcklBTkJHblVnQ1dweVFRZExEUUFEUUNBQVFRRnJJUUFnQ0VHQUFXc2dBMEVHZEhJaUEwRUFUZ1JBSUFWQkFEWUNBQ0FHSUFNMkFnQWdBaUFBYXlFRURBUUxJQUJGRFFJZ0FVRUJhaUlCTFFBQUlnaEJ3QUZ4UVlBQlJnMEFDd3NnQlVFQU5nSUFRZFNCQVVFWk5nSUFRWDhoQkF3QkN5QUZJQU0yQWdBTElBZEJFR29rQUNBRUN3d0FJQUJCREdvUWZob2dBQXNJQUNBQUtBSVFSUXNvQVFKL0l3QkJFR3NpQWlRQUlBRW9BZ0FnQUNnQ0FFZ2hBeUFDUVJCcUpBQWdBU0FBSUFNYkN4QUFJQUFnQVRjRENDQUFRZ0EzQXdBTEV3QWdBRUc4SHpZQ0FDQUFRUVJxRUE0Z0FBc0VBRUVCQzJVQkEzOGdBa1VFUUVFQUR3c0NRQ0FBTFFBQUlnTkZEUUFEUUFKQUlBRXRBQUFpQlVVTkFDQUNRUUZySWdKRklBTWdCVWR5RFFBZ0FVRUJhaUVCSUFBdEFBRWhBeUFBUVFGcUlRQWdBdzBCREFJTEN5QURJUVFMSUFSQi93RnhJQUV0QUFCckM2NEJBUVIvSXdCQkVHc2lCU1FBSUFFaEJDQUNRUkJQQkVBZ0FrRUVkaUVIQTBBZ0F5QUVFSjBCSUFNZ0FDQUZFTElDSUFNZ0JTa0RDRGNBQ0NBRElBVXBBd0EzQUFBZ0JFRVFhaUVFSUFaQkFXb2lCaUFIUncwQUN3c2dCQ0FCSUFKcUlnRkpCRUFnQlNBRUlBRWdCR3NpQWhCQ0lnRWdBbXBCQUVFUUlBSnJFRVlhSUFNZ0FSQ2RBU0FESUFBZ0FSQ3lBaUFESUFFcEF3ZzNBQWdnQXlBQktRTUFOd0FBQ3lBRlFSQnFKQUFMR2dBZ0FDQUJJQUVvQWdCQkRHc29BZ0JxS0FJWU5nSUFJQUFMS3dFQmZ5QUFRZnovQURZQ0FBSkFJQUFvQWdSQkRHc2lBVUVJYWhDU0FrRUFUZzBBSUFFUUVBc2dBQXRMQVFKL0lBQW9BZ1FpQjBFSWRTRUdJQWRCQVhFRVFDQURLQUlBSUFZUXhRRWhCZ3NnQUNnQ0FDSUFJQUVnQWlBRElBWnFJQVJCQWlBSFFRSnhHeUFGSUFBb0FnQW9BaFFSQ1FBTElBQUNRQ0FBS0FJRUlBRkhEUUFnQUNnQ0hFRUJSZzBBSUFBZ0FqWUNIQXNMbWdFQUlBQkJBVG9BTlFKQUlBQW9BZ1FnQWtjTkFDQUFRUUU2QURRQ1FDQUFLQUlRSWdKRkJFQWdBRUVCTmdJa0lBQWdBellDR0NBQUlBRTJBaEFnQUNnQ01FRUJSdzBDSUFOQkFVWU5BUXdDQ3lBQklBSkdCRUFnQUNnQ0dDSUNRUUpHQkVBZ0FDQUROZ0lZSUFNaEFnc2dBQ2dDTUVFQlJ3MENJQUpCQVVZTkFRd0NDeUFBSUFBb0FpUkJBV28yQWlRTElBQkJBVG9BTmdzTENnQWdBQ0FCYWlnQ0FBdGRBUUYvSUFBb0FoQWlBMFVFUUNBQVFRRTJBaVFnQUNBQ05nSVlJQUFnQVRZQ0VBOExBa0FnQVNBRFJnUkFJQUFvQWhoQkFrY05BU0FBSUFJMkFoZ1BDeUFBUVFFNkFEWWdBRUVDTmdJWUlBQWdBQ2dDSkVFQmFqWUNKQXNMdVFFQkEzOGpBRUVRYXlJREpBQWdBeUFCTmdJTUFrQUNRQUpBQWtBZ0FCQTFCRUFnQUJCOUlRRWdBQ2dDQkNJRUlBRkJBV3NpQWtZTkFRd0RDMEVCSVFSQkFTRUNJQUF0QUFzaUFVRUJSdzBCQ3lBQUlBSkJBU0FDSUFJUTh3RWdCQ0VCSUFBUU5RMEJDeUFBSVFJZ0FDQUJRUUZxRURvTUFRc2dBQ2dDQUNFQ0lBQWdCRUVCYWhBNUlBUWhBUXNnQWlBQlFRSjBhaUlBSUFOQkRHb1FNeUFEUVFBMkFnZ2dBRUVFYWlBRFFRaHFFRE1nQTBFUWFpUUFDNjhCQVFOL0l3QkJFR3NpQlNRQUlBSkJieUlHSUFGclRRUkFJQUFRRFNFSEFuOGdBU0FHUVFGMlFSQnJTUVJBSUFVZ0FVRUJkRFlDQ0NBRklBRWdBbW8yQWd3Z0JVRU1haUFGUVFocUVIWW9BZ0FRa1FFTUFRc2dCa0VCYXd0QkFXb2lCaEJmSVFJZ0JBUkFJQUlnQnlBRUVGVUxJQU1nQkdzaUF3UkFJQUlnQkdvZ0JDQUhhaUFERUZVTElBRkJDa2NFUUNBSEVCQUxJQUFnQWhCTklBQWdCaEJNSUFWQkVHb2tBQThMRUJjQUN3TUFBUXNYQUNBQUtBSUlFQlpIQkVBZ0FDZ0NDQkRVQWdzZ0FBczRBUUYvSXdCQkVHc2lBeVFBSUFNZ0FqWUNEQ0FEUVFocUlBTkJER29RVWlFQ0lBQWdBUkRhQVNFQUlBSVFVU0FEUVJCcUpBQWdBQXNMQUNBRUlBSTJBZ0JCQXdzSkFDQUFRUUEyQWdBTER3QWdBQ0FBS0FJRVFRRnFOZ0lFQ3hrQkFYOUJBU0VCSUFBUU5RUi9JQUFRZlVFQmF3VWdBUXNMR2dBZ0FFRzBJVFlDQUNBQVFTQnFFQW9hSUFBUXZBRWFJQUFMa3dFQkJIOGpBRUVRYXlJREpBQUNRQ0FCRURWRkJFQWdBQ0FCS0FJSU5nSUlJQUFnQVNrQ0FEY0NBQXdCQ3lBQktBSUFJUVFDUUFKQUFrQWdBU2dDQkNJQ1FRcE5CRUFnQUNFQklBQWdBaEE2REFFTElBSkJiMHNOQVNBQUlBSVFrUUZCQVdvaUJSQmZJZ0VRVFNBQUlBVVFUQ0FBSUFJUU9Rc2dBU0FFSUFKQkFXb1FWUXdCQ3hBWEFBc0xJQU5CRUdva0FBc3hBQ0FDS0FJQUlRSURRQUpBSUFBZ0FVY0VmeUFBS0FJQUlBSkhEUUVnQUFVZ0FRc1BDeUFBUVFScUlRQU1BQXNBQy9rREFRRi9Jd0JCRUdzaURDUUFJQXdnQURZQ0RBSkFBa0FnQUNBRlJnUkFJQUV0QUFCRkRRRkJBQ0VBSUFGQkFEb0FBQ0FFSUFRb0FnQWlBVUVCYWpZQ0FDQUJRUzQ2QUFBZ0J4QUpSUTBDSUFrb0FnQWlBU0FJYTBHZkFVb05BaUFLS0FJQUlRSWdDU0FCUVFScU5nSUFJQUVnQWpZQ0FBd0NDd0pBSUFBZ0JrY05BQ0FIRUFsRkRRQWdBUzBBQUVVTkFVRUFJUUFnQ1NnQ0FDSUJJQWhyUVo4QlNnMENJQW9vQWdBaEFDQUpJQUZCQkdvMkFnQWdBU0FBTmdJQVFRQWhBQ0FLUVFBMkFnQU1BZ3RCZnlFQUlBc2dDMEdBQVdvZ0RFRU1haERTQVNBTGF5SUZRZndBU2cwQklBVkJBblZCNE5BQWFpMEFBQ0VHQWtBQ1FDQUZRWHR4SWdCQjJBQkhCRUFnQUVIZ0FFY05BU0FESUFRb0FnQWlBVWNFUUVGL0lRQWdBVUVCYXkwQUFFSGZBSEVnQWkwQUFFSC9BSEZIRFFVTElBUWdBVUVCYWpZQ0FDQUJJQVk2QUFCQkFDRUFEQVFMSUFKQjBBQTZBQUFNQVFzZ0Fpd0FBQ0lBSUFaQjN3QnhSdzBBSUFJZ0FFR0FBWEk2QUFBZ0FTMEFBRVVOQUNBQlFRQTZBQUFnQnhBSlJRMEFJQWtvQWdBaUFDQUlhMEdmQVVvTkFDQUtLQUlBSVFFZ0NTQUFRUVJxTmdJQUlBQWdBVFlDQUFzZ0JDQUVLQUlBSWdCQkFXbzJBZ0FnQUNBR09nQUFRUUFoQUNBRlFkUUFTZzBCSUFvZ0NpZ0NBRUVCYWpZQ0FBd0JDMEYvSVFBTElBeEJFR29rQUNBQUMxQUJBbjhqQUVFUWF5SUdKQUFnQmtFSWFpSUZJQUVRRHlBRkVEdEI0TkFBUVlEUkFDQUNFR01nQXlBRkVJd0JJZ0VRU0RZQ0FDQUVJQUVRT0RZQ0FDQUFJQUVRTnlBRkVBNGdCa0VRYWlRQUN6RUFJQUl0QUFBaEFnTkFBa0FnQUNBQlJ3Ui9JQUF0QUFBZ0FrY05BU0FBQlNBQkN3OExJQUJCQVdvaEFBd0FDd0FMN1FNQkFYOGpBRUVRYXlJTUpBQWdEQ0FBT2dBUEFrQUNRQ0FBSUFWR0JFQWdBUzBBQUVVTkFVRUFJUUFnQVVFQU9nQUFJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRkJMam9BQUNBSEVBbEZEUUlnQ1NnQ0FDSUJJQWhyUVo4QlNnMENJQW9vQWdBaEFpQUpJQUZCQkdvMkFnQWdBU0FDTmdJQURBSUxBa0FnQUNBR1J3MEFJQWNRQ1VVTkFDQUJMUUFBUlEwQlFRQWhBQ0FKS0FJQUlnRWdDR3RCbndGS0RRSWdDaWdDQUNFQUlBa2dBVUVFYWpZQ0FDQUJJQUEyQWdCQkFDRUFJQXBCQURZQ0FBd0NDMEYvSVFBZ0N5QUxRU0JxSUF4QkQyb1ExUUVnQzJzaUJVRWZTZzBCSUFWQjROQUFhaTBBQUNFR0FrQUNRQUpBQWtBZ0JVRitjVUVXYXc0REFRSUFBZ3NnQXlBRUtBSUFJZ0ZIQkVBZ0FVRUJheTBBQUVIZkFIRWdBaTBBQUVIL0FIRkhEUVVMSUFRZ0FVRUJhallDQUNBQklBWTZBQUJCQUNFQURBUUxJQUpCMEFBNkFBQU1BUXNnQWl3QUFDSUFJQVpCM3dCeFJ3MEFJQUlnQUVHQUFYSTZBQUFnQVMwQUFFVU5BQ0FCUVFBNkFBQWdCeEFKUlEwQUlBa29BZ0FpQUNBSWEwR2ZBVW9OQUNBS0tBSUFJUUVnQ1NBQVFRUnFOZ0lBSUFBZ0FUWUNBQXNnQkNBRUtBSUFJZ0JCQVdvMkFnQWdBQ0FHT2dBQVFRQWhBQ0FGUVJWS0RRRWdDaUFLS0FJQVFRRnFOZ0lBREFFTFFYOGhBQXNnREVFUWFpUUFJQUFMVUFFQ2Z5TUFRUkJySWdZa0FDQUdRUWhxSWdVZ0FSQVBJQVVRTWtIZzBBQkJnTkVBSUFJUWJ5QURJQVVRamdFaUFSQklPZ0FBSUFRZ0FSQTRPZ0FBSUFBZ0FSQTNJQVVRRGlBR1FSQnFKQUFMZmdJQ2Z3SitJd0JCb0FGcklnUWtBQ0FFSUFFMkFqd2dCQ0FCTmdJVUlBUkJmellDR0NBRVFSQnFJZ1ZDQUJCVElBUWdCU0FEUVFFUTVnSWdCQ2tEQ0NFR0lBUXBBd0FoQnlBQ0JFQWdBaUFCSUFRb0FoUWdCQ2dDaUFGcUlBUW9BanhyYWpZQ0FBc2dBQ0FITndNQUlBQWdCamNEQ0NBRVFhQUJhaVFBQ3cwQUlBQWdBU0FDUW44UTBBSUxpUUlBQWtBZ0FBUi9JQUZCL3dCTkRRRUNRRUhZaGdFb0FnQW9BZ0JGQkVBZ0FVR0FmM0ZCZ0w4RFJnMEREQUVMSUFGQi93OU5CRUFnQUNBQlFUOXhRWUFCY2pvQUFTQUFJQUZCQm5aQndBRnlPZ0FBUVFJUEN5QUJRWUJBY1VHQXdBTkhJQUZCZ0xBRFQzRkZCRUFnQUNBQlFUOXhRWUFCY2pvQUFpQUFJQUZCREhaQjRBRnlPZ0FBSUFBZ0FVRUdka0UvY1VHQUFYSTZBQUZCQXc4TElBRkJnSUFFYTBILy96OU5CRUFnQUNBQlFUOXhRWUFCY2pvQUF5QUFJQUZCRW5aQjhBRnlPZ0FBSUFBZ0FVRUdka0UvY1VHQUFYSTZBQUlnQUNBQlFReDJRVDl4UVlBQmNqb0FBVUVFRHdzTFFkU0JBVUVaTmdJQVFYOEZRUUVMRHdzZ0FDQUJPZ0FBUVFFTHJ3SUJCSDhDZndKQUlBQWlBVUVEY1FSQUEwQWdBUzBBQUNJQ1JTQUNRVDFHY2cwQ0lBRkJBV29pQVVFRGNRMEFDd3NDUUNBQktBSUFJZ0pCZjNNZ0FrR0Jnb1FJYTNGQmdJR0NoSGh4RFFBRFFDQUNRYjM2OU9rRGN5SUNRWDl6SUFKQmdZS0VDR3R4UVlDQmdvUjRjUTBCSUFFb0FnUWhBaUFCUVFScUlRRWdBa0dCZ29RSWF5QUNRWDl6Y1VHQWdZS0VlSEZGRFFBTEN3TkFJQUVpQWkwQUFDSURCRUFnQWtFQmFpRUJJQU5CUFVjTkFRc0xJQUlNQVFzZ0FRc2dBR3NpQWtVRVFFRUFEd3NDUUNBQUlBSnFMUUFBRFFCQjlJWUJLQUlBSWdGRkRRQWdBU2dDQUNJRFJRMEFBMEFDUUNBQUlBTWdBaEMrQVVVRVFDQUJLQUlBSUFKcUlnTXRBQUJCUFVZTkFRc2dBU2dDQkNFRElBRkJCR29oQVNBRERRRU1BZ3NMSUFOQkFXb2hCQXNnQkF2aEFRRUNmeUFDUVFCSElRTUNRQUpBQWtBZ0FFRURjVVVnQWtWeURRQWdBVUgvQVhFaEJBTkFJQUF0QUFBZ0JFWU5BaUFDUVFGcklnSkJBRWNoQXlBQVFRRnFJZ0JCQTNGRkRRRWdBZzBBQ3dzZ0EwVU5BUXNDUUNBQUxRQUFJQUZCL3dGeFJpQUNRUVJKY2cwQUlBRkIvd0Z4UVlHQ2hBaHNJUU1EUUNBQUtBSUFJQU56SWdSQmYzTWdCRUdCZ29RSWEzRkJnSUdDaEhoeERRRWdBRUVFYWlFQUlBSkJCR3NpQWtFRFN3MEFDd3NnQWtVTkFDQUJRZjhCY1NFQkEwQWdBU0FBTFFBQVJnUkFJQUFQQ3lBQVFRRnFJUUFnQWtFQmF5SUNEUUFMQzBFQUM5Y0RBZ0orQW44akFFRWdheUlFSkFBQ1FDQUJRdi8vLy8vLy8vLy8vd0NESWdOQ2dJQ0FnSUNBd0lBOGZTQURRb0NBZ0lDQWdNRC93d0I5VkFSQUlBRkNCSVlnQUVJOGlJUWhBeUFBUXYvLy8vLy8vLy8vRDRNaUFFS0JnSUNBZ0lDQWdBaGFCRUFnQTBLQmdJQ0FnSUNBZ01BQWZDRUNEQUlMSUFOQ2dJQ0FnSUNBZ0lCQWZTRUNJQUJDZ0lDQWdJQ0FnSUFJaFVJQVVnMEJJQUlnQTBJQmczd2hBZ3dCQ3lBQVVDQURRb0NBZ0lDQWdNRC8vd0JVSUFOQ2dJQ0FnSUNBd1AvL0FGRWJSUVJBSUFGQ0JJWWdBRUk4aUlSQy8vLy8vLy8vL3dPRFFvQ0FnSUNBZ0lEOC93Q0VJUUlNQVF0Q2dJQ0FnSUNBZ1BqL0FDRUNJQU5DLy8vLy8vLy92Ly9EQUZZTkFFSUFJUUlnQTBJd2lLY2lCVUdSOXdCSkRRQWdCRUVRYWlBQUlBRkMvLy8vLy8vL1A0TkNnSUNBZ0lDQXdBQ0VJZ0lnQlVHQjl3QnJFQzhnQkNBQUlBSkJnZmdBSUFWckVId2dCQ2tEQ0VJRWhpQUVLUU1BSWdCQ1BJaUVJUUlnQkNrREVDQUVLUU1ZaEVJQVVxMGdBRUwvLy8vLy8vLy8vdytEaENJQVFvR0FnSUNBZ0lDQUNGb0VRQ0FDUWdGOElRSU1BUXNnQUVLQWdJQ0FnSUNBZ0FpRlFnQlNEUUFnQWtJQmd5QUNmQ0VDQ3lBRVFTQnFKQUFnQWlBQlFvQ0FnSUNBZ0lDQWdIK0RoTDhMUkFFQmZ5TUFRUkJySWdVa0FDQUZJQUVnQWlBRElBUkNnSUNBZ0lDQWdJQ0FmNFVRUENBRktRTUFJUUVnQUNBRktRTUlOd01JSUFBZ0FUY0RBQ0FGUVJCcUpBQUxxUUVCQVh4RUFBQUFBQUFBOEQ4aEFRSkFJQUJCZ0FoT0JFQkVBQUFBQUFBQTRIOGhBU0FBUWY4UFNBUkFJQUJCL3dkcklRQU1BZ3RFQUFBQUFBQUE4SDhoQVNBQVFmMFhJQUJCL1JkSUcwSCtEMnNoQUF3QkN5QUFRWUY0U2cwQVJBQUFBQUFBQUdBRElRRWdBRUc0Y0VvRVFDQUFRY2tIYWlFQURBRUxSQUFBQUFBQUFBQUFJUUVnQUVId2FDQUFRZkJvU2h0QmtnOXFJUUFMSUFFZ0FFSC9CMnF0UWpTR3Y2SUx4QUVDQVg4Q2ZrRi9JUU1DUUNBQVFnQlNJQUZDLy8vLy8vLy8vLy8vQUlNaUJFS0FnSUNBZ0lEQS8vOEFWaUFFUW9DQWdJQ0FnTUQvL3dCUkd3MEFRUUFnQWtMLy8vLy8vLy8vLy84QWd5SUZRb0NBZ0lDQWdNRC8vd0JXSUFWQ2dJQ0FnSUNBd1AvL0FGRWJEUUFnQUNBRUlBV0VoRkFFUUVFQUR3c2dBU0FDZzBJQVdRUkFRUUFnQVNBQ1V5QUJJQUpSR3cwQklBQWdBU0FDaFlSQ0FGSVBDeUFBUWdCU0lBRWdBbFVnQVNBQ1VSc05BQ0FBSUFFZ0FvV0VRZ0JTSVFNTElBTUxhUUVDZnlBQVFid29OZ0lBSUFBb0FpZ2hBUU5BSUFFRVFFRUFJQUFnQVVFQmF5SUJRUUowSWdJZ0FDZ0NKR29vQWdBZ0FDZ0NJQ0FDYWlnQ0FCRUhBQXdCQ3dzZ0FFRWNhaEFPSUFBb0FpQVFFQ0FBS0FJa0VCQWdBQ2dDTUJBUUlBQW9BandRRUNBQUN3a0FJQUFRaWdFUUVBc0pBQ0FBRUxnQkVCQUxEQUFnQUVFRWFoQitHaUFBQ3d3QUlBQkJDR29RZmhvZ0FBdi9Md0VSZnlNQVFTQnJJaE1rQUFKL1FmUUJFQmtpQ0FSL0FrQWdDQ0lHSUFBZ0FVRURkQkNKQXlJQVFRQk1EUUFnQUVFQ2RDRVBBMEFnQmlBUlFRSjBJZ2RxSWdFb0FnQWhDaUFCSUFZZ0QwRUNkQ0lRYWlJQktBSUFOZ0lBSUFFZ0NqWUNBQ0FHSUFkQkJISnFJZ0VvQWdBaENpQUJJQVlnRUVFRWNtb2lBU2dDQURZQ0FDQUJJQW8yQWdBZ0JpQUhRUWh5YWlJQktBSUFJUW9nQVNBR0lCQkJDSEpxSWdFb0FnQTJBZ0FnQVNBS05nSUFJQVlnQjBFTWNtb2lBU2dDQUNFS0lBRWdCaUFRUVF4eWFpSUJLQUlBTmdJQUlBRWdDallDQUNBUlFRUnFJaEVnRDBFRWF5SVBTQTBBQzBFQklSRWdBRUVCVEEwQUEwQWdCa0VRYWlFR1FRQWhEd05BSUFZZ0QwRUNkR29pQVNBQktBSUFJZ0ZCRG5aQi9BZHhRWUFJYWlnQ0FFRUdka0g4QjNGQmdCQnFLQUlBUVFnUUNDQUJRUloyUWZ3SGNVR0FDR29vQWdCQkJuWkIvQWR4UVlBUWFpZ0NBSE1nQVVFR2RrSDhCM0ZCZ0FocUtBSUFRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUljeUFCUWY4QmNVRUNkRUdBQ0dvb0FnQkJCblpCL0FkeFFZQVFhaWdDQUVFWUVBaHpOZ0lBSUE5QkFXb2lEMEVFUncwQUN5QVJRUUZxSWhFZ0FFY05BQXNMSUFCQkFFZ0VRQ0FJRUJCQkFBd0NDeUFJSUFBMkF2QUJJQWdGUVFBTEN5SUFCSDhnRXlBQ0tRQUFOd01RSUJNZ0Fpa0FDRGNER0NBRVFSQlBCRUFnQkVFRWRpRVZRUUFoQVFOQUlCTWdBeWtBQURjREFDQVRJQU1wQUFnM0F3Z2dBQ2dDOEFFaEZDQUFLQUlNSUFNb0FBd2lBa0VZZENBQ1FRaDBRWUNBL0FkeGNpQUNRUWgyUVlEK0EzRWdBa0VZZG5KeWN5SVBRUTUyUWZ3SGNVR0FFR29vQWdCQkNCQUlJUklnQUNnQ0NDQURLQUFJSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljbk1pRVVFR2RrSDhCM0ZCZ0JCcUtBSUFRUkFRQ0NFT0lBQW9BZ1FnQXlnQUJDSUNRUmgwSUFKQkNIUkJnSUQ4QjNGeUlBSkJDSFpCZ1A0RGNTQUNRUmgyY25KeklnZEIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBZ2hDU0FBS0FJQUlBTW9BQUFpQWtFWWRDQUNRUWgwUVlDQS9BZHhjaUFDUVFoMlFZRCtBM0VnQWtFWWRuSnljeUlMUVE1MlFmd0hjVUdBRUdvb0FnQkJDQkFJSVJBZ0QwRUdka0g4QjNGQmdCQnFLQUlBUVJBUUNDRUtJQkZCL3dGeFFRSjBRWUFRYWlnQ0FFRVlFQWdoQmlBSFFRNTJRZndIY1VHQUVHb29BZ0JCQ0JBSUlRZ2dDMEVHZGtIOEIzRkJnQkJxS0FJQVFSQVFDQ0VFSUE5Qi93RnhRUUowUVlBUWFpZ0NBRUVZRUFnaEFpQVJRUTUyUWZ3SGNVR0FFR29vQWdCQkNCQUlJQTlCRm5aQi9BZHhRWUFRYWlnQ0FITWdCMEVHZGtIOEIzRkJnQkJxS0FJQVFSQVFDSE1nQzBIL0FYRkJBblJCZ0JCcUtBSUFRUmdRQ0hNZ0FDZ0NISE1pREVFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NFUElBQW9BaGdnQWlBRUlBZ2dFVUVXZGtIOEIzRkJnQkJxS0FJQWMzTnpjeUlOUVFaMlFmd0hjVUdBRUdvb0FnQkJFQkFJSVJFZ0FDZ0NGQ0FHSUFvZ0VDQUhRUloyUWZ3SGNVR0FFR29vQWdCemMzTnpJZ1ZCL3dGeFFRSjBRWUFRYWlnQ0FFRVlFQWdoQnlBQUtBSVFJQWtnRGlBU0lBdEJGblpCL0FkeFFZQVFhaWdDQUhOemMzTWlDMEVPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0VRSUF4QkJuWkIvQWR4UVlBUWFpZ0NBRUVRRUFnaENpQU5RZjhCY1VFQ2RFR0FFR29vQWdCQkdCQUlJUVlnQlVFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NFSUlBdEJCblpCL0FkeFFZQVFhaWdDQUVFUUVBZ2hCQ0FNUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJSVFJZ0RVRU9ka0g4QjNGQmdCQnFLQUlBUVFnUUNDQU1RUloyUWZ3SGNVR0FFR29vQWdCeklBVkJCblpCL0FkeFFZQVFhaWdDQUVFUUVBaHpJQXRCL3dGeFFRSjBRWUFRYWlnQ0FFRVlFQWh6SUFBb0FpeHpJZ3hCRG5aQi9BZHhRWUFRYWlnQ0FFRUlFQWdoRWlBQUtBSW9JQUlnQkNBSUlBMUJGblpCL0FkeFFZQVFhaWdDQUhOemMzTWlEVUVHZGtIOEIzRkJnQkJxS0FJQVFSQVFDQ0VPSUFBb0FpUWdCaUFLSUJBZ0JVRVdka0g4QjNGQmdCQnFLQUlBYzNOemN5SUZRZjhCY1VFQ2RFR0FFR29vQWdCQkdCQUlJUWtnQUNnQ0lDQUhJQkVnRHlBTFFSWjJRZndIY1VHQUVHb29BZ0J6YzNOeklndEJEblpCL0FkeFFZQVFhaWdDQUVFSUVBZ2hFQ0FNUVFaMlFmd0hjVUdBRUdvb0FnQkJFQkFJSVFvZ0RVSC9BWEZCQW5SQmdCQnFLQUlBUVJnUUNDRUdJQVZCRG5aQi9BZHhRWUFRYWlnQ0FFRUlFQWdoQ0NBTFFRWjJRZndIY1VHQUVHb29BZ0JCRUJBSUlRUWdERUgvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDQ0VDSUExQkRuWkIvQWR4UVlBUWFpZ0NBRUVJRUFnZ0RFRVdka0g4QjNGQmdCQnFLQUlBY3lBRlFRWjJRZndIY1VHQUVHb29BZ0JCRUJBSWN5QUxRZjhCY1VFQ2RFR0FFR29vQWdCQkdCQUljeUFBS0FJOGN5SU1RUTUyUWZ3SGNVR0FFR29vQWdCQkNCQUlJUThnQUNnQ09DQUNJQVFnQ0NBTlFSWjJRZndIY1VHQUVHb29BZ0J6YzNOeklnMUJCblpCL0FkeFFZQVFhaWdDQUVFUUVBZ2hFU0FBS0FJMElBWWdDaUFRSUFWQkZuWkIvQWR4UVlBUWFpZ0NBSE56YzNNaUJVSC9BWEZCQW5SQmdCQnFLQUlBUVJnUUNDRUhJQUFvQWpBZ0NTQU9JQklnQzBFV2RrSDhCM0ZCZ0JCcUtBSUFjM056Y3lJTFFRNTJRZndIY1VHQUVHb29BZ0JCQ0JBSUlSQWdERUVHZGtIOEIzRkJnQkJxS0FJQVFSQVFDQ0VLSUExQi93RnhRUUowUVlBUWFpZ0NBRUVZRUFnaEJpQUZRUTUyUWZ3SGNVR0FFR29vQWdCQkNCQUlJUWdnQzBFR2RrSDhCM0ZCZ0JCcUtBSUFRUkFRQ0NFRUlBeEIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBZ2hBaUFOUVE1MlFmd0hjVUdBRUdvb0FnQkJDQkFJSUF4QkZuWkIvQWR4UVlBUWFpZ0NBSE1nQlVFR2RrSDhCM0ZCZ0JCcUtBSUFRUkFRQ0hNZ0MwSC9BWEZCQW5SQmdCQnFLQUlBUVJnUUNITWdBQ2dDVEhNaURFRU9ka0g4QjNGQmdCQnFLQUlBUVFnUUNDRVNJQUFvQWtnZ0FpQUVJQWdnRFVFV2RrSDhCM0ZCZ0JCcUtBSUFjM056Y3lJTlFRWjJRZndIY1VHQUVHb29BZ0JCRUJBSUlRNGdBQ2dDUkNBR0lBb2dFQ0FGUVJaMlFmd0hjVUdBRUdvb0FnQnpjM056SWdWQi93RnhRUUowUVlBUWFpZ0NBRUVZRUFnaENTQUFLQUpBSUFjZ0VTQVBJQXRCRm5aQi9BZHhRWUFRYWlnQ0FITnpjM01pQzBFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NFUUlBeEJCblpCL0FkeFFZQVFhaWdDQUVFUUVBZ2hDaUFOUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJSVFZZ0JVRU9ka0g4QjNGQmdCQnFLQUlBUVFnUUNDRUlJQXRCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWdoQkNBTVFmOEJjVUVDZEVHQUVHb29BZ0JCR0JBSUlRSWdEVUVPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0FNUVJaMlFmd0hjVUdBRUdvb0FnQnpJQVZCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWh6SUF0Qi93RnhRUUowUVlBUWFpZ0NBRUVZRUFoeklBQW9BbHh6SWd4QkRuWkIvQWR4UVlBUWFpZ0NBRUVJRUFnaER5QUFLQUpZSUFJZ0JDQUlJQTFCRm5aQi9BZHhRWUFRYWlnQ0FITnpjM01pRFVFR2RrSDhCM0ZCZ0JCcUtBSUFRUkFRQ0NFUklBQW9BbFFnQmlBS0lCQWdCVUVXZGtIOEIzRkJnQkJxS0FJQWMzTnpjeUlGUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJSVFjZ0FDZ0NVQ0FKSUE0Z0VpQUxRUloyUWZ3SGNVR0FFR29vQWdCemMzTnpJZ3RCRG5aQi9BZHhRWUFRYWlnQ0FFRUlFQWdoRUNBTVFRWjJRZndIY1VHQUVHb29BZ0JCRUJBSUlRb2dEVUgvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDQ0VHSUFWQkRuWkIvQWR4UVlBUWFpZ0NBRUVJRUFnaENDQUxRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUlJUVFnREVIL0FYRkJBblJCZ0JCcUtBSUFRUmdRQ0NFQ0lBMUJEblpCL0FkeFFZQVFhaWdDQUVFSUVBZ2dERUVXZGtIOEIzRkJnQkJxS0FJQWN5QUZRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUljeUFMUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJY3lBQUtBSnNjeUlNUVE1MlFmd0hjVUdBRUdvb0FnQkJDQkFJSVJJZ0FDZ0NhQ0FDSUFRZ0NDQU5RUloyUWZ3SGNVR0FFR29vQWdCemMzTnpJZzFCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWdoRGlBQUtBSmtJQVlnQ2lBUUlBVkJGblpCL0FkeFFZQVFhaWdDQUhOemMzTWlCVUgvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDQ0VKSUFBb0FtQWdCeUFSSUE4Z0MwRVdka0g4QjNGQmdCQnFLQUlBYzNOemN5SUxRUTUyUWZ3SGNVR0FFR29vQWdCQkNCQUlJUkFnREVFR2RrSDhCM0ZCZ0JCcUtBSUFRUkFRQ0NFS0lBMUIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBZ2hCaUFGUVE1MlFmd0hjVUdBRUdvb0FnQkJDQkFJSVFnZ0MwRUdka0g4QjNGQmdCQnFLQUlBUVJBUUNDRUVJQXhCL3dGeFFRSjBRWUFRYWlnQ0FFRVlFQWdoQWlBTlFRNTJRZndIY1VHQUVHb29BZ0JCQ0JBSUlBeEJGblpCL0FkeFFZQVFhaWdDQUhNZ0JVRUdka0g4QjNGQmdCQnFLQUlBUVJBUUNITWdDMEgvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDSE1nQUNnQ2ZITWlERUVPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0VQSUFBb0FuZ2dBaUFFSUFnZ0RVRVdka0g4QjNGQmdCQnFLQUlBYzNOemN5SU5RUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUlJUkVnQUNnQ2RDQUdJQW9nRUNBRlFSWjJRZndIY1VHQUVHb29BZ0J6YzNOeklnVkIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBZ2hCeUFBS0FKd0lBa2dEaUFTSUF0QkZuWkIvQWR4UVlBUWFpZ0NBSE56YzNNaURrRU9ka0g4QjNGQmdCQnFLQUlBUVFnUUNDRVFJQXhCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWdoQ2lBTlFmOEJjVUVDZEVHQUVHb29BZ0JCR0JBSUlRWWdCVUVPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0VJSUE1QkJuWkIvQWR4UVlBUWFpZ0NBRUVRRUFnaEJDQU1RZjhCY1VFQ2RFR0FFR29vQWdCQkdCQUlJUUlnRFVFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NBTVFSWjJRZndIY1VHQUVHb29BZ0J6SUFWQkJuWkIvQWR4UVlBUWFpZ0NBRUVRRUFoeklBNUIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBaHpJQUFvQW93QmN5SUpRUTUyUWZ3SGNVR0FFR29vQWdCQkNCQUlJQUFvQW9BQklBY2dFU0FQSUE1QkZuWkIvQWR4UVlBUWFpZ0NBSE56YzNNaUIwRVdka0g4QjNGQmdCQnFLQUlBY3lBQUtBS0lBU0FDSUFRZ0NDQU5RUloyUWZ3SGNVR0FFR29vQWdCemMzTnpJZ1JCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWh6SUFBb0FvUUJJQVlnQ2lBUUlBVkJGblpCL0FkeFFZQVFhaWdDQUhOemMzTWlBa0gvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDSE1nQUNnQ2tBRnpJUVVnQjBFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NBQ1FSWjJRZndIY1VHQUVHb29BZ0J6SUFsQkJuWkIvQWR4UVlBUWFpZ0NBRUVRRUFoeklBUkIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBaHpJQUFvQXBRQmN5RVNJQUpCRG5aQi9BZHhRWUFRYWlnQ0FFRUlFQWdnQkVFV2RrSDhCM0ZCZ0JCcUtBSUFjeUFIUVFaMlFmd0hjVUdBRUdvb0FnQkJFQkFJY3lBSlFmOEJjVUVDZEVHQUVHb29BZ0JCR0JBSWN5QUFLQUtZQVhNaERnSi9JQVJCRG5aQi9BZHhRWUFRYWlnQ0FFRUlFQWdnQ1VFV2RrSDhCM0ZCZ0JCcUtBSUFjeUFDUVFaMlFmd0hjVUdBRUdvb0FnQkJFQkFJY3lBSFFmOEJjVUVDZEVHQUVHb29BZ0JCR0JBSWN5QUFLQUtjQVhNaUNTQVVRUXRJRFFBYUlBbEJEblpCL0FkeFFZQVFhaWdDQUVFSUVBZ2hEeUFPUVFaMlFmd0hjVUdBRUdvb0FnQkJFQkFJSVJFZ0VrSC9BWEZCQW5SQmdCQnFLQUlBUVJnUUNDRUhJQVZCRG5aQi9BZHhRWUFRYWlnQ0FFRUlFQWdoRUNBSlFRWjJRZndIY1VHQUVHb29BZ0JCRUJBSUlRb2dEa0gvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDQ0VHSUJKQkRuWkIvQWR4UVlBUWFpZ0NBRUVJRUFnaENDQUZRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUlJUVFnQ1VIL0FYRkJBblJCZ0JCcUtBSUFRUmdRQ0NFQ0lBNUJEblpCL0FkeFFZQVFhaWdDQUVFSUVBZ2dDVUVXZGtIOEIzRkJnQkJxS0FJQWN5QVNRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUljeUFGUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJY3lBQUtBS3NBWE1pQ1VFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NBQUtBS2dBU0FISUJFZ0R5QUZRUloyUWZ3SGNVR0FFR29vQWdCemMzTnpJZ2RCRm5aQi9BZHhRWUFRYWlnQ0FITWdBQ2dDcUFFZ0FpQUVJQWdnRGtFV2RrSDhCM0ZCZ0JCcUtBSUFjM056Y3lJRVFRWjJRZndIY1VHQUVHb29BZ0JCRUJBSWN5QUFLQUtrQVNBR0lBb2dFQ0FTUVJaMlFmd0hjVUdBRUdvb0FnQnpjM056SWdKQi93RnhRUUowUVlBUWFpZ0NBRUVZRUFoeklBQW9BckFCY3lFRklBZEJEblpCL0FkeFFZQVFhaWdDQUVFSUVBZ2dBa0VXZGtIOEIzRkJnQkJxS0FJQWN5QUpRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUljeUFFUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJY3lBQUtBSzBBWE1oRWlBQ1FRNTJRZndIY1VHQUVHb29BZ0JCQ0JBSUlBUkJGblpCL0FkeFFZQVFhaWdDQUhNZ0IwRUdka0g4QjNGQmdCQnFLQUlBUVJBUUNITWdDVUgvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDSE1nQUNnQ3VBRnpJUTRnQkVFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NBSlFSWjJRZndIY1VHQUVHb29BZ0J6SUFKQkJuWkIvQWR4UVlBUWFpZ0NBRUVRRUFoeklBZEIvd0Z4UVFKMFFZQVFhaWdDQUVFWUVBaHpJQUFvQXJ3QmN5SUpJQlJCRFVnTkFCb2dDVUVPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0VQSUE1QkJuWkIvQWR4UVlBUWFpZ0NBRUVRRUFnaEVTQVNRZjhCY1VFQ2RFR0FFR29vQWdCQkdCQUlJUWNnQlVFT2RrSDhCM0ZCZ0JCcUtBSUFRUWdRQ0NFUUlBbEJCblpCL0FkeFFZQVFhaWdDQUVFUUVBZ2hDaUFPUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJSVFZZ0VrRU9ka0g4QjNGQmdCQnFLQUlBUVFnUUNDRUlJQVZCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWdoQkNBSlFmOEJjVUVDZEVHQUVHb29BZ0JCR0JBSUlRSWdEa0VPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0FKUVJaMlFmd0hjVUdBRUdvb0FnQnpJQkpCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWh6SUFWQi93RnhRUUowUVlBUWFpZ0NBRUVZRUFoeklBQW9Bc3dCY3lJSlFRNTJRZndIY1VHQUVHb29BZ0JCQ0JBSUlBQW9Bc0FCSUFjZ0VTQVBJQVZCRm5aQi9BZHhRWUFRYWlnQ0FITnpjM01pQjBFV2RrSDhCM0ZCZ0JCcUtBSUFjeUFBS0FMSUFTQUNJQVFnQ0NBT1FSWjJRZndIY1VHQUVHb29BZ0J6YzNOeklnUkJCblpCL0FkeFFZQVFhaWdDQUVFUUVBaHpJQUFvQXNRQklBWWdDaUFRSUJKQkZuWkIvQWR4UVlBUWFpZ0NBSE56YzNNaUFrSC9BWEZCQW5SQmdCQnFLQUlBUVJnUUNITWdBQ2dDMEFGeklRVWdCMEVPZGtIOEIzRkJnQkJxS0FJQVFRZ1FDQ0FDUVJaMlFmd0hjVUdBRUdvb0FnQnpJQWxCQm5aQi9BZHhRWUFRYWlnQ0FFRVFFQWh6SUFSQi93RnhRUUowUVlBUWFpZ0NBRUVZRUFoeklBQW9BdFFCY3lFU0lBSkJEblpCL0FkeFFZQVFhaWdDQUVFSUVBZ2dCRUVXZGtIOEIzRkJnQkJxS0FJQWN5QUhRUVoyUWZ3SGNVR0FFR29vQWdCQkVCQUljeUFKUWY4QmNVRUNkRUdBRUdvb0FnQkJHQkFJY3lBQUtBTFlBWE1oRGlBRVFRNTJRZndIY1VHQUVHb29BZ0JCQ0JBSUlBbEJGblpCL0FkeFFZQVFhaWdDQUhNZ0FrRUdka0g4QjNGQmdCQnFLQUlBUVJBUUNITWdCMEgvQVhGQkFuUkJnQkJxS0FJQVFSZ1FDSE1nQUNnQzNBRnpDeUVJSUFNZ0FDQVVRUVIwYWlJRUtBSUFJQkpCL3dGeFFZQVlhaTBBQUNBSVFSQjJRZjhCY1VHQUdHb3RBQUJCRUhRZ0JVRVlka0dBR0dvdEFBQkJHSFJ5SUE1QkNIWkIvd0Z4UVlBWWFpMEFBRUVJZEhKeWN5SUNRUmgwSUFKQkNIUkJnSUQ4QjNGeUlBSkJDSFpCZ1A0RGNTQUNRUmgyY25JMkFBQWdBeUFFS0FJRUlBNUIvd0Z4UVlBWWFpMEFBQ0FGUVJCMlFmOEJjVUdBR0dvdEFBQkJFSFFnRWtFWWRrR0FHR290QUFCQkdIUnlJQWhCQ0haQi93RnhRWUFZYWkwQUFFRUlkSEp5Y3lJQ1FSaDBJQUpCQ0hSQmdJRDhCM0Z5SUFKQkNIWkJnUDREY1NBQ1FSaDJjbkkyQUFRZ0F5QUVLQUlJSUFoQi93RnhRWUFZYWkwQUFDQVNRUkIyUWY4QmNVR0FHR290QUFCQkVIUWdEa0VZZGtHQUdHb3RBQUJCR0hSeUlBVkJDSFpCL3dGeFFZQVlhaTBBQUVFSWRISnljeUlDUVJoMElBSkJDSFJCZ0lEOEIzRnlJQUpCQ0haQmdQNERjU0FDUVJoMmNuSTJBQWdnQXlBRUtBSU1JQVZCL3dGeFFZQVlhaTBBQUNBT1FSQjJRZjhCY1VHQUdHb3RBQUJCRUhRZ0NFRVlka0dBR0dvdEFBQkJHSFJ5SUJKQkNIWkIvd0Z4UVlBWWFpMEFBRUVJZEhKeWN5SUNRUmgwSUFKQkNIUkJnSUQ4QjNGeUlBSkJDSFpCZ1A0RGNTQUNRUmgyY25JMkFBeEJBQ0VDQTBBZ0FpQURhaUlFSUFRdEFBQWdFMEVRYWlBQ2FpMEFBSE02QUFBZ0FrRUJhaUlDUVJCSERRQUxJQk1nRXlrRENEY0RHQ0FUSUJNcEF3QTNBeEFnQTBFUWFpRURJQUZCQVdvaUFTQVZSdzBBQ3dzZ0FCQVFRUUFGUVg4TEdpQVRRU0JxSkFBTGxnRUJBbjhqQUVFUWF5SUFKQUFDUUNBQVFReHFJQUJCQ0dvUUF3MEFRZlNHQVNBQUtBSU1RUUowUVFScUVCa2lBVFlDQUNBQlJRMEFJQUFvQWdnUUdTSUJCRUJCOUlZQktBSUFJQUFvQWd4QkFuUnFRUUEyQWdCQjlJWUJLQUlBSUFFUUFrVU5BUXRCOUlZQlFRQTJBZ0FMSUFCQkVHb2tBRUhJZ1FGQnZSNFFWQnBCMklZQlFlaUZBVFlDQUVHUWhnRkJLallDQUF0WkFRRi9JQUFnQUNnQ1NDSUJRUUZySUFGeU5nSklJQUFvQWdBaUFVRUljUVJBSUFBZ0FVRWdjallDQUVGL0R3c2dBRUlBTndJRUlBQWdBQ2dDTENJQk5nSWNJQUFnQVRZQ0ZDQUFJQUVnQUNnQ01HbzJBaEJCQUF0OEFRSi9JQUFnQUNnQ1NDSUJRUUZySUFGeU5nSklJQUFvQWhRZ0FDZ0NIRWNFUUNBQVFRQkJBQ0FBS0FJa0VRUUFHZ3NnQUVFQU5nSWNJQUJDQURjREVDQUFLQUlBSWdGQkJIRUVRQ0FBSUFGQklISTJBZ0JCZnc4TElBQWdBQ2dDTENBQUtBSXdhaUlDTmdJSUlBQWdBallDQkNBQlFSdDBRUjkxQzlVQ0FRSi9Ba0FnQUNBQlJnMEFJQUVnQUNBQ2FpSUVhMEVBSUFKQkFYUnJUUVJBSUFBZ0FTQUNFRUlhRHdzZ0FDQUJjMEVEY1NFREFrQUNRQ0FBSUFGSkJFQWdBdzBDSUFCQkEzRkZEUUVEUUNBQ1JRMEVJQUFnQVMwQUFEb0FBQ0FCUVFGcUlRRWdBa0VCYXlFQ0lBQkJBV29pQUVFRGNRMEFDd3dCQ3dKQUlBTU5BQ0FFUVFOeEJFQURRQ0FDUlEwRklBQWdBa0VCYXlJQ2FpSURJQUVnQW1vdEFBQTZBQUFnQTBFRGNRMEFDd3NnQWtFRFRRMEFBMEFnQUNBQ1FRUnJJZ0pxSUFFZ0Ftb29BZ0EyQWdBZ0FrRURTdzBBQ3dzZ0FrVU5BZ05BSUFBZ0FrRUJheUlDYWlBQklBSnFMUUFBT2dBQUlBSU5BQXNNQWdzZ0FrRURUUTBBQTBBZ0FDQUJLQUlBTmdJQUlBRkJCR29oQVNBQVFRUnFJUUFnQWtFRWF5SUNRUU5MRFFBTEN5QUNSUTBBQTBBZ0FDQUJMUUFBT2dBQUlBQkJBV29oQUNBQlFRRnFJUUVnQWtFQmF5SUNEUUFMQ3dzVUFDQUFRUXhxSWdBZ0FCQ1VBVUVCYWhDVEFRdUxEQUVHZnlBQUlBRnFJUVVDUUFKQUlBQW9BZ1FpQWtFQmNRMEFJQUpCQTNGRkRRRWdBQ2dDQUNJQ0lBRnFJUUVDUUNBQUlBSnJJZ0JCN0lFQktBSUFSd1JBSUFKQi93Rk5CRUFnQUNnQ0NDSUVJQUpCQTNZaUFrRURkRUdBZ2dGcVJob2dBQ2dDRENJRElBUkhEUUpCMklFQlFkaUJBU2dDQUVGK0lBSjNjVFlDQUF3REN5QUFLQUlZSVFZQ1FDQUFJQUFvQWd3aUEwY0VRQ0FBS0FJSUlnSkI2SUVCS0FJQVNSb2dBaUFETmdJTUlBTWdBallDQ0F3QkN3SkFJQUJCRkdvaUFpZ0NBQ0lFRFFBZ0FFRVFhaUlDS0FJQUlnUU5BRUVBSVFNTUFRc0RRQ0FDSVFjZ0JDSURRUlJxSWdJb0FnQWlCQTBBSUFOQkVHb2hBaUFES0FJUUlnUU5BQXNnQjBFQU5nSUFDeUFHUlEwQ0FrQWdBQ0FBS0FJY0lnUkJBblJCaUlRQmFpSUNLQUlBUmdSQUlBSWdBellDQUNBRERRRkIzSUVCUWR5QkFTZ0NBRUYrSUFSM2NUWUNBQXdFQ3lBR1FSQkJGQ0FHS0FJUUlBQkdHMm9nQXpZQ0FDQURSUTBEQ3lBRElBWTJBaGdnQUNnQ0VDSUNCRUFnQXlBQ05nSVFJQUlnQXpZQ0dBc2dBQ2dDRkNJQ1JRMENJQU1nQWpZQ0ZDQUNJQU0yQWhnTUFnc2dCU2dDQkNJQ1FRTnhRUU5IRFFGQjRJRUJJQUUyQWdBZ0JTQUNRWDV4TmdJRUlBQWdBVUVCY2pZQ0JDQUZJQUUyQWdBUEN5QUVJQU0yQWd3Z0F5QUVOZ0lJQ3dKQUlBVW9BZ1FpQWtFQ2NVVUVRQ0FGUWZDQkFTZ0NBRVlFUUVId2dRRWdBRFlDQUVIa2dRRkI1SUVCS0FJQUlBRnFJZ0UyQWdBZ0FDQUJRUUZ5TmdJRUlBQkI3SUVCS0FJQVJ3MERRZUNCQVVFQU5nSUFRZXlCQVVFQU5nSUFEd3NnQlVIc2dRRW9BZ0JHQkVCQjdJRUJJQUEyQWdCQjRJRUJRZUNCQVNnQ0FDQUJhaUlCTmdJQUlBQWdBVUVCY2pZQ0JDQUFJQUZxSUFFMkFnQVBDeUFDUVhoeElBRnFJUUVDUUNBQ1FmOEJUUVJBSUFVb0FnZ2lCQ0FDUVFOMklnSkJBM1JCZ0lJQmFrWWFJQVFnQlNnQ0RDSURSZ1JBUWRpQkFVSFlnUUVvQWdCQmZpQUNkM0UyQWdBTUFnc2dCQ0FETmdJTUlBTWdCRFlDQ0F3QkN5QUZLQUlZSVFZQ1FDQUZJQVVvQWd3aUEwY0VRQ0FGS0FJSUlnSkI2SUVCS0FJQVNSb2dBaUFETmdJTUlBTWdBallDQ0F3QkN3SkFJQVZCRkdvaUJDZ0NBQ0lDRFFBZ0JVRVFhaUlFS0FJQUlnSU5BRUVBSVFNTUFRc0RRQ0FFSVFjZ0FpSURRUlJxSWdRb0FnQWlBZzBBSUFOQkVHb2hCQ0FES0FJUUlnSU5BQXNnQjBFQU5nSUFDeUFHUlEwQUFrQWdCU0FGS0FJY0lnUkJBblJCaUlRQmFpSUNLQUlBUmdSQUlBSWdBellDQUNBRERRRkIzSUVCUWR5QkFTZ0NBRUYrSUFSM2NUWUNBQXdDQ3lBR1FSQkJGQ0FHS0FJUUlBVkdHMm9nQXpZQ0FDQURSUTBCQ3lBRElBWTJBaGdnQlNnQ0VDSUNCRUFnQXlBQ05nSVFJQUlnQXpZQ0dBc2dCU2dDRkNJQ1JRMEFJQU1nQWpZQ0ZDQUNJQU0yQWhnTElBQWdBVUVCY2pZQ0JDQUFJQUZxSUFFMkFnQWdBRUhzZ1FFb0FnQkhEUUZCNElFQklBRTJBZ0FQQ3lBRklBSkJmbkUyQWdRZ0FDQUJRUUZ5TmdJRUlBQWdBV29nQVRZQ0FBc2dBVUgvQVUwRVFDQUJRUU4ySWdKQkEzUkJnSUlCYWlFQkFuOUIySUVCS0FJQUlnTkJBU0FDZENJQ2NVVUVRRUhZZ1FFZ0FpQURjallDQUNBQkRBRUxJQUVvQWdnTElRSWdBU0FBTmdJSUlBSWdBRFlDRENBQUlBRTJBZ3dnQUNBQ05nSUlEd3RCSHlFQ0lBQkNBRGNDRUNBQlFmLy8vd2ROQkVBZ0FVRUlkaUlDSUFKQmdQNC9ha0VRZGtFSWNTSUVkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSURkQ0lDSUFKQmdJQVBha0VRZGtFQ2NTSUNkRUVQZGlBRElBUnlJQUp5YXlJQ1FRRjBJQUVnQWtFVmFuWkJBWEZ5UVJ4cUlRSUxJQUFnQWpZQ0hDQUNRUUowUVlpRUFXb2hCd0pBQWtCQjNJRUJLQUlBSWdSQkFTQUNkQ0lEY1VVRVFFSGNnUUVnQXlBRWNqWUNBQ0FISUFBMkFnQWdBQ0FITmdJWURBRUxJQUZCQUVFWklBSkJBWFpySUFKQkgwWWJkQ0VDSUFjb0FnQWhBd05BSUFNaUJDZ0NCRUY0Y1NBQlJnMENJQUpCSFhZaEF5QUNRUUYwSVFJZ0JDQURRUVJ4YWlJSFFSQnFLQUlBSWdNTkFBc2dCeUFBTmdJUUlBQWdCRFlDR0FzZ0FDQUFOZ0lNSUFBZ0FEWUNDQThMSUFRb0FnZ2lBU0FBTmdJTUlBUWdBRFlDQ0NBQVFRQTJBaGdnQUNBRU5nSU1JQUFnQVRZQ0NBc0xaQUFnQUNBQlFpaUdRb0NBZ0lDQWdNRC9BSU1nQVVJNGhvUWdBVUlZaGtLQWdJQ0FnT0EvZ3lBQlFnaUdRb0NBZ0lEd0g0T0VoQ0FCUWdpSVFvQ0FnUGdQZ3lBQlFoaUlRb0NBL0FlRGhDQUJRaWlJUW9EK0E0TWdBVUk0aUlTRWhEY0FBQXNQQUNBQUtBSU1HaUFBUVFBMkFnd0xod0VCQkg4akFFRVFheUlGSkFBakFFRVFheUlESkFBQ1FDQUJRVzlOQkVBQ1FDQUJRUXBOQkVBZ0FDQUJFRG9nQUNFRURBRUxJQUFnQVJDUkFVRUJhaUlHRUY4aUJCQk5JQUFnQmhCTUlBQWdBUkE1Q3lBRUlBRWdBaEQzQVNBRFFRQTZBQThnQVNBRWFpQURRUTlxRURRZ0EwRVFhaVFBREFFTEVCY0FDeUFGUVJCcUpBQWdBQXRWQVFKL0lBQW9BZ1FoQkFKL1FRQWdBa1VOQUJvZ0JFRUlkU0lGSUFSQkFYRkZEUUFhSUFJb0FnQWdCUkRGQVFzaEJTQUFLQUlBSWdBZ0FTQUNJQVZxSUFOQkFpQUVRUUp4R3lBQUtBSUFLQUljRVFnQUN3MEFJQUFvQWdBZ0FTZ0NBRWtMSXdBZ0FFRUFOZ0lNSUFBZ0FUWUNCQ0FBSUFFMkFnQWdBQ0FCUVFGcU5nSUlJQUFMdXdFQkEzOGpBRUVRYXlJRkpBQWdBa0h2Ly8vL0F5SUdJQUZyVFFSQUlBQVFEU0VISUFBQ2Z5QUJJQVpCQVhaQkVHdEpCRUFnQlNBQlFRRjBOZ0lJSUFVZ0FTQUNhallDRENBRlFReHFJQVZCQ0dvUWRpZ0NBQkNDQVF3QkN5QUdRUUZyQzBFQmFpSUdFSUVCSVFJZ0JBUkFJQUlnQnlBRUVIRUxJQU1nQkdzaUF3UkFJQVJCQW5RaUJDQUNhaUFFSUFkcUlBTVFjUXNnQVVFQlJ3UkFJQWNRRUFzZ0FDQUNFRTBnQUNBR0VFd2dCVUVRYWlRQUR3c1FGd0FMaEFJQkEzOGpBRUVRYXlJSUpBQWdBa0h2Ly8vL0F5SUpJQUZCZjNOcVRRUkFJQUFRRFNFS0lBQUNmeUFCSUFsQkFYWkJFR3RKQkVBZ0NDQUJRUUYwTmdJSUlBZ2dBU0FDYWpZQ0RDQUlRUXhxSUFoQkNHb1FkaWdDQUJDQ0FRd0JDeUFKUVFGckMwRUJhaUlKRUlFQklRSWdCQVJBSUFJZ0NpQUVFSEVMSUFZRVFDQUVRUUowSUFKcUlBY2dCaEJ4Q3lBRElBUWdCV3BySWdNRVFDQUVRUUowSWdjZ0Ftb2dCa0VDZEdvZ0J5QUthaUFGUVFKMGFpQURFSEVMSUFGQkFVY0VRQ0FLRUJBTElBQWdBaEJOSUFBZ0NSQk1JQUFnQkNBR2FpQURhaUlBRURrZ0NFRUFOZ0lFSUFJZ0FFRUNkR29nQ0VFRWFoQXpJQWhCRUdva0FBOExFQmNBQzFnQkEzOUJ5SUVCRUEwaEEwSElnUUVRQ1NFQkl3QkJFR3NpQWlRQUlBSWdBRG9BRDBGL0lRQWdBUVJBSUFFRWZ5QURJQUlzQUE4UVpTQUJFTndCQlVFQUN5SUFJQU5yUVg4Z0FCc2hBQXNnQWtFUWFpUUFJQUFMY0FFRGZ5TUFRUkJySWdNa0FDQUNRVzlOQkVBQ1FDQUNRUXBOQkVBZ0FDQUNFRG9nQUNFRURBRUxJQUFnQWhDUkFVRUJhaUlGRUY4aUJCQk5JQUFnQlJCTUlBQWdBaEE1Q3lBRUlBRWdBaEJWSUFOQkFEb0FEeUFDSUFScUlBTkJEMm9RTkNBRFFSQnFKQUFQQ3hBWEFBc1NBQ0FCQkVBZ0FDQUNFR1VnQVJCR0dnc0w3QUVCQTM4akFFRVFheUlJSkFBZ0FrRnZJZ2tnQVVGL2MycE5CRUFnQUJBTklRb0NmeUFCSUFsQkFYWkJFR3RKQkVBZ0NDQUJRUUYwTmdJSUlBZ2dBU0FDYWpZQ0RDQUlRUXhxSUFoQkNHb1FkaWdDQUJDUkFRd0JDeUFKUVFGckMwRUJhaUlKRUY4aEFpQUVCRUFnQWlBS0lBUVFWUXNnQmdSQUlBSWdCR29nQnlBR0VGVUxJQU1nQkNBRmFtc2lBd1JBSUFJZ0JHb2dCbW9nQkNBS2FpQUZhaUFERUZVTElBRkJDa2NFUUNBS0VCQUxJQUFnQWhCTklBQWdDUkJNSUFBZ0JDQUdhaUFEYWlJQUVEa2dDRUVBT2dBSElBQWdBbW9nQ0VFSGFoQTBJQWhCRUdva0FBOExFQmNBQ3lRQkFYOGpBRUVRYXlJQkpBQWdBU0FBTmdJSUlBRW9BZ2doQUNBQlFSQnFKQUFnQUFzSkFDQUFFQlkyQWdBTEt3RUJmeUFBS0FJRUlRSURRQ0FCSUFKSEJFQWdBQkIwR2lBQ1FRUnJJUUlNQVFzTElBQWdBVFlDQkFzcUFDTUFRUkJySWdJa0FBSkFJQUFnQVVZRVFDQUFRUUE2QUhnTUFRc2dBUkFRQ3lBQ1FSQnFKQUFMSEFBZ0FVSC8vLy8vQTBzRVFFSDRIQkNXQWdBTElBRkJBblFRWHdzSkFDQUJRUUEyQWdBTE5nQkJzSlVCS0FJQUdrR3dsUUVvQWdCQnNKVUJFSE5CQW5ScUdrR3dsUUVvQWdCQnNKVUJFSE5CQW5ScUdrR3dsUUVvQWdBYUN6MEJBWDhqQUVFUWF5SUNKQUFDUUNBQUxRQjRJQUZCSGt0eVJRUkFJQUJCQVRvQWVBd0JDeUFDUVFocUlBRVEvUUVoQUFzZ0FrRVFhaVFBSUFBTFJRRUNmeU1BUVJCcklnQWtBRUd3bFFFUWRCb2dBRUgvLy8vL0F6WUNEQ0FBUWYvLy8vOEhOZ0lJSUFCQkRHb2dBRUVJYWhDaUFTZ0NBQ0VCSUFCQkVHb2tBQ0FCQ3drQUlBQVF5Z0VRRUFzbkFDQURJQU1vQWdBZ0FpQUJheUlBYXlJQ05nSUFJQUJCQUVvRVFDQUNJQUVnQUJCQ0dnc0xFQUFnQUNBQkVNMEJJQUFnQWpZQ0JBdklBUUVFZnlNQVFTQnJJZ1VrQUNBRklBRXBBQUEzQXhBZ0JTQUJLUUFJTndNWUFrQWdBMEVRU1FSQUlBSWhBUXdCQ3lBRFFRUjJJUWNnQWlFQkEwQWdBQ0FGUVJCcUlnZ2dCQkNuQVNBRUlBRVFuUUVnQkVFUWFpRUVJQUZCRUdvaEFTQUlFT3NCSUFaQkFXb2lCaUFIUncwQUN3c2dBaUFEYWlBQmF5SUNCRUFnQUNBRlFSQnFJQVVRcHdGQkFDRUdBMEFnQkNBRklBWnFMUUFBSUFFdEFBQnpPZ0FBSUFSQkFXb2hCQ0FCUVFGcUlRRWdCa0VCYWlJR0lBSkhEUUFMQ3lBRlFTQnFKQUFMRlFBZ0FFSDQwd0EyQWdBZ0FFRVFhaEFLR2lBQUN4VUFJQUJCME5NQU5nSUFJQUJCREdvUUNob2dBQXNFQUVFRUN3OEFJQUFvQWdBZ0FDZ0NCRFlDQkF0QUFRSi9Jd0JCRUdzaUFTUUFJQUVnQURZQ0RDQUJRUWhxSUFGQkRHb1FVaUVBUVFSQkFVSFloZ0VvQWdBb0FnQWJJUUlnQUJCUklBRkJFR29rQUNBQ0N6d0JBWDhqQUVFUWF5SUZKQUFnQlNBRU5nSU1JQVZCQ0dvZ0JVRU1haEJTSVFRZ0FDQUJJQUlnQXhDM0FTRUFJQVFRVVNBRlFSQnFKQUFnQUFzTUFDQUJJQUl0QUFBNkFBQUxFZ0FnQkNBQ05nSUFJQWNnQlRZQ0FFRURDeWdCQVg4Z0FFSHMwZ0EyQWdBQ1FDQUFLQUlJSWdGRkRRQWdBQzBBREVVTkFDQUJFQkFMSUFBTDVBa0JBWDhDUUVIMGlBRXRBQUJCQVhFTkFFSDBpQUVRSkVVTkFBSkFRZWlJQVMwQUFFRUJjUTBBUWVpSUFSQWtSUTBBUWFpVkFSQWJRYWlWQVVIWTBnQTJBZ0FqQUVFUWF5SUJKQUJCc0pVQlFnQTNBd0FnQVVFQU5nSU1RYmlWQVNBQlFReHFFTTBCUWJpV0FVRUFPZ0FBSUFGQkVHb2tBQkNCQWtFZVNRUkFFQmNBQzBHd2xRRkJzSlVCRUhSQkhoQ0FBaUlCTmdJQVFiU1ZBU0FCTmdJQVFiQ1ZBUkJESUFGQitBQnFOZ0lBUVFBUS93RkJIaENYQWtIQWxnRkJtaDRRVkJwQnNKVUJFRkFoQVVHd2xRRVFsUUpCc0pVQklBRVFsQUpCOEpJQkVCdEI4SklCUVlUZEFEWUNBRUh3a2dGQnVJY0JFQm9RSEVINGtnRVFHMEg0a2dGQnBOMEFOZ0lBUWZpU0FVSEFod0VRR2hBY1FZQ1RBUkFiUVl5VEFVRUFPZ0FBUVlpVEFVRUFOZ0lBUVlDVEFVSHMwZ0EyQWdCQmlKTUJRYkF5S0FJQU5nSUFRWUNUQVVHRWlRRVFHaEFjUVpDVEFSQWJRWkNUQVVIUTFnQTJBZ0JCa0pNQlFmeUlBUkFhRUJ4Qm1KTUJFQnRCbUpNQlFlVFhBRFlDQUVHWWt3RkJqSWtCRUJvUUhFR2drd0VRRzBHZ2t3RkJvTk1BTmdJQVFhaVRBUkFXTmdJQVFhQ1RBVUdVaVFFUUdoQWNRYkNUQVJBYlFiQ1RBVUg0MkFBMkFnQkJzSk1CUVp5SkFSQWFFQnhCdUpNQkVCdEJ1Sk1CUWV6WkFEWUNBRUc0a3dGQnBJa0JFQm9RSEVIQWt3RVFHMEhJa3dGQnJ0Z0FPd0VBUWNDVEFVSFEwd0EyQWdCQnpKTUJFQkVhUWNDVEFVR3NpUUVRR2hBY1FkaVRBUkFiUWVDVEFVS3VnSUNBd0FVM0FnQkIySk1CUWZqVEFEWUNBRUhva3dFUUVScEIySk1CUWJTSkFSQWFFQnhCK0pNQkVCdEIrSk1CUWNUZEFEWUNBRUg0a3dGQnlJY0JFQm9RSEVHQWxBRVFHMEdBbEFGQnVOOEFOZ0lBUVlDVUFVSFFod0VRR2hBY1FZaVVBUkFiUVlpVUFVR000UUEyQWdCQmlKUUJRZGlIQVJBYUVCeEJrSlFCRUJ0QmtKUUJRZlRpQURZQ0FFR1FsQUZCNEljQkVCb1FIRUdZbEFFUUcwR1lsQUZCek9vQU5nSUFRWmlVQVVHSWlBRVFHaEFjUWFDVUFSQWJRYUNVQVVIZzZ3QTJBZ0JCb0pRQlFaQ0lBUkFhRUJ4QnFKUUJFQnRCcUpRQlFkVHNBRFlDQUVHb2xBRkJtSWdCRUJvUUhFR3dsQUVRRzBHd2xBRkJ5TzBBTmdJQVFiQ1VBVUdnaUFFUUdoQWNRYmlVQVJBYlFiaVVBVUc4N2dBMkFnQkJ1SlFCUWFpSUFSQWFFQnhCd0pRQkVCdEJ3SlFCUWVEdkFEWUNBRUhBbEFGQnNJZ0JFQm9RSEVISWxBRVFHMEhJbEFGQmhQRUFOZ0lBUWNpVUFVRzRpQUVRR2hBY1FkQ1VBUkFiUWRDVUFVR284Z0EyQWdCQjBKUUJRY0NJQVJBYUVCeEIySlFCRUJ0QjRKUUJRWkQ4QURZQ0FFSFlsQUZCdk9RQU5nSUFRZUNVQVVIczVBQTJBZ0JCMkpRQlFlaUhBUkFhRUJ4QjZKUUJFQnRCOEpRQlFiVDhBRFlDQUVIb2xBRkJ4T1lBTmdJQVFmQ1VBVUgwNWdBMkFnQkI2SlFCUWZDSEFSQWFFQnhCK0pRQkVCdEJnSlVCRVBvQlFmaVVBVUd3NkFBMkFnQkIrSlFCUWZpSEFSQWFFQnhCaUpVQkVCdEJrSlVCRVBvQlFZaVZBVUhNNlFBMkFnQkJpSlVCUVlDSUFSQWFFQnhCbUpVQkVCdEJtSlVCUWN6ekFEWUNBRUdZbFFGQnlJZ0JFQm9RSEVHZ2xRRVFHMEdnbFFGQnhQUUFOZ0lBUWFDVkFVSFFpQUVRR2hBY1FlQ0lBVUdvbFFFMkFnQkI1SWdCUWVDSUFUWUNBRUhvaUFFUUl3dEI3SWdCUWVTSUFTZ0NBQkNRQWtId2lBRkI3SWdCTmdJQVFmU0lBUkFqQ3lBQVFmQ0lBU2dDQUNnQ0FDSUFOZ0lBSUFBUXpnRUxFd0FnQUNBQktBSUFJZ0EyQWdBZ0FCRE9BUXN5QUNBQUtBSUFHaUFBS0FJQUlBQVFjMEVDZEdvYUlBQW9BZ0FnQUJCUVFRSjBhaG9nQUNnQ0FDQUFFSE5CQW5ScUdnc1RBQ0FBSUFBb0FnQkJBV3NpQURZQ0FDQUFDMjhCQW44Z0FFSFkwZ0EyQWdBZ0FFRUlhaUVCQTBBZ0FSQlFJQUpMQkVBZ0FTQUNFSGNvQWdBRVFDQUJJQUlRZHlnQ0FCQ2pBUXNnQWtFQmFpRUNEQUVMQ3lBQVFaZ0JhaEFLR2lBQkVKRUNJQUVvQWdBRVFDQUJFSlVDSUFFUWRDQUJLQUlBSUFFUWN4RDhBUXNnQUFzcUFDQUFLQUlBR2lBQUtBSUFJQUFRYzBFQ2RHb2FJQUFvQWdBYUlBQW9BZ0FnQUJCUVFRSjBhaG9MREFBZ0FDQUFLQUlBRVBzQkMySUJBMzlCQ0JBSElnRkIwUDhBTmdJQUlBRkIvUDhBTmdJQUlBQVFrZ0VpQWtFTmFoQmZJZ05CQURZQ0NDQURJQUkyQWdRZ0F5QUNOZ0lBSUFFZ0EwRU1haUFBSUFKQkFXb1FRallDQkNBQlFheUFBVFlDQUNBQlFjeUFBVUVERUFZQUMzSUJBMzhqQUVFUWF5SUJKQUFnQVVHd2xRRTJBZ0FnQVVHMGxRRW9BZ0FpQWpZQ0JDQUJJQUlnQUVFQ2RHbzJBZ2dnQVNJREtBSUVJUUFnQXlnQ0NDRUNBMEFnQUNBQ1JnUkFJQU1RaVFJZ0FVRVFhaVFBQlVHd2xRRVFkQ0FBRVA0QklBTWdBRUVFYWlJQU5nSUVEQUVMQ3dzZ0FDQUFRYURUQURZQ0FDQUFLQUlJRUJaSEJFQWdBQ2dDQ0JEVUFnc2dBQXNFQUVGL0MrSUZBUXAvSXdCQkVHc2lFeVFBSUFJZ0FEWUNBQ0FEUVlBRWNTRVZJQWRCQW5RaEZnTkFJQlJCQkVZRVFDQU5FQWxCQVVzRVFDQVRJQTBRUURZQ0NDQUNJQk5CQ0dwQkFSQ2ZBaUFORUd3Z0FpZ0NBQkNrQVRZQ0FBc2dBMEd3QVhFaUEwRVFSd1JBSUFFZ0EwRWdSZ1IvSUFJb0FnQUZJQUFMTmdJQUN5QVRRUkJxSkFBRkFrQUNRQUpBQWtBQ1FBSkFJQWdnRkdvc0FBQU9CUUFCQXdJRUJRc2dBU0FDS0FJQU5nSUFEQVFMSUFFZ0FpZ0NBRFlDQUNBR1FTQVFQU0VISUFJZ0FpZ0NBQ0lQUVFScU5nSUFJQThnQnpZQ0FBd0RDeUFORUVrTkFpQU5RUUFRc1FFb0FnQWhCeUFDSUFJb0FnQWlEMEVFYWpZQ0FDQVBJQWMyQWdBTUFnc2dEQkJKSUJWRmNnMEJJQUlnREJCQUlBd1FiQ0FDS0FJQUVLUUJOZ0lBREFFTElBSW9BZ0FoRnlBRUlCWnFJZ1FoQndOQUFrQWdCU0FIVFEwQUlBWkJnQkFnQnlnQ0FCQk9SUTBBSUFkQkJHb2hCd3dCQ3dzZ0RpSVBRUUJLQkVBRFFDQVBRUUJNSUFRZ0IwOXlSUVJBSUFkQkJHc2lCeWdDQUNFUUlBSWdBaWdDQUNJUlFRUnFOZ0lBSUJFZ0VEWUNBQ0FQUVFGcklROE1BUXNMSUE5QkFFd0VmMEVBQlNBR1FUQVFQUXNoRVFOQUlBSWdBaWdDQUNJUVFRUnFOZ0lBSUE5QkFFb0VRQ0FRSUJFMkFnQWdEMEVCYXlFUERBRUxDeUFRSUFrMkFnQUxBa0FnQkNBSFJnUkFJQVpCTUJBOUlROGdBaUFDS0FJQUloQkJCR29pQnpZQ0FDQVFJQTgyQWdBTUFRc2dDeEJKQkg5QmZ3VWdDMEVBRUFzc0FBQUxJUkJCQUNFUFFRQWhFZ05BSUFRZ0IwY0VRQUpBSUE4Z0VFY0VRQ0FQSVJFTUFRc2dBaUFDS0FJQUloQkJCR28yQWdBZ0VDQUtOZ0lBUVFBaEVTQUxFQWtnRWtFQmFpSVNUUVJBSUE4aEVBd0JDeUFMSUJJUUN5MEFBRUgvQUVZRVFFRi9JUkFNQVFzZ0N5QVNFQXNzQUFBaEVBc2dCMEVFYXlJSEtBSUFJUThnQWlBQ0tBSUFJaGhCQkdvMkFnQWdHQ0FQTmdJQUlCRkJBV29oRHd3QkN3c2dBaWdDQUNFSEN5QVhJQWNRclFFTElCUkJBV29oRkF3QkN3c0xwUUlCQVg4akFFRVFheUlLSkFBZ0NRSi9JQUFFUUNBQ0VLRUNJUUFDUUNBQkJFQWdDaUFBRUdrZ0F5QUtLQUlBTmdBQUlBb2dBQkJvREFFTElBb2dBQkNsQVNBRElBb29BZ0EyQUFBZ0NpQUFFRW9MSUFnZ0NoQlhJQW9RQ2hvZ0JDQUFFRWcyQWdBZ0JTQUFFRGcyQWdBZ0NpQUFFRGNnQmlBS0VEQWdDaEFLR2lBS0lBQVFTeUFISUFvUVZ5QUtFQW9hSUFBUVp3d0JDeUFDRUtBQ0lRQUNRQ0FCQkVBZ0NpQUFFR2tnQXlBS0tBSUFOZ0FBSUFvZ0FCQm9EQUVMSUFvZ0FCQ2xBU0FESUFvb0FnQTJBQUFnQ2lBQUVFb0xJQWdnQ2hCWElBb1FDaG9nQkNBQUVFZzJBZ0FnQlNBQUVEZzJBZ0FnQ2lBQUVEY2dCaUFLRURBZ0NoQUtHaUFLSUFBUVN5QUhJQW9RVnlBS0VBb2FJQUFRWndzMkFnQWdDa0VRYWlRQUM5UUZBUXAvSXdCQkVHc2lGQ1FBSUFJZ0FEWUNBQ0FEUVlBRWNTRVdBMEFnRlVFRVJnUkFJQTBRQ1VFQlN3UkFJQlFnRFJCQU5nSUlJQUlnRkVFSWFrRUJFS1lDSUEwUWJpQUNLQUlBRUtRQk5nSUFDeUFEUWJBQmNTSURRUkJIQkVBZ0FTQURRU0JHQkg4Z0FpZ0NBQVVnQUFzMkFnQUxJQlJCRUdva0FBOExBa0FDUUFKQUFrQUNRQUpBSUFnZ0ZXb3NBQUFPQlFBQkF3SUVCUXNnQVNBQ0tBSUFOZ0lBREFRTElBRWdBaWdDQURZQ0FDQUdRU0FRS1NFUElBSWdBaWdDQUNJUVFRRnFOZ0lBSUJBZ0R6b0FBQXdEQ3lBTkVFa05BaUFOUVFBUUN5MEFBQ0VQSUFJZ0FpZ0NBQ0lRUVFGcU5nSUFJQkFnRHpvQUFBd0NDeUFNRUVrZ0ZrVnlEUUVnQWlBTUVFQWdEQkJ1SUFJb0FnQVFwQUUyQWdBTUFRc2dBaWdDQUNFWElBUWdCMm9pQkNFUkEwQUNRQ0FGSUJGTkRRQWdCa0dBRUNBUkxBQUFFRVJGRFFBZ0VVRUJhaUVSREFFTEN5QU9JZzlCQUVvRVFBTkFJQTlCQUV3Z0JDQVJUM0pGQkVBZ0VVRUJheUlSTFFBQUlSQWdBaUFDS0FJQUloSkJBV28yQWdBZ0VpQVFPZ0FBSUE5QkFXc2hEd3dCQ3dzZ0QwRUFUQVIvUVFBRklBWkJNQkFwQ3lFU0EwQWdBaUFDS0FJQUloQkJBV28yQWdBZ0QwRUFTZ1JBSUJBZ0Vqb0FBQ0FQUVFGcklROE1BUXNMSUJBZ0NUb0FBQXNDUUNBRUlCRkdCRUFnQmtFd0VDa2hEeUFDSUFJb0FnQWlFRUVCYWpZQ0FDQVFJQTg2QUFBTUFRc2dDeEJKQkg5QmZ3VWdDMEVBRUFzc0FBQUxJUkJCQUNFUFFRQWhFd05BSUFRZ0VVWU5BUUpBSUE4Z0VFY0VRQ0FQSVJJTUFRc2dBaUFDS0FJQUloQkJBV28yQWdBZ0VDQUtPZ0FBUVFBaEVpQUxFQWtnRTBFQmFpSVRUUVJBSUE4aEVBd0JDeUFMSUJNUUN5MEFBRUgvQUVZRVFFRi9JUkFNQVFzZ0N5QVRFQXNzQUFBaEVBc2dFVUVCYXlJUkxRQUFJUThnQWlBQ0tBSUFJaGhCQVdvMkFnQWdHQ0FQT2dBQUlCSkJBV29oRHd3QUN3QUxJQmNnQWlnQ0FCQjVDeUFWUVFGcUlSVU1BQXNBQzZVQ0FRRi9Jd0JCRUdzaUNpUUFJQWtDZnlBQUJFQWdBaENvQWlFQUFrQWdBUVJBSUFvZ0FCQnBJQU1nQ2lnQ0FEWUFBQ0FLSUFBUWFBd0JDeUFLSUFBUXBRRWdBeUFLS0FJQU5nQUFJQW9nQUJCS0N5QUlJQW9RTUNBS0VBb2FJQVFnQUJCSU9nQUFJQVVnQUJBNE9nQUFJQW9nQUJBM0lBWWdDaEF3SUFvUUNob2dDaUFBRUVzZ0J5QUtFREFnQ2hBS0dpQUFFR2NNQVFzZ0FoQ25BaUVBQWtBZ0FRUkFJQW9nQUJCcElBTWdDaWdDQURZQUFDQUtJQUFRYUF3QkN5QUtJQUFRcFFFZ0F5QUtLQUlBTmdBQUlBb2dBQkJLQ3lBSUlBb1FNQ0FLRUFvYUlBUWdBQkJJT2dBQUlBVWdBQkE0T2dBQUlBb2dBQkEzSUFZZ0NoQXdJQW9RQ2hvZ0NpQUFFRXNnQnlBS0VEQWdDaEFLR2lBQUVHY0xOZ0lBSUFwQkVHb2tBQXNJQUNBQUtBSUFSUXMzQVFGL0l3QkJFR3NpQWlRQUlBSWdBQ2dDQURZQ0NDQUNJQUlvQWdnZ0FVRUNkR28yQWdnZ0FpZ0NDQ0VBSUFKQkVHb2tBQ0FBQ3dvQUlBQkJtSWdCRUdRTENnQWdBRUdnaUFFUVpBc0pBQ0FBSUFFUXJnSUxId0VCZnlBQktBSUFFUG9DSVFJZ0FDQUJLQUlBTmdJRUlBQWdBallDQUF2eER3RUtmeU1BUWJBRWF5SUxKQUFnQ3lBS05nS2tCQ0FMSUFFMkFxZ0VJQXRCTmpZQ1lDQUxJQXRCaUFGcUlBdEJrQUZxSUF0QjRBQnFJZ0VRSGlJUEtBSUFJZ28yQW9RQklBc2dDa0dRQTJvMkFvQUJJQUVRRVNFUklBdEIwQUJxRUVjaERpQUxRVUJyRUVjaERDQUxRVEJxRUVjaERTQUxRU0JxRUVjaEVDTUFRUkJySWdFa0FDQUxBbjhnQWdSQUlBRWdBeENoQWlJQ0VHa2dDeUFCS0FJQU5nQjRJQUVnQWhCb0lBMGdBUkJYSUFFUUNob2dBU0FDRUVvZ0RDQUJFRmNnQVJBS0dpQUxJQUlRU0RZQ2RDQUxJQUlRT0RZQ2NDQUJJQUlRTnlBUklBRVFNQ0FCRUFvYUlBRWdBaEJMSUE0Z0FSQlhJQUVRQ2hvZ0FoQm5EQUVMSUFFZ0F4Q2dBaUlDRUdrZ0N5QUJLQUlBTmdCNElBRWdBaEJvSUEwZ0FSQlhJQUVRQ2hvZ0FTQUNFRW9nRENBQkVGY2dBUkFLR2lBTElBSVFTRFlDZENBTElBSVFPRFlDY0NBQklBSVFOeUFSSUFFUU1DQUJFQW9hSUFFZ0FoQkxJQTRnQVJCWElBRVFDaG9nQWhCbkN6WUNIQ0FCUVJCcUpBQWdDU0FJS0FJQU5nSUFJQVJCZ0FSeEloSkJDWFloRTBFQUlRRkJBQ0VDQTBBZ0FpRUtBa0FDUUFKQUFrQWdBVUVFUmcwQUlBQWdDMEdvQkdvUU5rVU5BRUVBSVFRQ1FBSkFBa0FDUUFKQUFrQWdDMEg0QUdvZ0FXb3NBQUFPQlFFQUJBTUZDUXNnQVVFRFJnMEhJQWRCZ01BQUlBQVFJUkJPQkVBZ0MwRVFhaUFBRUtNQ0lCQWdDeWdDRUJESEFRd0NDeUFGSUFVb0FnQkJCSEkyQWdCQkFDRUFEQVlMSUFGQkEwWU5CZ3NEUUNBQUlBdEJxQVJxRURaRkRRWWdCMEdBd0FBZ0FCQWhFRTVGRFFZZ0MwRVFhaUFBRUtNQ0lCQWdDeWdDRUJESEFRd0FDd0FMSUF3UUNVRUFJQTBRQ1d0R0RRUUNRQ0FNRUFrRVFDQU5FQWtOQVFzZ0RCQUpJUU1nQUJBaElRSWdBd1JBSUF3UURTZ0NBQ0FDUmdSQUlBQVFKUm9nRENBS0lBd1FDVUVCU3hzaEFnd0lDeUFHUVFFNkFBQU1CZ3NnQWlBTkVBMG9BZ0JIRFFVZ0FCQWxHaUFHUVFFNkFBQWdEU0FLSUEwUUNVRUJTeHNoQWd3R0N5QUFFQ0VnREJBTktBSUFSZ1JBSUFBUUpSb2dEQ0FLSUF3UUNVRUJTeHNoQWd3R0N5QUFFQ0VnRFJBTktBSUFSZ1JBSUFBUUpSb2dCa0VCT2dBQUlBMGdDaUFORUFsQkFVc2JJUUlNQmdzZ0JTQUZLQUlBUVFSeU5nSUFRUUFoQUF3REN5QUtJQUZCQWtseVJRUkFRUUFoQWlBVElBRkJBa1lnQ3kwQWUwRUFSM0Z5UlEwRkN5QUxJQTRRUURZQ0NDQUxRUkJxSUF0QkNHb1FxQUVoQWdKQUlBRkZEUUFnQVNBTGFpMEFkMEVCU3cwQUEwQUNRQ0FMSUE0UWJEWUNDQ0FDSUF0QkNHb1FXMFVOQUNBSFFZREFBQ0FDS0FJQUtBSUFFRTVGRFFBZ0FoQ1ZBUXdCQ3dzZ0N5QU9FRUEyQWdnZ0FpZ0NBQ0FMS0FJSWEwRUNkU0lDSUJBUUNVMEVRQ0FMSUJBUWJEWUNDQ0FMUVFocVFRQWdBbXNRbndJaEF5QVFFR3doQkNBT0VFQWhGQ01BUVNCcklnSWtBQ0FDSUFRMkFoQWdBaUFETmdJWUlBSWdGRFlDQ0FOQUFrQWdBa0VZYWlBQ1FSQnFFRnNpQTBVTkFDQUNLQUlZS0FJQUlBSW9BZ2dvQWdCSERRQWdBa0VZYWhDVkFTQUNRUWhxRUpVQkRBRUxDeUFDUVNCcUpBQWdBMEVCY3cwQkN5QUxJQTRRUURZQ0FDQUxRUWhxSUFzUXFBRWFJQXNnQ3lnQ0NEWUNFQXNnQ3lBTEtBSVFOZ0lJQTBBQ1FDQUxJQTRRYkRZQ0FDQUxRUWhxSUFzUVcwVU5BQ0FBSUF0QnFBUnFFRFpGRFFBZ0FCQWhJQXNvQWdnb0FnQkhEUUFnQUJBbEdpQUxRUWhxRUpVQkRBRUxDeUFTUlEwRElBc2dEaEJzTmdJQUlBdEJDR29nQ3hCYlJRMERJQVVnQlNnQ0FFRUVjallDQUVFQUlRQU1BZ3NEUUFKQUlBQWdDMEdvQkdvUU5rVU5BQUovSUFkQmdCQWdBQkFoSWdJUVRnUkFJQWtvQWdBaUF5QUxLQUtrQkVZRVFDQUlJQWtnQzBHa0JHb1FoZ0VnQ1NnQ0FDRURDeUFKSUFOQkJHbzJBZ0FnQXlBQ05nSUFJQVJCQVdvTUFRc2dFUkFKUlNBRVJYSU5BU0FDSUFzb0FuQkhEUUVnQ3lnQ2hBRWlBaUFMS0FLQUFVWUVRQ0FQSUF0QmhBRnFJQXRCZ0FGcUVJWUJJQXNvQW9RQklRSUxJQXNnQWtFRWFqWUNoQUVnQWlBRU5nSUFRUUFMSVFRZ0FCQWxHZ3dCQ3dzZ0JFVWdDeWdDaEFFaUFpQVBLQUlBUm5KRkJFQWdDeWdDZ0FFZ0FrWUVRQ0FQSUF0QmhBRnFJQXRCZ0FGcUVJWUJJQXNvQW9RQklRSUxJQXNnQWtFRWFqWUNoQUVnQWlBRU5nSUFDd0pBSUFzb0FoeEJBRXdOQUFKQUlBQWdDMEdvQkdvUUtFVUVRQ0FBRUNFZ0N5Z0NkRVlOQVFzZ0JTQUZLQUlBUVFSeU5nSUFRUUFoQUF3REN3TkFJQUFRSlJvZ0N5Z0NIRUVBVEEwQkFrQWdBQ0FMUWFnRWFoQW9SUVJBSUFkQmdCQWdBQkFoRUU0TkFRc2dCU0FGS0FJQVFRUnlOZ0lBUVFBaEFBd0VDeUFKS0FJQUlBc29BcVFFUmdSQUlBZ2dDU0FMUWFRRWFoQ0dBUXNnQUJBaElRSWdDU0FKS0FJQUlnTkJCR28yQWdBZ0F5QUNOZ0lBSUFzZ0N5Z0NIRUVCYXpZQ0hBd0FDd0FMSUFvaEFpQUlLQUlBSUFrb0FnQkhEUU1nQlNBRktBSUFRUVJ5TmdJQVFRQWhBQXdCQ3dKQUlBcEZEUUJCQVNFRUEwQWdDaEFKSUFSTkRRRUNRQ0FBSUF0QnFBUnFFQ2hGQkVBZ0FCQWhJQW9nQkJDeEFTZ0NBRVlOQVFzZ0JTQUZLQUlBUVFSeU5nSUFRUUFoQUF3REN5QUFFQ1VhSUFSQkFXb2hCQXdBQ3dBTFFRRWhBQ0FQS0FJQUlBc29Bb1FCUmcwQVFRQWhBQ0FMUVFBMkFoQWdFU0FQS0FJQUlBc29Bb1FCSUF0QkVHb1FMU0FMS0FJUUJFQWdCU0FGS0FJQVFRUnlOZ0lBREFFTFFRRWhBQXNnRUJBS0dpQU5FQW9hSUF3UUNob2dEaEFLR2lBUkVBb2FJQThRSFNBTFFiQUVhaVFBSUFBUEN5QUtJUUlMSUFGQkFXb2hBUXdBQ3dBTEh3QWdBQ0FCRUtZQkVDY2dBUkNXQVNnQ0FDRUJJQUFRbGdFZ0FUWUNBQXMwQVFGL0l3QkJFR3NpQWlRQUlBSWdBQ2dDQURZQ0NDQUNJQUlvQWdnZ0FXbzJBZ2dnQWlnQ0NDRUFJQUpCRUdva0FDQUFDd29BSUFCQmlJZ0JFR1FMQ2dBZ0FFR1FpQUVRWkF2QkFRRUdmeU1BUVJCcklnUWtBQ0FBRUpZQktBSUFJUVVDZnlBQ0tBSUFJQUFvQWdCcklnTkIvLy8vL3dkSkJFQWdBMEVCZEF3QkMwRi9DeUlEUVFFZ0F4c2hBeUFCS0FJQUlRWWdBQ2dDQUNFSElBVkJOa1lFZjBFQUJTQUFLQUlBQ3lBREVKNEJJZ2dFUUNBRlFUWkhCRUFnQUJDbUFSb0xJQVJCTlRZQ0JDQUFJQVJCQ0dvZ0NDQUVRUVJxRUI0aUJSQ2xBaUFGRUIwZ0FTQUFLQUlBSUFZZ0IydHFOZ0lBSUFJZ0F5QUFLQUlBYWpZQ0FDQUVRUkJxSkFBUEN4QVhBQXNsQVFGL0lBRW9BZ0FRL3dKQkdIUkJHSFVoQWlBQUlBRW9BZ0EyQWdRZ0FDQUNPZ0FBQzU4UUFRcC9Jd0JCc0FScklnc2tBQ0FMSUFvMkFxUUVJQXNnQVRZQ3FBUWdDMEUyTmdKb0lBc2dDMEdJQVdvZ0MwR1FBV29nQzBIb0FHb2lBUkFlSWc4b0FnQWlDallDaEFFZ0N5QUtRWkFEYWpZQ2dBRWdBUkFSSVJFZ0MwSFlBR29RRVNFT0lBdEJ5QUJxRUJFaERDQUxRVGhxRUJFaERTQUxRU2hxRUJFaEVDTUFRUkJySWdFa0FDQUxBbjhnQWdSQUlBRWdBeENvQWlJQ0VHa2dDeUFCS0FJQU5nQjRJQUVnQWhCb0lBMGdBUkF3SUFFUUNob2dBU0FDRUVvZ0RDQUJFREFnQVJBS0dpQUxJQUlRU0RvQWR5QUxJQUlRT0RvQWRpQUJJQUlRTnlBUklBRVFNQ0FCRUFvYUlBRWdBaEJMSUE0Z0FSQXdJQUVRQ2hvZ0FoQm5EQUVMSUFFZ0F4Q25BaUlDRUdrZ0N5QUJLQUlBTmdCNElBRWdBaEJvSUEwZ0FSQXdJQUVRQ2hvZ0FTQUNFRW9nRENBQkVEQWdBUkFLR2lBTElBSVFTRG9BZHlBTElBSVFPRG9BZGlBQklBSVFOeUFSSUFFUU1DQUJFQW9hSUFFZ0FoQkxJQTRnQVJBd0lBRVFDaG9nQWhCbkN6WUNKQ0FCUVJCcUpBQWdDU0FJS0FJQU5nSUFJQVJCZ0FSeEloSkJDWFloRTBFQUlRRkJBQ0VDQTBBZ0FpRUtBa0FDUUFKQUFrQWdBVUVFUmcwQUlBQWdDMEdvQkdvUU1VVU5BRUVBSVFRQ1FBSkFBa0FDUUFKQUFrQWdDMEg0QUdvZ0FXb3NBQUFPQlFFQUJBTUZDUXNnQVVFRFJnMEhJQWRCZ01BQUlBQVFIeEJFQkVBZ0MwRVlhaUFBRUtvQ0lCQWdDeXdBR0JDaEFRd0NDeUFGSUFVb0FnQkJCSEkyQWdCQkFDRUFEQVlMSUFGQkEwWU5CZ3NEUUNBQUlBdEJxQVJxRURGRkRRWWdCMEdBd0FBZ0FCQWZFRVJGRFFZZ0MwRVlhaUFBRUtvQ0lCQWdDeXdBR0JDaEFRd0FDd0FMSUF3UUNVRUFJQTBRQ1d0R0RRUUNRQ0FNRUFrRVFDQU5FQWtOQVFzZ0RCQUpJUU1nQUJBZklRSWdBd1JBSUF4QkFCQUxMUUFBSUFKQi93RnhSZ1JBSUFBUUlob2dEQ0FLSUF3UUNVRUJTeHNoQWd3SUN5QUdRUUU2QUFBTUJnc2dEVUVBRUFzdEFBQWdBa0gvQVhGSERRVWdBQkFpR2lBR1FRRTZBQUFnRFNBS0lBMFFDVUVCU3hzaEFnd0dDeUFBRUI5Qi93RnhJQXhCQUJBTExRQUFSZ1JBSUFBUUlob2dEQ0FLSUF3UUNVRUJTeHNoQWd3R0N5QUFFQjlCL3dGeElBMUJBQkFMTFFBQVJnUkFJQUFRSWhvZ0JrRUJPZ0FBSUEwZ0NpQU5FQWxCQVVzYklRSU1CZ3NnQlNBRktBSUFRUVJ5TmdJQVFRQWhBQXdEQ3lBS0lBRkJBa2x5UlFSQVFRQWhBaUFUSUFGQkFrWWdDeTBBZTBFQVIzRnlSUTBGQ3lBTElBNFFRRFlDRUNBTFFSaHFJQXRCRUdvUXFBRWhBZ0pBSUFGRkRRQWdBU0FMYWkwQWQwRUJTdzBBQTBBQ1FDQUxJQTRRYmpZQ0VDQUNJQXRCRUdvUVcwVU5BQ0FIUVlEQUFDQUNLQUlBTEFBQUVFUkZEUUFnQWhDWEFRd0JDd3NnQ3lBT0VFQTJBaEFnQWlnQ0FDQUxLQUlRYXlJQ0lCQVFDVTBFUUNBTElCQVFiallDRUNBTFFSQnFRUUFnQW1zUXBnSWhBeUFRRUc0aEJDQU9FRUFoRkNNQVFTQnJJZ0lrQUNBQ0lBUTJBaEFnQWlBRE5nSVlJQUlnRkRZQ0NBTkFBa0FnQWtFWWFpQUNRUkJxRUZzaUEwVU5BQ0FDS0FJWUxRQUFJQUlvQWdndEFBQkhEUUFnQWtFWWFoQ1hBU0FDUVFocUVKY0JEQUVMQ3lBQ1FTQnFKQUFnQTBFQmN3MEJDeUFMSUE0UVFEWUNDQ0FMUVJCcUlBdEJDR29RcUFFYUlBc2dDeWdDRURZQ0dBc2dDeUFMS0FJWU5nSVFBMEFDUUNBTElBNFFiallDQ0NBTFFSQnFJQXRCQ0dvUVcwVU5BQ0FBSUF0QnFBUnFFREZGRFFBZ0FCQWZRZjhCY1NBTEtBSVFMUUFBUncwQUlBQVFJaG9nQzBFUWFoQ1hBUXdCQ3dzZ0VrVU5BeUFMSUE0UWJqWUNDQ0FMUVJCcUlBdEJDR29RVzBVTkF5QUZJQVVvQWdCQkJISTJBZ0JCQUNFQURBSUxBMEFDUUNBQUlBdEJxQVJxRURGRkRRQUNmeUFIUVlBUUlBQVFIeUlDRUVRRVFDQUpLQUlBSWdNZ0N5Z0NwQVJHQkVBZ0NDQUpJQXRCcEFScUVLa0NJQWtvQWdBaEF3c2dDU0FEUVFGcU5nSUFJQU1nQWpvQUFDQUVRUUZxREFFTElCRVFDVVVnQkVWeURRRWdDeTBBZGlBQ1FmOEJjVWNOQVNBTEtBS0VBU0lDSUFzb0FvQUJSZ1JBSUE4Z0MwR0VBV29nQzBHQUFXb1FoZ0VnQ3lnQ2hBRWhBZ3NnQ3lBQ1FRUnFOZ0tFQVNBQ0lBUTJBZ0JCQUFzaEJDQUFFQ0lhREFFTEN5QUVSU0FMS0FLRUFTSUNJQThvQWdCR2NrVUVRQ0FMS0FLQUFTQUNSZ1JBSUE4Z0MwR0VBV29nQzBHQUFXb1FoZ0VnQ3lnQ2hBRWhBZ3NnQ3lBQ1FRUnFOZ0tFQVNBQ0lBUTJBZ0FMQWtBZ0N5Z0NKRUVBVEEwQUFrQWdBQ0FMUWFnRWFoQW1SUVJBSUFBUUgwSC9BWEVnQ3kwQWQwWU5BUXNnQlNBRktBSUFRUVJ5TmdJQVFRQWhBQXdEQ3dOQUlBQVFJaG9nQ3lnQ0pFRUFUQTBCQWtBZ0FDQUxRYWdFYWhBbVJRUkFJQWRCZ0JBZ0FCQWZFRVFOQVFzZ0JTQUZLQUlBUVFSeU5nSUFRUUFoQUF3RUN5QUpLQUlBSUFzb0FxUUVSZ1JBSUFnZ0NTQUxRYVFFYWhDcEFnc2dBQkFmSVFJZ0NTQUpLQUlBSWdOQkFXbzJBZ0FnQXlBQ09nQUFJQXNnQ3lnQ0pFRUJhellDSkF3QUN3QUxJQW9oQWlBSUtBSUFJQWtvQWdCSERRTWdCU0FGS0FJQVFRUnlOZ0lBUVFBaEFBd0JDd0pBSUFwRkRRQkJBU0VFQTBBZ0NoQUpJQVJORFFFQ1FDQUFJQXRCcUFScUVDWkZCRUFnQUJBZlFmOEJjU0FLSUFRUUN5MEFBRVlOQVFzZ0JTQUZLQUlBUVFSeU5nSUFRUUFoQUF3REN5QUFFQ0lhSUFSQkFXb2hCQXdBQ3dBTFFRRWhBQ0FQS0FJQUlBc29Bb1FCUmcwQVFRQWhBQ0FMUVFBMkFoZ2dFU0FQS0FJQUlBc29Bb1FCSUF0QkdHb1FMU0FMS0FJWUJFQWdCU0FGS0FJQVFRUnlOZ0lBREFFTFFRRWhBQXNnRUJBS0dpQU5FQW9hSUF3UUNob2dEaEFLR2lBUkVBb2FJQThRSFNBTFFiQUVhaVFBSUFBUEN5QUtJUUlMSUFGQkFXb2hBUXdBQ3dBTERBQWdBRUVCUVMwUXV3SWFDd3dBSUFCQkFVRXRFTzhCR2dzS0FDQUJJQUJyUVFKMUN3UUFJQUVMTlFFQmZ5TUFRUkJySWdJa0FDQUNJQUF0QUFBNkFBOGdBQ0FCTFFBQU9nQUFJQUVnQWtFUGFpMEFBRG9BQUNBQ1FSQnFKQUFMWkFFQmZ5TUFRUkJySWdZa0FDQUdRUUE2QUE4Z0JpQUZPZ0FPSUFZZ0JEb0FEU0FHUVNVNkFBd2dCUVJBSUFaQkRXb2dCa0VPYWhDd0Fnc2dBaUFCSUFFZ0FpZ0NBQkR1QWlBR1FReHFJQU1nQUNnQ0FCQUJJQUZxTmdJQUlBWkJFR29rQUF2eUFRRUZmeU1BUVJCcklnTWtBQ0FDUWdBM0FBQWdBa0lBTndBSUlBTWdBU2tBQ0RjRENDQURJQUVwQUFBM0F3QURRQ0FBSUFWcUlRWkJBQ0VCQTBBZ0JpMEFBRUVISUFGcmRrRUJjUVJBSUFJZ0F4Q2RBUXNnQXkwQUR5RUhJQU5CREdvaUJDQURMUUFMUVI5MElBUVFsQUZCQVhaeUVKTUJJQU5CQ0dvaUJDQURMUUFIUVI5MElBUVFsQUZCQVhaeUVKTUJJQU5CQkdvaUJDQURMUUFEUVI5MElBUVFsQUZCQVhaeUVKTUJJQU1nQXhDVUFVRUJkaENUQVNBSFFRRnhCRUFnQXlBRExRQUFRZUVCY3pvQUFBc2dBVUVCYWlJQlFRaEhEUUFMSUFWQkFXb2lCVUVRUncwQUN5QURRUkJxSkFBTFFRQWdBU0FDSUFNZ0JFRUVFRmdoQVNBRExRQUFRUVJ4UlFSQUlBQWdBVUhRRDJvZ0FVSHNEbW9nQVNBQlFlUUFTQnNnQVVIRkFFZ2JRZXdPYXpZQ0FBc0xRQUFnQWlBRElBQkJDR29nQUNnQ0NDZ0NCQkVBQUNJQUlBQkJvQUpxSUFVZ0JFRUFFTElCSUFCcklnQkJud0pNQkVBZ0FTQUFRUXh0UVF4dk5nSUFDd3RBQUNBQ0lBTWdBRUVJYWlBQUtBSUlLQUlBRVFBQUlnQWdBRUdvQVdvZ0JTQUVRUUFRc2dFZ0FHc2lBRUduQVV3RVFDQUJJQUJCREcxQkIyODJBZ0FMQzBFQUlBRWdBaUFESUFSQkJCQlpJUUVnQXkwQUFFRUVjVVVFUUNBQUlBRkIwQTlxSUFGQjdBNXFJQUVnQVVIa0FFZ2JJQUZCeFFCSUcwSHNEbXMyQWdBTEMwQUFJQUlnQXlBQVFRaHFJQUFvQWdnb0FnUVJBQUFpQUNBQVFhQUNhaUFGSUFSQkFCQzBBU0FBYXlJQVFaOENUQVJBSUFFZ0FFRU1iVUVNYnpZQ0FBc0xRQUFnQWlBRElBQkJDR29nQUNnQ0NDZ0NBQkVBQUNJQUlBQkJxQUZxSUFVZ0JFRUFFTFFCSUFCcklnQkJwd0ZNQkVBZ0FTQUFRUXh0UVFkdk5nSUFDd3NFQUVFQ0M2OEZBUXAvSXdCQkVHc2lDU1FBSUFZUU95RUtJQWtnQmhDTUFTSU5FRGNnQlNBRE5nSUFBa0FDUUNBQUlnY3RBQUFpQmtFcmF3NERBQUVBQVFzZ0NpQUdRUmgwUVJoMUVEMGhCaUFGSUFVb0FnQWlCMEVFYWpZQ0FDQUhJQVkyQWdBZ0FFRUJhaUVIQ3dKQUFrQWdBaUFISWdaclFRRk1EUUFnQnkwQUFFRXdSdzBBSUFjdEFBRkJJSEpCK0FCSERRQWdDa0V3RUQwaEJpQUZJQVVvQWdBaUNFRUVhallDQUNBSUlBWTJBZ0FnQ2lBSExBQUJFRDBoQmlBRklBVW9BZ0FpQ0VFRWFqWUNBQ0FJSUFZMkFnQWdCMEVDYWlJSElRWURRQ0FDSUFaTkRRSWdCaXdBQUJBV0VOZ0NSUTBDSUFaQkFXb2hCZ3dBQ3dBTEEwQWdBaUFHVFEwQklBWXNBQUFoQ0JBV0dpQUlFRVZGRFFFZ0JrRUJhaUVHREFBTEFBc0NRQ0FKRUVrRVFDQUtJQWNnQmlBRktBSUFFR01nQlNBRktBSUFJQVlnQjJ0QkFuUnFOZ0lBREFFTElBY2dCaEI1SUEwUU9DRU9JQWNoQ0FOQUlBWWdDRTBFUUNBRElBY2dBR3RCQW5ScUlBVW9BZ0FRclFFRkFrQWdDU0FMRUFzc0FBQkJBRXdOQUNBTUlBa2dDeEFMTEFBQVJ3MEFJQVVnQlNnQ0FDSU1RUVJxTmdJQUlBd2dEallDQUNBTElBc2dDUkFKUVFGclNXb2hDMEVBSVF3TElBb2dDQ3dBQUJBOUlROGdCU0FGS0FJQUloQkJCR28yQWdBZ0VDQVBOZ0lBSUFoQkFXb2hDQ0FNUVFGcUlRd01BUXNMQ3dKQUFrQURRQ0FDSUFaTkRRRWdCaTBBQUNJSFFTNUhCRUFnQ2lBSFFSaDBRUmgxRUQwaEJ5QUZJQVVvQWdBaUNFRUVhallDQUNBSUlBYzJBZ0FnQmtFQmFpRUdEQUVMQ3lBTkVFZ2hCeUFGSUFVb0FnQWlDMEVFYWlJSU5nSUFJQXNnQnpZQ0FDQUdRUUZxSVFZTUFRc2dCU2dDQUNFSUN5QUtJQVlnQWlBSUVHTWdCU0FGS0FJQUlBSWdCbXRCQW5ScUlnVTJBZ0FnQkNBRklBTWdBU0FBYTBFQ2RHb2dBU0FDUmhzMkFnQWdDUkFLR2lBSlFSQnFKQUFMdUFFQkJYOGpBRUVRYXlJSEpBQWpBRUVRYXlJRkpBQUNRQ0FCUWUvLy8vOERUUVJBQWtBZ0FVRUJUUVJBSUFBZ0FSQTZJQUFoQmd3QkN5QUFJQUFnQVJDQ0FVRUJhaUlERUlFQklnWVFUU0FBSUFNUVRDQUFJQUVRT1FzZ0JpRUVJQUVpQXdSL0lBTUVRQU5BSUFRZ0FqWUNBQ0FFUVFScUlRUWdBMEVCYXlJRERRQUxDMEVBQlNBRUN4b2dCVUVBTmdJTUlBWWdBVUVDZEdvZ0JVRU1haEF6SUFWQkVHb2tBQXdCQ3hBWEFBc2dCMEVRYWlRQUlBQUxtUVVCQ244akFFRVFheUlKSkFBZ0JoQXlJUW9nQ1NBR0VJNEJJZzBRTnlBRklBTTJBZ0FDUUFKQUlBQWlCeTBBQUNJR1FTdHJEZ01BQVFBQkN5QUtJQVpCR0hSQkdIVVFLU0VHSUFVZ0JTZ0NBQ0lIUVFGcU5nSUFJQWNnQmpvQUFDQUFRUUZxSVFjTEFrQUNRQ0FDSUFjaUJtdEJBVXdOQUNBSExRQUFRVEJIRFFBZ0J5MEFBVUVnY2tINEFFY05BQ0FLUVRBUUtTRUdJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dCam9BQUNBS0lBY3NBQUVRS1NFR0lBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0Jqb0FBQ0FIUVFKcUlnY2hCZ05BSUFJZ0JrME5BaUFHTEFBQUVCWVEyQUpGRFFJZ0JrRUJhaUVHREFBTEFBc0RRQ0FDSUFaTkRRRWdCaXdBQUNFSUVCWWFJQWdRUlVVTkFTQUdRUUZxSVFZTUFBc0FDd0pBSUFrUVNRUkFJQW9nQnlBR0lBVW9BZ0FRYnlBRklBVW9BZ0FnQmlBSGEybzJBZ0FNQVFzZ0J5QUdFSGtnRFJBNElRNGdCeUVJQTBBZ0JpQUlUUVJBSUFNZ0J5QUFhMm9nQlNnQ0FCQjVCUUpBSUFrZ0RCQUxMQUFBUVFCTURRQWdDeUFKSUF3UUN5d0FBRWNOQUNBRklBVW9BZ0FpQzBFQmFqWUNBQ0FMSUE0NkFBQWdEQ0FNSUFrUUNVRUJhMGxxSVF4QkFDRUxDeUFLSUFnc0FBQVFLU0VQSUFVZ0JTZ0NBQ0lRUVFGcU5nSUFJQkFnRHpvQUFDQUlRUUZxSVFnZ0MwRUJhaUVMREFFTEN3c0RRQUpBSUFJZ0Jrc0VRQ0FHTFFBQUlnZEJMa2NOQVNBTkVFZ2hCeUFGSUFVb0FnQWlDRUVCYWpZQ0FDQUlJQWM2QUFBZ0JrRUJhaUVHQ3lBS0lBWWdBaUFGS0FJQUVHOGdCU0FGS0FJQUlBSWdCbXRxSWdVMkFnQWdCQ0FGSUFNZ0FTQUFhMm9nQVNBQ1JoczJBZ0FnQ1JBS0dpQUpRUkJxSkFBUEN5QUtJQWRCR0hSQkdIVVFLU0VISUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnQnpvQUFDQUdRUUZxSVFZTUFBc0FDL1FCQVFsL0lBRVFEU0VFSUFFUUNTRUhJd0JCSUdzaUFTUUFBa0FnQVVFWWFpQUFFSVFESWdndEFBQkZEUUFnQVVFSWFpQUFFTUFCSVFrZ0FDQUFLQUlBUVF4cktBSUFhaUlGS0FJRUlRb0NRRUYvSUFVaUFpZ0NUQkJlUlFSQUlBSW9Ba3doQWd3QkN5QUNBbjhqQUVFUWF5SURKQUFnQTBFSWFpSUdJQUlRRHlBR0VESkJJQkFwSVFJZ0JoQU9JQU5CRUdva0FDQUNDellDVEFzZ0FrRVlkRUVZZFNFQ0lBRWdDU2dDQUNBRUlBUWdCMm9pQXlBRUlBcEJzQUZ4UVNCR0d5QURJQVVnQWhCV05nSVFJQUVvQWhBTkFDQUFJQUFvQWdCQkRHc29BZ0JxUVFVUWdBRUxJQWdRZ2dNZ0FVRWdhaVFBQ3pZQkFuOUI5QUVRR1NJQ0JIOGdBaUFBSUFGQkEzUVFpUU1pQUVFQVNBUkFJQUlRRUVFQUR3c2dBaUFBTmdMd0FTQUNCU0FEQ3d1ZEF3RUNmeU1BUWVBQ2F5SUFKQUFnQUNBQ05nTFFBaUFBSUFFMkF0Z0NJQU1RWENFR0lBTWdBRUhnQVdvUW1RRWhCeUFBUWRBQmFpQURJQUJCekFKcUVKZ0JJQUJCd0FGcUVCRWlBU0FCRUJNUURDQUFJQUZCQUJBTElnSTJBcndCSUFBZ0FFRVFhallDRENBQVFRQTJBZ2dEUUFKQUlBQkIyQUpxSUFCQjBBSnFFRFpGRFFBZ0FDZ0N2QUVnQVJBSklBSnFSZ1JBSUFFUUNTRURJQUVnQVJBSlFRRjBFQXdnQVNBQkVCTVFEQ0FBSUFNZ0FVRUFFQXNpQW1vMkFyd0JDeUFBUWRnQ2FoQWhJQVlnQWlBQVFid0JhaUFBUVFocUlBQW9Bc3dDSUFCQjBBRnFJQUJCRUdvZ0FFRU1haUFIRUlzQkRRQWdBRUhZQW1vUUpSb01BUXNMQWtBZ0FFSFFBV29RQ1VVTkFDQUFLQUlNSWdNZ0FFRVFhbXRCbndGS0RRQWdBQ0FEUVFScU5nSU1JQU1nQUNnQ0NEWUNBQXNnQlNBQ0lBQW9BcndCSUFRZ0JoREhBallDQUNBQVFkQUJhaUFBUVJCcUlBQW9BZ3dnQkJBdElBQkIyQUpxSUFCQjBBSnFFQ2dFUUNBRUlBUW9BZ0JCQW5JMkFnQUxJQUFvQXRnQ0lRSWdBUkFLR2lBQVFkQUJhaEFLR2lBQVFlQUNhaVFBSUFJTFZBRUNmeU1BUVJCcklnTWtBQ0FEUVFJMkFnd2dBaUFCRUFraUJFc0VRQkFYQUFzZ0FSQU5JUUVnQXlBRUlBSnJOZ0lFSUFBZ0FTQUNhaUFEUVF4cUlBTkJCR29Rb2dFb0FnQVE5Z0VnQTBFUWFpUUFDMElCQVg4akFFRVFheUlESkFBZ0F5QUJOZ0lNSUFNZ0FqWUNDQ0FESUFOQkRHb1FVaUVCSUFCQjh4c2dBeWdDQ0JEaUFpRUFJQUVRVVNBRFFSQnFKQUFnQUFzWUFDQUFJQUFvQWdCQkRHc29BZ0JxUVFJUkFBQWFJQUFMc1FJQ0JINEZmeU1BUVNCcklnZ2tBQUpBQWtBQ1FDQUJJQUpIQkVCQjFJRUJLQUlBSVF4QjFJRUJRUUEyQWdBakFFRVFheUlKSkFBUUZob2pBRUVRYXlJS0pBQWpBRUVRYXlJTEpBQWdDeUFCSUFoQkhHcEJBaERZQVNBTEtRTUFJUVFnQ2lBTEtRTUlOd01JSUFvZ0JEY0RBQ0FMUVJCcUpBQWdDaWtEQUNFRUlBa2dDaWtEQ0RjRENDQUpJQVEzQXdBZ0NrRVFhaVFBSUFrcEF3QWhCQ0FJSUFrcEF3ZzNBeEFnQ0NBRU53TUlJQWxCRUdva0FDQUlLUU1RSVFRZ0NDa0RDQ0VGUWRTQkFTZ0NBQ0lCUlEwQklBZ29BaHdnQWtjTkFpQUZJUVlnQkNFSElBRkJ4QUJIRFFNTUFnc2dBMEVFTmdJQURBSUxRZFNCQVNBTU5nSUFJQWdvQWh3Z0FrWU5BUXNnQTBFRU5nSUFJQVloQlNBSElRUUxJQUFnQlRjREFDQUFJQVEzQXdnZ0NFRWdhaVFBQzdZQkFnSjhBMzhqQUVFUWF5SUZKQUFDUUFKQUFrQWdBQ0FCUndSQVFkU0JBU2dDQUNFSFFkU0JBVUVBTmdJQUVCWWFJd0JCRUdzaUJpUUFJQVlnQUNBRlFReHFRUUVRMkFFZ0Jpa0RBQ0FHS1FNSUVOMEJJUU1nQmtFUWFpUUFRZFNCQVNnQ0FDSUFSUTBCSUFVb0Fnd2dBVWNOQWlBRElRUWdBRUhFQUVjTkF3d0NDeUFDUVFRMkFnQU1BZ3RCMUlFQklBYzJBZ0FnQlNnQ0RDQUJSZzBCQ3lBQ1FRUTJBZ0FnQkNFREN5QUZRUkJxSkFBZ0F3dTJBUUlDZlFOL0l3QkJFR3NpQlNRQUFrQUNRQUpBSUFBZ0FVY0VRRUhVZ1FFb0FnQWhCMEhVZ1FGQkFEWUNBQkFXR2lNQVFSQnJJZ1lrQUNBR0lBQWdCVUVNYWtFQUVOZ0JJQVlwQXdBZ0Jpa0RDQkRrQWlFRElBWkJFR29rQUVIVWdRRW9BZ0FpQUVVTkFTQUZLQUlNSUFGSERRSWdBeUVFSUFCQnhBQkhEUU1NQWdzZ0FrRUVOZ0lBREFJTFFkU0JBU0FITmdJQUlBVW9BZ3dnQVVZTkFRc2dBa0VFTmdJQUlBUWhBd3NnQlVFUWFpUUFJQU1MeGdFQ0EzOEJmaU1BUVJCcklnUWtBQUorQWtBQ1FDQUFJQUZIQkVBQ1FBSkFJQUF0QUFBaUJVRXRSdzBBSUFCQkFXb2lBQ0FCUncwQURBRUxRZFNCQVNnQ0FDRUdRZFNCQVVFQU5nSUFJQUFnQkVFTWFpQURFQllRMlFFaEJ3SkFRZFNCQVNnQ0FDSUFCRUFnQkNnQ0RDQUJSdzBCSUFCQnhBQkdEUVFNQlF0QjFJRUJJQVkyQWdBZ0JDZ0NEQ0FCUmcwRUN3c0xJQUpCQkRZQ0FFSUFEQUlMSUFKQkJEWUNBRUovREFFTFFnQWdCMzBnQnlBRlFTMUdHd3NoQnlBRVFSQnFKQUFnQnd2WEFRSURmd0YrSXdCQkVHc2lCQ1FBQW44Q1FBSkFBa0FnQUNBQlJ3UkFBa0FDUUNBQUxRQUFJZ1ZCTFVjTkFDQUFRUUZxSWdBZ0FVY05BQXdCQzBIVWdRRW9BZ0FoQmtIVWdRRkJBRFlDQUNBQUlBUkJER29nQXhBV0VOa0JJUWNDUUVIVWdRRW9BZ0FpQUFSQUlBUW9BZ3dnQVVjTkFTQUFRY1FBUmcwRkRBUUxRZFNCQVNBR05nSUFJQVFvQWd3Z0FVWU5Bd3NMQ3lBQ1FRUTJBZ0JCQUF3REN5QUhRdi8vLy84UFdBMEJDeUFDUVFRMkFnQkJmd3dCQzBFQUlBZW5JZ0JySUFBZ0JVRXRSaHNMSVFBZ0JFRVFhaVFBSUFBTGtnTUJBWDhqQUVHUUFtc2lBQ1FBSUFBZ0FqWUNnQUlnQUNBQk5nS0lBaUFERUZ3aEJpQUFRZEFCYWlBRElBQkIvd0ZxRUpvQklBQkJ3QUZxRUJFaUFTQUJFQk1RRENBQUlBRkJBQkFMSWdJMkFyd0JJQUFnQUVFUWFqWUNEQ0FBUVFBMkFnZ0RRQUpBSUFCQmlBSnFJQUJCZ0FKcUVERkZEUUFnQUNnQ3ZBRWdBUkFKSUFKcVJnUkFJQUVRQ1NFRElBRWdBUkFKUVFGMEVBd2dBU0FCRUJNUURDQUFJQU1nQVVFQUVBc2lBbW8yQXJ3QkN5QUFRWWdDYWhBZklBWWdBaUFBUWJ3QmFpQUFRUWhxSUFBc0FQOEJJQUJCMEFGcUlBQkJFR29nQUVFTWFrSGcwQUFRalFFTkFDQUFRWWdDYWhBaUdnd0JDd3NDUUNBQVFkQUJhaEFKUlEwQUlBQW9BZ3dpQXlBQVFSQnFhMEdmQVVvTkFDQUFJQU5CQkdvMkFnd2dBeUFBS0FJSU5nSUFDeUFGSUFJZ0FDZ0N2QUVnQkNBR0VNY0NOZ0lBSUFCQjBBRnFJQUJCRUdvZ0FDZ0NEQ0FFRUMwZ0FFR0lBbW9nQUVHQUFtb1FKZ1JBSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dBQ2dDaUFJaEFpQUJFQW9hSUFCQjBBRnFFQW9hSUFCQmtBSnFKQUFnQWd2Y0FRSURmd0YrSXdCQkVHc2lCQ1FBQW44Q1FBSkFBa0FnQUNBQlJ3UkFBa0FDUUNBQUxRQUFJZ1ZCTFVjTkFDQUFRUUZxSWdBZ0FVY05BQXdCQzBIVWdRRW9BZ0FoQmtIVWdRRkJBRFlDQUNBQUlBUkJER29nQXhBV0VOa0JJUWNDUUVIVWdRRW9BZ0FpQUFSQUlBUW9BZ3dnQVVjTkFTQUFRY1FBUmcwRkRBUUxRZFNCQVNBR05nSUFJQVFvQWd3Z0FVWU5Bd3NMQ3lBQ1FRUTJBZ0JCQUF3REN5QUhRdi8vQTFnTkFRc2dBa0VFTmdJQVFmLy9Bd3dCQzBFQUlBZW5JZ0JySUFBZ0JVRXRSaHNMSVFBZ0JFRVFhaVFBSUFCQi8vOERjUXUyQVFJQmZnSi9Jd0JCRUdzaUJTUUFBa0FDUUNBQUlBRkhCRUJCMUlFQktBSUFJUVpCMUlFQlFRQTJBZ0FnQUNBRlFReHFJQU1RRmhEUEFpRUVBa0JCMUlFQktBSUFJZ0FFUUNBRktBSU1JQUZIRFFFZ0FFSEVBRVlOQXd3RUMwSFVnUUVnQmpZQ0FDQUZLQUlNSUFGR0RRTUxDeUFDUVFRMkFnQkNBQ0VFREFFTElBSkJCRFlDQUNBRVFnQlZCRUJDLy8vLy8vLy8vLy8vQUNFRURBRUxRb0NBZ0lDQWdJQ0FnSDhoQkFzZ0JVRVFhaVFBSUFRTHd3RUNBbjhCZmlNQVFSQnJJZ1FrQUFKL0FrQUNRQ0FBSUFGSEJFQkIxSUVCS0FJQUlRVkIxSUVCUVFBMkFnQWdBQ0FFUVF4cUlBTVFGaERQQWlFR0FrQkIxSUVCS0FJQUlnQUVRQ0FFS0FJTUlBRkhEUUVnQUVIRUFFWU5CQXdEQzBIVWdRRWdCVFlDQUNBRUtBSU1JQUZHRFFJTEN5QUNRUVEyQWdCQkFBd0NDeUFHUW9DQWdJQjRVeUFHUXYvLy8vOEhWWElOQUNBR3B3d0JDeUFDUVFRMkFnQkIvLy8vL3djZ0JrSUFWUTBBR2tHQWdJQ0FlQXNoQUNBRVFSQnFKQUFnQUF2bUFnRUVmeUFBUVVCcklnTkJ2Q2cyQWdBZ0EwSDBJVFlDQUNBQVFmd2xOZ0lBSUFOQnBDWTJBZ0FnQUVHUUpqWUNDQ0FBUWJRbUtBSUFJZ0UyQWdBZ0FDQUJRUXhyS0FJQWFrRzRKaWdDQURZQ0FDQUFRUUEyQWdRZ0FDQUFLQUlBUVF4cktBSUFhaUlDUVFBMkFoUWdBaUFBUVF4cUlnRTJBaGdnQWtFQU5nSU1JQUpDZ3FDQWdPQUFOd0lFSUFJZ0FVVTJBaEFnQWtFZ2FrRUFRU2dRUmhvZ0FrRWNhaENQQWlBQ1FRQTJBa2dnQWtGL05nSk1JQUJCQ0dvaUFrRzhKaWdDQUNJRU5nSUFJQUlnQkVFTWF5Z0NBR3BCd0NZb0FnQTJBZ0FnQUVHd0ppZ0NBQ0lDTmdJQUlBQWdBa0VNYXlnQ0FHcEJ4Q1lvQWdBMkFnQWdBRUhJSmlnQ0FEWUNDQ0FBUWZ3bE5nSUFJQU5CcENZMkFnQWdBRUdRSmpZQ0NDQUJRYndmTmdJQUlBRkJCR29RandJZ0FVSUFOd0lZSUFGQ0FEY0NFQ0FCUWdBM0FnZ2dBVUcwSVRZQ0FDQUJRU0JxRUJFYUlBRkJHRFlDTUNBQlFRQTJBaXdnQUFzS0FDQUJJQUJyUVF4dEM1UUJBUVIvSXdCQkVHc2lCU1FBSUFFZ0FoQ2lBaUlFUWUvLy8vOERUUVJBQWtBZ0JFRUJUUVJBSUFBZ0JCQTZJQUFoQXd3QkN5QUFJQUFnQkJDQ0FVRUJhaUlHRUlFQklnTVFUU0FBSUFZUVRDQUFJQVFRT1FzRFFDQUJJQUpIQkVBZ0F5QUJFRE1nQTBFRWFpRURJQUZCQkdvaEFRd0JDd3NnQlVFQU5nSU1JQU1nQlVFTWFoQXpJQVZCRUdva0FBOExFQmNBQ3hZQUlBQWdBU0FDUW9DQWdJQ0FnSUNBZ0g4UTBBSUxrZ1FDQjM4RWZpTUFRUkJySWdna0FBSkFBa0FDUUNBQ1FTUk1CRUFnQUMwQUFDSUZEUUVnQUNFRURBSUxRZFNCQVVFY05nSUFRZ0FoQXd3Q0N5QUFJUVFDUUFOQUlBVkJHSFJCR0hVUWNFVU5BU0FFTFFBQklRVWdCRUVCYWlFRUlBVU5BQXNNQVFzQ1FDQUVMUUFBSWdWQksyc09Bd0FCQUFFTFFYOUJBQ0FGUVMxR0d5RUhJQVJCQVdvaEJBc0Nmd0pBSUFKQmIzRU5BQ0FFTFFBQVFUQkhEUUJCQVNFSklBUXRBQUZCM3dGeFFkZ0FSZ1JBSUFSQkFtb2hCRUVRREFJTElBUkJBV29oQkNBQ1FRZ2dBaHNNQVFzZ0FrRUtJQUliQ3lJS3JDRU1RUUFoQWdOQUFrQkJVQ0VGQWtBZ0JDd0FBQ0lHUVRCclFmOEJjVUVLU1EwQVFhbC9JUVVnQmtIaEFHdEIvd0Z4UVJwSkRRQkJTU0VGSUFaQndRQnJRZjhCY1VFWlN3MEJDeUFGSUFacUlnWWdDazROQUNBSUlBeENBQ0FMUWdBUUswRUJJUVVDUUNBSUtRTUlRZ0JTRFFBZ0N5QU1maUlOSUFhc0lnNUNmNFZXRFFBZ0RTQU9mQ0VMUVFFaENTQUNJUVVMSUFSQkFXb2hCQ0FGSVFJTUFRc0xJQUVFUUNBQklBUWdBQ0FKR3pZQ0FBc0NRQUpBSUFJRVFFSFVnUUZCeEFBMkFnQWdCMEVBSUFOQ0FZTWlERkFiSVFjZ0F5RUxEQUVMSUFNZ0MxWU5BU0FEUWdHRElRd0xJQXluSUFkeVJRUkFRZFNCQVVIRUFEWUNBQ0FEUWdGOUlRTU1BZ3NnQXlBTFdnMEFRZFNCQVVIRUFEWUNBQXdCQ3lBTElBZXNJZ09GSUFOOUlRTUxJQWhCRUdva0FDQURDekVCQVg5QjJJWUJLQUlBSVFFZ0FBUkFRZGlHQVVIb2hRRWdBQ0FBUVg5R0d6WUNBQXRCZnlBQklBRkI2SVVCUmhzTHJRZ0JCWDhnQVNnQ0FDRUVBa0FDUUFKQUFrQUNRQUpBQWtBQ2Z3SkFBa0FDUUFKQUlBTkZEUUFnQXlnQ0FDSUdSUTBBSUFCRkJFQWdBaUVEREFNTElBTkJBRFlDQUNBQ0lRTU1BUXNDUUVIWWhnRW9BZ0FvQWdCRkJFQWdBRVVOQVNBQ1JRME1JQUloQmdOQUlBUXNBQUFpQXdSQUlBQWdBMEgvdndOeE5nSUFJQUJCQkdvaEFDQUVRUUZxSVFRZ0JrRUJheUlHRFFFTURnc0xJQUJCQURZQ0FDQUJRUUEyQWdBZ0FpQUdhdzhMSUFJaEF5QUFSUTBEREFVTElBUVFrZ0VQQzBFQklRVU1Bd3RCQUF3QkMwRUJDeUVGQTBBZ0JVVUVRQ0FFTFFBQVFRTjJJZ1ZCRUdzZ0JrRWFkU0FGYW5KQkIwc05Bd0ovSUFSQkFXb2lCU0FHUVlDQWdCQnhSUTBBR2lBRkxRQUFRY0FCY1VHQUFVY0VRQ0FFUVFGcklRUU1Cd3NnQkVFQ2FpSUZJQVpCZ0lBZ2NVVU5BQm9nQlMwQUFFSEFBWEZCZ0FGSEJFQWdCRUVCYXlFRURBY0xJQVJCQTJvTElRUWdBMEVCYXlFRFFRRWhCUXdCQ3dOQUFrQWdCRUVEY1NBRUxRQUFJZ1pCQVd0Qi9nQkxjZzBBSUFRb0FnQWlCa0dCZ29RSWF5QUdja0dBZ1lLRWVIRU5BQU5BSUFOQkJHc2hBeUFFS0FJRUlRWWdCRUVFYWlFRUlBWWdCa0dCZ29RSWEzSkJnSUdDaEhoeFJRMEFDd3NnQmtIL0FYRWlCVUVCYTBIK0FFMEVRQ0FEUVFGcklRTWdCRUVCYWlFRURBRUxDeUFGUWNJQmF5SUZRVEpMRFFNZ0JFRUJhaUVFSUFWQkFuUkJ3Q3RxS0FJQUlRWkJBQ0VGREFBTEFBc0RRQ0FGUlFSQUlBTkZEUWNEUUFKQUFrQUNRQ0FFTFFBQUlnVkJBV3NpQjBIK0FFc0VRQ0FGSVFZTUFRc2dCRUVEY1NBRFFRVkpjZzBCQWtBRFFDQUVLQUlBSWdaQmdZS0VDR3NnQm5KQmdJR0NoSGh4RFFFZ0FDQUdRZjhCY1RZQ0FDQUFJQVF0QUFFMkFnUWdBQ0FFTFFBQ05nSUlJQUFnQkMwQUF6WUNEQ0FBUVJCcUlRQWdCRUVFYWlFRUlBTkJCR3NpQTBFRVN3MEFDeUFFTFFBQUlRWUxJQVpCL3dGeElnVkJBV3NoQndzZ0IwSCtBRXNOQVFzZ0FDQUZOZ0lBSUFCQkJHb2hBQ0FFUVFGcUlRUWdBMEVCYXlJRERRRU1DUXNMSUFWQndnRnJJZ1ZCTWtzTkF5QUVRUUZxSVFRZ0JVRUNkRUhBSzJvb0FnQWhCa0VCSVFVTUFRc2dCQzBBQUNJRlFRTjJJZ2RCRUdzZ0J5QUdRUnAxYW5KQkIwc05BUUpBQWtBQ2Z5QUVRUUZxSWdjZ0JVR0FBV3NnQmtFR2RISWlCVUVBVGcwQUdpQUhMUUFBUVlBQmF5SUhRVDlMRFFFZ0JFRUNhaUlJSUFjZ0JVRUdkSElpQlVFQVRnMEFHaUFJTFFBQVFZQUJheUlIUVQ5TERRRWdCeUFGUVFaMGNpRUZJQVJCQTJvTElRUWdBQ0FGTmdJQUlBTkJBV3NoQXlBQVFRUnFJUUFNQVF0QjFJRUJRUmsyQWdBZ0JFRUJheUVFREFVTFFRQWhCUXdBQ3dBTElBUkJBV3NoQkNBR0RRRWdCQzBBQUNFR0N5QUdRZjhCY1EwQUlBQUVRQ0FBUVFBMkFnQWdBVUVBTmdJQUN5QUNJQU5yRHd0QjFJRUJRUmsyQWdBZ0FFVU5BUXNnQVNBRU5nSUFDMEYvRHdzZ0FTQUVOZ0lBSUFJTEl3RUNmeUFBSVFFRFFDQUJJZ0pCQkdvaEFTQUNLQUlBRFFBTElBSWdBR3RCQW5VTERnQWdBQkRmQWdSQUlBQVFFQXNMVXdFRWZ3SkFJQUZCQUV3TkFDQUJRUUZySWdSRkRRQURRQ0FBSUFKcUlnTXRBQUFoQlNBRElBQWdBa0VCY21vaUF5MEFBRG9BQUNBRElBVTZBQUFnQWtFQ2FpSUNJQUZPRFFFZ0FpQUVSdzBBQ3dzTExBRUJmeU1BUVJCcklnSWtBQ0FDSUFFMkFnd2dBRUhrQUVIdUhDQUJFTFVCSVFBZ0FrRVFhaVFBSUFBTEtRRUJmeU1BUVJCcklnSWtBQ0FDSUFFMkFnd2dBRUgwSENBQkVPSUNJUUFnQWtFUWFpUUFJQUFMRmdBZ0FCQkZRUUJISUFCQklISkI0UUJyUVFaSmNndThBZ0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJDV3NPRWdBSUNRb0lDUUVDQXdRS0NRb0tDQWtGQmdjTElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FTZ0NBRFlDQUE4TElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FUSUJBRGNEQUE4TElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FUTUJBRGNEQUE4TElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FUQUFBRGNEQUE4TElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FURUFBRGNEQUE4TElBSWdBaWdDQUVFSGFrRjRjU0lCUVFocU5nSUFJQUFnQVNzREFEa0RBQThMSUFBZ0FrRXpFUU1BQ3c4TElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FUUUNBRGNEQUE4TElBSWdBaWdDQUNJQlFRUnFOZ0lBSUFBZ0FUVUNBRGNEQUE4TElBSWdBaWdDQUVFSGFrRjRjU0lCUVFocU5nSUFJQUFnQVNrREFEY0RBQXYrRkFFT2Z5TUFRVUJxSWdNa0FDQURRUUEyQWhBZ0EwRUFOZ0lNSUFOQkFEWUNDQ0FEUVFBMkFnUWdBeUFEUVJCcUlnUTJBaFFnQXlBRFFReHFJZ2cyQWhnZ0F5Z0NGQm9nQXlBRFFRaHFJZ28yQWh3Z0F5Z0NHQm9nQXlBRFFRUnFJZ1kyQWlBZ0F5Z0NIQm9nQXlnQ0lCb2pBRUVRYXlJSEpBQWdCaUFBTFFBQ0lBQXRBQUVnQUMwQUFITnpRUmgwUVJoMUlnVkJNSE1nQlVFQmRFR2ZmM0pxUVFGcUlnVTJBZ0FnQ2lBRlFYOXpJQUZ4SUFVZ0FVRi9jeUlNY1dzaUJVRitjaUFGUVg1eGFrRUJhaUlGTmdJQUlBUWdCUkFaTmdJQUlBZ2dCaWdDQUNJSkVCazJBZ0FEUUFKQVFiM3UrYUYrSVFVRFFBSkFBa0FnQlVHODd2bWhma3dFUUNBRlFlM3NoT041UmcwQklBVkJpYTNOMjN4R0RRSWdCVUdJaFlMY2ZFY05BeUFIUVJCcUpBQU1CQXNnQlVIMmpvYlZCRWNFUUNBRlFacWVvOGtEUmdSQVFRQWhDMEh0N0lUamVTRUZEQVFMSUFWQnZlNzVvWDVIRFFNZ0J5QUpOZ0lJUWZhT2h0VUVRWnFlbzhrRElBY29BZ2hCQUVvYklRVU1Bd3NnQmlnQ0FDSUZRWDl6SUFGeElBVWdESEZySWdsQmZuTWdDVUVCZEVGOGNXb2dBR290QUFFaERTQUlLQUlBSUFVZ0J5Z0NDR3RxSUFBZ0J5Z0NDQ0lGUVg5eklBRnhRUUYwSUFFZ0JYTnJhaTBBQUNBQUlBbHFRUUpyTFFBQUlBMXpjem9BQUNBSEtBSUlRUUZySVFrTUJBc2dCeUFMTmdJTVFZbXR6ZHQ4UVlpRmd0eDhJQW9vQWdBZ0J5Z0NERW9iSVFVTUFRc2dCQ2dDQUNBSEtBSU1haUFBSUFjb0FneEJBV29pQzJvdEFBQTZBQUJCN2V5RTQza2hCUXdBQ3dBTEN5QURJQU1vQWd4QnJ4NGdBeWdDQkJDK0FUWUNKRUhOdXZhZUJTRUFBMEFDUUFKQUFrQUNRQUpBQWtBQ1FDQUFRY3J3cWFJQlRBUkFJQUJCL2JYYTczNU1CRUFnQUVHUjFZdVVlMFlOQnlBQVFjMlY2OXA3UmcwRElBQkJnTkhuL1h4SERRbEJrZFdMbEhzaEFFRUFJUUVNQ1FzZ0FFSCt0ZHJ2ZmtZTkJDQUFRYTZtMC9ZQVJnMEJJQUJCMGFDNUdFY05DQ0FES0FJUUVCQWdBeWdDREJBUUlBTW9BaUFhSUFNb0Fod2FJQU1vQWhnYUlBTW9BaFFhSUFNb0Fpd2hBQ0FEUVVCckpBQWdBQThMSUFCQjc0VHI5UUpNQkVBZ0FFSEw4S21pQVVZTkJ5QUFRWXpBeW9BQ1J3MElJQU1vQWhBaENDQURLQUlJSVE1QkFDRUpRUUFoQ2tFQUlRVkJBQ0VIUVFBaEN5TUFRUkJySWdRa0FFR1NtT3pEQlVHNzdMeUlCQ0FDR3lFR1FkVUFJUXhCK2dFaERRTkFBa0JCNXFxZmVpRUFBMEFDUUFKQUFrQUNRQUpBSUFCQnBOV0Q5Z0ZNQkVBZ0FFSG95cEM1ZkV3RVFDQUFRZmkxK1B0NVJnMEdJQUJCNU5DV3QzcEdEUVVnQUVHWTllM09lVWNOQnlBRVFSQnFKQUFNQ0FzZ0FFSHB5cEM1ZkVZTkFTQUFRZWFxbjNwSERRWWdCQ0FKTmdJRUlBUWdEVG9BQ3lBRUlBdzZBQXhCNmNxUXVYeEJtUFh0em5rZ0JDZ0NCQ0FPU0JzaEFBd0dDeUFBUWJEdGlya0VUQVJBSUFCQnBkV0Q5Z0ZHRFFJZ0FFRzc3THlJQkVjTkJrSDR0Zmo3ZVNFQUlBUXNBQTBnQkNnQ0JCRG9BaUVLREFZTElBQkJzZTJLdVFSR0RRSWdBRUdTbU96REJVY05CVUg0dGZqN2VTRUFJQVFzQUEwZ0JDZ0NCQkRoQWlFS0RBVUxRYVhWZy9ZQlFiSHRpcmtFSUFRb0FnUkJBbTlCQVVZYklRQU1CQXNnQ0NBRUtBSUVhaTBBQUNJRklBUXRBQXh6SVFkQjVOQ1d0M29oQUNBRUxRQUxJUXNNQXdzZ0NDQUVLQUlFYWkwQUFDSUxJQVF0QUF0eklRZEI1TkNXdDNvaEFDQUVMUUFNSVFVTUFnc2dCQ0FMT2dBT0lBUWdCem9BRFNBRUlBVTZBQThnQmlFQURBRUxDeUFJSUFRb0FnUnFJQW82QUFBZ0JDZ0NCRUVCYWlFSklBUXRBQThoRENBRUxRQU9JUTBNQVFzTFFmQ0U2L1VDSVFBTUNBc2dBRUh3aE92MUFrWU5BaUFBUVpqWHFwRURSZzBFSUFCQnpicjJuZ1ZIRFFkQnJxYlQ5Z0JCelpYcjJuc2dBeWdDSkJzaEFBd0hDMEdNd01xQUFrSE5sZXZhZXlBREtBSU1RYlllSUFNb0FnUVF2Z0ViSVFBTUJnc2dBeWdDRUNFSUlBTW9BZ2doQlVFQUlRcEJBQ0VOUVFBaEIwRUFJUXRCQUNFSlFRQWhEQ01BUVJCcklnUWtBQ0FJSUFVUTFRSkJzcWJiaXdSQnV2K0RvbmtnQWhzaEJrSFZBQ0VPUWZvQklROERRQUpBUWJTVzBib0NJUUFEUUFKQUFrQUNRQ0FBUWJPVzBib0NUQVJBSUFCQnBmSGEyMzFNQkVBZ0FFRzYvNE9pZVVZTkJDQUFRWi9VbnBoN1JnMERJQUJCMCtpNjQzaEhEUVVnQ0NBRkVOVUNJQVJCRUdva0FBd0dDeUFBUWFieDJ0dDlSZzBCSUFCQmc2YVpyUUZIRFFSQmw0WGN2Z1JCcHZIYTIzMGdCQ2dDQkVFQ2IwRUJSaHNoQUF3RUN3SkFBa0FnQUVHV2hkeStCRXdFUUNBQVFiU1cwYm9DUmcwQklBQkJzcWJiaXdSSERRWkIvN0xsbHdVaEFDQUVMQUFOSUFRb0FnUVE0UUloQ2d3R0N5QUFRWmVGM0w0RVJnMEJJQUJCLzdMbGx3VkhEUVVnQ0NBRUtBSUVhaUFFTFFBTUlnQWdDbk1nQUNBS1FYOXpjVUVCZEdzNkFBQWdCQ2dDQkVFQmFpRU5JQVF0QUE4aERpQUVMUUFPSVE4TUJ3c2dCQ0FOTmdJRUlBUWdEem9BQ2lBRUlBNDZBQXRCZzZhWnJRRkIwK2k2NDNnZ0JDZ0NCQ0FGU0JzaEFBd0VDeUFJSUFRb0FnUnFMUUFBSWdjZ0JDMEFDM01oQzBHZjFKNllleUVBSUFRdEFBb2hDU0FFTFFBS0lRd01Bd3NnQ0NBRUtBSUVhaTBBQUNJSklBUXRBQXB6SVF0Qm45U2VtSHNoQUNBRUxRQUxJUWNnQkMwQUN5RU1EQUlMSUFRZ0N6b0FEU0FFSUF3NkFBd2dCQ0FKT2dBT0lBUWdCem9BRHlBR0lRQU1BUXRCLzdMbGx3VWhBQ0FFTEFBTklBUW9BZ1FRNkFJaENnd0FDd0FMQzBId2hPdjFBaUVBREFVTElBTUNmMEVBSVFRakFFRVFheUlHSUFNb0FoQXNBQUEyQWdnZ0JpQUdLQUlJUVM5S09nQU9JQVlnQmlnQ0NFRTZTRG9BRDBHTTRKU0NlaUVBQTBBQ1FDQUFRYXpjaDRoN1RBUkFJQUJCbGVyQnVuaEdCRUJCL3dFaEJFR3QzSWVJZXlFQURBTUxJQUJCak9DVWducEdEUUVnQUVHOG9PZkxla2NOQWlBR0tBSUlJZ0JCNFFCeklBQkJBWFJCdlg1eWFrRUJhaUlBUVFGMFFSUnhJQUJCQ25OcUlRUkJyZHlIaUhzaEFBd0NDeUFBUWEzY2g0aDdSd1JBSUFCQm1xWDQ2d0pIQkVBZ0FFSEE0ckRDQTBjTkF5QUdLQUlJSWdCQnp3RnlJQUJCendGeGFrRUJhaUVFUWEzY2g0aDdJUUFNQXd0QnZLRG55M3BCbGVyQnVuZ2dCaWdDQ0VIN0FFZ2JRWlhxd2JwNElBWW9BZ2hCNEFCS0d5RUFEQUlMSUFSQkdIUkJHSFVNQWd0QndPS3d3Z05CbXFYNDZ3SWdCaTBBRDBFQmNSdEJtcVg0NndJZ0JpMEFEa0VCY1JzaEFBd0FDd0FMSWdBMkFnUWdBeUFES0FJSUlnWWdBRUYvYzNFZ0FDQUdRWDl6Y1dzaUJrRitjaUFHUVg1eGFrRUJhallDS0NBRElBWVFHVFlDTENBRElBQkJBWFJCQW5FZ0FFRUJjMm9RR1RZQ01FRUFJUkFnQXlnQ0tDQURLQUlzYWtFQU9nQUFJQU1vQWdRZ0F5Z0NNR3BCQURvQUFFSCt0ZHJ2ZmlFQURBUUxJQU1nRURZQ09FR1kxNnFSQTBHQTBlZjlmQ0FES0FJb0lBTW9BamhLR3lFQURBTUxJQU1vQWl3Z0F5Z0NPR29nQXlnQ09DSUFRUUYwUVFKeUlBQkJmbk5xUVFGcUloQWdBeWdDRUdvdEFBQTZBQUJCL3JYYTczNGhBQXdDQ3lBRElBTW9BZ1EyQWpRZ0F5QUJOZ0k4UWN2d3FhSUJRZEdndVJnZ0F5Z0NOQ0FES0FJOFNoc2hBQXdCQ3lBREtBSXdJQU1vQWp4cUlBTW9BaEFnQXlnQ0NDQURLQUkwYXlJQUlBTW9BandpQVhKQkFYUWdBQ0FCYzJ0cUxRQUFPZ0FBSUFNb0FqeEJBV29oQVVHUjFZdVVleUVBREFBTEFBdHJBUVIvSUFBb0FnQXNBQUFRUlVVRVFFRUFEd3NEUUNBQUtBSUFJUU5CZnlFQklBSkJ6Sm16NWdCTkJFQkJmeUFETEFBQVFUQnJJZ1FnQWtFS2JDSUJhaUFFUWYvLy8vOEhJQUZyU2hzaEFRc2dBQ0FEUVFGcU5nSUFJQUVoQWlBRExBQUJFRVVOQUFzZ0FRdjBFZ0lSZndGK0l3QkIwQUJySWdVa0FDQUZJQUUyQWt3Z0JVRTNhaUVVSUFWQk9Hb2hFRUVBSVFFQ1FBSkFBa0FDUUFOQUlBRkIvLy8vL3djZ0MydEtEUUVnQVNBTGFpRUxJQVVvQWt3aUNpRUJBa0FDUUFKQUlBb3RBQUFpQ1FSQUEwQUNRQUpBSUFsQi93RnhJZ1pGQkVBZ0FTRUpEQUVMSUFaQkpVY05BU0FCSVFrRFFDQUJMUUFCUVNWSERRRWdCU0FCUVFKcUlnWTJBa3dnQ1VFQmFpRUpJQUV0QUFJaENDQUdJUUVnQ0VFbFJnMEFDd3NnQ1NBS2F5SUJRZi8vLy84SElBdHJJaFZLRFFjZ0FBUkFJQUFnQ2lBQkVDb0xJQUVOQmtGL0lRNUJBU0VHSUFVb0Frd3NBQUVRUlNFQklBVW9Ba3doQ0FKQUlBRkZEUUFnQ0MwQUFrRWtSdzBBSUFnc0FBRkJNR3NoRGtFQklSSkJBeUVHQ3lBRklBWWdDR29pQVRZQ1RFRUFJUXdDUUNBQkxBQUFJaEZCSUdzaUNFRWZTd1JBSUFFaEJnd0JDeUFCSVFaQkFTQUlkQ0lIUVluUkJIRkZEUUFEUUNBRklBRkJBV29pQmpZQ1RDQUhJQXh5SVF3Z0FTd0FBU0lSUVNCcklnaEJJRThOQVNBR0lRRkJBU0FJZENJSFFZblJCSEVOQUFzTEFrQWdFVUVxUmdSQUlBVUNmd0pBSUFZc0FBRVFSVVVOQUNBRktBSk1JZ0V0QUFKQkpFY05BQ0FCTEFBQlFRSjBJQVJxUWNBQmEwRUtOZ0lBSUFFc0FBRkJBM1FnQTJwQmdBTnJLQUlBSVExQkFTRVNJQUZCQTJvTUFRc2dFZzBHUVFBaEVrRUFJUTBnQUFSQUlBSWdBaWdDQUNJQlFRUnFOZ0lBSUFFb0FnQWhEUXNnQlNnQ1RFRUJhZ3NpQVRZQ1RDQU5RUUJPRFFGQkFDQU5heUVOSUF4QmdNQUFjaUVNREFFTElBVkJ6QUJxRU5zQ0lnMUJBRWdOQ0NBRktBSk1JUUVMUVFBaEJrRi9JUWNDZjBFQUlBRXRBQUJCTGtjTkFCb2dBUzBBQVVFcVJnUkFJQVVDZndKQUlBRXNBQUlRUlVVTkFDQUZLQUpNSWdFdEFBTkJKRWNOQUNBQkxBQUNRUUowSUFScVFjQUJhMEVLTmdJQUlBRXNBQUpCQTNRZ0EycEJnQU5yS0FJQUlRY2dBVUVFYWd3QkN5QVNEUVlnQUFSL0lBSWdBaWdDQUNJQlFRUnFOZ0lBSUFFb0FnQUZRUUFMSVFjZ0JTZ0NURUVDYWdzaUFUWUNUQ0FIUVg5elFSOTJEQUVMSUFVZ0FVRUJhallDVENBRlFjd0FhaERiQWlFSElBVW9Ba3doQVVFQkN5RVRBMEFnQmlFUFFSd2hDU0FCTEFBQVFjRUFhMEU1U3cwSklBVWdBVUVCYWlJUk5nSk1JQUVzQUFBaEJpQVJJUUVnQmlBUFFUcHNha0dQTG1vdEFBQWlCa0VCYTBFSVNRMEFDd0pBQWtBZ0JrRWJSd1JBSUFaRkRRc2dEa0VBVGdSQUlBUWdEa0VDZEdvZ0JqWUNBQ0FGSUFNZ0RrRURkR29wQXdBM0EwQU1BZ3NnQUVVTkNDQUZRVUJySUFZZ0FoRFpBaUFGS0FKTUlSRU1BZ3NnRGtFQVRnMEtDMEVBSVFFZ0FFVU5Cd3NnREVILy8zdHhJZ2dnRENBTVFZREFBSEViSVFaQkFDRU1RZThhSVE0Z0VDRUpBa0FDUUFKQUFuOENRQUpBQWtBQ1FBSi9Ba0FDUUFKQUFrQUNRQUpBQWtBZ0VVRUJheXdBQUNJQlFWOXhJQUVnQVVFUGNVRURSaHNnQVNBUEd5SUJRZGdBYXc0aEJCUVVGQlFVRkJRVURoUVBCZzRPRGhRR0ZCUVVGQUlGQXhRVUNSUUJGQlFFQUFzQ1FDQUJRY0VBYXc0SERoUUxGQTRPRGdBTElBRkIwd0JHRFFrTUV3c2dCU2tEUUNFV1FlOGFEQVVMUVFBaEFRSkFBa0FDUUFKQUFrQUNRQUpBSUE5Qi93RnhEZ2dBQVFJREJCb0ZCaG9MSUFVb0FrQWdDellDQUF3WkN5QUZLQUpBSUFzMkFnQU1HQXNnQlNnQ1FDQUxyRGNEQUF3WEN5QUZLQUpBSUFzN0FRQU1GZ3NnQlNnQ1FDQUxPZ0FBREJVTElBVW9Ba0FnQ3pZQ0FBd1VDeUFGS0FKQUlBdXNOd01BREJNTElBZEJDQ0FIUVFoTEd5RUhJQVpCQ0hJaEJrSDRBQ0VCQ3lBUUlRZ2dBVUVnY1NFUElBVXBBMEFpRmxCRkJFQURRQ0FJUVFGcklnZ2dGcWRCRDNGQm9ESnFMUUFBSUE5eU9nQUFJQlpDRDFZaENpQVdRZ1NJSVJZZ0NnMEFDd3NnQ0NFS0lBWkJDSEZGSUFVcEEwQlFjZzBESUFGQkJIWkI3eHBxSVE1QkFpRU1EQU1MSUJBaEFTQUZLUU5BSWhaUVJRUkFBMEFnQVVFQmF5SUJJQmFuUVFkeFFUQnlPZ0FBSUJaQ0IxWWhDQ0FXUWdPSUlSWWdDQTBBQ3dzZ0FTRUtJQVpCQ0hGRkRRSWdCeUFRSUFwcklnRkJBV29nQVNBSFNCc2hCd3dDQ3lBRktRTkFJaFpDQUZNRVFDQUZRZ0FnRm4waUZqY0RRRUVCSVF4Qjd4b01BUXNnQmtHQUVIRUVRRUVCSVF4QjhCb01BUXRCOFJwQjd4b2dCa0VCY1NJTUd3c2hEaUFXSUJBUWp3RWhDZ3NnRTBFQUlBZEJBRWdiRFE0Z0JrSC8vM3R4SUFZZ0V4c2hCaUFGS1FOQUloWkNBRklnQjNKRkJFQWdFQ0VLUVFBaEJ3d01DeUFISUJaUUlCQWdDbXRxSWdFZ0FTQUhTQnNoQnd3TEN5QUZLQUpBSWdGQmdCOGdBUnNpQ2lJSlFRQkIvLy8vL3djZ0J5QUhRUUJJR3lJR0VOd0JJZ0VnQ1dzZ0JpQUJHeUlCSUFwcUlRa2dCMEVBVGdSQUlBZ2hCaUFCSVFjTUN3c2dDQ0VHSUFFaEJ5QUpMUUFBRFEwTUNnc2dCd1JBSUFVb0FrQU1BZ3RCQUNFQklBQkJJQ0FOUVFBZ0JoQXVEQUlMSUFWQkFEWUNEQ0FGSUFVcEEwQStBZ2dnQlNBRlFRaHFJZ0UyQWtCQmZ5RUhJQUVMSVFsQkFDRUJBa0FEUUNBSktBSUFJZ2hGRFFFZ0JVRUVhaUFJRU40Q0lncEJBRWdpQ0NBS0lBY2dBV3RMY2tVRVFDQUpRUVJxSVFrZ0J5QUJJQXBxSWdGTERRRU1BZ3NMSUFnTkRRdEJQU0VKSUFGQkFFZ05DeUFBUVNBZ0RTQUJJQVlRTGlBQlJRUkFRUUFoQVF3QkMwRUFJUWNnQlNnQ1FDRUpBMEFnQ1NnQ0FDSUlSUTBCSUFWQkJHb2dDQkRlQWlJSUlBZHFJZ2NnQVVzTkFTQUFJQVZCQkdvZ0NCQXFJQWxCQkdvaENTQUJJQWRMRFFBTEN5QUFRU0FnRFNBQklBWkJnTUFBY3hBdUlBMGdBU0FCSUExSUd5RUJEQWdMSUJOQkFDQUhRUUJJR3cwSVFUMGhDU0FBSUFVckEwQWdEU0FISUFZZ0FVRXlFUjBBSWdGQkFFNE5Cd3dKQ3lBRklBVXBBMEE4QURkQkFTRUhJQlFoQ2lBSUlRWU1CQXNnQlNBQlFRRnFJZ1kyQWt3Z0FTMEFBU0VKSUFZaEFRd0FDd0FMSUFBTkJ5QVNSUTBDUVFFaEFRTkFJQVFnQVVFQ2RHb29BZ0FpQUFSQUlBTWdBVUVEZEdvZ0FDQUNFTmtDUVFFaEN5QUJRUUZxSWdGQkNrY05BUXdKQ3d0QkFTRUxJQUZCQ2s4TkJ3TkFJQVFnQVVFQ2RHb29BZ0FOQVNBQlFRRnFJZ0ZCQ2tjTkFBc01Cd3RCSENFSkRBUUxJQWtnQ21zaUR5QUhJQWNnRDBnYklnaEIvLy8vL3djZ0RHdEtEUUpCUFNFSklBZ2dER29pQnlBTklBY2dEVW9iSWdFZ0ZVb05BeUFBUVNBZ0FTQUhJQVlRTGlBQUlBNGdEQkFxSUFCQk1DQUJJQWNnQmtHQWdBUnpFQzRnQUVFd0lBZ2dEMEVBRUM0Z0FDQUtJQThRS2lBQVFTQWdBU0FISUFaQmdNQUFjeEF1REFFTEMwRUFJUXNNQXd0QlBTRUpDMEhVZ1FFZ0NUWUNBQXRCZnlFTEN5QUZRZEFBYWlRQUlBc0xmd0lCZndGK0lBQzlJZ05DTklpblFmOFBjU0lDUWY4UFJ3UjhJQUpGQkVBZ0FTQUFSQUFBQUFBQUFBQUFZUVIvUVFBRklBQkVBQUFBQUFBQThFT2lJQUVRM1FJaEFDQUJLQUlBUVVCcUN6WUNBQ0FBRHdzZ0FTQUNRZjRIYXpZQ0FDQURRdi8vLy8vLy8vK0hnSCtEUW9DQWdJQ0FnSUR3UDRTL0JTQUFDd3NTQUNBQVJRUkFRUUFQQ3lBQUlBRVEyZ0VMSlFBZ0FFRUFSeUFBUWNndFIzRWdBRUhnTFVkeElBQkJnSWNCUjNFZ0FFR1lod0ZIY1F2b0FnRURmd0pBSUFFdEFBQU5BRUdLSGhEYkFTSUJCRUFnQVMwQUFBMEJDeUFBUVF4c1FZQXVhaERiQVNJQkJFQWdBUzBBQUEwQkMwR1JIaERiQVNJQkJFQWdBUzBBQUEwQkMwR25IaUVCQ3dKQUEwQWdBU0FDYWkwQUFDSUVSU0FFUVM5R2NrVUVRRUVYSVFRZ0FrRUJhaUlDUVJkSERRRU1BZ3NMSUFJaEJBdEJweDRoQXdKQUFrQUNRQUpBQWtBZ0FTMEFBQ0lDUVM1R0RRQWdBU0FFYWkwQUFBMEFJQUVoQXlBQ1FjTUFSdzBCQ3lBRExRQUJSUTBCQ3lBRFFhY2VFTFlCUlEwQUlBTkI4UjBRdGdFTkFRc2dBRVVFUUVHa0xTRUNJQU10QUFGQkxrWU5BZ3RCQUE4TFFRQWhBVUg4aGdFb0FnQWlBZ1JBQTBBZ0F5QUNRUWhxRUxZQlJRMENJQUlvQWlBaUFnMEFDd3RCSkJBWklnSUVRQ0FDUWFRdEtRSUFOd0lBSUFKQkNHb2lBU0FESUFRUVFob2dBU0FFYWtFQU9nQUFJQUpCL0lZQktBSUFOZ0lnUWZ5R0FTQUNOZ0lBSUFJaEFRc2dBVUdrTFNBQUlBRnlHeUVDQ3lBQ0N5OEFJQUVRN0FJaUFTQUFRZjhCY1NJQWNVRUJkQ0FBSUFGemFpSUFRUlZ5UVFGMElBQkJGWE5yUVJoMFFSaDFDNDBlQWc5L0JYNGpBRUdRQVdzaUJDUUFJQVJCQUVHUUFSQkdJZ05CZnpZQ1RDQURJQUEyQWl3Z0EwRXhOZ0lnSUFNZ0FEWUNWQ0FCSVFRZ0FpRU9Jd0JCc0FKcklnWWtBQ0FES0FKTUdnSkFBa0FDUUFKQUlBTW9BZ1FOQUNBREVPa0JHaUFES0FJRURRQU1BUXNnQkMwQUFDSUFSUTBDQWtBRFFBSkFBa0FnQUVIL0FYRVFjQVJBQTBBZ0JDSUFRUUZxSVFRZ0FDMEFBUkJ3RFFBTElBTkNBQkJUQTBBQ2Z5QURLQUlFSWdFZ0F5Z0NhRWNFUUNBRElBRkJBV28yQWdRZ0FTMEFBQXdCQ3lBREVCSUxFSEFOQUFzZ0F5Z0NCQ0VFSUFNcEEzQkNBRmtFUUNBRElBUkJBV3NpQkRZQ0JBc2dCQ0FES0FJc2E2d2dBeWtEZUNBVWZId2hGQXdCQ3dKL0FrQUNRQ0FFTFFBQVFTVkdCRUFnQkMwQUFTSUFRU3BHRFFFZ0FFRWxSdzBDQ3lBRFFnQVFVd0pBSUFRdEFBQkJKVVlFUUFOQUFuOGdBeWdDQkNJQUlBTW9BbWhIQkVBZ0F5QUFRUUZxTmdJRUlBQXRBQUFNQVFzZ0F4QVNDeUlBRUhBTkFBc2dCRUVCYWlFRURBRUxJQU1vQWdRaUFDQURLQUpvUndSQUlBTWdBRUVCYWpZQ0JDQUFMUUFBSVFBTUFRc2dBeEFTSVFBTElBUXRBQUFnQUVjRVFDQURLUU53UWdCWkJFQWdBeUFES0FJRVFRRnJOZ0lFQ3lBQVFRQk9EUXBCQUNFTUlBMUZEUWdNQ2dzZ0F5Z0NCQ0FES0FJc2E2d2dBeWtEZUNBVWZId2hGQ0FFSVFBTUF3dEJBQ0VDSUFSQkFtb01BUXNDUUNBQUVFVkZEUUFnQkMwQUFrRWtSdzBBSUFRdEFBRkJNR3NoQUNNQVFSQnJJZ0VnRGpZQ0RDQUJJQTRnQUVFQ2RFRUVhMEVBSUFCQkFVc2JhaUlBUVFScU5nSUlJQUFvQWdBaEFpQUVRUU5xREFFTElBNG9BZ0FoQWlBT1FRUnFJUTRnQkVFQmFnc2hBRUVBSVF4QkFDRUVJQUF0QUFBUVJRUkFBMEFnQUMwQUFDQUVRUXBzYWtFd2F5RUVJQUF0QUFFaEFTQUFRUUZxSVFBZ0FSQkZEUUFMQ3lBQUxRQUFJZ1ZCN1FCSEJIOGdBQVZCQUNFSklBSkJBRWNoRENBQUxRQUJJUVZCQUNFS0lBQkJBV29MSWdGQkFXb2hBRUVESVFjQ1FBSkFBa0FDUUFKQUFrQWdCVUhCQUdzT09nUUpCQWtFQkFRSkNRa0pBd2tKQ1FrSkNRUUpDUWtKQkFrSkJBa0pDUWtKQkFrRUJBUUVCQUFFQlFrQkNRUUVCQWtKQkFJRUNRa0VDUUlKQ3lBQlFRSnFJQUFnQVMwQUFVSG9BRVlpQVJzaEFFRitRWDhnQVJzaEJ3d0VDeUFCUVFKcUlBQWdBUzBBQVVIc0FFWWlBUnNoQUVFRFFRRWdBUnNoQnd3REMwRUJJUWNNQWd0QkFpRUhEQUVMUVFBaEJ5QUJJUUFMUVFFZ0J5QUFMUUFBSWdGQkwzRkJBMFlpQlJzaER3SkFJQUZCSUhJZ0FTQUZHeUlMUWRzQVJnMEFBa0FnQzBIdUFFY0VRQ0FMUWVNQVJ3MEJJQVJCQVNBRVFRRktHeUVFREFJTElBSWdEeUFVRU9NQ0RBSUxJQU5DQUJCVEEwQUNmeUFES0FJRUlnRWdBeWdDYUVjRVFDQURJQUZCQVdvMkFnUWdBUzBBQUF3QkN5QURFQklMRUhBTkFBc2dBeWdDQkNFQklBTXBBM0JDQUZrRVFDQURJQUZCQVdzaUFUWUNCQXNnQVNBREtBSXNhNndnQXlrRGVDQVVmSHdoRkFzZ0F5QUVyQ0lTRUZNQ1FDQURLQUlFSWdFZ0F5Z0NhRWNFUUNBRElBRkJBV28yQWdRTUFRc2dBeEFTUVFCSURRUUxJQU1wQTNCQ0FGa0VRQ0FESUFNb0FnUkJBV3MyQWdRTFFSQWhBUUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUxRZGdBYXc0aEJnc0xBZ3NMQ3dzTEFRc0NCQUVCQVFzRkN3c0xDd3NEQmdzTEFnc0VDd3NHQUFzZ0MwSEJBR3NpQVVFR1MwRUJJQUYwUWZFQWNVVnlEUW9MSUFaQkNHb2dBeUFQUVFBUTVnSWdBeWtEZUVJQUlBTW9BZ1FnQXlnQ0xHdXNmVkVORHlBQ1JRMEpJQVlwQXhBaEVpQUdLUU1JSVJNZ0R3NERCUVlIQ1FzZ0MwSHZBWEZCNHdCR0JFQWdCa0VnYWtGL1FZRUNFRVlhSUFaQkFEb0FJQ0FMUWZNQVJ3MElJQVpCQURvQVFTQUdRUUE2QUM0Z0JrRUFOZ0VxREFnTElBWkJJR29nQUMwQUFTSUJRZDRBUmlJRlFZRUNFRVlhSUFaQkFEb0FJQ0FBUVFKcUlBQkJBV29nQlJzaENBSi9Ba0FDUUNBQVFRSkJBU0FGRzJvdEFBQWlBRUV0UndSQUlBQkIzUUJHRFFFZ0FVSGVBRWNoQnlBSURBTUxJQVlnQVVIZUFFY2lCem9BVGd3QkN5QUdJQUZCM2dCSElnYzZBSDRMSUFoQkFXb0xJUUFEUUFKQUlBQXRBQUFpQVVFdFJ3UkFJQUZGRFE4Z0FVSGRBRWNOQVF3S0MwRXRJUUVnQUMwQUFTSUZSU0FGUWQwQVJuSU5BQ0FBUVFGcUlRZ0NRQ0FGSUFCQkFXc3RBQUFpQUUwRVFDQUZJUUVNQVFzRFFDQUFRUUZxSWdBZ0JrRWdhbW9nQnpvQUFDQUFJQWd0QUFBaUFVa05BQXNMSUFnaEFBc2dBU0FHYWlBSE9nQWhJQUJCQVdvaEFBd0FDd0FMUVFnaEFRd0NDMEVLSVFFTUFRdEJBQ0VCQzBJQUlSSkJBQ0VGUVFBaENFRUFJUWNqQUVFUWF5SVFKQUFDUUNBQlFRRkhJQUZCSkUxeFJRUkFRZFNCQVVFY05nSUFEQUVMQTBBQ2Z5QURLQUlFSWdRZ0F5Z0NhRWNFUUNBRElBUkJBV28yQWdRZ0JDMEFBQXdCQ3lBREVCSUxJZ1FRY0EwQUN3SkFBa0FnQkVFcmF3NERBQUVBQVF0QmYwRUFJQVJCTFVZYklRY2dBeWdDQkNJRUlBTW9BbWhIQkVBZ0F5QUVRUUZxTmdJRUlBUXRBQUFoQkF3QkN5QURFQkloQkFzQ1FBSkFBa0FDUUNBQlFXOXhJQVJCTUVkeVJRUkFBbjhnQXlnQ0JDSUVJQU1vQW1oSEJFQWdBeUFFUVFGcU5nSUVJQVF0QUFBTUFRc2dBeEFTQ3lJRVFWOXhRZGdBUmdSQVFSQWhBUUovSUFNb0FnUWlCQ0FES0FKb1J3UkFJQU1nQkVFQmFqWUNCQ0FFTFFBQURBRUxJQU1RRWdzaUJFR3hLV290QUFCQkVFa05BeUFES1FOd1FnQlpCRUFnQXlBREtBSUVRUUZyTmdJRUN5QURRZ0FRVXd3R0N5QUJEUUZCQ0NFQkRBSUxJQUZCQ2lBQkd5SUJJQVJCc1NscUxRQUFTdzBBSUFNcEEzQkNBRmtFUUNBRElBTW9BZ1JCQVdzMkFnUUxJQU5DQUJCVFFkU0JBVUVjTmdJQURBUUxJQUZCQ2tjTkFDQUVRVEJySWdWQkNVMEVRRUVBSVFFRFFDQUJRUXBzSUFWcUlnRkJtYlBtekFGSkFuOGdBeWdDQkNJRUlBTW9BbWhIQkVBZ0F5QUVRUUZxTmdJRUlBUXRBQUFNQVFzZ0F4QVNDeUlFUVRCcklnVkJDVTF4RFFBTElBR3RJUklMQWtBZ0JVRUpTdzBBSUJKQ0NuNGhFeUFGclNFVkEwQUNmeUFES0FJRUlnRWdBeWdDYUVjRVFDQURJQUZCQVdvMkFnUWdBUzBBQUF3QkN5QURFQklMSWdSQk1Hc2lCVUVKU3lBVElCVjhJaEpDbXJQbXpKbXo1c3daV25JTkFTQVNRZ3ArSWhNZ0JhMGlGVUovaFZnTkFBdEJDaUVCREFJTFFRb2hBU0FGUVFsTkRRRU1BZ3NnQVNBQlFRRnJjUVJBSUFSQnNTbHFMUUFBSWdnZ0FVa0VRQU5BSUFFZ0JXd2dDR29pQlVISDQvRTRTUUovSUFNb0FnUWlCQ0FES0FKb1J3UkFJQU1nQkVFQmFqWUNCQ0FFTFFBQURBRUxJQU1RRWdzaUJFR3hLV290QUFBaUNDQUJTWEVOQUFzZ0JhMGhFZ3NnQVNBSVRRMEJJQUd0SVJNRFFDQVNJQk4rSWhVZ0NLMUMvd0dESWhaQ2Y0VldEUUlnRlNBV2ZDRVNJQUVDZnlBREtBSUVJZ1FnQXlnQ2FFY0VRQ0FESUFSQkFXbzJBZ1FnQkMwQUFBd0JDeUFERUJJTElnUkJzU2xxTFFBQUlnaE5EUUlnRUNBVFFnQWdFa0lBRUNzZ0VDa0RDRkFOQUFzTUFRc2dBVUVYYkVFRmRrRUhjVUd4SzJvc0FBQWhFU0FFUWJFcGFpMEFBQ0lGSUFGSkJFQURRQ0FJSUJGMElBVnlJZ2hCZ0lDQXdBQkpBbjhnQXlnQ0JDSUVJQU1vQW1oSEJFQWdBeUFFUVFGcU5nSUVJQVF0QUFBTUFRc2dBeEFTQ3lJRVFiRXBhaTBBQUNJRklBRkpjUTBBQ3lBSXJTRVNDeUFCSUFWTkRRQkNmeUFSclNJVGlDSVZJQkpVRFFBRFFDQUZyVUwvQVlNZ0VpQVRob1FoRWlBQkFuOGdBeWdDQkNJRUlBTW9BbWhIQkVBZ0F5QUVRUUZxTmdJRUlBUXRBQUFNQVFzZ0F4QVNDeUlFUWJFcGFpMEFBQ0lGVFEwQklCSWdGVmdOQUFzTElBRWdCRUd4S1dvdEFBQk5EUUFEUUNBQkFuOGdBeWdDQkNJRUlBTW9BbWhIQkVBZ0F5QUVRUUZxTmdJRUlBUXRBQUFNQVFzZ0F4QVNDMEd4S1dvdEFBQkxEUUFMUWRTQkFVSEVBRFlDQUVFQUlRZENmeUVTQ3lBREtRTndRZ0JaQkVBZ0F5QURLQUlFUVFGck5nSUVDMEVBSUJKQ2YxRWdCMEVCY2hzRVFFSFVnUUZCeEFBMkFnQkNmaUVTREFFTElCSWdCNndpRTRVZ0UzMGhFZ3NnRUVFUWFpUUFJQU1wQTNoQ0FDQURLQUlFSUFNb0FpeHJySDFSRFFvZ0FrVWdDMEh3QUVkeVJRUkFJQUlnRWo0Q0FBd0ZDeUFDSUE4Z0VoRGpBZ3dFQ3lBQ0lCTWdFaERrQWpnQ0FBd0RDeUFDSUJNZ0VoRGRBVGtEQUF3Q0N5QUNJQk0zQXdBZ0FpQVNOd01JREFFTElBUkJBV3BCSHlBTFFlTUFSaUlGR3lFSEFrQUNRQ0FQUVFGSElnaEZCRUFnQWlFQklBd0VRQ0FIUVFKMEVCa2lBVVVOQmdzZ0JrSUFOd09vQWtFQUlRUURRQ0FCSVFvRFFBSi9JQU1vQWdRaUFTQURLQUpvUndSQUlBTWdBVUVCYWpZQ0JDQUJMUUFBREFFTElBTVFFZ3NpQVNBR2FpMEFJVVVOQXlBR0lBRTZBQnNnQmtFY2FpQUdRUnRxUVFFZ0JrR29BbW9RdHdFaUFVRitSZzBBUVFBaENTQUJRWDlHRFFrZ0NnUkFJQW9nQkVFQ2RHb2dCaWdDSERZQ0FDQUVRUUZxSVFRTElBd2dCQ0FIUm5GRkRRQUxJQW9nQjBFQmRFRUJjaUlIUVFKMEVKNEJJZ0VOQUFzTUJ3c2dEQVJBUVFBaEJDQUhFQmtpQVVVTkJRTkFJQUVoQ1FOQUFuOGdBeWdDQkNJQklBTW9BbWhIQkVBZ0F5QUJRUUZxTmdJRUlBRXRBQUFNQVFzZ0F4QVNDeUlCSUFacUxRQWhSUVJBUVFBaENnd0ZDeUFFSUFscUlBRTZBQUFnQkVFQmFpSUVJQWRIRFFBTFFRQWhDaUFKSUFkQkFYUkJBWElpQnhDZUFTSUJEUUFMREFjTFFRQWhCQ0FDQkVBRFFBSi9JQU1vQWdRaUFTQURLQUpvUndSQUlBTWdBVUVCYWpZQ0JDQUJMUUFBREFFTElBTVFFZ3NpQVNBR2FpMEFJUVJBSUFJZ0JHb2dBVG9BQUNBRVFRRnFJUVFNQVFWQkFDRUtJQUloQ1F3RUN3QUxBQXNEUUFKL0lBTW9BZ1FpQVNBREtBSm9Sd1JBSUFNZ0FVRUJhallDQkNBQkxRQUFEQUVMSUFNUUVnc2dCbW90QUNFTkFBdEJBQ0VKUVFBaENnd0JDMEVBSVFrZ0JrR29BbW9FZnlBR0tBS29BZ1ZCQUFzTkJRc2dBeWdDQkNFQklBTXBBM0JDQUZrRVFDQURJQUZCQVdzaUFUWUNCQXNnQXlrRGVDQUJJQU1vQWl4cnJId2lFMUFnQzBIakFFWWdFaUFUVW5GeURRWUNRQ0FNUlEwQUlBaEZCRUFnQWlBS05nSUFEQUVMSUFJZ0NUWUNBQXNnQlEwQUlBb0VRQ0FLSUFSQkFuUnFRUUEyQWdBTElBbEZCRUJCQUNFSkRBRUxJQVFnQ1dwQkFEb0FBQXNnQXlnQ0JDQURLQUlzYTZ3Z0F5a0RlQ0FVZkh3aEZDQU5JQUpCQUVkcUlRMExJQUJCQVdvaEJDQUFMUUFCSWdBTkFRd0ZDd3RCQUNFSlFRQWhDZ3NnRFEwQkMwRi9JUTBMSUF4RkRRQWdDUkFRSUFvUUVBc2dCa0d3QW1va0FDQU5JUUFnQTBHUUFXb2tBQ0FBQzBNQUFrQWdBRVVOQUFKQUFrQUNRQUpBSUFGQkFtb09CZ0FCQWdJRUF3UUxJQUFnQWp3QUFBOExJQUFnQWowQkFBOExJQUFnQWo0Q0FBOExJQUFnQWpjREFBc0x0QU1DQTM4QmZpTUFRU0JySWdNa0FBSkFJQUZDLy8vLy8vLy8vLy8vQUlNaUJVS0FnSUNBZ0lEQXdEOTlJQVZDZ0lDQWdJQ0F3TC9BQUgxVUJFQWdBVUlaaUtjaEJDQUFVQ0FCUXYvLy93K0RJZ1ZDZ0lDQUNGUWdCVUtBZ0lBSVVSdEZCRUFnQkVHQmdJQ0FCR29oQWd3Q0N5QUVRWUNBZ0lBRWFpRUNJQUFnQlVLQWdJQUloWVJDQUZJTkFTQUNJQVJCQVhGcUlRSU1BUXNnQUZBZ0JVS0FnSUNBZ0lEQS8vOEFWQ0FGUW9DQWdJQ0FnTUQvL3dCUkcwVUVRQ0FCUWhtSXAwSC8vLzhCY1VHQWdJRCtCM0loQWd3QkMwR0FnSUQ4QnlFQ0lBVkMvLy8vLy8vL3Y3L0FBRllOQUVFQUlRSWdCVUl3aUtjaUJFR1IvZ0JKRFFBZ0EwRVFhaUFBSUFGQy8vLy8vLy8vUDROQ2dJQ0FnSUNBd0FDRUlnVWdCRUdCL2dCckVDOGdBeUFBSUFWQmdmOEFJQVJyRUh3Z0F5a0RDQ0lBUWhtSXB5RUNJQU1wQXdBZ0F5a0RFQ0FES1FNWWhFSUFVcTJFSWdWUUlBQkMvLy8vRDRNaUFFS0FnSUFJVkNBQVFvQ0FnQWhSRzBVRVFDQUNRUUZxSVFJTUFRc2dCU0FBUW9DQWdBaUZoRUlBVWcwQUlBSkJBWEVnQW1vaEFnc2dBMEVnYWlRQUlBSWdBVUlnaUtkQmdJQ0FnSGh4Y3I0TGdRUUNBMzhCZmdKQUFrQUNRQUovSUFBb0FnUWlBaUFBS0FKb1J3UkFJQUFnQWtFQmFqWUNCQ0FDTFFBQURBRUxJQUFRRWdzaUEwRXJhdzREQVFBQkFBc2dBMEV3YXlFQkRBRUxJQU5CTFVZaEJBSkFJQUZGQW44Z0FDZ0NCQ0lDSUFBb0FtaEhCRUFnQUNBQ1FRRnFOZ0lFSUFJdEFBQU1BUXNnQUJBU0N5SUNRVEJySWdGQkNrbHlEUUFnQUNrRGNFSUFVdzBBSUFBZ0FDZ0NCRUVCYXpZQ0JBc2dBaUVEQ3dKQUlBRkJDa2tFUUVFQUlRSURRQ0FESUFKQkNteHFJUUVDZnlBQUtBSUVJZ0lnQUNnQ2FFY0VRQ0FBSUFKQkFXbzJBZ1FnQWkwQUFBd0JDeUFBRUJJTElRTWdBVUV3YXlFQ0lBSkJ6Sm16NWdCSUlBTkJNR3NpQVVFSlRYRU5BQXNnQXF3aEJRSkFJQUZCQ2s4TkFBTkFJQU90SUFWQ0NuNThRakI5SVFVQ2Z5QUFLQUlFSWdFZ0FDZ0NhRWNFUUNBQUlBRkJBV28yQWdRZ0FTMEFBQXdCQ3lBQUVCSUxJZ05CTUdzaUFVRUpTdzBCSUFWQ3JvK0YxOGZDNjZNQlV3MEFDd3NnQVVFS1NRUkFBMEFDZnlBQUtBSUVJZ0VnQUNnQ2FFY0VRQ0FBSUFGQkFXbzJBZ1FnQVMwQUFBd0JDeUFBRUJJTFFUQnJRUXBKRFFBTEN5QUFLUU53UWdCWkJFQWdBQ0FBS0FJRVFRRnJOZ0lFQzBJQUlBVjlJQVVnQkJzaEJRd0JDMEtBZ0lDQWdJQ0FnSUIvSVFVZ0FDa0RjRUlBVXcwQUlBQWdBQ2dDQkVFQmF6WUNCRUtBZ0lDQWdJQ0FnSUIvRHdzZ0JRdWdNZ01RZndkK0FYd2pBRUV3YXlJTUpBQUNRQ0FDUVFKTkJFQWdBa0VDZENJQ1Fad3BhaWdDQUNFUElBSkJrQ2xxS0FJQUlRNERRQUovSUFFb0FnUWlBaUFCS0FKb1J3UkFJQUVnQWtFQmFqWUNCQ0FDTFFBQURBRUxJQUVRRWdzaUFoQndEUUFMUVFFaEJnSkFBa0FnQWtFcmF3NERBQUVBQVF0QmYwRUJJQUpCTFVZYklRWWdBU2dDQkNJQ0lBRW9BbWhIQkVBZ0FTQUNRUUZxTmdJRUlBSXRBQUFoQWd3QkN5QUJFQkloQWdzQ1FBSkFBMEFnQlVHS0dtb3NBQUFnQWtFZ2NrWUVRQUpBSUFWQkJrc05BQ0FCS0FJRUlnSWdBU2dDYUVjRVFDQUJJQUpCQVdvMkFnUWdBaTBBQUNFQ0RBRUxJQUVRRWlFQ0N5QUZRUUZxSWdWQkNFY05BUXdDQ3dzZ0JVRURSd1JBSUFWQkNFWU5BU0FEUlNBRlFRUkpjZzBDSUFWQkNFWU5BUXNnQVNrRGNDSVVRZ0JaQkVBZ0FTQUJLQUlFUVFGck5nSUVDeUFEUlNBRlFRUkpjZzBBSUJSQ0FGTWhBZ05BSUFKRkJFQWdBU0FCS0FJRVFRRnJOZ0lFQ3lBRlFRRnJJZ1ZCQTBzTkFBc0xRZ0FoRkNNQVFSQnJJZ0lrQUFKK0lBYXlRd0FBZ0grVXZDSURRZi8vLy84SGNTSUJRWUNBZ0FSclFmLy8vL2NIVFFSQUlBR3RRaG1HUW9DQWdJQ0FnSURBUDN3TUFRc2dBNjFDR1laQ2dJQ0FnSUNBd1AvL0FJUWdBVUdBZ0lEOEIwOE5BQnBDQUNBQlJRMEFHaUFDSUFHdFFnQWdBV2NpQVVIUkFHb1FMeUFDS1FNQUlSUWdBaWtEQ0VLQWdJQ0FnSURBQUlWQmlmOEFJQUZyclVJd2hvUUxJUlVnRENBVU53TUFJQXdnRlNBRFFZQ0FnSUI0Y2ExQ0lJYUVOd01JSUFKQkVHb2tBQ0FNS1FNSUlSUWdEQ2tEQUNFVkRBSUxBa0FDUUFKQUlBVU5BRUVBSVFVRFFDQUZRY2NjYWl3QUFDQUNRU0J5UncwQkFrQWdCVUVCU3cwQUlBRW9BZ1FpQWlBQktBSm9Sd1JBSUFFZ0FrRUJhallDQkNBQ0xRQUFJUUlNQVFzZ0FSQVNJUUlMSUFWQkFXb2lCVUVEUncwQUN3d0JDd0pBQWtBZ0JRNEVBQUVCQWdFTEFrQWdBa0V3UncwQUFuOGdBU2dDQkNJRklBRW9BbWhIQkVBZ0FTQUZRUUZxTmdJRUlBVXRBQUFNQVFzZ0FSQVNDMEZmY1VIWUFFWUVRQ01BUWJBRGF5SUNKQUFDZnlBQktBSUVJZ1VnQVNnQ2FFY0VRQ0FCSUFWQkFXbzJBZ1FnQlMwQUFBd0JDeUFCRUJJTElRVUNRQUovQTBBZ0JVRXdSd1JBQWtBZ0JVRXVSdzBFSUFFb0FnUWlCU0FCS0FKb1JnMEFJQUVnQlVFQmFqWUNCQ0FGTFFBQURBTUxCU0FCS0FJRUlnVWdBU2dDYUVjRWYwRUJJUW9nQVNBRlFRRnFOZ0lFSUFVdEFBQUZRUUVoQ2lBQkVCSUxJUVVNQVFzTElBRVFFZ3NoQlVFQklRUWdCVUV3UncwQUEwQWdGMElCZlNFWEFuOGdBU2dDQkNJRklBRW9BbWhIQkVBZ0FTQUZRUUZxTmdJRUlBVXRBQUFNQVFzZ0FSQVNDeUlGUVRCR0RRQUxRUUVoQ2d0Q2dJQ0FnSUNBd1A4L0lSVUNRQU5BQWtBZ0JVRWdjaUVMQWtBQ1FDQUZRVEJySWdoQkNra05BQ0FGUVM1SElBdEI0UUJyUVFaUGNRMEVJQVZCTGtjTkFDQUVEUUpCQVNFRUlCUWhGd3dCQ3lBTFFkY0FheUFJSUFWQk9Vb2JJUVVDUUNBVVFnZFhCRUFnQlNBSlFRUjBhaUVKREFFTElCUkNIRmNFUUNBQ1FUQnFJQVVRUVNBQ1FTQnFJQmtnRlVJQVFvQ0FnSUNBZ01EOVB4QVlJQUpCRUdvZ0Fpa0RJQ0laSUFJcEF5Z2lGU0FDS1FNd0lBSXBBemdRR0NBQ0lCWWdHQ0FDS1FNUUlBSXBBeGdRUENBQ0tRTUlJUmdnQWlrREFDRVdEQUVMSUFWRklBZHlEUUFnQWtIUUFHb2dHU0FWUWdCQ2dJQ0FnSUNBZ1A4L0VCZ2dBa0ZBYXlBV0lCZ2dBaWtEVUNBQ0tRTllFRHdnQWlrRFNDRVlRUUVoQnlBQ0tRTkFJUllMSUJSQ0FYd2hGRUVCSVFvTElBRW9BZ1FpQlNBQktBSm9Sd1IvSUFFZ0JVRUJhallDQkNBRkxRQUFCU0FCRUJJTElRVU1BUXNMUVM0aEJRc0NmaUFLUlFSQUFrQUNRQ0FCS1FOd1FnQlpCRUFnQVNBQktBSUVJZ1ZCQVdzMkFnUWdBMFVOQVNBQklBVkJBbXMyQWdRZ0JFVU5BaUFCSUFWQkEyczJBZ1FNQWdzZ0F3MEJDeUFCUWdBUVV3c2dBa0hnQUdvZ0JyZEVBQUFBQUFBQUFBQ2lFRjBnQWlrRFlDRVdJQUlwQTJnTUFRc2dGRUlIVndSQUlCUWhGUU5BSUFsQkJIUWhDU0FWUWdGOEloVkNDRklOQUFzTEFrQUNRQUpBSUFWQlgzRkIwQUJHQkVBZ0FTQURFT1VDSWhWQ2dJQ0FnSUNBZ0lDQWYxSU5BeUFEQkVBZ0FTa0RjRUlBV1EwQ0RBTUxRZ0FoRmlBQlFnQVFVMElBREFRTFFnQWhGU0FCS1FOd1FnQlREUUlMSUFFZ0FTZ0NCRUVCYXpZQ0JBdENBQ0VWQ3lBSlJRUkFJQUpCOEFCcUlBYTNSQUFBQUFBQUFBQUFvaEJkSUFJcEEzQWhGaUFDS1FONERBRUxJQmNnRkNBRUcwSUNoaUFWZkVJZ2ZTSVVRUUFnRDJ1dFZRUkFRZFNCQVVIRUFEWUNBQ0FDUWFBQmFpQUdFRUVnQWtHUUFXb2dBaWtEb0FFZ0Fpa0RxQUZDZjBMLy8vLy8vLysvLy84QUVCZ2dBa0dBQVdvZ0Fpa0RrQUVnQWlrRG1BRkNmMEwvLy8vLy8vKy8vLzhBRUJnZ0Fpa0RnQUVoRmlBQ0tRT0lBUXdCQ3lBUFFlSUJhNndnRkZjRVFDQUpRUUJPQkVBRFFDQUNRYUFEYWlBV0lCaENBRUtBZ0lDQWdJREEvNzkvRUR3Z0ZpQVlRb0NBZ0lDQWdJRC9QeERnQVNFQklBSkJrQU5xSUJZZ0dDQVdJQUlwQTZBRElBRkJBRWdpQXhzZ0dDQUNLUU9vQXlBREd4QThJQlJDQVgwaEZDQUNLUU9ZQXlFWUlBSXBBNUFESVJZZ0NVRUJkQ0FCUVFCT2NpSUpRUUJPRFFBTEN3SitJQlFnRDZ4OVFpQjhJaFduSWdGQkFDQUJRUUJLR3lBT0lCVWdEcTFUR3lJQlFmRUFUZ1JBSUFKQmdBTnFJQVlRUVNBQ0tRT0lBeUVYSUFJcEE0QURJUmxDQUF3QkN5QUNRZUFDYWtHUUFTQUJheERmQVJCZElBSkIwQUpxSUFZUVFTQUNRZkFDYWlBQ0tRUGdBaUFDS1FQb0FpQUNLUVBRQWlJWklBSXBBOWdDSWhjUTZ3SWdBaWtEK0FJaEdpQUNLUVB3QWdzaEZTQUNRY0FDYWlBSklBbEJBWEZGSUJZZ0dFSUFRZ0FRZTBFQVJ5QUJRU0JJY1hFaUFXb1FrQUVnQWtHd0Ftb2dHU0FYSUFJcEE4QUNJQUlwQThnQ0VCZ2dBa0dRQW1vZ0Fpa0RzQUlnQWlrRHVBSWdGU0FhRUR3Z0FrR2dBbXBDQUNBV0lBRWJRZ0FnR0NBQkd5QVpJQmNRR0NBQ1FZQUNhaUFDS1FPZ0FpQUNLUU9vQWlBQ0tRT1FBaUFDS1FPWUFoQThJQUpCOEFGcUlBSXBBNEFDSUFJcEE0Z0NJQlVnR2hEZUFTQUNLUVB3QVNJVklBSXBBL2dCSWhkQ0FFSUFFSHRGQkVCQjFJRUJRY1FBTmdJQUN5QUNRZUFCYWlBVklCY2dGS2NRNmdJZ0Fpa0Q0QUVoRmlBQ0tRUG9BUXdCQzBIVWdRRkJ4QUEyQWdBZ0FrSFFBV29nQmhCQklBSkJ3QUZxSUFJcEE5QUJJQUlwQTlnQlFnQkNnSUNBZ0lDQXdBQVFHQ0FDUWJBQmFpQUNLUVBBQVNBQ0tRUElBVUlBUW9DQWdJQ0FnTUFBRUJnZ0Fpa0RzQUVoRmlBQ0tRTzRBUXNoRkNBTUlCWTNBeEFnRENBVU53TVlJQUpCc0FOcUpBQWdEQ2tER0NFVUlBd3BBeEFoRlF3R0N5QUJLUU53UWdCVERRQWdBU0FCS0FJRVFRRnJOZ0lFQ3lBQklRVWdCaUVKSUFNaENrRUFJUVpCQUNFREl3QkJrTVlBYXlJRUpBQkJBQ0FPSUE5cUloSnJJUk1DUUFKL0EwQWdBa0V3UndSQUFrQWdBa0V1UncwRUlBVW9BZ1FpQVNBRktBSm9SZzBBSUFVZ0FVRUJhallDQkNBQkxRQUFEQU1MQlNBRktBSUVJZ0VnQlNnQ2FFY0VmMEVCSVFZZ0JTQUJRUUZxTmdJRUlBRXRBQUFGUVFFaEJpQUZFQklMSVFJTUFRc0xJQVVRRWdzaEFrRUJJUWNnQWtFd1J3MEFBMEFnRkVJQmZTRVVBbjhnQlNnQ0JDSUJJQVVvQW1oSEJFQWdCU0FCUVFGcU5nSUVJQUV0QUFBTUFRc2dCUkFTQ3lJQ1FUQkdEUUFMUVFFaEJnc2dCRUVBTmdLUUJnSitBa0FDUUFKQUFrQUNRQ0FDUVM1R0lnRkZJQUpCTUdzaUNFRUpTM0ZGQkVBRFFBSkFJQUZCQVhFRVFDQUhSUVJBSUJVaEZFRUJJUWNNQWdzZ0JrVWhBUXdFQ3lBVlFnRjhJUlVnQTBIOEQwd0VRQ0FOSUJXbklBSkJNRVliSVEwZ0JFR1FCbW9nQTBFQ2RHb2lBU0FMQkg4Z0FpQUJLQUlBUVFwc2FrRXdhd1VnQ0FzMkFnQkJBU0VHUVFBZ0MwRUJhaUlCSUFGQkNVWWlBUnNoQ3lBQklBTnFJUU1NQVFzZ0FrRXdSZzBBSUFRZ0JDZ0NnRVpCQVhJMkFvQkdRZHlQQVNFTkN3Si9JQVVvQWdRaUFTQUZLQUpvUndSQUlBVWdBVUVCYWpZQ0JDQUJMUUFBREFFTElBVVFFZ3NpQWtFdVJpSUJJQUpCTUdzaUNFRUtTWElOQUFzTElCUWdGU0FIR3lFVUlBWkZJQUpCWDNGQnhRQkhja1VFUUFKQUlBVWdDaERsQWlJV1FvQ0FnSUNBZ0lDQWdIOVNEUUFnQ2tVTkJVSUFJUllnQlNrRGNFSUFVdzBBSUFVZ0JTZ0NCRUVCYXpZQ0JBc2dCa1VOQXlBVUlCWjhJUlFNQlFzZ0JrVWhBU0FDUVFCSURRRUxJQVVwQTNCQ0FGTU5BQ0FGSUFVb0FnUkJBV3MyQWdRTElBRkZEUUlMUWRTQkFVRWNOZ0lBQzBJQUlSVWdCVUlBRUZOQ0FBd0JDeUFFS0FLUUJpSUJSUVJBSUFRZ0NiZEVBQUFBQUFBQUFBQ2lFRjBnQkNrREFDRVZJQVFwQXdnTUFRc2dGQ0FWVWlBVlFnbFZjaUFPUVI1TVFRQWdBU0FPZGh0eVJRUkFJQVJCTUdvZ0NSQkJJQVJCSUdvZ0FSQ1FBU0FFUVJCcUlBUXBBekFnQkNrRE9DQUVLUU1nSUFRcEF5Z1FHQ0FFS1FNUUlSVWdCQ2tER0F3QkN5QVBRWDV0clNBVVV3UkFRZFNCQVVIRUFEWUNBQ0FFUWVBQWFpQUpFRUVnQkVIUUFHb2dCQ2tEWUNBRUtRTm9RbjlDLy8vLy8vLy92Ly8vQUJBWUlBUkJRR3NnQkNrRFVDQUVLUU5ZUW45Qy8vLy8vLy8vdi8vL0FCQVlJQVFwQTBBaEZTQUVLUU5JREFFTElBOUI0Z0ZyckNBVVZRUkFRZFNCQVVIRUFEWUNBQ0FFUVpBQmFpQUpFRUVnQkVHQUFXb2dCQ2tEa0FFZ0JDa0RtQUZDQUVLQWdJQ0FnSURBQUJBWUlBUkI4QUJxSUFRcEE0QUJJQVFwQTRnQlFnQkNnSUNBZ0lDQXdBQVFHQ0FFS1FOd0lSVWdCQ2tEZUF3QkN5QUxCRUFnQzBFSVRBUkFJQVJCa0FacUlBTkJBblJxSWdFb0FnQWhCUU5BSUFWQkNtd2hCU0FMUVFGcUlndEJDVWNOQUFzZ0FTQUZOZ0lBQ3lBRFFRRnFJUU1MQWtBZ0RTQVVweUlIU2lBTlFRbE9jaUFIUVJGS2NnMEFJQWRCQ1VZRVFDQUVRY0FCYWlBSkVFRWdCRUd3QVdvZ0JDZ0NrQVlRa0FFZ0JFR2dBV29nQkNrRHdBRWdCQ2tEeUFFZ0JDa0RzQUVnQkNrRHVBRVFHQ0FFS1FPZ0FTRVZJQVFwQTZnQkRBSUxJQWRCQ0V3RVFDQUVRWkFDYWlBSkVFRWdCRUdBQW1vZ0JDZ0NrQVlRa0FFZ0JFSHdBV29nQkNrRGtBSWdCQ2tEbUFJZ0JDa0RnQUlnQkNrRGlBSVFHQ0FFUWVBQmFrRUFJQWRyUVFKMFFaQXBhaWdDQUJCQklBUkIwQUZxSUFRcEEvQUJJQVFwQS9nQklBUXBBK0FCSUFRcEErZ0JFT2tDSUFRcEE5QUJJUlVnQkNrRDJBRU1BZ3NnRGlBSFFYMXNha0ViYWlJQlFSNU1RUUFnQkNnQ2tBWWlBaUFCZGhzTkFDQUVRZUFDYWlBSkVFRWdCRUhRQW1vZ0FoQ1FBU0FFUWNBQ2FpQUVLUVBnQWlBRUtRUG9BaUFFS1FQUUFpQUVLUVBZQWhBWUlBUkJzQUpxSUFkQkFuUkJ5Q2hxS0FJQUVFRWdCRUdnQW1vZ0JDa0R3QUlnQkNrRHlBSWdCQ2tEc0FJZ0JDa0R1QUlRR0NBRUtRT2dBaUVWSUFRcEE2Z0NEQUVMQTBBZ0JFR1FCbW9nQXlJQ1FRRnJJZ05CQW5ScUtBSUFSUTBBQzBFQUlRc0NRQ0FIUVFsdklnRkZCRUJCQUNFQkRBRUxJQUVnQVVFSmFpQUhRUUJPR3lFREFrQWdBa1VFUUVFQUlRRkJBQ0VDREFFTFFZQ1U2OXdEUVFBZ0EydEJBblJCa0NscUtBSUFJZ1p0SVFwQkFDRUlRUUFoQlVFQUlRRURRQ0FFUVpBR2FpQUZRUUowYWlJTklBZ2dEU2dDQUNJTklBWnVJaEJxSWdnMkFnQWdBVUVCYWtIL0QzRWdBU0FJUlNBQklBVkdjU0lJR3lFQklBZEJDV3NnQnlBSUd5RUhJQW9nRFNBR0lCQnNhMndoQ0NBRlFRRnFJZ1VnQWtjTkFBc2dDRVVOQUNBRVFaQUdhaUFDUVFKMGFpQUlOZ0lBSUFKQkFXb2hBZ3NnQnlBRGEwRUphaUVIQ3dOQUFrQWdCMEVrVGdSQUlBZEJKRWNOQVNBRVFaQUdhaUFCUVFKMGFpZ0NBRUhSNmZrRVR3MEJDeUFDUWY4UGFpRUdRUUFoQ0FOQUlBaXRJQVJCa0FacUlBWkIvdzl4SWdOQkFuUnFJZ1kxQWdCQ0hZWjhJaFJDZ1pUcjNBTlVCSDlCQUFVZ0ZDQVVRb0NVNjl3RGdDSVZRb0NVNjl3RGZuMGhGQ0FWcHdzaENDQUdJQlNuSWdZMkFnQWdBaUFDSUFJZ0F5QUdHeUFCSUFOR0d5QURJQUpCQVd0Qi93OXhSeHNoQWlBRFFRRnJJUVlnQVNBRFJ3MEFDeUFMUVIxcklRc2dDRVVOQVNBQ0lBRkJBV3RCL3c5eElnRkdCRUFnQkVHUUJtb2lBeUFDUWY0UGFrSC9EM0ZCQW5ScUlnWWdCaWdDQUNBQ1FRRnJRZjhQY1NJQ1FRSjBJQU5xS0FJQWNqWUNBQXNnQjBFSmFpRUhJQVJCa0FacUlBRkJBblJxSUFnMkFnQU1BUXNMQWtBRFFDQUNRUUZxUWY4UGNTRURJQVJCa0FacUlBSkJBV3RCL3c5eFFRSjBhaUVJQTBBZ0FTRUdRUUFoQlFKQUFrQURRQUpBSUFVZ0JtcEIvdzl4SWdFZ0FrWU5BQ0FFUVpBR2FpQUJRUUowYWlnQ0FDSUJJQVZCQW5SQjRDaHFLQUlBSWdwSkRRQWdBU0FLU3cwQ0lBVkJBV29pQlVFRVJ3MEJDd3NnQjBFa1J3MEFRZ0FoRkVFQUlRVkNBQ0VWQTBBZ0FpQUZJQVpxUWY4UGNTSUJSZ1JBSUFKQkFXcEIvdzl4SWdKQkFuUWdCR3BCQURZQ2pBWUxJQVJCZ0FacUlCUWdGVUlBUW9DQWdJRGxtcmVPd0FBUUdDQUVRZkFGYWlBRVFaQUdhaUFCUVFKMGFpZ0NBQkNRQVNBRVFlQUZhaUFFS1FPQUJpQUVLUU9JQmlBRUtRUHdCU0FFS1FQNEJSQThJQVFwQStnRklSVWdCQ2tENEFVaEZDQUZRUUZxSWdWQkJFY05BQXNnQkVIUUJXb2dDUkJCSUFSQndBVnFJQlFnRlNBRUtRUFFCU0FFS1FQWUJSQVlJQVFwQThnRklSVkNBQ0VVSUFRcEE4QUZJUllnQzBIeEFHb2lCeUFQYXlJRFFRQWdBMEVBU2hzZ0RpQURJQTVJSWdVYklnRkI4QUJNRFFFTUJBdEJDVUVCSUFkQkxVb2JJZ29nQzJvaEN5QUdJQUlpQVVZTkFVR0FsT3ZjQXlBS2RpRU5RWDhnQ25SQmYzTWhFRUVBSVFVZ0JpRUJBMEFnQkVHUUJtb2dCa0VDZEdvaUVTQUZJQkVvQWdBaUVTQUtkbW9pQlRZQ0FDQUJRUUZxUWY4UGNTQUJJQVZGSUFFZ0JrWnhJZ1ViSVFFZ0IwRUpheUFISUFVYklRY2dFQ0FSY1NBTmJDRUZJQVpCQVdwQi93OXhJZ1lnQWtjTkFBc2dCVVVOQVNBQklBTkhCRUFnQkVHUUJtb2dBa0VDZEdvZ0JUWUNBQ0FESVFJTUF3c2dDQ0FJS0FJQVFRRnlOZ0lBSUFNaEFRd0JDd3NMSUFSQmtBVnFRZUVCSUFGckVOOEJFRjBnQkVHd0JXb2dCQ2tEa0FVZ0JDa0RtQVVnRmlBVkVPc0NJQVFwQTdnRklSa2dCQ2tEc0FVaEdDQUVRWUFGYWtIeEFDQUJheERmQVJCZElBUkJvQVZxSUJZZ0ZTQUVLUU9BQlNBRUtRT0lCUkRuQWlBRVFmQUVhaUFXSUJVZ0JDa0RvQVVpRkNBRUtRT29CU0lYRU40QklBUkI0QVJxSUJnZ0dTQUVLUVB3QkNBRUtRUDRCQkE4SUFRcEErZ0VJUlVnQkNrRDRBUWhGZ3NDUUNBR1FRUnFRZjhQY1NJS0lBSkdEUUFDUUNBRVFaQUdhaUFLUVFKMGFpZ0NBQ0lLUWYvSnRlNEJUUVJBSUFwRklBWkJCV3BCL3c5eElBSkdjUTBCSUFSQjhBTnFJQW0zUkFBQUFBQUFBTkEvb2hCZElBUkI0QU5xSUJRZ0Z5QUVLUVB3QXlBRUtRUDRBeEE4SUFRcEErZ0RJUmNnQkNrRDRBTWhGQXdCQ3lBS1FZREt0ZTRCUndSQUlBUkIwQVJxSUFtM1JBQUFBQUFBQU9nL29oQmRJQVJCd0FScUlCUWdGeUFFS1FQUUJDQUVLUVBZQkJBOElBUXBBOGdFSVJjZ0JDa0R3QVFoRkF3QkN5QUp0eUViSUFJZ0JrRUZha0gvRDNGR0JFQWdCRUdRQkdvZ0cwUUFBQUFBQUFEZ1A2SVFYU0FFUVlBRWFpQVVJQmNnQkNrRGtBUWdCQ2tEbUFRUVBDQUVLUU9JQkNFWElBUXBBNEFFSVJRTUFRc2dCRUd3QkdvZ0cwUUFBQUFBQUFEb1A2SVFYU0FFUWFBRWFpQVVJQmNnQkNrRHNBUWdCQ2tEdUFRUVBDQUVLUU9vQkNFWElBUXBBNkFFSVJRTElBRkI3d0JLRFFBZ0JFSFFBMm9nRkNBWFFnQkNnSUNBZ0lDQXdQOC9FT2NDSUFRcEE5QURJQVFwQTlnRFFnQkNBQkI3RFFBZ0JFSEFBMm9nRkNBWFFnQkNnSUNBZ0lDQXdQOC9FRHdnQkNrRHlBTWhGeUFFS1FQQUF5RVVDeUFFUWJBRGFpQVdJQlVnRkNBWEVEd2dCRUdnQTJvZ0JDa0RzQU1nQkNrRHVBTWdHQ0FaRU40QklBUXBBNmdESVJVZ0JDa0RvQU1oRmdKQVFYNGdFbXNnQjBILy8vLy9CM0ZPRFFBZ0JDQVZRdi8vLy8vLy8vLy8vd0NETndPWUF5QUVJQlkzQTVBRElBUkJnQU5xSUJZZ0ZVSUFRb0NBZ0lDQWdJRC9QeEFZSUFRcEE1QURJaGdnQkNrRG1BTWlHVUtBZ0lDQWdJQ0F1TUFBRU9BQklRSWdGU0FFS1FPSUF5QUNRUUJJSWdZYklSVWdGaUFFS1FPQUF5QUdHeUVXSUJNZ0N5QUNRUUJPYWlJTFFlNEFhazRFUUNBRklBVWdBU0FEUjNFZ0dDQVpRb0NBZ0lDQWdJQzR3QUFRNEFGQkFFZ2JRUUZIRFFFZ0ZDQVhRZ0JDQUJCN1JRMEJDMEhVZ1FGQnhBQTJBZ0FMSUFSQjhBSnFJQllnRlNBTEVPb0NJQVFwQS9BQ0lSVWdCQ2tEK0FJTElSUWdEQ0FWTndNZ0lBd2dGRGNES0NBRVFaREdBR29rQUNBTUtRTW9JUlFnRENrRElDRVZEQVFMSUFFcEEzQkNBRmtFUUNBQklBRW9BZ1JCQVdzMkFnUUxEQUVMQWtBQ2Z5QUJLQUlFSWdJZ0FTZ0NhRWNFUUNBQklBSkJBV28yQWdRZ0FpMEFBQXdCQ3lBQkVCSUxRU2hHQkVCQkFTRUZEQUVMUW9DQWdJQ0FnT0QvL3dBaEZDQUJLUU53UWdCVERRTWdBU0FCS0FJRVFRRnJOZ0lFREFNTEEwQUNmeUFCS0FJRUlnSWdBU2dDYUVjRVFDQUJJQUpCQVdvMkFnUWdBaTBBQUF3QkN5QUJFQklMSWdKQk1HdEJDa2tnQWtIQkFHdEJHa2x5SUFKQjN3Qkdja1VnQWtIaEFHdEJHazl4UlFSQUlBVkJBV29oQlF3QkN3dENnSUNBZ0lDQTRQLy9BQ0VVSUFKQktVWU5BaUFCS1FOd0loZENBRmtFUUNBQklBRW9BZ1JCQVdzMkFnUUxBa0FnQXdSQUlBVU5BUXdFQ3d3QkN3TkFJQVZCQVdzaEJTQVhRZ0JaQkVBZ0FTQUJLQUlFUVFGck5nSUVDeUFGRFFBTERBSUxRZFNCQVVFY05nSUFJQUZDQUJCVEMwSUFJUlFMSUFBZ0ZUY0RBQ0FBSUJRM0F3Z2dERUV3YWlRQUM4b0dBZ1IvQTM0akFFR0FBV3NpQlNRQUFrQUNRQUpBSUFNZ0JFSUFRZ0FRZTBVTkFBSi9JQVJDLy8vLy8vLy9QNE1oQ1FKL0lBUkNNSWluUWYvL0FYRWlCa0gvL3dGSEJFQkJCQ0FHRFFFYVFRSkJBeUFESUFtRVVCc01BZ3NnQXlBSmhGQUxDMFVOQUNBQ1FqQ0lweUlJUWYvL0FYRWlCa0gvL3dGSERRRUxJQVZCRUdvZ0FTQUNJQU1nQkJBWUlBVWdCU2tERUNJQklBVXBBeGdpQWlBQklBSVE2UUlnQlNrRENDRUNJQVVwQXdBaEJBd0JDeUFCSUFKQy8vLy8vLy8vUDRNZ0JxMUNNSWFFSWdvZ0F5QUVRdi8vLy8vLy96K0RJQVJDTUlpblFmLy9BWEVpQjYxQ01JYUVJZ2tRZTBFQVRBUkFJQUVnQ2lBRElBa1Fld1JBSUFFaEJBd0NDeUFGUWZBQWFpQUJJQUpDQUVJQUVCZ2dCU2tEZUNFQ0lBVXBBM0FoQkF3QkN5QUdCSDRnQVFVZ0JVSGdBR29nQVNBS1FnQkNnSUNBZ0lDQXdMdkFBQkFZSUFVcEEyZ2lDa0l3aUtkQitBQnJJUVlnQlNrRFlBc2hCQ0FIUlFSQUlBVkIwQUJxSUFNZ0NVSUFRb0NBZ0lDQWdNQzd3QUFRR0NBRktRTllJZ2xDTUlpblFmZ0FheUVISUFVcEExQWhBd3NnQ1VMLy8vLy8vLzgvZzBLQWdJQ0FnSURBQUlRaENTQUtRdi8vLy8vLy96K0RRb0NBZ0lDQWdNQUFoQ0VLSUFZZ0Iwb0VRQU5BQW40Z0NpQUpmU0FESUFSV3JYMGlDMElBV1FSQUlBc2dCQ0FEZlNJRWhGQUVRQ0FGUVNCcUlBRWdBa0lBUWdBUUdDQUZLUU1vSVFJZ0JTa0RJQ0VFREFVTElBdENBWVlnQkVJL2lJUU1BUXNnQ2tJQmhpQUVRaitJaEFzaENpQUVRZ0dHSVFRZ0JrRUJheUlHSUFkS0RRQUxJQWNoQmdzQ1FDQUtJQWw5SUFNZ0JGYXRmU0lKUWdCVEJFQWdDaUVKREFFTElBa2dCQ0FEZlNJRWhFSUFVZzBBSUFWQk1Hb2dBU0FDUWdCQ0FCQVlJQVVwQXpnaEFpQUZLUU13SVFRTUFRc2dDVUwvLy8vLy8vOC9XQVJBQTBBZ0JFSS9pQ0VCSUFaQkFXc2hCaUFFUWdHR0lRUWdBU0FKUWdHR2hDSUpRb0NBZ0lDQWdNQUFWQTBBQ3dzZ0NFR0FnQUp4SVFjZ0JrRUFUQVJBSUFWQlFHc2dCQ0FKUXYvLy8vLy8veitESUFaQitBQnFJQWR5clVJd2hvUkNBRUtBZ0lDQWdJREF3ejhRR0NBRktRTklJUUlnQlNrRFFDRUVEQUVMSUFsQy8vLy8vLy8vUDRNZ0JpQUhjcTFDTUlhRUlRSUxJQUFnQkRjREFDQUFJQUkzQXdnZ0JVR0FBV29rQUFzeUFDQUFRZjhCY1NJQUlBRVE3QUlpQVVGL2MzRkJBWFFnQUNBQmMyc2lBRUZxY1VFQmRDQUFRUlZ6YTBFWWRFRVlkUXVxRHdJRmZ3NStJd0JCMEFKcklnVWtBQ0FFUXYvLy8vLy8veitESVFzZ0FrTC8vLy8vLy84L2d5RUtJQUlnQklWQ2dJQ0FnSUNBZ0lDQWY0TWhEU0FFUWpDSXAwSC8vd0Z4SVFnQ1FBSkFJQUpDTUlpblFmLy9BWEVpQ1VFQmEwSDkvd0ZOQkVBZ0NFRUJhMEgrL3dGSkRRRUxJQUZRSUFKQy8vLy8vLy8vLy8vL0FJTWlERUtBZ0lDQWdJREEvLzhBVkNBTVFvQ0FnSUNBZ01ELy93QlJHMFVFUUNBQ1FvQ0FnSUNBZ0NDRUlRME1BZ3NnQTFBZ0JFTC8vLy8vLy8vLy8vOEFneUlDUW9DQWdJQ0FnTUQvL3dCVUlBSkNnSUNBZ0lDQXdQLy9BRkViUlFSQUlBUkNnSUNBZ0lDQUlJUWhEU0FESVFFTUFnc2dBU0FNUW9DQWdJQ0FnTUQvL3dDRmhGQUVRQ0FESUFKQ2dJQ0FnSUNBd1AvL0FJV0VVQVJBUWdBaEFVS0FnSUNBZ0lEZy8vOEFJUTBNQXdzZ0RVS0FnSUNBZ0lEQS8vOEFoQ0VOUWdBaEFRd0NDeUFESUFKQ2dJQ0FnSUNBd1AvL0FJV0VVQVJBUWdBaEFRd0NDeUFCSUF5RVVBUkFRb0NBZ0lDQWdPRC8vd0FnRFNBQ0lBT0VVQnNoRFVJQUlRRU1BZ3NnQWlBRGhGQUVRQ0FOUW9DQWdJQ0FnTUQvL3dDRUlRMUNBQ0VCREFJTElBeEMvLy8vLy8vL1AxZ0VRQ0FGUWNBQ2FpQUJJQW9nQVNBS0lBcFFJZ1liZVNBR1FRWjByWHluSWdaQkQyc1FMMEVRSUFacklRWWdCU2tEeUFJaENpQUZLUVBBQWlFQkN5QUNRdi8vLy8vLy96OVdEUUFnQlVHd0Ftb2dBeUFMSUFNZ0N5QUxVQ0lIRzNrZ0IwRUdkSzE4cHlJSFFROXJFQzhnQmlBSGFrRVFheUVHSUFVcEE3Z0NJUXNnQlNrRHNBSWhBd3NnQlVHZ0Ftb2dDMEtBZ0lDQWdJREFBSVFpRWtJUGhpQURRakdJaENJQ1FnQkNnSUNBZ0xEbXZJTDFBQ0FDZlNJRVFnQVFLeUFGUVpBQ2FrSUFJQVVwQTZnQ2ZVSUFJQVJDQUJBcklBVkJnQUpxSUFVcEE1Z0NRZ0dHSUFVcEE1QUNRaitJaENJRVFnQWdBa0lBRUNzZ0JVSHdBV29nQkVJQVFnQWdCU2tEaUFKOVFnQVFLeUFGUWVBQmFpQUZLUVA0QVVJQmhpQUZLUVB3QVVJL2lJUWlCRUlBSUFKQ0FCQXJJQVZCMEFGcUlBUkNBRUlBSUFVcEErZ0JmVUlBRUNzZ0JVSEFBV29nQlNrRDJBRkNBWVlnQlNrRDBBRkNQNGlFSWdSQ0FDQUNRZ0FRS3lBRlFiQUJhaUFFUWdCQ0FDQUZLUVBJQVgxQ0FCQXJJQVZCb0FGcUlBSkNBQ0FGS1FPNEFVSUJoaUFGS1FPd0FVSS9pSVJDQVgwaUFrSUFFQ3NnQlVHUUFXb2dBMElQaGtJQUlBSkNBQkFySUFWQjhBQnFJQUpDQUVJQUlBVXBBNmdCSUFVcEE2QUJJZ3dnQlNrRG1BRjhJZ1FnREZTdGZDQUVRZ0ZXclh4OVFnQVFLeUFGUVlBQmFrSUJJQVI5UWdBZ0FrSUFFQ3NnQmlBSklBaHJhaUVHQW44Z0JTa0RjQ0lUUWdHR0lnNGdCU2tEaUFFaUQwSUJoaUFGS1FPQUFVSS9pSVI4SWhCQzUrd0FmU0lVUWlDSUlnSWdDa0tBZ0lDQWdJREFBSVFpRlVJZmlFTC8vLy8vRDRNaUJINGlFU0FCUWdHR0lneENJSWdpQ3lBUUlCUldyU0FPSUJCV3JTQUZLUU40UWdHR0lCTkNQNGlFSUE5Q1A0aDhmSHhDQVgwaUUwSWdpQ0lRZm53aURpQVJWSzBnRGlBT0lCTkMvLy8vL3crREloTWdBVUkvaUNJV0lBcENBWWFFUXYvLy8vOFBneUlLZm53aURsYXRmQ0FFSUJCK2ZDQUVJQk4rSWhFZ0NpQVFmbndpRHlBUlZLMUNJSVlnRDBJZ2lJUjhJQTRnRGlBUFFpQ0dmQ0lPVnExOElBNGdEaUFVUXYvLy8vOFBneUlVSUFwK0loRWdBaUFMZm53aUR5QVJWSzBnRHlBUElCTWdERUwrLy8vL0Q0TWlFWDU4SWc5V3JYeDhJZzVXclh3Z0RpQUVJQlIrSWhjZ0VDQVJmbndpQkNBQ0lBcCtmQ0lLSUFzZ0UzNThJaEJDSUlnZ0NpQVFWcTBnQkNBWFZLMGdCQ0FLVnExOGZFSWdob1I4SWdRZ0RsU3RmQ0FFSUE4Z0FpQVJmaUlDSUFzZ0ZINThJZ3RDSUlnZ0FpQUxWcTFDSUlhRWZDSUNJQTlVclNBQ0lCQkNJSVo4SUFKVXJYeDhJZ0lnQkZTdGZDSUVRdi8vLy8vLy8vOEFXQVJBSUJWQ0FZWWdGb1FoRlNBRlFkQUFhaUFDSUFRZ0F5QVNFQ3NnQVVJeGhpQUZLUU5ZZlNBRktRTlFJZ0ZDQUZLdGZTRUtRZ0FnQVgwaEN5QUdRZjcvQUdvTUFRc2dCVUhnQUdvZ0JFSS9oaUFDUWdHSWhDSUNJQVJDQVlnaUJDQURJQklRS3lBQlFqQ0dJQVVwQTJoOUlBVXBBMkFpREVJQVVxMTlJUXBDQUNBTWZTRUxJQUVoRENBR1FmLy9BR29MSWdaQi8vOEJUZ1JBSUExQ2dJQ0FnSUNBd1AvL0FJUWhEVUlBSVFFTUFRc0NmaUFHUVFCS0JFQWdDa0lCaGlBTFFqK0loQ0VLSUFSQy8vLy8vLy8vUDRNZ0JxMUNNSWFFSVF3Z0MwSUJoZ3dCQ3lBR1FZOS9UQVJBUWdBaEFRd0NDeUFGUVVCcklBSWdCRUVCSUFackVId2dCVUV3YWlBTUlCVWdCa0h3QUdvUUx5QUZRU0JxSUFNZ0VpQUZLUU5BSWdJZ0JTa0RTQ0lNRUNzZ0JTa0RPQ0FGS1FNb1FnR0dJQVVwQXlBaUFVSS9pSVI5SUFVcEF6QWlCQ0FCUWdHR0lnRlVyWDBoQ2lBRUlBRjlDeUVFSUFWQkVHb2dBeUFTUWdOQ0FCQXJJQVVnQXlBU1FnVkNBQkFySUF3Z0FpQUNJQU1nQWtJQmd5SUJJQVI4SWdOVUlBb2dBU0FEVnExOElnRWdFbFlnQVNBU1VSdXRmQ0lDVnExOElnUWdBaUFDSUFSQ2dJQ0FnSUNBd1AvL0FGUWdBeUFGS1FNUVZpQUJJQVVwQXhnaUJGWWdBU0FFVVJ0eHJYd2lBbGF0ZkNJRUlBSWdCRUtBZ0lDQWdJREEvLzhBVkNBRElBVXBBd0JXSUFFZ0JTa0RDQ0lEVmlBQklBTlJHM0d0ZkNJQklBSlVyWHdnRFlRaERRc2dBQ0FCTndNQUlBQWdEVGNEQ0NBRlFkQUNhaVFBQzc4Q0FRRi9Jd0JCMEFCcklnUWtBQUpBSUFOQmdJQUJUZ1JBSUFSQklHb2dBU0FDUWdCQ2dJQ0FnSUNBZ1AvL0FCQVlJQVFwQXlnaEFpQUVLUU1nSVFFZ0EwSC8vd0ZJQkVBZ0EwSC8vd0JySVFNTUFnc2dCRUVRYWlBQklBSkNBRUtBZ0lDQWdJQ0EvLzhBRUJnZ0EwSDkvd0lnQTBIOS93SklHMEgrL3dGcklRTWdCQ2tER0NFQ0lBUXBBeEFoQVF3QkN5QURRWUdBZjBvTkFDQUVRVUJySUFFZ0FrSUFRb0NBZ0lDQWdJQTVFQmdnQkNrRFNDRUNJQVFwQTBBaEFTQURRZlNBZmtvRVFDQURRWTMvQUdvaEF3d0JDeUFFUVRCcUlBRWdBa0lBUW9DQWdJQ0FnSUE1RUJnZ0EwSG9nWDBnQTBIb2dYMUtHMEdhL2dGcUlRTWdCQ2tET0NFQ0lBUXBBekFoQVFzZ0JDQUJJQUpDQUNBRFFmLy9BR3F0UWpDR0VCZ2dBQ0FFS1FNSU53TUlJQUFnQkNrREFEY0RBQ0FFUWRBQWFpUUFDelVBSUFBZ0FUY0RBQ0FBSUFKQy8vLy8vLy8vUDRNZ0JFSXdpS2RCZ0lBQ2NTQUNRakNJcDBILy93RnhjcTFDTUlhRU53TUlDNDRCQVFOL0l3QkJFR3NoQVFOQVFleWNyOThESVFJQ1FBTkFJQUpCM2JiaHZBWkdEUUVnQWtHV3o4SytCRWNFUUNBQ1FleWNyOThEUncwQklBRWdBRFlDRENBQklBTTJBZ2hCbHMvQ3ZnUkIzYmJodkFZZ0FTZ0NEQnNoQWd3QkN3c2dBU2dDQ0NJQVFRRjBRUUp4SUFCQkFYTnFJUU1nQVNnQ0RDQUJLQUlNUVFGcmNTRUFEQUVMQ3lBQktBSUlDeXdBSUFBb0FnQWFJQUFvQWdBZ0FCQ0ZBV29hSUFBb0FnQWdBQkNKQVdvYUlBQW9BZ0FnQUJDRkFXb2FDd2NBSUFFZ0FHc0xDUUFnQUNBQkVPNENDeXNCQVg4Z0FDZ0NBQ0lCQkVBZ0FSRDdBa0YvRUY1RkJFQWdBQ2dDQUVVUEN5QUFRUUEyQWdBTFFRRUxLd0VCZnlBQUtBSUFJZ0VFUUNBQkVJQURRWDhRWGtVRVFDQUFLQUlBUlE4TElBQkJBRFlDQUF0QkFRc05BRUVBSUFBZ0FFRi9FRjRiQzQwQkFRUi9Jd0JCRUdzaUJTUUFJQUVnQWhEdkFpSUVRVzlOQkVBQ1FDQUVRUXBOQkVBZ0FDQUVFRG9nQUNFRERBRUxJQUFnQkJDUkFVRUJhaUlHRUY4aUF4Qk5JQUFnQmhCTUlBQWdCQkE1Q3dOQUlBRWdBa2NFUUNBRElBRVFOQ0FEUVFGcUlRTWdBVUVCYWlFQkRBRUxDeUFGUVFBNkFBOGdBeUFGUVE5cUVEUWdCVUVRYWlRQUR3c1FGd0FMNVFRQkIzOGdBQ2dDQkNBQUVFTW9BZ0JIQkVBakFFRVFheUlDSkFBZ0FpQUFOZ0lBSUFJZ0FDZ0NCQ0lETmdJRUlBSWdBMEVCYWpZQ0NDQUFFRU1nQWlnQ0JDQUJFSXdDSUFJZ0FpZ0NCRUVCYWpZQ0JDQUNFSWtDSUFKQkVHb2tBQThMSXdCQklHc2lCeVFBSUFBUVF5SUlBbjhnQjBFSWFpRUNBbjhnQUJDSkFVRUJhaUVHSXdCQkVHc2lCU1FBSUFVZ0JqWUNEQ01BUVJCcklnUWtBQ0FBRUVNYUlBUkJmellDRENBRVFmLy8vLzhITmdJSUlBUkJER29nQkVFSWFoQ2lBU2dDQUNFRElBUkJFR29rQUNBRElBWlBCRUFnQUJDRkFTSUVJQU5CQVhaSkJFQWdCU0FFUVFGME5nSUlJQVZCQ0dvZ0JVRU1haEIyS0FJQUlRTUxJQVZCRUdva0FDQUREQUVMUWFjYkVKWUNBQXNoQlNBQUVJa0JJUVpCQUNFREl3QkJFR3NpQkNRQUlBUkJBRFlDRENBQ1FReHFJQVJCREdvZ0NCQ0VBaUFGQkVBZ0FpZ0NFQm9nQlJCZklRTUxJQUlnQXpZQ0FDQUNJQU1nQm1vaUJqWUNDQ0FDSUFZMkFnUWdBaENEQVNBRElBVnFOZ0lBSUFSQkVHb2tBQ0FDS0FJSUN5QUJFSXdDSUFJZ0FpZ0NDRUVCYWpZQ0NDQUFFTzBDSUFBUVF5QUFLQUlBSUFBb0FnUWdBa0VFYWlJQkVJTUNJQUFnQVJCMUlBQkJCR29nQWtFSWFoQjFJQUFRUXlBQ0VJTUJFSFVnQWlBQ0tBSUVOZ0lBSUFBUWlRRWFJQUFvQWdBYUlBQW9BZ0FnQUJDRkFXb2FJQUFvQWdBZ0FCQ0ZBV29hSUFBb0FnQWFJQUlvQWdRaUFDQUNLQUlJUndSQUEwQWdBaWdDRUJvZ0FpQUNLQUlJUVFGck5nSUlJQUlvQWdnZ0FFY05BQXNMSUFJb0FnQUVRQ0FDS0FJUUdpQUNLQUlBSVFBZ0FoQ0RBU2dDQUNBQ0tBSUFheG9nQUJBUUN5QUhRU0JxSkFBTER3QWdBQ0FBS0FJWUlBRnFOZ0lZQ3hjQUlBQWdBallDSENBQUlBRTJBaFFnQUNBQk5nSVlDMVlCQW44Q1FDQUFLQUlBSWdKRkRRQUNmeUFDS0FJWUlnTWdBaWdDSEVZRVFDQUNJQUVnQWlnQ0FDZ0NOQkVDQUF3QkN5QUNJQU5CQkdvMkFoZ2dBeUFCTmdJQUlBRUxRWDhRWGtVTkFDQUFRUUEyQWdBTEN5WUJBWDhDUUNBQUtBSUFJZ0pGRFFBZ0FpQUJFUDRDUVg4UVhrVU5BQ0FBUVFBMkFnQUxDd2tBSUFBUTVBRVFFQXN4QVFGL0lBQW9BZ3dpQVNBQUtBSVFSZ1JBSUFBZ0FDZ0NBQ2dDS0JFQUFBOExJQUFnQVVFRWFqWUNEQ0FCS0FJQUN5Y0JBWDhnQUNnQ0RDSUJJQUFvQWhCR0JFQWdBQ0FBS0FJQUtBSWtFUUFBRHdzZ0FTZ0NBQXNRQUNBQUVQQUNJQUVROEFKelFRRnpDNHNFQVFaL0l3QkJJR3NpQWlRQUlBSkJBRFlDSENNQVFTQnJJZ1FrQUNBQ1FSaHFJZ1pCQURvQUFDQUFJQUFvQWdCQkRHc29BZ0JxRUxrQklRVWdBQ0FBS0FJQVFReHJLQUlBYWlFREFrQWdCUVJBSUFNb0FrZ0VRQ0FBSUFBb0FnQkJER3NvQWdCcUtBSklFSVlEQ3dKQUlBQWdBQ2dDQUVFTWF5Z0NBR29vQWdSQmdDQnhSUTBBSUFSQkdHb2lBeUFBSUFBb0FnQkJER3NvQWdCcUVBOGdBeEF5SVFjZ0F4QU9JQVJCRUdvZ0FCREFBU0VESUFSQkNHb1FoUU1oQlFOQUFrQWdBeUFGRURGRkRRQWdCMEdBd0FBZ0F4QWZFRVJGRFFBZ0F4QWlHZ3dCQ3dzZ0F5QUZFQ1pGRFFBZ0FDQUFLQUlBUVF4cktBSUFha0VHRUlBQkN5QUdJQUFnQUNnQ0FFRU1heWdDQUdvUXVRRTZBQUFNQVFzZ0EwRUVFSUFCQ3lBRVFTQnFKQUFnQmkwQUFBUkFJQUpCRUdvaUJDQUFJQUFvQWdCQkRHc29BZ0JxRUE4Z0JFSElod0VRWkNFRElBSkJDR29nQUJEQUFTRUdJQUlRaFFNaEJTQURJQVlvQWdBZ0JTZ0NBQ0FBSUFBb0FnQkJER3NvQWdCcUlBSkJIR29nQWtFVWFpQURLQUlBS0FJUUVRVUFHaUFFRUE0Z0FRSi9JQUlvQWhSQmdJQ0FnSGhJQkVBZ0FpQUNLQUljUVFSeU5nSWNRWUNBZ0lCNERBRUxJQUlvQWhSQi8vLy8vd2RLQkVBZ0FpQUNLQUljUVFSeU5nSWNRZi8vLy84SERBRUxJQUlvQWhRTE5nSUFJQUFnQUNnQ0FFRU1heWdDQUdvZ0FpZ0NIQkNBQVFzZ0FrRWdhaVFBQ3pzQkFYOGdBQ2dDR0NJQ0lBQW9BaHhHQkVBZ0FDQUJFR1VnQUNnQ0FDZ0NOQkVDQUE4TElBQWdBa0VCYWpZQ0dDQUNJQUU2QUFBZ0FSQmxDek1CQVg4Z0FDZ0NEQ0lCSUFBb0FoQkdCRUFnQUNBQUtBSUFLQUlvRVFBQUR3c2dBQ0FCUVFGcU5nSU1JQUVzQUFBUVpRc3BBUUYvSUFBb0Fnd2lBU0FBS0FJUVJnUkFJQUFnQUNnQ0FDZ0NKQkVBQUE4TElBRXNBQUFRWlFzUUFDQUFFUEVDSUFFUThRSnpRUUZ6QzQwQkFRRi9Ba0FnQUNnQ0JDSUJJQUVvQWdCQkRHc29BZ0JxS0FJWVJRMEFJQUFvQWdRaUFTQUJLQUlBUVF4cktBSUFhaEM1QVVVTkFDQUFLQUlFSWdFZ0FTZ0NBRUVNYXlnQ0FHb29BZ1JCZ01BQWNVVU5BQ0FBS0FJRUlnRWdBU2dDQUVFTWF5Z0NBR29vQWhnUWd3TkJmMGNOQUNBQUtBSUVJZ0FnQUNnQ0FFRU1heWdDQUdwQkFSQ0FBUXNMRHdBZ0FDQUFLQUlBS0FJWUVRQUFDMVVBSUFBZ0FUWUNCQ0FBUVFBNkFBQWdBU0FCS0FJQVFReHJLQUlBYWhDNUFRUkFJQUVnQVNnQ0FFRU1heWdDQUdvb0FrZ0VRQ0FCSUFFb0FnQkJER3NvQWdCcUtBSklFSVlEQ3lBQVFRRTZBQUFMSUFBTEN3QWdBRUVBTmdJQUlBQUxiZ0VDZnlNQVFSQnJJZ0VrQUNBQUlBQW9BZ0JCREdzb0FnQnFLQUlZQkVBQ1FDQUJRUWhxSUFBUWhBTWlBaTBBQUVVTkFDQUFJQUFvQWdCQkRHc29BZ0JxS0FJWUVJTURRWDlIRFFBZ0FDQUFLQUlBUVF4cktBSUFha0VCRUlBQkN5QUNFSUlEQ3lBQlFSQnFKQUFMQ1FBZ0FCRGxBUkFRQ3dRQVFYOEx4Z2dCQm44Z0FDQUJLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUlGTmdJQUlBQWdBU2dBQkNJRFFSaDBJQU5CQ0hSQmdJRDhCM0Z5SUFOQkNIWkJnUDREY1NBRFFSaDJjbklpQmpZQ0JDQUFJQUVvQUFnaUEwRVlkQ0FEUVFoMFFZQ0EvQWR4Y2lBRFFRaDJRWUQrQTNFZ0EwRVlkbkp5SWdjMkFnZ2dBQ0FCS0FBTUlnTkJHSFFnQTBFSWRFR0FnUHdIY1hJZ0EwRUlka0dBL2dOeElBTkJHSFp5Y2lJRU5nSU1Ba0FnQWtHQUFVWUVRRUVBSVFNRFFDQUFJQVJCRm5aQi9BZHhRWUFJYWkwQUFTQUVRUTUyUWZ3SGNVR0FDR29vQWdCQkNIUkJnSUNBZUhFZ0JYTWdCRUVHZGtIOEIzRkJnQWhxTFFBQ1FSQjBjeUFFUWY4QmNVRUNkRUdBQ0dvdEFBRkJDSFJ6Y3lBRFFZQWFhaTBBQUVFWWRITWlCVFlDRUNBQUlBVWdCbk1pQmpZQ0ZDQUFJQVlnQjNNaUJ6WUNHQ0FBSUFRZ0IzTWlCRFlDSENBQVFSQnFJUUJCQ2lFQklBTkJBV29pQTBFS1J3MEFDd3dCQ3lBQUlBRW9BQkFpQTBFWWRDQURRUWgwUVlDQS9BZHhjaUFEUVFoMlFZRCtBM0VnQTBFWWRuSnlOZ0lRSUFBZ0FTZ0FGQ0lEUVJoMElBTkJDSFJCZ0lEOEIzRnlJQU5CQ0haQmdQNERjU0FEUVJoMmNuSWlBellDRkNBQ1FjQUJSZ1JBUVFBaEFRTkFJQUFnQTBFV2RrSDhCM0ZCZ0FocUxRQUJJQU5CRG5aQi9BZHhRWUFJYWlnQ0FFRUlkRUdBZ0lCNGNTQUZjeUFEUVFaMlFmd0hjVUdBQ0dvdEFBSkJFSFJ6SUFOQi93RnhRUUowUVlBSWFpMEFBVUVJZEhOeklBRkJnQnBxTFFBQVFSaDBjeUlGTmdJWUlBQWdCU0FHY3lJR05nSWNJQUFnQmlBSGN5SUhOZ0lnSUFBZ0JDQUhjeUlFTmdJa0lBRkJCMFlFUUVFTUR3VWdBQ0FBS0FJUUlBUnpJZ0kyQWlnZ0FDQUNJQU56SWdNMkFpd2dBVUVCYWlFQklBQkJHR29oQUF3QkN3QUxBQXNnQUNBQktBQVlJZ05CR0hRZ0EwRUlkRUdBZ1B3SGNYSWdBMEVJZGtHQS9nTnhJQU5CR0haeWNqWUNHQ0FBSUFFb0FCd2lBVUVZZENBQlFRaDBRWUNBL0FkeGNpQUJRUWgyUVlEK0EzRWdBVUVZZG5KeUlnTTJBaHhCZnlFQklBSkJnQUpIRFFCQkFDRUNRUTRoQVFOQUlBQWdBMEVXZGtIOEIzRkJnQWhxTFFBQklBTkJEblpCL0FkeFFZQUlhaWdDQUVFSWRFR0FnSUI0Y1NBRmN5QURRUVoyUWZ3SGNVR0FDR290QUFKQkVIUnpJQU5CL3dGeFFRSjBRWUFJYWkwQUFVRUlkSE56SUFKQmdCcHFMUUFBUVJoMGN5SUZOZ0lnSUFBZ0JTQUdjeUlHTmdJa0lBQWdCaUFIY3lJSE5nSW9JQUFnQkNBSGN5SUVOZ0lzSUFKQkJrWU5BU0FBSUFSQi93RnhRUUowUVlBSWFpMEFBU0FBS0FJUUlBUkJGblpCL0FkeFFZQUlhaWdDQUVFSWRFR0FnSUI0Y1hNZ0JFRU9ka0g4QjNGQmdBaHFMUUFDUVJCMGN5QUVRUVoyUWZ3SGNVR0FDR290QUFGQkNIUnpjeUlJTmdJd0lBQWdDQ0FBS0FJVWN5SUlOZ0kwSUFBZ0FDZ0NHQ0FJY3lJSU5nSTRJQUFnQXlBSWN5SUROZ0k4SUFKQkFXb2hBaUFBUVNCcUlRQU1BQXNBQ3lBQkN5NEFJQUFnQUNnQ0FDZ0NKQkVBQUVGL1JnUkFRWDhQQ3lBQUlBQW9BZ3dpQUVFQmFqWUNEQ0FBTEFBQUVHVUxCQUJCZnd1L0FRRUVmeU1BUVJCcklnUWtBQU5BQWtBZ0FpQUZUQTBBQWtBZ0FDZ0NEQ0lESUFBb0FoQWlCa2tFUUNBRVFmLy8vLzhITmdJTUlBUWdCaUFEYXpZQ0NDQUVJQUlnQldzMkFnUWdCRUVNYWlBRVFRaHFJQVJCQkdvUXVnRVF1Z0VoQXlBQklBQW9BZ3dnQXlnQ0FDSURFRlVnQUNBQUtBSU1JQU5xTmdJTURBRUxJQUFnQUNnQ0FDZ0NLQkVBQUNJRFFYOUdEUUVnQVNBREVKd0JPZ0FBUVFFaEF3c2dBU0FEYWlFQklBTWdCV29oQlF3QkN3c2dCRUVRYWlRQUlBVUxDUUFnQUVKL0VMc0JDd2tBSUFCQ2Z4QzdBUXNFQUNBQUN3a0FJQUFRdkFFUUVBc0lBQ0FBRUg0UUVBc0hBQ0FBS0FJTUN4QUFJd0FnQUd0QmNIRWlBQ1FBSUFBTEJnQWdBQ1FBQ3dRQUl3QUxEQUFnQUJEQkFSb2dBQkFRQ3drQUlBQVF3UUVRRUFzRkFFSCtHd3NiQUNBQUlBRW9BZ2dnQlJBK0JFQWdBU0FDSUFNZ0JCREVBUXNMT0FBZ0FDQUJLQUlJSUFVUVBnUkFJQUVnQWlBRElBUVF4QUVQQ3lBQUtBSUlJZ0FnQVNBQ0lBTWdCQ0FGSUFBb0FnQW9BaFFSQ1FBTGxnSUJCbjhnQUNBQktBSUlJQVVRUGdSQUlBRWdBaUFESUFRUXhBRVBDeUFCTFFBMUlRY2dBQ2dDRENFR0lBRkJBRG9BTlNBQkxRQTBJUWdnQVVFQU9nQTBJQUJCRUdvaUNTQUJJQUlnQXlBRUlBVVF3Z0VnQnlBQkxRQTFJZ3B5SVFjZ0NDQUJMUUEwSWd0eUlRZ0NRQ0FHUVFKSURRQWdDU0FHUVFOMGFpRUpJQUJCR0dvaEJnTkFJQUV0QURZTkFRSkFJQXNFUUNBQktBSVlRUUZHRFFNZ0FDMEFDRUVDY1EwQkRBTUxJQXBGRFFBZ0FDMEFDRUVCY1VVTkFnc2dBVUVBT3dFMElBWWdBU0FDSUFNZ0JDQUZFTUlCSUFFdEFEVWlDaUFIY2lFSElBRXRBRFFpQ3lBSWNpRUlJQVpCQ0dvaUJpQUpTUTBBQ3dzZ0FTQUhRZjhCY1VFQVJ6b0FOU0FCSUFoQi93RnhRUUJIT2dBMEM1SUJBQ0FBSUFFb0FnZ2dCQkErQkVBZ0FTQUNJQU1Rd3dFUEN3SkFJQUFnQVNnQ0FDQUVFRDVGRFFBQ1FDQUNJQUVvQWhCSEJFQWdBU2dDRkNBQ1J3MEJDeUFEUVFGSERRRWdBVUVCTmdJZ0R3c2dBU0FDTmdJVUlBRWdBellDSUNBQklBRW9BaWhCQVdvMkFpZ0NRQ0FCS0FJa1FRRkhEUUFnQVNnQ0dFRUNSdzBBSUFGQkFUb0FOZ3NnQVVFRU5nSXNDd3Z6QVFBZ0FDQUJLQUlJSUFRUVBnUkFJQUVnQWlBREVNTUJEd3NDUUNBQUlBRW9BZ0FnQkJBK0JFQUNRQ0FDSUFFb0FoQkhCRUFnQVNnQ0ZDQUNSdzBCQ3lBRFFRRkhEUUlnQVVFQk5nSWdEd3NnQVNBRE5nSWdBa0FnQVNnQ0xFRUVSZzBBSUFGQkFEc0JOQ0FBS0FJSUlnQWdBU0FDSUFKQkFTQUVJQUFvQWdBb0FoUVJDUUFnQVMwQU5RUkFJQUZCQXpZQ0xDQUJMUUEwUlEwQkRBTUxJQUZCQkRZQ0xBc2dBU0FDTmdJVUlBRWdBU2dDS0VFQmFqWUNLQ0FCS0FJa1FRRkhEUUVnQVNnQ0dFRUNSdzBCSUFGQkFUb0FOZzhMSUFBb0FnZ2lBQ0FCSUFJZ0F5QUVJQUFvQWdBb0FoZ1JDZ0FMQzUwRUFRTi9JQUFnQVNnQ0NDQUVFRDRFUUNBQklBSWdBeEREQVE4TEFrQWdBQ0FCS0FJQUlBUVFQZ1JBQWtBZ0FpQUJLQUlRUndSQUlBRW9BaFFnQWtjTkFRc2dBMEVCUncwQ0lBRkJBVFlDSUE4TElBRWdBellDSUNBQktBSXNRUVJIQkVBZ0FFRVFhaUlGSUFBb0FneEJBM1JxSVFkQkFDRURJQUVDZndKQUEwQUNRQ0FGSUFkUERRQWdBVUVBT3dFMElBVWdBU0FDSUFKQkFTQUVFTUlCSUFFdEFEWU5BQUpBSUFFdEFEVkZEUUFnQVMwQU5BUkFRUUVoQXlBQktBSVlRUUZHRFFSQkFTRUdJQUF0QUFoQkFuRU5BUXdFQzBFQklRWWdBQzBBQ0VFQmNVVU5Bd3NnQlVFSWFpRUZEQUVMQzBFRUlBWkZEUUVhQzBFREN6WUNMQ0FEUVFGeERRSUxJQUVnQWpZQ0ZDQUJJQUVvQWloQkFXbzJBaWdnQVNnQ0pFRUJSdzBCSUFFb0FoaEJBa2NOQVNBQlFRRTZBRFlQQ3lBQUtBSU1JUVVnQUVFUWFpSUdJQUVnQWlBRElBUVFvQUVnQlVFQ1NBMEFJQVlnQlVFRGRHb2hCaUFBUVJocUlRVUNRQ0FBS0FJSUlnQkJBbkZGQkVBZ0FTZ0NKRUVCUncwQkN3TkFJQUV0QURZTkFpQUZJQUVnQWlBRElBUVFvQUVnQlVFSWFpSUZJQVpKRFFBTERBRUxJQUJCQVhGRkJFQURRQ0FCTFFBMkRRSWdBU2dDSkVFQlJnMENJQVVnQVNBQ0lBTWdCQkNnQVNBRlFRaHFJZ1VnQmtrTkFBd0NDd0FMQTBBZ0FTMEFOZzBCSUFFb0FpUkJBVVlFUUNBQktBSVlRUUZHRFFJTElBVWdBU0FDSUFNZ0JCQ2dBU0FGUVFocUlnVWdCa2tOQUFzTEN3Y0FJQUFvQWdRTGJ3RUNmeUFBSUFFb0FnaEJBQkErQkVBZ0FTQUNJQU1ReGdFUEN5QUFLQUlNSVFRZ0FFRVFhaUlGSUFFZ0FpQURFUEFCQWtBZ0JFRUNTQTBBSUFVZ0JFRURkR29oQkNBQVFSaHFJUUFEUUNBQUlBRWdBaUFERVBBQklBRXRBRFlOQVNBQVFRaHFJZ0FnQkVrTkFBc0xDeklBSUFBZ0FTZ0NDRUVBRUQ0RVFDQUJJQUlnQXhER0FROExJQUFvQWdnaUFDQUJJQUlnQXlBQUtBSUFLQUljRVFnQUN4a0FJQUFnQVNnQ0NFRUFFRDRFUUNBQklBSWdBeERHQVFzTHVnTUJCWDhqQUVGQWFpSUVKQUFDZjBFQklBQWdBVUVBRUQ0TkFCcEJBQ0FCUlEwQUdpTUFRVUJxSWdNa0FDQUJLQUlBSWdWQkJHc29BZ0FoQmlBRlFRaHJLQUlBSVFjZ0EwRUFOZ0lVSUFOQnJQMEFOZ0lRSUFNZ0FUWUNEQ0FEUWR6OUFEWUNDRUVBSVFVZ0EwRVlha0VBUVNjUVJob2dBU0FIYWlFQkFrQWdCa0hjL1FCQkFCQStCRUFnQTBFQk5nSTRJQVlnQTBFSWFpQUJJQUZCQVVFQUlBWW9BZ0FvQWhRUkNRQWdBVUVBSUFNb0FpQkJBVVliSVFVTUFRc2dCaUFEUVFocUlBRkJBVUVBSUFZb0FnQW9BaGdSQ2dBQ1FBSkFJQU1vQWl3T0FnQUJBZ3NnQXlnQ0hFRUFJQU1vQWloQkFVWWJRUUFnQXlnQ0pFRUJSaHRCQUNBREtBSXdRUUZHR3lFRkRBRUxJQU1vQWlCQkFVY0VRQ0FES0FJd0RRRWdBeWdDSkVFQlJ3MEJJQU1vQWloQkFVY05BUXNnQXlnQ0dDRUZDeUFEUVVCckpBQkJBQ0FGSWdGRkRRQWFJQVJCQ0dvaUEwRUVja0VBUVRRUVJob2dCRUVCTmdJNElBUkJmellDRkNBRUlBQTJBaEFnQkNBQk5nSUlJQUVnQXlBQ0tBSUFRUUVnQVNnQ0FDZ0NIQkVJQUNBRUtBSWdJZ0JCQVVZRVFDQUNJQVFvQWhnMkFnQUxJQUJCQVVZTElRQWdCRUZBYXlRQUlBQUxCUUFRRndBTEF3QUFDd2tBUWR5S0FSQUtHZ3N2QUFKQVFlaUtBUzBBQUVFQmNRMEFRZWlLQVJBa1JRMEFRZHlLQVVIZzFRQVFoQUZCNklvQkVDTUxRZHlLQVFzSkFFSE1pZ0VRQ2hvTExnQUNRRUhZaWdFdEFBQkJBWEVOQUVIWWlnRVFKRVVOQUVITWlnRkI2aHNRVkJwQjJJb0JFQ01MUWN5S0FRc0pBRUc4aWdFUUNob0xMd0FDUUVISWlnRXRBQUJCQVhFTkFFSElpZ0VRSkVVTkFFRzhpZ0ZCak5VQUVJUUJRY2lLQVJBakMwRzhpZ0VMQ1FCQnJJb0JFQW9hQ3k0QUFrQkJ1SW9CTFFBQVFRRnhEUUJCdUlvQkVDUkZEUUJCcklvQlFkd2RFRlFhUWJpS0FSQWpDMEdzaWdFTENRQkJuSW9CRUFvYUN5OEFBa0JCcUlvQkxRQUFRUUZ4RFFCQnFJb0JFQ1JGRFFCQm5Jb0JRZWpVQUJDRUFVR29pZ0VRSXd0Qm5Jb0JDd2tBUVl5S0FSQUtHZ3N1QUFKQVFaaUtBUzBBQUVFQmNRMEFRWmlLQVJBa1JRMEFRWXlLQVVIM0hSQlVHa0dZaWdFUUl3dEJqSW9CQ3drQVFmeUpBUkFLR2dzdkFBSkFRWWlLQVMwQUFFRUJjUTBBUVlpS0FSQWtSUTBBUWZ5SkFVSEUxQUFRaEFGQmlJb0JFQ01MUWZ5SkFRc0pBRUhzaVFFUUNob0xMZ0FDUUVINGlRRXRBQUJCQVhFTkFFSDRpUUVRSkVVTkFFSHNpUUZCNWhvUVZCcEIrSWtCRUNNTFFleUpBUXNiQUVIb2tnRWhBQU5BSUFCQkRHc1FDaUlBUWRDU0FVY05BQXNMZlFBQ1FFSG9pUUV0QUFCQkFYRU5BRUhvaVFFUUpFVU5BQUpBUWVpU0FTMEFBRUVCY1EwQVFlaVNBUkFrUlEwQVFkQ1NBU0VBQTBBZ0FCQkhRUXhxSWdCQjZKSUJSdzBBQzBIb2tnRVFJd3RCMEpJQlFmRDdBQkFVUWR5U0FVSDgrd0FRRkVIa2lRRkIwSklCTmdJQVFlaUpBUkFqQzBIa2lRRW9BZ0FMR3dCQnlKSUJJUUFEUUNBQVFReHJFQW9pQUVHd2tnRkhEUUFMQzNzQUFrQkI0SWtCTFFBQVFRRnhEUUJCNElrQkVDUkZEUUFDUUVISWtnRXRBQUJCQVhFTkFFSElrZ0VRSkVVTkFFR3drZ0VoQUFOQUlBQVFFVUVNYWlJQVFjaVNBVWNOQUF0QnlKSUJFQ01MUWJDU0FVR0hIaEFWUWJ5U0FVR0VIaEFWUWR5SkFVR3drZ0UyQWdCQjRJa0JFQ01MUWR5SkFTZ0NBQXNiQUVHZ2tnRWhBQU5BSUFCQkRHc1FDaUlBUVlDUUFVY05BQXNMMlFJQUFrQkIySWtCTFFBQVFRRnhEUUJCMklrQkVDUkZEUUFDUUVHZ2tnRXRBQUJCQVhFTkFFR2drZ0VRSkVVTkFFR0FrQUVoQUFOQUlBQVFSMEVNYWlJQVFhQ1NBVWNOQUF0Qm9KSUJFQ01MUVlDUUFVSG85d0FRRkVHTWtBRkJpUGdBRUJSQm1KQUJRYXo0QUJBVVFhU1FBVUhFK0FBUUZFR3drQUZCM1BnQUVCUkJ2SkFCUWV6NEFCQVVRY2lRQVVHQStRQVFGRUhVa0FGQmxQa0FFQlJCNEpBQlFiRDVBQkFVUWV5UUFVSFkrUUFRRkVINGtBRkIrUGtBRUJSQmhKRUJRWno2QUJBVVFaQ1JBVUhBK2dBUUZFR2NrUUZCMFBvQUVCUkJxSkVCUWVENkFCQVVRYlNSQVVIdytnQVFGRUhBa1FGQjNQZ0FFQlJCekpFQlFZRDdBQkFVUWRpUkFVR1Erd0FRRkVIa2tRRkJvUHNBRUJSQjhKRUJRYkQ3QUJBVVFmeVJBVUhBK3dBUUZFR0lrZ0ZCMFBzQUVCUkJsSklCUWVEN0FCQVVRZFNKQVVHQWtBRTJBZ0JCMklrQkVDTUxRZFNKQVNnQ0FBc2JBRUh3andFaEFBTkFJQUJCREdzUUNpSUFRZENOQVVjTkFBc0x3UUlBQWtCQjBJa0JMUUFBUVFGeERRQkIwSWtCRUNSRkRRQUNRRUh3andFdEFBQkJBWEVOQUVId2p3RVFKRVVOQUVIUWpRRWhBQU5BSUFBUUVVRU1haUlBUWZDUEFVY05BQXRCOEk4QkVDTUxRZENOQVVHY0doQVZRZHlOQVVHVEdoQVZRZWlOQVVIZ0hCQVZRZlNOQVVIV0hCQVZRWUNPQVVIaUdoQVZRWXlPQVVITEhSQVZRWmlPQVVHa0doQVZRYVNPQVVHVUd4QVZRYkNPQVVHL0d4QVZRYnlPQVVHdUd4QVZRY2lPQVVHMkd4QVZRZFNPQVVISkd4QVZRZUNPQVVITEhCQVZRZXlPQVVIWUhSQVZRZmlPQVVIaUd4QVZRWVNQQVVHakd4QVZRWkNQQVVIaUdoQVZRWnlQQVVINkd4QVZRYWlQQVVIUEhCQVZRYlNQQVVIbUhCQVZRY0NQQVVIbUd4QVZRY3lQQVVHYkd4QVZRZGlQQVVHTUd4QVZRZVNQQVVIVUhSQVZRY3lKQVVIUWpRRTJBZ0JCMElrQkVDTUxRY3lKQVNnQ0FBc2JBRUhJalFFaEFBTkFJQUJCREdzUUNpSUFRYUNNQVVjTkFBc0w5UUVBQWtCQnlJa0JMUUFBUVFGeERRQkJ5SWtCRUNSRkRRQUNRRUhJalFFdEFBQkJBWEVOQUVISWpRRVFKRVVOQUVHZ2pBRWhBQU5BSUFBUVIwRU1haUlBUWNpTkFVY05BQXRCeUkwQkVDTUxRYUNNQVVHVTlRQVFGRUdzakFGQnNQVUFFQlJCdUl3QlFjejFBQkFVUWNTTUFVSHM5UUFRRkVIUWpBRkJsUFlBRUJSQjNJd0JRYmoyQUJBVVFlaU1BVUhVOWdBUUZFSDBqQUZCK1BZQUVCUkJnSTBCUVlqM0FCQVVRWXlOQVVHWTl3QVFGRUdZalFGQnFQY0FFQlJCcEkwQlFiajNBQkFVUWJDTkFVSEk5d0FRRkVHOGpRRkIyUGNBRUJSQnhJa0JRYUNNQVRZQ0FFSElpUUVRSXd0QnhJa0JLQUlBQ3hzQVFaaU1BU0VBQTBBZ0FFRU1heEFLSWdCQjhJb0JSdzBBQ3d2bkFRQUNRRUhBaVFFdEFBQkJBWEVOQUVIQWlRRVFKRVVOQUFKQVFaaU1BUzBBQUVFQmNRMEFRWmlNQVJBa1JRMEFRZkNLQVNFQUEwQWdBQkFSUVF4cUlnQkJtSXdCUncwQUMwR1lqQUVRSXd0QjhJb0JRYzBhRUJWQi9Jb0JRZFFhRUJWQmlJc0JRYklhRUJWQmxJc0JRYm9hRUJWQm9Jc0JRYWthRUJWQnJJc0JRZHNhRUJWQnVJc0JRY1FhRUJWQnhJc0JRZlliRUJWQjBJc0JRY01jRUJWQjNJc0JRY0VkRUJWQjZJc0JRZEFkRUJWQjlJc0JRWkFiRUJWQmdJd0JRZHdjRUJWQmpJd0JRWjhiRUJWQnZJa0JRZkNLQVRZQ0FFSEFpUUVRSXd0QnZJa0JLQUlBQ3dzQUlBQkJyTlFBRUlRQkN3b0FJQUJCeFIwUVZCb0xDd0FnQUVHWTFBQVFoQUVMQ2dBZ0FFRzhIUkJVR2dzTUFDQUFJQUZCRUdvUTBRRUxEQUFnQUNBQlFReHFFTkVCQ3djQUlBQXNBQWtMQndBZ0FDd0FDQXNKQUNBQUVJWUNFQkFMQ1FBZ0FCQ0hBaEFRQytZREFRVi9JQUloQUFOQUFrQWdCQ0FJVFNBQUlBTlBjZzBBSUFBc0FBQWlCa0gvQVhFaEFRSkFJQVpCQUU0RVFFRUJJUVlnQVVILy84TUFUUTBCREFJTElBRkJ3Z0ZKRFFFZ0FVSGZBVTBFUUNBRElBQnJRUUpJRFFJZ0FDMEFBU0lGUWNBQmNVR0FBVWNOQWtFQ0lRWWdCVUUvY1NBQlFRWjBRY0FQY1hKQi8vL0RBRTBOQVF3Q0N3SkFBa0FnQVVIdkFVMEVRQ0FESUFCclFRTklEUVFnQUMwQUFpRUhJQUF0QUFFaEJTQUJRZTBCUmcwQklBRkI0QUZHQkVBZ0JVSGdBWEZCb0FGR0RRTU1CUXNnQlVIQUFYRkJnQUZIRFFRTUFnc2dBeUFBYTBFRVNDQUJRZlFCUzNJTkF5QUFMUUFESVFjZ0FDMEFBaUVKSUFBdEFBRWhCUUpBQWtBQ1FBSkFJQUZCOEFGckRnVUFBZ0lDQVFJTElBVkI4QUJxUWY4QmNVRXdTUTBDREFZTElBVkI4QUZ4UVlBQlJnMEJEQVVMSUFWQndBRnhRWUFCUncwRUN5QUpRY0FCY1VHQUFVY2dCMEhBQVhGQmdBRkhjZzBEUVFRaEJpQUhRVDl4SUFsQkJuUkJ3Qjl4SUFGQkVuUkJnSUR3QUhFZ0JVRS9jVUVNZEhKeWNrSC8vOE1BU3cwRERBSUxJQVZCNEFGeFFZQUJSdzBDQ3lBSFFjQUJjVUdBQVVjTkFVRURJUVlnQjBFL2NTQUJRUXgwUVlEZ0EzRWdCVUUvY1VFR2RISnlRZi8vd3dCTERRRUxJQWhCQVdvaENDQUFJQVpxSVFBTUFRc0xJQUFnQW1zTDRnUUJCWDhqQUVFUWF5SUFKQUFnQUNBQ05nSU1JQUFnQlRZQ0NBSi9JQUFnQWpZQ0RDQUFJQVUyQWdnQ1FBSkFBMEFDUUNBQUtBSU1JZ0lnQTA4TkFDQUFLQUlJSWd3Z0JrOE5BQ0FDTEFBQUlnVkIvd0Z4SVFFQ1FDQUZRUUJPQkVBZ0FVSC8vOE1BVFFSQVFRRWhCUXdDQzBFQ0RBWUxRUUloQ2lBQlFjSUJTUTBESUFGQjN3Rk5CRUFnQXlBQ2EwRUNTQTBGSUFJdEFBRWlDRUhBQVhGQmdBRkhEUVJCQWlFRklBaEJQM0VnQVVFR2RFSEFEM0Z5SWdGQi8vL0RBRTBOQVF3RUN5QUJRZThCVFFSQUlBTWdBbXRCQTBnTkJTQUNMUUFDSVFrZ0FpMEFBU0VJQWtBQ1FDQUJRZTBCUndSQUlBRkI0QUZIRFFFZ0NFSGdBWEZCb0FGR0RRSU1Cd3NnQ0VIZ0FYRkJnQUZHRFFFTUJnc2dDRUhBQVhGQmdBRkhEUVVMSUFsQndBRnhRWUFCUncwRVFRTWhCU0FKUVQ5eElBRkJESFJCZ09BRGNTQUlRVDl4UVFaMGNuSWlBVUgvLzhNQVRRMEJEQVFMSUFGQjlBRkxEUU1nQXlBQ2EwRUVTQTBFSUFJdEFBTWhDU0FDTFFBQ0lRc2dBaTBBQVNFSUFrQUNRQUpBQWtBZ0FVSHdBV3NPQlFBQ0FnSUJBZ3NnQ0VId0FHcEIvd0Z4UVRCSkRRSU1CZ3NnQ0VId0FYRkJnQUZHRFFFTUJRc2dDRUhBQVhGQmdBRkhEUVFMSUF0QndBRnhRWUFCUnlBSlFjQUJjVUdBQVVkeURRTkJCQ0VGSUFsQlAzRWdDMEVHZEVIQUgzRWdBVUVTZEVHQWdQQUFjU0FJUVQ5eFFReDBjbkp5SWdGQi8vL0RBRXNOQXdzZ0RDQUJOZ0lBSUFBZ0FpQUZhallDRENBQUlBQW9BZ2hCQkdvMkFnZ01BUXNMSUFJZ0Ewa2hDZ3NnQ2d3QkMwRUJDeUVCSUFRZ0FDZ0NERFlDQUNBSElBQW9BZ2cyQWdBZ0FFRVFhaVFBSUFFTGpnUUFJd0JCRUdzaUFDUUFJQUFnQWpZQ0RDQUFJQVUyQWdnQ2Z5QUFJQUkyQWd3Z0FDQUZOZ0lJSUFBb0Fnd2hBUUpBQTBBZ0FTQURUd1JBUVFBaEFnd0NDMEVDSVFJZ0FTZ0NBQ0lCUVlCd2NVR0FzQU5HSUFGQi8vL0RBRXR5RFFFQ1FBSkFJQUZCL3dCTkJFQkJBU0VDSUFZZ0FDZ0NDQ0lGYTBFQVRBMEVJQUFnQlVFQmFqWUNDQ0FGSUFFNkFBQU1BUXNnQVVIL0QwMEVRQ0FHSUFBb0FnZ2lBbXRCQWtnTkFpQUFJQUpCQVdvMkFnZ2dBaUFCUVFaMlFjQUJjam9BQUNBQUlBQW9BZ2dpQWtFQmFqWUNDQ0FDSUFGQlAzRkJnQUZ5T2dBQURBRUxJQVlnQUNnQ0NDSUNheUVGSUFGQi8vOERUUVJBSUFWQkEwZ05BaUFBSUFKQkFXbzJBZ2dnQWlBQlFReDJRZUFCY2pvQUFDQUFJQUFvQWdnaUFrRUJhallDQ0NBQ0lBRkJCblpCUDNGQmdBRnlPZ0FBSUFBZ0FDZ0NDQ0lDUVFGcU5nSUlJQUlnQVVFL2NVR0FBWEk2QUFBTUFRc2dCVUVFU0EwQklBQWdBa0VCYWpZQ0NDQUNJQUZCRW5aQjhBRnlPZ0FBSUFBZ0FDZ0NDQ0lDUVFGcU5nSUlJQUlnQVVFTWRrRS9jVUdBQVhJNkFBQWdBQ0FBS0FJSUlnSkJBV28yQWdnZ0FpQUJRUVoyUVQ5eFFZQUJjam9BQUNBQUlBQW9BZ2dpQWtFQmFqWUNDQ0FDSUFGQlAzRkJnQUZ5T2dBQUN5QUFJQUFvQWd4QkJHb2lBVFlDREF3QkN3dEJBUXdCQ3lBQ0N5RUJJQVFnQUNnQ0REWUNBQ0FISUFBb0FnZzJBZ0FnQUVFUWFpUUFJQUVMN2dNQkJIOGdBaUVBQTBBQ1FDQUVJQVpOSUFBZ0EwOXlEUUFnQUMwQUFDSUJRZi8vd3dCTERRQUNmeUFBUVFGcUlBRkJHSFJCR0hWQkFFNE5BQm9nQVVIQ0FVa05BU0FCUWQ4QlRRUkFJQU1nQUd0QkFrZ05BaUFBTFFBQklnVkJ3QUZ4UVlBQlJ5QUZRVDl4SUFGQkJuUkJ3QTl4Y2tILy84TUFTM0lOQWlBQVFRSnFEQUVMQWtBQ1FDQUJRZThCVFFSQUlBTWdBR3RCQTBnTkJDQUFMUUFDSVFjZ0FDMEFBU0VGSUFGQjdRRkdEUUVnQVVIZ0FVWUVRQ0FGUWVBQmNVR2dBVVlOQXd3RkN5QUZRY0FCY1VHQUFVY05CQXdDQ3lBRElBQnJRUVJJSUFGQjlBRkxjaUFFSUFaclFRSkpjZzBESUFBdEFBTWhCeUFBTFFBQ0lRZ2dBQzBBQVNFRkFrQUNRQUpBQWtBZ0FVSHdBV3NPQlFBQ0FnSUJBZ3NnQlVId0FHcEIvd0Z4UVRCSkRRSU1CZ3NnQlVId0FYRkJnQUZHRFFFTUJRc2dCVUhBQVhGQmdBRkhEUVFMSUFoQndBRnhRWUFCUnlBSFFjQUJjVUdBQVVkeUlBZEJQM0VnQ0VFR2RFSEFIM0VnQVVFU2RFR0FnUEFBY1NBRlFUOXhRUXgwY25KeVFmLy93d0JMY2cwRElBWkJBV29oQmlBQVFRUnFEQUlMSUFWQjRBRnhRWUFCUncwQ0N5QUhRY0FCY1VHQUFVY2dCMEUvY1NBQlFReDBRWURnQTNFZ0JVRS9jVUVHZEhKeVFmLy93d0JMY2cwQklBQkJBMm9MSVFBZ0JrRUJhaUVHREFFTEN5QUFJQUpyQzlNRkFRUi9Jd0JCRUdzaUFDUUFJQUFnQWpZQ0RDQUFJQVUyQWdnQ2Z5QUFJQUkyQWd3Z0FDQUZOZ0lJQWtBQ1FBSkFBMEFDUUNBQUtBSU1JZ0VnQTA4TkFDQUFLQUlJSWdVZ0JrOE5BRUVDSVFvZ0FTMEFBQ0lDUWYvL3d3QkxEUVFnQUFKL0lBSkJHSFJCR0hWQkFFNEVRQ0FGSUFJN0FRQWdBVUVCYWd3QkN5QUNRY0lCU1EwRklBSkIzd0ZOQkVBZ0F5QUJhMEVDU0EwRklBRXRBQUVpQ0VIQUFYRkJnQUZIRFFRZ0NFRS9jU0FDUVFaMFFjQVBjWElpQWtILy84TUFTdzBFSUFVZ0Fqc0JBQ0FCUVFKcURBRUxJQUpCN3dGTkJFQWdBeUFCYTBFRFNBMEZJQUV0QUFJaENTQUJMUUFCSVFnQ1FBSkFJQUpCN1FGSEJFQWdBa0hnQVVjTkFTQUlRZUFCY1VHZ0FVWU5BZ3dIQ3lBSVFlQUJjVUdBQVVZTkFRd0dDeUFJUWNBQmNVR0FBVWNOQlFzZ0NVSEFBWEZCZ0FGSERRUWdDVUUvY1NBSVFUOXhRUVowSUFKQkRIUnljaUlDUWYvL0EzRkIvLy9EQUVzTkJDQUZJQUk3QVFBZ0FVRURhZ3dCQ3lBQ1FmUUJTdzBGUVFFaENpQURJQUZyUVFSSURRTWdBUzBBQXlFSklBRXRBQUloQ0NBQkxRQUJJUUVDUUFKQUFrQUNRQ0FDUWZBQmF3NEZBQUlDQWdFQ0N5QUJRZkFBYWtIL0FYRkJNRThOQ0F3Q0N5QUJRZkFCY1VHQUFVY05Cd3dCQ3lBQlFjQUJjVUdBQVVjTkJnc2dDRUhBQVhGQmdBRkhJQWxCd0FGeFFZQUJSM0lOQlNBR0lBVnJRUVJJRFFOQkFpRUtJQWxCUDNFaUNTQUlRUVowSWd0QndCOXhJQUZCREhSQmdPQVBjU0FDUVFkeElnSkJFblJ5Y25KQi8vL0RBRXNOQXlBRklBaEJCSFpCQTNFZ0FVRUNkQ0lCUWNBQmNTQUNRUWgwY2lBQlFUeHhjbkpCd1A4QWFrR0FzQU55T3dFQUlBQWdCVUVDYWpZQ0NDQUZJQXRCd0FkeElBbHlRWUM0QTNJN0FRSWdBQ2dDREVFRWFnczJBZ3dnQUNBQUtBSUlRUUpxTmdJSURBRUxDeUFCSUFOSklRb0xJQW9NQWd0QkFRd0JDMEVDQ3lFQklBUWdBQ2dDRERZQ0FDQUhJQUFvQWdnMkFnQWdBRUVRYWlRQUlBRUwrZ1VCQVg4akFFRVFheUlBSkFBZ0FDQUNOZ0lNSUFBZ0JUWUNDQUovSUFBZ0FqWUNEQ0FBSUFVMkFnZ2dBQ2dDRENFQ0FrQUNRQU5BSUFJZ0EwOEVRRUVBSVFVTUF3dEJBaUVGSUFJdkFRQWlBVUgvLzhNQVN3MENBa0FDUUNBQlFmOEFUUVJBUVFFaEJTQUdJQUFvQWdnaUFtdEJBRXdOQlNBQUlBSkJBV28yQWdnZ0FpQUJPZ0FBREFFTElBRkIvdzlOQkVBZ0JpQUFLQUlJSWdKclFRSklEUVFnQUNBQ1FRRnFOZ0lJSUFJZ0FVRUdka0hBQVhJNkFBQWdBQ0FBS0FJSUlnSkJBV28yQWdnZ0FpQUJRVDl4UVlBQmNqb0FBQXdCQ3lBQlFmK3ZBMDBFUUNBR0lBQW9BZ2dpQW10QkEwZ05CQ0FBSUFKQkFXbzJBZ2dnQWlBQlFReDJRZUFCY2pvQUFDQUFJQUFvQWdnaUFrRUJhallDQ0NBQ0lBRkJCblpCUDNGQmdBRnlPZ0FBSUFBZ0FDZ0NDQ0lDUVFGcU5nSUlJQUlnQVVFL2NVR0FBWEk2QUFBTUFRc2dBVUgvdHdOTkJFQkJBU0VGSUFNZ0FtdEJCRWdOQlNBQ0x3RUNJZ2hCZ1BnRGNVR0F1QU5IRFFJZ0JpQUFLQUlJYTBFRVNBMEZJQWhCL3dkeElBRkJDblJCZ1BnRGNTQUJRY0FIY1NJRlFRcDBjbkpCZ0lBRWFrSC8vOE1BU3cwQ0lBQWdBa0VDYWpZQ0RDQUFJQUFvQWdnaUFrRUJhallDQ0NBQ0lBVkJCblpCQVdvaUFrRUNka0h3QVhJNkFBQWdBQ0FBS0FJSUlnVkJBV28yQWdnZ0JTQUNRUVIwUVRCeElBRkJBblpCRDNGeVFZQUJjam9BQUNBQUlBQW9BZ2dpQWtFQmFqWUNDQ0FDSUFoQkJuWkJEM0VnQVVFRWRFRXdjWEpCZ0FGeU9nQUFJQUFnQUNnQ0NDSUJRUUZxTmdJSUlBRWdDRUUvY1VHQUFYSTZBQUFNQVFzZ0FVR0F3QU5KRFFRZ0JpQUFLQUlJSWdKclFRTklEUU1nQUNBQ1FRRnFOZ0lJSUFJZ0FVRU1ka0hnQVhJNkFBQWdBQ0FBS0FJSUlnSkJBV28yQWdnZ0FpQUJRUVoyUVQ5eFFZQUJjam9BQUNBQUlBQW9BZ2dpQWtFQmFqWUNDQ0FDSUFGQlAzRkJnQUZ5T2dBQUN5QUFJQUFvQWd4QkFtb2lBallDREF3QkN3dEJBZ3dDQzBFQkRBRUxJQVVMSVFFZ0JDQUFLQUlNTmdJQUlBY2dBQ2dDQ0RZQ0FDQUFRUkJxSkFBZ0FRc1ZBQ0FBS0FJSUlnQkZCRUJCQVE4TElBQVFpZ0lMa0FFQkJuOERRQUpBSUFJZ0EwWWdCQ0FJVFhJTkFFRUJJUWNnQUNnQ0NDRUZJd0JCRUdzaUJpUUFJQVlnQlRZQ0RDQUdRUWhxSUFaQkRHb1FVaUVLUVFBZ0FpQURJQUpySUFGQnRJY0JJQUViRUxjQklRVWdDaEJSSUFaQkVHb2tBQUpBQWtBZ0JVRUNhZzREQWdJQkFBc2dCU0VIQ3lBSVFRRnFJUWdnQnlBSmFpRUpJQUlnQjJvaEFnd0JDd3NnQ1F0bUFRTi9JQUFvQWdnaEFpTUFRUkJySWdFa0FDQUJJQUkyQWd3Z0FVRUlhaUFCUVF4cUVGSWhBaU1BUVJCcklnTWtBQ0FEUVJCcUpBQkJBQ0VESUFJUVVTQUJRUkJxSkFBZ0F3Ui9RWDhGSUFBb0FnZ2lBRVVFUUVFQkR3c2dBQkNLQWtFQlJnc0xrZ0VCQVg4akFFRVFheUlGSkFBZ0JDQUNOZ0lBQW45QkFpQUZRUXhxUVFBZ0FDZ0NDQkRMQVNJQVFRRnFRUUpKRFFBYVFRRWdBRUVCYXlJQklBTWdCQ2dDQUd0TERRQWFJQVZCREdvaEFnTi9JQUVFZnlBQ0xRQUFJUUFnQkNBRUtBSUFJZ05CQVdvMkFnQWdBeUFBT2dBQUlBRkJBV3NoQVNBQ1FRRnFJUUlNQVFWQkFBc0xDeUVDSUFWQkVHb2tBQ0FDQzhzR0FReC9Jd0JCRUdzaUVTUUFJQUloQ0FOQUFrQWdBeUFJUmdSQUlBTWhDQXdCQ3lBSUxRQUFSUTBBSUFoQkFXb2hDQXdCQ3dzZ0J5QUZOZ0lBSUFRZ0FqWUNBQU5BQWtBQ2Z3SkFJQUlnQTBZZ0JTQUdSbklOQUNBUklBRXBBZ0EzQXdnZ0FDZ0NDQ0VKSXdCQkVHc2lFQ1FBSUJBZ0NUWUNEQ0FRUVFocUlCQkJER29RVWlFVElBZ2dBbXNoRFVFQUlRb2pBRUdRQ0dzaUN5UUFJQXNnQkNnQ0FDSU9OZ0lNSUFVZ0MwRVFhaUFGR3lFUEFrQUNRQUpBSUE1RklBWWdCV3RCQW5WQmdBSWdCUnNpREVWeURRQURRQ0FOUVFKMklna2dERWtnRFVHREFVMXhEUUlnRHlBTFFReHFJQXdnQ1NBSklBeFBHeUFCRU5JQ0loSkJmMFlFUUVGL0lRcEJBQ0VNSUFzb0Fnd2hEZ3dDQ3lBTVFRQWdFaUFQSUF0QkVHcEdHeUlKYXlFTUlBOGdDVUVDZEdvaER5QU5JQTVxSUFzb0Fnd2lEbXRCQUNBT0d5RU5JQW9nRW1vaENpQU9SUTBCSUF3TkFBc0xJQTVGRFFFTElBeEZJQTFGY2cwQUlBb2hDUU5BQWtBQ1FDQVBJQTRnRFNBQkVMY0JJZ3BCQW1wQkFrMEVRQUpBQWtBZ0NrRUJhZzRDQmdBQkN5QUxRUUEyQWd3TUFnc2dBVUVBTmdJQURBRUxJQXNnQ3lnQ0RDQUthaUlPTmdJTUlBbEJBV29oQ1NBTVFRRnJJZ3dOQVFzZ0NTRUtEQUlMSUE5QkJHb2hEeUFOSUFwcklRMGdDU0VLSUEwTkFBc0xJQVVFUUNBRUlBc29BZ3cyQWdBTElBdEJrQWhxSkFBZ0NpRUpJQk1RVVNBUVFSQnFKQUFDUUFKQUFrQUNRQ0FKUVg5R0JFQURRQUpBSUFjZ0JUWUNBQ0FDSUFRb0FnQkdEUUJCQVNFR0FrQUNRQUpBSUFVZ0FpQUlJQUpySUJGQkNHb2dBQ2dDQ0JDTEFpSUJRUUpxRGdNSUFBSUJDeUFFSUFJMkFnQU1CUXNnQVNFR0N5QUNJQVpxSVFJZ0J5Z0NBRUVFYWlFRkRBRUxDeUFFSUFJMkFnQU1CUXNnQnlBSEtBSUFJQWxCQW5ScUlnVTJBZ0FnQlNBR1JnMERJQVFvQWdBaEFpQURJQWhHQkVBZ0F5RUlEQWdMSUFVZ0FrRUJJQUVnQUNnQ0NCQ0xBa1VOQVF0QkFnd0VDeUFISUFjb0FnQkJCR28yQWdBZ0JDQUVLQUlBUVFGcUlnSTJBZ0FnQWlFSUEwQWdBeUFJUmdSQUlBTWhDQXdHQ3lBSUxRQUFSUTBGSUFoQkFXb2hDQXdBQ3dBTElBUWdBallDQUVFQkRBSUxJQVFvQWdBaEFnc2dBaUFEUndzaEFDQVJRUkJxSkFBZ0FBOExJQWNvQWdBaEJRd0FDd0FMc3dVQkRIOGpBRUVRYXlJTkpBQWdBaUVJQTBBQ1FDQURJQWhHQkVBZ0F5RUlEQUVMSUFnb0FnQkZEUUFnQ0VFRWFpRUlEQUVMQ3lBSElBVTJBZ0FnQkNBQ05nSUFBMEFDUUFKQUlBSWdBMFlnQlNBR1JuSUVmeUFDQlNBTklBRXBBZ0EzQXdoQkFTRVFJQUFvQWdnaENTTUFRUkJySWc0a0FDQU9JQWsyQWd3Z0RrRUlhaUFPUVF4cUVGSWhFeUFHSUFVaUNXc2hDa0VBSVE4akFFRVFheUlSSkFBQ1FDQUVLQUlBSWd0RklBZ2dBbXRCQW5VaUVrVnlEUUFnQ2tFQUlBa2JJUW9EUUNBUlFReHFJQWtnQ2tFRVNSc2dDeWdDQUJEYUFTSU1RWDlHQkVCQmZ5RVBEQUlMSUFrRWZ5QUtRUU5OQkVBZ0NpQU1TUTBESUFrZ0VVRU1haUFNRUVJYUN5QUtJQXhySVFvZ0NTQU1hZ1ZCQUFzaENTQUxLQUlBUlFSQVFRQWhDd3dDQ3lBTUlBOXFJUThnQzBFRWFpRUxJQkpCQVdzaUVnMEFDd3NnQ1FSQUlBUWdDellDQUFzZ0VVRVFhaVFBSUE4aENTQVRFRkVnRGtFUWFpUUFBa0FDUUFKQUFrQUNRQ0FKUVFGcURnSUFCZ0VMSUFjZ0JUWUNBQU5BQWtBZ0FpQUVLQUlBUmcwQUlBVWdBaWdDQUNBQUtBSUlFTXNCSWdGQmYwWU5BQ0FISUFjb0FnQWdBV29pQlRZQ0FDQUNRUVJxSVFJTUFRc0xJQVFnQWpZQ0FBd0JDeUFISUFjb0FnQWdDV29pQlRZQ0FDQUZJQVpHRFFJZ0F5QUlSZ1JBSUFRb0FnQWhBaUFESVFnTUJ3c2dEVUVFYWtFQUlBQW9BZ2dReXdFaUNFRi9SdzBCQzBFQ0lSQU1Bd3NnRFVFRWFpRUNJQVlnQnlnQ0FHc2dDRWtOQWdOQUlBZ0VRQ0FDTFFBQUlRVWdCeUFIS0FJQUlnbEJBV28yQWdBZ0NTQUZPZ0FBSUFoQkFXc2hDQ0FDUVFGcUlRSU1BUXNMSUFRZ0JDZ0NBRUVFYWlJQ05nSUFJQUloQ0FOQUlBTWdDRVlFUUNBRElRZ01CUXNnQ0NnQ0FFVU5CQ0FJUVFScUlRZ01BQXNBQ3lBRUtBSUFDeUFEUnlFUUN5QU5RUkJxSkFBZ0VBOExJQWNvQWdBaEJRd0FDd0FMQ1FBZ0FCQ1lBaEFRQ3pjQUl3QkJFR3NpQUNRQUlBQWdCRFlDRENBQUlBTWdBbXMyQWdnZ0FFRU1haUFBUVFocUVLSUJLQUlBSVFFZ0FFRVFhaVFBSUFFTE5BQURRQ0FCSUFKR1JRUkFJQVFnQVN3QUFDSUFJQU1nQUVFQVRoczZBQUFnQkVFQmFpRUVJQUZCQVdvaEFRd0JDd3NnQWdzTUFDQUJJQUlnQVVFQVRoc0xLZ0FEUUNBQklBSkdSUVJBSUFNZ0FTMEFBRG9BQUNBRFFRRnFJUU1nQVVFQmFpRUJEQUVMQ3lBQ0MwQUFBMEFnQVNBQ1J3UkFJQUVnQVN3QUFDSUFRUUJPQkg5QjBNUUFLQUlBSUFFc0FBQkJBblJxS0FJQUJTQUFDem9BQUNBQlFRRnFJUUVNQVFzTElBSUxKd0FnQVVFQVRnUi9RZERFQUNnQ0FDQUJRZjhCY1VFQ2RHb29BZ0FGSUFFTFFSaDBRUmgxQ3o4QUEwQWdBU0FDUndSQUlBRWdBU3dBQUNJQVFRQk9CSDlCd0Rnb0FnQWdBU3dBQUVFQ2RHb29BZ0FGSUFBTE9nQUFJQUZCQVdvaEFRd0JDd3NnQWdzbUFDQUJRUUJPQkg5QndEZ29BZ0FnQVVIL0FYRkJBblJxS0FJQUJTQUJDMEVZZEVFWWRRc0pBQ0FBRUk0Q0VCQUxOUUFEUUNBQklBSkdSUVJBSUFRZ0FTZ0NBQ0lBSUFNZ0FFR0FBVWtiT2dBQUlBUkJBV29oQkNBQlFRUnFJUUVNQVFzTElBSUxFd0FnQVNBQ0lBRkJnQUZKRzBFWWRFRVlkUXNxQUFOQUlBRWdBa1pGQkVBZ0F5QUJMQUFBTmdJQUlBTkJCR29oQXlBQlFRRnFJUUVNQVFzTElBSUxRUUFEUUNBQklBSkhCRUFnQVNBQktBSUFJZ0JCL3dCTkJIOUIwTVFBS0FJQUlBRW9BZ0JCQW5ScUtBSUFCU0FBQ3pZQ0FDQUJRUVJxSVFFTUFRc0xJQUlMSGdBZ0FVSC9BRTBFZjBIUXhBQW9BZ0FnQVVFQ2RHb29BZ0FGSUFFTEMwQUFBMEFnQVNBQ1J3UkFJQUVnQVNnQ0FDSUFRZjhBVFFSL1FjQTRLQUlBSUFFb0FnQkJBblJxS0FJQUJTQUFDellDQUNBQlFRUnFJUUVNQVFzTElBSUxIUUFnQVVIL0FFMEVmMEhBT0NnQ0FDQUJRUUowYWlnQ0FBVWdBUXNMUkFBQ1FBTkFJQUlnQTBZTkFRSkFJQUlvQWdCQi93QkxEUUJCc0RJb0FnQWdBaWdDQUVFQmRHb3ZBUUFnQVhGRkRRQWdBa0VFYWlFQ0RBRUxDeUFDSVFNTElBTUxRd0FEUUFKQUlBSWdBMGNFZnlBQ0tBSUFRZjhBU3cwQlFiQXlLQUlBSUFJb0FnQkJBWFJxTHdFQUlBRnhSUTBCSUFJRklBTUxEd3NnQWtFRWFpRUNEQUFMQUF0RkFBTkFJQUVnQWtjRVFDQURJQUVvQWdCQi93Qk5CSDlCc0RJb0FnQWdBU2dDQUVFQmRHb3ZBUUFGUVFBTE93RUFJQU5CQW1vaEF5QUJRUVJxSVFFTUFRc0xJQUlMSXdBZ0FrSC9BRTBFZjBHd01pZ0NBQ0FDUVFGMGFpOEJBQ0FCY1VFQVJ3VkJBQXNMUUFFQ2Z5QUFLQUlBS0FJQUlnQW9BZ0FnQUNnQ0NDSUNRUUYxYWlFQklBQW9BZ1FoQUNBQklBSkJBWEVFZnlBQktBSUFJQUJxS0FJQUJTQUFDeEVCQUFzUEFDQUFJQUFvQWdBb0FnUVJBUUFMSHdBZ0FBSi9RZmlJQVVINGlBRW9BZ0JCQVdvaUFEWUNBQ0FBQ3pZQ0JBc0pBQ0FBRUpNQ0VCQUxtQUVBSXdCQkVHc2lBeVFBQWtBZ0JSQTFSUVJBSUFBZ0JTZ0NDRFlDQ0NBQUlBVXBBZ0EzQWdBTUFRc2dCU2dDQUNFRUFrQUNRQUpBSUFVb0FnUWlBa0VCVFFSQUlBQWhBU0FBSUFJUU9nd0JDeUFDUWUvLy8vOERTdzBCSUFBZ0FDQUNFSUlCUVFGcUlnVVFnUUVpQVJCTklBQWdCUkJNSUFBZ0FoQTVDeUFCSUFRZ0FrRUJhaEJ4REFFTEVCY0FDd3NnQTBFUWFpUUFDd2tBSUFBZ0JSRFJBUXVHQXdFSWZ5TUFRZkFEYXlJQUpBQWdBRUhvQTJvaUJpQURFQThnQmhBN0lRb2dCUkFKQkVBZ0JVRUFFTEVCS0FJQUlBcEJMUkE5UmlFTEN5QUNJQXNnQUVIb0Eyb2dBRUhnQTJvZ0FFSGNBMm9nQUVIWUEyb2dBRUhJQTJvUUVTSU1JQUJCdUFOcUVFY2lCaUFBUWFnRGFoQkhJZ2NnQUVHa0Eyb1Ftd0lnQUVFMU5nSVFJQUJCQ0dwQkFDQUFRUkJxSWdJUUhpRUlBa0FDZnlBRkVBa2dBQ2dDcEFOS0JFQWdCUkFKSVFrZ0FDZ0NwQU1oRFNBSEVBa2dDU0FOYTBFQmRHb2dCaEFKYWlBQUtBS2tBMnBCQVdvTUFRc2dCeEFKSUFZUUNXb2dBQ2dDcEFOcVFRSnFDeUlKUWVVQVNRMEFJQWdnQ1VFQ2RCQVpFQ2NnQ0NnQ0FDSUNEUUFRRndBTElBSWdBRUVFYWlBQUlBTW9BZ1FnQlJBTklBVVFEU0FGRUFsQkFuUnFJQW9nQ3lBQVFlQURhaUFBS0FMY0F5QUFLQUxZQXlBTUlBWWdCeUFBS0FLa0F4Q2FBaUFCSUFJZ0FDZ0NCQ0FBS0FJQUlBTWdCQkJpSVFFZ0NCQWRJQWNRQ2hvZ0JoQUtHaUFNRUFvYUlBQkI2QU5xRUE0Z0FFSHdBMm9rQUNBQkM3c0VBUXQvSXdCQnNBaHJJZ0FrQUNBQUlBVTNBeEFnQUNBR053TVlJQUFnQUVIQUIyb2lCellDdkFjZ0J5QUFRUkJxRU5ZQ0lRY2dBRUUxTmdLZ0JDQUFRWmdFYWtFQUlBQkJvQVJxSWdrUUhpRU9JQUJCTlRZQ29BUWdBRUdRQkdwQkFDQUpFQjRoQ2dKQUlBZEI1QUJQQkVBUUZpRUhJQUFnQlRjREFDQUFJQVkzQXdnZ0FFRzhCMm9nQjBIdUhDQUFFRm9pQjBGL1JnMEJJQTRnQUNnQ3ZBY1FKeUFLSUFkQkFuUVFHUkFuSUFvUW5nSU5BU0FLS0FJQUlRa0xJQUJCaUFScUlnZ2dBeEFQSUFnUU95SVJJQUFvQXJ3SElnZ2dCeUFJYWlBSkVHTWdCMEVBU2dSQUlBQW9BcndITFFBQVFTMUdJUThMSUFJZ0R5QUFRWWdFYWlBQVFZQUVhaUFBUWZ3RGFpQUFRZmdEYWlBQVFlZ0RhaEFSSWhBZ0FFSFlBMm9RUnlJSUlBQkJ5QU5xRUVjaUN5QUFRY1FEYWhDYkFpQUFRVFUyQWpBZ0FFRW9ha0VBSUFCQk1Hb2lBaEFlSVF3Q2Z5QUFLQUxFQXlJTklBZElCRUFnQ3hBSklBY2dEV3RCQVhScUlBZ1FDV29nQUNnQ3hBTnFRUUZxREFFTElBc1FDU0FJRUFscUlBQW9Bc1FEYWtFQ2Fnc2lEVUhsQUU4RVFDQU1JQTFCQW5RUUdSQW5JQXdvQWdBaUFrVU5BUXNnQWlBQVFTUnFJQUJCSUdvZ0F5Z0NCQ0FKSUFrZ0IwRUNkR29nRVNBUElBQkJnQVJxSUFBb0F2d0RJQUFvQXZnRElCQWdDQ0FMSUFBb0FzUURFSm9DSUFFZ0FpQUFLQUlrSUFBb0FpQWdBeUFFRUdJaEFTQU1FQjBnQ3hBS0dpQUlFQW9hSUJBUUNob2dBRUdJQkdvUURpQUtFQjBnRGhBZElBQkJzQWhxSkFBZ0FROExFQmNBQy80Q0FRaC9Jd0JCd0FGcklnQWtBQ0FBUWJnQmFpSUdJQU1RRHlBR0VESWhDaUFGRUFrRVFDQUZRUUFRQ3kwQUFDQUtRUzBRS1VIL0FYRkdJUXNMSUFJZ0N5QUFRYmdCYWlBQVFiQUJhaUFBUWE4QmFpQUFRYTRCYWlBQVFhQUJhaEFSSWd3Z0FFR1FBV29RRVNJR0lBQkJnQUZxRUJFaUJ5QUFRZndBYWhDZEFpQUFRVFUyQWhBZ0FFRUlha0VBSUFCQkVHb2lBaEFlSVFnQ1FBSi9JQVVRQ1NBQUtBSjhTZ1JBSUFVUUNTRUpJQUFvQW53aERTQUhFQWtnQ1NBTmEwRUJkR29nQmhBSmFpQUFLQUo4YWtFQmFnd0JDeUFIRUFrZ0JoQUphaUFBS0FKOGFrRUNhZ3NpQ1VIbEFFa05BQ0FJSUFrUUdSQW5JQWdvQWdBaUFnMEFFQmNBQ3lBQ0lBQkJCR29nQUNBREtBSUVJQVVRRFNBRkVBMGdCUkFKYWlBS0lBc2dBRUd3QVdvZ0FDd0Fyd0VnQUN3QXJnRWdEQ0FHSUFjZ0FDZ0NmQkNjQWlBQklBSWdBQ2dDQkNBQUtBSUFJQU1nQkJCV0lRRWdDQkFkSUFjUUNob2dCaEFLR2lBTUVBb2FJQUJCdUFGcUVBNGdBRUhBQVdva0FDQUJDN0lFQVF0L0l3QkIwQU5ySWdBa0FDQUFJQVUzQXhBZ0FDQUdOd01ZSUFBZ0FFSGdBbW9pQnpZQzNBSWdCeUFBUVJCcUVOWUNJUWNnQUVFMU5nTHdBU0FBUWVnQmFrRUFJQUJCOEFGcUlna1FIaUVPSUFCQk5UWUM4QUVnQUVIZ0FXcEJBQ0FKRUI0aENnSkFJQWRCNUFCUEJFQVFGaUVISUFBZ0JUY0RBQ0FBSUFZM0F3Z2dBRUhjQW1vZ0IwSHVIQ0FBRUZvaUIwRi9SZzBCSUE0Z0FDZ0MzQUlRSnlBS0lBY1FHUkFuSUFvUW5nSU5BU0FLS0FJQUlRa0xJQUJCMkFGcUlnZ2dBeEFQSUFnUU1pSVJJQUFvQXR3Q0lnZ2dCeUFJYWlBSkVHOGdCMEVBU2dSQUlBQW9BdHdDTFFBQVFTMUdJUThMSUFJZ0R5QUFRZGdCYWlBQVFkQUJhaUFBUWM4QmFpQUFRYzRCYWlBQVFjQUJhaEFSSWhBZ0FFR3dBV29RRVNJSUlBQkJvQUZxRUJFaUN5QUFRWndCYWhDZEFpQUFRVFUyQWpBZ0FFRW9ha0VBSUFCQk1Hb2lBaEFlSVF3Q2Z5QUFLQUtjQVNJTklBZElCRUFnQ3hBSklBY2dEV3RCQVhScUlBZ1FDV29nQUNnQ25BRnFRUUZxREFFTElBc1FDU0FJRUFscUlBQW9BcHdCYWtFQ2Fnc2lEVUhsQUU4RVFDQU1JQTBRR1JBbklBd29BZ0FpQWtVTkFRc2dBaUFBUVNScUlBQkJJR29nQXlnQ0JDQUpJQWNnQ1dvZ0VTQVBJQUJCMEFGcUlBQXNBTThCSUFBc0FNNEJJQkFnQ0NBTElBQW9BcHdCRUp3Q0lBRWdBaUFBS0FJa0lBQW9BaUFnQXlBRUVGWWhBU0FNRUIwZ0N4QUtHaUFJRUFvYUlCQVFDaG9nQUVIWUFXb1FEaUFLRUIwZ0RoQWRJQUJCMEFOcUpBQWdBUThMRUJjQUM2Y0ZBUU4vSXdCQndBTnJJZ0FrQUNBQUlBSTJBckFESUFBZ0FUWUN1QU1nQUVFMk5nSVVJQUJCR0dvZ0FFRWdhaUFBUVJScUlnY1FIaUVKSUFCQkVHb2lBU0FFRUE4Z0FSQTdJUWdnQUVFQU9nQVBJQUJCdUFOcUlBSWdBeUFCSUFRb0FnUWdCU0FBUVE5cUlBZ2dDU0FISUFCQnNBTnFFS1FDQkVBakFFRVFheUlCSkFBQ1FDQUdFRFVFUUNBR0tBSUFJUUlnQVVFQU5nSU1JQUlnQVVFTWFoQXpJQVpCQUJBNURBRUxJQUZCQURZQ0NDQUdJQUZCQ0dvUU15QUdRUUFRT2dzZ0FVRVFhaVFBSUFBdEFBOEVRQ0FHSUFoQkxSQTlFTWNCQ3lBSVFUQVFQU0VCSUFrb0FnQWhCQ0FBS0FJVUlnaEJCR3NoQWdOQUFrQWdBaUFFVFEwQUlBUW9BZ0FnQVVjTkFDQUVRUVJxSVFRTUFRc0xJd0JCRUdzaUFTUUFJQVlRQ1NFQ0lBWVF6d0VoQXdKQUlBUWdDQkNpQWlJSFJRMEFJQVlRRFNBRVRRUi9JQVFnQmhBTklBWVFDVUVDZEdwTkJVRUFDMFVFUUNBSElBTWdBbXRMQkVBZ0JpQURJQUlnQjJvZ0Eyc2dBaUFDRVBNQkN5QUdFQTBnQWtFQ2RHb2hBd05BSUFRZ0NFY0VRQ0FESUFRUU15QUVRUVJxSVFRZ0EwRUVhaUVEREFFTEN5QUJRUUEyQWdBZ0F5QUJFRE1nQmlBQ0lBZHFFSGdNQVFzakFFRVFheUlDSkFBZ0FTQUVJQWdRemdJZ0FrRVFhaVFBSUFFUURTRUlJQUVRQ1NFQ0l3QkJFR3NpQkNRQUFrQWdBaUFHRU04QklnY2dCaEFKSWdOclRRUkFJQUpGRFFFZ0JoQU5JZ2NnQTBFQ2RHb2dDQ0FDRUhFZ0JpQUNJQU5xSWdJUWVDQUVRUUEyQWd3Z0J5QUNRUUowYWlBRVFReHFFRE1NQVFzZ0JpQUhJQUlnQTJvZ0Iyc2dBeUFEUVFBZ0FpQUlFUFFCQ3lBRVFSQnFKQUFnQVJBS0dnc2dBVUVRYWlRQUN5QUFRYmdEYWlBQVFiQURhaEFvQkVBZ0JTQUZLQUlBUVFKeU5nSUFDeUFBS0FLNEF5RUJJQUJCRUdvUURpQUpFQjBnQUVIQUEyb2tBQ0FCQzljREFRSi9Jd0JCOEFScklnQWtBQ0FBSUFJMkF1QUVJQUFnQVRZQzZBUWdBRUUyTmdJUUlBQkJ5QUZxSUFCQjBBRnFJQUJCRUdvUUhpRUJJQUJCd0FGcUlnY2dCQkFQSUFjUU95RUlJQUJCQURvQXZ3RUNRQ0FBUWVnRWFpQUNJQU1nQnlBRUtBSUVJQVVnQUVHL0FXb2dDQ0FCSUFCQnhBRnFJQUJCNEFScUVLUUNSUTBBSUFCQm94NG9BQUEyQUxjQklBQkJuQjRwQUFBM0E3QUJJQWdnQUVHd0FXb2dBRUc2QVdvZ0FFR0FBV29RWXlBQVFUVTJBaEFnQUVFSWFrRUFJQUJCRUdvaUFoQWVJUU1DUUNBQUtBTEVBU0FCS0FJQWEwR0pBMDRFUUNBRElBQW9Bc1FCSUFFb0FnQnJRUUoxUVFKcUVCa1FKeUFES0FJQVJRMEJJQU1vQWdBaEFnc2dBQzBBdndFRVFDQUNRUzA2QUFBZ0FrRUJhaUVDQ3lBQktBSUFJUVFEUUNBQUtBTEVBU0FFVFFSQUFrQWdBa0VBT2dBQUlBQWdCallDQUNBQVFSQnFJQUFRMXdKQkFVY05BQ0FERUIwTUJBc0ZJQUlnQUVHd0FXb2dBRUdBQVdvaUJ5QUhRU2hxSUFRUTBnRWdCMnRCQW5WcUxRQUFPZ0FBSUFKQkFXb2hBaUFFUVFScUlRUU1BUXNMRUJjQUN4QVhBQXNnQUVIb0JHb2dBRUhnQkdvUUtBUkFJQVVnQlNnQ0FFRUNjallDQUFzZ0FDZ0M2QVFoQWlBQVFjQUJhaEFPSUFFUUhTQUFRZkFFYWlRQUlBSUxwQVVCQTM4akFFR2dBV3NpQUNRQUlBQWdBallDa0FFZ0FDQUJOZ0tZQVNBQVFUWTJBaFFnQUVFWWFpQUFRU0JxSUFCQkZHb2lCeEFlSVFrZ0FFRVFhaUlCSUFRUUR5QUJFREloQ0NBQVFRQTZBQThnQUVHWUFXb2dBaUFESUFFZ0JDZ0NCQ0FGSUFCQkQyb2dDQ0FKSUFjZ0FFR0VBV29RcXdJRVFDTUFRUkJySWdFa0FBSkFJQVlRTlFSQUlBWW9BZ0FoQWlBQlFRQTZBQThnQWlBQlFROXFFRFFnQmtFQUVEa01BUXNnQVVFQU9nQU9JQVlnQVVFT2FoQTBJQVpCQUJBNkN5QUJRUkJxSkFBZ0FDMEFEd1JBSUFZZ0NFRXRFQ2tRb1FFTElBaEJNQkFwSVFFZ0NTZ0NBQ0VFSUFBb0FoUWlDRUVCYXlFQ0lBRkIvd0Z4SVFFRFFBSkFJQUlnQkUwTkFDQUVMUUFBSUFGSERRQWdCRUVCYWlFRURBRUxDeU1BUVJCcklnRWtBQ0FHRUFraEFpQUdFQk1oQXdKQUlBUWdDQkR2QWlJSFJRMEFJQVlRRFNBRVRRUi9JQVFnQmhBTklBWVFDV3BOQlVFQUMwVUVRQ0FISUFNZ0FtdExCRUFnQmlBRElBSWdCMm9nQTJzZ0FpQUNFTWdCQ3lBR0VBMGdBbW9oQXdOQUlBUWdDRWNFUUNBRElBUVFOQ0FFUVFGcUlRUWdBMEVCYWlFRERBRUxDeUFCUVFBNkFBOGdBeUFCUVE5cUVEUWdCaUFDSUFkcUVIZ01BUXNqQUVFUWF5SUNKQUFnQVNBRUlBZ1E4d0lnQWtFUWFpUUFJQUVRRFNFSUlBRVFDU0VDSXdCQkVHc2lCQ1FBQWtBZ0FpQUdFQk1pQnlBR0VBa2lBMnROQkVBZ0FrVU5BU0FHRUEwaUJ5QURhaUFJSUFJUVZTQUdJQUlnQTJvaUFoQjRJQVJCQURvQUR5QUNJQWRxSUFSQkQyb1FOQXdCQ3lBR0lBY2dBaUFEYWlBSGF5QURJQU5CQUNBQ0lBZ1ErQUVMSUFSQkVHb2tBQ0FCRUFvYUN5QUJRUkJxSkFBTElBQkJtQUZxSUFCQmtBRnFFQ1lFUUNBRklBVW9BZ0JCQW5JMkFnQUxJQUFvQXBnQklRRWdBRUVRYWhBT0lBa1FIU0FBUWFBQmFpUUFJQUVMelFNQkFuOGpBRUdnQW1zaUFDUUFJQUFnQWpZQ2tBSWdBQ0FCTmdLWUFpQUFRVFkyQWhBZ0FFR1lBV29nQUVHZ0FXb2dBRUVRYWhBZUlRRWdBRUdRQVdvaUJ5QUVFQThnQnhBeUlRZ2dBRUVBT2dDUEFRSkFJQUJCbUFKcUlBSWdBeUFISUFRb0FnUWdCU0FBUVk4QmFpQUlJQUVnQUVHVUFXb2dBRUdFQW1vUXF3SkZEUUFnQUVHakhpZ0FBRFlBaHdFZ0FFR2NIaWtBQURjRGdBRWdDQ0FBUVlBQmFpQUFRWW9CYWlBQVFmWUFhaEJ2SUFCQk5UWUNFQ0FBUVFocVFRQWdBRUVRYWlJQ0VCNGhBd0pBSUFBb0FwUUJJQUVvQWdCclFlTUFUZ1JBSUFNZ0FDZ0NsQUVnQVNnQ0FHdEJBbW9RR1JBbklBTW9BZ0JGRFFFZ0F5Z0NBQ0VDQ3lBQUxRQ1BBUVJBSUFKQkxUb0FBQ0FDUVFGcUlRSUxJQUVvQWdBaEJBTkFJQUFvQXBRQklBUk5CRUFDUUNBQ1FRQTZBQUFnQUNBR05nSUFJQUJCRUdvZ0FCRFhBa0VCUncwQUlBTVFIUXdFQ3dVZ0FpQUFRZllBYWlJSElBZEJDbW9nQkJEVkFTQUFheUFBYWkwQUNqb0FBQ0FDUVFGcUlRSWdCRUVCYWlFRURBRUxDeEFYQUFzUUZ3QUxJQUJCbUFKcUlBQkJrQUpxRUNZRVFDQUZJQVVvQWdCQkFuSTJBZ0FMSUFBb0FwZ0NJUUlnQUVHUUFXb1FEaUFCRUIwZ0FFR2dBbW9rQUNBQ0M1Z0NBUUovSXdCQm9BTnJJZ2drQUNBSUlBaEJvQU5xSWdNMkFnd2pBRUdRQVdzaUJ5UUFJQWNnQjBHRUFXbzJBaHdnQUVFSWFpQUhRU0JxSWdJZ0IwRWNhaUFFSUFVZ0JoQ3hBaUFIUWdBM0F4QWdCeUFDTmdJTUlBaEJFR29pQWlBSUtBSU1FSzRDSVFRZ0FDZ0NDQ0VGSXdCQkVHc2lBQ1FBSUFBZ0JUWUNEQ0FBUVFocUlBQkJER29RVWlFRklBSWdCMEVNYWlBRUlBZEJFR29RMGdJaEJDQUZFRkVnQUVFUWFpUUFJQVJCZjBZRVFCQVhBQXNnQ0NBQ0lBUkJBblJxTmdJTUlBZEJrQUZxSkFBZ0NDZ0NEQ0VFSXdCQkVHc2lBQ1FBSUFBZ0FUWUNDQU5BSUFJZ0JFY0VRQ0FBUVFocUlBSW9BZ0FROXdJZ0FrRUVhaUVDREFFTEN5QUFLQUlJSVFFZ0FFRVFhaVFBSUFNa0FDQUJDNFVCQUNNQVFZQUJheUlDSkFBZ0FpQUNRZlFBYWpZQ0RDQUFRUWhxSUFKQkVHb2lBQ0FDUVF4cUlBUWdCU0FHRUxFQ0lBQWhCQ0FDS0FJTUlRTWpBRUVRYXlJQUpBQWdBQ0FCTmdJSUEwQWdBeUFFUndSQUlBQkJDR29nQkN3QUFCRDRBaUFFUVFGcUlRUU1BUXNMSUFBb0FnZ2hBU0FBUVJCcUpBQWdBa0dBQVdva0FDQUJDK0FNQVFGL0l3QkJRR29pQnlRQUlBY2dBVFlDT0NBRVFRQTJBZ0FnQnlBREVBOGdCeEE3SVFnZ0J4QU9BbjhDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVpCd1FCckRqa0FBUmNFRndVWEJnY1hGeGNLRnhjWEZ3NFBFQmNYRnhNVkZ4Y1hGeGNYRndBQkFnTURGeGNCRndnWEZ3a0xGd3dYRFJjTEZ4Y1JFaFFXQ3lBQUlBVkJHR29nQjBFNGFpQUNJQVFnQ0JDMUFnd1lDeUFBSUFWQkVHb2dCMEU0YWlBQ0lBUWdDQkMwQWd3WEN5QUhJQUFnQVNBQ0lBTWdCQ0FGSUFCQkNHb2dBQ2dDQ0NnQ0RCRUFBQ0lBRUEwZ0FCQU5JQUFRQ1VFQ2RHb1FZRFlDT0F3V0N5QUhRVGhxSUFJZ0JDQUlRUUlRV0NFQUFrQWdCQ2dDQUNJQlFRUnhJQUJCQUV4eUlBQkJIMHB5UlFSQUlBVWdBRFlDREF3QkN5QUVJQUZCQkhJMkFnQUxEQlVMSUFkQnVORUFLUU1BTndNWUlBZEJzTkVBS1FNQU53TVFJQWRCcU5FQUtRTUFOd01JSUFkQm9ORUFLUU1BTndNQUlBY2dBQ0FCSUFJZ0F5QUVJQVVnQnlBSFFTQnFFR0EyQWpnTUZBc2dCMEhZMFFBcEF3QTNBeGdnQjBIUTBRQXBBd0EzQXhBZ0IwSEkwUUFwQXdBM0F3Z2dCMEhBMFFBcEF3QTNBd0FnQnlBQUlBRWdBaUFESUFRZ0JTQUhJQWRCSUdvUVlEWUNPQXdUQ3lBSFFUaHFJQUlnQkNBSVFRSVFXQ0VBQWtBZ0JDZ0NBQ0lCUVFSeElBQkJGMHB5UlFSQUlBVWdBRFlDQ0F3QkN5QUVJQUZCQkhJMkFnQUxEQklMSUFkQk9Hb2dBaUFFSUFoQkFoQllJUUFDUUNBRUtBSUFJZ0ZCQkhFZ0FFRUFUSElnQUVFTVNuSkZCRUFnQlNBQU5nSUlEQUVMSUFRZ0FVRUVjallDQUFzTUVRc2dCMEU0YWlBQ0lBUWdDRUVERUZnaEFBSkFJQVFvQWdBaUFVRUVjU0FBUWUwQ1NuSkZCRUFnQlNBQU5nSWNEQUVMSUFRZ0FVRUVjallDQUFzTUVBc2dCMEU0YWlBQ0lBUWdDRUVDRUZnaEFBSkFJQVFvQWdBaUFVRUVjU0FBUVF4S2NrVUVRQ0FGSUFCQkFXczJBaEFNQVFzZ0JDQUJRUVJ5TmdJQUN3d1BDeUFIUVRocUlBSWdCQ0FJUVFJUVdDRUFBa0FnQkNnQ0FDSUJRUVJ4SUFCQk8wcHlSUVJBSUFVZ0FEWUNCQXdCQ3lBRUlBRkJCSEkyQWdBTERBNExJQWRCT0dvaEFDTUFRUkJySWdFa0FDQUJJQUkyQWdnRFFBSkFJQUFnQVVFSWFoQTJSUTBBSUFoQmdNQUFJQUFRSVJCT1JRMEFJQUFRSlJvTUFRc0xJQUFnQVVFSWFoQW9CRUFnQkNBRUtBSUFRUUp5TmdJQUN5QUJRUkJxSkFBTURRc2dCMEU0YWlFQkFrQWdBRUVJYWlBQUtBSUlLQUlJRVFBQUlnQVFDVUVBSUFCQkRHb1FDV3RHQkVBZ0JDQUVLQUlBUVFSeU5nSUFEQUVMSUFFZ0FpQUFJQUJCR0dvZ0NDQUVRUUFRc2dFZ0FHc2lBU0FGS0FJSUlnQkJERWR5UlFSQUlBVkJBRFlDQ0F3QkN5QUJRUXhISUFCQkMwcHlSUVJBSUFVZ0FFRU1hallDQ0FzTERBd0xJQWRCNE5FQVFTd1FRaUlHSUFBZ0FTQUNJQU1nQkNBRklBWWdCa0VzYWhCZ05nSTREQXNMSUFkQm9OSUFLQUlBTmdJUUlBZEJtTklBS1FNQU53TUlJQWRCa05JQUtRTUFOd01BSUFjZ0FDQUJJQUlnQXlBRUlBVWdCeUFIUVJScUVHQTJBamdNQ2dzZ0IwRTRhaUFDSUFRZ0NFRUNFRmdoQUFKQUlBUW9BZ0FpQVVFRWNTQUFRVHhLY2tVRVFDQUZJQUEyQWdBTUFRc2dCQ0FCUVFSeU5nSUFDd3dKQ3lBSFFjalNBQ2tEQURjREdDQUhRY0RTQUNrREFEY0RFQ0FIUWJqU0FDa0RBRGNEQ0NBSFFiRFNBQ2tEQURjREFDQUhJQUFnQVNBQ0lBTWdCQ0FGSUFjZ0IwRWdhaEJnTmdJNERBZ0xJQWRCT0dvZ0FpQUVJQWhCQVJCWUlRQUNRQ0FFS0FJQUlnRkJCSEVnQUVFR1NuSkZCRUFnQlNBQU5nSVlEQUVMSUFRZ0FVRUVjallDQUFzTUJ3c2dBQ0FCSUFJZ0F5QUVJQVVnQUNnQ0FDZ0NGQkVGQUF3SEN5QUhJQUFnQVNBQ0lBTWdCQ0FGSUFCQkNHb2dBQ2dDQ0NnQ0dCRUFBQ0lBRUEwZ0FCQU5JQUFRQ1VFQ2RHb1FZRFlDT0F3RkN5QUZRUlJxSUFkQk9Hb2dBaUFFSUFnUXN3SU1CQXNnQjBFNGFpQUNJQVFnQ0VFRUVGZ2hBQ0FFTFFBQVFRUnhSUVJBSUFVZ0FFSHNEbXMyQWhRTERBTUxJQVpCSlVZTkFRc2dCQ0FFS0FJQVFRUnlOZ0lBREFFTEl3QkJFR3NpQUNRQUlBQWdBallDQ0VFR0lRRUNRQUpBSUFkQk9Hb2lBaUFBUVFocUVDZ05BRUVFSVFFZ0NDQUNFQ0VRaHdGQkpVY05BRUVDSVFFZ0FoQWxJQUJCQ0dvUUtFVU5BUXNnQkNBRUtBSUFJQUZ5TmdJQUN5QUFRUkJxSkFBTElBY29BamdMSVFBZ0IwRkFheVFBSUFBTFJ3RUJmeU1BUVJCcklnWWtBQ0FHSUFFMkFnZ2dCaUFERUE4Z0JoQTdJUUVnQmhBT0lBVkJGR29nQmtFSWFpQUNJQVFnQVJDekFpQUdLQUlJSVFBZ0JrRVFhaVFBSUFBTFNRRUJmeU1BUVJCcklnWWtBQ0FHSUFFMkFnZ2dCaUFERUE4Z0JoQTdJUUVnQmhBT0lBQWdCVUVRYWlBR1FRaHFJQUlnQkNBQkVMUUNJQVlvQWdnaEFDQUdRUkJxSkFBZ0FBdEpBUUYvSXdCQkVHc2lCaVFBSUFZZ0FUWUNDQ0FHSUFNUUR5QUdFRHNoQVNBR0VBNGdBQ0FGUVJocUlBWkJDR29nQWlBRUlBRVF0UUlnQmlnQ0NDRUFJQVpCRUdva0FDQUFDekFBSUFBZ0FTQUNJQU1nQkNBRklBQkJDR29nQUNnQ0NDZ0NGQkVBQUNJQUVBMGdBQkFOSUFBUUNVRUNkR29RWUF0Y0FRRi9Jd0JCSUdzaUJpUUFJQVpCeU5JQUtRTUFOd01ZSUFaQndOSUFLUU1BTndNUUlBWkJ1TklBS1FNQU53TUlJQVpCc05JQUtRTUFOd01BSUFBZ0FTQUNJQU1nQkNBRklBWWdCa0VnYWlJQkVHQWhBQ0FCSkFBZ0FBdE1BUUYvUWNTQkFVSEFnUUVnQWhzZ0FUWUNBQ0FCUVFCS0JFQkJvSUVCUVlDQkFTQUNHeUVEUVFBaEFnTkFJQUlnQTJvZ0FDQUNhaTBBQURvQUFDQUNRUUZxSWdJZ0FVY05BQXNMQzVBTUFRSi9Jd0JCSUdzaUJ5UUFJQWNnQVRZQ0dDQUVRUUEyQWdBZ0IwRUlhaUlKSUFNUUR5QUpFREloQ0NBSkVBNENmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCa0hCQUdzT09RQUJGd1FYQlJjR0J4Y1hGd29YRnhjWERnOFFGeGNYRXhVWEZ4Y1hGeGNYQUFFQ0F3TVhGd0VYQ0JjWENRc1hEQmNORndzWEZ4RVNGQllMSUFBZ0JVRVlhaUFIUVJocUlBSWdCQ0FJRUxnQ0RCZ0xJQUFnQlVFUWFpQUhRUmhxSUFJZ0JDQUlFTGNDREJjTElBY2dBQ0FCSUFJZ0F5QUVJQVVnQUVFSWFpQUFLQUlJS0FJTUVRQUFJZ0FRRFNBQUVBMGdBQkFKYWhCaE5nSVlEQllMSUFkQkdHb2dBaUFFSUFoQkFoQlpJUUFDUUNBRUtBSUFJZ0ZCQkhFZ0FFRUFUSElnQUVFZlNuSkZCRUFnQlNBQU5nSU1EQUVMSUFRZ0FVRUVjallDQUFzTUZRc2dCMEtsMnIycHd1ekxrdmtBTndNSUlBY2dBQ0FCSUFJZ0F5QUVJQVVnQjBFSWFpQUhRUkJxRUdFMkFoZ01GQXNnQjBLbHNyV3AwcTNMa3VRQU53TUlJQWNnQUNBQklBSWdBeUFFSUFVZ0IwRUlhaUFIUVJCcUVHRTJBaGdNRXdzZ0IwRVlhaUFDSUFRZ0NFRUNFRmtoQUFKQUlBUW9BZ0FpQVVFRWNTQUFRUmRLY2tVRVFDQUZJQUEyQWdnTUFRc2dCQ0FCUVFSeU5nSUFDd3dTQ3lBSFFSaHFJQUlnQkNBSVFRSVFXU0VBQWtBZ0JDZ0NBQ0lCUVFSeElBQkJBRXh5SUFCQkRFcHlSUVJBSUFVZ0FEWUNDQXdCQ3lBRUlBRkJCSEkyQWdBTERCRUxJQWRCR0dvZ0FpQUVJQWhCQXhCWklRQUNRQ0FFS0FJQUlnRkJCSEVnQUVIdEFrcHlSUVJBSUFVZ0FEWUNIQXdCQ3lBRUlBRkJCSEkyQWdBTERCQUxJQWRCR0dvZ0FpQUVJQWhCQWhCWklRQUNRQ0FFS0FJQUlnRkJCSEVnQUVFTVNuSkZCRUFnQlNBQVFRRnJOZ0lRREFFTElBUWdBVUVFY2pZQ0FBc01Ed3NnQjBFWWFpQUNJQVFnQ0VFQ0VGa2hBQUpBSUFRb0FnQWlBVUVFY1NBQVFUdEtja1VFUUNBRklBQTJBZ1FNQVFzZ0JDQUJRUVJ5TmdJQUN3d09DeUFIUVJocUlRQWpBRUVRYXlJQkpBQWdBU0FDTmdJSUEwQUNRQ0FBSUFGQkNHb1FNVVVOQUNBSVFZREFBQ0FBRUI4UVJFVU5BQ0FBRUNJYURBRUxDeUFBSUFGQkNHb1FKZ1JBSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dBVUVRYWlRQURBMExJQWRCR0dvaEFRSkFJQUJCQ0dvZ0FDZ0NDQ2dDQ0JFQUFDSUFFQWxCQUNBQVFReHFFQWxyUmdSQUlBUWdCQ2dDQUVFRWNqWUNBQXdCQ3lBQklBSWdBQ0FBUVJocUlBZ2dCRUVBRUxRQklBQnJJZ0VnQlNnQ0NDSUFRUXhIY2tVRVFDQUZRUUEyQWdnTUFRc2dBVUVNUnlBQVFRdEtja1VFUUNBRklBQkJER28yQWdnTEN3d01DeUFIUVpUUkFDZ0FBRFlBRHlBSFFZM1JBQ2tBQURjRENDQUhJQUFnQVNBQ0lBTWdCQ0FGSUFkQkNHb2dCMEVUYWhCaE5nSVlEQXNMSUFkQm5ORUFMUUFBT2dBTUlBZEJtTkVBS0FBQU5nSUlJQWNnQUNBQklBSWdBeUFFSUFVZ0IwRUlhaUFIUVExcUVHRTJBaGdNQ2dzZ0IwRVlhaUFDSUFRZ0NFRUNFRmtoQUFKQUlBUW9BZ0FpQVVFRWNTQUFRVHhLY2tVRVFDQUZJQUEyQWdBTUFRc2dCQ0FCUVFSeU5nSUFDd3dKQ3lBSFFxV1E2YW5TeWM2UzB3QTNBd2dnQnlBQUlBRWdBaUFESUFRZ0JTQUhRUWhxSUFkQkVHb1FZVFlDR0F3SUN5QUhRUmhxSUFJZ0JDQUlRUUVRV1NFQUFrQWdCQ2dDQUNJQlFRUnhJQUJCQmtweVJRUkFJQVVnQURZQ0dBd0JDeUFFSUFGQkJISTJBZ0FMREFjTElBQWdBU0FDSUFNZ0JDQUZJQUFvQWdBb0FoUVJCUUFNQndzZ0J5QUFJQUVnQWlBRElBUWdCU0FBUVFocUlBQW9BZ2dvQWhnUkFBQWlBQkFOSUFBUURTQUFFQWxxRUdFMkFoZ01CUXNnQlVFVWFpQUhRUmhxSUFJZ0JDQUlFTFlDREFRTElBZEJHR29nQWlBRUlBaEJCQkJaSVFBZ0JDMEFBRUVFY1VVRVFDQUZJQUJCN0E1ck5nSVVDd3dEQ3lBR1FTVkdEUUVMSUFRZ0JDZ0NBRUVFY2pZQ0FBd0JDeU1BUVJCcklnQWtBQ0FBSUFJMkFnaEJCaUVCQWtBQ1FDQUhRUmhxSWdJZ0FFRUlhaEFtRFFCQkJDRUJJQWdnQWhBZkVJZ0JRU1ZIRFFCQkFpRUJJQUlRSWlBQVFRaHFFQ1pGRFFFTElBUWdCQ2dDQUNBQmNqWUNBQXNnQUVFUWFpUUFDeUFIS0FJWUN5RUFJQWRCSUdva0FDQUFDMGNCQVg4akFFRVFheUlHSkFBZ0JpQUJOZ0lJSUFZZ0F4QVBJQVlRTWlFQklBWVFEaUFGUVJScUlBWkJDR29nQWlBRUlBRVF0Z0lnQmlnQ0NDRUFJQVpCRUdva0FDQUFDMGtCQVg4akFFRVFheUlHSkFBZ0JpQUJOZ0lJSUFZZ0F4QVBJQVlRTWlFQklBWVFEaUFBSUFWQkVHb2dCa0VJYWlBQ0lBUWdBUkMzQWlBR0tBSUlJUUFnQmtFUWFpUUFJQUFMU1FFQmZ5TUFRUkJySWdZa0FDQUdJQUUyQWdnZ0JpQURFQThnQmhBeUlRRWdCaEFPSUFBZ0JVRVlhaUFHUVFocUlBSWdCQ0FCRUxnQ0lBWW9BZ2doQUNBR1FSQnFKQUFnQUFzdEFDQUFJQUVnQWlBRElBUWdCU0FBUVFocUlBQW9BZ2dvQWhRUkFBQWlBQkFOSUFBUURTQUFFQWxxRUdFTFB3RUJmeU1BUVJCcklnWWtBQ0FHUXFXUTZhblN5YzZTMHdBM0F3Z2dBQ0FCSUFJZ0F5QUVJQVVnQmtFSWFpQUdRUkJxSWdFUVlTRUFJQUVrQUNBQUM2NEJBUVYvSXdCQjBBRnJJZ0FrQUNBQVFZdlJBQzhBQURzQnpBRWdBRUdIMFFBb0FBQTJBc2dCRUJZaEJpQUFJQVEyQWdBZ0FFR3dBV29pQnlBSElBZEJGQ0FHSUFCQnlBRnFJQUFRTENJSWFpSUVJQUlRUHlFR0lBQkJFR29pQlNBQ0VBOGdCUkE3SVFrZ0JSQU9JQWtnQnlBRUlBVVFZeUFCSUFVZ0NFRUNkQ0FGYWlJQklBWWdBR3RCQW5RZ0FHcEJzQVZySUFRZ0JrWWJJQUVnQWlBREVHSWhBU0FBUWRBQmFpUUFJQUVMZ0FRQkIzOGpBRUd3QTJzaUFDUUFJQUJDSlRjRHFBTWdBRUdvQTJwQkFYSkJqeDRnQWlnQ0JCQ3ZBU0VJSUFBZ0FFR0FBMm8yQXZ3Q0VCWWhCZ0ovSUFnRVFDQUNLQUlJSVFjZ0FFRkFheUFGTndNQUlBQWdCRGNET0NBQUlBYzJBakFnQUVHQUEycEJIaUFHSUFCQnFBTnFJQUJCTUdvUUxBd0JDeUFBSUFRM0ExQWdBQ0FGTndOWUlBQkJnQU5xUVI0Z0JpQUFRYWdEYWlBQVFkQUFhaEFzQ3lFR0lBQkJOVFlDZ0FFZ0FFSHdBbXBCQUNBQVFZQUJhaEFlSVFrZ0FFR0FBMm9pQ2lFSEFrQWdCa0VlVGdSQUVCWWhCZ0ovSUFnRVFDQUNLQUlJSVFjZ0FDQUZOd01RSUFBZ0JEY0RDQ0FBSUFjMkFnQWdBRUg4QW1vZ0JpQUFRYWdEYWlBQUVGb01BUXNnQUNBRU53TWdJQUFnQlRjREtDQUFRZndDYWlBR0lBQkJxQU5xSUFCQklHb1FXZ3NpQmtGL1JnMEJJQWtnQUNnQy9BSVFKeUFBS0FMOEFpRUhDeUFISUFZZ0Iyb2lDeUFDRUQ4aERDQUFRVFUyQW9BQklBQkIrQUJxUVFBZ0FFR0FBV29RSGlFSEFrQWdBQ2dDL0FJZ0FFR0FBMnBHQkVBZ0FFR0FBV29oQmd3QkN5QUdRUU4wRUJraUJrVU5BU0FISUFZUUp5QUFLQUw4QWlFS0N5QUFRZWdBYWlJSUlBSVFEeUFLSUF3Z0N5QUdJQUJCOUFCcUlBQkI4QUJxSUFnUXVnSWdDQkFPSUFFZ0JpQUFLQUowSUFBb0FuQWdBaUFERUdJaEFTQUhFQjBnQ1JBZElBQkJzQU5xSkFBZ0FROExFQmNBQzl3REFRZC9Jd0JCZ0FOcklnQWtBQ0FBUWlVM0EvZ0NJQUJCK0FKcVFRRnlRYVFmSUFJb0FnUVFyd0VoQnlBQUlBQkIwQUpxTmdMTUFoQVdJUVVDZnlBSEJFQWdBaWdDQ0NFR0lBQWdCRGtES0NBQUlBWTJBaUFnQUVIUUFtcEJIaUFGSUFCQitBSnFJQUJCSUdvUUxBd0JDeUFBSUFRNUF6QWdBRUhRQW1wQkhpQUZJQUJCK0FKcUlBQkJNR29RTEFzaEJTQUFRVFUyQWxBZ0FFSEFBbXBCQUNBQVFkQUFhaEFlSVFnZ0FFSFFBbW9pQ1NFR0FrQWdCVUVlVGdSQUVCWWhCUUovSUFjRVFDQUNLQUlJSVFZZ0FDQUVPUU1JSUFBZ0JqWUNBQ0FBUWN3Q2FpQUZJQUJCK0FKcUlBQVFXZ3dCQ3lBQUlBUTVBeEFnQUVITUFtb2dCU0FBUWZnQ2FpQUFRUkJxRUZvTElnVkJmMFlOQVNBSUlBQW9Bc3dDRUNjZ0FDZ0N6QUloQmdzZ0JpQUZJQVpxSWdvZ0FoQS9JUXNnQUVFMU5nSlFJQUJCeUFCcVFRQWdBRUhRQUdvUUhpRUdBa0FnQUNnQ3pBSWdBRUhRQW1wR0JFQWdBRUhRQUdvaEJRd0JDeUFGUVFOMEVCa2lCVVVOQVNBR0lBVVFKeUFBS0FMTUFpRUpDeUFBUVRocUlnY2dBaEFQSUFrZ0N5QUtJQVVnQUVIRUFHb2dBRUZBYXlBSEVMb0NJQWNRRGlBQklBVWdBQ2dDUkNBQUtBSkFJQUlnQXhCaUlRRWdCaEFkSUFnUUhTQUFRWUFEYWlRQUlBRVBDeEFYQUF1aUFRRUVmeU1BUVlBQ2F5SUFKQUFnQUVJbE53UDRBU0FBUWZnQmFpSUdRUUZ5UWRNY1FRQWdBaWdDQkJCdEVCWWhCeUFBSUFRM0F3QWdBRUhnQVdvaUJTQUZRUmdnQnlBR0lBQVFMQ0FGYWlJSElBSVFQeUVJSUFCQkVHb2lCaUFDRUE4Z0JTQUlJQWNnQUVFZ2FpSUZJQUJCSEdvZ0FFRVlhaUFHRUs0QklBWVFEaUFCSUFVZ0FDZ0NIQ0FBS0FJWUlBSWdBeEJpSVFFZ0FFR0FBbW9rQUNBQkM3UUJBUU4vSXdCQm9BRnJJZ0FrQUNBQVFZWFJBQzhBQURzQm5BRWdBRUdCMFFBb0FBQTJBcGdCSUFCQm1BRnFJZ1ZCQVhKQjJoeEJBQ0FDS0FJRUVHMFFGaUVHSUFBZ0JEWUNBQ0FBUVlzQmFpSUVJQVJCRFNBR0lBVWdBQkFzSUFScUlnWWdBaEEvSVFjZ0FFRVFhaUlGSUFJUUR5QUVJQWNnQmlBQVFTQnFJZ1FnQUVFY2FpQUFRUmhxSUFVUXJnRWdCUkFPSUFFZ0JDQUFLQUljSUFBb0FoZ2dBaUFERUdJaEFTQUFRYUFCYWlRQUlBRUxvZ0VCQkg4akFFR0FBbXNpQUNRQUlBQkNKVGNEK0FFZ0FFSDRBV29pQmtFQmNrSFRIRUVCSUFJb0FnUVFiUkFXSVFjZ0FDQUVOd01BSUFCQjRBRnFJZ1VnQlVFWUlBY2dCaUFBRUN3Z0JXb2lCeUFDRUQ4aENDQUFRUkJxSWdZZ0FoQVBJQVVnQ0NBSElBQkJJR29pQlNBQVFSeHFJQUJCR0dvZ0JoQ3VBU0FHRUE0Z0FTQUZJQUFvQWh3Z0FDZ0NHQ0FDSUFNUVlpRUJJQUJCZ0FKcUpBQWdBUXNXQUVHZ2dRRkJ4SUVCS0FJQUlBSWdBQ0FCRU9ZQkM3UUJBUU4vSXdCQm9BRnJJZ0FrQUNBQVFZWFJBQzhBQURzQm5BRWdBRUdCMFFBb0FBQTJBcGdCSUFCQm1BRnFJZ1ZCQVhKQjJoeEJBU0FDS0FJRUVHMFFGaUVHSUFBZ0JEWUNBQ0FBUVlzQmFpSUVJQVJCRFNBR0lBVWdBQkFzSUFScUlnWWdBaEEvSVFjZ0FFRVFhaUlGSUFJUUR5QUVJQWNnQmlBQVFTQnFJZ1FnQUVFY2FpQUFRUmhxSUFVUXJnRWdCUkFPSUFFZ0JDQUFLQUljSUFBb0FoZ2dBaUFERUdJaEFTQUFRYUFCYWlRQUlBRUx6UUVCQVg4akFFRXdheUlGSkFBZ0JTQUJOZ0lvQWtBZ0FpZ0NCRUVCY1VVRVFDQUFJQUVnQWlBRElBUWdBQ2dDQUNnQ0dCRUdBQ0VDREFFTElBVkJHR29pQUNBQ0VBOGdBQkNNQVNFQklBQVFEZ0pBSUFRRVFDQUZRUmhxSUFFUVN3d0JDeUFGUVJocUlBRVFTZ3NnQlNBRlFSaHFFRUEyQWhBRFFDQUZJQVZCR0dvUWJEWUNDQ0FGUVJCcUlBVkJDR29RV3dSQUlBVkJLR29nQlVFUWFpSUFLQUlBS0FJQUVQY0NJQUFRbFFFTUFRVWdCU2dDS0NFQ0lBVkJHR29RQ2hvTEN3c2dCVUV3YWlRQUlBSUxwQUVCQlg4akFFSGdBR3NpQUNRQUlBQkJpOUVBTHdBQU93RmNJQUJCaDlFQUtBQUFOZ0pZRUJZaEJpQUFJQVEyQWdBZ0FFRkFheUlISUFjZ0IwRVVJQVlnQUVIWUFHb2dBQkFzSWdocUlnUWdBaEEvSVFZZ0FFRVFhaUlGSUFJUUR5QUZFREloQ1NBRkVBNGdDU0FISUFRZ0JSQnZJQUVnQlNBRklBaHFJZ0VnQmlBQWF5QUFha0V3YXlBRUlBWkdHeUFCSUFJZ0F4QldJUUVnQUVIZ0FHb2tBQ0FCQzRBRUFRZC9Jd0JCZ0FKcklnQWtBQ0FBUWlVM0EvZ0JJQUJCK0FGcVFRRnlRWThlSUFJb0FnUVFyd0VoQ0NBQUlBQkIwQUZxTmdMTUFSQVdJUVlDZnlBSUJFQWdBaWdDQ0NFSElBQkJRR3NnQlRjREFDQUFJQVEzQXpnZ0FDQUhOZ0l3SUFCQjBBRnFRUjRnQmlBQVFmZ0JhaUFBUVRCcUVDd01BUXNnQUNBRU53TlFJQUFnQlRjRFdDQUFRZEFCYWtFZUlBWWdBRUg0QVdvZ0FFSFFBR29RTEFzaEJpQUFRVFUyQW9BQklBQkJ3QUZxUVFBZ0FFR0FBV29RSGlFSklBQkIwQUZxSWdvaEJ3SkFJQVpCSGs0RVFCQVdJUVlDZnlBSUJFQWdBaWdDQ0NFSElBQWdCVGNERUNBQUlBUTNBd2dnQUNBSE5nSUFJQUJCekFGcUlBWWdBRUg0QVdvZ0FCQmFEQUVMSUFBZ0JEY0RJQ0FBSUFVM0F5Z2dBRUhNQVdvZ0JpQUFRZmdCYWlBQVFTQnFFRm9MSWdaQmYwWU5BU0FKSUFBb0Fzd0JFQ2NnQUNnQ3pBRWhCd3NnQnlBR0lBZHFJZ3NnQWhBL0lRd2dBRUUxTmdLQUFTQUFRZmdBYWtFQUlBQkJnQUZxRUI0aEJ3SkFJQUFvQXN3QklBQkIwQUZxUmdSQUlBQkJnQUZxSVFZTUFRc2dCa0VCZEJBWklnWkZEUUVnQnlBR0VDY2dBQ2dDekFFaENnc2dBRUhvQUdvaUNDQUNFQThnQ2lBTUlBc2dCaUFBUWZRQWFpQUFRZkFBYWlBSUVMd0NJQWdRRGlBQklBWWdBQ2dDZENBQUtBSndJQUlnQXhCV0lRRWdCeEFkSUFrUUhTQUFRWUFDYWlRQUlBRVBDeEFYQUF2Y0F3RUhmeU1BUWRBQmF5SUFKQUFnQUVJbE53UElBU0FBUWNnQmFrRUJja0drSHlBQ0tBSUVFSzhCSVFjZ0FDQUFRYUFCYWpZQ25BRVFGaUVGQW44Z0J3UkFJQUlvQWdnaEJpQUFJQVE1QXlnZ0FDQUdOZ0lnSUFCQm9BRnFRUjRnQlNBQVFjZ0JhaUFBUVNCcUVDd01BUXNnQUNBRU9RTXdJQUJCb0FGcVFSNGdCU0FBUWNnQmFpQUFRVEJxRUN3TElRVWdBRUUxTmdKUUlBQkJrQUZxUVFBZ0FFSFFBR29RSGlFSUlBQkJvQUZxSWdraEJnSkFJQVZCSGs0RVFCQVdJUVVDZnlBSEJFQWdBaWdDQ0NFR0lBQWdCRGtEQ0NBQUlBWTJBZ0FnQUVHY0FXb2dCU0FBUWNnQmFpQUFFRm9NQVFzZ0FDQUVPUU1RSUFCQm5BRnFJQVVnQUVISUFXb2dBRUVRYWhCYUN5SUZRWDlHRFFFZ0NDQUFLQUtjQVJBbklBQW9BcHdCSVFZTElBWWdCU0FHYWlJS0lBSVFQeUVMSUFCQk5UWUNVQ0FBUWNnQWFrRUFJQUJCMEFCcUVCNGhCZ0pBSUFBb0Fwd0JJQUJCb0FGcVJnUkFJQUJCMEFCcUlRVU1BUXNnQlVFQmRCQVpJZ1ZGRFFFZ0JpQUZFQ2NnQUNnQ25BRWhDUXNnQUVFNGFpSUhJQUlRRHlBSklBc2dDaUFGSUFCQnhBQnFJQUJCUUdzZ0J4QzhBaUFIRUE0Z0FTQUZJQUFvQWtRZ0FDZ0NRQ0FDSUFNUVZpRUJJQVlRSFNBSUVCMGdBRUhRQVdva0FDQUJEd3NRRndBTG9RRUJCSDhqQUVId0FHc2lBQ1FBSUFCQ0pUY0RhQ0FBUWVnQWFpSUdRUUZ5UWRNY1FRQWdBaWdDQkJCdEVCWWhCeUFBSUFRM0F3QWdBRUhRQUdvaUJTQUZRUmdnQnlBR0lBQVFMQ0FGYWlJSElBSVFQeUVJSUFCQkVHb2lCaUFDRUE4Z0JTQUlJQWNnQUVFZ2FpSUZJQUJCSEdvZ0FFRVlhaUFHRUxBQklBWVFEaUFCSUFVZ0FDZ0NIQ0FBS0FJWUlBSWdBeEJXSVFFZ0FFSHdBR29rQUNBQkM3RUJBUU4vSXdCQjBBQnJJZ0FrQUNBQVFZWFJBQzhBQURzQlRDQUFRWUhSQUNnQUFEWUNTQ0FBUWNnQWFpSUZRUUZ5UWRvY1FRQWdBaWdDQkJCdEVCWWhCaUFBSUFRMkFnQWdBRUU3YWlJRUlBUkJEU0FHSUFVZ0FCQXNJQVJxSWdZZ0FoQS9JUWNnQUVFUWFpSUZJQUlRRHlBRUlBY2dCaUFBUVNCcUlnUWdBRUVjYWlBQVFSaHFJQVVRc0FFZ0JSQU9JQUVnQkNBQUtBSWNJQUFvQWhnZ0FpQURFRlloQVNBQVFkQUFhaVFBSUFFTG9RRUJCSDhqQUVId0FHc2lBQ1FBSUFCQ0pUY0RhQ0FBUWVnQWFpSUdRUUZ5UWRNY1FRRWdBaWdDQkJCdEVCWWhCeUFBSUFRM0F3QWdBRUhRQUdvaUJTQUZRUmdnQnlBR0lBQVFMQ0FGYWlJSElBSVFQeUVJSUFCQkVHb2lCaUFDRUE4Z0JTQUlJQWNnQUVFZ2FpSUZJQUJCSEdvZ0FFRVlhaUFHRUxBQklBWVFEaUFCSUFVZ0FDZ0NIQ0FBS0FJWUlBSWdBeEJXSVFFZ0FFSHdBR29rQUNBQkMrMFJBUTUvSXdCQndBSnJJZ1lrQUNBR0lBRWdBa0VCRU5vQ05nS1VBaUFHSUFZb0FwUUNFSklCTmdLWUFrR2orSWFyZjBHY2xNTGxmU0FFR3lFT0lBQkZJUTlCc1pmWHVub2hBUU5BQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRWlBRUh3dXQ3ZUFVd0VRQ0FBUWNpeXRkSjdUQVJBSUFCQnhzdXJpSHBNQkVBZ0FFSHQ1TEdqZUVZTkN5QUFRWXlHcDd4NVJnMEtJQUJCbDh6ZzlYbEhEUklnQmlnQ3RBSkJnSUVCYWlBR0xRQ2ZBam9BQUVHWHJNd3BJUUVNRWdzZ0FFR3hsOWU2ZWtZTkFpQUFRZXlacHVKNlJnMExJQUJCeDh1cmlIcEhEUkVnQmtIQUFtb2tBQThMSUFCQjlMZTE0bjVNQkVBZ0FFSEpzclhTZTBZTkJDQUFRWnlVd3VWOVJnMEdJQUJCalB5cnhINUhEUkVNRUFzZ0FFSDF0N1hpZmtZTkJDQUFRYVA0aHF0L1JnMEdJQUJCbDZ6TUtVY05FQ0FHS0FLMEFrRUJhaUVOUVlTMTQ4VUhJUUVNRUFzZ0FFR3UwOHpEQlV3RVFDQUFRZlRIdnRnQ1RBUkFJQTRoQVNBQVFmRzYzdDRCUmcwUklBQWhBU0FBUWVQMnJwNENSdzBSSUFaQm9BRnFFQW9hSUFZb0FxQUNHZ3dRQ3lBQVFmWEh2dGdDUmcwTUlBQkIwT0RWaHdOR0RRY2dBRUhrM2ZPM0JFY05FQ0FHS0FLMEFrR2dnUUZxSUFZdEFKOENPZ0FBUVplc3pDa2hBUXdRQ3lBQVFkeUFoTE1HVEFSQUlBQkJyOVBNd3dWR0RRc2dBRUcwMjVITUJVWU5EaUFBUVpYZytONEZSdzBRUWNTQkFTQUROZ0lBUWZHNjN0NEJJUUVNRUFzZ0FFSGRnSVN6QmtZTkRDQUFRZFhmd2ZNR1JnMEJJQUJCaExYanhRZEhEUThnQmlBTk5nSzBBa0dNaHFlOGVVR00vS3ZFZmlBR0tBSzBBaUFEU0JzaEFRd1BDMEVBSVFjZ0JpQUVRUUJLT2dDZEFrSFYzOEh6QmtISnNyWFNleUFHTFFDZEFrRUJjUnNoQVNBR0tBS1VBaUVLREE0TElBWkJpQUpxSUFZb0FwUUNFRlFpRUNFS1FRQWhDRUVBSVFrakFFRVFheUlCSkFBZ0NoQUpJUXNqQUVFUWF5SUhKQUFnQmtINEFXb2lBRUlBTndJQUlBZEJBRFlDRENBQVFRaHFJQWRCREdvUXpRRWdCMEVRYWlRQUFrQWdDMFVOQUFOQUFrQWdDaUFKRUFzdEFBQkJQVVlOQUNBS0lBa1FDeTBBQUNJSFFTdEdJQWRCSUhKQjRRQnJRUnBKQkg5QkFRVWdCeEJGUVFCSEMwRUFSM0lnQjBFdlJuSkZEUUFnQzBFQmF5RUxJQUZCREdvZ0NHb2dDaUFKRUFzdEFBQTZBQUJCQUNFSElBaEJBV29pQ0VFRVJnUkFBMEFnQVVFTWFpQUhhaUlJSUFnc0FBQVE5UUU2QUFBZ0IwRUJhaUlIUVFSSERRQUxJQUVnQVMwQUR5QUJMUUFPSWdkQkJuUnFPZ0FMSUFFZ0FTMEFEU0lJUVFSMlFRTnhJQUV0QUF4QkFuUnlPZ0FKSUFFZ0IwRUNka0VQY1NBSVFRUjBjam9BQ2tFQUlRaEJBQ0VIQTBBZ0FDQUJRUWxxSUFkcUVQUUNJQWRCQVdvaUIwRURSdzBBQ3dzZ0NVRUJhaUVKSUFzTkFRc0xJQWhGRFFBZ0NFRURUQVJBSUFGQkRHb2dDR3BCQUVFRUlBaHJFRVlhQzBFQUlRY0RRQ0FCUVF4cUlBZHFJZ2tnQ1N3QUFCRDFBVG9BQUNBSFFRRnFJZ2RCQkVjTkFBc2dBU0FCTFFBUElBRXRBQTRpQjBFR2RHbzZBQXNnQVNBQkxRQU5JZ2xCQkhaQkEzRWdBUzBBREVFQ2RISTZBQWtnQVNBSFFRSjJRUTl4SUFsQkJIUnlPZ0FLSUFoQkFrZ05BQ0FJUVFGcklRaEJBQ0VIQTBBZ0FDQUJRUWxxSUFkcUVQUUNJQWRCQVdvaUJ5QUlSdzBBQ3dzZ0FVRVFhaVFBSUFBUWlRRWhFU0FBS0FJQUlRd2dCa0d0SHlnQUFEWUM4QUVnQmtHbEh5a0FBRGNENkFFZ0JrSUFOd1BZQVNBR1FnQTNBOUFCSUFaQ0FEY0R5QUVnQmtJQU53UEFBU0FHUWdBM0E3Z0JJQVpDQURjRHNBRWdBQkNKQVNFTElBWkJzQUZxSVFvakFFRXdheUlCSkFBZ0FVRWdhaUVJSUFVZ0JCQytBaUlIQkVBZ0NFSUFOd0FBSUFoQ0FEY0FDQ0FISUFnZ0NCQ25BUXNnQmtHL0Ftb2hFaUFHUWRBQmFpRVRJQWNFZnlNQVFSQnJJZ2trQUNBQlFSQnFJZ2dnQmlrQTZBRTNBQUFnQ0NBR0tBRHdBVFlBQ0NBSVFZQ0FnQWcyQUF3Z0NVRVFhaVFBSXdCQkVHc2lDU1FBSUFzRVFDQUpJQWdwQUFBM0F3QWdDU0FJS1FBSU53TUlJQWtRNndFZ0J5QUpJQXdnQ3lBS0VJVUNDeUFKUVJCcUpBQWpBRUVRYXlJSkpBQWdBVUlBTndBQUlBRkNBRGNBQ0NBQlFTQnFJZ3dnRWtFQUlBRVF2d0VnRENBS0lBc2dBUkMvQVNBSlFnQVE3UUVnQ1VFSWNpQUxRUU4wclJEdEFTQU1JQWxCRUNBQkVMOEJJQWxCRUdva0FDQUhJQWdnQVVFUUlCTVFoUUlnQnhBUVFRQUZRWDhMR2lBQlFUQnFKQUFnQUJEdEFpQUFLQUlBQkVBZ0FDZ0NCQ0lCSUFBb0FnQWlCMGNFUUFOQUlBQVFReG9nQnlBQlFRRnJJZ0ZIRFFBTEN5QUFJQWMyQWdRZ0FCQkRHaUFBS0FJQUlRRWdBQkNGQVJvZ0FSQVFDeUFRRUFvYVFTQkJFQ0FSUVRCR0d5RUhRY215dGRKN0lRRU1EUXNnQmlBUE9nQ2VBaUFHSUFjMkFyQUNJQVlnQ2pZQ3JBSkI5YmUxNG41QmxlRDQzZ1VnQmkwQW5nSkJBWEViSVFFTURBdEJ3SUVCSUFNMkFnQkI4YnJlM2dFaEFRd0xDMEhRNE5XSEEwR2orSWFyZnlBR0tBS1lBaUFEUmhzaEFRd0tDMEhRNE5XSEEwSHQ1TEdqZUNBR0tBS3dBa0VRUmh0QjdlU3hvM2dnQmkwQW5RSkJBWEViSVFFTUNRdEJoTFhqeFFjaEFVRUFJUTBNQ0FzZ0JpQUdLQUtzQWlBR0tBSzBBbW90QUFBNkFKOENJQVl0QUo4Q0drR1h6T0QxZVVIazNmTzNCQ0FHTFFDZUFrRUJjUnNoQVF3SEN5QUdJQVpCb0FGcUlnQTJBcUFDSUFZb0FxQUNHaUFBSUFZb0Fxd0NFRlFhUWV5WnB1SjZJUUZCQUNFQ0RBWUxJQVlnQWpZQ3VBSkJyOVBNd3dWQjQvYXVuZ0lnQmlnQ3VBSWdBMGdiSVFFTUJRc2dCaUFHUVJCcUlnQTJBcVFDSUFZb0FxUUNHaUFBRU13Q0dpQUdJQVpCREdvaUNEWUNxQUlnQmlnQ3FBSWFJQVlvQXFRQ1FRaHFFTUlDSVFrZ0JrR3dBV29pQVNBR1FhQUJhaUFHS0FLNEFrRUJkQkRBQWlBSklBRVF2UUlnQVJBS0dpQUFJQWdRL1FKQjljZSsyQUpCM1lDRXN3WWdCaTBBbmdKQkFYRWJJUUVNQkFzZ0JpZ0N1QUpCZ0lFQmFpQUdLQUlNT2dBQVFiVGJrY3dGSVFFTUF3c2dCaWdDdUFKQm9JRUJhaUFHS0FJTU9nQUFRYlRia2N3RklRRU1BZ3NnQmlnQ3FBSWFJQVpCRUdvUWlnRWFJQVlvQXFRQ0dpQUdLQUs0QWlJQVFRRjBRUUp4SUFCQkFYTnFJUUpCN0ptbTRub2hBUXdCQzBISHk2dUllaUVCREFBTEFBdXhBUUVEZnlNQVFkQUFheUlBSkFBZ0FFR0YwUUF2QUFBN0FVd2dBRUdCMFFBb0FBQTJBa2dnQUVISUFHb2lCVUVCY2tIYUhFRUJJQUlvQWdRUWJSQVdJUVlnQUNBRU5nSUFJQUJCTzJvaUJDQUVRUTBnQmlBRklBQVFMQ0FFYWlJR0lBSVFQeUVISUFCQkVHb2lCU0FDRUE4Z0JDQUhJQVlnQUVFZ2FpSUVJQUJCSEdvZ0FFRVlhaUFGRUxBQklBVVFEaUFCSUFRZ0FDZ0NIQ0FBS0FJWUlBSWdBeEJXSVFFZ0FFSFFBR29rQUNBQkM4MEJBUUYvSXdCQk1Hc2lCU1FBSUFVZ0FUWUNLQUpBSUFJb0FnUkJBWEZGQkVBZ0FDQUJJQUlnQXlBRUlBQW9BZ0FvQWhnUkJnQWhBZ3dCQ3lBRlFSaHFJZ0FnQWhBUElBQVFqZ0VoQVNBQUVBNENRQ0FFQkVBZ0JVRVlhaUFCRUVzTUFRc2dCVUVZYWlBQkVFb0xJQVVnQlVFWWFoQkFOZ0lRQTBBZ0JTQUZRUmhxRUc0MkFnZ2dCVUVRYWlBRlFRaHFFRnNFUUNBRlFTaHFJQVZCRUdvaUFDZ0NBQ3dBQUJENEFpQUFFSmNCREFFRklBVW9BaWdoQWlBRlFSaHFFQW9hQ3dzTElBVkJNR29rQUNBQ0MvSUNBUUYvSXdCQjRBSnJJZ0FrQUNBQUlBSTJBdEFDSUFBZ0FUWUMyQUlnQUVIUUFXb1FFU0VHSUFCQkVHb2lBaUFERUE4Z0FoQTdRZURRQUVINjBBQWdBRUhnQVdvUVl5QUNFQTRnQUVIQUFXb1FFU0lESUFNUUV4QU1JQUFnQTBFQUVBc2lBVFlDdkFFZ0FDQUNOZ0lNSUFCQkFEWUNDQU5BQWtBZ0FFSFlBbW9nQUVIUUFtb1FOa1VOQUNBQUtBSzhBU0FERUFrZ0FXcEdCRUFnQXhBSklRSWdBeUFERUFsQkFYUVFEQ0FESUFNUUV4QU1JQUFnQWlBRFFRQVFDeUlCYWpZQ3ZBRUxJQUJCMkFKcUVDRkJFQ0FCSUFCQnZBRnFJQUJCQ0dwQkFDQUdJQUJCRUdvZ0FFRU1haUFBUWVBQmFoQ0xBUTBBSUFCQjJBSnFFQ1VhREFFTEN5QURJQUFvQXJ3QklBRnJFQXdnQXhBTklRSVFGaUVCSUFBZ0JUWUNBQ0FDSUFFZ0FCREJBa0VCUndSQUlBUkJCRFlDQUFzZ0FFSFlBbW9nQUVIUUFtb1FLQVJBSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dBQ2dDMkFJaEFTQURFQW9hSUFZUUNob2dBRUhnQW1va0FDQUJDOUlEQVFGK0l3QkJnQU5ySWdBa0FDQUFJQUkyQXZBQ0lBQWdBVFlDK0FJZ0FFSFlBV29nQXlBQVFmQUJhaUFBUWV3QmFpQUFRZWdCYWhEVUFTQUFRY2dCYWhBUklnRWdBUkFURUF3Z0FDQUJRUUFRQ3lJQ05nTEVBU0FBSUFCQklHbzJBaHdnQUVFQU5nSVlJQUJCQVRvQUZ5QUFRY1VBT2dBV0EwQUNRQ0FBUWZnQ2FpQUFRZkFDYWhBMlJRMEFJQUFvQXNRQklBRVFDU0FDYWtZRVFDQUJFQWtoQXlBQklBRVFDVUVCZEJBTUlBRWdBUkFURUF3Z0FDQURJQUZCQUJBTElnSnFOZ0xFQVFzZ0FFSDRBbW9RSVNBQVFSZHFJQUJCRm1vZ0FpQUFRY1FCYWlBQUtBTHNBU0FBS0FMb0FTQUFRZGdCYWlBQVFTQnFJQUJCSEdvZ0FFRVlhaUFBUWZBQmFoRFRBUTBBSUFCQitBSnFFQ1VhREFFTEN3SkFJQUJCMkFGcUVBbEZEUUFnQUMwQUYwVU5BQ0FBS0FJY0lnTWdBRUVnYW10Qm53RktEUUFnQUNBRFFRUnFOZ0ljSUFNZ0FDZ0NHRFlDQUFzZ0FDQUNJQUFvQXNRQklBUVF3d0lnQUNrREFDRUdJQVVnQUNrRENEY0RDQ0FGSUFZM0F3QWdBRUhZQVdvZ0FFRWdhaUFBS0FJY0lBUVFMU0FBUWZnQ2FpQUFRZkFDYWhBb0JFQWdCQ0FFS0FJQVFRSnlOZ0lBQ3lBQUtBTDRBaUVDSUFFUUNob2dBRUhZQVdvUUNob2dBRUdBQTJva0FDQUNDN3NEQUNNQVFmQUNheUlBSkFBZ0FDQUNOZ0xnQWlBQUlBRTJBdWdDSUFCQnlBRnFJQU1nQUVIZ0FXb2dBRUhjQVdvZ0FFSFlBV29RMUFFZ0FFRzRBV29RRVNJQklBRVFFeEFNSUFBZ0FVRUFFQXNpQWpZQ3RBRWdBQ0FBUVJCcU5nSU1JQUJCQURZQ0NDQUFRUUU2QUFjZ0FFSEZBRG9BQmdOQUFrQWdBRUhvQW1vZ0FFSGdBbW9RTmtVTkFDQUFLQUswQVNBQkVBa2dBbXBHQkVBZ0FSQUpJUU1nQVNBQkVBbEJBWFFRRENBQklBRVFFeEFNSUFBZ0F5QUJRUUFRQ3lJQ2FqWUN0QUVMSUFCQjZBSnFFQ0VnQUVFSGFpQUFRUVpxSUFJZ0FFRzBBV29nQUNnQzNBRWdBQ2dDMkFFZ0FFSElBV29nQUVFUWFpQUFRUXhxSUFCQkNHb2dBRUhnQVdvUTB3RU5BQ0FBUWVnQ2FoQWxHZ3dCQ3dzQ1FDQUFRY2dCYWhBSlJRMEFJQUF0QUFkRkRRQWdBQ2dDRENJRElBQkJFR3ByUVo4QlNnMEFJQUFnQTBFRWFqWUNEQ0FESUFBb0FnZzJBZ0FMSUFVZ0FpQUFLQUswQVNBRUVNUUNPUU1BSUFCQnlBRnFJQUJCRUdvZ0FDZ0NEQ0FFRUMwZ0FFSG9BbW9nQUVIZ0Ftb1FLQVJBSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dBQ2dDNkFJaEFpQUJFQW9hSUFCQnlBRnFFQW9hSUFCQjhBSnFKQUFnQWd1N0F3QWpBRUh3QW1zaUFDUUFJQUFnQWpZQzRBSWdBQ0FCTmdMb0FpQUFRY2dCYWlBRElBQkI0QUZxSUFCQjNBRnFJQUJCMkFGcUVOUUJJQUJCdUFGcUVCRWlBU0FCRUJNUURDQUFJQUZCQUJBTElnSTJBclFCSUFBZ0FFRVFhallDRENBQVFRQTJBZ2dnQUVFQk9nQUhJQUJCeFFBNkFBWURRQUpBSUFCQjZBSnFJQUJCNEFKcUVEWkZEUUFnQUNnQ3RBRWdBUkFKSUFKcVJnUkFJQUVRQ1NFRElBRWdBUkFKUVFGMEVBd2dBU0FCRUJNUURDQUFJQU1nQVVFQUVBc2lBbW8yQXJRQkN5QUFRZWdDYWhBaElBQkJCMm9nQUVFR2FpQUNJQUJCdEFGcUlBQW9BdHdCSUFBb0F0Z0JJQUJCeUFGcUlBQkJFR29nQUVFTWFpQUFRUWhxSUFCQjRBRnFFTk1CRFFBZ0FFSG9BbW9RSlJvTUFRc0xBa0FnQUVISUFXb1FDVVVOQUNBQUxRQUhSUTBBSUFBb0Fnd2lBeUFBUVJCcWEwR2ZBVW9OQUNBQUlBTkJCR28yQWd3Z0F5QUFLQUlJTmdJQUN5QUZJQUlnQUNnQ3RBRWdCQkRGQWpnQ0FDQUFRY2dCYWlBQVFSQnFJQUFvQWd3Z0JCQXRJQUJCNkFKcUlBQkI0QUpxRUNnRVFDQUVJQVFvQWdCQkFuSTJBZ0FMSUFBb0F1Z0NJUUlnQVJBS0dpQUFRY2dCYWhBS0dpQUFRZkFDYWlRQUlBSUxuUU1CQW44akFFSGdBbXNpQUNRQUlBQWdBallDMEFJZ0FDQUJOZ0xZQWlBREVGd2hCaUFESUFCQjRBRnFFSmtCSVFjZ0FFSFFBV29nQXlBQVFjd0NhaENZQVNBQVFjQUJhaEFSSWdFZ0FSQVRFQXdnQUNBQlFRQVFDeUlDTmdLOEFTQUFJQUJCRUdvMkFnd2dBRUVBTmdJSUEwQUNRQ0FBUWRnQ2FpQUFRZEFDYWhBMlJRMEFJQUFvQXJ3QklBRVFDU0FDYWtZRVFDQUJFQWtoQXlBQklBRVFDVUVCZEJBTUlBRWdBUkFURUF3Z0FDQURJQUZCQUJBTElnSnFOZ0s4QVFzZ0FFSFlBbW9RSVNBR0lBSWdBRUc4QVdvZ0FFRUlhaUFBS0FMTUFpQUFRZEFCYWlBQVFSQnFJQUJCREdvZ0J4Q0xBUTBBSUFCQjJBSnFFQ1VhREFFTEN3SkFJQUJCMEFGcUVBbEZEUUFnQUNnQ0RDSURJQUJCRUdwclFaOEJTZzBBSUFBZ0EwRUVhallDRENBRElBQW9BZ2cyQWdBTElBVWdBaUFBS0FLOEFTQUVJQVlReGdJM0F3QWdBRUhRQVdvZ0FFRVFhaUFBS0FJTUlBUVFMU0FBUWRnQ2FpQUFRZEFDYWhBb0JFQWdCQ0FFS0FJQVFRSnlOZ0lBQ3lBQUtBTFlBaUVDSUFFUUNob2dBRUhRQVdvUUNob2dBRUhnQW1va0FDQUNDNTBEQVFKL0l3QkI0QUpySWdBa0FDQUFJQUkyQXRBQ0lBQWdBVFlDMkFJZ0F4QmNJUVlnQXlBQVFlQUJhaENaQVNFSElBQkIwQUZxSUFNZ0FFSE1BbW9RbUFFZ0FFSEFBV29RRVNJQklBRVFFeEFNSUFBZ0FVRUFFQXNpQWpZQ3ZBRWdBQ0FBUVJCcU5nSU1JQUJCQURZQ0NBTkFBa0FnQUVIWUFtb2dBRUhRQW1vUU5rVU5BQ0FBS0FLOEFTQUJFQWtnQW1wR0JFQWdBUkFKSVFNZ0FTQUJFQWxCQVhRUURDQUJJQUVRRXhBTUlBQWdBeUFCUVFBUUN5SUNhallDdkFFTElBQkIyQUpxRUNFZ0JpQUNJQUJCdkFGcUlBQkJDR29nQUNnQ3pBSWdBRUhRQVdvZ0FFRVFhaUFBUVF4cUlBY1Fpd0VOQUNBQVFkZ0NhaEFsR2d3QkN3c0NRQ0FBUWRBQmFoQUpSUTBBSUFBb0Fnd2lBeUFBUVJCcWEwR2ZBVW9OQUNBQUlBTkJCR28yQWd3Z0F5QUFLQUlJTmdJQUN5QUZJQUlnQUNnQ3ZBRWdCQ0FHRU1rQ093RUFJQUJCMEFGcUlBQkJFR29nQUNnQ0RDQUVFQzBnQUVIWUFtb2dBRUhRQW1vUUtBUkFJQVFnQkNnQ0FFRUNjallDQUFzZ0FDZ0MyQUloQWlBQkVBb2FJQUJCMEFGcUVBb2FJQUJCNEFKcUpBQWdBZ3VkQXdFQ2Z5TUFRZUFDYXlJQUpBQWdBQ0FDTmdMUUFpQUFJQUUyQXRnQ0lBTVFYQ0VHSUFNZ0FFSGdBV29RbVFFaEJ5QUFRZEFCYWlBRElBQkJ6QUpxRUpnQklBQkJ3QUZxRUJFaUFTQUJFQk1RRENBQUlBRkJBQkFMSWdJMkFyd0JJQUFnQUVFUWFqWUNEQ0FBUVFBMkFnZ0RRQUpBSUFCQjJBSnFJQUJCMEFKcUVEWkZEUUFnQUNnQ3ZBRWdBUkFKSUFKcVJnUkFJQUVRQ1NFRElBRWdBUkFKUVFGMEVBd2dBU0FCRUJNUURDQUFJQU1nQVVFQUVBc2lBbW8yQXJ3QkN5QUFRZGdDYWhBaElBWWdBaUFBUWJ3QmFpQUFRUWhxSUFBb0Fzd0NJQUJCMEFGcUlBQkJFR29nQUVFTWFpQUhFSXNCRFFBZ0FFSFlBbW9RSlJvTUFRc0xBa0FnQUVIUUFXb1FDVVVOQUNBQUtBSU1JZ01nQUVFUWFtdEJud0ZLRFFBZ0FDQURRUVJxTmdJTUlBTWdBQ2dDQ0RZQ0FBc2dCU0FDSUFBb0Fyd0JJQVFnQmhES0FqY0RBQ0FBUWRBQmFpQUFRUkJxSUFBb0Fnd2dCQkF0SUFCQjJBSnFJQUJCMEFKcUVDZ0VRQ0FFSUFRb0FnQkJBbkkyQWdBTElBQW9BdGdDSVFJZ0FSQUtHaUFBUWRBQmFoQUtHaUFBUWVBQ2FpUUFJQUlMblFNQkFuOGpBRUhnQW1zaUFDUUFJQUFnQWpZQzBBSWdBQ0FCTmdMWUFpQURFRndoQmlBRElBQkI0QUZxRUprQklRY2dBRUhRQVdvZ0F5QUFRY3dDYWhDWUFTQUFRY0FCYWhBUklnRWdBUkFURUF3Z0FDQUJRUUFRQ3lJQ05nSzhBU0FBSUFCQkVHbzJBZ3dnQUVFQU5nSUlBMEFDUUNBQVFkZ0NhaUFBUWRBQ2FoQTJSUTBBSUFBb0Fyd0JJQUVRQ1NBQ2FrWUVRQ0FCRUFraEF5QUJJQUVRQ1VFQmRCQU1JQUVnQVJBVEVBd2dBQ0FESUFGQkFCQUxJZ0pxTmdLOEFRc2dBRUhZQW1vUUlTQUdJQUlnQUVHOEFXb2dBRUVJYWlBQUtBTE1BaUFBUWRBQmFpQUFRUkJxSUFCQkRHb2dCeENMQVEwQUlBQkIyQUpxRUNVYURBRUxDd0pBSUFCQjBBRnFFQWxGRFFBZ0FDZ0NEQ0lESUFCQkVHcHJRWjhCU2cwQUlBQWdBMEVFYWpZQ0RDQURJQUFvQWdnMkFnQUxJQVVnQWlBQUtBSzhBU0FFSUFZUXl3STJBZ0FnQUVIUUFXb2dBRUVRYWlBQUtBSU1JQVFRTFNBQVFkZ0NhaUFBUWRBQ2FoQW9CRUFnQkNBRUtBSUFRUUp5TmdJQUN5QUFLQUxZQWlFQ0lBRVFDaG9nQUVIUUFXb1FDaG9nQUVIZ0Ftb2tBQ0FDQyt3QkFRRi9Jd0JCSUdzaUJpUUFJQVlnQVRZQ0dBSkFJQU1vQWdSQkFYRkZCRUFnQmtGL05nSUFJQVlnQUNBQklBSWdBeUFFSUFZZ0FDZ0NBQ2dDRUJFRkFDSUJOZ0lZQWtBQ1FBSkFJQVlvQWdBT0FnQUJBZ3NnQlVFQU9nQUFEQU1MSUFWQkFUb0FBQXdDQ3lBRlFRRTZBQUFnQkVFRU5nSUFEQUVMSUFZZ0F4QVBJQVlRT3lFQklBWVFEaUFHSUFNUUR5QUdFSXdCSVFBZ0JoQU9JQVlnQUJCTElBWkJESElnQUJCS0lBVWdCa0VZYWlJRElBSWdCaUFESUFFZ0JFRUJFTElCSUFaR09nQUFJQVlvQWhnaEFRTkFJQU5CREdzUUNpSURJQVpIRFFBTEN5QUdRU0JxSkFBZ0FRdnlBZ0VCZnlNQVFaQUNheUlBSkFBZ0FDQUNOZ0tBQWlBQUlBRTJBb2dDSUFCQjBBRnFFQkVoQmlBQVFSQnFJZ0lnQXhBUElBSVFNa0hnMEFCQit0QUFJQUJCNEFGcUVHOGdBaEFPSUFCQndBRnFFQkVpQXlBREVCTVFEQ0FBSUFOQkFCQUxJZ0UyQXJ3QklBQWdBallDRENBQVFRQTJBZ2dEUUFKQUlBQkJpQUpxSUFCQmdBSnFFREZGRFFBZ0FDZ0N2QUVnQXhBSklBRnFSZ1JBSUFNUUNTRUNJQU1nQXhBSlFRRjBFQXdnQXlBREVCTVFEQ0FBSUFJZ0EwRUFFQXNpQVdvMkFyd0JDeUFBUVlnQ2FoQWZRUkFnQVNBQVFid0JhaUFBUVFocVFRQWdCaUFBUVJCcUlBQkJER29nQUVIZ0FXb1FqUUVOQUNBQVFZZ0NhaEFpR2d3QkN3c2dBeUFBS0FLOEFTQUJheEFNSUFNUURTRUNFQlloQVNBQUlBVTJBZ0FnQWlBQklBQVF3UUpCQVVjRVFDQUVRUVEyQWdBTElBQkJpQUpxSUFCQmdBSnFFQ1lFUUNBRUlBUW9BZ0JCQW5JMkFnQUxJQUFvQW9nQ0lRRWdBeEFLR2lBR0VBb2FJQUJCa0FKcUpBQWdBUXZTQXdFQmZpTUFRYUFDYXlJQUpBQWdBQ0FDTmdLUUFpQUFJQUUyQXBnQ0lBQkI0QUZxSUFNZ0FFSHdBV29nQUVIdkFXb2dBRUh1QVdvUTF3RWdBRUhRQVdvUUVTSUJJQUVRRXhBTUlBQWdBVUVBRUFzaUFqWUN6QUVnQUNBQVFTQnFOZ0ljSUFCQkFEWUNHQ0FBUVFFNkFCY2dBRUhGQURvQUZnTkFBa0FnQUVHWUFtb2dBRUdRQW1vUU1VVU5BQ0FBS0FMTUFTQUJFQWtnQW1wR0JFQWdBUkFKSVFNZ0FTQUJFQWxCQVhRUURDQUJJQUVRRXhBTUlBQWdBeUFCUVFBUUN5SUNhallDekFFTElBQkJtQUpxRUI4Z0FFRVhhaUFBUVJacUlBSWdBRUhNQVdvZ0FDd0E3d0VnQUN3QTdnRWdBRUhnQVdvZ0FFRWdhaUFBUVJ4cUlBQkJHR29nQUVId0FXb1ExZ0VOQUNBQVFaZ0NhaEFpR2d3QkN3c0NRQ0FBUWVBQmFoQUpSUTBBSUFBdEFCZEZEUUFnQUNnQ0hDSURJQUJCSUdwclFaOEJTZzBBSUFBZ0EwRUVhallDSENBRElBQW9BaGcyQWdBTElBQWdBaUFBS0FMTUFTQUVFTU1DSUFBcEF3QWhCaUFGSUFBcEF3ZzNBd2dnQlNBR053TUFJQUJCNEFGcUlBQkJJR29nQUNnQ0hDQUVFQzBnQUVHWUFtb2dBRUdRQW1vUUpnUkFJQVFnQkNnQ0FFRUNjallDQUFzZ0FDZ0NtQUloQWlBQkVBb2FJQUJCNEFGcUVBb2FJQUJCb0FKcUpBQWdBZ3U3QXdBakFFR1FBbXNpQUNRQUlBQWdBallDZ0FJZ0FDQUJOZ0tJQWlBQVFkQUJhaUFESUFCQjRBRnFJQUJCM3dGcUlBQkIzZ0ZxRU5jQklBQkJ3QUZxRUJFaUFTQUJFQk1RRENBQUlBRkJBQkFMSWdJMkFyd0JJQUFnQUVFUWFqWUNEQ0FBUVFBMkFnZ2dBRUVCT2dBSElBQkJ4UUE2QUFZRFFBSkFJQUJCaUFKcUlBQkJnQUpxRURGRkRRQWdBQ2dDdkFFZ0FSQUpJQUpxUmdSQUlBRVFDU0VESUFFZ0FSQUpRUUYwRUF3Z0FTQUJFQk1RRENBQUlBTWdBVUVBRUFzaUFtbzJBcndCQ3lBQVFZZ0NhaEFmSUFCQkIyb2dBRUVHYWlBQ0lBQkJ2QUZxSUFBc0FOOEJJQUFzQU40QklBQkIwQUZxSUFCQkVHb2dBRUVNYWlBQVFRaHFJQUJCNEFGcUVOWUJEUUFnQUVHSUFtb1FJaG9NQVFzTEFrQWdBRUhRQVdvUUNVVU5BQ0FBTFFBSFJRMEFJQUFvQWd3aUF5QUFRUkJxYTBHZkFVb05BQ0FBSUFOQkJHbzJBZ3dnQXlBQUtBSUlOZ0lBQ3lBRklBSWdBQ2dDdkFFZ0JCREVBamtEQUNBQVFkQUJhaUFBUVJCcUlBQW9BZ3dnQkJBdElBQkJpQUpxSUFCQmdBSnFFQ1lFUUNBRUlBUW9BZ0JCQW5JMkFnQUxJQUFvQW9nQ0lRSWdBUkFLR2lBQVFkQUJhaEFLR2lBQVFaQUNhaVFBSUFJTHV3TUFJd0JCa0FKcklnQWtBQ0FBSUFJMkFvQUNJQUFnQVRZQ2lBSWdBRUhRQVdvZ0F5QUFRZUFCYWlBQVFkOEJhaUFBUWQ0QmFoRFhBU0FBUWNBQmFoQVJJZ0VnQVJBVEVBd2dBQ0FCUVFBUUN5SUNOZ0s4QVNBQUlBQkJFR28yQWd3Z0FFRUFOZ0lJSUFCQkFUb0FCeUFBUWNVQU9nQUdBMEFDUUNBQVFZZ0NhaUFBUVlBQ2FoQXhSUTBBSUFBb0Fyd0JJQUVRQ1NBQ2FrWUVRQ0FCRUFraEF5QUJJQUVRQ1VFQmRCQU1JQUVnQVJBVEVBd2dBQ0FESUFGQkFCQUxJZ0pxTmdLOEFRc2dBRUdJQW1vUUh5QUFRUWRxSUFCQkJtb2dBaUFBUWJ3QmFpQUFMQURmQVNBQUxBRGVBU0FBUWRBQmFpQUFRUkJxSUFCQkRHb2dBRUVJYWlBQVFlQUJhaERXQVEwQUlBQkJpQUpxRUNJYURBRUxDd0pBSUFCQjBBRnFFQWxGRFFBZ0FDMEFCMFVOQUNBQUtBSU1JZ01nQUVFUWFtdEJud0ZLRFFBZ0FDQURRUVJxTmdJTUlBTWdBQ2dDQ0RZQ0FBc2dCU0FDSUFBb0Fyd0JJQVFReFFJNEFnQWdBRUhRQVdvZ0FFRVFhaUFBS0FJTUlBUVFMU0FBUVlnQ2FpQUFRWUFDYWhBbUJFQWdCQ0FFS0FJQVFRSnlOZ0lBQ3lBQUtBS0lBaUVDSUFFUUNob2dBRUhRQVdvUUNob2dBRUdRQW1va0FDQUNDNUlEQVFGL0l3QkJrQUpySWdBa0FDQUFJQUkyQW9BQ0lBQWdBVFlDaUFJZ0F4QmNJUVlnQUVIUUFXb2dBeUFBUWY4QmFoQ2FBU0FBUWNBQmFoQVJJZ0VnQVJBVEVBd2dBQ0FCUVFBUUN5SUNOZ0s4QVNBQUlBQkJFR28yQWd3Z0FFRUFOZ0lJQTBBQ1FDQUFRWWdDYWlBQVFZQUNhaEF4UlEwQUlBQW9BcndCSUFFUUNTQUNha1lFUUNBQkVBa2hBeUFCSUFFUUNVRUJkQkFNSUFFZ0FSQVRFQXdnQUNBRElBRkJBQkFMSWdKcU5nSzhBUXNnQUVHSUFtb1FIeUFHSUFJZ0FFRzhBV29nQUVFSWFpQUFMQUQvQVNBQVFkQUJhaUFBUVJCcUlBQkJER3BCNE5BQUVJMEJEUUFnQUVHSUFtb1FJaG9NQVFzTEFrQWdBRUhRQVdvUUNVVU5BQ0FBS0FJTUlnTWdBRUVRYW10Qm53RktEUUFnQUNBRFFRUnFOZ0lNSUFNZ0FDZ0NDRFlDQUFzZ0JTQUNJQUFvQXJ3QklBUWdCaERHQWpjREFDQUFRZEFCYWlBQVFSQnFJQUFvQWd3Z0JCQXRJQUJCaUFKcUlBQkJnQUpxRUNZRVFDQUVJQVFvQWdCQkFuSTJBZ0FMSUFBb0FvZ0NJUUlnQVJBS0dpQUFRZEFCYWhBS0dpQUFRWkFDYWlRQUlBSUxKUUFnQUNnQ0JCb2dBQ0FBS0FJRVFiVi9jVFlDQkNBQUlBQW9BZ1JCQ0hJMkFnUWdBQXVTQXdFQmZ5TUFRWkFDYXlJQUpBQWdBQ0FDTmdLQUFpQUFJQUUyQW9nQ0lBTVFYQ0VHSUFCQjBBRnFJQU1nQUVIL0FXb1FtZ0VnQUVIQUFXb1FFU0lCSUFFUUV4QU1JQUFnQVVFQUVBc2lBallDdkFFZ0FDQUFRUkJxTmdJTUlBQkJBRFlDQ0FOQUFrQWdBRUdJQW1vZ0FFR0FBbW9RTVVVTkFDQUFLQUs4QVNBQkVBa2dBbXBHQkVBZ0FSQUpJUU1nQVNBQkVBbEJBWFFRRENBQklBRVFFeEFNSUFBZ0F5QUJRUUFRQ3lJQ2FqWUN2QUVMSUFCQmlBSnFFQjhnQmlBQ0lBQkJ2QUZxSUFCQkNHb2dBQ3dBL3dFZ0FFSFFBV29nQUVFUWFpQUFRUXhxUWVEUUFCQ05BUTBBSUFCQmlBSnFFQ0lhREFFTEN3SkFJQUJCMEFGcUVBbEZEUUFnQUNnQ0RDSURJQUJCRUdwclFaOEJTZzBBSUFBZ0EwRUVhallDRENBRElBQW9BZ2cyQWdBTElBVWdBaUFBS0FLOEFTQUVJQVlReVFJN0FRQWdBRUhRQVdvZ0FFRVFhaUFBS0FJTUlBUVFMU0FBUVlnQ2FpQUFRWUFDYWhBbUJFQWdCQ0FFS0FJQVFRSnlOZ0lBQ3lBQUtBS0lBaUVDSUFFUUNob2dBRUhRQVdvUUNob2dBRUdRQW1va0FDQUNDNUlEQVFGL0l3QkJrQUpySWdBa0FDQUFJQUkyQW9BQ0lBQWdBVFlDaUFJZ0F4QmNJUVlnQUVIUUFXb2dBeUFBUWY4QmFoQ2FBU0FBUWNBQmFoQVJJZ0VnQVJBVEVBd2dBQ0FCUVFBUUN5SUNOZ0s4QVNBQUlBQkJFR28yQWd3Z0FFRUFOZ0lJQTBBQ1FDQUFRWWdDYWlBQVFZQUNhaEF4UlEwQUlBQW9BcndCSUFFUUNTQUNha1lFUUNBQkVBa2hBeUFCSUFFUUNVRUJkQkFNSUFFZ0FSQVRFQXdnQUNBRElBRkJBQkFMSWdKcU5nSzhBUXNnQUVHSUFtb1FIeUFHSUFJZ0FFRzhBV29nQUVFSWFpQUFMQUQvQVNBQVFkQUJhaUFBUVJCcUlBQkJER3BCNE5BQUVJMEJEUUFnQUVHSUFtb1FJaG9NQVFzTEFrQWdBRUhRQVdvUUNVVU5BQ0FBS0FJTUlnTWdBRUVRYW10Qm53RktEUUFnQUNBRFFRUnFOZ0lNSUFNZ0FDZ0NDRFlDQUFzZ0JTQUNJQUFvQXJ3QklBUWdCaERLQWpjREFDQUFRZEFCYWlBQVFSQnFJQUFvQWd3Z0JCQXRJQUJCaUFKcUlBQkJnQUpxRUNZRVFDQUVJQVFvQWdCQkFuSTJBZ0FMSUFBb0FvZ0NJUUlnQVJBS0dpQUFRZEFCYWhBS0dpQUFRWkFDYWlRQUlBSUxrZ01CQVg4akFFR1FBbXNpQUNRQUlBQWdBallDZ0FJZ0FDQUJOZ0tJQWlBREVGd2hCaUFBUWRBQmFpQURJQUJCL3dGcUVKb0JJQUJCd0FGcUVCRWlBU0FCRUJNUURDQUFJQUZCQUJBTElnSTJBcndCSUFBZ0FFRVFhallDRENBQVFRQTJBZ2dEUUFKQUlBQkJpQUpxSUFCQmdBSnFFREZGRFFBZ0FDZ0N2QUVnQVJBSklBSnFSZ1JBSUFFUUNTRURJQUVnQVJBSlFRRjBFQXdnQVNBQkVCTVFEQ0FBSUFNZ0FVRUFFQXNpQW1vMkFyd0JDeUFBUVlnQ2FoQWZJQVlnQWlBQVFid0JhaUFBUVFocUlBQXNBUDhCSUFCQjBBRnFJQUJCRUdvZ0FFRU1ha0hnMEFBUWpRRU5BQ0FBUVlnQ2FoQWlHZ3dCQ3dzQ1FDQUFRZEFCYWhBSlJRMEFJQUFvQWd3aUF5QUFRUkJxYTBHZkFVb05BQ0FBSUFOQkJHbzJBZ3dnQXlBQUtBSUlOZ0lBQ3lBRklBSWdBQ2dDdkFFZ0JDQUdFTXNDTmdJQUlBQkIwQUZxSUFCQkVHb2dBQ2dDRENBRUVDMGdBRUdJQW1vZ0FFR0FBbW9RSmdSQUlBUWdCQ2dDQUVFQ2NqWUNBQXNnQUNnQ2lBSWhBaUFCRUFvYUlBQkIwQUZxRUFvYUlBQkJrQUpxSkFBZ0FndlZCUUVJZnlNQVFkQUJheUlHSkFBZ0F4QVpJUWNnQmlBQ05nSzhBU0FHSUFjMkFyZ0JRYmVwbXVaOFFlbjM4dko1SUFWQkVFWWJRZW4zOHZKNUlBTkJJRVliSVFzZ0JrRWdhaUVNQTBCQnl2Zm05d0loQWdOQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQ1FidlRxYkI5VEFSQUlBSkJnc09vam54TUJFQWdBa0huK0llNWVFWU5BaUFDUWRTMytzQjRSZzBGSUFKQjZmZnk4bmxIRFFwQmc4T29qbndoQWtFQUlRY01DZ3NnQWtHRHc2aU9mRVlOQnlBQ1FZNkZzdVI4UmcwRklBSkJ0Nm1hNW54SERRa2dCaUFHUWFnQmFpSUNOZ0xBQVNBR0tBTEFBUm9nQWlBR0tBSzRBUkJVR2tHT2hiTGtmQ0VDUVFBaENBd0pDeUFDUVltQ3RPNENTZzBCSUFKQnZOT3BzSDFHRFFJZ0FrSFM0N3lTQWtZTkJTQUNRZVcvK0o4Q1J3MElJQVpCcUFGcUVBb2FJQVlvQXNBQkdndEJpb0swN2dJaEFnd0hDeUFDUWNyMzV2Y0NSd1JBSUFKQnBzZlZwZ1JHRFFZZ0FrR0tnclR1QWtjTkJ5QUdLQUs0QVJBUUlBWkIwQUZxSkFBUEN5QUdJQW8yQXNRQlFkUzMrc0I0UWJ6VHFiQjlJQVlvQXNRQklBTklHeUVDREFZTFFjU0JBU0FGTmdJQUlBQWdBU0FFSUFZb0FyZ0JJQU1RNWdFZ0N5RUNEQVVMSUFZb0FyZ0JJQVlvQXNRQmFpQUdLQUs4QVNBR0tBTEVBV290QUFBNkFBQWdCaWdDeEFGQkFXb2hDZ3dGQ3lBR0lBZzJBc2dCUWRManZKSUNRZVcvK0o4Q0lBWW9Bc2dCSUFWSUd5RUNEQU1MSUFaQkdHb2lEUkRNQWlFQ0lBd1F3Z0loQ0NBR1FRaHFJZ2tnQmtHb0FXb2dCaWdDeUFGQkFYUVF3QUlnQ0NBSkVMMENJQWtRQ2hvZ0RTQUpFUDBDSUFZb0FzZ0JRYUNCQVdvZ0JpZ0NDRG9BQUNBQ0VJb0JHaUFHS0FMSUFVRUJhaUVJUVk2RnN1UjhJUUlNQWdzZ0JpQUhOZ0xNQVVHbXg5V21CRUhuK0llNWVDQUdLQUxNQVNBRlNCc2hBZ3dCQ3lBR0tBTE1BVUdnZ1FGcUlBWW9BcmdCSUFZb0Fzd0JhaTBBQURvQUFDQUdLQUxNQVVFQmFpRUhRWVBEcUk1OElRSU1BQXNBQ3dBTDdBRUJBWDhqQUVFZ2F5SUdKQUFnQmlBQk5nSVlBa0FnQXlnQ0JFRUJjVVVFUUNBR1FYODJBZ0FnQmlBQUlBRWdBaUFESUFRZ0JpQUFLQUlBS0FJUUVRVUFJZ0UyQWhnQ1FBSkFBa0FnQmlnQ0FBNENBQUVDQ3lBRlFRQTZBQUFNQXdzZ0JVRUJPZ0FBREFJTElBVkJBVG9BQUNBRVFRUTJBZ0FNQVFzZ0JpQURFQThnQmhBeUlRRWdCaEFPSUFZZ0F4QVBJQVlRamdFaEFDQUdFQTRnQmlBQUVFc2dCa0VNY2lBQUVFb2dCU0FHUVJocUlnTWdBaUFHSUFNZ0FTQUVRUUVRdEFFZ0JrWTZBQUFnQmlnQ0dDRUJBMEFnQTBFTWF4QUtJZ01nQmtjTkFBc0xJQVpCSUdva0FDQUJDMEFCQVg5QkFDRUFBMzhnQVNBQ1JnUi9JQUFGSUFFb0FnQWdBRUVFZEdvaUFFR0FnSUNBZjNFaUEwRVlkaUFEY2lBQWN5RUFJQUZCQkdvaEFRd0JDd3NMR3dBakFFRVFheUlCSkFBZ0FDQUNJQU1RemdJZ0FVRVFhaVFBQzFRQkFuOENRQU5BSUFNZ0JFY0VRRUYvSVFBZ0FTQUNSZzBDSUFFb0FnQWlCU0FES0FJQUlnWklEUUlnQlNBR1NnUkFRUUVQQlNBRFFRUnFJUU1nQVVFRWFpRUJEQUlMQUFzTElBRWdBa2NoQUFzZ0FBdEFBUUYvUVFBaEFBTi9JQUVnQWtZRWZ5QUFCU0FCTEFBQUlBQkJCSFJxSWdCQmdJQ0FnSDl4SWdOQkdIWWdBM0lnQUhNaEFDQUJRUUZxSVFFTUFRc0xDL2NCQVFOL0lBQkZCRUJCd0lFQktBSUFJUUFqQUVFZ2F5SUVKQUJCZ0lFQklBQVF2Z0lpQlFSL0lBUWdBeWtBQURjREVDQUVJQU1wQUFnM0F4Z2dBZ1JBQTBBZ0JTQUVRUkJxSUFRUXB3RWdBa0VRSUFKQkVFa2JJUU5CQUNFQUEwQWdBQ0FCYWlJR0lBWXRBQUFnQUNBRWFpMEFBSE02QUFBZ0FFRUJhaUlBSUFOSERRQUxJQUlnQTJzaEFpQUJJQU5xSVFGQkR5RUFBMEFDUUNBQUlnTWdCRUVRYW1vaUFDQUFMUUFBUVFGcUlnQTZBQUFnQUVIL0FYRU5BQ0FEUVFGcklRQWdBdzBCQ3dzZ0FnMEFDd3NnQlJBUVFRQUZRWDhMR2lBRVFTQnFKQUFQQzBHZ2dRRkJ4SUVCS0FJQUlBTWdBU0FDRU9ZQkN4c0FJd0JCRUdzaUFTUUFJQUFnQWlBREVQTUNJQUZCRUdva0FBdGVBUU4vSUFFZ0JDQURhMm9oQlFKQUEwQWdBeUFFUndSQVFYOGhBQ0FCSUFKR0RRSWdBU3dBQUNJR0lBTXNBQUFpQjBnTkFpQUdJQWRLQkVCQkFROEZJQU5CQVdvaEF5QUJRUUZxSVFFTUFnc0FDd3NnQWlBRlJ5RUFDeUFBQzZrQkFRUi9JQUFvQWxRaUF5Z0NCQ0lGSUFBb0FoUWdBQ2dDSENJR2F5SUVJQVFnQlVzYklnUUVRQ0FES0FJQUlBWWdCQkJDR2lBRElBTW9BZ0FnQkdvMkFnQWdBeUFES0FJRUlBUnJJZ1UyQWdRTElBTW9BZ0FoQkNBRklBSWdBaUFGU3hzaUJRUkFJQVFnQVNBRkVFSWFJQU1nQXlnQ0FDQUZhaUlFTmdJQUlBTWdBeWdDQkNBRmF6WUNCQXNnQkVFQU9nQUFJQUFnQUNnQ0xDSUJOZ0ljSUFBZ0FUWUNGQ0FDQ3lrQUlBRWdBU2dDQUVFSGFrRjRjU0lCUVJCcU5nSUFJQUFnQVNrREFDQUJLUU1JRU4wQk9RTUFDN1FZQXhKL0FYd0NmaU1BUWJBRWF5SUxKQUFnQzBFQU5nSXNBa0FnQWIwaUdVSUFVd1JBUVFFaEVFSDVHaUVUSUFHYUlnRzlJUmtNQVFzZ0JFR0FFSEVFUUVFQklSQkIvQm9oRXd3QkMwSC9Ha0g2R2lBRVFRRnhJaEFiSVJNZ0VFVWhGQXNDUUNBWlFvQ0FnSUNBZ0lENC93Q0RRb0NBZ0lDQWdJRDQvd0JSQkVBZ0FFRWdJQUlnRUVFRGFpSURJQVJCLy85N2NSQXVJQUFnRXlBUUVDb2dBRUhISEVHQUhpQUZRU0J4SWdVYlFlb2NRWlllSUFVYklBRWdBV0liUVFNUUtpQUFRU0FnQWlBRElBUkJnTUFBY3hBdUlBSWdBeUFDSUFOS0d5RUpEQUVMSUF0QkVHb2hFUUpBQW44Q1FDQUJJQXRCTEdvUTNRSWlBU0FCb0NJQlJBQUFBQUFBQUFBQVlnUkFJQXNnQ3lnQ0xDSUdRUUZyTmdJc0lBVkJJSElpRGtIaEFFY05BUXdEQ3lBRlFTQnlJZzVCNFFCR0RRSWdDeWdDTENFS1FRWWdBeUFEUVFCSUd3d0JDeUFMSUFaQkhXc2lDallDTENBQlJBQUFBQUFBQUxCQm9pRUJRUVlnQXlBRFFRQklHd3NoRENBTFFUQnFJQXRCMEFKcUlBcEJBRWdiSWcwaEJ3TkFJQWNDZnlBQlJBQUFBQUFBQVBCQll5QUJSQUFBQUFBQUFBQUFabkVFUUNBQnF3d0JDMEVBQ3lJRE5nSUFJQWRCQkdvaEJ5QUJJQU80b1VRQUFBQUFaYzNOUWFJaUFVUUFBQUFBQUFBQUFHSU5BQXNDUUNBS1FRQk1CRUFnQ2lFRElBY2hCaUFOSVFnTUFRc2dEU0VJSUFvaEF3TkFJQU5CSFNBRFFSMUlHeUVEQWtBZ0IwRUVheUlHSUFoSkRRQWdBNjBoR2tJQUlSa0RRQ0FHSUJsQy8vLy8vdytESUFZMUFnQWdHb1o4SWhrZ0dVS0FsT3ZjQTRBaUdVS0FsT3ZjQTM1OVBnSUFJQVpCQkdzaUJpQUlUdzBBQ3lBWnB5SUdSUTBBSUFoQkJHc2lDQ0FHTmdJQUN3TkFJQWdnQnlJR1NRUkFJQVpCQkdzaUJ5Z0NBRVVOQVFzTElBc2dDeWdDTENBRGF5SUROZ0lzSUFZaEJ5QURRUUJLRFFBTEN5QU1RUmxxUVFsdUlRY2dBMEVBU0FSQUlBZEJBV29oRWlBT1FlWUFSaUVWQTBCQkFDQURheUlEUVFrZ0EwRUpTQnNoQ1FKQUlBWWdDRXNFUUVHQWxPdmNBeUFKZGlFV1FYOGdDWFJCZjNNaEQwRUFJUU1nQ0NFSEEwQWdCeUFESUFjb0FnQWlGeUFKZG1vMkFnQWdEeUFYY1NBV2JDRURJQWRCQkdvaUJ5QUdTUTBBQ3lBSUtBSUFJUWNnQTBVTkFTQUdJQU0yQWdBZ0JrRUVhaUVHREFFTElBZ29BZ0FoQndzZ0N5QUxLQUlzSUFscUlnTTJBaXdnRFNBSUlBZEZRUUowYWlJSUlCVWJJZ2NnRWtFQ2RHb2dCaUFHSUFkclFRSjFJQkpLR3lFR0lBTkJBRWdOQUFzTFFRQWhBd0pBSUFZZ0NFME5BQ0FOSUFoclFRSjFRUWxzSVFOQkNpRUhJQWdvQWdBaUNVRUtTUTBBQTBBZ0EwRUJhaUVESUFrZ0IwRUtiQ0lIVHcwQUN3c2dERUVBSUFNZ0RrSG1BRVliYXlBT1FlY0FSaUFNUVFCSGNXc2lCeUFHSUExclFRSjFRUWxzUVFsclNBUkFRUVJCcEFJZ0NrRUFTQnNnQzJvZ0IwR0F5QUJxSWdsQkNXMGlEMEVDZEdwQjBCOXJJUXBCQ2lFSElBa2dEMEVKYkdzaUNVRUhUQVJBQTBBZ0IwRUtiQ0VISUFsQkFXb2lDVUVJUncwQUN3c0NRQ0FLS0FJQUloSWdFaUFIYmlJVklBZHNheUlKUlNBS1FRUnFJZzhnQmtaeERRQUNRQ0FWUVFGeFJRUkFSQUFBQUFBQUFFQkRJUUVnQjBHQWxPdmNBMGNnQ0NBS1QzSU5BU0FLUVFSckxRQUFRUUZ4UlEwQkMwUUJBQUFBQUFCQVF5RUJDMFFBQUFBQUFBRGdQMFFBQUFBQUFBRHdQMFFBQUFBQUFBRDRQeUFHSUE5R0cwUUFBQUFBQUFENFB5QUpJQWRCQVhZaUQwWWJJQWtnRDBrYklSZ0NRQ0FVRFFBZ0V5MEFBRUV0UncwQUlCaWFJUmdnQVpvaEFRc2dDaUFTSUFscklnazJBZ0FnQVNBWW9DQUJZUTBBSUFvZ0J5QUphaUlETmdJQUlBTkJnSlRyM0FOUEJFQURRQ0FLUVFBMkFnQWdDQ0FLUVFScklncExCRUFnQ0VFRWF5SUlRUUEyQWdBTElBb2dDaWdDQUVFQmFpSUROZ0lBSUFOQi81UHIzQU5MRFFBTEN5QU5JQWhyUVFKMVFRbHNJUU5CQ2lFSElBZ29BZ0FpQ1VFS1NRMEFBMEFnQTBFQmFpRURJQWtnQjBFS2JDSUhUdzBBQ3dzZ0NrRUVhaUlISUFZZ0JpQUhTeHNoQmdzRFFDQUdJZ2NnQ0UwaUNVVUVRQ0FIUVFScklnWW9BZ0JGRFFFTEN3SkFJQTVCNXdCSEJFQWdCRUVJY1NFS0RBRUxJQU5CZjNOQmZ5QU1RUUVnREJzaUJpQURTaUFEUVh0S2NTSUtHeUFHYWlFTVFYOUJmaUFLR3lBRmFpRUZJQVJCQ0hFaUNnMEFRWGNoQmdKQUlBa05BQ0FIUVFScktBSUFJZzVGRFFCQkNpRUpRUUFoQmlBT1FRcHdEUUFEUUNBR0lncEJBV29oQmlBT0lBbEJDbXdpQ1hCRkRRQUxJQXBCZjNNaEJnc2dCeUFOYTBFQ2RVRUpiQ0VKSUFWQlgzRkJ4Z0JHQkVCQkFDRUtJQXdnQmlBSmFrRUpheUlHUVFBZ0JrRUFTaHNpQmlBR0lBeEtHeUVNREFFTFFRQWhDaUFNSUFNZ0NXb2dCbXBCQ1dzaUJrRUFJQVpCQUVvYklnWWdCaUFNU2hzaERBdEJmeUVKSUF4Qi9mLy8vd2RCL3YvLy93Y2dDaUFNY2lJR0cwb05BU0FNSUFaQkFFY2lFbXBCQVdvaERnSkFJQVZCWDNFaUZFSEdBRVlFUUNBRFFmLy8vLzhISUE1clNnMERJQU5CQUNBRFFRQktHeUVHREFFTElCRWdBeUFEUVI5MUlnWnFJQVp6clNBUkVJOEJJZ1pyUVFGTUJFQURRQ0FHUVFGcklnWkJNRG9BQUNBUklBWnJRUUpJRFFBTEN5QUdRUUpySWc4Z0JUb0FBQ0FHUVFGclFTMUJLeUFEUVFCSUd6b0FBQ0FSSUE5cklnWkIvLy8vL3djZ0RtdEtEUUlMSUFZZ0Rtb2lBeUFRUWYvLy8vOEhjMG9OQVNBQVFTQWdBaUFESUJCcUlnVWdCQkF1SUFBZ0V5QVFFQ29nQUVFd0lBSWdCU0FFUVlDQUJITVFMZ0pBQWtBQ1FDQVVRY1lBUmdSQUlBdEJFR29pQmtFSWNpRURJQVpCQ1hJaENpQU5JQWdnQ0NBTlN4c2lDU0VJQTBBZ0NEVUNBQ0FLRUk4QklRWUNRQ0FJSUFsSEJFQWdCaUFMUVJCcVRRMEJBMEFnQmtFQmF5SUdRVEE2QUFBZ0JpQUxRUkJxU3cwQUN3d0JDeUFHSUFwSERRQWdDMEV3T2dBWUlBTWhCZ3NnQUNBR0lBb2dCbXNRS2lBSVFRUnFJZ2dnRFUwTkFBdEJBQ0VHSUJKRkRRSWdBRUgrSGtFQkVDb2dERUVBVENBSElBaE5jZzBCQTBBZ0NEVUNBQ0FLRUk4QklnWWdDMEVRYWtzRVFBTkFJQVpCQVdzaUJrRXdPZ0FBSUFZZ0MwRVFha3NOQUFzTElBQWdCaUFNUVFrZ0RFRUpTQnNRS2lBTVFRbHJJUVlnQ0VFRWFpSUlJQWRQRFFNZ0RFRUpTaUVESUFZaERDQUREUUFMREFJTEFrQWdERUVBU0EwQUlBY2dDRUVFYWlBSElBaExHeUVKSUF0QkVHb2lBMEVKY2lFTklBTkJDSEloQXlBSUlRY0RRQ0FOSUFjMUFnQWdEUkNQQVNJR1JnUkFJQXRCTURvQUdDQURJUVlMQWtBZ0J5QUlSd1JBSUFZZ0MwRVFhazBOQVFOQUlBWkJBV3NpQmtFd09nQUFJQVlnQzBFUWFrc05BQXNNQVFzZ0FDQUdRUUVRS2lBR1FRRnFJUVpCQUNBTVFRQk1JQW9iRFFBZ0FFSCtIa0VCRUNvTElBQWdCaUFOSUFacklnWWdEQ0FHSUF4SUd4QXFJQXdnQm1zaERDQUhRUVJxSWdjZ0NVOE5BU0FNUVFCT0RRQUxDeUFBUVRBZ0RFRVNha0VTUVFBUUxpQUFJQThnRVNBUGF4QXFEQUlMSUF3aEJnc2dBRUV3SUFaQkNXcEJDVUVBRUM0TElBQkJJQ0FDSUFVZ0JFR0F3QUJ6RUM0Z0FpQUZJQUlnQlVvYklRa01BUXNnRXlBRlFScDBRUjkxUVFseGFpRU1Ba0FnQTBFTFN3MEFRUXdnQTJzaEJrUUFBQUFBQUFBd1FDRVlBMEFnR0VRQUFBQUFBQUF3UUtJaEdDQUdRUUZySWdZTkFBc2dEQzBBQUVFdFJnUkFJQmdnQVpvZ0dLR2dtaUVCREFFTElBRWdHS0FnR0tFaEFRc2dFU0FMS0FJc0lnWWdCa0VmZFNJR2FpQUdjNjBnRVJDUEFTSUdSZ1JBSUF0Qk1Eb0FEeUFMUVE5cUlRWUxJQkJCQW5JaENpQUZRU0J4SVFnZ0N5Z0NMQ0VISUFaQkFtc2lEU0FGUVE5cU9nQUFJQVpCQVd0QkxVRXJJQWRCQUVnYk9nQUFJQVJCQ0hFaEJpQUxRUkJxSVFjRFFDQUhJZ1VDZnlBQm1VUUFBQUFBQUFEZ1FXTUVRQ0FCcWd3QkMwR0FnSUNBZUFzaUIwR2dNbW90QUFBZ0NISTZBQUJCQVNBRFFRQktJQUVnQjdlaFJBQUFBQUFBQURCQW9pSUJSQUFBQUFBQUFBQUFZbklnQmh0RklBVkJBV29pQnlBTFFSQnFhMEVCUjNKRkJFQWdCVUV1T2dBQklBVkJBbW9oQndzZ0FVUUFBQUFBQUFBQUFHSU5BQXRCZnlFSlFmMy8vLzhISUFvZ0VTQU5heUlGYWlJR2F5QURTQTBBSUFCQklDQUNJQVlDZndKQUlBTkZEUUFnQnlBTFFSQnFheUlJUVFKcklBTk9EUUFnQTBFQ2Fnd0JDeUFISUF0QkVHcHJJZ2dMSWdkcUlnTWdCQkF1SUFBZ0RDQUtFQ29nQUVFd0lBSWdBeUFFUVlDQUJITVFMaUFBSUF0QkVHb2dDQkFxSUFCQk1DQUhJQWhyUVFCQkFCQXVJQUFnRFNBRkVDb2dBRUVnSUFJZ0F5QUVRWURBQUhNUUxpQUNJQU1nQWlBRFNoc2hDUXNnQzBHd0JHb2tBQ0FKQzFRQkFuOGdBU0FBS0FKVUlnRWdBVUVBSUFKQmdBSnFJZ01RM0FFaUJDQUJheUFESUFRYklnTWdBaUFDSUFOTEd5SUNFRUlhSUFBZ0FTQURhaUlETmdKVUlBQWdBellDQ0NBQUlBRWdBbW8yQWdRZ0Fnc0pBQ0FBRU9FQkVCQUxFd0FnQUNBQUtBSUFRUXhyS0FJQWFoRGlBUXNUQUNBQUlBQW9BZ0JCREdzb0FnQnFFSW9CQ3dvQUlBQkJDR3NRNGdFTENnQWdBRUVJYXhDS0FRc2FBQ0FBSUFFZ0Fpa0RDRUVBSUFNZ0FTZ0NBQ2dDRUJFV0FBc0pBQ0FBRU5BQkVCQUxsQUlDQVg4RGZpQUJLQUlZSUFFb0FpeExCRUFnQVNBQktBSVlOZ0lzQzBKL0lRZ0NRQ0FFUVJoeElnVkZJQVZCR0VZZ0EwRUJSbkZ5RFFBZ0FTZ0NMQ0lGQkVBZ0JTQUJRU0JxRUExcnJDRUdDd0pBQWtBQ1FDQUREZ01DQUFFREN5QUVRUWh4QkVBZ0FTZ0NEQ0FCS0FJSWE2d2hCd3dDQ3lBQktBSVlJQUVvQWhScnJDRUhEQUVMSUFZaEJ3c2dBaUFIZkNJQ1FnQlRJQUlnQmxWeURRQWdCRUVJY1NFREFrQWdBbEFOQUNBREJFQWdBU2dDREVVTkFnc2dCRUVRY1VVTkFDQUJLQUlZUlEwQkN5QURCRUFnQVNBQktBSUlJQUVvQWdnZ0FxZHFJQUVvQWl3UW13RUxJQVJCRUhFRVFDQUJJQUVvQWhRZ0FTZ0NIQkQyQWlBQklBS25FUFVDQ3lBQ0lRZ0xJQUFnQ0JDN0FRdURBZ0VKZnlNQVFSQnJJZ01rQUFKL0lBRkJmeEJlUlFSQUlBQW9BZ3doQkNBQUtBSUlJUVVnQUNnQ0dDQUFLQUljUmdSQVFYOGdBQzBBTUVFUWNVVU5BaG9nQUNnQ0dDRUdJQUFvQWhRaEJ5QUFLQUlzSVFnZ0FDZ0NGQ0VKSUFCQklHb2lBa0VBRUtFQklBSWdBaEFURUF3Z0FDQUNFQTBpQ2lBQ0VBa2dDbW9ROWdJZ0FDQUdJQWRyRVBVQ0lBQWdBQ2dDRkNBSUlBbHJhallDTEFzZ0F5QUFLQUlZUVFGcU5nSU1JQUFnQTBFTWFpQUFRU3hxRUhZb0FnQTJBaXdnQUMwQU1FRUljUVJBSUFBZ0FFRWdhaEFOSWdJZ0FpQUVJQVZyYWlBQUtBSXNFSnNCQ3lBQUlBRVFuQUVRL2dJTUFRc2dBUkR5QWdzaEFDQURRUkJxSkFBZ0FBdWdBUUVCZnlBQUtBSVlJQUFvQWl4TEJFQWdBQ0FBS0FJWU5nSXNDd0pBSUFBb0FnZ2dBQ2dDREU4TkFDQUJRWDhRWGdSQUlBQWdBQ2dDQ0NBQUtBSU1RUUZySUFBb0Fpd1Ftd0VnQVJEeUFnOExJQUF0QURCQkVIRkZCRUFnQVJDY0FTQUFLQUlNUVFGckxBQUFFRjVGRFFFTElBQWdBQ2dDQ0NBQUtBSU1RUUZySUFBb0Fpd1Ftd0VnQVJDY0FTRUNJQUFvQWd3Z0Fqb0FBQ0FCRHd0QmZ3dGtBQ0FBS0FJWUlBQW9BaXhMQkVBZ0FDQUFLQUlZTmdJc0N3SkFJQUF0QURCQkNIRkZEUUFnQUNnQ0VDQUFLQUlzU1FSQUlBQWdBQ2dDQ0NBQUtBSU1JQUFvQWl3UW13RUxJQUFvQWd3Z0FDZ0NFRThOQUNBQUtBSU1MQUFBRUdVUEMwRi9Dd2NBSUFBb0FnZ0xFd0FnQUNBQUtBSUFRUXhyS0FJQWFoRGpBUXNLQUNBQVFRaHJFT01CQ3hNQUlBQWdBQ2dDQUVFTWF5Z0NBR29RdUFFTENnQWdBRUVJYXhDNEFRc1RBQ0FBSUFBb0FnQkJER3NvQWdCcUVQa0NDeE1BSUFBZ0FDZ0NBRUVNYXlnQ0FHb1E1QUVMQ1FCQnlJRUJFQW9hQ3hNQUlBQWdBQ2dDQUVFTWF5Z0NBR29RaHdNTEV3QWdBQ0FBS0FJQVFReHJLQUlBYWhEbEFRdXRBUUVFZnlNQVFSQnJJZ1VrQUFOQUFrQWdBaUFFVEEwQUlBQW9BaGdpQXlBQUtBSWNJZ1pQQkVBZ0FDQUJMQUFBRUdVZ0FDZ0NBQ2dDTkJFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFGcUlRRUZJQVVnQmlBRGF6WUNEQ0FGSUFJZ0JHczJBZ2dnQlVFTWFpQUZRUWhxRUxvQklRTWdBQ2dDR0NBQklBTW9BZ0FpQXhCVklBQWdBeUFBS0FJWWFqWUNHQ0FESUFScUlRUWdBU0FEYWlFQkN3d0JDd3NnQlVFUWFpUUFJQVFMQy9KaUlnQkJnQWdMc3lXbFkyUEdoSHg4K0psM2QrNk5lM3YyRGZMeS83MXJhOWF4YjIvZVZNWEZrVkF3TUdBREFRRUNxV2Ruem4wcksxWVovdjduWXRmWHRlYXJxMDJhZG5ic1JjcktqNTJDZ2g5QXljbUpoMzE5K2hYNit1L3JXVm15eVVkSGpndnc4UHZzcmExQlo5VFVzLzJpb2wvcXI2OUZ2NXljSS9la3BGT1djbkxrVzhEQW04SzN0M1VjL2YzaHJwT1RQV29tSmt4YU5qWnNRVDgvZmdMMzkvVlB6TXlEWERRMGFQU2xwVkUwNWVYUkNQSHgrWk54Y2VKejJOaXJVekV4WWo4VkZTb01CQVFJVXNmSGxXVWpJMFpldzhPZEtCZ1lNS0dXbGpjUEJRVUt0WnFhTHdrSEJ3NDJFaElrbTRDQUd6M2k0dDhtNit2TmFTY25UczJ5c24rZmRYWHFHd2tKRXA2RGd4MTBMQ3hZTGhvYU5DMGJHemF5Ym03YzdscGF0UHVnb0Z2MlVsS2tUVHM3ZG1IVzFyZk9zN045ZXlrcFVqN2o0OTF4THk5ZWw0U0VFL1ZUVTZabzBkRzVBQUFBQUN6dDdjRmdJQ0JBSC96ODQ4aXhzWG50VzF1MnZtcHExRWJMeTQzWnZyNW5Tems1Y3Q1S1NwVFVURXlZNkZoWXNFclB6NFZyME5DN0t1L3Z4ZVdxcWs4VysvdnR4VU5EaHRkTlRacFZNek5tbElXRkVjOUZSWW9RK2ZucEJnSUNCSUYvZi83d1VGQ2dSRHc4ZUxxZm55WGpxS2hMODFGUm92NmpvMTNBUUVDQWlvK1BCYTJTa2orOG5aMGhTRGc0Y0FUMTlmSGZ2THhqd2JhMmQzWGEycTlqSVNGQ01CQVFJQnIvLytVTzgvUDliZExTdjB6TnpZRVVEQXdZTlJNVEppL3M3TVBoWDErK29wZVhOY3hFUklnNUZ4Y3VWOFRFay9LbnAxV0Nmbjc4UnowOWVxeGtaTWpuWFYyNkt4a1pNcFZ6YythZ1lHREFtSUdCR2RGUFQ1NS8zTnlqWmlJaVJINHFLbFNya0pBN2c0aUlDOHBHUm93cDd1N0gwN2k0YXp3VUZDaDUzdDZuNGw1ZXZCMExDeFoyMjl1dE8rRGcyMVl5TW1ST09qcDBIZ29LRk50SlNaSUtCZ1lNYkNRa1NPUmNYTGhkd3NLZmJ0UFR2ZStzckVPbVltTEVxSkdST2FTVmxURTM1T1RUaTNsNThqTG41OVZEeU1pTFdUYzNicmR0YmRxTWpZMEJaTlhWc2RKT1RwemdxYWxKdEd4czJQcFdWcXdIOVBUekplcnF6NjlsWmNxT2VucjA2YTZ1UnhnSUNCRFZ1cnB2aUhoNDhHOGxKVXB5TGk1Y0pCd2NPUEdtcGxmSHRMUnpVY2JHbHlQbzZNdDgzZDJobkhSMDZDRWZIejdkUzB1VzNMMjlZWWFMaXcyRmlvb1BrSEJ3NEVJK1BuekV0YlZ4cW1abXpOaElTSkFGQXdNR0FmYjI5eElPRGh5allXSENYelUxYXZsWFY2N1F1Ymxwa1lhR0YxakJ3WmtuSFIwNnVaNmVKempoNGRrVCtQanJzNWlZS3pNUkVTSzdhV25TY05uWnFZbU9qZ2VubEpRenRwdWJMU0llSGp5U2g0Y1ZJT25weVVuT3pvZi9WVldxZUNnb1VIcmYzNldQakl3RCtLR2hXWUNKaVFrWERRMGEycisvWlRIbTV0ZkdRa0tFdUdobzBNTkJRWUt3bVprcGR5MHRXaEVQRHg3THNMQjcvRlJVcU5hN3UyMDZGaFlzVUtmMFVWTmxRWDdEcEJjYWxsNG5Pc3RycXp2eFJaMGZxMWo2ckpNRDQwdFYrakFnOW0xMnJaRjJ6SWdsVEFMMS9OZmxUOWZMS3NXQVJEVW1qNk5pdFVsYXNkNW5HN29sbUE3cVJlSEEvbDBDZFMvREV2Qk1nYU9YUm8zRytkTnI1MStQQTVXY2toWHJlbTIvMmxsU2xTMkR2dFRUSVhSWUtXbmdTVVRJeVk1cWljSjFlSG1POUdzK1dKbmRjYmtudGsvaHZoZXRpUEJtckNESnREck9mUmhLMzJPQ01ScmxZRE5SbDBWL1UyTGdkMlN4aEs1cnV4eWdnZjZVS3dqNVdHaEljQm45UlkrSGJONlV0L2g3VWlQVGM2dmlBa3R5VjQ4ZjR5cXJWV1lIS091eUE4SzFMNXA3eFlhbENEZlQ4b2NvTUxLbHZ5TzZhZ01DWElJVzdTc2N6NHFTdEhtbjhQSUg4NkhpYVU3TjlOcGwxYjRGQmg5aU5OR0svcWJFblZNdU5LQlY4Nkl5NFlvRmRldjJwRG5zZ3d1cTcyQkFCcDl4WGxFUWJyMzVpaUUrUFFiZGxxNEZQdDFHdmVaTnRZMVVrUVZkeEhGdjFBWUUveFZRWUNUN21CbVg2YjNXekVOQWlYZWUyV2U5UXVpd2lJdUpCemhiR2VmYjdzaDVSd3A4b2VrUFFuekpIb1Q0QUFBQUFJT0dnQWxJN1NzeXJIQVJIazV5V216Ny93NzlWamlGRHg3VnJqMG5PUzAyWk5rUENpR21YR2pSVkZ1Yk9pNDJKTEZuQ2d3UDUxZVQwcGJ1dEo2Um14dFB4Y0NBb2lEY1lXbExkMW9XR2hJY0NycVQ0dVVxb01CRDRDSThIUmNiRWdzTkNRNnR4NHZ5dWFpMkxjaXBIaFNGR2ZGWFRBZDFyN3ZkbWU3OVlIK2pueVlCOTd6MWNsekZPMlpFTkg3N1czWXBRNHZjeGlQTGFQenR0bVB4NUxqSzNESFhFSVZqUWtBaWx4TWdFY2FFZlNSS2hmZzl1OUlSTXZtdWJhRXB4MHN2bmgzek1MTGM3RktHRGREandYZHNGck1ybWJsd3FmcElsQkVpWk9sSHhJejhxQm8vOEtEWUxIMVc3NUF6SXNkT1NZZkIwVGpaL3FMS2pEWUwxSmpQZ2ZXbUtONTZwU2FPdDlxa3Y2MC81SjA2TEEyU2VGQ2J6RjlxWWtaK1ZNSVRqZmJvdU5pUVh2YzVMdld2dzRLK2dGMmZmSlBRYWFrdDFXK3pFaVhQTzVtc3lLZDlHQkJ1WTV6b2U3czcyd2w0SnMzMEdGbHVBYmVhN0tpYVQ0TmxicFhtZnViL3FnalB2Q0htNkJYdjJadm51czQyYjByVUNaL3Exbnl3S2EreXBERXhJejhxTUpTbHhzQm1valUzdkU1MHBzcUMvTERRa09BVjJLY3pTcGdFOGZmYTdFRU9VTTEvTC9hUkY0M1dUWFpOc085RFZFMnF6TjhFbHVUanRkR2VHNGhxVExnZkxNRi9VV1ZHQk9wZW5WMDFqQUZ6ZElmNkxrRUwrMW9kWjdOUzB0dVNNMVlRNlJOSDFtMk1ZZGVhZWd5aE40NFUrRm1KUEJQcjdpZXB6alhKWWJmdDVSemhQTEZIZWxuZjBwdy9jL0pWZWM0VUdMODN4M1BxemZkVFc2cjlYeFJ2UGQrRzIwUjRnZk92eWo3RWFMa3NOQ1E0WDBDanduTERIUllNSmVLOGkwazhLRUdWRGY5eEFhZzUzck1NQ0p6a3ROaVF3VlprWVlUTGUzQzJNdFYwWEd4SVFsZTQwRklKYXRVd05xVTR2MENqbm9IejEvdDg0em1DbXkvL2h6U09RMFRFM3VuTFZIdVVNcWJDSXozdVRKVUxRdnJEVGdndW9XWW8yU1N5ZGx1aVNXMkwwU1Z5K1Baa2htaVlGdFNrWE14ZFpiYVNiSEJJVVAzdHVkcGVGVVpYcDQyZGhKRFlxd0NNdk5NSzkrUllCYml6UlFiUUxCNlB5ajhQQXNHdnZRTUJFNHByT3BFUlFVOW4zT3FYOHMvTzhMVG1jNWFzZENMbnJUV0Y0dmszNkJ4MTMyNUg4UnB4SFNuRmlXKzNZZzZxR0w0Yi9GWStTOGJTZVNDYTI4RCtlTTFhOUIvZHFET0lCOGN4c1JJUVdTZUE3RjlnVVgrcEdiVktEUzNsZXArVHlaenZvT0E3VGE0cTliREk2N3M4ZzFPWllSY3JCSDY2ZDlZbTRXa1VZMVVoREgwQkFnUUlFQ0JBZ0JzMmFXNW1hVzVwZEhrQVJtVmljblZoY25rQVNtRnVkV0Z5ZVFCS2RXeDVBRlJvZFhKelpHRjVBRlIxWlhOa1lYa0FWMlZrYm1WelpHRjVBRk5oZEhWeVpHRjVBRk4xYm1SaGVRQk5iMjVrWVhrQVJuSnBaR0Y1QUUxaGVRQWxiUzhsWkM4bGVRQXRLeUFnSURCWU1IZ0FMVEJZS3pCWUlEQllMVEI0S3pCNElEQjRBRTV2ZGdCVWFIVUFRWFZuZFhOMEFFOWpkQUJUWVhRQVFYQnlBSFpsWTNSdmNnQlBZM1J2WW1WeUFFNXZkbVZ0WW1WeUFGTmxjSFJsYldKbGNnQkVaV05sYldKbGNnQnBiM05mWW1GelpUbzZZMnhsWVhJQVRXRnlBRk5sY0FBbFNUb2xUVG9sVXlBbGNBQlRkVzRBU25WdUFITjBaRG82WlhoalpYQjBhVzl1QUY5ZlkzaGhYMmQxWVhKa1gyRmpjWFZwY21VZ1pHVjBaV04wWldRZ2NtVmpkWEp6YVhabElHbHVhWFJwWVd4cGVtRjBhVzl1QUUxdmJnQnVZVzRBU21GdUFFcDFiQUJzYkFCQmNISnBiQUJHY21rQVRXRnlZMmdBUVhWbkFHbHVaZ0FsTGpCTVpnQWxUR1lBWVd4c2IyTmhkRzl5UEZRK09qcGhiR3h2WTJGMFpTaHphWHBsWDNRZ2Jpa2dKMjRuSUdWNFkyVmxaSE1nYldGNGFXMTFiU0J6ZFhCd2IzSjBaV1FnYzJsNlpRQjBjblZsQUZSMVpRQm1ZV3h6WlFCS2RXNWxBRmRsWkFCRVpXTUFSbVZpQUNWaElDVmlJQ1ZrSUNWSU9pVk5PaVZUSUNWWkFGQlBVMGxZQUNWSU9pVk5PaVZUQUU1QlRnQlFUUUJCVFFCTVExOUJURXdBVEVGT1J3QkpUa1lBUXdBd01USXpORFUyTnpnNUFFTXVWVlJHTFRnQVlYQndYM1l5QUhkbFlsOTJNZ0JCUWtORVJVWkhTRWxLUzB4TlRrOVFVVkpUVkZWV1YxaFpXbUZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZNREV5TXpRMU5qYzRPU3N2QUM0QUtHNTFiR3dwQUZCMWNtVWdkbWx5ZEhWaGJDQm1kVzVqZEdsdmJpQmpZV3hzWldRaEFGdG9SVXVjcSs1SHlnVDBCUUFBQUFBQUFBQm9FUUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUFzQUFBQU1BQUFBRFFBQUFBNEFBQUFQQUFBQUVBQUFBQkVBQUFBSUFBQUFBQUFBQUtBUkFBQVNBQUFBRXdBQUFQai8vLy80Ly8vL29CRUFBQlFBQUFBVkFBQUFBQkFBQUJRUUFBQUVBQUFBQUFBQUFPZ1JBQUFXQUFBQUZ3QUFBUHovLy8vOC8vLy82QkVBQUJnQUFBQVpBQUFBTUJBQUFFUVFBQUFNQUFBQUFBQUFBSUFTQUFBYUFBQUFHd0FBQUFRQUFBRDQvLy8vZ0JJQUFCd0FBQUFkQUFBQTlQLy8vL1QvLy8rQUVnQUFIZ0FBQUI4QUFBQmdFQUFBREJJQUFDQVNBQUEwRWdBQVNCSUFBSWdRQUFCMEVBQUFBQUFBQU9RU0FBQWdBQUFBSVFBQUFBWUFBQUFIQUFBQUlnQUFBQ01BQUFBS0FBQUFDd0FBQUF3QUFBQWtBQUFBRGdBQUFDVUFBQUFRQUFBQUpnQUFBQUFBQUFBb0VRQUFKd0FBQUNnQUFBQk9VM1F6WDE4eU9XSmhjMmxqWDJsdmMwbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlFBQUFCZy9BQUQ4RUFBQVdCUUFBRTVUZEROZlh6SXhOV0poYzJsalgzTjBjbVZoYldKMVprbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlFBQUFBRHdQZ0FBTkJFQUFFNVRkRE5mWHpJeE0ySmhjMmxqWDJsemRISmxZVzFKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVUFBSFEvQUFCd0VRQUFBQUFBQUFFQUFBQW9FUUFBQS9ULy8wNVRkRE5mWHpJeE0ySmhjMmxqWDI5emRISmxZVzFKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVUFBSFEvQUFDNEVRQUFBQUFBQUFFQUFBQW9FUUFBQS9ULy93d0FBQUFBQUFBQW9CRUFBQklBQUFBVEFBQUE5UC8vLy9ULy8vK2dFUUFBRkFBQUFCVUFBQUFFQUFBQUFBQUFBT2dSQUFBV0FBQUFGd0FBQVB6Ly8vLzgvLy8vNkJFQUFCZ0FBQUFaQUFBQVRsTjBNMTlmTWpFMFltRnphV05mYVc5emRISmxZVzFKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVUFkRDhBQUZBU0FBQURBQUFBQWdBQUFLQVJBQUFDQUFBQTZCRUFBQUlJQUFCT1UzUXpYMTh5TVRWaVlYTnBZMTl6ZEhKcGJtZGlkV1pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlRsTmZPV0ZzYkc5allYUnZja2xqUlVWRlJRQUFBQmcvQUFDZ0VnQUFhQkVBQUVBQUFBQUFBQUFBS0JRQUFDa0FBQUFxQUFBQU9BQUFBUGovLy84b0ZBQUFLd0FBQUN3QUFBREEvLy8vd1AvLy95Z1VBQUF0QUFBQUxnQUFBUHdTQUFCZ0V3QUFuQk1BQUxBVEFBREVFd0FBMkJNQUFJZ1RBQUIwRXdBQUpCTUFBQkFUQUFCQUFBQUFBQUFBQUlBU0FBQWFBQUFBR3dBQUFEZ0FBQUQ0Ly8vL2dCSUFBQndBQUFBZEFBQUF3UC8vLzhELy8vK0FFZ0FBSGdBQUFCOEFBQUJBQUFBQUFBQUFBS0FSQUFBU0FBQUFFd0FBQU1ELy8vL0EvLy8vb0JFQUFCUUFBQUFWQUFBQU9BQUFBQUFBQUFEb0VRQUFGZ0FBQUJjQUFBREkvLy8veVAvLy8rZ1JBQUFZQUFBQUdRQUFBRTVUZEROZlh6SXhPR0poYzJsalgzTjBjbWx1WjNOMGNtVmhiVWxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWT1UxODVZV3hzYjJOaGRHOXlTV05GUlVWRkFBQUFBQmcvQUFEZ0V3QUFnQklBQUFBQUFBQllGQUFBTHdBQUFEQUFBQUJPVTNRelgxOHlPR2x2YzE5aVlYTmxSUUFBQVBBK0FBQkVGQUFBMFhTZUFGZWR2U3FBY0ZJUC8vOCtKd29BQUFCa0FBQUE2QU1BQUJBbkFBQ2doZ0VBUUVJUEFJQ1dtQUFBNGZVRkdBQUFBRFVBQUFCeEFBQUFhLy8vLzg3Ny8vK1N2Ly8vQUFBQUFBQUFBQUQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBRUNBd1FGQmdjSUNmLy8vLy8vLy84S0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSS8vLy8vLy8vd29MREEwT0R4QVJFaE1VRlJZWEdCa2FHeHdkSGg4Z0lTSWovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93QUJBZ1FIQXdZRkFBQUFBQUFBQUFJQUFNQURBQURBQkFBQXdBVUFBTUFHQUFEQUJ3QUF3QWdBQU1BSkFBREFDZ0FBd0FzQUFNQU1BQURBRFFBQXdBNEFBTUFQQUFEQUVBQUF3QkVBQU1BU0FBREFFd0FBd0JRQUFNQVZBQURBRmdBQXdCY0FBTUFZQUFEQUdRQUF3Qm9BQU1BYkFBREFIQUFBd0IwQUFNQWVBQURBSHdBQXdBQUFBTE1CQUFEREFnQUF3d01BQU1NRUFBRERCUUFBd3dZQUFNTUhBQUREQ0FBQXd3a0FBTU1LQUFEREN3QUF3d3dBQU1NTkFBRFREZ0FBd3c4QUFNTUFBQXk3QVFBTXd3SUFETU1EQUF6REJBQU0yd0FBQUFEZUVnU1ZBQUFBQVAvLy8vLy8vLy8vLy8vLy81QVdBQUFVQUFBQVF5NVZWRVl0T0FCQjRDMExBcVFXQUVHQUxndEhURU5mUTFSWlVFVUFBQUFBVEVOZlRsVk5SVkpKUXdBQVRFTmZWRWxOUlFBQUFBQUFURU5mUTA5TVRFRlVSUUFBVEVOZlRVOU9SVlJCVWxrQVRFTmZUVVZUVTBGSFJWTUFRZEF1QzBFWkFBb0FHUmtaQUFBQUFBVUFBQUFBQUFBSkFBQUFBQXNBQUFBQUFBQUFBQmtBRVFvWkdSa0RDZ2NBQVFBSkN4Z0FBQWtHQ3dBQUN3QUdHUUFBQUJrWkdRQkJvUzhMSVE0QUFBQUFBQUFBQUJrQUNnMFpHUmtBRFFBQUFnQUpEZ0FBQUFrQURnQUFEZ0JCMnk4TEFRd0FRZWN2Q3hVVEFBQUFBQk1BQUFBQUNRd0FBQUFBQUF3QUFBd0FRWlV3Q3dFUUFFR2hNQXNWRHdBQUFBUVBBQUFBQUFrUUFBQUFBQUFRQUFBUUFFSFBNQXNCRWdCQjJ6QUxIaEVBQUFBQUVRQUFBQUFKRWdBQUFBQUFFZ0FBRWdBQUdnQUFBQm9hR2dCQmtqRUxEaG9BQUFBYUdob0FBQUFBQUFBSkFFSERNUXNCRkFCQnp6RUxGUmNBQUFBQUZ3QUFBQUFKRkFBQUFBQUFGQUFBRkFCQi9URUxBUllBUVlreUN5a1ZBQUFBQUJVQUFBQUFDUllBQUFBQUFCWUFBQllBQURBeE1qTTBOVFkzT0RsQlFrTkVSVVpBR2dCQndEUUwvd0VDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FESUFJZ0FpQUNJQUlnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQVdBRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUkyQWpZQ05nSTJBallDTmdJMkFqWUNOZ0kyQVRBQk1BRXdBVEFCTUFFd0FUQUNOVUkxUWpWQ05VSTFRalZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFUQUJNQUV3QVRBQk1BRXdBaldDTllJMWdqV0NOWUkxZ2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZRXdBVEFCTUFFd0FJQVFjQTRDd0pRSGdCQjFEd0wrUU1CQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QUFBQVFBQUFBRVFBQUFCSUFBQUFUQUFBQUZBQUFBQlVBQUFBV0FBQUFGd0FBQUJnQUFBQVpBQUFBR2dBQUFCc0FBQUFjQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNFQUFBQWlBQUFBSXdBQUFDUUFBQUFsQUFBQUpnQUFBQ2NBQUFBb0FBQUFLUUFBQUNvQUFBQXJBQUFBTEFBQUFDMEFBQUF1QUFBQUx3QUFBREFBQUFBeEFBQUFNZ0FBQURNQUFBQTBBQUFBTlFBQUFEWUFBQUEzQUFBQU9BQUFBRGtBQUFBNkFBQUFPd0FBQUR3QUFBQTlBQUFBUGdBQUFEOEFBQUJBQUFBQVFRQUFBRUlBQUFCREFBQUFSQUFBQUVVQUFBQkdBQUFBUndBQUFFZ0FBQUJKQUFBQVNnQUFBRXNBQUFCTUFBQUFUUUFBQUU0QUFBQlBBQUFBVUFBQUFGRUFBQUJTQUFBQVV3QUFBRlFBQUFCVkFBQUFWZ0FBQUZjQUFBQllBQUFBV1FBQUFGb0FBQUJiQUFBQVhBQUFBRjBBQUFCZUFBQUFYd0FBQUdBQUFBQkJBQUFBUWdBQUFFTUFBQUJFQUFBQVJRQUFBRVlBQUFCSEFBQUFTQUFBQUVrQUFBQktBQUFBU3dBQUFFd0FBQUJOQUFBQVRnQUFBRThBQUFCUUFBQUFVUUFBQUZJQUFBQlRBQUFBVkFBQUFGVUFBQUJXQUFBQVZ3QUFBRmdBQUFCWkFBQUFXZ0FBQUhzQUFBQjhBQUFBZlFBQUFINEFBQUIvQUVIUXhBQUxBbUFrQUVIa3lBQUwrUU1CQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QUFBQVFBQUFBRVFBQUFCSUFBQUFUQUFBQUZBQUFBQlVBQUFBV0FBQUFGd0FBQUJnQUFBQVpBQUFBR2dBQUFCc0FBQUFjQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNFQUFBQWlBQUFBSXdBQUFDUUFBQUFsQUFBQUpnQUFBQ2NBQUFBb0FBQUFLUUFBQUNvQUFBQXJBQUFBTEFBQUFDMEFBQUF1QUFBQUx3QUFBREFBQUFBeEFBQUFNZ0FBQURNQUFBQTBBQUFBTlFBQUFEWUFBQUEzQUFBQU9BQUFBRGtBQUFBNkFBQUFPd0FBQUR3QUFBQTlBQUFBUGdBQUFEOEFBQUJBQUFBQVlRQUFBR0lBQUFCakFBQUFaQUFBQUdVQUFBQm1BQUFBWndBQUFHZ0FBQUJwQUFBQWFnQUFBR3NBQUFCc0FBQUFiUUFBQUc0QUFBQnZBQUFBY0FBQUFIRUFBQUJ5QUFBQWN3QUFBSFFBQUFCMUFBQUFkZ0FBQUhjQUFBQjRBQUFBZVFBQUFIb0FBQUJiQUFBQVhBQUFBRjBBQUFCZUFBQUFYd0FBQUdBQUFBQmhBQUFBWWdBQUFHTUFBQUJrQUFBQVpRQUFBR1lBQUFCbkFBQUFhQUFBQUdrQUFBQnFBQUFBYXdBQUFHd0FBQUJ0QUFBQWJnQUFBRzhBQUFCd0FBQUFjUUFBQUhJQUFBQnpBQUFBZEFBQUFIVUFBQUIyQUFBQWR3QUFBSGdBQUFCNUFBQUFlZ0FBQUhzQUFBQjhBQUFBZlFBQUFINEFBQUIvQUVIZzBBQUx3UUV3TVRJek5EVTJOemc1WVdKalpHVm1RVUpEUkVWR2VGZ3JMWEJRYVVsdVRnQWxBQUFBQUFBbGNBQUFBQUFsU1RvbFRUb2xVeUFsY0NWSU9pVk5BQUFBSlFBQUFHMEFBQUF2QUFBQUpRQUFBR1FBQUFBdkFBQUFKUUFBQUhrQUFBQWxBQUFBV1FBQUFDMEFBQUFsQUFBQWJRQUFBQzBBQUFBbEFBQUFaQUFBQUNVQUFBQkpBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQndBQUFBQUFBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFFR3cwZ0FMMlFNbEFBQUFTQUFBQURvQUFBQWxBQUFBVFFBQUFEb0FBQUFsQUFBQVV3QUFBQUFBQUFDMExRQUFSd0FBQUVnQUFBQkpBQUFBQUFBQUFCUXVBQUJLQUFBQVN3QUFBRWtBQUFCTUFBQUFUUUFBQUU0QUFBQlBBQUFBVUFBQUFGRUFBQUJTQUFBQVV3QUFBQUFBQUFCOExRQUFWQUFBQUZVQUFBQkpBQUFBVmdBQUFGY0FBQUJZQUFBQVdRQUFBRm9BQUFCYkFBQUFYQUFBQUFBQUFBQk1MZ0FBWFFBQUFGNEFBQUJKQUFBQVh3QUFBR0FBQUFCaEFBQUFZZ0FBQUdNQUFBQUFBQUFBY0M0QUFHUUFBQUJsQUFBQVNRQUFBR1lBQUFCbkFBQUFhQUFBQUdrQUFBQnFBQUFBZEFBQUFISUFBQUIxQUFBQVpRQUFBQUFBQUFCbUFBQUFZUUFBQUd3QUFBQnpBQUFBWlFBQUFBQUFBQUFsQUFBQWJRQUFBQzhBQUFBbEFBQUFaQUFBQUM4QUFBQWxBQUFBZVFBQUFBQUFBQUFsQUFBQVNBQUFBRG9BQUFBbEFBQUFUUUFBQURvQUFBQWxBQUFBVXdBQUFBQUFBQUFsQUFBQVlRQUFBQ0FBQUFBbEFBQUFZZ0FBQUNBQUFBQWxBQUFBWkFBQUFDQUFBQUFsQUFBQVNBQUFBRG9BQUFBbEFBQUFUUUFBQURvQUFBQWxBQUFBVXdBQUFDQUFBQUFsQUFBQVdRQUFBQUFBQUFBbEFBQUFTUUFBQURvQUFBQWxBQUFBVFFBQUFEb0FBQUFsQUFBQVV3QUFBQ0FBQUFBbEFBQUFjQUJCbE5ZQUM1WUpQQ3NBQUdzQUFBQnNBQUFBU1FBQUFFNVRkRE5mWHpJMmJHOWpZV3hsTldaaFkyVjBSUUFBQUJnL0FBQWtLd0FBZ0Q0QUFBQUFBQUM4S3dBQWF3QUFBRzBBQUFCSkFBQUFiZ0FBQUc4QUFBQndBQUFBY1FBQUFISUFBQUJ6QUFBQWRBQUFBSFVBQUFCMkFBQUFkd0FBQUhnQUFBQjVBQUFBVGxOME0xOWZNalZqZEhsd1pVbDNSVVVBVGxOME0xOWZNakV3WTNSNWNHVmZZbUZ6WlVVQUFQQStBQUNlS3dBQWREOEFBSXdyQUFBQUFBQUFBZ0FBQUR3ckFBQUNBQUFBdENzQUFBSUFBQUFBQUFBQVVDd0FBR3NBQUFCNkFBQUFTUUFBQUhzQUFBQjhBQUFBZlFBQUFINEFBQUIvQUFBQWdBQUFBSUVBQUFCT1UzUXpYMTh5TjJOdlpHVmpkblJKWTJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNakV5WTI5a1pXTjJkRjlpWVhObFJRQUFBQUR3UGdBQUxpd0FBSFEvQUFBTUxBQUFBQUFBQUFJQUFBQThLd0FBQWdBQUFFZ3NBQUFDQUFBQUFBQUFBTVFzQUFCckFBQUFnZ0FBQUVrQUFBQ0RBQUFBaEFBQUFJVUFBQUNHQUFBQWh3QUFBSWdBQUFDSkFBQUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNVUnpZekV4WDE5dFluTjBZWFJsWDNSRlJRQUFkRDhBQUtBc0FBQUFBQUFBQWdBQUFEd3JBQUFDQUFBQVNDd0FBQUlBQUFBQUFBQUFPQzBBQUdzQUFBQ0tBQUFBU1FBQUFJc0FBQUNNQUFBQWpRQUFBSTRBQUFDUEFBQUFrQUFBQUpFQUFBQk9VM1F6WDE4eU4yTnZaR1ZqZG5SSlJHbGpNVEZmWDIxaWMzUmhkR1ZmZEVWRkFBQjBQd0FBRkMwQUFBQUFBQUFDQUFBQVBDc0FBQUlBQUFCSUxBQUFBZ0FBQUU1VGRETmZYekkzWTI5a1pXTjJkRWwzWXpFeFgxOXRZbk4wWVhSbFgzUkZSUUFBQUhRL0FBQllMUUFBQUFBQUFBSUFBQUE4S3dBQUFnQUFBRWdzQUFBQ0FBQUFUbE4wTTE5Zk1qWnNiMk5oYkdVMVgxOXBiWEJGQUFBQUdEOEFBSnd0QUFBOEt3QUFUbE4wTTE5Zk1qZGpiMnhzWVhSbFNXTkZSUUFZUHdBQXdDMEFBRHdyQUFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKZDBWRkFCZy9BQURnTFFBQVBDc0FBRTVUZEROZlh6STFZM1I1Y0dWSlkwVkZBQUFBZEQ4QUFBQXVBQUFBQUFBQUFnQUFBRHdyQUFBQ0FBQUF0Q3NBQUFJQUFBQk9VM1F6WDE4eU9HNTFiWEIxYm1OMFNXTkZSUUFBQUFBWVB3QUFOQzRBQUR3ckFBQk9VM1F6WDE4eU9HNTFiWEIxYm1OMFNYZEZSUUFBQUFBWVB3QUFXQzRBQUR3ckFBQUFBQUFBMUMwQUFKSUFBQUNUQUFBQVNRQUFBSlFBQUFDVkFBQUFsZ0FBQUFBQUFBRDBMUUFBbHdBQUFKZ0FBQUJKQUFBQW1RQUFBSm9BQUFDYkFBQUFBQUFBQUpBdkFBQnJBQUFBbkFBQUFFa0FBQUNkQUFBQW5nQUFBSjhBQUFDZ0FBQUFvUUFBQUtJQUFBQ2pBQUFBcEFBQUFLVUFBQUNtQUFBQXB3QUFBRTVUZEROZlh6STNiblZ0WDJkbGRFbGpUbE5mTVRscGMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGUlVVQVRsTjBNMTlmTWpsZlgyNTFiVjluWlhSSlkwVkZBRTVUZEROZlh6SXhORjlmYm5WdFgyZGxkRjlpWVhObFJRQUE4RDRBQUZZdkFBQjBQd0FBUUM4QUFBQUFBQUFCQUFBQWNDOEFBQUFBQUFCMFB3QUEvQzRBQUFBQUFBQUNBQUFBUENzQUFBSUFBQUI0THdCQnROOEFDOG9CWkRBQUFHc0FBQUNvQUFBQVNRQUFBS2tBQUFDcUFBQUFxd0FBQUt3QUFBQ3RBQUFBcmdBQUFLOEFBQUN3QUFBQXNRQUFBTElBQUFDekFBQUFUbE4wTTE5Zk1qZHVkVzFmWjJWMFNYZE9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYMmRsZEVsM1JVVUFBQUIwUHdBQU5EQUFBQUFBQUFBQkFBQUFjQzhBQUFBQUFBQjBQd0FBOEM4QUFBQUFBQUFDQUFBQVBDc0FBQUlBQUFCTU1BQkJpT0VBQzk0QlRERUFBR3NBQUFDMEFBQUFTUUFBQUxVQUFBQzJBQUFBdHdBQUFMZ0FBQUM1QUFBQXVnQUFBTHNBQUFDOEFBQUFUbE4wTTE5Zk1qZHVkVzFmY0hWMFNXTk9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYM0IxZEVsalJVVUFUbE4wTTE5Zk1qRTBYMTl1ZFcxZmNIVjBYMkpoYzJWRkFBRHdQZ0FBRWpFQUFIUS9BQUQ4TUFBQUFBQUFBQUVBQUFBc01RQUFBQUFBQUhRL0FBQzRNQUFBQUFBQUFBSUFBQUE4S3dBQUFnQUFBRFF4QUVIdzRnQUx2Z0VVTWdBQWF3QUFBTDBBQUFCSkFBQUF2Z0FBQUw4QUFBREFBQUFBd1FBQUFNSUFBQUREQUFBQXhBQUFBTVVBQUFCT1UzUXpYMTh5TjI1MWJWOXdkWFJKZDA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJVVkZBRTVUZEROZlh6STVYMTl1ZFcxZmNIVjBTWGRGUlFBQUFIUS9BQURrTVFBQUFBQUFBQUVBQUFBc01RQUFBQUFBQUhRL0FBQ2dNUUFBQUFBQUFBSUFBQUE4S3dBQUFnQUFBUHd4QUVHNDVBQUxtZ3NVTXdBQXhnQUFBTWNBQUFCSkFBQUF5QUFBQU1rQUFBREtBQUFBeXdBQUFNd0FBQUROQUFBQXpnQUFBUGovLy84VU13QUF6d0FBQU5BQUFBRFJBQUFBMGdBQUFOTUFBQURVQUFBQTFRQUFBRTVUZEROZlh6STRkR2x0WlY5blpYUkpZMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJNWRHbHRaVjlpWVhObFJRRHdQZ0FBelRJQUFFNVRkRE5mWHpJeU1GOWZkR2x0WlY5blpYUmZZMTl6ZEc5eVlXZGxTV05GUlFBQUFQQStBQURvTWdBQWREOEFBSWd5QUFBQUFBQUFBd0FBQUR3ckFBQUNBQUFBNERJQUFBSUFBQUFNTXdBQUFBZ0FBQUFBQUFBQU5BQUExZ0FBQU5jQUFBQkpBQUFBMkFBQUFOa0FBQURhQUFBQTJ3QUFBTndBQUFEZEFBQUEzZ0FBQVBqLy8vOEFOQUFBM3dBQUFPQUFBQURoQUFBQTRnQUFBT01BQUFEa0FBQUE1UUFBQUU1VGRETmZYekk0ZEdsdFpWOW5aWFJKZDA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJVVkZBRTVUZEROZlh6SXlNRjlmZEdsdFpWOW5aWFJmWTE5emRHOXlZV2RsU1hkRlJRQUE4RDRBQU5VekFBQjBQd0FBa0RNQUFBQUFBQUFEQUFBQVBDc0FBQUlBQUFEZ01nQUFBZ0FBQVBnekFBQUFDQUFBQUFBQUFLUTBBQURtQUFBQTV3QUFBRWtBQUFEb0FBQUFUbE4wTTE5Zk1qaDBhVzFsWDNCMWRFbGpUbE5mTVRsdmMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGUlVVQVRsTjBNMTlmTWpFd1gxOTBhVzFsWDNCMWRFVUFBQUR3UGdBQWhUUUFBSFEvQUFCQU5BQUFBQUFBQUFJQUFBQThLd0FBQWdBQUFKdzBBQUFBQ0FBQUFBQUFBQ1ExQUFEcEFBQUE2Z0FBQUVrQUFBRHJBQUFBVGxOME0xOWZNamgwYVcxbFgzQjFkRWwzVGxOZk1UbHZjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFBQUFBZEQ4QUFOdzBBQUFBQUFBQUFnQUFBRHdyQUFBQ0FBQUFuRFFBQUFBSUFBQUFBQUFBdURVQUFHc0FBQURzQUFBQVNRQUFBTzBBQUFEdUFBQUE3d0FBQVBBQUFBRHhBQUFBOGdBQUFQTUFBQUQwQUFBQTlRQUFBRTVUZEROZlh6SXhNRzF2Ym1WNWNIVnVZM1JKWTB4aU1FVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVWOWlZWE5sUlFBQUFBRHdQZ0FBbURVQUFIUS9BQUI4TlFBQUFBQUFBQUlBQUFBOEt3QUFBZ0FBQUxBMUFBQUNBQUFBQUFBQUFDdzJBQUJyQUFBQTlnQUFBRWtBQUFEM0FBQUErQUFBQVBrQUFBRDZBQUFBK3dBQUFQd0FBQUQ5QUFBQS9nQUFBUDhBQUFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNXTk1ZakZGUlVVQWREOEFBQkEyQUFBQUFBQUFBZ0FBQUR3ckFBQUNBQUFBc0RVQUFBSUFBQUFBQUFBQW9EWUFBR3NBQUFBQUFRQUFTUUFBQUFFQkFBQUNBUUFBQXdFQUFBUUJBQUFGQVFBQUJnRUFBQWNCQUFBSUFRQUFDUUVBQUU1VGRETmZYekl4TUcxdmJtVjVjSFZ1WTNSSmQweGlNRVZGUlFCMFB3QUFoRFlBQUFBQUFBQUNBQUFBUENzQUFBSUFBQUN3TlFBQUFnQUFBQUFBQUFBVU53QUFhd0FBQUFvQkFBQkpBQUFBQ3dFQUFBd0JBQUFOQVFBQURnRUFBQThCQUFBUUFRQUFFUUVBQUJJQkFBQVRBUUFBVGxOME0xOWZNakV3Ylc5dVpYbHdkVzVqZEVsM1RHSXhSVVZGQUhRL0FBRDROZ0FBQUFBQUFBSUFBQUE4S3dBQUFnQUFBTEExQUFBQ0FBQUFBQUFBQUxnM0FBQnJBQUFBRkFFQUFFa0FBQUFWQVFBQUZnRUFBRTVUZEROZlh6STViVzl1WlhsZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1URmZYMjF2Ym1WNVgyZGxkRWxqUlVVQUFQQStBQUNXTndBQWREOEFBRkEzQUFBQUFBQUFBZ0FBQUR3ckFBQUNBQUFBc0RjQVFkenZBQXVhQVZ3NEFBQnJBQUFBRndFQUFFa0FBQUFZQVFBQUdRRUFBRTVUZEROZlh6STViVzl1WlhsZloyVjBTWGRPVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1URmZYMjF2Ym1WNVgyZGxkRWwzUlVVQUFQQStBQUE2T0FBQWREOEFBUFEzQUFBQUFBQUFBZ0FBQUR3ckFBQUNBQUFBVkRnQVFZSHhBQXVaQVRrQUFHc0FBQUFhQVFBQVNRQUFBQnNCQUFBY0FRQUFUbE4wTTE5Zk1qbHRiMjVsZVY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZmNIVjBTV05GUlFBQThENEFBTjQ0QUFCMFB3QUFtRGdBQUFBQUFBQUNBQUFBUENzQUFBSUFBQUQ0T0FCQnBQSUFDNW9CcERrQUFHc0FBQUFkQVFBQVNRQUFBQjRCQUFBZkFRQUFUbE4wTTE5Zk1qbHRiMjVsZVY5d2RYUkpkMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZmNIVjBTWGRGUlFBQThENEFBSUk1QUFCMFB3QUFQRGtBQUFBQUFBQUNBQUFBUENzQUFBSUFBQUNjT1FCQnlQTUFDN2tJSERvQUFHc0FBQUFnQVFBQVNRQUFBQ0VCQUFBaUFRQUFJd0VBQUU1VGRETmZYekk0YldWemMyRm5aWE5KWTBWRkFFNVRkRE5mWHpJeE0yMWxjM05oWjJWelgySmhjMlZGQUFBQUFQQStBQUQ1T1FBQWREOEFBT1E1QUFBQUFBQUFBZ0FBQUR3ckFBQUNBQUFBRkRvQUFBSUFBQUFBQUFBQWREb0FBR3NBQUFBa0FRQUFTUUFBQUNVQkFBQW1BUUFBSndFQUFFNVRkRE5mWHpJNGJXVnpjMkZuWlhOSmQwVkZBQUFBQUhRL0FBQmNPZ0FBQUFBQUFBSUFBQUE4S3dBQUFnQUFBQlE2QUFBQ0FBQUFVd0FBQUhVQUFBQnVBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRTBBQUFCdkFBQUFiZ0FBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJVQUFBQWRRQUFBR1VBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGY0FBQUJsQUFBQVpBQUFBRzRBQUFCbEFBQUFjd0FBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJVQUFBQWFBQUFBSFVBQUFCeUFBQUFjd0FBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJHQUFBQWNnQUFBR2tBQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVXdBQUFHRUFBQUIwQUFBQWRRQUFBSElBQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVXdBQUFIVUFBQUJ1QUFBQUFBQUFBRTBBQUFCdkFBQUFiZ0FBQUFBQUFBQlVBQUFBZFFBQUFHVUFBQUFBQUFBQVZ3QUFBR1VBQUFCa0FBQUFBQUFBQUZRQUFBQm9BQUFBZFFBQUFBQUFBQUJHQUFBQWNnQUFBR2tBQUFBQUFBQUFVd0FBQUdFQUFBQjBBQUFBQUFBQUFFb0FBQUJoQUFBQWJnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBUmdBQUFHVUFBQUJpQUFBQWNnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBVFFBQUFHRUFBQUJ5QUFBQVl3QUFBR2dBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBYVFBQUFHd0FBQUFBQUFBQVRRQUFBR0VBQUFCNUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFHVUFBQUFBQUFBQVNnQUFBSFVBQUFCc0FBQUFlUUFBQUFBQUFBQkJBQUFBZFFBQUFHY0FBQUIxQUFBQWN3QUFBSFFBQUFBQUFBQUFVd0FBQUdVQUFBQndBQUFBZEFBQUFHVUFBQUJ0QUFBQVlnQUFBR1VBQUFCeUFBQUFBQUFBQUU4QUFBQmpBQUFBZEFBQUFHOEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFSQUFBQUdVQUFBQmpBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFTZ0FBQUdFQUFBQnVBQUFBQUFBQUFFWUFBQUJsQUFBQVlnQUFBQUFBQUFCTkFBQUFZUUFBQUhJQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUFBQUFBQktBQUFBZFFBQUFHd0FBQUFBQUFBQVFRQUFBSFVBQUFCbkFBQUFBQUFBQUZNQUFBQmxBQUFBY0FBQUFBQUFBQUJQQUFBQVl3QUFBSFFBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBQUFBQUFFUUFBQUJsQUFBQVl3QUFBQUFBQUFCQkFBQUFUUUFBQUFBQUFBQlFBQUFBVFFCQmpQd0FDK0lFRERNQUFNOEFBQURRQUFBQTBRQUFBTklBQUFEVEFBQUExQUFBQU5VQUFBQUFBQUFBK0RNQUFOOEFBQURnQUFBQTRRQUFBT0lBQUFEakFBQUE1QUFBQU9VQUFBQUFBQUFBZ0Q0QUFDZ0JBQUFwQVFBQUtnRUFBRTVUZEROZlh6SXhORjlmYzJoaGNtVmtYMk52ZFc1MFJRQUFBQUR3UGdBQVpENEFBRTR4TUY5ZlkzaDRZV0pwZGpFeE5sOWZjMmhwYlY5MGVYQmxYMmx1Wm05RkFBQUFBQmcvQUFDSVBnQUFhRUFBQUU0eE1GOWZZM2g0WVdKcGRqRXhOMTlmWTJ4aGMzTmZkSGx3WlY5cGJtWnZSUUFBQUJnL0FBQzRQZ0FBckQ0QUFBQUFBQURjUGdBQUt3RUFBQ3dCQUFBdEFRQUFMZ0VBQUM4QkFBQXdBUUFBTVFFQUFESUJBQUFBQUFBQVlEOEFBQ3NCQUFBekFRQUFMUUVBQUM0QkFBQXZBUUFBTkFFQUFEVUJBQUEyQVFBQVRqRXdYMTlqZUhoaFltbDJNVEl3WDE5emFWOWpiR0Z6YzE5MGVYQmxYMmx1Wm05RkFBQUFBQmcvQUFBNFB3QUEzRDRBQUFBQUFBQzhQd0FBS3dFQUFEY0JBQUF0QVFBQUxnRUFBQzhCQUFBNEFRQUFPUUVBQURvQkFBQk9NVEJmWDJONGVHRmlhWFl4TWpGZlgzWnRhVjlqYkdGemMxOTBlWEJsWDJsdVptOUZBQUFBR0Q4QUFKUS9BQURjUGdBQUFBQUFBT3cvQUFBN0FRQUFQQUVBQUQwQkFBQlRkRGxsZUdObGNIUnBiMjRBQUFBQThENEFBTncvQUFBQUFBQUFHRUFBQUFNQUFBQStBUUFBUHdFQUFGTjBNVEZzYjJkcFkxOWxjbkp2Y2dBWVB3QUFDRUFBQU93L0FBQUFBQUFBVEVBQUFBTUFBQUJBQVFBQVB3RUFBRk4wTVRKc1pXNW5kR2hmWlhKeWIzSUFBQUFBR0Q4QUFEaEFBQUFZUUFBQVUzUTVkSGx3WlY5cGJtWnZBQUFBQVBBK0FBQllRQUJCOElBQkN3S2dhdz09IiksTWM9ZnVuY3Rpb24oQSl7KEE9QXx8e30pLmluc3RhbnRpYXRlV2FzbT1mdW5jdGlvbihBLGcpe05jKEEpLnRoZW4oKGZ1bmN0aW9uKEEpe2coe2V4cG9ydHM6QS5leHBvcnRzfSl9KSl9O3ZhciBnLEk9dm9pZCAwIT09QT9BOnt9LEI9T2JqZWN0LmFzc2lnbixRPUIoe30sSSksQz0iLi90aGlzLnByb2dyYW0iLEU9IiI7RT0wIT09KEU9c2VsZi5sb2NhdGlvbi5ocmVmKS5pbmRleE9mKCJibG9iOiIpP0Uuc3Vic3RyKDAsRS5yZXBsYWNlKC9bPyNdLiovLCIiKS5sYXN0SW5kZXhPZigiLyIpKzEpOiIiLGc9ZnVuY3Rpb24oQSl7dmFyIGc9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBnLm9wZW4oIkdFVCIsQSwhMSksZy5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIixnLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoZy5yZXNwb25zZSl9LEkucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSk7dmFyIHQsZSxpPUkucHJpbnRFcnJ8fGNvbnNvbGUud2Fybi5iaW5kKGNvbnNvbGUpO0IoSSxRKSxRPW51bGwsSS5hcmd1bWVudHMmJkkuYXJndW1lbnRzLEkudGhpc1Byb2dyYW0mJihDPUkudGhpc1Byb2dyYW0pLEkucXVpdCYmSS5xdWl0LEkud2FzbUJpbmFyeSYmKHQ9SS53YXNtQmluYXJ5KSxJLm5vRXhpdFJ1bnRpbWUsIm9iamVjdCIhPT0oInVuZGVmaW5lZCI9PXR5cGVvZiBXZWJBc3NlbWJseT8idW5kZWZpbmVkIjp1KFdlYkFzc2VtYmx5KSkmJlMoIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWQiKTt2YXIgcixuLG8sYSxzLGM9ITEsaD0idW5kZWZpbmVkIiE9dHlwZW9mIFRleHREZWNvZGVyP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnZvaWQgMDtmdW5jdGlvbiBmKEEsZyl7cmV0dXJuIEE/ZnVuY3Rpb24oQSxnLEkpe2Zvcih2YXIgQj1nK0ksUT1nO0FbUV0mJiEoUT49Qik7KSsrUTtpZihRLWc+MTYmJkEuc3ViYXJyYXkmJmgpcmV0dXJuIGguZGVjb2RlKEEuc3ViYXJyYXkoZyxRKSk7Zm9yKHZhciBDPSIiO2c8UTspe3ZhciBFPUFbZysrXTtpZigxMjgmRSl7dmFyIHQ9NjMmQVtnKytdO2lmKDE5MiE9KDIyNCZFKSl7dmFyIGU9NjMmQVtnKytdO2lmKChFPTIyND09KDI0MCZFKT8oMTUmRSk8PDEyfHQ8PDZ8ZTooNyZFKTw8MTh8dDw8MTJ8ZTw8Nnw2MyZBW2crK10pPDY1NTM2KUMrPVN0cmluZy5mcm9tQ2hhckNvZGUoRSk7ZWxzZXt2YXIgaT1FLTY1NTM2O0MrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8aT4+MTAsNTYzMjB8MTAyMyZpKX19ZWxzZSBDKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgzMSZFKTw8Nnx0KX1lbHNlIEMrPVN0cmluZy5mcm9tQ2hhckNvZGUoRSl9cmV0dXJuIEN9KG8sQSxnKToiIn1mdW5jdGlvbiB5KEEsZyxJLEIpe2lmKCEoQj4wKSlyZXR1cm4gMDtmb3IodmFyIFE9SSxDPUkrQi0xLEU9MDtFPEEubGVuZ3RoOysrRSl7dmFyIHQ9QS5jaGFyQ29kZUF0KEUpO2lmKHQ+PTU1Mjk2JiZ0PD01NzM0MyYmKHQ9NjU1MzYrKCgxMDIzJnQpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytFKSksdDw9MTI3KXtpZihJPj1DKWJyZWFrO2dbSSsrXT10fWVsc2UgaWYodDw9MjA0Nyl7aWYoSSsxPj1DKWJyZWFrO2dbSSsrXT0xOTJ8dD4+NixnW0krK109MTI4fDYzJnR9ZWxzZSBpZih0PD02NTUzNSl7aWYoSSsyPj1DKWJyZWFrO2dbSSsrXT0yMjR8dD4+MTIsZ1tJKytdPTEyOHx0Pj42JjYzLGdbSSsrXT0xMjh8NjMmdH1lbHNle2lmKEkrMz49QylicmVhaztnW0krK109MjQwfHQ+PjE4LGdbSSsrXT0xMjh8dD4+MTImNjMsZ1tJKytdPTEyOHx0Pj42JjYzLGdbSSsrXT0xMjh8NjMmdH19cmV0dXJuIGdbSV09MCxJLVF9ZnVuY3Rpb24gbChBKXtmb3IodmFyIGc9MCxJPTA7STxBLmxlbmd0aDsrK0kpe3ZhciBCPUEuY2hhckNvZGVBdChJKTtCPj01NTI5NiYmQjw9NTczNDMmJihCPTY1NTM2KygoMTAyMyZCKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrSSkpLEI8PTEyNz8rK2c6Zys9Qjw9MjA0Nz8yOkI8PTY1NTM1PzM6NH1yZXR1cm4gZ31mdW5jdGlvbiBEKEEsZyl7bi5zZXQoQSxnKX1mdW5jdGlvbiBkKEEpe3I9QSxJLkhFQVA4PW49bmV3IEludDhBcnJheShBKSxJLkhFQVAxNj1uZXcgSW50MTZBcnJheShBKSxJLkhFQVAzMj1hPW5ldyBJbnQzMkFycmF5KEEpLEkuSEVBUFU4PW89bmV3IFVpbnQ4QXJyYXkoQSksSS5IRUFQVTE2PW5ldyBVaW50MTZBcnJheShBKSxJLkhFQVBVMzI9bmV3IFVpbnQzMkFycmF5KEEpLEkuSEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KEEpLEkuSEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KEEpfUkuSU5JVElBTF9NRU1PUlk7dmFyIHcsRixHPVtdLFI9W10scD1bXSxrPTAsVT1udWxsO2Z1bmN0aW9uIFMoQSl7dGhyb3cgSS5vbkFib3J0JiZJLm9uQWJvcnQoQSksaShBPSJBYm9ydGVkKCIrQSsiKSIpLGM9ITAsQSs9Ii4gQnVpbGQgd2l0aCAtcyBBU1NFUlRJT05TPTEgZm9yIG1vcmUgaW5mby4iLG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoQSl9ZnVuY3Rpb24gdihBKXtyZXR1cm4gQS5zdGFydHNXaXRoKCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIil9ZnVuY3Rpb24gTihBKXt0cnl7aWYoQT09dyYmdClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodCk7aWYoZylyZXR1cm4gZyhBKTt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9Y2F0Y2goSSl7UyhJKX19ZnVuY3Rpb24gTShBKXtmb3IoO0EubGVuZ3RoPjA7KXt2YXIgZz1BLnNoaWZ0KCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGcpe3ZhciBCPWcuZnVuYzsibnVtYmVyIj09dHlwZW9mIEI/dm9pZCAwPT09Zy5hcmc/WShCKSgpOlkoQikoZy5hcmcpOkIodm9pZCAwPT09Zy5hcmc/bnVsbDpnLmFyZyl9ZWxzZSBnKEkpfX1mdW5jdGlvbiBZKEEpe3JldHVybiBzLmdldChBKX1mdW5jdGlvbiBIKEEpe3RoaXMuZXhjUHRyPUEsdGhpcy5wdHI9QS0xNix0aGlzLnNldF90eXBlPWZ1bmN0aW9uKEEpe2FbdGhpcy5wdHIrND4+Ml09QX0sdGhpcy5nZXRfdHlwZT1mdW5jdGlvbigpe3JldHVybiBhW3RoaXMucHRyKzQ+PjJdfSx0aGlzLnNldF9kZXN0cnVjdG9yPWZ1bmN0aW9uKEEpe2FbdGhpcy5wdHIrOD4+Ml09QX0sdGhpcy5nZXRfZGVzdHJ1Y3Rvcj1mdW5jdGlvbigpe3JldHVybiBhW3RoaXMucHRyKzg+PjJdfSx0aGlzLnNldF9yZWZjb3VudD1mdW5jdGlvbihBKXthW3RoaXMucHRyPj4yXT1BfSx0aGlzLnNldF9jYXVnaHQ9ZnVuY3Rpb24oQSl7QT1BPzE6MCxuW3RoaXMucHRyKzEyfDBdPUF9LHRoaXMuZ2V0X2NhdWdodD1mdW5jdGlvbigpe3JldHVybiAwIT1uW3RoaXMucHRyKzEyfDBdfSx0aGlzLnNldF9yZXRocm93bj1mdW5jdGlvbihBKXtBPUE/MTowLG5bdGhpcy5wdHIrMTN8MF09QX0sdGhpcy5nZXRfcmV0aHJvd249ZnVuY3Rpb24oKXtyZXR1cm4gMCE9blt0aGlzLnB0cisxM3wwXX0sdGhpcy5pbml0PWZ1bmN0aW9uKEEsZyl7dGhpcy5zZXRfdHlwZShBKSx0aGlzLnNldF9kZXN0cnVjdG9yKGcpLHRoaXMuc2V0X3JlZmNvdW50KDApLHRoaXMuc2V0X2NhdWdodCghMSksdGhpcy5zZXRfcmV0aHJvd24oITEpfSx0aGlzLmFkZF9yZWY9ZnVuY3Rpb24oKXt2YXIgQT1hW3RoaXMucHRyPj4yXTthW3RoaXMucHRyPj4yXT1BKzF9LHRoaXMucmVsZWFzZV9yZWY9ZnVuY3Rpb24oKXt2YXIgQT1hW3RoaXMucHRyPj4yXTtyZXR1cm4gYVt0aGlzLnB0cj4+Ml09QS0xLDE9PT1BfX1mdW5jdGlvbiBMKEEpe3RyeXtyZXR1cm4gZS5ncm93KEEtci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpLGQoZS5idWZmZXIpLDF9Y2F0Y2goZyl7fX1JLnByZWxvYWRlZEltYWdlcz17fSxJLnByZWxvYWRlZEF1ZGlvcz17fSx2KHc9ImF3Lndhc20iKXx8KEY9dyx3PUkubG9jYXRlRmlsZT9JLmxvY2F0ZUZpbGUoRixFKTpFK0YpO3ZhciBKPXt9O2Z1bmN0aW9uIG0oKXtpZighbS5zdHJpbmdzKXt2YXIgQT17VVNFUjoid2ViX3VzZXIiLExPR05BTUU6IndlYl91c2VyIixQQVRIOiIvIixQV0Q6Ii8iLEhPTUU6Ii9ob21lL3dlYl91c2VyIixMQU5HOigib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIG5hdmlnYXRvcj8idW5kZWZpbmVkIjp1KG5hdmlnYXRvcikpJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdfHwiQyIpLnJlcGxhY2UoIi0iLCJfIikrIi5VVEYtOCIsXzpDfHwiLi90aGlzLnByb2dyYW0ifTtmb3IodmFyIGcgaW4gSil2b2lkIDA9PT1KW2ddP2RlbGV0ZSBBW2ddOkFbZ109SltnXTt2YXIgST1bXTtmb3IodmFyIGcgaW4gQSlJLnB1c2goZysiPSIrQVtnXSk7bS5zdHJpbmdzPUl9cmV0dXJuIG0uc3RyaW5nc31mdW5jdGlvbiBLKEEpe3JldHVybiBBJTQ9PTAmJihBJTEwMCE9MHx8QSU0MDA9PTApfWZ1bmN0aW9uIHgoQSxnKXtmb3IodmFyIEk9MCxCPTA7Qjw9ZztJKz1BW0IrK10pO3JldHVybiBJfXZhciBxPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sYj1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO2Z1bmN0aW9uIFQoQSxnKXtmb3IodmFyIEk9bmV3IERhdGUoQS5nZXRUaW1lKCkpO2c+MDspe3ZhciBCPUsoSS5nZXRGdWxsWWVhcigpKSxRPUkuZ2V0TW9udGgoKSxDPShCP3E6YilbUV07aWYoIShnPkMtSS5nZXREYXRlKCkpKXJldHVybiBJLnNldERhdGUoSS5nZXREYXRlKCkrZyksSTtnLT1DLUkuZ2V0RGF0ZSgpKzEsSS5zZXREYXRlKDEpLFE8MTE/SS5zZXRNb250aChRKzEpOihJLnNldE1vbnRoKDApLEkuc2V0RnVsbFllYXIoSS5nZXRGdWxsWWVhcigpKzEpKX1yZXR1cm4gSX1mdW5jdGlvbiBPKEEsZyxJKXt2YXIgQj1JPjA/STpsKEEpKzEsUT1uZXcgQXJyYXkoQiksQz15KEEsUSwwLFEubGVuZ3RoKTtyZXR1cm4gZyYmKFEubGVuZ3RoPUMpLFF9dmFyIFA9e2g6ZnVuY3Rpb24oQSl7cmV0dXJuIGooQSsxNikrMTZ9LGc6ZnVuY3Rpb24oQSxnLEkpe3Rocm93IG5ldyBIKEEpLmluaXQoZyxJKSxBfSxhOmZ1bmN0aW9uKCl7UygiIil9LGY6ZnVuY3Rpb24oQSxnLEkpe28uY29weVdpdGhpbihBLGcsZytJKX0sZTpmdW5jdGlvbihBKXt2YXIgZyxJLEI9by5sZW5ndGgsUT0yMTQ3NDgzNjQ4O2lmKChBPj4+PTApPlEpcmV0dXJuITE7Zm9yKHZhciBDPTE7Qzw9NDtDKj0yKXt2YXIgRT1CKigxKy4yL0MpO2lmKEU9TWF0aC5taW4oRSxBKzEwMDY2MzI5NiksTChNYXRoLm1pbihRLCgoZz1NYXRoLm1heChBLEUpKSUoST02NTUzNik+MCYmKGcrPUktZyVJKSxnKSkpKXJldHVybiEwfXJldHVybiExfSxjOmZ1bmN0aW9uKEEsZyl7dmFyIEk9MDtyZXR1cm4gbSgpLmZvckVhY2goKGZ1bmN0aW9uKEIsUSl7dmFyIEM9ZytJO2FbQSs0KlE+PjJdPUMsZnVuY3Rpb24oQSxnLEkpe2Zvcih2YXIgQj0wO0I8QS5sZW5ndGg7KytCKW5bMHxnKytdPUEuY2hhckNvZGVBdChCKTtJfHwoblswfGddPTApfShCLEMpLEkrPUIubGVuZ3RoKzF9KSksMH0sZDpmdW5jdGlvbihBLGcpe3ZhciBJPW0oKTthW0E+PjJdPUkubGVuZ3RoO3ZhciBCPTA7cmV0dXJuIEkuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Qis9QS5sZW5ndGgrMX0pKSxhW2c+PjJdPUIsMH0sYjpmdW5jdGlvbihBLGcsSSxCKXtyZXR1cm4gZnVuY3Rpb24oQSxnLEksQil7dmFyIFE9YVtCKzQwPj4yXSxDPXt0bV9zZWM6YVtCPj4yXSx0bV9taW46YVtCKzQ+PjJdLHRtX2hvdXI6YVtCKzg+PjJdLHRtX21kYXk6YVtCKzEyPj4yXSx0bV9tb246YVtCKzE2Pj4yXSx0bV95ZWFyOmFbQisyMD4+Ml0sdG1fd2RheTphW0IrMjQ+PjJdLHRtX3lkYXk6YVtCKzI4Pj4yXSx0bV9pc2RzdDphW0IrMzI+PjJdLHRtX2dtdG9mZjphW0IrMzY+PjJdLHRtX3pvbmU6UT9mKFEpOiIifSxFPWYoSSksdD17IiVjIjoiJWEgJWIgJWQgJUg6JU06JVMgJVkiLCIlRCI6IiVtLyVkLyV5IiwiJUYiOiIlWS0lbS0lZCIsIiVoIjoiJWIiLCIlciI6IiVJOiVNOiVTICVwIiwiJVIiOiIlSDolTSIsIiVUIjoiJUg6JU06JVMiLCIleCI6IiVtLyVkLyV5IiwiJVgiOiIlSDolTTolUyIsIiVFYyI6IiVjIiwiJUVDIjoiJUMiLCIlRXgiOiIlbS8lZC8leSIsIiVFWCI6IiVIOiVNOiVTIiwiJUV5IjoiJXkiLCIlRVkiOiIlWSIsIiVPZCI6IiVkIiwiJU9lIjoiJWUiLCIlT0giOiIlSCIsIiVPSSI6IiVJIiwiJU9tIjoiJW0iLCIlT00iOiIlTSIsIiVPUyI6IiVTIiwiJU91IjoiJXUiLCIlT1UiOiIlVSIsIiVPViI6IiVWIiwiJU93IjoiJXciLCIlT1ciOiIlVyIsIiVPeSI6IiV5In07Zm9yKHZhciBlIGluIHQpRT1FLnJlcGxhY2UobmV3IFJlZ0V4cChlLCJnIiksdFtlXSk7dmFyIGk9WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLHI9WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdO2Z1bmN0aW9uIG4oQSxnLEkpe2Zvcih2YXIgQj0ibnVtYmVyIj09dHlwZW9mIEE/QS50b1N0cmluZygpOkF8fCIiO0IubGVuZ3RoPGc7KUI9SVswXStCO3JldHVybiBCfWZ1bmN0aW9uIG8oQSxnKXtyZXR1cm4gbihBLGcsIjAiKX1mdW5jdGlvbiBzKEEsZyl7ZnVuY3Rpb24gSShBKXtyZXR1cm4gQTwwPy0xOkE+MD8xOjB9dmFyIEI7cmV0dXJuIDA9PT0oQj1JKEEuZ2V0RnVsbFllYXIoKS1nLmdldEZ1bGxZZWFyKCkpKSYmMD09PShCPUkoQS5nZXRNb250aCgpLWcuZ2V0TW9udGgoKSkpJiYoQj1JKEEuZ2V0RGF0ZSgpLWcuZ2V0RGF0ZSgpKSksQn1mdW5jdGlvbiBjKEEpe3N3aXRjaChBLmdldERheSgpKXtjYXNlIDA6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDI5KTtjYXNlIDE6cmV0dXJuIEE7Y2FzZSAyOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwzKTtjYXNlIDM6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDIpO2Nhc2UgNDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMSk7Y2FzZSA1OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMSk7Y2FzZSA2OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMCl9fWZ1bmN0aW9uIGgoQSl7dmFyIGc9VChuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSksST1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksMCw0KSxCPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSsxLDAsNCksUT1jKEkpLEM9YyhCKTtyZXR1cm4gcyhRLGcpPD0wP3MoQyxnKTw9MD9nLmdldEZ1bGxZZWFyKCkrMTpnLmdldEZ1bGxZZWFyKCk6Zy5nZXRGdWxsWWVhcigpLTF9dmFyIHU9eyIlYSI6ZnVuY3Rpb24oQSl7cmV0dXJuIGlbQS50bV93ZGF5XS5zdWJzdHJpbmcoMCwzKX0sIiVBIjpmdW5jdGlvbihBKXtyZXR1cm4gaVtBLnRtX3dkYXldfSwiJWIiOmZ1bmN0aW9uKEEpe3JldHVybiByW0EudG1fbW9uXS5zdWJzdHJpbmcoMCwzKX0sIiVCIjpmdW5jdGlvbihBKXtyZXR1cm4gcltBLnRtX21vbl19LCIlQyI6ZnVuY3Rpb24oQSl7cmV0dXJuIG8oKEEudG1feWVhcisxOTAwKS8xMDB8MCwyKX0sIiVkIjpmdW5jdGlvbihBKXtyZXR1cm4gbyhBLnRtX21kYXksMil9LCIlZSI6ZnVuY3Rpb24oQSl7cmV0dXJuIG4oQS50bV9tZGF5LDIsIiAiKX0sIiVnIjpmdW5jdGlvbihBKXtyZXR1cm4gaChBKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sIiVHIjpmdW5jdGlvbihBKXtyZXR1cm4gaChBKX0sIiVIIjpmdW5jdGlvbihBKXtyZXR1cm4gbyhBLnRtX2hvdXIsMil9LCIlSSI6ZnVuY3Rpb24oQSl7dmFyIGc9QS50bV9ob3VyO3JldHVybiAwPT1nP2c9MTI6Zz4xMiYmKGctPTEyKSxvKGcsMil9LCIlaiI6ZnVuY3Rpb24oQSl7cmV0dXJuIG8oQS50bV9tZGF5K3goSyhBLnRtX3llYXIrMTkwMCk/cTpiLEEudG1fbW9uLTEpLDMpfSwiJW0iOmZ1bmN0aW9uKEEpe3JldHVybiBvKEEudG1fbW9uKzEsMil9LCIlTSI6ZnVuY3Rpb24oQSl7cmV0dXJuIG8oQS50bV9taW4sMil9LCIlbiI6ZnVuY3Rpb24oKXtyZXR1cm4iXG4ifSwiJXAiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX2hvdXI+PTAmJkEudG1faG91cjwxMj8iQU0iOiJQTSJ9LCIlUyI6ZnVuY3Rpb24oQSl7cmV0dXJuIG8oQS50bV9zZWMsMil9LCIldCI6ZnVuY3Rpb24oKXtyZXR1cm4iXHQifSwiJXUiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl8fDd9LCIlVSI6ZnVuY3Rpb24oQSl7dmFyIGc9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxJPTA9PT1nLmdldERheSgpP2c6VChnLDctZy5nZXREYXkoKSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKHMoSSxCKTwwKXt2YXIgUT14KEsoQi5nZXRGdWxsWWVhcigpKT9xOmIsQi5nZXRNb250aCgpLTEpLTMxLEM9MzEtSS5nZXREYXRlKCkrUStCLmdldERhdGUoKTtyZXR1cm4gbyhNYXRoLmNlaWwoQy83KSwyKX1yZXR1cm4gMD09PXMoSSxnKT8iMDEiOiIwMCJ9LCIlViI6ZnVuY3Rpb24oQSl7dmFyIGcsST1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDQpLEI9bmV3IERhdGUoQS50bV95ZWFyKzE5MDEsMCw0KSxRPWMoSSksQz1jKEIpLEU9VChuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSk7cmV0dXJuIHMoRSxRKTwwPyI1MyI6cyhDLEUpPD0wPyIwMSI6KGc9US5nZXRGdWxsWWVhcigpPEEudG1feWVhcisxOTAwP0EudG1feWRheSszMi1RLmdldERhdGUoKTpBLnRtX3lkYXkrMS1RLmdldERhdGUoKSxvKE1hdGguY2VpbChnLzcpLDIpKX0sIiV3IjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV93ZGF5fSwiJVciOmZ1bmN0aW9uKEEpe3ZhciBnPW5ldyBEYXRlKEEudG1feWVhciwwLDEpLEk9MT09PWcuZ2V0RGF5KCk/ZzpUKGcsMD09PWcuZ2V0RGF5KCk/MTo3LWcuZ2V0RGF5KCkrMSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKHMoSSxCKTwwKXt2YXIgUT14KEsoQi5nZXRGdWxsWWVhcigpKT9xOmIsQi5nZXRNb250aCgpLTEpLTMxLEM9MzEtSS5nZXREYXRlKCkrUStCLmdldERhdGUoKTtyZXR1cm4gbyhNYXRoLmNlaWwoQy83KSwyKX1yZXR1cm4gMD09PXMoSSxnKT8iMDEiOiIwMCJ9LCIleSI6ZnVuY3Rpb24oQSl7cmV0dXJuKEEudG1feWVhcisxOTAwKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sIiVZIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV95ZWFyKzE5MDB9LCIleiI6ZnVuY3Rpb24oQSl7dmFyIGc9QS50bV9nbXRvZmYsST1nPj0wO3JldHVybiBnPShnPU1hdGguYWJzKGcpLzYwKS82MCoxMDArZyU2MCwoST8iKyI6Ii0iKStTdHJpbmcoIjAwMDAiK2cpLnNsaWNlKC00KX0sIiVaIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV96b25lfSwiJSUiOmZ1bmN0aW9uKCl7cmV0dXJuIiUifX07Zm9yKHZhciBlIGluIHUpRS5pbmNsdWRlcyhlKSYmKEU9RS5yZXBsYWNlKG5ldyBSZWdFeHAoZSwiZyIpLHVbZV0oQykpKTt2YXIgeT1PKEUsITEpO3JldHVybiB5Lmxlbmd0aD5nPzA6KEQoeSxBKSx5Lmxlbmd0aC0xKX0oQSxnLEksQil9fTshZnVuY3Rpb24oKXt2YXIgQT17YTpQfTtmdW5jdGlvbiBnKEEsZyl7dmFyIEIsUT1BLmV4cG9ydHM7SS5hc209USxkKChlPUkuYXNtLmkpLmJ1ZmZlcikscz1JLmFzbS50LEI9SS5hc20uaixSLnVuc2hpZnQoQiksZnVuY3Rpb24oKXtpZihrLS0sSS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZJLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoayksMD09ayYmVSl7dmFyIEE9VTtVPW51bGwsQSgpfX0oKX1mdW5jdGlvbiBCKEEpe2coQS5pbnN0YW5jZSl9ZnVuY3Rpb24gUShnKXtyZXR1cm4odHx8ImZ1bmN0aW9uIiE9dHlwZW9mIGZldGNoP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIE4odyl9KSk6ZmV0Y2godyx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oKGZ1bmN0aW9uKEEpe2lmKCFBLm9rKXRocm93ImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJyIrdysiJyI7cmV0dXJuIEEuYXJyYXlCdWZmZXIoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gTih3KX0pKSkudGhlbigoZnVuY3Rpb24oZyl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGcsQSl9KSkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIEF9KSkudGhlbihnLChmdW5jdGlvbihBKXtpKCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAiK0EpLFMoQSl9KSl9aWYoaysrLEkubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmSS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGspLEkuaW5zdGFudGlhdGVXYXNtKXRyeXtyZXR1cm4gSS5pbnN0YW50aWF0ZVdhc20oQSxnKX1jYXRjaChDKXtyZXR1cm4gaSgiTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogIitDKSwhMX10fHwiZnVuY3Rpb24iIT10eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmd8fHYodyl8fCJmdW5jdGlvbiIhPXR5cGVvZiBmZXRjaD9RKEIpOmZldGNoKHcse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKChmdW5jdGlvbihnKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZyxBKS50aGVuKEIsKGZ1bmN0aW9uKEEpe3JldHVybiBpKCJ3YXNtIHN0cmVhbWluZyBjb21waWxlIGZhaWxlZDogIitBKSxpKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpLFEoQil9KSl9KSl9KCksSS5fX193YXNtX2NhbGxfY3RvcnM9ZnVuY3Rpb24oKXtyZXR1cm4oSS5fX193YXNtX2NhbGxfY3RvcnM9SS5hc20uaikuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgaj1JLl9tYWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4oaj1JLl9tYWxsb2M9SS5hc20uaykuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtJLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuKEkuX2ZyZWU9SS5hc20ubCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJLl9vcGVuQm94PWZ1bmN0aW9uKCl7cmV0dXJuKEkuX29wZW5Cb3g9SS5hc20ubSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJLl9kZXNjcnlwdD1mdW5jdGlvbigpe3JldHVybihJLl9kZXNjcnlwdD1JLmFzbS5uKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEkuX2Rlc2NyeXB0S2RzS2V5PWZ1bmN0aW9uKCl7cmV0dXJuKEkuX2Rlc2NyeXB0S2RzS2V5PUkuYXNtLm8pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSS5fZGVjcnlwdEtleT1mdW5jdGlvbigpe3JldHVybihJLl9kZWNyeXB0S2V5PUkuYXNtLnApLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSS5fZGVzY3J5cHRDQkM9ZnVuY3Rpb24oKXtyZXR1cm4oSS5fZGVzY3J5cHRDQkM9SS5hc20ucSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJLl9yZWxlYXNlPWZ1bmN0aW9uKCl7cmV0dXJuKEkuX3JlbGVhc2U9SS5hc20ucikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJLl9zZXRSYXc9ZnVuY3Rpb24oKXtyZXR1cm4oSS5fc2V0UmF3PUkuYXNtLnMpLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIFcsWj1JLnN0YWNrU2F2ZT1mdW5jdGlvbigpe3JldHVybihaPUkuc3RhY2tTYXZlPUkuYXNtLnUpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVj1JLnN0YWNrUmVzdG9yZT1mdW5jdGlvbigpe3JldHVybihWPUkuc3RhY2tSZXN0b3JlPUkuYXNtLnYpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWD1JLnN0YWNrQWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4oWD1JLnN0YWNrQWxsb2M9SS5hc20udykuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtmdW5jdGlvbiB6KEEpe2Z1bmN0aW9uIGcoKXtXfHwoVz0hMCxJLmNhbGxlZFJ1bj0hMCxjfHwoTShSKSxJLm9uUnVudGltZUluaXRpYWxpemVkJiZJLm9uUnVudGltZUluaXRpYWxpemVkKCksZnVuY3Rpb24oKXtpZihJLnBvc3RSdW4pZm9yKCJmdW5jdGlvbiI9PXR5cGVvZiBJLnBvc3RSdW4mJihJLnBvc3RSdW49W0kucG9zdFJ1bl0pO0kucG9zdFJ1bi5sZW5ndGg7KUE9SS5wb3N0UnVuLnNoaWZ0KCkscC51bnNoaWZ0KEEpO3ZhciBBO00ocCl9KCkpKX1rPjB8fChmdW5jdGlvbigpe2lmKEkucHJlUnVuKWZvcigiZnVuY3Rpb24iPT10eXBlb2YgSS5wcmVSdW4mJihJLnByZVJ1bj1bSS5wcmVSdW5dKTtJLnByZVJ1bi5sZW5ndGg7KUE9SS5wcmVSdW4uc2hpZnQoKSxHLnVuc2hpZnQoQSk7dmFyIEE7TShHKX0oKSxrPjB8fChJLnNldFN0YXR1cz8oSS5zZXRTdGF0dXMoIlJ1bm5pbmcuLi4iKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7SS5zZXRTdGF0dXMoIiIpfSksMSksZygpfSksMSkpOmcoKSkpfWlmKEkuaW50QXJyYXlGcm9tU3RyaW5nPU8sSS5jY2FsbD1mdW5jdGlvbihBLGcsQixRLEMpe3ZhciBFPXtzdHJpbmc6ZnVuY3Rpb24oQSl7dmFyIGc9MDtpZihudWxsIT1BJiYwIT09QSl7dmFyIEk9MSsoQS5sZW5ndGg8PDIpOyFmdW5jdGlvbihBLGcsSSl7eShBLG8sZyxJKX0oQSxnPVgoSSksSSl9cmV0dXJuIGd9LGFycmF5OmZ1bmN0aW9uKEEpe3ZhciBnPVgoQS5sZW5ndGgpO3JldHVybiBEKEEsZyksZ319LHQ9ZnVuY3Rpb24oQSl7cmV0dXJuIElbIl8iK0FdfShBKSxlPVtdLGk9MDtpZihRKWZvcih2YXIgcj0wO3I8US5sZW5ndGg7cisrKXt2YXIgbj1FW0Jbcl1dO24/KDA9PT1pJiYoaT1aKCkpLGVbcl09bihRW3JdKSk6ZVtyXT1RW3JdfXZhciBhLHM9dC5hcHBseShudWxsLGUpO3JldHVybiBhPXMsMCE9PWkmJlYoaSkscz1mdW5jdGlvbihBKXtyZXR1cm4ic3RyaW5nIj09PWc/ZihBKToiYm9vbGVhbiI9PT1nP0Jvb2xlYW4oQSk6QX0oYSl9LEkuVVRGOFRvU3RyaW5nPWYsSS5hbGxvY2F0ZVVURjg9ZnVuY3Rpb24oQSl7dmFyIGc9bChBKSsxLEk9aihnKTtyZXR1cm4gSSYmeShBLG4sSSxnKSxJfSxVPWZ1bmN0aW9uIEEoKXtXfHx6KCksV3x8KFU9QSl9LEkucnVuPXosSS5wcmVJbml0KWZvcigiZnVuY3Rpb24iPT10eXBlb2YgSS5wcmVJbml0JiYoSS5wcmVJbml0PVtJLnByZUluaXRdKTtJLnByZUluaXQubGVuZ3RoPjA7KUkucHJlSW5pdC5wb3AoKSgpO3JldHVybiB6KCksQS5yZWFkeX0sWWM9TWM7dmFyIEhjPWlCLExjPVUsSmM9W10uam9pbixtYz1HIT1PYmplY3QsS2M9amUoImpvaW4iLCIsIik7SGMoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDptY3x8IUtjfSx7am9pbjpmdW5jdGlvbihBKXtyZXR1cm4gSmMuY2FsbChMYyh0aGlzKSx2b2lkIDA9PT1BPyIsIjpBKX19KTt2YXIgeGM9ZnVuY3Rpb24oKXtyZXR1cm4gQygoZnVuY3Rpb24gQSgpe3ZhciBnLEk7Qih0aGlzLEEpO3ZhciBRPW5ldyBQcm9taXNlKChmdW5jdGlvbihBLEIpe2c9QSxJPUJ9KSk7cmV0dXJuIFEucmVzb2x2ZT1nLFEucmVqZWN0PUksUX0pLFt7a2V5OiJyZXNvbHZlIix2YWx1ZTpmdW5jdGlvbihBKXt9fSx7a2V5OiJyZWplY3QiLHZhbHVlOmZ1bmN0aW9uKEEpe319XSl9KCkscWM9aUIsYmM9bCxUYz1PRSxPYz1ILFBjPW9BLGpjPVpBLFdjPWdyLFpjPVpFLFZjPUNyLFhjPVVBLHpjPWJBKCJpc0NvbmNhdFNwcmVhZGFibGUiKSxfYz05MDA3MTk5MjU0NzQwOTkxLCRjPSJNYXhpbXVtIGFsbG93ZWQgaW5kZXggZXhjZWVkZWQiLEFoPVhjPj01MXx8IWJjKChmdW5jdGlvbigpe3ZhciBBPVtdO3JldHVybiBBW3pjXT0hMSxBLmNvbmNhdCgpWzBdIT09QX0pKSxnaD1WYygiY29uY2F0IiksSWg9ZnVuY3Rpb24oQSl7aWYoIU9jKEEpKXJldHVybiExO3ZhciBnPUFbemNdO3JldHVybiB2b2lkIDAhPT1nPyEhZzpUYyhBKX07cWMoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDohQWh8fCFnaH0se2NvbmNhdDpmdW5jdGlvbihBKXt2YXIgZyxJLEIsUSxDLEU9UGModGhpcyksdD1aYyhFLDApLGU9MDtmb3IoZz0tMSxCPWFyZ3VtZW50cy5sZW5ndGg7ZzxCO2crKylpZihJaChDPS0xPT09Zz9FOmFyZ3VtZW50c1tnXSkpe2lmKGUrKFE9amMoQy5sZW5ndGgpKT5fYyl0aHJvdyBUeXBlRXJyb3IoJGMpO2ZvcihJPTA7STxRO0krKyxlKyspSSBpbiBDJiZXYyh0LGUsQ1tJXSl9ZWxzZXtpZihlPj1fYyl0aHJvdyBUeXBlRXJyb3IoJGMpO1djKHQsZSsrLEMpfXJldHVybiB0Lmxlbmd0aD1lLHR9fSksUHJvbWlzZS53aXRoUmVzb2x2ZXJzfHwoUHJvbWlzZS53aXRoUmVzb2x2ZXJzPWZ1bmN0aW9uKCl7dmFyIEE9e307cmV0dXJuIEEucHJvbWlzZT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZyxJKXtBLnJlc29sdmU9ZyxBLnJlamVjdD1JfSkpLEF9KTt2YXIgQmg9MCxRaD0xLENoPWZ1bmN0aW9uKCl7cmV0dXJuIEMoKGZ1bmN0aW9uIEEoKXtCKHRoaXMsQSl9KSxbe2tleToiaW5pdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgQT1uZXcgeGM7cmV0dXJuIHRoaXMubW9kdWxlPXtvblJ1bnRpbWVJbml0aWFsaXplZDpmdW5jdGlvbigpe0EucmVzb2x2ZSgpfSxvbkFib3J0OmZ1bmN0aW9uKGcpe0EucmVqZWN0KGcpfX0sWWModGhpcy5tb2R1bGUpLEF9fSx7a2V5OiJkZXNjcnlwdEtleSIsdmFsdWU6ZnVuY3Rpb24oQSxnKXt2YXIgSSxCLFE9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjE2LEM9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOkJoO3RyeXt2YXIgRT1mdW5jdGlvbihBKXtpZigiIj09PUEpcmV0dXJuIiI7Zm9yKHZhciBnPVtdLEk9MDtJPEEubGVuZ3RoO0krKylnLnB1c2goQS5jaGFyQ29kZUF0KEkpKTtyZXR1cm4gZ30oc2VsZi5hdG9iKEEpKTtJPXRoaXMubW9kdWxlLl9tYWxsb2MoTnVtYmVyKEUubGVuZ3RoKSksdGhpcy5tb2R1bGUuSEVBUDguc2V0KEUsSSksZz1nfHxuZXcgVWludDhBcnJheSxnPW5ldyBVaW50OEFycmF5KGcpLEI9dGhpcy5tb2R1bGUuX21hbGxvYyhnLmJ5dGVMZW5ndGgpLHRoaXMubW9kdWxlLkhFQVA4LnNldChnLEIpLHRoaXMubW9kdWxlLl9kZWNyeXB0S2V5KEMsSSxFLmxlbmd0aCxRLGcuYnl0ZUxlbmd0aCxCKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX1maW5hbGx5e3RoaXMubW9kdWxlLl9mcmVlKEkpLHRoaXMubW9kdWxlLl9mcmVlKEIpfX19LHtrZXk6ImRlc2NyeXB0Iix2YWx1ZTpmdW5jdGlvbihBLGcpe3ZhciBJLEIsUT1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06Qmg7dHJ5e3ZhciBDPW5ldyBVaW50OEFycmF5KGcpO0k9dGhpcy5tb2R1bGUuX21hbGxvYyhBLmJ5dGVMZW5ndGgpLHRoaXMubW9kdWxlLkhFQVA4LnNldChBLEkpLEI9dGhpcy5tb2R1bGUuX21hbGxvYyhDLmJ5dGVMZW5ndGgpLHRoaXMubW9kdWxlLkhFQVA4LnNldChDLEIpLHRoaXMubW9kdWxlLl9kZXNjcnlwdChRLEksQS5ieXRlTGVuZ3RoLEIpO3ZhciBFPXRoaXMubW9kdWxlLkhFQVBVOC5zbGljZShJLEkrQS5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoRSl9Y2F0Y2goUXkpe2NvbnNvbGUubG9nKFF5KX1maW5hbGx5e3RoaXMubW9kdWxlLl9mcmVlKEkpLHRoaXMubW9kdWxlLl9mcmVlKEIpfX19LHtrZXk6ImRlc2NyeXB0S2RzS2V5Iix2YWx1ZTpmdW5jdGlvbihBLGcsSSl7dmFyIEIsUSxDLEU9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjE2O3RyeXt2YXIgdD1uZXcgVWludDhBcnJheShnKSxlPW5ldyBVaW50OEFycmF5KEkpO0I9dGhpcy5tb2R1bGUuX21hbGxvYyh0LmJ5dGVMZW5ndGgpLHRoaXMubW9kdWxlLkhFQVA4LnNldCh0LEIpLFE9dGhpcy5tb2R1bGUuX21hbGxvYyhBLmJ5dGVMZW5ndGgpLHRoaXMubW9kdWxlLkhFQVA4LnNldChBLFEpLEM9dGhpcy5tb2R1bGUuX21hbGxvYyhlLmJ5dGVMZW5ndGgpLHRoaXMubW9kdWxlLkhFQVA4LnNldChlLEMpLHRoaXMubW9kdWxlLl9kZXNjcnlwdEtkc0tleShCLHQuYnl0ZUxlbmd0aCxRLEEuYnl0ZUxlbmd0aCxDLEUpfWNhdGNoKFF5KXtjb25zb2xlLmxvZyhReSl9ZmluYWxseXt0aGlzLm1vZHVsZS5fZnJlZShRKSx0aGlzLm1vZHVsZS5fZnJlZShDKSx0aGlzLm1vZHVsZS5fZnJlZShCKX19fSx7a2V5OiJkZXNjcnlwdENCQyIsdmFsdWU6ZnVuY3Rpb24oQSxnKXt2YXIgSSxCO3RyeXt2YXIgUT1uZXcgVWludDhBcnJheShnKTtyZXR1cm4gST10aGlzLm1vZHVsZS5fbWFsbG9jKEEuYnl0ZUxlbmd0aCksdGhpcy5tb2R1bGUuSEVBUDguc2V0KEEsSSksQj10aGlzLm1vZHVsZS5fbWFsbG9jKFEuYnl0ZUxlbmd0aCksdGhpcy5tb2R1bGUuSEVBUDguc2V0KFEsQiksdGhpcy5tb2R1bGUuX2Rlc2NyeXB0Q0JDKEksQS5ieXRlTGVuZ3RoLEIpLHRoaXMubW9kdWxlLkhFQVBVOC5zbGljZShJLEkrQS5ieXRlTGVuZ3RoKX1jYXRjaChReSl7Y29uc29sZS5sb2coUXkpfWZpbmFsbHl7dGhpcy5tb2R1bGUuX2ZyZWUoSSksdGhpcy5tb2R1bGUuX2ZyZWUoQil9fX0se2tleToic2V0UmF3Iix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZyxJPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpRaDt0cnl7dmFyIEI9bmV3IFVpbnQ4QXJyYXkoQSk7Zz10aGlzLm1vZHVsZS5fbWFsbG9jKEIuYnl0ZUxlbmd0aCksdGhpcy5tb2R1bGUuSEVBUDguc2V0KEIsZyksdGhpcy5tb2R1bGUuX3NldFJhdyhnLEIuYnl0ZUxlbmd0aCxJKX1jYXRjaChReSl7Y29uc29sZS5sb2coUXkpfWZpbmFsbHl7dGhpcy5tb2R1bGUuX2ZyZWUoZyl9fX0se2tleToiZGVzdHJveSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLm1vZHVsZSYmKHRoaXMubW9kdWxlPW51bGwpfX1dKX0oKTtmdW5jdGlvbiBFaChBLGcpe3ZhciBJPU9iamVjdC5rZXlzKEEpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoQSk7ZyYmKEI9Qi5maWx0ZXIoKGZ1bmN0aW9uKGcpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsZykuZW51bWVyYWJsZX0pKSksSS5wdXNoLmFwcGx5KEksQil9cmV0dXJuIEl9ZnVuY3Rpb24gdGgoQSl7Zm9yKHZhciBnPTE7Zzxhcmd1bWVudHMubGVuZ3RoO2crKyl7dmFyIEk9bnVsbCE9YXJndW1lbnRzW2ddP2FyZ3VtZW50c1tnXTp7fTtnJTI/RWgoT2JqZWN0KEkpLCEwKS5mb3JFYWNoKChmdW5jdGlvbihnKXtuaChBLGcsSVtnXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhJKSk6RWgoT2JqZWN0KEkpKS5mb3JFYWNoKChmdW5jdGlvbihnKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxnLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSSxnKSl9KSl9cmV0dXJuIEF9ZnVuY3Rpb24gZWgoQSxnKXtpZighKEEgaW5zdGFuY2VvZiBnKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBpaChBLGcpe2Zvcih2YXIgST0wO0k8Zy5sZW5ndGg7SSsrKXt2YXIgQj1nW0ldO0IuZW51bWVyYWJsZT1CLmVudW1lcmFibGV8fCExLEIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBCJiYoQi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsaGgoQi5rZXkpLEIpfX1mdW5jdGlvbiByaChBLGcsSSl7cmV0dXJuIGcmJmloKEEucHJvdG90eXBlLGcpLEkmJmloKEEsSSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksQX1mdW5jdGlvbiBuaChBLGcsSSl7cmV0dXJuKGc9aGgoZykpaW4gQT9PYmplY3QuZGVmaW5lUHJvcGVydHkoQSxnLHt2YWx1ZTpJLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6QVtnXT1JLEF9ZnVuY3Rpb24gb2goQSxnKXtyZXR1cm4gZnVuY3Rpb24oQSl7aWYoQXJyYXkuaXNBcnJheShBKSlyZXR1cm4gQX0oQSl8fGZ1bmN0aW9uKEEsZyl7dmFyIEk9bnVsbD09QT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZBW1N5bWJvbC5pdGVyYXRvcl18fEFbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1JKXt2YXIgQixRLEMsRSx0PVtdLGU9ITAsaT0hMTt0cnl7aWYoQz0oST1JLmNhbGwoQSkpLm5leHQsMD09PWcpe2lmKE9iamVjdChJKSE9PUkpcmV0dXJuO2U9ITF9ZWxzZSBmb3IoOyEoZT0oQj1DLmNhbGwoSSkpLmRvbmUpJiYodC5wdXNoKEIudmFsdWUpLHQubGVuZ3RoIT09Zyk7ZT0hMCk7fWNhdGNoKHIpe2k9ITAsUT1yfWZpbmFsbHl7dHJ5e2lmKCFlJiZudWxsIT1JLnJldHVybiYmKEU9SS5yZXR1cm4oKSxPYmplY3QoRSkhPT1FKSlyZXR1cm59ZmluYWxseXtpZihpKXRocm93IFF9fXJldHVybiB0fX0oQSxnKXx8c2goQSxnKXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIGFoKEEpe3JldHVybiBmdW5jdGlvbihBKXtpZihBcnJheS5pc0FycmF5KEEpKXJldHVybiBjaChBKX0oQSl8fGZ1bmN0aW9uKEEpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1BW1N5bWJvbC5pdGVyYXRvcl18fG51bGwhPUFbIkBAaXRlcmF0b3IiXSlyZXR1cm4gQXJyYXkuZnJvbShBKX0oQSl8fHNoKEEpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIHNoKEEsZyl7aWYoQSl7aWYoInN0cmluZyI9PXR5cGVvZiBBKXJldHVybiBjaChBLGcpO3ZhciBJPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChBKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PUkmJkEuY29uc3RydWN0b3ImJihJPUEuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1JfHwiU2V0Ij09PUk/QXJyYXkuZnJvbShBKToiQXJndW1lbnRzIj09PUl8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KEkpP2NoKEEsZyk6dm9pZCAwfX1mdW5jdGlvbiBjaChBLGcpeyhudWxsPT1nfHxnPkEubGVuZ3RoKSYmKGc9QS5sZW5ndGgpO2Zvcih2YXIgST0wLEI9bmV3IEFycmF5KGcpO0k8ZztJKyspQltJXT1BW0ldO3JldHVybiBCfWZ1bmN0aW9uIGhoKEEpe3ZhciBnPWZ1bmN0aW9uKEEsZyl7aWYoIm9iamVjdCIhPXR5cGVvZiBBfHxudWxsPT09QSlyZXR1cm4gQTt2YXIgST1BW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwIT09SSl7dmFyIEI9SS5jYWxsKEEsZ3x8ImRlZmF1bHQiKTtpZigib2JqZWN0IiE9dHlwZW9mIEIpcmV0dXJuIEI7dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX1yZXR1cm4oInN0cmluZyI9PT1nP1N0cmluZzpOdW1iZXIpKEEpfShBLCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIGc/ZzpTdHJpbmcoZyl9dmFyIGZoPSJ2aWRlbyIsdWg9ImF1ZGlvIix5aD0ibWV0YWRhdGEiLGxoPSJhdjEiLERoPSJhdmMiLGRoPSJoZXZjIix3aD0idnZjQyIsRmg9ImFhYyIsR2g9Imc3MTEwYSIsUmg9Imc3MTEwbSIscGg9Im9wdXMiLGtoPSJtcDMiLFVoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe2VoKHRoaXMsQSksbmgodGhpcywiaWQiLDEpLG5oKHRoaXMsInR5cGUiLGZoKSxuaCh0aGlzLCJjb2RlY1R5cGUiLERoKSxuaCh0aGlzLCJwaWQiLC0xKSxuaCh0aGlzLCJodmNDIix2b2lkIDApLG5oKHRoaXMsImNvZGVjIiwiIiksbmgodGhpcywidGltZXNjYWxlIiwwKSxuaCh0aGlzLCJmb3JtYXRUaW1lc2NhbGUiLDApLG5oKHRoaXMsInNlcXVlbmNlTnVtYmVyIiwwKSxuaCh0aGlzLCJiYXNlTWVkaWFEZWNvZGVUaW1lIiwwKSxuaCh0aGlzLCJiYXNlRHRzIiwwKSxuaCh0aGlzLCJkdXJhdGlvbiIsMCksbmgodGhpcywid2FybmluZ3MiLFtdKSxuaCh0aGlzLCJzYW1wbGVzIixbXSksbmgodGhpcywicHBzIixbXSksbmgodGhpcywic3BzIixbXSksbmgodGhpcywidnBzIixbXSksbmgodGhpcywiZnBzTnVtIiwwKSxuaCh0aGlzLCJmcHNEZW4iLDApLG5oKHRoaXMsInNhclJhdGlvIixbXSksbmgodGhpcywid2lkdGgiLDApLG5oKHRoaXMsImhlaWdodCIsMCksbmgodGhpcywibmFsVW5pdFNpemUiLDQpLG5oKHRoaXMsInByZXNlbnQiLCExKSxuaCh0aGlzLCJpc1ZpZGVvRW5jcnlwdGlvbiIsITEpLG5oKHRoaXMsImlzQXVkaW9FbmNyeXB0aW9uIiwhMSksbmgodGhpcywiaXNWaWRlbyIsITApLG5oKHRoaXMsImxhc3RLZXlGcmFtZUR0cyIsMCksbmgodGhpcywia2lkIixudWxsKSxuaCh0aGlzLCJwc3NoIixudWxsKSxuaCh0aGlzLCJleHQiLHZvaWQgMCl9cmV0dXJuIHJoKEEsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc2VxdWVuY2VOdW1iZXI9dGhpcy53aWR0aD10aGlzLmhlaWdodD10aGlzLmZwc0Rlbj10aGlzLmZwc051bT10aGlzLmR1cmF0aW9uPXRoaXMuYmFzZU1lZGlhRGVjb2RlVGltZT10aGlzLnRpbWVzY2FsZT0wLHRoaXMuY29kZWM9IiIsdGhpcy5wcmVzZW50PSExLHRoaXMucGlkPS0xLHRoaXMucHBzPVtdLHRoaXMuc3BzPVtdLHRoaXMudnBzPVtdLHRoaXMuc2FyUmF0aW89W10sdGhpcy5zYW1wbGVzPVtdLHRoaXMud2FybmluZ3M9W10sdGhpcy5odmNDPW51bGx9fSx7a2V5OiJmaXJzdER0cyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2FtcGxlcy5sZW5ndGg/dGhpcy5zYW1wbGVzWzBdLmR0czpudWxsfX0se2tleToiZmlyc3RQdHMiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNhbXBsZXMubGVuZ3RoP3RoaXMuc2FtcGxlc1swXS5wdHM6bnVsbH19LHtrZXk6InNhbXBsZXNEdXJhdGlvbiIsZ2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5zYW1wbGVzLmxlbmd0aD4wKXt2YXIgQT10aGlzLnNhbXBsZXNbMF0sZz10aGlzLnNhbXBsZXNbdGhpcy5zYW1wbGVzLmxlbmd0aC0xXTtyZXR1cm4gZy5kdHMtQS5kdHMrZy5kdXJhdGlvbn1yZXR1cm4gMH19LHtrZXk6ImV4aXN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEhL2F2MDEvLnRlc3QodGhpcy5jb2RlYyl8fCEhKHRoaXMucHBzLmxlbmd0aCYmdGhpcy5zcHMubGVuZ3RoJiZ0aGlzLmNvZGVjKX19LHtrZXk6Imhhc1NhbXBsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2FtcGxlcy5sZW5ndGh9fSx7a2V5OiJpc0VuY3J5cHRpb24iLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzVmlkZW9FbmNyeXB0aW9ufX1dKSxBfSgpLFNoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe2VoKHRoaXMsQSksbmgodGhpcywiaWQiLDIpLG5oKHRoaXMsInR5cGUiLHVoKSxuaCh0aGlzLCJjb2RlY1R5cGUiLEZoKSxuaCh0aGlzLCJwaWQiLC0xKSxuaCh0aGlzLCJjb2RlYyIsIiIpLG5oKHRoaXMsImNvbnRhaW5lciIsIiIpLG5oKHRoaXMsInNlcXVlbmNlTnVtYmVyIiwwKSxuaCh0aGlzLCJzYW1wbGVEdXJhdGlvbiIsMCksbmgodGhpcywidGltZXNjYWxlIiwwKSxuaCh0aGlzLCJmb3JtYXRUaW1lc2NhbGUiLDApLG5oKHRoaXMsImJhc2VNZWRpYURlY29kZVRpbWUiLDApLG5oKHRoaXMsImR1cmF0aW9uIiwwKSxuaCh0aGlzLCJ3YXJuaW5ncyIsW10pLG5oKHRoaXMsInNhbXBsZXMiLFtdKSxuaCh0aGlzLCJiYXNlRHRzIiwwKSxuaCh0aGlzLCJzYW1wbGVTaXplIiwxNiksbmgodGhpcywic2FtcGxlUmF0ZSIsMCksbmgodGhpcywiY2hhbm5lbENvdW50IiwwKSxuaCh0aGlzLCJvYmplY3RUeXBlIiwwKSxuaCh0aGlzLCJzYW1wbGVSYXRlSW5kZXgiLDApLG5oKHRoaXMsInBhcnNlZENvZGVjIixudWxsKSxuaCh0aGlzLCJjb25maWciLFtdKSxuaCh0aGlzLCJwcmVzZW50IiwhMSksbmgodGhpcywiaXNWaWRlb0VuY3J5cHRpb24iLCExKSxuaCh0aGlzLCJpc0F1ZGlvRW5jcnlwdGlvbiIsITEpLG5oKHRoaXMsImtpZCIsbnVsbCksbmgodGhpcywiZXh0Iix2b2lkIDApfXJldHVybiByaChBLFt7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnNlcXVlbmNlTnVtYmVyPTAsdGhpcy50aW1lc2NhbGU9MCx0aGlzLnNhbXBsZUR1cmF0aW9uPTAsdGhpcy5zYW1wbGVSYXRlPTAsdGhpcy5jaGFubmVsQ291bnQ9MCx0aGlzLmJhc2VNZWRpYURlY29kZVRpbWU9MCx0aGlzLnByZXNlbnQ9ITEsdGhpcy5waWQ9LTEsdGhpcy5jb2RlYz0iIix0aGlzLnNhbXBsZXM9W10sdGhpcy5jb25maWc9W10sdGhpcy53YXJuaW5ncz1bXX19LHtrZXk6ImV4aXN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEoIXRoaXMuc2FtcGxlUmF0ZXx8IXRoaXMuY2hhbm5lbENvdW50fHwhdGhpcy5jb2RlYyYmIXRoaXMuY29udGFpbmVyfHx0aGlzLmNvZGVjVHlwZSE9PUZoJiZ0aGlzLmNvZGVjVHlwZSE9PUdoJiZ0aGlzLmNvZGVjVHlwZSE9PVJoJiZ0aGlzLmNvZGVjVHlwZSE9PXBoJiZ0aGlzLmNvZGVjVHlwZSE9PWtoKX19LHtrZXk6Imhhc1NhbXBsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2FtcGxlcy5sZW5ndGh9fSx7a2V5OiJpc0VuY3J5cHRpb24iLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzQXVkaW9FbmNyeXB0aW9ufX0se2tleToiZmlyc3REdHMiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNhbXBsZXMubGVuZ3RoP3RoaXMuc2FtcGxlc1swXS5kdHM6bnVsbH19LHtrZXk6ImZpcnN0UHRzIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zYW1wbGVzLmxlbmd0aD90aGlzLnNhbXBsZXNbMF0ucHRzOm51bGx9fSx7a2V5OiJzYW1wbGVzRHVyYXRpb24iLGdldDpmdW5jdGlvbigpe2lmKHRoaXMuc2FtcGxlcy5sZW5ndGg+MCl7dmFyIEE9dGhpcy5zYW1wbGVzWzBdLGc9dGhpcy5zYW1wbGVzW3RoaXMuc2FtcGxlcy5sZW5ndGgtMV07cmV0dXJuIGcuZHRzLUEuZHRzK2cuZHVyYXRpb259cmV0dXJuIDB9fV0pLEF9KCksdmg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKGcsSSxCKXtlaCh0aGlzLEEpLG5oKHRoaXMsImZsYWciLHt9KSxuaCh0aGlzLCJrZXlmcmFtZSIsITEpLG5oKHRoaXMsImdvcElkIiwwKSxuaCh0aGlzLCJkdXJhdGlvbiIsMCksbmgodGhpcywic2l6ZSIsMCksbmgodGhpcywidW5pdHMiLFtdKSxuaCh0aGlzLCJjaHJvbWFGb3JtYXQiLDQyMCksbmgodGhpcywic2lkZURhdGEiLG51bGwpLHRoaXMub3JpZ2luUHRzPXRoaXMucHRzPWcsdGhpcy5vcmlnaW5EdHM9dGhpcy5kdHM9SSxCJiYodGhpcy51bml0cz1CKX1yZXR1cm4gcmgoQSxbe2tleToiY3RzIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdHMtdGhpcy5kdHN9fSx7a2V5OiJzZXRUb0tleWZyYW1lIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMua2V5ZnJhbWU9ITAsdGhpcy5mbGFnLmRlcGVuZHNPbj0yLHRoaXMuZmxhZy5pc05vblN5bmNTYW1wbGU9MH19XSksQX0oKSxOaD1yaCgoZnVuY3Rpb24gQShnLEksQixRKXtlaCh0aGlzLEEpLG5oKHRoaXMsImR1cmF0aW9uIiwxMDI0KSxuaCh0aGlzLCJmbGFnIix7ZGVwZW5kc09uOjIsaXNOb25TeW5jU2FtcGxlOjB9KSxuaCh0aGlzLCJrZXlmcmFtZSIsITApLHRoaXMub3JpZ2luUHRzPXRoaXMucHRzPXRoaXMuZHRzPWcsdGhpcy5kYXRhPUksdGhpcy5zaXplPUkuYnl0ZUxlbmd0aCx0aGlzLnNhbXBsZU9mZnNldD1RLEImJih0aGlzLmR1cmF0aW9uPUIpfSkpLE1oPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe2VoKHRoaXMsQSksbmgodGhpcywiaWQiLDMpLG5oKHRoaXMsInR5cGUiLHloKSxuaCh0aGlzLCJ0aW1lc2NhbGUiLDApLG5oKHRoaXMsImZsdlNjcmlwdFNhbXBsZXMiLFtdKSxuaCh0aGlzLCJzZWlTYW1wbGVzIixbXSl9cmV0dXJuIHJoKEEsW3trZXk6ImV4aXN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEoIXRoaXMuZmx2U2NyaXB0U2FtcGxlcy5sZW5ndGgmJiF0aGlzLnNlaVNhbXBsZXMubGVuZ3RofHwhdGhpcy50aW1lc2NhbGUpfX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy50aW1lc2NhbGU9MCx0aGlzLmZsdlNjcmlwdFNhbXBsZXM9W10sdGhpcy5zZWlTYW1wbGVzPVtdfX0se2tleToiaGFzU2FtcGxlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEoIXRoaXMuZmx2U2NyaXB0U2FtcGxlcy5sZW5ndGgmJiF0aGlzLnNlaVNhbXBsZXMubGVuZ3RoKX19XSksQX0oKSxZaD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyxIaD1ZaCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvY2FsZUxvd2VyQ2FzZSgpLExoPVloJiZIaC5pbmNsdWRlcygiZmlyZWZveCIpLEpoPVloJiZIaC5pbmNsdWRlcygiYW5kcm9pZCIpLG1oPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe2VoKHRoaXMsQSl9cmV0dXJuIHJoKEEsbnVsbCxbe2tleToiZ2V0UmF0ZUluZGV4QnlSYXRlIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gQS5GUkVRLmluZGV4T2YoZyl9fSx7a2V5OiJwYXJzZUFEVFMiLHZhbHVlOmZ1bmN0aW9uKGcsSSl7Zm9yKHZhciBCPWcubGVuZ3RoLFE9MDtRKzI8QiYmKDI1NSE9PWdbUV18fDI0MCE9KDI0NiZnW1ErMV0pKTspUSsrO2lmKCEoUT49Qikpe3ZhciBDPVEsRT1bXSx0PSg2MCZnW1ErMl0pPj4+MixlPUEuRlJFUVt0XTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2FtcGxpbmcgaW5kZXg6ICIuY29uY2F0KHQpKTtmb3IodmFyIGkscixuPTErKCgxOTImZ1tRKzJdKT4+PjYpLG89KDEmZ1tRKzJdKTw8MnwoMTkyJmdbUSszXSk+Pj42LGE9QS5fZ2V0Q29uZmlnKHQsbyxuKSxzPWEuY29uZmlnLGM9YS5jb2RlYyxoPTAsZj1BLmdldEZyYW1lRHVyYXRpb24oZSk7USs3PEI7KWlmKDI1NT09PWdbUV0mJjI0MD09KDI0NiZnW1ErMV0pKXtpZighKHI9KDMmZ1tRKzNdKTw8MTF8Z1tRKzRdPDwzfCgyMjQmZ1tRKzVdKT4+NSl8fEItUTxyKWJyZWFrO2k9MiooMSZ+Z1tRKzFdKSxFLnB1c2goe3B0czpJK2gqZixkYXRhOmcuc3ViYXJyYXkoUSs3K2ksUStyKX0pLGgrKyxRKz1yfWVsc2UgUSsrO3JldHVybntza2lwOkMscmVtYWluaW5nOlE+PUI/dm9pZCAwOmcuc3ViYXJyYXkoUSksZnJhbWVzOkUsc2FtcGxpbmdGcmVxdWVuY3lJbmRleDp0LHNhbXBsZVJhdGU6ZSxvYmplY3RUeXBlOm4sY2hhbm5lbENvdW50Om8sY29kZWM6Yyxjb25maWc6cyxvcmlnaW5Db2RlYzoibXA0YS40MC4iLmNvbmNhdChuKX19fX0se2tleToicGFyc2VBdWRpb1NwZWNpZmljQ29uZmlnIix2YWx1ZTpmdW5jdGlvbihnKXtpZihnLmxlbmd0aCl7dmFyIEk9Z1swXT4+PjMsQj0oNyZnWzBdKTw8MXxnWzFdPj4+NyxRPSgxMjAmZ1sxXSk+Pj4zLEM9QS5GUkVRW0JdO2lmKEMpe3ZhciBFPUEuX2dldENvbmZpZyhCLFEsSSk7cmV0dXJue3NhbXBsaW5nRnJlcXVlbmN5SW5kZXg6QixzYW1wbGVSYXRlOkMsb2JqZWN0VHlwZTpJLGNoYW5uZWxDb3VudDpRLGNvbmZpZzpFLmNvbmZpZyxjb2RlYzpFLmNvZGVjLG9yaWdpbkNvZGVjOiJtcDRhLjQwLiIuY29uY2F0KEkpfX19fX0se2tleToiZ2V0RnJhbWVEdXJhdGlvbiIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIDEwMjQqKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTo5ZTQpL0F9fSx7a2V5OiJfZ2V0Q29uZmlnIix2YWx1ZTpmdW5jdGlvbihBLGcsSSl7dmFyIEIsUSxDPVtdO3JldHVybiBMaD9BPj02PyhCPTUsUT1BLTMpOihCPTIsUT1BKTpKaD8oQj0yLFE9QSk6KEI9NSxRPUEsQT49Nj9RPUEtMzoxPT09ZyYmKEI9MixRPUEpKSxDWzBdPUI8PDMsQ1swXXw9KDE0JkEpPj4xLENbMV09KDEmQSk8PDcsQ1sxXXw9Zzw8Myw1PT09QiYmKENbMV18PSgxNCZRKT4+MSxDWzJdPSgxJlEpPDw3LENbMl18PTgsQ1szXT0wKSx7Y29uZmlnOkMsY29kZWM6Im1wNGEuNDAuIi5jb25jYXQoQil9fX0se2tleToiZ2V0U2lsZW50RnJhbWUiLHZhbHVlOmZ1bmN0aW9uKEEsZyl7aWYoIm1wNGEuNDAuMiI9PT1BKXtpZigxPT09ZylyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDM1LDEyOF0pO2lmKDI9PT1nKXJldHVybiBuZXcgVWludDhBcnJheShbMzMsMCw3MywxNDQsMiwyNSwwLDM1LDEyOF0pO2lmKDM9PT1nKXJldHVybiBuZXcgVWludDhBcnJheShbMCwyMDAsMCwxMjgsMzIsMTMyLDEsMzgsNjQsOCwxMDAsMCwxNDJdKTtpZig0PT09ZylyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTI4LDQ0LDEyOCw4LDIsNTZdKTtpZig1PT09ZylyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTMwLDQ4LDQsMTUzLDAsMzMsMTQ0LDIsNTZdKTtpZig2PT09ZylyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTMwLDQ4LDQsMTUzLDAsMzMsMTQ0LDIsMCwxNzgsMCwzMiw4LDIyNF0pfWVsc2V7aWYoMT09PWcpcmV0dXJuIG5ldyBVaW50OEFycmF5KFsxLDY0LDM0LDEyOCwxNjMsNzgsMjMwLDEyOCwxODYsOCwwLDAsMCwyOCw2LDI0MSwxOTMsMTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTRdKTtpZigyPT09ZylyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzEsNjQsMzQsMTI4LDE2Myw5NCwyMzAsMTI4LDE4Niw4LDAsMCwwLDAsMTQ5LDAsNiwyNDEsMTYxLDEwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDk0XSk7aWYoMz09PWcpcmV0dXJuIG5ldyBVaW50OEFycmF5KFsxLDY0LDM0LDEyOCwxNjMsOTQsMjMwLDEyOCwxODYsOCwwLDAsMCwwLDE0OSwwLDYsMjQxLDE2MSwxMCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5NF0pfX19XSksQX0oKTtuaChtaCwiRlJFUSIsWzk2ZTMsODgyMDAsNjRlMyw0OGUzLDQ0MTAwLDMyZTMsMjRlMywyMjA1MCwxNmUzLDEyZTMsMTEwMjUsOGUzLDczNTBdKTt2YXIgS2g9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKGcsSSl7ZWgodGhpcyxBKSx0aGlzLm9mZnNldD0wLHRoaXMudmFsPWcsdGhpcy5zaXplPUl9cmV0dXJuIHJoKEEsW3trZXk6InNraXAiLHZhbHVlOmZ1bmN0aW9uKEEpe3RoaXMub2Zmc2V0Kz1BfX0se2tleToicmVhZCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9dGhpcy5zaXplLXRoaXMub2Zmc2V0LUE7aWYoZz49MCl7dmFyIEk9MCxCPTA7aWYodGhpcy5vZmZzZXQrPUEsdGhpcy5zaXplPjMxKXtmb3IoO0I8QTtCKyspSSs9TWF0aC5wb3coMixCKTtyZXR1cm4gdGhpcy52YWwvTWF0aC5wb3coMixnKSZJfWZvcig7QjxBO0IrKylJKz0xPDxCO3JldHVybiB0aGlzLnZhbD4+PmcmSX10aHJvdyBuZXcgRXJyb3IoInRoZSBudW1iZXIgb2YgdGhlIHJlYWQgb3BlcmF0aW9uIGV4Y2VlZHMgdGhlIHRvdGFsIGxlbmd0aCBsaW1pdCBvZiBiaXRzIil9fV0sW3trZXk6ImZyb21CeXRlIix2YWx1ZTpmdW5jdGlvbihnLEkpe3JldHVybiBuZXcgQShnLnJlYWQoSSksSTw8Myl9fV0pLEF9KCkseGg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKGcsSSxCKXtlaCh0aGlzLEEpLHRoaXMuZHY9bmV3IERhdGFWaWV3KGcpLHRoaXMuc3RhcnQ9dGhpcy5vZmZzZXQ9SXx8dGhpcy5kdi5ieXRlT2Zmc2V0LHRoaXMuZW5kPUI/dGhpcy5zdGFydCtCOnRoaXMuc3RhcnQrdGhpcy5kdi5ieXRlTGVuZ3RofXJldHVybiByaChBLFt7a2V5OiJidWZmZXIiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmR2LmJ1ZmZlcn19LHtrZXk6InVucmVhZExlbmd0aCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWF4KHRoaXMuZW5kLXRoaXMub2Zmc2V0LDApfX0se2tleToic2l6ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5kLXRoaXMuc3RhcnR9fSx7a2V5OiJyZWFkRmxvYXQiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBnPTA7c3dpdGNoKEEpe2Nhc2UgNDpnPXRoaXMuZHYuZ2V0RmxvYXQzMih0aGlzLm9mZnNldCk7YnJlYWs7Y2FzZSA4Omc9dGhpcy5kdi5nZXRGbG9hdDY0KHRoaXMub2Zmc2V0KTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigicmVhZCAiLmNvbmNhdChBLCItYnl0ZSBmbG9hdCBpcyBub3Qgc3VwcG9ydGVkIikpfXJldHVybiB0aGlzLm9mZnNldCs9QSxnfX0se2tleToiYmFjayIsdmFsdWU6ZnVuY3Rpb24oQSl7dGhpcy5vZmZzZXQtPUF9fSx7a2V5OiJza2lwIix2YWx1ZTpmdW5jdGlvbihBKXt0aGlzLm9mZnNldCs9QX19LHtrZXk6InJlYWRJbnQiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBnPXRoaXMub2Zmc2V0O3N3aXRjaCh0aGlzLm9mZnNldCs9QSxBKXtjYXNlIDE6cmV0dXJuIHRoaXMuZHYuZ2V0SW50OChnKTtjYXNlIDI6cmV0dXJuIHRoaXMuZHYuZ2V0SW50MTYoZyk7Y2FzZSA0OnJldHVybiB0aGlzLmR2LmdldEludDMyKGcpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJyZWFkICIuY29uY2F0KEEsIi1ieXRlIGludGVnZXJzIGlzIG5vdCBzdXBwb3J0ZWQiKSl9fX0se2tleToicmVhZCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9dGhpcy5vZmZzZXQ7c3dpdGNoKHRoaXMub2Zmc2V0Kz1BLEEpe2Nhc2UgMTpyZXR1cm4gdGhpcy5kdi5nZXRVaW50OChnKTtjYXNlIDI6cmV0dXJuIHRoaXMuZHYuZ2V0VWludDE2KGcpO2Nhc2UgMzpyZXR1cm4odGhpcy5kdi5nZXRVaW50MTYoZyk8PDgpK3RoaXMuZHYuZ2V0VWludDgoZysyKTtjYXNlIDQ6cmV0dXJuIHRoaXMuZHYuZ2V0VWludDMyKGcpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuYmFjayhBLTQpLHRoaXMucmVhZChBLTQpK3RoaXMuZHYuZ2V0VWludDMyKGcpKk1hdGgucG93KDI1NixBLTQpfX19LHtrZXk6IndyaXRlIix2YWx1ZTpmdW5jdGlvbihBLGcpe3ZhciBJPXRoaXMub2Zmc2V0O3N3aXRjaCh0aGlzLm9mZnNldCs9QSxBKXtjYXNlIDE6cmV0dXJuIHRoaXMuZHYuc2V0VWludDgoSSxnKTtjYXNlIDI6cmV0dXJuIHRoaXMuZHYuc2V0VWludDE2KEksZyk7Y2FzZSAzOnJldHVybiB0aGlzLmR2LnNldFVpbnQ4KEksZz4+PjE2KSx0aGlzLmR2LnNldFVpbnQxNihJKzEsNjU1MzUmZyk7Y2FzZSA0OnJldHVybiB0aGlzLmR2LnNldFVpbnQzMihJLGcpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ3cml0ZSAiLmNvbmNhdChBLCItYnl0ZSBpbnRlZ2VycyBpcyBub3Qgc3VwcG9ydGVkIikpfX19LHtrZXk6InJlYWRUb0J1ZmZlciIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc7cmV0dXJuIGc9dGhpcy5vZmZzZXR8fEE/dGhpcy5kdi5idWZmZXIuc2xpY2UodGhpcy5vZmZzZXQsQT90aGlzLm9mZnNldCtBOnRoaXMuZW5kKTp0aGlzLmR2LmJ1ZmZlcix0aGlzLm9mZnNldCs9Zy5ieXRlTGVuZ3RoLGd9fSx7a2V5OiJyZWFkVG9VaW50OCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9bmV3IFVpbnQ4QXJyYXkodGhpcy5kdi5idWZmZXIsdGhpcy5vZmZzZXQsQXx8dGhpcy51bnJlYWRMZW5ndGgpO3JldHVybiB0aGlzLm9mZnNldCs9Zy5ieXRlTGVuZ3RoLGd9fSx7a2V5OiJyZWFkU3RyaW5nIix2YWx1ZTpmdW5jdGlvbihBKXtmb3IodmFyIGc9MCxJPSIiO2c8QTtnKyspSSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLmR2LmdldFVpbnQ4KHRoaXMub2Zmc2V0KSksdGhpcy5vZmZzZXQrKztyZXR1cm4gSX19XSxbe2tleToiZnJvbVVpbnQ4Iix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gbmV3IEEoZy5idWZmZXIsZy5ieXRlT2Zmc2V0LGcuYnl0ZUxlbmd0aCl9fSx7a2V5OiJjb25jYXRVaW50OHMiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBnPW5ldyBVaW50OEFycmF5KEEucmVkdWNlKChmdW5jdGlvbihBLGcpe3JldHVybiBBK2cuYnl0ZUxlbmd0aH0pLDApKSxJPTA7cmV0dXJuIEEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zy5zZXQoQSxJKSxJKz1BLmJ5dGVMZW5ndGh9KSksZ319LHtrZXk6ImNvbmNhdFVpbnQ4Iix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1hcmd1bWVudHMubGVuZ3RoLGc9bmV3IEFycmF5KEEpLEk9MDtJPEE7SSsrKWdbSV09YXJndW1lbnRzW0ldO3JldHVybiB0aGlzLmNvbmNhdFVpbnQ4cyhnKX19XSksQX0oKSxxaD1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoZyl7aWYoZWgodGhpcyxBKSx0aGlzLl9iaXRzQXZhaWxhYmxlPTAsdGhpcy5fd29yZD0wLCFnKXRocm93IG5ldyBFcnJvcigiRXhwR29sb21iIGRhdGEgcGFyYW1zIGlzIHJlcXVpcmVkIik7dGhpcy5fZGF0YT1nLHRoaXMuX2J5dGVzQXZhaWxhYmxlPWcuYnl0ZUxlbmd0aCx0aGlzLl9ieXRlc0F2YWlsYWJsZSYmdGhpcy5fbG9hZFdvcmQoKX1yZXR1cm4gcmgoQSxbe2tleToiYml0c0F2YWlsYWJsZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpdHNBdmFpbGFibGV9fSx7a2V5OiJiaXRzUG9zIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiA4KnRoaXMuX2J5dGVzQXZhaWxhYmxlLXRoaXMuX2JpdHNBdmFpbGFibGV9fSx7a2V5OiJiaXRzTGVmdCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gOCp0aGlzLl9kYXRhLmxlbmd0aC10aGlzLmJpdHNQb3MoKX19LHtrZXk6ImJ5dGVBbGlnbmVkIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5iaXRzUG9zKCl8fHRoaXMuYml0c1BvcygpJTg9PTB9fSx7a2V5OiJfbG9hZFdvcmQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcy5fZGF0YS5ieXRlTGVuZ3RoLXRoaXMuX2J5dGVzQXZhaWxhYmxlLGc9TWF0aC5taW4oNCx0aGlzLl9ieXRlc0F2YWlsYWJsZSk7aWYoMD09PWcpdGhyb3cgbmV3IEVycm9yKCJObyBieXRlcyBhdmFpbGFibGUiKTt2YXIgST1uZXcgVWludDhBcnJheSg0KTtJLnNldCh0aGlzLl9kYXRhLnN1YmFycmF5KEEsQStnKSksdGhpcy5fd29yZD1uZXcgRGF0YVZpZXcoSS5idWZmZXIpLmdldFVpbnQzMigwKSx0aGlzLl9iaXRzQXZhaWxhYmxlPTgqZyx0aGlzLl9ieXRlc0F2YWlsYWJsZS09Z319LHtrZXk6InNraXBCaXRzIix2YWx1ZTpmdW5jdGlvbihBKXtpZih0aGlzLl9iaXRzQXZhaWxhYmxlPkEpdGhpcy5fd29yZDw8PUEsdGhpcy5fYml0c0F2YWlsYWJsZS09QTtlbHNle0EtPXRoaXMuX2JpdHNBdmFpbGFibGU7dmFyIGc9TWF0aC5mbG9vcihBLzgpO0EtPTgqZyx0aGlzLl9ieXRlc0F2YWlsYWJsZS09Zyx0aGlzLl9sb2FkV29yZCgpLHRoaXMuX3dvcmQ8PD1BLHRoaXMuX2JpdHNBdmFpbGFibGUtPUF9fX0se2tleToicmVhZEJpdHMiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKEE+MzIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcmVhZCBtb3JlIHRoYW4gMzIgYml0cyIpO3ZhciBnPU1hdGgubWluKHRoaXMuX2JpdHNBdmFpbGFibGUsQSksST10aGlzLl93b3JkPj4+MzItZztyZXR1cm4gdGhpcy5fYml0c0F2YWlsYWJsZS09Zyx0aGlzLl9iaXRzQXZhaWxhYmxlPjA/dGhpcy5fd29yZDw8PWc6dGhpcy5fYnl0ZXNBdmFpbGFibGU+MCYmdGhpcy5fbG9hZFdvcmQoKSwoZz1BLWcpPjAmJnRoaXMuX2JpdHNBdmFpbGFibGU/STw8Z3x0aGlzLnJlYWRCaXRzKGcpOkl9fSx7a2V5OiJza2lwTFoiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE7Zm9yKEE9MDtBPHRoaXMuX2JpdHNBdmFpbGFibGU7KytBKWlmKHRoaXMuX3dvcmQmMjE0NzQ4MzY0OD4+PkEpcmV0dXJuIHRoaXMuX3dvcmQ8PD1BLHRoaXMuX2JpdHNBdmFpbGFibGUtPUEsQTtyZXR1cm4gdGhpcy5fbG9hZFdvcmQoKSxBK3RoaXMuc2tpcExaKCl9fSx7a2V5OiJza2lwVUVHIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc2tpcEJpdHMoMSt0aGlzLnNraXBMWigpKX19LHtrZXk6InJlYWRVRUciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcy5za2lwTFooKTtyZXR1cm4gdGhpcy5yZWFkQml0cyhBKzEpLTF9fSx7a2V5OiJyZWFkRUciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcy5yZWFkVUVHKCk7cmV0dXJuIDEmQT8xK0E+Pj4xOi0xKihBPj4+MSl9fSx7a2V5OiJyZWFkQm9vbCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMucmVhZEJpdHMoMSl9fSx7a2V5OiJyZWFkVUJ5dGUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZEJpdHMoOCl9fSx7a2V5OiJza2lwU2NhbGluZ0xpc3QiLHZhbHVlOmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz04LEk9OCxCPTA7QjxBO0IrKykwIT09SSYmKEk9KGcrdGhpcy5yZWFkRUcoKSsyNTYpJTI1NiksZz0wPT09ST9nOkl9fV0pLEF9KCk7ZnVuY3Rpb24gYmgoQSxnKXtyZXR1cm4gZz9BLnJlYWRUb1VpbnQ4KGcpLnNsaWNlKCk6bmV3IFVpbnQ4QXJyYXl9dmFyIFRoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe2VoKHRoaXMsQSl9cmV0dXJuIHJoKEEsbnVsbCxbe2tleToiZ2V0TmFsVHlwZSIsdmFsdWU6ZnVuY3Rpb24oQSl7aWYoQSYmIShBLmJ5dGVMZW5ndGg8PTEpKXJldHVybigyNDgmQVsxXSk+PjN9fSx7a2V5OiJnZXROYWxUeXBlcyIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIG51bGwhPWcmJmcubGVuZ3RoP2cubWFwKChmdW5jdGlvbihnKXtyZXR1cm4gQS5nZXROYWxUeXBlKGcpfSkpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBBfSkpOltdfX0se2tleToiZ2V0TmFsSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEk9QS5nZXROYWxUeXBlcyhnKTtpZihJLmxlbmd0aCl7dmFyIEI9IiI7cmV0dXJuIEkuaW5jbHVkZXMoNyl8fEkuaW5jbHVkZXMoOCk/Qj0iaWRyIjpJLmluY2x1ZGVzKDkpJiYoQj0iY3JhIikse25hbFR5cGVzOkkscmFuZG9tQWNjZXNzVHlwZTpCLHJhc2w6SS5pbmNsdWRlcygzKX19fX0se2tleToiYnVpbGRDb2RlY1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oQSxnKXt2YXIgST1BfHwidnZjMSI7aWYoIWcpcmV0dXJuIiIuY29uY2F0KEksIi4xLkw5MyIpO3ZhciBCPWcuZ2VuZXJhbFByb2ZpbGVJZGN8fDEsUT1nLmdlbmVyYWxUaWVyRmxhZz8iSCI6IkwiLEM9Zy5nZW5lcmFsTGV2ZWxJZGN8fDkzO3JldHVybiIiLmNvbmNhdChJLCIuIikuY29uY2F0KEIsIi4iKS5jb25jYXQoUSkuY29uY2F0KEMpfX0se2tleToicGFyc2VWVkNEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZCIsdmFsdWU6ZnVuY3Rpb24oZyxJKXtyZXR1cm4gQS5fcGFyc2VTdGFuZGFyZFZ2Y0NvbmZpZ3VyYXRpb25SZWNvcmQoZyxJfHwidnZjMSIpfX0se2tleToiX3BhcnNlU3RhbmRhcmRWdmNDb25maWd1cmF0aW9uUmVjb3JkIix2YWx1ZTpmdW5jdGlvbihnLEkpe3ZhciBCPWc7Qi5sZW5ndGg+PTUmJkJbMF08MjQ4JiYoQj1CLnN1YmFycmF5KDQpKTt2YXIgUT14aC5mcm9tVWludDgoQiksQz1LaC5mcm9tQnl0ZShRLDEpO0MucmVhZCg1KTt2YXIgRSx0LGUsaSxyLG4sbyxhPUMucmVhZCgyKSxzPUMucmVhZCgxKSxjPTEsaD17fTtpZihzKXt2YXIgZj1LaC5mcm9tQnl0ZShRLDIpO0U9Zi5yZWFkKDkpLGM9Zi5yZWFkKDMpLHQ9Zi5yZWFkKDIpLGU9Zi5yZWFkKDIpO3ZhciB1PUtoLmZyb21CeXRlKFEsMSk7aT11LnJlYWQoMyksdS5yZWFkKDUpLGg9QS5wYXJzZVZWQ1BUTFJlY29yZChRLGMpLHI9US5yZWFkKDIpLG49US5yZWFkKDIpLG89US5yZWFkKDIpfXZhciB5PUEuX3BhcnNlVlZDTmFsQXJyYXlzKFEpO3JldHVybntkYXRhOmcsY29kZWM6QS5idWlsZENvZGVjU3RyaW5nKEksaCksc2FtcGxlRW50cnlUeXBlOkl8fCJ2dmMxIixuYWxVbml0U2l6ZTphKzEscHRsUHJlc2VudEZsYWc6cyxvbHNJZHg6RSxudW1TdWJsYXllcnM6Yyxjb25zdGFudEZyYW1lUmF0ZTp0LGNocm9tYUZvcm1hdElkYzplLGJpdERlcHRoTHVtYU1pbnVzODppLHB0bFJlY29yZDpoLHdpZHRoOnIsaGVpZ2h0Om4sc2FtcGxlUmF0ZTpvLG51bU9mQXJyYXlzOnkubnVtT2ZBcnJheXMsdnBzOnkudnBzLHNwczp5LnNwcyxwcHM6eS5wcHMsc3BzUGFyc2VkOnkuc3BzUGFyc2VkfX19LHtrZXk6Il9wYXJzZVZWQ05hbEFycmF5cyIsdmFsdWU6ZnVuY3Rpb24oZyl7Zm9yKHZhciBJPWcucmVhZCgxKSxCPVtdLFE9W10sQz1bXSxFPW51bGwsdD0wO3Q8STt0Kyspe3ZhciBlPUtoLmZyb21CeXRlKGcsMSk7ZS5yZWFkKDEpLGUucmVhZCgyKTt2YXIgaT1lLnJlYWQoNSkscj0xOzEzIT09aSYmMTIhPT1pJiYocj1nLnJlYWQoMikpO2Zvcih2YXIgbj0wO248cjtuKyspe3ZhciBvPWcucmVhZCgyKTtzd2l0Y2goaSl7Y2FzZSAxNDpCLnB1c2goYmgoZyxvKSk7YnJlYWs7Y2FzZSAxNTp2YXIgYT1iaChnLG8pO2lmKCFFKXRyeXtFPUEucGFyc2VTUFMoQS5yZW1vdmVFUEIoYSkpfWNhdGNoKHMpe31RLnB1c2goYSk7YnJlYWs7Y2FzZSAxNjpDLnB1c2goYmgoZyxvKSk7YnJlYWs7ZGVmYXVsdDpiaChnLG8pfX19cmV0dXJue251bU9mQXJyYXlzOkksdnBzOkIsc3BzOlEscHBzOkMsc3BzUGFyc2VkOkV9fX0se2tleToicGFyc2VWVkNQVExSZWNvcmQiLHZhbHVlOmZ1bmN0aW9uKEEsZyl7dmFyIEk9S2guZnJvbUJ5dGUoQSwyKTtJLnJlYWQoMik7dmFyIEI9SS5yZWFkKDYpLFE9SS5yZWFkKDcpLEM9SS5yZWFkKDEpLEU9QS5yZWFkKDEpLHQ9S2guZnJvbUJ5dGUoQSwxKSxlPXQucmVhZCgxKSxpPXQucmVhZCgxKSxyPW5ldyBVaW50OEFycmF5KEIpO2lmKEIpe2Zvcih2YXIgbj0wO248Qi0xO24rKyl7dmFyIG89dC5yZWFkKDYpLGE9KHQ9S2guZnJvbUJ5dGUoQSwxKSkucmVhZCgyKTtyW25dPW88PDJ8YX1yW0ItMV09dC5yZWFkKDYpfWVsc2UgdC5yZWFkKDYpO3ZhciBzPVtdO2lmKGc+MSl7Zm9yKHZhciBjPUtoLmZyb21CeXRlKEEsMSksaD0wLGY9Zy0yO2Y+PTA7LS1mKXtofD1jLnJlYWQoMSk8PGZ9Zm9yKHZhciB1PWc7dTw9OCYmZz4xOysrdSljLnJlYWQoMSk7Zm9yKHZhciB5PWctMjt5Pj0wOy0teSloJjE8PHkmJihzW3ldPUEucmVhZCgxKSl9dmFyIGw9QS5yZWFkKDEpLEQ9W107aWYobClmb3IodmFyIGQ9MDtkPGw7ZCsrKUQucHVzaChBLnJlYWRJbnQoNCkpO3JldHVybntnZW5lcmFsUHJvZmlsZUlkYzpRLGdlbmVyYWxUaWVyRmxhZzpDLGdlbmVyYWxMZXZlbElkYzpFLHB0bEZyYW1lT25seUNvbnN0cmFpbnRGbGFnOmUscHRsTXVsdGlsYXllckVuYWJsZWRGbGFnOmksZ2VuZXJhbENvbnN0cmFpbnRJbmZvOnIsc3ViTGF5ZXJMZXZlbElkYzpzLGdlbmVyYWxTdWJQcm9maWxlSWRjOkQscHRsTnVtU3ViUHJvZmlsZXM6bCxudW1CeXRlc0NvbnN0cmFpbnRJbmZvOkJ9fX0se2tleToiZ2V0QXZjY05hbHMiLHZhbHVlOmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1bXTtBLnBvc2l0aW9uPEEubGVuZ3RoLTQ7KXt2YXIgST1BLmRhdGF2aWV3LmdldEludDMyKEEuZGF0YXZpZXcucG9zaXRpb24pO2lmKCEoQS5sZW5ndGgtQS5wb3NpdGlvbj49SSkpYnJlYWs7dmFyIEI9QS5idWZmZXIuc2xpY2UoQS5wb3NpdGlvbixBLnBvc2l0aW9uKzQpO0Euc2tpcCg0KTt2YXIgUT1uZXcgVWludDhBcnJheShBLmJ1ZmZlci5zbGljZShBLnBvc2l0aW9uLEEucG9zaXRpb24rSSkpO0Euc2tpcChJKSxnLnB1c2goe2hlYWRlcjpCLGJvZHk6UX0pfXJldHVybiBnfX0se2tleToiYW5hbHlzZU5hbCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9KDI0OCZBLmJvZHlbMV0pPj4zO3N3aXRjaChBLnR5cGU9ZyxnKXtjYXNlIDIzOmNhc2UgMjQ6YnJlYWs7Y2FzZSA3OmNhc2UgODpBLmtleT0hMDticmVhaztjYXNlIDE0OkEudnBzPSEwO2JyZWFrO2Nhc2UgMTU6QS5zcHM9ITA7YnJlYWs7Y2FzZSAxNjpBLnBwcz0hMDticmVhaztjYXNlIDE3OkEuYXBzPSEwfX19LHtrZXk6InJlbW92ZUVQQiIsdmFsdWU6ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPUEuYnl0ZUxlbmd0aCxJPVtdLEI9MTtCPGctMjspMD09PUFbQl0mJjA9PT1BW0IrMV0mJjM9PT1BW0IrMl0/KEkucHVzaChCKzIpLEIrPTIpOkIrKztpZighSS5sZW5ndGgpcmV0dXJuIEE7dmFyIFE9Zy1JLmxlbmd0aCxDPW5ldyBVaW50OEFycmF5KFEpLEU9MDtmb3IoQj0wO0I8UTtFKyssQisrKUU9PT1JWzBdJiYoRSsrLEkuc2hpZnQoKSksQ1tCXT1BW0VdO3JldHVybiBDfX0se2tleToicGFyc2VWcHMiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToicGFyc2VTUFMiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPW5ldyBxaChnKTtJLnJlYWRVQnl0ZSgpLEkucmVhZFVCeXRlKCksSS5za2lwQml0cyg0KTt2YXIgQj1JLnJlYWRCaXRzKDQpLFE9SS5yZWFkQml0cygzKSxDPUkucmVhZEJpdHMoMiksRT00MjA7Qzw9MyYmKEU9WzAsNDIwLDQyMiw0NDRdW0NdKSxJLnJlYWRCaXRzKDIpLEkucmVhZEJpdHMoMSk7dmFyIHQ9QS5fcGFyc2VQcm9maWxlVGllckxldmVsKEksMSxRKTtyZXR1cm4gSS5yZWFkQml0cygxKSxJLnJlYWRCaXRzKDEpJiZJLnJlYWRCaXRzKDEpLHt3aWR0aDpJLnJlYWRVRUcoKSxoZWlnaHQ6SS5yZWFkVUVHKCksc3BzTWF4U3ViTGF5ZXJNaW51czE6USxzcHNWaWRlb1BhcmFtZXRlclNldElkOkIsY2hyb21hRm9ybWF0SWRjOkMsY2hyb21hRm9ybWF0OkUscHRsSW5mbzp0fX19LHtrZXk6Il9wYXJzZVByb2ZpbGVUaWVyTGV2ZWwiLHZhbHVlOmZ1bmN0aW9uKGcsSSxCKXt2YXIgUSxDPWcucmVhZEJpdHMoNyksRT1nLnJlYWRCaXRzKDEpLHQ9Zy5yZWFkQml0cyg4KSxlPWcucmVhZEJpdHMoMSksaT1nLnJlYWRCaXRzKDEpO0kmJihRPUEuX3BhcnNlR2VuZXJhbENvbnN0cmFpbnRzSW5mbyhnKSk7Zm9yKHZhciByPUItMSxuPVtdLG89W10sYT1bXSxzPXI7cz49MDstLXMpbltzXT1nLnJlYWRCaXRzKDEpO2Zvcig7IWcuYnl0ZUFsaWduZWQoKTspZy5yZWFkQml0cygxKTtmb3IodmFyIGM9cjtjPj0wOy0tYyluW2NdJiYob1tjXT1nLnJlYWRVQnl0ZSgpKTtpZihJKWZvcih2YXIgaD1nLnJlYWRVQnl0ZSgpLGY9MDtmPGg7ZisrKWFbZl09Zy5yZWFkQml0cygzMik7cmV0dXJue2dlbmVyYWxQcm9maWxlSWRjOkMsZ2VuZXJhbFRpZXJGbGFnOkUsZ2VuZXJhbExldmVsSWRjOnQscHRsRnJhbWVPbmx5Q29uc3RyYWludEZsYWc6ZSxwdGxNdWx0aWxheWVyRW5hYmxlZEZsYWc6aSxwdGxTdWJsYXllckxldmVsUHJlc2VudEZsYWdzOm4scHRsU3VibGF5ZXJMZXZlbElkY3M6byxwdGxTdWJQcm9maWxlSWRjczphLGdjaUluZm86UX19fSx7a2V5OiJfcGFyc2VHZW5lcmFsQ29uc3RyYWludHNJbmZvIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZz1BLnJlYWRCaXRzKDEpO2lmKGcpe0Euc2tpcEJpdHMoNzEpO3ZhciBJPUEucmVhZEJpdHMoOCk7SSYmQS5za2lwQml0cyhJKX12YXIgQj04LUEuYml0c1BvcygpJTg7cmV0dXJuIEEuc2tpcEJpdHMoQikse2djaVByZXNlbnRGbGFnOmd9fX1dKSxBfSgpLE9oPVtdLFBoPU9iamVjdC5jcmVhdGUobnVsbCksamg9T2JqZWN0LmNyZWF0ZShudWxsKSxXaD1PYmplY3QuY3JlYXRlKG51bGwpLFpoPVtdO2Z1bmN0aW9uIFZoKEEpe3JldHVybihBfHxbXSkuZmlsdGVyKEJvb2xlYW4pfXZhciBYaD1uZXcoZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7ZWgodGhpcyxBKX1yZXR1cm4gcmgoQSxbe2tleToicmVnaXN0ZXIiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKCFBfHwhQS5pZCl0aHJvdyBuZXcgRXJyb3IoInZpZGVvIGNvZGVjIGlkIGlzIHJlcXVpcmVkIik7dmFyIGc9T2guZmluZCgoZnVuY3Rpb24oZyl7cmV0dXJuIGcuaWQ9PT1BLmlkfSkpO3JldHVybiBnJiZ0aGlzLnVucmVnaXN0ZXIoZy5pZCksT2gucHVzaChBKSxmdW5jdGlvbihBKXtWaChBLnNhbXBsZUVudHJpZXMpLmZvckVhY2goKGZ1bmN0aW9uKGcpe1BoW2ddPUF9KSksVmgoQS5jb25maWdCb3hlcykuZm9yRWFjaCgoZnVuY3Rpb24oZyl7amhbZ109QX0pKSxWaChBLmNvZGVjU3RyaW5nUHJlZml4ZXMpLmZvckVhY2goKGZ1bmN0aW9uKGcpe1poLnB1c2goe3ByZWZpeDpnLGNvZGVjOkF9KX0pKSxBLmNvZGVjVHlwZSYmIVdoW0EuY29kZWNUeXBlXSYmKFdoW0EuY29kZWNUeXBlXT1BKX0oQSksQX19LHtrZXk6InVucmVnaXN0ZXIiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBnPU9oLmZpbmRJbmRleCgoZnVuY3Rpb24oZyl7cmV0dXJuIGcuaWQ9PT1BfSkpO2lmKCEoZzwwKSl7dmFyIEk9b2goT2guc3BsaWNlKGcsMSksMSlbMF07cmV0dXJuIGZ1bmN0aW9uKEEpe1ZoKEEuc2FtcGxlRW50cmllcykuZm9yRWFjaCgoZnVuY3Rpb24oZyl7UGhbZ109PT1BJiZkZWxldGUgUGhbZ119KSksVmgoQS5jb25maWdCb3hlcykuZm9yRWFjaCgoZnVuY3Rpb24oZyl7amhbZ109PT1BJiZkZWxldGUgamhbZ119KSksQS5jb2RlY1R5cGUmJldoW0EuY29kZWNUeXBlXT09PUEmJmRlbGV0ZSBXaFtBLmNvZGVjVHlwZV07Zm9yKHZhciBnPVpoLmxlbmd0aC0xO2c+PTA7Zy0tKVpoW2ddLmNvZGVjPT09QSYmWmguc3BsaWNlKGcsMSl9KEkpLEl9fX0se2tleToiZ2V0QnlTYW1wbGVFbnRyeSIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIFBoW0FdfX0se2tleToiZ2V0QnlDb25maWdCb3giLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBqaFtBXX19LHtrZXk6ImdldEJ5Q29kZWNUeXBlIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gV2hbQV19fSx7a2V5OiJnZXRCeUNvZGVjU3RyaW5nIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZztpZihBKXJldHVybiBudWxsPT09KGc9WmguZmluZCgoZnVuY3Rpb24oZyl7cmV0dXJuIDA9PT1BLmluZGV4T2YoZy5wcmVmaXgpfSkpKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy5jb2RlY319LHtrZXk6ImdldEJ5VHJhY2siLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKEEpe3ZhciBnPUEudnZjY1NhbXBsZUVudHJ5VHlwZTtpZihnJiZ0aGlzLmdldEJ5U2FtcGxlRW50cnkoZykpcmV0dXJuIHRoaXMuZ2V0QnlTYW1wbGVFbnRyeShnKTt2YXIgST10aGlzLmdldEJ5Q29kZWNTdHJpbmcoQS5jb2RlYyk7cmV0dXJuIEl8fHRoaXMuZ2V0QnlDb2RlY1R5cGUoQS5jb2RlY1R5cGUpfX19LHtrZXk6Imxpc3QiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIE9oLnNsaWNlKCl9fV0pLEF9KCkpO2Z1bmN0aW9uIHpoKEEpe3JldHVybiBYaC5yZWdpc3RlcihBKX1mdW5jdGlvbiBfaCgpe3ZhciBBPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTtyZXR1cm4gQS50cmFjaz9YaC5nZXRCeVRyYWNrKEEudHJhY2spOkEuc2FtcGxlRW50cnk/WGguZ2V0QnlTYW1wbGVFbnRyeShBLnNhbXBsZUVudHJ5KTpBLmNvbmZpZ0JveD9YaC5nZXRCeUNvbmZpZ0JveChBLmNvbmZpZ0JveCk6QS5jb2RlY1R5cGU/WGguZ2V0QnlDb2RlY1R5cGUoQS5jb2RlY1R5cGUpOkEuY29kZWM/WGguZ2V0QnlDb2RlY1N0cmluZyhBLmNvZGVjKTp2b2lkIDB9ZnVuY3Rpb24gJGgoKXtmb3IodmFyIEE9YXJndW1lbnRzLmxlbmd0aCxnPW5ldyBBcnJheShBKSxJPTA7STxBO0krKylnW0ldPWFyZ3VtZW50c1tJXTtnPWcuZmlsdGVyKEJvb2xlYW4pO3ZhciBCPW5ldyBVaW50OEFycmF5KGcucmVkdWNlKChmdW5jdGlvbihBLGcpe3JldHVybiBBK2cuYnl0ZUxlbmd0aH0pLDApKSxRPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Qi5zZXQoQSxRKSxRKz1BLmJ5dGVMZW5ndGh9KSksQn16aCh7aWQ6InZ2YyIsa2luZDoidmlkZW8iLGNvZGVjVHlwZTp3aCxzYW1wbGVFbnRyaWVzOlsidnZjMSIsInZ2aTEiXSxjb25maWdCb3hlczpbInZ2Y0MiXSxjb2RlY1N0cmluZ1ByZWZpeGVzOlsidnZjMS4iLCJ2dmkxLiJdLHRyYWNrQ29uZmlnS2V5OiJ2dmNDIixzYW1wbGVFbnRyeVRyYWNrS2V5OiJ2dmNjU2FtcGxlRW50cnlUeXBlIixwYXJzZUNvbmZpZ0JveDpmdW5jdGlvbihBKXt2YXIgZz1BLmRhdGE7QS5ib3g7dmFyIEk9QS5zYW1wbGVFbnRyeVR5cGU7cmV0dXJuIFRoLnBhcnNlVlZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQoZyxJfHwidnZjMSIpfSxhcHBseVRyYWNrQ29uZmlnOmZ1bmN0aW9uKEEpe3ZhciBnLEksQixRLEMsRSx0LGU7UT0oZz1BKS50cmFjayxDPWcuZW50cnksRT1nLmNvbmZpZyx0PWcuZGVmYXVsdFNhbXBsZUVudHJ5VHlwZSxlPXZvaWQgMD09PXQ/InZ2YzEiOnQsUS5jb2RlY1R5cGU9d2gsUS5jb2RlYz1FLmNvZGVjLFEuc3BzPUUuc3BzLFEucHBzPUUucHBzLFEudnBzPUUudnBzLFEudnZjQz1FLmRhdGEsRS5uYWxVbml0U2l6ZSYmKFEubmFsVW5pdFNpemU9RS5uYWxVbml0U2l6ZSksUS52dmNjU2FtcGxlRW50cnlUeXBlPSJlbmN2Ij09PUMudHlwZT8obnVsbD09PShJPUMuc2luZil8fHZvaWQgMD09PUl8fG51bGw9PT0oQj1JLmZybWEpfHx2b2lkIDA9PT1CP3ZvaWQgMDpCLmRhdGFfZm9ybWF0KXx8RS5zYW1wbGVFbnRyeVR5cGV8fGU6Qy50eXBlfSxnZXRTYW1wbGVFbnRyeVR5cGU6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJhY2sudnZjY1NhbXBsZUVudHJ5VHlwZXx8InZ2YzEifSxnZXRDb25maWdCb3hUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRyYWNrLCJ2dmNDIn0sYnVpbGRDb25maWdCb3g6ZnVuY3Rpb24oQSl7dmFyIGc9QS50cmFjaztyZXR1cm4gZnVuY3Rpb24oQSl7dmFyIGc9QS50cmFjayxJPUEuTVA0LEI9QS5jb25maWdCb3hUeXBlLFE9dm9pZCAwPT09Qj8idnZjQyI6QjtyZXR1cm4gSS5ib3goSS50eXBlKFEpLG5ldyBVaW50OEFycmF5KGcudnZjQykpfSh7dHJhY2s6ZyxNUDQ6QS5NUDQsY29uZmlnQm94VHlwZTp0aGlzLmdldENvbmZpZ0JveFR5cGUoe3RyYWNrOmd9KX0pfSxidWlsZEZ0eXA6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJhY2ssQS5NUDQuRlRZUFZWQzF9LG1hcmtTYW1wbGU6ZnVuY3Rpb24oQSl7dmFyIGcsSTtnPUEuc2FtcGxlLChJPVRoLmdldE5hbEluZm8oZy51bml0cykpJiYoZy5zaWRlRGF0YT10aCh0aCh7fSxnLnNpZGVEYXRhfHx7fSkse30se3Z2Y05hbEluZm86SX0pKX19KTt2YXIgQWY9TWF0aC5wb3coMiwzMik7ZnVuY3Rpb24gZ2YoQSl7dmFyIGc9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjA7cmV0dXJuKEFbZ108PDgpKyhBW2crMV18fDApfWZ1bmN0aW9uIElmKEEpe3ZhciBnPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3JldHVybihBW2ddPDwyND4+PjApKyhBW2crMV08PDE2KSsoQVtnKzJdPDw4KSsoQVtnKzNdfHwwKX1mdW5jdGlvbiBCZihBKXt2YXIgZz1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4gbmV3IERhdGFWaWV3KEEuYnVmZmVyLEEuYnl0ZU9mZnNldCxBLmJ5dGVMZW5ndGgpLmdldEludDMyKGcpfWZ1bmN0aW9uIFFmKEEpe3ZhciBnPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3JldHVybiBJZihBLGcpKkFmK0lmKEEsZys0KX1mdW5jdGlvbiBDZihBKXt2YXIgZz1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MCxJPW5ldyBEYXRhVmlldyhBLmJ1ZmZlcixBLmJ5dGVPZmZzZXQsQS5ieXRlTGVuZ3RoKTtyZXR1cm4gSS5nZXRVaW50MzIoZyk8PDMyfEkuZ2V0VWludDMyKGcrNCl9ZnVuY3Rpb24gRWYoQSl7dmFyIGc9IiI7aWYoQS5mb3JFYWNoKChmdW5jdGlvbihBKXtnKz1mdW5jdGlvbihBKXtyZXR1cm4oIjAiK051bWJlcihBKS50b1N0cmluZygxNikpLnNsaWNlKC0yKS50b1VwcGVyQ2FzZSgpfShBKX0pKSxnLmxlbmd0aDw9MzIpZm9yKHZhciBJPTMyLWcubGVuZ3RoLEI9MDtCPEk7QisrKWcrPSIwIjtyZXR1cm4gZ31mdW5jdGlvbiB0ZihBKXtpZighQXJyYXkuaXNBcnJheShBKSl7Zm9yKHZhciBnPVtdLEk9IiIsQj0wO0I8QS5sZW5ndGg7QisrKUIlMiYmKEk9QVtCLTFdK0FbQl0sZy5wdXNoKHBhcnNlSW50KEksMTYpKSxJPSIiKTtyZXR1cm4gZ31yZXR1cm4gQS5tYXAoKGZ1bmN0aW9uKEEpe3JldHVybiBwYXJzZUludChBLDE2KX0pKX1mdW5jdGlvbiBlZihBLGcpe3JldHVybiBOdW1iZXIoQSsiLiIrZyl9ZnVuY3Rpb24gcmYoQSl7cmV0dXJuKEF8fFtdKS5maWx0ZXIoQm9vbGVhbil9dmFyIG5mPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe2VoKHRoaXMsQSl9cmV0dXJuIHJoKEEsbnVsbCxbe2tleToiZmluZEJveCIsdmFsdWU6ZnVuY3Rpb24oZyxJKXt2YXIgQj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06MCxRPVtdO2lmKCFnKXJldHVybiBRO2Zvcih2YXIgQz0wLEU9IiIsdD0wO2cubGVuZ3RoPjc7KXtpZihDPUlmKGcpLEU9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGcuc3ViYXJyYXkoNCw4KSksdD04LDE9PT1DPyhDPVFmKGcsOCksdCs9OCk6Q3x8KEM9Zy5sZW5ndGgpLCFJWzBdfHxFPT09SVswXSl7dmFyIGU9Zy5zdWJhcnJheSgwLEMpO2lmKCEoSS5sZW5ndGg8MikpcmV0dXJuIEEuZmluZEJveChlLnN1YmFycmF5KHQpLEkuc2xpY2UoMSksQit0KTtRLnB1c2goe3N0YXJ0OkIsc2l6ZTpDLGhlYWRlclNpemU6dCx0eXBlOkUsZGF0YTplfSl9Qis9QyxnPWcuc3ViYXJyYXkoQyl9cmV0dXJuIFF9fSx7a2V5OiJ0ZmhkIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXtBLnRyYWNrSWQ9SWYoZyk7dmFyIEk9NCxCPTEmQS5mbGFncyxRPTImQS5mbGFncyxDPTgmQS5mbGFncyxFPTE2JkEuZmxhZ3MsdD0zMiZBLmZsYWdzO0ImJihJKz00LEEuYmFzZURhdGFPZmZzZXQ9SWYoZyxJKSxJKz00KSxRJiYoQS5zYW1wbGVEZXNjcmlwdGlvbkluZGV4PUlmKGcsSSksSSs9NCksQyYmKEEuZGVmYXVsdFNhbXBsZUR1cmF0aW9uPUlmKGcsSSksSSs9NCksRSYmKEEuZGVmYXVsdFNhbXBsZVNpemU9SWYoZyxJKSxJKz00KSx0JiYoQS5kZWZhdWx0U2FtcGxlRmxhZ3M9SWYoZyxJKSl9KSl9fSx7a2V5OiJzaWR4Iix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXt2YXIgST0wO0EucmVmZXJlbmNlX0lEPUlmKGcsSSksSSs9NCxBLnRpbWVzY2FsZT1JZihnLEkpLEkrPTQsMD09PUEudmVyc2lvbj8oQS5lYXJsaWVzdF9wcmVzZW50YXRpb25fdGltZT1JZihnLEkpLEkrPTQsQS5maXJzdF9vZmZzZXQ9SWYoZyxJKSxJKz00KTooQS5lYXJsaWVzdF9wcmVzZW50YXRpb25fdGltZT1RZihnLEkpLEkrPTgsQS5maXJzdF9vZmZzZXQ9UWYoZyxJKSxJKz04KSxJKz0yLEEucmVmZXJlbmNlcz1bXTt2YXIgQj1nZihnLEkpO0krPTI7Zm9yKHZhciBRPTA7UTxCO1ErKyl7dmFyIEM9e307QS5yZWZlcmVuY2VzLnB1c2goQyk7dmFyIEU9SWYoZyxJKTtJKz00LEMucmVmZXJlbmNlX3R5cGU9RT4+MzEmMSxDLnJlZmVyZW5jZWRfc2l6ZT0yMTQ3NDgzNjQ3JkUsQy5zdWJzZWdtZW50X2R1cmF0aW9uPUlmKGcsSSksRT1JZihnLEkrPTQpLEkrPTQsQy5zdGFydHNfd2l0aF9TQVA9RT4+MzEmMSxDLlNBUF90eXBlPUU+PjI4JjcsQy5TQVBfZGVsdGFfdGltZT0yNjg0MzU0NTUmRX19KSl9fSx7a2V5OiJtb292Iix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gY2YoZywhMSwoZnVuY3Rpb24oZyxJLEIpe2cubXZoZD1BLm12aGQoQS5maW5kQm94KEksWyJtdmhkIl0sQilbMF0pLGcudHJhaz1BLmZpbmRCb3goSSxbInRyYWsiXSxCKS5tYXAoKGZ1bmN0aW9uKGcpe3JldHVybiBBLnRyYWsoZyl9KSksZy5wc3NoPUEucHNzaChBLmZpbmRCb3goSSxbInBzc2giXSxCKVswXSl9KSl9fSx7a2V5OiJtdmhkIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXt2YXIgST0wOzE9PT1BLnZlcnNpb24/KEEudGltZXNjYWxlPUlmKGcsMTYpLEEuZHVyYXRpb249UWYoZywyMCksSSs9MjgpOihBLnRpbWVzY2FsZT1JZihnLDgpLEEuZHVyYXRpb249SWYoZywxMiksSSs9MTYpLEEubmV4dFRyYWNrSWQ9SWYoZyxJKzc2KX0pKX19LHtrZXk6InRyYWsiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBjZihnLCExLChmdW5jdGlvbihnLEksQil7Zy50a2hkPUEudGtoZChBLmZpbmRCb3goSSxbInRraGQiXSxCKVswXSksZy5tZGlhPUEubWRpYShBLmZpbmRCb3goSSxbIm1kaWEiXSxCKVswXSksZy5lZHRzPUEuZWR0cyhBLmZpbmRCb3goSSxbImVkdHMiXSxCKVswXSl9KSl9fSx7a2V5OiJ0a2hkIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXt2YXIgST14aC5mcm9tVWludDgoZyk7MT09PUEudmVyc2lvbj8oSS5yZWFkKDgpLEkucmVhZCg4KSxBLnRyYWNrSWQ9SS5yZWFkKDQpLEkucmVhZCg0KSxBLmR1cmF0aW9uPUkucmVhZCg4KSk6KEkucmVhZCg0KSxJLnJlYWQoNCksQS50cmFja0lkPUkucmVhZCg0KSxJLnJlYWQoNCksQS5kdXJhdGlvbj1JLnJlYWQoNCkpLEkuc2tpcCgxNiksQS5tYXRyaXg9W107Zm9yKHZhciBCPTA7QjwzNjtCKyspQS5tYXRyaXgucHVzaChJLnJlYWQoMSkpO0kuYmFjaygzNik7Zm9yKHZhciBRLEM9W10sRT0wO0U8MztFKyspQy5wdXNoKGVmKEkucmVhZEludCgyKSxJLnJlYWRJbnQoMikpKSxDLnB1c2goZWYoSS5yZWFkSW50KDIpLEkucmVhZEludCgyKSkpLFE9SS5yZWFkSW50KDQpLEMucHVzaChlZihRPj4zMCwxMDczNzQxODIzJlEpKTtBLnJvdGF0aW9uPWZ1bmN0aW9uKEEpe2lmKEEubGVuZ3RoPDUpcmV0dXJuIDA7dmFyIGc9TWF0aC5oeXBvdChBWzBdLEFbM10pLEk9TWF0aC5oeXBvdChBWzFdLEFbNF0pO3JldHVybiAwPT09Z3x8MD09PUk/MDoxODAqTWF0aC5hdGFuMihBWzFdL0ksQVswXS9nKS9NYXRoLlBJfShDKSxBLndpZHRoPUkucmVhZCg0KSxBLmhlaWdodD1JLnJlYWQoNCl9KSl9fSx7a2V5OiJtZGlhIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gY2YoZywhMSwoZnVuY3Rpb24oZyxJLEIpe2cubWRoZD1BLm1kaGQoQS5maW5kQm94KEksWyJtZGhkIl0sQilbMF0pLGcuaGRscj1BLmhkbHIoQS5maW5kQm94KEksWyJoZGxyIl0sQilbMF0pLGcubWluZj1BLm1pbmYoQS5maW5kQm94KEksWyJtaW5mIl0sQilbMF0pfSkpfX0se2tleToiZWR0cyIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsSSxCKXtnLmVsc3Q9QS5lbHN0KEEuZmluZEJveChJLFsiZWxzdCJdLEIpWzBdKX0pKX19LHtrZXk6ImVsc3QiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCEwLChmdW5jdGlvbihBLGcsSSl7QS5lbnRyaWVzPVtdLEEuZW50cmllc0RhdGE9Zzt2YXIgQj0wLFE9SWYoZyxCKTtCKz00O2Zvcih2YXIgQz0wO0M8UTtDKyspe3ZhciBFPXt9O0EuZW50cmllcy5wdXNoKEUpLDE9PT1BLnZlcnNpb24/KEUuc2VnbWVudF9kdXJhdGlvbj1RZihnLEIpLEIrPTgsRS5tZWRpYV90aW1lPUNmKGcsQiksQis9OCk6KEUuc2VnbWVudF9kdXJhdGlvbj1JZihnLEIpLEIrPTQsRS5tZWRpYV90aW1lPUJmKGcsQiksQis9NCksRS5tZWRpYV9yYXRlX2ludGVnZXI9Z2YoZyxCKSxCKz0yLEUubWVkaWFfcmF0ZV9mcmFjdGlvbj1nZihnLEkpLEIrPTJ9fSkpfX0se2tleToibWRoZCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7dmFyIEk9MDsxPT09QS52ZXJzaW9uPyhBLnRpbWVzY2FsZT1JZihnLDE2KSxBLmR1cmF0aW9uPVFmKGcsMjApLEkrPTI4KTooQS50aW1lc2NhbGU9SWYoZyw4KSxBLmR1cmF0aW9uPUlmKGcsMTIpLEkrPTE2KTt2YXIgQj1nZihnLEkpO0EubGFuZ3VhZ2U9U3RyaW5nLmZyb21DaGFyQ29kZSg5NisoQj4+MTAmMzEpLDk2KyhCPj41JjMxKSw5NisoMzEmQikpfSkpfX0se2tleToiaGRsciIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7MD09PUEudmVyc2lvbiYmKEEuaGFuZGxlclR5cGU9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGcuc3ViYXJyYXkoNCw4KSkpfSkpfX0se2tleToibWluZiIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsSSxCKXtnLnZtaGQ9QS52bWhkKEEuZmluZEJveChJLFsidm1oZCJdLEIpWzBdKSxnLnNtaGQ9QS5zbWhkKEEuZmluZEJveChJLFsic21oZCJdLEIpWzBdKSxnLnN0Ymw9QS5zdGJsKEEuZmluZEJveChJLFsic3RibCJdLEIpWzBdKX0pKX19LHtrZXk6InZtaGQiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCEwLChmdW5jdGlvbihBLGcpe0EuZ3JhcGhpY3Ntb2RlPWdmKGcpLEEub3Bjb2xvcj1bZ2YoZywyKSxnZihnLDQpLGdmKGcsNildfSkpfX0se2tleToic21oZCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7QS5iYWxhbmNlPWdmKGcpfSkpfX0se2tleToic3RibCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsSSxCKXt2YXIgUSxDLEU7Zy5zdHNkPUEuc3RzZChBLmZpbmRCb3goSSxbInN0c2QiXSxCKVswXSksZy5zdHRzPUEuc3R0cyhBLmZpbmRCb3goSSxbInN0dHMiXSxCKVswXSksZy5jdHRzPUEuY3R0cyhBLmZpbmRCb3goSSxbImN0dHMiXSxCKVswXSksZy5zdHNjPUEuc3RzYyhBLmZpbmRCb3goSSxbInN0c2MiXSxCKVswXSksZy5zdHN6PUEuc3RzeihBLmZpbmRCb3goSSxbInN0c3oiXSxCKVswXSksZy5zdGNvPUEuc3RjbyhBLmZpbmRCb3goSSxbInN0Y28iXSxCKVswXSksZy5zdGNvfHwoZy5jbzY0PUEuY282NChBLmZpbmRCb3goSSxbImNvNjQiXSxCKVswXSksZy5zdGNvPWcuY282NCk7dmFyIHQ9bnVsbD09PShRPWcuc3RzZC5lbnRyaWVzWzBdKXx8dm9pZCAwPT09UXx8bnVsbD09PShDPVEuc2luZil8fHZvaWQgMD09PUN8fG51bGw9PT0oRT1DLnNjaGkpfHx2b2lkIDA9PT1FP3ZvaWQgMDpFLnRlbmMuZGVmYXVsdF9JVl9zaXplO2cuc3Rzcz1BLnN0c3MoQS5maW5kQm94KEksWyJzdHNzIl0sQilbMF0pLGcuc2VuYz1BLnNlbmMoQS5maW5kQm94KEksWyJzZW5jIl0sQilbMF0sdCl9KSl9fSx7a2V5OiJzZW5jIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZz1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06ODtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxJKXt2YXIgQj0wLFE9SWYoSSxCKTtCKz00LEEuc2FtcGxlcz1bXTtmb3IodmFyIEM9MDtDPFE7QysrKXtmb3IodmFyIEU9e0luaXRpYWxpemF0aW9uVmVjdG9yOltdfSx0PTA7dDxnO3QrKylFLkluaXRpYWxpemF0aW9uVmVjdG9yW3RdPUlbQit0XTtpZihCKz1nLDImQS5mbGFncyl7RS5zdWJzYW1wbGVzPVtdO3ZhciBlPWdmKEksQik7Qis9Mjtmb3IodmFyIGk9MDtpPGU7aSsrKXt2YXIgcj17fTtyLkJ5dGVzT2ZDbGVhckRhdGE9Z2YoSSxCKSxCKz0yLHIuQnl0ZXNPZlByb3RlY3RlZERhdGE9SWYoSSxCKSxCKz00LEUuc3Vic2FtcGxlcy5wdXNoKHIpfX1BLnNhbXBsZXMucHVzaChFKX19KSl9fSx7a2V5OiJwc3NoIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXtmb3IodmFyIEk9W10sQj1bXSxRPTAsQz0wO0M8MTY7QysrKUIucHVzaChoZihnW1ErQ10pKTtpZihRKz0xNixBLnZlcnNpb24+MCl7dmFyIEU9SWYoZyxRKTtRKz00O2Zvcih2YXIgdD0wO3Q8KCIiK0UpLmxlbmd0aDt0KyspZm9yKHZhciBlPTA7ZTwxNjtlKyspe3ZhciBpPWdbUV07USs9MSxJLnB1c2goaGYoaSkpfX12YXIgcj1JZihnLFEpO0EuZGF0YV9zaXplPXIsUSs9NCxBLmtpZD1JLEEuc3lzdGVtX2lkPUIsQS5idWZmZXI9Z30pKX19LHtrZXk6InZ2YzEiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLnZpZGVvU2FtcGxlRW50cnkoZyl9fSx7a2V5OiJ2dmNDIix2YWx1ZTpmdW5jdGlvbihnLEkpe3JldHVybiBBLnZpZGVvQ29uZmlnQm94KGcsSXx8InZ2YzEiKX19LHtrZXk6InZpZGVvQ29uZmlnQm94Iix2YWx1ZTpmdW5jdGlvbihnLEkpe2lmKGcpe3ZhciBCPV9oKHtjb25maWdCb3g6Zy50eXBlfSk7aWYobnVsbCE9QiYmQi5wYXJzZUNvbmZpZ0JveClyZXR1cm4gY2YoZywhMSwoZnVuY3Rpb24oUSxDKXt2YXIgRT1CLnBhcnNlQ29uZmlnQm94KHtkYXRhOkMsYm94Omcsc2FtcGxlRW50cnlUeXBlOkkscGFyc2VyOkF9KTtmb3IodmFyIHQgaW4gRSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRSx0KSYmKFFbdF09RVt0XSl9KSl9fX0se2tleToidmlkZW9TYW1wbGVFbnRyeSIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEk9X2goe3NhbXBsZUVudHJ5Om51bGw9PWc/dm9pZCAwOmcudHlwZX0pO2lmKEkpcmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsQixRKXt2YXIgQz1hZihnLEIpLEU9Qi5zdWJhcnJheShDKTtRKz1DLHJmKEkuY29uZmlnQm94ZXMpLnNvbWUoKGZ1bmN0aW9uKEIpe3ZhciBDPUEuZmluZEJveChFLFtCXSxRKVswXSx0PUEudmlkZW9Db25maWdCb3goQyxnLnR5cGUpO3JldHVybiEhdCYmKGdbSS50cmFja0NvbmZpZ0tleXx8Ql09dCwhMCl9KSksZy5wYXNwPUEucGFzcChBLmZpbmRCb3goRSxbInBhc3AiXSxRKVswXSl9KSl9fSx7a2V5OiJzdHNkIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gY2YoZywhMCwoZnVuY3Rpb24oZyxJLEIpe2cuZW50cnlDb3VudD1JZihJKSxnLmVudHJpZXM9QS5maW5kQm94KEkuc3ViYXJyYXkoNCksW10sQis0KS5tYXAoKGZ1bmN0aW9uKGcpe3N3aXRjaChnLnR5cGUpe2Nhc2UiYXYwMSI6cmV0dXJuIEEuYXYwMShnKTtjYXNlImF2YzEiOmNhc2UiYXZjMiI6Y2FzZSJhdmMzIjpjYXNlImF2YzQiOnJldHVybiBBLmF2YzEoZyk7Y2FzZSJodmMxIjpjYXNlImhldjEiOnJldHVybiBBLmh2YzEoZyk7Y2FzZSJ2dmMxIjpjYXNlInZ2aTEiOnJldHVybiBBLnZ2YzEoZyk7Y2FzZSJtcDRhIjpyZXR1cm4gQS5tcDRhKGcpO2Nhc2UiYWxhdyI6Y2FzZSJ1bGF3IjpyZXR1cm4gQS5hbGF3KGcpO2Nhc2UiZW5jYSI6cmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsSSxCKXtnLmNoYW5uZWxDb3VudD1nZihJLDE2KSxnLnNhbXBsZXNpemU9Z2YoSSwxOCksZy5zYW1wbGVSYXRlPUlmKEksMjQpLzY1NTM2LEk9SS5zdWJhcnJheSgyOCksZy5zaW5mPUEuc2luZihBLmZpbmRCb3goSSxbInNpbmYiXSxCKVswXSksZy5lc2RzPUEuZXNkcyhBLmZpbmRCb3goSSxbImVzZHMiXSxCKVswXSl9KSk7Y2FzZSJlbmN2IjpyZXR1cm4gY2YoZywhMSwoZnVuY3Rpb24oZyxJLEIpe3ZhciBRLEM7Zy53aWR0aD1nZihJLDI0KSxnLmhlaWdodD1nZihJLDI2KSxnLmhvcml6cmVzb2x1dGlvbj1JZihJLDI4KSxnLnZlcnRyZXNvbHV0aW9uPUlmKEksMzIpLEk9SS5zdWJhcnJheSg3OCksZy5zaW5mPUEuc2luZihBLmZpbmRCb3goSSxbInNpbmYiXSxCKVswXSksZy5hdmNDPUEuYXZjQyhBLmZpbmRCb3goSSxbImF2Y0MiXSxCKVswXSksZy5odmNDPUEuaHZjQyhBLmZpbmRCb3goSSxbImh2Y0MiXSxCKVswXSk7dmFyIEU9bnVsbD09PShRPWcuc2luZil8fHZvaWQgMD09PVF8fG51bGw9PT0oQz1RLmZybWEpfHx2b2lkIDA9PT1DP3ZvaWQgMDpDLmRhdGFfZm9ybWF0LHQ9X2goe3NhbXBsZUVudHJ5OkV9KTsodD9bdF06WGgubGlzdCgpKS5zb21lKChmdW5jdGlvbihRKXtyZXR1cm4gcmYoUS5jb25maWdCb3hlcykuc29tZSgoZnVuY3Rpb24oQyl7dmFyIHQ9QS52aWRlb0NvbmZpZ0JveChBLmZpbmRCb3goSSxbQ10sQilbMF0sRSk7cmV0dXJuISF0JiYoZ1tRLnRyYWNrQ29uZmlnS2V5fHxDXT10LCEwKX0pKX0pKSxnLnBhc3A9QS5wYXNwKEEuZmluZEJveChJLFsicGFzcCJdLEIpWzBdKX0pKTtkZWZhdWx0OmlmKF9oKHtzYW1wbGVFbnRyeTpnLnR5cGV9KSlyZXR1cm4gQS52aWRlb1NhbXBsZUVudHJ5KGcpfX0pKS5maWx0ZXIoQm9vbGVhbil9KSl9fSx7a2V5OiJ0ZW5jIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMSwoZnVuY3Rpb24oQSxnKXt2YXIgST02O0EuZGVmYXVsdF9Jc0VuY3J5cHRlZD1nW0ldLEkrPTEsQS5kZWZhdWx0X0lWX3NpemU9Z1tJXSxJKz0xLEEuZGVmYXVsdF9LSUQ9W107Zm9yKHZhciBCPTA7QjwxNjtCKyspQS5kZWZhdWx0X0tJRC5wdXNoKGhmKGdbSV0pKSxJKz0xfSkpfX0se2tleToic2NoaSIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsSSxCKXtnLnRlbmM9QS50ZW5jKEEuZmluZEJveChJLFsidGVuYyJdLEIpWzBdKX0pKX19LHtrZXk6InNpbmYiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBjZihnLCExLChmdW5jdGlvbihnLEksQil7Zy5zY2hpPUEuc2NoaShBLmZpbmRCb3goSSxbInNjaGkiXSxCKVswXSksZy5mcm1hPUEuZnJtYShBLmZpbmRCb3goSSxbImZybWEiXSxCKVswXSl9KSl9fSx7a2V5OiJmcm1hIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMSwoZnVuY3Rpb24oQSxnKXtBLmRhdGFfZm9ybWF0PSIiO2Zvcih2YXIgST0wO0k8NDtJKyspQS5kYXRhX2Zvcm1hdCs9U3RyaW5nLmZyb21DaGFyQ29kZShnW0ldKX0pKX19LHtrZXk6ImNvbHIiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCExLChmdW5jdGlvbihnLEkpe3ZhciBCPXhoLmZyb21VaW50OChJKTtnLmRhdGE9QS5kYXRhLGcuY29sb3JUeXBlPUIucmVhZFN0cmluZyg0KSwibmNseCI9PT1nLmNvbG9yVHlwZXx8Im5jbGMiPT09Zy5jb2xvclR5cGU/KGcuY29sb3JQcmltYXJpZXM9Qi5yZWFkKDIpLGcudHJhbnNmZXJDaGFyYWN0ZXJpc3RpY3M9Qi5yZWFkKDIpLGcubWF0cml4Q29lZmZpY2llbnRzPUIucmVhZCgyKSwibmNseCI9PT1nLmNvbG9yVHlwZSYmKGcuZnVsbFJhbmdlRmxhZz1CLnJlYWQoMSk+PjcpKToicklDQyIhPT1nLmNvbG9yVHlwZSYmInByb2YiIT09Zy5jb2xvclR5cGV8fChnLmljY1Byb2ZpbGU9Qi5yZWFkVG9VaW50OCgpKX0pKX19LHtrZXk6ImF2MDEiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBjZihnLCExLChmdW5jdGlvbihnLEksQil7dmFyIFE9YWYoZyxJKSxDPUkuc3ViYXJyYXkoUSk7Qis9USxnLmF2MUM9QS5hdjFDKEEuZmluZEJveChDLFsiYXYxQyJdLEIpWzBdKSxnLmNvbHI9QS5jb2xyKEEuZmluZEJveChDLFsiY29sciJdLEIpWzBdKX0pKX19LHtrZXk6ImF2MUMiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCExLChmdW5jdGlvbihnLEkpe2cuZGF0YT1BLmRhdGE7dmFyIEIsUT14aC5mcm9tVWludDgoSSksQz1LaC5mcm9tQnl0ZShRLDQpO2cubWFya2VyPUMucmVhZCgxKSxnLnZlcnNpb249Qy5yZWFkKDcpLGcuc2VxUHJvZmlsZT1DLnJlYWQoMyksZy5zZXFMZXZlbElkeDA9Qy5yZWFkKDUpLGcuc2VxVGllcjA9Qy5yZWFkKDEpLGcuaGlnaEJpdGRlcHRoPUMucmVhZCgxKSxnLnR3ZWx2ZUJpdD1DLnJlYWQoMSksZy5tb25vY2hyb21lPUMucmVhZCgxKSxnLmNocm9tYVN1YnNhbXBsaW5nWD1DLnJlYWQoMSksZy5jaHJvbWFTdWJzYW1wbGluZ1k9Qy5yZWFkKDEpLGcuY2hyb21hU2FtcGxlUG9zaXRpb249Qy5yZWFkKDIpLGcucmVzZXJ2ZWQ9Qy5yZWFkKDMpLGcuaW5pdGlhbFByZXNlbnRhdGlvbkRlbGF5UHJlc2VudD1DLnJlYWQoMSksZy5pbml0aWFsUHJlc2VudGF0aW9uRGVsYXlQcmVzZW50P2cuaW5pdGlhbFByZXNlbnRhdGlvbkRlbGF5TWludXNPbmU9Qy5yZWFkKDQpOmcuaW5pdGlhbFByZXNlbnRhdGlvbkRlbGF5TWludXNPbmU9MCxnLmNvbmZpZ09CVXM9US5yZWFkVG9VaW50OCgpLDI9PT1nLnNlcVByb2ZpbGUmJjE9PT1nLmhpZ2hCaXRkZXB0aD9CPTE9PT1nLnR3ZWx2ZUJpdD8iMTIiOiIxMCI6Zy5zZXFQcm9maWxlPD0yJiYoQj0xPT09Zy5oaWdoQml0ZGVwdGg/IjEwIjoiMDgiKSxnLmNvZGVjPVsiYXYwMSIsZy5zZXFQcm9maWxlLChnLnNlcUxldmVsSWR4MDwxMD8iMCIrZy5zZXFMZXZlbElkeDA6Zy5zZXFMZXZlbElkeDApKyhnLnNlcVRpZXIwPyJIIjoiTSIpLEJdLmpvaW4oIi4iKX0pKX19LHtrZXk6ImF2YzEiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBjZihnLCExLChmdW5jdGlvbihnLEksQil7dmFyIFE9YWYoZyxJKSxDPUkuc3ViYXJyYXkoUSk7Qis9USxnLmF2Y0M9QS5hdmNDKEEuZmluZEJveChDLFsiYXZjQyJdLEIpWzBdKSxnLnBhc3A9QS5wYXNwKEEuZmluZEJveChDLFsicGFzcCJdLEIpWzBdKX0pKX19LHtrZXk6ImF2Y0MiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCExLChmdW5jdGlvbihnLEkpe2cuZGF0YT1BLmRhdGEsZy5jb25maWd1cmF0aW9uVmVyc2lvbj1JWzBdLGcuQVZDUHJvZmlsZUluZGljYXRpb249SVsxXSxnLnByb2ZpbGVDb21wYXRpYmlsaXR5PUlbMl0sZy5BVkNMZXZlbEluZGljYXRpb249SVszXSxnLmNvZGVjPWZ1bmN0aW9uKEEpe2Zvcih2YXIgZyxJPSJhdmMxLiIsQj0wO0I8MztCKyspKGc9QVtCXS50b1N0cmluZygxNikpLmxlbmd0aDwyJiYoZz0iMCIuY29uY2F0KGcpKSxJKz1nO3JldHVybiBJfShbSVsxXSxJWzJdLElbM11dKSxnLmxlbmd0aFNpemVNaW51c09uZT0zJklbNF0sZy5zcHNMZW5ndGg9MzEmSVs1XSxnLnNwcz1bXTtmb3IodmFyIEI9NixRPTA7UTxnLnNwc0xlbmd0aDtRKyspe3ZhciBDPWdmKEksQik7Qis9MixnLnNwcy5wdXNoKEkuc3ViYXJyYXkoQixCK0MpKSxCKz1DfWcucHBzTGVuZ3RoPUlbQl0sQis9MSxnLnBwcz1bXTtmb3IodmFyIEU9MDtFPGcucHBzTGVuZ3RoO0UrKyl7dmFyIHQ9Z2YoSSxCKTtCKz0yLGcucHBzLnB1c2goSS5zdWJhcnJheShCLEIrPXQpKSxCKz10fX0pKX19LHtrZXk6Imh2YzEiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBjZihnLCExLChmdW5jdGlvbihnLEksQil7dmFyIFE9YWYoZyxJKSxDPUkuc3ViYXJyYXkoUSk7Qis9USxnLmh2Y0M9QS5odmNDKEEuZmluZEJveChDLFsiaHZjQyJdLEIpWzBdKSxnLnBhc3A9QS5wYXNwKEEuZmluZEJveChDLFsicGFzcCJdLEIpWzBdKX0pKX19LHtrZXk6Imh2Y0MiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCExLChmdW5jdGlvbihnLEkpe2cuZGF0YT1BLmRhdGEsZy5jb2RlYz0iaGV2MS4xLjYuTDkzLkIwIixnLmNvbmZpZ3VyYXRpb25WZXJzaW9uPUlbMF07dmFyIEI9SVsxXTtnLmdlbmVyYWxQcm9maWxlU3BhY2U9Qj4+NixnLmdlbmVyYWxUaWVyRmxhZz0oMzImQik+PjUsZy5nZW5lcmFsUHJvZmlsZUlkYz0zMSZCLGcuZ2VuZXJhbFByb2ZpbGVDb21wYXRpYmlsaXR5PUlmKEksMiksZy5nZW5lcmFsQ29uc3RyYWludEluZGljYXRvckZsYWdzPUkuc3ViYXJyYXkoNiwxMiksZy5nZW5lcmFsTGV2ZWxJZGM9SVsxMl0sZy5hdmdGcmFtZVJhdGU9Z2YoSSwxOSksZy5udW1PZkFycmF5cz1JWzIyXSxnLnZwcz1bXSxnLnNwcz1bXSxnLnBwcz1bXTtmb3IodmFyIFE9MjMsQz0wLEU9MCx0PTAsZT0wO2U8Zy5udW1PZkFycmF5cztlKyspe0M9NjMmSVtRXSxFPWdmKEksUSsxKSxRKz0zO2Zvcih2YXIgaSxyPVtdLG49MDtuPEU7bisrKXQ9Z2YoSSxRKSxRKz0yLHIucHVzaChJLnN1YmFycmF5KFEsUSt0KSksUSs9dDtpZigzMj09PUMpKGk9Zy52cHMpLnB1c2guYXBwbHkoaSxyKTtlbHNlIGlmKDMzPT09Qyl7dmFyIG87KG89Zy5zcHMpLnB1c2guYXBwbHkobyxyKX1lbHNlIGlmKDM0PT09Qyl7dmFyIGE7KGE9Zy5wcHMpLnB1c2guYXBwbHkoYSxyKX19fSkpfX0se2tleToicGFzcCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITEsKGZ1bmN0aW9uKEEsZyl7QS5oU3BhY2luZz1JZihnKSxBLnZTcGFjaW5nPUlmKGcsNCl9KSl9fSx7a2V5OiJtcDRhIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gY2YoZywhMSwoZnVuY3Rpb24oZyxJLEIpe3ZhciBRPXNmKGcsSSk7Zy5lc2RzPUEuZXNkcyhBLmZpbmRCb3goSS5zdWJhcnJheShRKSxbImVzZHMiXSxCK1EpWzBdKX0pKX19LHtrZXk6ImVzZHMiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCEwLChmdW5jdGlvbihBLGcpe0EuY29kZWM9Im1wNGEuIjtmb3IodmFyIEk9MCxCPTAsUT0wLEM9MDtnLmxlbmd0aDspe2ZvcihDPWdbST0wXSxCPWdbSSsxXSxJKz0yOzEyOCZCOylRPSgxMjcmQik8PDcsQj1nW0ldLEkrPTE7aWYoUSs9MTI3JkIsMz09PUMpZz1nLnN1YmFycmF5KEkrMyk7ZWxzZXtpZig0IT09Qyl7aWYoNT09PUMpe3ZhciBFPUEuY29uZmlnPWcuc3ViYXJyYXkoSSxJK1EpLHQ9KDI0OCZFWzBdKT4+MztpZigzMT09PXQmJkUubGVuZ3RoPj0yJiYodD0zMisoKDcmRVswXSk8PDMpKygoMjI0JkVbMV0pPj41KSksQS5vYmplY3RUeXBlPXQsQS5jb2RlYys9dC50b1N0cmluZygxNiksL15tcDRhL2dpLnRlc3QoQS5jb2RlYykmJkUubGVuZ3RoPj0yKXt2YXIgZT0oNyZFWzBdKTw8MXwoMTI4JkVbMV0pPj43O0Euc2FtcGxpbmdGcmVxdWVuY3lJbmRleD1lLGU8bWguRlJFUS5sZW5ndGgmJihBLnNhbXBsZVJhdGU9bWguRlJFUVtlXSl9cmV0dXJuIHZvaWQoIi4iPT09QS5jb2RlY1tBLmNvZGVjLmxlbmd0aC0xXSYmKEEuY29kZWM9QS5jb2RlYy5zdWJzdHJpbmcoMCxBLmNvZGVjLmxlbmd0aC0xKSkpfXJldHVybiB2b2lkKCIuIj09PUEuY29kZWNbQS5jb2RlYy5sZW5ndGgtMV0mJihBLmNvZGVjPUEuY29kZWMuc3Vic3RyaW5nKDAsQS5jb2RlYy5sZW5ndGgtMSkpKX1BLmNvZGVjKz0oZ1tJXS50b1N0cmluZygxNikrIi4iKS5wYWRTdGFydCgzLCIwIiksZz1nLnN1YmFycmF5KEkrMTMpfX19KSl9fSx7a2V5OiJhbGF3Iix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMSwoZnVuY3Rpb24oQSxnKXtzZihBLGcpfSkpfX0se2tleToic3R0cyIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7Zm9yKHZhciBJPUlmKGcpLEI9W10sUT00LEM9MDtDPEk7QysrKUIucHVzaCh7Y291bnQ6SWYoZyxRKSxkZWx0YTpJZihnLFErNCl9KSxRKz04O0EuZW50cnlDb3VudD1JLEEuZW50cmllcz1CfSkpfX0se2tleToiY3R0cyIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7dmFyIEk9SWYoZyksQj1bXSxRPTQ7aWYoMT09PUEudmVyc2lvbilmb3IodmFyIEM9MDtDPEk7QysrKUIucHVzaCh7Y291bnQ6SWYoZyxRKSxvZmZzZXQ6SWYoZyxRKzQpfSksUSs9ODtlbHNlIGZvcih2YXIgRT0wO0U8STtFKyspQi5wdXNoKHtjb3VudDpJZihnLFEpLG9mZnNldDotKDErfklmKGcsUSs0KSl9KSxRKz04O0EuZW50cnlDb3VudD1JLEEuZW50cmllcz1CfSkpfX0se2tleToic3RzYyIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7Zm9yKHZhciBJPUlmKGcpLEI9bmV3IEFycmF5KEkpLFE9NCxDPTA7QzxJO0MrKylCW0NdPXtmaXJzdENodW5rOklmKGcsUSksc2FtcGxlc1BlckNodW5rOklmKGcsUSs0KSxzYW1wbGVEZXNjcmlwdGlvbkluZGV4OklmKGcsUSs4KX0sUSs9MTI7QS5lbnRyeUNvdW50PUksQS5lbnRyaWVzPUJ9KSl9fSx7a2V5OiJzdHN6Iix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXt2YXIgST1JZihnKSxCPUlmKGcsNCksUT1uZXcgQXJyYXkoQik7aWYoIUkpZm9yKHZhciBDPTgsRT0wO0U8QjtFKyspUVtFXT1JZihnLEMpLEMrPTQ7QS5zYW1wbGVTaXplPUksQS5zYW1wbGVDb3VudD1CLEEuZW50cnlTaXplcz1RfSkpfX0se2tleToic3RjbyIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7Zm9yKHZhciBJPUlmKGcpLEI9bmV3IEFycmF5KEkpLFE9NCxDPTA7QzxJO0MrKylCW0NdPUlmKGcsUSksUSs9NDtBLmVudHJ5Q291bnQ9SSxBLmVudHJpZXM9Qn0pKX19LHtrZXk6ImNvNjQiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCEwLChmdW5jdGlvbihBLGcpe2Zvcih2YXIgST1JZihnKSxCPW5ldyBBcnJheShJKSxRPTQsQz0wO0M8STtDKyspQltDXT1RZihnLFEpLFErPTg7QS5lbnRyeUNvdW50PUksQS5lbnRyaWVzPUJ9KSl9fSx7a2V5OiJzdHNzIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXtmb3IodmFyIEk9SWYoZyksQj1uZXcgQXJyYXkoSSksUT00LEM9MDtDPEk7QysrKUJbQ109SWYoZyxRKSxRKz00O0EuZW50cnlDb3VudD1JLEEuZW50cmllcz1CfSkpfX0se2tleToibW9vZiIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIGNmKGcsITEsKGZ1bmN0aW9uKGcsSSxCKXtnLm1maGQ9QS5tZmhkKEEuZmluZEJveChJLFsibWZoZCJdLEIpWzBdKSxnLnRyYWY9QS5maW5kQm94KEksWyJ0cmFmIl0sQikubWFwKChmdW5jdGlvbihnKXtyZXR1cm4gQS50cmFmKGcpfSkpfSkpfX0se2tleToibWZoZCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGNmKEEsITAsKGZ1bmN0aW9uKEEsZyl7QS5zZXF1ZW5jZU51bWJlcj1JZihnKX0pKX19LHtrZXk6InRyYWYiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBjZihnLCExLChmdW5jdGlvbihnLEksQil7Zy50ZmhkPUEudGZoZChBLmZpbmRCb3goSSxbInRmaGQiXSxCKVswXSksZy50ZmR0PUEudGZkdChBLmZpbmRCb3goSSxbInRmZHQiXSxCKVswXSksZy50cnVuPUEudHJ1bihBLmZpbmRCb3goSSxbInRydW4iXSxCKVswXSl9KSl9fSx7a2V5OiJ0cnVuIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gY2YoQSwhMCwoZnVuY3Rpb24oQSxnKXt2YXIgST1BLnZlcnNpb24sQj1BLmZsYWdzLFE9Zy5sZW5ndGgsQz1BLnNhbXBsZUNvdW50PUlmKGcpLEU9NDtpZihRPkUmJjEmQiYmKEEuZGF0YU9mZnNldD0tKDErfklmKGcsRSkpLEUrPTQpLFE+RSYmNCZCJiYoQS5maXJzdFNhbXBsZUZsYWdzPUlmKGcsRSksRSs9NCksUT5FKXt2YXIgdDtBLnNhbXBsZXM9bmV3IEFycmF5KEMpO2Zvcih2YXIgZT0wO2U8QztlKyspdD17fSwyNTYmQiYmKHQuZHVyYXRpb249SWYoZyxFKSxFKz00KSw1MTImQiYmKHQuc2l6ZT1JZihnLEUpLEUrPTQpLDEwMjQmQiYmKHQuZmxhZ3M9SWYoZyxFKSxFKz00KSwyMDQ4JkImJih0LmN0cz1JPy0oMSt+SWYoZyxFKzQpKTpJZihnLEUpLEUrPTQpLEEuc2FtcGxlc1tlXT10fX0pKX19LHtrZXk6InRmZHQiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBjZihBLCEwLChmdW5jdGlvbihBLGcpezE9PT1BLnZlcnNpb24/QS5iYXNlTWVkaWFEZWNvZGVUaW1lPVFmKGcpOkEuYmFzZU1lZGlhRGVjb2RlVGltZT1JZihnKX0pKX19LHtrZXk6InByb2JlIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4hIUEuZmluZEJveChnLFsiZnR5cCJdKX19LHtrZXk6InBhcnNlU2FtcGxlRmxhZ3MiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybntpc0xlYWRpbmc6KDEyJkFbMF0pPj4+MixkZXBlbmRzT246MyZBWzBdLGlzRGVwZW5kZWRPbjooMTkyJkFbMV0pPj4+NixoYXNSZWR1bmRhbmN5Oig0OCZBWzFdKT4+PjQscGFkZGluZ1ZhbHVlOigxNCZBWzFdKT4+PjEsaXNOb25TeW5jU2FtcGxlOjEmQVsxXSxkZWdyYWRhdGlvblByaW9yaXR5OkFbMl08PDh8QVszXX19fSx7a2V5OiJtb292VG9UcmFjayIsdmFsdWU6ZnVuY3Rpb24oZyxJLEIpe3ZhciBRLEMsRT1nLnRyYWs7aWYoRSYmRS5sZW5ndGgpe3ZhciB0PUUuZmluZCgoZnVuY3Rpb24oQSl7dmFyIGcsSTtyZXR1cm4idmlkZSI9PT0obnVsbD09PShnPUEubWRpYSl8fHZvaWQgMD09PWd8fG51bGw9PT0oST1nLmhkbHIpfHx2b2lkIDA9PT1JP3ZvaWQgMDpJLmhhbmRsZXJUeXBlKX0pKSxlPUUuZmluZCgoZnVuY3Rpb24oQSl7dmFyIGcsSTtyZXR1cm4ic291biI9PT0obnVsbD09PShnPUEubWRpYSl8fHZvaWQgMD09PWd8fG51bGw9PT0oST1nLmhkbHIpfHx2b2lkIDA9PT1JP3ZvaWQgMDpJLmhhbmRsZXJUeXBlKX0pKTtpZih0JiZJKXt2YXIgaSxyLG4sbyxhLHMsYyxoLGY9SSx1PW51bGw9PT0oaT10LnRraGQpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLnRyYWNrSWQ7bnVsbCE9dSYmKGYuaWQ9dC50a2hkLnRyYWNrSWQpLGYudGtoZER1cmF0aW9uPXQudGtoZC5kdXJhdGlvbixmLm12aGREdXJ0aW9uPWcubXZoZC5kdXJhdGlvbixmLm12aGRUaW1lY2FsZT1nLm12aGQudGltZXNjYWxlLGYudGltZXNjYWxlPWYuZm9ybWF0VGltZXNjYWxlPXQubWRpYS5tZGhkLnRpbWVzY2FsZSxmLmR1cmF0aW9uPXQubWRpYS5tZGhkLmR1cmF0aW9ufHxmLm12aGREdXJ0aW9uL2YubXZoZFRpbWVjYWxlKmYudGltZXNjYWxlLGYucm90YXRpb249dC50a2hkLnJvdGF0aW9uLGYubWF0cml4PXQudGtoZC5tYXRyaXgsbnVsbCE9PShyPXQuZWR0cykmJnZvaWQgMCE9PXImJnIuZWxzdCYmKGYuZWRpdExpc3Q9dC5lZHRzLmVsc3QsZi5lZGl0TGlzdEFwcGxpZWQ9dC5lZGl0TGlzdEFwcGxpZWQpO3ZhciB5LGwsRCxkLHcsRixHLFIscCxrLFUsUyx2PXQubWRpYS5taW5mLnN0Ymwuc3RzZC5lbnRyaWVzWzBdO2lmKCF2KXRocm93IG5ldyBFcnJvcigidW5rbm93biB2aWRlbyBzdHNkIGVudHJ5Iik7aWYoZi53aWR0aD12LndpZHRoLGYuaGVpZ2h0PXYuaGVpZ2h0LHYucGFzcCYmKGYuc2FyUmF0aW89W3YucGFzcC5oU3BhY2luZyx2LnBhc3AudlNwYWNpbmddKSx2LmF2MUMpZi5jb2RlY1R5cGU9bGgsZi5jb2RlYz12LmF2MUMuY29kZWMsZi5hdjFDPXYuYXYxQy5kYXRhLHYuY29sciYmKGYuY29scj12LmNvbHIuZGF0YSk7ZWxzZSBpZih2Lmh2Y0MpZi5jb2RlY1R5cGU9ZGgsZi5jb2RlYz12Lmh2Y0MuY29kZWMsZi52cHM9di5odmNDLnZwcyxmLnNwcz12Lmh2Y0Muc3BzLGYucHBzPXYuaHZjQy5wcHMsZi5odmNDPXYuaHZjQy5kYXRhO2Vsc2UgaWYodi5hdmNDKWYuY29kZWM9di5hdmNDLmNvZGVjLGYuc3BzPXYuYXZjQy5zcHMsZi5wcHM9di5hdmNDLnBwcztlbHNle2lmKCF2LnZ2Y0MpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHZpZGVvIHN0c2QgZW50cnkiKTt2YXIgTixNLFk9ImVuY3YiPT09di50eXBlP251bGw9PT0oTj12LnNpbmYpfHx2b2lkIDA9PT1OfHxudWxsPT09KE09Ti5mcm1hKXx8dm9pZCAwPT09TT92b2lkIDA6TS5kYXRhX2Zvcm1hdDp2LnR5cGUsSD1faCh7c2FtcGxlRW50cnk6WX0pfHxfaCh7Y29uZmlnQm94OiJ2dmNDIn0pO2lmKG51bGw9PUh8fCFILmFwcGx5VHJhY2tDb25maWcpdGhyb3cgbmV3IEVycm9yKCJ2aWRlbyBjb2RlYyBwYXJzZXIgaXMgbm90IHJlZ2lzdGVyZWQ6ICIuY29uY2F0KFl8fCJ2dmNDIikpO0guYXBwbHlUcmFja0NvbmZpZyh7dHJhY2s6ZixlbnRyeTp2LGNvbmZpZzp2LnZ2Y0MscGFyc2VyOkF9KX1pZihmLnByZXNlbnQ9ITAsZi5leHQ9e30sZi5leHQuc3Rzcz1udWxsPT09KG49dC5tZGlhKXx8dm9pZCAwPT09bnx8bnVsbD09PShvPW4ubWluZil8fHZvaWQgMD09PW98fG51bGw9PT0oYT1vLnN0YmwpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLnN0c3MsZi5leHQuY3R0cz1udWxsPT09KHM9dC5tZGlhKXx8dm9pZCAwPT09c3x8bnVsbD09PShjPXMubWluZil8fHZvaWQgMD09PWN8fG51bGw9PT0oaD1jLnN0YmwpfHx2b2lkIDA9PT1oP3ZvaWQgMDpoLmN0dHMsdiYmImVuY3YiPT09di50eXBlKWYuaXNWaWRlb0VuY3J5cHRpb249ITAsdi5kZWZhdWx0X0tJRD1udWxsPT09KHk9di5zaW5mKXx8dm9pZCAwPT09eXx8bnVsbD09PShsPXkuc2NoaSl8fHZvaWQgMD09PWw/dm9pZCAwOmwudGVuYy5kZWZhdWx0X0tJRCx2LmRlZmF1bHRfSXNFbmNyeXB0ZWQ9bnVsbD09PShEPXYuc2luZil8fHZvaWQgMD09PUR8fG51bGw9PT0oZD1ELnNjaGkpfHx2b2lkIDA9PT1kP3ZvaWQgMDpkLnRlbmMuZGVmYXVsdF9Jc0VuY3J5cHRlZCx2LmRlZmF1bHRfSVZfc2l6ZT1udWxsPT09KHc9di5zaW5mKXx8dm9pZCAwPT09d3x8bnVsbD09PShGPXcuc2NoaSl8fHZvaWQgMD09PUY/dm9pZCAwOkYudGVuYy5kZWZhdWx0X0lWX3NpemUsZi52aWRlb1NlbmM9bnVsbD09PShHPXQubWRpYSl8fHZvaWQgMD09PUd8fG51bGw9PT0oUj1HLm1pbmYpfHx2b2lkIDA9PT1SfHxudWxsPT09KHA9Ui5zdGJsKXx8dm9pZCAwPT09cHx8bnVsbD09PShrPXAuc2VuYyl8fHZvaWQgMD09PWs/dm9pZCAwOmsuc2FtcGxlcyx2LmRhdGFfZm9ybWF0PW51bGw9PT0oVT12LnNpbmYpfHx2b2lkIDA9PT1VfHxudWxsPT09KFM9VS5mcm1hKXx8dm9pZCAwPT09Uz92b2lkIDA6Uy5kYXRhX2Zvcm1hdCxmLnVzZUVNRT1nLnVzZUVNRSxmLmtpZFZhbHVlPWcua2lkVmFsdWUsZi5wc3NoPWcucHNzaCxmLmVuY3Y9dn1pZihlJiZCKXt2YXIgTCxKLG0sSyx4LHEsYixULE8sUCxqPUIsVz1udWxsPT09KEw9ZS50a2hkKXx8dm9pZCAwPT09TD92b2lkIDA6TC50cmFja0lkO251bGwhPVcmJihqLmlkPWUudGtoZC50cmFja0lkKSxqLnRraGREdXJhdGlvbj1lLnRraGQuZHVyYXRpb24sai5tdmhkRHVydGlvbj1nLm12aGQuZHVyYXRpb24sai5tdmhkVGltZWNhbGU9Zy5tdmhkLnRpbWVzY2FsZSxqLnRpbWVzY2FsZT1qLmZvcm1hdFRpbWVzY2FsZT1lLm1kaWEubWRoZC50aW1lc2NhbGUsai5kdXJhdGlvbj1lLm1kaWEubWRoZC5kdXJhdGlvbnx8ai5tdmhkRHVydGlvbi9qLm12aGRUaW1lY2FsZSpqLnRpbWVzY2FsZSxudWxsIT09KEo9ZS5lZHRzKSYmdm9pZCAwIT09SiYmSi5lbHN0JiYoai5lZGl0TGlzdD1lLmVkdHMuZWxzdCxqLmVkaXRMaXN0QXBwbGllZD1lLmVkaXRMaXN0QXBwbGllZCk7dmFyIFosVixYLHosXywkLEFBLGdBLElBPWUubWRpYS5taW5mLnN0Ymwuc3RzZC5lbnRyaWVzWzBdO3N3aXRjaChqLnNhbXBsZVNpemU9SUEuc2FtcGxlU2l6ZSxqLnNhbXBsZVJhdGU9ZnVuY3Rpb24oQSl7dmFyIGc9MDtpZigibXA0YSI9PT1BLnR5cGUpe3ZhciBJO2lmKEEuc2FtcGxlUmF0ZT4wKWc9QS5zYW1wbGVSYXRlO2Vsc2UgZz1udWxsPT09KEk9QS5lc2RzKXx8dm9pZCAwPT09ST92b2lkIDA6SS5zYW1wbGVSYXRlfWVsc2UgZz1BLnNhbXBsZVJhdGU7cmV0dXJuIGd8fDB9KElBKSxqLmNoYW5uZWxDb3VudD1JQS5jaGFubmVsQ291bnQsai5wcmVzZW50PSEwLElBLnR5cGUpe2Nhc2UiYWxhdyI6ai5jb2RlY1R5cGU9ai5jb2RlYz1HaCxqLnNhbXBsZVJhdGU9OGUzO2JyZWFrO2Nhc2UidWxhdyI6ai5jb2RlY1R5cGU9ai5jb2RlYz1SaCxqLnNhbXBsZVJhdGU9OGUzO2JyZWFrO2RlZmF1bHQ6ai5zYW1wbGVEdXJhdGlvbj1taC5nZXRGcmFtZUR1cmF0aW9uKGouc2FtcGxlUmF0ZSxqLnRpbWVzY2FsZSksai5zYW1wbGVSYXRlSW5kZXg9bWguZ2V0UmF0ZUluZGV4QnlSYXRlKGouc2FtcGxlUmF0ZSksai5vYmplY3RUeXBlPShudWxsPT09KFE9SUEuZXNkcyl8fHZvaWQgMD09PVE/dm9pZCAwOlEub2JqZWN0VHlwZSl8fDIsSUEuZXNkcyYmKGouY29uZmlnPUFycmF5LmZyb20oSUEuZXNkcy5jb25maWcpKSxqLmNvZGVjPShudWxsPT09KEM9SUEuZXNkcyl8fHZvaWQgMD09PUM/dm9pZCAwOkMuY29kZWMpfHwibXA0YS40MC4yIn1pZihqLnNhbXBsZUR1cmF0aW9uPW1oLmdldEZyYW1lRHVyYXRpb24oai5zYW1wbGVSYXRlLGoudGltZXNjYWxlKSxqLm9iamVjdFR5cGU9KG51bGw9PT0obT1JQS5lc2RzKXx8dm9pZCAwPT09bT92b2lkIDA6bS5vYmplY3RUeXBlKXx8MixJQS5lc2RzJiYoSUEuZXNkcy5jb25maWc/ai5jb25maWc9QXJyYXkuZnJvbShJQS5lc2RzLmNvbmZpZyk6Y29uc29sZS53YXJuKCJlc2RzIGNvbmZpZyBpcyBudWxsIikpLGouY29kZWM9KG51bGw9PT0oSz1JQS5lc2RzKXx8dm9pZCAwPT09Sz92b2lkIDA6Sy5jb2RlYyl8fCJtcDRhLjQwLjIiLGouc2FtcGxlUmF0ZUluZGV4PW1oLmdldFJhdGVJbmRleEJ5UmF0ZShqLnNhbXBsZVJhdGUpLGouZXh0PXt9LGouZXh0LnN0c3M9bnVsbD09PSh4PWUubWRpYSl8fHZvaWQgMD09PXh8fG51bGw9PT0ocT14Lm1pbmYpfHx2b2lkIDA9PT1xfHxudWxsPT09KGI9cS5zdGJsKXx8dm9pZCAwPT09Yj92b2lkIDA6Yi5zdHNzLGouZXh0LmN0dHM9bnVsbD09PShUPWUubWRpYSl8fHZvaWQgMD09PVR8fG51bGw9PT0oTz1ULm1pbmYpfHx2b2lkIDA9PT1PfHxudWxsPT09KFA9Ty5zdGJsKXx8dm9pZCAwPT09UD92b2lkIDA6UC5jdHRzLGoucHJlc2VudD0hMCxJQSYmImVuY2EiPT09SUEudHlwZSlqLmlzQXVkaW9FbmNyeXB0aW9uPSEwLElBLmRhdGFfZm9ybWF0PW51bGw9PT0oWj1JQS5zaW5mKXx8dm9pZCAwPT09Wnx8bnVsbD09PShWPVouZnJtYSl8fHZvaWQgMD09PVY/dm9pZCAwOlYuZGF0YV9mb3JtYXQsSUEuZGVmYXVsdF9LSUQ9bnVsbD09PShYPUlBLnNpbmYpfHx2b2lkIDA9PT1YfHxudWxsPT09KHo9WC5zY2hpKXx8dm9pZCAwPT09ej92b2lkIDA6ei50ZW5jLmRlZmF1bHRfS0lELElBLmRlZmF1bHRfSXNFbmNyeXB0ZWQ9bnVsbD09PShfPUlBLnNpbmYpfHx2b2lkIDA9PT1ffHxudWxsPT09KCQ9Xy5zY2hpKXx8dm9pZCAwPT09JD92b2lkIDA6JC50ZW5jLmRlZmF1bHRfSXNFbmNyeXB0ZWQsSUEuZGVmYXVsdF9JVl9zaXplPW51bGw9PT0oQUE9SUEuc2luZil8fHZvaWQgMD09PUFBfHxudWxsPT09KGdBPUFBLnNjaGkpfHx2b2lkIDA9PT1nQT92b2lkIDA6Z0EudGVuYy5kZWZhdWx0X0lWX3NpemUsai5hdWRpb1NlbmM9ZS5tZGlhLm1pbmYuc3RibC5zZW5jJiZlLm1kaWEubWluZi5zdGJsLnNlbmMuc2FtcGxlcyxqLnVzZUVNRT1nLnVzZUVNRSxqLmtpZFZhbHVlPWcua2lkVmFsdWUsai5lbmNhPUlBfWlmKEImJihCLmlzVmlkZW9FbmNyeXB0aW9uPSEhSSYmSS5pc1ZpZGVvRW5jcnlwdGlvbiksSSYmKEkuaXNBdWRpb0VuY3J5cHRpb249ISFCJiZCLmlzQXVkaW9FbmNyeXB0aW9uKSxudWxsIT1JJiZJLmVuY3Z8fG51bGwhPUImJkIuZW5jYSl7dmFyIEJBLFFBLENBPW51bGw9PUl8fG51bGw9PT0oQkE9SS5lbmN2KXx8dm9pZCAwPT09QkE/dm9pZCAwOkJBLmRlZmF1bHRfS0lELEVBPW51bGw9PUJ8fG51bGw9PT0oUUE9Qi5lbmNhKXx8dm9pZCAwPT09UUE/dm9pZCAwOlFBLmRlZmF1bHRfS0lELHRBPUNBfHxFQT8oQ0F8fEVBKS5qb2luKCIiKTpudWxsO0kmJihJLmtpZD10QSksQiYmKEIua2lkPXRBKX1yZXR1cm4gSSYmKEkuZmxhZ3M9Mzg0MSksQiYmKEIuZmxhZ3M9MTc5Mykse3ZpZGVvVHJhY2s6SSxhdWRpb1RyYWNrOkJ9fX19LHtrZXk6ImV2YWx1YXRlRGVmYXVsdER1cmF0aW9uIix2YWx1ZTpmdW5jdGlvbihBLGcsSSl7dmFyIEIsUT1udWxsPT1nfHxudWxsPT09KEI9Zy5zYW1wbGVzKXx8dm9pZCAwPT09Qj92b2lkIDA6Qi5sZW5ndGg7cmV0dXJuIFE/MTAyNCpRL2cudGltZXNjYWxlKkEudGltZXNjYWxlL0k6MTAyNH19LHtrZXk6Im1vb2ZUb1NhbXBsZXMiLHZhbHVlOmZ1bmN0aW9uKGcsSSxCKXt2YXIgUT17fTtyZXR1cm4gZy5tZmhkJiYoSSYmKEkuc2VxdWVuY2VOdW1iZXI9Zy5tZmhkLnNlcXVlbmNlTnVtYmVyKSxCJiYoQi5zZXF1ZW5jZU51bWJlcj1nLm1maGQuc2VxdWVuY2VOdW1iZXIpKSxnLnRyYWYuZm9yRWFjaCgoZnVuY3Rpb24oZyl7dmFyIEM9Zy50ZmhkLEU9Zy50ZmR0LHQ9Zy50cnVuO2lmKEMmJnQpe0UmJihJJiZJLmlkPT09Qy50cmFja0lkJiYoSS5iYXNlTWVkaWFEZWNvZGVUaW1lPUUuYmFzZU1lZGlhRGVjb2RlVGltZSksQiYmQi5pZD09PUMudHJhY2tJZCYmKEIuYmFzZU1lZGlhRGVjb2RlVGltZT1FLmJhc2VNZWRpYURlY29kZVRpbWUpKTt2YXIgZT1DLmRlZmF1bHRTYW1wbGVTaXplfHwwLGk9Qy5kZWZhdWx0U2FtcGxlRHVyYXRpb258fEEuZXZhbHVhdGVEZWZhdWx0RHVyYXRpb24oSSxCLHQuc2FtcGxlcy5sZW5ndGh8fHQuc2FtcGxlQ291bnQpLHI9dC5kYXRhT2Zmc2V0fHwwLG49MCxvPS0xO2lmKCF0LnNhbXBsZXMubGVuZ3RoJiZ0LnNhbXBsZUNvdW50KXtRW0MudHJhY2tJZF09bmV3IEFycmF5KHQuc2FtcGxlQ291bnQpO2Zvcih2YXIgYT0wO2E8dC5zYW1wbGVDb3VudDthKyspUVtDLnRyYWNrSWRdW2FdPXtvZmZzZXQ6cixkdHM6bixkdXJhdGlvbjppLHNpemU6ZX0sbis9aSxyKz1lfWVsc2UgUVtDLnRyYWNrSWRdPXQuc2FtcGxlcy5tYXAoKGZ1bmN0aW9uKEEsZyl7cmV0dXJuKEE9e29mZnNldDpyLGR0czpuLHB0czpuKyhBLmN0c3x8MCksZHVyYXRpb246QS5kdXJhdGlvbnx8aSxzaXplOkEuc2l6ZXx8ZSxnb3BJZDpvLGtleWZyYW1lOjA9PT1nfHxudWxsIT09QS5mbGFncyYmdm9pZCAwIT09QS5mbGFncyYmKDY1NTM2JkEuZmxhZ3MpPj4+MCE9NjU1MzZ9KS5rZXlmcmFtZSYmKG8rKyxBLmdvcElkPW8pLG4rPUEuZHVyYXRpb24scis9QS5zaXplLEF9KSl9fSkpLFF9fSx7a2V5OiJtb292VG9TYW1wbGVzIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZz1BLnRyYWs7aWYoZyYmZy5sZW5ndGgpe3ZhciBJPWcuZmluZCgoZnVuY3Rpb24oQSl7dmFyIGcsSTtyZXR1cm4idmlkZSI9PT0obnVsbD09PShnPUEubWRpYSl8fHZvaWQgMD09PWd8fG51bGw9PT0oST1nLmhkbHIpfHx2b2lkIDA9PT1JP3ZvaWQgMDpJLmhhbmRsZXJUeXBlKX0pKSxCPWcuZmluZCgoZnVuY3Rpb24oQSl7dmFyIGcsSTtyZXR1cm4ic291biI9PT0obnVsbD09PShnPUEubWRpYSl8fHZvaWQgMD09PWd8fG51bGw9PT0oST1nLmhkbHIpfHx2b2lkIDA9PT1JP3ZvaWQgMDpJLmhhbmRsZXJUeXBlKX0pKTtpZihJfHxCKXt2YXIgUSxDO2lmKEkpe3ZhciBFLHQsZT1udWxsPT09KEU9SS5tZGlhKXx8dm9pZCAwPT09RXx8bnVsbD09PSh0PUUubWluZil8fHZvaWQgMD09PXQ/dm9pZCAwOnQuc3RibDtpZighZSlyZXR1cm47dmFyIGk9ZS5zdHRzLHI9ZS5zdHNjLG49ZS5zdHN6LG89ZS5zdGNvLGE9ZS5zdHNzLHM9ZS5jdHRzO2lmKCEoaSYmciYmbiYmbyYmYSkpcmV0dXJuO1E9b2YoaSxyLG4sbyxzLGEpfWlmKEIpe3ZhciBjLGgsZix1PW51bGw9PT0oYz1CLm1kaWEpfHx2b2lkIDA9PT1jfHxudWxsPT09KGg9Yy5taW5mKXx8dm9pZCAwPT09aD92b2lkIDA6aC5zdGJsO2lmKCF1KXJldHVybjt2YXIgeT1udWxsPT09KGY9Qi5tZGlhLm1kaGQpfHx2b2lkIDA9PT1mP3ZvaWQgMDpmLnRpbWVzY2FsZSxsPXUuc3R0cyxEPXUuc3RzYyxkPXUuc3Rzeix3PXUuc3RjbztpZighKHkmJmwmJkQmJmQmJncpKXJldHVybjtDPW9mKGwsRCxkLHcpfXJldHVybnt2aWRlb1NhbXBsZXM6USxhdWRpb1NhbXBsZXM6Q319fX19XSksQX0oKTtmdW5jdGlvbiBvZihBLGcsSSxCLFEsQyl7dmFyIEUsdCxlLGk9W10scj1udWxsPT1RP3ZvaWQgMDpRLmVudHJpZXMsbj1nLmVudHJpZXMsbz1CLmVudHJpZXMsYT1JLmVudHJ5U2l6ZXMscz1udWxsPT1DP3ZvaWQgMDpDLmVudHJpZXM7cyYmKEU9e30scy5mb3JFYWNoKChmdW5jdGlvbihBKXtFW0EtMV09ITB9KSkpLHImJih0PVtdLHIuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBnPUEuY291bnQsST1BLm9mZnNldCxCPTA7QjxnO0IrKyl0LnB1c2goSSl9KSkpO3ZhciBjPS0xLGg9MCxmPTAsdT0wLHk9MCxsPTAsRD1uWzBdLnNhbXBsZXNQZXJDaHVuayxkPW5bMV0/blsxXS5maXJzdENodW5rLTE6MS8wO3JldHVybiBBLmVudHJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBnPUEuY291bnQsQj1BLmRlbHRhLFE9MDtRPGc7USsrKWU9e2R0czpoLGR1cmF0aW9uOkIsc2l6ZTphW2ZdfHxJLnNhbXBsZVNpemUsb2Zmc2V0Om9bdV0rbCxpbmRleDpmfSxzJiYoZS5rZXlmcmFtZT1FW2ZdLGUua2V5ZnJhbWUmJmMrKyxlLmdvcElkPWMpLHQmJmY8dC5sZW5ndGgmJihlLnB0cz1lLmR0cyt0W2ZdKSxpLnB1c2goZSksaCs9QiwrK2Y8RD9sKz1lLnNpemU6KHUrKyxsPTAsdT49ZCYmKHkrKyxkPW5beSsxXT9uW3krMV0uZmlyc3RDaHVuay0xOjEvMCksRCs9blt5XS5zYW1wbGVzUGVyQ2h1bmspfSkpLGl9ZnVuY3Rpb24gYWYoQSxnKXtyZXR1cm4gQS5kYXRhUmVmZXJlbmNlSW5kZXg9Z2YoZyw2KSxBLndpZHRoPWdmKGcsMjQpLEEuaGVpZ2h0PWdmKGcsMjYpLEEuaG9yaXpyZXNvbHV0aW9uPUlmKGcsMjgpLEEudmVydHJlc29sdXRpb249SWYoZywzMiksQS5mcmFtZUNvdW50PWdmKGcsNDApLEEuZGVwdGg9Z2YoZyw3NCksNzh9ZnVuY3Rpb24gc2YoQSxnKXtyZXR1cm4gQS5kYXRhUmVmZXJlbmNlSW5kZXg9Z2YoZyw2KSxBLmNoYW5uZWxDb3VudD1nZihnLDE2KSxBLnNhbXBsZVNpemU9Z2YoZywxOCksQS5zYW1wbGVSYXRlPUlmKGcsMjQpLzY1NTM2LDI4fWZ1bmN0aW9uIGNmKEEsZyxJKXtpZihBKXtpZihBLnNpemUhPT1BLmRhdGEubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiYm94ICIuY29uY2F0KEEudHlwZSwiIHNpemUgIT09IGRhdGEubGVuZ3RoIikpO3ZhciBCPXtzdGFydDpBLnN0YXJ0LHNpemU6QS5zaXplLGhlYWRlclNpemU6QS5oZWFkZXJTaXplLHR5cGU6QS50eXBlfTtyZXR1cm4gZyYmKEIudmVyc2lvbj1BLmRhdGFbQS5oZWFkZXJTaXplXSxCLmZsYWdzPWZ1bmN0aW9uKEEpe3ZhciBnPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3JldHVybihBW2ddPDwxNikrKEFbZysxXTw8OCkrKEFbZysyXXx8MCl9KEEuZGF0YSxBLmhlYWRlclNpemUrMSksQi5oZWFkZXJTaXplKz00KSxJKEIsQS5kYXRhLnN1YmFycmF5KEIuaGVhZGVyU2l6ZSksQi5zdGFydCtCLmhlYWRlclNpemUpLEJ9fXZhciBoZj1mdW5jdGlvbigpe2Zvcih2YXIgQT1bXSxnPWFyZ3VtZW50cy5sZW5ndGgsST1uZXcgQXJyYXkoZyksQj0wO0I8ZztCKyspSVtCXT1hcmd1bWVudHNbQl07cmV0dXJuIEkuZm9yRWFjaCgoZnVuY3Rpb24oZyl7QS5wdXNoKGZ1bmN0aW9uKEEsZyxJKXtmb3IodmFyIEI9U3RyaW5nKEkpLFE9MHxnLEM9TWF0aC5jZWlsKFEvQi5sZW5ndGgpLEU9W10sdD1TdHJpbmcoQSk7Qy0tOylFLnB1c2goQik7cmV0dXJuIEUuam9pbigiIikuc3Vic3RyaW5nKDAsUS10Lmxlbmd0aCkrdH0oTnVtYmVyKGcpLnRvU3RyaW5nKDE2KSwyLDApKX0pKSxBWzBdfTt2YXIgZmY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7ZWgodGhpcyxBKSx0aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheSgwKX1yZXR1cm4gcmgoQSxbe2tleToid3JpdGUiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBPXRoaXMsZz1hcmd1bWVudHMubGVuZ3RoLEk9bmV3IEFycmF5KGcpLEI9MDtCPGc7QisrKUlbQl09YXJndW1lbnRzW0JdO0kuZm9yRWFjaCgoZnVuY3Rpb24oZyl7Zz9BLmJ1ZmZlcj1mdW5jdGlvbihBKXtmb3IodmFyIGc9MCxJPWFyZ3VtZW50cy5sZW5ndGgsQj1uZXcgQXJyYXkoST4xP0ktMTowKSxRPTE7UTxJO1ErKylCW1EtMV09YXJndW1lbnRzW1FdO0IuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zys9QS5sZW5ndGh9KSk7dmFyIEM9bmV3IEEoZyksRT0wO3JldHVybiBCLmZvckVhY2goKGZ1bmN0aW9uKEEpe0Muc2V0KEEsRSksRSs9QS5sZW5ndGh9KSksQ30oVWludDhBcnJheSxBLmJ1ZmZlcixnKTp3aW5kb3cuY29uc29sZS53YXJuKGcpfSkpfX1dLFt7a2V5OiJ3cml0ZVVpbnQxNiIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIG5ldyBVaW50OEFycmF5KFtBPj44JjI1NSwyNTUmQV0pfX0se2tleToid3JpdGVVaW50MzIiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBuZXcgVWludDhBcnJheShbQT4+MjQsQT4+MTYmMjU1LEE+PjgmMjU1LDI1NSZBXSl9fV0pLEF9KCksdWY9TWF0aC5wb3coMiwzMiktMSx5Zj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtlaCh0aGlzLEEpfXJldHVybiByaChBLG51bGwsW3trZXk6ImJveCIsdmFsdWU6ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPWFyZ3VtZW50cy5sZW5ndGgsST1uZXcgQXJyYXkoZz4xP2ctMTowKSxCPTE7QjxnO0IrKylJW0ItMV09YXJndW1lbnRzW0JdO3ZhciBRPTgrKEk9SS5maWx0ZXIoQm9vbGVhbikpLnJlZHVjZSgoZnVuY3Rpb24oQSxnKXtyZXR1cm4gQStnLmJ5dGVMZW5ndGh9KSwwKSxDPW5ldyBVaW50OEFycmF5KFEpO0NbMF09UT4+MjQmMjU1LENbMV09UT4+MTYmMjU1LENbMl09UT4+OCYyNTUsQ1szXT0yNTUmUSxDLnNldChBLDQpO3ZhciBFPTg7cmV0dXJuIEkuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Qy5zZXQoQSxFKSxFKz1BLmJ5dGVMZW5ndGh9KSksQ319LHtrZXk6InR5cGUiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLnR5cGVzW2ddfHwoQS50eXBlc1tnXT1bZy5jaGFyQ29kZUF0KDApLGcuY2hhckNvZGVBdCgxKSxnLmNoYXJDb2RlQXQoMiksZy5jaGFyQ29kZUF0KDMpXSksQS50eXBlc1tnXX19LHtrZXk6IkZ1bGxCb3giLHZhbHVlOmZ1bmN0aW9uKGcsSSxCKXtmb3IodmFyIFE9YXJndW1lbnRzLmxlbmd0aCxDPW5ldyBBcnJheShRPjM/US0zOjApLEU9MztFPFE7RSsrKUNbRS0zXT1hcmd1bWVudHNbRV07cmV0dXJuIEEuYm94LmFwcGx5KEEsW2csbmV3IFVpbnQ4QXJyYXkoW0ksQj4+MTYmMjU1LEI+PjgmMjU1LDI1NSZCXSldLmNvbmNhdChDKSl9fSx7a2V5OiJmdHlwIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1nLmZpbmQoKGZ1bmN0aW9uKEEpe3JldHVybiBBLnR5cGU9PT1maH0pKTtpZigobnVsbD09ST92b2lkIDA6SS5jb2RlY1R5cGUpPT09ZGgpcmV0dXJuIEEuRlRZUEhFVjE7dmFyIEI9X2goe3RyYWNrOkl9KTtyZXR1cm4gbnVsbCE9QiYmQi5idWlsZEZ0eXA/Qi5idWlsZEZ0eXAoe3RyYWNrOkksdHJhY2tzOmcsTVA0OkF9KTpBLkZUWVBBVkMxfX0se2tleToiaW5pdFNlZ21lbnQiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBnJiZnLmxlbmd0aD8kaChBLmZ0eXAoZyksQS5tb292KGcpKTpuZXcgVWludDhBcnJheX19LHtrZXk6InBzc2giLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPW5ldyBVaW50OEFycmF5KFsxLDAsMCwwXS5jb25jYXQoWzE2LDExOSwyMzksMjM2LDE5MiwxNzgsNzcsMiwxNzIsMjI3LDYwLDMwLDgyLDIyNiwyNTEsNzVdLFswLDAsMCwxXSx0ZihnLmtpZCksWzAsMCwwLDBdKSk7cmV0dXJuIEEuYm94KEEudHlwZXMucHNzaCxJKX19LHtrZXk6Im1vb3YiLHZhbHVlOmZ1bmN0aW9uKGcpe2lmKGdbMF0udXNlRU1FJiYoZ1swXS5lbmN2fHxnWzBdLmVuY2EpKXtnWzBdLnBzc2h8fChnWzBdLnBzc2g9e2tpZDpnWzBdLmtpZH0pO3ZhciBJPXRoaXMucHNzaChnWzBdLnBzc2gpO3JldHVybiBBLmJveC5hcHBseShBLFtBLnR5cGVzLm1vb3YsQS5tdmhkKGdbMF0ubXZoZER1cnRpb258fGdbMF0uZHVyYXRpb24sZ1swXS5tdmhkVGltZWNhbGV8fGdbMF0udGltZXNjYWxlKSxBLm12ZXgoZyldLmNvbmNhdChhaChnLm1hcCgoZnVuY3Rpb24oZyl7cmV0dXJuIEEudHJhayhnKX0pKSksW0ldKSl9cmV0dXJuIEEuYm94LmFwcGx5KEEsW0EudHlwZXMubW9vdixBLm12aGQoZ1swXS5tdmhkRHVydGlvbnx8Z1swXS5kdXJhdGlvbixnWzBdLm12aGRUaW1lY2FsZXx8Z1swXS50aW1lc2NhbGUpXS5jb25jYXQoYWgoZy5tYXAoKGZ1bmN0aW9uKGcpe3JldHVybiBBLnRyYWsoZyl9KSkpLFtBLm12ZXgoZyldKSl9fSx7a2V5OiJtdmhkIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06OWU0O3JldHVybiBBLmJveChBLnR5cGVzLm12aGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLEk+PjI0JjI1NSxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkksZz4+MjQmMjU1LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZywwLDEsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyNTUsMjU1LDI1NSwyNTVdKSl9fSx7a2V5OiJ0cmFrIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gQS5ib3goQS50eXBlcy50cmFrLEEudGtoZChnLmlkLGcudGtoZER1cmF0aW9ufHwwLGcud2lkdGgsZy5oZWlnaHQpLEEubWRpYShnKSl9fSx7a2V5OiJ0a2hkIix2YWx1ZTpmdW5jdGlvbihnLEkpe3ZhciBCPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTowLFE9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjA7cmV0dXJuIEEuYm94KEEudHlwZXMudGtoZCxuZXcgVWludDhBcnJheShbMCwwLDAsNywwLDAsMCwwLDAsMCwwLDAsZz4+MjQmMjU1LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZywwLDAsMCwwLEk+PjI0JjI1NSxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjQsMCwwLDAsQj4+OCYyNTUsMjU1JkIsMCwwLFE+PjgmMjU1LDI1NSZRLDAsMF0pKX19LHtrZXk6ImVkdHMiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLmJveChBLnR5cGVzLmVkdHMsQS5lbHN0KGcpKX19LHtrZXk6ImVsc3QiLHZhbHVlOmZ1bmN0aW9uKGcpe2cuZW50cmllczt2YXIgST1nLmVudHJpZXNEYXRhLEI9Zy52ZXJzaW9uO3JldHVybiBBLkZ1bGxCb3goQS50eXBlcy5lbHN0LEIsMCxJKX19LHtrZXk6Im1kaWEiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLmJveChBLnR5cGVzLm1kaWEsQS5tZGhkKGcuZHVyYXRpb24sZy50aW1lc2NhbGUpLEEuaGRscihnLnR5cGUpLEEubWluZihnKSl9fSx7a2V5OiJtZGhkIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06OWU0O3JldHVybiBBLmJveChBLnR5cGVzLm1kaGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLEk+PjI0JjI1NSxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkksZz4+MjQmMjU1LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZyw4NSwxOTYsMCwwXSkpfX0se2tleToiaGRsciIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMuaGRscixBLkhETFJfVFlQRVNbZ10pfX0se2tleToibWluZiIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMubWluZixnLnR5cGU9PT1maD9BLlZNSEQ6QS5TTUhELEEuRElORixBLnN0YmwoZykpfX0se2tleToic3RibCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIGcmJmcuZXh0LEEuYm94KEEudHlwZXMuc3RibCxBLnN0c2QoZyksQS5TVFRTLFtdWzBdLEEuU1RTQyxBLlNUU1osQS5TVENPKX19LHtrZXk6InN0c2QiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJO3JldHVybiBJPSJhdWRpbyI9PT1nLnR5cGU/Zy51c2VFTUUmJmcuZW5jYT9BLmVuY2EoZyk6Zy5jb2RlY1R5cGU9PT1waD9BLm9wdXMoZyk6QS5tcDRhKGcpOmcudXNlRU1FJiZnLmVuY3Y/QS5lbmN2KGcpOmcuYXYxQz9BLmF2MDEoZyk6QS5hdmMxaGV2MXZ2YzEoZyksQS5ib3goQS50eXBlcy5zdHNkLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDFdKSxJKX19LHtrZXk6ImVuY2EiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcuZW5jYS5jaGFubmVsQ291bnQsQj1nLmVuY2Euc2FtcGxlUmF0ZSxRPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsSSwwLDE2LDAsMCwwLDAsQj4+OCYyNTUsMjU1JkIsMCwwXSksQz1BLmVzZHMoZy5jb25maWcpLEU9QS5zaW5mKGcuZW5jYSk7cmV0dXJuIEEuYm94KEEudHlwZXMuZW5jYSxRLEMsRSl9fSx7a2V5OiJlbmN2Iix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgSSxCPWcud2lkdGgsUT1nLmhlaWdodCxDPWcuc2FyUmF0aW8mJmcuc2FyUmF0aW8ubGVuZ3RoPjE/Zy5zYXJSYXRpb1swXTowLEU9Zy5zYXJSYXRpbyYmZy5zYXJSYXRpby5sZW5ndGg+MT9nLnNhclJhdGlvWzFdOjAsdD1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsQj4+OCYyNTUsMjU1JkIsUT4+OCYyNTUsMjU1JlEsMCw3MiwwLDAsMCw3MiwwLDAsMCwwLDAsMCwwLDEsMTgsMTAwLDk3LDEwNSwxMDgsMTIxLDEwOSwxMTEsMTE2LDEwNSwxMTEsMTEwLDQ3LDEwNCwxMDgsMTE1LDQ2LDEwNiwxMTUsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDI0LDE3LDE3XSksZT1faCh7dHJhY2s6Z30pO2lmKGcuY29kZWNUeXBlPT09ZGgpST1BLmh2Y0MoZyk7ZWxzZSBpZihudWxsIT1lJiZlLmJ1aWxkQ29uZmlnQm94KUk9ZS5idWlsZENvbmZpZ0JveCh7dHJhY2s6ZyxNUDQ6QX0pO2Vsc2V7dmFyIGkscixuPWcuc3BzJiZnLnNwcy5sZW5ndGg+MD9nLnNwc1swXTpbXSxvPWcucHBzJiZnLnBwcy5sZW5ndGg+MD9nLnBwc1swXTpbXSxhPW5ldyBVaW50OEFycmF5KChpPShyPVsxLG5bMV0sblsyXSxuWzNdLDI1NSwyMjUsbi5sZW5ndGg+Pj44JjI1NSwyNTUmbi5sZW5ndGhdKS5jb25jYXQuYXBwbHkocixhaChuKSkuY29uY2F0KFsxLG8ubGVuZ3RoPj4+OCYyNTUsMjU1Jm8ubGVuZ3RoXSkpLmNvbmNhdC5hcHBseShpLGFoKG8pKSk7ST1BLmJveChBLnR5cGVzLmF2Y0MsYSl9dmFyIHM9bmV3IFVpbnQ4QXJyYXkoWzAsMCw4OCw1NywwLDE1LDIwMCwxOTIsMCw0LDg2LDcyXSksYz1BLnNpbmYoZy5lbmN2KSxoPVt0LEksQS5ib3goQS50eXBlcy5idHJ0LHMpLGNdO2lmKGcuc2FyUmF0aW8mJmcuc2FyUmF0aW8ubGVuZ3RoPjEpe3ZhciBmPW5ldyBVaW50OEFycmF5KFtDPj4yNCxDPj4xNiYyNTUsQz4+OCYyNTUsMjU1JkMsRT4+MjQsRT4+MTYmMjU1LEU+PjgmMjU1LDI1NSZFXSk7aC5wdXNoKEEuYm94KEEudHlwZXMucGFzcCxmKSl9cmV0dXJuIEEuYm94LmFwcGx5KEEsW0EudHlwZXMuZW5jdl0uY29uY2F0KGgpKX19LHtrZXk6InNjaGkiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPW5ldyBVaW50OEFycmF5KFtdKSxCPUEudGVuYyhnKTtyZXR1cm4gQS5ib3goQS50eXBlcy5zY2hpLEksQil9fSx7a2V5OiJ0ZW5jIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMjU1JmcuZGVmYXVsdF9Jc0VuY3J5cHRlZCwyNTUmZy5kZWZhdWx0X0lWX3NpemVdLmNvbmNhdCh0ZihnLmRlZmF1bHRfS0lEKSkpO3JldHVybiBBLmJveChBLnR5cGVzLnRlbmMsSSl9fSx7a2V5OiJzaW5mIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1uZXcgVWludDhBcnJheShbXSksQj1uZXcgVWludDhBcnJheShbZy5kYXRhX2Zvcm1hdC5jaGFyQ29kZUF0KDApLGcuZGF0YV9mb3JtYXQuY2hhckNvZGVBdCgxKSxnLmRhdGFfZm9ybWF0LmNoYXJDb2RlQXQoMiksZy5kYXRhX2Zvcm1hdC5jaGFyQ29kZUF0KDMpXSksUT1uZXcgVWludDhBcnJheShbMCwwLDAsMCw5OSwxMDEsMTEwLDk5LDAsMSwwLDBdKSxDPUEuc2NoaShnKTtyZXR1cm4gQS5ib3goQS50eXBlcy5zaW5mLEksQS5ib3goQS50eXBlcy5mcm1hLEIpLEEuYm94KEEudHlwZXMuc2NobSxRKSxDKX19LHtrZXk6ImF2MDEiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLmJveChBLnR5cGVzLmF2MDEsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLGcud2lkdGg+PjgmMjU1LDI1NSZnLndpZHRoLGcuaGVpZ2h0Pj44JjI1NSwyNTUmZy5oZWlnaHQsMCw3MiwwLDAsMCw3MiwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQsMTcsMTddKSxnLmF2MUMsZy5jb2xyKX19LHtrZXk6ImF2YzFoZXYxdnZjMSIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEksQixRO2lmKGcuY29kZWNUeXBlPT09ZGgpQj1BLmh2Y0MoZyksUT1BLnR5cGVzLmh2YzE7ZWxzZSBpZihudWxsIT09KEk9X2goe3RyYWNrOmd9KSkmJnZvaWQgMCE9PUkmJkkuYnVpbGRDb25maWdCb3gpe3ZhciBDPV9oKHt0cmFjazpnfSk7Qj1DLmJ1aWxkQ29uZmlnQm94KHt0cmFjazpnLE1QNDpBfSksUT1BLnR5cGUoQy5nZXRTYW1wbGVFbnRyeVR5cGU/Qy5nZXRTYW1wbGVFbnRyeVR5cGUoe3RyYWNrOmd9KTpDLnNhbXBsZUVudHJpZXNbMF0pfWVsc2UgQj1BLmF2Y0MoZyksUT1BLnR5cGVzLmF2YzE7dmFyIEU9W25ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCxnLndpZHRoPj44JjI1NSwyNTUmZy53aWR0aCxnLmhlaWdodD4+OCYyNTUsMjU1JmcuaGVpZ2h0LDAsNzIsMCwwLDAsNzIsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDI0LDE3LDE3XSksQl07cmV0dXJuIGcuY29kZWNUeXBlPT09ZGg/RS5wdXNoKEEuYm94KEEudHlwZXMuZmllbCxuZXcgVWludDhBcnJheShbMSwwXSkpKTpnLnNhclJhdGlvJiZnLnNhclJhdGlvLmxlbmd0aD4xJiZFLnB1c2goQS5wYXNwKGcuc2FyUmF0aW8pKSxBLmJveC5hcHBseShBLFtRXS5jb25jYXQoRSkpfX0se2tleToiYXZjQyIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEksQixRLEM9W10sRT1bXTtyZXR1cm4gZy5zcHMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7UT1BLmJ5dGVMZW5ndGgsQy5wdXNoKFE+Pj44JjI1NSksQy5wdXNoKDI1NSZRKSxDLnB1c2guYXBwbHkoQyxhaChBKSl9KSksZy5wcHMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7UT1BLmJ5dGVMZW5ndGgsRS5wdXNoKFE+Pj44JjI1NSksRS5wdXNoKDI1NSZRKSxFLnB1c2guYXBwbHkoRSxhaChBKSl9KSksQS5ib3goQS50eXBlcy5hdmNDLG5ldyBVaW50OEFycmF5KChJPShCPVsxLENbM10sQ1s0XSxDWzVdLDI1NSwyMjR8Zy5zcHMubGVuZ3RoXSkuY29uY2F0LmFwcGx5KEIsQykuY29uY2F0KFtnLnBwcy5sZW5ndGhdKSkuY29uY2F0LmFwcGx5KEksRSkpKX19LHtrZXk6InZ2Y0MiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPV9oKHt0cmFjazpnfSk7cmV0dXJuIG51bGwhPUkmJkkuYnVpbGRDb25maWdCb3g/SS5idWlsZENvbmZpZ0JveCh7dHJhY2s6ZyxNUDQ6QX0pOkEuYm94KEEudHlwZXMudnZjQyxuZXcgVWludDhBcnJheShnLnZ2Y0MpKX19LHtrZXk6Imh2Y0MiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcuaHZjQztpZihJIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fEkgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBJO3ZhciBCLFE9Zy52cHMsQz1nLnNwcyxFPWcucHBzO2lmKEkpe3ZhciB0PUkuZ2VuZXJhbFByb2ZpbGVDb21wYXRpYmlsaXR5RmxhZ3MsZT1JLmdlbmVyYWxDb25zdHJhaW50SW5kaWNhdG9yRmxhZ3MsaT0oUS5sZW5ndGgmJjEpKyhDLmxlbmd0aCYmMSkrKEUubGVuZ3RoJiYxKTtCPVsxLEkuZ2VuZXJhbFByb2ZpbGVTcGFjZTw8NnxJLmdlbmVyYWxUaWVyRmxhZzw8NXxJLmdlbmVyYWxQcm9maWxlSWRjLHQ+Pj4yNCx0Pj4+MTYsdD4+PjgsdCxlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSxJLmdlbmVyYWxMZXZlbElkYywyNDAsMCwyNTIsMjUyfEkuY2hyb21hRm9ybWF0SWRjLDI0OHxJLmJpdERlcHRoTHVtYU1pbnVzOCwyNDh8SS5iaXREZXB0aENocm9tYU1pbnVzOCwwLDAsSS5udW1UZW1wb3JhbExheWVyczw8M3xJLnRlbXBvcmFsSWROZXN0ZWQ8PDJ8MyxpXTt2YXIgcj1mdW5jdGlvbihBKXt2YXIgZztCLnB1c2goQS5sZW5ndGg+PjgsQS5sZW5ndGgpLChnPUIpLnB1c2guYXBwbHkoZyxhaChBKSl9O1EubGVuZ3RoJiYoQi5wdXNoKDE2MCwwLFEubGVuZ3RoKSxRLmZvckVhY2gocikpLEMubGVuZ3RoJiYoQi5wdXNoKDE2MSwwLEMubGVuZ3RoKSxDLmZvckVhY2gocikpLEUubGVuZ3RoJiYoQi5wdXNoKDE2MiwwLEUubGVuZ3RoKSxFLmZvckVhY2gocikpfWVsc2UgQj1bMSwxLDk2LDAsMCwwLDE0NCwwLDAsMCwwLDAsOTMsMjQwLDAsMjUyLDI1MywyNDgsMjQ4LDAsMCwxNSwzLDE2MCwwLDEsMCwyNCw2NCwxLDEyLDEsMjU1LDI1NSwxLDk2LDAsMCwzLDAsMTQ0LDAsMCwzLDAsMCwzLDAsOTMsMTUzLDE1Miw5LDE2MSwwLDEsMCw0NSw2NiwxLDEsMSw5NiwwLDAsMywwLDE0NCwwLDAsMywwLDAsMywwLDkzLDE2MCwyLDEyOCwxMjgsNDUsMjIsODksMTUzLDE2NCwxNDcsNDMsMTU0LDEyOCwxMjgsMTI4LDEzMCwwLDAsMywwLDIsMCwwLDMsMCw1MCwxNiwxNjIsMCwxLDAsNyw2OCwxLDE5MywxMTQsMTgwLDk4LDY0XTtyZXR1cm4gQS5ib3goQS50eXBlcy5odmNDLG5ldyBVaW50OEFycmF5KEIpKX19LHtrZXk6InBhc3AiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPW9oKGcsMiksQj1JWzBdLFE9SVsxXTtyZXR1cm4gQS5ib3goQS50eXBlcy5wYXNwLG5ldyBVaW50OEFycmF5KFtCPj4yNCxCPj4xNiYyNTUsQj4+OCYyNTUsMjU1JkIsUT4+MjQsUT4+MTYmMjU1LFE+PjgmMjU1LDI1NSZRXSkpfX0se2tleToibXA0YSIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMubXA0YSxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLGcuY2hhbm5lbENvdW50LDAsMTYsMCwwLDAsMCxnLnNhbXBsZVJhdGU+PjgmMjU1LDI1NSZnLnNhbXBsZVJhdGUsMCwwXSksZy5jb25maWcubGVuZ3RoP0EuZXNkcyhnLmNvbmZpZyk6dm9pZCAwKX19LHtrZXk6ImVzZHMiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcubGVuZ3RoO3JldHVybiBBLmJveChBLnR5cGVzLmVzZHMsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMywyMytJLDAsMCwwLDQsMTUrSSw2NCwyMSwwLDYsMCwwLDAsMjE4LDE5MiwwLDAsMjE4LDE5Miw1XS5jb25jYXQoW0ldKS5jb25jYXQoZykuY29uY2F0KFs2LDEsMl0pKSl9fSx7a2V5OiJvcHVzIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLGcuY2hhbm5lbENvdW50LDAsMTYsMCwwLDAsMCxnLnNhbXBsZVJhdGU+PjgmMjU1LDI1NSZnLnNhbXBsZVJhdGUsMCwwXSksQj1nLmNvbmZpZy5sZW5ndGg/QS5kT3BzKGcpOltdO3JldHVybiBBLmJveChBLnR5cGVzLk9wdXMsSSxCKX19LHtrZXk6ImRPcHMiLHZhbHVlOmZ1bmN0aW9uKGcpe2lmKGcuY29uZmlnKXJldHVybiBnLmNvbmZpZ1s0XT1nLnNhbXBsZVJhdGU+Pj4yNCYyNTUsZy5jb25maWdbNV09Zy5zYW1wbGVSYXRlPj4+MTYmMjU1LGcuY29uZmlnWzZdPWcuc2FtcGxlUmF0ZT4+PjgmMjU1LGcuY29uZmlnWzddPTI1NSZnLnNhbXBsZVJhdGUsQS5ib3goQS50eXBlcy5kT3BzLGcuY29uZmlnKX19LHtrZXk6Im12ZXgiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLmJveC5hcHBseShBLFtBLnR5cGVzLm12ZXhdLmNvbmNhdChhaChnLm1hcCgoZnVuY3Rpb24oZyl7cmV0dXJuIEEudHJleChnLmlkKX0pKSkpKX19LHtrZXk6InRyZXgiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLmJveChBLnR5cGVzLnRyZXgsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsZz4+MjQsZz4+MTYmMjU1LGc+PjgmMjU1LDI1NSZnLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDFdKSl9fSx7a2V5OiJ0cmV4MSIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMudHJleCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxnPj4yNCxnPj4xNiYyNTUsZz4+OCYyNTUsMjU1JmcsMCwwLDAsMSwwLDAsMiwwLDAsMCwwLDAsMCwxLDAsMF0pKX19LHtrZXk6InRyZXgyIix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gQS5ib3goQS50eXBlcy50cmV4LG5ldyBVaW50OEFycmF5KFswLDAsMCwwLGc+PjI0LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZywwLDAsMCwxLDAsMCw0LDAsMCwwLDAsMCwyLDAsMCwwXSkpfX0se2tleToibW9vZiIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94LmFwcGx5KEEsW0EudHlwZXMubW9vZixBLm1maGQoZ1swXS5zYW1wbGVzP2dbMF0uc2FtcGxlc1swXS5nb3BJZDowKV0uY29uY2F0KGFoKGcubWFwKChmdW5jdGlvbihnKXtyZXR1cm4gQS50cmFmKGcpfSkpKSkpfX0se2tleToibWZoZCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMubWZoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxnPj4yNCxnPj4xNiYyNTUsZz4+OCYyNTUsMjU1JmddKSl9fSx7a2V5OiJ0cmFmIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1BLnRmaGQoZy5pZCksQj1BLnRmZHQoZy5iYXNlTWVkaWFEZWNvZGVUaW1lKSxRPTA7aWYoZy5pc1ZpZGVvJiZnLnZpZGVvU2VuYyYmZy52aWRlb1NlbmMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7USs9OCxBLnN1YnNhbXBsZXMmJkEuc3Vic2FtcGxlcy5sZW5ndGgmJihRKz0yLFErPTYqQS5zdWJzYW1wbGVzLmxlbmd0aCl9KSksZy52aWRlb1NlbmNMZW5ndGg9USxnLnVzZUVNRSYmKGcuaXNWaWRlb0VuY3J5cHRpb258fGcuaXNBdWRpb0VuY3J5cHRpb24pKXtpZihnLmlzVmlkZW9FbmNyeXB0aW9uKXtpZihnLmlzVmlkZW8pe3ZhciBDPUEuc2FpeihnKSxFPUEuc2FpbyhnKSx0PUEudHJ1bjEoZyksZT1BLnNlbmMoZyk7cmV0dXJuIEEuYm94KEEudHlwZXMudHJhZixJLEIsQyxFLHQsZSl9aWYoZy5pc0F1ZGlvRW5jcnlwdGlvbil7dmFyIGk9QS5zYmdwKCkscj1BLnNhaXooZyksbj1BLnNhaW8oZyksbz1BLnNlbmMoZyksYT1BLnRydW4xKGcpO3JldHVybiBBLmJveChBLnR5cGVzLnRyYWYsSSxCLGkscixuLG8sYSl9dmFyIHM9QS5zYmdwKCksYz1BLnRydW4xKGcpO3JldHVybiBBLmJveChBLnR5cGVzLnRyYWYsSSxCLHMsYyl9aWYoZy5pc1ZpZGVvKXt2YXIgaD1BLnRydW4xKGcpO3JldHVybiBBLmJveChBLnR5cGVzLnRyYWYsSSxCLGgpfXZhciBmPUEuc2JncCgpLHU9QS5zYWl6KGcpLHk9QS5zYWlvKGcpLGw9QS5zZW5jKGcpLEQ9QS50cnVuMShnKTtyZXR1cm4gQS5ib3goQS50eXBlcy50cmFmLEksQixmLHUseSxsLEQpfXZhciBkPUEuc2R0cChnKTtyZXR1cm4gQS5ib3goQS50eXBlcy50cmFmLEksQixkLEEudHJ1bihnLnNhbXBsZXMsZC5ieXRlTGVuZ3RoKzc2KSl9fSx7a2V5OiJzZHRwIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1uZXcgZmY7cmV0dXJuIGcuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbihBKXtJLndyaXRlKG5ldyBVaW50OEFycmF5KGcuaXNWaWRlbz9bQS5rZXlmcmFtZT8zMjoxNl06WzE2XSkpfSkpLEEuYm94KEEudHlwZXMuc2R0cCx0aGlzLmV4dGVuc2lvbigwLDApLEkuYnVmZmVyKX19LHtrZXk6InRydW4xIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1uZXcgZmYsQj1mZi53cml0ZVVpbnQzMihnLnNhbXBsZXMubGVuZ3RoKSxRPW51bGw7aWYoZy5pc1ZpZGVvKXt2YXIgQz1nLnZpZGVvU2VuY0xlbmd0aDtRPWZmLndyaXRlVWludDMyKDc2KzE2Kmcuc2FtcGxlcy5sZW5ndGgrQys3NyksIWcuaXNWaWRlb0VuY3J5cHRpb24mJmcuaXNBdWRpb0VuY3J5cHRpb24mJihRPWZmLndyaXRlVWludDMyKDc2KzE2Kmcuc2FtcGxlcy5sZW5ndGgrMjApKX1lbHNle3ZhciBFPTc2KzEyKmcuc2FtcGxlcy5sZW5ndGgrNTI7Zy5pc0F1ZGlvRW5jcnlwdGlvbiYmKEU9NzYrMTIqZy5zYW1wbGVzLmxlbmd0aCs4KmcuYXVkaW9TZW5jLmxlbmd0aCsxMDUpLFE9ZmYud3JpdGVVaW50MzIoRSl9cmV0dXJuIGcuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbihBKXtJLndyaXRlKGZmLndyaXRlVWludDMyKEEuZHVyYXRpb24pKSxJLndyaXRlKGZmLndyaXRlVWludDMyKEEuc2l6ZSkpLEkud3JpdGUoZmYud3JpdGVVaW50MzIoQS5rZXlmcmFtZT8zMzU1NDQzMjo2NTUzNikpLGcuaXNWaWRlbyYmSS53cml0ZShmZi53cml0ZVVpbnQzMihBLmN0cz9BLmN0czowKSl9KSksQS5ib3goQS50eXBlcy50cnVuLHRoaXMuZXh0ZW5zaW9uKDAsZy5mbGFncyksQixRLEkuYnVmZmVyKX19LHtrZXk6InNlbmMiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPW5ldyBmZixCPWcuc2FtcGxlcy5sZW5ndGgsUT1nLmlzVmlkZW8/MTY6OCxDPWcuaXNWaWRlbz8yOjAsRT1bXSx0PTA7cmV0dXJuIGcuaXNWaWRlbz8oRT1nLnZpZGVvU2VuYyx0PWcudmlkZW9TZW5jTGVuZ3RoKTpFPWcuYXVkaW9TZW5jLHQ9dHx8USpCLEkud3JpdGUoZmYud3JpdGVVaW50MzIoMTYrdCksQS50eXBlcy5zZW5jLHRoaXMuZXh0ZW5zaW9uKDAsQykpLEkud3JpdGUoZmYud3JpdGVVaW50MzIoQikpLEUuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBnPTA7ZzxBLkluaXRpYWxpemF0aW9uVmVjdG9yLmxlbmd0aDtnKyspSS53cml0ZShuZXcgVWludDhBcnJheShbQS5Jbml0aWFsaXphdGlvblZlY3RvcltnXV0pKTtBLnN1YnNhbXBsZXMmJkEuc3Vic2FtcGxlcy5sZW5ndGgmJihJLndyaXRlKGZmLndyaXRlVWludDE2KEEuc3Vic2FtcGxlcy5sZW5ndGgpKSxBLnN1YnNhbXBsZXMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7SS53cml0ZShmZi53cml0ZVVpbnQxNihBLkJ5dGVzT2ZDbGVhckRhdGEpKSxJLndyaXRlKGZmLndyaXRlVWludDMyKEEuQnl0ZXNPZlByb3RlY3RlZERhdGEpKX0pKSl9KSksSS5idWZmZXJ9fSx7a2V5OiJzYWlvIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST0xMipnLnNhbXBsZXMubGVuZ3RoKzE0MTshZy5pc1ZpZGVvJiZnLmlzQXVkaW9FbmNyeXB0aW9uJiYoST0xNDkpO3ZhciBCPW5ldyBVaW50OEFycmF5KFsxLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCxJPj4yNCYyNTUsST4+MTYmMjU1LEk+PjgmMjU1LDI1NSZJXSk7cmV0dXJuIEEuYm94KEEudHlwZXMuc2FpbyxCKX19LHtrZXk6InNhaXoiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcuc2FtcGxlcy5sZW5ndGgsQj1uZXcgVWludDhBcnJheShbMCwwLDAsMCwxNixJPj4yNCYyNTUsST4+MTYmMjU1LEk+PjgmMjU1LDI1NSZJXSk7cmV0dXJuIEEuYm94KEEudHlwZXMuc2FpeixCKX19LHtrZXk6InNiZ3AiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGc9bmV3IFVpbnQ4QXJyYXkoWzExNCwxMTEsMTA4LDEwOCwwLDAsMCwxLDAsMCwxLDI1LDAsMCwwLDFdKTtyZXR1cm4gQS5ib3goQS50eXBlcy5zYmdwLHRoaXMuZXh0ZW5zaW9uKDAsMCksZyl9fSx7a2V5OiJleHRlbnNpb24iLHZhbHVlOmZ1bmN0aW9uKEEsZyl7cmV0dXJuIG5ldyBVaW50OEFycmF5KFtBLGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZ10pfX0se2tleToidGZoZCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMudGZoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxnPj4yNCxnPj4xNiYyNTUsZz4+OCYyNTUsMjU1JmddKSl9fSx7a2V5OiJ0ZmR0Iix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1NYXRoLmZsb29yKGcvKHVmKzEpKSxCPU1hdGguZmxvb3IoZyUodWYrMSkpO3JldHVybiBBLmJveChBLnR5cGVzLnRmZHQsbmV3IFVpbnQ4QXJyYXkoWzEsMCwwLDAsST4+MjQsST4+MTYmMjU1LEk+PjgmMjU1LDI1NSZJLEI+PjI0LEI+PjE2JjI1NSxCPj44JjI1NSwyNTUmQl0pKX19LHtrZXk6InRydW4iLHZhbHVlOmZ1bmN0aW9uKGcsSSl7dmFyIEI9Zy5sZW5ndGgsUT0xMisxNipCO0krPTgrUTt2YXIgQz1uZXcgVWludDhBcnJheShRKTtDLnNldChbMCwwLDE1LDEsQj4+PjI0JjI1NSxCPj4+MTYmMjU1LEI+Pj44JjI1NSwyNTUmQixJPj4+MjQmMjU1LEk+Pj4xNiYyNTUsST4+PjgmMjU1LDI1NSZJXSwwKTtmb3IodmFyIEU9MDtFPEI7RSsrKXt2YXIgdD1nW0VdLGU9dC5kdXJhdGlvbixpPXQuc2l6ZSxyPXQuZmxhZyxuPXZvaWQgMD09PXI/e306cixvPXQuY3RzLGE9dm9pZCAwPT09bz8wOm87Qy5zZXQoW2U+Pj4yNCYyNTUsZT4+PjE2JjI1NSxlPj4+OCYyNTUsMjU1JmUsaT4+PjI0JjI1NSxpPj4+MTYmMjU1LGk+Pj44JjI1NSwyNTUmaSxuLmlzTGVhZGluZzw8MnwobnVsbD09PW4uZGVwZW5kc09ufHx2b2lkIDA9PT1uLmRlcGVuZHNPbj8xOm4uZGVwZW5kc09uKSxuLmlzRGVwZW5kZWRPbjw8NnxuLmhhc1JlZHVuZGFuY3k8PDR8bi5wYWRkaW5nVmFsdWU8PDF8KG51bGw9PT1uLmlzTm9uU3luY1NhbXBsZXx8dm9pZCAwPT09bi5pc05vblN5bmNTYW1wbGU/MTpuLmlzTm9uU3luY1NhbXBsZSksNjE0NDAmbi5kZWdyYWRhdGlvblByaW9yaXR5LDE1Jm4uZGVncmFkYXRpb25Qcmlvcml0eSxhPj4+MjQmMjU1LGE+Pj4xNiYyNTUsYT4+PjgmMjU1LDI1NSZhXSwxMisxNipFKX1yZXR1cm4gQS5ib3goQS50eXBlcy50cnVuLEMpfX0se2tleToibW9vdk1QNCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94LmFwcGx5KEEsW0EudHlwZXMubW9vdixBLm12aGQoZ1swXS5kdXJhdGlvbixnWzBdLnRpbWVzY2FsZSldLmNvbmNhdChhaChnLm1hcCgoZnVuY3Rpb24oZyl7cmV0dXJuIEEudHJhY2tNUDQoZyl9KSkpKSl9fSx7a2V5OiJ0cmFja01QNCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMudHJhayxBLnRraGQoZy5pZCxnLmR1cmF0aW9uLGcud2lkdGgsZy5oZWlnaHQpLEEubWRpYU1QNChnKSl9fSx7a2V5OiJtZGlhTVA0Iix2YWx1ZTpmdW5jdGlvbihnKXtyZXR1cm4gQS5ib3goQS50eXBlcy5tZGlhLEEubWRoZChnLmR1cmF0aW9uLGcudGltZXNjYWxlKSxBLmhkbHIoZy50eXBlKSxBLm1pbmZNUDQoZykpfX0se2tleToibWluZk1QNCIsdmFsdWU6ZnVuY3Rpb24oZyl7cmV0dXJuIEEuYm94KEEudHlwZXMubWluZixnLnR5cGU9PT1maD9BLlZNSEQ6QS5TTUhELEEuRElORixBLnN0YmxNUDQoZykpfX0se2tleToic3RibE1QNCIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEk9Zy5leHQsQj1bQS5zdHNkKGcpLEEuc3R0cyhJLnN0dHMpLEEuc3RzYyhJLnN0c2MpLEEuc3RzeihJLnN0c3opLEEuc3RjbyhJLnN0Y28pXTtyZXR1cm4gSS5zdHNzLmxlbmd0aCYmQi5wdXNoKEEuc3RzcyhJLnN0c3MpKSxJLmN0dHMubGVuZ3RoJiZCLnB1c2goQS5jdHRzKEkuY3R0cykpLEEuYm94LmFwcGx5KEEsW0EudHlwZXMuc3RibF0uY29uY2F0KEIpKX19LHtrZXk6InN0dHMiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcubGVuZ3RoLEI9bmV3IFVpbnQ4QXJyYXkoOCpJKSxRPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIGc9QS52YWx1ZSxJPUEuY291bnQ7Qi5zZXQoW0k+PjI0LEk+PjE2JjI1NSxJPj44JjI1NSwyNTUmSSxnPj4yNCxnPj4xNiYyNTUsZz4+OCYyNTUsMjU1JmddLFEpLFErPTh9KSksQS5ib3goQS50eXBlcy5zdHRzLCRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLEk+PjI0LEk+PjE2JjI1NSxJPj44JjI1NSwyNTUmSV0pLEIpKX19LHtrZXk6InN0c2MiLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcubGVuZ3RoLEI9bmV3IFVpbnQ4QXJyYXkoMTIqSSksUT0wO3JldHVybiBnLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBnPUEuZmlyc3RDaHVuayxJPUEuc2FtcGxlc1BlckNodW5rLEM9QS5zYW1wbGVEZXNjSW5kZXg7Qi5zZXQoW2c+PjI0LGc+PjE2JjI1NSxnPj44JjI1NSwyNTUmZyxJPj4yNCxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkksQz4+MjQsQz4+MTYmMjU1LEM+PjgmMjU1LDI1NSZDXSxRKSxRKz0xMn0pKSxBLmJveChBLnR5cGVzLnN0c2MsJGgobmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsST4+MjQsST4+MTYmMjU1LEk+PjgmMjU1LDI1NSZJXSksQikpfX0se2tleToic3RzeiIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEk9Zy5sZW5ndGgsQj1uZXcgVWludDhBcnJheSg0KkkpLFE9MDtyZXR1cm4gZy5mb3JFYWNoKChmdW5jdGlvbihBKXtCLnNldChbQT4+MjQsQT4+MTYmMjU1LEE+PjgmMjU1LDI1NSZBXSxRKSxRKz00fSkpLEEuYm94KEEudHlwZXMuc3RzeiwkaChuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLEk+PjI0LEk+PjE2JjI1NSxJPj44JjI1NSwyNTUmSV0pLEIpKX19LHtrZXk6InN0Y28iLHZhbHVlOmZ1bmN0aW9uKGcpe3ZhciBJPWcubGVuZ3RoLEI9bmV3IFVpbnQ4QXJyYXkoNCpJKSxRPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Qi5zZXQoW0E+PjI0LEE+PjE2JjI1NSxBPj44JjI1NSwyNTUmQV0sUSksUSs9NH0pKSxBLmJveChBLnR5cGVzLnN0Y28sJGgobmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsST4+MjQsST4+MTYmMjU1LEk+PjgmMjU1LDI1NSZJXSksQikpfX0se2tleToic3RzcyIsdmFsdWU6ZnVuY3Rpb24oZyl7dmFyIEk9Zy5sZW5ndGgsQj1uZXcgVWludDhBcnJheSg0KkkpLFE9MDtyZXR1cm4gZy5mb3JFYWNoKChmdW5jdGlvbihBKXtCLnNldChbQT4+MjQsQT4+MTYmMjU1LEE+PjgmMjU1LDI1NSZBXSxRKSxRKz00fSkpLEEuYm94KEEudHlwZXMuc3RzcywkaChuZXcgVWludDhBcnJheShbMCwwLDAsMCxJPj4yNCxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkldKSxCKSl9fSx7a2V5OiJjdHRzIix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1nLmxlbmd0aCxCPW5ldyBVaW50OEFycmF5KDgqSSksUT0wO3JldHVybiBnLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBnPUEudmFsdWUsST1BLmNvdW50O0Iuc2V0KFtJPj4yNCxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkksZz4+MjQsZz4+MTYmMjU1LGc+PjgmMjU1LDI1NSZnXSxRKSxRKz04fSkpLEEuYm94KEEudHlwZXMuY3R0cywkaChuZXcgVWludDhBcnJheShbMCwwLDAsMCxJPj4yNCxJPj4xNiYyNTUsST4+OCYyNTUsMjU1JkldKSxCKSl9fSx7a2V5OiJzdHlwIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBBLmJveChBLnR5cGVzLnN0eXAsbmV3IFVpbnQ4QXJyYXkoWzEwOSwxMTUsMTAwLDEwNCwwLDAsMCwwLDEwOSwxMTUsMTAwLDEwNCwxMDksMTE1LDEwNSwxMjBdKSl9fSx7a2V5OiJzaWR4Iix2YWx1ZTpmdW5jdGlvbihnKXt2YXIgST1nLnRpbWVzY2FsZSxCPWcuc2FtcGxlc1swXS5kdXJhdGlvbixRPUIqZy5zYW1wbGVzLmxlbmd0aCxDPWcuc2FtcGxlc1swXS5zYW1wbGVPZmZzZXQqQixFPTg7Zy5zYW1wbGVzLmZvckVhY2goKGZ1bmN0aW9uKEEpe0UrPUEuc2l6ZX0pKTt2YXIgdD0wO2lmKGcuaXNWaWRlbyl7dmFyIGUsaT0wO2cudmlkZW9TZW5jJiYoZT1nLnZpZGVvU2VuYyksZy5pc1ZpZGVvJiZlLmZvckVhY2goKGZ1bmN0aW9uKEEpe2krPTgsQS5zdWJzYW1wbGVzJiZBLnN1YnNhbXBsZXMubGVuZ3RoJiYoaSs9MixpKz02KkEuc3Vic2FtcGxlcy5sZW5ndGgpfSkpLGcudmlkZW9TZW5jTGVuZ3RoPWksdD1FKzE0MSsxNipnLnNhbXBsZXMubGVuZ3RoK2ksZy51c2VFTUUmJmcuaXNBdWRpb0VuY3J5cHRpb24mJiFnLmlzVmlkZW9FbmNyeXB0aW9uJiYodD1FKzE2Kmcuc2FtcGxlcy5sZW5ndGgrODQpfWVsc2UgdD1FKzExNisxMipnLnNhbXBsZXMubGVuZ3RoLGcudXNlRU1FJiZnLmlzQXVkaW9FbmNyeXB0aW9uJiYodD1FKzE2OSsxMipnLnNhbXBsZXMubGVuZ3RoKzgqZy5hdWRpb1NlbmMubGVuZ3RoKTt2YXIgcj1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwyNTUmZy5pZCxJPj4yNCYyNTUsST4+MTYmMjU1LEk+PjgmMjU1LDI1NSZJLEM+PjI0JjI1NSxDPj4xNiYyNTUsQz4+OCYyNTUsMjU1JkMsMCwwLDAsMCwwLDAsMCwxLDAsdD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LFE+PjI0JjI1NSxRPj4xNiYyNTUsUT4+OCYyNTUsMjU1JlEsMTQ0LDAsMCwwXSk7cmV0dXJuIEEuYm94KEEudHlwZXMuc2lkeCxyKX19LHtrZXk6Im1kYXQiLHZhbHVlOmZ1bmN0aW9uKGcpe3JldHVybiBBLmJveChBLnR5cGVzLm1kYXQsZyl9fV0pLEF9KCk7bmgoeWYsInR5cGVzIixbIk9wdXMiLCJkT3BzIiwiYXYwMSIsImF2MUMiLCJhdmMxIiwiYXZjQyIsImh2YzEiLCJodmNDIiwiZGluZiIsImRyZWYiLCJlZHRzIiwiZWxzdCIsImVzZHMiLCJmdHlwIiwiaGRsciIsIm1kYXQiLCJtZGhkIiwibWRpYSIsIm1maGQiLCJtaW5mIiwibW9vZiIsIm1vb3YiLCJtcDRhIiwibXZleCIsIm12aGQiLCJwYXNwIiwic3RibCIsInN0Y28iLCJzdHNjIiwic3RzZCIsInN0c3oiLCJzdHRzIiwidGZkdCIsInRmaGQiLCJ0cmFmIiwidHJhayIsInRyZXgiLCJ0a2hkIiwidm1oZCIsInNtaGQiLCJjdHRzIiwic3RzcyIsInN0eXAiLCJwc3NoIiwic2lkeCIsInNiZ3AiLCJzYWl6Iiwic2FpbyIsInNlbmMiLCJ0cnVuIiwiZW5jdiIsImVuY2EiLCJzaW5mIiwiYnRydCIsImZybWEiLCJ0ZW5jIiwic2NobSIsInNjaGkiLCJtZWhkIiwiZmllbCIsInNkdHAiLCJ2dmMxIiwidnZpMSIsInZ2Y0MiXS5yZWR1Y2UoKGZ1bmN0aW9uKEEsZyl7cmV0dXJuIEFbZ109W2cuY2hhckNvZGVBdCgwKSxnLmNoYXJDb2RlQXQoMSksZy5jaGFyQ29kZUF0KDIpLGcuY2hhckNvZGVBdCgzKV0sQX0pLE9iamVjdC5jcmVhdGUobnVsbCkpKSxuaCh5ZiwiSERMUl9UWVBFUyIse3ZpZGVvOm5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAsMTE4LDEwNSwxMDAsMTAxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg2LDEwNSwxMDAsMTAxLDExMSw3Miw5NywxMTAsMTAwLDEwOCwxMDEsMTE0LDBdKSxhdWRpbzpuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDExNSwxMTEsMTE3LDExMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw4MywxMTEsMTE3LDExMCwxMDAsNzIsOTcsMTEwLDEwMCwxMDgsMTAxLDExNCwwXSl9KSxuaCh5ZiwiRlRZUEFWQzEiLHlmLmJveCh5Zi50eXBlcy5mdHlwLG5ldyBVaW50OEFycmF5KFsxMDUsMTE1LDExMSwxMDksMCwwLDAsMSwxMDUsMTE1LDExMSwxMDksOTcsMTE4LDk5LDQ5XSkpKSxuaCh5ZiwiRlRZUEhFVjEiLHlmLmJveCh5Zi50eXBlcy5mdHlwLG5ldyBVaW50OEFycmF5KFsxMDUsMTE1LDExMSwxMDksMCwwLDAsMSwxMDUsMTE1LDExMSwxMDksMTA0LDEwMSwxMTgsNDldKSkpLG5oKHlmLCJGVFlQVlZDMSIseWYuYm94KHlmLnR5cGVzLmZ0eXAsbmV3IFVpbnQ4QXJyYXkoWzEwNSwxMTUsMTExLDEwOSwwLDAsMCwxLDEwNSwxMTUsMTExLDEwOSwxMTgsMTE4LDk5LDQ5XSkpKSxuaCh5ZiwiRElORiIseWYuYm94KHlmLnR5cGVzLmRpbmYseWYuYm94KHlmLnR5cGVzLmRyZWYsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxMiwxMTcsMTE0LDEwOCwzMiwwLDAsMCwxXSkpKSksbmgoeWYsIlZNSEQiLHlmLmJveCh5Zi50eXBlcy52bWhkLG5ldyBVaW50OEFycmF5KFswLDAsMCwxLDAsMCwwLDAsMCwwLDAsMF0pKSksbmgoeWYsIlNNSEQiLHlmLmJveCh5Zi50eXBlcy5zbWhkLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDBdKSkpLG5oKHlmLCJTdGJsVGFibGUiLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDBdKSksbmgoeWYsIlNUVFMiLHlmLmJveCh5Zi50eXBlcy5zdHRzLHlmLlN0YmxUYWJsZSkpLG5oKHlmLCJTVFNDIix5Zi5ib3goeWYudHlwZXMuc3RzYyx5Zi5TdGJsVGFibGUpKSxuaCh5ZiwiU1RTWiIseWYuYm94KHlmLnR5cGVzLnN0c3osbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpKSxuaCh5ZiwiU1RDTyIseWYuYm94KHlmLnR5cGVzLnN0Y28seWYuU3RibFRhYmxlKSk7dmFyIGxmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQShnLEkpe2VoKHRoaXMsQSksdGhpcy5uYW1lPWd8fCIiLHRoaXMuX3ByZWZpeD0iWyIuY29uY2F0KHRoaXMubmFtZSwiXSIpLEEuZGlzYWJsZWQ9SX1yZXR1cm4gcmgoQSxbe2tleToiZGVidWciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGc7aWYoIUEuZGlzYWJsZWQpe2Zvcih2YXIgST1hcmd1bWVudHMubGVuZ3RoLEI9bmV3IEFycmF5KEkpLFE9MDtRPEk7USsrKUJbUV09YXJndW1lbnRzW1FdOyhnPWNvbnNvbGUpLmRlYnVnLmFwcGx5KGcsW3RoaXMuX3ByZWZpeF0uY29uY2F0KEIpKX19fSx7a2V5OiJsb2ciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGc7aWYoIUEuZGlzYWJsZWQpe2Zvcih2YXIgST1hcmd1bWVudHMubGVuZ3RoLEI9bmV3IEFycmF5KEkpLFE9MDtRPEk7USsrKUJbUV09YXJndW1lbnRzW1FdOyhnPWNvbnNvbGUpLmxvZy5hcHBseShnLFt0aGlzLl9wcmVmaXhdLmNvbmNhdChCKSl9fX0se2tleToid2FybiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZztpZighQS5kaXNhYmxlZCl7Zm9yKHZhciBJPWFyZ3VtZW50cy5sZW5ndGgsQj1uZXcgQXJyYXkoSSksUT0wO1E8STtRKyspQltRXT1hcmd1bWVudHNbUV07KGc9Y29uc29sZSkud2Fybi5hcHBseShnLFt0aGlzLl9wcmVmaXhdLmNvbmNhdChCKSl9fX0se2tleToiZXJyb3IiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGc7aWYoIUEuZGlzYWJsZWQpe2Zvcih2YXIgST1hcmd1bWVudHMubGVuZ3RoLEI9bmV3IEFycmF5KEkpLFE9MDtRPEk7USsrKUJbUV09YXJndW1lbnRzW1FdOyhnPWNvbnNvbGUpLmVycm9yLmFwcGx5KGcsW3RoaXMuX3ByZWZpeF0uY29uY2F0KEIpKX19fSx7a2V5OiJ0YWJsZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZztBLmRpc2FibGVkfHwoY29uc29sZS5ncm91cCh0aGlzLl9wcmVmaXgpLChnPWNvbnNvbGUpLnRhYmxlLmFwcGx5KGcsYXJndW1lbnRzKSxjb25zb2xlLmdyb3VwRW5kKCkpfX1dLFt7a2V5OiJlbmFibGUiLHZhbHVlOmZ1bmN0aW9uKCl7QS5kaXNhYmxlZD0hMX19LHtrZXk6ImRpc2FibGUiLHZhbHVlOmZ1bmN0aW9uKCl7QS5kaXNhYmxlZD0hMH19XSksQX0oKTtuaChsZiwiZGlzYWJsZWQiLCEwKTt2YXIgRGYsZGYsd2YsRmYsR2YsUmY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKGcsSSxCKXtlaCh0aGlzLEEpLHRoaXMudmlkZW9UcmFjaz1nLHRoaXMuYXVkaW9UcmFjaz1JO3ZhciBRPS9DaHJvbWVcLyhbXi5dKykvLmV4ZWMobmF2aWdhdG9yLnVzZXJBZ2VudCk7dGhpcy5mb3JjZUZpcnN0SURSPVEmJk51bWJlcihRWzFdKTw1MCx0aGlzLmxvZz1uZXcgbGYoIkZNUDRSZW11eGVyIiwhQnx8IUIub3BlbkxvZ3x8IUIub3BlbkxvZyl9cmV0dXJuIHJoKEEsW3trZXk6InJlbXV4Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBLGcsSSxCLFEsQz1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXSYmYXJndW1lbnRzWzBdLEU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LHQ9dGhpcy52aWRlb1RyYWNrLGU9dGhpcy5hdWRpb1RyYWNrLGk9dC5leGlzdCgpLHI9ZS5leGlzdCgpLG49W107cmV0dXJuIEMmJihFJiZFLmluaXRNZXJnZT8oaSYmbi5wdXNoKHRoaXMudmlkZW9UcmFjayksciYmbi5wdXNoKHRoaXMuYXVkaW9UcmFjayksST15Zi5pbml0U2VnbWVudChuKSk6KGkmJihBPXlmLmluaXRTZWdtZW50KFt0aGlzLnZpZGVvVHJhY2tdKSksciYmKGc9eWYuaW5pdFNlZ21lbnQoW3RoaXMuYXVkaW9UcmFja10pKSkpLGkmJnQuaGFzU2FtcGxlKCkmJihCPXRoaXMuX3JlbXV4VmlkZW8oKSksciYmZS5oYXNTYW1wbGUoKSYmKFE9dGhpcy5fcmVtdXhBdWRpbygpKSx0LnNhbXBsZXM9W10sZS5zYW1wbGVzPVtdLHtpbml0U2VnbWVudDpJLHZpZGVvSW5pdFNlZ21lbnQ6QSxhdWRpb0luaXRTZWdtZW50OmcsdmlkZW9TZWdtZW50OkIsYXVkaW9TZWdtZW50OlF9fX0se2tleToiX3JlbXV4VmlkZW8iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcy52aWRlb1RyYWNrO3RoaXMuZm9yY2VGaXJzdElEUiYmKEEuc2FtcGxlc1swXS5mbGFnPXtkZXBlbmRzT246Mixpc05vblN5bmNTYW1wbGU6MH0pO3ZhciBnPUEuc2FtcGxlcyxJPS9hdjAxLy50ZXN0KEEuY29kZWMpLEI9MDtJP2cuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Qis9QS5kYXRhLmJ5dGVMZW5ndGh9KSk6Zy5mb3JFYWNoKChmdW5jdGlvbihBKXtCKz1BLnVuaXRzLnJlZHVjZSgoZnVuY3Rpb24oQSxnKXtyZXR1cm4gQStnLmJ5dGVMZW5ndGh9KSwwKSxCKz00KkEudW5pdHMubGVuZ3RofSkpO3ZhciBRPW5ldyBVaW50OEFycmF5KEIpO2lmKEkpZm9yKHZhciBDLEU9MCx0PWcubGVuZ3RoLGU9MDtFPHQ7RSsrKUM9Z1tFXSxRLnNldChDLmRhdGEsZSksQy5zaXplPUMuZGF0YS5ieXRlTGVuZ3RoLGUrPUMuc2l6ZTtlbHNlIGZvcih2YXIgaSxyPW5ldyBEYXRhVmlldyhRLmJ1ZmZlciksbj1mdW5jdGlvbihBLEkpe0k9Z1tvXTt2YXIgQj0wO0kudW5pdHMuZm9yRWFjaCgoZnVuY3Rpb24oZyl7ci5zZXRVaW50MzIoQSxnLmJ5dGVMZW5ndGgpLEErPTQsUS5zZXQoZyxBKSxBKz1nLmJ5dGVMZW5ndGgsQis9NCtnLmJ5dGVMZW5ndGh9KSksSS5zaXplPUIscz1BLGk9SX0sbz0wLGE9Zy5sZW5ndGgscz0wO288YTtvKyspbihzLGkpO3ZhciBjPXlmLm1kYXQoUSk7cmV0dXJuICRoKHlmLm1vb2YoW0FdKSxjKX19LHtrZXk6Il9yZW11eEF1ZGlvIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXMuYXVkaW9UcmFjayxnPW5ldyBVaW50OEFycmF5KEEuc2FtcGxlcy5yZWR1Y2UoKGZ1bmN0aW9uKEEsZyl7cmV0dXJuIEErZy5zaXplfSksMCkpO0Euc2FtcGxlcy5yZWR1Y2UoKGZ1bmN0aW9uKEEsSSl7cmV0dXJuIGcuc2V0KEkuZGF0YSxBKSxBK0kuc2l6ZX0pLDApO3ZhciBJPXlmLm1kYXQoZyk7cmV0dXJuICRoKHlmLm1vb2YoW0FdKSxJKX19LHtrZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMudmlkZW9UcmFjay5yZXNldCgpLHRoaXMuYXVkaW9UcmFjay5yZXNldCgpfX1dKSxBfSgpLHBmPWlCLGtmPV9BLFVmPVBBLFNmPVpBLHZmPW9BLE5mPVpFLE1mPWdyLFlmPUNyKCJzcGxpY2UiKSxIZj1NYXRoLm1heCxMZj1NYXRoLm1pbjtwZih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFZZn0se3NwbGljZTpmdW5jdGlvbihBLGcpe3ZhciBJLEIsUSxDLEUsdCxlPXZmKHRoaXMpLGk9U2YoZS5sZW5ndGgpLHI9a2YoQSxpKSxuPWFyZ3VtZW50cy5sZW5ndGg7aWYoMD09PW4/ST1CPTA6MT09PW4/KEk9MCxCPWktcik6KEk9bi0yLEI9TGYoSGYoVWYoZyksMCksaS1yKSksaStJLUI+OTAwNzE5OTI1NDc0MDk5MSl0aHJvdyBUeXBlRXJyb3IoIk1heGltdW0gYWxsb3dlZCBsZW5ndGggZXhjZWVkZWQiKTtmb3IoUT1OZihlLEIpLEM9MDtDPEI7QysrKShFPXIrQylpbiBlJiZNZihRLEMsZVtFXSk7aWYoUS5sZW5ndGg9QixJPEIpe2ZvcihDPXI7QzxpLUI7QysrKXQ9QytJLChFPUMrQilpbiBlP2VbdF09ZVtFXTpkZWxldGUgZVt0XTtmb3IoQz1pO0M+aS1CK0k7Qy0tKWRlbGV0ZSBlW0MtMV19ZWxzZSBpZihJPkIpZm9yKEM9aS1CO0M+cjtDLS0pdD1DK0ktMSwoRT1DK0ItMSlpbiBlP2VbdF09ZVtFXTpkZWxldGUgZVt0XTtmb3IoQz0wO0M8STtDKyspZVtDK3JdPWFyZ3VtZW50c1tDKzJdO3JldHVybiBlLmxlbmd0aD1pLUIrSSxRfX0pLCR0KCJVaW50OCIsKGZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnLEksQil7cmV0dXJuIEEodGhpcyxnLEksQil9fSksITApLGlCKHtnbG9iYWw6ITB9LHtnbG9iYWxUaGlzOnZ9KTt2YXIgSmYsbWY9KG51bGw9PT0oRGY9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dm9pZCAwKXx8dm9pZCAwPT09RGY/dm9pZCAwOkRmLmNyeXB0byl8fChudWxsPT09KGRmPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDp2b2lkIDApfHx2b2lkIDA9PT1kZj92b2lkIDA6ZGYuY3J5cHRvKXx8KG51bGw9PT0od2Y9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCl8fHZvaWQgMD09PXdmP3ZvaWQgMDp3Zi5jcnlwdG8pfHwobnVsbD09PShGZj0idW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp2b2lkIDApfHx2b2lkIDA9PT1GZj92b2lkIDA6RmYuY3J5cHRvKXx8KG51bGw9PT0oR2Y9InVuZGVmaW5lZCIhPXR5cGVvZiBmcmFtZXM/ZnJhbWVzOnZvaWQgMCl8fHZvaWQgMD09PUdmfHxudWxsPT09KEdmPUdmWzBdKXx8dm9pZCAwPT09R2Y/dm9pZCAwOkdmLmNyeXB0byk7SmY9bWY/ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPVtdLEk9MDtJPEE7SSs9NClnLnB1c2gobWYuZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50MzJBcnJheSgxKSlbMF0pO3JldHVybiBuZXcgeGYoZyxBKX06ZnVuY3Rpb24oQSl7Zm9yKHZhciBnLEk9W10sQj1mdW5jdGlvbihBKXt2YXIgZz1BLEk9OTg3NjU0MzIxLEI9NDI5NDk2NzI5NTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgQT0oKEk9MzY5NjkqKDY1NTM1JkkpKyhJPj4xNikmQik8PDE2KSsoZz0xOGUzKig2NTUzNSZnKSsoZz4+MTYpJkIpJkI7cmV0dXJuIEEvPTQyOTQ5NjcyOTYsKEErPS41KSooTWF0aC5yYW5kb20oKT4uNT8xOi0xKX19LFE9MDtRPEE7USs9NCl7dmFyIEM9Qig0Mjk0OTY3Mjk2KihnfHxNYXRoLnJhbmRvbSgpKSk7Zz05ODc2NTQwNzEqQygpLEkucHVzaCg0Mjk0OTY3Mjk2KkMoKXwwKX1yZXR1cm4gbmV3IHhmKEksQSl9O3ZhciBLZj1mdW5jdGlvbigpe3JldHVybiBDKChmdW5jdGlvbiBBKCl7Qih0aGlzLEEpfSksW3trZXk6Im1peEluIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gT2JqZWN0LmFzc2lnbih0aGlzLEEpfX0se2tleToiY2xvbmUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9bmV3IHRoaXMuY29uc3RydWN0b3I7cmV0dXJuIE9iamVjdC5hc3NpZ24oQSx0aGlzKSxBfX1dLFt7a2V5OiJjcmVhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBPWFyZ3VtZW50cy5sZW5ndGgsZz1uZXcgQXJyYXkoQSksST0wO0k8QTtJKyspZ1tJXT1hcmd1bWVudHNbSV07cmV0dXJuIGZ1bmN0aW9uKEEsZyxJKXtpZihyKCkpcmV0dXJuIFJlZmxlY3QuY29uc3RydWN0LmFwcGx5KG51bGwsYXJndW1lbnRzKTt2YXIgQj1bbnVsbF07Qi5wdXNoLmFwcGx5KEIsZyk7dmFyIFE9bmV3KEEuYmluZC5hcHBseShBLEIpKTtyZXR1cm4gSSYmcyhRLEkucHJvdG90eXBlKSxRfSh0aGlzLGcpfX1dKX0oKSx4Zj1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKCl7dmFyIEEsUT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06W10sQz1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06NCpRLmxlbmd0aDtCKHRoaXMsZyksQT1JKHRoaXMsZyk7dmFyIEU9UTtpZihFIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJihFPW5ldyBVaW50OEFycmF5KEUpKSwoRSBpbnN0YW5jZW9mIEludDhBcnJheXx8RSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxFIGluc3RhbmNlb2YgSW50MTZBcnJheXx8RSBpbnN0YW5jZW9mIFVpbnQxNkFycmF5fHxFIGluc3RhbmNlb2YgSW50MzJBcnJheXx8RSBpbnN0YW5jZW9mIFVpbnQzMkFycmF5fHxFIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5fHxFIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KSYmKEU9bmV3IFVpbnQ4QXJyYXkoRS5idWZmZXIsRS5ieXRlT2Zmc2V0LEUuYnl0ZUxlbmd0aCkpLEUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtmb3IodmFyIHQ9RS5ieXRlTGVuZ3RoLGU9W10saT0wO2k8dDtpKz0xKWVbaT4+PjJdfD1FW2ldPDwyNC1pJTQqODtBLndvcmRzPWUsQS5zaWdCeXRlcz10fWVsc2UgQS53b3Jkcz1RLEEuc2lnQnl0ZXM9QztyZXR1cm4gQX1yZXR1cm4gaShnLEEpLEMoZyxbe2tleToidG9TdHJpbmciLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKGFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpxZikuc3RyaW5naWZ5KHRoaXMpfX0se2tleToiY29uY2F0Iix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZz10aGlzLndvcmRzLEk9QS53b3JkcyxCPXRoaXMuc2lnQnl0ZXMsUT1BLnNpZ0J5dGVzO2lmKHRoaXMuY2xhbXAoKSxCJTQpZm9yKHZhciBDPTA7QzxRO0MrPTEpe3ZhciBFPUlbQz4+PjJdPj4+MjQtQyU0KjgmMjU1O2dbQitDPj4+Ml18PUU8PDI0LShCK0MpJTQqOH1lbHNlIGZvcih2YXIgdD0wO3Q8UTt0Kz00KWdbQit0Pj4+Ml09SVt0Pj4+Ml07cmV0dXJuIHRoaXMuc2lnQnl0ZXMrPVEsdGhpc319LHtrZXk6ImNsYW1wIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXMud29yZHMsZz10aGlzLnNpZ0J5dGVzO0FbZz4+PjJdJj00Mjk0OTY3Mjk1PDwzMi1nJTQqOCxBLmxlbmd0aD1NYXRoLmNlaWwoZy80KX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPWMoZywiY2xvbmUiLHRoaXMsMSkuY2FsbCh0aGlzKTtyZXR1cm4gQS53b3Jkcz10aGlzLndvcmRzLnNsaWNlKDApLEF9fV0pfShLZik7RSh4ZiwicmFuZG9tIixKZik7Zm9yKHZhciBxZj17c3RyaW5naWZ5OmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1BLndvcmRzLEk9QS5zaWdCeXRlcyxCPVtdLFE9MDtRPEk7USs9MSl7dmFyIEM9Z1tRPj4+Ml0+Pj4yNC1RJTQqOCYyNTU7Qi5wdXNoKChDPj4+NCkudG9TdHJpbmcoMTYpKSxCLnB1c2goKDE1JkMpLnRvU3RyaW5nKDE2KSl9cmV0dXJuIEIuam9pbigiIil9LHBhcnNlOmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1BLmxlbmd0aCxJPVtdLEI9MDtCPGc7Qis9MilJW0I+Pj4zXXw9cGFyc2VJbnQoQS5zdWJzdHIoQiwyKSwxNik8PDI0LUIlOCo0O3JldHVybiBuZXcgeGYoSSxnLzIpfX0sYmY9ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPUEubGVuZ3RoLEk9W10sQj0wO0I8ZztCKz0xKUlbQj4+PjJdfD0oMjU1JkEuY2hhckNvZGVBdChCKSk8PDI0LUIlNCo4O3JldHVybiBuZXcgeGYoSSxnKX0sVGY9ZnVuY3Rpb24oQSl7cmV0dXJuIGJmKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChBKSkpfSxPZj1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKCl7dmFyIEE7cmV0dXJuIEIodGhpcyxnKSwoQT1JKHRoaXMsZykpLl9taW5CdWZmZXJTaXplPTAsQX1yZXR1cm4gaShnLEEpLEMoZyxbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fZGF0YT1uZXcgeGYsdGhpcy5fbkRhdGFCeXRlcz0wfX0se2tleToiX2FwcGVuZCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9QTsic3RyaW5nIj09dHlwZW9mIGcmJihnPVRmKGcpKSx0aGlzLl9kYXRhLmNvbmNhdChnKSx0aGlzLl9uRGF0YUJ5dGVzKz1nLnNpZ0J5dGVzfX0se2tleToiX3Byb2Nlc3MiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBnLEk9dGhpcy5fZGF0YSxCPXRoaXMuYmxvY2tTaXplLFE9SS53b3JkcyxDPUkuc2lnQnl0ZXMsRT1DLyg0KkIpLHQ9KEU9QT9NYXRoLmNlaWwoRSk6TWF0aC5tYXgoKDB8RSktdGhpcy5fbWluQnVmZmVyU2l6ZSwwKSkqQixlPU1hdGgubWluKDQqdCxDKTtpZih0KXtmb3IodmFyIGk9MDtpPHQ7aSs9Qil0aGlzLl9kb1Byb2Nlc3NCbG9jayhRLGkpO2c9US5zcGxpY2UoMCx0KSxJLnNpZ0J5dGVzLT1lfXJldHVybiBuZXcgeGYoZyxlKX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPWMoZywiY2xvbmUiLHRoaXMsMSkuY2FsbCh0aGlzKTtyZXR1cm4gQS5fZGF0YT10aGlzLl9kYXRhLmNsb25lKCksQX19XSl9KEtmKSxQZj1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKEEpe3ZhciBRO3JldHVybiBCKHRoaXMsZyksKFE9SSh0aGlzLGcpKS5ibG9ja1NpemU9MTYsUS5jZmc9T2JqZWN0LmFzc2lnbihuZXcgS2YsQSksUS5yZXNldCgpLFF9cmV0dXJuIGkoZyxBKSxDKGcsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe2MoZywicmVzZXQiLHRoaXMsMSkuY2FsbCh0aGlzKSx0aGlzLl9kb1Jlc2V0KCl9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9hcHBlbmQoQSksdGhpcy5fcHJvY2VzcygpLHRoaXN9fSx7a2V5OiJmaW5hbGl6ZSIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEEmJnRoaXMuX2FwcGVuZChBKSx0aGlzLl9kb0ZpbmFsaXplKCl9fV0sW3trZXk6Il9jcmVhdGVIZWxwZXIiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihnLEkpe3JldHVybiBuZXcgQShJKS5maW5hbGl6ZShnKX19fSx7a2V5OiJfY3JlYXRlSG1hY0hlbHBlciIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKGcsSSl7cmV0dXJuIG5ldyBqZihBLEkpLmZpbmFsaXplKGcpfX19XSl9KE9mKSxqZj1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKEEsUSl7dmFyIEM7Qih0aGlzLGcpLEM9SSh0aGlzLGcpO3ZhciBFPW5ldyBBO0MuX2hhc2hlcj1FO3ZhciB0PVE7InN0cmluZyI9PXR5cGVvZiB0JiYodD1UZih0KSk7dmFyIGU9RS5ibG9ja1NpemUsaT00KmU7dC5zaWdCeXRlcz5pJiYodD1FLmZpbmFsaXplKFEpKSx0LmNsYW1wKCk7dmFyIHI9dC5jbG9uZSgpO0MuX29LZXk9cjt2YXIgbj10LmNsb25lKCk7Qy5faUtleT1uO2Zvcih2YXIgbz1yLndvcmRzLGE9bi53b3JkcyxzPTA7czxlO3MrPTEpb1tzXV49MTU0OTU1NjgyOCxhW3NdXj05MDk1MjI0ODY7cmV0dXJuIHIuc2lnQnl0ZXM9aSxuLnNpZ0J5dGVzPWksQy5yZXNldCgpLEN9cmV0dXJuIGkoZyxBKSxDKGcsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXMuX2hhc2hlcjtBLnJlc2V0KCksQS51cGRhdGUodGhpcy5faUtleSl9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKEEpLHRoaXN9fSx7a2V5OiJmaW5hbGl6ZSIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9dGhpcy5faGFzaGVyLEk9Zy5maW5hbGl6ZShBKTtyZXR1cm4gZy5yZXNldCgpLGcuZmluYWxpemUodGhpcy5fb0tleS5jbG9uZSgpLmNvbmNhdChJKSl9fV0pfShLZiksV2Y9e3N0cmluZ2lmeTpmdW5jdGlvbihBKXt2YXIgZz1BLndvcmRzLEk9QS5zaWdCeXRlcyxCPXRoaXMuX21hcDtBLmNsYW1wKCk7Zm9yKHZhciBRPVtdLEM9MDtDPEk7Qys9Mylmb3IodmFyIEU9KGdbQz4+PjJdPj4+MjQtQyU0KjgmMjU1KTw8MTZ8KGdbQysxPj4+Ml0+Pj4yNC0oQysxKSU0KjgmMjU1KTw8OHxnW0MrMj4+PjJdPj4+MjQtKEMrMiklNCo4JjI1NSx0PTA7dDw0JiZDKy43NSp0PEk7dCs9MSlRLnB1c2goQi5jaGFyQXQoRT4+PjYqKDMtdCkmNjMpKTt2YXIgZT1CLmNoYXJBdCg2NCk7aWYoZSlmb3IoO1EubGVuZ3RoJTQ7KVEucHVzaChlKTtyZXR1cm4gUS5qb2luKCIiKX0scGFyc2U6ZnVuY3Rpb24oQSl7dmFyIGc9QS5sZW5ndGgsST10aGlzLl9tYXAsQj10aGlzLl9yZXZlcnNlTWFwO2lmKCFCKXt0aGlzLl9yZXZlcnNlTWFwPVtdLEI9dGhpcy5fcmV2ZXJzZU1hcDtmb3IodmFyIFE9MDtRPEkubGVuZ3RoO1ErPTEpQltJLmNoYXJDb2RlQXQoUSldPVF9dmFyIEM9SS5jaGFyQXQoNjQpO2lmKEMpe3ZhciBFPUEuaW5kZXhPZihDKTstMSE9PUUmJihnPUUpfXJldHVybiBmdW5jdGlvbihBLGcsSSl7Zm9yKHZhciBCPVtdLFE9MCxDPTA7QzxnO0MrPTEpaWYoQyU0KXt2YXIgRT1JW0EuY2hhckNvZGVBdChDLTEpXTw8QyU0KjJ8SVtBLmNoYXJDb2RlQXQoQyldPj4+Ni1DJTQqMjtCW1E+Pj4yXXw9RTw8MjQtUSU0KjgsUSs9MX1yZXR1cm4geGYuY3JlYXRlKEIsUSl9KEEsZyxCKX0sX21hcDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0ifSxaZj1bXSxWZj0wO1ZmPDY0O1ZmKz0xKVpmW1ZmXT00Mjk0OTY3Mjk2Kk1hdGguYWJzKE1hdGguc2luKFZmKzEpKXwwO3ZhciBYZj1mdW5jdGlvbihBLGcsSSxCLFEsQyxFKXt2YXIgdD1BKyhnJkl8fmcmQikrUStFO3JldHVybih0PDxDfHQ+Pj4zMi1DKStnfSx6Zj1mdW5jdGlvbihBLGcsSSxCLFEsQyxFKXt2YXIgdD1BKyhnJkJ8SSZ+QikrUStFO3JldHVybih0PDxDfHQ+Pj4zMi1DKStnfSxfZj1mdW5jdGlvbihBLGcsSSxCLFEsQyxFKXt2YXIgdD1BKyhnXkleQikrUStFO3JldHVybih0PDxDfHQ+Pj4zMi1DKStnfSwkZj1mdW5jdGlvbihBLGcsSSxCLFEsQyxFKXt2YXIgdD1BKyhJXihnfH5CKSkrUStFO3JldHVybih0PDxDfHQ+Pj4zMi1DKStnfSxBdT1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKCl7cmV0dXJuIEIodGhpcyxnKSxJKHRoaXMsZyxhcmd1bWVudHMpfXJldHVybiBpKGcsQSksQyhnLFt7a2V5OiJfZG9SZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9oYXNoPW5ldyB4ZihbMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4XSl9fSx7a2V5OiJfZG9Qcm9jZXNzQmxvY2siLHZhbHVlOmZ1bmN0aW9uKEEsZyl7Zm9yKHZhciBJPUEsQj0wO0I8MTY7Qis9MSl7dmFyIFE9ZytCLEM9QVtRXTtJW1FdPTE2NzExOTM1JihDPDw4fEM+Pj4yNCl8NDI3ODI1NTM2MCYoQzw8MjR8Qz4+PjgpfXZhciBFPXRoaXMuX2hhc2gud29yZHMsdD1JW2crMF0sZT1JW2crMV0saT1JW2crMl0scj1JW2crM10sbj1JW2crNF0sbz1JW2crNV0sYT1JW2crNl0scz1JW2crN10sYz1JW2crOF0saD1JW2crOV0sZj1JW2crMTBdLHU9SVtnKzExXSx5PUlbZysxMl0sbD1JW2crMTNdLEQ9SVtnKzE0XSxkPUlbZysxNV0sdz1FWzBdLEY9RVsxXSxHPUVbMl0sUj1FWzNdO3c9WGYodyxGLEcsUix0LDcsWmZbMF0pLFI9WGYoUix3LEYsRyxlLDEyLFpmWzFdKSxHPVhmKEcsUix3LEYsaSwxNyxaZlsyXSksRj1YZihGLEcsUix3LHIsMjIsWmZbM10pLHc9WGYodyxGLEcsUixuLDcsWmZbNF0pLFI9WGYoUix3LEYsRyxvLDEyLFpmWzVdKSxHPVhmKEcsUix3LEYsYSwxNyxaZls2XSksRj1YZihGLEcsUix3LHMsMjIsWmZbN10pLHc9WGYodyxGLEcsUixjLDcsWmZbOF0pLFI9WGYoUix3LEYsRyxoLDEyLFpmWzldKSxHPVhmKEcsUix3LEYsZiwxNyxaZlsxMF0pLEY9WGYoRixHLFIsdyx1LDIyLFpmWzExXSksdz1YZih3LEYsRyxSLHksNyxaZlsxMl0pLFI9WGYoUix3LEYsRyxsLDEyLFpmWzEzXSksRz1YZihHLFIsdyxGLEQsMTcsWmZbMTRdKSxGPVhmKEYsRyxSLHcsZCwyMixaZlsxNV0pLHc9emYodyxGLEcsUixlLDUsWmZbMTZdKSxSPXpmKFIsdyxGLEcsYSw5LFpmWzE3XSksRz16ZihHLFIsdyxGLHUsMTQsWmZbMThdKSxGPXpmKEYsRyxSLHcsdCwyMCxaZlsxOV0pLHc9emYodyxGLEcsUixvLDUsWmZbMjBdKSxSPXpmKFIsdyxGLEcsZiw5LFpmWzIxXSksRz16ZihHLFIsdyxGLGQsMTQsWmZbMjJdKSxGPXpmKEYsRyxSLHcsbiwyMCxaZlsyM10pLHc9emYodyxGLEcsUixoLDUsWmZbMjRdKSxSPXpmKFIsdyxGLEcsRCw5LFpmWzI1XSksRz16ZihHLFIsdyxGLHIsMTQsWmZbMjZdKSxGPXpmKEYsRyxSLHcsYywyMCxaZlsyN10pLHc9emYodyxGLEcsUixsLDUsWmZbMjhdKSxSPXpmKFIsdyxGLEcsaSw5LFpmWzI5XSksRz16ZihHLFIsdyxGLHMsMTQsWmZbMzBdKSxGPXpmKEYsRyxSLHcseSwyMCxaZlszMV0pLHc9X2YodyxGLEcsUixvLDQsWmZbMzJdKSxSPV9mKFIsdyxGLEcsYywxMSxaZlszM10pLEc9X2YoRyxSLHcsRix1LDE2LFpmWzM0XSksRj1fZihGLEcsUix3LEQsMjMsWmZbMzVdKSx3PV9mKHcsRixHLFIsZSw0LFpmWzM2XSksUj1fZihSLHcsRixHLG4sMTEsWmZbMzddKSxHPV9mKEcsUix3LEYscywxNixaZlszOF0pLEY9X2YoRixHLFIsdyxmLDIzLFpmWzM5XSksdz1fZih3LEYsRyxSLGwsNCxaZls0MF0pLFI9X2YoUix3LEYsRyx0LDExLFpmWzQxXSksRz1fZihHLFIsdyxGLHIsMTYsWmZbNDJdKSxGPV9mKEYsRyxSLHcsYSwyMyxaZls0M10pLHc9X2YodyxGLEcsUixoLDQsWmZbNDRdKSxSPV9mKFIsdyxGLEcseSwxMSxaZls0NV0pLEc9X2YoRyxSLHcsRixkLDE2LFpmWzQ2XSksRj1fZihGLEcsUix3LGksMjMsWmZbNDddKSx3PSRmKHcsRixHLFIsdCw2LFpmWzQ4XSksUj0kZihSLHcsRixHLHMsMTAsWmZbNDldKSxHPSRmKEcsUix3LEYsRCwxNSxaZls1MF0pLEY9JGYoRixHLFIsdyxvLDIxLFpmWzUxXSksdz0kZih3LEYsRyxSLHksNixaZls1Ml0pLFI9JGYoUix3LEYsRyxyLDEwLFpmWzUzXSksRz0kZihHLFIsdyxGLGYsMTUsWmZbNTRdKSxGPSRmKEYsRyxSLHcsZSwyMSxaZls1NV0pLHc9JGYodyxGLEcsUixjLDYsWmZbNTZdKSxSPSRmKFIsdyxGLEcsZCwxMCxaZls1N10pLEc9JGYoRyxSLHcsRixhLDE1LFpmWzU4XSksRj0kZihGLEcsUix3LGwsMjEsWmZbNTldKSx3PSRmKHcsRixHLFIsbiw2LFpmWzYwXSksUj0kZihSLHcsRixHLHUsMTAsWmZbNjFdKSxHPSRmKEcsUix3LEYsaSwxNSxaZls2Ml0pLEY9JGYoRixHLFIsdyxoLDIxLFpmWzYzXSksRVswXT1FWzBdK3d8MCxFWzFdPUVbMV0rRnwwLEVbMl09RVsyXStHfDAsRVszXT1FWzNdK1J8MH19LHtrZXk6Il9kb0ZpbmFsaXplIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXMuX2RhdGEsZz1BLndvcmRzLEk9OCp0aGlzLl9uRGF0YUJ5dGVzLEI9OCpBLnNpZ0J5dGVzO2dbQj4+PjVdfD0xMjg8PDI0LUIlMzI7dmFyIFE9TWF0aC5mbG9vcihJLzQyOTQ5NjcyOTYpLEM9STtnWzE1KyhCKzY0Pj4+OTw8NCldPTE2NzExOTM1JihRPDw4fFE+Pj4yNCl8NDI3ODI1NTM2MCYoUTw8MjR8UT4+PjgpLGdbMTQrKEIrNjQ+Pj45PDw0KV09MTY3MTE5MzUmKEM8PDh8Qz4+PjI0KXw0Mjc4MjU1MzYwJihDPDwyNHxDPj4+OCksQS5zaWdCeXRlcz00KihnLmxlbmd0aCsxKSx0aGlzLl9wcm9jZXNzKCk7Zm9yKHZhciBFPXRoaXMuX2hhc2gsdD1FLndvcmRzLGU9MDtlPDQ7ZSs9MSl7dmFyIGk9dFtlXTt0W2VdPTE2NzExOTM1JihpPDw4fGk+Pj4yNCl8NDI3ODI1NTM2MCYoaTw8MjR8aT4+PjgpfXJldHVybiBFfX0se2tleToiY2xvbmUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9YyhnLCJjbG9uZSIsdGhpcywxKS5jYWxsKHRoaXMpO3JldHVybiBBLl9oYXNoPXRoaXMuX2hhc2guY2xvbmUoKSxBfX1dKX0oUGYpO1BmLl9jcmVhdGVIZWxwZXIoQXUpLFBmLl9jcmVhdGVIbWFjSGVscGVyKEF1KTt2YXIgZ3U9ZnVuY3Rpb24oQSl7ZnVuY3Rpb24gZyhBKXt2YXIgUTtyZXR1cm4gQih0aGlzLGcpLChRPUkodGhpcyxnKSkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IEtmLHtrZXlTaXplOjQsaGFzaGVyOkF1LGl0ZXJhdGlvbnM6MX0sQSksUX1yZXR1cm4gaShnLEEpLEMoZyxbe2tleToiY29tcHV0ZSIsdmFsdWU6ZnVuY3Rpb24oQSxnKXtmb3IodmFyIEksQj10aGlzLmNmZyxRPUIuaGFzaGVyLmNyZWF0ZSgpLEM9eGYuY3JlYXRlKCksRT1DLndvcmRzLHQ9Qi5rZXlTaXplLGU9Qi5pdGVyYXRpb25zO0UubGVuZ3RoPHQ7KXtJJiZRLnVwZGF0ZShJKSxJPVEudXBkYXRlKEEpLmZpbmFsaXplKGcpLFEucmVzZXQoKTtmb3IodmFyIGk9MTtpPGU7aSs9MSlJPVEuZmluYWxpemUoSSksUS5yZXNldCgpO0MuY29uY2F0KEkpfXJldHVybiBDLnNpZ0J5dGVzPTQqdCxDfX1dKX0oS2YpLEl1PWZ1bmN0aW9uKEEpe2Z1bmN0aW9uIGcoQSxRLEMpe3ZhciBFO3JldHVybiBCKHRoaXMsZyksKEU9SSh0aGlzLGcpKS5jZmc9T2JqZWN0LmFzc2lnbihuZXcgS2YsQyksRS5feGZvcm1Nb2RlPUEsRS5fa2V5PVEsRS5yZXNldCgpLEV9cmV0dXJuIGkoZyxBKSxDKGcsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe2MoZywicmVzZXQiLHRoaXMsMSkuY2FsbCh0aGlzKSx0aGlzLl9kb1Jlc2V0KCl9fSx7a2V5OiJwcm9jZXNzIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fYXBwZW5kKEEpLHRoaXMuX3Byb2Nlc3MoKX19LHtrZXk6ImZpbmFsaXplIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gQSYmdGhpcy5fYXBwZW5kKEEpLHRoaXMuX2RvRmluYWxpemUoKX19XSxbe2tleToiY3JlYXRlRW5jcnlwdG9yIix2YWx1ZTpmdW5jdGlvbihBLGcpe3JldHVybiB0aGlzLmNyZWF0ZSh0aGlzLl9FTkNfWEZPUk1fTU9ERSxBLGcpfX0se2tleToiY3JlYXRlRGVjcnlwdG9yIix2YWx1ZTpmdW5jdGlvbihBLGcpe3JldHVybiB0aGlzLmNyZWF0ZSh0aGlzLl9ERUNfWEZPUk1fTU9ERSxBLGcpfX0se2tleToiX2NyZWF0ZUhlbHBlciIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIGc9ZnVuY3Rpb24oQSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBBP291OnJ1fTtyZXR1cm57ZW5jcnlwdDpmdW5jdGlvbihJLEIsUSl7cmV0dXJuIGcoQikuZW5jcnlwdChBLEksQixRKX0sZGVjcnlwdDpmdW5jdGlvbihJLEIsUSl7cmV0dXJuIGcoQikuZGVjcnlwdChBLEksQixRKX19fX1dKX0oT2YpO0l1Ll9FTkNfWEZPUk1fTU9ERT0xLEl1Ll9ERUNfWEZPUk1fTU9ERT0yLEl1LmtleVNpemU9NCxJdS5pdlNpemU9NDt2YXIgQnU9ZnVuY3Rpb24oQSl7ZnVuY3Rpb24gZyhBLFEpe3ZhciBDO3JldHVybiBCKHRoaXMsZyksKEM9SSh0aGlzLGcpKS5fY2lwaGVyPUEsQy5faXY9USxDfXJldHVybiBpKGcsQSksQyhnLG51bGwsW3trZXk6ImNyZWF0ZUVuY3J5cHRvciIsdmFsdWU6ZnVuY3Rpb24oQSxnKXtyZXR1cm4gdGhpcy5FbmNyeXB0b3IuY3JlYXRlKEEsZyl9fSx7a2V5OiJjcmVhdGVEZWNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKEEsZyl7cmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZShBLGcpfX1dKX0oS2YpO2Z1bmN0aW9uIFF1KEEsZyxJKXt2YXIgQixRPUEsQz10aGlzLl9pdjtDPyhCPUMsdGhpcy5faXY9dm9pZCAwKTpCPXRoaXMuX3ByZXZCbG9jaztmb3IodmFyIEU9MDtFPEk7RSs9MSlRW2crRV1ePUJbRV19dmFyIEN1PWZ1bmN0aW9uKEEpe2Z1bmN0aW9uIGcoKXtyZXR1cm4gQih0aGlzLGcpLEkodGhpcyxnLGFyZ3VtZW50cyl9cmV0dXJuIGkoZyxBKSxDKGcpfShCdSk7Q3UuRW5jcnlwdG9yPWZ1bmN0aW9uKEEpe2Z1bmN0aW9uIGcoKXtyZXR1cm4gQih0aGlzLGcpLEkodGhpcyxnLGFyZ3VtZW50cyl9cmV0dXJuIGkoZyxBKSxDKGcsW3trZXk6InByb2Nlc3NCbG9jayIsdmFsdWU6ZnVuY3Rpb24oQSxnKXt2YXIgST10aGlzLl9jaXBoZXIsQj1JLmJsb2NrU2l6ZTtRdS5jYWxsKHRoaXMsQSxnLEIpLEkuZW5jcnlwdEJsb2NrKEEsZyksdGhpcy5fcHJldkJsb2NrPUEuc2xpY2UoZyxnK0IpfX1dKX0oQ3UpLEN1LkRlY3J5cHRvcj1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKCl7cmV0dXJuIEIodGhpcyxnKSxJKHRoaXMsZyxhcmd1bWVudHMpfXJldHVybiBpKGcsQSksQyhnLFt7a2V5OiJwcm9jZXNzQmxvY2siLHZhbHVlOmZ1bmN0aW9uKEEsZyl7dmFyIEk9dGhpcy5fY2lwaGVyLEI9SS5ibG9ja1NpemUsUT1BLnNsaWNlKGcsZytCKTtJLmRlY3J5cHRCbG9jayhBLGcpLFF1LmNhbGwodGhpcyxBLGcsQiksdGhpcy5fcHJldkJsb2NrPVF9fV0pfShDdSk7dmFyIEV1PXtwYWQ6ZnVuY3Rpb24oQSxnKXtmb3IodmFyIEk9NCpnLEI9SS1BLnNpZ0J5dGVzJUksUT1CPDwyNHxCPDwxNnxCPDw4fEIsQz1bXSxFPTA7RTxCO0UrPTQpQy5wdXNoKFEpO3ZhciB0PXhmLmNyZWF0ZShDLEIpO0EuY29uY2F0KHQpfSx1bnBhZDpmdW5jdGlvbihBKXt2YXIgZz1BLEk9MjU1Jmcud29yZHNbZy5zaWdCeXRlcy0xPj4+Ml07Zy5zaWdCeXRlcy09SX19LHR1PWZ1bmN0aW9uKEEpe2Z1bmN0aW9uIGcoQSxRLEMpe3ZhciBFO3JldHVybiBCKHRoaXMsZyksKEU9SSh0aGlzLGcsW0EsUSxPYmplY3QuYXNzaWduKHttb2RlOkN1LHBhZGRpbmc6RXV9LEMpXSkpLmJsb2NrU2l6ZT00LEV9cmV0dXJuIGkoZyxBKSxDKGcsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBO2MoZywicmVzZXQiLHRoaXMsMSkuY2FsbCh0aGlzKTt2YXIgST10aGlzLmNmZyxCPUkuaXYsUT1JLm1vZGU7dGhpcy5feGZvcm1Nb2RlPT09dGhpcy5jb25zdHJ1Y3Rvci5fRU5DX1hGT1JNX01PREU/QT1RLmNyZWF0ZUVuY3J5cHRvcjooQT1RLmNyZWF0ZURlY3J5cHRvcix0aGlzLl9taW5CdWZmZXJTaXplPTEpLHRoaXMuX21vZGU9QS5jYWxsKFEsdGhpcyxCJiZCLndvcmRzKSx0aGlzLl9tb2RlLl9fY3JlYXRvcj1BfX0se2tleToiX2RvUHJvY2Vzc0Jsb2NrIix2YWx1ZTpmdW5jdGlvbihBLGcpe3RoaXMuX21vZGUucHJvY2Vzc0Jsb2NrKEEsZyl9fSx7a2V5OiJfZG9GaW5hbGl6ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgQSxnPXRoaXMuY2ZnLnBhZGRpbmc7cmV0dXJuIHRoaXMuX3hmb3JtTW9kZT09PXRoaXMuY29uc3RydWN0b3IuX0VOQ19YRk9STV9NT0RFPyhnLnBhZCh0aGlzLl9kYXRhLHRoaXMuYmxvY2tTaXplKSxBPXRoaXMuX3Byb2Nlc3MoITApKTooQT10aGlzLl9wcm9jZXNzKCEwKSxnLnVucGFkKEEpKSxBfX1dKX0oSXUpLGV1PWZ1bmN0aW9uKEEpe2Z1bmN0aW9uIGcoQSl7dmFyIFE7cmV0dXJuIEIodGhpcyxnKSwoUT1JKHRoaXMsZykpLm1peEluKEEpLFF9cmV0dXJuIGkoZyxBKSxDKGcsW3trZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4oQXx8dGhpcy5mb3JtYXR0ZXIpLnN0cmluZ2lmeSh0aGlzKX19XSl9KEtmKSxpdT17c3RyaW5naWZ5OmZ1bmN0aW9uKEEpe3ZhciBnPUEuY2lwaGVydGV4dCxJPUEuc2FsdDtyZXR1cm4oST94Zi5jcmVhdGUoWzEzOTg4OTM2ODQsMTcwMTA3NjgzMV0pLmNvbmNhdChJKS5jb25jYXQoZyk6ZykudG9TdHJpbmcoV2YpfSxwYXJzZTpmdW5jdGlvbihBKXt2YXIgZyxJPVdmLnBhcnNlKEEpLEI9SS53b3JkcztyZXR1cm4gMTM5ODg5MzY4ND09PUJbMF0mJjE3MDEwNzY4MzE9PT1CWzFdJiYoZz14Zi5jcmVhdGUoQi5zbGljZSgyLDQpKSxCLnNwbGljZSgwLDQpLEkuc2lnQnl0ZXMtPTE2KSxldS5jcmVhdGUoe2NpcGhlcnRleHQ6SSxzYWx0Omd9KX19LHJ1PWZ1bmN0aW9uKEEpe2Z1bmN0aW9uIGcoKXtyZXR1cm4gQih0aGlzLGcpLEkodGhpcyxnLGFyZ3VtZW50cyl9cmV0dXJuIGkoZyxBKSxDKGcsbnVsbCxbe2tleToiZW5jcnlwdCIsdmFsdWU6ZnVuY3Rpb24oQSxnLEksQil7dmFyIFE9T2JqZWN0LmFzc2lnbihuZXcgS2YsdGhpcy5jZmcsQiksQz1BLmNyZWF0ZUVuY3J5cHRvcihJLFEpLEU9Qy5maW5hbGl6ZShnKSx0PUMuY2ZnO3JldHVybiBldS5jcmVhdGUoe2NpcGhlcnRleHQ6RSxrZXk6SSxpdjp0Lml2LGFsZ29yaXRobTpBLG1vZGU6dC5tb2RlLHBhZGRpbmc6dC5wYWRkaW5nLGJsb2NrU2l6ZTpDLmJsb2NrU2l6ZSxmb3JtYXR0ZXI6US5mb3JtYXR9KX19LHtrZXk6ImRlY3J5cHQiLHZhbHVlOmZ1bmN0aW9uKEEsZyxJLEIpe3ZhciBRPWcsQz1PYmplY3QuYXNzaWduKG5ldyBLZix0aGlzLmNmZyxCKTtyZXR1cm4gUT10aGlzLl9wYXJzZShRLEMuZm9ybWF0KSxBLmNyZWF0ZURlY3J5cHRvcihJLEMpLmZpbmFsaXplKFEuY2lwaGVydGV4dCl9fSx7a2V5OiJfcGFyc2UiLHZhbHVlOmZ1bmN0aW9uKEEsZyl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBBP2cucGFyc2UoQSx0aGlzKTpBfX1dKX0oS2YpO3J1LmNmZz1PYmplY3QuYXNzaWduKG5ldyBLZix7Zm9ybWF0Oml1fSk7dmFyIG51PXtleGVjdXRlOmZ1bmN0aW9uKEEsZyxJLEIsUSl7dmFyIEMsRT1CO0V8fChFPXhmLnJhbmRvbSg4KSksQz1RP2d1LmNyZWF0ZSh7a2V5U2l6ZTpnK0ksaGFzaGVyOlF9KS5jb21wdXRlKEEsRSk6Z3UuY3JlYXRlKHtrZXlTaXplOmcrSX0pLmNvbXB1dGUoQSxFKTt2YXIgdD14Zi5jcmVhdGUoQy53b3Jkcy5zbGljZShnKSw0KkkpO3JldHVybiBDLnNpZ0J5dGVzPTQqZyxldS5jcmVhdGUoe2tleTpDLGl2OnQsc2FsdDpFfSl9fSxvdT1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKCl7cmV0dXJuIEIodGhpcyxnKSxJKHRoaXMsZyxhcmd1bWVudHMpfXJldHVybiBpKGcsQSksQyhnLG51bGwsW3trZXk6ImVuY3J5cHQiLHZhbHVlOmZ1bmN0aW9uKEEsZyxJLEIpe3ZhciBRPU9iamVjdC5hc3NpZ24obmV3IEtmLHRoaXMuY2ZnLEIpLEM9US5rZGYuZXhlY3V0ZShJLEEua2V5U2l6ZSxBLml2U2l6ZSxRLnNhbHQsUS5oYXNoZXIpO1EuaXY9Qy5pdjt2YXIgRT1ydS5lbmNyeXB0LmNhbGwodGhpcyxBLGcsQy5rZXksUSk7cmV0dXJuIEUubWl4SW4oQyksRX19LHtrZXk6ImRlY3J5cHQiLHZhbHVlOmZ1bmN0aW9uKEEsZyxJLEIpe3ZhciBRPWcsQz1PYmplY3QuYXNzaWduKG5ldyBLZix0aGlzLmNmZyxCKTtRPXRoaXMuX3BhcnNlKFEsQy5mb3JtYXQpO3ZhciBFPUMua2RmLmV4ZWN1dGUoSSxBLmtleVNpemUsQS5pdlNpemUsUS5zYWx0LEMuaGFzaGVyKTtyZXR1cm4gQy5pdj1FLml2LHJ1LmRlY3J5cHQuY2FsbCh0aGlzLEEsUSxFLmtleSxDKX19XSl9KHJ1KTtvdS5jZmc9T2JqZWN0LmFzc2lnbihydS5jZmcse2tkZjpudX0pO2Zvcih2YXIgYXU9W10sc3U9W10sY3U9W10saHU9W10sZnU9W10sdXU9W10seXU9W10sbHU9W10sRHU9W10sZHU9W10sd3U9W10sRnU9MDtGdTwyNTY7RnUrPTEpd3VbRnVdPUZ1PDEyOD9GdTw8MTpGdTw8MV4yODM7Zm9yKHZhciBHdT0wLFJ1PTAscHU9MDtwdTwyNTY7cHUrPTEpe3ZhciBrdT1SdV5SdTw8MV5SdTw8Ml5SdTw8M15SdTw8NDtrdT1rdT4+PjheMjU1Jmt1Xjk5LGF1W0d1XT1rdSxzdVtrdV09R3U7dmFyIFV1PXd1W0d1XSxTdT13dVtVdV0sdnU9d3VbU3VdLE51PTI1Nyp3dVtrdV1eMTY4NDMwMDgqa3U7Y3VbR3VdPU51PDwyNHxOdT4+PjgsaHVbR3VdPU51PDwxNnxOdT4+PjE2LGZ1W0d1XT1OdTw8OHxOdT4+PjI0LHV1W0d1XT1OdSxOdT0xNjg0MzAwOSp2dV42NTUzNypTdV4yNTcqVXVeMTY4NDMwMDgqR3UseXVba3VdPU51PDwyNHxOdT4+PjgsbHVba3VdPU51PDwxNnxOdT4+PjE2LER1W2t1XT1OdTw8OHxOdT4+PjI0LGR1W2t1XT1OdSxHdT8oR3U9VXVed3Vbd3Vbd3VbdnVeVXVdXV0sUnVePXd1W3d1W1J1XV0pOkd1PVJ1PTF9dmFyIE11PVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSxZdT1mdW5jdGlvbihBKXtmdW5jdGlvbiBnKCl7cmV0dXJuIEIodGhpcyxnKSxJKHRoaXMsZyxhcmd1bWVudHMpfXJldHVybiBpKGcsQSksQyhnLFt7a2V5OiJfZG9SZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgQTtpZighdGhpcy5fblJvdW5kc3x8dGhpcy5fa2V5UHJpb3JSZXNldCE9PXRoaXMuX2tleSl7dGhpcy5fa2V5UHJpb3JSZXNldD10aGlzLl9rZXk7dmFyIGc9dGhpcy5fa2V5UHJpb3JSZXNldCxJPWcud29yZHMsQj1nLnNpZ0J5dGVzLzQ7dGhpcy5fblJvdW5kcz1CKzY7dmFyIFE9NCoodGhpcy5fblJvdW5kcysxKTt0aGlzLl9rZXlTY2hlZHVsZT1bXTtmb3IodmFyIEM9dGhpcy5fa2V5U2NoZWR1bGUsRT0wO0U8UTtFKz0xKUU8Qj9DW0VdPUlbRV06KEE9Q1tFLTFdLEUlQj9CPjYmJkUlQj09NCYmKEE9YXVbQT4+PjI0XTw8MjR8YXVbQT4+PjE2JjI1NV08PDE2fGF1W0E+Pj44JjI1NV08PDh8YXVbMjU1JkFdKTooQT1hdVsoQT1BPDw4fEE+Pj4yNCk+Pj4yNF08PDI0fGF1W0E+Pj4xNiYyNTVdPDwxNnxhdVtBPj4+OCYyNTVdPDw4fGF1WzI1NSZBXSxBXj1NdVtFL0J8MF08PDI0KSxDW0VdPUNbRS1CXV5BKTt0aGlzLl9pbnZLZXlTY2hlZHVsZT1bXTtmb3IodmFyIHQ9dGhpcy5faW52S2V5U2NoZWR1bGUsZT0wO2U8UTtlKz0xKXt2YXIgaT1RLWU7QT1lJTQ/Q1tpXTpDW2ktNF0sdFtlXT1lPDR8fGk8PTQ/QTp5dVthdVtBPj4+MjRdXV5sdVthdVtBPj4+MTYmMjU1XV1eRHVbYXVbQT4+PjgmMjU1XV1eZHVbYXVbMjU1JkFdXX19fX0se2tleToiZW5jcnlwdEJsb2NrIix2YWx1ZTpmdW5jdGlvbihBLGcpe3RoaXMuX2RvQ3J5cHRCbG9jayhBLGcsdGhpcy5fa2V5U2NoZWR1bGUsY3UsaHUsZnUsdXUsYXUpfX0se2tleToiZGVjcnlwdEJsb2NrIix2YWx1ZTpmdW5jdGlvbihBLGcpe3ZhciBJPUEsQj1JW2crMV07SVtnKzFdPUlbZyszXSxJW2crM109Qix0aGlzLl9kb0NyeXB0QmxvY2soSSxnLHRoaXMuX2ludktleVNjaGVkdWxlLHl1LGx1LER1LGR1LHN1KSxCPUlbZysxXSxJW2crMV09SVtnKzNdLElbZyszXT1CfX0se2tleToiX2RvQ3J5cHRCbG9jayIsdmFsdWU6ZnVuY3Rpb24oQSxnLEksQixRLEMsRSx0KXtmb3IodmFyIGU9QSxpPXRoaXMuX25Sb3VuZHMscj1lW2ddXklbMF0sbj1lW2crMV1eSVsxXSxvPWVbZysyXV5JWzJdLGE9ZVtnKzNdXklbM10scz00LGM9MTtjPGk7Yys9MSl7dmFyIGg9QltyPj4+MjRdXlFbbj4+PjE2JjI1NV1eQ1tvPj4+OCYyNTVdXkVbMjU1JmFdXklbc107cys9MTt2YXIgZj1CW24+Pj4yNF1eUVtvPj4+MTYmMjU1XV5DW2E+Pj44JjI1NV1eRVsyNTUmcl1eSVtzXTtzKz0xO3ZhciB1PUJbbz4+PjI0XV5RW2E+Pj4xNiYyNTVdXkNbcj4+PjgmMjU1XV5FWzI1NSZuXV5JW3NdO3MrPTE7dmFyIHk9QlthPj4+MjRdXlFbcj4+PjE2JjI1NV1eQ1tuPj4+OCYyNTVdXkVbMjU1Jm9dXklbc107cys9MSxyPWgsbj1mLG89dSxhPXl9dmFyIGw9KHRbcj4+PjI0XTw8MjR8dFtuPj4+MTYmMjU1XTw8MTZ8dFtvPj4+OCYyNTVdPDw4fHRbMjU1JmFdKV5JW3NdO3MrPTE7dmFyIEQ9KHRbbj4+PjI0XTw8MjR8dFtvPj4+MTYmMjU1XTw8MTZ8dFthPj4+OCYyNTVdPDw4fHRbMjU1JnJdKV5JW3NdO3MrPTE7dmFyIGQ9KHRbbz4+PjI0XTw8MjR8dFthPj4+MTYmMjU1XTw8MTZ8dFtyPj4+OCYyNTVdPDw4fHRbMjU1Jm5dKV5JW3NdO3MrPTE7dmFyIHc9KHRbYT4+PjI0XTw8MjR8dFtyPj4+MTYmMjU1XTw8MTZ8dFtuPj4+OCYyNTVdPDw4fHRbMjU1Jm9dKV5JW3NdO3MrPTEsZVtnXT1sLGVbZysxXT1ELGVbZysyXT1kLGVbZyszXT13fX1dKX0odHUpO1l1LmtleVNpemU9ODt2YXIgSHU9dHUuX2NyZWF0ZUhlbHBlcihZdSksTHU9ZnVuY3Rpb24oQSl7ZnVuY3Rpb24gZygpe3JldHVybiBCKHRoaXMsZyksSSh0aGlzLGcsYXJndW1lbnRzKX1yZXR1cm4gaShnLEEpLEMoZyl9KEJ1KTtMdS5FbmNyeXB0b3I9ZnVuY3Rpb24oQSl7ZnVuY3Rpb24gZygpe3JldHVybiBCKHRoaXMsZyksSSh0aGlzLGcsYXJndW1lbnRzKX1yZXR1cm4gaShnLEEpLEMoZyxbe2tleToicHJvY2Vzc0Jsb2NrIix2YWx1ZTpmdW5jdGlvbihBLGcpe3ZhciBJPUEsQj10aGlzLl9jaXBoZXIsUT1CLmJsb2NrU2l6ZSxDPXRoaXMuX2l2LEU9dGhpcy5fY291bnRlcjtDJiYodGhpcy5fY291bnRlcj1DLnNsaWNlKDApLEU9dGhpcy5fY291bnRlcix0aGlzLl9pdj12b2lkIDApO3ZhciB0PUUuc2xpY2UoMCk7Qi5lbmNyeXB0QmxvY2sodCwwKSxFW1EtMV09RVtRLTFdKzF8MDtmb3IodmFyIGU9MDtlPFE7ZSs9MSlJW2crZV1ePXRbZV19fV0pfShMdSksTHUuRGVjcnlwdG9yPUx1LkVuY3J5cHRvcjt2YXIgSnU9e3BhZDpmdW5jdGlvbigpe30sdW5wYWQ6ZnVuY3Rpb24oKXt9fSxtdT17ZGVjcnlwdFdvcmRBcnJheTpmdW5jdGlvbihBLGcsSSl7dmFyIEI9cWYucGFyc2UoZyksUT1xZi5wYXJzZShFZihJKSksQz14Zi5jcmVhdGUobmV3IFVpbnQ4QXJyYXkoQSkpLEU9SHUuZGVjcnlwdChldS5jcmVhdGUoe2NpcGhlcnRleHQ6Q30pLEIse2l2OlEsbW9kZTpMdSxwYWRkaW5nOkp1fSk7cmV0dXJuIG11LndvcmRBcnJheVRvVWludDhBcnJheShFKX0sd29yZEFycmF5VG9VaW50OEFycmF5OmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1BLnNpZ0J5dGVzLEk9QS53b3JkcyxCPW5ldyBVaW50OEFycmF5KGcpLFE9MCxDPTA7USE9PWc7KXt2YXIgRT1JW0MrK107aWYoQltRKytdPSg0Mjc4MTkwMDgwJkUpPj4+MjQsUT09PWcpYnJlYWs7aWYoQltRKytdPSgxNjcxMTY4MCZFKT4+PjE2LFE9PT1nKWJyZWFrO2lmKEJbUSsrXT0oNjUyODAmRSk+Pj44LFE9PT1nKWJyZWFrO0JbUSsrXT0yNTUmRX1yZXR1cm4gQn0sZGVjb2RlckFFU0NUUkRhdGE6ZnVuY3Rpb24oQSxnLEkpe2lmKEEudmlkZW9TZW5jKXt2YXIgQj1BLmtpZFZhbHVlLFE9QS52aWRlb1NlbmM7QS5zYW1wbGVzLmZvckVhY2goKGZ1bmN0aW9uKGcsQyl7dmFyIEU9UVtDXSx0PWcuZGF0YSxlPVtdLGk9W10scj1FLkluaXRpYWxpemF0aW9uVmVjdG9yO2lmKEUuc3Vic2FtcGxlcyYmRS5zdWJzYW1wbGVzLmxlbmd0aClFLnN1YnNhbXBsZXMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIGc9QS5CeXRlc09mQ2xlYXJEYXRhK0EuQnl0ZXNPZlByb3RlY3RlZERhdGEsST10LnNsaWNlKDAsZyk7ZS5wdXNoKEkuc2xpY2UoMCxBLkJ5dGVzT2ZDbGVhckRhdGEpKSxpLnB1c2goSS5zbGljZShBLkJ5dGVzT2ZDbGVhckRhdGEpKSx0PXQuc2xpY2UoZyl9KSk7ZWxzZXt2YXIgbj1nLnNpemU7ZS5wdXNoKHQuc2xpY2UoMCwwKSksaS5wdXNoKHQuc2xpY2UoMCxuKSksdD10LnNsaWNlKG4pfXZhciBvPW5ldyBmZjtvLndyaXRlLmFwcGx5KG8saSk7dmFyIGE9ST9JKG8uYnVmZmVyLEIscik6bXUuZGVjcnlwdFdvcmRBcnJheShvLmJ1ZmZlcixCLHIpLHM9bmV3IGZmO2UuZm9yRWFjaCgoZnVuY3Rpb24oQSxnKXt2YXIgST1pW2ddLmxlbmd0aCxCPWEuc2xpY2UoMCxJKTtzLndyaXRlKEEpLHMud3JpdGUoQiksYT1hLnNsaWNlKEkpfSkpLEEuc2FtcGxlc1tDXS5kYXRhPXMuYnVmZmVyfSkpfWlmKGcuYXVkaW9TZW5jKXt2YXIgQz1nLmtpZFZhbHVlLEU9Zy5hdWRpb1NlbmM7Zy5zYW1wbGVzLmZvckVhY2goKGZ1bmN0aW9uKEEsQil7dmFyIFE9RVtCXSx0PUk/SShBLmRhdGEsQyxRLkluaXRpYWxpemF0aW9uVmVjdG9yKTptdS5kZWNyeXB0V29yZEFycmF5KEEuZGF0YSxDLFEuSW5pdGlhbGl6YXRpb25WZWN0b3IpO2cuc2FtcGxlc1tCXS5kYXRhPXR9KSl9fX0sS3U9WyJzdHRzIiwic3RzYyIsInN0c3oiLCJzdGNvIiwiY282NCIsInN0c3MiLCJjdHRzIl0seHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKGcsSSxCLFEpe3ZhciBDLEUsdD10aGlzO2lmKGVoKHRoaXMsQSksbmgodGhpcywiX3ZpZGVvU2FtcGxlcyIsW10pLG5oKHRoaXMsIl9hdWRpb1NhbXBsZXMiLFtdKSxuaCh0aGlzLCJfbGFzdFJlbWFpbkJ1ZmZlciIsW10pLG5oKHRoaXMsIl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3MiLDApLG5oKHRoaXMsInZpZGVvTWF4RnJhbWVJZHgiLC0xKSxuaCh0aGlzLCJhdWRpb01heEZyYW1lSWR4IiwtMSksdGhpcy52aWRlb1RyYWNrPW5ldyBVaCx0aGlzLmF1ZGlvVHJhY2s9bmV3IFNoLHRoaXMubWV0YWRhdGFUcmFjaz1CfHxuZXcgTWgsdGhpcy52aWRlb1NlZ21uZW50cz1nLHRoaXMuYXVkaW9TZWdtbmVudHM9SSx0aGlzLmxvZz1uZXcgbGYoIk1QNERlbXV4ZXIiLCFRfHwhUS5vcGVuTG9nfHwhUS5vcGVuTG9nKSx0aGlzLm1lbW9yeU9wdD1udWxsPT1RP3ZvaWQgMDpRLm1lbW9yeU9wdCx0aGlzLm1lbW9yeU9wdHx8KGcmJmcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIGc7KGc9dC5fdmlkZW9TYW1wbGVzKS5wdXNoLmFwcGx5KGcsYWgoQS5mcmFtZXMpKX0pKSxJJiZJLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBnOyhnPXQuX2F1ZGlvU2FtcGxlcykucHVzaC5hcHBseShnLGFoKEEuZnJhbWVzKSl9KSkpLChudWxsPT09KEM9dGhpcy52aWRlb1NlZ21uZW50cyl8fHZvaWQgMD09PUM/dm9pZCAwOkMubGVuZ3RoKT4wKXt2YXIgZT10aGlzLnZpZGVvU2VnbW5lbnRzW3RoaXMudmlkZW9TZWdtbmVudHMubGVuZ3RoLTFdLmZyYW1lczt0aGlzLnZpZGVvTWF4RnJhbWVJZHg9ZVtlLmxlbmd0aC0xXS5pbmRleH1pZigobnVsbD09PShFPXRoaXMuYXVkaW9TZWdtbmVudHMpfHx2b2lkIDA9PT1FP3ZvaWQgMDpFLmxlbmd0aCk+MCl7dmFyIGk9dGhpcy5hdWRpb1NlZ21uZW50c1t0aGlzLmF1ZGlvU2VnbW5lbnRzLmxlbmd0aC0xXS5mcmFtZXM7dGhpcy5hdWRpb01heEZyYW1lSWR4PWlbaS5sZW5ndGgtMV0uaW5kZXh9fXJldHVybiByaChBLFt7a2V5OiJfbWFya1ZpZGVvU2FtcGxlIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgZyxJPV9oKHt0cmFjazp0aGlzLnZpZGVvVHJhY2t9KTtudWxsPT1JfHxudWxsPT09KGc9SS5tYXJrU2FtcGxlKXx8dm9pZCAwPT09Z3x8Zy5jYWxsKEkse3NhbXBsZTpBLHRyYWNrOnRoaXMudmlkZW9UcmFjayxkZW11eGVyOnRoaXN9KX19LHtrZXk6InBhcnNlU2FtcGxlcyIsdmFsdWU6ZnVuY3Rpb24oQSl7aWYoIUEpdGhyb3cgbmV3IEVycm9yKCJtb292IGlzIHJlcXVpcmVkIik7dGhpcy52aWRlb1RyYWNrLmNvZGVjfHx0aGlzLmF1ZGlvVHJhY2suY29kZWN8fChuZi5tb292VG9UcmFjayhBLHRoaXMudmlkZW9UcmFjayx0aGlzLmF1ZGlvVHJhY2spLHRoaXMudmlkZW9TZW5jPXRoaXMudmlkZW9UcmFjay52aWRlb1NlbmMsdGhpcy5hdWRpb1NlbmM9dGhpcy5hdWRpb1RyYWNrLmF1ZGlvU2VuYyx0aGlzLm1lbW9yeU9wdCYmdGhpcy5jbGVhckJveEVudHJpZXMoQSkpfX0se2tleToiZGVtdXgiLHZhbHVlOmZ1bmN0aW9uKEEsZyxJLEIsUSl7dGhpcy5wYXJzZVNhbXBsZXMoUSk7dmFyIEMsRSx0LGU9dGhpcy52aWRlb1RyYWNrLGk9dGhpcy5hdWRpb1RyYWNrO2Uuc2FtcGxlcz1bXSxpLnNhbXBsZXM9W107dmFyIHI9e307aWYoSSl7dmFyIG4sbz0wO2lmKHRoaXMubWVtb3J5T3B0JiZ0aGlzLnZpZGVvU2VnbW5lbnRzJiYhKHI9dGhpcy5nZXRGcmFtZVBvc0J5SWR4KCJ2aWRlbyIsSVswXSkpKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGZvdW5kIHZpZGVvIGZyYW1lICMiLmNvbmNhdChJWzBdKSk7Zm9yKHZhciBhPXIscz1hLmZyYW1lSWR4LGM9YS5zZWdtZW50SWR4LGg9SVswXSxmPUlbMV07aDw9ZjtoKyspe2lmKCF0aGlzLl92aWRlb1NhbXBsZXMubGVuZ3RoJiZ0aGlzLnZpZGVvU2VnbW5lbnRzKXt2YXIgdT10aGlzLmdldEZyYW1lSW5mbygidmlkZW8iLGMscyk7Qz11LnNhbXBsZSxjPXUuc2VnbWVudElkeCxzPXUuZnJhbWVJZHh9ZWxzZSBDPXRoaXMuX3ZpZGVvU2FtcGxlc1toXTtpZighQyl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoaCkpO3Q9Qy5vZmZzZXQtZyxFPUEuc3ViYXJyYXkodCx0K0Muc2l6ZSksKG49bmV3IHZoKCJudW1iZXIiPT10eXBlb2YgQy5wdHM/Qy5wdHM6Qy5kdHMsQy5kdHMpKS5kdXJhdGlvbj1DLmR1cmF0aW9uLG4uZ29wSWQ9Qy5nb3BJZCxDLmtleWZyYW1lJiZuLnNldFRvS2V5ZnJhbWUoKTtmb3IodmFyIHk9MCxsPUUubGVuZ3RoLTE7eTxsOylvPUlmKEUseSkseSs9NCxuLnVuaXRzLnB1c2goRS5zdWJhcnJheSh5LHkrbykpLHkrPW87dGhpcy5fbWFya1ZpZGVvU2FtcGxlKG4pLGUuc2FtcGxlcy5wdXNoKG4pfWUuYmFzZU1lZGlhRGVjb2RlVGltZT1lLnNhbXBsZXNbMF0uZHRzfWlmKHI9e30sQil7aWYodGhpcy5tZW1vcnlPcHQmJnRoaXMuYXVkaW9TZWdtbmVudHMmJiEocj10aGlzLmdldEZyYW1lUG9zQnlJZHgoImF1ZGlvIixCWzBdKSkpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgZm91bmQgdmlkZW8gZnJhbWUgIyIuY29uY2F0KEJbMF0pKTtmb3IodmFyIEQ9cixkPUQuZnJhbWVJZHgsdz1ELnNlZ21lbnRJZHgsRj1CWzBdLEc9QlsxXTtGPD1HO0YrKyl7aWYoIXRoaXMuX2F1ZGlvU2FtcGxlcy5sZW5ndGgmJnRoaXMuYXVkaW9TZWdtbmVudHMpe3ZhciBSPXRoaXMuZ2V0RnJhbWVJbmZvKCJhdWRpbyIsdyxkKTtDPVIuc2FtcGxlLHc9Ui5zZWdtZW50SWR4LGQ9Ui5mcmFtZUlkeH1lbHNlIEM9dGhpcy5fYXVkaW9TYW1wbGVzW0ZdO2lmKCFDKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGZvdW5kIHZpZGVvIGZyYW1lICMiLmNvbmNhdChGKSk7dD1DLm9mZnNldC1nLEU9QS5zdWJhcnJheSh0LHQrQy5zaXplKSxpLnNhbXBsZXMucHVzaChuZXcgTmgoQy5kdHMsRSxDLmR1cmF0aW9uKSl9aS5iYXNlTWVkaWFEZWNvZGVUaW1lPWkuc2FtcGxlc1swXS5kdHN9cmV0dXJue3ZpZGVvVHJhY2s6ZSxhdWRpb1RyYWNrOmksbWV0YWRhdGFUcmFjazp0aGlzLm1ldGFkYXRhVHJhY2t9fX0se2tleToiZGVtdXhQYXJ0Iix2YWx1ZTpmdW5jdGlvbihBLGcsSSxCLFEsQyxFLHQpe2lmKHRoaXMucGFyc2VTYW1wbGVzKFEpLHRoaXMudmlkZW9UcmFjay51c2VFTUU9Qyx0aGlzLmF1ZGlvVHJhY2sudXNlRU1FPUMsdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlciYmdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlci5ieXRlTGVuZ3RoPjAmJmc+dGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zJiZnPD10aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3MrdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlci5ieXRlTGVuZ3RoKWZvcih2YXIgZT0wO2U8MjA7KXRyeXt2YXIgaT10aGlzLl9sYXN0UmVtYWluQnVmZmVyLnN1YmFycmF5KDAsZy10aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3MpLHI9bmV3IFVpbnQ4QXJyYXkoQS5ieXRlTGVuZ3RoK2kuYnl0ZUxlbmd0aCk7ci5zZXQoaSwwKSxyLnNldChuZXcgVWludDhBcnJheShBKSxpLmJ5dGVMZW5ndGgpLEE9cixnLT1pLmJ5dGVMZW5ndGgsdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlcj1udWxsLHRoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcz0wO2JyZWFrfWNhdGNoKEope2lmKCEoZTwyMCkpdGhyb3cgbmV3IEVycm9yKCJuZXcgVWludDhBcnJheSBlcnJvcjosIitKLmVycm9yTWVzc2FnZSk7ZSsrfXZhciBuLG8sYSxzPXRoaXMudmlkZW9UcmFjayxjPXRoaXMuYXVkaW9UcmFjaztzLnNhbXBsZXM9W10sYy5zYW1wbGVzPVtdLHMudmlkZW9TZW5jPW51bGwsYy5hdWRpb1NlbmM9bnVsbCwobnVsbD09ST92b2lkIDA6SVsxXSk+dGhpcy52aWRlb01heEZyYW1lSWR4JiZ0aGlzLnZpZGVvTWF4RnJhbWVJZHg+MCYmKElbMV09dGhpcy52aWRlb01heEZyYW1lSWR4KSwobnVsbD09Qj92b2lkIDA6QlsxXSk+dGhpcy5hdWRpb01heEZyYW1lSWR4JiZ0aGlzLmF1ZGlvTWF4RnJhbWVJZHg+MCYmKEJbMV09dGhpcy5hdWRpb01heEZyYW1lSWR4KTt2YXIgaD0wLGY9MCx1PXt9LHk9QS5ieXRlTGVuZ3RoK2c7aWYoKG51bGw9PUk/dm9pZCAwOkkubGVuZ3RoKT4wKXt2YXIgbDtpZih0aGlzLm1lbW9yeU9wdCYmdGhpcy52aWRlb1NlZ21uZW50cyYmISh1PXRoaXMuZ2V0RnJhbWVQb3NCeUlkeCgidmlkZW8iLElbMF0pKSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoSVswXSkpO2Zvcih2YXIgRD11LGQ9RC5mcmFtZUlkeCx3PUQuc2VnbWVudElkeCxGPUlbMF07Rjw9SVsxXTtGKyspe2lmKCF0aGlzLl92aWRlb1NhbXBsZXMubGVuZ3RoJiZ0aGlzLnZpZGVvU2VnbW5lbnRzKXt2YXIgRz10aGlzLmdldEZyYW1lSW5mbygidmlkZW8iLHcsZCk7bj1HLnNhbXBsZSx3PUcuc2VnbWVudElkeCxkPUcuZnJhbWVJZHh9ZWxzZSBuPXRoaXMuX3ZpZGVvU2FtcGxlc1tGXTtpZighbil0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoRikpO2lmKHRoaXMubWVtb3J5T3B0JiZuLm9mZnNldCtuLnNpemU+eSlicmVhaztuLm9mZnNldD49ZyYmbi5vZmZzZXQrbi5zaXplPD15JiYoaD0oYT1uLm9mZnNldC1nKStuLnNpemUsbz1BLnN1YmFycmF5KGEsaCksKGw9bmV3IHZoKCJudW1iZXIiPT10eXBlb2Ygbi5wdHM/bi5wdHM6bi5kdHMsbi5kdHMpKS5kdXJhdGlvbj1uLmR1cmF0aW9uLGwuZ29wSWQ9bi5nb3BJZCxsLnNhbXBsZU9mZnNldD1uLmluZGV4LG4ua2V5ZnJhbWUmJmwuc2V0VG9LZXlmcmFtZSgpLGwuZGF0YT1vLGwuc2l6ZT1uLnNpemUscy5zYW1wbGVzLnB1c2gobCkpfXMuc2FtcGxlcy5sZW5ndGg+MCYmKHMuZ29wSWQ9cy5zYW1wbGVzWzBdLmdvcElkLHMuYmFzZU1lZGlhRGVjb2RlVGltZT1zLnNhbXBsZXNbMF0uZHRzLHMuc3RhcnRQdHM9cy5zYW1wbGVzWzBdLnB0cy9zLnRpbWVzY2FsZSxzLmVuZFB0cz1zLnNhbXBsZXNbcy5zYW1wbGVzLmxlbmd0aC0xXS5wdHMvcy50aW1lc2NhbGUscy5zdGFydER0cz1zLnNhbXBsZXNbMF0uZHRzL3MudGltZXNjYWxlLHMuZW5kRHRzPXMuc2FtcGxlc1tzLnNhbXBsZXMubGVuZ3RoLTFdLmR0cy9zLnRpbWVzY2FsZSx0aGlzLnZpZGVvU2VuYyYmKHMudmlkZW9TZW5jPXRoaXMudmlkZW9TZW5jLnNsaWNlKHMuc2FtcGxlc1swXS5zYW1wbGVPZmZzZXQscy5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCtzLnNhbXBsZXMubGVuZ3RoKSxzLmtpZFZhbHVlPUUpKX1pZigobnVsbD09Qj92b2lkIDA6Qi5sZW5ndGgpPjApe2lmKHRoaXMubWVtb3J5T3B0JiZ0aGlzLmF1ZGlvU2VnbW5lbnRzJiYhKHU9dGhpcy5nZXRGcmFtZVBvc0J5SWR4KCJhdWRpbyIsQlswXSkpKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGZvdW5kIHZpZGVvIGZyYW1lICMiLmNvbmNhdChCWzBdKSk7Zm9yKHZhciBSPXUscD1SLmZyYW1lSWR4LGs9Ui5zZWdtZW50SWR4LFU9QlswXTtVPD1CWzFdO1UrKyl7aWYoIXRoaXMuX2F1ZGlvU2FtcGxlcy5sZW5ndGgmJnRoaXMuYXVkaW9TZWdtbmVudHMpe3ZhciBTPXRoaXMuZ2V0RnJhbWVJbmZvKCJhdWRpbyIsayxwKTtuPVMuc2FtcGxlLGs9Uy5zZWdtZW50SWR4LHA9Uy5mcmFtZUlkeH1lbHNlIG49dGhpcy5fYXVkaW9TYW1wbGVzW1VdO2lmKCFuKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGZvdW5kIHZpZGVvIGZyYW1lICMiLmNvbmNhdChVKSk7aWYodGhpcy5tZW1vcnlPcHQmJm4ub2Zmc2V0K24uc2l6ZT55KWJyZWFrO24ub2Zmc2V0Pj1nJiZuLm9mZnNldCtuLnNpemU8PXkmJihmPShhPW4ub2Zmc2V0LWcpK24uc2l6ZSxvPUEuc3ViYXJyYXkoYSxmKSxjLnNhbXBsZXMucHVzaChuZXcgTmgobi5kdHMsbyxuLmR1cmF0aW9uLG4uaW5kZXgpKSl9Yy5zYW1wbGVzLmxlbmd0aD4wJiYoYy5nb3BJZD1jLnNhbXBsZXNbMF0uZ29wSWR8fHMuZ29wSWQsYy5iYXNlTWVkaWFEZWNvZGVUaW1lPWMuc2FtcGxlc1swXS5kdHMsYy5zdGFydFB0cz1jLnNhbXBsZXNbMF0ucHRzL2MudGltZXNjYWxlLGMuZW5kUHRzPWMuc2FtcGxlc1tjLnNhbXBsZXMubGVuZ3RoLTFdLnB0cy9jLnRpbWVzY2FsZSx0aGlzLmF1ZGlvU2VuYyYmKGMuYXVkaW9TZW5jPXRoaXMuYXVkaW9TZW5jLnNsaWNlKGMuc2FtcGxlc1swXS5zYW1wbGVPZmZzZXQsYy5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCtjLnNhbXBsZXMubGVuZ3RoKSxjLmtpZFZhbHVlPUUpKX10aGlzLmRlY29kZXJEYXRhKHMsYyx0KTtmb3IodmFyIHY9MCxOPTA7TjxzLnNhbXBsZXMubGVuZ3RoO04rKyl7Zm9yKHZhciBNPTAsWT1zLnNhbXBsZXNbTl0uZGF0YSxIPVkubGVuZ3RoLTE7TTxIOyl2PUlmKFksTSksTSs9NCxzLnNhbXBsZXNbTl0udW5pdHMucHVzaChZLnN1YmFycmF5KE0sTSt2KSksTSs9djt0aGlzLl9tYXJrVmlkZW9TYW1wbGUocy5zYW1wbGVzW05dKX12YXIgTD1NYXRoLm1heChoLGYpO3JldHVybiB0aGlzLl9sYXN0UmVtYWluQnVmZmVyPUEuc3ViYXJyYXkoTCksdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlci5ieXRlTGVuZ3RoPjA/dGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPWcrQS5ieXRlTGVuZ3RoLXRoaXMuX2xhc3RSZW1haW5CdWZmZXIuYnl0ZUxlbmd0aDp0aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3M9MCx7dmlkZW9UcmFjazpzLGF1ZGlvVHJhY2s6YyxtZXRhZGF0YVRyYWNrOnRoaXMubWV0YWRhdGFUcmFjayxsYXN0UmVtYWluQnVmZmVySW5mbzp7ZGF0YTp0aGlzLl9sYXN0UmVtYWluQnVmZmVyLHBvczp0aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3N9fX19LHtrZXk6InNldExhc3RSZW1haW5CdWZmZXJJbmZvIix2YWx1ZTpmdW5jdGlvbihBLGcpe3RoaXMuX2xhc3RSZW1haW5CdWZmZXI9QSx0aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3M9Z319LHtrZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2xhc3RSZW1haW5CdWZmZXI9bnVsbCx0aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3M9MCx0aGlzLnZpZGVvVHJhY2sucmVzZXQoKSx0aGlzLmF1ZGlvVHJhY2sucmVzZXQoKSx0aGlzLm1ldGFkYXRhVHJhY2sucmVzZXQoKX19LHtrZXk6ImRlY29kZXJEYXRhIix2YWx1ZTpmdW5jdGlvbihBLGcsSSl7QS51c2VFTUV8fGcudXNlRU1FfHxtdS5kZWNvZGVyQUVTQ1RSRGF0YShBLGcsSSl9fSx7a2V5OiJnZXRGcmFtZVBvc0J5SWR4Iix2YWx1ZTpmdW5jdGlvbihBLGcpe3ZhciBJPSJ2aWRlbyI9PT1BP3RoaXMudmlkZW9TZWdtbmVudHM6dGhpcy5hdWRpb1NlZ21uZW50cztpZighSXx8bnVsbD09SXx8IUkubGVuZ3RoKXJldHVybiBudWxsO2Zvcih2YXIgQixRPTAsQz0wO0M8SS5sZW5ndGg7QysrKXt2YXIgRSx0O2lmKEI9SVtDXS5mcmFtZXMsZzw9KG51bGw9PT0oRT1JW0NdLmZyYW1lcyl8fHZvaWQgMD09PUU/dm9pZCAwOkVbKG51bGw9PT0odD1CKXx8dm9pZCAwPT09dD92b2lkIDA6dC5sZW5ndGgpLTFdLmluZGV4KSl7UT1DO2JyZWFrfX1yZXR1cm57ZnJhbWVJZHg6Qi5maW5kSW5kZXgoKGZ1bmN0aW9uKEEpe3JldHVybiBBLmluZGV4PT09Z30pKSxzZWdtZW50SWR4OlF9fX0se2tleToiZ2V0RnJhbWVJbmZvIix2YWx1ZTpmdW5jdGlvbihBLGcsSSl7dmFyIEIsUSxDLEUsdD0idmlkZW8iPT09QT90aGlzLnZpZGVvU2VnbW5lbnRzOnRoaXMuYXVkaW9TZWdtbmVudHM7cmV0dXJuIHQ/STwobnVsbD09PShCPXRbZ10pfHx2b2lkIDA9PT1CfHxudWxsPT09KFE9Qi5mcmFtZXMpfHx2b2lkIDA9PT1RP3ZvaWQgMDpRLmxlbmd0aCk/e3NhbXBsZTpudWxsPT09KEM9dFtnXSl8fHZvaWQgMD09PUM/dm9pZCAwOkMuZnJhbWVzW0ldLHNlZ21lbnRJZHg6ZyxmcmFtZUlkeDpJKzF9OntzYW1wbGU6bnVsbD09PShFPXRbZysxXSl8fHZvaWQgMD09PUU/dm9pZCAwOkUuZnJhbWVzWzBdLHNlZ21lbnRJZHg6ZysxLGZyYW1lSWR4OjF9Ont9fX0se2tleToiY2xlYXJCb3hFbnRyaWVzIix2YWx1ZTpmdW5jdGlvbihBKXt0aGlzLm1lbW9yeU9wdCYmQS50cmFrLmZvckVhY2goKGZ1bmN0aW9uKEEpe0t1LmZvckVhY2goKGZ1bmN0aW9uKGcpe3ZhciBJPUEubWRpYS5taW5mLnN0YmxbZ107SSYmKEkuZW50cmllcyYmKEkuZW50cmllcz1udWxsKSxJLmVudHJ5U2l6ZXMmJihJLmVudHJ5U2l6ZXM9bnVsbCkpfSkpfSkpfX1dLFt7a2V5OiJwcm9iZSIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIG5mLnByb2JlKEEpfX1dKSxBfSgpLHF1PUl0LmZpbHRlcjtpQih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFDcigiZmlsdGVyIil9LHtmaWx0ZXI6ZnVuY3Rpb24oQSl7cmV0dXJuIHF1KHRoaXMsQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSk7dmFyIGJ1PUl0Lm1hcDtpQih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFDcigibWFwIil9LHttYXA6ZnVuY3Rpb24oQSl7cmV0dXJuIGJ1KHRoaXMsQSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSk7dmFyIFR1PSJ2dmNDIjtmdW5jdGlvbiBPdShBLGcpe3JldHVybiBnP0EucmVhZFRvVWludDgoZykuc2xpY2UoKTpuZXcgVWludDhBcnJheX1mdW5jdGlvbiBQdShBLGcpe3ZhciBJPUF8fCJidmMyIjtpZighZylyZXR1cm4iIi5jb25jYXQoSSwiLjEuTDkzIik7dmFyIEI9Zy5nZW5lcmFsUHJvZmlsZUlkY3x8MSxRPWcuZ2VuZXJhbFRpZXJGbGFnPyJIIjoiTCIsQz1nLmdlbmVyYWxMZXZlbElkY3x8OTM7cmV0dXJuIiIuY29uY2F0KEksIi4iKS5jb25jYXQoQiwiLiIpLmNvbmNhdChRKS5jb25jYXQoQyl9ZnVuY3Rpb24ganUoQSl7dmFyIGc9eGguZnJvbVVpbnQ4KEEpLEk9Zy5yZWFkKDEpLEI9S2guZnJvbUJ5dGUoZywxKTtCLnJlYWQoNSk7dmFyIFEsQyxFLHQsZSxpLHIsbj1CLnJlYWQoMiksbz1CLnJlYWQoMSksYT0xLHM9e307aWYobyl7dmFyIGM9S2guZnJvbUJ5dGUoZywyKTtFPWMucmVhZCgyKSx0PWMucmVhZCgzKSxhPWMucmVhZCgzKSxDPWMucmVhZCgyKSxjLnJlYWQoNikscz1mdW5jdGlvbihBLGcpe3ZhciBJPUtoLmZyb21CeXRlKEEsMik7SS5yZWFkKDIpO3ZhciBCPUkucmVhZCg2KSxRPUkucmVhZCg3KSxDPUkucmVhZCgxKSxFPUEucmVhZCgxKSx0PUtoLmZyb21CeXRlKEEsMSksZT10LnJlYWQoMSksaT10LnJlYWQoMSkscj1uZXcgVWludDhBcnJheShCKTtpZihCKXtmb3IodmFyIG49MDtuPEItMTtuKyspe3ZhciBvPXQucmVhZCg2KSxhPSh0PUtoLmZyb21CeXRlKEEsMSkpLnJlYWQoMik7cltuXT1vPDwyfGF9cltCLTFdPXQucmVhZCg2KX1lbHNlIHQucmVhZCg2KTt2YXIgcz1bXTtpZihnPjEpe2Zvcih2YXIgYz1LaC5mcm9tQnl0ZShBLDEpLGg9MCxmPWctMjtmPj0wOy0tZilofD1jLnJlYWQoMSk8PGY7Zm9yKHZhciB1PWc7dTw9OCYmZz4xOysrdSljLnJlYWQoMSk7Zm9yKHZhciB5PWctMjt5Pj0wOy0teSloJjE8PHkmJihzW3ldPUEucmVhZCgxKSl9dmFyIGw9QS5yZWFkKDEpLEQ9W107aWYobClmb3IodmFyIGQ9MDtkPGw7ZCsrKUQucHVzaChBLnJlYWRJbnQoNCkpO3JldHVybntnZW5lcmFsUHJvZmlsZUlkYzpRLGdlbmVyYWxUaWVyRmxhZzpDLGdlbmVyYWxMZXZlbElkYzpFLHB0bEZyYW1lT25seUNvbnN0cmFpbnRGbGFnOmUscHRsTXVsdGlsYXllckVuYWJsZWRGbGFnOmksZ2VuZXJhbENvbnN0cmFpbnRJbmZvOnIsc3ViTGF5ZXJMZXZlbElkYzpzLGdlbmVyYWxTdWJQcm9maWxlSWRjOkQscHRsTnVtU3ViUHJvZmlsZXM6bCxudW1CeXRlc0NvbnN0cmFpbnRJbmZvOkJ9fShnLGEpLFE9Zy5yZWFkKDIpLGU9Zy5yZWFkKDIpLGk9Zy5yZWFkKDIpLHI9Zy5yZWFkKDIpfXZhciBoPWZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1BLnJlYWQoMSksST1bXSxCPVtdLFE9W10sQz0wO0M8ZztDKyspe3ZhciBFPUtoLmZyb21CeXRlKEEsMSk7RS5yZWFkKDEpLEUucmVhZCgyKTt2YXIgdD1FLnJlYWQoNSksZT0xOzEzIT09dCYmMTIhPT10JiYoZT1BLnJlYWQoMikpO2Zvcih2YXIgaT0wO2k8ZTtpKyspe3ZhciByPUEucmVhZCgyKTtzd2l0Y2godCl7Y2FzZSAxNDpJLnB1c2goT3UoQSxyKSk7YnJlYWs7Y2FzZSAxNTpCLnB1c2goT3UoQSxyKSk7YnJlYWs7Y2FzZSAxNjpRLnB1c2goT3UoQSxyKSk7YnJlYWs7ZGVmYXVsdDpPdShBLHIpfX19cmV0dXJue251bU9mQXJyYXlzOmcsdnBzOkksc3BzOkIscHBzOlEsc3BzUGFyc2VkOm51bGx9fShnKTtyZXR1cm57ZGF0YTpBLGNvbmZpZ3VyYXRpb25WZXJzaW9uOkksY29kZWM6UHUoImJ2YzIiLHMpLHNhbXBsZUVudHJ5VHlwZToiYnZjMiIsbmFsVW5pdFNpemU6bisxLHB0bFByZXNlbnRGbGFnOm8sb2xzSWR4OlEsbnVtU3VibGF5ZXJzOmEsY29uc3RhbnRGcmFtZVJhdGU6QyxjaHJvbWFGb3JtYXRJZGM6RSxiaXREZXB0aEx1bWFNaW51czg6dCxwdGxSZWNvcmQ6cyx3aWR0aDplLGhlaWdodDppLHNhbXBsZVJhdGU6cixudW1PZkFycmF5czpoLm51bU9mQXJyYXlzLHZwczpoLnZwcyxzcHM6aC5zcHMscHBzOmgucHBzLHNwc1BhcnNlZDpoLnNwc1BhcnNlZH19emgoe2lkOiJidmMyIixraW5kOiJ2aWRlbyIsY29kZWNUeXBlOlR1LHNhbXBsZUVudHJpZXM6WyJidmMyIl0sY29uZmlnQm94ZXM6WyJidjJDIl0sY29kZWNTdHJpbmdQcmVmaXhlczpbImJ2YzIuIl0sdHJhY2tDb25maWdLZXk6InZ2Y0MiLHNhbXBsZUVudHJ5VHJhY2tLZXk6InZ2Y2NTYW1wbGVFbnRyeVR5cGUiLHBhcnNlQ29uZmlnQm94OmZ1bmN0aW9uKEEpe3JldHVybiBqdShBLmRhdGEpfSxhcHBseVRyYWNrQ29uZmlnOmZ1bmN0aW9uKEEpe3ZhciBnLEk9QS50cmFjayxCPUEuZW50cnksUT1BLmNvbmZpZztJLmNvZGVjVHlwZT1UdSxJLmNvZGVjPVEuY29kZWMsSS5zcHM9US5zcHMsSS5wcHM9US5wcHMsSS52cHM9US52cHMsSS52dmNDPVEuZGF0YSxRLm5hbFVuaXRTaXplJiYoSS5uYWxVbml0U2l6ZT1RLm5hbFVuaXRTaXplKSxJLnZ2Y2NTYW1wbGVFbnRyeVR5cGU9ImVuY3YiPT09Qi50eXBlPyhudWxsPT09KGc9Qi5zaW5mKXx8dm9pZCAwPT09Z3x8bnVsbD09PShnPWcuZnJtYSl8fHZvaWQgMD09PWc/dm9pZCAwOmcuZGF0YV9mb3JtYXQpfHxRLnNhbXBsZUVudHJ5VHlwZXx8ImJ2YzIiOkIudHlwZX0sZ2V0U2FtcGxlRW50cnlUeXBlOmZ1bmN0aW9uKCl7cmV0dXJuImJ2YzIifSxnZXRDb25maWdCb3hUeXBlOmZ1bmN0aW9uKCl7cmV0dXJuImJ2MkMifSxidWlsZENvbmZpZ0JveDpmdW5jdGlvbihBKXt2YXIgZz1BLnRyYWNrLEk9QS5NUDQ7cmV0dXJuIEkuYm94KEkudHlwZSgiYnYyQyIpLG5ldyBVaW50OEFycmF5KGcudnZjQykpfSxidWlsZEZ0eXA6ZnVuY3Rpb24oQSl7dmFyIGc9QS5NUDQ7cmV0dXJuIGcuYm94KGcudHlwZSgiZnR5cCIpLG5ldyBVaW50OEFycmF5KFsxMDUsMTE1LDExMSwxMDksMCwwLDAsMSwxMDUsMTE1LDExMSwxMDksOTgsMTE4LDk5LDUwXSkpfSxtYXJrU2FtcGxlOmZ1bmN0aW9uKEEpe3ZhciBnPUEuc2FtcGxlLEk9ZnVuY3Rpb24oQSl7dmFyIGc9KEF8fFtdKS5tYXAoKGZ1bmN0aW9uKEEpe3JldHVybiBBJiZBLmJ5dGVMZW5ndGg+MT8oMjQ4JkFbMV0pPj4zOnZvaWQgMH0pKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiJudW1iZXIiPT10eXBlb2YgQX0pKTtpZihnLmxlbmd0aCl7dmFyIEk9IiI7cmV0dXJuIGcuaW5jbHVkZXMoNyl8fGcuaW5jbHVkZXMoOCk/ST0iaWRyIjpnLmluY2x1ZGVzKDkpJiYoST0iY3JhIikse25hbFR5cGVzOmcscmFuZG9tQWNjZXNzVHlwZTpJLHJhc2w6Zy5pbmNsdWRlcygzKX19fShnLnVuaXRzKTtJJiYoZy5zaWRlRGF0YT1vKG8oe30sZy5zaWRlRGF0YXx8e30pLHt9LHt2dmNOYWxJbmZvOkl9KSl9fSk7dmFyIFd1PW9BLFp1PWFnO2lCKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6bCgoZnVuY3Rpb24oKXtadSgxKX0pKX0se2tleXM6ZnVuY3Rpb24oQSl7cmV0dXJuIFp1KFd1KEEpKX19KTt2YXIgVnU9VCxYdT1aQSx6dT1SLF91PVpzLCR1PUljO1RzKCJtYXRjaCIsMSwoZnVuY3Rpb24oQSxnLEkpe3JldHVybltmdW5jdGlvbihnKXt2YXIgST16dSh0aGlzKSxCPW51bGw9PWc/dm9pZCAwOmdbQV07cmV0dXJuIHZvaWQgMCE9PUI/Qi5jYWxsKGcsSSk6bmV3IFJlZ0V4cChnKVtBXShTdHJpbmcoSSkpfSxmdW5jdGlvbihBKXt2YXIgQj1JKGcsQSx0aGlzKTtpZihCLmRvbmUpcmV0dXJuIEIudmFsdWU7dmFyIFE9VnUoQSksQz1TdHJpbmcodGhpcyk7aWYoIVEuZ2xvYmFsKXJldHVybiAkdShRLEMpO3ZhciBFPVEudW5pY29kZTtRLmxhc3RJbmRleD0wO2Zvcih2YXIgdCxlPVtdLGk9MDtudWxsIT09KHQ9JHUoUSxDKSk7KXt2YXIgcj1TdHJpbmcodFswXSk7ZVtpXT1yLCIiPT09ciYmKFEubGFzdEluZGV4PV91KEMsWHUoUS5sYXN0SW5kZXgpLEUpKSxpKyt9cmV0dXJuIDA9PT1pP251bGw6ZX1dfSkpO3ZhciBBeT17ZmluZEJveDpmdW5jdGlvbiBBKGcsSSl7dmFyIEI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOltdO2lmKGcudHlwZSE9PUkpe2lmKGcmJmcuc3ViQm94KXt2YXIgUT1nLnN1YkJveC5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiBBLnR5cGU9PT1JfSkpO1EubGVuZ3RoP1EuZm9yRWFjaCgoZnVuY3Rpb24oQSl7cmV0dXJuIEIucHVzaChBKX0pKTpnLnN1YkJveC5mb3JFYWNoKChmdW5jdGlvbihnKXtyZXR1cm4gQShnLEksQil9KSl9fWVsc2UgQi5wdXNoKGcpO3JldHVybihCPWgoQikpLmxlbmd0aD4xP0I6QlswXX0scGFkU3RhcnQ6Z3ksdG9IZXg6ZnVuY3Rpb24oKXtmb3IodmFyIEE9W10sZz1hcmd1bWVudHMubGVuZ3RoLEk9bmV3IEFycmF5KGcpLEI9MDtCPGc7QisrKUlbQl09YXJndW1lbnRzW0JdO3JldHVybiBJLmZvckVhY2goKGZ1bmN0aW9uKGcpe3ZhciBJPU51bWJlcihnKS50b1N0cmluZygxNik7QS5wdXNoKGd5KEksMiwwKSl9KSksQX0sZnJvbUhleDpmdW5jdGlvbihBKXtmb3IodmFyIGc9bmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgvMiksST0wO0k8QS5sZW5ndGg7SSs9MilnW0kvMl09d2luZG93LnBhcnNlSW50KEEuc3Vic3RyKEksMiksMTYpO3JldHVybiBnfSxzdW06ZnVuY3Rpb24oKXtmb3IodmFyIEE9MCxnPWFyZ3VtZW50cy5sZW5ndGgsST1uZXcgQXJyYXkoZyksQj0wO0I8ZztCKyspSVtCXT1hcmd1bWVudHNbQl07cmV0dXJuIEkuZm9yRWFjaCgoZnVuY3Rpb24oZyl7QSs9Z30pKSxBfSxTdHJpbmdUb0FycmF5QnVmZmVyOmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz1uZXcgQXJyYXlCdWZmZXIoQS5sZW5ndGgpLEk9bmV3IFVpbnQ4QXJyYXkoZyksQj0wO0I8QS5sZW5ndGg7QisrKUlbQl09QS5jaGFyQ29kZUF0KEIpO3JldHVybiBnfSxBcnJheUJ1ZmZlclRvU3RyaW5nOmZ1bmN0aW9uKEEpe2Zvcih2YXIgZz0iIixJPW5ldyBVaW50OEFycmF5KEEpLEI9MDtCPEkubGVuZ3RoO0IrKylnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKElbQl0pO3JldHVybiBnfSxmcm9tQ2hhckNvZGU6SXksQmFzZTY0VG9IZXg6ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPXdpbmRvdy5hdG9iKEEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpLEk9IiIsQj0wO0I8Zy5sZW5ndGg7QisrKUkrPSIwIi5jb25jYXQoZy5jaGFyQ29kZUF0KEIpLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC0yKTtyZXR1cm4gSX0sdG9CYXNlNjQ6ZnVuY3Rpb24oQSxnKXt2YXIgST1JeShBKTtnPXZvaWQgMD09PWd8fGc7dmFyIEI9d2luZG93LmJ0b2EoSSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKTtyZXR1cm4gZz9COkIucmVwbGFjZSgvPSokLywiIil9LHRvVVRGODpmdW5jdGlvbihBKXtmb3IodmFyIGc9ZW5jb2RlVVJJQ29tcG9uZW50KEEpLEk9dW5lc2NhcGUoZyksQj1uZXcgVWludDhBcnJheShJLmxlbmd0aCksUT0wO1E8SS5sZW5ndGg7KytRKUJbUV09SS5jaGFyQ29kZUF0KFEpO3JldHVybiBCLmJ1ZmZlcn0sc3RyVG9CdWY6ZnVuY3Rpb24oQSl7Zm9yKHZhciBnPVtdLEk9MDtJPEEubGVuZ3RoO0krPTIpZy5wdXNoKHBhcnNlSW50KEFbSV0rQVtJKzFdLDE2KSk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGcpfSxzdHIyaGV4OmZ1bmN0aW9uKEEpe2lmKCIiPT09QSlyZXR1cm4iIjtmb3IodmFyIGc9W10sST0wO0k8QS5sZW5ndGg7SSsrKWcucHVzaChBLmNoYXJDb2RlQXQoSSkpO3JldHVybiBnfSxmb3JtYXRJVjpmdW5jdGlvbihBKXtpZihBLmxlbmd0aD49MTYpcmV0dXJuIEE7Zm9yKHZhciBnPW5ldyBVaW50OEFycmF5KDE2KSxJPTA7STxnLmxlbmd0aDtJKyspZ1tJXT1JPEEubGVuZ3RoP0FbSV06MDtyZXR1cm4gZ30scGFyc2U6ZnVuY3Rpb24oQSl7aWYoIUFycmF5LmlzQXJyYXkoQSkpe2Zvcih2YXIgZz1bXSxJPSIiLEI9MDtCPEEubGVuZ3RoO0IrKylCJTImJihJPUFbQi0xXStBW0JdLGcucHVzaChwYXJzZUludChJLDE2KSksST0iIik7cmV0dXJuIGd9cmV0dXJuIEEubWFwKChmdW5jdGlvbihBKXtyZXR1cm4gcGFyc2VJbnQoQSwxNil9KSl9LGdlbmVyYXRlVW5pcXVlS2V5OmZ1bmN0aW9uKEEpe3ZhciBnPUEudmlkLEk9QS5tZWRpYVR5cGUsQj1BLmRlZmluaXRpb247aWYoST1JfHwidmlkZW8iLEI9Qnx8LTEsIWcpcmV0dXJuIG51bGw7cmV0dXJuIiIuY29uY2F0KGcsIiMiKS5jb25jYXQoSSwiIyIpLmNvbmNhdChCLCIjbXA0Iil9LHZhbGlkYXRlRnJhZ21lbnQ6ZnVuY3Rpb24oQSl7dmFyIGc9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOltdO2lmKEEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil7dHJ5e2lmKDI9PT1nLmxlbmd0aCl7dmFyIEk9Z1sxXS1nWzBdKzE7aWYoIShBLmJ5dGVMZW5ndGg9PT1JKSlyZXR1cm59fWNhdGNoKEIpe3JldHVybiBjb25zb2xlLmVycm9yKEIpLCExfXJldHVybiEwfXJldHVybiExfSx0eXBlT2Y6Qnksbm93VGltZTpmdW5jdGlvbigpe3RyeXtyZXR1cm4gcGFyc2VJbnQoIiIuY29uY2F0KHBlcmZvcm1hbmNlLm5vdygpKSwxMCl9Y2F0Y2goQSl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9fSxleHRVcmw6ZnVuY3Rpb24oQSxnKXt0cnl7aWYoIWd8fEEuc3RhcnRzV2l0aCgiYmxvYiIpKXJldHVybiBBO3ZhciBJPUEuaW5kZXhPZigiPyIpLEI9STwwLFE9ST09PUEubGVuZ3RoLTEsQz0iIjtyZXR1cm4gT2JqZWN0LmtleXMoZykuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9Z1tBXTtudWxsIT1JJiYiIiE9PUkmJihDKz0iIi5jb25jYXQoQz8iJiI6IiIpLmNvbmNhdChBLCI9IikuY29uY2F0KGdbQV0pKX0pKSxBKz0oQj8iPyI6UT8iIjoiJiIpK0N9Y2F0Y2goRSl7cmV0dXJuIEF9fSxkZWVwTWVyZ2U6ZnVuY3Rpb24gQShnLEkpe3JldHVybiBPYmplY3Qua2V5cyhJKS5mb3JFYWNoKChmdW5jdGlvbihCKXt2YXIgUSxDPUJ5KElbQl0pLEU9QnkoZ1tCXSk7IkFycmF5Ij09PUM/KCJBcnJheSIhPT1FJiYoZ1tCXT1bXSksKFE9Z1tCXSkucHVzaC5hcHBseShRLGgoSVtCXSkpKToiT2JqZWN0Ij09PUM/KCJPYmplY3QiIT09RSYmKGdbQl09e30pLEEoZ1tCXSxJW0JdKSk6Z1tCXT1JW0JdfSkpLGd9LGdldEZpbGVTaXplOmZ1bmN0aW9uKEEsZyl7dHJ5e3JldHVybiBBJiZnP3BhcnNlSW50KCIiLmNvbmNhdChnKkEvOCksMTApOjB9Y2F0Y2goSSl7cmV0dXJuIDB9fSxoYXNoVmFsOmZ1bmN0aW9uKEEpe3ZhciBnLEk9MDtpZigwPT09QS5sZW5ndGgpcmV0dXJuIEk7Zm9yKGc9MDtnPEEubGVuZ3RoO2crKylJPShJPDw1KS1JK0EuY2hhckNvZGVBdChnKSxJfD0wO3JldHVybiBJfSxBcnJheUNvcHk6ZnVuY3Rpb24oQSl7dmFyIGc9W107aWYoIUF8fCFBLmxlbmd0aHx8MD09PUEubGVuZ3RoKXJldHVybiBnO2Zvcih2YXIgST0wO0k8QS5sZW5ndGg7SSsrKXt2YXIgQj1BW0ldLFE9e307Zm9yKHZhciBDIGluIEIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEIsQykmJihRW0NdPUJbQ10pO2cucHVzaChRKX1yZXR1cm4gZ30sY29uY2F0RGF0YTpmdW5jdGlvbihBLGcpe3ZhciBJPVtdLEI9MDtBJiZJLnB1c2goQSk7ZyYmSS5wdXNoKGcpO0kuZXZlcnkoKGZ1bmN0aW9uKEEpe3JldHVybiBBJiYoQis9QS5ieXRlTGVuZ3RoKSwhMH0pKTt2YXIgUT1uZXcgVWludDhBcnJheShCKSxDPTA7cmV0dXJuIEkuZXZlcnkoKGZ1bmN0aW9uKEEpe3JldHVybiBBJiYoUS5zZXQoQSxDKSxDKz1BLmJ5dGVMZW5ndGgpLCEwfSkpLFF9LGdldEZyYWdSYW5nZTpmdW5jdGlvbihBLGcsSSl7dmFyIEIsUSxDLEUsdD1udWxsLGU9bnVsbDt0PUE8Zy5sZW5ndGgtMT9nW0FdOmdbZy5sZW5ndGgtMV07ZT1BPEkubGVuZ3RoLTE/SVtBXTpJW0kubGVuZ3RoLTFdO3JldHVybltNYXRoLm1pbigobnVsbD09PShCPXQpfHx2b2lkIDA9PT1CP3ZvaWQgMDpCLnJhbmdlWzBdKXx8MS8wLChudWxsPT09KFE9ZSl8fHZvaWQgMD09PVE/dm9pZCAwOlEucmFuZ2VbMF0pfHwxLzApLE1hdGgubWF4KG51bGw9PT0oQz10KXx8dm9pZCAwPT09Qz92b2lkIDA6Qy5yYW5nZVsxXSxudWxsPT09KEU9ZSl8fHZvaWQgMD09PUU/dm9pZCAwOkUucmFuZ2VbMV0pXX0sZ2V0SG9zdEZyb21Vcmw6ZnVuY3Rpb24oQSl7aWYoIlN0cmluZyIhPT1CeShBKXx8IUEpcmV0dXJuIiI7dmFyIGc9QS5zcGxpdCgiLyIpLEk9IiI7Zy5sZW5ndGg+MyYmZ1syXSYmKEk9Z1syXSk7cmV0dXJuIEl9LG5ld1VpbnQ4QXJyYXk6ZnVuY3Rpb24oQSl7dmFyIGcsST0wO2Zvcig7STwxMDspdHJ5e2lmKChnPW5ldyBVaW50OEFycmF5KEEpKSYmZy5ieXRlTGVuZ3RoPjApYnJlYWs7SSsrfWNhdGNoKEIpe0k8MTA/SSsrOmNvbnNvbGUuZXJyb3IoInJlcGVhdCBkYXRhIGNhY2hlICBuZXcgYXJyYXkgZmFpbGVkIGZpbmFsIiwxMCl9cmV0dXJuIGd9LGNoZWNrVXJsSXNFeHBpcmVkOmZ1bmN0aW9uKEEpe3ZhciBnPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO2lmKCFBfHwiU3RyaW5nIiE9PUJ5KEEpKXJldHVybiAwO3ZhciBJPTA7dHJ5e3ZhciBCPW5ldyBSZWdFeHAoIihcXD98Jil4LXRvcy1leHBpcmVzPShbXiZdKikoJnwkKSIpLFE9QS5tYXRjaChCKTtpZihudWxsIT09USlJPXBhcnNlSW50KFFbMl0sMTApO2Vsc2V7dmFyIEM9QS5zcGxpdCgiLyIpO0MubGVuZ3RoPjUmJjg9PT1DWzRdLmxlbmd0aCYmKEk9cGFyc2VJbnQoQ1s0XSwxNikpfXJldHVybiBJPjA/STxwYXJzZUludCgiIi5jb25jYXQoZyYmIm51bWJlciI9PXR5cGVvZiBnPyhuZXcgRGF0ZSkuZ2V0VGltZSgpLzFlMytnOihuZXcgRGF0ZSkuZ2V0VGltZSgpLzFlMyksMTApPzE6MjowfWNhdGNoKEUpe3JldHVybiAwfX0sZ2V0QnVmZmVyU3BsaXRzOmZ1bmN0aW9uKEEsZyl7dmFyIEk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjVlNTtpZihnLUEtSTxJLzJ8fCFnKXJldHVybltbQSxnXV07dmFyIEI9W107Zm9yKDtBPGc7KXt2YXIgUT1BK0k7KFE+Z3x8Zy1RPEkvMikmJihRPWcpLEIucHVzaChbQSxRXSksQT1RKzF9cmV0dXJuIEJ9LGdldEZpcnN0RnJhbWVTdGFydFJhbmdlOmZ1bmN0aW9uKEEsZyl7dmFyIEksQixRPU51bWJlci5NQVhfVkFMVUUsQz1OdW1iZXIuTUFYX1ZBTFVFO0EmJihRPShudWxsPT09KEk9QVswXSl8fHZvaWQgMD09PUl8fG51bGw9PT0oST1JLnJhbmdlKXx8dm9pZCAwPT09ST92b2lkIDA6SVswXSl8fE51bWJlci5NQVhfVkFMVUUpO2cmJihDPShudWxsPT09KEI9Z1swXSl8fHZvaWQgMD09PUJ8fG51bGw9PT0oQj1CLnJhbmdlKXx8dm9pZCAwPT09Qj92b2lkIDA6QlswXSl8fE51bWJlci5NQVhfVkFMVUUpO3JldHVybiBNYXRoLm1pbihRLEMpfSxnZXRFbmRGcmFtZVBvczpmdW5jdGlvbihBLGcpe3ZhciBJLEIsUT0wLEM9MDtBJiYoUT0obnVsbD09PShJPUFbQS5sZW5ndGgtMV0pfHx2b2lkIDA9PT1JfHxudWxsPT09KEk9SS5yYW5nZSl8fHZvaWQgMD09PUk/dm9pZCAwOklbMV0pfHwwKTtnJiYoQz0obnVsbD09PShCPWdbZy5sZW5ndGgtMV0pfHx2b2lkIDA9PT1CfHxudWxsPT09KEI9Qi5yYW5nZSl8fHZvaWQgMD09PUI/dm9pZCAwOkJbMV0pfHwwKTtyZXR1cm4gTWF0aC5tYXgoUSxDKX19O2Z1bmN0aW9uIGd5KEEsZyxJKXtmb3IodmFyIEI9U3RyaW5nKEkpLFE9Z3wwLEM9TWF0aC5jZWlsKFEvQi5sZW5ndGgpLEU9W10sdD1TdHJpbmcoQSk7Qy0tOylFLnB1c2goQik7cmV0dXJuIEUuam9pbigiIikuc3Vic3RyaW5nKDAsUS10Lmxlbmd0aCkrdH1mdW5jdGlvbiBJeShBKXtmb3IodmFyIGc9IiIsST0wO0k8QS5sZW5ndGg7SSs9MTZlMyl7dmFyIEI9QS5zdWJhcnJheShJLEkrMTZlMyk7Zys9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEIpfXJldHVybiBnfWZ1bmN0aW9uIEJ5KEEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoQSkubWF0Y2goLyhbXlxzLipdKykoPz1dJCkvZylbMF19b25tZXNzYWdlPWZ1bmN0aW9uKCl7dmFyIEEsST0oQT1hKCkubWFyaygoZnVuY3Rpb24gQShnKXt2YXIgSSxCLFEsQyxFLHQsZSxpLHIsbixzLGMsaCxmLHUseSxsLEQsZCx3LEYsRyxSLHAsayxVLFMsdixOLE09dGhpcztyZXR1cm4gYSgpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOkk9Zy5kYXRhLEEudDA9SS5tZXRob2QsQS5uZXh0PSJpbml0Ij09PUEudDA/NDoidXBkYXRlVmFsdWUiPT09QS50MD8xMzoidHJhbnNtdXgiPT09QS50MD8xODoicmVzZXQiPT09QS50MD80NDoiZGVzdHJveSI9PT1BLnQwPzUwOjUyO2JyZWFrO2Nhc2UgNDpyZXR1cm4gdGhpcy5jb2RlY1R5cGU9SS5hcmdzLmNvZGVjVHlwZSx0aGlzLm9wZW5Mb2c9SS5hcmdzLm9wZW5Mb2csdGhpcy5NUDREZW11eGVyPW51bGwsdGhpcy5GTVA0UmVtdXhlcj1udWxsLHRoaXMuX25lZWRJbml0U2VnbWVudD0hMCx0aGlzLnN1cHBvcnRIZXZjPUkuYXJncy5zdXBwb3J0SGV2Yyx0aGlzLm1lbW9yeU9wdD1JLmFyZ3MubWVtb3J5T3B0LHRoaXMuYXdNYW5hZ2VyPW51bGwsQS5hYnJ1cHQoImJyZWFrIiw1Mik7Y2FzZSAxMzpyZXR1cm4gUT1udWxsPT09KEI9Zy5kYXRhKXx8dm9pZCAwPT09Qnx8bnVsbD09PShCPUIuYXJncyl8fHZvaWQgMD09PUI/dm9pZCAwOkIudmFsdWUsdGhpcy5hd01hbmFnZXI9bmV3IENoLHNlbGYucD10aGlzLmF3TWFuYWdlci5pbml0KCksc2VsZi5wLnRoZW4oKGZ1bmN0aW9uKCl7TS5hd01hbmFnZXIuZGVzY3J5cHRLZXkoUS5zZWNyZXRLZXksUS5kZWNyeXB0S2V5KX0pKSxBLmFicnVwdCgiYnJlYWsiLDUyKTtjYXNlIDE4OnJldHVybiBDPWcuZGF0YS5hcmdzLEU9bmV3IFVpbnQ4QXJyYXkoZy5kYXRhLmJ1ZmZlciksdD10aGlzLm9wZW5Mb2csZT10aGlzLm1lbW9yeU9wdCx0aGlzLk1QNERlbXV4ZXJ8fCh0aGlzLk1QNERlbXV4ZXI9bmV3IHh1KEMudmlkZW9UcmFrLEMuYXVkaW9UcmFrLG51bGwse29wZW5Mb2c6dCxtZW1vcnlPcHQ6ZX0pKSxDLmxhc3RVbk11eERhdGEmJnRoaXMuTVA0RGVtdXhlci5zZXRMYXN0UmVtYWluQnVmZmVySW5mbyhDLmxhc3RVbk11eERhdGEsQy5wb3MpLEEubmV4dD0yNSxzZWxmLnA7Y2FzZSAyNTpyZXR1cm4gaT10aGlzLk1QNERlbXV4ZXIuZGVtdXhQYXJ0KEUsQy5zdGFydCxDLnZpZGVvSWR4LEMuYXVkaW9JZHgsQy5tb292LEMudXNlRU1FLEMua2lkVmFsdWUsKGZ1bmN0aW9uKEEsZyxJKXt2YXIgQj1BeS5mb3JtYXRJVihJKTtyZXR1cm4gTS5hd01hbmFnZXIuZGVzY3J5cHQoQSxCKX0pKSx0aGlzLkZNUDRSZW11eGVyfHwiaDI2NSI9PT10aGlzLmNvZGVjVHlwZSYmIXRoaXMuc3VwcG9ydEhldmN8fCh0aGlzLkZNUDRSZW11eGVyPW5ldyBSZih0aGlzLk1QNERlbXV4ZXIudmlkZW9UcmFjayx0aGlzLk1QNERlbXV4ZXIuYXVkaW9UcmFjayx7b3BlbkxvZzp0aGlzLm9wZW5Mb2d9KSkscj1pLnZpZGVvVHJhY2ssbj1pLmF1ZGlvVHJhY2sscz1pLmxhc3RSZW1haW5CdWZmZXJJbmZvLGM9bnVsbD09cj92b2lkIDA6ci5zYW1wbGVzLGg9KG51bGw9PWM/dm9pZCAwOmMubGVuZ3RoKT4wP2NbMF0uc2FtcGxlT2Zmc2V0Oi0xLGY9KG51bGw9PWM/dm9pZCAwOmMubGVuZ3RoKT4wP2NbYy5sZW5ndGgtMV0uc2FtcGxlT2Zmc2V0Oi0xLHU9bnVsbD09bj92b2lkIDA6bi5zYW1wbGVzLHk9KG51bGw9PXU/dm9pZCAwOnUubGVuZ3RoKT4wP3VbMF0uc2FtcGxlT2Zmc2V0Oi0xLGw9KG51bGw9PXU/dm9pZCAwOnUubGVuZ3RoKT4wP3VbdS5sZW5ndGgtMV0uc2FtcGxlT2Zmc2V0Oi0xLEQ9Qy5jb250ZXh0LnN0YXRlLnN0YXRlLGQ9LTEsdz0tMSxGPS0xLEc9LTEsKER8fChudWxsPT1jP3ZvaWQgMDpjLmxlbmd0aCk+MCkmJihkPW51bGw9PWl8fG51bGw9PT0oUj1pLnZpZGVvVHJhY2spfHx2b2lkIDA9PT1SP3ZvaWQgMDpSLnN0YXJ0UHRzLHc9bnVsbD09aXx8bnVsbD09PShwPWkudmlkZW9UcmFjayl8fHZvaWQgMD09PXA/dm9pZCAwOnAuZW5kUHRzKSwoRHx8KG51bGw9PXU/dm9pZCAwOnUubGVuZ3RoKT4wKSYmKEY9bnVsbD09aXx8bnVsbD09PShrPWkuYXVkaW9UcmFjayl8fHZvaWQgMD09PWs/dm9pZCAwOmsuc3RhcnRQdHMsRz1udWxsPT1pfHxudWxsPT09KFU9aS5hdWRpb1RyYWNrKXx8dm9pZCAwPT09VT92b2lkIDA6VS5lbmRQdHMpLHRoaXMuRk1QNFJlbXV4ZXImJigodj10aGlzLkZNUDRSZW11eGVyLnJlbXV4KHRoaXMuX25lZWRJbml0U2VnbWVudCx7aW5pdE1lcmdlOiEwfSkpLmluaXRTZWdtZW50JiYodGhpcy5fbmVlZEluaXRTZWdtZW50PSExKSxOPUF5LmNvbmNhdERhdGEodi5hdWRpb1NlZ21lbnQsdi52aWRlb1NlZ21lbnQpLFM9e2J1ZmZlcjpOLHJhbmdlOkMuY29udGV4dC5yYW5nZSxzdGF0ZTpDLmNvbnRleHQuc3RhdGUsY29udGV4dDp7cmFuZ2U6Qy5jb250ZXh0LnJhbmdlLGZyYWdJbmRleDpDLmNvbnRleHQuZnJhZ0luZGV4LHZQdHNSYW5nZTpbZCx3XSxhUHRzUmFuZ2U6W0YsR10sdmlkZW9TYW1wbGVJZHhSYW5nZTpbaCxmXSxhdWRpb1NhbXBsZUlkeFJhbmdlOlt5LGxdfSxpbml0U2VnOnYuaW5pdFNlZ21lbnQsbGFzdFJlbWFpbkJ1ZmZlckluZm86c30pLHBvc3RNZXNzYWdlKHttZXRob2Q6InRyYW5zbXV4IixpZDpnLmRhdGEuaWQsYXJnczpvKHt9LFMpfSxTLmluaXRTZWc/W1MuYnVmZmVyLmJ1ZmZlcixTLmluaXRTZWcuYnVmZmVyXTpbUy5idWZmZXIuYnVmZmVyXSksQS5hYnJ1cHQoImJyZWFrIiw1Mik7Y2FzZSA0NDpyZXR1cm4gdGhpcy5GTVA0UmVtdXhlciYmdGhpcy5GTVA0UmVtdXhlci5yZXNldCgpLHRoaXMuTVA0RGVtdXhlciYmdGhpcy5NUDREZW11eGVyLnJlc2V0KCksdGhpcy5GTVA0UmVtdXhlcj1udWxsLHRoaXMuTVA0RGVtdXhlcj1udWxsLHRoaXMuX25lZWRJbml0U2VnbWVudD0hMCxBLmFicnVwdCgiYnJlYWsiLDUyKTtjYXNlIDUwOnJldHVybiB0aGlzLmF3TWFuYWdlciYmKHRoaXMuYXdNYW5hZ2VyLmRlc3Ryb3koKSx0aGlzLmF3TWFuYWdlcj1udWxsKSxBLmFicnVwdCgiYnJlYWsiLDUyKTtjYXNlIDUyOmNhc2UiZW5kIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSxmdW5jdGlvbigpe3ZhciBJPXRoaXMsQj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihRLEMpe3ZhciBFPUEuYXBwbHkoSSxCKTtmdW5jdGlvbiB0KEEpe2coRSxRLEMsdCxlLCJuZXh0IixBKX1mdW5jdGlvbiBlKEEpe2coRSxRLEMsdCxlLCJ0aHJvdyIsQSl9dCh2b2lkIDApfSkpfSk7cmV0dXJuIGZ1bmN0aW9uKEEpe3JldHVybiBJLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9KCk7Cg==",R="undefined"!=typeof window&&window.Blob&&new Blob([atob(B)],{type:"text/javascript;charset=utf-8"});function V(){var U;try{if(!(U=R&&(window.URL||window.webkitURL).createObjectURL(R)))throw"";return new Worker(U)}catch(U){return new Worker("data:application/javascript;base64,"+B)}finally{!("undefined"!=typeof window&&navigator.userAgent.indexOf("Trident/")>0)&&U&&(window.URL||window.webkitlRL).revokeObjectURL(U)}}},333777:function(U,F,Q){Q.d(F,{UV:function(){return d},ZP:function(){return W},_c:function(){return Z}});var B,R=Q(989559);Q(346984),Q(124300),Q(162093),Q(9498),Q(117232),Q(173757),Q(171655),Q(232070),Q(104882),Q(2885),Q(248385),Q(591111),Q(851329),Q(905442),Q(446336),Q(808483),Q(840938),Q(118438),Q(325598),Q(92999),Q(611067),Q(273723),Q(724016),Q(803903),Q(214604),Q(901250),Q(755006),Q(437048),Q(488336),Q(825666),Q(177162),Q(286633),Q(943281),Q(810658),Q(82726),Q(224727),Q(437545),Q(630361),Q(497736),Q(954018),Q(506442),Q(795434),Q(664089),Q(863063),Q(478782),Q(866124),Q(378508),Q(70698),Q(669689),Q(663030),Q(490629);var V=Q(298757),l=Q(427510);var Z=((B=Z||{}).ABR_CHANGE="ABR_CHANGE_A",B.ABR_UPDATE_SPEC="ABR_UPDATE_SPEC",B.START_ABR="START_ABR",B.UPDATE_AUTO_DESC="UPDATE_AUTO_DESC",B.ABR_START_PROGRESS="ABR_START_PROGRESS",B.MAX_BUFFER_CHANGE="MAX_BUFFER_CHANGE",B.NEXT_SEGMENT_PREDICT="NEXT_SEGMENT_PREDICT",B.ABR_STAT="ABR_STAT",B.ABR_DEFINITION_REAL_CHANGE="ABR_DEFINITION_REAL_CHANGE",B.ABR_LIMIT_BITRATE="ABR_LIMIT_BITRATE",B),d="__auto__",J={PLAYBACK_BITRATE:"avg_play_bitrate",DOWNLOAD_BITRATE:"avg_download_bitrate",DOWNLOAD_NETWORK_SPEED:"avg_download_speed",PREDICT_NETWORK_SPEED:"avg_predict_speed",BUFFER_LENGTH:"avg_buffer_length",QOE:"avg_qoe"},W=function(U){function F(U,Q,B,l,Z){var d,W=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};(0,R.PA)(this,F),(d=(0,R.$w)(this,F,[Q,B,l,Z,W]))._bufferRange=new Map,d._sortedBufferRange=[],d._lastCheckResolutionStamp=0,d._currentDefinition=null,d._isSeeking=!1,d._waitingStartTime=0,d._stallCount=0,d._seekState=0,d._stallState=0,d._videoCurrentTime=0,d._hasStart=!1,d._isPaused=!1,d._hasAddFragment=!1,d._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},d._bitrateSet=[],d._generalInfo={},d._currentInAbr=!1,d._hasCalcTimelineLog=!1,d._abr_play_info={start_play_time_ms:0,is_hint:0,playback_info:{internet_speed_record:[],play_bitrate_record:[],buffer_length_record:[],play_speed_record:[],qoe_record:[],qoe_a_record:[],qoe_b_record:[],qoe_c_record:[]}},d._tickCount=0,d._fps=30,d.startTime=performance.now(),d._prevDefinitionItem=null,d._currentItem=null,d._switchCount=0,d._switchBitrate=0,d._avgStatItems={},d._qoeArgs=[0,0,0,0],d._abrUsed=-1,d._abrAlwaysOn=1,d._preloadInfo=null,d._hasLogStartInfo=!1,d._hasExecuteAbrAlgo=!1,d._lastExecuteTimeInMs=0,d._isSegmentDrive=!1,d._prevCurrentTime=-1,d._abrChangeTimeMap={},d._underFlowDecodeCount=0,d._onSegmentPredict=function(U){if(!!d.isCurrentInAbr){if(d._isSegmentDrive){var F=Math.floor(d.player.downloadSpeed);!U.isInitSegment&&"video"===U.mediaType&&d._loopAbr(F,U.start,U.fix?U.end:0,U)}}},d._onPlay=function(){d._hasStart=!0,d.logger("onplay")},d._onSeeking=function(){var U,F;d._isSeeking=!0,d.player.currentTime<d._videoCurrentTime?d._seekState=-1:d._seekState=1,null===(U=d.module)||void 0===U||null===(F=U._updateSeekInfo)||void 0===F||F.call(U,d._seekState),d.logger("seekState",d._seekState)},d._onSeekEnd=function(){d._isSeeking=!1,d.checkRestart()},d._onWaiting=function(){if(!d._isSeeking&&!(d._waitingStartTime>0)){for(var U=d.player.video.buffered,F=d.player.currentTime,Q=!0,B=0;B<U.length;B++){var R=U.start(B),V=U.end(B);if(R<=F&&F<V-(d.autoBitrateOpts.decodeUnderflowBuffer||1)&&d.player.readyState<HTMLVideoElement.HAVE_ENOUGH_DATA){d._underFlowDecodeCount++,Q=!1;break}}var l=d._underFlowDecodeCount>=(d.autoBitrateOpts.decodeUnderflowCount||1),Z=d._defaultMaxBitrate>0||d._underflowBitrate>0,J=1===d.autoBitrateOpts.decodeUnderflowMode&&d._isSegmentDrive;if(l&&(Z||J)){var W=!0;if(J){var S=d._maxBitrate;d._maxBitrate=d._minBitrate,W=d._maxBitrate!==S}d.player.emit("ABR_LIMIT_BITRATE",{removed:W}),d._underflowBitrate>0&&(d._maxBitrate=d._underflowBitrate)}d._waitingStartTime=new Date().getTime(),d._stallId=setTimeout(function(){var U,F;clearTimeout(d._stallId),d._stallCount++,d._stallState=1,null===(U=d.module)||void 0===U||null===(F=U.updateWaitingState)||void 0===F||F.call(U,Q)},200)}},d._onPlaying=function(){d._waitingStartTime=0,d._stallState=0,clearTimeout(d._stallId),d.checkRestart()},d._onTimeUpdate=function(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!d._sortedBufferRange||0===d._sortedBufferRange.length||!d._currentInAbr||!d.player)return;d._videoCurrentTime=d.player.currentTime;var Q=Date.now();if(!(Q-d._lastCheckResolutionStamp<1e3)||0===d._lastCheckResolutionStamp||!!F){d._lastCheckResolutionStamp=Q;for(var B=d.player.currentTime,R=0,V=d._sortedBufferRange.length-1,l=null;R<=V;){var Z=Math.floor(R+(V-R)/2),J=d._sortedBufferRange[Z];if(B<J.start)V=Z-1;else if(B>=J.end)R=Z+1;else{l=J;break}}if(l){var W,S=null===(W=d._bitrateToDefinitionConfig)||void 0===W?void 0:W.get(l.bandwidth),n=null==S?void 0:S.definition;if(d._currentDefinition===n&&!F||!n){!n&&d.logger("error definition, mpd配置与接口配置不一致");return}d._currentDefinition=n,d._prevDefinitionItem=d._currentItem,d._currentFps=S.fps,d._currentItem=S,d._emitAutoDescChange(n,!1,d._currentFps,S),d._prevDefinitionItem&&d._currentDefinition&&d._prevDefinitionItem.definition!==d._currentDefinition.definition&&d._emitDefinitionRealChange(l)}}},d._onCanPlay=function(){if(!!d._currentInAbr&&!!d._currentDefinition)d._updateId=setTimeout(function(){clearTimeout(d._updateId),d._emitAutoDescChange(d._currentDefinition,!1,d._currentFps,d._currentItem)},0)},d._onBufferRangeUpdate=function(U){if(void 0!==U.start){null===d._currentItem&&d._onTimeUpdate(null,!0);var F=U.start;d._hasAddFragment=!0,d._bufferRange.set(F,U);var Q=(0,R.u)(d._bufferRange.values());d._sortedBufferRange=Q.sort(function(U,F){return U.start-F.start}),d.avgStat(J.DOWNLOAD_BITRATE,U.bandwidth)}},d._onReplay=function(){d.checkRestart()},d._onEnded=function(){d.stop()},d._onError=function(){d.stop()},d.start=function(){if(d.logger("start"),d._isPaused=!1,!d._hasCalcTimelineLog){var U=1===Math.floor(100*Math.random());d._abr_play_info.is_hint=U?1:0}d._hasCalcTimelineLog=!0,d._loop()},d.stop=function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0];!0===U&&(d._abrAlwaysOn=-1),clearTimeout(d.timerId),d._isPaused=!0,d.logger("stop")},d.logger("constructor",Q,B,l,Z,d.bitrate),d.player=U,d.isOpenAutoDefi=!!d.autoBitrateOpts.isOpenAutoDefi,d._isSegmentDrive=1===d.autoBitrateOpts.abrDriveMode,d.onPlayRateChange=d._onPlayrateChange.bind(d),d._onWinSizeChange=(0,V.Ds)(d.onWinElemSizeChange.bind(d),1e3,!1),d._maxDefinition=d.autoBitrateOpts.maxDefinition||null,d._maxBitrate=-1,d.listeners=[{evt:"MAX_BUFFER_CHANGE",handler:d._onMaxBufferChange.bind(d)},{evt:"playbackrateChange",handler:d.onPlayRateChange},{evt:"replay",handler:d._onReplay},{evt:"ended",handler:d._onEnded},{evt:"error",handler:d._onError},{evt:"timeupdate",handler:d._onTimeUpdate},{evt:"addVideoBufferEnd",handler:d._onBufferRangeUpdate},{evt:"canplay",handler:d._onCanPlay},{evt:"play",handler:d._onPlay},{evt:"seeking",handler:d._onSeeking},{evt:"seeked",handler:d._onSeekEnd},{evt:"waiting",handler:d._onWaiting},{evt:"playing",handler:d._onPlaying},{evt:"video_resize",handler:d._onWinSizeChange},{evt:"NEXT_SEGMENT_PREDICT",handler:d._onSegmentPredict}],d.listeners.forEach(function(U){var F=U.evt,Q=U.handler;d.player.on(F,Q)}),d._abrMethod=d.autoBitrateOpts.method||0,d._loopInterval=d.initInterval,V.E8.install(),d._maxCacheTimeVideo=d.config.preloadTime||5,d._maxCacheTimeAudio=d._maxCacheTimeVideo;for(var n=Object.keys(J),E=0;E<n.length;E++){var m=J[n[E]];d._avgStatItems[m]=new S}return d}return(0,R.XW)(F,U),(0,R.qH)(F,[{key:"init",value:function(U){return this._mediaList=U,this.isOpenAutoDefi?this._onLoadWasm():this._wasmPromise.resolve(),this._wasmPromise}},{key:"execute",value:function(){return this.listenSize(),this.initFps(),this.onWinElemSizeChange(),this._execDecision()}},{key:"initFps",value:function(){this.fpsDetection=new V.E8,this.fpsDetection.start(),this._fps=this.fpsDetection.fps,this._hasDeviceInfoChanged=!0}},{key:"listenSize",value:function(){window.removeEventListener("resize",this._onWinSizeChange),window.addEventListener("resize",this._onWinSizeChange)}},{key:"onWinElemSizeChange",value:function(){var U,F,Q=(null===(U=this.player)||void 0===U?void 0:U.media)||(null===(F=this.player)||void 0===F?void 0:F.video);if(Q){var B=Q.getBoundingClientRect();this._videoWidth=Math.floor(B.width),this._videoHeight=Math.floor(B.height),this._hasDeviceInfoChanged=!0}}},{key:"execTimeUpdate",value:function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._onTimeUpdate(null,U)}},{key:"_onMaxBufferChange",value:function(U){var F=U.videoCacheTime,Q=U.audioCacheTime;this._maxCacheTimeAudio=Q,this._maxCacheTimeVideo=F}},{key:"_emitAutoDescChange",value:function(U,F,Q,B){var R;this.logger("[ABR],emitAutoDescChange, definition, ",U,",item,",B,",pre_item,",this._prevDefinitionItem),null===(R=this.player)||void 0===R||R.emit("UPDATE_AUTO_DESC",{definition:U,reset:F,fps:Q,item:B,pre_item:this._prevDefinitionItem})}},{key:"_emitDefinitionRealChange",value:function(U){var F,Q=0,B=U.start;this._abrChangeTimeMap[B]&&(this._abrChangeTimeMap[B]=0,delete this._abrChangeTimeMap[B],Q=1),null===(F=this.player)||void 0===F||F.emit("ABR_DEFINITION_REAL_CHANGE",{orgDefinition:this._prevDefinitionItem.definition,orgBitrate:this._prevDefinitionItem.bitrate||this._prevDefinitionItem.bandwidth,currentDefinition:this._currentItem.definition,currentBitrate:this._currentItem.bitrate||this._currentItem.bandwidth,abrChange:Q})}},{key:"_onPlayrateChange",value:function(){this.module&&this.updateBufferInfo()}},{key:"_execDecision",value:function(){if(!this.isOpenAutoDefi)return 0;var U=0;try{this.logger("exec decision"),this.updateSwitchInfo(),this.transformMediaInfo(),this.updateDeviceInfo();var F=!!this.autoBitrateOpts.isPlayAutoDefi;if(this.isOpenAutoDefi&&F){this._abrUsed=1;var Q=this._getDefaultSpeed(this.player);!this._isSegmentDrive&&(U=this._loopAbr(Q)),this.start(),this._changeLoopInterval(),this.logger("time start progress",new Date().getTime()),this.logger("time costTime",performance.now()-this.startTime)}}catch(U){this.logger("decision error",U),this.logger("time costTime err",performance.now()-this.startTime)}return U}},{key:"_changeLoopInterval",value:function(){var U=this;this.startTimer&&(clearTimeout(this.startTimer),this.startTimer=null),this.startTimer=setTimeout(function(){U._loopInterval=U.interval,U.startTimer&&clearTimeout(U.startTimer),U.logger("interval change")},5e3)}},{key:"_loop",value:function(){var U=this;if(!this._isPaused&&!this._isSegmentDrive)clearTimeout(this.timerId),this.timerId=setTimeout(function(){var F,Q=U.player,B=U.config;if(U._hasStart&&null!==(F=B.autoBitrateOpts)&&void 0!==F&&F.stillRunWhenPaused||!Q.paused||!Q.config.autoplay&&!U._hasStart){var R=U._hasAddFragment?void 0:U._getDefaultSpeed(Q);U._loopAbr(R)}U._loop()},this._loopInterval)}},{key:"checkRestart",value:function(){var U;null!==(U=this.config.autoBitrateOpts)&&void 0!==U&&U.autoRestartAbr&&this._currentInAbr&&this._isPaused&&this.start()}},{key:"updateDeviceInfo",value:function(){try{if(this.fpsDetection){var U=this.fpsDetection.fps;U!==this._fps&&(this._fps=U,this._hasDeviceInfoChanged=!0)}this._updateDeviceInfo(this._fps)}catch(U){}}},{key:"updateBufferInfo",value:function(U){var F,Q,B=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,R=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,V=this.player.playbackRate,l=this.bufferLength;R>0&&this.player&&(l=R-this.player.video.currentTime);var Z=U||Math.floor(this.player.downloadSpeed);this._tickCount<5&&0===Z&&(Z=this._getDefaultSpeed(this.player),this.logger("initSpeed fix"));var d=-1===this._maxBitrate?this._defaultMaxBitrate:this._maxBitrate;return this.logger("downloadSpeed:",Z,"buffer:",l,"maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState,"segmentBufferStart",B,"segmentBufferEnd",R),null===(F=this.module)||void 0===F||F._updateBufferInfo(V,this._maxCacheTimeAudio,this._maxCacheTimeVideo,l,this._isSegmentDrive?R:l,Z,this._seekState,null===(Q=this.player)||void 0===Q?void 0:Q.currentTime,this._stallState,d),this._seekState=0,this._eventInfo={internet_speed:Z,buffer_length:l,last_bitrate:this.bitrate,play_speed:V},this.logger("playRate:",V,"buff:",l,"downloadSpeed:",Z),{buffer:l,downloadSpeed:Z}}},{key:"updateSwitchInfo",value:function(){var U,F,Q=new Date().getTime();this._openTimeMs=Q,this._abr_play_info.start_play_time_ms=Q;var B=(null===(U=this.player)||void 0===U?void 0:U.config.preloadTime)||50,R=(0,l.C)(Q),V=this.autoBitrateOpts.noStallCheckTime||5,Z=this.openLog;this.logger("openTime:",Q,"this.logger",Z),null===(F=this.module)||void 0===F||F._updateSwitchInfo(R.low,R.high,V,Z,this.stall_penalty,this.switch_penalty);var d=this._mediaList.video,J=d.map(function(U){var F=U.bandwidth,Q=U.bitrate;return F||Q});this._bitrateSet=J.map(function(U,F){return{bitrate:U,codecs:d[F].codecs||d[F].codec_type||""}}),this._generalInfo={max_cache_time:B,bitrate_set:this._bitrateSet,segment_duration:this.segment_duration,preload_info:{},startup_info:{}}}},{key:"updatePreloadCacheInfo",value:function(U){try{this._preloadInfo=U,this.logger("update preloadInfo",U),U&&U.item_num!==U.items.length&&(this.logger("preloadInfo invalid"),this._preloadInfo=null)}catch(U){this.logger("updatePreloadCacheInfo",U),this._preloadInfo=null}}},{key:"updatePreloadLogInfo",value:function(U){this._generalInfo.preload_info=U||{}}},{key:"_loopAbr",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._tickCount++;var V=-1,l=[];if(!this.module||!this.player)return this.bitrate;try{var Z=new Date().getTime(),d=this.player;this.updateDeviceInfo();var J=this.updateBufferInfo(U,F,Q),W=J.downloadSpeed,S=J.buffer;if(this.module.updateDropFrame&&d.video.getVideoPlaybackQuality){var n,E,m=d.video.getVideoPlaybackQuality(),N=m.droppedVideoFrames,k=m.totalVideoFrames;null===(E=this.module)||void 0===E||E.updateDropFrame(N/k)}V=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var c=0;c<7;c++)l.push(this.module.HEAP32[V/Int32Array.BYTES_PER_ELEMENT+c]);var b=l[0],h=1===l[1];this._eventInfo.now_bitrate=b,this._eventInfo.local_time_ms=new Date().getTime();var X=0;if(b!==this.bitrate&&0!==b||this.autoBitrateOpts.reportVerboseAbrLog){var a=this.player.currentTime;if(this.module.getStat){var p=this.module.getStat();d.emit("ABR_STAT",(0,R.Zj)((0,R.Zj)({v_time:a,diff_current_position:-1===this._prevCurrentTime?0:a-this._prevCurrentTime,net_speed:8*W,costTime:new Date().getTime()-Z,download_time:null==B?void 0:B.costTime},p),{},{gop_size:null==B?void 0:B.gopSize,audio_buffer:null==B?void 0:B.audioBuffer})),this._abrChangeTimeMap[p.download_position]=1}this._prevCurrentTime=a}if(b!==this.bitrate&&0!==b){var C=this.bitrate;X=Math.abs(C-b);for(var T=[],G=(d.media||d.video).buffered,i=0;i<G.length;i++)T.push({start:G.start(i),end:G.end(i)});var y=this._videoWidth||Number(this.config.width),t=this._videoHeight||Number(this.config.height),Y=new Date().getTime(),L={speed:"".concat(W," KB/s"),buffer_length:"".concat(S," s"),video_pos:d.currentTime,all_buffers:T,seek_state:this._seekState,stall_state:this._stallState,screen_width:y,screen_height:t,dpr:window&&window.devicePixelRatio,playbackRate:d.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?Y-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=Y,this._hasExecuteAbrAlgo=!0,this.logger("abr predicate: ".concat(b,", prevBitrate: ").concat(C,","),"willStall: ".concat(h,", switchBitrate: ").concat(X)),this.updateBitrate(b),d.emit("ABR_CHANGE_A",C,b,h,JSON.stringify(L))}!this._hasLogStartInfo&&(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:b,download_speed:W,screen_width:this._videoWidth||Number(this.config.width),screen_height:this._videoHeight||Number(this.config.height),device_pixel_ratio:window&&window.devicePixelRatio,screen_fps:this._fps,startup_method:this._abrMethod}),null===(n=this.player)||void 0===n||n.emit("ABR_LOOP"),this.onAbrLoop(W,l[2],X,l.slice(3))}catch(U){this.logger("abr error",U)}finally{V>-1&&this.module._free(V)}return this.bitrate}},{key:"destroy",value:function(){var U,F=this;this.stop(),this.listeners.forEach(function(U){var Q,B=U.evt,R=U.handler;null===(Q=F.player)||void 0===Q||Q.off(B,R)}),this._maxBitrate=-1,this.player=null,this._heightToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bufferRange.clear(),this._sortedBufferRange=[],this.module=null,clearTimeout(this._stallId),clearTimeout(this._updateId),this.startTimer&&clearTimeout(this.startTimer),window.removeEventListener("resize",this._onWinSizeChange),null===(U=this.fpsDetection)||void 0===U||U.stop()}},{key:"eventInfo",get:function(){return this._eventInfo}},{key:"generalInfo",get:function(){return this._generalInfo}},{key:"bufferLength",get:function(){var U,F,Q=(null===(U=this.player)||void 0===U?void 0:U.getBufferedRange())||[],B=((null===(F=this.player)||void 0===F?void 0:F.video)||{currentTime:0}).currentTime;return parseFloat(Math.max(0,Q[1]-Math.max(Q[0],B)).toFixed(2))}},{key:"downloadSpeed",get:function(){return Math.floor(this.player.downloadSpeed)}},{key:"nowBitrate",get:function(){return this.bitrate}},{key:"openTimeMs",get:function(){return this._openTimeMs}},{key:"isCurrentInAbr",get:function(){return this._currentInAbr},set:function(U){this._currentInAbr=U}},{key:"isCurrentHDR",get:function(){return this._isCurrentHDR},set:function(U){this._isCurrentHDR=U}},{key:"onAbrLoop",value:function(U){var F,Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,R=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(this._qoeArgs=R,this._currentItem&&this.avgStat(J.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(J.DOWNLOAD_NETWORK_SPEED,8e3*U),this.avgStat(J.PREDICT_NETWORK_SPEED,Q),this.avgStat(J.BUFFER_LENGTH,this.bufferLength),this.avgStat(J.QOE,this.getQoeRelValue(0)),B>0&&(this._switchCount++,this._switchBitrate+=B),!!this._abr_play_info.is_hint){var V=(new Date().getTime()-this.openTimeMs)/1e3;V=parseFloat(V.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([V,this.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([V,this.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([V,this.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([V,(null===(F=this.player)||void 0===F?void 0:F.playbackRate)||-1]),this._abr_play_info.playback_info.qoe_record.push([V,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([V,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([V,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([V,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(U){return this._qoeArgs[U]/100}},{key:"avgStat",value:function(U,F){var Q=this._avgStatItems[U];Q&&Q.add(F)}},{key:"getAbrPlayInfo",value:function(){return this._abr_play_info}},{key:"updateAbrMethod",value:function(U){this._abrMethod=U}},{key:"getAbrMethod",value:function(){return this._abrMethod}},{key:"updateSegmentDuration",value:function(U){var F;this.segment_duration=U,null!==(F=this.module)&&void 0!==F&&F.updateSegmentDuration&&this.module.updateSegmentDuration(U)}},{key:"getAbrVVStats",value:function(){for(var U={},F=Object.keys(J),Q=0;Q<F.length;Q++){var B=J[F[Q]],R=this._avgStatItems[B];U[B]=R.avg()}return U.switch_counts=this._switchCount,U.avg_switch_bitrate=0===this._switchCount?0:this._switchBitrate/this._switchCount,U.abr_qoe=this.getQoeRelValue(0),U.abr_qoe_a=this.getQoeRelValue(1),U.abr_qoe_b=this.getQoeRelValue(2),U.abr_qoe_c=this.getQoeRelValue(3),U.abr_method=this._abrMethod,U.abr_used=this._abrUsed,U.abr_always_on=this._abrAlwaysOn,this.logger("abrVVStats",U),U}}])}(l.Z),S=(0,R.qH)(function U(){(0,R.PA)(this,U),this.total=0,this.count=0},[{key:"add",value:function(U){this.total+=U,this.count++}},{key:"avg",value:function(){return 0===this.count?0:Math.floor(this.total/this.count)}}])},317153:function(U,F,Q){Q.d(F,{J:function(){return R}});var B,R=((B=R||{}).CHANGE_FLYING_PLUGIN_CONFIG="CHANGE_FLYING_PLUGIN_CONFIG",B)},423013:function(U,F,Q){Q.d(F,{L:function(){return J},w:function(){return d}});var B,R,V=Q(730210);Q(941533),Q(451236),Q(9498),Q(503e3),Q(248385),Q(663030);var l=Q(734123),Z=Q.n(l),d=function(U){function F(){var U;return(0,V.PA)(this,F),U=(0,V.$w)(this,F,arguments),U._ploys=[],U._curInstContext=null,U}return(0,V.XW)(F,U),(0,V.qH)(F,[{key:"_findIndexFromPloys",value:function(U){for(var F=-1,Q=this._ploys,B=0;B<Q.length;B++)if(Q[B]===U){F=B;break}return F}},{key:"_checkStrategy",value:function(U){return!(!(null!=U&&U.start)||!U.stop||this._findIndexFromPloys(U)>-1)&&!0}},{key:"registerStrategy",value:function(U){var F=this;if(!!U)!Array.isArray(U)&&(U=[U]),U.forEach(function(U){var Q=U.Strategy,B=U.config;if(!!B)try{var R=new Q(B,F);F._checkStrategy(R)&&(R.start(),F._ploys.push(R))}catch(U){}})}},{key:"unregisterStrategy",value:function(U){if(U){U.stop();var F=this._findIndexFromPloys(U);F>-1&&this._ploys.splice(F,1)}else this._ploys.forEach(function(U){U.stop()}),this._ploys.splice(0,this._ploys.length)}},{key:"findStrategy",value:function(U){return this._ploys.find(function(F){return F.constructor.STRATEGY_NAME===U})}},{key:"updateStrategyConfig",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!!U&&!!F)this._ploys.forEach(function(B){B instanceof U&&B.updateConfig(F,Q)})}},{key:"setActive",value:function(U,Q,B){var R=(0,V.Vx)(F,"setActive",this,3)([U,Q]);return Q&&B&&this.setVideoListContext(B),this.emit("UPDATE_INST_ORDER"),R}},{key:"setNext",value:function(U){var Q=(0,V.Vx)(F,"setNext",this,3)([U]);return this.emit("UPDATE_INST_ORDER"),Q}},{key:"getVideoListContext",value:function(){return this._curInstContext}},{key:"setVideoListContext",value:function(U){if(!U)return;var F,Q=(null===(F=U.allVideos)||void 0===F?void 0:F.slice(0))||[],B=[],R=[],V=Q.findIndex(function(U){return U.isActive});if(-1!==V){for(var l=Q[V],Z=0;Z<U.allVideos.length;Z++)Z<V?B.push(U.allVideos[Z]):Z>V&&R.push(U.allVideos[Z]);this._curInstContext={current:l,prevVideos:B,nextVideos:R,allVideos:Q},this.emit("VIDEO_LIST_CONTEXT_CHANGED")}}}],[{key:"getInstance",value:function(){return R||(R=new F),R}}])}(l.InstManager||Object.prototype.constructor);Z().instManager=d.getInstance();var J=((B=J||{}).UPDATE_INST_ORDER="UPDATE_INST_ORDER",B.VIDEO_LIST_CONTEXT_CHANGED="VIDEO_LIST_CONTEXT_CHANGED",B)},929352:function(U,F,Q){Q.d(F,{Z:function(){return B}});function B(U,F,Q){var B;return function(){for(var R=this,V=arguments.length,l=Array(V),Z=0;Z<V;Z++)l[Z]=arguments[Z];var d=Q&&!B;clearTimeout(B),B=setTimeout(function(){B=null,!Q&&U.apply(R,l)},F),d&&U.apply(R,l)}}}}]); |