/******/ (function() { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ 3128:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {

"use strict";

// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.to-string.js
var es_object_to_string = __webpack_require__(8188);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.promise.js
var es_promise = __webpack_require__(3439);
// EXTERNAL MODULE: ../../node_modules/react/index.js
var react = __webpack_require__(2784);
// EXTERNAL MODULE: ../../node_modules/react-dom/index.js
var react_dom = __webpack_require__(8316);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.function.bind.js
var es_function_bind = __webpack_require__(5584);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.slice.js
var es_array_slice = __webpack_require__(2501);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.set-prototype-of.js
var es_object_set_prototype_of = __webpack_require__(2506);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.get-prototype-of.js
var es_object_get_prototype_of = __webpack_require__(6928);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.reflect.construct.js
var es_reflect_construct = __webpack_require__(1229);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.create.js
var es_object_create = __webpack_require__(7256);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.define-property.js
var es_object_define_property = __webpack_require__(5094);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.symbol.js
var es_symbol = __webpack_require__(4115);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.symbol.description.js
var es_symbol_description = __webpack_require__(634);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.symbol.iterator.js
var es_symbol_iterator = __webpack_require__(796);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.iterator.js
var es_array_iterator = __webpack_require__(5735);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.iterator.js
var es_string_iterator = __webpack_require__(8673);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/web.dom-collections.iterator.js
var web_dom_collections_iterator = __webpack_require__(6886);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/web.timers.js
var web_timers = __webpack_require__(9826);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.find.js
var es_array_find = __webpack_require__(9228);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.assign.js
var es_object_assign = __webpack_require__(3105);
// EXTERNAL MODULE: ../../node_modules/jsencrypt/lib/index.js + 15 modules
var lib = __webpack_require__(7050);
// EXTERNAL MODULE: ../../node_modules/classnames/index.js
var classnames = __webpack_require__(2779);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
;// CONCATENATED MODULE: ./src/page/mobile/KingdeeCloud.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var mobile_KingdeeCloud = ({"title":"_1RK6yejh","phoneCodeItem":"_2XKZhPgs","btn":"qXOAeO37","disable":"_2t6ocKEN","verifyCodeItem":"R9nGZN6h","graphicCode":"_3l74qXIv","hidden":"_2njOS2g9","tools":"_3uyDmdYR","msgLogin":"_2dDV_9Sv","findPassword":"_3iQsQ8kU"});
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.some.js
var es_array_some = __webpack_require__(7321);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.map.js
var es_array_map = __webpack_require__(3450);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.function.name.js
var es_function_name = __webpack_require__(6936);
;// CONCATENATED MODULE: ./src/page/mobile/base/DropdownList.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var base_DropdownList = ({"nothing":"_6tDMy1uP","dropdown":"_2wpRBs-b","text":"ZsBDuF6y","moreIcon":"_3Oac2lhN","mask":"_3Fdp3lQ9","maskHeader":"TVMj7oCO","title":"_2B82wCvp","close":"_2LzY_o2T","pannel":"SYNcYa_d","items":"P0i_5TyW","item":"_2zOI72PW","btn":"_3-AVYZre","pannelSlideIn":"_20CYwiXM","pannelSlideOut":"_1UCPzTLL","maskSideIn":"_1Exz1hEF","maskSideOut":"_1uxC0ub4"});
;// CONCATENATED MODULE: ./src/store.js
var store_store = {
  accountId: '',
  lang: 'zh_CN',
  account: '',
  password: '',
  verifyCode: '',
  phoneCode: '',
  newPassword: '',
  confirmPassword: '',
  configuration: {},
  yzjAccount: '',
  yzjPwd: '',
  role: '',
  isCompleteLoadConfig: false,
  // 是否加载完配置信息
  loadingText: '',
  token: '',
  openid: '',
  scantype: '',
  randomCode: '',
  hasLDAP: true,
  usernamepsw: '',
  iskdbrand: '',
  dataCenter: [],
  licenseInfo: {
    oldAccountId: '',
    oldLanguage: '',
    data: []
  },
  setValue: function setValue(key, value) {
    this[key] = value;
  },
  setValueArr: function setValueArr() {
    var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

    for (var key in obj) {
      this[key] = obj[key];
    }
  }
};

if (false) {}

/* harmony default export */ var src_store = (store_store);
var mStore = {
  lang: 'zh_CN',
  accountId: '',
  account: '',
  password: '',
  verifyCode: '',
  phoneCode: '',
  newPassword: '',
  confirmPassword: '',
  closeEncrypt: {
    flag: false,
    id: ''
  },
  setValue: function setValue(key, value) {
    this[key] = value;
  }
};

if (false) {}

window.mStore = mStore;
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.for-each.js
var es_array_for_each = __webpack_require__(8695);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/web.dom-collections.for-each.js
var web_dom_collections_for_each = __webpack_require__(1939);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.keys.js
var es_object_keys = __webpack_require__(4769);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.join.js
var es_array_join = __webpack_require__(6781);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.is-array.js
var es_array_is_array = __webpack_require__(8145);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.concat.js
var es_array_concat = __webpack_require__(8178);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.date.to-string.js
var es_date_to_string = __webpack_require__(9120);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.regexp.to-string.js
var es_regexp_to_string = __webpack_require__(8233);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.parse-int.js
var es_parse_int = __webpack_require__(8995);
// EXTERNAL MODULE: ./src/util/long.js
var util_long = __webpack_require__(7421);
var long_default = /*#__PURE__*/__webpack_require__.n(util_long);
;// CONCATENATED MODULE: ./src/util/trace.js






function Trace() {
  this.seedUniquifier = 8682522807148012;
  this.multiplier = 0x5DEECE66D;
  this.addend = 0xB; // 下面算法得到65535,java里是1L<<48 得到281474976710655
  // this.mask = (1 << 48) - 1;

  this.mask = 281474976710655;
  this.seed = 0;
  this.step = 1; // this.seed = (this.seedUniquifier ^ this.multiplier) & this.mask;

  this.fseedUniquifier = function () {
    var next = this.seedUniquifier * 181783497276652981;
    this.seedUniquifier = next;
    return next;
  };

  this.initialScramble = function (seed) {
    return (seed ^ this.multiplier) & this.mask;
  };

  this.nextLong = function () {
    var date = new Date();
    var time1 = date.getTime();
    this.seed = this.initialScramble(this.fseedUniquifier() ^ time1 + Math.round(Math.random() * 100)); // console.log("seed:"+this.seed);
    // var v1 = (this.next(32) << 32);
    // var val = v1 + this.next(32);
    // return val;

    var longVal = new (long_default())('0x' + this.next(32, false), '0x' + this.next(32, true), true); // console.log(longVal)

    var a = longVal.toString(16);
    return a; // return this.next(32,true)+this.next(32,false);
  };

  this.next = function (bits, high) {
    var oldseed = this.seed;
    var nextseed = oldseed * this.multiplier + this.addend & this.mask; // nextseed = (nextseed * this.multiplier + this.addend) & this.mask;

    this.seed = nextseed; // console.log("nextseed:"+nextseed);

    nextseed = Math.abs(nextseed) + Math.round(Math.random() * 100) + this.step;
    this.step++;

    if (this.step >= 999999) {
      this.step = 1;
    } // console.log(nextseed.toString(16))
    // console.log(nextseed.toString(2))


    var b = nextseed.toString(2); // if (high) {
    //   // while(b.length<31){
    //   //	b="1"+b;
    //   // }
    //   // b="0"+b;
    //   while (b.length < 32) {
    //     b = '0' + b
    //   }
    // } else {
    //   while (b.length < 32) {
    //     // var p =  Math.round(Math.random())+"";
    //     b = '0' + b
    //   }
    //   // console.log("v:"+b)
    // }

    while (b.length < 32) {
      // var p =  Math.round(Math.random())+"";
      b = '0' + b;
    } // console.log(b)


    nextseed = parseInt(b, 2); // nextseed = nextseed& 4294967295
    // console.log(nextseed)
    // console.log(nextseed.toString(16))
    // return nextseed >>> (48 - bits)

    return nextseed.toString(16);
  };

  this.traceId = function () {
    return this.nextLong();
  };
}

function getTraceId() {
  return new Trace().traceId();
}

/* harmony default export */ var trace = (getTraceId);
;// CONCATENATED MODULE: ./src/api/service.js
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }


















function getAllDataCenter() {
  return getApi('auth/getAllDatacenters.do');
}
function service_isNeedVerifyCode() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/isNeedDisplayVerify.do', data);
}
function service_getVerifyCode() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/verifyCode.do', data);
}
function getVerifyCodeByPhone() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  // 找回密码时，获取图形验证码。需要传入手机号码
  return postApi('auth/getVerifyCode.do', data);
}
function service_verifyGraphicCode() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/verifyCode4Pwd.do', data);
}
function service_verifyPhone() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/verifyPhone.do', data);
}
function verifyPhoneCode() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/verifyPhoneCode.do', data);
}
function verifyEmail() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/verifyEmail.do', data);
}
function getYzjQrcode() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return getApi('auth/getQRURL.do', data);
}
function getYzjQrcodePrivate() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return getApi('auth/yzjQRlogin.do', data);
}
function checkLoginState() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return getApi('auth/aiLoginPoll.do', data);
}
function getVoiceToken() {
  return getApi('auth/voiceToken.do');
}
function checkVoiceState() {
  return getApi('auth/getVoiceSayingFlag.do');
}
function getLangData() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return getApi("./login/lang/".concat(data.lang, ".json"));
}
function service_isNeedMsgValidate() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/isNeedNewFactor.do', data);
}
function service_sendMessage() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/sendMessage.do', data);
}
function getErrorMessage() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/getLoginErrorMessage.do', data);
}
function validateLicense() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/validateLicDate.do', data);
}
function service_loadConfiguration() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/getCustomData.do', data);
}
function getCloudPhoneCode() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/getCloudPhoneCode.do', data);
}
function service_submit() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/yzjlogin.do', Object.assign({
    type: 'user'
  }, data));
}
function service_getPublicKey() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/getPublicKey.do', data);
}
function faceDetection() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/collectFaceImg.do', data);
}
function service_resetPassword() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/resetPassword.do', data);
}
function service_activeUser() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/activeUser.do', data);
}
function demoSubmit() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/demoSSO.do', data);
}
function smsLogin() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/smsLogin.do', data);
}
function queryParameters() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('auth/queryParameters.do', data);
}
function getUserLanguage() {
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return postApi('api/login/getUserLanguage.do', data);
}

var getApi = function getApi(url, data) {
  if (data) {
    var params = [];
    Object.keys(data).forEach(function (key) {
      return params.push(key + '=' + encodeParam(data[key]));
    });
    url += '?' + params.join('&');
  }

  return window.fetch(url, {
    mode: 'cors',
    headers: {
      traceId: trace()
    },
    credentials: 'include'
  }).then(function (response) {
    if (response.ok) {
      return response.json();
    } else {
      throw new Error(response.statusText);
    }
  }).then(function (jsonObj) {
    if (Array.isArray(jsonObj) && jsonObj[0]) {
      var _jsonObj$ = jsonObj[0],
          a = _jsonObj$.a,
          p = _jsonObj$.p;

      if (a === 'showErrMsg' && Array.isArray(p)) {
        var _p$ = p[0],
            errorInfo = _p$.errorInfo,
            errorTitle = _p$.errorTitle;
        throw new Error("\u3010\u670D\u52A1\u7AEF\u62A5\u9519\u3011 \u6807\u9898:".concat(errorTitle, "\u5185\u5BB9:").concat(errorInfo));
      }
    }

    return jsonObj;
  })["catch"](function (error) {
    throw new Error('fetch data error: ' + error.message);
  });
};

var postApi = function postApi(url) {
  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  var post = Object.keys(data).map(function (key) {
    return key + '=' + encodeParam(data[key]);
  }).join('&');
  return window.fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;',
      ajax: true,
      traceId: trace()
    },
    mode: 'cors',
    credentials: 'include',
    body: post
  }).then(function (response) {
    if (response.ok) {
      return response.json();
    } else {
      throw new Error(response.statusText);
    }
  }).then(function (jsonObj) {
    if (Array.isArray(jsonObj) && jsonObj[0]) {
      var _jsonObj$2 = jsonObj[0],
          a = _jsonObj$2.a,
          p = _jsonObj$2.p;

      if (a === 'showErrMsg' && Array.isArray(p)) {
        var _p$2 = p[0],
            errorInfo = _p$2.errorInfo,
            errorTitle = _p$2.errorTitle;
        throw new Error("".concat(errorInfo, ":  ") + errorTitle);
      }
    }

    return jsonObj;
  })["catch"](function (error) {
    throw new Error('fetch data error: ' + error.message);
  });
};

var encodeParam = function encodeParam() {
  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

  if (_typeof(value) === 'object') {
    return encodeURIComponent(JSON.stringify(value));
  } else {
    return encodeURIComponent(value);
  }
};
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.find-index.js
var es_array_find_index = __webpack_require__(9949);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.includes.js
var es_array_includes = __webpack_require__(9529);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.includes.js
var es_string_includes = __webpack_require__(1235);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.regexp.constructor.js
var es_regexp_constructor = __webpack_require__(7368);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.regexp.exec.js
var es_regexp_exec = __webpack_require__(7950);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.match.js
var es_string_match = __webpack_require__(4069);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.search.js
var es_string_search = __webpack_require__(4908);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.index-of.js
var es_array_index_of = __webpack_require__(4083);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.from.js
var es_array_from = __webpack_require__(7233);
;// CONCATENATED MODULE: ./src/const.js
var SUCCESS = 0;
var FAILURE = 1;
var LOGINING = 2; // localStorage中存储当前语言的key

var const_CURRENT_LANG = 'login-lang'; // localStorage中存储当前数据中心ID的key

var CURRENT_ACCOUNDID = 'login-accountId'; // localStorage中存储上一次记住密码的账号信息

var ACCOUNT_INFO = 'login-accountInfo'; // localStorage中存储上一次成功登陆的账号

var ACCOUNT = 'login-account'; // localStorage中存储登录页面的自定义配置信息

var CONFIG = 'login-config'; // 存储登录页用户信息

var LOGIN_USERINFO = 'login-userinfo'; //

var DEFAULT_LANG = 'login-defaultLang';
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.replace.js
var es_string_replace = __webpack_require__(5940);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.trim.js
var es_string_trim = __webpack_require__(5794);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.string.starts-with.js
var es_string_starts_with = __webpack_require__(4112);
;// CONCATENATED MODULE: ./src/util/toolUtils.js













function validateEmail(email) {
  var re = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
  return re.test(email);
}
function isPhoneNumber(tel) {
  var reg = /^0?1[3|4|5|6|7|8|9][0-9]\d{8}$/;
  return reg.test(tel);
}
function isAdministrator(account) {
  return account === 'administrator';
}
/**
 * 采用正则表达式获取地址栏参数
 * @param {*} name
 */

function getQueryString(name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]);
  return null;
}
function getRedirect() {
  var search = window.location.search.substr(1);
  var redirectIndex = search.indexOf('redirect=');

  if (redirectIndex !== -1) {
    return search.substr(9);
  }
}
function getRedirectQueryString(name) {
  var redirect = getQueryString('redirect');
  var result = null;

  if (redirect) {
    redirect = decodeURIComponent(redirect);
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); // 截断取后半段字符串

    var index = redirect.indexOf('?');

    if (index > 0) {
      var r = redirect.substr(index + 1).match(reg);

      if (r !== null) {
        result = r[2];
      }
    }
  }

  return result;
}
function getCurrentEnvrionment() {
  var pathname = window.location.pathname;
  var matchArr = pathname.match(/\/(\w+)\//);
  return matchArr ? matchArr[1] : '';
}
function toolUtils_getNameWithCurrentEnvrionment(name) {
  var currentEnvironment = getCurrentEnvrionment();
  return currentEnvironment !== '' ? currentEnvironment + '-' + name : name;
}
function getFaviconElement() {
  var links = document.head.getElementsByTagName('link') || [];
  var faviconElement = Array.prototype.find.call(links, function (element) {
    return element.rel === 'icon';
  });
  return faviconElement;
} // 函数防抖

function debounce(fn, delay) {
  var timer = null;
  return function () {
    clearTimeout(timer);
    timer = setTimeout(function () {
      fn();
    }, delay);
  };
} // 处理url中的参数

function getUrlParam(sUrl, sKey) {
  var result = {};
  sUrl.replace(/[?&]([^=&#]+)=([^&#]*)/g, function (a, k, v) {
    if (result[k] !== undefined) {
      var t = result[k];
      result[k] = [].concat(t, v);
    } else {
      result[k] = v;
    }
  });

  if (sKey === undefined) {
    return result;
  } else {
    return result[sKey] || '';
  }
}
/*
 * 获取图片全路径
 * addVersion: 添加图片版本信息
 */

function getImgFullPath() {
  var imgPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
  var addVersion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
  imgPath = imgPath || ''; // 兼容为null下报错
  // base64或者http完整地址路径直接返回

  if (/^data:?/.test(imgPath) || /^http(s)?/.test(imgPath)) {
    return imgPath;
  }

  if (!imgPath.trim()) {
    // imgPath发送的null
    return '';
  }

  if (imgPath.startsWith('/')) {
    // 静态部署需求,图片地址最前部分不要斜线
    imgPath = imgPath.substr(1, imgPath.length);
  }

  return imgPath;
}
;// CONCATENATED MODULE: ./src/mock/data.js
var data_langList = [{
  value: 'zh_CN',
  text: '中文(简)',
  select: true
} // { 'value': 'zh_TW', 'text': '中文(繁)' },
// { 'value': 'en_US', 'text': 'English' }
];
;// CONCATENATED MODULE: ./src/util/dataUtil.js
/* provided dependency */ var console = __webpack_require__(3716);
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }



































function convertDataCenter(data) {
  return data.map(function (item) {
    return {
      text: item.accountName,
      value: item.accountId,
      // sourceType: item.userSourceType,
      select: item["default"]
    };
  });
}
/**
 * @param {Array} data 数据中心数组
 * @param {Array} type 过滤的数据中心类型
 */

function filterDataCenter(key, defaultCenter, types, dataPipeModel, currentAccountId) {
  try {
    var newDataCenter;
    var dataCenter = store.dataCenter || [];

    if (currentAccountId && dataCenter.length > 0) {
      var i = dataCenter.findIndex(function (_ref) {
        var value = _ref.value;
        return value === currentAccountId;
      });
      newDataCenter = i === -1 ? dataCenter : [].concat(_toConsumableArray(dataCenter.slice(i, i + 1)), _toConsumableArray(dataCenter.slice(0, i)), _toConsumableArray(dataCenter.slice(i + 1, dataCenter.length)));
    } else {
      newDataCenter = dataCenter;
    }

    for (var index = 0; index < newDataCenter.length; index++) {
      var accountId = newDataCenter[index].value;
      dataUtil_queryParameters(accountId, newDataCenter, index, dataPipeModel).then(function (data) {
        var _data$userSourceType;

        if (data !== null && data !== void 0 && (_data$userSourceType = data.userSourceType) !== null && _data$userSourceType !== void 0 && _data$userSourceType.some(function (type) {
          return types.includes(type);
        })) {
          dataPipeModel && dataPipeModel.sendData({
            type: key,
            data: data
          });
        }
      })["catch"](function (error) {
        console.error('filterDataCenter error:', error);
      });
    }
  } catch (error) {
    console.error('dataCenter error:', error);
  }
}
function dataUtil_queryParameters(accountId, dataCenter, index, dataPipeModel, isPC) {
  return new Promise(function (resolve, reject) {
    var _dataCenter$index = dataCenter[index],
        domain = _dataCenter$index.domain,
        userSourceType = _dataCenter$index.userSourceType,
        value = _dataCenter$index.value,
        enableDataCenterLoginPage = _dataCenter$index.enableDataCenterLoginPage;
    var isHandleClick = src_store.toggleDataCenter;
    src_store.setValue('toggleDataCenter', false);

    if (value === accountId && userSourceType && enableDataCenterLoginPage !== true && domain !== undefined) {
      return resolve(dataCenter[index]);
    }

    queryParameters({
      accountId: accountId
    }).then(function (data) {
      var errorMessage = data.errorMessage,
          success = data.success,
          hasLDAP = data.hasLDAP,
          domain = data.domain,
          userSourceType = data.userSourceType,
          defaultUserSourceType = data.defaultUserSourceType,
          closeEncrypt = data.closeEncrypt,
          _data$rsaPadding = data.rsaPadding,
          rsaPadding = _data$rsaPadding === void 0 ? false : _data$rsaPadding,
          enableDataCenterLoginPage = data.enableDataCenterLoginPage,
          needSignPrivacy = data.needSignPrivacy;

      if (!success) {
        var error = {
          message: errorMessage,
          level: data.level || 1
        };
        dataPipeModel && dataPipeModel.sendData({
          type: 'ShowNotification',
          error: error
        });
        return resolve(dataCenter[index]);
      }

      if (enableDataCenterLoginPage === true && isHandleClick) {
        var currentAccountIdKey = toolUtils_getNameWithCurrentEnvrionment(CURRENT_ACCOUNDID);
        window.localStorage.setItem(currentAccountIdKey, accountId);
        /**
         * 不同的数据中心有不同的配置，切换要实时生效，基础李俊建议，经吴晓锋与文桥确认，
         * 暂时使用该种方式，页面会有闪烁，但用的人不多，影响不大
        */
        // window.location.reload()
      }

      Object.assign(dataCenter[index], {
        userSourceType: JSON.parse(userSourceType),
        defaultUserSourceType: defaultUserSourceType,
        domain: domain,
        hasLDAP: hasLDAP,
        closeEncrypt: closeEncrypt,
        rsaPadding: rsaPadding,
        enableDataCenterLoginPage: enableDataCenterLoginPage,
        needSignPrivacy: needSignPrivacy
      });
      isPC ? src_store.setValue('dataCenter', dataCenter) : mStore.setValue('dataCenter', dataCenter);
      return resolve(dataCenter[index]);
    });
  })["catch"](function (error) {
    console.log(error);
  });
}
var convertLangData = function convertLangData(data) {
  if (typeof data === 'string') data = JSON.parse(data);
  if (!data || data.length === 0) return langList;
  return data.map(function (item) {
    return {
      text: item.name,
      value: item.number,
      select: item["default"]
    };
  });
};
var getCurrentLang = function getCurrentLang(langList) {
  var currentLangKey = getNameWithCurrentEnvrionment(CURRENT_LANG);
  var currentLang = window.localStorage.getItem(currentLangKey);
  var isValidLang = currentLang && langList.some(function (item) {
    return item.value === currentLang;
  });

  if (!currentLang || !isValidLang) {
    var defaultLang = langList.find(function (item) {
      return item.select;
    });
    currentLang = defaultLang ? defaultLang.value : langList[0].value;
  }

  return currentLang;
};
var getCurrentAccountId = function getCurrentAccountId(dataCenter) {
  var currentAccountIdKey = toolUtils_getNameWithCurrentEnvrionment(CURRENT_ACCOUNDID);
  var accuentId = getUrlParam(decodeURIComponent(window.location.href), 'accountId');
  var currentAccountId = accuentId || window.localStorage.getItem(currentAccountIdKey);
  var isValidAccountId = currentAccountId && dataCenter.some(function (item) {
    return item.accountId === currentAccountId;
  });

  if ((!currentAccountId || !isValidAccountId) && dataCenter && dataCenter.length > 0) {
    var defaultAccount = dataCenter.find(function (item) {
      return item["default"] || item.select;
    });
    currentAccountId = defaultAccount ? defaultAccount.accountId : dataCenter[0].accountId;
  }

  return currentAccountId;
};
var getDefaultLoginType = function getDefaultLoginType(defaultUserSourceType) {
  try {
    var userSourceTypes = ['cloudHub', 'cloudHub', 'kingdeeCloud', '', 'face', 'voice', '', 'shortMessage'];
    return userSourceTypes[defaultUserSourceType];
  } catch (err) {
    console.log(err);
    return 'kingdeeClould';
  }
};
var dataUtil_getQueryString = function getQueryString(name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]);
  return null;
};
/**
 * 获取多语言数据的文本
 * @param {*} data 多语言数据 "{"zh_CN": "中文", "en_US": "english", "zh_TW": "繁體"}" || '自定义文本' || {zh_CN: "中文", en_US: "english", zh_TW: "繁體"}
 * @param {*} locale 当前语言
 * @param {*} defaultValue 默认值
 */

