nsc-react-component 4.2.1 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/page/BasePage/index.js +12 -7
- package/lib/page/BasePage/index.js.map +1 -1
- package/lib/page/FormPage/index.d.ts +4 -0
- package/lib/page/FormPage/index.js +46 -21
- package/lib/page/FormPage/index.js.map +1 -1
- package/lib/page/FormPage/index.module.less +2 -0
- package/lib/page/SettingForm/index.js +62 -46
- package/lib/page/SettingForm/index.js.map +1 -1
- package/lib/page/SettingTable/index.js +23 -21
- package/lib/page/SettingTable/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PureComponent","Form","getNode","message","Col","Row","isEmptyObj","getLocalStore","dayjs","lodash","Button","Upload","cls","FormPage","constructor","arguments","_defineProperty","createRef","loading","label","editorFlag","value","dictNames","fileList","width","editId","ev","data","JSON","parse","_this","eventType","payload","close","setState","componentDidMount","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","show","orgValue","editorflag","length","undefined","callBack","id","_this$formRef$current","convertValue","formRef","current","showForm","afterRender","_this$formRef$current2","props","defaultValue","hide","_this$formRef$current3","onHideForm","hideForm","_this$formRef$current4","setLoading","setEditType","type","setEditId","getFormValue","_this$formRef$current5","state","formValue","getFieldsValue","_objectSpread","fileFormat","newFileList","map","item","getFileList","submitFlag","error","dateValueFormat","key","olddata","Array","isArray","format","rangerDate","dateFormat","e","values","cloneDeep","value1","value2","setFormValue","_this$formRef$current6","newValue","setFieldsValue","doSubmit","formdata","_this$formRef$current7","submitUrl","submitParams","requestObject","requestConfig","addUrl","editorUrl","addParams","editorParams","url","params","Utils","func","Function","converParams","console","otherParams","_objectWithoutProperties","_excluded","onSubmit","noUndefined","res","code","success","obj","fileId","fileName","status","push","_this$formRef$current8","valid","validateFields","then","catch","errorInfo","valueChange","_ref","valueOption","dictName","newNames","onChange","eventOption","funcs","refs","refList","valueStr","selfFunc","renderForm","forms","newValid","createElement","gutter","index","_item$props","itemProps","valueFormat","name","split","allowChars","placeholder","concat","bind","dataType","disabled","rules","required","itemRef","_item$props2","span","style","display","Item","componentName","noStyle","formRender","ref","_item$props3","_item$props4","_item$props5","_extends","onListChange","list","showUploadList","showDownloadIcon","showRemoveIcon","children","render","footer","formType","selfButtons","modalProps","title","onOk","onCancel","okButtonProps","centered","footerButton","drawerProps","onClose","newFormsObj","formGroups","otherGrups","groupName","indexOf","groupForms","form","showModel","onValuesChange","changedValues","allValues","onFormChange","changeValid","className","Object","keys","footerClassName","cancelButtonProps","onClick"],"sources":["../../../src/components/page/FormPage/index.tsx"],"sourcesContent":["import React, { PureComponent, ReactNode } from \"react\";\r\nimport Form from \"../../base/form\";\r\nimport { getLess, getNode } from \"../../utils\";\r\nimport message from \"../../base/message\";\r\nimport Col from \"../../base/grid/Col\";\r\nimport Row from \"../../base/grid/Row\";\r\nimport { isEmptyObj, getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport \"./index.module.less\";\r\nimport lodash from \"lodash\";\r\nimport Button from \"../../base/button\";\r\nimport Upload from \"../../base/upload\";\r\nimport cls from \"classnames\";\r\nimport { IFormProps } from \"src/components/base/form/Form\";\r\nexport interface FormPageProps {\r\n forms?: Array<any>; //是否显示操作列\r\n submitUrl?: string;\r\n onSubmit?: (value?: any, label?: any) => void;\r\n footerClassName?: any;\r\n okButtonProps?: any;\r\n cancelButtonProps?: any;\r\n footer?: ReactNode | boolean;\r\n children?: React.ReactNode;\r\n onFormChange?: (value?: any, allValue?: any) => void;\r\n submitParams?: any; //添加参数,默认mothod:post, 参数通过data传递\r\n funcs?: any;\r\n props?: IFormProps;\r\n requestObject?: {\r\n addUrl?: string;\r\n editorUrl?: string;\r\n addParams?: any;\r\n editorParams?: any;\r\n };\r\n requestConfig?: any;\r\n footerWidth?: boolean;\r\n [propsName: string]: any;\r\n}\r\nclass FormPage extends PureComponent<FormPageProps, any> {\r\n formRef = React.createRef<any>();\r\n state = {\r\n loading: false,\r\n label: \"\",\r\n editorFlag: true,\r\n value: {} as any,\r\n dictNames: {} as any,\r\n fileList: {} as any,\r\n width: getLocalStore(\"nsc-home-menuCollsape\") || false,\r\n editId: \"\",\r\n };\r\n valid: any = [];\r\n dateValueFormat = {} as any;\r\n dateFormat = {} as any;\r\n fileFormat = [] as any;\r\n rangerDate = {} as any;\r\n refList = {} as any;\r\n submitFlag = true;\r\n componentDidMount(): void {\r\n window.addEventListener(\"message\", this.listenMessage);\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.listenMessage);\r\n }\r\n listenMessage = (ev) => {\r\n const data = typeof ev.data === \"string\" ? JSON.parse(ev.data) : ev.data;\r\n let _this = this;\r\n if (data.eventType == \"menuCollsape\") {\r\n const { payload } = data;\r\n if (payload.close === true || payload.close === false) {\r\n _this.setState({ width: payload.close });\r\n }\r\n }\r\n };\r\n //表单显示\r\n show(orgValue?: any, editorflag = \"add\", callBack?: any) {\r\n let label = \"新增\";\r\n if (orgValue && editorflag == \"editor\") {\r\n label = \"编辑\";\r\n } else if (orgValue && (editorflag == \"detail\" || editorflag == \"search\")) {\r\n label = \"查看\";\r\n }\r\n if (orgValue) {\r\n this.setState(\r\n {\r\n label: label,\r\n value: orgValue,\r\n editId: orgValue.id,\r\n },\r\n () => {\r\n let value = this.convertValue(orgValue, label);\r\n //处理文件数据\r\n this.formRef.current?.showForm(value, {\r\n afterRender: () => {\r\n callBack && callBack();\r\n },\r\n });\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n label: label,\r\n },\r\n () => {\r\n this.formRef.current?.showForm(this.props.defaultValue, {\r\n afterRender: () => {\r\n callBack && callBack();\r\n },\r\n });\r\n }\r\n );\r\n }\r\n }\r\n hide(hide = true) {\r\n const { onHideForm } = this.props;\r\n if (onHideForm) {\r\n onHideForm && onHideForm();\r\n return;\r\n }\r\n this.setState({ loading: false, fileList: {} });\r\n hide && this.formRef.current?.hideForm();\r\n }\r\n hideForm() {\r\n this.setState({ loading: false, fileList: {} });\r\n this.formRef.current?.hideForm();\r\n }\r\n showForm(orgValue?: any, editorflag = \"add\", callBack?: any) {\r\n this.show(orgValue, editorflag, callBack);\r\n }\r\n setLoading(loading: boolean) {\r\n this.setState({ loading: loading });\r\n }\r\n setEditType(type) {\r\n this.setState({\r\n label: type,\r\n });\r\n }\r\n setEditId(id) {\r\n this.setState({\r\n editId: id,\r\n });\r\n }\r\n getFormValue() {\r\n const { label, value, dictNames, fileList } = this.state;\r\n const formValue = this.formRef.current?.getFieldsValue();\r\n let data = { ...formValue, ...dictNames };\r\n if (this.fileFormat.length > 0) {\r\n let newFileList = {} as any;\r\n this.fileFormat.map((item) => {\r\n if (fileList[item].length == 0) {\r\n newFileList[item] = null;\r\n } else {\r\n if (!formValue[item]) {\r\n newFileList[item] = this.getFileList(fileList[item] || []);\r\n }\r\n }\r\n });\r\n data = { ...data, ...newFileList };\r\n }\r\n if (!this.submitFlag) {\r\n message.error(\"请等待所有文件上传完成!\");\r\n return;\r\n }\r\n if (!isEmptyObj(this.dateValueFormat)) {\r\n for (let key in this.dateValueFormat) {\r\n let olddata = data[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n data[key] = [\r\n dayjs(olddata[0]).format(this.dateValueFormat[key]),\r\n dayjs(olddata[1]).format(this.dateValueFormat[key]),\r\n ];\r\n if (this.rangerDate[key]) {\r\n try {\r\n data[this.rangerDate[key][0]] = dayjs(olddata[0]).format(\r\n this.dateFormat[key]\r\n );\r\n data[this.rangerDate[key][1]] = dayjs(olddata[1]).format(\r\n this.dateFormat[key]\r\n );\r\n delete data[key];\r\n } catch (e) {}\r\n }\r\n } else {\r\n data[key] = dayjs(olddata).format(this.dateValueFormat[key]);\r\n }\r\n }\r\n }\r\n }\r\n if (label == \"编辑\") {\r\n data = { ...data, id: value?.id || this.state.editId };\r\n }\r\n return data;\r\n }\r\n convertValue(value, type) {\r\n let values = lodash.cloneDeep(value);\r\n if (this.fileFormat.length > 0) {\r\n let fileList = {} as any;\r\n this.fileFormat.map((item) => {\r\n let olddata = values[item];\r\n if (olddata && Array.isArray(olddata)) {\r\n fileList[item] = this.getFileList(olddata || [], type);\r\n } else {\r\n fileList[item] = [];\r\n }\r\n });\r\n this.setState({ fileList: fileList });\r\n }\r\n //处理日期格式数据\r\n if (!isEmptyObj(this.dateFormat)) {\r\n for (let key in this.dateFormat) {\r\n let olddata = values[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n values[key] = [\r\n dayjs(olddata[0], this.dateFormat[key]),\r\n dayjs(olddata[1], this.dateFormat[key]),\r\n ];\r\n } else {\r\n values[key] = dayjs(olddata, this.dateFormat[key]);\r\n }\r\n } else {\r\n if (this.rangerDate[key]) {\r\n let value1 = values[this.rangerDate[key][0]];\r\n let value2 = values[this.rangerDate[key][1]];\r\n if (value1 && value2) {\r\n values[key] = [\r\n dayjs(value1, this.dateFormat[key]),\r\n dayjs(value2, this.dateFormat[key]),\r\n ];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return values;\r\n }\r\n setFormValue(value, type) {\r\n const newValue = this.convertValue(value, type);\r\n this.formRef.current?.setFieldsValue(newValue);\r\n }\r\n doSubmit(formdata, label) {\r\n const {\r\n submitUrl,\r\n submitParams = {},\r\n callBack,\r\n requestObject = {},\r\n requestConfig = {},\r\n } = this.props;\r\n const { addUrl, editorUrl, addParams, editorParams } = requestObject;\r\n let url = submitUrl;\r\n let params: any = {};\r\n if (label == \"新增\") {\r\n url = addUrl ? addUrl : submitUrl;\r\n if (addParams && typeof addParams == \"string\") {\r\n const Utils = this.props.Utils || {};\r\n let func = new Function(\"Utils\", addParams);\r\n let converParams = func(Utils);\r\n params = converParams;\r\n } else {\r\n params = addParams ? addParams : submitParams;\r\n }\r\n } else if (label == \"编辑\") {\r\n url = editorUrl ? editorUrl : submitUrl;\r\n if (editorParams && typeof editorParams == \"string\") {\r\n const Utils = this.props.Utils || {};\r\n let func = new Function(\"Utils\", editorParams);\r\n let converParams = func(Utils);\r\n params = converParams;\r\n } else {\r\n params = editorParams ? editorParams : submitParams;\r\n }\r\n }\r\n if (!url) {\r\n console.error(\"配置Url不能为空!\");\r\n return;\r\n }\r\n const { data = {}, ...otherParams } = params;\r\n this.formRef.current?.onSubmit(\r\n url,\r\n {\r\n data: { ...formdata, ...data },\r\n noUndefined: label == \"编辑\",\r\n ...requestConfig,\r\n ...otherParams,\r\n },\r\n (res: any) => {\r\n const { code } = res;\r\n this.setState({ loading: false });\r\n if (code === 200) {\r\n message.success(label + \"成功\");\r\n this.hide(true);\r\n callBack && callBack();\r\n return;\r\n }\r\n this.hide(false);\r\n }\r\n );\r\n }\r\n getFileList(data, label = \"新增\") {\r\n this.submitFlag = true;\r\n let fileList = [] as any;\r\n if (data && data.length > 0) {\r\n data.map((item) => {\r\n let obj = {\r\n fileId: item.fileId,\r\n fileName: item.fileName,\r\n } as any;\r\n if (label == \"查看\") {\r\n obj.status = \"done\";\r\n }\r\n if (label !== \"查看\" && item.status !== \"done\") {\r\n this.submitFlag = false;\r\n }\r\n fileList.push(obj);\r\n });\r\n }\r\n return fileList;\r\n }\r\n\r\n onSubmit() {\r\n const { onSubmit } = this.props;\r\n const { label, value, dictNames, fileList } = this.state;\r\n let valid = this.valid;\r\n this.formRef.current\r\n ?.validateFields()\r\n .then(() => {\r\n let data = this.getFormValue();\r\n // if (!this.submitFlag) {\r\n // message.error('请等待所有文件上传完成!')\r\n // return;\r\n // }\r\n this.setState({ loading: true });\r\n if (onSubmit) {\r\n onSubmit && onSubmit(data, label);\r\n return;\r\n }\r\n this.doSubmit(data, label);\r\n })\r\n .catch((errorInfo: any) => {});\r\n }\r\n valueChange({ type, dictName }, props, value, valueOption, data) {\r\n if (valueOption) {\r\n if (dictName) {\r\n const { dictNames } = this.state;\r\n const newNames = { ...dictNames } as any;\r\n newNames[dictName] = valueOption.label;\r\n this.setState({\r\n dictNames: newNames,\r\n });\r\n }\r\n }\r\n if (props.onChange) {\r\n if (typeof props.onChange == \"function\") {\r\n props.onChange(value, valueOption, data);\r\n } else if (typeof props.onChange == \"string\") {\r\n const eventOption = {\r\n value,\r\n data,\r\n formRef: this.formRef,\r\n funcs: this.props.funcs || {},\r\n refs: this.refList,\r\n } as any;\r\n const Utils = this.props.Utils || {};\r\n if (type == \"Select\") {\r\n eventOption.valueOption = valueOption;\r\n eventOption.data = data;\r\n } else if (type == \"DatePicker\" || type == \"RangePicker\") {\r\n eventOption.valueStr = valueOption;\r\n }\r\n const selfFunc = new Function(\"eventOption\", \"Utils\", props.onChange);\r\n selfFunc(eventOption, Utils);\r\n }\r\n }\r\n }\r\n\r\n renderForm(forms, label) {\r\n const newValid: any[] = [];\r\n return (\r\n <Row gutter={24}>\r\n {forms.map((item: any, index: number) => {\r\n const itemProps = item.props || {};\r\n if (itemProps.format || itemProps.valueFormat) {\r\n this.dateValueFormat[item.name] =\r\n itemProps.format || itemProps.valueFormat;\r\n }\r\n if (itemProps.format) {\r\n this.dateFormat[item.name] = itemProps.format;\r\n }\r\n if (item.type == \"RangePicker\" && item.name.split(\",\").length > 1) {\r\n this.rangerDate[item.name] = item.name.split(\",\");\r\n }\r\n let allowChars = item.props?.allowChars || false;\r\n let props = {\r\n placeholder: `请输入${item.label}`,\r\n ...item.props,\r\n onChange: this.valueChange.bind(\r\n this,\r\n {\r\n type: item.type,\r\n dictName: item.dictName,\r\n },\r\n { ...item.props }\r\n ),\r\n };\r\n if (!item.type || item.type == \"Input\") {\r\n props.allowChars = true; //form.item 使用input组件allowChars必须默认true,不然输入特殊字符拿到的值不对\r\n }\r\n delete props.valueFormat;\r\n delete props.format;\r\n delete props.dataType;\r\n if (label == \"查看\") {\r\n props.disabled = true;\r\n props.placeholder = \"\";\r\n }\r\n if ((item.rules && item.rules.length > 0) || item.required === true) {\r\n newValid.push(item.name);\r\n }\r\n if (index + 1 === forms.length) {\r\n this.valid = newValid;\r\n }\r\n const itemRef: any = React.createRef<any>();\r\n this.refList[item.name] = itemRef;\r\n if (item.type !== \"Upload\") {\r\n return (\r\n <Col\r\n span={item.span || 12}\r\n key={index}\r\n style={{ display: item.hide ? \"none\" : \"block\" }}\r\n >\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n componentName={item.type ? item.type : \"Input\"}\r\n required={item.required}\r\n type={item.props?.type}\r\n noStyle={item.noStyle || false}\r\n >\r\n {item.formRender\r\n ? item.formRender(props)\r\n : getNode(item.type, {\r\n ref: itemRef,\r\n ...props,\r\n })}\r\n </Form.Item>\r\n </Col>\r\n );\r\n } else {\r\n this.fileFormat.push(item.name);\r\n return (\r\n <Col\r\n span={item.span || 12}\r\n key={index}\r\n style={{ display: item.hide ? \"none\" : \"block\" }}\r\n >\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n type={item.props?.type}\r\n required={item.required}\r\n >\r\n <Upload\r\n fileList={this.state.fileList[item.name] || []}\r\n onListChange={(list) => {\r\n const { fileList } = this.state;\r\n this.setState({\r\n fileList: { ...fileList, [item.name]: list },\r\n });\r\n }}\r\n showUploadList={{\r\n showDownloadIcon: true,\r\n showRemoveIcon: label !== \"查看\",\r\n }}\r\n ref={itemRef}\r\n {...props}\r\n >\r\n {item.props?.children\r\n ? item.props?.children\r\n : label !== \"查看\" && <Button>上传文件</Button>}\r\n </Upload>\r\n </Form.Item>\r\n </Col>\r\n );\r\n }\r\n })}\r\n </Row>\r\n );\r\n }\r\n render() {\r\n const {\r\n forms = [],\r\n props = {},\r\n footer = true,\r\n children,\r\n formType = \"page\",\r\n } = this.props;\r\n const { loading, label } = this.state;\r\n let selfButtons = [] as any;\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n typeof item == \"object\" && selfButtons.push(item);\r\n });\r\n } else if (children) {\r\n typeof children == \"object\" && selfButtons.push(children);\r\n }\r\n let modalProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onCancel: this.hide.bind(this),\r\n okButtonProps: { loading: loading },\r\n centered: true,\r\n width: \"50vw\",\r\n footerButton: selfButtons,\r\n } as any;\r\n\r\n let drawerProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onClose: this.hide.bind(this),\r\n width: \"50vw\",\r\n footerButton: selfButtons,\r\n } as any;\r\n if (label == \"查看\") {\r\n modalProps.footer = null;\r\n drawerProps.footer = null;\r\n }\r\n this.dateValueFormat = {};\r\n this.dateFormat = {};\r\n this.fileFormat = [];\r\n let newFormsObj = {} as any;\r\n let formGroups = [] as any;\r\n let otherGrups = [] as any;\r\n //处理表单数据\r\n forms.map((item: any) => {\r\n if (item.groupName && formGroups.indexOf(item.groupName) < 0) {\r\n formGroups.push(item.groupName);\r\n } else if (!item.groupName) {\r\n otherGrups.push(item);\r\n }\r\n });\r\n if (formGroups.length > 0) {\r\n formGroups.map((item: any) => {\r\n let groupForms = [] as any;\r\n forms.map((form: any) => {\r\n if (form.groupName == item) {\r\n groupForms.push(form);\r\n }\r\n });\r\n newFormsObj[item] = groupForms;\r\n });\r\n if (otherGrups.length > 0) {\r\n newFormsObj[\"noGroupName\"] = otherGrups;\r\n }\r\n }\r\n //自定义按钮\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n showModel={this.props.formType == \"page\" ? null : this.props.formType}\r\n modalProps={{ ...modalProps }}\r\n drawerProps={{ ...drawerProps }}\r\n // labelCol={{ flex: \"100px\" }}\r\n // wrapperCol={{ flex: \"15vw\" }}\r\n onValuesChange={(changedValues, allValues) => {\r\n const { onFormChange } = this.props;\r\n onFormChange && onFormChange(changedValues, allValues);\r\n }}\r\n changeValid={this.props.changeValid}\r\n {...props}\r\n >\r\n <div className=\"nsc-form-page\">\r\n {formGroups.length == 0 ? (\r\n this.props.formType !== \"page\" ? (\r\n this.renderForm(forms, label)\r\n ) : (\r\n <div className=\"nsc-form-pane\">\r\n {this.renderForm(forms, label)}\r\n </div>\r\n )\r\n ) : (\r\n Object.keys(newFormsObj).map((key) => {\r\n return (\r\n <div key={key} className=\"nsc-form-pane\">\r\n {key != \"noGroupName\" && (\r\n <div className=\"nsc-form-title\">{key}</div>\r\n )}\r\n <div className=\"nsc-form-content\">\r\n {this.renderForm(newFormsObj[key], label)}\r\n </div>\r\n </div>\r\n );\r\n })\r\n )}\r\n {formType === \"page\" && footer == true && (\r\n <div\r\n className={cls(\r\n \"nsc-form-page-footer\",\r\n [this.state.width ? \"nsc-form-page-footer-width\" : \"\"],\r\n this.props.footerClassName\r\n )}\r\n >\r\n <Button\r\n {...this.props.cancelButtonProps}\r\n onClick={() => {\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n return;\r\n }\r\n this.setState({ loading: false });\r\n }}\r\n >\r\n 取消\r\n </Button>\r\n <Button\r\n type=\"primary\"\r\n {...this.props.okButtonProps}\r\n onClick={() => {\r\n this.onSubmit();\r\n }}\r\n loading={this.state.loading}\r\n className={\"nsc-form-page-footer-btn\"}\r\n >\r\n 保存\r\n </Button>\r\n {selfButtons.map((item: any, index: any) => {\r\n return (\r\n <div className={\"nsc-form-page-footer-btn\"} key={index}>\r\n {item}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n )}\r\n {formType === \"page\" && footer !== true && this.props.footer}\r\n </div>\r\n </Form>\r\n );\r\n }\r\n}\r\n\r\nexport default FormPage;\r\n"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAmB,OAAO;AACvD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,SAAkBC,OAAO,QAAQ,aAAa;AAC9C,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,GAAG,MAAM,qBAAqB;AACrC,OAAOC,GAAG,MAAM,qBAAqB;AACrC,SAASC,UAAU,EAAEC,aAAa,QAAQ,mBAAmB;AAC7D,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,qBAAqB;AAC5B,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,OAAOC,MAAM,MAAM,mBAAmB;AACtC,OAAOC,GAAG,MAAM,YAAY;AAyB5B,MAAMC,QAAQ,SAASb,aAAa,CAAqB;EAAAc,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,+BAC7CjB,KAAK,CAACkB,SAAS,CAAM,CAAC;IAAAD,eAAA,gBACxB;MACNE,OAAO,EAAE,KAAK;MACdC,KAAK,EAAE,EAAE;MACTC,UAAU,EAAE,IAAI;MAChBC,KAAK,EAAE,CAAC,CAAQ;MAChBC,SAAS,EAAE,CAAC,CAAQ;MACpBC,QAAQ,EAAE,CAAC,CAAQ;MACnBC,KAAK,EAAEjB,aAAa,CAAC,uBAAuB,CAAC,IAAI,KAAK;MACtDkB,MAAM,EAAE;IACV,CAAC;IAAAT,eAAA,gBACY,EAAE;IAAAA,eAAA,0BACG,CAAC,CAAC;IAAAA,eAAA,qBACP,CAAC,CAAC;IAAAA,eAAA,qBACF,EAAE;IAAAA,eAAA,qBACF,CAAC,CAAC;IAAAA,eAAA,kBACL,CAAC,CAAC;IAAAA,eAAA,qBACC,IAAI;IAAAA,eAAA,wBAOAU,EAAE,IAAK;MACtB,MAAMC,IAAI,GAAG,OAAOD,EAAE,CAACC,IAAI,KAAK,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACH,EAAE,CAACC,IAAI,CAAC,GAAGD,EAAE,CAACC,IAAI;MACxE,IAAIG,KAAK,GAAG,IAAI;MAChB,IAAIH,IAAI,CAACI,SAAS,IAAI,cAAc,EAAE;QACpC,MAAM;UAAEC;QAAQ,CAAC,GAAGL,IAAI;QACxB,IAAIK,OAAO,CAACC,KAAK,KAAK,IAAI,IAAID,OAAO,CAACC,KAAK,KAAK,KAAK,EAAE;UACrDH,KAAK,CAACI,QAAQ,CAAC;YAAEV,KAAK,EAAEQ,OAAO,CAACC;UAAM,CAAC,CAAC;QAC1C;MACF;IACF,CAAC;EAAA;EAfDE,iBAAiBA,CAAA,EAAS;IACxBC,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,aAAa,CAAC;EACxD;EACAC,oBAAoBA,CAAA,EAAG;IACrBH,MAAM,CAACI,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACF,aAAa,CAAC;EAC3D;EAWA;EACAG,IAAIA,CAACC,QAAc,EAAsC;IAAA,IAApCC,UAAU,GAAA5B,SAAA,CAAA6B,MAAA,QAAA7B,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,KAAK;IAAA,IAAE+B,QAAc,GAAA/B,SAAA,CAAA6B,MAAA,OAAA7B,SAAA,MAAA8B,SAAA;IACrD,IAAI1B,KAAK,GAAG,IAAI;IAChB,IAAIuB,QAAQ,IAAIC,UAAU,IAAI,QAAQ,EAAE;MACtCxB,KAAK,GAAG,IAAI;IACd,CAAC,MAAM,IAAIuB,QAAQ,KAAKC,UAAU,IAAI,QAAQ,IAAIA,UAAU,IAAI,QAAQ,CAAC,EAAE;MACzExB,KAAK,GAAG,IAAI;IACd;IACA,IAAIuB,QAAQ,EAAE;MACZ,IAAI,CAACR,QAAQ,CACX;QACEf,KAAK,EAAEA,KAAK;QACZE,KAAK,EAAEqB,QAAQ;QACfjB,MAAM,EAAEiB,QAAQ,CAACK;MACnB,CAAC,EACD,MAAM;QAAA,IAAAC,qBAAA;QACJ,IAAI3B,KAAK,GAAG,IAAI,CAAC4B,YAAY,CAACP,QAAQ,EAAEvB,KAAK,CAAC;QAC9C;QACA,CAAA6B,qBAAA,OAAI,CAACE,OAAO,CAACC,OAAO,cAAAH,qBAAA,eAApBA,qBAAA,CAAsBI,QAAQ,CAAC/B,KAAK,EAAE;UACpCgC,WAAW,EAAEA,CAAA,KAAM;YACjBP,QAAQ,IAAIA,QAAQ,CAAC,CAAC;UACxB;QACF,CAAC,CAAC;MACJ,CACF,CAAC;IACH,CAAC,MAAM;MACL,IAAI,CAACZ,QAAQ,CACX;QACEf,KAAK,EAAEA;MACT,CAAC,EACD,MAAM;QAAA,IAAAmC,sBAAA;QACJ,CAAAA,sBAAA,OAAI,CAACJ,OAAO,CAACC,OAAO,cAAAG,sBAAA,eAApBA,sBAAA,CAAsBF,QAAQ,CAAC,IAAI,CAACG,KAAK,CAACC,YAAY,EAAE;UACtDH,WAAW,EAAEA,CAAA,KAAM;YACjBP,QAAQ,IAAIA,QAAQ,CAAC,CAAC;UACxB;QACF,CAAC,CAAC;MACJ,CACF,CAAC;IACH;EACF;EACAW,IAAIA,CAAA,EAAc;IAAA,IAAAC,sBAAA;IAAA,IAAbD,IAAI,GAAA1C,SAAA,CAAA6B,MAAA,QAAA7B,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,IAAI;IACd,MAAM;MAAE4C;IAAW,CAAC,GAAG,IAAI,CAACJ,KAAK;IACjC,IAAII,UAAU,EAAE;MACdA,UAAU,IAAIA,UAAU,CAAC,CAAC;MAC1B;IACF;IACA,IAAI,CAACzB,QAAQ,CAAC;MAAEhB,OAAO,EAAE,KAAK;MAAEK,QAAQ,EAAE,CAAC;IAAE,CAAC,CAAC;IAC/CkC,IAAI,MAAAC,sBAAA,GAAI,IAAI,CAACR,OAAO,CAACC,OAAO,cAAAO,sBAAA,uBAApBA,sBAAA,CAAsBE,QAAQ,CAAC,CAAC;EAC1C;EACAA,QAAQA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACT,IAAI,CAAC3B,QAAQ,CAAC;MAAEhB,OAAO,EAAE,KAAK;MAAEK,QAAQ,EAAE,CAAC;IAAE,CAAC,CAAC;IAC/C,CAAAsC,sBAAA,OAAI,CAACX,OAAO,CAACC,OAAO,cAAAU,sBAAA,eAApBA,sBAAA,CAAsBD,QAAQ,CAAC,CAAC;EAClC;EACAR,QAAQA,CAACV,QAAc,EAAsC;IAAA,IAApCC,UAAU,GAAA5B,SAAA,CAAA6B,MAAA,QAAA7B,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,KAAK;IAAA,IAAE+B,QAAc,GAAA/B,SAAA,CAAA6B,MAAA,OAAA7B,SAAA,MAAA8B,SAAA;IACzD,IAAI,CAACJ,IAAI,CAACC,QAAQ,EAAEC,UAAU,EAAEG,QAAQ,CAAC;EAC3C;EACAgB,UAAUA,CAAC5C,OAAgB,EAAE;IAC3B,IAAI,CAACgB,QAAQ,CAAC;MAAEhB,OAAO,EAAEA;IAAQ,CAAC,CAAC;EACrC;EACA6C,WAAWA,CAACC,IAAI,EAAE;IAChB,IAAI,CAAC9B,QAAQ,CAAC;MACZf,KAAK,EAAE6C;IACT,CAAC,CAAC;EACJ;EACAC,SAASA,CAAClB,EAAE,EAAE;IACZ,IAAI,CAACb,QAAQ,CAAC;MACZT,MAAM,EAAEsB;IACV,CAAC,CAAC;EACJ;EACAmB,YAAYA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACb,MAAM;MAAEhD,KAAK;MAAEE,KAAK;MAAEC,SAAS;MAAEC;IAAS,CAAC,GAAG,IAAI,CAAC6C,KAAK;IACxD,MAAMC,SAAS,IAAAF,sBAAA,GAAG,IAAI,CAACjB,OAAO,CAACC,OAAO,cAAAgB,sBAAA,uBAApBA,sBAAA,CAAsBG,cAAc,CAAC,CAAC;IACxD,IAAI3C,IAAI,GAAA4C,aAAA,CAAAA,aAAA,KAAQF,SAAS,GAAK/C,SAAS,CAAE;IACzC,IAAI,IAAI,CAACkD,UAAU,CAAC5B,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAI6B,WAAW,GAAG,CAAC,CAAQ;MAC3B,IAAI,CAACD,UAAU,CAACE,GAAG,CAAEC,IAAI,IAAK;QAC5B,IAAIpD,QAAQ,CAACoD,IAAI,CAAC,CAAC/B,MAAM,IAAI,CAAC,EAAE;UAC9B6B,WAAW,CAACE,IAAI,CAAC,GAAG,IAAI;QAC1B,CAAC,MAAM;UACL,IAAI,CAACN,SAAS,CAACM,IAAI,CAAC,EAAE;YACpBF,WAAW,CAACE,IAAI,CAAC,GAAG,IAAI,CAACC,WAAW,CAACrD,QAAQ,CAACoD,IAAI,CAAC,IAAI,EAAE,CAAC;UAC5D;QACF;MACF,CAAC,CAAC;MACFhD,IAAI,GAAA4C,aAAA,CAAAA,aAAA,KAAQ5C,IAAI,GAAK8C,WAAW,CAAE;IACpC;IACA,IAAI,CAAC,IAAI,CAACI,UAAU,EAAE;MACpB1E,OAAO,CAAC2E,KAAK,CAAC,cAAc,CAAC;MAC7B;IACF;IACA,IAAI,CAACxE,UAAU,CAAC,IAAI,CAACyE,eAAe,CAAC,EAAE;MACrC,KAAK,IAAIC,GAAG,IAAI,IAAI,CAACD,eAAe,EAAE;QACpC,IAAIE,OAAO,GAAGtD,IAAI,CAACqD,GAAG,CAAC;QACvB,IAAIC,OAAO,EAAE;UACX,IAAIC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,EAAE;YAC1BtD,IAAI,CAACqD,GAAG,CAAC,GAAG,CACVxE,KAAK,CAACyE,OAAO,CAAC,CAAC,CAAC,CAAC,CAACG,MAAM,CAAC,IAAI,CAACL,eAAe,CAACC,GAAG,CAAC,CAAC,EACnDxE,KAAK,CAACyE,OAAO,CAAC,CAAC,CAAC,CAAC,CAACG,MAAM,CAAC,IAAI,CAACL,eAAe,CAACC,GAAG,CAAC,CAAC,CACpD;YACD,IAAI,IAAI,CAACK,UAAU,CAACL,GAAG,CAAC,EAAE;cACxB,IAAI;gBACFrD,IAAI,CAAC,IAAI,CAAC0D,UAAU,CAACL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGxE,KAAK,CAACyE,OAAO,CAAC,CAAC,CAAC,CAAC,CAACG,MAAM,CACtD,IAAI,CAACE,UAAU,CAACN,GAAG,CACrB,CAAC;gBACDrD,IAAI,CAAC,IAAI,CAAC0D,UAAU,CAACL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGxE,KAAK,CAACyE,OAAO,CAAC,CAAC,CAAC,CAAC,CAACG,MAAM,CACtD,IAAI,CAACE,UAAU,CAACN,GAAG,CACrB,CAAC;gBACD,OAAOrD,IAAI,CAACqD,GAAG,CAAC;cAClB,CAAC,CAAC,OAAOO,CAAC,EAAE,CAAC;YACf;UACF,CAAC,MAAM;YACL5D,IAAI,CAACqD,GAAG,CAAC,GAAGxE,KAAK,CAACyE,OAAO,CAAC,CAACG,MAAM,CAAC,IAAI,CAACL,eAAe,CAACC,GAAG,CAAC,CAAC;UAC9D;QACF;MACF;IACF;IACA,IAAI7D,KAAK,IAAI,IAAI,EAAE;MACjBQ,IAAI,GAAA4C,aAAA,CAAAA,aAAA,KAAQ5C,IAAI;QAAEoB,EAAE,EAAE,CAAA1B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE0B,EAAE,KAAI,IAAI,CAACqB,KAAK,CAAC3C;MAAM,EAAE;IACxD;IACA,OAAOE,IAAI;EACb;EACAsB,YAAYA,CAAC5B,KAAK,EAAE2C,IAAI,EAAE;IACxB,IAAIwB,MAAM,GAAG/E,MAAM,CAACgF,SAAS,CAACpE,KAAK,CAAC;IACpC,IAAI,IAAI,CAACmD,UAAU,CAAC5B,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAIrB,QAAQ,GAAG,CAAC,CAAQ;MACxB,IAAI,CAACiD,UAAU,CAACE,GAAG,CAAEC,IAAI,IAAK;QAC5B,IAAIM,OAAO,GAAGO,MAAM,CAACb,IAAI,CAAC;QAC1B,IAAIM,OAAO,IAAIC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,EAAE;UACrC1D,QAAQ,CAACoD,IAAI,CAAC,GAAG,IAAI,CAACC,WAAW,CAACK,OAAO,IAAI,EAAE,EAAEjB,IAAI,CAAC;QACxD,CAAC,MAAM;UACLzC,QAAQ,CAACoD,IAAI,CAAC,GAAG,EAAE;QACrB;MACF,CAAC,CAAC;MACF,IAAI,CAACzC,QAAQ,CAAC;QAAEX,QAAQ,EAAEA;MAAS,CAAC,CAAC;IACvC;IACA;IACA,IAAI,CAACjB,UAAU,CAAC,IAAI,CAACgF,UAAU,CAAC,EAAE;MAChC,KAAK,IAAIN,GAAG,IAAI,IAAI,CAACM,UAAU,EAAE;QAC/B,IAAIL,OAAO,GAAGO,MAAM,CAACR,GAAG,CAAC;QACzB,IAAIC,OAAO,EAAE;UACX,IAAIC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,EAAE;YAC1BO,MAAM,CAACR,GAAG,CAAC,GAAG,CACZxE,KAAK,CAACyE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAACK,UAAU,CAACN,GAAG,CAAC,CAAC,EACvCxE,KAAK,CAACyE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAACK,UAAU,CAACN,GAAG,CAAC,CAAC,CACxC;UACH,CAAC,MAAM;YACLQ,MAAM,CAACR,GAAG,CAAC,GAAGxE,KAAK,CAACyE,OAAO,EAAE,IAAI,CAACK,UAAU,CAACN,GAAG,CAAC,CAAC;UACpD;QACF,CAAC,MAAM;UACL,IAAI,IAAI,CAACK,UAAU,CAACL,GAAG,CAAC,EAAE;YACxB,IAAIU,MAAM,GAAGF,MAAM,CAAC,IAAI,CAACH,UAAU,CAACL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAIW,MAAM,GAAGH,MAAM,CAAC,IAAI,CAACH,UAAU,CAACL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAIU,MAAM,IAAIC,MAAM,EAAE;cACpBH,MAAM,CAACR,GAAG,CAAC,GAAG,CACZxE,KAAK,CAACkF,MAAM,EAAE,IAAI,CAACJ,UAAU,CAACN,GAAG,CAAC,CAAC,EACnCxE,KAAK,CAACmF,MAAM,EAAE,IAAI,CAACL,UAAU,CAACN,GAAG,CAAC,CAAC,CACpC;YACH;UACF;QACF;MACF;IACF;IACA,OAAOQ,MAAM;EACf;EACAI,YAAYA,CAACvE,KAAK,EAAE2C,IAAI,EAAE;IAAA,IAAA6B,sBAAA;IACxB,MAAMC,QAAQ,GAAG,IAAI,CAAC7C,YAAY,CAAC5B,KAAK,EAAE2C,IAAI,CAAC;IAC/C,CAAA6B,sBAAA,OAAI,CAAC3C,OAAO,CAACC,OAAO,cAAA0C,sBAAA,eAApBA,sBAAA,CAAsBE,cAAc,CAACD,QAAQ,CAAC;EAChD;EACAE,QAAQA,CAACC,QAAQ,EAAE9E,KAAK,EAAE;IAAA,IAAA+E,sBAAA;IACxB,MAAM;MACJC,SAAS;MACTC,YAAY,GAAG,CAAC,CAAC;MACjBtD,QAAQ;MACRuD,aAAa,GAAG,CAAC,CAAC;MAClBC,aAAa,GAAG,CAAC;IACnB,CAAC,GAAG,IAAI,CAAC/C,KAAK;IACd,MAAM;MAAEgD,MAAM;MAAEC,SAAS;MAAEC,SAAS;MAAEC;IAAa,CAAC,GAAGL,aAAa;IACpE,IAAIM,GAAG,GAAGR,SAAS;IACnB,IAAIS,MAAW,GAAG,CAAC,CAAC;IACpB,IAAIzF,KAAK,IAAI,IAAI,EAAE;MACjBwF,GAAG,GAAGJ,MAAM,GAAGA,MAAM,GAAGJ,SAAS;MACjC,IAAIM,SAAS,IAAI,OAAOA,SAAS,IAAI,QAAQ,EAAE;QAC7C,MAAMI,KAAK,GAAG,IAAI,CAACtD,KAAK,CAACsD,KAAK,IAAI,CAAC,CAAC;QACpC,IAAIC,IAAI,GAAG,IAAIC,QAAQ,CAAC,OAAO,EAAEN,SAAS,CAAC;QAC3C,IAAIO,YAAY,GAAGF,IAAI,CAACD,KAAK,CAAC;QAC9BD,MAAM,GAAGI,YAAY;MACvB,CAAC,MAAM;QACLJ,MAAM,GAAGH,SAAS,GAAGA,SAAS,GAAGL,YAAY;MAC/C;IACF,CAAC,MAAM,IAAIjF,KAAK,IAAI,IAAI,EAAE;MACxBwF,GAAG,GAAGH,SAAS,GAAGA,SAAS,GAAGL,SAAS;MACvC,IAAIO,YAAY,IAAI,OAAOA,YAAY,IAAI,QAAQ,EAAE;QACnD,MAAMG,KAAK,GAAG,IAAI,CAACtD,KAAK,CAACsD,KAAK,IAAI,CAAC,CAAC;QACpC,IAAIC,IAAI,GAAG,IAAIC,QAAQ,CAAC,OAAO,EAAEL,YAAY,CAAC;QAC9C,IAAIM,YAAY,GAAGF,IAAI,CAACD,KAAK,CAAC;QAC9BD,MAAM,GAAGI,YAAY;MACvB,CAAC,MAAM;QACLJ,MAAM,GAAGF,YAAY,GAAGA,YAAY,GAAGN,YAAY;MACrD;IACF;IACA,IAAI,CAACO,GAAG,EAAE;MACRM,OAAO,CAACnC,KAAK,CAAC,YAAY,CAAC;MAC3B;IACF;IACA,MAAM;QAAEnD,IAAI,GAAG,CAAC;MAAkB,CAAC,GAAGiF,MAAM;MAAtBM,WAAW,GAAAC,wBAAA,CAAKP,MAAM,EAAAQ,SAAA;IAC5C,CAAAlB,sBAAA,OAAI,CAAChD,OAAO,CAACC,OAAO,cAAA+C,sBAAA,eAApBA,sBAAA,CAAsBmB,QAAQ,CAC5BV,GAAG,EAAApC,aAAA,CAAAA,aAAA;MAED5C,IAAI,EAAA4C,aAAA,CAAAA,aAAA,KAAO0B,QAAQ,GAAKtE,IAAI,CAAE;MAC9B2F,WAAW,EAAEnG,KAAK,IAAI;IAAI,GACvBmF,aAAa,GACbY,WAAW,GAEfK,GAAQ,IAAK;MACZ,MAAM;QAAEC;MAAK,CAAC,GAAGD,GAAG;MACpB,IAAI,CAACrF,QAAQ,CAAC;QAAEhB,OAAO,EAAE;MAAM,CAAC,CAAC;MACjC,IAAIsG,IAAI,KAAK,GAAG,EAAE;QAChBrH,OAAO,CAACsH,OAAO,CAACtG,KAAK,GAAG,IAAI,CAAC;QAC7B,IAAI,CAACsC,IAAI,CAAC,IAAI,CAAC;QACfX,QAAQ,IAAIA,QAAQ,CAAC,CAAC;QACtB;MACF;MACA,IAAI,CAACW,IAAI,CAAC,KAAK,CAAC;IAClB,CACF,CAAC;EACH;EACAmB,WAAWA,CAACjD,IAAI,EAAgB;IAAA,IAAdR,KAAK,GAAAJ,SAAA,CAAA6B,MAAA,QAAA7B,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,IAAI;IAC5B,IAAI,CAAC8D,UAAU,GAAG,IAAI;IACtB,IAAItD,QAAQ,GAAG,EAAS;IACxB,IAAII,IAAI,IAAIA,IAAI,CAACiB,MAAM,GAAG,CAAC,EAAE;MAC3BjB,IAAI,CAAC+C,GAAG,CAAEC,IAAI,IAAK;QACjB,IAAI+C,GAAG,GAAG;UACRC,MAAM,EAAEhD,IAAI,CAACgD,MAAM;UACnBC,QAAQ,EAAEjD,IAAI,CAACiD;QACjB,CAAQ;QACR,IAAIzG,KAAK,IAAI,IAAI,EAAE;UACjBuG,GAAG,CAACG,MAAM,GAAG,MAAM;QACrB;QACA,IAAI1G,KAAK,KAAK,IAAI,IAAIwD,IAAI,CAACkD,MAAM,KAAK,MAAM,EAAE;UAC5C,IAAI,CAAChD,UAAU,GAAG,KAAK;QACzB;QACAtD,QAAQ,CAACuG,IAAI,CAACJ,GAAG,CAAC;MACpB,CAAC,CAAC;IACJ;IACA,OAAOnG,QAAQ;EACjB;EAEA8F,QAAQA,CAAA,EAAG;IAAA,IAAAU,sBAAA;IACT,MAAM;MAAEV;IAAS,CAAC,GAAG,IAAI,CAAC9D,KAAK;IAC/B,MAAM;MAAEpC,KAAK;MAAEE,KAAK;MAAEC,SAAS;MAAEC;IAAS,CAAC,GAAG,IAAI,CAAC6C,KAAK;IACxD,IAAI4D,KAAK,GAAG,IAAI,CAACA,KAAK;IACtB,CAAAD,sBAAA,OAAI,CAAC7E,OAAO,CAACC,OAAO,cAAA4E,sBAAA,eAApBA,sBAAA,CACIE,cAAc,CAAC,CAAC,CACjBC,IAAI,CAAC,MAAM;MACV,IAAIvG,IAAI,GAAG,IAAI,CAACuC,YAAY,CAAC,CAAC;MAC9B;MACA;MACA;MACA;MACA,IAAI,CAAChC,QAAQ,CAAC;QAAEhB,OAAO,EAAE;MAAK,CAAC,CAAC;MAChC,IAAImG,QAAQ,EAAE;QACZA,QAAQ,IAAIA,QAAQ,CAAC1F,IAAI,EAAER,KAAK,CAAC;QACjC;MACF;MACA,IAAI,CAAC6E,QAAQ,CAACrE,IAAI,EAAER,KAAK,CAAC;IAC5B,CAAC,CAAC,CACDgH,KAAK,CAAEC,SAAc,IAAK,CAAC,CAAC,CAAC;EAClC;EACAC,WAAWA,CAAAC,IAAA,EAAqB/E,KAAK,EAAElC,KAAK,EAAEkH,WAAW,EAAE5G,IAAI,EAAE;IAAA,IAArD;MAAEqC,IAAI;MAAEwE;IAAS,CAAC,GAAAF,IAAA;IAC5B,IAAIC,WAAW,EAAE;MACf,IAAIC,QAAQ,EAAE;QACZ,MAAM;UAAElH;QAAU,CAAC,GAAG,IAAI,CAAC8C,KAAK;QAChC,MAAMqE,QAAQ,GAAAlE,aAAA,KAAQjD,SAAS,CAAS;QACxCmH,QAAQ,CAACD,QAAQ,CAAC,GAAGD,WAAW,CAACpH,KAAK;QACtC,IAAI,CAACe,QAAQ,CAAC;UACZZ,SAAS,EAAEmH;QACb,CAAC,CAAC;MACJ;IACF;IACA,IAAIlF,KAAK,CAACmF,QAAQ,EAAE;MAClB,IAAI,OAAOnF,KAAK,CAACmF,QAAQ,IAAI,UAAU,EAAE;QACvCnF,KAAK,CAACmF,QAAQ,CAACrH,KAAK,EAAEkH,WAAW,EAAE5G,IAAI,CAAC;MAC1C,CAAC,MAAM,IAAI,OAAO4B,KAAK,CAACmF,QAAQ,IAAI,QAAQ,EAAE;QAC5C,MAAMC,WAAW,GAAG;UAClBtH,KAAK;UACLM,IAAI;UACJuB,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0F,KAAK,EAAE,IAAI,CAACrF,KAAK,CAACqF,KAAK,IAAI,CAAC,CAAC;UAC7BC,IAAI,EAAE,IAAI,CAACC;QACb,CAAQ;QACR,MAAMjC,KAAK,GAAG,IAAI,CAACtD,KAAK,CAACsD,KAAK,IAAI,CAAC,CAAC;QACpC,IAAI7C,IAAI,IAAI,QAAQ,EAAE;UACpB2E,WAAW,CAACJ,WAAW,GAAGA,WAAW;UACrCI,WAAW,CAAChH,IAAI,GAAGA,IAAI;QACzB,CAAC,MAAM,IAAIqC,IAAI,IAAI,YAAY,IAAIA,IAAI,IAAI,aAAa,EAAE;UACxD2E,WAAW,CAACI,QAAQ,GAAGR,WAAW;QACpC;QACA,MAAMS,QAAQ,GAAG,IAAIjC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAExD,KAAK,CAACmF,QAAQ,CAAC;QACrEM,QAAQ,CAACL,WAAW,EAAE9B,KAAK,CAAC;MAC9B;IACF;EACF;EAEAoC,UAAUA,CAACC,KAAK,EAAE/H,KAAK,EAAE;IACvB,MAAMgI,QAAe,GAAG,EAAE;IAC1B,oBACEpJ,KAAA,CAAAqJ,aAAA,CAAC/I,GAAG;MAACgJ,MAAM,EAAE;IAAG,GACbH,KAAK,CAACxE,GAAG,CAAC,CAACC,IAAS,EAAE2E,KAAa,KAAK;MAAA,IAAAC,WAAA;MACvC,MAAMC,SAAS,GAAG7E,IAAI,CAACpB,KAAK,IAAI,CAAC,CAAC;MAClC,IAAIiG,SAAS,CAACpE,MAAM,IAAIoE,SAAS,CAACC,WAAW,EAAE;QAC7C,IAAI,CAAC1E,eAAe,CAACJ,IAAI,CAAC+E,IAAI,CAAC,GAC7BF,SAAS,CAACpE,MAAM,IAAIoE,SAAS,CAACC,WAAW;MAC7C;MACA,IAAID,SAAS,CAACpE,MAAM,EAAE;QACpB,IAAI,CAACE,UAAU,CAACX,IAAI,CAAC+E,IAAI,CAAC,GAAGF,SAAS,CAACpE,MAAM;MAC/C;MACA,IAAIT,IAAI,CAACX,IAAI,IAAI,aAAa,IAAIW,IAAI,CAAC+E,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC/G,MAAM,GAAG,CAAC,EAAE;QACjE,IAAI,CAACyC,UAAU,CAACV,IAAI,CAAC+E,IAAI,CAAC,GAAG/E,IAAI,CAAC+E,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC;MACnD;MACA,IAAIC,UAAU,GAAG,EAAAL,WAAA,GAAA5E,IAAI,CAACpB,KAAK,cAAAgG,WAAA,uBAAVA,WAAA,CAAYK,UAAU,KAAI,KAAK;MAChD,IAAIrG,KAAK,GAAAgB,aAAA,CAAAA,aAAA;QACPsF,WAAW,uBAAAC,MAAA,CAAQnF,IAAI,CAACxD,KAAK;MAAE,GAC5BwD,IAAI,CAACpB,KAAK;QACbmF,QAAQ,EAAE,IAAI,CAACL,WAAW,CAAC0B,IAAI,CAC7B,IAAI,EACJ;UACE/F,IAAI,EAAEW,IAAI,CAACX,IAAI;UACfwE,QAAQ,EAAE7D,IAAI,CAAC6D;QACjB,CAAC,EAAAjE,aAAA,KACII,IAAI,CAACpB,KAAK,CACjB;MAAC,EACF;MACD,IAAI,CAACoB,IAAI,CAACX,IAAI,IAAIW,IAAI,CAACX,IAAI,IAAI,OAAO,EAAE;QACtCT,KAAK,CAACqG,UAAU,GAAG,IAAI,CAAC,CAAC;MAC3B;MACA,OAAOrG,KAAK,CAACkG,WAAW;MACxB,OAAOlG,KAAK,CAAC6B,MAAM;MACnB,OAAO7B,KAAK,CAACyG,QAAQ;MACrB,IAAI7I,KAAK,IAAI,IAAI,EAAE;QACjBoC,KAAK,CAAC0G,QAAQ,GAAG,IAAI;QACrB1G,KAAK,CAACsG,WAAW,GAAG,EAAE;MACxB;MACA,IAAKlF,IAAI,CAACuF,KAAK,IAAIvF,IAAI,CAACuF,KAAK,CAACtH,MAAM,GAAG,CAAC,IAAK+B,IAAI,CAACwF,QAAQ,KAAK,IAAI,EAAE;QACnEhB,QAAQ,CAACrB,IAAI,CAACnD,IAAI,CAAC+E,IAAI,CAAC;MAC1B;MACA,IAAIJ,KAAK,GAAG,CAAC,KAAKJ,KAAK,CAACtG,MAAM,EAAE;QAC9B,IAAI,CAACoF,KAAK,GAAGmB,QAAQ;MACvB;MACA,MAAMiB,OAAY,gBAAGrK,KAAK,CAACkB,SAAS,CAAM,CAAC;MAC3C,IAAI,CAAC6H,OAAO,CAACnE,IAAI,CAAC+E,IAAI,CAAC,GAAGU,OAAO;MACjC,IAAIzF,IAAI,CAACX,IAAI,KAAK,QAAQ,EAAE;QAAA,IAAAqG,YAAA;QAC1B,oBACEtK,KAAA,CAAAqJ,aAAA,CAAChJ,GAAG;UACFkK,IAAI,EAAE3F,IAAI,CAAC2F,IAAI,IAAI,EAAG;UACtBtF,GAAG,EAAEsE,KAAM;UACXiB,KAAK,EAAE;YAAEC,OAAO,EAAE7F,IAAI,CAAClB,IAAI,GAAG,MAAM,GAAG;UAAQ;QAAE,gBAEjD1D,KAAA,CAAAqJ,aAAA,CAACnJ,IAAI,CAACwK,IAAI;UACRtJ,KAAK,EAAEwD,IAAI,CAACxD,KAAM;UAClBuI,IAAI,EAAE/E,IAAI,CAAC+E,IAAK;UAChBQ,KAAK,EAAEvF,IAAI,CAACuF,KAAM;UAClBN,UAAU,EAAEA,UAAW;UACvBc,aAAa,EAAE/F,IAAI,CAACX,IAAI,GAAGW,IAAI,CAACX,IAAI,GAAG,OAAQ;UAC/CmG,QAAQ,EAAExF,IAAI,CAACwF,QAAS;UACxBnG,IAAI,GAAAqG,YAAA,GAAE1F,IAAI,CAACpB,KAAK,cAAA8G,YAAA,uBAAVA,YAAA,CAAYrG,IAAK;UACvB2G,OAAO,EAAEhG,IAAI,CAACgG,OAAO,IAAI;QAAM,GAE9BhG,IAAI,CAACiG,UAAU,GACZjG,IAAI,CAACiG,UAAU,CAACrH,KAAK,CAAC,GACtBrD,OAAO,CAACyE,IAAI,CAACX,IAAI,EAAAO,aAAA;UACfsG,GAAG,EAAET;QAAO,GACT7G,KAAK,CACT,CACI,CACR,CAAC;MAEV,CAAC,MAAM;QAAA,IAAAuH,YAAA,EAAAC,YAAA,EAAAC,YAAA;QACL,IAAI,CAACxG,UAAU,CAACsD,IAAI,CAACnD,IAAI,CAAC+E,IAAI,CAAC;QAC/B,oBACE3J,KAAA,CAAAqJ,aAAA,CAAChJ,GAAG;UACFkK,IAAI,EAAE3F,IAAI,CAAC2F,IAAI,IAAI,EAAG;UACtBtF,GAAG,EAAEsE,KAAM;UACXiB,KAAK,EAAE;YAAEC,OAAO,EAAE7F,IAAI,CAAClB,IAAI,GAAG,MAAM,GAAG;UAAQ;QAAE,gBAEjD1D,KAAA,CAAAqJ,aAAA,CAACnJ,IAAI,CAACwK,IAAI;UACRtJ,KAAK,EAAEwD,IAAI,CAACxD,KAAM;UAClBuI,IAAI,EAAE/E,IAAI,CAAC+E,IAAK;UAChBQ,KAAK,EAAEvF,IAAI,CAACuF,KAAM;UAClBN,UAAU,EAAEA,UAAW;UACvB5F,IAAI,GAAA8G,YAAA,GAAEnG,IAAI,CAACpB,KAAK,cAAAuH,YAAA,uBAAVA,YAAA,CAAY9G,IAAK;UACvBmG,QAAQ,EAAExF,IAAI,CAACwF;QAAS,gBAExBpK,KAAA,CAAAqJ,aAAA,CAACzI,MAAM,EAAAsK,QAAA;UACL1J,QAAQ,EAAE,IAAI,CAAC6C,KAAK,CAAC7C,QAAQ,CAACoD,IAAI,CAAC+E,IAAI,CAAC,IAAI,EAAG;UAC/CwB,YAAY,EAAGC,IAAI,IAAK;YACtB,MAAM;cAAE5J;YAAS,CAAC,GAAG,IAAI,CAAC6C,KAAK;YAC/B,IAAI,CAAClC,QAAQ,CAAC;cACZX,QAAQ,EAAAgD,aAAA,CAAAA,aAAA,KAAOhD,QAAQ;gBAAE,CAACoD,IAAI,CAAC+E,IAAI,GAAGyB;cAAI;YAC5C,CAAC,CAAC;UACJ,CAAE;UACFC,cAAc,EAAE;YACdC,gBAAgB,EAAE,IAAI;YACtBC,cAAc,EAAEnK,KAAK,KAAK;UAC5B,CAAE;UACF0J,GAAG,EAAET;QAAQ,GACT7G,KAAK,GAER,CAAAwH,YAAA,GAAApG,IAAI,CAACpB,KAAK,cAAAwH,YAAA,eAAVA,YAAA,CAAYQ,QAAQ,IAAAP,YAAA,GACjBrG,IAAI,CAACpB,KAAK,cAAAyH,YAAA,uBAAVA,YAAA,CAAYO,QAAQ,GACpBpK,KAAK,KAAK,IAAI,iBAAIpB,KAAA,CAAAqJ,aAAA,CAAC1I,MAAM,QAAC,0BAAY,CACpC,CACC,CACR,CAAC;MAEV;IACF,CAAC,CACE,CAAC;EAEV;EACA8K,MAAMA,CAAA,EAAG;IACP,MAAM;MACJtC,KAAK,GAAG,EAAE;MACV3F,KAAK,GAAG,CAAC,CAAC;MACVkI,MAAM,GAAG,IAAI;MACbF,QAAQ;MACRG,QAAQ,GAAG;IACb,CAAC,GAAG,IAAI,CAACnI,KAAK;IACd,MAAM;MAAErC,OAAO;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACiD,KAAK;IACrC,IAAIuH,WAAW,GAAG,EAAS;IAC3B,IAAIzG,KAAK,CAACC,OAAO,CAACoG,QAAQ,CAAC,EAAE;MAC3BA,QAAQ,CAAC7G,GAAG,CAAEC,IAAS,IAAK;QAC1B,OAAOA,IAAI,IAAI,QAAQ,IAAIgH,WAAW,CAAC7D,IAAI,CAACnD,IAAI,CAAC;MACnD,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI4G,QAAQ,EAAE;MACnB,OAAOA,QAAQ,IAAI,QAAQ,IAAII,WAAW,CAAC7D,IAAI,CAACyD,QAAQ,CAAC;IAC3D;IACA,IAAIK,UAAU,GAAG;MACfC,KAAK,EAAE1K,KAAK;MACZ2K,IAAI,EAAE,IAAI,CAACzE,QAAQ,CAAC0C,IAAI,CAAC,IAAI,CAAC;MAC9BgC,QAAQ,EAAE,IAAI,CAACtI,IAAI,CAACsG,IAAI,CAAC,IAAI,CAAC;MAC9BiC,aAAa,EAAE;QAAE9K,OAAO,EAAEA;MAAQ,CAAC;MACnC+K,QAAQ,EAAE,IAAI;MACdzK,KAAK,EAAE,MAAM;MACb0K,YAAY,EAAEP;IAChB,CAAQ;IAER,IAAIQ,WAAW,GAAG;MAChBN,KAAK,EAAE1K,KAAK;MACZ2K,IAAI,EAAE,IAAI,CAACzE,QAAQ,CAAC0C,IAAI,CAAC,IAAI,CAAC;MAC9BqC,OAAO,EAAE,IAAI,CAAC3I,IAAI,CAACsG,IAAI,CAAC,IAAI,CAAC;MAC7BvI,KAAK,EAAE,MAAM;MACb0K,YAAY,EAAEP;IAChB,CAAQ;IACR,IAAIxK,KAAK,IAAI,IAAI,EAAE;MACjByK,UAAU,CAACH,MAAM,GAAG,IAAI;MACxBU,WAAW,CAACV,MAAM,GAAG,IAAI;IAC3B;IACA,IAAI,CAAC1G,eAAe,GAAG,CAAC,CAAC;IACzB,IAAI,CAACO,UAAU,GAAG,CAAC,CAAC;IACpB,IAAI,CAACd,UAAU,GAAG,EAAE;IACpB,IAAI6H,WAAW,GAAG,CAAC,CAAQ;IAC3B,IAAIC,UAAU,GAAG,EAAS;IAC1B,IAAIC,UAAU,GAAG,EAAS;IAC1B;IACArD,KAAK,CAACxE,GAAG,CAAEC,IAAS,IAAK;MACvB,IAAIA,IAAI,CAAC6H,SAAS,IAAIF,UAAU,CAACG,OAAO,CAAC9H,IAAI,CAAC6H,SAAS,CAAC,GAAG,CAAC,EAAE;QAC5DF,UAAU,CAACxE,IAAI,CAACnD,IAAI,CAAC6H,SAAS,CAAC;MACjC,CAAC,MAAM,IAAI,CAAC7H,IAAI,CAAC6H,SAAS,EAAE;QAC1BD,UAAU,CAACzE,IAAI,CAACnD,IAAI,CAAC;MACvB;IACF,CAAC,CAAC;IACF,IAAI2H,UAAU,CAAC1J,MAAM,GAAG,CAAC,EAAE;MACzB0J,UAAU,CAAC5H,GAAG,CAAEC,IAAS,IAAK;QAC5B,IAAI+H,UAAU,GAAG,EAAS;QAC1BxD,KAAK,CAACxE,GAAG,CAAEiI,IAAS,IAAK;UACvB,IAAIA,IAAI,CAACH,SAAS,IAAI7H,IAAI,EAAE;YAC1B+H,UAAU,CAAC5E,IAAI,CAAC6E,IAAI,CAAC;UACvB;QACF,CAAC,CAAC;QACFN,WAAW,CAAC1H,IAAI,CAAC,GAAG+H,UAAU;MAChC,CAAC,CAAC;MACF,IAAIH,UAAU,CAAC3J,MAAM,GAAG,CAAC,EAAE;QACzByJ,WAAW,CAAC,aAAa,CAAC,GAAGE,UAAU;MACzC;IACF;IACA;IACA,oBACExM,KAAA,CAAAqJ,aAAA,CAACnJ,IAAI,EAAAgL,QAAA;MACHJ,GAAG,EAAE,IAAI,CAAC3H,OAAQ;MAClB0J,SAAS,EAAE,IAAI,CAACrJ,KAAK,CAACmI,QAAQ,IAAI,MAAM,GAAG,IAAI,GAAG,IAAI,CAACnI,KAAK,CAACmI,QAAS;MACtEE,UAAU,EAAArH,aAAA,KAAOqH,UAAU,CAAG;MAC9BO,WAAW,EAAA5H,aAAA,KAAO4H,WAAW;MAC7B;MACA;MAAA;MACAU,cAAc,EAAEA,CAACC,aAAa,EAAEC,SAAS,KAAK;QAC5C,MAAM;UAAEC;QAAa,CAAC,GAAG,IAAI,CAACzJ,KAAK;QACnCyJ,YAAY,IAAIA,YAAY,CAACF,aAAa,EAAEC,SAAS,CAAC;MACxD,CAAE;MACFE,WAAW,EAAE,IAAI,CAAC1J,KAAK,CAAC0J;IAAY,GAChC1J,KAAK,gBAETxD,KAAA,CAAAqJ,aAAA;MAAK8D,SAAS,EAAC;IAAe,GAC3BZ,UAAU,CAAC1J,MAAM,IAAI,CAAC,GACrB,IAAI,CAACW,KAAK,CAACmI,QAAQ,KAAK,MAAM,GAC5B,IAAI,CAACzC,UAAU,CAACC,KAAK,EAAE/H,KAAK,CAAC,gBAE7BpB,KAAA,CAAAqJ,aAAA;MAAK8D,SAAS,EAAC;IAAe,GAC3B,IAAI,CAACjE,UAAU,CAACC,KAAK,EAAE/H,KAAK,CAC1B,CACN,GAEDgM,MAAM,CAACC,IAAI,CAACf,WAAW,CAAC,CAAC3H,GAAG,CAAEM,GAAG,IAAK;MACpC,oBACEjF,KAAA,CAAAqJ,aAAA;QAAKpE,GAAG,EAAEA,GAAI;QAACkI,SAAS,EAAC;MAAe,GACrClI,GAAG,IAAI,aAAa,iBACnBjF,KAAA,CAAAqJ,aAAA;QAAK8D,SAAS,EAAC;MAAgB,GAAElI,GAAS,CAC3C,eACDjF,KAAA,CAAAqJ,aAAA;QAAK8D,SAAS,EAAC;MAAkB,GAC9B,IAAI,CAACjE,UAAU,CAACoD,WAAW,CAACrH,GAAG,CAAC,EAAE7D,KAAK,CACrC,CACF,CAAC;IAEV,CAAC,CACF,EACAuK,QAAQ,KAAK,MAAM,IAAID,MAAM,IAAI,IAAI,iBACpC1L,KAAA,CAAAqJ,aAAA;MACE8D,SAAS,EAAEtM,GAAG,CACZ,sBAAsB,EACtB,CAAC,IAAI,CAACwD,KAAK,CAAC5C,KAAK,GAAG,4BAA4B,GAAG,EAAE,CAAC,EACtD,IAAI,CAAC+B,KAAK,CAAC8J,eACb;IAAE,gBAEFtN,KAAA,CAAAqJ,aAAA,CAAC1I,MAAM,EAAAuK,QAAA,KACD,IAAI,CAAC1H,KAAK,CAAC+J,iBAAiB;MAChCC,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,IAAI,CAAChK,KAAK,CAACwI,QAAQ,EAAE;UACvB,IAAI,CAACxI,KAAK,CAACwI,QAAQ,CAAC,CAAC;UACrB;QACF;QACA,IAAI,CAAC7J,QAAQ,CAAC;UAAEhB,OAAO,EAAE;QAAM,CAAC,CAAC;MACnC;IAAE,IACH,cAEO,CAAC,eACTnB,KAAA,CAAAqJ,aAAA,CAAC1I,MAAM,EAAAuK,QAAA;MACLjH,IAAI,EAAC;IAAS,GACV,IAAI,CAACT,KAAK,CAACyI,aAAa;MAC5BuB,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAAClG,QAAQ,CAAC,CAAC;MACjB,CAAE;MACFnG,OAAO,EAAE,IAAI,CAACkD,KAAK,CAAClD,OAAQ;MAC5BgM,SAAS,EAAE;IAA2B,IACvC,cAEO,CAAC,EACRvB,WAAW,CAACjH,GAAG,CAAC,CAACC,IAAS,EAAE2E,KAAU,KAAK;MAC1C,oBACEvJ,KAAA,CAAAqJ,aAAA;QAAK8D,SAAS,EAAE,0BAA2B;QAAClI,GAAG,EAAEsE;MAAM,GACpD3E,IACE,CAAC;IAEV,CAAC,CACE,CACN,EACA+G,QAAQ,KAAK,MAAM,IAAID,MAAM,KAAK,IAAI,IAAI,IAAI,CAAClI,KAAK,CAACkI,MACnD,CACD,CAAC;EAEX;AACF;AAEA,eAAe5K,QAAQ"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PureComponent","Form","getNode","message","Col","Row","isEmptyObj","getLocalStore","dayjs","lodash","Button","Upload","cls","NscRequest","FormPage","constructor","arguments","_defineProperty","createRef","loading","label","props","editType","editorFlag","value","dictNames","fileList","width","editId","ev","data","JSON","parse","_this","eventType","payload","close","setState","componentDidMount","window","addEventListener","listenMessage","formType","requestObject","detailUrl","get","params","id","state","xssFilter","then","res","code","_this$formRef$current","formRef","current","setFieldsValue","_objectSpread","_this$formRef$current2","defaultValu","componentWillUnmount","removeEventListener","show","orgValue","editorflag","length","undefined","callBack","_this$formRef$current3","convertValue","showForm","afterRender","_this$formRef$current4","defaultValue","hide","_this$formRef$current5","onHideForm","hideForm","_this$formRef$current6","setLoading","setEditType","type","setEditId","getFormValue","_this$formRef$current7","formValue","getFieldsValue","fileFormat","newFileList","map","item","getFileList","submitFlag","error","dateValueFormat","key","olddata","Array","isArray","format","rangerDate","dateFormat","e","values","cloneDeep","value1","value2","setFormValue","_this$formRef$current8","newValue","doSubmit","formdata","_this$formRef$current9","submitUrl","submitParams","requestConfig","addUrl","editorUrl","addParams","editorParams","url","Utils","func","Function","converParams","console","otherParams","_objectWithoutProperties","_excluded","onSubmit","noUndefined","success","obj","fileId","fileName","status","push","_this$formRef$current10","valid","validateFields","catch","errorInfo","valueChange","_ref","valueOption","dictName","newNames","onChange","eventOption","funcs","refs","refList","valueStr","selfFunc","renderForm","forms","newValid","createElement","gutter","index","_item$props","itemProps","valueFormat","name","split","allowChars","placeholder","concat","bind","dataType","disabled","rules","required","itemRef","_item$props2","span","style","display","Item","componentName","noStyle","formRender","ref","_item$props3","_item$props4","_item$props5","_extends","onListChange","list","showUploadList","showDownloadIcon","showRemoveIcon","children","render","footer","title","selfButtons","modalProps","onOk","onCancel","okButtonProps","centered","footerButton","drawerProps","onClose","newFormsObj","formGroups","otherGrups","groupName","indexOf","groupForms","form","showModel","onValuesChange","changedValues","allValues","onFormChange","changeValid","className","Object","keys","footerClassName","cancelButtonProps","onClick"],"sources":["../../../src/components/page/FormPage/index.tsx"],"sourcesContent":["import React, { PureComponent, ReactNode } from \"react\";\r\nimport Form from \"../../base/form\";\r\nimport { getLess, getNode } from \"../../utils\";\r\nimport message from \"../../base/message\";\r\nimport Col from \"../../base/grid/Col\";\r\nimport Row from \"../../base/grid/Row\";\r\nimport { isEmptyObj, getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport \"./index.module.less\";\r\nimport lodash from \"lodash\";\r\nimport Button from \"../../base/button\";\r\nimport Upload from \"../../base/upload\";\r\nimport cls from \"classnames\";\r\nimport { IFormProps } from \"src/components/base/form/Form\";\r\nimport NscRequest from \"nsc-request\";\r\nexport interface FormPageProps {\r\n forms?: Array<any>; //是否显示操作列\r\n submitUrl?: string;\r\n onSubmit?: (value?: any, label?: any) => void;\r\n footerClassName?: any;\r\n okButtonProps?: any;\r\n cancelButtonProps?: any;\r\n footer?: ReactNode | boolean;\r\n children?: React.ReactNode;\r\n onFormChange?: (value?: any, allValue?: any) => void;\r\n submitParams?: any; //添加参数,默认mothod:post, 参数通过data传递\r\n funcs?: any;\r\n props?: IFormProps;\r\n requestObject?: {\r\n addUrl?: string;\r\n editorUrl?: string;\r\n addParams?: any;\r\n editorParams?: any;\r\n detailUrl?: string;\r\n };\r\n requestConfig?: any;\r\n footerWidth?: boolean;\r\n editType?: \"新增\" | \"编辑\" | \"查看\";\r\n title?: string;\r\n editId?: string;\r\n [propsName: string]: any;\r\n}\r\nclass FormPage extends PureComponent<FormPageProps, any> {\r\n formRef = React.createRef<any>();\r\n state = {\r\n loading: false,\r\n label: this.props.editType || \"\",\r\n editorFlag: true,\r\n value: {} as any,\r\n dictNames: {} as any,\r\n fileList: {} as any,\r\n width: getLocalStore(\"nsc-home-menuCollsape\") || false,\r\n editId: this.props.editId || \"\",\r\n };\r\n valid: any = [];\r\n dateValueFormat = {} as any;\r\n dateFormat = {} as any;\r\n fileFormat = [] as any;\r\n rangerDate = {} as any;\r\n refList = {} as any;\r\n submitFlag = true;\r\n componentDidMount(): void {\r\n window.addEventListener(\"message\", this.listenMessage);\r\n const { formType = \"page\", requestObject = {}, editType='新增' } = this.props;\r\n if (formType == \"page\") {\r\n if (requestObject.detailUrl && editType !== \"新增\") {\r\n NscRequest.get(requestObject.detailUrl, {\r\n params: { id: this.state.editId },\r\n xssFilter: false,\r\n }).then((res) => {\r\n if (res.code == 200) {\r\n this.formRef.current?.setFieldsValue({ ...res.data });\r\n }\r\n });\r\n } else if (editType == \"新增\") {\r\n this.formRef.current?.setFieldsValue(this.props.defaultValu || {});\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.listenMessage);\r\n }\r\n listenMessage = (ev) => {\r\n const data = typeof ev.data === \"string\" ? JSON.parse(ev.data) : ev.data;\r\n let _this = this;\r\n if (data.eventType == \"menuCollsape\") {\r\n const { payload } = data;\r\n if (payload.close === true || payload.close === false) {\r\n _this.setState({ width: payload.close });\r\n }\r\n }\r\n };\r\n //表单显示\r\n show(orgValue?: any, editorflag = \"add\", callBack?: any) {\r\n let label = \"新增\";\r\n if (orgValue && editorflag == \"editor\") {\r\n label = \"编辑\";\r\n } else if (orgValue && (editorflag == \"detail\" || editorflag == \"search\")) {\r\n label = \"查看\";\r\n }\r\n if (orgValue) {\r\n this.setState(\r\n {\r\n label: label,\r\n value: orgValue,\r\n editId: orgValue.id,\r\n },\r\n () => {\r\n let value = this.convertValue(orgValue, label);\r\n //处理文件数据\r\n this.formRef.current?.showForm(value, {\r\n afterRender: () => {\r\n callBack && callBack();\r\n },\r\n });\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n label: label,\r\n },\r\n () => {\r\n this.formRef.current?.showForm(this.props.defaultValue, {\r\n afterRender: () => {\r\n callBack && callBack();\r\n },\r\n });\r\n }\r\n );\r\n }\r\n }\r\n hide(hide = true) {\r\n const { onHideForm } = this.props;\r\n if (onHideForm) {\r\n onHideForm && onHideForm();\r\n return;\r\n }\r\n this.setState({ loading: false, fileList: {} });\r\n hide && this.formRef.current?.hideForm();\r\n }\r\n hideForm() {\r\n this.setState({ loading: false, fileList: {} });\r\n this.formRef.current?.hideForm();\r\n }\r\n showForm(orgValue?: any, editorflag = \"add\", callBack?: any) {\r\n this.show(orgValue, editorflag, callBack);\r\n }\r\n setLoading(loading: boolean) {\r\n this.setState({ loading: loading });\r\n }\r\n setEditType(type) {\r\n this.setState({\r\n label: type,\r\n });\r\n }\r\n setEditId(id) {\r\n this.setState({\r\n editId: id,\r\n });\r\n }\r\n getFormValue() {\r\n const { label, value, dictNames, fileList } = this.state;\r\n const formValue = this.formRef.current?.getFieldsValue();\r\n let data = { ...formValue, ...dictNames };\r\n if (this.fileFormat.length > 0) {\r\n let newFileList = {} as any;\r\n this.fileFormat.map((item) => {\r\n if (fileList[item].length == 0) {\r\n newFileList[item] = null;\r\n } else {\r\n if (!formValue[item]) {\r\n newFileList[item] = this.getFileList(fileList[item] || []);\r\n }\r\n }\r\n });\r\n data = { ...data, ...newFileList };\r\n }\r\n if (!this.submitFlag) {\r\n message.error(\"请等待所有文件上传完成!\");\r\n return;\r\n }\r\n if (!isEmptyObj(this.dateValueFormat)) {\r\n for (let key in this.dateValueFormat) {\r\n let olddata = data[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n data[key] = [\r\n dayjs(olddata[0]).format(this.dateValueFormat[key]),\r\n dayjs(olddata[1]).format(this.dateValueFormat[key]),\r\n ];\r\n if (this.rangerDate[key]) {\r\n try {\r\n data[this.rangerDate[key][0]] = dayjs(olddata[0]).format(\r\n this.dateFormat[key]\r\n );\r\n data[this.rangerDate[key][1]] = dayjs(olddata[1]).format(\r\n this.dateFormat[key]\r\n );\r\n delete data[key];\r\n } catch (e) {}\r\n }\r\n } else {\r\n data[key] = dayjs(olddata).format(this.dateValueFormat[key]);\r\n }\r\n }\r\n }\r\n }\r\n if (label == \"编辑\") {\r\n data = { ...data, id: value?.id || this.state.editId };\r\n }\r\n return data;\r\n }\r\n convertValue(value, type) {\r\n let values = lodash.cloneDeep(value);\r\n if (this.fileFormat.length > 0) {\r\n let fileList = {} as any;\r\n this.fileFormat.map((item) => {\r\n let olddata = values[item];\r\n if (olddata && Array.isArray(olddata)) {\r\n fileList[item] = this.getFileList(olddata || [], type);\r\n } else {\r\n fileList[item] = [];\r\n }\r\n });\r\n this.setState({ fileList: fileList });\r\n }\r\n //处理日期格式数据\r\n if (!isEmptyObj(this.dateFormat)) {\r\n for (let key in this.dateFormat) {\r\n let olddata = values[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n values[key] = [\r\n dayjs(olddata[0], this.dateFormat[key]),\r\n dayjs(olddata[1], this.dateFormat[key]),\r\n ];\r\n } else {\r\n values[key] = dayjs(olddata, this.dateFormat[key]);\r\n }\r\n } else {\r\n if (this.rangerDate[key]) {\r\n let value1 = values[this.rangerDate[key][0]];\r\n let value2 = values[this.rangerDate[key][1]];\r\n if (value1 && value2) {\r\n values[key] = [\r\n dayjs(value1, this.dateFormat[key]),\r\n dayjs(value2, this.dateFormat[key]),\r\n ];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return values;\r\n }\r\n setFormValue(value, type) {\r\n const newValue = this.convertValue(value, type);\r\n this.formRef.current?.setFieldsValue(newValue);\r\n }\r\n doSubmit(formdata, label) {\r\n const {\r\n submitUrl,\r\n submitParams = {},\r\n callBack,\r\n requestObject = {},\r\n requestConfig = {},\r\n } = this.props;\r\n const { addUrl, editorUrl, addParams, editorParams } = requestObject;\r\n let url = submitUrl;\r\n let params: any = {};\r\n if (label == \"新增\") {\r\n url = addUrl ? addUrl : submitUrl;\r\n if (addParams && typeof addParams == \"string\") {\r\n const Utils = this.props.Utils || {};\r\n let func = new Function(\"Utils\", addParams);\r\n let converParams = func(Utils);\r\n params = converParams;\r\n } else {\r\n params = addParams ? addParams : submitParams;\r\n }\r\n } else if (label == \"编辑\") {\r\n url = editorUrl ? editorUrl : submitUrl;\r\n if (editorParams && typeof editorParams == \"string\") {\r\n const Utils = this.props.Utils || {};\r\n let func = new Function(\"Utils\", editorParams);\r\n let converParams = func(Utils);\r\n params = converParams;\r\n } else {\r\n params = editorParams ? editorParams : submitParams;\r\n }\r\n }\r\n if (!url) {\r\n console.error(\"配置Url不能为空!\");\r\n return;\r\n }\r\n const { data = {}, ...otherParams } = params;\r\n this.formRef.current?.onSubmit(\r\n url,\r\n {\r\n data: { ...formdata, ...data },\r\n noUndefined: label == \"编辑\",\r\n ...requestConfig,\r\n ...otherParams,\r\n },\r\n (res: any) => {\r\n const { code } = res;\r\n this.setState({ loading: false });\r\n if (code === 200) {\r\n message.success(label + \"成功\");\r\n this.hide(true);\r\n callBack && callBack();\r\n return;\r\n }\r\n this.hide(false);\r\n }\r\n );\r\n }\r\n getFileList(data, label = \"新增\") {\r\n this.submitFlag = true;\r\n let fileList = [] as any;\r\n if (data && data.length > 0) {\r\n data.map((item) => {\r\n let obj = {\r\n fileId: item.fileId,\r\n fileName: item.fileName,\r\n } as any;\r\n if (label == \"查看\") {\r\n obj.status = \"done\";\r\n }\r\n if (label !== \"查看\" && item.status !== \"done\") {\r\n this.submitFlag = false;\r\n }\r\n fileList.push(obj);\r\n });\r\n }\r\n return fileList;\r\n }\r\n\r\n onSubmit() {\r\n const { onSubmit } = this.props;\r\n const { label, value, dictNames, fileList } = this.state;\r\n let valid = this.valid;\r\n this.formRef.current\r\n ?.validateFields()\r\n .then(() => {\r\n let data = this.getFormValue();\r\n // if (!this.submitFlag) {\r\n // message.error('请等待所有文件上传完成!')\r\n // return;\r\n // }\r\n this.setState({ loading: true });\r\n if (onSubmit) {\r\n onSubmit && onSubmit(data, label);\r\n return;\r\n }\r\n this.doSubmit(data, label);\r\n })\r\n .catch((errorInfo: any) => {});\r\n }\r\n valueChange({ type, dictName }, props, value, valueOption, data) {\r\n if (valueOption) {\r\n if (dictName) {\r\n const { dictNames } = this.state;\r\n const newNames = { ...dictNames } as any;\r\n newNames[dictName] = valueOption.label;\r\n this.setState({\r\n dictNames: newNames,\r\n });\r\n }\r\n }\r\n if (props.onChange) {\r\n if (typeof props.onChange == \"function\") {\r\n props.onChange(value, valueOption, data);\r\n } else if (typeof props.onChange == \"string\") {\r\n const eventOption = {\r\n value,\r\n data,\r\n formRef: this.formRef,\r\n funcs: this.props.funcs || {},\r\n refs: this.refList,\r\n } as any;\r\n const Utils = this.props.Utils || {};\r\n if (type == \"Select\") {\r\n eventOption.valueOption = valueOption;\r\n eventOption.data = data;\r\n } else if (type == \"DatePicker\" || type == \"RangePicker\") {\r\n eventOption.valueStr = valueOption;\r\n }\r\n const selfFunc = new Function(\"eventOption\", \"Utils\", props.onChange);\r\n selfFunc(eventOption, Utils);\r\n }\r\n }\r\n }\r\n\r\n renderForm(forms, label) {\r\n const newValid: any[] = [];\r\n return (\r\n <Row gutter={24}>\r\n {forms.map((item: any, index: number) => {\r\n const itemProps = item.props || {};\r\n if (itemProps.format || itemProps.valueFormat) {\r\n this.dateValueFormat[item.name] =\r\n itemProps.format || itemProps.valueFormat;\r\n }\r\n if (itemProps.format) {\r\n this.dateFormat[item.name] = itemProps.format;\r\n }\r\n if (item.type == \"RangePicker\" && item.name.split(\",\").length > 1) {\r\n this.rangerDate[item.name] = item.name.split(\",\");\r\n }\r\n let allowChars = item.props?.allowChars || false;\r\n let props = {\r\n placeholder: `请输入${item.label}`,\r\n ...item.props,\r\n onChange: this.valueChange.bind(\r\n this,\r\n {\r\n type: item.type,\r\n dictName: item.dictName,\r\n },\r\n { ...item.props }\r\n ),\r\n };\r\n if (!item.type || item.type == \"Input\") {\r\n props.allowChars = true; //form.item 使用input组件allowChars必须默认true,不然输入特殊字符拿到的值不对\r\n }\r\n delete props.valueFormat;\r\n delete props.format;\r\n delete props.dataType;\r\n if (label == \"查看\") {\r\n props.disabled = true;\r\n props.placeholder = \"\";\r\n }\r\n if ((item.rules && item.rules.length > 0) || item.required === true) {\r\n newValid.push(item.name);\r\n }\r\n if (index + 1 === forms.length) {\r\n this.valid = newValid;\r\n }\r\n const itemRef: any = React.createRef<any>();\r\n this.refList[item.name] = itemRef;\r\n if (item.type !== \"Upload\") {\r\n return (\r\n <Col\r\n span={item.span || 12}\r\n key={index}\r\n style={{ display: item.hide ? \"none\" : \"block\" }}\r\n >\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n componentName={item.type ? item.type : \"Input\"}\r\n required={item.required}\r\n type={item.props?.type}\r\n noStyle={item.noStyle || false}\r\n >\r\n {item.formRender\r\n ? item.formRender(props)\r\n : getNode(item.type, {\r\n ref: itemRef,\r\n ...props,\r\n })}\r\n </Form.Item>\r\n </Col>\r\n );\r\n } else {\r\n this.fileFormat.push(item.name);\r\n return (\r\n <Col\r\n span={item.span || 12}\r\n key={index}\r\n style={{ display: item.hide ? \"none\" : \"block\" }}\r\n >\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n type={item.props?.type}\r\n required={item.required}\r\n >\r\n <Upload\r\n fileList={this.state.fileList[item.name] || []}\r\n onListChange={(list) => {\r\n const { fileList } = this.state;\r\n this.setState({\r\n fileList: { ...fileList, [item.name]: list },\r\n });\r\n }}\r\n showUploadList={{\r\n showDownloadIcon: true,\r\n showRemoveIcon: label !== \"查看\",\r\n }}\r\n ref={itemRef}\r\n {...props}\r\n >\r\n {item.props?.children\r\n ? item.props?.children\r\n : label !== \"查看\" && <Button>上传文件</Button>}\r\n </Upload>\r\n </Form.Item>\r\n </Col>\r\n );\r\n }\r\n })}\r\n </Row>\r\n );\r\n }\r\n render() {\r\n const {\r\n forms = [],\r\n props = {},\r\n footer = true,\r\n children,\r\n formType = \"page\",\r\n title = \"\",\r\n } = this.props;\r\n const { loading, label } = this.state;\r\n let selfButtons = [] as any;\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n typeof item == \"object\" && selfButtons.push(item);\r\n });\r\n } else if (children) {\r\n typeof children == \"object\" && selfButtons.push(children);\r\n }\r\n let modalProps = {\r\n title: label + title,\r\n onOk: this.onSubmit.bind(this),\r\n onCancel: this.hide.bind(this),\r\n okButtonProps: { loading: loading },\r\n centered: true,\r\n width: \"50vw\",\r\n footerButton: selfButtons,\r\n } as any;\r\n\r\n let drawerProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onClose: this.hide.bind(this),\r\n width: \"50vw\",\r\n footerButton: selfButtons,\r\n } as any;\r\n if (label == \"查看\") {\r\n modalProps.footer = null;\r\n drawerProps.footer = null;\r\n }\r\n this.dateValueFormat = {};\r\n this.dateFormat = {};\r\n this.fileFormat = [];\r\n let newFormsObj = {} as any;\r\n let formGroups = [] as any;\r\n let otherGrups = [] as any;\r\n //处理表单数据\r\n forms.map((item: any) => {\r\n if (item.groupName && formGroups.indexOf(item.groupName) < 0) {\r\n formGroups.push(item.groupName);\r\n } else if (!item.groupName) {\r\n otherGrups.push(item);\r\n }\r\n });\r\n if (formGroups.length > 0) {\r\n formGroups.map((item: any) => {\r\n let groupForms = [] as any;\r\n forms.map((form: any) => {\r\n if (form.groupName == item) {\r\n groupForms.push(form);\r\n }\r\n });\r\n newFormsObj[item] = groupForms;\r\n });\r\n if (otherGrups.length > 0) {\r\n newFormsObj[\"noGroupName\"] = otherGrups;\r\n }\r\n }\r\n //自定义按钮\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n showModel={this.props.formType == \"page\" ? null : this.props.formType}\r\n modalProps={{ ...modalProps }}\r\n drawerProps={{ ...drawerProps }}\r\n // labelCol={{ flex: \"100px\" }}\r\n // wrapperCol={{ flex: \"15vw\" }}\r\n onValuesChange={(changedValues, allValues) => {\r\n const { onFormChange } = this.props;\r\n onFormChange && onFormChange(changedValues, allValues);\r\n }}\r\n changeValid={this.props.changeValid}\r\n {...props}\r\n >\r\n <div className=\"nsc-form-page\">\r\n {formGroups.length == 0 ? (\r\n this.props.formType !== \"page\" ? (\r\n this.renderForm(forms, label)\r\n ) : (\r\n <div className=\"nsc-form-pane\">\r\n {this.renderForm(forms, label)}\r\n </div>\r\n )\r\n ) : (\r\n Object.keys(newFormsObj).map((key) => {\r\n return (\r\n <div key={key} className=\"nsc-form-pane\">\r\n {key != \"noGroupName\" && (\r\n <div className=\"nsc-form-title\">{key}</div>\r\n )}\r\n <div className=\"nsc-form-content\">\r\n {this.renderForm(newFormsObj[key], label)}\r\n </div>\r\n </div>\r\n );\r\n })\r\n )}\r\n {formType === \"page\" && footer == true && (\r\n <div\r\n className={cls(\r\n \"nsc-form-page-footer\",\r\n [this.state.width ? \"nsc-form-page-footer-width\" : \"\"],\r\n this.props.footerClassName\r\n )}\r\n >\r\n <Button\r\n {...this.props.cancelButtonProps}\r\n onClick={() => {\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n return;\r\n }\r\n this.setState({ loading: false });\r\n }}\r\n >\r\n 取消\r\n </Button>\r\n <Button\r\n type=\"primary\"\r\n {...this.props.okButtonProps}\r\n onClick={() => {\r\n this.onSubmit();\r\n }}\r\n loading={this.state.loading}\r\n className={\"nsc-form-page-footer-btn\"}\r\n >\r\n 保存\r\n </Button>\r\n {selfButtons.map((item: any, index: any) => {\r\n return (\r\n <div className={\"nsc-form-page-footer-btn\"} key={index}>\r\n {item}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n )}\r\n {formType === \"page\" && footer !== true && this.props.footer}\r\n </div>\r\n </Form>\r\n );\r\n }\r\n}\r\n\r\nexport default FormPage;\r\n"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _message from "antd/es/message";
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -66,45 +67,45 @@ const getPageData = params => {
|
|
|
66
67
|
|
|
67
68
|
//设置表单字段只读
|
|
68
69
|
const setFieldDisabled = (data, key, disabled) => {
|
|
69
|
-
const
|
|
70
|
-
let
|
|
71
|
-
|
|
70
|
+
const foms = [...data];
|
|
71
|
+
let newForms = [];
|
|
72
|
+
foms.map(item => {
|
|
72
73
|
let obj = _objectSpread({}, item);
|
|
73
74
|
if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {
|
|
74
75
|
let props = obj.props ? _objectSpread({}, obj.props) : {};
|
|
75
76
|
props.disabled = disabled;
|
|
76
77
|
obj.props = props;
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
+
newForms.push(obj);
|
|
79
80
|
});
|
|
80
|
-
return
|
|
81
|
+
return newForms;
|
|
81
82
|
};
|
|
82
83
|
//设置表单字段隐藏
|
|
83
84
|
const setFieldVisible = (data, key, visible) => {
|
|
84
|
-
const
|
|
85
|
-
let
|
|
86
|
-
|
|
85
|
+
const foms = [...data];
|
|
86
|
+
let newForms = [];
|
|
87
|
+
foms.map(item => {
|
|
87
88
|
let obj = _objectSpread({}, item);
|
|
88
89
|
if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {
|
|
89
90
|
obj.editor = visible;
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
+
newForms.push(obj);
|
|
92
93
|
});
|
|
93
|
-
return
|
|
94
|
+
return newForms;
|
|
94
95
|
};
|
|
95
96
|
const setFieldPropsData = (data, key, propsData) => {
|
|
96
|
-
const
|
|
97
|
-
let
|
|
98
|
-
|
|
97
|
+
const forms = [...data];
|
|
98
|
+
let newForms = [];
|
|
99
|
+
forms.map(item => {
|
|
99
100
|
let obj = _objectSpread({}, item);
|
|
100
101
|
if (item.dataIndex == key) {
|
|
101
102
|
let props = obj.props ? _objectSpread({}, obj.props) : {};
|
|
102
103
|
props.data = propsData;
|
|
103
104
|
obj.props = props;
|
|
104
105
|
}
|
|
105
|
-
|
|
106
|
+
newForms.push(obj);
|
|
106
107
|
});
|
|
107
|
-
return
|
|
108
|
+
return newForms;
|
|
108
109
|
};
|
|
109
110
|
const jumpPage = (params, type) => {
|
|
110
111
|
const {
|
|
@@ -149,25 +150,32 @@ const getProject = () => {
|
|
|
149
150
|
}) || {};
|
|
150
151
|
return project;
|
|
151
152
|
};
|
|
153
|
+
const defaultStateValue = {
|
|
154
|
+
formType: "modal",
|
|
155
|
+
pageLoading: false,
|
|
156
|
+
selfButton: [],
|
|
157
|
+
props: {},
|
|
158
|
+
otherProps: {},
|
|
159
|
+
forms: [],
|
|
160
|
+
buttonLoading: {}
|
|
161
|
+
};
|
|
152
162
|
export default class SettingTable extends React.Component {
|
|
153
163
|
constructor() {
|
|
154
164
|
super(...arguments);
|
|
155
|
-
_defineProperty(this, "state", {
|
|
156
|
-
formType: "modal",
|
|
157
|
-
pageLoading: false,
|
|
158
|
-
selfButton: [],
|
|
159
|
-
props: {},
|
|
160
|
-
otherProps: {},
|
|
161
|
-
forms: [],
|
|
162
|
-
buttonLoading: {}
|
|
163
|
-
});
|
|
165
|
+
_defineProperty(this, "state", _objectSpread({}, defaultStateValue));
|
|
164
166
|
_defineProperty(this, "pageRef", /*#__PURE__*/React.createRef());
|
|
165
167
|
_defineProperty(this, "initData", res => {});
|
|
166
168
|
}
|
|
167
169
|
componentDidMount() {
|
|
168
170
|
this.getData();
|
|
169
171
|
}
|
|
170
|
-
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
172
|
+
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
173
|
+
if (prevProps.formCode != this.props.formCode) {
|
|
174
|
+
this.setState(_objectSpread({}, defaultStateValue), () => {
|
|
175
|
+
this.getData();
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
171
179
|
// 获取数据
|
|
172
180
|
getData() {
|
|
173
181
|
// 从props中获取tableCode、published、menuCode
|
|
@@ -239,38 +247,43 @@ export default class SettingTable extends React.Component {
|
|
|
239
247
|
formType,
|
|
240
248
|
selfButton,
|
|
241
249
|
props = {},
|
|
242
|
-
otherProps,
|
|
243
|
-
forms
|
|
250
|
+
otherProps = {},
|
|
251
|
+
forms,
|
|
252
|
+
buttonLoading
|
|
244
253
|
} = this.state;
|
|
245
254
|
const {
|
|
246
255
|
requestObject = {}
|
|
247
256
|
} = otherProps;
|
|
248
257
|
let _this = this;
|
|
249
|
-
// const {store:tableStore}
|
|
250
|
-
// const { store: settingTableStore } = settingTableProps;
|
|
251
258
|
const deaultFuncs = {
|
|
252
259
|
setFieldDisabled: (key, disabled) => {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
260
|
+
const newData = setFieldDisabled(forms, key, disabled);
|
|
261
|
+
this.setState({
|
|
262
|
+
forms: newData
|
|
263
|
+
});
|
|
257
264
|
},
|
|
258
265
|
setFieldVisible: (key, disabled) => {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
266
|
+
const newData = setFieldVisible(forms, key, disabled);
|
|
267
|
+
this.setState({
|
|
268
|
+
forms: newData
|
|
269
|
+
});
|
|
263
270
|
},
|
|
264
271
|
setFieldPropsData: (key, data) => {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
272
|
+
const newData = setFieldPropsData(forms, key, data);
|
|
273
|
+
this.setState({
|
|
274
|
+
forms: newData
|
|
275
|
+
});
|
|
269
276
|
},
|
|
270
277
|
history: (params, type) => {
|
|
271
278
|
jumpPage(params, type);
|
|
272
279
|
},
|
|
273
|
-
setButtonLoading(code, loading) {
|
|
280
|
+
setButtonLoading(code, loading) {
|
|
281
|
+
_this.setState({
|
|
282
|
+
buttonLoading: _objectSpread(_objectSpread({}, buttonLoading), {}, {
|
|
283
|
+
[code]: loading
|
|
284
|
+
})
|
|
285
|
+
});
|
|
286
|
+
},
|
|
274
287
|
getCurrentProject: () => {
|
|
275
288
|
return getProject();
|
|
276
289
|
}
|
|
@@ -301,13 +314,16 @@ export default class SettingTable extends React.Component {
|
|
|
301
314
|
}
|
|
302
315
|
}, /*#__PURE__*/React.createElement(Spin, {
|
|
303
316
|
spinning: pageLoading
|
|
304
|
-
})) : /*#__PURE__*/React.createElement(FormPage, {
|
|
317
|
+
})) : /*#__PURE__*/React.createElement(FormPage, _extends({
|
|
305
318
|
formType: formType,
|
|
306
319
|
forms: forms,
|
|
307
320
|
requestObject: requestObject,
|
|
308
321
|
Utils: defaulUtil,
|
|
309
|
-
funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs)
|
|
310
|
-
|
|
322
|
+
funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs),
|
|
323
|
+
ref: this.pageRef,
|
|
324
|
+
pageRef: this.pageRef,
|
|
325
|
+
props: props
|
|
326
|
+
}, otherProps), renderSelfToolButton({
|
|
311
327
|
selfButton,
|
|
312
328
|
pageRef: this.pageRef,
|
|
313
329
|
funcs,
|
|
@@ -315,4 +331,4 @@ export default class SettingTable extends React.Component {
|
|
|
315
331
|
})));
|
|
316
332
|
}
|
|
317
333
|
}
|
|
318
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTcGluIiwiQnV0dG9uIiwiUmVhY3QiLCJOc2NDb20iLCJOc2NGaWxlIiwiTnNjUmVxdWVzdCIsIk5zY1V0aWxzIiwiY2xzIiwicXVlcnlTdHJpbmciLCJnZXRMb2NhbFN0b3JlIiwiZGF5anMiLCJGb3JtUGFnZSIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJsZW5ndGgiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJ0eXBlIiwib25DbGljayIsImV2ZW50T3B0aW9uIiwiZnVuYyIsIkZ1bmN0aW9uIiwiY29kZSIsIm5hbWUiLCJnZXRQYWdlRGF0YSIsInBhcmFtcyIsImdldCIsInhzc0ZpbHRlciIsImF1dG9QcmVmaXgiLCJzZXRGaWVsZERpc2FibGVkIiwiZGF0YSIsImRpc2FibGVkIiwiY29sdW1ucyIsIm5ld0NvbHVtbnMiLCJvYmoiLCJfb2JqZWN0U3ByZWFkIiwiZGF0YUluZGV4IiwiaW5kZXhPZiIsInByb3BzIiwicHVzaCIsInNldEZpZWxkVmlzaWJsZSIsInZpc2libGUiLCJlZGl0b3IiLCJzZXRGaWVsZFByb3BzRGF0YSIsInByb3BzRGF0YSIsImp1bXBQYWdlIiwicGF0aG5hbWUiLCJxdWVyeSIsImlkIiwidGl0bGUiLCJzZXJ2aWNlTmFtZSIsInNlcnZpY2VQYXRoIiwib3BlblR5cGUiLCJuZXdRdWVyeSIsInVybFBhcmFtcyIsInN0cmluZ2lmeSIsInBhdGgiLCJjb25jYXQiLCJ3aW5kb3ciLCJfX1BPV0VSRURfQllfUUlBTktVTl9fIiwicGFyZW50IiwicG9zdE1lc3NhZ2UiLCJldmVudFR5cGUiLCJwYXlsb2FkIiwibG9jYXRpb24iLCJvcmlnaW4iLCJoaXN0b3J5IiwicHVzaFN0YXRlIiwiZ28iLCJnZXRQcm9qZWN0IiwicHJvamVjdCIsIlNldHRpbmdUYWJsZSIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZm9ybVR5cGUiLCJwYWdlTG9hZGluZyIsIm90aGVyUHJvcHMiLCJmb3JtcyIsImJ1dHRvbkxvYWRpbmciLCJjcmVhdGVSZWYiLCJyZXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsInNldFN0YXRlIiwiZm9ybUNvZGUiLCJwdWJsaXNoZWQiLCJtZW51Q29kZSIsImlzUHVibGlzaGVkIiwidGhlbiIsImZvcm1Qcm9wcyIsIkpTT04iLCJwYXJzZSIsIl9tZXNzYWdlIiwiZXJyb3IiLCJ0YWJsZUxvYWQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQiLCJyZXF1ZXN0Q29uZmlnIiwidW5kZWZpbmVkIiwiY3VycmVudCIsInRhYmxlUmVsb2FkIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImF1dG9Mb2FkIiwicmVuZGVyIiwiY2xhc3NOYW1lIiwic3RhdGUiLCJyZXF1ZXN0T2JqZWN0IiwiX3RoaXMiLCJkZWF1bHRGdW5jcyIsInNldEJ1dHRvbkxvYWRpbmciLCJnZXRDdXJyZW50UHJvamVjdCIsImNoaWxkcmVuIiwiY29kZUZvcm1CdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGQiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3Bpbm5pbmciLCJVdGlscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvU2V0dGluZ0Zvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEJhc2VQYWdlLCB7IE5TQ0Jhc2VCYWdlUHJvcHMgfSBmcm9tIFwiLi4vQmFzZVBhZ2VcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uLy4uL2Jhc2Uvc3BpblwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NDb20gZnJvbSBcIi4vY29tXCI7XHJcbmltcG9ydCBOc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0ICogYXMgTnNjVXRpbHMgZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBxdWVyeVN0cmluZyBmcm9tIFwicXVlcnktc3RyaW5nXCI7XHJcbmltcG9ydCB7IGdldExvY2FsU3RvcmUgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgeyBjb252ZXJGdW5jdGlvbiB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgRm9ybVBhZ2UgZnJvbSBcIi4uL0Zvcm1QYWdlXCI7XHJcbi8vIGltcG9ydCB7IGhpc3RvcnkgfSBmcm9tICd1bWknXHJcbi8vIGltcG9ydCB7IGdldENvbmZpZ0RhdGEgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcblxyXG5jb25zdCBkZWZhdWxVdGlsID0ge1xyXG4gIE5zY0NvbSxcclxuICBOc2NGaWxlLFxyXG4gIE5zY1JlcXVlc3QsXHJcbiAgTnNjVXRpbHMsXHJcbiAgZGF5anMsXHJcbiAgY3JlYXRlRWxlbWVudDogUmVhY3QuY3JlYXRlRWxlbWVudCxcclxufSBhcyBhbnk7XHJcbmNvbnN0IHJlbmRlclNlbGZUb29sQnV0dG9uID0gKHsgc2VsZkJ1dHRvbiwgcGFnZVJlZiwgZnVuY3MsIGxvYWRpbmcgfSkgPT4ge1xyXG4gIGlmIChzZWxmQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZCdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgdHlwZT17aXRlbS50eXBlfVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXZlbnRPcHRpb24gPSB7IHBhZ2VSZWY6IHBhZ2VSZWYsIGZ1bmNzOiBmdW5jcyB9O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgaXRlbS5vbkNsaWNrKTtcclxuICAgICAgICAgICAgZnVuYyhkZWZhdWxVdGlsLCBldmVudE9wdGlvbik7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY29kZT17aXRlbS5jb2RlfVxyXG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ1tpdGVtLmNvZGVdID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtLm5hbWV9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRQYWdlRGF0YSA9IChwYXJhbXM6IGFueSkgPT4ge1xyXG4gIHJldHVybiBOc2NSZXF1ZXN0LmdldChgL2pxdWljay1zZXR0aW5nL3NldHRpbmcvdGFibGUvaW5mby9gLCB7XHJcbiAgICBwYXJhbXMsXHJcbiAgICB4c3NGaWx0ZXI6IGZhbHNlLFxyXG4gICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICB9KTtcclxufTtcclxuXHJcbi8v6K6+572u6KGo5Y2V5a2X5q615Y+q6K+7XHJcbmNvbnN0IHNldEZpZWxkRGlzYWJsZWQgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG4vL+iuvue9ruihqOWNleWtl+autemakOiXj1xyXG5jb25zdCBzZXRGaWVsZFZpc2libGUgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCB2aXNpYmxlKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLmRhdGFJbmRleCkgPiAtMSkge1xyXG4gICAgICBvYmouZWRpdG9yID0gdmlzaWJsZTtcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG5cclxuY29uc3Qgc2V0RmllbGRQcm9wc0RhdGEgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBwcm9wc0RhdGEpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5KSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGF0YSA9IHByb3BzRGF0YTtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuaW50ZXJmYWNlIElQYXJhbXMge1xyXG4gIHBhdGhuYW1lPzogc3RyaW5nO1xyXG4gIHF1ZXJ5PzogYW55O1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHNlcnZpY2VQYXRoPzogc3RyaW5nO1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIG9wZW5UeXBlPzogbnVtYmVyO1xyXG59XHJcbmNvbnN0IGp1bXBQYWdlID0gKHBhcmFtczogSVBhcmFtcywgdHlwZT86IFwiYWRkVGFiXCIgfCBcImp1bXBNZW51XCIpID0+IHtcclxuICBjb25zdCB7XHJcbiAgICBwYXRobmFtZSxcclxuICAgIHF1ZXJ5ID0ge30sXHJcbiAgICBpZCxcclxuICAgIHRpdGxlLFxyXG4gICAgc2VydmljZU5hbWUsXHJcbiAgICBzZXJ2aWNlUGF0aCxcclxuICAgIG9wZW5UeXBlLFxyXG4gIH0gPSBwYXJhbXM7XHJcbiAgY29uc3QgbmV3UXVlcnkgPSB7IC4uLnF1ZXJ5IH0gYXMgYW55O1xyXG4gIGNvbnN0IHVybFBhcmFtcyA9IHF1ZXJ5U3RyaW5nLnN0cmluZ2lmeShuZXdRdWVyeSk7XHJcbiAgY29uc3QgcGF0aCA9IHVybFBhcmFtcyA/IGAke3BhdGhuYW1lfT8ke3VybFBhcmFtc31gIDogcGF0aG5hbWU7XHJcbiAgLy9AdHMtaWdub3JlXHJcbiAgaWYgKHdpbmRvdy5fX1BPV0VSRURfQllfUUlBTktVTl9fKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICB0aXRsZTogdGl0bGUgfHwgXCLmlrDmoIfnrb5cIixcclxuICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLCAvL+mFjee9rueahOW+ruW6lOeUqOWQjeensFxyXG4gICAgICBzZXJ2aWNlUGF0aDogc2VydmljZVBhdGgsIC8v6YWN572u55qE5b6u5bqU55So5YWl5Y+j5Zyw5Z2AXHJcbiAgICAgIHBhdGg6IHBhdGgsIC8v5paw5qCH562+55qEdXJsLOayoemFjee9rnNlcnZpY2VOYW1lIHBhdGjkuLrlrozmlbTot6/lvoRcclxuICAgICAgaWQ6IGlkLCAvL+iHquWumuS5ieWUr+S4gOWAvFxyXG4gICAgICBvcGVuVHlwZTogb3BlblR5cGUgPyBvcGVuVHlwZSA6IDQsIC8v5omT5byA5pa55byPIDTkvY3lvq7liY3nq68sIDPkuLppZnJhbWUgLOm7mOiupCAzXHJcbiAgICB9O1xyXG4gICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShcclxuICAgICAge1xyXG4gICAgICAgIGV2ZW50VHlwZTogdHlwZSA/IHR5cGUgOiBcImFkZFRhYlwiLFxyXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSA/IHNlcnZpY2VOYW1lIDogXCJzZXR0aW5nLXdlYlwiLFxyXG4gICAgICAgIHBheWxvYWQ6IHR5cGUgPyBwYXJhbXMgOiBkYXRhLFxyXG4gICAgICB9LFxyXG4gICAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luXHJcbiAgICApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoe30sIFwiXCIsIHBhdGgpO1xyXG4gICAgd2luZG93Lmhpc3RvcnkuZ28oKTtcclxuICB9XHJcbn07XHJcbmNvbnN0IGdldFByb2plY3QgPSAoKSA9PiB7XHJcbiAgY29uc3QgcHJvamVjdCA9IGdldExvY2FsU3RvcmUoeyBuYW1lOiBcIm5zYy1ob21lLXByb2plY3RcIiB9KSB8fCB7fTtcclxuICByZXR1cm4gcHJvamVjdDtcclxufTtcclxuaW50ZXJmYWNlIElQcm9wcyB7XHJcbiAgZm9ybUNvZGU6IHN0cmluZztcclxuICBjbGFzc05hbWU/OiBhbnk7XHJcbiAgbWVudUNvZGU/OiBzdHJpbmc7XHJcbiAgZnVuY3M/OiBhbnk7XHJcbiAgcHVibGlzaGVkPzogYm9vbGVhbjtcclxuICBpbnN0YW5jZVJlZj86IGFueTtcclxuICBvbkNhbGxCYWNrcz86IHtcclxuICAgIHRyZWVTZWxlY3RDYWxsQmFjaz86IGFueTsgLy/moJHngrnlh7vmn6Xor6LlkI7lm57osINcclxuICAgIG9uUXVlcnlDYWxsQmFjaz86IGFueTsgLy/mn6Xor6Llm57osIPvvIzmn6Xor6LmlbDmja7lkI7lm57osINcclxuICAgIG9uU3VtYml0Q2FsbEJhY2s/OiBhbnk7IC8v5L+d5a2Y5Zue6LCD77yM5L+d5a2Y5pWw5o2u5oiQ5Yqf5ZCO5Zue6LCDXHJcbiAgICBvbkRlbGV0ZUNhbGxCYWNrPzogYW55OyAvL+WIoOmZpOaMiemSruWbnuiwg++8jOWIoOmZpOaVsOaNruWQjuaJp+ihjFxyXG4gICAgb25FZGl0b3JDYWxsQmFjaz86IGFueTsgLy/nvJbovpHmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uQWRkQ2FsbEJhY2s/OiBhbnk7IC8v5re75Yqg5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvblNlYXJjaENhbGxCYWNrPzogYW55OyAvL+WIl+ihqOafpeivouaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gIH07XHJcbiAgZm9ybVByb3BzPzogYW55O1xyXG4gIGNoaWxkcmVuPzogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldHRpbmdUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZm9ybVR5cGU6IFwibW9kYWxcIixcclxuICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgIHNlbGZCdXR0b246IFtdIGFzIGFueSxcclxuICAgIHByb3BzOiB7fSBhcyBhbnksXHJcbiAgICBvdGhlclByb3BzOiB7fSBhcyBhbnksXHJcbiAgICBmb3JtczogW10gYXMgYW55LFxyXG4gICAgYnV0dG9uTG9hZGluZzoge30gYXMgYW55LFxyXG4gIH07XHJcbiAgcGFnZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PElQcm9wcz4sXHJcbiAgICBwcmV2U3RhdGU6IFJlYWRvbmx5PGFueT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge31cclxuXHJcbiAgaW5pdERhdGEgPSAocmVzOiBhbnkpID0+IHt9O1xyXG4gIC8vIOiOt+WPluaVsOaNrlxyXG4gIGdldERhdGEoKSB7XHJcbiAgICAvLyDku45wcm9wc+S4reiOt+WPlnRhYmxlQ29kZeOAgXB1Ymxpc2hlZOOAgW1lbnVDb2RlXHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgcGFnZUxvYWRpbmc6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgZm9ybUNvZGUsIHB1Ymxpc2hlZCA9IHRydWUsIG1lbnVDb2RlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8g5aaC5p6cdGFibGVDb2Rl5a2Y5ZyoXHJcbiAgICBpZiAoZm9ybUNvZGUpIHtcclxuICAgICAgLy8g5a6a5LmJ5Y+C5pWwXHJcbiAgICAgIGxldCBwYXJhbXMgPSB7IGNvZGU6IGZvcm1Db2RlIH0gYXMgYW55O1xyXG4gICAgICAvLyDlpoLmnpxwdWJsaXNoZWTkuLp0cnVlXHJcbiAgICAgIGlmIChwdWJsaXNoZWQpIHtcclxuICAgICAgICAvLyDorr7nva7lj4LmlbBpc1B1Ymxpc2hlZOS4ujFcclxuICAgICAgICBwYXJhbXMuaXNQdWJsaXNoZWQgPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOiwg+eUqGdldFBhZ2VEYXRh5pa55rOV6I635Y+W5pWw5o2uXHJcbiAgICAgIGdldFBhZ2VEYXRhKHsgLi4ucGFyYW1zIH0pLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSkge1xyXG4gICAgICAgICAgbGV0IGZvcm1Qcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEuZm9ybVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgLi4uZm9ybVByb3BzLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuacquaJvuWIsOmFjee9ruS/oeaBr++8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBvblNlYXJjaCgpIHt9XHJcblxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSwgcmVxdWVzdENvbmZpZyA9IHt9KSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVMb2FkKHBhcmFtcywgcmVxdWVzdENvbmZpZyk7XHJcbiAgfVxyXG4gIHRhYmxlUmVsb2FkKHBhcmFtcyA9IHt9LCBhdXRvTG9hZCA9IHRydWUpIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZVJlbG9hZChwYXJhbXMsIGF1dG9Mb2FkKTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBmdW5jcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBwYWdlTG9hZGluZyxcclxuICAgICAgZm9ybVR5cGUsXHJcbiAgICAgIHNlbGZCdXR0b24sXHJcbiAgICAgIHByb3BzID0ge30sXHJcbiAgICAgIG90aGVyUHJvcHMsXHJcbiAgICAgIGZvcm1zLFxyXG4gICAgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RPYmplY3QgPSB7fSB9ID0gb3RoZXJQcm9wcztcclxuXHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgLy8gY29uc3Qge3N0b3JlOnRhYmxlU3RvcmV9XHJcbiAgICAvLyBjb25zdCB7IHN0b3JlOiBzZXR0aW5nVGFibGVTdG9yZSB9ID0gc2V0dGluZ1RhYmxlUHJvcHM7XHJcbiAgICBjb25zdCBkZWF1bHRGdW5jcyA9IHtcclxuICAgICAgc2V0RmllbGREaXNhYmxlZDogKGtleSwgZGlzYWJsZWQpID0+IHtcclxuICAgICAgICAvLyBjb25zdCBuZXdEYXRhID0gc2V0RmllbGREaXNhYmxlZChwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgLy8gdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgLy8gICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkVmlzaWJsZTogKGtleSwgZGlzYWJsZWQpID0+IHtcclxuICAgICAgICAvLyBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRWaXNpYmxlKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICAvLyB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAvLyAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICAvLyB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RmllbGRQcm9wc0RhdGE6IChrZXksIGRhdGEpID0+IHtcclxuICAgICAgICAvLyBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRQcm9wc0RhdGEocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGF0YSk7XHJcbiAgICAgICAgLy8gdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgLy8gICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhpc3Rvcnk6IChwYXJhbXMsIHR5cGUpID0+IHtcclxuICAgICAgICBqdW1wUGFnZShwYXJhbXMsIHR5cGUpO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRCdXR0b25Mb2FkaW5nKGNvZGUsIGxvYWRpbmcpIHt9LFxyXG5cclxuICAgICAgZ2V0Q3VycmVudFByb2plY3Q6ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gZ2V0UHJvamVjdCgpO1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgbGV0IGNvZGVGb3JtQnV0dG9ucyA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcclxuICAgICAgICAgIGl0ZW0ubWFwKChjaGlsZCkgPT4ge1xyXG4gICAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhcIm5zYy1mcmFtZXdvcmstZm9ybXBhZ2VcIiwgY2xhc3NOYW1lKX0+XHJcbiAgICAgICAge3BhZ2VMb2FkaW5nID8gKFxyXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0+XHJcbiAgICAgICAgICAgIDxTcGluIHNwaW5uaW5nPXtwYWdlTG9hZGluZ30+PC9TcGluPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxGb3JtUGFnZVxyXG4gICAgICAgICAgICBmb3JtVHlwZT17Zm9ybVR5cGV9XHJcbiAgICAgICAgICAgIGZvcm1zPXtmb3Jtc31cclxuICAgICAgICAgICAgcmVxdWVzdE9iamVjdD17cmVxdWVzdE9iamVjdH1cclxuICAgICAgICAgICAgVXRpbHM9e2RlZmF1bFV0aWx9XHJcbiAgICAgICAgICAgIGZ1bmNzPXt7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7cmVuZGVyU2VsZlRvb2xCdXR0b24oe1xyXG4gICAgICAgICAgICAgIHNlbGZCdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzLFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L0Zvcm1QYWdlPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxPQUFPQSxJQUFJLE1BQU0saUJBQWlCO0FBQ2xDLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU8sS0FBS0MsTUFBTSxNQUFNLE9BQU87QUFDL0IsT0FBT0MsT0FBTyxNQUFNLFVBQVU7QUFDOUIsT0FBT0MsVUFBVSxNQUFNLGFBQWE7QUFDcEMsT0FBTyxLQUFLQyxRQUFRLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLEdBQUcsTUFBTSxZQUFZO0FBRTVCLE9BQU9DLFdBQVcsTUFBTSxjQUFjO0FBQ3RDLFNBQVNDLGFBQWEsUUFBUSxtQkFBbUI7QUFDakQsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFFekIsT0FBT0MsUUFBUSxNQUFNLGFBQWE7QUFDbEM7QUFDQTs7QUFFQSxNQUFNQyxVQUFVLEdBQUc7RUFDakJULE1BQU07RUFDTkMsT0FBTztFQUNQQyxVQUFVO0VBQ1ZDLFFBQVE7RUFDUkksS0FBSztFQUNMRyxhQUFhLEVBQUVYLEtBQUssQ0FBQ1c7QUFDdkIsQ0FBUTtBQUNS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
|
|
334
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTcGluIiwiQnV0dG9uIiwiUmVhY3QiLCJOc2NDb20iLCJOc2NGaWxlIiwiTnNjUmVxdWVzdCIsIk5zY1V0aWxzIiwiY2xzIiwicXVlcnlTdHJpbmciLCJnZXRMb2NhbFN0b3JlIiwiZGF5anMiLCJGb3JtUGFnZSIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJsZW5ndGgiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJ0eXBlIiwib25DbGljayIsImV2ZW50T3B0aW9uIiwiZnVuYyIsIkZ1bmN0aW9uIiwiY29kZSIsIm5hbWUiLCJnZXRQYWdlRGF0YSIsInBhcmFtcyIsImdldCIsInhzc0ZpbHRlciIsImF1dG9QcmVmaXgiLCJzZXRGaWVsZERpc2FibGVkIiwiZGF0YSIsImRpc2FibGVkIiwiZm9tcyIsIm5ld0Zvcm1zIiwib2JqIiwiX29iamVjdFNwcmVhZCIsImRhdGFJbmRleCIsImluZGV4T2YiLCJwcm9wcyIsInB1c2giLCJzZXRGaWVsZFZpc2libGUiLCJ2aXNpYmxlIiwiZWRpdG9yIiwic2V0RmllbGRQcm9wc0RhdGEiLCJwcm9wc0RhdGEiLCJmb3JtcyIsImp1bXBQYWdlIiwicGF0aG5hbWUiLCJxdWVyeSIsImlkIiwidGl0bGUiLCJzZXJ2aWNlTmFtZSIsInNlcnZpY2VQYXRoIiwib3BlblR5cGUiLCJuZXdRdWVyeSIsInVybFBhcmFtcyIsInN0cmluZ2lmeSIsInBhdGgiLCJjb25jYXQiLCJ3aW5kb3ciLCJfX1BPV0VSRURfQllfUUlBTktVTl9fIiwicGFyZW50IiwicG9zdE1lc3NhZ2UiLCJldmVudFR5cGUiLCJwYXlsb2FkIiwibG9jYXRpb24iLCJvcmlnaW4iLCJoaXN0b3J5IiwicHVzaFN0YXRlIiwiZ28iLCJnZXRQcm9qZWN0IiwicHJvamVjdCIsImRlZmF1bHRTdGF0ZVZhbHVlIiwiZm9ybVR5cGUiLCJwYWdlTG9hZGluZyIsIm90aGVyUHJvcHMiLCJidXR0b25Mb2FkaW5nIiwiU2V0dGluZ1RhYmxlIiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJhcmd1bWVudHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJyZXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsImZvcm1Db2RlIiwic2V0U3RhdGUiLCJwdWJsaXNoZWQiLCJtZW51Q29kZSIsImlzUHVibGlzaGVkIiwidGhlbiIsImZvcm1Qcm9wcyIsIkpTT04iLCJwYXJzZSIsIl9tZXNzYWdlIiwiZXJyb3IiLCJ0YWJsZUxvYWQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQiLCJyZXF1ZXN0Q29uZmlnIiwidW5kZWZpbmVkIiwiY3VycmVudCIsInRhYmxlUmVsb2FkIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImF1dG9Mb2FkIiwicmVuZGVyIiwiY2xhc3NOYW1lIiwic3RhdGUiLCJyZXF1ZXN0T2JqZWN0IiwiX3RoaXMiLCJkZWF1bHRGdW5jcyIsIm5ld0RhdGEiLCJzZXRCdXR0b25Mb2FkaW5nIiwiZ2V0Q3VycmVudFByb2plY3QiLCJjaGlsZHJlbiIsImNvZGVGb3JtQnV0dG9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsInNwaW5uaW5nIiwiX2V4dGVuZHMiLCJVdGlscyIsInJlZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvU2V0dGluZ0Zvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEJhc2VQYWdlLCB7IE5TQ0Jhc2VCYWdlUHJvcHMgfSBmcm9tIFwiLi4vQmFzZVBhZ2VcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uLy4uL2Jhc2Uvc3BpblwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NDb20gZnJvbSBcIi4vY29tXCI7XHJcbmltcG9ydCBOc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0ICogYXMgTnNjVXRpbHMgZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBxdWVyeVN0cmluZyBmcm9tIFwicXVlcnktc3RyaW5nXCI7XHJcbmltcG9ydCB7IGdldExvY2FsU3RvcmUgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgeyBjb252ZXJGdW5jdGlvbiB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgRm9ybVBhZ2UgZnJvbSBcIi4uL0Zvcm1QYWdlXCI7XHJcbi8vIGltcG9ydCB7IGhpc3RvcnkgfSBmcm9tICd1bWknXHJcbi8vIGltcG9ydCB7IGdldENvbmZpZ0RhdGEgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcblxyXG5jb25zdCBkZWZhdWxVdGlsID0ge1xyXG4gIE5zY0NvbSxcclxuICBOc2NGaWxlLFxyXG4gIE5zY1JlcXVlc3QsXHJcbiAgTnNjVXRpbHMsXHJcbiAgZGF5anMsXHJcbiAgY3JlYXRlRWxlbWVudDogUmVhY3QuY3JlYXRlRWxlbWVudCxcclxufSBhcyBhbnk7XHJcbmNvbnN0IHJlbmRlclNlbGZUb29sQnV0dG9uID0gKHsgc2VsZkJ1dHRvbiwgcGFnZVJlZiwgZnVuY3MsIGxvYWRpbmcgfSkgPT4ge1xyXG4gIGlmIChzZWxmQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZCdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgdHlwZT17aXRlbS50eXBlfVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXZlbnRPcHRpb24gPSB7IHBhZ2VSZWY6IHBhZ2VSZWYsIGZ1bmNzOiBmdW5jcyB9O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgaXRlbS5vbkNsaWNrKTtcclxuICAgICAgICAgICAgZnVuYyhkZWZhdWxVdGlsLCBldmVudE9wdGlvbik7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY29kZT17aXRlbS5jb2RlfVxyXG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ1tpdGVtLmNvZGVdID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtLm5hbWV9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRQYWdlRGF0YSA9IChwYXJhbXM6IGFueSkgPT4ge1xyXG4gIHJldHVybiBOc2NSZXF1ZXN0LmdldChgL2pxdWljay1zZXR0aW5nL3NldHRpbmcvdGFibGUvaW5mby9gLCB7XHJcbiAgICBwYXJhbXMsXHJcbiAgICB4c3NGaWx0ZXI6IGZhbHNlLFxyXG4gICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICB9KTtcclxufTtcclxuXHJcbi8v6K6+572u6KGo5Y2V5a2X5q615Y+q6K+7XHJcbmNvbnN0IHNldEZpZWxkRGlzYWJsZWQgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gIGNvbnN0IGZvbXMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0Zvcm1zID0gW10gYXMgYW55O1xyXG4gIGZvbXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdGb3Jtcy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0Zvcm1zO1xyXG59O1xyXG4vL+iuvue9ruihqOWNleWtl+autemakOiXj1xyXG5jb25zdCBzZXRGaWVsZFZpc2libGUgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCB2aXNpYmxlKSA9PiB7XHJcbiAgY29uc3QgZm9tcyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Rm9ybXMgPSBbXSBhcyBhbnk7XHJcbiAgZm9tcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgb2JqLmVkaXRvciA9IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICBuZXdGb3Jtcy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0Zvcm1zO1xyXG59O1xyXG5cclxuY29uc3Qgc2V0RmllbGRQcm9wc0RhdGEgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBwcm9wc0RhdGEpID0+IHtcclxuICBjb25zdCBmb3JtcyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Rm9ybXMgPSBbXSBhcyBhbnk7XHJcbiAgZm9ybXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5KSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGF0YSA9IHByb3BzRGF0YTtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdGb3Jtcy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0Zvcm1zO1xyXG59O1xyXG5pbnRlcmZhY2UgSVBhcmFtcyB7XHJcbiAgcGF0aG5hbWU/OiBzdHJpbmc7XHJcbiAgcXVlcnk/OiBhbnk7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgc2VydmljZVBhdGg/OiBzdHJpbmc7XHJcbiAgbWVudUNvZGU/OiBzdHJpbmc7XHJcbiAgb3BlblR5cGU/OiBudW1iZXI7XHJcbn1cclxuY29uc3QganVtcFBhZ2UgPSAocGFyYW1zOiBJUGFyYW1zLCB0eXBlPzogXCJhZGRUYWJcIiB8IFwianVtcE1lbnVcIikgPT4ge1xyXG4gIGNvbnN0IHtcclxuICAgIHBhdGhuYW1lLFxyXG4gICAgcXVlcnkgPSB7fSxcclxuICAgIGlkLFxyXG4gICAgdGl0bGUsXHJcbiAgICBzZXJ2aWNlTmFtZSxcclxuICAgIHNlcnZpY2VQYXRoLFxyXG4gICAgb3BlblR5cGUsXHJcbiAgfSA9IHBhcmFtcztcclxuICBjb25zdCBuZXdRdWVyeSA9IHsgLi4ucXVlcnkgfSBhcyBhbnk7XHJcbiAgY29uc3QgdXJsUGFyYW1zID0gcXVlcnlTdHJpbmcuc3RyaW5naWZ5KG5ld1F1ZXJ5KTtcclxuICBjb25zdCBwYXRoID0gdXJsUGFyYW1zID8gYCR7cGF0aG5hbWV9PyR7dXJsUGFyYW1zfWAgOiBwYXRobmFtZTtcclxuICAvL0B0cy1pZ25vcmVcclxuICBpZiAod2luZG93Ll9fUE9XRVJFRF9CWV9RSUFOS1VOX18pIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHRpdGxlOiB0aXRsZSB8fCBcIuaWsOagh+etvlwiLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsIC8v6YWN572u55qE5b6u5bqU55So5ZCN56ewXHJcbiAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlUGF0aCwgLy/phY3nva7nmoTlvq7lupTnlKjlhaXlj6PlnLDlnYBcclxuICAgICAgcGF0aDogcGF0aCwgLy/mlrDmoIfnrb7nmoR1cmws5rKh6YWN572uc2VydmljZU5hbWUgcGF0aOS4uuWujOaVtOi3r+W+hFxyXG4gICAgICBpZDogaWQsIC8v6Ieq5a6a5LmJ5ZSv5LiA5YC8XHJcbiAgICAgIG9wZW5UeXBlOiBvcGVuVHlwZSA/IG9wZW5UeXBlIDogNCwgLy/miZPlvIDmlrnlvI8gNOS9jeW+ruWJjeerrywgM+S4umlmcmFtZSAs6buY6K6kIDNcclxuICAgIH07XHJcbiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZXZlbnRUeXBlOiB0eXBlID8gdHlwZSA6IFwiYWRkVGFiXCIsXHJcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lID8gc2VydmljZU5hbWUgOiBcInNldHRpbmctd2ViXCIsXHJcbiAgICAgICAgcGF5bG9hZDogdHlwZSA/IHBhcmFtcyA6IGRhdGEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgXCJcIiwgcGF0aCk7XHJcbiAgICB3aW5kb3cuaGlzdG9yeS5nbygpO1xyXG4gIH1cclxufTtcclxuY29uc3QgZ2V0UHJvamVjdCA9ICgpID0+IHtcclxuICBjb25zdCBwcm9qZWN0ID0gZ2V0TG9jYWxTdG9yZSh7IG5hbWU6IFwibnNjLWhvbWUtcHJvamVjdFwiIH0pIHx8IHt9O1xyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59O1xyXG5pbnRlcmZhY2UgSVByb3BzIHtcclxuICBmb3JtQ29kZTogc3RyaW5nO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBmdW5jcz86IGFueTtcclxuICBwdWJsaXNoZWQ/OiBib29sZWFuO1xyXG4gIGluc3RhbmNlUmVmPzogYW55O1xyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgdHJlZVNlbGVjdENhbGxCYWNrPzogYW55OyAvL+agkeeCueWHu+afpeivouWQjuWbnuiwg1xyXG4gICAgb25RdWVyeUNhbGxCYWNrPzogYW55OyAvL+afpeivouWbnuiwg++8jOafpeivouaVsOaNruWQjuWbnuiwg1xyXG4gICAgb25TdW1iaXRDYWxsQmFjaz86IGFueTsgLy/kv53lrZjlm57osIPvvIzkv53lrZjmlbDmja7miJDlip/lkI7lm57osINcclxuICAgIG9uRGVsZXRlQ2FsbEJhY2s/OiBhbnk7IC8v5Yig6Zmk5oyJ6ZKu5Zue6LCD77yM5Yig6Zmk5pWw5o2u5ZCO5omn6KGMXHJcbiAgICBvbkVkaXRvckNhbGxCYWNrPzogYW55OyAvL+e8lui+keaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gICAgb25BZGRDYWxsQmFjaz86IGFueTsgLy/mt7vliqDmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uU2VhcmNoQ2FsbEJhY2s/OiBhbnk7IC8v5YiX6KGo5p+l6K+i5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgfTtcclxuICBmb3JtUHJvcHM/OiBhbnk7XHJcbiAgY2hpbGRyZW4/OiBhbnk7XHJcbn1cclxuY29uc3QgZGVmYXVsdFN0YXRlVmFsdWUgPSB7XHJcbiAgZm9ybVR5cGU6IFwibW9kYWxcIixcclxuICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgc2VsZkJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHByb3BzOiB7fSBhcyBhbnksXHJcbiAgb3RoZXJQcm9wczoge30gYXMgYW55LFxyXG4gIGZvcm1zOiBbXSBhcyBhbnksXHJcbiAgYnV0dG9uTG9hZGluZzoge30gYXMgYW55LFxyXG59O1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5nVGFibGUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVByb3BzLCBhbnk+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIC4uLmRlZmF1bHRTdGF0ZVZhbHVlLFxyXG4gIH07XHJcbiAgcGFnZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PElQcm9wcz4sXHJcbiAgICBwcmV2U3RhdGU6IFJlYWRvbmx5PGFueT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHByZXZQcm9wcy5mb3JtQ29kZSAhPSB0aGlzLnByb3BzLmZvcm1Db2RlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgLi4uZGVmYXVsdFN0YXRlVmFsdWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0RGF0YSA9IChyZXM6IGFueSkgPT4ge307XHJcbiAgLy8g6I635Y+W5pWw5o2uXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIC8vIOS7jnByb3Bz5Lit6I635Y+WdGFibGVDb2Rl44CBcHVibGlzaGVk44CBbWVudUNvZGVcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwYWdlTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyBmb3JtQ29kZSwgcHVibGlzaGVkID0gdHJ1ZSwgbWVudUNvZGUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmIChmb3JtQ29kZSkge1xyXG4gICAgICAvLyDlrprkuYnlj4LmlbBcclxuICAgICAgbGV0IHBhcmFtcyA9IHsgY29kZTogZm9ybUNvZGUgfSBhcyBhbnk7XHJcbiAgICAgIC8vIOWmguaenHB1Ymxpc2hlZOS4unRydWVcclxuICAgICAgaWYgKHB1Ymxpc2hlZCkge1xyXG4gICAgICAgIC8vIOiuvue9ruWPguaVsGlzUHVibGlzaGVk5Li6MVxyXG4gICAgICAgIHBhcmFtcy5pc1B1Ymxpc2hlZCA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgLy8g6LCD55SoZ2V0UGFnZURhdGHmlrnms5Xojrflj5bmlbDmja5cclxuICAgICAgZ2V0UGFnZURhdGEoeyAuLi5wYXJhbXMgfSkudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhKSB7XHJcbiAgICAgICAgICBsZXQgZm9ybVByb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5mb3JtUHJvcHMgfHwgXCJ7fVwiKSB8fCB7fTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAuLi5mb3JtUHJvcHMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5pyq5om+5Yiw6YWN572u5L+h5oGv77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIG9uU2VhcmNoKCkge31cclxuXHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55LCByZXF1ZXN0Q29uZmlnID0ge30pIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZUxvYWQocGFyYW1zLCByZXF1ZXN0Q29uZmlnKTtcclxuICB9XHJcbiAgdGFibGVSZWxvYWQocGFyYW1zID0ge30sIGF1dG9Mb2FkID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlUmVsb2FkKHBhcmFtcywgYXV0b0xvYWQpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBjbGFzc05hbWUsIGZ1bmNzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHBhZ2VMb2FkaW5nLFxyXG4gICAgICBmb3JtVHlwZSxcclxuICAgICAgc2VsZkJ1dHRvbixcclxuICAgICAgcHJvcHMgPSB7fSxcclxuICAgICAgb3RoZXJQcm9wcz17fSxcclxuICAgICAgZm9ybXMsXHJcbiAgICAgIGJ1dHRvbkxvYWRpbmcsXHJcbiAgICB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgcmVxdWVzdE9iamVjdCA9IHt9IH0gPSBvdGhlclByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IGRlYXVsdEZ1bmNzID0ge1xyXG4gICAgICBzZXRGaWVsZERpc2FibGVkOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZERpc2FibGVkKGZvcm1zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGZvcm1zOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFZpc2libGU6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkVmlzaWJsZShmb3Jtcywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBmb3JtczogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RmllbGRQcm9wc0RhdGE6IChrZXksIGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRQcm9wc0RhdGEoZm9ybXMsIGtleSwgZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBmb3JtczogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaGlzdG9yeTogKHBhcmFtcywgdHlwZSkgPT4ge1xyXG4gICAgICAgIGp1bXBQYWdlKHBhcmFtcywgdHlwZSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEJ1dHRvbkxvYWRpbmcoY29kZSwgbG9hZGluZykge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGJ1dHRvbkxvYWRpbmc6IHsgLi4uYnV0dG9uTG9hZGluZywgW2NvZGVdOiBsb2FkaW5nIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXRDdXJyZW50UHJvamVjdDogKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBnZXRQcm9qZWN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBsZXQgY29kZUZvcm1CdXR0b25zID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgICAgaXRlbS5tYXAoKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKFwibnNjLWZyYW1ld29yay1mb3JtcGFnZVwiLCBjbGFzc05hbWUpfT5cclxuICAgICAgICB7cGFnZUxvYWRpbmcgPyAoXHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgaGVpZ2h0OiBcIjEwMCVcIiB9fT5cclxuICAgICAgICAgICAgPFNwaW4gc3Bpbm5pbmc9e3BhZ2VMb2FkaW5nfT48L1NwaW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPEZvcm1QYWdlXHJcbiAgICAgICAgICAgIGZvcm1UeXBlPXtmb3JtVHlwZX1cclxuICAgICAgICAgICAgZm9ybXM9e2Zvcm1zfVxyXG4gICAgICAgICAgICByZXF1ZXN0T2JqZWN0PXtyZXF1ZXN0T2JqZWN0fVxyXG4gICAgICAgICAgICBVdGlscz17ZGVmYXVsVXRpbH1cclxuICAgICAgICAgICAgZnVuY3M9e3sgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH19XHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5wYWdlUmVmfVxyXG4gICAgICAgICAgICBwYWdlUmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIHByb3BzPXtwcm9wc31cclxuICAgICAgICAgICAgey4uLm90aGVyUHJvcHN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3MsXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgIDwvRm9ybVBhZ2U+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxPQUFPQSxJQUFJLE1BQU0saUJBQWlCO0FBQ2xDLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU8sS0FBS0MsTUFBTSxNQUFNLE9BQU87QUFDL0IsT0FBT0MsT0FBTyxNQUFNLFVBQVU7QUFDOUIsT0FBT0MsVUFBVSxNQUFNLGFBQWE7QUFD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
|