{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/mixins/reqState.js","webpack:///./src/components/Pagination.vue?7924","webpack:///src/components/Pagination.vue","webpack:///./src/components/Pagination.vue?23e0","webpack:///./src/components/Pagination.vue","webpack:///./src/components/Breadcrumbs/Breadcrumbs.vue?b3c1","webpack:///./src/components/Pagination.vue?2df2","webpack:///./src/utils/sm2.js","webpack:///./src/App.vue?23da","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/components/GoBack/index.vue?8ca5","webpack:///src/components/GoBack/index.vue","webpack:///./src/components/GoBack/index.vue?c88c","webpack:///./src/components/GoBack/index.vue","webpack:///./src/components/Breadcrumbs/Breadcrumbs.vue?5a1f","webpack:///src/components/Breadcrumbs/Breadcrumbs.vue","webpack:///./src/components/Breadcrumbs/Breadcrumbs.vue?1cdf","webpack:///./src/components/Breadcrumbs/Breadcrumbs.vue","webpack:///./src/components/Form/ZjDatePicker/ZjDatePicker.vue?fef9","webpack:///./src/components/Form/mixin/form-item.js","webpack:///./src/components/Form/ZjDatePicker/util.js","webpack:///src/components/Form/ZjDatePicker/ZjDatePicker.vue","webpack:///./src/components/Form/ZjDatePicker/ZjDatePicker.vue?a89f","webpack:///./src/components/Form/ZjDatePicker/ZjDatePicker.vue","webpack:///./src/components/Charts/BarChart/BarChart.vue?70a4","webpack:///src/components/Charts/BarChart/BarChart.vue","webpack:///./src/components/Charts/BarChart/BarChart.vue?d034","webpack:///./src/components/Charts/BarChart/BarChart.vue","webpack:///./src/components/Charts/LineChart/LineChart.vue?3d7d","webpack:///src/components/Charts/LineChart/LineChart.vue","webpack:///./src/components/Charts/LineChart/LineChart.vue?5732","webpack:///./src/components/Charts/LineChart/LineChart.vue","webpack:///./src/components/Charts/PieChart/PieChart.vue?e49d","webpack:///./src/components/Charts/PieChart/config.js","webpack:///src/components/Charts/PieChart/PieChart.vue","webpack:///./src/components/Charts/PieChart/PieChart.vue?e477","webpack:///./src/components/Charts/PieChart/PieChart.vue","webpack:///./src/components/ZjProgress/ZjProgress.vue?7cc5","webpack:///src/components/ZjProgress/ZjProgress.vue","webpack:///./src/components/ZjProgress/ZjProgress.vue?f51e","webpack:///./src/components/ZjProgress/ZjProgress.vue","webpack:///./src/components/zj-global-cpns.js","webpack:///./src/plugins/index.js","webpack:///./src/utils/nav.js","webpack:///./src/main.js","webpack:///./src/components/Charts/BarChart/config.js","webpack:///./src/api/organ.js","webpack:///./src/utils/expand.js","webpack:///./src/components/Charts/mixins/chartResize.js","webpack:///./src/components/Charts/mixins/echart.js","webpack:///./src/components/Charts/config.js","webpack:///./src/components/Charts/LineChart/config.js","webpack:///./src/components/loginDiolog.vue?c7f0","webpack:///src/components/loginDiolog.vue","webpack:///./src/components/loginDiolog.vue?5a5f","webpack:///./src/components/loginDiolog.vue","webpack:///./src/components/loginDiolog.vue?fd20","webpack:///./src/components/Charts/mixins/resize.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","PmStateMap","idle","pending","PmStateMixin","methods","wrapPromiseState","assert","this","_setDeepData","res","wrapPromising","dataKey","notUndefined","obj","index","joined","dPath","join","msg","beObject","rootObj","split","$data","forEach","subKey","$set","computed","pmStateMap","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","attrs","pageNo","pageSizes","pSize","total","on","handleSizeChange","handleCurrentChange","staticRenderFns","component","SM2Utils","SM2Cipher","a","ct","sm3c3","sm3keybase","p2","Array","keyOff","cipherMode","SM2CipherMode","C1C3C2","global","C1C2C3","b","_lBlock","_rBlock","CryptoJS","lib","WordArray","f","BlockCipher","algo","g","h","k","0","268435456","536870912","805306368","1073741824","1342177280","1610612736","1879048192","2147483648","2415919104","2684354560","2952790016","3221225472","3489660928","3758096384","4026531840","134217728","402653184","671088640","939524096","1207959552","1476395008","1744830464","2013265920","2281701376","2550136832","2818572288","3087007744","3355443200","3623878656","3892314112","4160749568","1","268435457","536870913","805306369","1073741825","1342177281","1610612737","1879048193","2147483649","2415919105","2684354561","2952790017","3221225473","3489660929","3758096385","4026531841","134217729","402653185","671088641","939524097","1207959553","1476395009","1744830465","2013265921","2281701377","2550136833","2818572289","3087007745","3355443201","3623878657","3892314113","4160749569","16777216","33554432","50331648","67108864","83886080","100663296","117440512","150994944","167772160","184549376","201326592","218103808","234881024","251658240","8388608","25165824","41943040","58720256","75497472","92274688","109051904","125829120","142606336","159383552","176160768","192937984","209715200","226492416","243269632","260046848","285212672","301989888","318767104","335544320","352321536","369098752","385875968","419430400","436207616","452984832","469762048","486539264","503316480","520093696","276824064","293601280","310378496","327155712","343932928","360710144","377487360","394264576","411041792","427819008","444596224","461373440","478150656","494927872","511705088","528482304","1048576","2097152","3145728","4194304","5242880","6291456","7340032","9437184","10485760","11534336","12582912","13631488","14680064","15728640","524288","1572864","2621440","3670016","4718592","5767168","6815744","7864320","8912896","9961472","11010048","12058624","13107200","14155776","15204352","16252928","17825792","18874368","19922944","20971520","22020096","23068672","24117248","26214400","27262976","28311552","29360128","30408704","31457280","32505856","17301504","18350080","19398656","20447232","21495808","22544384","23592960","24641536","25690112","26738688","27787264","28835840","29884416","30932992","31981568","33030144","65536","131072","196608","262144","327680","393216","458752","589824","655360","720896","786432","851968","917504","983040","32768","98304","163840","229376","294912","360448","425984","491520","557056","622592","688128","753664","819200","884736","950272","1015808","1114112","1179648","1245184","1310720","1376256","1441792","1507328","1638400","1703936","1769472","1835008","1900544","1966080","2031616","1081344","1146880","1212416","1277952","1343488","1409024","1474560","1540096","1605632","1671168","1736704","1802240","1867776","1933312","1998848","2064384","4096","8192","12288","16384","20480","24576","28672","36864","40960","45056","49152","53248","57344","61440","2048","6144","10240","14336","18432","22528","26624","30720","34816","38912","43008","47104","51200","55296","59392","63488","69632","73728","77824","81920","86016","90112","94208","102400","106496","110592","114688","118784","122880","126976","67584","71680","75776","79872","83968","88064","92160","96256","100352","104448","108544","112640","116736","120832","124928","129024","256","512","768","1024","1280","1536","1792","2304","2560","2816","3072","3328","3584","3840","128","384","640","896","1152","1408","1664","1920","2176","2432","2688","2944","3200","3456","3712","3968","4352","4608","4864","5120","5376","5632","5888","6400","6656","6912","7168","7424","7680","7936","4224","4480","4736","4992","5248","5504","5760","6016","6272","6528","6784","7040","7296","7552","7808","8064","16","32","48","64","80","96","112","144","160","176","192","208","224","240","8","24","40","56","72","88","104","120","136","152","168","184","200","216","232","248","272","288","304","320","336","352","368","400","416","432","448","464","480","496","264","280","296","312","328","344","360","376","392","408","424","440","456","472","488","504","2","3","4","5","6","7","9","10","11","12","13","14","15","2147483650","2147483651","2147483652","2147483653","2147483654","2147483655","2147483656","2147483657","2147483658","2147483659","2147483660","2147483661","2147483662","2147483663","17","18","19","20","21","22","23","25","26","27","28","29","30","31","2147483664","2147483665","2147483666","2147483667","2147483668","2147483669","2147483670","2147483671","2147483672","2147483673","2147483674","2147483675","2147483676","2147483677","2147483678","2147483679","DES","extend","_doReset","_key","words","_subKeys","_invSubKeys","encryptBlock","_doCryptBlock","decryptBlock","u","keySize","ivSize","blockSize","_createHelper","TripleDES","_des1","createEncryptor","_des2","_des3","enc","Base64","stringify","sigBytes","_map","clamp","charAt","parse","indexOf","dbits","canary","j_lm","BigInteger","fromNumber","fromString","nbi","am1","Math","floor","am2","am3","process","server","am","navigator","appName","DB","DM","DV","BI_FP","FV","pow","F1","F2","BI_RM","BI_RC","rr","vv","int2char","intAt","charCodeAt","bnpCopyTo","bnpFromInt","nbv","fromInt","bnpFromString","fromRadix","ZERO","subTo","bnpClamp","bnToString","negate","toString","toRadix","bnNegate","bnAbs","bnCompareTo","nbits","bnBitLength","bnpDLShiftTo","bnpDRShiftTo","max","bnpLShiftTo","bnpRShiftTo","bnpSubTo","min","bnpMultiplyTo","abs","bnpSquareTo","bnpDivRemTo","copyTo","lShiftTo","q","dlShiftTo","compareTo","ONE","drShiftTo","rShiftTo","bnMod","divRemTo","Classic","cConvert","mod","cRevert","cReduce","cMulTo","multiplyTo","reduce","cSqrTo","squareTo","bnpInvDigit","Montgomery","mp","invDigit","mpl","mph","um","mt2","montConvert","montRevert","montReduce","montSqrTo","montMulTo","bnpIsEven","bnpExp","convert","sqrTo","mulTo","revert","bnModPowInt","isEven","exp","bnClone","bnIntValue","bnByteValue","bnShortValue","bnpChunkSize","LN2","log","bnSigNum","bnpToRadix","signum","chunkSize","intValue","substr","bnpFromRadix","dMultiply","dAddOffset","bnpFromNumber","testBit","bitwiseTo","shiftLeft","op_or","isProbablePrime","bitLength","nextBytes","bnToByteArray","bnEquals","bnMin","bnMax","bnpBitwiseTo","op_and","bnAnd","bnOr","op_xor","bnXor","op_andnot","bnAndNot","bnNot","bnShiftLeft","bnShiftRight","lbit","bnGetLowestSetBit","cbit","bnBitCount","bnTestBit","bnpChangeBit","bnSetBit","changeBit","bnClearBit","bnFlipBit","bnpAddTo","bnAdd","addTo","bnSubtract","bnMultiply","bnSquare","bnDivide","bnRemainder","bnDivideAndRemainder","bnpDMultiply","bnpDAddOffset","NullExp","nNop","nMulTo","nSqrTo","bnPow","bnpMultiplyLowerTo","bnpMultiplyUpperTo","Barrett","r2","q3","mu","divide","barrettConvert","barrettRevert","barrettReduce","multiplyUpperTo","multiplyLowerTo","barrettSqrTo","barrettMulTo","bnModPow","bnGCD","clone","getLowestSetBit","bnpModInt","bnModInverse","subtract","add","modPowInt","lowprimes","lplim","bnIsProbablePrime","modInt","millerRabin","bnpMillerRabin","shiftRight","random","modPow","Arcfour","S","ARC4init","ARC4next","prng_newstate","byteValue","shortValue","toByteArray","equals","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","multiply","remainder","divideAndRemainder","modInverse","gcd","square","init","next","rng_psize","rng_state","rng_pool","rng_pptr","rng_seed_int","rng_seed_time","Date","getTime","appVersion","crypto","z","rng_get_byte","rng_get_bytes","SecureRandom","KJUR","ECFieldElementFp","x","feFpEquals","feFpToBigInteger","feFpNegate","feFpAdd","toBigInteger","feFpSubtract","feFpMultiply","feFpSquare","feFpDivide","ECPointFp","curve","y","zinv","pointFpGetX","fromBigInteger","pointFpGetY","pointFpEquals","isInfinity","pointFpIsInfinity","pointFpNegate","pointFpAdd","twice","getInfinity","pointFpTwice","pointFpMultiply","pointFpMultiplyTwo","ECCurveFp","infinity","curveFpGetQ","curveFpGetA","curveFpGetB","curveFpEquals","curveFpGetInfinity","curveFpFromBigInteger","curveFpDecodePointHex","parseInt","SM3Digest","BYTE_LENGTH","xBuf","byteCount","xBufOff","DIGEST_LENGTH","v0","v","v_","X0","X","xOff","T_00_15","T_16_63","arguments","InitDigest","Init","Util","DIGESTINFOHEAD","sha1","sha224","sha256","sha384","sha512","md2","md5","ripemd160","DEFAULTPROVIDER","hmacmd5","hmacsha1","hmacsha224","hmacsha256","hmacsha384","hmacsha512","hmacripemd160","sm3","MD5withRSA","SHA1withRSA","SHA224withRSA","SHA256withRSA","SHA384withRSA","SHA512withRSA","RIPEMD160withRSA","MD5withECDSA","SHA1withECDSA","SHA224withECDSA","SHA256withECDSA","SHA384withECDSA","SHA512withECDSA","RIPEMD160withECDSA","SHA1withDSA","SHA224withDSA","SHA256withDSA","MD5withRSAandMGF1","SHA1withRSAandMGF1","SHA224withRSAandMGF1","SHA256withRSAandMGF1","SHA384withRSAandMGF1","SHA512withRSAandMGF1","RIPEMD160withRSAandMGF1","CRYPTOJSMESSAGEDIGESTNAME","getDigestInfoHex","getPaddedDigestInfoHex","hashString","MessageDigest","alg","digestString","hashHex","digestHex","prov","sha256Hex","sha512Hex","getCryptoJSMDByName","setAlgAndProvider","md","eval","updateString","update","updateHex","Hex","digest","finalize","sjcl","hash","codec","hex","toBits","fromBits","algName","provName","Mac","toLowerCase","algProv","mac","HMAC","pass","doFinal","doFinalString","doFinalHex","Signature","_setAlgNames","match","mdAlgName","RegExp","$1","pubkeyAlgName","$2","_zeroPaddingOfSignature","KEYUTIL","getKey","isPrivate","prvKey","state","isPublic","pubKey","initSign","ecprvhex","eccurvename","initVerifyByPublicKey","ecpubhex","ECDSA","RSAKey","initVerifyByCertificatePEM","X509","readCertPEM","subjectPublicKeyRSA","sign","sHashHex","SM3withSM2","ecparams","G","getX","getY","GetZ","GetWords","GetHex","Utf8","_data","GetDigestSize","BlockUpdate","DoFinal","hSign","signHex","signWithMessageHashPSS","pssSaltLen","signWithMessageHash","DSA","signString","verify","verifyHex","verifyWithMessageHashPSS","verifyWithMessageHash","algProvName","initParams","psssaltlen","prvkeypem","prvkeypas","readPrivateKeyFromPEMString","OID","oidhex2name","multiplyTwo","getQ","getA","getB","decodePointHex","getByteLength","getEncoded","toByteArrayUnsigned","unshift","concat","decodeFrom","decodeFromHex","add2D","twice2D","valueOf","multiply2D","isOnCurve","validate","getBigRandom","setNamedCurve","ECParameterDB","getByName","pubKeyHex","prvKeyHex","curveName","setPrivateKeyHex","setPublicKeyHex","generateKeyPairHex","keylen","biRSSigToASN1Sig","fromByteArrayUnsigned","serializeSig","parseSigHex","verifyRaw","Bitcoin","isArray","parseSig","toByteArraySigned","parseSigCompact","prv","pub","parseSigHexInHexRS","ASN1HEX","getPosArrayOfChildren_AtObj","getHexOfV_AtObj","asn1SigToConcatSig","concatSigToASN1Sig","hexRSSigToASN1Sig","asn1","DERInteger","bigint","DERSequence","array","getEncodedHex","Hasher","SM3","_hash","_doProcessBlock","_doFinalize","_nDataBytes","_process","HmacSM3","_createHmacHelper","Reset","Copy","Clear","GetByteLength","ProcessBlock","P1","ROTATE","Int32","FF_00_15","GG_00_15","P0","FF_16_63","GG_16_63","ProcessWord","ProcessLength","URShiftLong","IntToBigEndian","parseByte","URShift","Finish","Update","maxValue","minValue","elm","Number","regist","oid","info","NextKey","KDF","InitEncipher","EncryptBlock","InitDecipher","DecryptBlock","Dofinal","Encrypt","Decrypt","CreatePoint","SM2Key","setKey","SM2SetKey","eccX","eccY","SM2Encrypt","text","cipher","textData","userKey","msgData","encrypt","SM2","PUBLIC_KEY","sm2Encrypt","publickey","pubkeyHex","xHex","yHex","encryptData","encs","_e","keepAlive","loginDialogShow","$event","content","title","goBack","handleBack","_l","item","path","redirect","levelList","_v","_s","meta","preventDefault","handleLink","_b","ref","scopedSlots","_u","fn","_t","getFormItemProps","label","toolTip","_g","class","pickerClass","style","onInput","datePickerProps","$listeners","props","prop","String","default","labelWidth","rules","showMessage","Boolean","inlineMessage","isShowFormItem","getFormItemInstance","$refs","formItem","DATE_FORMAT_BY_TYPE","freeze","year","month","date","week","dates","datetime","datetimerange","daterange","monthrange","DATE_PLACEHOLDER_BY_TYPE","getRangePickerOptions","picker","day","isRange","end","start","setTime","$emit","getPickerOptions","disabled","textMap","before","after","getText","shortCuts","onClick","clearTime","shortcuts","disabledDate","onPick","vm","getDisabledTime","getHours","getMinutes","getSeconds","className","height","width","stopPropagation","formatter","arg","percent","isObj","product","dimensionNames","defaultSeriesSettings","radius","center","roseType","duration","animationEasing","animationDurationUpdate","itemStyle","emphasis","shadowBlur","shadowOffsetX","shadowColor","defaultSettings","color","COLOR_LIST","legend","orient","left","bottom","icon","padding","top","textStyle","fontSize","fontWeight","tooltip","trigger","backgroundColor","series","status","showText","textInside","percentage","strokeWidth","defineBackColor","borderRadius","textColor","textAlign","float","lineHeight","paddingRight","trackPath","relativeStrokeWidth","stroke","strokeLinecap","progressTextSize","iconClass","GoBack","Breadcrumbs","ZjDatePicker","BarChart","LineChart","PieChart","ZjProgress","install","Vue","keys","globalCpns","handleSysBack","addEventListener","plus","JSON","localStorage","getItem","setItem","location","runtime","quit","history","back","eventbus","use","VueCoreVideoPlayer","lang","ElementUI","tool","Router","$md5","$bus","VeLine","VeRadar","VePie","VeGauge","VeBar","Pagination","LoginDiolog","comp","filter","orgName","config","productionTip","plugin","router","store","App","$mount","getLabelOptions","show","position","distance","align","verticalAlign","rotate","barGap","seriesLayoutBy","focus","barWidth","grid","axisPointer","dataZoom","xAxisIndex","startValue","endValue","zoomLock","showDataShadow","showDetail","realtime","filterMode","moveOnMouseMove","maxValueSpan","minValueSpan","moveHandleSize","brushSelect","xAxis","axisTick","axisLabel","yAxis","GetOrganInfoByKeyword","params","method","headers","url","GetOrganLevelInfo","objCoverFormData","GetOrganManage","SaveManager","pwd","otherProps","DeleteManager","GetOrganUser","GetOrganApplyUser","AuditUserApplyPass","postForm","AuditUserApplyReject","AddOrganUser","EditOrganUser","DeleteOrganUser","ResetPassword","ResetManagePassword","addOrgTeacher","parseString","str","replace","toUpperCase","isEmptyObj","flag","deepClone","excludeProps","NaN","includes","deepAssign","assign","merge","source","isDeep","isEmpty","isNaN","easeInOutQuad","mixins","resize","mounted","handlerResize","chart","options","chartData","required","dimensions","beforeDestroy","dispose","initChart","setOption","dataset","getDataURL","option","pixelRatio","require","colors","symbolSize","areaStyle","echarts","graphic","LinearGradient","offset","right","containLabel","toolbox","boundaryGap","gridIndex","currentFunction","closeDiolog","$store","getters","availablePlatform","HOME_PAGE_MAP","yixue","hostKey","jigou","personLogin","currentStatus","schoolAccount","manageLogin","model","callback","$$v","account","expression","passWord","GetOrganInfo","nativeOn","_k","keyCode","schoolLoginBtn","slot","selectSchool","Name","ID","loginByPhone","forGetPassWord","directives","rawName","personGoregeter","personAccount","personLoginBtn","personPassWord","manageAccount","manageLoginBtn","managePwd","regeteBack","regeterUserName","realName","phone","yzm","isShowCountdown","countdown","sendValiteCode","regesterPassword","regesterPasswordTwo","isReadAgreent","gotoUserAgreement","goToPrivacyAgreement","regeterUser","editorPhone","editorYzm","editorIsSendCode","editorCuttDownTime","editorGetCode","editorNewPassWordOne","editorNewPassWord","resetPassWord","loginByPhoneNumber","loginByPhoneYzm","loginByPhoneIsSendCode","loginByPhoneCuttDownTime","loginByPhoneGetCode","yzmLoginAgreement","loginBtnByPhone","$_sidebarElm","$_resizeHandler","$_destroyResizeEvent","$_destroySidebarResizeEvent","activated","$_initResizeEvent","$_initSidebarResizeEvent","deactivated","removeEventListener","$_sidebarResizeHandler","propertyName","getElementsByClassName","debounce"],"mappings":"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","file":"js/index.151dc33f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"index\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-08c950ad\":\"6f390126\",\"chunk-136eacca\":\"ed9bcef5\",\"chunk-1970034d\":\"e428ecdb\",\"chunk-216dffec\":\"2726e837\",\"chunk-2220b728\":\"6a19cddd\",\"chunk-2728e7cb\":\"efc29a07\",\"chunk-6a3a0302\":\"9c669dbf\",\"chunk-75cbd3c9\":\"d1c388c5\",\"chunk-de26a8a2\":\"c6f25092\",\"chunk-ee603ca4\":\"3685dbcc\",\"chunk-13e28791\":\"bfeb1b5f\",\"chunk-404d70b3\":\"7fc1d718\",\"chunk-2a67d6ff\":\"d33e21a0\",\"chunk-04d0f45e\":\"a707f24b\",\"chunk-06293866\":\"5fc17303\",\"chunk-081f7edc\":\"19a41976\",\"chunk-1116c65a\":\"883bef48\",\"chunk-12da932a\":\"9a48a733\",\"chunk-0a94f1f7\":\"51f3de75\",\"chunk-e5b22934\":\"c83de83d\",\"chunk-23e8652e\":\"82f62a1c\",\"chunk-26134152\":\"63b2221d\",\"chunk-3ea85753\":\"c029346a\",\"chunk-09d60d84\":\"5220183c\",\"chunk-2e1e28a8\":\"498717a2\",\"chunk-45130ea4\":\"76aa2886\",\"chunk-579f1312\":\"51360bfd\",\"chunk-783f5461\":\"100f91f7\",\"chunk-7841086e\":\"75bbae9c\",\"chunk-7c670eda\":\"8e42f799\",\"chunk-85cbd9c6\":\"fecdc47e\",\"chunk-68893d97\":\"0ac3d0a1\",\"chunk-55101c96\":\"d535f4bb\",\"chunk-9dfaeaee\":\"c78dbf89\",\"chunk-18fd4d3e\":\"b8f1b336\",\"chunk-6ad52c5e\":\"68a5fdf2\",\"chunk-3d36cad1\":\"f70d374d\",\"chunk-7875db49\":\"81d2318a\",\"chunk-2d21d0c2\":\"fc80fcbe\",\"chunk-09b254a0\":\"c44d8675\",\"chunk-175dcf54\":\"35184b06\",\"chunk-bdb5dd26\":\"582cd54e\",\"chunk-2d4a8ea6\":\"3d6ba7c7\",\"chunk-2f1a6d9d\":\"efbe2673\",\"chunk-4344cec6\":\"0a1623cb\",\"chunk-4465a9d3\":\"1119af7f\",\"chunk-4919073a\":\"61877044\",\"chunk-5410c98d\":\"1b803bed\",\"chunk-0048eb1e\":\"65cb431e\",\"chunk-401c45a3\":\"18b017fc\",\"chunk-aadfcf40\":\"0c26a31c\",\"chunk-5735a570\":\"bf7eb2b2\",\"chunk-6050d81c\":\"cca23e7e\",\"chunk-25b09200\":\"23f79530\",\"chunk-15ac3f18\":\"7d1ea978\",\"chunk-3b39bbd1\":\"af1122b1\",\"chunk-4f6d9d8f\":\"684c538c\",\"chunk-43251922\":\"d15e08ff\",\"chunk-6096631b\":\"93aa8ab1\",\"chunk-67572e5b\":\"e660f93b\",\"chunk-715b1c01\":\"7c5eb22d\",\"chunk-753dc6dc\":\"815e2d9f\",\"chunk-7df0e6fc\":\"000fc7c0\",\"chunk-378c0a58\":\"34a30eca\",\"chunk-548bd22c\":\"fb7bd381\",\"chunk-77937254\":\"4fa643e8\",\"chunk-ffa599bc\":\"c26e9b99\",\"chunk-68945674\":\"c01512d2\",\"chunk-cfe161ee\":\"d007f5d6\",\"chunk-a2f5bf76\":\"d482f73a\",\"chunk-bffe36de\":\"0e798f12\",\"chunk-c234a282\":\"ee91577c\",\"chunk-c5c70080\":\"9245d841\",\"chunk-c9809f9e\":\"4d6a9065\",\"chunk-ca90fa28\":\"a0ab84ae\",\"chunk-ce260984\":\"cbd83d94\",\"chunk-e23d9200\":\"f2cf4d5d\",\"chunk-e4c96194\":\"98045fc7\",\"chunk-fd5a3e52\":\"04313f71\",\"chunk-6656c337\":\"fff07d80\",\"chunk-9cab16f2\":\"e73a6657\",\"chunk-e1818d44\":\"73368e5e\",\"chunk-fedd5322\":\"17ce82f4\",\"chunk-2d0b2ed7\":\"e79cd020\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-08c950ad\":1,\"chunk-136eacca\":1,\"chunk-1970034d\":1,\"chunk-216dffec\":1,\"chunk-2220b728\":1,\"chunk-6a3a0302\":1,\"chunk-75cbd3c9\":1,\"chunk-de26a8a2\":1,\"chunk-ee603ca4\":1,\"chunk-13e28791\":1,\"chunk-404d70b3\":1,\"chunk-04d0f45e\":1,\"chunk-06293866\":1,\"chunk-081f7edc\":1,\"chunk-1116c65a\":1,\"chunk-12da932a\":1,\"chunk-0a94f1f7\":1,\"chunk-e5b22934\":1,\"chunk-23e8652e\":1,\"chunk-26134152\":1,\"chunk-3ea85753\":1,\"chunk-09d60d84\":1,\"chunk-2e1e28a8\":1,\"chunk-45130ea4\":1,\"chunk-579f1312\":1,\"chunk-783f5461\":1,\"chunk-7841086e\":1,\"chunk-7c670eda\":1,\"chunk-85cbd9c6\":1,\"chunk-68893d97\":1,\"chunk-55101c96\":1,\"chunk-9dfaeaee\":1,\"chunk-18fd4d3e\":1,\"chunk-6ad52c5e\":1,\"chunk-3d36cad1\":1,\"chunk-7875db49\":1,\"chunk-09b254a0\":1,\"chunk-175dcf54\":1,\"chunk-bdb5dd26\":1,\"chunk-2d4a8ea6\":1,\"chunk-2f1a6d9d\":1,\"chunk-4344cec6\":1,\"chunk-4465a9d3\":1,\"chunk-4919073a\":1,\"chunk-0048eb1e\":1,\"chunk-401c45a3\":1,\"chunk-aadfcf40\":1,\"chunk-5735a570\":1,\"chunk-6050d81c\":1,\"chunk-25b09200\":1,\"chunk-15ac3f18\":1,\"chunk-3b39bbd1\":1,\"chunk-4f6d9d8f\":1,\"chunk-43251922\":1,\"chunk-6096631b\":1,\"chunk-67572e5b\":1,\"chunk-715b1c01\":1,\"chunk-753dc6dc\":1,\"chunk-7df0e6fc\":1,\"chunk-378c0a58\":1,\"chunk-548bd22c\":1,\"chunk-77937254\":1,\"chunk-ffa599bc\":1,\"chunk-68945674\":1,\"chunk-cfe161ee\":1,\"chunk-a2f5bf76\":1,\"chunk-bffe36de\":1,\"chunk-c234a282\":1,\"chunk-c5c70080\":1,\"chunk-c9809f9e\":1,\"chunk-ca90fa28\":1,\"chunk-ce260984\":1,\"chunk-e23d9200\":1,\"chunk-e4c96194\":1,\"chunk-fd5a3e52\":1,\"chunk-6656c337\":1,\"chunk-9cab16f2\":1,\"chunk-e1818d44\":1,\"chunk-fedd5322\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-08c950ad\":\"792f4cdc\",\"chunk-136eacca\":\"5cb727a5\",\"chunk-1970034d\":\"2eef88d1\",\"chunk-216dffec\":\"58612341\",\"chunk-2220b728\":\"41ca77c7\",\"chunk-2728e7cb\":\"31d6cfe0\",\"chunk-6a3a0302\":\"4d421d9b\",\"chunk-75cbd3c9\":\"5cf890fc\",\"chunk-de26a8a2\":\"abdbcb43\",\"chunk-ee603ca4\":\"fda05dc2\",\"chunk-13e28791\":\"f50ef8a0\",\"chunk-404d70b3\":\"a60e29a5\",\"chunk-2a67d6ff\":\"31d6cfe0\",\"chunk-04d0f45e\":\"2094f088\",\"chunk-06293866\":\"05e62dda\",\"chunk-081f7edc\":\"65761463\",\"chunk-1116c65a\":\"58443cde\",\"chunk-12da932a\":\"83c13453\",\"chunk-0a94f1f7\":\"bf3ae68e\",\"chunk-e5b22934\":\"24a22b41\",\"chunk-23e8652e\":\"46d7e7ca\",\"chunk-26134152\":\"ca930308\",\"chunk-3ea85753\":\"1309758f\",\"chunk-09d60d84\":\"077a163c\",\"chunk-2e1e28a8\":\"7124878e\",\"chunk-45130ea4\":\"097e32dc\",\"chunk-579f1312\":\"fd814dc1\",\"chunk-783f5461\":\"bfb702b8\",\"chunk-7841086e\":\"19d4ec0d\",\"chunk-7c670eda\":\"960da816\",\"chunk-85cbd9c6\":\"ad89f576\",\"chunk-68893d97\":\"8ae92722\",\"chunk-55101c96\":\"eef4d5ac\",\"chunk-9dfaeaee\":\"2a0d7f5e\",\"chunk-18fd4d3e\":\"cb2420de\",\"chunk-6ad52c5e\":\"e9d4421e\",\"chunk-3d36cad1\":\"546ce504\",\"chunk-7875db49\":\"89d87633\",\"chunk-2d21d0c2\":\"31d6cfe0\",\"chunk-09b254a0\":\"3664a7bc\",\"chunk-175dcf54\":\"c8231e0f\",\"chunk-bdb5dd26\":\"db82e629\",\"chunk-2d4a8ea6\":\"097be80f\",\"chunk-2f1a6d9d\":\"19f51623\",\"chunk-4344cec6\":\"b6f54d92\",\"chunk-4465a9d3\":\"98aa5f20\",\"chunk-4919073a\":\"b4ebaba6\",\"chunk-5410c98d\":\"31d6cfe0\",\"chunk-0048eb1e\":\"405f1ce9\",\"chunk-401c45a3\":\"62883086\",\"chunk-aadfcf40\":\"ed90d184\",\"chunk-5735a570\":\"21de845e\",\"chunk-6050d81c\":\"cf263924\",\"chunk-25b09200\":\"ebe8ece2\",\"chunk-15ac3f18\":\"df6b0e85\",\"chunk-3b39bbd1\":\"629b63ce\",\"chunk-4f6d9d8f\":\"3af9f58f\",\"chunk-43251922\":\"5c8edc24\",\"chunk-6096631b\":\"1de770b5\",\"chunk-67572e5b\":\"b07fcd16\",\"chunk-715b1c01\":\"c2438aa9\",\"chunk-753dc6dc\":\"2084e4f6\",\"chunk-7df0e6fc\":\"8c52eec4\",\"chunk-378c0a58\":\"f8f6d2eb\",\"chunk-548bd22c\":\"6bc86377\",\"chunk-77937254\":\"e46dd8c7\",\"chunk-ffa599bc\":\"1a8d18f6\",\"chunk-68945674\":\"74376462\",\"chunk-cfe161ee\":\"6dd133fe\",\"chunk-a2f5bf76\":\"15ed9486\",\"chunk-bffe36de\":\"8a9c431e\",\"chunk-c234a282\":\"4a29f8fc\",\"chunk-c5c70080\":\"83ffe854\",\"chunk-c9809f9e\":\"c40f1be8\",\"chunk-ca90fa28\":\"da4b4534\",\"chunk-ce260984\":\"0bb815d4\",\"chunk-e23d9200\":\"21bf8522\",\"chunk-e4c96194\":\"e9a95125\",\"chunk-fd5a3e52\":\"4827b269\",\"chunk-6656c337\":\"0c6d8e41\",\"chunk-9cab16f2\":\"60e059ef\",\"chunk-e1818d44\":\"d0340752\",\"chunk-fedd5322\":\"58df53eb\",\"chunk-2d0b2ed7\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\",\"chunk-common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export const PmStateMap = {\r\n idle: \"idle\",\r\n pending: \"pending\",\r\n resolve: \"resolve\",\r\n reject: \"reject\"\r\n};\r\n\r\n/// promise状态绑定混合类\r\nexport const PmStateMixin = {\r\n methods: {\r\n /**\r\n * 包装 promise,将 promise 状态绑定到 data 中\r\n * @param promise promise对象\r\n * @param key 要绑定的 data key。与 vue watch 类似,支持深度绑定,如 \"form.loading\"\r\n * @returns Promise\r\n */\r\n wrapPromiseState(promise, key) {\r\n console.assert(key !== \"\" && key != null, \"key的值不能为空\");\r\n this._setDeepData(key, PmStateMap.pending);\r\n return promise.then((res) => {\r\n this._setDeepData(key, PmStateMap.resolve);\r\n return res;\r\n }).catch(error => {\r\n console.error(error);\r\n this._setDeepData(key, PmStateMap.reject);\r\n return Promise.reject(error);\r\n });\r\n },\r\n /**\r\n * 包装 promise,将进行中状态绑定到 data 中\r\n * @param promise\r\n * @param key\r\n * @returns Promise\r\n */\r\n wrapPromising(promise, key = \"loading\") {\r\n this._setDeepData(key, true);\r\n return promise.finally(() => {\r\n this._setDeepData(key, false);\r\n });\r\n },\r\n _setDeepData(dataKey, data) {\r\n const notUndefined = (obj, index) => {\r\n if (obj == null) {\r\n const joined = dPath.slice(0, index).join(\".\");\r\n const msg = `vm.$data.${dataKey} 中的 ${joined} 不存在 ${dPath[index]}`;\r\n throw new Error(msg);\r\n }\r\n };\r\n const beObject = (obj, index) => {\r\n if (typeof rootObj !== \"object\") {\r\n const joined = dPath.slice(0, index + 1).join(\".\");\r\n const msg = `vm.$data.${dataKey} 中的 ${joined} 不为 Object`\r\n throw new Error(msg);\r\n }\r\n };\r\n\r\n let dPath = dataKey.split(\".\");\r\n let rootObj = this.$data;\r\n dPath.forEach((subKey, index) => {\r\n if (index === dPath.length - 1) {\r\n this.$set(rootObj, subKey, data);\r\n } else {\r\n rootObj = rootObj[subKey];\r\n notUndefined(rootObj, index);\r\n beObject(rootObj, index)\r\n }\r\n });\r\n }\r\n },\r\n computed: {\r\n pmStateMap() {\r\n return PmStateMap;\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-pagination xy-center\"},[_c('el-pagination',{staticStyle:{\"padding\":\"60px 0\"},attrs:{\"hide-on-single-page\":\"\",\"background\":\"\",\"current-page\":_vm.pageNo,\"page-sizes\":_vm.pageSizes,\"page-size\":_vm.pSize,\"layout\":\"total, sizes, prev, pager, next, jumper\",\"total\":_vm.total},on:{\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=616cadaa&\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js&\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Pagination.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=style&index=0&id=5d807063&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=style&index=0&id=5d807063&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=style&index=0&lang=less&\"","/* eslint-disable */\r\nimport CryptoJS from \"crypto-js\"\r\n\r\nlet SM2Utils = {}\r\n\r\nfunction SM2Cipher(a) {\r\n this.ct = 1;\r\n this.sm3c3 = this.sm3keybase = this.p2 = null;\r\n this.key = Array(32);\r\n this.keyOff = 0;\r\n this.cipherMode = \"undefined\" != typeof a ? a : SM2CipherMode.C1C3C2\r\n}\r\n(function (global, undefined) {\r\n \"use strict\";\r\n var SM2CipherMode = {\r\n C1C2C3: \"0\",\r\n C1C3C2: \"1\"\r\n };\r\n (function () {\r\n function a(a, c) {\r\n var b = (this._lBlock >>> a ^ this._rBlock) & c;\r\n this._rBlock ^= b;\r\n this._lBlock ^= b << a\r\n }\r\n\r\n function b(a, c) {\r\n var b = (this._rBlock >>> a ^ this._lBlock) & c;\r\n this._lBlock ^= b;\r\n this._rBlock ^= b << a\r\n }\r\n var c = CryptoJS,\r\n d = c.lib,\r\n e = d.WordArray,\r\n d = d.BlockCipher,\r\n f = c.algo,\r\n g = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],\r\n h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],\r\n k = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],\r\n l = [{\r\n 0: 8421888,\r\n 268435456: 32768,\r\n 536870912: 8421378,\r\n 805306368: 2,\r\n 1073741824: 512,\r\n 1342177280: 8421890,\r\n 1610612736: 8389122,\r\n 1879048192: 8388608,\r\n 2147483648: 514,\r\n 2415919104: 8389120,\r\n 2684354560: 33280,\r\n 2952790016: 8421376,\r\n 3221225472: 32770,\r\n 3489660928: 8388610,\r\n 3758096384: 0,\r\n 4026531840: 33282,\r\n 134217728: 0,\r\n 402653184: 8421890,\r\n 671088640: 33282,\r\n 939524096: 32768,\r\n 1207959552: 8421888,\r\n 1476395008: 512,\r\n 1744830464: 8421378,\r\n 2013265920: 2,\r\n 2281701376: 8389120,\r\n 2550136832: 33280,\r\n 2818572288: 8421376,\r\n 3087007744: 8389122,\r\n 3355443200: 8388610,\r\n 3623878656: 32770,\r\n 3892314112: 514,\r\n 4160749568: 8388608,\r\n 1: 32768,\r\n 268435457: 2,\r\n 536870913: 8421888,\r\n 805306369: 8388608,\r\n 1073741825: 8421378,\r\n 1342177281: 33280,\r\n 1610612737: 512,\r\n 1879048193: 8389122,\r\n 2147483649: 8421890,\r\n 2415919105: 8421376,\r\n 2684354561: 8388610,\r\n 2952790017: 33282,\r\n 3221225473: 514,\r\n 3489660929: 8389120,\r\n 3758096385: 32770,\r\n 4026531841: 0,\r\n 134217729: 8421890,\r\n 402653185: 8421376,\r\n 671088641: 8388608,\r\n 939524097: 512,\r\n 1207959553: 32768,\r\n 1476395009: 8388610,\r\n 1744830465: 2,\r\n 2013265921: 33282,\r\n 2281701377: 32770,\r\n 2550136833: 8389122,\r\n 2818572289: 514,\r\n 3087007745: 8421888,\r\n 3355443201: 8389120,\r\n 3623878657: 0,\r\n 3892314113: 33280,\r\n 4160749569: 8421378\r\n }, {\r\n 0: 1074282512,\r\n 16777216: 16384,\r\n 33554432: 524288,\r\n 50331648: 1074266128,\r\n 67108864: 1073741840,\r\n 83886080: 1074282496,\r\n 100663296: 1073758208,\r\n 117440512: 16,\r\n 134217728: 540672,\r\n 150994944: 1073758224,\r\n 167772160: 1073741824,\r\n 184549376: 540688,\r\n 201326592: 524304,\r\n 218103808: 0,\r\n 234881024: 16400,\r\n 251658240: 1074266112,\r\n 8388608: 1073758208,\r\n 25165824: 540688,\r\n 41943040: 16,\r\n 58720256: 1073758224,\r\n 75497472: 1074282512,\r\n 92274688: 1073741824,\r\n 109051904: 524288,\r\n 125829120: 1074266128,\r\n 142606336: 524304,\r\n 159383552: 0,\r\n 176160768: 16384,\r\n 192937984: 1074266112,\r\n 209715200: 1073741840,\r\n 226492416: 540672,\r\n 243269632: 1074282496,\r\n 260046848: 16400,\r\n 268435456: 0,\r\n 285212672: 1074266128,\r\n 301989888: 1073758224,\r\n 318767104: 1074282496,\r\n 335544320: 1074266112,\r\n 352321536: 16,\r\n 369098752: 540688,\r\n 385875968: 16384,\r\n 402653184: 16400,\r\n 419430400: 524288,\r\n 436207616: 524304,\r\n 452984832: 1073741840,\r\n 469762048: 540672,\r\n 486539264: 1073758208,\r\n 503316480: 1073741824,\r\n 520093696: 1074282512,\r\n 276824064: 540688,\r\n 293601280: 524288,\r\n 310378496: 1074266112,\r\n 327155712: 16384,\r\n 343932928: 1073758208,\r\n 360710144: 1074282512,\r\n 377487360: 16,\r\n 394264576: 1073741824,\r\n 411041792: 1074282496,\r\n 427819008: 1073741840,\r\n 444596224: 1073758224,\r\n 461373440: 524304,\r\n 478150656: 0,\r\n 494927872: 16400,\r\n 511705088: 1074266128,\r\n 528482304: 540672\r\n }, {\r\n 0: 260,\r\n 1048576: 0,\r\n 2097152: 67109120,\r\n 3145728: 65796,\r\n 4194304: 65540,\r\n 5242880: 67108868,\r\n 6291456: 67174660,\r\n 7340032: 67174400,\r\n 8388608: 67108864,\r\n 9437184: 67174656,\r\n 10485760: 65792,\r\n 11534336: 67174404,\r\n 12582912: 67109124,\r\n 13631488: 65536,\r\n 14680064: 4,\r\n 15728640: 256,\r\n 524288: 67174656,\r\n 1572864: 67174404,\r\n 2621440: 0,\r\n 3670016: 67109120,\r\n 4718592: 67108868,\r\n 5767168: 65536,\r\n 6815744: 65540,\r\n 7864320: 260,\r\n 8912896: 4,\r\n 9961472: 256,\r\n 11010048: 67174400,\r\n 12058624: 65796,\r\n 13107200: 65792,\r\n 14155776: 67109124,\r\n 15204352: 67174660,\r\n 16252928: 67108864,\r\n 16777216: 67174656,\r\n 17825792: 65540,\r\n 18874368: 65536,\r\n 19922944: 67109120,\r\n 20971520: 256,\r\n 22020096: 67174660,\r\n 23068672: 67108868,\r\n 24117248: 0,\r\n 25165824: 67109124,\r\n 26214400: 67108864,\r\n 27262976: 4,\r\n 28311552: 65792,\r\n 29360128: 67174400,\r\n 30408704: 260,\r\n 31457280: 65796,\r\n 32505856: 67174404,\r\n 17301504: 67108864,\r\n 18350080: 260,\r\n 19398656: 67174656,\r\n 20447232: 0,\r\n 21495808: 65540,\r\n 22544384: 67109120,\r\n 23592960: 256,\r\n 24641536: 67174404,\r\n 25690112: 65536,\r\n 26738688: 67174660,\r\n 27787264: 65796,\r\n 28835840: 67108868,\r\n 29884416: 67109124,\r\n 30932992: 67174400,\r\n 31981568: 4,\r\n 33030144: 65792\r\n }, {\r\n 0: 2151682048,\r\n 65536: 2147487808,\r\n 131072: 4198464,\r\n 196608: 2151677952,\r\n 262144: 0,\r\n 327680: 4198400,\r\n 393216: 2147483712,\r\n 458752: 4194368,\r\n 524288: 2147483648,\r\n 589824: 4194304,\r\n 655360: 64,\r\n 720896: 2147487744,\r\n 786432: 2151678016,\r\n 851968: 4160,\r\n 917504: 4096,\r\n 983040: 2151682112,\r\n 32768: 2147487808,\r\n 98304: 64,\r\n 163840: 2151678016,\r\n 229376: 2147487744,\r\n 294912: 4198400,\r\n 360448: 2151682112,\r\n 425984: 0,\r\n 491520: 2151677952,\r\n 557056: 4096,\r\n 622592: 2151682048,\r\n 688128: 4194304,\r\n 753664: 4160,\r\n 819200: 2147483648,\r\n 884736: 4194368,\r\n 950272: 4198464,\r\n 1015808: 2147483712,\r\n 1048576: 4194368,\r\n 1114112: 4198400,\r\n 1179648: 2147483712,\r\n 1245184: 0,\r\n 1310720: 4160,\r\n 1376256: 2151678016,\r\n 1441792: 2151682048,\r\n 1507328: 2147487808,\r\n 1572864: 2151682112,\r\n 1638400: 2147483648,\r\n 1703936: 2151677952,\r\n 1769472: 4198464,\r\n 1835008: 2147487744,\r\n 1900544: 4194304,\r\n 1966080: 64,\r\n 2031616: 4096,\r\n 1081344: 2151677952,\r\n 1146880: 2151682112,\r\n 1212416: 0,\r\n 1277952: 4198400,\r\n 1343488: 4194368,\r\n 1409024: 2147483648,\r\n 1474560: 2147487808,\r\n 1540096: 64,\r\n 1605632: 2147483712,\r\n 1671168: 4096,\r\n 1736704: 2147487744,\r\n 1802240: 2151678016,\r\n 1867776: 4160,\r\n 1933312: 2151682048,\r\n 1998848: 4194304,\r\n 2064384: 4198464\r\n }, {\r\n 0: 128,\r\n 4096: 17039360,\r\n 8192: 262144,\r\n 12288: 536870912,\r\n 16384: 537133184,\r\n 20480: 16777344,\r\n 24576: 553648256,\r\n 28672: 262272,\r\n 32768: 16777216,\r\n 36864: 537133056,\r\n 40960: 536871040,\r\n 45056: 553910400,\r\n 49152: 553910272,\r\n 53248: 0,\r\n 57344: 17039488,\r\n 61440: 553648128,\r\n 2048: 17039488,\r\n 6144: 553648256,\r\n 10240: 128,\r\n 14336: 17039360,\r\n 18432: 262144,\r\n 22528: 537133184,\r\n 26624: 553910272,\r\n 30720: 536870912,\r\n 34816: 537133056,\r\n 38912: 0,\r\n 43008: 553910400,\r\n 47104: 16777344,\r\n 51200: 536871040,\r\n 55296: 553648128,\r\n 59392: 16777216,\r\n 63488: 262272,\r\n 65536: 262144,\r\n 69632: 128,\r\n 73728: 536870912,\r\n 77824: 553648256,\r\n 81920: 16777344,\r\n 86016: 553910272,\r\n 90112: 537133184,\r\n 94208: 16777216,\r\n 98304: 553910400,\r\n 102400: 553648128,\r\n 106496: 17039360,\r\n 110592: 537133056,\r\n 114688: 262272,\r\n 118784: 536871040,\r\n 122880: 0,\r\n 126976: 17039488,\r\n 67584: 553648256,\r\n 71680: 16777216,\r\n 75776: 17039360,\r\n 79872: 537133184,\r\n 83968: 536870912,\r\n 88064: 17039488,\r\n 92160: 128,\r\n 96256: 553910272,\r\n 100352: 262272,\r\n 104448: 553910400,\r\n 108544: 0,\r\n 112640: 553648128,\r\n 116736: 16777344,\r\n 120832: 262144,\r\n 124928: 537133056,\r\n 129024: 536871040\r\n }, {\r\n 0: 268435464,\r\n 256: 8192,\r\n 512: 270532608,\r\n 768: 270540808,\r\n 1024: 268443648,\r\n 1280: 2097152,\r\n 1536: 2097160,\r\n 1792: 268435456,\r\n 2048: 0,\r\n 2304: 268443656,\r\n 2560: 2105344,\r\n 2816: 8,\r\n 3072: 270532616,\r\n 3328: 2105352,\r\n 3584: 8200,\r\n 3840: 270540800,\r\n 128: 270532608,\r\n 384: 270540808,\r\n 640: 8,\r\n 896: 2097152,\r\n 1152: 2105352,\r\n 1408: 268435464,\r\n 1664: 268443648,\r\n 1920: 8200,\r\n 2176: 2097160,\r\n 2432: 8192,\r\n 2688: 268443656,\r\n 2944: 270532616,\r\n 3200: 0,\r\n 3456: 270540800,\r\n 3712: 2105344,\r\n 3968: 268435456,\r\n 4096: 268443648,\r\n 4352: 270532616,\r\n 4608: 270540808,\r\n 4864: 8200,\r\n 5120: 2097152,\r\n 5376: 268435456,\r\n 5632: 268435464,\r\n 5888: 2105344,\r\n 6144: 2105352,\r\n 6400: 0,\r\n 6656: 8,\r\n 6912: 270532608,\r\n 7168: 8192,\r\n 7424: 268443656,\r\n 7680: 270540800,\r\n 7936: 2097160,\r\n 4224: 8,\r\n 4480: 2105344,\r\n 4736: 2097152,\r\n 4992: 268435464,\r\n 5248: 268443648,\r\n 5504: 8200,\r\n 5760: 270540808,\r\n 6016: 270532608,\r\n 6272: 270540800,\r\n 6528: 270532616,\r\n 6784: 8192,\r\n 7040: 2105352,\r\n 7296: 2097160,\r\n 7552: 0,\r\n 7808: 268435456,\r\n 8064: 268443656\r\n }, {\r\n 0: 1048576,\r\n 16: 33555457,\r\n 32: 1024,\r\n 48: 1049601,\r\n 64: 34604033,\r\n 80: 0,\r\n 96: 1,\r\n 112: 34603009,\r\n 128: 33555456,\r\n 144: 1048577,\r\n 160: 33554433,\r\n 176: 34604032,\r\n 192: 34603008,\r\n 208: 1025,\r\n 224: 1049600,\r\n 240: 33554432,\r\n 8: 34603009,\r\n 24: 0,\r\n 40: 33555457,\r\n 56: 34604032,\r\n 72: 1048576,\r\n 88: 33554433,\r\n 104: 33554432,\r\n 120: 1025,\r\n 136: 1049601,\r\n 152: 33555456,\r\n 168: 34603008,\r\n 184: 1048577,\r\n 200: 1024,\r\n 216: 34604033,\r\n 232: 1,\r\n 248: 1049600,\r\n 256: 33554432,\r\n 272: 1048576,\r\n 288: 33555457,\r\n 304: 34603009,\r\n 320: 1048577,\r\n 336: 33555456,\r\n 352: 34604032,\r\n 368: 1049601,\r\n 384: 1025,\r\n 400: 34604033,\r\n 416: 1049600,\r\n 432: 1,\r\n 448: 0,\r\n 464: 34603008,\r\n 480: 33554433,\r\n 496: 1024,\r\n 264: 1049600,\r\n 280: 33555457,\r\n 296: 34603009,\r\n 312: 1,\r\n 328: 33554432,\r\n 344: 1048576,\r\n 360: 1025,\r\n 376: 34604032,\r\n 392: 33554433,\r\n 408: 34603008,\r\n 424: 0,\r\n 440: 34604033,\r\n 456: 1049601,\r\n 472: 1024,\r\n 488: 33555456,\r\n 504: 1048577\r\n }, {\r\n 0: 134219808,\r\n 1: 131072,\r\n 2: 134217728,\r\n 3: 32,\r\n 4: 131104,\r\n 5: 134350880,\r\n 6: 134350848,\r\n 7: 2048,\r\n 8: 134348800,\r\n 9: 134219776,\r\n 10: 133120,\r\n 11: 134348832,\r\n 12: 2080,\r\n 13: 0,\r\n 14: 134217760,\r\n 15: 133152,\r\n 2147483648: 2048,\r\n 2147483649: 134350880,\r\n 2147483650: 134219808,\r\n 2147483651: 134217728,\r\n 2147483652: 134348800,\r\n 2147483653: 133120,\r\n 2147483654: 133152,\r\n 2147483655: 32,\r\n 2147483656: 134217760,\r\n 2147483657: 2080,\r\n 2147483658: 131104,\r\n 2147483659: 134350848,\r\n 2147483660: 0,\r\n 2147483661: 134348832,\r\n 2147483662: 134219776,\r\n 2147483663: 131072,\r\n 16: 133152,\r\n 17: 134350848,\r\n 18: 32,\r\n 19: 2048,\r\n 20: 134219776,\r\n 21: 134217760,\r\n 22: 134348832,\r\n 23: 131072,\r\n 24: 0,\r\n 25: 131104,\r\n 26: 134348800,\r\n 27: 134219808,\r\n 28: 134350880,\r\n 29: 133120,\r\n 30: 2080,\r\n 31: 134217728,\r\n 2147483664: 131072,\r\n 2147483665: 2048,\r\n 2147483666: 134348832,\r\n 2147483667: 133152,\r\n 2147483668: 32,\r\n 2147483669: 134348800,\r\n 2147483670: 134217728,\r\n 2147483671: 134219808,\r\n 2147483672: 134350880,\r\n 2147483673: 134217760,\r\n 2147483674: 134219776,\r\n 2147483675: 0,\r\n 2147483676: 133120,\r\n 2147483677: 2080,\r\n 2147483678: 131104,\r\n 2147483679: 134350848\r\n }],\r\n p = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],\r\n n = f.DES = d.extend({\r\n _doReset: function () {\r\n for (var a = this._key.words, c = [], b = 0; 56 > b; b++) {\r\n var d = g[b] - 1;\r\n c[b] = a[d >>> 5] >>> 31 - d % 32 & 1\r\n }\r\n a = this._subKeys = [];\r\n for (d = 0; 16 > d; d++) {\r\n for (var e = a[d] = [], f = k[d], b = 0; 24 > b; b++)\r\n e[b / 6 | 0] |= c[(h[b] - 1 + f) % 28] << 31 - b % 6,\r\n e[4 + (b / 6 | 0)] |= c[28 + (h[b + 24] - 1 + f) % 28] << 31 - b % 6;\r\n e[0] = e[0] << 1 | e[0] >>> 31;\r\n for (b = 1; 7 > b; b++)\r\n e[b] >>>= 4 * (b - 1) + 3;\r\n e[7] = e[7] << 5 | e[7] >>> 27\r\n }\r\n c = this._invSubKeys = [];\r\n for (b = 0; 16 > b; b++)\r\n c[b] = a[15 - b]\r\n },\r\n encryptBlock: function (a, c) {\r\n this._doCryptBlock(a, c, this._subKeys)\r\n },\r\n decryptBlock: function (a, c) {\r\n this._doCryptBlock(a, c, this._invSubKeys)\r\n },\r\n _doCryptBlock: function (c, d, e) {\r\n this._lBlock = c[d];\r\n this._rBlock = c[d + 1];\r\n a.call(this, 4, 252645135);\r\n a.call(this, 16, 65535);\r\n b.call(this, 2, 858993459);\r\n b.call(this, 8, 16711935);\r\n a.call(this, 1, 1431655765);\r\n for (var f = 0; 16 > f; f++) {\r\n for (var g = e[f], h = this._lBlock, k = this._rBlock, n = 0, u = 0; 8 > u; u++)\r\n n |= l[u][((k ^ g[u]) & p[u]) >>> 0];\r\n this._lBlock = k;\r\n this._rBlock = h ^ n\r\n }\r\n e = this._lBlock;\r\n this._lBlock = this._rBlock;\r\n this._rBlock = e;\r\n a.call(this, 1, 1431655765);\r\n b.call(this, 8, 16711935);\r\n b.call(this, 2, 858993459);\r\n a.call(this, 16, 65535);\r\n a.call(this, 4, 252645135);\r\n c[d] = this._lBlock;\r\n c[d + 1] = this._rBlock\r\n },\r\n keySize: 2,\r\n ivSize: 2,\r\n blockSize: 2\r\n });\r\n c.DES = d._createHelper(n);\r\n f = f.TripleDES = d.extend({\r\n _doReset: function () {\r\n var a = this._key.words;\r\n this._des1 = n.createEncryptor(e.create(a.slice(0, 2)));\r\n this._des2 = n.createEncryptor(e.create(a.slice(2, 4)));\r\n this._des3 = n.createEncryptor(e.create(a.slice(4, 6)))\r\n },\r\n encryptBlock: function (a, c) {\r\n this._des1.encryptBlock(a, c);\r\n this._des2.decryptBlock(a, c);\r\n this._des3.encryptBlock(a, c)\r\n },\r\n decryptBlock: function (a, c) {\r\n this._des3.decryptBlock(a, c);\r\n this._des2.encryptBlock(a, c);\r\n this._des1.decryptBlock(a, c)\r\n },\r\n keySize: 6,\r\n ivSize: 2,\r\n blockSize: 2\r\n });\r\n c.TripleDES = d._createHelper(f)\r\n })();\r\n (function () {\r\n var a = CryptoJS,\r\n b = a.lib.WordArray;\r\n a.enc.Base64 = {\r\n stringify: function (a) {\r\n var b = a.words,\r\n e = a.sigBytes,\r\n f = this._map;\r\n a.clamp();\r\n a = [];\r\n for (var g = 0; g < e; g += 3)\r\n for (var h = (b[g >>> 2] >>> 24 - g % 4 * 8 & 255) << 16 | (b[g + 1 >>> 2] >>> 24 - (g + 1) % 4 * 8 & 255) << 8 | b[g + 2 >>> 2] >>> 24 - (g + 2) % 4 * 8 & 255, k = 0; 4 > k && g + .75 * k < e; k++)\r\n a.push(f.charAt(h >>> 6 * (3 - k) & 63));\r\n if (b = f.charAt(64))\r\n for (; a.length % 4;)\r\n a.push(b);\r\n return a.join(\"\")\r\n },\r\n parse: function (a) {\r\n var d = a.length,\r\n e = this._map,\r\n f = e.charAt(64);\r\n f && (f = a.indexOf(f),\r\n -1 != f && (d = f));\r\n for (var f = [], g = 0, h = 0; h < d; h++)\r\n if (h % 4) {\r\n var k = e.indexOf(a.charAt(h - 1)) << h % 4 * 2,\r\n l = e.indexOf(a.charAt(h)) >>> 6 - h % 4 * 2;\r\n f[g >>> 2] |= (k | l) << 24 - g % 4 * 8;\r\n g++\r\n }\r\n return b.create(f, g)\r\n },\r\n _map: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\r\n }\r\n })();\r\n var dbits, canary = 0xdeadbeefcafe,\r\n j_lm = 15715070 == (canary & 16777215);\r\n\r\n function BigInteger(a, b, c) {\r\n null != a && (\"number\" == typeof a ? this.fromNumber(a, b, c) : null == b && \"string\" != typeof a ? this.fromString(a, 256) : this.fromString(a, b))\r\n }\r\n\r\n function nbi() {\r\n return new BigInteger(null)\r\n }\r\n\r\n function am1(a, b, c, d, e, f) {\r\n for (; 0 <= --f;) {\r\n var g = b * this[a++] + c[d] + e;\r\n e = Math.floor(g / 67108864);\r\n c[d++] = g & 67108863\r\n }\r\n return e\r\n }\r\n\r\n function am2(a, b, c, d, e, f) {\r\n var g = b & 32767;\r\n for (b >>= 15; 0 <= --f;) {\r\n var h = this[a] & 32767,\r\n k = this[a++] >> 15,\r\n l = b * h + k * g,\r\n h = g * h + ((l & 32767) << 15) + c[d] + (e & 1073741823);\r\n e = (h >>> 30) + (l >>> 15) + b * k + (e >>> 30);\r\n c[d++] = h & 1073741823\r\n }\r\n return e\r\n }\r\n\r\n function am3(a, b, c, d, e, f) {\r\n var g = b & 16383;\r\n for (b >>= 14; 0 <= --f;) {\r\n var h = this[a] & 16383,\r\n k = this[a++] >> 14,\r\n l = b * h + k * g,\r\n h = g * h + ((l & 16383) << 14) + c[d] + e;\r\n e = (h >> 28) + (l >> 14) + b * k;\r\n c[d++] = h & 268435455\r\n }\r\n return e\r\n }\r\n if (process.server) {\r\n if (j_lm) {\r\n BigInteger.prototype.am = am3;\r\n dbits = 28;\r\n }\r\n } else {\r\n j_lm && \"Microsoft Internet Explorer\" == navigator.appName ? (BigInteger.prototype.am = am2,\r\n dbits = 30) : j_lm && \"Netscape\" != navigator.appName ? (BigInteger.prototype.am = am1,\r\n dbits = 26) : (BigInteger.prototype.am = am3,\r\n dbits = 28);\r\n }\r\n\r\n BigInteger.prototype.DB = dbits;\r\n BigInteger.prototype.DM = (1 << dbits) - 1;\r\n BigInteger.prototype.DV = 1 << dbits;\r\n var BI_FP = 52;\r\n BigInteger.prototype.FV = Math.pow(2, BI_FP);\r\n BigInteger.prototype.F1 = BI_FP - dbits;\r\n BigInteger.prototype.F2 = 2 * dbits - BI_FP;\r\n var BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\",\r\n BI_RC = [],\r\n rr, vv;\r\n rr = 48;\r\n for (vv = 0; 9 >= vv; ++vv)\r\n BI_RC[rr++] = vv;\r\n rr = 97;\r\n for (vv = 10; 36 > vv; ++vv)\r\n BI_RC[rr++] = vv;\r\n rr = 65;\r\n for (vv = 10; 36 > vv; ++vv)\r\n BI_RC[rr++] = vv;\r\n\r\n function int2char(a) {\r\n return BI_RM.charAt(a)\r\n }\r\n\r\n function intAt(a, b) {\r\n var c = BI_RC[a.charCodeAt(b)];\r\n return null == c ? -1 : c\r\n }\r\n\r\n function bnpCopyTo(a) {\r\n for (var b = this.t - 1; 0 <= b; --b)\r\n a[b] = this[b];\r\n a.t = this.t;\r\n a.s = this.s\r\n }\r\n\r\n function bnpFromInt(a) {\r\n this.t = 1;\r\n this.s = 0 > a ? -1 : 0;\r\n 0 < a ? this[0] = a : -1 > a ? this[0] = a + this.DV : this.t = 0\r\n }\r\n\r\n function nbv(a) {\r\n var b = nbi();\r\n b.fromInt(a);\r\n return b\r\n }\r\n\r\n function bnpFromString(a, b) {\r\n var c;\r\n if (16 == b)\r\n c = 4;\r\n else if (8 == b)\r\n c = 3;\r\n else if (256 == b)\r\n c = 8;\r\n else if (2 == b)\r\n c = 1;\r\n else if (32 == b)\r\n c = 5;\r\n else if (4 == b)\r\n c = 2;\r\n else {\r\n this.fromRadix(a, b);\r\n return\r\n }\r\n this.s = this.t = 0;\r\n for (var d = a.length, e = !1, f = 0; 0 <= --d;) {\r\n var g = 8 == c ? a[d] & 255 : intAt(a, d);\r\n 0 > g ? \"-\" == a.charAt(d) && (e = !0) : (e = !1,\r\n 0 == f ? this[this.t++] = g : f + c > this.DB ? (this[this.t - 1] |= (g & (1 << this.DB - f) - 1) << f,\r\n this[this.t++] = g >> this.DB - f) : this[this.t - 1] |= g << f,\r\n f += c,\r\n f >= this.DB && (f -= this.DB))\r\n }\r\n 8 == c && 0 != (a[0] & 128) && (this.s = -1,\r\n 0 < f && (this[this.t - 1] |= (1 << this.DB - f) - 1 << f));\r\n this.clamp();\r\n e && BigInteger.ZERO.subTo(this, this)\r\n }\r\n\r\n function bnpClamp() {\r\n for (var a = this.s & this.DM; 0 < this.t && this[this.t - 1] == a;)\r\n --this.t\r\n }\r\n\r\n function bnToString(a) {\r\n if (0 > this.s)\r\n return \"-\" + this.negate().toString(a);\r\n if (16 == a)\r\n a = 4;\r\n else if (8 == a)\r\n a = 3;\r\n else if (2 == a)\r\n a = 1;\r\n else if (32 == a)\r\n a = 5;\r\n else if (4 == a)\r\n a = 2;\r\n else\r\n return this.toRadix(a);\r\n var b = (1 << a) - 1,\r\n c, d = !1,\r\n e = \"\",\r\n f = this.t,\r\n g = this.DB - f * this.DB % a;\r\n if (0 < f--)\r\n for (g < this.DB && 0 < (c = this[f] >> g) && (d = !0,\r\n e = int2char(c)); 0 <= f;)\r\n g < a ? (c = (this[f] & (1 << g) - 1) << a - g,\r\n c |= this[--f] >> (g += this.DB - a)) : (c = this[f] >> (g -= a) & b,\r\n 0 >= g && (g += this.DB,\r\n --f)),\r\n 0 < c && (d = !0),\r\n d && (e += int2char(c));\r\n return d ? e : \"0\"\r\n }\r\n\r\n function bnNegate() {\r\n var a = nbi();\r\n BigInteger.ZERO.subTo(this, a);\r\n return a\r\n }\r\n\r\n function bnAbs() {\r\n return 0 > this.s ? this.negate() : this\r\n }\r\n\r\n function bnCompareTo(a) {\r\n var b = this.s - a.s;\r\n if (0 != b)\r\n return b;\r\n var c = this.t,\r\n b = c - a.t;\r\n if (0 != b)\r\n return 0 > this.s ? -b : b;\r\n for (; 0 <= --c;)\r\n if (0 != (b = this[c] - a[c]))\r\n return b;\r\n return 0\r\n }\r\n\r\n function nbits(a) {\r\n var b = 1,\r\n c;\r\n 0 != (c = a >>> 16) && (a = c,\r\n b += 16);\r\n 0 != (c = a >> 8) && (a = c,\r\n b += 8);\r\n 0 != (c = a >> 4) && (a = c,\r\n b += 4);\r\n 0 != (c = a >> 2) && (a = c,\r\n b += 2);\r\n 0 != a >> 1 && (b += 1);\r\n return b\r\n }\r\n\r\n function bnBitLength() {\r\n return 0 >= this.t ? 0 : this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM)\r\n }\r\n\r\n function bnpDLShiftTo(a, b) {\r\n var c;\r\n for (c = this.t - 1; 0 <= c; --c)\r\n b[c + a] = this[c];\r\n for (c = a - 1; 0 <= c; --c)\r\n b[c] = 0;\r\n b.t = this.t + a;\r\n b.s = this.s\r\n }\r\n\r\n function bnpDRShiftTo(a, b) {\r\n for (var c = a; c < this.t; ++c)\r\n b[c - a] = this[c];\r\n b.t = Math.max(this.t - a, 0);\r\n b.s = this.s\r\n }\r\n\r\n function bnpLShiftTo(a, b) {\r\n var c = a % this.DB,\r\n d = this.DB - c,\r\n e = (1 << d) - 1,\r\n f = Math.floor(a / this.DB),\r\n g = this.s << c & this.DM,\r\n h;\r\n for (h = this.t - 1; 0 <= h; --h)\r\n b[h + f + 1] = this[h] >> d | g,\r\n g = (this[h] & e) << c;\r\n for (h = f - 1; 0 <= h; --h)\r\n b[h] = 0;\r\n b[f] = g;\r\n b.t = this.t + f + 1;\r\n b.s = this.s;\r\n b.clamp()\r\n }\r\n\r\n function bnpRShiftTo(a, b) {\r\n b.s = this.s;\r\n var c = Math.floor(a / this.DB);\r\n if (c >= this.t)\r\n b.t = 0;\r\n else {\r\n var d = a % this.DB,\r\n e = this.DB - d,\r\n f = (1 << d) - 1;\r\n b[0] = this[c] >> d;\r\n for (var g = c + 1; g < this.t; ++g)\r\n b[g - c - 1] |= (this[g] & f) << e,\r\n b[g - c] = this[g] >> d;\r\n 0 < d && (b[this.t - c - 1] |= (this.s & f) << e);\r\n b.t = this.t - c;\r\n b.clamp()\r\n }\r\n }\r\n\r\n function bnpSubTo(a, b) {\r\n for (var c = 0, d = 0, e = Math.min(a.t, this.t); c < e;)\r\n d += this[c] - a[c],\r\n b[c++] = d & this.DM,\r\n d >>= this.DB;\r\n if (a.t < this.t) {\r\n for (d -= a.s; c < this.t;)\r\n d += this[c],\r\n b[c++] = d & this.DM,\r\n d >>= this.DB;\r\n d += this.s\r\n } else {\r\n for (d += this.s; c < a.t;)\r\n d -= a[c],\r\n b[c++] = d & this.DM,\r\n d >>= this.DB;\r\n d -= a.s\r\n }\r\n b.s = 0 > d ? -1 : 0; -\r\n 1 > d ? b[c++] = this.DV + d : 0 < d && (b[c++] = d);\r\n b.t = c;\r\n b.clamp()\r\n }\r\n\r\n function bnpMultiplyTo(a, b) {\r\n var c = this.abs(),\r\n d = a.abs(),\r\n e = c.t;\r\n for (b.t = e + d.t; 0 <= --e;)\r\n b[e] = 0;\r\n for (e = 0; e < d.t; ++e)\r\n b[e + c.t] = c.am(0, d[e], b, e, 0, c.t);\r\n b.s = 0;\r\n b.clamp();\r\n this.s != a.s && BigInteger.ZERO.subTo(b, b)\r\n }\r\n\r\n function bnpSquareTo(a) {\r\n for (var b = this.abs(), c = a.t = 2 * b.t; 0 <= --c;)\r\n a[c] = 0;\r\n for (c = 0; c < b.t - 1; ++c) {\r\n var d = b.am(c, b[c], a, 2 * c, 0, 1);\r\n (a[c + b.t] += b.am(c + 1, 2 * b[c], a, 2 * c + 1, d, b.t - c - 1)) >= b.DV && (a[c + b.t] -= b.DV,\r\n a[c + b.t + 1] = 1)\r\n }\r\n 0 < a.t && (a[a.t - 1] += b.am(c, b[c], a, 2 * c, 0, 1));\r\n a.s = 0;\r\n a.clamp()\r\n }\r\n\r\n function bnpDivRemTo(a, b, c) {\r\n var d = a.abs();\r\n if (!(0 >= d.t)) {\r\n var e = this.abs();\r\n if (e.t < d.t)\r\n null != b && b.fromInt(0),\r\n null != c && this.copyTo(c);\r\n else {\r\n null == c && (c = nbi());\r\n var f = nbi(),\r\n g = this.s;\r\n a = a.s;\r\n var h = this.DB - nbits(d[d.t - 1]);\r\n 0 < h ? (d.lShiftTo(h, f),\r\n e.lShiftTo(h, c)) : (d.copyTo(f),\r\n e.copyTo(c));\r\n d = f.t;\r\n e = f[d - 1];\r\n if (0 != e) {\r\n var k = e * (1 << this.F1) + (1 < d ? f[d - 2] >> this.F2 : 0),\r\n l = this.FV / k,\r\n k = (1 << this.F1) / k,\r\n p = 1 << this.F2,\r\n n = c.t,\r\n q = n - d,\r\n m = null == b ? nbi() : b;\r\n f.dlShiftTo(q, m);\r\n 0 <= c.compareTo(m) && (c[c.t++] = 1,\r\n c.subTo(m, c));\r\n BigInteger.ONE.dlShiftTo(d, m);\r\n for (m.subTo(f, f); f.t < d;)\r\n f[f.t++] = 0;\r\n for (; 0 <= --q;) {\r\n var r = c[--n] == e ? this.DM : Math.floor(c[n] * l + (c[n - 1] + p) * k);\r\n if ((c[n] += f.am(0, r, c, q, 0, d)) < r)\r\n for (f.dlShiftTo(q, m),\r\n c.subTo(m, c); c[n] < --r;)\r\n c.subTo(m, c)\r\n }\r\n null != b && (c.drShiftTo(d, b),\r\n g != a && BigInteger.ZERO.subTo(b, b));\r\n c.t = d;\r\n c.clamp();\r\n 0 < h && c.rShiftTo(h, c);\r\n 0 > g && BigInteger.ZERO.subTo(c, c)\r\n }\r\n }\r\n }\r\n }\r\n\r\n function bnMod(a) {\r\n var b = nbi();\r\n this.abs().divRemTo(a, null, b);\r\n 0 > this.s && 0 < b.compareTo(BigInteger.ZERO) && a.subTo(b, b);\r\n return b\r\n }\r\n\r\n function Classic(a) {\r\n this.m = a\r\n }\r\n\r\n function cConvert(a) {\r\n return 0 > a.s || 0 <= a.compareTo(this.m) ? a.mod(this.m) : a\r\n }\r\n\r\n function cRevert(a) {\r\n return a\r\n }\r\n\r\n function cReduce(a) {\r\n a.divRemTo(this.m, null, a)\r\n }\r\n\r\n function cMulTo(a, b, c) {\r\n a.multiplyTo(b, c);\r\n this.reduce(c)\r\n }\r\n\r\n function cSqrTo(a, b) {\r\n a.squareTo(b);\r\n this.reduce(b)\r\n }\r\n Classic.prototype.convert = cConvert;\r\n Classic.prototype.revert = cRevert;\r\n Classic.prototype.reduce = cReduce;\r\n Classic.prototype.mulTo = cMulTo;\r\n Classic.prototype.sqrTo = cSqrTo;\r\n\r\n function bnpInvDigit() {\r\n if (1 > this.t)\r\n return 0;\r\n var a = this[0];\r\n if (0 == (a & 1))\r\n return 0;\r\n var b = a & 3,\r\n b = b * (2 - (a & 15) * b) & 15,\r\n b = b * (2 - (a & 255) * b) & 255,\r\n b = b * (2 - ((a & 65535) * b & 65535)) & 65535,\r\n b = b * (2 - a * b % this.DV) % this.DV;\r\n return 0 < b ? this.DV - b : -b\r\n }\r\n\r\n function Montgomery(a) {\r\n this.m = a;\r\n this.mp = a.invDigit();\r\n this.mpl = this.mp & 32767;\r\n this.mph = this.mp >> 15;\r\n this.um = (1 << a.DB - 15) - 1;\r\n this.mt2 = 2 * a.t\r\n }\r\n\r\n function montConvert(a) {\r\n var b = nbi();\r\n a.abs().dlShiftTo(this.m.t, b);\r\n b.divRemTo(this.m, null, b);\r\n 0 > a.s && 0 < b.compareTo(BigInteger.ZERO) && this.m.subTo(b, b);\r\n return b\r\n }\r\n\r\n function montRevert(a) {\r\n var b = nbi();\r\n a.copyTo(b);\r\n this.reduce(b);\r\n return b\r\n }\r\n\r\n function montReduce(a) {\r\n for (; a.t <= this.mt2;)\r\n a[a.t++] = 0;\r\n for (var b = 0; b < this.m.t; ++b) {\r\n var c = a[b] & 32767,\r\n d = c * this.mpl + ((c * this.mph + (a[b] >> 15) * this.mpl & this.um) << 15) & a.DM,\r\n c = b + this.m.t;\r\n for (a[c] += this.m.am(0, d, a, b, 0, this.m.t); a[c] >= a.DV;)\r\n a[c] -= a.DV,\r\n a[++c]++\r\n }\r\n a.clamp();\r\n a.drShiftTo(this.m.t, a);\r\n 0 <= a.compareTo(this.m) && a.subTo(this.m, a)\r\n }\r\n\r\n function montSqrTo(a, b) {\r\n a.squareTo(b);\r\n this.reduce(b)\r\n }\r\n\r\n function montMulTo(a, b, c) {\r\n a.multiplyTo(b, c);\r\n this.reduce(c)\r\n }\r\n Montgomery.prototype.convert = montConvert;\r\n Montgomery.prototype.revert = montRevert;\r\n Montgomery.prototype.reduce = montReduce;\r\n Montgomery.prototype.mulTo = montMulTo;\r\n Montgomery.prototype.sqrTo = montSqrTo;\r\n\r\n function bnpIsEven() {\r\n return 0 == (0 < this.t ? this[0] & 1 : this.s)\r\n }\r\n\r\n function bnpExp(a, b) {\r\n if (4294967295 < a || 1 > a)\r\n return BigInteger.ONE;\r\n var c = nbi(),\r\n d = nbi(),\r\n e = b.convert(this),\r\n f = nbits(a) - 1;\r\n for (e.copyTo(c); 0 <= --f;)\r\n if (b.sqrTo(c, d),\r\n 0 < (a & 1 << f))\r\n b.mulTo(d, e, c);\r\n else\r\n var g = c,\r\n c = d,\r\n d = g;\r\n return b.revert(c)\r\n }\r\n\r\n function bnModPowInt(a, b) {\r\n var c;\r\n c = 256 > a || b.isEven() ? new Classic(b) : new Montgomery(b);\r\n return this.exp(a, c)\r\n }\r\n BigInteger.prototype.copyTo = bnpCopyTo;\r\n BigInteger.prototype.fromInt = bnpFromInt;\r\n BigInteger.prototype.fromString = bnpFromString;\r\n BigInteger.prototype.clamp = bnpClamp;\r\n BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\r\n BigInteger.prototype.drShiftTo = bnpDRShiftTo;\r\n BigInteger.prototype.lShiftTo = bnpLShiftTo;\r\n BigInteger.prototype.rShiftTo = bnpRShiftTo;\r\n BigInteger.prototype.subTo = bnpSubTo;\r\n BigInteger.prototype.multiplyTo = bnpMultiplyTo;\r\n BigInteger.prototype.squareTo = bnpSquareTo;\r\n BigInteger.prototype.divRemTo = bnpDivRemTo;\r\n BigInteger.prototype.invDigit = bnpInvDigit;\r\n BigInteger.prototype.isEven = bnpIsEven;\r\n BigInteger.prototype.exp = bnpExp;\r\n BigInteger.prototype.toString = bnToString;\r\n BigInteger.prototype.negate = bnNegate;\r\n BigInteger.prototype.abs = bnAbs;\r\n BigInteger.prototype.compareTo = bnCompareTo;\r\n BigInteger.prototype.bitLength = bnBitLength;\r\n BigInteger.prototype.mod = bnMod;\r\n BigInteger.prototype.modPowInt = bnModPowInt;\r\n BigInteger.ZERO = nbv(0);\r\n BigInteger.ONE = nbv(1);\r\n\r\n function bnClone() {\r\n var a = nbi();\r\n this.copyTo(a);\r\n return a\r\n }\r\n\r\n function bnIntValue() {\r\n if (0 > this.s) {\r\n if (1 == this.t)\r\n return this[0] - this.DV;\r\n if (0 == this.t)\r\n return -1\r\n } else {\r\n if (1 == this.t)\r\n return this[0];\r\n if (0 == this.t)\r\n return 0\r\n }\r\n return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]\r\n }\r\n\r\n function bnByteValue() {\r\n return 0 == this.t ? this.s : this[0] << 24 >> 24\r\n }\r\n\r\n function bnShortValue() {\r\n return 0 == this.t ? this.s : this[0] << 16 >> 16\r\n }\r\n\r\n function bnpChunkSize(a) {\r\n return Math.floor(Math.LN2 * this.DB / Math.log(a))\r\n }\r\n\r\n function bnSigNum() {\r\n return 0 > this.s ? -1 : 0 >= this.t || 1 == this.t && 0 >= this[0] ? 0 : 1\r\n }\r\n\r\n function bnpToRadix(a) {\r\n null == a && (a = 10);\r\n if (0 == this.signum() || 2 > a || 36 < a)\r\n return \"0\";\r\n var b = this.chunkSize(a),\r\n b = Math.pow(a, b),\r\n c = nbv(b),\r\n d = nbi(),\r\n e = nbi(),\r\n f = \"\";\r\n for (this.divRemTo(c, d, e); 0 < d.signum();)\r\n f = (b + e.intValue()).toString(a).substr(1) + f,\r\n d.divRemTo(c, d, e);\r\n return e.intValue().toString(a) + f\r\n }\r\n\r\n function bnpFromRadix(a, b) {\r\n this.fromInt(0);\r\n null == b && (b = 10);\r\n for (var c = this.chunkSize(b), d = Math.pow(b, c), e = !1, f = 0, g = 0, h = 0; h < a.length; ++h) {\r\n var k = intAt(a, h);\r\n 0 > k ? \"-\" == a.charAt(h) && 0 == this.signum() && (e = !0) : (g = b * g + k,\r\n ++f >= c && (this.dMultiply(d),\r\n this.dAddOffset(g, 0),\r\n g = f = 0))\r\n }\r\n 0 < f && (this.dMultiply(Math.pow(b, f)),\r\n this.dAddOffset(g, 0));\r\n e && BigInteger.ZERO.subTo(this, this)\r\n }\r\n\r\n function bnpFromNumber(a, b, c) {\r\n if (\"number\" == typeof b)\r\n if (2 > a)\r\n this.fromInt(1);\r\n else\r\n for (this.fromNumber(a, c),\r\n this.testBit(a - 1) || this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this),\r\n this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(b);)\r\n this.dAddOffset(2, 0),\r\n this.bitLength() > a && this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\r\n else {\r\n c = [];\r\n var d = a & 7;\r\n c.length = (a >> 3) + 1;\r\n b.nextBytes(c);\r\n c[0] = 0 < d ? c[0] & (1 << d) - 1 : 0;\r\n this.fromString(c, 256)\r\n }\r\n }\r\n\r\n function bnToByteArray() {\r\n var a = this.t,\r\n b = [];\r\n b[0] = this.s;\r\n var c = this.DB - a * this.DB % 8,\r\n d, e = 0;\r\n if (0 < a--)\r\n for (c < this.DB && (d = this[a] >> c) != (this.s & this.DM) >> c && (b[e++] = d | this.s << this.DB - c); 0 <= a;)\r\n if (8 > c ? (d = (this[a] & (1 << c) - 1) << 8 - c,\r\n d |= this[--a] >> (c += this.DB - 8)) : (d = this[a] >> (c -= 8) & 255,\r\n 0 >= c && (c += this.DB,\r\n --a)),\r\n 0 != (d & 128) && (d |= -256),\r\n 0 == e && (this.s & 128) != (d & 128) && ++e,\r\n 0 < e || d != this.s)\r\n b[e++] = d;\r\n return b\r\n }\r\n\r\n function bnEquals(a) {\r\n return 0 == this.compareTo(a)\r\n }\r\n\r\n function bnMin(a) {\r\n return 0 > this.compareTo(a) ? this : a\r\n }\r\n\r\n function bnMax(a) {\r\n return 0 < this.compareTo(a) ? this : a\r\n }\r\n\r\n function bnpBitwiseTo(a, b, c) {\r\n var d, e, f = Math.min(a.t, this.t);\r\n for (d = 0; d < f; ++d)\r\n c[d] = b(this[d], a[d]);\r\n if (a.t < this.t) {\r\n e = a.s & this.DM;\r\n for (d = f; d < this.t; ++d)\r\n c[d] = b(this[d], e);\r\n c.t = this.t\r\n } else {\r\n e = this.s & this.DM;\r\n for (d = f; d < a.t; ++d)\r\n c[d] = b(e, a[d]);\r\n c.t = a.t\r\n }\r\n c.s = b(this.s, a.s);\r\n c.clamp()\r\n }\r\n\r\n function op_and(a, b) {\r\n return a & b\r\n }\r\n\r\n function bnAnd(a) {\r\n var b = nbi();\r\n this.bitwiseTo(a, op_and, b);\r\n return b\r\n }\r\n\r\n function op_or(a, b) {\r\n return a | b\r\n }\r\n\r\n function bnOr(a) {\r\n var b = nbi();\r\n this.bitwiseTo(a, op_or, b);\r\n return b\r\n }\r\n\r\n function op_xor(a, b) {\r\n return a ^ b\r\n }\r\n\r\n function bnXor(a) {\r\n var b = nbi();\r\n this.bitwiseTo(a, op_xor, b);\r\n return b\r\n }\r\n\r\n function op_andnot(a, b) {\r\n return a & ~b\r\n }\r\n\r\n function bnAndNot(a) {\r\n var b = nbi();\r\n this.bitwiseTo(a, op_andnot, b);\r\n return b\r\n }\r\n\r\n function bnNot() {\r\n for (var a = nbi(), b = 0; b < this.t; ++b)\r\n a[b] = this.DM & ~this[b];\r\n a.t = this.t;\r\n a.s = ~this.s;\r\n return a\r\n }\r\n\r\n function bnShiftLeft(a) {\r\n var b = nbi();\r\n 0 > a ? this.rShiftTo(-a, b) : this.lShiftTo(a, b);\r\n return b\r\n }\r\n\r\n function bnShiftRight(a) {\r\n var b = nbi();\r\n 0 > a ? this.lShiftTo(-a, b) : this.rShiftTo(a, b);\r\n return b\r\n }\r\n\r\n function lbit(a) {\r\n if (0 == a)\r\n return -1;\r\n var b = 0;\r\n 0 == (a & 65535) && (a >>= 16,\r\n b += 16);\r\n 0 == (a & 255) && (a >>= 8,\r\n b += 8);\r\n 0 == (a & 15) && (a >>= 4,\r\n b += 4);\r\n 0 == (a & 3) && (a >>= 2,\r\n b += 2);\r\n 0 == (a & 1) && ++b;\r\n return b\r\n }\r\n\r\n function bnGetLowestSetBit() {\r\n for (var a = 0; a < this.t; ++a)\r\n if (0 != this[a])\r\n return a * this.DB + lbit(this[a]);\r\n return 0 > this.s ? this.t * this.DB : -1\r\n }\r\n\r\n function cbit(a) {\r\n for (var b = 0; 0 != a;)\r\n a &= a - 1,\r\n ++b;\r\n return b\r\n }\r\n\r\n function bnBitCount() {\r\n for (var a = 0, b = this.s & this.DM, c = 0; c < this.t; ++c)\r\n a += cbit(this[c] ^ b);\r\n return a\r\n }\r\n\r\n function bnTestBit(a) {\r\n var b = Math.floor(a / this.DB);\r\n return b >= this.t ? 0 != this.s : 0 != (this[b] & 1 << a % this.DB)\r\n }\r\n\r\n function bnpChangeBit(a, b) {\r\n var c = BigInteger.ONE.shiftLeft(a);\r\n this.bitwiseTo(c, b, c);\r\n return c\r\n }\r\n\r\n function bnSetBit(a) {\r\n return this.changeBit(a, op_or)\r\n }\r\n\r\n function bnClearBit(a) {\r\n return this.changeBit(a, op_andnot)\r\n }\r\n\r\n function bnFlipBit(a) {\r\n return this.changeBit(a, op_xor)\r\n }\r\n\r\n function bnpAddTo(a, b) {\r\n for (var c = 0, d = 0, e = Math.min(a.t, this.t); c < e;)\r\n d += this[c] + a[c],\r\n b[c++] = d & this.DM,\r\n d >>= this.DB;\r\n if (a.t < this.t) {\r\n for (d += a.s; c < this.t;)\r\n d += this[c],\r\n b[c++] = d & this.DM,\r\n d >>= this.DB;\r\n d += this.s\r\n } else {\r\n for (d += this.s; c < a.t;)\r\n d += a[c],\r\n b[c++] = d & this.DM,\r\n d >>= this.DB;\r\n d += a.s\r\n }\r\n b.s = 0 > d ? -1 : 0;\r\n 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.DV + d);\r\n b.t = c;\r\n b.clamp()\r\n }\r\n\r\n function bnAdd(a) {\r\n var b = nbi();\r\n this.addTo(a, b);\r\n return b\r\n }\r\n\r\n function bnSubtract(a) {\r\n var b = nbi();\r\n this.subTo(a, b);\r\n return b\r\n }\r\n\r\n function bnMultiply(a) {\r\n var b = nbi();\r\n this.multiplyTo(a, b);\r\n return b\r\n }\r\n\r\n function bnSquare() {\r\n var a = nbi();\r\n this.squareTo(a);\r\n return a\r\n }\r\n\r\n function bnDivide(a) {\r\n var b = nbi();\r\n this.divRemTo(a, b, null);\r\n return b\r\n }\r\n\r\n function bnRemainder(a) {\r\n var b = nbi();\r\n this.divRemTo(a, null, b);\r\n return b\r\n }\r\n\r\n function bnDivideAndRemainder(a) {\r\n var b = nbi(),\r\n c = nbi();\r\n this.divRemTo(a, b, c);\r\n return [b, c]\r\n }\r\n\r\n function bnpDMultiply(a) {\r\n this[this.t] = this.am(0, a - 1, this, 0, 0, this.t);\r\n ++this.t;\r\n this.clamp()\r\n }\r\n\r\n function bnpDAddOffset(a, b) {\r\n if (0 != a) {\r\n for (; this.t <= b;)\r\n this[this.t++] = 0;\r\n for (this[b] += a; this[b] >= this.DV;)\r\n this[b] -= this.DV,\r\n ++b >= this.t && (this[this.t++] = 0),\r\n ++this[b]\r\n }\r\n }\r\n\r\n function NullExp() {}\r\n\r\n function nNop(a) {\r\n return a\r\n }\r\n\r\n function nMulTo(a, b, c) {\r\n a.multiplyTo(b, c)\r\n }\r\n\r\n function nSqrTo(a, b) {\r\n a.squareTo(b)\r\n }\r\n NullExp.prototype.convert = nNop;\r\n NullExp.prototype.revert = nNop;\r\n NullExp.prototype.mulTo = nMulTo;\r\n NullExp.prototype.sqrTo = nSqrTo;\r\n\r\n function bnPow(a) {\r\n return this.exp(a, new NullExp)\r\n }\r\n\r\n function bnpMultiplyLowerTo(a, b, c) {\r\n var d = Math.min(this.t + a.t, b);\r\n c.s = 0;\r\n for (c.t = d; 0 < d;)\r\n c[--d] = 0;\r\n var e;\r\n for (e = c.t - this.t; d < e; ++d)\r\n c[d + this.t] = this.am(0, a[d], c, d, 0, this.t);\r\n for (e = Math.min(a.t, b); d < e; ++d)\r\n this.am(0, a[d], c, d, 0, b - d);\r\n c.clamp()\r\n }\r\n\r\n function bnpMultiplyUpperTo(a, b, c) {\r\n --b;\r\n var d = c.t = this.t + a.t - b;\r\n for (c.s = 0; 0 <= --d;)\r\n c[d] = 0;\r\n for (d = Math.max(b - this.t, 0); d < a.t; ++d)\r\n c[this.t + d - b] = this.am(b - d, a[d], c, 0, 0, this.t + d - b);\r\n c.clamp();\r\n c.drShiftTo(1, c)\r\n }\r\n\r\n function Barrett(a) {\r\n this.r2 = nbi();\r\n this.q3 = nbi();\r\n BigInteger.ONE.dlShiftTo(2 * a.t, this.r2);\r\n this.mu = this.r2.divide(a);\r\n this.m = a\r\n }\r\n\r\n function barrettConvert(a) {\r\n if (0 > a.s || a.t > 2 * this.m.t)\r\n return a.mod(this.m);\r\n if (0 > a.compareTo(this.m))\r\n return a;\r\n var b = nbi();\r\n a.copyTo(b);\r\n this.reduce(b);\r\n return b\r\n }\r\n\r\n function barrettRevert(a) {\r\n return a\r\n }\r\n\r\n function barrettReduce(a) {\r\n a.drShiftTo(this.m.t - 1, this.r2);\r\n a.t > this.m.t + 1 && (a.t = this.m.t + 1,\r\n a.clamp());\r\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\r\n for (this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); 0 > a.compareTo(this.r2);)\r\n a.dAddOffset(1, this.m.t + 1);\r\n for (a.subTo(this.r2, a); 0 <= a.compareTo(this.m);)\r\n a.subTo(this.m, a)\r\n }\r\n\r\n function barrettSqrTo(a, b) {\r\n a.squareTo(b);\r\n this.reduce(b)\r\n }\r\n\r\n function barrettMulTo(a, b, c) {\r\n a.multiplyTo(b, c);\r\n this.reduce(c)\r\n }\r\n Barrett.prototype.convert = barrettConvert;\r\n Barrett.prototype.revert = barrettRevert;\r\n Barrett.prototype.reduce = barrettReduce;\r\n Barrett.prototype.mulTo = barrettMulTo;\r\n Barrett.prototype.sqrTo = barrettSqrTo;\r\n\r\n function bnModPow(a, b) {\r\n var c = a.bitLength(),\r\n d, e = nbv(1),\r\n f;\r\n if (0 >= c)\r\n return e;\r\n d = 18 > c ? 1 : 48 > c ? 3 : 144 > c ? 4 : 768 > c ? 5 : 6;\r\n f = 8 > c ? new Classic(b) : b.isEven() ? new Barrett(b) : new Montgomery(b);\r\n var g = [],\r\n h = 3,\r\n k = d - 1,\r\n l = (1 << d) - 1;\r\n g[1] = f.convert(this);\r\n if (1 < d)\r\n for (c = nbi(),\r\n f.sqrTo(g[1], c); h <= l;)\r\n g[h] = nbi(),\r\n f.mulTo(c, g[h - 2], g[h]),\r\n h += 2;\r\n for (var p = a.t - 1, n, q = !0, m = nbi(), c = nbits(a[p]) - 1; 0 <= p;) {\r\n c >= k ? n = a[p] >> c - k & l : (n = (a[p] & (1 << c + 1) - 1) << k - c,\r\n 0 < p && (n |= a[p - 1] >> this.DB + c - k));\r\n for (h = d; 0 == (n & 1);)\r\n n >>= 1,\r\n --h;\r\n 0 > (c -= h) && (c += this.DB,\r\n --p);\r\n if (q)\r\n g[n].copyTo(e),\r\n q = !1;\r\n else {\r\n for (; 1 < h;)\r\n f.sqrTo(e, m),\r\n f.sqrTo(m, e),\r\n h -= 2;\r\n 0 < h ? f.sqrTo(e, m) : (h = e,\r\n e = m,\r\n m = h);\r\n f.mulTo(m, g[n], e)\r\n }\r\n for (; 0 <= p && 0 == (a[p] & 1 << c);)\r\n f.sqrTo(e, m),\r\n h = e,\r\n e = m,\r\n m = h,\r\n 0 > --c && (c = this.DB - 1,\r\n --p)\r\n }\r\n return f.revert(e)\r\n }\r\n\r\n function bnGCD(a) {\r\n var b = 0 > this.s ? this.negate() : this.clone();\r\n a = 0 > a.s ? a.negate() : a.clone();\r\n if (0 > b.compareTo(a)) {\r\n var c = b,\r\n b = a;\r\n a = c\r\n }\r\n var c = b.getLowestSetBit(),\r\n d = a.getLowestSetBit();\r\n if (0 > d)\r\n return b;\r\n c < d && (d = c);\r\n 0 < d && (b.rShiftTo(d, b),\r\n a.rShiftTo(d, a));\r\n for (; 0 < b.signum();)\r\n 0 < (c = b.getLowestSetBit()) && b.rShiftTo(c, b),\r\n 0 < (c = a.getLowestSetBit()) && a.rShiftTo(c, a),\r\n 0 <= b.compareTo(a) ? (b.subTo(a, b),\r\n b.rShiftTo(1, b)) : (a.subTo(b, a),\r\n a.rShiftTo(1, a));\r\n 0 < d && a.lShiftTo(d, a);\r\n return a\r\n }\r\n\r\n function bnpModInt(a) {\r\n if (0 >= a)\r\n return 0;\r\n var b = this.DV % a,\r\n c = 0 > this.s ? a - 1 : 0;\r\n if (0 < this.t)\r\n if (0 == b)\r\n c = this[0] % a;\r\n else\r\n for (var d = this.t - 1; 0 <= d; --d)\r\n c = (b * c + this[d]) % a;\r\n return c\r\n }\r\n\r\n function bnModInverse(a) {\r\n var b = a.isEven();\r\n if (this.isEven() && b || 0 == a.signum())\r\n return BigInteger.ZERO;\r\n for (var c = a.clone(), d = this.clone(), e = nbv(1), f = nbv(0), g = nbv(0), h = nbv(1); 0 != c.signum();) {\r\n for (; c.isEven();)\r\n c.rShiftTo(1, c),\r\n b ? (e.isEven() && f.isEven() || (e.addTo(this, e),\r\n f.subTo(a, f)),\r\n e.rShiftTo(1, e)) : f.isEven() || f.subTo(a, f),\r\n f.rShiftTo(1, f);\r\n for (; d.isEven();)\r\n d.rShiftTo(1, d),\r\n b ? (g.isEven() && h.isEven() || (g.addTo(this, g),\r\n h.subTo(a, h)),\r\n g.rShiftTo(1, g)) : h.isEven() || h.subTo(a, h),\r\n h.rShiftTo(1, h);\r\n 0 <= c.compareTo(d) ? (c.subTo(d, c),\r\n b && e.subTo(g, e),\r\n f.subTo(h, f)) : (d.subTo(c, d),\r\n b && g.subTo(e, g),\r\n h.subTo(f, h))\r\n }\r\n if (0 != d.compareTo(BigInteger.ONE))\r\n return BigInteger.ZERO;\r\n if (0 <= h.compareTo(a))\r\n return h.subtract(a);\r\n if (0 > h.signum())\r\n h.addTo(a, h);\r\n else\r\n return h;\r\n return 0 > h.signum() ? h.add(a) : h\r\n }\r\n var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997],\r\n lplim = 67108864 / lowprimes[lowprimes.length - 1];\r\n\r\n function bnIsProbablePrime(a) {\r\n var b, c = this.abs();\r\n if (1 == c.t && c[0] <= lowprimes[lowprimes.length - 1]) {\r\n for (b = 0; b < lowprimes.length; ++b)\r\n if (c[0] == lowprimes[b])\r\n return !0;\r\n return !1\r\n }\r\n if (c.isEven())\r\n return !1;\r\n for (b = 1; b < lowprimes.length;) {\r\n for (var d = lowprimes[b], e = b + 1; e < lowprimes.length && d < lplim;)\r\n d *= lowprimes[e++];\r\n for (d = c.modInt(d); b < e;)\r\n if (0 == d % lowprimes[b++])\r\n return !1\r\n }\r\n return c.millerRabin(a)\r\n }\r\n\r\n function bnpMillerRabin(a) {\r\n var b = this.subtract(BigInteger.ONE),\r\n c = b.getLowestSetBit();\r\n if (0 >= c)\r\n return !1;\r\n var d = b.shiftRight(c);\r\n a = a + 1 >> 1;\r\n a > lowprimes.length && (a = lowprimes.length);\r\n for (var e = nbi(), f = 0; f < a; ++f) {\r\n e.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\r\n var g = e.modPow(d, this);\r\n if (0 != g.compareTo(BigInteger.ONE) && 0 != g.compareTo(b)) {\r\n for (var h = 1; h++ < c && 0 != g.compareTo(b);)\r\n if (g = g.modPowInt(2, this),\r\n 0 == g.compareTo(BigInteger.ONE))\r\n return !1;\r\n if (0 != g.compareTo(b))\r\n return !1\r\n }\r\n }\r\n return !0\r\n }\r\n BigInteger.prototype.chunkSize = bnpChunkSize;\r\n BigInteger.prototype.toRadix = bnpToRadix;\r\n BigInteger.prototype.fromRadix = bnpFromRadix;\r\n BigInteger.prototype.fromNumber = bnpFromNumber;\r\n BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\r\n BigInteger.prototype.changeBit = bnpChangeBit;\r\n BigInteger.prototype.addTo = bnpAddTo;\r\n BigInteger.prototype.dMultiply = bnpDMultiply;\r\n BigInteger.prototype.dAddOffset = bnpDAddOffset;\r\n BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\r\n BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\r\n BigInteger.prototype.modInt = bnpModInt;\r\n BigInteger.prototype.millerRabin = bnpMillerRabin;\r\n BigInteger.prototype.clone = bnClone;\r\n BigInteger.prototype.intValue = bnIntValue;\r\n BigInteger.prototype.byteValue = bnByteValue;\r\n BigInteger.prototype.shortValue = bnShortValue;\r\n BigInteger.prototype.signum = bnSigNum;\r\n BigInteger.prototype.toByteArray = bnToByteArray;\r\n BigInteger.prototype.equals = bnEquals;\r\n BigInteger.prototype.min = bnMin;\r\n BigInteger.prototype.max = bnMax;\r\n BigInteger.prototype.and = bnAnd;\r\n BigInteger.prototype.or = bnOr;\r\n BigInteger.prototype.xor = bnXor;\r\n BigInteger.prototype.andNot = bnAndNot;\r\n BigInteger.prototype.not = bnNot;\r\n BigInteger.prototype.shiftLeft = bnShiftLeft;\r\n BigInteger.prototype.shiftRight = bnShiftRight;\r\n BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\r\n BigInteger.prototype.bitCount = bnBitCount;\r\n BigInteger.prototype.testBit = bnTestBit;\r\n BigInteger.prototype.setBit = bnSetBit;\r\n BigInteger.prototype.clearBit = bnClearBit;\r\n BigInteger.prototype.flipBit = bnFlipBit;\r\n BigInteger.prototype.add = bnAdd;\r\n BigInteger.prototype.subtract = bnSubtract;\r\n BigInteger.prototype.multiply = bnMultiply;\r\n BigInteger.prototype.divide = bnDivide;\r\n BigInteger.prototype.remainder = bnRemainder;\r\n BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;\r\n BigInteger.prototype.modPow = bnModPow;\r\n BigInteger.prototype.modInverse = bnModInverse;\r\n BigInteger.prototype.pow = bnPow;\r\n BigInteger.prototype.gcd = bnGCD;\r\n BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\r\n BigInteger.prototype.square = bnSquare;\r\n\r\n function Arcfour() {\r\n this.j = this.i = 0;\r\n this.S = []\r\n }\r\n\r\n function ARC4init(a) {\r\n var b, c, d;\r\n for (b = 0; 256 > b; ++b)\r\n this.S[b] = b;\r\n for (b = c = 0; 256 > b; ++b)\r\n c = c + this.S[b] + a[b % a.length] & 255,\r\n d = this.S[b],\r\n this.S[b] = this.S[c],\r\n this.S[c] = d;\r\n this.j = this.i = 0\r\n }\r\n\r\n function ARC4next() {\r\n var a;\r\n this.i = this.i + 1 & 255;\r\n this.j = this.j + this.S[this.i] & 255;\r\n a = this.S[this.i];\r\n this.S[this.i] = this.S[this.j];\r\n this.S[this.j] = a;\r\n return this.S[a + this.S[this.i] & 255]\r\n }\r\n Arcfour.prototype.init = ARC4init;\r\n Arcfour.prototype.next = ARC4next;\r\n\r\n function prng_newstate() {\r\n return new Arcfour\r\n }\r\n var rng_psize = 256,\r\n rng_state, rng_pool, rng_pptr;\r\n\r\n function rng_seed_int(a) {\r\n rng_pool[rng_pptr++] ^= a & 255;\r\n rng_pool[rng_pptr++] ^= a >> 8 & 255;\r\n rng_pool[rng_pptr++] ^= a >> 16 & 255;\r\n rng_pool[rng_pptr++] ^= a >> 24 & 255;\r\n rng_pptr >= rng_psize && (rng_pptr -= rng_psize)\r\n }\r\n\r\n function rng_seed_time() {\r\n rng_seed_int((new Date).getTime())\r\n }\r\n if (null == rng_pool) {\r\n rng_pool = [];\r\n rng_pptr = 0;\r\n var t;\r\n if (!process.server) {\r\n if (\"Netscape\" == navigator.appName && \"5\" > navigator.appVersion && window.crypto) {\r\n var z = window.crypto.random(32);\r\n for (t = 0; t < z.length; ++t)\r\n rng_pool[rng_pptr++] = z.charCodeAt(t) & 255\r\n }\r\n }\r\n for (; rng_pptr < rng_psize;)\r\n t = Math.floor(65536 * Math.random()),\r\n rng_pool[rng_pptr++] = t >>> 8,\r\n rng_pool[rng_pptr++] = t & 255;\r\n rng_pptr = 0;\r\n rng_seed_time()\r\n }\r\n\r\n function rng_get_byte() {\r\n if (null == rng_state) {\r\n rng_seed_time();\r\n rng_state = prng_newstate();\r\n rng_state.init(rng_pool);\r\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)\r\n rng_pool[rng_pptr] = 0;\r\n rng_pptr = 0\r\n }\r\n return rng_state.next()\r\n }\r\n\r\n function rng_get_bytes(a) {\r\n var b;\r\n for (b = 0; b < a.length; ++b)\r\n a[b] = rng_get_byte()\r\n }\r\n\r\n function SecureRandom() {}\r\n SecureRandom.prototype.nextBytes = rng_get_bytes;\r\n var KJUR = {};\r\n //\"undefined\" != typeof KJUR && KJUR || (KJUR = {});\r\n \"undefined\" != typeof KJUR.crypto && KJUR.crypto || (KJUR.crypto = {});\r\n KJUR.crypto.Util = new function () {\r\n this.DIGESTINFOHEAD = {\r\n sha1: \"3021300906052b0e03021a05000414\",\r\n sha224: \"302d300d06096086480165030402040500041c\",\r\n sha256: \"3031300d060960864801650304020105000420\",\r\n sha384: \"3041300d060960864801650304020205000430\",\r\n sha512: \"3051300d060960864801650304020305000440\",\r\n md2: \"3020300c06082a864886f70d020205000410\",\r\n md5: \"3020300c06082a864886f70d020505000410\",\r\n ripemd160: \"3021300906052b2403020105000414\"\r\n };\r\n this.DEFAULTPROVIDER = {\r\n md5: \"cryptojs\",\r\n sha1: \"cryptojs\",\r\n sha224: \"cryptojs\",\r\n sha256: \"cryptojs\",\r\n sha384: \"cryptojs\",\r\n sha512: \"cryptojs\",\r\n ripemd160: \"cryptojs\",\r\n hmacmd5: \"cryptojs\",\r\n hmacsha1: \"cryptojs\",\r\n hmacsha224: \"cryptojs\",\r\n hmacsha256: \"cryptojs\",\r\n hmacsha384: \"cryptojs\",\r\n hmacsha512: \"cryptojs\",\r\n hmacripemd160: \"cryptojs\",\r\n sm3: \"cryptojs\",\r\n MD5withRSA: \"cryptojs/jsrsa\",\r\n SHA1withRSA: \"cryptojs/jsrsa\",\r\n SHA224withRSA: \"cryptojs/jsrsa\",\r\n SHA256withRSA: \"cryptojs/jsrsa\",\r\n SHA384withRSA: \"cryptojs/jsrsa\",\r\n SHA512withRSA: \"cryptojs/jsrsa\",\r\n RIPEMD160withRSA: \"cryptojs/jsrsa\",\r\n MD5withECDSA: \"cryptojs/jsrsa\",\r\n SHA1withECDSA: \"cryptojs/jsrsa\",\r\n SHA224withECDSA: \"cryptojs/jsrsa\",\r\n SHA256withECDSA: \"cryptojs/jsrsa\",\r\n SHA384withECDSA: \"cryptojs/jsrsa\",\r\n SHA512withECDSA: \"cryptojs/jsrsa\",\r\n RIPEMD160withECDSA: \"cryptojs/jsrsa\",\r\n SHA1withDSA: \"cryptojs/jsrsa\",\r\n SHA224withDSA: \"cryptojs/jsrsa\",\r\n SHA256withDSA: \"cryptojs/jsrsa\",\r\n MD5withRSAandMGF1: \"cryptojs/jsrsa\",\r\n SHA1withRSAandMGF1: \"cryptojs/jsrsa\",\r\n SHA224withRSAandMGF1: \"cryptojs/jsrsa\",\r\n SHA256withRSAandMGF1: \"cryptojs/jsrsa\",\r\n SHA384withRSAandMGF1: \"cryptojs/jsrsa\",\r\n SHA512withRSAandMGF1: \"cryptojs/jsrsa\",\r\n RIPEMD160withRSAandMGF1: \"cryptojs/jsrsa\"\r\n };\r\n this.CRYPTOJSMESSAGEDIGESTNAME = {\r\n md5: \"CryptoJS.algo.MD5\",\r\n sha1: \"CryptoJS.algo.SHA1\",\r\n sha224: \"CryptoJS.algo.SHA224\",\r\n sha256: \"CryptoJS.algo.SHA256\",\r\n sha384: \"CryptoJS.algo.SHA384\",\r\n sha512: \"CryptoJS.algo.SHA512\",\r\n ripemd160: \"CryptoJS.algo.RIPEMD160\",\r\n sm3: \"CryptoJS.algo.SM3\"\r\n };\r\n this.getDigestInfoHex = function (a, b) {\r\n if (\"undefined\" == typeof this.DIGESTINFOHEAD[b])\r\n throw \"alg not supported in Util.DIGESTINFOHEAD: \" + b;\r\n return this.DIGESTINFOHEAD[b] + a\r\n };\r\n this.getPaddedDigestInfoHex = function (a, b, c) {\r\n var d = this.getDigestInfoHex(a, b);\r\n a = c / 4;\r\n if (d.length + 22 > a)\r\n throw \"key is too short for SigAlg: keylen=\" + c + \",\" + b;\r\n b = \"00\" + d;\r\n c = \"\";\r\n a = a - 4 - b.length;\r\n for (d = 0; d < a; d += 2)\r\n c += \"ff\";\r\n return \"0001\" + c + b\r\n };\r\n this.hashString = function (a, b) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: b\r\n })).digestString(a)\r\n };\r\n this.hashHex = function (a, b) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: b\r\n })).digestHex(a)\r\n };\r\n this.sha1 = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"sha1\",\r\n prov: \"cryptojs\"\r\n })).digestString(a)\r\n };\r\n this.sha256 = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"sha256\",\r\n prov: \"cryptojs\"\r\n })).digestString(a)\r\n };\r\n this.sha256Hex = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"sha256\",\r\n prov: \"cryptojs\"\r\n })).digestHex(a)\r\n };\r\n this.sha512 = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"sha512\",\r\n prov: \"cryptojs\"\r\n })).digestString(a)\r\n };\r\n this.sha512Hex = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"sha512\",\r\n prov: \"cryptojs\"\r\n })).digestHex(a)\r\n };\r\n this.md5 = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"md5\",\r\n prov: \"cryptojs\"\r\n })).digestString(a)\r\n };\r\n this.ripemd160 = function (a) {\r\n return (new KJUR.crypto.MessageDigest({\r\n alg: \"ripemd160\",\r\n prov: \"cryptojs\"\r\n })).digestString(a)\r\n };\r\n this.getCryptoJSMDByName = function (a) {}\r\n };\r\n KJUR.crypto.MessageDigest = function (a) {\r\n this.setAlgAndProvider = function (a, c) {\r\n null != a && void 0 === c && (c = KJUR.crypto.Util.DEFAULTPROVIDER[a]);\r\n if (-1 != \":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:sm3:\".indexOf(a) && \"cryptojs\" == c) {\r\n try {\r\n this.md = eval(KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[a]).create()\r\n } catch (d) {\r\n throw \"setAlgAndProvider hash alg set fail alg=\" + a + \"/\" + d;\r\n }\r\n this.updateString = function (a) {\r\n this.md.update(a)\r\n };\r\n this.updateHex = function (a) {\r\n a = CryptoJS.enc.Hex.parse(a);\r\n this.md.update(a)\r\n };\r\n this.digest = function () {\r\n return this.md.finalize().toString(CryptoJS.enc.Hex)\r\n };\r\n this.digestString = function (a) {\r\n this.updateString(a);\r\n return this.digest()\r\n };\r\n this.digestHex = function (a) {\r\n this.updateHex(a);\r\n return this.digest()\r\n }\r\n }\r\n if (-1 != \":sha256:\".indexOf(a) && \"sjcl\" == c) {\r\n try {\r\n this.md = new sjcl.hash.sha256\r\n } catch (d) {\r\n throw \"setAlgAndProvider hash alg set fail alg=\" + a + \"/\" + d;\r\n }\r\n this.updateString = function (a) {\r\n this.md.update(a)\r\n };\r\n this.updateHex = function (a) {\r\n a = sjcl.codec.hex.toBits(a);\r\n this.md.update(a)\r\n };\r\n this.digest = function () {\r\n var a = this.md.finalize();\r\n return sjcl.codec.hex.fromBits(a)\r\n };\r\n this.digestString = function (a) {\r\n this.updateString(a);\r\n return this.digest()\r\n };\r\n this.digestHex = function (a) {\r\n this.updateHex(a);\r\n return this.digest()\r\n }\r\n }\r\n };\r\n this.updateString = function (a) {\r\n throw \"updateString(str) not supported for this alg/prov: \" + this.algName + \"/\" + this.provName;\r\n };\r\n this.updateHex = function (a) {\r\n throw \"updateHex(hex) not supported for this alg/prov: \" + this.algName + \"/\" + this.provName;\r\n };\r\n this.digest = function () {\r\n throw \"digest() not supported for this alg/prov: \" + this.algName + \"/\" + this.provName;\r\n };\r\n this.digestString = function (a) {\r\n throw \"digestString(str) not supported for this alg/prov: \" + this.algName + \"/\" + this.provName;\r\n };\r\n this.digestHex = function (a) {\r\n throw \"digestHex(hex) not supported for this alg/prov: \" + this.algName + \"/\" + this.provName;\r\n };\r\n void 0 !== a && void 0 !== a.alg && (this.algName = a.alg,\r\n void 0 === a.prov && (this.provName = KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),\r\n this.setAlgAndProvider(this.algName, this.provName))\r\n };\r\n KJUR.crypto.Mac = function (a) {\r\n this.setAlgAndProvider = function (a, c) {\r\n null == a && (a = \"hmacsha1\");\r\n a = a.toLowerCase();\r\n if (\"hmac\" != a.substr(0, 4))\r\n throw \"setAlgAndProvider unsupported HMAC alg: \" + a;\r\n void 0 === c && (c = KJUR.crypto.Util.DEFAULTPROVIDER[a]);\r\n this.algProv = a + \"/\" + c;\r\n var d = a.substr(4);\r\n if (-1 != \":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:\".indexOf(d) && \"cryptojs\" == c) {\r\n try {\r\n var e = eval(KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[d]);\r\n this.mac = CryptoJS.algo.HMAC.create(e, this.pass)\r\n } catch (f) {\r\n throw \"setAlgAndProvider hash alg set fail hashAlg=\" + d + \"/\" + f;\r\n }\r\n this.updateString = function (a) {\r\n this.mac.update(a)\r\n };\r\n this.updateHex = function (a) {\r\n a = CryptoJS.enc.Hex.parse(a);\r\n this.mac.update(a)\r\n };\r\n this.doFinal = function () {\r\n return this.mac.finalize().toString(CryptoJS.enc.Hex)\r\n };\r\n this.doFinalString = function (a) {\r\n this.updateString(a);\r\n return this.doFinal()\r\n };\r\n this.doFinalHex = function (a) {\r\n this.updateHex(a);\r\n return this.doFinal()\r\n }\r\n }\r\n };\r\n this.updateString = function (a) {\r\n throw \"updateString(str) not supported for this alg/prov: \" + this.algProv;\r\n };\r\n this.updateHex = function (a) {\r\n throw \"updateHex(hex) not supported for this alg/prov: \" + this.algProv;\r\n };\r\n this.doFinal = function () {\r\n throw \"digest() not supported for this alg/prov: \" + this.algProv;\r\n };\r\n this.doFinalString = function (a) {\r\n throw \"digestString(str) not supported for this alg/prov: \" + this.algProv;\r\n };\r\n this.doFinalHex = function (a) {\r\n throw \"digestHex(hex) not supported for this alg/prov: \" + this.algProv;\r\n };\r\n void 0 !== a && (void 0 !== a.pass && (this.pass = a.pass),\r\n void 0 !== a.alg && (this.algName = a.alg,\r\n void 0 === a.prov && (this.provName = KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),\r\n this.setAlgAndProvider(this.algName, this.provName)))\r\n };\r\n KJUR.crypto.Signature = function (a) {\r\n var b = null;\r\n this._setAlgNames = function () {\r\n this.algName.match(/^(.+)with(.+)$/) && (this.mdAlgName = RegExp.$1.toLowerCase(),\r\n this.pubkeyAlgName = RegExp.$2.toLowerCase())\r\n };\r\n this._zeroPaddingOfSignature = function (a, b) {\r\n for (var e = \"\", f = b / 4 - a.length, g = 0; g < f; g++)\r\n e += \"0\";\r\n return e + a\r\n };\r\n this.setAlgAndProvider = function (a, b) {\r\n this._setAlgNames();\r\n if (\"cryptojs/jsrsa\" != b)\r\n throw \"provider not supported: \" + b;\r\n if (-1 != \":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:sm3:\".indexOf(this.mdAlgName)) {\r\n try {\r\n this.md = new KJUR.crypto.MessageDigest({\r\n alg: this.mdAlgName\r\n })\r\n } catch (e) {\r\n throw \"setAlgAndProvider hash alg set fail alg=\" + this.mdAlgName + \"/\" + e;\r\n }\r\n this.init = function (a, c) {\r\n var b = null;\r\n try {\r\n b = void 0 === c ? KEYUTIL.getKey(a) : KEYUTIL.getKey(a, c)\r\n } catch (d) {\r\n throw \"init failed:\" + d;\r\n }\r\n if (!0 === b.isPrivate)\r\n this.prvKey = b,\r\n this.state = \"SIGN\";\r\n else if (!0 === b.isPublic)\r\n this.pubKey = b,\r\n this.state = \"VERIFY\";\r\n else\r\n throw \"init failed.:\" + b;\r\n };\r\n this.initSign = function (a) {\r\n \"string\" == typeof a.ecprvhex && \"string\" == typeof a.eccurvename ? (this.ecprvhex = a.ecprvhex,\r\n this.eccurvename = a.eccurvename) : this.prvKey = a;\r\n this.state = \"SIGN\"\r\n };\r\n this.initVerifyByPublicKey = function (a) {\r\n \"string\" == typeof a.ecpubhex && \"string\" == typeof a.eccurvename ? (this.ecpubhex = a.ecpubhex,\r\n this.eccurvename = a.eccurvename) : a instanceof KJUR.crypto.ECDSA ? this.pubKey = a : a instanceof RSAKey && (this.pubKey = a);\r\n this.state = \"VERIFY\"\r\n };\r\n this.initVerifyByCertificatePEM = function (a) {\r\n var c = new X509;\r\n c.readCertPEM(a);\r\n this.pubKey = c.subjectPublicKeyRSA;\r\n this.state = \"VERIFY\"\r\n };\r\n this.updateString = function (a) {\r\n this.md.updateString(a)\r\n };\r\n this.updateHex = function (a) {\r\n this.md.updateHex(a)\r\n };\r\n this.sign = function () {\r\n \"sm2\" != this.eccurvename && (this.sHashHex = this.md.digest());\r\n if (\"undefined\" != typeof this.ecprvhex && \"undefined\" != typeof this.eccurvename) {\r\n if (\"sm2\" == this.eccurvename) {\r\n var a = new KJUR.crypto.SM3withSM2({\r\n curve: this.eccurvename\r\n }),\r\n c = a.ecparams.G,\r\n b = c.multiply(new BigInteger(this.ecprvhex, 16)),\r\n d = b.getX().toBigInteger().toRadix(16) + b.getY().toBigInteger().toRadix(16),\r\n b = new SM3Digest,\r\n c = (new SM3Digest).GetZ(c, d),\r\n c = b.GetWords(b.GetHex(c).toString()),\r\n d = CryptoJS.enc.Utf8.stringify(this.md.md._data),\r\n d = CryptoJS.enc.Utf8.parse(d).toString(),\r\n d = b.GetWords(d),\r\n k = Array(b.GetDigestSize());\r\n b.BlockUpdate(c, 0, c.length);\r\n b.BlockUpdate(d, 0, d.length);\r\n b.DoFinal(k, 0);\r\n this.sHashHex = b.GetHex(k).toString()\r\n } else\r\n a = new KJUR.crypto.ECDSA({\r\n curve: this.eccurvename\r\n });\r\n this.hSign = a.signHex(this.sHashHex, this.ecprvhex)\r\n } else if (\"rsaandmgf1\" == this.pubkeyAlgName)\r\n this.hSign = this.prvKey.signWithMessageHashPSS(this.sHashHex, this.mdAlgName, this.pssSaltLen);\r\n else if (\"rsa\" == this.pubkeyAlgName)\r\n this.hSign = this.prvKey.signWithMessageHash(this.sHashHex, this.mdAlgName);\r\n else if (this.prvKey instanceof KJUR.crypto.ECDSA)\r\n this.hSign = this.prvKey.signWithMessageHash(this.sHashHex);\r\n else if (this.prvKey instanceof KJUR.crypto.DSA)\r\n this.hSign = this.prvKey.signWithMessageHash(this.sHashHex);\r\n else\r\n throw \"Signature: unsupported public key alg: \" + this.pubkeyAlgName;\r\n return this.hSign\r\n };\r\n this.signString = function (a) {\r\n this.updateString(a);\r\n this.sign()\r\n };\r\n this.signHex = function (a) {\r\n this.updateHex(a);\r\n this.sign()\r\n };\r\n this.verify = function (a) {\r\n \"sm2\" != this.eccurvename && (this.sHashHex = this.md.digest());\r\n if (\"undefined\" != typeof this.ecpubhex && \"undefined\" != typeof this.eccurvename) {\r\n if (\"sm2\" == this.eccurvename) {\r\n var c = new KJUR.crypto.SM3withSM2({\r\n curve: this.eccurvename\r\n }),\r\n b = c.ecparams.G,\r\n d = this.ecpubhex.substr(2, 128),\r\n k = new SM3Digest,\r\n b = (new SM3Digest).GetZ(b, d),\r\n b = k.GetWords(k.GetHex(b).toString()),\r\n d = CryptoJS.enc.Utf8.stringify(this.md.md._data),\r\n d = CryptoJS.enc.Utf8.parse(d).toString(),\r\n d = k.GetWords(d),\r\n l = Array(k.GetDigestSize());\r\n k.BlockUpdate(b, 0, b.length);\r\n k.BlockUpdate(d, 0, d.length);\r\n k.DoFinal(l, 0);\r\n this.sHashHex = k.GetHex(l).toString()\r\n } else\r\n c = new KJUR.crypto.ECDSA({\r\n curve: this.eccurvename\r\n });\r\n return c.verifyHex(this.sHashHex, a, this.ecpubhex)\r\n }\r\n if (\"rsaandmgf1\" == this.pubkeyAlgName)\r\n return this.pubKey.verifyWithMessageHashPSS(this.sHashHex, a, this.mdAlgName, this.pssSaltLen);\r\n if (\"rsa\" == this.pubkeyAlgName || this.pubKey instanceof KJUR.crypto.ECDSA || this.pubKey instanceof KJUR.crypto.DSA)\r\n return this.pubKey.verifyWithMessageHash(this.sHashHex, a);\r\n throw \"Signature: unsupported public key alg: \" + this.pubkeyAlgName;\r\n }\r\n }\r\n };\r\n this.init = function (a, b) {\r\n throw \"init(key, pass) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.initVerifyByPublicKey = function (a) {\r\n throw \"initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.initVerifyByCertificatePEM = function (a) {\r\n throw \"initVerifyByCertificatePEM(certPEM) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.initSign = function (a) {\r\n throw \"initSign(prvKey) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.updateString = function (a) {\r\n throw \"updateString(str) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.updateHex = function (a) {\r\n throw \"updateHex(hex) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.sign = function () {\r\n throw \"sign() not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.signString = function (a) {\r\n throw \"digestString(str) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.signHex = function (a) {\r\n throw \"digestHex(hex) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.verify = function (a) {\r\n throw \"verify(hSigVal) not supported for this alg:prov=\" + this.algProvName;\r\n };\r\n this.initParams = a;\r\n if (void 0 !== a && (void 0 !== a.alg && (this.algName = a.alg,\r\n this.provName = void 0 === a.prov ? KJUR.crypto.Util.DEFAULTPROVIDER[this.algName] : a.prov,\r\n this.algProvName = this.algName + \":\" + this.provName,\r\n this.setAlgAndProvider(this.algName, this.provName),\r\n this._setAlgNames()),\r\n void 0 !== a.psssaltlen && (this.pssSaltLen = a.psssaltlen),\r\n void 0 !== a.prvkeypem)) {\r\n if (void 0 !== a.prvkeypas)\r\n throw \"both prvkeypem and prvkeypas parameters not supported\";\r\n try {\r\n b = new RSAKey,\r\n b.readPrivateKeyFromPEMString(a.prvkeypem),\r\n this.initSign(b)\r\n } catch (c) {\r\n throw \"fatal error to load pem private key: \" + c;\r\n }\r\n }\r\n };\r\n KJUR.crypto.OID = new function () {\r\n this.oidhex2name = {\r\n \"2a864886f70d010101\": \"rsaEncryption\",\r\n \"2a8648ce3d0201\": \"ecPublicKey\",\r\n \"2a8648ce380401\": \"dsa\",\r\n \"2a8648ce3d030107\": \"secp256r1\",\r\n \"2b8104001f\": \"secp192k1\",\r\n \"2b81040021\": \"secp224r1\",\r\n \"2b8104000a\": \"secp256k1\",\r\n \"2b81040023\": \"secp521r1\",\r\n \"2b81040022\": \"secp384r1\",\r\n \"2a8648ce380403\": \"SHA1withDSA\",\r\n \"608648016503040301\": \"SHA224withDSA\",\r\n \"608648016503040302\": \"SHA256withDSA\"\r\n }\r\n };\r\n\r\n function ECFieldElementFp(a, b) {\r\n this.x = b;\r\n this.q = a\r\n }\r\n\r\n function feFpEquals(a) {\r\n return a == this ? !0 : this.q.equals(a.q) && this.x.equals(a.x)\r\n }\r\n\r\n function feFpToBigInteger() {\r\n return this.x\r\n }\r\n\r\n function feFpNegate() {\r\n return new ECFieldElementFp(this.q, this.x.negate().mod(this.q))\r\n }\r\n\r\n function feFpAdd(a) {\r\n return new ECFieldElementFp(this.q, this.x.add(a.toBigInteger()).mod(this.q))\r\n }\r\n\r\n function feFpSubtract(a) {\r\n return new ECFieldElementFp(this.q, this.x.subtract(a.toBigInteger()).mod(this.q))\r\n }\r\n\r\n function feFpMultiply(a) {\r\n return new ECFieldElementFp(this.q, this.x.multiply(a.toBigInteger()).mod(this.q))\r\n }\r\n\r\n function feFpSquare() {\r\n return new ECFieldElementFp(this.q, this.x.square().mod(this.q))\r\n }\r\n\r\n function feFpDivide(a) {\r\n return new ECFieldElementFp(this.q, this.x.multiply(a.toBigInteger().modInverse(this.q)).mod(this.q))\r\n }\r\n ECFieldElementFp.prototype.equals = feFpEquals;\r\n ECFieldElementFp.prototype.toBigInteger = feFpToBigInteger;\r\n ECFieldElementFp.prototype.negate = feFpNegate;\r\n ECFieldElementFp.prototype.add = feFpAdd;\r\n ECFieldElementFp.prototype.subtract = feFpSubtract;\r\n ECFieldElementFp.prototype.multiply = feFpMultiply;\r\n ECFieldElementFp.prototype.square = feFpSquare;\r\n ECFieldElementFp.prototype.divide = feFpDivide;\r\n\r\n function ECPointFp(a, b, c, d) {\r\n this.curve = a;\r\n this.x = b;\r\n this.y = c;\r\n this.z = null == d ? BigInteger.ONE : d;\r\n this.zinv = null\r\n }\r\n\r\n function pointFpGetX() {\r\n null == this.zinv && (this.zinv = this.z.modInverse(this.curve.q));\r\n return this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))\r\n }\r\n\r\n function pointFpGetY() {\r\n null == this.zinv && (this.zinv = this.z.modInverse(this.curve.q));\r\n return this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))\r\n }\r\n\r\n function pointFpEquals(a) {\r\n return a == this ? !0 : this.isInfinity() ? a.isInfinity() : a.isInfinity() ? this.isInfinity() : a.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(a.z)).mod(this.curve.q).equals(BigInteger.ZERO) ? a.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(a.z)).mod(this.curve.q).equals(BigInteger.ZERO) : !1\r\n }\r\n\r\n function pointFpIsInfinity() {\r\n return null == this.x && null == this.y ? !0 : this.z.equals(BigInteger.ZERO) && !this.y.toBigInteger().equals(BigInteger.ZERO)\r\n }\r\n\r\n function pointFpNegate() {\r\n return new ECPointFp(this.curve, this.x, this.y.negate(), this.z)\r\n }\r\n\r\n function pointFpAdd(a) {\r\n if (this.isInfinity())\r\n return a;\r\n if (a.isInfinity())\r\n return this;\r\n var b = a.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(a.z)).mod(this.curve.q),\r\n c = a.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(a.z)).mod(this.curve.q);\r\n if (BigInteger.ZERO.equals(c))\r\n return BigInteger.ZERO.equals(b) ? this.twice() : this.curve.getInfinity();\r\n var d = new BigInteger(\"3\"),\r\n e = this.x.toBigInteger(),\r\n f = this.y.toBigInteger();\r\n a.x.toBigInteger();\r\n a.y.toBigInteger();\r\n var g = c.square(),\r\n h = g.multiply(c),\r\n e = e.multiply(g),\r\n g = b.square().multiply(this.z),\r\n c = g.subtract(e.shiftLeft(1)).multiply(a.z).subtract(h).multiply(c).mod(this.curve.q),\r\n b = e.multiply(d).multiply(b).subtract(f.multiply(h)).subtract(g.multiply(b)).multiply(a.z).add(b.multiply(h)).mod(this.curve.q);\r\n a = h.multiply(this.z).multiply(a.z).mod(this.curve.q);\r\n return new ECPointFp(this.curve, this.curve.fromBigInteger(c), this.curve.fromBigInteger(b), a)\r\n }\r\n\r\n function pointFpTwice() {\r\n if (this.isInfinity())\r\n return this;\r\n if (0 == this.y.toBigInteger().signum())\r\n return this.curve.getInfinity();\r\n var a = new BigInteger(\"3\"),\r\n b = this.x.toBigInteger(),\r\n c = this.y.toBigInteger(),\r\n d = c.multiply(this.z),\r\n e = d.multiply(c).mod(this.curve.q),\r\n c = this.curve.a.toBigInteger(),\r\n f = b.square().multiply(a);\r\n BigInteger.ZERO.equals(c) || (f = f.add(this.z.square().multiply(c)));\r\n f = f.mod(this.curve.q);\r\n c = f.square().subtract(b.shiftLeft(3).multiply(e)).shiftLeft(1).multiply(d).mod(this.curve.q);\r\n a = f.multiply(a).multiply(b).subtract(e.shiftLeft(1)).shiftLeft(2).multiply(e).subtract(f.square().multiply(f)).mod(this.curve.q);\r\n d = d.square().multiply(d).shiftLeft(3).mod(this.curve.q);\r\n return new ECPointFp(this.curve, this.curve.fromBigInteger(c), this.curve.fromBigInteger(a), d)\r\n }\r\n\r\n function pointFpMultiply(a) {\r\n if (this.isInfinity())\r\n return this;\r\n if (0 == a.signum())\r\n return this.curve.getInfinity();\r\n var b = a.multiply(new BigInteger(\"3\")),\r\n c = this.negate(),\r\n d = this,\r\n e;\r\n for (e = b.bitLength() - 2; 0 < e; --e) {\r\n var d = d.twice(),\r\n f = b.testBit(e),\r\n g = a.testBit(e);\r\n f != g && (d = d.add(f ? this : c))\r\n }\r\n return d\r\n }\r\n\r\n function pointFpMultiplyTwo(a, b, c) {\r\n var d;\r\n d = a.bitLength() > c.bitLength() ? a.bitLength() - 1 : c.bitLength() - 1;\r\n for (var e = this.curve.getInfinity(), f = this.add(b); 0 <= d;)\r\n e = e.twice(),\r\n a.testBit(d) ? e = c.testBit(d) ? e.add(f) : e.add(this) : c.testBit(d) && (e = e.add(b)),\r\n --d;\r\n return e\r\n }\r\n ECPointFp.prototype.getX = pointFpGetX;\r\n ECPointFp.prototype.getY = pointFpGetY;\r\n ECPointFp.prototype.equals = pointFpEquals;\r\n ECPointFp.prototype.isInfinity = pointFpIsInfinity;\r\n ECPointFp.prototype.negate = pointFpNegate;\r\n ECPointFp.prototype.add = pointFpAdd;\r\n ECPointFp.prototype.twice = pointFpTwice;\r\n ECPointFp.prototype.multiply = pointFpMultiply;\r\n ECPointFp.prototype.multiplyTwo = pointFpMultiplyTwo;\r\n\r\n function ECCurveFp(a, b, c) {\r\n this.q = a;\r\n this.a = this.fromBigInteger(b);\r\n this.b = this.fromBigInteger(c);\r\n this.infinity = new ECPointFp(this, null, null)\r\n }\r\n\r\n function curveFpGetQ() {\r\n return this.q\r\n }\r\n\r\n function curveFpGetA() {\r\n return this.a\r\n }\r\n\r\n function curveFpGetB() {\r\n return this.b\r\n }\r\n\r\n function curveFpEquals(a) {\r\n return a == this ? !0 : this.q.equals(a.q) && this.a.equals(a.a) && this.b.equals(a.b)\r\n }\r\n\r\n function curveFpGetInfinity() {\r\n return this.infinity\r\n }\r\n\r\n function curveFpFromBigInteger(a) {\r\n return new ECFieldElementFp(this.q, a)\r\n }\r\n\r\n function curveFpDecodePointHex(a) {\r\n switch (parseInt(a.substr(0, 2), 16)) {\r\n case 0:\r\n return this.infinity;\r\n case 2:\r\n case 3:\r\n return null;\r\n case 4:\r\n case 6:\r\n case 7:\r\n var b = (a.length - 2) / 2,\r\n c = a.substr(2, b);\r\n a = a.substr(b + 2, b);\r\n return new ECPointFp(this, this.fromBigInteger(new BigInteger(c, 16)), this.fromBigInteger(new BigInteger(a, 16)));\r\n default:\r\n return null\r\n }\r\n }\r\n ECCurveFp.prototype.getQ = curveFpGetQ;\r\n ECCurveFp.prototype.getA = curveFpGetA;\r\n ECCurveFp.prototype.getB = curveFpGetB;\r\n ECCurveFp.prototype.equals = curveFpEquals;\r\n ECCurveFp.prototype.getInfinity = curveFpGetInfinity;\r\n ECCurveFp.prototype.fromBigInteger = curveFpFromBigInteger;\r\n ECCurveFp.prototype.decodePointHex = curveFpDecodePointHex;\r\n ECFieldElementFp.prototype.getByteLength = function () {\r\n return Math.floor((this.toBigInteger().bitLength() + 7) / 8)\r\n };\r\n ECPointFp.prototype.getEncoded = function (a) {\r\n var b = function (a, c) {\r\n var b = a.toByteArrayUnsigned();\r\n if (c < b.length)\r\n b = b.slice(b.length - c);\r\n else\r\n for (; c > b.length;)\r\n b.unshift(0);\r\n return b\r\n },\r\n c = this.getX().toBigInteger(),\r\n d = this.getY().toBigInteger(),\r\n c = b(c, 32);\r\n a ? d.isEven() ? c.unshift(2) : c.unshift(3) : (c.unshift(4),\r\n c = c.concat(b(d, 32)));\r\n return c\r\n };\r\n ECPointFp.decodeFrom = function (a, b) {\r\n var c = b.length - 1,\r\n d = b.slice(1, 1 + c / 2),\r\n c = b.slice(1 + c / 2, 1 + c);\r\n d.unshift(0);\r\n c.unshift(0);\r\n d = new BigInteger(d);\r\n c = new BigInteger(c);\r\n return new ECPointFp(a, a.fromBigInteger(d), a.fromBigInteger(c))\r\n };\r\n ECPointFp.decodeFromHex = function (a, b) {\r\n b.substr(0, 2);\r\n var c = b.length - 2,\r\n d = b.substr(2, c / 2),\r\n c = b.substr(2 + c / 2, c / 2),\r\n d = new BigInteger(d, 16),\r\n c = new BigInteger(c, 16);\r\n return new ECPointFp(a, a.fromBigInteger(d), a.fromBigInteger(c))\r\n };\r\n ECPointFp.prototype.add2D = function (a) {\r\n if (this.isInfinity())\r\n return a;\r\n if (a.isInfinity())\r\n return this;\r\n if (this.x.equals(a.x))\r\n return this.y.equals(a.y) ? this.twice() : this.curve.getInfinity();\r\n var b = a.x.subtract(this.x),\r\n b = a.y.subtract(this.y).divide(b);\r\n a = b.square().subtract(this.x).subtract(a.x);\r\n b = b.multiply(this.x.subtract(a)).subtract(this.y);\r\n return new ECPointFp(this.curve, a, b)\r\n };\r\n ECPointFp.prototype.twice2D = function () {\r\n if (this.isInfinity())\r\n return this;\r\n if (0 == this.y.toBigInteger().signum())\r\n return this.curve.getInfinity();\r\n var a = this.curve.fromBigInteger(BigInteger.valueOf(2)),\r\n b = this.curve.fromBigInteger(BigInteger.valueOf(3)),\r\n b = this.x.square().multiply(b).add(this.curve.a).divide(this.y.multiply(a)),\r\n a = b.square().subtract(this.x.multiply(a)),\r\n b = b.multiply(this.x.subtract(a)).subtract(this.y);\r\n return new ECPointFp(this.curve, a, b)\r\n };\r\n ECPointFp.prototype.multiply2D = function (a) {\r\n if (this.isInfinity())\r\n return this;\r\n if (0 == a.signum())\r\n return this.curve.getInfinity();\r\n var b = a.multiply(new BigInteger(\"3\")),\r\n c = this.negate(),\r\n d = this,\r\n e;\r\n for (e = b.bitLength() - 2; 0 < e; --e) {\r\n var d = d.twice(),\r\n f = b.testBit(e),\r\n g = a.testBit(e);\r\n f != g && (d = d.add2D(f ? this : c))\r\n }\r\n return d\r\n };\r\n ECPointFp.prototype.isOnCurve = function () {\r\n var a = this.getX().toBigInteger(),\r\n b = this.getY().toBigInteger(),\r\n c = this.curve.getA().toBigInteger(),\r\n d = this.curve.getB().toBigInteger(),\r\n e = this.curve.getQ(),\r\n b = b.multiply(b).mod(e),\r\n a = a.multiply(a).multiply(a).add(c.multiply(a)).add(d).mod(e);\r\n return b.equals(a)\r\n };\r\n ECPointFp.prototype.toString = function () {\r\n return \"(\" + this.getX().toBigInteger().toString() + \",\" + this.getY().toBigInteger().toString() + \")\"\r\n };\r\n ECPointFp.prototype.validate = function () {\r\n var a = this.curve.getQ();\r\n if (this.isInfinity())\r\n throw Error(\"Point is at infinity.\");\r\n var b = this.getX().toBigInteger(),\r\n c = this.getY().toBigInteger();\r\n if (0 > b.compareTo(BigInteger.ONE) || 0 < b.compareTo(a.subtract(BigInteger.ONE)))\r\n throw Error(\"x coordinate out of bounds\");\r\n if (0 > c.compareTo(BigInteger.ONE) || 0 < c.compareTo(a.subtract(BigInteger.ONE)))\r\n throw Error(\"y coordinate out of bounds\");\r\n if (!this.isOnCurve())\r\n throw Error(\"Point is not on the curve.\");\r\n if (this.multiply(a).isInfinity())\r\n throw Error(\"Point is not a scalar multiple of G.\");\r\n return !0\r\n };\r\n \"undefined\" != typeof KJUR && KJUR || (KJUR = {});\r\n \"undefined\" != typeof KJUR.crypto && KJUR.crypto || (KJUR.crypto = {});\r\n KJUR.crypto.ECDSA = function (a) {\r\n var b = new SecureRandom;\r\n this.type = \"EC\";\r\n this.getBigRandom = function (a) {\r\n return (new BigInteger(a.bitLength(), b)).mod(a.subtract(BigInteger.ONE)).add(BigInteger.ONE)\r\n };\r\n this.setNamedCurve = function (a) {\r\n this.ecparams = KJUR.crypto.ECParameterDB.getByName(a);\r\n this.pubKeyHex = this.prvKeyHex = null;\r\n this.curveName = a\r\n };\r\n this.setPrivateKeyHex = function (a) {\r\n this.isPrivate = !0;\r\n this.prvKeyHex = a\r\n };\r\n this.setPublicKeyHex = function (a) {\r\n this.isPublic = !0;\r\n this.pubKeyHex = a\r\n };\r\n this.generateKeyPairHex = function () {\r\n var a = this.getBigRandom(this.ecparams.n),\r\n b = this.ecparams.G.multiply(a),\r\n e = b.getX().toBigInteger(),\r\n b = b.getY().toBigInteger(),\r\n f = this.ecparams.keylen / 4,\r\n a = (\"0000000000\" + a.toString(16)).slice(-f),\r\n e = (\"0000000000\" + e.toString(16)).slice(-f),\r\n b = (\"0000000000\" + b.toString(16)).slice(-f),\r\n e = \"04\" + e + b;\r\n this.setPrivateKeyHex(a);\r\n this.setPublicKeyHex(e);\r\n return {\r\n ecprvhex: a,\r\n ecpubhex: e\r\n }\r\n };\r\n this.signWithMessageHash = function (a) {\r\n return this.signHex(a, this.prvKeyHex)\r\n };\r\n this.signHex = function (a, b) {\r\n var e = new BigInteger(b, 16),\r\n f = this.ecparams.n,\r\n g = new BigInteger(a, 16);\r\n do\r\n var h = this.getBigRandom(f),\r\n k = this.ecparams.G.multiply(h).getX().toBigInteger().mod(f);\r\n while (0 >= k.compareTo(BigInteger.ZERO));\r\n e = h.modInverse(f).multiply(g.add(e.multiply(k))).mod(f);\r\n return KJUR.crypto.ECDSA.biRSSigToASN1Sig(k, e)\r\n };\r\n this.sign = function (a, b) {\r\n var e = this.ecparams.n,\r\n f = BigInteger.fromByteArrayUnsigned(a);\r\n do\r\n var g = this.getBigRandom(e),\r\n h = this.ecparams.G.multiply(g).getX().toBigInteger().mod(e);\r\n while (0 >= h.compareTo(BigInteger.ZERO));\r\n e = g.modInverse(e).multiply(f.add(b.multiply(h))).mod(e);\r\n return this.serializeSig(h, e)\r\n };\r\n this.verifyWithMessageHash = function (a, b) {\r\n return this.verifyHex(a, b, this.pubKeyHex)\r\n };\r\n this.verifyHex = function (a, b, e) {\r\n var f;\r\n f = KJUR.crypto.ECDSA.parseSigHex(b);\r\n b = f.r;\r\n f = f.s;\r\n e = ECPointFp.decodeFromHex(this.ecparams.curve, e);\r\n a = new BigInteger(a, 16);\r\n return this.verifyRaw(a, b, f, e)\r\n };\r\n this.verify = function (a, b, e) {\r\n var f;\r\n if (Bitcoin.Util.isArray(b))\r\n b = this.parseSig(b),\r\n f = b.r,\r\n b = b.s;\r\n else if (\"object\" === typeof b && b.r && b.s)\r\n f = b.r,\r\n b = b.s;\r\n else\r\n throw \"Invalid value for signature\";\r\n if (!(e instanceof ECPointFp))\r\n if (Bitcoin.Util.isArray(e))\r\n e = ECPointFp.decodeFrom(this.ecparams.curve, e);\r\n else\r\n throw \"Invalid format for pubkey value, must be byte array or ECPointFp\";\r\n a = BigInteger.fromByteArrayUnsigned(a);\r\n return this.verifyRaw(a, f, b, e)\r\n };\r\n this.verifyRaw = function (a, b, e, f) {\r\n var g = this.ecparams.n,\r\n h = this.ecparams.G;\r\n if (0 > b.compareTo(BigInteger.ONE) || 0 <= b.compareTo(g) || 0 > e.compareTo(BigInteger.ONE) || 0 <= e.compareTo(g))\r\n return !1;\r\n e = e.modInverse(g);\r\n a = a.multiply(e).mod(g);\r\n e = b.multiply(e).mod(g);\r\n return h.multiply(a).add(f.multiply(e)).getX().toBigInteger().mod(g).equals(b)\r\n };\r\n this.serializeSig = function (a, b) {\r\n var e = a.toByteArraySigned(),\r\n f = b.toByteArraySigned(),\r\n g = [];\r\n g.push(2);\r\n g.push(e.length);\r\n g = g.concat(e);\r\n g.push(2);\r\n g.push(f.length);\r\n g = g.concat(f);\r\n g.unshift(g.length);\r\n g.unshift(48);\r\n return g\r\n };\r\n this.parseSig = function (a) {\r\n var b;\r\n if (48 != a[0])\r\n throw Error(\"Signature not a valid DERSequence\");\r\n b = 2;\r\n if (2 != a[b])\r\n throw Error(\"First element in signature must be a DERInteger\");\r\n var e = a.slice(b + 2, b + 2 + a[b + 1]);\r\n b += 2 + a[b + 1];\r\n if (2 != a[b])\r\n throw Error(\"Second element in signature must be a DERInteger\");\r\n a = a.slice(b + 2, b + 2 + a[b + 1]);\r\n e = BigInteger.fromByteArrayUnsigned(e);\r\n a = BigInteger.fromByteArrayUnsigned(a);\r\n return {\r\n r: e,\r\n s: a\r\n }\r\n };\r\n this.parseSigCompact = function (a) {\r\n if (65 !== a.length)\r\n throw \"Signature has the wrong length\";\r\n var b = a[0] - 27;\r\n if (0 > b || 7 < b)\r\n throw \"Invalid signature type\";\r\n var e = this.ecparams.n,\r\n f = BigInteger.fromByteArrayUnsigned(a.slice(1, 33)).mod(e);\r\n a = BigInteger.fromByteArrayUnsigned(a.slice(33, 65)).mod(e);\r\n return {\r\n r: f,\r\n s: a,\r\n i: b\r\n }\r\n };\r\n void 0 !== a && void 0 !== a.curve && (this.curveName = a.curve);\r\n void 0 === this.curveName && (this.curveName = \"secp256r1\");\r\n this.setNamedCurve(this.curveName);\r\n void 0 !== a && (void 0 !== a.prv && this.setPrivateKeyHex(a.prv),\r\n void 0 !== a.pub && this.setPublicKeyHex(a.pub))\r\n };\r\n KJUR.crypto.ECDSA.parseSigHex = function (a) {\r\n var b = KJUR.crypto.ECDSA.parseSigHexInHexRS(a);\r\n a = new BigInteger(b.r, 16);\r\n b = new BigInteger(b.s, 16);\r\n return {\r\n r: a,\r\n s: b\r\n }\r\n };\r\n KJUR.crypto.ECDSA.parseSigHexInHexRS = function (a) {\r\n if (\"30\" != a.substr(0, 2))\r\n throw \"signature is not a ASN.1 sequence\";\r\n var b = ASN1HEX.getPosArrayOfChildren_AtObj(a, 0);\r\n if (2 != b.length)\r\n throw \"number of signature ASN.1 sequence elements seem wrong\";\r\n var c = b[0],\r\n b = b[1];\r\n if (\"02\" != a.substr(c, 2))\r\n throw \"1st item of sequene of signature is not ASN.1 integer\";\r\n if (\"02\" != a.substr(b, 2))\r\n throw \"2nd item of sequene of signature is not ASN.1 integer\";\r\n c = ASN1HEX.getHexOfV_AtObj(a, c);\r\n a = ASN1HEX.getHexOfV_AtObj(a, b);\r\n return {\r\n r: c,\r\n s: a\r\n }\r\n };\r\n KJUR.crypto.ECDSA.asn1SigToConcatSig = function (a) {\r\n var b = KJUR.crypto.ECDSA.parseSigHexInHexRS(a);\r\n a = b.r;\r\n b = b.s;\r\n \"00\" == a.substr(0, 2) && 8 == a.length / 2 * 8 % 128 && (a = a.substr(2));\r\n \"00\" == b.substr(0, 2) && 8 == b.length / 2 * 8 % 128 && (b = b.substr(2));\r\n if (0 != a.length / 2 * 8 % 128)\r\n throw \"unknown ECDSA sig r length error\";\r\n if (0 != b.length / 2 * 8 % 128)\r\n throw \"unknown ECDSA sig s length error\";\r\n return a + b\r\n };\r\n KJUR.crypto.ECDSA.concatSigToASN1Sig = function (a) {\r\n if (0 != a.length / 2 * 8 % 128)\r\n throw \"unknown ECDSA concatinated r-s sig length error\";\r\n var b = a.substr(0, a.length / 2);\r\n a = a.substr(a.length / 2);\r\n return KJUR.crypto.ECDSA.hexRSSigToASN1Sig(b, a)\r\n };\r\n KJUR.crypto.ECDSA.hexRSSigToASN1Sig = function (a, b) {\r\n var c = new BigInteger(a, 16),\r\n d = new BigInteger(b, 16);\r\n return KJUR.crypto.ECDSA.biRSSigToASN1Sig(c, d)\r\n };\r\n KJUR.crypto.ECDSA.biRSSigToASN1Sig = function (a, b) {\r\n var c = new KJUR.asn1.DERInteger({\r\n bigint: a\r\n }),\r\n d = new KJUR.asn1.DERInteger({\r\n bigint: b\r\n });\r\n return (new KJUR.asn1.DERSequence({\r\n array: [c, d]\r\n })).getEncodedHex()\r\n };\r\n (function () {\r\n var a = CryptoJS,\r\n b = a.lib,\r\n c = b.WordArray,\r\n d = b.Hasher,\r\n e = [],\r\n b = a.algo.SM3 = d.extend({\r\n _doReset: function () {\r\n this._hash = new c.init([1937774191, 1226093241, 388252375, 3666478592, 2842636476, 372324522, 3817729613, 2969243214])\r\n },\r\n _doProcessBlock: function (a, b) {\r\n for (var c = this._hash.words, d = c[0], l = c[1], p = c[2], n = c[3], q = c[4], m = 0; 80 > m; m++) {\r\n if (16 > m)\r\n e[m] = a[b + m] | 0;\r\n else {\r\n var r = e[m - 3] ^ e[m - 8] ^ e[m - 14] ^ e[m - 16];\r\n e[m] = r << 1 | r >>> 31\r\n }\r\n r = (d << 5 | d >>> 27) + q + e[m];\r\n r = 20 > m ? r + ((l & p | ~l & n) + 1518500249) : 40 > m ? r + ((l ^ p ^ n) + 1859775393) : 60 > m ? r + ((l & p | l & n | p & n) - 1894007588) : r + ((l ^ p ^ n) - 899497514);\r\n q = n;\r\n n = p;\r\n p = l << 30 | l >>> 2;\r\n l = d;\r\n d = r\r\n }\r\n c[0] = c[0] + d | 0;\r\n c[1] = c[1] + l | 0;\r\n c[2] = c[2] + p | 0;\r\n c[3] = c[3] + n | 0;\r\n c[4] = c[4] + q | 0\r\n },\r\n _doFinalize: function () {\r\n var a = this._data,\r\n b = a.words,\r\n c = 8 * this._nDataBytes,\r\n d = 8 * a.sigBytes;\r\n b[d >>> 5] |= 128 << 24 - d % 32;\r\n b[(d + 64 >>> 9 << 4) + 14] = Math.floor(c / 4294967296);\r\n b[(d + 64 >>> 9 << 4) + 15] = c;\r\n a.sigBytes = 4 * b.length;\r\n this._process();\r\n return this._hash\r\n },\r\n clone: function () {\r\n var a = d.clone.call(this);\r\n a._hash = this._hash.clone();\r\n return a\r\n }\r\n });\r\n a.SM3 = d._createHelper(b);\r\n a.HmacSM3 = d._createHmacHelper(b)\r\n })();\r\n\r\n function SM3Digest() {\r\n this.BYTE_LENGTH = 64;\r\n this.xBuf = [];\r\n this.byteCount = this.xBufOff = 0;\r\n this.DIGEST_LENGTH = 32;\r\n this.v0 = [1937774191, 1226093241, 388252375, 3666478592, 2842636476, 372324522, 3817729613, 2969243214];\r\n this.v0 = [1937774191, 1226093241, 388252375, -628488704, -1452330820, 372324522, -477237683, -1325724082];\r\n this.v = Array(8);\r\n this.v_ = Array(8);\r\n this.X0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n this.X = Array(68);\r\n this.xOff = 0;\r\n this.T_00_15 = 2043430169;\r\n this.T_16_63 = 2055708042;\r\n 0 < arguments.length ? this.InitDigest(arguments[0]) : this.Init()\r\n }\r\n SM3Digest.prototype = {\r\n Init: function () {\r\n this.xBuf = Array(4);\r\n this.Reset()\r\n },\r\n InitDigest: function (a) {\r\n this.xBuf = Array(a.xBuf.length);\r\n Array.Copy(a.xBuf, 0, this.xBuf, 0, a.xBuf.length);\r\n this.xBufOff = a.xBufOff;\r\n this.byteCount = a.byteCount;\r\n Array.Copy(a.X, 0, this.X, 0, a.X.length);\r\n this.xOff = a.xOff;\r\n Array.Copy(a.v, 0, this.v, 0, a.v.length)\r\n },\r\n GetDigestSize: function () {\r\n return this.DIGEST_LENGTH\r\n },\r\n Reset: function () {\r\n this.xBufOff = this.byteCount = 0;\r\n Array.Clear(this.xBuf, 0, this.xBuf.length);\r\n Array.Copy(this.v0, 0, this.v, 0, this.v0.length);\r\n this.xOff = 0;\r\n Array.Copy(this.X0, 0, this.X, 0, this.X0.length)\r\n },\r\n GetByteLength: function () {\r\n return this.BYTE_LENGTH\r\n },\r\n ProcessBlock: function () {\r\n var a, b = this.X,\r\n c = Array(64);\r\n for (a = 16; 68 > a; a++)\r\n b[a] = this.P1(b[a - 16] ^ b[a - 9] ^ this.ROTATE(b[a - 3], 15)) ^ this.ROTATE(b[a - 13], 7) ^ b[a - 6];\r\n for (a = 0; 64 > a; a++)\r\n c[a] = b[a] ^ b[a + 4];\r\n var d = this.v,\r\n e = this.v_;\r\n Array.Copy(d, 0, e, 0, this.v0.length);\r\n var f, g;\r\n for (a = 0; 16 > a; a++)\r\n g = this.ROTATE(e[0], 12),\r\n f = Int32.parse(Int32.parse(g + e[4]) + this.ROTATE(this.T_00_15, a)),\r\n f = this.ROTATE(f, 7),\r\n g ^= f,\r\n g = Int32.parse(Int32.parse(this.FF_00_15(e[0], e[1], e[2]) + e[3]) + g) + c[a],\r\n f = Int32.parse(Int32.parse(this.GG_00_15(e[4], e[5], e[6]) + e[7]) + f) + b[a],\r\n e[3] = e[2],\r\n e[2] = this.ROTATE(e[1], 9),\r\n e[1] = e[0],\r\n e[0] = g,\r\n e[7] = e[6],\r\n e[6] = this.ROTATE(e[5], 19),\r\n e[5] = e[4],\r\n e[4] = this.P0(f);\r\n for (a = 16; 64 > a; a++)\r\n g = this.ROTATE(e[0], 12),\r\n f = Int32.parse(Int32.parse(g + e[4]) + this.ROTATE(this.T_16_63, a)),\r\n f = this.ROTATE(f, 7),\r\n g ^= f,\r\n g = Int32.parse(Int32.parse(this.FF_16_63(e[0], e[1], e[2]) + e[3]) + g) + c[a],\r\n f = Int32.parse(Int32.parse(this.GG_16_63(e[4], e[5], e[6]) + e[7]) + f) + b[a],\r\n e[3] = e[2],\r\n e[2] = this.ROTATE(e[1], 9),\r\n e[1] = e[0],\r\n e[0] = g,\r\n e[7] = e[6],\r\n e[6] = this.ROTATE(e[5], 19),\r\n e[5] = e[4],\r\n e[4] = this.P0(f);\r\n for (a = 0; 8 > a; a++)\r\n d[a] ^= Int32.parse(e[a]);\r\n this.xOff = 0;\r\n Array.Copy(this.X0, 0, this.X, 0, this.X0.length)\r\n },\r\n ProcessWord: function (a, b) {\r\n var c = a[b] << 24,\r\n c = c | (a[++b] & 255) << 16,\r\n c = c | (a[++b] & 255) << 8,\r\n c = c | a[++b] & 255;\r\n this.X[this.xOff] = c;\r\n 16 == ++this.xOff && this.ProcessBlock()\r\n },\r\n ProcessLength: function (a) {\r\n 14 < this.xOff && this.ProcessBlock();\r\n this.X[14] = this.URShiftLong(a, 32);\r\n this.X[15] = a & 4294967295\r\n },\r\n IntToBigEndian: function (a, b, c) {\r\n b[c] = Int32.parseByte(this.URShift(a, 24));\r\n b[++c] = Int32.parseByte(this.URShift(a, 16));\r\n b[++c] = Int32.parseByte(this.URShift(a, 8));\r\n b[++c] = Int32.parseByte(a)\r\n },\r\n DoFinal: function (a, b) {\r\n this.Finish();\r\n for (var c = 0; 8 > c; c++)\r\n this.IntToBigEndian(this.v[c], a, b + 4 * c);\r\n this.Reset();\r\n for (var d = a.length, c = 0; c < d; c++)\r\n a[c] &= 255;\r\n return this.DIGEST_LENGTH\r\n },\r\n Update: function (a) {\r\n this.xBuf[this.xBufOff++] = a;\r\n this.xBufOff == this.xBuf.length && (this.ProcessWord(this.xBuf, 0),\r\n this.xBufOff = 0);\r\n this.byteCount++\r\n },\r\n BlockUpdate: function (a, b, c) {\r\n for (; 0 != this.xBufOff && 0 < c;)\r\n this.Update(a[b]),\r\n b++,\r\n c--;\r\n for (; c > this.xBuf.length;)\r\n this.ProcessWord(a, b),\r\n b += this.xBuf.length,\r\n c -= this.xBuf.length,\r\n this.byteCount += this.xBuf.length;\r\n for (; 0 < c;)\r\n this.Update(a[b]),\r\n b++,\r\n c--\r\n },\r\n Finish: function () {\r\n var a = this.byteCount << 3;\r\n for (this.Update(128); 0 != this.xBufOff;)\r\n this.Update(0);\r\n this.ProcessLength(a);\r\n this.ProcessBlock()\r\n },\r\n ROTATE: function (a, b) {\r\n return a << b | this.URShift(a, 32 - b)\r\n },\r\n P0: function (a) {\r\n return a ^ this.ROTATE(a, 9) ^ this.ROTATE(a, 17)\r\n },\r\n P1: function (a) {\r\n return a ^ this.ROTATE(a, 15) ^ this.ROTATE(a, 23)\r\n },\r\n FF_00_15: function (a, b, c) {\r\n return a ^ b ^ c\r\n },\r\n FF_16_63: function (a, b, c) {\r\n return a & b | a & c | b & c\r\n },\r\n GG_00_15: function (a, b, c) {\r\n return a ^ b ^ c\r\n },\r\n GG_16_63: function (a, b, c) {\r\n return a & b | ~a & c\r\n },\r\n URShift: function (a, b) {\r\n if (a > Int32.maxValue || a < Int32.minValue)\r\n a = Int32.parse(a);\r\n return 0 <= a ? a >> b : (a >> b) + (2 << ~b)\r\n },\r\n URShiftLong: function (a, b) {\r\n var c;\r\n c = new BigInteger;\r\n c.fromInt(a);\r\n if (0 <= c.signum())\r\n c = c.shiftRight(b).intValue();\r\n else {\r\n var d = new BigInteger;\r\n d.fromInt(2);\r\n var e = ~b;\r\n c = \"\";\r\n if (0 > e) {\r\n d = 64 + e;\r\n for (e = 0; e < d; e++)\r\n c += \"0\";\r\n d = new BigInteger;\r\n d.fromInt(a >> b);\r\n c = new BigInteger(\"10\" + c, 2);\r\n c.toRadix(10);\r\n c = c.add(d).toRadix(10)\r\n } else\r\n c = d.shiftLeft(~b).intValue(),\r\n c = (a >> b) + c\r\n }\r\n return c\r\n },\r\n GetZ: function (a, b) {\r\n var c = CryptoJS.enc.Utf8.parse(\"1234567812345678\"),\r\n d = 32 * c.words.length;\r\n this.Update(d >> 8 & 255);\r\n this.Update(d & 255);\r\n c = this.GetWords(c.toString());\r\n this.BlockUpdate(c, 0, c.length);\r\n var c = this.GetWords(a.curve.a.toBigInteger().toRadix(16)),\r\n d = this.GetWords(a.curve.b.toBigInteger().toRadix(16)),\r\n e = this.GetWords(a.getX().toBigInteger().toRadix(16)),\r\n f = this.GetWords(a.getY().toBigInteger().toRadix(16)),\r\n g = this.GetWords(b.substr(0, 64)),\r\n h = this.GetWords(b.substr(64, 64));\r\n this.BlockUpdate(c, 0, c.length);\r\n this.BlockUpdate(d, 0, d.length);\r\n this.BlockUpdate(e, 0, e.length);\r\n this.BlockUpdate(f, 0, f.length);\r\n this.BlockUpdate(g, 0, g.length);\r\n this.BlockUpdate(h, 0, h.length);\r\n c = Array(this.GetDigestSize());\r\n this.DoFinal(c, 0);\r\n return c\r\n },\r\n GetWords: function (a) {\r\n for (var b = [], c = a.length, d = 0; d < c; d += 2)\r\n b[b.length] = parseInt(a.substr(d, 2), 16);\r\n return b\r\n },\r\n GetHex: function (a) {\r\n for (var b = [], c = 0, d = 0; d < 2 * a.length; d += 2)\r\n b[d >>> 3] |= parseInt(a[c]) << 24 - d % 8 * 4,\r\n c++;\r\n return new CryptoJS.lib.WordArray.init(b, a.length)\r\n }\r\n };\r\n Array.Clear = function (a, b, c) {\r\n for (var elm in a)\r\n a[elm] = null\r\n };\r\n Array.Copy = function (a, b, c, d, e) {\r\n a = a.slice(b, b + e);\r\n for (b = 0; b < a.length; b++)\r\n c[d] = a[b],\r\n d++\r\n };\r\n var Int32 = { //zdk\r\n minValue: -parseInt(\"10000000000000000000000000000000\", 2),\r\n maxValue: 2147483647,\r\n parse: function (a) {\r\n if (a < this.minValue) {\r\n a = new Number(-a);\r\n a = a.toString(2);\r\n a = a.substr(a.length - 31, 31);\r\n for (var b = \"\", c = 0; c < a.length; c++)\r\n var d = a.substr(c, 1),\r\n b = b + (\"0\" == d ? \"1\" : \"0\");\r\n a = parseInt(b, 2);\r\n return a + 1\r\n }\r\n if (a > this.maxValue) {\r\n a = Number(a);\r\n a = a.toString(2);\r\n a = a.substr(a.length - 31, 31);\r\n b = \"\";\r\n for (c = 0; c < a.length; c++)\r\n d = a.substr(c, 1),\r\n b += \"0\" == d ? \"1\" : \"0\";\r\n a = parseInt(b, 2);\r\n return -(a + 1)\r\n }\r\n return a\r\n },\r\n parseByte: function (a) {\r\n if (0 > a) {\r\n a = new Number(-a);\r\n a = a.toString(2);\r\n a = a.substr(a.length - 8, 8);\r\n for (var b = \"\", c = 0; c < a.length; c++)\r\n var d = a.substr(c, 1),\r\n b = b + (\"0\" == d ? \"1\" : \"0\");\r\n return parseInt(b, 2) + 1\r\n }\r\n return 255 < a ? (a = Number(a),\r\n a = a.toString(2),\r\n parseInt(a.substr(a.length - 8, 8), 2)) : a\r\n }\r\n };\r\n \"undefined\" != typeof KJUR && KJUR || (KJUR = {});\r\n \"undefined\" != typeof KJUR.crypto && KJUR.crypto || (KJUR.crypto = {});\r\n KJUR.crypto.SM3withSM2 = function (a) {\r\n var b = new SecureRandom;\r\n this.type = \"SM2\";\r\n this.getBigRandom = function (a) {\r\n return (new BigInteger(a.bitLength(), b)).mod(a.subtract(BigInteger.ONE)).add(BigInteger.ONE)\r\n };\r\n this.setNamedCurve = function (a) {\r\n this.ecparams = KJUR.crypto.ECParameterDB.getByName(a);\r\n this.pubKeyHex = this.prvKeyHex = null;\r\n this.curveName = a\r\n };\r\n this.setPrivateKeyHex = function (a) {\r\n this.isPrivate = !0;\r\n this.prvKeyHex = a\r\n };\r\n this.setPublicKeyHex = function (a) {\r\n this.isPublic = !0;\r\n this.pubKeyHex = a\r\n };\r\n this.generateKeyPairHex = function () {\r\n var a = this.getBigRandom(this.ecparams.n),\r\n b = this.ecparams.G.multiply(a),\r\n e = b.getX().toBigInteger(),\r\n b = b.getY().toBigInteger(),\r\n f = this.ecparams.keylen / 4,\r\n a = (\"0000000000\" + a.toString(16)).slice(-f),\r\n e = (\"0000000000\" + e.toString(16)).slice(-f),\r\n b = (\"0000000000\" + b.toString(16)).slice(-f),\r\n e = \"04\" + e + b;\r\n this.setPrivateKeyHex(a);\r\n this.setPublicKeyHex(e);\r\n return {\r\n ecprvhex: a,\r\n ecpubhex: e\r\n }\r\n };\r\n this.signWithMessageHash = function (a) {\r\n return this.signHex(a, this.prvKeyHex)\r\n };\r\n this.signHex = function (a, b) {\r\n var e = new BigInteger(b, 16),\r\n f = this.ecparams.n,\r\n g = new BigInteger(a, 16),\r\n h = null,\r\n k = null,\r\n l = k = null;\r\n do {\r\n do\r\n k = this.generateKeyPairHex(),\r\n h = new BigInteger(k.ecprvhex, 16),\r\n k = ECPointFp.decodeFromHex(this.ecparams.curve, k.ecpubhex),\r\n k = g.add(k.getX().toBigInteger()),\r\n k = k.mod(f);\r\n while (k.equals(BigInteger.ZERO) || k.add(h).equals(f));\r\n var p = e.add(BigInteger.ONE),\r\n p = p.modInverse(f),\r\n l = k.multiply(e),\r\n l = h.subtract(l).mod(f),\r\n l = p.multiply(l).mod(f)\r\n } while (l.equals(BigInteger.ZERO));\r\n return KJUR.crypto.ECDSA.biRSSigToASN1Sig(k, l)\r\n };\r\n this.sign = function (a, b) {\r\n var e = this.ecparams.n,\r\n f = BigInteger.fromByteArrayUnsigned(a);\r\n do\r\n var g = this.getBigRandom(e),\r\n h = this.ecparams.G.multiply(g).getX().toBigInteger().mod(e);\r\n while (0 >= h.compareTo(BigInteger.ZERO));\r\n e = g.modInverse(e).multiply(f.add(b.multiply(h))).mod(e);\r\n return this.serializeSig(h, e)\r\n };\r\n this.verifyWithMessageHash = function (a, b) {\r\n return this.verifyHex(a, b, this.pubKeyHex)\r\n };\r\n this.verifyHex = function (a, b, e) {\r\n var f;\r\n f = KJUR.crypto.ECDSA.parseSigHex(b);\r\n b = f.r;\r\n f = f.s;\r\n e = ECPointFp.decodeFromHex(this.ecparams.curve, e);\r\n a = new BigInteger(a, 16);\r\n return this.verifyRaw(a, b, f, e)\r\n };\r\n this.verify = function (a, b, e) {\r\n var f;\r\n if (Bitcoin.Util.isArray(b))\r\n b = this.parseSig(b),\r\n f = b.r,\r\n b = b.s;\r\n else if (\"object\" === typeof b && b.r && b.s)\r\n f = b.r,\r\n b = b.s;\r\n else\r\n throw \"Invalid value for signature\";\r\n if (!(e instanceof ECPointFp))\r\n if (Bitcoin.Util.isArray(e))\r\n e = ECPointFp.decodeFrom(this.ecparams.curve, e);\r\n else\r\n throw \"Invalid format for pubkey value, must be byte array or ECPointFp\";\r\n a = BigInteger.fromByteArrayUnsigned(a);\r\n return this.verifyRaw(a, f, b, e)\r\n };\r\n this.verifyRaw = function (a, b, e, f) {\r\n var g = this.ecparams.n,\r\n h = this.ecparams.G,\r\n k = b.add(e).mod(g);\r\n if (k.equals(BigInteger.ZERO))\r\n return !1;\r\n e = h.multiply(e);\r\n e = e.add(f.multiply(k));\r\n a = a.add(e.getX().toBigInteger()).mod(g);\r\n return b.equals(a)\r\n };\r\n this.serializeSig = function (a, b) {\r\n var e = a.toByteArraySigned(),\r\n f = b.toByteArraySigned(),\r\n g = [];\r\n g.push(2);\r\n g.push(e.length);\r\n g = g.concat(e);\r\n g.push(2);\r\n g.push(f.length);\r\n g = g.concat(f);\r\n g.unshift(g.length);\r\n g.unshift(48);\r\n return g\r\n };\r\n this.parseSig = function (a) {\r\n var b;\r\n if (48 != a[0])\r\n throw Error(\"Signature not a valid DERSequence\");\r\n b = 2;\r\n if (2 != a[b])\r\n throw Error(\"First element in signature must be a DERInteger\");\r\n var e = a.slice(b + 2, b + 2 + a[b + 1]);\r\n b += 2 + a[b + 1];\r\n if (2 != a[b])\r\n throw Error(\"Second element in signature must be a DERInteger\");\r\n a = a.slice(b + 2, b + 2 + a[b + 1]);\r\n e = BigInteger.fromByteArrayUnsigned(e);\r\n a = BigInteger.fromByteArrayUnsigned(a);\r\n return {\r\n r: e,\r\n s: a\r\n }\r\n };\r\n this.parseSigCompact = function (a) {\r\n if (65 !== a.length)\r\n throw \"Signature has the wrong length\";\r\n var b = a[0] - 27;\r\n if (0 > b || 7 < b)\r\n throw \"Invalid signature type\";\r\n var e = this.ecparams.n,\r\n f = BigInteger.fromByteArrayUnsigned(a.slice(1, 33)).mod(e);\r\n a = BigInteger.fromByteArrayUnsigned(a.slice(33, 65)).mod(e);\r\n return {\r\n r: f,\r\n s: a,\r\n i: b\r\n }\r\n };\r\n void 0 !== a && void 0 !== a.curve && (this.curveName = a.curve);\r\n void 0 === this.curveName && (this.curveName = \"sm2\");\r\n this.setNamedCurve(this.curveName);\r\n void 0 !== a && (void 0 !== a.prv && this.setPrivateKeyHex(a.prv),\r\n void 0 !== a.pub && this.setPublicKeyHex(a.pub))\r\n };\r\n \"undefined\" != typeof KJUR && KJUR || (KJUR = {});\r\n \"undefined\" != typeof KJUR.crypto && KJUR.crypto || (KJUR.crypto = {});\r\n KJUR.crypto.ECParameterDB = new function () {\r\n var a = {},\r\n b = {};\r\n this.getByName = function (c) {\r\n var d = c;\r\n \"undefined\" != typeof b[d] && (d = b[c]);\r\n if (\"undefined\" != typeof a[d])\r\n return a[d];\r\n throw \"unregistered EC curve name: \" + d;\r\n };\r\n this.regist = function (c, d, e, f, g, h, k, l, p, n, q, m) {\r\n a[c] = {};\r\n e = new BigInteger(e, 16);\r\n f = new BigInteger(f, 16);\r\n g = new BigInteger(g, 16);\r\n h = new BigInteger(h, 16);\r\n k = new BigInteger(k, 16);\r\n e = new ECCurveFp(e, f, g);\r\n l = e.decodePointHex(\"04\" + l + p);\r\n a[c].name = c;\r\n a[c].keylen = d;\r\n a[c].curve = e;\r\n a[c].G = l;\r\n a[c].n = h;\r\n a[c].h = k;\r\n a[c].oid = q;\r\n a[c].info = m;\r\n for (d = 0; d < n.length; d++)\r\n b[n[d]] = c\r\n }\r\n };\r\n KJUR.crypto.ECParameterDB.regist(\"secp128r1\", 128, \"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF\", \"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC\", \"E87579C11079F43DD824993C2CEE5ED3\", \"FFFFFFFE0000000075A30D1B9038A115\", \"1\", \"161FF7528B899B2D0C28607CA52C5B86\", \"CF5AC8395BAFEB13C02DA292DDED7A83\", [], \"\", \"secp128r1 : SECG curve over a 128 bit prime field\");\r\n KJUR.crypto.ECParameterDB.regist(\"secp160k1\", 160, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73\", \"0\", \"7\", \"0100000000000000000001B8FA16DFAB9ACA16B6B3\", \"1\", \"3B4C382CE37AA192A4019E763036F4F5DD4D7EBB\", \"938CF935318FDCED6BC28286531733C3F03C4FEE\", [], \"\", \"secp160k1 : SECG curve over a 160 bit prime field\");\r\n KJUR.crypto.ECParameterDB.regist(\"secp160r1\", 160, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC\", \"1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45\", \"0100000000000000000001F4C8F927AED3CA752257\", \"1\", \"4A96B5688EF573284664698968C38BB913CBFC82\", \"23A628553168947D59DCC912042351377AC5FB32\", [], \"\", \"secp160r1 : SECG curve over a 160 bit prime field\");\r\n KJUR.crypto.ECParameterDB.regist(\"secp192k1\", 192, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37\", \"0\", \"3\", \"FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D\", \"1\", \"DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D\", \"9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D\", []);\r\n KJUR.crypto.ECParameterDB.regist(\"secp192r1\", 192, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC\", \"64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1\", \"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831\", \"1\", \"188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012\", \"07192B95FFC8DA78631011ED6B24CDD573F977A11E794811\", []);\r\n KJUR.crypto.ECParameterDB.regist(\"secp224r1\", 224, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE\", \"B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D\", \"1\", \"B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21\", \"BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34\", []);\r\n KJUR.crypto.ECParameterDB.regist(\"secp256k1\", 256, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F\", \"0\", \"7\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141\", \"1\", \"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798\", \"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8\", []);\r\n KJUR.crypto.ECParameterDB.regist(\"secp256r1\", 256, \"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF\", \"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC\", \"5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B\", \"FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551\", \"1\", \"6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296\", \"4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5\", [\"NIST P-256\", \"P-256\", \"prime256v1\"]);\r\n KJUR.crypto.ECParameterDB.regist(\"secp384r1\", 384, \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC\", \"B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF\", \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973\", \"1\", \"AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7\", \"3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f\", [\"NIST P-384\", \"P-384\"]);\r\n KJUR.crypto.ECParameterDB.regist(\"secp521r1\", 521, \"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\", \"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC\", \"051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00\", \"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409\", \"1\", \"C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66\", \"011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\", [\"NIST P-521\", \"P-521\"]);\r\n KJUR.crypto.ECParameterDB.regist(\"sm2\", 256, \"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF\", \"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC\", \"28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93\", \"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123\", \"1\", \"32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7\", \"BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0\", [\"sm2\", \"SM2\"]);\r\n\r\n SM2Cipher.prototype = {\r\n Reset: function () {\r\n this.sm3keybase = new SM3Digest;\r\n this.sm3c3 = new SM3Digest;\r\n for (var a = this.p2.getX().toBigInteger().toRadix(16); 64 > a.length;)\r\n a = \"0\" + a;\r\n for (var a = this.GetWords(a), b = this.p2.getY().toBigInteger().toRadix(16); 64 > b.length;)\r\n b = \"0\" + b;\r\n b = this.GetWords(b);\r\n this.sm3keybase.BlockUpdate(a, 0, a.length);\r\n this.sm3c3.BlockUpdate(a, 0, a.length);\r\n this.sm3keybase.BlockUpdate(b, 0, b.length);\r\n this.ct = 1;\r\n this.NextKey()\r\n },\r\n NextKey: function () {\r\n var a = new SM3Digest(this.sm3keybase);\r\n a.Update(this.ct >> 24 & 255);\r\n a.Update(this.ct >> 16 & 255);\r\n a.Update(this.ct >> 8 & 255);\r\n a.Update(this.ct & 255);\r\n a.DoFinal(this.key, 0);\r\n this.keyOff = 0;\r\n this.ct++\r\n },\r\n KDF: function (a) {\r\n var b = Array(a),\r\n c = new SM3Digest,\r\n d = Array(32),\r\n e = 1,\r\n f = a / 32;\r\n a %= 32;\r\n for (var g = this.p2.getX().toBigInteger().toRadix(16); 64 > g.length;)\r\n g = \"0\" + g;\r\n for (var g = this.GetWords(g), h = this.p2.getY().toBigInteger().toRadix(16); 64 > h.length;)\r\n h = \"0\" + h;\r\n for (var h = this.GetWords(h), k = 0, l = 0; l < f; l++)\r\n c.BlockUpdate(g, 0, g.length),\r\n c.BlockUpdate(h, 0, h.length),\r\n c.Update(e >> 24 & 255),\r\n c.Update(e >> 16 & 255),\r\n c.Update(e >> 8 & 255),\r\n c.Update(e & 255),\r\n c.DoFinal(b, k),\r\n k += 32,\r\n e++;\r\n 0 != a && (c.BlockUpdate(g, 0, g.length),\r\n c.BlockUpdate(h, 0, h.length),\r\n c.Update(e >> 24 & 255),\r\n c.Update(e >> 16 & 255),\r\n c.Update(e >> 8 & 255),\r\n c.Update(e & 255),\r\n c.DoFinal(d, 0));\r\n Array.Copy(d, 0, b, k, a);\r\n for (l = 0; l < b.length; l++)\r\n b[l] &= 255;\r\n return b\r\n },\r\n InitEncipher: function (a) {\r\n var b = null,\r\n c = null,\r\n c = new KJUR.crypto.ECDSA({\r\n curve: \"sm2\"\r\n }),\r\n d = c.generateKeyPairHex(),\r\n b = new BigInteger(d.ecprvhex, 16),\r\n c = ECPointFp.decodeFromHex(c.ecparams.curve, d.ecpubhex);\r\n this.p2 = a.multiply(b);\r\n this.Reset();\r\n return c\r\n },\r\n EncryptBlock: function (a) {\r\n this.sm3c3.BlockUpdate(a, 0, a.length);\r\n for (var b = this.KDF(a.length), c = 0; c < a.length; c++)\r\n a[c] ^= b[c]\r\n },\r\n InitDecipher: function (a, b) {\r\n this.p2 = b.multiply(a);\r\n this.p2.getX().toBigInteger().toRadix(16);\r\n this.p2.getY().toBigInteger().toRadix(16);\r\n this.Reset()\r\n },\r\n DecryptBlock: function (a) {\r\n for (var b = this.KDF(a.length), c = 0, d = \"\", c = 0; c < b.length; c++)\r\n d += b[c].toString(16);\r\n for (c = 0; c < a.length; c++)\r\n a[c] ^= b[c];\r\n this.sm3c3.BlockUpdate(a, 0, a.length)\r\n },\r\n Dofinal: function (a) {\r\n for (var b = this.p2.getY().toBigInteger().toRadix(16); 64 > b.length;)\r\n b = \"0\" + b;\r\n b = this.GetWords(b);\r\n this.sm3c3.BlockUpdate(b, 0, b.length);\r\n this.sm3c3.DoFinal(a, 0);\r\n this.Reset()\r\n },\r\n Encrypt: function (a, b) {\r\n var c = Array(b.length);\r\n Array.Copy(b, 0, c, 0, b.length);\r\n var d = this.InitEncipher(a);\r\n this.EncryptBlock(c);\r\n var e = Array(32);\r\n this.Dofinal(e);\r\n for (var f = d.getX().toBigInteger().toRadix(16), d = d.getY().toBigInteger().toRadix(16); 64 > f.length;)\r\n f = \"0\" + f;\r\n for (; 64 > d.length;)\r\n d = \"0\" + d;\r\n f += d;\r\n c = this.GetHex(c).toString();\r\n 0 != c.length % 2 && (c = \"0\" + c);\r\n e = this.GetHex(e).toString();\r\n d = f + c + e;\r\n this.cipherMode == SM2CipherMode.C1C3C2 && (d = f + e + c);\r\n return d\r\n },\r\n GetWords: function (a) {\r\n for (var b = [], c = a.length, d = 0; d < c; d += 2)\r\n b[b.length] = parseInt(a.substr(d, 2), 16);\r\n return b\r\n },\r\n GetHex: function (a) {\r\n for (var b = [], c = 0, d = 0; d < 2 * a.length; d += 2)\r\n b[d >>> 3] |= parseInt(a[c]) << 24 - d % 8 * 4,\r\n c++;\r\n return new CryptoJS.lib.WordArray.init(b, a.length)\r\n },\r\n Decrypt: function (a, b) {\r\n var c = b.substr(0, 64),\r\n d = b.substr(0 + c.length, 64),\r\n e = b.substr(c.length + d.length, b.length - c.length - d.length - 64),\r\n f = b.substr(b.length - 64);\r\n this.cipherMode == SM2CipherMode.C1C3C2 && (f = b.substr(c.length + d.length, 64),\r\n e = b.substr(c.length + d.length + 64));\r\n e = this.GetWords(e);\r\n c = this.CreatePoint(c, d);\r\n this.InitDecipher(a, c);\r\n this.DecryptBlock(e);\r\n c = Array(32);\r\n this.Dofinal(c);\r\n return this.GetHex(c).toString() == f ? (f = this.GetHex(e),\r\n CryptoJS.enc.Utf8.stringify(f)) : \"\"\r\n },\r\n CreatePoint: function (a, b) {\r\n var c = new KJUR.crypto.ECDSA({\r\n curve: \"sm2\"\r\n });\r\n return ECPointFp.decodeFromHex(c.ecparams.curve, \"04\" + a + b)\r\n }\r\n };\r\n\r\n /*-------------下面修改----------*/\r\n\r\n var SM2Key = function (key) {\r\n this.setKey(key);\r\n };\r\n\r\n function SM2SetKey(key) {\r\n if (key && typeof key === 'object') {\r\n this.eccX = key.eccX;\r\n this.eccY = key.eccY;\r\n } else {\r\n this.eccX = \"F1342ADB38855E1F8C37D1181378DE446E52788389F7DB3DEA022A1FC4D4D856\";\r\n this.eccY = \"66FC6DE253C822F1E52914D9E0B80C5D825759CE696CF039A8449F98017510B7\";\r\n }\r\n }\r\n\r\n /*\r\n *加密数据\r\n */\r\n function SM2Encrypt(text) {\r\n var cipherMode = SM2CipherMode.C1C3C2,\r\n cipher = new SM2Cipher(cipherMode),\r\n textData = CryptoJS.enc.Utf8.parse(text);\r\n var cipher = new SM2Cipher(cipherMode);\r\n var userKey = cipher.CreatePoint(this.eccX, this.eccY);\r\n var msgData = cipher.GetWords(textData.toString());\r\n\r\n return cipher.Encrypt(userKey, msgData);\r\n }\r\n\r\n SM2Key.prototype.setKey = SM2SetKey;\r\n SM2Key.prototype.encrypt = SM2Encrypt;\r\n\r\n //export default SM2Key;\r\n global.SM2 = {\r\n SM2CipherMode: SM2CipherMode,\r\n SM2Cipher: SM2Cipher,\r\n CryptoJS: CryptoJS\r\n }\r\n}(SM2Utils));\r\n\r\n// 公钥\r\nconst PUBLIC_KEY = \"04CE0C676A9CDA762859E2A3F4BA77D1DF3EB9B9CF935112D26D95C414A2D3959465724E3B2FDC77D06489C97EEE21501E64A0C5117B548C1F6261E6B34090D454\"\r\nfunction sm2Encrypt(data, publickey, cipherMode) {\r\n cipherMode = typeof cipherMode === 'undefined' ? 0 : cipherMode;\r\n // msg = SM2.utf8tob64(msg);\r\n var msgData = CryptoJS.enc.Utf8.parse(data);\r\n // msgData = CryptoJS.enc.Base64.stringify(msgData);\r\n\t//在转utf-8\r\n // msgData = CryptoJS.enc.Utf8.parse(msgData);\r\n\r\n var pubkeyHex = publickey || PUBLIC_KEY\r\n if (pubkeyHex.length > 64 * 2) {\r\n pubkeyHex = pubkeyHex.substr(pubkeyHex.length - 64 * 2);\r\n }\r\n var xHex = pubkeyHex.substr(0, 64);\r\n var yHex = pubkeyHex.substr(64);\r\n var cipher = new SM2Cipher(cipherMode);\r\n var userKey = cipher.CreatePoint(xHex, yHex);\r\n msgData = cipher.GetWords(msgData.toString());\r\n var encryptData = cipher.Encrypt(userKey, msgData);\r\n\r\n return '04' + encryptData;\r\n}\r\n\r\n/**\r\n * 根据公钥进行加密\r\n */\r\nSM2Utils.encs = function (key, s, cipherMode) {\r\n if (s == null || s.length == 0) {\r\n return \"\";\r\n }\r\n return sm2Encrypt(s, key, cipherMode);\r\n}\r\n\r\nexport {sm2Encrypt, SM2Utils}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('keep-alive',[_c('router-view',{attrs:{\"name\":\"navBar\"}})],1),_c('keep-alive',[(_vm.keepAlive)?_c('router-view'):_vm._e()],1),(!_vm.keepAlive)?_c('router-view'):_vm._e(),_c('LoginDialog',{attrs:{\"show\":_vm.loginDialogShow},on:{\"update:show\":function($event){_vm.loginDialogShow=$event}}}),_c('keep-alive',[_c('router-view',{attrs:{\"name\":\"footer\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5ce22c3e&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-page-header',{attrs:{\"content\":_vm.content,\"title\":_vm.title},on:{\"back\":_vm.goBack}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=17e61fb1&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17e61fb1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"breadcrumbs-container\"},[(_vm.isShowPageHeader)?_c('el-page-header',{attrs:{\"title\":\"返回\"},on:{\"back\":_vm.handleBack}}):_vm._e(),_c('el-breadcrumb',{staticClass:\"app-breadcrumb\",attrs:{\"separator\":\"|\"}},_vm._l((_vm.levelList),function(item,index){return _c('el-breadcrumb-item',{key:item.path},[(item.redirect==='noRedirect'|| index===_vm.levelList.length-1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(_vm._s(item.meta.title))]):_c('a',{staticStyle:{\"text-decoration\":\"none\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleLink(item)}}},[_vm._v(_vm._s(item.meta.title))])])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Breadcrumbs.vue?vue&type=template&id=5d807063&scoped=true&\"\nimport script from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Breadcrumbs.vue?vue&type=style&index=0&id=5d807063&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d807063\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isShowFormItem)?_c('el-form-item',_vm._b({ref:\"formItem\",scopedSlots:_vm._u([{key:\"error\",fn:function(error){return _vm._t(\"error\",null,{\"error\":error})}}],null,true)},'el-form-item',_vm.getFormItemProps,false),[_vm._t(\"label\",[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.toolTip)?_c('el-tooltip',{attrs:{\"effect\":\"dark\",\"content\":_vm.toolTip,\"placement\":\"top\"}},[_c('span',{staticClass:\"el-icon-question\",staticStyle:{\"margin-left\":\"8px\"}})]):_vm._e()],{\"slot\":\"label\"}),_c('el-date-picker',_vm._g(_vm._b({ref:\"datePicker\",class:_vm.pickerClass,style:(_vm.pickerStyle),attrs:{\"value\":_vm.value},on:{\"input\":_vm.onInput}},'el-date-picker',_vm.datePickerProps,false),_vm.$listeners)),_vm._t(\"right\")],2):_c('el-date-picker',_vm._g(_vm._b({ref:\"datePicker\",class:_vm.pickerClass,style:(_vm.pickerStyle),attrs:{\"value\":_vm.value},on:{\"input\":_vm.onInput}},'el-date-picker',_vm.datePickerProps,false),_vm.$listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\r\n * @Author: 左建\r\n * @Date: 2022/8/2 9:35\r\n * @LastEditTime: 2022/8/2 9:35\r\n * @Description: element ui form-item组件的一些配置\r\n */\r\n\r\nexport default {\r\n props: {\r\n prop: {\r\n type: String,\r\n default: ''\r\n },\r\n label: {\r\n type: String,\r\n default: ''\r\n },\r\n labelWidth: {\r\n type: String\r\n },\r\n rules: {\r\n type: Array\r\n },\r\n showMessage: {\r\n type: Boolean\r\n },\r\n // 以行内形式展示检验信息\r\n inlineMessage: {\r\n type: Boolean\r\n },\r\n toolTip: {\r\n type: String,\r\n default: ''\r\n },\r\n isShowFormItem: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n computed: {\r\n getFormItemProps () {\r\n const {\r\n prop,\r\n labelWidth,\r\n rules,\r\n showMessage,\r\n inlineMessage\r\n } = this\r\n return {\r\n prop,\r\n labelWidth,\r\n rules,\r\n showMessage,\r\n inlineMessage\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * @description 获取formItem实例对象\r\n */\r\n getFormItemInstance () {\r\n return this.$refs.formItem\r\n }\r\n }\r\n}\r\n","/**\r\n * @Author: 左建\r\n * @Date: 2022/8/1 20:42\r\n * @LastEditTime: 2022/8/1 20:42\r\n * @Description: datePicker的一些配置项\r\n*/\r\nimport { clearTime } from \"element-ui/lib/utils/date-util\"\r\nexport const DATE_FORMAT_BY_TYPE = Object.freeze({\r\n year: \"yyyy\",\r\n month: \"yyyy-MM\",\r\n date: \"yyyy-MM-dd\",\r\n week: \"yyyy-WW\",\r\n dates: \"yyyy-MM-dd\",\r\n datetime: \"yyyy-MM-dd HH:mm:ss\",\r\n datetimerange: \"yyyy-MM-dd HH:mm:ss\",\r\n daterange: \"yyyy-MM-dd\",\r\n monthrange: \"yyyy-MM\"\r\n})\r\n\r\nexport const DATE_PLACEHOLDER_BY_TYPE = Object.freeze({\r\n datetimerange: [\"开始时间\", \"结束时间\"],\r\n daterange: [\"开始日期\", \"结束日期\"],\r\n monthrange: [\"开始年月\", \"结束年月\"]\r\n})\r\n\r\nfunction getRangePickerOptions (picker, day, type = \"before\", isRange) {\r\n const end = new Date()\r\n const start = new Date()\r\n if (type === \"after\") {\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * day)\r\n picker.$emit(\"pick\", isRange ? [start, end] : start)\r\n } else {\r\n start.setTime(start.getTime() + 3600 * 1000 * 24 * day)\r\n picker.$emit(\"pick\", isRange ? [end, start] : start)\r\n }\r\n}\r\n// 获取表单时间选择pickerOptions\r\nexport function getPickerOptions (isRange, disabled) {\r\n const textMap = {\r\n before: isRange ? \"往后\" : \"后\",\r\n after: isRange ? \"最近\" : \"前\"\r\n }\r\n const getText = (text) => isRange ? textMap[disabled] + text : text + textMap[disabled]\r\n const shortCuts = [\r\n {\r\n text: \"今天\",\r\n onClick (picker) {\r\n if (isRange) {\r\n picker.$emit(\"pick\", [clearTime(new Date()), new Date()])\r\n } else {\r\n picker.$emit(\"pick\", new Date())\r\n }\r\n }\r\n },\r\n {\r\n text: isRange ? textMap[disabled] + \"一天\" : disabled === \"before\" ? \"明天\" : \"昨天\",\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 1, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: isRange ? textMap[disabled] + \"两天\" : disabled === \"before\" ? \"后天\" : \"前天\",\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 2, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"三天\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 3, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"一周\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 7, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"一个月\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 30, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"两个月\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 60, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"三个月\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 90, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"半年\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 180, disabled, isRange)\r\n }\r\n },\r\n {\r\n text: getText(\"一年\"),\r\n onClick (picker) {\r\n getRangePickerOptions(picker, 365, disabled, isRange)\r\n }\r\n }\r\n ]\r\n return {\r\n shortcuts: shortCuts,\r\n disabledDate (t) {\r\n if (disabled === \"after\") return t.getTime() > new Date().getTime()\r\n return t.getTime() < new Date().getTime() - 3600 * 24 * 1000\r\n },\r\n onPick (vm) {\r\n //\r\n }\r\n }\r\n}\r\n\r\n// 获取禁用的时间段\r\nexport function getDisabledTime (disabled) {\r\n const data = new Date()\r\n if (disabled === \"after\") {\r\n return [`00:00:00-${data.getHours()}:${data.getMinutes()}:${data.getSeconds()}`]\r\n } else {\r\n return [`${data.getHours()}:${data.getMinutes()}:${data.getSeconds()} - 23:59:59`]\r\n }\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZjDatePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZjDatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZjDatePicker.vue?vue&type=template&id=33d3d82a&\"\nimport script from \"./ZjDatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./ZjDatePicker.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=31506ff8&\"\nimport script from \"./BarChart.vue?vue&type=script&lang=js&\"\nexport * from \"./BarChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width}),on:{\"wheel\":function($event){$event.stopPropagation();}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LineChart.vue?vue&type=template&id=054103ec&\"\nimport script from \"./LineChart.vue?vue&type=script&lang=js&\"\nexport * from \"./LineChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* 更多配置请看echarts官网\r\nhttps://echarts.apache.org/zh/option.html#title */\r\nimport { COLOR_LIST } from \"../config\"\r\n\r\nconst formatter = (arg) => {\r\n if (Array.isArray(arg.data)) return `${arg.data[0]}: ${arg.data[1]}(${arg.percent}%)`\r\n if (Object.isObj(arg.data)) return `${arg.data.product || arg.data[arg.dimensionNames[0]]}: ${arg.data[arg.dimensionNames[1]]}(${arg.percent}%)`\r\n}\r\n\r\nexport function defaultSeriesSettings (radius = [10, 95], center = [\"52%\", \"45%\"], roseType, duration = 850) {\r\n return {\r\n type: \"pie\",\r\n radius, /* 参数1 为内圈半径,参数2 为外圈半径 */\r\n center, // 调整饼图位置\r\n roseType, /* radius 南丁格尔玫瑰图 area 圆心角相同半径展示大小 */\r\n animationEasing: \"cubicInOut\",\r\n animationDurationUpdate: duration,\r\n itemStyle: {\r\n emphasis: {\r\n shadowBlur: 10,\r\n shadowOffsetX: 0,\r\n shadowColor: \"rgba(0, 0, 0, 0.5)\"\r\n }\r\n },\r\n label: {\r\n formatter: formatter\r\n }\r\n }\r\n}\r\n// 默认配置\r\nexport default function defaultSettings () {\r\n return {\r\n color: COLOR_LIST,\r\n legend: {\r\n orient: \"horizontal\", /* vertical */\r\n left: \"center\",\r\n bottom: 20,\r\n icon: \"roundRect\",\r\n padding: 5\r\n // icon: 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none',\r\n },\r\n title: {\r\n text: \"pieChart\",\r\n left: \"center\",\r\n top: \"10px\",\r\n textStyle: {\r\n fontSize: 18,\r\n color: \"#000\",\r\n fontWeight: 600\r\n }\r\n },\r\n tooltip: {\r\n trigger: \"item\",\r\n // formatter: '{a}
{b} : {c} ({d}%)',\r\n formatter: formatter,\r\n backgroundColor: \"rgba(0,0,0, .4)\",\r\n textStyle: {\r\n color: \"#fff\"\r\n }\r\n },\r\n series: [defaultSeriesSettings()]\r\n }\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PieChart.vue?vue&type=template&id=1104509d&\"\nimport script from \"./PieChart.vue?vue&type=script&lang=js&\"\nexport * from \"./PieChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"el-progress\",class:[\r\n 'el-progress--' + _vm.type,\r\n _vm.status ? 'is-' + _vm.status : '',\r\n {\r\n 'el-progress--without-text': !_vm.showText,\r\n 'el-progress--text-inside': _vm.textInside,\r\n }\r\n ],attrs:{\"role\":\"progressbar\",\"aria-valuenow\":_vm.percentage,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}},[(_vm.type === 'line')?_c('div',{staticClass:\"el-progress-bar\"},[_c('div',{staticClass:\"el-progress-bar__outer\",style:({ height: _vm.strokeWidth + 'px', backgroundColor:_vm.defineBackColor, borderRadius: _vm.borderRadius })},[_c('div',{staticClass:\"el-progress-bar__inner\",style:(_vm.barStyle)},[(_vm.showText && _vm.textInside)?_c('div',{staticClass:\"el-progress-bar__innerText\",style:({color:_vm.textColor, fontSize: '14px'})},[_vm._v(_vm._s(_vm.content))]):_vm._e()]),(_vm.defineText)?_c('div',{style:({ color:_vm.textColor, textAlign: 'right', float: 'right', lineHeight: this.strokeWidth + 'px', paddingRight: '20px', fontSize: '14px' })}):_vm._e()])]):_c('div',{staticClass:\"el-progress-circle\",style:({height: _vm.width + 'px', width: _vm.width + 'px'})},[_c('svg',{attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('path',{staticClass:\"el-progress-circle__track\",style:(_vm.trailPathStyle),attrs:{\"d\":_vm.trackPath,\"stroke\":_vm.defineBackColor,\"stroke-width\":_vm.relativeStrokeWidth,\"fill\":\"none\"}}),_c('path',{staticClass:\"el-progress-circle__path\",style:(_vm.circlePathStyle),attrs:{\"d\":_vm.trackPath,\"stroke\":_vm.stroke,\"fill\":\"none\",\"stroke-linecap\":_vm.strokeLinecap,\"stroke-width\":_vm.percentage ? _vm.relativeStrokeWidth : 0}})])]),(_vm.showText && !_vm.textInside)?_c('div',{staticClass:\"el-progress__text\",style:({fontSize: _vm.progressTextSize + 'px', color:_vm.textColor})},[(!_vm.status)?[_vm._v(_vm._s(_vm.content))]:_c('i',{class:_vm.iconClass})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZjProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZjProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZjProgress.vue?vue&type=template&id=89e2eeb4&\"\nimport script from \"./ZjProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./ZjProgress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\r\n * @Author: 左建\r\n * @Date: 2022/6/30 10:24\r\n * @LastEditTime: 2022/6/30 10:24\r\n * @Description: 声明全卷组件\r\n*/\r\n\r\nimport GoBack from \"./GoBack\";\r\nimport Breadcrumbs from \"./Breadcrumbs/Breadcrumbs\";\r\nimport ZjDatePicker from \"./Form/ZjDatePicker/ZjDatePicker\";\r\nimport BarChart from \"@/components/Charts/BarChart/BarChart\";\r\nimport LineChart from \"@/components/Charts/LineChart/LineChart\";\r\nimport PieChart from \"@/components/Charts/PieChart/PieChart\";\r\nimport ZjProgress from \"@/components/ZjProgress/ZjProgress\";\r\nexport default {\r\n GoBack,\r\n Breadcrumbs,\r\n ZjDatePicker,\r\n BarChart,\r\n LineChart,\r\n PieChart,\r\n ZjProgress\r\n}\r\n","/**\r\n * @Author: 左建\r\n * @Date: 2022/6/30 10:22\r\n * @LastEditTime: 2022/6/30 10:22\r\n * @Description: vue 插件注册\r\n*/\r\n// 全局组件导入\r\nimport globalCpns from \"@/components/zj-global-cpns\"\r\n\r\nfunction install (Vue) {\r\n // 注册全局组件\r\n Object.keys(globalCpns).forEach(item => {\r\n Vue.component(item, globalCpns[item])\r\n })\r\n}\r\n\r\nexport default install\r\n","/**\r\n * 处理系统返回按钮事件,以免按下返回键直接退出app\r\n */\r\nexport function handleSysBack() {\r\n document.addEventListener(\"plusready\", () => {\r\n plus.key.addEventListener(\"backbutton\", () => {\r\n let a = JSON.parse(window.localStorage.getItem(\"IS_COMPOENT\"))\r\n if (a) {\r\n window.localStorage.setItem(\"IS_BREAK\", true)\r\n } else if (location.hash === \"#/\") {\r\n console.log(\"quit\")\r\n plus.runtime.quit();\r\n } else {\r\n history.back();\r\n }\r\n });\r\n })\r\n}\r\n","import \"@/utils/expand\"\r\nimport Vue from \"vue\"\r\nimport App from \"./App.vue\"\r\nimport plugin from \"@/plugins\"\r\n// 先导入store再导入router,因为router依赖store\r\nimport store from \"./store\"\r\nimport router from \"./router\"\r\nimport VeLine from \"v-charts/lib/line.common\"\r\nimport VeRadar from \"v-charts/lib/radar.common\"\r\nimport VePie from \"v-charts/lib/pie.common\"\r\nimport VeGauge from \"v-charts/lib/gauge.common\"\r\nimport VeBar from \"v-charts/lib/bar.common\"\r\nimport Pagination from \"@/components/Pagination\";\r\nimport LoginDiolog from \"@/components/loginDiolog\";\r\nimport { install } from \"vs-tree\"\r\nimport ElementUI, { Message } from \"element-ui\"\r\nimport \"vs-tree/dist/vs-tree.css\"\r\nimport \"default-passive-events\"\r\nimport md5 from \"js-md5\";\r\n// 加载 Vant 核心组件库\r\nimport VueCoreVideoPlayer from \"vue-core-video-player\"\r\n\r\n// 加载 element 全局样式\r\n// import \"vant/lib/index.css\"\r\nimport \"./styles/theme/index.css\"\r\n\r\n// 加载全局样式\r\nimport \"./styles/index.less\"\r\n// import \"./styles/common.css\"\r\n// 加载动态设置 REM 基准值\r\n// import \"amfe-flexible\"\r\nimport \"@/utils/flexible\"\r\n\r\n// 加载 dayjs 初始化配置\r\nimport \"./utils/dayjs\"\r\n\r\nimport { handleSysBack, hook } from \"./utils/nav\";\r\nimport tool from \"./utils/tool\";\r\nimport Router from \"vue-router\";\r\n\r\nconst eventbus = new Vue();\r\n// 注册使用 Vant 组件库\r\nVue.use(VueCoreVideoPlayer, {\r\n lang: \"zh-CN\"\r\n})\r\nVue.use(ElementUI);\r\nVue.use(install);\r\nVue.use(tool);\r\nVue.use(Router);\r\nVue.prototype.$md5 = md5;\r\nVue.prototype.$bus = eventbus;\r\nwindow.$bus = eventbus;\r\n[VeLine, VeRadar, VePie, VeGauge, VeBar, Pagination, LoginDiolog].forEach(comp => {\r\n Vue.component(comp.name, comp)\r\n})\r\nVue.filter(\"filterGroup\", (text, orgName) => {\r\n if (String(orgName) === \"朗润数据\" || String(text) === \"App注册\" || String(text) === \"app注册\" || !text) return \"无\"\r\n return text || \"\"\r\n})\r\n\r\nVue.config.productionTip = false\r\nhandleSysBack()\r\n// hook()\r\nVue.use(plugin)\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount(\"#app\")\r\n","import { COLOR_LIST } from \"../config\"\r\n\r\nfunction getLabelOptions () {\r\n return {\r\n show: true,\r\n position: \"top\",\r\n distance: 10,\r\n align: \"center\",\r\n verticalAlign: \"middle\",\r\n rotate: 0,\r\n // formatter: (arg) => {\r\n // console.log(arg, \"arg\")\r\n // },\r\n fontSize: 14,\r\n color: \"#333\",\r\n // rich: {\r\n // name: {}\r\n // }\r\n }\r\n}\r\n\r\nexport function defaultSeriesSettings () {\r\n return {\r\n type: \"bar\",\r\n barGap: 0,\r\n label: getLabelOptions(),\r\n seriesLayoutBy: \"column\",\r\n emphasis: {\r\n focus: \"series\"\r\n },\r\n barWidth: '35px'\r\n }\r\n}\r\n\r\nexport default function defaultSettings () {\r\n return {\r\n color: COLOR_LIST,\r\n grid: {\r\n bottom: \"40\"\r\n },\r\n title: {\r\n text: \"BarChart\",\r\n left: \"center\",\r\n top: \"0\",\r\n textStyle: {\r\n fontSize: 18,\r\n color: \"#333\",\r\n fontWeight: 600\r\n }\r\n },\r\n tooltip: {\r\n trigger: \"axis\",\r\n backgroundColor: \"rgba(0,0,0, .4)\",\r\n textStyle: {\r\n color: \"#fff\"\r\n },\r\n axisPointer: {\r\n type: \"shadow\"\r\n }\r\n },\r\n dataZoom: [\r\n {\r\n xAxisIndex: 0, // 这里是从X轴的0刻度开始\r\n show: true, // 是否显示滑动条,不影响使用\r\n type: \"slider\", // 这个 dataZoom 组件是 slider 型 dataZoom 组件\r\n startValue: 0, // 从头开始。\r\n endValue: 7, // 一次性展示6个\r\n height: 8, // 组件高度\r\n bottom: 0,\r\n zoomLock: true,\r\n showDataShadow: false, // 是否显示数据阴影 默认auto\r\n showDetail: false, // 即拖拽时候是否显示详细数值信息 默认true\r\n realtime: true, // 是否实时更新\r\n filterMode: \"filter\",\r\n moveOnMouseMove: true,\r\n maxValueSpan: 7,\r\n minValueSpan: 7,\r\n moveHandleSize: 0,\r\n brushSelect: false, // 刷选功能,设为false可以防止拖动条长度改变 ************(这是一个坑)\r\n },\r\n ],\r\n legend: {\r\n orient: \"horizontal\", /* vertical */\r\n left: \"center\",\r\n top: 10,\r\n icon: \"roundRect\",\r\n padding: 10,\r\n textStyle: {\r\n fontSize: 14\r\n }\r\n },\r\n xAxis: [\r\n {\r\n type: \"category\",\r\n axisTick: { show: false },\r\n axisLabel: {\r\n fontSize: 14\r\n }\r\n }\r\n ],\r\n yAxis: [\r\n {\r\n type: \"value\",\r\n axisLabel: {\r\n fontSize: 14\r\n }\r\n }\r\n ],\r\n series: [\r\n defaultSeriesSettings()\r\n ]\r\n }\r\n}\r\n","/**\r\n * 考试作业\r\n */\r\nimport request from \"@/utils/request\";\r\nimport { objCoverFormData, postForm } from \"@/utils/form\";\r\n\r\n/*\r\n根据关键字获取机构信息\r\n*/\r\nexport const GetOrganInfoByKeyword = (params) => {\r\n return request({\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json;charset=UTF-8\" },\r\n url: \"/Api/Organ/GetOrganInfoByKeyword\",\r\n data: JSON.stringify(params)\r\n });\r\n};\r\n\r\n/*\r\n根据关键字获取机构用户组信息\r\n*/\r\nexport const GetOrganLevelInfo = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/Medical/GetOrganAllType\",\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n data: objCoverFormData(params)\r\n });\r\n};\r\n\r\n// 获取机构管理员\r\nexport const GetOrganManage = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/GetOrganManage\",\r\n data: params\r\n });\r\n};\r\n\r\n// 保存机构管理员\r\nexport async function SaveManager(params) {\r\n const { pwd, ...otherProps } = params || Object.create(null)\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/SaveManager\",\r\n data: otherProps\r\n });\r\n}\r\n\r\n// 删除管理员信息\r\nexport async function DeleteManager(params) {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/Organ/DeleteManager\",\r\n data: objCoverFormData(params)\r\n });\r\n}\r\n\r\n// 获取机构用户\r\nexport const GetOrganUser = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/GetOrganUser\",\r\n data: params\r\n });\r\n};\r\n\r\n// 获取机构审核用户\r\nexport const GetOrganApplyUser = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/GetOrganApplyUser\",\r\n data: params\r\n });\r\n};\r\n\r\n// 审核用户申请-通过\r\nexport function AuditUserApplyPass(params) {\r\n return postForm(\"/Website/User/AuditUserApplyPass\", params);\r\n}\r\n\r\n// 审核用户申请-驳回\r\nexport function AuditUserApplyReject(params) {\r\n return postForm(\"/Website/User/AuditUserApplyReject\", params);\r\n}\r\n\r\n// 新增机构用户\r\nexport const AddOrganUser = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/AddOrganUser\",\r\n data: params\r\n });\r\n};\r\n\r\n// 编辑机构用户\r\nexport const EditOrganUser = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/EditOrganUser\",\r\n data: params\r\n });\r\n};\r\n\r\n// 删除前台用户\r\nexport async function DeleteOrganUser(params) {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/DeleteUser\",\r\n data: objCoverFormData(params)\r\n });\r\n}\r\n\r\n// 重置密码\r\nexport const ResetPassword = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/ResetPassword\",\r\n data: objCoverFormData(params)\r\n });\r\n};\r\n\r\n// 修改密码(管理员)\r\nexport const ResetManagePassword = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/ResetManagePassword\",\r\n params\r\n });\r\n};\r\n\r\n// 新增机构教师\r\nexport function addOrgTeacher (params) {\r\n const { pwd, ...otherProps } = params || Object.create(null)\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/SaveTeacher\",\r\n data: otherProps\r\n });\r\n}\r\n","/*\r\n 对js部分原型对象进行扩展,添加一些实用方法,重写了一些方法\r\n update: 2021-06-06\r\n*/\r\n/**\r\n * @returns {number}\r\n * 计算两个时间相差多少天\r\n */\r\n\r\n// 将日期字符串格式化为年月日时分秒\r\nDate.parseString = function (str = \"\") {\r\n const value = str.replace(\" \", \":\").replace(/:/g, \"-\").split(\"-\")\r\n value[1] = parseInt(value[1]) - 1\r\n return new Date(...value)\r\n}\r\n/**\r\n * @returns {string}\r\n * 首字母大写 capitalize\r\n */\r\n// eslint-disable-next-line no-extend-native\r\nString.prototype.title = function () {\r\n return this.charAt(0).toUpperCase() + this.slice(1)\r\n}\r\n\r\n/** @param {any} obj\r\n * @returns {Boolean}\r\n * 是否为对象\r\n */\r\nObject.isObj = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Object]\"\r\n}\r\n\r\n/** @param { Object } obj\r\n * @returns {Boolean}\r\n * 是否为空对象 只要对象中一个属性不为空,那么该对象就不为空\r\n */\r\nObject.isEmptyObj = function (obj) {\r\n if (obj == null) return true\r\n const keys = Object.keys(obj)\r\n if (keys.length) {\r\n let flag = true\r\n for (const item of keys) {\r\n if (obj[item]) {\r\n flag = false\r\n break\r\n }\r\n }\r\n return flag\r\n } else {\r\n return true\r\n }\r\n}\r\n\r\n/** 深度克隆一个对象\r\n * @returns {Object}\r\n * @param {Object} obj\r\n * @param {Array} excludeProps 排除需要克隆的对象\r\n */\r\nObject.deepClone = function (obj, excludeProps = []) {\r\n // 对常见的“非”值,直接返回原来值\r\n if ([null, undefined, NaN, false].includes(obj)) return obj\r\n if (typeof obj !== \"object\" && typeof obj !== \"function\") {\r\n // 原始类型直接返回\r\n return obj\r\n }\r\n const o = Array.isArray(obj) ? [] : {}\r\n for (const i in obj) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (excludeProps.includes(i)) {\r\n o[i] = obj[i]\r\n } else {\r\n o[i] = typeof obj[i] === \"object\" ? Object.deepClone(obj[i], excludeProps) : obj[i]\r\n }\r\n }\r\n return o\r\n}\r\n/** 深度合并多个对象\r\n * @param {Object} target\r\n * @param {Object} source\r\n * @returns {Object}\r\n */\r\nObject.deepAssign = function (target = {}, source = {}) {\r\n return Object.deepClone(Object.assign(...arguments))\r\n}\r\n\r\n/** 深度合并两个对象\r\n * @param {Object} target\r\n * @param {Object} source\r\n * @param {Boolean} isDeep\r\n * @returns {Object}\r\n */\r\nObject.merge = function (target = {}, source = {}, isDeep) {\r\n if (isDeep) {\r\n target = Object.deepClone(target)\r\n }\r\n if (typeof target !== \"object\" || typeof source !== \"object\") return false\r\n for (var prop in source) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (!source.hasOwnProperty(prop)) continue\r\n if (prop in target) {\r\n if (typeof target[prop] !== \"object\") {\r\n target[prop] = source[prop]\r\n } else {\r\n if (typeof source[prop] !== \"object\") {\r\n target[prop] = source[prop]\r\n } else {\r\n if (target[prop].concat && source[prop].concat) {\r\n // for (let i = 0; i < source[prop].length; i++) {\r\n // if (Object.isObj(source[prop][i])) {\r\n // target[prop][i] = Object.deepMerge(source[prop][i], target[prop][i])\r\n // } else {\r\n // target[prop][i] = source[prop][i]\r\n // }\r\n // }\r\n target[prop] = source[prop]\r\n } else {\r\n target[prop] = Object.merge(target[prop], source[prop])\r\n }\r\n }\r\n }\r\n } else {\r\n target[prop] = source[prop]\r\n }\r\n }\r\n return target\r\n}\r\n\r\n/**\r\n * 判断是否为空\r\n */\r\nObject.isEmpty = function (value) {\r\n switch (typeof value) {\r\n case \"undefined\":\r\n return true\r\n case \"string\":\r\n // eslint-disable-next-line eqeqeq\r\n if (value.replace(/(^[ \\t\\n\\r]*)|([ \\t\\n\\r]*$)/g, \"\").length == 0) return true\r\n break\r\n case \"boolean\":\r\n if (!value) return true\r\n break\r\n case \"number\":\r\n if (value === 0 || isNaN(value)) return true\r\n break\r\n case \"object\":\r\n if (value === null || value.length === 0) return true\r\n for (var i in value) {\r\n return false\r\n }\r\n return true\r\n }\r\n return false\r\n}\r\n/** 缓动函数\r\n * @returns {Number}\r\n * @param {Number} t 当前时间\r\n * @param {Object} b 开始未知\r\n * @param {Object} c 变化值\r\n * @param {Object} d 持续时间\r\n */\r\nMath.easeInOutQuad = function (t, b, c, d) {\r\n t /= d / 2\r\n if (t < 1) {\r\n return c / 2 * t * t + b\r\n }\r\n t--\r\n return -c / 2 * (t * (t - 2) - 1) + b\r\n}\r\n","\r\nimport resize from \"./resize\"\r\nexport default {\r\n mixins: [resize],\r\n mounted () {\r\n this.handlerResize(() => {\r\n if (Object.isObj(this.chart)) {\r\n this.chart.resize()\r\n }\r\n })\r\n }\r\n}\r\n","export default {\r\n props: {\r\n className: {\r\n type: String,\r\n default: \"chart\"\r\n },\r\n width: {\r\n type: String,\r\n default: \"100%\"\r\n },\r\n height: {\r\n type: String,\r\n default: \"350px\"\r\n },\r\n options: {\r\n type: Object,\r\n default () {\r\n return {}\r\n }\r\n },\r\n chartData: {\r\n type: Array,\r\n required: true,\r\n default () {\r\n return []\r\n }\r\n },\r\n dimensions: {\r\n type: [Object, Array]\r\n }\r\n },\r\n data () {\r\n return {\r\n chart: null\r\n }\r\n },\r\n beforeDestroy () {\r\n if (this.chart) {\r\n this.chart.dispose()\r\n this.chart = null\r\n }\r\n },\r\n methods: {\r\n initChart (defaultSettings) {\r\n this.chart.setOption({\r\n dataset: {\r\n dimensions: this.dimensions,\r\n source: this.chartData\r\n },\r\n ...Object.merge(defaultSettings, this.options)\r\n })\r\n },\r\n getDataURL (option = {}) {\r\n option = Object.assign({}, {\r\n type: \"png\",\r\n pixelRatio: 1\r\n // excludeComponents: [] 忽略的组件\r\n }, option)\r\n return this.chart.getDataURL(option)\r\n }\r\n }\r\n}\r\n","// 响应式\r\nimport chartResize from \"./mixins/chartResize\"\r\n// echarts 部分配置mixin\r\nimport echartCommon from \"./mixins/echart\"\r\n// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。\r\nimport * as echarts from \"echarts/core\"\r\n\r\nrequire(\"echarts/theme/macarons\")\r\nexport { chartResize, echarts, echartCommon }\r\nconst colors = [\"#5470c6\", \"#91cc75\", \"#fac858\", \"#ee6666\", \"#73c0de\", \"#3ba272\", \"#fc8452\", \"#9a60b4\", \"#ea7ccc\"]\r\n\r\nexport const COLOR_LIST = colors\r\n","import { echarts, COLOR_LIST } from \"../config\"\r\n\r\nexport function defaultSeriesSettings () {\r\n return {\r\n type: \"line\",\r\n seriesLayoutBy: \"column\", // row\r\n symbolSize: 8,\r\n // markLine: {\r\n // data: [{\r\n // type: \"average\",\r\n // name: \"平均值\"\r\n // }]\r\n // },\r\n areaStyle: {\r\n color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\r\n offset: 0,\r\n color: \"rgba(58,77,233,0.8)\"\r\n }, {\r\n offset: 1,\r\n color: \"rgba(58,77,233,0.3)\"\r\n }])\r\n }\r\n }\r\n}\r\n\r\nexport default function defaultSettings () {\r\n return {\r\n color: COLOR_LIST,\r\n title: {\r\n text: \"标题\",\r\n left: \"center\",\r\n top: \"0\",\r\n textStyle: {\r\n fontSize: 18,\r\n color: \"#333\",\r\n fontWeight: 600\r\n }\r\n },\r\n tooltip: {\r\n trigger: \"axis\",\r\n backgroundColor: \"rgba(0,0,0, .4)\",\r\n textStyle: {\r\n color: \"#fff\"\r\n }\r\n },\r\n legend: {\r\n orient: \"horizontal\", /* vertical */\r\n left: \"center\",\r\n top: 20,\r\n icon: \"pin\",\r\n padding: 10\r\n // icon: 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none',\r\n },\r\n grid: {\r\n left: \"3%\",\r\n right: \"4%\",\r\n bottom: \"3%\",\r\n containLabel: true\r\n },\r\n toolbox: {\r\n // feature: {\r\n // saveAsImage: {}\r\n // }\r\n },\r\n xAxis: {\r\n type: \"category\",\r\n boundaryGap: false,\r\n gridIndex: 0\r\n },\r\n yAxis: {\r\n gridIndex: 0,\r\n type: \"value\"\r\n },\r\n series: [\r\n // 这几个系列会在第一个直角坐标系中,每个系列对应到 dataset 的每一行。\r\n defaultSeriesSettings()\r\n ]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loginCotain\"},[_c('el-dialog',{attrs:{\"visible\":_vm.show,\"showClose\":false,\"close-on-click-modal\":false,\"close-on-press-escape\":false},on:{\"update:visible\":function($event){_vm.show=$event}}},[(_vm.currentFunction === 'login')?_c('div',{staticClass:\"Content\"},[_c('i',{staticClass:\"el-icon-circle-close icon font-size36 c-fff\",on:{\"click\":_vm.closeDiolog}}),_c('div',{staticClass:\"loginText jf\"},[_c('div',{staticClass:\"images\"}),_c('div',{staticClass:\"form\"},[_c('div',{staticClass:\"navTit xy-between\"},[(_vm.$store.getters.availablePlatform([_vm.HOME_PAGE_MAP.yixue.hostKey, _vm.HOME_PAGE_MAP.jigou.hostKey, _vm.HOME_PAGE_MAP.default.hostKey]))?_c('div',{staticClass:\"font-size16 tab yx-between cursor\",on:{\"click\":_vm.personLogin}},[_c('div',[_vm._v(\"个人账号\")]),(_vm.currentStatus === 'person')?_c('div',{staticClass:\"line\"}):_vm._e()]):_vm._e(),_c('div',{staticClass:\"font-size16 tab yx-between perLogin cursor\",on:{\"click\":_vm.schoolAccount}},[_c('div',[_vm._v(\"机构学员\")]),(_vm.currentStatus === 'school')?_c('div',{staticClass:\"line\"}):_vm._e()]),_c('div',{staticClass:\"font-size16 tab yx-between perLogin cursor\",on:{\"click\":_vm.manageLogin}},[_c('div',[_vm._v(\"机构管理员\")]),(_vm.currentStatus === 'manage')?_c('div',{staticClass:\"line\"}):_vm._e()])]),_c('div',[(_vm.currentStatus === 'school')?_c('div',{staticClass:\"formMaps schoolLogin\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入机构账号\",\"prefix-icon\":\"el-icon-user\"},model:{value:(_vm.account),callback:function ($$v) {_vm.account=$$v},expression:\"account\"}}),_c('form',[_c('el-input',{attrs:{\"type\":\"passWord\",\"placeholder\":\"请输入密码\",\"prefix-icon\":\"el-icon-lock\"},model:{value:(_vm.passWord),callback:function ($$v) {_vm.passWord=$$v},expression:\"passWord\"}})],1),_c('el-select',{staticClass:\"selectSchool\",attrs:{\"slot\":\"prepend\",\"filterable\":\"\",\"remote\":\"\",\"clearable\":\"\",\"reserve-keyword\":\"\",\"remote-method\":_vm.GetOrganInfo,\"placeholder\":\"请输入关键字检索机构...\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.schoolLoginBtn()}},slot:\"prepend\",model:{value:(_vm.selectSchool),callback:function ($$v) {_vm.selectSchool=$$v},expression:\"selectSchool\"}},_vm._l((_vm.schoolList),function(item,i){return _c('el-option',{key:i,attrs:{\"label\":item.Name,\"value\":item.ID}})}),1),_c('div',{staticClass:\"forgetPassWord xy-between\"},[_c('div',{staticClass:\"cursor\",on:{\"click\":_vm.loginByPhone}},[_vm._v(\" 验证码登录 \")]),_c('div',{staticClass:\"cursor\",on:{\"click\":_vm.forGetPassWord}},[_vm._v(\" 忘记密码? \")])]),_c('div',{staticClass:\"AgreementBox\"}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loginbtn xy-center cursor\",on:{\"click\":_vm.schoolLoginBtn}},[_vm._v(\" 登录 \")]),_c('div',{staticClass:\"registered cursor\",on:{\"click\":_vm.personGoregeter}},[_vm._v(\" 立即注册 \")])],1):(_vm.currentStatus === 'person')?_c('div',{staticClass:\"formMaps personLogin\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入个人账号\",\"prefix-icon\":\"el-icon-user\"},model:{value:(_vm.personAccount),callback:function ($$v) {_vm.personAccount=$$v},expression:\"personAccount\"}}),_c('el-input',{staticClass:\"personLofinPass\",attrs:{\"placeholder\":\"请输入密码\",\"prefix-icon\":\"el-icon-lock\",\"show-password\":\"\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.personLoginBtn()}},model:{value:(_vm.personPassWord),callback:function ($$v) {_vm.personPassWord=$$v},expression:\"personPassWord\"}}),_c('div',{staticClass:\"forgetPassWord xy-between\"},[_c('div',{staticClass:\"cursor\",on:{\"click\":_vm.loginByPhone}},[_vm._v(\" 验证码登录 \")]),_c('div',{staticClass:\"cursor\",on:{\"click\":_vm.forGetPassWord}},[_vm._v(\" 忘记密码? \")])]),_c('div',{staticClass:\"AgreementBox\"}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loginbtn xy-center cursor\",on:{\"click\":_vm.personLoginBtn}},[_vm._v(\" 登录 \")]),_c('div',{staticClass:\"registered cursor\",on:{\"click\":_vm.personGoregeter}},[_vm._v(\" 立即注册 \")])],1):(_vm.currentStatus === 'manage')?_c('div',{staticClass:\"formMaps personLogin\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入管理员账号\",\"prefix-icon\":\"el-icon-user\"},model:{value:(_vm.manageAccount),callback:function ($$v) {_vm.manageAccount=$$v},expression:\"manageAccount\"}}),_c('el-input',{staticClass:\"personLofinPass\",attrs:{\"placeholder\":\"请输入密码\",\"prefix-icon\":\"el-icon-lock\",\"show-password\":\"\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.manageLoginBtn()}},model:{value:(_vm.managePwd),callback:function ($$v) {_vm.managePwd=$$v},expression:\"managePwd\"}}),_c('div',{staticClass:\"forgetPassWord xy-between \"},[_c('div',{staticClass:\"cursor\",on:{\"click\":_vm.loginByPhone}},[_vm._v(\" 验证码登录 \")]),_c('div',{staticClass:\"cursor\",on:{\"click\":_vm.forGetPassWord}},[_vm._v(\" 忘记密码? \")])]),_c('div',{staticClass:\"AgreementBox\"}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loginbtn xy-center cursor\",on:{\"click\":_vm.manageLoginBtn}},[_vm._v(\" 登录 \")])],1):_vm._e()])])])]):(_vm.currentFunction === 'regeter')?_c('div',{staticClass:\"Content \"},[_c('i',{staticClass:\"el-icon-circle-close icon font-size36 c-fff\",on:{\"click\":_vm.closeDiolog}}),_c('div',{staticClass:\"registerText \"},[_c('div',{staticClass:\"titText xy-center\"},[_c('div',{staticClass:\"back c-2C2F35 jf font-size14 cursor\",on:{\"click\":function($event){return _vm.regeteBack('regter')}}},[_c('i',{staticClass:\"el-icon-arrow-left\"}),_vm._v(\" 返回 \")]),_c('div',{staticClass:\"c-2C2F35 font-size16\"},[_vm._v(\"注册\")])]),_c('div',{staticClass:\"forms xy-center\"},[_c('ul',{staticClass:\"contain \"},[_c('li',{staticClass:\"jf containItem\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" 用户名 \")]),_c('div',{staticClass:\"rightInput\"},[_c('el-input',{attrs:{\"placeholder\":\"请使用手机号为用户名\"},model:{value:(_vm.regeterUserName),callback:function ($$v) {_vm.regeterUserName=$$v},expression:\"regeterUserName\"}})],1)]),_c('li',{staticClass:\"jf containItem\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" 真实姓名 \")]),_c('div',{staticClass:\"rightInput\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入真实姓名\"},model:{value:(_vm.realName),callback:function ($$v) {_vm.realName=$$v},expression:\"realName\"}})],1)]),_c('li',{staticClass:\"jf containItem\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" 电话号码 \")]),_c('div',{staticClass:\"rightInput\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入电话号码\"},model:{value:(_vm.phone),callback:function ($$v) {_vm.phone=$$v},expression:\"phone\"}})],1)]),_c('li',{staticClass:\"jf containItem\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" 验证码 \")]),_c('div',{staticClass:\"rightInput jf\"},[_c('el-input',{attrs:{\"placeholder\":\"验证码\"},model:{value:(_vm.yzm),callback:function ($$v) {_vm.yzm=$$v},expression:\"yzm\"}}),_c('div',[(!_vm.isShowCountdown)?_c('div',{staticClass:\"yzmBtn xy-center\",on:{\"click\":_vm.sendValiteCode}},[_vm._v(\" 获取验证码 \")]):_c('div',{staticClass:\"jsq xy-center\"},[_vm._v(\" \"+_vm._s(_vm.countdown)+\"秒后重发 \")])])],1)]),_c('li',{staticClass:\"jf containItem\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" 密码 \")]),_c('div',{staticClass:\"rightInput\"},[_c('el-input',{attrs:{\"placeholder\":\"请输入密码\",\"show-password\":\"\"},model:{value:(_vm.regesterPassword),callback:function ($$v) {_vm.regesterPassword=$$v},expression:\"regesterPassword\"}})],1)]),_c('li',{staticClass:\"jf containItem\"},[_c('div',{staticClass:\"label\"},[_vm._v(\" 确认密码 \")]),_c('div',{staticClass:\"rightInput\"},[_c('el-input',{attrs:{\"placeholder\":\"请再次输入密码\",\"show-password\":\"\"},model:{value:(_vm.regesterPasswordTwo),callback:function ($$v) {_vm.regesterPasswordTwo=$$v},expression:\"regesterPasswordTwo\"}})],1)]),_c('li',{staticClass:\"containItem jf \"},[_c('div',{staticClass:\"label\"}),_c('div',{staticClass:\"rightInput\"},[_c('el-checkbox',{model:{value:(_vm.isReadAgreent),callback:function ($$v) {_vm.isReadAgreent=$$v},expression:\"isReadAgreent\"}}),_vm._v(\" 已阅读\"),_c('span',{staticClass:\"c-0C95FD\",on:{\"click\":_vm.gotoUserAgreement}},[_vm._v(\"《用户协议》\")]),_vm._v(\"及 \"),_c('span',{staticClass:\"c-0C95FD\",on:{\"click\":_vm.goToPrivacyAgreement}},[_vm._v(\"《隐私协议》\")])],1)]),_c('li',{staticClass:\"containItem xy-center \"},[_c('div',{staticClass:\"label\"}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"rightInput regeterBtn font-size16 xy-center\",on:{\"click\":_vm.regeterUser}},[_vm._v(\" 注册 \")])])])])])]):_vm._e(),(_vm.currentFunction === 'editorPass')?_c('div',{staticClass:\"Content editorForm\"},[_c('i',{staticClass:\"el-icon-circle-close icon font-size36 c-fff\",on:{\"click\":_vm.closeDiolog}}),_c('div',{staticClass:\"loginText jf\"},[_c('div',{staticClass:\"images\"}),_c('div',{staticClass:\"form\"},[_c('div',{staticClass:\"navTit xy-center\"},[_c('div',{staticClass:\"backIcon cursor\",on:{\"click\":function($event){return _vm.regeteBack('editor')}}},[_c('i',{staticClass:\"el-icon-arrow-left\"}),_vm._v(\" 返回 \")]),_c('div',{staticClass:\"font-size16 \"},[_vm._v(\"修改密码\")])]),_c('div',[_c('div',{staticClass:\"formMaps \"},[_c('el-input',{attrs:{\"placeholder\":\"请输入手机号\"},model:{value:(_vm.editorPhone),callback:function ($$v) {_vm.editorPhone=$$v},expression:\"editorPhone\"}}),_c('div',{staticClass:\"yzmInput \"},[_c('el-input',{attrs:{\"placeholder\":\"请输入验证码\"},model:{value:(_vm.editorYzm),callback:function ($$v) {_vm.editorYzm=$$v},expression:\"editorYzm\"}}),_c('div',{staticClass:\" cursor\"},[(!_vm.editorIsSendCode)?_c('div',{staticClass:\"yzmBtn xy-center\",on:{\"click\":_vm.editorGetCode}},[_vm._v(\" 获取验证码 \")]):_c('div',{staticClass:\"cutDown xy-center\"},[_vm._v(\" \"+_vm._s(_vm.editorCuttDownTime)+\"秒后重发 \")])])],1),_c('form',[_c('el-input',{attrs:{\"placeholder\":\"请输入新密码\",\"show-password\":\"\"},model:{value:(_vm.editorNewPassWordOne),callback:function ($$v) {_vm.editorNewPassWordOne=$$v},expression:\"editorNewPassWordOne\"}})],1),_c('form',[_c('el-input',{staticClass:\"secondInputWord\",attrs:{\"placeholder\":\"请再次输入新密码\",\"show-password\":\"\"},model:{value:(_vm.editorNewPassWord),callback:function ($$v) {_vm.editorNewPassWord=$$v},expression:\"editorNewPassWord\"}})],1),_c('div',{staticClass:\"forgetPassWord xy-between \"}),_c('div',{staticClass:\"loginbtn xy-center cursor\",on:{\"click\":_vm.resetPassWord}},[_vm._v(\" 重置密码 \")])],1)])])])]):_vm._e(),(_vm.currentFunction === 'loginByCode')?_c('div',{staticClass:\"Content editorForm loginByCode\"},[_c('i',{staticClass:\"el-icon-circle-close icon font-size36 c-fff\",on:{\"click\":_vm.closeDiolog}}),_c('div',{staticClass:\"loginText jf\"},[_c('div',{staticClass:\"images\"}),_c('div',{staticClass:\"form\"},[_c('div',{staticClass:\"navTit xy-center\"},[_c('div',{staticClass:\"backIcon cursor\",on:{\"click\":function($event){return _vm.regeteBack('yzm')}}},[_c('i',{staticClass:\"el-icon-arrow-left\"}),_vm._v(\" 返回 \")]),_c('div',{staticClass:\"font-size16 \"},[_vm._v(\"验证码登录\")])]),_c('div',[_c('div',{staticClass:\"formMaps \"},[_c('el-input',{attrs:{\"placeholder\":\"请输入手机号\"},model:{value:(_vm.loginByPhoneNumber),callback:function ($$v) {_vm.loginByPhoneNumber=$$v},expression:\"loginByPhoneNumber\"}}),_c('div',{staticClass:\"yzmInput \"},[_c('el-input',{attrs:{\"placeholder\":\"请输入验证码\"},model:{value:(_vm.loginByPhoneYzm),callback:function ($$v) {_vm.loginByPhoneYzm=$$v},expression:\"loginByPhoneYzm\"}}),_c('div',{staticClass:\" cursor\"},[(!_vm.loginByPhoneIsSendCode)?_c('div',{staticClass:\"yzmBtn xy-center\",on:{\"click\":_vm.loginByPhoneGetCode}},[_vm._v(\" 获取验证码 \")]):_c('div',{staticClass:\"cutDown xy-center\"},[_vm._v(\" \"+_vm._s(_vm.loginByPhoneCuttDownTime)+\"秒后重发 \")])])],1),_c('div',{staticClass:\"AgreementBox\"},[_c('el-checkbox',{model:{value:(_vm.yzmLoginAgreement),callback:function ($$v) {_vm.yzmLoginAgreement=$$v},expression:\"yzmLoginAgreement\"}},[_vm._v(\" 我已阅读\"),_c('span',{staticClass:\"c-0C95FD\",on:{\"click\":_vm.gotoUserAgreement}},[_vm._v(\"《用户协议》\")]),_vm._v(\"及 \"),_c('span',{staticClass:\"c-0C95FD\",on:{\"click\":_vm.goToPrivacyAgreement}},[_vm._v(\"《隐私协议》\")])])],1),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loginbtn xy-center cursor\",on:{\"click\":_vm.loginBtnByPhone}},[_vm._v(\" 登录 \")])],1)])])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loginDiolog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loginDiolog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./loginDiolog.vue?vue&type=template&id=764d8059&scoped=true&\"\nimport script from \"./loginDiolog.vue?vue&type=script&lang=js&\"\nexport * from \"./loginDiolog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./loginDiolog.vue?vue&type=style&index=0&id=764d8059&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"764d8059\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loginDiolog.vue?vue&type=style&index=0&id=764d8059&scoped=true&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loginDiolog.vue?vue&type=style&index=0&id=764d8059&scoped=true&lang=less&\"","\r\nimport { debounce } from \"throttle-debounce\"\r\nexport default {\r\n data () {\r\n return {\r\n $_sidebarElm: null,\r\n $_resizeHandler: null\r\n }\r\n },\r\n beforeDestroy () {\r\n this.$_destroyResizeEvent()\r\n this.$_destroySidebarResizeEvent()\r\n },\r\n // to fixed bug when cached by keep-alive\r\n // https://github.com/PanJiaChen/vue-element-admin/issues/2116\r\n activated () {\r\n this.$_initResizeEvent()\r\n this.$_initSidebarResizeEvent()\r\n },\r\n deactivated () {\r\n this.$_destroyResizeEvent()\r\n this.$_destroySidebarResizeEvent()\r\n },\r\n methods: {\r\n // use $_ for mixins properties\r\n // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential\r\n $_initResizeEvent () {\r\n window.addEventListener(\"resize\", this.$_resizeHandler)\r\n },\r\n $_destroyResizeEvent () {\r\n window.removeEventListener(\"resize\", this.$_resizeHandler)\r\n },\r\n $_sidebarResizeHandler (e) {\r\n if (e.propertyName === \"width\") {\r\n this.$_resizeHandler()\r\n }\r\n },\r\n $_initSidebarResizeEvent () {\r\n this.$_sidebarElm = document.getElementsByClassName(\"sidebar-container\")[0]\r\n this.$_sidebarElm && this.$_sidebarElm.addEventListener(\"transitionend\", this.$_sidebarResizeHandler)\r\n },\r\n $_destroySidebarResizeEvent () {\r\n this.$_sidebarElm && this.$_sidebarElm.removeEventListener(\"transitionend\", this.$_sidebarResizeHandler)\r\n },\r\n handlerResize (fn) {\r\n this.$_resizeHandler = debounce(150, false, () => {\r\n typeof fn === \"function\" && fn()\r\n })\r\n this.$_initResizeEvent()\r\n this.$_initSidebarResizeEvent()\r\n }\r\n }\r\n}\r\n"],"sourceRoot":""}