var getMultilinguaText = function getMultilinguaText() {
  var initData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
  var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zh_CN';
  var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';

  try {
    var data = jsonParse(initData);
    if (typeof data === 'string') return data || defaultValue;
    var keys = Object.keys(data);
    var text = '';

    if (keys.length > 0) {
      text = data && (data[locale] || data.zh_CN);

      if (!text) {
        keys.forEach(function (key) {
          if (!text && data[key]) {
            text = data[key];
          }
        });
      }
    }

    return text || defaultValue;
  } catch (err) {
    console.log(err);
    return defaultValue;
  }
};

var jsonParse = function jsonParse(data) {
  try {
    return JSON.parse(data);
  } catch (err) {
    // console.log(err)
    return data;
  }
};

var blacklist = (/* unused pure expression or super */ null && (['javascript', 'vbscript', 'script']));
var isScript = function isScript(url) {
  return blacklist.some(function (value) {
    value = value.toUpperCase();
    url = url.toUpperCase();

    if (url.indexOf(value) !== -1) {
      return true;
    }
  });
};
var getLicenseInfo = function getLicenseInfo(_ref2) {
  var accountId = _ref2.accountId,
      language = _ref2.language,
      dataPipeModel = _ref2.dataPipeModel;
  return new Promise(function (resolve, reject) {
    if (!accountId || !language) return resolve([]);
    var _store$licenseInfo = store.licenseInfo,
        oldAccountId = _store$licenseInfo.oldAccountId,
        oldLanguage = _store$licenseInfo.oldLanguage,
        data = _store$licenseInfo.data;

    if (accountId === oldAccountId && language === oldLanguage) {
      return resolve(data);
    }

    store.setValue('licenseInfo', {
      oldAccountId: accountId,
      oldLanguage: language,
      data: data
    });
    service.validateLicense({
      accountId: accountId,
      language: language
    }).then(function (data) {
      if (data.error) {
        var error = {
          message: data.error,
          level: 1
        };
        dataPipeModel && dataPipeModel.sendData({
          type: 'ShowNotification',
          error: error
        });
        return resolve([]);
      } else {
        store.setValue('licenseInfo', {
          oldAccountId: accountId,
          oldLanguage: language,
          data: data
        });
        return resolve(data);
      }
    })["catch"](function (error) {
      throw new Error('fetch data error:' + error);
    });
  });
};
var resetStore = function resetStore(store) {
  var resetArr = ['verifyCode', 'phoneCode', 'password'];
  resetArr.forEach(function (item) {
    store.setValue(item, '');
  });
};
;// CONCATENATED MODULE: ./src/page/mobile/base/DropdownList.jsx
function DropdownList_typeof(obj) { "@babel/helpers - typeof"; return DropdownList_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, DropdownList_typeof(obj); }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }



















function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (DropdownList_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }









var DropdownList = /*#__PURE__*/function (_Component) {
  _inherits(DropdownList, _Component);

  var _super = _createSuper(DropdownList);

  function DropdownList(props) {
    var _this;

    _classCallCheck(this, DropdownList);

    _this = _super.call(this, props);
    _this.state = {
      showPanel: false,
      fade: ''
    };
    _this.handleShowPannel = _this.handleShowPannel.bind(_assertThisInitialized(_this));
    _this.handleHidePannel = _this.handleHidePannel.bind(_assertThisInitialized(_this));
    _this.handleAnimateEnd = _this.handleAnimateEnd.bind(_assertThisInitialized(_this));
    _this.centerChange = _this.centerChange.bind(_assertThisInitialized(_this));
    return _this;
  }

  _createClass(DropdownList, [{
    key: "handleShowPannel",
    value: function handleShowPannel() {
      this.setState({
        showPanel: true,
        fade: 'enter'
      });
    }
  }, {
    key: "componentDidMount",
    value: function componentDidMount() {
      mStore.accountId && this.centerChange(mStore.accountId);
    }
  }, {
    key: "centerChange",
    value: function centerChange(accountId) {
      var _mStore$dataCenter;

      var dataCenter = (_mStore$dataCenter = mStore.dataCenter) !== null && _mStore$dataCenter !== void 0 ? _mStore$dataCenter : [];
      var index = 0;
      dataCenter.some(function (item, i) {
        var isCurrentData = item.value === accountId;
        index = isCurrentData && i;
        return isCurrentData;
      });
      dataUtil_queryParameters(accountId, dataCenter, index, this.props.dataPipeModel, false);
    }
  }, {
    key: "shouldComponentUpdate",
    value: function shouldComponentUpdate(nextProps, nextState) {
      if (this.props.selectItem !== nextProps.selectItem) {
        this.centerChange(nextProps.selectItem);
      }

      return true;
    }
  }, {
    key: "handleHidePannel",
    value: function handleHidePannel() {
      this.setState({
        fade: 'leave'
      });
    }
  }, {
    key: "handleAnimateEnd",
    value: function handleAnimateEnd() {
      this.setState({
        showPanel: this.state.fade !== 'leave',
        fade: ''
      });
    }
  }, {
    key: "handleItemClick",
    value: function handleItemClick(key) {
      this.setState({
        showPanel: false
      });
      this.props.onItemClick(key);
    }
  }, {
    key: "renderPannel",
    value: function renderPannel() {
      var _classname, _classname2;

      var pannelClass = classnames_default()((_classname = {}, _defineProperty(_classname, base_DropdownList.pannel, true), _defineProperty(_classname, base_DropdownList.pannelSlideIn, this.state.fade === 'enter'), _defineProperty(_classname, base_DropdownList.pannelSlideOut, this.state.fade === 'leave'), _classname));
      var maskClass = classnames_default()((_classname2 = {}, _defineProperty(_classname2, base_DropdownList.mask, true), _defineProperty(_classname2, base_DropdownList.maskSideIn, this.state.fade === 'enter'), _defineProperty(_classname2, base_DropdownList.maskSideOut, this.state.fade === 'leave'), _classname2));
      return /*#__PURE__*/react_dom.createPortal( /*#__PURE__*/react.createElement("div", {
        className: maskClass,
        onClick: this.handleHidePannel
      }, /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.maskHeader
      }, /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.title
      }, "\u8BF7\u9009\u62E9"), /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.close
      })), /*#__PURE__*/react.createElement("div", {
        onAnimationEnd: this.handleAnimateEnd,
        className: pannelClass
      }, this.renderList())), document.body);
    }
  }, {
    key: "renderList",
    value: function renderList() {
      var _this2 = this;

      var list = this.props.list;
      return list.map(function (item, index) {
        return /*#__PURE__*/react.createElement("div", {
          className: base_DropdownList.items,
          key: index
        }, /*#__PURE__*/react.createElement("div", {
          key: item.value,
          className: base_DropdownList.item,
          onClick: function onClick(e) {
            return _this2.handleItemClick(item.value, e);
          }
        }, item.text), /*#__PURE__*/react.createElement("div", {
          className: base_DropdownList.btn,
          style: {
            display: mStore.accountId === item.value ? 'block' : 'none'
          }
        }));
      });
    }
  }, {
    key: "render",
    value: function render() {
      var _this3 = this;

      var showPanel = this.state.showPanel;
      var _this$props = this.props,
          list = _this$props.list,
          name = _this$props.name;
      var selectItem = list.find(function (item) {
        return item.value === _this3.props.selectItem;
      });

      if (selectItem) {
        mStore.setValue(name, selectItem.value);
        window.localStorage.setItem("login-".concat(name), selectItem.value);
      }

      return list.length > 0 ? /*#__PURE__*/react.createElement(react.Fragment, {
        key: "fragment"
      }, /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.dropdown,
        onClick: this.handleShowPannel
      }, /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.text
      }, selectItem.text), /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.moreIcon
      })), showPanel && this.renderPannel()) : /*#__PURE__*/react.createElement("div", {
        className: base_DropdownList.nothing
      });
    }
  }]);

  return DropdownList;
}(react.Component);

/* harmony default export */ var mobile_base_DropdownList = (DropdownList);
;// CONCATENATED MODULE: ./src/page/mobile/base/Input.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var base_Input = ({"container":"_3XJ75HfH"});
;// CONCATENATED MODULE: ./src/page/mobile/base/Input.jsx
function Input_typeof(obj) { "@babel/helpers - typeof"; return Input_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, Input_typeof(obj); }




















function Input_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function Input_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function Input_createClass(Constructor, protoProps, staticProps) { if (protoProps) Input_defineProperties(Constructor.prototype, protoProps); if (staticProps) Input_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function Input_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) Input_setPrototypeOf(subClass, superClass); }

function Input_setPrototypeOf(o, p) { Input_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Input_setPrototypeOf(o, p); }

function Input_createSuper(Derived) { var hasNativeReflectConstruct = Input_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Input_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Input_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Input_possibleConstructorReturn(this, result); }; }

function Input_possibleConstructorReturn(self, call) { if (call && (Input_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return Input_assertThisInitialized(self); }

function Input_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function Input_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function Input_getPrototypeOf(o) { Input_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Input_getPrototypeOf(o); }





var Input = /*#__PURE__*/function (_Component) {
  Input_inherits(Input, _Component);

  var _super = Input_createSuper(Input);

  function Input(props) {
    var _this;

    Input_classCallCheck(this, Input);

    _this = _super.call(this, props);
    _this.state = {
      value: props.defaultValue || ''
    };
    _this.handleChange = _this.handleChange.bind(Input_assertThisInitialized(_this));
    return _this;
  }

  Input_createClass(Input, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      if (/iphone/i.test(navigator.appVersion)) {
        // 解决ios端键盘收起后界面没有滚回去导致输入框无法聚焦的问题
        document.addEventListener('blur', function (e) {
          // 这里加了个类型判断，因为a等元素也会触发blur事件
          ['input', 'textarea'].includes(e.target.localName) && document.body.scrollIntoView(false); // ['input', 'textarea'].includes(e.target.localName) && window.scroll(0, 0)
        }, true);
      }
    }
  }, {
    key: "handleChange",
    value: function handleChange(e) {
      var value = e.target.value;

      if (this.props.inputType === 'phoneNumber') {
        value = value.match(/\d|-/g);
        value = value ? value.join('') : '';
      }

      this.setState({
        value: value
      });
      mStore.setValue(this.props.name, value);
      this.props.onChange && this.props.onChange(this.props.name, value);
    }
  }, {
    key: "render",
    value: function render() {
      var value = this.state.value;
      var _this$props = this.props,
          placeholder = _this$props.placeholder,
          type = _this$props.type,
          onBlur = _this$props.onBlur;
      return /*#__PURE__*/react.createElement("div", {
        className: base_Input.container,
        style: this.props.style
      }, /*#__PURE__*/react.createElement("input", {
        placeholder: placeholder,
        type: type,
        value: value,
        onChange: this.handleChange,
        onBlur: onBlur
      }));
    }
  }]);

  return Input;
}(react.Component);

/* harmony default export */ var mobile_base_Input = (Input);
;// CONCATENATED MODULE: ./src/page/mobile/base/Button.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var Button = ({"button":"uiGHkNOL"});
;// CONCATENATED MODULE: ./src/page/mobile/base/Button.jsx



function Button_Button(props) {
  return /*#__PURE__*/react.createElement("div", {
    className: Button.button,
    onClick: props.onClick,
    style: props.style
  }, props.text);
}

/* harmony default export */ var base_Button = (Button_Button);
;// CONCATENATED MODULE: ./src/page/mobile/base/Notification.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var base_Notification = ({"message":"_3B3S-3bA","showMessage":"_3_gi6tnn"});
;// CONCATENATED MODULE: ./src/page/mobile/base/Notification.jsx
function Notification_typeof(obj) { "@babel/helpers - typeof"; return Notification_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, Notification_typeof(obj); }

function Notification_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
















function Notification_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function Notification_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function Notification_createClass(Constructor, protoProps, staticProps) { if (protoProps) Notification_defineProperties(Constructor.prototype, protoProps); if (staticProps) Notification_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function Notification_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) Notification_setPrototypeOf(subClass, superClass); }

function Notification_setPrototypeOf(o, p) { Notification_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Notification_setPrototypeOf(o, p); }

function Notification_createSuper(Derived) { var hasNativeReflectConstruct = Notification_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Notification_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Notification_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Notification_possibleConstructorReturn(this, result); }; }

function Notification_possibleConstructorReturn(self, call) { if (call && (Notification_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return Notification_assertThisInitialized(self); }

function Notification_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function Notification_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function Notification_getPrototypeOf(o) { Notification_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Notification_getPrototypeOf(o); }



 // import eventBus from '../../../eventBus'

var Notification = /*#__PURE__*/function (_Component) {
  Notification_inherits(Notification, _Component);

  var _super = Notification_createSuper(Notification);

  function Notification(props) {
    var _this;

    Notification_classCallCheck(this, Notification);

    _this = _super.call(this, props);
    _this.state = {
      message: ''
    };
    _this.showNotification = _this.showNotification.bind(Notification_assertThisInitialized(_this));
    _this.hideNotification = _this.hideNotification.bind(Notification_assertThisInitialized(_this));
    return _this;
  }

  Notification_createClass(Notification, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      // this.handleShowNotification = eventBus.sub_showNotification(this.showNotification)
      this.handleShowNotification = this.props.dataPipeModel && this.props.dataPipeModel.registerCallback('ShowNotification', this.showNotification); // this.handleHideNotification = eventBus.sub_hideNotification(this.hideNotification)

      this.handleHideNotification = this.props.dataPipeModel && this.props.dataPipeModel.registerCallback('HideNotification', this.showNotification);
    }
  }, {
    key: "componentWillUnmount",
    value: function componentWillUnmount() {
      this.handleShowNotification();
      this.handleHideNotification();
      clearTimeout(this.showTimer);
    }
  }, {
    key: "showNotification",
    value: function showNotification(data) {
      var _this2 = this;

      if (!data.message) return;
      clearTimeout(this.showTimer);
      this.setState({
        message: data.message
      });
      this.showTimer = setTimeout(function () {
        _this2.setState({
          message: ''
        });
      }, 8000);
    }
  }, {
    key: "hideNotification",
    value: function hideNotification(data) {
      clearTimeout(this.showTimer);
      this.setState({
        message: ''
      });
    }
  }, {
    key: "render",
    value: function render() {
      var _classname;

      var message = this.state.message;
      var msgClass = classnames_default()((_classname = {}, Notification_defineProperty(_classname, base_Notification.message, true), Notification_defineProperty(_classname, base_Notification.showMessage, message), _classname));
      return /*#__PURE__*/react.createElement("div", {
        className: msgClass
      }, message);
    }
  }]);

  return Notification;
}(react.Component);

/* harmony default export */ var mobile_base_Notification = (Notification);
;// CONCATENATED MODULE: ./src/page/mobile/base/ErrorMessage.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var base_ErrorMessage = ({"error":"_2cuovTjy"});
;// CONCATENATED MODULE: ./src/page/mobile/base/ErrorMessage.jsx
function ErrorMessage_typeof(obj) { "@babel/helpers - typeof"; return ErrorMessage_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, ErrorMessage_typeof(obj); }
















function ErrorMessage_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function ErrorMessage_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function ErrorMessage_createClass(Constructor, protoProps, staticProps) { if (protoProps) ErrorMessage_defineProperties(Constructor.prototype, protoProps); if (staticProps) ErrorMessage_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function ErrorMessage_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) ErrorMessage_setPrototypeOf(subClass, superClass); }

function ErrorMessage_setPrototypeOf(o, p) { ErrorMessage_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ErrorMessage_setPrototypeOf(o, p); }

function ErrorMessage_createSuper(Derived) { var hasNativeReflectConstruct = ErrorMessage_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = ErrorMessage_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = ErrorMessage_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return ErrorMessage_possibleConstructorReturn(this, result); }; }

function ErrorMessage_possibleConstructorReturn(self, call) { if (call && (ErrorMessage_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return ErrorMessage_assertThisInitialized(self); }

function ErrorMessage_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function ErrorMessage_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function ErrorMessage_getPrototypeOf(o) { ErrorMessage_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ErrorMessage_getPrototypeOf(o); }



 // import eventBus from '../../../eventBus'

var ErrorMessage = /*#__PURE__*/function (_Component) {
  ErrorMessage_inherits(ErrorMessage, _Component);

  var _super = ErrorMessage_createSuper(ErrorMessage);

  function ErrorMessage(props) {
    var _this;

    ErrorMessage_classCallCheck(this, ErrorMessage);

    _this = _super.call(this, props);
    _this.state = {
      message: ''
    };
    _this.ref = /*#__PURE__*/react.createRef();
    _this.showErrorMessage = _this.showErrorMessage.bind(ErrorMessage_assertThisInitialized(_this));
    _this.handleClick = _this.handleClick.bind(ErrorMessage_assertThisInitialized(_this));
    return _this;
  }

  ErrorMessage_createClass(ErrorMessage, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      // this.handleShowErrorMessage = eventBus.sub_showErrorMessage(this.showErrorMessage)
      this.handleShowErrorMessage = this.props.dataPipeModel && this.props.dataPipeModel.registerCallback('ShowErrorMessage', this.showErrorMessage);
      document.addEventListener('click', this.handleClick);
    }
  }, {
    key: "componentWillUnmount",
    value: function componentWillUnmount() {
      this.handleShowErrorMessage();
      document.removeEventListener('click', this.handleClick);
    }
  }, {
    key: "handleClick",
    value: function handleClick(e) {
      if (this.ref.current !== e.target) {
        this.setState({
          message: ''
        });
      }
    }
  }, {
    key: "showErrorMessage",
    value: function showErrorMessage(data) {
      var _this2 = this;

      if (!data.message && !data.error.message) return;
      clearTimeout(this.showTimer);
      this.setState({
        message: data.message || data.error.message
      });
      this.showTimer = setTimeout(function () {
        _this2.setState({
          message: ''
        });
      }, 80000);
    }
  }, {
    key: "render",
    value: function render() {
      var message = this.state.message;
      return message !== '' ? /*#__PURE__*/react_dom.createPortal( /*#__PURE__*/react.createElement("div", {
        className: base_ErrorMessage.error,
        ref: this.ref
      }, this.state.message), document.body) : null;
    }
  }]);

  return ErrorMessage;
}(react.Component);

/* harmony default export */ var mobile_base_ErrorMessage = (ErrorMessage);
;// CONCATENATED MODULE: ./src/page/mobile/base/index.js










;// CONCATENATED MODULE: ./src/util/uid.js
/*
** getUid 产生任意长度随机字母数字组合
** randomIndicator-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位
*/
var getUid = function getUid(randomIndicator, min, max) {
  var str = '';
  var range = min;
  var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];

  if (randomIndicator) {
    range = Math.round(Math.random() * (max - min)) + min;
  }

  for (var i = 0; i < range; i++) {
    var pos = Math.round(Math.random() * (arr.length - 1));
    str += arr[pos];
  }

  return str;
};

/* harmony default export */ var uid = (getUid);
;// CONCATENATED MODULE: ./src/util/validate.js

