{"version":3,"sources":["webpack:///./src/assets/images/rv/upload.svg","webpack:///./src/assets/images/rv/success-blue.svg","webpack:///./src/assets/images/rv/complete.svg","webpack:///./src/views/DelayCallback/Retail/components/batchLicenseUpload.vue?a0ef","webpack:///./src/utils/rv/setColumnWidth.ts","webpack:///./src/views/DelayCallback/Retail/components/proveUpload.vue?8207","webpack:///./src/API/rv/rvDealer.ts","webpack:///./src/assets/images/rv/success.svg","webpack:///./src/views/DelayCallback/Retail/overdueSearchDeclaration.vue?427f","webpack:///./src/utils/rv/base64toBlob.ts","webpack:///./src/views/DelayCallback/Retail/components/singleLicenseUpload.vue?767a","webpack:///./src/views/DelayCallback/Retail/components/singleLicenseUpload.vue?ac60","webpack:///./src/assets/images/claim/rect.png","webpack:///./src/components/NoticeModal.vue?b1c0","webpack:///./src/components/NoticeModal.vue?b80a","webpack:///./src/components/NoticeModal.vue","webpack:///./src/components/NoticeModal.vue?16c8","webpack:///./src/views/DelayCallback/Retail/overdueSearchDeclaration.vue?9b1e","webpack:///./src/views/DelayCallback/Retail/components/singleLicenseUpload.vue?4d97","webpack:///./src/API/delayCallback/overdueSearch.ts","webpack:///./src/views/DelayCallback/Retail/components/singleLicenseUpload.vue","webpack:///./src/views/DelayCallback/Retail/components/singleLicenseUpload.vue?c419","webpack:///./src/views/DelayCallback/Retail/components/batchLicenseUpload.vue?bb02","webpack:///./src/views/DelayCallback/Retail/components/batchLicenseUpload.vue","webpack:///./src/views/DelayCallback/Retail/components/batchLicenseUpload.vue?1018","webpack:///./src/views/DelayCallback/Retail/components/proveUpload.vue?9f0d","webpack:///./src/views/DelayCallback/Retail/components/proveUpload.vue","webpack:///./src/views/DelayCallback/Retail/components/proveUpload.vue?0b58","webpack:///./src/views/DelayCallback/Retail/overdueSearchDeclaration.vue","webpack:///./src/views/DelayCallback/Retail/overdueSearchDeclaration.vue?600f","webpack:///./src/assets/images/rv/error.svg","webpack:///./src/API/claim/delaerClaim/delaer.ts","webpack:///./src/assets/images/rv/warning.svg","webpack:///./src/views/RetailValidation/Dealer/types.ts","webpack:///./src/views/DelayCallback/Retail/components/proveUpload.vue?bcfe","webpack:///./src/utils/claim/downloadFile.ts","webpack:///./src/views/DelayCallback/Retail/components/batchLicenseUpload.vue?ea10","webpack:///./src/assets/images/rv/batch.svg"],"names":["module","exports","column","data","customerColumn","tempColumn","tempWithds","Object","length","forEach","item","el","String","replace","dataIndex","key","title","width","Math","max","getBasicDetail","params","getOperRecordDetail","getDealerOverview","brands","getRVTable","getFailReasonData","getRetailHistory","getlicenseView","getInvioceView","getRelationProofView","submitInvoiceFile","invoiceConfig","vinNo","dealerCode","submitLicenseFile","licenseConfig","submitRelationProofFile","relationProofConfig","headers","batchInvoiceFile","batchNo","batchLicenseFile","batchRelationProofFile","cancelUploadFile","getApprovalStatus","batchFileSubmit","batchSubmitResult","getCheckStatus","getvinMdfCheckFlag","getfileSize","sendEditInfo","editConfig","id","usage","customerName","invoiceDate","licenseDate","retailDate","price","postCallback","checkDate","getSelectData","getWithdrawInfo","recordId","getWithdrawComletedInfo","postCallbackUpload","regionManager","getSpecialUsageItem","rvCallBackNormal","vehicleRetailApplyId","getAllBrands","findBrandByBu","buIds","findBuByBrand","lastTimeResults","type","continueUpload","relationProofPreCheck","codeHandler","b64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","Array","i","charCodeAt","byteArray","Uint8Array","push","blob","Blob","_hoisted_1","class","_hoisted_2","src","alt","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","style","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","render","_ctx","_cache","$props","$setup","$data","$options","_component_a_button","_component_a_modal","visible","modalVis","footer","centered","maskClosable","bodyStyle","display","minHeight","justifyContent","alignItems","onCancel","cancel","default","modal","noticeType","approvedNo","rejectedNo","totalNo","longCon","content","muchDet","index","modelContentVisible","muchContent","onClick","submit","_","handleDelayWithdraw","cancelLabel","submitLabel","props","modalVisible","Boolean","required","modalData","duration","Number","emits","setup","context","showContent","keys","includes","sessionStorage","getItem","value","JSON","parse","console","log","emit","isVisible","continue","setItem","indexOf","closetDurationTimer","undefined","setTimeout","clearTimeout","immediate","__exports__","_withScopeId","n","ref","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_component_Breadcrumb","_component_a_input","_component_a_space","_component_a_range_picker","_component_a_select_option","_component_a_select","_component_a_divider","_component_a_table","_component_a_pagination","_component_a_image","_component_single_license_upload","_component_batch_license_upload","_component_prove_upload","_component_notice_modal","dataSource","direction","searchParams","$event","placeholder","maxlength","model","valueFormat","format","retailPeriod","allowClear","saleArray","getTableData","resetEvent","uploadVerify","submitInfo","columns","pagination","tableData","rowKey","selectedRowKeys","state","onChange","onSelectChange","scroll","x","tableWidth","y","tableHeight","rowClassName","record","operation","viewPicEvent","disabled","invoicePath","licensePath","relationProofPath","certifyPath","notSubmit","isSubmit","total","pageChange","onShowSizeChange","sizeChange","pageSize","pageSizeOptions","buildOptionText","pictureModal","pictureModalFlag","pictureModalTitle","downloadImg","pictureModalImg","isImage","height","name","pdf","frameborder","isSubVisible","isInvoice","isLicense","isRelationProof","selectInfo","onCloseSubVisible","closeSub","onGetModalInfo","getModalInfo","noLicense","noRelationProof","isBatchVisible","batchActiveKey","onCloseBatchVisible","closeBatch","isProveVisible","idList","brand","onCloseProveVisible","closeProve","onIsResetModal","isResetModal","onIsResetCount","isRestCount","onCloseModalVisible","closeModal","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","position","right","bottom","borderTop","padding","background","textAlign","zIndex","_hoisted_81","_component_a_upload_dragger","_component_a_progress","_component_a_drawer","closable","onClose","close","typeClass","approlStatus","RvApprovalStatus","SUBMITTED","invoiceUploadComplete","multiple","listType","showUploadList","customRequest","invoiceCustomRequest","beforeUploadWithFileType","invoiceFileName","percent","invoicePercent","status","invoiceProStatus","invoiceFileSize","licenseUploadComplete","action","licenseCustomRequest","licenseFileName","licensePercent","licenseProStatus","licenseFileSize","relationProofUploadComplete","relationProofCustomRequest","relationProofFileName","relationProofPercent","relationProofProStatus","relationProofFileSize","enableUpload","submitFile","getSearchResult","getPicBasic","submitProveFile","proveConfig","submitInformation","components","user","organization","entityCode","invoiceFormData","FormData","licenseFormData","relationProofFormData","isInvoiceSuccess","isLicenseSuccess","isSuccess","generateUploadConfig","onUploadProgress","progressEvent","lengthComputable","complete","loaded","invoiceFileData","licenseFileData","modalParams","btnVisible","fileTypes","fileTypeCheck","JPG","file","split","PDF","OFD","beforeUpload","fileList","Promise","resolve","reject","fileTypeError","fileType","join","assign","isLt5M","size","fileLength","genCustomRequestFunc","formData","fileName","fileSize","source","append","toFixed","submitInvoice","res","code","submitLicense","submitRelationProof","has","message","_component_a_tab_pane","_component_a_tabs","paddingTop","activeKey","bActiveKey","changeTab","tab","invoiceDisabled","invoiceTit","invoiceContent","licenseDisabled","licenseTit","licenseContent","relationProofDisabled","relationProofTit","relationProofContent","totalCount","successCount","failedCount","toString","submitResult","text","rtnMessage","error","isContinue","totalSubmit","goOnUpload","exportSubmitEvent","slots","customRender","invoiceFile","invoiceCount","licenseFile","licenseCount","relationProofFile","relationProofCount","invoiceFileNum","licenseFileNum","relationProofFileNum","isRelationProofSuccess","closeCount","floor","tempInvoiceData","tempLicenseData","tempRelationProofData","current","invoiceSubCount","licenseSubCount","relationProofSubCount","invoiceClickCount","licenseClickCount","relationProofClickCount","invoiceKey","licenseKey","relationProofKey","uploadError","timer","isSame","clearInterval","getBatchSubmitResult","then","batchSub","useCurrent","useTotal","percentage","activeValue","initCon","invoiceSessionData","licenseSessionData","relationProofSessionData","invoiceIsSuccess","licenseIsSuccess","relationProofIsSuccess","isInvoiceContinueValue","isLicenseContinueValue","isRelationProofContinueValue","invoiceSession","setInterval","licenseSession","relationProofSession","invoiceDataValue","licenseDataValue","relationProofDataValue","isJpeg","isJpg","isPdf","isOfd","ele","batchInvoice","batchLicense","batchRelationProof","param","isCloseModal","delete","isResetCount","resetCount","batchSubmit","invoiceData","stringify","licenseData","relationProofData","continueValue","page","url","method","Date","downloadFile","proveCustomRequest","proveUploadComplete","proveFileName","provePercent","proveProStatus","proveContent","proveFileSize","manager","regionManagerList","usrid","fulnm","vinList","proveVisible","proveFormData","proveFile","isProveSuccess","proveFileData","submitProve","store","buNameList","brandIdMaps","getManagerList","programBu","brandNameEn","brandIds","noUseBus","filter","nameEn","fns","map","bu","all","result","usrIds","usrList","reduce","usrs","align","fixed","window","innerWidth","SingleLicenseUpload","BatchLicenseUpload","ProveUpload","NoticeModal","subLicense","isOpen","searchCon","currentPage","retailStartDate","retailEndDate","selectedRows","hasSelected","getTableScroll","extraHeight","tHeader","document","getElementsByClassName","tHeaderBottom","getBoundingClientRect","top","getParams","trim","totalElements","setColumnWidth","batchRef","proveRef","cancelUpload","stopInvoice","stopLicense","stopRelationProof","base64Blob","URL","docName","fileUrl","base64","base64toBlob","createObjectURL","downloadElement","createElement","href","download","click","closePictureModal","isSameBrand","Set","butCon","some","row","arr","selectArr","open","getOfferType","getStatus","getSubmissionOverview","getTabsData","getVINTableData","avaliablePrograms","extendEdit","getExtendInfo","saveInfoExtend","supportReview","supportSaveOrUpdateSingle","saveDealerClaimApp","saveDelayDealerClaimApp","docSample","deleteDocSample","docId","docSampleDealer","docSampleReview","docReview","claimReview","validateReplaceAttributes","extendTitleList","getTablelist","getDocView","getDocEdit","dealerSave","deleteFile","deleteTableItem","uploadBatchInfo","downloadExtendInfoApi","downloadProve","uploadExtendInfoApi","catch","uploadProve","saveClaimDealerProgramInfo","getUser","getAllParentBu","getDealerMessageApi","dealerID","getManagerApi","getAvaliableDelayProgramsApi","setClaimDocumentMatching","matchingCustomerTypeApi","rematch","getTime","OCROne","OCRS","EnumDealerApprovalStatus","EnumDealerCheckStatus","options","config","responseType","str","lastIndexOf","substring","decodeURIComponent","now","body","appendChild","removeChild","revokeObjectURL"],"mappings":"qGAAAA,EAAOC,QAAU,IAA0B,2B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,uECA3CD,EAAOC,QAAU,IAA0B,6B,oCCA3C,W,2DCAe,gBAACC,EAAoBC,EAAkBC,GACpD,IAAMC,EAAaH,EACbI,EAAa,IAAIC,QACL,OAAdH,QAAc,IAAdA,OAAc,EAAdA,EAAgBI,QAClBJ,EAAeK,SAAQ,SAAAC,GACrBJ,EAAWI,GAAQ,EACnBP,EAAKM,SAAQ,SAAAE,GACXL,EAAWI,GAAQE,OAAOD,EAAGD,IAAOG,QAAQ,mBAAmB,MAAML,OAASF,EAAWI,GAAQE,OAAOD,EAAGD,IAAOG,QAAQ,mBAAmB,MAAML,OAASF,EAAWI,SAI5KR,EAAOO,SAAQ,SAAAC,GACZJ,EAAWI,EAAKI,WAAa,EAC7BX,EAAKM,SAAQ,SAAAE,GACXL,EAAWI,EAAKI,WAAaF,OAAOD,EAAGD,EAAKI,YAAYD,QAAQ,mBAAmB,MAAML,OAASF,EAAWI,EAAKI,WAAaF,OAAOD,EAAGD,EAAKI,YAAYD,QAAQ,mBAAmB,MAAML,OAASF,EAAWI,EAAKI,iB,eAI/MC,GACTV,EAAWI,SAAQ,SAACC,GACdA,EAAKI,YAAcC,IACrBL,EAAKM,MAAMH,QAAQ,mBAAmB,MAAML,OAASF,EAAWS,GAAOL,EAAKO,MAAQ,GAAKX,EAAWS,GAEpGL,EAAKO,MAAQC,KAAKC,IAAI,GAAKT,EAAKM,MAAMR,OAAQ,SALpD,IAAK,IAAMO,KAAOT,E,EAAPS,GAUX,OAAOV,I,oCC5BT,W,i0CCqBae,EAAiB,SAACC,GAC7B,YAD6B,IAAAA,MAAA,IACtB,eAAS,uCAAwCA,IAE7CC,EAAsB,SAACD,GAClC,YADkC,IAAAA,MAAA,IAC3B,eAAS,uCAAwCA,IAE7CE,EAAoB,SAC/BC,GAEA,OAAO,eAAU,kCAAmCA,IAEzCC,EAAa,SAACJ,GACzB,YADyB,IAAAA,MAAA,IAClB,eAAU,qCAAsCA,IAE5CK,EAAoB,SAC/BL,GAEA,YAFA,IAAAA,MAAA,IAEO,eAAS,qCAAsCA,IAE3CM,EAAmB,SAACN,GAC/B,YAD+B,IAAAA,MAAA,IACxB,eAAa,+BAAgCA,IAEzCO,EAAiB,SAACP,GAC7B,YAD6B,IAAAA,MAAA,IACtB,eAAS,uCAAwCA,IAE7CQ,EAAiB,SAACR,GAC7B,YAD6B,IAAAA,MAAA,IACtB,eAAS,uCAAwCA,IAE7CS,EAAuB,SAACT,GACnC,YADmC,IAAAA,MAAA,IAC5B,eAAS,6CAA8CA,IAEnDU,EAAoB,SAC/BC,EACAC,EACAC,EACAb,GAEA,YALA,IAAAW,MAAA,SACA,IAAAC,MAAA,SACA,IAAAC,MAAA,SACA,IAAAb,MAAA,IAEO,eACL,iDAAiDY,EAAK,eAAeC,EACrEb,EACAW,IAGSG,EAAoB,SAC/BC,EACAH,EACAC,EACAb,GAEA,YALA,IAAAe,MAAA,SACA,IAAAH,MAAA,SACA,IAAAC,MAAA,SACA,IAAAb,MAAA,IAEO,eACL,iDAAiDY,EAAK,eAAeC,EACrEb,EACAe,IAGSC,EAA0B,SACrCC,EACAL,EACAC,EACAb,GAEA,YALA,IAAAiB,MAAA,SACA,IAAAL,MAAA,SACA,IAAAC,MAAA,SACA,IAAAb,MAAA,IAEO,eACL,uDAAuDY,EAAK,eAAeC,EAC3Eb,EAAM,iCAEDiB,GAAmB,CACtBC,QAAS,CACP,eAAgB,cAyBXC,EAAmB,SAC9BR,EACAS,EACApB,GAEA,YAJA,IAAAW,MAAA,SACA,IAAAS,MAAA,SACA,IAAApB,MAAA,IAEO,eACL,wDAA0DoB,EAC1DpB,EACAW,IAGSU,EAAmB,SAC9BN,EACAK,EACApB,GAEA,YAJA,IAAAe,MAAA,SACA,IAAAK,MAAA,SACA,IAAApB,MAAA,IAEO,eACL,wDAA0DoB,EAC1DpB,EACAe,IAGSO,EAAyB,SACpCP,EACAK,EACApB,GAEA,YAJA,IAAAe,MAAA,SACA,IAAAK,MAAA,SACA,IAAApB,MAAA,IAEO,eACL,8DAAgEoB,EAChEpB,EACAe,IAGSQ,EAAmB,SAACH,GAC/B,YAD+B,IAAAA,MAAA,IACxB,eACL,iDAAmDA,IAG1CI,EAAoB,WAC/B,OAAO,eAAS,0CAELC,EAAkB,SAACzB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,eAAa,8BAA+BA,IAExC0B,EAAoB,SAAC1B,GAChC,YADgC,IAAAA,MAAA,IACzB,eAAS,4BAA6BA,IAGlC2B,EAAiB,WAC5B,OAAO,eAAS,uCAELC,EAAqB,SAAC5B,GACjC,YADiC,IAAAA,MAAA,IAC1B,eAAS,sCAAuC,CAAEA,OAAM,KAEpD6B,EAAc,SAAC7B,GAC1B,YAD0B,IAAAA,MAAA,IACnB,eAAU,oCAAqCA,IAE3C8B,EAAe,SAC1BC,EACAC,EACAC,EACAC,EACAtB,EACAC,EACAsB,EACAC,EACAC,EACAC,EACAtC,GAEA,YAZA,IAAA+B,MAAA,SACA,IAAAC,MAAA,QACA,IAAAC,MAAA,SACA,IAAAC,MAAA,SACA,IAAAtB,MAAA,SACA,IAAAC,MAAA,SACA,IAAAsB,MAAA,SACA,IAAAC,MAAA,SACA,IAAAC,MAAA,SACA,IAAAC,MAAA,SACA,IAAAtC,MAAA,IAEO,eACL,sCAAsCgC,EAAE,UAAUC,EAAK,iBAAiBC,EAAY,UAAUtB,EAAK,eAAeC,EAAU,gBAAgBsB,EAAW,gBAAgBC,EAAW,eAAeC,EAAU,UAAUC,EACrNtC,EACA+B,IAGSQ,EAAe,SAACvC,GAC3B,OAAO,eACL,oDAAsDA,IAI7CwC,EAAY,SAACxC,GACxB,YADwB,IAAAA,MAAA,IACjB,eAAa,2BAA4BA,IAGrCyC,EAAgB,WAC3B,OAAO,eAAS,+BAGLC,EAAkB,SAACC,GAC9B,OAAO,eACL,wEACEA,IAIOC,EAA0B,SAACD,GACtC,OAAO,eACL,wEACEA,IAIOE,EAAqB,SAChC/D,EACAkB,GAEA,YAHA,IAAAlB,MAAA,CAAS6D,UAAW,EAAGG,cAAe,KAG/B,eACL,qEAAqEhE,EAAK6D,SAAQ,kBAAkB7D,EAAKgE,cACzG9C,IAIS+C,EAAsB,WACjC,OAAO,eAAa,iCAGTC,EAAmB,SAC9BC,GAEA,OAAO,eACL,qCACA,GACA,CAAEjD,OAAQ,CAAEiD,qBAAoB,MAIvBC,EAAe,WAC1B,OAAO,eAAS,kCAELC,EAAgB,SAACC,GAC5B,OAAO,eAAS,6BAA8B,CAC5CpD,OAAQ,CACNoD,MAAK,MAIEC,EAAgB,SAACrD,GAC5B,OAAO,eAAS,6BAA8B,CAAEA,OAAM,KAE3CsD,EAAkB,SAACzC,EAAoB0C,GAClD,OAAO,eAAS,2CAA4C,CAC1DvD,OAAQ,CACNa,WAAU,EACV0C,KAAI,MAIGC,EAAiB,SAAC3C,EAAoB0C,GACjD,OAAO,eAAS,0CAA2C,CACzDvD,OAAQ,CACNa,WAAU,EACV0C,KAAI,MAIGE,EAAwB,SAAC7C,EAAeC,GACnD,OAAO,eAAU,sDAAuD,GAAI,CAC1Eb,OAAQ,CACNY,MAAK,EACLC,WAAU,GAEZ6C,YAAa,a,uBCpRjB/E,EAAOC,QAAU,IAA0B,4B,oCCA3C,W,oCCAe,gBAAC+E,EAAYC,EAA+BC,QAA3C,IAAAF,MAAA,SAAY,IAAAC,MAAA,wBAA+B,IAAAC,MAAA,KAGvD,IAFA,IAAMC,EAAiBC,KAAKJ,GACtBK,EAAa,GACVC,EAAS,EAAGA,EAASH,EAAe3E,OAAQ8E,GAAUJ,EAAW,CAGtE,IAFA,IAAMK,EAAQJ,EAAeI,MAAMD,EAAQA,EAASJ,GAChDM,EAAc,IAAIC,MAAMF,EAAM/E,QACzBkF,EAAI,EAAGA,EAAIH,EAAM/E,OAAQkF,IAC9BF,EAAYE,GAAKH,EAAMI,WAAWD,GAEtC,IAAME,EAAY,IAAIC,WAAWL,GACjCH,EAAWS,KAAKF,GAEpB,IAAMG,EAAO,IAAIC,KAAKX,EAAY,CAACT,KAAMK,IACzC,OAAOc,I,oCCbX,W,oCCAA,Y,qBCAA/F,EAAOC,QAAU,sT,oCCAjB,W,mHCMMgG,EAAa,CAAEC,MAAO,eACtBC,EAAa,CACjBpF,IAAK,EACLqF,IAAK,IACLC,IAAK,GACLH,MAAO,cAEHI,EAAa,CACjBvF,IAAK,EACLqF,IAAK,IACLC,IAAK,GACLH,MAAO,cAEHK,EAAa,CACjBxF,IAAK,EACLqF,IAAK,IACLC,IAAK,GACLH,MAAO,cAEHM,EAA0B,gCAAoB,OAAQ,KAAM,MAAO,GACnEC,EAAa,CACjB1F,IAAK,EACLmF,MAAO,4BAEHQ,EAA0B,gCAAoB,MAAO,CAAEC,MAAO,CAAC,gBAAgB,SAAW,kDAAmD,GAC7IC,EAAa,CAAED,MAAO,CAAC,gBAAgB,SACvCE,EAAa,CACjB9F,IAAK,EACLmF,MAAO,eAEHY,EAAc,CAAE/F,IAAK,GACrBgG,EAAc,CAClBhG,IAAK,EACLmF,MAAO,aAEHc,EAA2B,6BAAiB,MAC5CC,EAA2B,6BAAiB,UAC5CC,EAAc,CAClBnG,IAAK,EACLmF,MAAO,aAGF,SAASiB,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,IAAMC,EAAsB,8BAAkB,YACxCC,EAAqB,8BAAkB,WAE7C,OAAQ,yBAAc,gCAAoB,MAAO,KAAM,CACrD,yBAAaA,EAAoB,CAC/BC,QAASR,EAAKS,SACdC,OAAQ,KACRC,SAAU,GACV9G,MAAO,QACP,gBAAiBmG,EAAKY,aACtBC,UAAW,CACTC,QAAS,OACTC,UAAW,QACXC,eAAgB,SAChBC,WAAY,UAEdC,SAAUlB,EAAKmB,QACd,CACDC,QAAS,sBAAS,WAAM,OACtB,gCAAoB,MAAO,KAAM,CAC/B,gCAAoB,MAAOvC,EAAY,CACV,YAA1BmB,EAAKqB,MAAMC,YACP,yBAAc,gCAAoB,MAAOvC,IAC1C,gCAAoB,IAAI,GACD,YAA1BiB,EAAKqB,MAAMC,YACP,yBAAc,gCAAoB,MAAOpC,IAC1C,gCAAoB,IAAI,GACD,UAA1Bc,EAAKqB,MAAMC,YACP,yBAAc,gCAAoB,MAAOnC,IAC1C,gCAAoB,IAAI,GAC5BC,IAEDY,EAAgB,aACZ,yBAAc,gCAAoB,MAAOX,EAAY,CACpD,gCAAoB,MAAO,KAAM,CAC/BC,EACA,gCAAoB,MAAOE,EAAY,gBAAkB,6BAAiBQ,EAAKqB,MAAME,YAAc,oBAAsB,6BAAiBvB,EAAKqB,MAAMG,YAAc,iBAAmB,6BAAiBxB,EAAKqB,MAAMI,SAAU,SAG/N,yBAAc,gCAAoB,MAAO,CACxC9H,IAAK,EACLmF,MAAO,4BAAgB,CAAC,2BAA4B,CAAE4C,QAAS1B,EAAKqB,MAAMM,QAAQvI,OAAS,OAC1F,CACA4G,EAAgB,aACZ,yBAAc,gCAAoB,MAAOP,EAAY,EACnD,wBAAW,GAAO,gCAAoB,cAAW,KAAM,wBAAYO,EAAK4B,SAAS,SAACjI,EAAKkI,GACtF,OAAQ,yBAAc,gCAAoB,IAAK,CAAElI,IAAKkI,GAAS,6BAAiBlI,GAAM,MACpF,SAEN,gCAAoB,IAAI,GAC3BqG,EAAK8B,sBAAwB9B,EAAK+B,aAC9B,yBAAc,gCAAoB,MAAOrC,EAAa,6BAAiBM,EAAKqB,MAAMM,SAAU,IAC7F,gCAAoB,IAAI,IAC3B,IACN3B,EAAKqB,MAAwB,oBACzB,yBAAc,gCAAoB,MAAO1B,EAAa,CACrD,yBAAaW,EAAqB,CAChC9C,KAAM,UACNwE,QAAShC,EAAKiC,OACd1C,MAAO,CAAC,eAAe,SACtB,CACD6B,QAAS,sBAAS,WAAM,OACtBxB,MAEFsC,EAAG,GACF,EAAG,CAAC,YACiB,YAAvBlC,EAAKqB,MAAMM,SACP,yBAAc,yBAAarB,EAAqB,CAC/C3G,IAAK,EACLqI,QAAShC,EAAKmC,qBACb,CACDf,QAAS,sBAAS,WAAM,OACtBvB,MAEFqC,EAAG,GACF,EAAG,CAAC,aACP,gCAAoB,IAAI,MAE9B,gCAAoB,IAAI,GAC3BlC,EAAKqB,MAAgB,YACjB,yBAAc,gCAAoB,MAAOvB,EAAa,CACrD,yBAAaQ,EAAqB,CAAE0B,QAAShC,EAAKmB,QAAU,CAC1DC,QAAS,sBAAS,WAAM,OACtB,6BAAiB,6BAAiBpB,EAAKoC,aAAc,OAEvDF,EAAG,GACF,EAAG,CAAC,YACP,yBAAa5B,EAAqB,CAChC9C,KAAM,UACNwE,QAAShC,EAAKiC,QACb,CACDb,QAAS,sBAAS,WAAM,OACtB,6BAAiB,6BAAiBpB,EAAKqC,aAAc,OAEvDH,EAAG,GACF,EAAG,CAAC,eAET,gCAAoB,IAAI,SAGhCA,EAAG,GACF,EAAG,CAAC,UAAW,gBAAiB,eCpJxB,mCAAgB,CAC7BI,MAAO,CACLD,YAAa,CACX7E,KAAMhE,OACN4H,QAAS,KAEXgB,YAAa,CACX5E,KAAMhE,OACN4H,QAAS,KAEXmB,aAAc,CACZ/E,KAAMgF,QACNC,UAAU,EACVrB,SAAS,GAEXsB,UAAW,CACTlF,KAAMrE,OACNsJ,UAAU,EACVrB,QAAS,WACP,MAAO,KAGXR,aAAc,CACZpD,KAAMgF,QACNpB,SAAS,GAEXuB,SAAU,CACRnF,KAAMoF,OACNxB,QAAS,IAGbyB,MAAO,CACL,sBACA,iBACA,iBACA,yBAEFC,MAAA,SAAMR,EAAOS,GACX,IAAMtC,EAAY6B,EAAcC,aAC1BlB,EAASiB,EAAcI,UACvBM,EAAc,uBAAS,WAC3B,OAAO7J,OAAO8J,KAAK5B,GAAO6B,SAAS,iBAE/BnB,EAAcoB,eAAeC,QAAQ,eACrCxB,EAAU,iBAAI,IACdE,EAAsB,kBAAa,GACrCC,EACFH,EAAQyB,MAAQC,KAAKC,MAAMxB,GAE3ByB,QAAQC,IAAI,sBAEd,IAAMxB,EAAS,WACbc,EAAQW,KAAK,sBAAuB,CAClCC,WAAW,EACXC,UAAU,IAEZT,eAAeU,QAAQ,WAAY,SAG/B1C,EAAS,WACb4B,EAAQW,KAAK,sBAAuB,CAClCC,WAAW,EACXC,UAAU,IAEZT,eAAeU,QAAQ,WAAY,IACnCV,eAAeU,QAAQ,cAAe,IACtCd,EAAQW,KAAK,iBAAkB,CAAEE,UAAU,KAEzCvC,EAAMM,QAAQmC,QAAQ,OAAS,GAC/BzC,EAAMM,QAAQmC,QAAQ,WAAa,GACnCzC,EAAMM,QAAQmC,QAAQ,WAEtBf,EAAQW,KAAK,iBAAkB,CAAEE,UAAU,KAGzCzB,EAAsB,WAC1BY,EAAQW,KACN,wBACArC,EAAMzE,SACNyE,EAAMxG,MACNwG,EAAM/E,YAERyG,EAAQW,KAAK,iBAAkB,CAAEE,UAAU,IAC3Cb,EAAQW,KAAK,sBAAuB,CAClCC,WAAW,EACXC,UAAU,KAIVG,OAA0CC,EAoB9C,OAlBA,oBACE,WAAM,OAAA1B,EAAMC,gBACZ,SAAC/B,GACK8B,EAAMK,UAAYnC,EACpBuD,EAAsBE,YAAW,WAC/B9C,MACkB,IAAjBmB,EAAMK,UAELoB,GACFG,aAAaH,KAInB,CACEI,WAAW,IAIR,CACLnB,YAAW,EACXvC,SAAQ,EACRY,MAAK,EACLY,OAAM,EACNd,OAAM,EACNY,YAAW,EACXH,QAAO,EACPE,oBAAmB,EACnBK,oBAAmB,M,iCCjHzB,MAAMiC,EAA2B,IAAgB,EAAQ,CAAC,CAAC,SAASrE,KAErD,U,qGCLTsE,EAAe,SAAAC,GAAK,OAAC,yBAAa,mBAAmBA,EAAEA,IAAI,0BAAcA,GACzEzF,EAAa,CAAEC,MAAO,WACtBC,EAAa,CACjBD,MAAO,SACPyF,IAAK,aAEDrF,EAAa,CAAEJ,MAAO,sBACtBK,EAA2BkF,GAAa,WAAmB,uCAAoB,QAAS,KAAM,OAAQ,MACtGjF,EAA2BiF,GAAa,WAAmB,uCAAoB,QAAS,KAAM,MAAO,MACrGhF,EAA2BgF,GAAa,WAAmB,uCAAoB,QAAS,CAAEvF,MAAO,QAAU,QAAS,MACpHQ,EAA2B+E,GAAa,WAAmB,uCAAoB,QAAS,KAAM,QAAS,MACvG7E,EAA2B6E,GAAa,WAAmB,uCAAoB,QAAS,CAAEvF,MAAO,QAAU,KAAM,MACjHW,EAA0B,6BAAiB,MAC3CC,EAA2B,6BAAiB,MAC5CC,EAAc,CAAEb,MAAO,iBACvBc,EAAc,CAAEd,MAAO,eACvBe,EAA2B,6BAAiB,iBAC5CC,EAA2B,6BAAiB,UAC5C0E,EAA2B,6BAAiB,MAC5CC,EAAc,CAAE3F,MAAO,aACvB4F,EAA2B,6BAAiB,MAC5CC,EAA2B,6BAAiB,OAC5CC,EAA2B,6BAAiB,QAC5CC,EAA2B,6BAAiB,QAC5CC,EAAc,CAClBnL,IAAK,EACLqF,IAAK,IACLC,IAAK,IAED8F,EAAc,CAAEpL,IAAK,GACrBqL,EAAc,CAClBrL,IAAK,EACLmF,MAAO,UAEHmG,EAA2B,6BAAiB,QAC5CC,EAA2B,6BAAiB,QAC5CC,EAAc,CAAC,OAEd,SAASpF,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,IAAM+E,EAAwB,8BAAkB,cAC1CC,EAAqB,8BAAkB,WACvCC,EAAqB,8BAAkB,WACvCC,EAA4B,8BAAkB,kBAC9CC,EAA6B,8BAAkB,mBAC/CC,EAAsB,8BAAkB,YACxCnF,EAAsB,8BAAkB,YACxCoF,EAAuB,8BAAkB,aACzCC,EAAqB,8BAAkB,WACvCC,EAA0B,8BAAkB,gBAC5CC,EAAqB,8BAAkB,WACvCtF,EAAqB,8BAAkB,WACvCuF,EAAmC,8BAAkB,yBACrDC,EAAkC,8BAAkB,wBACpDC,EAA0B,8BAAkB,gBAC5CC,EAA0B,8BAAkB,gBAElD,OAAQ,yBAAc,gCAAoB,cAAW,KAAM,CACzD,yBAAab,EAAuB,CAClCc,WAAY,GACZpH,MAAO,YAET,gCAAoB,MAAOD,EAAY,CACrC,gCAAoB,MAAOE,EAAY,CACrC,gCAAoB,MAAOG,EAAY,CACrC,yBAAaoG,EAAoB,CAC/Ba,UAAW,WACXrH,MAAO,eACN,CACDsC,QAAS,sBAAS,WAAM,OACtBjC,EACA,yBAAakG,EAAoB,CAC/BhC,MAAOrD,EAAKoG,aAAavL,MACzB,iBAAkBoF,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAKoG,aAAkB,MAAIC,IAC1FC,YAAa,MACbC,UAAW,GACXhH,MAAO,CAAC,MAAQ,UACf,KAAM,EAAG,CAAC,cAEf2C,EAAG,IAEL,yBAAaoD,EAAoB,CAC/Ba,UAAW,WACXrH,MAAO,eACN,CACDsC,QAAS,sBAAS,WAAM,OACtBhC,EACA,yBAAaiG,EAAoB,CAC/BhC,MAAOrD,EAAKoG,aAAaI,MACzB,iBAAkBvG,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAKoG,aAAkB,MAAIC,IAC1FC,YAAa,MACbC,UAAW,GACXhH,MAAO,CAAC,MAAQ,UACf,KAAM,EAAG,CAAC,cAEf2C,EAAG,IAEL,yBAAaoD,EAAoB,CAC/Ba,UAAW,WACXrH,MAAO,eACN,CACDsC,QAAS,sBAAS,WAAM,OACtB/B,EACA,yBAAakG,EAA2B,CACtChG,MAAO,CAAC,MAAQ,SAChB+G,YAAa,CAAC,OAAQ,QACtBG,YAAa,aACbC,OAAQ,aACRrD,MAAOrD,EAAKoG,aAAaO,aACzB,iBAAkB1G,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAKoG,aAAyB,aAAIC,KAChG,KAAM,EAAG,CAAC,cAEfnE,EAAG,IAEL,yBAAaoD,EAAoB,CAC/Ba,UAAW,WACXrH,MAAO,eACN,CACDsC,QAAS,sBAAS,WAAM,OACtB9B,EACA,yBAAamG,EAAqB,CAChCpC,MAAOrD,EAAKoG,aAAalK,MACzB,iBAAkB+D,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAKoG,aAAkB,MAAIC,IAC1F9G,MAAO,CAAC,MAAQ,SAChBgF,IAAK,SACLqC,WAAY,IACX,CACDxF,QAAS,sBAAS,WAAM,QACrB,wBAAW,GAAO,gCAAoB,cAAW,KAAM,wBAAYpB,EAAK6G,WAAW,SAACvN,GACnF,OAAQ,yBAAc,yBAAakM,EAA4B,CAAE7L,IAAKL,GAAQ,CAC5E8H,QAAS,sBAAS,WAAM,OACtB,6BAAiB,6BAAiB9H,GAAO,OAE3C4I,EAAG,GACF,SACD,UAENA,EAAG,GACF,EAAG,CAAC,cAETA,EAAG,IAEL,yBAAaoD,EAAoB,CAC/Ba,UAAW,WACXrH,MAAO,gBACN,CACDsC,QAAS,sBAAS,WAAM,OACtB5B,EACA,gCAAoB,MAAO,KAAM,CAC/B,yBAAac,EAAqB,CAChC9C,KAAM,UACNsB,MAAO,cACPkD,QAAShC,EAAK8G,cACb,CACD1F,QAAS,sBAAS,WAAM,OACtB3B,MAEFyC,EAAG,GACF,EAAG,CAAC,YACP,yBAAa5B,EAAqB,CAChCxB,MAAO,SACPkD,QAAShC,EAAK+G,YACb,CACD3F,QAAS,sBAAS,WAAM,OACtB1B,MAEFwC,EAAG,GACF,EAAG,CAAC,kBAGXA,EAAG,OAGN,KACH,gCAAoB,MAAOvC,EAAa,CACtC,gCAAoB,MAAOC,EAAa,CACtC,yBAAaU,EAAqB,CAChC9C,KAAM,UACNsB,MAAO,cACPkD,QAAS/B,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAACrG,EAAKgH,aAAa,eACtE,CACD5F,QAAS,sBAAS,WAAM,OACtBvB,MAEFqC,EAAG,IAEL,yBAAa5B,EAAqB,CAChC9C,KAAM,UACNsB,MAAO,cACPkD,QAAS/B,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAACrG,EAAKgH,aAAa,YACtE,CACD5F,QAAS,sBAAS,WAAM,OACtBtB,MAEFoC,EAAG,IAEL,yBAAa5B,EAAqB,CAChC9C,KAAM,UACNsB,MAAO,SACPkD,QAAShC,EAAKiH,YACb,CACD7F,QAAS,sBAAS,WAAM,OACtBoD,MAEFtC,EAAG,GACF,EAAG,CAAC,cAET,gCAAoB,MAAOuC,EAAa,CACtC,yBAAakB,EAAoB,CAC/BuB,QAASlH,EAAKkH,QACdC,YAAY,EACZjB,WAAYlG,EAAKoH,UACjBC,OAAQ,KACR,gBAAiB,CACLC,gBAAiBtH,EAAKuH,MAAMD,gBAC5BE,SAAUxH,EAAKyH,gBAE3BC,OAAQ,CAAEC,EAAG3H,EAAK4H,WAAYC,EAAG7H,EAAK8H,aACtCC,aACY,SAACC,EAAQnG,GACL,OAAAA,EAAQ,IAAM,EAAI,gBAAkB,OAEnD,CACDoG,UAAW,sBAAS,SAAC,G,IAAED,EAAM,SAAO,OAClC,yBAAa1H,EAAqB,CAChC9C,KAAM,OACNwE,QAAS,SAACqE,GAAgB,OAACrG,EAAKkI,aAAaF,EAAOnN,MAAO,YAC3DsN,UAAWH,EAAOI,aACjB,CACDhH,QAAS,sBAAS,WAAM,OACtBsD,MAEFxC,EAAG,GACF,KAAM,CAAC,UAAW,aACrB,yBAAawD,EAAsB,CAAElI,KAAM,aAC3C,yBAAa8C,EAAqB,CAChC9C,KAAM,OACNwE,QAAS,SAACqE,GAAgB,OAACrG,EAAKkI,aAAaF,EAAOnN,MAAO,YAC3DsN,UAAWH,EAAOK,aACjB,CACDjH,QAAS,sBAAS,WAAM,OACtBuD,MAEFzC,EAAG,GACF,KAAM,CAAC,UAAW,aACrB,yBAAawD,EAAsB,CAAElI,KAAM,aAC3C,yBAAa8C,EAAqB,CAChC9C,KAAM,OACNwE,QAAS,SAACqE,GAAgB,OAACrG,EAAKkI,aAAaF,EAAOnN,MAAO,kBAC3DsN,UAAWH,EAAOM,mBACjB,CACDlH,QAAS,sBAAS,WAAM,OACtBwD,MAEF1C,EAAG,GACF,KAAM,CAAC,UAAW,aACrB,yBAAawD,EAAsB,CAAElI,KAAM,aAC3C,yBAAa8C,EAAqB,CAChC9C,KAAM,OACNwE,QAAS,SAACqE,GAAgB,OAACrG,EAAKkI,aAAaF,EAAOnN,MAAO,UAC3DsN,UAAWH,EAAOO,aACjB,CACDnH,QAAS,sBAAS,WAAM,OACtByD,MAEF3C,EAAG,GACF,KAAM,CAAC,UAAW,iBAEvBsG,UAAW,sBAAS,SAAC,G,IAAER,EAAM,SAAO,OACjChI,EAAKyI,SAAST,IACV,yBAAc,gCAAoB,MAAOlD,KACzC,yBAAc,gCAAoB,OAAQC,QAEjD7C,EAAG,GACF,EAAG,CAAC,UAAW,aAAc,gBAAiB,SAAU,uBAIhElC,EAAKoH,WAAapH,EAAKoH,UAAUhO,OAAS,GACtC,yBAAc,gCAAoB,MAAO4L,EAAa,CACrD,yBAAaY,EAAyB,CACpC8C,MAAO1I,EAAKmH,WAAWuB,MACvB,oBAAqB,GACrB,aAAc,SAACA,GAAU,WAAKA,EAAK,MACnClB,SAAUxH,EAAK2I,WACfC,iBAAkB5I,EAAK6I,WACvBC,SAAU9I,EAAKmH,WAAW2B,SAC1B,oBAAqB7I,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAKmH,WAAmB,SAAId,IAC9F0C,gBAAiB,CAAC,KAAM,KAAM,KAAM,KAAM,OACzC,CACDC,gBAAiB,sBAAS,SAAC1G,GAAU,OACnC,gCAAoB,OAAQ,KAAM,6BAAiBA,EAAMe,OAAS,MAAO,OAE3EnB,EAAG,GACF,EAAG,CAAC,QAAS,aAAc,WAAY,mBAAoB,gBAEhE,gCAAoB,IAAI,GAC3BlC,EAAKiJ,aAAoB,SACrB,yBAAc,yBAAa1I,EAAoB,CAC9C5G,IAAK,EACL6G,QAASR,EAAKiJ,aAAaC,iBAC3B,mBAAoBjJ,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAKiJ,aAA6B,iBAAI5C,IACvGzM,MAAOoG,EAAKiJ,aAAaE,kBACzBtP,MAAO,IACP8G,SAAU,IACT,CACDD,OAAQ,sBAAS,WAAM,OACrB,yBAAaJ,EAAqB,CAChC3G,IAAK,SACL6D,KAAM,UACNwE,QAAS/B,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAACrG,EAAKoJ,YAAYpJ,EAAKiJ,iBAC1E,CACD7H,QAAS,sBAAS,WAAM,OACtB6D,MAEF/C,EAAG,QAGPd,QAAS,sBAAS,WAAM,OACtB,yBAAayE,EAAoB,CAC/B7G,IAAKgB,EAAKiJ,aAAaI,iBACtB,KAAM,EAAG,CAAC,YAEfnH,EAAG,GACF,EAAG,CAAC,UAAW,WAClB,gCAAoB,IAAI,GAC1BlC,EAAKiJ,aAAaK,QA+BhB,gCAAoB,IAAI,IA9BvB,yBAAc,yBAAa/I,EAAoB,CAC9C5G,IAAK,EACL6G,QAASR,EAAKiJ,aAAaC,iBAC3B,mBAAoBjJ,EAAO,MAAQA,EAAO,IAAM,SAACoG,GAAgB,OAAErG,EAAKiJ,aAA6B,iBAAI5C,IACzGzM,MAAOoG,EAAKiJ,aAAaE,kBACzBtP,MAAO,OACPgH,UAAW,CAAE0I,OAAQ,UACpB,CACD7I,OAAQ,sBAAS,WAAM,OACrB,yBAAaJ,EAAqB,CAChC3G,IAAK,SACL6D,KAAM,UACNwE,QAAS/B,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAACrG,EAAKoJ,YAAYpJ,EAAKiJ,iBAC1E,CACD7H,QAAS,sBAAS,WAAM,OACtB8D,MAEFhD,EAAG,QAGPd,QAAS,sBAAS,WAAM,OACtB,gCAAoB,SAAU,CAC5BoI,KAAM,GACNxK,IAAKgB,EAAKiJ,aAAaQ,IACvBC,YAAa,IACbnK,MAAO,CAAC,MAAQ,OAAO,OAAS,SAC/B,KAAM,EAAG4F,OAEdjD,EAAG,GACF,EAAG,CAAC,UAAW,WAErBlC,EAAiB,cACb,yBAAc,yBAAa8F,EAAkC,CAC5DnM,IAAK,EACL4K,IAAK,aACLoF,aAAc3J,EAAK2J,aACnBC,UAAW5J,EAAK4J,UAChBC,UAAW7J,EAAK6J,UAChBC,gBAAiB9J,EAAK8J,gBACtBC,WAAY/J,EAAK+J,WACjBC,kBAAmBhK,EAAKiK,SACxBC,eAAgBlK,EAAKmK,cACpB,KAAM,EAAG,CAAC,eAAgB,YAAa,YAAa,kBAAmB,aAAc,oBAAqB,oBAC7G,gCAAoB,IAAI,GAC3BnK,EAAmB,gBACf,yBAAc,yBAAa+F,EAAiC,CAC3DpM,IAAK,EACL4K,IAAK,WACL6F,UAAWpK,EAAKoK,UAChBC,gBAAiBrK,EAAKqK,gBACtBC,eAAgBtK,EAAKsK,eACrBC,eAAgBvK,EAAKuK,eACrBC,oBAAqBxK,EAAKyK,WAC1BP,eAAgBlK,EAAKmK,cACpB,KAAM,EAAG,CAAC,YAAa,kBAAmB,iBAAkB,iBAAkB,sBAAuB,oBACxG,gCAAoB,IAAI,GAC3BnK,EAAmB,gBACf,yBAAc,yBAAagG,EAAyB,CACnDrM,IAAK,EACL4K,IAAK,WACLmG,eAAgB1K,EAAK0K,eACrBC,OAAQ3K,EAAK2K,OACbC,MAAO5K,EAAK4K,MACZC,oBAAqB7K,EAAK8K,WAC1BZ,eAAgBlK,EAAKmK,cACpB,KAAM,EAAG,CAAC,iBAAkB,SAAU,QAAS,sBAAuB,oBACzE,gCAAoB,IAAI,GAC3BnK,EAAiB,cACb,yBAAc,yBAAaiG,EAAyB,CACnDtM,IAAK,EACL4I,aAAcvC,EAAKuC,aACnBG,UAAW1C,EAAK0C,UAChBqI,eAAgB/K,EAAKgL,aACrBC,eAAgBjL,EAAKkL,YACrBC,oBAAqBnL,EAAKoL,YACzB,KAAM,EAAG,CAAC,eAAgB,YAAa,iBAAkB,iBAAkB,yBAC9E,gCAAoB,IAAI,IAC3B,I,+ECjZC,EAAe,SAAA9G,GAAK,OAAC,yBAAa,mBAAmBA,EAAEA,IAAI,0BAAcA,GACzE,EAAa,CAAExF,MAAO,iBACtB,EAAa,CAAEA,MAAO,iBACtB,EAA2B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,WAAa,SAAU,MACvH,EAAa,CAAEA,MAAO,YACtB,EAA2B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,WAAa,QAAS,MACtH,EAAa,CAAEA,MAAO,YACtB,EAA2B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,WAAa,SAAU,MACvH,EAAa,CAAEA,MAAO,YACtB,EAA2B,GAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,OAAS,aAAc,MACpH,EAAc,CAAEA,MAAO,aACvB,EAAc,CAClBnF,IAAK,EACLmF,MAAO,oBAEH,EAAc,CAClBnF,IAAK,EACLmF,MAAO,6BAEH,GAA4B,GAAa,WAAmB,uCAAoB,MAAO,CAAEA,MAAO,iBAAmB,CAC1G,gCAAoB,MAAO,CACtCA,MAAO,eACPE,IAAK,MAEM,gCAAoB,IAAK,CAAEF,MAAO,mBAAqB,WAClE,MACE,GAAc,CAClB,IAEI,GAAc,CAClBnF,IAAK,EACLmF,MAAO,WAEH,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,wBAA0B,CAC/G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACE,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,4BAA8B,CACnH,6BAAiB,cACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,YAC9D,MACE,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,iBAAmB,UAAW,MAC5H,GAAc,CAClBnF,IAAK,EACLmF,MAAO,6BAEH,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,mBACvB,GAAc,CAAEA,MAAO,kBACvB,GAA4B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,eAAiB,aAAc,MAChI,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,oBACvB,GAA4B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,eAAiB,QAAS,MAC3HuM,GAAc,CAAEvM,MAAO,gBACvBwM,GAAc,CAAExM,MAAO,qBACvByM,GAAc,CAClB5R,IAAK,EACLmF,MAAO,eAEH0M,GAA4B,GAAa,WAAmB,uCAAoB,MAAO,CAC3FxM,IAAK,IACLF,MAAO,gBACN,MAAO,MACJ2M,GAA2B,6BAAiB,QAC5CC,GAAc,CAClBF,GACAC,IAEIE,GAAc,CAAEhS,IAAK,GACrBiS,GAAc,CAAE9M,MAAO,oBACvB+M,GAAc,CAClBlS,IAAK,EACLmF,MAAO,oBAEHgN,GAAc,CAClBnS,IAAK,EACLmF,MAAO,6BAEHiN,GAA4B,GAAa,WAAmB,uCAAoB,MAAO,CAAEjN,MAAO,iBAAmB,CAC1G,gCAAoB,MAAO,CACtCA,MAAO,eACPE,IAAK,MAEM,gCAAoB,IAAK,CAAEF,MAAO,mBAAqB,YAClE,MACEkN,GAAc,CAClBD,IAEIE,GAAc,CAClBtS,IAAK,EACLmF,MAAO,WAEHoN,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAEpN,MAAO,wBAA0B,CAC/G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACEqN,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAErN,MAAO,4BAA8B,CACnH,6BAAiB,eACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,YAC9D,MACEsN,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAEtN,MAAO,iBAAmB,UAAW,MAC5HuN,GAAc,CAClB1S,IAAK,EACLmF,MAAO,6BAEHwN,GAAc,CAAExN,MAAO,eACvByN,GAAc,CAAEzN,MAAO,mBACvB0N,GAAc,CAAE1N,MAAO,kBACvB2N,GAA4B,GAAa,WAAmB,uCAAoB,OAAQ,CAAE3N,MAAO,eAAiB,cAAe,MACjI4N,GAAc,CAAE5N,MAAO,eACvB6N,GAAc,CAAE7N,MAAO,oBACvB8N,GAA4B,GAAa,WAAmB,uCAAoB,OAAQ,CAAE9N,MAAO,eAAiB,QAAS,MAC3H+N,GAAc,CAAE/N,MAAO,gBACvBgO,GAAc,CAAEhO,MAAO,qBACvBiO,GAAc,CAClBpT,IAAK,EACLmF,MAAO,eAEHkO,GAA4B,GAAa,WAAmB,uCAAoB,MAAO,CAC3FhO,IAAK,IACLF,MAAO,gBACN,MAAO,MACJmO,GAA2B,6BAAiB,QAC5CC,GAAc,CAClBF,GACAC,IAEIE,GAAc,CAAExT,IAAK,GACrByT,GAAc,CAAEtO,MAAO,oBACvBuO,GAAc,CAClB1T,IAAK,EACLmF,MAAO,oBAEHwO,GAAc,CAClB3T,IAAK,EACLmF,MAAO,WAEHyO,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAEzO,MAAO,wBAA0B,CAC/G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACE0O,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAE1O,MAAO,mBAAqB,CAC1G,6BAAiB,gBACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,YAC9D,MACE2O,GAA4B,GAAa,WAAmB,uCAAoB,IAAK,CAAE3O,MAAO,iBAAmB,CACxG,6BAAiB,UACjB,gCAAoB,SAAU,KAAM,oCACpC,6BAAiB,YACjB,gCAAoB,SAAU,KAAM,SAC/C,MACE4O,GAAc,CAClB/T,IAAK,EACLmF,MAAO,6BAEH6O,GAAc,CAAE7O,MAAO,eACvB8O,GAAc,CAAE9O,MAAO,mBACvB+O,GAAc,CAAE/O,MAAO,kBACvBgP,GAA4B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEhP,MAAO,eAAiB,eAAgB,MAClIiP,GAAc,CAAEjP,MAAO,eACvBkP,GAAc,CAAElP,MAAO,oBACvBmP,GAA4B,GAAa,WAAmB,uCAAoB,OAAQ,CAAEnP,MAAO,eAAiB,QAAS,MAC3HoP,GAAc,CAAEpP,MAAO,gBACvBqP,GAAc,CAAErP,MAAO,qBACvBsP,GAAc,CAClBzU,IAAK,EACLmF,MAAO,eAEHuP,GAA4B,GAAa,WAAmB,uCAAoB,MAAO,CAC3FrP,IAAK,IACLF,MAAO,gBACN,MAAO,MACJwP,GAA2B,6BAAiB,QAC5CC,GAAc,CAClBF,GACAC,IAEIE,GAAc,CAAE7U,IAAK,GACrB8U,GAAc,CAAE3P,MAAO,oBACvB4P,GAAc,CAAEnP,MAAO,CACrBoP,SAAU,WACVC,MAAO,EACPC,OAAQ,EACRhV,MAAO,OACPiV,UAAW,oBACXC,QAAS,YACTC,WAAY,OACZC,UAAW,QACXC,OAAQ,IAEVC,GAA2B,6BAAiB,MAE3C,SAAS,GAAOnP,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,IAAM+O,EAA8B,8BAAkB,oBAChDC,EAAwB,8BAAkB,cAC1C/O,EAAsB,8BAAkB,YACxCgP,EAAsB,8BAAkB,YAE9C,OAAQ,yBAAc,yBAAaA,EAAqB,CACtD1V,MAAO,WACP2V,UAAU,EACV/O,QAASR,EAAKqB,MACdxH,MAAO,MACP2V,QAASxP,EAAKyP,OACb,CACDrO,QAAS,sBAAS,WAAM,OACtB,gCAAoB,MAAO,EAAY,CACrC,gCAAoB,KAAM,EAAY,CACpC,gCAAoB,KAAM,KAAM,CAC9B,EACA,gCAAoB,OAAQ,EAAY,6BAAiBpB,EAAK+J,WAAW7N,OAAQ,KAEnF,gCAAoB,KAAM,KAAM,CAC9B,EACA,gCAAoB,OAAQ,EAAY,6BAAiB8D,EAAK+J,WAAWlP,OAAQ,KAEnF,gCAAoB,KAAM,KAAM,CAC9B,EACA,gCAAoB,OAAQ,EAAY,6BAAiBmF,EAAK+J,WAAW2F,WAAY,SAI3F,EACA,gCAAoB,MAAO,EAAa,CACrC1P,EAAc,WACV,yBAAc,gCAAoB,MAAO,EAAa,CACpDA,EAAK+J,WAAW3B,aAAepI,EAAK+J,WAAW4F,eAAiB3P,EAAK4P,iBAAiBC,WAClF,yBAAc,gCAAoB,MAAO,EAAa,KACtD7P,EAAK8P,wBAA0B9P,EAAK+J,WAAW3B,aAC7C,yBAAc,gCAAoB,MAAO,GAAa,CACrD,yBAAagH,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVC,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAKmQ,qBACpB,gBAAiBnQ,EAAKoQ,yBAAyB,CAAC,MAAO,MAAO,SAC7D,CACDhP,QAAS,sBAAS,WAAM,OACtB,GACA,GACA,OAEFc,EAAG,GACF,EAAG,CAAC,gBAAiB,sBAEzB,yBAAc,gCAAoB,MAAO,GAAa,CACrD,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,IAAK,GAAa,CACpC,GACA,gCAAoB,OAAQ,GAAa,6BAAiBlC,EAAK+J,WAAW3B,YAAc,MAAMpI,EAAK+J,WAAWlP,MAAK,OAASmF,EAAKqQ,iBAAkB,KAErJ,gCAAoB,MAAO,GAAa,CACtC,GACA,gCAAoB,MAAOhF,GAAa,CACtC,yBAAagE,EAAuB,CAClCiB,QAAStQ,EAAKuQ,eACdC,OAAQxQ,EAAKyQ,kBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAOnF,GAAa,CACX,WAA1BtL,EAAKyQ,kBAAwD,KAAvBzQ,EAAKuQ,gBACvC,yBAAc,gCAAoB,MAAOhF,GAAaG,MACtD,yBAAc,gCAAoB,MAAOC,GAAa,6BAA2C,WAA1B3L,EAAKyQ,iBAAmCzQ,EAAKuQ,eAAc,MAAQ,QAAS,MAE1J,gCAAoB,MAAO3E,GAAa,6BAAiB5L,EAAK0Q,iBAAkB,iBAOlG,gCAAoB,IAAI,GAC3B1Q,EAAc,WACV,yBAAc,gCAAoB,MAAO6L,GAAa,CACpD7L,EAAK+J,WAAW1B,aAAerI,EAAK+J,WAAW4F,eAAiB3P,EAAK4P,iBAAiBC,WAClF,yBAAc,gCAAoB,MAAO/D,GAAaE,KACtDhM,EAAK2Q,wBAA0B3Q,EAAK+J,WAAW1B,aAC7C,yBAAc,gCAAoB,MAAO4D,GAAa,CACrD,yBAAamD,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVa,OAAQ,GACRZ,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAK6Q,qBACpB,gBAAiB7Q,EAAKoQ,yBAAyB,CAAC,MAAO,MAAO,SAC7D,CACDhP,QAAS,sBAAS,WAAM,OACtB8K,GACAC,GACAC,OAEFlK,EAAG,GACF,EAAG,CAAC,gBAAiB,sBAEzB,yBAAc,gCAAoB,MAAOmK,GAAa,CACrD,gCAAoB,MAAOC,GAAa,CACtC,gCAAoB,MAAOC,GAAa,CACtC,gCAAoB,IAAKC,GAAa,CACpCC,GACA,gCAAoB,OAAQC,GAAa,6BAAiB1M,EAAK+J,WAAW1B,YAAc,MAAMrI,EAAK+J,WAAWlP,MAAK,OAASmF,EAAK8Q,iBAAkB,KAErJ,gCAAoB,MAAOnE,GAAa,CACtCC,GACA,gCAAoB,MAAOC,GAAa,CACtC,yBAAawC,EAAuB,CAClCiB,QAAStQ,EAAK+Q,eACdP,OAAQxQ,EAAKgR,kBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAOlE,GAAa,CACX,WAA1B9M,EAAKgR,kBAAwD,KAAvBhR,EAAK+Q,gBACvC,yBAAc,gCAAoB,MAAOhE,GAAaG,MACtD,yBAAc,gCAAoB,MAAOC,GAAa,6BAA2C,WAA1BnN,EAAKgR,iBAAmChR,EAAK+Q,eAAc,MAAQ,QAAS,MAE1J,gCAAoB,MAAO3D,GAAa,6BAAiBpN,EAAKiR,iBAAkB,iBAOlG,gCAAoB,IAAI,GAC3BjR,EAAoB,iBAChB,yBAAc,gCAAoB,MAAOqN,GAAa,CACpDrN,EAAKkR,8BAAgClR,EAAK+J,WAAWzB,mBACjD,yBAAc,gCAAoB,MAAOgF,GAAa,CACrD,yBAAa8B,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVa,OAAQ,GACRZ,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAKmR,2BACpB,gBAAiBnR,EAAKoQ,yBAAyB,CAAC,SAC/C,CACDhP,QAAS,sBAAS,WAAM,OACtBmM,GACAC,GACAC,OAEFvL,EAAG,GACF,EAAG,CAAC,gBAAiB,sBAEzB,yBAAc,gCAAoB,MAAOwL,GAAa,CACrD,gCAAoB,MAAOC,GAAa,CACtC,gCAAoB,MAAOC,GAAa,CACtC,gCAAoB,IAAKC,GAAa,CACpCC,GACA,gCAAoB,OAAQC,GAAa,6BAAiB/N,EAAK+J,WAAWzB,kBAAoB,MAAMtI,EAAK+J,WAAWlP,MAAK,OAASmF,EAAKoR,uBAAwB,KAEjK,gCAAoB,MAAOpD,GAAa,CACtCC,GACA,gCAAoB,MAAOC,GAAa,CACtC,yBAAamB,EAAuB,CAClCiB,QAAStQ,EAAKqR,qBACdb,OAAQxQ,EAAKsR,wBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAOnD,GAAa,CACL,WAAhCnO,EAAKsR,wBAAoE,KAA7BtR,EAAKqR,sBAC7C,yBAAc,gCAAoB,MAAOjD,GAAaG,MACtD,yBAAc,gCAAoB,MAAOC,GAAa,6BAAiD,WAAhCxO,EAAKsR,uBAAyCtR,EAAKqR,qBAAoB,MAAQ,QAAS,MAEtK,gCAAoB,MAAO5C,GAAa,6BAAiBzO,EAAKuR,uBAAwB,iBAOtG,gCAAoB,IAAI,KAE9B,gCAAoB,MAAO7C,GAAa,CACtC,yBAAapO,EAAqB,CAChC9C,KAAM,UACN2K,UAAWnI,EAAKwR,aAChBxP,QAAShC,EAAKyR,YACb,CACDrQ,QAAS,sBAAS,WAAM,OACtB+N,OAEFjN,EAAG,GACF,EAAG,CAAC,WAAY,kBAGvBA,EAAG,GACF,EAAG,CAAC,UAAW,Y,iBC7YPwP,GAAkB,SAACzX,GAC9B,YAD8B,IAAAA,MAAA,IACvB,gBAAU,wBAAyBA,IAuB/BqB,GAAmB,SAACN,EAAoBK,EAAcpB,GACjE,YAD+B,IAAAe,MAAA,SAAoB,IAAAK,MAAA,SAAc,IAAApB,MAAA,IAC1D,gBAAa,4CAA8CoB,EAASpB,EAAQe,IAGxEI,GAAmB,SAACJ,EAAoBK,EAAcpB,GACjE,YAD+B,IAAAe,MAAA,SAAoB,IAAAK,MAAA,SAAc,IAAApB,MAAA,IAC1D,gBAAa,4CAA8CoB,EAASpB,EAAQe,IAGxEO,GAAyB,SAACL,EAA0BG,EAAcpB,GAC7E,YADqC,IAAAiB,MAAA,SAA0B,IAAAG,MAAA,SAAc,IAAApB,MAAA,IACtE,gBAAa,kDAAoDoB,EAASpB,EAAQiB,IAG9ES,GAAoB,SAAC1B,GAChC,YADgC,IAAAA,MAAA,IACzB,gBAAS,4BAA6BA,IAGlCyB,GAAkB,SAACzB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,gBAAa,8BAA+BA,IAGxCuB,GAAmB,SAACH,GAC/B,YAD+B,IAAAA,MAAA,IACxB,gBAAa,qCAAuCA,IAGhDV,GAAoB,SAACC,EAAoBC,EAAYC,EAAiBb,GACjF,YADgC,IAAAW,MAAA,SAAoB,IAAAC,MAAA,SAAY,IAAAC,MAAA,SAAiB,IAAAb,MAAA,IAC1E,gBAAa,sCAAsCY,EAAK,eAAeC,EAAcb,EAAQW,IAGzFG,GAAoB,SAACC,EAAoBH,EAAYC,EAAiBb,GACjF,YADgC,IAAAe,MAAA,SAAoB,IAAAH,MAAA,SAAY,IAAAC,MAAA,SAAiB,IAAAb,MAAA,IAC1E,gBAAa,sCAAsCY,EAAK,eAAeC,EAAcb,EAAQe,IAGzFC,GAA0B,SAACC,EAA0BL,EAAYC,EAAiBb,GAC7F,YADsC,IAAAiB,MAAA,SAA0B,IAAAL,MAAA,SAAY,IAAAC,MAAA,SAAiB,IAAAb,MAAA,IACtF,gBAAa,4CAA4CY,EAAK,eAAeC,EAAcb,EAAQ,iCACrGiB,GAAmB,CACtBC,QAAS,CACP,eAAgB,cAaTwW,GAAc,SAAC1X,GAC1B,OAAO,gBAAS,yBAA0BA,IAG/B2X,GAAkB,SAACC,EAAkB5X,GAChD,YAD8B,IAAA4X,MAAA,SAAkB,IAAA5X,MAAA,IACzC,gBAAa,8BAA+BA,EAAQ4X,IAGhDC,GAAoB,SAAC7X,GAChC,YADgC,IAAAA,MAAA,IACzB,gBAAa,sBAAuBA,I,0BC7E9B,gCAAgB,CAC7B8X,WAAY,GACZlP,MAAO,CAAC,oBAAqB,kBAC7BP,MAAO,CACLqH,aAAc,CACZnM,KAAMgF,QACNpB,SAAS,GAEXwI,UAAW,CACTpM,KAAMgF,QACNpB,SAAS,GAEXyI,UAAW,CACTrM,KAAMgF,QACNpB,SAAS,GAEX0I,gBAAiB,CACftM,KAAMgF,QACNpB,SAAS,GAEX2I,WAAY,CACVvM,KAAMrE,OACNiI,QAAS,WAAM,YAGnB0B,MAAA,SAAMR,EAAOS,GAAb,WACQjI,EAAa,kBAAWyM,MAAMyK,KAAKC,aAAaC,WAEhD7Q,EAASiB,EAAcqH,aAGvBmG,EAAwB,kBAAa,GACrCqC,EAAkB,IAAIC,SACtB/B,EAAkB,iBAAY,IAC9BK,EAAkB,iBAAY,IAE9BC,EAAwB,kBAAa,GACrC0B,EAAkB,IAAID,SACtBtB,EAAkB,iBAAY,IAC9BG,EAAkB,iBAAY,IAE9BC,EAA8B,kBAAa,GAC3CoB,EAAwB,IAAIF,SAC5BhB,EAAwB,iBAAY,IACpCG,EAAwB,iBAAY,IAGpChB,EAAiB,iBAAY,GAC7BE,EAAmB,iBAAY,UAE/BM,EAAiB,iBAAY,GAC7BC,EAAmB,iBAAY,UAE/BK,EAAuB,iBAAY,GACnCC,EAAyB,iBAAY,UAErCiB,EAAmB,kBAAa,GAChCC,EAAmB,kBAAa,GAChCC,EAAY,kBAAa,GAEzBC,EAAuB,SAACpC,GAC5B,MAAO,CACLqC,iBAAkB,SAACC,GACjB,GAAIA,EAAcC,iBAAkB,CAClC,IAAMC,EAAaF,EAAcG,OAASH,EAAclK,MAAS,IAAO,EACxE4H,EAAQjN,MAAQyP,MAMlBlY,EAAgB8X,EAAqBnC,GACrCvV,EAAgB0X,EAAqB3B,GACrC7V,EAAsBwX,EAAqBrB,GAE3C2B,EAAkB,sBAAS,IAC3BC,EAAkB,sBAAS,IAE3BvQ,EAAY,sBAAS,IACrBwQ,EAAc,sBAAS,CAC3B5R,WAAY,GACZK,QAAS,GACTwR,YAAY,IAGR1D,EAAQ,WACZ1M,EAAQW,KAAK,oBAAqB,CAAEiG,cAAc,KAG9CyG,EAA2B,SAACgD,GAChC,IAAMC,EAAgB,CACpBC,IAAK,SAACC,GAAc,MAAK,MAA6B,UAApB,QAAT,EAAAA,EAAK/J,YAAI,eAAEgK,MAAM,KAAK,KAA+B,eAAdD,EAAK/V,MACrEiW,IAAK,SAACF,GAAmB,MAAc,oBAAdA,EAAK/V,MAC9BkW,IAAK,SAACH,GAAmB,OAAAA,EAAK/J,MAAQ+J,EAAK/J,KAAK1F,QAAQ,SAAW,IAG/D6P,EAAe,SAACJ,EAAgBK,GACpC,OAAO,IAAIC,SAAQ,SAACC,EAASC,G,QACrB9Z,EAAS,sBAAS,CACtBqH,WAAY,GACZK,QAAS,GACTwR,YAAY,IAGVa,GAAgB,E,IACpB,IAAuB,qBAAAZ,GAAS,8BAAE,CAA7B,IAAMa,EAAQ,QACjB,GAAIZ,EAAcY,GAAUV,GAAO,CACjCS,GAAgB,EAChB,Q,iGAGJ,GAAIA,EASF,OARA/Z,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,aAAayR,EAAUc,KAAK,KAAI,WACjDja,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,IAENqR,GAAO,GAGhB,IAAMK,EAASb,EAAKc,KAAO,KAAO,KAAO,EACzC,IAAKD,EASH,OARAna,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,eACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,IAENqR,GAAO,GAEhB,IAAMO,EAAaV,EAASxa,OAC5B,OAAIkb,EAAa,GACfra,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,eACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,IAENqR,GAAO,IAETD,GAAQ,OAGnB,OAAOH,GAGHY,EAAuB,SAC3BC,EACAC,EACAC,EACA5B,GAEA,OAAO,SAAC6B,GACNH,EAASI,OAAO,OAAQD,EAAOpB,MAC/BkB,EAASpR,MAAQsR,EAAOpB,KAAK/J,KAC7BkL,EAASrR,OAASsR,EAAOpB,KAAKc,KAAO,KAAO,MAAMQ,QAAQ,GAAK,KAC/D/B,EAASzP,OAAQ,IAIf8M,EAAuBoE,EAC3BpC,EACA9B,EACAK,EACAZ,GAEIe,EAAuB0D,EAC3BlC,EACAvB,EACAG,EACAN,GAEIQ,EAA6BoD,EACjCjC,EACAlB,EACAG,EACAL,GAGI4D,EAAgB,6D,qEACpB,OAAIxS,EAAMyH,WAAW3B,YACnB,IAEU,GAAMzN,GAAkBC,EAAe0H,EAAMyH,WAAWlP,MAAOC,EAAYqX,I,OACvF,GADM4C,EAAM,SACK,MAAbA,EAAIC,KAEN,MADAvE,EAAiBpN,MAAQ,YACnB0R,E,kBAGJE,EAAgB,6D,uEACpB,GAAI3S,EAAMyH,WAAW1B,YACnB,U,iBAGY,O,sBAAA,GAAMtN,GAAkBC,EAAesH,EAAMyH,WAAWlP,MAAOC,EAAYuX,I,OACvF,GADM0C,EAAM,SACK,MAAbA,EAAIC,KACN,MAAMD,E,mBAIR,M,WADA/D,EAAiB3N,MAAQ,YACnB,E,yBAGJ6R,EAAsB,6D,uEAC1B,IAAK5S,EAAMyH,WAAWzB,oBAAsBgK,EAAsB6C,IAAI,QACpE,U,iBAGY,O,sBAAA,GAAMla,GAChBC,EACAoH,EAAMyH,WAAWlP,MACjBC,EACAwX,I,OAEF,GANMyC,EAAM,SAMK,MAAbA,EAAIC,KACN,MAAMD,E,mBAIR,M,WADAzD,EAAuBjO,MAAQ,YACzB,E,yBAIJoO,EAAa,6D,kGAEXnP,EAAMsH,UAAW,GAAMkL,KAAvB,M,OAAiB,S,wBACjBxS,EAAMuH,UAAW,GAAMoL,KAAvB,M,OAAiB,S,wBACjB3S,EAAMwH,gBAAiB,GAAMoL,KAA7B,M,OAAuB,S,wBAC3BhC,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,QACtBuR,EAAYC,YAAa,EACzBV,EAAUpP,OAAQ,EAClBoM,I,+BAEAyD,EAAYvR,QAAU,EAAEyT,SAAW,OACnClC,EAAY5R,WAAa,QACzB4R,EAAYC,YAAa,EACzBV,EAAUpP,OAAQ,E,oBAGpBlK,OAAOgb,OAAOzR,EAAWwQ,GACzBnQ,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,I,YAIT8O,EAAe,uBAAS,WAE5B,QAAIlP,EAAMsH,YACHtH,EAAMyH,WAAW3B,aAAe0H,EAAsBzM,WAKzDf,EAAMuH,YACHvH,EAAMyH,WAAW1B,aAAesI,EAAsBtN,UAM3Df,EAAMsH,WACNkG,EAAsBzM,OACtBf,EAAMuH,WACN8G,EAAsBtN,OACtBf,EAAMwH,iBACNoH,EAA4B7N,WAOhC,MAAO,CACLhC,MAAK,EACLoO,MAAK,EACLW,yBAAwB,EACxBN,sBAAqB,EACrBa,sBAAqB,EACrBO,4BAA2B,EAC3BO,WAAU,EACVqD,cAAa,EACbG,cAAa,EACb9E,qBAAoB,EACpBU,qBAAoB,EACpBM,2BAA0B,EAC1BZ,eAAc,EACdQ,eAAc,EACdM,qBAAoB,EACpBzW,cAAa,EACbI,cAAa,EACbyV,iBAAgB,EAChBO,iBAAgB,EAChBM,uBAAsB,EACtBiB,iBAAgB,EAChBC,iBAAgB,EAChBC,UAAS,EACT/P,UAAS,EACTsQ,gBAAe,EACfC,gBAAe,EACfC,YAAW,EACX7C,gBAAe,EACfK,gBAAe,EACfI,gBAAe,EACfG,gBAAe,EACfG,sBAAqB,EACrBG,sBAAqB,EACrB3B,iBAAgB,QAChB4B,aAAY,M,8CC1TlB,MAAMpN,GAA2B,KAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAE1E,U,wBCJT,GAAe,SAAAE,GAAK,OAAC,yBAAa,mBAAmBA,EAAEA,IAAI,0BAAcA,GACzE,GAAa,CAAExF,MAAO,aACtB,GAAa,CAAEA,MAAO,oBACtB,GAAa,CACjBnF,IAAK,EACLmF,MAAO,WAEH,GAA2B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,wBAA0B,CAC9G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACE,GAA2B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,mBAAqB,CACzG,6BAAiB,eACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,YAC9D,MACE,GAAa,CACjBnF,IAAK,EACLmF,MAAO,6BAEH,GAAa,CAAEA,MAAO,eACtB,GAAa,CAAEA,MAAO,mBACtB,GAAa,CAAEA,MAAO,oBACtB,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,KACLC,IAAK,GACLH,MAAO,aACN,MAAO,MACJ,GAAc,CAAEA,MAAO,gBACvB,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,qBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,eAEH,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,IACLF,MAAO,gBACN,MAAO,MACJ,GAA2B,6BAAiB,QAC5C,GAAc,CAClB,GACA,IAEI,GAAc,CAAEnF,IAAK,GACrB,GAAc,CAAEmF,MAAO,oBACvB,GAAc,CAAEA,MAAO,oBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,WAEH,GAA4B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,wBAA0B,CAC/G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACE,GAA4B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,mBAAqB,CAC1G,6BAAiB,gBACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,YAC9D,MACE,GAAc,CAClBnF,IAAK,EACLmF,MAAO,6BAEH,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,mBACvB,GAAc,CAAEA,MAAO,oBACvB,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,KACLC,IAAK,GACLH,MAAO,aACN,MAAO,MACJ,GAAc,CAAEA,MAAO,gBACvB,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,qBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,eAEH,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,IACLF,MAAO,gBACN,MAAO,MACJ,GAA2B,6BAAiB,QAC5C,GAAc,CAClB,GACA,IAEI,GAAc,CAAEnF,IAAK,GACrB,GAAc,CAAEmF,MAAO,oBACvB,GAAc,CAAEA,MAAO,oBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,WAEH,GAA4B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,wBAA0B,CAC/G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACE,GAA4B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,mBAAqB,CAC1G,6BAAiB,iBACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,YAC9D,MACE,GAA4B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,iBAAmB,CACxG,6BAAiB,SACjB,gCAAoB,SAAU,KAAM,oCACpC,6BAAiB,YACjB,gCAAoB,SAAU,KAAM,SAC/C,MACE,GAAc,CAClBnF,IAAK,EACLmF,MAAO,6BAEH,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,mBACvB,GAAc,CAAEA,MAAO,oBACvB,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,KACLC,IAAK,GACLH,MAAO,aACN,MAAO,MACJ,GAAc,CAAEA,MAAO,gBACvB,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,qBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,eAEH,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,IACLF,MAAO,gBACN,MAAO,MACJ,GAA2B,6BAAiB,QAC5C,GAAc,CAClB,GACA,IAEI,GAAc,CAAEnF,IAAK,GACrB,GAAc,CAAEmF,MAAO,oBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,aAEH,GAAc,CAAEA,MAAO,UACvB,GAAc,CAAEA,MAAO,WACvB,GAA2B,6BAAiB,QAC5C,GAAc,CAAEA,MAAO,SACvB,GAA2B,6BAAiB,MAC5C,GAAc,CAAEA,MAAO,UACvB,GAAc,CAAEA,MAAO,iBACvB,GAAc,CAAES,MAAO,CACboP,SAAU,WACVC,MAAO,EACPC,OAAQ,EACRhV,MAAO,OACPiV,UAAW,oBACXC,QAAS,YACTC,WAAY,OACZC,UAAW,QACXC,OAAQ,IAElB,GAA2B,6BAAiB,MAC5C,GAA2B,6BAAiB,QAC5C,GAA2B,6BAAiB,UAE3C,SAAS,GAAOlP,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,IAAM+O,EAA8B,8BAAkB,oBAChDC,EAAwB,8BAAkB,cAC1CgG,EAAwB,8BAAkB,cAC1CC,EAAoB,8BAAkB,UACtC3P,EAAqB,8BAAkB,WACvCC,EAA0B,8BAAkB,gBAC5CtF,EAAsB,8BAAkB,YACxCgP,EAAsB,8BAAkB,YAE9C,OAAQ,yBAAc,yBAAaA,EAAqB,CACtD1V,MAAO,OACP2V,UAAU,EACV/O,QAASR,EAAKqB,MACdxH,MAAO,SACPgH,UAAW,CAAE0U,WAAY,OACzB/F,QAASxP,EAAKyP,OACb,CACDrO,QAAS,sBAAS,WAAM,OACtB,yBAAakU,EAAmB,CAC9BE,UAAWxV,EAAKyV,WAChBjO,SAAUxH,EAAK0V,WACd,CACDtU,QAAS,sBAAS,WAAM,OACtB,yBAAaiU,EAAuB,CAClCM,IAAK,SACLhc,IAAK,IACLwO,SAAUnI,EAAK4V,iBACd,CACDxU,QAAS,sBAAS,WAAM,OACtB,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,MAAO,GAAY,CACpCpB,EAA0B,uBACtB,yBAAc,gCAAoB,MAAO,GAAY,CACpD,yBAAaoP,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVC,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAKmQ,qBACpB,gBAAiBnQ,EAAK2T,cACrB,CACDvS,QAAS,sBAAS,WAAM,OACtB,GACA,OAEFc,EAAG,GACF,EAAG,CAAC,gBAAiB,qBAE1B,gCAAoB,IAAI,KAE5BlC,EAAK8P,sBAuBH,gCAAoB,IAAI,IAtBvB,yBAAc,gCAAoB,MAAO,GAAY,CACpD,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,MAAO,GAAY,CACrC,GACA,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,6BAAiB9P,EAAK6V,YAAa,GAC3E,yBAAaxG,EAAuB,CAClCiB,QAAStQ,EAAKuQ,eACdC,OAAQxQ,EAAKyQ,kBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAO,GAAa,CACd,KAAvBzQ,EAAKuQ,gBACD,yBAAc,gCAAoB,MAAO,GAAa,MACtD,yBAAc,gCAAoB,MAAO,GAAa,6BAAiBvQ,EAAK8V,gBAAiB,MAEpG,gCAAoB,MAAO,GAAa,6BAAiB9V,EAAK0Q,iBAAkB,oBASlGxO,EAAG,GACF,EAAG,CAAC,aACP,yBAAamT,EAAuB,CAClCM,IAAK,UACLhc,IAAK,IACLwO,SAAUnI,EAAK+V,iBACd,CACD3U,QAAS,sBAAS,WAAM,OACtB,gCAAoB,MAAO,GAAa,CACrCpB,EAA0B,uBACtB,yBAAc,gCAAoB,MAAO,GAAa,CACrD,yBAAaoP,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVa,OAAQ,GACRZ,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAK6Q,qBACpB,gBAAiB7Q,EAAK2T,cACrB,CACDvS,QAAS,sBAAS,WAAM,OACtB,GACA,OAEFc,EAAG,GACF,EAAG,CAAC,gBAAiB,qBAE1B,gCAAoB,IAAI,KAE5BlC,EAAK2Q,sBAuBH,gCAAoB,IAAI,IAtBvB,yBAAc,gCAAoB,MAAO,GAAa,CACrD,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,CACtC,GACA,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,6BAAiB3Q,EAAKgW,YAAa,GAC3E,yBAAa3G,EAAuB,CAClCiB,QAAStQ,EAAK+Q,eACdP,OAAQxQ,EAAKgR,kBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAO,GAAa,CACd,KAAvBhR,EAAK+Q,gBACD,yBAAc,gCAAoB,MAAO,GAAa,MACtD,yBAAc,gCAAoB,MAAO,GAAa,6BAAiB/Q,EAAKiW,gBAAiB,MAEpG,gCAAoB,MAAO,GAAa,6BAAiBjW,EAAKiR,iBAAkB,kBAQhG/O,EAAG,GACF,EAAG,CAAC,aACP,yBAAamT,EAAuB,CAClCM,IAAK,WACLhc,IAAK,IACLwO,SAAUnI,EAAKkW,uBACd,CACD9U,QAAS,sBAAS,WAAM,OACtB,gCAAoB,MAAO,GAAa,CACrCpB,EAAgC,6BAC5B,yBAAc,gCAAoB,MAAO,GAAa,CACrD,yBAAaoP,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVa,OAAQ,GACRZ,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAKmR,2BACpB,gBAAiBnR,EAAK2T,cACrB,CACDvS,QAAS,sBAAS,WAAM,OACtB,GACA,GACA,OAEFc,EAAG,GACF,EAAG,CAAC,gBAAiB,qBAE1B,gCAAoB,IAAI,KAE5BlC,EAAKkR,4BAuBH,gCAAoB,IAAI,IAtBvB,yBAAc,gCAAoB,MAAO,GAAa,CACrD,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,CACtC,GACA,gCAAoB,MAAO,GAAa,CACtC,gCAAoB,MAAO,GAAa,6BAAiBlR,EAAKmW,kBAAmB,GACjF,yBAAa9G,EAAuB,CAClCiB,QAAStQ,EAAKqR,qBACdb,OAAQxQ,EAAKsR,wBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAO,GAAa,CACR,KAA7BtR,EAAKqR,sBACD,yBAAc,gCAAoB,MAAO,GAAa,MACtD,yBAAc,gCAAoB,MAAO,GAAa,6BAAiBrR,EAAKoW,sBAAuB,MAE1G,gCAAoB,MAAO,GAAa,6BAAiBpW,EAAKuR,uBAAwB,kBAQtGrP,EAAG,GACF,EAAG,CAAC,iBAETA,EAAG,GACF,EAAG,CAAC,YAAa,aACnBlC,EAAe,YACX,yBAAc,gCAAoB,MAAO,GAAa,CACrD,gCAAoB,IAAK,GAAa,CACpC,6BAAiB,UAAY,6BAAiBA,EAAKkG,WAAWmQ,YAAc,OAAQ,GACpF,gCAAoB,OAAQ,GAAa,6BAAiBrW,EAAKkG,WAAWoQ,cAAe,GACzF,GACA,gCAAoB,OAAQ,GAAa,6BAAiBtW,EAAKkG,WAAWqQ,aAAc,GACxF,KAEF,gCAAoB,MAAO,GAAa,CACtC,yBAAa5Q,EAAoB,CAC/B0B,OACQ,SAACW,EAAQnG,GACL,OAAOmG,EAAOnN,MAAQgH,EAAM2U,YAGxCtP,QAASlH,EAAKkH,QACdC,YAAY,EACZjB,WAAYlG,EAAKkG,WAAWuQ,aAAa9U,QACzCoG,aACQ,SAACC,EAAQnG,GACL,OAAAA,EAAQ,IAAM,EAAI,gBAAkB,OAE/C,CACDhH,MAAO,sBAAS,SAAC,G,IAAE6b,EAAI,OAAO,OAC5B,gCAAoB,OAAQ,KAAM,6BAAiBA,GAAO,OAE5DjC,SAAU,sBAAS,SAAC,G,IAAEiC,EAAI,OAAO,OAC/B,gCAAoB,OAAQ,KAAM,6BAAiBA,GAAO,OAE5DC,WAAY,sBAAS,SAAC,G,IAAED,EAAI,OAAO,OACjC,gCAAoB,OAAQ,CAC1B5X,MAAO,4BAAgB,CAAE8X,MAAOF,EAAK5S,QAAQ,OAAS,KACrD,6BAAiB4S,GAAO,OAE7BxU,EAAG,GACF,EAAG,CAAC,SAAU,UAAW,aAAc,mBAE5C,gCAAoB,MAAO,GAAa,CACtC,yBAAa0D,EAAyB,CACpC8C,MAAO1I,EAAKkG,WAAWmQ,WACvB,oBAAqB,GACrB,aAAc,SAAC3N,GAAU,WAAKA,EAAK,MACnClB,SAAUxH,EAAK2I,WACfC,iBAAkB5I,EAAK6I,WACvBC,SAAU9I,EAAKqU,KACf,oBAAqBpU,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAS,KAAIqG,IAC/E0C,gBAAiB,CAAC,KAAM,KAAM,KAAM,KAAM,OACzC,CACDC,gBAAiB,sBAAS,SAAC1G,GAAU,OACnC,gCAAoB,OAAQ,KAAM,6BAAiBA,EAAMe,OAAS,MAAO,OAE3EnB,EAAG,GACF,EAAG,CAAC,QAAS,aAAc,WAAY,mBAAoB,kBAGlE,gCAAoB,IAAI,GAC5B,gCAAoB,MAAO,GAAa,CACrClC,EAAKyI,WAAazI,EAAK6W,YACnB,yBAAc,yBAAavW,EAAqB,CAC/C3G,IAAK,EACL6D,KAAM,UACN2K,SAAUnI,EAAK8W,YACf9U,QAAShC,EAAKyR,YACb,CACDrQ,QAAS,sBAAS,WAAM,OACtB,OAEFc,EAAG,GACF,EAAG,CAAC,WAAY,aACnB,gCAAoB,IAAI,GAC3BlC,EAAe,YACX,yBAAc,yBAAaM,EAAqB,CAC/C3G,IAAK,EACLmF,MAAO,OACPkD,QAAShC,EAAK+W,YACb,CACD3V,QAAS,sBAAS,WAAM,OACtB,OAEFc,EAAG,GACF,EAAG,CAAC,aACP,gCAAoB,IAAI,GAC3BlC,EAAe,YACX,yBAAc,yBAAaM,EAAqB,CAC/C3G,IAAK,EACL6D,KAAM,UACNwE,QAAShC,EAAKgX,mBACb,CACD5V,QAAS,sBAAS,WAAM,OACtB,OAEFc,EAAG,GACF,EAAG,CAAC,aACP,gCAAoB,IAAI,SAGhCA,EAAG,GACF,EAAG,CAAC,UAAW,Y,sDCncdgF,GAAU,CACZ,CACItN,MAAO,MACPF,UAAW,QACXC,IAAK,QACLE,MAAO,KAEX,CACID,MAAO,MACPF,UAAW,WACXC,IAAK,WACLE,MAAO,KAEX,CACID,MAAO,OACPF,UAAW,aACXC,IAAK,aACLE,MAAO,IACPod,MAAO,CAAEC,aAAc,gBAGhB,gCAAgB,CAC3BnF,WAAY,GACZlP,MAAO,CAAC,sBAAuB,kBAC/BP,MAAO,CACHgI,eAAgB,CACZ9M,KAAMgF,QACNC,UAAU,EACVrB,SAAS,GAEbgJ,UAAW,CACP5M,KAAMgF,QACNC,UAAU,EACVrB,SAAS,GAEbiJ,gBAAiB,CACb7M,KAAMgF,QACNC,UAAU,EACVrB,SAAS,GAEbmJ,eAAgB,CACZ/M,KAAMhE,OACNiJ,UAAU,EACVrB,QAAS,MAGjB0B,MAAA,SAAMR,EAAOS,GAAb,WACU1B,EAASiB,EAAcgI,eACvBmL,EAAa,iBAAY,IAC/BA,EAAWpS,MAASf,EAAciI,eAElC,IAAMqL,EAAkB,kBAAa,GAC/BG,EAAkB,kBAAa,GAC/BG,EAAwB,kBAAa,GAC3CH,EAAgB1S,MAASf,EAAc8H,UACvC8L,EAAsB7S,MAASf,EAAc+H,gBAE7C,IAAMyF,EAAwB,kBAAa,GACrCqC,EAAkB,IAAIC,SACtB+E,EAAc,iBAAI,IAClBC,EAAe,iBAAY,GAC3B1G,EAAkB,iBAAY,IAC9BC,EAAwB,kBAAa,GACrC0B,EAAkB,IAAID,SACtBiF,EAAc,iBAAI,IAClBC,EAAe,iBAAY,GAC3BrG,EAAkB,iBAAY,IAC9BC,EAA8B,kBAAa,GAC3CoB,EAAwB,IAAIF,SAC5BmF,EAAoB,iBAAI,IACxBC,EAAqB,iBAAY,GACjCjG,EAAwB,iBAAY,IAEpChB,EAAiB,iBAAY,GAC7BQ,EAAiB,iBAAY,GAC7BM,EAAuB,iBAAY,GACnCoG,EAAiB,iBAAY,GAC7BC,EAAiB,iBAAY,GAC7BC,EAAuB,iBAAY,GACnC7B,EAAiB,iBAAY,OAC7BrF,EAAmB,iBAAY,UAC/BwF,EAAiB,iBAAY,OAC7BjF,EAAmB,iBAAY,UAC/BoF,EAAuB,iBAAY,OACnC9E,EAAyB,iBAAY,UACrCiB,EAAmB,kBAAa,GAChCC,EAAmB,kBAAa,GAChCoF,EAAyB,kBAAa,GACtCC,EAAa,iBAAY,GAEzBjd,EAAgB,CAClB+X,iBAAkB,SAACC,GACf,GAAIA,EAAcC,iBAAkB,CAChC,IAAMC,EACAF,EAAcG,OAASH,EAAclK,MAAS,IAChD,EACJ6H,EAAelN,MAAQyP,EACvBgD,EAAezS,MACXvJ,KAAKge,MACAlF,EAAcG,OAASH,EAAclK,MAClC+O,EAAepU,OAEvB,IACAoU,EAAepU,MACf,IACAyP,EACA,UAKV9X,EAAgB,CAClB2X,iBAAkB,SAACC,GACf,GAAIA,EAAcC,iBAAkB,CAChC,IAAMC,EACAF,EAAcG,OAASH,EAAclK,MAAS,IAChD,EACJqI,EAAe1N,MAAQyP,EACvBmD,EAAe5S,MACXvJ,KAAKge,MACAlF,EAAcG,OAASH,EAAclK,MAClCgP,EAAerU,OAEvB,IACAqU,EAAerU,MACf,IACAyP,EACA,UAKV5X,EAAsB,CACxByX,iBAAkB,SAACC,GACf,GAAIA,EAAcC,iBAAkB,CAChC,IAAMC,EACAF,EAAcG,OAASH,EAAclK,MAAS,IAChD,EACJ2I,EAAqBhO,MAAQyP,EAC7BsD,EAAqB/S,MACjBvJ,KAAKge,MACAlF,EAAcG,OAASH,EAAclK,MAClCiP,EAAqBtU,OAE7B,IACAsU,EAAqBtU,MACrB,IACAyP,EACA,UAIVgE,EAAc,kBAAa,GAC3BiB,EAAkB,iBAAI,IACtBC,EAAkB,iBAAI,IACtBC,EAAwB,iBAAI,IAE5BvV,EAAY,sBAAS,IACrBwQ,EAAc,sBAAS,CACzB5R,WAAY,GACZK,QAAS,GACTwR,YAAY,IAEV0C,EAAa,iBAAY,QACzBG,EAAa,iBAAY,QACzBG,EAAmB,iBAAY,QAC/B1N,EAAW,kBAAa,GACxBvC,GAAa,iBAAI,CACnBuQ,aAAc,CACV9U,QAAS,MAGXkV,GAAa,kBAAa,GAC1BqB,GAAU,iBAAY,GACtB7D,GAAO,iBAAY,IACnB8D,GAAkB,iBAAY,GAC9BC,GAAkB,iBAAY,GAC9BC,GAAwB,iBAAY,GACpCC,GAAoB,iBAAY,GAChCC,GAAoB,iBAAY,GAChCC,GAA0B,iBAAY,GACtCC,GAAa,iBAAY,mBACzBC,GAAa,iBAAY,mBACzBC,GAAmB,iBAAY,mBAC/BC,GAAc,kBAAa,GAC3BC,GAAQ,iBAAY,GACpBC,GAAS,kBAAa,GAGtBrJ,GAAQ,WACVoI,EAAWxU,MAAQ,EACGF,eAAeC,QAAQ,mBAC7C2V,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,EACiB,GAA3BiV,GAAkBjV,OAAyC,GAA3BkV,GAAkBlV,OAA+C,GAAjCmV,GAAwBnV,OACzD,GAA3BiV,GAAkBjV,QACbkP,EAAiBlP,OAAUuV,GAAYvV,OAexCF,eAAeU,QAAQ,qBAAsB,IAC7Cd,EAAQW,KAAK,sBAAuB,CAChC4G,gBAAgB,MAhBpB4I,EAAY5R,WAAa,UACzB4R,EAAYvR,QACR,mCACJuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,GACzB/P,eAAeU,QACX,qBACA4U,GAAWpV,OAEfN,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,MASQ,GAA3B6V,GAAkBlV,QACbmP,EAAiBnP,OAAUuV,GAAYvV,OAexCF,eAAeU,QAAQ,qBAAsB,IAC7Cd,EAAQW,KAAK,sBAAuB,CAChC4G,gBAAgB,MAhBpB4I,EAAY5R,WAAa,UACzB4R,EAAYvR,QACR,mCACJuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,GACzB/P,eAAeU,QACX,qBACA6U,GAAWrV,OAEfN,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,MASc,GAAjC8V,GAAwBnV,QACnBuU,EAAuBvU,OAAUuV,GAAYvV,OAe9CF,eAAeU,QAAQ,2BAA4B,IACnDd,EAAQW,KAAK,sBAAuB,CAChC4G,gBAAgB,MAhBpB4I,EAAY5R,WAAa,UACzB4R,EAAYvR,QACR,mCACJuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,GACzB/P,eAAeU,QACX,2BACA8U,GAAiBtV,OAErBN,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,OAUvBK,EAAQW,KAAK,sBAAuB,CAAE4G,gBAAgB,KAKxD0O,GAAuB,SAAO3d,GAAe,kD,qEAM/C,OALMpB,EAAS,CACXoB,QAASA,EACT6c,QAASA,GAAQ7U,MACjBgR,KAAMA,GAAKhR,OAEf,GAAM1H,GAAkB,CAAE1B,OAAM,IAAIgf,MAAK,SAAClE,GACtC7O,GAAW7C,MAAQ0R,M,cADvB,S,YAKEmE,GAAW,SAAO1b,EAAcnC,GAAe,kD,+EAC3CpB,EAAS,CACXoB,QAASA,GAEbwb,GAAWxT,OAAQ,EACnB6C,GAAW7C,MAAQ,CACfoT,aAAc,CACV9U,QAAS,K,iBAID,O,uBAAA,GAAMjG,GAAgB,CAAEzB,OAAM,K,cAApC8a,EAAM,SACK,MAAbA,EAAIC,KAAJ,OACY,WAARxX,GACAiT,EAAiBpN,MAAQ,YACzByS,EAAezS,MAAQ,QACR,WAAR7F,GACPwT,EAAiB3N,MAAQ,YACzB4S,EAAe5S,MAAQ,SAEvBiO,EAAuBjO,MAAQ,YAC/B+S,EAAqB/S,MAAQ,QAEjC0V,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,EACd6P,EAAYvR,QAAUoT,EAAIK,Q,qBAEpB+D,EAAapE,EAAIhc,KAAKmf,QACtBkB,EAAWrE,EAAIhc,KAAK2P,MACpB2Q,EAAeF,EAAaC,EAAY,IAAO,EACzC,WAAR5b,GACAiT,EAAiBpN,MAAQ,SACzBkN,EAAelN,MAAQgW,EACvBvD,EAAezS,MACX8V,EACA,IACAC,EACA,IACA7I,EAAelN,MACf,QACW,WAAR7F,GACPwT,EAAiB3N,MAAQ,SACzB0N,EAAe1N,MAAQgW,EACvBpD,EAAe5S,MACX8V,EACA,IACAC,EACA,IACArI,EAAe1N,MACf,SAEJiO,EAAuBjO,MAAQ,SAC/BgO,EAAqBhO,MAAQgW,EAC7BjD,EAAqB/S,MACjB8V,EACA,IACAC,EACA,IACA/H,EAAqBhO,MACrB,QAEW,IAAf8V,GAAoBA,GAAcC,EAAlC,OACAN,GAAOzV,OAAQ,EACf0V,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,EACRiW,EAAc,iBAAI,IACA,KAApB7D,EAAWpS,MAEXiW,EAAYjW,MAAQ,UACO,KAApBoS,EAAWpS,MAElBiW,EAAYjW,MAAQ,UAEpBiW,EAAYjW,MAAQ,gBAEpB7F,IAAS8b,EAAYjW,MAArB,OACAwT,GAAWxT,OAAQ,EACnB6C,GAAW7C,MAAQ,CACfoT,aAAc,CACV9U,QAAS,K,eAIjB,SAAMqX,GAAqB3d,I,OAA3B,SACAwb,GAAWxT,OAAQ,E,oCAGL,KAAdgW,IACAnG,EAAYvR,QAAU,S,qDAKtB,WAARnE,GACAiT,EAAiBpN,MAAQ,YACzByS,EAAezS,MAAQ,QACR,WAAR7F,GACPwT,EAAiB3N,MAAQ,YACzB4S,EAAe5S,MAAQ,SAEvBiO,EAAuBjO,MAAQ,YAC/B+S,EAAqB/S,MAAQ,QAEjC0V,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,EACd6P,EAAYvR,QAAU,O,iCAKxB4X,GAAU,6D,yGAEZR,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,EACdwT,GAAWxT,OAAQ,EACnB6C,GAAW7C,MAAQ,CACfoT,aAAc,CACV9U,QAAS,KAIX6X,EAAqBrW,eAAeC,QACtC,sBAEEqW,EAAqBtW,eAAeC,QACtC,sBAEEsW,EAA2BvW,eAAeC,QAC5C,4BAEEuW,EAAmBxW,eAAeC,QACpC,yBAEEwW,EAAmBzW,eAAeC,QACpC,yBAEEyW,EAAyB1W,eAAeC,QAC1C,+BAEE0W,EAAyB3W,eAAeC,QAC1C,4BAEE2W,EAAyB5W,eAAeC,QAC1C,4BAEE4W,EAA+B7W,eAAeC,QAChD,kCAEoB,KAApBqS,EAAWpS,MAAX,MACImW,EACIG,EACA,IADA,MADJ,M,cAIUM,EAAiB3W,KAAKC,MAAMiW,GAC9BM,GAEAhK,EAAsBzM,OAAQ,EAC9BwS,EAAWxS,MAAQ,OACnBoF,EAASpF,OAAQ,EACjBqN,EAAgBrN,MAAQ,GACxBoV,GAAWpV,MAAQ4W,EAAexB,WAClC,GAAMS,GAAS,UAAWT,GAAWpV,SAPrC,M,cAOA,SACKyV,GAAOzV,MAKRyV,GAAOzV,OAAQ,EAJfwV,GAAMxV,MAAQ6W,aAAY,6D,+DACtB,SAAMhB,GAAS,UAAWT,GAAWpV,Q,cAArC,S,aACD,K,aAKPyM,EAAsBzM,OAAQ,EAC9BwS,EAAWxS,MAAQ,OACnBoF,EAASpF,OAAQ,EACjBkN,EAAelN,MAAQ,EACvByS,EAAezS,MACX,KACA4W,EAAexC,eACf,SACJ/G,EAAgBrN,MAAQ,G,2CAIT,KAApBoS,EAAWpS,MAAX,OACHoW,EACIG,EACA,IADA,MADJ,M,cAIUO,EAAiB7W,KAAKC,MAAMkW,GAC9BM,GAEApJ,EAAsBtN,OAAQ,EAC9B2S,EAAW3S,MAAQ,OACnBoF,EAASpF,OAAQ,EACjB4N,EAAgB5N,MAAQ,GACxBqV,GAAWrV,MAAQ8W,EAAezB,WAClC,GAAMQ,GAAS,UAAWR,GAAWrV,SAPrC,M,cAOA,SACKyV,GAAOzV,MAKRyV,GAAOzV,OAAQ,EAJfwV,GAAMxV,MAAQ6W,aAAY,6D,+DACtB,SAAMhB,GAAS,UAAWR,GAAWrV,Q,cAArC,S,aACD,K,aAKPsN,EAAsBtN,OAAQ,EAC9B2S,EAAW3S,MAAQ,OACnBoF,EAASpF,OAAQ,EACjB0N,EAAe1N,MAAQ,EACvB4S,EAAe5S,MACX,KACA8W,EAAezC,eACf,SACJzG,EAAgB5N,MAAQ,G,6CAKhCqW,EACIG,EACA,IADA,OADJ,O,eAIUO,EAAuB9W,KAAKC,MAAMmW,GACpCM,GAEA9I,EAA4B7N,OAAQ,EACpC8S,EAAiB9S,MAAQ,OACzBoF,EAASpF,OAAQ,EACjBkO,EAAsBlO,MAAQ,GAC9BsV,GAAiBtV,MAAQ+W,EAAqBzB,iBAC9C,GAAMO,GAAS,gBAAiBP,GAAiBtV,SAPjD,O,eAOA,SACKyV,GAAOzV,MAKRyV,GAAOzV,OAAQ,EAJfwV,GAAMxV,MAAQ6W,aAAY,6D,+DACtB,SAAMhB,GAAS,gBAAiBP,GAAiBtV,Q,cAAjD,S,aACD,K,eAKP6N,EAA4B7N,OAAQ,EACpC8S,EAAiB9S,MAAQ,OACzBoF,EAASpF,OAAQ,EACjBgO,EAAqBhO,MAAQ,EAC7B+S,EAAqB/S,MACjB,KACA+W,EAAqBzC,qBACrB,SACJpG,EAAsBlO,MAAQ,G,qCAOlDkW,KAGA,IAAM7D,GAAY,SAACF,GAWf,GATAuD,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,EACdoS,EAAWpS,MAAQmS,EACnBqB,GAAWxT,OAAQ,EACnB6C,GAAW7C,MAAQ,CACfoT,aAAc,CACV9U,QAAS,KAGA,KAAb6T,EAAkB,CACd2B,EAAY9T,MAAMjK,OAAS,EAC3B0d,EAAYzT,OAAQ,EAEpByT,EAAYzT,OAAQ,EAExB,IAAMgX,EAAmBlX,eAAeC,QACpC,sBAGAqF,EAASpF,OADTgX,EAKJ,IAAMP,EAAyB3W,eAAeC,QAC1C,4BAEJ,GAAI0W,EAAwB,CAKxB,GAJAhK,EAAsBzM,OAAQ,EAC9BwS,EAAWxS,MAAQ,OACnBoF,EAASpF,OAAQ,EACjBkN,EAAelN,MAAQ,EACnBgX,EAAkB,CAClB,IAAMJ,EAAiB3W,KAAKC,MAAM8W,GAClCvE,EAAezS,MACX,KAAO4W,EAAexC,eAAiB,SAE/C/G,EAAgBrN,MAAQ,SAEzB,GAAiB,KAAbmS,EAAkB,CACrB6B,EAAYhU,MAAMjK,OAAS,EAC3B0d,EAAYzT,OAAQ,EAEpByT,EAAYzT,OAAQ,EAExB,IAAMiX,EAAmBnX,eAAeC,QACpC,sBAGAqF,EAASpF,OADTiX,EAKJ,IAAMP,EAAyB5W,eAAeC,QAC1C,4BAEJ,GAAI2W,EAAwB,CAKxB,GAJApJ,EAAsBtN,OAAQ,EAC9B2S,EAAW3S,MAAQ,OACnBoF,EAASpF,OAAQ,EACjB0N,EAAe1N,MAAQ,EACnBiX,EAAkB,CAClB,IAAMH,EAAiB7W,KAAKC,MAAM+W,GAClCrE,EAAe5S,MACX,KAAO8W,EAAezC,eAAiB,SAE/CzG,EAAgB5N,MAAQ,QAEzB,CACCkU,EAAkBlU,MAAMjK,OAAS,EACjC0d,EAAYzT,OAAQ,EAEpByT,EAAYzT,OAAQ,EAExB,IAAMkX,EAAyBpX,eAAeC,QAC1C,4BAGAqF,EAASpF,OADTkX,EAKJ,IAAMP,EAA+B7W,eAAeC,QAChD,kCAEJ,GAAI4W,EAA8B,CAK9B,GAJA9I,EAA4B7N,OAAQ,EACpC8S,EAAiB9S,MAAQ,OACzBoF,EAASpF,OAAQ,EACjBgO,EAAqBhO,MAAQ,EACzBkX,EAAwB,CACxB,IAAMH,EAAuB9W,KAAKC,MAAMgX,GACxCnE,EAAqB/S,MACjB,KAAO+W,EAAqBzC,qBAAuB,SAE3DpG,EAAsBlO,MAAQ,IAGtCkW,MAIE5F,GAAe,SAACJ,EAAgBK,GAClC,OAAO,IAAIC,SAAQ,SAACC,EAASC,G,QACnB9Z,EAAS,sBAAS,CACpBqH,WAAY,GACZK,QAAS,GACTwR,YAAY,IAEVqH,EAC2B,UAApB,QAAT,EAAAjH,EAAK/J,YAAI,eAAEgK,MAAM,KAAK,IACpBiH,EAAsB,eAAdlH,EAAK/V,KACbkd,EAAsB,oBAAdnH,EAAK/V,KACbmd,GAA0B,QAAlB,EAACpH,EAAa/J,YAAI,eAAE1F,QAAQ,UAAW,EAErD,GAA0B,MAArB2R,EAAWpS,QAAkBqX,GAAgC,MAArBjF,EAAWpS,SAAmBoX,GAASD,KAAYE,IAAUC,EAetG,OAdA1gB,EAAOqH,WAAa,QACpBrH,EAAO0H,QACH,cAAkC,MAArB8T,EAAWpS,MAAgB,MAAQ,eAAa,WACjEpJ,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,IAES,KAApB+S,EAAWpS,MACX+T,EAAa/T,MAAQ,EAErBiU,EAAajU,MAAQ,EAElB0Q,GAAO,GAGlB,IAAMK,EAASb,EAAKc,KAAO,KAAO,KAAO,EACzC,IAAKD,EAcD,OAbAna,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,eACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,IAES,KAApB+S,EAAWpS,MACX+T,EAAa/T,MAAQ,EAErBiU,EAAajU,MAAQ,EAElB0Q,GAAO,GAGlB,IAAMO,EAAaV,EAASxa,OAY5B,OAAIkb,EAAa,KACbra,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,eACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,IAES,KAApB+S,EAAWpS,MACX+T,EAAa/T,MAAQ,EACM,KAApBoS,EAAWpS,MAClBiU,EAAajU,MAAQ,EAErBmU,EAAmBnU,MAAQ,EAExB0Q,GAAO,KAGM,KAApB0B,EAAWpS,OACX8T,EAAY9T,MAAQuQ,EACpBmE,EAAgB1U,MAAQuQ,GAEG,KAApB6B,EAAWpS,OAClBgU,EAAYhU,MAAQuQ,EACpBoE,EAAgB3U,MAAQuQ,IAGxB2D,EAAkBlU,MAAQuQ,EAC1BqE,EAAsB5U,MAAQuQ,GAE3BE,GAAQ,QAKjB3D,GAAuB,SAACwE,GAC1B,GAA2B,IAAvByC,EAAa/T,MAAa,CAC1B,IAAM,EAAO,iBAAY,GACV,sBAAS,CACpB/B,WAAY,GACZK,QAAS,GACTwR,YAAY,IAEhBgE,EAAY9T,MAAMhK,SAAQ,SAACuhB,EAAU/Y,GACjC,EAAKwB,MAAQ,EAAKA,MAAQuX,EAAIvG,QAElCoD,EAAepU,MAAQ8T,EAAY9T,MAAMjK,OACzC0c,EAAezS,MACX,KAAOoU,EAAepU,MAAQ,SAClCqN,EAAgBrN,OACX,EAAKA,MAAQ,KAAO,MAAMwR,QAAQ,GAAK,KAC5C/E,EAAsBzM,OAAQ,EAC9ByT,EAAYzT,OAAQ,IAKtBwN,GAAuB,SAAC8D,GAC1B,GAA2B,IAAvB2C,EAAajU,MAAa,CAC1B,IAAM,EAAO,iBAAY,GACV,sBAAS,CACpB/B,WAAY,GACZK,QAAS,GACTwR,YAAY,IAEhBkE,EAAYhU,MAAMhK,SAAQ,SAACuhB,EAAU/Y,GACjC,EAAKwB,MAAQ,EAAKA,MAAQuX,EAAIvG,QAElCqD,EAAerU,MAAQgU,EAAYhU,MAAMjK,OACzC6c,EAAe5S,MACX,KAAOqU,EAAerU,MAAQ,SAClC4N,EAAgB5N,OACX,EAAKA,MAAQ,KAAO,MAAMwR,QAAQ,GAAK,KAC5ClE,EAAsBtN,OAAQ,EAC9ByT,EAAYzT,OAAQ,IAItB8N,GAA6B,SAACwD,GAChC,GAAiC,IAA7B6C,EAAmBnU,MAAa,CAChC,IAAM,EAAO,iBAAY,GACV,sBAAS,CACpB/B,WAAY,GACZK,QAAS,GACTwR,YAAY,IAEhBoE,EAAkBlU,MAAMhK,SAAQ,SAACuhB,EAAU/Y,GACvC,EAAKwB,MAAQ,EAAKA,MAAQuX,EAAIvG,QAElCsD,EAAqBtU,MAAQkU,EAAkBlU,MAAMjK,OACrDgd,EAAqB/S,MACjB,KAAOsU,EAAqBtU,MAAQ,SACxCkO,EAAsBlO,OACjB,EAAKA,MAAQ,KAAO,MAAMwR,QAAQ,GAAK,KAC5C3D,EAA4B7N,OAAQ,EACpCyT,EAAYzT,OAAQ,IAItBwX,GAAe,6D,qEAED,O,sBAAA,GAAMzf,GACdR,EACA6d,GAAWpV,MACX8O,I,cAHE4C,EAAM,SAMK,MAAbA,EAAIC,MACJzC,EAAiBlP,OAAQ,EACzBoN,EAAiBpN,MAAQ,YACzByS,EAAezS,MAAQ,OACvBuV,GAAYvV,OAAQ,EACpB6P,EAAYvR,QAAUoT,EAAIK,UAE1BlC,EAAYvR,QACR,qDACJ8O,EAAiBpN,MAAQ,SACzBkP,EAAiBlP,OAAQ,G,6BAG7BkP,EAAiBlP,OAAQ,EACzBuV,GAAYvV,OAAQ,EACpBoN,EAAiBpN,MAAQ,YACzByS,EAAezS,MAAQ,OACvB6P,EAAYvR,QAAU,O,+BAIxBmZ,GAAe,6D,qEAED,O,sBAAA,GAAMxf,GACdN,EACA0d,GAAWrV,MACXgP,I,cAHE0C,EAAM,SAMK,MAAbA,EAAIC,MACJxC,EAAiBnP,OAAQ,EACzB2N,EAAiB3N,MAAQ,YACzB4S,EAAe5S,MAAQ,OACvBuV,GAAYvV,OAAQ,EACpB6P,EAAYvR,QAAUoT,EAAIK,UAE1BlC,EAAYvR,QACR,qDACJqP,EAAiB3N,MAAQ,SACzBmP,EAAiBnP,OAAQ,G,6BAG7BmP,EAAiBnP,OAAQ,EACzBuV,GAAYvV,OAAQ,EACpB2N,EAAiB3N,MAAQ,YACzB4S,EAAe5S,MAAQ,OACvB6P,EAAYvR,QAAU,O,+BAIxBoZ,GAAqB,6D,qEAEP,O,sBAAA,GAAMxf,GACdL,EACAyd,GAAiBtV,MACjBiP,I,cAHEyC,EAAM,SAMK,MAAbA,EAAIC,MACJ4C,EAAuBvU,OAAQ,EAC/BiO,EAAuBjO,MAAQ,YAC/B+S,EAAqB/S,MAAQ,OAC7BuV,GAAYvV,OAAQ,EACpB6P,EAAYvR,QAAUoT,EAAIK,UAE1BlC,EAAYvR,QACR,qDACJ2P,EAAuBjO,MAAQ,SAC/BuU,EAAuBvU,OAAQ,G,6BAGnCuU,EAAuBvU,OAAQ,EAC/BuV,GAAYvV,OAAQ,EACpBiO,EAAuBjO,MAAQ,YAC/B+S,EAAqB/S,MAAQ,OAC7B6P,EAAYvR,QAAU,O,+BAIxBqJ,GAAe,SAACgQ,GAClB,IAAMC,EAAeD,EAAMpX,SACvBqX,IAC8B,aAA1BxK,EAAiBpN,QACjByM,EAAsBzM,OAAQ,EAC9ByT,EAAYzT,OAAQ,EACpBoN,EAAiBpN,MAAQ,SACzBkN,EAAelN,MAAQ,EACvB0U,EAAgB1U,MAAQ,GACxB8O,EAAgB+I,OAAO,UAEG,aAA1BlK,EAAiB3N,QACjBsN,EAAsBtN,OAAQ,EAC9ByT,EAAYzT,OAAQ,EACpB2N,EAAiB3N,MAAQ,SACzB0N,EAAe1N,MAAQ,EACvB2U,EAAgB3U,MAAQ,GACxBgP,EAAgB6I,OAAO,YAK7BC,GAAe,SAACH,GAClB,IAAMI,EAAaJ,EAAMpX,SACrBwX,IACwB,KAApB3F,EAAWpS,MACX+T,EAAa/T,MAAQ,EACM,KAApBoS,EAAWpS,MAClBiU,EAAajU,MAAQ,EAErBmU,EAAmBnU,MAAQ,IAKjCgY,GAAc,6D,yDACQ,KAApB5F,EAAWpS,OACX0S,EAAgB1S,OAAQ,EAExBwV,GAAMxV,MAAQ6W,aAAY,6D,+DACtB,SAAMhB,GAAS,UAAWT,GAAWpV,Q,cAArC,S,aACD,KACHF,eAAeU,QAAQ,2BAA4B,YACxB,KAApB4R,EAAWpS,OAClBuS,EAAgBvS,OAAQ,EAExBwV,GAAMxV,MAAQ6W,aAAY,6D,+DACtB,SAAMhB,GAAS,UAAWR,GAAWrV,Q,cAArC,S,aACD,KACHF,eAAeU,QAAQ,2BAA4B,aAEnDqS,EAAsB7S,OAAQ,EAE9BwV,GAAMxV,MAAQ6W,aAAY,6D,+DACtB,SAAMhB,GAAS,gBAAiBP,GAAiBtV,Q,cAAjD,S,aACD,KACHF,eAAeU,QAAQ,iCAAkC,kB,WAI3D4N,GAAa,6D,wFACfqF,EAAYzT,OAAQ,EACI,KAApBoS,EAAWpS,MAAX,OACA0S,EAAgB1S,OAAQ,EACxB6S,EAAsB7S,OAAQ,EAE9BF,eAAeU,QAAQ,wBAAyB,IAChDV,eAAeU,QAAQ,2BAA4B,IACnDyU,GAAkBjV,MAAQ,EAEzB0U,EAAwB1U,MAAMhK,SAC3B,SAACuhB,EAAU/Y,GACPsQ,EAAgByC,OAAO,QAASgG,MAGxCnK,EAAiBpN,MAAQ,SACzB,GAAMwX,O,cAAN,SAEItI,EAAiBlP,OACjB6P,EAAY5R,WAAa,UACzB4R,EAAYC,YAAa,EACzBzC,EAAgBrN,MAAQ,GAElB4W,EAAiB,sBAAS,CAC5BqB,YAAavD,EACbxF,kBAAkB,EAClBkF,eAAgBA,EAChB/G,gBAAiBA,EACjB+H,WAAYA,KAEhB3B,EAAYzT,OAAQ,EAEdsW,EAAmBxW,eAAeC,QACpC,yBAEAuW,EACAxW,eAAeU,QAAQ,qBAAsB,IAE7CV,eAAeU,QACX,qBACAP,KAAKiY,UAAUtB,IAIvBoB,OAEAnI,EAAY5R,WAAa,QACzB4R,EAAYC,YAAa,EACzBhQ,eAAeU,QAAQ,qBAAsB,KAEjDkS,EAAgB1S,MAASf,EAAc8H,YAAa,EACpD8L,EAAsB7S,MAASf,EAAc+H,kBAAmB,E,mBACpC,KAApBoL,EAAWpS,MAAZ,OACPuS,EAAgBvS,OAAQ,EACxB6S,EAAsB7S,OAAQ,EAC9B2N,EAAiB3N,MAAQ,SAEzBF,eAAeU,QAAQ,wBAAyB,IAChDV,eAAeU,QAAQ,2BAA4B,IACnD0U,GAAkBlV,MAAQ,EAEzB2U,EAAwB3U,MAAMhK,SAC3B,SAACuhB,EAAU/Y,GACPwQ,EAAgBuC,OAAO,QAASgG,MAGxC,GAAME,O,cAAN,SAEItI,EAAiBnP,OACjB6P,EAAY5R,WAAa,UACzB4R,EAAYC,YAAa,EACzBlC,EAAgB5N,MAAQ,GAElB8W,EAAiB,sBAAS,CAC5BqB,YAAaxD,EACbxF,kBAAkB,EAClBkF,eAAgBA,EAChBzG,gBAAiBA,EACjByH,WAAYA,KAEhB5B,EAAYzT,OAAQ,EAEduW,EAAmBzW,eAAeC,QACpC,yBAEAwW,EACAzW,eAAeU,QAAQ,qBAAsB,IAE7CV,eAAeU,QACX,qBACAP,KAAKiY,UAAUpB,IAIvBkB,OAEAnI,EAAY5R,WAAa,QACzB4R,EAAYC,YAAa,EACzBhQ,eAAeU,QAAQ,qBAAsB,KAEjD+R,EAAgBvS,OAAQ,EACxB6S,EAAsB7S,MAASf,EAAc+H,kBAAmB,E,aAehE,OAbAuL,EAAgBvS,OAAQ,EACxB0S,EAAgB1S,OAAQ,EACxBiO,EAAuBjO,MAAQ,SAE/BF,eAAeU,QAAQ,8BAA+B,IACtDV,eAAeU,QAAQ,iCAAkC,IACzD2U,GAAwBnV,MAAQ,EAE/B4U,EAA8B5U,MAAMhK,SACjC,SAACuhB,EAAU/Y,GACPyQ,EAAsBsC,OAAO,QAASgG,MAG9C,GAAMG,M,OAAN,SAEInD,EAAuBvU,OACvB6P,EAAY5R,WAAa,UACzB4R,EAAYC,YAAa,EACzB5B,EAAsBlO,MAAQ,GAExB+W,EAAuB,sBAAS,CAClCqB,kBAAmBxD,EACnBL,wBAAwB,EACxBD,qBAAoB,EACpBpG,sBAAqB,EACrBoH,iBAAgB,KAEpB7B,EAAYzT,OAAQ,EAEdwW,EAAyB1W,eAAeC,QAC1C,+BAEAyW,EACA1W,eAAeU,QAAQ,2BAA4B,IAEnDV,eAAeU,QACX,2BACAP,KAAKiY,UAAUnB,IAIvBiB,OAEAnI,EAAY5R,WAAa,QACzB4R,EAAYC,YAAa,EACzBhQ,eAAeU,QAAQ,2BAA4B,KAEvD+R,EAAgBvS,OAAQ,EACxB0S,EAAgB1S,MAASf,EAAc8H,YAAa,E,wBAGlDsR,EAAgBvY,eAAeC,QAAQ,mBACrB,GAApByU,EAAWxU,OAAgC,SAAlBqY,GACzBviB,OAAOgb,OAAOzR,EAAWwQ,GACzBnQ,EAAQW,KAAK,iBAAkB,CAC3BnB,cAAc,EACdG,UAAWA,KAGfmV,EAAWxU,MAAQ,EAEvBkW,K,YAGE5Q,GAAa,SAACgT,EAAc7S,GAC9BoP,GAAQ7U,MAAQsY,EAAO,EAAIA,EAAO,EAClCtH,GAAKhR,MAAQyF,EACW,KAApB2M,EAAWpS,MACX2V,GAAqBP,GAAWpV,OACL,KAApBoS,EAAWpS,MAClB2V,GAAqBN,GAAWrV,OAEhC2V,GAAqBL,GAAiBtV,QAGxCwF,GAAa,SAAC8S,EAAc7S,GAC9BoP,GAAQ7U,MAAQsY,EAAO,EAAIA,EAAO,EAClCtH,GAAKhR,MAAQyF,EACW,KAApB2M,EAAWpS,MACX2V,GAAqBP,GAAWpV,OACL,KAApBoS,EAAWpS,MAClB2V,GAAqBN,GAAWrV,OAEhC2V,GAAqBL,GAAiBtV,QAIxC0T,GAAa,WACS,KAApBtB,EAAWpS,OACXyM,EAAsBzM,OAAQ,EAC9BwS,EAAWxS,MAAQ,OACnBF,eAAeU,QAAQ,qBAAsB,IAC7CV,eAAeU,QAAQ,2BAA4B,IACnD0M,EAAelN,MAAQ,EACvBoV,GAAWpV,MAAQ,kBACnB8U,GAAgB9U,MAAQ,EACxB8O,EAAgB+I,OAAO,UACI,KAApBzF,EAAWpS,OAClBsN,EAAsBtN,OAAQ,EAC9B2S,EAAW3S,MAAQ,OACnB0N,EAAe1N,MAAQ,EACvBqV,GAAWrV,MAAQ,kBACnB+U,GAAgB/U,MAAQ,EACxBgP,EAAgB6I,OAAO,SACvB/X,eAAeU,QAAQ,qBAAsB,IAC7CV,eAAeU,QAAQ,2BAA4B,MAEnDqN,EAA4B7N,OAAQ,EACpC8S,EAAiB9S,MAAQ,OACzBgO,EAAqBhO,MAAQ,EAC7BsV,GAAiBtV,MAAQ,kBACzBgV,GAAsBhV,MAAQ,EAC9BiP,EAAsB4I,OAAO,SAC7B/X,eAAeU,QAAQ,2BAA4B,IACnDV,eAAeU,QAAQ,iCAAkC,KAE7DgT,GAAWxT,OAAQ,EACnB6C,GAAW7C,MAAQ,CACfoT,aAAc,CACV9U,QAAS,KAGjB8G,EAASpF,OAAQ,EACjByT,EAAYzT,OAAQ,GAGlB2T,GAAoB,WAEtB,IAAM3b,EAAU,iBAAY,IACJ,KAApBoa,EAAWpS,MACXhI,EAAQgI,MAAQoV,GAAWpV,MACA,KAApBoS,EAAWpS,MAClBhI,EAAQgI,MAAQqV,GAAWrV,MAE3BhI,EAAQgI,MAAQsV,GAAiBtV,MAErC,IAAMpJ,EAAS,CACX2hB,IACI,wDACAvgB,EAAQgI,MACZwY,OAAQ,OACR5hB,OAAQ,GACRwa,SAAa,KAAO,IAAIqH,MAAQpV,OAAO,kBAAiB,SAE5D,OAAAqV,GAAA,MAAa9hB,EAAQ,0CAQzB,OALA,4BAAc,WACV8e,cAAcF,GAAMxV,OACpBwV,GAAMxV,MAAQ,KAGX,CACHoS,WAAU,EACVpU,MAAK,EACLoO,MAAK,GACLkE,aAAY,GACZ7D,sBAAqB,EACrBa,sBAAqB,EACrBO,4BAA2B,EAC3BO,WAAU,GACVoJ,aAAY,GACZC,aAAY,GACZ3K,qBAAoB,GACpBU,qBAAoB,GACpBM,2BAA0B,GAC1BgG,YAAW,EACXE,YAAW,EACX9G,eAAc,EACdQ,eAAc,EACdM,qBAAoB,EACpBzW,cAAa,EACbI,cAAa,EACbyV,iBAAgB,EAChBO,iBAAgB,EAChBM,uBAAsB,EACtBwE,eAAc,EACdG,eAAc,EACdG,qBAAoB,EACpBU,YAAW,EACXvE,iBAAgB,EAChBC,iBAAgB,EAChB9P,UAAS,EACTgT,UAAS,GACT0B,aAAY,EACZE,aAAY,EACZ5G,gBAAe,EACfO,gBAAe,EACfM,sBAAqB,EACrBkG,eAAc,EACdC,eAAc,EACdC,qBAAoB,EACpBI,gBAAe,EACfC,gBAAe,EACfH,WAAU,EACV3E,YAAW,EACXqG,QAAO,GACP1D,WAAU,EACVG,WAAU,EACVG,iBAAgB,EAChBkF,YAAW,GACX5S,SAAQ,EACRoO,WAAU,GACV3P,QAAO,GACPgR,QAAO,GACP7D,KAAI,GACJ1L,WAAU,GACVE,WAAU,GACV3C,WAAU,GACViS,gBAAe,GACfC,gBAAe,GACfE,kBAAiB,GACjBC,kBAAiB,GACjBvB,kBAAiB,GACjBD,WAAU,GACV/L,aAAY,GACZmQ,aAAY,GACZjC,SAAQ,GACRL,MAAK,GACLG,qBAAoB,GACpBpD,gBAAe,EACfG,gBAAe,EACfG,sBAAqB,EACrB4C,OAAM,O,oBC5vClB,MAAM,GAA2B,KAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAE1E,U,wBCJT,GAAe,SAAAxU,GAAK,OAAC,yBAAa,mBAAmBA,EAAEA,IAAI,0BAAcA,GACzE,GAA2B,IAAa,WAAmB,uCAAoB,MAAO,CAAExF,MAAO,SAAW,CACjG,gCAAoB,MAAO,CACtCE,IAAK,KACLF,MAAO,SAEI,gCAAoB,SAAU,CAAEA,MAAO,cAAgB,YAClE,MACE,GAAa,CAAEA,MAAO,aACtB,GAAa,CAAEA,MAAO,kBACtB,GAAa,CACjBnF,IAAK,EACLmF,MAAO,WAEH,GAA2B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,wBAA0B,CAC9G,gCAAoB,MAAO,CACtCE,IAAK,IACLF,MAAO,iBAEP,MACE,GAA2B,IAAa,WAAmB,uCAAoB,IAAK,CAAEA,MAAO,mBAAqB,CACzG,6BAAiB,cACjB,gCAAoB,OAAQ,CAAEA,MAAO,YAAc,UAC9D,MACE,GAAa,CACjBnF,IAAK,EACLmF,MAAO,6BAEH,GAAa,CAAEA,MAAO,eACtB,GAAa,CAAEA,MAAO,mBACtB,GAAc,CAAEA,MAAO,kBACvB,GAA4B,IAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,eAAiB,WAAY,MAC9H,GAAc,CAAEA,MAAO,eACvB,GAAc,CAAEA,MAAO,oBACvB,GAA4B,IAAa,WAAmB,uCAAoB,OAAQ,CAAEA,MAAO,eAAiB,QAAS,MAC3H,GAAc,CAAEA,MAAO,gBACvB,GAAc,CAAEA,MAAO,qBACvB,GAAc,CAClBnF,IAAK,EACLmF,MAAO,eAEH,GAA4B,IAAa,WAAmB,uCAAoB,MAAO,CAC3FE,IAAK,IACLF,MAAO,gBACN,MAAO,MACJ,GAA2B,6BAAiB,QAC5C,GAAc,CAClB,GACA,IAEI,GAAc,CAAEnF,IAAK,GACrB,GAAc,CAAEmF,MAAO,oBACvB,GAAc,CAAEA,MAAO,aACvB,GAA4B,IAAa,WAAmB,uCAAoB,QAAS,KAAM,QAAS,MACxG,GAAc,CAAES,MAAO,CACrBoP,SAAU,WACVC,MAAO,EACPC,OAAQ,EACRhV,MAAO,OACPkV,QAAS,YACTC,WAAY,OACZC,UAAW,QACXC,OAAQ,IAEV,GAA2B,6BAAiB,MAE3C,SAAS,GAAOlP,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,IAAM+O,EAA8B,8BAAkB,oBAChDC,EAAwB,8BAAkB,cAC1C7J,EAA6B,8BAAkB,mBAC/CC,EAAsB,8BAAkB,YACxCH,EAAqB,8BAAkB,WACvChF,EAAsB,8BAAkB,YACxCC,EAAqB,8BAAkB,WAE7C,OAAQ,yBAAc,yBAAaA,EAAoB,CACrDgP,UAAU,EACV/O,QAASR,EAAKqB,MACdV,SAAU,GACV9G,MAAO,MACPqH,SAAUlB,EAAKyP,OACd,CACDrO,QAAS,sBAAS,WAAM,OACtB,GACA,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,MAAO,GAAY,CACpCpB,EAAwB,qBACpB,yBAAc,gCAAoB,MAAO,GAAY,CACpD,yBAAaoP,EAA6B,CACxC5F,KAAM,OACNuG,UAAU,EACVC,SAAU,eACVC,gBAAgB,EAChBC,cAAelQ,EAAKgc,mBACpB,gBAAiBhc,EAAK2T,cACrB,CACDvS,QAAS,sBAAS,WAAM,OACtB,GACA,OAEFc,EAAG,GACF,EAAG,CAAC,gBAAiB,qBAE1B,gCAAoB,IAAI,KAE5BlC,EAAKic,oBA0BH,gCAAoB,IAAI,IAzBvB,yBAAc,gCAAoB,MAAO,GAAY,CACpD,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,IAAK,GAAa,CACpC,GACA,gCAAoB,OAAQ,GAAa,6BAAiBjc,EAAKkc,eAAgB,KAEjF,gCAAoB,MAAO,GAAa,CACtC,GACA,gCAAoB,MAAO,GAAa,CACtC,yBAAa7M,EAAuB,CAClCiB,QAAStQ,EAAKmc,aACd3L,OAAQxQ,EAAKoc,gBACZ,KAAM,EAAG,CAAC,UAAW,WACxB,gCAAoB,MAAO,GAAa,CAChB,KAArBpc,EAAKmc,cACD,yBAAc,gCAAoB,MAAO,GAAa,MACtD,yBAAc,gCAAoB,MAAO,GAAa,6BAAiBnc,EAAKqc,cAAe,MAElG,gCAAoB,MAAO,GAAa,6BAAiBrc,EAAKsc,eAAgB,gBAQ9F,gCAAoB,MAAO,GAAa,CACtC,yBAAahX,EAAoB,CAC/Ba,UAAW,WACXrH,MAAO,eACN,CACDsC,QAAS,sBAAS,WAAM,OACtB,GACA,yBAAaqE,EAAqB,CAChCpC,MAAOrD,EAAKuc,QACZ,iBAAkBtc,EAAO,KAAOA,EAAO,GAAK,SAACoG,GAAgB,OAAErG,EAAY,QAAIqG,IAC/E9G,MAAO,CAAC,MAAQ,SAChBgF,IAAK,SACL+B,YAAa,MACbM,WAAY,IACX,CACDxF,QAAS,sBAAS,WAAM,QACrB,wBAAW,GAAO,gCAAoB,cAAW,KAAM,wBAAYpB,EAAKwc,mBAAmB,SAACljB,GAC3F,OAAQ,yBAAc,yBAAakM,EAA4B,CAC7D7L,IAAKL,EAAKmjB,MACVpZ,MAAO/J,EAAKmjB,OACX,CACDrb,QAAS,sBAAS,WAAM,OACtB,6BAAiB,6BAAiB9H,EAAKojB,OAAQ,OAEjDxa,EAAG,GACF,KAAM,CAAC,aACR,UAENA,EAAG,GACF,EAAG,CAAC,cAETA,EAAG,MAGP,gCAAoB,MAAO,GAAa,CACtC,yBAAa5B,EAAqB,CAChC9C,KAAM,UACNwE,QAAShC,EAAKyR,YACb,CACDrQ,QAAS,sBAAS,WAAM,OACtB,OAEFc,EAAG,GACF,EAAG,CAAC,kBAGXA,EAAG,GACF,EAAG,CAAC,UAAW,a,8BClLL,gCAAgB,CAC7B6P,WAAY,GACZlP,MAAO,CAAC,sBAAuB,kBAC/BP,MAAO,CACLoI,eAAgB,CACdlN,KAAMgF,QACNC,UAAU,EACVrB,SAAS,GAEXuJ,OAAQ,CACNnN,KAAMa,MACNoE,UAAU,EACVrB,QAAO,WACL,MAAO,KAGXwJ,MAAO,CACLpN,KAAMhE,OACNiJ,UAAU,EACVrB,QAAS,KAGb0B,MAAA,SAAMR,EAAOS,GAAb,WAEQ1B,EAASiB,EAAcoI,eACvBiS,EAAWra,EAAcqI,OACzBiS,EAAe,kBAAa,GAG5BX,EAAsB,kBAAa,GACnCY,EAAgB,IAAIzK,SACpB8J,EAAgB,iBAAY,IAC5BI,EAAgB,iBAAY,IAC5BQ,EAAY,iBAAY,IAExBX,EAAe,iBAAY,GAC3BE,EAAe,iBAAY,QAC3BD,EAAiB,iBAAY,UAC7BW,EAAiB,kBAAa,GAC9BlL,EAAc,CAClBc,iBAAkB,SAACC,GACjB,GAAIA,EAAcC,iBAAkB,CAClC,IAAMC,EAAaF,EAAcG,OAASH,EAAclK,MAAS,IAAO,EACxEyT,EAAa9Y,MAAQyP,EACrBuJ,EAAahZ,MAAQyP,EAAW,SAIhCkK,EAAgB,sBAAS,IAEzBta,EAAY,sBAAS,IACrBwQ,EAAc,sBAAS,CAC3B5R,WAAY,GACZK,QAAS,GACTwR,YAAY,IAERoJ,EAAU,iBAAY,IAEtB9M,EAAQ,WACZ1M,EAAQW,KAAK,sBAAuB,CAAEiG,cAAc,KAGhDgK,EAAe,SAACJ,EAAgBK,GACpC,OAAO,IAAIC,SAAQ,SAACC,EAASC,GAC3B,IAAM9Z,EAAS,sBAAS,CACtBqH,WAAY,GACZK,QAAS,GACTwR,YAAY,IAERuH,EAAsB,oBAAdnH,EAAK/V,KACnB,IAAKkd,EAUH,OATAzgB,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,wBACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,IAEb0Z,EAAe/Y,MAAQ,YAChB0Q,GAAO,GAEhB,IAAMK,EAASb,EAAKc,KAAO,KAAO,KAAO,EACzC,IAAKD,EAUH,OATAna,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,eACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,IAEb0Z,EAAe/Y,MAAQ,YAChB0Q,GAAO,GAEhB,IAAMO,EAAaV,EAASxa,OAC5B,OAAIkb,EAAa,GACfra,EAAOqH,WAAa,QACpBrH,EAAO0H,QAAU,UACjB1H,EAAOkZ,YAAa,EACpBha,OAAOgb,OAAOzR,EAAWzI,GACzB8I,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,IAEb0Z,EAAe/Y,MAAQ,YAChB0Q,GAAO,IAETD,GAAQ,OAIbkI,EAAqB,SAACrH,GAC1BkI,EAAcjI,OAAO,OAAQD,EAAOpB,MACpC2I,EAAc7Y,MAAQsR,EAAOpB,KAAK/J,KAClCsT,EAAUzZ,MAAQsR,EAAOpB,KAAK/J,KAC9B8S,EAAcjZ,OAASsR,EAAOpB,KAAKc,KAAO,KAAO,MAAMQ,QAAQ,GAAK,KACpEoH,EAAoB5Y,OAAQ,GAGxB2H,EAAe,SAACgQ,GACpB,IAAMC,EAAeD,EAAMpX,SACvBqX,GAC0B,aAAxBmB,EAAe/Y,QACjB4Y,EAAoB5Y,OAAQ,EAC5B+Y,EAAe/Y,MAAQ,SACvB8Y,EAAa9Y,MAAQ,EACrBwZ,EAAc3B,OAAO,WAKrB+B,EAAc,6D,qEAEJ,O,sBAAA,GAAMrL,GAAgBC,EAAagL,I,cAAzC9H,EAAM,SACK,MAAbA,EAAIC,MACN+H,EAAe1Z,OAAQ,EACvB+Y,EAAe/Y,MAAQ,YACvB8Y,EAAa9Y,MAAQ,GACrBiZ,EAAcjZ,MAAQ,GACtBgZ,EAAahZ,MAAQ,KACrB6P,EAAYvR,QAAUoT,EAAIK,UAE1BgH,EAAe/Y,MAAQ,SACvB6P,EAAYvR,QAAU,QACtBob,EAAe1Z,OAAQ,G,6BAGzB0Z,EAAe1Z,OAAQ,EACvB+Y,EAAe/Y,MAAQ,YACvB8Y,EAAa9Y,MAAQ,GACrBiZ,EAAcjZ,MAAQ,GACtB6P,EAAYvR,QAAU,O,+BAGpB8P,EAAa,6D,sEACbqL,EAAUzZ,OAASkZ,EAAQlZ,OAC7BwZ,EAAcjI,OAAO,SAAU+H,GAC/BE,EAAcjI,OAAO,gBAAiB2H,EAAQlZ,OAC9C,GAAM4Z,MAHJ,M,cAGF,SACIF,EAAe1Z,OACjB6P,EAAY5R,WAAa,UACzB4R,EAAYC,YAAa,EACzB1D,MAEAyD,EAAY5R,WAAa,QACzB4R,EAAYC,YAAa,G,aAGtB2J,EAAUzZ,OAKb6P,EAAY5R,WAAa,UACzB4R,EAAYC,YAAa,EACzBD,EAAYvR,QAAU,gBANtBuR,EAAY5R,WAAa,UACzB4R,EAAYC,YAAa,EACzBD,EAAYvR,QAAU,a,wBAO1BxI,OAAOgb,OAAOzR,EAAWwQ,GACzBnQ,EAAQW,KAAK,iBAAkB,CAC7BnB,cAAc,EACdG,UAAWA,I,YAKT3F,EAAgB,iBAAY,IAC5Byf,EAAoB,iBAAW,IAE/BU,EAAQ,kBACRpiB,EAAa,uBAAS,WAC1B,OAAQoiB,EAAM3V,MAAMyK,KAAaC,aAAaC,cAE1CtH,EAAStI,EAAcsI,MACzBuS,EAAoB,GAClBC,EAAc,GAEdC,EAAiB,SAAC7T,GACtB,OAAO,gBAAc,CACnB1O,WAAYA,EAAWuI,MACvBia,UAAW9T,KAqCf,OAjCA,kBACGyP,MAAK,SAAClE,GACLA,EAAI1b,SAAQ,SAACuhB,GACXwC,EAAYxC,EAAI2C,aAAe3C,EAAI3e,SAGtCgd,MAAK,SAAC/W,GAEL,OADAsB,QAAQC,IAAImH,EAAO,SACZ,gBAAc,CAAE4S,SAAUJ,EAAYxS,KAAUqO,MAAK,SAAClE,GAC3D,IAAM0I,EAAW,CAAC,QAAS,MAAO,cAClCN,EAAapI,EAAI2I,QAAO,SAAC9C,GACvB,OAAQ6C,EAASva,SAAS0X,EAAI+C,iBAInC1E,MAAK,SAAC/W,GACL,IAAM0b,EAAa,GACnBT,EAAWU,KAAI,SAACC,GACdF,EAAIlf,KAAK2e,EAAeS,EAAGH,YAE7B9J,QAAQkK,IAAIH,GAAK3E,MAAK,SAAC+E,GACrB,IAAMC,EAAmB,GAEnBC,EAAUF,EAAON,OAAOlb,SAAS2b,QAAO,SAACC,EAAW9kB,GACxD,OAAK2kB,EAAO/a,SAAS5J,EAAKmjB,OAInB2B,GAHLH,EAAOvf,KAAKpF,EAAKmjB,OACV,gDAAI2B,IAAI,eAAK9kB,OAGrB;MACHkjB;EAAkBnZ,MAAQ6a,QAGzB,CACL7c,MAAK,EACLsb,QAAO,EACPC,aAAY,EACZnN,MAAK,EACLkE,aAAY,EACZsI,oBAAmB,EACnBxK,WAAU,EACVwL,YAAW,EACXjB,mBAAkB,EAClBG,aAAY,EACZtK,YAAW,EACXuK,eAAc,EACdC,aAAY,EACZU,eAAc,EACdra,UAAS,EACTsa,cAAa,EACb9J,YAAW,EACXgJ,cAAa,EACbI,cAAa,EACbC,QAAO,EACPxf,cAAa,EACbyf,kBAAiB,EACjBM,UAAS,EACT9R,aAAY,M,oBCtQlB,MAAM,GAA2B,KAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAE1E,U,oDCgBT,GAAU,sBAAS,CACrB,CAAEpR,MAAO,MAAOF,UAAW,QAAS2kB,MAAO,SAAUxkB,MAAO,KAC5D,CAAED,MAAO,KAAMF,UAAW,QAAS2kB,MAAO,SAAUxkB,MAAO,KAC3D,CAAED,MAAO,KAAMF,UAAW,YAAa2kB,MAAO,SAAUxkB,MAAO,KAC/D,CACID,MAAO,OACPF,UAAW,eACX2kB,MAAO,SACPxkB,MAAO,KAEX,CAAED,MAAO,OAAQF,UAAW,QAAS2kB,MAAO,SAAUxkB,MAAO,KAC7D,CAAED,MAAO,OAAQF,UAAW,aAAc2kB,MAAO,SAAUxkB,MAAO,KAClE,CACID,MAAO,SACPF,UAAW,oBACX2kB,MAAO,SACPxkB,MAAO,KAEX,CACID,MAAO,SACPF,UAAW,eACX2kB,MAAO,SACPxkB,MAAO,KAEX,CACID,MAAO,KACP0kB,MAAO,QACPzkB,MAAO,IACPH,UAAW,YACXud,MAAO,CAAEC,aAAc,cAE3B,CACItd,MAAO,MACP0kB,MAAO,QACPzkB,MAAO,IACPH,UAAW,YACXud,MAAO,CAAEC,aAAc,gBAGzBrQ,GAAY,CAAC,SAAU,QAAS,MAEhCe,GAAa2W,OAAOC,WACX,gCAAgB,CAC3BzM,WAAY,CACR0M,oBAAmB,GACnBC,mBAAkB,GAClBC,YAAW,GACXC,YAAW,SAEf9b,MAAA,sBACUoa,EAAQ,kBACRpiB,EAAa,uBACf,WAAM,OAAAoiB,EAAM3V,MAAMyK,KAAKC,aAAaC,cAElCpK,EAAc,mBACdtH,EAAU,kBAAa,GACvB8J,EAAiB,kBAAa,GAC9BuU,EAAa,mBAEbC,EAAS,kBAAa,GACtBC,EAAY,mBAEZ3X,EAAY,iBAAI,IAEhBD,EAAa,sBAAS,CACxB2B,SAAU,GACVkW,YAAa,EACbtW,MAAO,IAGLtC,EAAe,sBAAwB,CACzCvL,MAAO,GACP2L,MAAO,GACPtK,MAAO,KACPyK,aAAc,KAGZ1M,EAAS,sBAAyB,CACpCY,MAAO,GACP2L,MAAO,GACPtK,MAAO,KACP+iB,gBAAiB,GACjBC,cAAe,GACfhH,QAAS,EACT7D,KAAM,KAGJ9M,EAAQ,sBAAc,CACxBD,gBAAiB,GACjB6X,aAAc,KAEZC,EAAc,uBAAS,WAAM,OAAA7X,EAAMD,gBAAgBlO,OAAS,KAG5D2N,EAAa,WACfX,EAAavL,MAAQ,GACrBuL,EAAaI,MAAQ,GACrBJ,EAAalK,MAAQ,KACrBkK,EAAaO,aAAe,GAC5BQ,EAAW2B,SAAW,GACtB3B,EAAW6X,YAAc,GAEvBK,EAAiB,WACnB,uBAAS,WAEL,IAAMC,EAAc,IACdC,EAAUC,SAASC,uBAAuB,aAAa,GAEzDC,EAAgB,EAChBH,IACAG,EAAgBH,EAAQI,wBAAwBC,KAGpD,IAAMrW,EAAS,iBAAgBmW,EAAgBJ,GAAW,MAC1DxX,EAAYzE,MAAQkG,EACdnC,EAAU/D,OAAS+D,EAAU/D,MAAMjK,OAAS,IAC7ComB,SAASC,uBACN,yBACF,GAAWlgB,MAAMgK,OAAS,iBAAgBmW,EACxC,IAAE,WAKZG,EAAY,WACd5lB,EAAOY,MAAQ,GACfZ,EAAOuM,MAAQ,GACfvM,EAAOiC,MAAQ,GACfjC,EAAOglB,gBAAkB,GACzBhlB,EAAOilB,cAAgB,GACvBjlB,EAAOie,QAAU/Q,EAAW6X,YAC5B/kB,EAAOoa,KAAOlN,EAAW2B,SAErB1C,EAAavL,QACbZ,EAAOY,MAAQuL,EAAavL,MAAMilB,QAGlC1Z,EAAaI,QACbvM,EAAOuM,MAAQJ,EAAaI,MAAMsZ,QAGlC1Z,EAAalK,QACbjC,EAAOiC,MAAQkK,EAAalK,OAG5BkK,EAAaO,aAAavN,OAAS,IACnCa,EAAOglB,gBAAkB7Y,EAAaO,aAAa,GACnD1M,EAAOilB,cAAgB9Y,EAAaO,aAAa,KAInDG,EAAe,WACjB+Y,IACAnO,GAAgBzX,GAAQgf,MAAK,SAAClE,GAC1B3N,EAAU/D,MAAQ0R,EAAIpT,QACtBwF,EAAWuB,MAAQqM,EAAIgL,cACvB,IAAM/mB,EAAiB,CACnB,QACA,eACA,gBAEJoO,EAAU/D,MAAMjK,QACZD,OAAOgb,OACH,GACA,OAAA6L,GAAA,MAAe,GAAS5Y,EAAU/D,MAAOrK,OAGrDqmB,IACA9X,EAAMD,gBAAkB,GACxBC,EAAM4X,aAAe,IAGnBxW,EAAa,SAACgT,EAAc7S,GAC9B3B,EAAW6X,YAAcrD,EAAO,EAAIA,EAAO,EAC3CxU,EAAW2B,SAAWA,EACtBhC,KAEE+B,EAAa,SAAC8S,EAAc7S,GAC9B3B,EAAW6X,YAAcrD,EAAO,EAAIA,EAAO,EAC3CxU,EAAW2B,SAAWA,EACtBhC,KAGEW,EAAiB,SAACH,EAAqB6X,GACzC5X,EAAMD,gBAAkBA,EACxBC,EAAM4X,aAAeA,GAInBxV,EAAe,kBAAa,GAC5BC,EAAY,kBAAa,GACzBC,EAAY,kBAAa,GACzBC,EAAkB,kBAAa,GAC/BC,EAAa,sBAAS,IAEtBxH,EAAe,kBAAa,GAC5BG,EAAY,sBAAS,IACrBwQ,EAAc,sBAAS,CACzB5R,WAAY,GACZK,QAAS,GACTwR,YAAY,IAGV8M,EAAW,mBACX1V,EAAiB,iBAAY,KAE7BG,EAAiB,kBAAa,GAC9BC,EAAS,iBAAS,IAClBuV,EAAW,mBAEXjW,EAAW,SAAC+Q,GACdrR,EAAatG,MAAQ2X,EAAMrR,aAC3BxG,eAAeU,QAAQ,kBAAmB,IAE1CiD,KAGE2D,EAAa,SAACuQ,GAChB1Q,EAAejH,MAAQ2X,EAAMxa,QAC7BsG,KAGEgE,EAAa,SAACkQ,GAChBtQ,EAAerH,MAAQ2X,EAAMxa,QAC7BsG,KAEEqD,EAAe,SAAC6Q,GAIlBzY,EAAac,MAAQ2X,EAAMzY,aAC3BpJ,OAAOgb,OAAOzR,EAAWsY,EAAMtY,YAG7Byd,EAAe,SACjB3iB,EACAnC,GAAe,kD,qEAGC,O,sBAAA,GAAMG,GAAiBH,I,cAA7B0Z,EAAM,SACK,MAAbA,EAAIC,MACJzS,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,QACzB4R,EAAYvR,QAAUoT,EAAIK,QAC1BlC,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWzI,GACZ,YAATuD,EACA2F,eAAeU,QAAQ,wBAAyB,IAChC,YAATrG,EACP2F,eAAeU,QAAQ,wBAAyB,IAEhDV,eAAeU,QAAQ,8BAA+B,KAG7C,YAATrG,GACA2F,eAAeU,QACX,wBACA,WAEJyG,EAAejH,OAAQ,GACP,YAAT7F,GACP2F,eAAeU,QACX,wBACA,WAEJyG,EAAejH,OAAQ,IAEvBF,eAAeU,QACX,8BACA,WAEJyG,EAAejH,OAAQ,G,6BAI/Bd,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,QACzB4R,EAAYvR,QAAU,UACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWzI,GACZ,YAATuD,EACA2F,eAAeU,QAAQ,wBAAyB,IAChC,YAATrG,EACP2F,eAAeU,QAAQ,wBAAyB,IAEhDV,eAAeU,QAAQ,8BAA+B,I,+BAK5DuH,EAAa,SAAC4P,GAMhB,GAFAzY,EAAac,MAAQ2X,EAAMrX,UAEvBqX,EAAMpX,SAAU,CAChB,IAAMwc,EAAcjd,eAAeC,QAC/B,sBAEAgd,GACAjd,eAAeU,QAAQ,qBAAsB,IAC7Csc,EAAa,UAAWC,IAExBjd,eAAeU,QAAQ,wBAAyB,IAEpD,IAAMwc,EAAcld,eAAeC,QAC/B,sBAEAid,GACAld,eAAeU,QAAQ,qBAAsB,IAC7Csc,EAAa,UAAWE,IAExBld,eAAeU,QAAQ,wBAAyB,IAEpD,IAAMyc,EAAoBnd,eAAeC,QACrC,4BAEAkd,GACAnd,eAAeU,QAAQ,2BAA4B,IACnDsc,EAAa,gBAAiBG,IAE9Bnd,eAAeU,QAAQ,8BAA+B,MAK5DmH,EAAe,SAACgQ,GACd1Q,EAAejH,OACf4c,EAAS5c,MAAM2H,aAAa,CAAEpH,SAAUoX,EAAMpX,WAE9C8G,EAAerH,OACf6c,EAAS7c,MAAM2H,aAAa,CAAEpH,SAAUoX,EAAMpX,YAIhDsH,EAAc,SAAC8P,GACb1Q,EAAejH,OACf4c,EAAS5c,MAAM8X,aAAa,CAAEvX,SAAUoX,EAAMpX,YAGtDkD,IAEA,IAAMmC,EAAe,sBAAS,CAC1BC,kBAAkB,EAClBC,kBAAmB,GACnBE,gBAAiB,GACjBoL,SAAU,GACVhL,IAAK,GACL8W,WAAY,GACZjX,SAAS,IAGPpB,EAAe,SAACrN,EAAe2C,GACrB,WAARA,EACAyL,EAAaE,kBAAoB,MAAQtO,EAC1B,WAAR2C,EACPyL,EAAaE,kBAAoB,MAAQtO,EAC1B,SAAR2C,EACPyL,EAAaE,kBAAoB,QAAUtO,EAC3B,kBAAT2C,IACPyL,EAAaE,kBAAoB,MAAQtO,GAE7C,IAAMZ,EAAS,CAAEY,MAAK,EAAE2C,KAAI,EAAE1C,WAAYA,EAAWuI,OACrDsO,GAAY,CAAE1X,OAAM,IAAIgf,MAAK,SAAClE,GAC1B,IAAIyL,EAAM,GAEV,GADAvX,EAAawL,SAAWM,EAAI0L,QACvB1L,EAAL,CAIA,IAAMN,EAAWM,EAAI0L,QACfC,EAAU3L,EAAI4L,OAChBlM,EAAS3Q,QAAQ,UAAY,GAC7BmF,EAAaK,SAAU,EACvBkX,EAAM,OAAAI,GAAA,MACFF,EACA,2EAEJzX,EAAaQ,IAAM8U,OAAOiC,IAAIK,gBAAgBL,IACvC/L,EAAS3Q,QAAQ,UAAY,GACpCmF,EAAaK,SAAU,EACvBkX,EAAM,OAAAI,GAAA,MACFF,EACA,qEAEJzX,EAAaQ,IAAM8U,OAAOiC,IAAIK,gBAAgBL,IACvC/L,EAAS3Q,QAAQ,SAAW,GACnCmF,EAAaK,SAAU,EACvBL,EAAaI,gBACT,0BAA4B0L,EAAI4L,OACpCH,EAAM,OAAAI,GAAA,MAAaF,EAAS,eACrBjM,EAAS3Q,QAAQ,SAAW,IACnCmF,EAAaK,SAAU,EACvBkX,EAAM,OAAAI,GAAA,MAAaF,EAAS,mBAC5BzX,EAAaQ,IAAM8U,OAAOiC,IAAIK,gBAAgBL,IAElDvX,EAAaC,kBAAmB,EAChCD,EAAasX,WAAaC,OA9BtBpL,GAAA,KAAQwB,MAAM,YAiCpBxN,EAAc,SAACH,GACjB,IAAM6X,EAAkBtB,SAASuB,cAAc,KAC/CD,EAAgBE,KAAOzC,OAAOiC,IAAIK,gBAC9B5X,EAAasX,YAEjBO,EAAgBG,SAAWhY,EAAawL,SACxCqM,EAAgBI,SAEdC,EAAoB,WACtBlY,EAAaC,kBAAmB,GAG9BT,EAAW,SAACT,GACd,MAAoB,SAAhBA,EAAO9L,SAEH8L,EAAOI,aACPJ,EAAOK,aACPL,EAAOO,aAMY,UAAhBP,EAAO9L,SACV8L,EAAOI,cAAeJ,EAAOO,kBAD9B,GAuBL6Y,EAAc,WAChB,IAAMhnB,EAASmN,EAAM4X,aAAatB,KAAI,SAACvkB,GACnC,OAAOA,EAAKsR,SAEhB,OAAoC,IAAhC,iCAAI,IAAIyW,IAAIjnB,KAAShB,QAMvBgR,EAAY,kBAAI,GAChBC,EAAkB,kBAAI,GACtBO,EAAQ,iBAAI,IACZ5D,GAAe,SAAOsa,GAAc,kD,sDACxB,YAAVA,EAEI/Z,EAAMD,gBAAgBlO,OAAS,GACC,GAAhCmO,EAAMD,gBAAgBlO,QAEhBL,EAC+B,IAAjCwO,EAAMD,gBAAgBlO,OAChBgO,EAAU/D,MACVkE,EAAM4X,aAEhB/U,EAAU/G,MAAQtK,EAAKwoB,MAAK,SAACC,GACzB,MAAqB,WAAdA,EAAItlB,SAEfmO,EAAgBhH,MAAQ+G,EAAU/G,MAClCiH,EAAejH,OAAQ,GACgB,GAAhCkE,EAAMD,gBAAgBlO,SACO,WAAhCmO,EAAM4X,aAAa,GAAGjjB,MAClBqL,EAAM4X,aAAa,GAAG/W,aACtB7F,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,UACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,KAEzBtJ,EAAUvG,OAAQ,EAClBwG,EAAUxG,OAAQ,EAClByG,EAAgBzG,OAAQ,EACxBlK,OAAOgb,OAAOpK,EAAYxC,EAAM4X,aAAa,IAC7CxV,EAAatG,OAAQ,GAGrBkE,EAAM4X,aAAa,GAAG/W,aAAeb,EAAM4X,aAAa,GAAG9W,aAAed,EAAM4X,aAAa,GAAG7W,mBAChG/F,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,UACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,KAEzBtJ,EAAUvG,OAAQ,EAClBwG,EAAUxG,OAAQ,EAClByG,EAAgBzG,OAAQ,EACxBlK,OAAOgb,OAAOpK,EAAYxC,EAAM4X,aAAa,IAC7CxV,EAAatG,OAAQ,IAKG,GAAhCkE,EAAMD,gBAAgBlO,QACtBmJ,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,gBACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,IAEW,GAAhC3L,EAAMD,gBAAgBlO,OAClBmO,EAAM4X,aAAa,GAAG5W,aACtBhG,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,UACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,KAEzBxI,EAAerH,OAAQ,EACvBsH,EAAOtH,MAAQkE,EAAM4X,aAAa,GAAGljB,GACrC2O,EAAMvH,MAAQkE,EAAM4X,aAAa,GAAGvU,OAIpCwW,KACM,EAAM,iBAAS,IACrB7Z,EAAM4X,aAAa9lB,SAAQ,SAACuhB,GACxB,EAAIvX,MAAM3E,KAAKkc,EAAI3e,OAEvByO,EAAerH,OAAQ,EACvBsH,EAAOtH,MAAQ,EAAIA,MACnBuH,EAAMvH,MAAQkE,EAAM4X,aAAa,GAAGvU,OAEpCwK,GAAA,KAAQwB,MACJ,wB,WAQlB3P,GAAa,WACf,GAAIG,EAAU/D,OAAS+D,EAAU/D,MAAMjK,OAAS,EAAG,CAC/C,IAAM,EAAQ,iBAAS,IACjBqoB,EAAMra,EAAU/D,MAChBqe,EAAYna,EAAM4X,aACpB,GAAc,EACd5X,EAAM4X,aAAa/lB,OAAS,EAC5BsoB,EAAUroB,SAAQ,SAACC,GACXmP,EAASnP,GACT,EAAM+J,MAAM3E,KAAKpF,EAAK2C,IAEtB,GAAc,KAItBwlB,EAAIpoB,SAAQ,SAACC,GACLmP,EAASnP,IACT,EAAM+J,MAAM3E,KAAKpF,EAAK2C,OAKtB,EAAMoH,MAEd,EAAMA,MAAMjK,OAAS,EAChB,EAQD0Y,GAAkB,EAAMzO,OAAO4V,MAAK,SAAClE,GACjCxS,EAAac,OAAQ,EACJ,MAAb0R,EAAIC,MACJ9B,EAAY5R,WAAa,UAEzB4R,EAAYvR,QAAUoT,EAAIK,QAC1BlC,EAAYC,YAAa,IAEzBD,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,OACtBuR,EAAYC,YAAa,EACzBrM,KAEJ3N,OAAOgb,OAAOzR,EAAWwQ,OApB7B3Q,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,gBACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,GACzB,GAAc,IAmBlB3Q,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACpB,EAID4R,EAAYvR,QAAU,aAHtBuR,EAAYvR,QAAU,gBACtB,GAAc,GAIlBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,SAG7B3Q,EAAac,OAAQ,EACrB6P,EAAY5R,WAAa,UACzB4R,EAAYvR,QAAU,YACtBuR,EAAYC,YAAa,EACzBha,OAAOgb,OAAOzR,EAAWwQ,IAIjC,MAAO,CACH9I,UAAS,EACTC,gBAAe,EACfnD,QAAO,GACPE,UAAS,EACT0X,OAAM,EACN1Y,aAAY,EACZe,WAAU,EACVJ,WAAU,EACVD,aAAY,EACZ6B,WAAU,EACVE,WAAU,EACV5O,OAAM,EACNsN,MAAK,EACL6X,YAAW,EACXnW,aAAY,EACZf,aAAY,EACZkB,YAAW,EACX+X,kBAAiB,EACjB7W,eAAc,EACd/H,aAAY,EACZ/B,QAAO,EACPqG,UAAS,GACT8a,KAAI,KACJlS,MAAK,MACLhF,WAAU,EACV3C,YAAW,EACXF,WAAU,GACV+B,aAAY,EACZC,UAAS,EACTC,UAAS,EACTC,gBAAe,EACfC,WAAU,EACVrH,UAAS,EACTwQ,YAAW,EACXjJ,SAAQ,EACRE,aAAY,EACZiB,WAAU,EACVyT,WAAU,EACVE,UAAS,EACTM,eAAc,EACd5X,eAAc,EACdgB,SAAQ,EACRuC,aAAY,EACZE,YAAW,EACXlE,aAAY,GACZiZ,SAAQ,EACR1V,eAAc,EACdG,eAAc,EACdI,WAAU,EACVoV,SAAQ,EACRjZ,WAAU,GACV0D,OAAM,EACNC,MAAK,M,UCjrBjB,MAAM,GAA2B,KAAgB,GAAQ,CAAC,CAAC,SAAS7K,GAAQ,CAAC,YAAY,qBAE1E,iB,qBCTfnH,EAAOC,QAAU,IAA0B,0B,yDCA3C,ygDASa+oB,EAAe,WAC1B,OAAO,eAAS,2CAGLC,EAAY,WACvB,OAAO,eAAS,mCAILC,EAAwB,SACnC7nB,GAEA,YAFA,IAAAA,MAAA,CAAWa,WAAY,MAEhB,eAAS,sCAAuC,CAAEb,OAAM,KAIpD8nB,EAAc,SAAC9nB,GAC1B,YAD0B,IAAAA,MAAA,IACnB,eAAS,+CAAgD,CAAEA,OAAM,KAI7D+nB,EAAkB,SAAC/nB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,eACL,wDACAA,IAMSgoB,EAAoB,SAAChoB,GAChC,YADgC,IAAAA,MAAA,IACzB,eAAS,qCAAsC,CAAEA,OAAM,KAUnDioB,EAAa,SAACjoB,GACzB,YADyB,IAAAA,MAAA,IAClB,eAAS,+BAAgC,CAAEA,OAAM,KAI7CkoB,EAAgB,SAACloB,GAC5B,YAD4B,IAAAA,MAAA,IACrB,eAAS,+BAAgC,CAAEA,OAAM,KAI7CmoB,EAAiB,SAACnoB,GAC7B,YAD6B,IAAAA,MAAA,IACtB,eAAa,+BAAgCA,IASzCooB,EAAgB,SAACpoB,GAC5B,YAD4B,IAAAA,MAAA,IACrB,eAAS,uCAAwC,CAAEA,OAAM,KAIrDqoB,EAA4B,SAACroB,GACxC,YADwC,IAAAA,MAAA,IACjC,eAAU,6CAA8CA,IAoBpDsoB,EAAqB,SAACxpB,GAEjC,YAFiC,IAAAA,MAAA,IACjCyK,QAAQC,IAAI1K,GACL,eAAU,mDAAoDA,IAI1DypB,EAA0B,SAACzpB,GAEtC,YAFsC,IAAAA,MAAA,IACtCyK,QAAQC,IAAI1K,GACL,eACL,wDACAA,IAKS0pB,EAAY,SAACxoB,GACxB,YADwB,IAAAA,MAAA,IACjB,eAAS,0CAA2C,CAAEA,OAAM,KAGxDyoB,EAAkB,SAACC,GAC9B,OAAO,eACL,2CACA,GACA,CAAE1oB,OAAQ,CAAE0oB,MAAK,MAKRC,EAAkB,SAAC3oB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,eAAS,yCAA0C,CAAEA,OAAM,KAIvD4oB,EAAkB,SAAC5oB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,eAAS,gDAAiD,CAC/DA,OAAM,KAKG6oB,EAAY,SAAC7oB,GACxB,YADwB,IAAAA,MAAA,IACjB,eAAS,sCAAuC,CAAEA,OAAM,KAGpD8oB,EAAc,SAAC9oB,GAC1B,YAD0B,IAAAA,MAAA,IACnB,eAAS,4CAA6C,CAAEA,OAAM,KAK1D+oB,EAA4B,SAACjqB,GACxC,YADwC,IAAAA,MAAA,IACjC,eACL,0DACAA,IAOSkqB,EAAkB,SAAChpB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,eAAS,uCAAwC,CAAEA,OAAM,KAIrDipB,EAAe,SAACjpB,GAC3B,YAD2B,IAAAA,MAAA,IACpB,eAAS,4BAA6B,CAAEA,OAAM,KAI1CkpB,EAAa,SAAClpB,GACzB,YADyB,IAAAA,MAAA,IAClB,eAAS,4BAA6B,CAAEA,OAAM,KAI1CmpB,EAAa,SAACnpB,GACzB,YADyB,IAAAA,MAAA,IAClB,eAAS,4BAA6B,CAAEA,OAAM,KAI1CopB,EAAa,SAACppB,GAEzB,YAFyB,IAAAA,MAAA,IAElB,eAAa,4BAA6BA,IAItCqpB,EAAa,SAACrpB,GAEzB,YAFyB,IAAAA,MAAA,CAAW0oB,MAAO,KAEpC,eACL,iDAAmD1oB,EAAO0oB,QAKjDY,EAAkB,SAACtpB,GAE9B,YAF8B,IAAAA,MAAA,IAEvB,eAAY,8BAA+B,CAAEA,OAAM,KAI/CupB,EAAkB,SAACvpB,GAC9B,YAD8B,IAAAA,MAAA,IACvB,eAAS,uCAAwC,CAAEA,OAAM,KAIrDwpB,EAAwB,SAACxpB,GACpC,eAAaA,EAAQ,yCAAyCgf,MAAK,SAAClE,GAClEvR,QAAQC,IAAIsR,OAaH2O,EAAgB,SAACzpB,GAC5B,YAD4B,IAAAA,MAAA,IACrB,eAAS,6CAA8C,CAAEA,OAAM,KAI3D0pB,EAAsB,SACjCnP,EACAva,GAGA,OAAO,IAAI4Z,SAAQ,SAACC,EAASC,GAC3B,IAAM,CACJ8H,OAAQ,OACR9iB,KAAMyb,EACNoH,IAAK,2CACL3hB,OAAQA,IAEPgf,MAAK,SAAClE,GACLjB,EAAQiB,EAAIhc,SAEb6qB,OAAM,SAAChN,GACN7C,EAAO6C,UAMFiN,EAAc,SAAIrP,EAAoBva,GAEjD,OAAO,IAAI4Z,SAAQ,SAACC,EAASC,GAC3B,IAAM,CACJ8H,OAAQ,OACR9iB,KAAMyb,EACNoH,IAAK,8CACL3hB,OAAQA,IAEPgf,MAAK,SAAClE,GACLjB,EAAQiB,EAAIhc,SAEb6qB,OAAM,SAAChN,GACN7C,EAAO6C,UAaFkN,EAA6B,SAAC/qB,GACzC,YADyC,IAAAA,MAAA,IAClC,eACL,wEACAA,IAKSgrB,EAAU,SAAC9pB,GACtB,YADsB,IAAAA,MAAA,IACf,eAAS,6BAIL+pB,EAAiB,WAC5B,OAAO,eAAS,8BAILC,EAAsB,SAACC,GAClC,OAAO,eAAS,oBAAsBA,IAG3BC,EAAgB,SAAClqB,GAC5B,YAD4B,IAAAA,MAAA,IACrB,eAAS,wCAAyC,CAAEA,OAAM,KAItDmqB,EAA+B,SAACnqB,GAC3C,YAD2C,IAAAA,MAAA,IACpC,eAAS,0CAA2C,CAAEA,OAAM,KAIxDoqB,EAA2B,SAACtrB,GACvC,YADuC,IAAAA,MAAA,IAChC,eAAU,sDAAuDA,IAI7DurB,EAA0B,SAACrqB,GACtC,OAAO,eAAU,wCAAyCA,IAI/CsqB,EAAU,SAACtqB,GACtB,OAAO,eAAU,+BAAgCA,IAGtCuqB,EAAU,WACrB,OAAO,eAAS,6BAILC,EAAS,SACpBjQ,EACAva,EACA2hB,GAGA,OAAO,IAAI/H,SAAQ,SAACC,EAASC,GAC3B,IAAM,CACJ8H,OAAQ,OACR9iB,KAAMyb,EACNoH,IAAK,YAAcA,EACnB3hB,OAAQA,IAEPgf,MAAK,SAAClE,GACLjB,EAAQiB,EAAIhc,SAEb6qB,OAAM,SAAChN,GACN7C,EAAO6C,UAMF8N,EAAO,SAClBlQ,EACAwG,EACAY,GAGA,OAAO,IAAI/H,SAAQ,SAACC,EAASC,GAC3B,IAAM,CACJ8H,OAAQ,OACR9iB,KAAMyb,EACNoH,IAAK,YAAcA,EACnB3hB,OAAQ+gB,IAEP/B,MAAK,SAAClE,GACLjB,EAAQiB,EAAIhc,SAEb6qB,OAAM,SAAChN,GACN7C,EAAO6C,W,qBCxWfhe,EAAOC,QAAU,IAA0B,4B,kCC4D3C,sGAAO,IAmBK+W,EAnBC+U,EAA2B,CACtC,OAAQ,MACR,OAAQ,MACR,KAAQ,MACR,KAAQ,MACR,KAAQ,OAGGC,EAAwB,CACnC,OAAQ,IACR,KAAQ,MACR,KAAQ,MACR,KAAQ,MACR,KAAQ,KACR,KAAQ,KACR,KAAQ,OAIV,SAAYhV,GACV,iBACA,oBACA,sBACA,6BAJF,CAAYA,MAAgB,M,kCC/E5B,W,0DCAA,yBASe,gBAACiV,EAA6BrnB,GACjC,IAAAoe,EAA0CiJ,EAAO,IAA5C,EAAqCA,EAAO,OAA5ChJ,OAAM,IAAG,QAAK,EAAE5hB,EAAqB4qB,EAAO,OAApBpQ,EAAaoQ,EAAO,SACnDC,EAAc,CAChBlJ,IAAKA,EACLC,OAAM,EACNkJ,aAAc,QAOlB,MALe,QAAXlJ,EACAiJ,EAAO,UAAY7qB,EAEnB6qB,EAAO,QAAU7qB,EAEd,IAAI4Z,SAAQ,SAACC,EAASC,GACzB,IAAM+Q,GACD7L,MAAK,SAAClE,GAEH,IAAMpW,EAAO,IAAIC,KAAK,CAACmW,EAAIhc,MAAO,CAAEyE,KAAMA,IACpCsjB,EAAkBtB,SAASuB,cAAc,KACzCC,EAAOzC,OAAOiC,IAAIK,gBAAgBliB,GACxCmiB,EAAgBE,KAAOA,EACvB,IAAMgE,EAAMjQ,EAAI5Z,QAAQ,uBAClB0G,EAAQmjB,EAAIC,YAAY,KAC1BD,EAAIE,UAAUrjB,EAAQ,EAAGmjB,EAAI5rB,QAC7B0nB,EAAgBG,SAAWkE,mBACvBH,EAAIE,UAAUrjB,EAAQ,EAAGmjB,EAAI5rB,SAGjC0nB,EAAgBG,SADTxM,GAGoBqH,KAAKsJ,MAAM5O,WAE1CgJ,SAAS6F,KAAKC,YAAYxE,GAC1BA,EAAgBI,QAChB1B,SAAS6F,KAAKE,YAAYzE,GAC1BvC,OAAOiC,IAAIgF,gBAAgBxE,GAC3BlN,EAAQiB,MAEX6O,OAAM,SAAShN,GAEZ,OADApT,QAAQC,IAAImT,GACL7C,EAAO6C,W,yDChD9B,W,qBCAAhe,EAAOC,QAAU,IAA0B","file":"js/chunk-0b7563cb.36871285.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/upload.e4734716.svg\";","module.exports = __webpack_public_path__ + \"img/success-blue.6f522471.svg\";","module.exports = __webpack_public_path__ + \"img/complete.92764ba0.svg\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./batchLicenseUpload.vue?vue&type=style&index=1&id=13f920ac&lang=scss\"","export default (column: Array, data: Array, customerColumn?: Array) => {\n const tempColumn = column\n const tempWithds = new Object()\n if (customerColumn?.length) {\n customerColumn.forEach(item=> {\n tempWithds[item] = 0\n data.forEach(el => {\n tempWithds[item] = String(el[item]).replace(/[\\u0391-\\uFFE5]/g,\"aa\").length > tempWithds[item] ? String(el[item]).replace(/[\\u0391-\\uFFE5]/g,\"aa\").length : tempWithds[item]\n })\n })\n } else {\n column.forEach(item=> {\n tempWithds[item.dataIndex] = 0\n data.forEach(el => {\n tempWithds[item.dataIndex] = String(el[item.dataIndex]).replace(/[\\u0391-\\uFFE5]/g,\"aa\").length > tempWithds[item.dataIndex] ? String(el[item.dataIndex]).replace(/[\\u0391-\\uFFE5]/g,\"aa\").length : tempWithds[item.dataIndex]\n })\n })\n }\n for (const key in tempWithds) {\n tempColumn.forEach((item: any) => {\n if (item.dataIndex === key) {\n item.title.replace(/[\\u0391-\\uFFE5]/g,\"aa\").length < tempWithds[key] ? item.width = 10 * tempWithds[key] :\n // 表头单元格2个文字 宽度至少是60\n item.width = Math.max(20 * item.title.length, 60)\n return\n }\n })\n }\n return tempColumn\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./proveUpload.vue?vue&type=style&index=1&id=07076a93&lang=scss\"","/*\n * @Author: your name\n * @Date: 2021-06-28 10:11:12\n * @LastEditTime: 2021-10-27 18:22:46\n * @LastEditors: zhengda.lv\n * @Description: In User Settings Edit\n * @FilePath: \\oasis-fontend\\src\\API\\rv\\rvDealer.ts\n */\nimport {\n fetchGet,\n fetchPost,\n fetchPostPic,\n fetchGetMess,\n fetchPutPic,\n} from \"../index\";\nimport {\n DealerOverviewData,\n DealerFailReasonData,\n DealerStatusData,\n} from \"@/views/RetailValidation/Dealer/types\";\nimport { SelectData } from \"@/views/RetailValidation/Sicco/types\";\nexport const getBasicDetail = (params = {}): Promise => {\n return fetchGet(\"/rvapi/basic/apply/dealer/retailInfo\", params);\n};\nexport const getOperRecordDetail = (params = {}): Promise => {\n return fetchGet(\"/rvapi/basic/retail/operationDetails\", params);\n};\nexport const getDealerOverview = (\n brands: string[]\n): Promise => {\n return fetchPost(\"/rvapi/basic/overview/dealer/v2\", brands);\n};\nexport const getRVTable = (params = {}): Promise => {\n return fetchPost(\"/rvapi/basic/apply/dealer/mulquery\", params);\n};\nexport const getFailReasonData = (\n params = {}\n): Promise => {\n return fetchGet(\"/rvapi/basic/retail/failReasonView\", params);\n};\nexport const getRetailHistory = (params = {}): Promise => {\n return fetchGetMess(\"/saleapi/noAuth/rt/findByVin\", params);\n};\nexport const getlicenseView = (params = {}): Promise => {\n return fetchGet(\"/rvapi/basic/certificate/licenseView\", params);\n};\nexport const getInvioceView = (params = {}): Promise => {\n return fetchGet(\"/rvapi/basic/certificate/invoiceView\", params);\n};\nexport const getRelationProofView = (params = {}): Promise => {\n return fetchGet(\"/rvapi/basic/certificate/relationProofView\", params);\n};\nexport const submitInvoiceFile = (\n invoiceConfig = {},\n vinNo = \"\",\n dealerCode = \"\",\n params = {}\n): Promise => {\n return fetchPostPic(\n `/rvapi/basic/certificate/invoice/upload?vinNo=${vinNo}&dealerCode=${dealerCode}`,\n params,\n invoiceConfig\n );\n};\nexport const submitLicenseFile = (\n licenseConfig = {},\n vinNo = \"\",\n dealerCode = \"\",\n params = {}\n): Promise => {\n return fetchPostPic(\n `/rvapi/basic/certificate/license/upload?vinNo=${vinNo}&dealerCode=${dealerCode}`,\n params,\n licenseConfig\n );\n};\nexport const submitRelationProofFile = (\n relationProofConfig = {},\n vinNo = \"\",\n dealerCode = \"\",\n params = {}\n): Promise => {\n return fetchPostPic(\n `/rvapi/basic/certificate/relationProof/upload?vinNo=${vinNo}&dealerCode=${dealerCode}`,\n params,\n {\n ...relationProofConfig,\n headers: {\n \"code-handler\": \"ignore\",\n }\n }\n );\n};\nexport const batchInvoiceSubmit = (\n invoiceConfig = {},\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/certificate/batchInvoice/upload\",\n params,\n invoiceConfig\n );\n};\nexport const batchLicenseSubmit = (\n licenseConfig = {},\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/certificate/batchLicense/upload\",\n params,\n licenseConfig\n );\n};\nexport const batchInvoiceFile = (\n invoiceConfig = {},\n batchNo = \"\",\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/certificate/batchInvoice/upload?batchNo=\" + batchNo,\n params,\n invoiceConfig\n );\n};\nexport const batchLicenseFile = (\n licenseConfig = {},\n batchNo = \"\",\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/certificate/batchLicense/upload?batchNo=\" + batchNo,\n params,\n licenseConfig\n );\n};\nexport const batchRelationProofFile = (\n licenseConfig = {},\n batchNo = \"\",\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/certificate/relationProof/batchUpload?batchNo=\" + batchNo,\n params,\n licenseConfig\n );\n};\nexport const cancelUploadFile = (batchNo = \"\"): Promise => {\n return fetchGetMess(\n \"/rvapi/basic/certificate/cancelUpload?batchNo=\" + batchNo\n );\n};\nexport const getApprovalStatus = (): Promise => {\n return fetchGet(\"/rvapi/stand/approvalStatus/dicDealer\");\n};\nexport const batchFileSubmit = (params = {}): Promise => {\n return fetchGetMess(\"/rvapi/basic/apply/progress\", params);\n};\nexport const batchSubmitResult = (params = {}): Promise => {\n return fetchGet(\"/rvapi/basic/apply/submit\", params);\n};\n\nexport const getCheckStatus = (): Promise => {\n return fetchGet(\"/rvapi/stand/checkStatus/dicDealer\");\n};\nexport const getvinMdfCheckFlag = (params = {}): Promise => {\n return fetchGet(`/rvapi/basic/retail/vinMdfCheckFlag`, { params });\n};\nexport const getfileSize = (params = {}): Promise => {\n return fetchPost(\"/rvapi/basic/certificate/fileSize\", params);\n};\nexport const sendEditInfo = (\n editConfig = {},\n id = 0,\n usage = \"\",\n customerName = \"\",\n vinNo = \"\",\n dealerCode = \"\",\n invoiceDate = \"\",\n licenseDate = \"\",\n retailDate = \"\",\n price = \"\",\n params = {}\n): Promise => {\n return fetchPutPic(\n `/rvapi/basic/apply/modification?id=${id}&usage=${usage}&customerName=${customerName}&vinNo=${vinNo}&dealerCode=${dealerCode}&invoiceDate=${invoiceDate}&licenseDate=${licenseDate}&retailDate=${retailDate}&price=${price}`,\n params,\n editConfig\n );\n};\nexport const postCallback = (params: number): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/apply/callback?vehicleRetailApplyId=\" + params\n );\n};\n\nexport const checkDate = (params = {}): Promise => {\n return fetchGetMess(\"/rvapi/basic/apply/check\", params);\n};\n\nexport const getSelectData = (): Promise => {\n return fetchGet(\"/rvapi/basic/data/mainData\");\n};\n//撤回查询申报项目信息\nexport const getWithdrawInfo = (recordId: number): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/apply/delayCallBackSearchClaimInfo?vehicleRetailApplyId=\" +\n recordId\n );\n};\n//车辆撤回对销售业绩影响\nexport const getWithdrawComletedInfo = (recordId: number): Promise => {\n return fetchPostPic(\n \"/rvapi/basic/apply/delayCallBackSearchInfluence?vehicleRetailApplyId=\" +\n recordId\n );\n};\n//撤回证明材料上传\nexport const postCallbackUpload = (\n data = { recordId: -1, regionManager: \"\" },\n params: any\n): Promise => {\n return fetchPostPic(\n `rvapi/basic/apply/uploadCertifyAndDoCallBack?vehicleRetailApplyId=${data.recordId}®ionManager=${data.regionManager}`,\n params\n );\n};\n//特殊车辆用途:\nexport const getSpecialUsageItem = (): Promise => {\n return fetchGetMess(\"/saleapi/noAuth/specialUsage\");\n};\n//rv正常撤回\nexport const rvCallBackNormal = (\n vehicleRetailApplyId: number\n): Promise => {\n return fetchPostPic(\n \"rvapi/basic/apply/rvCallBackNormal\",\n {},\n { params: { vehicleRetailApplyId } }\n );\n};\n\nexport const getAllBrands = (): Promise => {\n return fetchGet(\"/vapi/vehicleModelInfo/brands\");\n};\nexport const findBrandByBu = (buIds: number[]) => {\n return fetchGet(\"/vapi/noAuth/findBrandByBu\", {\n params: {\n buIds,\n },\n });\n};\nexport const findBuByBrand = (params: any): Promise => {\n return fetchGet(\"/vapi/noAuth/findBuByBrand\", { params });\n};\nexport const lastTimeResults = (dealerCode: string, type: \"0\" | \"1\" | \"2\") => {\n return fetchGet(\"/rvapi/basic/certificate/lastTimeResults\", {\n params: {\n dealerCode,\n type,\n },\n });\n};\nexport const continueUpload = (dealerCode: string, type: \"0\" | \"1\" | \"2\") => {\n return fetchGet(\"/rvapi/basic/certificate/continueUpload\", {\n params: {\n dealerCode,\n type,\n },\n });\n};\nexport const relationProofPreCheck = (vinNo: string, dealerCode: string): Promise => {\n return fetchPost(\"/rvapi/basic/certificate/relationProof/button-check\", {}, {\n params: {\n vinNo,\n dealerCode,\n },\n codeHandler: 'ignore'\n });\n};","module.exports = __webpack_public_path__ + \"img/success.655c2a2a.svg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./overdueSearchDeclaration.vue?vue&type=style&index=0&id=7f7e8eae&lang=scss&scoped=true\"","export default (b64Data=\"\", contentType=\"application/pdf\", sliceSize=512) => {\n const byteCharacters = atob(b64Data);\n const byteArrays = [];\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize),\n byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n const blob = new Blob(byteArrays, {type: contentType});\n return blob;\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./singleLicenseUpload.vue?vue&type=style&index=1&id=4838d3c6&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./singleLicenseUpload.vue?vue&type=style&index=0&id=4838d3c6&lang=scss&scoped=true\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAQCAYAAADTasWKAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAA6ADAAQAAAABAAAAEAAAAABTVpExAAAARklEQVQIHWNgWPf+GcO6Dx0MV/+zsTD8Z5BkYPhfznDzIwMTAxz8j0NwgCoQHKAK+nMYGZ4jWcq4iIUBKMLAwLiIQZ2/DgAi2RE9IOkxIAAAAABJRU5ErkJggg==\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NoticeModal.vue?vue&type=style&index=0&id=5d000495&lang=scss&scope=true\"","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/success.svg'\nimport _imports_1 from '@/assets/images/rv/warning.svg'\nimport _imports_2 from '@/assets/images/rv/error.svg'\n\n\nconst _hoisted_1 = { class: \"confirmIcon\" }\nconst _hoisted_2 = {\n key: 0,\n src: _imports_0,\n alt: \"\",\n class: \"noticeIcon\"\n}\nconst _hoisted_3 = {\n key: 1,\n src: _imports_1,\n alt: \"\",\n class: \"noticeIcon\"\n}\nconst _hoisted_4 = {\n key: 2,\n src: _imports_2,\n alt: \"\",\n class: \"noticeIcon\"\n}\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", null, \"提示\", -1)\nconst _hoisted_6 = {\n key: 0,\n class: \"confirmCon hasBtnConfirm\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"div\", { style: {\"margin-bottom\":\"10px\"} }, \" Do you confirm sumbit below records to SIPO? \", -1)\nconst _hoisted_8 = { style: {\"margin-bottom\":\"20px\"} }\nconst _hoisted_9 = {\n key: 0,\n class: \"muchContent\"\n}\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = {\n key: 2,\n class: \"btnParent\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\"关闭\")\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"申请延期撤回\")\nconst _hoisted_14 = {\n key: 3,\n class: \"footerCon\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_modal = _resolveComponent(\"a-modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_a_modal, {\n visible: _ctx.modalVis,\n footer: null,\n centered: \"\",\n width: \"600px\",\n \"mask-closable\": _ctx.maskClosable,\n bodyStyle: {\n display: 'flex',\n minHeight: '250px',\n justifyContent: 'center',\n alignItems: 'center',\n },\n onCancel: _ctx.cancel\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.modal.noticeType === 'success')\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.modal.noticeType === 'warning')\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_3))\n : _createCommentVNode(\"\", true),\n (_ctx.modal.noticeType === 'error')\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_4))\n : _createCommentVNode(\"\", true),\n _hoisted_5\n ]),\n (_ctx.showContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", null, [\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, \" Approved No:\" + _toDisplayString(_ctx.modal.approvedNo) + \"     Rejected No:\" + _toDisplayString(_ctx.modal.rejectedNo) + \"     Total No:\" + _toDisplayString(_ctx.modal.totalNo), 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"confirmCon hasBtnConfirm\", { longCon: _ctx.modal.content.length > 20 }])\n }, [\n (_ctx.muchContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.muchDet, (key, index) => {\n return (_openBlock(), _createElementBlock(\"p\", { key: index }, _toDisplayString(key), 1))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.modelContentVisible && !_ctx.muchContent)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, _toDisplayString(_ctx.modal.content), 1))\n : _createCommentVNode(\"\", true)\n ], 2)),\n (_ctx.modal.withdrawBtnVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.submit,\n style: {\"margin-right\":\"10px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n (_ctx.modal.content !== '已过期无法撤回')\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 0,\n onClick: _ctx.handleDelayWithdraw\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.modal.btnVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createVNode(_component_a_button, { onClick: _ctx.cancel }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.cancelLabel), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.submit\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.submitLabel), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"mask-closable\", \"onCancel\"])\n ]))\n}","\nimport { computed, defineComponent, ref, watch } from \"vue\";\nexport default defineComponent({\n props: {\n submitLabel: {\n type: String,\n default: \"是\",\n },\n cancelLabel: {\n type: String,\n default: \"否\",\n },\n modalVisible: {\n type: Boolean,\n required: true,\n default: false,\n },\n modalData: {\n type: Object,\n required: true,\n default: () => {\n return {};\n },\n },\n maskClosable: {\n type: Boolean,\n default: false,\n },\n duration: {\n type: Number,\n default: 0,\n },\n },\n emits: [\n \"close-modal-visible\",\n \"is-reset-modal\",\n \"is-reset-count\",\n \"handle-delay-withdraw\",\n ],\n setup(props, context) {\n const modalVis = (props as any).modalVisible;\n const modal = (props as any).modalData;\n const showContent = computed(() => {\n return Object.keys(modal).includes(\"approvedNo\");\n });\n const muchContent = sessionStorage.getItem(\"muchContent\");\n const muchDet = ref([]);\n const modelContentVisible = ref(true);\n if (muchContent) {\n muchDet.value = JSON.parse(muchContent);\n } else {\n console.log(\"muchContent==false\");\n }\n const submit = () => {\n context.emit(\"close-modal-visible\", {\n isVisible: false,\n continue: true,\n });\n sessionStorage.setItem(\"continue\", \"true\");\n };\n\n const cancel = () => {\n context.emit(\"close-modal-visible\", {\n isVisible: false,\n continue: false,\n });\n sessionStorage.setItem(\"continue\", \"\");\n sessionStorage.setItem(\"muchContent\", \"\");\n context.emit(\"is-reset-modal\", { continue: true });\n if (\n modal.content.indexOf(\"图片\") > -1 ||\n modal.content.indexOf(\"文件格式错误\") > -1 ||\n modal.content.indexOf(\"请重新上传\")\n ) {\n context.emit(\"is-reset-count\", { continue: true });\n }\n };\n const handleDelayWithdraw = () => {\n context.emit(\n \"handle-delay-withdraw\",\n modal.recordId,\n modal.vinNo,\n modal.retailDate\n );\n context.emit(\"is-reset-modal\", { continue: true });\n context.emit(\"close-modal-visible\", {\n isVisible: false,\n continue: true,\n });\n };\n\n let closetDurationTimer: number | undefined = undefined;\n\n watch(\n () => props.modalVisible,\n (visible: boolean) => {\n if (props.duration && visible) {\n closetDurationTimer = setTimeout(() => {\n cancel();\n }, props.duration * 1000);\n } else {\n if (closetDurationTimer) {\n clearTimeout(closetDurationTimer);\n }\n }\n },\n {\n immediate: true,\n }\n );\n\n return {\n showContent,\n modalVis,\n modal,\n submit,\n cancel,\n muchContent,\n muchDet,\n modelContentVisible,\n handleDelayWithdraw,\n };\n },\n});\n","import { render } from \"./NoticeModal.vue?vue&type=template&id=5d000495&ts=true\"\nimport script from \"./NoticeModal.vue?vue&type=script&lang=ts\"\nexport * from \"./NoticeModal.vue?vue&type=script&lang=ts\"\n\nimport \"./NoticeModal.vue?vue&type=style&index=0&id=5d000495&lang=scss&scope=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/success.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7f7e8eae\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"content\" }\nconst _hoisted_2 = {\n class: \"topCon\",\n ref: \"searchCon\"\n}\nconst _hoisted_3 = { class: \"searchCon clearfix\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"车架号\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"车型\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"text\" }, \"零售日期\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"零售类型\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"text\" }, \" \", -1))\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"搜索\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"重置\")\nconst _hoisted_11 = { class: \"tableCon mt10\" }\nconst _hoisted_12 = { class: \"rightBtnCon\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"上传发票/行驶证/关系证明\")\nconst _hoisted_14 = /*#__PURE__*/_createTextVNode(\"上传延期证明\")\nconst _hoisted_15 = /*#__PURE__*/_createTextVNode(\"提交\")\nconst _hoisted_16 = { class: \"table-box\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"发票\")\nconst _hoisted_18 = /*#__PURE__*/_createTextVNode(\"行驶证\")\nconst _hoisted_19 = /*#__PURE__*/_createTextVNode(\"关系证明\")\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\"延期证明\")\nconst _hoisted_21 = {\n key: 0,\n src: _imports_0,\n alt: \"\"\n}\nconst _hoisted_22 = { key: 1 }\nconst _hoisted_23 = {\n key: 0,\n class: \"bottom\"\n}\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\"下载文件\")\nconst _hoisted_25 = /*#__PURE__*/_createTextVNode(\"下载文件\")\nconst _hoisted_26 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Breadcrumb = _resolveComponent(\"Breadcrumb\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_range_picker = _resolveComponent(\"a-range-picker\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_divider = _resolveComponent(\"a-divider\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_pagination = _resolveComponent(\"a-pagination\")!\n const _component_a_image = _resolveComponent(\"a-image\")!\n const _component_a_modal = _resolveComponent(\"a-modal\")!\n const _component_single_license_upload = _resolveComponent(\"single-license-upload\")!\n const _component_batch_license_upload = _resolveComponent(\"batch-license-upload\")!\n const _component_prove_upload = _resolveComponent(\"prove-upload\")!\n const _component_notice_modal = _resolveComponent(\"notice-modal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Breadcrumb, {\n dataSource: [],\n class: \"titleBG\"\n }),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_a_space, {\n direction: \"vertical\",\n class: \"spaceMargin\"\n }, {\n default: _withCtx(() => [\n _hoisted_4,\n _createVNode(_component_a_input, {\n value: _ctx.searchParams.vinNo,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.searchParams.vinNo) = $event)),\n placeholder: \"请输入\",\n maxlength: 17,\n style: {\"width\":\"200px\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n direction: \"vertical\",\n class: \"spaceMargin\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_input, {\n value: _ctx.searchParams.model,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.searchParams.model) = $event)),\n placeholder: \"请输入\",\n maxlength: 17,\n style: {\"width\":\"210px\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n direction: \"vertical\",\n class: \"spaceMargin\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_range_picker, {\n style: {\"width\":\"200px\"},\n placeholder: ['开始时间', '结束时间'],\n valueFormat: \"YYYY/MM/DD\",\n format: \"YYYY/MM/DD\",\n value: _ctx.searchParams.retailPeriod,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.searchParams.retailPeriod) = $event))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n direction: \"vertical\",\n class: \"spaceMargin\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_select, {\n value: _ctx.searchParams.usage,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.searchParams.usage) = $event)),\n style: {\"width\":\"200px\"},\n ref: \"select\",\n allowClear: \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.saleArray, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, { key: item }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item), 1)\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n direction: \"vertical\",\n class: \"right-button\"\n }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"mr15 button\",\n onClick: _ctx.getTableData\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n class: \"button\",\n onClick: _ctx.resetEvent\n }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n })\n ])\n ], 512),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"mr15 button\",\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.uploadVerify('notProve')))\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n }),\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"mr15 button\",\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.uploadVerify('prove')))\n }, {\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 1\n }),\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"button\",\n onClick: _ctx.submitInfo\n }, {\n default: _withCtx(() => [\n _hoisted_15\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_a_table, {\n columns: _ctx.columns,\n pagination: false,\n dataSource: _ctx.tableData,\n rowKey: \"id\",\n \"row-selection\": {\n selectedRowKeys: _ctx.state.selectedRowKeys,\n onChange: _ctx.onSelectChange,\n },\n scroll: { x: _ctx.tableWidth, y: _ctx.tableHeight },\n rowClassName: \n (record, index) =>\n index % 2 === 1 ? 'table-striped' : null\n \n }, {\n operation: _withCtx(({ record }) => [\n _createVNode(_component_a_button, {\n type: \"link\",\n onClick: ($event: any) => (_ctx.viewPicEvent(record.vinNo, 'invoice')),\n disabled: !record.invoicePath\n }, {\n default: _withCtx(() => [\n _hoisted_17\n ]),\n _: 2\n }, 1032, [\"onClick\", \"disabled\"]),\n _createVNode(_component_a_divider, { type: \"vertical\" }),\n _createVNode(_component_a_button, {\n type: \"link\",\n onClick: ($event: any) => (_ctx.viewPicEvent(record.vinNo, 'license')),\n disabled: !record.licensePath\n }, {\n default: _withCtx(() => [\n _hoisted_18\n ]),\n _: 2\n }, 1032, [\"onClick\", \"disabled\"]),\n _createVNode(_component_a_divider, { type: \"vertical\" }),\n _createVNode(_component_a_button, {\n type: \"link\",\n onClick: ($event: any) => (_ctx.viewPicEvent(record.vinNo, 'relationProof')),\n disabled: !record.relationProofPath\n }, {\n default: _withCtx(() => [\n _hoisted_19\n ]),\n _: 2\n }, 1032, [\"onClick\", \"disabled\"]),\n _createVNode(_component_a_divider, { type: \"vertical\" }),\n _createVNode(_component_a_button, {\n type: \"link\",\n onClick: ($event: any) => (_ctx.viewPicEvent(record.vinNo, 'prove')),\n disabled: !record.certifyPath\n }, {\n default: _withCtx(() => [\n _hoisted_20\n ]),\n _: 2\n }, 1032, [\"onClick\", \"disabled\"])\n ]),\n notSubmit: _withCtx(({ record }) => [\n (_ctx.isSubmit(record))\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_21))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_22))\n ]),\n _: 1\n }, 8, [\"columns\", \"dataSource\", \"row-selection\", \"scroll\", \"rowClassName\"])\n ])\n ])\n ]),\n (_ctx.tableData && _ctx.tableData.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _createVNode(_component_a_pagination, {\n total: _ctx.pagination.total,\n \"show-size-changer\": \"\",\n \"show-total\": (total) => `共 ${total} 条`,\n onChange: _ctx.pageChange,\n onShowSizeChange: _ctx.sizeChange,\n pageSize: _ctx.pagination.pageSize,\n \"onUpdate:pageSize\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.pagination.pageSize) = $event)),\n pageSizeOptions: ['10', '20', '30', '40', '50']\n }, {\n buildOptionText: _withCtx((props) => [\n _createElementVNode(\"span\", null, _toDisplayString(props.value) + \"条/页\", 1)\n ]),\n _: 1\n }, 8, [\"total\", \"show-total\", \"onChange\", \"onShowSizeChange\", \"pageSize\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.pictureModal.isImage)\n ? (_openBlock(), _createBlock(_component_a_modal, {\n key: 1,\n visible: _ctx.pictureModal.pictureModalFlag,\n \"onUpdate:visible\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.pictureModal.pictureModalFlag) = $event)),\n title: _ctx.pictureModal.pictureModalTitle,\n width: 500,\n centered: \"\"\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_a_button, {\n key: \"submit\",\n type: \"primary\",\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.downloadImg(_ctx.pictureModal)))\n }, {\n default: _withCtx(() => [\n _hoisted_24\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(_component_a_image, {\n src: _ctx.pictureModal.pictureModalImg\n }, null, 8, [\"src\"])\n ]),\n _: 1\n }, 8, [\"visible\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.pictureModal.isImage)\n ? (_openBlock(), _createBlock(_component_a_modal, {\n key: 2,\n visible: _ctx.pictureModal.pictureModalFlag,\n \"onUpdate:visible\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.pictureModal.pictureModalFlag) = $event)),\n title: _ctx.pictureModal.pictureModalTitle,\n width: \"100%\",\n bodyStyle: { height: '450px' }\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_a_button, {\n key: \"submit\",\n type: \"primary\",\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.downloadImg(_ctx.pictureModal)))\n }, {\n default: _withCtx(() => [\n _hoisted_25\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"iframe\", {\n name: \"\",\n src: _ctx.pictureModal.pdf,\n frameborder: \"0\",\n style: {\"width\":\"100%\",\"height\":\"100%\"}\n }, null, 8, _hoisted_26)\n ]),\n _: 1\n }, 8, [\"visible\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isSubVisible)\n ? (_openBlock(), _createBlock(_component_single_license_upload, {\n key: 3,\n ref: \"subLicense\",\n isSubVisible: _ctx.isSubVisible,\n isInvoice: _ctx.isInvoice,\n isLicense: _ctx.isLicense,\n isRelationProof: _ctx.isRelationProof,\n selectInfo: _ctx.selectInfo,\n onCloseSubVisible: _ctx.closeSub,\n onGetModalInfo: _ctx.getModalInfo\n }, null, 8, [\"isSubVisible\", \"isInvoice\", \"isLicense\", \"isRelationProof\", \"selectInfo\", \"onCloseSubVisible\", \"onGetModalInfo\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isBatchVisible)\n ? (_openBlock(), _createBlock(_component_batch_license_upload, {\n key: 4,\n ref: \"batchRef\",\n noLicense: _ctx.noLicense,\n noRelationProof: _ctx.noRelationProof,\n isBatchVisible: _ctx.isBatchVisible,\n batchActiveKey: _ctx.batchActiveKey,\n onCloseBatchVisible: _ctx.closeBatch,\n onGetModalInfo: _ctx.getModalInfo\n }, null, 8, [\"noLicense\", \"noRelationProof\", \"isBatchVisible\", \"batchActiveKey\", \"onCloseBatchVisible\", \"onGetModalInfo\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isProveVisible)\n ? (_openBlock(), _createBlock(_component_prove_upload, {\n key: 5,\n ref: \"proveRef\",\n isProveVisible: _ctx.isProveVisible,\n idList: _ctx.idList,\n brand: _ctx.brand,\n onCloseProveVisible: _ctx.closeProve,\n onGetModalInfo: _ctx.getModalInfo\n }, null, 8, [\"isProveVisible\", \"idList\", \"brand\", \"onCloseProveVisible\", \"onGetModalInfo\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.modalVisible)\n ? (_openBlock(), _createBlock(_component_notice_modal, {\n key: 6,\n modalVisible: _ctx.modalVisible,\n modalData: _ctx.modalData,\n onIsResetModal: _ctx.isResetModal,\n onIsResetCount: _ctx.isRestCount,\n onCloseModalVisible: _ctx.closeModal\n }, null, 8, [\"modalVisible\", \"modalData\", \"onIsResetModal\", \"onIsResetCount\", \"onCloseModalVisible\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/success-blue.svg'\nimport _imports_1 from '@/assets/images/rv/upload.svg'\nimport _imports_2 from '@/assets/images/rv/complete.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4838d3c6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"showBasicInfo\" }\nconst _hoisted_2 = { class: \"basicInfoList\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"infoTit\" }, \"零售类型:\", -1))\nconst _hoisted_4 = { class: \"infoData\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"infoTit\" }, \"车架号:\", -1))\nconst _hoisted_6 = { class: \"infoData\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"infoTit\" }, \"车型分类:\", -1))\nconst _hoisted_8 = { class: \"infoData\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"tip\" }, \"*:为必要上传文件\", -1))\nconst _hoisted_10 = { class: \"uploadCon\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"invoiceUploadCon\"\n}\nconst _hoisted_12 = {\n key: 0,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"success-panel\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"success-icon\",\n src: _imports_0\n }),\n /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, \"发票已提交\")\n], -1))\nconst _hoisted_14 = [\n _hoisted_13\n]\nconst _hoisted_15 = {\n key: 1,\n class: \"uploadH\"\n}\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text required\" }, [\n /*#__PURE__*/_createTextVNode(\"拖拽发票文件到此处或\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"点击浏览文件\")\n], -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"file-name-tip\" }, \"文件名无要求\", -1))\nconst _hoisted_19 = {\n key: 2,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_20 = { class: \"progressCon\" }\nconst _hoisted_21 = { class: \"progressFlexCon\" }\nconst _hoisted_22 = { class: \"progressTitCon\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"新车零售发票上传:\", -1))\nconst _hoisted_24 = { class: \"progressVal\" }\nconst _hoisted_25 = { class: \"totalProgressCon\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"总进度:\", -1))\nconst _hoisted_27 = { class: \"progressShow\" }\nconst _hoisted_28 = { class: \"filePro uploadPro\" }\nconst _hoisted_29 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_31 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_32 = [\n _hoisted_30,\n _hoisted_31\n]\nconst _hoisted_33 = { key: 1 }\nconst _hoisted_34 = { class: \"filePro fileSize\" }\nconst _hoisted_35 = {\n key: 1,\n class: \"licenseUploadCon\"\n}\nconst _hoisted_36 = {\n key: 0,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"success-panel\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"success-icon\",\n src: _imports_0\n }),\n /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, \"行驶证已提交\")\n], -1))\nconst _hoisted_38 = [\n _hoisted_37\n]\nconst _hoisted_39 = {\n key: 1,\n class: \"uploadH\"\n}\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text required\" }, [\n /*#__PURE__*/_createTextVNode(\"拖拽行驶证文件到此处或\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"点击浏览文件\")\n], -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"file-name-tip\" }, \"文件名无要求\", -1))\nconst _hoisted_43 = {\n key: 2,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_44 = { class: \"progressCon\" }\nconst _hoisted_45 = { class: \"progressFlexCon\" }\nconst _hoisted_46 = { class: \"progressTitCon\" }\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"新车零售行驶证上传:\", -1))\nconst _hoisted_48 = { class: \"progressVal\" }\nconst _hoisted_49 = { class: \"totalProgressCon\" }\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"总进度:\", -1))\nconst _hoisted_51 = { class: \"progressShow\" }\nconst _hoisted_52 = { class: \"filePro uploadPro\" }\nconst _hoisted_53 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_54 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_55 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_56 = [\n _hoisted_54,\n _hoisted_55\n]\nconst _hoisted_57 = { key: 1 }\nconst _hoisted_58 = { class: \"filePro fileSize\" }\nconst _hoisted_59 = {\n key: 2,\n class: \"licenseUploadCon\"\n}\nconst _hoisted_60 = {\n key: 0,\n class: \"uploadH\"\n}\nconst _hoisted_61 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_62 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, [\n /*#__PURE__*/_createTextVNode(\"拖拽关系证明文件到此处或\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"点击浏览文件\")\n], -1))\nconst _hoisted_63 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"file-name-tip\" }, [\n /*#__PURE__*/_createTextVNode(\" 文件名需为\"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"RP_VIN(e.g.RP_LE43X8HB4KL123456)\"),\n /*#__PURE__*/_createTextVNode(\"; 文件格式需为\"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"PDF\")\n], -1))\nconst _hoisted_64 = {\n key: 1,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_65 = { class: \"progressCon\" }\nconst _hoisted_66 = { class: \"progressFlexCon\" }\nconst _hoisted_67 = { class: \"progressTitCon\" }\nconst _hoisted_68 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"新车零售关系证明上传:\", -1))\nconst _hoisted_69 = { class: \"progressVal\" }\nconst _hoisted_70 = { class: \"totalProgressCon\" }\nconst _hoisted_71 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"总进度:\", -1))\nconst _hoisted_72 = { class: \"progressShow\" }\nconst _hoisted_73 = { class: \"filePro uploadPro\" }\nconst _hoisted_74 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_75 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_76 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_77 = [\n _hoisted_75,\n _hoisted_76\n]\nconst _hoisted_78 = { key: 1 }\nconst _hoisted_79 = { class: \"filePro fileSize\" }\nconst _hoisted_80 = { style: {\n position: 'absolute',\n right: 0,\n bottom: 0,\n width: '100%',\n borderTop: '1px solid #e9e9e9',\n padding: '10px 16px',\n background: '#fff',\n textAlign: 'right',\n zIndex: 1\n } }\nconst _hoisted_81 = /*#__PURE__*/_createTextVNode(\"提交\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_upload_dragger = _resolveComponent(\"a-upload-dragger\")!\n const _component_a_progress = _resolveComponent(\"a-progress\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_drawer = _resolveComponent(\"a-drawer\")!\n\n return (_openBlock(), _createBlock(_component_a_drawer, {\n title: \"单张零售文件提交\",\n closable: true,\n visible: _ctx.modal,\n width: \"40%\",\n onClose: _ctx.close\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", null, [\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.selectInfo.usage), 1)\n ]),\n _createElementVNode(\"li\", null, [\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.selectInfo.vinNo), 1)\n ]),\n _createElementVNode(\"li\", null, [\n _hoisted_7,\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.selectInfo.typeClass), 1)\n ])\n ])\n ]),\n _hoisted_9,\n _createElementVNode(\"div\", _hoisted_10, [\n (_ctx.isInvoice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_ctx.selectInfo.invoicePath && _ctx.selectInfo.approlStatus === _ctx.RvApprovalStatus.SUBMITTED)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _hoisted_14))\n : (_ctx.invoiceUploadComplete && !_ctx.selectInfo.invoicePath)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.invoiceCustomRequest,\n \"before-upload\": _ctx.beforeUploadWithFileType(['JPG', 'PDF', 'OFD'])\n }, {\n default: _withCtx(() => [\n _hoisted_16,\n _hoisted_17,\n _hoisted_18\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"p\", _hoisted_22, [\n _hoisted_23,\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.selectInfo.invoicePath ? `IN_${_ctx.selectInfo.vinNo}.jpg` : _ctx.invoiceFileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _hoisted_26,\n _createElementVNode(\"div\", _hoisted_27, [\n _createVNode(_component_a_progress, {\n percent: _ctx.invoicePercent,\n status: _ctx.invoiceProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_28, [\n (_ctx.invoiceProStatus === 'normal' && _ctx.invoicePercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_29, _hoisted_32))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_33, _toDisplayString(_ctx.invoiceProStatus === 'normal' ? `${_ctx.invoicePercent}%完成` : '上传失败'), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_34, _toDisplayString(_ctx.invoiceFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isLicense)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n (_ctx.selectInfo.licensePath && _ctx.selectInfo.approlStatus === _ctx.RvApprovalStatus.SUBMITTED)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_36, _hoisted_38))\n : (_ctx.licenseUploadComplete && !_ctx.selectInfo.licensePath)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n action: \"\",\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.licenseCustomRequest,\n \"before-upload\": _ctx.beforeUploadWithFileType(['JPG', 'PDF', 'OFD'])\n }, {\n default: _withCtx(() => [\n _hoisted_40,\n _hoisted_41,\n _hoisted_42\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"p\", _hoisted_46, [\n _hoisted_47,\n _createElementVNode(\"span\", _hoisted_48, _toDisplayString(_ctx.selectInfo.licensePath ? `RE_${_ctx.selectInfo.vinNo}.jpg` : _ctx.licenseFileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_49, [\n _hoisted_50,\n _createElementVNode(\"div\", _hoisted_51, [\n _createVNode(_component_a_progress, {\n percent: _ctx.licensePercent,\n status: _ctx.licenseProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_52, [\n (_ctx.licenseProStatus === 'normal' && _ctx.licensePercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_53, _hoisted_56))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_57, _toDisplayString(_ctx.licenseProStatus === 'normal' ? `${_ctx.licensePercent}%完成` : '上传失败'), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_58, _toDisplayString(_ctx.licenseFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isRelationProof)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [\n (_ctx.relationProofUploadComplete && !_ctx.selectInfo.relationProofPath)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_60, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n action: \"\",\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.relationProofCustomRequest,\n \"before-upload\": _ctx.beforeUploadWithFileType(['PDF'])\n }, {\n default: _withCtx(() => [\n _hoisted_61,\n _hoisted_62,\n _hoisted_63\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_64, [\n _createElementVNode(\"div\", _hoisted_65, [\n _createElementVNode(\"div\", _hoisted_66, [\n _createElementVNode(\"p\", _hoisted_67, [\n _hoisted_68,\n _createElementVNode(\"span\", _hoisted_69, _toDisplayString(_ctx.selectInfo.relationProofPath ? `IN_${_ctx.selectInfo.vinNo}.pdf` : _ctx.relationProofFileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_70, [\n _hoisted_71,\n _createElementVNode(\"div\", _hoisted_72, [\n _createVNode(_component_a_progress, {\n percent: _ctx.relationProofPercent,\n status: _ctx.relationProofProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_73, [\n (_ctx.relationProofProStatus === 'normal' && _ctx.relationProofPercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_74, _hoisted_77))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_78, _toDisplayString(_ctx.relationProofProStatus === 'normal' ? `${_ctx.relationProofPercent}%完成` : '上传失败'), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_79, _toDisplayString(_ctx.relationProofFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_80, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n disabled: !_ctx.enableUpload,\n onClick: _ctx.submitFile\n }, {\n default: _withCtx(() => [\n _hoisted_81\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onClose\"]))\n}","import { fetchGet, fetchPost, fetchPostPic, fetchGetMess } from '../index';\nexport const getSearchResult = (params = {}): Promise => {\n return fetchPost('/rvapi/delay/mulquery', params)\n}\n// 单张上传\nexport const licenseUpload = (licenseConfig = {}, vinNo = '', params = {}): Promise => {\n return fetchPostPic('/rvapi/vl/handlefile/license/upload?vinNo=' + vinNo, params, licenseConfig)\n}\n// 单张OCR识别\nexport const licenseSubmit = (vinNo = '', params = {}): Promise => {\n return fetchPostPic('/rvapi/vl/handlefile/license/upload?vinNo=' + vinNo, params)\n}\n// 单张取消上传\nexport const cancelUpload = (vinNo = ''): Promise => {\n return fetchGet('/rvapi/delay/cancelUpload?vinNo=' + vinNo)\n}\n// 单张提交结果\nexport const licenseResult = (vinNo = ''): Promise => {\n return fetchGetMess('/rvapi/vl/singleSubmitResult?vinNo=' + vinNo)\n}\n// 获取文件大小\nexport const getfileSize = (params = {}): Promise => {\n return fetchPost('/rvapi/basic/certificate/fileSize', params)\n}\n//批量行驶证上传\nexport const batchLicenseFile = (licenseConfig = {}, batchNo = '', params = {}): Promise => {\n return fetchPostPic('/rvapi/delay/batchUpload/license?batchNo=' + batchNo, params, licenseConfig)\n}\n//批量发票上传\nexport const batchInvoiceFile = (licenseConfig = {}, batchNo = '', params = {}): Promise => {\n return fetchPostPic('/rvapi/delay/batchUpload/invoice?batchNo=' + batchNo, params, licenseConfig)\n}\n//批量行驶证上传\nexport const batchRelationProofFile = (relationProofConfig = {}, batchNo = '', params = {}): Promise => {\n return fetchPostPic('/rvapi/delay/relationProof/batchUpload?batchNo=' + batchNo, params, relationProofConfig)\n}\n//获取提交结果\nexport const batchSubmitResult = (params = {}): Promise => {\n return fetchGet('/rvapi/basic/apply/submit', params)\n}\n//获取提交进度\nexport const batchFileSubmit = (params = {}): Promise => {\n return fetchGetMess('/rvapi/basic/apply/progress', params)\n}\n//取消批量上传\nexport const cancelUploadFile = (batchNo = ''): Promise => {\n return fetchGetMess('/rvapi/delay/cancelUpload?batchNo=' + batchNo)\n}\n//单车行驶证提交\nexport const submitInvoiceFile = (invoiceConfig = {}, vinNo = '', dealerCode = '', params = {}): Promise => {\n return fetchPostPic(`./rvapi/delay/upload/invoice?vinNo=${vinNo}&dealerCode=${dealerCode}`, params, invoiceConfig)\n}\n//单车发票提交\nexport const submitLicenseFile = (licenseConfig = {}, vinNo = '', dealerCode = '', params = {}): Promise => {\n return fetchPostPic(`./rvapi/delay/upload/license?vinNo=${vinNo}&dealerCode=${dealerCode}`, params, licenseConfig)\n}\n//单车关系证明提交\nexport const submitRelationProofFile = (relationProofConfig = {}, vinNo = '', dealerCode = '', params = {}): Promise => {\n return fetchPostPic(`./rvapi/delay/relationProof/upload?vinNo=${vinNo}&dealerCode=${dealerCode}`, params, {\n ...relationProofConfig,\n headers: {\n \"code-handler\": \"ignore\",\n }\n })\n}\n//单车撤回\nexport const singleLicenseCallback = (vinNo: '', dealerCode = ''): Promise => {\n return fetchPostPic(`./rvapi/vl/dealer/vechileCallBack?vinNo=${vinNo}&dealerCode=${dealerCode}`)\n}\n//批量提交\nexport const batchVLSubmit = (params: {}): Promise => {\n return fetchPostPic('./rvapi/vl/dealer/batchVechileSubmit', params)\n}\n\nexport const getPicBasic = (params: {}): Promise => {\n return fetchGet('./rvapi/delay/viewFile', params)\n}\n// 上传证明\nexport const submitProveFile = (proveConfig = {}, params = {}): Promise => {\n return fetchPostPic(`/rvapi/delay/upload/certify`, params, proveConfig)\n}\n// 提交功能\nexport const submitInformation = (params = {}): Promise => {\n return fetchPostPic('/rvapi/delay/submit', params)\n}","\nimport { defineComponent, ref, reactive, computed, Ref } from 'vue';\nimport { FileItem } from '@/API/types';\nimport { submitInvoiceFile, submitLicenseFile, submitRelationProofFile } from '@/API/delayCallback/overdueSearch';\nimport { useStore } from 'vuex';\nimport { RvApprovalStatus } from '@/views/RetailValidation/Dealer/types';\nexport default defineComponent({\n components: {},\n emits: ['close-sub-visible', 'get-modal-info'],\n props: {\n isSubVisible: {\n type: Boolean,\n default: false\n },\n isInvoice: {\n type: Boolean,\n default: false\n },\n isLicense: {\n type: Boolean,\n default: false\n },\n isRelationProof: {\n type: Boolean,\n default: false\n },\n selectInfo: {\n type: Object,\n default: () => ({})\n }\n },\n setup(props, context) {\n const dealerCode = useStore().state.user.organization.entityCode;\n // 获取相关数据\n const modal = (props as any).isSubVisible;\n\n // 文件上传\n const invoiceUploadComplete = ref(true);\n const invoiceFormData = new FormData();\n const invoiceFileName = ref('');\n const invoiceFileSize = ref('');\n\n const licenseUploadComplete = ref(true);\n const licenseFormData = new FormData();\n const licenseFileName = ref('');\n const licenseFileSize = ref('');\n\n const relationProofUploadComplete = ref(true);\n const relationProofFormData = new FormData();\n const relationProofFileName = ref('');\n const relationProofFileSize = ref('');\n // 进度条\n\n const invoicePercent = ref(0);\n const invoiceProStatus = ref('normal');\n\n const licensePercent = ref(0);\n const licenseProStatus = ref('normal');\n\n const relationProofPercent = ref(0);\n const relationProofProStatus = ref('normal');\n\n const isInvoiceSuccess = ref(false);\n const isLicenseSuccess = ref(false);\n const isSuccess = ref(false);\n\n const generateUploadConfig = (percent: Ref) => {\n return {\n onUploadProgress: (progressEvent: any) => {\n if (progressEvent.lengthComputable) {\n const complete = ((progressEvent.loaded / progressEvent.total) * 100) | 0;\n percent.value = complete;\n }\n }\n };\n };\n\n const invoiceConfig = generateUploadConfig(invoicePercent);\n const licenseConfig = generateUploadConfig(licensePercent);\n const relationProofConfig = generateUploadConfig(relationProofPercent);\n\n const invoiceFileData = reactive([]);\n const licenseFileData = reactive([]);\n // 弹窗初始化\n const modalData = reactive({});\n const modalParams = reactive({\n noticeType: '',\n content: '',\n btnVisible: false\n });\n\n const close = () => {\n context.emit('close-sub-visible', { isSubVisible: false });\n };\n\n const beforeUploadWithFileType = (fileTypes: string[]) => {\n const fileTypeCheck = {\n JPG: (file: FileItem) => file.name?.split('.')[1] === 'jpeg' || file.type === 'image/jpeg',\n PDF: (file: FileItem) => file.type === 'application/pdf',\n OFD: (file: FileItem) => file.name && file.name.indexOf('.ofd') > -1\n };\n\n const beforeUpload = (file: FileItem, fileList: any) => {\n return new Promise((resolve, reject) => {\n const params = reactive({\n noticeType: '',\n content: '',\n btnVisible: false\n });\n\n let fileTypeError = true;\n for (const fileType of fileTypes) {\n if (fileTypeCheck[fileType](file)) {\n fileTypeError = false;\n break;\n }\n }\n if (fileTypeError) {\n params.noticeType = 'error';\n params.content = `文件格式错误,请按照${fileTypes.join(' ')}格式进行文件上传`;\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n return reject(false);\n }\n\n const isLt5M = file.size / 1024 / 1024 < 5;\n if (!isLt5M) {\n params.noticeType = 'error';\n params.content = '文件大小必须小于5MB!';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n return reject(false);\n }\n const fileLength = fileList.length;\n if (fileLength > 1) {\n params.noticeType = 'error';\n params.content = '每次只能上传一张零售文件';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n return reject(false);\n }\n return resolve(true);\n });\n };\n return beforeUpload;\n };\n\n const genCustomRequestFunc = (\n formData: FormData,\n fileName: Ref,\n fileSize: Ref,\n complete: Ref\n ) => {\n return (source: any) => {\n formData.append('file', source.file);\n fileName.value = source.file.name;\n fileSize.value = (source.file.size / 1024 / 1024).toFixed(2) + 'MB';\n complete.value = false;\n };\n };\n\n const invoiceCustomRequest = genCustomRequestFunc(\n invoiceFormData,\n invoiceFileName,\n invoiceFileSize,\n invoiceUploadComplete\n );\n const licenseCustomRequest = genCustomRequestFunc(\n licenseFormData,\n licenseFileName,\n licenseFileSize,\n licenseUploadComplete\n );\n const relationProofCustomRequest = genCustomRequestFunc(\n relationProofFormData,\n relationProofFileName,\n relationProofFileSize,\n relationProofUploadComplete\n );\n\n const submitInvoice = async () => {\n if (props.selectInfo.invoicePath) {\n return;\n }\n const res = await submitInvoiceFile(invoiceConfig, props.selectInfo.vinNo, dealerCode, invoiceFormData);\n if (res.code !== '0') {\n invoiceProStatus.value = 'exception';\n throw res;\n }\n };\n const submitLicense = async () => {\n if (props.selectInfo.licensePath) {\n return;\n }\n try {\n const res = await submitLicenseFile(licenseConfig, props.selectInfo.vinNo, dealerCode, licenseFormData);\n if (res.code !== '0') {\n throw res;\n }\n } catch (e) {\n licenseProStatus.value = 'exception';\n throw e;\n }\n };\n const submitRelationProof = async () => {\n if (!props.selectInfo.relationProofPath && !relationProofFormData.has('file')) {\n return;\n }\n try {\n const res = await submitRelationProofFile(\n relationProofConfig,\n props.selectInfo.vinNo,\n dealerCode,\n relationProofFormData\n );\n if (res.code !== '0') {\n throw res;\n }\n } catch (e) {\n relationProofProStatus.value = 'exception';\n throw e;\n }\n };\n\n const submitFile = async () => {\n try {\n if (props.isInvoice) await submitInvoice();\n if (props.isLicense) await submitLicense();\n if (props.isRelationProof) await submitRelationProof();\n modalParams.noticeType = 'success';\n modalParams.content = '上传成功!';\n modalParams.btnVisible = false;\n isSuccess.value = true;\n close();\n } catch (e: any) {\n modalParams.content = e.message || '上传失败';\n modalParams.noticeType = 'error';\n modalParams.btnVisible = false;\n isSuccess.value = false;\n }\n\n Object.assign(modalData, modalParams);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n };\n\n const enableUpload = computed(() => {\n // 发票未上传\n if (props.isInvoice) {\n if (!props.selectInfo.invoicePath && invoiceUploadComplete.value) {\n return false;\n }\n }\n // 行驶证未上传\n if (props.isLicense) {\n if (!props.selectInfo.licensePath && licenseUploadComplete.value) {\n return false;\n }\n }\n // 未选择任何上传文件\n if (\n props.isInvoice &&\n invoiceUploadComplete.value &&\n props.isLicense &&\n licenseUploadComplete.value &&\n props.isRelationProof &&\n relationProofUploadComplete.value\n ) {\n return false;\n }\n return true;\n });\n\n return {\n modal,\n close,\n beforeUploadWithFileType,\n invoiceUploadComplete,\n licenseUploadComplete,\n relationProofUploadComplete,\n submitFile,\n submitInvoice,\n submitLicense,\n invoiceCustomRequest,\n licenseCustomRequest,\n relationProofCustomRequest,\n invoicePercent,\n licensePercent,\n relationProofPercent,\n invoiceConfig,\n licenseConfig,\n invoiceProStatus,\n licenseProStatus,\n relationProofProStatus,\n isInvoiceSuccess,\n isLicenseSuccess,\n isSuccess,\n modalData,\n invoiceFileData,\n licenseFileData,\n modalParams,\n invoiceFileName,\n invoiceFileSize,\n licenseFileName,\n licenseFileSize,\n relationProofFileName,\n relationProofFileSize,\n RvApprovalStatus,\n enableUpload\n };\n }\n});\n","import { render } from \"./singleLicenseUpload.vue?vue&type=template&id=4838d3c6&scoped=true&ts=true\"\nimport script from \"./singleLicenseUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./singleLicenseUpload.vue?vue&type=script&lang=ts\"\n\nimport \"./singleLicenseUpload.vue?vue&type=style&index=0&id=4838d3c6&lang=scss&scoped=true\"\nimport \"./singleLicenseUpload.vue?vue&type=style&index=1&id=4838d3c6&lang=scss\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4838d3c6\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/upload.svg'\nimport _imports_1 from '@/assets/images/rv/batch.svg'\nimport _imports_2 from '@/assets/images/rv/complete.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-13f920ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"uploadCon\" }\nconst _hoisted_2 = { class: \"invoiceUploadCon\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"uploadH\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, [\n /*#__PURE__*/_createTextVNode(\" 拖拽发票文件到此处或\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"点击浏览文件\")\n], -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_7 = { class: \"progressCon\" }\nconst _hoisted_8 = { class: \"progressFlexCon\" }\nconst _hoisted_9 = { class: \"totalProgressCon\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n alt: \"\",\n class: \"batchIcon\"\n}, null, -1))\nconst _hoisted_11 = { class: \"progressShow\" }\nconst _hoisted_12 = { class: \"progressTit\" }\nconst _hoisted_13 = { class: \"filePro uploadPro\" }\nconst _hoisted_14 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_16 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_17 = [\n _hoisted_15,\n _hoisted_16\n]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = { class: \"filePro fileSize\" }\nconst _hoisted_20 = { class: \"licenseUploadCon\" }\nconst _hoisted_21 = {\n key: 0,\n class: \"uploadH\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, [\n /*#__PURE__*/_createTextVNode(\" 拖拽行驶证文件到此处或\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"点击浏览文件\")\n], -1))\nconst _hoisted_24 = {\n key: 0,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_25 = { class: \"progressCon\" }\nconst _hoisted_26 = { class: \"progressFlexCon\" }\nconst _hoisted_27 = { class: \"totalProgressCon\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n alt: \"\",\n class: \"batchIcon\"\n}, null, -1))\nconst _hoisted_29 = { class: \"progressShow\" }\nconst _hoisted_30 = { class: \"progressTit\" }\nconst _hoisted_31 = { class: \"filePro uploadPro\" }\nconst _hoisted_32 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_34 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_35 = [\n _hoisted_33,\n _hoisted_34\n]\nconst _hoisted_36 = { key: 1 }\nconst _hoisted_37 = { class: \"filePro fileSize\" }\nconst _hoisted_38 = { class: \"licenseUploadCon\" }\nconst _hoisted_39 = {\n key: 0,\n class: \"uploadH\"\n}\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, [\n /*#__PURE__*/_createTextVNode(\" 拖拽关系证明文件到此处或\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"点击浏览文件\")\n], -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"file-name-tip\" }, [\n /*#__PURE__*/_createTextVNode(\"文件名需为\"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"RP_VIN(e.g.RP_LE43X8HB4KL123456)\"),\n /*#__PURE__*/_createTextVNode(\"; 文件格式需为\"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"PDF\")\n], -1))\nconst _hoisted_43 = {\n key: 0,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_44 = { class: \"progressCon\" }\nconst _hoisted_45 = { class: \"progressFlexCon\" }\nconst _hoisted_46 = { class: \"totalProgressCon\" }\nconst _hoisted_47 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n alt: \"\",\n class: \"batchIcon\"\n}, null, -1))\nconst _hoisted_48 = { class: \"progressShow\" }\nconst _hoisted_49 = { class: \"progressTit\" }\nconst _hoisted_50 = { class: \"filePro uploadPro\" }\nconst _hoisted_51 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_52 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_53 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_54 = [\n _hoisted_52,\n _hoisted_53\n]\nconst _hoisted_55 = { key: 1 }\nconst _hoisted_56 = { class: \"filePro fileSize\" }\nconst _hoisted_57 = {\n key: 0,\n class: \"resultCon\"\n}\nconst _hoisted_58 = { class: \"resTit\" }\nconst _hoisted_59 = { class: \"success\" }\nconst _hoisted_60 = /*#__PURE__*/_createTextVNode(\"个,失败\")\nconst _hoisted_61 = { class: \"error\" }\nconst _hoisted_62 = /*#__PURE__*/_createTextVNode(\"个 \")\nconst _hoisted_63 = { class: \"result\" }\nconst _hoisted_64 = { class: \"resPagination\" }\nconst _hoisted_65 = { style: {\n position: 'absolute',\n right: 0,\n bottom: 0,\n width: '100%',\n borderTop: '1px solid #e9e9e9',\n padding: '10px 16px',\n background: '#fff',\n textAlign: 'right',\n zIndex: 1,\n } }\nconst _hoisted_66 = /*#__PURE__*/_createTextVNode(\"智传\")\nconst _hoisted_67 = /*#__PURE__*/_createTextVNode(\"继续上传\")\nconst _hoisted_68 = /*#__PURE__*/_createTextVNode(\"导出提交结果\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_upload_dragger = _resolveComponent(\"a-upload-dragger\")!\n const _component_a_progress = _resolveComponent(\"a-progress\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_pagination = _resolveComponent(\"a-pagination\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_drawer = _resolveComponent(\"a-drawer\")!\n\n return (_openBlock(), _createBlock(_component_a_drawer, {\n title: \"批量智传\",\n closable: true,\n visible: _ctx.modal,\n width: \"35.14%\",\n bodyStyle: { paddingTop: '5px' },\n onClose: _ctx.close\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tabs, {\n activeKey: _ctx.bActiveKey,\n onChange: _ctx.changeTab\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tab_pane, {\n tab: \"批量发票提交\",\n key: \"1\",\n disabled: _ctx.invoiceDisabled\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.invoiceUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.invoiceCustomRequest,\n \"before-upload\": _ctx.beforeUpload\n }, {\n default: _withCtx(() => [\n _hoisted_4,\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.invoiceUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString(_ctx.invoiceTit), 1),\n _createVNode(_component_a_progress, {\n percent: _ctx.invoicePercent,\n status: _ctx.invoiceProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_13, [\n (_ctx.invoicePercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_18, _toDisplayString(_ctx.invoiceContent), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(_ctx.invoiceFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"disabled\"]),\n _createVNode(_component_a_tab_pane, {\n tab: \"批量行驶证提交\",\n key: \"2\",\n disabled: _ctx.licenseDisabled\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_20, [\n (_ctx.licenseUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n action: \"\",\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.licenseCustomRequest,\n \"before-upload\": _ctx.beforeUpload\n }, {\n default: _withCtx(() => [\n _hoisted_22,\n _hoisted_23\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.licenseUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, _toDisplayString(_ctx.licenseTit), 1),\n _createVNode(_component_a_progress, {\n percent: _ctx.licensePercent,\n status: _ctx.licenseProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_31, [\n (_ctx.licensePercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_32, _hoisted_35))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_36, _toDisplayString(_ctx.licenseContent), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_37, _toDisplayString(_ctx.licenseFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"disabled\"]),\n _createVNode(_component_a_tab_pane, {\n tab: \"批量关系证明提交\",\n key: \"3\",\n disabled: _ctx.relationProofDisabled\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_38, [\n (_ctx.relationProofUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n action: \"\",\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.relationProofCustomRequest,\n \"before-upload\": _ctx.beforeUpload\n }, {\n default: _withCtx(() => [\n _hoisted_40,\n _hoisted_41,\n _hoisted_42\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.relationProofUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _hoisted_47,\n _createElementVNode(\"div\", _hoisted_48, [\n _createElementVNode(\"div\", _hoisted_49, _toDisplayString(_ctx.relationProofTit), 1),\n _createVNode(_component_a_progress, {\n percent: _ctx.relationProofPercent,\n status: _ctx.relationProofProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_50, [\n (_ctx.relationProofPercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, _hoisted_54))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_55, _toDisplayString(_ctx.relationProofContent), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_56, _toDisplayString(_ctx.relationProofFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ]),\n _: 1\n }, 8, [\"activeKey\", \"onChange\"]),\n (_ctx.isContinue)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_57, [\n _createElementVNode(\"p\", _hoisted_58, [\n _createTextVNode(\" 总共提交完成\" + _toDisplayString(_ctx.dataSource.totalCount) + \"个,成功\", 1),\n _createElementVNode(\"span\", _hoisted_59, _toDisplayString(_ctx.dataSource.successCount), 1),\n _hoisted_60,\n _createElementVNode(\"span\", _hoisted_61, _toDisplayString(_ctx.dataSource.failedCount), 1),\n _hoisted_62\n ]),\n _createElementVNode(\"div\", _hoisted_63, [\n _createVNode(_component_a_table, {\n rowKey: \n (record, index) => {\n return record.vinNo + index.toString();\n }\n ,\n columns: _ctx.columns,\n pagination: false,\n dataSource: _ctx.dataSource.submitResult.content,\n rowClassName: \n (record, index) =>\n index % 2 === 1 ? 'table-striped' : null\n \n }, {\n vinNo: _withCtx(({ text }) => [\n _createElementVNode(\"span\", null, _toDisplayString(text), 1)\n ]),\n fileName: _withCtx(({ text }) => [\n _createElementVNode(\"span\", null, _toDisplayString(text), 1)\n ]),\n rtnMessage: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n class: _normalizeClass({ error: text.indexOf('失败') > -1 })\n }, _toDisplayString(text), 3)\n ]),\n _: 1\n }, 8, [\"rowKey\", \"columns\", \"dataSource\", \"rowClassName\"])\n ]),\n _createElementVNode(\"div\", _hoisted_64, [\n _createVNode(_component_a_pagination, {\n total: _ctx.dataSource.totalCount,\n \"show-size-changer\": \"\",\n \"show-total\": (total) => `共 ${total} 条`,\n onChange: _ctx.pageChange,\n onShowSizeChange: _ctx.sizeChange,\n pageSize: _ctx.size,\n \"onUpdate:pageSize\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.size) = $event)),\n pageSizeOptions: ['10', '20', '30', '40', '50']\n }, {\n buildOptionText: _withCtx((props) => [\n _createElementVNode(\"span\", null, _toDisplayString(props.value) + \"条/页\", 1)\n ]),\n _: 1\n }, 8, [\"total\", \"show-total\", \"onChange\", \"onShowSizeChange\", \"pageSize\"])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_65, [\n (_ctx.isSubmit && !_ctx.isContinue)\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 0,\n type: \"primary\",\n disabled: _ctx.totalSubmit,\n onClick: _ctx.submitFile\n }, {\n default: _withCtx(() => [\n _hoisted_66\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isContinue)\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 1,\n class: \"mr10\",\n onClick: _ctx.goOnUpload\n }, {\n default: _withCtx(() => [\n _hoisted_67\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isContinue)\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 2,\n type: \"primary\",\n onClick: _ctx.exportSubmitEvent\n }, {\n default: _withCtx(() => [\n _hoisted_68\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onClose\"]))\n}","\nimport { defineComponent, ref, reactive, onBeforeMount } from 'vue';\nimport { FileItem } from '@/API/types';\nimport {\n batchInvoiceFile,\n batchLicenseFile,\n batchRelationProofFile,\n batchFileSubmit,\n batchSubmitResult,\n} from '@/API/delayCallback/overdueSearch';\nimport moment from 'moment';\nimport downloadFile from '@/utils/claim/downloadFile';\nimport { guid } from '@/utils/index';\nconst columns = [\n {\n title: '车架号',\n dataIndex: 'vinNo',\n key: 'vinNo',\n width: 100,\n },\n {\n title: '文件名',\n dataIndex: 'fileName',\n key: 'fileName',\n width: 150,\n },\n {\n title: '提交结果',\n dataIndex: 'rtnMessage',\n key: 'rtnMessage',\n width: 150,\n slots: { customRender: 'rtnMessage' },\n },\n];\nexport default defineComponent({\n components: {},\n emits: ['close-batch-visible', 'get-modal-info'],\n props: {\n isBatchVisible: {\n type: Boolean,\n required: true,\n default: false,\n },\n noLicense: {\n type: Boolean,\n required: true,\n default: false,\n },\n noRelationProof: {\n type: Boolean,\n required: true,\n default: false,\n },\n batchActiveKey: {\n type: String,\n required: true,\n default: '1',\n },\n },\n setup(props, context) {\n const modal = (props as any).isBatchVisible;\n const bActiveKey = ref('');\n bActiveKey.value = (props as any).batchActiveKey;\n // tab标签可否编辑\n const invoiceDisabled = ref(false);\n const licenseDisabled = ref(false);\n const relationProofDisabled = ref(false);\n licenseDisabled.value = (props as any).noLicense;\n relationProofDisabled.value = (props as any).noRelationProof;\n // 文件上传\n const invoiceUploadComplete = ref(true);\n const invoiceFormData = new FormData();\n const invoiceFile = ref([]);\n const invoiceCount = ref(0);\n const invoiceFileSize = ref('');\n const licenseUploadComplete = ref(true);\n const licenseFormData = new FormData();\n const licenseFile = ref([]);\n const licenseCount = ref(0);\n const licenseFileSize = ref('');\n const relationProofUploadComplete = ref(true);\n const relationProofFormData = new FormData();\n const relationProofFile = ref([]);\n const relationProofCount = ref(0);\n const relationProofFileSize = ref('');\n // 上传进度条\n const invoicePercent = ref(0);\n const licensePercent = ref(0);\n const relationProofPercent = ref(0);\n const invoiceFileNum = ref(0);\n const licenseFileNum = ref(0);\n const relationProofFileNum = ref(0);\n const invoiceContent = ref('0/0');\n const invoiceProStatus = ref('normal');\n const licenseContent = ref('0/0');\n const licenseProStatus = ref('normal');\n const relationProofContent = ref('0/0');\n const relationProofProStatus = ref('normal');\n const isInvoiceSuccess = ref(false);\n const isLicenseSuccess = ref(false);\n const isRelationProofSuccess = ref(false);\n const closeCount = ref(0);\n // 智传发票进度条\n const invoiceConfig = {\n onUploadProgress: (progressEvent: any) => {\n if (progressEvent.lengthComputable) {\n const complete =\n ((progressEvent.loaded / progressEvent.total) * 100) |\n 0;\n invoicePercent.value = complete;\n invoiceContent.value =\n Math.floor(\n (progressEvent.loaded / progressEvent.total) *\n invoiceFileNum.value\n ) +\n '/' +\n invoiceFileNum.value +\n '(' +\n complete +\n '%完成)';\n }\n },\n };\n // 智传行驶证进度条\n const licenseConfig = {\n onUploadProgress: (progressEvent: any) => {\n if (progressEvent.lengthComputable) {\n const complete =\n ((progressEvent.loaded / progressEvent.total) * 100) |\n 0;\n licensePercent.value = complete;\n licenseContent.value =\n Math.floor(\n (progressEvent.loaded / progressEvent.total) *\n licenseFileNum.value\n ) +\n '/' +\n licenseFileNum.value +\n '(' +\n complete +\n '%完成)';\n }\n },\n };\n // 智传关系证明进度条\n const relationProofConfig = {\n onUploadProgress: (progressEvent: any) => {\n if (progressEvent.lengthComputable) {\n const complete =\n ((progressEvent.loaded / progressEvent.total) * 100) |\n 0;\n relationProofPercent.value = complete;\n relationProofContent.value =\n Math.floor(\n (progressEvent.loaded / progressEvent.total) *\n relationProofFileNum.value\n ) +\n '/' +\n relationProofFileNum.value +\n '(' +\n complete +\n '%完成)';\n }\n },\n };\n const totalSubmit = ref(true);\n const tempInvoiceData = ref([]);\n const tempLicenseData = ref([]);\n const tempRelationProofData = ref([]);\n // 弹窗初始化\n const modalData = reactive({});\n const modalParams = reactive({\n noticeType: '',\n content: '',\n btnVisible: false,\n });\n const invoiceTit = ref('文件上传');\n const licenseTit = ref('文件上传');\n const relationProofTit = ref('文件上传');\n const isSubmit = ref(true);\n const dataSource = ref({\n submitResult: {\n content: [],\n },\n });\n const isContinue = ref(false);\n const current = ref(1);\n const size = ref(20);\n const invoiceSubCount = ref(0);\n const licenseSubCount = ref(0);\n const relationProofSubCount = ref(0);\n const invoiceClickCount = ref(0);\n const licenseClickCount = ref(0);\n const relationProofClickCount = ref(0);\n const invoiceKey = ref(guid());\n const licenseKey = ref(guid());\n const relationProofKey = ref(guid());\n const uploadError = ref(false);\n const timer = ref(0);\n const isSame = ref(false);\n\n // 关闭弹窗\n const close = () => {\n closeCount.value = 1;\n const continueValue = sessionStorage.getItem('overdueContinue');\n clearInterval(timer.value);\n timer.value = 0;\n if (invoiceClickCount.value == 1 || licenseClickCount.value == 1 || relationProofClickCount.value == 1) {\n if (invoiceClickCount.value == 1) {\n if (!isInvoiceSuccess.value && !uploadError.value) {\n modalParams.noticeType = 'warning';\n modalParams.content =\n '正在批量上传,此操作会取消该批次文件的全部上传,确定要关闭窗口?';\n modalParams.btnVisible = true;\n Object.assign(modalData, modalParams);\n sessionStorage.setItem(\n 'stopOverdueInvoice',\n invoiceKey.value\n );\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n } else {\n sessionStorage.setItem('stopOverdueInvoice', '');\n context.emit('close-batch-visible', {\n isBatchVisible: false,\n });\n }\n }\n if (licenseClickCount.value == 1) {\n if (!isLicenseSuccess.value && !uploadError.value) {\n modalParams.noticeType = 'warning';\n modalParams.content =\n '正在批量上传,此操作会取消该批次文件的全部上传,确定要关闭窗口?';\n modalParams.btnVisible = true;\n Object.assign(modalData, modalParams);\n sessionStorage.setItem(\n 'stopOverdueLicense',\n licenseKey.value\n );\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n } else {\n sessionStorage.setItem('stopOverdueLicense', '');\n context.emit('close-batch-visible', {\n isBatchVisible: false,\n });\n }\n }\n if (relationProofClickCount.value == 1) {\n if (!isRelationProofSuccess.value && !uploadError.value) {\n modalParams.noticeType = 'warning';\n modalParams.content =\n '正在批量上传,此操作会取消该批次文件的全部上传,确定要关闭窗口?';\n modalParams.btnVisible = true;\n Object.assign(modalData, modalParams);\n sessionStorage.setItem(\n 'stopOverdueRelationProof',\n relationProofKey.value\n );\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n } else {\n sessionStorage.setItem('stopOverdueRelationProof', '');\n context.emit('close-batch-visible', {\n isBatchVisible: false,\n });\n }\n }\n } else {\n context.emit('close-batch-visible', { isBatchVisible: false });\n }\n };\n\n // 获取提交结果\n const getBatchSubmitResult = async (batchNo: string) => {\n const params = {\n batchNo: batchNo,\n current: current.value,\n size: size.value,\n };\n await batchSubmitResult({ params }).then((res: any) => {\n dataSource.value = res;\n });\n };\n // 提交\n const batchSub = async (type: string, batchNo: string) => {\n const params = {\n batchNo: batchNo,\n };\n isContinue.value = false;\n dataSource.value = {\n submitResult: {\n content: [],\n },\n };\n try {\n const res = await batchFileSubmit({ params });\n if (res.code !== '0') {\n if (type == 'invoice') {\n invoiceProStatus.value = 'exception';\n invoiceContent.value = '提交失败';\n } else if (type == 'license') {\n licenseProStatus.value = 'exception';\n licenseContent.value = '提交失败';\n } else {\n relationProofProStatus.value = 'exception';\n relationProofContent.value = '提交失败';\n }\n clearInterval(timer.value);\n timer.value = 0;\n modalParams.content = res.message;\n } else {\n const useCurrent = res.data.current;\n const useTotal = res.data.total;\n const percentage = ((useCurrent / useTotal) * 100) | 0;\n if (type == 'invoice') {\n invoiceProStatus.value = 'normal';\n invoicePercent.value = percentage;\n invoiceContent.value =\n useCurrent +\n '/' +\n useTotal +\n '(' +\n invoicePercent.value +\n '%完成)';\n } else if (type == 'license') {\n licenseProStatus.value = 'normal';\n licensePercent.value = percentage;\n licenseContent.value =\n useCurrent +\n '/' +\n useTotal +\n '(' +\n licensePercent.value +\n '%完成)';\n } else {\n relationProofProStatus.value = 'normal';\n relationProofPercent.value = percentage;\n relationProofContent.value =\n useCurrent +\n '/' +\n useTotal +\n '(' +\n relationProofPercent.value +\n '%完成)';\n }\n if (useCurrent !== 0 && useCurrent == useTotal) {\n isSame.value = true;\n clearInterval(timer.value);\n timer.value = 0;\n const activeValue = ref('');\n if (bActiveKey.value == '1') {\n // licenseDisabled.value = false; //todo 很有可能还会出现问题,批量行驶证提交的可点击逻辑不确定,story和别人写的代码对不上\n activeValue.value = 'invoice';\n } else if (bActiveKey.value == '2') {\n // invoiceDisabled.value = false;\n activeValue.value = 'license';\n } else {\n activeValue.value = 'relationProof';\n }\n if (type !== activeValue.value) {\n isContinue.value = false;\n dataSource.value = {\n submitResult: {\n content: [],\n },\n };\n } else {\n await getBatchSubmitResult(batchNo);\n isContinue.value = true;\n }\n } else {\n if (percentage == 100) {\n modalParams.content = '提交成功!';\n }\n }\n }\n } catch (e) {\n if (type == 'invoice') {\n invoiceProStatus.value = 'exception';\n invoiceContent.value = '提交失败';\n } else if (type == 'license') {\n licenseProStatus.value = 'exception';\n licenseContent.value = '提交失败';\n } else {\n relationProofProStatus.value = 'exception';\n relationProofContent.value = '提交失败';\n }\n clearInterval(timer.value);\n timer.value = 0;\n modalParams.content = '提交失败';\n }\n };\n\n // 相关操作刷新方法\n const initCon = async () => {\n // 初始化先清空计时器\n clearInterval(timer.value);\n timer.value = 0;\n isContinue.value = false;\n dataSource.value = {\n submitResult: {\n content: [],\n },\n };\n // 获取存储数据看是否请求过相关接口逻辑\n const invoiceSessionData = sessionStorage.getItem(\n 'overdueInvoiceData'\n );\n const licenseSessionData = sessionStorage.getItem(\n 'overdueLicenseData'\n );\n const relationProofSessionData = sessionStorage.getItem(\n 'overdueRelationProofData'\n );\n const invoiceIsSuccess = sessionStorage.getItem(\n 'overdueInvoiceSuccess'\n );\n const licenseIsSuccess = sessionStorage.getItem(\n 'overdueLicenseSuccess'\n );\n const relationProofIsSuccess = sessionStorage.getItem(\n 'overdueRelationProofSuccess'\n );\n const isInvoiceContinueValue = sessionStorage.getItem(\n 'isOverdueInvoiceContinue'\n );\n const isLicenseContinueValue = sessionStorage.getItem(\n 'isOverdueLicenseContinue'\n );\n const isRelationProofContinueValue = sessionStorage.getItem(\n 'isOverdueRelationProofContinue'\n );\n if (bActiveKey.value == '1') {\n if (invoiceSessionData) {\n if (invoiceIsSuccess) {\n return;\n } else {\n const invoiceSession = JSON.parse(invoiceSessionData);\n if (isInvoiceContinueValue) {\n // 提交过调取存储的数据拿到key值调用提交进度接口\n invoiceUploadComplete.value = false;\n invoiceTit.value = '提交进度';\n isSubmit.value = false;\n invoiceFileSize.value = '';\n invoiceKey.value = invoiceSession.invoiceKey;\n await batchSub('invoice', invoiceKey.value);\n if (!isSame.value) {\n timer.value = setInterval(async () => {\n await batchSub('invoice', invoiceKey.value);\n }, 4000);\n } else {\n isSame.value = false;\n }\n } else {\n invoiceUploadComplete.value = false;\n invoiceTit.value = '提交进度';\n isSubmit.value = false;\n invoicePercent.value = 0;\n invoiceContent.value =\n '0/' +\n invoiceSession.invoiceFileNum +\n '(0%完成)';\n invoiceFileSize.value = '';\n }\n }\n }\n } else if (bActiveKey.value == '2') {\n if (licenseSessionData) {\n if (licenseIsSuccess) {\n return;\n } else {\n const licenseSession = JSON.parse(licenseSessionData);\n if (isLicenseContinueValue) {\n // 提交过调取存储的数据拿到key值调用提交进度接口\n licenseUploadComplete.value = false;\n licenseTit.value = '提交进度';\n isSubmit.value = false;\n licenseFileSize.value = '';\n licenseKey.value = licenseSession.licenseKey;\n await batchSub('license', licenseKey.value);\n if (!isSame.value) {\n timer.value = setInterval(async () => {\n await batchSub('license', licenseKey.value);\n }, 4000);\n } else {\n isSame.value = false;\n }\n } else {\n licenseUploadComplete.value = false;\n licenseTit.value = '提交进度';\n isSubmit.value = false;\n licensePercent.value = 0;\n licenseContent.value =\n '0/' +\n licenseSession.licenseFileNum +\n '(0%完成)';\n licenseFileSize.value = '';\n }\n }\n }\n } else {\n if (relationProofSessionData) {\n if (relationProofIsSuccess) {\n return;\n } else {\n const relationProofSession = JSON.parse(relationProofSessionData);\n if (isRelationProofContinueValue) {\n // 提交过调取存储的数据拿到key值调用提交进度接口\n relationProofUploadComplete.value = false;\n relationProofTit.value = '提交进度';\n isSubmit.value = false;\n relationProofFileSize.value = '';\n relationProofKey.value = relationProofSession.relationProofKey;\n await batchSub('relationProof', relationProofKey.value);\n if (!isSame.value) {\n timer.value = setInterval(async () => {\n await batchSub('relationProof', relationProofKey.value);\n }, 4000);\n } else {\n isSame.value = false;\n }\n } else {\n relationProofUploadComplete.value = false;\n relationProofTit.value = '提交进度';\n isSubmit.value = false;\n relationProofPercent.value = 0;\n relationProofContent.value =\n '0/' +\n relationProofSession.relationProofFileNum +\n '(0%完成)';\n relationProofFileSize.value = '';\n }\n }\n } \n }\n };\n\n initCon();\n\n // tab切换\n const changeTab = (activeKey: string) => {\n // 切换先清空计时器\n clearInterval(timer.value);\n timer.value = 0;\n bActiveKey.value = activeKey;\n isContinue.value = false;\n dataSource.value = {\n submitResult: {\n content: [],\n },\n };\n if (activeKey == '1') {\n if (invoiceFile.value.length > 0) {\n totalSubmit.value = false;\n } else {\n totalSubmit.value = true;\n }\n const invoiceDataValue = sessionStorage.getItem(\n 'overdueInvoiceData'\n );\n if (invoiceDataValue) {\n isSubmit.value = false;\n } else {\n isSubmit.value = true;\n }\n const isInvoiceContinueValue = sessionStorage.getItem(\n 'isOverdueInvoiceContinue'\n );\n if (isInvoiceContinueValue) {\n invoiceUploadComplete.value = false;\n invoiceTit.value = '提交进度';\n isSubmit.value = false;\n invoicePercent.value = 0;\n if (invoiceDataValue) {\n const invoiceSession = JSON.parse(invoiceDataValue);\n invoiceContent.value =\n '0/' + invoiceSession.invoiceFileNum + '(0%完成)';\n }\n invoiceFileSize.value = '';\n }\n } else if (activeKey == '2') {\n if (licenseFile.value.length > 0) {\n totalSubmit.value = false;\n } else {\n totalSubmit.value = true;\n }\n const licenseDataValue = sessionStorage.getItem(\n 'overdueLicenseData'\n );\n if (licenseDataValue) {\n isSubmit.value = false;\n } else {\n isSubmit.value = true;\n }\n const isLicenseContinueValue = sessionStorage.getItem(\n 'isOverdueLicenseContinue'\n );\n if (isLicenseContinueValue) {\n licenseUploadComplete.value = false;\n licenseTit.value = '提交进度';\n isSubmit.value = false;\n licensePercent.value = 0;\n if (licenseDataValue) {\n const licenseSession = JSON.parse(licenseDataValue);\n licenseContent.value =\n '0/' + licenseSession.licenseFileNum + '(0%完成)';\n }\n licenseFileSize.value = '';\n }\n } else {\n if (relationProofFile.value.length > 0) {\n totalSubmit.value = false;\n } else {\n totalSubmit.value = true;\n }\n const relationProofDataValue = sessionStorage.getItem(\n 'overdueRelationProofData'\n );\n if (relationProofDataValue) {\n isSubmit.value = false;\n } else {\n isSubmit.value = true;\n }\n const isRelationProofContinueValue = sessionStorage.getItem(\n 'isOverdueRelationProofContinue'\n );\n if (isRelationProofContinueValue) {\n relationProofUploadComplete.value = false;\n relationProofTit.value = '提交进度';\n isSubmit.value = false;\n relationProofPercent.value = 0;\n if (relationProofDataValue) {\n const relationProofSession = JSON.parse(relationProofDataValue);\n relationProofContent.value =\n '0/' + relationProofSession.relationProofFileNum + '(0%完成)';\n }\n relationProofFileSize.value = '';\n } \n }\n initCon();\n };\n\n // 本地上传校验\n const beforeUpload = (file: FileItem, fileList: any) => {\n return new Promise((resolve, reject) => {\n const params = reactive({\n noticeType: '',\n content: '',\n btnVisible: false,\n });\n const isJpeg =\n file.name?.split('.')[1] === 'jpeg' ? true : false;\n const isJpg = file.type === 'image/jpeg';\n const isPdf = file.type === 'application/pdf';\n const isOfd = (file as any).name?.indexOf('.ofd') > -1;\n // 判断是否是JPG PDF OFD格式\n if ((bActiveKey.value === '3' && !isPdf) || (bActiveKey.value !== '3' && (!isJpg || isJpeg) && !isPdf && !isOfd)) {\n params.noticeType = 'error';\n params.content =\n `文件格式错误,请按照${bActiveKey.value === '3' ? 'PDF' : 'JPG PDF OFD'}格式进行文件上传`;\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n if (bActiveKey.value == '1') {\n invoiceCount.value = 1;\n } else {\n licenseCount.value = 1;\n }\n return reject(false);\n }\n // 判断图片大小\n const isLt5M = file.size / 1024 / 1024 < 5;\n if (!isLt5M) {\n params.noticeType = 'error';\n params.content = '文件大小必须小于5MB!';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n if (bActiveKey.value == '1') {\n invoiceCount.value = 1;\n } else {\n licenseCount.value = 1;\n }\n return reject(false);\n }\n // 判断图片数量\n const fileLength = fileList.length;\n // if (fileLength > 30) {\n // params.noticeType = 'warning';\n // params.content = '建议单次批量智传30张及以下文件数量为佳,是否继续上传?';\n // params.btnVisible = true;\n // Object.assign(modalData, params);\n // context.emit('get-modal-info', {modalVisible: true, modalData: modalData});\n // const continueWord = sessionStorage.getItem(\"modalContinue\");\n // if (continueWord == 'false') {\n // return reject(false);\n // }\n // }\n if (fileLength > 100) {\n params.noticeType = 'error';\n params.content = '文件数量不能大于100张';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n if (bActiveKey.value == '1') {\n invoiceCount.value = 1;\n } else if (bActiveKey.value == '2') {\n licenseCount.value = 1;\n } else {\n relationProofCount.value = 1;\n }\n return reject(false);\n }\n // 如果满足上述条件 则给对应的对象赋值\n if (bActiveKey.value == '1') {\n invoiceFile.value = fileList;\n tempInvoiceData.value = fileList;\n // Object.assign(tempInvoiceData, fileList);\n } else if (bActiveKey.value == '2') {\n licenseFile.value = fileList;\n tempLicenseData.value = fileList;\n // Object.assign(tempLicenseData, fileList);\n } else {\n relationProofFile.value = fileList;\n tempRelationProofData.value = fileList;\n }\n return resolve(true);\n });\n };\n\n // 重写默认上传方法 获取合规的发票图片信息\n const invoiceCustomRequest = (source: any) => {\n if (invoiceCount.value !== 1) {\n const size = ref(0);\n const params = reactive({\n noticeType: '',\n content: '',\n btnVisible: false,\n });\n invoiceFile.value.forEach((ele: any, index: number) => {\n size.value = size.value + ele.size;\n });\n invoiceFileNum.value = invoiceFile.value.length;\n invoiceContent.value =\n '0/' + invoiceFileNum.value + '(0%完成)';\n invoiceFileSize.value =\n (size.value / 1024 / 1024).toFixed(2) + 'MB';\n invoiceUploadComplete.value = false;\n totalSubmit.value = false;\n }\n };\n\n // 重写默认上传方法 获取合规的行驶证图片信息\n const licenseCustomRequest = (source: any) => {\n if (licenseCount.value !== 1) {\n const size = ref(0);\n const params = reactive({\n noticeType: '',\n content: '',\n btnVisible: false,\n });\n licenseFile.value.forEach((ele: any, index: number) => {\n size.value = size.value + ele.size;\n });\n licenseFileNum.value = licenseFile.value.length;\n licenseContent.value =\n '0/' + licenseFileNum.value + '(0%完成)';\n licenseFileSize.value =\n (size.value / 1024 / 1024).toFixed(2) + 'MB';\n licenseUploadComplete.value = false;\n totalSubmit.value = false;\n }\n };\n // 重写默认上传方法 获取合规的关系证明图片信息\n const relationProofCustomRequest = (source: any) => {\n if (relationProofCount.value !== 1) {\n const size = ref(0);\n const params = reactive({\n noticeType: '',\n content: '',\n btnVisible: false,\n });\n relationProofFile.value.forEach((ele: any, index: number) => {\n size.value = size.value + ele.size;\n });\n relationProofFileNum.value = relationProofFile.value.length;\n relationProofContent.value =\n '0/' + relationProofFileNum.value + '(0%完成)';\n relationProofFileSize.value =\n (size.value / 1024 / 1024).toFixed(2) + 'MB';\n relationProofUploadComplete.value = false;\n totalSubmit.value = false;\n }\n };\n // 上传发票\n const batchInvoice = async () => {\n try {\n const res = await batchInvoiceFile(\n invoiceConfig,\n invoiceKey.value,\n invoiceFormData\n );\n // 判断返回的code值 除0外都是异常\n if (res.code !== '0') {\n isInvoiceSuccess.value = false;\n invoiceProStatus.value = 'exception';\n invoiceContent.value = '上传失败';\n uploadError.value = true;\n modalParams.content = res.message;\n } else {\n modalParams.content =\n '当前批次已上传完成将进入到系统自动批量提交阶段,关闭窗口后可在任务中心中关注后续系统提交进程及结果。';\n invoiceProStatus.value = 'normal';\n isInvoiceSuccess.value = true;\n }\n } catch (e) {\n isInvoiceSuccess.value = false;\n uploadError.value = true;\n invoiceProStatus.value = 'exception';\n invoiceContent.value = '上传失败';\n modalParams.content = '上传失败';\n }\n };\n // 上传行驶证\n const batchLicense = async () => {\n try {\n const res = await batchLicenseFile(\n licenseConfig,\n licenseKey.value,\n licenseFormData\n );\n // 判断返回的code值 除0外都是异常\n if (res.code !== '0') {\n isLicenseSuccess.value = false;\n licenseProStatus.value = 'exception';\n licenseContent.value = '上传失败';\n uploadError.value = true;\n modalParams.content = res.message;\n } else {\n modalParams.content =\n '当前批次已上传完成将进入到系统自动批量提交阶段,关闭窗口后可在任务中心中关注后续系统提交进程及结果。';\n licenseProStatus.value = 'normal';\n isLicenseSuccess.value = true;\n }\n } catch (e) {\n isLicenseSuccess.value = false;\n uploadError.value = true;\n licenseProStatus.value = 'exception';\n licenseContent.value = '上传失败';\n modalParams.content = '上传失败';\n }\n };\n // 上传行驶证\n const batchRelationProof = async () => {\n try {\n const res = await batchRelationProofFile(\n relationProofConfig,\n relationProofKey.value,\n relationProofFormData\n );\n // 判断返回的code值 除0外都是异常\n if (res.code !== '0') {\n isRelationProofSuccess.value = false;\n relationProofProStatus.value = 'exception';\n relationProofContent.value = '上传失败';\n uploadError.value = true;\n modalParams.content = res.message;\n } else {\n modalParams.content =\n '当前批次已上传完成将进入到系统自动批量提交阶段,关闭窗口后可在任务中心中关注后续系统提交进程及结果。';\n relationProofProStatus.value = 'normal';\n isRelationProofSuccess.value = true;\n }\n } catch (e) {\n isRelationProofSuccess.value = false;\n uploadError.value = true;\n relationProofProStatus.value = 'exception';\n relationProofContent.value = '上传失败';\n modalParams.content = '上传失败';\n }\n };\n // 上传报错 关闭弹窗 重置相应数据\n const isResetModal = (param: { continue: boolean }) => {\n const isCloseModal = param.continue;\n if (isCloseModal) {\n if (invoiceProStatus.value == 'exception') {\n invoiceUploadComplete.value = true;\n totalSubmit.value = true;\n invoiceProStatus.value = 'normal';\n invoicePercent.value = 0;\n tempInvoiceData.value = [];\n invoiceFormData.delete('files');\n }\n if (licenseProStatus.value == 'exception') {\n licenseUploadComplete.value = true;\n totalSubmit.value = true;\n licenseProStatus.value = 'normal';\n licensePercent.value = 0;\n tempLicenseData.value = [];\n licenseFormData.delete('files');\n }\n }\n };\n // 图片格式错误 再次上传清空之前记录数\n const isResetCount = (param: { continue: boolean }) => {\n const resetCount = param.continue;\n if (resetCount) {\n if (bActiveKey.value == '1') {\n invoiceCount.value = 0;\n } else if (bActiveKey.value == '2') {\n licenseCount.value = 0;\n } else {\n relationProofCount.value = 0;\n }\n }\n };\n // 提交\n const batchSubmit = async () => {\n if (bActiveKey.value == '1') {\n licenseDisabled.value = true;\n // 计时器每4秒请求一次提交进度接口 调用进度 刷新进度样式\n timer.value = setInterval(async () => {\n await batchSub('invoice', invoiceKey.value);\n }, 4000);\n sessionStorage.setItem('isOverdueInvoiceContinue', 'invoice');\n } else if (bActiveKey.value == '2') {\n invoiceDisabled.value = true;\n // 计时器每4秒请求一次提交进度接口 调用进度 刷新进度样式\n timer.value = setInterval(async () => {\n await batchSub('license', licenseKey.value);\n }, 4000);\n sessionStorage.setItem('isOverdueLicenseContinue', 'license');\n } else {\n relationProofDisabled.value = true;\n // 计时器每4秒请求一次提交进度接口 调用进度 刷新进度样式\n timer.value = setInterval(async () => {\n await batchSub('relationProof', relationProofKey.value);\n }, 4000);\n sessionStorage.setItem('isOverdueRelationProofContinue', 'relationProof');\n }\n };\n // 智传\n const submitFile = async () => {\n totalSubmit.value = true;\n if (bActiveKey.value == '1') {\n licenseDisabled.value = true;\n relationProofDisabled.value = true;\n // 清空之前请求存储数据\n sessionStorage.setItem('overdueInvoiceSuccess', '');\n sessionStorage.setItem('isOverdueInvoiceContinue', '');\n invoiceClickCount.value = 1;\n // 转换上传数据格式\n (tempInvoiceData as any).value.forEach(\n (ele: any, index: number) => {\n invoiceFormData.append('files', ele);\n }\n );\n invoiceProStatus.value = 'normal';\n await batchInvoice();\n // 判断上传是否成功 进行相关处理\n if (isInvoiceSuccess.value) {\n modalParams.noticeType = 'warning';\n modalParams.btnVisible = false;\n invoiceFileSize.value = '';\n // 传递相关需要保存的数据\n const invoiceSession = reactive({\n invoiceData: tempInvoiceData,\n isInvoiceSuccess: true,\n invoiceFileNum: invoiceFileNum,\n invoiceFileSize: invoiceFileSize,\n invoiceKey: invoiceKey,\n });\n totalSubmit.value = true;\n // 获取是否取消了上传 若取消了 则清空相关存储数据 若未取消则存储相关数据\n const invoiceIsSuccess = sessionStorage.getItem(\n 'overdueInvoiceSuccess'\n );\n if (invoiceIsSuccess) {\n sessionStorage.setItem('overdueInvoiceData', '');\n } else {\n sessionStorage.setItem(\n 'overdueInvoiceData',\n JSON.stringify(invoiceSession)\n );\n }\n // 上传成功调用提交接口\n batchSubmit();\n } else {\n modalParams.noticeType = 'error';\n modalParams.btnVisible = false;\n sessionStorage.setItem('overdueInvoiceData', '');\n }\n licenseDisabled.value = (props as any).noLicense && false;\n relationProofDisabled.value = (props as any).noRelationProof && false;\n } else if ((bActiveKey.value == '2')) {\n invoiceDisabled.value = true;\n relationProofDisabled.value = true;\n licenseProStatus.value = 'normal';\n // 清空之前请求存储数据\n sessionStorage.setItem('overdueLicenseSuccess', '');\n sessionStorage.setItem('isOverdueLicenseContinue', '');\n licenseClickCount.value = 1;\n // 转换上传数据格式\n (tempLicenseData as any).value.forEach(\n (ele: any, index: number) => {\n licenseFormData.append('files', ele);\n }\n );\n await batchLicense();\n // 判断上传是否成功 进行相关处理\n if (isLicenseSuccess.value) {\n modalParams.noticeType = 'warning';\n modalParams.btnVisible = false;\n licenseFileSize.value = '';\n // 传递相关需要保存的数据\n const licenseSession = reactive({\n licenseData: tempLicenseData,\n isLicenseSuccess: true,\n licenseFileNum: licenseFileNum,\n licenseFileSize: licenseFileSize,\n licenseKey: licenseKey,\n });\n totalSubmit.value = true;\n // 获取是否取消了上传 若取消了 则清空相关存储数据 若未取消则存储相关数据\n const licenseIsSuccess = sessionStorage.getItem(\n 'overdueLicenseSuccess'\n );\n if (licenseIsSuccess) {\n sessionStorage.setItem('overdueLicenseData', '');\n } else {\n sessionStorage.setItem(\n 'overdueLicenseData',\n JSON.stringify(licenseSession)\n );\n }\n // 上传成功调用提交接口\n batchSubmit();\n } else {\n modalParams.noticeType = 'error';\n modalParams.btnVisible = false;\n sessionStorage.setItem('overdueLicenseData', '');\n }\n invoiceDisabled.value = false;\n relationProofDisabled.value = (props as any).noRelationProof && false;\n } else {\n invoiceDisabled.value = true;\n licenseDisabled.value = true;\n relationProofProStatus.value = 'normal';\n // 清空之前请求存储数据\n sessionStorage.setItem('overdueRelationProofSuccess', '');\n sessionStorage.setItem('isOverdueRelationProofContinue', '');\n relationProofClickCount.value = 1;\n // 转换上传数据格式\n (tempRelationProofData as any).value.forEach(\n (ele: any, index: number) => {\n relationProofFormData.append('files', ele);\n }\n );\n await batchRelationProof();\n // 判断上传是否成功 进行相关处理\n if (isRelationProofSuccess.value) {\n modalParams.noticeType = 'warning';\n modalParams.btnVisible = false;\n relationProofFileSize.value = '';\n // 传递相关需要保存的数据\n const relationProofSession = reactive({\n relationProofData: tempRelationProofData,\n isRelationProofSuccess: true,\n relationProofFileNum,\n relationProofFileSize,\n relationProofKey,\n });\n totalSubmit.value = true;\n // 获取是否取消了上传 若取消了 则清空相关存储数据 若未取消则存储相关数据\n const relationProofIsSuccess = sessionStorage.getItem(\n 'overdueRelationProofSuccess'\n );\n if (relationProofIsSuccess) {\n sessionStorage.setItem('overdueRelationProofData', '');\n } else {\n sessionStorage.setItem(\n 'overdueRelationProofData',\n JSON.stringify(relationProofSession)\n );\n }\n // 上传成功调用提交接口\n batchSubmit();\n } else {\n modalParams.noticeType = 'error';\n modalParams.btnVisible = false;\n sessionStorage.setItem('overdueRelationProofData', '');\n }\n invoiceDisabled.value = false;\n licenseDisabled.value = (props as any).noLicense && false;\n }\n // 判断是否点击了打断按钮\n const continueValue = sessionStorage.getItem('overdueContinue');\n if (closeCount.value == 0 || continueValue !== 'true') {\n Object.assign(modalData, modalParams);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData,\n });\n } else {\n closeCount.value = 0;\n }\n initCon();\n };\n // 分页逻辑\n const pageChange = (page: number, pageSize: number) => {\n current.value = page > 0 ? page : 1;\n size.value = pageSize;\n if (bActiveKey.value == '1') {\n getBatchSubmitResult(invoiceKey.value);\n } else if (bActiveKey.value == '2') {\n getBatchSubmitResult(licenseKey.value);\n } else {\n getBatchSubmitResult(relationProofKey.value);\n }\n };\n const sizeChange = (page: number, pageSize: number) => {\n current.value = page > 0 ? page : 1;\n size.value = pageSize;\n if (bActiveKey.value == '1') {\n getBatchSubmitResult(invoiceKey.value);\n } else if (bActiveKey.value == '2') {\n getBatchSubmitResult(licenseKey.value);\n } else {\n getBatchSubmitResult(relationProofKey.value);\n }\n };\n // 继续上传 清空相关数据\n const goOnUpload = () => {\n if (bActiveKey.value == '1') {\n invoiceUploadComplete.value = true;\n invoiceTit.value = '文件上传';\n sessionStorage.setItem('overdueInvoiceData', '');\n sessionStorage.setItem('isOverdueInvoiceContinue', '');\n invoicePercent.value = 0;\n invoiceKey.value = guid();\n invoiceSubCount.value = 0;\n invoiceFormData.delete('files');\n } else if (bActiveKey.value == '2') {\n licenseUploadComplete.value = true;\n licenseTit.value = '文件上传';\n licensePercent.value = 0;\n licenseKey.value = guid();\n licenseSubCount.value = 0;\n licenseFormData.delete('files');\n sessionStorage.setItem('overdueLicenseData', '');\n sessionStorage.setItem('isOverdueLicenseContinue', '');\n } else {\n relationProofUploadComplete.value = true;\n relationProofTit.value = '文件上传';\n relationProofPercent.value = 0;\n relationProofKey.value = guid();\n relationProofSubCount.value = 0;\n relationProofFormData.delete('files');\n sessionStorage.setItem('overdueRelationProofData', '');\n sessionStorage.setItem('isOverdueRelationProofContinue', '');\n }\n isContinue.value = false;\n dataSource.value = {\n submitResult: {\n content: [],\n },\n };\n isSubmit.value = true;\n totalSubmit.value = true;\n };\n // 导出提交结果\n const exportSubmitEvent = () => {\n // 目前是batchNo写死的 假数据\n const batchNo = ref('');\n if (bActiveKey.value == '1') {\n batchNo.value = invoiceKey.value;\n } else if (bActiveKey.value == '2') {\n batchNo.value = licenseKey.value;\n } else {\n batchNo.value = relationProofKey.value;\n }\n const params = {\n url:\n `/rvapi/basic/apply/dealer/submitResultExport?batchNo=` +\n batchNo.value,\n method: 'post',\n params: {},\n fileName: `${moment(new Date()).format('YYYYMMDDhhmmss')}.xlsx`,\n };\n downloadFile(params, 'application/vnd-excel; char-set=UTF-8');\n };\n\n onBeforeMount(() => {\n clearInterval(timer.value);\n timer.value = 0;\n });\n\n return {\n bActiveKey,\n modal,\n close,\n beforeUpload,\n invoiceUploadComplete,\n licenseUploadComplete,\n relationProofUploadComplete,\n submitFile,\n batchInvoice,\n batchLicense,\n invoiceCustomRequest,\n licenseCustomRequest,\n relationProofCustomRequest,\n invoiceFile,\n licenseFile,\n invoicePercent,\n licensePercent,\n relationProofPercent,\n invoiceConfig,\n licenseConfig,\n invoiceProStatus,\n licenseProStatus,\n relationProofProStatus,\n invoiceContent,\n licenseContent,\n relationProofContent,\n totalSubmit,\n isInvoiceSuccess,\n isLicenseSuccess,\n modalData,\n changeTab,\n invoiceCount,\n licenseCount,\n invoiceFileSize,\n licenseFileSize,\n relationProofFileSize,\n invoiceFileNum,\n licenseFileNum,\n relationProofFileNum,\n tempInvoiceData,\n tempLicenseData,\n closeCount,\n modalParams,\n initCon,\n invoiceTit,\n licenseTit,\n relationProofTit,\n batchSubmit,\n isSubmit,\n isContinue,\n columns,\n current,\n size,\n pageChange,\n sizeChange,\n dataSource,\n invoiceSubCount,\n licenseSubCount,\n invoiceClickCount,\n licenseClickCount,\n exportSubmitEvent,\n goOnUpload,\n isResetModal,\n isResetCount,\n batchSub,\n timer,\n getBatchSubmitResult,\n invoiceDisabled,\n licenseDisabled,\n relationProofDisabled,\n isSame,\n };\n },\n});\n","import { render } from \"./batchLicenseUpload.vue?vue&type=template&id=13f920ac&scoped=true&ts=true\"\nimport script from \"./batchLicenseUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./batchLicenseUpload.vue?vue&type=script&lang=ts\"\n\nimport \"./batchLicenseUpload.vue?vue&type=style&index=0&id=13f920ac&lang=scss&scoped=true\"\nimport \"./batchLicenseUpload.vue?vue&type=style&index=1&id=13f920ac&lang=scss\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-13f920ac\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/claim/rect.png'\nimport _imports_1 from '@/assets/images/rv/upload.svg'\nimport _imports_2 from '@/assets/images/rv/complete.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-07076a93\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"rect\"\n }),\n /*#__PURE__*/_createElementVNode(\"strong\", { class: \"wrap-title\" }, \"上传延期证明\")\n], -1))\nconst _hoisted_2 = { class: \"uploadCon\" }\nconst _hoisted_3 = { class: \"proveUploadCon\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"uploadH\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-drag-icon\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n class: \"uploadIcon\"\n })\n], -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"ant-upload-text\" }, [\n /*#__PURE__*/_createTextVNode(\"通过拖放来上传或点击\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"blueFont\" }, \"浏览文件\")\n], -1))\nconst _hoisted_7 = {\n key: 0,\n class: \"uploadH uploadProgressCon\"\n}\nconst _hoisted_8 = { class: \"progressCon\" }\nconst _hoisted_9 = { class: \"progressFlexCon\" }\nconst _hoisted_10 = { class: \"progressTitCon\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"延期证明上传:\", -1))\nconst _hoisted_12 = { class: \"progressVal\" }\nconst _hoisted_13 = { class: \"totalProgressCon\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"progressTit\" }, \"总进度:\", -1))\nconst _hoisted_15 = { class: \"progressShow\" }\nconst _hoisted_16 = { class: \"filePro uploadPro\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"completeCon\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_2,\n class: \"completeIcon\"\n}, null, -1))\nconst _hoisted_19 = /*#__PURE__*/_createTextVNode(\" 完成 \")\nconst _hoisted_20 = [\n _hoisted_18,\n _hoisted_19\n]\nconst _hoisted_21 = { key: 1 }\nconst _hoisted_22 = { class: \"filePro fileSize\" }\nconst _hoisted_23 = { class: \"selectCon\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"区域经理\", -1))\nconst _hoisted_25 = { style: {\n position: 'absolute',\n right: 0,\n bottom: 0,\n width: '100%',\n padding: '10px 16px',\n background: '#fff',\n textAlign: 'right',\n zIndex: 1\n } }\nconst _hoisted_26 = /*#__PURE__*/_createTextVNode(\"确定\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_upload_dragger = _resolveComponent(\"a-upload-dragger\")!\n const _component_a_progress = _resolveComponent(\"a-progress\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_modal = _resolveComponent(\"a-modal\")!\n\n return (_openBlock(), _createBlock(_component_a_modal, {\n closable: true,\n visible: _ctx.modal,\n centered: \"\",\n width: \"40%\",\n onCancel: _ctx.close\n }, {\n default: _withCtx(() => [\n _hoisted_1,\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.proveUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_a_upload_dragger, {\n name: \"file\",\n multiple: true,\n listType: \"picture-card\",\n showUploadList: false,\n customRequest: _ctx.proveCustomRequest,\n \"before-upload\": _ctx.beforeUpload\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"customRequest\", \"before-upload\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.proveUploadComplete)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"p\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.proveFileName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(_component_a_progress, {\n percent: _ctx.provePercent,\n status: _ctx.proveProStatus\n }, null, 8, [\"percent\", \"status\"]),\n _createElementVNode(\"div\", _hoisted_16, [\n (_ctx.provePercent == 100)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, _hoisted_20))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_21, _toDisplayString(_ctx.proveContent), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(_ctx.proveFileSize), 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createVNode(_component_a_space, {\n direction: \"vertical\",\n class: \"spaceMargin\"\n }, {\n default: _withCtx(() => [\n _hoisted_24,\n _createVNode(_component_a_select, {\n value: _ctx.manager,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.manager) = $event)),\n style: {\"width\":\"200px\"},\n ref: \"select\",\n placeholder: \"请选择\",\n allowClear: \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.regionManagerList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.usrid,\n value: item.usrid\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.fulnm), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.submitFile\n }, {\n default: _withCtx(() => [\n _hoisted_26\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onCancel\"]))\n}","\nimport { defineComponent, ref, reactive, computed } from 'vue';\nimport { FileItem } from '@/API/types';\nimport { submitProveFile } from '@/API/delayCallback/overdueSearch';\nimport { getManagerApi } from '@/API/claim/delaerClaim/delaer';\nimport { getAllBrands, findBuByBrand } from '@/API/rv/rvDealer';\nimport { useStore } from 'vuex';\n\nexport default defineComponent({\n components: {},\n emits: ['close-prove-visible', 'get-modal-info'],\n props: {\n isProveVisible: {\n type: Boolean,\n required: true,\n default: false\n },\n idList: {\n type: Array,\n required: true,\n default() {\n return [];\n }\n },\n brand: {\n type: String,\n required: false,\n default: ''\n }\n },\n setup(props, context) {\n // 获取相关数据\n const modal = (props as any).isProveVisible;\n const vinList = (props as any).idList;\n const proveVisible = ref(false);\n\n // 文件上传\n const proveUploadComplete = ref(true);\n const proveFormData = new FormData();\n const proveFileName = ref('');\n const proveFileSize = ref('');\n const proveFile = ref('');\n // 进度条\n const provePercent = ref(0);\n const proveContent = ref('0%完成');\n const proveProStatus = ref('normal');\n const isProveSuccess = ref(false);\n const proveConfig = {\n onUploadProgress: (progressEvent: any) => {\n if (progressEvent.lengthComputable) {\n const complete = ((progressEvent.loaded / progressEvent.total) * 100) | 0;\n provePercent.value = complete;\n proveContent.value = complete + '%完成';\n }\n }\n };\n const proveFileData = reactive([]);\n // 弹窗初始化\n const modalData = reactive({});\n const modalParams = reactive({\n noticeType: '',\n content: '',\n btnVisible: false\n });\n const manager = ref('');\n\n const close = () => {\n context.emit('close-prove-visible', { isSubVisible: false });\n };\n\n const beforeUpload = (file: FileItem, fileList: any) => {\n return new Promise((resolve, reject) => {\n const params = reactive({\n noticeType: '',\n content: '',\n btnVisible: false\n });\n const isPdf = file.type === 'application/pdf';\n if (!isPdf) {\n params.noticeType = 'error';\n params.content = '文件格式错误,请按照PDF格式进行文件上传';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n proveProStatus.value = 'exception';\n return reject(false);\n }\n const isLt5M = file.size / 1024 / 1024 < 5;\n if (!isLt5M) {\n params.noticeType = 'error';\n params.content = '文件大小必须小于5MB!';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n proveProStatus.value = 'exception';\n return reject(false);\n }\n const fileLength = fileList.length;\n if (fileLength > 1) {\n params.noticeType = 'error';\n params.content = '请上传单张证明';\n params.btnVisible = false;\n Object.assign(modalData, params);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n proveProStatus.value = 'exception';\n return reject(false);\n }\n return resolve(true);\n });\n };\n\n const proveCustomRequest = (source: any) => {\n proveFormData.append('file', source.file);\n proveFileName.value = source.file.name;\n proveFile.value = source.file.name;\n proveFileSize.value = (source.file.size / 1024 / 1024).toFixed(2) + 'MB';\n proveUploadComplete.value = false;\n };\n // 上传报错 关闭弹窗 重置相应数据\n const isResetModal = (param: { continue: boolean }) => {\n const isCloseModal = param.continue;\n if (isCloseModal) {\n if (proveProStatus.value == 'exception') {\n proveUploadComplete.value = true;\n proveProStatus.value = 'normal';\n provePercent.value = 0;\n proveFormData.delete('files');\n }\n }\n };\n\n const submitProve = async () => {\n try {\n const res = await submitProveFile(proveConfig, proveFormData);\n if (res.code !== '0') {\n isProveSuccess.value = false;\n proveProStatus.value = 'exception';\n provePercent.value = 95;\n proveFileSize.value = '';\n proveContent.value = '失败';\n modalParams.content = res.message;\n } else {\n proveProStatus.value = 'normal';\n modalParams.content = '上传成功!';\n isProveSuccess.value = true;\n }\n } catch (e) {\n isProveSuccess.value = false;\n proveProStatus.value = 'exception';\n provePercent.value = 95;\n proveFileSize.value = '';\n modalParams.content = '上传失败';\n }\n };\n const submitFile = async () => {\n if (proveFile.value && manager.value) {\n proveFormData.append('idList', vinList);\n proveFormData.append('regionManager', manager.value);\n await submitProve();\n if (isProveSuccess.value) {\n modalParams.noticeType = 'success';\n modalParams.btnVisible = false;\n close();\n } else {\n modalParams.noticeType = 'error';\n modalParams.btnVisible = false;\n }\n } else {\n if (!proveFile.value) {\n modalParams.noticeType = 'warning';\n modalParams.btnVisible = false;\n modalParams.content = '请上传延期证明材料';\n } else {\n modalParams.noticeType = 'warning';\n modalParams.btnVisible = false;\n modalParams.content = '请选择对应的区域审批人';\n }\n }\n Object.assign(modalData, modalParams);\n context.emit('get-modal-info', {\n modalVisible: true,\n modalData: modalData\n });\n };\n\n // 区域经理\n const regionManager = ref('');\n const regionManagerList = ref([]);\n\n const store = useStore();\n const dealerCode = computed(() => {\n return (store.state.user as any).organization.entityCode;\n });\n const brand = (props as any).brand;\n let buNameList: any[] = [];\n const brandIdMaps = {};\n\n const getManagerList = (name: string) => {\n return getManagerApi({\n dealerCode: dealerCode.value,\n programBu: name\n });\n };\n\n getAllBrands()\n .then((res: any) => {\n res.forEach((ele: any) => {\n brandIdMaps[ele.brandNameEn] = ele.id;\n });\n })\n .then((_: any) => {\n console.log(brand, 'brand');\n return findBuByBrand({ brandIds: brandIdMaps[brand] }).then((res: any) => {\n const noUseBus = ['Fleet', 'CPO', 'CompanyCar'];\n buNameList = res.filter((ele: any) => {\n return !noUseBus.includes(ele.nameEn);\n });\n });\n })\n .then((_) => {\n const fns: any[] = [];\n buNameList.map((bu: any) => {\n fns.push(getManagerList(bu.nameEn));\n });\n Promise.all(fns).then((result: any) => {\n const usrIds: string[] = [];\n //! 优化\n const usrList = result.filter(Boolean).reduce((usrs: any, item: any) => {\n if (!usrIds.includes(item.usrid)) {\n usrIds.push(item.usrid);\n return [...usrs, ...item];\n }\n return usrs;\n }, []);\n regionManagerList.value = usrList;\n });\n });\n return {\n modal,\n vinList,\n proveVisible,\n close,\n beforeUpload,\n proveUploadComplete,\n submitFile,\n submitProve,\n proveCustomRequest,\n provePercent,\n proveConfig,\n proveProStatus,\n proveContent,\n isProveSuccess,\n modalData,\n proveFileData,\n modalParams,\n proveFileName,\n proveFileSize,\n manager,\n regionManager,\n regionManagerList,\n proveFile,\n isResetModal\n };\n }\n});\n","import { render } from \"./proveUpload.vue?vue&type=template&id=07076a93&scoped=true&ts=true\"\nimport script from \"./proveUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./proveUpload.vue?vue&type=script&lang=ts\"\n\nimport \"./proveUpload.vue?vue&type=style&index=0&id=07076a93&lang=scss&scoped=true\"\nimport \"./proveUpload.vue?vue&type=style&index=1&id=07076a93&lang=scss\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-07076a93\"]])\n\nexport default __exports__","\nimport {\n defineComponent,\n reactive,\n ref,\n nextTick,\n provide,\n computed,\n} from 'vue';\nimport { QueryListType, SearchListType } from '@/views/DelayCallback/types';\nimport SingleLicenseUpload from '@/views/DelayCallback/Retail/components/singleLicenseUpload.vue';\nimport BatchLicenseUpload from '@/views/DelayCallback/Retail/components/batchLicenseUpload.vue';\nimport ProveUpload from '@/views/DelayCallback/Retail/components/proveUpload.vue';\nimport NoticeModal from '@/components/NoticeModal.vue';\nimport {\n getfileSize,\n cancelUploadFile,\n getPicBasic,\n getSearchResult,\n submitInformation,\n} from '@/API/delayCallback/overdueSearch';\nimport setColumnWidth from '@/utils/rv/setColumnWidth';\nimport base64toBlob from '@/utils/rv/base64toBlob';\nimport { useStore } from 'vuex';\nimport { message } from 'ant-design-vue';\n// 表格数据\nconst columns = reactive([\n { title: '车架号', dataIndex: 'vinNo', align: 'center', width: 168 },\n { title: '车型', dataIndex: 'model', align: 'center', width: 100 },\n { title: '年款', dataIndex: 'typeClass', align: 'center', width: 100 },\n {\n title: '客户名称',\n dataIndex: 'customerName',\n align: 'center',\n width: 104,\n },\n { title: '零售类型', dataIndex: 'usage', align: 'center', width: 104 },\n { title: '零售日期', dataIndex: 'retailDate', align: 'center', width: 100 },\n {\n title: '延期截止日期',\n dataIndex: 'extensionDeadline',\n align: 'center',\n width: 120,\n },\n {\n title: '特殊车辆用途',\n dataIndex: 'specialUsage',\n align: 'center',\n width: 100,\n },\n {\n title: '文件',\n fixed: 'right',\n width: 270,\n dataIndex: 'operation',\n slots: { customRender: 'operation' },\n },\n {\n title: '待提交',\n fixed: 'right',\n width: 100,\n dataIndex: 'notSubmit',\n slots: { customRender: 'notSubmit' },\n },\n]);\nconst saleArray = ['最终用户用车', '经销商用车', '全部'];\n\nconst tableWidth = window.innerWidth;\nexport default defineComponent({\n components: {\n SingleLicenseUpload,\n BatchLicenseUpload,\n ProveUpload,\n NoticeModal,\n },\n setup() {\n const store = useStore();\n const dealerCode = computed(\n () => store.state.user.organization.entityCode\n );\n const tableHeight = ref();\n const visible = ref(false);\n const isBatchVisible = ref(false);\n const subLicense = ref();\n // 打开筛选条件\n const isOpen = ref(false);\n const searchCon = ref();\n // 批量复制\n const tableData = ref([]);\n //分页组件\n const pagination = reactive({\n pageSize: 20,\n currentPage: 1,\n total: 0,\n });\n //筛选条件,各个信息框的内容\n const searchParams = reactive({\n vinNo: '',\n model: '',\n usage: '全部',\n retailPeriod: [],\n });\n // 设置搜索值\n const params = reactive({\n vinNo: '',\n model: '',\n usage: '全部',\n retailStartDate: '',\n retailEndDate: '',\n current: 1,\n size: 20,\n });\n // 表格复选框逻辑\n const state = reactive({\n selectedRowKeys: [], // Check here to configure the default column\n selectedRows: [],\n });\n const hasSelected = computed(() => state.selectedRowKeys.length > 0);\n\n // 重置查询条件\n const resetEvent = () => {\n searchParams.vinNo = '';\n searchParams.model = '';\n searchParams.usage = '全部';\n searchParams.retailPeriod = [];\n pagination.pageSize = 20;\n pagination.currentPage = 1;\n };\n const getTableScroll = () => {\n nextTick(() => {\n // 默认底部分页50 + 边距10\n const extraHeight = 110;\n const tHeader = document.getElementsByClassName('table-box')[0];\n //表格内容距离顶部的距离\n let tHeaderBottom = 0;\n if (tHeader) {\n tHeaderBottom = tHeader.getBoundingClientRect().top;\n }\n //窗体高度-表格内容顶部的高度-表格内容底部的高度\n const height = `calc(100vh - ${tHeaderBottom + extraHeight}px)`;\n tableHeight.value = height;\n if (!(tableData.value && tableData.value.length > 0)) {\n (document.getElementsByClassName(\n 'ant-table-placeholder'\n )[0] as any).style.height = `calc(100vh - ${tHeaderBottom +\n 60}px)`;\n }\n });\n };\n // 获取params\n const getParams = () => {\n params.vinNo = '';\n params.model = '';\n params.usage = '';\n params.retailStartDate = '';\n params.retailEndDate = '';\n params.current = pagination.currentPage;\n params.size = pagination.pageSize;\n\n if (searchParams.vinNo) {\n params.vinNo = searchParams.vinNo.trim();\n }\n\n if (searchParams.model) {\n params.model = searchParams.model.trim();\n }\n\n if (searchParams.usage) {\n params.usage = searchParams.usage;\n }\n\n if (searchParams.retailPeriod.length > 0) {\n params.retailStartDate = searchParams.retailPeriod[0];\n params.retailEndDate = searchParams.retailPeriod[1];\n }\n };\n //根据筛选框信息,查询表格\n const getTableData = () => {\n getParams();\n getSearchResult(params).then((res: any): void => {\n tableData.value = res.content;\n pagination.total = res.totalElements;\n const customerColumn = [\n 'model',\n 'customerName',\n 'specialUsage',\n ];\n tableData.value.length &&\n Object.assign(\n columns,\n setColumnWidth(columns, tableData.value, customerColumn)\n );\n });\n getTableScroll();\n state.selectedRowKeys = [];\n state.selectedRows = [];\n };\n // 分页逻辑\n const pageChange = (page: number, pageSize: number) => {\n pagination.currentPage = page > 0 ? page : 1;\n pagination.pageSize = pageSize;\n getTableData();\n };\n const sizeChange = (page: number, pageSize: number) => {\n pagination.currentPage = page > 0 ? page : 1;\n pagination.pageSize = pageSize;\n getTableData();\n };\n\n const onSelectChange = (selectedRowKeys: [], selectedRows: []) => {\n state.selectedRowKeys = selectedRowKeys;\n state.selectedRows = selectedRows;\n };\n\n // 单张提交\n const isSubVisible = ref(false);\n const isInvoice = ref(false);\n const isLicense = ref(false);\n const isRelationProof = ref(false);\n const selectInfo = reactive([]);\n //弹窗显示\n const modalVisible = ref(false);\n const modalData = reactive({});\n const modalParams = reactive({\n noticeType: '',\n content: '',\n btnVisible: false,\n });\n // 批量发票行驶证提交\n const batchRef = ref();\n const batchActiveKey = ref('1');\n // 上传证明弹窗\n const isProveVisible = ref(false);\n const idList = ref([]);\n const proveRef = ref();\n // 关闭单张发票提交和行驶证提交弹窗\n const closeSub = (param: { isSubVisible: boolean }) => {\n isSubVisible.value = param.isSubVisible;\n sessionStorage.setItem('overdueFileSize', '');\n // 提交成功刷新数据\n getTableData();\n };\n //关闭批量上传弹窗\n const closeBatch = (param: { visible: boolean }) => {\n isBatchVisible.value = param.visible;\n getTableData();\n };\n // 关闭上传证明弹窗\n const closeProve = (param: { visible: boolean }) => {\n isProveVisible.value = param.visible;\n getTableData();\n };\n const getModalInfo = (param: {\n modalVisible: boolean;\n modalData: object;\n }) => {\n modalVisible.value = param.modalVisible;\n Object.assign(modalData, param.modalData);\n };\n // 取消上传方法\n const cancelUpload = async (\n type: string,\n batchNo: string\n ) => {\n try {\n const res = await cancelUploadFile(batchNo);\n if (res.code !== '0') {\n modalVisible.value = true;\n modalParams.noticeType = 'error';\n modalParams.content = res.message;\n modalParams.btnVisible = false;\n Object.assign(modalData, params);\n if (type === 'invoice') {\n sessionStorage.setItem('overdueInvoiceSuccess', '');\n } else if (type === 'license') {\n sessionStorage.setItem('overdueLicenseSuccess', '');\n } else {\n sessionStorage.setItem('overdueRelationProofSuccess', '');\n }\n } else {\n if (type === 'invoice') {\n sessionStorage.setItem(\n 'overdueInvoiceSuccess',\n 'success'\n );\n isBatchVisible.value = false;\n } else if (type === 'license') {\n sessionStorage.setItem(\n 'overdueLicenseSuccess',\n 'success'\n );\n isBatchVisible.value = false;\n } else {\n sessionStorage.setItem(\n 'overdueRelationProofSuccess',\n 'success'\n );\n isBatchVisible.value = false;\n }\n }\n } catch (e) {\n modalVisible.value = true;\n modalParams.noticeType = 'error';\n modalParams.content = '取消上传失败!';\n modalParams.btnVisible = false;\n Object.assign(modalData, params);\n if (type === 'invoice') {\n sessionStorage.setItem('overdueInvoiceSuccess', '');\n } else if (type === 'license') {\n sessionStorage.setItem('overdueLicenseSuccess', '');\n } else {\n sessionStorage.setItem('overdueRelationProofSuccess', '');\n }\n }\n };\n // 关闭信息弹窗\n const closeModal = (param: {\n isVisible: boolean;\n continue: boolean;\n }) => {\n modalVisible.value = param.isVisible;\n // 若continue为true 则调用取消上传方法\n if (param.continue) {\n const stopInvoice = sessionStorage.getItem(\n 'stopOverdueInvoice'\n );\n if (stopInvoice) {\n sessionStorage.setItem('overdueInvoiceData', '');\n cancelUpload('invoice', stopInvoice);\n } else {\n sessionStorage.setItem('overdueInvoiceSuccess', '');\n }\n const stopLicense = sessionStorage.getItem(\n 'stopOverdueLicense'\n );\n if (stopLicense) {\n sessionStorage.setItem('overdueLicenseData', '');\n cancelUpload('license', stopLicense);\n } else {\n sessionStorage.setItem('overdueLicenseSuccess', '');\n }\n const stopRelationProof = sessionStorage.getItem(\n 'stopOverdueRelationProof'\n );\n if (stopRelationProof) {\n sessionStorage.setItem('overdueRelationProofData', '');\n cancelUpload('relationProof', stopRelationProof);\n } else {\n sessionStorage.setItem('overdueRelationProofSuccess', '');\n }\n }\n };\n // 上传失败 关闭信息调用子组件方法刷新页面样式\n const isResetModal = (param: { continue: boolean }) => {\n if (isBatchVisible.value) {\n batchRef.value.isResetModal({ continue: param.continue });\n }\n if (isProveVisible.value) {\n proveRef.value.isResetModal({ continue: param.continue });\n }\n };\n // 图片有问题 再次上传清空之前记录\n const isRestCount = (param: { continue: boolean }) => {\n if (isBatchVisible.value) {\n batchRef.value.isResetCount({ continue: param.continue });\n }\n };\n getTableData();\n // 发票/行驶证/证明 查看弹窗\n const pictureModal = reactive({\n pictureModalFlag: false,\n pictureModalTitle: '',\n pictureModalImg: '',\n fileName: '',\n pdf: '',\n base64Blob: {},\n isImage: true,\n });\n\n const viewPicEvent = (vinNo: string, type: string) => {\n if (type == 'license') {\n pictureModal.pictureModalTitle = 'RE_' + vinNo;\n } else if (type == 'invoice') {\n pictureModal.pictureModalTitle = 'IN_' + vinNo;\n } else if (type == 'prove') {\n pictureModal.pictureModalTitle = '延期证明_' + vinNo;\n } else if (type === 'relationProof') {\n pictureModal.pictureModalTitle = 'RP_' + vinNo;\n }\n const params = { vinNo, type, dealerCode: dealerCode.value };\n getPicBasic({ params }).then((res: any) => {\n let URL = {};\n pictureModal.fileName = res.docName;\n if (!res) {\n message.error('数据为空');\n return;\n }\n const fileName = res.docName;\n const fileUrl = res.base64;\n if (fileName.indexOf('.docx') > -1) {\n pictureModal.isImage = false;\n URL = base64toBlob(\n fileUrl,\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n );\n pictureModal.pdf = window.URL.createObjectURL(URL);\n } else if (fileName.indexOf('.xlsx') > -1) {\n pictureModal.isImage = false;\n URL = base64toBlob(\n fileUrl,\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n );\n pictureModal.pdf = window.URL.createObjectURL(URL);\n } else if (fileName.indexOf('.jpg') > -1) {\n pictureModal.isImage = true;\n pictureModal.pictureModalImg =\n 'data:image/jpeg;base64,' + res.base64;\n URL = base64toBlob(fileUrl, 'image/jpeg');\n } else if (fileName.indexOf('.pdf') > -1) {\n pictureModal.isImage = false;\n URL = base64toBlob(fileUrl, 'application/pdf');\n pictureModal.pdf = window.URL.createObjectURL(URL);\n }\n pictureModal.pictureModalFlag = true;\n pictureModal.base64Blob = URL;\n });\n };\n const downloadImg = (pictureModal: any) => {\n const downloadElement = document.createElement('a');\n downloadElement.href = window.URL.createObjectURL(\n pictureModal.base64Blob\n );\n downloadElement.download = pictureModal.fileName;\n downloadElement.click();\n };\n const closePictureModal = () => {\n pictureModal.pictureModalFlag = false;\n };\n\n const isSubmit = (record: any) => {\n if (record.usage == '经销商用车') {\n if (\n record.invoicePath &&\n record.licensePath &&\n record.certifyPath\n ) {\n return true;\n } else {\n return false;\n }\n } else if (record.usage == '最终用户用车') {\n if (record.invoicePath && record.certifyPath) {\n return true;\n } else {\n return false;\n }\n }\n };\n\n const isPath = async (path: string) => {\n if (path) {\n const param = {\n fileKey: path,\n };\n await getfileSize(param).then((res: any) => {\n sessionStorage.setItem(\n 'overdueFileSize',\n JSON.stringify(res)\n );\n });\n }\n };\n\n const isSameBrand = () => {\n const brands = state.selectedRows.map((item: any) => {\n return item.brand;\n });\n if ([...new Set(brands)].length === 1) {\n return true;\n }\n return false;\n };\n\n const noLicense = ref(false);\n const noRelationProof = ref(false);\n const brand = ref('');\n const uploadVerify = async (butCon: string) => {\n if (butCon == 'notProve') {\n if (\n state.selectedRowKeys.length > 1 ||\n state.selectedRowKeys.length == 0\n ) {\n const data =\n state.selectedRowKeys.length === 0\n ? tableData.value\n : state.selectedRows;\n\n noLicense.value = data.some((row: any) => {\n return row.usage === '最终用户用车';\n });\n noRelationProof.value = noLicense.value;\n isBatchVisible.value = true;\n } else if (state.selectedRowKeys.length == 1) {\n if (state.selectedRows[0].usage === '最终用户用车') {\n if (state.selectedRows[0].invoicePath) {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n modalParams.content = '请不要重复提交';\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n } else {\n isInvoice.value = true;\n isLicense.value = false;\n isRelationProof.value = false;\n Object.assign(selectInfo, state.selectedRows[0]);\n isSubVisible.value = true;\n }\n } else {\n if (state.selectedRows[0].invoicePath && state.selectedRows[0].licensePath && state.selectedRows[0].relationProofPath) {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n modalParams.content = '请不要重复提交';\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n } else {\n isInvoice.value = true;\n isLicense.value = true;\n isRelationProof.value = true;\n Object.assign(selectInfo, state.selectedRows[0]);\n isSubVisible.value = true;\n }\n }\n }\n } else {\n if (state.selectedRowKeys.length == 0) {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n modalParams.content = '请至少选择一个零售车辆信息';\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n } else {\n if (state.selectedRowKeys.length == 1) {\n if (state.selectedRows[0].certifyPath) {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n modalParams.content = '请不要重复提交';\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n } else {\n isProveVisible.value = true;\n idList.value = state.selectedRows[0].id;\n brand.value = state.selectedRows[0].brand;\n }\n } else {\n // 判断所选的数据是否具有相同的brand\n if (isSameBrand()) {\n const arr = ref([]);\n state.selectedRows.forEach((ele: any) => {\n arr.value.push(ele.id);\n });\n isProveVisible.value = true;\n idList.value = arr.value;\n brand.value = state.selectedRows[0].brand;\n } else {\n message.error(\n '批量上传证明时请选择具有相同品牌的车辆!'\n );\n }\n }\n }\n }\n };\n\n const submitInfo = () => {\n if (tableData.value && tableData.value.length > 0) {\n const idArr = ref([]);\n const arr = tableData.value;\n const selectArr = state.selectedRows;\n let isQualified = true;\n if (state.selectedRows.length > 0) {\n selectArr.forEach((item: any) => {\n if (isSubmit(item)) {\n idArr.value.push(item.id);\n } else {\n isQualified = false;\n }\n });\n } else {\n arr.forEach((item: any) => {\n if (isSubmit(item)) {\n idArr.value.push(item.id);\n }\n });\n }\n const params = {\n vinNos: idArr.value,\n };\n if (idArr.value.length > 0) {\n if (!isQualified) {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n modalParams.content = '当前存在不可提交的零售信息';\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n isQualified = true;\n } else {\n submitInformation(idArr.value).then((res: any) => {\n modalVisible.value = true;\n if (res.code !== '0') {\n modalParams.noticeType = 'warning';\n // sessionStorage.setItem(\"muchContent\", JSON.stringify(res.data));\n modalParams.content = res.message;\n modalParams.btnVisible = false;\n } else {\n modalParams.noticeType = 'success';\n modalParams.content = '提交成功';\n modalParams.btnVisible = false;\n getTableData();\n }\n Object.assign(modalData, modalParams);\n });\n }\n } else {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n if (!isQualified) {\n modalParams.content = '当前存在不可提交的零售信息';\n isQualified = true;\n } else {\n modalParams.content = '当前无可提交的零售';\n }\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n }\n } else {\n modalVisible.value = true;\n modalParams.noticeType = 'warning';\n modalParams.content = '当前无可提交的零售';\n modalParams.btnVisible = false;\n Object.assign(modalData, modalParams);\n }\n };\n\n return {\n noLicense,\n noRelationProof,\n columns,\n tableData,\n isOpen,\n searchParams,\n pagination,\n resetEvent,\n getTableData,\n pageChange,\n sizeChange,\n params,\n state,\n hasSelected,\n pictureModal,\n viewPicEvent,\n downloadImg,\n closePictureModal,\n isBatchVisible,\n modalVisible,\n visible,\n saleArray,\n open,\n close,\n closeBatch,\n tableHeight,\n tableWidth,\n isSubVisible,\n isInvoice,\n isLicense,\n isRelationProof,\n selectInfo,\n modalData,\n modalParams,\n closeSub,\n getModalInfo,\n closeModal,\n subLicense,\n searchCon,\n getTableScroll,\n onSelectChange,\n isSubmit,\n isResetModal,\n isRestCount,\n uploadVerify,\n batchRef,\n batchActiveKey,\n isProveVisible,\n closeProve,\n proveRef,\n submitInfo,\n idList,\n brand,\n };\n },\n});\n","import { render } from \"./overdueSearchDeclaration.vue?vue&type=template&id=7f7e8eae&scoped=true&ts=true\"\nimport script from \"./overdueSearchDeclaration.vue?vue&type=script&lang=ts\"\nexport * from \"./overdueSearchDeclaration.vue?vue&type=script&lang=ts\"\n\nimport \"./overdueSearchDeclaration.vue?vue&type=style&index=0&id=7f7e8eae&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7f7e8eae\"]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/error.22ad22df.svg\";","import { fetchGet, fetchDelete, fetchPost, fetchPostPic } from \"../../index\";\nimport downloadFile from \"@/utils/claim/downloadFile\";\nimport axios from \"axios\";\n// 查询2275上方tabs页数据\n// export const apitest = (): Promise => {\n// \treturn fetchGet('claimapi/parameter/setup/getParameterPeriod?progDesignId=1')\n// }\n\n//过去激励类型和项目类型\nexport const getOfferType = (): Promise => {\n return fetchGet(\"/claimapi/common/getIncentiveOfferType\");\n};\n//获取项目状态\nexport const getStatus = (): Promise => {\n return fetchGet(\"/claimapi/common/programStatus\");\n};\n\n//获取概览总数\nexport const getSubmissionOverview = (\n params = { dealerCode: \"1\" }\n): Promise => {\n return fetchGet(\"/claimapi/dealer/submissionOverview\", { params });\n};\n\n//获取tabs的数据\nexport const getTabsData = (params = {}): Promise => {\n return fetchGet(\"/claimapi/parameter/setup/getParameterPeriod\", { params });\n};\n\n//获取delaer的列表数据\nexport const getVINTableData = (params = {}): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/salesIncentiveClaimList\",\n params\n );\n};\n\n//获取programe的列表数据\n\nexport const avaliablePrograms = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/avaliablePrograms\", { params });\n};\n\n//导出项目明细\n\nexport const exportAvaliablePrograms = (params = {}): Promise => {\n return fetchPost(\"/claimapi/dealer/exportAvaliablePrograms\", params);\n};\n\n//获取扩展信息类型\nexport const extendEdit = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/extend/edit\", { params });\n};\n\n//查看已经填写的扩展信息\nexport const getExtendInfo = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/extend/view\", { params });\n};\n\n//保存单个扩展信息\nexport const saveInfoExtend = (params = {}): Promise => {\n return fetchPostPic(\"/claimapi/dealer/extend/save\", params);\n};\n\n//下载扩展信息文档\nexport const templateDownload = (params = {}): Promise => {\n return fetchPost(\"/claimapi/dealer/extend/templateDownload\", params);\n};\n\n//查询上传文档的查询接口,返回到底有什么需要上传的文档\nexport const supportReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/review\", { params });\n};\n\n//上传单个支持文档\nexport const supportSaveOrUpdateSingle = (params = {}): Promise => {\n return fetchPost(\"/claimapi/salesIncentiveClaim/saveOrUpdate\", params);\n};\n\n//批量上传支持文档\n// export const supportSaveOrUpdateList = (params = {}): Promise => {\n// return fetchPost('/claimapi/salesIncentiveClaim/uploadBatch', params)\n// }\n//批量上传支持文档\nexport const supportSaveOrUpdateList = (\n invoiceConfig = {},\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/claimapi/salesIncentiveClaim/uploadBatch\",\n params,\n invoiceConfig\n );\n};\n\n//提交零售记录\nexport const saveDealerClaimApp = (data = {}): Promise => {\n console.log(data);\n return fetchPost(\"/claimapi/salesIncentiveClaim/saveDealerClaimApp\", data);\n};\n\n//延期保存\nexport const saveDelayDealerClaimApp = (data = {}): Promise => {\n console.log(data);\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/saveDealerDelayClaimApp\",\n data\n );\n};\n\n//查询支持文档样例\nexport const docSample = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/docSample\", { params });\n};\n//删除文档\nexport const deleteDocSample = (docId: string): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/deleteFile\",\n {},\n { params: { docId } }\n );\n};\n\n//查询支持文档样例2278\nexport const docSampleDealer = (params = {}): Promise => {\n return fetchGet(\"/claimapi/claimDocCollection/docSample\", { params });\n};\n\n//显示支持文档样例\nexport const docSampleReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/docSampleReview\", {\n params,\n });\n};\n\n//显示已经上传的图片 2278\nexport const docReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/claimDocCollection/review\", { params });\n};\n//显示单个上传图片 2276实际是4954再用\nexport const claimReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealerClaimSupportingDoc/review\", { params });\n};\n\n//2275的下一步校验\n\nexport const validateReplaceAttributes = (data = {}): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/validateReplaceAttributes\",\n data\n );\n};\n\n// 2278的接口\n\n//获取表格列信息\nexport const extendTitleList = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/extendTitleList\", { params });\n};\n\n//获取表格数据\nexport const getTablelist = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/list\", { params });\n};\n\n//获取新增的 ,扩展字段类型,弹出抽屉\nexport const getDocView = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/view\", { params });\n};\n\n//获取已填写的 ,扩展字段类型,弹出抽屉\nexport const getDocEdit = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/edit\", { params });\n};\n\n//保存抽屉信息\nexport const dealerSave = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic(\"/claimapi/dealer/doc/save\", params);\n};\n\n//删除单个图片\nexport const deleteFile = (params = { docId: \"\" }): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPost(\n \"/claimapi/claimDocCollection/deleteFile?docId=\" + params.docId\n );\n};\n\n//删除一条记录\nexport const deleteTableItem = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchDelete(\"/claimapi/dealer/doc/delete\", { params });\n};\n\n//获取批量上传窗口信息\nexport const uploadBatchInfo = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/uploadBatchInfo\", { params });\n};\n\n//下载扩展信息文档\nexport const downloadExtendInfoApi = (params: any): void => {\n downloadFile(params, \"application/vnd-excel; char-set=UTF-8\").then((res) => {\n console.log(res);\n });\n};\n\n//下载证明文件5027\n// export const downloadProve = (params: any): void => {\n// downloadFile(params, \"application/json; char-set=UTF-8\").then(\n// (res) => {\n// console.log(res);\n// }\n// );\n// }\n\nexport const downloadProve = (params = {}): Promise => {\n return fetchGet(`/claimapi/salesIncentiveClaim/downloadFile`, { params });\n};\n\n//批量上传扩展信息2275\nexport const uploadExtendInfoApi = (\n formData: FormData,\n params: any\n): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi/dealer/extend/uploadExtendInfo\",\n params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//上传文件证明 2277\nexport const uploadProve = (formData: FormData, params: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi/salesIncentiveClaim/region/upload\",\n params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//获取区域证明文件\nexport const getProveApi = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/region/fileName\", {\n params,\n });\n};\n\n//在2797跳转时,先给后端存储数据\nexport const saveClaimDealerProgramInfo = (data = {}): Promise => {\n return fetchPost(\n \"/claimapi/ClaimDealerProgramInfoController/saveClaimDealerProgramInfo\",\n data\n );\n};\n\n//获取user,获取DealerID\nexport const getUser = (params = {}): Promise => {\n return fetchGet(\"/usapi/users/currentuser\");\n};\n\n//获取所有一级BU\nexport const getAllParentBu = (): Promise => {\n return fetchGet(\"/usapi/noAuth/bu/parentBu\");\n};\n\n//获取Dealer相关信息\nexport const getDealerMessageApi = (dealerID: string): Promise => {\n return fetchGet(\"/dapi/dealerInfo/\" + dealerID);\n};\n//根据dealerCode和programBU获取区域经理\nexport const getManagerApi = (params = {}): Promise => {\n return fetchGet(\"/claimapi/common/regionManagerEnquiry\", { params });\n};\n\n//5027获取延期申报列表\nexport const getAvaliableDelayProgramsApi = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/avaliableDelayPrograms\", { params });\n};\n\n//申报完成后,给后端保存\nexport const setClaimDocumentMatching = (data = {}): Promise => {\n return fetchPost(\"/claimapi/salesIncentiveClaim/claimDocumentMatching\", data);\n};\n\n//2273新增 匹配客户关系,异步\nexport const matchingCustomerTypeApi = (params: any): Promise => {\n return fetchPost(\"/claimapi/dealer/matchingCustomerType\", params);\n};\n\n//2278新增 中途上传文件后重新匹配文档\nexport const rematch = (params: any): Promise => {\n return fetchPost(\"/claimapi/dealer/doc/rematch\", params);\n};\n\nexport const getTime = (): Promise => {\n return fetchGet(\"/claimapi/common/getTime\");\n};\n\n//单个文件OCR验证\nexport const OCROne = (\n formData: FormData,\n params: any,\n url: string\n): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi\" + url,\n params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//多个文件OCR验证\nexport const OCRS = (\n formData: FormData,\n param: any,\n url: string\n): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi\" + url,\n params: param,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n","module.exports = __webpack_public_path__ + \"img/warning.40456179.svg\";","export interface DealerOverviewData {\n currRetailMonth: string;\n currRetailSubmitDate: string;\n currRetailTotal: string;\n currUnSubmitTotal: string;\n currUsabilityRebateUnPassTotal: string;\n currVinCountOfReturn: string;\n lastRetailMonth: string;\n lastRetailSubmitDate: string;\n lastRetailTotal: string;\n lastUnSubmitTotal: string;\n lastUsabilityRebateUnPassTotal: string;\n lastVinCountOfReturn: string;\n abnormalRetailTotal: string;\n abnormalUnSubmitTotal: string;\n abnormalUsabilityRebateUnPassTotal: string;\n abnormalVinCountOfReturn: string;\n}\n\nexport interface DealerTableData {\n approlStatus: string;\n customerName: string;\n id: number;\n model: string;\n retailDate: string;\n specialUsage: string;\n usabilityRebateFlag: string;\n usage: string;\n vinNo: string;\n invoicePath: string;\n licensePath: string;\n entity: string;\n failFlag: string;\n modelYear: string;\n brand: string;\n}\n\nexport interface DealerFailReasonData {\n id?: number;\n comments: string;\n replyAt: string;\n}\n\nexport interface DealerRetailHistoryData {\n id: number;\n invoiceBillingDate: string;\n invoiceDate: string;\n licenseBillingDate: string;\n licenseDate: string;\n saleFlag: string;\n specialUsage: string;\n usage: string;\n vinNo: string;\n}\n\nexport interface DealerStatusData {\n msg: string;\n code: string;\n}\n\nexport const EnumDealerApprovalStatus = {\n '0000': '待提交',\n '0001': '已过期',\n '1111': '已过期',\n '2222': '已提交',\n '3333': '已过期'\n};\n\nexport const EnumDealerCheckStatus = {\n '0000': '无',\n '1111': '检查中',\n '1112': '检查中',\n '1113': '检查中',\n '2222': '有效',\n '3333': '无效',\n '4444': '退车'\n};\n\n\nexport enum RvApprovalStatus {\n TOBE = \"0000\", //待提交,\n EXPIRED = \"1111\", //已过期\n SUBMITTED = \"2222\", //已提交\n DELAY_SUBMITTED = \"3333\" //延期提交\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./proveUpload.vue?vue&type=style&index=0&id=07076a93&lang=scss&scoped=true\"","/*\n * @Author: zhengda.lv\n * @Date: 2021-10-30 10:15:26\n * @LastEditTime: 2021-12-17 16:13:15\n * @LastEditors: zhengda.lv\n * @Description:\n */\nimport axios from 'axios';\nimport { AxiosRequestConfig } from '@/API/types';\nexport default (options: AxiosRequestConfig, type: string) => {\n const { url, method = 'get', params, fileName } = options;\n const config: any = {\n url: url,\n method,\n responseType: 'blob',\n };\n if (method === 'get') {\n config['params'] = params;\n } else {\n config['data'] = params;\n }\n return new Promise((resolve, reject) => {\n axios(config)\n .then((res: any) => {\n // 文件格式\n const blob = new Blob([res.data], { type: type }); //指定格式为vnd.ms-excel\n const downloadElement = document.createElement('a');\n const href = window.URL.createObjectURL(blob); //创建下载的链接\n downloadElement.href = href;\n const str = res.headers['content-disposition'];\n const index = str.lastIndexOf('=');\n if (str.substring(index + 1, str.length)) {\n downloadElement.download = decodeURIComponent(\n str.substring(index + 1, str.length)\n );\n } else if (fileName) {\n downloadElement.download = fileName;\n } else {\n downloadElement.download = Date.now().toString();\n }\n document.body.appendChild(downloadElement);\n downloadElement.click(); //点击下载\n document.body.removeChild(downloadElement); //下载完成移除元素\n window.URL.revokeObjectURL(href); //释放掉blob对象\n resolve(res);\n })\n .catch(function(error: string) {\n console.log(error);\n return reject(error);\n });\n });\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./batchLicenseUpload.vue?vue&type=style&index=0&id=13f920ac&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/batch.40ed9231.svg\";"],"sourceRoot":""}