{"version":3,"sources":["webpack:///./src/views/modules/ultils/status.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.scss?97aa","webpack:///./src/views/modules/ultils/Sidebar/SidebarSection.vue?63fb","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?1a37","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue?153d","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?2580","webpack:///src/views/modules/ultils/Form/components/String/WidgetString.vue","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?a610","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?ae64","webpack:///./node_modules/base64-js/index.js","webpack:///./src/views/modules/ultils/Table/EzTable.js","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?d118","webpack:///src/views/modules/ultils/Section/SectionTransformTable.vue","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?3167","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?ea08","webpack:///./src/views/modules/ultils/Table/EzTable.vue?ee8c","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./src/views/modules/ultils/Button/PermissionButton.vue?2d59","webpack:///src/views/modules/ultils/Button/PermissionButton.vue","webpack:///./src/views/modules/ultils/Button/PermissionButton.vue?855e","webpack:///./src/views/modules/ultils/Button/PermissionButton.vue","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue?1ae6","webpack:///src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue","webpack:///./src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue?a932","webpack:///./src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./src/views/modules/ListPayAp/components/ModalListPayAp.vue?a8d0","webpack:///src/views/modules/ListPayAp/components/ModalListPayAp.vue","webpack:///./src/views/modules/ListPayAp/components/ModalListPayAp.vue?d4a8","webpack:///./src/views/modules/ListPayAp/components/ModalListPayAp.vue?6295","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.vue?6f83","webpack:///./node_modules/decimal.js/decimal.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./src/views/modules/ultils/General/GeneralInfo.vue?9b1c","webpack:///src/views/modules/ultils/General/GeneralInfo.vue","webpack:///./src/views/modules/ultils/General/GeneralInfo.vue?4cfd","webpack:///./src/views/modules/ultils/General/GeneralInfo.vue","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?ee66","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./src/views/modules/ListPayAp/ListPayAp.vue?e64d","webpack:///./src/views/modules/ultils/Sidebar/SidebarSection.vue?5638","webpack:///src/views/modules/ultils/Sidebar/SidebarSection.vue","webpack:///./src/views/modules/ultils/Sidebar/SidebarSection.vue?af18","webpack:///./src/views/modules/ultils/Sidebar/SidebarSection.vue?c79d","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./src/views/modules/ultils/Button/LoadingButton.vue?31d3","webpack:///src/views/modules/ultils/Button/LoadingButton.vue","webpack:///./src/views/modules/ultils/Button/LoadingButton.vue?e8ba","webpack:///./src/views/modules/ultils/Button/LoadingButton.vue","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue?183d","webpack:///src/@core/components/delete-dialog/DeleteDialog.vue","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue?a6bd","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.vue?b7c3","webpack:///src/views/modules/ultils/Form/components/Select/WidgetSelect.vue","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.vue?3dfc","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.vue","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./src/modules/SidebarLabel.vue?ecf0","webpack:///src/modules/SidebarLabel.vue","webpack:///./src/modules/SidebarLabel.vue?6af0","webpack:///./src/modules/SidebarLabel.vue?f9c6","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./src/views/modules/ultils/Hooks/useFetch.ts","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?3a1a","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ieee754/index.js","webpack:///./src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue?f20e","webpack:///src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue","webpack:///./src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue?edd5","webpack:///./src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./src/views/modules/ultils/Table/EzTable.vue?8ccf","webpack:///./src/views/modules/ultils/Table/EzTable.js?1070","webpack:///./src/views/modules/ultils/Table/EzTable.vue?8555","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?43d0","webpack:///src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?920f","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?6744","webpack:///./src/views/modules/ultils/Form/components/FormItem/FormItem.vue?bbb7","webpack:///./src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue?6a82","webpack:///src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue","webpack:///./src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue?38c0","webpack:///./src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue","webpack:///src/views/modules/ultils/Form/components/FormItem/FormItem.vue","webpack:///./src/views/modules/ultils/Form/components/FormItem/FormItem.vue?b1d4","webpack:///./src/views/modules/ultils/Form/components/FormItem/FormItem.vue","webpack:///./node_modules/node-libs-browser/node_modules/isarray/index.js","webpack:///./src/modules/SidebarLabel.vue?b8d3","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?76fb","webpack:///src/views/modules/ultils/SearchList/SearchList.vue","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?efef","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?42f4","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.vue?4d5b","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.js","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.js?47ab","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.vue","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./src/views/modules/ListPayAp/ListPayAp.vue?9a36","webpack:///src/views/modules/ListPayAp/ListPayAp.vue","webpack:///./src/views/modules/ListPayAp/ListPayAp.vue?26aa","webpack:///./src/views/modules/ListPayAp/ListPayAp.vue?0f77","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./src/views/modules/ultils/Form/FormItems.vue?b026","webpack:///./src/views/modules/ultils/Form/FormItems.js","webpack:///./src/views/modules/ultils/Form/FormItems.js?cb66","webpack:///./src/views/modules/ultils/Form/FormItems.vue","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?9931","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./src/views/modules/ListPayAp/components/ModalListPayAp.vue?c097","webpack:///./node_modules/core-js/internals/to-indexed-object.js"],"names":["TaUserGroupType","ADMIN","USER","SUPERADMIN","TravelAgentType","AGENT","API","COMPANY","TRADING","SUPPLIER","convertTravelAgentType","type","title","_","invert","variant","convertTransactionType","transactionType","result","ArPaymentStatus","value","PaymentDetailTypeStatus","TravelAgentIsOverDraftStatus","SmsDistributionStatus","SmsStatus","DistributionStatus","ArPaymentDistributionStatus","ApPaymentStatus","CommonActiveStatus","convertPaymentDetailTypeStatus","dO","forEach","op","convertTravelAgentIsOverDraftStatus","convertDistributionStatus","convertSmsStatus","convertSmsDistributionStatus","convertCommonActiveStatus","convertArPaymentStatus","convertArPaymentDistributionStatus","convertApPaymentStatus","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","Object","getOwnPropertyDescriptor","exports","f","O","P","error","call","fails","createElement","module","defineProperty","get","a","$","$reduce","left","arrayMethodIsStrict","arrayMethodUsesToLength","CHROME_VERSION","IS_NODE","STRICT_METHOD","USES_TO_LENGTH","1","CHROME_BUG","target","proto","forced","reduce","callbackfn","this","arguments","length","undefined","it","TypeError","String","base64","ieee754","isArray","typedArraySupport","arr","Uint8Array","__proto__","prototype","foo","subarray","byteLength","e","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","Error","allocUnsafe","from","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","checked","i","string","isEncoding","actual","write","slice","fromArrayLike","array","byteOffset","obj","isBuffer","len","copy","buffer","isnan","data","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","val","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","push","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","configurable","allocUnsafeSlow","_isBuffer","compare","x","y","concat","list","pos","swap16","swap32","swap64","apply","equals","inspect","str","max","match","join","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","charCodeAt","INVALID_BASE64_RE","base64clean","stringtrim","replace","trim","units","Infinity","leadSurrogate","byteArray","c","hi","lo","toByteArray","src","dst","render","_vm","_h","$createElement","_c","_self","attrs","$t","placeholder","rows","disabled","currentValue","errors","on","updateData","staticRenderFns","name","props","default","Boolean","validator","methods","v","console","log","$emit","watch","handler","deep","mounted","components","ValidationProvider","BFormInput","BFormGroup","BFormTextarea","component","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","output","extraBytes","parts","maxChunkLength","len2","defineComponent","forceDisplayActions","excelExportApiCode","excelExportParams","excelExport","Function","customComponent","show","actionsConfig","externalLoading","toolbarConfig","toolbarActions","selectionConfig","nullable","actionType","actions","pageConfig","dataSourceParams","dataSource","columnResizingMode","columns","editingConfig","editable","DxPosition","DxCustomRule","DxToolbar","Fragment","DxLoadPanel","DxItem","DxColumn","DeleteDialog","DxSelection","DxEditing","DxRequiredRule","DxDataGrid","DxColumnChooser","DxScrolling","DxPaging","DxPager","DxFilterRow","setup","rawDataSourceParams","ref","OffSet","Limit","isLoading","totalCount","useFetch","params","dataResponse","rawDataSource","calculateWidth","width","onContentReady","truncateWidth","then","decodedData","Data","FileContents","newBlob","Blob","ContentType","url","window","URL","createObjectURL","document","href","download","FileDownloadName","dayjs","Date","format","click","revokeObjectURL","fetchData","functionDataSource","tempDataSourceParams","rawApi","self","DataSource","store","CustomStore","loadMode","load","loadOptions","options","take","skip","customQueryParams","response","requireTotalCount","tempData","dataValues","values","item","TotalCount","catch","renderDate","dateConfig","formatDate","onEditorPreparing","_this$selectionConfig","_this$selectionConfig2","parentType","command","mode","hideSelectAll","editorElement","remove","renderSlotHeader","fieldName","handlePropertyChange","fullName","renderColAlign","align","onCellClick","column","created","computed","dataGridInstance","$refs","dxDatagridRef","instance","permissionList","permissionsParsed","map","func","PermissionCode","actionsSplit","iconActions","dropDownActions","temp","templateArr","_this$columns","filter","cellTemplate","hasSelectionChangeListener","$listeners","hasExportListener","staticClass","pageSizeText","_t","toInteger","index","integer","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","source","FORCED","key","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","isValidPermission","apiCode","_g","class","style","_e","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","version","userAgent","process","versions","v8","split","nativeOn","$event","handlePaste","Cleave","_this$cleaveOptions","cleaveOptions","isNumberPositive","event","pastedData","clipboardData","getData","preventDefault","numeral","numeralThousandsGroupStyle","numeralDecimalMark","delimiter","uppercase","blocks","creditCard","date","datePattern","defaultValue","getBuiltIn","openForm","scopedSlots","_u","fn","_ref","close","_v","_s","isEmpty","isFormLoading","isFormAddLoading","updatePayment","proxy","model","isShow","callback","$$v","expression","formData","formItems","onInputChange","selectedDistribution","emit","refs","vm","getCurrentInstance","formRef","PaymentCode","PaymentDate","Amount","SiteCode","ArDistributionAccountId","updatePaymentData","arClient","api_AP_UP01","showLoading","nextFunction","addPaymentData","api_AP_IP01","_props$data","formGroupRow","formGroupClass","labelClass","label","cleaveType","rules","isAutoCreateCode","required","wrapperClass","validate","success","_formData$value$ArDis","ApPayment","Note","AutoCode","PropertyCode","PropertyId","CurrencyCode","ArPaymentDistribution","Id","ApPaymentDistribution","IsAutoGeneration","PropertyCodeName","PropertyName","TotalAmount","acc","FormItems","EzTable","LoadingButton","globalScope","Decimal","inexact","quadrant","EXP_LIMIT","MAX_DIGITS","NUMERALS","LN10","PI","DEFAULTS","precision","rounding","modulo","toExpNeg","toExpPos","minE","maxE","crypto","external","decimalError","invalidArgument","precisionLimitExceeded","cryptoUnavailable","tag","mathfloor","mathpow","isBinary","isHex","isOctal","isDecimal","BASE","LOG_BASE","MAX_SAFE_INTEGER","LN10_PRECISION","PI_PRECISION","toStringTag","digitsToString","d","k","ws","indexOfLastWord","w","getZeroString","checkInt32","checkRoundingDigits","rm","repeating","di","r","rd","ceil","convertBase","baseIn","baseOut","arrL","strL","charAt","reverse","cosine","Ctor","isZero","tinyPow","taylorSeries","times","cos2x","minus","plus","absoluteValue","abs","constructor","s","finalise","clampedTo","clamp","NaN","gt","cmp","comparedTo","xdL","ydL","xd","yd","xs","ys","cos","pr","sd","toLessThanHalfPi","neg","cubeRoot","cbrt","rep","t","t3","t3plusx","toExponential","divide","eq","decimalPlaces","dp","dividedBy","div","dividedToIntegerBy","divToInt","greaterThan","greaterThanOrEqualTo","gte","hyperbolicCosine","cosh","one","cosh2_x","d8","hyperbolicSine","sinh","sqrt","sinh2_x","d5","d16","d20","hyperbolicTangent","tanh","inverseCosine","acos","halfPi","isNeg","getPi","asin","inverseHyperbolicCosine","acosh","lte","ln","inverseHyperbolicSine","asinh","inverseHyperbolicTangent","atanh","wpr","xsd","inverseSine","atan","inverseTangent","px","x2","isInteger","isInt","isNegative","isPositive","isPos","lessThan","lt","lessThanOrEqualTo","logarithm","base","isBase10","denominator","inf","guard","naturalLogarithm","getLn10","xe","xLTy","pop","shift","getBase10Exponent","mod","q","naturalExponential","exp","negated","add","carry","unshift","z","getPrecision","round","sine","sin","squareRoot","tangent","tan","rL","toBinary","toStringBinary","toDecimalPlaces","toDP","finiteToString","toFixed","toFraction","maxD","d0","d1","d2","n0","n1","toHexadecimal","toNearest","toNumber","toOctal","toPower","yn","intPow","toPrecision","toSignificantDigits","toSD","truncated","trunc","valueOf","multiplyInteger","aL","bL","subtract","logBase","more","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","sign","isTruncated","digits","roundUp","xdi","isExp","nonFiniteToString","zs","truncate","isOdd","maxOrMin","args","ltgt","sum","c0","numerator","x1","parseDecimal","search","substring","parseOther","divisor","isFloat","p","test","sin2_x","isHyperbolic","u","pi","atan2","config","useDefaults","defaults","ps","getRandomValues","randomBytes","clone","isDecimalInstance","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","hypot","log10","log2","random","hasOwnProperty","Uint32Array","classof","propertyIsEnumerable","cssClass","_l","_class","icon","content","afterFixLabel","top","getStyleObject","staticStyle","SidebarLabel","noCenter","rightWidth","leftWidth","styleProp","isEven","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","argument","IS_PURE","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","keys","getOwnPropertySymbols","bitmap","enumerable","writable","NATIVE_WEAK_MAP","isObject","objectHas","shared","sharedKey","WeakMap","enforce","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","facade","STATE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","disabledAction","className","requireObjectCoercible","ob","deleteItem","resetModal","deleteDialog","dataRemove","open","invalid","noClearable","normalizer","multiple","fnCount","find","opt","customReduce","slot","onSelectAll","loading","node","id","isDisabled","disabledItemAfterFix","count","getDataSource","Status","tempOptions","customOptions","disabledItem","isGreaterThanOneArrayCurrentValue","oldValue","isOldValueSameAsNewValue","JSON","stringify","TreeselectTip","Treeselect","directives","rawName","modifiers","functionToString","fetchDataRoot","isError","errorCode","errorMessage","defaultData","directParams","$toast","loadingMessage","dismiss","afterErrorOrTimeoutFunction","sec","setTimeout","afterErrorFunction","Messages","Code","message","MessageText","disableShowToastResCondition","showResToast","disableSuccessMessage","successMessage","afterTimeOutNextFunction","debounce","keyConverted","isTableData","takeRawData","showToast","postfix","definePropertyModule","object","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","clearable","maxDate","isRange","direction","ranges","timePicker","timePickerIncrement","showDropDowns","isViLanguage","daysOfWeek","monthNames","firstDay","labelCols","autoApply","DateRangePicker","replacement","feature","detection","normalize","POLYFILL","NATIVE","nativeDefineProperty","Attributes","METHOD_NAME","method","cache","thrower","ACCESSORS","argument0","argument1","_vm$selectionConfig","_vm$editingConfig","_vm$editingConfig2","_vm$actions","_vm$actions$filter","action","danger","refInFor","dialogContent","handleExportExcel","showColumnChooser","row","loadIndex","field","_ref2","formatType","caption","captionAfterFix","_ref3","cellRender","defaultIfEmpty","fieldParentKey","formatPrice","renderTextVariant","_ref4","stopPropagation","direct","rowIndex","disableToolbar","disableColumnChooser","hideSelect","delete","_item$visible","_item$editingConfig","visible","minWidth","rule","_item$editingConfig2","isSuperAdmin","disablePagination","pageSize","pageSizes","displayMode","ShowInfo","showNavigationButtons","showPageSizeSelector","dataRefillForBill","clearValueInput","listDataCashier","cashierVal","payerVal","listPayment","PaymentMethod","Name","TransactionCode","itemMethod","Group","Option","Description","listCurrencyLocalStorage","typeCurrencyVal","dataInputForm","$set","acceptDataSave","ValidationObserver","idPayment","_JSON$parse","parse","localStorage","getItem","currency","ArPaymentId","PaymentMethodId","PaymentTypeCode","CardNumber","ExpirationDate","PaymentGatewayCode","Qrcode","CashierCode","casherVal","noteVal","closeModal","convertedDataInputForm","_this$listPayment$0$P","_class2","labelAfterFix","labelOption","showVnPriceText","numberToVnText","customValidate","hide","rangeData","pattern","singleDatePicker","lowerCaseFirstLetter","text","renderVModel","defaultVModel","handleChange","_this$customValidate","_this$rules","_this$pattern","_this$customValidate2","extend","isValid","maxValue","WidgetDivider","WidgetCleave","WidgetDateTime","WidgetSelect","WidgetString","_k","keyCode","buttonText","emits","styles","input","PREFERRED_STRING","resetFormData","isViewOnly","dataPayment","hideModal","paymentTypeOptions","option","form","PaymentDetailType","handlePaymentType","ParentKeyword","listPaymentType","assign","CodeName","handleChoicePayment","showFormInputPaymentMethod","VNPAY","BANK","LS_Currency","onSelectCurrency","inputMaskByCurrency","CARD","maskCreditCard","CREDIT","AccountHolder","maskExpirationDate","PaymentMethodByVoucherInTransactionCode","VoucherCode","voucherDetail","Voucher","VoucherName","convertUTC","OpenDate","OTHER","PaymentMethodByEvoucherInTransactionCode","showMoneyExchange","totalAmountPaymentInputExchangeDisplay","IsCheckPermission","api_AP_RTU01","CashierId","isSubmit","createPaymentDetail_IPM04","Payment","Refund","PaymentMethodGroup","AR","CASH","TMT","EZTICKET","EZGOLF","QRCODE","ROOM","VIP","paymentBase","FiscalPaymentDate","MemberId","ReceivedAmount","PaymentDetail","formBase","ClientId","DebitAccountId","Bdc","PermissionButton","FormItem","vSelect","isUpdate","paymentId","number","listDebtAccount","PaymentMethods","PaymentTypeData","fields","thStyle","display","tdClass","paymentType","canShowPaymentType","paymentDr","paymentAmountInputExchange","debitAccountSelected","ClientName","Cashiers","zoneId","paymentTypeName","listClient","arId","isLoadingCheckVoucher","getConfigInfo_RCOM01","getCurrencyList","baseCurrency","IsBase","NoOfDec","baseCurrencyCode","currencyCodeSelected","currencySelected","currencySelectedDetail","Format","DivBase","ExRate","totalAmountPaymentBaseCurr","totalAmountPaymentExchange","GFn_GetExchangeMoney","amountRemainPayment","receivedAmount","balance","amountRemainPaymentExchange","isPaymentDiffBase","amountRemainPaymentDisplay","totalAmountPaymentBaseCurrDisplay","totalAmountPaymentExchangeDisplay","api_AR_RCR01","ListCurrency","call_api_RMT01","api_AR_RMT01","ZoneId","async","_response$Data","ListPaymentMethod","_this$paymentTypeOpti","paymentAmountExchange","onSelectPaymentType","ev","GFn_GetBaseMoneyFromExchange","onChangeAmount","handleEvent","$bvModal","getPaymentMethodDefault","paymentMethods","paymentMethodDefault","paymentMethodList","s1","calTotalAmount","totalAmount","total","amount","parseFloat","paymentData","FiscalPaymentDetailDate","createFullDataExpirationDate","bookingDetailIdDistribution","getMemberPay","FullName","openModalDeletePaymentDetail","paymentDetailId","payment","getPaymentMethodNameById","openSelectARAccount","$root","selectArAccount","arAccountData","arKey","shortExpirationDate","month","yearOld","year","baseMoney","baseMoneyToDecimal","exchangeMoney","noOfDec","exRate","exchangeMoneyToDecimal","AR_UPAD01","SHARED","names","_vm$detailData","AP_UPD01","detailPaymentData","detailData","convertedValue","ApPaymentId","body","ApPaymentDetail","acceptDataSaveForBill","acceptDataEditForBill","isShowModalListPayAp","fetchDetailApPayment","refetchData","searchVal","api_ExcelAP_RP01","AP_RP03","listPayApColumns","api_AP_RP01","deletePayment","onSelectionChanged","AP_UP02","handleApproveListPay","AP_UP04","handleConfirmListPay","isShowSidebar","handleClose","AP_UP01","listGeneral","listAccountColumns","AP_RPD01","isFutureDate","handleShowPayment","paymentActions","listPaymentColumns","ListApPaymentDetail","deleteApPayment","GeneralInfo","PaymentForDistribution","SectionTransformTable","SearchList","ModalBoxAddBill","SidebarSection","ModalListPayAp","selectedPayment","tableRef","AP_RP02","AP_DP01","selectedRowsData","api_AP_RP02","api_AP_DP01","api_AP_DPD01","isUpdatePayment","api_AP_UPD01","fetchDetailPayment","api_AP_RPD01","isCreatePayment","api_AP_IPD01","confirmListPay","api_AP_UP04","approveListPay","api_AP_UP02","openDeleteDialog","deleteDialogRef","isShowModalPayment","AP_DPD01","isShowAddNewBill","CashierName","api_AR_RPE01","listCashier","dataArClient","ClientSearchVal","isSame","PaymentType","openModal","_this$detailData","_this$detailData2","_this$detailData3","_this$detailData4","_this$detailData5","_this$detailData6","_this$detailData7","_this$detailData8","_this$detailData9","_this$detailData9$Lis","_this$detailData10","convertedApPayment","_this$listPayment$","tempPayment","_tempPayment$find","PaymentMethodName","EXISTS","exec","path","aFunction","variable","namespace","nativePropertyIsEnumerable","NASHORN_BUG","V","toObject","IndexedObject","IS_RIGHT","argumentsLength","memo","right","check","globalThis","itemsConverted","items","defaultWrapperClass","_b","updateFormData","formClass","numberOfCol","regex","startDate","formatEndDate","endDate","observerRef","_this$items","tempRules","ownKeys","getOwnPropertyDescriptorModule","uid"],"mappings":"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","file":"js/chunk-0f206942.24e7bee0.js","sourcesContent":["import _ from \"lodash\";\n\nexport const DistributionType = {\n Auto: \"Auto\",\n Manual: \"Manual\",\n};\nexport const TaUserGroupType = {\n ADMIN: \"ADMIN\",\n USER: \"USER\",\n SUPERADMIN: \"SUPERADMIN\",\n};\nexport const TravelAgentType = {\n AGENT: 1,\n API: 2,\n COMPANY: 3,\n TRADING: 4,\n SUPPLIER :5,\n};\nexport function convertTravelAgentType(type) {\n \n return {title: _.invert(TravelAgentType)[type], variant:\"\"}\n}\nexport const convertTransactionType = (transactionType) => {\n let result = \"\";\n if (transactionType === \"AR_ADD\") {\n result = \"ar_client_add_bill\";\n }\n if (transactionType === \"AR_UPDATE\") {\n result = \"ar_client_change_bill\";\n }\n if (transactionType === \"AR_DELETE\") {\n result = \"ar_client_delete_bill\";\n }\n if (transactionType === \"PAYMENT_ADD\") {\n result = \"ar_client_add_pay\";\n }\n if (transactionType === \"PAYMENT_UPDATE\") {\n result = \"ar_client_change_payment\";\n }\n if (transactionType === \"PAYMENT_DELETE\") {\n result = \"ar_client_delete_payment\";\n }\n if (transactionType === \"AR_SMS_ADD\") {\n result = \"ar_client_pay_bill\";\n }\n if (transactionType === \"DISTRIBUTION_ADD\") {\n result = \"ar_client_add_distribution\";\n }\n if (transactionType === \"DISTRIBUTION_UPDATE\") {\n result = \"ar_client_edit_distribution\";\n }\n if (transactionType === \"DISTRIBUTION_DELETE\") {\n result = \"ar_client_delete_distribution\";\n }\n return result;\n};\nexport const TransactionAccountTransactionType = [\n { title: \"ar_client_reduce_price_booking\", value: \"DISTRIBUTION_BOOKING\", variant: \"success\" },\n { title: \"ar_client_auto_distribution_sms\", value: \"DISTRIBUTION_SMS\", variant: \"danger\" },\n];\n\nexport const ArPaymentStatus = [\n { title: \"ar_client_paid\", value: \"PAY\", variant: \"success\" },\n { title: \"ar_client_unpaid\", value: \"NO\", variant: \"danger\" },\n];\nexport const PaymentDetailTypeStatus = [\n { title: \"ar_client_refund\", value: \"REFUND\", variant: \"dark\" },\n { title: \"ar_client_top_up\", value: \"PAYMENT\", variant: \"dark\" },\n { title: \"ar_client_adjust\", value: \"MODIFY\", variant: \"dark\" },\n];\nexport const TravelAgentIsOverDraftStatus = [\n { title: \"ar_client_allow\", value: true, variant: \"success\" },\n { title: \"ar_client_not_allow\", value: false, variant: \"danger\" },\n];\nexport const SmsDistributionStatus = [\n { title: \"ar_client_allotted\", value: \"YES\", variant: \"success\" },\n { title: \"ar_client_not_allotment\", value: \"NO\", variant: \"danger\" },\n];\nexport const SmsStatus = [\n { title: \"ar_client_syntax_error\", value: \"ERROR\", variant: \"danger\" },\n { title: \"ar_client_draft_fixed\", value: \"DRAFT\", variant: \"primary\" },\n { title: \"ar_client_completed\", value: \"MODIFIED\", variant: \"success\" },\n { title: \"ar_client_syntax_correct\", value: \"SUCCESSFUL\", variant: \"success\" },\n];\nexport const DistributionStatus = [\n { title: \"ar_client_un_created_ap\", value: \"UNCREATEDAP\", variant: \"danger\" },\n { title: \"ar_client_creating_ap\", value: \"CREATINGAP\", variant: \"primary\" },\n { title: \"ar_client_created_ap\", value: \"CREATEDAP\", variant: \"success\" },\n];\nexport const ArPaymentDistributionStatus = [\n { title: \"ar_client_allotted\", value: \"FULL\", variant: \"success\" },\n { title: \"ar_client_not_allotment\", value: \"NO\", variant: \"danger\" },\n { title: \"ar_client_distributing\", value: \"INPROCESS\", variant: \"primary\" },\n];\nexport const ApPaymentStatus = [\n { title: \"ap_client_approve\", value: \"BROWSE\", variant: \"success\" },\n\n { title: \"golf_common_confirm\", value: \"CONFIRM\", variant: \"success\" },\n { title: \"Chi hết\", value: \"FULL\", variant: \"success\" },\n { title: \"Đang chi\", value: \"INPROCESS\", variant: \"primary\" },\n { title: \"Chưa chi\", value: \"NO\", variant: \"danger\" },\n];\nexport const CommonStatus = [\n { title: \"ar_client_active\", value: true, variant: \"success\" },\n { title: \"ar_client_in_active\", value: false, variant: \"danger\" },\n];\nexport const CommonActiveStatus = [\n { title: \"ar_client_active\", value: 1, variant: \"success\" },\n { title: \"ar_client_in_active\", value: 0, variant: \"danger\" },\n];\nexport const convertPaymentDetailTypeStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n PaymentDetailTypeStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertTravelAgentIsOverDraftStatus = (title) => {\n let dO = { title: \"\", variant: \"\" };\n\n TravelAgentIsOverDraftStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertDistributionStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n DistributionStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertSmsStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n SmsStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\n\nexport const convertSmsDistributionStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n SmsDistributionStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertCommonStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n CommonStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertCommonActiveStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n CommonActiveStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertArPaymentStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n ArPaymentStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertArPaymentDistributionStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n ArPaymentDistributionStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertApPaymentStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n ApPaymentStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./WidgetSelect.scss?vue&type=style&index=0&prod&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarSection.vue?vue&type=style&index=0&id=2764fc7b&prod&lang=scss&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchList.vue?vue&type=style&index=0&id=ff406d06&prod&lang=scss&\"","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDialog.vue?vue&type=style&index=0&id=738dcb84&prod&lang=scss&\"","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.variant === 'textarea' ? _c('BFormTextarea', {\n attrs: {\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"rows\": _vm.rows,\n \"disabled\": _vm.disabled,\n \"value\": _vm.currentValue,\n \"state\": _vm.errors.length > 0 ? false : null\n },\n on: {\n \"input\": _vm.updateData\n }\n }) : _vm.variant === 'switch' ? _c('b-form-checkbox', {\n attrs: {\n \"disabled\": _vm.disabled,\n \"checked\": _vm.currentValue,\n \"switch\": \"\"\n },\n on: {\n \"input\": _vm.updateData\n }\n }) : _c('b-form-input', {\n attrs: {\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"disabled\": _vm.disabled,\n \"value\": _vm.currentValue,\n \"state\": _vm.errors.length > 0 ? false : null\n },\n on: {\n \"input\": _vm.updateData\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetString.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetString.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetString.vue?vue&type=template&id=2ec64508&\"\nimport script from \"./WidgetString.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetString.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetString.vue?vue&type=style&index=0&id=2ec64508&prod&lang=scss&\"\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","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","import {\n DxDataGrid,\n DxScrolling,\n DxColumn,\n DxPaging,\n DxPager,\n DxFilterRow,\n DxColumnChooser,\n DxRequiredRule,\n DxPosition,\n DxSelection,\n DxLoadPanel,\n DxToolbar,\n DxItem,\n DxEditing,\n DxCustomRule,\n} from \"devextreme-vue/data-grid\";\nimport store from \"@/store\";\nimport \"devextreme/dist/css/dx.light.css\";\n\nimport DeleteDialog from \"@/@core/components/delete-dialog/DeleteDialog.vue\";\n\nimport CustomStore from \"devextreme/data/custom_store\";\nimport DataSource from \"devextreme/data/data_source\";\nimport { Fragment } from \"vue-fragment\";\nimport { useFetch } from \"../Hooks/useFetch.ts\";\n\nimport { ref, defineComponent, PropType } from \"@vue/composition-api\";\nimport { useElementSize } from \"@vueuse/core\";\n\nexport default defineComponent({\n name: \"EzTable\",\n props: {\n forceDisplayActions:Boolean,\n excelExportApiCode: String,\n excelExportParams: Object,\n excelExport: Function,\n customComponent: Object,\n show: Boolean,\n actionsConfig: {\n type: Object,\n default() {\n return {};\n },\n },\n externalLoading: {\n type: Boolean,\n default: false,\n },\n toolbarConfig: {\n type: Object,\n default() {\n return {};\n },\n },\n toolbarActions: {\n type: Array,\n default: () => {\n return [];\n },\n },\n\n selectionConfig: {\n type: Object,\n nullable: true,\n },\n actionType: String,\n actions: {\n type: Array,\n default: () => {\n return [];\n },\n },\n pageConfig: {\n type: Object,\n default: () => {\n return {};\n },\n },\n dataSourceParams: {\n type: Object,\n nullable: true,\n },\n // if dataSource is function , must be promise with final Data return\n dataSource: [Array, Function],\n\n columnResizingMode: String,\n columns: Array,\n editingConfig: Object,\n editable: Boolean,\n },\n components: {\n DxPosition,\n DxCustomRule,\n DxToolbar,\n Fragment,\n DxLoadPanel,\n DxItem,\n DxColumn,\n DeleteDialog,\n DxSelection,\n DxEditing,\n DxRequiredRule,\n DxDataGrid,\n DxColumnChooser,\n DxScrolling,\n DxPaging,\n DxPager,\n DxFilterRow,\n },\n setup(props) {\n const rawDataSourceParams = ref({ ...props.dataSourceParams, OffSet: 0, Limit: 10 });\n\n const { isLoading, data, totalCount } = useFetch(props.dataSource, {\n params: rawDataSourceParams,\n });\n const dataResponse = ref({});\n\n return { isLoading, data, totalCount, rawDataSourceParams, dataResponse };\n },\n data() {\n return {\n rawDataSource: [],\n };\n },\n methods: {\n calculateWidth(type) {\n let width = undefined;\n if (type === \"currency\") {\n width = 100;\n }\n return width;\n },\n onContentReady(e) {},\n truncateWidth(v) {\n if (v) {\n return `width: ${v};`;\n }\n return \"\";\n },\n async handleExportExcel() {\n await this.excelExport(this.excelExportParams).then((res) => {\n const decodedData = Buffer.from(res.Data.FileContents, \"base64\");\n const newBlob = new Blob([decodedData], {\n type: res.Data.ContentType,\n });\n const url = window.URL.createObjectURL(newBlob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download =\n res.Data.FileDownloadName + \"_\" + this.dayjs(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\n a.click();\n window.URL.revokeObjectURL(url);\n });\n },\n fetchData() {\n if (this.functionDataSource) {\n const tempDataSourceParams = this.dataSourceParams;\n const rawApi = this.dataSource;\n const self = this;\n let tempDataResponse = {};\n\n this.rawDataSource = new DataSource({\n store: new CustomStore({\n loadMode: \"processed\",\n\n load(loadOptions) {\n let options = {\n ...tempDataSourceParams,\n Limit: loadOptions.take,\n OffSet: loadOptions.skip || 0,\n };\n if (loadOptions.customQueryParams)\n options = { ...options, ...loadOptions.customQueryParams };\n return rawApi(options)\n .then((response) => {\n loadOptions.requireTotalCount = true;\n let tempData = [];\n const dataValues = Object.values(response.Data);\n console.log(this, \"1644\");\n self.dataResponse = response.Data;\n dataValues.forEach((item) => {\n if (Array.isArray(item)) {\n tempData = item;\n }\n });\n return {\n data: tempData,\n totalCount: response.Data.TotalCount,\n };\n })\n .catch(() => {\n throw \"Network error\";\n });\n },\n }),\n });\n } else {\n this.rawDataSource = this.dataSource;\n }\n },\n renderDate(value, dateConfig) {\n let format = \"DD/MM/YYYY HH:mm\";\n\n /* if (dateConfig?.showTime) {\n format += \" hh:mm\";\n } */\n return this.formatDate(value);\n },\n onEditorPreparing: function (e) {\n if (\n e.parentType == \"headerRow\" &&\n e.command == \"select\" &&\n (this.selectionConfig?.mode === \"Single\" || this.selectionConfig?.hideSelectAll)\n ) {\n e.editorElement.remove();\n }\n this.$emit(\"onEditorPreparing\", e);\n },\n renderSlotHeader(fieldName) {\n return fieldName + \"-header\";\n },\n handlePropertyChange: function (e) {\n if (this.functionDataSource) {\n if (e.fullName.includes(\"sortOrder\")) {\n }\n }\n },\n renderColAlign(type) {\n let align = \"left\";\n if (type === \"num\" || type === \"currency\") {\n align = \"right\";\n }\n if (type === \"date\" || type === \"text-variant\") {\n align = \"center\";\n }\n return align;\n },\n\n onCellClick(e) {\n if (e.column.type === \"selection\") {\n return;\n }\n this.$emit(\"cellClick\", e);\n },\n },\n watch: {\n dataSource: {\n handler: function (value) {\n if (!this.functionDataSource) {\n this.rawDataSource = value;\n }\n },\n deep: true,\n },\n dataSourceParams: {\n handler: function (value) {\n if (value) {\n this.rawDataSourceParams = { ...this.dataSourceParams };\n }\n },\n deep: true,\n },\n },\n created() {\n this.fetchData();\n },\n\n computed: {\n dataGridInstance(){\n return this.$refs.dxDatagridRef.instance\n },\n permissionList() {\n return this.permissionsParsed\n ? this.permissionsParsed.map((func) => func.PermissionCode)\n : [];\n },\n functionDataSource() {\n return typeof this.dataSource === \"function\";\n },\n\n actionsSplit() {\n let value = { iconActions: [], dropDownActions: [] };\n if (this.actions.length > 0) {\n const temp = this.actions;\n if (temp.length > 0) {\n const iconActions = temp.length <= 3 ? temp.slice(0, 3) : temp.slice(0, 2);\n const dropDownActions = temp.length > 3 ? temp.slice(2, temp.length) : [];\n\n value = { iconActions, dropDownActions };\n }\n }\n return value;\n },\n\n templateArr() {\n return this.columns?.filter((c) => c.cellTemplate) || [];\n },\n hasSelectionChangeListener() {\n return this.$listeners && this.$listeners[\"selection-changed\"];\n },\n hasExportListener() {\n return this.$listeners && (this.$listeners[\"export-excel\"] || this.$listeners[\"export-pdf\"]);\n },\n },\n});\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('section', {\n staticClass: \"list-transform\",\n attrs: {\n \"data-page-size-text\": _vm.pageSizeText\n }\n }, [_vm._t(\"default\")], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionTransformTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionTransformTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SectionTransformTable.vue?vue&type=template&id=37c5b58a&\"\nimport script from \"./SectionTransformTable.vue?vue&type=script&lang=js&\"\nexport * from \"./SectionTransformTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SectionTransformTable.vue?vue&type=style&index=0&id=37c5b58a&prod&lang=scss&\"\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","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EzTable.vue?vue&type=style&index=0&id=8f942682&prod&lang=scss&\"","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.isValidPermission(_vm.apiCode) ? _c('b-button', _vm._g({\n class: {\n 'd-none': !_vm.isValidPermission(_vm.apiCode)\n },\n style: _vm.style,\n attrs: {\n \"variant\": _vm.variant,\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_vm._t(\"default\")], 2) : _vm._e();\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PermissionButton.vue?vue&type=template&id=13ad79c4&\"\nimport script from \"./PermissionButton.vue?vue&type=script&lang=js&\"\nexport * from \"./PermissionButton.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 internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('Cleave', {\n staticClass: \"form-control\",\n class: {\n 'cleave-error': _vm.errors.length > 0,\n 'text-right': _vm.type === 'currency' || _vm.type === 'numeral'\n },\n attrs: {\n \"value\": _vm.value,\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"disabled\": _vm.disabled,\n \"raw\": true,\n \"options\": _vm.options\n },\n on: {\n \"input\": _vm.updateData\n },\n nativeOn: {\n \"paste\": function ($event) {\n return _vm.handlePaste.apply(null, arguments);\n }\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCleave.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCleave.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetCleave.vue?vue&type=template&id=db920fcc&\"\nimport script from \"./WidgetCleave.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetCleave.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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"size\": \"md\",\n \"id\": \"listpay-client\",\n \"centered\": \"\"\n },\n on: {\n \"hidden\": function ($event) {\n return _vm.$emit('update:isShow', false);\n },\n \"shown\": _vm.openForm\n },\n scopedSlots: _vm._u([{\n key: \"modal-header\",\n fn: function (_ref) {\n var close = _ref.close;\n return [_c('h4', {\n staticClass: \"mb-0 text-primary\"\n }, [[_vm._v(\" \" + _vm._s(!_vm.isEmpty(_vm.data) ? _vm.$t(\"ap_client_edit_payment\") : _vm.$t(\"ap_client_add_payment\")) + \" \")]], 2), _c('ez-icon', {\n staticClass: \"cursor-pointer\",\n attrs: {\n \"icon\": \"ezAr-icon-x\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": function ($event) {\n return close();\n }\n }\n })];\n }\n }, {\n key: \"modal-footer\",\n fn: function () {\n return [_c('LoadingButton', {\n attrs: {\n \"isLoading\": _vm.isFormLoading || _vm.isFormAddLoading\n },\n on: {\n \"click\": _vm.updatePayment\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_common_save\")) + \" \")])];\n },\n proxy: true\n }]),\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('FormItems', {\n ref: \"formRef\",\n attrs: {\n \"formData\": _vm.formData,\n \"items\": _vm.formItems\n },\n on: {\n \"input-change\": _vm.onInputChange,\n \"update:formData\": function ($event) {\n _vm.formData = $event;\n },\n \"update:form-data\": function ($event) {\n _vm.formData = $event;\n }\n }\n })], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalListPayAp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalListPayAp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalListPayAp.vue?vue&type=template&id=2a5720d9&\"\nimport script from \"./ModalListPayAp.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalListPayAp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalListPayAp.vue?vue&type=style&index=0&id=2a5720d9&prod&lang=scss&\"\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","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentForDistribution.vue?vue&type=style&index=0&id=6ff9ecfd&prod&lang=scss&\"",";(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*!\r\n * decimal.js v10.4.3\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The maximum exponent magnitude.\r\n // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`.\r\n var EXP_LIMIT = 9e15, // 0 to 9e15\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n // Base conversion alphabet.\r\n NUMERALS = '0123456789abcdef',\r\n\r\n // The natural logarithm of 10 (1025 digits).\r\n LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058',\r\n\r\n // Pi (1025 digits).\r\n PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789',\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n DEFAULTS = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed at run-time using the `Decimal.config` method.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used when rounding to `precision`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 The IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.\r\n //\r\n // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian\r\n // division (9) are commonly used for the modulus operation. The other rounding modes can also\r\n // be used, but they may not give useful results.\r\n modulo: 1, // 0 to 9\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -EXP_LIMIT\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to EXP_LIMIT\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // JavaScript numbers: -324 (5e-324)\r\n minE: -EXP_LIMIT, // -1 to -EXP_LIMIT\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // JavaScript numbers: 308 (1.7976931348623157e+308)\r\n maxE: EXP_LIMIT, // 1 to EXP_LIMIT\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n crypto: false // true/false\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n Decimal, inexact, noConflict, quadrant,\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n precisionLimitExceeded = decimalError + 'Precision limit exceeded',\r\n cryptoUnavailable = decimalError + 'crypto unavailable',\r\n tag = '[object Decimal]',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isBinary = /^0b([01]+(\\.[01]*)?|\\.[01]+)(p[+-]?\\d+)?$/i,\r\n isHex = /^0x([0-9a-f]+(\\.[0-9a-f]*)?|\\.[0-9a-f]+)(p[+-]?\\d+)?$/i,\r\n isOctal = /^0o([0-7]+(\\.[0-7]*)?|\\.[0-7]+)(p[+-]?\\d+)?$/i,\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n\r\n LN10_PRECISION = LN10.length - 1,\r\n PI_PRECISION = PI.length - 1,\r\n\r\n // Decimal.prototype object\r\n P = { toStringTag: tag };\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * ceil\r\n * clampedTo clamp\r\n * comparedTo cmp\r\n * cosine cos\r\n * cubeRoot cbrt\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy divToInt\r\n * equals eq\r\n * floor\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * hyperbolicCosine cosh\r\n * hyperbolicSine sinh\r\n * hyperbolicTangent tanh\r\n * inverseCosine acos\r\n * inverseHyperbolicCosine acosh\r\n * inverseHyperbolicSine asinh\r\n * inverseHyperbolicTangent atanh\r\n * inverseSine asin\r\n * inverseTangent atan\r\n * isFinite\r\n * isInteger isInt\r\n * isNaN\r\n * isNegative isNeg\r\n * isPositive isPos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * [maximum] [max]\r\n * [minimum] [min]\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * round\r\n * sine sin\r\n * squareRoot sqrt\r\n * tangent tan\r\n * times mul\r\n * toBinary\r\n * toDecimalPlaces toDP\r\n * toExponential\r\n * toFixed\r\n * toFraction\r\n * toHexadecimal toHex\r\n * toNearest\r\n * toNumber\r\n * toOctal\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits toSD\r\n * toString\r\n * truncated trunc\r\n * valueOf toJSON\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s < 0) x.s = 1;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of positive Infinity.\r\n *\r\n */\r\n P.ceil = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal clamped to the range\r\n * delineated by `min` and `max`.\r\n *\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n P.clampedTo = P.clamp = function (min, max) {\r\n var k,\r\n x = this,\r\n Ctor = x.constructor;\r\n min = new Ctor(min);\r\n max = new Ctor(max);\r\n if (!min.s || !max.s) return new Ctor(NaN);\r\n if (min.gt(max)) throw Error(invalidArgument + max);\r\n k = x.cmp(min);\r\n return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x);\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value,\r\n * NaN if the value of either Decimal is NaN.\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this,\r\n xd = x.d,\r\n yd = (y = new x.constructor(y)).d,\r\n xs = x.s,\r\n ys = y.s;\r\n\r\n // Either NaN or ±Infinity?\r\n if (!xd || !yd) {\r\n return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Either zero?\r\n if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;\r\n\r\n // Signs differ?\r\n if (xs !== ys) return xs;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;\r\n\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * cos(0) = 1\r\n * cos(-0) = 1\r\n * cos(Infinity) = NaN\r\n * cos(-Infinity) = NaN\r\n * cos(NaN) = NaN\r\n *\r\n */\r\n P.cosine = P.cos = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.d) return new Ctor(NaN);\r\n\r\n // cos(0) = cos(-0) = 1\r\n if (!x.d[0]) return new Ctor(1);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = cosine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n *\r\n * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * cbrt(0) = 0\r\n * cbrt(-0) = -0\r\n * cbrt(1) = 1\r\n * cbrt(-1) = -1\r\n * cbrt(N) = N\r\n * cbrt(-I) = -I\r\n * cbrt(I) = I\r\n *\r\n * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3))\r\n *\r\n */\r\n P.cubeRoot = P.cbrt = function () {\r\n var e, m, n, r, rep, s, sd, t, t3, t3plusx,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = x.s * mathpow(x.s * x, 1 / 3);\r\n\r\n // Math.cbrt underflow/overflow?\r\n // Pass x to Math.pow as integer, then adjust the exponent of the result.\r\n if (!s || Math.abs(s) == 1 / 0) {\r\n n = digitsToString(x.d);\r\n e = x.e;\r\n\r\n // Adjust n exponent so it is a multiple of 3 away from x exponent.\r\n if (s = (e - n.length + 1) % 3) n += (s == 1 || s == -2 ? '0' : '00');\r\n s = mathpow(n, 1 / 3);\r\n\r\n // Rarely, e may be one less than the result exponent value.\r\n e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n r.s = x.s;\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Halley's method.\r\n // TODO? Compare Newton's method.\r\n for (;;) {\r\n t = r;\r\n t3 = t.times(t).times(t);\r\n t3plusx = t3.plus(x);\r\n r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999\r\n // , i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var w,\r\n d = this.d,\r\n n = NaN;\r\n\r\n if (d) {\r\n w = d.length - 1;\r\n n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) n--;\r\n if (n < 0) n = 0;\r\n }\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.divToInt = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of negative Infinity.\r\n *\r\n */\r\n P.floor = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 3);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n var k = this.cmp(y);\r\n return k == 1 || k === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [1, Infinity]\r\n *\r\n * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ...\r\n *\r\n * cosh(0) = 1\r\n * cosh(-0) = 1\r\n * cosh(Infinity) = Infinity\r\n * cosh(-Infinity) = Infinity\r\n * cosh(NaN) = NaN\r\n *\r\n * x time taken (ms) result\r\n * 1000 9 9.8503555700852349694e+433\r\n * 10000 25 4.4034091128314607936e+4342\r\n * 100000 171 1.4033316802130615897e+43429\r\n * 1000000 3817 1.5166076984010437725e+434294\r\n * 10000000 abandoned after 2 minute wait\r\n *\r\n * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x))\r\n *\r\n */\r\n P.hyperbolicCosine = P.cosh = function () {\r\n var k, n, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor,\r\n one = new Ctor(1);\r\n\r\n if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);\r\n if (x.isZero()) return one;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1\r\n // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n // TODO? Estimation reused from cosine() and may not be optimal here.\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n n = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n n = '2.3283064365386962890625e-10';\r\n }\r\n\r\n x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true);\r\n\r\n // Reverse argument reduction\r\n var cosh2_x,\r\n i = k,\r\n d8 = new Ctor(8);\r\n for (; i--;) {\r\n cosh2_x = x.times(x);\r\n x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));\r\n }\r\n\r\n return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ...\r\n *\r\n * sinh(0) = 0\r\n * sinh(-0) = -0\r\n * sinh(Infinity) = Infinity\r\n * sinh(-Infinity) = -Infinity\r\n * sinh(NaN) = NaN\r\n *\r\n * x time taken (ms)\r\n * 10 2 ms\r\n * 100 5 ms\r\n * 1000 14 ms\r\n * 10000 82 ms\r\n * 100000 886 ms 1.4033316802130615897e+43429\r\n * 200000 2613 ms\r\n * 300000 5407 ms\r\n * 400000 8824 ms\r\n * 500000 13026 ms 8.7080643612718084129e+217146\r\n * 1000000 48543 ms\r\n *\r\n * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x))\r\n *\r\n */\r\n P.hyperbolicSine = P.sinh = function () {\r\n var k, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n } else {\r\n\r\n // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x))\r\n // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3))\r\n // 3 multiplications and 1 addition\r\n\r\n // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x)))\r\n // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5)))\r\n // 4 multiplications and 2 additions\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n\r\n // Reverse argument reduction\r\n var sinh2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sinh2_x = x.times(x);\r\n x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));\r\n }\r\n }\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * tanh(x) = sinh(x) / cosh(x)\r\n *\r\n * tanh(0) = 0\r\n * tanh(-0) = -0\r\n * tanh(Infinity) = 1\r\n * tanh(-Infinity) = -1\r\n * tanh(NaN) = NaN\r\n *\r\n */\r\n P.hyperbolicTangent = P.tanh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(x.s);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 7;\r\n Ctor.rounding = 1;\r\n\r\n return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of\r\n * this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [0, pi]\r\n *\r\n * acos(x) = pi/2 - asin(x)\r\n *\r\n * acos(0) = pi/2\r\n * acos(-0) = pi/2\r\n * acos(1) = 0\r\n * acos(-1) = pi\r\n * acos(1/2) = pi/3\r\n * acos(-1/2) = 2*pi/3\r\n * acos(|x| > 1) = NaN\r\n * acos(NaN) = NaN\r\n *\r\n */\r\n P.inverseCosine = P.acos = function () {\r\n var halfPi,\r\n x = this,\r\n Ctor = x.constructor,\r\n k = x.abs().cmp(1),\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n return k === 0\r\n // |x| is 1\r\n ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0)\r\n // |x| > 1 or x is NaN\r\n : new Ctor(NaN);\r\n }\r\n\r\n if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.asin();\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return halfPi.minus(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [1, Infinity]\r\n * Range: [0, Infinity]\r\n *\r\n * acosh(x) = ln(x + sqrt(x^2 - 1))\r\n *\r\n * acosh(x < 1) = NaN\r\n * acosh(NaN) = NaN\r\n * acosh(Infinity) = Infinity\r\n * acosh(-Infinity) = NaN\r\n * acosh(0) = NaN\r\n * acosh(-0) = NaN\r\n * acosh(1) = 0\r\n * acosh(-1) = NaN\r\n *\r\n */\r\n P.inverseHyperbolicCosine = P.acosh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);\r\n if (!x.isFinite()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).minus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * asinh(x) = ln(x + sqrt(x^2 + 1))\r\n *\r\n * asinh(NaN) = NaN\r\n * asinh(Infinity) = Infinity\r\n * asinh(-Infinity) = -Infinity\r\n * asinh(0) = 0\r\n * asinh(-0) = -0\r\n *\r\n */\r\n P.inverseHyperbolicSine = P.asinh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).plus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * atanh(x) = 0.5 * ln((1 + x) / (1 - x))\r\n *\r\n * atanh(|x| > 1) = NaN\r\n * atanh(NaN) = NaN\r\n * atanh(Infinity) = NaN\r\n * atanh(-Infinity) = NaN\r\n * atanh(0) = 0\r\n * atanh(-0) = -0\r\n * atanh(1) = Infinity\r\n * atanh(-1) = -Infinity\r\n *\r\n */\r\n P.inverseHyperbolicTangent = P.atanh = function () {\r\n var pr, rm, wpr, xsd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n xsd = x.sd();\r\n\r\n if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);\r\n\r\n Ctor.precision = wpr = xsd - x.e;\r\n\r\n x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);\r\n\r\n Ctor.precision = pr + 4;\r\n Ctor.rounding = 1;\r\n\r\n x = x.ln();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(0.5);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2)))\r\n *\r\n * asin(0) = 0\r\n * asin(-0) = -0\r\n * asin(1/2) = pi/6\r\n * asin(-1/2) = -pi/6\r\n * asin(1) = pi/2\r\n * asin(-1) = -pi/2\r\n * asin(|x| > 1) = NaN\r\n * asin(NaN) = NaN\r\n *\r\n * TODO? Compare performance of Taylor series.\r\n *\r\n */\r\n P.inverseSine = P.asin = function () {\r\n var halfPi, k,\r\n pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n k = x.abs().cmp(1);\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n\r\n // |x| is 1\r\n if (k === 0) {\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n halfPi.s = x.s;\r\n return halfPi;\r\n }\r\n\r\n // |x| > 1 or x is NaN\r\n return new Ctor(NaN);\r\n }\r\n\r\n // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n *\r\n * atan(0) = 0\r\n * atan(-0) = -0\r\n * atan(1) = pi/4\r\n * atan(-1) = -pi/4\r\n * atan(Infinity) = pi/2\r\n * atan(-Infinity) = -pi/2\r\n * atan(NaN) = NaN\r\n *\r\n */\r\n P.inverseTangent = P.atan = function () {\r\n var i, j, k, n, px, t, r, wpr, x2,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (!x.isFinite()) {\r\n if (!x.s) return new Ctor(NaN);\r\n if (pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.5);\r\n r.s = x.s;\r\n return r;\r\n }\r\n } else if (x.isZero()) {\r\n return new Ctor(x);\r\n } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.25);\r\n r.s = x.s;\r\n return r;\r\n }\r\n\r\n Ctor.precision = wpr = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x);\r\n\r\n // Argument reduction\r\n // Ensure |x| < 0.42\r\n // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2)))\r\n\r\n k = Math.min(28, wpr / LOG_BASE + 2 | 0);\r\n\r\n for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1));\r\n\r\n external = false;\r\n\r\n j = Math.ceil(wpr / LOG_BASE);\r\n n = 1;\r\n x2 = x.times(x);\r\n r = new Ctor(x);\r\n px = x;\r\n\r\n // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n for (; i !== -1;) {\r\n px = px.times(x2);\r\n t = r.minus(px.div(n += 2));\r\n\r\n px = px.times(x2);\r\n r = t.plus(px.div(n += 2));\r\n\r\n if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;);\r\n }\r\n\r\n if (k) r = r.times(2 << (k - 1));\r\n\r\n external = true;\r\n\r\n return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is a finite number, otherwise return false.\r\n *\r\n */\r\n P.isFinite = function () {\r\n return !!this.d;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isInt = function () {\r\n return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is NaN, otherwise return false.\r\n *\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isNeg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.isPos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0 or -0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return !!this.d && this.d[0] === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * If no base is specified, return log[10](arg).\r\n *\r\n * log[base](arg) = ln(arg) / ln(base)\r\n *\r\n * The result will always be correctly rounded if the base of the log is 10, and 'almost always'\r\n * otherwise:\r\n *\r\n * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen\r\n * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error\r\n * between the result and the correctly rounded result will be one ulp (unit in the last place).\r\n *\r\n * log[-b](a) = NaN\r\n * log[0](a) = NaN\r\n * log[1](a) = NaN\r\n * log[NaN](a) = NaN\r\n * log[Infinity](a) = NaN\r\n * log[b](0) = -Infinity\r\n * log[b](-0) = -Infinity\r\n * log[b](-a) = NaN\r\n * log[b](1) = 0\r\n * log[b](Infinity) = Infinity\r\n * log[b](NaN) = NaN\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var isBase10, d, denominator, k, inf, num, sd, r,\r\n arg = this,\r\n Ctor = arg.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding,\r\n guard = 5;\r\n\r\n // Default base is 10.\r\n if (base == null) {\r\n base = new Ctor(10);\r\n isBase10 = true;\r\n } else {\r\n base = new Ctor(base);\r\n d = base.d;\r\n\r\n // Return NaN if base is negative, or non-finite, or is 0 or 1.\r\n if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);\r\n\r\n isBase10 = base.eq(10);\r\n }\r\n\r\n d = arg.d;\r\n\r\n // Is arg negative, non-finite, 0 or 1?\r\n if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {\r\n return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);\r\n }\r\n\r\n // The result will have a non-terminating decimal expansion if base is 10 and arg is not an\r\n // integer power of 10.\r\n if (isBase10) {\r\n if (d.length > 1) {\r\n inf = true;\r\n } else {\r\n for (k = d[0]; k % 10 === 0;) k /= 10;\r\n inf = k !== 1;\r\n }\r\n }\r\n\r\n external = false;\r\n sd = pr + guard;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n\r\n // The result will have 5 rounding digits.\r\n r = divide(num, denominator, sd, 1);\r\n\r\n // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000,\r\n // calculate 10 further digits.\r\n //\r\n // If the result is known to have an infinite decimal expansion, repeat this until it is clear\r\n // that the result is above or below the boundary. Otherwise, if after calculating the 10\r\n // further digits, the last 14 are nines, round up and assume the result is exact.\r\n // Also assume the result is exact if the last 14 are zero.\r\n //\r\n // Example of a result that will be incorrectly rounded:\r\n // log[1048576](4503599627370502) = 2.60000000000000009610279511444746...\r\n // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it\r\n // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so\r\n // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal\r\n // place is still 2.6.\r\n if (checkRoundingDigits(r.d, k = pr, rm)) {\r\n\r\n do {\r\n sd += 10;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n r = divide(num, denominator, sd, 1);\r\n\r\n if (!inf) {\r\n\r\n // Check for 14 nines from the 2nd rounding digit, as the first may be 4.\r\n if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n\r\n break;\r\n }\r\n } while (checkRoundingDigits(r.d, k += 10, rm));\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.max = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'lt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.min = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'gt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return y negated if x is finite and y is ±Infinity.\r\n else if (x.d) y.s = -y.s;\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with different signs.\r\n // Return NaN if both are ±Infinity with the same sign.\r\n else y = new Ctor(y.d || x.s !== y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.plus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return y negated if x is zero and y is non-zero.\r\n if (yd[0]) y.s = -y.s;\r\n\r\n // Return x if y is zero and x is non-zero.\r\n else if (xd[0]) y = new Ctor(x);\r\n\r\n // Return zero if both are zero.\r\n // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity.\r\n else return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n e = mathfloor(y.e / LOG_BASE);\r\n xe = mathfloor(x.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of\r\n // zeros needing to be prepended, but this can be avoided while still ensuring correct\r\n // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to `xd` if shorter.\r\n // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * The result depends on the modulo mode.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0.\r\n if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);\r\n\r\n // Return x if y is ±Infinity or x is ±0.\r\n if (!y.d || x.d && !x.d[0]) {\r\n return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);\r\n }\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n\r\n if (Ctor.modulo == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // result = x - q * y where 0 <= result < abs(y)\r\n q = divide(x, y.abs(), 0, 3, 1);\r\n q.s *= y.s;\r\n } else {\r\n q = divide(x, y, 0, Ctor.modulo, 1);\r\n }\r\n\r\n q = q.times(y);\r\n\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return naturalExponential(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return naturalLogarithm(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var carry, d, e, i, k, len, pr, rm, xd, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with the same sign.\r\n // Return NaN if both are ±Infinity with different signs.\r\n // Return y if x is finite and y is ±Infinity.\r\n else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!yd[0]) y = new Ctor(x);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n k = mathfloor(x.e / LOG_BASE);\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var k,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n if (x.d) {\r\n k = getPrecision(x.d);\r\n if (z && x.e + 1 > k) k = x.e + 1;\r\n } else {\r\n k = NaN;\r\n }\r\n\r\n return k;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.round = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n return finalise(new Ctor(x), x.e + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n *\r\n * sin(0) = 0\r\n * sin(-0) = -0\r\n * sin(Infinity) = NaN\r\n * sin(-Infinity) = NaN\r\n * sin(NaN) = NaN\r\n *\r\n */\r\n P.sine = P.sin = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = sine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, sd, r, rep, t,\r\n x = this,\r\n d = x.d,\r\n e = x.e,\r\n s = x.s,\r\n Ctor = x.constructor;\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !d || !d[0]) {\r\n return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);\r\n }\r\n\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(d);\r\n\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, sd + 2, 1)).times(0.5);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * tan(0) = 0\r\n * tan(-0) = -0\r\n * tan(Infinity) = NaN\r\n * tan(-Infinity) = NaN\r\n * tan(NaN) = NaN\r\n *\r\n */\r\n P.tangent = P.tan = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n x = x.sin();\r\n x.s = 1;\r\n x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n y.s *= x.s;\r\n\r\n // If either is NaN, ±Infinity or ±0...\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd\r\n\r\n // Return NaN if either is NaN.\r\n // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity.\r\n ? NaN\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n // Return ±0 if either is ±0.\r\n : !xd || !yd ? y.s / 0 : y.s * 0);\r\n }\r\n\r\n e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = getBase10Exponent(r, e);\r\n\r\n return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 2, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toBinary = function (sd, rm) {\r\n return toStringBinary(this, 2, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.toDP = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return finalise(x, dp + x.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), dp + 1, rm);\r\n str = finiteToString(x, true, dp + 1);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = finalise(new Ctor(x), dp + x.e + 1, rm);\r\n str = finiteToString(y, false, dp + y.e + 1);\r\n }\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return an array representing the value of this Decimal as a simple fraction with an integer\r\n * numerator and an integer denominator.\r\n *\r\n * The denominator will be a positive non-zero value less than or equal to the specified maximum\r\n * denominator. If a maximum denominator is not specified, the denominator will be the lowest\r\n * value necessary to represent the number exactly.\r\n *\r\n * [maxD] {number|string|Decimal} Maximum denominator. Integer >= 1 and < Infinity.\r\n *\r\n */\r\n P.toFraction = function (maxD) {\r\n var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r,\r\n x = this,\r\n xd = x.d,\r\n Ctor = x.constructor;\r\n\r\n if (!xd) return new Ctor(x);\r\n\r\n n1 = d0 = new Ctor(1);\r\n d1 = n0 = new Ctor(0);\r\n\r\n d = new Ctor(d1);\r\n e = d.e = getPrecision(xd) - x.e - 1;\r\n k = e % LOG_BASE;\r\n d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);\r\n\r\n if (maxD == null) {\r\n\r\n // d is 10**e, the minimum max-denominator needed.\r\n maxD = e > 0 ? d : n1;\r\n } else {\r\n n = new Ctor(maxD);\r\n if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n);\r\n maxD = n.gt(d) ? (e > 0 ? d : n1) : n;\r\n }\r\n\r\n external = false;\r\n n = new Ctor(digitsToString(xd));\r\n pr = Ctor.precision;\r\n Ctor.precision = e = xd.length * LOG_BASE * 2;\r\n\r\n for (;;) {\r\n q = divide(n, d, 0, 1, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.cmp(maxD) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n d2 = n1;\r\n n1 = n0.plus(q.times(d2));\r\n n0 = d2;\r\n d2 = d;\r\n d = n.minus(q.times(d2));\r\n n = d2;\r\n }\r\n\r\n d2 = divide(maxD.minus(d0), d1, 0, 1, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1?\r\n r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1\r\n ? [n1, d1] : [n0, d0];\r\n\r\n Ctor.precision = pr;\r\n external = true;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 16, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toHexadecimal = P.toHex = function (sd, rm) {\r\n return toStringBinary(this, 16, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding\r\n * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal.\r\n *\r\n * The return value will always have the same sign as this Decimal, unless either this Decimal\r\n * or `y` is NaN, in which case the return value will be also be NaN.\r\n *\r\n * The return value is not affected by the value of `precision`.\r\n *\r\n * y {number|string|Decimal} The magnitude to round to a multiple of.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toNearest() rounding mode not an integer: {rm}'\r\n * 'toNearest() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toNearest = function (y, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n\r\n if (y == null) {\r\n\r\n // If x is not finite, return x.\r\n if (!x.d) return x;\r\n\r\n y = new Ctor(1);\r\n rm = Ctor.rounding;\r\n } else {\r\n y = new Ctor(y);\r\n if (rm === void 0) {\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(rm, 0, 8);\r\n }\r\n\r\n // If x is not finite, return x if y is not NaN, else NaN.\r\n if (!x.d) return y.s ? x : y;\r\n\r\n // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN.\r\n if (!y.d) {\r\n if (y.s) y.s = x.s;\r\n return y;\r\n }\r\n }\r\n\r\n // If y is not zero, calculate the nearest multiple of y to x.\r\n if (y.d[0]) {\r\n external = false;\r\n x = divide(x, y, 0, rm, 1).times(y);\r\n external = true;\r\n finalise(x);\r\n\r\n // If y is zero, return zero with the sign of x.\r\n } else {\r\n y.s = x.s;\r\n x = y;\r\n }\r\n\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n * Zero keeps its sign.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 8, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toOctal = function (sd, rm) {\r\n return toStringBinary(this, 8, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded\r\n * to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * ECMAScript compliant.\r\n *\r\n * pow(x, NaN) = NaN\r\n * pow(x, ±0) = 1\r\n\r\n * pow(NaN, non-zero) = NaN\r\n * pow(abs(x) > 1, +Infinity) = +Infinity\r\n * pow(abs(x) > 1, -Infinity) = +0\r\n * pow(abs(x) == 1, ±Infinity) = NaN\r\n * pow(abs(x) < 1, +Infinity) = +0\r\n * pow(abs(x) < 1, -Infinity) = +Infinity\r\n * pow(+Infinity, y > 0) = +Infinity\r\n * pow(+Infinity, y < 0) = +0\r\n * pow(-Infinity, odd integer > 0) = -Infinity\r\n * pow(-Infinity, even integer > 0) = +Infinity\r\n * pow(-Infinity, odd integer < 0) = -0\r\n * pow(-Infinity, even integer < 0) = +0\r\n * pow(+0, y > 0) = +0\r\n * pow(+0, y < 0) = +Infinity\r\n * pow(-0, odd integer > 0) = -0\r\n * pow(-0, even integer > 0) = +0\r\n * pow(-0, odd integer < 0) = -Infinity\r\n * pow(-0, even integer < 0) = +Infinity\r\n * pow(finite x < 0, finite non-integer) = NaN\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the\r\n * probability of an incorrectly rounded result\r\n * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14\r\n * i.e. 1 in 250,000,000,000,000\r\n *\r\n * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, rm, s,\r\n x = this,\r\n Ctor = x.constructor,\r\n yn = +(y = new Ctor(y));\r\n\r\n // Either ±Infinity, NaN or ±0?\r\n if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));\r\n\r\n x = new Ctor(x);\r\n\r\n if (x.eq(1)) return x;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (y.eq(1)) return finalise(x, pr, rm);\r\n\r\n // y exponent\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = intPow(Ctor, x, k, pr);\r\n return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);\r\n }\r\n\r\n s = x.s;\r\n\r\n // if x is negative\r\n if (s < 0) {\r\n\r\n // if y is not an integer\r\n if (e < y.d.length - 1) return new Ctor(NaN);\r\n\r\n // Result is positive if x is negative and the last digit of integer y is even.\r\n if ((y.d[e] & 1) == 0) s = 1;\r\n\r\n // if x.eq(-1)\r\n if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {\r\n x.s = s;\r\n return x;\r\n }\r\n }\r\n\r\n // Estimate result exponent.\r\n // x^y = 10^e, where e = y * log10(x)\r\n // log10(x) = log10(x_significand) + x_exponent\r\n // log10(x_significand) = ln(x_significand) / ln(10)\r\n k = mathpow(+x, yn);\r\n e = k == 0 || !isFinite(k)\r\n ? mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1))\r\n : new Ctor(k + '').e;\r\n\r\n // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1.\r\n\r\n // Overflow/underflow?\r\n if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);\r\n\r\n external = false;\r\n Ctor.rounding = x.s = 1;\r\n\r\n // Estimate the extra guard digits needed to ensure five correct rounding digits from\r\n // naturalLogarithm(x). Example of failure without these extra digits (precision: 10):\r\n // new Decimal(2.32456).pow('2087987436534566.46411')\r\n // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815\r\n k = Math.min(12, (e + '').length);\r\n\r\n // r = x^y = exp(y*ln(x))\r\n r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);\r\n\r\n // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40)\r\n if (r.d) {\r\n\r\n // Truncate to the required precision plus five rounding digits.\r\n r = finalise(r, pr + 5, 1);\r\n\r\n // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate\r\n // the result.\r\n if (checkRoundingDigits(r.d, pr, rm)) {\r\n e = pr + 10;\r\n\r\n // Truncate to the increased precision plus five rounding digits.\r\n r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);\r\n\r\n // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9).\r\n if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n }\r\n }\r\n\r\n r.s = s;\r\n external = true;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), sd, rm);\r\n str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toSD() digits out of range: {sd}'\r\n * 'toSD() digits not an integer: {sd}'\r\n * 'toSD() rounding mode not an integer: {rm}'\r\n * 'toSD() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toSignificantDigits = P.toSD = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return finalise(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal truncated to a whole number.\r\n *\r\n */\r\n P.truncated = P.trunc = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n * Unlike `toString`, negative zero will include the minus sign.\r\n *\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() ? '-' + str : str;\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower,\r\n * finiteToString, naturalExponential, naturalLogarithm\r\n * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest,\r\n * P.toPrecision, P.toSignificantDigits, toStringBinary, random\r\n * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm\r\n * convertBase toStringBinary, parseOther\r\n * cos P.cos\r\n * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy,\r\n * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction,\r\n * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm,\r\n * taylorSeries, atan2, parseOther\r\n * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh,\r\n * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus,\r\n * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot,\r\n * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed,\r\n * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits,\r\n * P.truncated, divide, getLn10, getPi, naturalExponential,\r\n * naturalLogarithm, ceil, floor, round, trunc\r\n * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf,\r\n * toStringBinary\r\n * getBase10Exponent P.minus, P.plus, P.times, parseOther\r\n * getLn10 P.logarithm, naturalLogarithm\r\n * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2\r\n * getPrecision P.precision, P.toFraction\r\n * getZeroString digitsToString, finiteToString\r\n * intPow P.toPower, parseOther\r\n * isOdd toLessThanHalfPi\r\n * maxOrMin max, min\r\n * naturalExponential P.naturalExponential, P.toPower\r\n * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm,\r\n * P.toPower, naturalExponential\r\n * nonFiniteToString finiteToString, toStringBinary\r\n * parseDecimal Decimal\r\n * parseOther Decimal\r\n * sin P.sin\r\n * taylorSeries P.cosh, P.sinh, cos, sin\r\n * toLessThanHalfPi P.cos, P.sin\r\n * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal\r\n * truncate intPow\r\n *\r\n * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi,\r\n * naturalLogarithm, config, parseOther, random, Decimal\r\n */\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Check 5 rounding digits if `repeating` is null, 4 otherwise.\r\n * `repeating == null` if caller is `log` or `pow`,\r\n * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`.\r\n */\r\n function checkRoundingDigits(d, i, rm, repeating) {\r\n var di, k, r, rd;\r\n\r\n // Get the length of the first word of the array d.\r\n for (k = d[0]; k >= 10; k /= 10) --i;\r\n\r\n // Is the rounding digit in the first word of d?\r\n if (--i < 0) {\r\n i += LOG_BASE;\r\n di = 0;\r\n } else {\r\n di = Math.ceil((i + 1) / LOG_BASE);\r\n i %= LOG_BASE;\r\n }\r\n\r\n // i is the index (0 - 6) of the rounding digit.\r\n // E.g. if within the word 3487563 the first rounding digit is 5,\r\n // then i = 4, k = 1000, rd = 3487563 % 1000 = 563\r\n k = mathpow(10, LOG_BASE - i);\r\n rd = d[di] % k | 0;\r\n\r\n if (repeating == null) {\r\n if (i < 3) {\r\n if (i == 0) rd = rd / 100 | 0;\r\n else if (i == 1) rd = rd / 10 | 0;\r\n r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0;\r\n } else {\r\n r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 ||\r\n (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;\r\n }\r\n } else {\r\n if (i < 4) {\r\n if (i == 0) rd = rd / 1000 | 0;\r\n else if (i == 1) rd = rd / 100 | 0;\r\n else if (i == 2) rd = rd / 10 | 0;\r\n r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;\r\n } else {\r\n r = ((repeating || rm < 4) && rd + 1 == k ||\r\n (!repeating && rm > 3) && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1;\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n // Convert string of `baseIn` to an array of numbers of `baseOut`.\r\n // Eg. convertBase('255', 10, 16) returns [15, 15].\r\n // Eg. convertBase('ff', 16, 10) returns [2, 5, 5].\r\n function convertBase(str, baseIn, baseOut) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n strL = str.length;\r\n\r\n for (; i < strL;) {\r\n for (arrL = arr.length; arrL--;) arr[arrL] *= baseIn;\r\n arr[0] += NUMERALS.indexOf(str.charAt(i++));\r\n for (j = 0; j < arr.length; j++) {\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] === void 0) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n\r\n /*\r\n * cos(x) = 1 - x^2/2! + x^4/4! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function cosine(Ctor, x) {\r\n var k, len, y;\r\n\r\n if (x.isZero()) return x;\r\n\r\n // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1\r\n // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n len = x.d.length;\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n y = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n y = '2.3283064365386962890625e-10';\r\n }\r\n\r\n Ctor.precision += k;\r\n\r\n x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));\r\n\r\n // Reverse argument reduction\r\n for (var i = k; i--;) {\r\n var cos2x = x.times(x);\r\n x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);\r\n }\r\n\r\n Ctor.precision -= k;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Perform division in the specified base.\r\n */\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k, base) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % base | 0;\r\n carry = temp / base | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, rm, dp, base) {\r\n var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0,\r\n yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(// Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN :\r\n\r\n // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.\r\n xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0);\r\n }\r\n\r\n if (base) {\r\n logBase = 1;\r\n e = x.e - y.e;\r\n } else {\r\n base = BASE;\r\n logBase = LOG_BASE;\r\n e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);\r\n }\r\n\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n // The digit array of a Decimal from toStringBinary may have trailing zeros.\r\n for (i = 0; yd[i] == (xd[i] || 0); i++);\r\n\r\n if (yd[i] > (xd[i] || 0)) e--;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else if (dp) {\r\n sd = pr + (x.e - y.e) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) {\r\n qd.push(1);\r\n more = true;\r\n } else {\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / logBase + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * base + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n more = k || i < xL;\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= base/2\r\n k = base / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k, base);\r\n xd = multiplyInteger(xd, k, base);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= base / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= base) k = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL, base);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL, base);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n\r\n more = rem[0] !== void 0;\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n }\r\n\r\n // logBase is 1 when divide is being used for base conversion.\r\n if (logBase == 1) {\r\n q.e = e;\r\n inexact = more;\r\n } else {\r\n\r\n // To calculate q.e, first get the number of digits of qd[0].\r\n for (i = 1, k = qd[0]; k >= 10; k /= 10) i++;\r\n q.e = i + e * logBase - 1;\r\n\r\n finalise(q, dp ? pr + q.e + 1 : pr, rm, more);\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits using rounding mode `rm`.\r\n * Check for over/under-flow.\r\n */\r\n function finalise(x, sd, rm, isTruncated) {\r\n var digits, i, j, k, rd, roundUp, w, xd, xdi,\r\n Ctor = x.constructor;\r\n\r\n // Don't round if sd is null or undefined.\r\n out: if (sd != null) {\r\n xd = x.d;\r\n\r\n // Infinity/NaN.\r\n if (!xd) return x;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd containing rd, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // digits: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++;\r\n i = sd - digits;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / mathpow(10, digits - j - 1) % 10 | 0;\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) {\r\n if (isTruncated) {\r\n\r\n // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`.\r\n for (; k++ <= xdi;) xd.push(0);\r\n w = rd = 0;\r\n digits = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (digits = 1; k >= 10; k /= 10) digits++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - digits.\r\n j = i - LOG_BASE + digits;\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;\r\n }\r\n }\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n isTruncated = isTruncated || sd < 0 ||\r\n xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));\r\n\r\n // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right\r\n // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression\r\n // will give 714.\r\n\r\n roundUp = rm < 4\r\n ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xd[0]) {\r\n xd.length = 0;\r\n if (roundUp) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xd[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (roundUp) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n\r\n // i will be the length of xd[0] before k is added.\r\n for (i = 1, j = xd[0]; j >= 10; j /= 10) i++;\r\n j = xd[0] += k;\r\n for (k = 1; j >= 10; j /= 10) k++;\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xd[0] == BASE) xd[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n }\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > Ctor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < Ctor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // Ctor.underflow = true;\r\n } // else Ctor.underflow = false;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function finiteToString(x, isExp, sd) {\r\n if (!x.isFinite()) return nonFiniteToString(x);\r\n var k,\r\n e = x.e,\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (x.e < 0 ? 'e' : 'e+') + x.e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(digits, e) {\r\n var w = digits[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for ( e *= LOG_BASE; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n if (sd > LN10_PRECISION) {\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(precisionLimitExceeded);\r\n }\r\n return finalise(new Ctor(LN10), sd, 1, true);\r\n }\r\n\r\n\r\n function getPi(Ctor, sd, rm) {\r\n if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);\r\n return finalise(new Ctor(PI), sd, rm, true);\r\n }\r\n\r\n\r\n function getPrecision(digits) {\r\n var w = digits.length - 1,\r\n len = w * LOG_BASE + 1;\r\n\r\n w = digits[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) len--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = digits[0]; w >= 10; w /= 10) len++;\r\n }\r\n\r\n return len;\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an\r\n * integer of type number.\r\n *\r\n * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`.\r\n *\r\n */\r\n function intPow(Ctor, x, n, pr) {\r\n var isTruncated,\r\n r = new Ctor(1),\r\n\r\n // Max n of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n k = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (n % 2) {\r\n r = r.times(x);\r\n if (truncate(r.d, k)) isTruncated = true;\r\n }\r\n\r\n n = mathfloor(n / 2);\r\n if (n === 0) {\r\n\r\n // To ensure correct rounding when r.d is truncated, increment the last word if it is zero.\r\n n = r.d.length - 1;\r\n if (isTruncated && r.d[n] === 0) ++r.d[n];\r\n break;\r\n }\r\n\r\n x = x.times(x);\r\n truncate(x.d, k);\r\n }\r\n\r\n external = true;\r\n\r\n return r;\r\n }\r\n\r\n\r\n function isOdd(n) {\r\n return n.d[n.d.length - 1] & 1;\r\n }\r\n\r\n\r\n /*\r\n * Handle `max` and `min`. `ltgt` is 'lt' or 'gt'.\r\n */\r\n function maxOrMin(Ctor, args, ltgt) {\r\n var y,\r\n x = new Ctor(args[0]),\r\n i = 0;\r\n\r\n for (; ++i < args.length;) {\r\n y = new Ctor(args[i]);\r\n if (!y.s) {\r\n x = y;\r\n break;\r\n } else if (x[ltgt](y)) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000\r\n * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(Infinity) = Infinity\r\n * exp(-Infinity) = 0\r\n * exp(NaN) = NaN\r\n * exp(±0) = 1\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n * The result will always be correctly rounded.\r\n *\r\n */\r\n function naturalExponential(x, sd) {\r\n var denominator, guard, j, pow, sum, t, wpr,\r\n rep = 0,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // 0/NaN/Infinity?\r\n if (!x.d || !x.d[0] || x.e > 17) {\r\n\r\n return new Ctor(x.d\r\n ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0\r\n : x.s ? x.s < 0 ? 0 : x : 0 / 0);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n // while abs(x) >= 0.1\r\n while (x.e > -2) {\r\n\r\n // x = x / 2^5\r\n x = x.times(t);\r\n k += 5;\r\n }\r\n\r\n // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision\r\n // necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(1);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = finalise(pow.times(x), wpr, 1);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n j = k;\r\n while (j--) sum = finalise(sum.times(sum), wpr, 1);\r\n\r\n // Check to see if the first 4 rounding digits are [49]999.\r\n // If so, repeat the summation with a higher precision, otherwise\r\n // e.g. with precision: 18, rounding: 1\r\n // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123)\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n\r\n if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += 10;\r\n denominator = pow = t = new Ctor(1);\r\n i = 0;\r\n rep++;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * ln(-n) = NaN\r\n * ln(0) = -Infinity\r\n * ln(-0) = -Infinity\r\n * ln(1) = 0\r\n * ln(Infinity) = Infinity\r\n * ln(-Infinity) = NaN\r\n * ln(NaN) = NaN\r\n *\r\n * ln(n) (n != 1) is non-terminating.\r\n *\r\n */\r\n function naturalLogarithm(y, sd) {\r\n var c, c0, denominator, e, numerator, rep, sum, t, wpr, x1, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // Is x negative or Infinity, NaN, 0 or 1?\r\n if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {\r\n return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n Ctor.precision = wpr += guard;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n\r\n if (Math.abs(e = x.e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = x.e;\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n Ctor.precision = pr;\r\n\r\n return sd == null ? finalise(x, pr, rm, external = true) : x;\r\n }\r\n\r\n // x1 is x reduced to a value near 1.\r\n x1 = x;\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = finalise(numerator.times(x2), wpr, 1);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction. Check that e is not 0 because, besides preventing an\r\n // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr, 1);\r\n\r\n // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has\r\n // been repeated previously) and the first 4 rounding digits 9999?\r\n // If so, restart the summation with a higher precision, otherwise\r\n // e.g. with precision: 12, rounding: 1\r\n // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463.\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += guard;\r\n t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = rep = 1;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n // ±Infinity, NaN.\r\n function nonFiniteToString(x) {\r\n // Unsigned.\r\n return String(x.s * x.s / 0);\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48; --len);\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n x.e = e = e - i - 1;\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > x.constructor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < x.constructor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // x.constructor.underflow = true;\r\n } // else x.constructor.underflow = false;\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value.\r\n */\r\n function parseOther(x, str) {\r\n var base, Ctor, divisor, i, isFloat, len, p, xd, xe;\r\n\r\n if (str.indexOf('_') > -1) {\r\n str = str.replace(/(\\d)_(?=\\d)/g, '$1');\r\n if (isDecimal.test(str)) return parseDecimal(x, str);\r\n } else if (str === 'Infinity' || str === 'NaN') {\r\n if (!+str) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return x;\r\n }\r\n\r\n if (isHex.test(str)) {\r\n base = 16;\r\n str = str.toLowerCase();\r\n } else if (isBinary.test(str)) {\r\n base = 2;\r\n } else if (isOctal.test(str)) {\r\n base = 8;\r\n } else {\r\n throw Error(invalidArgument + str);\r\n }\r\n\r\n // Is there a binary exponent part?\r\n i = str.search(/p/i);\r\n\r\n if (i > 0) {\r\n p = +str.slice(i + 1);\r\n str = str.substring(2, i);\r\n } else {\r\n str = str.slice(2);\r\n }\r\n\r\n // Convert `str` as an integer then divide the result by `base` raised to a power such that the\r\n // fraction part will be restored.\r\n i = str.indexOf('.');\r\n isFloat = i >= 0;\r\n Ctor = x.constructor;\r\n\r\n if (isFloat) {\r\n str = str.replace('.', '');\r\n len = str.length;\r\n i = len - i;\r\n\r\n // log[10](16) = 1.2041... , log[10](88) = 1.9444....\r\n divisor = intPow(Ctor, new Ctor(base), i, i * 2);\r\n }\r\n\r\n xd = convertBase(str, base, BASE);\r\n xe = xd.length - 1;\r\n\r\n // Remove trailing zeros.\r\n for (i = xe; xd[i] === 0; --i) xd.pop();\r\n if (i < 0) return new Ctor(x.s * 0);\r\n x.e = getBase10Exponent(xd, xe);\r\n x.d = xd;\r\n external = false;\r\n\r\n // At what precision to perform the division to ensure exact conversion?\r\n // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount)\r\n // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412\r\n // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits.\r\n // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount\r\n // Therefore using 4 * the number of digits of str will always be enough.\r\n if (isFloat) x = divide(x, divisor, len * 4);\r\n\r\n // Multiply by the binary exponent part if present.\r\n if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));\r\n external = true;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function sine(Ctor, x) {\r\n var k,\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);\r\n }\r\n\r\n // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x)\r\n // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5)\r\n // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x);\r\n\r\n // Reverse argument reduction\r\n var sin2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sin2_x = x.times(x);\r\n x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`.\r\n function taylorSeries(Ctor, n, x, y, isHyperbolic) {\r\n var j, t, u, x2,\r\n i = 1,\r\n pr = Ctor.precision,\r\n k = Math.ceil(pr / LOG_BASE);\r\n\r\n external = false;\r\n x2 = x.times(x);\r\n u = new Ctor(y);\r\n\r\n for (;;) {\r\n t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1);\r\n u = isHyperbolic ? y.plus(t) : y.minus(t);\r\n y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1);\r\n t = u.plus(y);\r\n\r\n if (t.d[k] !== void 0) {\r\n for (j = k; t.d[j] === u.d[j] && j--;);\r\n if (j == -1) break;\r\n }\r\n\r\n j = u;\r\n u = y;\r\n y = t;\r\n t = j;\r\n i++;\r\n }\r\n\r\n external = true;\r\n t.d.length = k + 1;\r\n\r\n return t;\r\n }\r\n\r\n\r\n // Exponent e must be positive and non-zero.\r\n function tinyPow(b, e) {\r\n var n = b;\r\n while (--e) n *= b;\r\n return n;\r\n }\r\n\r\n\r\n // Return the absolute value of `x` reduced to less than or equal to half pi.\r\n function toLessThanHalfPi(Ctor, x) {\r\n var t,\r\n isNeg = x.s < 0,\r\n pi = getPi(Ctor, Ctor.precision, 1),\r\n halfPi = pi.times(0.5);\r\n\r\n x = x.abs();\r\n\r\n if (x.lte(halfPi)) {\r\n quadrant = isNeg ? 4 : 1;\r\n return x;\r\n }\r\n\r\n t = x.divToInt(pi);\r\n\r\n if (t.isZero()) {\r\n quadrant = isNeg ? 3 : 2;\r\n } else {\r\n x = x.minus(t.times(pi));\r\n\r\n // 0 <= x < pi\r\n if (x.lte(halfPi)) {\r\n quadrant = isOdd(t) ? (isNeg ? 2 : 3) : (isNeg ? 4 : 1);\r\n return x;\r\n }\r\n\r\n quadrant = isOdd(t) ? (isNeg ? 1 : 4) : (isNeg ? 3 : 2);\r\n }\r\n\r\n return x.minus(pi).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return the value of Decimal `x` as a string in base `baseOut`.\r\n *\r\n * If the optional `sd` argument is present include a binary exponent suffix.\r\n */\r\n function toStringBinary(x, baseOut, sd, rm) {\r\n var base, e, i, k, len, roundUp, str, xd, y,\r\n Ctor = x.constructor,\r\n isExp = sd !== void 0;\r\n\r\n if (isExp) {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n } else {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n }\r\n\r\n if (!x.isFinite()) {\r\n str = nonFiniteToString(x);\r\n } else {\r\n str = finiteToString(x);\r\n i = str.indexOf('.');\r\n\r\n // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required:\r\n // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10))\r\n // minBinaryExponent = floor(decimalExponent * log[2](10))\r\n // log[2](10) = 3.321928094887362347870319429489390175864\r\n\r\n if (isExp) {\r\n base = 2;\r\n if (baseOut == 16) {\r\n sd = sd * 4 - 3;\r\n } else if (baseOut == 8) {\r\n sd = sd * 3 - 2;\r\n }\r\n } else {\r\n base = baseOut;\r\n }\r\n\r\n // Convert the number as an integer then divide the result by its base raised to a power such\r\n // that the fraction part will be restored.\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n str = str.replace('.', '');\r\n y = new Ctor(1);\r\n y.e = str.length - i;\r\n y.d = convertBase(finiteToString(y), 10, base);\r\n y.e = y.d.length;\r\n }\r\n\r\n xd = convertBase(str, 10, base);\r\n e = len = xd.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] == 0;) xd.pop();\r\n\r\n if (!xd[0]) {\r\n str = isExp ? '0p+0' : '0';\r\n } else {\r\n if (i < 0) {\r\n e--;\r\n } else {\r\n x = new Ctor(x);\r\n x.d = xd;\r\n x.e = e;\r\n x = divide(x, y, sd, rm, 0, base);\r\n xd = x.d;\r\n e = x.e;\r\n roundUp = inexact;\r\n }\r\n\r\n // The rounding digit, i.e. the digit after the digit that may be rounded up.\r\n i = xd[sd];\r\n k = base / 2;\r\n roundUp = roundUp || xd[sd + 1] !== void 0;\r\n\r\n roundUp = rm < 4\r\n ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2))\r\n : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 ||\r\n rm === (x.s < 0 ? 8 : 7));\r\n\r\n xd.length = sd;\r\n\r\n if (roundUp) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (; ++xd[--sd] > base - 1;) {\r\n xd[sd] = 0;\r\n if (!sd) {\r\n ++e;\r\n xd.unshift(1);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n\r\n // Add binary exponent suffix?\r\n if (isExp) {\r\n if (len > 1) {\r\n if (baseOut == 16 || baseOut == 8) {\r\n i = baseOut == 16 ? 4 : 3;\r\n for (--len; len % i; len++) str += '0';\r\n xd = convertBase(str, base, baseOut);\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // xd[0] will always be be 1\r\n for (i = 1, str = '1.'; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n } else {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n }\r\n\r\n str = str + (e < 0 ? 'p' : 'p+') + e;\r\n } else if (e < 0) {\r\n for (; ++e;) str = '0' + str;\r\n str = '0.' + str;\r\n } else {\r\n if (++e > len) for (e -= len; e-- ;) str += '0';\r\n else if (e < len) str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str;\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * abs\r\n * acos\r\n * acosh\r\n * add\r\n * asin\r\n * asinh\r\n * atan\r\n * atanh\r\n * atan2\r\n * cbrt\r\n * ceil\r\n * clamp\r\n * clone\r\n * config\r\n * cos\r\n * cosh\r\n * div\r\n * exp\r\n * floor\r\n * hypot\r\n * ln\r\n * log\r\n * log2\r\n * log10\r\n * max\r\n * min\r\n * mod\r\n * mul\r\n * pow\r\n * random\r\n * round\r\n * set\r\n * sign\r\n * sin\r\n * sinh\r\n * sqrt\r\n * sub\r\n * sum\r\n * tan\r\n * tanh\r\n * trunc\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function abs(x) {\r\n return new this(x).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine in radians of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function acos(x) {\r\n return new this(x).acos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function acosh(x) {\r\n return new this(x).acosh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function add(x, y) {\r\n return new this(x).plus(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function asin(x) {\r\n return new this(x).asin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function asinh(x) {\r\n return new this(x).asinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function atan(x) {\r\n return new this(x).atan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function atanh(x) {\r\n return new this(x).atanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi\r\n * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi, pi]\r\n *\r\n * y {number|string|Decimal} The y-coordinate.\r\n * x {number|string|Decimal} The x-coordinate.\r\n *\r\n * atan2(±0, -0) = ±pi\r\n * atan2(±0, +0) = ±0\r\n * atan2(±0, -x) = ±pi for x > 0\r\n * atan2(±0, x) = ±0 for x > 0\r\n * atan2(-y, ±0) = -pi/2 for y > 0\r\n * atan2(y, ±0) = pi/2 for y > 0\r\n * atan2(±y, -Infinity) = ±pi for finite y > 0\r\n * atan2(±y, +Infinity) = ±0 for finite y > 0\r\n * atan2(±Infinity, x) = ±pi/2 for finite x\r\n * atan2(±Infinity, -Infinity) = ±3*pi/4\r\n * atan2(±Infinity, +Infinity) = ±pi/4\r\n * atan2(NaN, x) = NaN\r\n * atan2(y, NaN) = NaN\r\n *\r\n */\r\n function atan2(y, x) {\r\n y = new this(y);\r\n x = new this(x);\r\n var r,\r\n pr = this.precision,\r\n rm = this.rounding,\r\n wpr = pr + 4;\r\n\r\n // Either NaN\r\n if (!y.s || !x.s) {\r\n r = new this(NaN);\r\n\r\n // Both ±Infinity\r\n } else if (!y.d && !x.d) {\r\n r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);\r\n r.s = y.s;\r\n\r\n // x is ±Infinity or y is ±0\r\n } else if (!x.d || y.isZero()) {\r\n r = x.s < 0 ? getPi(this, pr, rm) : new this(0);\r\n r.s = y.s;\r\n\r\n // y is ±Infinity or x is ±0\r\n } else if (!y.d || x.isZero()) {\r\n r = getPi(this, wpr, 1).times(0.5);\r\n r.s = y.s;\r\n\r\n // Both non-zero and finite\r\n } else if (x.s < 0) {\r\n this.precision = wpr;\r\n this.rounding = 1;\r\n r = this.atan(divide(y, x, wpr, 1));\r\n x = getPi(this, wpr, 1);\r\n this.precision = pr;\r\n this.rounding = rm;\r\n r = y.s < 0 ? r.minus(x) : r.plus(x);\r\n } else {\r\n r = this.atan(divide(y, x, wpr, 1));\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function cbrt(x) {\r\n return new this(x).cbrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ceil(x) {\r\n return finalise(x = new this(x), x.e + 1, 2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`.\r\n *\r\n * x {number|string|Decimal}\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n function clamp(x, min, max) {\r\n return new this(x).clamp(min, max);\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n * maxE {number}\r\n * minE {number}\r\n * modulo {number}\r\n * crypto {boolean|number}\r\n * defaults {true}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected');\r\n var i, p, v,\r\n useDefaults = obj.defaults === true,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -EXP_LIMIT, 0,\r\n 'toExpPos', 0, EXP_LIMIT,\r\n 'maxE', 0, EXP_LIMIT,\r\n 'minE', -EXP_LIMIT, 0,\r\n 'modulo', 0, 9\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (v === true || v === false || v === 0 || v === 1) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n this[p] = true;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n } else {\r\n this[p] = false;\r\n }\r\n } else {\r\n throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cos(x) {\r\n return new this(x).cos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cosh(x) {\r\n return new this(x).cosh();\r\n }\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * v {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(v) {\r\n var e, i, t,\r\n x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(v);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (isDecimalInstance(v)) {\r\n x.s = v.s;\r\n\r\n if (external) {\r\n if (!v.d || v.e > Decimal.maxE) {\r\n\r\n // Infinity.\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (v.e < Decimal.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d.slice();\r\n }\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d ? v.d.slice() : v.d;\r\n }\r\n\r\n return;\r\n }\r\n\r\n t = typeof v;\r\n\r\n if (t === 'number') {\r\n if (v === 0) {\r\n x.s = 1 / v < 0 ? -1 : 1;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n if (v < 0) {\r\n v = -v;\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (v === ~~v && v < 1e7) {\r\n for (e = 0, i = v; i >= 10; i /= 10) e++;\r\n\r\n if (external) {\r\n if (e > Decimal.maxE) {\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (e < Decimal.minE) {\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n\r\n return;\r\n\r\n // Infinity, NaN.\r\n } else if (v * 0 !== 0) {\r\n if (!v) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return;\r\n }\r\n\r\n return parseDecimal(x, v.toString());\r\n\r\n } else if (t !== 'string') {\r\n throw Error(invalidArgument + v);\r\n }\r\n\r\n // Minus sign?\r\n if ((i = v.charCodeAt(0)) === 45) {\r\n v = v.slice(1);\r\n x.s = -1;\r\n } else {\r\n // Plus sign?\r\n if (i === 43) v = v.slice(1);\r\n x.s = 1;\r\n }\r\n\r\n return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n Decimal.EUCLID = 9;\r\n\r\n Decimal.config = Decimal.set = config;\r\n Decimal.clone = clone;\r\n Decimal.isDecimal = isDecimalInstance;\r\n\r\n Decimal.abs = abs;\r\n Decimal.acos = acos;\r\n Decimal.acosh = acosh; // ES6\r\n Decimal.add = add;\r\n Decimal.asin = asin;\r\n Decimal.asinh = asinh; // ES6\r\n Decimal.atan = atan;\r\n Decimal.atanh = atanh; // ES6\r\n Decimal.atan2 = atan2;\r\n Decimal.cbrt = cbrt; // ES6\r\n Decimal.ceil = ceil;\r\n Decimal.clamp = clamp;\r\n Decimal.cos = cos;\r\n Decimal.cosh = cosh; // ES6\r\n Decimal.div = div;\r\n Decimal.exp = exp;\r\n Decimal.floor = floor;\r\n Decimal.hypot = hypot; // ES6\r\n Decimal.ln = ln;\r\n Decimal.log = log;\r\n Decimal.log10 = log10; // ES6\r\n Decimal.log2 = log2; // ES6\r\n Decimal.max = max;\r\n Decimal.min = min;\r\n Decimal.mod = mod;\r\n Decimal.mul = mul;\r\n Decimal.pow = pow;\r\n Decimal.random = random;\r\n Decimal.round = round;\r\n Decimal.sign = sign; // ES6\r\n Decimal.sin = sin;\r\n Decimal.sinh = sinh; // ES6\r\n Decimal.sqrt = sqrt;\r\n Decimal.sub = sub;\r\n Decimal.sum = sum;\r\n Decimal.tan = tan;\r\n Decimal.tanh = tanh; // ES6\r\n Decimal.trunc = trunc; // ES6\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n if (obj.defaults !== true) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function div(x, y) {\r\n return new this(x).div(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The power to which to raise the base of the natural log.\r\n *\r\n */\r\n function exp(x) {\r\n return new this(x).exp();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function floor(x) {\r\n return finalise(x = new this(x), x.e + 1, 3);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of the sum of the squares of the arguments,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...)\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function hypot() {\r\n var i, n,\r\n t = new this(0);\r\n\r\n external = false;\r\n\r\n for (i = 0; i < arguments.length;) {\r\n n = new this(arguments[i++]);\r\n if (!n.d) {\r\n if (n.s) {\r\n external = true;\r\n return new this(1 / 0);\r\n }\r\n t = n;\r\n } else if (t.d) {\r\n t = t.plus(n.times(n));\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return t.sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return true if object is a Decimal instance (where Decimal is any Decimal constructor),\r\n * otherwise return false.\r\n *\r\n */\r\n function isDecimalInstance(obj) {\r\n return obj instanceof Decimal || obj && obj.toStringTag === tag || false;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ln(x) {\r\n return new this(x).ln();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base\r\n * is specified, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * log[y](x)\r\n *\r\n * x {number|string|Decimal} The argument of the logarithm.\r\n * y {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n function log(x, y) {\r\n return new this(x).log(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log2(x) {\r\n return new this(x).log(2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log10(x) {\r\n return new this(x).log(10);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function max() {\r\n return maxOrMin(this, arguments, 'lt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function min() {\r\n return maxOrMin(this, arguments, 'gt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mod(x, y) {\r\n return new this(x).mod(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mul(x, y) {\r\n return new this(x).mul(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The base.\r\n * y {number|string|Decimal} The exponent.\r\n *\r\n */\r\n function pow(x, y) {\r\n return new this(x).pow(y);\r\n }\r\n\r\n\r\n /*\r\n * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with\r\n * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros\r\n * are produced).\r\n *\r\n * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive.\r\n *\r\n */\r\n function random(sd) {\r\n var d, e, k, n,\r\n i = 0,\r\n r = new this(1),\r\n rd = [];\r\n\r\n if (sd === void 0) sd = this.precision;\r\n else checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n k = Math.ceil(sd / LOG_BASE);\r\n\r\n if (!this.crypto) {\r\n for (; i < k;) rd[i++] = Math.random() * 1e7 | 0;\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n } else if (crypto.getRandomValues) {\r\n d = crypto.getRandomValues(new Uint32Array(k));\r\n\r\n for (; i < k;) {\r\n n = d[i];\r\n\r\n // 0 <= n < 4294967296\r\n // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865).\r\n if (n >= 4.29e9) {\r\n d[i] = crypto.getRandomValues(new Uint32Array(1))[0];\r\n } else {\r\n\r\n // 0 <= n <= 4289999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd[i++] = n % 1e7;\r\n }\r\n }\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n d = crypto.randomBytes(k *= 4);\r\n\r\n for (; i < k;) {\r\n\r\n // 0 <= n < 2147483648\r\n n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24);\r\n\r\n // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286).\r\n if (n >= 2.14e9) {\r\n crypto.randomBytes(4).copy(d, i);\r\n } else {\r\n\r\n // 0 <= n <= 2139999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd.push(n % 1e7);\r\n i += 4;\r\n }\r\n }\r\n\r\n i = k / 4;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n\r\n k = rd[--i];\r\n sd %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to sd.\r\n if (k && sd) {\r\n n = mathpow(10, LOG_BASE - sd);\r\n rd[i] = (k / n | 0) * n;\r\n }\r\n\r\n // Remove trailing words which are zero.\r\n for (; rd[i] === 0; i--) rd.pop();\r\n\r\n // Zero?\r\n if (i < 0) {\r\n e = 0;\r\n rd = [0];\r\n } else {\r\n e = -1;\r\n\r\n // Remove leading words which are zero and adjust exponent accordingly.\r\n for (; rd[0] === 0; e -= LOG_BASE) rd.shift();\r\n\r\n // Count the digits of the first word of rd to determine leading zeros.\r\n for (k = 1, n = rd[0]; n >= 10; n /= 10) k++;\r\n\r\n // Adjust the exponent for leading zeros of the first word of rd.\r\n if (k < LOG_BASE) e -= LOG_BASE - k;\r\n }\r\n\r\n r.e = e;\r\n r.d = rd;\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`.\r\n *\r\n * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL).\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function round(x) {\r\n return finalise(x = new this(x), x.e + 1, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if x > 0,\r\n * -1 if x < 0,\r\n * 0 if x is 0,\r\n * -0 if x is -0,\r\n * NaN otherwise\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sign(x) {\r\n x = new this(x);\r\n return x.d ? (x.d[0] ? x.s : 0 * x.s) : x.s || NaN;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sin(x) {\r\n return new this(x).sin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sinh(x) {\r\n return new this(x).sinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sqrt(x) {\r\n return new this(x).sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function sub(x, y) {\r\n return new this(x).sub(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of the arguments, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * Only the result is rounded, not the intermediate calculations.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function sum() {\r\n var i = 0,\r\n args = arguments,\r\n x = new this(args[i]);\r\n\r\n external = false;\r\n for (; x.s && ++i < args.length;) x = x.plus(args[i]);\r\n external = true;\r\n\r\n return finalise(x, this.precision, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tan(x) {\r\n return new this(x).tan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tanh(x) {\r\n return new this(x).tanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` truncated to an integer.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function trunc(x) {\r\n return finalise(x = new this(x), x.e + 1, 1);\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(DEFAULTS);\r\n Decimal.prototype.constructor = Decimal;\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Create the internal constants from their string values.\r\n LN10 = new Decimal(LN10);\r\n PI = new Decimal(PI);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n if (typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol') {\r\n P[Symbol['for']('nodejs.util.inspect.custom')] = P.toString;\r\n P[Symbol.toStringTag] = 'Decimal';\r\n }\r\n\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self ? self : window;\r\n }\r\n\r\n noConflict = globalScope.Decimal;\r\n Decimal.noConflict = function () {\r\n globalScope.Decimal = noConflict;\r\n return Decimal;\r\n };\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-row', {\n staticClass: \"m-0 mb-1\",\n class: {\n cssClass: _vm.cssClass\n }\n }, _vm._l(_vm.list, function (_ref, index) {\n var _class;\n var icon = _ref.icon,\n label = _ref.label,\n content = _ref.content,\n variant = _ref.variant,\n afterFixLabel = _ref.afterFixLabel,\n top = _ref.top;\n return _c('b-col', {\n key: index,\n staticClass: \"mb-2\",\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('div', {\n staticClass: \"d-flex\",\n class: {\n ' align-items-center': !top,\n 'align-items-start': top\n }\n }, [_c('sidebar-label', {\n attrs: {\n \"title\": _vm.$t(label),\n \"icon\": (\"ezAr-icon-\" + icon)\n }\n }, [_c('div', {\n staticClass: \"d-flex\"\n }, [_c('label', {\n staticClass: \"font-weight-bold\",\n style: _vm.getStyleObject(index)\n }, [_vm._v(_vm._s(_vm.$t(label)) + \" \" + _vm._s(afterFixLabel) + \" \")]), _c('span', {\n staticClass: \"font-weight-bold mr-1\"\n }, [_vm._v(\":\")])])]), _c('span', {\n class: (_class = {}, _class[(\"text-\" + variant)] = variant, _class),\n staticStyle: {\n \"word-break\": \"break-word\",\n \"margin-top\": \"2px\"\n }\n }, [_vm._v(_vm._s(content))])], 1)]);\n }), 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GeneralInfo.vue?vue&type=template&id=69d0e7b5&\"\nimport script from \"./GeneralInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./GeneralInfo.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 toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionTransformTable.vue?vue&type=style&index=0&id=37c5b58a&prod&lang=scss&\"","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPayAp.vue?vue&type=style&index=0&id=f8549656&prod&lang=scss&scoped=true&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('section', {\n staticClass: \"sidebar-section detail-sidebar\",\n attrs: {\n \"id\": \"\"\n }\n }, [_c('b-sidebar', {\n style: _vm.style,\n attrs: {\n \"bg-variant\": \"white\",\n \"right\": \"\",\n \"backdrop\": \"\",\n \"shadow\": \"\",\n \"no-header\": \"\",\n \"width\": _vm.width || '60%'\n },\n on: {\n \"hidden\": function () {\n _vm.$emit('close');\n }\n },\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('div', {\n staticClass: \"sidebar-section__header d-flex\"\n }, [_c('div', {\n staticClass: \"sidebar-section__header--title w-50\"\n }, [_c('h4', {\n staticClass: \"mb-0 p-1 text-primary text-truncate\"\n }, [_vm._v(\" \" + _vm._s(_vm.title ? _vm.$t(_vm.title) : 'Detail') + \" \")])]), _c('div', {\n staticClass: \"sidebar-section__header--icon w-50 d-flex align-items-center justify-content-end\"\n }, [_c('ez-icon', {\n staticClass: \"cursor-pointer mx-50\",\n attrs: {\n \"icon\": \"ezAr-icon-x\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": function ($event) {\n return _vm.$emit('close');\n }\n }\n })], 1)]), _vm._t(\"default\")], 2)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarSection.vue?vue&type=template&id=2764fc7b&\"\nimport script from \"./SidebarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarSection.vue?vue&type=style&index=0&id=2764fc7b&prod&lang=scss&\"\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","exports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('Fragment', [_c('b-button', {\n class: _vm.className,\n attrs: {\n \"variant\": _vm.variant,\n \"disabled\": _vm.isLoading\n },\n on: {\n \"click\": function ($event) {\n return _vm.$emit('click');\n }\n }\n }, [_vm.isLoading ? _c('b-spinner', {\n attrs: {\n \"small\": \"\"\n }\n }) : _vm._e(), _vm._t(\"default\")], 2)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingButton.vue?vue&type=template&id=7a152aa1&\"\nimport script from \"./LoadingButton.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingButton.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 requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"id\": \"modal-danger\",\n \"ok-variant\": \"danger\",\n \"cancel-variant\": \"outline-secondary\",\n \"cancel-title\": _vm.$t('ar_client_back'),\n \"ok-title\": _vm.$t('ar_client_confirm'),\n \"modal-class\": \"modal-danger\",\n \"centered\": \"\",\n \"size\": \"xs\",\n \"title\": _vm.ob.title\n },\n on: {\n \"ok\": _vm.deleteItem,\n \"hidden\": _vm.resetModal\n },\n model: {\n value: _vm.deleteDialog,\n callback: function ($$v) {\n _vm.deleteDialog = $$v;\n },\n expression: \"deleteDialog\"\n }\n }, [_c('b-card-text', [_c('div', {\n staticStyle: {\n \"padding\": \"20px 16px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.ob.content))])])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeleteDialog.vue?vue&type=template&id=738dcb84&\"\nimport script from \"./DeleteDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./DeleteDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeleteDialog.vue?vue&type=style&index=0&id=738dcb84&prod&lang=scss&\"\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 global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('Treeselect', {\n class: {\n invalid: _vm.errors.length > 0\n },\n attrs: {\n \"disabled\": _vm.disabled,\n \"options\": _vm.options,\n \"clearable\": !_vm.noClearable,\n \"default-expand-level\": 1,\n \"normalizer\": _vm.normalizer,\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"noOptionsText\": _vm.$t('ar_client_no_data'),\n \"noResultsText\": _vm.$t('ar_client_no_data'),\n \"multiple\": _vm.multiple,\n \"limit-text\": _vm.fnCount,\n \"limit\": 1,\n \"clear-on-select\": false\n },\n on: {\n \"input\": function ($event) {\n _vm.$emit('change', _vm.options.find(function (opt) {\n return opt[_vm.customReduce || 'Id'] === _vm.currentValue;\n }));\n }\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }, [_vm.multiple ? _c('template', {\n slot: \"before-list\"\n }, [_c('label', {\n staticClass: \"text-primary cursor-pointer\",\n staticStyle: {\n \"margin-left\": \"5px\"\n },\n on: {\n \"click\": _vm.onSelectAll\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_client_select_all\")) + \" \")])]) : _vm._e(), _vm.loading ? _c('treeselect-tip', {\n attrs: {\n \"slot\": \"after-list\",\n \"type\": \"loading\",\n \"icon\": \"loader\"\n },\n slot: \"after-list\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_loading\")) + \"...\")]) : _vm._e()], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetSelect.vue?vue&type=template&id=03efb084&\"\nimport script from \"./WidgetSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetSelect.scss?vue&type=style&index=0&prod&lang=scss&\"\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","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"sidebar-label d-flex align-items-center\"\n }, [_c('div', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover\",\n modifiers: {\n \"hover\": true\n }\n }],\n staticClass: \"sidebar-label__icon d-flex justify-content-center align-items-center\",\n attrs: {\n \"title\": _vm.title\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": _vm.icon,\n \"size\": \"14\"\n }\n })], 1), _c('span', {\n staticClass: \"sidebar-label__text\"\n }, [_vm._t(\"default\")], 2)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLabel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLabel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarLabel.vue?vue&type=template&id=66f205bb&scoped=true&\"\nimport script from \"./SidebarLabel.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarLabel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarLabel.vue?vue&type=style&index=0&id=66f205bb&prod&lang=scss&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 \"66f205bb\",\n null\n \n)\n\nexport default component.exports","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","import { reactive, toRefs, getCurrentInstance } from \"@vue/composition-api\";\n\nimport _ from \"lodash\";\n//@ts-ignore\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\n\ntype TState = {\n isLoading: Boolean;\n isError: Boolean;\n errorCode: String;\n errorMessage: String;\n data: any;\n totalCount: number;\n};\ninterface IOptions {\n takeRawData?: boolean;\n validateFunction?: () => Promise<{ success: boolean }>;\n showLoading?: boolean;\n loadingMessage?: string;\n params?: { value: any };\n disableShowToastResCondition?: (params: { code: string; message: string }) => Boolean;\n disableSuccessMessage?: boolean;\n successMessage?: string;\n defaultData?: {} | [];\n nextFunction?: (data: any) => void;\n afterErrorFunction?: () => void;\n afterErrorOrTimeoutFunction?: {\n func: () => void;\n sec?: number;\n };\n afterTimeOutNextFunction?: {\n func: () => void;\n sec: number;\n };\n}\ntype Options = IOptions & {};\nexport const useFetch = (fetchDataRoot, options: Options = {}) => {\n /* if (getCurrentInstance() === null) throw \"Not using this hook inside function\"; */\n const vm = getCurrentInstance()?.proxy as any;\n if (!vm) throw \"Not using this hook inside function\";\n const state = reactive({\n isLoading: false,\n isError: false,\n errorCode: \"\",\n errorMessage: \"\",\n data: options.defaultData || null,\n totalCount: 0,\n });\n\n const { isLoading, isError, errorMessage, data, totalCount, errorCode } = toRefs(state);\n\n const fetchData = async (directParams?) => {\n let id = null;\n\n if (options.showLoading) {\n id = vm.$toast({\n component: ToastificationContent,\n props: {\n title: options.loadingMessage ? vm.$t(options.loadingMessage) : vm.$t('golf_common_saving'),\n icon: \"loading\",\n variant: \"secondary\",\n },\n });\n }\n\n isLoading.value = true;\n try {\n const res = await fetchDataRoot(directParams || options.params?.value);\n isLoading.value = false;\n vm.$toast.dismiss(id);\n if (res.Status !== \"200\") {\n console.log(options.afterErrorOrTimeoutFunction, \"run 811\");\n if (options.afterErrorOrTimeoutFunction) {\n const { func, sec } = options.afterErrorOrTimeoutFunction;\n\n setTimeout(() => {\n func();\n }, sec || 500);\n }\n if (options.afterErrorFunction) {\n options.afterErrorFunction();\n }\n const code = res.Messages[0]?.Code;\n const message = res.Messages[0]?.MessageText;\n errorCode.value = code;\n errorMessage.value = message;\n isError.value = true;\n\n if (\n !(\n options.disableShowToastResCondition &&\n options.disableShowToastResCondition({ code, message })\n )\n ) {\n vm.showResToast(res);\n }\n\n return;\n }\n isError.value = false;\n\n if (id !== null && !options.disableSuccessMessage) {\n vm.$toast({\n component: ToastificationContent,\n props: {\n title: vm.$t(options.successMessage) || vm.$t('golf_common_success'),\n icon: \"ezAr-icon-check\",\n variant: \"success\",\n },\n });\n }\n\n if (options.nextFunction) {\n options.nextFunction(res.Data);\n }\n if (options.afterErrorOrTimeoutFunction) {\n const { func, sec } = options.afterErrorOrTimeoutFunction;\n\n setTimeout(() => {\n func();\n }, sec || 500);\n }\n if (options.afterTimeOutNextFunction) {\n const { func, sec } = options.afterTimeOutNextFunction;\n\n _.debounce(func, sec || 500);\n }\n\n if (res.Data) {\n const keyConverted = Object.keys(res.Data);\n\n const isTableData = keyConverted.includes(\"TotalCount\");\n\n if (isTableData) {\n totalCount.value = res.Data.TotalCount;\n let tempData: any[] = [];\n const dataValues = Object.values(res.Data);\n dataValues.forEach((item) => {\n if (Array.isArray(item)) {\n tempData = item;\n }\n });\n\n if (options.takeRawData) {\n data.value = res.Data;\n return res.Data;\n }\n data.value = tempData;\n return tempData;\n } else {\n data.value = res.Data;\n return res.Data;\n }\n }\n\n return res;\n } catch (err) {\n // @ts-ignore\n vm.showToast(\"error\", err.message);\n }\n };\n\n return {\n isError,\n errorCode,\n isLoading,\n errorMessage,\n data,\n totalCount,\n fetchData,\n };\n};\n","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddBill.vue?vue&type=style&index=0&id=011518d8&prod&lang=scss&\"","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('date-range-picker', {\n attrs: {\n \"clearable\": _vm.clearable,\n \"disabled\": _vm.disabled,\n \"max-date\": _vm.maxDate,\n \"controlContainerClass\": {\n disabled: _vm.disabled\n },\n \"single-date-picker\": _vm.isRange ? false : true,\n \"opens\": _vm.direction || 'right',\n \"ranges\": _vm.ranges || false,\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"time-picker\": _vm.timePicker || false,\n \"time-picker-increment\": _vm.timePickerIncrement || 1,\n \"show-dropdowns\": _vm.showDropDowns || true,\n \"auto-apply\": _vm.isRange,\n \"locale-data\": _vm.isViLanguage ? {\n format: 'mm/dd/YYYY HH:mm',\n daysOfWeek: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n monthNames: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n firstDay: 0\n } : undefined\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDatetime.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDatetime.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetDatetime.vue?vue&type=template&id=aacac6ac&\"\nimport script from \"./WidgetDatetime.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetDatetime.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 fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var render = function () {\n var _vm$selectionConfig, _vm$editingConfig, _vm$editingConfig2, _vm$actions, _vm$actions$filter;\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-overlay', {\n staticClass: \"dx-wrapper\",\n attrs: {\n \"show\": false,\n \"opacity\": 0.3,\n \"rounded\": \"sm\"\n }\n }, [_vm._l(_vm.actions, function (action, index) {\n return action.danger ? _c('delete-dialog', {\n key: index,\n ref: \"deleteDialog\",\n refInFor: true,\n attrs: {\n \"data-remove\": function (data) {\n return {\n title: _vm.$t('ar_common_confirm_delete'),\n content: action.dialogContent ? action.dialogContent(data) : _vm.$t('ar_common_are_you_sure_delete')\n };\n }\n },\n on: {\n \"deleteItem\": function (data) {\n return _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n }) : _vm._e();\n }), _vm.customComponent ? _c(_vm.customComponent, {\n tag: \"component\"\n }) : _vm._e(), _c('DxDataGrid', {\n ref: \"dxDatagridRef\",\n staticStyle: {\n \"max-height\": \"500px\"\n },\n attrs: {\n \"hover-state-enabled\": true,\n \"remote-operations\": true,\n \"noDataText\": _vm.$t('ar_common_no_data'),\n \"word-wrap-enabled\": true,\n \"column-resizing-mode\": _vm.columnResizingMode,\n \"data-source\": _vm.rawDataSource,\n \"show-column-lines\": true,\n \"show-row-lines\": true,\n \"show-borders\": true\n },\n on: {\n \"contentReady\": _vm.onContentReady,\n \"editor-preparing\": _vm.onEditorPreparing,\n \"option-changed\": _vm.handlePropertyChange,\n \"selection-changed\": function ($event) {\n return _vm.$emit('selection-changed', $event);\n },\n \"cellClick\": _vm.onCellClick\n },\n scopedSlots: _vm._u([{\n key: \"export\",\n fn: function () {\n return [_c('b-dropdown', {\n attrs: {\n \"id\": \"dropdown-left\",\n \"text\": _vm.$t('ar_client_export'),\n \"variant\": \"outline-primary\"\n }\n }, [_c('b-dropdown-item', {\n staticClass: \"text-wrap\",\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": _vm.handleExportExcel\n }\n }, [_vm._v(_vm._s(_vm.$t('ar_client_export_excel')) + \" \")]), _c('b-dropdown-item', {\n staticClass: \"text-wrap\",\n attrs: {\n \"href\": \"#\",\n \"disabled\": true\n }\n }, [_vm._v(_vm._s(_vm.$t('ar_client_export_pdf')))])], 1)];\n },\n proxy: true\n }, {\n key: \"showHideColumn\",\n fn: function () {\n return [_c('b-button', {\n attrs: {\n \"id\": \"column-chooser-button\",\n \"variant\": \"outline-primary\"\n },\n on: {\n \"click\": function ($event) {\n return _vm.$refs.dxDatagridRef.instance.showColumnChooser();\n }\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-align-justify\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.$t('ar_client_hide_column')) + \" \")], 1)];\n },\n proxy: true\n }, {\n key: \"customToolbar\",\n fn: function () {\n return [_vm._t(\"customToolbar\")];\n },\n proxy: true\n }, {\n key: \"beforeToolbarActions\",\n fn: function () {\n return [_vm._t(\"beforeToolbarActions\")];\n },\n proxy: true\n }, {\n key: \"toolbarActions\",\n fn: function () {\n return [_vm._t(\"toolbar\")];\n },\n proxy: true\n }, {\n key: \"ExportTransaction\",\n fn: function () {\n return [_vm._t(\"ExportTransaction\")];\n },\n proxy: true\n }, {\n key: \"index\",\n fn: function (_ref) {\n var data = _ref.data;\n return [_vm._v(_vm._s(data.row.loadIndex + 1))];\n }\n }, _vm._l(_vm.columns, function (item) {\n return {\n key: _vm.renderSlotHeader(item.field),\n fn: function (_ref2) {\n var data = _ref2.data;\n return [item.formatType === 'currency' ? _c('span', [_vm._v(\" \" + _vm._s(data.column.caption) + \" (VND) \")]) : item.captionAfterFix ? _c('span', [_vm._v(\" \" + _vm._s(data.column.caption + item.captionAfterFix) + \" \")]) : _c('div', {\n staticClass: \"d-flex\"\n }, [_vm._v(\" \" + _vm._s(data.column.caption) + \" \")])];\n }\n };\n }), _vm.templateArr.length > 0 ? _vm._l(_vm.columns, function (item) {\n return {\n key: item.field,\n fn: function (_ref3) {\n var data = _ref3.data;\n return [item.cellRender ? _c('span', {\n on: {\n \"click\": function ($event) {\n return _vm.$emit(((item.field) + \"-action\"), data);\n }\n }\n }, [_vm._v(\" \" + _vm._s(item.cellRender(data)) + \" \")]) : !data.data[item.field] && item.defaultIfEmpty ? _c('span', [_vm._v(\" \" + _vm._s(item.defaultIfEmpty) + \" \")]) : item.fieldParentKey ? _c('span', [_vm._v(\" \" + _vm._s(data.data[item.fieldParentKey][item.field]) + \" \")]) : item.formatType === 'currency' || item.formatType === 'num' ? _c('span', [_vm._v(\" \" + _vm._s(_vm.formatPrice(data.data[item.field])) + \" \")]) : item.formatType === 'date' ? _c('span', [_vm._v(\" \" + _vm._s(data.data[item.field] ? _vm.renderDate(data.data[item.field], item.dateConfig) : '') + \" \")]) : item.formatType === 'truncate' ? _c('span', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover\",\n modifiers: {\n \"hover\": true\n }\n }],\n staticClass: \"truncate\",\n style: _vm.truncateWidth(item.truncateWidth),\n attrs: {\n \"title\": data.data[item.field]\n }\n }, [_vm._v(\" \" + _vm._s(data.data[item.field]) + \" \")]) : item.formatType === 'text-variant' && item.renderTextVariant ? _c('span', {\n class: (\"text-\" + (item.renderTextVariant(data.data[item.field]).variant))\n }, [_vm._v(\" \" + _vm._s(_vm.$t(item.renderTextVariant(data.data[item.field]).title)) + \" \")]) : _vm._t(item.field, null, {\n \"data\": data\n })];\n }\n };\n }) : null, {\n key: \"action\",\n fn: function (_ref4) {\n var data = _ref4.data;\n return [_c('div', {\n staticClass: \"d-flex align-items-center justify-content-center\",\n staticStyle: {\n \"gap\": \"10px\"\n }\n }, [_vm._l(_vm.actionsSplit.iconActions, function (action, index) {\n return _vm.actionsSplit.iconActions.length > 0 ? _c('span', {\n class: {\n 'd-none': !_vm.forceDisplayActions && !_vm.isValidPermission(action.apiCode)\n }\n }, [_c('span', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover\",\n modifiers: {\n \"hover\": true\n }\n }],\n attrs: {\n \"title\": action.title ? _vm.$t(action.title) : ''\n }\n }, [_c('ez-icon', {\n key: index,\n staticClass: \"cursor-pointer\",\n attrs: {\n \"icon\": 'ezAr-icon-' + action.icon,\n \"size\": \"18\",\n \"color\": action.danger ? '#EA5455' : '#114A9F'\n },\n on: {\n \"click\": function ($event) {\n $event.stopPropagation();\n action.danger && !Array.isArray(_vm.$refs.deleteDialog) && !action.direct ? _vm.$refs.deleteDialog.open(data) : action.danger && !action.direct ? _vm.$refs.deleteDialog[0].open(data) : _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n })], 1)]) : _vm._e();\n }), _vm.actionsSplit.dropDownActions.length > 2 ? _c('b-dropdown', {\n staticClass: \"w-100\",\n attrs: {\n \"menu-class\": \"w-100\",\n \"size\": \"lg\",\n \"variant\": \"link\",\n \"toggle-class\": \"text-decoration-none\",\n \"no-caret\": \"\",\n \"right\": \"\"\n },\n scopedSlots: _vm._u([{\n key: \"button-content\",\n fn: function () {\n return [_c('feather-icon', {\n attrs: {\n \"icon\": \"MoreVerticalIcon\",\n \"color\": \"#114A9F\"\n }\n })];\n },\n proxy: true\n }], null, true)\n }, _vm._l(_vm.actionsSplit.dropDownActions, function (action, index) {\n return _c('b-dropdown-item', {\n key: index,\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function ($event) {\n $event.stopPropagation();\n action.danger && !Array.isArray(_vm.$refs.deleteDialog) ? _vm.$refs.deleteDialog.open(data) : action.danger ? _vm.$refs.deleteDialog[data.rowIndex].open(data) : _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n }, [action.danger ? _c('delete-dialog', {\n ref: \"deleteDialog\",\n refInFor: true,\n attrs: {\n \"data-remove\": {\n title: _vm.$t('ar_common_confirm_delete'),\n content: _vm.$t('ar_common_are_you_sure_delete')\n }\n },\n on: {\n \"deleteItem\": function ($event) {\n return _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n }) : _vm._e(), _c('span', {\n class: action.danger ? 'text-danger' : ''\n }, [_vm._v(\" \" + _vm._s(action.title ? _vm.$t(action.title) : '') + \" \")])], 1);\n }), 1) : _vm._e()], 2)];\n }\n }], null, true)\n }, [!_vm.toolbarConfig.disableToolbar ? _c('DxColumnChooser', {\n attrs: {\n \"enabled\": true,\n \"title\": this.$t('ar_common_showhide_column'),\n \"mode\": \"select\"\n }\n }, [_c('DxPosition', {\n attrs: {\n \"my\": \"center top\",\n \"at\": \"left bottom\",\n \"of\": \"#column-chooser-button\"\n }\n })], 1) : _vm._e(), !_vm.toolbarConfig.disableToolbar ? _c('DxToolbar', [_c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"customToolbar\"\n }\n }), _c('DxItem', {\n attrs: {\n \"location\": \"before\",\n \"template\": \"beforeToolbarActions\"\n }\n }), _c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"toolbarActions\"\n }\n }), _c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"ExportTransaction\"\n }\n }), _vm.excelExport && _vm.isValidPermission(_vm.excelExportApiCode) ? _c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"export\"\n }\n }) : _vm._e(), !_vm.toolbarConfig.disableColumnChooser ? _c('DxItem', {\n attrs: {\n \"template\": \"showHideColumn\",\n \"locate-in-menu\": \"auto\",\n \"location\": \"after\"\n }\n }) : _vm._e()], 1) : _vm._e(), _vm.hasSelectionChangeListener && !_vm.selectionConfig.hideSelect ? _c('DxSelection', {\n attrs: {\n \"mode\": ((_vm$selectionConfig = _vm.selectionConfig) === null || _vm$selectionConfig === void 0 ? void 0 : _vm$selectionConfig.mode) || 'multiple'\n }\n }) : _vm._e(), _vm.editable ? _c('DxEditing', {\n attrs: {\n \"allow-deleting\": (_vm$editingConfig = _vm.editingConfig) === null || _vm$editingConfig === void 0 ? void 0 : _vm$editingConfig.delete,\n \"allow-updating\": true,\n \"mode\": ((_vm$editingConfig2 = _vm.editingConfig) === null || _vm$editingConfig2 === void 0 ? void 0 : _vm$editingConfig2.mode) || 'cell'\n }\n }) : _vm._e(), _c('DxColumn', {\n attrs: {\n \"caption\": _vm.$t('STT'),\n \"alignment\": \"center\",\n \"width\": \"50\",\n \"cell-template\": \"index\"\n }\n }), _vm._l(_vm.columns, function (item, index) {\n var _item$visible, _item$editingConfig;\n return _c('DxColumn', {\n key: index,\n attrs: {\n \"visible\": (_item$visible = item.visible) !== null && _item$visible !== void 0 ? _item$visible : true,\n \"css-class\": item.cssClass,\n \"caption\": item.caption ? _vm.$t(item.caption) : '',\n \"data-field\": item.field,\n \"header-cell-template\": _vm.renderSlotHeader(item.field),\n \"cell-template\": item.cellTemplate ? item.field : false,\n \"allow-column-resizing\": true,\n \"column-auto-width\": true,\n \"min-width\": item.minWidth,\n \"alignment\": item.align || _vm.renderColAlign(item.formatType),\n \"width\": item.width || _vm.calculateWidth(item.formatType),\n \"allowFiltering\": item.field != 'action' ? true : false\n }\n }, [item.editingConfig && item.editingConfig.required ? _c('DxRequiredRule') : _vm._e(), _vm._l((_item$editingConfig = item.editingConfig) === null || _item$editingConfig === void 0 ? void 0 : _item$editingConfig.rules, function (rule, index) {\n var _item$editingConfig2;\n return item.editingConfig && (_item$editingConfig2 = item.editingConfig) !== null && _item$editingConfig2 !== void 0 && _item$editingConfig2.rules ? _c('DxCustomRule', {\n key: rule.message,\n attrs: {\n \"validation-callback\": rule.callback,\n \"message\": _vm.$t(rule.message)\n }\n }) : _vm._e();\n })], 2);\n }), _vm.forceDisplayActions || _vm.isSuperAdmin && ((_vm$actions = _vm.actions) === null || _vm$actions === void 0 ? void 0 : _vm$actions.length) > 0 || ((_vm$actions$filter = _vm.actions.filter(function (action) {\n return _vm.permissionList.includes(action.apiCode);\n })) === null || _vm$actions$filter === void 0 ? void 0 : _vm$actions$filter.length) > 0 ? _c('DxColumn', {\n attrs: {\n \"fixed\": true,\n \"fixed-position\": \"right\",\n \"showInColumnChooser\": false,\n \"caption\": _vm.$t('ar_common_operation'),\n \"alignment\": \"center\",\n \"cssClass\": \"action-column\",\n \"width\": \"100px\",\n \"cell-template\": \"action\"\n }\n }) : _vm._e(), _c('DxPaging', {\n attrs: {\n \"enabled\": !_vm.pageConfig.disablePagination,\n \"page-size\": _vm.pageConfig.pageSize || 20\n }\n }), _c('DxPager', {\n attrs: {\n \"visible\": !_vm.pageConfig.disablePagination,\n \"allowed-page-sizes\": _vm.pageConfig.pageSizes || [10, 20, 40, 0],\n \"display-mode\": _vm.pageConfig.displayMode || 'full',\n \"show-info\": _vm.pageConfig.ShowInfo || true,\n \"show-navigation-buttons\": _vm.pageConfig.showNavigationButtons || true,\n \"show-page-size-selector\": _vm.pageConfig.showPageSizeSelector || true,\n \"info-text\": ((_vm.$t('Page')) + \" {0} \" + (_vm.$t('of')) + \" {1} ({2} \" + (_vm.$t('record')) + \")\")\n }\n }), _c('DxScrolling', {\n attrs: {\n \"column-rendering-mode\": \"virtual\"\n }\n })], 2)], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./EzTable.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./EzTable.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EzTable.vue?vue&type=template&id=8f942682&\"\nimport script from \"./EzTable.js?vue&type=script&lang=js&\"\nexport * from \"./EzTable.js?vue&type=script&lang=js&\"\nimport style0 from \"./EzTable.vue?vue&type=style&index=0&id=8f942682&prod&lang=scss&\"\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 () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('section', {\n staticClass: \"add-bill\"\n }, [_c('b-modal', {\n attrs: {\n \"dialog-class\": \"dialog-class\",\n \"size\": \"lg\",\n \"centered\": \"\",\n \"title\": _vm.dataRefillForBill ? _vm.$t('ar_client_edit_pay') : _vm.$t('ar_client_add_pay'),\n \"hide-footer\": \"\"\n },\n on: {\n \"hidden\": _vm.clearValueInput\n },\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('validation-observer', {\n ref: \"formRef\"\n }, [_c('b-row', {\n staticClass: \"m-0 mt-1 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_cashier'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_client_cashier'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref) {\n var errors = _ref.errors;\n return [_c('v-select', {\n attrs: {\n \"options\": _vm.listDataCashier,\n \"label\": \"CashierName\",\n \"placeholder\": _vm.$t('ar_client_select_payer')\n },\n model: {\n value: _vm.cashierVal,\n callback: function ($$v) {\n _vm.cashierVal = $$v;\n },\n expression: \"cashierVal\"\n }\n }), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_payments'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_client_payments'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref2) {\n var errors = _ref2.errors;\n return [_c('b-form-select', {\n model: {\n value: _vm.payerVal,\n callback: function ($$v) {\n _vm.payerVal = $$v;\n },\n expression: \"payerVal\"\n }\n }, [_c('b-form-select-option', {\n attrs: {\n \"value\": null\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_payments\")))]), _vm._l(_vm.listPayment[0].PaymentMethod, function (item, index) {\n return _c('b-form-select-option-group', {\n key: index,\n attrs: {\n \"label\": item.Name\n }\n }, _vm._l(item.TransactionCode, function (itemMethod, index) {\n return _c('b-form-select-option', {\n key: index,\n attrs: {\n \"value\": {\n Group: item,\n Option: itemMethod\n }\n }\n }, [_vm._v(\" \" + _vm._s(itemMethod.Description) + \" \")]);\n }), 1);\n })], 2), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1)], 1), _c('b-row', {\n staticClass: \"m-0 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_voucher_type_currency'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_voucher_type_currency'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref3) {\n var errors = _ref3.errors;\n return [_c('v-select', {\n attrs: {\n \"options\": _vm.listCurrencyLocalStorage,\n \"placeholder\": _vm.$t('ar_client_select_type_currency'),\n \"label\": \"CurrencyCode\"\n },\n model: {\n value: _vm.typeCurrencyVal,\n callback: function ($$v) {\n _vm.typeCurrencyVal = $$v;\n },\n expression: \"typeCurrencyVal\"\n }\n }), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_input_money_number'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_client_input_money_number'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref4) {\n var errors = _ref4.errors;\n return [_c('b-form-input', {\n model: {\n value: _vm.dataInputForm.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.dataInputForm, \"Amount\", $$v);\n },\n expression: \"dataInputForm.Amount\"\n }\n }), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1)], 1), _c('b-row', {\n staticClass: \"m-0 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"12\"\n }\n }, [_c('b-form-group', {\n attrs: {\n \"label\": _vm.$t('ar_voucher_note'),\n \"label-cols\": \"1\"\n }\n }, [_c('b-form-textarea', {\n model: {\n value: _vm.dataInputForm.Note,\n callback: function ($$v) {\n _vm.$set(_vm.dataInputForm, \"Note\", $$v);\n },\n expression: \"dataInputForm.Note\"\n }\n })], 1)], 1)], 1)], 1), _c('div', {\n staticClass: \"w-100 border-top d-flex justify-content-end align-items-center p-1\"\n }, [_c('b-button', {\n attrs: {\n \"variant\": \"primary\"\n },\n on: {\n \"click\": _vm.acceptDataSave\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_voucher_save\")) + \" \")])], 1)], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddBill.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddBill.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalBoxAddBill.vue?vue&type=template&id=011518d8&\"\nimport script from \"./ModalBoxAddBill.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalBoxAddBill.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalBoxAddBill.vue?vue&type=style&index=0&id=011518d8&prod&lang=scss&\"\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 () {\n var _class, _class2;\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"form-group\",\n class: (_class = {\n 'row ': _vm.formGroupRow,\n 'label-requires': _vm.required || _vm.rules.required\n }, _class[(\"\" + (_vm.formGroupClass))] = _vm.formGroupClass, _class)\n }, [_vm.type !== 'divider' ? _c('label', {\n staticClass: \"d-block form-label\",\n class: (_class2 = {}, _class2[(\"\" + (_vm.labelClass))] = _vm.labelClass, _class2),\n staticStyle: {\n \"margin-bottom\": \"6px\"\n }\n }, [_vm._v(_vm._s(_vm.$t(_vm.label) + _vm.labelAfterFix || ''))]) : _vm._e(), _c('validation-provider', {\n attrs: {\n \"rules\": _vm.rules,\n \"name\": _vm.$t(_vm.label)\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref) {\n var errors = _ref.errors;\n return [_vm.type === 'date' ? _c('WidgetDateTime', {\n attrs: {\n \"clearable\": !_vm.noClearable,\n \"timePicker\": _vm.timePicker,\n \"max-date\": _vm.maxDate,\n \"disabled\": _vm.disabled,\n \"isRange\": _vm.isRange,\n \"placeholder\": _vm.$t(_vm.placeholder) || _vm.$t(_vm.label)\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.type === 'select' ? _c('WidgetSelect', {\n attrs: {\n \"disabledItemAfterFix\": _vm.disabledItemAfterFix,\n \"disabledItem\": _vm.disabledItem,\n \"defaultValue\": _vm.defaultValue,\n \"customOptions\": _vm.customOptions,\n \"errors\": errors,\n \"placeholder\": _vm.placeholder || _vm.label,\n \"dataSource\": _vm.dataSource,\n \"multiple\": _vm.multiple,\n \"noClearable\": _vm.noClearable,\n \"dataSourceParams\": _vm.dataSourceParams,\n \"label\": _vm.labelOption,\n \"disabled\": _vm.disabled,\n \"customReduce\": _vm.customReduce\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.type === 'divider' ? _c('WidgetDivider', {\n attrs: {\n \"variant\": _vm.variant,\n \"label\": _vm.label\n }\n }) : _vm._e(), _vm.type === 'string' ? _c('WidgetString', {\n attrs: {\n \"disabled\": _vm.disabled,\n \"rows\": _vm.rows,\n \"variant\": _vm.variant,\n \"errors\": errors,\n \"placeholder\": _vm.placeholder || _vm.label\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.type === 'cleave' ? _c('WidgetCleave', {\n attrs: {\n \"cleaveOptions\": _vm.cleaveOptions,\n \"defaultValue\": _vm.defaultValue,\n \"errors\": errors,\n \"type\": _vm.cleaveType,\n \"disabled\": _vm.disabled,\n \"placeholder\": _vm.placeholder || _vm.label\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.currentValue && _vm.showVnPriceText ? _c('div', {\n staticClass: \"text-right font-weight-bold font-italic text-primary\",\n staticStyle: {\n \"font-size\": \"10px\",\n \"margin-top\": \"6px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.numberToVnText(_vm.currentValue)) + \" \")]) : _vm._e(), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.variant === 'text' ? _c('h3', {\n staticClass: \"my-1\"\n }, [_vm._v(_vm._s(_vm.label))]) : _c('h3');\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDivider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDivider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetDivider.vue?vue&type=template&id=3737f6ea&\"\nimport script from \"./WidgetDivider.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetDivider.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","\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormItem.vue?vue&type=template&id=5dde2c67&\"\nimport script from \"./FormItem.vue?vue&type=script&lang=js&\"\nexport * from \"./FormItem.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 toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLabel.vue?vue&type=style&index=0&id=66f205bb&prod&lang=scss&scoped=true&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', {\n staticClass: \"search-list\",\n attrs: {\n \"title\": _vm.title ? _vm.$t(_vm.title) : ''\n }\n }, [_c('div', {\n staticClass: \"d-flex\"\n }, [_c('div', {\n staticClass: \"outline-none\",\n staticStyle: {\n \"width\": \"90%\",\n \"margin-right\": \"40px\"\n },\n attrs: {\n \"tabindex\": \"0\"\n },\n on: {\n \"keyup\": function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.$emit('search');\n }\n }\n }, [_vm._t(\"default\")], 2), _c('div', {\n staticStyle: {\n \"width\": \"10%\",\n \"padding-left\": \"20px\"\n }\n }, [_c('LoadingButton', {\n attrs: {\n \"className\": \"mt-3\",\n \"variant\": \"primary\"\n },\n on: {\n \"click\": function ($event) {\n return _vm.$emit('search');\n }\n }\n }, [_c('ez-icon', {\n staticStyle: {\n \"margin-right\": \"3px\"\n },\n attrs: {\n \"icon\": \"ezAr-icon-search\"\n }\n }), _vm._v(_vm._s(_vm.buttonText ? _vm.$t(_vm.buttonText) : _vm.$t(\"ar_common_search\")))], 1)], 1)])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchList.vue?vue&type=template&id=ff406d06&\"\nimport script from \"./SearchList.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchList.vue?vue&type=style&index=0&id=ff406d06&prod&lang=scss&\"\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 isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', [_c('b-modal', {\n attrs: {\n \"id\": \"modal-payment-for-distribution\",\n \"size\": \"md\",\n \"centered\": \"\",\n \"hide-footer\": \"\"\n },\n on: {\n \"hidden\": _vm.resetFormData,\n \"shown\": _vm.openForm\n },\n scopedSlots: _vm._u([{\n key: \"modal-header\",\n fn: function () {\n return [_c('h4', {\n staticClass: \"mb-0 text-primary\"\n }, [_vm._v(\" \" + _vm._s(_vm.isViewOnly && _vm.dataPayment ? _vm.$t('ar_client_invoice_details') : !_vm.isViewOnly && _vm.dataPayment ? _vm.$t('ar_client_edit_payment') : _vm.$t('ar_client_add_pay')) + \" \")]), _c('div', {\n staticClass: \"d-flex align-items-center\"\n }, [_vm.dataPayment && _vm.isValidPermission(_vm.apiCode) ? _c('ez-icon', {\n staticClass: \"mr-1\",\n class: {\n 'cursor-pointer': _vm.isViewOnly\n },\n attrs: {\n \"icon\": \"ezAr-icon-edit\",\n \"size\": \"24\",\n \"color\": _vm.isViewOnly ? '#ea5455' : '#ccc'\n },\n on: {\n \"click\": function ($event) {\n _vm.isViewOnly = false;\n }\n }\n }) : _vm._e(), _c('ez-icon', {\n staticClass: \"cursor-pointer\",\n attrs: {\n \"icon\": \"ezAr-icon-x\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": _vm.hideModal\n }\n })], 1)];\n },\n proxy: true\n }])\n }, [_c('b-card-body', [_c('b-overlay', {\n attrs: {\n \"show\": _vm.isLoading,\n \"opacity\": 0.3,\n \"rounded\": \"sm\"\n }\n }, [_c('validation-observer', {\n ref: \"formRef\"\n }, [_c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_payment_type')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.paymentTypeOptions,\n \"placeholder\": _vm.$t('golf_payment_payment_type'),\n \"clearable\": false,\n \"label\": \"title\",\n \"reduce\": function (option) {\n return option.value;\n }\n },\n model: {\n value: _vm.form.PaymentDetailType,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"PaymentDetailType\", $$v);\n },\n expression: \"form.PaymentDetailType\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\",\n on: {\n \"mouseleave\": function ($event) {\n return _vm.handlePaymentType('hide');\n }\n }\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_payment_method')))]), _c('WidgetSelect', {\n attrs: {\n \"defaultValue\": function (options) {\n return options.find(function (opt) {\n return opt.ParentKeyword === 'TMT';\n });\n },\n \"dataSource\": _vm.listPaymentType,\n \"customOptions\": function (options) {\n return options.map(function (option) {\n return Object.assign({}, option, {\n CodeName: ((option.ParentKeyword) + \" - \" + (option.NameVi))\n });\n });\n },\n \"label\": \"CodeName\",\n \"placeholder\": \"golf_payment_payment_method\",\n \"disabled\": _vm.isViewOnly\n },\n on: {\n \"change\": _vm.handleChoicePayment\n },\n model: {\n value: _vm.form.PaymentMethodId,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"PaymentMethodId\", $$v);\n },\n expression: \"form.PaymentMethodId\"\n }\n })], 1)])]), _vm.showFormInputPaymentMethod.VNPAY || _vm.showFormInputPaymentMethod.BANK ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('FormItem', {\n attrs: {\n \"type\": \"string\",\n \"disabled\": _vm.isViewOnly,\n \"rules\": {\n required: true\n },\n \"label\": \"ar_client_transaction_code\",\n \"placeholder\": \"ar_client_transaction_code\"\n },\n model: {\n value: _vm.form.TransactionCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"TransactionCode\", $$v);\n },\n expression: \"form.TransactionCode\"\n }\n })], 1), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm.showFormInputPaymentMethod.CARD ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_card_number')))]), _c('b-form-group', [_c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": false,\n \"options\": _vm.maskCreditCard,\n \"maxlength\": 50\n },\n model: {\n value: _vm.form.CardNumber,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CardNumber\", $$v);\n },\n expression: \"form.CardNumber\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm.showFormInputPaymentMethod.CREDIT ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('ar_client_card_owner')))]), _c('b-form-group', {\n staticClass: \"validate-voucher\"\n }, [_c('b-form-input', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"placeholder\": _vm.$t('ar_client_card_owner')\n },\n model: {\n value: _vm.form.AccountHolder,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"AccountHolder\", $$v);\n },\n expression: \"form.AccountHolder\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-8\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_card_number')))]), _c('b-form-group', [_c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.maskCreditCard,\n \"maxlength\": 50\n },\n model: {\n value: _vm.form.CardNumber,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CardNumber\", $$v);\n },\n expression: \"form.CardNumber\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-4\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_expiration_date')))]), _c('b-form-group', [_c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": false,\n \"options\": _vm.maskExpirationDate,\n \"placeholder\": \"MM/YY\"\n },\n model: {\n value: _vm.form.ExpirationDate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"ExpirationDate\", $$v);\n },\n expression: \"form.ExpirationDate\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm.PaymentMethodByVoucherInTransactionCode === _vm.TransactionCode ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)]), _vm.form.VoucherCode && _vm.voucherDetail ? _c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('p', {\n staticClass: \"text-danger mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('golf_voucher_name')) + \": \" + _vm._s(_vm.voucherDetail.Voucher.VoucherName) + \" \")]), _c('p', {\n staticClass: \"text-danger mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('golf_voucher_amount')) + \": \" + _vm._s(_vm.formatPrice(_vm.voucherDetail.TotalAmount)) + \" \")]), _c('p', {\n staticClass: \"text-danger mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('golf_voucher_time_apply')) + \": \" + _vm._s(_vm.convertUTC(_vm.voucherDetail.Voucher.OpenDate, 'DD/MM/YYYY')) + \" - \" + _vm._s(_vm.convertUTC(_vm.voucherDetail.Voucher.ExpirationDate, 'DD/MM/YYYY')) + \" \")])]) : _vm._e()]) : _vm.showFormInputPaymentMethod.OTHER && _vm.PaymentMethodByEvoucherInTransactionCode != _vm.TransactionCode && _vm.PaymentMethodByVoucherInTransactionCode != _vm.TransactionCode ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])]), _c('div', [_vm.showMoneyExchange ? _c('div', {\n staticClass: \"text-right money-exchange\"\n }, [_vm._v(\" = \" + _vm._s(_vm.totalAmountPaymentInputExchangeDisplay) + \" \")]) : _vm._e()])]), _c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm._e(), _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_cashier')))]), _c('b-form-group', [_c('WidgetSelect', {\n attrs: {\n \"customOptions\": function (options) {\n return options.map(function (option) {\n return Object.assign({}, option, {\n CodeName: ((option.TaUserCode) + \" - \" + (option.Fullname))\n });\n });\n },\n \"placeholder\": \"golf_payment_cashier\",\n \"dataSourceParams\": {\n IsCheckPermission: false\n },\n \"dataSource\": _vm.arClient.api_AP_RTU01,\n \"label\": \"CodeName\",\n \"disabled\": _vm.isViewOnly\n },\n model: {\n value: _vm.form.CashierId,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CashierId\", $$v);\n },\n expression: \"form.CashierId\"\n }\n })], 1)], 1)])]), _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col\"\n }, [_c('label', [_vm._v(_vm._s(_vm.$t('ar_client_note')))]), _c('b-form-textarea', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"placeholder\": _vm.$t('golf_payment_note'),\n \"rows\": \"2\",\n \"wrap\": \"soft\",\n \"maxlength\": 250\n },\n model: {\n value: _vm.form.Note,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Note\", $$v);\n },\n expression: \"form.Note\"\n }\n })], 1)]), _c('div', {\n staticClass: \"form-row mt-2 form-group text-right\"\n }, [_c('div', {\n staticClass: \"col\"\n }, [!_vm.isViewOnly ? _c('b-button', {\n staticStyle: {\n \"white-space\": \"nowrap\"\n },\n attrs: {\n \"variant\": \"primary\",\n \"disabled\": !_vm.isSubmit\n },\n on: {\n \"click\": _vm.createPaymentDetail_IPM04\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t('ar_common_save')) + \" \")]) : _vm._e()], 1)])])], 1)], 1)], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import vSelect from \"vue-select\";\nimport Decimal from \"decimal.js\";\n\nimport { arClient } from \"@/api/ar-client\";\nimport { ValidationObserver, ValidationProvider, extend } from \"vee-validate\";\n/* import PaymentType from \"@/views/modules/booking/PaymentType.vue\"; */\nimport Cleave from \"vue-cleave-component\";\nimport FormItem from \"../Form/components/FormItem/FormItem.vue\";\nimport PermissionButton from \"../../ultils/Button/PermissionButton.vue\";\nimport WidgetSelect from \"../../ultils/Form/components/Select/WidgetSelect.vue\";\n/* import SelectDebitAccount from \"@/views/modules/ultils/SelectDebitAccount\"; */\nimport { commonServices } from \"@/api/common-services\";\nimport { AR_UPAD01 } from \"@/api/constant\";\nimport { VoucherService } from \"@/api/voucher-service\";\n\nconst PaymentDetailType = {\n Payment: \"PAYMENT\",\n Refund: \"REFUND\",\n};\n\nconst PaymentMethodGroup = {\n AR: \"AR\",\n BANK: \"BANK\",\n CASH: \"CASH\",\n TMT: \"TMT\",\n CREDIT: \"CREDIT\",\n EZTICKET: \"EZTICKET\",\n EZGOLF: \"EZGOLF\",\n VNPAY: \"VNPAY\",\n OTHER: \"OTHER\",\n CARD: \"CARD\",\n QRCODE: \"QRCODE\",\n ROOM: \"ROOM\",\n VIP: \"VIP\",\n};\n\nconst paymentBase = {\n Id: null,\n PaymentCode: \"\",\n PaymentDate: \"\",\n FiscalPaymentDate: \"\",\n MemberId: null,\n TotalAmount: 0,\n ReceivedAmount: 0,\n PaymentDetail: [],\n};\n\nconst formBase = {\n PaymentMethodId: null,\n PaymentDetailType: null,\n Note: \"\",\n CashierId: null,\n Amount: 0,\n CurrencyCode: \"\",\n CardNumber: \"\",\n ClientId: null,\n DebitAccountId: null,\n ExpirationDate: null,\n Bdc: null,\n};\n\nexport default {\n components: {\n PermissionButton,\n FormItem,\n ValidationObserver,\n WidgetSelect,\n /* PaymentType,\n SelectDebitAccount, */\n vSelect,\n Cleave,\n },\n name: \"PaymentForDistribution\",\n props: {\n apiCode: String,\n isUpdate: Boolean,\n\n isShow: Boolean,\n paymentId: {\n type: String,\n },\n /* bookingDetailIdDistribution: {\n type: Number,\n }, */\n dataPayment: {\n type: Object,\n nullable: true,\n },\n /* distributionId: {\n type: Number,\n }, */\n },\n data() {\n return {\n isSubmit: true,\n isViewOnly: false,\n number: {\n numeral: true,\n numeralThousandsGroupStyle: \"thousand\",\n },\n LS_Currency: [],\n listDebtAccount: [],\n PaymentMethods: [],\n PaymentTypeData: [],\n form: {\n ArPaymentId: 0,\n PaymentMethodId: null,\n PaymentDetailType: null,\n Note: \"\",\n CashierId: null,\n Amount: 0,\n CurrencyCode: \"\",\n CardNumber: \"\",\n DebitAccountId: null,\n ClientId: null,\n ExpirationDate: null,\n Bdc: null,\n },\n fields: [\n {\n key: \"type\",\n label: \"ID\",\n thStyle: { width: \"80%\", display: \"none\" },\n tdClass: \"e-td\",\n },\n {\n key: \"total\",\n label: \"ID\",\n thStyle: { width: \"20%\", display: \"none\" },\n tdClass: \"e-td\",\n },\n ],\n paymentType: \"\",\n canShowPaymentType: false,\n paymentDr: { ...paymentBase },\n paymentAmountInputExchange: 0,\n debitAccountSelected: {\n Id: null,\n ClientName: \"\",\n },\n maskExpirationDate: {\n date: true,\n datePattern: [\"m\", \"y\"],\n delimiter: \"/\",\n },\n maskCreditCard: {\n creditCard: true,\n },\n Cashiers: [],\n paymentTypeOptions: [\n /* {\n title: this.$t(\"ar_client_refund\"),\n value: \"REFUND\",\n }, */\n {\n title: this.$t(\"ar_client_payment\"),\n value: \"PAYMENT\",\n },\n ],\n listPaymentType: [],\n zoneId: [],\n paymentTypeName: null,\n TransactionCode: null,\n listClient: [],\n arId: null,\n isLoading: false,\n PaymentMethodByEvoucherInTransactionCode: null,\n PaymentMethodByVoucherInTransactionCode: null,\n isLoadingCheckVoucher: false,\n };\n },\n created() {\n /* this.getPaymentConfig(); */\n this.getConfigInfo_RCOM01();\n this.getCurrencyList();\n },\n computed: {\n // paymentTypeOptions() {\n // return [\n // { title: this.$t('golf_common_payment'), value: PaymentDetailType.Payment },\n // { title: this.$t('golf_common_refund'), value: PaymentDetailType.Refund },\n // ]\n // },\n\n baseCurrency() {\n const baseCurrency = this.LS_Currency.find((s) => s.IsBase || false);\n return (\n baseCurrency || {\n CurrencyCode: \"\",\n NoOfDec: 0,\n }\n );\n },\n baseCurrencyCode() {\n return \"CurrencyCode\" in this.baseCurrency ? this.baseCurrency.CurrencyCode : \"\";\n },\n currencyCodeSelected() {\n return this.form.CurrencyCode || \"\";\n },\n currencySelected() {\n const currencySelectedDetail = this.LS_Currency.find(\n (s) => s.Format === this.currencyCodeSelected\n );\n if (typeof currencySelectedDetail !== \"undefined\") {\n return {\n DivBase: currencySelectedDetail.DivBase || false,\n ExRate: currencySelectedDetail.ExRate || 1,\n NoOfDec: currencySelectedDetail.NoOfDec || 0,\n };\n }\n return {\n CurrencyCode: this.currencyCodeSelected,\n DivBase: false,\n ExRate: 1,\n NoOfDec: 0,\n };\n },\n totalAmountPaymentBaseCurr() {\n if (this.paymentDr) {\n return this.paymentDr.TotalAmount || 0;\n }\n return 0;\n },\n totalAmountPaymentExchange() {\n if (this.currencyCodeSelected === this.baseCurrencyCode) {\n return this.totalAmountPaymentBaseCurr;\n }\n return this.GFn_GetExchangeMoney(this.totalAmountPaymentBaseCurr, this.currencySelected);\n },\n amountRemainPayment() {\n if (this.paymentDr) {\n const receivedAmount = this.paymentDr.ReceivedAmount || 0;\n const balance = this.totalAmountPaymentBaseCurr - receivedAmount;\n return balance >= 0 ? balance : 0;\n }\n return 0;\n },\n amountRemainPaymentExchange() {\n if (this.currencyCodeSelected === this.baseCurrencyCode) {\n return this.amountRemainPayment;\n }\n return this.GFn_GetExchangeMoney(this.amountRemainPayment, this.currencySelected);\n },\n isPaymentDiffBase() {\n return this.currencyCodeSelected !== this.baseCurrencyCode;\n },\n showMoneyExchange() {\n return this.isPaymentDiffBase;\n },\n // Format Display\n amountRemainPaymentDisplay() {\n return `${this.formatPrice(this.amountRemainPayment)} ${this.baseCurrencyCode}`;\n },\n totalAmountPaymentBaseCurrDisplay() {\n return `${this.formatPrice(this.totalAmountPaymentBaseCurr)} ${this.baseCurrencyCode}`;\n },\n totalAmountPaymentExchangeDisplay() {\n return `${this.formatPrice(this.totalAmountPaymentExchange)} ${this.currencyCodeSelected}`;\n },\n totalAmountPaymentInputExchangeDisplay() {\n return `${this.formatPrice(this.paymentAmountInputExchange)} ${this.baseCurrencyCode}`;\n },\n showFormInputPaymentMethod() {\n return {\n AR: this.paymentType === PaymentMethodGroup.AR,\n VNPAY: this.paymentType === PaymentMethodGroup.VNPAY,\n\n BANK: this.paymentType === PaymentMethodGroup.BANK,\n CASH: this.paymentType === PaymentMethodGroup.CASH,\n TMT: this.paymentType === PaymentMethodGroup.TMT,\n CREDIT: this.paymentType === PaymentMethodGroup.CREDIT,\n EZTICKET: this.paymentType === PaymentMethodGroup.EZTICKET,\n EZGOLF: this.paymentType === PaymentMethodGroup.EZGOLF,\n OTHER: this.paymentType === PaymentMethodGroup.OTHER,\n CARD: this.paymentType === PaymentMethodGroup.CARD,\n QRCODE: this.paymentType === PaymentMethodGroup.QRCODE,\n ROOM: this.paymentType === PaymentMethodGroup.ROOM,\n VIP: this.paymentType === PaymentMethodGroup.VIP,\n };\n },\n },\n methods: {\n async getCurrencyList() {\n const res = await arClient.api_AR_RCR01();\n if (res.Status === \"200\") {\n this.LS_Currency = res.Data.ListCurrency;\n }\n },\n\n async getConfigInfo_RCOM01() {\n /* const response = await arClient.api_AR_RCL01();\n if (response.Status === \"200\") {\n return */ this.call_api_RMT01();\n /* } */\n },\n async call_api_RMT01() {\n await arClient\n .api_AR_RMT01({\n ZoneId: [\"24\"],\n })\n .then(async (response) => {\n if (response.Status === \"200\") {\n this.listPaymentType = response?.Data?.ListPaymentMethod;\n\n /* this.paymentTypeOptions = response?.Data?.ListPaymentMethod.map((x) => ({\n title: x.Name,\n value: x.Code,\n })); */\n }\n });\n },\n async openForm() {\n this.isLoading = true;\n \n\n this.form.CurrencyCode = this.baseCurrencyCode;\n if (this.paymentId) {\n this.form.ArPaymentId = this.paymentId;\n }\n\n if (this.dataPayment) {\n this.isViewOnly = true;\n const { PaymentMethodId } = this.dataPayment;\n\n this.form = { ...this.form, ...this.dataPayment };\n\n /* this.handleChoicePayment(\n foundPaymentMethod,\n foundPaymentMethod.PaymentMethods.find((pm) => pm.Id === PaymentMethodId)\n ); */\n } else {\n /* this.handleChoicePayment(\n this.listPaymentType.find((t) => t.ParentKeyword === \"TMT\"),\n this.listPaymentType.find((t) => t.ParentKeyword === \"TMT\").PaymentMethods[0]\n ); */\n\n this.form.CurrencyCode = this.LS_Currency.find((c) => c.Format === \"VND\").Id;\n this.form.PaymentDetailType = this.paymentTypeOptions[0]?.value;\n\n this.isViewOnly = false;\n }\n this.isLoading = false;\n },\n resetFormData() {\n /* this.paymentType = \"\";\n this.paymentTypeName = null; */\n this.$emit(\"update:isUpdatingPayment\", false);\n if (this.dataPayment) this.isViewOnly = true;\n\n this.form = { ...formBase };\n this.paymentDr = { ...paymentBase };\n this.paymentAmountExchange = 0;\n this.PaymentTypeData = [];\n },\n onSelectPaymentType(ev) {\n if (ev.value === PaymentDetailType.Payment) {\n if (this.isPaymentDiffBase) {\n if (this.form.Amount > this.amountRemainPaymentExchange) {\n if (this.form.PaymentDetailType === PaymentDetailType.Payment) {\n this.form.Amount = this.amountRemainPaymentExchange;\n }\n }\n this.paymentAmountInputExchange = this.GFn_GetBaseMoneyFromExchange(\n this.form.Amount,\n this.currencySelected\n );\n } else if (\n this.form.Amount > this.amountRemainPayment &&\n this.form.PaymentDetailType === PaymentDetailType.Payment\n ) {\n this.form.Amount = this.amountRemainPayment;\n }\n }\n },\n onSelectCurrency(ev) {\n this.paymentAmountInputExchange = this.amountRemainPayment;\n this.form.Amount = this.amountRemainPaymentExchange;\n },\n onChangeAmount(ev) {\n if (ev < 0) {\n this.form.Amount = 0;\n }\n if (this.isPaymentDiffBase) {\n if (ev > this.amountRemainPaymentExchange) {\n if (this.form.PaymentDetailType === PaymentDetailType.Payment) {\n this.form.Amount = this.amountRemainPaymentExchange;\n }\n }\n this.paymentAmountInputExchange = this.GFn_GetBaseMoneyFromExchange(\n this.form.Amount,\n this.currencySelected\n );\n } else if (\n ev > this.amountRemainPayment &&\n this.form.PaymentDetailType === PaymentDetailType.Payment\n ) {\n this.form.Amount = this.amountRemainPayment;\n }\n },\n close() {\n this.$emit(\"closePopup\", true);\n },\n handleEvent() {},\n hideModal() {\n this.$bvModal.hide(\"modal-payment-for-distribution\");\n },\n\n getPaymentMethodDefault(paymentMethods) {\n let paymentMethodDefault = null;\n paymentMethods.forEach((s) => {\n const paymentMethodList = s.PaymentMethod || [];\n paymentMethodList.forEach((s1) => {\n if (s1.Code === PaymentMethodGroup.CASH) {\n paymentMethodDefault = {\n Id: s1.Id,\n Code: s1.Code,\n };\n }\n });\n });\n return paymentMethodDefault;\n },\n calTotalAmount() {\n const totalAmount = this.paymentDr.TotalAmount || 0;\n const receivedAmount = this.paymentDr.ReceivedAmount || 0;\n const balance = totalAmount - receivedAmount;\n const total = balance >= 0 ? balance : 0;\n if (this.paymentDr) {\n return `${this.formatPrice(total)} ${this.baseCurrencyCode}`;\n }\n return `0 ${this.baseCurrencyCode}`;\n },\n async createPaymentDetail_IPM04() {\n const amount = parseFloat(this.form.Amount || \"0\");\n const paymentData = {\n AccountHolder: this.form.AccountHolder,\n TransactionCode: this.form.TransactionCode,\n PaymentDetailType: this.form.PaymentDetailType,\n Id: this.form.Id,\n ArPaymentId: this.paymentId,\n PaymentGatewayCode: \"\",\n Qrcode: \"\",\n PaymentMethodId: this.form.PaymentMethodId,\n FiscalPaymentDetailDate: new Date(),\n Amount: amount,\n Note: this.form.Note,\n CurrencyCode: this.form.CurrencyCode,\n CardNumber: this.form.CardNumber,\n\n CashierId: this.form.CashierId,\n ExpirationDate: this.createFullDataExpirationDate(this.form.ExpirationDate),\n };\n\n const dataPost = {\n PaymentDetail: {\n ...paymentData,\n },\n };\n\n if (amount < 0 || amount === 0) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_money\"));\n return;\n }\n if (!paymentData.CurrencyCode) {\n this.showToast(\"error\", this.$t(\"golf_common_please_select_a_currency\"));\n return;\n }\n\n if (!paymentData.CashierId) {\n this.showToast(\"error\", this.$t(\"ar_client_please_select_cashier\"));\n return;\n }\n\n if (\n (this.paymentType === PaymentMethodGroup.VNPAY ||\n this.paymentType === PaymentMethodGroup.BANK) &&\n !this.form.TransactionCode\n ) {\n this.showToast(\"error\", this.$t(\"ar_client_please_select_transaction_code\"));\n return;\n }\n\n if (!this.paymentType || this.form.PaymentMethodId === null) {\n this.showToast(\"error\", this.$t(\"golf_common_please_select_payment_type\"));\n return;\n }\n if (this.paymentType === PaymentMethodGroup.AR) {\n if (!this.form.DebitAccountId) {\n this.showToast(\"error\", this.$t(\"golf_common_please_choose_debit_account\"));\n return;\n }\n }\n if (this.paymentType === PaymentMethodGroup.CARD && !this.form.CardNumber) {\n if (!this.form.DebitAccountId) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_card_number\"));\n return;\n }\n }\n if (this.paymentType === PaymentMethodGroup.CREDIT) {\n if (!this.form.AccountHolder) {\n this.showToast(\"error\", this.$t(\"ar_client_please_select_card_owner\"));\n return;\n }\n if (!this.form.CardNumber) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_card_number\"));\n return;\n }\n if (!this.form.ExpirationDate) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_expiration_date\"));\n return;\n }\n }\n\n if (this.bookingDetailIdDistribution) {\n const body = {\n TotalAmount: 0,\n Code: null,\n CashierCode:\n this.form.CashierCode && this.form.CashierCode.id\n ? `${this.form.CashierCode.id}`\n : null,\n PaymentDetail: [paymentData],\n };\n } else {\n this.isSubmit = false;\n this.$emit(!this.dataPayment ? \"accept-data\" : \"accept-data-edit\", paymentData);\n setTimeout(() => {\n this.isSubmit = true;\n }, 2000);\n }\n },\n getMemberPay() {\n if (this.paymentDr) {\n return `Hóa đơn #${this.paymentDr.Id} ${this.paymentDr.FullName}`;\n }\n return \"\";\n },\n\n openModalDeletePaymentDetail(id) {\n this.$emit(\"event\", { type: \"open_modal_delete_payment_detail\", paymentDetailId: id });\n },\n handlePaymentType(type) {\n const isShow = type === \"show\";\n if (this.isViewOnly) return;\n this.canShowPaymentType = isShow;\n },\n handleChoicePayment(payment) {\n this.paymentType = payment.ParentKeyword;\n\n this.canShowPaymentType = false;\n if (\n this.paymentType !== PaymentMethodGroup.CREDIT &&\n this.paymentType !== PaymentMethodGroup.CARD\n ) {\n this.form.CardNumber = \"\";\n }\n },\n getPaymentMethodNameById(id) {\n let name = id;\n this.PaymentMethods.forEach((x) => {\n x.PaymentMethod.forEach((y) => {\n if (y.Id === id) {\n name = y.Name;\n }\n });\n });\n return name;\n },\n openSelectARAccount() {\n this.$root.$emit(\"bv::show::modal\", \"modal-select-ar\");\n },\n \n selectArAccount(arAccountData) {\n Object.keys(this.debitAccountSelected).forEach((arKey) => {\n if (arKey in arAccountData) {\n this.debitAccountSelected[arKey] = arAccountData[arKey];\n }\n });\n this.form.DebitAccountId = this.debitAccountSelected.Id;\n this.form.ClientId = this.debitAccountSelected.Id;\n },\n createFullDataExpirationDate(shortExpirationDate) {\n if (shortExpirationDate) {\n const [month, yearOld] = shortExpirationDate.split(\"/\");\n const year = this.dayjs(`${month}/01/${yearOld}`).format(\"YYYY\");\n return new Date(year, month, 0, 23, 59, 59);\n }\n return null;\n },\n GFn_GetExchangeMoney(baseMoney, { DivBase, ExRate, NoOfDec }) {\n const baseMoneyToDecimal = new Decimal(baseMoney || 0);\n let exchangeMoney = 0;\n const noOfDec = NoOfDec || 0;\n const exRate = ExRate || 1;\n if (DivBase || false) {\n exchangeMoney = Decimal.div(baseMoneyToDecimal, exRate).toFixed(noOfDec);\n } else {\n exchangeMoney = Decimal.mul(baseMoneyToDecimal, exRate).toFixed(noOfDec);\n }\n return new Decimal(exchangeMoney).mul(1).toNumber();\n },\n GFn_GetBaseMoneyFromExchange(exchangeMoney, { DivBase, ExRate }) {\n const exchangeMoneyToDecimal = new Decimal(exchangeMoney || 0);\n let baseMoney = 0;\n const noOfDec = this.baseCurrency.NoOfDec || 0;\n const exRate = ExRate || 1;\n if (DivBase || false) {\n baseMoney = Decimal.mul(exchangeMoneyToDecimal, exRate).toFixed(noOfDec);\n } else {\n baseMoney = Decimal.div(exchangeMoneyToDecimal, exRate).toFixed(noOfDec);\n }\n return new Decimal(baseMoney).mul(1).toNumber();\n },\n },\n setup() {\n return { AR_UPAD01 };\n },\n watch: {\n form: {\n handler: function (value) {},\n deep: true,\n },\n },\n};\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./PaymentForDistribution.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./PaymentForDistribution.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentForDistribution.vue?vue&type=template&id=6ff9ecfd&\"\nimport script from \"./PaymentForDistribution.js?vue&type=script&lang=js&\"\nexport * from \"./PaymentForDistribution.js?vue&type=script&lang=js&\"\nimport style0 from \"./PaymentForDistribution.vue?vue&type=style&index=0&id=6ff9ecfd&prod&lang=scss&\"\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","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var render = function () {\n var _vm$detailData;\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('SectionTransformTable', [_c('PaymentForDistribution', {\n attrs: {\n \"api-code\": _vm.AP_UPD01,\n \"dataPayment\": _vm.detailPaymentData,\n \"paymentId\": (_vm$detailData = _vm.detailData) === null || _vm$detailData === void 0 ? void 0 : _vm$detailData.Id\n },\n on: {\n \"accept-data\": function (value) {\n var convertedValue = Object.assign({}, value, {\n ApPaymentId: value.ArPaymentId\n });\n delete convertedValue.ArPaymentId;\n var body = {\n ApPaymentDetail: convertedValue\n };\n _vm.acceptDataSaveForBill(body);\n },\n \"accept-data-edit\": function (value) {\n var convertedValue = Object.assign({}, value, {\n ApPaymentId: value.ArPaymentId\n });\n delete convertedValue.ArPaymentId;\n var body = {\n ApPaymentDetail: convertedValue\n };\n _vm.acceptDataEditForBill(body);\n }\n }\n }), _vm.detailData ? _c('ModalListPayAp', {\n attrs: {\n \"isShow\": _vm.isShowModalListPayAp,\n \"data\": _vm.detailData\n },\n on: {\n \"refetch\": function (data) {\n return _vm.fetchDetailApPayment({\n ApPayment: {\n Id: data.data.Id\n }\n });\n },\n \"update:isShow\": function ($event) {\n _vm.isShowModalListPayAp = $event;\n },\n \"update:is-show\": function ($event) {\n _vm.isShowModalListPayAp = $event;\n }\n }\n }) : _vm._e(), _c('SearchList', {\n attrs: {\n \"title\": 'ap_client_list_pay',\n \"buttonText\": \"ar_common_search\"\n },\n on: {\n \"search\": _vm.refetchData\n }\n }, [_c('FormItems', {\n attrs: {\n \"formData\": _vm.searchVal,\n \"items\": _vm.formItems\n },\n on: {\n \"update:formData\": function ($event) {\n _vm.searchVal = $event;\n },\n \"update:form-data\": function ($event) {\n _vm.searchVal = $event;\n }\n }\n })], 1), _c('b-card', [_c('EzTable', {\n ref: \"tableRef\",\n attrs: {\n \"actions\": _vm.actions,\n \"selectionConfig\": {\n hideSelectAll: true\n },\n \"excelExport\": _vm.arClient.api_ExcelAP_RP01,\n \"excel-export-api-code\": _vm.AP_RP03,\n \"isLoading\": _vm.isLoading,\n \"columns\": _vm.listPayApColumns,\n \"dataSourceParams\": _vm.searchVal,\n \"dataSource\": _vm.arClient.api_AP_RP01\n },\n on: {\n \"action-1\": function (data) {\n return _vm.fetchDetailApPayment({\n ApPayment: {\n Id: data.data.Id\n }\n });\n },\n \"action-2\": function (data) {\n return _vm.deletePayment({\n ApPayment: {\n Id: data.data.Id\n }\n });\n },\n \"selection-changed\": _vm.onSelectionChanged\n },\n scopedSlots: _vm._u([{\n key: \"toolbar\",\n fn: function () {\n return [_c('div', {\n staticClass: \"d-flex\"\n }, [_c('PermissionButton', {\n attrs: {\n \"api-code\": _vm.AP_UP02,\n \"variant\": \"outline-primary\"\n },\n on: {\n \"click\": _vm.handleApproveListPay\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-navigation\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.$t('ap_client_approve')) + \" \")], 1), _c('PermissionButton', {\n staticStyle: {\n \"margin-left\": \"6px\"\n },\n attrs: {\n \"api-code\": _vm.AP_UP04,\n \"variant\": \"outline-primary\"\n },\n on: {\n \"click\": _vm.handleConfirmListPay\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-check\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.$t('golf_common_confirm')) + \" \")], 1)], 1)];\n },\n proxy: true\n }])\n })], 1), _c('SidebarSection', {\n attrs: {\n \"width\": \"900px\",\n \"title\": \"ap_client_detail\",\n \"isShow\": _vm.isShowSidebar\n },\n on: {\n \"close\": _vm.handleClose,\n \"update:isShow\": function ($event) {\n _vm.isShowSidebar = $event;\n },\n \"update:is-show\": function ($event) {\n _vm.isShowSidebar = $event;\n }\n }\n }, [_c('div', {\n staticClass: \"mt-1\"\n }, [_c('b-row', {\n staticClass: \"m-0 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('h6', {\n staticClass: \"content-title\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('ar_voucher_general_information')) + \" \")])]), _c('b-col', {\n staticClass: \"d-flex justify-content-end\",\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('ez-icon', {\n staticClass: \"cursor-pointer mx-50\",\n class: {\n 'd-none': !_vm.isValidPermission(_vm.AP_UP01)\n },\n attrs: {\n \"icon\": \"ezAr-icon-edit\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": function ($event) {\n _vm.isShowModalListPayAp = true;\n }\n }\n })], 1)], 1), _c('GeneralInfo', {\n attrs: {\n \"leftWidth\": \"160px\",\n \"rightWidth\": \"80px\",\n \"list\": _vm.listGeneral\n }\n })], 1), _c('div', {\n staticClass: \"divider\"\n }), _c('h6', {\n staticClass: \"mb-2 mt-1 ml-1\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('ar_client_selected_list_account')) + \" \")]), _c('div', {\n staticClass: \"px-1\"\n }, [_c('EzTable', {\n attrs: {\n \"toolbarConfig\": {\n disableToolbar: true\n },\n \"pageConfig\": {\n disablePagination: true\n },\n \"columns\": _vm.listAccountColumns,\n \"dataSource\": _vm.detailData.ApPaymentDistribution\n }\n })], 1), _c('div', {\n staticClass: \"divider\"\n }), _c('div', {\n staticClass: \"mb-2 mt-1 mx-1 d-flex justify-content-between\"\n }, [_c('h6', [_vm._v(\" \" + _vm._s(_vm.$t('ar_client_list_payment')) + \" \")]), _c('PermissionButton', {\n attrs: {\n \"api-code\": _vm.AP_RPD01,\n \"disabled\": _vm.isFutureDate(_vm.detailData.PaymentDate),\n \"variant\": \"primary\"\n },\n on: {\n \"click\": function () {\n return _vm.handleShowPayment();\n }\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-plus-circle\"\n }\n }), _c('span', {\n staticStyle: {\n \"margin-left\": \"3px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t('ar_client_add_pay')))])], 1)], 1), _c('div', {\n staticClass: \"px-1 pb-3\"\n }, [_c('EzTable', {\n attrs: {\n \"toolbarConfig\": {\n disableToolbar: true\n },\n \"pageConfig\": {\n disablePagination: true\n },\n \"actions\": _vm.paymentActions,\n \"columns\": _vm.listPaymentColumns,\n \"dataSource\": _vm.detailData.ListApPaymentDetail\n },\n on: {\n \"action-1\": function (data) {\n return _vm.handleShowPayment(data.data.Id);\n },\n \"action-2\": function (data) {\n return _vm.deleteApPayment({\n ApPaymentDetail: {\n Id: data.data.Id\n }\n });\n }\n }\n })], 1)])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPayAp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPayAp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListPayAp.vue?vue&type=template&id=f8549656&scoped=true&\"\nimport script from \"./ListPayAp.vue?vue&type=script&lang=js&\"\nexport * from \"./ListPayAp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ListPayAp.vue?vue&type=style&index=0&id=f8549656&prod&lang=scss&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 \"f8549656\",\n null\n \n)\n\nexport default component.exports","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('validation-observer', {\n ref: \"observerRef\"\n }, [_c('div', {\n staticClass: \"p-1\"\n }, [_c('div', {\n staticClass: \"row\"\n }, _vm._l(_vm.itemsConverted, function (item, index) {\n return _vm.items.length > 0 && !item.hide ? _c('div', {\n class: item.wrapperClass || _vm.defaultWrapperClass\n }, [_c('FormItem', _vm._b({\n attrs: {\n \"value\": _vm.formData[item.name]\n },\n on: {\n \"input\": function (v) {\n return _vm.updateFormData(item.name, v);\n }\n }\n }, 'FormItem', item, false))], 1) : _vm._e();\n }), 0)])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import WidgetSelect from \"./components/Select/WidgetSelect.vue\";\nimport WidgetString from \"./components/String/WidgetString.vue\";\nimport WidgetDateTime from \"./components/DateTime/WidgetDatetime.vue\";\n\nimport FormItem from \"./components/FormItem/FormItem.vue\";\nimport { required, max, min, regex, minValue } from \"@validations\";\nimport _ from \"lodash\";\n\nimport { ValidationObserver, ValidationProvider, extend } from \"vee-validate\";\nimport { BFormGroup, BFormInput } from \"bootstrap-vue\";\nimport { Fragment } from \"vue-fragment\";\nimport { defineComponent } from \"@vue/composition-api\";\n\nexport default defineComponent({\n name: \"FormItems\",\n props: {\n disabled: Boolean,\n formClass: String,\n formData: {\n type: Object,\n default() {\n return {};\n },\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n numberOfCol: {\n type: Number,\n },\n },\n data() {\n return {\n required,\n max,\n min,\n regex,\n };\n },\n components: {\n Fragment,\n WidgetDateTime,\n WidgetSelect,\n WidgetString,\n ValidationObserver,\n ValidationProvider,\n BFormGroup,\n BFormInput,\n FormItem,\n },\n watch: {\n formData: {\n handler: function (value) {\n console.log(value, \"5333\");\n if (value) {\n const temp = { ...value };\n this.items.forEach((item) => {\n // handle dateRange value\n if (\n item.rangeData &&\n Array.isArray(item.rangeData) &&\n typeof item.rangeData[0] === \"string\"\n ) {\n if (temp[item.name]) {\n temp[item.rangeData[0]] = temp[item.name].startDate;\n temp[item.rangeData[1]] = this.formatEndDate(temp[item.name].endDate);\n delete temp[item.name];\n this.$emit(\"update:formData\", temp);\n } else if (\n temp[item.rangeData[0]] &&\n temp[item.rangeData[1]] &&\n !temp[item.name] &&\n typeof temp[item.name] === \"object\"\n ) {\n delete temp[item.name];\n delete temp[item.rangeData[0]];\n delete temp[item.rangeData[1]];\n this.$emit(\"update:formData\", temp);\n }\n }\n });\n }\n },\n deep: true,\n },\n },\n created() {\n const temp = { ...this.formData };\n this.items.forEach((item) => {\n if (item.type === \"date\" && item.defaultValue && item.rangeData) {\n item.rangeData.forEach((v, index) => {\n temp[v] = item.defaultValue[index];\n });\n }\n });\n\n /* this.$emit(\"update:formData\",temp) */\n },\n methods: {\n updateFormData(name, v) {\n console.log(name, v, \"1066\");\n this.$emit(\"update:formData\", { ...this.formData, [`${name}`]: v });\n this.$emit(\"input-change\", name, v);\n },\n validate() {\n return this.$refs.observerRef.validate();\n },\n },\n computed: {\n itemsConverted() {\n return this.items?.map((item) => {\n let temp = { ...item };\n const tempRules = { ...item.rules };\n if (item.required) {\n tempRules[\"required\"] = item.required;\n /* if (item.rules) {\n temp[\"rules\"] = `required|${item.rules}`;\n } */\n }\n if (item.pattern) {\n tempRules[\"pattern\"] = true;\n }\n\n if (item.customValidate) {\n tempRules[\"customValidate\"] = true;\n }\n if (item.rules) {\n /* temp[\"rules\"] = item.rules; */\n }\n if (this.disabled) {\n temp[\"disabled\"] = true;\n }\n temp[\"rules\"] = { ...tempRules };\n return temp;\n });\n },\n defaultWrapperClass() {\n return this.numberOfCol ? 12 / this.numberOfCol : \"col-6\";\n },\n },\n});\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./FormItems.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./FormItems.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormItems.vue?vue&type=template&id=2232addc&\"\nimport script from \"./FormItems.js?vue&type=script&lang=js&\"\nexport * from \"./FormItems.js?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","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetString.vue?vue&type=style&index=0&id=2ec64508&prod&lang=scss&\"","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalListPayAp.vue?vue&type=style&index=0&id=2a5720d9&prod&lang=scss&\"","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n"],"sourceRoot":""}