var validate = {
  isEmpty: function isEmpty(string) {
    return string.trim() === '';
  },
  isEqual: function isEqual(str1, str2) {
    return str1 === str2;
  },
  checkLength: function checkLength(string) {
    var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var max = arguments.length > 2 ? arguments[2] : undefined;
    // 0: 正常范围 1：大于最大值 -1：小于最小值
    var len = string.length;

    if (max) {
      if (len < min) return -1;
      if (len > max) return 1;
    } else {
      if (len < min) return -1;
    }

    return 0;
  }
};
/* harmony default export */ var util_validate = (validate);
;// CONCATENATED MODULE: ./src/util/index.js






// EXTERNAL MODULE: ./src/img/loading.gif
var loading = __webpack_require__(6433);
var loading_default = /*#__PURE__*/__webpack_require__.n(loading);
;// CONCATENATED MODULE: ./src/page/mobile/LoginWrapper.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var LoginWrapper = ({"main":"VhzEEAo3","logoimg":"_1al8PLke","logo":"_2CYVyn8A","content":"yyZPrlTd"});
// EXTERNAL MODULE: ./src/img/mobile_logo.png
var mobile_logo = __webpack_require__(233);
var mobile_logo_default = /*#__PURE__*/__webpack_require__.n(mobile_logo);
;// CONCATENATED MODULE: ./src/page/mobile/LoginWrapper.jsx






function LoginWrapper_LoginWrapper(props) {
  var configuration = props.configuration;
  var contentRef = (0,react.useRef)();
  var logoimgRef = (0,react.useRef)();
  var mainRef = (0,react.useRef)();
  (0,react.useEffect)(function () {
    window.onresize = function () {
      var contentHeight = contentRef.current.offsetHeight;
      var viewHeight = document.documentElement.offsetHeight;

      if (viewHeight < contentHeight + 120) {
        logoimgRef.current.style.display = 'none';
      } else {
        logoimgRef.current.style.display = 'flex';
      }

      setTimeout(function () {
        mainRef.current.scrollTop = 999;
      }, 0);
    };
  }, []);
  return /*#__PURE__*/react.createElement("div", {
    className: LoginWrapper.main,
    ref: mainRef
  }, /*#__PURE__*/react.createElement("div", {
    className: LoginWrapper.logoimg,
    ref: logoimgRef
  }, /*#__PURE__*/react.createElement("div", {
    className: LoginWrapper.logo,
    style: {
      backgroundImage: "url(".concat(getImgFullPath(configuration.logoimg) || (mobile_logo_default()), ")")
    }
  })), /*#__PURE__*/react.createElement("div", {
    className: LoginWrapper.content,
    ref: contentRef
  }, props.children));
}

/* harmony default export */ var mobile_LoginWrapper = (LoginWrapper_LoginWrapper);
;// CONCATENATED MODULE: ./src/page/mobile/KingdeeCloud.jsx
function KingdeeCloud_typeof(obj) { "@babel/helpers - typeof"; return KingdeeCloud_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, KingdeeCloud_typeof(obj); }

function KingdeeCloud_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }


















function KingdeeCloud_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function KingdeeCloud_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function KingdeeCloud_createClass(Constructor, protoProps, staticProps) { if (protoProps) KingdeeCloud_defineProperties(Constructor.prototype, protoProps); if (staticProps) KingdeeCloud_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function KingdeeCloud_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) KingdeeCloud_setPrototypeOf(subClass, superClass); }

function KingdeeCloud_setPrototypeOf(o, p) { KingdeeCloud_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return KingdeeCloud_setPrototypeOf(o, p); }

function KingdeeCloud_createSuper(Derived) { var hasNativeReflectConstruct = KingdeeCloud_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = KingdeeCloud_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = KingdeeCloud_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return KingdeeCloud_possibleConstructorReturn(this, result); }; }

function KingdeeCloud_possibleConstructorReturn(self, call) { if (call && (KingdeeCloud_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return KingdeeCloud_assertThisInitialized(self); }

function KingdeeCloud_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function KingdeeCloud_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function KingdeeCloud_getPrototypeOf(o) { KingdeeCloud_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return KingdeeCloud_getPrototypeOf(o); }








 // import eventBus from '../../eventBus'



 // import NodeRSA from 'node-rsa'
// import logo from '../../img/mobile_logo.png'
// import { getImgFullPath } from '@/util/toolUtils.js'



var KingdeeCloud = /*#__PURE__*/function (_Component) {
  KingdeeCloud_inherits(KingdeeCloud, _Component);

  var _super = KingdeeCloud_createSuper(KingdeeCloud);

  function KingdeeCloud(props) {
    var _this;

    KingdeeCloud_classCallCheck(this, KingdeeCloud);

    _this = _super.call(this, props);
    _this.state = {
      logining: false,
      needMsgValidate: false,
      vCodeTime: 0,
      showPhoneCode: false,
      needVerifyCode: false,
      verifyCodeImg: (loading_default()),
      account: mStore.account,
      password: mStore.password,
      verifyCode: mStore.verifyCode,
      phoneCode: mStore.phoneCode
    };
    _this.handleLoginBtnClick = _this.handleLoginBtnClick.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.resetLoginStatus = _this.resetLoginStatus.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.submit = _this.submit.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.isNeedMsgValidate = _this.isNeedMsgValidate.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.handleSendMessage = _this.handleSendMessage.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.loginFail = _this.loginFail.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.handleGetVerifyCode = _this.handleGetVerifyCode.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.handleAccountInputBlur = _this.handleAccountInputBlur.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.handleChange = _this.handleChange.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.getVerifyCode = _this.getVerifyCode.bind(KingdeeCloud_assertThisInitialized(_this));
    _this.isNeedVerifyCode = _this.isNeedVerifyCode.bind(KingdeeCloud_assertThisInitialized(_this));
    return _this;
  }

  KingdeeCloud_createClass(KingdeeCloud, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      var _this$isNeedMsgValida,
          _this2 = this;

      mStore.accountId && ((_this$isNeedMsgValida = this.isNeedMsgValidate()) === null || _this$isNeedMsgValida === void 0 ? void 0 : _this$isNeedMsgValida.then(function (data) {
        if (_this2.state.needMsgValidate) return false;

        _this2.isNeedVerifyCode();
      }));
    }
  }, {
    key: "isNeedMsgValidate",
    value: function isNeedMsgValidate() {
      var _this3 = this;

      return service_isNeedMsgValidate({
        useraccount: mStore.account,
        accountId: mStore.accountId
      }).then(function (data) {
        _this3.setState({
          needMsgValidate: data.isNeed
        });

        if (data.isNeed) {
          _this3.setState({
            needVerifyCode: true
          });

          _this3.getVerifyCode();
        }
      });
    }
  }, {
    key: "handleLoginBtnClick",
    value: function handleLoginBtnClick() {
      var _this$state = this.state,
          showPhoneCode = _this$state.showPhoneCode,
          needVerifyCode = _this$state.needVerifyCode,
          account = _this$state.account,
          password = _this$state.password,
          verifyCode = _this$state.verifyCode,
          phoneCode = _this$state.phoneCode,
          needMsgValidate = _this$state.needMsgValidate;
      if (!account || !password || needVerifyCode && !verifyCode || showPhoneCode && !phoneCode) return false;

      if (!showPhoneCode && needMsgValidate) {
        this.handleSendMessage();
      } else {
        this.getPublickKey(this.submit);
      }
    }
  }, {
    key: "handleSendMessage",
    value: function handleSendMessage() {
      var _this4 = this;

      var vCodeTime = this.state.vCodeTime;
      if (vCodeTime !== 0) return false;
      service_sendMessage({
        useraccount: mStore.account,
        verifycode: mStore.verifyCode,
        loginid: this.verifyCodeToken,
        accountId: mStore.accountId
      }).then(function (data) {
        if (data.success !== true) {
          //  eventBus.pub_ShowErrorMessage(error)
          _this4.props.dataPipeModel && _this4.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            message: data.msg || data.description
          });

          if (data.errorcode === '1') {
            _this4.handleGetVerifyCode();
          }

          return false;
        }

        var vCodeTime = data.timeout || 60;
        _this4.vCodeTimer = setInterval(function () {
          if (vCodeTime <= 0) {
            clearInterval(_this4.vCodeTimer);
          } else {
            _this4.setState({
              vCodeTime: --vCodeTime,
              showPhoneCode: true
            });
          }
        }, 1000);
      });
    }
  }, {
    key: "submit",
    value: function submit(data) {
      var _this5 = this;

      var accountId = mStore.accountId,
          account = mStore.account,
          password = mStore.password,
          phoneCode = mStore.phoneCode,
          verifyCode = mStore.verifyCode;
      var _this$state2 = this.state,
          needVerifyCode = _this$state2.needVerifyCode,
          needMsgValidate = _this$state2.needMsgValidate;
      var encrypt = new lib/* default */.Z();
      encrypt.setPublicKey(data.publicKey);
      var redirect = getRedirect();

      if (redirect) {
        redirect = decodeURIComponent(redirect);
      }

      var psw;
      var currentItem = mStore.dataCenter.find(function (item, i) {
        return item.value === accountId;
      });

      if (currentItem && currentItem.closeEncrypt) {
        psw = password;
      } else if ((currentItem === null || currentItem === void 0 ? void 0 : currentItem.rsaPadding) === 'oaep') {
        var publicKey = "-----BEGIN PUBLIC KEY-----\n".concat(data.publicKey, "\n-----END PUBLIC KEY-----");
        var publicK = forge.pki.publicKeyFromPem(publicKey);
        var encrypted = publicK.encrypt(password, 'RSA-OAEP');
        psw = forge.util.encode64(encrypted);
      } else {
        psw = encrypt.encrypt(password);
      }

      var formData = {
        accountId: accountId,
        useraccount: account,
        accessKey: data.accessKey,
        password: psw,
        redirect: redirect || 'mobile.html',
        isMobile: true
      };

      if (needVerifyCode) {
        formData = Object.assign(formData, {
          verifycode: verifyCode,
          loginid: this.verifyCodeToken
        });
      }

      if (needMsgValidate) {
        formData = Object.assign(formData, {
          smsCode: phoneCode
        });
      }

      service_submit(formData).then(function (data) {
        var errorcode = data.errorcode,
            needChangePwd = data.needChangePwd,
            needChangeInitialPwd = data.needChangeInitialPwd,
            message = data.message,
            needActive = data.needActive;

        if (needActive) {
          window.location.hash = '#activeUser';
          return false;
        }

        if (needChangePwd === 1 || needChangeInitialPwd === 1) {
          window.location.hash = '#findPassword'; // eventBus.pub_ShowErrorMessage ({ message: message })

          _this5.props.dataPipeModel && _this5.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            message: message
          });
          return false;
        }

        if (errorcode !== 0) {
          _this5.loginFail(data);

          return false;
        } else {
          _this5.setState({
            logining: false
          });

          window.location.href = data.RedirectURL + window.location.hash;
        } // this.resetLoginStatus()

      });
    }
  }, {
    key: "loginFail",
    value: function loginFail(data) {
      var errorCode = data.errorcode;

      if (errorCode === 'needVerification') {
        this.setState({
          needVerifyCode: true
        });
        this.handleGetVerifyCode();
      } else {
        // eventBus.pub_ShowErrorMessage ({ message: data.description_cn || data.description })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: data.description_cn || data.description
        });
      }

      this.resetLoginStatus();
    }
  }, {
    key: "getVerifyCode",
    value: function getVerifyCode() {
      var _this6 = this;

      if (this.state.needVerifyCode === false) return;
      this.setState({
        verifyCodeImg: (loading_default())
      });
      service_getVerifyCode({
        phone: mStore.account,
        v: uid(false, 8),
        language: mStore.lang
      }).then(function (data) {
        var message = data.description_cn || data.description;

        if (message) {
          _this6.props.dataPipeModel && _this6.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            message: message
          });
          return false;
        }

        _this6.setState({
          verifyCodeImg: data.content || (loading_default())
        });

        _this6.verifyCodeToken = data.loginId;
      });
    }
  }, {
    key: "handleGetVerifyCode",
    value: function handleGetVerifyCode() {
      this.getVerifyCode();
    }
  }, {
    key: "getPublickKey",
    value: function getPublickKey(call) {
      var _this7 = this;

      this.setState({
        logining: true
      });
      var accessKey = mStore.account + uid(false, 16 - mStore.account.length);
      service_getPublicKey({
        // accessKey: '123456'
        accountId: mStore.accountId,
        accessKey: accessKey
      }).then(function (data) {
        if (data.success !== true) {
          // eventBus.pub_ShowErrorMessage  ({ message: data.errorMessage })
          _this7.props.dataPipeModel && _this7.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            message: data.errorMessage
          });

          _this7.resetLoginStatus();

          return false;
        }

        call({
          publicKey: data.publicKey,
          accessKey: accessKey
        });
      });
    }
  }, {
    key: "resetLoginStatus",
    value: function resetLoginStatus() {
      this.setState({
        logining: false
      });
    }
  }, {
    key: "isNeedVerifyCode",
    value: function isNeedVerifyCode() {
      var _this8 = this;

      service_isNeedVerifyCode({
        useraccount: mStore.account,
        accountId: mStore.accountId,
        v: uid(false, 8),
        language: mStore.lang
      }).then(function (data) {
        _this8.setState({
          needVerifyCode: data.isNeed
        });

        data.isNeed && _this8.handleGetVerifyCode();
      });
    }
  }, {
    key: "handleAccountInputBlur",
    value: function handleAccountInputBlur() {
      var _this$isNeedMsgValida2,
          _this9 = this;

      (_this$isNeedMsgValida2 = this.isNeedMsgValidate()) === null || _this$isNeedMsgValida2 === void 0 ? void 0 : _this$isNeedMsgValida2.then(function () {
        if (_this9.state.needMsgValidate) return false;

        _this9.isNeedVerifyCode();
      });
    }
  }, {
    key: "getLoginBtnText",
    value: function getLoginBtnText() {
      var _this$state3 = this.state,
          logining = _this$state3.logining,
          needMsgValidate = _this$state3.needMsgValidate,
          showPhoneCode = _this$state3.showPhoneCode;
      var btnText = '';

      if (needMsgValidate && !showPhoneCode) {
        btnText = '获取手机验证码';
      } else {
        btnText = logining ? '登录中...' : '登录';
      }

      return btnText;
    }
  }, {
    key: "renderPhoneCodeItem",
    value: function renderPhoneCodeItem() {
      var _classnames, _classnames2;

      var _this$state4 = this.state,
          showPhoneCode = _this$state4.showPhoneCode,
          vCodeTime = _this$state4.vCodeTime;
      var btnText = vCodeTime === 0 ? '重新发送' : "".concat(vCodeTime, "s\u540E\u91CD\u53D1");
      var phoneCodeItemClass = classnames_default()((_classnames = {}, KingdeeCloud_defineProperty(_classnames, mobile_KingdeeCloud.phoneCodeItem, true), KingdeeCloud_defineProperty(_classnames, mobile_KingdeeCloud.hidden, !showPhoneCode), _classnames));
      var inputStyle = {
        flexGrow: 1,
        width: 180
      };
      var btnClass = classnames_default()((_classnames2 = {}, KingdeeCloud_defineProperty(_classnames2, mobile_KingdeeCloud.btn, true), KingdeeCloud_defineProperty(_classnames2, mobile_KingdeeCloud.disable, vCodeTime !== 0), _classnames2));
      return /*#__PURE__*/react.createElement("div", {
        className: phoneCodeItemClass
      }, /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "phoneCode",
        type: "text",
        placeholder: "\u624B\u673A\u9A8C\u8BC1\u7801",
        style: inputStyle
      }), /*#__PURE__*/react.createElement("div", {
        className: btnClass,
        onClick: this.handleSendMessage
      }, btnText));
    }
  }, {
    key: "renderVerityCodeItem",
    value: function renderVerityCodeItem() {
      var _classnames3;

      var _this$state5 = this.state,
          needVerifyCode = _this$state5.needVerifyCode,
          verifyCodeImg = _this$state5.verifyCodeImg;
      var verifyCodeItemClass = classnames_default()((_classnames3 = {}, KingdeeCloud_defineProperty(_classnames3, mobile_KingdeeCloud.verifyCodeItem, true), KingdeeCloud_defineProperty(_classnames3, mobile_KingdeeCloud.hidden, !needVerifyCode), _classnames3));
      var inputStyle = {
        flexGrow: 1,
        width: 180,
        border: 'none'
      };
      return /*#__PURE__*/react.createElement("div", {
        className: verifyCodeItemClass
      }, /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "verifyCode",
        placeholder: "\u56FE\u5F62\u9A8C\u8BC1\u7801",
        style: inputStyle
      }), /*#__PURE__*/react.createElement("div", {
        className: mobile_KingdeeCloud.graphicCode,
        onClick: this.handleGetVerifyCode
      }, /*#__PURE__*/react.createElement("img", {
        src: verifyCodeImg
      })));
    }
  }, {
    key: "handleChange",
    value: function handleChange(name, value) {
      this.setState(KingdeeCloud_defineProperty({}, name, value));
    }
  }, {
    key: "render",
    value: function render() {
      var _this$props = this.props,
          dataCenter = _this$props.dataCenter,
          currentAccountId = _this$props.currentAccountId,
          handleChangeDataCenter = _this$props.handleChangeDataCenter,
          configuration = _this$props.configuration;
      var _this$state6 = this.state,
          showPhoneCode = _this$state6.showPhoneCode,
          needVerifyCode = _this$state6.needVerifyCode,
          account = _this$state6.account,
          password = _this$state6.password,
          verifyCode = _this$state6.verifyCode,
          phoneCode = _this$state6.phoneCode;
      var btnStyle = !account || !password || needVerifyCode && !verifyCode || showPhoneCode && !phoneCode ? {
        background: '#85B8FF'
      } : {};
      return (
        /*#__PURE__*/
        // <div className={style.main}>
        //   <div className={style.logoimg}>
        //     <div className={style.logo} style={{ backgroundImage: `url(${getImgFullPath(configuration.logoimg) || logo})` }} />
        //   </div>
        react.createElement(mobile_LoginWrapper, this.props, /*#__PURE__*/react.createElement("div", {
          className: mobile_KingdeeCloud.title
        }, "\u5BC6\u7801\u767B\u5F55"), /*#__PURE__*/react.createElement(mobile_base_DropdownList, {
          name: "accountId",
          dataPipeModel: this.props.dataPipeModel,
          list: dataCenter,
          selectItem: currentAccountId,
          onItemClick: handleChangeDataCenter
        }), /*#__PURE__*/react.createElement(mobile_base_Input, {
          dataPipeModel: this.props.dataPipeModel,
          onChange: this.handleChange,
          name: "account",
          placeholder: getMultilinguaText(configuration.accountplaceholder, 'zh_CN', '用户名/手机号/邮箱'),
          type: "text",
          onBlur: this.handleAccountInputBlur,
          defaultValue: mStore.account
        }), /*#__PURE__*/react.createElement(mobile_base_Input, {
          dataPipeModel: this.props.dataPipeModel,
          onChange: this.handleChange,
          name: "password",
          placeholder: "\u5BC6\u7801",
          type: "password"
        }), this.renderVerityCodeItem(), this.renderPhoneCodeItem(), /*#__PURE__*/react.createElement(base_Button, {
          dataPipeModel: this.props.dataPipeModel,
          style: btnStyle,
          text: this.getLoginBtnText(),
          onClick: this.handleLoginBtnClick
        }), /*#__PURE__*/react.createElement(Tools, {
          dataPipeModel: this.props.dataPipeModel,
          hiddenresetpwd: configuration.hiddenresetpwd
        })) // </div>

      );
    }
  }]);

  return KingdeeCloud;
}(react.Component);

function Tools(props) {
  var showResetPwd = !props.hiddenresetpwd || props.hiddenresetpwd === 'false';
  return /*#__PURE__*/react.createElement("div", {
    className: mobile_KingdeeCloud.tools
  }, /*#__PURE__*/react.createElement("a", {
    className: mobile_KingdeeCloud.msgLogin,
    href: "#msgLogin"
  }, "\u9A8C\u8BC1\u7801\u767B\u5F55"), showResetPwd && /*#__PURE__*/react.createElement("a", {
    className: mobile_KingdeeCloud.findPassword,
    href: "#findPassword"
  }, "\u627E\u56DE\u5BC6\u7801"));
}

/* harmony default export */ var page_mobile_KingdeeCloud = (KingdeeCloud);
;// CONCATENATED MODULE: ./src/page/mobile/FindPassword.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var FindPassword = ({"title":"oCitc5BY","verifyCodeWrapper":"_2qQ5P_a4","graphicCode":"_3A14-ygE","phoneCodeWrapper":"PrsEK0jn","phoneCode":"kD9EbtqD","phoneCodeBtn":"_1g_MFdcW","disable":"_3ddIBRya","nextStep":"_3Wx5to6l","successPanel":"_1nTuxMGB"});
// EXTERNAL MODULE: ./src/img/success.png
var success = __webpack_require__(4889);
var success_default = /*#__PURE__*/__webpack_require__.n(success);
;// CONCATENATED MODULE: ./src/page/mobile/FindPassword.jsx
function FindPassword_typeof(obj) { "@babel/helpers - typeof"; return FindPassword_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, FindPassword_typeof(obj); }

function FindPassword_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
















function FindPassword_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function FindPassword_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function FindPassword_createClass(Constructor, protoProps, staticProps) { if (protoProps) FindPassword_defineProperties(Constructor.prototype, protoProps); if (staticProps) FindPassword_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function FindPassword_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) FindPassword_setPrototypeOf(subClass, superClass); }

function FindPassword_setPrototypeOf(o, p) { FindPassword_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return FindPassword_setPrototypeOf(o, p); }

function FindPassword_createSuper(Derived) { var hasNativeReflectConstruct = FindPassword_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = FindPassword_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = FindPassword_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return FindPassword_possibleConstructorReturn(this, result); }; }

