ecinc-cloud-wappaio 9.7.16 → 9.7.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33204,7 +33204,7 @@ var TextRecognition_PDFInjector = PDFInjector;
33204
33204
 
33205
33205
  /***/ }),
33206
33206
 
33207
- /***/ 53462:
33207
+ /***/ 55663:
33208
33208
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
33209
33209
 
33210
33210
  "use strict";
@@ -33237,7 +33237,7 @@ __webpack_require__.d(__webpack_exports__, {
33237
33237
  WriteToReadIdea: function() { return /* binding */ Wflowform_WriteToReadIdea; }
33238
33238
  });
33239
33239
 
33240
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=template&id=820fd3ea&scoped=true
33240
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=template&id=401bf7fa&scoped=true
33241
33241
  var render = function render() {
33242
33242
  var _vm = this,
33243
33243
  _c = _vm._self._c;
@@ -33718,14 +33718,18 @@ var render = function render() {
33718
33718
  attrs: {
33719
33719
  "colspan": attach.colspan
33720
33720
  }
33721
- }, [!attach.file.message && attach.file.progress > 0 ? _c('el-progress', {
33721
+ }, [!attach.file.message && attach.file.progress > 0 ? _c('div', {
33722
+ staticStyle: {
33723
+ "width": "100%"
33724
+ }
33725
+ }, [_c('el-progress', {
33722
33726
  attrs: {
33723
33727
  "text-inside": true,
33724
33728
  "stroke-width": 20,
33725
33729
  "percentage": attach.file.progress,
33726
33730
  "status": "success"
33727
33731
  }
33728
- }) : !attach.file.message && attach.file.progress === 0 ? _c('div', {
33732
+ })], 1) : !attach.file.message && attach.file.progress === 0 ? _c('div', {
33729
33733
  directives: [{
33730
33734
  name: "text-lbl",
33731
33735
  rawName: "v-text-lbl",
@@ -33737,7 +33741,7 @@ var render = function render() {
33737
33741
  }
33738
33742
  }, [_vm._v("待上传")]) : _vm._e(), attach.file.message ? _c('div', {
33739
33743
  staticClass: "upload-err-desc"
33740
- }, [_vm._v(" " + _vm._s(attach.file.message) + " ")]) : _vm._e()], 1)], 2);
33744
+ }, [_vm._v(" " + _vm._s(attach.file.message) + " ")]) : _vm._e()])], 2);
33741
33745
  }), !_vm.hasAttachment ? _c('tr', [_c('td', {
33742
33746
  staticClass: "el-table__cell",
33743
33747
  staticStyle: {
@@ -36621,9 +36625,9 @@ var _this = null;
36621
36625
  });
36622
36626
  ;// CONCATENATED MODULE: ./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=script&lang=js
36623
36627
  /* harmony default export */ var src_Attachmentvue_type_script_lang_js = (Attachmentvue_type_script_lang_js);
36624
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=820fd3ea&prod&scoped=true&lang=scss
36625
- var Attachmentvue_type_style_index_0_id_820fd3ea_prod_scoped_true_lang_scss = __webpack_require__(24338);
36626
- ;// CONCATENATED MODULE: ./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=820fd3ea&prod&scoped=true&lang=scss
36628
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=401bf7fa&prod&scoped=true&lang=scss
36629
+ var Attachmentvue_type_style_index_0_id_401bf7fa_prod_scoped_true_lang_scss = __webpack_require__(13596);
36630
+ ;// CONCATENATED MODULE: ./packages/ecwapp/Wflowform/src/Attachment.vue?vue&type=style&index=0&id=401bf7fa&prod&scoped=true&lang=scss
36627
36631
 
36628
36632
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
36629
36633
  var componentNormalizer = __webpack_require__(81656);
@@ -36642,7 +36646,7 @@ var component = (0,componentNormalizer/* default */.A)(
36642
36646
  staticRenderFns,
36643
36647
  false,
36644
36648
  null,
36645
- "820fd3ea",
36649
+ "401bf7fa",
36646
36650
  null
36647
36651
 
36648
36652
  )
@@ -51485,15 +51489,347 @@ module.exports = {
51485
51489
 
51486
51490
  /***/ }),
51487
51491
 
51488
- /***/ 55543:
51492
+ /***/ 88838:
51489
51493
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
51490
51494
 
51491
51495
  "use strict";
51496
+ // ESM COMPAT FLAG
51492
51497
  __webpack_require__.r(__webpack_exports__);
51493
- /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55373);
51494
- /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_1__);
51495
- /* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12215);
51496
- /* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(js_cookie__WEBPACK_IMPORTED_MODULE_0__);
51498
+
51499
+ // EXPORTS
51500
+ __webpack_require__.d(__webpack_exports__, {
51501
+ "default": function() { return /* binding */ wfengine; }
51502
+ });
51503
+
51504
+ // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
51505
+ var lib = __webpack_require__(55373);
51506
+ var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
51507
+ // EXTERNAL MODULE: ./node_modules/js-cookie/src/js.cookie.js
51508
+ var js_cookie = __webpack_require__(12215);
51509
+ var js_cookie_default = /*#__PURE__*/__webpack_require__.n(js_cookie);
51510
+ // EXTERNAL MODULE: ./node_modules/spark-md5/spark-md5.js
51511
+ var spark_md5 = __webpack_require__(75735);
51512
+ var spark_md5_default = /*#__PURE__*/__webpack_require__.n(spark_md5);
51513
+ ;// CONCATENATED MODULE: ./packages/ecwflow/wfengine/chunkUpload.js
51514
+ /**
51515
+ * 分片上传核心模块
51516
+ * 封装大文件分片上传、断点续传全流程逻辑
51517
+ */
51518
+
51519
+
51520
+ // ========== 配置 ==========
51521
+ var DEFAULT_CHUNK_SIZE = 5; // 默认分片大小(MB)
51522
+ var MAX_RETRY = 3; // 单分片最大重试次数
51523
+ var RETRY_DELAYS = [1000, 2000, 4000]; // 指数退避延迟(ms)
51524
+ var STORAGE_PREFIX = 'chunk_upload_'; // localStorage key 前缀
51525
+
51526
+ /**
51527
+ * 获取分片大小(字节)
51528
+ */
51529
+ function getChunkSize() {
51530
+ return (window.chunkUploadSize || DEFAULT_CHUNK_SIZE) * 1024 * 1024;
51531
+ }
51532
+
51533
+ // ========== MD5 计算 ==========
51534
+
51535
+ /**
51536
+ * 使用 spark-md5 增量计算文件 MD5(避免大文件一次性读入内存)
51537
+ * @param {File} file 文件对象
51538
+ * @param {number} chunkSize 切片大小(字节)
51539
+ * @returns {Promise<string>} 文件 MD5 值(32位小写)
51540
+ */
51541
+ function computeFileMD5(file, chunkSize) {
51542
+ return new Promise(function (resolve, reject) {
51543
+ var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
51544
+ var chunks = Math.ceil(file.size / chunkSize);
51545
+ var currentChunk = 0;
51546
+ var spark = new (spark_md5_default()).ArrayBuffer();
51547
+ var reader = new FileReader();
51548
+ reader.onload = function (e) {
51549
+ spark.append(e.target.result);
51550
+ currentChunk++;
51551
+ if (currentChunk < chunks) {
51552
+ loadNext();
51553
+ } else {
51554
+ resolve(spark.end());
51555
+ }
51556
+ };
51557
+ reader.onerror = function () {
51558
+ reject(new Error('文件读取失败'));
51559
+ };
51560
+ function loadNext() {
51561
+ var start = currentChunk * chunkSize;
51562
+ var end = Math.min(start + chunkSize, file.size);
51563
+ var chunk = blobSlice.call(file, start, end);
51564
+ reader.readAsArrayBuffer(chunk);
51565
+ }
51566
+ loadNext();
51567
+ });
51568
+ }
51569
+
51570
+ // ========== localStorage 断点进度管理 ==========
51571
+
51572
+ /**
51573
+ * 保存上传进度
51574
+ */
51575
+ function saveUploadProgress(fileMd5, data) {
51576
+ try {
51577
+ localStorage.setItem(STORAGE_PREFIX + fileMd5, JSON.stringify(data));
51578
+ } catch (e) {
51579
+ // localStorage 满或不可用,静默忽略
51580
+ }
51581
+ }
51582
+
51583
+ /**
51584
+ * 获取上传进度
51585
+ */
51586
+ function getUploadProgress(fileMd5) {
51587
+ try {
51588
+ var raw = localStorage.getItem(STORAGE_PREFIX + fileMd5);
51589
+ return raw ? JSON.parse(raw) : null;
51590
+ } catch (e) {
51591
+ return null;
51592
+ }
51593
+ }
51594
+
51595
+ /**
51596
+ * 清除上传进度
51597
+ */
51598
+ function clearUploadProgress(fileMd5) {
51599
+ try {
51600
+ localStorage.removeItem(STORAGE_PREFIX + fileMd5);
51601
+ } catch (e) {
51602
+ // 静默忽略
51603
+ }
51604
+ }
51605
+
51606
+ // ========== 后端接口调用 ==========
51607
+
51608
+ /**
51609
+ * 检查已上传分片
51610
+ * @param {Vue} $scope Vue 实例
51611
+ * @param {string} baseUrl 基础 URL(如 workflow/wfBusiAttach)
51612
+ * @param {string} fileMd5 文件 MD5
51613
+ * @param {number} totalChunks 总分片数
51614
+ * @returns {Promise<number[]>} 已上传分片索引列表
51615
+ */
51616
+ function checkChunkStatus($scope, baseUrl, fileMd5, totalChunks) {
51617
+ var formData = new FormData();
51618
+ formData.append('fileMd5', fileMd5);
51619
+ formData.append('totalChunks', totalChunks);
51620
+ return $scope.$http({
51621
+ url: baseUrl + '/uploadChunkCheck',
51622
+ method: 'post',
51623
+ data: formData
51624
+ }).then(function (res) {
51625
+ if (res.code === 'success' && res.body) {
51626
+ return res.body.uploadedChunks || [];
51627
+ }
51628
+ return [];
51629
+ }).catch(function () {
51630
+ return [];
51631
+ });
51632
+ }
51633
+
51634
+ /**
51635
+ * 上传单个分片(含重试)
51636
+ * @param {Vue} $scope Vue 实例
51637
+ * @param {string} baseUrl 基础 URL
51638
+ * @param {File} file 完整文件对象
51639
+ * @param {number} chunkIndex 分片索引
51640
+ * @param {string} fileMd5 文件 MD5
51641
+ * @param {number} totalChunks 总分片数
51642
+ * @param {string} fileName 文件名
51643
+ * @param {number} fileSize 文件大小
51644
+ * @returns {Promise}
51645
+ */
51646
+ function uploadSingleChunk($scope, baseUrl, file, chunkIndex, fileMd5, totalChunks, fileName, fileSize) {
51647
+ var chunkSize = getChunkSize();
51648
+ var start = chunkIndex * chunkSize;
51649
+ var end = Math.min(start + chunkSize, file.size);
51650
+ var chunk = file.slice(start, end);
51651
+ var formData = new FormData();
51652
+ formData.append('chunkFile', chunk, 'chunk_' + chunkIndex);
51653
+ formData.append('fileMd5', fileMd5);
51654
+ formData.append('chunkIndex', chunkIndex);
51655
+ formData.append('totalChunks', totalChunks);
51656
+ formData.append('fileName', fileName);
51657
+ formData.append('fileSize', fileSize);
51658
+ return doUploadWithRetry($scope, baseUrl + '/uploadChunk', formData, 0, chunkIndex);
51659
+ }
51660
+
51661
+ /**
51662
+ * 带重试的上传请求
51663
+ */
51664
+ function doUploadWithRetry($scope, url, formData, retryCount, chunkIdx) {
51665
+ return $scope.$http({
51666
+ url: url,
51667
+ method: 'post',
51668
+ data: formData
51669
+ }).then(function (res) {
51670
+ if (res.code !== 'success') {
51671
+ console.error('[chunkUpload] chunk_' + chunkIdx + ' failed:', res.message);
51672
+ throw new Error(res.message || 'chunk upload failed');
51673
+ }
51674
+ console.log('[chunkUpload] chunk_' + chunkIdx + ' success');
51675
+ return res;
51676
+ }).catch(function (err) {
51677
+ if (retryCount < MAX_RETRY) {
51678
+ console.warn('[chunkUpload] chunk_' + chunkIdx + ' retry ' + (retryCount + 1) + ':', err.message || err);
51679
+ var delay = RETRY_DELAYS[retryCount] || RETRY_DELAYS[RETRY_DELAYS.length - 1];
51680
+ return new Promise(function (resolve) {
51681
+ setTimeout(resolve, delay);
51682
+ }).then(function () {
51683
+ return doUploadWithRetry($scope, url, formData, retryCount + 1, chunkIdx);
51684
+ });
51685
+ }
51686
+ throw err;
51687
+ });
51688
+ }
51689
+
51690
+ /**
51691
+ * 合并分片
51692
+ * @param {Vue} $scope Vue 实例
51693
+ * @param {string} baseUrl 基础 URL
51694
+ * @param {string} fileMd5 文件 MD5
51695
+ * @param {string} fileName 文件名
51696
+ * @param {number} fileSize 文件大小
51697
+ * @param {number} totalChunks 总分片数
51698
+ * @param {Object} reqData 业务参数(module, busiDataId 等)
51699
+ * @returns {Promise}
51700
+ */
51701
+ function mergeChunks($scope, baseUrl, fileMd5, fileName, fileSize, totalChunks, reqData) {
51702
+ var formData = new FormData();
51703
+ formData.append('fileMd5', fileMd5);
51704
+ formData.append('fileName', fileName);
51705
+ formData.append('fileSize', fileSize);
51706
+ formData.append('totalChunks', totalChunks);
51707
+ if (reqData) {
51708
+ for (var key in reqData) {
51709
+ if (reqData.hasOwnProperty(key) && reqData[key] !== undefined && reqData[key] !== null) {
51710
+ formData.append(key, reqData[key]);
51711
+ }
51712
+ }
51713
+ }
51714
+ return $scope.$http({
51715
+ url: baseUrl + '/uploadChunkMerge',
51716
+ method: 'post',
51717
+ data: formData
51718
+ });
51719
+ }
51720
+
51721
+ // ========== 主编排函数 ==========
51722
+
51723
+ /**
51724
+ * 分片上传主流程
51725
+ * @param {Vue} $scope Vue 实例
51726
+ * @param {string} uploadUrl 上传 URL(如 workflow/wfBusiAttach/upload)
51727
+ * @param {File} file 文件对象
51728
+ * @param {Object} reqData 业务参数
51729
+ * @param {Object} config 配置(含 onUploadProgress 回调)
51730
+ * @returns {Promise} 合并后的响应,与原 upload 接口返回格式一致
51731
+ */
51732
+ function chunkedUpload($scope, uploadUrl, file, reqData, config) {
51733
+ var chunkSize = getChunkSize();
51734
+ var totalChunks = Math.ceil(file.size / chunkSize);
51735
+ var fileName = file.name || 'unknown';
51736
+ var fileSize = file.size;
51737
+
51738
+ // 从 uploadUrl 中提取 baseUrl(去掉末尾的 /upload)
51739
+ var baseUrl = uploadUrl.replace(/\/upload\/?$/, '');
51740
+ var onProgress = config && config.onUploadProgress || null;
51741
+ return new Promise(function (resolve, reject) {
51742
+ // Step 1: 计算文件 MD5
51743
+ computeFileMD5(file, chunkSize).then(function (fileMd5) {
51744
+ // Step 2: 检查断点续传进度
51745
+ var savedProgress = getUploadProgress(fileMd5);
51746
+ var uploadedBytes = savedProgress ? savedProgress.uploadedBytes || 0 : 0;
51747
+ return checkChunkStatus($scope, baseUrl, fileMd5, totalChunks).then(function (uploadedChunks) {
51748
+ // Step 3: 逐片上传未完成的分片
51749
+ var completedChunks = uploadedChunks.length;
51750
+ var uploadedBytesFromServer = 0;
51751
+ for (var i = 0; i < uploadedChunks.length; i++) {
51752
+ var idx = uploadedChunks[i];
51753
+ var cStart = idx * chunkSize;
51754
+ var cEnd = Math.min(cStart + chunkSize, fileSize);
51755
+ uploadedBytesFromServer += cEnd - cStart;
51756
+ }
51757
+ uploadedBytes = uploadedBytesFromServer;
51758
+
51759
+ // 模拟初始进度回调
51760
+ if (onProgress) {
51761
+ onProgress({
51762
+ loaded: uploadedBytes,
51763
+ total: fileSize
51764
+ });
51765
+ }
51766
+ return uploadChunksSequentially($scope, baseUrl, file, fileMd5, totalChunks, uploadedChunks, fileName, fileSize, chunkSize, function (chunkBytes) {
51767
+ completedChunks++;
51768
+ uploadedBytes += chunkBytes;
51769
+ if (onProgress) {
51770
+ onProgress({
51771
+ loaded: uploadedBytes,
51772
+ total: fileSize
51773
+ });
51774
+ }
51775
+ // 保存进度到 localStorage
51776
+ saveUploadProgress(fileMd5, {
51777
+ completedChunks: completedChunks,
51778
+ uploadedBytes: uploadedBytes,
51779
+ totalChunks: totalChunks,
51780
+ fileName: fileName,
51781
+ fileSize: fileSize,
51782
+ timestamp: Date.now()
51783
+ });
51784
+ }).then(function () {
51785
+ // Step 4: 合并分片
51786
+ return mergeChunks($scope, baseUrl, fileMd5, fileName, fileSize, totalChunks, reqData);
51787
+ }).then(function (mergeResult) {
51788
+ // Step 5: 合并成功,清除进度记录
51789
+ clearUploadProgress(fileMd5);
51790
+ resolve(mergeResult);
51791
+ });
51792
+ });
51793
+ }).catch(function (err) {
51794
+ reject(err);
51795
+ });
51796
+ });
51797
+ }
51798
+
51799
+ /**
51800
+ * 逐片串行上传
51801
+ * 使用 Array.reduce 链式调用,reduce 回调参数 cIdx 天然为每次迭代创建独立闭包,
51802
+ * 避免 for + var 共享变量导致所有分片使用同一个 chunkIndex 的问题。
51803
+ */
51804
+ function uploadChunksSequentially($scope, baseUrl, file, fileMd5, totalChunks, uploadedChunks, fileName, fileSize, chunkSize, onChunkDone) {
51805
+ var uploadedSet = {};
51806
+ for (var i = 0; i < uploadedChunks.length; i++) {
51807
+ uploadedSet[uploadedChunks[i]] = true;
51808
+ }
51809
+
51810
+ // 构建待上传分片索引数组
51811
+ var chunkIndices = [];
51812
+ for (var chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {
51813
+ if (!uploadedSet[chunkIndex]) {
51814
+ chunkIndices.push(chunkIndex);
51815
+ }
51816
+ }
51817
+
51818
+ // reduce 的 cIdx 参数每次迭代都是独立的值,无闭包共享问题
51819
+ return chunkIndices.reduce(function (chain, cIdx) {
51820
+ return chain.then(function () {
51821
+ return uploadSingleChunk($scope, baseUrl, file, cIdx, fileMd5, totalChunks, fileName, fileSize).then(function () {
51822
+ var cStart = cIdx * chunkSize;
51823
+ var cEnd = Math.min(cStart + chunkSize, fileSize);
51824
+ var cBytes = cEnd - cStart;
51825
+ if (onChunkDone) {
51826
+ onChunkDone(cBytes);
51827
+ }
51828
+ });
51829
+ });
51830
+ }, Promise.resolve());
51831
+ }
51832
+ ;// CONCATENATED MODULE: ./packages/ecwflow/wfengine/index.js
51497
51833
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
51498
51834
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
51499
51835
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -51508,6 +51844,7 @@ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(
51508
51844
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
51509
51845
 
51510
51846
 
51847
+
51511
51848
  var install = function install(Vue) {
51512
51849
  var WfEngine = new Vue({
51513
51850
  methods: {
@@ -51725,7 +52062,7 @@ var install = function install(Vue) {
51725
52062
  }
51726
52063
  }
51727
52064
  if ($scope.wfJsonData && $scope.wfJsonData.routes) {
51728
- var rindex = js_cookie__WEBPACK_IMPORTED_MODULE_0___default().get('route-index-' + $scope.wfInstance.id);
52065
+ var rindex = js_cookie_default().get('route-index-' + $scope.wfInstance.id);
51729
52066
  if (rindex !== undefined && rindex !== null) {
51730
52067
  rindex = parseInt(rindex);
51731
52068
  if ($scope.wfJsonData.routes.length > rindex) $scope.submitHandle.route.index = rindex;
@@ -52173,7 +52510,7 @@ var install = function install(Vue) {
52173
52510
  $scope.$http({
52174
52511
  method: 'POST',
52175
52512
  contentType: 'application/x-www-form-urlencoded',
52176
- data: qs__WEBPACK_IMPORTED_MODULE_1___default().stringify(saveData),
52513
+ data: lib_default().stringify(saveData),
52177
52514
  params: params,
52178
52515
  url: wfEngineUrl
52179
52516
  }).then(function (res) {
@@ -52219,7 +52556,7 @@ var install = function install(Vue) {
52219
52556
  });
52220
52557
  }
52221
52558
  if ($scope.wfJsonData && $scope.wfJsonData.routes) {
52222
- var rindex = js_cookie__WEBPACK_IMPORTED_MODULE_0___default().get('route-index-' + $scope.wfInstance.id);
52559
+ var rindex = js_cookie_default().get('route-index-' + $scope.wfInstance.id);
52223
52560
  if (rindex !== undefined && rindex !== null) {
52224
52561
  rindex = parseInt(rindex);
52225
52562
  if ($scope.wfJsonData.routes.length > rindex) $scope.submitHandle.route.index = rindex;
@@ -52294,7 +52631,7 @@ var install = function install(Vue) {
52294
52631
  }
52295
52632
  var submitHandle = JSON.parse(JSON.stringify($scope.submitHandle));
52296
52633
  if (submitType.indexOf('Save') !== -1) {
52297
- js_cookie__WEBPACK_IMPORTED_MODULE_0___default().set('route-index-' + $scope.wfInstance.id, submitHandle.route.index);
52634
+ js_cookie_default().set('route-index-' + $scope.wfInstance.id, submitHandle.route.index);
52298
52635
  var route = $scope.wfJsonData == null || $scope.wfJsonData.routes == null || $scope.wfJsonData.routes.length === 0 ? {
52299
52636
  taskNodes: []
52300
52637
  } : $scope.wfJsonData.routes[submitHandle.route.index];
@@ -52305,14 +52642,14 @@ var install = function install(Vue) {
52305
52642
  if (nextUsers !== '') nextUsers += ';';
52306
52643
  nextUsers += user.id;
52307
52644
  });
52308
- js_cookie__WEBPACK_IMPORTED_MODULE_0___default().set('route-wfuser-' + $scope.curTN.tnID + '-' + wfNode.id, nextUsers);
52645
+ js_cookie_default().set('route-wfuser-' + $scope.curTN.tnID + '-' + wfNode.id, nextUsers);
52309
52646
  }
52310
52647
  });
52311
52648
  delete submitHandle.submitRoute;
52312
52649
  delete submitHandle.nextTNProp;
52313
52650
  delete submitHandle.nextTNUser;
52314
52651
  } else {
52315
- js_cookie__WEBPACK_IMPORTED_MODULE_0___default().set('route-index-' + $scope.wfInstance.id, '', {
52652
+ js_cookie_default().set('route-index-' + $scope.wfInstance.id, '', {
52316
52653
  expires: 0
52317
52654
  });
52318
52655
  var selRoute = $scope.wfJsonData == null || $scope.wfJsonData.routes == null || $scope.wfJsonData.routes.length === 0 ? {
@@ -52355,7 +52692,7 @@ var install = function install(Vue) {
52355
52692
  delete wfNode.users;
52356
52693
  submitHandle.nextTNProp.push(wfNode);
52357
52694
  submitHandle.nextTNUser.push(nextUsers);
52358
- js_cookie__WEBPACK_IMPORTED_MODULE_0___default().set('route-wfuser-' + $scope.curTN.tnID + '-' + wfNode.id, '', {
52695
+ js_cookie_default().set('route-wfuser-' + $scope.curTN.tnID + '-' + wfNode.id, '', {
52359
52696
  expires: 0
52360
52697
  });
52361
52698
  }
@@ -52388,7 +52725,7 @@ var install = function install(Vue) {
52388
52725
  headers: {
52389
52726
  'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
52390
52727
  },
52391
- data: qs__WEBPACK_IMPORTED_MODULE_1___default().stringify(saveData),
52728
+ data: lib_default().stringify(saveData),
52392
52729
  url: (params.wfEngineUrl || $scope.wfEngineUrl || 'workflow/wfInstance') + '/saveWfInstance'
52393
52730
  }).then(function (res) {
52394
52731
  if (res.code === 'success') {
@@ -52661,7 +52998,7 @@ var install = function install(Vue) {
52661
52998
  _this4.$http({
52662
52999
  method: 'POST',
52663
53000
  contentType: 'application/x-www-form-urlencoded',
52664
- data: qs__WEBPACK_IMPORTED_MODULE_1___default().stringify(saveData),
53001
+ data: lib_default().stringify(saveData),
52665
53002
  params: $scope.$vnode.context.wfParams,
52666
53003
  url: 'workflow/wfInstance/getUdmNodeUsers'
52667
53004
  }).then(function (res) {
@@ -52711,7 +53048,7 @@ var install = function install(Vue) {
52711
53048
  headers: {
52712
53049
  'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
52713
53050
  },
52714
- data: qs__WEBPACK_IMPORTED_MODULE_1___default().stringify({
53051
+ data: lib_default().stringify({
52715
53052
  wfInstance: JSON.stringify($scope.wfInstance),
52716
53053
  nextTNUsers: JSON.stringify(nextTNUsers)
52717
53054
  }),
@@ -52869,6 +53206,11 @@ var install = function install(Vue) {
52869
53206
  }
52870
53207
  },
52871
53208
  upload: function upload($scope, uploadUrl, file, params, config) {
53209
+ // 分片上传分流判断:chunkFileSizeThreshold > 0 且文件大小超过阈值
53210
+ var chunkThreshold = window.chunkFileSizeThreshold;
53211
+ if (chunkThreshold > 0 && file && file.size > chunkThreshold * 1024 * 1024) {
53212
+ return chunkedUpload($scope, uploadUrl, file, params, config);
53213
+ }
52872
53214
  var formData = new FormData();
52873
53215
  if (params != null) {
52874
53216
  for (var key in params) {
@@ -52967,7 +53309,7 @@ var install = function install(Vue) {
52967
53309
  });
52968
53310
  Vue.prototype.$wfEngine = WfEngine;
52969
53311
  };
52970
- /* harmony default export */ __webpack_exports__["default"] = (install);
53312
+ /* harmony default export */ var wfengine = (install);
52971
53313
 
52972
53314
  /***/ }),
52973
53315
 
@@ -166104,7 +166446,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-4ff4cf75] .wf-names-checkbox .
166104
166446
 
166105
166447
  /***/ }),
166106
166448
 
166107
- /***/ 80200:
166449
+ /***/ 76190:
166108
166450
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
166109
166451
 
166110
166452
  "use strict";
@@ -166118,7 +166460,7 @@ __webpack_require__.r(__webpack_exports__);
166118
166460
 
166119
166461
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
166120
166462
  // Module
166121
- ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-820fd3ea]:export{stdMenuBgcolor:var(--lmBgColor);stdMenuHover:var(--lmBgColorActive)!important;stdMenuText:var(--lmTextColor)!important;stdMenuAcitveText:var(--lmTextColorActive)!important;stdSubMenuBgcolor:var(--lmBgColor);stdSubMenuHover:hsla(193,8%,67%,.42);stdSubMenuActiveText:var(--lmTextColorActive)!important;darkMenuBgcolor:#304156;darkMenuHover:#263445;darkMenuText:#bfcbd9;darkMenuAcitveText:#ffd04b;darkSubMenuBgcolor:#384b63;darkSubMenuHover:#263445;darkSubMenuActiveText:#ffd04b;sideBarWidth:210px;formLabelWidth:133px;lightBlue:var(--subjectColor)}.el-form[data-v-820fd3ea]{margin-top:20px}.el-form .svg-icon[data-v-820fd3ea]{margin:0 5px}.el-form .el-button[data-v-820fd3ea]{padding:7px 5px}.el-form .el-button[data-v-820fd3ea]:active{color:#606266}.el-form .el-button+.el-button[data-v-820fd3ea]{margin-left:0}.el-form .el-link[data-v-820fd3ea]{line-height:20px;color:var(--subjectColor);cursor:pointer!important}.el-form .is-disabled[data-v-820fd3ea]{color:#c4c5c7!important}.el-form .fileHovering[data-v-820fd3ea]{background:#a5c45d;opacity:.5}.el-form .fileHovering table[data-v-820fd3ea]{opacity:.5}.el-form[data-v-820fd3ea] .attach-name{max-width:100%}.el-form[data-v-820fd3ea] .attach-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-row[data-v-820fd3ea]{padding-top:5px;padding-bottom:5px;line-height:21px}.no-attachments[data-v-820fd3ea]{height:50px;line-height:20px}.drag-handler[data-v-820fd3ea]{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.attach-sorting[data-v-820fd3ea]{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}[data-v-820fd3ea] .atach-draggable .sortable-chosen{background:#f5f7fa}[data-v-820fd3ea] .el-progress-bar{padding-right:40px!important;margin-right:-47px!important}[data-v-820fd3ea] .el-progress__text{float:right}.attach-row[data-v-820fd3ea]:last-child{border-bottom:0!important}.docform-attach-container[data-v-820fd3ea]{padding:20px;margin:0!important;background-color:#fff;height:calc(100vh - 70px)}.attachment-sidebar .sidebar-area[data-v-820fd3ea]{border-bottom:1px solid #eee}.attachment-sidebar .sidebar-area .sidebar-area-title[data-v-820fd3ea]{font-weight:600;line-height:24px;padding:10px}.attachment-sidebar .sidebar-area .sidebar-area-title .el-button--primary[data-v-820fd3ea]{width:6px;padding:0;margin-right:6px;margin-top:5px;border-radius:1px;height:14px;cursor:default;vertical-align:top;display:inline-block}.attachment-sidebar .sidebar-area .sidebar-area-title div[data-v-820fd3ea]{display:inline-block;vertical-align:top}.attachment-sidebar .sidebar-area .sidebar-area-content[data-v-820fd3ea]{padding-left:20px;padding-right:10px;padding-bottom:10px}.attachment-sidebar .sidebar-area .sidebar-area-content .attach-row[data-v-820fd3ea]{border-bottom:1px solid #f3f3f3}.attachment-sidebar .sidebar-area .sidebar-area-content .attach-row .attach-name[data-v-820fd3ea]{margin-top:-3px;width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.attachment-sidebar .sidebar-area[data-v-820fd3ea]:last-child{border-bottom:0}.tb-row-attach-container .el-button--mini[data-v-820fd3ea]{font-size:12px;margin-right:6px}.drag-upload[data-v-820fd3ea]{display:-webkit-box;display:-ms-flexbox;display:flex;height:36px}.drag-upload[data-v-820fd3ea] .el-upload,.drag-upload[data-v-820fd3ea] .el-upload-dragger{width:100%!important;height:100%!important}.drag-upload[data-v-820fd3ea] .el-upload-dragger .drag-upload-box{height:100%;background:#f9fbff}.upload-view .up-btn[data-v-820fd3ea]{text-align:end}.upload-view .up-btn .down[data-v-820fd3ea]{font-size:16px;color:#999;cursor:pointer}.upload-view .upload-box[data-v-820fd3ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.upload-view .upload-box .upload-box-left[data-v-820fd3ea]{-webkit-box-flex:1;-ms-flex:1;flex:1;width:40%}.upload-view .upload-box .upload-box-left .upload-label[data-v-820fd3ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.upload-view .upload-box .upload-box-left .upload-label .label-l[data-v-820fd3ea]{width:12px;height:15px;line-height:20px;margin-left:6px}.upload-view .upload-box .upload-box-left .upload-label .label-l img[data-v-820fd3ea]{width:100%;height:100%}.upload-view .upload-box .upload-box-left .upload-label .label-r[data-v-820fd3ea]{font-size:14px;color:#333;margin-left:10px;-webkit-box-flex:1;-ms-flex:1;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-view .upload-box .upload-box-right[data-v-820fd3ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.upload-view .upload-box .upload-box-right .up-text[data-v-820fd3ea]{font-size:12px;color:#999}.upload-view .upload-box .upload-box-right .up-person[data-v-820fd3ea]{text-align:end;margin-right:60px;margin-left:15px}.upload-view .upload-box .upload-box-right .up-person .upload-name[data-v-820fd3ea]{margin-right:15px}@media (max-width:1740px){.up-person .upload-name[data-v-820fd3ea]{margin-right:5px!important}}.upload-err-desc[data-v-820fd3ea]{color:red;width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-align:left}", ""]);
166463
+ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-401bf7fa]:export{stdMenuBgcolor:var(--lmBgColor);stdMenuHover:var(--lmBgColorActive)!important;stdMenuText:var(--lmTextColor)!important;stdMenuAcitveText:var(--lmTextColorActive)!important;stdSubMenuBgcolor:var(--lmBgColor);stdSubMenuHover:hsla(193,8%,67%,.42);stdSubMenuActiveText:var(--lmTextColorActive)!important;darkMenuBgcolor:#304156;darkMenuHover:#263445;darkMenuText:#bfcbd9;darkMenuAcitveText:#ffd04b;darkSubMenuBgcolor:#384b63;darkSubMenuHover:#263445;darkSubMenuActiveText:#ffd04b;sideBarWidth:210px;formLabelWidth:133px;lightBlue:var(--subjectColor)}.el-form[data-v-401bf7fa]{margin-top:20px}.el-form .svg-icon[data-v-401bf7fa]{margin:0 5px}.el-form .el-button[data-v-401bf7fa]{padding:7px 5px}.el-form .el-button[data-v-401bf7fa]:active{color:#606266}.el-form .el-button+.el-button[data-v-401bf7fa]{margin-left:0}.el-form .el-link[data-v-401bf7fa]{line-height:20px;color:var(--subjectColor);cursor:pointer!important}.el-form .is-disabled[data-v-401bf7fa]{color:#c4c5c7!important}.el-form .fileHovering[data-v-401bf7fa]{background:#a5c45d;opacity:.5}.el-form .fileHovering table[data-v-401bf7fa]{opacity:.5}.el-form[data-v-401bf7fa] .attach-name{max-width:100%}.el-form[data-v-401bf7fa] .attach-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-row[data-v-401bf7fa]{padding-top:5px;padding-bottom:5px;line-height:21px}.no-attachments[data-v-401bf7fa]{height:50px;line-height:20px}.drag-handler[data-v-401bf7fa]{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.attach-sorting[data-v-401bf7fa]{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}[data-v-401bf7fa] .atach-draggable .sortable-chosen{background:#f5f7fa}[data-v-401bf7fa] .el-progress-bar{padding-right:40px!important;margin-right:-47px!important}[data-v-401bf7fa] .el-progress__text{float:right}.attach-row[data-v-401bf7fa]:last-child{border-bottom:0!important}.docform-attach-container[data-v-401bf7fa]{padding:20px;margin:0!important;background-color:#fff;height:calc(100vh - 70px)}.attachment-sidebar .sidebar-area[data-v-401bf7fa]{border-bottom:1px solid #eee}.attachment-sidebar .sidebar-area .sidebar-area-title[data-v-401bf7fa]{font-weight:600;line-height:24px;padding:10px}.attachment-sidebar .sidebar-area .sidebar-area-title .el-button--primary[data-v-401bf7fa]{width:6px;padding:0;margin-right:6px;margin-top:5px;border-radius:1px;height:14px;cursor:default;vertical-align:top;display:inline-block}.attachment-sidebar .sidebar-area .sidebar-area-title div[data-v-401bf7fa]{display:inline-block;vertical-align:top}.attachment-sidebar .sidebar-area .sidebar-area-content[data-v-401bf7fa]{padding-left:20px;padding-right:10px;padding-bottom:10px}.attachment-sidebar .sidebar-area .sidebar-area-content .attach-row[data-v-401bf7fa]{border-bottom:1px solid #f3f3f3}.attachment-sidebar .sidebar-area .sidebar-area-content .attach-row .attach-name[data-v-401bf7fa]{margin-top:-3px;width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.attachment-sidebar .sidebar-area[data-v-401bf7fa]:last-child{border-bottom:0}.tb-row-attach-container .el-button--mini[data-v-401bf7fa]{font-size:12px;margin-right:6px}.drag-upload[data-v-401bf7fa]{display:-webkit-box;display:-ms-flexbox;display:flex;height:36px}.drag-upload[data-v-401bf7fa] .el-upload,.drag-upload[data-v-401bf7fa] .el-upload-dragger{width:100%!important;height:100%!important}.drag-upload[data-v-401bf7fa] .el-upload-dragger .drag-upload-box{height:100%;background:#f9fbff}.upload-view .up-btn[data-v-401bf7fa]{text-align:end}.upload-view .up-btn .down[data-v-401bf7fa]{font-size:16px;color:#999;cursor:pointer}.upload-view .upload-box[data-v-401bf7fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.upload-view .upload-box .upload-box-left[data-v-401bf7fa]{-webkit-box-flex:1;-ms-flex:1;flex:1;width:40%}.upload-view .upload-box .upload-box-left .upload-label[data-v-401bf7fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.upload-view .upload-box .upload-box-left .upload-label .label-l[data-v-401bf7fa]{width:12px;height:15px;line-height:20px;margin-left:6px}.upload-view .upload-box .upload-box-left .upload-label .label-l img[data-v-401bf7fa]{width:100%;height:100%}.upload-view .upload-box .upload-box-left .upload-label .label-r[data-v-401bf7fa]{font-size:14px;color:#333;margin-left:10px;-webkit-box-flex:1;-ms-flex:1;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-view .upload-box .upload-box-right[data-v-401bf7fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.upload-view .upload-box .upload-box-right .up-text[data-v-401bf7fa]{font-size:12px;color:#999}.upload-view .upload-box .upload-box-right .up-person[data-v-401bf7fa]{text-align:end;margin-right:60px;margin-left:15px}.upload-view .upload-box .upload-box-right .up-person .upload-name[data-v-401bf7fa]{margin-right:15px}@media (max-width:1740px){.up-person .upload-name[data-v-401bf7fa]{margin-right:5px!important}}.upload-err-desc[data-v-401bf7fa]{color:red;width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-align:left}", ""]);
166122
166464
  // Exports
166123
166465
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
166124
166466
 
@@ -239438,6 +239780,750 @@ Sortable.mount(Remove, Revert);
239438
239780
 
239439
239781
 
239440
239782
 
239783
+ /***/ }),
239784
+
239785
+ /***/ 75735:
239786
+ /***/ (function(module) {
239787
+
239788
+ (function (factory) {
239789
+ if (true) {
239790
+ // Node/CommonJS
239791
+ module.exports = factory();
239792
+ } else { var glob; }
239793
+ }(function (undefined) {
239794
+
239795
+ 'use strict';
239796
+
239797
+ /*
239798
+ * Fastest md5 implementation around (JKM md5).
239799
+ * Credits: Joseph Myers
239800
+ *
239801
+ * @see http://www.myersdaily.org/joseph/javascript/md5-text.html
239802
+ * @see http://jsperf.com/md5-shootout/7
239803
+ */
239804
+
239805
+ /* this function is much faster,
239806
+ so if possible we use it. Some IEs
239807
+ are the only ones I know of that
239808
+ need the idiotic second function,
239809
+ generated by an if clause. */
239810
+ var add32 = function (a, b) {
239811
+ return (a + b) & 0xFFFFFFFF;
239812
+ },
239813
+ hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
239814
+
239815
+
239816
+ function cmn(q, a, b, x, s, t) {
239817
+ a = add32(add32(a, q), add32(x, t));
239818
+ return add32((a << s) | (a >>> (32 - s)), b);
239819
+ }
239820
+
239821
+ function md5cycle(x, k) {
239822
+ var a = x[0],
239823
+ b = x[1],
239824
+ c = x[2],
239825
+ d = x[3];
239826
+
239827
+ a += (b & c | ~b & d) + k[0] - 680876936 | 0;
239828
+ a = (a << 7 | a >>> 25) + b | 0;
239829
+ d += (a & b | ~a & c) + k[1] - 389564586 | 0;
239830
+ d = (d << 12 | d >>> 20) + a | 0;
239831
+ c += (d & a | ~d & b) + k[2] + 606105819 | 0;
239832
+ c = (c << 17 | c >>> 15) + d | 0;
239833
+ b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
239834
+ b = (b << 22 | b >>> 10) + c | 0;
239835
+ a += (b & c | ~b & d) + k[4] - 176418897 | 0;
239836
+ a = (a << 7 | a >>> 25) + b | 0;
239837
+ d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
239838
+ d = (d << 12 | d >>> 20) + a | 0;
239839
+ c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
239840
+ c = (c << 17 | c >>> 15) + d | 0;
239841
+ b += (c & d | ~c & a) + k[7] - 45705983 | 0;
239842
+ b = (b << 22 | b >>> 10) + c | 0;
239843
+ a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
239844
+ a = (a << 7 | a >>> 25) + b | 0;
239845
+ d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
239846
+ d = (d << 12 | d >>> 20) + a | 0;
239847
+ c += (d & a | ~d & b) + k[10] - 42063 | 0;
239848
+ c = (c << 17 | c >>> 15) + d | 0;
239849
+ b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
239850
+ b = (b << 22 | b >>> 10) + c | 0;
239851
+ a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
239852
+ a = (a << 7 | a >>> 25) + b | 0;
239853
+ d += (a & b | ~a & c) + k[13] - 40341101 | 0;
239854
+ d = (d << 12 | d >>> 20) + a | 0;
239855
+ c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
239856
+ c = (c << 17 | c >>> 15) + d | 0;
239857
+ b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
239858
+ b = (b << 22 | b >>> 10) + c | 0;
239859
+
239860
+ a += (b & d | c & ~d) + k[1] - 165796510 | 0;
239861
+ a = (a << 5 | a >>> 27) + b | 0;
239862
+ d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
239863
+ d = (d << 9 | d >>> 23) + a | 0;
239864
+ c += (d & b | a & ~b) + k[11] + 643717713 | 0;
239865
+ c = (c << 14 | c >>> 18) + d | 0;
239866
+ b += (c & a | d & ~a) + k[0] - 373897302 | 0;
239867
+ b = (b << 20 | b >>> 12) + c | 0;
239868
+ a += (b & d | c & ~d) + k[5] - 701558691 | 0;
239869
+ a = (a << 5 | a >>> 27) + b | 0;
239870
+ d += (a & c | b & ~c) + k[10] + 38016083 | 0;
239871
+ d = (d << 9 | d >>> 23) + a | 0;
239872
+ c += (d & b | a & ~b) + k[15] - 660478335 | 0;
239873
+ c = (c << 14 | c >>> 18) + d | 0;
239874
+ b += (c & a | d & ~a) + k[4] - 405537848 | 0;
239875
+ b = (b << 20 | b >>> 12) + c | 0;
239876
+ a += (b & d | c & ~d) + k[9] + 568446438 | 0;
239877
+ a = (a << 5 | a >>> 27) + b | 0;
239878
+ d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
239879
+ d = (d << 9 | d >>> 23) + a | 0;
239880
+ c += (d & b | a & ~b) + k[3] - 187363961 | 0;
239881
+ c = (c << 14 | c >>> 18) + d | 0;
239882
+ b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
239883
+ b = (b << 20 | b >>> 12) + c | 0;
239884
+ a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
239885
+ a = (a << 5 | a >>> 27) + b | 0;
239886
+ d += (a & c | b & ~c) + k[2] - 51403784 | 0;
239887
+ d = (d << 9 | d >>> 23) + a | 0;
239888
+ c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
239889
+ c = (c << 14 | c >>> 18) + d | 0;
239890
+ b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
239891
+ b = (b << 20 | b >>> 12) + c | 0;
239892
+
239893
+ a += (b ^ c ^ d) + k[5] - 378558 | 0;
239894
+ a = (a << 4 | a >>> 28) + b | 0;
239895
+ d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
239896
+ d = (d << 11 | d >>> 21) + a | 0;
239897
+ c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
239898
+ c = (c << 16 | c >>> 16) + d | 0;
239899
+ b += (c ^ d ^ a) + k[14] - 35309556 | 0;
239900
+ b = (b << 23 | b >>> 9) + c | 0;
239901
+ a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
239902
+ a = (a << 4 | a >>> 28) + b | 0;
239903
+ d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
239904
+ d = (d << 11 | d >>> 21) + a | 0;
239905
+ c += (d ^ a ^ b) + k[7] - 155497632 | 0;
239906
+ c = (c << 16 | c >>> 16) + d | 0;
239907
+ b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
239908
+ b = (b << 23 | b >>> 9) + c | 0;
239909
+ a += (b ^ c ^ d) + k[13] + 681279174 | 0;
239910
+ a = (a << 4 | a >>> 28) + b | 0;
239911
+ d += (a ^ b ^ c) + k[0] - 358537222 | 0;
239912
+ d = (d << 11 | d >>> 21) + a | 0;
239913
+ c += (d ^ a ^ b) + k[3] - 722521979 | 0;
239914
+ c = (c << 16 | c >>> 16) + d | 0;
239915
+ b += (c ^ d ^ a) + k[6] + 76029189 | 0;
239916
+ b = (b << 23 | b >>> 9) + c | 0;
239917
+ a += (b ^ c ^ d) + k[9] - 640364487 | 0;
239918
+ a = (a << 4 | a >>> 28) + b | 0;
239919
+ d += (a ^ b ^ c) + k[12] - 421815835 | 0;
239920
+ d = (d << 11 | d >>> 21) + a | 0;
239921
+ c += (d ^ a ^ b) + k[15] + 530742520 | 0;
239922
+ c = (c << 16 | c >>> 16) + d | 0;
239923
+ b += (c ^ d ^ a) + k[2] - 995338651 | 0;
239924
+ b = (b << 23 | b >>> 9) + c | 0;
239925
+
239926
+ a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
239927
+ a = (a << 6 | a >>> 26) + b | 0;
239928
+ d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
239929
+ d = (d << 10 | d >>> 22) + a | 0;
239930
+ c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
239931
+ c = (c << 15 | c >>> 17) + d | 0;
239932
+ b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
239933
+ b = (b << 21 |b >>> 11) + c | 0;
239934
+ a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
239935
+ a = (a << 6 | a >>> 26) + b | 0;
239936
+ d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
239937
+ d = (d << 10 | d >>> 22) + a | 0;
239938
+ c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
239939
+ c = (c << 15 | c >>> 17) + d | 0;
239940
+ b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
239941
+ b = (b << 21 |b >>> 11) + c | 0;
239942
+ a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
239943
+ a = (a << 6 | a >>> 26) + b | 0;
239944
+ d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
239945
+ d = (d << 10 | d >>> 22) + a | 0;
239946
+ c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
239947
+ c = (c << 15 | c >>> 17) + d | 0;
239948
+ b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
239949
+ b = (b << 21 |b >>> 11) + c | 0;
239950
+ a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
239951
+ a = (a << 6 | a >>> 26) + b | 0;
239952
+ d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
239953
+ d = (d << 10 | d >>> 22) + a | 0;
239954
+ c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
239955
+ c = (c << 15 | c >>> 17) + d | 0;
239956
+ b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
239957
+ b = (b << 21 | b >>> 11) + c | 0;
239958
+
239959
+ x[0] = a + x[0] | 0;
239960
+ x[1] = b + x[1] | 0;
239961
+ x[2] = c + x[2] | 0;
239962
+ x[3] = d + x[3] | 0;
239963
+ }
239964
+
239965
+ function md5blk(s) {
239966
+ var md5blks = [],
239967
+ i; /* Andy King said do it this way. */
239968
+
239969
+ for (i = 0; i < 64; i += 4) {
239970
+ md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
239971
+ }
239972
+ return md5blks;
239973
+ }
239974
+
239975
+ function md5blk_array(a) {
239976
+ var md5blks = [],
239977
+ i; /* Andy King said do it this way. */
239978
+
239979
+ for (i = 0; i < 64; i += 4) {
239980
+ md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
239981
+ }
239982
+ return md5blks;
239983
+ }
239984
+
239985
+ function md51(s) {
239986
+ var n = s.length,
239987
+ state = [1732584193, -271733879, -1732584194, 271733878],
239988
+ i,
239989
+ length,
239990
+ tail,
239991
+ tmp,
239992
+ lo,
239993
+ hi;
239994
+
239995
+ for (i = 64; i <= n; i += 64) {
239996
+ md5cycle(state, md5blk(s.substring(i - 64, i)));
239997
+ }
239998
+ s = s.substring(i - 64);
239999
+ length = s.length;
240000
+ tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
240001
+ for (i = 0; i < length; i += 1) {
240002
+ tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
240003
+ }
240004
+ tail[i >> 2] |= 0x80 << ((i % 4) << 3);
240005
+ if (i > 55) {
240006
+ md5cycle(state, tail);
240007
+ for (i = 0; i < 16; i += 1) {
240008
+ tail[i] = 0;
240009
+ }
240010
+ }
240011
+
240012
+ // Beware that the final length might not fit in 32 bits so we take care of that
240013
+ tmp = n * 8;
240014
+ tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
240015
+ lo = parseInt(tmp[2], 16);
240016
+ hi = parseInt(tmp[1], 16) || 0;
240017
+
240018
+ tail[14] = lo;
240019
+ tail[15] = hi;
240020
+
240021
+ md5cycle(state, tail);
240022
+ return state;
240023
+ }
240024
+
240025
+ function md51_array(a) {
240026
+ var n = a.length,
240027
+ state = [1732584193, -271733879, -1732584194, 271733878],
240028
+ i,
240029
+ length,
240030
+ tail,
240031
+ tmp,
240032
+ lo,
240033
+ hi;
240034
+
240035
+ for (i = 64; i <= n; i += 64) {
240036
+ md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
240037
+ }
240038
+
240039
+ // Not sure if it is a bug, however IE10 will always produce a sub array of length 1
240040
+ // containing the last element of the parent array if the sub array specified starts
240041
+ // beyond the length of the parent array - weird.
240042
+ // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue
240043
+ a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);
240044
+
240045
+ length = a.length;
240046
+ tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
240047
+ for (i = 0; i < length; i += 1) {
240048
+ tail[i >> 2] |= a[i] << ((i % 4) << 3);
240049
+ }
240050
+
240051
+ tail[i >> 2] |= 0x80 << ((i % 4) << 3);
240052
+ if (i > 55) {
240053
+ md5cycle(state, tail);
240054
+ for (i = 0; i < 16; i += 1) {
240055
+ tail[i] = 0;
240056
+ }
240057
+ }
240058
+
240059
+ // Beware that the final length might not fit in 32 bits so we take care of that
240060
+ tmp = n * 8;
240061
+ tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
240062
+ lo = parseInt(tmp[2], 16);
240063
+ hi = parseInt(tmp[1], 16) || 0;
240064
+
240065
+ tail[14] = lo;
240066
+ tail[15] = hi;
240067
+
240068
+ md5cycle(state, tail);
240069
+
240070
+ return state;
240071
+ }
240072
+
240073
+ function rhex(n) {
240074
+ var s = '',
240075
+ j;
240076
+ for (j = 0; j < 4; j += 1) {
240077
+ s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];
240078
+ }
240079
+ return s;
240080
+ }
240081
+
240082
+ function hex(x) {
240083
+ var i;
240084
+ for (i = 0; i < x.length; i += 1) {
240085
+ x[i] = rhex(x[i]);
240086
+ }
240087
+ return x.join('');
240088
+ }
240089
+
240090
+ // In some cases the fast add32 function cannot be used..
240091
+ if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {
240092
+ add32 = function (x, y) {
240093
+ var lsw = (x & 0xFFFF) + (y & 0xFFFF),
240094
+ msw = (x >> 16) + (y >> 16) + (lsw >> 16);
240095
+ return (msw << 16) | (lsw & 0xFFFF);
240096
+ };
240097
+ }
240098
+
240099
+ // ---------------------------------------------------
240100
+
240101
+ /**
240102
+ * ArrayBuffer slice polyfill.
240103
+ *
240104
+ * @see https://github.com/ttaubert/node-arraybuffer-slice
240105
+ */
240106
+
240107
+ if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {
240108
+ (function () {
240109
+ function clamp(val, length) {
240110
+ val = (val | 0) || 0;
240111
+
240112
+ if (val < 0) {
240113
+ return Math.max(val + length, 0);
240114
+ }
240115
+
240116
+ return Math.min(val, length);
240117
+ }
240118
+
240119
+ ArrayBuffer.prototype.slice = function (from, to) {
240120
+ var length = this.byteLength,
240121
+ begin = clamp(from, length),
240122
+ end = length,
240123
+ num,
240124
+ target,
240125
+ targetArray,
240126
+ sourceArray;
240127
+
240128
+ if (to !== undefined) {
240129
+ end = clamp(to, length);
240130
+ }
240131
+
240132
+ if (begin > end) {
240133
+ return new ArrayBuffer(0);
240134
+ }
240135
+
240136
+ num = end - begin;
240137
+ target = new ArrayBuffer(num);
240138
+ targetArray = new Uint8Array(target);
240139
+
240140
+ sourceArray = new Uint8Array(this, begin, num);
240141
+ targetArray.set(sourceArray);
240142
+
240143
+ return target;
240144
+ };
240145
+ })();
240146
+ }
240147
+
240148
+ // ---------------------------------------------------
240149
+
240150
+ /**
240151
+ * Helpers.
240152
+ */
240153
+
240154
+ function toUtf8(str) {
240155
+ if (/[\u0080-\uFFFF]/.test(str)) {
240156
+ str = unescape(encodeURIComponent(str));
240157
+ }
240158
+
240159
+ return str;
240160
+ }
240161
+
240162
+ function utf8Str2ArrayBuffer(str, returnUInt8Array) {
240163
+ var length = str.length,
240164
+ buff = new ArrayBuffer(length),
240165
+ arr = new Uint8Array(buff),
240166
+ i;
240167
+
240168
+ for (i = 0; i < length; i += 1) {
240169
+ arr[i] = str.charCodeAt(i);
240170
+ }
240171
+
240172
+ return returnUInt8Array ? arr : buff;
240173
+ }
240174
+
240175
+ function arrayBuffer2Utf8Str(buff) {
240176
+ return String.fromCharCode.apply(null, new Uint8Array(buff));
240177
+ }
240178
+
240179
+ function concatenateArrayBuffers(first, second, returnUInt8Array) {
240180
+ var result = new Uint8Array(first.byteLength + second.byteLength);
240181
+
240182
+ result.set(new Uint8Array(first));
240183
+ result.set(new Uint8Array(second), first.byteLength);
240184
+
240185
+ return returnUInt8Array ? result : result.buffer;
240186
+ }
240187
+
240188
+ function hexToBinaryString(hex) {
240189
+ var bytes = [],
240190
+ length = hex.length,
240191
+ x;
240192
+
240193
+ for (x = 0; x < length - 1; x += 2) {
240194
+ bytes.push(parseInt(hex.substr(x, 2), 16));
240195
+ }
240196
+
240197
+ return String.fromCharCode.apply(String, bytes);
240198
+ }
240199
+
240200
+ // ---------------------------------------------------
240201
+
240202
+ /**
240203
+ * SparkMD5 OOP implementation.
240204
+ *
240205
+ * Use this class to perform an incremental md5, otherwise use the
240206
+ * static methods instead.
240207
+ */
240208
+
240209
+ function SparkMD5() {
240210
+ // call reset to init the instance
240211
+ this.reset();
240212
+ }
240213
+
240214
+ /**
240215
+ * Appends a string.
240216
+ * A conversion will be applied if an utf8 string is detected.
240217
+ *
240218
+ * @param {String} str The string to be appended
240219
+ *
240220
+ * @return {SparkMD5} The instance itself
240221
+ */
240222
+ SparkMD5.prototype.append = function (str) {
240223
+ // Converts the string to utf8 bytes if necessary
240224
+ // Then append as binary
240225
+ this.appendBinary(toUtf8(str));
240226
+
240227
+ return this;
240228
+ };
240229
+
240230
+ /**
240231
+ * Appends a binary string.
240232
+ *
240233
+ * @param {String} contents The binary string to be appended
240234
+ *
240235
+ * @return {SparkMD5} The instance itself
240236
+ */
240237
+ SparkMD5.prototype.appendBinary = function (contents) {
240238
+ this._buff += contents;
240239
+ this._length += contents.length;
240240
+
240241
+ var length = this._buff.length,
240242
+ i;
240243
+
240244
+ for (i = 64; i <= length; i += 64) {
240245
+ md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));
240246
+ }
240247
+
240248
+ this._buff = this._buff.substring(i - 64);
240249
+
240250
+ return this;
240251
+ };
240252
+
240253
+ /**
240254
+ * Finishes the incremental computation, reseting the internal state and
240255
+ * returning the result.
240256
+ *
240257
+ * @param {Boolean} raw True to get the raw string, false to get the hex string
240258
+ *
240259
+ * @return {String} The result
240260
+ */
240261
+ SparkMD5.prototype.end = function (raw) {
240262
+ var buff = this._buff,
240263
+ length = buff.length,
240264
+ i,
240265
+ tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
240266
+ ret;
240267
+
240268
+ for (i = 0; i < length; i += 1) {
240269
+ tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);
240270
+ }
240271
+
240272
+ this._finish(tail, length);
240273
+ ret = hex(this._hash);
240274
+
240275
+ if (raw) {
240276
+ ret = hexToBinaryString(ret);
240277
+ }
240278
+
240279
+ this.reset();
240280
+
240281
+ return ret;
240282
+ };
240283
+
240284
+ /**
240285
+ * Resets the internal state of the computation.
240286
+ *
240287
+ * @return {SparkMD5} The instance itself
240288
+ */
240289
+ SparkMD5.prototype.reset = function () {
240290
+ this._buff = '';
240291
+ this._length = 0;
240292
+ this._hash = [1732584193, -271733879, -1732584194, 271733878];
240293
+
240294
+ return this;
240295
+ };
240296
+
240297
+ /**
240298
+ * Gets the internal state of the computation.
240299
+ *
240300
+ * @return {Object} The state
240301
+ */
240302
+ SparkMD5.prototype.getState = function () {
240303
+ return {
240304
+ buff: this._buff,
240305
+ length: this._length,
240306
+ hash: this._hash.slice()
240307
+ };
240308
+ };
240309
+
240310
+ /**
240311
+ * Gets the internal state of the computation.
240312
+ *
240313
+ * @param {Object} state The state
240314
+ *
240315
+ * @return {SparkMD5} The instance itself
240316
+ */
240317
+ SparkMD5.prototype.setState = function (state) {
240318
+ this._buff = state.buff;
240319
+ this._length = state.length;
240320
+ this._hash = state.hash;
240321
+
240322
+ return this;
240323
+ };
240324
+
240325
+ /**
240326
+ * Releases memory used by the incremental buffer and other additional
240327
+ * resources. If you plan to use the instance again, use reset instead.
240328
+ */
240329
+ SparkMD5.prototype.destroy = function () {
240330
+ delete this._hash;
240331
+ delete this._buff;
240332
+ delete this._length;
240333
+ };
240334
+
240335
+ /**
240336
+ * Finish the final calculation based on the tail.
240337
+ *
240338
+ * @param {Array} tail The tail (will be modified)
240339
+ * @param {Number} length The length of the remaining buffer
240340
+ */
240341
+ SparkMD5.prototype._finish = function (tail, length) {
240342
+ var i = length,
240343
+ tmp,
240344
+ lo,
240345
+ hi;
240346
+
240347
+ tail[i >> 2] |= 0x80 << ((i % 4) << 3);
240348
+ if (i > 55) {
240349
+ md5cycle(this._hash, tail);
240350
+ for (i = 0; i < 16; i += 1) {
240351
+ tail[i] = 0;
240352
+ }
240353
+ }
240354
+
240355
+ // Do the final computation based on the tail and length
240356
+ // Beware that the final length may not fit in 32 bits so we take care of that
240357
+ tmp = this._length * 8;
240358
+ tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
240359
+ lo = parseInt(tmp[2], 16);
240360
+ hi = parseInt(tmp[1], 16) || 0;
240361
+
240362
+ tail[14] = lo;
240363
+ tail[15] = hi;
240364
+ md5cycle(this._hash, tail);
240365
+ };
240366
+
240367
+ /**
240368
+ * Performs the md5 hash on a string.
240369
+ * A conversion will be applied if utf8 string is detected.
240370
+ *
240371
+ * @param {String} str The string
240372
+ * @param {Boolean} [raw] True to get the raw string, false to get the hex string
240373
+ *
240374
+ * @return {String} The result
240375
+ */
240376
+ SparkMD5.hash = function (str, raw) {
240377
+ // Converts the string to utf8 bytes if necessary
240378
+ // Then compute it using the binary function
240379
+ return SparkMD5.hashBinary(toUtf8(str), raw);
240380
+ };
240381
+
240382
+ /**
240383
+ * Performs the md5 hash on a binary string.
240384
+ *
240385
+ * @param {String} content The binary string
240386
+ * @param {Boolean} [raw] True to get the raw string, false to get the hex string
240387
+ *
240388
+ * @return {String} The result
240389
+ */
240390
+ SparkMD5.hashBinary = function (content, raw) {
240391
+ var hash = md51(content),
240392
+ ret = hex(hash);
240393
+
240394
+ return raw ? hexToBinaryString(ret) : ret;
240395
+ };
240396
+
240397
+ // ---------------------------------------------------
240398
+
240399
+ /**
240400
+ * SparkMD5 OOP implementation for array buffers.
240401
+ *
240402
+ * Use this class to perform an incremental md5 ONLY for array buffers.
240403
+ */
240404
+ SparkMD5.ArrayBuffer = function () {
240405
+ // call reset to init the instance
240406
+ this.reset();
240407
+ };
240408
+
240409
+ /**
240410
+ * Appends an array buffer.
240411
+ *
240412
+ * @param {ArrayBuffer} arr The array to be appended
240413
+ *
240414
+ * @return {SparkMD5.ArrayBuffer} The instance itself
240415
+ */
240416
+ SparkMD5.ArrayBuffer.prototype.append = function (arr) {
240417
+ var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),
240418
+ length = buff.length,
240419
+ i;
240420
+
240421
+ this._length += arr.byteLength;
240422
+
240423
+ for (i = 64; i <= length; i += 64) {
240424
+ md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));
240425
+ }
240426
+
240427
+ this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);
240428
+
240429
+ return this;
240430
+ };
240431
+
240432
+ /**
240433
+ * Finishes the incremental computation, reseting the internal state and
240434
+ * returning the result.
240435
+ *
240436
+ * @param {Boolean} raw True to get the raw string, false to get the hex string
240437
+ *
240438
+ * @return {String} The result
240439
+ */
240440
+ SparkMD5.ArrayBuffer.prototype.end = function (raw) {
240441
+ var buff = this._buff,
240442
+ length = buff.length,
240443
+ tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
240444
+ i,
240445
+ ret;
240446
+
240447
+ for (i = 0; i < length; i += 1) {
240448
+ tail[i >> 2] |= buff[i] << ((i % 4) << 3);
240449
+ }
240450
+
240451
+ this._finish(tail, length);
240452
+ ret = hex(this._hash);
240453
+
240454
+ if (raw) {
240455
+ ret = hexToBinaryString(ret);
240456
+ }
240457
+
240458
+ this.reset();
240459
+
240460
+ return ret;
240461
+ };
240462
+
240463
+ /**
240464
+ * Resets the internal state of the computation.
240465
+ *
240466
+ * @return {SparkMD5.ArrayBuffer} The instance itself
240467
+ */
240468
+ SparkMD5.ArrayBuffer.prototype.reset = function () {
240469
+ this._buff = new Uint8Array(0);
240470
+ this._length = 0;
240471
+ this._hash = [1732584193, -271733879, -1732584194, 271733878];
240472
+
240473
+ return this;
240474
+ };
240475
+
240476
+ /**
240477
+ * Gets the internal state of the computation.
240478
+ *
240479
+ * @return {Object} The state
240480
+ */
240481
+ SparkMD5.ArrayBuffer.prototype.getState = function () {
240482
+ var state = SparkMD5.prototype.getState.call(this);
240483
+
240484
+ // Convert buffer to a string
240485
+ state.buff = arrayBuffer2Utf8Str(state.buff);
240486
+
240487
+ return state;
240488
+ };
240489
+
240490
+ /**
240491
+ * Gets the internal state of the computation.
240492
+ *
240493
+ * @param {Object} state The state
240494
+ *
240495
+ * @return {SparkMD5.ArrayBuffer} The instance itself
240496
+ */
240497
+ SparkMD5.ArrayBuffer.prototype.setState = function (state) {
240498
+ // Convert string to buffer
240499
+ state.buff = utf8Str2ArrayBuffer(state.buff, true);
240500
+
240501
+ return SparkMD5.prototype.setState.call(this, state);
240502
+ };
240503
+
240504
+ SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;
240505
+
240506
+ SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;
240507
+
240508
+ /**
240509
+ * Performs the md5 hash on an array buffer.
240510
+ *
240511
+ * @param {ArrayBuffer} arr The array buffer
240512
+ * @param {Boolean} [raw] True to get the raw string, false to get the hex one
240513
+ *
240514
+ * @return {String} The result
240515
+ */
240516
+ SparkMD5.ArrayBuffer.hash = function (arr, raw) {
240517
+ var hash = md51_array(new Uint8Array(arr)),
240518
+ ret = hex(hash);
240519
+
240520
+ return raw ? hexToBinaryString(ret) : ret;
240521
+ };
240522
+
240523
+ return SparkMD5;
240524
+ }));
240525
+
240526
+
239441
240527
  /***/ }),
239442
240528
 
239443
240529
  /***/ 88310:
@@ -262410,19 +263496,19 @@ var update = add("215aea34", content, true, {"sourceMap":false,"shadowMode":fals
262410
263496
 
262411
263497
  /***/ }),
262412
263498
 
262413
- /***/ 24338:
263499
+ /***/ 13596:
262414
263500
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
262415
263501
 
262416
263502
  // style-loader: Adds some css to the DOM by adding a <style> tag
262417
263503
 
262418
263504
  // load the styles
262419
- var content = __webpack_require__(80200);
263505
+ var content = __webpack_require__(76190);
262420
263506
  if(content.__esModule) content = content.default;
262421
263507
  if(typeof content === 'string') content = [[module.id, content, '']];
262422
263508
  if(content.locals) module.exports = content.locals;
262423
263509
  // add the styles to the DOM
262424
263510
  var add = (__webpack_require__(99548)/* ["default"] */ .A)
262425
- var update = add("24d90c28", content, true, {"sourceMap":false,"shadowMode":false});
263511
+ var update = add("05c6b026", content, true, {"sourceMap":false,"shadowMode":false});
262426
263512
 
262427
263513
  /***/ }),
262428
263514
 
@@ -286368,87 +287454,87 @@ var asyncComponents = [
286368
287454
  }],
286369
287455
  // ========== ecwapp/Wflowform 工作流表单子组件 → chunk: wflow-form ==========
286370
287456
  ['Attachment', function () {
286371
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287457
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286372
287458
  return m.Attachment;
286373
287459
  });
286374
287460
  }], ['BodyFile', function () {
286375
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287461
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286376
287462
  return m.BodyFile;
286377
287463
  });
