diff --git a/index.html b/index.html
index 0053efc..b566e0c 100644
--- a/index.html
+++ b/index.html
@@ -5,6 +5,8 @@
ChatGPT | OVINC
+
+
diff --git a/public/extra-assets/js/cos-js-sdk-v5.min.js b/public/extra-assets/js/cos-js-sdk-v5.min.js
new file mode 100644
index 0000000..560c110
--- /dev/null
+++ b/public/extra-assets/js/cos-js-sdk-v5.min.js
@@ -0,0 +1,9810 @@
+!(function (e, t) {
+ 'object' == typeof exports && 'object' == typeof module
+ ? (module.exports = t())
+ : 'function' == typeof define && define.amd
+ ? define([], t)
+ : 'object' == typeof exports
+ ? (exports.COS = t())
+ : (e.COS = t());
+})(this, function () {
+ return (function (e) {
+ var t = {};
+ function n(r) {
+ if (t[r]) return t[r].exports;
+ var o = (t[r] = { i: r, l: !1, exports: {} });
+ return e[r].call(o.exports, o, o.exports, n), (o.l = !0), o.exports;
+ }
+ return (
+ (n.m = e),
+ (n.c = t),
+ (n.d = function (e, t, r) {
+ n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r });
+ }),
+ (n.r = function (e) {
+ 'undefined' != typeof Symbol &&
+ Symbol.toStringTag &&
+ Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
+ Object.defineProperty(e, '__esModule', { value: !0 });
+ }),
+ (n.t = function (e, t) {
+ if ((1 & t && (e = n(e)), 8 & t)) return e;
+ if (4 & t && 'object' == typeof e && e && e.__esModule) return e;
+ var r = Object.create(null);
+ if ((n.r(r), Object.defineProperty(r, 'default', { enumerable: !0, value: e }), 2 & t && 'string' != typeof e))
+ for (var o in e)
+ n.d(
+ r,
+ o,
+ function (t) {
+ return e[t];
+ }.bind(null, o),
+ );
+ return r;
+ }),
+ (n.n = function (e) {
+ var t =
+ e && e.__esModule
+ ? function () {
+ return e.default;
+ }
+ : function () {
+ return e;
+ };
+ return n.d(t, 'a', t), t;
+ }),
+ (n.o = function (e, t) {
+ return Object.prototype.hasOwnProperty.call(e, t);
+ }),
+ (n.p = '/dist/'),
+ n((n.s = 10))
+ );
+ })([
+ function (e, t) {
+ function n(t) {
+ return (
+ (e.exports = n =
+ 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
+ ? function (e) {
+ return typeof e;
+ }
+ : function (e) {
+ return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype
+ ? 'symbol'
+ : typeof e;
+ }),
+ (e.exports.__esModule = !0),
+ (e.exports.default = e.exports),
+ n(t)
+ );
+ }
+ (e.exports = n), (e.exports.__esModule = !0), (e.exports.default = e.exports);
+ },
+ function (e, t, n) {
+ 'use strict';
+ (function (t) {
+ var r = n(0),
+ o = n(12),
+ i = n(15),
+ a = n(16),
+ s = n(21),
+ c = n(22),
+ u = n(6);
+ function l(e) {
+ return encodeURIComponent(e)
+ .replace(/!/g, '%21')
+ .replace(/'/g, '%27')
+ .replace(/\(/g, '%28')
+ .replace(/\)/g, '%29')
+ .replace(/\*/g, '%2A');
+ }
+ function d(e, t) {
+ var n = [];
+ for (var r in e) e.hasOwnProperty(r) && n.push(t ? l(r).toLowerCase() : r);
+ return n.sort(function (e, t) {
+ return (e = e.toLowerCase()) === (t = t.toLowerCase()) ? 0 : e > t ? 1 : -1;
+ });
+ }
+ var p,
+ f = [
+ 'cache-control',
+ 'content-disposition',
+ 'content-encoding',
+ 'content-length',
+ 'content-md5',
+ 'expect',
+ 'expires',
+ 'host',
+ 'if-match',
+ 'if-modified-since',
+ 'if-none-match',
+ 'if-unmodified-since',
+ 'origin',
+ 'range',
+ 'transfer-encoding',
+ ],
+ h = function (e, t, n) {
+ var r = t / 8,
+ o = e.slice(n, n + r);
+ return new Uint8Array(o).reverse(), new { 8: Uint8Array, 16: Uint16Array, 32: Uint32Array }[t](o)[0];
+ },
+ m = function (e, t, n, r) {
+ var o = e.slice(t, n),
+ i = '';
+ return (
+ new Uint8Array(o).forEach(function (e) {
+ i += String.fromCharCode(e);
+ }),
+ r && (i = decodeURIComponent(escape(i))),
+ i
+ );
+ },
+ g = function () {},
+ y = function (e) {
+ var t = {};
+ for (var n in e) e.hasOwnProperty(n) && void 0 !== e[n] && null !== e[n] && (t[n] = e[n]);
+ return t;
+ },
+ v =
+ ((p = function (e, t) {
+ (e = e.split('.')), (t = t.split('.'));
+ for (var n = 0; n < t.length; n++) if (e[n] !== t[n]) return parseInt(e[n]) > parseInt(t[n]) ? 1 : -1;
+ return 0;
+ }),
+ (function (e) {
+ if (!e) return !1;
+ var t = (e.match(/Chrome\/([.\d]+)/) || [])[1],
+ n = (e.match(/QBCore\/([.\d]+)/) || [])[1],
+ r = (e.match(/QQBrowser\/([.\d]+)/) || [])[1];
+ return (
+ (t && p(t, '53.0.2785.116') < 0 && n && p(n, '3.53.991.400') < 0 && r && p(r, '9.0.2524.400') <= 0) ||
+ !1
+ );
+ })('undefined' != typeof navigator && navigator.userAgent)),
+ C = 1048576;
+ function k(e) {
+ return R(e, function (e) {
+ return 'object' === r(e) && null !== e ? k(e) : e;
+ });
+ }
+ function S(e, t) {
+ return (
+ T(t, function (n, r) {
+ e[r] = t[r];
+ }),
+ e
+ );
+ }
+ function b(e) {
+ return e instanceof Array;
+ }
+ function T(e, t) {
+ for (var n in e) e.hasOwnProperty(n) && t(e[n], n);
+ }
+ function R(e, t) {
+ var n = b(e) ? [] : {};
+ for (var r in e) e.hasOwnProperty(r) && (n[r] = t(e[r], r));
+ return n;
+ }
+ var E = function (e, t) {
+ var n = t.Bucket,
+ r = t.Region,
+ o = t.Key,
+ i = this.options.Domain,
+ a = !i || ('string' == typeof i && i.indexOf('{Bucket}') > -1),
+ s = !i || ('string' == typeof i && i.indexOf('{Region}') > -1);
+ if (
+ e.indexOf('Bucket') > -1 ||
+ 'deleteMultipleObject' === e ||
+ 'multipartList' === e ||
+ 'listObjectVersions' === e
+ ) {
+ if (a && !n) return 'Bucket';
+ if (s && !r) return 'Region';
+ } else if (
+ e.indexOf('Object') > -1 ||
+ e.indexOf('multipart') > -1 ||
+ 'sliceUploadFile' === e ||
+ 'abortUploadTask' === e
+ ) {
+ if (a && !n) return 'Bucket';
+ if (s && !r) return 'Region';
+ if (!o) return 'Key';
+ }
+ return !1;
+ },
+ w = function (e, t) {
+ if (((t = S({}, t)), 'getAuth' !== e && 'getV4Auth' !== e && 'getObjectUrl' !== e)) {
+ var n = t.Headers || {};
+ if (t && 'object' === r(t)) {
+ !(function () {
+ for (var e in t) t.hasOwnProperty(e) && e.indexOf('x-cos-') > -1 && (n[e] = t[e]);
+ })();
+ O.each(
+ {
+ 'x-cos-mfa': 'MFA',
+ 'Content-MD5': 'ContentMD5',
+ 'Content-Length': 'ContentLength',
+ 'Content-Type': 'ContentType',
+ Expect: 'Expect',
+ Expires: 'Expires',
+ 'Cache-Control': 'CacheControl',
+ 'Content-Disposition': 'ContentDisposition',
+ 'Content-Encoding': 'ContentEncoding',
+ Range: 'Range',
+ 'If-Modified-Since': 'IfModifiedSince',
+ 'If-Unmodified-Since': 'IfUnmodifiedSince',
+ 'If-Match': 'IfMatch',
+ 'If-None-Match': 'IfNoneMatch',
+ 'x-cos-copy-source': 'CopySource',
+ 'x-cos-copy-source-Range': 'CopySourceRange',
+ 'x-cos-metadata-directive': 'MetadataDirective',
+ 'x-cos-copy-source-If-Modified-Since': 'CopySourceIfModifiedSince',
+ 'x-cos-copy-source-If-Unmodified-Since': 'CopySourceIfUnmodifiedSince',
+ 'x-cos-copy-source-If-Match': 'CopySourceIfMatch',
+ 'x-cos-copy-source-If-None-Match': 'CopySourceIfNoneMatch',
+ 'x-cos-acl': 'ACL',
+ 'x-cos-grant-read': 'GrantRead',
+ 'x-cos-grant-write': 'GrantWrite',
+ 'x-cos-grant-full-control': 'GrantFullControl',
+ 'x-cos-grant-read-acp': 'GrantReadAcp',
+ 'x-cos-grant-write-acp': 'GrantWriteAcp',
+ 'x-cos-storage-class': 'StorageClass',
+ 'x-cos-traffic-limit': 'TrafficLimit',
+ 'x-cos-mime-limit': 'MimeLimit',
+ 'x-cos-server-side-encryption-customer-algorithm': 'SSECustomerAlgorithm',
+ 'x-cos-server-side-encryption-customer-key': 'SSECustomerKey',
+ 'x-cos-server-side-encryption-customer-key-MD5': 'SSECustomerKeyMD5',
+ 'x-cos-server-side-encryption': 'ServerSideEncryption',
+ 'x-cos-server-side-encryption-cos-kms-key-id': 'SSEKMSKeyId',
+ 'x-cos-server-side-encryption-context': 'SSEContext',
+ 'Pic-Operations': 'PicOperations',
+ },
+ function (e, r) {
+ void 0 !== t[e] && (n[r] = t[e]);
+ },
+ ),
+ (t.Headers = y(n));
+ }
+ }
+ return t;
+ },
+ A = function (e) {
+ return Date.now() + (e || 0);
+ },
+ x =
+ 'object' === ('undefined' == typeof navigator ? 'undefined' : r(navigator)) &&
+ !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
+ I =
+ 'object' === ('undefined' == typeof navigator ? 'undefined' : r(navigator)) &&
+ /\sQQ/i.test(navigator.userAgent),
+ O = {
+ noop: g,
+ formatParams: w,
+ apiWrapper: function (e, t) {
+ return function (n, r) {
+ var o,
+ i = this;
+ if (('function' == typeof n && ((r = n), (n = {})), (n = w(e, n)), i.options.EnableTracker))
+ if ('sliceUploadFile' === n.calledBySdk)
+ o = n.tracker && n.tracker.generateSubTracker({ apiName: e });
+ else if (['uploadFile', 'uploadFiles'].includes(e)) o = null;
+ else {
+ var a = -1;
+ n.Body && (a = 'string' == typeof n.Body ? n.Body.length : n.Body.size || n.Body.byteLength || -1),
+ (o = new u({
+ bucket: n.Bucket,
+ region: n.Region,
+ apiName: e,
+ fileKey: n.Key,
+ fileSize: a,
+ deepTracker: i.options.DeepTracker,
+ customId: i.options.CustomId,
+ delay: i.options.TrackerDelay,
+ }));
+ }
+ n.tracker = o;
+ var s = function (e) {
+ return (
+ e &&
+ e.headers &&
+ (e.headers['x-cos-request-id'] && (e.RequestId = e.headers['x-cos-request-id']),
+ e.headers['x-ci-request-id'] && (e.RequestId = e.headers['x-ci-request-id']),
+ e.headers['x-cos-version-id'] && (e.VersionId = e.headers['x-cos-version-id']),
+ e.headers['x-cos-delete-marker'] && (e.DeleteMarker = e.headers['x-cos-delete-marker'])),
+ e
+ );
+ },
+ c = function (e, t) {
+ o && o.formatResult(e, t), r && r(s(e), s(t));
+ },
+ l = (function () {
+ if ('getService' !== e && 'abortUploadTask' !== e) {
+ var t = E.call(i, e, n);
+ if (t) return 'missing param ' + t;
+ if (n.Region) {
+ if (i.options.CompatibilityMode) {
+ if (!/^([a-z\d-.]+)$/.test(n.Region)) return 'Region format error.';
+ } else {
+ if (n.Region.indexOf('cos.') > -1) return 'param Region should not be start with "cos."';
+ if (!/^([a-z\d-]+)$/.test(n.Region)) return 'Region format error.';
+ }
+ !i.options.CompatibilityMode &&
+ -1 === n.Region.indexOf('-') &&
+ 'yfb' !== n.Region &&
+ 'default' !== n.Region &&
+ n.Region;
+ }
+ if (n.Bucket) {
+ if (!/^([a-z\d-]+)-(\d+)$/.test(n.Bucket))
+ if (n.AppId) n.Bucket = n.Bucket + '-' + n.AppId;
+ else {
+ if (!i.options.AppId) return 'Bucket should format as "test-1250000000".';
+ n.Bucket = n.Bucket + '-' + i.options.AppId;
+ }
+ n.AppId && delete n.AppId;
+ }
+ !i.options.UseRawKey && n.Key && '/' === n.Key.substr(0, 1) && (n.Key = n.Key.substr(1));
+ }
+ })(),
+ d = ['getAuth', 'getObjectUrl'].includes(e);
+ if ('function' == typeof Promise && !d && !r)
+ return new Promise(function (e, o) {
+ if (
+ ((r = function (t, n) {
+ t ? o(t) : e(n);
+ }),
+ l)
+ )
+ return c(O.error(new Error(l)));
+ t.call(i, n, c);
+ });
+ if (l) return c(O.error(new Error(l)));
+ var p = t.call(i, n, c);
+ return d ? p : void 0;
+ };
+ },
+ xml2json: a,
+ json2xml: s,
+ md5: o,
+ clearKey: y,
+ fileSlice: function (e, t, n, r, o) {
+ var i;
+ if (
+ (e.slice
+ ? (i = e.slice(t, n))
+ : e.mozSlice
+ ? (i = e.mozSlice(t, n))
+ : e.webkitSlice && (i = e.webkitSlice(t, n)),
+ r && v)
+ ) {
+ var a = new FileReader();
+ (a.onload = function (e) {
+ (i = null), o(new Blob([a.result]));
+ }),
+ a.readAsArrayBuffer(i);
+ } else o(i);
+ },
+ getBodyMd5: function (e, t, n, r) {
+ (n = n || g),
+ e
+ ? 'string' == typeof t
+ ? n(O.md5(t, !0))
+ : Blob && t instanceof Blob
+ ? O.getFileMd5(
+ t,
+ function (e, t) {
+ n(t);
+ },
+ r,
+ )
+ : n()
+ : n();
+ },
+ getFileMd5: function (e, t, n) {
+ var r = e.size,
+ i = 0,
+ a = o.getCtx();
+ !(function o(s) {
+ if (s >= r) {
+ var c = a.digest('hex');
+ t(null, c);
+ } else {
+ var u = Math.min(r, s + C);
+ O.fileSlice(e, s, u, !1, function (e) {
+ !(function (e, t) {
+ var n,
+ r = new FileReader();
+ FileReader.prototype.readAsBinaryString
+ ? ((n = FileReader.prototype.readAsBinaryString),
+ (r.onload = function () {
+ t(this.result);
+ }))
+ : FileReader.prototype.readAsArrayBuffer &&
+ (n = function (e) {
+ var n = '',
+ r = new FileReader();
+ (r.onload = function (e) {
+ for (var o = new Uint8Array(r.result), i = o.byteLength, a = 0; a < i; a++)
+ n += String.fromCharCode(o[a]);
+ t(n);
+ }),
+ r.readAsArrayBuffer(e);
+ }),
+ n.call(r, e);
+ })(e, function (t) {
+ (e = null),
+ (a = a.update(t, !0)),
+ (i += t.length),
+ (t = null),
+ n && n({ loaded: i, total: r, percent: Math.round((i / r) * 1e4) / 1e4 }),
+ o(s + C);
+ });
+ });
+ }
+ })(0);
+ },
+ b64: function (e) {
+ var t,
+ n,
+ r,
+ o = '';
+ for (t = 0, n = e.length / 2; t < n; t++)
+ (r = parseInt(e[2 * t] + e[2 * t + 1], 16)), (o += String.fromCharCode(r));
+ return btoa(o);
+ },
+ extend: S,
+ isArray: b,
+ isInArray: function (e, t) {
+ for (var n = !1, r = 0; r < e.length; r++)
+ if (t === e[r]) {
+ n = !0;
+ break;
+ }
+ return n;
+ },
+ makeArray: function (e) {
+ return b(e) ? e : [e];
+ },
+ each: T,
+ map: R,
+ filter: function (e, t) {
+ var n = b(e),
+ r = n ? [] : {};
+ for (var o in e) e.hasOwnProperty(o) && t(e[o], o) && (n ? r.push(e[o]) : (r[o] = e[o]));
+ return r;
+ },
+ clone: k,
+ attr: function (e, t, n) {
+ return e && t in e ? e[t] : n;
+ },
+ uuid: function () {
+ var e = function () {
+ return ((65536 * (1 + Math.random())) | 0).toString(16).substring(1);
+ };
+ return e() + e() + '-' + e() + '-' + e() + '-' + e() + '-' + e() + e() + e();
+ },
+ camSafeUrlEncode: l,
+ throttleOnProgress: function (e, t) {
+ var n,
+ r,
+ o = this,
+ i = 0,
+ a = 0,
+ s = Date.now();
+ function c() {
+ if (((r = 0), t && 'function' == typeof t)) {
+ n = Date.now();
+ var o,
+ c = Math.max(0, Math.round(((a - i) / ((n - s) / 1e3)) * 100) / 100) || 0;
+ (o = 0 === a && 0 === e ? 1 : Math.floor((a / e) * 100) / 100 || 0), (s = n), (i = a);
+ try {
+ t({ loaded: a, total: e, speed: c, percent: o });
+ } catch (e) {}
+ }
+ }
+ return function (t, n) {
+ if ((t && ((a = t.loaded), (e = t.total)), n)) clearTimeout(r), c();
+ else {
+ if (r) return;
+ r = setTimeout(c, o.options.ProgressInterval);
+ }
+ };
+ },
+ getFileSize: function (e, t, n) {
+ var r;
+ 'string' == typeof t.Body
+ ? (t.Body = new Blob([t.Body], { type: 'text/plain' }))
+ : t.Body instanceof ArrayBuffer && (t.Body = new Blob([t.Body])),
+ t.Body &&
+ (t.Body instanceof Blob ||
+ '[object File]' === t.Body.toString() ||
+ '[object Blob]' === t.Body.toString())
+ ? ((r = t.Body.size), (t.ContentLength = r), n(null, r))
+ : n(O.error(new Error('params body format error, Only allow File|Blob|String.')));
+ },
+ getSkewTime: A,
+ error: function (e, t) {
+ var n = e;
+ return (
+ (e.message = e.message || null),
+ 'string' == typeof t
+ ? ((e.error = t), (e.message = t))
+ : 'object' === r(t) &&
+ null !== t &&
+ (S(e, t),
+ (t.code || t.name) && (e.code = t.code || t.name),
+ t.message && (e.message = t.message),
+ t.stack && (e.stack = t.stack)),
+ 'function' == typeof Object.defineProperty &&
+ (Object.defineProperty(e, 'name', { writable: !0, enumerable: !1 }),
+ Object.defineProperty(e, 'message', { enumerable: !0 })),
+ (e.name = (t && t.name) || e.name || e.code || 'Error'),
+ e.code || (e.code = e.name),
+ e.error || (e.error = k(n)),
+ e
+ );
+ },
+ obj2str: function (e, t) {
+ var n,
+ r,
+ o,
+ i = [],
+ a = d(e);
+ for (n = 0; n < a.length; n++)
+ (o = void 0 === e[(r = a[n])] || null === e[r] ? '' : '' + e[r]),
+ (r = t ? l(r).toLowerCase() : l(r)),
+ (o = l(o) || ''),
+ i.push(r + '=' + o);
+ return i.join('&');
+ },
+ getAuth: function (e) {
+ var t,
+ n = (e = e || {}).SecretId,
+ r = e.SecretKey,
+ o = e.KeyTime,
+ a = (e.method || e.Method || 'get').toLowerCase(),
+ s = k(e.Query || e.params || {}),
+ c = (function (e) {
+ var t = {};
+ for (var n in e) {
+ var r = n.toLowerCase();
+ (r.indexOf('x-cos-') > -1 || f.indexOf(r) > -1) && (t[n] = e[n]);
+ }
+ return t;
+ })(k(e.Headers || e.headers || {})),
+ u = e.Key || '';
+ e.UseRawKey
+ ? (t = e.Pathname || e.pathname || '/' + u)
+ : 0 !== (t = e.Pathname || e.pathname || u).indexOf('/') && (t = '/' + t);
+ var l = !1 !== e.ForceSignHost;
+ if (
+ (!c.Host &&
+ !c.host &&
+ e.Bucket &&
+ e.Region &&
+ l &&
+ (c.Host = e.Bucket + '.cos.' + e.Region + '.myqcloud.com'),
+ !n)
+ )
+ throw new Error('missing param SecretId');
+ if (!r) throw new Error('missing param SecretKey');
+ var p = Math.round(A(e.SystemClockOffset) / 1e3) - 1,
+ h = p,
+ m = e.Expires || e.expires;
+ h += void 0 === m ? 900 : 1 * m || 0;
+ var g = n,
+ y = o || p + ';' + h,
+ v = o || p + ';' + h,
+ C = d(c, !0).join(';').toLowerCase(),
+ S = d(s, !0).join(';').toLowerCase(),
+ b = i.HmacSHA1(v, r).toString(),
+ T = [a, t, O.obj2str(s, !0), O.obj2str(c, !0), ''].join('\n'),
+ R = ['sha1', y, i.SHA1(T).toString(), ''].join('\n');
+ return [
+ 'q-sign-algorithm=sha1',
+ 'q-ak=' + g,
+ 'q-sign-time=' + y,
+ 'q-key-time=' + v,
+ 'q-header-list=' + C,
+ 'q-url-param-list=' + S,
+ 'q-signature=' + i.HmacSHA1(R, b).toString(),
+ ].join('&');
+ },
+ parseSelectPayload: function (e) {
+ for (var t = {}, n = m(e), r = { records: [] }; e.byteLength; ) {
+ var o,
+ i = h(e, 32, 0),
+ a = h(e, 32, 4),
+ s = i - a - 16,
+ c = 0;
+ for (e = e.slice(12); c < a; ) {
+ var u = h(e, 8, c),
+ l = m(e, c + 1, c + 1 + u),
+ d = h(e, 16, c + u + 2),
+ p = m(e, c + u + 4, c + u + 4 + d);
+ (t[l] = p), (c += u + 4 + d);
+ }
+ if ('Records' === t[':event-type']) (o = m(e, c, c + s, !0)), r.records.push(o);
+ else if ('Stats' === t[':event-type']) (o = m(e, c, c + s, !0)), (r.stats = O.xml2json(o).Stats);
+ else if ('error' === t[':event-type']) {
+ var f = t[':error-code'],
+ g = t[':error-message'],
+ y = new Error(g);
+ (y.message = g), (y.name = y.code = f), (r.error = y);
+ } else ['Progress', 'Continuation', 'End'].includes(t[':event-type']);
+ e = e.slice(c + s + 4);
+ }
+ return { payload: r.records.join(''), body: n };
+ },
+ getSourceParams: function (e) {
+ var t = this.options.CopySourceParser;
+ if (t) return t(e);
+ var n = e.match(
+ /^([^.]+-\d+)\.cos(v6|-cdc|-cdz|-internal)?\.([^.]+)\.((myqcloud\.com)|(tencentcos\.cn))\/(.+)$/,
+ );
+ return n ? { Bucket: n[1], Region: n[3], Key: n[7] } : null;
+ },
+ isBrowser: !0,
+ isNode: function () {
+ return (
+ 'object' !== ('undefined' == typeof window ? 'undefined' : r(window)) &&
+ 'object' === (void 0 === t ? 'undefined' : r(t)) &&
+ !(
+ 'object' === ('undefined' == typeof globalThis ? 'undefined' : r(globalThis)) &&
+ ('DedicatedWorkerGlobalScope' === globalThis.constructor.name || globalThis.FileReaderSync)
+ )
+ );
+ },
+ isCIHost: function (e) {
+ return /^https?:\/\/([^/]+\.)?ci\.[^/]+/.test(e);
+ },
+ isIOS_QQ: x && I,
+ encodeBase64: function (e, t) {
+ var n = c.encode(e);
+ return t && (n = n.replaceAll('+', '-').replaceAll('/', '_').replaceAll('=', '')), n;
+ },
+ };
+ e.exports = O;
+ }).call(this, n(3));
+ },
+ function (e, t, n) {
+ 'use strict';
+ function r(e, t) {
+ return void 0 === t && (t = Object), t && 'function' == typeof t.freeze ? t.freeze(e) : e;
+ }
+ var o = r({
+ HTML: 'text/html',
+ isHTML: function (e) {
+ return e === o.HTML;
+ },
+ XML_APPLICATION: 'application/xml',
+ XML_TEXT: 'text/xml',
+ XML_XHTML_APPLICATION: 'application/xhtml+xml',
+ XML_SVG_IMAGE: 'image/svg+xml',
+ }),
+ i = r({
+ HTML: 'http://www.w3.org/1999/xhtml',
+ isHTML: function (e) {
+ return e === i.HTML;
+ },
+ SVG: 'http://www.w3.org/2000/svg',
+ XML: 'http://www.w3.org/XML/1998/namespace',
+ XMLNS: 'http://www.w3.org/2000/xmlns/',
+ });
+ (t.assign = function (e, t) {
+ if (null === e || 'object' != typeof e) throw new TypeError('target is not an object');
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
+ return e;
+ }),
+ (t.find = function (e, t, n) {
+ if ((void 0 === n && (n = Array.prototype), e && 'function' == typeof n.find)) return n.find.call(e, t);
+ for (var r = 0; r < e.length; r++)
+ if (Object.prototype.hasOwnProperty.call(e, r)) {
+ var o = e[r];
+ if (t.call(void 0, o, r, e)) return o;
+ }
+ }),
+ (t.freeze = r),
+ (t.MIME_TYPE = o),
+ (t.NAMESPACE = i);
+ },
+ function (e, t) {
+ var n,
+ r,
+ o = (e.exports = {});
+ function i() {
+ throw new Error('setTimeout has not been defined');
+ }
+ function a() {
+ throw new Error('clearTimeout has not been defined');
+ }
+ function s(e) {
+ if (n === setTimeout) return setTimeout(e, 0);
+ if ((n === i || !n) && setTimeout) return (n = setTimeout), setTimeout(e, 0);
+ try {
+ return n(e, 0);
+ } catch (t) {
+ try {
+ return n.call(null, e, 0);
+ } catch (t) {
+ return n.call(this, e, 0);
+ }
+ }
+ }
+ !(function () {
+ try {
+ n = 'function' == typeof setTimeout ? setTimeout : i;
+ } catch (e) {
+ n = i;
+ }
+ try {
+ r = 'function' == typeof clearTimeout ? clearTimeout : a;
+ } catch (e) {
+ r = a;
+ }
+ })();
+ var c,
+ u = [],
+ l = !1,
+ d = -1;
+ function p() {
+ l && c && ((l = !1), c.length ? (u = c.concat(u)) : (d = -1), u.length && f());
+ }
+ function f() {
+ if (!l) {
+ var e = s(p);
+ l = !0;
+ for (var t = u.length; t; ) {
+ for (c = u, u = []; ++d < t; ) c && c[d].run();
+ (d = -1), (t = u.length);
+ }
+ (c = null),
+ (l = !1),
+ (function (e) {
+ if (r === clearTimeout) return clearTimeout(e);
+ if ((r === a || !r) && clearTimeout) return (r = clearTimeout), clearTimeout(e);
+ try {
+ return r(e);
+ } catch (t) {
+ try {
+ return r.call(null, e);
+ } catch (t) {
+ return r.call(this, e);
+ }
+ }
+ })(e);
+ }
+ }
+ function h(e, t) {
+ (this.fun = e), (this.array = t);
+ }
+ function m() {}
+ (o.nextTick = function (e) {
+ var t = new Array(arguments.length - 1);
+ if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
+ u.push(new h(e, t)), 1 !== u.length || l || s(f);
+ }),
+ (h.prototype.run = function () {
+ this.fun.apply(null, this.array);
+ }),
+ (o.title = 'browser'),
+ (o.browser = !0),
+ (o.env = {}),
+ (o.argv = []),
+ (o.version = ''),
+ (o.versions = {}),
+ (o.on = m),
+ (o.addListener = m),
+ (o.once = m),
+ (o.off = m),
+ (o.removeListener = m),
+ (o.removeAllListeners = m),
+ (o.emit = m),
+ (o.prependListener = m),
+ (o.prependOnceListener = m),
+ (o.listeners = function (e) {
+ return [];
+ }),
+ (o.binding = function (e) {
+ throw new Error('process.binding is not supported');
+ }),
+ (o.cwd = function () {
+ return '/';
+ }),
+ (o.chdir = function (e) {
+ throw new Error('process.chdir is not supported');
+ }),
+ (o.umask = function () {
+ return 0;
+ });
+ },
+ function (e, t) {
+ e.exports = function (e) {
+ return (
+ e.webpackPolyfill ||
+ ((e.deprecate = function () {}),
+ (e.paths = []),
+ e.children || (e.children = []),
+ Object.defineProperty(e, 'loaded', {
+ enumerable: !0,
+ get: function () {
+ return e.l;
+ },
+ }),
+ Object.defineProperty(e, 'id', {
+ enumerable: !0,
+ get: function () {
+ return e.i;
+ },
+ }),
+ (e.webpackPolyfill = 1)),
+ e
+ );
+ };
+ },
+ function (e, t, n) {
+ var r = n(2),
+ o = r.find,
+ i = r.NAMESPACE;
+ function a(e) {
+ return '' !== e;
+ }
+ function s(e, t) {
+ return e.hasOwnProperty(t) || (e[t] = !0), e;
+ }
+ function c(e) {
+ if (!e) return [];
+ var t = (function (e) {
+ return e ? e.split(/[\t\n\f\r ]+/).filter(a) : [];
+ })(e);
+ return Object.keys(t.reduce(s, {}));
+ }
+ function u(e, t) {
+ for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
+ }
+ function l(e, t) {
+ var n = e.prototype;
+ if (!(n instanceof t)) {
+ function r() {}
+ (r.prototype = t.prototype), u(n, (r = new r())), (e.prototype = n = r);
+ }
+ n.constructor != e && (n.constructor = e);
+ }
+ var d = {},
+ p = (d.ELEMENT_NODE = 1),
+ f = (d.ATTRIBUTE_NODE = 2),
+ h = (d.TEXT_NODE = 3),
+ m = (d.CDATA_SECTION_NODE = 4),
+ g = (d.ENTITY_REFERENCE_NODE = 5),
+ y = (d.ENTITY_NODE = 6),
+ v = (d.PROCESSING_INSTRUCTION_NODE = 7),
+ C = (d.COMMENT_NODE = 8),
+ k = (d.DOCUMENT_NODE = 9),
+ S = (d.DOCUMENT_TYPE_NODE = 10),
+ b = (d.DOCUMENT_FRAGMENT_NODE = 11),
+ T = (d.NOTATION_NODE = 12),
+ R = {},
+ E = {},
+ w =
+ ((R.INDEX_SIZE_ERR = ((E[1] = 'Index size error'), 1)),
+ (R.DOMSTRING_SIZE_ERR = ((E[2] = 'DOMString size error'), 2)),
+ (R.HIERARCHY_REQUEST_ERR = ((E[3] = 'Hierarchy request error'), 3))),
+ A =
+ ((R.WRONG_DOCUMENT_ERR = ((E[4] = 'Wrong document'), 4)),
+ (R.INVALID_CHARACTER_ERR = ((E[5] = 'Invalid character'), 5)),
+ (R.NO_DATA_ALLOWED_ERR = ((E[6] = 'No data allowed'), 6)),
+ (R.NO_MODIFICATION_ALLOWED_ERR = ((E[7] = 'No modification allowed'), 7)),
+ (R.NOT_FOUND_ERR = ((E[8] = 'Not found'), 8))),
+ x =
+ ((R.NOT_SUPPORTED_ERR = ((E[9] = 'Not supported'), 9)),
+ (R.INUSE_ATTRIBUTE_ERR = ((E[10] = 'Attribute in use'), 10)));
+ (R.INVALID_STATE_ERR = ((E[11] = 'Invalid state'), 11)),
+ (R.SYNTAX_ERR = ((E[12] = 'Syntax error'), 12)),
+ (R.INVALID_MODIFICATION_ERR = ((E[13] = 'Invalid modification'), 13)),
+ (R.NAMESPACE_ERR = ((E[14] = 'Invalid namespace'), 14)),
+ (R.INVALID_ACCESS_ERR = ((E[15] = 'Invalid access'), 15));
+ function I(e, t) {
+ if (t instanceof Error) var n = t;
+ else
+ (n = this),
+ Error.call(this, E[e]),
+ (this.message = E[e]),
+ Error.captureStackTrace && Error.captureStackTrace(this, I);
+ return (n.code = e), t && (this.message = this.message + ': ' + t), n;
+ }
+ function O() {}
+ function B(e, t) {
+ (this._node = e), (this._refresh = t), _(this);
+ }
+ function _(e) {
+ var t = e._node._inc || e._node.ownerDocument._inc;
+ if (e._inc != t) {
+ var n = e._refresh(e._node);
+ Ce(e, 'length', n.length), u(n, e), (e._inc = t);
+ }
+ }
+ function P() {}
+ function D(e, t) {
+ for (var n = e.length; n--; ) if (e[n] === t) return n;
+ }
+ function N(e, t, n, r) {
+ if ((r ? (t[D(t, r)] = n) : (t[t.length++] = n), e)) {
+ n.ownerElement = e;
+ var o = e.ownerDocument;
+ o &&
+ (r && K(o, e, r),
+ (function (e, t, n) {
+ e && e._inc++;
+ var r = n.namespaceURI;
+ r === i.XMLNS && (t._nsMap[n.prefix ? n.localName : ''] = n.value);
+ })(o, e, n));
+ }
+ }
+ function U(e, t, n) {
+ var r = D(t, n);
+ if (!(r >= 0)) throw new I(A, new Error(e.tagName + '@' + n));
+ for (var o = t.length - 1; r < o; ) t[r] = t[++r];
+ if (((t.length = o), e)) {
+ var i = e.ownerDocument;
+ i && (K(i, e, n), (n.ownerElement = null));
+ }
+ }
+ function M() {}
+ function H() {}
+ function L(e) {
+ return (
+ ('<' == e ? '<' : '>' == e && '>') ||
+ ('&' == e && '&') ||
+ ('"' == e && '"') ||
+ '' + e.charCodeAt() + ';'
+ );
+ }
+ function j(e, t) {
+ if (t(e)) return !0;
+ if ((e = e.firstChild))
+ do {
+ if (j(e, t)) return !0;
+ } while ((e = e.nextSibling));
+ }
+ function F() {
+ this.ownerDocument = this;
+ }
+ function K(e, t, n, r) {
+ e && e._inc++, n.namespaceURI === i.XMLNS && delete t._nsMap[n.prefix ? n.localName : ''];
+ }
+ function q(e, t, n) {
+ if (e && e._inc) {
+ e._inc++;
+ var r = t.childNodes;
+ if (n) r[r.length++] = n;
+ else {
+ for (var o = t.firstChild, i = 0; o; ) (r[i++] = o), (o = o.nextSibling);
+ (r.length = i), delete r[r.length];
+ }
+ }
+ }
+ function z(e, t) {
+ var n = t.previousSibling,
+ r = t.nextSibling;
+ return (
+ n ? (n.nextSibling = r) : (e.firstChild = r),
+ r ? (r.previousSibling = n) : (e.lastChild = n),
+ (t.parentNode = null),
+ (t.previousSibling = null),
+ (t.nextSibling = null),
+ q(e.ownerDocument, e),
+ t
+ );
+ }
+ function G(e) {
+ return e && e.nodeType === H.DOCUMENT_TYPE_NODE;
+ }
+ function V(e) {
+ return e && e.nodeType === H.ELEMENT_NODE;
+ }
+ function X(e) {
+ return e && e.nodeType === H.TEXT_NODE;
+ }
+ function W(e, t) {
+ var n = e.childNodes || [];
+ if (o(n, V) || G(t)) return !1;
+ var r = o(n, G);
+ return !(t && r && n.indexOf(r) > n.indexOf(t));
+ }
+ function Q(e, t) {
+ var n = e.childNodes || [];
+ if (
+ o(n, function (e) {
+ return V(e) && e !== t;
+ })
+ )
+ return !1;
+ var r = o(n, G);
+ return !(t && r && n.indexOf(r) > n.indexOf(t));
+ }
+ function J(e, t, n) {
+ if (
+ !(function (e) {
+ return (
+ e &&
+ (e.nodeType === H.DOCUMENT_NODE ||
+ e.nodeType === H.DOCUMENT_FRAGMENT_NODE ||
+ e.nodeType === H.ELEMENT_NODE)
+ );
+ })(e)
+ )
+ throw new I(w, 'Unexpected parent node type ' + e.nodeType);
+ if (n && n.parentNode !== e) throw new I(A, 'child not in parent');
+ if (
+ !(function (e) {
+ return (
+ e &&
+ (V(e) ||
+ X(e) ||
+ G(e) ||
+ e.nodeType === H.DOCUMENT_FRAGMENT_NODE ||
+ e.nodeType === H.COMMENT_NODE ||
+ e.nodeType === H.PROCESSING_INSTRUCTION_NODE)
+ );
+ })(t) ||
+ (G(t) && e.nodeType !== H.DOCUMENT_NODE)
+ )
+ throw new I(w, 'Unexpected node type ' + t.nodeType + ' for parent node type ' + e.nodeType);
+ }
+ function $(e, t, n) {
+ var r = e.childNodes || [],
+ i = t.childNodes || [];
+ if (t.nodeType === H.DOCUMENT_FRAGMENT_NODE) {
+ var a = i.filter(V);
+ if (a.length > 1 || o(i, X)) throw new I(w, 'More than one element or text in fragment');
+ if (1 === a.length && !W(e, n)) throw new I(w, 'Element in fragment can not be inserted before doctype');
+ }
+ if (V(t) && !W(e, n)) throw new I(w, 'Only one element can be added and only after doctype');
+ if (G(t)) {
+ if (o(r, G)) throw new I(w, 'Only one doctype is allowed');
+ var s = o(r, V);
+ if (n && r.indexOf(s) < r.indexOf(n)) throw new I(w, 'Doctype can only be inserted before an element');
+ if (!n && s) throw new I(w, 'Doctype can not be appended since element is present');
+ }
+ }
+ function Y(e, t, n) {
+ var r = e.childNodes || [],
+ i = t.childNodes || [];
+ if (t.nodeType === H.DOCUMENT_FRAGMENT_NODE) {
+ var a = i.filter(V);
+ if (a.length > 1 || o(i, X)) throw new I(w, 'More than one element or text in fragment');
+ if (1 === a.length && !Q(e, n)) throw new I(w, 'Element in fragment can not be inserted before doctype');
+ }
+ if (V(t) && !Q(e, n)) throw new I(w, 'Only one element can be added and only after doctype');
+ if (G(t)) {
+ if (
+ o(r, function (e) {
+ return G(e) && e !== n;
+ })
+ )
+ throw new I(w, 'Only one doctype is allowed');
+ var s = o(r, V);
+ if (n && r.indexOf(s) < r.indexOf(n)) throw new I(w, 'Doctype can only be inserted before an element');
+ }
+ }
+ function Z(e, t, n, r) {
+ J(e, t, n), e.nodeType === H.DOCUMENT_NODE && (r || $)(e, t, n);
+ var o = t.parentNode;
+ if ((o && o.removeChild(t), t.nodeType === b)) {
+ var i = t.firstChild;
+ if (null == i) return t;
+ var a = t.lastChild;
+ } else i = a = t;
+ var s = n ? n.previousSibling : e.lastChild;
+ (i.previousSibling = s),
+ (a.nextSibling = n),
+ s ? (s.nextSibling = i) : (e.firstChild = i),
+ null == n ? (e.lastChild = a) : (n.previousSibling = a);
+ do {
+ i.parentNode = e;
+ } while (i !== a && (i = i.nextSibling));
+ return q(e.ownerDocument || e, e), t.nodeType == b && (t.firstChild = t.lastChild = null), t;
+ }
+ function ee() {
+ this._nsMap = {};
+ }
+ function te() {}
+ function ne() {}
+ function re() {}
+ function oe() {}
+ function ie() {}
+ function ae() {}
+ function se() {}
+ function ce() {}
+ function ue() {}
+ function le() {}
+ function de() {}
+ function pe() {}
+ function fe(e, t) {
+ var n = [],
+ r = (9 == this.nodeType && this.documentElement) || this,
+ o = r.prefix,
+ i = r.namespaceURI;
+ if (i && null == o && null == (o = r.lookupPrefix(i))) var a = [{ namespace: i, prefix: null }];
+ return ge(this, n, e, t, a), n.join('');
+ }
+ function he(e, t, n) {
+ var r = e.prefix || '',
+ o = e.namespaceURI;
+ if (!o) return !1;
+ if (('xml' === r && o === i.XML) || o === i.XMLNS) return !1;
+ for (var a = n.length; a--; ) {
+ var s = n[a];
+ if (s.prefix === r) return s.namespace !== o;
+ }
+ return !0;
+ }
+ function me(e, t, n) {
+ e.push(' ', t, '="', n.replace(/[<>&"\t\n\r]/g, L), '"');
+ }
+ function ge(e, t, n, r, o) {
+ if ((o || (o = []), r)) {
+ if (!(e = r(e))) return;
+ if ('string' == typeof e) return void t.push(e);
+ }
+ switch (e.nodeType) {
+ case p:
+ var a = e.attributes,
+ s = a.length,
+ c = e.firstChild,
+ u = e.tagName,
+ l = u;
+ if (!(n = i.isHTML(e.namespaceURI) || n) && !e.prefix && e.namespaceURI) {
+ for (var d, y = 0; y < a.length; y++)
+ if ('xmlns' === a.item(y).name) {
+ d = a.item(y).value;
+ break;
+ }
+ if (!d)
+ for (var T = o.length - 1; T >= 0; T--) {
+ if ('' === (R = o[T]).prefix && R.namespace === e.namespaceURI) {
+ d = R.namespace;
+ break;
+ }
+ }
+ if (d !== e.namespaceURI)
+ for (T = o.length - 1; T >= 0; T--) {
+ var R;
+ if ((R = o[T]).namespace === e.namespaceURI) {
+ R.prefix && (l = R.prefix + ':' + u);
+ break;
+ }
+ }
+ }
+ t.push('<', l);
+ for (var E = 0; E < s; E++) {
+ 'xmlns' == (w = a.item(E)).prefix
+ ? o.push({ prefix: w.localName, namespace: w.value })
+ : 'xmlns' == w.nodeName && o.push({ prefix: '', namespace: w.value });
+ }
+ for (E = 0; E < s; E++) {
+ var w, A, x;
+ if (he((w = a.item(E)), 0, o))
+ me(t, (A = w.prefix || '') ? 'xmlns:' + A : 'xmlns', (x = w.namespaceURI)),
+ o.push({ prefix: A, namespace: x });
+ ge(w, t, n, r, o);
+ }
+ if (u === l && he(e, 0, o))
+ me(t, (A = e.prefix || '') ? 'xmlns:' + A : 'xmlns', (x = e.namespaceURI)),
+ o.push({ prefix: A, namespace: x });
+ if (c || (n && !/^(?:meta|link|img|br|hr|input)$/i.test(u))) {
+ if ((t.push('>'), n && /^script$/i.test(u)))
+ for (; c; ) c.data ? t.push(c.data) : ge(c, t, n, r, o.slice()), (c = c.nextSibling);
+ else for (; c; ) ge(c, t, n, r, o.slice()), (c = c.nextSibling);
+ t.push('', l, '>');
+ } else t.push('/>');
+ return;
+ case k:
+ case b:
+ for (c = e.firstChild; c; ) ge(c, t, n, r, o.slice()), (c = c.nextSibling);
+ return;
+ case f:
+ return me(t, e.name, e.value);
+ case h:
+ return t.push(e.data.replace(/[<&>]/g, L));
+ case m:
+ return t.push('');
+ case C:
+ return t.push('\x3c!--', e.data, '--\x3e');
+ case S:
+ var I = e.publicId,
+ O = e.systemId;
+ if ((t.push('');
+ else if (O && '.' != O) t.push(' SYSTEM ', O, '>');
+ else {
+ var B = e.internalSubset;
+ B && t.push(' [', B, ']'), t.push('>');
+ }
+ return;
+ case v:
+ return t.push('', e.target, ' ', e.data, '?>');
+ case g:
+ return t.push('&', e.nodeName, ';');
+ default:
+ t.push('??', e.nodeName);
+ }
+ }
+ function ye(e, t, n) {
+ var r;
+ switch (t.nodeType) {
+ case p:
+ (r = t.cloneNode(!1)).ownerDocument = e;
+ case b:
+ break;
+ case f:
+ n = !0;
+ }
+ if ((r || (r = t.cloneNode(!1)), (r.ownerDocument = e), (r.parentNode = null), n))
+ for (var o = t.firstChild; o; ) r.appendChild(ye(e, o, n)), (o = o.nextSibling);
+ return r;
+ }
+ function ve(e, t, n) {
+ var r = new t.constructor();
+ for (var o in t)
+ if (Object.prototype.hasOwnProperty.call(t, o)) {
+ var i = t[o];
+ 'object' != typeof i && i != r[o] && (r[o] = i);
+ }
+ switch ((t.childNodes && (r.childNodes = new O()), (r.ownerDocument = e), r.nodeType)) {
+ case p:
+ var a = t.attributes,
+ s = (r.attributes = new P()),
+ c = a.length;
+ s._ownerElement = r;
+ for (var u = 0; u < c; u++) r.setAttributeNode(ve(e, a.item(u), !0));
+ break;
+ case f:
+ n = !0;
+ }
+ if (n) for (var l = t.firstChild; l; ) r.appendChild(ve(e, l, n)), (l = l.nextSibling);
+ return r;
+ }
+ function Ce(e, t, n) {
+ e[t] = n;
+ }
+ (I.prototype = Error.prototype),
+ u(R, I),
+ (O.prototype = {
+ length: 0,
+ item: function (e) {
+ return this[e] || null;
+ },
+ toString: function (e, t) {
+ for (var n = [], r = 0; r < this.length; r++) ge(this[r], n, e, t);
+ return n.join('');
+ },
+ filter: function (e) {
+ return Array.prototype.filter.call(this, e);
+ },
+ indexOf: function (e) {
+ return Array.prototype.indexOf.call(this, e);
+ },
+ }),
+ (B.prototype.item = function (e) {
+ return _(this), this[e];
+ }),
+ l(B, O),
+ (P.prototype = {
+ length: 0,
+ item: O.prototype.item,
+ getNamedItem: function (e) {
+ for (var t = this.length; t--; ) {
+ var n = this[t];
+ if (n.nodeName == e) return n;
+ }
+ },
+ setNamedItem: function (e) {
+ var t = e.ownerElement;
+ if (t && t != this._ownerElement) throw new I(x);
+ var n = this.getNamedItem(e.nodeName);
+ return N(this._ownerElement, this, e, n), n;
+ },
+ setNamedItemNS: function (e) {
+ var t,
+ n = e.ownerElement;
+ if (n && n != this._ownerElement) throw new I(x);
+ return (t = this.getNamedItemNS(e.namespaceURI, e.localName)), N(this._ownerElement, this, e, t), t;
+ },
+ removeNamedItem: function (e) {
+ var t = this.getNamedItem(e);
+ return U(this._ownerElement, this, t), t;
+ },
+ removeNamedItemNS: function (e, t) {
+ var n = this.getNamedItemNS(e, t);
+ return U(this._ownerElement, this, n), n;
+ },
+ getNamedItemNS: function (e, t) {
+ for (var n = this.length; n--; ) {
+ var r = this[n];
+ if (r.localName == t && r.namespaceURI == e) return r;
+ }
+ return null;
+ },
+ }),
+ (M.prototype = {
+ hasFeature: function (e, t) {
+ return !0;
+ },
+ createDocument: function (e, t, n) {
+ var r = new F();
+ if (
+ ((r.implementation = this), (r.childNodes = new O()), (r.doctype = n || null), n && r.appendChild(n), t)
+ ) {
+ var o = r.createElementNS(e, t);
+ r.appendChild(o);
+ }
+ return r;
+ },
+ createDocumentType: function (e, t, n) {
+ var r = new ae();
+ return (r.name = e), (r.nodeName = e), (r.publicId = t || ''), (r.systemId = n || ''), r;
+ },
+ }),
+ (H.prototype = {
+ firstChild: null,
+ lastChild: null,
+ previousSibling: null,
+ nextSibling: null,
+ attributes: null,
+ parentNode: null,
+ childNodes: null,
+ ownerDocument: null,
+ nodeValue: null,
+ namespaceURI: null,
+ prefix: null,
+ localName: null,
+ insertBefore: function (e, t) {
+ return Z(this, e, t);
+ },
+ replaceChild: function (e, t) {
+ Z(this, e, t, Y), t && this.removeChild(t);
+ },
+ removeChild: function (e) {
+ return z(this, e);
+ },
+ appendChild: function (e) {
+ return this.insertBefore(e, null);
+ },
+ hasChildNodes: function () {
+ return null != this.firstChild;
+ },
+ cloneNode: function (e) {
+ return ve(this.ownerDocument || this, this, e);
+ },
+ normalize: function () {
+ for (var e = this.firstChild; e; ) {
+ var t = e.nextSibling;
+ t && t.nodeType == h && e.nodeType == h
+ ? (this.removeChild(t), e.appendData(t.data))
+ : (e.normalize(), (e = t));
+ }
+ },
+ isSupported: function (e, t) {
+ return this.ownerDocument.implementation.hasFeature(e, t);
+ },
+ hasAttributes: function () {
+ return this.attributes.length > 0;
+ },
+ lookupPrefix: function (e) {
+ for (var t = this; t; ) {
+ var n = t._nsMap;
+ if (n) for (var r in n) if (Object.prototype.hasOwnProperty.call(n, r) && n[r] === e) return r;
+ t = t.nodeType == f ? t.ownerDocument : t.parentNode;
+ }
+ return null;
+ },
+ lookupNamespaceURI: function (e) {
+ for (var t = this; t; ) {
+ var n = t._nsMap;
+ if (n && Object.prototype.hasOwnProperty.call(n, e)) return n[e];
+ t = t.nodeType == f ? t.ownerDocument : t.parentNode;
+ }
+ return null;
+ },
+ isDefaultNamespace: function (e) {
+ return null == this.lookupPrefix(e);
+ },
+ }),
+ u(d, H),
+ u(d, H.prototype),
+ (F.prototype = {
+ nodeName: '#document',
+ nodeType: k,
+ doctype: null,
+ documentElement: null,
+ _inc: 1,
+ insertBefore: function (e, t) {
+ if (e.nodeType == b) {
+ for (var n = e.firstChild; n; ) {
+ var r = n.nextSibling;
+ this.insertBefore(n, t), (n = r);
+ }
+ return e;
+ }
+ return (
+ Z(this, e, t),
+ (e.ownerDocument = this),
+ null === this.documentElement && e.nodeType === p && (this.documentElement = e),
+ e
+ );
+ },
+ removeChild: function (e) {
+ return this.documentElement == e && (this.documentElement = null), z(this, e);
+ },
+ replaceChild: function (e, t) {
+ Z(this, e, t, Y), (e.ownerDocument = this), t && this.removeChild(t), V(e) && (this.documentElement = e);
+ },
+ importNode: function (e, t) {
+ return ye(this, e, t);
+ },
+ getElementById: function (e) {
+ var t = null;
+ return (
+ j(this.documentElement, function (n) {
+ if (n.nodeType == p && n.getAttribute('id') == e) return (t = n), !0;
+ }),
+ t
+ );
+ },
+ getElementsByClassName: function (e) {
+ var t = c(e);
+ return new B(this, function (n) {
+ var r = [];
+ return (
+ t.length > 0 &&
+ j(n.documentElement, function (o) {
+ if (o !== n && o.nodeType === p) {
+ var i = o.getAttribute('class');
+ if (i) {
+ var a = e === i;
+ if (!a) {
+ var s = c(i);
+ a = t.every(
+ ((u = s),
+ function (e) {
+ return u && -1 !== u.indexOf(e);
+ }),
+ );
+ }
+ a && r.push(o);
+ }
+ }
+ var u;
+ }),
+ r
+ );
+ });
+ },
+ createElement: function (e) {
+ var t = new ee();
+ return (
+ (t.ownerDocument = this),
+ (t.nodeName = e),
+ (t.tagName = e),
+ (t.localName = e),
+ (t.childNodes = new O()),
+ ((t.attributes = new P())._ownerElement = t),
+ t
+ );
+ },
+ createDocumentFragment: function () {
+ var e = new le();
+ return (e.ownerDocument = this), (e.childNodes = new O()), e;
+ },
+ createTextNode: function (e) {
+ var t = new re();
+ return (t.ownerDocument = this), t.appendData(e), t;
+ },
+ createComment: function (e) {
+ var t = new oe();
+ return (t.ownerDocument = this), t.appendData(e), t;
+ },
+ createCDATASection: function (e) {
+ var t = new ie();
+ return (t.ownerDocument = this), t.appendData(e), t;
+ },
+ createProcessingInstruction: function (e, t) {
+ var n = new de();
+ return (n.ownerDocument = this), (n.tagName = n.target = e), (n.nodeValue = n.data = t), n;
+ },
+ createAttribute: function (e) {
+ var t = new te();
+ return (t.ownerDocument = this), (t.name = e), (t.nodeName = e), (t.localName = e), (t.specified = !0), t;
+ },
+ createEntityReference: function (e) {
+ var t = new ue();
+ return (t.ownerDocument = this), (t.nodeName = e), t;
+ },
+ createElementNS: function (e, t) {
+ var n = new ee(),
+ r = t.split(':'),
+ o = (n.attributes = new P());
+ return (
+ (n.childNodes = new O()),
+ (n.ownerDocument = this),
+ (n.nodeName = t),
+ (n.tagName = t),
+ (n.namespaceURI = e),
+ 2 == r.length ? ((n.prefix = r[0]), (n.localName = r[1])) : (n.localName = t),
+ (o._ownerElement = n),
+ n
+ );
+ },
+ createAttributeNS: function (e, t) {
+ var n = new te(),
+ r = t.split(':');
+ return (
+ (n.ownerDocument = this),
+ (n.nodeName = t),
+ (n.name = t),
+ (n.namespaceURI = e),
+ (n.specified = !0),
+ 2 == r.length ? ((n.prefix = r[0]), (n.localName = r[1])) : (n.localName = t),
+ n
+ );
+ },
+ }),
+ l(F, H),
+ (ee.prototype = {
+ nodeType: p,
+ hasAttribute: function (e) {
+ return null != this.getAttributeNode(e);
+ },
+ getAttribute: function (e) {
+ var t = this.getAttributeNode(e);
+ return (t && t.value) || '';
+ },
+ getAttributeNode: function (e) {
+ return this.attributes.getNamedItem(e);
+ },
+ setAttribute: function (e, t) {
+ var n = this.ownerDocument.createAttribute(e);
+ (n.value = n.nodeValue = '' + t), this.setAttributeNode(n);
+ },
+ removeAttribute: function (e) {
+ var t = this.getAttributeNode(e);
+ t && this.removeAttributeNode(t);
+ },
+ appendChild: function (e) {
+ return e.nodeType === b
+ ? this.insertBefore(e, null)
+ : (function (e, t) {
+ return (
+ t.parentNode && t.parentNode.removeChild(t),
+ (t.parentNode = e),
+ (t.previousSibling = e.lastChild),
+ (t.nextSibling = null),
+ t.previousSibling ? (t.previousSibling.nextSibling = t) : (e.firstChild = t),
+ (e.lastChild = t),
+ q(e.ownerDocument, e, t),
+ t
+ );
+ })(this, e);
+ },
+ setAttributeNode: function (e) {
+ return this.attributes.setNamedItem(e);
+ },
+ setAttributeNodeNS: function (e) {
+ return this.attributes.setNamedItemNS(e);
+ },
+ removeAttributeNode: function (e) {
+ return this.attributes.removeNamedItem(e.nodeName);
+ },
+ removeAttributeNS: function (e, t) {
+ var n = this.getAttributeNodeNS(e, t);
+ n && this.removeAttributeNode(n);
+ },
+ hasAttributeNS: function (e, t) {
+ return null != this.getAttributeNodeNS(e, t);
+ },
+ getAttributeNS: function (e, t) {
+ var n = this.getAttributeNodeNS(e, t);
+ return (n && n.value) || '';
+ },
+ setAttributeNS: function (e, t, n) {
+ var r = this.ownerDocument.createAttributeNS(e, t);
+ (r.value = r.nodeValue = '' + n), this.setAttributeNode(r);
+ },
+ getAttributeNodeNS: function (e, t) {
+ return this.attributes.getNamedItemNS(e, t);
+ },
+ getElementsByTagName: function (e) {
+ return new B(this, function (t) {
+ var n = [];
+ return (
+ j(t, function (r) {
+ r === t || r.nodeType != p || ('*' !== e && r.tagName != e) || n.push(r);
+ }),
+ n
+ );
+ });
+ },
+ getElementsByTagNameNS: function (e, t) {
+ return new B(this, function (n) {
+ var r = [];
+ return (
+ j(n, function (o) {
+ o === n ||
+ o.nodeType !== p ||
+ ('*' !== e && o.namespaceURI !== e) ||
+ ('*' !== t && o.localName != t) ||
+ r.push(o);
+ }),
+ r
+ );
+ });
+ },
+ }),
+ (F.prototype.getElementsByTagName = ee.prototype.getElementsByTagName),
+ (F.prototype.getElementsByTagNameNS = ee.prototype.getElementsByTagNameNS),
+ l(ee, H),
+ (te.prototype.nodeType = f),
+ l(te, H),
+ (ne.prototype = {
+ data: '',
+ substringData: function (e, t) {
+ return this.data.substring(e, e + t);
+ },
+ appendData: function (e) {
+ (e = this.data + e), (this.nodeValue = this.data = e), (this.length = e.length);
+ },
+ insertData: function (e, t) {
+ this.replaceData(e, 0, t);
+ },
+ appendChild: function (e) {
+ throw new Error(E[w]);
+ },
+ deleteData: function (e, t) {
+ this.replaceData(e, t, '');
+ },
+ replaceData: function (e, t, n) {
+ (n = this.data.substring(0, e) + n + this.data.substring(e + t)),
+ (this.nodeValue = this.data = n),
+ (this.length = n.length);
+ },
+ }),
+ l(ne, H),
+ (re.prototype = {
+ nodeName: '#text',
+ nodeType: h,
+ splitText: function (e) {
+ var t = this.data,
+ n = t.substring(e);
+ (t = t.substring(0, e)), (this.data = this.nodeValue = t), (this.length = t.length);
+ var r = this.ownerDocument.createTextNode(n);
+ return this.parentNode && this.parentNode.insertBefore(r, this.nextSibling), r;
+ },
+ }),
+ l(re, ne),
+ (oe.prototype = { nodeName: '#comment', nodeType: C }),
+ l(oe, ne),
+ (ie.prototype = { nodeName: '#cdata-section', nodeType: m }),
+ l(ie, ne),
+ (ae.prototype.nodeType = S),
+ l(ae, H),
+ (se.prototype.nodeType = T),
+ l(se, H),
+ (ce.prototype.nodeType = y),
+ l(ce, H),
+ (ue.prototype.nodeType = g),
+ l(ue, H),
+ (le.prototype.nodeName = '#document-fragment'),
+ (le.prototype.nodeType = b),
+ l(le, H),
+ (de.prototype.nodeType = v),
+ l(de, H),
+ (pe.prototype.serializeToString = function (e, t, n) {
+ return fe.call(e, t, n);
+ }),
+ (H.prototype.toString = fe);
+ try {
+ if (Object.defineProperty) {
+ function ke(e) {
+ switch (e.nodeType) {
+ case p:
+ case b:
+ var t = [];
+ for (e = e.firstChild; e; ) 7 !== e.nodeType && 8 !== e.nodeType && t.push(ke(e)), (e = e.nextSibling);
+ return t.join('');
+ default:
+ return e.nodeValue;
+ }
+ }
+ Object.defineProperty(B.prototype, 'length', {
+ get: function () {
+ return _(this), this.$$length;
+ },
+ }),
+ Object.defineProperty(H.prototype, 'textContent', {
+ get: function () {
+ return ke(this);
+ },
+ set: function (e) {
+ switch (this.nodeType) {
+ case p:
+ case b:
+ for (; this.firstChild; ) this.removeChild(this.firstChild);
+ (e || String(e)) && this.appendChild(this.ownerDocument.createTextNode(e));
+ break;
+ default:
+ (this.data = e), (this.value = e), (this.nodeValue = e);
+ }
+ },
+ }),
+ (Ce = function (e, t, n) {
+ e['$$' + t] = n;
+ });
+ }
+ } catch (Se) {}
+ (t.DocumentType = ae),
+ (t.DOMException = I),
+ (t.DOMImplementation = M),
+ (t.Element = ee),
+ (t.Node = H),
+ (t.NodeList = O),
+ (t.XMLSerializer = pe);
+ },
+ function (e, t, n) {
+ var r = n(23),
+ o = n(24),
+ i = n(0),
+ a = n(7),
+ s = null,
+ c = function (e) {
+ if (!s) {
+ var t = n(25);
+ s = new t({
+ appkey: '0AND0VEVB24UBGDU',
+ versionCode: a.version,
+ channelID: 'js_sdk',
+ openid: 'openid',
+ unionid: 'unid',
+ strictMode: !1,
+ delay: e,
+ sessionDuration: 6e4,
+ });
+ }
+ return s;
+ },
+ u = function () {
+ var e = function () {
+ return ((65536 * (1 + Math.random())) | 0).toString(16).substring(1);
+ };
+ return e() + e() + '-' + e() + '-' + e() + '-' + e() + '-' + e() + e() + e();
+ },
+ l = function () {
+ if ('object' === ('undefined' == typeof navigator ? 'undefined' : i(navigator))) {
+ var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
+ return (null == e ? void 0 : e.type) || (null == e ? void 0 : e.effectiveType) || 'unknown';
+ }
+ return 'unknown';
+ },
+ d = function () {
+ if ('object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator))) return 'unknown os';
+ var e = navigator.userAgent.toLowerCase(),
+ t = /macintosh|mac os x/i.test(navigator.userAgent);
+ return e.indexOf('win32') >= 0 || e.indexOf('wow32') >= 0
+ ? 'win32'
+ : e.indexOf('win64') >= 0 || e.indexOf('wow64') >= 0
+ ? 'win64'
+ : t
+ ? 'mac'
+ : 'unknown os';
+ },
+ p = function () {
+ return !(
+ 'object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator)) ||
+ !navigator.userAgent.match(
+ /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i,
+ )
+ );
+ },
+ f = function () {
+ return !(
+ 'object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator)) ||
+ !navigator.userAgent.match(/(Android|Adr|Linux)/i)
+ );
+ },
+ h = function () {
+ return !(
+ 'object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator)) ||
+ !navigator.userAgent.match(/(iPhone|iPod|iPad|iOS)/i)
+ );
+ },
+ m = function () {
+ if ('object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator))) return 'unknown device';
+ var e = navigator.userAgent.toLowerCase();
+ if (e.includes('app/tencent_wemeet')) return 'tencent_wemeet';
+ if (e.indexOf('maxthon') >= 0) {
+ var t = e.match(/maxthon\/([\d.]+)/),
+ n = (t && t[1]) || '';
+ return '傲游浏览器 '.concat(n).trim();
+ }
+ if (e.indexOf('qqbrowser') >= 0) {
+ var r = e.match(/qqbrowser\/([\d.]+)/),
+ o = (r && r[1]) || '';
+ return 'QQ浏览器 '.concat(o).trim();
+ }
+ if (e.indexOf('se 2.x') >= 0) return '搜狗浏览器';
+ if (e.indexOf('wxwork') >= 0) return '微信内置浏览器';
+ if (e.indexOf('msie') >= 0) {
+ var a = e.match(/msie ([\d.]+)/),
+ s = (a && a[1]) || '';
+ return 'IE '.concat(s).trim();
+ }
+ if (e.indexOf('firefox') >= 0) {
+ var c = e.match(/firefox\/([\d.]+)/),
+ u = (c && c[1]) || '';
+ return 'Firefox '.concat(u).trim();
+ }
+ if (e.indexOf('chrome') >= 0) {
+ var l = e.match(/chrome\/([\d.]+)/),
+ d = (l && l[1]) || '';
+ return 'Chrome '.concat(d).trim();
+ }
+ if (e.indexOf('opera') >= 0) {
+ var p = e.match(/opera.([\d.]+)/),
+ f = (p && p[1]) || '';
+ return 'Opera '.concat(f).trim();
+ }
+ if (e.indexOf('safari') >= 0) {
+ var h = e.match(/version\/([\d.]+)/),
+ m = (h && h[1]) || '';
+ return 'Safari '.concat(m).trim();
+ }
+ if (e.indexOf('edge') >= 0) {
+ var g = e.match(/edge\/([\d.]+)/),
+ y = (g && g[1]) || '';
+ return 'edge '.concat(y).trim();
+ }
+ return e.substr(0, 200);
+ },
+ g = {
+ isMobile: p(),
+ isBrowser: !p(),
+ mobileOsType: f() ? 'android' : h ? 'ios' : 'other_mobile',
+ pcOsType: d(),
+ },
+ y = {
+ deviceType: g.isMobile ? 'mobile' : g.isBrowser ? 'browser' : 'unknown',
+ devicePlatform: g.isMobile ? g.mobileOsType : g.pcOsType,
+ deviceName: m(),
+ },
+ v = [
+ 'multipartInit',
+ 'multipartUpload',
+ 'multipartComplete',
+ 'multipartList',
+ 'multipartListPart',
+ 'multipartAbort',
+ ],
+ C = ['putObject', 'postObject', 'appendObject', 'sliceUploadFile', 'uploadFile', 'uploadFiles'].concat(v),
+ k = ['getObject'];
+ function S(e) {
+ return e.replace(/([A-Z])/g, '_$1').toLowerCase();
+ }
+ var b = (function () {
+ 'use strict';
+ function e(t) {
+ r(this, e);
+ var n = t.parent,
+ o = t.traceId,
+ i = t.bucket,
+ s = t.region,
+ l = t.apiName,
+ d = t.fileKey,
+ p = t.fileSize,
+ f = t.accelerate,
+ h = t.customId,
+ m = t.delay,
+ g = t.deepTracker,
+ v = (i && i.substr(i.lastIndexOf('-') + 1)) || '';
+ (this.parent = n),
+ (this.deepTracker = g),
+ (this.delay = m),
+ (this.params = {
+ cossdkVersion: a.version,
+ region: s,
+ networkType: '',
+ host: '',
+ accelerate: f ? 'Y' : 'N',
+ requestPath: d || '',
+ size: p || -1,
+ httpMd5: 0,
+ httpSign: 0,
+ httpFull: 0,
+ name: l || '',
+ result: '',
+ tookTime: 0,
+ errorNode: '',
+ errorCode: '',
+ errorMessage: '',
+ errorRequestId: '',
+ errorStatusCode: 0,
+ errorServiceName: '',
+ tracePlatform: 'cos-js-sdk-v5',
+ traceId: o || u(),
+ bucket: i,
+ appid: v,
+ partNumber: 0,
+ retryTimes: 0,
+ reqUrl: '',
+ customId: h || '',
+ deviceType: y.deviceType,
+ devicePlatform: y.devicePlatform,
+ deviceName: y.deviceName,
+ md5StartTime: 0,
+ md5EndTime: 0,
+ signStartTime: 0,
+ signEndTime: 0,
+ httpStartTime: 0,
+ httpEndTime: 0,
+ startTime: new Date().getTime(),
+ endTime: 0,
+ }),
+ (this.beacon = c(m));
+ }
+ return (
+ o(e, [
+ {
+ key: 'formatResult',
+ value: function (e, t) {
+ var n,
+ r,
+ o,
+ i,
+ a,
+ s,
+ c = new Date().getTime() - this.params.startTime,
+ u = l(),
+ d = e
+ ? (null == e ? void 0 : e.code) ||
+ (null == e || null === (n = e.error) || void 0 === n ? void 0 : n.code) ||
+ (null == e || null === (r = e.error) || void 0 === r ? void 0 : r.Code)
+ : '',
+ p = e
+ ? (null == e ? void 0 : e.message) ||
+ (null == e || null === (o = e.error) || void 0 === o ? void 0 : o.message) ||
+ (null == e || null === (i = e.error) || void 0 === i ? void 0 : i.Message)
+ : '',
+ f = e
+ ? (null == e ? void 0 : e.resource) ||
+ (null == e || null === (a = e.error) || void 0 === a ? void 0 : a.resource) ||
+ (null == e || null === (s = e.error) || void 0 === s ? void 0 : s.Resource)
+ : '',
+ h = e ? (null == e ? void 0 : e.statusCode) : t.statusCode,
+ m = e
+ ? (null == e ? void 0 : e.headers) && (null == e ? void 0 : e.headers['x-cos-request-id'])
+ : (null == t ? void 0 : t.headers) && (null == t ? void 0 : t.headers['x-cos-request-id']),
+ g = e ? (m ? 'Server' : 'Client') : '';
+ if (
+ (Object.assign(this.params, {
+ tookTime: c,
+ networkType: u,
+ httpMd5: this.params.md5EndTime - this.params.md5StartTime,
+ httpSign: this.params.signEndTime - this.params.signStartTime,
+ httpFull: this.params.httpEndTime - this.params.httpStartTime,
+ result: e ? 'Fail' : 'Success',
+ errorType: g,
+ errorCode: d,
+ errorStatusCode: h,
+ errorMessage: p,
+ errorServiceName: f,
+ errorRequestId: m,
+ }),
+ !e || (d && p) || (this.params.fullError = e ? JSON.stringify(e) : ''),
+ 'getObject' === this.params.name &&
+ (this.params.size = t ? t.headers && t.headers['content-length'] : -1),
+ this.params.reqUrl)
+ )
+ try {
+ var y = /^http(s)?:\/\/(.*?)\//.exec(this.params.reqUrl);
+ this.params.host = y[2];
+ } catch (e) {
+ this.params.host = this.params.reqUrl;
+ }
+ this.sendEvents();
+ },
+ },
+ {
+ key: 'setParams',
+ value: function (e) {
+ Object.assign(this.params, e);
+ },
+ },
+ {
+ key: 'sendEvents',
+ value: function () {
+ if (!v.includes(this.params.name) || this.deepTracker) {
+ var e,
+ t =
+ ((e = this.params.name),
+ C.includes(e) ? 'cos_upload' : k.includes(e) ? 'cos_download' : 'base_service'),
+ n = (function (e) {
+ var t = {},
+ n =
+ 'Success' === e.result
+ ? [
+ 'tracePlatform',
+ 'cossdkVersion',
+ 'region',
+ 'bucket',
+ 'appid',
+ 'networkType',
+ 'host',
+ 'accelerate',
+ 'requestPath',
+ 'partNumber',
+ 'size',
+ 'name',
+ 'result',
+ 'tookTime',
+ 'errorRequestId',
+ 'retryTimes',
+ 'reqUrl',
+ 'customId',
+ 'deviceType',
+ 'devicePlatform',
+ 'deviceName',
+ ]
+ : [
+ 'tracePlatform',
+ 'cossdkVersion',
+ 'region',
+ 'networkType',
+ 'host',
+ 'accelerate',
+ 'requestPath',
+ 'size',
+ 'httpMd5',
+ 'httpSign',
+ 'httpFull',
+ 'name',
+ 'result',
+ 'tookTime',
+ 'errorNode',
+ 'errorCode',
+ 'errorMessage',
+ 'errorRequestId',
+ 'errorStatusCode',
+ 'errorServiceName',
+ 'errorType',
+ 'traceId',
+ 'bucket',
+ 'appid',
+ 'partNumber',
+ 'retryTimes',
+ 'reqUrl',
+ 'customId',
+ 'fullError',
+ 'deviceType',
+ 'devicePlatform',
+ 'deviceName',
+ ];
+ for (var r in e) n.includes(r) && (t[S(r)] = e[r]);
+ return t;
+ })(this.params);
+ this.beacon || (this.beacon = c(this.delay || 5e3)),
+ 0 === this.delay
+ ? this.beacon && this.beacon.onDirectUserAction(t, n)
+ : this.beacon && this.beacon.onUserAction(t, n);
+ }
+ },
+ },
+ {
+ key: 'generateSubTracker',
+ value: function (t) {
+ return (
+ Object.assign(t, {
+ parent: this,
+ deepTracker: this.deepTracker,
+ traceId: this.params.traceId,
+ bucket: this.params.bucket,
+ region: this.params.region,
+ fileKey: this.params.requestPath,
+ customId: this.params.customId,
+ delay: this.delay,
+ }),
+ new e(t)
+ );
+ },
+ },
+ ]),
+ e
+ );
+ })();
+ e.exports = b;
+ },
+ function (e) {
+ e.exports = JSON.parse(
+ '{"name":"cos-js-sdk-v5","version":"1.4.20","description":"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)","main":"dist/cos-js-sdk-v5.js","types":"index.d.ts","scripts":{"prettier":"prettier --write src demo/demo.js test/test.js server/sts.js index.d.ts","server":"node server/sts.js","dev":"cross-env NODE_ENV=development webpack -w --mode=development","build":"cross-env NODE_ENV=production webpack --mode=production","cos-auth.min.js":"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m","test":"jest --runInBand --coverage"},"repository":{"type":"git","url":"git+https://github.com/tencentyun/cos-js-sdk-v5.git"},"keywords":[],"author":"carsonxu","license":"ISC","bugs":{"url":"https://github.com/tencentyun/cos-js-sdk-v5/issues"},"homepage":"https://github.com/tencentyun/cos-js-sdk-v5#readme","dependencies":{"@xmldom/xmldom":"^0.8.6"},"devDependencies":{"@babel/core":"7.17.9","@babel/plugin-transform-runtime":"7.18.10","@babel/preset-env":"7.16.11","babel-loader":"8.2.5","body-parser":"^1.18.3","cross-env":"^5.2.0","express":"^4.16.4","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","prettier":"^3.0.1","qcloud-cos-sts":"^3.0.2","request":"^2.87.0","terser-webpack-plugin":"4.2.3","uglifyjs":"^2.4.11","webpack":"4.46.0","webpack-cli":"4.10.0"}}',
+ );
+ },
+ function (e, t) {
+ var n = function (e) {
+ var t = {},
+ n = function (e) {
+ return !t[e] && (t[e] = []), t[e];
+ };
+ (e.on = function (e, t) {
+ n(e).push(t);
+ }),
+ (e.off = function (e, t) {
+ for (var r = n(e), o = r.length - 1; o >= 0; o--) t === r[o] && r.splice(o, 1);
+ }),
+ (e.emit = function (e, t) {
+ for (
+ var r = n(e).map(function (e) {
+ return e;
+ }),
+ o = 0;
+ o < r.length;
+ o++
+ )
+ r[o](t);
+ });
+ };
+ (e.exports.init = n),
+ (e.exports.EventProxy = function () {
+ n(this);
+ });
+ },
+ function (e, t, n) {
+ var r,
+ o,
+ i = n(1),
+ a = 'cos_sdk_upload_cache',
+ s = function () {
+ try {
+ var e = JSON.parse(localStorage.getItem(a));
+ } catch (e) {}
+ e || (e = []), (r = e);
+ },
+ c = function () {
+ try {
+ r.length ? localStorage.setItem(a, JSON.stringify(r)) : localStorage.removeItem(a);
+ } catch (e) {}
+ },
+ u = function () {
+ if (!r) {
+ s.call(this);
+ for (var e = !1, t = Math.round(Date.now() / 1e3), n = r.length - 1; n >= 0; n--) {
+ var o = r[n][2];
+ (!o || o + 2592e3 < t) && (r.splice(n, 1), (e = !0));
+ }
+ e && c();
+ }
+ },
+ l = function () {
+ o ||
+ (o = setTimeout(function () {
+ c(), (o = null);
+ }, 400));
+ },
+ d = {
+ using: {},
+ setUsing: function (e) {
+ d.using[e] = !0;
+ },
+ removeUsing: function (e) {
+ delete d.using[e];
+ },
+ getFileId: function (e, t, n, r) {
+ return e.name && e.size && e.lastModifiedDate && t
+ ? i.md5([e.name, e.size, e.lastModifiedDate, t, n, r].join('::'))
+ : null;
+ },
+ getCopyFileId: function (e, t, n, r, o) {
+ var a = t['content-length'],
+ s = t.etag || '',
+ c = t['last-modified'];
+ return e && n ? i.md5([e, a, s, c, n, r, o].join('::')) : null;
+ },
+ getUploadIdList: function (e) {
+ if (!e) return null;
+ u.call(this);
+ for (var t = [], n = 0; n < r.length; n++) r[n][0] === e && t.push(r[n][1]);
+ return t.length ? t : null;
+ },
+ saveUploadId: function (e, t, n) {
+ if ((u.call(this), e)) {
+ for (var o = r.length - 1; o >= 0; o--) {
+ var i = r[o];
+ i[0] === e && i[1] === t && r.splice(o, 1);
+ }
+ r.unshift([e, t, Math.round(Date.now() / 1e3)]), r.length > n && r.splice(n), l();
+ }
+ },
+ removeUploadId: function (e) {
+ u.call(this), delete d.using[e];
+ for (var t = r.length - 1; t >= 0; t--) r[t][1] === e && r.splice(t, 1);
+ l();
+ },
+ };
+ e.exports = d;
+ },
+ function (e, t, n) {
+ var r = n(11);
+ e.exports = r;
+ },
+ function (e, t, n) {
+ 'use strict';
+ var r = n(1),
+ o = n(8),
+ i = n(26),
+ a = n(27),
+ s = n(29),
+ c = n(7),
+ u = {
+ AppId: '',
+ SecretId: '',
+ SecretKey: '',
+ SecurityToken: '',
+ ChunkRetryTimes: 2,
+ FileParallelLimit: 3,
+ ChunkParallelLimit: 3,
+ ChunkSize: 1048576,
+ SliceSize: 1048576,
+ CopyChunkParallelLimit: 20,
+ CopyChunkSize: 10485760,
+ CopySliceSize: 10485760,
+ MaxPartNumber: 1e4,
+ ProgressInterval: 1e3,
+ Domain: '',
+ ServiceDomain: '',
+ Protocol: '',
+ CompatibilityMode: !1,
+ ForcePathStyle: !1,
+ UseRawKey: !1,
+ Timeout: 0,
+ CorrectClockSkew: !0,
+ SystemClockOffset: 0,
+ UploadCheckContentMd5: !1,
+ UploadQueueSize: 1e4,
+ UploadAddMetaMd5: !1,
+ UploadIdCacheLimit: 50,
+ UseAccelerate: !1,
+ ForceSignHost: !0,
+ EnableTracker: !1,
+ DeepTracker: !1,
+ TrackerDelay: 5e3,
+ CustomId: '',
+ },
+ l = function (e) {
+ (this.options = r.extend(r.clone(u), e || {})),
+ (this.options.FileParallelLimit = Math.max(1, this.options.FileParallelLimit)),
+ (this.options.ChunkParallelLimit = Math.max(1, this.options.ChunkParallelLimit)),
+ (this.options.ChunkRetryTimes = Math.max(0, this.options.ChunkRetryTimes)),
+ (this.options.ChunkSize = Math.max(1048576, this.options.ChunkSize)),
+ (this.options.CopyChunkParallelLimit = Math.max(1, this.options.CopyChunkParallelLimit)),
+ (this.options.CopyChunkSize = Math.max(1048576, this.options.CopyChunkSize)),
+ (this.options.CopySliceSize = Math.max(0, this.options.CopySliceSize)),
+ (this.options.MaxPartNumber = Math.max(1024, Math.min(1e4, this.options.MaxPartNumber))),
+ (this.options.Timeout = Math.max(0, this.options.Timeout)),
+ this.options.AppId,
+ this.options.SecretId && this.options.SecretId.indexOf(' '),
+ this.options.SecretKey && this.options.SecretKey.indexOf(' '),
+ r.isNode(),
+ o.init(this),
+ i.init(this);
+ };
+ a.init(l, i),
+ s.init(l, i),
+ (l.util = { md5: r.md5, xml2json: r.xml2json, json2xml: r.json2xml, encodeBase64: r.encodeBase64 }),
+ (l.getAuthorization = r.getAuth),
+ (l.version = c.version),
+ (e.exports = l);
+ },
+ function (module, exports, __webpack_require__) {
+ (function (process, global, module) {
+ var __WEBPACK_AMD_DEFINE_RESULT__,
+ _typeof = __webpack_require__(0);
+ (function () {
+ 'use strict';
+ var ERROR = 'input is invalid type',
+ WINDOW = 'object' === ('undefined' == typeof window ? 'undefined' : _typeof(window)),
+ root = WINDOW ? window : {};
+ root.JS_MD5_NO_WINDOW && (WINDOW = !1);
+ var WEB_WORKER = !WINDOW && 'object' === ('undefined' == typeof self ? 'undefined' : _typeof(self)),
+ NODE_JS =
+ !root.JS_MD5_NO_NODE_JS &&
+ 'object' === (void 0 === process ? 'undefined' : _typeof(process)) &&
+ process.versions &&
+ process.versions.node;
+ NODE_JS ? (root = global) : WEB_WORKER && (root = self);
+ var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && 'object' === _typeof(module) && module.exports,
+ AMD = __webpack_require__(14),
+ ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && 'undefined' != typeof ArrayBuffer,
+ HEX_CHARS = '0123456789abcdef'.split(''),
+ EXTRA = [128, 32768, 8388608, -2147483648],
+ SHIFT = [0, 8, 16, 24],
+ OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'],
+ BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''),
+ blocks = [],
+ buffer8;
+ if (ARRAY_BUFFER) {
+ var buffer = new ArrayBuffer(68);
+ (buffer8 = new Uint8Array(buffer)), (blocks = new Uint32Array(buffer));
+ }
+ (!root.JS_MD5_NO_NODE_JS && Array.isArray) ||
+ (Array.isArray = function (e) {
+ return '[object Array]' === Object.prototype.toString.call(e);
+ }),
+ !ARRAY_BUFFER ||
+ (!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW && ArrayBuffer.isView) ||
+ (ArrayBuffer.isView = function (e) {
+ return 'object' === _typeof(e) && e.buffer && e.buffer.constructor === ArrayBuffer;
+ });
+ var createOutputMethod = function (e) {
+ return function (t, n) {
+ return new Md5(!0).update(t, n)[e]();
+ };
+ },
+ createMethod = function () {
+ var e = createOutputMethod('hex');
+ NODE_JS && (e = nodeWrap(e)),
+ (e.getCtx = e.create =
+ function () {
+ return new Md5();
+ }),
+ (e.update = function (t) {
+ return e.create().update(t);
+ });
+ for (var t = 0; t < OUTPUT_TYPES.length; ++t) {
+ var n = OUTPUT_TYPES[t];
+ e[n] = createOutputMethod(n);
+ }
+ return e;
+ },
+ nodeWrap = function nodeWrap(method) {
+ var crypto = eval("require('crypto')"),
+ Buffer = eval("require('buffer').Buffer"),
+ nodeMethod = function (e) {
+ if ('string' == typeof e) return crypto.createHash('md5').update(e, 'utf8').digest('hex');
+ if (null == e) throw ERROR;
+ return (
+ e.constructor === ArrayBuffer && (e = new Uint8Array(e)),
+ Array.isArray(e) || ArrayBuffer.isView(e) || e.constructor === Buffer
+ ? crypto.createHash('md5').update(new Buffer(e)).digest('hex')
+ : method(e)
+ );
+ };
+ return nodeMethod;
+ };
+ function Md5(e) {
+ if (e)
+ (blocks[0] =
+ blocks[16] =
+ blocks[1] =
+ blocks[2] =
+ blocks[3] =
+ blocks[4] =
+ blocks[5] =
+ blocks[6] =
+ blocks[7] =
+ blocks[8] =
+ blocks[9] =
+ blocks[10] =
+ blocks[11] =
+ blocks[12] =
+ blocks[13] =
+ blocks[14] =
+ blocks[15] =
+ 0),
+ (this.blocks = blocks),
+ (this.buffer8 = buffer8);
+ else if (ARRAY_BUFFER) {
+ var t = new ArrayBuffer(68);
+ (this.buffer8 = new Uint8Array(t)), (this.blocks = new Uint32Array(t));
+ } else this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
+ (this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0),
+ (this.finalized = this.hashed = !1),
+ (this.first = !0);
+ }
+ (Md5.prototype.update = function (e, t) {
+ if (!this.finalized) {
+ for (var n, r, o = 0, i = e.length, a = this.blocks, s = this.buffer8; o < i; ) {
+ if (
+ (this.hashed &&
+ ((this.hashed = !1),
+ (a[0] = a[16]),
+ (a[16] =
+ a[1] =
+ a[2] =
+ a[3] =
+ a[4] =
+ a[5] =
+ a[6] =
+ a[7] =
+ a[8] =
+ a[9] =
+ a[10] =
+ a[11] =
+ a[12] =
+ a[13] =
+ a[14] =
+ a[15] =
+ 0)),
+ ARRAY_BUFFER)
+ )
+ for (r = this.start; o < i && r < 64; ++o)
+ (n = e.charCodeAt(o)),
+ t || n < 128
+ ? (s[r++] = n)
+ : n < 2048
+ ? ((s[r++] = 192 | (n >> 6)), (s[r++] = 128 | (63 & n)))
+ : n < 55296 || n >= 57344
+ ? ((s[r++] = 224 | (n >> 12)), (s[r++] = 128 | ((n >> 6) & 63)), (s[r++] = 128 | (63 & n)))
+ : ((n = 65536 + (((1023 & n) << 10) | (1023 & e.charCodeAt(++o)))),
+ (s[r++] = 240 | (n >> 18)),
+ (s[r++] = 128 | ((n >> 12) & 63)),
+ (s[r++] = 128 | ((n >> 6) & 63)),
+ (s[r++] = 128 | (63 & n)));
+ else
+ for (r = this.start; o < i && r < 64; ++o)
+ (n = e.charCodeAt(o)),
+ t || n < 128
+ ? (a[r >> 2] |= n << SHIFT[3 & r++])
+ : n < 2048
+ ? ((a[r >> 2] |= (192 | (n >> 6)) << SHIFT[3 & r++]),
+ (a[r >> 2] |= (128 | (63 & n)) << SHIFT[3 & r++]))
+ : n < 55296 || n >= 57344
+ ? ((a[r >> 2] |= (224 | (n >> 12)) << SHIFT[3 & r++]),
+ (a[r >> 2] |= (128 | ((n >> 6) & 63)) << SHIFT[3 & r++]),
+ (a[r >> 2] |= (128 | (63 & n)) << SHIFT[3 & r++]))
+ : ((n = 65536 + (((1023 & n) << 10) | (1023 & e.charCodeAt(++o)))),
+ (a[r >> 2] |= (240 | (n >> 18)) << SHIFT[3 & r++]),
+ (a[r >> 2] |= (128 | ((n >> 12) & 63)) << SHIFT[3 & r++]),
+ (a[r >> 2] |= (128 | ((n >> 6) & 63)) << SHIFT[3 & r++]),
+ (a[r >> 2] |= (128 | (63 & n)) << SHIFT[3 & r++]));
+ (this.lastByteIndex = r),
+ (this.bytes += r - this.start),
+ r >= 64 ? ((this.start = r - 64), this.hash(), (this.hashed = !0)) : (this.start = r);
+ }
+ return (
+ this.bytes > 4294967295 &&
+ ((this.hBytes += (this.bytes / 4294967296) << 0), (this.bytes = this.bytes % 4294967296)),
+ this
+ );
+ }
+ }),
+ (Md5.prototype.finalize = function () {
+ if (!this.finalized) {
+ this.finalized = !0;
+ var e = this.blocks,
+ t = this.lastByteIndex;
+ (e[t >> 2] |= EXTRA[3 & t]),
+ t >= 56 &&
+ (this.hashed || this.hash(),
+ (e[0] = e[16]),
+ (e[16] =
+ e[1] =
+ e[2] =
+ e[3] =
+ e[4] =
+ e[5] =
+ e[6] =
+ e[7] =
+ e[8] =
+ e[9] =
+ e[10] =
+ e[11] =
+ e[12] =
+ e[13] =
+ e[14] =
+ e[15] =
+ 0)),
+ (e[14] = this.bytes << 3),
+ (e[15] = (this.hBytes << 3) | (this.bytes >>> 29)),
+ this.hash();
+ }
+ }),
+ (Md5.prototype.hash = function () {
+ var e,
+ t,
+ n,
+ r,
+ o,
+ i,
+ a = this.blocks;
+ this.first
+ ? (t =
+ ((((t =
+ ((e = ((((e = a[0] - 680876937) << 7) | (e >>> 25)) - 271733879) << 0) ^
+ ((n =
+ ((((n =
+ (-271733879 ^
+ ((r =
+ ((((r = (-1732584194 ^ (2004318071 & e)) + a[1] - 117830708) << 12) | (r >>> 20)) +
+ e) <<
+ 0) &
+ (-271733879 ^ e))) +
+ a[2] -
+ 1126478375) <<
+ 17) |
+ (n >>> 15)) +
+ r) <<
+ 0) &
+ (r ^ e))) +
+ a[3] -
+ 1316259209) <<
+ 22) |
+ (t >>> 10)) +
+ n) <<
+ 0)
+ : ((e = this.h0),
+ (t = this.h1),
+ (n = this.h2),
+ (t =
+ ((((t +=
+ ((e =
+ ((((e += ((r = this.h3) ^ (t & (n ^ r))) + a[0] - 680876936) << 7) | (e >>> 25)) + t) << 0) ^
+ ((n =
+ ((((n +=
+ (t ^
+ ((r = ((((r += (n ^ (e & (t ^ n))) + a[1] - 389564586) << 12) | (r >>> 20)) + e) << 0) &
+ (e ^ t))) +
+ a[2] +
+ 606105819) <<
+ 17) |
+ (n >>> 15)) +
+ r) <<
+ 0) &
+ (r ^ e))) +
+ a[3] -
+ 1044525330) <<
+ 22) |
+ (t >>> 10)) +
+ n) <<
+ 0)),
+ (t =
+ ((((t +=
+ ((e = ((((e += (r ^ (t & (n ^ r))) + a[4] - 176418897) << 7) | (e >>> 25)) + t) << 0) ^
+ ((n =
+ ((((n +=
+ (t ^
+ ((r = ((((r += (n ^ (e & (t ^ n))) + a[5] + 1200080426) << 12) | (r >>> 20)) + e) << 0) &
+ (e ^ t))) +
+ a[6] -
+ 1473231341) <<
+ 17) |
+ (n >>> 15)) +
+ r) <<
+ 0) &
+ (r ^ e))) +
+ a[7] -
+ 45705983) <<
+ 22) |
+ (t >>> 10)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((e = ((((e += (r ^ (t & (n ^ r))) + a[8] + 1770035416) << 7) | (e >>> 25)) + t) << 0) ^
+ ((n =
+ ((((n +=
+ (t ^
+ ((r = ((((r += (n ^ (e & (t ^ n))) + a[9] - 1958414417) << 12) | (r >>> 20)) + e) << 0) &
+ (e ^ t))) +
+ a[10] -
+ 42063) <<
+ 17) |
+ (n >>> 15)) +
+ r) <<
+ 0) &
+ (r ^ e))) +
+ a[11] -
+ 1990404162) <<
+ 22) |
+ (t >>> 10)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((e = ((((e += (r ^ (t & (n ^ r))) + a[12] + 1804603682) << 7) | (e >>> 25)) + t) << 0) ^
+ ((n =
+ ((((n +=
+ (t ^
+ ((r = ((((r += (n ^ (e & (t ^ n))) + a[13] - 40341101) << 12) | (r >>> 20)) + e) << 0) &
+ (e ^ t))) +
+ a[14] -
+ 1502002290) <<
+ 17) |
+ (n >>> 15)) +
+ r) <<
+ 0) &
+ (r ^ e))) +
+ a[15] +
+ 1236535329) <<
+ 22) |
+ (t >>> 10)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^
+ (n &
+ ((e = ((((e += (n ^ (r & (t ^ n))) + a[1] - 165796510) << 5) | (e >>> 27)) + t) << 0) ^
+ t))) +
+ a[6] -
+ 1069501632) <<
+ 9) |
+ (r >>> 23)) +
+ e) <<
+ 0) ^
+ (e &
+ ((n = ((((n += (e ^ (t & (r ^ e))) + a[11] + 643717713) << 14) | (n >>> 18)) + r) << 0) ^ r))) +
+ a[0] -
+ 373897302) <<
+ 20) |
+ (t >>> 12)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^
+ (n &
+ ((e = ((((e += (n ^ (r & (t ^ n))) + a[5] - 701558691) << 5) | (e >>> 27)) + t) << 0) ^
+ t))) +
+ a[10] +
+ 38016083) <<
+ 9) |
+ (r >>> 23)) +
+ e) <<
+ 0) ^
+ (e &
+ ((n = ((((n += (e ^ (t & (r ^ e))) + a[15] - 660478335) << 14) | (n >>> 18)) + r) << 0) ^ r))) +
+ a[4] -
+ 405537848) <<
+ 20) |
+ (t >>> 12)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^
+ (n &
+ ((e = ((((e += (n ^ (r & (t ^ n))) + a[9] + 568446438) << 5) | (e >>> 27)) + t) << 0) ^
+ t))) +
+ a[14] -
+ 1019803690) <<
+ 9) |
+ (r >>> 23)) +
+ e) <<
+ 0) ^
+ (e &
+ ((n = ((((n += (e ^ (t & (r ^ e))) + a[3] - 187363961) << 14) | (n >>> 18)) + r) << 0) ^ r))) +
+ a[8] +
+ 1163531501) <<
+ 20) |
+ (t >>> 12)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^
+ (n &
+ ((e = ((((e += (n ^ (r & (t ^ n))) + a[13] - 1444681467) << 5) | (e >>> 27)) + t) << 0) ^
+ t))) +
+ a[2] -
+ 51403784) <<
+ 9) |
+ (r >>> 23)) +
+ e) <<
+ 0) ^
+ (e &
+ ((n = ((((n += (e ^ (t & (r ^ e))) + a[7] + 1735328473) << 14) | (n >>> 18)) + r) << 0) ^ r))) +
+ a[12] -
+ 1926607734) <<
+ 20) |
+ (t >>> 12)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((i =
+ (r =
+ ((((r +=
+ ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[5] - 378558) << 4) | (e >>> 28)) + t) << 0)) +
+ a[8] -
+ 2022574463) <<
+ 11) |
+ (r >>> 21)) +
+ e) <<
+ 0) ^ e) ^
+ (n = ((((n += (i ^ t) + a[11] + 1839030562) << 16) | (n >>> 16)) + r) << 0)) +
+ a[14] -
+ 35309556) <<
+ 23) |
+ (t >>> 9)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((i =
+ (r =
+ ((((r +=
+ ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[1] - 1530992060) << 4) | (e >>> 28)) + t) << 0)) +
+ a[4] +
+ 1272893353) <<
+ 11) |
+ (r >>> 21)) +
+ e) <<
+ 0) ^ e) ^
+ (n = ((((n += (i ^ t) + a[7] - 155497632) << 16) | (n >>> 16)) + r) << 0)) +
+ a[10] -
+ 1094730640) <<
+ 23) |
+ (t >>> 9)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((i =
+ (r =
+ ((((r +=
+ ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[13] + 681279174) << 4) | (e >>> 28)) + t) << 0)) +
+ a[0] -
+ 358537222) <<
+ 11) |
+ (r >>> 21)) +
+ e) <<
+ 0) ^ e) ^
+ (n = ((((n += (i ^ t) + a[3] - 722521979) << 16) | (n >>> 16)) + r) << 0)) +
+ a[6] +
+ 76029189) <<
+ 23) |
+ (t >>> 9)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((i =
+ (r =
+ ((((r +=
+ ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[9] - 640364487) << 4) | (e >>> 28)) + t) << 0)) +
+ a[12] -
+ 421815835) <<
+ 11) |
+ (r >>> 21)) +
+ e) <<
+ 0) ^ e) ^
+ (n = ((((n += (i ^ t) + a[15] + 530742520) << 16) | (n >>> 16)) + r) << 0)) +
+ a[2] -
+ 995338651) <<
+ 23) |
+ (t >>> 9)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[0] - 198630844) << 6) | (e >>> 26)) + t) << 0) | ~n)) +
+ a[7] +
+ 1126891415) <<
+ 10) |
+ (r >>> 22)) +
+ e) <<
+ 0) ^
+ ((n = ((((n += (e ^ (r | ~t)) + a[14] - 1416354905) << 15) | (n >>> 17)) + r) << 0) | ~e)) +
+ a[5] -
+ 57434055) <<
+ 21) |
+ (t >>> 11)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[12] + 1700485571) << 6) | (e >>> 26)) + t) << 0) | ~n)) +
+ a[3] -
+ 1894986606) <<
+ 10) |
+ (r >>> 22)) +
+ e) <<
+ 0) ^
+ ((n = ((((n += (e ^ (r | ~t)) + a[10] - 1051523) << 15) | (n >>> 17)) + r) << 0) | ~e)) +
+ a[1] -
+ 2054922799) <<
+ 21) |
+ (t >>> 11)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[8] + 1873313359) << 6) | (e >>> 26)) + t) << 0) | ~n)) +
+ a[15] -
+ 30611744) <<
+ 10) |
+ (r >>> 22)) +
+ e) <<
+ 0) ^
+ ((n = ((((n += (e ^ (r | ~t)) + a[6] - 1560198380) << 15) | (n >>> 17)) + r) << 0) | ~e)) +
+ a[13] +
+ 1309151649) <<
+ 21) |
+ (t >>> 11)) +
+ n) <<
+ 0),
+ (t =
+ ((((t +=
+ ((r =
+ ((((r +=
+ (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[4] - 145523070) << 6) | (e >>> 26)) + t) << 0) | ~n)) +
+ a[11] -
+ 1120210379) <<
+ 10) |
+ (r >>> 22)) +
+ e) <<
+ 0) ^
+ ((n = ((((n += (e ^ (r | ~t)) + a[2] + 718787259) << 15) | (n >>> 17)) + r) << 0) | ~e)) +
+ a[9] -
+ 343485551) <<
+ 21) |
+ (t >>> 11)) +
+ n) <<
+ 0),
+ this.first
+ ? ((this.h0 = (e + 1732584193) << 0),
+ (this.h1 = (t - 271733879) << 0),
+ (this.h2 = (n - 1732584194) << 0),
+ (this.h3 = (r + 271733878) << 0),
+ (this.first = !1))
+ : ((this.h0 = (this.h0 + e) << 0),
+ (this.h1 = (this.h1 + t) << 0),
+ (this.h2 = (this.h2 + n) << 0),
+ (this.h3 = (this.h3 + r) << 0));
+ }),
+ (Md5.prototype.hex = function () {
+ this.finalize();
+ var e = this.h0,
+ t = this.h1,
+ n = this.h2,
+ r = this.h3;
+ return (
+ HEX_CHARS[(e >> 4) & 15] +
+ HEX_CHARS[15 & e] +
+ HEX_CHARS[(e >> 12) & 15] +
+ HEX_CHARS[(e >> 8) & 15] +
+ HEX_CHARS[(e >> 20) & 15] +
+ HEX_CHARS[(e >> 16) & 15] +
+ HEX_CHARS[(e >> 28) & 15] +
+ HEX_CHARS[(e >> 24) & 15] +
+ HEX_CHARS[(t >> 4) & 15] +
+ HEX_CHARS[15 & t] +
+ HEX_CHARS[(t >> 12) & 15] +
+ HEX_CHARS[(t >> 8) & 15] +
+ HEX_CHARS[(t >> 20) & 15] +
+ HEX_CHARS[(t >> 16) & 15] +
+ HEX_CHARS[(t >> 28) & 15] +
+ HEX_CHARS[(t >> 24) & 15] +
+ HEX_CHARS[(n >> 4) & 15] +
+ HEX_CHARS[15 & n] +
+ HEX_CHARS[(n >> 12) & 15] +
+ HEX_CHARS[(n >> 8) & 15] +
+ HEX_CHARS[(n >> 20) & 15] +
+ HEX_CHARS[(n >> 16) & 15] +
+ HEX_CHARS[(n >> 28) & 15] +
+ HEX_CHARS[(n >> 24) & 15] +
+ HEX_CHARS[(r >> 4) & 15] +
+ HEX_CHARS[15 & r] +
+ HEX_CHARS[(r >> 12) & 15] +
+ HEX_CHARS[(r >> 8) & 15] +
+ HEX_CHARS[(r >> 20) & 15] +
+ HEX_CHARS[(r >> 16) & 15] +
+ HEX_CHARS[(r >> 28) & 15] +
+ HEX_CHARS[(r >> 24) & 15]
+ );
+ }),
+ (Md5.prototype.toString = Md5.prototype.hex),
+ (Md5.prototype.digest = function (e) {
+ if ('hex' === e) return this.hex();
+ this.finalize();
+ var t = this.h0,
+ n = this.h1,
+ r = this.h2,
+ o = this.h3;
+ return [
+ 255 & t,
+ (t >> 8) & 255,
+ (t >> 16) & 255,
+ (t >> 24) & 255,
+ 255 & n,
+ (n >> 8) & 255,
+ (n >> 16) & 255,
+ (n >> 24) & 255,
+ 255 & r,
+ (r >> 8) & 255,
+ (r >> 16) & 255,
+ (r >> 24) & 255,
+ 255 & o,
+ (o >> 8) & 255,
+ (o >> 16) & 255,
+ (o >> 24) & 255,
+ ];
+ }),
+ (Md5.prototype.array = Md5.prototype.digest),
+ (Md5.prototype.arrayBuffer = function () {
+ this.finalize();
+ var e = new ArrayBuffer(16),
+ t = new Uint32Array(e);
+ return (t[0] = this.h0), (t[1] = this.h1), (t[2] = this.h2), (t[3] = this.h3), e;
+ }),
+ (Md5.prototype.buffer = Md5.prototype.arrayBuffer),
+ (Md5.prototype.base64 = function () {
+ for (var e, t, n, r = '', o = this.array(), i = 0; i < 15; )
+ (e = o[i++]),
+ (t = o[i++]),
+ (n = o[i++]),
+ (r +=
+ BASE64_ENCODE_CHAR[e >>> 2] +
+ BASE64_ENCODE_CHAR[63 & ((e << 4) | (t >>> 4))] +
+ BASE64_ENCODE_CHAR[63 & ((t << 2) | (n >>> 6))] +
+ BASE64_ENCODE_CHAR[63 & n]);
+ return (e = o[i]), (r += BASE64_ENCODE_CHAR[e >>> 2] + BASE64_ENCODE_CHAR[(e << 4) & 63] + '==');
+ });
+ var exports = createMethod();
+ COMMON_JS
+ ? (module.exports = exports)
+ : ((root.md5 = exports),
+ AMD &&
+ ((__WEBPACK_AMD_DEFINE_RESULT__ = function () {
+ return exports;
+ }.call(exports, __webpack_require__, exports, module)),
+ void 0 === __WEBPACK_AMD_DEFINE_RESULT__ || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)));
+ })();
+ }).call(this, __webpack_require__(3), __webpack_require__(13), __webpack_require__(4)(module));
+ },
+ function (e, t) {
+ var n;
+ n = (function () {
+ return this;
+ })();
+ try {
+ n = n || new Function('return this')();
+ } catch (e) {
+ 'object' == typeof window && (n = window);
+ }
+ e.exports = n;
+ },
+ function (e, t) {
+ (function (t) {
+ e.exports = t;
+ }).call(this, {});
+ },
+ function (e, t, n) {
+ (function (e) {
+ var t,
+ r,
+ o,
+ i,
+ a,
+ s,
+ c,
+ u = n(0),
+ l =
+ l ||
+ (function (e, t) {
+ var n = {},
+ r = (n.lib = {}),
+ o = function () {},
+ i = (r.Base = {
+ extend: function (e) {
+ o.prototype = this;
+ var t = new o();
+ return (
+ e && t.mixIn(e),
+ t.hasOwnProperty('init') ||
+ (t.init = function () {
+ t.$super.init.apply(this, arguments);
+ }),
+ (t.init.prototype = t),
+ (t.$super = this),
+ t
+ );
+ },
+ create: function () {
+ var e = this.extend();
+ return e.init.apply(e, arguments), e;
+ },
+ init: function () {},
+ mixIn: function (e) {
+ for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);
+ e.hasOwnProperty('toString') && (this.toString = e.toString);
+ },
+ clone: function () {
+ return this.init.prototype.extend(this);
+ },
+ }),
+ a = (r.WordArray = i.extend({
+ init: function (e, t) {
+ (e = this.words = e || []), (this.sigBytes = null != t ? t : 4 * e.length);
+ },
+ toString: function (e) {
+ return (e || c).stringify(this);
+ },
+ concat: function (e) {
+ var t = this.words,
+ n = e.words,
+ r = this.sigBytes;
+ if (((e = e.sigBytes), this.clamp(), r % 4))
+ for (var o = 0; o < e; o++)
+ t[(r + o) >>> 2] |= ((n[o >>> 2] >>> (24 - (o % 4) * 8)) & 255) << (24 - ((r + o) % 4) * 8);
+ else if (65535 < n.length) for (o = 0; o < e; o += 4) t[(r + o) >>> 2] = n[o >>> 2];
+ else t.push.apply(t, n);
+ return (this.sigBytes += e), this;
+ },
+ clamp: function () {
+ var t = this.words,
+ n = this.sigBytes;
+ (t[n >>> 2] &= 4294967295 << (32 - (n % 4) * 8)), (t.length = e.ceil(n / 4));
+ },
+ clone: function () {
+ var e = i.clone.call(this);
+ return (e.words = this.words.slice(0)), e;
+ },
+ random: function (t) {
+ for (var n = [], r = 0; r < t; r += 4) n.push((4294967296 * e.random()) | 0);
+ return new a.init(n, t);
+ },
+ })),
+ s = (n.enc = {}),
+ c = (s.Hex = {
+ stringify: function (e) {
+ var t = e.words;
+ e = e.sigBytes;
+ for (var n = [], r = 0; r < e; r++) {
+ var o = (t[r >>> 2] >>> (24 - (r % 4) * 8)) & 255;
+ n.push((o >>> 4).toString(16)), n.push((15 & o).toString(16));
+ }
+ return n.join('');
+ },
+ parse: function (e) {
+ for (var t = e.length, n = [], r = 0; r < t; r += 2)
+ n[r >>> 3] |= parseInt(e.substr(r, 2), 16) << (24 - (r % 8) * 4);
+ return new a.init(n, t / 2);
+ },
+ }),
+ u = (s.Latin1 = {
+ stringify: function (e) {
+ var t = e.words;
+ e = e.sigBytes;
+ for (var n = [], r = 0; r < e; r++)
+ n.push(String.fromCharCode((t[r >>> 2] >>> (24 - (r % 4) * 8)) & 255));
+ return n.join('');
+ },
+ parse: function (e) {
+ for (var t = e.length, n = [], r = 0; r < t; r++)
+ n[r >>> 2] |= (255 & e.charCodeAt(r)) << (24 - (r % 4) * 8);
+ return new a.init(n, t);
+ },
+ }),
+ l = (s.Utf8 = {
+ stringify: function (e) {
+ try {
+ return decodeURIComponent(escape(u.stringify(e)));
+ } catch (e) {
+ throw Error('Malformed UTF-8 data');
+ }
+ },
+ parse: function (e) {
+ return u.parse(unescape(encodeURIComponent(e)));
+ },
+ }),
+ d = (r.BufferedBlockAlgorithm = i.extend({
+ reset: function () {
+ (this._data = new a.init()), (this._nDataBytes = 0);
+ },
+ _append: function (e) {
+ 'string' == typeof e && (e = l.parse(e)), this._data.concat(e), (this._nDataBytes += e.sigBytes);
+ },
+ _process: function (t) {
+ var n = this._data,
+ r = n.words,
+ o = n.sigBytes,
+ i = this.blockSize,
+ s = o / (4 * i);
+ if (
+ ((t = (s = t ? e.ceil(s) : e.max((0 | s) - this._minBufferSize, 0)) * i),
+ (o = e.min(4 * t, o)),
+ t)
+ ) {
+ for (var c = 0; c < t; c += i) this._doProcessBlock(r, c);
+ (c = r.splice(0, t)), (n.sigBytes -= o);
+ }
+ return new a.init(c, o);
+ },
+ clone: function () {
+ var e = i.clone.call(this);
+ return (e._data = this._data.clone()), e;
+ },
+ _minBufferSize: 0,
+ }));
+ r.Hasher = d.extend({
+ cfg: i.extend(),
+ init: function (e) {
+ (this.cfg = this.cfg.extend(e)), this.reset();
+ },
+ reset: function () {
+ d.reset.call(this), this._doReset();
+ },
+ update: function (e) {
+ return this._append(e), this._process(), this;
+ },
+ finalize: function (e) {
+ return e && this._append(e), this._doFinalize();
+ },
+ blockSize: 16,
+ _createHelper: function (e) {
+ return function (t, n) {
+ return new e.init(n).finalize(t);
+ };
+ },
+ _createHmacHelper: function (e) {
+ return function (t, n) {
+ return new p.HMAC.init(e, n).finalize(t);
+ };
+ },
+ });
+ var p = (n.algo = {});
+ return n;
+ })(Math);
+ (r = (a = (t = l).lib).WordArray),
+ (o = a.Hasher),
+ (i = []),
+ (a = t.algo.SHA1 =
+ o.extend({
+ _doReset: function () {
+ this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
+ },
+ _doProcessBlock: function (e, t) {
+ for (var n = this._hash.words, r = n[0], o = n[1], a = n[2], s = n[3], c = n[4], u = 0; 80 > u; u++) {
+ if (16 > u) i[u] = 0 | e[t + u];
+ else {
+ var l = i[u - 3] ^ i[u - 8] ^ i[u - 14] ^ i[u - 16];
+ i[u] = (l << 1) | (l >>> 31);
+ }
+ (l = ((r << 5) | (r >>> 27)) + c + i[u]),
+ (l =
+ 20 > u
+ ? l + (1518500249 + ((o & a) | (~o & s)))
+ : 40 > u
+ ? l + (1859775393 + (o ^ a ^ s))
+ : 60 > u
+ ? l + (((o & a) | (o & s) | (a & s)) - 1894007588)
+ : l + ((o ^ a ^ s) - 899497514)),
+ (c = s),
+ (s = a),
+ (a = (o << 30) | (o >>> 2)),
+ (o = r),
+ (r = l);
+ }
+ (n[0] = (n[0] + r) | 0),
+ (n[1] = (n[1] + o) | 0),
+ (n[2] = (n[2] + a) | 0),
+ (n[3] = (n[3] + s) | 0),
+ (n[4] = (n[4] + c) | 0);
+ },
+ _doFinalize: function () {
+ var e = this._data,
+ t = e.words,
+ n = 8 * this._nDataBytes,
+ r = 8 * e.sigBytes;
+ return (
+ (t[r >>> 5] |= 128 << (24 - (r % 32))),
+ (t[14 + (((r + 64) >>> 9) << 4)] = Math.floor(n / 4294967296)),
+ (t[15 + (((r + 64) >>> 9) << 4)] = n),
+ (e.sigBytes = 4 * t.length),
+ this._process(),
+ this._hash
+ );
+ },
+ clone: function () {
+ var e = o.clone.call(this);
+ return (e._hash = this._hash.clone()), e;
+ },
+ })),
+ (t.SHA1 = o._createHelper(a)),
+ (t.HmacSHA1 = o._createHmacHelper(a)),
+ (function () {
+ var e = l,
+ t = e.enc.Utf8;
+ e.algo.HMAC = e.lib.Base.extend({
+ init: function (e, n) {
+ (e = this._hasher = new e.init()), 'string' == typeof n && (n = t.parse(n));
+ var r = e.blockSize,
+ o = 4 * r;
+ n.sigBytes > o && (n = e.finalize(n)), n.clamp();
+ for (
+ var i = (this._oKey = n.clone()), a = (this._iKey = n.clone()), s = i.words, c = a.words, u = 0;
+ u < r;
+ u++
+ )
+ (s[u] ^= 1549556828), (c[u] ^= 909522486);
+ (i.sigBytes = a.sigBytes = o), this.reset();
+ },
+ reset: function () {
+ var e = this._hasher;
+ e.reset(), e.update(this._iKey);
+ },
+ update: function (e) {
+ return this._hasher.update(e), this;
+ },
+ finalize: function (e) {
+ var t = this._hasher;
+ return (e = t.finalize(e)), t.reset(), t.finalize(this._oKey.clone().concat(e));
+ },
+ });
+ })(),
+ (c = (s = l).lib.WordArray),
+ (s.enc.Base64 = {
+ stringify: function (e) {
+ var t = e.words,
+ n = e.sigBytes,
+ r = this._map;
+ e.clamp();
+ for (var o = [], i = 0; i < n; i += 3)
+ for (
+ var a =
+ (((t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255) << 16) |
+ (((t[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 255) << 8) |
+ ((t[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 255),
+ s = 0;
+ s < 4 && i + 0.75 * s < n;
+ s++
+ )
+ o.push(r.charAt((a >>> (6 * (3 - s))) & 63));
+ var c = r.charAt(64);
+ if (c) for (; o.length % 4; ) o.push(c);
+ return o.join('');
+ },
+ parse: function (e) {
+ var t = e.length,
+ n = this._map,
+ r = n.charAt(64);
+ if (r) {
+ var o = e.indexOf(r);
+ -1 != o && (t = o);
+ }
+ for (var i = [], a = 0, s = 0; s < t; s++)
+ if (s % 4) {
+ var u = n.indexOf(e.charAt(s - 1)) << ((s % 4) * 2),
+ l = n.indexOf(e.charAt(s)) >>> (6 - (s % 4) * 2);
+ (i[a >>> 2] |= (u | l) << (24 - (a % 4) * 8)), a++;
+ }
+ return c.create(i, a);
+ },
+ _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
+ }),
+ 'object' === u(e) ? (e.exports = l) : (window.CryptoJS = l);
+ }).call(this, n(4)(e));
+ },
+ function (e, t, n) {
+ var r = n(17).DOMParser,
+ o = function () {
+ this.version = '1.3.5';
+ var e = { mergeCDATA: !0, normalize: !0, stripElemPrefix: !0 },
+ t = new RegExp(/(?!xmlns)^.*:/);
+ new RegExp(/^\s+|\s+$/g);
+ return (
+ (this.grokType = function (e) {
+ return /^\s*$/.test(e)
+ ? null
+ : /^(?:true|false)$/i.test(e)
+ ? 'true' === e.toLowerCase()
+ : isFinite(e)
+ ? parseFloat(e)
+ : e;
+ }),
+ (this.parseString = function (e, t) {
+ if (e) {
+ var n = this.stringToXML(e);
+ return n.getElementsByTagName('parsererror').length ? null : this.parseXML(n, t);
+ }
+ return null;
+ }),
+ (this.parseXML = function (n, r) {
+ for (var i in r) e[i] = r[i];
+ var a = {},
+ s = 0,
+ c = '';
+ if (n.childNodes.length)
+ for (var u, l, d, p = 0; p < n.childNodes.length; p++)
+ 4 === (u = n.childNodes.item(p)).nodeType
+ ? e.mergeCDATA && (c += u.nodeValue)
+ : 3 === u.nodeType
+ ? (c += u.nodeValue)
+ : 1 === u.nodeType &&
+ (0 === s && (a = {}),
+ (l = e.stripElemPrefix ? u.nodeName.replace(t, '') : u.nodeName),
+ (d = o.parseXML(u)),
+ a.hasOwnProperty(l)
+ ? (a[l].constructor !== Array && (a[l] = [a[l]]), a[l].push(d))
+ : ((a[l] = d), s++));
+ return Object.keys(a).length || (a = c || ''), a;
+ }),
+ (this.xmlToString = function (e) {
+ try {
+ return e.xml ? e.xml : new XMLSerializer().serializeToString(e);
+ } catch (e) {
+ return null;
+ }
+ }),
+ (this.stringToXML = function (e) {
+ try {
+ var t = null;
+ return window.DOMParser
+ ? (t = new r().parseFromString(e, 'text/xml'))
+ : (((t = new ActiveXObject('Microsoft.XMLDOM')).async = !1), t.loadXML(e), t);
+ } catch (e) {
+ return null;
+ }
+ }),
+ this
+ );
+ }.call({});
+ e.exports = function (e) {
+ return o.parseString(e);
+ };
+ },
+ function (e, t, n) {
+ var r = n(5);
+ (t.DOMImplementation = r.DOMImplementation), (t.XMLSerializer = r.XMLSerializer), (t.DOMParser = n(18).DOMParser);
+ },
+ function (e, t, n) {
+ var r = n(2),
+ o = n(5),
+ i = n(19),
+ a = n(20),
+ s = o.DOMImplementation,
+ c = r.NAMESPACE,
+ u = a.ParseError,
+ l = a.XMLReader;
+ function d(e) {
+ return e.replace(/\r[\n\u0085]/g, '\n').replace(/[\r\u0085\u2028]/g, '\n');
+ }
+ function p(e) {
+ this.options = e || { locator: {} };
+ }
+ function f() {
+ this.cdata = !1;
+ }
+ function h(e, t) {
+ (t.lineNumber = e.lineNumber), (t.columnNumber = e.columnNumber);
+ }
+ function m(e, t, n) {
+ return 'string' == typeof e ? e.substr(t, n) : e.length >= t + n || t ? new java.lang.String(e, t, n) + '' : e;
+ }
+ function g(e, t) {
+ e.currentElement ? e.currentElement.appendChild(t) : e.doc.appendChild(t);
+ }
+ (p.prototype.parseFromString = function (e, t) {
+ var n = this.options,
+ r = new l(),
+ o = n.domBuilder || new f(),
+ a = n.errorHandler,
+ s = n.locator,
+ u = n.xmlns || {},
+ p = /\/x?html?$/.test(t),
+ h = p ? i.HTML_ENTITIES : i.XML_ENTITIES;
+ s && o.setDocumentLocator(s),
+ (r.errorHandler = (function (e, t, n) {
+ if (!e) {
+ if (t instanceof f) return t;
+ e = t;
+ }
+ var r = {},
+ o = e instanceof Function;
+ function i(t) {
+ var i = e[t];
+ !i &&
+ o &&
+ (i =
+ 2 == e.length
+ ? function (n) {
+ e(t, n);
+ }
+ : e),
+ (r[t] =
+ (i &&
+ function (e) {
+ i(
+ '[xmldom ' +
+ t +
+ ']\t' +
+ e +
+ (function (e) {
+ if (e)
+ return (
+ '\n@' + (e.systemId || '') + '#[line:' + e.lineNumber + ',col:' + e.columnNumber + ']'
+ );
+ })(n),
+ );
+ }) ||
+ function () {});
+ }
+ return (n = n || {}), i('warning'), i('error'), i('fatalError'), r;
+ })(a, o, s)),
+ (r.domBuilder = n.domBuilder || o),
+ p && (u[''] = c.HTML),
+ (u.xml = u.xml || c.XML);
+ var m = n.normalizeLineEndings || d;
+ return e && 'string' == typeof e ? r.parse(m(e), u, h) : r.errorHandler.error('invalid doc source'), o.doc;
+ }),
+ (f.prototype = {
+ startDocument: function () {
+ (this.doc = new s().createDocument(null, null, null)),
+ this.locator && (this.doc.documentURI = this.locator.systemId);
+ },
+ startElement: function (e, t, n, r) {
+ var o = this.doc,
+ i = o.createElementNS(e, n || t),
+ a = r.length;
+ g(this, i), (this.currentElement = i), this.locator && h(this.locator, i);
+ for (var s = 0; s < a; s++) {
+ e = r.getURI(s);
+ var c = r.getValue(s),
+ u = ((n = r.getQName(s)), o.createAttributeNS(e, n));
+ this.locator && h(r.getLocator(s), u), (u.value = u.nodeValue = c), i.setAttributeNode(u);
+ }
+ },
+ endElement: function (e, t, n) {
+ var r = this.currentElement;
+ r.tagName;
+ this.currentElement = r.parentNode;
+ },
+ startPrefixMapping: function (e, t) {},
+ endPrefixMapping: function (e) {},
+ processingInstruction: function (e, t) {
+ var n = this.doc.createProcessingInstruction(e, t);
+ this.locator && h(this.locator, n), g(this, n);
+ },
+ ignorableWhitespace: function (e, t, n) {},
+ characters: function (e, t, n) {
+ if ((e = m.apply(this, arguments))) {
+ if (this.cdata) var r = this.doc.createCDATASection(e);
+ else r = this.doc.createTextNode(e);
+ this.currentElement ? this.currentElement.appendChild(r) : /^\s*$/.test(e) && this.doc.appendChild(r),
+ this.locator && h(this.locator, r);
+ }
+ },
+ skippedEntity: function (e) {},
+ endDocument: function () {
+ this.doc.normalize();
+ },
+ setDocumentLocator: function (e) {
+ (this.locator = e) && (e.lineNumber = 0);
+ },
+ comment: function (e, t, n) {
+ e = m.apply(this, arguments);
+ var r = this.doc.createComment(e);
+ this.locator && h(this.locator, r), g(this, r);
+ },
+ startCDATA: function () {
+ this.cdata = !0;
+ },
+ endCDATA: function () {
+ this.cdata = !1;
+ },
+ startDTD: function (e, t, n) {
+ var r = this.doc.implementation;
+ if (r && r.createDocumentType) {
+ var o = r.createDocumentType(e, t, n);
+ this.locator && h(this.locator, o), g(this, o), (this.doc.doctype = o);
+ }
+ },
+ warning: function (e) {},
+ error: function (e) {},
+ fatalError: function (e) {
+ throw new u(e, this.locator);
+ },
+ }),
+ 'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'.replace(
+ /\w+/g,
+ function (e) {
+ f.prototype[e] = function () {
+ return null;
+ };
+ },
+ ),
+ (t.__DOMHandler = f),
+ (t.normalizeLineEndings = d),
+ (t.DOMParser = p);
+ },
+ function (e, t, n) {
+ var r = n(2).freeze;
+ (t.XML_ENTITIES = r({ amp: '&', apos: "'", gt: '>', lt: '<', quot: '"' })),
+ (t.HTML_ENTITIES = r({
+ lt: '<',
+ gt: '>',
+ amp: '&',
+ quot: '"',
+ apos: "'",
+ Agrave: 'À',
+ Aacute: 'Á',
+ Acirc: 'Â',
+ Atilde: 'Ã',
+ Auml: 'Ä',
+ Aring: 'Å',
+ AElig: 'Æ',
+ Ccedil: 'Ç',
+ Egrave: 'È',
+ Eacute: 'É',
+ Ecirc: 'Ê',
+ Euml: 'Ë',
+ Igrave: 'Ì',
+ Iacute: 'Í',
+ Icirc: 'Î',
+ Iuml: 'Ï',
+ ETH: 'Ð',
+ Ntilde: 'Ñ',
+ Ograve: 'Ò',
+ Oacute: 'Ó',
+ Ocirc: 'Ô',
+ Otilde: 'Õ',
+ Ouml: 'Ö',
+ Oslash: 'Ø',
+ Ugrave: 'Ù',
+ Uacute: 'Ú',
+ Ucirc: 'Û',
+ Uuml: 'Ü',
+ Yacute: 'Ý',
+ THORN: 'Þ',
+ szlig: 'ß',
+ agrave: 'à',
+ aacute: 'á',
+ acirc: 'â',
+ atilde: 'ã',
+ auml: 'ä',
+ aring: 'å',
+ aelig: 'æ',
+ ccedil: 'ç',
+ egrave: 'è',
+ eacute: 'é',
+ ecirc: 'ê',
+ euml: 'ë',
+ igrave: 'ì',
+ iacute: 'í',
+ icirc: 'î',
+ iuml: 'ï',
+ eth: 'ð',
+ ntilde: 'ñ',
+ ograve: 'ò',
+ oacute: 'ó',
+ ocirc: 'ô',
+ otilde: 'õ',
+ ouml: 'ö',
+ oslash: 'ø',
+ ugrave: 'ù',
+ uacute: 'ú',
+ ucirc: 'û',
+ uuml: 'ü',
+ yacute: 'ý',
+ thorn: 'þ',
+ yuml: 'ÿ',
+ nbsp: ' ',
+ iexcl: '¡',
+ cent: '¢',
+ pound: '£',
+ curren: '¤',
+ yen: '¥',
+ brvbar: '¦',
+ sect: '§',
+ uml: '¨',
+ copy: '©',
+ ordf: 'ª',
+ laquo: '«',
+ not: '¬',
+ shy: '',
+ reg: '®',
+ macr: '¯',
+ deg: '°',
+ plusmn: '±',
+ sup2: '²',
+ sup3: '³',
+ acute: '´',
+ micro: 'µ',
+ para: '¶',
+ middot: '·',
+ cedil: '¸',
+ sup1: '¹',
+ ordm: 'º',
+ raquo: '»',
+ frac14: '¼',
+ frac12: '½',
+ frac34: '¾',
+ iquest: '¿',
+ times: '×',
+ divide: '÷',
+ forall: '∀',
+ part: '∂',
+ exist: '∃',
+ empty: '∅',
+ nabla: '∇',
+ isin: '∈',
+ notin: '∉',
+ ni: '∋',
+ prod: '∏',
+ sum: '∑',
+ minus: '−',
+ lowast: '∗',
+ radic: '√',
+ prop: '∝',
+ infin: '∞',
+ ang: '∠',
+ and: '∧',
+ or: '∨',
+ cap: '∩',
+ cup: '∪',
+ int: '∫',
+ there4: '∴',
+ sim: '∼',
+ cong: '≅',
+ asymp: '≈',
+ ne: '≠',
+ equiv: '≡',
+ le: '≤',
+ ge: '≥',
+ sub: '⊂',
+ sup: '⊃',
+ nsub: '⊄',
+ sube: '⊆',
+ supe: '⊇',
+ oplus: '⊕',
+ otimes: '⊗',
+ perp: '⊥',
+ sdot: '⋅',
+ Alpha: 'Α',
+ Beta: 'Β',
+ Gamma: 'Γ',
+ Delta: 'Δ',
+ Epsilon: 'Ε',
+ Zeta: 'Ζ',
+ Eta: 'Η',
+ Theta: 'Θ',
+ Iota: 'Ι',
+ Kappa: 'Κ',
+ Lambda: 'Λ',
+ Mu: 'Μ',
+ Nu: 'Ν',
+ Xi: 'Ξ',
+ Omicron: 'Ο',
+ Pi: 'Π',
+ Rho: 'Ρ',
+ Sigma: 'Σ',
+ Tau: 'Τ',
+ Upsilon: 'Υ',
+ Phi: 'Φ',
+ Chi: 'Χ',
+ Psi: 'Ψ',
+ Omega: 'Ω',
+ alpha: 'α',
+ beta: 'β',
+ gamma: 'γ',
+ delta: 'δ',
+ epsilon: 'ε',
+ zeta: 'ζ',
+ eta: 'η',
+ theta: 'θ',
+ iota: 'ι',
+ kappa: 'κ',
+ lambda: 'λ',
+ mu: 'μ',
+ nu: 'ν',
+ xi: 'ξ',
+ omicron: 'ο',
+ pi: 'π',
+ rho: 'ρ',
+ sigmaf: 'ς',
+ sigma: 'σ',
+ tau: 'τ',
+ upsilon: 'υ',
+ phi: 'φ',
+ chi: 'χ',
+ psi: 'ψ',
+ omega: 'ω',
+ thetasym: 'ϑ',
+ upsih: 'ϒ',
+ piv: 'ϖ',
+ OElig: 'Œ',
+ oelig: 'œ',
+ Scaron: 'Š',
+ scaron: 'š',
+ Yuml: 'Ÿ',
+ fnof: 'ƒ',
+ circ: 'ˆ',
+ tilde: '˜',
+ ensp: ' ',
+ emsp: ' ',
+ thinsp: ' ',
+ zwnj: '',
+ zwj: '',
+ lrm: '',
+ rlm: '',
+ ndash: '–',
+ mdash: '—',
+ lsquo: '‘',
+ rsquo: '’',
+ sbquo: '‚',
+ ldquo: '“',
+ rdquo: '”',
+ bdquo: '„',
+ dagger: '†',
+ Dagger: '‡',
+ bull: '•',
+ hellip: '…',
+ permil: '‰',
+ prime: '′',
+ Prime: '″',
+ lsaquo: '‹',
+ rsaquo: '›',
+ oline: '‾',
+ euro: '€',
+ trade: '™',
+ larr: '←',
+ uarr: '↑',
+ rarr: '→',
+ darr: '↓',
+ harr: '↔',
+ crarr: '↵',
+ lceil: '⌈',
+ rceil: '⌉',
+ lfloor: '⌊',
+ rfloor: '⌋',
+ loz: '◊',
+ spades: '♠',
+ clubs: '♣',
+ hearts: '♥',
+ diams: '♦',
+ })),
+ (t.entityMap = t.HTML_ENTITIES);
+ },
+ function (e, t, n) {
+ var r = n(2).NAMESPACE,
+ o =
+ /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,
+ i = new RegExp('[\\-\\.0-9' + o.source.slice(1, -1) + '\\u00B7\\u0300-\\u036F\\u203F-\\u2040]'),
+ a = new RegExp('^' + o.source + i.source + '*(?::' + o.source + i.source + '*)?$'),
+ s = 0,
+ c = 1,
+ u = 2,
+ l = 3,
+ d = 4,
+ p = 5,
+ f = 6,
+ h = 7;
+ function m(e, t) {
+ (this.message = e), (this.locator = t), Error.captureStackTrace && Error.captureStackTrace(this, m);
+ }
+ function g() {}
+ function y(e, t) {
+ return (t.lineNumber = e.lineNumber), (t.columnNumber = e.columnNumber), t;
+ }
+ function v(e, t, n, o, i, a) {
+ function m(e, t, r) {
+ n.attributeNames.hasOwnProperty(e) && a.fatalError('Attribute ' + e + ' redefined'),
+ n.addValue(e, t.replace(/[\t\n\r]/g, ' ').replace(/?\w+;/g, i), r);
+ }
+ for (var g, y = ++t, v = s; ; ) {
+ var C = e.charAt(y);
+ switch (C) {
+ case '=':
+ if (v === c) (g = e.slice(t, y)), (v = l);
+ else {
+ if (v !== u) throw new Error('attribute equal must after attrName');
+ v = l;
+ }
+ break;
+ case "'":
+ case '"':
+ if (v === l || v === c) {
+ if (
+ (v === c && (a.warning('attribute value must after "="'), (g = e.slice(t, y))),
+ (t = y + 1),
+ !((y = e.indexOf(C, t)) > 0))
+ )
+ throw new Error("attribute value no end '" + C + "' match");
+ m(g, (k = e.slice(t, y)), t - 1), (v = p);
+ } else {
+ if (v != d) throw new Error('attribute value must after "="');
+ m(g, (k = e.slice(t, y)), t),
+ a.warning('attribute "' + g + '" missed start quot(' + C + ')!!'),
+ (t = y + 1),
+ (v = p);
+ }
+ break;
+ case '/':
+ switch (v) {
+ case s:
+ n.setTagName(e.slice(t, y));
+ case p:
+ case f:
+ case h:
+ (v = h), (n.closed = !0);
+ case d:
+ case c:
+ case u:
+ break;
+ default:
+ throw new Error("attribute invalid close char('/')");
+ }
+ break;
+ case '':
+ return a.error('unexpected end of input'), v == s && n.setTagName(e.slice(t, y)), y;
+ case '>':
+ switch (v) {
+ case s:
+ n.setTagName(e.slice(t, y));
+ case p:
+ case f:
+ case h:
+ break;
+ case d:
+ case c:
+ '/' === (k = e.slice(t, y)).slice(-1) && ((n.closed = !0), (k = k.slice(0, -1)));
+ case u:
+ v === u && (k = g),
+ v == d
+ ? (a.warning('attribute "' + k + '" missed quot(")!'), m(g, k, t))
+ : ((r.isHTML(o['']) && k.match(/^(?:disabled|checked|selected)$/i)) ||
+ a.warning('attribute "' + k + '" missed value!! "' + k + '" instead!!'),
+ m(k, k, t));
+ break;
+ case l:
+ throw new Error('attribute value missed!!');
+ }
+ return y;
+ case '':
+ C = ' ';
+ default:
+ if (C <= ' ')
+ switch (v) {
+ case s:
+ n.setTagName(e.slice(t, y)), (v = f);
+ break;
+ case c:
+ (g = e.slice(t, y)), (v = u);
+ break;
+ case d:
+ var k = e.slice(t, y);
+ a.warning('attribute "' + k + '" missed quot(")!!'), m(g, k, t);
+ case p:
+ v = f;
+ }
+ else
+ switch (v) {
+ case u:
+ n.tagName;
+ (r.isHTML(o['']) && g.match(/^(?:disabled|checked|selected)$/i)) ||
+ a.warning('attribute "' + g + '" missed value!! "' + g + '" instead2!!'),
+ m(g, g, t),
+ (t = y),
+ (v = c);
+ break;
+ case p:
+ a.warning('attribute space is required"' + g + '"!!');
+ case f:
+ (v = c), (t = y);
+ break;
+ case l:
+ (v = d), (t = y);
+ break;
+ case h:
+ throw new Error("elements closed character '/' and '>' must be connected to");
+ }
+ }
+ y++;
+ }
+ }
+ function C(e, t, n) {
+ for (var o = e.tagName, i = null, a = e.length; a--; ) {
+ var s = e[a],
+ c = s.qName,
+ u = s.value;
+ if ((f = c.indexOf(':')) > 0)
+ var l = (s.prefix = c.slice(0, f)),
+ d = c.slice(f + 1),
+ p = 'xmlns' === l && d;
+ else (d = c), (l = null), (p = 'xmlns' === c && '');
+ (s.localName = d),
+ !1 !== p &&
+ (null == i && ((i = {}), b(n, (n = {}))),
+ (n[p] = i[p] = u),
+ (s.uri = r.XMLNS),
+ t.startPrefixMapping(p, u));
+ }
+ for (a = e.length; a--; ) {
+ (l = (s = e[a]).prefix) && ('xml' === l && (s.uri = r.XML), 'xmlns' !== l && (s.uri = n[l || '']));
+ }
+ var f;
+ (f = o.indexOf(':')) > 0
+ ? ((l = e.prefix = o.slice(0, f)), (d = e.localName = o.slice(f + 1)))
+ : ((l = null), (d = e.localName = o));
+ var h = (e.uri = n[l || '']);
+ if ((t.startElement(h, d, o, e), !e.closed)) return (e.currentNSMap = n), (e.localNSMap = i), !0;
+ if ((t.endElement(h, d, o), i))
+ for (l in i) Object.prototype.hasOwnProperty.call(i, l) && t.endPrefixMapping(l);
+ }
+ function k(e, t, n, r, o) {
+ if (/^(?:script|textarea)$/i.test(n)) {
+ var i = e.indexOf('' + n + '>', t),
+ a = e.substring(t + 1, i);
+ if (/[&<]/.test(a))
+ return /^script$/i.test(n)
+ ? (o.characters(a, 0, a.length), i)
+ : ((a = a.replace(/?\w+;/g, r)), o.characters(a, 0, a.length), i);
+ }
+ return t + 1;
+ }
+ function S(e, t, n, r) {
+ var o = r[n];
+ return (
+ null == o && ((o = e.lastIndexOf('' + n + '>')) < t && (o = e.lastIndexOf('' + n)), (r[n] = o)), o < t
+ );
+ }
+ function b(e, t) {
+ for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
+ }
+ function T(e, t, n, r) {
+ if ('-' === e.charAt(t + 2))
+ return '-' === e.charAt(t + 3)
+ ? (o = e.indexOf('--\x3e', t + 4)) > t
+ ? (n.comment(e, t + 4, o - t - 4), o + 3)
+ : (r.error('Unclosed comment'), -1)
+ : -1;
+ if ('CDATA[' == e.substr(t + 3, 6)) {
+ var o = e.indexOf(']]>', t + 9);
+ return n.startCDATA(), n.characters(e, t + 9, o - t - 9), n.endCDATA(), o + 3;
+ }
+ var i = (function (e, t) {
+ var n,
+ r = [],
+ o = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
+ (o.lastIndex = t), o.exec(e);
+ for (; (n = o.exec(e)); ) if ((r.push(n), n[1])) return r;
+ })(e, t),
+ a = i.length;
+ if (a > 1 && /!doctype/i.test(i[0][0])) {
+ var s = i[1][0],
+ c = !1,
+ u = !1;
+ a > 3 &&
+ (/^public$/i.test(i[2][0])
+ ? ((c = i[3][0]), (u = a > 4 && i[4][0]))
+ : /^system$/i.test(i[2][0]) && (u = i[3][0]));
+ var l = i[a - 1];
+ return n.startDTD(s, c, u), n.endDTD(), l.index + l[0].length;
+ }
+ return -1;
+ }
+ function R(e, t, n) {
+ var r = e.indexOf('?>', t);
+ if (r) {
+ var o = e.substring(t, r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
+ if (o) {
+ o[0].length;
+ return n.processingInstruction(o[1], o[2]), r + 2;
+ }
+ return -1;
+ }
+ return -1;
+ }
+ function E() {
+ this.attributeNames = {};
+ }
+ (m.prototype = new Error()),
+ (m.prototype.name = m.name),
+ (g.prototype = {
+ parse: function (e, t, n) {
+ var o = this.domBuilder;
+ o.startDocument(),
+ b(t, (t = {})),
+ (function (e, t, n, o, i) {
+ function a(e) {
+ if (e > 65535) {
+ var t = 55296 + ((e -= 65536) >> 10),
+ n = 56320 + (1023 & e);
+ return String.fromCharCode(t, n);
+ }
+ return String.fromCharCode(e);
+ }
+ function s(e) {
+ var t = e.slice(1, -1);
+ return Object.hasOwnProperty.call(n, t)
+ ? n[t]
+ : '#' === t.charAt(0)
+ ? a(parseInt(t.substr(1).replace('x', '0x')))
+ : (i.error('entity not found:' + e), e);
+ }
+ function c(t) {
+ if (t > b) {
+ var n = e.substring(b, t).replace(/?\w+;/g, s);
+ f && u(b), o.characters(n, 0, t - b), (b = t);
+ }
+ }
+ function u(t, n) {
+ for (; t >= d && (n = p.exec(e)); ) (l = n.index), (d = l + n[0].length), f.lineNumber++;
+ f.columnNumber = t - l + 1;
+ }
+ var l = 0,
+ d = 0,
+ p = /.*(?:\r\n?|\n)|.*$/g,
+ f = o.locator,
+ h = [{ currentNSMap: t }],
+ g = {},
+ b = 0;
+ for (;;) {
+ try {
+ var w = e.indexOf('<', b);
+ if (w < 0) {
+ if (!e.substr(b).match(/^\s*$/)) {
+ var A = o.doc,
+ x = A.createTextNode(e.substr(b));
+ A.appendChild(x), (o.currentElement = x);
+ }
+ return;
+ }
+ switch ((w > b && c(w), e.charAt(w + 1))) {
+ case '/':
+ var I = e.indexOf('>', w + 3),
+ O = e.substring(w + 2, I).replace(/[ \t\n\r]+$/g, ''),
+ B = h.pop();
+ I < 0
+ ? ((O = e.substring(w + 2).replace(/[\s<].*/, '')),
+ i.error('end tag name: ' + O + ' is not complete:' + B.tagName),
+ (I = w + 1 + O.length))
+ : O.match(/\s) &&
+ ((O = O.replace(/[\s<].*/, '')),
+ i.error('end tag name: ' + O + ' maybe not complete'),
+ (I = w + 1 + O.length));
+ var _ = B.localNSMap,
+ P = B.tagName == O;
+ if (P || (B.tagName && B.tagName.toLowerCase() == O.toLowerCase())) {
+ if ((o.endElement(B.uri, B.localName, O), _))
+ for (var D in _) Object.prototype.hasOwnProperty.call(_, D) && o.endPrefixMapping(D);
+ P ||
+ i.fatalError('end tag name: ' + O + ' is not match the current start tagName:' + B.tagName);
+ } else h.push(B);
+ I++;
+ break;
+ case '?':
+ f && u(w), (I = R(e, w, o));
+ break;
+ case '!':
+ f && u(w), (I = T(e, w, o, i));
+ break;
+ default:
+ f && u(w);
+ var N = new E(),
+ U = h[h.length - 1].currentNSMap,
+ M = ((I = v(e, w, N, U, s, i)), N.length);
+ if (
+ (!N.closed &&
+ S(e, I, N.tagName, g) &&
+ ((N.closed = !0), n.nbsp || i.warning('unclosed xml attribute')),
+ f && M)
+ ) {
+ for (var H = y(f, {}), L = 0; L < M; L++) {
+ var j = N[L];
+ u(j.offset), (j.locator = y(f, {}));
+ }
+ (o.locator = H), C(N, o, U) && h.push(N), (o.locator = f);
+ } else C(N, o, U) && h.push(N);
+ r.isHTML(N.uri) && !N.closed ? (I = k(e, I, N.tagName, s, o)) : I++;
+ }
+ } catch (e) {
+ if (e instanceof m) throw e;
+ i.error('element parse error: ' + e), (I = -1);
+ }
+ I > b ? (b = I) : c(Math.max(w, b) + 1);
+ }
+ })(e, t, n, o, this.errorHandler),
+ o.endDocument();
+ },
+ }),
+ (E.prototype = {
+ setTagName: function (e) {
+ if (!a.test(e)) throw new Error('invalid tagName:' + e);
+ this.tagName = e;
+ },
+ addValue: function (e, t, n) {
+ if (!a.test(e)) throw new Error('invalid attribute:' + e);
+ (this.attributeNames[e] = this.length), (this[this.length++] = { qName: e, value: t, offset: n });
+ },
+ length: 0,
+ getLocalName: function (e) {
+ return this[e].localName;
+ },
+ getLocator: function (e) {
+ return this[e].locator;
+ },
+ getQName: function (e) {
+ return this[e].qName;
+ },
+ getURI: function (e) {
+ return this[e].uri;
+ },
+ getValue: function (e) {
+ return this[e].value;
+ },
+ }),
+ (t.XMLReader = g),
+ (t.ParseError = m);
+ },
+ function (e, t, n) {
+ var r = n(0),
+ o = 'a-zA-Z_À-ÖØ-öø-ÿͰ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�',
+ i = new RegExp('^([^' + o + '])|^((x|X)(m|M)(l|L))|([^' + o + '-.0-9·̀-ͯ‿⁀])', 'g'),
+ a = /[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm,
+ s = function (e) {
+ var t = [];
+ if (e instanceof Object) for (var n in e) e.hasOwnProperty(n) && t.push(n);
+ return t;
+ },
+ c = function (e, t) {
+ var n = function (e, n, r, o, a) {
+ var s = void 0 !== t.indent ? t.indent : '\t',
+ c = t.prettyPrint ? '\n' + new Array(o).join(s) : '';
+ t.removeIllegalNameCharacters && (e = e.replace(i, '_'));
+ var u = [c, '<', e, r || ''];
+ return (
+ n && n.length > 0
+ ? (u.push('>'), u.push(n), a && u.push(c), u.push(''), u.push(e), u.push('>'))
+ : u.push('/>'),
+ u.join('')
+ );
+ };
+ return (function e(o, i, c) {
+ var u = r(o);
+ switch (
+ ((Array.isArray ? Array.isArray(o) : o instanceof Array)
+ ? (u = 'array')
+ : o instanceof Date && (u = 'date'),
+ u)
+ ) {
+ case 'array':
+ var l = [];
+ return (
+ o.map(function (t) {
+ l.push(e(t, 1, c + 1));
+ }),
+ t.prettyPrint && l.push('\n'),
+ l.join('')
+ );
+ case 'date':
+ return o.toJSON ? o.toJSON() : o + '';
+ case 'object':
+ var d = [];
+ for (var p in o)
+ if (o.hasOwnProperty(p))
+ if (o[p] instanceof Array)
+ for (var f = 0; f < o[p].length; f++)
+ o[p].hasOwnProperty(f) && d.push(n(p, e(o[p][f], 0, c + 1), null, c + 1, s(o[p][f]).length));
+ else d.push(n(p, e(o[p], 0, c + 1), null, c + 1));
+ return t.prettyPrint && d.length > 0 && d.push('\n'), d.join('');
+ case 'function':
+ return o();
+ default:
+ return t.escape
+ ? ('' + o)
+ .replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/'/g, ''')
+ .replace(/"/g, '"')
+ .replace(a, '')
+ : '' + o;
+ }
+ })(e, 0, 0);
+ },
+ u = function (e) {
+ var t = [''), t.join('');
+ };
+ e.exports = function (e, t) {
+ if (
+ (t || (t = { xmlHeader: { standalone: !0 }, prettyPrint: !0, indent: ' ', escape: !0 }),
+ 'string' == typeof e)
+ )
+ try {
+ e = JSON.parse(e.toString());
+ } catch (e) {
+ return !1;
+ }
+ var n = '',
+ o = '';
+ return (
+ t &&
+ ('object' == r(t)
+ ? (t.xmlHeader && (n = u(!!t.xmlHeader.standalone)),
+ void 0 !== t.docType && (o = ''))
+ : (n = u())),
+ [n, (t = t || {}).prettyPrint && o ? '\n' : '', o, c(e, t)]
+ .join('')
+ .replace(/\n{2,}/g, '\n')
+ .replace(/\s+$/g, '')
+ );
+ };
+ },
+ function (e, t) {
+ var n = (function (e) {
+ var t = (e = e || {}).Base64,
+ n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ r = (function (e) {
+ for (var t = {}, n = 0, r = e.length; n < r; n++) t[e.charAt(n)] = n;
+ return t;
+ })(n),
+ o = String.fromCharCode,
+ i = function (e) {
+ if (e.length < 2)
+ return (t = e.charCodeAt(0)) < 128
+ ? e
+ : t < 2048
+ ? o(192 | (t >>> 6)) + o(128 | (63 & t))
+ : o(224 | ((t >>> 12) & 15)) + o(128 | ((t >>> 6) & 63)) + o(128 | (63 & t));
+ var t = 65536 + 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320);
+ return (
+ o(240 | ((t >>> 18) & 7)) + o(128 | ((t >>> 12) & 63)) + o(128 | ((t >>> 6) & 63)) + o(128 | (63 & t))
+ );
+ },
+ a = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,
+ s = function (e) {
+ return e.replace(a, i);
+ },
+ c = function (e) {
+ var t = [0, 2, 1][e.length % 3],
+ r =
+ (e.charCodeAt(0) << 16) |
+ ((e.length > 1 ? e.charCodeAt(1) : 0) << 8) |
+ (e.length > 2 ? e.charCodeAt(2) : 0);
+ return [
+ n.charAt(r >>> 18),
+ n.charAt((r >>> 12) & 63),
+ t >= 2 ? '=' : n.charAt((r >>> 6) & 63),
+ t >= 1 ? '=' : n.charAt(63 & r),
+ ].join('');
+ },
+ u = e.btoa
+ ? function (t) {
+ return e.btoa(t);
+ }
+ : function (e) {
+ return e.replace(/[\s\S]{1,3}/g, c);
+ },
+ l = function (e) {
+ return u(s(e));
+ },
+ d = function (e, t) {
+ return t
+ ? l(String(e))
+ .replace(/[+\/]/g, function (e) {
+ return '+' == e ? '-' : '_';
+ })
+ .replace(/=/g, '')
+ : l(String(e));
+ },
+ p = new RegExp(['[À-ß][-¿]', '[à-ï][-¿]{2}', '[ð-÷][-¿]{3}'].join('|'), 'g'),
+ f = function (e) {
+ switch (e.length) {
+ case 4:
+ var t =
+ (((7 & e.charCodeAt(0)) << 18) |
+ ((63 & e.charCodeAt(1)) << 12) |
+ ((63 & e.charCodeAt(2)) << 6) |
+ (63 & e.charCodeAt(3))) -
+ 65536;
+ return o(55296 + (t >>> 10)) + o(56320 + (1023 & t));
+ case 3:
+ return o(((15 & e.charCodeAt(0)) << 12) | ((63 & e.charCodeAt(1)) << 6) | (63 & e.charCodeAt(2)));
+ default:
+ return o(((31 & e.charCodeAt(0)) << 6) | (63 & e.charCodeAt(1)));
+ }
+ },
+ h = function (e) {
+ return e.replace(p, f);
+ },
+ m = function (e) {
+ var t = e.length,
+ n = t % 4,
+ i =
+ (t > 0 ? r[e.charAt(0)] << 18 : 0) |
+ (t > 1 ? r[e.charAt(1)] << 12 : 0) |
+ (t > 2 ? r[e.charAt(2)] << 6 : 0) |
+ (t > 3 ? r[e.charAt(3)] : 0),
+ a = [o(i >>> 16), o((i >>> 8) & 255), o(255 & i)];
+ return (a.length -= [0, 0, 2, 1][n]), a.join('');
+ },
+ g = e.atob
+ ? function (t) {
+ return e.atob(t);
+ }
+ : function (e) {
+ return e.replace(/[\s\S]{1,4}/g, m);
+ },
+ y = function (e) {
+ return h(g(e));
+ },
+ v = function (e) {
+ return y(
+ String(e)
+ .replace(/[-_]/g, function (e) {
+ return '-' == e ? '+' : '/';
+ })
+ .replace(/[^A-Za-z0-9\+\/]/g, ''),
+ );
+ };
+ return {
+ VERSION: '2.1.9',
+ atob: g,
+ btoa: u,
+ fromBase64: v,
+ toBase64: d,
+ utob: s,
+ encode: d,
+ encodeURI: function (e) {
+ return d(e, !0);
+ },
+ btou: h,
+ decode: v,
+ noConflict: function () {
+ var n = e.Base64;
+ return (e.Base64 = t), n;
+ },
+ };
+ })();
+ e.exports = n;
+ },
+ function (e, t) {
+ (e.exports = function (e, t) {
+ if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function');
+ }),
+ (e.exports.__esModule = !0),
+ (e.exports.default = e.exports);
+ },
+ function (e, t) {
+ function n(e, t) {
+ for (var n = 0; n < t.length; n++) {
+ var r = t[n];
+ (r.enumerable = r.enumerable || !1),
+ (r.configurable = !0),
+ 'value' in r && (r.writable = !0),
+ Object.defineProperty(e, r.key, r);
+ }
+ }
+ (e.exports = function (e, t, r) {
+ return t && n(e.prototype, t), r && n(e, r), Object.defineProperty(e, 'prototype', { writable: !1 }), e;
+ }),
+ (e.exports.__esModule = !0),
+ (e.exports.default = e.exports);
+ },
+ function (e, t, n) {
+ var r,
+ o,
+ i,
+ a = n(0);
+ (i = function () {
+ 'use strict';
+ var e = function (t, n) {
+ return (
+ (e =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (e, t) {
+ e.__proto__ = t;
+ }) ||
+ function (e, t) {
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
+ }),
+ e(t, n)
+ );
+ },
+ t = function () {
+ return (
+ (t =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
+ return e;
+ }),
+ t.apply(this, arguments)
+ );
+ };
+ function n(e, t, n, r) {
+ return new (n || (n = Promise))(function (o, i) {
+ function a(e) {
+ try {
+ c(r.next(e));
+ } catch (e) {
+ i(e);
+ }
+ }
+ function s(e) {
+ try {
+ c(r.throw(e));
+ } catch (e) {
+ i(e);
+ }
+ }
+ function c(e) {
+ var t;
+ e.done
+ ? o(e.value)
+ : ((t = e.value),
+ t instanceof n
+ ? t
+ : new n(function (e) {
+ e(t);
+ })).then(a, s);
+ }
+ c((r = r.apply(e, t || [])).next());
+ });
+ }
+ function r(e, t) {
+ var n,
+ r,
+ o,
+ i,
+ a = {
+ label: 0,
+ sent: function () {
+ if (1 & o[0]) throw o[1];
+ return o[1];
+ },
+ trys: [],
+ ops: [],
+ };
+ return (
+ (i = { next: s(0), throw: s(1), return: s(2) }),
+ 'function' == typeof Symbol &&
+ (i[Symbol.iterator] = function () {
+ return this;
+ }),
+ i
+ );
+ function s(i) {
+ return function (s) {
+ return (function (i) {
+ if (n) throw new TypeError('Generator is already executing.');
+ for (; a; )
+ try {
+ if (
+ ((n = 1),
+ r &&
+ (o = 2 & i[0] ? r.return : i[0] ? r.throw || ((o = r.return) && o.call(r), 0) : r.next) &&
+ !(o = o.call(r, i[1])).done)
+ )
+ return o;
+ switch (((r = 0), o && (i = [2 & i[0], o.value]), i[0])) {
+ case 0:
+ case 1:
+ o = i;
+ break;
+ case 4:
+ return a.label++, { value: i[1], done: !1 };
+ case 5:
+ a.label++, (r = i[1]), (i = [0]);
+ continue;
+ case 7:
+ (i = a.ops.pop()), a.trys.pop();
+ continue;
+ default:
+ if (!((o = (o = a.trys).length > 0 && o[o.length - 1]) || (6 !== i[0] && 2 !== i[0]))) {
+ a = 0;
+ continue;
+ }
+ if (3 === i[0] && (!o || (i[1] > o[0] && i[1] < o[3]))) {
+ a.label = i[1];
+ break;
+ }
+ if (6 === i[0] && a.label < o[1]) {
+ (a.label = o[1]), (o = i);
+ break;
+ }
+ if (o && a.label < o[2]) {
+ (a.label = o[2]), a.ops.push(i);
+ break;
+ }
+ o[2] && a.ops.pop(), a.trys.pop();
+ continue;
+ }
+ i = t.call(e, a);
+ } catch (e) {
+ (i = [6, e]), (r = 0);
+ } finally {
+ n = o = 0;
+ }
+ if (5 & i[0]) throw i[1];
+ return { value: i[0] ? i[1] : void 0, done: !0 };
+ })([i, s]);
+ };
+ }
+ }
+ var o = '__BEACON_',
+ i = '__BEACON_deviceId',
+ a = 'last_report_time',
+ s = 'sending_event_ids',
+ c = 'beacon_config',
+ u = 'beacon_config_request_time',
+ l = (function () {
+ function e() {
+ var e = this;
+ (this.emit = function (t, n) {
+ if (e) {
+ var r,
+ o = e.__EventsList[t];
+ if (null == o ? void 0 : o.length) {
+ o = o.slice();
+ for (var i = 0; i < o.length; i++) {
+ r = o[i];
+ try {
+ var a = r.callback.apply(e, [n]);
+ if ((1 === r.type && e.remove(t, r.callback), !1 === a)) break;
+ } catch (e) {
+ throw e;
+ }
+ }
+ }
+ return e;
+ }
+ }),
+ (this.__EventsList = {});
+ }
+ return (
+ (e.prototype.indexOf = function (e, t) {
+ for (var n = 0; n < e.length; n++) if (e[n].callback === t) return n;
+ return -1;
+ }),
+ (e.prototype.on = function (e, t, n) {
+ if ((void 0 === n && (n = 0), this)) {
+ var r = this.__EventsList[e];
+ if ((r || (r = this.__EventsList[e] = []), -1 === this.indexOf(r, t))) {
+ var o = { name: e, type: n || 0, callback: t };
+ return r.push(o), this;
+ }
+ return this;
+ }
+ }),
+ (e.prototype.one = function (e, t) {
+ this.on(e, t, 1);
+ }),
+ (e.prototype.remove = function (e, t) {
+ if (this) {
+ var n = this.__EventsList[e];
+ if (!n) return null;
+ if (!t) {
+ try {
+ delete this.__EventsList[e];
+ } catch (e) {}
+ return null;
+ }
+ if (n.length) {
+ var r = this.indexOf(n, t);
+ n.splice(r, 1);
+ }
+ return this;
+ }
+ }),
+ e
+ );
+ })();
+ function d(e, t) {
+ for (var n = {}, r = 0, o = Object.keys(e); r < o.length; r++) {
+ var i = o[r],
+ a = e[i];
+ if ('string' == typeof a) n[p(i)] = p(a);
+ else {
+ if (t) throw new Error('value mast be string !!!!');
+ n[p(String(i))] = p(String(a));
+ }
+ }
+ return n;
+ }
+ function p(e) {
+ if ('string' != typeof e) return e;
+ try {
+ return e
+ .replace(new RegExp('\\|', 'g'), '%7C')
+ .replace(new RegExp('\\&', 'g'), '%26')
+ .replace(new RegExp('\\=', 'g'), '%3D')
+ .replace(new RegExp('\\+', 'g'), '%2B');
+ } catch (e) {
+ return '';
+ }
+ }
+ function f(e) {
+ return String(e.A99) + String(e.A100);
+ }
+ var h = function () {},
+ m = (function () {
+ function e(e) {
+ var n = this;
+ (this.lifeCycle = new l()),
+ (this.uploadJobQueue = []),
+ (this.additionalParams = {}),
+ (this.delayTime = 0),
+ (this._normalLogPipeline = (function (e) {
+ if (!e || !e.reduce || !e.length)
+ throw new TypeError('createPipeline 方法需要传入至少有一个 pipe 的数组');
+ return 1 === e.length
+ ? function (t, n) {
+ e[0](t, n || h);
+ }
+ : e.reduce(function (e, t) {
+ return function (n, r) {
+ return (
+ void 0 === r && (r = h),
+ e(n, function (e) {
+ return null == t ? void 0 : t(e, r);
+ })
+ );
+ };
+ });
+ })([
+ function (e) {
+ n.send(
+ {
+ url: n.strategy.getUploadUrl(),
+ data: e,
+ method: 'post',
+ contentType: 'application/json;charset=UTF-8',
+ },
+ function () {
+ var t = n.config.onReportSuccess;
+ 'function' == typeof t && t(JSON.stringify(e.events));
+ },
+ function () {
+ var t = n.config.onReportFail;
+ 'function' == typeof t && t(JSON.stringify(e.events));
+ },
+ );
+ },
+ ])),
+ (function (e, t) {
+ if (!e) throw t instanceof Error ? t : new Error(t);
+ })(Boolean(e.appkey), 'appkey must be initial'),
+ (this.config = t({}, e));
+ }
+ return (
+ (e.prototype.onUserAction = function (e, t) {
+ this.preReport(e, t, !1);
+ }),
+ (e.prototype.onDirectUserAction = function (e, t) {
+ this.preReport(e, t, !0);
+ }),
+ (e.prototype.preReport = function (e, t, n) {
+ e
+ ? this.strategy.isEventUpOnOff() &&
+ (this.strategy.isBlackEvent(e) || this.strategy.isSampleEvent(e) || this.onReport(e, t, n))
+ : this.errorReport.reportError('602', ' no eventCode');
+ }),
+ (e.prototype.addAdditionalParams = function (e) {
+ for (var t = 0, n = Object.keys(e); t < n.length; t++) {
+ var r = n[t];
+ this.additionalParams[r] = e[r];
+ }
+ }),
+ (e.prototype.setChannelId = function (e) {
+ this.commonInfo.channelID = String(e);
+ }),
+ (e.prototype.setOpenId = function (e) {
+ this.commonInfo.openid = String(e);
+ }),
+ (e.prototype.setUnionid = function (e) {
+ this.commonInfo.unid = String(e);
+ }),
+ (e.prototype.getDeviceId = function () {
+ return this.commonInfo.deviceId;
+ }),
+ (e.prototype.getCommonInfo = function () {
+ return this.commonInfo;
+ }),
+ (e.prototype.removeSendingId = function (e) {
+ try {
+ var t = JSON.parse(this.storage.getItem(s)),
+ n = t.indexOf(e);
+ -1 != n && (t.splice(n, 1), this.storage.setItem(s, JSON.stringify(t)));
+ } catch (e) {}
+ }),
+ e
+ );
+ })(),
+ g = (function () {
+ function e(e, t, n, r) {
+ (this.requestParams = {}),
+ (this.network = r),
+ (this.requestParams.attaid = '00400014144'),
+ (this.requestParams.token = '6478159937'),
+ (this.requestParams.product_id = e.appkey),
+ (this.requestParams.platform = n),
+ (this.requestParams.uin = t.deviceId),
+ (this.requestParams.model = ''),
+ (this.requestParams.os = n),
+ (this.requestParams.app_version = e.appVersion),
+ (this.requestParams.sdk_version = t.sdkVersion),
+ (this.requestParams.error_stack = ''),
+ (this.uploadUrl = e.isOversea ? 'https://htrace.wetvinfo.com/kv' : 'https://h.trace.qq.com/kv');
+ }
+ return (
+ (e.prototype.reportError = function (e, t) {
+ (this.requestParams._dc = Math.random()),
+ (this.requestParams.error_msg = t),
+ (this.requestParams.error_code = e),
+ this.network.get(this.uploadUrl, { params: this.requestParams }).catch(function (e) {});
+ }),
+ e
+ );
+ })(),
+ y = (function () {
+ function e(e, t, n, r, o) {
+ (this.strategy = {
+ isEventUpOnOff: !0,
+ httpsUploadUrl: 'https://otheve.beacon.qq.com/analytics/v2_upload',
+ requestInterval: 30,
+ blacklist: [],
+ samplelist: [],
+ }),
+ (this.realSample = {}),
+ (this.appkey = ''),
+ (this.needQueryConfig = !0),
+ (this.appkey = t.appkey),
+ (this.storage = r),
+ (this.needQueryConfig = e);
+ try {
+ var i = JSON.parse(this.storage.getItem(c));
+ i && this.processData(i);
+ } catch (e) {}
+ t.isOversea && (this.strategy.httpsUploadUrl = 'https://svibeacon.onezapp.com/analytics/v2_upload'),
+ !t.isOversea && this.needRequestConfig() && this.requestConfig(t.appVersion, n, o);
+ }
+ return (
+ (e.prototype.requestConfig = function (e, t, n) {
+ var r = this;
+ this.storage.setItem(u, Date.now().toString()),
+ n
+ .post('https://oth.str.beacon.qq.com/trpc.beacon.configserver.BeaconConfigService/QueryConfig', {
+ platformId: 'undefined' == typeof wx ? '3' : '4',
+ mainAppKey: this.appkey,
+ appVersion: e,
+ sdkVersion: t.sdkVersion,
+ osVersion: t.userAgent,
+ model: '',
+ packageName: '',
+ params: { A3: t.deviceId },
+ })
+ .then(function (e) {
+ if (0 == e.data.ret)
+ try {
+ var t = JSON.parse(e.data.beaconConfig);
+ t && (r.processData(t), r.storage.setItem(c, e.data.beaconConfig));
+ } catch (e) {}
+ else r.processData(null), r.storage.setItem(c, '');
+ })
+ .catch(function (e) {});
+ }),
+ (e.prototype.processData = function (e) {
+ var t, n, r, o, i;
+ (this.strategy.isEventUpOnOff =
+ null !== (t = null == e ? void 0 : e.isEventUpOnOff) && void 0 !== t
+ ? t
+ : this.strategy.isEventUpOnOff),
+ (this.strategy.httpsUploadUrl =
+ null !== (n = null == e ? void 0 : e.httpsUploadUrl) && void 0 !== n
+ ? n
+ : this.strategy.httpsUploadUrl),
+ (this.strategy.requestInterval =
+ null !== (r = null == e ? void 0 : e.requestInterval) && void 0 !== r
+ ? r
+ : this.strategy.requestInterval),
+ (this.strategy.blacklist =
+ null !== (o = null == e ? void 0 : e.blacklist) && void 0 !== o ? o : this.strategy.blacklist),
+ (this.strategy.samplelist =
+ null !== (i = null == e ? void 0 : e.samplelist) && void 0 !== i ? i : this.strategy.samplelist);
+ for (var a = 0, s = this.strategy.samplelist; a < s.length; a++) {
+ var c = s[a].split(',');
+ 2 == c.length && (this.realSample[c[0]] = c[1]);
+ }
+ }),
+ (e.prototype.needRequestConfig = function () {
+ if (!this.needQueryConfig) return !1;
+ var e = Number(this.storage.getItem(u));
+ return Date.now() - e > 60 * this.strategy.requestInterval * 1e3;
+ }),
+ (e.prototype.getUploadUrl = function () {
+ return this.strategy.httpsUploadUrl + '?appkey=' + this.appkey;
+ }),
+ (e.prototype.isBlackEvent = function (e) {
+ return -1 != this.strategy.blacklist.indexOf(e);
+ }),
+ (e.prototype.isEventUpOnOff = function () {
+ return this.strategy.isEventUpOnOff;
+ }),
+ (e.prototype.isSampleEvent = function (e) {
+ return (
+ !!Object.prototype.hasOwnProperty.call(this.realSample, e) &&
+ this.realSample[e] < Math.floor(Math.random() * Math.floor(1e4))
+ );
+ }),
+ e
+ );
+ })(),
+ v = 'session_storage_key',
+ C = (function () {
+ function e(e, t, n) {
+ (this.getSessionStackDepth = 0),
+ (this.beacon = n),
+ (this.storage = e),
+ (this.duration = t),
+ (this.appkey = n.config.appkey);
+ }
+ return (
+ (e.prototype.getSession = function () {
+ this.getSessionStackDepth += 1;
+ var e = this.storage.getItem(v);
+ if (!e) return this.createSession();
+ var t = '',
+ n = 0;
+ try {
+ var r = JSON.parse(e) || { sessionId: void 0, sessionStart: void 0 };
+ if (!r.sessionId || !r.sessionStart) return this.createSession();
+ var o = Number(this.storage.getItem(a));
+ if (Date.now() - o > this.duration) return this.createSession();
+ (t = r.sessionId), (n = r.sessionStart), (this.getSessionStackDepth = 0);
+ } catch (e) {}
+ return { sessionId: t, sessionStart: n };
+ }),
+ (e.prototype.createSession = function () {
+ var e = Date.now(),
+ t = { sessionId: this.appkey + '_' + e.toString(), sessionStart: e };
+ this.storage.setItem(v, JSON.stringify(t)), this.storage.setItem(a, e.toString());
+ var n = 'is_new_user',
+ r = this.storage.getItem(n);
+ return (
+ this.getSessionStackDepth <= 1 &&
+ this.beacon.onDirectUserAction('rqd_applaunched', { A21: r ? 'N' : 'Y' }),
+ this.storage.setItem(n, JSON.stringify(!1)),
+ t
+ );
+ }),
+ e
+ );
+ })();
+ function k() {
+ var e = navigator.userAgent,
+ t = e.indexOf('compatible') > -1 && e.indexOf('MSIE') > -1,
+ n = e.indexOf('Edge') > -1 && !t,
+ r = e.indexOf('Trident') > -1 && e.indexOf('rv:11.0') > -1;
+ if (t) {
+ new RegExp('MSIE (\\d+\\.\\d+);').test(e);
+ var o = parseFloat(RegExp.$1);
+ return 7 == o ? 7 : 8 == o ? 8 : 9 == o ? 9 : 10 == o ? 10 : 6;
+ }
+ return n ? -2 : r ? 11 : -1;
+ }
+ var S,
+ b,
+ T = function () {
+ return (T =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
+ return e;
+ }).apply(this, arguments);
+ },
+ R = (function () {
+ function e(e, t) {
+ void 0 === t && (t = {}), (this.reportOptions = {}), (this.config = e), (this.reportOptions = t);
+ }
+ return (
+ (e.canUseDB = function () {
+ return !!(null === window || void 0 === window ? void 0 : window.indexedDB);
+ }),
+ (e.prototype.openDB = function () {
+ var t = this;
+ return new Promise(function (n, r) {
+ if (!e.canUseDB()) return r({ message: '当前不支持 indexeddb' });
+ var o = t.config,
+ i = o.name,
+ a = o.version,
+ s = o.stores,
+ c = indexedDB.open(i, a);
+ (c.onsuccess = function () {
+ (t.db = c.result),
+ n(),
+ T({ result: 1, func: 'open', params: JSON.stringify(t.config) }, t.reportOptions);
+ }),
+ (c.onerror = function (e) {
+ var n, o;
+ r(e),
+ T(
+ {
+ result: 0,
+ func: 'open',
+ params: JSON.stringify(t.config),
+ error_msg:
+ null === (o = null === (n = e.target) || void 0 === n ? void 0 : n.error) || void 0 === o
+ ? void 0
+ : o.message,
+ },
+ t.reportOptions,
+ );
+ }),
+ (c.onupgradeneeded = function () {
+ t.db = c.result;
+ try {
+ null == s ||
+ s.forEach(function (e) {
+ t.createStore(e);
+ });
+ } catch (e) {
+ T(
+ { result: 0, func: 'open', params: JSON.stringify(t.config), error_msg: e.message },
+ t.reportOptions,
+ ),
+ r(e);
+ }
+ });
+ });
+ }),
+ (e.prototype.useStore = function (e) {
+ return (this.storeName = e), this;
+ }),
+ (e.prototype.deleteDB = function () {
+ var e = this;
+ return (
+ this.closeDB(),
+ new Promise(function (t, n) {
+ var r = indexedDB.deleteDatabase(e.config.name);
+ (r.onsuccess = function () {
+ return t();
+ }),
+ (r.onerror = n);
+ })
+ );
+ }),
+ (e.prototype.closeDB = function () {
+ var e;
+ null === (e = this.db) || void 0 === e || e.close(), (this.db = null);
+ }),
+ (e.prototype.getStoreCount = function () {
+ var e = this;
+ return new Promise(function (t, n) {
+ var r = e.getStore('readonly').count();
+ (r.onsuccess = function () {
+ return t(r.result);
+ }),
+ (r.onerror = n);
+ });
+ }),
+ (e.prototype.clearStore = function () {
+ var e = this;
+ return new Promise(function (t, n) {
+ var r = e.getStore('readwrite').clear();
+ (r.onsuccess = function () {
+ return t();
+ }),
+ (r.onerror = n);
+ });
+ }),
+ (e.prototype.add = function (e, t) {
+ var n = this;
+ return new Promise(function (r, o) {
+ var i = n.getStore('readwrite').add(e, t);
+ (i.onsuccess = function () {
+ r(i.result);
+ }),
+ (i.onerror = o);
+ });
+ }),
+ (e.prototype.put = function (e, t) {
+ var n = this;
+ return new Promise(function (r, o) {
+ var i = n.getStore('readwrite').put(e, t);
+ (i.onsuccess = function () {
+ r(i.result);
+ }),
+ (i.onerror = o);
+ });
+ }),
+ (e.prototype.getStoreAllData = function () {
+ var e = this;
+ return new Promise(function (t, n) {
+ var r = e.getStore('readonly').openCursor(),
+ o = [];
+ (r.onsuccess = function () {
+ var e;
+ if (null === (e = r.result) || void 0 === e ? void 0 : e.value) {
+ var n = r.result.value;
+ o.push(n), r.result.continue();
+ } else t(o);
+ }),
+ (r.onerror = n);
+ });
+ }),
+ (e.prototype.getDataRangeByIndex = function (e, t, n, r, o) {
+ var i = this;
+ return new Promise(function (a, s) {
+ var c = i.getStore().index(e),
+ u = IDBKeyRange.bound(t, n, r, o),
+ l = [],
+ d = c.openCursor(u);
+ (d.onsuccess = function () {
+ var e;
+ (null === (e = null == d ? void 0 : d.result) || void 0 === e ? void 0 : e.value)
+ ? (l.push(null == d ? void 0 : d.result.value), null == d || d.result.continue())
+ : a(l);
+ }),
+ (d.onerror = s);
+ });
+ }),
+ (e.prototype.removeDataByIndex = function (e, t, n, r, o) {
+ var i = this;
+ return new Promise(function (a, s) {
+ var c = i.getStore('readwrite').index(e),
+ u = IDBKeyRange.bound(t, n, r, o),
+ l = c.openCursor(u),
+ d = 0;
+ (l.onsuccess = function (e) {
+ var t = e.target.result;
+ t ? ((d += 1), t.delete(), t.continue()) : a(d);
+ }),
+ (l.onerror = s);
+ });
+ }),
+ (e.prototype.createStore = function (e) {
+ var t = e.name,
+ n = e.indexes,
+ r = void 0 === n ? [] : n,
+ o = e.options;
+ if (this.db) {
+ this.db.objectStoreNames.contains(t) && this.db.deleteObjectStore(t);
+ var i = this.db.createObjectStore(t, o);
+ r.forEach(function (e) {
+ i.createIndex(e.indexName, e.keyPath, e.options);
+ });
+ }
+ }),
+ (e.prototype.getStore = function (e) {
+ var t;
+ return (
+ void 0 === e && (e = 'readonly'),
+ null === (t = this.db) || void 0 === t
+ ? void 0
+ : t.transaction(this.storeName, e).objectStore(this.storeName)
+ );
+ }),
+ e
+ );
+ })(),
+ E = 'event_table_v3',
+ w = 'eventId',
+ A = (function () {
+ function e(e) {
+ (this.isReady = !1),
+ (this.taskQueue = Promise.resolve()),
+ (this.db = new R({
+ name: 'Beacon_' + e + '_V3',
+ version: 1,
+ stores: [
+ {
+ name: E,
+ options: { keyPath: w },
+ indexes: [{ indexName: w, keyPath: w, options: { unique: !0 } }],
+ },
+ ],
+ })),
+ this.open();
+ }
+ return (
+ (e.prototype.getCount = function () {
+ var e = this;
+ return this.readyExec(function () {
+ return e.db.getStoreCount();
+ });
+ }),
+ (e.prototype.setItem = function (e, t) {
+ var n = this;
+ return this.readyExec(function () {
+ return n.db.add({ eventId: e, value: t });
+ });
+ }),
+ (e.prototype.getItem = function (e) {
+ return n(this, void 0, void 0, function () {
+ var t = this;
+ return r(this, function (n) {
+ return [
+ 2,
+ this.readyExec(function () {
+ return t.db.getDataRangeByIndex(w, e, e);
+ }),
+ ];
+ });
+ });
+ }),
+ (e.prototype.removeItem = function (e) {
+ var t = this;
+ return this.readyExec(function () {
+ return t.db.removeDataByIndex(w, e, e);
+ });
+ }),
+ (e.prototype.updateItem = function (e, t) {
+ var n = this;
+ return this.readyExec(function () {
+ return n.db.put({ eventId: e, value: t });
+ });
+ }),
+ (e.prototype.iterate = function (e) {
+ var t = this;
+ return this.readyExec(function () {
+ return t.db.getStoreAllData().then(function (t) {
+ t.forEach(function (t) {
+ e(t.value);
+ });
+ });
+ });
+ }),
+ (e.prototype.open = function () {
+ return n(this, void 0, void 0, function () {
+ var e = this;
+ return r(this, function (t) {
+ switch (t.label) {
+ case 0:
+ return (
+ (this.taskQueue = this.taskQueue.then(function () {
+ return e.db.openDB();
+ })),
+ [4, this.taskQueue]
+ );
+ case 1:
+ return t.sent(), (this.isReady = !0), this.db.useStore(E), [2];
+ }
+ });
+ });
+ }),
+ (e.prototype.readyExec = function (e) {
+ return this.isReady
+ ? e()
+ : ((this.taskQueue = this.taskQueue.then(function () {
+ return e();
+ })),
+ this.taskQueue);
+ }),
+ e
+ );
+ })(),
+ x = (function () {
+ function e(e) {
+ (this.keyObject = {}), (this.storage = e);
+ }
+ return (
+ (e.prototype.getCount = function () {
+ return this.storage.getStoreCount();
+ }),
+ (e.prototype.removeItem = function (e) {
+ this.storage.removeItem(e), delete this.keyObject[e];
+ }),
+ (e.prototype.setItem = function (e, t) {
+ var n = JSON.stringify(t);
+ this.storage.setItem(e, n), (this.keyObject[e] = t);
+ }),
+ (e.prototype.iterate = function (e) {
+ for (var t = Object.keys(this.keyObject), n = 0; n < t.length; n++) {
+ var r = this.storage.getItem(t[n]);
+ e(JSON.parse(r));
+ }
+ }),
+ e
+ );
+ })(),
+ I = (function () {
+ function e(e, t) {
+ var n = this;
+ (this.dbEventCount = 0),
+ k() > 0 || !window.indexedDB || /X5Lite/.test(navigator.userAgent)
+ ? ((this.store = new x(t)), (this.dbEventCount = this.store.getCount()))
+ : ((this.store = new A(e)),
+ this.getCount()
+ .then(function (e) {
+ n.dbEventCount = e;
+ })
+ .catch(function (e) {}));
+ }
+ return (
+ (e.prototype.getCount = function () {
+ return n(this, void 0, void 0, function () {
+ return r(this, function (e) {
+ switch (e.label) {
+ case 0:
+ return e.trys.push([0, 2, , 3]), [4, this.store.getCount()];
+ case 1:
+ return [2, e.sent()];
+ case 2:
+ return e.sent(), [2, Promise.reject()];
+ case 3:
+ return [2];
+ }
+ });
+ });
+ }),
+ (e.prototype.insertEvent = function (e, t) {
+ return n(this, void 0, void 0, function () {
+ var n, o;
+ return r(this, function (r) {
+ switch (r.label) {
+ case 0:
+ if (this.dbEventCount >= 1e4) return [2, Promise.reject()];
+ (n = f(e.mapValue)), (r.label = 1);
+ case 1:
+ return r.trys.push([1, 3, , 4]), this.dbEventCount++, [4, this.store.setItem(n, e)];
+ case 2:
+ return [2, r.sent()];
+ case 3:
+ return (o = r.sent()), t && t(o, e), this.dbEventCount--, [2, Promise.reject()];
+ case 4:
+ return [2];
+ }
+ });
+ });
+ }),
+ (e.prototype.getEvents = function () {
+ return n(this, void 0, void 0, function () {
+ var e;
+ return r(this, function (t) {
+ switch (t.label) {
+ case 0:
+ (e = []), (t.label = 1);
+ case 1:
+ return (
+ t.trys.push([1, 3, , 4]),
+ [
+ 4,
+ this.store.iterate(function (t) {
+ e.push(t);
+ }),
+ ]
+ );
+ case 2:
+ case 3:
+ return t.sent(), [2, Promise.all(e)];
+ case 4:
+ return [2];
+ }
+ });
+ });
+ }),
+ (e.prototype.removeEvent = function (e) {
+ return n(this, void 0, void 0, function () {
+ var t;
+ return r(this, function (n) {
+ switch (n.label) {
+ case 0:
+ (t = f(e.mapValue)), (n.label = 1);
+ case 1:
+ return n.trys.push([1, 3, , 4]), this.dbEventCount--, [4, this.store.removeItem(t)];
+ case 2:
+ return [2, n.sent()];
+ case 3:
+ return n.sent(), this.dbEventCount++, [2, Promise.reject()];
+ case 4:
+ return [2];
+ }
+ });
+ });
+ }),
+ e
+ );
+ })(),
+ O = function () {
+ return (O =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
+ return e;
+ }).apply(this, arguments);
+ };
+ function B(e) {
+ try {
+ return decodeURIComponent(e.replace(/\+/g, ' '));
+ } catch (e) {
+ return null;
+ }
+ }
+ function _(e, t) {
+ var n = [null, void 0, '', NaN].includes(e);
+ if (t.isSkipEmpty && n) return null;
+ var r = !t.isSkipEmpty && n ? '' : e;
+ try {
+ return t.encode ? encodeURIComponent(r) : r;
+ } catch (e) {
+ return null;
+ }
+ }
+ function P(e, t) {
+ return new Promise(function (n, r) {
+ if (t && document.querySelectorAll('script[data-tag=' + t + ']').length) return n();
+ var o = document.createElement('script'),
+ i = O({ type: 'text/javascript', charset: 'utf-8' }, e);
+ Object.keys(i).forEach(function (e) {
+ return (function (e, t, n) {
+ if (e) return void 0 === n ? e.getAttribute(t) : e.setAttribute(t, n);
+ })(o, e, i[e]);
+ }),
+ t && (o.dataset.tag = t),
+ (o.onload = function () {
+ return n();
+ }),
+ (o.onreadystatechange = function () {
+ var e = o.readyState;
+ ['complete', 'loaded'].includes(e) && ((o.onreadystatechange = null), n());
+ }),
+ (o.onerror = r),
+ document.body.appendChild(o);
+ });
+ }
+ ((b = S || (S = {}))[(b.equal = 0)] = 'equal'), (b[(b.low = -1)] = 'low'), (b[(b.high = 1)] = 'high');
+ var D = function () {
+ return (D =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
+ return e;
+ }).apply(this, arguments);
+ };
+ function N(e, t, n, r) {
+ return new (n || (n = Promise))(function (o, i) {
+ function a(e) {
+ try {
+ c(r.next(e));
+ } catch (e) {
+ i(e);
+ }
+ }
+ function s(e) {
+ try {
+ c(r.throw(e));
+ } catch (e) {
+ i(e);
+ }
+ }
+ function c(e) {
+ var t;
+ e.done
+ ? o(e.value)
+ : ((t = e.value),
+ t instanceof n
+ ? t
+ : new n(function (e) {
+ e(t);
+ })).then(a, s);
+ }
+ c((r = r.apply(e, t || [])).next());
+ });
+ }
+ function U(e, t) {
+ var n,
+ r,
+ o,
+ i,
+ a = {
+ label: 0,
+ sent: function () {
+ if (1 & o[0]) throw o[1];
+ return o[1];
+ },
+ trys: [],
+ ops: [],
+ };
+ return (
+ (i = { next: s(0), throw: s(1), return: s(2) }),
+ 'function' == typeof Symbol &&
+ (i[Symbol.iterator] = function () {
+ return this;
+ }),
+ i
+ );
+ function s(i) {
+ return function (s) {
+ return (function (i) {
+ if (n) throw new TypeError('Generator is already executing.');
+ for (; a; )
+ try {
+ if (
+ ((n = 1),
+ r &&
+ (o = 2 & i[0] ? r.return : i[0] ? r.throw || ((o = r.return) && o.call(r), 0) : r.next) &&
+ !(o = o.call(r, i[1])).done)
+ )
+ return o;
+ switch (((r = 0), o && (i = [2 & i[0], o.value]), i[0])) {
+ case 0:
+ case 1:
+ o = i;
+ break;
+ case 4:
+ return a.label++, { value: i[1], done: !1 };
+ case 5:
+ a.label++, (r = i[1]), (i = [0]);
+ continue;
+ case 7:
+ (i = a.ops.pop()), a.trys.pop();
+ continue;
+ default:
+ if (!((o = (o = a.trys).length > 0 && o[o.length - 1]) || (6 !== i[0] && 2 !== i[0]))) {
+ a = 0;
+ continue;
+ }
+ if (3 === i[0] && (!o || (i[1] > o[0] && i[1] < o[3]))) {
+ a.label = i[1];
+ break;
+ }
+ if (6 === i[0] && a.label < o[1]) {
+ (a.label = o[1]), (o = i);
+ break;
+ }
+ if (o && a.label < o[2]) {
+ (a.label = o[2]), a.ops.push(i);
+ break;
+ }
+ o[2] && a.ops.pop(), a.trys.pop();
+ continue;
+ }
+ i = t.call(e, a);
+ } catch (e) {
+ (i = [6, e]), (r = 0);
+ } finally {
+ n = o = 0;
+ }
+ if (5 & i[0]) throw i[1];
+ return { value: i[0] ? i[1] : void 0, done: !0 };
+ })([i, s]);
+ };
+ }
+ }
+ var M = (function () {
+ function e() {
+ this.interceptors = [];
+ }
+ return (
+ (e.prototype.use = function (e, t) {
+ return this.interceptors.push({ resolved: e, rejected: t }), this.interceptors.length - 1;
+ }),
+ (e.prototype.traverse = function (e, t) {
+ void 0 === t && (t = !1);
+ var n = Promise.resolve(e);
+ return (
+ (t ? Array.prototype.reduceRight : Array.prototype.reduce).call(
+ this.interceptors,
+ function (e, t) {
+ if (t) {
+ var r = t.resolved,
+ o = t.rejected;
+ n = n.then(r, o);
+ }
+ return e;
+ },
+ '',
+ ),
+ n
+ );
+ }),
+ (e.prototype.eject = function (e) {
+ this.interceptors[e] && (this.interceptors[e] = null);
+ }),
+ e
+ );
+ })(),
+ H = {
+ defaults: { timeout: 0, method: 'GET', mode: 'cors', redirect: 'follow', credentials: 'same-origin' },
+ headers: {
+ common: { Accept: 'application/json, text/plain, */*' },
+ POST: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ PUT: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ PATCH: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ },
+ baseURL: '',
+ polyfillUrl: 'https://vm.gtimg.cn/comps/script/fetch.min.js',
+ interceptors: { request: new M(), response: new M() },
+ },
+ L = /^([a-z][a-z\d+\-.]*:)?\/\//i,
+ j = Object.prototype.toString;
+ function F(e) {
+ return N(this, void 0, void 0, function () {
+ var t;
+ return U(this, function (n) {
+ switch (n.label) {
+ case 0:
+ if (window.fetch) return [2];
+ n.label = 1;
+ case 1:
+ return n.trys.push([1, 3, , 4]), [4, P({ src: e })];
+ case 2:
+ return n.sent(), [3, 4];
+ case 3:
+ throw ((t = n.sent()), new Error('加载 polyfill ' + e + ' 失败: ' + t.message));
+ case 4:
+ return [2];
+ }
+ });
+ });
+ }
+ function K(e) {
+ return N(this, void 0, void 0, function () {
+ var t, n, r, o, i, a, s, c, u, l, d, p, f, h, m, g, y;
+ return U(this, function (v) {
+ switch (v.label) {
+ case 0:
+ return (t = H.baseURL), (n = H.defaults), (r = H.interceptors), [4, F(H.polyfillUrl)];
+ case 1:
+ return (
+ v.sent(),
+ (o = D(D({}, n), e)).headers ||
+ (o.headers = (function (e) {
+ void 0 === e && (e = 'GET');
+ var t = H.headers[e] || {};
+ return D(D({}, H.headers.common), t);
+ })(o.method)),
+ (function (e) {
+ ['Accept', 'Content-Type'].forEach(function (t) {
+ return (
+ (n = t),
+ void (
+ (r = e.headers) &&
+ Object.keys(r).forEach(function (e) {
+ e !== n && e.toUpperCase() === n.toUpperCase() && ((r[n] = r[e]), delete r[e]);
+ })
+ )
+ );
+ var n, r;
+ }),
+ (function (e) {
+ if ('[object Object]' !== j.call(e)) return !1;
+ var t = Object.getPrototypeOf(e);
+ return null === t || t === Object.prototype;
+ })(e.body) &&
+ ((e.body = JSON.stringify(e.body)),
+ e.headers && (e.headers['Content-Type'] = 'application/json;charset=utf-8'));
+ })(o),
+ [4, r.request.traverse(o, !0)]
+ );
+ case 2:
+ if ((i = v.sent()) instanceof Error) throw i;
+ return (
+ (i.url = (function (e, t) {
+ return !e || L.test(t) ? t : e.replace(/\/+$/, '') + '/' + t.replace(/^\/+/, '');
+ })(t, i.url)),
+ (a = i.url),
+ (s = i.timeout),
+ (c = i.params),
+ (u = i.method),
+ (l = ['GET', 'DELETE', 'OPTIONS', 'HEAD'].includes(void 0 === u ? 'GET' : u) && !!c),
+ (d = l
+ ? (function (e, t) {
+ void 0 === t && (t = { encode: !0, isSkipEmpty: !1 });
+ var n = e.url,
+ r = e.query,
+ o = void 0 === r ? {} : r,
+ i = e.hash,
+ a = n.split('#'),
+ s = a[0],
+ c = a[1],
+ u = void 0 === c ? '' : c,
+ l = s.split('?')[0],
+ d = [],
+ p = _(i || u, t),
+ f = O(
+ O(
+ {},
+ (function (e) {
+ var t = e.split('#'),
+ n = t[0],
+ r = t[1],
+ o = void 0 === r ? '' : r,
+ i = n.split('?'),
+ a = i[0],
+ s = i[1],
+ c = void 0 === s ? '' : s,
+ u = B(o),
+ l = Object.create(null);
+ return (
+ c.split('&').forEach(function (e) {
+ var t = e.split('='),
+ n = t[0],
+ r = t[1],
+ o = void 0 === r ? '' : r,
+ i = B(n),
+ a = B(o);
+ null === i || null === a || ('' === i && '' === a) || l[i] || (l[i] = a);
+ }),
+ { url: a, query: l, hash: u }
+ );
+ })(n).query,
+ ),
+ o,
+ );
+ return (
+ Object.keys(f).forEach(function (e) {
+ var n = _(e, t),
+ r = _(f[e], t);
+ null !== n && null !== r && d.push(n + '=' + r);
+ }),
+ l + (d.length ? '?' + d.join('&') : '') + (p ? '#' + p : '')
+ );
+ })({ url: a, query: c })
+ : a),
+ (p = []),
+ s &&
+ !i.signal &&
+ ((m = new Promise(function (e) {
+ f = setTimeout(function () {
+ e(new Error('timeout'));
+ }, s);
+ })),
+ p.push(m),
+ (h = new AbortController()),
+ (i.signal = h.signal)),
+ p.push(
+ fetch(d, i).catch(function (e) {
+ return e;
+ }),
+ ),
+ [4, Promise.race(p)]
+ );
+ case 3:
+ return (g = v.sent()), f && clearTimeout(f), [4, r.response.traverse(g)];
+ case 4:
+ if ((y = v.sent()) instanceof Error) throw (null == h || h.abort(), y);
+ return [2, y];
+ }
+ });
+ });
+ }
+ var q = (function () {
+ function e(e) {
+ H.interceptors.request.use(function (n) {
+ var r = n.url,
+ o = n.method,
+ i = n.body,
+ a = i;
+ if (e.onReportBeforeSend) {
+ var s = e.onReportBeforeSend({ url: r, method: o, data: i ? JSON.parse(i) : null });
+ a = (null == s ? void 0 : s.data) ? JSON.stringify(s.data) : null;
+ }
+ return 'GET' != o && a ? t(t({}, n), { body: a }) : n;
+ });
+ }
+ return (
+ (e.prototype.get = function (e, o) {
+ return n(this, void 0, void 0, function () {
+ var n, i;
+ return r(this, function (r) {
+ switch (r.label) {
+ case 0:
+ return [4, K(t({ url: e }, o))];
+ case 1:
+ return [4, (n = r.sent()).json()];
+ case 2:
+ return (
+ (i = r.sent()),
+ [
+ 2,
+ Promise.resolve({
+ data: i,
+ status: n.status,
+ statusText: n.statusText,
+ headers: n.headers,
+ }),
+ ]
+ );
+ }
+ });
+ });
+ }),
+ (e.prototype.post = function (e, o, i) {
+ return n(this, void 0, void 0, function () {
+ var n, a;
+ return r(this, function (r) {
+ switch (r.label) {
+ case 0:
+ return [4, K(t({ url: e, body: o, method: 'POST' }, i))];
+ case 1:
+ return [4, (n = r.sent()).json()];
+ case 2:
+ return (
+ (a = r.sent()),
+ [
+ 2,
+ Promise.resolve({
+ data: a,
+ status: n.status,
+ statusText: n.statusText,
+ headers: n.headers,
+ }),
+ ]
+ );
+ }
+ });
+ });
+ }),
+ e
+ );
+ })(),
+ z = (function () {
+ function e(e) {
+ this.appkey = e;
+ }
+ return (
+ (e.prototype.getItem = function (e) {
+ try {
+ return window.localStorage.getItem(this.getStoreKey(e));
+ } catch (e) {
+ return '';
+ }
+ }),
+ (e.prototype.removeItem = function (e) {
+ try {
+ window.localStorage.removeItem(this.getStoreKey(e));
+ } catch (e) {}
+ }),
+ (e.prototype.setItem = function (e, t) {
+ try {
+ window.localStorage.setItem(this.getStoreKey(e), t);
+ } catch (e) {}
+ }),
+ (e.prototype.setSessionItem = function (e, t) {
+ try {
+ window.sessionStorage.setItem(this.getStoreKey(e), t);
+ } catch (e) {}
+ }),
+ (e.prototype.getSessionItem = function (e) {
+ try {
+ return window.sessionStorage.getItem(this.getStoreKey(e));
+ } catch (e) {
+ return '';
+ }
+ }),
+ (e.prototype.getStoreKey = function (e) {
+ return o + this.appkey + '_' + e;
+ }),
+ (e.prototype.createDeviceId = function () {
+ try {
+ var e = window.localStorage.getItem(i);
+ return (
+ e ||
+ ((e = (function (e) {
+ for (var t = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz0123456789', n = '', r = 0; r < 32; r++)
+ n += t.charAt(Math.floor(51 * Math.random()));
+ return n;
+ })()),
+ window.localStorage.setItem(i, e)),
+ e
+ );
+ } catch (e) {
+ return '';
+ }
+ }),
+ (e.prototype.clear = function () {
+ try {
+ for (var e = window.localStorage.length, t = 0; t < e; t++) {
+ var n = window.localStorage.key(t);
+ (null == n ? void 0 : n.substr(0, 9)) == o && window.localStorage.removeItem(n);
+ }
+ } catch (e) {}
+ }),
+ (e.prototype.getStoreCount = function () {
+ var e = 0;
+ try {
+ e = window.localStorage.length;
+ } catch (e) {}
+ return e;
+ }),
+ e
+ );
+ })(),
+ G = 'logid_start',
+ V = '4.5.14-web';
+ return (function (n) {
+ function r(e) {
+ var t = n.call(this, e) || this;
+ (t.qimei36 = ''),
+ (t.uselessCycleTaskNum = 0),
+ (t.underWeakNet = !1),
+ (t.pauseSearching = !1),
+ (t.send = function (e, n, r) {
+ t.storage.setItem(a, Date.now().toString()),
+ t.network
+ .post(t.uploadUrl || t.strategy.getUploadUrl(), e.data)
+ .then(function (r) {
+ var o;
+ 100 == (null === (o = null == r ? void 0 : r.data) || void 0 === o ? void 0 : o.result)
+ ? (t.delayTime = 1e3 * r.data.delayTime)
+ : (t.delayTime = 0),
+ n && n(e.data),
+ e.data.events.forEach(function (e) {
+ t.store.removeEvent(e).then(function () {
+ t.removeSendingId(f(e.mapValue));
+ });
+ }),
+ t.doCustomCycleTask();
+ })
+ .catch(function (n) {
+ var o = e.data.events;
+ t.errorReport.reportError(n.code ? n.code.toString() : '600', n.message), r && r(e.data);
+ var i = JSON.parse(t.storage.getItem(s));
+ o.forEach(function (e) {
+ i &&
+ -1 != i.indexOf(f(e)) &&
+ t.store.insertEvent(e, function (e, n) {
+ e && t.errorReport.reportError('604', 'insertEvent fail!');
+ }),
+ t.removeSendingId(f(e));
+ }),
+ t.monitorUploadFailed();
+ });
+ });
+ var r,
+ o,
+ i = k();
+ return (
+ (t.isUnderIE8 = i > 0 && i < 8),
+ t.isUnderIE8 ||
+ ((t.isUnderIE = i > 0),
+ e.needInitQimei &&
+ (function (e, t) {
+ var n;
+ (void 0 === n && (n = Date.now() + '-' + Math.random()),
+ new Promise(function (e, t) {
+ if (document.getElementById(n)) e(void 0);
+ else {
+ var r = document.getElementsByTagName('head')[0],
+ o = document.createElement('script');
+ (o.onload = function () {
+ return function () {
+ (o.onload = null), e(void 0);
+ };
+ }),
+ (o.onerror = function (e) {
+ (o.onerror = null), r.removeChild(o), t(e);
+ }),
+ (o.src = 'https://tun-cos-1258344701.file.myqcloud.com/fp.js'),
+ (o.id = n),
+ r.appendChild(o);
+ }
+ }))
+ .then(function () {
+ new Fingerprint().getQimei36(e, t);
+ })
+ .catch(function (e) {});
+ })(e.appkey, function (e) {
+ t.qimei36 = e.q36;
+ }),
+ (t.network = new q(e)),
+ (t.storage = new z(e.appkey)),
+ t.initCommonInfo(e),
+ (t.store = new I(e.appkey, t.storage)),
+ (t.errorReport = new g(t.config, t.commonInfo, 'web', t.network)),
+ (t.strategy = new y(
+ null == e.needQueryConfig || e.needQueryConfig,
+ t.config,
+ t.commonInfo,
+ t.storage,
+ t.network,
+ )),
+ (t.logidStartTime = t.storage.getItem(G)),
+ t.logidStartTime ||
+ ((t.logidStartTime = Date.now().toString()), t.storage.setItem(G, t.logidStartTime)),
+ (r = t.logidStartTime),
+ (o = Date.now() - Number.parseFloat(r)),
+ Math.floor(o / 864e5) >= 365 && t.storage.clear(),
+ t.initSession(e),
+ t.onDirectUserAction('rqd_js_init', {}),
+ setTimeout(function () {
+ return t.lifeCycle.emit('init');
+ }, 0),
+ (t.initDelayTime = e.delay ? e.delay : 1e3),
+ t.cycleTask(t.initDelayTime)),
+ t
+ );
+ }
+ return (
+ (function (t, n) {
+ if ('function' != typeof n && null !== n)
+ throw new TypeError('Class extends value ' + String(n) + ' is not a constructor or null');
+ function r() {
+ this.constructor = t;
+ }
+ e(t, n), (t.prototype = null === n ? Object.create(n) : ((r.prototype = n.prototype), new r()));
+ })(r, n),
+ (r.prototype.initSession = function (e) {
+ var t = 18e5;
+ e.sessionDuration && e.sessionDuration > 3e4 && (t = e.sessionDuration),
+ (this.beaconSession = new C(this.storage, t, this));
+ }),
+ (r.prototype.initCommonInfo = function (e) {
+ var t = Number(this.storage.getItem(a));
+ try {
+ var n = JSON.parse(this.storage.getItem(s));
+ (Date.now() - t > 3e4 || !n) && this.storage.setItem(s, JSON.stringify([]));
+ } catch (e) {}
+ e.uploadUrl && (this.uploadUrl = e.uploadUrl + '?appkey=' + e.appkey);
+ var r = [window.screen.width, window.screen.height];
+ window.devicePixelRatio && r.push(window.devicePixelRatio),
+ (this.commonInfo = {
+ deviceId: this.storage.createDeviceId(),
+ language: (navigator && navigator.language) || 'zh_CN',
+ query: window.location.search,
+ userAgent: navigator.userAgent,
+ pixel: r.join('*'),
+ channelID: e.channelID ? String(e.channelID) : '',
+ openid: e.openid ? String(e.openid) : '',
+ unid: e.unionid ? String(e.unionid) : '',
+ sdkVersion: V,
+ }),
+ (this.config.appVersion = e.versionCode ? String(e.versionCode) : ''),
+ (this.config.strictMode = e.strictMode);
+ }),
+ (r.prototype.cycleTask = function (e) {
+ var t = this;
+ this.intervalID = window.setInterval(function () {
+ t.pauseSearching ||
+ t.store
+ .getEvents()
+ .then(function (e) {
+ 0 == e.length && (t.pauseSearching = !0);
+ var n = [],
+ r = JSON.parse(t.storage.getItem(s));
+ r || (r = []),
+ e &&
+ e.forEach(function (e) {
+ var t = f(e.mapValue);
+ -1 == r.indexOf(t) && (n.push(e), r.push(t));
+ }),
+ 0 != n.length &&
+ (t.storage.setItem(s, JSON.stringify(r)), t._normalLogPipeline(t.assembleData(n)));
+ })
+ .catch(function (e) {});
+ }, e);
+ }),
+ (r.prototype.onReport = function (e, t, n) {
+ var r = this;
+ if (this.isUnderIE8) this.errorReport.reportError('601', 'UnderIE8');
+ else {
+ this.pauseSearching = !1;
+ var o = this.generateData(e, t, n);
+ if (n && 0 == this.delayTime && !this.underWeakNet) this._normalLogPipeline(this.assembleData(o));
+ else {
+ var i = o.shift();
+ i &&
+ this.store
+ .insertEvent(i, function (e) {
+ e && r.errorReport.reportError('604', 'insertEvent fail!');
+ })
+ .catch(function (e) {
+ r._normalLogPipeline(r.assembleData(o));
+ });
+ }
+ }
+ }),
+ (r.prototype.onSendBeacon = function (e, t) {
+ if (this.isUnderIE) this.errorReport.reportError('605', 'UnderIE');
+ else {
+ this.pauseSearching = !1;
+ var n = this.assembleData(this.generateData(e, t, !0));
+ 'function' == typeof navigator.sendBeacon &&
+ navigator.sendBeacon(this.uploadUrl || this.strategy.getUploadUrl(), JSON.stringify(n));
+ }
+ }),
+ (r.prototype.generateData = function (e, n, r) {
+ var o = [],
+ i = '4.5.14-web_' + (r ? 'direct_log_id' : 'normal_log_id'),
+ a = Number(this.storage.getItem(i));
+ return (
+ (a = a || 1),
+ (n = t(t({}, n), { A99: r ? 'Y' : 'N', A100: a.toString(), A72: V, A88: this.logidStartTime })),
+ a++,
+ this.storage.setItem(i, a.toString()),
+ o.push({ eventCode: e, eventTime: Date.now().toString(), mapValue: d(n, this.config.strictMode) }),
+ o
+ );
+ }),
+ (r.prototype.assembleData = function (e) {
+ var n = this.beaconSession.getSession();
+ return {
+ appVersion: this.config.appVersion ? p(this.config.appVersion) : '',
+ sdkId: 'js',
+ sdkVersion: V,
+ mainAppKey: this.config.appkey,
+ platformId: 3,
+ common: d(
+ t(t({}, this.additionalParams), {
+ A2: this.commonInfo.deviceId,
+ A8: this.commonInfo.openid,
+ A12: this.commonInfo.language,
+ A17: this.commonInfo.pixel,
+ A23: this.commonInfo.channelID,
+ A50: this.commonInfo.unid,
+ A76: n.sessionId,
+ A101: this.commonInfo.userAgent,
+ A102: window.location.href,
+ A104: document.referrer,
+ A119: this.commonInfo.query,
+ A153: this.qimei36,
+ }),
+ !1,
+ ),
+ events: e,
+ };
+ }),
+ (r.prototype.monitorUploadFailed = function () {
+ this.uselessCycleTaskNum++,
+ this.uselessCycleTaskNum >= 5 &&
+ (window.clearInterval(this.intervalID), this.cycleTask(6e4), (this.underWeakNet = !0));
+ }),
+ (r.prototype.doCustomCycleTask = function () {
+ this.uselessCycleTaskNum >= 5 &&
+ (window.clearInterval(this.intervalID), this.cycleTask(this.initDelayTime)),
+ (this.uselessCycleTaskNum = 0),
+ (this.underWeakNet = !1);
+ }),
+ r
+ );
+ })(m);
+ }),
+ 'object' == a(t) && void 0 !== e
+ ? (e.exports = i())
+ : void 0 === (o = 'function' == typeof (r = i) ? r.call(t, n, t, e) : r) || (e.exports = o);
+ },
+ function (e, t, n) {
+ var r = n(9),
+ o = n(1),
+ i = {};
+ (e.exports.transferToTaskMethod = function (e, t) {
+ (i[t] = e[t]),
+ (e[t] = function (e, n) {
+ e.SkipTask ? i[t].call(this, e, n) : this._addTask(t, e, n);
+ });
+ }),
+ (e.exports.init = function (e) {
+ var t,
+ n,
+ a = [],
+ s = {},
+ c = 0,
+ u = 0,
+ l = function (e) {
+ var t = {
+ id: e.id,
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ FilePath: e.FilePath,
+ state: e.state,
+ loaded: e.loaded,
+ size: e.size,
+ speed: e.speed,
+ percent: e.percent,
+ hashPercent: e.hashPercent,
+ error: e.error,
+ };
+ return e.FilePath && (t.FilePath = e.FilePath), e._custom && (t._custom = e._custom), t;
+ },
+ d =
+ ((n = function () {
+ (t = 0),
+ e.emit('task-list-update', { list: o.map(a, l) }),
+ e.emit('list-update', { list: o.map(a, l) });
+ }),
+ function () {
+ t || (t = setTimeout(n));
+ }),
+ p = function () {
+ if (!(a.length <= e.options.UploadQueueSize)) {
+ for (var t = 0; t < u && t < a.length && a.length > e.options.UploadQueueSize; ) {
+ var n = 'waiting' === a[t].state || 'checking' === a[t].state || 'uploading' === a[t].state;
+ a[t] && n ? t++ : (s[a[t].id] && delete s[a[t].id], a.splice(t, 1), u--);
+ }
+ d();
+ }
+ },
+ f = function t() {
+ if (!(c >= e.options.FileParallelLimit)) {
+ for (; a[u] && 'waiting' !== a[u].state; ) u++;
+ if (!(u >= a.length)) {
+ var n = a[u];
+ u++,
+ c++,
+ (n.state = 'checking'),
+ n.params.onTaskStart && n.params.onTaskStart(l(n)),
+ !n.params.UploadData && (n.params.UploadData = {});
+ var r = o.formatParams(n.api, n.params);
+ i[n.api].call(e, r, function (r, o) {
+ e._isRunningTask(n.id) &&
+ (('checking' !== n.state && 'uploading' !== n.state) ||
+ ((n.state = r ? 'error' : 'success'),
+ r && (n.error = r),
+ c--,
+ d(),
+ t(),
+ n.callback && n.callback(r, o),
+ 'success' === n.state &&
+ (n.params && (delete n.params.UploadData, delete n.params.Body, delete n.params),
+ delete n.callback)),
+ p());
+ }),
+ d(),
+ setTimeout(t);
+ }
+ }
+ },
+ h = function (t, n) {
+ var o = s[t];
+ if (o) {
+ var i = o && 'waiting' === o.state,
+ a = o && ('checking' === o.state || 'uploading' === o.state);
+ if (('canceled' === n && 'canceled' !== o.state) || ('paused' === n && i) || ('paused' === n && a)) {
+ if ('paused' === n && o.params.Body && 'function' == typeof o.params.Body.pipe) return;
+ (o.state = n), e.emit('inner-kill-task', { TaskId: t, toState: n });
+ try {
+ var u = o && o.params && o.params.UploadData.UploadId;
+ } catch (e) {}
+ 'canceled' === n && u && r.removeUsing(u),
+ d(),
+ a && (c--, f()),
+ 'canceled' === n &&
+ (o.params && (delete o.params.UploadData, delete o.params.Body, delete o.params),
+ delete o.callback);
+ }
+ p();
+ }
+ };
+ e._addTasks = function (t) {
+ o.each(t, function (t) {
+ e._addTask(t.api, t.params, t.callback, !0);
+ }),
+ d();
+ };
+ (e._addTask = function (t, n, r, i) {
+ n = o.formatParams(t, n);
+ var c = o.uuid();
+ (n.TaskId = c), n.onTaskReady && n.onTaskReady(c), n.TaskReady && (n.TaskReady(c), !1);
+ var u = {
+ params: n,
+ callback: r,
+ api: t,
+ index: a.length,
+ id: c,
+ Bucket: n.Bucket,
+ Region: n.Region,
+ Key: n.Key,
+ FilePath: n.FilePath || '',
+ state: 'waiting',
+ loaded: 0,
+ size: 0,
+ speed: 0,
+ percent: 0,
+ hashPercent: 0,
+ error: null,
+ _custom: n._custom,
+ },
+ l = n.onHashProgress;
+ n.onHashProgress = function (t) {
+ e._isRunningTask(u.id) && ((u.hashPercent = t.percent), l && l(t), d());
+ };
+ var h = n.onProgress;
+ return (
+ (n.onProgress = function (t) {
+ e._isRunningTask(u.id) &&
+ ('checking' === u.state && (u.state = 'uploading'),
+ (u.loaded = t.loaded),
+ (u.speed = t.speed),
+ (u.percent = t.percent),
+ h && h(t),
+ d());
+ }),
+ o.getFileSize(t, n, function (e, t) {
+ if (e) return r(o.error(e));
+ (s[c] = u), a.push(u), (u.size = t), !i && d(), f(), p();
+ }),
+ c
+ );
+ }),
+ (e._isRunningTask = function (e) {
+ var t = s[e];
+ return !(!t || ('checking' !== t.state && 'uploading' !== t.state));
+ }),
+ (e.getTaskList = function () {
+ return o.map(a, l);
+ }),
+ (e.cancelTask = function (e) {
+ h(e, 'canceled');
+ }),
+ (e.pauseTask = function (e) {
+ h(e, 'paused');
+ }),
+ (e.restartTask = function (e) {
+ var t = s[e];
+ !t ||
+ ('paused' !== t.state && 'error' !== t.state) ||
+ ((t.state = 'waiting'), d(), (u = Math.min(u, t.index)), f());
+ }),
+ (e.isUploadRunning = function () {
+ return c || u < a.length;
+ });
+ });
+ },
+ function (e, t, n) {
+ var r = n(0),
+ o = n(28),
+ i = n(1);
+ function a(e, t, n) {
+ var r = i.clone(t.InventoryConfiguration);
+ if (r.OptionalFields) {
+ var o = r.OptionalFields || [];
+ r.OptionalFields = { Field: o };
+ }
+ if (r.Destination && r.Destination.COSBucketDestination && r.Destination.COSBucketDestination.Encryption) {
+ var a = r.Destination.COSBucketDestination.Encryption;
+ Object.keys(a).indexOf('SSECOS') > -1 && ((a['SSE-COS'] = a.SSECOS), delete a.SSECOS);
+ }
+ var s = i.json2xml({ InventoryConfiguration: r }),
+ c = t.Headers;
+ (c['Content-Type'] = 'application/xml'), (c['Content-MD5'] = i.b64(i.md5(s)));
+ var u = 'PUT' === e ? 'name/cos:PutBucketInventory' : 'name/cos:PostBucketInventory';
+ f.call(
+ this,
+ {
+ Action: u,
+ method: e,
+ Bucket: t.Bucket,
+ Region: t.Region,
+ body: s,
+ action: 'inventory',
+ qs: { id: t.Id },
+ headers: c,
+ },
+ function (e, t) {
+ return e && 204 === e.statusCode
+ ? n(null, { statusCode: e.statusCode })
+ : e
+ ? n(e)
+ : void n(null, { statusCode: t.statusCode, headers: t.headers });
+ },
+ );
+ }
+ function s(e) {
+ var t = { GrantFullControl: [], GrantWrite: [], GrantRead: [], GrantReadAcp: [], GrantWriteAcp: [], ACL: '' },
+ n = {
+ FULL_CONTROL: 'GrantFullControl',
+ WRITE: 'GrantWrite',
+ READ: 'GrantRead',
+ READ_ACP: 'GrantReadAcp',
+ WRITE_ACP: 'GrantWriteAcp',
+ },
+ r = ((e && e.AccessControlList) || {}).Grant;
+ r && (r = i.isArray(r) ? r : [r]);
+ var o = { READ: 0, WRITE: 0, FULL_CONTROL: 0 };
+ return (
+ r &&
+ r.length &&
+ i.each(r, function (r) {
+ 'qcs::cam::anyone:anyone' === r.Grantee.ID ||
+ 'http://cam.qcloud.com/groups/global/AllUsers' === r.Grantee.URI
+ ? (o[r.Permission] = 1)
+ : r.Grantee.ID !== e.Owner.ID && t[n[r.Permission]].push('id="' + r.Grantee.ID + '"');
+ }),
+ o.FULL_CONTROL || (o.WRITE && o.READ)
+ ? (t.ACL = 'public-read-write')
+ : o.READ
+ ? (t.ACL = 'public-read')
+ : (t.ACL = 'private'),
+ i.each(n, function (e) {
+ t[e] = c(t[e].join(','));
+ }),
+ t
+ );
+ }
+ function c(e) {
+ var t,
+ n,
+ r = e.split(','),
+ o = {};
+ for (t = 0; t < r.length; ) o[(n = r[t].trim())] ? r.splice(t, 1) : ((o[n] = !0), (r[t] = n), t++);
+ return r.join(',');
+ }
+ function u(e) {
+ var t = e.region || '',
+ n = e.bucket || '',
+ o = n.substr(0, n.lastIndexOf('-')),
+ a = n.substr(n.lastIndexOf('-') + 1),
+ s = e.domain,
+ c = e.object;
+ 'function' == typeof s && (s = s({ Bucket: n, Region: t })),
+ ['http', 'https'].includes(e.protocol) && (e.protocol = e.protocol + ':');
+ var u =
+ e.protocol ||
+ (i.isBrowser &&
+ 'object' === ('undefined' == typeof location ? 'undefined' : r(location)) &&
+ 'http:' === location.protocol
+ ? 'http:'
+ : 'https:');
+ s ||
+ ((s =
+ ['cn-south', 'cn-south-2', 'cn-north', 'cn-east', 'cn-southwest', 'sg'].indexOf(t) > -1
+ ? '{Region}.myqcloud.com'
+ : 'cos.{Region}.myqcloud.com'),
+ e.ForcePathStyle || (s = '{Bucket}.' + s)),
+ (s = (s = s
+ .replace(/\{\{AppId\}\}/gi, a)
+ .replace(/\{\{Bucket\}\}/gi, o)
+ .replace(/\{\{Region\}\}/gi, t)
+ .replace(/\{\{.*?\}\}/gi, ''))
+ .replace(/\{AppId\}/gi, a)
+ .replace(/\{BucketName\}/gi, o)
+ .replace(/\{Bucket\}/gi, n)
+ .replace(/\{Region\}/gi, t)
+ .replace(/\{.*?\}/gi, '')),
+ /^[a-zA-Z]+:\/\//.test(s) || (s = u + '//' + s),
+ '/' === s.slice(-1) && (s = s.slice(0, -1));
+ var l = s;
+ return (
+ e.ForcePathStyle && (l += '/' + n),
+ (l += '/'),
+ c && (l += i.camSafeUrlEncode(c).replace(/%2F/g, '/')),
+ e.isLocation && (l = l.replace(/^https?:\/\//, '')),
+ l
+ );
+ }
+ var l = function (e) {
+ if (!e.Bucket || !e.Region) return '';
+ var t = void 0 === e.UseAccelerate ? this.options.UseAccelerate : e.UseAccelerate,
+ n = (
+ e.Url ||
+ u({
+ ForcePathStyle: this.options.ForcePathStyle,
+ protocol: this.options.Protocol,
+ domain: this.options.Domain,
+ bucket: e.Bucket,
+ region: t ? 'accelerate' : e.Region,
+ })
+ ).replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1');
+ return new RegExp('^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$').test(n) ? n : '';
+ };
+ function d(e, t) {
+ var n = i.clone(e.Headers),
+ r = '';
+ i.each(n, function (e, t) {
+ ('' === e || ['content-type', 'cache-control', 'expires'].indexOf(t.toLowerCase()) > -1) && delete n[t],
+ 'host' === t.toLowerCase() && (r = e);
+ });
+ var o = !1 !== e.ForceSignHost;
+ !r && e.SignHost && o && (n.Host = e.SignHost);
+ var a = !1,
+ s = function (e, n) {
+ a ||
+ ((a = !0),
+ n &&
+ n.XCosSecurityToken &&
+ !n.SecurityToken &&
+ (((n = i.clone(n)).SecurityToken = n.XCosSecurityToken), delete n.XCosSecurityToken),
+ t && t(e, n));
+ },
+ c = this,
+ u = e.Bucket || '',
+ l = e.Region || '',
+ d = e.Key || '';
+ c.options.ForcePathStyle && u && (d = u + '/' + d);
+ var p = '/' + d,
+ f = {},
+ h = e.Scope;
+ if (!h) {
+ var m = e.Action || '',
+ g = e.ResourceKey || e.Key || '';
+ h = e.Scope || [{ action: m, bucket: u, region: l, prefix: g }];
+ }
+ var y = i.md5(JSON.stringify(h));
+ (c._StsCache = c._StsCache || []),
+ (function () {
+ var e, t;
+ for (e = c._StsCache.length - 1; e >= 0; e--) {
+ t = c._StsCache[e];
+ var n = Math.round(i.getSkewTime(c.options.SystemClockOffset) / 1e3) + 30;
+ if ((t.StartTime && n < t.StartTime) || n >= t.ExpiredTime) c._StsCache.splice(e, 1);
+ else if (!t.ScopeLimit || (t.ScopeLimit && t.ScopeKey === y)) {
+ f = t;
+ break;
+ }
+ }
+ })();
+ var v,
+ C = function () {
+ var t = '';
+ f.StartTime && e.Expires
+ ? (t = f.StartTime + ';' + (f.StartTime + 1 * e.Expires))
+ : f.StartTime && f.ExpiredTime && (t = f.StartTime + ';' + f.ExpiredTime);
+ var r = {
+ Authorization: i.getAuth({
+ SecretId: f.TmpSecretId,
+ SecretKey: f.TmpSecretKey,
+ Method: e.Method,
+ Pathname: p,
+ Query: e.Query,
+ Headers: n,
+ Expires: e.Expires,
+ UseRawKey: c.options.UseRawKey,
+ SystemClockOffset: c.options.SystemClockOffset,
+ KeyTime: t,
+ ForceSignHost: o,
+ }),
+ SecurityToken: f.SecurityToken || f.XCosSecurityToken || '',
+ Token: f.Token || '',
+ ClientIP: f.ClientIP || '',
+ ClientUA: f.ClientUA || '',
+ };
+ s(null, r);
+ },
+ k = function (e) {
+ if (e.Authorization) {
+ var t = !1,
+ n = e.Authorization;
+ if (n)
+ if (n.indexOf(' ') > -1) t = !1;
+ else if (
+ n.indexOf('q-sign-algorithm=') > -1 &&
+ n.indexOf('q-ak=') > -1 &&
+ n.indexOf('q-sign-time=') > -1 &&
+ n.indexOf('q-key-time=') > -1 &&
+ n.indexOf('q-url-param-list=') > -1
+ )
+ t = !0;
+ else
+ try {
+ (n = atob(n)).indexOf('a=') > -1 &&
+ n.indexOf('k=') > -1 &&
+ n.indexOf('t=') > -1 &&
+ n.indexOf('r=') > -1 &&
+ n.indexOf('b=') > -1 &&
+ (t = !0);
+ } catch (e) {}
+ if (!t) return i.error(new Error('getAuthorization callback params format error'));
+ } else {
+ if (!e.TmpSecretId) return i.error(new Error('getAuthorization callback params missing "TmpSecretId"'));
+ if (!e.TmpSecretKey) return i.error(new Error('getAuthorization callback params missing "TmpSecretKey"'));
+ if (!e.SecurityToken && !e.XCosSecurityToken)
+ return i.error(new Error('getAuthorization callback params missing "SecurityToken"'));
+ if (!e.ExpiredTime) return i.error(new Error('getAuthorization callback params missing "ExpiredTime"'));
+ if (e.ExpiredTime && 10 !== e.ExpiredTime.toString().length)
+ return i.error(new Error('getAuthorization callback params "ExpiredTime" should be 10 digits'));
+ if (e.StartTime && 10 !== e.StartTime.toString().length)
+ return i.error(new Error('getAuthorization callback params "StartTime" should be 10 StartTime'));
+ }
+ return !1;
+ };
+ if (f.ExpiredTime && f.ExpiredTime - i.getSkewTime(c.options.SystemClockOffset) / 1e3 > 60) C();
+ else if (c.options.getAuthorization)
+ c.options.getAuthorization.call(
+ c,
+ {
+ Bucket: u,
+ Region: l,
+ Method: e.Method,
+ Key: d,
+ Pathname: p,
+ Query: e.Query,
+ Headers: n,
+ Scope: h,
+ SystemClockOffset: c.options.SystemClockOffset,
+ ForceSignHost: o,
+ },
+ function (e) {
+ 'string' == typeof e && (e = { Authorization: e });
+ var t = k(e);
+ if (t) return s(t);
+ e.Authorization ? s(null, e) : (((f = e || {}).Scope = h), (f.ScopeKey = y), c._StsCache.push(f), C());
+ },
+ );
+ else {
+ if (!c.options.getSTS)
+ return (
+ (v = {
+ Authorization: i.getAuth({
+ SecretId: e.SecretId || c.options.SecretId,
+ SecretKey: e.SecretKey || c.options.SecretKey,
+ Method: e.Method,
+ Pathname: p,
+ Query: e.Query,
+ Headers: n,
+ Expires: e.Expires,
+ UseRawKey: c.options.UseRawKey,
+ SystemClockOffset: c.options.SystemClockOffset,
+ ForceSignHost: o,
+ }),
+ SecurityToken: c.options.SecurityToken || c.options.XCosSecurityToken,
+ }),
+ s(null, v),
+ v
+ );
+ c.options.getSTS.call(c, { Bucket: u, Region: l }, function (e) {
+ ((f = e || {}).Scope = h),
+ (f.ScopeKey = y),
+ f.TmpSecretId || (f.TmpSecretId = f.SecretId),
+ f.TmpSecretKey || (f.TmpSecretKey = f.SecretKey);
+ var t = k(f);
+ if (t) return s(t);
+ c._StsCache.push(f), C();
+ });
+ }
+ return '';
+ }
+ function p(e) {
+ var t = !1,
+ n = !1,
+ r = (e.headers && (e.headers.date || e.headers.Date)) || (e.error && e.error.ServerTime);
+ try {
+ var o = e.error.Code,
+ a = e.error.Message;
+ ('RequestTimeTooSkewed' === o || ('AccessDenied' === o && 'Request has expired' === a)) && (n = !0);
+ } catch (e) {}
+ if (e)
+ if (n && r) {
+ var s = Date.parse(r);
+ this.options.CorrectClockSkew &&
+ Math.abs(i.getSkewTime(this.options.SystemClockOffset) - s) >= 3e4 &&
+ ((this.options.SystemClockOffset = s - Date.now()), (t = !0));
+ } else 5 === Math.floor(e.statusCode / 100) && (t = !0);
+ return t;
+ }
+ function f(e, t) {
+ var n = this;
+ !e.headers && (e.headers = {}),
+ !e.qs && (e.qs = {}),
+ e.VersionId && (e.qs.versionId = e.VersionId),
+ (e.qs = i.clearKey(e.qs)),
+ e.headers && (e.headers = i.clearKey(e.headers)),
+ e.qs && (e.qs = i.clearKey(e.qs));
+ var r = i.clone(e.qs);
+ e.action && (r[e.action] = '');
+ var o = e.url || e.Url,
+ a = e.SignHost || l.call(this, { Bucket: e.Bucket, Region: e.Region, Url: o }),
+ s = e.tracker;
+ !(function o(i) {
+ var c = n.options.SystemClockOffset;
+ s && s.setParams({ signStartTime: new Date().getTime(), retryTimes: i - 1 }),
+ d.call(
+ n,
+ {
+ Bucket: e.Bucket || '',
+ Region: e.Region || '',
+ Method: e.method,
+ Key: e.Key,
+ Query: r,
+ Headers: e.headers,
+ SignHost: a,
+ Action: e.Action,
+ ResourceKey: e.ResourceKey,
+ Scope: e.Scope,
+ ForceSignHost: n.options.ForceSignHost,
+ },
+ function (r, a) {
+ r
+ ? t(r)
+ : (s && s.setParams({ signEndTime: new Date().getTime(), httpStartTime: new Date().getTime() }),
+ (e.AuthData = a),
+ h.call(n, e, function (r, a) {
+ s && s.setParams({ httpEndTime: new Date().getTime() }),
+ r && i < 2 && (c !== n.options.SystemClockOffset || p.call(n, r))
+ ? (e.headers &&
+ (delete e.headers.Authorization,
+ delete e.headers.token,
+ delete e.headers.clientIP,
+ delete e.headers.clientUA,
+ e.headers['x-cos-security-token'] && delete e.headers['x-cos-security-token'],
+ e.headers['x-ci-security-token'] && delete e.headers['x-ci-security-token']),
+ o(i + 1))
+ : t(r, a);
+ }));
+ },
+ );
+ })(1);
+ }
+ function h(e, t) {
+ var n = this,
+ r = e.TaskId;
+ if (!r || n._isRunningTask(r)) {
+ var a = e.Bucket,
+ s = e.Region,
+ c = e.Key,
+ l = e.method || 'GET',
+ d = e.Url || e.url,
+ p = e.body,
+ f = e.rawBody;
+ n.options.UseAccelerate && (s = 'accelerate'),
+ (d =
+ d ||
+ u({
+ ForcePathStyle: n.options.ForcePathStyle,
+ protocol: n.options.Protocol,
+ domain: n.options.Domain,
+ bucket: a,
+ region: s,
+ object: c,
+ })),
+ e.action && (d = d + '?' + (i.isIOS_QQ ? ''.concat(e.action, '=') : e.action)),
+ e.qsStr && (d = d.indexOf('?') > -1 ? d + '&' + e.qsStr : d + '?' + e.qsStr);
+ var h = { method: l, url: d, headers: e.headers, qs: e.qs, body: p },
+ m = 'x-cos-security-token';
+ if (
+ (i.isCIHost(d) && (m = 'x-ci-security-token'),
+ (h.headers.Authorization = e.AuthData.Authorization),
+ e.AuthData.Token && (h.headers.token = e.AuthData.Token),
+ e.AuthData.ClientIP && (h.headers.clientIP = e.AuthData.ClientIP),
+ e.AuthData.ClientUA && (h.headers.clientUA = e.AuthData.ClientUA),
+ e.AuthData.SecurityToken && (h.headers[m] = e.AuthData.SecurityToken),
+ h.headers && (h.headers = i.clearKey(h.headers)),
+ (h = i.clearKey(h)),
+ e.onProgress && 'function' == typeof e.onProgress)
+ ) {
+ var g = (p && (p.size || p.length)) || 0;
+ h.onProgress = function (t) {
+ if (!r || n._isRunningTask(r)) {
+ var o = t ? t.loaded : 0;
+ e.onProgress({ loaded: o, total: g });
+ }
+ };
+ }
+ e.onDownloadProgress && (h.onDownloadProgress = e.onDownloadProgress),
+ e.DataType && (h.dataType = e.DataType),
+ this.options.Timeout && (h.timeout = this.options.Timeout),
+ n.options.ForcePathStyle && (h.pathStyle = n.options.ForcePathStyle),
+ n.emit('before-send', h);
+ var y = h.url.includes('accelerate.'),
+ v = h.qs
+ ? Object.keys(h.qs)
+ .map(function (e) {
+ return ''.concat(e, '=').concat(h.qs[e]);
+ })
+ .join('&')
+ : '',
+ C = v ? h.url + '?' + v : h.url;
+ e.tracker && e.tracker.setParams({ reqUrl: C, accelerate: y ? 'Y' : 'N' }),
+ e.tracker && e.tracker.parent && e.tracker.parent.setParams({ reqUrl: C, accelerate: y ? 'Y' : 'N' });
+ var k = (n.options.Request || o)(h, function (e) {
+ if (!e || 'abort' !== e.error) {
+ var o = {
+ options: h,
+ error: e && e.error,
+ statusCode: (e && e.statusCode) || 0,
+ statusMessage: (e && e.statusMessage) || '',
+ headers: (e && e.headers) || {},
+ body: e && e.body,
+ };
+ n.emit('after-receive', o);
+ var a,
+ s = o.error,
+ c = o.body,
+ u = { statusCode: o.statusCode, statusMessage: o.statusMessage, headers: o.headers },
+ l = function (e, o) {
+ if ((r && n.off('inner-kill-task', S), !a)) {
+ a = !0;
+ var s = {};
+ u && u.statusCode && (s.statusCode = u.statusCode),
+ u && u.headers && (s.headers = u.headers),
+ e ? ((e = i.extend(e || {}, s)), t(e, null)) : ((o = i.extend(o || {}, s)), t(null, o)),
+ (k = null);
+ }
+ };
+ if (s) return l(i.error(s));
+ var d,
+ p = u.statusCode,
+ m = 2 === Math.floor(p / 100);
+ if (f && m) return l(null, { body: c });
+ try {
+ d = (c && c.indexOf('<') > -1 && c.indexOf('>') > -1 && i.xml2json(c)) || {};
+ } catch (e) {
+ d = {};
+ }
+ var g = d && d.Error;
+ m
+ ? l(null, d)
+ : g
+ ? l(i.error(new Error(g.Message), { code: g.Code, error: g }))
+ : p
+ ? l(i.error(new Error(u.statusMessage), { code: '' + p }))
+ : p && l(i.error(new Error('statusCode error')));
+ }
+ }),
+ S = function e(t) {
+ t.TaskId === r && (k && k.abort && k.abort(), n.off('inner-kill-task', e));
+ };
+ r && n.on('inner-kill-task', S);
+ }
+ }
+ var m = {
+ getService: function (e, t) {
+ 'function' == typeof e && ((t = e), (e = {}));
+ var n =
+ this.options.Protocol ||
+ (i.isBrowser &&
+ 'object' === ('undefined' == typeof location ? 'undefined' : r(location)) &&
+ 'http:' === location.protocol
+ ? 'http:'
+ : 'https:'),
+ o = this.options.ServiceDomain,
+ a = e.AppId || this.options.appId,
+ s = e.Region;
+ o
+ ? ((o = o
+ .replace(/\{\{AppId\}\}/gi, a || '')
+ .replace(/\{\{Region\}\}/gi, s || '')
+ .replace(/\{\{.*?\}\}/gi, '')),
+ /^[a-zA-Z]+:\/\//.test(o) || (o = n + '//' + o),
+ '/' === o.slice(-1) && (o = o.slice(0, -1)))
+ : (o = s ? n + '//cos.' + s + '.myqcloud.com' : n + '//service.cos.myqcloud.com');
+ var c = '',
+ u = s ? 'cos.' + s + '.myqcloud.com' : 'service.cos.myqcloud.com';
+ u === o.replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1') && (c = u),
+ f.call(
+ this,
+ { Action: 'name/cos:GetService', url: o, method: 'GET', headers: e.Headers, SignHost: c },
+ function (e, n) {
+ if (e) return t(e);
+ var r =
+ (n &&
+ n.ListAllMyBucketsResult &&
+ n.ListAllMyBucketsResult.Buckets &&
+ n.ListAllMyBucketsResult.Buckets.Bucket) ||
+ [];
+ r = i.isArray(r) ? r : [r];
+ var o = (n && n.ListAllMyBucketsResult && n.ListAllMyBucketsResult.Owner) || {};
+ t(null, { Buckets: r, Owner: o, statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucket: function (e, t) {
+ var n = this,
+ r = '';
+ if (e.BucketAZConfig) {
+ var o = { BucketAZConfig: e.BucketAZConfig };
+ r = i.json2xml({ CreateBucketConfiguration: o });
+ }
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucket',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ body: r,
+ },
+ function (r, o) {
+ if (r) return t(r);
+ var i = u({
+ protocol: n.options.Protocol,
+ domain: n.options.Domain,
+ bucket: e.Bucket,
+ region: e.Region,
+ isLocation: !0,
+ });
+ t(null, { Location: i, statusCode: o.statusCode, headers: o.headers });
+ },
+ );
+ },
+ headBucket: function (e, t) {
+ f.call(
+ this,
+ { Action: 'name/cos:HeadBucket', Bucket: e.Bucket, Region: e.Region, headers: e.Headers, method: 'HEAD' },
+ t,
+ );
+ },
+ getBucket: function (e, t) {
+ var n = {};
+ (n.prefix = e.Prefix || ''),
+ (n.delimiter = e.Delimiter),
+ (n.marker = e.Marker),
+ (n['max-keys'] = e.MaxKeys),
+ (n['encoding-type'] = e.EncodingType),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucket',
+ ResourceKey: n.prefix,
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ qs: n,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.ListBucketResult || {},
+ o = r.Contents || [],
+ a = r.CommonPrefixes || [];
+ (o = i.isArray(o) ? o : [o]), (a = i.isArray(a) ? a : [a]);
+ var s = i.clone(r);
+ i.extend(s, { Contents: o, CommonPrefixes: a, statusCode: n.statusCode, headers: n.headers }),
+ t(null, s);
+ },
+ );
+ },
+ deleteBucket: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucket',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ method: 'DELETE',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketAcl: function (e, t) {
+ var n = e.Headers,
+ r = '';
+ if (e.AccessControlPolicy) {
+ var o = i.clone(e.AccessControlPolicy || {}),
+ a = o.Grants || o.Grant;
+ (a = i.isArray(a) ? a : [a]),
+ delete o.Grant,
+ delete o.Grants,
+ (o.AccessControlList = { Grant: a }),
+ (r = i.json2xml({ AccessControlPolicy: o })),
+ (n['Content-Type'] = 'application/xml'),
+ (n['Content-MD5'] = i.b64(i.md5(r)));
+ }
+ i.each(n, function (e, t) {
+ 0 === t.indexOf('x-cos-grant-') && (n[t] = c(n[t]));
+ }),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketACL',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: n,
+ action: 'acl',
+ body: r,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketAcl: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketACL',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'acl',
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.AccessControlPolicy || {},
+ o = r.Owner || {},
+ a = r.AccessControlList.Grant || [];
+ a = i.isArray(a) ? a : [a];
+ var c = s(r);
+ n.headers && n.headers['x-cos-acl'] && (c.ACL = n.headers['x-cos-acl']),
+ (c = i.extend(c, { Owner: o, Grants: a, statusCode: n.statusCode, headers: n.headers })),
+ t(null, c);
+ },
+ );
+ },
+ putBucketCors: function (e, t) {
+ var n = (e.CORSConfiguration || {}).CORSRules || e.CORSRules || [];
+ (n = i.clone(i.isArray(n) ? n : [n])),
+ i.each(n, function (e) {
+ i.each(['AllowedOrigin', 'AllowedHeader', 'AllowedMethod', 'ExposeHeader'], function (t) {
+ var n = t + 's',
+ r = e[n] || e[t] || [];
+ delete e[n], (e[t] = i.isArray(r) ? r : [r]);
+ });
+ });
+ var r = { CORSRule: n };
+ e.ResponseVary && (r.ResponseVary = e.ResponseVary);
+ var o = i.json2xml({ CORSConfiguration: r }),
+ a = e.Headers;
+ (a['Content-Type'] = 'application/xml'),
+ (a['Content-MD5'] = i.b64(i.md5(o))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketCORS',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: o,
+ action: 'cors',
+ headers: a,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketCors: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketCORS',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'cors',
+ },
+ function (e, n) {
+ if (e)
+ if (404 === e.statusCode && e.error && 'NoSuchCORSConfiguration' === e.error.Code) {
+ var r = { CORSRules: [], statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ } else t(e);
+ else {
+ var o = n.CORSConfiguration || {},
+ a = o.CORSRules || o.CORSRule || [];
+ a = i.clone(i.isArray(a) ? a : [a]);
+ var s = o.ResponseVary;
+ i.each(a, function (e) {
+ i.each(['AllowedOrigin', 'AllowedHeader', 'AllowedMethod', 'ExposeHeader'], function (t) {
+ var n = t + 's',
+ r = e[n] || e[t] || [];
+ delete e[t], (e[n] = i.isArray(r) ? r : [r]);
+ });
+ }),
+ t(null, { CORSRules: a, ResponseVary: s, statusCode: n.statusCode, headers: n.headers });
+ }
+ },
+ );
+ },
+ deleteBucketCors: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketCORS',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'cors',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode || e.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketLocation: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketLocation',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'location',
+ },
+ t,
+ );
+ },
+ getBucketPolicy: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketPolicy',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'policy',
+ rawBody: !0,
+ },
+ function (e, n) {
+ if (e)
+ return e.statusCode && 403 === e.statusCode
+ ? t(i.error(e, { ErrorStatus: 'Access Denied' }))
+ : e.statusCode && 405 === e.statusCode
+ ? t(i.error(e, { ErrorStatus: 'Method Not Allowed' }))
+ : e.statusCode && 404 === e.statusCode
+ ? t(i.error(e, { ErrorStatus: 'Policy Not Found' }))
+ : t(e);
+ var r = {};
+ try {
+ r = JSON.parse(n.body);
+ } catch (e) {}
+ t(null, { Policy: r, statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketPolicy: function (e, t) {
+ var n = e.Policy;
+ try {
+ 'string' == typeof n && (n = JSON.parse(n));
+ } catch (e) {}
+ if (!n || 'string' == typeof n) return t(i.error(new Error('Policy format error')));
+ var r = JSON.stringify(n);
+ n.version || (n.version = '2.0');
+ var o = e.Headers;
+ (o['Content-Type'] = 'application/json'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketPolicy',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ action: 'policy',
+ body: r,
+ headers: o,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ deleteBucketPolicy: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketPolicy',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'policy',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode || e.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketTagging: function (e, t) {
+ var n = e.Tagging || {},
+ r = n.TagSet || n.Tags || e.Tags || [];
+ r = i.clone(i.isArray(r) ? r : [r]);
+ var o = i.json2xml({ Tagging: { TagSet: { Tag: r } } }),
+ a = e.Headers;
+ (a['Content-Type'] = 'application/xml'),
+ (a['Content-MD5'] = i.b64(i.md5(o))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketTagging',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: o,
+ action: 'tagging',
+ headers: a,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketTagging: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketTagging',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'tagging',
+ },
+ function (e, n) {
+ if (e)
+ if (404 !== e.statusCode || !e.error || ('Not Found' !== e.error && 'NoSuchTagSet' !== e.error.Code))
+ t(e);
+ else {
+ var r = { Tags: [], statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ }
+ else {
+ var o = [];
+ try {
+ o = n.Tagging.TagSet.Tag || [];
+ } catch (e) {}
+ (o = i.clone(i.isArray(o) ? o : [o])),
+ t(null, { Tags: o, statusCode: n.statusCode, headers: n.headers });
+ }
+ },
+ );
+ },
+ deleteBucketTagging: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketTagging',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'tagging',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketLifecycle: function (e, t) {
+ var n = (e.LifecycleConfiguration || {}).Rules || e.Rules || [];
+ n = i.clone(n);
+ var r = i.json2xml({ LifecycleConfiguration: { Rule: n } }),
+ o = e.Headers;
+ (o['Content-Type'] = 'application/xml'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketLifecycle',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: r,
+ action: 'lifecycle',
+ headers: o,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketLifecycle: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketLifecycle',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'lifecycle',
+ },
+ function (e, n) {
+ if (e)
+ if (404 === e.statusCode && e.error && 'NoSuchLifecycleConfiguration' === e.error.Code) {
+ var r = { Rules: [], statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ } else t(e);
+ else {
+ var o = [];
+ try {
+ o = n.LifecycleConfiguration.Rule || [];
+ } catch (e) {}
+ (o = i.clone(i.isArray(o) ? o : [o])),
+ t(null, { Rules: o, statusCode: n.statusCode, headers: n.headers });
+ }
+ },
+ );
+ },
+ deleteBucketLifecycle: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketLifecycle',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'lifecycle',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketVersioning: function (e, t) {
+ if (e.VersioningConfiguration) {
+ var n = e.VersioningConfiguration || {},
+ r = i.json2xml({ VersioningConfiguration: n }),
+ o = e.Headers;
+ (o['Content-Type'] = 'application/xml'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketVersioning',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: r,
+ action: 'versioning',
+ headers: o,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ } else t(i.error(new Error('missing param VersioningConfiguration')));
+ },
+ getBucketVersioning: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketVersioning',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'versioning',
+ },
+ function (e, n) {
+ e || (!n.VersioningConfiguration && (n.VersioningConfiguration = {})), t(e, n);
+ },
+ );
+ },
+ putBucketReplication: function (e, t) {
+ var n = i.clone(e.ReplicationConfiguration),
+ r = i.json2xml({ ReplicationConfiguration: n });
+ r = (r = r.replace(/<(\/?)Rules>/gi, '<$1Rule>')).replace(/<(\/?)Tags>/gi, '<$1Tag>');
+ var o = e.Headers;
+ (o['Content-Type'] = 'application/xml'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketReplication',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: r,
+ action: 'replication',
+ headers: o,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketReplication: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketReplication',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'replication',
+ },
+ function (e, n) {
+ if (e)
+ if (
+ 404 !== e.statusCode ||
+ !e.error ||
+ ('Not Found' !== e.error && 'ReplicationConfigurationnotFoundError' !== e.error.Code)
+ )
+ t(e);
+ else {
+ var r = { ReplicationConfiguration: { Rules: [] }, statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ }
+ else
+ !n.ReplicationConfiguration && (n.ReplicationConfiguration = {}),
+ n.ReplicationConfiguration.Rule &&
+ ((n.ReplicationConfiguration.Rules = i.makeArray(n.ReplicationConfiguration.Rule)),
+ delete n.ReplicationConfiguration.Rule),
+ t(e, n);
+ },
+ );
+ },
+ deleteBucketReplication: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketReplication',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'replication',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketWebsite: function (e, t) {
+ if (e.WebsiteConfiguration) {
+ var n = i.clone(e.WebsiteConfiguration || {}),
+ r = n.RoutingRules || n.RoutingRule || [];
+ (r = i.isArray(r) ? r : [r]),
+ delete n.RoutingRule,
+ delete n.RoutingRules,
+ r.length && (n.RoutingRules = { RoutingRule: r });
+ var o = i.json2xml({ WebsiteConfiguration: n }),
+ a = e.Headers;
+ (a['Content-Type'] = 'application/xml'),
+ (a['Content-MD5'] = i.b64(i.md5(o))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketWebsite',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: o,
+ action: 'website',
+ headers: a,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ } else t(i.error(new Error('missing param WebsiteConfiguration')));
+ },
+ getBucketWebsite: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketWebsite',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ action: 'website',
+ },
+ function (e, n) {
+ if (e)
+ if (404 === e.statusCode && 'NoSuchWebsiteConfiguration' === e.error.Code) {
+ var r = { WebsiteConfiguration: {}, statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ } else t(e);
+ else {
+ var o = n.WebsiteConfiguration || {};
+ if (o.RoutingRules) {
+ var a = i.clone(o.RoutingRules.RoutingRule || []);
+ (a = i.makeArray(a)), (o.RoutingRules = a);
+ }
+ t(null, { WebsiteConfiguration: o, statusCode: n.statusCode, headers: n.headers });
+ }
+ },
+ );
+ },
+ deleteBucketWebsite: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketWebsite',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'website',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketReferer: function (e, t) {
+ if (e.RefererConfiguration) {
+ var n = i.clone(e.RefererConfiguration || {}),
+ r = n.DomainList || {},
+ o = r.Domains || r.Domain || [];
+ (o = i.isArray(o) ? o : [o]).length && (n.DomainList = { Domain: o });
+ var a = i.json2xml({ RefererConfiguration: n }),
+ s = e.Headers;
+ (s['Content-Type'] = 'application/xml'),
+ (s['Content-MD5'] = i.b64(i.md5(a))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketReferer',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: a,
+ action: 'referer',
+ headers: s,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ } else t(i.error(new Error('missing param RefererConfiguration')));
+ },
+ getBucketReferer: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketReferer',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ action: 'referer',
+ },
+ function (e, n) {
+ if (e)
+ if (404 === e.statusCode && 'NoSuchRefererConfiguration' === e.error.Code) {
+ var r = { WebsiteConfiguration: {}, statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ } else t(e);
+ else {
+ var o = n.RefererConfiguration || {};
+ if (o.DomainList) {
+ var a = i.makeArray(o.DomainList.Domain || []);
+ o.DomainList = { Domains: a };
+ }
+ t(null, { RefererConfiguration: o, statusCode: n.statusCode, headers: n.headers });
+ }
+ },
+ );
+ },
+ putBucketDomain: function (e, t) {
+ var n = (e.DomainConfiguration || {}).DomainRule || e.DomainRule || [];
+ n = i.clone(n);
+ var r = i.json2xml({ DomainConfiguration: { DomainRule: n } }),
+ o = e.Headers;
+ (o['Content-Type'] = 'application/xml'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketDomain',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: r,
+ action: 'domain',
+ headers: o,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketDomain: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketDomain',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'domain',
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = [];
+ try {
+ r = n.DomainConfiguration.DomainRule || [];
+ } catch (e) {}
+ (r = i.clone(i.isArray(r) ? r : [r])),
+ t(null, { DomainRule: r, statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ deleteBucketDomain: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketDomain',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'domain',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketOrigin: function (e, t) {
+ var n = (e.OriginConfiguration || {}).OriginRule || e.OriginRule || [];
+ n = i.clone(n);
+ var r = i.json2xml({ OriginConfiguration: { OriginRule: n } }),
+ o = e.Headers;
+ (o['Content-Type'] = 'application/xml'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketOrigin',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: r,
+ action: 'origin',
+ headers: o,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketOrigin: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketOrigin',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'origin',
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = [];
+ try {
+ r = n.OriginConfiguration.OriginRule || [];
+ } catch (e) {}
+ (r = i.clone(i.isArray(r) ? r : [r])),
+ t(null, { OriginRule: r, statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ deleteBucketOrigin: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketOrigin',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'origin',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketLogging: function (e, t) {
+ var n = i.json2xml({ BucketLoggingStatus: e.BucketLoggingStatus || '' }),
+ r = e.Headers;
+ (r['Content-Type'] = 'application/xml'),
+ (r['Content-MD5'] = i.b64(i.md5(n))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketLogging',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: n,
+ action: 'logging',
+ headers: r,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketLogging: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketLogging',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'logging',
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, { BucketLoggingStatus: n.BucketLoggingStatus, statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketInventory: function (e, t) {
+ return a.call(this, 'PUT', e, t);
+ },
+ postBucketInventory: function (e, t) {
+ return a.call(this, 'POST', e, t);
+ },
+ getBucketInventory: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketInventory',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'inventory',
+ qs: { id: e.Id },
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.InventoryConfiguration;
+ if (r && r.OptionalFields && r.OptionalFields.Field) {
+ var o = r.OptionalFields.Field;
+ i.isArray(o) || (o = [o]), (r.OptionalFields = o);
+ }
+ if (
+ r.Destination &&
+ r.Destination.COSBucketDestination &&
+ r.Destination.COSBucketDestination.Encryption
+ ) {
+ var a = r.Destination.COSBucketDestination.Encryption;
+ Object.keys(a).indexOf('SSE-COS') > -1 && ((a.SSECOS = a['SSE-COS']), delete a['SSE-COS']);
+ }
+ t(null, { InventoryConfiguration: r, statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ listBucketInventory: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:ListBucketInventory',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'inventory',
+ qs: { 'continuation-token': e.ContinuationToken },
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.ListInventoryConfigurationResult,
+ o = r.InventoryConfiguration || [];
+ (o = i.isArray(o) ? o : [o]),
+ delete r.InventoryConfiguration,
+ i.each(o, function (e) {
+ if (e && e.OptionalFields && e.OptionalFields.Field) {
+ var t = e.OptionalFields.Field;
+ i.isArray(t) || (t = [t]), (e.OptionalFields = t);
+ }
+ if (
+ e.Destination &&
+ e.Destination.COSBucketDestination &&
+ e.Destination.COSBucketDestination.Encryption
+ ) {
+ var n = e.Destination.COSBucketDestination.Encryption;
+ Object.keys(n).indexOf('SSE-COS') > -1 && ((n.SSECOS = n['SSE-COS']), delete n['SSE-COS']);
+ }
+ }),
+ (r.InventoryConfigurations = o),
+ i.extend(r, { statusCode: n.statusCode, headers: n.headers }),
+ t(null, r);
+ },
+ );
+ },
+ deleteBucketInventory: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketInventory',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'inventory',
+ qs: { id: e.Id },
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ putBucketAccelerate: function (e, t) {
+ if (e.AccelerateConfiguration) {
+ var n = { AccelerateConfiguration: e.AccelerateConfiguration || {} },
+ r = i.json2xml(n),
+ o = { 'Content-Type': 'application/xml' };
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketAccelerate',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: r,
+ action: 'accelerate',
+ headers: o,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ } else t(i.error(new Error('missing param AccelerateConfiguration')));
+ },
+ getBucketAccelerate: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketAccelerate',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ action: 'accelerate',
+ },
+ function (e, n) {
+ e || (!n.AccelerateConfiguration && (n.AccelerateConfiguration = {})), t(e, n);
+ },
+ );
+ },
+ putBucketEncryption: function (e, t) {
+ var n = e.ServerSideEncryptionConfiguration || {},
+ r = n.Rule || n.Rules || [],
+ o = i.json2xml({ ServerSideEncryptionConfiguration: { Rule: r } }),
+ a = e.Headers;
+ (a['Content-Type'] = 'application/xml'),
+ (a['Content-MD5'] = i.b64(i.md5(o))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutBucketEncryption',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ body: o,
+ action: 'encryption',
+ headers: a,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getBucketEncryption: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketEncryption',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'encryption',
+ },
+ function (e, n) {
+ if (e)
+ if (404 === e.statusCode && 'NoSuchEncryptionConfiguration' === e.code) {
+ var r = { EncryptionConfiguration: { Rules: [] }, statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ } else t(e);
+ else {
+ var o = i.makeArray((n.EncryptionConfiguration && n.EncryptionConfiguration.Rule) || []);
+ (n.EncryptionConfiguration = { Rules: o }), t(e, n);
+ }
+ },
+ );
+ },
+ deleteBucketEncryption: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteBucketReplication',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'encryption',
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getObject: function (e, t) {
+ var n = e.Query || {},
+ r = e.QueryString || '',
+ o = i.throttleOnProgress.call(this, 0, e.onProgress),
+ a = e.tracker;
+ a && a.setParams({ signStartTime: new Date().getTime() }),
+ (n['response-content-type'] = e.ResponseContentType),
+ (n['response-content-language'] = e.ResponseContentLanguage),
+ (n['response-expires'] = e.ResponseExpires),
+ (n['response-cache-control'] = e.ResponseCacheControl),
+ (n['response-content-disposition'] = e.ResponseContentDisposition),
+ (n['response-content-encoding'] = e.ResponseContentEncoding),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetObject',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ VersionId: e.VersionId,
+ DataType: e.DataType,
+ headers: e.Headers,
+ qs: n,
+ qsStr: r,
+ rawBody: !0,
+ onDownloadProgress: o,
+ tracker: a,
+ },
+ function (n, r) {
+ if ((o(null, !0), n)) {
+ var a = n.statusCode;
+ return e.Headers['If-Modified-Since'] && a && 304 === a ? t(null, { NotModified: !0 }) : t(n);
+ }
+ t(null, {
+ Body: r.body,
+ ETag: i.attr(r.headers, 'etag', ''),
+ statusCode: r.statusCode,
+ headers: r.headers,
+ });
+ },
+ );
+ },
+ headObject: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:HeadObject',
+ method: 'HEAD',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ VersionId: e.VersionId,
+ headers: e.Headers,
+ },
+ function (n, r) {
+ if (n) {
+ var o = n.statusCode;
+ return e.Headers['If-Modified-Since'] && o && 304 === o
+ ? t(null, { NotModified: !0, statusCode: o })
+ : t(n);
+ }
+ (r.ETag = i.attr(r.headers, 'etag', '')), t(null, r);
+ },
+ );
+ },
+ listObjectVersions: function (e, t) {
+ var n = {};
+ (n.prefix = e.Prefix || ''),
+ (n.delimiter = e.Delimiter),
+ (n['key-marker'] = e.KeyMarker),
+ (n['version-id-marker'] = e.VersionIdMarker),
+ (n['max-keys'] = e.MaxKeys),
+ (n['encoding-type'] = e.EncodingType),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetBucketObjectVersions',
+ ResourceKey: n.prefix,
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ qs: n,
+ action: 'versions',
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.ListVersionsResult || {},
+ o = r.DeleteMarker || [];
+ o = i.isArray(o) ? o : [o];
+ var a = r.Version || [];
+ a = i.isArray(a) ? a : [a];
+ var s = i.clone(r);
+ delete s.DeleteMarker,
+ delete s.Version,
+ i.extend(s, { DeleteMarkers: o, Versions: a, statusCode: n.statusCode, headers: n.headers }),
+ t(null, s);
+ },
+ );
+ },
+ putObject: function (e, t) {
+ var n = this,
+ r = e.ContentLength,
+ o = i.throttleOnProgress.call(n, r, e.onProgress),
+ a = e.Headers;
+ a['Cache-Control'] || a['cache-control'] || (a['Cache-Control'] = ''),
+ a['Content-Type'] || a['content-type'] || (a['Content-Type'] = (e.Body && e.Body.type) || '');
+ var s = e.UploadAddMetaMd5 || n.options.UploadAddMetaMd5 || n.options.UploadCheckContentMd5,
+ c = e.tracker;
+ s && c && c.setParams({ md5StartTime: new Date().getTime() }),
+ i.getBodyMd5(
+ s,
+ e.Body,
+ function (s) {
+ s &&
+ (c && c.setParams({ md5EndTime: new Date().getTime() }),
+ n.options.UploadCheckContentMd5 && (a['Content-MD5'] = i.b64(s)),
+ (e.UploadAddMetaMd5 || n.options.UploadAddMetaMd5) && (a['x-cos-meta-md5'] = s)),
+ void 0 !== e.ContentLength && (a['Content-Length'] = e.ContentLength),
+ o(null, !0),
+ f.call(
+ n,
+ {
+ Action: 'name/cos:PutObject',
+ TaskId: e.TaskId,
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ qs: e.Query,
+ body: e.Body,
+ onProgress: o,
+ tracker: c,
+ },
+ function (a, s) {
+ if (a) return o(null, !0), t(a);
+ o({ loaded: r, total: r }, !0);
+ var c = u({
+ ForcePathStyle: n.options.ForcePathStyle,
+ protocol: n.options.Protocol,
+ domain: n.options.Domain,
+ bucket: e.Bucket,
+ region: n.options.UseAccelerate ? 'accelerate' : e.Region,
+ object: e.Key,
+ });
+ (c = c.substr(c.indexOf('://') + 3)),
+ (s.Location = c),
+ (s.ETag = i.attr(s.headers, 'etag', '')),
+ t(null, s);
+ },
+ );
+ },
+ e.onHashProgress,
+ );
+ },
+ deleteObject: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteObject',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ VersionId: e.VersionId,
+ action: e.Recursive ? 'recursive' : '',
+ },
+ function (e, n) {
+ if (e) {
+ var r = e.statusCode;
+ return r && 404 === r ? t(null, { BucketNotFound: !0, statusCode: r }) : t(e);
+ }
+ t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getObjectAcl: function (e, t) {
+ var n = {};
+ e.VersionId && (n.versionId = e.VersionId),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetObjectACL',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ qs: n,
+ action: 'acl',
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.AccessControlPolicy || {},
+ o = r.Owner || {},
+ a = (r.AccessControlList && r.AccessControlList.Grant) || [];
+ a = i.isArray(a) ? a : [a];
+ var c = s(r);
+ delete c.GrantWrite,
+ n.headers && n.headers['x-cos-acl'] && (c.ACL = n.headers['x-cos-acl']),
+ (c = i.extend(c, { Owner: o, Grants: a, statusCode: n.statusCode, headers: n.headers })),
+ t(null, c);
+ },
+ );
+ },
+ putObjectAcl: function (e, t) {
+ var n = e.Headers,
+ r = '';
+ if (e.AccessControlPolicy) {
+ var o = i.clone(e.AccessControlPolicy || {}),
+ a = o.Grants || o.Grant;
+ (a = i.isArray(a) ? a : [a]),
+ delete o.Grant,
+ delete o.Grants,
+ (o.AccessControlList = { Grant: a }),
+ (r = i.json2xml({ AccessControlPolicy: o })),
+ (n['Content-Type'] = 'application/xml'),
+ (n['Content-MD5'] = i.b64(i.md5(r)));
+ }
+ i.each(n, function (e, t) {
+ 0 === t.indexOf('x-cos-grant-') && (n[t] = c(n[t]));
+ }),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutObjectACL',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ action: 'acl',
+ headers: n,
+ body: r,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ optionsObject: function (e, t) {
+ var n = e.Headers;
+ (n.Origin = e.Origin),
+ (n['Access-Control-Request-Method'] = e.AccessControlRequestMethod),
+ (n['Access-Control-Request-Headers'] = e.AccessControlRequestHeaders),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:OptionsObject',
+ method: 'OPTIONS',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: n,
+ },
+ function (e, n) {
+ if (e)
+ return e.statusCode && 403 === e.statusCode
+ ? t(null, { OptionsForbidden: !0, statusCode: e.statusCode })
+ : t(e);
+ var r = n.headers || {};
+ t(null, {
+ AccessControlAllowOrigin: r['access-control-allow-origin'],
+ AccessControlAllowMethods: r['access-control-allow-methods'],
+ AccessControlAllowHeaders: r['access-control-allow-headers'],
+ AccessControlExposeHeaders: r['access-control-expose-headers'],
+ AccessControlMaxAge: r['access-control-max-age'],
+ statusCode: n.statusCode,
+ headers: n.headers,
+ });
+ },
+ );
+ },
+ putObjectCopy: function (e, t) {
+ var n = this,
+ r = e.Headers;
+ r['Cache-Control'] || r['cache-control'] || (r['Cache-Control'] = '');
+ var o = e.CopySource || '',
+ a = i.getSourceParams.call(this, o);
+ if (a) {
+ var s = a.Bucket,
+ c = a.Region,
+ l = decodeURIComponent(a.Key);
+ f.call(
+ this,
+ {
+ Scope: [
+ { action: 'name/cos:GetObject', bucket: s, region: c, prefix: l },
+ { action: 'name/cos:PutObject', bucket: e.Bucket, region: e.Region, prefix: e.Key },
+ ],
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ VersionId: e.VersionId,
+ headers: e.Headers,
+ },
+ function (r, o) {
+ if (r) return t(r);
+ var a = i.clone(o.CopyObjectResult || {}),
+ s = u({
+ ForcePathStyle: n.options.ForcePathStyle,
+ protocol: n.options.Protocol,
+ domain: n.options.Domain,
+ bucket: e.Bucket,
+ region: e.Region,
+ object: e.Key,
+ isLocation: !0,
+ });
+ i.extend(a, { Location: s, statusCode: o.statusCode, headers: o.headers }), t(null, a);
+ },
+ );
+ } else t(i.error(new Error('CopySource format error')));
+ },
+ deleteMultipleObject: function (e, t) {
+ var n = e.Objects || [],
+ r = e.Quiet;
+ n = i.isArray(n) ? n : [n];
+ var o = i.json2xml({ Delete: { Object: n, Quiet: r || !1 } }),
+ a = e.Headers;
+ (a['Content-Type'] = 'application/xml'), (a['Content-MD5'] = i.b64(i.md5(o)));
+ var s = i.map(n, function (t) {
+ return { action: 'name/cos:DeleteObject', bucket: e.Bucket, region: e.Region, prefix: t.Key };
+ });
+ f.call(
+ this,
+ { Scope: s, method: 'POST', Bucket: e.Bucket, Region: e.Region, body: o, action: 'delete', headers: a },
+ function (e, n) {
+ if (e) return t(e);
+ var r = n.DeleteResult || {},
+ o = r.Deleted || [],
+ a = r.Error || [];
+ (o = i.isArray(o) ? o : [o]), (a = i.isArray(a) ? a : [a]);
+ var s = i.clone(r);
+ i.extend(s, { Error: a, Deleted: o, statusCode: n.statusCode, headers: n.headers }), t(null, s);
+ },
+ );
+ },
+ restoreObject: function (e, t) {
+ var n = e.Headers;
+ if (e.RestoreRequest) {
+ var r = e.RestoreRequest || {},
+ o = i.json2xml({ RestoreRequest: r });
+ (n['Content-Type'] = 'application/xml'),
+ (n['Content-MD5'] = i.b64(i.md5(o))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:RestoreObject',
+ method: 'POST',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ VersionId: e.VersionId,
+ body: o,
+ action: 'restore',
+ headers: n,
+ },
+ t,
+ );
+ } else t(i.error(new Error('missing param RestoreRequest')));
+ },
+ putObjectTagging: function (e, t) {
+ var n = e.Tagging || {},
+ r = n.TagSet || n.Tags || e.Tags || [];
+ r = i.clone(i.isArray(r) ? r : [r]);
+ var o = i.json2xml({ Tagging: { TagSet: { Tag: r } } }),
+ a = e.Headers;
+ (a['Content-Type'] = 'application/xml'),
+ (a['Content-MD5'] = i.b64(i.md5(o))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:PutObjectTagging',
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Key: e.Key,
+ Region: e.Region,
+ body: o,
+ action: 'tagging',
+ headers: a,
+ VersionId: e.VersionId,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ getObjectTagging: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetObjectTagging',
+ method: 'GET',
+ Key: e.Key,
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ action: 'tagging',
+ VersionId: e.VersionId,
+ },
+ function (e, n) {
+ if (e)
+ if (404 !== e.statusCode || !e.error || ('Not Found' !== e.error && 'NoSuchTagSet' !== e.error.Code))
+ t(e);
+ else {
+ var r = { Tags: [], statusCode: e.statusCode };
+ e.headers && (r.headers = e.headers), t(null, r);
+ }
+ else {
+ var o = [];
+ try {
+ o = n.Tagging.TagSet.Tag || [];
+ } catch (e) {}
+ (o = i.clone(i.isArray(o) ? o : [o])),
+ t(null, { Tags: o, statusCode: n.statusCode, headers: n.headers });
+ }
+ },
+ );
+ },
+ deleteObjectTagging: function (e, t) {
+ f.call(
+ this,
+ {
+ Action: 'name/cos:DeleteObjectTagging',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ action: 'tagging',
+ VersionId: e.VersionId,
+ },
+ function (e, n) {
+ return e && 204 === e.statusCode
+ ? t(null, { statusCode: e.statusCode })
+ : e
+ ? t(e)
+ : void t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ selectObjectContent: function (e, t) {
+ if (!e.SelectType) return t(i.error(new Error('missing param SelectType')));
+ var n = e.SelectRequest || {},
+ r = i.json2xml({ SelectRequest: n }),
+ o = e.Headers;
+ (o['Content-Type'] = 'application/xml'),
+ (o['Content-MD5'] = i.b64(i.md5(r))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:GetObject',
+ method: 'POST',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ action: 'select',
+ qs: { 'select-type': e.SelectType },
+ VersionId: e.VersionId,
+ body: r,
+ DataType: 'arraybuffer',
+ rawBody: !0,
+ },
+ function (e, n) {
+ if (e && 204 === e.statusCode) return t(null, { statusCode: e.statusCode });
+ if (e) return t(e);
+ var r = i.parseSelectPayload(n.body);
+ t(null, { statusCode: n.statusCode, headers: n.headers, Body: r.body, Payload: r.payload });
+ },
+ );
+ },
+ appendObject: function (e, t) {
+ var n = e.Headers;
+ n['Cache-Control'] || n['cache-control'] || (n['Cache-Control'] = ''),
+ n['Content-Type'] || n['content-type'] || (n['Content-Type'] = (e.Body && e.Body.type) || ''),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:AppendObject',
+ method: 'POST',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ action: 'append',
+ Key: e.Key,
+ body: e.Body,
+ qs: { position: e.Position },
+ headers: e.Headers,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, n);
+ },
+ );
+ },
+ uploadPartCopy: function (e, t) {
+ var n = e.CopySource || '',
+ r = i.getSourceParams.call(this, n);
+ if (r) {
+ var o = r.Bucket,
+ a = r.Region,
+ s = decodeURIComponent(r.Key);
+ f.call(
+ this,
+ {
+ Scope: [
+ { action: 'name/cos:GetObject', bucket: o, region: a, prefix: s },
+ { action: 'name/cos:PutObject', bucket: e.Bucket, region: e.Region, prefix: e.Key },
+ ],
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ VersionId: e.VersionId,
+ qs: { partNumber: e.PartNumber, uploadId: e.UploadId },
+ headers: e.Headers,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ var r = i.clone(n.CopyPartResult || {});
+ i.extend(r, { statusCode: n.statusCode, headers: n.headers }), t(null, r);
+ },
+ );
+ } else t(i.error(new Error('CopySource format error')));
+ },
+ multipartInit: function (e, t) {
+ var n = this,
+ r = e.Headers,
+ o = e.tracker;
+ r['Cache-Control'] || r['cache-control'] || (r['Cache-Control'] = ''),
+ r['Content-Type'] || r['content-type'] || (r['Content-Type'] = (e.Body && e.Body.type) || '');
+ var a = e.Body && (e.UploadAddMetaMd5 || n.options.UploadAddMetaMd5);
+ a && o && o.setParams({ md5StartTime: new Date().getTime() }),
+ i.getBodyMd5(
+ a,
+ e.Body,
+ function (r) {
+ r && (e.Headers['x-cos-meta-md5'] = r),
+ a && o && o.setParams({ md5EndTime: new Date().getTime() }),
+ f.call(
+ n,
+ {
+ Action: 'name/cos:InitiateMultipartUpload',
+ method: 'POST',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ action: 'uploads',
+ headers: e.Headers,
+ qs: e.Query,
+ tracker: o,
+ },
+ function (e, n) {
+ return e
+ ? (o && o.parent && o.parent.setParams({ errorNode: 'multipartInit' }), t(e))
+ : (n = i.clone(n || {})) && n.InitiateMultipartUploadResult
+ ? t(
+ null,
+ i.extend(n.InitiateMultipartUploadResult, { statusCode: n.statusCode, headers: n.headers }),
+ )
+ : void t(null, n);
+ },
+ );
+ },
+ e.onHashProgress,
+ );
+ },
+ multipartUpload: function (e, t) {
+ var n = this;
+ i.getFileSize('multipartUpload', e, function () {
+ var r = e.tracker,
+ o = n.options.UploadCheckContentMd5;
+ o && r && r.setParams({ md5StartTime: new Date().getTime() }),
+ i.getBodyMd5(o, e.Body, function (a) {
+ a && (e.Headers['Content-MD5'] = i.b64(a)),
+ o && r && r.setParams({ md5EndTime: new Date().getTime() }),
+ r && r.setParams({ partNumber: e.PartNumber }),
+ f.call(
+ n,
+ {
+ Action: 'name/cos:UploadPart',
+ TaskId: e.TaskId,
+ method: 'PUT',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ qs: { partNumber: e.PartNumber, uploadId: e.UploadId },
+ headers: e.Headers,
+ onProgress: e.onProgress,
+ body: e.Body || null,
+ tracker: r,
+ },
+ function (e, n) {
+ if (e) return r && r.parent && r.parent.setParams({ errorNode: 'multipartUpload' }), t(e);
+ t(null, { ETag: i.attr(n.headers, 'etag', ''), statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ });
+ });
+ },
+ multipartComplete: function (e, t) {
+ for (var n = this, r = e.UploadId, o = e.Parts, a = e.tracker, s = 0, c = o.length; s < c; s++)
+ (o[s].ETag && 0 === o[s].ETag.indexOf('"')) || (o[s].ETag = '"' + o[s].ETag + '"');
+ var l = i.json2xml({ CompleteMultipartUpload: { Part: o } });
+ l = l.replace(/\n\s*/g, '');
+ var d = e.Headers;
+ (d['Content-Type'] = 'application/xml'),
+ (d['Content-MD5'] = i.b64(i.md5(l))),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:CompleteMultipartUpload',
+ method: 'POST',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ qs: { uploadId: r },
+ body: l,
+ headers: d,
+ tracker: a,
+ },
+ function (r, o) {
+ if (r) return a && a.parent && a.parent.setParams({ errorNode: 'multipartComplete' }), t(r);
+ var s = u({
+ ForcePathStyle: n.options.ForcePathStyle,
+ protocol: n.options.Protocol,
+ domain: n.options.Domain,
+ bucket: e.Bucket,
+ region: e.Region,
+ object: e.Key,
+ isLocation: !0,
+ }),
+ c = o.CompleteMultipartUploadResult || {};
+ c.ProcessResults &&
+ c &&
+ c.ProcessResults &&
+ ((c.UploadResult = {
+ OriginalInfo: { Key: c.Key, Location: s, ETag: c.ETag, ImageInfo: c.ImageInfo },
+ ProcessResults: c.ProcessResults,
+ }),
+ delete c.ImageInfo,
+ delete c.ProcessResults);
+ var l = i.extend(c, { Location: s, statusCode: o.statusCode, headers: o.headers });
+ t(null, l);
+ },
+ );
+ },
+ multipartList: function (e, t) {
+ var n = {};
+ (n.delimiter = e.Delimiter),
+ (n['encoding-type'] = e.EncodingType),
+ (n.prefix = e.Prefix || ''),
+ (n['max-uploads'] = e.MaxUploads),
+ (n['key-marker'] = e.KeyMarker),
+ (n['upload-id-marker'] = e.UploadIdMarker),
+ (n = i.clearKey(n));
+ var r = e.tracker;
+ r && r.setParams({ signStartTime: new Date().getTime() }),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:ListMultipartUploads',
+ ResourceKey: n.prefix,
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ headers: e.Headers,
+ qs: n,
+ action: 'uploads',
+ tracker: r,
+ },
+ function (e, n) {
+ if (e) return r && r.parent && r.parent.setParams({ errorNode: 'multipartList' }), t(e);
+ if (n && n.ListMultipartUploadsResult) {
+ var o = n.ListMultipartUploadsResult.Upload || [];
+ (o = i.isArray(o) ? o : [o]), (n.ListMultipartUploadsResult.Upload = o);
+ }
+ var a = i.clone(n.ListMultipartUploadsResult || {});
+ i.extend(a, { statusCode: n.statusCode, headers: n.headers }), t(null, a);
+ },
+ );
+ },
+ multipartListPart: function (e, t) {
+ var n = {},
+ r = e.tracker;
+ (n.uploadId = e.UploadId),
+ (n['encoding-type'] = e.EncodingType),
+ (n['max-parts'] = e.MaxParts),
+ (n['part-number-marker'] = e.PartNumberMarker),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:ListParts',
+ method: 'GET',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ qs: n,
+ },
+ function (e, n) {
+ if (e) return r && r.parent && r.parent.setParams({ errorNode: 'multipartListPart' }), t(e);
+ var o = n.ListPartsResult || {},
+ a = o.Part || [];
+ (a = i.isArray(a) ? a : [a]), (o.Part = a);
+ var s = i.clone(o);
+ i.extend(s, { statusCode: n.statusCode, headers: n.headers }), t(null, s);
+ },
+ );
+ },
+ multipartAbort: function (e, t) {
+ var n = {};
+ (n.uploadId = e.UploadId),
+ f.call(
+ this,
+ {
+ Action: 'name/cos:AbortMultipartUpload',
+ method: 'DELETE',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ headers: e.Headers,
+ qs: n,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ t(null, { statusCode: n.statusCode, headers: n.headers });
+ },
+ );
+ },
+ request: function (e, t) {
+ f.call(
+ this,
+ {
+ method: e.Method,
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ action: e.Action,
+ headers: e.Headers,
+ qs: e.Query,
+ body: e.Body,
+ Url: e.Url,
+ rawBody: e.RawBody,
+ DataType: e.DataType,
+ },
+ function (e, n) {
+ if (e) return t(e);
+ n && n.body && ((n.Body = n.body), delete n.body), t(e, n);
+ },
+ );
+ },
+ getObjectUrl: function (e, t) {
+ var n = this,
+ r = void 0 === e.UseAccelerate ? n.options.UseAccelerate : e.UseAccelerate,
+ o = u({
+ ForcePathStyle: n.options.ForcePathStyle,
+ protocol: e.Protocol || n.options.Protocol,
+ domain: e.Domain || n.options.Domain,
+ bucket: e.Bucket,
+ region: r ? 'accelerate' : e.Region,
+ object: e.Key,
+ }),
+ a = '';
+ e.Query && (a += i.obj2str(e.Query)), e.QueryString && (a += (a ? '&' : '') + e.QueryString);
+ var s = o;
+ if (void 0 !== e.Sign && !e.Sign) return a && (s += '?' + a), t(null, { Url: s }), s;
+ var c = l.call(this, { Bucket: e.Bucket, Region: e.Region, UseAccelerate: e.UseAccelerate, Url: o }),
+ p = d.call(
+ this,
+ {
+ Action: 'PUT' === (e.Method || '').toUpperCase() ? 'name/cos:PutObject' : 'name/cos:GetObject',
+ Bucket: e.Bucket || '',
+ Region: e.Region || '',
+ Method: e.Method || 'get',
+ Key: e.Key,
+ Expires: e.Expires,
+ Headers: e.Headers,
+ Query: e.Query,
+ SignHost: c,
+ ForceSignHost: !1 !== e.ForceSignHost && n.options.ForceSignHost,
+ },
+ function (e, n) {
+ if (t)
+ if (e) t(e);
+ else {
+ var r = o;
+ (r +=
+ '?' +
+ (n.Authorization.indexOf('q-signature') > -1
+ ? (function (e) {
+ var t = e.match(/q-url-param-list.*?(?=&)/g)[0],
+ n =
+ 'q-url-param-list=' +
+ encodeURIComponent(t.replace(/q-url-param-list=/, '')).toLowerCase(),
+ r = new RegExp(t, 'g');
+ return e.replace(r, n);
+ })(n.Authorization)
+ : 'sign=' + encodeURIComponent(n.Authorization))),
+ n.SecurityToken && (r += '&x-cos-security-token=' + n.SecurityToken),
+ n.ClientIP && (r += '&clientIP=' + n.ClientIP),
+ n.ClientUA && (r += '&clientUA=' + n.ClientUA),
+ n.Token && (r += '&token=' + n.Token),
+ a && (r += '&' + a),
+ setTimeout(function () {
+ t(null, { Url: r });
+ });
+ }
+ },
+ );
+ return (
+ p
+ ? ((s += '?' + p.Authorization + (p.SecurityToken ? '&x-cos-security-token=' + p.SecurityToken : '')),
+ a && (s += '&' + a))
+ : a && (s += '?' + a),
+ s
+ );
+ },
+ getAuth: function (e) {
+ return i.getAuth({
+ SecretId: e.SecretId || this.options.SecretId || '',
+ SecretKey: e.SecretKey || this.options.SecretKey || '',
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Method: e.Method,
+ Key: e.Key,
+ Query: e.Query,
+ Headers: e.Headers,
+ Expires: e.Expires,
+ UseRawKey: this.options.UseRawKey,
+ SystemClockOffset: this.options.SystemClockOffset,
+ });
+ },
+ };
+ e.exports.init = function (e, t) {
+ t.transferToTaskMethod(m, 'putObject'),
+ i.each(m, function (t, n) {
+ (e.prototype[n] = i.apiWrapper(n, t)),
+ (function (e, t, n) {
+ i.each(['Cors', 'Acl'], function (r) {
+ if (e.slice(-r.length) === r) {
+ var o = e.slice(0, -r.length) + r.toUpperCase(),
+ a = i.apiWrapper(e, t);
+ n[o] = function () {
+ a.apply(this, arguments);
+ };
+ }
+ });
+ })(n, t, e.prototype);
+ });
+ };
+ },
+ function (e, t, n) {
+ var r = n(0),
+ o = function (e) {
+ switch (r(e)) {
+ case 'string':
+ return e;
+ case 'boolean':
+ return e ? 'true' : 'false';
+ case 'number':
+ return isFinite(e) ? e : '';
+ default:
+ return '';
+ }
+ },
+ i = function (e, t, n) {
+ var r = {};
+ return (
+ t
+ .getAllResponseHeaders()
+ .trim()
+ .split('\n')
+ .forEach(function (e) {
+ if (e) {
+ var t = e.indexOf(':'),
+ n = e.substr(0, t).trim().toLowerCase(),
+ o = e.substr(t + 1).trim();
+ r[n] = o;
+ }
+ }),
+ { error: e, statusCode: t.status, statusMessage: t.statusText, headers: r, body: n }
+ );
+ },
+ a = function (e, t) {
+ return t || 'text' !== t ? e.response : e.responseText;
+ };
+ e.exports = function (e, t) {
+ var n,
+ s,
+ c,
+ u,
+ l = (e.method || 'GET').toUpperCase(),
+ d = e.url;
+ if (e.qs) {
+ var p =
+ ((n = e.qs),
+ (s = s || '&'),
+ (c = c || '='),
+ null === n && (n = void 0),
+ 'object' === r(n)
+ ? Object.keys(n)
+ .map(function (e) {
+ var t = encodeURIComponent(o(e)) + c;
+ return Array.isArray(n[e])
+ ? n[e]
+ .map(function (e) {
+ return t + encodeURIComponent(o(e));
+ })
+ .join(s)
+ : t + encodeURIComponent(o(n[e]));
+ })
+ .filter(Boolean)
+ .join(s)
+ : u
+ ? encodeURIComponent(o(u)) + c + encodeURIComponent(o(n))
+ : '');
+ p && (d += (-1 === d.indexOf('?') ? '?' : '&') + p);
+ }
+ var f = new XMLHttpRequest();
+ if ((f.open(l, d, !0), (f.responseType = e.dataType || 'text'), e.xhrFields))
+ for (var h in e.xhrFields) f[h] = e.xhrFields[h];
+ var m = e.headers;
+ if (m)
+ for (var g in m)
+ m.hasOwnProperty(g) &&
+ 'content-length' !== g.toLowerCase() &&
+ 'user-agent' !== g.toLowerCase() &&
+ 'origin' !== g.toLowerCase() &&
+ 'host' !== g.toLowerCase() &&
+ f.setRequestHeader(g, m[g]);
+ return (
+ e.onProgress && f.upload && (f.upload.onprogress = e.onProgress),
+ e.onDownloadProgress && (f.onprogress = e.onDownloadProgress),
+ e.timeout && (f.timeout = e.timeout),
+ (f.ontimeout = function (e) {
+ var n = new Error('timeout');
+ t(i(n, f));
+ }),
+ (f.onload = function () {
+ t(i(null, f, a(f, e.dataType)));
+ }),
+ (f.onerror = function (n) {
+ var r = a(f, e.dataType);
+ if (r) t(i(null, f, r));
+ else {
+ var o = f.statusText;
+ o || 0 !== f.status || (o = new Error('CORS blocked or network error')), t(i(o, f, r));
+ }
+ }),
+ f.send(e.body || ''),
+ f
+ );
+ };
+ },
+ function (e, t, n) {
+ var r = n(0),
+ o = n(9),
+ i = n(30),
+ a = n(8).EventProxy,
+ s = n(1),
+ c = n(6);
+ function u(e, t) {
+ var n = e.TaskId,
+ r = e.Bucket,
+ c = e.Region,
+ u = e.Key,
+ p = e.StorageClass,
+ f = this,
+ h = {},
+ m = e.FileSize,
+ g = e.SliceSize,
+ y = Math.ceil(m / g),
+ v = 0,
+ C = s.throttleOnProgress.call(f, m, e.onHashProgress),
+ k = function (t, n) {
+ var r = t.length;
+ if (0 === r) return n(null, !0);
+ if (r > y) return n(null, !1);
+ if (r > 1 && Math.max(t[0].Size, t[1].Size) !== g) return n(null, !1);
+ !(function o(i) {
+ if (i < r) {
+ var a = t[i];
+ !(function (t, n) {
+ var r = g * (t - 1),
+ o = Math.min(r + g, m),
+ i = o - r;
+ h[t]
+ ? n(null, { PartNumber: t, ETag: h[t], Size: i })
+ : s.fileSlice(e.Body, r, o, !1, function (e) {
+ s.getFileMd5(e, function (e, r) {
+ if (e) return n(s.error(e));
+ var o = '"' + r + '"';
+ (h[t] = o),
+ 1,
+ C({ loaded: (v += i), total: m }),
+ n(null, { PartNumber: t, ETag: o, Size: i });
+ });
+ });
+ })(a.PartNumber, function (e, t) {
+ t && t.ETag === a.ETag && t.Size === a.Size ? o(i + 1) : n(null, !1);
+ });
+ } else n(null, !0);
+ })(0);
+ },
+ S = new a();
+ S.on('error', function (e) {
+ if (f._isRunningTask(n)) return t(e);
+ }),
+ S.on('upload_id_available', function (e) {
+ var n = {},
+ r = [];
+ s.each(e.PartList, function (e) {
+ n[e.PartNumber] = e;
+ });
+ for (var o = 1; o <= y; o++) {
+ var i = n[o];
+ i ? ((i.PartNumber = o), (i.Uploaded = !0)) : (i = { PartNumber: o, ETag: null, Uploaded: !1 }),
+ r.push(i);
+ }
+ (e.PartList = r), t(null, e);
+ }),
+ S.on('no_available_upload_id', function () {
+ if (f._isRunningTask(n)) {
+ var o = s.extend(
+ {
+ Bucket: r,
+ Region: c,
+ Key: u,
+ Query: s.clone(e.Query),
+ StorageClass: p,
+ Body: e.Body,
+ calledBySdk: 'sliceUploadFile',
+ tracker: e.tracker,
+ },
+ e,
+ ),
+ i = s.clone(e.Headers);
+ delete i['x-cos-mime-limit'],
+ (o.Headers = i),
+ f.multipartInit(o, function (e, r) {
+ if (f._isRunningTask(n)) {
+ if (e) return S.emit('error', e);
+ var o = r.UploadId;
+ if (!o) return t(s.error(new Error('no such upload id')));
+ S.emit('upload_id_available', { UploadId: o, PartList: [] });
+ }
+ });
+ }
+ }),
+ S.on('has_and_check_upload_id', function (t) {
+ (t = t.reverse()),
+ i.eachLimit(
+ t,
+ 1,
+ function (t, i) {
+ f._isRunningTask(n) &&
+ (o.using[t]
+ ? i()
+ : d.call(f, { Bucket: r, Region: c, Key: u, UploadId: t, tracker: e.tracker }, function (e, r) {
+ if (f._isRunningTask(n)) {
+ if (e) return o.removeUsing(t), S.emit('error', e);
+ var a = r.PartList;
+ a.forEach(function (e) {
+ (e.PartNumber *= 1), (e.Size *= 1), (e.ETag = e.ETag || '');
+ }),
+ k(a, function (e, r) {
+ if (f._isRunningTask(n))
+ return e ? S.emit('error', e) : void (r ? i({ UploadId: t, PartList: a }) : i());
+ });
+ }
+ }));
+ },
+ function (e) {
+ f._isRunningTask(n) &&
+ (C(null, !0),
+ e && e.UploadId ? S.emit('upload_id_available', e) : S.emit('no_available_upload_id'));
+ },
+ );
+ }),
+ S.on('seek_local_avail_upload_id', function (t) {
+ var i = o.getFileId(e.Body, e.ChunkSize, r, u),
+ a = o.getUploadIdList.call(f, i);
+ if (i && a) {
+ !(function i(l) {
+ if (l >= a.length) S.emit('has_and_check_upload_id', t);
+ else {
+ var p = a[l];
+ if (!s.isInArray(t, p)) return o.removeUploadId.call(f, p), void i(l + 1);
+ o.using[p]
+ ? i(l + 1)
+ : d.call(f, { Bucket: r, Region: c, Key: u, UploadId: p, tracker: e.tracker }, function (e, t) {
+ f._isRunningTask(n) &&
+ (e
+ ? (o.removeUploadId.call(f, p), i(l + 1))
+ : S.emit('upload_id_available', { UploadId: p, PartList: t.PartList }));
+ });
+ }
+ })(0);
+ } else S.emit('has_and_check_upload_id', t);
+ }),
+ S.on('get_remote_upload_id_list', function () {
+ l.call(f, { Bucket: r, Region: c, Key: u, tracker: e.tracker }, function (t, i) {
+ if (f._isRunningTask(n)) {
+ if (t) return S.emit('error', t);
+ var a = s
+ .filter(i.UploadList, function (e) {
+ return e.Key === u && (!p || e.StorageClass.toUpperCase() === p.toUpperCase());
+ })
+ .reverse()
+ .map(function (e) {
+ return e.UploadId || e.UploadID;
+ });
+ if (a.length) S.emit('seek_local_avail_upload_id', a);
+ else {
+ var c,
+ l = o.getFileId(e.Body, e.ChunkSize, r, u);
+ l &&
+ (c = o.getUploadIdList.call(f, l)) &&
+ s.each(c, function (e) {
+ o.removeUploadId.call(f, e);
+ }),
+ S.emit('no_available_upload_id');
+ }
+ }
+ });
+ }),
+ S.emit('get_remote_upload_id_list');
+ }
+ function l(e, t) {
+ var n = this,
+ r = [],
+ o = {
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Prefix: e.Key,
+ calledBySdk: e.calledBySdk || 'sliceUploadFile',
+ tracker: e.tracker,
+ };
+ !(function e() {
+ n.multipartList(o, function (n, i) {
+ if (n) return t(n);
+ r.push.apply(r, i.Upload || []),
+ 'true' === i.IsTruncated
+ ? ((o.KeyMarker = i.NextKeyMarker), (o.UploadIdMarker = i.NextUploadIdMarker), e())
+ : t(null, { UploadList: r });
+ });
+ })();
+ }
+ function d(e, t) {
+ var n = this,
+ r = [],
+ o = {
+ Bucket: e.Bucket,
+ Region: e.Region,
+ Key: e.Key,
+ UploadId: e.UploadId,
+ calledBySdk: 'sliceUploadFile',
+ tracker: e.tracker,
+ };
+ !(function e() {
+ n.multipartListPart(o, function (n, i) {
+ if (n) return t(n);
+ r.push.apply(r, i.Part || []),
+ 'true' === i.IsTruncated
+ ? ((o.PartNumberMarker = i.NextPartNumberMarker), e())
+ : t(null, { PartList: r });
+ });
+ })();
+ }
+ function p(e, t) {
+ var n = this,
+ r = e.TaskId,
+ o = e.Bucket,
+ a = e.Region,
+ c = e.Key,
+ u = e.UploadData,
+ l = e.FileSize,
+ d = e.SliceSize,
+ p = Math.min(e.AsyncLimit || n.options.ChunkParallelLimit || 1, 256),
+ h = e.Body,
+ m = Math.ceil(l / d),
+ g = 0,
+ y = e.ServerSideEncryption,
+ v = e.Headers,
+ C = s.filter(u.PartList, function (e) {
+ return e.Uploaded && (g += (e.PartNumber >= m && l % d) || d), !e.Uploaded;
+ }),
+ k = e.onProgress;
+ i.eachLimit(
+ C,
+ p,
+ function (t, i) {
+ if (n._isRunningTask(r)) {
+ var s = t.PartNumber,
+ p = Math.min(l, t.PartNumber * d) - (t.PartNumber - 1) * d,
+ m = 0;
+ f.call(
+ n,
+ {
+ TaskId: r,
+ Bucket: o,
+ Region: a,
+ Key: c,
+ SliceSize: d,
+ FileSize: l,
+ PartNumber: s,
+ ServerSideEncryption: y,
+ Body: h,
+ UploadData: u,
+ Headers: v,
+ onProgress: function (e) {
+ (g += e.loaded - m), (m = e.loaded), k({ loaded: g, total: l });
+ },
+ tracker: e.tracker,
+ },
+ function (e, o) {
+ n._isRunningTask(r) &&
+ (e ||
+ o.ETag ||
+ (e =
+ 'get ETag error, please add "ETag" to CORS ExposeHeader setting.( 获取ETag失败,请在CORS ExposeHeader设置中添加ETag,请参考文档:https://cloud.tencent.com/document/product/436/13318 )'),
+ e ? (g -= m) : ((g += p - m), (t.ETag = o.ETag)),
+ k({ loaded: g, total: l }),
+ i(e || null, o));
+ },
+ );
+ }
+ },
+ function (e) {
+ if (n._isRunningTask(r)) return e ? t(e) : void t(null, { UploadId: u.UploadId, SliceList: u.PartList });
+ },
+ );
+ }
+ function f(e, t) {
+ var n = this,
+ r = e.TaskId,
+ o = e.Bucket,
+ a = e.Region,
+ c = e.Key,
+ u = e.FileSize,
+ l = e.Body,
+ d = 1 * e.PartNumber,
+ p = e.SliceSize,
+ f = e.ServerSideEncryption,
+ h = e.UploadData,
+ m = e.Headers || {},
+ g = n.options.ChunkRetryTimes + 1,
+ y = p * (d - 1),
+ v = p,
+ C = y + p;
+ C > u && (v = (C = u) - y);
+ var k = ['x-cos-traffic-limit', 'x-cos-mime-limit'],
+ S = {};
+ s.each(m, function (e, t) {
+ k.indexOf(t) > -1 && (S[t] = e);
+ });
+ var b = h.PartList[d - 1];
+ i.retry(
+ g,
+ function (t) {
+ n._isRunningTask(r) &&
+ s.fileSlice(l, y, C, !0, function (i) {
+ n.multipartUpload(
+ {
+ TaskId: r,
+ Bucket: o,
+ Region: a,
+ Key: c,
+ ContentLength: v,
+ PartNumber: d,
+ UploadId: h.UploadId,
+ ServerSideEncryption: f,
+ Body: i,
+ Headers: S,
+ onProgress: e.onProgress,
+ calledBySdk: 'sliceUploadFile',
+ tracker: e.tracker,
+ },
+ function (e, o) {
+ if (n._isRunningTask(r)) return e ? t(e) : ((b.Uploaded = !0), t(null, o));
+ },
+ );
+ });
+ },
+ function (e, o) {
+ if (n._isRunningTask(r)) return t(e, o);
+ },
+ );
+ }
+ function h(e, t) {
+ var n = e.Bucket,
+ r = e.Region,
+ o = e.Key,
+ a = e.UploadId,
+ s = e.SliceList,
+ c = this,
+ u = this.options.ChunkRetryTimes + 1,
+ l = e.Headers,
+ d = s.map(function (e) {
+ return { PartNumber: e.PartNumber, ETag: e.ETag };
+ });
+ i.retry(
+ u,
+ function (t) {
+ c.multipartComplete(
+ {
+ Bucket: n,
+ Region: r,
+ Key: o,
+ UploadId: a,
+ Parts: d,
+ Headers: l,
+ calledBySdk: 'sliceUploadFile',
+ tracker: e.tracker,
+ },
+ t,
+ );
+ },
+ function (e, n) {
+ t(e, n);
+ },
+ );
+ }
+ function m(e, t) {
+ var n = e.Bucket,
+ r = e.Region,
+ o = e.Key,
+ a = e.AbortArray,
+ s = e.AsyncLimit || 1,
+ c = this,
+ u = 0,
+ l = new Array(a.length);
+ i.eachLimit(
+ a,
+ s,
+ function (t, i) {
+ var a = u;
+ if (o && o !== t.Key) return (l[a] = { error: { KeyNotMatch: !0 } }), void i(null);
+ var s = t.UploadId || t.UploadID;
+ c.multipartAbort({ Bucket: n, Region: r, Key: t.Key, Headers: e.Headers, UploadId: s }, function (e) {
+ var o = { Bucket: n, Region: r, Key: t.Key, UploadId: s };
+ (l[a] = { error: e, task: o }), i(null);
+ }),
+ u++;
+ },
+ function (e) {
+ if (e) return t(e);
+ for (var n = [], r = [], o = 0, i = l.length; o < i; o++) {
+ var a = l[o];
+ a.task && (a.error ? r.push(a.task) : n.push(a.task));
+ }
+ return t(null, { successList: n, errorList: r });
+ },
+ );
+ }
+ function g(e, t) {
+ var n = e.TaskId,
+ r = e.Bucket,
+ o = e.Region,
+ a = e.Key,
+ s = e.CopySource,
+ c = e.UploadId,
+ u = 1 * e.PartNumber,
+ l = e.CopySourceRange,
+ d = this.options.ChunkRetryTimes + 1,
+ p = this;
+ i.retry(
+ d,
+ function (e) {
+ p.uploadPartCopy(
+ {
+ TaskId: n,
+ Bucket: r,
+ Region: o,
+ Key: a,
+ CopySource: s,
+ UploadId: c,
+ PartNumber: u,
+ CopySourceRange: l,
+ },
+ function (t, n) {
+ e(t || null, n);
+ },
+ );
+ },
+ function (e, n) {
+ return t(e, n);
+ },
+ );
+ }
+ var y = {
+ sliceUploadFile: function (e, t) {
+ var n,
+ r,
+ i = this,
+ c = new a(),
+ l = e.TaskId,
+ d = e.Bucket,
+ f = e.Region,
+ m = e.Key,
+ g = e.Body,
+ y = e.ChunkSize || e.SliceSize || i.options.ChunkSize,
+ v = e.AsyncLimit,
+ C = e.StorageClass,
+ k = e.ServerSideEncryption,
+ S = e.onHashProgress,
+ b = e.tracker;
+ b && b.setParams({ chunkSize: y }),
+ c.on('error', function (n) {
+ if (i._isRunningTask(l)) return (n.UploadId = e.UploadData.UploadId || ''), t(n);
+ }),
+ c.on('upload_complete', function (n) {
+ var r = s.extend({ UploadId: e.UploadData.UploadId || '' }, n);
+ t(null, r);
+ }),
+ c.on('upload_slice_complete', function (t) {
+ var a = {};
+ s.each(e.Headers, function (e, t) {
+ var n = t.toLowerCase();
+ (0 !== n.indexOf('x-cos-meta-') && 'pic-operations' !== n) || (a[t] = e);
+ }),
+ h.call(
+ i,
+ {
+ Bucket: d,
+ Region: f,
+ Key: m,
+ UploadId: t.UploadId,
+ SliceList: t.SliceList,
+ Headers: a,
+ tracker: b,
+ },
+ function (e, a) {
+ if (i._isRunningTask(l)) {
+ if ((o.removeUsing(t.UploadId), e)) return r(null, !0), c.emit('error', e);
+ o.removeUploadId.call(i, t.UploadId),
+ r({ loaded: n, total: n }, !0),
+ c.emit('upload_complete', a);
+ }
+ },
+ );
+ }),
+ c.on('get_upload_data_finish', function (t) {
+ var a = o.getFileId(g, e.ChunkSize, d, m);
+ a && o.saveUploadId.call(i, a, t.UploadId, i.options.UploadIdCacheLimit),
+ o.setUsing(t.UploadId),
+ r(null, !0),
+ p.call(
+ i,
+ {
+ TaskId: l,
+ Bucket: d,
+ Region: f,
+ Key: m,
+ Body: g,
+ FileSize: n,
+ SliceSize: y,
+ AsyncLimit: v,
+ ServerSideEncryption: k,
+ UploadData: t,
+ Headers: e.Headers,
+ onProgress: r,
+ tracker: b,
+ },
+ function (e, t) {
+ if (i._isRunningTask(l))
+ return e ? (r(null, !0), c.emit('error', e)) : void c.emit('upload_slice_complete', t);
+ },
+ );
+ }),
+ c.on('get_file_size_finish', function () {
+ if (((r = s.throttleOnProgress.call(i, n, e.onProgress)), e.UploadData.UploadId))
+ c.emit('get_upload_data_finish', e.UploadData);
+ else {
+ var t = s.extend(
+ {
+ TaskId: l,
+ Bucket: d,
+ Region: f,
+ Key: m,
+ Headers: e.Headers,
+ StorageClass: C,
+ Body: g,
+ FileSize: n,
+ SliceSize: y,
+ onHashProgress: S,
+ tracker: b,
+ },
+ e,
+ );
+ u.call(i, t, function (t, n) {
+ if (i._isRunningTask(l)) {
+ if (t) return c.emit('error', t);
+ (e.UploadData.UploadId = n.UploadId),
+ (e.UploadData.PartList = n.PartList),
+ c.emit('get_upload_data_finish', e.UploadData);
+ }
+ });
+ }
+ }),
+ (n = e.ContentLength),
+ delete e.ContentLength,
+ !e.Headers && (e.Headers = {}),
+ s.each(e.Headers, function (t, n) {
+ 'content-length' === n.toLowerCase() && delete e.Headers[n];
+ }),
+ (function () {
+ for (
+ var t = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 5120], r = 1048576, o = 0;
+ o < t.length && !(n / (r = 1024 * t[o] * 1024) <= i.options.MaxPartNumber);
+ o++
+ );
+ e.ChunkSize = e.SliceSize = y = Math.max(y, r);
+ })(),
+ 0 === n
+ ? ((e.Body = ''), (e.ContentLength = 0), (e.SkipTask = !0), i.putObject(e, t))
+ : c.emit('get_file_size_finish');
+ },
+ abortUploadTask: function (e, t) {
+ var n = e.Bucket,
+ r = e.Region,
+ o = e.Key,
+ i = e.UploadId,
+ c = e.Level || 'task',
+ u = e.AsyncLimit,
+ d = this,
+ p = new a();
+ if (
+ (p.on('error', function (e) {
+ return t(e);
+ }),
+ p.on('get_abort_array', function (i) {
+ m.call(d, { Bucket: n, Region: r, Key: o, Headers: e.Headers, AsyncLimit: u, AbortArray: i }, t);
+ }),
+ 'bucket' === c)
+ )
+ l.call(d, { Bucket: n, Region: r, calledBySdk: 'abortUploadTask' }, function (e, n) {
+ if (e) return t(e);
+ p.emit('get_abort_array', n.UploadList || []);
+ });
+ else if ('file' === c) {
+ if (!o) return t(s.error(new Error('abort_upload_task_no_key')));
+ l.call(d, { Bucket: n, Region: r, Key: o, calledBySdk: 'abortUploadTask' }, function (e, n) {
+ if (e) return t(e);
+ p.emit('get_abort_array', n.UploadList || []);
+ });
+ } else {
+ if ('task' !== c) return t(s.error(new Error('abort_unknown_level')));
+ if (!i) return t(s.error(new Error('abort_upload_task_no_id')));
+ if (!o) return t(s.error(new Error('abort_upload_task_no_key')));
+ p.emit('get_abort_array', [{ Key: o, UploadId: i }]);
+ }
+ },
+ uploadFile: function (e, t) {
+ var n = this,
+ o = void 0 === e.SliceSize ? n.options.SliceSize : e.SliceSize,
+ i = [],
+ a = e.Body,
+ u = a.size || a.length || 0,
+ l = { TaskId: '' };
+ if (n.options.EnableTracker) {
+ var d =
+ n.options.UseAccelerate ||
+ ('string' == typeof n.options.Domain && n.options.Domain.includes('accelerate.'));
+ e.tracker = new c({
+ bucket: e.Bucket,
+ region: e.Region,
+ apiName: 'uploadFile',
+ fileKey: e.Key,
+ fileSize: u,
+ accelerate: d,
+ deepTracker: n.options.DeepTracker,
+ customId: n.options.CustomId,
+ delay: n.options.TrackerDelay,
+ });
+ }
+ s.each(e, function (e, t) {
+ 'object' !== r(e) && 'function' != typeof e && (l[t] = e);
+ });
+ var p = e.onTaskReady;
+ e.onTaskReady = function (e) {
+ (l.TaskId = e), p && p(e);
+ };
+ var f = u > o ? 'sliceUploadFile' : 'putObject',
+ h = e.onFileFinish;
+ i.push({
+ api: f,
+ params: e,
+ callback: function (n, r) {
+ e.tracker && e.tracker.formatResult(n, r), h && h(n, r, l), t && t(n, r);
+ },
+ }),
+ n._addTasks(i);
+ },
+ uploadFiles: function (e, t) {
+ var n = this,
+ o = void 0 === e.SliceSize ? n.options.SliceSize : e.SliceSize,
+ i = 0,
+ a = 0,
+ u = s.throttleOnProgress.call(n, a, e.onProgress),
+ l = e.files.length,
+ d = e.onFileFinish,
+ p = Array(l),
+ f = function (e, n, r) {
+ u(null, !0),
+ d && d(e, n, r),
+ (p[r.Index] = { options: r, error: e, data: n }),
+ --l <= 0 && t && t(null, { files: p });
+ },
+ h = [];
+ s.each(e.files, function (e, t) {
+ !(function () {
+ var l = e.Body,
+ d = l.size || l.length || 0,
+ p = { Index: t, TaskId: '' };
+ if (
+ (!n.options.UseRawKey && e.Key && '/' === e.Key.substr(0, 1) && (e.Key = e.Key.substr(1)),
+ (i += d),
+ n.options.EnableTracker)
+ ) {
+ var m =
+ n.options.UseAccelerate ||
+ ('string' == typeof n.options.Domain && n.options.Domain.includes('accelerate.'));
+ e.tracker = new c({
+ bucket: e.Bucket,
+ region: e.Region,
+ apiName: 'uploadFiles',
+ fileKey: e.Key,
+ fileSize: d,
+ accelerate: m,
+ deepTracker: n.options.DeepTracker,
+ customId: n.options.CustomId,
+ delay: n.options.TrackerDelay,
+ });
+ }
+ s.each(e, function (e, t) {
+ 'object' !== r(e) && 'function' != typeof e && (p[t] = e);
+ });
+ var g = e.onTaskReady;
+ e.onTaskReady = function (e) {
+ (p.TaskId = e), g && g(e);
+ };
+ var y = 0,
+ v = e.onProgress;
+ e.onProgress = function (e) {
+ (a = a - y + e.loaded), (y = e.loaded), v && v(e), u({ loaded: a, total: i });
+ };
+ var C = d > o ? 'sliceUploadFile' : 'putObject',
+ k = e.onFileFinish;
+ h.push({
+ api: C,
+ params: e,
+ callback: function (t, n) {
+ e.tracker && e.tracker.formatResult(t, n), k && k(t, n), f && f(t, n, p);
+ },
+ });
+ })();
+ }),
+ n._addTasks(h);
+ },
+ sliceCopyFile: function (e, t) {
+ var n = new a(),
+ r = this,
+ c = e.Bucket,
+ u = e.Region,
+ l = e.Key,
+ p = e.CopySource,
+ f = s.getSourceParams.call(this, p);
+ if (f) {
+ var h = f.Bucket,
+ m = f.Region,
+ y = decodeURIComponent(f.Key),
+ v = void 0 === e.CopySliceSize ? r.options.CopySliceSize : e.CopySliceSize;
+ v = Math.max(0, v);
+ var C,
+ k,
+ S = e.CopyChunkSize || this.options.CopyChunkSize,
+ b = this.options.CopyChunkParallelLimit,
+ T = this.options.ChunkRetryTimes + 1,
+ R = 0,
+ E = 0,
+ w = {},
+ A = {},
+ x = {};
+ n.on('copy_slice_complete', function (n) {
+ var a = {};
+ s.each(e.Headers, function (e, t) {
+ 0 === t.toLowerCase().indexOf('x-cos-meta-') && (a[t] = e);
+ });
+ var d = s.map(n.PartList, function (e) {
+ return { PartNumber: e.PartNumber, ETag: e.ETag };
+ });
+ i.retry(
+ T,
+ function (e) {
+ r.multipartComplete(
+ { Bucket: c, Region: u, Key: l, UploadId: n.UploadId, Parts: d, calledBySdk: 'sliceCopyFile' },
+ e,
+ );
+ },
+ function (e, r) {
+ if ((o.removeUsing(n.UploadId), e)) return k(null, !0), t(e);
+ o.removeUploadId(n.UploadId), k({ loaded: C, total: C }, !0), t(null, r);
+ },
+ );
+ }),
+ n.on('get_copy_data_finish', function (e) {
+ var a = o.getCopyFileId(p, w, S, c, l);
+ a && o.saveUploadId(a, e.UploadId, r.options.UploadIdCacheLimit), o.setUsing(e.UploadId);
+ var d = s.filter(e.PartList, function (e) {
+ return e.Uploaded && (E += (e.PartNumber >= R && C % S) || S), !e.Uploaded;
+ });
+ i.eachLimit(
+ d,
+ b,
+ function (t, n) {
+ var o = t.PartNumber,
+ a = t.CopySourceRange,
+ s = t.end - t.start;
+ i.retry(
+ T,
+ function (t) {
+ g.call(
+ r,
+ {
+ Bucket: c,
+ Region: u,
+ Key: l,
+ CopySource: p,
+ UploadId: e.UploadId,
+ PartNumber: o,
+ CopySourceRange: a,
+ },
+ t,
+ );
+ },
+ function (e, r) {
+ if (e) return n(e);
+ k({ loaded: (E += s), total: C }), (t.ETag = r.ETag), n(e || null, r);
+ },
+ );
+ },
+ function (r) {
+ if (r) return o.removeUsing(e.UploadId), k(null, !0), t(r);
+ n.emit('copy_slice_complete', e);
+ },
+ );
+ }),
+ n.on('get_chunk_size_finish', function () {
+ var i = function () {
+ r.multipartInit({ Bucket: c, Region: u, Key: l, Headers: x }, function (r, o) {
+ if (r) return t(r);
+ (e.UploadId = o.UploadId),
+ n.emit('get_copy_data_finish', { UploadId: e.UploadId, PartList: e.PartList });
+ });
+ },
+ a = o.getCopyFileId(p, w, S, c, l),
+ f = o.getUploadIdList(a);
+ if (!a || !f) return i();
+ !(function t(a) {
+ if (a >= f.length) return i();
+ var p = f[a];
+ if (o.using[p]) return t(a + 1);
+ d.call(r, { Bucket: c, Region: u, Key: l, UploadId: p }, function (r, i) {
+ if (r) o.removeUploadId(p), t(a + 1);
+ else {
+ if (o.using[p]) return t(a + 1);
+ var c = {},
+ u = 0;
+ s.each(i.PartList, function (e) {
+ var t = parseInt(e.Size),
+ n = u + t - 1;
+ (c[e.PartNumber + '|' + u + '|' + n] = e.ETag), (u += t);
+ }),
+ s.each(e.PartList, function (e) {
+ var t = c[e.PartNumber + '|' + e.start + '|' + e.end];
+ t && ((e.ETag = t), (e.Uploaded = !0));
+ }),
+ n.emit('get_copy_data_finish', { UploadId: p, PartList: e.PartList });
+ }
+ });
+ })(0);
+ }),
+ n.on('get_file_size_finish', function () {
+ if (
+ ((function () {
+ for (
+ var t = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 5120], n = 1048576, o = 0;
+ o < t.length && !(C / (n = 1024 * t[o] * 1024) <= r.options.MaxPartNumber);
+ o++
+ );
+ (e.ChunkSize = S = Math.max(S, n)), (R = Math.ceil(C / S));
+ for (var i = [], a = 1; a <= R; a++) {
+ var s = (a - 1) * S,
+ c = a * S < C ? a * S - 1 : C - 1,
+ u = { PartNumber: a, start: s, end: c, CopySourceRange: 'bytes=' + s + '-' + c };
+ i.push(u);
+ }
+ e.PartList = i;
+ })(),
+ ((x = 'Replaced' === e.Headers['x-cos-metadata-directive'] ? e.Headers : A)['x-cos-storage-class'] =
+ e.Headers['x-cos-storage-class'] || A['x-cos-storage-class']),
+ (x = s.clearKey(x)),
+ 'ARCHIVE' === A['x-cos-storage-class'] || 'DEEP_ARCHIVE' === A['x-cos-storage-class'])
+ ) {
+ var o = A['x-cos-restore'];
+ if (!o || 'ongoing-request="true"' === o)
+ return void t(s.error(new Error('Unrestored archive object is not allowed to be copied')));
+ }
+ delete x['x-cos-copy-source'],
+ delete x['x-cos-metadata-directive'],
+ delete x['x-cos-copy-source-If-Modified-Since'],
+ delete x['x-cos-copy-source-If-Unmodified-Since'],
+ delete x['x-cos-copy-source-If-Match'],
+ delete x['x-cos-copy-source-If-None-Match'],
+ n.emit('get_chunk_size_finish');
+ }),
+ r.headObject({ Bucket: h, Region: m, Key: y }, function (o, i) {
+ if (o) o.statusCode && 404 === o.statusCode ? t(s.error(o, { ErrorStatus: y + ' Not Exist' })) : t(o);
+ else if (void 0 !== (C = e.FileSize = i.headers['content-length']) && C)
+ if (((k = s.throttleOnProgress.call(r, C, e.onProgress)), C <= v))
+ e.Headers['x-cos-metadata-directive'] || (e.Headers['x-cos-metadata-directive'] = 'Copy'),
+ r.putObjectCopy(e, function (e, n) {
+ if (e) return k(null, !0), t(e);
+ k({ loaded: C, total: C }, !0), t(e, n);
+ });
+ else {
+ var a = i.headers;
+ (w = a),
+ (A = {
+ 'Cache-Control': a['cache-control'],
+ 'Content-Disposition': a['content-disposition'],
+ 'Content-Encoding': a['content-encoding'],
+ 'Content-Type': a['content-type'],
+ Expires: a.expires,
+ 'x-cos-storage-class': a['x-cos-storage-class'],
+ }),
+ s.each(a, function (e, t) {
+ var n = 'x-cos-meta-';
+ 0 === t.indexOf(n) && t.length > 11 && (A[t] = e);
+ }),
+ n.emit('get_file_size_finish');
+ }
+ else
+ t(
+ s.error(
+ new Error(
+ 'get Content-Length error, please add "Content-Length" to CORS ExposeHeader setting.( 获取Content-Length失败,请在CORS ExposeHeader设置中添加Content-Length,请参考文档:https://cloud.tencent.com/document/product/436/13318 )',
+ ),
+ ),
+ );
+ });
+ } else t(s.error(new Error('CopySource format error')));
+ },
+ };
+ e.exports.init = function (e, t) {
+ t.transferToTaskMethod(y, 'sliceUploadFile'),
+ s.each(y, function (t, n) {
+ e.prototype[n] = s.apiWrapper(n, t);
+ });
+ };
+ },
+ function (e, t) {
+ var n = {
+ eachLimit: function (e, t, n, r) {
+ if (((r = r || function () {}), !e.length || t <= 0)) return r();
+ var o = 0,
+ i = 0,
+ a = 0;
+ !(function s() {
+ if (o >= e.length) return r();
+ for (; a < t && i < e.length; )
+ (a += 1),
+ n(e[(i += 1) - 1], function (t) {
+ t ? (r(t), (r = function () {})) : ((a -= 1), (o += 1) >= e.length ? r() : s());
+ });
+ })();
+ },
+ retry: function (e, t, n) {
+ e < 1
+ ? n()
+ : (function r(o) {
+ t(function (t, i) {
+ t && o < e ? r(o + 1) : n(t, i);
+ });
+ })(1);
+ },
+ };
+ e.exports = n;
+ },
+ ]);
+});
diff --git a/src/api/cos.js b/src/api/cos.js
new file mode 100644
index 0000000..aefa3e1
--- /dev/null
+++ b/src/api/cos.js
@@ -0,0 +1,22 @@
+import http from './index';
+
+export const getCOSConfigAPI = () => new Promise((resolve, reject) => {
+ http.get('/cos/').then(
+ (res) => resolve(res),
+ (err) => reject(err),
+ );
+});
+
+export const getCOSUploadTempKeyAPI = (filename, purpose, tcaptcha) => new Promise((resolve, reject) => {
+ http.post('/cos/temp_secret/', {filename, purpose, tcaptcha}).then(
+ (res) => resolve(res),
+ (err) => reject(err),
+ );
+});
+
+export const extractFileAPI = (key) => new Promise((resolve, reject) => {
+ http.post('/cos/extract_file/', {key}).then(
+ (res) => resolve(res),
+ (err) => reject(err),
+ );
+});
diff --git a/src/api/tcaptcha.js b/src/api/tcaptcha.js
new file mode 100644
index 0000000..a88be6e
--- /dev/null
+++ b/src/api/tcaptcha.js
@@ -0,0 +1,8 @@
+import http from './index';
+
+export const getTCaptchaConfigAPI = () => new Promise((resolve, reject) => {
+ http.get('/tcaptcha/config/').then(
+ (res) => resolve(res),
+ (err) => reject(err),
+ );
+});
diff --git a/src/components/ChatInput.vue b/src/components/ChatInput.vue
index 7e099a9..54e9a0b 100644
--- a/src/components/ChatInput.vue
+++ b/src/components/ChatInput.vue
@@ -1,11 +1,14 @@
@@ -209,6 +255,12 @@ defineExpose({reGenerate, promptForm});
id="chat-input"
:style="{height: showEditBox ? '214px' : '32px'}"
>
+
{{ $t('ClearMessage') }}
+
+ {{ promptForm.file ? $t('ReUploadFile') : $t('UploadFile') }}
+
-import {Role} from '../constants';
+import {Role} from '@/constants';
import {useStore} from 'vuex';
import {computed} from 'vue';
+import {IconFile} from '@arco-design/web-vue/es/icon';
const props = defineProps({
message: {
@@ -9,6 +10,7 @@ const props = defineProps({
default: () => ({
role: Role.Assistant,
content: '',
+ file: null,
}),
},
isLast: {
@@ -53,6 +55,19 @@ const emits = defineEmits(['reGenerate']);
:text="message.content"
class="v-md-preview"
/>
+
+
+
+ {{ message.file.split('/').slice(-1)[0] }}
+
+
{
@@ -38,6 +41,7 @@ export const changeLang = async (value) => {
});
locale = curLang.locale;
mLocal = curLang.value;
+ tCaptchaLocale = curLang.tcaptcha;
await changeLangAPI(curLang.backend).then(() => {
localStorage.setItem(userLangKey, value);
});
diff --git a/src/locale/zh-cn.js b/src/locale/zh-cn.js
index 4626023..3167a83 100644
--- a/src/locale/zh-cn.js
+++ b/src/locale/zh-cn.js
@@ -16,6 +16,9 @@ const mZhCN = {
ConnectionClosedPleaseRetry: '连接异常,请重试',
ConnectionClosed: '连接已关闭',
ConnectionError: '连接异常',
+ UploadFile: '上传文件',
+ SupportFileTypes: '仅支持图片或PDF',
+ ReUploadFile: '重新上传',
};
export default mZhCN;
diff --git a/src/utils/cos.js b/src/utils/cos.js
new file mode 100644
index 0000000..6266a36
--- /dev/null
+++ b/src/utils/cos.js
@@ -0,0 +1,15 @@
+export const loadCOSClient = (credentials) => {
+ return new COS({
+ getAuthorization: (options, callback) => {
+ callback(
+ {
+ TmpSecretId: credentials.secret_id,
+ TmpSecretKey: credentials.secret_key,
+ SecurityToken: credentials.token,
+ StartTime: credentials.start_time,
+ ExpiredTime: credentials.expired_time,
+ },
+ );
+ },
+ });
+};
diff --git a/src/utils/tcaptcha.js b/src/utils/tcaptcha.js
new file mode 100644
index 0000000..0c12c8f
--- /dev/null
+++ b/src/utils/tcaptcha.js
@@ -0,0 +1,25 @@
+import {getTCaptchaConfigAPI} from '@/api/tcaptcha';
+import {tCaptchaLocale} from '@/locale';
+
+export const checkTCaptcha = (callback) => {
+ getTCaptchaConfigAPI().then(
+ (res) => {
+ const captchaConfig = res.data;
+ if (captchaConfig.is_enabled) {
+ try {
+ // eslint-disable-next-line no-undef
+ const tCaptchaClient = new TencentCaptcha(String(captchaConfig.app_id), callback, {
+ aidEncrypted: captchaConfig.aid_encrypted,
+ userLanguage: tCaptchaLocale,
+ });
+ tCaptchaClient.show();
+ } catch (e) {
+ callback({ret: -1, message: String(e)});
+ }
+ } else {
+ callback({ret: 0});
+ }
+ },
+ () => callback({ret: -1}),
+ );
+};
diff --git a/vite.config.js b/vite.config.js
index 46d0f99..00e1ba8 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,5 +1,6 @@
import {defineConfig} from 'vite';
import vue from '@vitejs/plugin-vue';
+import path from 'path';
export default defineConfig({
plugins: [vue()],
@@ -18,6 +19,11 @@ export default defineConfig({
host: process.env.HOST,
port: 8080,
},
+ resolve: {
+ alias: {
+ '@': path.resolve(__dirname, './src'),
+ },
+ },
css: {
preprocessorOptions: {
scss: {