function FindPassword_possibleConstructorReturn(self, call) { if (call && (FindPassword_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return FindPassword_assertThisInitialized(self); }

function FindPassword_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function FindPassword_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function FindPassword_getPrototypeOf(o) { FindPassword_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return FindPassword_getPrototypeOf(o); }








 // import eventBus from '../../eventBus'






var FindPassword_FindPassword = /*#__PURE__*/function (_Component) {
  FindPassword_inherits(FindPassword, _Component);

  var _super = FindPassword_createSuper(FindPassword);

  function FindPassword(props) {
    var _this;

    FindPassword_classCallCheck(this, FindPassword);

    _this = _super.call(this, props);
    _this.state = {
      showModifyPanel: false
    };
    _this.showModifyPanel = _this.showModifyPanel.bind(FindPassword_assertThisInitialized(_this));
    return _this;
  }

  FindPassword_createClass(FindPassword, [{
    key: "showModifyPanel",
    value: function showModifyPanel() {
      this.setState({
        showModifyPanel: true
      });
    }
  }, {
    key: "componentDidMount",
    value: function componentDidMount() {
      mStore.setValue('password', '');
    }
  }, {
    key: "render",
    value: function render() {
      var showModifyPanel = this.state.showModifyPanel;
      return /*#__PURE__*/react.createElement(mobile_LoginWrapper, this.props, !showModifyPanel ? /*#__PURE__*/react.createElement(CheckPhonePanel, {
        showModifyPanel: this.showModifyPanel,
        dataPipeModel: this.props.dataPipeModel
      }) : /*#__PURE__*/react.createElement(ModifyPanel, {
        dataPipeModel: this.props.dataPipeModel
      }));
    }
  }]);

  return FindPassword;
}(react.Component);

var CheckPhonePanel = /*#__PURE__*/function (_Component2) {
  FindPassword_inherits(CheckPhonePanel, _Component2);

  var _super2 = FindPassword_createSuper(CheckPhonePanel);

  function CheckPhonePanel(props) {
    var _this2;

    FindPassword_classCallCheck(this, CheckPhonePanel);

    _this2 = _super2.call(this, props);
    _this2.state = {
      verifyCodeImg: (loading_default()),
      vCodeTime: 0,
      account: '',
      verifyCode: '',
      phoneCode: ''
    };
    _this2.oldAccount = mStore.account;
    _this2.getVerifyCode = _this2.getVerifyCode.bind(FindPassword_assertThisInitialized(_this2));
    _this2.handlePhoneCodeBtnClick = _this2.handlePhoneCodeBtnClick.bind(FindPassword_assertThisInitialized(_this2));
    _this2.handleNextBtnClick = _this2.handleNextBtnClick.bind(FindPassword_assertThisInitialized(_this2));
    _this2.resetPhoneCodeState = _this2.resetPhoneCodeState.bind(FindPassword_assertThisInitialized(_this2));
    _this2.handleAccountInputBlur = _this2.handleAccountInputBlur.bind(FindPassword_assertThisInitialized(_this2));
    _this2.handleChange = _this2.handleChange.bind(FindPassword_assertThisInitialized(_this2));
    return _this2;
  }

  FindPassword_createClass(CheckPhonePanel, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      this.getVerifyCode();
    }
  }, {
    key: "getVerifyCode",
    value: function getVerifyCode() {
      var _this3 = this;

      getVerifyCodeByPhone({
        phone: mStore.account
      }).then(function (data) {
        _this3.setState({
          verifyCodeImg: data.content || (loading_default())
        });

        _this3.verifyCodeToken = data.vCode;
        mStore.setValue('randomCode', data.vCode);
      });
    }
  }, {
    key: "handlePhoneCodeBtnClick",
    value: function handlePhoneCodeBtnClick() {
      if (this.state.vCodeTime !== 0) return false;
      if (!this.checkFormData()) return false;
      this.verifyGraphicCode();
    }
  }, {
    key: "verifyGraphicCode",
    value: function verifyGraphicCode() {
      var _this4 = this;

      service_verifyGraphicCode({
        phone: mStore.account,
        vCode: mStore.verifyCode,
        token: this.verifyCodeToken
      }).then(function (data) {
        if (!data.success) {
          // eventBus.pub_showErrorMessage(error)
          _this4.props.dataPipeModel && _this4.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            message: data.msg
          });

          _this4.getVerifyCode();

          return false;
        }

        _this4.verifyPhone();
      });
    }
  }, {
    key: "verifyPhone",
    value: function verifyPhone() {
      var _this5 = this;

      service_verifyPhone({
        phone: mStore.account,
        accountId: mStore.accountId,
        vCode: this.verifyCodeToken
      }).then(function (data) {
        if (!data.success) {
          var error = {
            message: data.msg
          }; // eventBus.pub_showErrorMessage(error)

          _this5.props.dataPipeModel && _this5.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });

          _this5.resetPhoneCodeState();
        } else {
          if (data.hasSent) {
            var _error = {
              message: data.msg
            }; // eventBus.pub_showErrorMessage(error)

            _this5.props.dataPipeModel && _this5.props.dataPipeModel.sendData({
              type: 'ShowErrorMessage',
              error: _error
            });
          } else {
            var vCodeTime = data.vCodeTime / 1000 || 10;
            _this5.vCodeTimer = setInterval(function () {
              if (vCodeTime <= 0) {
                clearInterval(_this5.vCodeTimer);
              } else {
                _this5.setState({
                  vCodeTime: --vCodeTime
                });
              }
            }, 1000);
          }
        }
      });
    }
  }, {
    key: "resetPhoneCodeState",
    value: function resetPhoneCodeState() {
      clearInterval(this.vCodeTimer);
      this.setState({
        vCodeTime: 0
      });
    }
  }, {
    key: "handleNextBtnClick",
    value: function handleNextBtnClick() {
      var _this6 = this;

      var _this$state = this.state,
          account = _this$state.account,
          verifyCode = _this$state.verifyCode,
          phoneCode = _this$state.phoneCode;
      if (!((account || mStore.account) && verifyCode && phoneCode)) return false;
      verifyPhoneCode({
        accountId: mStore.accountId,
        phone: mStore.account,
        code: mStore.phoneCode
      }).then(function (data) {
        if (!data.success) {
          var error = {
            message: data.msg
          }; // eventBus.pub_showErrorMessage(error)

          _this6.props.dataPipeModel && _this6.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });

          if (data.refreshCode) {
            _this6.resetPhoneCodeState();
          }
        } else {
          mStore.setValue('randomCode', data.randomCode);

          _this6.props.showModifyPanel();
        }
      });
    }
  }, {
    key: "checkFormData",
    value: function checkFormData() {
      var includePhoneCode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var account = mStore.account,
          verifyCode = mStore.verifyCode,
          phoneCode = mStore.phoneCode;

      if (util_validate.isEmpty(account)) {
        // eventBus.pub_ShowErrorMessage({ message: '账号不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '账号不能为空'
        });
        return false;
      } else if (util_validate.isEmpty(verifyCode)) {
        // eventBus.pub_ShowErrorMessage({ message: '图形验证码不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '图形验证码不能为空'
        });
        return false;
      } else if (includePhoneCode && util_validate.isEmpty(phoneCode)) {
        // eventBus.pub_ShowErrorMessage({ message: '手机验证码不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '手机验证码不能为空'
        });
        return false;
      } // eventBus.pub_hideNotification()


      this.props.dataPipeModel && this.props.dataPipeModel.sendData({
        type: 'HideNotification'
      });
      return true;
    }
  }, {
    key: "handleAccountInputBlur",
    value: function handleAccountInputBlur() {
      var account = mStore.account;

      if (account !== this.oldAccount) {
        this.oldAccount = account;
        this.getVerifyCode();
      }
    }
  }, {
    key: "handleChange",
    value: function handleChange(name, value) {
      this.setState(FindPassword_defineProperty({}, name, value));
    }
  }, {
    key: "render",
    value: function render() {
      var _classname;

      var _this$state2 = this.state,
          verifyCodeImg = _this$state2.verifyCodeImg,
          vCodeTime = _this$state2.vCodeTime;
      var btnText = vCodeTime === 0 ? '获取验证码' : "\u5DF2\u53D1\u9001(".concat(vCodeTime, "s)");
      var phoneCodeBtnClass = classnames_default()((_classname = {}, FindPassword_defineProperty(_classname, FindPassword.phoneCodeBtn, true), FindPassword_defineProperty(_classname, FindPassword.disable, vCodeTime !== 0), _classname));
      var inputStyle = {
        flexGrow: 1,
        width: 180,
        border: 'none'
      };
      var _this$state3 = this.state,
          account = _this$state3.account,
          verifyCode = _this$state3.verifyCode,
          phoneCode = _this$state3.phoneCode;
      var btnStyle = (account || mStore.account) && verifyCode && phoneCode ? {
        marginTop: '60px'
      } : {
        background: '#85B8FF',
        marginTop: '60px'
      };
      return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
        className: FindPassword.title
      }, "\u627E\u56DE\u5BC6\u7801"), /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        name: "account",
        onChange: this.handleChange,
        defaultValue: mStore.account,
        placeholder: "\u624B\u673A\u53F7",
        onBlur: this.handleAccountInputBlur
      }), /*#__PURE__*/react.createElement("div", {
        className: FindPassword.verifyCodeWrapper
      }, /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "verifyCode",
        placeholder: "\u56FE\u5F62\u9A8C\u8BC1\u7801",
        style: inputStyle
      }), /*#__PURE__*/react.createElement("div", {
        className: FindPassword.graphicCode,
        onClick: this.getVerifyCode
      }, /*#__PURE__*/react.createElement("img", {
        src: verifyCodeImg
      }))), /*#__PURE__*/react.createElement("div", {
        className: FindPassword.phoneCodeWrapper
      }, /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "phoneCode",
        placeholder: "\u624B\u673A\u9A8C\u8BC1\u7801",
        style: inputStyle
      }), /*#__PURE__*/react.createElement("div", {
        className: FindPassword.phoneCode
      }, /*#__PURE__*/react.createElement("div", {
        className: phoneCodeBtnClass,
        onClick: this.handlePhoneCodeBtnClick
      }, btnText))), /*#__PURE__*/react.createElement(base_Button, {
        style: btnStyle,
        text: "\u4E0B\u4E00\u6B65",
        dataPipeModel: this.props.dataPipeModel,
        onClick: this.handleNextBtnClick
      }));
    }
  }]);

  return CheckPhonePanel;
}(react.Component);

var ModifyPanel = /*#__PURE__*/function (_Component3) {
  FindPassword_inherits(ModifyPanel, _Component3);

  var _super3 = FindPassword_createSuper(ModifyPanel);

  function ModifyPanel(props) {
    var _this7;

    FindPassword_classCallCheck(this, ModifyPanel);

    _this7 = _super3.call(this, props);
    _this7.state = {
      showSuccessPanel: false,
      newPassword: '',
      confirmPassword: ''
    };
    _this7.handleClick = _this7.handleClick.bind(FindPassword_assertThisInitialized(_this7));
    _this7.resetPassword = _this7.resetPassword.bind(FindPassword_assertThisInitialized(_this7));
    _this7.renderSuccessPanel = _this7.renderSuccessPanel.bind(FindPassword_assertThisInitialized(_this7));
    _this7.handleChange = _this7.handleChange.bind(FindPassword_assertThisInitialized(_this7));
    return _this7;
  }

  FindPassword_createClass(ModifyPanel, [{
    key: "handleClick",
    value: function handleClick() {
      var _this$state4 = this.state,
          newPassword = _this$state4.newPassword,
          confirmPassword = _this$state4.confirmPassword;
      if (!(newPassword && confirmPassword) || !this.validateFormData()) return false;
      this.getPublicKey(this.resetPassword);
    }
  }, {
    key: "validateFormData",
    value: function validateFormData() {
      // 验证密码不为空。两次密码相同。长度不超过20
      var newPassword = mStore.newPassword,
          confirmPassword = mStore.confirmPassword;

      if (util_validate.checkLength(newPassword, 0, 20) === 1) {
        // eventBus.pub_ShowErrorMessage({ message: '新密码长度不能超过20位' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '新密码长度不能超过20位'
        });
        return false;
      } else if (!util_validate.isEqual(newPassword, confirmPassword)) {
        // eventBus.pub_ShowErrorMessage({ message: '两次密码不一致' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '两次密码不一致'
        });
        return false;
      }

      return true;
    }
  }, {
    key: "getPublicKey",
    value: function getPublicKey(callback) {
      var _this8 = this;

      var accessKey = mStore.account + uid(false, 16 - mStore.account.length);
      service_getPublicKey({
        // accessKey: '123456'
        accessKey: accessKey,
        accountId: mStore.accountId
      }).then(function (data) {
        if (data.success !== true) {
          var error = {
            message: data.errorMessage
          }; // eventBus.pub_showErrorMessage(error)

          _this8.props.dataPipeModel && _this8.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });
          return false;
        }

        callback({
          publicKey: data.publicKey,
          accessKey: accessKey
        });
      });
    }
  }, {
    key: "resetPassword",
    value: function resetPassword(data) {
      var _this9 = this;

      var accountId = mStore.accountId,
          account = mStore.account,
          newPassword = mStore.newPassword;
      var encrypt = new lib/* default */.Z();
      encrypt.setPublicKey(data.publicKey);
      service_resetPassword({
        accountId: accountId,
        phone: account,
        accessKey: data.accessKey,
        password: encrypt.encrypt(newPassword),
        randomCode: mStore.randomCode
      }).then(function (data) {
        if (!data.success) {
          var error = {
            message: data.msg || data.error
          }; // eventBus.pub_showErrorMessage(error)

          _this9.props.dataPipeModel && _this9.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });

          if (data.overtime) {
            setTimeout(function () {
              window.location.reload(); // 两秒之后刷新页面
            }, 2000);
          }
        } else {
          _this9.setState({
            showSuccessPanel: true
          });

          setTimeout(function () {
            window.location.hash = '';
          }, 2000);
        }
      });
    }
  }, {
    key: "renderSuccessPanel",
    value: function renderSuccessPanel() {
      var showSuccessPanel = this.state.showSuccessPanel;
      return showSuccessPanel ? /*#__PURE__*/react_dom.createPortal( /*#__PURE__*/react.createElement("div", {
        className: FindPassword.successPanel
      }, /*#__PURE__*/react.createElement("img", {
        src: (success_default())
      }), /*#__PURE__*/react.createElement("div", null, "\u8BBE\u7F6E\u6210\u529F")), document.body) : null;
    }
  }, {
    key: "handleChange",
    value: function handleChange(name, value) {
      this.setState(FindPassword_defineProperty({}, name, value));
    }
  }, {
    key: "render",
    value: function render() {
      var _this$state5 = this.state,
          newPassword = _this$state5.newPassword,
          confirmPassword = _this$state5.confirmPassword;
      var btnStyle = !newPassword || !confirmPassword ? {
        background: '#85B8FF',
        marginTop: '60px'
      } : {
        marginTop: '60px'
      };
      return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
        className: FindPassword.title
      }, "\u4FEE\u6539\u5BC6\u7801"), /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "newPassword",
        type: "password",
        placeholder: "\u65B0\u5BC6\u7801"
      }), /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "confirmPassword",
        type: "password",
        placeholder: "\u786E\u8BA4\u5BC6\u7801"
      }), /*#__PURE__*/react.createElement(base_Button, {
        text: "\u786E\u8BA4\u4FEE\u6539",
        style: btnStyle,
        onClick: this.handleClick
      }), this.renderSuccessPanel());
    }
  }]);

  return ModifyPanel;
}(react.Component);

/* harmony default export */ var mobile_FindPassword = (FindPassword_FindPassword);
;// CONCATENATED MODULE: ./src/page/mobile/MsgLogin.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var MsgLogin = ({"title":"MspnjDVG","verifyCodeWrapper":"_1VUBnRXg","graphicCode":"_12TLxxj8","phoneCodeWrapper":"_2Hybtmv5","phoneCode":"_2M38NV2B","phoneCodeBtn":"_2YpNG0sM","disable":"_2TwW-wYQ","nextStep":"_1S5zfRly"});
;// CONCATENATED MODULE: ./src/page/mobile/MsgLogin.jsx
function MsgLogin_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
















function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || MsgLogin_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function MsgLogin_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return MsgLogin_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return MsgLogin_arrayLikeToArray(o, minLen); }

function MsgLogin_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }






 // import eventBus from '@/eventBus'




function MsgLogin_MsgLogin(props) {
  var _classname;

  var vCodeTimer = (0,react.useRef)();

  var _useState = (0,react.useState)(0),
      _useState2 = _slicedToArray(_useState, 2),
      vCodeTime = _useState2[0],
      setVCodeTime = _useState2[1];

  var _useState3 = (0,react.useState)(false),
      _useState4 = _slicedToArray(_useState3, 2),
      logining = _useState4[0],
      setLoginStatus = _useState4[1];

  var _useState5 = (0,react.useState)(mStore.account),
      _useState6 = _slicedToArray(_useState5, 2),
      Account = _useState6[0],
      setAccount = _useState6[1];

  var _useState7 = (0,react.useState)(),
      _useState8 = _slicedToArray(_useState7, 2),
      PhoneCode = _useState8[0],
      setPhoneCode = _useState8[1];

  var dataCenter = props.dataCenter,
      currentAccountId = props.currentAccountId,
      handleChangeDataCenter = props.handleChangeDataCenter;
  var inputStyle = {
    flexGrow: 1,
    width: 180,
    border: 'none'
  }; // 发送短信验证码

  var sendMessage = function sendMessage() {
    if (vCodeTime !== 0) return false;
    if (!checkSendMessageFormData({
      dataPipeModel: props.dataPipeModel
    })) return false;
    service_sendMessage({
      useraccount: mStore.account,
      accountId: mStore.accountId,
      needVerifyCode: false
    }).then(function (data) {
      if (!data.success) {
        //  eventBus.pub_ShowErrorMessage(error)
        props.dataPipeModel && props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: data.msg || data.description
        });
      } else {
        var _vCodeTime = data.timeout || 60;

        setVCodeTime(_vCodeTime);
        vCodeTimer.current = setInterval(function () {
          if (_vCodeTime <= 0) {
            clearInterval(vCodeTimer.current);
          } else {
            setVCodeTime(--_vCodeTime);
          }
        }, 1000);
      }
    });
  }; // 登录接口


  function login(props) {
    if (logining) return false;
    if (!Account || !PhoneCode) return false;
    setLoginStatus(true);
    var account = mStore.account,
        accountId = mStore.accountId,
        phoneCode = mStore.phoneCode;
    var redirect = getRedirect();

    if (redirect) {
      redirect = decodeURIComponent(redirect);
    }

    smsLogin({
      useraccount: account,
      accountId: accountId,
      smsCode: phoneCode,
      needVerifyCode: false,
      redirect: redirect || 'mobile.html',
      needActive: false
    }).then(function (data) {
      var errorcode = data.errorcode,
          needChangePwd = data.needChangePwd,
          needChangeInitialPwd = data.needChangeInitialPwd,
          message = data.message,
          needActive = data.needActive,
          msg = data.msg;
      setLoginStatus(false);

      if (needActive) {
        window.location.hash = '#activeUser';
        return false;
      }

      if (needChangePwd === 1 || needChangeInitialPwd === 1) {
        window.location.hash = '#findPassword'; // eventBus.pub_ShowErrorMessage({ message: message })

        props.dataPipeModel && props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: message
        });
        return false;
      }

      if (errorcode !== 0) {
        // eventBus.pub_ShowErrorMessage({ message: msg })
        props.dataPipeModel && props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: msg
        });
        return false;
      } else {
        var hashString = window.location.hash !== '#msgLogin' ? window.location.hash : '';
        window.location.href = data.RedirectURL + hashString;
      }
    })["catch"](function (e) {
      setLoginStatus(false);
    });
  }

  var handleChange = function handleChange(name, value) {
    name === 'account' && setAccount(value);
    name === 'phoneCode' && setPhoneCode(value);
  };

  var btnStyle = !Account || !PhoneCode ? {
    background: '#85B8FF',
    marginTop: '60px'
  } : {
    marginTop: '60px'
  };
  var phoneCodeBtnClass = classnames_default()((_classname = {}, MsgLogin_defineProperty(_classname, MsgLogin.phoneCodeBtn, true), MsgLogin_defineProperty(_classname, MsgLogin.disable, vCodeTime !== 0), _classname));
  var loginBtnText = logining ? '登录中...' : '登录';
  var btnText = vCodeTime === 0 ? '获取验证码' : "\u5DF2\u53D1\u9001(".concat(vCodeTime, "s)");
  return (
    /*#__PURE__*/
    // <div className={style.main}>
    //   <div className={style.panel}>
    react.createElement(mobile_LoginWrapper, props, /*#__PURE__*/react.createElement("div", {
      className: MsgLogin.title
    }, "\u9A8C\u8BC1\u7801\u767B\u5F55"), /*#__PURE__*/react.createElement(mobile_base_DropdownList, {
      name: "accountId",
      list: dataCenter,
      selectItem: currentAccountId,
      onItemClick: handleChangeDataCenter,
      dataPipeModel: props.dataPipeModel
    }), /*#__PURE__*/react.createElement(mobile_base_Input, {
      dataPipeModel: props.dataPipeModel,
      defaultValue: mStore.account,
      onChange: handleChange,
      name: "account",
      placeholder: "\u624B\u673A\u53F7",
      inputType: "phoneNumber"
    }), /*#__PURE__*/react.createElement("div", {
      className: MsgLogin.phoneCodeWrapper
    }, /*#__PURE__*/react.createElement(mobile_base_Input, {
      dataPipeModel: props.dataPipeModel,
      onChange: handleChange,
      name: "phoneCode",
      placeholder: "\u624B\u673A\u9A8C\u8BC1\u7801",
      style: inputStyle
    }), /*#__PURE__*/react.createElement("div", {
      className: MsgLogin.phoneCode
    }, /*#__PURE__*/react.createElement("div", {
      className: phoneCodeBtnClass,
      onClick: sendMessage
    }, btnText))), /*#__PURE__*/react.createElement(base_Button, {
      dataPipeModel: props.dataPipeModel,
      style: btnStyle,
      text: loginBtnText,
      onClick: function onClick() {
        login({
          dataPipeModel: props.dataPipeModel
        });
      }
    })) //   </div>
    //   {/* <ErrorMessage /> */}
    // </div>

  );
}