286378
287464
  }], ['CommandBar', function () {
286379
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287465
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286380
287466
  return m.CommandBar;
286381
287467
  });
286382
287468
  }], ['HandleIdea', function () {
286383
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287469
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286384
287470
  return m.HandleIdea;
286385
287471
  });
286386
287472
  }], ['IdeaInputBox', function () {
286387
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287473
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286388
287474
  return m.IdeaInputBox;
286389
287475
  });
286390
287476
  }], ['ModifyWflogAddUser', function () {
286391
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287477
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286392
287478
  return m.ModifyWflogAddUser;
286393
287479
  });
286394
287480
  }], ['ModifyWflogIdea', function () {
286395
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287481
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286396
287482
  return m.ModifyWflogIdea;
286397
287483
  });
286398
287484
  }], ['WriteToReadIdea', function () {
286399
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287485
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286400
287486
  return m.WriteToReadIdea;
286401
287487
  });
286402
287488
  }], ['ModifyWflogSubmitFile', function () {
286403
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287489
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286404
287490
  return m.ModifyWflogSubmitFile;
286405
287491
  });
286406
287492
  }], ['ModifyWfNodelog', function () {
286407
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287493
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286408
287494
  return m.ModifyWfNodelog;
286409
287495
  });
286410
287496
  }], ['SelectOuterDeputy', function () {
286411
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287497
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286412
287498
  return m.SelectOuterDeputy;
286413
287499
  });
