/*! For license information please see main.8cc5cabf.js.LICENSE.txt */ (()=>{"use strict";var e,t,r,n={9367:(e,t,r)=>{var n=r(6540),i=r(5338),o=r(4976),a=r(7767),l=r(1083);const s=function(e){return new Promise((function(t,r){(e=e||{}).context=e.context||null,e.responseType=e.responseType||"application/json";var n;n=e.url?e.url:"localhost"==window.location.hostname?"https://srsrfl-staging.com/":"/";var i=e.headers||{};(0,l.A)({method:e.method.toLowerCase(),url:"".concat(n).concat(e.endpoint),responseType:e.responseType,headers:i,params:e.params,data:e.data}).then(t).catch(r)}))};var c=r(7951),u=r(4155),f=r(8239),p=r(8161),h=r(4073),d=r(3357);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function y(e,t){for(var r=0;r=0;--o){var a=this.tryEntries[o],l=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function W(e,t,r,n,i,o,a){try{var l=e[o](a),s=l.value}catch(e){return void r(e)}l.done?t(s):Promise.resolve(s).then(n,i)}function N(e,t){if(e){if("string"==typeof e)return D(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?D(e,t):void 0}}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0&&(t.fields.prescriptions=[{prescription_0:{title:"Prescription Number",type:{typename:"text"},required:!0,error:!0,onChange:function(t,r){var n=q({},e.state);/^\d{5,10}$/.test(t)?(n.fields.prescriptions[r]["prescription_".concat(r)].error=!1,n.fields.prescriptions[r]["prescription_".concat(r)].feedback=""):(n.fields.prescriptions[r]["prescription_".concat(r)].error=!0,n.fields.prescriptions[r]["prescription_".concat(r)].feedback="Invalid Prescription Number Format"),n.fields.prescriptions[r]["prescription_".concat(r)].value=t,e.setState(n)},fullwidth:!0,feedback:"",value:""}}],t.btn_count=0),this.setState(t)}},{key:"getStoreNumber",value:function(){return"localhost"==window.location.hostname?window.location.hash.substring(16):window.location.pathname.substring(15)}},{key:"entity",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw o}}}}(a);try{for(s.s();!(n=s.n()).done;){var c=n.value;c?"string"==typeof c?l.appendChild(i.createTextNode(c)):l.appendChild(c):l.appendChild(i.createTextNode(""))}}catch(e){s.e(e)}finally{s.f()}return l}},{key:"constructXMLDocument",value:function(){for(var e=this,t=document.implementation.createDocument("http://www.srspharmacy.com/XML/PatientRefillRequest","PatientRefillRequest",null),r=t.documentElement,n=[],i=0;i<=this.state.btn_count;i++)this.state.fields.prescriptions[i]["prescription_".concat(i)].value&&n.push(this.state.fields.prescriptions[i]["prescription_".concat(i)].value);if(r.appendChild(this.entity(t,"To",this.getStoreNumber())),r.appendChild(this.entity(t,"From","srsweb")),r.appendChild(this.entity(t,"SentTime",(new Date).toISOString())),this.state.fields.pickup.value&&"-- Select One --"!==this.state.fields.pickup.value){var o=(new Date).getTime()+864e5,a=new Date(o).toISOString().split("T")[0],l="";"Tomorrow Morning"==this.state.fields.pickup.value?l="9":"Tomorrow Afternoon"==this.state.fields.pickup.value&&(l="12");var s="";l&&(s="".concat(a,"T").concat(l,":00:00")),r.appendChild(this.entity(t,"PickupTime",s))}r.appendChild(this.entity(t,"MessageID",(new Date).getTime().toString()));var c,u=n.map((function(r){return e.entity(t,"RxNumber",r)}));return r.appendChild(this.entity.apply(this,[t,"RxNumbers"].concat(function(e){if(Array.isArray(e))return D(e)}(c=u)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||N(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))),r.appendChild(this.entity(t,"Contact",this.entity(t,"LastName",this.state.fields.last_name.value),this.entity(t,"FirstName",this.state.fields.first_name.value),this.entity(t,"Phone",this.state.fields.phone_number.value),this.entity(t,"Email",this.state.fields.email.value),this.entity(t,"Fax",this.state.fields.fax_number.value))),"Yes"==this.state.fields.delivery.value?r.appendChild(this.entity(t,"PickupMethod","D")):r.appendChild(this.entity(t,"PickupMethod","P")),r.appendChild(this.entity(t,"Comment",this.state.fields.comments.value)),t}},{key:"addRXNumber",value:function(){var e=this,t=q({},this.state);t.btn_count++;var r={};r["prescription_".concat(t.btn_count)]={title:"",type:{typename:"text"},required:!1,error:!1,onChange:function(t,r){var n=q({},e.state);/^\d{5,10}$/.test(t)?(n.fields.prescriptions[r]["prescription_".concat(r)].error=!1,n.fields.prescriptions[r]["prescription_".concat(r)].feedback=""):(n.fields.prescriptions[r]["prescription_".concat(r)].error=!0,n.fields.prescriptions[r]["prescription_".concat(r)].feedback="Invalid Prescription Number Format"),n.fields.prescriptions[r]["prescription_".concat(r)].value=t,e.setState(n)},fullwidth:!0,feedback:"",value:""},t.fields.prescriptions.push(r),this.setState(t)}},{key:"prescriptionData",value:function(){for(var e=[],t=this.state.fields.prescriptions,r=0;r'+(new XMLSerializer).serializeToString(this.constructXMLDocument());s({method:"post",endpoint:"submit",headers:{"Content-Type":"application/json"},data:t}).then((function(t){e.changeView("SuccessSubmit")})).catch((function(t){console.log(t),e.setState({errors:P(t),loaded:!0})}))}},{key:"render",value:function(){var e=this,t=n.createElement(A,null);if(this.state.loaded)if(this.state.errors){var r="";"Invalid data format"==this.state.errors||"Unexpected value provide"==this.state.errors?r="Missing or invalid store tag in request":"Not enough parameters supplied in request"==this.state.errors||"Unexpected/Missing query string supplied"==this.state.errors?r="Missing store tag or Rx number in query string":"Invalid data supplied in the request"==this.state.errors&&(r="Invalid hash given in the query string");var i={message:r||this.state.errors};this.state.store_name&&(i.returnTo=function(){return e.setState({errors:null})}),t=O(i)}else switch(this.state.view){case"WebRefill":t=n.createElement(c.A,{maxWidth:"lg"},n.createElement(u.A,{variant:"outlined"},n.createElement("form",{id:"refill-request"},n.createElement(f.Ay,{container:!0,spacing:1,sx:{padding:"20px"}},n.createElement(f.Ay,{item:!0,xs:12},n.createElement(h.A,{variant:"h4"},"Web Refill Form"),n.createElement("hr",null)),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(f.Ay,{container:!0,spacing:2},n.createElement(f.Ay,{item:!0,xs:12},n.createElement(C.A,{fullWidth:!0,error:this.state.fields.first_name.error,required:this.state.fields.first_name.required,size:"small",type:"text",label:this.state.fields.first_name.title,helperText:this.state&&this.state.fields.first_name.error?this.state.fields.first_name.feedback:"",value:this.state.fields.first_name.value,onChange:function(t){var r=t.target.value;e.state.fields.first_name.onChange(r)}})),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(C.A,{fullWidth:!0,error:this.state.fields.last_name.error,required:this.state.fields.last_name.required,size:"small",type:"text",label:this.state.fields.last_name.title,helperText:this.state&&this.state.fields.last_name.error?this.state.fields.last_name.feedback:"",value:this.state.fields.last_name.value,onChange:function(t){var r=t.target.value;e.state.fields.last_name.onChange(r)}})),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(C.A,{fullWidth:!0,error:this.state.fields.phone_number.error,required:this.state.fields.phone_number.required,size:"small",type:"text",label:this.state.fields.phone_number.title,helperText:this.state&&this.state.fields.phone_number.error?this.state.fields.phone_number.feedback:"",value:this.state.fields.phone_number.value,onChange:function(t){var r=t.target.value;e.state.fields.phone_number.onChange(r)}})),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(C.A,{fullWidth:!0,error:this.state.fields.email.error,required:this.state.fields.email.required,size:"small",type:"text",label:this.state.fields.email.title,helperText:this.state&&this.state.fields.email.error?this.state.fields.email.feedback:"",value:this.state.fields.email.value,onChange:function(t){var r=t.target.value;e.state.fields.email.onChange(r)}})),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(C.A,{fullWidth:!0,error:this.state.fields.fax_number.error,required:this.state.fields.fax_number.required,size:"small",type:"text",label:this.state.fields.fax_number.title,helperText:this.state&&this.state.fields.fax_number.error?this.state.fields.fax_number.feedback:"",value:this.state.fields.fax_number.value,onChange:function(t){var r=t.target.value;e.state.fields.fax_number.onChange(r)}})),this.state.fields.prescriptions.map((function(t,r){return n.createElement(f.Ay,{item:!0,xs:12,key:r},n.createElement(C.A,{fullWidth:!0,error:t["prescription_".concat(r)].error,required:t["prescription_".concat(r)].required,size:"small",type:"text",label:0==r?t["prescription_".concat(r)].title:"",helperText:e.state&&t["prescription_".concat(r)].error?t["prescription_".concat(r)].feedback:"",value:t["prescription_".concat(r)].value,onChange:function(e){var n=e.target.value;t["prescription_".concat(r)].onChange(n,r)}}))})),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(x.A,{fullWidth:!0,variant:"contained",color:"primary",onClick:function(t){t.stopPropagation(),t.preventDefault(),e.state.fields.prescriptions.length<=9&&e.addRXNumber()}},"Add")),10==this.state.web_version||13==this.state.web_version||15==this.state.web_version?n.createElement(f.Ay,{item:!0,xs:12},n.createElement(j.A,{fullWidth:!0},n.createElement(S.A,null,this.state.fields.delivery.title),n.createElement(T.A,{labelId:"delivery-select-label",value:this.state.fields.delivery.value,label:this.state.fields.delivery.title,size:"small",onChange:function(t){t.preventDefault(),t.stopPropagation(),e.state.fields.delivery.onChange(t.target.value)}},this.state.fields.delivery.type.options.map((function(e,t){return n.createElement(L.A,{key:"".concat(e.value,"-").concat(t),value:e.value},e.value)}))))):n.createElement("div",null),10==this.state.web_version||13==this.state.web_version||15==this.state.web_version?n.createElement(f.Ay,{item:!0,xs:12},n.createElement(j.A,{fullWidth:!0},n.createElement(S.A,null,this.state.fields.pickup.title),n.createElement(T.A,{labelId:"pickup-select-label",id:"pickup-select",error:this.state.fields.pickup.error,required:this.state.fields.pickup.required,value:this.state.fields.pickup.value,label:this.state.fields.pickup.title,size:"small",onChange:function(t){t.preventDefault(),t.stopPropagation(),e.state.fields.pickup.onChange(t.target.value)}},this.state.fields.pickup.type.options.map((function(e,t){return n.createElement(L.A,{key:"".concat(e.value,"-").concat(t),value:e.value},e.value)}))))):n.createElement("div",null),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(C.A,{fullWidth:!0,multiline:!0,error:this.state.fields.comments.error,required:this.state.fields.comments.required,size:"small",label:this.state.fields.comments.title,helperText:this.state&&this.state.fields.comments.error?this.state.fields.comments.feedback:"",value:this.state.fields.comments.value,onChange:function(t){var r=t.target.value;e.state.fields.comments.onChange(r)}})),n.createElement(f.Ay,{item:!0,xs:12,sx:{paddingTop:"5px",bgcolor:"rgba(0,0,0,.05"}},n.createElement(f.Ay,{container:!0,spacing:2},n.createElement(f.Ay,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-start"}},n.createElement(x.A,{className:"save",variant:"contained",color:"primary",onClick:function(t){t.stopPropagation(),t.preventDefault();var r=e.state.fields,n=!0,i=q({},e.state);for(var o in r)r[o].error||Array.isArray(r[o])&&!r[o][0].prescription_0.value?n=!1:[10,13,15].includes(e.state.web_version)&&"pickup"==o&&"-- Select One --"==r[o].value&&(n=!1,i.fields.pickup.error=!0,e.setState(i));n&&e.requestRefill()}},"Save")),n.createElement(f.Ay,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-end"}},n.createElement(x.A,{className:"reset",variant:"contained",color:"error",onClick:function(t){t.stopPropagation(),t.preventDefault(),e.clearFields()}},"Reset")),n.createElement(f.Ay,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-end"}})))))))));break;case"SuccessSubmit":t=n.createElement(c.A,{maxWidth:"lg"},n.createElement(u.A,{variant:"outlined"},n.createElement(f.Ay,{container:!0,spacing:2},n.createElement(f.Ay,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-start"}},n.createElement(h.A,{variant:"h6",sx:{padding:"5px"}},"Fill submitted successfully!")),n.createElement(f.Ay,{item:!0,xs:12,sx:{display:"flex",justifyContent:"center"}},n.createElement("table",null,n.createElement("tbody",null,n.createElement("tr",null,n.createElement("th",null,"Patient:"),n.createElement("td",null,this.state.fields.first_name.value+" "+this.state.fields.last_name.value)),n.createElement("tr",null,n.createElement("th",null,"Phone Number:"),n.createElement("td",null,this.state.fields.phone_number.value)),this.state.fields.email.value?n.createElement("tr",null,n.createElement("th",null,"Email:"),n.createElement("td",null,this.state.fields.email.value)):"",this.state.fields.fax_number.value?n.createElement("tr",null,n.createElement("th",null,"Fax Number:"),n.createElement("td",null,this.state.fields.fax_number.value)):"",n.createElement("tr",null,n.createElement("th",null,"Prescriptions:"),this.prescriptionData()),10==this.state.web_version||13==this.state.web_version||15==this.state.web_version?n.createElement("tr",null,n.createElement("th",null,"Delivery:"),n.createElement("td",null,this.state.fields.delivery.value)):"",10==this.state.web_version||13==this.state.web_version||15==this.state.web_version?n.createElement("tr",null,n.createElement("th",null,"Pickup:"),n.createElement("td",null,this.state.fields.pickup.value)):"",this.state.fields.comments.value?n.createElement("tr",null,n.createElement("th",null,"Comments:"),n.createElement("td",null,this.state.fields.comments.value)):""))),n.createElement(f.Ay,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-start"}},n.createElement(h.A,{sx:{padding:"5px"}},"Would you like to submit another fill?")),n.createElement(f.Ay,{item:!0,xs:12},n.createElement(f.Ay,{container:!0,spacing:2},n.createElement(f.Ay,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-start"}},n.createElement(x.A,{sx:{margin:"5px"},type:"button",variant:"contained",color:"primary",onClick:function(t){t.preventDefault(),t.stopPropagation(),e.clearFields(),e.changeView("WebRefill")}},"Yes")))))))}else t=n.createElement(A,null);return n.createElement("div",null,n.createElement(M.A,{position:"static",sx:{backgroundColor:"light"===this.props.themeMode?"#F5F5F5":"#E0E0E0",color:"black"}},n.createElement(F.A,{sx:{paddingBottom:"0.5 rem"}},this.state.logo?n.createElement("img",{src:this.state.logo,alt:this.state.store_name,style:{margin:"5px",borderRadius:"5px",height:"5rem"}}):n.createElement(h.A,null,this.state.store_name))),t)}}],r&&G(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),l}(n.Component);V(Y,"propTypes",{themeMode:E().string.isRequired});const _=Y;var K=r(3478),Z=r(2363),J=r(4519);function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function $(){$=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",l=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),l=new T(n||[]);return i(a,"_invoke",{value:P(e,r,l)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var p="suspendedStart",h="suspendedYield",d="executing",m="completed",y={};function v(){}function g(){}function b(){}var A={};c(A,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(L([])));E&&E!==r&&n.call(E,a)&&(A=E);var x=b.prototype=v.prototype=Object.create(A);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function r(i,o,a,l){var s=f(e[i],e,o);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==H(u)&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){r("next",e,a,l)}),(function(e){r("throw",e,a,l)})):t.resolve(u).then((function(e){c.value=e,a(c)}),(function(e){return r("throw",e,a,l)}))}l(s.arg)}var o;i(this,"_invoke",{value:function(e,n){function i(){return new t((function(t,i){r(e,n,t,i)}))}return o=o?o.then(i,i):i()}})}function P(t,r,n){var i=p;return function(o,a){if(i===d)throw new Error("Generator is already running");if(i===m){if("throw"===o)throw a;return{value:e,done:!0}}for(n.method=o,n.arg=a;;){var l=n.delegate;if(l){var s=C(l,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===p)throw i=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=d;var c=f(t,r,n);if("normal"===c.type){if(i=n.done?m:h,c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(i=m,n.method="throw",n.arg=c.arg)}}}function C(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var o=f(i,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function L(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function r(){for(;++i=0;--o){var a=this.tryEntries[o],l=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function ee(e,t,r,n,i,o,a){try{var l=e[o](a),s=l.value}catch(e){return void r(e)}l.done?t(s):Promise.resolve(s).then(n,i)}function te(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){ee(o,n,i,a,l,"next",e)}function l(e){ee(o,n,i,a,l,"throw",e)}a(void 0)}))}}function re(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:null;e||(e=window.matchMedia("(prefers-color-scheme: dark)"));var t=e.matches?"dark":"light";this.setState({theme:t})}},{key:"render",value:function(){return this.state.loaded?n.createElement(Z.A,{theme:"dark"===this.state.theme?this.themeDark:this.themeLight},n.createElement(J.Ay,null),n.createElement("div",null,n.createElement(o.I9,null,n.createElement(a.BV,null,n.createElement(a.qh,{path:"/",element:n.createElement(_,{themeMode:this.state.theme})}),n.createElement(a.qh,{path:"webrefillform/",element:n.createElement(_,{themeMode:this.state.theme})}),n.createElement(a.qh,{path:"webrefillform/:tag",element:n.createElement(_,{themeMode:this.state.theme})}))))):n.createElement(A,null)}}],r&&re(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),f}(n.Component);i.createRoot(document.getElementById("container")).render(n.createElement(n.StrictMode,null,n.createElement(fe,null)))}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,o),r.exports}o.m=n,e=[],o.O=(t,r,n,i)=>{if(!r){var a=1/0;for(u=0;u=i)&&Object.keys(o.O).every((e=>o.O[e](r[s])))?r.splice(s--,1):(l=!1,i0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[r,n,i]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var i=Object.create(null);o.r(i);var a={};t=t||[null,r({}),r([]),r(r)];for(var l=2&n&&e;"object"==typeof l&&!~t.indexOf(l);l=r(l))Object.getOwnPropertyNames(l).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,o.d(i,a),i},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={792:0};o.O.j=t=>0===e[t];var t=(t,r)=>{var n,i,[a,l,s]=r,c=0;if(a.some((t=>0!==e[t]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);if(s)var u=s(o)}for(t&&t(r);co(9367)));a=o.O(a)})(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQWtCLENBQ3JCLElBQUssR0FhTnpCLEVBQW9CTyxFQUFFTSxFQUFLYSxHQUEwQyxJQUE3QkQsRUFBZ0JDLEdBR3hELElBQUlDLEVBQXVCLENBQUNDLEVBQTRCaGIsS0FDdkQsSUFHSXFaLEVBQVV5QixHQUhUbEIsRUFBVXFCLEVBQWFDLEdBQVdsYixFQUdoQm1FLEVBQUksRUFDM0IsR0FBR3lWLEVBQVN1QixNQUFNMUcsR0FBZ0MsSUFBeEJvRyxFQUFnQnBHLEtBQWEsQ0FDdEQsSUFBSTRFLEtBQVk0QixFQUNaN0IsRUFBb0JuVixFQUFFZ1gsRUFBYTVCLEtBQ3JDRCxFQUFvQk0sRUFBRUwsR0FBWTRCLEVBQVk1QixJQUdoRCxHQUFHNkIsRUFBUyxJQUFJdE8sRUFBU3NPLEVBQVE5QixFQUNsQyxDQUVBLElBREc0QixHQUE0QkEsRUFBMkJoYixHQUNyRG1FLEVBQUl5VixFQUFTblcsT0FBUVUsSUFDekIyVyxFQUFVbEIsRUFBU3pWLEdBQ2hCaVYsRUFBb0JuVixFQUFFNFcsRUFBaUJDLElBQVlELEVBQWdCQyxJQUNyRUQsRUFBZ0JDLEdBQVMsS0FFMUJELEVBQWdCQyxHQUFXLEVBRTVCLE9BQU8xQixFQUFvQk8sRUFBRS9NLEVBQU8sRUFHakN3TyxFQUFxQjdQLEtBQStCLHlCQUFJQSxLQUErQiwwQkFBSyxHQUNoRzZQLEVBQW1CL1UsUUFBUTBVLEVBQXFCMVAsS0FBSyxLQUFNLElBQzNEK1AsRUFBbUJ2VCxLQUFPa1QsRUFBcUIxUCxLQUFLLEtBQU0rUCxFQUFtQnZULEtBQUt3RCxLQUFLK1AsUUM3Q3ZGLElBQUlDLEVBQXNCakMsRUFBb0JPLE9BQUV6SixFQUFXLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksTUFBTSxJQUFPa0osRUFBb0IsUUFDaklpQyxFQUFzQmpDLEVBQW9CTyxFQUFFMEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3Qvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3Qvd2VicGFjay9ydW50aW1lL2NyZWF0ZSBmYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vc3JzcmZsLXJlYWN0Ly4uLy4uL2xpYi9hcGlDYWxsLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uLi8uLi9saWIvbG9hZGluZy5qcyIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi4vLi4vbGliL2Vycm9yLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uLi8uLi9pbWcvTG9hZGluZ0NhcHN1bGUucG5nIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uLi8uLi9saWIvZ2V0RXJyb3JNZXNzYWdlLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL3NyYy9wYWdlcy9Ib21lLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL3NyYy9BcHAuanMiLCJ3ZWJwYWNrOi8vc3JzcmZsLXJlYWN0Ly4vc3JjL2luZGV4LmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3Qvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vc3JzcmZsLXJlYWN0L3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3Qvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3Qvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3Qvd2VicGFjay9ydW50aW1lL2pzb25wIGNodW5rIGxvYWRpbmciLCJ3ZWJwYWNrOi8vc3JzcmZsLXJlYWN0L3dlYnBhY2svc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGVmZXJyZWQgPSBbXTtcbl9fd2VicGFja19yZXF1aXJlX18uTyA9IChyZXN1bHQsIGNodW5rSWRzLCBmbiwgcHJpb3JpdHkpID0+IHtcblx0aWYoY2h1bmtJZHMpIHtcblx0XHRwcmlvcml0eSA9IHByaW9yaXR5IHx8IDA7XG5cdFx0Zm9yKHZhciBpID0gZGVmZXJyZWQubGVuZ3RoOyBpID4gMCAmJiBkZWZlcnJlZFtpIC0gMV1bMl0gPiBwcmlvcml0eTsgaS0tKSBkZWZlcnJlZFtpXSA9IGRlZmVycmVkW2kgLSAxXTtcblx0XHRkZWZlcnJlZFtpXSA9IFtjaHVua0lkcywgZm4sIHByaW9yaXR5XTtcblx0XHRyZXR1cm47XG5cdH1cblx0dmFyIG5vdEZ1bGZpbGxlZCA9IEluZmluaXR5O1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IGRlZmVycmVkLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIFtjaHVua0lkcywgZm4sIHByaW9yaXR5XSA9IGRlZmVycmVkW2ldO1xuXHRcdHZhciBmdWxmaWxsZWQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgY2h1bmtJZHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdGlmICgocHJpb3JpdHkgJiAxID09PSAwIHx8IG5vdEZ1bGZpbGxlZCA+PSBwcmlvcml0eSkgJiYgT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5PKS5ldmVyeSgoa2V5KSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXy5PW2tleV0oY2h1bmtJZHNbal0pKSkpIHtcblx0XHRcdFx0Y2h1bmtJZHMuc3BsaWNlKGotLSwgMSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmdWxmaWxsZWQgPSBmYWxzZTtcblx0XHRcdFx0aWYocHJpb3JpdHkgPCBub3RGdWxmaWxsZWQpIG5vdEZ1bGZpbGxlZCA9IHByaW9yaXR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihmdWxmaWxsZWQpIHtcblx0XHRcdGRlZmVycmVkLnNwbGljZShpLS0sIDEpXG5cdFx0XHR2YXIgciA9IGZuKCk7XG5cdFx0XHRpZiAociAhPT0gdW5kZWZpbmVkKSByZXN1bHQgPSByO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufTsiLCJ2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgPyAob2JqKSA9PiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikpIDogKG9iaikgPT4gKG9iai5fX3Byb3RvX18pO1xudmFyIGxlYWZQcm90b3R5cGVzO1xuLy8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4vLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbi8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuLy8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4vLyBtb2RlICYgMTY6IHJldHVybiB2YWx1ZSB3aGVuIGl0J3MgUHJvbWlzZS1saWtlXG4vLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuXHRpZihtb2RlICYgMSkgdmFsdWUgPSB0aGlzKHZhbHVlKTtcblx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcblx0aWYodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSkge1xuXHRcdGlmKChtb2RlICYgNCkgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuXHRcdGlmKChtb2RlICYgMTYpICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gdmFsdWU7XG5cdH1cblx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcblx0dmFyIGRlZiA9IHt9O1xuXHRsZWFmUHJvdG90eXBlcyA9IGxlYWZQcm90b3R5cGVzIHx8IFtudWxsLCBnZXRQcm90byh7fSksIGdldFByb3RvKFtdKSwgZ2V0UHJvdG8oZ2V0UHJvdG8pXTtcblx0Zm9yKHZhciBjdXJyZW50ID0gbW9kZSAmIDIgJiYgdmFsdWU7IHR5cGVvZiBjdXJyZW50ID09ICdvYmplY3QnICYmICF+bGVhZlByb3RvdHlwZXMuaW5kZXhPZihjdXJyZW50KTsgY3VycmVudCA9IGdldFByb3RvKGN1cnJlbnQpKSB7XG5cdFx0T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY3VycmVudCkuZm9yRWFjaCgoa2V5KSA9PiAoZGVmW2tleV0gPSAoKSA9PiAodmFsdWVba2V5XSkpKTtcblx0fVxuXHRkZWZbJ2RlZmF1bHQnXSA9ICgpID0+ICh2YWx1ZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChucywgZGVmKTtcblx0cmV0dXJuIG5zO1xufTsiLCJpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuXG5jb25zdCBhcGlDYWxsID0gKG9wdHMpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBvcHRzID0gb3B0cyB8fCB7fTtcbiAgICBvcHRzLmNvbnRleHQgPSBvcHRzLmNvbnRleHQgfHwgbnVsbDtcbiAgICBvcHRzLnJlc3BvbnNlVHlwZSA9IG9wdHMucmVzcG9uc2VUeXBlIHx8ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgICBsZXQgdXJsID0gJyc7XG4gICAgaWYgKG9wdHMudXJsKSB7XG4gICAgICB1cmwgPSBvcHRzLnVybDtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lID09ICdsb2NhbGhvc3QnID8gYGh0dHBzOi8vc3JzcmZsLXN0YWdpbmcuY29tL2AgOiAnLyc7XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSBvcHRzLmhlYWRlcnMgfHwge307XG4gICAgYXhpb3Moe1xuICAgICAgbWV0aG9kOiBvcHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpLFxuICAgICAgdXJsOiBgJHt1cmx9JHtvcHRzLmVuZHBvaW50fWAsXG4gICAgICByZXNwb25zZVR5cGU6IG9wdHMucmVzcG9uc2VUeXBlLFxuICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgIHBhcmFtczogb3B0cy5wYXJhbXMsXG4gICAgICBkYXRhOiBvcHRzLmRhdGEsXG4gICAgfSkudGhlbihyZXNvbHZlKS5jYXRjaChyZWplY3QpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGFwaUNhbGw7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgQm94LFxuICBDaXJjdWxhclByb2dyZXNzLFxuICBHcmlkLFxuICBQYXBlcixcbiAgVHlwb2dyYXBoeSxcbiAgQ29udGFpbmVyLFxufSBmcm9tICdAbXVpL21hdGVyaWFsJztcbmNsYXNzIExvYWRpbmcgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBib2R5ID0gKFxuICAgICAgPENvbnRhaW5lciBtYXhXaWR0aD0nbGcnPlxuICAgICAgICA8UGFwZXJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcGFkZGluZzogJzVweCcsXG4gICAgICAgICAgICBtYXJnaW5Ub3A6ICcxMHB4JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEdyaWQgY29udGFpbmVyPlxuICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz17MTJ9PlxuICAgICAgICAgICAgICA8Qm94XG4gICAgICAgICAgICAgICAgZGlzcGxheT1cImZsZXhcIlxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogMTAwLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogMTAsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9J2gzJz5Mb2FkaW5nLi4uPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgPEJveFxuICAgICAgICAgICAgICAgIGRpc3BsYXk9XCJmbGV4XCJcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmdCb3R0b206IDEwLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2lyY3VsYXJQcm9ncmVzcyAvPlxuICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgPEJveFxuICAgICAgICAgICAgICAgIGRpc3BsYXk9XCJmbGV4XCJcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmdCb3R0b206IDEwMCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD0nc3VidGl0bGUxJz5UaGlzIG1heSB0YWtlIGEgbW9tZW50LjwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgPC9HcmlkPlxuICAgICAgICA8L1BhcGVyPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAge2JvZHl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRpbmc7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJvcFR5cGVzIH0gZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBHcmlkLCBUeXBvZ3JhcGh5LCBCdXR0b24sIENvbnRhaW5lciB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnO1xuaW1wb3J0IExvYWRpbmdDYXBzdWxlSW1nIGZyb20gJy4uL2ltZy9Mb2FkaW5nQ2Fwc3VsZS5wbmcnO1xuXG5jb25zdCBFcnJvciA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgbWF4V2lkdGg9J2xnJz5cbiAgICAgIDxHcmlkIGNvbnRhaW5lciBkaXJlY3Rpb249J2NvbHVtbicganVzdGlmeUNvbnRlbnQ9J2NlbnRlcicgYWxpZ25JdGVtcz0nY2VudGVyJz5cbiAgICAgICAgPEdyaWQgaXRlbT5cbiAgICAgICAgICA8aW1nIHNyYz17TG9hZGluZ0NhcHN1bGVJbWd9IC8+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICAgPEdyaWQgaXRlbT5cbiAgICAgICAgICB7IHByb3BzPy5pc01lc3NhZ2UgP1xuICAgICAgICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD0naDYnPlxuICAgICAgICAgICAgIHtwcm9wcy5tZXNzYWdlfVxuICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgOlxuICAgICAgICAgICA8VHlwb2dyYXBoeSB2YXJpYW50PSdoNic+XG4gICAgICAgICAgICBFcnJvcjoge3Byb3BzLm1lc3NhZ2V9XG4gICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICB9XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICAgPEdyaWQgaXRlbT5cbiAgICAgICAgICB7IHByb3BzLnJldHVyblRvXG4gICAgICAgICAgICAmJiAoXG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PSdjb250YWluZWQnXG4gICAgICAgICAgICAgICAgd2lkdGg9JzUwJSdcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIHByb3BzLnJldHVyblRvKCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBCYWNrXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgPC9HcmlkPlxuICAgICAgPC9HcmlkPlxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuRXJyb3IucHJvcFR5cGVzID0ge1xuICBtZXNzYWdlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJldHVyblRvOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNNZXNzYWdlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVycm9yO1xuIiwiZXhwb3J0IGRlZmF1bHQgXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQ0pDQVlBQUFEa01UQURBQUFLeG1sRFExQkpRME1nVUhKdlptbHNaUUFBU0ltVmx3ZFlVMWtXZ085N0w3M1FBaEdRRW5vVHBGY3BvWWN1SFd5RUpKQlFZa3dJS2paVUJrZHdMS2hJVXdRY0ZGRndMSUNNQmJGZ1JWRUIrd1FaVk5SeHNDQXFLdnVBSmN6c2Zydjc3WG5meWYzZmVlZWVjKzc5N3YyK0V3Q29CTFpJbEFFckFaQXB6QkpIQm5nejRoTVNHZmpmQVF3UW9Bd0F3TEE1RWhFeklpSUVaVEExL2wwKzlnQm9mTHhqT1I3cjM3Ly9WMUhtOGlRY0FLQUlsSk81RWs0bXlzZFJmY01SaWJNQVFQYWhkb09sV2FKeHZveXlxaGd0RU9WSDQ1dzZ5VVBqbkR6QkdNeUVUM1NrRDhycUFCQW9iTFk0RlFDS0lXcG5aSE5TMFRnVVg1U3RoVnlCRUdYMEhYaHcrR3d1eW1oZU1Dc3pjL0U0eTFBMlRmNUxuTlMveFV5V3gyU3pVK1U4dVpZSklmZ0tKS0lNOXZML2N6dit0MlJtU0tkeUdLTks0WXNESTlHUmp1N1p2ZlRGd1hJV0pvZUZUN0dBTytFL3dYeHBZTXdVY3lRK2lWUE1aZnNHeStkbWhJVk1jWXJBbnlXUGs4V0tubUtleEM5cWlzV0xJK1c1VXNRK3pDbG1pNmZ6U3ROajVIWStqeVdQbjhPUGpwdmliRUZzMkJSTDBxT0NwMzE4NUhheE5GSmVQMDhZNEQyZDExKys5a3pKWDlZcllNbm5adkdqQStWclowL1h6eE15cDJOSzR1VzFjWG0rZnRNK01YSi9VWmEzUEpjb0kwTHV6OHNJa05zbDJWSHl1Vm5vZ1p5ZUd5SGZ3elIyVU1RVUExL2dCMExRaHdGaWdDMndCemJvYnlnQVdieGw0MmNVK0N3V0xSY0xVdmxaRENaNnkzZ01scEJqTll0aGEyMXJEY0Q0blowOEV1L3ZUZHhGaUU2WXRvblErQzdvbVVkcXBtM0ptZ0EwbytkSWd6aHRNOXdQZ0dJOEFFMjVIS2s0ZTlJMmZwMEFGcENBSWxBRkdrQUhHQUJUWUlsVzVnamNnQmRhY1JBSUI5RWdBU3dFSE1BSG1VQU1sb0tWWUMzSUI0VmdLOWdKeWtBbHFBRUh3R0Z3RkRTRFUrQWN1QVN1Z1Z1Z0d6d0VNakFBWG9FaDhCR01RaENFaDZnUURkS0FkQ0VqeUFLeWhad2hEOGdQQ29FaW9RUW9DVXFGaEpBVVdnbXRod3FoSXFnTXFvTHFvRitnazlBNTZBclVCZDJIK3FCQjZCMzBCVVpnQ3F3S2E4UEc4R3pZR1diQ3dYQTB2QUJPaFpmQU9YQWV2Qmt1Z2F2aFEzQVRmQTYrQm5mRE12Z1ZQSXdBaEl6UUVUM0VFbkZHZkpCd0pCRkpRY1RJYXFRQUtVYXFrUWFrRmVsQTdpQXk1RFh5R1lQRDBEQU1qQ1hHRFJPSWljRndNRXN3cXpHYk1HV1lBNWdtekFYTUhVd2ZaZ2p6SFV2RmFtRXRzSzVZRmpZZW00cGRpczNIRm1OcnNTZXdGN0hkMkFIc1J4d09SOGVaNEp4d2diZ0VYQnB1Qlc0VGJqZXVFZGVHNjhMMTQ0YnhlTHdHM2dMdmpnL0hzL0ZaK0h4OEtmNFEvaXorTm40QS80bEFKdWdTYkFuK2hFU0NrTENPVUV3NFNEaER1RTE0VGhnbEtoR05pSzdFY0NLWHVKeTRoYmlQMkVxOFNSd2dqcEtVU1NZa2QxSTBLWTIwbGxSQ2FpQmRKRDBpdlNlVHlmcGtGL0pjc29DY1N5NGhIeUZmSnZlUlAxTlVLT1lVSDhwOGlwU3ltYktmMGthNVQzbFBwVktOcVY3VVJHb1dkVE8xam5xZStvVDZTWUdtWUtYQVV1QXFyRkVvVjJoU3VLM3dScEdvYUtUSVZGeW9tS05ZckhoTThhYmlheVdpa3JHU2p4SmJhYlZTdWRKSnBWNmxZV1dhc28xeXVIS204aWJsZzhwWGxGK280RldNVmZ4VXVDcDVLalVxNTFYNmFRak5nT1pENDlEVzAvYlJMdElHVkhHcUpxb3MxVFRWUXRYRHFwMnFRMm9xYXZacXNXckwxTXJWVHF2SjZBamRtTTZpWjlDMzBJL1NlK2hmWm1qUFlNN2d6ZGc0bzJIRzdSa2o2alBWdmRSNTZnWHFqZXJkNmw4MEdCcCtHdWthMnpTYU5SNXJZalROTmVkcUx0WGNvM2xSOC9WTTFabHVNemt6QzJZZW5mbEFDOVl5MTRyVVdxRlZvM1ZkYTFoYlJ6dEFXNlJkcW4xZSs3VU9YY2RMSjAxbmg4NFpuVUZkbXE2SHJrQjNoKzVaM1pjTU5RYVRrY0VvWVZ4Z0RPbHA2UVhxU2ZXcTlEcjFSdlZOOUdQMDErazM2ajgySUJrNEc2UVk3REJvTnhneTFEVU1OVnhwV0cvNHdJaG81R3pFTjlwbDFHRTBZbXhpSEdlOHdialorSVdKdWduTEpNZWszdVNSS2RYVTAzU0phYlhwWFRPY21iTlp1dGx1czF2bXNMbURPZCs4M1B5bUJXemhhQ0d3MkczUk5Rczd5MldXY0ZiMXJGNUxpaVhUTXR1eTNyTFBpbTRWWXJYT3F0bnF6V3pEMlltenQ4M3VtUDNkMnNFNnczcWY5VU1iRlpzZ20zVTJyVGJ2Yk0xdE9iYmx0bmZ0cUhiK2RtdnNXdXplMmx2WTgrejMyTjl6b0RtRU9teHdhSGY0NXVqa0tIWnNjQngwTW5SS2NxcHc2blZXZFk1dzN1UjgyUVhyNHUyeXh1V1V5MmRYUjljczE2T3VmN3BadXFXN0hYUjdNY2RrRG0vT3Zqbjk3dnJ1YlBjcWQ1a0h3eVBKWTYrSHpGUFBrKzFaN2ZuVXk4Q0w2MVhyOVp4cHhreGpIbUsrOGJiMkZudWY4Qjd4Y2ZWWjVkUG1pL2dHK0JiNGR2cXArTVg0bGZrOThkZjNUL1d2OXg4S2NBaFlFZEFXaUEwTUR0d1cyTXZTWm5GWWRheWhJS2VnVlVFWGdpbkJVY0Zsd1U5RHpFUEVJYTJoY0doUTZQYlFSMkZHWWNLdzVuQVF6Z3JmSHY0NHdpUmlTY1N2YzNGekkrYVd6MzBXYVJPNU1ySWppaGExS09wZzFNZG83K2d0MFE5alRHT2tNZTJ4aXJIelkrdGlSK0o4NDRyaVpQR3o0MWZGWDB2UVRCQWt0Q1RpRTJNVGF4T0g1L25OMnpsdllMN0QvUHo1UFF0TUZpeGJjR1doNXNLTWhhY1hLUzVpTHpxV2hFMktTenFZOUpVZHpxNW1EeWV6a2l1U2h6ZytuRjJjVjF3djdnN3VJTStkVjhSN251S2VVcFR5SXRVOWRYdnFJTitUWDh4L0xmQVJsQW5lcGdXbVZhYU5wSWVuNzA4Znk0akxhTXdrWkNabG5oU3FDTk9GRnhickxGNjJ1RXRrSWNvWHlaYTRMdG01WkVnY0xLNlZRSklGa3BZc1ZiUTV1aTQxbGY0ZzdjdjJ5QzdQL3JRMGR1bXhaY3JMaE11dUx6ZGZ2bkg1OHh6L25KOVhZRlp3VnJTdjFGdTVkbVhmS3VhcXF0WFE2dVRWN1dzTTF1U3RHY2dOeUQyd2xyUTJmZTJOZGRicml0WjlXQiszdmpWUE95ODNyLytIZ0IvcTh4WHl4Zm05Rzl3MlZQNkkrVkh3WStkR3U0MmxHNzhYY0F1dUZsb1hGaGQrM2NUWmRQVW5tNTlLZmhyYm5MSzVjNHZqbGoxYmNWdUZXM3UyZVc0N1VLUmNsRlBVdnoxMGU5TU94bzZDSFI5Mkx0cDVwZGkrdUhJWGFaZDBsNndrcEtTbDFMQjBhK25YTW41WmQ3bDNlV09GVnNYR2lwSGQzTjIzOTNqdGFhalVyaXlzL0xKWHNQZGVWVUJWVTdWeGRYRU5yaWE3NXRtKzJIMGRQenYvWEZlcldWdFkrMjIvY0wvc1FPU0JDM1ZPZFhVSHRRNXVxWWZycGZXRGgrWWZ1blhZOTNCTGcyVkRWU085c2ZBSU9DSTk4dktYcEY5NmpnWWZiVC9tZkt6aHVOSHhpaE8wRXdWTlVOUHlwcUZtZnJPc0phR2w2MlRReWZaV3Q5WVR2MXI5dXYrVTNxbnkwMnFudDV3aG5jazdNM1kyNSt4d202anQ5Ym5VYy8zdGk5b2ZubzgvZi9mQzNBdWRGNE12WHI3a2YrbDhCN1BqN0dYM3k2ZXV1RjQ1ZWRYNWF2TTF4MnROMXgydW43amhjT05FcDJObjAwMm5teTIzWEc2MWRzM3BPblBiOC9hNU83NTNMdDFsM2IzV0hkYmQxUlBUYzY5M2ZxL3NIdmZlaS9zWjk5OCt5SDR3K2pEM0VmWlJ3V09seDhWUHRKNVUvMmIyVzZQTVVYYTZ6N2Z2K3RPb3B3LzdPZjJ2ZnBmOC9uVWc3eG4xV2ZGejNlZDFMMnhmbkJyMEg3ejFjdDdMZ1ZlaVY2T3Y4LzlRL3FQaWplbWI0Mzk2L1hsOUtINW80SzM0N2RpN1RlODEzdS8vWVAraGZUaGkrTW5Iekkrakl3V2ZORDRkK096OHVlTkwzSmZubzB1LzRyK1dmRFA3MXZvOStQdWpzY3l4TVJGYnpKNW9CUkJVNFpRVUFONmhmUUkxQVFEYUxRQkk4eVo3NmdtQkp2OEhUQkQ0VHp6WmQwK0lJd0ExYlFCRTV3SVFnbzZsNkdpTXFxSVhBQkdvUm5zQjJNNU9ydjhVU1lxZDdXUXNjalBhbWhTUGpiMUgrMGU4R1FEZmVzZkdScHZIeHI3Vm9zVStBS0R0NDJRdlB5NUtod0RZdThMQktTemt4a2piTVBnWCtRZld5QklQNThza21nQUFBRlpsV0VsbVRVMEFLZ0FBQUFnQUFZZHBBQVFBQUFBQkFBQUFHZ0FBQUFBQUE1S0dBQWNBQUFBU0FBQUFSS0FDQUFRQUFBQUJBQUFBZ0tBREFBUUFBQUFCQUFBQWlRQUFBQUJCVTBOSlNRQUFBRk5qY21WbGJuTm9iM1Q3bmlIdkFBQUIxbWxVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOUzQwTGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR4TWpnOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFZjMlZ5UTI5dGJXVnVkRDVUWTNKbFpXNXphRzkwUEM5bGVHbG1PbFZ6WlhKRGIyMXRaVzUwUGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGbEVhVzFsYm5OcGIyNCtNVE0zUEM5bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0NpQWdJRHd2Y21SbU9sSkVSajRLUEM5NE9uaHRjRzFsZEdFK0NudjF1Q1VBQUJiTVNVUkJWSGdCN1YwSmNCWG5mZjhEQWlSdWNVbmlFa2ppeGdaeE9CaXd6WTJkT0I3SFNXYWFlb3huUEUyYXliUk8zTTZrU1RzZXQwNlBUTnVrR1hmcVpwTFljUkxpeHJYYlNScHpHQUhHQnpFSWpJVXc2T0lRNGhRZ2NRa0VRb2orZjd2NzM5MjNiOS9UMjdmWDA5UCtOVS9mN3JmZjhmKyszKzg3OXJ1MnoxMFdpcVRYNWtEZlhwdnlLT0ZLRGtRRTZPVkVpQWdRRWFDWDUwQXZUMzVVQTBRRTZPVTUwTXVUSDlVQUVRRjZlUTcwOHVSSE5VQkVnRjZlQTcwOCtUbEJweDhEenkxWDJ1bEd4eDNLNmR1SGhnMGVRRVB5K2dldFJoU2ZsZ09CRUdCRFJUMVYxcHluVDQrMzB2R3oxOVNvK3hnWURCczBnTW9tREtmNVphTm95WnhDV2xFKzNuZ1lYZm1hQTMzOG1nemF2S2VKZnJQakNMMS80S3lhQUJQZ2tpTER5cmpDczVGREI5TGpENWJRVTJ2S3FMaGdxRGlQVEI5eXdITUN2RnQxaGw1NnE1cXFqclFReGVLcXFHOVlHVmQ2dWl4V2R6bUFaeDZlUnM5OStkNm9tZEF6eWRzTHp3aUF0djM1Vnl2cDE5c2E0alEwY0RXdUZFZVdXOWdCZElqK2VzSzNCZmw1OVB6NkJmVElmUk9WWjlFLzczTEFFd0tjYUw1R3ovNzdINmo2NkVWZE13TmI0MHA1YUxtRm5SM29la0RhQlJZdGZPdUw5OUN6VDh5eFBvcnVYZVNBYXdMVU5GMm16LzdWUmtVRkExdmp5dkpBVnpWVjBIVVB1T2pUaDlhdm5VcC95N1ZCSk43a2dLdTNnRk1YMnVoUGYvQ2VWbWs3QTExeGJmR0NKTVV0VDJMUXpmTExyUTAwc0Y5Zit1NlQ1V2JyNkRyTkhOQ2IyblQ4LzhYTHUrblUrZXZzVlFNSmh2eTBBRkhTOGNNZkl1TlhmeHMzS3ZBNitBQmRmbG80aWwvTjY4ODIxOUV2dDlaclR5TERUUTZrVFlDLzM3Q2Y5dFdlTjhBRXNKcDRBYm9BRGhOQmd4d0dRWWorN2xmN2xYRUZMY3JJU0RNSDBpTEFYZ2IrMVUyMUtqSUtNR29wVDFiU0JVQXhGWDJsbEd2VnZCbDBjV2NHWFdHQ2lXamZmK05BbXNtT3ZFa09wRVdBbC83M1U2VmFsNUt1QXdkdzVNZVhjU0FpVmxlZ1MrQ3ErZEdoOC9UMlIwMElOWkkwYzhBeEFUNDRlSTQrL0xSWmJjODVVbXViN2dSMHdCam4zb3l4a3FnNGl4Z092ZnBPMUJkSUUzdkZtMk1DdkxuenFHZWc2NHJIWVJ4bkVRTzY3bzh2RGh4cnBkMDh6eEJKZWpuZ2lBQnQ3YmRwNDI2MXlvMHJ1WWcvUWZVT09NVzlybVljeG5FVzF1QjByOUwwd0lTOHZmdWsvaXk2Y0pZRGpnaUFpWjBZSU0yQVd6cHlmb091SkZQanpCdGNLMFdTWGc0NElrQmwvWVc0VW81b0VRaCtRWUtPdm9jYXAvb0c4b2ZEelZBbEVvYzU0SWdBTlNjdTZjRW5CRjBybGVhM0FaVWE4aUNXUTFyRm9ZZHJyZDZWQjVwWEsralNCTUROOWsrMGFXYzlwT2dpbFJ4d1JJQlR6VzMySlYyd2hhbExyS1c1dGRDZGFCZHBnVzRPbnE5L1VSRS9DMm1OSjdxUHp3RkhCRGgzK2FiU0IxQ0NNUU9naHh0cjZRaDBrOWVFSmQza1JxS1VQZ25NdlEzR2JLUThqOHprT1pBeUFUbzZ1NncxdVJaeUxDcHBnODZoUVJuTUdVaU5vRVFRRzd4aVpRWWRGdkNIMzQ3OVozQWJpWU1jU0prQVdNQnBTQ3dxWVlMZTF4VDV6N1pFZzBJR1JxbGRwVXlBdmt3QUxONVVxNEhZanB3MUtpbkJlaWRONDR0VTdZalVUVWszZ3k1eFM2MVFmZHpvcU1xenlFeWNBeWtUQUVGTUdETkVINXl4QnBrSzZJbmNLRzhNV29BQ0pFd0lGRlIrcHBLdVBPQi9WcmNJcCtLVHFCbVEvRW5GZEVTQXFST0d4WVNaQ0ZCelNVL2tSa0EzZzVndTZFcFlXZ3YxbjIvWHhPZ1kzU1RQQVVjRW1GYzZTdStnQVZoRkxOVzd1V3EzdWhFdlp0QkZQYWNsM1F3NndrQzg4bGQ3OG9vRUc1bmQ1SUFqQW1EVGhpSkpRTmZqMDl3b1FMR2xFOUROYnFWV1VNS1JNRGs4QVZ0TVBWNisyRllWRFFxWjh5UFp0U01DbEJVTlZXWUM0UWtaTDlXN0hvRUFCSlBGREtScWs3aE50M09iREhRSlQ4eTdIS2Y4ZnZUYlEySWRtZDNrZ0NNQ0lLdy8vOEljQlhnOTNBd0JYZFhIVU9hb2JFSFRGWTB1N0hMQU1RRldsWTlEOFRkK2ZHbFhlaEd3OHJQMDN1M2NXc09UYWgybVZhU1V3MVRGVUVhLzRvdnRVVE1nR1pUVWRFeUEyY1VqbEFDdFFPcUE4MVByZTdyVnJSS0FqcGFxbnhlZzYwVGlJUC81Zno1VkE0NytKODBCeHdSQWFGOS9kSVlTcUJsMGZZQUFKWjdGTDlCVm9tZ1ZrSVZFMWppYkxtREplaVRKY2lBdEFxeWVQMTZwM3JzRjNReVF5Z3N1cE1hZlZiRkUxYnNaZEwyVWErRlpRVmZDMUpxZGJRZk9XYU9JN2kwNWtCWUI1cFdNNUNLb0loQUhnQmwwTFRJRGNnMDFreEtlZ0c3dVoyaDZJYVlkdkZNNWt1UTVrUGJXTUd6YmZrVW1YK0p4VmNxNVhkUkc1ODM4VkExQUQwYS9NTnlBYURHaUFXMjJzM3JiVTNlUm1ua0t1MkJFcnRsWllOZnQ3ZTNVMnRwS1Y2NWNvZXZYcjlPdFc3Zm95dFdyTkdUd1lNckp5YUhjM0Z3YU9uUW9EUjgrbkVhUEhrMzkrdlVMVERlSktHMENyQzR2b2xjc1M3SlIwdTBrU05BbGZvbHpHOWNDVHk0dkVXdmZ6VHQzN3RESnBwTjA1dXdadW5UNXNtMThiVXdHUlpnWTU1cU5wV3lGQlFVMGJ0dzRLaW9xc3ZYbmg2V3IzY0Zsejd5VkVTVmRNa1pBbDN1WUQ4NHVvRmUvdWNSczVkdDFRME1ESFR0MmpEcVpCRzVsM3R5NU5INjgvMGZscE5VSGtNUTl0YXBNTGhVVEFNalBlSUJhUVhvQld0ZEJ0ZEtkeFBjajJJRzA2NW9yOFFMVExCSmZMUGlHNi9kNTkxQnJXNGZaaStmWHpWeUtkKzdjU2ZWTUFDL0FoNEpWQnc1UVpXVWx0YlcxZWE2dk9VQlhCRmpEZzBMSkFOQjc3d1llZXR4K2dvNUlkUDd3aForRFF2WDE5YlR2NDQvcCtvMGJldHE4dXJodzhTSjk4T0VIZE9hTWY1MVpWd1JZTW11c0thMHF5b2xBTndPdWQrZ0VKWmdzWnA2b05rYnd5WWltK293RjNUeFA0ZGZyWUhWMU5UVWNPV0lvNmNOVlY5ZGQrcVNxaW80ZFArNUQ2T3BvcmF1QS8raWhFcTJDVndIUVVlUlF6YURya1NRQlhYZWpYYmdCSFVGSS9OdXF6OUgxOWs1cjhLN3VEM0FWZmZMVUtWZGhPUEZjVTFORHh4c2JuWGhKeWEyckdnQXhySjdIVThSU2RQbGVNaDJtTHE1QWw4REZURnpTRVo4MWZpSFIxbXJ2cG9qcjZ1cm8xT25UZXZLQ3VqaDgrREMvTlhnN3VPV2FBTXZ2TFlyTGRDVkRQQU5kelY0SkRvMjd1WHJIMDBTZ2c1aWdEZjU3MVF5Y1BYdVdqaHdOYnlzYW1wMmJOMjhxcWZMaW4yc0NRSWtubGhTcnVnaEtNRm1rektwM3FoUDVMeVVUcGlyeHJpVTRLK2htd0hFTmtmRE1vSnVKc25uL1dWS1d0cXZPMC9yZjFkVkZOYlhoTGptN2ZidVQwQng0Slo0UUFJTkNTcmVidFlxSDBWQlZRSElMdW9RbzRTVUNIZTdFRGN3S2wzTURlTTl2Yi9ldTlFazZuSnBudUJhNmNONmJMZkhlRUdCZWtRNjhOVEZtQU5SbjhSUkpwYVJMdUJKZXFxRERuOVFZYmdpQWFqZk1xbC9TTCtaUkhuRHlRandoQU9iL1AvOFo0eFJQQVFtbUtzR0R2cEFQbmhiZ1JZdmY3VDFGNlg0bTg3aFByMkdpbTFPemhlY1lFZzAxT3duTEV3SWd3cFZ6Qy9YcVZsVWdGblFwNVRDVHRlbXFYNlBxZGxMU0grR0JxUjg4WFU3VlAvd3N2Zm1YUzVXZ1JBc2xUbzY4Z28rNGNTcVkxUEhyUGR5cExtYjNaeng0RTBsN01zaXNDSzVYejhVRUJyTGJFQVZzN1JZZE1yTkk1eTNHVG5NaW9LbWRPTU9GVWFNWWRvOHRHazlyN2kya05Sei93UDZ4ZlA3cW1sTDY2VGFqcWtTY2FBYldzbnNua21tbFgzUnZQdDlNczJmUGx0dTBUTThJa0R1Z0g2MmJYMFJidFgzNlZ2Q2duUlYwTTZCT1FQL2kvWk1ZOUFJR3ZWQmRmcFlnNld2NEZmVW5KZ0xBMlg5L2RKTCs1YWw1Q1h6RVc5L2dJVjQvQm1EaVkzSnVndzdwdFd2WGxDbGw1NzVWSDU0UkFNR3RuanVPM3Zra3RvcnREblQ0czVMRlRBdzhoM3hsV2JFQytJbzVCYXBGQ3YvdksrT0ZLeXpXOE43bENhSVZzODNEMklrRHk5VFNMeHBmNWZVRldGT1FybmhMQUg0YmdIZ0YrdE1yU3BTU3ZuVEdtSFRUUitzNWpGL3NsR1pBYldPMjh0QndLZ1RBSW83R0V5ZlNqanNJajlEUmpYaEtnS0Y1T2JTUzI5ZnRuTUZTNnFScWg1S3BsUFN2cmk1VlN2b2k3c1Y3SVd2dktXQUNISThoNVlZUG0raWZ2bkp2dDhGbmV1bEhBdHlPQ25wS0FDaTBjbTRCYmVlZXRscldWTkJoTHlMRWtIdVkzM2hrR3EzbU5yMThjcjdaMnBQckIyYU0xc0cvYStxVmZsamZRc3VtSlNZWjV1RlBORFY1b29PZmdYUjJ1cHZrOHB3QTZJMy85WWJxbURSYlFVY1Q4YTFIcHlzOTk5bVdIY2N4SGoyNitXUHVQL3g2bHdFbTRrY3prSXdBV05uVEc4UnpBb3ppRHo0dG16bUdQcWpsSStWTWdrei96dU16dWFRWEV2WVlCaWxydVhiWm9CRkFtcVJYM211a0Y3OWsvd3FGbm5XUVU3MXU4Z0tMUzkxSTdJdXptNUJNZnBVcFlyNEg2UEpiUEcwMGZYM2QxTURCaDFxcnVNZXZORW44RDdXUjFFaDdqN2JpY1p6MHBOS1BsY1Z1eEJjQzRQMGJ3SXNnOC9mVVh5U2NNaGFXZkdueEJDWHFMcWFDL0RZZk5GYmtpbDU0clFwanJsL2lkMm9PR1RMRXFaY1k5NzRRb0NnL1Z5bHhhcW5qK1h2dWZPRlhJZDhRakZFaG1CczBBd0JlQkxYQXl6dU95NjF1OXFUU0Q2V3hwOENOK0VJQUtQUTMzTDVLcjF1YWdRcWJFdWRHZVNkK0grYlhRYW4rcFFsQTRxdWFqTk5Fc0lIanRJOExNSjNvbTRyYndZTUcwV0RlWk9KR2ZDTUF4dWNGZUZGd1o4MEYzNWRvUzF4V0V6T1dYMWd3VHQyeXpnOVJGMEEvY3pQUTAwcC9ZYUd6T1Excm51RGVOd0lVajFHWmFTMTFXNnZqMjEwN3hmeXdXM2ZQMkRoUy9taXJ1cnpyTXUvaXdVS0xuaVRZUmVSV2ZDTUFGUHMydi9hcGd2S21ydVdyNFBmdnNBVE5BS1NMYXdQNTRiNkdUeFBwYWFWLzdKZ3hOR3hZN0tsdFNJdFQ4WlVBbUhhVjRWOVV0NUN0M0E5b3UrbHU5RW9OeWZuLzNQNzk2R0dlUVlSSTh3Uno1NEVtT25zdVBHSXFDam44TjJYS0ZJYys3SjM3U29DcGhlb3JpcndGaUxrbHhGcmdJZFBRTUZjRXlsTEdQYlgrN2J5eHozWjN0Z1ZqeHlxN2lkMkZvdnIybFFDSTRyblBUZGYxbEZLMzlhQTNDeHIxZ0IxY3pKODBYQUVkNEt1MVV4OXFhUEYzNzZBRDlWSnk2bFhwUjJTK0UyQWR2MzlMOVkrZUFMcmZHL2tBSjdkTHRCRlVPbExDblZNQkh2NmgyNW1idm1kRE9xcmErc0VXOGxHakVrOWkyWHBLWXVsN3lwWEpIcFEyN1NlNmJBbHBUR0JJYm80Q3V0UkcwT2RhcCsvWklNbDJiWHBaK3FGTUlDbC9kbTJaa25BWmdvV0oyYmd3UmZvak1KRUpVa3VGcVZOM2NSZnhlLy9Ja2VvcXArN2Nwdm84RUFLWWgyR2xKbmpyWS80Q1dRaTVmcjNqRHZjQnRBOVpjeTZoV1lJYU1ETmR2Qzc5U0c4Z0JDam5zd1VGZUlrVUViL0RYeUFOV2s2MHRNYzFBUVc1N2svMDhEc2Q0L2pZbVB4ODd4Zk1CRUlBWk00M1ZrNVIyQ1lsRHFWdWN3aHZBd2UwazhTRmtEQW5EdXJ5R3ovWDRmdFIrcUZVWUFSWWg4a1lVelpnSk80M2UwNlpiSUs1M05uUW90UkdpRTM2SktYRE1yc0dHTTlEdmlOR3FDZTBlcDFMZ1JIZ002VWo5ZUZYZ0E4QklUYTUzTENwQkpUaXYzWnUvOS84K0p3T3ZIaWJtcC9aUFlDU2toSlIxWE16TUFKQTh6OTVzRGl1L2YwVmI5UUlTbDc3eUtoeGtIRDhCdkxSZkNXajNDMnI4bFAvQ1h4U21CZGovb2wwREpRQWoyTWJ1U2FvQlBEYlh0dENGWWRqMXcrS0d5L05HN2Z2MFBPL3ExUDdJUnl2OUFIV0Z0eFN2NGJ1WldRZWh1Vm42WWVhZ1JKZ1VVaytMZWFtQU1pYlIrUCs0ZmYxdnI4U3ZvZzROT0NSY0RRLytIMXU5Z2hhdldvVmxVeVpBdXVNa29rVEpyamE5Wk5LWWdJbEFCVDYydkxKaWw0Q0FNeERQQjM3M0J2K0hlLytldVZwK3VtdWt6cm9pQk95ZkV3SHJWdzBrd1lPSEVnelo4NmtWU3RYMHBUSms1Vm5tZkRQNzlLUE5BWk9nRWQ1Ym1DTnRpL1BQQnIzK3A3VDlMM2YxM21lNzIvenErYWZ2WEZJQVY4Q2wzalhMOGlQbVZYREN0dFpzMmJSeWhVcmFISnhzVGdQeFp3MGNTSzVYZkNaaXVLQkV3Qkt2ZkQ1YWRTM1gveG8zRXM3R3VuYmJ4NU9SZStVM0d4Z1VxMS9yWXFyZm1OaEtxNGh6MHhwcDRjV3lvS1YyT0R5OHZLVWJkY3JsaStuNGttVFloOEdkQmRFNlVkU1hKMFY3Q1l2WHQ5OWlyN0pKVk1FN2JQSXdza2o2TVhIcHROOWJLWWpsL2xNd0JjM05kRFBUYjEraEtOaFQ4dnliOUVMNjRwb3dZSUZLUVdQRFpoWU1kUjBNcGczRnBCdXpwdzVLZW5tMWxGb0JJRGkzOTk4aFA2MVFsMlRKd2t4TDkxKzhqNCsvR0gyR0hxTTEvS2xJaGY1VE9EWG1GZ3Z2M2VDTG1rSFF3cm80bi9xNEU3NnpvSzd0UHlCSlpUdmNIQUYrd1ZCQkw5M0RhSG1HY1FyZm9PUVVBbUFCSDV2WXozOTIvYkdtTFJLdXlTMXdvS0p3MmdGcitTWnoyYnAyQ0UwZW5CL3dyZU1yekxJSjFyYnFmcjBWWHIvU0N0dE9heCtQdDRLdWdTT040OGZMN2xGVTR1TGFQNzgrV0x0Mk1UV01SREJqdzBrNkh1NFBmWERTWUpDSndDVS9ZK2RqZlRDLzlVcmVndm81a1JJcjEzc3BCMlhlNWpKUU1menhma2Q5TFU1ZDJsQVRoOWF1bVNKSjBPcjJFVUVJbmk1bHdBZFVQUkJncEtNSUFBUysyNWRDMzMzdDdYVWNGNDk4TUFMMENVVG55NXVwelVsNnRjNE1LdFdYbDR1anp3eHIxNjlRa2VQSG5POXJCeXZvSGdMQ1ZJeWhnQ1M2SC9jZ242QnVqWGJXdElUbFhMNFJmVnVsZnRIZHRBVEpWMVVORlFhRmFKbFM1ZTYzazVsalVmdXNiY0FOVUs2SzR3eER1RjJzNmZva3FxWmNRU0E0dWpNL1p6bkNQNXIzMWxxNURZK2tkaUJqb25kSi9pUWlzWDlUdENFNFFid0NBT3phdlBtcFg1QVZLSjR1N1BIK1gzSCtEeGg4K2RndXZPRGtVZ01SZ1V0R1VrQWN5WlVObDZtZHh0YWFmL0pxMVIzcm8xT1hibEZkL2dNZlpIaGcvcFQ2ZWc4bWp0K0dOMC9aUVI5dWJ4UWVWMDdlUENnT05ITkI1WXQ4M1ZpUlk5SXUyaHBhU0VjTTlPY3dyR3VHSTdHaUdUUWt2RUVzTXVRdGx1ZDFNa2tHTVFiUFFia3hKWnl1Tis0YVZPY044eXF6ZVh2OElRaEYvbkxIeURDK1F2MmsxNmxQTjA3WThhTU1GUUxmaWpZaTFRT0daaERJL0w2MjRMZmxPQmNuNkJHMXV6U2gwL0NMVnEwaUVZbldNNGRwbTd4eGNjdUJUM0l6dTVrcnlCbTFickxJaHptZEpHYkJLdVVsWmJTZ0FFRHJOYUIzV2NWQWM1elc2dC9rOCtVaFdHV01GRURid2QyRXJadVdVV0FjelliUE5IekQySld6UTVjc2V2bzZMRDl1TlRVc2pMcTM3Ky9PQXZGekNvQ29BYXdTaEFmWDdUR2FiMjNhNWJnSnV6U0R4MnloZ0FZbjcvRkpjMHNPZnd0M2pHOGp6NU13ZmVDN1Q0ME1YM2FOT1g3d1dIcWhyaXppZ0RXelBSNkc1VTEvRlR1RTVYK0tUendrd21TTlFUQXNlNVdDYnZ0eHptK2RwOTJtVEY5ZWloZkNyZm1EKzZ6aGdEb2FGa2xqSkUxc3c2Wlh2cWhhOVlRQUo5MHMwcWZ2dUVsTDlGblptYnlpRi9mRVBXeTVsRjRPV1RWeE9XOVhhYmVjWG1TdGh1VmVrTHBSL3F5aGdCMm8ybHV6OUpQbHdDSlBqTXppMmY3c0RVOWt5UnJDR0MzaWdhdmhtRklUeW45eUp1c0lZRGRkM05hTDEyaU8zZUMzZm1iNkRNelFhLzBTWlg0V1VNQWJLREV3STlWbXB1RFBZUWlZZW5uNVY2WktGbERBR1R1V0Q0L3p5b25BMXJMajNnVGZXWm1qc3R2KzFuVDVPVjlWaEhBYnJFbnBtRHQ1Z2k4ekVRSks5R01YM0hJMjh4RVB6c3pxd2lBQk9ibDVjYWxjKysrZlhGMlhsdGM0TlUrZGh0RzdnbG9oMCs2NmNrNkFpVGExRmxiVzV0dUhuWHI3L2J0MjNUb2tMSE56ZXhoVWtoN0M4MDZKTHZPT2dLVWxKUVNQcVJnRll6Sk54NXZ0RnA3Y2w5VlZVWFhiZVlpNW9XMEJ0RkpvcktPQUVqOGRKNXNzWk5ETllkNTNYN3NYa1E3ZDZuYTRSVno3OTY5dG9zOWNhUnJKcXhGNkM0dFdVbUFJdDc5ZzEwMmRsSlRXMGZWMWRYazlvT0xXUEs5YTljdVcvQUg4Q3FmVEgzdnQrWkpqMXdXYmsxRW92dEVwVlBjbzRQbXRJM0dRQS9lOVpOOVZYVFJ3b1cycjZRU2J5YVpXVTBBVk5HVmxaV0VFY0ZrZ2wwNVdEbUVCU1IyazBxWVUwQ0p4NXJEN25iN2xQUE9JeTgrNVpKTVh5K2ZaVFVCa0ZHWUp0Ni9mMzlLdTNQZ0hoMUlUQ3lCQ0MydDloK1doRHM3V2JCZ1BoVVd1UCtRazEzWWZ0bGxQUUVrNCtycTZtelg1c2x6TnlZT21zQ0pIbjZlNStkR3YyUitldzBCa0FuWW9sVmZYMC9Zdk9tRllHSjNHaS91TE9QbDNUMVZlaFVCQktRei9ISEl4c1pHVjBUQWZyN0ovS1lSOUhadVNZTlhacThrZ0dRZXZoU0syVUlNNDE3bTYyU1N4MGZJNFZNdFkzakNDWWRNWkl2MGFnS1lRYnpMWDY5UTloWndqLzgyTHlYRGZiK2NmcnhsTzVjRzhaRXRZUzh3TmV2cTVYVkVBQzl6c3dlR2xaVWpnVDBRaDlCVWpnZ1FXdFpuUnNRUkFUSURoOUMwaUFnUVd0Wm5Sc1FSQVRJRGg5QzBpQWdRV3RablJzVC9EL3hvbHE1NmpScGxBQUFBQUVsRlRrU3VRbUNDXCIiLCJjb25zdCBnZXRFcnJvck1lc3NhZ2UgPSAoZXJyKSA9PiB7XG4gIGxldCBlcnJvciA9ICcnO1xuICBpZiAoZXJyLnJlc3BvbnNlICYmIGVyci5yZXNwb25zZS5kYXRhKSB7XG4gICAgaWYgKGVyci5yZXNwb25zZS5kYXRhLm1lc3NhZ2UpIHtcbiAgICAgIGlmIChlcnIucmVzcG9uc2UuZGF0YS5tZXNzYWdlID09ICdzdHJpbmcnKSB7XG4gICAgICAgIGVycm9yID0gZXJyLnJlc3BvbnNlLmRhdGEubWVzc2FnZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yID0gSlNPTi5zdHJpbmdpZnkoZXJyLnJlc3BvbnNlLmRhdGEubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyLnJlc3BvbnNlLmRhdGEgPT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChlcnIucmVzcG9uc2UuZGF0YS5pbmNsdWRlcygnbWVzc2FnZScpKSB7XG4gICAgICAgIGVycm9yID0gZXJyLnJlc3BvbnNlLmRhdGEuc3Vic3RyaW5nKDEyLCAoZXJyLnJlc3BvbnNlLmRhdGEubGVuZ3RoIC0gMikpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvciA9IEpTT04uc3RyaW5naWZ5KGVyci5yZXNwb25zZS5kYXRhKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZXJyb3IgPSBlcnIubWVzc2FnZSA/IGVyci5tZXNzYWdlIDogSlNPTi5zdHJpbmdpZnkoZXJyKTtcbiAgfVxuICByZXR1cm4gZXJyb3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZXRFcnJvck1lc3NhZ2U7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGFwaUNhbGwgZnJvbSAnLi4vLi4vLi4vLi4vbGliL2FwaUNhbGwuanMnO1xuaW1wb3J0IExvYWRpbmcgZnJvbSAnLi4vLi4vLi4vLi4vbGliL2xvYWRpbmcuanMnO1xuaW1wb3J0IEVycm9yIGZyb20gJy4uLy4uLy4uLy4uL2xpYi9lcnJvci5qcyc7XG5pbXBvcnQgZ2V0RXJyb3JNZXNzYWdlIGZyb20gJy4uLy4uLy4uLy4uL2xpYi9nZXRFcnJvck1lc3NhZ2UuanMnO1xuaW1wb3J0IHByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IEFwcEJhcixcbiAgVG9vbGJhcixcbiAgVHlwb2dyYXBoeSxcbiAgQnV0dG9uLFxuICBHcmlkLFxuICBUZXh0RmllbGQsXG4gIFBhcGVyLFxuICBDb250YWluZXIsXG4gIFNlbGVjdCxcbiAgRm9ybUNvbnRyb2wsXG4gIElucHV0TGFiZWwsXG4gIE1lbnVJdGVtIH0gZnJvbSAnQG11aS9tYXRlcmlhbCc7XG5cbmNsYXNzIFdlYlJlZmlsbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBlcnJvcnM6IG51bGwsXG4gICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgdmlldzogJ1dlYlJlZmlsbCcsXG4gICAgICBzdG9yZV9uYW1lOiAnJyB8fCBudWxsLFxuICAgICAgbG9nbzogbnVsbCxcbiAgICAgIHN0b3JlX2FkZHJlc3M6ICcnIHx8IG51bGwsXG4gICAgICBzdG9yZV9hZGRyZXNzX3R3bzogJycgfHwgbnVsbCxcbiAgICAgIHBoYXJtYWN5X3Bob25lOiAnJyB8fCBudWxsLFxuICAgICAgY2l0eTogJycgfHwgbnVsbCxcbiAgICAgIHN0YXRlOiAnJyB8fCBudWxsLFxuICAgICAgemlwOiAnJyB8fCBudWxsLFxuICAgICAgYnRuX2NvdW50OiAwLFxuICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgZmllbGRzOiBmaWVsZHMsXG4gICAgICBkYXRhOiBudWxsLFxuICAgICAgd2ViX3ZlcnNpb246IG51bGwsXG4gICAgfTtcbiAgICBjb25zdCBmaWVsZHMgPSB7XG4gICAgICBmaXJzdF9uYW1lOiB7XG4gICAgICAgIHRpdGxlOiAnRmlyc3QgTmFtZScsXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICB0eXBlbmFtZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgIG9uQ2hhbmdlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICBjb25zdCBjb3B5ID0geyAuLi50aGlzLnN0YXRlIH07XG4gICAgICAgICAgaWYgKCEvXlsgLX5dezEsMjB9JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGZpZWxkcy5maXJzdF9uYW1lLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIGZpZWxkcy5maXJzdF9uYW1lLmZlZWRiYWNrID0gJ0ludmFsaWQgRmlyc3QgTmFtZSBGb3JtYXQnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWVsZHMuZmlyc3RfbmFtZS5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgZmllbGRzLmZpcnN0X25hbWUuZmVlZGJhY2sgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgY29weS5maWVsZHMuZmlyc3RfbmFtZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoY29weSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZ1bGx3aWR0aDogdHJ1ZSxcbiAgICAgICAgZmVlZGJhY2s6ICcnLFxuICAgICAgICB2YWx1ZTogJycsXG4gICAgICB9LFxuICAgICAgbGFzdF9uYW1lOiB7XG4gICAgICAgIHRpdGxlOiAnTGFzdCBOYW1lJyxcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgIHR5cGVuYW1lOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvcHkgPSB7IC4uLnRoaXMuc3RhdGUgfTtcbiAgICAgICAgICBpZiAoIS9eWyAtfl17MSwyMH0kLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgZmllbGRzLmxhc3RfbmFtZS5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICBmaWVsZHMubGFzdF9uYW1lLmZlZWRiYWNrID0gJ0ludmFsaWQgTGFzdCBOYW1lIEZvcm1hdCc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpZWxkcy5sYXN0X25hbWUuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpZWxkcy5sYXN0X25hbWUuZmVlZGJhY2sgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgY29weS5maWVsZHMubGFzdF9uYW1lLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShjb3B5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVsbHdpZHRoOiB0cnVlLFxuICAgICAgICBmZWVkYmFjazogJycsXG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgIH0sXG4gICAgICBwaG9uZV9udW1iZXI6IHtcbiAgICAgICAgdGl0bGU6ICdQaG9uZSBOdW1iZXInLFxuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgdHlwZW5hbWU6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICBvbkNoYW5nZTogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29weSA9IHsgLi4udGhpcy5zdGF0ZSB9O1xuICAgICAgICAgIGlmICghL15cXCg/XFxkezN9WykgXT9cXGR7M31bLSBdP1xcZHs0fS8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGZpZWxkcy5waG9uZV9udW1iZXIuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgZmllbGRzLnBob25lX251bWJlci5mZWVkYmFjayA9ICdJbnZhbGlkIFBob25lIE51bWJlciAoaS5lLiAoOTg5KTExMS0xMTExIG9yIDk4OTExMTExMTEpJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmllbGRzLnBob25lX251bWJlci5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgZmllbGRzLnBob25lX251bWJlci5mZWVkYmFjayA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb3B5LmZpZWxkcy5waG9uZV9udW1iZXIudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICAgICAgICB9LFxuICAgICAgICBmdWxsd2lkdGg6IHRydWUsXG4gICAgICAgIGZlZWRiYWNrOiAnJyxcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgfSxcbiAgICAgIGVtYWlsOiB7XG4gICAgICAgIHRpdGxlOiAnRW1haWwgQWRkcmVzcycsXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICB0eXBlbmFtZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvcHkgPSB7IC4uLnRoaXMuc3RhdGUgfTtcbiAgICAgICAgICBpZiAoIS9eWyAtfl17MCwyNTV9JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGZpZWxkcy5lbWFpbC5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICBmaWVsZHMuZW1haWwuZmVlZGJhY2sgPSAnSW52YWxpZCBFbWFpbCBBZGRyZXNzIEZvcm1hdCc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpZWxkcy5lbWFpbC5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgZmllbGRzLmVtYWlsLmZlZWRiYWNrID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvcHkuZmllbGRzLmVtYWlsLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShjb3B5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVsbHdpZHRoOiB0cnVlLFxuICAgICAgICBmZWVkYmFjazogJycsXG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgIH0sXG4gICAgICBmYXhfbnVtYmVyOiB7XG4gICAgICAgIHRpdGxlOiAnRmF4IE51bWJlcicsXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICB0eXBlbmFtZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvcHkgPSB7IC4uLnRoaXMuc3RhdGUgfTtcbiAgICAgICAgICBpZiAoIS9eXFwoP1xcZHszfVspIF0/XFxkezN9Wy0gXT9cXGR7NH0vLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICBmaWVsZHMuZmF4X251bWJlci5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICBmaWVsZHMuZmF4X251bWJlci5mZWVkYmFjayA9ICdJbnZhbGlkIEZheCBOdW1iZXIgRm9ybWF0JztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmllbGRzLmZheF9udW1iZXIuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpZWxkcy5mYXhfbnVtYmVyLmZlZWRiYWNrID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvcHkuZmllbGRzLmZheF9udW1iZXIudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICAgICAgICB9LFxuICAgICAgICBmdWxsd2lkdGg6IHRydWUsXG4gICAgICAgIGZlZWRiYWNrOiAnJyxcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgfSxcbiAgICAgIHByZXNjcmlwdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByZXNjcmlwdGlvbl8wOiB7XG4gICAgICAgICAgICB0aXRsZTogJ1ByZXNjcmlwdGlvbiBOdW1iZXInLFxuICAgICAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgICB0eXBlbmFtZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICBvbkNoYW5nZTogKHZhbHVlLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY29weSA9IHsgLi4udGhpcy5zdGF0ZSB9O1xuICAgICAgICAgICAgICBpZiAoIS9eXFxkezUsMTB9JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zW2lkeF1bYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29weS5maWVsZHMucHJlc2NyaXB0aW9uc1tpZHhdW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0uZmVlZGJhY2sgPSAnSW52YWxpZCBQcmVzY3JpcHRpb24gTnVtYmVyIEZvcm1hdCc7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29weS5maWVsZHMucHJlc2NyaXB0aW9uc1tpZHhdW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0uZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zW2lkeF1bYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5mZWVkYmFjayA9ICcnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvcHkuZmllbGRzLnByZXNjcmlwdGlvbnNbaWR4XVtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoY29weSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnVsbHdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgZmVlZGJhY2s6ICcnLFxuICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZGVsaXZlcnk6IHtcbiAgICAgICAgdGl0bGU6ICdEZWxpdmVyeSAvIE1haWwgU2hpcG1lbnQnLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6ICdObycsXG4gICAgICAgIG9uQ2hhbmdlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICBjb25zdCBjb3B5ID0geyAuLi50aGlzLnN0YXRlIH07XG4gICAgICAgICAgY29weS5maWVsZHMuZGVsaXZlcnkudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgdHlwZW5hbWU6ICdzZWxlY3RvcicsXG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgeyB2YWx1ZTogJ05vJywgTmFtZTogJ05vJyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogJ1llcycsIE5hbWU6ICdZZXMnIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwaWNrdXA6IHtcbiAgICAgICAgdGl0bGU6ICdEZXNpcmVkIFBpY2t1cCBUaW1lJyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6ICctLSBTZWxlY3QgT25lIC0tJyxcbiAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvcHkgPSB7IC4uLnRoaXMuc3RhdGUgfTtcbiAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09ICctLSBTZWxlY3QgT25lIC0tJykge1xuICAgICAgICAgICAgY29weS5maWVsZHMucGlja3VwLmVycm9yID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvcHkuZmllbGRzLnBpY2t1cC5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICBjb3B5LmZpZWxkcy5waWNrdXAuZmVlZGJhY2sgPSAnUGxlYXNlIHNlbGVjdCBhIHZhbGlkIHRpbWUnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb3B5LmZpZWxkcy5waWNrdXAudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgdHlwZW5hbWU6ICdzZWxlY3RvcicsXG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgeyB2YWx1ZTogJy0tIFNlbGVjdCBPbmUgLS0nLCBOYW1lOiAnLS0gU2VsZWN0IE9uZSAtLScgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6ICdObyBQcmVmZXJlbmNlJywgTmFtZTogJ05vIFByZWZlcmVuY2UnIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiAnU29tZXRpbWUgVG9kYXknLCBOYW1lOiAnU29tZXRpbWUgVG9kYXknIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiAnVG9tb3Jyb3cnLCBOYW1lOiAnVG9tb3Jyb3cnIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiAnVG9tb3Jyb3cgTW9ybmluZycsIE5hbWU6ICdUb21vcnJvdyBNb3JuaW5nJyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogJ1RvbW9ycm93IEFmdGVybm9vbicsIE5hbWU6ICdUb21vcnJvdyBBZnRlcm5vb24nIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjb21tZW50czoge1xuICAgICAgICB0aXRsZTogJ0NvbW1lbnRzJyxcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgIHR5cGVuYW1lOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGZhbHNlLFxuICAgICAgICBvbkNoYW5nZTogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29weSA9IHsgLi4udGhpcy5zdGF0ZSB9O1xuICAgICAgICAgIGlmICghL15bIC1+XXswLDI1NX0kLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgZmllbGRzLmNvbW1lbnRzLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIGZpZWxkcy5jb21tZW50cy5mZWVkYmFjayA9ICdJbnZhbGlkIEZvcm1hdCc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpZWxkcy5jb21tZW50cy5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgZmllbGRzLmNvbW1lbnRzLmZlZWRiYWNrID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvcHkuZmllbGRzLmNvbW1lbnRzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShjb3B5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVsbHdpZHRoOiB0cnVlLFxuICAgICAgICBmZWVkYmFjazogJycsXG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLnN0YXRlLmZpZWxkcyA9IGZpZWxkcztcbiAgICB0aGlzLmNoYW5nZVZpZXcgPSB0aGlzLmNoYW5nZVZpZXcuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNsZWFyRmllbGRzID0gdGhpcy5jbGVhckZpZWxkcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZW50aXR5ID0gdGhpcy5lbnRpdHkuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNvbnN0cnVjdFhNTERvY3VtZW50ID0gdGhpcy5jb25zdHJ1Y3RYTUxEb2N1bWVudC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVxdWVzdFJlZmlsbCA9IHRoaXMucmVxdWVzdFJlZmlsbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0U3RvcmVOdW1iZXIgPSB0aGlzLmdldFN0b3JlTnVtYmVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5hZGRSWE51bWJlciA9IHRoaXMuYWRkUlhOdW1iZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLmxvYWQgPSB0aGlzLmxvYWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLnByZXNjcmlwdGlvbkRhdGEgPSB0aGlzLnByZXNjcmlwdGlvbkRhdGEuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgdGhlbWVNb2RlOiBwcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgY2hhbmdlVmlldyh2aWV3KSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZpZXc6IHZpZXcgfSk7XG4gIH1cblxuICBjbGVhckZpZWxkcygpIHtcbiAgICBjb25zdCBjb3B5ID0geyAuLi50aGlzLnN0YXRlIH07XG4gICAgZm9yIChjb25zdCBrZXkgaW4gY29weS5maWVsZHMpIHtcbiAgICAgIGlmIChjb3B5LmZpZWxkc1trZXldLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGtleSA9PSAncGlja3VwJykge1xuICAgICAgICAgIGNvcHkuZmllbGRzW2tleV0udmFsdWUgPSAnLS0gU2VsZWN0IE9uZSAtLSc7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09ICdkZWxpdmVyeScpIHtcbiAgICAgICAgICBjb3B5LmZpZWxkc1trZXldLnZhbHVlID0gJ05vJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3B5LmZpZWxkc1trZXldLnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvcHkuZmllbGRzW2tleV0ucmVxdWlyZWQpIHtcbiAgICAgICAgICBjb3B5LmZpZWxkc1trZXldLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY29weS5idG5fY291bnQgPj0gMCkge1xuICAgICAgY29weS5maWVsZHMucHJlc2NyaXB0aW9ucyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHByZXNjcmlwdGlvbl8wOiB7XG4gICAgICAgICAgICB0aXRsZTogJ1ByZXNjcmlwdGlvbiBOdW1iZXInLFxuICAgICAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgICB0eXBlbmFtZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICBvbkNoYW5nZTogKHZhbHVlLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY29weSA9IHsgLi4udGhpcy5zdGF0ZSB9O1xuICAgICAgICAgICAgICBpZiAoIS9eXFxkezUsMTB9JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zW2lkeF1bYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29weS5maWVsZHMucHJlc2NyaXB0aW9uc1tpZHhdW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0uZmVlZGJhY2sgPSAnSW52YWxpZCBQcmVzY3JpcHRpb24gTnVtYmVyIEZvcm1hdCc7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29weS5maWVsZHMucHJlc2NyaXB0aW9uc1tpZHhdW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0uZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zW2lkeF1bYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5mZWVkYmFjayA9ICcnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvcHkuZmllbGRzLnByZXNjcmlwdGlvbnNbaWR4XVtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoY29weSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnVsbHdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgZmVlZGJhY2s6ICcnLFxuICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29weS5idG5fY291bnQgPSAwO1xuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICB9XG5cbiAgZ2V0U3RvcmVOdW1iZXIoKSB7XG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSA9PSAnbG9jYWxob3N0Jykge1xuICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxNik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDE1KTtcbiAgICB9XG4gIH1cblxuICBlbnRpdHkoLi4uYXJncykge1xuICAgIGNvbnN0IFtkb2MsIGVudGl0eU5hbWUsIC4uLmV4dHJhXSA9IGFyZ3M7XG4gICAgY29uc3Qgbm9kZSA9IGRvYy5jcmVhdGVFbGVtZW50KGVudGl0eU5hbWUpO1xuICAgIGZvciAoY29uc3QgYXJnIG9mIGV4dHJhKSB7XG4gICAgICBpZiAoIWFyZykge1xuICAgICAgICBub2RlLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVUZXh0Tm9kZSgnJykpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJykge1xuICAgICAgICBub2RlLmFwcGVuZENoaWxkKGRvYy5jcmVhdGVUZXh0Tm9kZShhcmcpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoYXJnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBjb25zdHJ1Y3RYTUxEb2N1bWVudCgpIHtcbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgnaHR0cDovL3d3dy5zcnNwaGFybWFjeS5jb20vWE1ML1BhdGllbnRSZWZpbGxSZXF1ZXN0JyxcbiAgICAgICAgJ1BhdGllbnRSZWZpbGxSZXF1ZXN0JyxcbiAgICAgICAgbnVsbCk7XG5cbiAgICBjb25zdCByb290ID0gZG9jLmRvY3VtZW50RWxlbWVudDtcbiAgICBjb25zdCByeCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHRoaXMuc3RhdGUuYnRuX2NvdW50OyBpKyspIHtcbiAgICAgIC8vIEF2b2lkIGVtcHR5IHZhbHVlc1xuICAgICAgaWYgKHRoaXMuc3RhdGUuZmllbGRzLnByZXNjcmlwdGlvbnNbaV1bYHByZXNjcmlwdGlvbl8ke2l9YF0udmFsdWUpIHtcbiAgICAgICAgcngucHVzaCh0aGlzLnN0YXRlLmZpZWxkcy5wcmVzY3JpcHRpb25zW2ldW2BwcmVzY3JpcHRpb25fJHtpfWBdLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcm9vdC5hcHBlbmRDaGlsZCh0aGlzLmVudGl0eShkb2MsICdUbycsIHRoaXMuZ2V0U3RvcmVOdW1iZXIoKSkpO1xuICAgIHJvb3QuYXBwZW5kQ2hpbGQodGhpcy5lbnRpdHkoZG9jLCAnRnJvbScsICdzcnN3ZWInKSk7XG4gICAgcm9vdC5hcHBlbmRDaGlsZCh0aGlzLmVudGl0eShkb2MsICdTZW50VGltZScsIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSkpO1xuICAgIGlmICh0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAudmFsdWUgJiYgdGhpcy5zdGF0ZS5maWVsZHMucGlja3VwLnZhbHVlICE9PSAnLS0gU2VsZWN0IE9uZSAtLScpIHtcbiAgICAgIGNvbnN0IHRvbW9ycm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgKyAoNjAgKiA2MCAqIDI0ICogMTAwMCk7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodG9tb3Jyb3cpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcbiAgICAgIGxldCBob3VyID0gJyc7XG4gICAgICBpZiAodGhpcy5zdGF0ZS5maWVsZHMucGlja3VwLnZhbHVlID09ICdUb21vcnJvdyBNb3JuaW5nJykge1xuICAgICAgICBob3VyID0gJzknO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAudmFsdWUgPT0gJ1RvbW9ycm93IEFmdGVybm9vbicpIHtcbiAgICAgICAgaG91ciA9ICcxMic7XG4gICAgICB9XG4gICAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgICBpZiAoaG91cikge1xuICAgICAgICByZXN1bHQgPSBgJHtkYXRlfVQke2hvdXJ9OjAwOjAwYDtcbiAgICAgIH1cbiAgICAgIHJvb3QuYXBwZW5kQ2hpbGQodGhpcy5lbnRpdHkoZG9jLCAnUGlja3VwVGltZScsIHJlc3VsdCkpO1xuICAgIH1cbiAgICByb290LmFwcGVuZENoaWxkKHRoaXMuZW50aXR5KGRvYywgJ01lc3NhZ2VJRCcsIG5ldyBEYXRlKCkuZ2V0VGltZSgpLnRvU3RyaW5nKCkpKTtcbiAgICBjb25zdCByeE51bWJlcnMgPSByeC5tYXAoKG51bWJlcikgPT4gdGhpcy5lbnRpdHkoZG9jLCAnUnhOdW1iZXInLCBudW1iZXIpKTtcbiAgICByb290LmFwcGVuZENoaWxkKHRoaXMuZW50aXR5KGRvYywgJ1J4TnVtYmVycycsIC4uLnJ4TnVtYmVycykpO1xuICAgIHJvb3QuYXBwZW5kQ2hpbGQodGhpcy5lbnRpdHkoZG9jLCAnQ29udGFjdCcsXG4gICAgICAgIHRoaXMuZW50aXR5KGRvYywgJ0xhc3ROYW1lJywgdGhpcy5zdGF0ZS5maWVsZHMubGFzdF9uYW1lLnZhbHVlKSxcbiAgICAgICAgdGhpcy5lbnRpdHkoZG9jLCAnRmlyc3ROYW1lJywgdGhpcy5zdGF0ZS5maWVsZHMuZmlyc3RfbmFtZS52YWx1ZSksXG4gICAgICAgIHRoaXMuZW50aXR5KGRvYywgJ1Bob25lJywgdGhpcy5zdGF0ZS5maWVsZHMucGhvbmVfbnVtYmVyLnZhbHVlKSxcbiAgICAgICAgdGhpcy5lbnRpdHkoZG9jLCAnRW1haWwnLCB0aGlzLnN0YXRlLmZpZWxkcy5lbWFpbC52YWx1ZSksXG4gICAgICAgIHRoaXMuZW50aXR5KGRvYywgJ0ZheCcsIHRoaXMuc3RhdGUuZmllbGRzLmZheF9udW1iZXIudmFsdWUpKSk7XG4gICAgaWYgKHRoaXMuc3RhdGUuZmllbGRzLmRlbGl2ZXJ5LnZhbHVlID09ICdZZXMnKSB7XG4gICAgICByb290LmFwcGVuZENoaWxkKHRoaXMuZW50aXR5KGRvYywgJ1BpY2t1cE1ldGhvZCcsICdEJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICByb290LmFwcGVuZENoaWxkKHRoaXMuZW50aXR5KGRvYywgJ1BpY2t1cE1ldGhvZCcsICdQJykpO1xuICAgIH1cbiAgICByb290LmFwcGVuZENoaWxkKHRoaXMuZW50aXR5KGRvYywgJ0NvbW1lbnQnLCB0aGlzLnN0YXRlLmZpZWxkcy5jb21tZW50cy52YWx1ZSkpO1xuICAgIHJldHVybiBkb2M7XG4gIH1cblxuICBhZGRSWE51bWJlcigpIHtcbiAgICBjb25zdCBjb3B5ID0geyAuLi50aGlzLnN0YXRlIH07XG4gICAgY29weS5idG5fY291bnQrKztcbiAgICBjb25zdCBwcmVzY3JpcHRpb24gPSBgcHJlc2NyaXB0aW9uXyR7Y29weS5idG5fY291bnR9YDtcbiAgICBjb25zdCBvYmogPSB7fTtcbiAgICBvYmpbcHJlc2NyaXB0aW9uXSA9IHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgbGVmdCBibGFua1xuICAgICAgdGl0bGU6ICcnLFxuICAgICAgdHlwZToge1xuICAgICAgICB0eXBlbmFtZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgIG9uQ2hhbmdlOiAodmFsdWUsIGlkeCkgPT4ge1xuICAgICAgICBjb25zdCBjb3B5ID0geyAuLi50aGlzLnN0YXRlIH07XG4gICAgICAgIGlmICghL15cXGR7NSwxMH0kLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgIGNvcHkuZmllbGRzLnByZXNjcmlwdGlvbnNbaWR4XVtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zW2lkeF1bYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5mZWVkYmFjayA9ICdJbnZhbGlkIFByZXNjcmlwdGlvbiBOdW1iZXIgRm9ybWF0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zW2lkeF1bYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgIGNvcHkuZmllbGRzLnByZXNjcmlwdGlvbnNbaWR4XVtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLmZlZWRiYWNrID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29weS5maWVsZHMucHJlc2NyaXB0aW9uc1tpZHhdW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0udmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShjb3B5KTtcbiAgICAgIH0sXG4gICAgICBmdWxsd2lkdGg6IHRydWUsXG4gICAgICBmZWVkYmFjazogJycsXG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcbiAgICBjb3B5LmZpZWxkcy5wcmVzY3JpcHRpb25zLnB1c2gob2JqKTtcbiAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICB9XG5cbiAgcHJlc2NyaXB0aW9uRGF0YSgpIHtcbiAgICBjb25zdCBwcmVzY3JpcHRpb25fdmFsdWVzID0gW107XG4gICAgY29uc3QgcHJlc2NyaXB0aW9ucyA9IHRoaXMuc3RhdGUuZmllbGRzLnByZXNjcmlwdGlvbnM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmVzY3JpcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHByZXNjcmlwdGlvbnNbaV1bYHByZXNjcmlwdGlvbl8ke2l9YF0udmFsdWU7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcHJlc2NyaXB0aW9uX3ZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDx0ZD57IHByZXNjcmlwdGlvbl92YWx1ZXMuam9pbignLCAnKSB9PC90ZD5cbiAgICApO1xuICB9XG5cbiAgbG9hZCgpIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICB0YWc6IHRoaXMuZ2V0U3RvcmVOdW1iZXIoKSxcbiAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgZW5kcG9pbnQ6ICdxdWVyeScsXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICB9O1xuICAgIGFwaUNhbGwob3B0aW9ucykudGhlbiggYXN5bmMgKHJlc3ApID0+IHtcbiAgICAgIGNvbnN0IHIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgc3RvcmVfbmFtZTogci5uYW1lLFxuICAgICAgICBsb2dvOiByLmxvZ28sXG4gICAgICAgIHN0b3JlX2FkZHJlc3M6IHIuYWRkcmVzczEsXG4gICAgICAgIHN0b3JlX2FkZHJlc3NfdHdvOiByLmFkZHJlc3MyLFxuICAgICAgICBwaGFybWFjeV9waG9uZTogci5waG9uZSxcbiAgICAgICAgZW1haWw6IHIuZW1haWwsXG4gICAgICAgIHdlYnNpdGU6IHIud2Vic2l0ZSxcbiAgICAgICAgY2l0eTogci5jaXR5LFxuICAgICAgICBzdGF0ZTogci5zdGF0ZSxcbiAgICAgICAgemlwOiByLnppcCxcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICB3ZWJfdmVyc2lvbjogci53ZWJfdmVyc2lvbixcbiAgICAgIH0pO1xuICAgIH0pLmNhdGNoKCAoZXJyKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgZXJyb3JzOiBnZXRFcnJvck1lc3NhZ2UoZXJyKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmxvYWRlZCkge1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgcmVxdWVzdFJlZmlsbCgpIHtcbiAgICBjb25zdCByZWZpbGwgPSAnPD94bWwgdmVyc2lvbj1cIjEuMFwiPz4nICsgbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyh0aGlzLmNvbnN0cnVjdFhNTERvY3VtZW50KCkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGVuZHBvaW50OiAnc3VibWl0JyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBkYXRhOiByZWZpbGwsXG4gICAgfTtcbiAgICBhcGlDYWxsKG9wdGlvbnMpLnRoZW4oIChyZXNwKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZVZpZXcoJ1N1Y2Nlc3NTdWJtaXQnKTtcbiAgICB9KS5jYXRjaCggKGVycikgPT4ge1xuICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBlcnJvcnM6IGdldEVycm9yTWVzc2FnZShlcnIpLCBsb2FkZWQ6IHRydWUgfSk7XG4gICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgbGV0IGJvZHkgPSAoXG4gICAgICA8TG9hZGluZy8+XG4gICAgKTtcbiAgICBpZiAoIXRoaXMuc3RhdGUubG9hZGVkKSB7XG4gICAgICBib2R5ID0gKFxuICAgICAgICA8TG9hZGluZy8+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZS5lcnJvcnMpIHtcbiAgICAgIGxldCBlcnJvciA9ICcnO1xuICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3JzID09ICdJbnZhbGlkIGRhdGEgZm9ybWF0JyB8fCB0aGlzLnN0YXRlLmVycm9ycyA9PSAnVW5leHBlY3RlZCB2YWx1ZSBwcm92aWRlJykge1xuICAgICAgICBlcnJvciA9ICdNaXNzaW5nIG9yIGludmFsaWQgc3RvcmUgdGFnIGluIHJlcXVlc3QnO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW11bHRpLXNwYWNlc1xuICAgICAgfSBlbHNlIGlmICggICB0aGlzLnN0YXRlLmVycm9ycyA9PSAnTm90IGVub3VnaCBwYXJhbWV0ZXJzIHN1cHBsaWVkIGluIHJlcXVlc3QnXG4gICAgICAgICAgICAgICAgIHx8IHRoaXMuc3RhdGUuZXJyb3JzID09ICdVbmV4cGVjdGVkL01pc3NpbmcgcXVlcnkgc3RyaW5nIHN1cHBsaWVkJykge1xuICAgICAgICBlcnJvciA9ICdNaXNzaW5nIHN0b3JlIHRhZyBvciBSeCBudW1iZXIgaW4gcXVlcnkgc3RyaW5nJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZS5lcnJvcnMgPT0gJ0ludmFsaWQgZGF0YSBzdXBwbGllZCBpbiB0aGUgcmVxdWVzdCcpIHtcbiAgICAgICAgZXJyb3IgPSAnSW52YWxpZCBoYXNoIGdpdmVuIGluIHRoZSBxdWVyeSBzdHJpbmcnO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIG1lc3NhZ2U6IGVycm9yID8gZXJyb3IgOiB0aGlzLnN0YXRlLmVycm9ycyxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5zdGF0ZS5zdG9yZV9uYW1lKSB7XG4gICAgICAgIHByb3BzLnJldHVyblRvID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7IGVycm9yczogbnVsbCB9KTtcbiAgICAgIH1cbiAgICAgIGJvZHkgPSAoXG4gICAgICAgIEVycm9yKHByb3BzKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoICh0aGlzLnN0YXRlLnZpZXcpIHtcbiAgICAgICAgY2FzZSAnV2ViUmVmaWxsJzpcbiAgICAgICAgICBib2R5ID0gKFxuICAgICAgICAgICAgPENvbnRhaW5lciBtYXhXaWR0aD0nbGcnPlxuICAgICAgICAgICAgICA8UGFwZXIgdmFyaWFudD0nb3V0bGluZWQnPlxuICAgICAgICAgICAgICAgIDxmb3JtIGlkPSdyZWZpbGwtcmVxdWVzdCc+XG4gICAgICAgICAgICAgICAgICA8R3JpZCBjb250YWluZXIgc3BhY2luZz17MX0gc3g9e3sgcGFkZGluZzogJzIwcHgnIH19PlxuICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD0naDQnPldlYiBSZWZpbGwgRm9ybTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBjb250YWluZXIgc3BhY2luZz17Mn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcj17dGhpcy5zdGF0ZS5maWVsZHMuZmlyc3RfbmFtZS5lcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17dGhpcy5zdGF0ZS5maWVsZHMuZmlyc3RfbmFtZS5yZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSdzbWFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSd0ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXt0aGlzLnN0YXRlLmZpZWxkcy5maXJzdF9uYW1lLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlclRleHQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSAmJiB0aGlzLnN0YXRlLmZpZWxkcy5maXJzdF9uYW1lLmVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5zdGF0ZS5maWVsZHMuZmlyc3RfbmFtZS5mZWVkYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLmZpZWxkcy5maXJzdF9uYW1lLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuZmllbGRzLmZpcnN0X25hbWUub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcj17dGhpcy5zdGF0ZS5maWVsZHMubGFzdF9uYW1lLmVycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXt0aGlzLnN0YXRlLmZpZWxkcy5sYXN0X25hbWUucmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0nc21hbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ndGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17dGhpcy5zdGF0ZS5maWVsZHMubGFzdF9uYW1lLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlclRleHQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSAmJiB0aGlzLnN0YXRlLmZpZWxkcy5sYXN0X25hbWUuZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnN0YXRlLmZpZWxkcy5sYXN0X25hbWUuZmVlZGJhY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5maWVsZHMubGFzdF9uYW1lLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuZmllbGRzLmxhc3RfbmFtZS5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXt0aGlzLnN0YXRlLmZpZWxkcy5waG9uZV9udW1iZXIuZXJyb3J9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9e3RoaXMuc3RhdGUuZmllbGRzLnBob25lX251bWJlci5yZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSdzbWFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSd0ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXt0aGlzLnN0YXRlLmZpZWxkcy5waG9uZV9udW1iZXIudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscGVyVGV4dD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlICYmIHRoaXMuc3RhdGUuZmllbGRzLnBob25lX251bWJlci5lcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc3RhdGUuZmllbGRzLnBob25lX251bWJlci5mZWVkYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLmZpZWxkcy5waG9uZV9udW1iZXIudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5maWVsZHMucGhvbmVfbnVtYmVyLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz17MTJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e3RoaXMuc3RhdGUuZmllbGRzLmVtYWlsLmVycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXt0aGlzLnN0YXRlLmZpZWxkcy5lbWFpbC5yZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSdzbWFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSd0ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXt0aGlzLnN0YXRlLmZpZWxkcy5lbWFpbC50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwZXJUZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgJiYgdGhpcy5zdGF0ZS5maWVsZHMuZW1haWwuZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnN0YXRlLmZpZWxkcy5lbWFpbC5mZWVkYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLmZpZWxkcy5lbWFpbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmZpZWxkcy5lbWFpbC5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXt0aGlzLnN0YXRlLmZpZWxkcy5mYXhfbnVtYmVyLmVycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXt0aGlzLnN0YXRlLmZpZWxkcy5mYXhfbnVtYmVyLnJlcXVpcmVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9J3NtYWxsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J3RleHQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RoaXMuc3RhdGUuZmllbGRzLmZheF9udW1iZXIudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscGVyVGV4dD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlICYmIHRoaXMuc3RhdGUuZmllbGRzLmZheF9udW1iZXIuZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnN0YXRlLmZpZWxkcy5mYXhfbnVtYmVyLmZlZWRiYWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuZmllbGRzLmZheF9udW1iZXIudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5maWVsZHMuZmF4X251bWJlci5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5maWVsZHMucHJlc2NyaXB0aW9ucy5tYXAoKHAsIGlkeCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPXsxMn0ga2V5PXtpZHh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e3BbYHByZXNjcmlwdGlvbl8ke2lkeH1gXS5lcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17cFtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLnJlcXVpcmVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9J3NtYWxsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J3RleHQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2lkeCA9PSAwID8gcFtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLnRpdGxlIDogJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscGVyVGV4dD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgJiYgcFtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLmVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0uZmVlZGJhY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwW2BwcmVzY3JpcHRpb25fJHtpZHh9YF0udmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFtgcHJlc2NyaXB0aW9uXyR7aWR4fWBdLm9uQ2hhbmdlKHZhbHVlLCBpZHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9J2NvbnRhaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0ncHJpbWFyeSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlLmZpZWxkcy5wcmVzY3JpcHRpb25zLmxlbmd0aCA8PSA5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkUlhOdW1iZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+QWRkPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUud2ViX3ZlcnNpb24gPT0gMTBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgdGhpcy5zdGF0ZS53ZWJfdmVyc2lvbiA9PSAxM1xuICAgICAgICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLnN0YXRlLndlYl92ZXJzaW9uID09IDE1XG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbCBmdWxsV2lkdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsPnsgdGhpcy5zdGF0ZS5maWVsZHMuZGVsaXZlcnkudGl0bGUgfTwvSW5wdXRMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsSWQ9J2RlbGl2ZXJ5LXNlbGVjdC1sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5maWVsZHMuZGVsaXZlcnkudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RoaXMuc3RhdGUuZmllbGRzLmRlbGl2ZXJ5LnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9J3NtYWxsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuZmllbGRzLmRlbGl2ZXJ5Lm9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5maWVsZHMuZGVsaXZlcnkudHlwZS5vcHRpb25zLm1hcCgobywgaWR4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtIGtleT17YCR7by52YWx1ZX0tJHtpZHh9YH0gdmFsdWU9e28udmFsdWV9Pnsgby52YWx1ZSB9PC9NZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogPGRpdj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS53ZWJfdmVyc2lvbiA9PSAxMFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLnN0YXRlLndlYl92ZXJzaW9uID09IDEzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuc3RhdGUud2ViX3ZlcnNpb24gPT0gMTVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz17MTJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sIGZ1bGxXaWR0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TGFiZWw+eyB0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAudGl0bGUgfTwvSW5wdXRMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsSWQ9J3BpY2t1cC1zZWxlY3QtbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9J3BpY2t1cC1zZWxlY3QnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e3RoaXMuc3RhdGUuZmllbGRzLnBpY2t1cC5lcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17dGhpcy5zdGF0ZS5maWVsZHMucGlja3VwLnJlcXVpcmVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RoaXMuc3RhdGUuZmllbGRzLnBpY2t1cC50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSdzbWFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAub25DaGFuZ2UoZS50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAudHlwZS5vcHRpb25zLm1hcCgobywgaWR4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtIGtleT17YCR7by52YWx1ZX0tJHtpZHh9YH0gdmFsdWU9e28udmFsdWV9Pnsgby52YWx1ZSB9PC9NZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogPGRpdj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpbGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXt0aGlzLnN0YXRlLmZpZWxkcy5jb21tZW50cy5lcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17dGhpcy5zdGF0ZS5maWVsZHMuY29tbWVudHMucmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0nc21hbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RoaXMuc3RhdGUuZmllbGRzLmNvbW1lbnRzLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlclRleHQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSAmJiB0aGlzLnN0YXRlLmZpZWxkcy5jb21tZW50cy5lcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc3RhdGUuZmllbGRzLmNvbW1lbnRzLmZlZWRiYWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuZmllbGRzLmNvbW1lbnRzLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuZmllbGRzLmNvbW1lbnRzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz17MTJ9IHN4PXt7IHBhZGRpbmdUb3A6ICc1cHgnLCBiZ2NvbG9yOiAncmdiYSgwLDAsMCwuMDUnIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBjb250YWluZXIgc3BhY2luZz17Mn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz0gezZ9IHN4PXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdzYXZlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PSdjb250YWluZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSdwcmltYXJ5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuc3RhdGUuZmllbGRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdWJtaXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHkgPSB7IC4uLnRoaXMuc3RhdGUgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIGluIGZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkc1tmaWVsZF0uZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKEFycmF5LmlzQXJyYXkoZmllbGRzW2ZpZWxkXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIWZpZWxkc1tmaWVsZF1bMF1bYHByZXNjcmlwdGlvbl8wYF0udmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1pdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICggWzEwLCAxMywgMTVdLmluY2x1ZGVzKHRoaXMuc3RhdGUud2ViX3ZlcnNpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGZpZWxkID09ICdwaWNrdXAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGZpZWxkc1tmaWVsZF0udmFsdWUgPT0gJy0tIFNlbGVjdCBPbmUgLS0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1pdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5LmZpZWxkcy5waWNrdXAuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKGNvcHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3VibWl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RSZWZpbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhdmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPXs2fSBzeD17eyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnZmxleC1lbmQnIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J3Jlc2V0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PSdjb250YWluZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSdlcnJvcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyRmllbGRzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz17Nn0gc3g9e3sgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtZW5kJyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgIDwvUGFwZXI+XG4gICAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdTdWNjZXNzU3VibWl0JzpcbiAgICAgICAgICBib2R5ID0gKFxuICAgICAgICAgICAgPENvbnRhaW5lciBtYXhXaWR0aD0nbGcnPlxuICAgICAgICAgICAgICA8UGFwZXIgdmFyaWFudD0nb3V0bGluZWQnPlxuICAgICAgICAgICAgICAgIDxHcmlkIGNvbnRhaW5lciBzcGFjaW5nPXsyfT5cbiAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfSBzeD17eyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9J2g2JyBzeD17eyBwYWRkaW5nOiAnNXB4JyB9fT5GaWxsIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHkhPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgPEdyaWQgaXRlbSB4cz17MTJ9IHN4PXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAgICA8dGFibGU+XG4gICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+UGF0aWVudDo8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+eyB0aGlzLnN0YXRlLmZpZWxkcy5maXJzdF9uYW1lLnZhbHVlICsgJyAnICsgdGhpcy5zdGF0ZS5maWVsZHMubGFzdF9uYW1lLnZhbHVlIH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlBob25lIE51bWJlcjo8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+eyB0aGlzLnN0YXRlLmZpZWxkcy5waG9uZV9udW1iZXIudmFsdWUgfTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5zdGF0ZS5maWVsZHMuZW1haWwudmFsdWUgPyAnJyA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RW1haWw6PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57IHRoaXMuc3RhdGUuZmllbGRzLmVtYWlsLnZhbHVlIH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuc3RhdGUuZmllbGRzLmZheF9udW1iZXIudmFsdWUgPyAnJyA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RmF4IE51bWJlcjo8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnsgdGhpcy5zdGF0ZS5maWVsZHMuZmF4X251bWJlci52YWx1ZSB9PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5QcmVzY3JpcHRpb25zOjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXNjcmlwdGlvbkRhdGEoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLndlYl92ZXJzaW9uID09IDEwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuc3RhdGUud2ViX3ZlcnNpb24gPT0gMTNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgdGhpcy5zdGF0ZS53ZWJfdmVyc2lvbiA9PSAxNVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RGVsaXZlcnk6PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57IHRoaXMuc3RhdGUuZmllbGRzLmRlbGl2ZXJ5LnZhbHVlIH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLndlYl92ZXJzaW9uID09IDEwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuc3RhdGUud2ViX3ZlcnNpb24gPT0gMTNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgdGhpcy5zdGF0ZS53ZWJfdmVyc2lvbiA9PSAxNVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+UGlja3VwOjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+eyB0aGlzLnN0YXRlLmZpZWxkcy5waWNrdXAudmFsdWUgfTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLnN0YXRlLmZpZWxkcy5jb21tZW50cy52YWx1ZSA/ICcnIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Db21tZW50czo8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnsgdGhpcy5zdGF0ZS5maWVsZHMuY29tbWVudHMudmFsdWUgfTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPXsxMn0gc3g9e3sgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnIH19PlxuICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSBzeD17eyBwYWRkaW5nOiAnNXB4JyB9fT5Xb3VsZCB5b3UgbGlrZSB0byBzdWJtaXQgYW5vdGhlciBmaWxsPzwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgPEdyaWQgY29udGFpbmVyIHNwYWNpbmc9ezJ9PlxuICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGl0ZW0geHM9ezZ9IHN4PXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3g9e3sgbWFyZ2luOiAnNXB4JyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9J2NvbnRhaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9J3ByaW1hcnknXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckZpZWxkcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlVmlldygnV2ViUmVmaWxsJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFllc1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICA8L1BhcGVyPlxuICAgICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxBcHBCYXJcbiAgICAgICAgICBwb3NpdGlvbj1cInN0YXRpY1wiXG4gICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5wcm9wcy50aGVtZU1vZGUgPT09ICdsaWdodCcgPyAnI0Y1RjVGNScgOiAnI0UwRTBFMCcsXG4gICAgICAgICAgICBjb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFRvb2xiYXIgc3g9e3sgcGFkZGluZ0JvdHRvbTogJzAuNSByZW0nIH19PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aGlzLnN0YXRlLmxvZ28gPyAoXG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgc3JjPXt0aGlzLnN0YXRlLmxvZ299XG4gICAgICAgICAgICAgICAgICBhbHQ9e3RoaXMuc3RhdGUuc3RvcmVfbmFtZX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbjogJzVweCcsIGJvcmRlclJhZGl1czogJzVweCcsIGhlaWdodDogJzVyZW0nIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT57dGhpcy5zdGF0ZS5zdG9yZV9uYW1lfTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvVG9vbGJhcj5cbiAgICAgICAgPC9BcHBCYXI+XG4gICAgICAgIHtib2R5fVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBXZWJSZWZpbGw7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSGFzaFJvdXRlciwgUm91dGVzLCBSb3V0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IEhvbWUgZnJvbSAnLi9wYWdlcy9Ib21lLmpzJztcbmltcG9ydCBMb2FkaW5nIGZyb20gJy4uLy4uLy4uL2xpYi9sb2FkaW5nLmpzJztcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIsIGNyZWF0ZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgQ3NzQmFzZWxpbmUgfSBmcm9tICdAbXVpL21hdGVyaWFsJztcblxuY2xhc3MgQXBwIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgI2RhcmtNb2RlID0gbnVsbDtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGVycm9yczogbnVsbCxcbiAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgIHRoZW1lOiAnbGlnaHQnLFxuICAgIH07XG4gICAgdGhpcy50aGVtZUxpZ2h0ID0gY3JlYXRlVGhlbWUoe1xuICAgICAgcGFsZXR0ZToge1xuICAgICAgICBtb2RlOiAnbGlnaHQnLFxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgZGVmYXVsdDogJyNlZmVmZWYnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnRoZW1lRGFyayA9IGNyZWF0ZVRoZW1lKHtcbiAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgbW9kZTogJ2RhcmsnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnByZWZlcnNEYXJrTW9kZSA9IHRoaXMucHJlZmVyc0RhcmtNb2RlLmJpbmQodGhpcyk7XG4gICAgdGhpcy51cGRhdGVUaGVtZSA9IHRoaXMudXBkYXRlVGhlbWUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMucHJlZmVyc0RhcmtNb2RlKCk7XG4gIH1cblxuICBhc3luYyBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICBpZiAodGhpcy4jZGFya01vZGUpIHtcbiAgICAgIHRoaXMuI2RhcmtNb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMudXBkYXRlVGhlbWUpO1xuICAgICAgdGhpcy4jZGFya01vZGUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByZWZlcnNEYXJrTW9kZSgpIHtcbiAgICB0aGlzLnVwZGF0ZVRoZW1lKCk7XG4gICAgdGhpcy4jZGFya01vZGUgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpO1xuICAgIHRoaXMuI2RhcmtNb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMudXBkYXRlVGhlbWUpO1xuICB9XG5cbiAgdXBkYXRlVGhlbWUoZSA9IG51bGwpIHtcbiAgICBpZiAoIWUpIHtcbiAgICAgIGUgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpO1xuICAgIH1cbiAgICBjb25zdCB0aGVtZSA9IGUubWF0Y2hlcyA/ICdkYXJrJyA6ICdsaWdodCc7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHRoZW1lIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLmxvYWRlZCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoaXMuc3RhdGUudGhlbWUgPT09ICdkYXJrJyA/IHRoaXMudGhlbWVEYXJrIDogdGhpcy50aGVtZUxpZ2h0fT5cbiAgICAgICAgICA8Q3NzQmFzZWxpbmUgLz5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEhhc2hSb3V0ZXI+XG4gICAgICAgICAgICAgIDxSb3V0ZXM+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy8nIGVsZW1lbnQ9ezxIb21lIHRoZW1lTW9kZT17dGhpcy5zdGF0ZS50aGVtZX0gLz59IC8+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9J3dlYnJlZmlsbGZvcm0vJyBlbGVtZW50PXs8SG9tZSB0aGVtZU1vZGU9e3RoaXMuc3RhdGUudGhlbWV9IC8+fSAvPlxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPSd3ZWJyZWZpbGxmb3JtLzp0YWcnIGVsZW1lbnQ9ezxIb21lIHRoZW1lTW9kZT17dGhpcy5zdGF0ZS50aGVtZX0gLz59IC8+XG4gICAgICAgICAgICAgIDwvUm91dGVzPlxuICAgICAgICAgICAgPC9IYXNoUm91dGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8TG9hZGluZy8+XG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcHA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnO1xuaW1wb3J0IEFwcCBmcm9tICcuL0FwcCc7XG5cbmNvbnN0IHJvb3QgPSBSZWFjdERPTS5jcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKSk7XG5yb290LnJlbmRlcihcbiAgICA8UmVhY3QuU3RyaWN0TW9kZT5cbiAgICAgIDxBcHAgLz5cbiAgICA8L1JlYWN0LlN0cmljdE1vZGU+XG4pO1xuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgYW5kIGxvYWRpbmcgY2h1bmtzXG4vLyB1bmRlZmluZWQgPSBjaHVuayBub3QgbG9hZGVkLCBudWxsID0gY2h1bmsgcHJlbG9hZGVkL3ByZWZldGNoZWRcbi8vIFtyZXNvbHZlLCByZWplY3QsIFByb21pc2VdID0gY2h1bmsgbG9hZGluZywgMCA9IGNodW5rIGxvYWRlZFxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0NzkyOiAwXG59O1xuXG4vLyBubyBjaHVuayBvbiBkZW1hbmQgbG9hZGluZ1xuXG4vLyBubyBwcmVmZXRjaGluZ1xuXG4vLyBubyBwcmVsb2FkZWRcblxuLy8gbm8gSE1SXG5cbi8vIG5vIEhNUiBtYW5pZmVzdFxuXG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8uaiA9IChjaHVua0lkKSA9PiAoaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID09PSAwKTtcblxuLy8gaW5zdGFsbCBhIEpTT05QIGNhbGxiYWNrIGZvciBjaHVuayBsb2FkaW5nXG52YXIgd2VicGFja0pzb25wQ2FsbGJhY2sgPSAocGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24sIGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Ly8gYWRkIFwibW9yZU1vZHVsZXNcIiB0byB0aGUgbW9kdWxlcyBvYmplY3QsXG5cdC8vIHRoZW4gZmxhZyBhbGwgXCJjaHVua0lkc1wiIGFzIGxvYWRlZCBhbmQgZmlyZSBjYWxsYmFja1xuXHR2YXIgbW9kdWxlSWQsIGNodW5rSWQsIGkgPSAwO1xuXHRpZihjaHVua0lkcy5zb21lKChpZCkgPT4gKGluc3RhbGxlZENodW5rc1tpZF0gIT09IDApKSkge1xuXHRcdGZvcihtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYocnVudGltZSkgdmFyIHJlc3VsdCA9IHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdH1cblx0aWYocGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24pIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xuXHRmb3IoO2kgPCBjaHVua0lkcy5sZW5ndGg7IGkrKykge1xuXHRcdGNodW5rSWQgPSBjaHVua0lkc1tpXTtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oaW5zdGFsbGVkQ2h1bmtzLCBjaHVua0lkKSAmJiBpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkXVswXSgpO1xuXHRcdH1cblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0gPSAwO1xuXHR9XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fLk8ocmVzdWx0KTtcbn1cblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtzcnNyZmxfcmVhY3RcIl0gPSBzZWxmW1wid2VicGFja0NodW5rc3JzcmZsX3JlYWN0XCJdIHx8IFtdO1xuY2h1bmtMb2FkaW5nR2xvYmFsLmZvckVhY2god2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLCAwKSk7XG5jaHVua0xvYWRpbmdHbG9iYWwucHVzaCA9IHdlYnBhY2tKc29ucENhbGxiYWNrLmJpbmQobnVsbCwgY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpKTsiLCIvLyBzdGFydHVwXG4vLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGRlcGVuZHMgb24gb3RoZXIgbG9hZGVkIGNodW5rcyBhbmQgZXhlY3V0aW9uIG5lZWQgdG8gYmUgZGVsYXllZFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbMjExLDgxNCw5NDcsNjE2LDI2MCw5MjgsMjA4LDg2NSw4MjgsNTE2XSwgKCkgPT4gKF9fd2VicGFja19yZXF1aXJlX18oOTM2NykpKVxuX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcbiJdLCJuYW1lcyI6WyJkZWZlcnJlZCIsImxlYWZQcm90b3R5cGVzIiwiZ2V0UHJvdG8iLCJvcHRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjb250ZXh0IiwicmVzcG9uc2VUeXBlIiwidXJsIiwid2luZG93IiwibG9jYXRpb24iLCJob3N0bmFtZSIsImhlYWRlcnMiLCJheGlvcyIsIm1ldGhvZCIsInRvTG93ZXJDYXNlIiwiY29uY2F0IiwiZW5kcG9pbnQiLCJwYXJhbXMiLCJkYXRhIiwidGhlbiIsIl9SZWFjdCRDb21wb25lbnQiLCJfaW5oZXJpdHMiLCJMb2FkaW5nIiwiX3N1cGVyIiwicHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2siLCJjYWxsIiwia2V5IiwidmFsdWUiLCJib2R5IiwiUmVhY3QiLCJDb250YWluZXIiLCJtYXhXaWR0aCIsIlBhcGVyIiwic3R5bGUiLCJwYWRkaW5nIiwibWFyZ2luVG9wIiwiR3JpZCIsImNvbnRhaW5lciIsIml0ZW0iLCJ4cyIsIkJveCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsIlR5cG9ncmFwaHkiLCJ2YXJpYW50IiwiQ2lyY3VsYXJQcm9ncmVzcyIsIkVycm9yIiwiZGlyZWN0aW9uIiwic3JjIiwiaXNNZXNzYWdlIiwibWVzc2FnZSIsInJldHVyblRvIiwiQnV0dG9uIiwid2lkdGgiLCJvbkNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJib29sIiwiZXJyIiwiZXJyb3IiLCJyZXNwb25zZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpbmNsdWRlcyIsInN1YnN0cmluZyIsImxlbmd0aCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJkZWZpbmVQcm9wZXJ0eSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsIl90eXBlb2YiLCJfX2F3YWl0IiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJkb25lIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJfbmV4dCIsIl90aHJvdyIsImluZm8iLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImFyciIsImxlbiIsImFycjIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsImRlc2NyaXB0b3IiLCJfdG9Qcm9wZXJ0eUtleSIsIl9zZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwic2VsZiIsIlJlZmVyZW5jZUVycm9yIiwiX2dldFByb3RvdHlwZU9mIiwib2JqIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJfdG9QcmltaXRpdmUiLCJXZWJSZWZpbGwiLCJzdWJDbGFzcyIsInN1cGVyQ2xhc3MiLCJDb25zdHJ1Y3RvciIsInByb3RvUHJvcHMiLCJEZXJpdmVkIiwiaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJzaGFtIiwiUHJveHkiLCJCb29sZWFuIiwidmFsdWVPZiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJyZXN1bHQiLCJTdXBlciIsIk5ld1RhcmdldCIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX3RoaXMiLCJpbnN0YW5jZSIsInN0YXRlIiwiZXJyb3JzIiwibG9hZGVkIiwidmlldyIsInN0b3JlX25hbWUiLCJsb2dvIiwic3RvcmVfYWRkcmVzcyIsInN0b3JlX2FkZHJlc3NfdHdvIiwicGhhcm1hY3lfcGhvbmUiLCJjaXR5IiwiemlwIiwiYnRuX2NvdW50IiwidmFsaWQiLCJmaWVsZHMiLCJ3ZWJfdmVyc2lvbiIsImZpcnN0X25hbWUiLCJ0aXRsZSIsInR5cGVuYW1lIiwicmVxdWlyZWQiLCJvbkNoYW5nZSIsImNvcHkiLCJmZWVkYmFjayIsInNldFN0YXRlIiwiZnVsbHdpZHRoIiwibGFzdF9uYW1lIiwicGhvbmVfbnVtYmVyIiwiZW1haWwiLCJmYXhfbnVtYmVyIiwicHJlc2NyaXB0aW9ucyIsInByZXNjcmlwdGlvbl8wIiwiaWR4IiwiZGVsaXZlcnkiLCJkaXNhYmxlZCIsIm9wdGlvbnMiLCJOYW1lIiwicGlja3VwIiwiY29tbWVudHMiLCJjaGFuZ2VWaWV3IiwiY2xlYXJGaWVsZHMiLCJlbnRpdHkiLCJjb25zdHJ1Y3RYTUxEb2N1bWVudCIsInJlcXVlc3RSZWZpbGwiLCJnZXRTdG9yZU51bWJlciIsImFkZFJYTnVtYmVyIiwibG9hZCIsInByZXNjcmlwdGlvbkRhdGEiLCJ0aGlzIiwiX3RoaXMyIiwidW5kZWZpbmVkIiwiaGFzaCIsInBhdGhuYW1lIiwiX2xlbiIsImFyZ3MiLCJfa2V5IiwiX3N0ZXAiLCJkb2MiLCJlbnRpdHlOYW1lIiwiZXh0cmEiLCJub2RlIiwiY3JlYXRlRWxlbWVudCIsIl9pdGVyYXRvciIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJpc0FycmF5IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFwcGVuZENoaWxkIiwiY3JlYXRlVGV4dE5vZGUiLCJfdGhpczMiLCJkb2N1bWVudCIsImltcGxlbWVudGF0aW9uIiwiY3JlYXRlRG9jdW1lbnQiLCJyb290IiwiZG9jdW1lbnRFbGVtZW50IiwicngiLCJEYXRlIiwidG9JU09TdHJpbmciLCJ0b21vcnJvdyIsImdldFRpbWUiLCJkYXRlIiwic3BsaXQiLCJob3VyIiwicnhOdW1iZXJzIiwibWFwIiwibnVtYmVyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiaXRlciIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJfdGhpczQiLCJwcmVzY3JpcHRpb25fdmFsdWVzIiwiam9pbiIsIl90aGlzNSIsInRhZyIsImFwaUNhbGwiLCJmbiIsIl9yZWYiLCJfY2FsbGVlIiwicmVzcCIsIl9jb250ZXh0IiwicGFyc2UiLCJhZGRyZXNzMSIsImFkZHJlc3MyIiwicGhvbmUiLCJ3ZWJzaXRlIiwiX3giLCJjb25zb2xlIiwibG9nIiwiZ2V0RXJyb3JNZXNzYWdlIiwiX3RoaXM2IiwicmVmaWxsIiwiWE1MU2VyaWFsaXplciIsInNlcmlhbGl6ZVRvU3RyaW5nIiwiX3RoaXM3IiwiaWQiLCJzcGFjaW5nIiwic3giLCJUZXh0RmllbGQiLCJmdWxsV2lkdGgiLCJzaXplIiwibGFiZWwiLCJoZWxwZXJUZXh0IiwiY29sb3IiLCJGb3JtQ29udHJvbCIsIklucHV0TGFiZWwiLCJTZWxlY3QiLCJsYWJlbElkIiwiTWVudUl0ZW0iLCJtdWx0aWxpbmUiLCJiZ2NvbG9yIiwiY2xhc3NOYW1lIiwic3VibWl0IiwiZmllbGQiLCJtYXJnaW4iLCJBcHBCYXIiLCJwb3NpdGlvbiIsImJhY2tncm91bmRDb2xvciIsInRoZW1lTW9kZSIsIlRvb2xiYXIiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJoZWlnaHQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9jbGFzc1ByaXZhdGVGaWVsZFNldCIsInJlY2VpdmVyIiwicHJpdmF0ZU1hcCIsInNldCIsIl9jbGFzc0FwcGx5RGVzY3JpcHRvclNldCIsIl9jbGFzc0V4dHJhY3RGaWVsZERlc2NyaXB0b3IiLCJfY2xhc3NQcml2YXRlRmllbGRHZXQiLCJnZXQiLCJfY2xhc3NBcHBseURlc2NyaXB0b3JHZXQiLCJhY3Rpb24iLCJoYXMiLCJfZGFya01vZGUiLCJXZWFrTWFwIiwiQXBwIiwiX2NvbXBvbmVudFdpbGxVbm1vdW50IiwiX2NvbXBvbmVudERpZE1vdW50IiwicHJpdmF0ZUNvbGxlY3Rpb24iLCJfY2hlY2tQcml2YXRlUmVkZWNsYXJhdGlvbiIsInRoZW1lIiwidGhlbWVMaWdodCIsImNyZWF0ZVRoZW1lIiwicGFsZXR0ZSIsIm1vZGUiLCJiYWNrZ3JvdW5kIiwiZGVmYXVsdCIsInRoZW1lRGFyayIsInByZWZlcnNEYXJrTW9kZSIsInVwZGF0ZVRoZW1lIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibWF0Y2hNZWRpYSIsImFkZEV2ZW50TGlzdGVuZXIiLCJtYXRjaGVzIiwiVGhlbWVQcm92aWRlciIsIkNzc0Jhc2VsaW5lIiwiSGFzaFJvdXRlciIsIlJvdXRlcyIsIlJvdXRlIiwicGF0aCIsImVsZW1lbnQiLCJIb21lIiwiUmVhY3RET00iLCJnZXRFbGVtZW50QnlJZCIsInJlbmRlciIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwibSIsIk8iLCJjaHVua0lkcyIsInByaW9yaXR5Iiwibm90RnVsZmlsbGVkIiwiSW5maW5pdHkiLCJmdWxmaWxsZWQiLCJqIiwiZXZlcnkiLCJzcGxpY2UiLCJnZXR0ZXIiLCJfX2VzTW9kdWxlIiwibnMiLCJkZWYiLCJjdXJyZW50IiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5TmFtZXMiLCJkZWZpbml0aW9uIiwicHJvcCIsImluc3RhbGxlZENodW5rcyIsImNodW5rSWQiLCJ3ZWJwYWNrSnNvbnBDYWxsYmFjayIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwibW9yZU1vZHVsZXMiLCJydW50aW1lIiwic29tZSIsImNodW5rTG9hZGluZ0dsb2JhbCIsIl9fd2VicGFja19leHBvcnRzX18iXSwic291cmNlUm9vdCI6IiJ9