function checkSendMessageFormData(props) {
  if (util_validate.isEmpty(mStore.account)) {
    // eventBus.pub_ShowErrorMessage({ message: '账号不能为空' })
    props.dataPipeModel && props.dataPipeModel.sendData({
      type: 'ShowErrorMessage',
      message: '账号不能为空'
    });
    return false;
  } // eventBus.pub_hideNotification()


  props.dataPipeModel && props.dataPipeModel.sendData({
    type: 'HideNotification'
  });
  return true;
}
;// CONCATENATED MODULE: ./src/page/mobile/index.js






// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.splice.js
var es_array_splice = __webpack_require__(9805);
;// CONCATENATED MODULE: ./src/DataPipeModel.js
/* provided dependency */ var DataPipeModel_console = __webpack_require__(3716);







function DataPipeModel_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function DataPipeModel_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function DataPipeModel_createClass(Constructor, protoProps, staticProps) { if (protoProps) DataPipeModel_defineProperties(Constructor.prototype, protoProps); if (staticProps) DataPipeModel_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

/**
 * 数据管道模型
 */
var DataPipeModel = /*#__PURE__*/function () {
  function DataPipeModel() {
    DataPipeModel_classCallCheck(this, DataPipeModel);

    this.holdCallback = {};
    window.holdCallback = this.holdCallback;
  }
  /**
     * 注册回调函数
     * @param {*} callbackType 回调函数的类型
     * @param {*} callback 回调函数
     **/


  DataPipeModel_createClass(DataPipeModel, [{
    key: "registerCallback",
    value: function registerCallback(callbackType, callback) {
      var _this = this;

      if (this.holdCallback[callbackType]) {
        this.holdCallback[callbackType].push(callback);
      } else {
        this.holdCallback[callbackType] = [callback];
      }

      return function () {
        _this.holdCallback[callbackType].splice(_this.holdCallback[callbackType].length - 1, 1);
      };
    }
    /**
       * 主动将数据传输过去
       * 调用函数和回调函数是一对多的关系
       * @param {*} data 需要传输的数据
       */

  }, {
    key: "sendData",
    value: function sendData(data) {
      var type = data.type;
      var callbackArr = this.holdCallback[type] || [];
      callbackArr.forEach(function (callback) {
        try {
          setTimeout(function () {
            callback(data);
          }, 0);
        } catch (error) {
          DataPipeModel_console.error(error, type);
        }
      });
    }
    /**
       * 主动从其他对象获取数据
       * 调用函数和回调函数是多对一的关系
       * @param {*} type 获取数据的类型
       **/

  }, {
    key: "getData",
    value: function getData(type) {
      var callback = this.holdCallback[type][0];
      var result;

      try {
        result = callback();
      } catch (error) {
        DataPipeModel_console.error(error, type);
      }

      return result;
    }
  }]);

  return DataPipeModel;
}();

/* harmony default export */ var src_DataPipeModel = (DataPipeModel);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.array.filter.js
var es_array_filter = __webpack_require__(5342);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.get-own-property-descriptor.js
var es_object_get_own_property_descriptor = __webpack_require__(8625);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.get-own-property-descriptors.js
var es_object_get_own_property_descriptors = __webpack_require__(2775);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.object.define-properties.js
var es_object_define_properties = __webpack_require__(6555);
;// CONCATENATED MODULE: ./src/page/mobile/ActiveUser.less
// extracted by mini-css-extract-plugin
/* harmony default export */ var ActiveUser = ({"title":"_2YFGoxXz","phoneCodeWrapper":"_1UnCmYHy","phoneCode":"-GYu6HVO","phoneCodeBtn":"_2hHRAdmT","disable":"_3l0uX70N","graphicContainer":"kIZsK0hi","graphicCode":"_19simcmo","successPanel":"SboCnx1M"});
// EXTERNAL MODULE: ./src/img/resetSuccess.png
var resetSuccess = __webpack_require__(2879);
var resetSuccess_default = /*#__PURE__*/__webpack_require__.n(resetSuccess);
;// CONCATENATED MODULE: ./src/page/mobile/ActiveUser.jsx
function ActiveUser_typeof(obj) { "@babel/helpers - typeof"; return ActiveUser_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, ActiveUser_typeof(obj); }

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { ActiveUser_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }

function ActiveUser_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
























function ActiveUser_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function ActiveUser_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function ActiveUser_createClass(Constructor, protoProps, staticProps) { if (protoProps) ActiveUser_defineProperties(Constructor.prototype, protoProps); if (staticProps) ActiveUser_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function ActiveUser_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) ActiveUser_setPrototypeOf(subClass, superClass); }

function ActiveUser_setPrototypeOf(o, p) { ActiveUser_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ActiveUser_setPrototypeOf(o, p); }

function ActiveUser_createSuper(Derived) { var hasNativeReflectConstruct = ActiveUser_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = ActiveUser_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = ActiveUser_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return ActiveUser_possibleConstructorReturn(this, result); }; }

function ActiveUser_possibleConstructorReturn(self, call) { if (call && (ActiveUser_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return ActiveUser_assertThisInitialized(self); }

function ActiveUser_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function ActiveUser_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function ActiveUser_getPrototypeOf(o) { ActiveUser_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ActiveUser_getPrototypeOf(o); }






 // import eventBus from '../../eventBus'








function ActiveUser_ActiveUser(props) {
  return /*#__PURE__*/react.createElement(mobile_LoginWrapper, props, /*#__PURE__*/react.createElement(ActiveUserPanel, {
    dataPipeModel: props.dataPipeModel
  }));
}

/* harmony default export */ var mobile_ActiveUser = (ActiveUser_ActiveUser);

var ActiveUserPanel = /*#__PURE__*/function (_Component) {
  ActiveUser_inherits(ActiveUserPanel, _Component);

  var _super = ActiveUser_createSuper(ActiveUserPanel);

  function ActiveUserPanel(props) {
    var _this;

    ActiveUser_classCallCheck(this, ActiveUserPanel);

    _this = _super.call(this, props);
    _this.state = {
      vCodeTime: 0,
      verifyCodeImg: '',
      isSuccess: false,
      account: '',
      verifyCode: '',
      phoneCode: '',
      newPassword: '',
      confirmPassword: ''
    };
    _this.oldAccount = mStore.account;
    _this.handleReSendPhoneCode = _this.handleReSendPhoneCode.bind(ActiveUser_assertThisInitialized(_this));
    _this.handleComfirmBtnClick = _this.handleComfirmBtnClick.bind(ActiveUser_assertThisInitialized(_this));
    _this.activeUser = _this.activeUser.bind(ActiveUser_assertThisInitialized(_this));
    _this.getVerifyCode = _this.getVerifyCode.bind(ActiveUser_assertThisInitialized(_this));
    _this.handleVerifyCodeClick = _this.handleVerifyCodeClick.bind(ActiveUser_assertThisInitialized(_this));
    _this.handleAccountInputBlur = _this.handleAccountInputBlur.bind(ActiveUser_assertThisInitialized(_this));
    _this.handleChange = _this.handleChange.bind(ActiveUser_assertThisInitialized(_this));
    _this.isInitAccount = isPhoneNumber(mStore.account) || validateEmail(mStore.account);
    return _this;
  }

  ActiveUser_createClass(ActiveUserPanel, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      mStore.setValue('password', ''); // this.handleReSendPhoneCode()

      if (!this.state.verifyCodeImg) {
        this.getVerifyCode();
      }

      if (!this.isInitAccount) {
        mStore.setValue('account', '');
      }
    }
  }, {
    key: "componentWillUnmount",
    value: function componentWillUnmount() {
      clearInterval(this.vCodeTimer);
    } // 验证账户类型是邮箱还是手机号

  }, {
    key: "verifyAccountType",
    value: function verifyAccountType() {
      var account = mStore.account;
      var mailReg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
      if (mailReg.test(account)) return false;
      return true;
    }
  }, {
    key: "verifyAccount",
    value: function verifyAccount() {
      var account = mStore.account;

      if (util_validate.isEmpty(account)) {
        // eventBus.pub_ShowErrorMessage({ message: '账号不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '账号不能为空'
        });
        return false;
      } // eventBus.pub_hideNotification()


      this.props.dataPipeModel && this.props.dataPipeModel.sendData({
        type: 'HideNotification'
      });
      return true;
    }
  }, {
    key: "handleReSendPhoneCode",
    value: function handleReSendPhoneCode() {
      if (this.verifyAccount() === false) return;
      this.verifyPhone();
    }
  }, {
    key: "verifyPhone",
    value: function verifyPhone() {
      var _this2 = this;

      var accountType = this.verifyAccountType() ? {
        phone: mStore.account
      } : {
        eMail: mStore.account
      };
      getCloudPhoneCode(_objectSpread(_objectSpread({}, accountType), {}, {
        accountId: mStore.accountId,
        language: mStore.lang,
        vCode: mStore.verifyCode,
        token: this.verifyCodeToken
      })).then(function (data) {
        if (!data.success) {
          var error = {
            message: data.msg || data.error
          }; // eventBus.pub_showErrorMessage(error)

          _this2.props.dataPipeModel && _this2.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });

          _this2.handleVerifyCodeClick();
        } else {
          mStore.setValue('randomCode', data.randomCode);
          var vCodeTime = data.vCodeTime / 1000 || 60;

          _this2.setState({
            vCodeTime: vCodeTime
          });

          _this2.vCodeTimer = setInterval(function () {
            if (vCodeTime <= 0) {
              clearInterval(_this2.vCodeTimer);
            } else {
              _this2.setState({
                vCodeTime: --vCodeTime
              });
            }
          }, 1000);
        }
      });
    }
  }, {
    key: "getVerifyCode",
    value: function getVerifyCode() {
      var _this3 = this;

      // eventBus.pub_focusInput({ name: 'verifyCode' })
      this.props.dataPipeModel && this.props.dataPipeModel.sendData({
        type: 'FocusInput',
        name: 'verifyCode'
      });
      getVerifyCodeByPhone({
        phone: mStore.account,
        language: mStore.lang,
        v: uid(false, 8),
        accountId: mStore.accountId
      }).then(function (data) {
        _this3.setState({
          verifyCodeImg: data.content
        });

        _this3.verifyCodeToken = data.vCode;
      });
    }
  }, {
    key: "handleVerifyCodeClick",
    value: function handleVerifyCodeClick() {
      this.getVerifyCode(); // eventBus.pub_focusInput({ name: 'verifyCode' })

      this.props.dataPipeModel && this.props.dataPipeModel.sendData({
        type: 'FocusInput',
        name: 'verifyCode'
      });
    }
  }, {
    key: "handleAccountInputBlur",
    value: function handleAccountInputBlur() {
      var account = mStore.account;

      if (account !== this.oldAccount) {
        this.oldAccount = account;
        this.handleVerifyCodeClick();
      }
    }
  }, {
    key: "checkFormData",
    value: function checkFormData() {
      var account = mStore.account,
          phoneCode = mStore.phoneCode,
          newPassword = mStore.newPassword,
          confirmPassword = mStore.confirmPassword,
          verifyCode = mStore.verifyCode;

      if (util_validate.isEmpty(account)) {
        // eventBus.pub_ShowErrorMessage({ message: '账号不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '账号不能为空'
        });
        return false;
      } else if (util_validate.isEmpty(verifyCode)) {
        // eventBus.pub_ShowErrorMessage({ message: '图形验证码不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '图形验证码不能为空'
        });
        return false;
      } else if (util_validate.isEmpty(phoneCode)) {
        // eventBus.pub_ShowErrorMessage({ message: '手机验证码不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '手机验证码不能为空'
        });
        return false;
      } else if (util_validate.isEmpty(newPassword)) {
        // eventBus.pub_ShowErrorMessage({ message: '新密码不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '新密码不能为空'
        });
        return false;
      } else if (util_validate.checkLength(newPassword, 0, 20) === 1) {
        // eventBus.pub_ShowErrorMessage({ message: '新密码长度不能超过20位' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '新密码长度不能超过20位'
        });
        return false;
      } else if (util_validate.isEmpty(confirmPassword)) {
        // eventBus.pub_ShowErrorMessage({ message: '确认密码不能为空' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '确认密码不能为空'
        });
        return false;
      } else if (!util_validate.isEqual(newPassword, confirmPassword)) {
        // eventBus.pub_ShowErrorMessage({ message: '两次密码不一致' })
        this.props.dataPipeModel && this.props.dataPipeModel.sendData({
          type: 'ShowErrorMessage',
          message: '两次密码不一致'
        });
        return false;
      } // eventBus.pub_hideNotification()


      this.props.dataPipeModel && this.props.dataPipeModel.sendData({
        type: 'HideNotification'
      });
      return true;
    }
  }, {
    key: "handleComfirmBtnClick",
    value: function handleComfirmBtnClick() {
      var _this$state = this.state,
          account = _this$state.account,
          phoneCode = _this$state.phoneCode,
          newPassword = _this$state.newPassword,
          confirmPassword = _this$state.confirmPassword,
          verifyCode = _this$state.verifyCode;
      var isAccount = (this.isInitAccount ? mStore.account : '') || account;
      if (!(isAccount && phoneCode && newPassword && confirmPassword && verifyCode)) return;
      this.checkFormData() && this.getPublicKey(this.activeUser);
    }
  }, {
    key: "getPublicKey",
    value: function getPublicKey(call) {
      var _this4 = this;

      var accessKey = mStore.account + uid(false, 16 - mStore.account.length);
      service_getPublicKey({
        accessKey: accessKey,
        accountId: mStore.accountId
      }).then(function (data) {
        if (data.success !== true) {
          var error = {
            message: data.errorMessage
          }; // eventBus.pub_showErrorMessage(error)

          _this4.props.dataPipeModel && _this4.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });
          return false;
        }

        call({
          publicKey: data.publicKey,
          accessKey: accessKey
        });
      });
    }
  }, {
    key: "getDefaultValue",
    value: function getDefaultValue() {
      var defaultValue = mStore.account || window.sessionStorage.getItem(ACCOUNT);
      return defaultValue;
    }
  }, {
    key: "activeUser",
    value: function activeUser(data) {
      var _this5 = this;

      var accountId = mStore.accountId,
          account = mStore.account,
          phoneCode = mStore.phoneCode,
          newPassword = mStore.newPassword;
      var accountType = this.verifyAccountType() ? {
        phone: account
      } : {
        eMail: account
      };
      var encrypt = new lib/* default */.Z();
      encrypt.setPublicKey(data.publicKey);
      var encryptedPassword = encrypt.encrypt(newPassword);
      service_activeUser(_objectSpread(_objectSpread({
        accountId: accountId
      }, accountType), {}, {
        code: phoneCode,
        accessKey: data.accessKey,
        password: encryptedPassword,
        vCode: mStore.verifyCode,
        token: this.verifyCodeToken,
        randomCode: mStore.randomCode
      })).then(function (data) {
        if (data && data.success) {
          mStore.setValue('password', '');

          _this5.setState({
            isSuccess: true
          });

          setTimeout(function () {
            window.sessionStorage.setItem(ACCOUNT, mStore.account);
            window.location.hash = '';
          }, 3000);
        } else {
          var error = {
            message: data.msg || data.error,
            level: 1
          }; // eventBus.pub_showErrorMessage(error)

          _this5.props.dataPipeModel && _this5.props.dataPipeModel.sendData({
            type: 'ShowErrorMessage',
            error: error
          });

          _this5.handleVerifyCodeClick();

          return false;
        }
      });
    }
  }, {
    key: "handleChange",
    value: function handleChange(name, value) {
      this.setState(ActiveUser_defineProperty({}, name, value));
    }
  }, {
    key: "render",
    value: function render() {
      var vCodeTime = this.state.vCodeTime;
      var btnText = vCodeTime === 0 ? '获取验证码' : "".concat(vCodeTime, "s\u540E\u91CD\u53D1");
      var btnClass = classnames_default()(ActiveUser.phoneCodeBtn, ActiveUser_defineProperty({}, ActiveUser.disable, vCodeTime !== 0));
      var _this$state2 = this.state,
          account = _this$state2.account,
          phoneCode = _this$state2.phoneCode,
          newPassword = _this$state2.newPassword,
          confirmPassword = _this$state2.confirmPassword,
          verifyCode = _this$state2.verifyCode;
      var isAccount = (this.isInitAccount ? mStore.account : '') || account;
      var btnStyle = !(isAccount && phoneCode && newPassword && confirmPassword && verifyCode) ? {
        background: '#85B8FF'
      } : {};
      return this.state.isSuccess ? /*#__PURE__*/react.createElement(SuccessPanel, {
        dataPipeModel: this.props.dataPipeModel
      }) : /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
        className: ActiveUser.title
      }, "\u6FC0\u6D3B\u7528\u6237"), /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "account",
        type: "text",
        placeholder: "\u624B\u673A\u53F7/\u90AE\u7BB1",
        onBlur: this.handleAccountInputBlur,
        defaultValue: this.isInitAccount ? mStore.account : ''
      }), /*#__PURE__*/react.createElement("div", {
        className: ActiveUser.graphicContainer
      }, /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "verifyCode",
        type: "text",
        placeholder: "\u56FE\u5F62\u9A8C\u8BC1\u7801"
      }), /*#__PURE__*/react.createElement("div", {
        className: ActiveUser.graphicCode,
        onClick: this.handleVerifyCodeClick
      }, /*#__PURE__*/react.createElement("img", {
        src: this.state.verifyCodeImg
      }))), /*#__PURE__*/react.createElement("div", {
        className: ActiveUser.phoneCodeWrapper
      }, /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        style: {
          border: 'none'
        },
        onChange: this.handleChange,
        name: "phoneCode",
        type: "text",
        placeholder: "\u9A8C\u8BC1\u7801"
      }), /*#__PURE__*/react.createElement("div", {
        className: ActiveUser.phoneCode
      }, /*#__PURE__*/react.createElement("div", {
        className: btnClass,
        onClick: this.handleReSendPhoneCode
      }, btnText))), /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "newPassword",
        type: "password",
        placeholder: "\u65B0\u5BC6\u7801"
      }), /*#__PURE__*/react.createElement(mobile_base_Input, {
        dataPipeModel: this.props.dataPipeModel,
        onChange: this.handleChange,
        name: "confirmPassword",
        type: "password",
        placeholder: "\u786E\u8BA4\u5BC6\u7801"
      }), /*#__PURE__*/react.createElement(base_Button, {
        text: "\u786E\u8BA4\u6FC0\u6D3B",
        onClick: this.handleComfirmBtnClick,
        style: btnStyle,
        dataPipeModel: this.props.dataPipeModel
      }));
    }
  }]);

  return ActiveUserPanel;
}(react.Component);

function SuccessPanel() {
  return /*#__PURE__*/react.createElement("div", {
    className: ActiveUser.successPanel
  }, /*#__PURE__*/react.createElement("img", {
    src: (resetSuccess_default())
  }), /*#__PURE__*/react.createElement("div", null, "\u6FC0\u6D3B\u6210\u529F"));
}
;// CONCATENATED MODULE: ./src/MobileApp.jsx
/* provided dependency */ var MobileApp_console = __webpack_require__(3716);
function MobileApp_typeof(obj) { "@babel/helpers - typeof"; return MobileApp_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, MobileApp_typeof(obj); }
















function MobileApp_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function MobileApp_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function MobileApp_createClass(Constructor, protoProps, staticProps) { if (protoProps) MobileApp_defineProperties(Constructor.prototype, protoProps); if (staticProps) MobileApp_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }

function MobileApp_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) MobileApp_setPrototypeOf(subClass, superClass); }

function MobileApp_setPrototypeOf(o, p) { MobileApp_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return MobileApp_setPrototypeOf(o, p); }

function MobileApp_createSuper(Derived) { var hasNativeReflectConstruct = MobileApp_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = MobileApp_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = MobileApp_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return MobileApp_possibleConstructorReturn(this, result); }; }

