{"version":3,"sources":["jsdelivr-header.js","/npm/nsfw-connector@1.0.43/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,OAAO,QACE,SAAU,GAET,IAAI,EAAmB,CAAC,EAGxB,SAAS,EAAoB,GAG5B,GAAG,EAAiB,GACnB,OAAO,EAAiB,GAAU,QAGnC,IAAI,EAAS,EAAiB,GAAY,CACzC,EAAG,EACH,GAAG,EACH,QAAS,CAAC,GAUX,OANA,EAAQ,GAAU,KAAK,EAAO,QAAS,EAAQ,EAAO,QAAS,GAG/D,EAAO,GAAI,EAGJ,EAAO,OACf,CAyDA,OArDA,EAAoB,EAAI,EAGxB,EAAoB,EAAI,EAGxB,EAAoB,EAAI,SAAS,EAAS,EAAM,GAC3C,EAAoB,EAAE,EAAS,IAClC,OAAO,eAAe,EAAS,EAAM,CAAE,YAAY,EAAM,IAAK,GAEhE,EAGA,EAAoB,EAAI,SAAS,GACX,oBAAX,QAA0B,OAAO,aAC1C,OAAO,eAAe,EAAS,OAAO,YAAa,CAAE,MAAO,WAE7D,OAAO,eAAe,EAAS,aAAc,CAAE,OAAO,GACvD,EAOA,EAAoB,EAAI,SAAS,EAAO,GAEvC,GADU,EAAP,IAAU,EAAQ,EAAoB,IAC/B,EAAP,EAAU,OAAO,EACpB,GAAW,EAAP,GAA8B,iBAAV,GAAsB,GAAS,EAAM,WAAY,OAAO,EAChF,IAAI,EAAK,OAAO,OAAO,MAGvB,GAFA,EAAoB,EAAE,GACtB,OAAO,eAAe,EAAI,UAAW,CAAE,YAAY,EAAM,MAAO,IACtD,EAAP,GAA4B,iBAAT,EAAmB,IAAI,IAAI,KAAO,EAAO,EAAoB,EAAE,EAAI,EAAK,SAAS,GAAO,OAAO,EAAM,EAAM,EAAE,KAAK,KAAM,IAC9I,OAAO,CACR,EAGA,EAAoB,EAAI,SAAS,GAChC,IAAI,EAAS,GAAU,EAAO,WAC7B,WAAwB,OAAO,EAAgB,OAAG,EAClD,WAA8B,OAAO,CAAQ,EAE9C,OADA,EAAoB,EAAE,EAAQ,IAAK,GAC5B,CACR,EAGA,EAAoB,EAAI,SAAS,EAAQ,GAAY,OAAO,OAAO,UAAU,eAAe,KAAK,EAAQ,EAAW,EAGpH,EAAoB,EAAI,GAIjB,EAAoB,EAAoB,EAAI,EACnD,CApFD,CAsFC,CAEJ;;;;4CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,y3KAEE,EAED;;;;+CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,o0eAEE,EAED;;;;2CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,mjiBAEE,EAED;;;;+CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,smWAEE,EAED;;;;8CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,swvBAEE,EAED;;;;+CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,klaAEE,EAED;;;;2DAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,u9bAEE,EAED;;;;gDAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,onTAEE,EAED;;;;6CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,6+LAEE,EAED;;;;8CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,88JAEE,EAED;;;;6CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,gicAEE,EAED;;;;4CAKA,SAAU,OAAQ,oBAAqB,qBAE7C,aACA,KAAK,k0iBAEE,EAED;;;;8BAKA,SAAU,OAAQ,QAAS,qBAEjC,KAAK,6vDAEE,EAED;;;;8BAKA,SAAU,OAAQ,QAAS,qBAEjC,KAAK,mIAEE","file":"/npm/nsfw-connector@1.0.43/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/nsfw-connector@1.0.43/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/APIRequest.js\":\n/*!***************************!*\\\n  !*** ./src/APIRequest.js ***!\n  \\***************************/\n/*! exports provided: APIRequest, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"APIRequest\\\", function() { return APIRequest; });\\n/* harmony import */ var _AuthConnector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AuthConnector */ \\\"./src/AuthConnector.js\\\");\\n/* harmony import */ var _RequestHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\");\\n/* harmony import */ var _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NSFWConnector */ \\\"./src/NSFWConnector.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\n\\nvar APIRequest = /*#__PURE__*/function () {\\n  function APIRequest() {\\n    _classCallCheck(this, APIRequest);\\n  }\\n\\n  _createClass(APIRequest, null, [{\\n    key: \\\"sendRequestWithAutoAuthorize\\\",\\n    value: function () {\\n      var _sendRequestWithAutoAuthorize = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(requestType, resource_url, payload_json) {\\n        var answer, error, refreshAnswer;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                _context.next = 2;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].sendRequestWithAccessToken(requestType, resource_url, payload_json);\\n\\n              case 2:\\n                answer = _context.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context.next = 7;\\n                  break;\\n                }\\n\\n                return _context.abrupt(\\\"return\\\", answer);\\n\\n              case 7:\\n                if (!(!!answer && !!answer.error)) {\\n                  _context.next = 27;\\n                  break;\\n                }\\n\\n                error = answer.error;\\n\\n                if (!(error.message === \\\"AccessTokenExpiredError\\\" || error.message === \\\"AccessTokenInvalid\\\")) {\\n                  _context.next = 26;\\n                  break;\\n                }\\n\\n                _context.next = 12;\\n                return _AuthConnector__WEBPACK_IMPORTED_MODULE_0__[\\\"AuthConnector\\\"].refreshAccessToken();\\n\\n              case 12:\\n                refreshAnswer = _context.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].isSuccess(refreshAnswer)) {\\n                  _context.next = 19;\\n                  break;\\n                }\\n\\n                _context.next = 16;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].sendRequestWithAccessToken(requestType, resource_url, payload_json);\\n\\n              case 16:\\n                return _context.abrupt(\\\"return\\\", _context.sent);\\n\\n              case 19:\\n                if (!(!!refreshAnswer && !!refreshAnswer.error)) {\\n                  _context.next = 24;\\n                  break;\\n                }\\n\\n                error = refreshAnswer.error;\\n\\n                if (!(error.message === \\\"RefreshTokenInvalid\\\" || error.message === \\\"RefreshTokenMissing\\\")) {\\n                  _context.next = 24;\\n                  break;\\n                }\\n\\n                _context.next = 24;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].handleLogout();\\n\\n              case 24:\\n                _context.next = 27;\\n                break;\\n\\n              case 26:\\n                return _context.abrupt(\\\"return\\\", answer);\\n\\n              case 27:\\n                return _context.abrupt(\\\"return\\\", null);\\n\\n              case 28:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function sendRequestWithAutoAuthorize(_x, _x2, _x3) {\\n        return _sendRequestWithAutoAuthorize.apply(this, arguments);\\n      }\\n\\n      return sendRequestWithAutoAuthorize;\\n    }()\\n  }]);\\n\\n  return APIRequest;\\n}();\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (APIRequest);\\n\\n//# sourceURL=webpack:///./src/APIRequest.js?\");\n\n/***/ }),\n\n/***/ \"./src/AuthConnector.js\":\n/*!******************************!*\\\n  !*** ./src/AuthConnector.js ***!\n  \\******************************/\n/*! exports provided: AuthConnector, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"AuthConnector\\\", function() { return AuthConnector; });\\n/* harmony import */ var _RequestHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\");\\n/* harmony import */ var _MyStorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MyStorage */ \\\"./src/MyStorage.js\\\");\\n/* harmony import */ var _APIRequest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./APIRequest */ \\\"./src/APIRequest.js\\\");\\n/* harmony import */ var _NSFWConnector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NSFWConnector */ \\\"./src/NSFWConnector.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\n\\n\\nvar AuthConnector = /*#__PURE__*/function () {\\n  function AuthConnector() {\\n    _classCallCheck(this, AuthConnector);\\n  }\\n\\n  _createClass(AuthConnector, null, [{\\n    key: \\\"getAuths\\\",\\n    value: function () {\\n      var _getAuths = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\\n        var answer;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                if (AuthConnector.auths) {\\n                  _context.next = 5;\\n                  break;\\n                }\\n\\n                _context.next = 3;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].sendRequest(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"auth/methods\\\");\\n\\n              case 3:\\n                answer = _context.sent;\\n\\n                if (_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  AuthConnector.auths = answer.data;\\n                }\\n\\n              case 5:\\n                return _context.abrupt(\\\"return\\\", AuthConnector.auths || {});\\n\\n              case 6:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function getAuths() {\\n        return _getAuths.apply(this, arguments);\\n      }\\n\\n      return getAuths;\\n    }()\\n  }, {\\n    key: \\\"createAccessToken\\\",\\n    value: function () {\\n      var _createAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(authObject) {\\n        var answer, accessToken;\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                _context2.next = 2;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].sendRequest(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_POST, \\\"auth/accessToken\\\", {\\n                  auth: authObject\\n                });\\n\\n              case 2:\\n                answer = _context2.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context2.next = 7;\\n                  break;\\n                }\\n\\n                accessToken = answer.data.accessToken;\\n                _context2.next = 7;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveAccessToken(accessToken);\\n\\n              case 7:\\n                return _context2.abrupt(\\\"return\\\", answer);\\n\\n              case 8:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function createAccessToken(_x) {\\n        return _createAccessToken.apply(this, arguments);\\n      }\\n\\n      return createAccessToken;\\n    }()\\n  }, {\\n    key: \\\"refreshAccessToken\\\",\\n    value: function () {\\n      var _refreshAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\\n        var refreshToken, answer, accessToken;\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                _context3.next = 2;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].getRefreshToken();\\n\\n              case 2:\\n                refreshToken = _context3.sent;\\n                _context3.next = 5;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].sendRequest(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_POST, \\\"auth/refresh\\\", {\\n                  refreshToken: refreshToken\\n                });\\n\\n              case 5:\\n                answer = _context3.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context3.next = 12;\\n                  break;\\n                }\\n\\n                accessToken = answer.data.accessToken;\\n                _context3.next = 10;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveAccessToken(accessToken);\\n\\n              case 10:\\n                _context3.next = 14;\\n                break;\\n\\n              case 12:\\n                _context3.next = 14;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].removeRefreshToken();\\n\\n              case 14:\\n                return _context3.abrupt(\\\"return\\\", answer);\\n\\n              case 15:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function refreshAccessToken() {\\n        return _refreshAccessToken.apply(this, arguments);\\n      }\\n\\n      return refreshAccessToken;\\n    }()\\n  }, {\\n    key: \\\"authorize\\\",\\n    value: function () {\\n      var _authorize = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(authObject) {\\n        var rememberMe,\\n            answer,\\n            data,\\n            currentUser,\\n            accessToken,\\n            refreshToken,\\n            _args4 = arguments;\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                rememberMe = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;\\n                _context4.next = 3;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].sendRequest(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_POST, \\\"auth/authorize\\\", {\\n                  auth: authObject,\\n                  rememberMe: rememberMe\\n                });\\n\\n              case 3:\\n                answer = _context4.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context4.next = 21;\\n                  break;\\n                }\\n\\n                data = answer.data;\\n                currentUser = data.currentUser;\\n                accessToken = data.accessToken;\\n                refreshToken = data.refreshToken;\\n                _context4.next = 11;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveRememberMe(rememberMe);\\n\\n              case 11:\\n                _context4.next = 13;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveAuthMethod(authObject[\\\"authMethod\\\"]);\\n\\n              case 13:\\n                _context4.next = 15;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveCurrentUser(JSON.stringify(currentUser));\\n\\n              case 15:\\n                _context4.next = 17;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveAccessToken(accessToken);\\n\\n              case 17:\\n                _context4.next = 19;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].saveRefreshToken(refreshToken);\\n\\n              case 19:\\n                _context4.next = 23;\\n                break;\\n\\n              case 21:\\n                _context4.next = 23;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].clear();\\n\\n              case 23:\\n                return _context4.abrupt(\\\"return\\\", answer);\\n\\n              case 24:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function authorize(_x2) {\\n        return _authorize.apply(this, arguments);\\n      }\\n\\n      return authorize;\\n    }()\\n  }, {\\n    key: \\\"loadFromServerCurrentUser\\\",\\n    value: function () {\\n      var _loadFromServerCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\\n        var answer;\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                _context5.next = 2;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_2__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"auth/currentUser\\\");\\n\\n              case 2:\\n                answer = _context5.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context5.next = 5;\\n                  break;\\n                }\\n\\n                return _context5.abrupt(\\\"return\\\", answer.data);\\n\\n              case 5:\\n                return _context5.abrupt(\\\"return\\\", null);\\n\\n              case 6:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5);\\n      }));\\n\\n      function loadFromServerCurrentUser() {\\n        return _loadFromServerCurrentUser.apply(this, arguments);\\n      }\\n\\n      return loadFromServerCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"isLoggedInUser\\\",\\n    value: function () {\\n      var _isLoggedInUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\\n        var currentUser;\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                _context6.next = 2;\\n                return AuthConnector.loadFromServerCurrentUser();\\n\\n              case 2:\\n                currentUser = _context6.sent;\\n                return _context6.abrupt(\\\"return\\\", !!currentUser);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6);\\n      }));\\n\\n      function isLoggedInUser() {\\n        return _isLoggedInUser.apply(this, arguments);\\n      }\\n\\n      return isLoggedInUser;\\n    }()\\n  }, {\\n    key: \\\"logout\\\",\\n    value: function () {\\n      var _logout = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\\n        var refreshToken, answer;\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                refreshToken = _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].getRefreshToken();\\n                _context7.next = 3;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].sendRequest(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_POST, \\\"auth/logout\\\", {\\n                  refreshToken: refreshToken\\n                });\\n\\n              case 3:\\n                answer = _context7.sent;\\n                _context7.next = 6;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].clear();\\n\\n              case 6:\\n                _context7.next = 8;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].handleLogout();\\n\\n              case 8:\\n                return _context7.abrupt(\\\"return\\\", answer);\\n\\n              case 9:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7);\\n      }));\\n\\n      function logout() {\\n        return _logout.apply(this, arguments);\\n      }\\n\\n      return logout;\\n    }()\\n  }, {\\n    key: \\\"logoutFromAllDevices\\\",\\n    value: function () {\\n      var _logoutFromAllDevices = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(authObject) {\\n        var answer;\\n        return regeneratorRuntime.wrap(function _callee8$(_context8) {\\n          while (1) {\\n            switch (_context8.prev = _context8.next) {\\n              case 0:\\n                _context8.next = 2;\\n                return _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].sendRequest(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_POST, \\\"auth/logoutFromAllDevices\\\", {\\n                  auth: authObject\\n                });\\n\\n              case 2:\\n                answer = _context8.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context8.next = 9;\\n                  break;\\n                }\\n\\n                _context8.next = 6;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_1__[\\\"MyStorage\\\"].clear();\\n\\n              case 6:\\n                _context8.next = 8;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].handleLogout();\\n\\n              case 8:\\n                return _context8.abrupt(\\\"return\\\", answer.data);\\n\\n              case 9:\\n                return _context8.abrupt(\\\"return\\\", null);\\n\\n              case 10:\\n              case \\\"end\\\":\\n                return _context8.stop();\\n            }\\n          }\\n        }, _callee8);\\n      }));\\n\\n      function logoutFromAllDevices(_x3) {\\n        return _logoutFromAllDevices.apply(this, arguments);\\n      }\\n\\n      return logoutFromAllDevices;\\n    }()\\n  }]);\\n\\n  return AuthConnector;\\n}();\\nAuthConnector.auths = null;\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (AuthConnector);\\n\\n//# sourceURL=webpack:///./src/AuthConnector.js?\");\n\n/***/ }),\n\n/***/ \"./src/MyStorage.js\":\n/*!**************************!*\\\n  !*** ./src/MyStorage.js ***!\n  \\**************************/\n/*! exports provided: MyStorage, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"MyStorage\\\", function() { return MyStorage; });\\n/* harmony import */ var _StorageDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./StorageDict */ \\\"./src/StorageDict.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\nvar MyStorage = /*#__PURE__*/function () {\\n  function MyStorage() {\\n    _classCallCheck(this, MyStorage);\\n  }\\n\\n  _createClass(MyStorage, null, [{\\n    key: \\\"setStorageImplementation\\\",\\n    value: function setStorageImplementation(storageImplementation) {\\n      MyStorage.storageImplementation = storageImplementation;\\n    }\\n  }, {\\n    key: \\\"getStorageImplementation\\\",\\n    value: function getStorageImplementation() {\\n      if (!!MyStorage.storageImplementation) {\\n        return MyStorage.storageImplementation;\\n      } else {\\n        return _StorageDict__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"];\\n      }\\n    }\\n  }, {\\n    key: \\\"saveAccessToken\\\",\\n    value: function () {\\n      var _saveAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(data) {\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                _context.next = 2;\\n                return MyStorage.getStorageImplementation().saveAccessToken(data);\\n\\n              case 2:\\n                return _context.abrupt(\\\"return\\\", _context.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function saveAccessToken(_x) {\\n        return _saveAccessToken.apply(this, arguments);\\n      }\\n\\n      return saveAccessToken;\\n    }()\\n  }, {\\n    key: \\\"getAccessToken\\\",\\n    value: function () {\\n      var _getAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                _context2.next = 2;\\n                return MyStorage.getStorageImplementation().getAccessToken();\\n\\n              case 2:\\n                return _context2.abrupt(\\\"return\\\", _context2.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function getAccessToken() {\\n        return _getAccessToken.apply(this, arguments);\\n      }\\n\\n      return getAccessToken;\\n    }()\\n  }, {\\n    key: \\\"removeAccessToken\\\",\\n    value: function () {\\n      var _removeAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                _context3.next = 2;\\n                return MyStorage.getStorageImplementation().removeAccessToken();\\n\\n              case 2:\\n                return _context3.abrupt(\\\"return\\\", _context3.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function removeAccessToken() {\\n        return _removeAccessToken.apply(this, arguments);\\n      }\\n\\n      return removeAccessToken;\\n    }()\\n  }, {\\n    key: \\\"saveRefreshToken\\\",\\n    value: function () {\\n      var _saveRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(data) {\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                _context4.next = 2;\\n                return MyStorage.getStorageImplementation().saveRefreshToken(data);\\n\\n              case 2:\\n                return _context4.abrupt(\\\"return\\\", _context4.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function saveRefreshToken(_x2) {\\n        return _saveRefreshToken.apply(this, arguments);\\n      }\\n\\n      return saveRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"getRefreshToken\\\",\\n    value: function () {\\n      var _getRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                _context5.next = 2;\\n                return MyStorage.getStorageImplementation().getRefreshToken();\\n\\n              case 2:\\n                return _context5.abrupt(\\\"return\\\", _context5.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5);\\n      }));\\n\\n      function getRefreshToken() {\\n        return _getRefreshToken.apply(this, arguments);\\n      }\\n\\n      return getRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"removeRefreshToken\\\",\\n    value: function () {\\n      var _removeRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                _context6.next = 2;\\n                return MyStorage.getStorageImplementation().removeRefreshToken();\\n\\n              case 2:\\n                return _context6.abrupt(\\\"return\\\", _context6.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6);\\n      }));\\n\\n      function removeRefreshToken() {\\n        return _removeRefreshToken.apply(this, arguments);\\n      }\\n\\n      return removeRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"saveRememberMe\\\",\\n    value: function () {\\n      var _saveRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(bool) {\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                _context7.next = 2;\\n                return MyStorage.getStorageImplementation().saveRememberMe(bool);\\n\\n              case 2:\\n                return _context7.abrupt(\\\"return\\\", _context7.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7);\\n      }));\\n\\n      function saveRememberMe(_x3) {\\n        return _saveRememberMe.apply(this, arguments);\\n      }\\n\\n      return saveRememberMe;\\n    }()\\n  }, {\\n    key: \\\"getRememberMe\\\",\\n    value: function () {\\n      var _getRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\\n        return regeneratorRuntime.wrap(function _callee8$(_context8) {\\n          while (1) {\\n            switch (_context8.prev = _context8.next) {\\n              case 0:\\n                _context8.next = 2;\\n                return MyStorage.getStorageImplementation().getRememberMe();\\n\\n              case 2:\\n                return _context8.abrupt(\\\"return\\\", _context8.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context8.stop();\\n            }\\n          }\\n        }, _callee8);\\n      }));\\n\\n      function getRememberMe() {\\n        return _getRememberMe.apply(this, arguments);\\n      }\\n\\n      return getRememberMe;\\n    }()\\n  }, {\\n    key: \\\"removeRememberMe\\\",\\n    value: function () {\\n      var _removeRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\\n        return regeneratorRuntime.wrap(function _callee9$(_context9) {\\n          while (1) {\\n            switch (_context9.prev = _context9.next) {\\n              case 0:\\n                _context9.next = 2;\\n                return MyStorage.getStorageImplementation().removeRememberMe();\\n\\n              case 2:\\n                return _context9.abrupt(\\\"return\\\", _context9.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context9.stop();\\n            }\\n          }\\n        }, _callee9);\\n      }));\\n\\n      function removeRememberMe() {\\n        return _removeRememberMe.apply(this, arguments);\\n      }\\n\\n      return removeRememberMe;\\n    }()\\n  }, {\\n    key: \\\"saveAuthMethod\\\",\\n    value: function () {\\n      var _saveAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(method) {\\n        return regeneratorRuntime.wrap(function _callee10$(_context10) {\\n          while (1) {\\n            switch (_context10.prev = _context10.next) {\\n              case 0:\\n                _context10.next = 2;\\n                return MyStorage.getStorageImplementation().saveAuthMethod(method);\\n\\n              case 2:\\n                return _context10.abrupt(\\\"return\\\", _context10.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context10.stop();\\n            }\\n          }\\n        }, _callee10);\\n      }));\\n\\n      function saveAuthMethod(_x4) {\\n        return _saveAuthMethod.apply(this, arguments);\\n      }\\n\\n      return saveAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"getAuthMethod\\\",\\n    value: function () {\\n      var _getAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\\n        return regeneratorRuntime.wrap(function _callee11$(_context11) {\\n          while (1) {\\n            switch (_context11.prev = _context11.next) {\\n              case 0:\\n                _context11.next = 2;\\n                return MyStorage.getStorageImplementation().getAuthMethod();\\n\\n              case 2:\\n                return _context11.abrupt(\\\"return\\\", _context11.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context11.stop();\\n            }\\n          }\\n        }, _callee11);\\n      }));\\n\\n      function getAuthMethod() {\\n        return _getAuthMethod.apply(this, arguments);\\n      }\\n\\n      return getAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"removeAuthMethod\\\",\\n    value: function () {\\n      var _removeAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\\n        return regeneratorRuntime.wrap(function _callee12$(_context12) {\\n          while (1) {\\n            switch (_context12.prev = _context12.next) {\\n              case 0:\\n                _context12.next = 2;\\n                return MyStorage.getStorageImplementation().removeAuthMethod();\\n\\n              case 2:\\n                return _context12.abrupt(\\\"return\\\", _context12.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context12.stop();\\n            }\\n          }\\n        }, _callee12);\\n      }));\\n\\n      function removeAuthMethod() {\\n        return _removeAuthMethod.apply(this, arguments);\\n      }\\n\\n      return removeAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"saveCurrentUser\\\",\\n    value: function () {\\n      var _saveCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(currentUserAsString) {\\n        return regeneratorRuntime.wrap(function _callee13$(_context13) {\\n          while (1) {\\n            switch (_context13.prev = _context13.next) {\\n              case 0:\\n                _context13.next = 2;\\n                return MyStorage.getStorageImplementation().saveCurrentUser(currentUserAsString);\\n\\n              case 2:\\n                return _context13.abrupt(\\\"return\\\", _context13.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context13.stop();\\n            }\\n          }\\n        }, _callee13);\\n      }));\\n\\n      function saveCurrentUser(_x5) {\\n        return _saveCurrentUser.apply(this, arguments);\\n      }\\n\\n      return saveCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"getCurrentUser\\\",\\n    value: function () {\\n      var _getCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {\\n        var currentUserAsString;\\n        return regeneratorRuntime.wrap(function _callee14$(_context14) {\\n          while (1) {\\n            switch (_context14.prev = _context14.next) {\\n              case 0:\\n                _context14.next = 2;\\n                return MyStorage.getStorageImplementation().getCurrentUser();\\n\\n              case 2:\\n                currentUserAsString = _context14.sent;\\n\\n                if (!currentUserAsString) {\\n                  _context14.next = 5;\\n                  break;\\n                }\\n\\n                return _context14.abrupt(\\\"return\\\", JSON.parse(currentUserAsString));\\n\\n              case 5:\\n                return _context14.abrupt(\\\"return\\\", null);\\n\\n              case 6:\\n              case \\\"end\\\":\\n                return _context14.stop();\\n            }\\n          }\\n        }, _callee14);\\n      }));\\n\\n      function getCurrentUser() {\\n        return _getCurrentUser.apply(this, arguments);\\n      }\\n\\n      return getCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"removeCurrentUser\\\",\\n    value: function () {\\n      var _removeCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\\n        return regeneratorRuntime.wrap(function _callee15$(_context15) {\\n          while (1) {\\n            switch (_context15.prev = _context15.next) {\\n              case 0:\\n                _context15.next = 2;\\n                return MyStorage.getStorageImplementation().removeCurrentUser();\\n\\n              case 2:\\n                return _context15.abrupt(\\\"return\\\", _context15.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context15.stop();\\n            }\\n          }\\n        }, _callee15);\\n      }));\\n\\n      function removeCurrentUser() {\\n        return _removeCurrentUser.apply(this, arguments);\\n      }\\n\\n      return removeCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"clear\\\",\\n    value: function () {\\n      var _clear = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\\n        return regeneratorRuntime.wrap(function _callee16$(_context16) {\\n          while (1) {\\n            switch (_context16.prev = _context16.next) {\\n              case 0:\\n                _context16.next = 2;\\n                return MyStorage.removeAccessToken();\\n\\n              case 2:\\n                _context16.next = 4;\\n                return MyStorage.removeRefreshToken();\\n\\n              case 4:\\n                _context16.next = 6;\\n                return MyStorage.removeRememberMe();\\n\\n              case 6:\\n                _context16.next = 8;\\n                return MyStorage.removeAuthMethod();\\n\\n              case 8:\\n                _context16.next = 10;\\n                return MyStorage.removeCurrentUser();\\n\\n              case 10:\\n                _context16.prev = 10;\\n                _context16.next = 13;\\n                return MyStorage.getStorageImplementation().clear();\\n\\n              case 13:\\n                _context16.next = 18;\\n                break;\\n\\n              case 15:\\n                _context16.prev = 15;\\n                _context16.t0 = _context16[\\\"catch\\\"](10);\\n                console.log(_context16.t0);\\n\\n              case 18:\\n              case \\\"end\\\":\\n                return _context16.stop();\\n            }\\n          }\\n        }, _callee16, null, [[10, 15]]);\\n      }));\\n\\n      function clear() {\\n        return _clear.apply(this, arguments);\\n      }\\n\\n      return clear;\\n    }()\\n  }]);\\n\\n  return MyStorage;\\n}();\\nMyStorage.storageImplementation = null;\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (MyStorage);\\n\\n//# sourceURL=webpack:///./src/MyStorage.js?\");\n\n/***/ }),\n\n/***/ \"./src/NSFWConnector.js\":\n/*!******************************!*\\\n  !*** ./src/NSFWConnector.js ***!\n  \\******************************/\n/*! exports provided: NSFWConnector, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"NSFWConnector\\\", function() { return NSFWConnector; });\\n/* harmony import */ var _RequestHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\");\\n/* harmony import */ var _APIRequest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./APIRequest */ \\\"./src/APIRequest.js\\\");\\n/* harmony import */ var _MyStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MyStorage */ \\\"./src/MyStorage.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\n\\nvar NSFWConnector = /*#__PURE__*/function () {\\n  function NSFWConnector() {\\n    _classCallCheck(this, NSFWConnector);\\n  }\\n\\n  _createClass(NSFWConnector, null, [{\\n    key: \\\"setStorageImplementation\\\",\\n    value: function setStorageImplementation(storageImplementation) {\\n      _MyStorage__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].storageImplementation = storageImplementation;\\n    }\\n  }, {\\n    key: \\\"handleLogout\\\",\\n    value: function () {\\n      var _handleLogout = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                if (!NSFWConnector.Callback_Logout) {\\n                  _context.next = 3;\\n                  break;\\n                }\\n\\n                _context.next = 3;\\n                return NSFWConnector.Callback_Logout();\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function handleLogout() {\\n        return _handleLogout.apply(this, arguments);\\n      }\\n\\n      return handleLogout;\\n    }()\\n  }, {\\n    key: \\\"reset\\\",\\n    value: function reset() {\\n      NSFWConnector.schemes = null;\\n      NSFWConnector.tableSchemes = {};\\n      NSFWConnector.tableRoutes = {};\\n      NSFWConnector.tableAssociations = {};\\n    }\\n  }, {\\n    key: \\\"getSchemes\\\",\\n    value: function () {\\n      var _getSchemes = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\\n        var answer;\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                if (NSFWConnector.schemes) {\\n                  _context2.next = 5;\\n                  break;\\n                }\\n\\n                _context2.next = 3;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"schemes\\\");\\n\\n              case 3:\\n                answer = _context2.sent;\\n\\n                if (_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  NSFWConnector.schemes = answer.data || {};\\n                }\\n\\n              case 5:\\n                return _context2.abrupt(\\\"return\\\", NSFWConnector.schemes);\\n\\n              case 6:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function getSchemes() {\\n        return _getSchemes.apply(this, arguments);\\n      }\\n\\n      return getSchemes;\\n    }()\\n  }, {\\n    key: \\\"getServerVersion\\\",\\n    value: function () {\\n      var _getServerVersion = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\\n        var answer, data;\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                _context3.next = 2;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"version\\\");\\n\\n              case 2:\\n                answer = _context3.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context3.next = 6;\\n                  break;\\n                }\\n\\n                data = answer.data || {};\\n                return _context3.abrupt(\\\"return\\\", data.version);\\n\\n              case 6:\\n                return _context3.abrupt(\\\"return\\\", null);\\n\\n              case 7:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function getServerVersion() {\\n        return _getServerVersion.apply(this, arguments);\\n      }\\n\\n      return getServerVersion;\\n    }()\\n  }, {\\n    key: \\\"getScheme\\\",\\n    value: function () {\\n      var _getScheme = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(tableName) {\\n        var asyncFn;\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                asyncFn = _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize.bind(null, _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"schemes/\\\" + tableName);\\n                _context4.next = 3;\\n                return NSFWConnector.getVariableDownloadIt(\\\"tableSchemes\\\", tableName, asyncFn);\\n\\n              case 3:\\n                return _context4.abrupt(\\\"return\\\", _context4.sent);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function getScheme(_x) {\\n        return _getScheme.apply(this, arguments);\\n      }\\n\\n      return getScheme;\\n    }()\\n  }, {\\n    key: \\\"getSchemeRoutes\\\",\\n    value: function () {\\n      var _getSchemeRoutes = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(tableName) {\\n        var asyncFn;\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                asyncFn = _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize.bind(null, _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"schemes/\\\" + tableName + \\\"/routes\\\");\\n                _context5.next = 3;\\n                return NSFWConnector.getVariableDownloadIt(\\\"tableRoutes\\\", tableName, asyncFn);\\n\\n              case 3:\\n                return _context5.abrupt(\\\"return\\\", _context5.sent);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5);\\n      }));\\n\\n      function getSchemeRoutes(_x2) {\\n        return _getSchemeRoutes.apply(this, arguments);\\n      }\\n\\n      return getSchemeRoutes;\\n    }()\\n  }, {\\n    key: \\\"getSchemeAssociations\\\",\\n    value: function () {\\n      var _getSchemeAssociations = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(tableName) {\\n        var asyncFn;\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                asyncFn = _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize.bind(null, _RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, \\\"schemes/\\\" + tableName + \\\"/associations\\\");\\n                _context6.next = 3;\\n                return NSFWConnector.getVariableDownloadIt(\\\"tableAssociations\\\", tableName, asyncFn);\\n\\n              case 3:\\n                return _context6.abrupt(\\\"return\\\", _context6.sent);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6);\\n      }));\\n\\n      function getSchemeAssociations(_x3) {\\n        return _getSchemeAssociations.apply(this, arguments);\\n      }\\n\\n      return getSchemeAssociations;\\n    }()\\n  }, {\\n    key: \\\"getVariableDownloadIt\\\",\\n    value: function () {\\n      var _getVariableDownloadIt = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(sequelizeConnectorSaveVariable, keyVariable, asyncFn) {\\n        var answer;\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                if (NSFWConnector[sequelizeConnectorSaveVariable][keyVariable]) {\\n                  _context7.next = 5;\\n                  break;\\n                }\\n\\n                _context7.next = 3;\\n                return asyncFn();\\n\\n              case 3:\\n                answer = _context7.sent;\\n\\n                if (_RequestHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  NSFWConnector[sequelizeConnectorSaveVariable][keyVariable] = answer.data;\\n                }\\n\\n              case 5:\\n                return _context7.abrupt(\\\"return\\\", NSFWConnector[sequelizeConnectorSaveVariable][keyVariable]);\\n\\n              case 6:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7);\\n      }));\\n\\n      function getVariableDownloadIt(_x4, _x5, _x6) {\\n        return _getVariableDownloadIt.apply(this, arguments);\\n      }\\n\\n      return getVariableDownloadIt;\\n    }()\\n  }]);\\n\\n  return NSFWConnector;\\n}();\\nNSFWConnector.Callback_Logout = null;\\nNSFWConnector.schemes = null;\\nNSFWConnector.tableSchemes = {};\\nNSFWConnector.tableRoutes = {};\\nNSFWConnector.tableAssociations = {};\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (NSFWConnector);\\n\\n//# sourceURL=webpack:///./src/NSFWConnector.js?\");\n\n/***/ }),\n\n/***/ \"./src/NSFWResource.js\":\n/*!*****************************!*\\\n  !*** ./src/NSFWResource.js ***!\n  \\*****************************/\n/*! exports provided: NSFWResource, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"NSFWResource\\\", function() { return NSFWResource; });\\n/* harmony import */ var _APIRequest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./APIRequest */ \\\"./src/APIRequest.js\\\");\\n/* harmony import */ var _RequestHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\");\\n/* harmony import */ var _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NSFWConnector */ \\\"./src/NSFWConnector.js\\\");\\n/* harmony import */ var _RouteHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RouteHelper */ \\\"./src/RouteHelper.js\\\");\\n/* harmony import */ var _ResourceHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ResourceHelper */ \\\"./src/ResourceHelper.js\\\");\\n/* harmony import */ var _ResourceAssociationHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ResourceAssociationHelper */ \\\"./src/ResourceAssociationHelper.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\n\\n\\n\\n\\nvar NSFWResource = /*#__PURE__*/function () {\\n  _createClass(NSFWResource, null, [{\\n    key: \\\"getAll\\\",\\n    value: function () {\\n      var _getAll = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(tableName, offset, limit, multiSortMeta, filterParams) {\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                _context.next = 2;\\n                return _ResourceHelper__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].loadResourcesFromServer(tableName, offset, limit, multiSortMeta, filterParams);\\n\\n              case 2:\\n                return _context.abrupt(\\\"return\\\", _context.sent);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function getAll(_x, _x2, _x3, _x4, _x5) {\\n        return _getAll.apply(this, arguments);\\n      }\\n\\n      return getAll;\\n    }()\\n  }, {\\n    key: \\\"create\\\",\\n    value: function () {\\n      var _create = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(tableName, resourceData) {\\n        var route, answer, resource;\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                _context2.next = 2;\\n                return _RouteHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].getIndexRouteForResourceAsync(tableName);\\n\\n              case 2:\\n                route = _context2.sent;\\n                _context2.next = 5;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].REQUEST_TYPE_POST, route, resourceData);\\n\\n              case 5:\\n                answer = _context2.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].isSuccess(answer)) {\\n                  _context2.next = 12;\\n                  break;\\n                }\\n\\n                resource = new NSFWResource(tableName);\\n                _context2.next = 10;\\n                return resource._reloadInstanceRoute(answer.data);\\n\\n              case 10:\\n                resource._setResource(answer.data);\\n\\n                return _context2.abrupt(\\\"return\\\", resource);\\n\\n              case 12:\\n                return _context2.abrupt(\\\"return\\\", null);\\n\\n              case 13:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function create(_x6, _x7) {\\n        return _create.apply(this, arguments);\\n      }\\n\\n      return create;\\n    }()\\n  }, {\\n    key: \\\"load\\\",\\n    value: function () {\\n      var _load = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(tableName, primaryKeys) {\\n        var resource;\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                resource = new NSFWResource(tableName);\\n                _context3.next = 3;\\n                return resource.loadByResource(primaryKeys);\\n\\n              case 3:\\n                return _context3.abrupt(\\\"return\\\", resource);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function load(_x8, _x9) {\\n        return _load.apply(this, arguments);\\n      }\\n\\n      return load;\\n    }()\\n    /**\\n     * Call await resource.load ! After instantiation\\n     * @param tableName the Tablename of the Resource\\n     */\\n\\n  }]);\\n\\n  function NSFWResource(tableName) {\\n    _classCallCheck(this, NSFWResource);\\n\\n    this._metaInformations = {\\n      tableName: tableName,\\n      \\\"synchronized\\\": false,\\n      initialLoadSuccess: false\\n    };\\n  }\\n  /**\\n   * Loads Resource by params from webpage\\n   * @param params {Exams_id: primaryKey}\\n   * @returns {Promise<void>}\\n   */\\n\\n\\n  _createClass(NSFWResource, [{\\n    key: \\\"loadByParams\\\",\\n    value: function () {\\n      var _loadByParams = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(params) {\\n        var schemes, route;\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                _context4.next = 2;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].getSchemes();\\n\\n              case 2:\\n                schemes = _context4.sent;\\n                route = _RouteHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].getInstanceRouteForParams(schemes, this._metaInformations.tableName, params);\\n\\n                if (!route) {\\n                  _context4.next = 8;\\n                  break;\\n                }\\n\\n                this._metaInformations.instanceRoute = route;\\n                _context4.next = 8;\\n                return this.reload();\\n\\n              case 8:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4, this);\\n      }));\\n\\n      function loadByParams(_x10) {\\n        return _loadByParams.apply(this, arguments);\\n      }\\n\\n      return loadByParams;\\n    }()\\n    /**\\n     * Loads Resource by resource dict\\n     * @param primaryKeys {id: primaryKey}\\n     * @returns {Promise<void>}\\n     */\\n\\n  }, {\\n    key: \\\"loadByResource\\\",\\n    value: function () {\\n      var _loadByResource = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(primaryKeys) {\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                _context5.next = 2;\\n                return this._reloadInstanceRoute(primaryKeys);\\n\\n              case 2:\\n                if (!this._metaInformations.instanceRoute) {\\n                  _context5.next = 5;\\n                  break;\\n                }\\n\\n                _context5.next = 5;\\n                return this.reload();\\n\\n              case 5:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5, this);\\n      }));\\n\\n      function loadByResource(_x11) {\\n        return _loadByResource.apply(this, arguments);\\n      }\\n\\n      return loadByResource;\\n    }()\\n  }, {\\n    key: \\\"reload\\\",\\n    value: function () {\\n      var _reload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\\n        var answer;\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                if (this.isSynchronized()) {\\n                  _context6.next = 11;\\n                  break;\\n                }\\n\\n                _context6.next = 3;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].REQUEST_TYPE_GET, this.getInstanceRoute());\\n\\n              case 3:\\n                answer = _context6.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].isSuccess(answer)) {\\n                  _context6.next = 11;\\n                  break;\\n                }\\n\\n                this._metaInformations.initialLoadSuccess = true;\\n                _context6.next = 8;\\n                return this._reloadInstanceRoute(answer.data);\\n\\n              case 8:\\n                this._setResource(answer.data);\\n\\n                _context6.next = 11;\\n                break;\\n\\n              case 11:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6, this);\\n      }));\\n\\n      function reload() {\\n        return _reload.apply(this, arguments);\\n      }\\n\\n      return reload;\\n    }()\\n  }, {\\n    key: \\\"destroy\\\",\\n    value: function () {\\n      var _destroy = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                if (!this._metaInformations.initialLoadSuccess) {\\n                  _context7.next = 4;\\n                  break;\\n                }\\n\\n                _context7.next = 3;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].REQUEST_TYPE_DELETE, this.getInstanceRoute());\\n\\n              case 3:\\n                return _context7.abrupt(\\\"return\\\", _context7.sent);\\n\\n              case 4:\\n                return _context7.abrupt(\\\"return\\\", false);\\n\\n              case 5:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7, this);\\n      }));\\n\\n      function destroy() {\\n        return _destroy.apply(this, arguments);\\n      }\\n\\n      return destroy;\\n    }()\\n  }, {\\n    key: \\\"save\\\",\\n    value: function () {\\n      var _save = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\\n        var resource, answer;\\n        return regeneratorRuntime.wrap(function _callee8$(_context8) {\\n          while (1) {\\n            switch (_context8.prev = _context8.next) {\\n              case 0:\\n                //updates changes to database\\n                resource = this.toJSON();\\n                _context8.next = 3;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].REQUEST_TYPE_PUT, this.getInstanceRoute(), resource);\\n\\n              case 3:\\n                answer = _context8.sent;\\n\\n                if (_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].isSuccess(answer)) {\\n                  _context8.next = 10;\\n                  break;\\n                }\\n\\n                this._metaInformations[\\\"synchronized\\\"] = false;\\n\\n                if (answer) {\\n                  _context8.next = 8;\\n                  break;\\n                }\\n\\n                return _context8.abrupt(\\\"return\\\", {\\n                  error: \\\"Unkown error\\\"\\n                });\\n\\n              case 8:\\n                _context8.next = 13;\\n                break;\\n\\n              case 10:\\n                _context8.next = 12;\\n                return this._reloadInstanceRoute(answer.data);\\n\\n              case 12:\\n                this._setResource(answer.data);\\n\\n              case 13:\\n                return _context8.abrupt(\\\"return\\\", answer);\\n\\n              case 14:\\n              case \\\"end\\\":\\n                return _context8.stop();\\n            }\\n          }\\n        }, _callee8, this);\\n      }));\\n\\n      function save() {\\n        return _save.apply(this, arguments);\\n      }\\n\\n      return save;\\n    }()\\n  }, {\\n    key: \\\"getAssociations\\\",\\n    value: function () {\\n      var _getAssociations = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(associationName) {\\n        var associationTableName,\\n            filterParams,\\n            _args9 = arguments;\\n        return regeneratorRuntime.wrap(function _callee9$(_context9) {\\n          while (1) {\\n            switch (_context9.prev = _context9.next) {\\n              case 0:\\n                associationTableName = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : associationName;\\n                filterParams = _args9.length > 2 ? _args9[2] : undefined;\\n                _context9.next = 4;\\n                return _ResourceAssociationHelper__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].handleGetAssociationsForResource(this, associationName, associationTableName, filterParams);\\n\\n              case 4:\\n                _context9.t0 = _context9.sent;\\n\\n                if (_context9.t0) {\\n                  _context9.next = 7;\\n                  break;\\n                }\\n\\n                _context9.t0 = [];\\n\\n              case 7:\\n                return _context9.abrupt(\\\"return\\\", _context9.t0);\\n\\n              case 8:\\n              case \\\"end\\\":\\n                return _context9.stop();\\n            }\\n          }\\n        }, _callee9, this);\\n      }));\\n\\n      function getAssociations(_x12) {\\n        return _getAssociations.apply(this, arguments);\\n      }\\n\\n      return getAssociations;\\n    }()\\n  }, {\\n    key: \\\"addAssociation\\\",\\n    value: function () {\\n      var _addAssociation = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(associationName, associationResource) {\\n        var associationResources, associationTableName, toMultiple, responseJSON, associationModelscheme, schemes, route, _responseJSON;\\n\\n        return regeneratorRuntime.wrap(function _callee10$(_context10) {\\n          while (1) {\\n            switch (_context10.prev = _context10.next) {\\n              case 0:\\n                associationResources = null;\\n\\n                if (Array.isArray(associationResource)) {\\n                  associationResources = associationResource;\\n                  associationResource = associationResources[0];\\n                } else {\\n                  associationResources = [associationResource];\\n                }\\n\\n                associationTableName = associationResource.getTablename(); // m to n or 1 to n\\n\\n                toMultiple = associationTableName === associationName;\\n\\n                if (!toMultiple) {\\n                  _context10.next = 11;\\n                  break;\\n                }\\n\\n                _context10.next = 7;\\n                return _ResourceAssociationHelper__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].handleRequestTypeOnMultiplePluralAssociation(this, associationTableName, associationName, associationResources, _RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].REQUEST_TYPE_POST);\\n\\n              case 7:\\n                responseJSON = _context10.sent;\\n                return _context10.abrupt(\\\"return\\\", responseJSON);\\n\\n              case 11:\\n                _context10.next = 13;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].getScheme(associationTableName);\\n\\n              case 13:\\n                associationModelscheme = _context10.sent;\\n                _context10.next = 16;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].getSchemes();\\n\\n              case 16:\\n                schemes = _context10.sent;\\n                route = _RouteHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].getInstanceRouteForAssociatedResource(schemes, this, associationModelscheme, associationTableName, associationName, associationResource);\\n                _context10.next = 20;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].REQUEST_TYPE_POST, route);\\n\\n              case 20:\\n                _responseJSON = _context10.sent;\\n                return _context10.abrupt(\\\"return\\\", _responseJSON);\\n\\n              case 22:\\n              case \\\"end\\\":\\n                return _context10.stop();\\n            }\\n          }\\n        }, _callee10, this);\\n      }));\\n\\n      function addAssociation(_x13, _x14) {\\n        return _addAssociation.apply(this, arguments);\\n      }\\n\\n      return addAssociation;\\n    }() // TODO setAssociations, addAssociation, removeAssociation\\n\\n  }, {\\n    key: \\\"getScheme\\\",\\n    value: function () {\\n      var _getScheme = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\\n        var tableName;\\n        return regeneratorRuntime.wrap(function _callee11$(_context11) {\\n          while (1) {\\n            switch (_context11.prev = _context11.next) {\\n              case 0:\\n                tableName = this.getTablename();\\n                _context11.next = 3;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].getScheme(tableName);\\n\\n              case 3:\\n                return _context11.abrupt(\\\"return\\\", _context11.sent);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context11.stop();\\n            }\\n          }\\n        }, _callee11, this);\\n      }));\\n\\n      function getScheme() {\\n        return _getScheme.apply(this, arguments);\\n      }\\n\\n      return getScheme;\\n    }()\\n  }, {\\n    key: \\\"isSynchronized\\\",\\n    value: function isSynchronized() {\\n      if (!this._metaInformations[\\\"synchronized\\\"]) {\\n        return false;\\n      }\\n\\n      return this._isKeySynchronized();\\n    }\\n  }, {\\n    key: \\\"getKeys\\\",\\n    value: function getKeys() {\\n      var rawResource = this._metaInformations.rawResource;\\n      return Object.keys(rawResource);\\n    }\\n  }, {\\n    key: \\\"resetResource\\\",\\n    value: function resetResource() {\\n      if (this._metaInformations.initialLoadSuccess) {\\n        this._setResource(this._metaInformations.rawResource);\\n      }\\n    }\\n  }, {\\n    key: \\\"getTablename\\\",\\n    value: function getTablename() {\\n      return this._metaInformations.tableName;\\n    }\\n  }, {\\n    key: \\\"getInstanceRoute\\\",\\n    value: function getInstanceRoute() {\\n      return this._metaInformations.instanceRoute;\\n    }\\n  }, {\\n    key: \\\"restoreColumn\\\",\\n    value: function restoreColumn(column) {\\n      this[column] = this._metaInformations.rawResource[column];\\n    }\\n    /**\\n     * Customize JSON, because of metaInformations not needed\\n     * https://stackoverflow.com/questions/52895457/json-stringify-objects-custom-serializer\\n     * @returns {JSON}\\n     */\\n\\n  }, {\\n    key: \\\"toJSON\\\",\\n    value: function toJSON() {\\n      var keys = this.getKeys();\\n      var json = {};\\n\\n      for (var i = 0; i < keys.length; i++) {\\n        var key = keys[i];\\n        json[key] = this[key];\\n      }\\n\\n      return json;\\n    }\\n  }, {\\n    key: \\\"_reloadInstanceRoute\\\",\\n    value: function () {\\n      var _reloadInstanceRoute2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12(resource) {\\n        var schemes, modelscheme;\\n        return regeneratorRuntime.wrap(function _callee12$(_context12) {\\n          while (1) {\\n            switch (_context12.prev = _context12.next) {\\n              case 0:\\n                _context12.next = 2;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].getSchemes();\\n\\n              case 2:\\n                schemes = _context12.sent;\\n                _context12.next = 5;\\n                return this.getScheme();\\n\\n              case 5:\\n                modelscheme = _context12.sent;\\n                this._metaInformations.modelscheme = modelscheme;\\n                this._metaInformations.instanceRoute = _RouteHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].getInstanceRouteForResource(schemes, modelscheme, this._metaInformations.tableName, resource);\\n\\n              case 8:\\n              case \\\"end\\\":\\n                return _context12.stop();\\n            }\\n          }\\n        }, _callee12, this);\\n      }));\\n\\n      function _reloadInstanceRoute(_x15) {\\n        return _reloadInstanceRoute2.apply(this, arguments);\\n      }\\n\\n      return _reloadInstanceRoute;\\n    }()\\n  }, {\\n    key: \\\"_setSynchronizedResource\\\",\\n    value: function () {\\n      var _setSynchronizedResource2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(synchronizedResource) {\\n        return regeneratorRuntime.wrap(function _callee13$(_context13) {\\n          while (1) {\\n            switch (_context13.prev = _context13.next) {\\n              case 0:\\n                this._setResource(synchronizedResource);\\n\\n                _context13.next = 3;\\n                return this._reloadInstanceRoute(synchronizedResource);\\n\\n              case 3:\\n              case \\\"end\\\":\\n                return _context13.stop();\\n            }\\n          }\\n        }, _callee13, this);\\n      }));\\n\\n      function _setSynchronizedResource(_x16) {\\n        return _setSynchronizedResource2.apply(this, arguments);\\n      }\\n\\n      return _setSynchronizedResource;\\n    }()\\n  }, {\\n    key: \\\"_setResource\\\",\\n    value: function _setResource(resource) {\\n      this._metaInformations.rawResource = resource;\\n\\n      this._mapRawResourceToInstance();\\n\\n      this._metaInformations[\\\"synchronized\\\"] = true;\\n      this._metaInformations.initialLoadSuccess = true;\\n    }\\n  }, {\\n    key: \\\"_isKeySynchronized\\\",\\n    value: function _isKeySynchronized() {\\n      var keys = this.getKeys();\\n      var rawResource = this._metaInformations.rawResource;\\n      var keySynchronized = true;\\n\\n      for (var i = 0; i < keys.length; i++) {\\n        var key = keys[i]; // noinspection EqualityComparisonWithCoercionJS\\n\\n        if (this[key] != rawResource[key]) {\\n          //since date is once a string and once an object, we need != not !==\\n          keySynchronized = false;\\n        }\\n      }\\n\\n      return keySynchronized;\\n    }\\n  }, {\\n    key: \\\"_mapRawResourceToInstance\\\",\\n    value: function _mapRawResourceToInstance() {\\n      var keys = this.getKeys();\\n      var rawResource = this._metaInformations.rawResource;\\n\\n      for (var i = 0; i < keys.length; i++) {\\n        var key = keys[i];\\n        this[key] = rawResource[key];\\n      }\\n    }\\n  }]);\\n\\n  return NSFWResource;\\n}();\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (NSFWResource);\\n\\n//# sourceURL=webpack:///./src/NSFWResource.js?\");\n\n/***/ }),\n\n/***/ \"./src/RequestHelper.js\":\n/*!******************************!*\\\n  !*** ./src/RequestHelper.js ***!\n  \\******************************/\n/*! exports provided: RequestHelper, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"RequestHelper\\\", function() { return RequestHelper; });\\n/* harmony import */ var _MyStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MyStorage */ \\\"./src/MyStorage.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\nvar RequestHelper = /*#__PURE__*/function () {\\n  function RequestHelper() {\\n    _classCallCheck(this, RequestHelper);\\n  }\\n\\n  _createClass(RequestHelper, null, [{\\n    key: \\\"getAPIURL\\\",\\n    value: function getAPIURL() {\\n      var base_url = window.location.origin; //console.log(\\\"base_url\\\");\\n      //console.log(base_url);\\n\\n      return base_url + \\\"/api/\\\";\\n    }\\n  }, {\\n    key: \\\"downloadFileFromUrl\\\",\\n    value: function downloadFileFromUrl(fileName, url) {\\n      var link = document.createElement(\\\"a\\\");\\n      link.href = RequestHelper.getAPIURL() + url;\\n      link.setAttribute(\\\"download\\\", fileName);\\n      link.click();\\n    }\\n    /**\\n     * Privater\\n     * @param requestType\\n     * @param resource_url\\n     * @param payload_json\\n     * @param headers\\n     * @returns {Promise<undefined|any>}\\n     */\\n\\n  }, {\\n    key: \\\"private_sendRequest\\\",\\n    value: function () {\\n      var _private_sendRequest = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(requestType, resource_url, payloadRaw, headers) {\\n        var response, answer;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                if (payloadRaw === undefined) {\\n                  payloadRaw = \\\"{}\\\";\\n                }\\n\\n                resource_url = RequestHelper.getAPIURL() + resource_url;\\n                console.warn(\\\"SendRequest resource_url: \\\" + resource_url); //console.log(\\\"resource_url:\\\");\\n                //console.log(resource_url);\\n\\n                response = undefined;\\n\\n                if (!(requestType === RequestHelper.REQUEST_TYPE_GET)) {\\n                  _context.next = 10;\\n                  break;\\n                }\\n\\n                _context.next = 7;\\n                return fetch(resource_url, {\\n                  method: requestType,\\n                  credentials: 'include',\\n                  headers: headers\\n                });\\n\\n              case 7:\\n                response = _context.sent;\\n                _context.next = 14;\\n                break;\\n\\n              case 10:\\n                console.log(\\\"Anything other than GET\\\");\\n                _context.next = 13;\\n                return fetch(resource_url, {\\n                  method: requestType,\\n                  headers: headers,\\n                  credentials: 'include',\\n                  body: payloadRaw\\n                });\\n\\n              case 13:\\n                response = _context.sent;\\n\\n              case 14:\\n                _context.prev = 14;\\n                _context.next = 17;\\n                return response.json();\\n\\n              case 17:\\n                answer = _context.sent;\\n                return _context.abrupt(\\\"return\\\", answer);\\n\\n              case 21:\\n                _context.prev = 21;\\n                _context.t0 = _context[\\\"catch\\\"](14);\\n                console.log(\\\"Error at: \\\");\\n                console.log(_context.t0);\\n                console.log(\\\"requestType: \\\" + requestType);\\n                console.log(\\\"resource_url: \\\" + resource_url);\\n                console.log(\\\"payload_json: \\\" + payloadRaw);\\n                return _context.abrupt(\\\"return\\\", undefined);\\n\\n              case 29:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee, null, [[14, 21]]);\\n      }));\\n\\n      function private_sendRequest(_x, _x2, _x3, _x4) {\\n        return _private_sendRequest.apply(this, arguments);\\n      }\\n\\n      return private_sendRequest;\\n    }()\\n  }, {\\n    key: \\\"private_sendRequestWithJSONPayload\\\",\\n    value: function () {\\n      var _private_sendRequestWithJSONPayload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(requestType, resource_url) {\\n        var payload_json,\\n            headers,\\n            payload,\\n            _args2 = arguments;\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                payload_json = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};\\n                headers = _args2.length > 3 ? _args2[3] : undefined;\\n                //console.warn(\\\"SendRequest to: \\\"+url);\\n                payload = JSON.stringify(payload_json);\\n                _context2.next = 5;\\n                return RequestHelper.private_sendRequest(requestType, resource_url, payload, headers);\\n\\n              case 5:\\n                return _context2.abrupt(\\\"return\\\", _context2.sent);\\n\\n              case 6:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function private_sendRequestWithJSONPayload(_x5, _x6) {\\n        return _private_sendRequestWithJSONPayload.apply(this, arguments);\\n      }\\n\\n      return private_sendRequestWithJSONPayload;\\n    }()\\n  }, {\\n    key: \\\"isSuccess\\\",\\n    value: function isSuccess(answer) {\\n      return !!answer && answer.success;\\n    }\\n  }, {\\n    key: \\\"sendRequestWithAccessToken\\\",\\n    value: function () {\\n      var _sendRequestWithAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(requestType, resource_url, payload_json) {\\n        var headers, answer;\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                _context3.next = 2;\\n                return RequestHelper.getHeadersWithAccessToken();\\n\\n              case 2:\\n                headers = _context3.sent;\\n                _context3.next = 5;\\n                return RequestHelper.private_sendRequestWithJSONPayload(requestType, resource_url, payload_json, headers);\\n\\n              case 5:\\n                answer = _context3.sent;\\n                return _context3.abrupt(\\\"return\\\", answer);\\n\\n              case 7:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function sendRequestWithAccessToken(_x7, _x8, _x9) {\\n        return _sendRequestWithAccessToken.apply(this, arguments);\\n      }\\n\\n      return sendRequestWithAccessToken;\\n    }()\\n  }, {\\n    key: \\\"getHeadersForFilesWithAccessToken\\\",\\n    value: function () {\\n      var _getHeadersForFilesWithAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\\n        var accessToken, headers;\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                _context4.next = 2;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_0__[\\\"MyStorage\\\"].getAccessToken();\\n\\n              case 2:\\n                accessToken = _context4.sent;\\n                headers = new Headers({\\n                  Authorization: \\\"AccessToken \\\" + accessToken // No need for content type\\n\\n                }); //https://muffinman.io/uploading-files-using-fetch-multipart-form-data/\\n\\n                return _context4.abrupt(\\\"return\\\", headers);\\n\\n              case 5:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function getHeadersForFilesWithAccessToken() {\\n        return _getHeadersForFilesWithAccessToken.apply(this, arguments);\\n      }\\n\\n      return getHeadersForFilesWithAccessToken;\\n    }()\\n  }, {\\n    key: \\\"sendFilesWithAccessToken\\\",\\n    value: function () {\\n      var _sendFilesWithAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(requestType, resource_url, fileList) {\\n        var formData, i, file, headers;\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                console.log(\\\"sendFilesWithAccessToken\\\");\\n                formData = new FormData();\\n\\n                for (i = 0; i < fileList.length; i++) {\\n                  file = fileList[i];\\n                  formData.append(i + \\\"\\\", file);\\n                }\\n\\n                _context5.next = 5;\\n                return RequestHelper.getHeadersForFilesWithAccessToken();\\n\\n              case 5:\\n                headers = _context5.sent;\\n                _context5.next = 8;\\n                return RequestHelper.private_sendRequest(requestType, resource_url, formData, headers);\\n\\n              case 8:\\n                return _context5.abrupt(\\\"return\\\", _context5.sent);\\n\\n              case 9:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5);\\n      }));\\n\\n      function sendFilesWithAccessToken(_x10, _x11, _x12) {\\n        return _sendFilesWithAccessToken.apply(this, arguments);\\n      }\\n\\n      return sendFilesWithAccessToken;\\n    }()\\n  }, {\\n    key: \\\"sendRequest\\\",\\n    value: function () {\\n      var _sendRequest = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(requestType, resource_url, payload_json) {\\n        var headers;\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                headers = new Headers({\\n                  \\\"Content-Type\\\": \\\"application/json\\\"\\n                });\\n                _context6.next = 3;\\n                return RequestHelper.private_sendRequestWithJSONPayload(requestType, resource_url, payload_json, headers);\\n\\n              case 3:\\n                return _context6.abrupt(\\\"return\\\", _context6.sent);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6);\\n      }));\\n\\n      function sendRequest(_x13, _x14, _x15) {\\n        return _sendRequest.apply(this, arguments);\\n      }\\n\\n      return sendRequest;\\n    }()\\n  }, {\\n    key: \\\"getHeadersWithAccessToken\\\",\\n    value: function () {\\n      var _getHeadersWithAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\\n        var accessToken, headers;\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                _context7.next = 2;\\n                return _MyStorage__WEBPACK_IMPORTED_MODULE_0__[\\\"MyStorage\\\"].getAccessToken();\\n\\n              case 2:\\n                accessToken = _context7.sent;\\n                headers = new Headers({\\n                  Authorization: \\\"AccessToken \\\" + accessToken,\\n                  \\\"Content-Type\\\": \\\"application/json\\\"\\n                });\\n                return _context7.abrupt(\\\"return\\\", headers);\\n\\n              case 5:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7);\\n      }));\\n\\n      function getHeadersWithAccessToken() {\\n        return _getHeadersWithAccessToken.apply(this, arguments);\\n      }\\n\\n      return getHeadersWithAccessToken;\\n    }()\\n  }]);\\n\\n  return RequestHelper;\\n}();\\nRequestHelper.REQUEST_TYPE_GET = \\\"GET\\\";\\nRequestHelper.REQUEST_TYPE_POST = \\\"POST\\\";\\nRequestHelper.REQUEST_TYPE_PUT = \\\"PUT\\\";\\nRequestHelper.REQUEST_TYPE_DELETE = \\\"DELETE\\\";\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (RequestHelper);\\n\\n//# sourceURL=webpack:///./src/RequestHelper.js?\");\n\n/***/ }),\n\n/***/ \"./src/ResourceAssociationHelper.js\":\n/*!******************************************!*\\\n  !*** ./src/ResourceAssociationHelper.js ***!\n  \\******************************************/\n/*! exports provided: ResourceAssociationHelper, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"ResourceAssociationHelper\\\", function() { return ResourceAssociationHelper; });\\n/* harmony import */ var _NSFWConnector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NSFWConnector */ \\\"./src/NSFWConnector.js\\\");\\n/* harmony import */ var _APIRequest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./APIRequest */ \\\"./src/APIRequest.js\\\");\\n/* harmony import */ var _RouteHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RouteHelper */ \\\"./src/RouteHelper.js\\\");\\n/* harmony import */ var _RequestHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\");\\n/* harmony import */ var _NSFWResource__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NSFWResource */ \\\"./src/NSFWResource.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\n\\n\\n\\nvar ResourceAssociationHelper = /*#__PURE__*/function () {\\n  function ResourceAssociationHelper() {\\n    _classCallCheck(this, ResourceAssociationHelper);\\n  }\\n\\n  _createClass(ResourceAssociationHelper, null, [{\\n    key: \\\"handlePostAssociationsForResource\\\",\\n    value: function () {\\n      var _handlePostAssociationsForResource = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceClass, associationTableName, associationResources) {\\n        var route, url, amountAssociatedResources, errorList, successList, i, associationResource, answer, success;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                route = _RouteHelper__WEBPACK_IMPORTED_MODULE_2__[\\\"RouteHelper\\\"].getIndexRouteForAssociation(resourceClass, associationTableName);\\n                url = route;\\n                amountAssociatedResources = associationResources.length;\\n                errorList = [];\\n                successList = [];\\n                i = 0;\\n\\n              case 6:\\n                if (!(i < amountAssociatedResources)) {\\n                  _context.next = 16;\\n                  break;\\n                }\\n\\n                associationResource = associationResources[i];\\n                _context.next = 10;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"RequestHelper\\\"].REQUEST_TYPE_POST, url, associationResource);\\n\\n              case 10:\\n                answer = _context.sent;\\n                success = _RequestHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"RequestHelper\\\"].isSuccess(answer);\\n\\n                if (success) {\\n                  successList.push(associationResource);\\n                } else {\\n                  errorList.push(answer);\\n                }\\n\\n              case 13:\\n                i++;\\n                _context.next = 6;\\n                break;\\n\\n              case 16:\\n                return _context.abrupt(\\\"return\\\", {\\n                  success: successList,\\n                  errors: errorList\\n                });\\n\\n              case 17:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function handlePostAssociationsForResource(_x, _x2, _x3) {\\n        return _handlePostAssociationsForResource.apply(this, arguments);\\n      }\\n\\n      return handlePostAssociationsForResource;\\n    }()\\n  }, {\\n    key: \\\"getURLFilterParamsAddon\\\",\\n    value: function getURLFilterParamsAddon(filterParams) {\\n      var filterParam = \\\"&params=\\\";\\n\\n      if (!!filterParams) {\\n        var customFilterObject = {};\\n        var attributeKeys = Object.keys(filterParams);\\n\\n        for (var i = 0; i < attributeKeys.length; i++) {\\n          var attributeKey = attributeKeys[i];\\n          var content = filterParams[attributeKey];\\n          var hasValue = content.hasOwnProperty(\\\"value\\\");\\n\\n          if (hasValue) {\\n            //is from Datatablefilter Parsed\\n            var value = content.value;\\n\\n            if (typeof value === \\\"string\\\" || typeof value === \\\"number\\\") {\\n              customFilterObject[attributeKey] = {\\n                \\\"substring\\\": content.value\\n              };\\n            } else {\\n              customFilterObject[attributeKey] = value;\\n            }\\n          } else {\\n            //User defined content\\n            customFilterObject[attributeKey] = content;\\n          }\\n        }\\n\\n        filterParam += JSON.stringify(customFilterObject);\\n      }\\n\\n      return filterParam;\\n    }\\n  }, {\\n    key: \\\"handleGetAssociationsForResource\\\",\\n    value: function () {\\n      var _handleGetAssociationsForResource = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(resourceClass, associationName) {\\n        var associationTableName,\\n            filterParams,\\n            route,\\n            filterParam,\\n            url,\\n            answer,\\n            listOfResources,\\n            i,\\n            association,\\n            synchronizedResource,\\n            associationResourceClass,\\n            _synchronizedResource,\\n            _associationResourceClass,\\n            _args2 = arguments;\\n\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                associationTableName = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : associationName;\\n                filterParams = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : {};\\n\\n                if (!filterParams) {\\n                  filterParams = {};\\n                }\\n\\n                if (!associationTableName) {\\n                  associationTableName = associationName;\\n                }\\n\\n                route = _RouteHelper__WEBPACK_IMPORTED_MODULE_2__[\\\"RouteHelper\\\"].getIndexRouteForAssociation(resourceClass, associationName);\\n                filterParam = ResourceAssociationHelper.getURLFilterParamsAddon(filterParams);\\n                url = route + \\\"?\\\" + filterParam;\\n                _context2.next = 9;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, url);\\n\\n              case 9:\\n                answer = _context2.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context2.next = 32;\\n                  break;\\n                }\\n\\n                if (!(answer.data.length >= 0)) {\\n                  _context2.next = 27;\\n                  break;\\n                }\\n\\n                listOfResources = [];\\n                i = 0;\\n\\n              case 14:\\n                if (!(i < answer.data.length)) {\\n                  _context2.next = 24;\\n                  break;\\n                }\\n\\n                association = answer.data[i];\\n                synchronizedResource = association;\\n                associationResourceClass = new _NSFWResource__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"](associationTableName);\\n                _context2.next = 20;\\n                return associationResourceClass._setSynchronizedResource(synchronizedResource);\\n\\n              case 20:\\n                listOfResources.push(associationResourceClass);\\n\\n              case 21:\\n                i++;\\n                _context2.next = 14;\\n                break;\\n\\n              case 24:\\n                return _context2.abrupt(\\\"return\\\", listOfResources);\\n\\n              case 27:\\n                _synchronizedResource = answer.data;\\n                _associationResourceClass = new _NSFWResource__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"](associationTableName);\\n                _context2.next = 31;\\n                return _associationResourceClass._setSynchronizedResource(_synchronizedResource);\\n\\n              case 31:\\n                return _context2.abrupt(\\\"return\\\", _associationResourceClass);\\n\\n              case 32:\\n                return _context2.abrupt(\\\"return\\\", null);\\n\\n              case 33:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function handleGetAssociationsForResource(_x4, _x5) {\\n        return _handleGetAssociationsForResource.apply(this, arguments);\\n      }\\n\\n      return handleGetAssociationsForResource;\\n    }()\\n  }, {\\n    key: \\\"handleRequestTypeOnMultiplePluralAssociation\\\",\\n    value: function () {\\n      var _handleRequestTypeOnMultiplePluralAssociation = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(resourceClass, associationTableName, associationName, associationResources, requestType) {\\n        var amountAssociatedResources, errorList, successList, i, associationResource, answer, success;\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                amountAssociatedResources = associationResources.length;\\n                errorList = [];\\n                successList = [];\\n                i = 0;\\n\\n              case 4:\\n                if (!(i < amountAssociatedResources)) {\\n                  _context3.next = 14;\\n                  break;\\n                }\\n\\n                associationResource = associationResources[i];\\n                _context3.next = 8;\\n                return ResourceAssociationHelper.handleRequestTypeOnPluralAssociation(resourceClass, associationTableName, associationName, associationResource, requestType);\\n\\n              case 8:\\n                answer = _context3.sent;\\n                success = _RequestHelper__WEBPACK_IMPORTED_MODULE_3__[\\\"RequestHelper\\\"].isSuccess(answer);\\n\\n                if (success) {\\n                  successList.push(associationResource);\\n                } else {\\n                  errorList.push(answer);\\n                }\\n\\n              case 11:\\n                i++;\\n                _context3.next = 4;\\n                break;\\n\\n              case 14:\\n                return _context3.abrupt(\\\"return\\\", {\\n                  success: successList,\\n                  errors: errorList\\n                });\\n\\n              case 15:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function handleRequestTypeOnMultiplePluralAssociation(_x6, _x7, _x8, _x9, _x10) {\\n        return _handleRequestTypeOnMultiplePluralAssociation.apply(this, arguments);\\n      }\\n\\n      return handleRequestTypeOnMultiplePluralAssociation;\\n    }()\\n  }, {\\n    key: \\\"handleRequestTypeOnPluralAssociation\\\",\\n    value: function () {\\n      var _handleRequestTypeOnPluralAssociation = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(resourceClass, associationTableName, associationName, associationResource, requestType) {\\n        var associationModelscheme, schemes, route, answer;\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                _context4.next = 2;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_0__[\\\"NSFWConnector\\\"].getScheme(associationTableName);\\n\\n              case 2:\\n                associationModelscheme = _context4.sent;\\n                _context4.next = 5;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_0__[\\\"NSFWConnector\\\"].getSchemes();\\n\\n              case 5:\\n                schemes = _context4.sent;\\n                route = _RouteHelper__WEBPACK_IMPORTED_MODULE_2__[\\\"RouteHelper\\\"].getInstanceRouteForAssociatedResource(schemes, resourceClass, associationModelscheme, associationTableName, associationName, associationResource);\\n                _context4.next = 9;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_1__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(requestType, route);\\n\\n              case 9:\\n                answer = _context4.sent;\\n                return _context4.abrupt(\\\"return\\\", answer);\\n\\n              case 11:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function handleRequestTypeOnPluralAssociation(_x11, _x12, _x13, _x14, _x15) {\\n        return _handleRequestTypeOnPluralAssociation.apply(this, arguments);\\n      }\\n\\n      return handleRequestTypeOnPluralAssociation;\\n    }()\\n  }]);\\n\\n  return ResourceAssociationHelper;\\n}();\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ResourceAssociationHelper);\\n\\n//# sourceURL=webpack:///./src/ResourceAssociationHelper.js?\");\n\n/***/ }),\n\n/***/ \"./src/ResourceHelper.js\":\n/*!*******************************!*\\\n  !*** ./src/ResourceHelper.js ***!\n  \\*******************************/\n/*! exports provided: ResourceHelper, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"ResourceHelper\\\", function() { return ResourceHelper; });\\n/* harmony import */ var _APIRequest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./APIRequest */ \\\"./src/APIRequest.js\\\");\\n/* harmony import */ var _RequestHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\");\\n/* harmony import */ var _ResourceAssociationHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ResourceAssociationHelper */ \\\"./src/ResourceAssociationHelper.js\\\");\\n/* harmony import */ var _NSFWResource__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NSFWResource */ \\\"./src/NSFWResource.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\n\\n\\nvar ResourceHelper = /*#__PURE__*/function () {\\n  function ResourceHelper() {\\n    _classCallCheck(this, ResourceHelper);\\n  }\\n\\n  _createClass(ResourceHelper, null, [{\\n    key: \\\"handleRequestTypeOnMultipleResources\\\",\\n    value: function () {\\n      var _handleRequestTypeOnMultipleResources = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resources, requestType) {\\n        var payloadResources,\\n            progessCallback,\\n            amountResources,\\n            errorList,\\n            successList,\\n            i,\\n            resource,\\n            payloadResource,\\n            answer,\\n            success,\\n            _args = arguments;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                payloadResources = _args.length > 2 && _args[2] !== undefined ? _args[2] : [];\\n                progessCallback = _args.length > 3 && _args[3] !== undefined ? _args[3] : null;\\n                amountResources = resources.length;\\n                errorList = [];\\n                successList = [];\\n                i = 0;\\n\\n              case 6:\\n                if (!(i < amountResources)) {\\n                  _context.next = 19;\\n                  break;\\n                }\\n\\n                resource = resources[i];\\n\\n                if (!!progessCallback) {\\n                  progessCallback(i, resource, successList, errorList);\\n                }\\n\\n                payloadResource = {};\\n\\n                if (!!payloadResources && !!payloadResources[i]) {\\n                  payloadResource = payloadResources[i];\\n                }\\n\\n                _context.next = 13;\\n                return ResourceHelper.handleRequestTypeOnResource(resource, requestType, payloadResource);\\n\\n              case 13:\\n                answer = _context.sent;\\n                success = _RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].isSuccess(answer);\\n\\n                if (success) {\\n                  successList.push(resource);\\n                } else {\\n                  errorList.push(answer);\\n                }\\n\\n              case 16:\\n                i++;\\n                _context.next = 6;\\n                break;\\n\\n              case 19:\\n                return _context.abrupt(\\\"return\\\", {\\n                  success: successList,\\n                  errors: errorList\\n                });\\n\\n              case 20:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function handleRequestTypeOnMultipleResources(_x, _x2) {\\n        return _handleRequestTypeOnMultipleResources.apply(this, arguments);\\n      }\\n\\n      return handleRequestTypeOnMultipleResources;\\n    }()\\n  }, {\\n    key: \\\"handleRequestTypeOnResource\\\",\\n    value: function () {\\n      var _handleRequestTypeOnResource = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(resource, requestType, payloadJSON) {\\n        var route;\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                route = resource._metaInformations.instanceRoute;\\n                _context2.next = 3;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(requestType, route, payloadJSON);\\n\\n              case 3:\\n                return _context2.abrupt(\\\"return\\\", _context2.sent);\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function handleRequestTypeOnResource(_x3, _x4, _x5) {\\n        return _handleRequestTypeOnResource.apply(this, arguments);\\n      }\\n\\n      return handleRequestTypeOnResource;\\n    }()\\n  }, {\\n    key: \\\"loadResourcesFromServer\\\",\\n    value: function () {\\n      var _loadResourcesFromServer = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(tableName, offset, limit, multiSortMeta, filterParams) {\\n        var orderParam, i, field, ascending, ASCDESC, limitParam, offsetParam, filterParam, url, answer, resourceList, resourceClassList, _i, resource, resourceClass;\\n\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                orderParam = \\\"\\\";\\n\\n                if (!!multiSortMeta && multiSortMeta.length > 0) {\\n                  orderParam = orderParam + \\\"&order=[\\\";\\n\\n                  for (i = 0; i < multiSortMeta.length; i++) {\\n                    if (i > 0) {\\n                      orderParam += \\\",\\\";\\n                    }\\n\\n                    field = multiSortMeta[i].field;\\n                    ascending = multiSortMeta[i].order === 1;\\n                    ASCDESC = ascending ? \\\"ASC\\\" : \\\"DESC\\\";\\n                    orderParam = orderParam + '[\\\"' + field + '\\\",\\\"' + ASCDESC + '\\\"]';\\n                  }\\n\\n                  orderParam = orderParam + \\\"]\\\";\\n                }\\n\\n                limitParam = \\\"\\\";\\n\\n                if (!!limit) {\\n                  limitParam = \\\"&limit=\\\" + limit;\\n                }\\n\\n                offsetParam = \\\"\\\";\\n\\n                if (!!offset) {\\n                  offsetParam = \\\"&offset=\\\" + offset;\\n                }\\n\\n                filterParam = _ResourceAssociationHelper__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].getURLFilterParamsAddon(filterParams);\\n                url = \\\"models/\\\" + tableName + \\\"?\\\" + limitParam + offsetParam + orderParam + filterParam;\\n                _context3.next = 10;\\n                return _APIRequest__WEBPACK_IMPORTED_MODULE_0__[\\\"APIRequest\\\"].sendRequestWithAutoAuthorize(_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].REQUEST_TYPE_GET, url);\\n\\n              case 10:\\n                answer = _context3.sent;\\n\\n                if (!_RequestHelper__WEBPACK_IMPORTED_MODULE_1__[\\\"RequestHelper\\\"].isSuccess(answer)) {\\n                  _context3.next = 27;\\n                  break;\\n                }\\n\\n                resourceList = answer.data;\\n                resourceClassList = [];\\n                _i = 0;\\n\\n              case 15:\\n                if (!(_i < resourceList.length)) {\\n                  _context3.next = 24;\\n                  break;\\n                }\\n\\n                resource = resourceList[_i];\\n                resourceClass = new _NSFWResource__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"](tableName);\\n                _context3.next = 20;\\n                return resourceClass._setSynchronizedResource(resource);\\n\\n              case 20:\\n                resourceClassList.push(resourceClass);\\n\\n              case 21:\\n                _i++;\\n                _context3.next = 15;\\n                break;\\n\\n              case 24:\\n                return _context3.abrupt(\\\"return\\\", resourceClassList);\\n\\n              case 27:\\n                return _context3.abrupt(\\\"return\\\", []);\\n\\n              case 28:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function loadResourcesFromServer(_x6, _x7, _x8, _x9, _x10) {\\n        return _loadResourcesFromServer.apply(this, arguments);\\n      }\\n\\n      return loadResourcesFromServer;\\n    }()\\n  }]);\\n\\n  return ResourceHelper;\\n}();\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ResourceHelper);\\n\\n//# sourceURL=webpack:///./src/ResourceHelper.js?\");\n\n/***/ }),\n\n/***/ \"./src/RouteHelper.js\":\n/*!****************************!*\\\n  !*** ./src/RouteHelper.js ***!\n  \\****************************/\n/*! exports provided: RouteHelper, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"RouteHelper\\\", function() { return RouteHelper; });\\n/* harmony import */ var _SchemeHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SchemeHelper */ \\\"./src/SchemeHelper.js\\\");\\n/* harmony import */ var _NSFWConnector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NSFWConnector */ \\\"./src/NSFWConnector.js\\\");\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\n\\n\\nvar RouteHelper = /*#__PURE__*/function () {\\n  function RouteHelper() {\\n    _classCallCheck(this, RouteHelper);\\n  }\\n\\n  _createClass(RouteHelper, null, [{\\n    key: \\\"getInstanceRoute\\\",\\n    value: function getInstanceRoute(schemes, tableName) {\\n      var getRoute = schemes[tableName][\\\"GET\\\"];\\n      getRoute = getRoute.replace(\\\"/api\\\", \\\"\\\");\\n      return getRoute;\\n    }\\n  }, {\\n    key: \\\"getInstanceRouteForParams\\\",\\n    value: function getInstanceRouteForParams(schemes, tableName, params) {\\n      var getRoute = schemes[tableName][\\\"GET\\\"];\\n      getRoute = getRoute.replace(\\\"/api/\\\", \\\"\\\");\\n      var paramKeys = Object.keys(params);\\n\\n      for (var i = 0; i < paramKeys.length; i++) {\\n        var paramKey = paramKeys[i];\\n        getRoute = getRoute.replace(\\\":\\\" + paramKey, params[paramKey]);\\n      }\\n\\n      return getRoute;\\n    }\\n  }, {\\n    key: \\\"getInstanceRouteForResource\\\",\\n    value: function getInstanceRouteForResource(schemes, modelscheme, tableName, resource) {\\n      var primaryKeyFields = _SchemeHelper__WEBPACK_IMPORTED_MODULE_0__[\\\"SchemeHelper\\\"].getPrimaryAttributeKeys(modelscheme);\\n      var getRoute = schemes[tableName][\\\"GET\\\"];\\n      getRoute = getRoute.replace(\\\"/api/\\\", \\\"\\\");\\n\\n      for (var i = 0; i < primaryKeyFields.length; i++) {\\n        var primaryKeyField = primaryKeyFields[i];\\n        var value = resource[primaryKeyField];\\n        getRoute = getRoute.replace(\\\":\\\" + tableName + \\\"_\\\" + primaryKeyField, value);\\n      }\\n\\n      return getRoute;\\n    }\\n  }, {\\n    key: \\\"getIndexRouteForResourceAsync\\\",\\n    value: function () {\\n      var _getIndexRouteForResourceAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(tableName) {\\n        var schemes;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                _context.next = 2;\\n                return _NSFWConnector__WEBPACK_IMPORTED_MODULE_1__[\\\"NSFWConnector\\\"].getSchemes();\\n\\n              case 2:\\n                schemes = _context.sent;\\n                return _context.abrupt(\\\"return\\\", RouteHelper.getIndexRouteForResource(schemes, tableName));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function getIndexRouteForResourceAsync(_x) {\\n        return _getIndexRouteForResourceAsync.apply(this, arguments);\\n      }\\n\\n      return getIndexRouteForResourceAsync;\\n    }()\\n  }, {\\n    key: \\\"getIndexRouteForResource\\\",\\n    value: function getIndexRouteForResource(schemes, tableName) {\\n      var getRoute = schemes[tableName][\\\"INDEX\\\"];\\n      getRoute = getRoute.replace(\\\"/api/\\\", \\\"\\\");\\n      return getRoute;\\n    }\\n  }, {\\n    key: \\\"getCreateRouteForResource\\\",\\n    value: function getCreateRouteForResource(schemes, tableName) {\\n      var getRoute = RouteHelper.getIndexRouteForResource(schemes, tableName);\\n      getRoute = \\\"/create/\\\" + getRoute;\\n      return getRoute;\\n    }\\n  }, {\\n    key: \\\"getIndexRouteForAssociation\\\",\\n    value: function getIndexRouteForAssociation(resourceClass, associationName) {\\n      var resourceInstanceRoute = resourceClass.getInstanceRoute();\\n      var associationIndexRoute = resourceInstanceRoute + \\\"/associations/\\\" + associationName;\\n      return associationIndexRoute;\\n    }\\n  }, {\\n    key: \\\"getInstanceRouteForAssociatedResource\\\",\\n    value: function getInstanceRouteForAssociatedResource(schemes, resourceClass, associationModelScheme, associationTableName, associationName, associationResource) {\\n      var associationIndexRoute = RouteHelper.getIndexRouteForAssociation(resourceClass, associationName);\\n      var associationInstanceRoute = RouteHelper.getInstanceRouteForResource(schemes, associationModelScheme, associationTableName, associationResource);\\n      var primaryKeyParamsRoute = associationInstanceRoute.replace(\\\"models/\\\" + associationTableName + \\\"/\\\", \\\"\\\");\\n      var associationRoute = associationIndexRoute + \\\"/\\\" + primaryKeyParamsRoute;\\n      return associationRoute;\\n    }\\n  }]);\\n\\n  return RouteHelper;\\n}();\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (RouteHelper);\\n\\n//# sourceURL=webpack:///./src/RouteHelper.js?\");\n\n/***/ }),\n\n/***/ \"./src/SchemeHelper.js\":\n/*!*****************************!*\\\n  !*** ./src/SchemeHelper.js ***!\n  \\*****************************/\n/*! exports provided: SchemeHelper, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"SchemeHelper\\\", function() { return SchemeHelper; });\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\nvar SchemeHelper = /*#__PURE__*/function () {\\n  function SchemeHelper() {\\n    _classCallCheck(this, SchemeHelper);\\n  }\\n\\n  _createClass(SchemeHelper, null, [{\\n    key: \\\"getDefaultUnimportantAttributeKeys\\\",\\n    value: function getDefaultUnimportantAttributeKeys() {\\n      var unimportantKeys = [\\\"createdAt\\\", \\\"updatedAt\\\"];\\n      return unimportantKeys;\\n    }\\n  }, {\\n    key: \\\"isDefaultUnimportantAttributeKey\\\",\\n    value: function isDefaultUnimportantAttributeKey(field) {\\n      return SchemeHelper.getDefaultUnimportantAttributeKeys().includes(field);\\n    }\\n  }, {\\n    key: \\\"getAttributeKeys\\\",\\n    value: function getAttributeKeys(scheme) {\\n      return Object.keys(scheme);\\n    }\\n  }, {\\n    key: \\\"_getSortValue\\\",\\n    value: function _getSortValue(scheme, field) {\\n      var value = SchemeHelper.isDefaultUnimportantAttributeKey(field) ? -1 : 0;\\n      value = SchemeHelper.isPrimaryKey(scheme, field) ? 100 : value;\\n      return value;\\n    }\\n  }, {\\n    key: \\\"getSortedAttributeKeys\\\",\\n    value: function getSortedAttributeKeys(scheme) {\\n      var attributeKeys = SchemeHelper.getAttributeKeys(scheme);\\n      attributeKeys.sort(function (a, b) {\\n        var valueA = SchemeHelper._getSortValue(scheme, a);\\n\\n        var valueB = SchemeHelper._getSortValue(scheme, b);\\n\\n        return valueB - valueA;\\n      });\\n      return attributeKeys;\\n    }\\n  }, {\\n    key: \\\"getPrimaryAttributeKeys\\\",\\n    value: function getPrimaryAttributeKeys(scheme) {\\n      var attributeKeys = SchemeHelper.getAttributeKeys(scheme);\\n      var primaryAttributeKeys = [];\\n\\n      for (var i = 0; i < attributeKeys.length; i++) {\\n        var key = attributeKeys[i];\\n\\n        if (SchemeHelper.isPrimaryKey(scheme, key)) {\\n          primaryAttributeKeys.push(key);\\n        }\\n      }\\n\\n      return primaryAttributeKeys;\\n    }\\n  }, {\\n    key: \\\"getType\\\",\\n    value: function getType(scheme, field) {\\n      return scheme[field].type.key;\\n    }\\n  }, {\\n    key: \\\"getTypeStringMaxLength\\\",\\n    value: function getTypeStringMaxLength(scheme, field) {\\n      return scheme[field].type._length;\\n    }\\n  }, {\\n    key: \\\"isAutoGenerated\\\",\\n    value: function isAutoGenerated(scheme, field) {\\n      return scheme[field][\\\"_autoGenerated\\\"];\\n    }\\n  }, {\\n    key: \\\"isTypeJSON\\\",\\n    value: function isTypeJSON(scheme, field) {\\n      return SchemeHelper.getType(scheme, field) === \\\"JSON\\\";\\n    }\\n  }, {\\n    key: \\\"isTypeBLOB\\\",\\n    value: function isTypeBLOB(scheme, field) {\\n      return SchemeHelper.getType(scheme, field) === \\\"BLOB\\\";\\n    }\\n  }, {\\n    key: \\\"isTypeInteger\\\",\\n    value: function isTypeInteger(scheme, field) {\\n      return SchemeHelper.getType(scheme, field) === \\\"INTEGER\\\";\\n    }\\n  }, {\\n    key: \\\"isTypeBigInteger\\\",\\n    value: function isTypeBigInteger(scheme, field) {\\n      return SchemeHelper.getType(scheme, field) === \\\"BIGINT\\\";\\n    }\\n  }, {\\n    key: \\\"isTypeDate\\\",\\n    value: function isTypeDate(scheme, field) {\\n      return SchemeHelper.getType(scheme, field) === \\\"DATE\\\";\\n    }\\n  }, {\\n    key: \\\"isTypeString\\\",\\n    value: function isTypeString(scheme, field) {\\n      return SchemeHelper.getType(scheme, field) === \\\"STRING\\\";\\n    }\\n  }, {\\n    key: \\\"isAllowedNull\\\",\\n    value: function isAllowedNull(scheme, field) {\\n      return scheme[field].allowNull !== false;\\n    }\\n  }, {\\n    key: \\\"isPrimaryKey\\\",\\n    value: function isPrimaryKey(scheme, field) {\\n      return scheme[field].primaryKey;\\n    }\\n  }, {\\n    key: \\\"isReferenceField\\\",\\n    value: function isReferenceField(scheme, field) {\\n      return !!scheme[field].references;\\n    }\\n  }, {\\n    key: \\\"isAutoGenerated\\\",\\n    value: function isAutoGenerated(scheme, field) {\\n      return !!scheme[field]._autoGenerated;\\n    }\\n  }, {\\n    key: \\\"isEditable\\\",\\n    value: function isEditable(scheme, field) {\\n      var isPrimary = SchemeHelper.isPrimaryKey(scheme, field);\\n      var isAutoGenerated = SchemeHelper.isAutoGenerated(scheme, field);\\n      return !isPrimary && !isAutoGenerated;\\n    }\\n  }]);\\n\\n  return SchemeHelper;\\n}();\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (SchemeHelper);\\n\\n//# sourceURL=webpack:///./src/SchemeHelper.js?\");\n\n/***/ }),\n\n/***/ \"./src/StorageDict.js\":\n/*!****************************!*\\\n  !*** ./src/StorageDict.js ***!\n  \\****************************/\n/*! exports provided: StorageDict, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"StorageDict\\\", function() { return StorageDict; });\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\nvar StorageDict = /*#__PURE__*/function () {\\n  function StorageDict() {\\n    _classCallCheck(this, StorageDict);\\n  }\\n\\n  _createClass(StorageDict, null, [{\\n    key: \\\"saveAccessToken\\\",\\n    value: function () {\\n      var _saveAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(data) {\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                StorageDict.data[StorageDict.KEY_ACCESSTOKEN] = data;\\n                return _context.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function saveAccessToken(_x) {\\n        return _saveAccessToken.apply(this, arguments);\\n      }\\n\\n      return saveAccessToken;\\n    }()\\n  }, {\\n    key: \\\"getAccessToken\\\",\\n    value: function () {\\n      var _getAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                return _context2.abrupt(\\\"return\\\", StorageDict.data[StorageDict.KEY_ACCESSTOKEN]);\\n\\n              case 1:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function getAccessToken() {\\n        return _getAccessToken.apply(this, arguments);\\n      }\\n\\n      return getAccessToken;\\n    }()\\n  }, {\\n    key: \\\"removeAccessToken\\\",\\n    value: function () {\\n      var _removeAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                delete StorageDict.data[StorageDict.KEY_ACCESSTOKEN];\\n                return _context3.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function removeAccessToken() {\\n        return _removeAccessToken.apply(this, arguments);\\n      }\\n\\n      return removeAccessToken;\\n    }()\\n  }, {\\n    key: \\\"saveRefreshToken\\\",\\n    value: function () {\\n      var _saveRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(data) {\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                StorageDict.data[StorageDict.KEY_REFRESHTOKEN] = data;\\n                return _context4.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function saveRefreshToken(_x2) {\\n        return _saveRefreshToken.apply(this, arguments);\\n      }\\n\\n      return saveRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"getRefreshToken\\\",\\n    value: function () {\\n      var _getRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                return _context5.abrupt(\\\"return\\\", StorageDict.data[StorageDict.KEY_REFRESHTOKEN]);\\n\\n              case 1:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5);\\n      }));\\n\\n      function getRefreshToken() {\\n        return _getRefreshToken.apply(this, arguments);\\n      }\\n\\n      return getRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"removeRefreshToken\\\",\\n    value: function () {\\n      var _removeRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                delete StorageDict.data[StorageDict.KEY_REFRESHTOKEN];\\n                return _context6.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6);\\n      }));\\n\\n      function removeRefreshToken() {\\n        return _removeRefreshToken.apply(this, arguments);\\n      }\\n\\n      return removeRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"saveRememberMe\\\",\\n    value: function () {\\n      var _saveRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(bool) {\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                StorageDict.data[StorageDict.KEY_REMEMBERME] = bool;\\n                return _context7.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7);\\n      }));\\n\\n      function saveRememberMe(_x3) {\\n        return _saveRememberMe.apply(this, arguments);\\n      }\\n\\n      return saveRememberMe;\\n    }()\\n  }, {\\n    key: \\\"getRememberMe\\\",\\n    value: function () {\\n      var _getRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\\n        return regeneratorRuntime.wrap(function _callee8$(_context8) {\\n          while (1) {\\n            switch (_context8.prev = _context8.next) {\\n              case 0:\\n                return _context8.abrupt(\\\"return\\\", StorageDict.data[StorageDict.KEY_REMEMBERME]);\\n\\n              case 1:\\n              case \\\"end\\\":\\n                return _context8.stop();\\n            }\\n          }\\n        }, _callee8);\\n      }));\\n\\n      function getRememberMe() {\\n        return _getRememberMe.apply(this, arguments);\\n      }\\n\\n      return getRememberMe;\\n    }()\\n  }, {\\n    key: \\\"removeRememberMe\\\",\\n    value: function () {\\n      var _removeRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\\n        return regeneratorRuntime.wrap(function _callee9$(_context9) {\\n          while (1) {\\n            switch (_context9.prev = _context9.next) {\\n              case 0:\\n                delete StorageDict.data[StorageDict.KEY_REMEMBERME];\\n                return _context9.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context9.stop();\\n            }\\n          }\\n        }, _callee9);\\n      }));\\n\\n      function removeRememberMe() {\\n        return _removeRememberMe.apply(this, arguments);\\n      }\\n\\n      return removeRememberMe;\\n    }()\\n  }, {\\n    key: \\\"saveAuthMethod\\\",\\n    value: function () {\\n      var _saveAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(method) {\\n        return regeneratorRuntime.wrap(function _callee10$(_context10) {\\n          while (1) {\\n            switch (_context10.prev = _context10.next) {\\n              case 0:\\n                StorageDict.data[StorageDict.KEY_AUTHMETHOD] = method;\\n                return _context10.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context10.stop();\\n            }\\n          }\\n        }, _callee10);\\n      }));\\n\\n      function saveAuthMethod(_x4) {\\n        return _saveAuthMethod.apply(this, arguments);\\n      }\\n\\n      return saveAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"getAuthMethod\\\",\\n    value: function () {\\n      var _getAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\\n        return regeneratorRuntime.wrap(function _callee11$(_context11) {\\n          while (1) {\\n            switch (_context11.prev = _context11.next) {\\n              case 0:\\n                return _context11.abrupt(\\\"return\\\", StorageDict.data[StorageDict.KEY_AUTHMETHOD]);\\n\\n              case 1:\\n              case \\\"end\\\":\\n                return _context11.stop();\\n            }\\n          }\\n        }, _callee11);\\n      }));\\n\\n      function getAuthMethod() {\\n        return _getAuthMethod.apply(this, arguments);\\n      }\\n\\n      return getAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"removeAuthMethod\\\",\\n    value: function () {\\n      var _removeAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\\n        return regeneratorRuntime.wrap(function _callee12$(_context12) {\\n          while (1) {\\n            switch (_context12.prev = _context12.next) {\\n              case 0:\\n                delete StorageDict.data[StorageDict.KEY_AUTHMETHOD];\\n                return _context12.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context12.stop();\\n            }\\n          }\\n        }, _callee12);\\n      }));\\n\\n      function removeAuthMethod() {\\n        return _removeAuthMethod.apply(this, arguments);\\n      }\\n\\n      return removeAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"saveCurrentUser\\\",\\n    value: function () {\\n      var _saveCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(currentUserAsString) {\\n        return regeneratorRuntime.wrap(function _callee13$(_context13) {\\n          while (1) {\\n            switch (_context13.prev = _context13.next) {\\n              case 0:\\n                StorageDict.data[StorageDict.KEY_CURRENTUSER] = currentUserAsString;\\n                return _context13.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context13.stop();\\n            }\\n          }\\n        }, _callee13);\\n      }));\\n\\n      function saveCurrentUser(_x5) {\\n        return _saveCurrentUser.apply(this, arguments);\\n      }\\n\\n      return saveCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"getCurrentUser\\\",\\n    value: function () {\\n      var _getCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {\\n        return regeneratorRuntime.wrap(function _callee14$(_context14) {\\n          while (1) {\\n            switch (_context14.prev = _context14.next) {\\n              case 0:\\n                return _context14.abrupt(\\\"return\\\", StorageDict.data[StorageDict.KEY_CURRENTUSER]);\\n\\n              case 1:\\n              case \\\"end\\\":\\n                return _context14.stop();\\n            }\\n          }\\n        }, _callee14);\\n      }));\\n\\n      function getCurrentUser() {\\n        return _getCurrentUser.apply(this, arguments);\\n      }\\n\\n      return getCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"removeCurrentUser\\\",\\n    value: function () {\\n      var _removeCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\\n        return regeneratorRuntime.wrap(function _callee15$(_context15) {\\n          while (1) {\\n            switch (_context15.prev = _context15.next) {\\n              case 0:\\n                delete StorageDict.data[StorageDict.KEY_CURRENTUSER];\\n                return _context15.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context15.stop();\\n            }\\n          }\\n        }, _callee15);\\n      }));\\n\\n      function removeCurrentUser() {\\n        return _removeCurrentUser.apply(this, arguments);\\n      }\\n\\n      return removeCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"clear\\\",\\n    value: function () {\\n      var _clear = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\\n        return regeneratorRuntime.wrap(function _callee16$(_context16) {\\n          while (1) {\\n            switch (_context16.prev = _context16.next) {\\n              case 0:\\n                StorageDict.data = {};\\n\\n              case 1:\\n              case \\\"end\\\":\\n                return _context16.stop();\\n            }\\n          }\\n        }, _callee16);\\n      }));\\n\\n      function clear() {\\n        return _clear.apply(this, arguments);\\n      }\\n\\n      return clear;\\n    }()\\n  }]);\\n\\n  return StorageDict;\\n}();\\nStorageDict.data = {};\\nStorageDict.KEY_ACCESSTOKEN = \\\"AccessToken\\\";\\nStorageDict.KEY_REFRESHTOKEN = \\\"RefreshToken\\\";\\nStorageDict.KEY_REMEMBERME = \\\"RememberMe\\\";\\nStorageDict.KEY_AUTHMETHOD = \\\"AuthMethod\\\";\\nStorageDict.KEY_CURRENTUSER = \\\"CurrentUser\\\";\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (StorageDict);\\n\\n//# sourceURL=webpack:///./src/StorageDict.js?\");\n\n/***/ }),\n\n/***/ \"./src/WebStorage.js\":\n/*!***************************!*\\\n  !*** ./src/WebStorage.js ***!\n  \\***************************/\n/*! exports provided: WebStorage, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"WebStorage\\\", function() { return WebStorage; });\\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\\n\\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err); } _next(undefined); }); }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _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); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\nvar WebStorage = /*#__PURE__*/function () {\\n  function WebStorage() {\\n    _classCallCheck(this, WebStorage);\\n  }\\n\\n  _createClass(WebStorage, null, [{\\n    key: \\\"getStorage\\\",\\n    value: function () {\\n      var _getStorage = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\\n        var rememberMeActive;\\n        return regeneratorRuntime.wrap(function _callee$(_context) {\\n          while (1) {\\n            switch (_context.prev = _context.next) {\\n              case 0:\\n                _context.next = 2;\\n                return WebStorage.getRememberMe();\\n\\n              case 2:\\n                rememberMeActive = _context.sent;\\n\\n                if (!rememberMeActive) {\\n                  _context.next = 7;\\n                  break;\\n                }\\n\\n                return _context.abrupt(\\\"return\\\", localStorage);\\n\\n              case 7:\\n                return _context.abrupt(\\\"return\\\", sessionStorage);\\n\\n              case 8:\\n              case \\\"end\\\":\\n                return _context.stop();\\n            }\\n          }\\n        }, _callee);\\n      }));\\n\\n      function getStorage() {\\n        return _getStorage.apply(this, arguments);\\n      }\\n\\n      return getStorage;\\n    }()\\n  }, {\\n    key: \\\"saveAccessToken\\\",\\n    value: function () {\\n      var _saveAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(data) {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\\n          while (1) {\\n            switch (_context2.prev = _context2.next) {\\n              case 0:\\n                _context2.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context2.sent;\\n                return _context2.abrupt(\\\"return\\\", storage.setItem(WebStorage.KEY_ACCESSTOKEN, data));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context2.stop();\\n            }\\n          }\\n        }, _callee2);\\n      }));\\n\\n      function saveAccessToken(_x) {\\n        return _saveAccessToken.apply(this, arguments);\\n      }\\n\\n      return saveAccessToken;\\n    }()\\n  }, {\\n    key: \\\"getAccessToken\\\",\\n    value: function () {\\n      var _getAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\\n          while (1) {\\n            switch (_context3.prev = _context3.next) {\\n              case 0:\\n                _context3.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context3.sent;\\n                return _context3.abrupt(\\\"return\\\", storage.getItem(WebStorage.KEY_ACCESSTOKEN));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context3.stop();\\n            }\\n          }\\n        }, _callee3);\\n      }));\\n\\n      function getAccessToken() {\\n        return _getAccessToken.apply(this, arguments);\\n      }\\n\\n      return getAccessToken;\\n    }()\\n  }, {\\n    key: \\\"removeAccessToken\\\",\\n    value: function () {\\n      var _removeAccessToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\\n          while (1) {\\n            switch (_context4.prev = _context4.next) {\\n              case 0:\\n                _context4.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context4.sent;\\n                return _context4.abrupt(\\\"return\\\", storage.removeItem(WebStorage.KEY_ACCESSTOKEN));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context4.stop();\\n            }\\n          }\\n        }, _callee4);\\n      }));\\n\\n      function removeAccessToken() {\\n        return _removeAccessToken.apply(this, arguments);\\n      }\\n\\n      return removeAccessToken;\\n    }()\\n  }, {\\n    key: \\\"saveRefreshToken\\\",\\n    value: function () {\\n      var _saveRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(data) {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\\n          while (1) {\\n            switch (_context5.prev = _context5.next) {\\n              case 0:\\n                _context5.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context5.sent;\\n                return _context5.abrupt(\\\"return\\\", storage.setItem(WebStorage.KEY_REFRESHTOKEN, data));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context5.stop();\\n            }\\n          }\\n        }, _callee5);\\n      }));\\n\\n      function saveRefreshToken(_x2) {\\n        return _saveRefreshToken.apply(this, arguments);\\n      }\\n\\n      return saveRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"getRefreshToken\\\",\\n    value: function () {\\n      var _getRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\\n          while (1) {\\n            switch (_context6.prev = _context6.next) {\\n              case 0:\\n                _context6.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context6.sent;\\n                return _context6.abrupt(\\\"return\\\", storage.getItem(WebStorage.KEY_REFRESHTOKEN));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context6.stop();\\n            }\\n          }\\n        }, _callee6);\\n      }));\\n\\n      function getRefreshToken() {\\n        return _getRefreshToken.apply(this, arguments);\\n      }\\n\\n      return getRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"removeRefreshToken\\\",\\n    value: function () {\\n      var _removeRefreshToken = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee7$(_context7) {\\n          while (1) {\\n            switch (_context7.prev = _context7.next) {\\n              case 0:\\n                _context7.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context7.sent;\\n                return _context7.abrupt(\\\"return\\\", storage.removeItem(WebStorage.KEY_REFRESHTOKEN));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context7.stop();\\n            }\\n          }\\n        }, _callee7);\\n      }));\\n\\n      function removeRefreshToken() {\\n        return _removeRefreshToken.apply(this, arguments);\\n      }\\n\\n      return removeRefreshToken;\\n    }()\\n  }, {\\n    key: \\\"saveRememberMe\\\",\\n    value: function () {\\n      var _saveRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(bool) {\\n        return regeneratorRuntime.wrap(function _callee8$(_context8) {\\n          while (1) {\\n            switch (_context8.prev = _context8.next) {\\n              case 0:\\n                //we use local storage, because we want to know it for the next session\\n                localStorage.setItem(WebStorage.KEY_REMEMBERME, bool + \\\"\\\");\\n                return _context8.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context8.stop();\\n            }\\n          }\\n        }, _callee8);\\n      }));\\n\\n      function saveRememberMe(_x3) {\\n        return _saveRememberMe.apply(this, arguments);\\n      }\\n\\n      return saveRememberMe;\\n    }()\\n  }, {\\n    key: \\\"getRememberMe\\\",\\n    value: function () {\\n      var _getRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\\n        var remember;\\n        return regeneratorRuntime.wrap(function _callee9$(_context9) {\\n          while (1) {\\n            switch (_context9.prev = _context9.next) {\\n              case 0:\\n                //we use local storage, because we want to know it for the next session\\n                remember = true + \\\"\\\" === localStorage.getItem(WebStorage.KEY_REMEMBERME);\\n                return _context9.abrupt(\\\"return\\\", remember);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context9.stop();\\n            }\\n          }\\n        }, _callee9);\\n      }));\\n\\n      function getRememberMe() {\\n        return _getRememberMe.apply(this, arguments);\\n      }\\n\\n      return getRememberMe;\\n    }()\\n  }, {\\n    key: \\\"removeRememberMe\\\",\\n    value: function () {\\n      var _removeRememberMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\\n        return regeneratorRuntime.wrap(function _callee10$(_context10) {\\n          while (1) {\\n            switch (_context10.prev = _context10.next) {\\n              case 0:\\n                //we use local storage, because we want to know it for the next session\\n                localStorage.removeItem(WebStorage.KEY_REMEMBERME);\\n                return _context10.abrupt(\\\"return\\\", true);\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context10.stop();\\n            }\\n          }\\n        }, _callee10);\\n      }));\\n\\n      function removeRememberMe() {\\n        return _removeRememberMe.apply(this, arguments);\\n      }\\n\\n      return removeRememberMe;\\n    }()\\n  }, {\\n    key: \\\"saveAuthMethod\\\",\\n    value: function () {\\n      var _saveAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(method) {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee11$(_context11) {\\n          while (1) {\\n            switch (_context11.prev = _context11.next) {\\n              case 0:\\n                _context11.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context11.sent;\\n                return _context11.abrupt(\\\"return\\\", storage.setItem(WebStorage.KEY_AUTHMETHOD, method));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context11.stop();\\n            }\\n          }\\n        }, _callee11);\\n      }));\\n\\n      function saveAuthMethod(_x4) {\\n        return _saveAuthMethod.apply(this, arguments);\\n      }\\n\\n      return saveAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"getAuthMethod\\\",\\n    value: function () {\\n      var _getAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee12$(_context12) {\\n          while (1) {\\n            switch (_context12.prev = _context12.next) {\\n              case 0:\\n                _context12.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context12.sent;\\n                return _context12.abrupt(\\\"return\\\", storage.getItem(WebStorage.KEY_AUTHMETHOD));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context12.stop();\\n            }\\n          }\\n        }, _callee12);\\n      }));\\n\\n      function getAuthMethod() {\\n        return _getAuthMethod.apply(this, arguments);\\n      }\\n\\n      return getAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"removeAuthMethod\\\",\\n    value: function () {\\n      var _removeAuthMethod = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee13$(_context13) {\\n          while (1) {\\n            switch (_context13.prev = _context13.next) {\\n              case 0:\\n                _context13.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context13.sent;\\n                return _context13.abrupt(\\\"return\\\", storage.removeItem(WebStorage.KEY_AUTHMETHOD));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context13.stop();\\n            }\\n          }\\n        }, _callee13);\\n      }));\\n\\n      function removeAuthMethod() {\\n        return _removeAuthMethod.apply(this, arguments);\\n      }\\n\\n      return removeAuthMethod;\\n    }()\\n  }, {\\n    key: \\\"saveCurrentUser\\\",\\n    value: function () {\\n      var _saveCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14(currentUserAsString) {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee14$(_context14) {\\n          while (1) {\\n            switch (_context14.prev = _context14.next) {\\n              case 0:\\n                _context14.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context14.sent;\\n                return _context14.abrupt(\\\"return\\\", storage.setItem(WebStorage.KEY_CURRENTUSER, currentUserAsString));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context14.stop();\\n            }\\n          }\\n        }, _callee14);\\n      }));\\n\\n      function saveCurrentUser(_x5) {\\n        return _saveCurrentUser.apply(this, arguments);\\n      }\\n\\n      return saveCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"getCurrentUser\\\",\\n    value: function () {\\n      var _getCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee15$(_context15) {\\n          while (1) {\\n            switch (_context15.prev = _context15.next) {\\n              case 0:\\n                _context15.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context15.sent;\\n                return _context15.abrupt(\\\"return\\\", storage.getItem(WebStorage.KEY_CURRENTUSER));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context15.stop();\\n            }\\n          }\\n        }, _callee15);\\n      }));\\n\\n      function getCurrentUser() {\\n        return _getCurrentUser.apply(this, arguments);\\n      }\\n\\n      return getCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"removeCurrentUser\\\",\\n    value: function () {\\n      var _removeCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\\n        var storage;\\n        return regeneratorRuntime.wrap(function _callee16$(_context16) {\\n          while (1) {\\n            switch (_context16.prev = _context16.next) {\\n              case 0:\\n                _context16.next = 2;\\n                return WebStorage.getStorage();\\n\\n              case 2:\\n                storage = _context16.sent;\\n                return _context16.abrupt(\\\"return\\\", storage.removeItem(WebStorage.KEY_CURRENTUSER));\\n\\n              case 4:\\n              case \\\"end\\\":\\n                return _context16.stop();\\n            }\\n          }\\n        }, _callee16);\\n      }));\\n\\n      function removeCurrentUser() {\\n        return _removeCurrentUser.apply(this, arguments);\\n      }\\n\\n      return removeCurrentUser;\\n    }()\\n  }, {\\n    key: \\\"clear\\\",\\n    value: function () {\\n      var _clear = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {\\n        return regeneratorRuntime.wrap(function _callee17$(_context17) {\\n          while (1) {\\n            switch (_context17.prev = _context17.next) {\\n              case 0:\\n                localStorage.clear();\\n                sessionStorage.clear();\\n\\n              case 2:\\n              case \\\"end\\\":\\n                return _context17.stop();\\n            }\\n          }\\n        }, _callee17);\\n      }));\\n\\n      function clear() {\\n        return _clear.apply(this, arguments);\\n      }\\n\\n      return clear;\\n    }()\\n  }]);\\n\\n  return WebStorage;\\n}();\\nWebStorage.KEY_ACCESSTOKEN = \\\"AccessToken\\\";\\nWebStorage.KEY_REFRESHTOKEN = \\\"RefreshToken\\\";\\nWebStorage.KEY_REMEMBERME = \\\"RememberMe\\\";\\nWebStorage.KEY_AUTHMETHOD = \\\"AuthMethod\\\";\\nWebStorage.KEY_CURRENTUSER = \\\"CurrentUser\\\";\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (WebStorage);\\n\\n//# sourceURL=webpack:///./src/WebStorage.js?\");\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n  !*** ./src/index.js ***!\n  \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"// this should be the entry point to your library\\nmodule.exports = {\\n  APIRequest: __webpack_require__(/*! ./APIRequest */ \\\"./src/APIRequest.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  AuthConnector: __webpack_require__(/*! ./AuthConnector */ \\\"./src/AuthConnector.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  MyStorage: __webpack_require__(/*! ./MyStorage */ \\\"./src/MyStorage.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  WebStorage: __webpack_require__(/*! ./WebStorage */ \\\"./src/WebStorage.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  RequestHelper: __webpack_require__(/*! ./RequestHelper */ \\\"./src/RequestHelper.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  RouteHelper: __webpack_require__(/*! ./RouteHelper */ \\\"./src/RouteHelper.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  ResourceAssociationHelper: __webpack_require__(/*! ./ResourceAssociationHelper */ \\\"./src/ResourceAssociationHelper.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  ResourceHelper: __webpack_require__(/*! ./ResourceHelper */ \\\"./src/ResourceHelper.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  SchemeHelper: __webpack_require__(/*! ./SchemeHelper */ \\\"./src/SchemeHelper.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  NSFWConnector: __webpack_require__(/*! ./NSFWConnector */ \\\"./src/NSFWConnector.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  StorageDict: __webpack_require__(/*! ./StorageDict */ \\\"./src/StorageDict.js\\\")[\\\"default\\\"],\\n  // eslint-disable-line global-require\\n  NSFWResource: __webpack_require__(/*! ./NSFWResource */ \\\"./src/NSFWResource.js\\\")[\\\"default\\\"] // eslint-disable-line global-require\\n\\n};\\n\\n//# sourceURL=webpack:///./src/index.js?\");\n\n/***/ }),\n\n/***/ 0:\n/*!****************************!*\\\n  !*** multi ./src/index.js ***!\n  \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"module.exports = __webpack_require__(/*! ./src/index.js */\\\"./src/index.js\\\");\\n\\n\\n//# sourceURL=webpack:///multi_./src/index.js?\");\n\n/***/ })\n\n/******/ });"]}