286414
287500
  }], ['SubmitHandle', function () {
286415
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287501
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286416
287502
  return m.SubmitHandle;
286417
287503
  });
286418
287504
  }], ['SubmitDialog', function () {
286419
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287505
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286420
287506
  return m.SubmitDialog;
286421
287507
  });
286422
287508
  }], ['WfNodelogList', function () {
286423
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287509
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286424
287510
  return m.WfNodelogList;
286425
287511
  });
286426
287512
  }], ['WflogAddReader', function () {
286427
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287513
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286428
287514
  return m.WflogAddReader;
286429
287515
  });
286430
287516
  }], ['WflowView', function () {
286431
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287517
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286432
287518
  return m.WflowView;
286433
287519
  });
286434
287520
  }], ['ImgView', function () {
286435
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287521
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286436
287522
  return m.ImgView;
286437
287523
  });
286438
287524
  }], ['IdeaSignature', function () {
286439
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287525
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286440
287526
  return m.IdeaSignature;
286441
287527
  });
286442
287528
  }], ['ReplaceFile', function () {
286443
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287529
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286444
287530
  return m.ReplaceFile;
286445
287531
  });
286446
287532
  }], ['ViewBodyFile', function () {
286447
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287533
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286448
287534
  return m.ViewBodyFile;
286449
287535
  });
286450
287536
  }], ['WformLayout', function () {
286451
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462)).then(function (m) {
287537
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663)).then(function (m) {
286452
287538
  return m.WformLayout;
286453
287539
  });
286454
287540
  }],
@@ -286692,7 +287778,7 @@ var wappaio_install = function install(Vue) {
286692
287778
  });
286693
287779
 
286694
287780
  // 3. 异步加载工作流引擎插件(独立 chunk)
286695
- Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55543)).then(function (m) {
287781
+ Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 88838)).then(function (m) {
286696
287782
  Vue.use(m.default || m);
286697
287783
  });
286698
287784
  };
@@ -286730,10 +287816,10 @@ var webSocket = websocket/* default */.A;
286730
287816
 
286731
287817
  // ---------- 工作流相关 ----------
286732
287818
  var WfengineModule = function WfengineModule() {
286733
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55543));
287819
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 88838));
286734
287820
  };
286735
287821
  var WflowformModule = function WflowformModule() {
286736
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 53462));
287822
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 55663));
286737
287823
  };
286738
287824
  var WflowDesignerModule = function WflowDesignerModule() {
286739
287825
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 34660));