function MobileApp_possibleConstructorReturn(self, call) { if (call && (MobileApp_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return MobileApp_assertThisInitialized(self); }

function MobileApp_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function MobileApp_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function MobileApp_getPrototypeOf(o) { MobileApp_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return MobileApp_getPrototypeOf(o); }












var MobileApp = /*#__PURE__*/function (_Component) {
  MobileApp_inherits(MobileApp, _Component);

  var _super = MobileApp_createSuper(MobileApp);

  function MobileApp(props) {
    var _this;

    MobileApp_classCallCheck(this, MobileApp);

    _this = _super.call(this, props);

    var type = _this.getLoginType();

    _this.state = {
      type: type || 'kingdeeCloud',
      dataCenter: [],
      currentAccountId: '',
      configuration: _this.getConfigCache()
    };

    _this.loadConfiguration();

    _this.handleChangeDataCenter = _this.handleChangeDataCenter.bind(MobileApp_assertThisInitialized(_this));
    _this.dataPipeModel = new src_DataPipeModel();
    _this.setPage = _this.setPage.bind(MobileApp_assertThisInitialized(_this));
    return _this;
  }

  MobileApp_createClass(MobileApp, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      var _this2 = this;

      window.onhashchange = function () {
        var type = _this2.getLoginType();

        _this2.setState({
          type: type
        });
      };

      getAllDataCenter().then(function (data) {
        var dataCenter = convertDataCenter(data);
        mStore.setValue('dataCenter', dataCenter);

        _this2.setState({
          dataCenter: dataCenter,
          currentAccountId: getCurrentAccountId(data)
        });
      });

      try {
        window.loginAfterLoad && window.loginAfterLoad('other') && window.loginAfterLoad('other')();
      } catch (error) {
        MobileApp_console.log(error);
      }
    }
  }, {
    key: "getLoginType",
    value: function getLoginType() {
      return window.location.hash.slice(1);
    } // 获取缓存的config数据

  }, {
    key: "getConfigCache",
    value: function getConfigCache() {
      var configKey = toolUtils_getNameWithCurrentEnvrionment(CONFIG);
      return JSON.parse(window.localStorage.getItem(configKey)) || {};
    }
  }, {
    key: "loadConfiguration",
    value: function loadConfiguration(accountId) {
      var _this3 = this;

      var currentAccountIdKey = toolUtils_getNameWithCurrentEnvrionment(CURRENT_ACCOUNDID);
      var currentAccountId = accountId || window.localStorage.getItem(currentAccountIdKey);
      var formData = {
        language: 'zh_CN'
      };

      if (currentAccountId) {
        formData.accountId = currentAccountId;
      }

      service_loadConfiguration(formData).then(function (config) {
        if (config !== '') {
          mStore.setValue('iskdbrand', config.kdbrand);
          var configKey = toolUtils_getNameWithCurrentEnvrionment(CONFIG);

          _this3.initBrowserTab(config);

          _this3.setState({
            configuration: config
          });

          window.localStorage.setItem(configKey, JSON.stringify(config));
        }
      }).then(function () {
        _this3.setState({
          isComplete: true
        });
      })["catch"](function () {
        _this3.setState({
          isComplete: true
        });
      });
    }
  }, {
    key: "initBrowserTab",
    value: function initBrowserTab() {
      var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var tabword = config.tabword;
      document.title = getMultilinguaText(tabword, 'zh_CN', '金蝶云星瀚');
    }
  }, {
    key: "handleChangeDataCenter",
    value: function handleChangeDataCenter(accountId) {
      this.loadConfiguration(accountId);
      this.setState({
        currentAccountId: accountId
      });
    }
  }, {
    key: "setPage",
    value: function setPage() {
      var _this$state = this.state,
          type = _this$state.type,
          dataCenter = _this$state.dataCenter,
          currentAccountId = _this$state.currentAccountId,
          configuration = _this$state.configuration;

      if (type === 'findPassword') {
        return /*#__PURE__*/react.createElement(mobile_FindPassword, {
          dataPipeModel: this.dataPipeModel,
          configuration: configuration
        });
      } else if (type === 'activeUser') {
        return /*#__PURE__*/react.createElement(mobile_ActiveUser, {
          dataPipeModel: this.dataPipeModel,
          configuration: configuration
        });
      } else if (type === 'msgLogin') {
        return /*#__PURE__*/react.createElement(MsgLogin_MsgLogin, {
          dataCenter: dataCenter,
          configuration: configuration,
          currentAccountId: currentAccountId,
          handleChangeDataCenter: this.handleChangeDataCenter,
          dataPipeModel: this.dataPipeModel
        });
      } else {
        return /*#__PURE__*/react.createElement(page_mobile_KingdeeCloud, {
          dataCenter: dataCenter,
          configuration: configuration,
          currentAccountId: currentAccountId,
          handleChangeDataCenter: this.handleChangeDataCenter,
          dataPipeModel: this.dataPipeModel
        });
      }
    }
  }, {
    key: "render",
    value: function render() {
      return /*#__PURE__*/react.createElement("div", {
        style: {
          width: '100%'
        }
      }, this.setPage(), /*#__PURE__*/react.createElement(mobile_base_Notification, {
        dataPipeModel: this.dataPipeModel
      }), /*#__PURE__*/react.createElement(mobile_base_ErrorMessage, {
        dataPipeModel: this.dataPipeModel
      }));
    }
  }]);

  return MobileApp;
}(react.Component);

/* harmony default export */ var src_MobileApp = (MobileApp); // accountplaceholder: {zh_TW: "租戶級別22", zh_CN: "租户级别22"}
// accounttypedesc: {zh_TW: "租戶級別11", zh_CN: "租户级别11"}
// bgimg: "./isv/kdtest/loginImage/bgimg.jpeg?v=1653271542016"
// defaultusersourcetype: "0"
// hiddenresetpwd: "true"
// kdbrand: "2"
// languages: "[{\"number\":\"RU\",\"name\":\"русский\",\"default\":false}
// linkdata: "[{\"id\":0,\"seq\":1,\"linkname\":\"百度\",\"linkurl\":\"https://www.kingdee.com\"}]"
// logoimg: "./isv/kdtest/loginImage/logoimg.png?v=1653271542016"
// tabimg: "./isv/kdtest/loginImage/tabimg.jpg?v=1653271542016"
// tabword: {zh_TW: "租戶級別33", zh_CN: "租户级别33"}
// usernamepsw: "0"
// welcomemsg: {zh_TW: "租戶級別44", zh_CN: "租户级别44"}
;// CONCATENATED MODULE: ./src/util/clientEnv.js



var UNKNOWN = 'unknown'; // 未知类型

var YZJ = 'yzj'; // 云之家移动端

var DESKTOP = 'desktop'; // 云之家桌面端

var OLDDESKTOP = 'isOldClient'; // 老云之家客户端

var WX = 'wx';
var DD = 'dd';
var WELINK = 'welink'; // welink客户端

var WXWORK = 'wxwork'; // 企业微信
// 获取客户端app类型（云之家，微信，v+,unknown)

function getAppType() {
  var agent = navigator.userAgent;

  if (agent.match(/Qing\/.*;(iOS|iPhone|Android).*/)) {
    return YZJ;
  }

  if (agent.match(/App\/cloudhub/)) {
    return DESKTOP;
  }

  if (agent.match(/clientId:10204/)) {
    return OLDDESKTOP;
  }

  if (agent.indexOf('MicroMessenger') > -1) {
    if (agent.indexOf('wxwork') > -1) {
      // 企业微信
      return WXWORK;
    } else {
      // 微信
      return WX;
    }
  } // 钉钉 ding-talk-win/1.0.0 nw(0.14.7) DingTalk(4.79-Release.43) -PC端


  if (agent.indexOf('DingTalk') > -1) {
    // agent.indexOf('dingtalk') > -1 ||
    return DD;
  }

  if (agent.indexOf('welink') > -1 || agent.indexOf('cloudlink') > -1) {
    return WELINK;
  } // todo：其他支持的app类型


  return UNKNOWN;
}
function isDesktop() {
  // return !!navigator.userAgent.match(/App\/cloudhub/)
  return {
    result: !!navigator.userAgent.match(/App\/cloudhub/),
    isOldClient: navigator.userAgent.match(/clientId:10204/)
  };
}
var appType = getAppType();
/* harmony default export */ var clientEnv = ({
  isYzj: appType === YZJ,
  isDesktop: appType === DESKTOP,
  isOldClient: appType === OLDDESKTOP,
  isUnknown: appType === UNKNOWN,
  isVPlus: window.isVPlus === true,
  // 维加
  isWx: appType === WX,
  // 微信
  isDd: appType === DD,
  // 钉钉,
  isWelink: appType === WELINK,
  isWxWork: appType === WXWORK,
  appType: appType
});
;// CONCATENATED MODULE: ./src/util/thirdpartyUtil.js
/* provided dependency */ var thirdpartyUtil_console = __webpack_require__(3716);







 // 是否免登

function isFreeLogin() {
  try {
    var appType = getRedirectQueryString('apptype'); // 钉钉 或 welink

    if (appType === 'dd') return true;
    if (appType === 'wl' && clientEnv.isWelink) return true;
    return false;
  } catch (error) {
    thirdpartyUtil_console.log(error);
    return false;
  }
}
function initThirdparty() {
  var appType = getRedirectQueryString('apptype');

  switch (appType) {
    case 'dd':
      initDD();
      break;

    case 'wl':
      initWL();
      break;

    default:
      break;
  }
}

function initDD() {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = '//g.alicdn.com/dingding/dingtalk-jsapi/2.6.41/dingtalk.open.js';
  var head = document.getElementsByTagName('head')[0];
  head.appendChild(script);

  script.onload = function () {
    try {
      // 如果能从url参数或者hash里面拿到code,则说明前端发送到后端后端登录失败，直接返回
      // 钉钉免登相关逻辑
      window.dd.ready(function () {
        // 钉钉 corpid
        var corpId = getRedirectQueryString('corpid');
        window.dd.runtime.permission.requestAuthCode({
          corpId: corpId,
          // 企业id
          onSuccess: function onSuccess(_ref) {
            var code = _ref.code;
            // 通过该免登授权码可以获取用户身份
            // const hash = window.location.hash
            // 获取回调url 解码 redirect
            var redirect = getQueryString('redirect');

            if (redirect) {
              redirect = decodeURIComponent(redirect);
              var hasCode = redirect.indexOf('&code=') > -1;

              if (hasCode) {
                // code有时候会验证失败，需要多次获取，直到浏览器报431
                redirect = redirect.replace(/&code=/g, '&errorCode=');
              } // 考虑 hash 的情况


              var hash = window.location.hash;

              if (hash) {
                // const [url, hash] = redirect.split('#')
                redirect = "".concat(redirect).concat(redirect.includes('?') ? '&' : '?', "code=").concat(code).concat(hash);
              } else {
                redirect = "".concat(redirect).concat(redirect.includes('?') ? '&' : '?', "code=").concat(code);
              } // 免登之后的跳转url


              window.location.href = redirect;
            }
          }
        });
      });
    } catch (error) {
      thirdpartyUtil_console.log(error);
    }
  };
}

function initWL() {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'https://open-doc.welink.huaweicloud.com/docs/jsapi/2.0.2/hwh5-cloudonline.js';
  var head = document.getElementsByTagName('head')[0];
  head.appendChild(script);

  script.onload = function () {
    window.HWH5.getAuthCode().then(function (data) {
      var code = data.code; // 用于免登的code

      thirdpartyUtil_console.log('code:', code);
      var redirect = getQueryString('redirect');

      if (redirect) {
        redirect = decodeURIComponent(redirect);
        var hasCode = redirect.indexOf('&code=') > -1;

        if (hasCode) {
          // code有时候会验证失败，需要多次获取，直到浏览器报431
          redirect = redirect.replace(/&code=/g, '&errorCode=');
        } // 考虑 hash 的情况


        var hash = window.location.hash;

        if (hash) {
          redirect = "".concat(redirect).concat(redirect.includes('?') ? '&' : '?', "code=").concat(code).concat(hash);
        } else {
          redirect = "".concat(redirect).concat(redirect.includes('?') ? '&' : '?', "code=").concat(code);
        } // 免登之后的跳转url


        window.location.href = redirect;
      }
    })["catch"](function (error) {
      thirdpartyUtil_console.log(error);
    });
  };
}
// EXTERNAL MODULE: ../../node_modules/whatwg-fetch/fetch.js
var fetch = __webpack_require__(6168);
// EXTERNAL MODULE: ../../node_modules/core-js/modules/es.date.now.js
var es_date_now = __webpack_require__(8510);
// EXTERNAL MODULE: ./src/util/loadjs.js
var loadjs = __webpack_require__(3750);
var loadjs_default = /*#__PURE__*/__webpack_require__.n(loadjs);
;// CONCATENATED MODULE: ./src/util/mobileDebugger.js
/* provided dependency */ var mobileDebugger_console = __webpack_require__(3716);




/**
 * 打开移动端在线调试器‘eruda’
 * @authors daosheng_chen (daosheng_chen@kingdee.com)
 * @date    2019-01-08 16:18:18
 * @version 1.0
 */

function startJsdelivr() {
  var touchStartTime;
  var time;
  var pageX, pageY;

  var handTouchStart = function handTouchStart(event) {
    // console.log('handTouchStart', event.changedTouches[0].pageX, event.changedTouches[0].pageY)
    pageX = event.changedTouches[0].pageX;
    pageY = event.changedTouches[0].pageY;
    startMonitor();
  };

  var handTouchEnd = function handTouchEnd(event) {
    stopMonitor();
  };

  var checkRange = function checkRange(x, y) {
    return y >= 0 && y <= 100 && x > window.innerWidth - 100 && x <= window.innerWidth;
  };

  var startMonitor = function startMonitor() {
    clearInterval(time);
    touchStartTime = Date.now();
    time = window.setInterval(function () {
      if (Date.now() - touchStartTime >= 10000) {
        if (!checkRange(pageX, pageY)) {
          window.clearInterval(time);
          return;
        }

        document.removeEventListener('touchstart', handTouchStart, true);
        document.removeEventListener('touchend', handTouchEnd, true);
        stopMonitor();
        mobileDebugger_console.log('start mobile debugger');
        loadjs_default()('//cdn.jsdelivr.net/npm/eruda', function () {
          window.eruda.init();
        });
      }
    }, 1000);
  };

  var stopMonitor = function stopMonitor() {
    clearInterval(time);
  };

  document.addEventListener('touchstart', handTouchStart, {
    capture: true
  });
  document.addEventListener('touchend', handTouchEnd, {
    capture: true
  });
}
;// CONCATENATED MODULE: ./src/mobile.js
/* provided dependency */ var mobile_console = __webpack_require__(3716);








window.Promise = (__webpack_require__(9706).Promise);

if (window.loginBeforeLoad) {
  try {
    window.loginBeforeLoad(mobileLogin);
  } catch (error) {
    mobile_console.log(error);
  }
} else {
  mobileLogin();
}

function mobileLogin() {
  if (isFreeLogin()) {
    // 是否免登, 免登不渲染登录界面
    initThirdparty();
  } else {
    startJsdelivr();
    react_dom.render( /*#__PURE__*/react.createElement(src_MobileApp, null), document.getElementById('root'));
  }
}

/***/ }),

/***/ 3750:
/***/ (function(module, exports, __webpack_require__) {

var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(9805);

__webpack_require__(7950);

__webpack_require__(5940);

__webpack_require__(8695);

__webpack_require__(8188);

__webpack_require__(5794);

__webpack_require__(4115);

__webpack_require__(634);

__webpack_require__(796);

__webpack_require__(5735);

__webpack_require__(8673);

__webpack_require__(6886);

function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }

(function (root, factory) {
  if (true) {
    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
		__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
		(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
		__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  } else {}
})(this, function () {
  /**
   * Global dependencies.
   * @global {Object} document - DOM
   */
  var devnull = function devnull() {};

  var bundleIdCache = {};
  var bundleResultCache = {};
  var bundleCallbackQueue = {};
  var pathStatusList = {};
  var eventSubs = [];
  /**
  * Subscribe to bundle load event.
  * @param {string[]} bundleIds - Bundle ids
  * @param {Function} callbackFn - The callback function
  */

  function subscribe(bundleIds, callbackFn) {
    // listify
    bundleIds = bundleIds.push ? bundleIds : [bundleIds];
    var depsNotFound = [];
    var i = bundleIds.length;
    var numWaiting = i;
    var fn;
    var bundleId;
    var r;
    var q; // define callback function

    fn = function fn(bundleId, pathsNotFound) {
      if (pathsNotFound.length) depsNotFound.push(bundleId);
      numWaiting--;
      if (!numWaiting) callbackFn(depsNotFound);
    }; // register callback


    while (i--) {
      bundleId = bundleIds[i]; // execute callback if in result cache

      r = bundleResultCache[bundleId];

      if (r) {
        fn(bundleId, r);
        continue;
      } // add to callback queue


      q = bundleCallbackQueue[bundleId] = bundleCallbackQueue[bundleId] || [];
      q.push(fn);
    }
  }
  /**
  * Publish bundle load event.
  * @param {string} bundleId - Bundle id
  * @param {string[]} pathsNotFound - List of files not found
  */


  function publish(bundleId, pathsNotFound) {
    // exit if id isn't defined
    if (!bundleId) return;
    var q = bundleCallbackQueue[bundleId]; // cache result

    bundleResultCache[bundleId] = pathsNotFound; // exit if queue is empty

    if (!q) return; // empty callback queue

    while (q.length) {
      q[0](bundleId, pathsNotFound);
      q.splice(0, 1);
    }
  }
  /**
  * Execute callbacks.
  * @param {Object or Function} args - The callback args
  * @param {string[]} depsNotFound - List of dependencies not found
  */


  function executeCallbacks(args, depsNotFound) {
    // accept function as argument
    if (args.call) args = {
      success: args
    }; // success and error callbacks

    if (depsNotFound.length) (args.error || devnull)(depsNotFound);else (args.success || devnull)(args);
  }

  function isMemoryPath(path) {
    var status = pathStatusList[path];
    return !!status;
  }
  /**
  * Load individual file.
  * @param {string} path - The file path
  * @param {Function} callbackFn - The callback function
  */


  function loadFile(path, callbackFn, args, numTries) {
    if (isMemoryPath(path)) {
      var status = pathStatusList[path];

      if (status === 'resolve') {
        callbackFn(path);
      } else {
        eventSubs.push({
          path: path,
          fn: function fn() {
            callbackFn(path);
          }
        });
      }

      return;
    }

    var doc = document;
    var async = args.async;
    var maxTries = (args.numRetries || 0) + 1;
    var beforeCallbackFn = args.before || devnull;
    var pathStripped = path.replace(/^(css|img)!/, '');
    var isCss;
    var e;
    numTries = numTries || 0;
    var pathPlace = path.replace(/\?.*$/, '');

    if (/(^css!|\.css$)/.test(pathPlace)) {
      isCss = true; // css

      e = doc.createElement('link');
      e.rel = 'stylesheet';
      e.href = pathStripped; // .replace(/^css!/, '');  // remove "css!" prefix
    } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(pathPlace)) {
      // image
      e = doc.createElement('img');
      e.src = pathStripped;
    } else {
      // javascript
      e = doc.createElement('script');
      e.src = path;
      e.async = async === undefined ? true : async;
    }

    e.onload = e.onerror = e.onbeforeload = function (ev) {
      var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty
      // stylesheets as failures to get around lack of onerror support

      if (isCss && 'hideFocus' in e) {
        try {
          if (!e.sheet.cssText.length) result = 'e';
        } catch (x) {
          // sheets objects created from load errors don't allow access to
          // `cssText`
          result = 'e';
        }
      } // handle retries in case of load failure


      if (result == 'e') {
        // increment counter
        numTries += 1; // exit function and try again

        if (numTries < maxTries) {
          return loadFile(path, callbackFn, args, numTries);
        }
      } // execute callback


      pathStatusList[path] = 'resolve';
      callbackFn(path, result, ev.defaultPrevented);
      eventSubs.forEach(function (obj) {
        if (obj.path === path) obj.fn();
      });
    }; // add to document (unless callback returns `false`)


    if (beforeCallbackFn(path, e) !== false && !pathStatusList[path]) doc.head.appendChild(e);
    pathStatusList[path] = 'pengding';
  }
  /**
  * Load multiple files.
  * @param {string[]} paths - The file paths
  * @param {Function} callbackFn - The callback function
  */


  function loadFiles(paths, callbackFn, args) {
    // listify paths
    paths = paths.push ? paths : [paths];
    var numWaiting = paths.length;
    var x = numWaiting;
    var pathsNotFound = [];
    var fn;
    var i; // define callback function

    fn = function fn(path, result, defaultPrevented) {
      // handle error
      if (result == 'e') pathsNotFound.push(path); // handle beforeload event. If defaultPrevented then that means the load
      // will be blocked (ex. Ghostery/ABP on Safari)

      if (result == 'b') {
        if (defaultPrevented) pathsNotFound.push(path);else return;
      }

      numWaiting--;
      if (!numWaiting) callbackFn(pathsNotFound);
    }; // load scripts


    for (i = 0; i < x; i++) {
      loadFile(paths[i], fn, args);
    }
  }
  /**
  * Initiate script load and register bundle.
  * @param {(string|string[])} paths - The file paths
  * @param {(string|Function)} [arg1] - The bundleId or success callback
  * @param {Function} [arg2] - The success or error callback
  * @param {Function} [arg3] - The error callback
  */


  function loadjs(paths, arg1, arg2) {
    var bundleId, args; // bundleId (if string)

    if (arg1 && arg1.trim) bundleId = arg1; // args (default is {})

    args = (bundleId ? arg2 : arg1) || {}; // throw error if bundle is already defined

    if (bundleId) {
      if (bundleId in bundleIdCache) {
        throw 'LoadJS';
      } else {
        bundleIdCache[bundleId] = true;
      }
    } // load scripts


    loadFiles(paths, function (pathsNotFound) {
      // execute callbacks
      executeCallbacks(args, pathsNotFound); // publish bundle load event

      publish(bundleId, pathsNotFound);
    }, args);
  }
  /**
  * Execute callbacks when dependencies have been satisfied.
  * @param {(string|string[])} deps - List of bundle ids
  * @param {Object} args - success/error arguments
  */


  loadjs.ready = function ready(deps, args) {
    // subscribe to bundle load event
    subscribe(deps, function (depsNotFound) {
      // execute callbacks
      executeCallbacks(args, depsNotFound);
    });
    return loadjs;
  };
  /**
  * Manually satisfy bundle dependencies.
  * @param {string} bundleId - The bundle id
  */


  loadjs.done = function done(bundleId) {
    publish(bundleId, []);
  };
  /**
  * Reset loadjs dependencies statuses
  */


  loadjs.reset = function reset() {
    bundleIdCache = {};
    bundleResultCache = {};
    bundleCallbackQueue = {};
  };
  /**
  * Determine if bundle has already been defined
  * @param String} bundleId - The bundle id
  */


  loadjs.isDefined = function isDefined(bundleId) {
    return bundleId in bundleIdCache;
  }; // export


  return loadjs;
});

/***/ }),

