react-gravity-form
Version:
A component for including Gravity Forms on React apps via the Wordpress API
2 lines • 32.2 kB
JavaScript
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),_createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass")),_possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")),_getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")),_assertThisInitialized2=_interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")),_inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_react=_interopRequireWildcard(require("react")),_reactDropzone=_interopRequireDefault(require("react-dropzone")),_GFDropzone=_interopRequireDefault(require("./GFDropzone")),_InputLabel=_interopRequireDefault(require("../../FormElements/InputLabel"));function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(b,c){if(!c&&b&&b.__esModule)return b;if(null===b||"object"!=_typeof(b)&&"function"!=typeof b)return{default:b};var d=_getRequireWildcardCache(c);if(d&&d.has(b))return d.get(b);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in b)if("default"!=a&&Object.prototype.hasOwnProperty.call(b,a)){var g=f?Object.getOwnPropertyDescriptor(b,a):null;g&&(g.get||g.set)?Object.defineProperty(e,a,g):e[a]=b[a]}return e["default"]=b,d&&d.set(b,e),e}function _callSuper(a,b,c){return b=(0,_getPrototypeOf2["default"])(b),(0,_possibleConstructorReturn2["default"])(a,_isNativeReflectConstruct()?Reflect.construct(b,c||[],(0,_getPrototypeOf2["default"])(a).constructor):b.apply(a,c))}function _isNativeReflectConstruct(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(a){}return(_isNativeReflectConstruct=function(){return!!a})()}var Fileupload=function(a){function b(){var a;(0,_classCallCheck2["default"])(this,b);for(var c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];return a=_callSuper(this,b,[].concat(d)),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"state",{imagePreviewUrl:a.props.field.preview||null,selectedFile:!!a.props.field.preview||null,uploadFileText:"No file chosen",previewID:a.props.value||null,errorText:a.props.error||!1}),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"inputFile",_react["default"].createRef()),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"onChangeHandler",function(b){var c=a.props.field,d=c.hasPreview,e=c.allowedExtensions;if(a.setState({imagePreviewUrl:null,selectedFile:b.target.files[0],uploadFileText:b.target.files[0]?b.target.files[0].name:"No file chosen"}),d&&b.target&&b.target.files[0]){var f=b.target.files[0].name.split(".").pop().toLowerCase(),g=-1<e.indexOf(f);if(g){var h=new FileReader;h.onloadend=function(){a.setState({imagePreviewUrl:h.result,previewID:!1})},h.readAsDataURL(b.target.files[0])}}}),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"removeFilePreview",function(){var b=a.props,c=b.field,d=b.unsetError;a.inputFile.current.value="",a.setState({imagePreviewUrl:null,selectedFile:null,previewID:!1}),d(c.id)}),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"prepareAllowedTypes",function(a){var b=a.split(",");return b=b.map(function(a){return".".concat(a.replace(/\s/g,""))}).join(", "),b}),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"onButtonClickHandler",function(){a.inputFile.current.click()}),(0,_defineProperty2["default"])((0,_assertThisInitialized2["default"])(a),"removeFile",function(b,c){b.preventDefault();var d=a.props.updateForm;d({target:{value:""}},c),a.inputFile.current.value="",a.setState({imagePreviewUrl:!1,selectedFile:!1,previewID:!1,uploadFileText:"No file chosen"})}),a}return(0,_inherits2["default"])(b,a),(0,_createClass2["default"])(b,[{key:"render",value:function render(){var a=this,b=this.state,c=b.selectedFile,d=b.uploadFileText,e=b.imagePreviewUrl,f=b.previewID,g=this.props,h=g.field,i=g.value,j=g.validationMessage,k=g.touched,l=g.setTouched,m=g.hideField,n=g.updateForm,o=g.formID,p=g.fieldError,q=g.styledComponents,r=g.error,s=g.unsetError,t=g.dropzoneText,u=h.id,v=h.type,w=h.label,x=h.cssClass,y=h.isRequired,z=h.description,A=h.descriptionPlacement,B=h.labelPlacement,C=h.width,D=h.allowedExtensions,E=h.buttonText,F=h.hasPreview,G=h.maxFileSize,H=q||!1,I=H.Button,J=void 0===I?"button":I,K=H.Label,L=void 0===K?"label":K,M=H.FileWrapper,N=void 0===M?"div":M,O=H.Box,P=void 0===O?"div":O,Q=-1<x.indexOf("dropzone");return _react["default"].createElement(P,{width:C,className:j&&k||r?"form-field error ".concat(x):"form-field ".concat(x),style:{display:m?"none":void 0}},_react["default"].createElement(N,{className:v},_react["default"].createElement(_InputLabel["default"],{formId:o,id:u,label:w,labelPlacement:B,isRequired:y,styledComponent:q}),"above"===A&&z&&z&&_react["default"].createElement("div",{className:"description",dangerouslySetInnerHTML:{__html:z}}),Q?_react["default"].createElement(_GFDropzone["default"],{dropzoneText:t,field:h,id:u,formID:o,isRequired:y,updateForm:n,setTouched:l,unsetError:s}):_react["default"].createElement(_react["default"].Fragment,null,G&&_react["default"].createElement("input",{type:"hidden",name:"MAX_FILE_SIZE",value:1048576*G}),_react["default"].createElement("input",{id:"input_".concat(o,"_").concat(u),name:"input_".concat(u),type:"file",required:y,ref:this.inputFile,onChange:function onChange(b){var c;a.onChangeHandler(b),n({target:{value:null===b||void 0===b||null===(c=b.target)||void 0===c||null===(c=c.files)||void 0===c||null===(c=c[0])||void 0===c?void 0:c.name}},h),l(u),s(u)},onBlur:function onBlur(a){var b;n({target:{value:null===a||void 0===a||null===(b=a.target)||void 0===b||null===(b=b.files)||void 0===b||null===(b=b[0])||void 0===b?void 0:b.name}},h),l(u)},accept:this.prepareAllowedTypes(D)||void 0,"aria-label":w,"aria-describedby":"error_".concat(o,"_").concat(u),"aria-invalid":!!j||!!r,hidden:"hidden"}),f&&h.preview&&_react["default"].createElement("input",{type:"hidden",name:"file-upload-preview",value:f}),F&&_react["default"].createElement("div",{className:"file-preview",style:c&&e?{backgroundImage:"url(".concat(e,")")}:void 0},c&&e&&_react["default"].createElement("button",{type:"button",className:"remove-file",onClick:function onClick(){return a.removeFilePreview()}})),_react["default"].createElement("div",{"aria-pressed":"false",tabIndex:"0",role:"button",className:"fileUpload",onClick:this.onButtonClickHandler},_react["default"].createElement(J,{color:"yellow",tabIndex:"-1",type:"button"},E||"Choose a file"),!c&&_react["default"].createElement("span",{className:"no-file"},d)),c&&_react["default"].createElement("div",null,_react["default"].createElement("button",{type:"button",onClick:function onClick(b){return a.removeFile(b,h)}},"remove file"),_react["default"].createElement("span",null,d)),z&&"above"!==A&&_react["default"].createElement("div",{className:"description",dangerouslySetInnerHTML:{__html:z}})),(j&&k||r)&&_react["default"].createElement("span",{className:"error-message",id:"error_".concat(u)},j||r),p&&_react["default"].createElement("span",{className:"error-message",id:"error_".concat(o,"_").concat(u)},p)))}}]),b}(_react.Component),_default=exports["default"]=Fileupload;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxldXBsb2FkIiwiYSIsImIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiYyIsImFyZ3VtZW50cyIsImxlbmd0aCIsImQiLCJBcnJheSIsImUiLCJfY2FsbFN1cGVyIiwiY29uY2F0IiwiX2RlZmluZVByb3BlcnR5MiIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQyIiwiaW1hZ2VQcmV2aWV3VXJsIiwicHJvcHMiLCJmaWVsZCIsInByZXZpZXciLCJzZWxlY3RlZEZpbGUiLCJ1cGxvYWRGaWxlVGV4dCIsInByZXZpZXdJRCIsInZhbHVlIiwiZXJyb3JUZXh0IiwiZXJyb3IiLCJSZWFjdCIsImNyZWF0ZVJlZiIsImV2ZW50IiwiaGFzUHJldmlldyIsImFsbG93ZWRFeHRlbnNpb25zIiwic2V0U3RhdGUiLCJ0YXJnZXQiLCJmaWxlcyIsIm5hbWUiLCJleHRlbnNpb24iLCJzcGxpdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaXNTdWNjZXNzIiwiaW5kZXhPZiIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWRlbmQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwidW5zZXRFcnJvciIsImlucHV0RmlsZSIsImN1cnJlbnQiLCJpZCIsInR5cGVzIiwiYWNjZXB0IiwibWFwIiwic3RyIiwicmVwbGFjZSIsImpvaW4iLCJjbGljayIsInByZXZlbnREZWZhdWx0IiwidXBkYXRlRm9ybSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwicmVuZGVyIiwic3RhdGUiLCJnIiwidmFsaWRhdGlvbk1lc3NhZ2UiLCJ0b3VjaGVkIiwic2V0VG91Y2hlZCIsImhpZGVGaWVsZCIsImZvcm1JRCIsImZpZWxkRXJyb3IiLCJzdHlsZWRDb21wb25lbnRzIiwiZHJvcHpvbmVUZXh0IiwidHlwZSIsImxhYmVsIiwiY3NzQ2xhc3MiLCJpc1JlcXVpcmVkIiwiZGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvblBsYWNlbWVudCIsImxhYmVsUGxhY2VtZW50Iiwid2lkdGgiLCJidXR0b25UZXh0IiwibWF4RmlsZVNpemUiLCJIIiwiSSIsIkJ1dHRvbiIsIksiLCJMYWJlbCIsIk0iLCJGaWxlV3JhcHBlciIsIk8iLCJCb3giLCJoYXNEcm9wem9uZSIsIl9yZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJQIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJkaXNwbGF5IiwiTiIsIl9JbnB1dExhYmVsIiwiZm9ybUlkIiwic3R5bGVkQ29tcG9uZW50IiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJfR0ZEcm9wem9uZSIsIkZyYWdtZW50IiwicmVxdWlyZWQiLCJyZWYiLCJvbkNoYW5nZSIsIm9uQ2hhbmdlSGFuZGxlciIsIm9uQmx1ciIsInByZXBhcmVBbGxvd2VkVHlwZXMiLCJcImFyaWEtbGFiZWxcIiIsIlwiYXJpYS1kZXNjcmliZWRieVwiIiwiXCJhcmlhLWludmFsaWRcIiIsImhpZGRlbiIsImJhY2tncm91bmRJbWFnZSIsIm9uQ2xpY2siLCJyZW1vdmVGaWxlUHJldmlldyIsIlwiYXJpYS1wcmVzc2VkXCIiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkJ1dHRvbkNsaWNrSGFuZGxlciIsIkoiLCJjb2xvciIsInJlbW92ZUZpbGUiLCJDb21wb25lbnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvRmllbGRzL0ZpbGV1cGxvYWQvRmlsZXVwbG9hZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IERyb3B6b25lIGZyb20gXCJyZWFjdC1kcm9wem9uZVwiO1xuaW1wb3J0IEdGRHJvcHpvbmUgZnJvbSBcIi4vR0ZEcm9wem9uZVwiO1xuaW1wb3J0IElucHV0TGFiZWwgZnJvbSBcIi4uLy4uL0Zvcm1FbGVtZW50cy9JbnB1dExhYmVsXCI7XG5cbmNsYXNzIEZpbGV1cGxvYWQgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0ZSA9IHtcbiAgICBpbWFnZVByZXZpZXdVcmw6IHRoaXMucHJvcHMuZmllbGQucHJldmlldyB8fCBudWxsLFxuICAgIHNlbGVjdGVkRmlsZTogdGhpcy5wcm9wcy5maWVsZC5wcmV2aWV3ID8gdHJ1ZSA6IG51bGwsXG4gICAgdXBsb2FkRmlsZVRleHQ6IFwiTm8gZmlsZSBjaG9zZW5cIixcbiAgICBwcmV2aWV3SUQ6IHRoaXMucHJvcHMudmFsdWUgfHwgbnVsbCxcbiAgICBlcnJvclRleHQ6IHRoaXMucHJvcHMuZXJyb3IgfHwgZmFsc2UsXG4gIH07XG5cbiAgaW5wdXRGaWxlID0gUmVhY3QuY3JlYXRlUmVmKCk7XG5cbiAgb25DaGFuZ2VIYW5kbGVyID0gZXZlbnQgPT4ge1xuICAgIGNvbnN0IHsgaGFzUHJldmlldywgYWxsb3dlZEV4dGVuc2lvbnMgfSA9IHRoaXMucHJvcHMuZmllbGQ7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpbWFnZVByZXZpZXdVcmw6IG51bGwsXG4gICAgICBzZWxlY3RlZEZpbGU6IGV2ZW50LnRhcmdldC5maWxlc1swXSxcbiAgICAgIHVwbG9hZEZpbGVUZXh0OiBldmVudC50YXJnZXQuZmlsZXNbMF1cbiAgICAgICAgPyBldmVudC50YXJnZXQuZmlsZXNbMF0ubmFtZVxuICAgICAgICA6IFwiTm8gZmlsZSBjaG9zZW5cIixcbiAgICB9KTtcblxuICAgIGlmIChoYXNQcmV2aWV3ICYmIGV2ZW50LnRhcmdldCAmJiBldmVudC50YXJnZXQuZmlsZXNbMF0pIHtcbiAgICAgIC8vIGNoZWNrIGZpbGUgdHlwZVxuICAgICAgY29uc3QgZXh0ZW5zaW9uID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLm5hbWVcbiAgICAgICAgLnNwbGl0KFwiLlwiKVxuICAgICAgICAucG9wKClcbiAgICAgICAgLnRvTG93ZXJDYXNlKCk7IC8vIGZpbGUgZXh0ZW5zaW9uIGZyb20gaW5wdXQgZmlsZVxuICAgICAgY29uc3QgaXNTdWNjZXNzID0gYWxsb3dlZEV4dGVuc2lvbnMuaW5kZXhPZihleHRlbnNpb24pID4gLTE7IC8vIGlzIGV4dGVuc2lvbiBpbiBhY2NlcHRhYmxlIHR5cGVzXG4gICAgICBpZiAoaXNTdWNjZXNzKSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIGltYWdlUHJldmlld1VybDogcmVhZGVyLnJlc3VsdCxcbiAgICAgICAgICAgIHByZXZpZXdJRDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZXZlbnQudGFyZ2V0LmZpbGVzWzBdKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmVtb3ZlRmlsZVByZXZpZXcgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZCwgdW5zZXRFcnJvciB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLmlucHV0RmlsZS5jdXJyZW50LnZhbHVlID0gXCJcIjtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGltYWdlUHJldmlld1VybDogbnVsbCxcbiAgICAgIHNlbGVjdGVkRmlsZTogbnVsbCxcbiAgICAgIHByZXZpZXdJRDogZmFsc2UsXG4gICAgfSk7XG4gICAgdW5zZXRFcnJvcihmaWVsZC5pZCk7XG4gIH07XG5cbiAgcHJlcGFyZUFsbG93ZWRUeXBlcyA9IHR5cGVzID0+IHtcbiAgICBsZXQgYWNjZXB0ID0gdHlwZXMuc3BsaXQoXCIsXCIpO1xuICAgIGFjY2VwdCA9IGFjY2VwdC5tYXAoc3RyID0+IGAuJHtzdHIucmVwbGFjZSgvXFxzL2csIFwiXCIpfWApLmpvaW4oXCIsIFwiKTtcbiAgICByZXR1cm4gYWNjZXB0O1xuICB9O1xuXG4gIG9uQnV0dG9uQ2xpY2tIYW5kbGVyID0gKCkgPT4ge1xuICAgIHRoaXMuaW5wdXRGaWxlLmN1cnJlbnQuY2xpY2soKTtcbiAgfTtcblxuICByZW1vdmVGaWxlID0gKGUsIGZpZWxkKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgdXBkYXRlRm9ybSB9ID0gdGhpcy5wcm9wcztcbiAgICB1cGRhdGVGb3JtKHsgdGFyZ2V0OiB7IHZhbHVlOiBcIlwiIH0gfSwgZmllbGQpO1xuICAgIHRoaXMuaW5wdXRGaWxlLmN1cnJlbnQudmFsdWUgPSBcIlwiO1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaW1hZ2VQcmV2aWV3VXJsOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkRmlsZTogZmFsc2UsXG4gICAgICBwcmV2aWV3SUQ6IGZhbHNlLFxuICAgICAgdXBsb2FkRmlsZVRleHQ6IFwiTm8gZmlsZSBjaG9zZW5cIixcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzZWxlY3RlZEZpbGUsIHVwbG9hZEZpbGVUZXh0LCBpbWFnZVByZXZpZXdVcmwsIHByZXZpZXdJRCB9ID1cbiAgICAgIHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCB7XG4gICAgICBmaWVsZCxcbiAgICAgIHZhbHVlLFxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgICB0b3VjaGVkLFxuICAgICAgc2V0VG91Y2hlZCxcbiAgICAgIGhpZGVGaWVsZCxcbiAgICAgIHVwZGF0ZUZvcm0sXG4gICAgICBmb3JtSUQsXG4gICAgICBmaWVsZEVycm9yLFxuICAgICAgc3R5bGVkQ29tcG9uZW50cyxcbiAgICAgIGVycm9yLFxuICAgICAgdW5zZXRFcnJvcixcbiAgICAgIGRyb3B6b25lVGV4dCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIHR5cGUsXG4gICAgICBsYWJlbCxcbiAgICAgIGNzc0NsYXNzLFxuICAgICAgaXNSZXF1aXJlZCxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgZGVzY3JpcHRpb25QbGFjZW1lbnQsXG4gICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgIHdpZHRoLFxuICAgICAgYWxsb3dlZEV4dGVuc2lvbnMsXG4gICAgICBidXR0b25UZXh0LFxuICAgICAgaGFzUHJldmlldyxcbiAgICAgIG1heEZpbGVTaXplLFxuICAgIH0gPSBmaWVsZDtcbiAgICBjb25zdCB7XG4gICAgICBCdXR0b24gPSBcImJ1dHRvblwiLFxuICAgICAgTGFiZWwgPSBcImxhYmVsXCIsXG4gICAgICBGaWxlV3JhcHBlciA9IFwiZGl2XCIsXG4gICAgICBCb3ggPSBcImRpdlwiLFxuICAgIH0gPSBzdHlsZWRDb21wb25lbnRzIHx8IGZhbHNlO1xuXG4gICAgY29uc3QgaGFzRHJvcHpvbmUgPSBjc3NDbGFzcy5pbmRleE9mKFwiZHJvcHpvbmVcIikgPiAtMTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Qm94XG4gICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAodmFsaWRhdGlvbk1lc3NhZ2UgJiYgdG91Y2hlZCkgfHwgZXJyb3JcbiAgICAgICAgICAgID8gYGZvcm0tZmllbGQgZXJyb3IgJHtjc3NDbGFzc31gXG4gICAgICAgICAgICA6IGBmb3JtLWZpZWxkICR7Y3NzQ2xhc3N9YFxuICAgICAgICB9XG4gICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IGhpZGVGaWVsZCA/IFwibm9uZVwiIDogdW5kZWZpbmVkIH19XG4gICAgICA+XG4gICAgICAgIDxGaWxlV3JhcHBlciBjbGFzc05hbWU9e3R5cGV9PlxuICAgICAgICAgIDxJbnB1dExhYmVsXG4gICAgICAgICAgICBmb3JtSWQ9e2Zvcm1JRH1cbiAgICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtsYWJlbFBsYWNlbWVudH1cbiAgICAgICAgICAgIGlzUmVxdWlyZWQ9e2lzUmVxdWlyZWR9XG4gICAgICAgICAgICBzdHlsZWRDb21wb25lbnQ9e3N0eWxlZENvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7ZGVzY3JpcHRpb25QbGFjZW1lbnQgPT09IFwiYWJvdmVcIiAmJiBkZXNjcmlwdGlvbiAmJiBkZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtoYXNEcm9wem9uZSA/IChcbiAgICAgICAgICAgIDxHRkRyb3B6b25lXG4gICAgICAgICAgICAgIGRyb3B6b25lVGV4dD17ZHJvcHpvbmVUZXh0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICAgICAgZm9ybUlEPXtmb3JtSUR9XG4gICAgICAgICAgICAgIGlzUmVxdWlyZWQ9e2lzUmVxdWlyZWR9XG4gICAgICAgICAgICAgIHVwZGF0ZUZvcm09e3VwZGF0ZUZvcm19XG4gICAgICAgICAgICAgIHNldFRvdWNoZWQ9e3NldFRvdWNoZWR9XG4gICAgICAgICAgICAgIHVuc2V0RXJyb3I9e3Vuc2V0RXJyb3J9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWF4RmlsZVNpemUgJiYgKFxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiTUFYX0ZJTEVfU0laRVwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17bWF4RmlsZVNpemUgKiAxMDQ4NTc2fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlkPXtgaW5wdXRfJHtmb3JtSUR9XyR7aWR9YH1cbiAgICAgICAgICAgICAgICBuYW1lPXtgaW5wdXRfJHtpZH1gfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZD17aXNSZXF1aXJlZH1cbiAgICAgICAgICAgICAgICByZWY9e3RoaXMuaW5wdXRGaWxlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlSGFuZGxlcihldmVudCk7XG4gICAgICAgICAgICAgICAgICB1cGRhdGVGb3JtKFxuICAgICAgICAgICAgICAgICAgICB7IHRhcmdldDogeyB2YWx1ZTogZXZlbnQ/LnRhcmdldD8uZmlsZXM/LlswXT8ubmFtZSB9IH0sXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgc2V0VG91Y2hlZChpZCk7XG4gICAgICAgICAgICAgICAgICB1bnNldEVycm9yKGlkKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIG9uQmx1cj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgdXBkYXRlRm9ybShcbiAgICAgICAgICAgICAgICAgICAgeyB0YXJnZXQ6IHsgdmFsdWU6IGV2ZW50Py50YXJnZXQ/LmZpbGVzPy5bMF0/Lm5hbWUgfSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWVsZFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIHNldFRvdWNoZWQoaWQpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgYWNjZXB0PXtcbiAgICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUFsbG93ZWRUeXBlcyhhbGxvd2VkRXh0ZW5zaW9ucykgfHwgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2BlcnJvcl8ke2Zvcm1JRH1fJHtpZH1gfVxuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17ISF2YWxpZGF0aW9uTWVzc2FnZSB8fCAhIWVycm9yfVxuICAgICAgICAgICAgICAgIGhpZGRlbj1cImhpZGRlblwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtwcmV2aWV3SUQgJiYgZmllbGQucHJldmlldyAmJiAoXG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJmaWxlLXVwbG9hZC1wcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtwcmV2aWV3SUR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2hhc1ByZXZpZXcgJiYgKFxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbGUtcHJldmlld1wiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsZSAmJiBpbWFnZVByZXZpZXdVcmxcbiAgICAgICAgICAgICAgICAgICAgICA/IHsgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7aW1hZ2VQcmV2aWV3VXJsfSlgIH1cbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZEZpbGUgJiYgaW1hZ2VQcmV2aWV3VXJsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlbW92ZS1maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnJlbW92ZUZpbGVQcmV2aWV3KCl9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZVVwbG9hZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkJ1dHRvbkNsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gY29sb3I9XCJ5ZWxsb3dcIiB0YWJJbmRleD1cIi0xXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAge2J1dHRvblRleHQgfHwgXCJDaG9vc2UgYSBmaWxlXCJ9XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgeyFzZWxlY3RlZEZpbGUgJiYgKFxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibm8tZmlsZVwiPnt1cGxvYWRGaWxlVGV4dH08L3NwYW4+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHtzZWxlY3RlZEZpbGUgJiYgKFxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHRoaXMucmVtb3ZlRmlsZShlLCBmaWVsZCl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZSBmaWxlXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt1cGxvYWRGaWxlVGV4dH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtkZXNjcmlwdGlvbiAmJiBkZXNjcmlwdGlvblBsYWNlbWVudCAhPT0gXCJhYm92ZVwiICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IGRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgeygodmFsaWRhdGlvbk1lc3NhZ2UgJiYgdG91Y2hlZCkgfHwgZXJyb3IpICYmIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImVycm9yLW1lc3NhZ2VcIiBpZD17YGVycm9yXyR7aWR9YH0+XG4gICAgICAgICAgICAgIHt2YWxpZGF0aW9uTWVzc2FnZSB8fCBlcnJvcn1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtmaWVsZEVycm9yICYmIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImVycm9yLW1lc3NhZ2VcIiBpZD17YGVycm9yXyR7Zm9ybUlEfV8ke2lkfWB9PlxuICAgICAgICAgICAgICB7ZmllbGRFcnJvcn1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L0ZpbGVXcmFwcGVyPlxuICAgICAgPC9Cb3g+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGaWxldXBsb2FkO1xuIl0sIm1hcHBpbmdzIjoiNnJFQUtNLENBQUFBLFVBQVUsVUFBQUMsQ0FBQSxXQUFBQyxFQUFBLE1BQUFELENBQUEsSUFBQUUsZ0JBQUEsa0JBQUFELENBQUEsVUFBQUUsQ0FBQSxDQUFBQyxTQUFBLENBQUFDLE1BQUEsQ0FBQUMsQ0FBQSxDQUFBQyxLQUFBLENBQUFKLENBQUEsRUFBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFMLENBQUEsQ0FBQUssQ0FBQSxHQUFBRixDQUFBLENBQUFFLENBQUEsRUFBQUosU0FBQSxDQUFBSSxDQUFBLFNBQUFSLENBQUEsQ0FBQVMsVUFBQSxNQUFBUixDQUFBLElBQUFTLE1BQUEsQ0FBQUosQ0FBQSxNQUFBSyxnQkFBQSxnQkFBQUMsdUJBQUEsYUFBQVosQ0FBQSxVQUNOLENBQ05hLGVBQWUsQ0FBRWIsQ0FBQSxDQUFLYyxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxFQUFJLElBQUksQ0FDakRDLFlBQVksR0FBRWpCLENBQUEsQ0FBS2MsS0FBSyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sRUFBVSxJQUFJLENBQ3BERSxjQUFjLENBQUUsZ0JBQWdCLENBQ2hDQyxTQUFTLENBQUVuQixDQUFBLENBQUtjLEtBQUssQ0FBQ00sS0FBSyxFQUFJLElBQUksQ0FDbkNDLFNBQVMsQ0FBRXJCLENBQUEsQ0FBS2MsS0FBSyxDQUFDUSxLQUFLLElBQzdCLENBQUMsS0FBQVgsZ0JBQUEsZ0JBQUFDLHVCQUFBLGFBQUFaLENBQUEsY0FFV3VCLGlCQUFLLENBQUNDLFNBQVMsQ0FBQyxDQUFDLEtBQUFiLGdCQUFBLGdCQUFBQyx1QkFBQSxhQUFBWixDQUFBLG9CQUVYLFNBQUF5QixDQUFLLENBQUksQ0FDekIsSUFBQXRCLENBQUEsQ0FBMENILENBQUEsQ0FBS2MsS0FBSyxDQUFDQyxLQUFLLENBQWxEVyxDQUFVLENBQUF2QixDQUFBLENBQVZ1QixVQUFVLENBQUVDLENBQWlCLENBQUF4QixDQUFBLENBQWpCd0IsaUJBQWlCLENBU3JDLEdBUkEzQixDQUFBLENBQUs0QixRQUFRLENBQUMsQ0FDWmYsZUFBZSxDQUFFLElBQUksQ0FDckJJLFlBQVksQ0FBRVEsQ0FBSyxDQUFDSSxNQUFNLENBQUNDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDbkNaLGNBQWMsQ0FBRU8sQ0FBSyxDQUFDSSxNQUFNLENBQUNDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDakNMLENBQUssQ0FBQ0ksTUFBTSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FDMUIsZ0JBQ04sQ0FBQyxDQUFDLENBRUVMLENBQVUsRUFBSUQsQ0FBSyxDQUFDSSxNQUFNLEVBQUlKLENBQUssQ0FBQ0ksTUFBTSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsSUFFakQsQ0FBQUUsQ0FBUyxDQUFHUCxDQUFLLENBQUNJLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQ3pDRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ1ZDLEdBQUcsQ0FBQyxDQUFDLENBQ0xDLFdBQVcsQ0FBQyxDQUFDLENBQ1ZDLENBQVMsQ0FBMEMsQ0FBQyxDQUFDLENBQXpDVCxDQUFpQixDQUFDVSxPQUFPLENBQUNMLENBQVMsQ0FBTSxDQUMzRCxHQUFJSSxDQUFTLENBQUUsQ0FDYixHQUFNLENBQUFFLENBQU0sQ0FBRyxHQUFJLENBQUFDLFVBQVksQ0FFL0JELENBQU0sQ0FBQ0UsU0FBUyxDQUFHLFVBQU0sQ0FDdkJ4QyxDQUFBLENBQUs0QixRQUFRLENBQUMsQ0FDWmYsZUFBZSxDQUFFeUIsQ0FBTSxDQUFDRyxNQUFNLENBQzlCdEIsU0FBUyxHQUNYLENBQUMsQ0FDSCxDQUFDLENBRURtQixDQUFNLENBQUNJLGFBQWEsQ0FBQ2pCLENBQUssQ0FBQ0ksTUFBTSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzVDLENBQ0YsQ0FDRixDQUFDLEtBQUFuQixnQkFBQSxnQkFBQUMsdUJBQUEsYUFBQVosQ0FBQSxzQkFFbUIsVUFBTSxDQUN4QixJQUFBQyxDQUFBLENBQThCRCxDQUFBLENBQUtjLEtBQUssQ0FBaENDLENBQUssQ0FBQWQsQ0FBQSxDQUFMYyxLQUFLLENBQUU0QixDQUFVLENBQUExQyxDQUFBLENBQVYwQyxVQUFVLENBQ3pCM0MsQ0FBQSxDQUFLNEMsU0FBUyxDQUFDQyxPQUFPLENBQUN6QixLQUFLLENBQUcsRUFBRSxDQUNqQ3BCLENBQUEsQ0FBSzRCLFFBQVEsQ0FBQyxDQUNaZixlQUFlLENBQUUsSUFBSSxDQUNyQkksWUFBWSxDQUFFLElBQUksQ0FDbEJFLFNBQVMsR0FDWCxDQUFDLENBQUMsQ0FDRndCLENBQVUsQ0FBQzVCLENBQUssQ0FBQytCLEVBQUUsQ0FDckIsQ0FBQyxLQUFBbkMsZ0JBQUEsZ0JBQUFDLHVCQUFBLGFBQUFaLENBQUEsd0JBRXFCLFNBQUErQyxDQUFLLENBQUksQ0FDN0IsR0FBSSxDQUFBQyxDQUFNLENBQUdELENBQUssQ0FBQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUU3QixNQURBLENBQUFlLENBQU0sQ0FBR0EsQ0FBTSxDQUFDQyxHQUFHLENBQUMsU0FBQUMsQ0FBRyxZQUFBeEMsTUFBQSxDQUFRd0MsQ0FBRyxDQUFDQyxPQUFPLENBQUMsS0FBSyxDQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUM1REosQ0FDVCxDQUFDLEtBQUFyQyxnQkFBQSxnQkFBQUMsdUJBQUEsYUFBQVosQ0FBQSx5QkFFc0IsVUFBTSxDQUMzQkEsQ0FBQSxDQUFLNEMsU0FBUyxDQUFDQyxPQUFPLENBQUNRLEtBQUssQ0FBQyxDQUMvQixDQUFDLEtBQUExQyxnQkFBQSxnQkFBQUMsdUJBQUEsYUFBQVosQ0FBQSxlQUVZLFNBQUNRLENBQUMsQ0FBRU8sQ0FBSyxDQUFLLENBQ3pCUCxDQUFDLENBQUM4QyxjQUFjLENBQUMsQ0FBQyxDQUNsQixHQUFRLENBQUFDLENBQVUsQ0FBS3ZELENBQUEsQ0FBS2MsS0FBSyxDQUF6QnlDLFVBQVUsQ0FDbEJBLENBQVUsQ0FBQyxDQUFFMUIsTUFBTSxDQUFFLENBQUVULEtBQUssQ0FBRSxFQUFHLENBQUUsQ0FBQyxDQUFFTCxDQUFLLENBQUMsQ0FDNUNmLENBQUEsQ0FBSzRDLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDekIsS0FBSyxDQUFHLEVBQUUsQ0FDakNwQixDQUFBLENBQUs0QixRQUFRLENBQUMsQ0FDWmYsZUFBZSxHQUFPLENBQ3RCSSxZQUFZLEdBQU8sQ0FDbkJFLFNBQVMsR0FBTyxDQUNoQkQsY0FBYyxDQUFFLGdCQUNsQixDQUFDLENBQ0gsQ0FBQyxFQUFBbEIsQ0FBQSxVQUFBd0QsVUFBQSxhQUFBdkQsQ0FBQSxDQUFBRCxDQUFBLEtBQUF5RCxhQUFBLGFBQUF4RCxDQUFBLEdBQUF5RCxHQUFBLFVBQUF0QyxLQUFBLENBRUQsU0FBQXVDLE9BQUEsQ0FBUyxLQUFBM0QsQ0FBQSxNQUFBQyxDQUFBLENBRUwsSUFBSSxDQUFDMkQsS0FBSyxDQURKM0MsQ0FBWSxDQUFBaEIsQ0FBQSxDQUFaZ0IsWUFBWSxDQUFFQyxDQUFjLENBQUFqQixDQUFBLENBQWRpQixjQUFjLENBQUVMLENBQWUsQ0FBQVosQ0FBQSxDQUFmWSxlQUFlLENBQUVNLENBQVMsQ0FBQWxCLENBQUEsQ0FBVGtCLFNBQVMsQ0FBQTBDLENBQUEsQ0FpQjVELElBQUksQ0FBQy9DLEtBQUssQ0FiWkMsQ0FBSyxDQUFBOEMsQ0FBQSxDQUFMOUMsS0FBSyxDQUNMSyxDQUFLLENBQUF5QyxDQUFBLENBQUx6QyxLQUFLLENBQ0wwQyxDQUFpQixDQUFBRCxDQUFBLENBQWpCQyxpQkFBaUIsQ0FDakJDLENBQU8sQ0FBQUYsQ0FBQSxDQUFQRSxPQUFPLENBQ1BDLENBQVUsQ0FBQUgsQ0FBQSxDQUFWRyxVQUFVLENBQ1ZDLENBQVMsQ0FBQUosQ0FBQSxDQUFUSSxTQUFTLENBQ1RWLENBQVUsQ0FBQU0sQ0FBQSxDQUFWTixVQUFVLENBQ1ZXLENBQU0sQ0FBQUwsQ0FBQSxDQUFOSyxNQUFNLENBQ05DLENBQVUsQ0FBQU4sQ0FBQSxDQUFWTSxVQUFVLENBQ1ZDLENBQWdCLENBQUFQLENBQUEsQ0FBaEJPLGdCQUFnQixDQUNoQjlDLENBQUssQ0FBQXVDLENBQUEsQ0FBTHZDLEtBQUssQ0FDTHFCLENBQVUsQ0FBQWtCLENBQUEsQ0FBVmxCLFVBQVUsQ0FDVjBCLENBQVksQ0FBQVIsQ0FBQSxDQUFaUSxZQUFZLENBR1p2QixDQUFFLENBYUEvQixDQUFLLENBYlArQixFQUFFLENBQ0Z3QixDQUFJLENBWUZ2RCxDQUFLLENBWlB1RCxJQUFJLENBQ0pDLENBQUssQ0FXSHhELENBQUssQ0FYUHdELEtBQUssQ0FDTEMsQ0FBUSxDQVVOekQsQ0FBSyxDQVZQeUQsUUFBUSxDQUNSQyxDQUFVLENBU1IxRCxDQUFLLENBVFAwRCxVQUFVLENBQ1ZDLENBQVcsQ0FRVDNELENBQUssQ0FSUDJELFdBQVcsQ0FDWEMsQ0FBb0IsQ0FPbEI1RCxDQUFLLENBUFA0RCxvQkFBb0IsQ0FDcEJDLENBQWMsQ0FNWjdELENBQUssQ0FOUDZELGNBQWMsQ0FDZEMsQ0FBSyxDQUtIOUQsQ0FBSyxDQUxQOEQsS0FBSyxDQUNMbEQsQ0FBaUIsQ0FJZlosQ0FBSyxDQUpQWSxpQkFBaUIsQ0FDakJtRCxDQUFVLENBR1IvRCxDQUFLLENBSFArRCxVQUFVLENBQ1ZwRCxDQUFVLENBRVJYLENBQUssQ0FGUFcsVUFBVSxDQUNWcUQsQ0FBVyxDQUNUaEUsQ0FBSyxDQURQZ0UsV0FBVyxDQUFBQyxDQUFBLENBT1RaLENBQWdCLElBQVMsQ0FBQWEsQ0FBQSxDQUFBRCxDQUFBLENBSjNCRSxNQUFNLENBQU5BLENBQU0sVUFBQUQsQ0FBQSxDQUFHLFFBQVEsQ0FBQUEsQ0FBQSxDQUFBRSxDQUFBLENBQUFILENBQUEsQ0FDakJJLEtBQUssQ0FBTEEsQ0FBSyxVQUFBRCxDQUFBLENBQUcsT0FBTyxDQUFBQSxDQUFBLENBQUFFLENBQUEsQ0FBQUwsQ0FBQSxDQUNmTSxXQUFXLENBQVhBLENBQVcsVUFBQUQsQ0FBQSxDQUFHLEtBQUssQ0FBQUEsQ0FBQSxDQUFBRSxDQUFBLENBQUFQLENBQUEsQ0FDbkJRLEdBQUcsQ0FBSEEsQ0FBRyxVQUFBRCxDQUFBLENBQUcsS0FBSyxDQUFBQSxDQUFBLENBR1BFLENBQVcsQ0FBa0MsQ0FBQyxDQUFDLENBQWpDakIsQ0FBUSxDQUFDbkMsT0FBTyxDQUFDLFVBQVUsQ0FBTSxDQUVyRCxNQUNFLENBQUFxRCxNQUFBLFlBQUFDLGFBQUEsQ0FBQ0MsQ0FBRyxFQUNGZixLQUFLLENBQUVBLENBQU0sQ0FDYmdCLFNBQVMsQ0FDTi9CLENBQWlCLEVBQUlDLENBQU8sRUFBS3pDLENBQUsscUJBQUFaLE1BQUEsQ0FDZjhELENBQVEsZ0JBQUE5RCxNQUFBLENBQ2Q4RCxDQUFRLENBQzNCLENBQ0RzQixLQUFLLENBQUUsQ0FBRUMsT0FBTyxDQUFFOUIsQ0FBUyxDQUFHLE1BQU0sT0FBYSxDQUFFLEVBRW5EeUIsTUFBQSxZQUFBQyxhQUFBLENBQUNLLENBQVcsRUFBQ0gsU0FBUyxDQUFFdkIsQ0FBSyxFQUMzQm9CLE1BQUEsWUFBQUMsYUFBQSxDQUFDTSxXQUFBLFdBQVUsRUFDVEMsTUFBTSxDQUFFaEMsQ0FBTyxDQUNmcEIsRUFBRSxDQUFFQSxDQUFHLENBQ1B5QixLQUFLLENBQUVBLENBQU0sQ0FDYkssY0FBYyxDQUFFQSxDQUFlLENBQy9CSCxVQUFVLENBQUVBLENBQVcsQ0FDdkIwQixlQUFlLENBQUUvQixDQUFpQixDQUNuQyxDQUFDLENBQ3dCLE9BQU8sR0FBaENPLENBQWdDLEVBQUlELENBQVcsRUFBSUEsQ0FBVyxFQUM3RGdCLE1BQUEsWUFBQUMsYUFBQSxRQUNFRSxTQUFTLENBQUMsYUFBYSxDQUN2Qk8sdUJBQXVCLENBQUUsQ0FBRUMsTUFBTSxDQUFFM0IsQ0FBWSxDQUFFLENBQ2xELENBQ0YsQ0FDQWUsQ0FBVyxDQUNWQyxNQUFBLFlBQUFDLGFBQUEsQ0FBQ1csV0FBQSxXQUFVLEVBQ1RqQyxZQUFZLENBQUVBLENBQWEsQ0FDM0J0RCxLQUFLLENBQUVBLENBQU0sQ0FDYitCLEVBQUUsQ0FBRUEsQ0FBRyxDQUNQb0IsTUFBTSxDQUFFQSxDQUFPLENBQ2ZPLFVBQVUsQ0FBRUEsQ0FBVyxDQUN2QmxCLFVBQVUsQ0FBRUEsQ0FBVyxDQUN2QlMsVUFBVSxDQUFFQSxDQUFXLENBQ3ZCckIsVUFBVSxDQUFFQSxDQUFXLENBQ3hCLENBQUMsQ0FFRitDLE1BQUEsWUFBQUMsYUFBQSxDQUFBRCxNQUFBLFlBQUFhLFFBQUEsTUFDR3hCLENBQVcsRUFDVlcsTUFBQSxZQUFBQyxhQUFBLFVBQ0VyQixJQUFJLENBQUMsUUFBUSxDQUNidkMsSUFBSSxDQUFDLGVBQWUsQ0FDcEJYLEtBQUssQ0FBZ0IsT0FBTyxDQUFyQjJELENBQXNCLENBQzlCLENBQ0YsQ0FDRFcsTUFBQSxZQUFBQyxhQUFBLFVBQ0U3QyxFQUFFLFVBQUFwQyxNQUFBLENBQVd3RCxDQUFNLE1BQUF4RCxNQUFBLENBQUlvQyxDQUFFLENBQUcsQ0FDNUJmLElBQUksVUFBQXJCLE1BQUEsQ0FBV29DLENBQUUsQ0FBRyxDQUNwQndCLElBQUksQ0FBQyxNQUFNLENBQ1hrQyxRQUFRLENBQUUvQixDQUFXLENBQ3JCZ0MsR0FBRyxDQUFFLElBQUksQ0FBQzdELFNBQVUsQ0FDcEI4RCxRQUFRLENBQUUsU0FBQUEsU0FBQWpGLENBQUssQ0FBSSxLQUFBdEIsQ0FBQSxDQUNqQkgsQ0FBSSxDQUFDMkcsZUFBZSxDQUFDbEYsQ0FBSyxDQUFDLENBQzNCOEIsQ0FBVSxDQUNSLENBQUUxQixNQUFNLENBQUUsQ0FBRVQsS0FBSyxRQUFFSyxDQUFLLFdBQUxBLENBQUssVUFBQXRCLENBQUEsQ0FBTHNCLENBQUssQ0FBRUksTUFBTSxZQUFBMUIsQ0FBQSxVQUFBQSxDQUFBLENBQWJBLENBQUEsQ0FBZTJCLEtBQUssWUFBQTNCLENBQUEsVUFBQUEsQ0FBQSxDQUFwQkEsQ0FBQSxDQUF1QixDQUFDLENBQUMsWUFBQUEsQ0FBQSxRQUF6QkEsQ0FBQSxDQUEyQjRCLElBQUssQ0FBRSxDQUFDLENBQ3REaEIsQ0FDRixDQUFDLENBQ0RpRCxDQUFVLENBQUNsQixDQUFFLENBQUMsQ0FDZEgsQ0FBVSxDQUFDRyxDQUFFLENBQ2YsQ0FBRSxDQUNGOEQsTUFBTSxDQUFFLFNBQUFBLE9BQUFuRixDQUFLLENBQUksS0FBQXhCLENBQUEsQ0FDZnNELENBQVUsQ0FDUixDQUFFMUIsTUFBTSxDQUFFLENBQUVULEtBQUssUUFBRUssQ0FBSyxXQUFMQSxDQUFLLFVBQUF4QixDQUFBLENBQUx3QixDQUFLLENBQUVJLE1BQU0sWUFBQTVCLENBQUEsVUFBQUEsQ0FBQSxDQUFiQSxDQUFBLENBQWU2QixLQUFLLFlBQUE3QixDQUFBLFVBQUFBLENBQUEsQ0FBcEJBLENBQUEsQ0FBdUIsQ0FBQyxDQUFDLFlBQUFBLENBQUEsUUFBekJBLENBQUEsQ0FBMkI4QixJQUFLLENBQUUsQ0FBQyxDQUN0RGhCLENBQ0YsQ0FBQyxDQUNEaUQsQ0FBVSxDQUFDbEIsQ0FBRSxDQUNmLENBQUUsQ0FDRkUsTUFBTSxDQUNKLElBQUksQ0FBQzZELG1CQUFtQixDQUFDbEYsQ0FBaUIsQ0FBQyxRQUM1QyxDQUNEbUYsWUFBQSxDQUFZdkMsQ0FBTSxDQUNsQndDLGtCQUFBLFVBQUFyRyxNQUFBLENBQTJCd0QsQ0FBTSxNQUFBeEQsTUFBQSxDQUFJb0MsQ0FBRSxDQUFHLENBQzFDa0UsY0FBQSxDQUFjLENBQUMsQ0FBQ2xELENBQWlCLEVBQUksQ0FBQyxDQUFDeEMsQ0FBTSxDQUM3QzJGLE1BQU0sQ0FBQyxRQUFRLENBQ2hCLENBQUMsQ0FDRDlGLENBQVMsRUFBSUosQ0FBSyxDQUFDQyxPQUFPLEVBQ3pCMEUsTUFBQSxZQUFBQyxhQUFBLFVBQ0VyQixJQUFJLENBQUMsUUFBUSxDQUNidkMsSUFBSSxDQUFDLHFCQUFxQixDQUMxQlgsS0FBSyxDQUFFRCxDQUFVLENBQ2xCLENBQ0YsQ0FDQU8sQ0FBVSxFQUNUZ0UsTUFBQSxZQUFBQyxhQUFBLFFBQ0VFLFNBQVMsQ0FBQyxjQUFjLENBQ3hCQyxLQUFLLENBQ0g3RSxDQUFZLEVBQUlKLENBQWUsQ0FDM0IsQ0FBRXFHLGVBQWUsUUFBQXhHLE1BQUEsQ0FBU0csQ0FBZSxLQUFJLENBQUMsT0FFbkQsRUFFQUksQ0FBWSxFQUFJSixDQUFlLEVBQzlCNkUsTUFBQSxZQUFBQyxhQUFBLFdBQ0VyQixJQUFJLENBQUMsUUFBUSxDQUNidUIsU0FBUyxDQUFDLGFBQWEsQ0FDdkJzQixPQUFPLENBQUUsU0FBQUEsUUFBQSxRQUFNLENBQUFuSCxDQUFJLENBQUNvSCxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FDekMsQ0FFQSxDQUNOLENBQ0QxQixNQUFBLFlBQUFDLGFBQUEsUUFDRTBCLGNBQUEsQ0FBYSxPQUFPLENBQ3BCQyxRQUFRLENBQUMsR0FBRyxDQUNaQyxJQUFJLENBQUMsUUFBUSxDQUNiMUIsU0FBUyxDQUFDLFlBQVksQ0FDdEJzQixPQUFPLENBQUUsSUFBSSxDQUFDSyxvQkFBcUIsRUFFbkM5QixNQUFBLFlBQUFDLGFBQUEsQ0FBQzhCLENBQU0sRUFBQ0MsS0FBSyxDQUFDLFFBQVEsQ0FBQ0osUUFBUSxDQUFDLElBQUksQ0FBQ2hELElBQUksQ0FBQyxRQUFRLEVBQy9DUSxDQUFVLEVBQUksZUFDVCxDQUFDLENBQ1IsQ0FBQzdELENBQVksRUFDWnlFLE1BQUEsWUFBQUMsYUFBQSxTQUFNRSxTQUFTLENBQUMsU0FBUyxFQUFFM0UsQ0FBcUIsQ0FFL0MsQ0FBQyxDQUNMRCxDQUFZLEVBQ1h5RSxNQUFBLFlBQUFDLGFBQUEsWUFDRUQsTUFBQSxZQUFBQyxhQUFBLFdBQ0VyQixJQUFJLENBQUMsUUFBUSxDQUNiNkMsT0FBTyxDQUFFLFNBQUFBLFFBQUEzRyxDQUFDLFFBQUksQ0FBQVIsQ0FBSSxDQUFDMkgsVUFBVSxDQUFDbkgsQ0FBQyxDQUFFTyxDQUFLLENBQUMsQ0FBQyxFQUN6QyxhQUVPLENBQUMsQ0FDVDJFLE1BQUEsWUFBQUMsYUFBQSxhQUFPekUsQ0FBcUIsQ0FDekIsQ0FDTixDQUNBd0QsQ0FBVyxFQUE2QixPQUFPLEdBQWhDQyxDQUFnQyxFQUM5Q2UsTUFBQSxZQUFBQyxhQUFBLFFBQ0VFLFNBQVMsQ0FBQyxhQUFhLENBQ3ZCTyx1QkFBdUIsQ0FBRSxDQUFFQyxNQUFNLENBQUUzQixDQUFZLENBQUUsQ0FDbEQsQ0FFSCxDQUNILENBQ0EsQ0FBRVosQ0FBaUIsRUFBSUMsQ0FBTyxFQUFLekMsQ0FBSyxHQUN2Q29FLE1BQUEsWUFBQUMsYUFBQSxTQUFNRSxTQUFTLENBQUMsZUFBZSxDQUFDL0MsRUFBRSxVQUFBcEMsTUFBQSxDQUFXb0MsQ0FBRSxDQUFHLEVBQy9DZ0IsQ0FBaUIsRUFBSXhDLENBQ2xCLENBQ1AsQ0FDQTZDLENBQVUsRUFDVHVCLE1BQUEsWUFBQUMsYUFBQSxTQUFNRSxTQUFTLENBQUMsZUFBZSxDQUFDL0MsRUFBRSxVQUFBcEMsTUFBQSxDQUFXd0QsQ0FBTSxNQUFBeEQsTUFBQSxDQUFJb0MsQ0FBRSxDQUFHLEVBQ3pEcUIsQ0FDRyxDQUVHLENBQ1YsQ0FFVCxDQUFDLElBQUFsRSxDQUFBLEVBMVFzQjJILGdCQUFTLEVBQUFDLFFBQUEsQ0FBQUMsT0FBQSxZQTZRbkIvSCxVQUFVIn0=