/***/ 7421:
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {

__webpack_require__(5094);

__webpack_require__(4083);

__webpack_require__(8995);

__webpack_require__(9120);

__webpack_require__(8188);

__webpack_require__(8233);

__webpack_require__(4033);

module.exports = Long;
/**
 * wasm optimizations, to do native i64 multiplication and divide
 */

var wasm = null;
/*
try {
  wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([
    0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11
  ])), {}).exports;
} catch (e) {
  // no wasm support :(
}
*/

/**
 * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.
 *  See the from* functions below for more convenient ways of constructing Longs.
 * @exports Long
 * @class A Long class for representing a 64 bit two's-complement integer value.
 * @param {number} low The low (signed) 32 bits of the long
 * @param {number} high The high (signed) 32 bits of the long
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @constructor
 */

function Long(low, high, unsigned) {
  /**
     * The low 32 bits as a signed value.
     * @type {number}
     */
  this.low = low | 0;
  /**
     * The high 32 bits as a signed value.
     * @type {number}
     */

  this.high = high | 0;
  /**
     * Whether unsigned or not.
     * @type {boolean}
     */

  this.unsigned = !!unsigned;
} // The internal representation of a long is the two given signed, 32-bit values.
// We use 32-bit pieces because these are the size of integers on which
// Javascript performs bit-operations.  For operations like addition and
// multiplication, we split each number into 16 bit pieces, which can easily be
// multiplied within Javascript's floating-point representation without overflow
// or change in sign.
//
// In the algorithms below, we frequently reduce the negative case to the
// positive case by negating the input(s) and then post-processing the result.
// Note that we must ALWAYS check specially whether those values are MIN_VALUE
// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as
// a positive number, it overflows back into a negative).  Not handling this
// case would often result in infinite recursion.
//
// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*
// methods on which they depend.

/**
 * An indicator used to reliably determine if an object is a Long or not.
 * @type {boolean}
 * @const
 * @private
 */
// Long.prototype.__isLong__


Object.defineProperty(Long.prototype, '__isLong__', {
  value: true
});
/**
 * @function
 * @param {*} obj Object
 * @returns {boolean}
 * @inner
 */

function isLong(obj) {
  return (obj && obj.__isLong__) === true;
}
/**
 * Tests if the specified object is a Long.
 * @function
 * @param {*} obj Object
 * @returns {boolean}
 */


Long.isLong = isLong;
/**
 * A cache of the Long representations of small integer values.
 * @type {!Object}
 * @inner
 */

var INT_CACHE = {};
/**
 * A cache of the Long representations of small unsigned integer values.
 * @type {!Object}
 * @inner
 */

var UINT_CACHE = {};
/**
 * @param {number} value
 * @param {boolean=} unsigned
 * @returns {!Long}
 * @inner
 */

function fromInt(value, unsigned) {
  var obj, cachedObj, cache;

  if (unsigned) {
    value >>>= 0;

    if (cache = value >= 0 && value < 256) {
      cachedObj = UINT_CACHE[value];

      if (cachedObj) {
        return cachedObj;
      }
    }

    obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);

    if (cache) {
      UINT_CACHE[value] = obj;
    }

    return obj;
  } else {
    value |= 0;

    if (cache = value >= -128 && value < 128) {
      cachedObj = INT_CACHE[value];

      if (cachedObj) {
        return cachedObj;
      }
    }

    obj = fromBits(value, value < 0 ? -1 : 0, false);

    if (cache) {
      INT_CACHE[value] = obj;
    }

    return obj;
  }
}
/**
 * Returns a Long representing the given 32 bit integer value.
 * @function
 * @param {number} value The 32 bit integer in question
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @returns {!Long} The corresponding Long value
 */


Long.fromInt = fromInt;
/**
 * @param {number} value
 * @param {boolean=} unsigned
 * @returns {!Long}
 * @inner
 */

function fromNumber(value, unsigned) {
  if (isNaN(value)) {
    return unsigned ? UZERO : ZERO;
  }

  if (unsigned) {
    if (value < 0) {
      return UZERO;
    }

    if (value >= TWO_PWR_64_DBL) {
      return MAX_UNSIGNED_VALUE;
    }
  } else {
    if (value <= -TWO_PWR_63_DBL) {
      return MIN_VALUE;
    }

    if (value + 1 >= TWO_PWR_63_DBL) {
      return MAX_VALUE;
    }
  }

  if (value < 0) {
    return fromNumber(-value, unsigned).neg();
  }

  return fromBits(value % TWO_PWR_32_DBL | 0, value / TWO_PWR_32_DBL | 0, unsigned);
}
/**
 * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.
 * @function
 * @param {number} value The number in question
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @returns {!Long} The corresponding Long value
 */


Long.fromNumber = fromNumber;
/**
 * @param {number} lowBits
 * @param {number} highBits
 * @param {boolean=} unsigned
 * @returns {!Long}
 * @inner
 */

function fromBits(lowBits, highBits, unsigned) {
  return new Long(lowBits, highBits, unsigned);
}
/**
 * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is
 *  assumed to use 32 bits.
 * @function
 * @param {number} lowBits The low 32 bits
 * @param {number} highBits The high 32 bits
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @returns {!Long} The corresponding Long value
 */


Long.fromBits = fromBits;
/**
 * @function
 * @param {number} base
 * @param {number} exponent
 * @returns {number}
 * @inner
 */

var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)

/**
 * @param {string} str
 * @param {(boolean|number)=} unsigned
 * @param {number=} radix
 * @returns {!Long}
 * @inner
 */

function fromString(str, unsigned, radix) {
  if (str.length === 0) {
    throw Error('empty string');
  }

  if (str === 'NaN' || str === 'Infinity' || str === '+Infinity' || str === '-Infinity') {
    return ZERO;
  }

  if (typeof unsigned === 'number') {
    // For goog.math.long compatibility
    radix = unsigned;
    unsigned = false;
  } else {
    unsigned = !!unsigned;
  }

  radix = radix || 10;

  if (radix < 2 || radix > 36) {
    throw RangeError('radix');
  }

  var p;

  if ((p = str.indexOf('-')) > 0) {
    throw Error('interior hyphen');
  } else if (p === 0) {
    return fromString(str.substring(1), unsigned, radix).neg();
  } // Do several (8) digits each time through the loop, so as to
  // minimize the calls to the very expensive emulated div.


  var radixToPower = fromNumber(pow_dbl(radix, 8));
  var result = ZERO;

  for (var i = 0; i < str.length; i += 8) {
    var size = Math.min(8, str.length - i);
    var value = parseInt(str.substring(i, i + size), radix);

    if (size < 8) {
      var power = fromNumber(pow_dbl(radix, size));
      result = result.mul(power).add(fromNumber(value));
    } else {
      result = result.mul(radixToPower);
      result = result.add(fromNumber(value));
    }
  }

  result.unsigned = unsigned;
  return result;
}
/**
 * Returns a Long representation of the given string, written using the specified radix.
 * @function
 * @param {string} str The textual representation of the Long
 * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed
 * @param {number=} radix The radix in which the text is written (2-36), defaults to 10
 * @returns {!Long} The corresponding Long value
 */


Long.fromString = fromString;
/**
 * @function
 * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val
 * @param {boolean=} unsigned
 * @returns {!Long}
 * @inner
 */

function fromValue(val, unsigned) {
  if (typeof val === 'number') {
    return fromNumber(val, unsigned);
  }

  if (typeof val === 'string') {
    return fromString(val, unsigned);
  } // Throws for non-objects, converts non-instanceof Long:


  return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);
}
/**
 * Converts the specified value to a Long using the appropriate from* function for its type.
 * @function
 * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @returns {!Long}
 */


Long.fromValue = fromValue; // NOTE: the compiler should inline these constant values below and then remove these variables, so there should be
// no runtime penalty for these.

/**
 * @type {number}
 * @const
 * @inner
 */

var TWO_PWR_16_DBL = 1 << 16;
/**
 * @type {number}
 * @const
 * @inner
 */

var TWO_PWR_24_DBL = 1 << 24;
/**
 * @type {number}
 * @const
 * @inner
 */

var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;
/**
 * @type {number}
 * @const
 * @inner
 */

var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;
/**
 * @type {number}
 * @const
 * @inner
 */

var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;
/**
 * @type {!Long}
 * @const
 * @inner
 */

var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);
/**
 * @type {!Long}
 * @inner
 */

var ZERO = fromInt(0);
/**
 * Signed zero.
 * @type {!Long}
 */

Long.ZERO = ZERO;
/**
 * @type {!Long}
 * @inner
 */

var UZERO = fromInt(0, true);
/**
 * Unsigned zero.
 * @type {!Long}
 */

Long.UZERO = UZERO;
/**
 * @type {!Long}
 * @inner
 */

var ONE = fromInt(1);
/**
 * Signed one.
 * @type {!Long}
 */

Long.ONE = ONE;
/**
 * @type {!Long}
 * @inner
 */

var UONE = fromInt(1, true);
/**
 * Unsigned one.
 * @type {!Long}
 */

Long.UONE = UONE;
/**
 * @type {!Long}
 * @inner
 */

var NEG_ONE = fromInt(-1);
/**
 * Signed negative one.
 * @type {!Long}
 */

Long.NEG_ONE = NEG_ONE;
/**
 * @type {!Long}
 * @inner
 */

var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false);
/**
 * Maximum signed value.
 * @type {!Long}
 */

Long.MAX_VALUE = MAX_VALUE;
/**
 * @type {!Long}
 * @inner
 */

var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true);
/**
 * Maximum unsigned value.
 * @type {!Long}
 */

Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;
/**
 * @type {!Long}
 * @inner
 */

var MIN_VALUE = fromBits(0, 0x80000000 | 0, false);
/**
 * Minimum signed value.
 * @type {!Long}
 */

Long.MIN_VALUE = MIN_VALUE;
/**
 * @alias Long.prototype
 * @inner
 */

var LongPrototype = Long.prototype;
/**
 * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.
 * @this {!Long}
 * @returns {number}
 */

LongPrototype.toInt = function toInt() {
  return this.unsigned ? this.low >>> 0 : this.low;
};
/**
 * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).
 * @this {!Long}
 * @returns {number}
 */


LongPrototype.toNumber = function toNumber() {
  if (this.unsigned) {
    return (this.high >>> 0) * TWO_PWR_32_DBL + (this.low >>> 0);
  }

  return this.high * TWO_PWR_32_DBL + (this.low >>> 0);
};
/**
 * Converts the Long to a string written in the specified radix.
 * @this {!Long}
 * @param {number=} radix Radix (2-36), defaults to 10
 * @returns {string}
 * @override
 * @throws {RangeError} If `radix` is out of range
 */


LongPrototype.toString = function toString(radix) {
  radix = radix || 10;

  if (radix < 2 || radix > 36) {
    throw RangeError('radix');
  }

  if (this.isZero()) {
    return '0';
  }

  if (this.isNegative()) {
    // Unsigned Longs are never negative
    if (this.eq(MIN_VALUE)) {
      // We need to change the Long value before it can be negated, so we remove
      // the bottom-most digit in this base and then recurse to do the rest.
      var radixLong = fromNumber(radix);
      var div = this.div(radixLong);
      var rem1 = div.mul(radixLong).sub(this);
      return div.toString(radix) + rem1.toInt().toString(radix);
    } else {
      return '-' + this.neg().toString(radix);
    }
  } // Do several (6) digits each time through the loop, so as to
  // minimize the calls to the very expensive emulated div.


  var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned);
  var rem = this;
  var result = '';

  while (true) {
    var remDiv = rem.div(radixToPower);
    var intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0;
    var digits = intval.toString(radix);
    rem = remDiv;

    if (rem.isZero()) {
      return digits + result;
    } else {
      while (digits.length < 6) {
        digits = '0' + digits;
      }

      result = '' + digits + result;
    }
  }
};
/**
 * Gets the high 32 bits as a signed integer.
 * @this {!Long}
 * @returns {number} Signed high bits
 */


LongPrototype.getHighBits = function getHighBits() {
  return this.high;
};
/**
 * Gets the high 32 bits as an unsigned integer.
 * @this {!Long}
 * @returns {number} Unsigned high bits
 */


LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {
  return this.high >>> 0;
};
/**
 * Gets the low 32 bits as a signed integer.
 * @this {!Long}
 * @returns {number} Signed low bits
 */


LongPrototype.getLowBits = function getLowBits() {
  return this.low;
};
/**
 * Gets the low 32 bits as an unsigned integer.
 * @this {!Long}
 * @returns {number} Unsigned low bits
 */


LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {
  return this.low >>> 0;
};
/**
 * Gets the number of bits needed to represent the absolute value of this Long.
 * @this {!Long}
 * @returns {number}
 */


LongPrototype.getNumBitsAbs = function getNumBitsAbs() {
  if (this.isNegative()) // Unsigned Longs are never negative
    {
      return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();
    }

  var val = this.high != 0 ? this.high : this.low;

  for (var bit = 31; bit > 0; bit--) {
    if ((val & 1 << bit) != 0) {
      break;
    }
  }

  return this.high != 0 ? bit + 33 : bit + 1;
};
/**
 * Tests if this Long's value equals zero.
 * @this {!Long}
 * @returns {boolean}
 */


LongPrototype.isZero = function isZero() {
  return this.high === 0 && this.low === 0;
};
/**
 * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.
 * @returns {boolean}
 */


LongPrototype.eqz = LongPrototype.isZero;
/**
 * Tests if this Long's value is negative.
 * @this {!Long}
 * @returns {boolean}
 */

LongPrototype.isNegative = function isNegative() {
  return !this.unsigned && this.high < 0;
};
/**
 * Tests if this Long's value is positive.
 * @this {!Long}
 * @returns {boolean}
 */


LongPrototype.isPositive = function isPositive() {
  return this.unsigned || this.high >= 0;
};
/**
 * Tests if this Long's value is odd.
 * @this {!Long}
 * @returns {boolean}
 */


LongPrototype.isOdd = function isOdd() {
  return (this.low & 1) === 1;
};
/**
 * Tests if this Long's value is even.
 * @this {!Long}
 * @returns {boolean}
 */


LongPrototype.isEven = function isEven() {
  return (this.low & 1) === 0;
};
/**
 * Tests if this Long's value equals the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.equals = function equals(other) {
  if (!isLong(other)) {
    other = fromValue(other);
  }

  if (this.unsigned !== other.unsigned && this.high >>> 31 === 1 && other.high >>> 31 === 1) {
    return false;
  }

  return this.high === other.high && this.low === other.low;
};
/**
 * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.eq = LongPrototype.equals;
/**
 * Tests if this Long's value differs from the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.notEquals = function notEquals(other) {
  return !this.eq(
  /* validates */
  other);
};
/**
 * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.neq = LongPrototype.notEquals;
/**
 * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.ne = LongPrototype.notEquals;
/**
 * Tests if this Long's value is less than the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.lessThan = function lessThan(other) {
  return this.comp(
  /* validates */
  other) < 0;
};
/**
 * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.lt = LongPrototype.lessThan;
/**
 * Tests if this Long's value is less than or equal the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {
  return this.comp(
  /* validates */
  other) <= 0;
};
/**
 * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.lte = LongPrototype.lessThanOrEqual;
/**
 * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.le = LongPrototype.lessThanOrEqual;
/**
 * Tests if this Long's value is greater than the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.greaterThan = function greaterThan(other) {
  return this.comp(
  /* validates */
  other) > 0;
};
/**
 * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.gt = LongPrototype.greaterThan;
/**
 * Tests if this Long's value is greater than or equal the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {
  return this.comp(
  /* validates */
  other) >= 0;
};
/**
 * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */


LongPrototype.gte = LongPrototype.greaterThanOrEqual;
/**
 * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {boolean}
 */

LongPrototype.ge = LongPrototype.greaterThanOrEqual;
/**
 * Compares this Long's value with the specified's.
 * @this {!Long}
 * @param {!Long|number|string} other Other value
 * @returns {number} 0 if they are the same, 1 if the this is greater and -1
 *  if the given one is greater
 */

LongPrototype.compare = function compare(other) {
  if (!isLong(other)) {
    other = fromValue(other);
  }

  if (this.eq(other)) {
    return 0;
  }

  var thisNeg = this.isNegative();
  var otherNeg = other.isNegative();

  if (thisNeg && !otherNeg) {
    return -1;
  }

  if (!thisNeg && otherNeg) {
    return 1;
  } // At this point the sign bits are the same


  if (!this.unsigned) {
    return this.sub(other).isNegative() ? -1 : 1;
  } // Both are positive if at least one is unsigned


  return other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1;
};
/**
 * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.
 * @function
 * @param {!Long|number|string} other Other value
 * @returns {number} 0 if they are the same, 1 if the this is greater and -1
 *  if the given one is greater
 */


LongPrototype.comp = LongPrototype.compare;
/**
 * Negates this Long's value.
 * @this {!Long}
 * @returns {!Long} Negated Long
 */

LongPrototype.negate = function negate() {
  if (!this.unsigned && this.eq(MIN_VALUE)) {
    return MIN_VALUE;
  }

  return this.not().add(ONE);
};
/**
 * Negates this Long's value. This is an alias of {@link Long#negate}.
 * @function
 * @returns {!Long} Negated Long
 */


LongPrototype.neg = LongPrototype.negate;
/**
 * Returns the sum of this and the specified Long.
 * @this {!Long}
 * @param {!Long|number|string} addend Addend
 * @returns {!Long} Sum
 */

LongPrototype.add = function add(addend) {
  if (!isLong(addend)) {
    addend = fromValue(addend);
  } // Divide each number into 4 chunks of 16 bits, and then sum the chunks.


  var a48 = this.high >>> 16;
  var a32 = this.high & 0xFFFF;
  var a16 = this.low >>> 16;
  var a00 = this.low & 0xFFFF;
  var b48 = addend.high >>> 16;
  var b32 = addend.high & 0xFFFF;
  var b16 = addend.low >>> 16;
  var b00 = addend.low & 0xFFFF;
  var c48 = 0;
  var c32 = 0;
  var c16 = 0;
  var c00 = 0;
  c00 += a00 + b00;
  c16 += c00 >>> 16;
  c00 &= 0xFFFF;
  c16 += a16 + b16;
  c32 += c16 >>> 16;
  c16 &= 0xFFFF;
  c32 += a32 + b32;
  c48 += c32 >>> 16;
  c32 &= 0xFFFF;
  c48 += a48 + b48;
  c48 &= 0xFFFF;
  return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);
};
/**
 * Returns the difference of this and the specified Long.
 * @this {!Long}
 * @param {!Long|number|string} subtrahend Subtrahend
 * @returns {!Long} Difference
 */


LongPrototype.subtract = function subtract(subtrahend) {
  if (!isLong(subtrahend)) {
    subtrahend = fromValue(subtrahend);
  }

  return this.add(subtrahend.neg());
};
/**
 * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.
 * @function
 * @param {!Long|number|string} subtrahend Subtrahend
 * @returns {!Long} Difference
 */


LongPrototype.sub = LongPrototype.subtract;
/**
 * Returns the product of this and the specified Long.
 * @this {!Long}
 * @param {!Long|number|string} multiplier Multiplier
 * @returns {!Long} Product
 */

LongPrototype.multiply = function multiply(multiplier) {
  if (this.isZero()) {
    return ZERO;
  }

  if (!isLong(multiplier)) {
    multiplier = fromValue(multiplier);
  } // use wasm support if present


  if (wasm) {
    var low = wasm.mul(this.low, this.high, multiplier.low, multiplier.high);
    return fromBits(low, wasm.get_high(), this.unsigned);
  }

  if (multiplier.isZero()) {
    return ZERO;
  }

  if (this.eq(MIN_VALUE)) {
    return multiplier.isOdd() ? MIN_VALUE : ZERO;
  }

  if (multiplier.eq(MIN_VALUE)) {
    return this.isOdd() ? MIN_VALUE : ZERO;
  }

  if (this.isNegative()) {
    if (multiplier.isNegative()) {
      return this.neg().mul(multiplier.neg());
    } else {
      return this.neg().mul(multiplier).neg();
    }
  } else if (multiplier.isNegative()) {
    return this.mul(multiplier.neg()).neg();
  } // If both longs are small, use float multiplication


  if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) {
    return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);
  } // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.
  // We can skip products that would overflow.


  var a48 = this.high >>> 16;
  var a32 = this.high & 0xFFFF;
  var a16 = this.low >>> 16;
  var a00 = this.low & 0xFFFF;
  var b48 = multiplier.high >>> 16;
  var b32 = multiplier.high & 0xFFFF;
  var b16 = multiplier.low >>> 16;
  var b00 = multiplier.low & 0xFFFF;
  var c48 = 0;
  var c32 = 0;
  var c16 = 0;
  var c00 = 0;
  c00 += a00 * b00;
  c16 += c00 >>> 16;
  c00 &= 0xFFFF;
  c16 += a16 * b00;
  c32 += c16 >>> 16;
  c16 &= 0xFFFF;
  c16 += a00 * b16;
  c32 += c16 >>> 16;
  c16 &= 0xFFFF;
  c32 += a32 * b00;
  c48 += c32 >>> 16;
  c32 &= 0xFFFF;
  c32 += a16 * b16;
  c48 += c32 >>> 16;
  c32 &= 0xFFFF;
  c32 += a00 * b32;
  c48 += c32 >>> 16;
  c32 &= 0xFFFF;
  c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
  c48 &= 0xFFFF;
  return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);
};
/**
 * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.
 * @function
 * @param {!Long|number|string} multiplier Multiplier
 * @returns {!Long} Product
 */


LongPrototype.mul = LongPrototype.multiply;
/**
 * Returns this Long divided by the specified. The result is signed if this Long is signed or
 *  unsigned if this Long is unsigned.
 * @this {!Long}
 * @param {!Long|number|string} divisor Divisor
 * @returns {!Long} Quotient
 */

LongPrototype.divide = function divide(divisor) {
  if (!isLong(divisor)) {
    divisor = fromValue(divisor);
  }

  if (divisor.isZero()) {
    throw Error('division by zero');
  } // use wasm support if present


  if (wasm) {
    // guard against signed division overflow: the largest
    // negative number / -1 would be 1 larger than the largest
    // positive number, due to two's complement.
    if (!this.unsigned && this.high === -0x80000000 && divisor.low === -1 && divisor.high === -1) {
      // be consistent with non-wasm code path
      return this;
    }

    var low = (this.unsigned ? wasm.div_u : wasm.div_s)(this.low, this.high, divisor.low, divisor.high);
    return fromBits(low, wasm.get_high(), this.unsigned);
  }

  if (this.isZero()) {
    return this.unsigned ? UZERO : ZERO;
  }

  var approx, rem, res;

  if (!this.unsigned) {
    // This section is only relevant for signed longs and is derived from the
    // closure library as a whole.
    if (this.eq(MIN_VALUE)) {
      if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) {
        return MIN_VALUE;
      } // recall that -MIN_VALUE == MIN_VALUE
      else if (divisor.eq(MIN_VALUE)) {
        return ONE;
      } else {
        // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.
        var halfThis = this.shr(1);
        approx = halfThis.div(divisor).shl(1);

        if (approx.eq(ZERO)) {
          return divisor.isNegative() ? ONE : NEG_ONE;
        } else {
          rem = this.sub(divisor.mul(approx));
          res = approx.add(rem.div(divisor));
          return res;
        }
      }
    } else if (divisor.eq(MIN_VALUE)) {
      return this.unsigned ? UZERO : ZERO;
    }

    if (this.isNegative()) {
      if (divisor.isNegative()) {
        return this.neg().div(divisor.neg());
      }

      return this.neg().div(divisor).neg();
    } else if (divisor.isNegative()) {
      return this.div(divisor.neg()).neg();
    }

    res = ZERO;
  } else {
    // The algorithm below has not been made for unsigned longs. It's therefore
    // required to take special care of the MSB prior to running it.
    if (!divisor.unsigned) {
      divisor = divisor.toUnsigned();
    }

    if (divisor.gt(this)) {
      return UZERO;
    }

    if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true
      {
        return UONE;
      }

    res = UZERO;
  } // Repeat the following until the remainder is less than other:  find a
  // floating-point that approximates remainder / other *from below*, add this
  // into the result, and subtract it from the remainder.  It is critical that
  // the approximate value is less than or equal to the real value so that the
  // remainder never becomes negative.


  rem = this;

  while (rem.gte(divisor)) {
    // Approximate the result of division. This may be a little greater or
    // smaller than the actual value.
    approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber())); // We will tweak the approximate result by changing it in the 48-th digit or
    // the smallest non-fractional digit, whichever is larger.

    var log2 = Math.ceil(Math.log(approx) / Math.LN2);
    var delta = log2 <= 48 ? 1 : pow_dbl(2, log2 - 48); // Decrease the approximation until it is smaller than the remainder.  Note
    // that if it is too large, the product overflows and is negative.

    var approxRes = fromNumber(approx);
    var approxRem = approxRes.mul(divisor);

    while (approxRem.isNegative() || approxRem.gt(rem)) {
      approx -= delta;
      approxRes = fromNumber(approx, this.unsigned);
      approxRem = approxRes.mul(divisor);
    } // We know the answer can't be zero... and actually, zero would cause
    // infinite recursion since we would make no progress.


    if (approxRes.isZero()) {
      approxRes = ONE;
    }

    res = res.add(approxRes);
    rem = rem.sub(approxRem);
  }

  return res;
};
/**
 * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.
 * @function
 * @param {!Long|number|string} divisor Divisor
 * @returns {!Long} Quotient
 */


LongPrototype.div = LongPrototype.divide;
/**
 * Returns this Long modulo the specified.
 * @this {!Long}
 * @param {!Long|number|string} divisor Divisor
 * @returns {!Long} Remainder
 */

LongPrototype.modulo = function modulo(divisor) {
  if (!isLong(divisor)) {
    divisor = fromValue(divisor);
  } // use wasm support if present


  if (wasm) {
    var low = (this.unsigned ? wasm.rem_u : wasm.rem_s)(this.low, this.high, divisor.low, divisor.high);
    return fromBits(low, wasm.get_high(), this.unsigned);
  }

  return this.sub(this.div(divisor).mul(divisor));
};
/**
 * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.
 * @function
 * @param {!Long|number|string} divisor Divisor
 * @returns {!Long} Remainder
 */


LongPrototype.mod = LongPrototype.modulo;
/**
 * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.
 * @function
 * @param {!Long|number|string} divisor Divisor
 * @returns {!Long} Remainder
 */

LongPrototype.rem = LongPrototype.modulo;
/**
 * Returns the bitwise NOT of this Long.
 * @this {!Long}
 * @returns {!Long}
 */

LongPrototype.not = function not() {
  return fromBits(~this.low, ~this.high, this.unsigned);
};
/**
 * Returns the bitwise AND of this Long and the specified.
 * @this {!Long}
 * @param {!Long|number|string} other Other Long
 * @returns {!Long}
 */


LongPrototype.and = function and(other) {
  if (!isLong(other)) {
    other = fromValue(other);
  }

  return fromBits(this.low & other.low, this.high & other.high, this.unsigned);
};
/**
 * Returns the bitwise OR of this Long and the specified.
 * @this {!Long}
 * @param {!Long|number|string} other Other Long
 * @returns {!Long}
 */


LongPrototype.or = function or(other) {
  if (!isLong(other)) {
    other = fromValue(other);
  }

  return fromBits(this.low | other.low, this.high | other.high, this.unsigned);
};
/**
 * Returns the bitwise XOR of this Long and the given one.
 * @this {!Long}
 * @param {!Long|number|string} other Other Long
 * @returns {!Long}
 */


LongPrototype.xor = function xor(other) {
  if (!isLong(other)) {
    other = fromValue(other);
  }

  return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);
};
/**
 * Returns this Long with bits shifted to the left by the given amount.
 * @this {!Long}
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */


LongPrototype.shiftLeft = function shiftLeft(numBits) {
  if (isLong(numBits)) {
    numBits = numBits.toInt();
  }

  if ((numBits &= 63) === 0) {
    return this;
  } else if (numBits < 32) {
    return fromBits(this.low << numBits, this.high << numBits | this.low >>> 32 - numBits, this.unsigned);
  } else {
    return fromBits(0, this.low << numBits - 32, this.unsigned);
  }
};
/**
 * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.
 * @function
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */


LongPrototype.shl = LongPrototype.shiftLeft;
/**
 * Returns this Long with bits arithmetically shifted to the right by the given amount.
 * @this {!Long}
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */

LongPrototype.shiftRight = function shiftRight(numBits) {
  if (isLong(numBits)) {
    numBits = numBits.toInt();
  }

  if ((numBits &= 63) === 0) {
    return this;
  } else if (numBits < 32) {
    return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >> numBits, this.unsigned);
  } else {
    return fromBits(this.high >> numBits - 32, this.high >= 0 ? 0 : -1, this.unsigned);
  }
};
/**
 * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.
 * @function
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */


LongPrototype.shr = LongPrototype.shiftRight;
/**
 * Returns this Long with bits logically shifted to the right by the given amount.
 * @this {!Long}
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */

LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {
  if (isLong(numBits)) numBits = numBits.toInt();
  if ((numBits &= 63) === 0) return this;
  if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >>> numBits, this.unsigned);
  if (numBits === 32) return fromBits(this.high, 0, this.unsigned);
  return fromBits(this.high >>> numBits - 32, 0, this.unsigned);
};
/**
 * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.
 * @function
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */


LongPrototype.shru = LongPrototype.shiftRightUnsigned;
/**
 * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.
 * @function
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Shifted Long
 */

LongPrototype.shr_u = LongPrototype.shiftRightUnsigned;
/**
 * Returns this Long with bits rotated to the left by the given amount.
 * @this {!Long}
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Rotated Long
 */

LongPrototype.rotateLeft = function rotateLeft(numBits) {
  var b;
  if (isLong(numBits)) numBits = numBits.toInt();
  if ((numBits &= 63) === 0) return this;
  if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);

  if (numBits < 32) {
    b = 32 - numBits;
    return fromBits(this.low << numBits | this.high >>> b, this.high << numBits | this.low >>> b, this.unsigned);
  }

  numBits -= 32;
  b = 32 - numBits;
  return fromBits(this.high << numBits | this.low >>> b, this.low << numBits | this.high >>> b, this.unsigned);
};
/**
 * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}.
 * @function
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Rotated Long
 */


LongPrototype.rotl = LongPrototype.rotateLeft;
/**
 * Returns this Long with bits rotated to the right by the given amount.
 * @this {!Long}
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Rotated Long
 */

LongPrototype.rotateRight = function rotateRight(numBits) {
  var b;
  if (isLong(numBits)) numBits = numBits.toInt();
  if ((numBits &= 63) === 0) return this;
  if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);

  if (numBits < 32) {
    b = 32 - numBits;
    return fromBits(this.high << b | this.low >>> numBits, this.low << b | this.high >>> numBits, this.unsigned);
  }

  numBits -= 32;
  b = 32 - numBits;
  return fromBits(this.low << b | this.high >>> numBits, this.high << b | this.low >>> numBits, this.unsigned);
};
/**
 * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}.
 * @function
 * @param {number|!Long} numBits Number of bits
 * @returns {!Long} Rotated Long
 */


LongPrototype.rotr = LongPrototype.rotateRight;
/**
 * Converts this Long to signed.
 * @this {!Long}
 * @returns {!Long} Signed long
 */

LongPrototype.toSigned = function toSigned() {
  if (!this.unsigned) {
    return this;
  }

  return fromBits(this.low, this.high, false);
};
/**
 * Converts this Long to unsigned.
 * @this {!Long}
 * @returns {!Long} Unsigned long
 */


LongPrototype.toUnsigned = function toUnsigned() {
  if (this.unsigned) {
    return this;
  }

  return fromBits(this.low, this.high, true);
};
/**
 * Converts this Long to its byte representation.
 * @param {boolean=} le Whether little or big endian, defaults to big endian
 * @this {!Long}
 * @returns {!Array.<number>} Byte representation
 */


LongPrototype.toBytes = function toBytes(le) {
  return le ? this.toBytesLE() : this.toBytesBE();
};
/**
 * Converts this Long to its little endian byte representation.
 * @this {!Long}
 * @returns {!Array.<number>} Little endian byte representation
 */


LongPrototype.toBytesLE = function toBytesLE() {
  var hi = this.high;
  var lo = this.low;
  return [lo & 0xff, lo >>> 8 & 0xff, lo >>> 16 & 0xff, lo >>> 24, hi & 0xff, hi >>> 8 & 0xff, hi >>> 16 & 0xff, hi >>> 24];
};
/**
 * Converts this Long to its big endian byte representation.
 * @this {!Long}
 * @returns {!Array.<number>} Big endian byte representation
 */


LongPrototype.toBytesBE = function toBytesBE() {
  var hi = this.high;
  var lo = this.low;
  return [hi >>> 24, hi >>> 16 & 0xff, hi >>> 8 & 0xff, hi & 0xff, lo >>> 24, lo >>> 16 & 0xff, lo >>> 8 & 0xff, lo & 0xff];
};
/**
 * Creates a Long from its byte representation.
 * @param {!Array.<number>} bytes Byte representation
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @param {boolean=} le Whether little or big endian, defaults to big endian
 * @returns {Long} The corresponding Long value
 */


Long.fromBytes = function fromBytes(bytes, unsigned, le) {
  return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned);
};
/**
 * Creates a Long from its little endian byte representation.
 * @param {!Array.<number>} bytes Little endian byte representation
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @returns {Long} The corresponding Long value
 */


Long.fromBytesLE = function fromBytesLE(bytes, unsigned) {
  return new Long(bytes[0] | bytes[1] << 8 | bytes[2] << 16 | bytes[3] << 24, bytes[4] | bytes[5] << 8 | bytes[6] << 16 | bytes[7] << 24, unsigned);
};
/**
 * Creates a Long from its big endian byte representation.
 * @param {!Array.<number>} bytes Big endian byte representation
 * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
 * @returns {Long} The corresponding Long value
 */


Long.fromBytesBE = function fromBytesBE(bytes, unsigned) {
  return new Long(bytes[4] << 24 | bytes[5] << 16 | bytes[6] << 8 | bytes[7], bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], unsigned);
};

/***/ }),

/***/ 6433:
/***/ (function(module) {

module.exports = "data:image/gif;base64,R0lGODlhEAAQAKIHADZmvyRl1FZ5upOjxHWOv7G5yb2/w////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAAHACwAAAAAEAAQAAADQ3i6B8CQORdXCG0eIeC92cZ11seMZBlxjGFUC0EcrgvLcv1W+GzDB1lrxxgMILqi8bhIFgqHJbP5ej6j04gVClxcIwkAIfkEBQAABwAsAAAAABAAEAAAAz94uifCkDkXFwBtHkLgvdnGddbHjGQZcUwQVMswHK4Ly3L9VvhswwcZcFEoDIlFI8xgOCSVESbTCY1Kj4ppJAEAIfkEBQAABwAsAAAAABAADgAAAzt4ukfEkDkXlxBtnjHgvdnGddbHjGQZcQwAVEtRHK4Ly3L9VvhswwcZIxCIGAwQIpFxPA6VzGayCHEqEgAh+QQFAAAHACwAAAAAEAAQAAADPni6N8OQORcXIW2eUuC92cZ11seMZBlxjCBUi2EcrgvLcv1W+GzDBxkDAAAOiUXjAVkMBIzEg9OplE6r1koCACH5BAUAAAcALAAAAAAOABAAAAM8eLpXxVA5F88YbR5j1r3ZxnXWx4xkGXEKQVSM68KtTNc3IwhRECy7HcPnUwR5AMCB+DMik8piBKq8JSEJACH5BAUAAAcALAAAAAAQABAAAAM+eLpnxpA5F1cpbdZzb95cBzLeeAzDGAQnmlbr6r5RzKIquxBEBAAQHo/x+zGEPYHgUAQek8qlcRNdmg7KSgIAIfkEBQAABwAsAAACABAADgAAAz54aqZ+IbzD2Ivx1eaw1Nz1KUUxTQBwlOWppClrurDauq/qDMMpCBMe7/H7PYQ9AuFQBB6TyqURF13iHkpXAgAh+QQFAAAHACwAAAAAEAAQAAADPni6F8GQORfjfADURXPejKeBy7cYBikIB4pu6+qmVcy+4MoURUQQEB6P8fvthIfB4FAEHpPKpXETXZIUykoCADs="

/***/ }),

/***/ 233:
/***/ (function(module) {

module.exports = "data:image/png;base64, "

/***/ }),

/***/ 2879:
/***/ (function(module) {

module.exports = "data:image/png;base64, "

/***/ }),

/***/ 4889:
/***/ (function(module) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAABOCAMAAADGpcLeAAAAk1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ROyVeAAAAMHRSTlMA+YHRlYzI7cxMQ/bnLg38Uz8oIAcD8b/fuId4E9aZRzUX45FyY45qTxvasaKDWqzZCH2cAAADKklEQVRo3sWa23qqMBCFQU4KCFZQwTOetdqu93+6XSvxQwSbZIL7vzYukgwrMxk0FQTufp0aiaPrTmKk670baM0ycMd2iBKhPXYHWlN0LR81+FZXa4KOjZfYHeWSBwN/YvSUSvZTcDHqK5OMLzo40cexGs3IhgDtSMluOhBiqGBnNxBmQtW0IMGOpjmHFGfaPCXZvXM/6ft6AAHJGI4cEBhGUj5kg0RbxptaIDKW8HgdRHRx909BZkSI3PdFcBsKMMQ0F1CCWAYzghJsodCFFM56Y4YoIpIjjiHD5Zp2f6GIJZBTr2R87/A7dooiPn8W/gFxVvlKbvGAyy16kXDa7DZ06cl6objVfwZ55eHLxm8gbLvrQa7poEQYNLSl4SYfuByCIbypWwjh9djDDvHMvpF0zFnmw1yvcuU5RT+FXpU+s2sPVaQNnDCzI9PUaSfNCU/4Ts1fTv/QRMIp6j9tW0+Lt94rzY5eu+Wcok9/v/h9H3yUOWUshnTUocuJslznaJRjKGLvigey6KrsccypUhQZdoueQF3eGR7x2IwG56IPLbQH7yMGkv0cLxW+sdVuHFdKkrP0eWSm5eyQc2FrboBBMocdnkiiUpl85rWvNcHw7243+MYPdlxZ8RAMf4kKfBar8QhIMmYKeET+aIvDl6fJdOZ1a0tYsUM8+7hjhahUvUt12NO1aem2ib/xy8X1nFakfoGH01R4kEu/LxrFxdqj2nH5k+2J+K1UXOMK/GXFNAEfLY4o4C6ggo05n8/T2Q+Jjhd8sVJdcal4nKEeb3n7jSNQFNPrcP+qmtnKy/8pXqHPtxdf/UWHCyWMhCZqgKHk8ipzy62x3ti6YbdzZh6UcGEmsjZNKxMqIegXkhPzh63Q7tGvXndX0YlQVUi/ottfRYuB3A3RDIWZTVumuXmIpA2HKrVxMIiOpcMmW3QYh1aJuY//0CIJEsl5ktg01h6hpTHqG3xnMN7WyownYKhv2va/21aQW/HodDr5+o0QddDb08fh/RzqgQd6I56lgn3iNbrdkeg1dbnvP+kfV7BmkzH4NWdwQv+MZGEMP6N8qVecSp7H+cHMP6jqhomrZz1KAAAAAElFTkSuQmCC"

/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = __webpack_modules__;
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/chunk loaded */
/******/ 	!function() {
/******/ 		var deferred = [];
/******/ 		__webpack_require__.O = function(result, chunkIds, fn, priority) {
/******/ 			if(chunkIds) {
/******/ 				priority = priority || 0;
/******/ 				for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
/******/ 				deferred[i] = [chunkIds, fn, priority];
/******/ 				return;
/******/ 			}
/******/ 			var notFulfilled = Infinity;
/******/ 			for (var i = 0; i < deferred.length; i++) {
/******/ 				var chunkIds = deferred[i][0];
/******/ 				var fn = deferred[i][1];
/******/ 				var priority = deferred[i][2];
/******/ 				var fulfilled = true;
/******/ 				for (var j = 0; j < chunkIds.length; j++) {
/******/ 					if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {
/******/ 						chunkIds.splice(j--, 1);
/******/ 					} else {
/******/ 						fulfilled = false;
/******/ 						if(priority < notFulfilled) notFulfilled = priority;
/******/ 					}
/******/ 				}
/******/ 				if(fulfilled) {
/******/ 					deferred.splice(i--, 1)
/******/ 					var r = fn();
/******/ 					if (r !== undefined) result = r;
/******/ 				}
/******/ 			}
/******/ 			return result;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/global */
/******/ 	!function() {
/******/ 		__webpack_require__.g = (function() {
/******/ 			if (typeof globalThis === 'object') return globalThis;
/******/ 			try {
/******/ 				return this || new Function('return this')();
/******/ 			} catch (e) {
/******/ 				if (typeof window === 'object') return window;
/******/ 			}
/******/ 		})();
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/jsonp chunk loading */
/******/ 	!function() {
/******/ 		// no baseURI
/******/ 		
/******/ 		// object to store loaded and loading chunks
/******/ 		// undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ 		// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ 		var installedChunks = {
/******/ 			8: 0
/******/ 		};
/******/ 		
/******/ 		// no chunk on demand loading
/******/ 		
/******/ 		// no prefetching
/******/ 		
/******/ 		// no preloaded
/******/ 		
/******/ 		// no HMR
/******/ 		
/******/ 		// no HMR manifest
/******/ 		
/******/ 		__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };
/******/ 		
/******/ 		// install a JSONP callback for chunk loading
/******/ 		var webpackJsonpCallback = function(parentChunkLoadingFunction, data) {
/******/ 			var chunkIds = data[0];
/******/ 			var moreModules = data[1];
/******/ 			var runtime = data[2];
/******/ 			// add "moreModules" to the modules object,
/******/ 			// then flag all "chunkIds" as loaded and fire callback
/******/ 			var moduleId, chunkId, i = 0;
/******/ 			if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {
/******/ 				for(moduleId in moreModules) {
/******/ 					if(__webpack_require__.o(moreModules, moduleId)) {
/******/ 						__webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ 					}
/******/ 				}
/******/ 				if(runtime) var result = runtime(__webpack_require__);
/******/ 			}
/******/ 			if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ 			for(;i < chunkIds.length; i++) {
/******/ 				chunkId = chunkIds[i];
/******/ 				if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ 					installedChunks[chunkId][0]();
/******/ 				}
/******/ 				installedChunks[chunkId] = 0;
/******/ 			}
/******/ 			return __webpack_require__.O(result);
/******/ 		}
/******/ 		
/******/ 		var chunkLoadingGlobal = self["webpackChunkkd_login"] = self["webpackChunkkd_login"] || [];
/******/ 		chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ 		chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ 	}();
/******/ 	
/************************************************************************/
/******/ 	
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	// This entry module depends on other loaded chunks and execution need to be delayed
/******/ 	var __webpack_exports__ = __webpack_require__.O(undefined, [216], function() { return __webpack_require__(3128); })
/******/ 	__webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/ 	
/******/ })()
;